From 2fba7809358604465f29e568cd436957e0d79dd7 Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Sun, 28 Jan 2018 17:58:12 +0100 Subject: [PATCH 001/113] [ADD] async modules wip --- opcua/client/async_client.py | 557 ++++++++++++++++++++++++++++++ opcua/client/async_ua_client.py | 575 +++++++++++++++++++++++++++++++ opcua/common/async_connection.py | 29 ++ opcua/ua/async_ua_binary.py | 14 + 4 files changed, 1175 insertions(+) create mode 100644 opcua/client/async_client.py create mode 100644 opcua/client/async_ua_client.py create mode 100644 opcua/common/async_connection.py create mode 100644 opcua/ua/async_ua_binary.py diff --git a/opcua/client/async_client.py b/opcua/client/async_client.py new file mode 100644 index 000000000..116967b28 --- /dev/null +++ b/opcua/client/async_client.py @@ -0,0 +1,557 @@ + +import logging +from urllib.parse import urlparse + +from opcua import ua +from opcua.client.async_ua_client import UaClient +from opcua.common.xmlimporter import XmlImporter +from opcua.common.xmlexporter import XmlExporter +from opcua.common.node import Node +from opcua.common.manage_nodes import delete_nodes +from opcua.common.subscription import Subscription +from opcua.common import utils +from opcua.crypto import security_policies +from opcua.common.shortcuts import Shortcuts +from opcua.common.structures import load_type_definitions +use_crypto = True +try: + from opcua.crypto import uacrypto +except ImportError: + logging.getLogger(__name__).warning("cryptography is not installed, use of crypto disabled") + use_crypto = False + + +class KeepAlive(Thread): + + """ + Used by Client to keep the session open. + OPCUA defines timeout both for sessions and secure channel + """ + + def __init__(self, client, timeout): + """ + :param session_timeout: Timeout to re-new the session + in milliseconds. + """ + Thread.__init__(self) + self.logger = logging.getLogger(__name__) + + self.client = client + self._dostop = False + self._cond = Condition() + self.timeout = timeout + + # some server support no timeout, but we do not trust them + if self.timeout == 0: + self.timeout = 3600000 # 1 hour + + def run(self): + self.logger.debug("starting keepalive thread with period of %s milliseconds", self.timeout) + server_state = self.client.get_node(ua.FourByteNodeId(ua.ObjectIds.Server_ServerStatus_State)) + while not self._dostop: + with self._cond: + self._cond.wait(self.timeout / 1000) + if self._dostop: + break + self.logger.debug("renewing channel") + self.client.open_secure_channel(renew=True) + val = server_state.get_value() + self.logger.debug("server state is: %s ", val) + self.logger.debug("keepalive thread has stopped") + + def stop(self): + self.logger.debug("stoping keepalive thread") + self._dostop = True + with self._cond: + self._cond.notify_all() + + +class Client(object): + + """ + High level client to connect to an OPC-UA server. + + This class makes it easy to connect and browse address space. + It attemps to expose as much functionality as possible + but if you want more flexibility it is possible and adviced to + use UaClient object, available as self.uaclient + which offers the raw OPC-UA services interface. + """ + + def __init__(self, url, timeout=4): + """ + + :param url: url of the server. + if you are unsure of url, write at least hostname + and port and call get_endpoints + + :param timeout: + Each request sent to the server expects an answer within this + time. The timeout is specified in seconds. + """ + self.logger = logging.getLogger(__name__) + self.server_url = urlparse(url) + #take initial username and password from the url + self._username = self.server_url.username + self._password = self.server_url.password + self.name = "Pure Python Client" + self.description = self.name + self.application_uri = "urn:freeopcua:client" + self.product_uri = "urn:freeopcua.github.no:client" + self.security_policy = ua.SecurityPolicy() + self.secure_channel_id = None + self.secure_channel_timeout = 3600000 # 1 hour + self.session_timeout = 3600000 # 1 hour + self._policy_ids = [] + self.uaclient = UaClient(timeout) + self.user_certificate = None + self.user_private_key = None + self._server_nonce = None + self._session_counter = 1 + self.keepalive = None + self.nodes = Shortcuts(self.uaclient) + self.max_messagesize = 0 # No limits + self.max_chunkcount = 0 # No limits + + def __enter__(self): + self.connect() + return self + + def __exit__(self, exc_type, exc_value, traceback): + self.disconnect() + + @staticmethod + def find_endpoint(endpoints, security_mode, policy_uri): + """ + Find endpoint with required security mode and policy URI + """ + for ep in endpoints: + if (ep.EndpointUrl.startswith(ua.OPC_TCP_SCHEME) and + ep.SecurityMode == security_mode and + ep.SecurityPolicyUri == policy_uri): + return ep + raise ua.UaError("No matching endpoints: {0}, {1}".format(security_mode, policy_uri)) + + def set_user(self, username): + """ + Set user name for the connection. + initial user from the URL will be overwritten + """ + self._username = username + + def set_password(self, pwd): + """ + Set user password for the connection. + initial password from the URL will be overwritten + """ + self._password = pwd + + def set_security_string(self, string): + """ + Set SecureConnection mode. String format: + Policy,Mode,certificate,private_key[,server_private_key] + where Policy is Basic128Rsa15 or Basic256, + Mode is Sign or SignAndEncrypt + certificate, private_key and server_private_key are + paths to .pem or .der files + Call this before connect() + """ + if not string: + return + parts = string.split(',') + if len(parts) < 4: + raise ua.UaError('Wrong format: `{0}`, expected at least 4 comma-separated values'.format(string)) + policy_class = getattr(security_policies, 'SecurityPolicy' + parts[0]) + mode = getattr(ua.MessageSecurityMode, parts[1]) + return self.set_security(policy_class, parts[2], parts[3], + parts[4] if len(parts) >= 5 else None, mode) + + def set_security(self, policy, certificate_path, private_key_path, + server_certificate_path=None, + mode=ua.MessageSecurityMode.SignAndEncrypt): + """ + Set SecureConnection mode. + Call this before connect() + """ + if server_certificate_path is None: + # load certificate from server's list of endpoints + endpoints = self.connect_and_get_server_endpoints() + endpoint = Client.find_endpoint(endpoints, mode, policy.URI) + server_cert = uacrypto.x509_from_der(endpoint.ServerCertificate) + else: + server_cert = uacrypto.load_certificate(server_certificate_path) + cert = uacrypto.load_certificate(certificate_path) + pk = uacrypto.load_private_key(private_key_path) + self.security_policy = policy(server_cert, cert, pk, mode) + self.uaclient.set_security(self.security_policy) + + def load_client_certificate(self, path): + """ + load our certificate from file, either pem or der + """ + self.user_certificate = uacrypto.load_certificate(path) + + def load_private_key(self, path): + """ + Load user private key. This is used for authenticating using certificate + """ + self.user_private_key = uacrypto.load_private_key(path) + + def connect_and_get_server_endpoints(self): + """ + Connect, ask server for endpoints, and disconnect + """ + self.connect_socket() + self.send_hello() + self.open_secure_channel() + endpoints = self.get_endpoints() + self.close_secure_channel() + self.disconnect_socket() + return endpoints + + def connect_and_find_servers(self): + """ + Connect, ask server for a list of known servers, and disconnect + """ + self.connect_socket() + self.send_hello() + self.open_secure_channel() # spec says it should not be necessary to open channel + servers = self.find_servers() + self.close_secure_channel() + self.disconnect_socket() + return servers + + def connect_and_find_servers_on_network(self): + """ + Connect, ask server for a list of known servers on network, and disconnect + """ + self.connect_socket() + self.send_hello() + self.open_secure_channel() + servers = self.find_servers_on_network() + self.close_secure_channel() + self.disconnect_socket() + return servers + + def connect(self): + """ + High level method + Connect, create and activate session + """ + self.connect_socket() + self.send_hello() + self.open_secure_channel() + self.create_session() + self.activate_session(username=self._username, password=self._password, certificate=self.user_certificate) + + def disconnect(self): + """ + High level method + Close session, secure channel and socket + """ + try: + self.close_session() + self.close_secure_channel() + finally: + self.disconnect_socket() + + def connect_socket(self): + """ + connect to socket defined in url + """ + self.uaclient.connect_socket(self.server_url.hostname, self.server_url.port) + + def disconnect_socket(self): + self.uaclient.disconnect_socket() + + def send_hello(self): + """ + Send OPC-UA hello to server + """ + ack = self.uaclient.send_hello(self.server_url.geturl(), self.max_messagesize, self.max_chunkcount) + # FIXME check ack + + def open_secure_channel(self, renew=False): + """ + Open secure channel, if renew is True, renew channel + """ + params = ua.OpenSecureChannelParameters() + params.ClientProtocolVersion = 0 + params.RequestType = ua.SecurityTokenRequestType.Issue + if renew: + params.RequestType = ua.SecurityTokenRequestType.Renew + params.SecurityMode = self.security_policy.Mode + params.RequestedLifetime = self.secure_channel_timeout + nonce = utils.create_nonce(self.security_policy.symmetric_key_size) # length should be equal to the length of key of symmetric encryption + params.ClientNonce = nonce # this nonce is used to create a symmetric key + result = self.uaclient.open_secure_channel(params) + self.security_policy.make_symmetric_key(nonce, result.ServerNonce) + self.secure_channel_timeout = result.SecurityToken.RevisedLifetime + + def close_secure_channel(self): + return self.uaclient.close_secure_channel() + + async def get_endpoints(self): + params = ua.GetEndpointsParameters() + params.EndpointUrl = self.server_url.geturl() + return await self.uaclient.get_endpoints(params) + + def register_server(self, server, discovery_configuration=None): + """ + register a server to discovery server + if discovery_configuration is provided, the newer register_server2 service call is used + """ + serv = ua.RegisteredServer() + serv.ServerUri = server.application_uri + serv.ProductUri = server.product_uri + serv.DiscoveryUrls = [server.endpoint.geturl()] + serv.ServerType = server.application_type + serv.ServerNames = [ua.LocalizedText(server.name)] + serv.IsOnline = True + if discovery_configuration: + params = ua.RegisterServer2Parameters() + params.Server = serv + params.DiscoveryConfiguration = discovery_configuration + return self.uaclient.register_server2(params) + else: + return self.uaclient.register_server(serv) + + def find_servers(self, uris=None): + """ + send a FindServer request to the server. The answer should be a list of + servers the server knows about + A list of uris can be provided, only server having matching uris will be returned + """ + if uris is None: + uris = [] + params = ua.FindServersParameters() + params.EndpointUrl = self.server_url.geturl() + params.ServerUris = uris + return self.uaclient.find_servers(params) + + def find_servers_on_network(self): + params = ua.FindServersOnNetworkParameters() + return self.uaclient.find_servers_on_network(params) + + def create_session(self): + """ + send a CreateSessionRequest to server with reasonable parameters. + If you want o modify settings look at code of this methods + and make your own + """ + desc = ua.ApplicationDescription() + desc.ApplicationUri = self.application_uri + desc.ProductUri = self.product_uri + desc.ApplicationName = ua.LocalizedText(self.name) + desc.ApplicationType = ua.ApplicationType.Client + + params = ua.CreateSessionParameters() + nonce = utils.create_nonce(32) # at least 32 random bytes for server to prove possession of private key (specs part 4, 5.6.2.2) + params.ClientNonce = nonce + params.ClientCertificate = self.security_policy.client_certificate + params.ClientDescription = desc + params.EndpointUrl = self.server_url.geturl() + params.SessionName = self.description + " Session" + str(self._session_counter) + params.RequestedSessionTimeout = 3600000 + params.MaxResponseMessageSize = 0 # means no max size + response = self.uaclient.create_session(params) + if self.security_policy.client_certificate is None: + data = nonce + else: + data = self.security_policy.client_certificate + nonce + self.security_policy.asymmetric_cryptography.verify(data, response.ServerSignature.Signature) + self._server_nonce = response.ServerNonce + if not self.security_policy.server_certificate: + self.security_policy.server_certificate = response.ServerCertificate + elif self.security_policy.server_certificate != response.ServerCertificate: + raise ua.UaError("Server certificate mismatch") + # remember PolicyId's: we will use them in activate_session() + ep = Client.find_endpoint(response.ServerEndpoints, self.security_policy.Mode, self.security_policy.URI) + self._policy_ids = ep.UserIdentityTokens + self.session_timeout = response.RevisedSessionTimeout + self.keepalive = KeepAlive(self, min(self.session_timeout, self.secure_channel_timeout) * 0.7) # 0.7 is from spec + self.keepalive.start() + return response + + def server_policy_id(self, token_type, default): + """ + Find PolicyId of server's UserTokenPolicy by token_type. + Return default if there's no matching UserTokenPolicy. + """ + for policy in self._policy_ids: + if policy.TokenType == token_type: + return policy.PolicyId + return default + + def server_policy_uri(self, token_type): + """ + Find SecurityPolicyUri of server's UserTokenPolicy by token_type. + If SecurityPolicyUri is empty, use default SecurityPolicyUri + of the endpoint + """ + for policy in self._policy_ids: + if policy.TokenType == token_type: + if policy.SecurityPolicyUri: + return policy.SecurityPolicyUri + else: # empty URI means "use this endpoint's policy URI" + return self.security_policy.URI + return self.security_policy.URI + + def activate_session(self, username=None, password=None, certificate=None): + """ + Activate session using either username and password or private_key + """ + params = ua.ActivateSessionParameters() + challenge = b"" + if self.security_policy.server_certificate is not None: + challenge += self.security_policy.server_certificate + if self._server_nonce is not None: + challenge += self._server_nonce + params.ClientSignature.Algorithm = "http://www.w3.org/2000/09/xmldsig#rsa-sha1" + params.ClientSignature.Signature = self.security_policy.asymmetric_cryptography.signature(challenge) + params.LocaleIds.append("en") + if not username and not certificate: + self._add_anonymous_auth(params) + elif certificate: + self._add_certificate_auth(params, certificate, challenge) + else: + self._add_user_auth(params, username, password) + return self.uaclient.activate_session(params) + + def _add_anonymous_auth(self, params): + params.UserIdentityToken = ua.AnonymousIdentityToken() + params.UserIdentityToken.PolicyId = self.server_policy_id(ua.UserTokenType.Anonymous, b"anonymous") + + def _add_certificate_auth(self, params, certificate, challenge): + params.UserIdentityToken = ua.X509IdentityToken() + params.UserIdentityToken.PolicyId = self.server_policy_id(ua.UserTokenType.Certificate, b"certificate_basic256") + params.UserIdentityToken.CertificateData = uacrypto.der_from_x509(certificate) + # specs part 4, 5.6.3.1: the data to sign is created by appending + # the last serverNonce to the serverCertificate + sig = uacrypto.sign_sha1(self.user_private_key, challenge) + params.UserTokenSignature = ua.SignatureData() + params.UserTokenSignature.Algorithm = "http://www.w3.org/2000/09/xmldsig#rsa-sha1" + params.UserTokenSignature.Signature = sig + + def _add_user_auth(self, params, username, password): + params.UserIdentityToken = ua.UserNameIdentityToken() + params.UserIdentityToken.UserName = username + policy_uri = self.server_policy_uri(ua.UserTokenType.UserName) + if not policy_uri or policy_uri == security_policies.POLICY_NONE_URI: + # see specs part 4, 7.36.3: if the token is NOT encrypted, + # then the password only contains UTF-8 encoded password + # and EncryptionAlgorithm is null + if self._password: + self.logger.warning("Sending plain-text password") + params.UserIdentityToken.Password = password + params.UserIdentityToken.EncryptionAlgorithm = None + elif self._password: + data, uri = self._encrypt_password(password, policy_uri) + params.UserIdentityToken.Password = data + params.UserIdentityToken.EncryptionAlgorithm = uri + params.UserIdentityToken.PolicyId = self.server_policy_id(ua.UserTokenType.UserName, b"username_basic256") + + def _encrypt_password(self, password, policy_uri): + pubkey = uacrypto.x509_from_der(self.security_policy.server_certificate).public_key() + # see specs part 4, 7.36.3: if the token is encrypted, password + # shall be converted to UTF-8 and serialized with server nonce + passwd = password.encode("utf8") + if self._server_nonce is not None: + passwd += self._server_nonce + etoken = ua.ua_binary.Primitives.Bytes.pack(passwd) + data, uri = security_policies.encrypt_asymmetric(pubkey, etoken, policy_uri) + return data, uri + + def close_session(self): + """ + Close session + """ + if self.keepalive: + self.keepalive.stop() + return self.uaclient.close_session(True) + + def get_root_node(self): + return self.get_node(ua.TwoByteNodeId(ua.ObjectIds.RootFolder)) + + def get_objects_node(self): + return self.get_node(ua.TwoByteNodeId(ua.ObjectIds.ObjectsFolder)) + + def get_server_node(self): + return self.get_node(ua.FourByteNodeId(ua.ObjectIds.Server)) + + def get_node(self, nodeid): + """ + Get node using NodeId object or a string representing a NodeId + """ + return Node(self.uaclient, nodeid) + + def create_subscription(self, period, handler): + """ + Create a subscription. + returns a Subscription object which allow + to subscribe to events or data on server + handler argument is a class with data_change and/or event methods. + period argument is either a publishing interval in milliseconds or a + CreateSubscriptionParameters instance. The second option should be used, + if the opcua-server has problems with the default options. + These methods will be called when notfication from server are received. + See example-client.py. + Do not do expensive/slow or network operation from these methods + since they are called directly from receiving thread. This is a design choice, + start another thread if you need to do such a thing. + """ + + if isinstance(period, ua.CreateSubscriptionParameters): + return Subscription(self.uaclient, period, handler) + params = ua.CreateSubscriptionParameters() + params.RequestedPublishingInterval = period + params.RequestedLifetimeCount = 10000 + params.RequestedMaxKeepAliveCount = 3000 + params.MaxNotificationsPerPublish = 10000 + params.PublishingEnabled = True + params.Priority = 0 + return Subscription(self.uaclient, params, handler) + + def get_namespace_array(self): + ns_node = self.get_node(ua.NodeId(ua.ObjectIds.Server_NamespaceArray)) + return ns_node.get_value() + + def get_namespace_index(self, uri): + uries = self.get_namespace_array() + return uries.index(uri) + + def delete_nodes(self, nodes, recursive=False): + return delete_nodes(self.uaclient, nodes, recursive) + + def import_xml(self, path): + """ + Import nodes defined in xml + """ + importer = XmlImporter(self) + return importer.import_xml(path) + + def export_xml(self, nodes, path): + """ + Export defined nodes to xml + """ + exp = XmlExporter(self) + exp.build_etree(nodes) + return exp.write_xml(path) + + def register_namespace(self, uri): + """ + Register a new namespace. Nodes should in custom namespace, not 0. + This method is mainly implemented for symetry with server + """ + ns_node = self.get_node(ua.NodeId(ua.ObjectIds.Server_NamespaceArray)) + uries = ns_node.get_value() + if uri in uries: + return uries.index(uri) + uries.append(uri) + ns_node.set_value(uries) + return len(uries) - 1 + + def load_type_definitions(self, nodes=None): + return load_type_definitions(self, nodes) + + diff --git a/opcua/client/async_ua_client.py b/opcua/client/async_ua_client.py new file mode 100644 index 000000000..3afce95a3 --- /dev/null +++ b/opcua/client/async_ua_client.py @@ -0,0 +1,575 @@ +""" +Low level binary client +""" +import asyncio +import logging +from functools import partial + +from opcua import ua +from opcua.ua.ua_binary import struct_from_binary, uatcp_to_binary, struct_to_binary, nodeid_from_binary +from opcua.ua.uaerrors import UaError, BadTimeout, BadNoSubscription, BadSessionClosed +from opcua.common.async_connection import AsyncSecureConnection + + +class UASocketProtocol(asyncio.Protocol): + """ + handle socket connection and send ua messages + timeout is the timeout used while waiting for an ua answer from server + """ + + def __init__(self, timeout=1, security_policy=ua.SecurityPolicy()): + self.logger = logging.getLogger(__name__ + ".Socket") + self.loop = asyncio.get_event_loop() + self.transport = None + self.receive_buffer = asyncio.Queue() + self.is_receiving = False + self.timeout = timeout + self.authentication_token = ua.NodeId() + self._request_id = 0 + self._request_handle = 0 + self._callbackmap = {} + self._connection = AsyncSecureConnection(security_policy) + self._leftover_chunk = None + + def connection_made(self, transport): + self.transport = transport + + def connection_lost(self, exc): + self.logger.info("Socket has closed connection") + self.transport = None + + def data_received(self, data): + self.receive_buffer.put(data) + if not self.is_receiving: + self.is_receiving = True + self.loop.create_task(self._receive()) + + async def read(self, size): + """Receive up to size bytes from socket.""" + data = b'' + while size > 0: + # ToDo: abort on timeout, socket close + # raise SocketClosedException("Server socket has closed") + if self._leftover_chunk: + # use leftover chunk first + chunk = self._leftover_chunk + self._leftover_chunk = None + else: + chunk = await self.receive_buffer.get() + needed_length = size - len(data) + if len(chunk) <= needed_length: + _chunk = chunk + else: + # chunk is too big + _chunk = chunk[:needed_length] + self._leftover_chunk = chunk[needed_length:] + data += _chunk + size -= len(_chunk) + return data + + def _send_request(self, request, callback=None, timeout=1000, message_type=ua.MessageType.SecureMessage): + """ + send request to server, lower-level method + timeout is the timeout written in ua header + returns future + """ + request.RequestHeader = self._create_request_header(timeout) + self.logger.debug("Sending: %s", request) + try: + binreq = struct_to_binary(request) + except: + # reset reqeust handle if any error + # see self._create_request_header + self._request_handle -= 1 + raise + self._request_id += 1 + future = asyncio.Future() + if callback: + future.add_done_callback(callback) + self._callbackmap[self._request_id] = future + msg = self._connection.message_to_binary(binreq, message_type=message_type, request_id=self._request_id) + self.transport.write(msg) + return future + + async def send_request(self, request, callback=None, timeout=1000, message_type=ua.MessageType.SecureMessage): + """ + send request to server. + timeout is the timeout written in ua header + returns response object if no callback is provided + """ + future = self._send_request(request, callback, timeout, message_type) + if not callback: + data = await asyncio.wait_for(future.result(), self.timeout) + self.check_answer(data, " in response to " + request.__class__.__name__) + return data + + def check_answer(self, data, context): + data = data.copy() + typeid = nodeid_from_binary(data) + if typeid == ua.FourByteNodeId(ua.ObjectIds.ServiceFault_Encoding_DefaultBinary): + self.logger.warning("ServiceFault from server received %s", context) + hdr = struct_from_binary(ua.ResponseHeader, data) + hdr.ServiceResult.check() + return False + return True + + async def _receive(self): + msg = await self._connection.receive_from_socket(self) + if msg is None: + return + elif isinstance(msg, ua.Message): + self._call_callback(msg.request_id(), msg.body()) + elif isinstance(msg, ua.Acknowledge): + self._call_callback(0, msg) + elif isinstance(msg, ua.ErrorMessage): + self.logger.warning("Received an error: %s", msg) + else: + raise ua.UaError("Unsupported message type: %s", msg) + + def _call_callback(self, request_id, body): + future = self._callbackmap.pop(request_id, None) + if future is None: + raise ua.UaError("No future object found for request: {0}, callbacks in list are {1}".format( + request_id, self._callbackmap.keys())) + future.set_result(body) + + def _create_request_header(self, timeout=1000): + hdr = ua.RequestHeader() + hdr.AuthenticationToken = self.authentication_token + self._request_handle += 1 + hdr.RequestHandle = self._request_handle + hdr.TimeoutHint = timeout + return hdr + + def disconnect_socket(self): + self.logger.info("stop request") + self.transport.close() + + async def send_hello(self, url, max_messagesize=0, max_chunkcount=0): + hello = ua.Hello() + hello.EndpointUrl = url + hello.MaxMessageSize = max_messagesize + hello.MaxChunkCount = max_chunkcount + future = asyncio.Future() + self._callbackmap[0] = future + binmsg = uatcp_to_binary(ua.MessageType.Hello, hello) + self.transport.write(binmsg) + await asyncio.wait_for(future, self.timeout) + ack = future.result() + return ack + + async def open_secure_channel(self, params): + self.logger.info("open_secure_channel") + request = ua.OpenSecureChannelRequest() + request.Parameters = params + future = self._send_request(request, message_type=ua.MessageType.SecureOpen) + await asyncio.wait_for(future, self.timeout) + result = future.result() + # FIXME: we have a race condition here + # we can get a packet with the new token id before we reach to store it.. + response = struct_from_binary(ua.OpenSecureChannelResponse, result) + response.ResponseHeader.ServiceResult.check() + self._connection.set_channel(response.Parameters) + return response.Parameters + + async def close_secure_channel(self): + """ + close secure channel. It seems to trigger a shutdown of socket + in most servers, so be prepare to reconnect. + OPC UA specs Part 6, 7.1.4 say that Server does not send a CloseSecureChannel response and should just close socket + """ + self.logger.info("close_secure_channel") + request = ua.CloseSecureChannelRequest() + future = self._send_request(request, message_type=ua.MessageType.SecureClose) + # don't expect any more answers + future.cancel() + self._callbackmap.clear() + # some servers send a response here, most do not ... so we ignore + + +class UaClient: + """ + low level OPC-UA client. + + It implements (almost) all methods defined in opcua spec + taking in argument the structures defined in opcua spec. + + In this Python implementation most of the structures are defined in + uaprotocol_auto.py and uaprotocol_hand.py available under opcua.ua + """ + + def __init__(self, timeout=1): + self.logger = logging.getLogger(__name__) + # _publishcallbacks should be accessed in recv thread only + self.loop = asyncio.get_event_loop() + self._publishcallbacks = {} + self._timeout = timeout + self.security_policy = ua.SecurityPolicy() + self.protocol = None + + def set_security(self, policy): + self.security_policy = policy + + def _make_protocol(self): + self.protocol = UASocketProtocol(self._timeout, security_policy=self.security_policy) + return self.protocol + + async def connect_socket(self, host, port): + """ + connect to server socket and start receiving thread + """ + self.logger.info("opening connection") + # nodelay ncessary to avoid packing in one frame, some servers do not like it + # ToDo: TCP_NODELAY is set by default, but only since 3.6 + await self.loop.create_connection(self._make_protocol, host, port) + + def disconnect_socket(self): + return self.protocol.disconnect_socket() + + async def send_hello(self, url, max_messagesize=0, max_chunkcount=0): + await self.protocol.send_hello(url, max_messagesize, max_chunkcount) + + async def open_secure_channel(self, params): + return await self.protocol.open_secure_channel(params) + + async def close_secure_channel(self): + """ + close secure channel. It seems to trigger a shutdown of socket + in most servers, so be prepare to reconnect + """ + return await self.protocol.close_secure_channel() + + async def create_session(self, parameters): + self.logger.info("create_session") + request = ua.CreateSessionRequest() + request.Parameters = parameters + data = self.protocol.send_request(request) + response = struct_from_binary(ua.CreateSessionResponse, data) + self.logger.debug(response) + response.ResponseHeader.ServiceResult.check() + self.protocol.authentication_token = response.Parameters.AuthenticationToken + return response.Parameters + + async def activate_session(self, parameters): + self.logger.info("activate_session") + request = ua.ActivateSessionRequest() + request.Parameters = parameters + data = await self.protocol.send_request(request) + response = struct_from_binary(ua.ActivateSessionResponse, data) + self.logger.debug(response) + response.ResponseHeader.ServiceResult.check() + return response.Parameters + + async def close_session(self, deletesubscriptions): + self.logger.info("close_session") + request = ua.CloseSessionRequest() + request.DeleteSubscriptions = deletesubscriptions + data = await self.protocol.send_request(request) + response = struct_from_binary(ua.CloseSessionResponse, data) + try: + response.ResponseHeader.ServiceResult.check() + except BadSessionClosed: + # Problem: closing the session with open publish requests leads to BadSessionClosed responses + # we can just ignore it therefore. + # Alternatively we could make sure that there are no publish requests in flight when + # closing the session. + pass + + async def browse(self, parameters): + self.logger.info("browse") + request = ua.BrowseRequest() + request.Parameters = parameters + data = await self.protocol.send_request(request) + response = struct_from_binary(ua.BrowseResponse, data) + self.logger.debug(response) + response.ResponseHeader.ServiceResult.check() + return response.Results + + async def browse_next(self, parameters): + self.logger.info("browse next") + request = ua.BrowseNextRequest() + request.Parameters = parameters + data = await self.protocol.send_request(request) + response = struct_from_binary(ua.BrowseNextResponse, data) + self.logger.debug(response) + response.ResponseHeader.ServiceResult.check() + return response.Parameters.Results + + async def read(self, parameters): + self.logger.info("read") + request = ua.ReadRequest() + request.Parameters = parameters + data = await self.protocol.send_request(request) + response = struct_from_binary(ua.ReadResponse, data) + self.logger.debug(response) + response.ResponseHeader.ServiceResult.check() + # cast to Enum attributes that need to + for idx, rv in enumerate(parameters.NodesToRead): + if rv.AttributeId == ua.AttributeIds.NodeClass: + dv = response.Results[idx] + if dv.StatusCode.is_good(): + dv.Value.Value = ua.NodeClass(dv.Value.Value) + elif rv.AttributeId == ua.AttributeIds.ValueRank: + dv = response.Results[idx] + if dv.StatusCode.is_good() and dv.Value.Value in (-3, -2, -1, 0, 1, 2, 3, 4): + dv.Value.Value = ua.ValueRank(dv.Value.Value) + return response.Results + + async def write(self, params): + self.logger.info("read") + request = ua.WriteRequest() + request.Parameters = params + data = await self.protocol.send_request(request) + response = struct_from_binary(ua.WriteResponse, data) + self.logger.debug(response) + response.ResponseHeader.ServiceResult.check() + return response.Results + + async def get_endpoints(self, params): + self.logger.info("get_endpoint") + request = ua.GetEndpointsRequest() + request.Parameters = params + data = await self.protocol.send_request(request) + response = struct_from_binary(ua.GetEndpointsResponse, data) + self.logger.debug(response) + response.ResponseHeader.ServiceResult.check() + return response.Endpoints + + async def find_servers(self, params): + self.logger.info("find_servers") + request = ua.FindServersRequest() + request.Parameters = params + data = await self.protocol.send_request(request) + response = struct_from_binary(ua.FindServersResponse, data) + self.logger.debug(response) + response.ResponseHeader.ServiceResult.check() + return response.Servers + + async def find_servers_on_network(self, params): + self.logger.info("find_servers_on_network") + request = ua.FindServersOnNetworkRequest() + request.Parameters = params + data = await self.protocol.send_request(request) + response = struct_from_binary(ua.FindServersOnNetworkResponse, data) + self.logger.debug(response) + response.ResponseHeader.ServiceResult.check() + return response.Parameters + + async def register_server(self, registered_server): + self.logger.info("register_server") + request = ua.RegisterServerRequest() + request.Server = registered_server + data = await self.protocol.send_request(request) + response = struct_from_binary(ua.RegisterServerResponse, data) + self.logger.debug(response) + response.ResponseHeader.ServiceResult.check() + # nothing to return for this service + + async def register_server2(self, params): + self.logger.info("register_server2") + request = ua.RegisterServer2Request() + request.Parameters = params + data = await self.protocol.send_request(request) + response = struct_from_binary(ua.RegisterServer2Response, data) + self.logger.debug(response) + response.ResponseHeader.ServiceResult.check() + return response.ConfigurationResults + + async def translate_browsepaths_to_nodeids(self, browsepaths): + self.logger.info("translate_browsepath_to_nodeid") + request = ua.TranslateBrowsePathsToNodeIdsRequest() + request.Parameters.BrowsePaths = browsepaths + data = await self.protocol.send_request(request) + response = struct_from_binary(ua.TranslateBrowsePathsToNodeIdsResponse, data) + self.logger.debug(response) + response.ResponseHeader.ServiceResult.check() + return response.Results + + async def create_subscription(self, params, callback): + self.logger.info("create_subscription") + request = ua.CreateSubscriptionRequest() + request.Parameters = params + resp_fut = asyncio.Future() + mycallbak = partial(self._create_subscription_callback, callback, resp_fut) + await self.protocol.send_request(request, mycallbak) + await asyncio.wait_for(resp_fut, self._timeout) + return resp_fut.result() + + def _create_subscription_callback(self, pub_callback, resp_fut, data_fut): + self.logger.info("_create_subscription_callback") + data = data_fut.result() + response = struct_from_binary(ua.CreateSubscriptionResponse, data) + self.logger.debug(response) + response.ResponseHeader.ServiceResult.check() + self._publishcallbacks[response.Parameters.SubscriptionId] = pub_callback + resp_fut.set_result(response.Parameters) + + async def delete_subscriptions(self, subscriptionids): + self.logger.info("delete_subscription") + request = ua.DeleteSubscriptionsRequest() + request.Parameters.SubscriptionIds = subscriptionids + resp_fut = asyncio.Future() + mycallbak = partial(self._delete_subscriptions_callback, subscriptionids, resp_fut) + self.protocol.send_request(request, mycallbak) + await asyncio.wait_for(resp_fut, self._timeout) + return resp_fut.result() + + def _delete_subscriptions_callback(self, subscriptionids, resp_fut, data_fut): + # ToDo: this has to be a coro + self.logger.info("_delete_subscriptions_callback") + data = data_fut.result() + response = struct_from_binary(ua.DeleteSubscriptionsResponse, data) + self.logger.debug(response) + response.ResponseHeader.ServiceResult.check() + for sid in subscriptionids: + self._publishcallbacks.pop(sid) + resp_fut.set_result(response.Results) + + async def publish(self, acks=None): + self.logger.info("publish") + if acks is None: + acks = [] + request = ua.PublishRequest() + request.Parameters.SubscriptionAcknowledgements = acks + await self.protocol.send_request(request, self._call_publish_callback, timeout=0) + + async def _call_publish_callback(self, future): + self.logger.info("call_publish_callback") + await future + data = future.result() + # check if answer looks ok + try: + self.protocol.check_answer(data, "while waiting for publish response") + except BadTimeout: # Spec Part 4, 7.28 + self.publish() + return + except BadNoSubscription: # Spec Part 5, 13.8.1 + # BadNoSubscription is expected after deleting the last subscription. + # + # We should therefore also check for len(self._publishcallbacks) == 0, but + # this gets us into trouble if a Publish response arrives before the + # DeleteSubscription response. + # + # We could remove the callback already when sending the DeleteSubscription request, + # but there are some legitimate reasons to keep them around, such as when the server + # responds with "BadTimeout" and we should try again later instead of just removing + # the subscription client-side. + # + # There are a variety of ways to act correctly, but the most practical solution seems + # to be to just ignore any BadNoSubscription responses. + self.logger.info("BadNoSubscription received, ignoring because it's probably valid.") + return + + # parse publish response + try: + response = struct_from_binary(ua.PublishResponse, data) + self.logger.debug(response) + except Exception: + # INFO: catching the exception here might be obsolete because we already + # catch BadTimeout above. However, it's not really clear what this code + # does so it stays in, doesn't seem to hurt. + self.logger.exception("Error parsing notificatipn from server") + self.publish([]) # send publish request ot server so he does stop sending notifications + return + + # look for callback + try: + callback = self._publishcallbacks[response.Parameters.SubscriptionId] + except KeyError: + self.logger.warning("Received data for unknown subscription: %s ", response.Parameters.SubscriptionId) + return + + # do callback + try: + callback(response.Parameters) + except Exception: # we call client code, catch everything! + self.logger.exception("Exception while calling user callback: %s") + + async def create_monitored_items(self, params): + self.logger.info("create_monitored_items") + request = ua.CreateMonitoredItemsRequest() + request.Parameters = params + data = await self.protocol.send_request(request) + response = struct_from_binary(ua.CreateMonitoredItemsResponse, data) + self.logger.debug(response) + response.ResponseHeader.ServiceResult.check() + return response.Results + + async def delete_monitored_items(self, params): + self.logger.info("delete_monitored_items") + request = ua.DeleteMonitoredItemsRequest() + request.Parameters = params + data = await self.protocol.send_request(request) + response = struct_from_binary(ua.DeleteMonitoredItemsResponse, data) + self.logger.debug(response) + response.ResponseHeader.ServiceResult.check() + return response.Results + + async def add_nodes(self, nodestoadd): + self.logger.info("add_nodes") + request = ua.AddNodesRequest() + request.Parameters.NodesToAdd = nodestoadd + data = await self.protocol.send_request(request) + response = struct_from_binary(ua.AddNodesResponse, data) + self.logger.debug(response) + response.ResponseHeader.ServiceResult.check() + return response.Results + + async def add_references(self, refs): + self.logger.info("add_references") + request = ua.AddReferencesRequest() + request.Parameters.ReferencesToAdd = refs + data = await self.protocol.send_request(request) + response = struct_from_binary(ua.AddReferencesResponse, data) + self.logger.debug(response) + response.ResponseHeader.ServiceResult.check() + return response.Results + + async def delete_references(self, refs): + self.logger.info("delete") + request = ua.DeleteReferencesRequest() + request.Parameters.ReferencesToDelete = refs + data = await self.protocol.send_request(request) + response = struct_from_binary(ua.DeleteReferencesResponse, data) + self.logger.debug(response) + response.ResponseHeader.ServiceResult.check() + return response.Parameters.Results + + async def delete_nodes(self, params): + self.logger.info("delete_nodes") + request = ua.DeleteNodesRequest() + request.Parameters = params + data = await self.protocol.send_request(request) + response = struct_from_binary(ua.DeleteNodesResponse, data) + self.logger.debug(response) + response.ResponseHeader.ServiceResult.check() + return response.Results + + async def call(self, methodstocall): + request = ua.CallRequest() + request.Parameters.MethodsToCall = methodstocall + data = await self.protocol.send_request(request) + response = struct_from_binary(ua.CallResponse, data) + self.logger.debug(response) + response.ResponseHeader.ServiceResult.check() + return response.Results + + async def history_read(self, params): + self.logger.info("history_read") + request = ua.HistoryReadRequest() + request.Parameters = params + data = await self.protocol.send_request(request) + response = struct_from_binary(ua.HistoryReadResponse, data) + self.logger.debug(response) + response.ResponseHeader.ServiceResult.check() + return response.Results + + async def modify_monitored_items(self, params): + self.logger.info("modify_monitored_items") + request = ua.ModifyMonitoredItemsRequest() + request.Parameters = params + data = await self.protocol.send_request(request) + response = struct_from_binary(ua.ModifyMonitoredItemsResponse, data) + self.logger.debug(response) + response.ResponseHeader.ServiceResult.check() + return response.Results diff --git a/opcua/common/async_connection.py b/opcua/common/async_connection.py new file mode 100644 index 000000000..1d28c2862 --- /dev/null +++ b/opcua/common/async_connection.py @@ -0,0 +1,29 @@ + +import asyncio +import logging +from opcua.common.connection import SecureConnection +from opcua.ua.async_ua_binary import header_from_binary +from opcua import ua + +logger = logging.getLogger('opcua.uaprotocol') + + +class AsyncSecureConnection(SecureConnection): + """ + Async version of SecureConnection + """ + + async def receive_from_socket(self, protocol): + """ + Convert binary stream to OPC UA TCP message (see OPC UA + specs Part 6, 7.1: Hello, Acknowledge or ErrorMessage), or a Message + object, or None (if intermediate chunk is received) + """ + logger.debug("Waiting for header") + header = await header_from_binary(protocol) + logger.info("received header: %s", header) + body = await protocol.read(header.body_size) + if len(body) != header.body_size: + # ToDo: should never happen since UASocketProtocol.read() waits until `size` bytes are received. Remove? + raise ua.UaError("{0} bytes expected, {1} available".format(header.body_size, len(body))) + return self.receive_from_header_and_body(header, ua.utils.Buffer(body)) diff --git a/opcua/ua/async_ua_binary.py b/opcua/ua/async_ua_binary.py new file mode 100644 index 000000000..9d12845f2 --- /dev/null +++ b/opcua/ua/async_ua_binary.py @@ -0,0 +1,14 @@ + +import struct +from opcua import ua +from opcua.ua.ua_binary import Primitives + + +async def header_from_binary(data): + hdr = ua.Header() + hdr.MessageType, hdr.ChunkType, hdr.packet_size = struct.unpack("<3scI", await data.read(8)) + hdr.body_size = hdr.packet_size - 8 + if hdr.MessageType in (ua.MessageType.SecureOpen, ua.MessageType.SecureClose, ua.MessageType.SecureMessage): + hdr.body_size -= 4 + hdr.ChannelId = Primitives.UInt32.unpack(ua.utils.Buffer(await data.read(4))) + return hdr From a8d37321714cf6892d680db3368c81604964621f Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Sun, 28 Jan 2018 22:21:18 +0100 Subject: [PATCH 002/113] [ADD] async refactoring of ua client wip --- opcua/client/async_ua_client.py | 119 ++++++++++++++------------------ 1 file changed, 53 insertions(+), 66 deletions(-) diff --git a/opcua/client/async_ua_client.py b/opcua/client/async_ua_client.py index 3afce95a3..bdf264d82 100644 --- a/opcua/client/async_ua_client.py +++ b/opcua/client/async_ua_client.py @@ -13,8 +13,8 @@ class UASocketProtocol(asyncio.Protocol): """ - handle socket connection and send ua messages - timeout is the timeout used while waiting for an ua answer from server + Handle socket connection and send ua messages. + Timeout is the timeout used while waiting for an ua answer from server. """ def __init__(self, timeout=1, security_policy=ua.SecurityPolicy()): @@ -39,7 +39,7 @@ def connection_lost(self, exc): self.transport = None def data_received(self, data): - self.receive_buffer.put(data) + self.receive_buffer.put_nowait(data) if not self.is_receiving: self.is_receiving = True self.loop.create_task(self._receive()) @@ -69,16 +69,16 @@ async def read(self, size): def _send_request(self, request, callback=None, timeout=1000, message_type=ua.MessageType.SecureMessage): """ - send request to server, lower-level method - timeout is the timeout written in ua header - returns future + Send request to server, lower-level method. + Timeout is the timeout written in ua header. + Returns future """ request.RequestHeader = self._create_request_header(timeout) self.logger.debug("Sending: %s", request) try: binreq = struct_to_binary(request) except: - # reset reqeust handle if any error + # reset request handle if any error # see self._create_request_header self._request_handle -= 1 raise @@ -93,9 +93,9 @@ def _send_request(self, request, callback=None, timeout=1000, message_type=ua.Me async def send_request(self, request, callback=None, timeout=1000, message_type=ua.MessageType.SecureMessage): """ - send request to server. - timeout is the timeout written in ua header - returns response object if no callback is provided + Send a request to the server. + Timeout is the timeout written in ua header. + Returns response object if no callback is provided. """ future = self._send_request(request, callback, timeout, message_type) if not callback: @@ -116,7 +116,7 @@ def check_answer(self, data, context): async def _receive(self): msg = await self._connection.receive_from_socket(self) if msg is None: - return + pass elif isinstance(msg, ua.Message): self._call_callback(msg.request_id(), msg.body()) elif isinstance(msg, ua.Acknowledge): @@ -125,6 +125,11 @@ async def _receive(self): self.logger.warning("Received an error: %s", msg) else: raise ua.UaError("Unsupported message type: %s", msg) + if self._leftover_chunk or not self.receive_buffer.empty(): + # keep receiving + self.loop.create_task(self._receive()) + else: + self.is_receiving = False def _call_callback(self, request_id, body): future = self._callbackmap.pop(request_id, None) @@ -174,9 +179,10 @@ async def open_secure_channel(self, params): async def close_secure_channel(self): """ - close secure channel. It seems to trigger a shutdown of socket - in most servers, so be prepare to reconnect. - OPC UA specs Part 6, 7.1.4 say that Server does not send a CloseSecureChannel response and should just close socket + Close secure channel. + It seems to trigger a shutdown of socket in most servers, so be prepare to reconnect. + OPC UA specs Part 6, 7.1.4 say that Server does not send a CloseSecureChannel response + and should just close socket. """ self.logger.info("close_secure_channel") request = ua.CloseSecureChannelRequest() @@ -200,9 +206,8 @@ class UaClient: def __init__(self, timeout=1): self.logger = logging.getLogger(__name__) - # _publishcallbacks should be accessed in recv thread only self.loop = asyncio.get_event_loop() - self._publishcallbacks = {} + self._publish_callbacks = {} self._timeout = timeout self.security_policy = ua.SecurityPolicy() self.protocol = None @@ -215,9 +220,7 @@ def _make_protocol(self): return self.protocol async def connect_socket(self, host, port): - """ - connect to server socket and start receiving thread - """ + """Connect to server socket.""" self.logger.info("opening connection") # nodelay ncessary to avoid packing in one frame, some servers do not like it # ToDo: TCP_NODELAY is set by default, but only since 3.6 @@ -260,10 +263,10 @@ async def activate_session(self, parameters): response.ResponseHeader.ServiceResult.check() return response.Parameters - async def close_session(self, deletesubscriptions): + async def close_session(self, delete_subscriptions): self.logger.info("close_session") request = ua.CloseSessionRequest() - request.DeleteSubscriptions = deletesubscriptions + request.DeleteSubscriptions = delete_subscriptions data = await self.protocol.send_request(request) response = struct_from_binary(ua.CloseSessionResponse, data) try: @@ -375,10 +378,10 @@ async def register_server2(self, params): response.ResponseHeader.ServiceResult.check() return response.ConfigurationResults - async def translate_browsepaths_to_nodeids(self, browsepaths): + async def translate_browsepaths_to_nodeids(self, browse_paths): self.logger.info("translate_browsepath_to_nodeid") request = ua.TranslateBrowsePathsToNodeIdsRequest() - request.Parameters.BrowsePaths = browsepaths + request.Parameters.BrowsePaths = browse_paths data = await self.protocol.send_request(request) response = struct_from_binary(ua.TranslateBrowsePathsToNodeIdsResponse, data) self.logger.debug(response) @@ -389,41 +392,30 @@ async def create_subscription(self, params, callback): self.logger.info("create_subscription") request = ua.CreateSubscriptionRequest() request.Parameters = params - resp_fut = asyncio.Future() - mycallbak = partial(self._create_subscription_callback, callback, resp_fut) - await self.protocol.send_request(request, mycallbak) - await asyncio.wait_for(resp_fut, self._timeout) - return resp_fut.result() - - def _create_subscription_callback(self, pub_callback, resp_fut, data_fut): - self.logger.info("_create_subscription_callback") - data = data_fut.result() - response = struct_from_binary(ua.CreateSubscriptionResponse, data) + response = struct_from_binary( + ua.CreateSubscriptionResponse, + await self.protocol.send_request(request) + ) + self.logger.info("create subscription callback") self.logger.debug(response) response.ResponseHeader.ServiceResult.check() - self._publishcallbacks[response.Parameters.SubscriptionId] = pub_callback - resp_fut.set_result(response.Parameters) + self._publish_callbacks[response.Parameters.SubscriptionId] = callback + return response.Parameters - async def delete_subscriptions(self, subscriptionids): + async def delete_subscriptions(self, subscription_ids): self.logger.info("delete_subscription") request = ua.DeleteSubscriptionsRequest() - request.Parameters.SubscriptionIds = subscriptionids - resp_fut = asyncio.Future() - mycallbak = partial(self._delete_subscriptions_callback, subscriptionids, resp_fut) - self.protocol.send_request(request, mycallbak) - await asyncio.wait_for(resp_fut, self._timeout) - return resp_fut.result() - - def _delete_subscriptions_callback(self, subscriptionids, resp_fut, data_fut): - # ToDo: this has to be a coro - self.logger.info("_delete_subscriptions_callback") - data = data_fut.result() - response = struct_from_binary(ua.DeleteSubscriptionsResponse, data) + request.Parameters.SubscriptionIds = subscription_ids + response = struct_from_binary( + ua.DeleteSubscriptionsResponse, + await self.protocol.send_request(request) + ) + self.logger.info("delete subscriptions callback") self.logger.debug(response) response.ResponseHeader.ServiceResult.check() - for sid in subscriptionids: - self._publishcallbacks.pop(sid) - resp_fut.set_result(response.Results) + for sid in subscription_ids: + self._publish_callbacks.pop(sid) + return response.Results async def publish(self, acks=None): self.logger.info("publish") @@ -431,17 +423,13 @@ async def publish(self, acks=None): acks = [] request = ua.PublishRequest() request.Parameters.SubscriptionAcknowledgements = acks - await self.protocol.send_request(request, self._call_publish_callback, timeout=0) - - async def _call_publish_callback(self, future): - self.logger.info("call_publish_callback") - await future - data = future.result() + data = await self.protocol.send_request(request, timeout=0) # check if answer looks ok try: self.protocol.check_answer(data, "while waiting for publish response") - except BadTimeout: # Spec Part 4, 7.28 - self.publish() + except BadTimeout: + # Spec Part 4, 7.28 + self.loop.create_task(self.publish()) return except BadNoSubscription: # Spec Part 5, 13.8.1 # BadNoSubscription is expected after deleting the last subscription. @@ -459,7 +447,6 @@ async def _call_publish_callback(self, future): # to be to just ignore any BadNoSubscription responses. self.logger.info("BadNoSubscription received, ignoring because it's probably valid.") return - # parse publish response try: response = struct_from_binary(ua.PublishResponse, data) @@ -468,21 +455,21 @@ async def _call_publish_callback(self, future): # INFO: catching the exception here might be obsolete because we already # catch BadTimeout above. However, it's not really clear what this code # does so it stays in, doesn't seem to hurt. - self.logger.exception("Error parsing notificatipn from server") - self.publish([]) # send publish request ot server so he does stop sending notifications + self.logger.exception("Error parsing notification from server") + # send publish request ot server so he does stop sending notifications + self.loop.create_task(self.publish([])) return - # look for callback try: - callback = self._publishcallbacks[response.Parameters.SubscriptionId] + callback = self._publish_callbacks[response.Parameters.SubscriptionId] except KeyError: self.logger.warning("Received data for unknown subscription: %s ", response.Parameters.SubscriptionId) return - # do callback try: callback(response.Parameters) - except Exception: # we call client code, catch everything! + except Exception: + # we call client code, catch everything! self.logger.exception("Exception while calling user callback: %s") async def create_monitored_items(self, params): From 7906e1ef72379bbc98915c78adbd14f80364b037 Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Mon, 29 Jan 2018 14:20:29 +0100 Subject: [PATCH 003/113] [ADD] wip --- examples/async_client.py | 50 +++++++++ opcua/client/async_client.py | 175 ++++++++++++++++---------------- opcua/client/async_ua_client.py | 16 +-- 3 files changed, 148 insertions(+), 93 deletions(-) create mode 100644 examples/async_client.py diff --git a/examples/async_client.py b/examples/async_client.py new file mode 100644 index 000000000..f21002bcd --- /dev/null +++ b/examples/async_client.py @@ -0,0 +1,50 @@ + +import asyncio +import logging + +from opcua.client.async_client import AsyncClient + +logging.basicConfig(level=logging.INFO) +_logger = logging.getLogger('opcua') + + +async def browse_nodes(node, level=0): + node_class = node.get_node_class() + return { + 'id': node.nodeid.to_string(), + 'name': node.get_display_name().Text.decode('utf8'), + 'cls': node_class.value, + 'children': [ + browse_nodes(child, level=level + 1) for child in node.get_children(nodeclassmask=objects_and_variables) + ], + 'type': node.get_data_type_as_variant_type().value if node_class == ua.NodeClass.Variable else None, + } + + +async def task(loop): + try: + client = AsyncClient(url='opc.tcp://commsvr.com:51234/UA/CAS_UA_Server') + await client.connect() + obj_node = client.get_objects_node() + _logger.info('Objects Node: %r', obj_node) + tree = await browse_nodes(obj_node) + _logger.info('Tree: %r', tree) + except Exception: + _logger.exception('Task error') + loop.stop() + + +def main(): + loop = asyncio.get_event_loop() + loop.set_debug(True) + loop.create_task(task(loop)) + try: + loop.run_forever() + except Exception: + _logger.exception('Event loop error') + loop.run_until_complete(loop.shutdown_asyncgens()) + loop.close() + + +if __name__ == '__main__': + main() diff --git a/opcua/client/async_client.py b/opcua/client/async_client.py index 116967b28..8e6093681 100644 --- a/opcua/client/async_client.py +++ b/opcua/client/async_client.py @@ -1,4 +1,4 @@ - +import asyncio import logging from urllib.parse import urlparse @@ -13,6 +13,7 @@ from opcua.crypto import security_policies from opcua.common.shortcuts import Shortcuts from opcua.common.structures import load_type_definitions + use_crypto = True try: from opcua.crypto import uacrypto @@ -21,11 +22,11 @@ use_crypto = False -class KeepAlive(Thread): - +class KeepAlive: """ Used by Client to keep the session open. OPCUA defines timeout both for sessions and secure channel + ToDo: remove """ def __init__(self, client, timeout): @@ -33,25 +34,24 @@ def __init__(self, client, timeout): :param session_timeout: Timeout to re-new the session in milliseconds. """ - Thread.__init__(self) self.logger = logging.getLogger(__name__) - + self.loop = asyncio.get_event_loop() self.client = client - self._dostop = False + self._do_stop = False self._cond = Condition() self.timeout = timeout # some server support no timeout, but we do not trust them if self.timeout == 0: - self.timeout = 3600000 # 1 hour + self.timeout = 3600000 # 1 hour def run(self): self.logger.debug("starting keepalive thread with period of %s milliseconds", self.timeout) server_state = self.client.get_node(ua.FourByteNodeId(ua.ObjectIds.Server_ServerStatus_State)) - while not self._dostop: + while not self._do_stop: with self._cond: self._cond.wait(self.timeout / 1000) - if self._dostop: + if self._do_stop: break self.logger.debug("renewing channel") self.client.open_secure_channel(renew=True) @@ -61,19 +61,18 @@ def run(self): def stop(self): self.logger.debug("stoping keepalive thread") - self._dostop = True + self._do_stop = True with self._cond: self._cond.notify_all() -class Client(object): - +class AsyncClient(object): """ High level client to connect to an OPC-UA server. This class makes it easy to connect and browse address space. - It attemps to expose as much functionality as possible - but if you want more flexibility it is possible and adviced to + It attempts to expose as much functionality as possible + but if you want more flexibility it is possible and advised to use UaClient object, available as self.uaclient which offers the raw OPC-UA services interface. """ @@ -91,17 +90,17 @@ def __init__(self, url, timeout=4): """ self.logger = logging.getLogger(__name__) self.server_url = urlparse(url) - #take initial username and password from the url + # take initial username and password from the url self._username = self.server_url.username self._password = self.server_url.password - self.name = "Pure Python Client" + self.name = "Pure Python Async. Client" self.description = self.name self.application_uri = "urn:freeopcua:client" self.product_uri = "urn:freeopcua.github.no:client" self.security_policy = ua.SecurityPolicy() self.secure_channel_id = None - self.secure_channel_timeout = 3600000 # 1 hour - self.session_timeout = 3600000 # 1 hour + self.secure_channel_timeout = 3600000 # 1 hour + self.session_timeout = 3600000 # 1 hour self._policy_ids = [] self.uaclient = UaClient(timeout) self.user_certificate = None @@ -110,14 +109,14 @@ def __init__(self, url, timeout=4): self._session_counter = 1 self.keepalive = None self.nodes = Shortcuts(self.uaclient) - self.max_messagesize = 0 # No limits - self.max_chunkcount = 0 # No limits + self.max_messagesize = 0 # No limits + self.max_chunkcount = 0 # No limits - def __enter__(self): - self.connect() + async def __aenter__(self): + await self.connect() return self - def __exit__(self, exc_type, exc_value, traceback): + async def __aexit__(self, exc_type, exc_value, traceback): self.disconnect() @staticmethod @@ -163,20 +162,20 @@ def set_security_string(self, string): raise ua.UaError('Wrong format: `{0}`, expected at least 4 comma-separated values'.format(string)) policy_class = getattr(security_policies, 'SecurityPolicy' + parts[0]) mode = getattr(ua.MessageSecurityMode, parts[1]) - return self.set_security(policy_class, parts[2], parts[3], - parts[4] if len(parts) >= 5 else None, mode) + return self.set_security( + policy_class, parts[2], parts[3], parts[4] if len(parts) >= 5 else None, mode + ) - def set_security(self, policy, certificate_path, private_key_path, - server_certificate_path=None, - mode=ua.MessageSecurityMode.SignAndEncrypt): + async def set_security(self, policy, certificate_path, private_key_path, + server_certificate_path=None, mode=ua.MessageSecurityMode.SignAndEncrypt): """ Set SecureConnection mode. Call this before connect() """ if server_certificate_path is None: # load certificate from server's list of endpoints - endpoints = self.connect_and_get_server_endpoints() - endpoint = Client.find_endpoint(endpoints, mode, policy.URI) + endpoints = await self.connect_and_get_server_endpoints() + endpoint = AsyncClient.find_endpoint(endpoints, mode, policy.URI) server_cert = uacrypto.x509_from_der(endpoint.ServerCertificate) else: server_cert = uacrypto.load_certificate(server_certificate_path) @@ -197,81 +196,81 @@ def load_private_key(self, path): """ self.user_private_key = uacrypto.load_private_key(path) - def connect_and_get_server_endpoints(self): + async def connect_and_get_server_endpoints(self): """ Connect, ask server for endpoints, and disconnect """ - self.connect_socket() - self.send_hello() - self.open_secure_channel() - endpoints = self.get_endpoints() - self.close_secure_channel() + await self.connect_socket() + await self.send_hello() + await self.open_secure_channel() + endpoints = await self.get_endpoints() + await self.close_secure_channel() self.disconnect_socket() return endpoints - def connect_and_find_servers(self): + async def connect_and_find_servers(self): """ Connect, ask server for a list of known servers, and disconnect """ - self.connect_socket() - self.send_hello() - self.open_secure_channel() # spec says it should not be necessary to open channel - servers = self.find_servers() - self.close_secure_channel() + await self.connect_socket() + await self.send_hello() + await self.open_secure_channel() # spec says it should not be necessary to open channel + servers = await self.find_servers() + await self.close_secure_channel() self.disconnect_socket() return servers - def connect_and_find_servers_on_network(self): + async def connect_and_find_servers_on_network(self): """ Connect, ask server for a list of known servers on network, and disconnect """ - self.connect_socket() - self.send_hello() - self.open_secure_channel() - servers = self.find_servers_on_network() - self.close_secure_channel() + await self.connect_socket() + await self.send_hello() + await self.open_secure_channel() + servers = await self.find_servers_on_network() + await self.close_secure_channel() self.disconnect_socket() return servers - def connect(self): + async def connect(self): """ High level method Connect, create and activate session """ - self.connect_socket() - self.send_hello() - self.open_secure_channel() - self.create_session() - self.activate_session(username=self._username, password=self._password, certificate=self.user_certificate) + await self.connect_socket() + await self.send_hello() + await self.open_secure_channel() + await self.create_session() + await self.activate_session(username=self._username, password=self._password, certificate=self.user_certificate) - def disconnect(self): + async def disconnect(self): """ High level method Close session, secure channel and socket """ try: - self.close_session() - self.close_secure_channel() + await self.close_session() + await self.close_secure_channel() finally: self.disconnect_socket() - def connect_socket(self): + async def connect_socket(self): """ connect to socket defined in url """ - self.uaclient.connect_socket(self.server_url.hostname, self.server_url.port) + await self.uaclient.connect_socket(self.server_url.hostname, self.server_url.port) def disconnect_socket(self): self.uaclient.disconnect_socket() - def send_hello(self): + async def send_hello(self): """ Send OPC-UA hello to server """ - ack = self.uaclient.send_hello(self.server_url.geturl(), self.max_messagesize, self.max_chunkcount) + ack = await self.uaclient.send_hello(self.server_url.geturl(), self.max_messagesize, self.max_chunkcount) # FIXME check ack - def open_secure_channel(self, renew=False): + async def open_secure_channel(self, renew=False): """ Open secure channel, if renew is True, renew channel """ @@ -282,21 +281,22 @@ def open_secure_channel(self, renew=False): params.RequestType = ua.SecurityTokenRequestType.Renew params.SecurityMode = self.security_policy.Mode params.RequestedLifetime = self.secure_channel_timeout - nonce = utils.create_nonce(self.security_policy.symmetric_key_size) # length should be equal to the length of key of symmetric encryption - params.ClientNonce = nonce # this nonce is used to create a symmetric key - result = self.uaclient.open_secure_channel(params) + # length should be equal to the length of key of symmetric encryption + nonce = utils.create_nonce(self.security_policy.symmetric_key_size) + params.ClientNonce = nonce # this nonce is used to create a symmetric key + result = await self.uaclient.open_secure_channel(params) self.security_policy.make_symmetric_key(nonce, result.ServerNonce) self.secure_channel_timeout = result.SecurityToken.RevisedLifetime - def close_secure_channel(self): - return self.uaclient.close_secure_channel() + async def close_secure_channel(self): + return await self.uaclient.close_secure_channel() async def get_endpoints(self): params = ua.GetEndpointsParameters() params.EndpointUrl = self.server_url.geturl() return await self.uaclient.get_endpoints(params) - def register_server(self, server, discovery_configuration=None): + async def register_server(self, server, discovery_configuration=None): """ register a server to discovery server if discovery_configuration is provided, the newer register_server2 service call is used @@ -312,11 +312,11 @@ def register_server(self, server, discovery_configuration=None): params = ua.RegisterServer2Parameters() params.Server = serv params.DiscoveryConfiguration = discovery_configuration - return self.uaclient.register_server2(params) + return await self.uaclient.register_server2(params) else: - return self.uaclient.register_server(serv) + return await self.uaclient.register_server(serv) - def find_servers(self, uris=None): + async def find_servers(self, uris=None): """ send a FindServer request to the server. The answer should be a list of servers the server knows about @@ -327,13 +327,13 @@ def find_servers(self, uris=None): params = ua.FindServersParameters() params.EndpointUrl = self.server_url.geturl() params.ServerUris = uris - return self.uaclient.find_servers(params) + return await self.uaclient.find_servers(params) - def find_servers_on_network(self): + async def find_servers_on_network(self): params = ua.FindServersOnNetworkParameters() - return self.uaclient.find_servers_on_network(params) + return await self.uaclient.find_servers_on_network(params) - def create_session(self): + async def create_session(self): """ send a CreateSessionRequest to server with reasonable parameters. If you want o modify settings look at code of this methods @@ -346,7 +346,8 @@ def create_session(self): desc.ApplicationType = ua.ApplicationType.Client params = ua.CreateSessionParameters() - nonce = utils.create_nonce(32) # at least 32 random bytes for server to prove possession of private key (specs part 4, 5.6.2.2) + # at least 32 random bytes for server to prove possession of private key (specs part 4, 5.6.2.2) + nonce = utils.create_nonce(32) params.ClientNonce = nonce params.ClientCertificate = self.security_policy.client_certificate params.ClientDescription = desc @@ -354,7 +355,7 @@ def create_session(self): params.SessionName = self.description + " Session" + str(self._session_counter) params.RequestedSessionTimeout = 3600000 params.MaxResponseMessageSize = 0 # means no max size - response = self.uaclient.create_session(params) + response = await self.uaclient.create_session(params) if self.security_policy.client_certificate is None: data = nonce else: @@ -366,11 +367,13 @@ def create_session(self): elif self.security_policy.server_certificate != response.ServerCertificate: raise ua.UaError("Server certificate mismatch") # remember PolicyId's: we will use them in activate_session() - ep = Client.find_endpoint(response.ServerEndpoints, self.security_policy.Mode, self.security_policy.URI) + ep = AsyncClient.find_endpoint(response.ServerEndpoints, self.security_policy.Mode, self.security_policy.URI) self._policy_ids = ep.UserIdentityTokens self.session_timeout = response.RevisedSessionTimeout - self.keepalive = KeepAlive(self, min(self.session_timeout, self.secure_channel_timeout) * 0.7) # 0.7 is from spec - self.keepalive.start() + # 0.7 is from spec + # ToDo: refactor with callback_later + # self.keepalive = KeepAlive(self, min(self.session_timeout, self.secure_channel_timeout) * 0.7) + # self.keepalive.start() return response def server_policy_id(self, token_type, default): @@ -393,11 +396,11 @@ def server_policy_uri(self, token_type): if policy.TokenType == token_type: if policy.SecurityPolicyUri: return policy.SecurityPolicyUri - else: # empty URI means "use this endpoint's policy URI" + else: # empty URI means "use this endpoint's policy URI" return self.security_policy.URI return self.security_policy.URI - def activate_session(self, username=None, password=None, certificate=None): + async def activate_session(self, username=None, password=None, certificate=None): """ Activate session using either username and password or private_key """ @@ -416,7 +419,7 @@ def activate_session(self, username=None, password=None, certificate=None): self._add_certificate_auth(params, certificate, challenge) else: self._add_user_auth(params, username, password) - return self.uaclient.activate_session(params) + return await self.uaclient.activate_session(params) def _add_anonymous_auth(self, params): params.UserIdentityToken = ua.AnonymousIdentityToken() @@ -462,13 +465,13 @@ def _encrypt_password(self, password, policy_uri): data, uri = security_policies.encrypt_asymmetric(pubkey, etoken, policy_uri) return data, uri - def close_session(self): + async def close_session(self): """ Close session """ if self.keepalive: self.keepalive.stop() - return self.uaclient.close_session(True) + return await self.uaclient.close_session(True) def get_root_node(self): return self.get_node(ua.TwoByteNodeId(ua.ObjectIds.RootFolder)) @@ -553,5 +556,3 @@ def register_namespace(self, uri): def load_type_definitions(self, nodes=None): return load_type_definitions(self, nodes) - - diff --git a/opcua/client/async_ua_client.py b/opcua/client/async_ua_client.py index bdf264d82..f520ea4c8 100644 --- a/opcua/client/async_ua_client.py +++ b/opcua/client/async_ua_client.py @@ -47,22 +47,25 @@ def data_received(self, data): async def read(self, size): """Receive up to size bytes from socket.""" data = b'' + self.logger.debug('read %s bytes from socket', size) while size > 0: + self.logger.debug('data is now %s, waiting for %s bytes', len(data), size) # ToDo: abort on timeout, socket close # raise SocketClosedException("Server socket has closed") if self._leftover_chunk: + self.logger.debug('leftover bytes %s', len(self._leftover_chunk)) # use leftover chunk first chunk = self._leftover_chunk self._leftover_chunk = None else: chunk = await self.receive_buffer.get() - needed_length = size - len(data) - if len(chunk) <= needed_length: + self.logger.debug('got chunk %s needed_length is %s', len(chunk), size) + if len(chunk) <= size: _chunk = chunk else: # chunk is too big - _chunk = chunk[:needed_length] - self._leftover_chunk = chunk[needed_length:] + _chunk = chunk[:size] + self._leftover_chunk = chunk[size:] data += _chunk size -= len(_chunk) return data @@ -99,7 +102,8 @@ async def send_request(self, request, callback=None, timeout=1000, message_type= """ future = self._send_request(request, callback, timeout, message_type) if not callback: - data = await asyncio.wait_for(future.result(), self.timeout) + await asyncio.wait_for(future, self.timeout) + data = future.result() self.check_answer(data, " in response to " + request.__class__.__name__) return data @@ -246,7 +250,7 @@ async def create_session(self, parameters): self.logger.info("create_session") request = ua.CreateSessionRequest() request.Parameters = parameters - data = self.protocol.send_request(request) + data = await self.protocol.send_request(request) response = struct_from_binary(ua.CreateSessionResponse, data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() From ce83f6cf9bdaeab8b53922bb135367db13b96e24 Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Mon, 29 Jan 2018 17:18:18 +0100 Subject: [PATCH 004/113] [ADD] replaced code (sync with async) --- examples/async_client.py | 19 +- opcua/client/async_client.py | 558 ----------------------------- opcua/client/async_ua_client.py | 566 ------------------------------ opcua/client/client.py | 217 ++++++------ opcua/client/ua_client.py | 409 +++++++++++---------- opcua/common/async_connection.py | 29 -- opcua/common/connection.py | 27 +- opcua/common/node.py | 145 ++++---- opcua/common/ua_utils.py | 53 ++- opcua/crypto/security_policies.py | 2 +- opcua/crypto/uacrypto.py | 26 +- opcua/server/server.py | 8 +- opcua/ua/async_ua_binary.py | 14 - opcua/ua/ua_binary.py | 8 +- 14 files changed, 450 insertions(+), 1631 deletions(-) delete mode 100644 opcua/client/async_client.py delete mode 100644 opcua/client/async_ua_client.py delete mode 100644 opcua/common/async_connection.py delete mode 100644 opcua/ua/async_ua_binary.py diff --git a/examples/async_client.py b/examples/async_client.py index f21002bcd..741743170 100644 --- a/examples/async_client.py +++ b/examples/async_client.py @@ -2,28 +2,31 @@ import asyncio import logging -from opcua.client.async_client import AsyncClient +from opcua.client.client import Client +from opcua import ua logging.basicConfig(level=logging.INFO) _logger = logging.getLogger('opcua') +OBJECTS_AND_VARIABLES = ua.NodeClass.Object | ua.NodeClass.Variable async def browse_nodes(node, level=0): - node_class = node.get_node_class() + node_class = await node.get_node_class() + children = [] + for child in await node.get_children(nodeclassmask=OBJECTS_AND_VARIABLES): + children.append(await browse_nodes(child, level=level + 1)) return { 'id': node.nodeid.to_string(), - 'name': node.get_display_name().Text.decode('utf8'), + 'name': (await node.get_display_name()).Text, 'cls': node_class.value, - 'children': [ - browse_nodes(child, level=level + 1) for child in node.get_children(nodeclassmask=objects_and_variables) - ], - 'type': node.get_data_type_as_variant_type().value if node_class == ua.NodeClass.Variable else None, + 'children': children, + 'type': (await node.get_data_type_as_variant_type()).value if node_class == ua.NodeClass.Variable else None, } async def task(loop): try: - client = AsyncClient(url='opc.tcp://commsvr.com:51234/UA/CAS_UA_Server') + client = Client(url='opc.tcp://commsvr.com:51234/UA/CAS_UA_Server') await client.connect() obj_node = client.get_objects_node() _logger.info('Objects Node: %r', obj_node) diff --git a/opcua/client/async_client.py b/opcua/client/async_client.py deleted file mode 100644 index 8e6093681..000000000 --- a/opcua/client/async_client.py +++ /dev/null @@ -1,558 +0,0 @@ -import asyncio -import logging -from urllib.parse import urlparse - -from opcua import ua -from opcua.client.async_ua_client import UaClient -from opcua.common.xmlimporter import XmlImporter -from opcua.common.xmlexporter import XmlExporter -from opcua.common.node import Node -from opcua.common.manage_nodes import delete_nodes -from opcua.common.subscription import Subscription -from opcua.common import utils -from opcua.crypto import security_policies -from opcua.common.shortcuts import Shortcuts -from opcua.common.structures import load_type_definitions - -use_crypto = True -try: - from opcua.crypto import uacrypto -except ImportError: - logging.getLogger(__name__).warning("cryptography is not installed, use of crypto disabled") - use_crypto = False - - -class KeepAlive: - """ - Used by Client to keep the session open. - OPCUA defines timeout both for sessions and secure channel - ToDo: remove - """ - - def __init__(self, client, timeout): - """ - :param session_timeout: Timeout to re-new the session - in milliseconds. - """ - self.logger = logging.getLogger(__name__) - self.loop = asyncio.get_event_loop() - self.client = client - self._do_stop = False - self._cond = Condition() - self.timeout = timeout - - # some server support no timeout, but we do not trust them - if self.timeout == 0: - self.timeout = 3600000 # 1 hour - - def run(self): - self.logger.debug("starting keepalive thread with period of %s milliseconds", self.timeout) - server_state = self.client.get_node(ua.FourByteNodeId(ua.ObjectIds.Server_ServerStatus_State)) - while not self._do_stop: - with self._cond: - self._cond.wait(self.timeout / 1000) - if self._do_stop: - break - self.logger.debug("renewing channel") - self.client.open_secure_channel(renew=True) - val = server_state.get_value() - self.logger.debug("server state is: %s ", val) - self.logger.debug("keepalive thread has stopped") - - def stop(self): - self.logger.debug("stoping keepalive thread") - self._do_stop = True - with self._cond: - self._cond.notify_all() - - -class AsyncClient(object): - """ - High level client to connect to an OPC-UA server. - - This class makes it easy to connect and browse address space. - It attempts to expose as much functionality as possible - but if you want more flexibility it is possible and advised to - use UaClient object, available as self.uaclient - which offers the raw OPC-UA services interface. - """ - - def __init__(self, url, timeout=4): - """ - - :param url: url of the server. - if you are unsure of url, write at least hostname - and port and call get_endpoints - - :param timeout: - Each request sent to the server expects an answer within this - time. The timeout is specified in seconds. - """ - self.logger = logging.getLogger(__name__) - self.server_url = urlparse(url) - # take initial username and password from the url - self._username = self.server_url.username - self._password = self.server_url.password - self.name = "Pure Python Async. Client" - self.description = self.name - self.application_uri = "urn:freeopcua:client" - self.product_uri = "urn:freeopcua.github.no:client" - self.security_policy = ua.SecurityPolicy() - self.secure_channel_id = None - self.secure_channel_timeout = 3600000 # 1 hour - self.session_timeout = 3600000 # 1 hour - self._policy_ids = [] - self.uaclient = UaClient(timeout) - self.user_certificate = None - self.user_private_key = None - self._server_nonce = None - self._session_counter = 1 - self.keepalive = None - self.nodes = Shortcuts(self.uaclient) - self.max_messagesize = 0 # No limits - self.max_chunkcount = 0 # No limits - - async def __aenter__(self): - await self.connect() - return self - - async def __aexit__(self, exc_type, exc_value, traceback): - self.disconnect() - - @staticmethod - def find_endpoint(endpoints, security_mode, policy_uri): - """ - Find endpoint with required security mode and policy URI - """ - for ep in endpoints: - if (ep.EndpointUrl.startswith(ua.OPC_TCP_SCHEME) and - ep.SecurityMode == security_mode and - ep.SecurityPolicyUri == policy_uri): - return ep - raise ua.UaError("No matching endpoints: {0}, {1}".format(security_mode, policy_uri)) - - def set_user(self, username): - """ - Set user name for the connection. - initial user from the URL will be overwritten - """ - self._username = username - - def set_password(self, pwd): - """ - Set user password for the connection. - initial password from the URL will be overwritten - """ - self._password = pwd - - def set_security_string(self, string): - """ - Set SecureConnection mode. String format: - Policy,Mode,certificate,private_key[,server_private_key] - where Policy is Basic128Rsa15 or Basic256, - Mode is Sign or SignAndEncrypt - certificate, private_key and server_private_key are - paths to .pem or .der files - Call this before connect() - """ - if not string: - return - parts = string.split(',') - if len(parts) < 4: - raise ua.UaError('Wrong format: `{0}`, expected at least 4 comma-separated values'.format(string)) - policy_class = getattr(security_policies, 'SecurityPolicy' + parts[0]) - mode = getattr(ua.MessageSecurityMode, parts[1]) - return self.set_security( - policy_class, parts[2], parts[3], parts[4] if len(parts) >= 5 else None, mode - ) - - async def set_security(self, policy, certificate_path, private_key_path, - server_certificate_path=None, mode=ua.MessageSecurityMode.SignAndEncrypt): - """ - Set SecureConnection mode. - Call this before connect() - """ - if server_certificate_path is None: - # load certificate from server's list of endpoints - endpoints = await self.connect_and_get_server_endpoints() - endpoint = AsyncClient.find_endpoint(endpoints, mode, policy.URI) - server_cert = uacrypto.x509_from_der(endpoint.ServerCertificate) - else: - server_cert = uacrypto.load_certificate(server_certificate_path) - cert = uacrypto.load_certificate(certificate_path) - pk = uacrypto.load_private_key(private_key_path) - self.security_policy = policy(server_cert, cert, pk, mode) - self.uaclient.set_security(self.security_policy) - - def load_client_certificate(self, path): - """ - load our certificate from file, either pem or der - """ - self.user_certificate = uacrypto.load_certificate(path) - - def load_private_key(self, path): - """ - Load user private key. This is used for authenticating using certificate - """ - self.user_private_key = uacrypto.load_private_key(path) - - async def connect_and_get_server_endpoints(self): - """ - Connect, ask server for endpoints, and disconnect - """ - await self.connect_socket() - await self.send_hello() - await self.open_secure_channel() - endpoints = await self.get_endpoints() - await self.close_secure_channel() - self.disconnect_socket() - return endpoints - - async def connect_and_find_servers(self): - """ - Connect, ask server for a list of known servers, and disconnect - """ - await self.connect_socket() - await self.send_hello() - await self.open_secure_channel() # spec says it should not be necessary to open channel - servers = await self.find_servers() - await self.close_secure_channel() - self.disconnect_socket() - return servers - - async def connect_and_find_servers_on_network(self): - """ - Connect, ask server for a list of known servers on network, and disconnect - """ - await self.connect_socket() - await self.send_hello() - await self.open_secure_channel() - servers = await self.find_servers_on_network() - await self.close_secure_channel() - self.disconnect_socket() - return servers - - async def connect(self): - """ - High level method - Connect, create and activate session - """ - await self.connect_socket() - await self.send_hello() - await self.open_secure_channel() - await self.create_session() - await self.activate_session(username=self._username, password=self._password, certificate=self.user_certificate) - - async def disconnect(self): - """ - High level method - Close session, secure channel and socket - """ - try: - await self.close_session() - await self.close_secure_channel() - finally: - self.disconnect_socket() - - async def connect_socket(self): - """ - connect to socket defined in url - """ - await self.uaclient.connect_socket(self.server_url.hostname, self.server_url.port) - - def disconnect_socket(self): - self.uaclient.disconnect_socket() - - async def send_hello(self): - """ - Send OPC-UA hello to server - """ - ack = await self.uaclient.send_hello(self.server_url.geturl(), self.max_messagesize, self.max_chunkcount) - # FIXME check ack - - async def open_secure_channel(self, renew=False): - """ - Open secure channel, if renew is True, renew channel - """ - params = ua.OpenSecureChannelParameters() - params.ClientProtocolVersion = 0 - params.RequestType = ua.SecurityTokenRequestType.Issue - if renew: - params.RequestType = ua.SecurityTokenRequestType.Renew - params.SecurityMode = self.security_policy.Mode - params.RequestedLifetime = self.secure_channel_timeout - # length should be equal to the length of key of symmetric encryption - nonce = utils.create_nonce(self.security_policy.symmetric_key_size) - params.ClientNonce = nonce # this nonce is used to create a symmetric key - result = await self.uaclient.open_secure_channel(params) - self.security_policy.make_symmetric_key(nonce, result.ServerNonce) - self.secure_channel_timeout = result.SecurityToken.RevisedLifetime - - async def close_secure_channel(self): - return await self.uaclient.close_secure_channel() - - async def get_endpoints(self): - params = ua.GetEndpointsParameters() - params.EndpointUrl = self.server_url.geturl() - return await self.uaclient.get_endpoints(params) - - async def register_server(self, server, discovery_configuration=None): - """ - register a server to discovery server - if discovery_configuration is provided, the newer register_server2 service call is used - """ - serv = ua.RegisteredServer() - serv.ServerUri = server.application_uri - serv.ProductUri = server.product_uri - serv.DiscoveryUrls = [server.endpoint.geturl()] - serv.ServerType = server.application_type - serv.ServerNames = [ua.LocalizedText(server.name)] - serv.IsOnline = True - if discovery_configuration: - params = ua.RegisterServer2Parameters() - params.Server = serv - params.DiscoveryConfiguration = discovery_configuration - return await self.uaclient.register_server2(params) - else: - return await self.uaclient.register_server(serv) - - async def find_servers(self, uris=None): - """ - send a FindServer request to the server. The answer should be a list of - servers the server knows about - A list of uris can be provided, only server having matching uris will be returned - """ - if uris is None: - uris = [] - params = ua.FindServersParameters() - params.EndpointUrl = self.server_url.geturl() - params.ServerUris = uris - return await self.uaclient.find_servers(params) - - async def find_servers_on_network(self): - params = ua.FindServersOnNetworkParameters() - return await self.uaclient.find_servers_on_network(params) - - async def create_session(self): - """ - send a CreateSessionRequest to server with reasonable parameters. - If you want o modify settings look at code of this methods - and make your own - """ - desc = ua.ApplicationDescription() - desc.ApplicationUri = self.application_uri - desc.ProductUri = self.product_uri - desc.ApplicationName = ua.LocalizedText(self.name) - desc.ApplicationType = ua.ApplicationType.Client - - params = ua.CreateSessionParameters() - # at least 32 random bytes for server to prove possession of private key (specs part 4, 5.6.2.2) - nonce = utils.create_nonce(32) - params.ClientNonce = nonce - params.ClientCertificate = self.security_policy.client_certificate - params.ClientDescription = desc - params.EndpointUrl = self.server_url.geturl() - params.SessionName = self.description + " Session" + str(self._session_counter) - params.RequestedSessionTimeout = 3600000 - params.MaxResponseMessageSize = 0 # means no max size - response = await self.uaclient.create_session(params) - if self.security_policy.client_certificate is None: - data = nonce - else: - data = self.security_policy.client_certificate + nonce - self.security_policy.asymmetric_cryptography.verify(data, response.ServerSignature.Signature) - self._server_nonce = response.ServerNonce - if not self.security_policy.server_certificate: - self.security_policy.server_certificate = response.ServerCertificate - elif self.security_policy.server_certificate != response.ServerCertificate: - raise ua.UaError("Server certificate mismatch") - # remember PolicyId's: we will use them in activate_session() - ep = AsyncClient.find_endpoint(response.ServerEndpoints, self.security_policy.Mode, self.security_policy.URI) - self._policy_ids = ep.UserIdentityTokens - self.session_timeout = response.RevisedSessionTimeout - # 0.7 is from spec - # ToDo: refactor with callback_later - # self.keepalive = KeepAlive(self, min(self.session_timeout, self.secure_channel_timeout) * 0.7) - # self.keepalive.start() - return response - - def server_policy_id(self, token_type, default): - """ - Find PolicyId of server's UserTokenPolicy by token_type. - Return default if there's no matching UserTokenPolicy. - """ - for policy in self._policy_ids: - if policy.TokenType == token_type: - return policy.PolicyId - return default - - def server_policy_uri(self, token_type): - """ - Find SecurityPolicyUri of server's UserTokenPolicy by token_type. - If SecurityPolicyUri is empty, use default SecurityPolicyUri - of the endpoint - """ - for policy in self._policy_ids: - if policy.TokenType == token_type: - if policy.SecurityPolicyUri: - return policy.SecurityPolicyUri - else: # empty URI means "use this endpoint's policy URI" - return self.security_policy.URI - return self.security_policy.URI - - async def activate_session(self, username=None, password=None, certificate=None): - """ - Activate session using either username and password or private_key - """ - params = ua.ActivateSessionParameters() - challenge = b"" - if self.security_policy.server_certificate is not None: - challenge += self.security_policy.server_certificate - if self._server_nonce is not None: - challenge += self._server_nonce - params.ClientSignature.Algorithm = "http://www.w3.org/2000/09/xmldsig#rsa-sha1" - params.ClientSignature.Signature = self.security_policy.asymmetric_cryptography.signature(challenge) - params.LocaleIds.append("en") - if not username and not certificate: - self._add_anonymous_auth(params) - elif certificate: - self._add_certificate_auth(params, certificate, challenge) - else: - self._add_user_auth(params, username, password) - return await self.uaclient.activate_session(params) - - def _add_anonymous_auth(self, params): - params.UserIdentityToken = ua.AnonymousIdentityToken() - params.UserIdentityToken.PolicyId = self.server_policy_id(ua.UserTokenType.Anonymous, b"anonymous") - - def _add_certificate_auth(self, params, certificate, challenge): - params.UserIdentityToken = ua.X509IdentityToken() - params.UserIdentityToken.PolicyId = self.server_policy_id(ua.UserTokenType.Certificate, b"certificate_basic256") - params.UserIdentityToken.CertificateData = uacrypto.der_from_x509(certificate) - # specs part 4, 5.6.3.1: the data to sign is created by appending - # the last serverNonce to the serverCertificate - sig = uacrypto.sign_sha1(self.user_private_key, challenge) - params.UserTokenSignature = ua.SignatureData() - params.UserTokenSignature.Algorithm = "http://www.w3.org/2000/09/xmldsig#rsa-sha1" - params.UserTokenSignature.Signature = sig - - def _add_user_auth(self, params, username, password): - params.UserIdentityToken = ua.UserNameIdentityToken() - params.UserIdentityToken.UserName = username - policy_uri = self.server_policy_uri(ua.UserTokenType.UserName) - if not policy_uri or policy_uri == security_policies.POLICY_NONE_URI: - # see specs part 4, 7.36.3: if the token is NOT encrypted, - # then the password only contains UTF-8 encoded password - # and EncryptionAlgorithm is null - if self._password: - self.logger.warning("Sending plain-text password") - params.UserIdentityToken.Password = password - params.UserIdentityToken.EncryptionAlgorithm = None - elif self._password: - data, uri = self._encrypt_password(password, policy_uri) - params.UserIdentityToken.Password = data - params.UserIdentityToken.EncryptionAlgorithm = uri - params.UserIdentityToken.PolicyId = self.server_policy_id(ua.UserTokenType.UserName, b"username_basic256") - - def _encrypt_password(self, password, policy_uri): - pubkey = uacrypto.x509_from_der(self.security_policy.server_certificate).public_key() - # see specs part 4, 7.36.3: if the token is encrypted, password - # shall be converted to UTF-8 and serialized with server nonce - passwd = password.encode("utf8") - if self._server_nonce is not None: - passwd += self._server_nonce - etoken = ua.ua_binary.Primitives.Bytes.pack(passwd) - data, uri = security_policies.encrypt_asymmetric(pubkey, etoken, policy_uri) - return data, uri - - async def close_session(self): - """ - Close session - """ - if self.keepalive: - self.keepalive.stop() - return await self.uaclient.close_session(True) - - def get_root_node(self): - return self.get_node(ua.TwoByteNodeId(ua.ObjectIds.RootFolder)) - - def get_objects_node(self): - return self.get_node(ua.TwoByteNodeId(ua.ObjectIds.ObjectsFolder)) - - def get_server_node(self): - return self.get_node(ua.FourByteNodeId(ua.ObjectIds.Server)) - - def get_node(self, nodeid): - """ - Get node using NodeId object or a string representing a NodeId - """ - return Node(self.uaclient, nodeid) - - def create_subscription(self, period, handler): - """ - Create a subscription. - returns a Subscription object which allow - to subscribe to events or data on server - handler argument is a class with data_change and/or event methods. - period argument is either a publishing interval in milliseconds or a - CreateSubscriptionParameters instance. The second option should be used, - if the opcua-server has problems with the default options. - These methods will be called when notfication from server are received. - See example-client.py. - Do not do expensive/slow or network operation from these methods - since they are called directly from receiving thread. This is a design choice, - start another thread if you need to do such a thing. - """ - - if isinstance(period, ua.CreateSubscriptionParameters): - return Subscription(self.uaclient, period, handler) - params = ua.CreateSubscriptionParameters() - params.RequestedPublishingInterval = period - params.RequestedLifetimeCount = 10000 - params.RequestedMaxKeepAliveCount = 3000 - params.MaxNotificationsPerPublish = 10000 - params.PublishingEnabled = True - params.Priority = 0 - return Subscription(self.uaclient, params, handler) - - def get_namespace_array(self): - ns_node = self.get_node(ua.NodeId(ua.ObjectIds.Server_NamespaceArray)) - return ns_node.get_value() - - def get_namespace_index(self, uri): - uries = self.get_namespace_array() - return uries.index(uri) - - def delete_nodes(self, nodes, recursive=False): - return delete_nodes(self.uaclient, nodes, recursive) - - def import_xml(self, path): - """ - Import nodes defined in xml - """ - importer = XmlImporter(self) - return importer.import_xml(path) - - def export_xml(self, nodes, path): - """ - Export defined nodes to xml - """ - exp = XmlExporter(self) - exp.build_etree(nodes) - return exp.write_xml(path) - - def register_namespace(self, uri): - """ - Register a new namespace. Nodes should in custom namespace, not 0. - This method is mainly implemented for symetry with server - """ - ns_node = self.get_node(ua.NodeId(ua.ObjectIds.Server_NamespaceArray)) - uries = ns_node.get_value() - if uri in uries: - return uries.index(uri) - uries.append(uri) - ns_node.set_value(uries) - return len(uries) - 1 - - def load_type_definitions(self, nodes=None): - return load_type_definitions(self, nodes) diff --git a/opcua/client/async_ua_client.py b/opcua/client/async_ua_client.py deleted file mode 100644 index f520ea4c8..000000000 --- a/opcua/client/async_ua_client.py +++ /dev/null @@ -1,566 +0,0 @@ -""" -Low level binary client -""" -import asyncio -import logging -from functools import partial - -from opcua import ua -from opcua.ua.ua_binary import struct_from_binary, uatcp_to_binary, struct_to_binary, nodeid_from_binary -from opcua.ua.uaerrors import UaError, BadTimeout, BadNoSubscription, BadSessionClosed -from opcua.common.async_connection import AsyncSecureConnection - - -class UASocketProtocol(asyncio.Protocol): - """ - Handle socket connection and send ua messages. - Timeout is the timeout used while waiting for an ua answer from server. - """ - - def __init__(self, timeout=1, security_policy=ua.SecurityPolicy()): - self.logger = logging.getLogger(__name__ + ".Socket") - self.loop = asyncio.get_event_loop() - self.transport = None - self.receive_buffer = asyncio.Queue() - self.is_receiving = False - self.timeout = timeout - self.authentication_token = ua.NodeId() - self._request_id = 0 - self._request_handle = 0 - self._callbackmap = {} - self._connection = AsyncSecureConnection(security_policy) - self._leftover_chunk = None - - def connection_made(self, transport): - self.transport = transport - - def connection_lost(self, exc): - self.logger.info("Socket has closed connection") - self.transport = None - - def data_received(self, data): - self.receive_buffer.put_nowait(data) - if not self.is_receiving: - self.is_receiving = True - self.loop.create_task(self._receive()) - - async def read(self, size): - """Receive up to size bytes from socket.""" - data = b'' - self.logger.debug('read %s bytes from socket', size) - while size > 0: - self.logger.debug('data is now %s, waiting for %s bytes', len(data), size) - # ToDo: abort on timeout, socket close - # raise SocketClosedException("Server socket has closed") - if self._leftover_chunk: - self.logger.debug('leftover bytes %s', len(self._leftover_chunk)) - # use leftover chunk first - chunk = self._leftover_chunk - self._leftover_chunk = None - else: - chunk = await self.receive_buffer.get() - self.logger.debug('got chunk %s needed_length is %s', len(chunk), size) - if len(chunk) <= size: - _chunk = chunk - else: - # chunk is too big - _chunk = chunk[:size] - self._leftover_chunk = chunk[size:] - data += _chunk - size -= len(_chunk) - return data - - def _send_request(self, request, callback=None, timeout=1000, message_type=ua.MessageType.SecureMessage): - """ - Send request to server, lower-level method. - Timeout is the timeout written in ua header. - Returns future - """ - request.RequestHeader = self._create_request_header(timeout) - self.logger.debug("Sending: %s", request) - try: - binreq = struct_to_binary(request) - except: - # reset request handle if any error - # see self._create_request_header - self._request_handle -= 1 - raise - self._request_id += 1 - future = asyncio.Future() - if callback: - future.add_done_callback(callback) - self._callbackmap[self._request_id] = future - msg = self._connection.message_to_binary(binreq, message_type=message_type, request_id=self._request_id) - self.transport.write(msg) - return future - - async def send_request(self, request, callback=None, timeout=1000, message_type=ua.MessageType.SecureMessage): - """ - Send a request to the server. - Timeout is the timeout written in ua header. - Returns response object if no callback is provided. - """ - future = self._send_request(request, callback, timeout, message_type) - if not callback: - await asyncio.wait_for(future, self.timeout) - data = future.result() - self.check_answer(data, " in response to " + request.__class__.__name__) - return data - - def check_answer(self, data, context): - data = data.copy() - typeid = nodeid_from_binary(data) - if typeid == ua.FourByteNodeId(ua.ObjectIds.ServiceFault_Encoding_DefaultBinary): - self.logger.warning("ServiceFault from server received %s", context) - hdr = struct_from_binary(ua.ResponseHeader, data) - hdr.ServiceResult.check() - return False - return True - - async def _receive(self): - msg = await self._connection.receive_from_socket(self) - if msg is None: - pass - elif isinstance(msg, ua.Message): - self._call_callback(msg.request_id(), msg.body()) - elif isinstance(msg, ua.Acknowledge): - self._call_callback(0, msg) - elif isinstance(msg, ua.ErrorMessage): - self.logger.warning("Received an error: %s", msg) - else: - raise ua.UaError("Unsupported message type: %s", msg) - if self._leftover_chunk or not self.receive_buffer.empty(): - # keep receiving - self.loop.create_task(self._receive()) - else: - self.is_receiving = False - - def _call_callback(self, request_id, body): - future = self._callbackmap.pop(request_id, None) - if future is None: - raise ua.UaError("No future object found for request: {0}, callbacks in list are {1}".format( - request_id, self._callbackmap.keys())) - future.set_result(body) - - def _create_request_header(self, timeout=1000): - hdr = ua.RequestHeader() - hdr.AuthenticationToken = self.authentication_token - self._request_handle += 1 - hdr.RequestHandle = self._request_handle - hdr.TimeoutHint = timeout - return hdr - - def disconnect_socket(self): - self.logger.info("stop request") - self.transport.close() - - async def send_hello(self, url, max_messagesize=0, max_chunkcount=0): - hello = ua.Hello() - hello.EndpointUrl = url - hello.MaxMessageSize = max_messagesize - hello.MaxChunkCount = max_chunkcount - future = asyncio.Future() - self._callbackmap[0] = future - binmsg = uatcp_to_binary(ua.MessageType.Hello, hello) - self.transport.write(binmsg) - await asyncio.wait_for(future, self.timeout) - ack = future.result() - return ack - - async def open_secure_channel(self, params): - self.logger.info("open_secure_channel") - request = ua.OpenSecureChannelRequest() - request.Parameters = params - future = self._send_request(request, message_type=ua.MessageType.SecureOpen) - await asyncio.wait_for(future, self.timeout) - result = future.result() - # FIXME: we have a race condition here - # we can get a packet with the new token id before we reach to store it.. - response = struct_from_binary(ua.OpenSecureChannelResponse, result) - response.ResponseHeader.ServiceResult.check() - self._connection.set_channel(response.Parameters) - return response.Parameters - - async def close_secure_channel(self): - """ - Close secure channel. - It seems to trigger a shutdown of socket in most servers, so be prepare to reconnect. - OPC UA specs Part 6, 7.1.4 say that Server does not send a CloseSecureChannel response - and should just close socket. - """ - self.logger.info("close_secure_channel") - request = ua.CloseSecureChannelRequest() - future = self._send_request(request, message_type=ua.MessageType.SecureClose) - # don't expect any more answers - future.cancel() - self._callbackmap.clear() - # some servers send a response here, most do not ... so we ignore - - -class UaClient: - """ - low level OPC-UA client. - - It implements (almost) all methods defined in opcua spec - taking in argument the structures defined in opcua spec. - - In this Python implementation most of the structures are defined in - uaprotocol_auto.py and uaprotocol_hand.py available under opcua.ua - """ - - def __init__(self, timeout=1): - self.logger = logging.getLogger(__name__) - self.loop = asyncio.get_event_loop() - self._publish_callbacks = {} - self._timeout = timeout - self.security_policy = ua.SecurityPolicy() - self.protocol = None - - def set_security(self, policy): - self.security_policy = policy - - def _make_protocol(self): - self.protocol = UASocketProtocol(self._timeout, security_policy=self.security_policy) - return self.protocol - - async def connect_socket(self, host, port): - """Connect to server socket.""" - self.logger.info("opening connection") - # nodelay ncessary to avoid packing in one frame, some servers do not like it - # ToDo: TCP_NODELAY is set by default, but only since 3.6 - await self.loop.create_connection(self._make_protocol, host, port) - - def disconnect_socket(self): - return self.protocol.disconnect_socket() - - async def send_hello(self, url, max_messagesize=0, max_chunkcount=0): - await self.protocol.send_hello(url, max_messagesize, max_chunkcount) - - async def open_secure_channel(self, params): - return await self.protocol.open_secure_channel(params) - - async def close_secure_channel(self): - """ - close secure channel. It seems to trigger a shutdown of socket - in most servers, so be prepare to reconnect - """ - return await self.protocol.close_secure_channel() - - async def create_session(self, parameters): - self.logger.info("create_session") - request = ua.CreateSessionRequest() - request.Parameters = parameters - data = await self.protocol.send_request(request) - response = struct_from_binary(ua.CreateSessionResponse, data) - self.logger.debug(response) - response.ResponseHeader.ServiceResult.check() - self.protocol.authentication_token = response.Parameters.AuthenticationToken - return response.Parameters - - async def activate_session(self, parameters): - self.logger.info("activate_session") - request = ua.ActivateSessionRequest() - request.Parameters = parameters - data = await self.protocol.send_request(request) - response = struct_from_binary(ua.ActivateSessionResponse, data) - self.logger.debug(response) - response.ResponseHeader.ServiceResult.check() - return response.Parameters - - async def close_session(self, delete_subscriptions): - self.logger.info("close_session") - request = ua.CloseSessionRequest() - request.DeleteSubscriptions = delete_subscriptions - data = await self.protocol.send_request(request) - response = struct_from_binary(ua.CloseSessionResponse, data) - try: - response.ResponseHeader.ServiceResult.check() - except BadSessionClosed: - # Problem: closing the session with open publish requests leads to BadSessionClosed responses - # we can just ignore it therefore. - # Alternatively we could make sure that there are no publish requests in flight when - # closing the session. - pass - - async def browse(self, parameters): - self.logger.info("browse") - request = ua.BrowseRequest() - request.Parameters = parameters - data = await self.protocol.send_request(request) - response = struct_from_binary(ua.BrowseResponse, data) - self.logger.debug(response) - response.ResponseHeader.ServiceResult.check() - return response.Results - - async def browse_next(self, parameters): - self.logger.info("browse next") - request = ua.BrowseNextRequest() - request.Parameters = parameters - data = await self.protocol.send_request(request) - response = struct_from_binary(ua.BrowseNextResponse, data) - self.logger.debug(response) - response.ResponseHeader.ServiceResult.check() - return response.Parameters.Results - - async def read(self, parameters): - self.logger.info("read") - request = ua.ReadRequest() - request.Parameters = parameters - data = await self.protocol.send_request(request) - response = struct_from_binary(ua.ReadResponse, data) - self.logger.debug(response) - response.ResponseHeader.ServiceResult.check() - # cast to Enum attributes that need to - for idx, rv in enumerate(parameters.NodesToRead): - if rv.AttributeId == ua.AttributeIds.NodeClass: - dv = response.Results[idx] - if dv.StatusCode.is_good(): - dv.Value.Value = ua.NodeClass(dv.Value.Value) - elif rv.AttributeId == ua.AttributeIds.ValueRank: - dv = response.Results[idx] - if dv.StatusCode.is_good() and dv.Value.Value in (-3, -2, -1, 0, 1, 2, 3, 4): - dv.Value.Value = ua.ValueRank(dv.Value.Value) - return response.Results - - async def write(self, params): - self.logger.info("read") - request = ua.WriteRequest() - request.Parameters = params - data = await self.protocol.send_request(request) - response = struct_from_binary(ua.WriteResponse, data) - self.logger.debug(response) - response.ResponseHeader.ServiceResult.check() - return response.Results - - async def get_endpoints(self, params): - self.logger.info("get_endpoint") - request = ua.GetEndpointsRequest() - request.Parameters = params - data = await self.protocol.send_request(request) - response = struct_from_binary(ua.GetEndpointsResponse, data) - self.logger.debug(response) - response.ResponseHeader.ServiceResult.check() - return response.Endpoints - - async def find_servers(self, params): - self.logger.info("find_servers") - request = ua.FindServersRequest() - request.Parameters = params - data = await self.protocol.send_request(request) - response = struct_from_binary(ua.FindServersResponse, data) - self.logger.debug(response) - response.ResponseHeader.ServiceResult.check() - return response.Servers - - async def find_servers_on_network(self, params): - self.logger.info("find_servers_on_network") - request = ua.FindServersOnNetworkRequest() - request.Parameters = params - data = await self.protocol.send_request(request) - response = struct_from_binary(ua.FindServersOnNetworkResponse, data) - self.logger.debug(response) - response.ResponseHeader.ServiceResult.check() - return response.Parameters - - async def register_server(self, registered_server): - self.logger.info("register_server") - request = ua.RegisterServerRequest() - request.Server = registered_server - data = await self.protocol.send_request(request) - response = struct_from_binary(ua.RegisterServerResponse, data) - self.logger.debug(response) - response.ResponseHeader.ServiceResult.check() - # nothing to return for this service - - async def register_server2(self, params): - self.logger.info("register_server2") - request = ua.RegisterServer2Request() - request.Parameters = params - data = await self.protocol.send_request(request) - response = struct_from_binary(ua.RegisterServer2Response, data) - self.logger.debug(response) - response.ResponseHeader.ServiceResult.check() - return response.ConfigurationResults - - async def translate_browsepaths_to_nodeids(self, browse_paths): - self.logger.info("translate_browsepath_to_nodeid") - request = ua.TranslateBrowsePathsToNodeIdsRequest() - request.Parameters.BrowsePaths = browse_paths - data = await self.protocol.send_request(request) - response = struct_from_binary(ua.TranslateBrowsePathsToNodeIdsResponse, data) - self.logger.debug(response) - response.ResponseHeader.ServiceResult.check() - return response.Results - - async def create_subscription(self, params, callback): - self.logger.info("create_subscription") - request = ua.CreateSubscriptionRequest() - request.Parameters = params - response = struct_from_binary( - ua.CreateSubscriptionResponse, - await self.protocol.send_request(request) - ) - self.logger.info("create subscription callback") - self.logger.debug(response) - response.ResponseHeader.ServiceResult.check() - self._publish_callbacks[response.Parameters.SubscriptionId] = callback - return response.Parameters - - async def delete_subscriptions(self, subscription_ids): - self.logger.info("delete_subscription") - request = ua.DeleteSubscriptionsRequest() - request.Parameters.SubscriptionIds = subscription_ids - response = struct_from_binary( - ua.DeleteSubscriptionsResponse, - await self.protocol.send_request(request) - ) - self.logger.info("delete subscriptions callback") - self.logger.debug(response) - response.ResponseHeader.ServiceResult.check() - for sid in subscription_ids: - self._publish_callbacks.pop(sid) - return response.Results - - async def publish(self, acks=None): - self.logger.info("publish") - if acks is None: - acks = [] - request = ua.PublishRequest() - request.Parameters.SubscriptionAcknowledgements = acks - data = await self.protocol.send_request(request, timeout=0) - # check if answer looks ok - try: - self.protocol.check_answer(data, "while waiting for publish response") - except BadTimeout: - # Spec Part 4, 7.28 - self.loop.create_task(self.publish()) - return - except BadNoSubscription: # Spec Part 5, 13.8.1 - # BadNoSubscription is expected after deleting the last subscription. - # - # We should therefore also check for len(self._publishcallbacks) == 0, but - # this gets us into trouble if a Publish response arrives before the - # DeleteSubscription response. - # - # We could remove the callback already when sending the DeleteSubscription request, - # but there are some legitimate reasons to keep them around, such as when the server - # responds with "BadTimeout" and we should try again later instead of just removing - # the subscription client-side. - # - # There are a variety of ways to act correctly, but the most practical solution seems - # to be to just ignore any BadNoSubscription responses. - self.logger.info("BadNoSubscription received, ignoring because it's probably valid.") - return - # parse publish response - try: - response = struct_from_binary(ua.PublishResponse, data) - self.logger.debug(response) - except Exception: - # INFO: catching the exception here might be obsolete because we already - # catch BadTimeout above. However, it's not really clear what this code - # does so it stays in, doesn't seem to hurt. - self.logger.exception("Error parsing notification from server") - # send publish request ot server so he does stop sending notifications - self.loop.create_task(self.publish([])) - return - # look for callback - try: - callback = self._publish_callbacks[response.Parameters.SubscriptionId] - except KeyError: - self.logger.warning("Received data for unknown subscription: %s ", response.Parameters.SubscriptionId) - return - # do callback - try: - callback(response.Parameters) - except Exception: - # we call client code, catch everything! - self.logger.exception("Exception while calling user callback: %s") - - async def create_monitored_items(self, params): - self.logger.info("create_monitored_items") - request = ua.CreateMonitoredItemsRequest() - request.Parameters = params - data = await self.protocol.send_request(request) - response = struct_from_binary(ua.CreateMonitoredItemsResponse, data) - self.logger.debug(response) - response.ResponseHeader.ServiceResult.check() - return response.Results - - async def delete_monitored_items(self, params): - self.logger.info("delete_monitored_items") - request = ua.DeleteMonitoredItemsRequest() - request.Parameters = params - data = await self.protocol.send_request(request) - response = struct_from_binary(ua.DeleteMonitoredItemsResponse, data) - self.logger.debug(response) - response.ResponseHeader.ServiceResult.check() - return response.Results - - async def add_nodes(self, nodestoadd): - self.logger.info("add_nodes") - request = ua.AddNodesRequest() - request.Parameters.NodesToAdd = nodestoadd - data = await self.protocol.send_request(request) - response = struct_from_binary(ua.AddNodesResponse, data) - self.logger.debug(response) - response.ResponseHeader.ServiceResult.check() - return response.Results - - async def add_references(self, refs): - self.logger.info("add_references") - request = ua.AddReferencesRequest() - request.Parameters.ReferencesToAdd = refs - data = await self.protocol.send_request(request) - response = struct_from_binary(ua.AddReferencesResponse, data) - self.logger.debug(response) - response.ResponseHeader.ServiceResult.check() - return response.Results - - async def delete_references(self, refs): - self.logger.info("delete") - request = ua.DeleteReferencesRequest() - request.Parameters.ReferencesToDelete = refs - data = await self.protocol.send_request(request) - response = struct_from_binary(ua.DeleteReferencesResponse, data) - self.logger.debug(response) - response.ResponseHeader.ServiceResult.check() - return response.Parameters.Results - - async def delete_nodes(self, params): - self.logger.info("delete_nodes") - request = ua.DeleteNodesRequest() - request.Parameters = params - data = await self.protocol.send_request(request) - response = struct_from_binary(ua.DeleteNodesResponse, data) - self.logger.debug(response) - response.ResponseHeader.ServiceResult.check() - return response.Results - - async def call(self, methodstocall): - request = ua.CallRequest() - request.Parameters.MethodsToCall = methodstocall - data = await self.protocol.send_request(request) - response = struct_from_binary(ua.CallResponse, data) - self.logger.debug(response) - response.ResponseHeader.ServiceResult.check() - return response.Results - - async def history_read(self, params): - self.logger.info("history_read") - request = ua.HistoryReadRequest() - request.Parameters = params - data = await self.protocol.send_request(request) - response = struct_from_binary(ua.HistoryReadResponse, data) - self.logger.debug(response) - response.ResponseHeader.ServiceResult.check() - return response.Results - - async def modify_monitored_items(self, params): - self.logger.info("modify_monitored_items") - request = ua.ModifyMonitoredItemsRequest() - request.Parameters = params - data = await self.protocol.send_request(request) - response = struct_from_binary(ua.ModifyMonitoredItemsResponse, data) - self.logger.debug(response) - response.ResponseHeader.ServiceResult.check() - return response.Results diff --git a/opcua/client/client.py b/opcua/client/client.py index 0a5e46156..f468ebec7 100644 --- a/opcua/client/client.py +++ b/opcua/client/client.py @@ -1,10 +1,6 @@ -from __future__ import division # support for python2 -from threading import Thread, Condition +import asyncio import logging -try: - from urllib.parse import urlparse -except ImportError: # support for python2 - from urlparse import urlparse +from urllib.parse import urlparse from opcua import ua from opcua.client.ua_client import UaClient @@ -14,22 +10,16 @@ from opcua.common.manage_nodes import delete_nodes from opcua.common.subscription import Subscription from opcua.common import utils -from opcua.crypto import security_policies from opcua.common.shortcuts import Shortcuts from opcua.common.structures import load_type_definitions -use_crypto = True -try: - from opcua.crypto import uacrypto -except ImportError: - logging.getLogger(__name__).warning("cryptography is not installed, use of crypto disabled") - use_crypto = False +from opcua.crypto import uacrypto, security_policies -class KeepAlive(Thread): - +class KeepAlive: """ Used by Client to keep the session open. OPCUA defines timeout both for sessions and secure channel + ToDo: remove """ def __init__(self, client, timeout): @@ -37,25 +27,24 @@ def __init__(self, client, timeout): :param session_timeout: Timeout to re-new the session in milliseconds. """ - Thread.__init__(self) self.logger = logging.getLogger(__name__) - + self.loop = asyncio.get_event_loop() self.client = client - self._dostop = False + self._do_stop = False self._cond = Condition() self.timeout = timeout # some server support no timeout, but we do not trust them if self.timeout == 0: - self.timeout = 3600000 # 1 hour + self.timeout = 3600000 # 1 hour def run(self): self.logger.debug("starting keepalive thread with period of %s milliseconds", self.timeout) server_state = self.client.get_node(ua.FourByteNodeId(ua.ObjectIds.Server_ServerStatus_State)) - while not self._dostop: + while not self._do_stop: with self._cond: self._cond.wait(self.timeout / 1000) - if self._dostop: + if self._do_stop: break self.logger.debug("renewing channel") self.client.open_secure_channel(renew=True) @@ -65,19 +54,18 @@ def run(self): def stop(self): self.logger.debug("stoping keepalive thread") - self._dostop = True + self._do_stop = True with self._cond: self._cond.notify_all() class Client(object): - """ High level client to connect to an OPC-UA server. This class makes it easy to connect and browse address space. - It attemps to expose as much functionality as possible - but if you want more flexibility it is possible and adviced to + It attempts to expose as much functionality as possible + but if you want more flexibility it is possible and advised to use UaClient object, available as self.uaclient which offers the raw OPC-UA services interface. """ @@ -95,17 +83,17 @@ def __init__(self, url, timeout=4): """ self.logger = logging.getLogger(__name__) self.server_url = urlparse(url) - #take initial username and password from the url + # take initial username and password from the url self._username = self.server_url.username self._password = self.server_url.password - self.name = "Pure Python Client" + self.name = "Pure Python Async. Client" self.description = self.name self.application_uri = "urn:freeopcua:client" self.product_uri = "urn:freeopcua.github.no:client" self.security_policy = ua.SecurityPolicy() self.secure_channel_id = None - self.secure_channel_timeout = 3600000 # 1 hour - self.session_timeout = 3600000 # 1 hour + self.secure_channel_timeout = 3600000 # 1 hour + self.session_timeout = 3600000 # 1 hour self._policy_ids = [] self.uaclient = UaClient(timeout) self.user_certificate = None @@ -114,15 +102,14 @@ def __init__(self, url, timeout=4): self._session_counter = 1 self.keepalive = None self.nodes = Shortcuts(self.uaclient) - self.max_messagesize = 0 # No limits - self.max_chunkcount = 0 # No limits + self.max_messagesize = 0 # No limits + self.max_chunkcount = 0 # No limits - - def __enter__(self): - self.connect() + async def __aenter__(self): + await self.connect() return self - def __exit__(self, exc_type, exc_value, traceback): + async def __aexit__(self, exc_type, exc_value, traceback): self.disconnect() @staticmethod @@ -135,7 +122,7 @@ def find_endpoint(endpoints, security_mode, policy_uri): ep.SecurityMode == security_mode and ep.SecurityPolicyUri == policy_uri): return ep - raise ua.UaError("No matching endpoints: {0}, {1}".format(security_mode, policy_uri)) + raise ua.UaError('No matching endpoints: {0}, {1}'.format(security_mode, policy_uri)) def set_user(self, username): """ @@ -149,9 +136,9 @@ def set_password(self, pwd): Set user password for the connection. initial password from the URL will be overwritten """ - self._password = pwd + self._password = pwd - def set_security_string(self, string): + async def set_security_string(self, string): """ Set SecureConnection mode. String format: Policy,Mode,certificate,private_key[,server_private_key] @@ -168,115 +155,115 @@ def set_security_string(self, string): raise ua.UaError('Wrong format: `{0}`, expected at least 4 comma-separated values'.format(string)) policy_class = getattr(security_policies, 'SecurityPolicy' + parts[0]) mode = getattr(ua.MessageSecurityMode, parts[1]) - return self.set_security(policy_class, parts[2], parts[3], - parts[4] if len(parts) >= 5 else None, mode) + return await self.set_security( + policy_class, parts[2], parts[3], parts[4] if len(parts) >= 5 else None, mode + ) - def set_security(self, policy, certificate_path, private_key_path, - server_certificate_path=None, - mode=ua.MessageSecurityMode.SignAndEncrypt): + async def set_security(self, policy, certificate_path, private_key_path, + server_certificate_path=None, mode=ua.MessageSecurityMode.SignAndEncrypt): """ Set SecureConnection mode. Call this before connect() """ if server_certificate_path is None: # load certificate from server's list of endpoints - endpoints = self.connect_and_get_server_endpoints() + endpoints = await self.connect_and_get_server_endpoints() endpoint = Client.find_endpoint(endpoints, mode, policy.URI) server_cert = uacrypto.x509_from_der(endpoint.ServerCertificate) else: - server_cert = uacrypto.load_certificate(server_certificate_path) - cert = uacrypto.load_certificate(certificate_path) - pk = uacrypto.load_private_key(private_key_path) + server_cert = await uacrypto.load_certificate(server_certificate_path) + cert = await uacrypto.load_certificate(certificate_path) + pk = await uacrypto.load_private_key(private_key_path) self.security_policy = policy(server_cert, cert, pk, mode) self.uaclient.set_security(self.security_policy) - def load_client_certificate(self, path): + async def load_client_certificate(self, path): """ load our certificate from file, either pem or der """ - self.user_certificate = uacrypto.load_certificate(path) + self.user_certificate = await uacrypto.load_certificate(path) - def load_private_key(self, path): + async def load_private_key(self, path): """ Load user private key. This is used for authenticating using certificate """ - self.user_private_key = uacrypto.load_private_key(path) + self.user_private_key = await uacrypto.load_private_key(path) - def connect_and_get_server_endpoints(self): + async def connect_and_get_server_endpoints(self): """ Connect, ask server for endpoints, and disconnect """ - self.connect_socket() - self.send_hello() - self.open_secure_channel() - endpoints = self.get_endpoints() - self.close_secure_channel() + await self.connect_socket() + await self.send_hello() + await self.open_secure_channel() + endpoints = await self.get_endpoints() + await self.close_secure_channel() self.disconnect_socket() return endpoints - def connect_and_find_servers(self): + async def connect_and_find_servers(self): """ Connect, ask server for a list of known servers, and disconnect """ - self.connect_socket() - self.send_hello() - self.open_secure_channel() # spec says it should not be necessary to open channel - servers = self.find_servers() - self.close_secure_channel() + await self.connect_socket() + await self.send_hello() + await self.open_secure_channel() # spec says it should not be necessary to open channel + servers = await self.find_servers() + await self.close_secure_channel() self.disconnect_socket() return servers - def connect_and_find_servers_on_network(self): + async def connect_and_find_servers_on_network(self): """ Connect, ask server for a list of known servers on network, and disconnect """ - self.connect_socket() - self.send_hello() - self.open_secure_channel() - servers = self.find_servers_on_network() - self.close_secure_channel() + await self.connect_socket() + await self.send_hello() + await self.open_secure_channel() + servers = await self.find_servers_on_network() + await self.close_secure_channel() self.disconnect_socket() return servers - def connect(self): + async def connect(self): """ High level method Connect, create and activate session """ - self.connect_socket() - self.send_hello() - self.open_secure_channel() - self.create_session() - self.activate_session(username=self._username, password=self._password, certificate=self.user_certificate) + await self.connect_socket() + await self.send_hello() + await self.open_secure_channel() + await self.create_session() + await self.activate_session(username=self._username, password=self._password, certificate=self.user_certificate) - def disconnect(self): + async def disconnect(self): """ High level method Close session, secure channel and socket """ try: - self.close_session() - self.close_secure_channel() + await self.close_session() + await self.close_secure_channel() finally: self.disconnect_socket() - def connect_socket(self): + async def connect_socket(self): """ connect to socket defined in url """ - self.uaclient.connect_socket(self.server_url.hostname, self.server_url.port) + await self.uaclient.connect_socket(self.server_url.hostname, self.server_url.port) def disconnect_socket(self): self.uaclient.disconnect_socket() - def send_hello(self): + async def send_hello(self): """ Send OPC-UA hello to server """ - ack = self.uaclient.send_hello(self.server_url.geturl(), self.max_messagesize, self.max_chunkcount) + ack = await self.uaclient.send_hello(self.server_url.geturl(), self.max_messagesize, self.max_chunkcount) # FIXME check ack - def open_secure_channel(self, renew=False): + async def open_secure_channel(self, renew=False): """ Open secure channel, if renew is True, renew channel """ @@ -287,21 +274,22 @@ def open_secure_channel(self, renew=False): params.RequestType = ua.SecurityTokenRequestType.Renew params.SecurityMode = self.security_policy.Mode params.RequestedLifetime = self.secure_channel_timeout - nonce = utils.create_nonce(self.security_policy.symmetric_key_size) # length should be equal to the length of key of symmetric encryption - params.ClientNonce = nonce # this nonce is used to create a symmetric key - result = self.uaclient.open_secure_channel(params) + # length should be equal to the length of key of symmetric encryption + nonce = utils.create_nonce(self.security_policy.symmetric_key_size) + params.ClientNonce = nonce # this nonce is used to create a symmetric key + result = await self.uaclient.open_secure_channel(params) self.security_policy.make_symmetric_key(nonce, result.ServerNonce) self.secure_channel_timeout = result.SecurityToken.RevisedLifetime - def close_secure_channel(self): - return self.uaclient.close_secure_channel() + async def close_secure_channel(self): + return await self.uaclient.close_secure_channel() - def get_endpoints(self): + async def get_endpoints(self): params = ua.GetEndpointsParameters() params.EndpointUrl = self.server_url.geturl() - return self.uaclient.get_endpoints(params) + return await self.uaclient.get_endpoints(params) - def register_server(self, server, discovery_configuration=None): + async def register_server(self, server, discovery_configuration=None): """ register a server to discovery server if discovery_configuration is provided, the newer register_server2 service call is used @@ -317,11 +305,11 @@ def register_server(self, server, discovery_configuration=None): params = ua.RegisterServer2Parameters() params.Server = serv params.DiscoveryConfiguration = discovery_configuration - return self.uaclient.register_server2(params) + return await self.uaclient.register_server2(params) else: - return self.uaclient.register_server(serv) + return await self.uaclient.register_server(serv) - def find_servers(self, uris=None): + async def find_servers(self, uris=None): """ send a FindServer request to the server. The answer should be a list of servers the server knows about @@ -332,13 +320,13 @@ def find_servers(self, uris=None): params = ua.FindServersParameters() params.EndpointUrl = self.server_url.geturl() params.ServerUris = uris - return self.uaclient.find_servers(params) + return await self.uaclient.find_servers(params) - def find_servers_on_network(self): + async def find_servers_on_network(self): params = ua.FindServersOnNetworkParameters() - return self.uaclient.find_servers_on_network(params) + return await self.uaclient.find_servers_on_network(params) - def create_session(self): + async def create_session(self): """ send a CreateSessionRequest to server with reasonable parameters. If you want o modify settings look at code of this methods @@ -351,7 +339,8 @@ def create_session(self): desc.ApplicationType = ua.ApplicationType.Client params = ua.CreateSessionParameters() - nonce = utils.create_nonce(32) # at least 32 random bytes for server to prove possession of private key (specs part 4, 5.6.2.2) + # at least 32 random bytes for server to prove possession of private key (specs part 4, 5.6.2.2) + nonce = utils.create_nonce(32) params.ClientNonce = nonce params.ClientCertificate = self.security_policy.client_certificate params.ClientDescription = desc @@ -359,7 +348,7 @@ def create_session(self): params.SessionName = self.description + " Session" + str(self._session_counter) params.RequestedSessionTimeout = 3600000 params.MaxResponseMessageSize = 0 # means no max size - response = self.uaclient.create_session(params) + response = await self.uaclient.create_session(params) if self.security_policy.client_certificate is None: data = nonce else: @@ -374,8 +363,10 @@ def create_session(self): ep = Client.find_endpoint(response.ServerEndpoints, self.security_policy.Mode, self.security_policy.URI) self._policy_ids = ep.UserIdentityTokens self.session_timeout = response.RevisedSessionTimeout - self.keepalive = KeepAlive(self, min(self.session_timeout, self.secure_channel_timeout) * 0.7) # 0.7 is from spec - self.keepalive.start() + # 0.7 is from spec + # ToDo: refactor with callback_later + # self.keepalive = KeepAlive(self, min(self.session_timeout, self.secure_channel_timeout) * 0.7) + # self.keepalive.start() return response def server_policy_id(self, token_type, default): @@ -398,11 +389,11 @@ def server_policy_uri(self, token_type): if policy.TokenType == token_type: if policy.SecurityPolicyUri: return policy.SecurityPolicyUri - else: # empty URI means "use this endpoint's policy URI" + else: # empty URI means "use this endpoint's policy URI" return self.security_policy.URI return self.security_policy.URI - def activate_session(self, username=None, password=None, certificate=None): + async def activate_session(self, username=None, password=None, certificate=None): """ Activate session using either username and password or private_key """ @@ -421,7 +412,7 @@ def activate_session(self, username=None, password=None, certificate=None): self._add_certificate_auth(params, certificate, challenge) else: self._add_user_auth(params, username, password) - return self.uaclient.activate_session(params) + return await self.uaclient.activate_session(params) def _add_anonymous_auth(self, params): params.UserIdentityToken = ua.AnonymousIdentityToken() @@ -467,13 +458,13 @@ def _encrypt_password(self, password, policy_uri): data, uri = security_policies.encrypt_asymmetric(pubkey, etoken, policy_uri) return data, uri - def close_session(self): + async def close_session(self): """ Close session """ if self.keepalive: self.keepalive.stop() - return self.uaclient.close_session(True) + return await self.uaclient.close_session(True) def get_root_node(self): return self.get_node(ua.TwoByteNodeId(ua.ObjectIds.RootFolder)) @@ -521,8 +512,8 @@ def get_namespace_array(self): ns_node = self.get_node(ua.NodeId(ua.ObjectIds.Server_NamespaceArray)) return ns_node.get_value() - def get_namespace_index(self, uri): - uries = self.get_namespace_array() + async def get_namespace_index(self, uri): + uries = await self.get_namespace_array() return uries.index(uri) def delete_nodes(self, nodes, recursive=False): @@ -543,20 +534,18 @@ def export_xml(self, nodes, path): exp.build_etree(nodes) return exp.write_xml(path) - def register_namespace(self, uri): + async def register_namespace(self, uri): """ Register a new namespace. Nodes should in custom namespace, not 0. This method is mainly implemented for symetry with server """ ns_node = self.get_node(ua.NodeId(ua.ObjectIds.Server_NamespaceArray)) - uries = ns_node.get_value() + uries = await ns_node.get_value() if uri in uries: return uries.index(uri) uries.append(uri) - ns_node.set_value(uries) + await ns_node.set_value(uries) return len(uries) - 1 def load_type_definitions(self, nodes=None): return load_type_definitions(self, nodes) - - diff --git a/opcua/client/ua_client.py b/opcua/client/ua_client.py index 3fc7c6faa..afae0b55b 100644 --- a/opcua/client/ua_client.py +++ b/opcua/client/ua_client.py @@ -1,11 +1,8 @@ """ Low level binary client """ - +import asyncio import logging -import socket -from threading import Thread, Lock -from concurrent.futures import Future from functools import partial from opcua import ua @@ -14,67 +11,99 @@ from opcua.common.connection import SecureConnection -class UASocketClient(object): +class UASocketProtocol(asyncio.Protocol): """ - handle socket connection and send ua messages - timeout is the timeout used while waiting for an ua answer from server + Handle socket connection and send ua messages. + Timeout is the timeout used while waiting for an ua answer from server. """ + def __init__(self, timeout=1, security_policy=ua.SecurityPolicy()): self.logger = logging.getLogger(__name__ + ".Socket") - self._thread = None - self._lock = Lock() + self.loop = asyncio.get_event_loop() + self.transport = None + self.receive_buffer = asyncio.Queue() + self.is_receiving = False self.timeout = timeout - self._socket = None - self._do_stop = False self.authentication_token = ua.NodeId() self._request_id = 0 self._request_handle = 0 self._callbackmap = {} self._connection = SecureConnection(security_policy) - - def start(self): - """ - Start receiving thread. - this is called automatically in connect and - should not be necessary to call directly - """ - self._thread = Thread(target=self._run) - self._thread.start() + self._leftover_chunk = None + + def connection_made(self, transport: asyncio.Transport): + self.transport = transport + + def connection_lost(self, exc): + self.logger.info("Socket has closed connection") + self.transport = None + + def data_received(self, data: bytes): + self.receive_buffer.put_nowait(data) + if not self.is_receiving: + self.is_receiving = True + self.loop.create_task(self._receive()) + + async def read(self, size: int): + """Receive up to size bytes from socket.""" + data = b'' + self.logger.debug('read %s bytes from socket', size) + while size > 0: + self.logger.debug('data is now %s, waiting for %s bytes', len(data), size) + # ToDo: abort on timeout, socket close + # raise SocketClosedException("Server socket has closed") + if self._leftover_chunk: + self.logger.debug('leftover bytes %s', len(self._leftover_chunk)) + # use leftover chunk first + chunk = self._leftover_chunk + self._leftover_chunk = None + else: + chunk = await self.receive_buffer.get() + self.logger.debug('got chunk %s needed_length is %s', len(chunk), size) + if len(chunk) <= size: + _chunk = chunk + else: + # chunk is too big + _chunk = chunk[:size] + self._leftover_chunk = chunk[size:] + data += _chunk + size -= len(_chunk) + return data def _send_request(self, request, callback=None, timeout=1000, message_type=ua.MessageType.SecureMessage): """ - send request to server, lower-level method - timeout is the timeout written in ua header - returns future + Send request to server, lower-level method. + Timeout is the timeout written in ua header. + Returns future """ - with self._lock: - request.RequestHeader = self._create_request_header(timeout) - self.logger.debug("Sending: %s", request) - try: - binreq = struct_to_binary(request) - except: - # reset reqeust handle if any error - # see self._create_request_header - self._request_handle -= 1 - raise - self._request_id += 1 - future = Future() - if callback: - future.add_done_callback(callback) - self._callbackmap[self._request_id] = future - msg = self._connection.message_to_binary(binreq, message_type=message_type, request_id=self._request_id) - self._socket.write(msg) + request.RequestHeader = self._create_request_header(timeout) + self.logger.debug("Sending: %s", request) + try: + binreq = struct_to_binary(request) + except Exception: + # reset request handle if any error + # see self._create_request_header + self._request_handle -= 1 + raise + self._request_id += 1 + future = asyncio.Future() + if callback: + future.add_done_callback(callback) + self._callbackmap[self._request_id] = future + msg = self._connection.message_to_binary(binreq, message_type=message_type, request_id=self._request_id) + self.transport.write(msg) return future - def send_request(self, request, callback=None, timeout=1000, message_type=ua.MessageType.SecureMessage): + async def send_request(self, request, callback=None, timeout=1000, message_type=ua.MessageType.SecureMessage): """ - send request to server. - timeout is the timeout written in ua header - returns response object if no callback is provided + Send a request to the server. + Timeout is the timeout written in ua header. + Returns response object if no callback is provided. """ future = self._send_request(request, callback, timeout, message_type) if not callback: - data = future.result(self.timeout) + await asyncio.wait_for(future, self.timeout) + data = future.result() self.check_answer(data, " in response to " + request.__class__.__name__) return data @@ -88,22 +117,10 @@ def check_answer(self, data, context): return False return True - def _run(self): - self.logger.info("Thread started") - while not self._do_stop: - try: - self._receive() - except ua.utils.SocketClosedException: - self.logger.info("Socket has closed connection") - break - except UaError: - self.logger.exception("Protocol Error") - self.logger.info("Thread ended") - - def _receive(self): - msg = self._connection.receive_from_socket(self._socket) + async def _receive(self): + msg = await self._connection.receive_from_socket(self) if msg is None: - return + pass elif isinstance(msg, ua.Message): self._call_callback(msg.request_id(), msg.body()) elif isinstance(msg, ua.Acknowledge): @@ -112,12 +129,17 @@ def _receive(self): self.logger.warning("Received an error: %s", msg) else: raise ua.UaError("Unsupported message type: %s", msg) + if self._leftover_chunk or not self.receive_buffer.empty(): + # keep receiving + self.loop.create_task(self._receive()) + else: + self.is_receiving = False def _call_callback(self, request_id, body): - with self._lock: - future = self._callbackmap.pop(request_id, None) - if future is None: - raise ua.UaError("No future object found for request: {0}, callbacks in list are {1}".format(request_id, self._callbackmap.keys())) + future = self._callbackmap.pop(request_id, None) + if future is None: + raise ua.UaError("No future object found for request: {0}, callbacks in list are {1}".format( + request_id, self._callbackmap.keys())) future.set_result(body) def _create_request_header(self, timeout=1000): @@ -128,67 +150,54 @@ def _create_request_header(self, timeout=1000): hdr.TimeoutHint = timeout return hdr - def connect_socket(self, host, port): - """ - connect to server socket and start receiving thread - """ - self.logger.info("opening connection") - sock = socket.create_connection((host, port)) - sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) # nodelay ncessary to avoid packing in one frame, some servers do not like it - self._socket = ua.utils.SocketWrapper(sock) - self.start() - def disconnect_socket(self): self.logger.info("stop request") - self._do_stop = True - self._socket.socket.shutdown(socket.SHUT_RDWR) - self._socket.socket.close() + self.transport.close() - def send_hello(self, url, max_messagesize = 0, max_chunkcount = 0): + async def send_hello(self, url, max_messagesize=0, max_chunkcount=0): hello = ua.Hello() hello.EndpointUrl = url hello.MaxMessageSize = max_messagesize hello.MaxChunkCount = max_chunkcount - future = Future() - with self._lock: - self._callbackmap[0] = future + future = asyncio.Future() + self._callbackmap[0] = future binmsg = uatcp_to_binary(ua.MessageType.Hello, hello) - self._socket.write(binmsg) - ack = future.result(self.timeout) + self.transport.write(binmsg) + await asyncio.wait_for(future, self.timeout) + ack = future.result() return ack - def open_secure_channel(self, params): + async def open_secure_channel(self, params): self.logger.info("open_secure_channel") request = ua.OpenSecureChannelRequest() request.Parameters = params future = self._send_request(request, message_type=ua.MessageType.SecureOpen) - + await asyncio.wait_for(future, self.timeout) + result = future.result() # FIXME: we have a race condition here # we can get a packet with the new token id before we reach to store it.. - response = struct_from_binary(ua.OpenSecureChannelResponse, future.result(self.timeout)) + response = struct_from_binary(ua.OpenSecureChannelResponse, result) response.ResponseHeader.ServiceResult.check() self._connection.set_channel(response.Parameters) return response.Parameters - def close_secure_channel(self): + async def close_secure_channel(self): """ - close secure channel. It seems to trigger a shutdown of socket - in most servers, so be prepare to reconnect. - OPC UA specs Part 6, 7.1.4 say that Server does not send a CloseSecureChannel response and should just close socket + Close secure channel. + It seems to trigger a shutdown of socket in most servers, so be prepare to reconnect. + OPC UA specs Part 6, 7.1.4 say that Server does not send a CloseSecureChannel response + and should just close socket. """ self.logger.info("close_secure_channel") request = ua.CloseSecureChannelRequest() future = self._send_request(request, message_type=ua.MessageType.SecureClose) - with self._lock: - # don't expect any more answers - future.cancel() - self._callbackmap.clear() - + # don't expect any more answers + future.cancel() + self._callbackmap.clear() # some servers send a response here, most do not ... so we ignore -class UaClient(object): - +class UaClient: """ low level OPC-UA client. @@ -201,64 +210,68 @@ class UaClient(object): def __init__(self, timeout=1): self.logger = logging.getLogger(__name__) - # _publishcallbacks should be accessed in recv thread only - self._publishcallbacks = {} + self.loop = asyncio.get_event_loop() + self._publish_callbacks = {} self._timeout = timeout - self._uasocket = None self.security_policy = ua.SecurityPolicy() + self.protocol = None def set_security(self, policy): self.security_policy = policy - def connect_socket(self, host, port): - """ - connect to server socket and start receiving thread - """ - self._uasocket = UASocketClient(self._timeout, security_policy=self.security_policy) - return self._uasocket.connect_socket(host, port) + def _make_protocol(self): + self.protocol = UASocketProtocol(self._timeout, security_policy=self.security_policy) + return self.protocol + + async def connect_socket(self, host, port): + """Connect to server socket.""" + self.logger.info("opening connection") + # nodelay ncessary to avoid packing in one frame, some servers do not like it + # ToDo: TCP_NODELAY is set by default, but only since 3.6 + await self.loop.create_connection(self._make_protocol, host, port) def disconnect_socket(self): - return self._uasocket.disconnect_socket() + return self.protocol.disconnect_socket() - def send_hello(self, url, max_messagesize = 0, max_chunkcount = 0): - return self._uasocket.send_hello(url, max_messagesize, max_chunkcount) + async def send_hello(self, url, max_messagesize=0, max_chunkcount=0): + await self.protocol.send_hello(url, max_messagesize, max_chunkcount) - def open_secure_channel(self, params): - return self._uasocket.open_secure_channel(params) + async def open_secure_channel(self, params): + return await self.protocol.open_secure_channel(params) - def close_secure_channel(self): + async def close_secure_channel(self): """ close secure channel. It seems to trigger a shutdown of socket in most servers, so be prepare to reconnect """ - return self._uasocket.close_secure_channel() + return await self.protocol.close_secure_channel() - def create_session(self, parameters): + async def create_session(self, parameters): self.logger.info("create_session") request = ua.CreateSessionRequest() request.Parameters = parameters - data = self._uasocket.send_request(request) + data = await self.protocol.send_request(request) response = struct_from_binary(ua.CreateSessionResponse, data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() - self._uasocket.authentication_token = response.Parameters.AuthenticationToken + self.protocol.authentication_token = response.Parameters.AuthenticationToken return response.Parameters - def activate_session(self, parameters): + async def activate_session(self, parameters): self.logger.info("activate_session") request = ua.ActivateSessionRequest() request.Parameters = parameters - data = self._uasocket.send_request(request) + data = await self.protocol.send_request(request) response = struct_from_binary(ua.ActivateSessionResponse, data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.Parameters - def close_session(self, deletesubscriptions): + async def close_session(self, delete_subscriptions): self.logger.info("close_session") request = ua.CloseSessionRequest() - request.DeleteSubscriptions = deletesubscriptions - data = self._uasocket.send_request(request) + request.DeleteSubscriptions = delete_subscriptions + data = await self.protocol.send_request(request) response = struct_from_binary(ua.CloseSessionResponse, data) try: response.ResponseHeader.ServiceResult.check() @@ -269,31 +282,31 @@ def close_session(self, deletesubscriptions): # closing the session. pass - def browse(self, parameters): + async def browse(self, parameters): self.logger.info("browse") request = ua.BrowseRequest() request.Parameters = parameters - data = self._uasocket.send_request(request) + data = await self.protocol.send_request(request) response = struct_from_binary(ua.BrowseResponse, data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.Results - def browse_next(self, parameters): + async def browse_next(self, parameters): self.logger.info("browse next") request = ua.BrowseNextRequest() request.Parameters = parameters - data = self._uasocket.send_request(request) + data = await self.protocol.send_request(request) response = struct_from_binary(ua.BrowseNextResponse, data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.Parameters.Results - def read(self, parameters): + async def read(self, parameters): self.logger.info("read") request = ua.ReadRequest() request.Parameters = parameters - data = self._uasocket.send_request(request) + data = await self.protocol.send_request(request) response = struct_from_binary(ua.ReadResponse, data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() @@ -309,132 +322,120 @@ def read(self, parameters): dv.Value.Value = ua.ValueRank(dv.Value.Value) return response.Results - def write(self, params): + async def write(self, params): self.logger.info("read") request = ua.WriteRequest() request.Parameters = params - data = self._uasocket.send_request(request) + data = await self.protocol.send_request(request) response = struct_from_binary(ua.WriteResponse, data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.Results - def get_endpoints(self, params): + async def get_endpoints(self, params): self.logger.info("get_endpoint") request = ua.GetEndpointsRequest() request.Parameters = params - data = self._uasocket.send_request(request) + data = await self.protocol.send_request(request) response = struct_from_binary(ua.GetEndpointsResponse, data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.Endpoints - def find_servers(self, params): + async def find_servers(self, params): self.logger.info("find_servers") request = ua.FindServersRequest() request.Parameters = params - data = self._uasocket.send_request(request) + data = await self.protocol.send_request(request) response = struct_from_binary(ua.FindServersResponse, data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.Servers - def find_servers_on_network(self, params): + async def find_servers_on_network(self, params): self.logger.info("find_servers_on_network") request = ua.FindServersOnNetworkRequest() request.Parameters = params - data = self._uasocket.send_request(request) + data = await self.protocol.send_request(request) response = struct_from_binary(ua.FindServersOnNetworkResponse, data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.Parameters - def register_server(self, registered_server): + async def register_server(self, registered_server): self.logger.info("register_server") request = ua.RegisterServerRequest() request.Server = registered_server - data = self._uasocket.send_request(request) + data = await self.protocol.send_request(request) response = struct_from_binary(ua.RegisterServerResponse, data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() # nothing to return for this service - def register_server2(self, params): + async def register_server2(self, params): self.logger.info("register_server2") request = ua.RegisterServer2Request() request.Parameters = params - data = self._uasocket.send_request(request) + data = await self.protocol.send_request(request) response = struct_from_binary(ua.RegisterServer2Response, data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.ConfigurationResults - def translate_browsepaths_to_nodeids(self, browsepaths): + async def translate_browsepaths_to_nodeids(self, browse_paths): self.logger.info("translate_browsepath_to_nodeid") request = ua.TranslateBrowsePathsToNodeIdsRequest() - request.Parameters.BrowsePaths = browsepaths - data = self._uasocket.send_request(request) + request.Parameters.BrowsePaths = browse_paths + data = await self.protocol.send_request(request) response = struct_from_binary(ua.TranslateBrowsePathsToNodeIdsResponse, data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.Results - def create_subscription(self, params, callback): + async def create_subscription(self, params, callback): self.logger.info("create_subscription") request = ua.CreateSubscriptionRequest() request.Parameters = params - resp_fut = Future() - mycallbak = partial(self._create_subscription_callback, callback, resp_fut) - self._uasocket.send_request(request, mycallbak) - return resp_fut.result(self._timeout) - - def _create_subscription_callback(self, pub_callback, resp_fut, data_fut): - self.logger.info("_create_subscription_callback") - data = data_fut.result() - response = struct_from_binary(ua.CreateSubscriptionResponse, data) + response = struct_from_binary( + ua.CreateSubscriptionResponse, + await self.protocol.send_request(request) + ) + self.logger.info("create subscription callback") self.logger.debug(response) response.ResponseHeader.ServiceResult.check() - self._publishcallbacks[response.Parameters.SubscriptionId] = pub_callback - resp_fut.set_result(response.Parameters) + self._publish_callbacks[response.Parameters.SubscriptionId] = callback + return response.Parameters - def delete_subscriptions(self, subscriptionids): + async def delete_subscriptions(self, subscription_ids): self.logger.info("delete_subscription") request = ua.DeleteSubscriptionsRequest() - request.Parameters.SubscriptionIds = subscriptionids - resp_fut = Future() - mycallbak = partial(self._delete_subscriptions_callback, subscriptionids, resp_fut) - self._uasocket.send_request(request, mycallbak) - return resp_fut.result(self._timeout) - - def _delete_subscriptions_callback(self, subscriptionids, resp_fut, data_fut): - self.logger.info("_delete_subscriptions_callback") - data = data_fut.result() - response = struct_from_binary(ua.DeleteSubscriptionsResponse, data) + request.Parameters.SubscriptionIds = subscription_ids + response = struct_from_binary( + ua.DeleteSubscriptionsResponse, + await self.protocol.send_request(request) + ) + self.logger.info("delete subscriptions callback") self.logger.debug(response) response.ResponseHeader.ServiceResult.check() - for sid in subscriptionids: - self._publishcallbacks.pop(sid) - resp_fut.set_result(response.Results) + for sid in subscription_ids: + self._publish_callbacks.pop(sid) + return response.Results - def publish(self, acks=None): + async def publish(self, acks=None): self.logger.info("publish") if acks is None: acks = [] request = ua.PublishRequest() request.Parameters.SubscriptionAcknowledgements = acks - self._uasocket.send_request(request, self._call_publish_callback, timeout=0) - - def _call_publish_callback(self, future): - self.logger.info("call_publish_callback") - data = future.result() - + data = await self.protocol.send_request(request, timeout=0) # check if answer looks ok try: - self._uasocket.check_answer(data, "while waiting for publish response") - except BadTimeout: # Spec Part 4, 7.28 - self.publish() + self.protocol.check_answer(data, "while waiting for publish response") + except BadTimeout: + # Spec Part 4, 7.28 + self.loop.create_task(self.publish()) return - except BadNoSubscription: # Spec Part 5, 13.8.1 + except BadNoSubscription: # Spec Part 5, 13.8.1 # BadNoSubscription is expected after deleting the last subscription. # # We should therefore also check for len(self._publishcallbacks) == 0, but @@ -450,7 +451,6 @@ def _call_publish_callback(self, future): # to be to just ignore any BadNoSubscription responses. self.logger.info("BadNoSubscription received, ignoring because it's probably valid.") return - # parse publish response try: response = struct_from_binary(ua.PublishResponse, data) @@ -459,108 +459,107 @@ def _call_publish_callback(self, future): # INFO: catching the exception here might be obsolete because we already # catch BadTimeout above. However, it's not really clear what this code # does so it stays in, doesn't seem to hurt. - self.logger.exception("Error parsing notificatipn from server") - self.publish([]) #send publish request ot server so he does stop sending notifications + self.logger.exception("Error parsing notification from server") + # send publish request ot server so he does stop sending notifications + self.loop.create_task(self.publish([])) return - # look for callback try: - callback = self._publishcallbacks[response.Parameters.SubscriptionId] + callback = self._publish_callbacks[response.Parameters.SubscriptionId] except KeyError: self.logger.warning("Received data for unknown subscription: %s ", response.Parameters.SubscriptionId) return - # do callback try: callback(response.Parameters) - except Exception: # we call client code, catch everything! + except Exception: + # we call client code, catch everything! self.logger.exception("Exception while calling user callback: %s") - def create_monitored_items(self, params): + async def create_monitored_items(self, params): self.logger.info("create_monitored_items") request = ua.CreateMonitoredItemsRequest() request.Parameters = params - data = self._uasocket.send_request(request) + data = await self.protocol.send_request(request) response = struct_from_binary(ua.CreateMonitoredItemsResponse, data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.Results - def delete_monitored_items(self, params): + async def delete_monitored_items(self, params): self.logger.info("delete_monitored_items") request = ua.DeleteMonitoredItemsRequest() request.Parameters = params - data = self._uasocket.send_request(request) + data = await self.protocol.send_request(request) response = struct_from_binary(ua.DeleteMonitoredItemsResponse, data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.Results - def add_nodes(self, nodestoadd): + async def add_nodes(self, nodestoadd): self.logger.info("add_nodes") request = ua.AddNodesRequest() request.Parameters.NodesToAdd = nodestoadd - data = self._uasocket.send_request(request) + data = await self.protocol.send_request(request) response = struct_from_binary(ua.AddNodesResponse, data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.Results - def add_references(self, refs): + async def add_references(self, refs): self.logger.info("add_references") request = ua.AddReferencesRequest() request.Parameters.ReferencesToAdd = refs - data = self._uasocket.send_request(request) + data = await self.protocol.send_request(request) response = struct_from_binary(ua.AddReferencesResponse, data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.Results - def delete_references(self, refs): + async def delete_references(self, refs): self.logger.info("delete") request = ua.DeleteReferencesRequest() request.Parameters.ReferencesToDelete = refs - data = self._uasocket.send_request(request) + data = await self.protocol.send_request(request) response = struct_from_binary(ua.DeleteReferencesResponse, data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.Parameters.Results - - def delete_nodes(self, params): + async def delete_nodes(self, params): self.logger.info("delete_nodes") request = ua.DeleteNodesRequest() request.Parameters = params - data = self._uasocket.send_request(request) + data = await self.protocol.send_request(request) response = struct_from_binary(ua.DeleteNodesResponse, data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.Results - def call(self, methodstocall): + async def call(self, methodstocall): request = ua.CallRequest() request.Parameters.MethodsToCall = methodstocall - data = self._uasocket.send_request(request) + data = await self.protocol.send_request(request) response = struct_from_binary(ua.CallResponse, data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.Results - def history_read(self, params): + async def history_read(self, params): self.logger.info("history_read") request = ua.HistoryReadRequest() request.Parameters = params - data = self._uasocket.send_request(request) + data = await self.protocol.send_request(request) response = struct_from_binary(ua.HistoryReadResponse, data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.Results - def modify_monitored_items(self, params): + async def modify_monitored_items(self, params): self.logger.info("modify_monitored_items") request = ua.ModifyMonitoredItemsRequest() request.Parameters = params - data = self._uasocket.send_request(request) + data = await self.protocol.send_request(request) response = struct_from_binary(ua.ModifyMonitoredItemsResponse, data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() diff --git a/opcua/common/async_connection.py b/opcua/common/async_connection.py deleted file mode 100644 index 1d28c2862..000000000 --- a/opcua/common/async_connection.py +++ /dev/null @@ -1,29 +0,0 @@ - -import asyncio -import logging -from opcua.common.connection import SecureConnection -from opcua.ua.async_ua_binary import header_from_binary -from opcua import ua - -logger = logging.getLogger('opcua.uaprotocol') - - -class AsyncSecureConnection(SecureConnection): - """ - Async version of SecureConnection - """ - - async def receive_from_socket(self, protocol): - """ - Convert binary stream to OPC UA TCP message (see OPC UA - specs Part 6, 7.1: Hello, Acknowledge or ErrorMessage), or a Message - object, or None (if intermediate chunk is received) - """ - logger.debug("Waiting for header") - header = await header_from_binary(protocol) - logger.info("received header: %s", header) - body = await protocol.read(header.body_size) - if len(body) != header.body_size: - # ToDo: should never happen since UASocketProtocol.read() waits until `size` bytes are received. Remove? - raise ua.UaError("{0} bytes expected, {1} available".format(header.body_size, len(body))) - return self.receive_from_header_and_body(header, ua.utils.Buffer(body)) diff --git a/opcua/common/connection.py b/opcua/common/connection.py index 18b251825..36ec10415 100644 --- a/opcua/common/connection.py +++ b/opcua/common/connection.py @@ -27,8 +27,8 @@ def __init__(self, security_policy, body=b'', msg_type=ua.MessageType.SecureMess self.security_policy = security_policy @staticmethod - def from_binary(security_policy, data): - h = header_from_binary(data) + async def from_binary(security_policy, data): + h = await header_from_binary(data) return MessageChunk.from_header_and_body(security_policy, h, data) @staticmethod @@ -190,11 +190,9 @@ def select_policy(self, uri, peer_certificate, mode=None): if policy.matches(uri, mode): self.security_policy = policy.create(peer_certificate) return - if self.security_policy.URI != uri or (mode is not None and - self.security_policy.Mode != mode): + if self.security_policy.URI != uri or (mode is not None and self.security_policy.Mode != mode): raise ua.UaError("No matching policy: {0}, {1}".format(uri, mode)) - def message_to_binary(self, message, message_type=ua.MessageType.SecureMessage, request_id=0, algohdr=None): """ Convert OPC UA secure message to binary. @@ -219,7 +217,6 @@ def message_to_binary(self, message, message_type=ua.MessageType.SecureMessage, chunk.SequenceHeader.SequenceNumber = self._sequence_number return b"".join([chunk.to_binary() for chunk in chunks]) - def _check_incoming_chunk(self, chunk): assert isinstance(chunk, MessageChunk), "Expected chunk, got: {0}".format(chunk) if chunk.MessageHeader.MessageType != ua.MessageType.SecureOpen: @@ -229,13 +226,14 @@ def _check_incoming_chunk(self, chunk): self.channel.SecurityToken.ChannelId)) if chunk.SecurityHeader.TokenId != self.channel.SecurityToken.TokenId: if chunk.SecurityHeader.TokenId not in self._old_tokens: - logger.warning("Received a chunk with wrong token id %s, expected %s", chunk.SecurityHeader.TokenId, self.channel.SecurityToken.TokenId) - + logger.warning( + "Received a chunk with wrong token id %s, expected %s", + chunk.SecurityHeader.TokenId, self.channel.SecurityToken.TokenId + ) #raise UaError("Wrong token id {}, expected {}, old tokens are {}".format( #chunk.SecurityHeader.TokenId, #self.channel.SecurityToken.TokenId, #self._old_tokens)) - else: # Do some cleanup, spec says we can remove old tokens when new one are used idx = self._old_tokens.index(chunk.SecurityHeader.TokenId) @@ -294,17 +292,18 @@ def receive_from_header_and_body(self, header, body): else: raise ua.UaError("Unsupported message type {0}".format(header.MessageType)) - def receive_from_socket(self, socket): + async def receive_from_socket(self, protocol): """ Convert binary stream to OPC UA TCP message (see OPC UA specs Part 6, 7.1: Hello, Acknowledge or ErrorMessage), or a Message object, or None (if intermediate chunk is received) """ logger.debug("Waiting for header") - header = header_from_binary(socket) - logger.info("received header: %s", header) - body = socket.read(header.body_size) + header = await header_from_binary(protocol) + logger.debug("Received header: %s", header) + body = await protocol.read(header.body_size) if len(body) != header.body_size: + # ToDo: should never happen since UASocketProtocol.read() waits until `size` bytes are received. Remove? raise ua.UaError("{0} bytes expected, {1} available".format(header.body_size, len(body))) return self.receive_from_header_and_body(header, ua.utils.Buffer(body)) @@ -326,5 +325,3 @@ def _receive(self, msg): return message else: raise ua.UaError("Unsupported chunk type: {0}".format(msg)) - - diff --git a/opcua/common/node.py b/opcua/common/node.py index 4249fccae..4290af133 100644 --- a/opcua/common/node.py +++ b/opcua/common/node.py @@ -63,127 +63,130 @@ def __str__(self): def __hash__(self): return self.nodeid.__hash__() - def get_browse_name(self): + async def get_browse_name(self): """ Get browse name of a node. A browse name is a QualifiedName object composed of a string(name) and a namespace index. """ - result = self.get_attribute(ua.AttributeIds.BrowseName) + result = await self.get_attribute(ua.AttributeIds.BrowseName) return result.Value.Value - def get_display_name(self): + async def get_display_name(self): """ get description attribute of node """ - result = self.get_attribute(ua.AttributeIds.DisplayName) + result = await self.get_attribute(ua.AttributeIds.DisplayName) return result.Value.Value - def get_data_type(self): + async def get_data_type(self): """ get data type of node as NodeId """ - result = self.get_attribute(ua.AttributeIds.DataType) + result = await self.get_attribute(ua.AttributeIds.DataType) return result.Value.Value - def get_data_type_as_variant_type(self): + async def get_data_type_as_variant_type(self): """ get data type of node as VariantType This only works if node is a variable, otherwise type may not be convertible to VariantType """ - result = self.get_attribute(ua.AttributeIds.DataType) - return opcua.common.ua_utils.data_type_to_variant_type(Node(self.server, result.Value.Value)) + result = await self.get_attribute(ua.AttributeIds.DataType) + return await opcua.common.ua_utils.data_type_to_variant_type(Node(self.server, result.Value.Value)) - def get_access_level(self): + async def get_access_level(self): """ Get the access level attribute of the node as a set of AccessLevel enum values. """ - result = self.get_attribute(ua.AttributeIds.AccessLevel) + result = await self.get_attribute(ua.AttributeIds.AccessLevel) return ua.AccessLevel.parse_bitfield(result.Value.Value) - def get_user_access_level(self): + async def get_user_access_level(self): """ Get the user access level attribute of the node as a set of AccessLevel enum values. """ - result = self.get_attribute(ua.AttributeIds.UserAccessLevel) + result = await self.get_attribute(ua.AttributeIds.UserAccessLevel) return ua.AccessLevel.parse_bitfield(result.Value.Value) - def get_event_notifier(self): + async def get_event_notifier(self): """ Get the event notifier attribute of the node as a set of EventNotifier enum values. """ - result = self.get_attribute(ua.AttributeIds.EventNotifier) + result = await self.get_attribute(ua.AttributeIds.EventNotifier) return ua.EventNotifier.parse_bitfield(result.Value.Value) - def set_event_notifier(self, values): + async def set_event_notifier(self, values): """ Set the event notifier attribute. :param values: an iterable of EventNotifier enum values. """ event_notifier_bitfield = ua.EventNotifier.to_bitfield(values) - self.set_attribute(ua.AttributeIds.EventNotifier, ua.DataValue(ua.Variant(event_notifier_bitfield, ua.VariantType.Byte))) + await self.set_attribute( + ua.AttributeIds.EventNotifier, + ua.DataValue(ua.Variant(event_notifier_bitfield, ua.VariantType.Byte)) + ) - def get_node_class(self): + async def get_node_class(self): """ get node class attribute of node """ - result = self.get_attribute(ua.AttributeIds.NodeClass) + result = await self.get_attribute(ua.AttributeIds.NodeClass) return result.Value.Value - def get_description(self): + async def get_description(self): """ get description attribute class of node """ - result = self.get_attribute(ua.AttributeIds.Description) + result = await self.get_attribute(ua.AttributeIds.Description) return result.Value.Value - def get_value(self): + async def get_value(self): """ Get value of a node as a python type. Only variables ( and properties) have values. An exception will be generated for other node types. """ - result = self.get_data_value() + result = await self.get_data_value() return result.Value.Value - def get_data_value(self): + async def get_data_value(self): """ Get value of a node as a DataValue object. Only variables (and properties) have values. An exception will be generated for other node types. DataValue contain a variable value as a variant as well as server and source timestamps """ - return self.get_attribute(ua.AttributeIds.Value) + return await self.get_attribute(ua.AttributeIds.Value) - def set_array_dimensions(self, value): + async def set_array_dimensions(self, value): """ Set attribute ArrayDimensions of node make sure it has the correct data type """ v = ua.Variant(value, ua.VariantType.UInt32) - self.set_attribute(ua.AttributeIds.ArrayDimensions, ua.DataValue(v)) + await self.set_attribute(ua.AttributeIds.ArrayDimensions, ua.DataValue(v)) - def get_array_dimensions(self): + async def get_array_dimensions(self): """ Read and return ArrayDimensions attribute of node """ - res = self.get_attribute(ua.AttributeIds.ArrayDimensions) + res = await self.get_attribute(ua.AttributeIds.ArrayDimensions) return res.Value.Value - def set_value_rank(self, value): + async def set_value_rank(self, value): """ Set attribute ArrayDimensions of node """ v = ua.Variant(value, ua.VariantType.Int32) - self.set_attribute(ua.AttributeIds.ValueRank, ua.DataValue(v)) + await self.set_attribute(ua.AttributeIds.ValueRank, ua.DataValue(v)) - def get_value_rank(self): + async def get_value_rank(self): """ Read and return ArrayDimensions attribute of node """ - res = self.get_attribute(ua.AttributeIds.ValueRank) + res = await self.get_attribute(ua.AttributeIds.ValueRank) return res.Value.Value - def set_value(self, value, varianttype=None): + async def set_value(self, value, varianttype=None): """ Set value of a node. Only variables(properties) have values. An exception will be generated for other node types. @@ -200,7 +203,7 @@ def set_value(self, value, varianttype=None): datavalue = ua.DataValue(value) else: datavalue = ua.DataValue(ua.Variant(value, varianttype)) - self.set_attribute(ua.AttributeIds.Value, datavalue) + await self.set_attribute(ua.AttributeIds.Value, datavalue) set_data_value = set_value @@ -216,15 +219,15 @@ def set_writable(self, writable=True): self.unset_attr_bit(ua.AttributeIds.AccessLevel, ua.AccessLevel.CurrentWrite) self.unset_attr_bit(ua.AttributeIds.UserAccessLevel, ua.AccessLevel.CurrentWrite) - def set_attr_bit(self, attr, bit): + async def set_attr_bit(self, attr, bit): val = self.get_attribute(attr) val.Value.Value = ua.ua_binary.set_bit(val.Value.Value, bit) - self.set_attribute(attr, val) + await self.set_attribute(attr, val) - def unset_attr_bit(self, attr, bit): + async def unset_attr_bit(self, attr, bit): val = self.get_attribute(attr) val.Value.Value = ua.ua_binary.unset_bit(val.Value.Value, bit) - self.set_attribute(attr, val) + await self.set_attribute(attr, val) def set_read_only(self): """ @@ -233,7 +236,7 @@ def set_read_only(self): """ return self.set_writable(False) - def set_attribute(self, attributeid, datavalue): + async def set_attribute(self, attributeid, datavalue): """ Set an attribute of a node attributeid is a member of ua.AttributeIds @@ -245,10 +248,10 @@ def set_attribute(self, attributeid, datavalue): attr.Value = datavalue params = ua.WriteParameters() params.NodesToWrite = [attr] - result = self.server.write(params) + result = await self.server.write(params) result[0].check() - def get_attribute(self, attr): + async def get_attribute(self, attr): """ Read one attribute of a node result code from server is checked and an exception is raised in case of error @@ -258,11 +261,11 @@ def get_attribute(self, attr): rv.AttributeId = attr params = ua.ReadParameters() params.NodesToRead.append(rv) - result = self.server.read(params) + result = await self.server.read(params) result[0].StatusCode.check() return result[0] - def get_attributes(self, attrs): + async def get_attributes(self, attrs): """ Read several attributes of a node list of DataValue is returned @@ -274,7 +277,7 @@ def get_attributes(self, attrs): rv.AttributeId = attr params.NodesToRead.append(rv) - results = self.server.read(params) + results = await self.server.read(params) return results def get_children(self, refs=ua.ObjectIds.HierarchicalReferences, nodeclassmask=ua.NodeClass.Unspecified): @@ -322,8 +325,8 @@ def get_methods(self): """ return self.get_children(refs=ua.ObjectIds.HasComponent, nodeclassmask=ua.NodeClass.Method) - def get_children_descriptions(self, refs=ua.ObjectIds.HierarchicalReferences, nodeclassmask=ua.NodeClass.Unspecified, includesubtypes=True): - return self.get_references(refs, ua.BrowseDirection.Forward, nodeclassmask, includesubtypes) + async def get_children_descriptions(self, refs=ua.ObjectIds.HierarchicalReferences, nodeclassmask=ua.NodeClass.Unspecified, includesubtypes=True): + return await self.get_references(refs, ua.BrowseDirection.Forward, nodeclassmask, includesubtypes) def get_encoding_refs(self): return self.get_referenced_nodes(ua.ObjectIds.HasEncoding, ua.BrowseDirection.Forward) @@ -331,7 +334,7 @@ def get_encoding_refs(self): def get_description_refs(self): return self.get_referenced_nodes(ua.ObjectIds.HasDescription, ua.BrowseDirection.Forward) - def get_references(self, refs=ua.ObjectIds.References, direction=ua.BrowseDirection.Both, nodeclassmask=ua.NodeClass.Unspecified, includesubtypes=True): + async def get_references(self, refs=ua.ObjectIds.References, direction=ua.BrowseDirection.Both, nodeclassmask=ua.NodeClass.Unspecified, includesubtypes=True): """ returns references of the node based on specific filter defined with: @@ -346,50 +349,48 @@ def get_references(self, refs=ua.ObjectIds.References, direction=ua.BrowseDirect desc.IncludeSubtypes = includesubtypes desc.NodeClassMask = nodeclassmask desc.ResultMask = ua.BrowseResultMask.All - desc.NodeId = self.nodeid params = ua.BrowseParameters() params.View.Timestamp = ua.get_win_epoch() params.NodesToBrowse.append(desc) params.RequestedMaxReferencesPerNode = 0 - results = self.server.browse(params) - - references = self._browse_next(results) + results = await self.server.browse(params) + references = await self._browse_next(results) return references - def _browse_next(self, results): + async def _browse_next(self, results): references = results[0].References while results[0].ContinuationPoint: params = ua.BrowseNextParameters() params.ContinuationPoints = [results[0].ContinuationPoint] params.ReleaseContinuationPoints = False - results = self.server.browse_next(params) + results = await self.server.browse_next(params) references.extend(results[0].References) return references - def get_referenced_nodes(self, refs=ua.ObjectIds.References, direction=ua.BrowseDirection.Both, nodeclassmask=ua.NodeClass.Unspecified, includesubtypes=True): + async def get_referenced_nodes(self, refs=ua.ObjectIds.References, direction=ua.BrowseDirection.Both, nodeclassmask=ua.NodeClass.Unspecified, includesubtypes=True): """ returns referenced nodes based on specific filter Paramters are the same as for get_references """ - references = self.get_references(refs, direction, nodeclassmask, includesubtypes) + references = await self.get_references(refs, direction, nodeclassmask, includesubtypes) nodes = [] for desc in references: node = Node(self.server, desc.NodeId) nodes.append(node) return nodes - def get_type_definition(self): + async def get_type_definition(self): """ returns type definition of the node. """ - references = self.get_references(refs=ua.ObjectIds.HasTypeDefinition, direction=ua.BrowseDirection.Forward) + references = await self.get_references(refs=ua.ObjectIds.HasTypeDefinition, direction=ua.BrowseDirection.Forward) if len(references) == 0: return None return references[0].NodeId - def get_path(self, max_length=20, as_string=False): + async def get_path(self, max_length=20, as_string=False): """ Attempt to find path of node from root node and return it as a list of Nodes. There might several possible paths to a node, this function will return one @@ -398,14 +399,18 @@ def get_path(self, max_length=20, as_string=False): Since address space may have circular references, a max length is specified """ - path = self._get_path(max_length) - path = [Node(self.server, ref.NodeId) for ref in path] + path = [] + for ref in await self._get_path(max_length): + path.append(Node(self.server, ref.NodeId)) path.append(self) if as_string: - path = [el.get_browse_name().to_string() for el in path] + str_path = [] + for el in path: + name = await el.get_browse_name() + str_path.append(name.to_string()) return path - def _get_path(self, max_length=20): + async def _get_path(self, max_length=20): """ Attempt to find path of node from root node and return it as a list of Nodes. There might several possible paths to a node, this function will return one @@ -417,29 +422,31 @@ def _get_path(self, max_length=20): path = [] node = self while True: - refs = node.get_references(refs=ua.ObjectIds.HierarchicalReferences, direction=ua.BrowseDirection.Inverse) + refs = await node.get_references( + refs=ua.ObjectIds.HierarchicalReferences, direction=ua.BrowseDirection.Inverse + ) if len(refs) > 0: path.insert(0, refs[0]) node = Node(self.server, refs[0].NodeId) - if len(path) >= (max_length -1): + if len(path) >= (max_length - 1): return path else: return path - def get_parent(self): + async def get_parent(self): """ returns parent of the node. A Node may have several parents, the first found is returned. This method uses reverse references, a node might be missing such a link, thus we will not find its parent. """ - refs = self.get_references(refs=ua.ObjectIds.HierarchicalReferences, direction=ua.BrowseDirection.Inverse) + refs = await self.get_references(refs=ua.ObjectIds.HierarchicalReferences, direction=ua.BrowseDirection.Inverse) if len(refs) > 0: return Node(self.server, refs[0].NodeId) else: return None - def get_child(self, path): + async def get_child(self, path): """ get a child specified by its path from this node. A path might be: @@ -454,7 +461,7 @@ def get_child(self, path): bpath = ua.BrowsePath() bpath.StartingNode = self.nodeid bpath.RelativePath = rpath - result = self.server.translate_browsepaths_to_nodeids([bpath]) + result = await self.server.translate_browsepaths_to_nodeids([bpath]) result = result[0] result.StatusCode.check() # FIXME: seems this method may return several nodes diff --git a/opcua/common/ua_utils.py b/opcua/common/ua_utils.py index 912e3180a..6ee84f211 100644 --- a/opcua/common/ua_utils.py +++ b/opcua/common/ua_utils.py @@ -117,28 +117,28 @@ def string_to_variant(string, vtype): return ua.Variant(string_to_val(string, vtype), vtype) -def get_node_children(node, nodes=None): +async def get_node_children(node, nodes=None): """ Get recursively all children of a node """ if nodes is None: nodes = [node] - for child in node.get_children(): + for child in await node.get_children(): nodes.append(child) - get_node_children(child, nodes) + await get_node_children(child, nodes) return nodes -def get_node_subtypes(node, nodes=None): +async def get_node_subtypes(node, nodes=None): if nodes is None: nodes = [node] - for child in node.get_children(refs=ua.ObjectIds.HasSubtype): + for child in await node.get_children(refs=ua.ObjectIds.HasSubtype): nodes.append(child) - get_node_subtypes(child, nodes) + await get_node_subtypes(child, nodes) return nodes -def get_node_supertypes(node, includeitself=False, skipbase=True): +async def get_node_supertypes(node, includeitself=False, skipbase=True): """ return get all subtype parents of node recursive :param node: can be a ua.Node or ua.NodeId @@ -149,47 +149,46 @@ def get_node_supertypes(node, includeitself=False, skipbase=True): parents = [] if includeitself: parents.append(node) - parents.extend(_get_node_supertypes(node)) + parents.extend(await _get_node_supertypes(node)) if skipbase and len(parents) > 1: parents = parents[:-1] - return parents -def _get_node_supertypes(node): +async def _get_node_supertypes(node): """ recursive implementation of get_node_derived_from_types """ basetypes = [] - parent = get_node_supertype(node) + parent = await get_node_supertype(node) if parent: basetypes.append(parent) - basetypes.extend(_get_node_supertypes(parent)) + basetypes.extend(await _get_node_supertypes(parent)) return basetypes -def get_node_supertype(node): +async def get_node_supertype(node): """ return node supertype or None """ - supertypes = node.get_referenced_nodes(refs=ua.ObjectIds.HasSubtype, - direction=ua.BrowseDirection.Inverse, - includesubtypes=True) + supertypes = await node.get_referenced_nodes( + refs=ua.ObjectIds.HasSubtype, direction=ua.BrowseDirection.Inverse, includesubtypes=True + ) if supertypes: return supertypes[0] else: return None -def is_child_present(node, browsename): +async def is_child_present(node, browsename): """ return if a browsename is present a child from the provide node :param node: node wherein to find the browsename :param browsename: browsename to search :returns returne True if the browsename is present else False """ - child_descs = node.get_children_descriptions() + child_descs = await node.get_children_descriptions() for child_desc in child_descs: if child_desc.BrowseName == browsename: return True @@ -197,20 +196,20 @@ def is_child_present(node, browsename): return False -def data_type_to_variant_type(dtype_node): +async def data_type_to_variant_type(dtype_node): """ Given a Node datatype, find out the variant type to encode data. This is not exactly straightforward... """ - base = get_base_data_type(dtype_node) - + base = await get_base_data_type(dtype_node) if base.nodeid.Identifier != 29: return ua.VariantType(base.nodeid.Identifier) else: # we have an enumeration, value is a Int32 return ua.VariantType.Int32 -def get_base_data_type(datatype): + +async def get_base_data_type(datatype): """ Looks up the base datatype of the provided datatype Node The base datatype is either: @@ -225,7 +224,7 @@ def get_base_data_type(datatype): while base: if base.nodeid.NamespaceIndex == 0 and isinstance(base.nodeid.Identifier, int) and base.nodeid.Identifier <= 30: return base - base = get_node_supertype(base) + base = await get_node_supertype(base) raise ua.UaError("Datatype must be a subtype of builtin types {0!s}".format(datatype)) @@ -251,8 +250,10 @@ def get_nodes_of_namespace(server, namespaces=None): namespace_indexes = [n if isinstance(n, int) else ns_available.index(n) for n in namespaces] # filter nodeis based on the provide namespaces and convert the nodeid to a node - nodes = [server.get_node(nodeid) for nodeid in server.iserver.aspace.keys() - if nodeid.NamespaceIndex != 0 and nodeid.NamespaceIndex in namespace_indexes] + nodes = [ + server.get_node(nodeid) for nodeid in server.iserver.aspace.keys() + if nodeid.NamespaceIndex != 0 and nodeid.NamespaceIndex in namespace_indexes + ] return nodes @@ -263,5 +264,3 @@ def get_default_value(uatype): return ua.get_default_value(getattr(ua.VariantType, uatype)) else: return getattr(ua, uatype)() - - diff --git a/opcua/crypto/security_policies.py b/opcua/crypto/security_policies.py index 82d66a6d8..2559a99f1 100644 --- a/opcua/crypto/security_policies.py +++ b/opcua/crypto/security_policies.py @@ -452,5 +452,5 @@ def encrypt_asymmetric(pubkey, data, policy_uri): return (cls.encrypt_asymmetric(pubkey, data), cls.AsymmetricEncryptionURI) if not policy_uri or policy_uri == POLICY_NONE_URI: - return (data, '') + return data, '' raise UaError("Unsupported security policy `{0}`".format(policy_uri)) diff --git a/opcua/crypto/uacrypto.py b/opcua/crypto/uacrypto.py index f7d68f7c0..890cbd9a7 100644 --- a/opcua/crypto/uacrypto.py +++ b/opcua/crypto/uacrypto.py @@ -1,5 +1,6 @@ import os +import aiofiles from cryptography import x509 from cryptography.exceptions import InvalidSignature from cryptography.hazmat.backends import default_backend @@ -12,13 +13,13 @@ from cryptography.hazmat.primitives.ciphers import modes -def load_certificate(path): +async def load_certificate(path): _, ext = os.path.splitext(path) - with open(path, "rb") as f: + async with aiofiles.open(path, mode='rb') as f: if ext == ".pem": - return x509.load_pem_x509_certificate(f.read(), default_backend()) + return x509.load_pem_x509_certificate(await f.read(), default_backend()) else: - return x509.load_der_x509_certificate(f.read(), default_backend()) + return x509.load_der_x509_certificate(await f.read(), default_backend()) def x509_from_der(data): @@ -27,13 +28,13 @@ def x509_from_der(data): return x509.load_der_x509_certificate(data, default_backend()) -def load_private_key(path): +async def load_private_key(path): _, ext = os.path.splitext(path) - with open(path, "rb") as f: + async with aiofiles.open(path, mode='rb') as f: if ext == ".pem": - return serialization.load_pem_private_key(f.read(), password=None, backend=default_backend()) + return serialization.load_pem_private_key(await f.read(), password=None, backend=default_backend()) else: - return serialization.load_der_private_key(f.read(), password=None, backend=default_backend()) + return serialization.load_der_private_key(await f.read(), password=None, backend=default_backend()) def der_from_x509(certificate): @@ -172,12 +173,3 @@ def x509_to_string(cert): # TODO: show more information return "{0}{1}, {2} - {3}".format(x509_name_to_string(cert.subject), issuer, cert.not_valid_before, cert.not_valid_after) - -if __name__ == "__main__": - # Convert from PEM to DER - cert = load_certificate("../examples/server_cert.pem") - #rsa_pubkey = pubkey_from_dercert(der) - rsa_privkey = load_private_key("../examples/mykey.pem") - - from IPython import embed - embed() diff --git a/opcua/server/server.py b/opcua/server/server.py index 726c5f0a7..8fd17c20e 100644 --- a/opcua/server/server.py +++ b/opcua/server/server.py @@ -107,14 +107,14 @@ def __enter__(self): def __exit__(self, exc_type, exc_value, traceback): self.stop() - def load_certificate(self, path): + async def load_certificate(self, path): """ load server certificate from file, either pem or der """ - self.certificate = uacrypto.load_certificate(path) + self.certificate = await uacrypto.load_certificate(path) - def load_private_key(self, path): - self.private_key = uacrypto.load_private_key(path) + async def load_private_key(self, path): + self.private_key = await uacrypto.load_private_key(path) def disable_clock(self, val=True): """ diff --git a/opcua/ua/async_ua_binary.py b/opcua/ua/async_ua_binary.py deleted file mode 100644 index 9d12845f2..000000000 --- a/opcua/ua/async_ua_binary.py +++ /dev/null @@ -1,14 +0,0 @@ - -import struct -from opcua import ua -from opcua.ua.ua_binary import Primitives - - -async def header_from_binary(data): - hdr = ua.Header() - hdr.MessageType, hdr.ChunkType, hdr.packet_size = struct.unpack("<3scI", await data.read(8)) - hdr.body_size = hdr.packet_size - 8 - if hdr.MessageType in (ua.MessageType.SecureOpen, ua.MessageType.SecureClose, ua.MessageType.SecureMessage): - hdr.body_size -= 4 - hdr.ChannelId = Primitives.UInt32.unpack(ua.utils.Buffer(await data.read(4))) - return hdr diff --git a/opcua/ua/ua_binary.py b/opcua/ua/ua_binary.py index 02d2f0361..741841a94 100644 --- a/opcua/ua/ua_binary.py +++ b/opcua/ua/ua_binary.py @@ -478,7 +478,7 @@ def from_binary(uatype, data): vtype = getattr(ua.VariantType, uatype) return unpack_uatype(vtype, data) elif isinstance(uatype, (str, unicode)) and hasattr(Primitives, uatype): - return getattr(Primitives, uatype).unpack(data) + return getattr(Primitives, uatype).unpack(data) else: return struct_from_binary(uatype, data) @@ -516,13 +516,13 @@ def header_to_binary(hdr): return b"".join(b) -def header_from_binary(data): +async def header_from_binary(data): hdr = ua.Header() - hdr.MessageType, hdr.ChunkType, hdr.packet_size = struct.unpack("<3scI", data.read(8)) + hdr.MessageType, hdr.ChunkType, hdr.packet_size = struct.unpack("<3scI", await data.read(8)) hdr.body_size = hdr.packet_size - 8 if hdr.MessageType in (ua.MessageType.SecureOpen, ua.MessageType.SecureClose, ua.MessageType.SecureMessage): hdr.body_size -= 4 - hdr.ChannelId = Primitives.UInt32.unpack(data) + hdr.ChannelId = Primitives.UInt32.unpack(ua.utils.Buffer(await data.read(4))) return hdr From 56d71986dc6a88caf20f72424791a35ac7cac580 Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Mon, 29 Jan 2018 19:55:50 +0100 Subject: [PATCH 005/113] [ADD] subscription wip --- opcua/client/client.py | 10 +++++--- opcua/client/ua_client.py | 2 +- opcua/common/node.py | 2 +- opcua/common/subscription.py | 48 +++++++++++++++++------------------- opcua/server/history.py | 6 +++-- opcua/server/server.py | 6 +++-- 6 files changed, 40 insertions(+), 34 deletions(-) diff --git a/opcua/client/client.py b/opcua/client/client.py index f468ebec7..f52e74ef0 100644 --- a/opcua/client/client.py +++ b/opcua/client/client.py @@ -481,7 +481,7 @@ def get_node(self, nodeid): """ return Node(self.uaclient, nodeid) - def create_subscription(self, period, handler): + async def create_subscription(self, period, handler): """ Create a subscription. returns a Subscription object which allow @@ -498,7 +498,9 @@ def create_subscription(self, period, handler): """ if isinstance(period, ua.CreateSubscriptionParameters): - return Subscription(self.uaclient, period, handler) + subscription = Subscription(self.uaclient, period, handler) + await subscription.init() + return subscription params = ua.CreateSubscriptionParameters() params.RequestedPublishingInterval = period params.RequestedLifetimeCount = 10000 @@ -506,7 +508,9 @@ def create_subscription(self, period, handler): params.MaxNotificationsPerPublish = 10000 params.PublishingEnabled = True params.Priority = 0 - return Subscription(self.uaclient, params, handler) + subscription = Subscription(self.uaclient, params, handler) + await subscription.init() + return subscription def get_namespace_array(self): ns_node = self.get_node(ua.NodeId(ua.ObjectIds.Server_NamespaceArray)) diff --git a/opcua/client/ua_client.py b/opcua/client/ua_client.py index afae0b55b..53013d71e 100644 --- a/opcua/client/ua_client.py +++ b/opcua/client/ua_client.py @@ -102,7 +102,7 @@ async def send_request(self, request, callback=None, timeout=1000, message_type= """ future = self._send_request(request, callback, timeout, message_type) if not callback: - await asyncio.wait_for(future, self.timeout) + await asyncio.wait_for(future, timeout if timeout else None) data = future.result() self.check_answer(data, " in response to " + request.__class__.__name__) return data diff --git a/opcua/common/node.py b/opcua/common/node.py index 4290af133..f033e9372 100644 --- a/opcua/common/node.py +++ b/opcua/common/node.py @@ -24,8 +24,8 @@ def _to_nodeid(nodeid): else: raise ua.UaError("Could not resolve '{0}' to a type id".format(nodeid)) -class Node(object): +class Node: """ High level node object, to access node attribute, browse and populate address space. diff --git a/opcua/common/subscription.py b/opcua/common/subscription.py index 0264256f5..fbdd05adc 100644 --- a/opcua/common/subscription.py +++ b/opcua/common/subscription.py @@ -2,6 +2,7 @@ high level interface to subscriptions """ import time +import asyncio import logging from threading import Lock import collections @@ -77,6 +78,7 @@ class Subscription(object): """ def __init__(self, server, params, handler): + self.loop = asyncio.get_event_loop() self.logger = logging.getLogger(__name__) self.server = server self._client_handle = 200 @@ -85,14 +87,16 @@ def __init__(self, server, params, handler): self._monitoreditems_map = {} self._lock = Lock() self.subscription_id = None - response = self.server.create_subscription(params, self.publish_callback) - self.subscription_id = response.SubscriptionId # move to data class + async def init(self): + response = await self.server.create_subscription(self.parameters, self.publish_callback) + self.subscription_id = response.SubscriptionId # move to data class + self.logger.info('Subscription created %s', self.subscription_id) # Launching two publish requests is a heuristic. We try to ensure # that the server always has at least one publish request in the queue, # even after it just replied to a publish request. - self.server.publish() - self.server.publish() + await self.server.publish() + await self.server.publish() def delete(self): """ @@ -103,9 +107,8 @@ def delete(self): def publish_callback(self, publishresult): self.logger.info("Publish callback called with result: %s", publishresult) - while self.subscription_id is None: - time.sleep(0.01) - + if self.subscription_id is None: + raise RuntimeError('publish_callback was called before subscription_id was set') for notif in publishresult.NotificationMessage.NotificationData: if isinstance(notif, ua.DataChangeNotification): self._call_datachange(notif) @@ -115,11 +118,10 @@ def publish_callback(self, publishresult): self._call_status(notif) else: self.logger.warning("Notification type not supported yet for notification %s", notif) - ack = ua.SubscriptionAcknowledgement() ack.SubscriptionId = self.subscription_id ack.SequenceNumber = publishresult.NotificationMessage.SequenceNumber - self.server.publish([ack]) + self.loop.create_task(self.server.publish([ack])) def _call_datachange(self, datachange): for item in datachange.MonitoredItems: @@ -168,16 +170,16 @@ def _call_status(self, status): except Exception: self.logger.exception("Exception calling status change handler") - def subscribe_data_change(self, nodes, attr=ua.AttributeIds.Value): + async def subscribe_data_change(self, nodes, attr=ua.AttributeIds.Value): """ Subscribe for data change events for a node or list of nodes. default attribute is Value. Return a handle which can be used to unsubscribe If more control is necessary use create_monitored_items method """ - return self._subscribe(nodes, attr, queuesize=0) + return await self._subscribe(nodes, attr, queuesize=0) - def subscribe_events(self, sourcenode=ua.ObjectIds.Server, evtypes=ua.ObjectIds.BaseEventType, evfilter=None, queuesize=0): + async def subscribe_events(self, sourcenode=ua.ObjectIds.Server, evtypes=ua.ObjectIds.BaseEventType, evfilter=None, queuesize=0): """ Subscribe to events from a node. Default node is Server node. In most servers the server node is the only one you can subscribe to. @@ -186,17 +188,14 @@ def subscribe_events(self, sourcenode=ua.ObjectIds.Server, evtypes=ua.ObjectIds. Return a handle which can be used to unsubscribe """ sourcenode = Node(self.server, sourcenode) - if evfilter is None: if not type(evtypes) in (list, tuple): evtypes = [evtypes] - evtypes = [Node(self.server, evtype) for evtype in evtypes] - evfilter = events.get_filter_from_event_type(evtypes) - return self._subscribe(sourcenode, ua.AttributeIds.EventNotifier, evfilter, queuesize=queuesize) + return await self._subscribe(sourcenode, ua.AttributeIds.EventNotifier, evfilter, queuesize=queuesize) - def _subscribe(self, nodes, attr, mfilter=None, queuesize=0): + async def _subscribe(self, nodes, attr, mfilter=None, queuesize=0): is_list = True if isinstance(nodes, collections.Iterable): nodes = list(nodes) @@ -207,8 +206,7 @@ def _subscribe(self, nodes, attr, mfilter=None, queuesize=0): for node in nodes: mir = self._make_monitored_item_request(node, attr, mfilter, queuesize) mirs.append(mir) - - mids = self.create_monitored_items(mirs) + mids = await self.create_monitored_items(mirs) if is_list: return mids if type(mids[0]) == ua.StatusCode: @@ -235,7 +233,7 @@ def _make_monitored_item_request(self, node, attr, mfilter, queuesize): mir.RequestedParameters = mparams return mir - def create_monitored_items(self, monitored_items): + async def create_monitored_items(self, monitored_items): """ low level method to have full control over subscription parameters Client handle must be unique since it will be used as key for internal registration of data @@ -256,7 +254,7 @@ def create_monitored_items(self, monitored_items): #TODO: Either use the filter from request or from response. Here it uses from request, in modify it uses from response data.mfilter = mi.RequestedParameters.Filter self._monitoreditems_map[mi.RequestedParameters.ClientHandle] = data - results = self.server.create_monitored_items(params) + results = await self.server.create_monitored_items(params) mids = [] # process result, add server_handle, or remove it if failed with self._lock: @@ -271,7 +269,7 @@ def create_monitored_items(self, monitored_items): mids.append(result.MonitoredItemId) return mids - def unsubscribe(self, handle): + async def unsubscribe(self, handle): """ unsubscribe to datachange or events using the handle returned while subscribing if you delete subscription, you do not need to unsubscribe @@ -279,7 +277,7 @@ def unsubscribe(self, handle): params = ua.DeleteMonitoredItemsParameters() params.SubscriptionId = self.subscription_id params.MonitoredItemIds = [handle] - results = self.server.delete_monitored_items(params) + results = await self.server.delete_monitored_items(params) results[0].check() with self._lock: for k, v in self._monitoreditems_map.items(): @@ -287,7 +285,7 @@ def unsubscribe(self, handle): del(self._monitoreditems_map[k]) return - def modify_monitored_item(self, handle, new_samp_time, new_queuesize=0, mod_filter_val=-1): + async def modify_monitored_item(self, handle, new_samp_time, new_queuesize=0, mod_filter_val=-1): """ Modify a monitored item. :param handle: Handle returned when originally subscribing @@ -316,7 +314,7 @@ def modify_monitored_item(self, handle, new_samp_time, new_queuesize=0, mod_filt params = ua.ModifyMonitoredItemsParameters() params.SubscriptionId = self.subscription_id params.ItemsToModify.append(modif_item) - results = self.server.modify_monitored_items(params) + results = await self.server.modify_monitored_items(params) item_to_change.mfilter = results[0].FilterResult return results diff --git a/opcua/server/history.py b/opcua/server/history.py index b99baf42d..aea678318 100644 --- a/opcua/server/history.py +++ b/opcua/server/history.py @@ -197,7 +197,7 @@ def set_storage(self, storage): """ self.storage = storage - def _create_subscription(self, handler): + async def _create_subscription(self, handler): params = ua.CreateSubscriptionParameters() params.RequestedPublishingInterval = 10 params.RequestedLifetimeCount = 3000 @@ -205,7 +205,9 @@ def _create_subscription(self, handler): params.MaxNotificationsPerPublish = 0 params.PublishingEnabled = True params.Priority = 0 - return Subscription(self.iserver.isession, params, handler) + subscription = Subscription(self.iserver.isession, params, handler) + await subscription.init() + return subscription def historize_data_change(self, node, period=timedelta(days=7), count=0): """ diff --git a/opcua/server/server.py b/opcua/server/server.py index 8fd17c20e..417f43b05 100644 --- a/opcua/server/server.py +++ b/opcua/server/server.py @@ -315,7 +315,7 @@ def get_node(self, nodeid): """ return Node(self.iserver.isession, nodeid) - def create_subscription(self, period, handler): + async def create_subscription(self, period, handler): """ Create a subscription. returns a Subscription object which allow @@ -328,7 +328,9 @@ def create_subscription(self, period, handler): params.MaxNotificationsPerPublish = 0 params.PublishingEnabled = True params.Priority = 0 - return Subscription(self.iserver.isession, params, handler) + subscription = Subscription(self.iserver.isession, params, handler) + await subscription.init() + return subscription def get_namespace_array(self): """ From 9320cebfd97d3a7e60f960cfedc4e828aa2d40f1 Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Tue, 30 Jan 2018 17:25:48 +0100 Subject: [PATCH 006/113] [ADD] refactor tests, server, client, examples --- dev_requirements.txt | 3 + examples/async_client.py | 53 -------- examples/client-events.py | 71 ++++++----- examples/client-example.py | 129 ++++++++++---------- examples/client-minimal.py | 71 ++++++----- examples/server-minimal.py | 39 +++--- opcua/client/client.py | 86 ++++++------- opcua/client/ua_client.py | 6 +- opcua/common/methods.py | 1 + opcua/common/node.py | 7 +- opcua/common/subscription.py | 76 +++++------- opcua/common/utils.py | 87 ------------- opcua/crypto/uacrypto.py | 1 - opcua/server/binary_server_asyncio.py | 169 +++++++++++++------------- opcua/server/internal_server.py | 73 +++++------ opcua/server/server.py | 122 ++++++++++--------- tests/__init__.py | 0 tests/test_client.py | 119 ++++++++++++++++++ tests/tests.py | 25 ---- tests/tests_client.py | 111 ----------------- tests/tests_common.py | 104 ++++++++++------ 21 files changed, 601 insertions(+), 752 deletions(-) create mode 100644 dev_requirements.txt delete mode 100644 examples/async_client.py create mode 100644 tests/__init__.py create mode 100644 tests/test_client.py delete mode 100644 tests/tests.py delete mode 100644 tests/tests_client.py diff --git a/dev_requirements.txt b/dev_requirements.txt new file mode 100644 index 000000000..629777ea8 --- /dev/null +++ b/dev_requirements.txt @@ -0,0 +1,3 @@ +pytest +pytest-asyncio +coverage diff --git a/examples/async_client.py b/examples/async_client.py deleted file mode 100644 index 741743170..000000000 --- a/examples/async_client.py +++ /dev/null @@ -1,53 +0,0 @@ - -import asyncio -import logging - -from opcua.client.client import Client -from opcua import ua - -logging.basicConfig(level=logging.INFO) -_logger = logging.getLogger('opcua') -OBJECTS_AND_VARIABLES = ua.NodeClass.Object | ua.NodeClass.Variable - - -async def browse_nodes(node, level=0): - node_class = await node.get_node_class() - children = [] - for child in await node.get_children(nodeclassmask=OBJECTS_AND_VARIABLES): - children.append(await browse_nodes(child, level=level + 1)) - return { - 'id': node.nodeid.to_string(), - 'name': (await node.get_display_name()).Text, - 'cls': node_class.value, - 'children': children, - 'type': (await node.get_data_type_as_variant_type()).value if node_class == ua.NodeClass.Variable else None, - } - - -async def task(loop): - try: - client = Client(url='opc.tcp://commsvr.com:51234/UA/CAS_UA_Server') - await client.connect() - obj_node = client.get_objects_node() - _logger.info('Objects Node: %r', obj_node) - tree = await browse_nodes(obj_node) - _logger.info('Tree: %r', tree) - except Exception: - _logger.exception('Task error') - loop.stop() - - -def main(): - loop = asyncio.get_event_loop() - loop.set_debug(True) - loop.create_task(task(loop)) - try: - loop.run_forever() - except Exception: - _logger.exception('Event loop error') - loop.run_until_complete(loop.shutdown_asyncgens()) - loop.close() - - -if __name__ == '__main__': - main() diff --git a/examples/client-events.py b/examples/client-events.py index 4428c3074..ec40aa60d 100644 --- a/examples/client-events.py +++ b/examples/client-events.py @@ -1,23 +1,13 @@ -import sys -sys.path.insert(0, "..") - -try: - from IPython import embed -except ImportError: - import code - - def embed(): - vars = globals() - vars.update(locals()) - shell = code.InteractiveConsole(vars) - shell.interact() - +import asyncio +import logging from opcua import Client +logging.basicConfig(level=logging.INFO) +_logger = logging.getLogger('opcua') -class SubHandler(object): +class SubHandler(object): """ Subscription Handler. To receive events from server for a subscription data_change and event methods are called directly from receiving thread. @@ -28,30 +18,39 @@ def event_notification(self, event): print("New event recived: ", event) -if __name__ == "__main__": - - client = Client("opc.tcp://localhost:4840/freeopcua/server/") - # client = Client("opc.tcp://admin@localhost:4840/freeopcua/server/") #connect using a user +async def task(loop): + # url = "opc.tcp://commsvr.com:51234/UA/CAS_UA_Server" + url = "opc.tcp://localhost:4840/freeopcua/server/" + # url = "opc.tcp://admin@localhost:4840/freeopcua/server/" #connect using a user try: - client.connect() + async with Client(url=url) as client: + # Client has a few methods to get proxy to UA nodes that should always be in address space such as Root or Objects + root = client.get_root_node() + _logger.info("Objects node is: %r", root) + + # Now getting a variable node using its browse path + obj = await root.get_child(["0:Objects", "2:MyObject"]) + _logger.info("MyObject is: %r", obj) - # Client has a few methods to get proxy to UA nodes that should always be in address space such as Root or Objects - root = client.get_root_node() - print("Objects node is: ", root) + myevent = await root.get_child(["0:Types", "0:EventTypes", "0:BaseEventType", "2:MyFirstEvent"]) + _logger.info("MyFirstEventType is: %r", myevent) - # Now getting a variable node using its browse path - obj = root.get_child(["0:Objects", "2:MyObject"]) - print("MyObject is: ", obj) + msclt = SubHandler() + sub = await client.create_subscription(100, msclt) + handle = await sub.subscribe_events(obj, myevent) + await sub.unsubscribe(handle) + await sub.delete() + except Exception: + _logger.exception('Error') + loop.stop() - myevent = root.get_child(["0:Types", "0:EventTypes", "0:BaseEventType", "2:MyFirstEvent"]) - print("MyFirstEventType is: ", myevent) - msclt = SubHandler() - sub = client.create_subscription(100, msclt) - handle = sub.subscribe_events(obj, myevent) +def main(): + loop = asyncio.get_event_loop() + loop.set_debug(True) + loop.run_until_complete(task(loop)) + loop.close() - embed() - sub.unsubscribe(handle) - sub.delete() - finally: - client.disconnect() + +if __name__ == "__main__": + main() diff --git a/examples/client-example.py b/examples/client-example.py index eadbcbd40..072c1f82c 100644 --- a/examples/client-example.py +++ b/examples/client-example.py @@ -1,22 +1,12 @@ -import sys -sys.path.insert(0, "..") -import logging -import time - -try: - from IPython import embed -except ImportError: - import code - - def embed(): - vars = globals() - vars.update(locals()) - shell = code.InteractiveConsole(vars) - shell.interact() +import time +import asyncio +import logging from opcua import Client -from opcua import ua + +logging.basicConfig(level=logging.INFO) +_logger = logging.getLogger('opcua') class SubHandler(object): @@ -29,60 +19,63 @@ class SubHandler(object): """ def datachange_notification(self, node, val, data): - print("Python: New data change event", node, val) + print("New data change event", node, val) def event_notification(self, event): - print("Python: New event", event) - + print("New event", event) -if __name__ == "__main__": - logging.basicConfig(level=logging.WARN) - #logger = logging.getLogger("KeepAlive") - #logger.setLevel(logging.DEBUG) - client = Client("opc.tcp://localhost:4840/freeopcua/server/") - # client = Client("opc.tcp://admin@localhost:4840/freeopcua/server/") #connect using a user +async def task(loop): + url = "opc.tcp://commsvr.com:51234/UA/CAS_UA_Server" + # url = "opc.tcp://localhost:4840/freeopcua/server/" try: - client.connect() - - # Client has a few methods to get proxy to UA nodes that should always be in address space such as Root or Objects - root = client.get_root_node() - print("Root node is: ", root) - objects = client.get_objects_node() - print("Objects node is: ", objects) - - # Node objects have methods to read and write node attributes as well as browse or populate address space - print("Children of root are: ", root.get_children()) - - # get a specific node knowing its node id - #var = client.get_node(ua.NodeId(1002, 2)) - #var = client.get_node("ns=3;i=2002") - #print(var) - #var.get_data_value() # get value of node as a DataValue object - #var.get_value() # get value of node as a python builtin - #var.set_value(ua.Variant([23], ua.VariantType.Int64)) #set node value using explicit data type - #var.set_value(3.9) # set node value using implicit data type - - # Now getting a variable node using its browse path - myvar = root.get_child(["0:Objects", "2:MyObject", "2:MyVariable"]) - obj = root.get_child(["0:Objects", "2:MyObject"]) - print("myvar is: ", myvar) - - # subscribing to a variable node - handler = SubHandler() - sub = client.create_subscription(500, handler) - handle = sub.subscribe_data_change(myvar) - time.sleep(0.1) - - # we can also subscribe to events from server - sub.subscribe_events() - # sub.unsubscribe(handle) - # sub.delete() - - # calling a method on server - res = obj.call_method("2:multiply", 3, "klk") - print("method result is: ", res) - - embed() - finally: - client.disconnect() + async with Client(url=url) as client: + root = client.get_root_node() + _logger.info("Root node is: %r", root) + objects = client.get_objects_node() + _logger.info("Objects node is: %r", objects) + + # Node objects have methods to read and write node attributes as well as browse or populate address space + _logger.info("Children of root are: %r", await root.get_children()) + + # get a specific node knowing its node id + #var = client.get_node(ua.NodeId(1002, 2)) + #var = client.get_node("ns=3;i=2002") + #print(var) + #var.get_data_value() # get value of node as a DataValue object + #var.get_value() # get value of node as a python builtin + #var.set_value(ua.Variant([23], ua.VariantType.Int64)) #set node value using explicit data type + #var.set_value(3.9) # set node value using implicit data type + + # Now getting a variable node using its browse path + myvar = await root.get_child(["0:Objects", "2:MyObject", "2:MyVariable"]) + obj = await root.get_child(["0:Objects", "2:MyObject"]) + _logger.info("myvar is: %r", myvar) + + # subscribing to a variable node + handler = SubHandler() + sub = await client.create_subscription(500, handler) + handle = await sub.subscribe_data_change(myvar) + await asyncio.sleep(0.1) + + # we can also subscribe to events from server + await sub.subscribe_events() + # await sub.unsubscribe(handle) + # await sub.delete() + + # calling a method on server + res = obj.call_method("2:multiply", 3, "klk") + _logger.info("method result is: %r", res) + except Exception: + _logger.exception('error') + + +def main(): + loop = asyncio.get_event_loop() + loop.set_debug(True) + loop.run_until_complete(task(loop)) + loop.close() + + +if __name__ == "__main__": + main() diff --git a/examples/client-minimal.py b/examples/client-minimal.py index f24a3e96c..b52ee35f2 100644 --- a/examples/client-minimal.py +++ b/examples/client-minimal.py @@ -1,37 +1,48 @@ -import sys -sys.path.insert(0, "..") +import asyncio +import logging from opcua import Client +logging.basicConfig(level=logging.INFO) +_logger = logging.getLogger('opcua') -if __name__ == "__main__": - client = Client("opc.tcp://localhost:4840/freeopcua/server/") - # client = Client("opc.tcp://admin@localhost:4840/freeopcua/server/") #connect using a user +async def task(loop): + url = "opc.tcp://commsvr.com:51234/UA/CAS_UA_Server" + # url = "opc.tcp://localhost:4840/freeopcua/server/" try: - client.connect() - - # Client has a few methods to get proxy to UA nodes that should always be in address space such as Root or Objects - root = client.get_root_node() - print("Objects node is: ", root) - - # Node objects have methods to read and write node attributes as well as browse or populate address space - print("Children of root are: ", root.get_children()) - - # get a specific node knowing its node id - #var = client.get_node(ua.NodeId(1002, 2)) - #var = client.get_node("ns=3;i=2002") - #print(var) - #var.get_data_value() # get value of node as a DataValue object - #var.get_value() # get value of node as a python builtin - #var.set_value(ua.Variant([23], ua.VariantType.Int64)) #set node value using explicit data type - #var.set_value(3.9) # set node value using implicit data type - - # Now getting a variable node using its browse path - myvar = root.get_child(["0:Objects", "2:MyObject", "2:MyVariable"]) - obj = root.get_child(["0:Objects", "2:MyObject"]) - print("myvar is: ", myvar) - - finally: - client.disconnect() + async with Client(url=url) as client: + # Client has a few methods to get proxy to UA nodes that should always be in address space such as Root or Objects + root = client.get_root_node() + _logger.info("Objects node is: %r", root) + + # Node objects have methods to read and write node attributes as well as browse or populate address space + _logger.info("Children of root are: %r", await root.get_children()) + + # get a specific node knowing its node id + # var = client.get_node(ua.NodeId(1002, 2)) + # var = client.get_node("ns=3;i=2002") + # print(var) + # var.get_data_value() # get value of node as a DataValue object + # var.get_value() # get value of node as a python builtin + # var.set_value(ua.Variant([23], ua.VariantType.Int64)) #set node value using explicit data type + # var.set_value(3.9) # set node value using implicit data type + + # Now getting a variable node using its browse path + myvar = await root.get_child(["0:Objects", "2:MyObject", "2:MyVariable"]) + obj = await root.get_child(["0:Objects", "2:MyObject"]) + _logger.info("myvar is: %r", myvar) + except Exception: + _logger.exception('error') + + +def main(): + loop = asyncio.get_event_loop() + loop.set_debug(True) + loop.run_until_complete(task(loop)) + loop.close() + + +if __name__ == "__main__": + main() diff --git a/examples/server-minimal.py b/examples/server-minimal.py index 4df4e0db0..3e1d6673c 100644 --- a/examples/server-minimal.py +++ b/examples/server-minimal.py @@ -1,38 +1,45 @@ -import sys -sys.path.insert(0, "..") -import time - +import asyncio from opcua import ua, Server -if __name__ == "__main__": - +async def task(loop): # setup our server server = Server() - server.set_endpoint("opc.tcp://0.0.0.0:4840/freeopcua/server/") + server.set_endpoint('opc.tcp://0.0.0.0:4840/freeopcua/server/') # setup our own namespace, not really necessary but should as spec - uri = "http://examples.freeopcua.github.io" - idx = server.register_namespace(uri) + uri = 'http://examples.freeopcua.github.io' + idx = await server.register_namespace(uri) # get Objects node, this is where we should put our nodes objects = server.get_objects_node() # populating our address space - myobj = objects.add_object(idx, "MyObject") - myvar = myobj.add_variable(idx, "MyVariable", 6.7) - myvar.set_writable() # Set MyVariable to be writable by clients + myobj = objects.add_object(idx, 'MyObject') + myvar = myobj.add_variable(idx, 'MyVariable', 6.7) + myvar.set_writable() # Set MyVariable to be writable by clients # starting! - server.start() - + await server.start() + try: count = 0 while True: - time.sleep(1) + await asyncio.sleep(1) count += 0.1 myvar.set_value(count) finally: - #close connection, remove subcsriptions, etc + # close connection, remove subcsriptions, etc server.stop() + + +def main(): + loop = asyncio.get_event_loop() + loop.set_debug(True) + loop.run_until_complete(task(loop)) + loop.close() + + +if __name__ == '__main__': + main() diff --git a/opcua/client/client.py b/opcua/client/client.py index f52e74ef0..3a7fcf07c 100644 --- a/opcua/client/client.py +++ b/opcua/client/client.py @@ -15,48 +15,7 @@ from opcua.crypto import uacrypto, security_policies -class KeepAlive: - """ - Used by Client to keep the session open. - OPCUA defines timeout both for sessions and secure channel - ToDo: remove - """ - - def __init__(self, client, timeout): - """ - :param session_timeout: Timeout to re-new the session - in milliseconds. - """ - self.logger = logging.getLogger(__name__) - self.loop = asyncio.get_event_loop() - self.client = client - self._do_stop = False - self._cond = Condition() - self.timeout = timeout - - # some server support no timeout, but we do not trust them - if self.timeout == 0: - self.timeout = 3600000 # 1 hour - - def run(self): - self.logger.debug("starting keepalive thread with period of %s milliseconds", self.timeout) - server_state = self.client.get_node(ua.FourByteNodeId(ua.ObjectIds.Server_ServerStatus_State)) - while not self._do_stop: - with self._cond: - self._cond.wait(self.timeout / 1000) - if self._do_stop: - break - self.logger.debug("renewing channel") - self.client.open_secure_channel(renew=True) - val = server_state.get_value() - self.logger.debug("server state is: %s ", val) - self.logger.debug("keepalive thread has stopped") - - def stop(self): - self.logger.debug("stoping keepalive thread") - self._do_stop = True - with self._cond: - self._cond.notify_all() +_logger = logging.getLogger(__name__) class Client(object): @@ -82,6 +41,7 @@ def __init__(self, url, timeout=4): time. The timeout is specified in seconds. """ self.logger = logging.getLogger(__name__) + self.loop = asyncio.get_event_loop() self.server_url = urlparse(url) # take initial username and password from the url self._username = self.server_url.username @@ -100,7 +60,7 @@ def __init__(self, url, timeout=4): self.user_private_key = None self._server_nonce = None self._session_counter = 1 - self.keepalive = None + self.keep_alive = None self.nodes = Shortcuts(self.uaclient) self.max_messagesize = 0 # No limits self.max_chunkcount = 0 # No limits @@ -110,7 +70,7 @@ async def __aenter__(self): return self async def __aexit__(self, exc_type, exc_value, traceback): - self.disconnect() + await self.disconnect() @staticmethod def find_endpoint(endpoints, security_mode, policy_uri): @@ -230,6 +190,7 @@ async def connect(self): High level method Connect, create and activate session """ + _logger.info('connect') await self.connect_socket() await self.send_hello() await self.open_secure_channel() @@ -241,6 +202,7 @@ async def disconnect(self): High level method Close session, secure channel and socket """ + _logger.info('disconnect') try: await self.close_session() await self.close_secure_channel() @@ -337,7 +299,6 @@ async def create_session(self): desc.ProductUri = self.product_uri desc.ApplicationName = ua.LocalizedText(self.name) desc.ApplicationType = ua.ApplicationType.Client - params = ua.CreateSessionParameters() # at least 32 random bytes for server to prove possession of private key (specs part 4, 5.6.2.2) nonce = utils.create_nonce(32) @@ -346,7 +307,8 @@ async def create_session(self): params.ClientDescription = desc params.EndpointUrl = self.server_url.geturl() params.SessionName = self.description + " Session" + str(self._session_counter) - params.RequestedSessionTimeout = 3600000 + # Requested maximum number of milliseconds that a Session should remain open without activity + params.RequestedSessionTimeout = 60 * 60 * 1000 params.MaxResponseMessageSize = 0 # means no max size response = await self.uaclient.create_session(params) if self.security_policy.client_certificate is None: @@ -362,13 +324,33 @@ async def create_session(self): # remember PolicyId's: we will use them in activate_session() ep = Client.find_endpoint(response.ServerEndpoints, self.security_policy.Mode, self.security_policy.URI) self._policy_ids = ep.UserIdentityTokens + # Actual maximum number of milliseconds that a Session shall remain open without activity self.session_timeout = response.RevisedSessionTimeout - # 0.7 is from spec - # ToDo: refactor with callback_later - # self.keepalive = KeepAlive(self, min(self.session_timeout, self.secure_channel_timeout) * 0.7) - # self.keepalive.start() + self.keep_alive = self.loop.create_task(self._renew_session()) + # ToDo: subscribe to ServerStatus + """ + The preferred mechanism for a Client to monitor the connection status is through the keep-alive of the + Subscription. A Client should subscribe for the State Variable in the ServerStatus to detect shutdown or other + failure states. If no Subscription is created or the Server does not support Subscriptions, + the connection can be monitored by periodically reading the State Variable + """ return response + async def _renew_session(self): + """ + Renew the SecureChannel before the SessionTimeout will happen. + ToDo: shouldn't this only be done if there was no session activity? + """ + # 0.7 is from spec + await asyncio.sleep(min(self.session_timeout, self.secure_channel_timeout) * 0.7) + server_state = self.get_node(ua.FourByteNodeId(ua.ObjectIds.Server_ServerStatus_State)) + self.logger.debug("renewing channel") + await self.open_secure_channel(renew=True) + val = await server_state.get_value() + self.logger.debug("server state is: %s ", val) + # create new keep-alive task + self.keep_alive = self.loop.create_task(self._renew_session()) + def server_policy_id(self, token_type, default): """ Find PolicyId of server's UserTokenPolicy by token_type. @@ -462,8 +444,8 @@ async def close_session(self): """ Close session """ - if self.keepalive: - self.keepalive.stop() + if self.keep_alive: + self.keep_alive.cancel() return await self.uaclient.close_session(True) def get_root_node(self): diff --git a/opcua/client/ua_client.py b/opcua/client/ua_client.py index 53013d71e..29c865ede 100644 --- a/opcua/client/ua_client.py +++ b/opcua/client/ua_client.py @@ -18,7 +18,7 @@ class UASocketProtocol(asyncio.Protocol): """ def __init__(self, timeout=1, security_policy=ua.SecurityPolicy()): - self.logger = logging.getLogger(__name__ + ".Socket") + self.logger = logging.getLogger(__name__ + ".UASocketProtocol") self.loop = asyncio.get_event_loop() self.transport = None self.receive_buffer = asyncio.Queue() @@ -126,7 +126,7 @@ async def _receive(self): elif isinstance(msg, ua.Acknowledge): self._call_callback(0, msg) elif isinstance(msg, ua.ErrorMessage): - self.logger.warning("Received an error: %s", msg) + self.logger.warning("Received an error: %r", msg) else: raise ua.UaError("Unsupported message type: %s", msg) if self._leftover_chunk or not self.receive_buffer.empty(): @@ -209,7 +209,7 @@ class UaClient: """ def __init__(self, timeout=1): - self.logger = logging.getLogger(__name__) + self.logger = logging.getLogger(__name__ + '.UaClient') self.loop = asyncio.get_event_loop() self._publish_callbacks = {} self._timeout = timeout diff --git a/opcua/common/methods.py b/opcua/common/methods.py index d22eea936..9c5f015d1 100644 --- a/opcua/common/methods.py +++ b/opcua/common/methods.py @@ -41,6 +41,7 @@ def call_method_full(parent, methodid, *args): result.OutputArguments = [var.Value for var in result.OutputArguments] return result + def _call_method(server, parentnodeid, methodid, arguments): request = ua.CallMethodRequest() request.ObjectId = parentnodeid diff --git a/opcua/common/node.py b/opcua/common/node.py index f033e9372..590f29e6e 100644 --- a/opcua/common/node.py +++ b/opcua/common/node.py @@ -3,15 +3,20 @@ and browse address space """ +import logging from opcua import ua from opcua.common import events import opcua.common -def _check_results(results, reqlen = 1): +_logger = logging.getLogger(__name__) + + +def _check_results(results, reqlen=1): assert len(results) == reqlen, results for r in results: r.check() + def _to_nodeid(nodeid): if isinstance(nodeid, int): return ua.TwoByteNodeId(nodeid) diff --git a/opcua/common/subscription.py b/opcua/common/subscription.py index fbdd05adc..e7e79a3c5 100644 --- a/opcua/common/subscription.py +++ b/opcua/common/subscription.py @@ -4,7 +4,6 @@ import time import asyncio import logging -from threading import Lock import collections from opcua import ua @@ -84,8 +83,7 @@ def __init__(self, server, params, handler): self._client_handle = 200 self._handler = handler self.parameters = params # move to data class - self._monitoreditems_map = {} - self._lock = Lock() + self._monitored_items = {} self.subscription_id = None async def init(self): @@ -125,11 +123,10 @@ def publish_callback(self, publishresult): def _call_datachange(self, datachange): for item in datachange.MonitoredItems: - with self._lock: - if item.ClientHandle not in self._monitoreditems_map: - self.logger.warning("Received a notification for unknown handle: %s", item.ClientHandle) - continue - data = self._monitoreditems_map[item.ClientHandle] + if item.ClientHandle not in self._monitored_items: + self.logger.warning("Received a notification for unknown handle: %s", item.ClientHandle) + continue + data = self._monitored_items[item.ClientHandle] if hasattr(self._handler, "datachange_notification"): event_data = DataChangeNotif(data, item) try: @@ -147,8 +144,7 @@ def _call_datachange(self, datachange): def _call_event(self, eventlist): for event in eventlist.Events: - with self._lock: - data = self._monitoreditems_map[event.ClientHandle] + data = self._monitored_items[event.ClientHandle] result = events.Event.from_event_fields(data.mfilter.SelectClauses, event.EventFields) result.server_handle = data.server_handle if hasattr(self._handler, "event_notification"): @@ -219,9 +215,8 @@ def _make_monitored_item_request(self, node, attr, mfilter, queuesize): rv.AttributeId = attr # rv.IndexRange //We leave it null, then the entire array is returned mparams = ua.MonitoringParameters() - with self._lock: - self._client_handle += 1 - mparams.ClientHandle = self._client_handle + self._client_handle += 1 + mparams.ClientHandle = self._client_handle mparams.SamplingInterval = self.parameters.RequestedPublishingInterval mparams.QueueSize = queuesize mparams.DiscardOldest = True @@ -242,31 +237,28 @@ async def create_monitored_items(self, monitored_items): params.SubscriptionId = self.subscription_id params.ItemsToCreate = monitored_items params.TimestampsToReturn = ua.TimestampsToReturn.Both - # insert monitored item into map to avoid notification arrive before result return # server_handle is left as None in purpose as we don't get it yet. - with self._lock: - for mi in monitored_items: - data = SubscriptionItemData() - data.client_handle = mi.RequestedParameters.ClientHandle - data.node = Node(self.server, mi.ItemToMonitor.NodeId) - data.attribute = mi.ItemToMonitor.AttributeId - #TODO: Either use the filter from request or from response. Here it uses from request, in modify it uses from response - data.mfilter = mi.RequestedParameters.Filter - self._monitoreditems_map[mi.RequestedParameters.ClientHandle] = data + for mi in monitored_items: + data = SubscriptionItemData() + data.client_handle = mi.RequestedParameters.ClientHandle + data.node = Node(self.server, mi.ItemToMonitor.NodeId) + data.attribute = mi.ItemToMonitor.AttributeId + #TODO: Either use the filter from request or from response. Here it uses from request, in modify it uses from response + data.mfilter = mi.RequestedParameters.Filter + self._monitored_items[mi.RequestedParameters.ClientHandle] = data results = await self.server.create_monitored_items(params) mids = [] # process result, add server_handle, or remove it if failed - with self._lock: - for idx, result in enumerate(results): - mi = params.ItemsToCreate[idx] - if not result.StatusCode.is_good(): - del self._monitoreditems_map[mi.RequestedParameters.ClientHandle] - mids.append(result.StatusCode) - continue - data = self._monitoreditems_map[mi.RequestedParameters.ClientHandle] - data.server_handle = result.MonitoredItemId - mids.append(result.MonitoredItemId) + for idx, result in enumerate(results): + mi = params.ItemsToCreate[idx] + if not result.StatusCode.is_good(): + del self._monitored_items[mi.RequestedParameters.ClientHandle] + mids.append(result.StatusCode) + continue + data = self._monitored_items[mi.RequestedParameters.ClientHandle] + data.server_handle = result.MonitoredItemId + mids.append(result.MonitoredItemId) return mids async def unsubscribe(self, handle): @@ -279,11 +271,10 @@ async def unsubscribe(self, handle): params.MonitoredItemIds = [handle] results = await self.server.delete_monitored_items(params) results[0].check() - with self._lock: - for k, v in self._monitoreditems_map.items(): - if v.server_handle == handle: - del(self._monitoreditems_map[k]) - return + for k, v in self._monitored_items.items(): + if v.server_handle == handle: + del(self._monitored_items[k]) + return async def modify_monitored_item(self, handle, new_samp_time, new_queuesize=0, mod_filter_val=-1): """ @@ -294,9 +285,9 @@ async def modify_monitored_item(self, handle, new_samp_time, new_queuesize=0, mo :param mod_filter_val: New deadband filter value :return: Return a Modify Monitored Item Result """ - for monitored_item_index in self._monitoreditems_map: - if self._monitoreditems_map[monitored_item_index].server_handle == handle: - item_to_change = self._monitoreditems_map[monitored_item_index] + for monitored_item_index in self._monitored_items: + if self._monitored_items[monitored_item_index].server_handle == handle: + item_to_change = self._monitored_items[monitored_item_index] break if mod_filter_val is None: mod_filter = None @@ -320,8 +311,7 @@ async def modify_monitored_item(self, handle, new_samp_time, new_queuesize=0, mo def _modify_monitored_item_request(self, new_queuesize, new_samp_time, mod_filter, client_handle): req_params = ua.MonitoringParameters() - with self._lock: - req_params.ClientHandle = client_handle + req_params.ClientHandle = client_handle req_params.QueueSize = new_queuesize req_params.Filter = mod_filter req_params.SamplingInterval = new_samp_time diff --git a/opcua/common/utils.py b/opcua/common/utils.py index 6a1be0fb6..464fc09fc 100644 --- a/opcua/common/utils.py +++ b/opcua/common/utils.py @@ -120,90 +120,3 @@ def write(self, data): def create_nonce(size=32): return os.urandom(size) - - -class ThreadLoop(threading.Thread): - """ - run an asyncio loop in a thread - """ - - def __init__(self): - threading.Thread.__init__(self) - self.logger = logging.getLogger(__name__) - self.loop = None - self._cond = threading.Condition() - - def start(self): - with self._cond: - threading.Thread.start(self) - self._cond.wait() - - def run(self): - self.logger.debug("Starting subscription thread") - self.loop = asyncio.new_event_loop() - asyncio.set_event_loop(self.loop) - with self._cond: - self._cond.notify_all() - self.loop.run_forever() - self.logger.debug("subscription thread ended") - - def create_server(self, proto, hostname, port): - return self.loop.create_server(proto, hostname, port) - - def stop(self): - """ - stop subscription loop, thus the subscription thread - """ - self.loop.call_soon_threadsafe(self.loop.stop) - - def call_soon(self, callback): - self.loop.call_soon_threadsafe(callback) - - def call_later(self, delay, callback): - """ - threadsafe call_later from asyncio - """ - p = functools.partial(self.loop.call_later, delay, callback) - self.loop.call_soon_threadsafe(p) - - def _create_task(self, future, coro, cb=None): - #task = self.loop.create_task(coro) - task = asyncio.async(coro, loop=self.loop) - if cb: - task.add_done_callback(cb) - future.set_result(task) - - def create_task(self, coro, cb=None): - """ - threadsafe create_task from asyncio - """ - future = Future() - p = functools.partial(self._create_task, future, coro, cb) - self.loop.call_soon_threadsafe(p) - return future.result() - - def run_coro_and_wait(self, coro): - cond = threading.Condition() - def cb(_): - with cond: - cond.notify_all() - with cond: - task = self.create_task(coro, cb) - cond.wait() - return task.result() - - def _run_until_complete(self, future, coro): - task = self.loop.run_until_complete(coro) - future.set_result(task) - - def run_until_complete(self, coro): - """ - threadsafe run_until_completed from asyncio - """ - future = Future() - p = functools.partial(self._run_until_complete, future, coro) - self.loop.call_soon_threadsafe(p) - return future.result() - - - diff --git a/opcua/crypto/uacrypto.py b/opcua/crypto/uacrypto.py index 890cbd9a7..22783bd02 100644 --- a/opcua/crypto/uacrypto.py +++ b/opcua/crypto/uacrypto.py @@ -172,4 +172,3 @@ def x509_to_string(cert): issuer = ', issuer: {0}'.format(x509_name_to_string(cert.issuer)) # TODO: show more information return "{0}{1}, {2} - {3}".format(x509_name_to_string(cert.subject), issuer, cert.not_valid_before, cert.not_valid_after) - diff --git a/opcua/server/binary_server_asyncio.py b/opcua/server/binary_server_asyncio.py index e5c4c295a..565917792 100644 --- a/opcua/server/binary_server_asyncio.py +++ b/opcua/server/binary_server_asyncio.py @@ -2,12 +2,7 @@ Socket server forwarding request to internal server """ import logging -try: - # we prefer to use bundles asyncio version, otherwise fallback to trollius - import asyncio -except ImportError: - import trollius as asyncio - +import asyncio from opcua import ua import opcua.ua.ua_binary as uabin @@ -16,14 +11,86 @@ logger = logging.getLogger(__name__) -class BinaryServer(object): +class OPCUAProtocol(asyncio.Protocol): + """ + instanciated for every connection + defined as internal class since it needs access + to the internal server object + FIXME: find another solution + """ + def __init__(self, iserver=None, policies=None, clients=None): + self.peer_name = None + self.transport = None + self.processor = None + self.data = b'' + self.iserver = iserver + self.policies = policies + self.clients = clients + + def __str__(self): + return 'OPCUAProtocol({}, {})'.format(self.peer_name, self.processor.session) + + __repr__ = __str__ + + def connection_made(self, transport): + self.peer_name = transport.get_extra_info('peername') + logger.info('New connection from %s', self.peer_name) + self.transport = transport + self.processor = UaProcessor(self.iserver, self.transport) + self.processor.set_policies(self.policies) + self.iserver.asyncio_transports.append(transport) + self.clients.append(self) + + def connection_lost(self, ex): + logger.info('Lost connection from %s, %s', self.peer_name, ex) + self.transport.close() + self.iserver.asyncio_transports.remove(self.transport) + self.processor.close() + if self in self.clients: + self.clients.remove(self) + + def data_received(self, data): + logger.debug('received %s bytes from socket', len(data)) + if self.data: + data = self.data + data + self.data = b'' + self._process_data(data) + + def _process_data(self, data): + buf = ua.utils.Buffer(data) + while True: + try: + backup_buf = buf.copy() + try: + hdr = uabin.header_from_binary(buf) + except ua.utils.NotEnoughData: + logger.info('We did not receive enough data from client, waiting for more') + self.data = backup_buf.read(len(backup_buf)) + return + if len(buf) < hdr.body_size: + logger.info('We did not receive enough data from client, waiting for more') + self.data = backup_buf.read(len(backup_buf)) + return + ret = self.processor.process(hdr, buf) + if not ret: + logger.info('processor returned False, we close connection from %s', self.peer_name) + self.transport.close() + return + if len(buf) == 0: + return + except Exception: + logger.exception('Exception raised while parsing message from client, closing') + return + + +class BinaryServer: def __init__(self, internal_server, hostname, port): self.logger = logging.getLogger(__name__) self.hostname = hostname self.port = port self.iserver = internal_server - self.loop = internal_server.loop + self.loop = asyncio.get_event_loop() self._server = None self._policies = [] self.clients = [] @@ -31,80 +98,12 @@ def __init__(self, internal_server, hostname, port): def set_policies(self, policies): self._policies = policies - def start(self): - - class OPCUAProtocol(asyncio.Protocol): - - """ - instanciated for every connection - defined as internal class since it needs access - to the internal server object - FIXME: find another solution - """ - - iserver = self.iserver - loop = self.loop - logger = self.logger - policies = self._policies - clients = self.clients - - def __str__(self): - return "OPCUAProtocol({}, {})".format(self.peername, self.processor.session) - __repr__ = __str__ - - def connection_made(self, transport): - self.peername = transport.get_extra_info('peername') - self.logger.info('New connection from %s', self.peername) - self.transport = transport - self.processor = UaProcessor(self.iserver, self.transport) - self.processor.set_policies(self.policies) - self.data = b"" - self.iserver.asyncio_transports.append(transport) - self.clients.append(self) - - def connection_lost(self, ex): - self.logger.info('Lost connection from %s, %s', self.peername, ex) - self.transport.close() - self.iserver.asyncio_transports.remove(self.transport) - self.processor.close() - if self in self.clients: - self.clients.remove(self) - - def data_received(self, data): - logger.debug("received %s bytes from socket", len(data)) - if self.data: - data = self.data + data - self.data = b"" - self._process_data(data) - - def _process_data(self, data): - buf = ua.utils.Buffer(data) - while True: - try: - backup_buf = buf.copy() - try: - hdr = uabin.header_from_binary(buf) - except ua.utils.NotEnoughData: - logger.info("We did not receive enough data from client, waiting for more") - self.data = backup_buf.read(len(backup_buf)) - return - if len(buf) < hdr.body_size: - logger.info("We did not receive enough data from client, waiting for more") - self.data = backup_buf.read(len(backup_buf)) - return - ret = self.processor.process(hdr, buf) - if not ret: - logger.info("processor returned False, we close connection from %s", self.peername) - self.transport.close() - return - if len(buf) == 0: - return - except Exception: - logger.exception("Exception raised while parsing message from client, closing") - return - - coro = self.loop.create_server(OPCUAProtocol, self.hostname, self.port) - self._server = self.loop.run_coro_and_wait(coro) + def _make_protocol(self): + """Protocol Factory""" + return OPCUAProtocol(iserver=self.iserver, policies=self._policies, clients=self.clients) + + async def start(self): + self._server = await self.loop.create_server(self._make_protocol, self.hostname, self.port) # get the port and the hostname from the created server socket # only relevant for dynamic port asignment (when self.port == 0) if self.port == 0 and len(self._server.sockets) == 1: @@ -115,10 +114,10 @@ def _process_data(self, data): self.port = sockname[1] self.logger.warning('Listening on {0}:{1}'.format(self.hostname, self.port)) - def stop(self): - self.logger.info("Closing asyncio socket server") + async def stop(self): + self.logger.info('Closing asyncio socket server') for transport in self.iserver.asyncio_transports: transport.close() if self._server: self.loop.call_soon(self._server.close) - self.loop.run_coro_and_wait(self._server.wait_closed()) + await self._server.wait_closed() diff --git a/opcua/server/internal_server.py b/opcua/server/internal_server.py index 56556edf2..2cd2ec5cc 100644 --- a/opcua/server/internal_server.py +++ b/opcua/server/internal_server.py @@ -3,22 +3,18 @@ Can be used on server side or to implement binary/https opc-ua servers """ -from datetime import datetime, timedelta -from copy import copy, deepcopy + import os +import asyncio import logging -from threading import Lock from enum import Enum -try: - from urllib.parse import urlparse -except ImportError: - from urlparse import urlparse - +from copy import copy, deepcopy +from urllib.parse import urlparse +from datetime import datetime, timedelta from opcua import ua from opcua.common import utils -from opcua.common.callback import (CallbackType, ServerItemCallback, - CallbackDispatcher) +from opcua.common.callback import CallbackType, ServerItemCallback, CallbackDispatcher from opcua.common.node import Node from opcua.server.history import HistoryManager from opcua.server.address_space import AddressSpace @@ -29,7 +25,6 @@ from opcua.server.subscription_service import SubscriptionService from opcua.server.standard_address_space import standard_address_space from opcua.server.users import User -#from opcua.common import xmlimporter class SessionState(Enum): @@ -48,27 +43,21 @@ class InternalServer(object): def __init__(self, shelffile=None): self.logger = logging.getLogger(__name__) - self.server_callback_dispatcher = CallbackDispatcher() - self.endpoints = [] self._channel_id_counter = 5 self.allow_remote_admin = True self.disabled_clock = False # for debugging we may want to disable clock that writes too much in log self._known_servers = {} # used if we are a discovery server - self.aspace = AddressSpace() self.attribute_service = AttributeService(self.aspace) self.view_service = ViewService(self.aspace) self.method_service = MethodService(self.aspace) self.node_mgt_service = NodeManagementService(self.aspace) - self.load_standard_address_space(shelffile) - - self.loop = utils.ThreadLoop() + self.loop = asyncio.get_event_loop() self.asyncio_transports = [] self.subscription_service = SubscriptionService(self.loop, self.aspace) - self.history_manager = HistoryManager(self) # create a session to use on server side @@ -78,13 +67,16 @@ def __init__(self, shelffile=None): self._address_space_fixes() self.setup_nodes() - def setup_nodes(self): + async def init(self): + pass + + async def setup_nodes(self): """ Set up some nodes as defined by spec """ - uries = ["http://opcfoundation.org/UA/"] + uries = ['http://opcfoundation.org/UA/'] ns_node = Node(self.isession, ua.NodeId(ua.ObjectIds.Server_NamespaceArray)) - ns_node.set_value(uries) + await ns_node.set_value(uries) def load_standard_address_space(self, shelffile=None): if shelffile is not None and os.path.isfile(shelffile): @@ -128,19 +120,17 @@ def dump_address_space(self, path): self.aspace.dump(path) def start(self): - self.logger.info("starting internal server") + self.logger.info('starting internal server') for edp in self.endpoints: self._known_servers[edp.Server.ApplicationUri] = ServerDesc(edp.Server) - self.loop.start() Node(self.isession, ua.NodeId(ua.ObjectIds.Server_ServerStatus_State)).set_value(0, ua.VariantType.Int32) Node(self.isession, ua.NodeId(ua.ObjectIds.Server_ServerStatus_StartTime)).set_value(datetime.utcnow()) if not self.disabled_clock: self._set_current_time() def stop(self): - self.logger.info("stopping internal server") + self.logger.info('stopping internal server') self.isession.close_session() - self.loop.stop() self.history_manager.stop() def _set_current_time(self): @@ -155,14 +145,14 @@ def add_endpoint(self, endpoint): self.endpoints.append(endpoint) def get_endpoints(self, params=None, sockname=None): - self.logger.info("get endpoint") + self.logger.info('get endpoint') if sockname: # return to client the ip address it has access to edps = [] for edp in self.endpoints: edp1 = copy(edp) url = urlparse(edp1.EndpointUrl) - url = url._replace(netloc=sockname[0] + ":" + str(sockname[1])) + url = url._replace(netloc=sockname[0] + ':' + str(sockname[1])) edp1.EndpointUrl = url.geturl() edps.append(edp1) return edps @@ -173,9 +163,9 @@ def find_servers(self, params): return [desc.Server for desc in self._known_servers.values()] servers = [] for serv in self._known_servers.values(): - serv_uri = serv.Server.ApplicationUri.split(":") + serv_uri = serv.Server.ApplicationUri.split(':') for uri in params.ServerUris: - uri = uri.split(":") + uri = uri.split(':') if serv_uri[:len(uri)] == uri: servers.append(serv.Server) break @@ -223,7 +213,7 @@ def enable_history_event(self, source, period=timedelta(days=7), count=0): """ event_notifier = source.get_event_notifier() if ua.EventNotifier.SubscribeToEvents not in event_notifier: - raise ua.UaError("Node does not generate events", event_notifier) + raise ua.UaError('Node does not generate events', event_notifier) if ua.EventNotifier.HistoryRead not in event_notifier: event_notifier.add(ua.EventNotifier.HistoryRead) @@ -270,18 +260,17 @@ def __init__(self, internal_server, aspace, submgr, name, user=User.Anonymous, e self.authentication_token = ua.NodeId(self._auth_counter) InternalSession._auth_counter += 1 self.subscriptions = [] - self.logger.info("Created internal session %s", self.name) - self._lock = Lock() + self.logger.info('Created internal session %s', self.name) def __str__(self): - return "InternalSession(name:{0}, user:{1}, id:{2}, auth_token:{3})".format( + return 'InternalSession(name:{0}, user:{1}, id:{2}, auth_token:{3})'.format( self.name, self.user, self.session_id, self.authentication_token) def get_endpoints(self, params=None, sockname=None): return self.iserver.get_endpoints(params, sockname) def create_session(self, params, sockname=None): - self.logger.info("Create session request") + self.logger.info('Create session request') result = ua.CreateSessionResult() result.SessionId = self.session_id @@ -295,12 +284,12 @@ def create_session(self, params, sockname=None): return result def close_session(self, delete_subs=True): - self.logger.info("close session %s with subscriptions %s", self, self.subscriptions) + self.logger.info('close session %s with subscriptions %s', self, self.subscriptions) self.state = SessionState.Closed self.delete_subscriptions(self.subscriptions[:]) def activate_session(self, params): - self.logger.info("activate session") + self.logger.info('activate session') result = ua.ActivateSessionResult() if self.state != SessionState.Created: raise utils.ServiceError(ua.StatusCodes.BadSessionIdInvalid) @@ -311,9 +300,9 @@ def activate_session(self, params): self.state = SessionState.Activated id_token = params.UserIdentityToken if isinstance(id_token, ua.UserNameIdentityToken): - if self.iserver.allow_remote_admin and id_token.UserName in ("admin", "Admin"): + if self.iserver.allow_remote_admin and id_token.UserName in ('admin', 'Admin'): self.user = User.Admin - self.logger.info("Activated internal session %s for user %s", self.name, self.user) + self.logger.info('Activated internal session %s for user %s', self.name, self.user) return result def read(self, params): @@ -358,8 +347,7 @@ def call(self, params): def create_subscription(self, params, callback): result = self.subscription_service.create_subscription(params, callback) - with self._lock: - self.subscriptions.append(result.SubscriptionId) + self.subscriptions.append(result.SubscriptionId) return result def create_monitored_items(self, params): @@ -379,9 +367,8 @@ def republish(self, params): def delete_subscriptions(self, ids): for i in ids: - with self._lock: - if i in self.subscriptions: - self.subscriptions.remove(i) + if i in self.subscriptions: + self.subscriptions.remove(i) return self.subscription_service.delete_subscriptions(ids) def delete_monitored_items(self, params): diff --git a/opcua/server/server.py b/opcua/server/server.py index 417f43b05..ba4bc5193 100644 --- a/opcua/server/server.py +++ b/opcua/server/server.py @@ -2,13 +2,10 @@ High level interface to pure python OPC-UA server """ +import asyncio import logging from datetime import timedelta -try: - from urllib.parse import urlparse -except ImportError: - from urlparse import urlparse - +from urllib.parse import urlparse from opcua import ua # from opcua.binary_server import BinaryServer @@ -26,6 +23,7 @@ from opcua.common.xmlexporter import XmlExporter from opcua.common.xmlimporter import XmlImporter from opcua.common.ua_utils import get_nodes_of_namespace + use_crypto = True try: from opcua.crypto import uacrypto @@ -34,8 +32,7 @@ use_crypto = False -class Server(object): - +class Server: """ High level Server class @@ -73,17 +70,16 @@ class Server(object): :vartype bserver: BinaryServer :ivar nodes: shortcuts to common nodes :vartype nodes: Shortcuts - """ def __init__(self, shelffile=None, iserver=None): self.logger = logging.getLogger(__name__) - self.endpoint = urlparse("opc.tcp://0.0.0.0:4840/freeopcua/server/") - self.application_uri = "urn:freeopcua:python:server" - self.product_uri = "urn:freeopcua.github.no:python:server" - self.name = "FreeOpcUa Python Server" + self.endpoint = urlparse('opc.tcp://0.0.0.0:4840/freeopcua/server/') + self.application_uri = 'urn:freeopcua:python:server' + self.product_uri = 'urn:freeopcua.github.no:python:server' + self.name = 'FreeOpcUa Python Server' self.application_type = ua.ApplicationType.ClientAndServer - self.default_timeout = 3600000 + self.default_timeout = 60 * 60 * 1000 if iserver is not None: self.iserver = iserver else: @@ -95,16 +91,15 @@ def __init__(self, shelffile=None, iserver=None): self.private_key = None self._policies = [] self.nodes = Shortcuts(self.iserver.isession) - # setup some expected values sa_node = self.get_node(ua.NodeId(ua.ObjectIds.Server_ServerArray)) sa_node.set_value([self.application_uri]) - def __enter__(self): + def __aenter__(self): self.start() return self - def __exit__(self, exc_type, exc_value, traceback): + def __aexit__(self, exc_type, exc_value, traceback): self.stop() async def load_certificate(self, path): @@ -199,34 +194,43 @@ def _setup_server_nodes(self): self._set_endpoints() self._policies = [ua.SecurityPolicyFactory()] if self.certificate and self.private_key: - self._set_endpoints(security_policies.SecurityPolicyBasic128Rsa15, - ua.MessageSecurityMode.SignAndEncrypt) - self._policies.append(ua.SecurityPolicyFactory(security_policies.SecurityPolicyBasic128Rsa15, - ua.MessageSecurityMode.SignAndEncrypt, - self.certificate, - self.private_key) - ) - self._set_endpoints(security_policies.SecurityPolicyBasic128Rsa15, - ua.MessageSecurityMode.Sign) - self._policies.append(ua.SecurityPolicyFactory(security_policies.SecurityPolicyBasic128Rsa15, - ua.MessageSecurityMode.Sign, - self.certificate, - self.private_key) - ) - self._set_endpoints(security_policies.SecurityPolicyBasic256, - ua.MessageSecurityMode.SignAndEncrypt) - self._policies.append(ua.SecurityPolicyFactory(security_policies.SecurityPolicyBasic256, - ua.MessageSecurityMode.SignAndEncrypt, - self.certificate, - self.private_key) - ) - self._set_endpoints(security_policies.SecurityPolicyBasic256, - ua.MessageSecurityMode.Sign) - self._policies.append(ua.SecurityPolicyFactory(security_policies.SecurityPolicyBasic256, - ua.MessageSecurityMode.Sign, - self.certificate, - self.private_key) - ) + self._set_endpoints( + security_policies.SecurityPolicyBasic128Rsa15, ua.MessageSecurityMode.SignAndEncrypt + ) + self._policies.append( + ua.SecurityPolicyFactory( + security_policies.SecurityPolicyBasic128Rsa15, + ua.MessageSecurityMode.SignAndEncrypt, + self.certificate, + self.private_key) + ) + self._set_endpoints(security_policies.SecurityPolicyBasic128Rsa15, ua.MessageSecurityMode.Sign) + self._policies.append( + ua.SecurityPolicyFactory( + security_policies.SecurityPolicyBasic128Rsa15, + ua.MessageSecurityMode.Sign, + self.certificate, + self.private_key + ) + ) + self._set_endpoints(security_policies.SecurityPolicyBasic256, ua.MessageSecurityMode.SignAndEncrypt) + self._policies.append( + ua.SecurityPolicyFactory( + security_policies.SecurityPolicyBasic256, + ua.MessageSecurityMode.SignAndEncrypt, + self.certificate, + self.private_key + ) + ) + self._set_endpoints(security_policies.SecurityPolicyBasic256, ua.MessageSecurityMode.Sign) + self._policies.append( + ua.SecurityPolicyFactory( + security_policies.SecurityPolicyBasic256, + ua.MessageSecurityMode.Sign, + self.certificate, + self.private_key + ) + ) def _set_endpoints(self, policy=ua.SecurityPolicy, mode=ua.MessageSecurityMode.None_): idtoken = ua.UserTokenPolicy() @@ -267,7 +271,7 @@ def _set_endpoints(self, policy=ua.SecurityPolicy, mode=ua.MessageSecurityMode.N def set_server_name(self, name): self.name = name - def start(self): + async def start(self): """ Start to listen on network """ @@ -276,12 +280,11 @@ def start(self): try: self.bserver = BinaryServer(self.iserver, self.endpoint.hostname, self.endpoint.port) self.bserver.set_policies(self._policies) - self.bserver.start() + await self.bserver.start() except Exception as exp: self.iserver.stop() raise exp - def stop(self): """ Stop server @@ -332,30 +335,30 @@ async def create_subscription(self, period, handler): await subscription.init() return subscription - def get_namespace_array(self): + async def get_namespace_array(self): """ get all namespace defined in server """ ns_node = self.get_node(ua.NodeId(ua.ObjectIds.Server_NamespaceArray)) - return ns_node.get_value() + return await ns_node.get_value() - def register_namespace(self, uri): + async def register_namespace(self, uri): """ Register a new namespace. Nodes should in custom namespace, not 0. """ ns_node = self.get_node(ua.NodeId(ua.ObjectIds.Server_NamespaceArray)) - uries = ns_node.get_value() + uries = await ns_node.get_value() if uri in uries: return uries.index(uri) uries.append(uri) ns_node.set_value(uries) return len(uries) - 1 - def get_namespace_index(self, uri): + async def get_namespace_index(self, uri): """ get index of a namespace using its uri """ - uries = self.get_namespace_array() + uries = await self.get_namespace_array() return uries.index(uri) def get_event_generator(self, etype=None, source=ua.ObjectIds.Server): @@ -377,7 +380,8 @@ def create_custom_event_type(self, idx, name, basetype=ua.ObjectIds.BaseEventTyp properties = [] return self._create_custom_type(idx, name, basetype, properties, [], []) - def create_custom_object_type(self, idx, name, basetype=ua.ObjectIds.BaseObjectType, properties=None, variables=None, methods=None): + def create_custom_object_type(self, idx, name, basetype=ua.ObjectIds.BaseObjectType, properties=None, + variables=None, methods=None): if properties is None: properties = [] if variables is None: @@ -387,9 +391,10 @@ def create_custom_object_type(self, idx, name, basetype=ua.ObjectIds.BaseObjectT return self._create_custom_type(idx, name, basetype, properties, variables, methods) # def create_custom_reference_type(self, idx, name, basetype=ua.ObjectIds.BaseReferenceType, properties=[]): - # return self._create_custom_type(idx, name, basetype, properties) + # return self._create_custom_type(idx, name, basetype, properties) - def create_custom_variable_type(self, idx, name, basetype=ua.ObjectIds.BaseVariableType, properties=None, variables=None, methods=None): + def create_custom_variable_type(self, idx, name, basetype=ua.ObjectIds.BaseVariableType, properties=None, + variables=None, methods=None): if properties is None: properties = [] if variables is None: @@ -416,10 +421,11 @@ def _create_custom_type(self, idx, name, basetype, properties, variables, method datatype = None if len(variable) > 2: datatype = variable[2] - custom_t.add_variable(idx, variable[0], ua.get_default_value(variable[1]), varianttype=variable[1], datatype=datatype) + custom_t.add_variable( + idx, variable[0], ua.get_default_value(variable[1]), varianttype=variable[1], datatype=datatype + ) for method in methods: custom_t.add_method(idx, method[0], method[1], method[2], method[3]) - return custom_t def import_xml(self, path): diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/test_client.py b/tests/test_client.py new file mode 100644 index 000000000..7256a589b --- /dev/null +++ b/tests/test_client.py @@ -0,0 +1,119 @@ +import pytest + +from opcua import Client +from opcua import Server +from opcua import ua + +from .tests_subscriptions import SubscriptionTests +from .tests_common import CommonTests, add_server_methods +from .tests_xml import XmlTests + +port_num1 = 48510 + + +@pytest.yield_fixture() +async def admin_client(): + # start admin client + # long timeout since travis (automated testing) can be really slow + clt = Client(f'opc.tcp://admin@127.0.0.1:{port_num1}', timeout=10) + await clt.connect() + yield clt + await clt.disconnect() + + +@pytest.yield_fixture() +async def client(): + # start anonymous client + ro_clt = Client(f'opc.tcp://127.0.0.1:{port_num1}') + await ro_clt.connect() + yield ro_clt + await ro_clt.disconnect() + + +@pytest.yield_fixture() +async def server(): + # start our own server + srv = Server() + await srv.set_endpoint(f'opc.tcp://127.0.0.1:{port_num1}') + add_server_methods(srv) + await srv.start() + yield srv + # stop the server + await srv.stop() + + +@pytest.mark.asyncio +async def test_service_fault(server, admin_client): + request = ua.ReadRequest() + request.TypeId = ua.FourByteNodeId(999) # bad type! + with pytest.raises(ua.UaStatusCodeError): + await admin_client.uaclient.protocol.send_request(request) + + +@pytest.mark.asyncio +async def test_objects_anonymous(server, client): + objects = client.get_objects_node() + with pytest.raises(ua.UaStatusCodeError): + objects.set_attribute(ua.AttributeIds.WriteMask, ua.DataValue(999)) + with pytest.raises(ua.UaStatusCodeError): + f = objects.add_folder(3, 'MyFolder') + + +@pytest.mark.asyncio +async def test_folder_anonymous(server, client): + objects = client.get_objects_node() + f = objects.add_folder(3, 'MyFolderRO') + f_ro = client.get_node(f.nodeid) + assert f == f_ro + with pytest.raises(ua.UaStatusCodeError): + f2 = f_ro.add_folder(3, 'MyFolder2') + + +@pytest.mark.asyncio +async def test_variable_anonymous(server, admin_client, client): + objects = admin_client.get_objects_node() + v = objects.add_variable(3, 'MyROVariable', 6) + v.set_value(4) # this should work + v_ro = client.get_node(v.nodeid) + with pytest.raises(ua.UaStatusCodeError): + v_ro.set_value(2) + assert await v_ro.get_value() == 4 + v.set_writable(True) + v_ro.set_value(2) # now it should work + assert await v_ro.get_value() == 2 + v.set_writable(False) + with pytest.raises(ua.UaStatusCodeError): + v_ro.set_value(9) + assert await v_ro.get_value() == 2 + + +@pytest.mark.asyncio +async def test_context_manager(server): + """Context manager calls connect() and disconnect()""" + state = [0] + + def increment_state(*args, **kwargs): + state[0] += 1 + + # create client and replace instance methods with dummy methods + client = Client('opc.tcp://dummy_address:10000') + client.connect = increment_state.__get__(client) + client.disconnect = increment_state.__get__(client) + + assert state[0] == 0 + with client: + # test if client connected + assert state[0] == 1 + # test if client disconnected + assert state[0] == 2 + + +@pytest.mark.asyncio +async def test_enumstrings_getvalue(server, client): + """ + The real exception is server side, but is detected by using a client. + All due the server trace is also visible on the console. + The client only 'sees' an TimeoutError + """ + nenumstrings = client.get_node(ua.ObjectIds.AxisScaleEnumeration_EnumStrings) + value = ua.Variant(nenumstrings.get_value()) diff --git a/tests/tests.py b/tests/tests.py deleted file mode 100644 index 677116897..000000000 --- a/tests/tests.py +++ /dev/null @@ -1,25 +0,0 @@ -import unittest -import logging -import sys -sys.path.insert(0, "..") -sys.path.insert(0, ".") - - -from tests_cmd_lines import TestCmdLines -from tests_server import TestServer, TestServerCaching, TestServerStartError -from tests_client import TestClient -from tests_standard_address_space import StandardAddressSpaceTests -from tests_unit import TestUnit, TestMaskEnum -from tests_history import TestHistory, TestHistorySQL, TestHistoryLimits, TestHistorySQLLimits -from tests_crypto_connect import TestCryptoConnect -from tests_uaerrors import TestUaErrors - - -if __name__ == '__main__': - logging.basicConfig(level=logging.WARNING) - #l = logging.getLogger("opcua.server.internal_subscription") - #l.setLevel(logging.DEBUG) - #l = logging.getLogger("opcua.server.internal_server") - #l.setLevel(logging.DEBUG) - - unittest.main(verbosity=3) diff --git a/tests/tests_client.py b/tests/tests_client.py deleted file mode 100644 index a5b79dfb0..000000000 --- a/tests/tests_client.py +++ /dev/null @@ -1,111 +0,0 @@ -import unittest - -from opcua import Client -from opcua import Server -from opcua import ua - -from tests_subscriptions import SubscriptionTests -from tests_common import CommonTests, add_server_methods -from tests_xml import XmlTests - -port_num1 = 48510 - - -class TestClient(unittest.TestCase, CommonTests, SubscriptionTests, XmlTests): - - ''' - Run common tests on client side - Of course we need a server so we start also start a server - Tests that can only be run on client side must be defined in this class - ''' - @classmethod - def setUpClass(cls): - # start our own server - cls.srv = Server() - cls.srv.set_endpoint('opc.tcp://127.0.0.1:{0:d}'.format(port_num1)) - add_server_methods(cls.srv) - cls.srv.start() - - # start admin client - # long timeout since travis (automated testing) can be really slow - cls.clt = Client('opc.tcp://admin@127.0.0.1:{0:d}'.format(port_num1), timeout=10) - cls.clt.connect() - cls.opc = cls.clt - - # start anonymous client - cls.ro_clt = Client('opc.tcp://127.0.0.1:{0:d}'.format(port_num1)) - cls.ro_clt.connect() - - @classmethod - def tearDownClass(cls): - #stop our clients - cls.ro_clt.disconnect() - cls.clt.disconnect() - # stop the server - cls.srv.stop() - - def test_service_fault(self): - request = ua.ReadRequest() - request.TypeId = ua.FourByteNodeId(999) # bad type! - with self.assertRaises(ua.UaStatusCodeError): - self.clt.uaclient._uasocket.send_request(request) - - def test_objects_anonymous(self): - objects = self.ro_clt.get_objects_node() - with self.assertRaises(ua.UaStatusCodeError): - objects.set_attribute(ua.AttributeIds.WriteMask, ua.DataValue(999)) - with self.assertRaises(ua.UaStatusCodeError): - f = objects.add_folder(3, 'MyFolder') - - def test_folder_anonymous(self): - objects = self.clt.get_objects_node() - f = objects.add_folder(3, 'MyFolderRO') - f_ro = self.ro_clt.get_node(f.nodeid) - self.assertEqual(f, f_ro) - with self.assertRaises(ua.UaStatusCodeError): - f2 = f_ro.add_folder(3, 'MyFolder2') - - def test_variable_anonymous(self): - objects = self.clt.get_objects_node() - v = objects.add_variable(3, 'MyROVariable', 6) - v.set_value(4) #this should work - v_ro = self.ro_clt.get_node(v.nodeid) - with self.assertRaises(ua.UaStatusCodeError): - v_ro.set_value(2) - self.assertEqual(v_ro.get_value(), 4) - v.set_writable(True) - v_ro.set_value(2) #now it should work - self.assertEqual(v_ro.get_value(), 2) - v.set_writable(False) - with self.assertRaises(ua.UaStatusCodeError): - v_ro.set_value(9) - self.assertEqual(v_ro.get_value(), 2) - - def test_context_manager(self): - """ Context manager calls connect() and disconnect() - """ - state = [0] - def increment_state(self, *args, **kwargs): - state[0] += 1 - - # create client and replace instance methods with dummy methods - client = Client('opc.tcp://dummy_address:10000') - client.connect = increment_state.__get__(client) - client.disconnect = increment_state.__get__(client) - - assert state[0] == 0 - with client: - # test if client connected - self.assertEqual(state[0], 1) - # test if client disconnected - self.assertEqual(state[0], 2) - - def test_enumstrings_getvalue(self): - ''' The real exception is server side, but is detected by using a client. - Alldue the server trace is also visible on the console. - The client only 'sees' an TimeoutError - ''' - nenumstrings = self.opc.get_node(ua.ObjectIds.AxisScaleEnumeration_EnumStrings) - with self.assertNotRaises(Exception): - value = ua.Variant(nenumstrings.get_value()) - diff --git a/tests/tests_common.py b/tests/tests_common.py index 9a4049b05..e51f95fe0 100644 --- a/tests/tests_common.py +++ b/tests/tests_common.py @@ -14,13 +14,15 @@ from opcua.common import ua_utils from opcua.common.methods import call_method_full + def add_server_methods(srv): @uamethod def func(parent, value): return value * 2 o = srv.get_objects_node() - v = o.add_method(ua.NodeId("ServerMethod", 2), ua.QualifiedName('ServerMethod', 2), func, [ua.VariantType.Int64], [ua.VariantType.Int64]) + v = o.add_method(ua.NodeId("ServerMethod", 2), ua.QualifiedName('ServerMethod', 2), func, [ua.VariantType.Int64], + [ua.VariantType.Int64]) @uamethod def func2(parent, methodname, value): @@ -34,20 +36,22 @@ def func2(parent, methodname, value): return math.sin(value) o = srv.get_objects_node() - v = o.add_method(ua.NodeId("ServerMethodArray", 2), ua.QualifiedName('ServerMethodArray', 2), func2, [ua.VariantType.String, ua.VariantType.Int64], [ua.VariantType.Int64]) + v = o.add_method(ua.NodeId("ServerMethodArray", 2), ua.QualifiedName('ServerMethodArray', 2), func2, + [ua.VariantType.String, ua.VariantType.Int64], [ua.VariantType.Int64]) @uamethod def func3(parent, mylist): return [i * 2 for i in mylist] o = srv.get_objects_node() - v = o.add_method(ua.NodeId("ServerMethodArray2", 2), ua.QualifiedName('ServerMethodArray2', 2), func3, [ua.VariantType.Int64], [ua.VariantType.Int64]) + v = o.add_method(ua.NodeId("ServerMethodArray2", 2), ua.QualifiedName('ServerMethodArray2', 2), func3, + [ua.VariantType.Int64], [ua.VariantType.Int64]) @uamethod def func4(parent): return None - base_otype= srv.get_node(ua.ObjectIds.BaseObjectType) + base_otype = srv.get_node(ua.ObjectIds.BaseObjectType) custom_otype = base_otype.add_object_type(2, 'ObjectWithMethodsType') custom_otype.add_method(2, 'ServerMethodDefault', func4) custom_otype.add_method(2, 'ServerMethodMandatory', func4).set_modelling_rule(True) @@ -57,9 +61,12 @@ def func4(parent): @uamethod def func5(parent): - return 1,2,3 + return 1, 2, 3 + o = srv.get_objects_node() - v = o.add_method(ua.NodeId("ServerMethodTuple", 2), ua.QualifiedName('ServerMethodTuple', 2), func5, [], [ua.VariantType.Int64, ua.VariantType.Int64, ua.VariantType.Int64]) + v = o.add_method(ua.NodeId("ServerMethodTuple", 2), ua.QualifiedName('ServerMethodTuple', 2), func5, [], + [ua.VariantType.Int64, ua.VariantType.Int64, ua.VariantType.Int64]) + def _test_modelling_rules(test, parent, mandatory, result): f = parent.add_folder(3, 'MyFolder') @@ -80,7 +87,6 @@ def _test_modelling_rules(test, parent, mandatory, result): class CommonTests(object): - ''' Tests that will be run twice. Once on server side and once on client side since we have been carefull to have the exact @@ -191,7 +197,6 @@ def test_delete_references(self): self.assertEqual(var.get_referenced_nodes(newtype), []) self.assertEqual(fold.get_referenced_nodes(newtype), []) - var.add_reference(fold, newtype, forward=False, bidirectional=False) self.assertEqual(var.get_referenced_nodes(newtype), [fold]) @@ -268,19 +273,24 @@ def test_browse_references(self): objects = self.opc.get_objects_node() folder = objects.add_folder(4, "folder") - childs = objects.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Forward, includesubtypes=False) + childs = objects.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Forward, + includesubtypes=False) self.assertTrue(folder in childs) - childs = objects.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Both, includesubtypes=False) + childs = objects.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Both, + includesubtypes=False) self.assertTrue(folder in childs) - childs = objects.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Inverse, includesubtypes=False) + childs = objects.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Inverse, + includesubtypes=False) self.assertFalse(folder in childs) - parents = folder.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Inverse, includesubtypes=False) + parents = folder.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Inverse, + includesubtypes=False) self.assertTrue(objects in parents) - parents = folder.get_referenced_nodes(refs=ua.ObjectIds.HierarchicalReferences, direction=ua.BrowseDirection.Inverse, includesubtypes=False) + parents = folder.get_referenced_nodes(refs=ua.ObjectIds.HierarchicalReferences, + direction=ua.BrowseDirection.Inverse, includesubtypes=False) self.assertTrue(objects in parents) parent = folder.get_parent() @@ -325,7 +335,8 @@ def test_datetime_write(self): def test_variant_array_dim(self): objects = self.opc.get_objects_node() - l = [[[1.0, 1.0, 1.0, 1.0], [2.0, 2.0, 2.0, 2.0], [3.0, 3.0, 3.0, 3.0]],[[5.0, 5.0, 5.0, 5.0], [7.0, 8.0, 9.0, 01.0], [1.0, 1.0, 1.0, 1.0]]] + l = [[[1.0, 1.0, 1.0, 1.0], [2.0, 2.0, 2.0, 2.0], [3.0, 3.0, 3.0, 3.0]], + [[5.0, 5.0, 5.0, 5.0], [7.0, 8.0, 9.0, 01.0], [1.0, 1.0, 1.0, 1.0]]] v = objects.add_variable(3, 'variableWithDims', l) v.set_array_dimensions([0, 0, 0]) @@ -339,7 +350,7 @@ def test_variant_array_dim(self): v2 = v.get_value() self.assertEqual(v2, l) dv = v.get_data_value() - self.assertEqual(dv.Value.Dimensions, [2,3,4]) + self.assertEqual(dv.Value.Dimensions, [2, 3, 4]) l = [[[], [], []], [[], [], []]] variant = ua.Variant(l, ua.VariantType.UInt32) @@ -347,7 +358,7 @@ def test_variant_array_dim(self): v2 = v.get_value() self.assertEqual(v2, l) dv = v.get_data_value() - self.assertEqual(dv.Value.Dimensions, [2,3,0]) + self.assertEqual(dv.Value.Dimensions, [2, 3, 0]) def test_add_numeric_variable(self): objects = self.opc.get_objects_node() @@ -608,7 +619,7 @@ def test_add_nodes(self): self.assertTrue(p in childs) def test_add_nodes_modelling_rules_type_default(self): - base_otype= self.opc.get_node(ua.ObjectIds.BaseObjectType) + base_otype = self.opc.get_node(ua.ObjectIds.BaseObjectType) custom_otype = base_otype.add_object_type(2, 'MyFooObjectType') result = [self.opc.get_node(ua.ObjectIds.ModellingRule_Mandatory)] @@ -632,7 +643,7 @@ def test_add_nodes_modelling_rules_type_default(self): c = objects.get_child(['2:ObjectWithMethods', '2:ServerMethodDefault']) def test_add_nodes_modelling_rules_type_true(self): - base_otype= self.opc.get_node(ua.ObjectIds.BaseObjectType) + base_otype = self.opc.get_node(ua.ObjectIds.BaseObjectType) custom_otype = base_otype.add_object_type(2, 'MyFooObjectType') result = [self.opc.get_node(ua.ObjectIds.ModellingRule_Mandatory)] @@ -644,9 +655,8 @@ def test_add_nodes_modelling_rules_type_true(self): objects = self.opc.get_objects_node() objects.get_child(['2:ObjectWithMethods', '2:ServerMethodMandatory']) - def test_add_nodes_modelling_rules_type_false(self): - base_otype= self.opc.get_node(ua.ObjectIds.BaseObjectType) + base_otype = self.opc.get_node(ua.ObjectIds.BaseObjectType) custom_otype = base_otype.add_object_type(2, 'MyFooObjectType') result = [self.opc.get_node(ua.ObjectIds.ModellingRule_Optional)] @@ -656,7 +666,7 @@ def test_add_nodes_modelling_rules_type_false(self): self.assertEqual(m.get_referenced_nodes(ua.ObjectIds.HasModellingRule), result) def test_add_nodes_modelling_rules_type_none(self): - base_otype= self.opc.get_node(ua.ObjectIds.BaseObjectType) + base_otype = self.opc.get_node(ua.ObjectIds.BaseObjectType) custom_otype = base_otype.add_object_type(2, 'MyFooObjectType') result = [] @@ -697,7 +707,7 @@ def test_add_node_with_type(self): o = f.add_object(3, 'MyObject2', ua.NodeId(ua.ObjectIds.BaseObjectType, 0)) self.assertEqual(o.get_type_definition().Identifier, ua.ObjectIds.BaseObjectType) - base_otype= self.opc.get_node(ua.ObjectIds.BaseObjectType) + base_otype = self.opc.get_node(ua.ObjectIds.BaseObjectType) custom_otype = base_otype.add_object_type(2, 'MyFooObjectType') o = f.add_object(3, 'MyObject3', custom_otype.nodeid) @@ -710,36 +720,44 @@ def test_add_node_with_type(self): def test_references_for_added_nodes(self): objects = self.opc.get_objects_node() o = objects.add_object(3, 'MyObject') - nodes = objects.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Forward, includesubtypes=False) + nodes = objects.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Forward, + includesubtypes=False) self.assertTrue(o in nodes) - nodes = o.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Inverse, includesubtypes=False) + nodes = o.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Inverse, + includesubtypes=False) self.assertTrue(objects in nodes) self.assertEqual(o.get_parent(), objects) self.assertEqual(o.get_type_definition().Identifier, ua.ObjectIds.BaseObjectType) self.assertEqual(o.get_references(ua.ObjectIds.HasModellingRule), []) o2 = o.add_object(3, 'MySecondObject') - nodes = o.get_referenced_nodes(refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Forward, includesubtypes=False) + nodes = o.get_referenced_nodes(refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Forward, + includesubtypes=False) self.assertTrue(o2 in nodes) - nodes = o2.get_referenced_nodes(refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Inverse, includesubtypes=False) + nodes = o2.get_referenced_nodes(refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Inverse, + includesubtypes=False) self.assertTrue(o in nodes) self.assertEqual(o2.get_parent(), o) self.assertEqual(o2.get_type_definition().Identifier, ua.ObjectIds.BaseObjectType) self.assertEqual(o2.get_references(ua.ObjectIds.HasModellingRule), []) v = o.add_variable(3, 'MyVariable', 6) - nodes = o.get_referenced_nodes(refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Forward, includesubtypes=False) + nodes = o.get_referenced_nodes(refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Forward, + includesubtypes=False) self.assertTrue(v in nodes) - nodes = v.get_referenced_nodes(refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Inverse, includesubtypes=False) + nodes = v.get_referenced_nodes(refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Inverse, + includesubtypes=False) self.assertTrue(o in nodes) self.assertEqual(v.get_parent(), o) self.assertEqual(v.get_type_definition().Identifier, ua.ObjectIds.BaseDataVariableType) self.assertEqual(v.get_references(ua.ObjectIds.HasModellingRule), []) p = o.add_property(3, 'MyProperty', 2) - nodes = o.get_referenced_nodes(refs=ua.ObjectIds.HasProperty, direction=ua.BrowseDirection.Forward, includesubtypes=False) + nodes = o.get_referenced_nodes(refs=ua.ObjectIds.HasProperty, direction=ua.BrowseDirection.Forward, + includesubtypes=False) self.assertTrue(p in nodes) - nodes = p.get_referenced_nodes(refs=ua.ObjectIds.HasProperty, direction=ua.BrowseDirection.Inverse, includesubtypes=False) + nodes = p.get_referenced_nodes(refs=ua.ObjectIds.HasProperty, direction=ua.BrowseDirection.Inverse, + includesubtypes=False) self.assertTrue(o in nodes) self.assertEqual(p.get_parent(), o) self.assertEqual(p.get_type_definition().Identifier, ua.ObjectIds.PropertyType) @@ -764,7 +782,9 @@ def test_path(self): self.assertEqual([of, op], path) target = self.opc.get_node("i=13387") path = target.get_path() - self.assertEqual([self.opc.nodes.root, self.opc.nodes.types, self.opc.nodes.object_types, self.opc.nodes.base_object_type, self.opc.nodes.folder_type, self.opc.get_node(ua.ObjectIds.FileDirectoryType), target], path) + self.assertEqual( + [self.opc.nodes.root, self.opc.nodes.types, self.opc.nodes.object_types, self.opc.nodes.base_object_type, + self.opc.nodes.folder_type, self.opc.get_node(ua.ObjectIds.FileDirectoryType), target], path) def test_get_endpoints(self): endpoints = self.opc.get_endpoints() @@ -782,7 +802,6 @@ def test_copy_node(self): v_t = devd_t.add_variable(0, "childparam", 1.0) p_t = devd_t.add_property(0, "sensorx_id", "0340") - nodes = copy_node(self.opc.nodes.objects, dev_t) mydevice = nodes[0] @@ -845,7 +864,8 @@ def test_instantiate_string_nodeid(self): prop_t = ctrl_t.add_property(0, "state", "Running") # instanciate device - nodes = instantiate(self.opc.nodes.objects, dev_t, nodeid=ua.NodeId("InstDevice", 2, ua.NodeIdType.String), bname="2:InstDevice") + nodes = instantiate(self.opc.nodes.objects, dev_t, nodeid=ua.NodeId("InstDevice", 2, ua.NodeIdType.String), + bname="2:InstDevice") mydevice = nodes[0] self.assertEqual(mydevice.get_node_class(), ua.NodeClass.Object) @@ -859,24 +879,28 @@ def test_instantiate_string_nodeid(self): self.assertNotEqual(prop.nodeid, prop_t.nodeid) def test_variable_with_datatype(self): - v1 = self.opc.nodes.objects.add_variable(3, 'VariableEnumType1', ua.ApplicationType.ClientAndServer, datatype=ua.NodeId(ua.ObjectIds.ApplicationType)) + v1 = self.opc.nodes.objects.add_variable(3, 'VariableEnumType1', ua.ApplicationType.ClientAndServer, + datatype=ua.NodeId(ua.ObjectIds.ApplicationType)) tp1 = v1.get_data_type() self.assertEqual(ua.NodeId(ua.ObjectIds.ApplicationType), tp1) - v2 = self.opc.nodes.objects.add_variable(3, 'VariableEnumType2', ua.ApplicationType.ClientAndServer, datatype=ua.NodeId(ua.ObjectIds.ApplicationType) ) + v2 = self.opc.nodes.objects.add_variable(3, 'VariableEnumType2', ua.ApplicationType.ClientAndServer, + datatype=ua.NodeId(ua.ObjectIds.ApplicationType)) tp2 = v2.get_data_type() - self.assertEqual( ua.NodeId(ua.ObjectIds.ApplicationType), tp2) + self.assertEqual(ua.NodeId(ua.ObjectIds.ApplicationType), tp2) def test_enum(self): # create enum type enums = self.opc.get_root_node().get_child(["0:Types", "0:DataTypes", "0:BaseDataType", "0:Enumeration"]) myenum_type = enums.add_data_type(0, "MyEnum") - es = myenum_type.add_variable(0, "EnumStrings", [ua.LocalizedText("String0"), ua.LocalizedText("String1"), ua.LocalizedText("String2")], ua.VariantType.LocalizedText) - #es.set_value_rank(1) + es = myenum_type.add_variable(0, "EnumStrings", + [ua.LocalizedText("String0"), ua.LocalizedText("String1"), ua.LocalizedText("String2")], + ua.VariantType.LocalizedText) + # es.set_value_rank(1) # instantiate o = self.opc.get_objects_node() myvar = o.add_variable(2, "MyEnumVar", ua.LocalizedText("String1"), datatype=myenum_type.nodeid) - #myvar.set_writable(True) + # myvar.set_writable(True) # tests self.assertEqual(myvar.get_data_type(), myenum_type.nodeid) myvar.set_value(ua.LocalizedText("String2")) @@ -926,6 +950,6 @@ def test_data_type_to_variant_type(self): ua.ObjectIds.Enumeration: ua.VariantType.Int32, # enumeration ua.ObjectIds.AttributeWriteMask: ua.VariantType.Int32, # enumeration ua.ObjectIds.AxisScaleEnumeration: ua.VariantType.Int32 # enumeration - } + } for dt, vdt in test_data.items(): self.assertEqual(ua_utils.data_type_to_variant_type(self.opc.get_node(ua.NodeId(dt))), vdt) From 654c766534c2f3009e3bc54694e32591506443ec Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Tue, 30 Jan 2018 20:48:16 +0100 Subject: [PATCH 007/113] [ADD] wip --- examples/server-minimal.py | 20 +++---- opcua/common/manage_nodes.py | 66 +++++++++++++---------- opcua/common/node.py | 95 +++++++++++++++------------------ opcua/server/address_space.py | 22 ++++---- opcua/server/internal_server.py | 79 +++++++++++++-------------- opcua/server/server.py | 51 ++++++++---------- tests/test_client.py | 4 +- tests/tests_common.py | 77 ++++++++++++++------------ 8 files changed, 203 insertions(+), 211 deletions(-) diff --git a/examples/server-minimal.py b/examples/server-minimal.py index 3e1d6673c..d4dab347b 100644 --- a/examples/server-minimal.py +++ b/examples/server-minimal.py @@ -6,32 +6,24 @@ async def task(loop): # setup our server server = Server() + await server.init() server.set_endpoint('opc.tcp://0.0.0.0:4840/freeopcua/server/') - # setup our own namespace, not really necessary but should as spec uri = 'http://examples.freeopcua.github.io' idx = await server.register_namespace(uri) - # get Objects node, this is where we should put our nodes objects = server.get_objects_node() - # populating our address space - myobj = objects.add_object(idx, 'MyObject') - myvar = myobj.add_variable(idx, 'MyVariable', 6.7) - myvar.set_writable() # Set MyVariable to be writable by clients - + myobj = await objects.add_object(idx, 'MyObject') + myvar = await myobj.add_variable(idx, 'MyVariable', 6.7) + await myvar.set_writable() # Set MyVariable to be writable by clients # starting! - await server.start() - - try: + async with server: count = 0 while True: await asyncio.sleep(1) count += 0.1 - myvar.set_value(count) - finally: - # close connection, remove subcsriptions, etc - server.stop() + await myvar.set_value(count) def main(): diff --git a/opcua/common/manage_nodes.py b/opcua/common/manage_nodes.py index 503b64754..16a294307 100644 --- a/opcua/common/manage_nodes.py +++ b/opcua/common/manage_nodes.py @@ -31,17 +31,20 @@ def _parse_nodeid_qname(*args): raise TypeError("This method takes either a namespace index and a string as argument or a nodeid and a qualifiedname. Received arguments {0} and got exception {1}".format(args, ex)) -def create_folder(parent, nodeid, bname): +async def create_folder(parent, nodeid, bname): """ create a child node folder arguments are nodeid, browsename or namespace index, name """ nodeid, qname = _parse_nodeid_qname(nodeid, bname) - return node.Node(parent.server, _create_object(parent.server, parent.nodeid, nodeid, qname, ua.ObjectIds.FolderType)) + return node.Node( + parent.server, + await _create_object(parent.server, parent.nodeid, nodeid, qname, ua.ObjectIds.FolderType) + ) -def create_object(parent, nodeid, bname, objecttype=None): +async def create_object(parent, nodeid, bname, objecttype=None): """ create a child node object arguments are nodeid, browsename, [objecttype] @@ -55,7 +58,10 @@ def create_object(parent, nodeid, bname, objecttype=None): nodes = instantiate(parent, objecttype, nodeid, bname=qname, dname=dname)[0] return nodes else: - return node.Node(parent.server, _create_object(parent.server, parent.nodeid, nodeid, qname, ua.ObjectIds.BaseObjectType)) + return node.Node( + parent.server, + await _create_object(parent.server, parent.nodeid, nodeid, qname, ua.ObjectIds.BaseObjectType) + ) def create_property(parent, nodeid, bname, val, varianttype=None, datatype=None): @@ -73,7 +79,7 @@ def create_property(parent, nodeid, bname, val, varianttype=None, datatype=None) return node.Node(parent.server, _create_variable(parent.server, parent.nodeid, nodeid, qname, var, datatype=datatype, isproperty=True)) -def create_variable(parent, nodeid, bname, val, varianttype=None, datatype=None): +async def create_variable(parent, nodeid, bname, val, varianttype=None, datatype=None): """ create a child node variable args are nodeid, browsename, value, [variant type], [data type] @@ -86,10 +92,13 @@ def create_variable(parent, nodeid, bname, val, varianttype=None, datatype=None) if datatype and not isinstance(datatype, ua.NodeId): raise RuntimeError("datatype argument must be a nodeid or an int refering to a nodeid") - return node.Node(parent.server, _create_variable(parent.server, parent.nodeid, nodeid, qname, var, datatype=datatype, isproperty=False)) + return node.Node( + parent.server, + await _create_variable(parent.server, parent.nodeid, nodeid, qname, var, datatype=datatype, isproperty=False) + ) -def create_variable_type(parent, nodeid, bname, datatype): +async def create_variable_type(parent, nodeid, bname, datatype): """ Create a new variable type args are nodeid, browsename and datatype @@ -100,7 +109,10 @@ def create_variable_type(parent, nodeid, bname, datatype): datatype = ua.NodeId(datatype, 0) if datatype and not isinstance(datatype, ua.NodeId): raise RuntimeError("Data type argument must be a nodeid or an int refering to a nodeid, received: {}".format(datatype)) - return node.Node(parent.server, _create_variable_type(parent.server, parent.nodeid, nodeid, qname, datatype)) + return node.Node( + parent.server, + await _create_variable_type(parent.server, parent.nodeid, nodeid, qname, datatype) + ) def create_reference_type(parent, nodeid, bname, symmetric=True, inversename=None): @@ -113,17 +125,17 @@ def create_reference_type(parent, nodeid, bname, symmetric=True, inversename=Non return node.Node(parent.server, _create_reference_type(parent.server, parent.nodeid, nodeid, qname, symmetric, inversename)) -def create_object_type(parent, nodeid, bname): +async def create_object_type(parent, nodeid, bname): """ Create a new object type to be instanciated in address space. arguments are nodeid, browsename or namespace index, name """ nodeid, qname = _parse_nodeid_qname(nodeid, bname) - return node.Node(parent.server, _create_object_type(parent.server, parent.nodeid, nodeid, qname)) + return node.Node(parent.server, await _create_object_type(parent.server, parent.nodeid, nodeid, qname)) -def create_method(parent, *args): +async def create_method(parent, *args): """ create a child method object This is only possible on server side!! @@ -142,15 +154,15 @@ def create_method(parent, *args): outputs = args[4] else: outputs = [] - return node.Node(parent.server, _create_method(parent, nodeid, qname, callback, inputs, outputs)) + return node.Node(parent.server, await _create_method(parent, nodeid, qname, callback, inputs, outputs)) -def _create_object(server, parentnodeid, nodeid, qname, objecttype): +async def _create_object(server, parentnodeid, nodeid, qname, objecttype): addnode = ua.AddNodesItem() addnode.RequestedNewNodeId = nodeid addnode.BrowseName = qname addnode.ParentNodeId = parentnodeid - if node.Node(server, parentnodeid).get_type_definition() == ua.NodeId(ua.ObjectIds.FolderType): + if await node.Node(server, parentnodeid).get_type_definition() == ua.NodeId(ua.ObjectIds.FolderType): addnode.ReferenceTypeId = ua.NodeId(ua.ObjectIds.Organizes) else: addnode.ReferenceTypeId = ua.NodeId(ua.ObjectIds.HasComponent) @@ -161,13 +173,12 @@ def _create_object(server, parentnodeid, nodeid, qname, objecttype): addnode.TypeDefinition = objecttype attrs = ua.ObjectAttributes() attrs.EventNotifier = 0 - attrs.Description = ua.LocalizedText(qname.Name) attrs.DisplayName = ua.LocalizedText(qname.Name) attrs.WriteMask = 0 attrs.UserWriteMask = 0 addnode.NodeAttributes = attrs - results = server.add_nodes([addnode]) + results = await server.add_nodes([addnode]) results[0].StatusCode.check() return results[0].AddedNodeId @@ -192,7 +203,8 @@ def _create_reference_type(server, parentnodeid, nodeid, qname, symmetric, inver results[0].StatusCode.check() return results[0].AddedNodeId -def _create_object_type(server, parentnodeid, nodeid, qname): + +async def _create_object_type(server, parentnodeid, nodeid, qname): addnode = ua.AddNodesItem() addnode.RequestedNewNodeId = nodeid addnode.BrowseName = qname @@ -206,12 +218,12 @@ def _create_object_type(server, parentnodeid, nodeid, qname): attrs.WriteMask = 0 attrs.UserWriteMask = 0 addnode.NodeAttributes = attrs - results = server.add_nodes([addnode]) + results = await server.add_nodes([addnode]) results[0].StatusCode.check() return results[0].AddedNodeId -def _create_variable(server, parentnodeid, nodeid, qname, var, datatype=None, isproperty=False): +async def _create_variable(server, parentnodeid, nodeid, qname, var, datatype=None, isproperty=False): addnode = ua.AddNodesItem() addnode.RequestedNewNodeId = nodeid addnode.BrowseName = qname @@ -244,12 +256,12 @@ def _create_variable(server, parentnodeid, nodeid, qname, var, datatype=None, is attrs.AccessLevel = ua.AccessLevel.CurrentRead.mask attrs.UserAccessLevel = ua.AccessLevel.CurrentRead.mask addnode.NodeAttributes = attrs - results = server.add_nodes([addnode]) + results = await server.add_nodes([addnode]) results[0].StatusCode.check() return results[0].AddedNodeId -def _create_variable_type(server, parentnodeid, nodeid, qname, datatype, value=None): +async def _create_variable_type(server, parentnodeid, nodeid, qname, datatype, value=None): addnode = ua.AddNodesItem() addnode.RequestedNewNodeId = nodeid addnode.BrowseName = qname @@ -272,12 +284,12 @@ def _create_variable_type(server, parentnodeid, nodeid, qname, datatype, value=N attrs.WriteMask = 0 attrs.UserWriteMask = 0 addnode.NodeAttributes = attrs - results = server.add_nodes([addnode]) + results = await server.add_nodes([addnode]) results[0].StatusCode.check() return results[0].AddedNodeId -def create_data_type(parent, nodeid, bname, description=None): +async def create_data_type(parent, nodeid, bname, description=None): """ Create a new data type to be used in new variables, etc .. arguments are nodeid, browsename @@ -302,12 +314,12 @@ def create_data_type(parent, nodeid, bname, description=None): attrs.UserWriteMask = 0 attrs.IsAbstract = False # True mean they cannot be instanciated addnode.NodeAttributes = attrs - results = parent.server.add_nodes([addnode]) + results = await parent.server.add_nodes([addnode]) results[0].StatusCode.check() return node.Node(parent.server, results[0].AddedNodeId) -def _create_method(parent, nodeid, qname, callback, inputs, outputs): +async def _create_method(parent, nodeid, qname, callback, inputs, outputs): addnode = ua.AddNodesItem() addnode.RequestedNewNodeId = nodeid addnode.BrowseName = qname @@ -323,7 +335,7 @@ def _create_method(parent, nodeid, qname, callback, inputs, outputs): attrs.Executable = True attrs.UserExecutable = True addnode.NodeAttributes = attrs - results = parent.server.add_nodes([addnode]) + results = await parent.server.add_nodes([addnode]) results[0].StatusCode.check() method = node.Node(parent.server, results[0].AddedNodeId) if inputs: @@ -341,7 +353,7 @@ def _create_method(parent, nodeid, qname, callback, inputs, outputs): varianttype=ua.VariantType.ExtensionObject, datatype=ua.ObjectIds.Argument) if hasattr(parent.server, "add_method_callback"): - parent.server.add_method_callback(method.nodeid, callback) + await parent.server.add_method_callback(method.nodeid, callback) return results[0].AddedNodeId diff --git a/opcua/common/node.py b/opcua/common/node.py index 590f29e6e..ca7970f32 100644 --- a/opcua/common/node.py +++ b/opcua/common/node.py @@ -212,25 +212,25 @@ async def set_value(self, value, varianttype=None): set_data_value = set_value - def set_writable(self, writable=True): + async def set_writable(self, writable=True): """ Set node as writable by clients. A node is always writable on server side. """ if writable: - self.set_attr_bit(ua.AttributeIds.AccessLevel, ua.AccessLevel.CurrentWrite) - self.set_attr_bit(ua.AttributeIds.UserAccessLevel, ua.AccessLevel.CurrentWrite) + await self.set_attr_bit(ua.AttributeIds.AccessLevel, ua.AccessLevel.CurrentWrite) + await self.set_attr_bit(ua.AttributeIds.UserAccessLevel, ua.AccessLevel.CurrentWrite) else: - self.unset_attr_bit(ua.AttributeIds.AccessLevel, ua.AccessLevel.CurrentWrite) - self.unset_attr_bit(ua.AttributeIds.UserAccessLevel, ua.AccessLevel.CurrentWrite) + await self.unset_attr_bit(ua.AttributeIds.AccessLevel, ua.AccessLevel.CurrentWrite) + await self.unset_attr_bit(ua.AttributeIds.UserAccessLevel, ua.AccessLevel.CurrentWrite) async def set_attr_bit(self, attr, bit): - val = self.get_attribute(attr) + val = await self.get_attribute(attr) val.Value.Value = ua.ua_binary.set_bit(val.Value.Value, bit) await self.set_attribute(attr, val) async def unset_attr_bit(self, attr, bit): - val = self.get_attribute(attr) + val = await self.get_attribute(attr) val.Value.Value = ua.ua_binary.unset_bit(val.Value.Value, bit) await self.set_attribute(attr, val) @@ -486,7 +486,7 @@ def _make_relative_path(self, path): rpath.Elements.append(el) return rpath - def read_raw_history(self, starttime=None, endtime=None, numvalues=0): + async def read_raw_history(self, starttime=None, endtime=None, numvalues=0): """ Read raw history of a node result code from server is checked and an exception is raised in case of error @@ -505,7 +505,7 @@ def read_raw_history(self, starttime=None, endtime=None, numvalues=0): details.EndTime = ua.get_win_epoch() details.NumValuesPerNode = numvalues details.ReturnBounds = True - result = self.history_read(details) + result = await self.history_read(details) return result.HistoryData.DataValues def history_read(self, details): @@ -516,23 +516,20 @@ def history_read(self, details): valueid = ua.HistoryReadValueId() valueid.NodeId = self.nodeid valueid.IndexRange = '' - params = ua.HistoryReadParameters() params.HistoryReadDetails = details params.TimestampsToReturn = ua.TimestampsToReturn.Both params.ReleaseContinuationPoints = False params.NodesToRead.append(valueid) - result = self.server.history_read(params)[0] - return result + return self.server.history_read(params)[0] - def read_event_history(self, starttime=None, endtime=None, numvalues=0, evtypes=ua.ObjectIds.BaseEventType): + async def read_event_history(self, starttime=None, endtime=None, numvalues=0, evtypes=ua.ObjectIds.BaseEventType): """ Read event history of a source node result code from server is checked and an exception is raised in case of error If numvalues is > 0 and number of events in period is > numvalues then result will be truncated """ - details = ua.ReadEventDetails() if starttime: details.StartTime = starttime @@ -543,16 +540,12 @@ def read_event_history(self, starttime=None, endtime=None, numvalues=0, evtypes= else: details.EndTime = ua.get_win_epoch() details.NumValuesPerNode = numvalues - if not isinstance(evtypes, (list, tuple)): evtypes = [evtypes] - evtypes = [Node(self.server, evtype) for evtype in evtypes] - evfilter = events.get_filter_from_event_type(evtypes) details.Filter = evfilter - - result = self.history_read_events(details) + result = await self.history_read_events(details) event_res = [] for res in result.HistoryData.Events: event_res.append(events.Event.from_event_fields(evfilter.SelectClauses, res.EventFields)) @@ -566,20 +559,18 @@ def history_read_events(self, details): valueid = ua.HistoryReadValueId() valueid.NodeId = self.nodeid valueid.IndexRange = '' - params = ua.HistoryReadParameters() params.HistoryReadDetails = details params.TimestampsToReturn = ua.TimestampsToReturn.Both params.ReleaseContinuationPoints = False params.NodesToRead.append(valueid) - result = self.server.history_read(params)[0] - return result + return self.server.history_read(params)[0] - def delete(self, delete_references=True, recursive=False): + async def delete(self, delete_references=True, recursive=False): """ Delete node from address space """ - results = opcua.common.manage_nodes.delete_nodes(self.server, [self], recursive, delete_references) + results = await opcua.common.manage_nodes.delete_nodes(self.server, [self], recursive, delete_references) _check_results(results) def _fill_delete_reference_item(self, rdesc, bidirectional = False): @@ -591,36 +582,31 @@ def _fill_delete_reference_item(self, rdesc, bidirectional = False): ditem.DeleteBidirectional = bidirectional return ditem - def delete_reference(self, target, reftype, forward=True, bidirectional=True): + async def delete_reference(self, target, reftype, forward=True, bidirectional=True): """ Delete given node's references from address space """ - known_refs = self.get_references(reftype, includesubtypes=False) + known_refs = await self.get_references(reftype, includesubtypes=False) targetid = _to_nodeid(target) - for r in known_refs: if r.NodeId == targetid and r.IsForward == forward: rdesc = r break else: raise ua.UaStatusCodeError(ua.StatusCodes.BadNotFound) - ditem = self._fill_delete_reference_item(rdesc, bidirectional) - self.server.delete_references([ditem])[0].check() + await self.server.delete_references([ditem])[0].check() - def add_reference(self, target, reftype, forward=True, bidirectional=True): + async def add_reference(self, target, reftype, forward=True, bidirectional=True): """ Add reference to node """ - aitem = ua.AddReferencesItem() aitem.SourceNodeId = self.nodeid aitem.TargetNodeId = _to_nodeid(target) aitem.ReferenceTypeId = _to_nodeid(reftype) aitem.IsForward = forward - params = [aitem] - if bidirectional: aitem2 = ua.AddReferencesItem() aitem2.SourceNodeId = aitem.TargetNodeId @@ -628,37 +614,38 @@ def add_reference(self, target, reftype, forward=True, bidirectional=True): aitem2.ReferenceTypeId = aitem.ReferenceTypeId aitem2.IsForward = not forward params.append(aitem2) - - results = self.server.add_references(params) + results = await self.server.add_references(params) _check_results(results, len(params)) - def _add_modelling_rule(self, parent, mandatory=True): - if mandatory is not None and parent.get_node_class() == ua.NodeClass.ObjectType: + async def _add_modelling_rule(self, parent, mandatory=True): + if mandatory is not None and await parent.get_node_class() == ua.NodeClass.ObjectType: rule=ua.ObjectIds.ModellingRule_Mandatory if mandatory else ua.ObjectIds.ModellingRule_Optional - self.add_reference(rule, ua.ObjectIds.HasModellingRule, True, False) + await self.add_reference(rule, ua.ObjectIds.HasModellingRule, True, False) return self - def set_modelling_rule(self, mandatory): - parent = self.get_parent() + async def set_modelling_rule(self, mandatory): + parent = await self.get_parent() if parent is None: return ua.StatusCode(ua.StatusCodes.BadParentNodeIdInvalid) - if parent.get_node_class() != ua.NodeClass.ObjectType: + if await parent.get_node_class() != ua.NodeClass.ObjectType: return ua.StatusCode(ua.StatusCodes.BadTypeMismatch) # remove all existing modelling rule rules = self.get_references(ua.ObjectIds.HasModellingRule) - self.server.delete_references(list(map(self._fill_delete_reference_item, rules))) - + await self.server.delete_references(list(map(self._fill_delete_reference_item, rules))) self._add_modelling_rule(parent, mandatory) return ua.StatusCode() - def add_folder(self, nodeid, bname): - return opcua.common.manage_nodes.create_folder(self, nodeid, bname)._add_modelling_rule(self) + async def add_folder(self, nodeid, bname): + folder = await opcua.common.manage_nodes.create_folder(self, nodeid, bname) + return await folder._add_modelling_rule(self) - def add_object(self, nodeid, bname, objecttype=None): - return opcua.common.manage_nodes.create_object(self, nodeid, bname, objecttype)._add_modelling_rule(self) + async def add_object(self, nodeid, bname, objecttype=None): + obj = await opcua.common.manage_nodes.create_object(self, nodeid, bname, objecttype) + return await obj._add_modelling_rule(self) - def add_variable(self, nodeid, bname, val, varianttype=None, datatype=None): - return opcua.common.manage_nodes.create_variable(self, nodeid, bname, val, varianttype, datatype)._add_modelling_rule(self) + async def add_variable(self, nodeid, bname, val, varianttype=None, datatype=None): + var = await opcua.common.manage_nodes.create_variable(self, nodeid, bname, val, varianttype, datatype) + return await var._add_modelling_rule(self) def add_object_type(self, nodeid, bname): return opcua.common.manage_nodes.create_object_type(self, nodeid, bname) @@ -669,11 +656,13 @@ def add_variable_type(self, nodeid, bname, datatype): def add_data_type(self, nodeid, bname, description=None): return opcua.common.manage_nodes.create_data_type(self, nodeid, bname, description=None) - def add_property(self, nodeid, bname, val, varianttype=None, datatype=None): - return opcua.common.manage_nodes.create_property(self, nodeid, bname, val, varianttype, datatype)._add_modelling_rule(self) + async def add_property(self, nodeid, bname, val, varianttype=None, datatype=None): + prop = await opcua.common.manage_nodes.create_property(self, nodeid, bname, val, varianttype, datatype) + return await prop._add_modelling_rule(self) - def add_method(self, *args): - return opcua.common.manage_nodes.create_method(self, *args)._add_modelling_rule(self) + async def add_method(self, *args): + method = await opcua.common.manage_nodes.create_method(self, *args) + return await method._add_modelling_rule(self) def add_reference_type(self, nodeid, bname, symmetric=True, inversename=None): return opcua.common.manage_nodes.create_reference_type(self, nodeid, bname, symmetric, inversename) diff --git a/opcua/server/address_space.py b/opcua/server/address_space.py index f40425c62..05872a3ea 100644 --- a/opcua/server/address_space.py +++ b/opcua/server/address_space.py @@ -1,12 +1,11 @@ -from threading import RLock + +import pickle +import shelve +import asyncio import logging -from datetime import datetime import collections -import shelve -try: - import cPickle as pickle -except: - import pickle +from threading import RLock +from datetime import datetime from opcua import ua from opcua.server.users import User @@ -550,10 +549,9 @@ def make_aspace_shelf(self, path): Note: Intended for slow devices, such as Raspberry Pi, to greatly improve start up time """ - s = shelve.open(path, "n", protocol=pickle.HIGHEST_PROTOCOL) - for nodeid, ndata in self._nodes.items(): - s[nodeid.to_string()] = ndata - s.close() + with shelve.open(path, 'n', protocol=pickle.HIGHEST_PROTOCOL) as s: + for nodeid, ndata in self._nodes.items(): + s[nodeid.to_string()] = ndata def load_aspace_shelf(self, path): """ @@ -562,6 +560,8 @@ def load_aspace_shelf(self, path): Note: Intended for slow devices, such as Raspberry Pi, to greatly improve start up time """ + raise NotImplementedError + # ToDo: async friendly implementation - load all at once? class LazyLoadingDict(collections.MutableMapping): """ Special dict that only loads nodes as they are accessed. If a node is accessed it gets copied from the diff --git a/opcua/server/internal_server.py b/opcua/server/internal_server.py index 2cd2ec5cc..05ce84a37 100644 --- a/opcua/server/internal_server.py +++ b/opcua/server/internal_server.py @@ -3,7 +3,6 @@ Can be used on server side or to implement binary/https opc-ua servers """ - import os import asyncio import logging @@ -41,7 +40,7 @@ def __init__(self, serv, cap=None): class InternalServer(object): - def __init__(self, shelffile=None): + def __init__(self): self.logger = logging.getLogger(__name__) self.server_callback_dispatcher = CallbackDispatcher() self.endpoints = [] @@ -54,21 +53,18 @@ def __init__(self, shelffile=None): self.view_service = ViewService(self.aspace) self.method_service = MethodService(self.aspace) self.node_mgt_service = NodeManagementService(self.aspace) - self.load_standard_address_space(shelffile) self.loop = asyncio.get_event_loop() self.asyncio_transports = [] self.subscription_service = SubscriptionService(self.loop, self.aspace) self.history_manager = HistoryManager(self) - # create a session to use on server side self.isession = InternalSession(self, self.aspace, self.subscription_service, "Internal", user=User.Admin) - self.current_time_node = Node(self.isession, ua.NodeId(ua.ObjectIds.Server_ServerStatus_CurrentTime)) - self._address_space_fixes() - self.setup_nodes() - async def init(self): - pass + async def init(self, shelffile=None): + await self.load_standard_address_space(shelffile) + await self._address_space_fixes() + await self.setup_nodes() async def setup_nodes(self): """ @@ -78,35 +74,34 @@ async def setup_nodes(self): ns_node = Node(self.isession, ua.NodeId(ua.ObjectIds.Server_NamespaceArray)) await ns_node.set_value(uries) - def load_standard_address_space(self, shelffile=None): - if shelffile is not None and os.path.isfile(shelffile): - # import address space from shelf - self.aspace.load_aspace_shelf(shelffile) - else: - # import address space from code generated from xml - standard_address_space.fill_address_space(self.node_mgt_service) - # import address space directly from xml, this has performance impact so disabled - # importer = xmlimporter.XmlImporter(self.node_mgt_service) - # importer.import_xml("/path/to/python-opcua/schemas/Opc.Ua.NodeSet2.xml", self) - - # if a cache file was supplied a shelve of the standard address space can now be built for next start up - if shelffile: - self.aspace.make_aspace_shelf(shelffile) + async def load_standard_address_space(self, shelf_file=None): + if shelf_file is not None: + is_file = await self.loop.run_in_executor(None, os.path.isfile, shelf_file) + if is_file: + # import address space from shelf + await self.loop.run_in_executor(None, self.aspace.load_aspace_shelf, shelf_file) + return + # import address space from code generated from xml + standard_address_space.fill_address_space(self.node_mgt_service) + # import address space directly from xml, this has performance impact so disabled + # importer = xmlimporter.XmlImporter(self.node_mgt_service) + # importer.import_xml("/path/to/python-opcua/schemas/Opc.Ua.NodeSet2.xml", self) + if shelf_file: + # path was supplied, but file doesn't exist - create one for next start up + await self.loop.run_in_executor(None, self.aspace.make_aspace_shelf, shelf_file) def _address_space_fixes(self): """ Looks like the xml definition of address space has some error. This is a good place to fix them """ - it = ua.AddReferencesItem() it.SourceNodeId = ua.NodeId(ua.ObjectIds.BaseObjectType) it.ReferenceTypeId = ua.NodeId(ua.ObjectIds.Organizes) it.IsForward = False it.TargetNodeId = ua.NodeId(ua.ObjectIds.ObjectTypesFolder) it.TargetNodeClass = ua.NodeClass.Object + return self.isession.add_references([it]) - results = self.isession.add_references([it]) - def load_address_space(self, path): """ Load address space from path @@ -119,12 +114,12 @@ def dump_address_space(self, path): """ self.aspace.dump(path) - def start(self): + async def start(self): self.logger.info('starting internal server') for edp in self.endpoints: self._known_servers[edp.Server.ApplicationUri] = ServerDesc(edp.Server) - Node(self.isession, ua.NodeId(ua.ObjectIds.Server_ServerStatus_State)).set_value(0, ua.VariantType.Int32) - Node(self.isession, ua.NodeId(ua.ObjectIds.Server_ServerStatus_StartTime)).set_value(datetime.utcnow()) + await Node(self.isession, ua.NodeId(ua.ObjectIds.Server_ServerStatus_State)).set_value(0, ua.VariantType.Int32) + await Node(self.isession, ua.NodeId(ua.ObjectIds.Server_ServerStatus_StartTime)).set_value(datetime.utcnow()) if not self.disabled_clock: self._set_current_time() @@ -134,7 +129,9 @@ def stop(self): self.history_manager.stop() def _set_current_time(self): - self.current_time_node.set_value(datetime.utcnow()) + self.loop.create_task( + self.current_time_node.set_value(datetime.utcnow()) + ) self.loop.call_later(1, self._set_current_time) def get_new_channel_id(self): @@ -305,47 +302,47 @@ def activate_session(self, params): self.logger.info('Activated internal session %s for user %s', self.name, self.user) return result - def read(self, params): + async def read(self, params): results = self.iserver.attribute_service.read(params) if self.external: return results return [deepcopy(dv) for dv in results] - def history_read(self, params): + async def history_read(self, params): return self.iserver.history_manager.read_history(params) - def write(self, params): + async def write(self, params): if not self.external: # If session is internal we need to store a copy og object, not a reference, # otherwise users may change it and we will not generate expected events params.NodesToWrite = [deepcopy(ntw) for ntw in params.NodesToWrite] return self.iserver.attribute_service.write(params, self.user) - def browse(self, params): + async def browse(self, params): return self.iserver.view_service.browse(params) - def translate_browsepaths_to_nodeids(self, params): + async def translate_browsepaths_to_nodeids(self, params): return self.iserver.view_service.translate_browsepaths_to_nodeids(params) - def add_nodes(self, params): + async def add_nodes(self, params): return self.iserver.node_mgt_service.add_nodes(params, self.user) - def delete_nodes(self, params): + async def delete_nodes(self, params): return self.iserver.node_mgt_service.delete_nodes(params, self.user) - def add_references(self, params): + async def add_references(self, params): return self.iserver.node_mgt_service.add_references(params, self.user) - def delete_references(self, params): + async def delete_references(self, params): return self.iserver.node_mgt_service.delete_references(params, self.user) - def add_method_callback(self, methodid, callback): + async def add_method_callback(self, methodid, callback): return self.aspace.add_method_callback(methodid, callback) def call(self, params): return self.iserver.method_service.call(params) - def create_subscription(self, params, callback): + async def create_subscription(self, params, callback): result = self.subscription_service.create_subscription(params, callback) self.subscriptions.append(result.SubscriptionId) return result diff --git a/opcua/server/server.py b/opcua/server/server.py index ba4bc5193..de265690d 100644 --- a/opcua/server/server.py +++ b/opcua/server/server.py @@ -72,7 +72,8 @@ class Server: :vartype nodes: Shortcuts """ - def __init__(self, shelffile=None, iserver=None): + def __init__(self, iserver=None): + self.loop = asyncio.get_event_loop() self.logger = logging.getLogger(__name__) self.endpoint = urlparse('opc.tcp://0.0.0.0:4840/freeopcua/server/') self.application_uri = 'urn:freeopcua:python:server' @@ -83,7 +84,7 @@ def __init__(self, shelffile=None, iserver=None): if iserver is not None: self.iserver = iserver else: - self.iserver = InternalServer(shelffile) + self.iserver = InternalServer() self.bserver = None self._discovery_clients = {} self._discovery_period = 60 @@ -91,16 +92,19 @@ def __init__(self, shelffile=None, iserver=None): self.private_key = None self._policies = [] self.nodes = Shortcuts(self.iserver.isession) + + async def init(self, shelf_file=None): + await self.iserver.init(shelf_file) # setup some expected values sa_node = self.get_node(ua.NodeId(ua.ObjectIds.Server_ServerArray)) - sa_node.set_value([self.application_uri]) + await sa_node.set_value([self.application_uri]) - def __aenter__(self): - self.start() + async def __aenter__(self): + await self.start() return self - def __aexit__(self, exc_type, exc_value, traceback): - self.stop() + async def __aexit__(self, exc_type, exc_value, traceback): + await self.stop() async def load_certificate(self, path): """ @@ -154,7 +158,7 @@ def register_to_discovery(self, url="opc.tcp://localhost:4840", period=60): self._discovery_clients[url].register_server(self) self._discovery_period = period if period: - self.iserver.loop.call_soon(self._renew_registration) + self.loop.call_soon(self._renew_registration) def unregister_to_discovery(self, url="opc.tcp://localhost:4840"): """ @@ -166,15 +170,7 @@ def unregister_to_discovery(self, url="opc.tcp://localhost:4840"): def _renew_registration(self): for client in self._discovery_clients.values(): client.register_server(self) - self.iserver.loop.call_later(self._discovery_period, self._renew_registration) - - def get_client_to_discovery(self, url="opc.tcp://localhost:4840"): - """ - Create a client to discovery server and return it - """ - client = Client(url) - client.connect() - return client + self.loop.call_later(self._discovery_period, self._renew_registration) def allow_remote_admin(self, allow): """ @@ -188,9 +184,9 @@ def set_endpoint(self, url): def get_endpoints(self): return self.iserver.get_endpoints() - def _setup_server_nodes(self): + async def _setup_server_nodes(self): # to be called just before starting server since it needs all parameters to be setup - self.register_namespace(self.application_uri) + await self.register_namespace(self.application_uri) self._set_endpoints() self._policies = [ua.SecurityPolicyFactory()] if self.certificate and self.private_key: @@ -275,8 +271,8 @@ async def start(self): """ Start to listen on network """ - self._setup_server_nodes() - self.iserver.start() + await self._setup_server_nodes() + await self.iserver.start() try: self.bserver = BinaryServer(self.iserver, self.endpoint.hostname, self.endpoint.port) self.bserver.set_policies(self._policies) @@ -351,7 +347,7 @@ async def register_namespace(self, uri): if uri in uries: return uries.index(uri) uries.append(uri) - ns_node.set_value(uries) + await ns_node.set_value(uries) return len(uries) - 1 async def get_namespace_index(self, uri): @@ -403,29 +399,28 @@ def create_custom_variable_type(self, idx, name, basetype=ua.ObjectIds.BaseVaria methods = [] return self._create_custom_type(idx, name, basetype, properties, variables, methods) - def _create_custom_type(self, idx, name, basetype, properties, variables, methods): + async def _create_custom_type(self, idx, name, basetype, properties, variables, methods): if isinstance(basetype, Node): base_t = basetype elif isinstance(basetype, ua.NodeId): base_t = Node(self.iserver.isession, basetype) else: base_t = Node(self.iserver.isession, ua.NodeId(basetype)) - - custom_t = base_t.add_object_type(idx, name) + custom_t = await base_t.add_object_type(idx, name) for prop in properties: datatype = None if len(prop) > 2: datatype = prop[2] - custom_t.add_property(idx, prop[0], ua.get_default_value(prop[1]), varianttype=prop[1], datatype=datatype) + await custom_t.add_property(idx, prop[0], ua.get_default_value(prop[1]), varianttype=prop[1], datatype=datatype) for variable in variables: datatype = None if len(variable) > 2: datatype = variable[2] - custom_t.add_variable( + await custom_t.add_variable( idx, variable[0], ua.get_default_value(variable[1]), varianttype=variable[1], datatype=datatype ) for method in methods: - custom_t.add_method(idx, method[0], method[1], method[2], method[3]) + await custom_t.add_method(idx, method[0], method[1], method[2], method[3]) return custom_t def import_xml(self, path): diff --git a/tests/test_client.py b/tests/test_client.py index 7256a589b..0573a67c3 100644 --- a/tests/test_client.py +++ b/tests/test_client.py @@ -34,8 +34,8 @@ async def client(): async def server(): # start our own server srv = Server() - await srv.set_endpoint(f'opc.tcp://127.0.0.1:{port_num1}') - add_server_methods(srv) + srv.set_endpoint(f'opc.tcp://127.0.0.1:{port_num1}') + await add_server_methods(srv) await srv.start() yield srv # stop the server diff --git a/tests/tests_common.py b/tests/tests_common.py index e51f95fe0..66e452681 100644 --- a/tests/tests_common.py +++ b/tests/tests_common.py @@ -15,14 +15,16 @@ from opcua.common.methods import call_method_full -def add_server_methods(srv): +async def add_server_methods(srv): @uamethod def func(parent, value): return value * 2 o = srv.get_objects_node() - v = o.add_method(ua.NodeId("ServerMethod", 2), ua.QualifiedName('ServerMethod', 2), func, [ua.VariantType.Int64], - [ua.VariantType.Int64]) + await o.add_method( + ua.NodeId("ServerMethod", 2), ua.QualifiedName('ServerMethod', 2), + func, [ua.VariantType.Int64], [ua.VariantType.Int64] + ) @uamethod def func2(parent, methodname, value): @@ -36,36 +38,40 @@ def func2(parent, methodname, value): return math.sin(value) o = srv.get_objects_node() - v = o.add_method(ua.NodeId("ServerMethodArray", 2), ua.QualifiedName('ServerMethodArray', 2), func2, - [ua.VariantType.String, ua.VariantType.Int64], [ua.VariantType.Int64]) + await o.add_method( + ua.NodeId("ServerMethodArray", 2), ua.QualifiedName('ServerMethodArray', 2), func2, + [ua.VariantType.String, ua.VariantType.Int64], [ua.VariantType.Int64] + ) @uamethod def func3(parent, mylist): return [i * 2 for i in mylist] o = srv.get_objects_node() - v = o.add_method(ua.NodeId("ServerMethodArray2", 2), ua.QualifiedName('ServerMethodArray2', 2), func3, - [ua.VariantType.Int64], [ua.VariantType.Int64]) + await o.add_method( + ua.NodeId("ServerMethodArray2", 2), ua.QualifiedName('ServerMethodArray2', 2), func3, + [ua.VariantType.Int64], [ua.VariantType.Int64] + ) @uamethod def func4(parent): return None base_otype = srv.get_node(ua.ObjectIds.BaseObjectType) - custom_otype = base_otype.add_object_type(2, 'ObjectWithMethodsType') - custom_otype.add_method(2, 'ServerMethodDefault', func4) - custom_otype.add_method(2, 'ServerMethodMandatory', func4).set_modelling_rule(True) - custom_otype.add_method(2, 'ServerMethodOptional', func4).set_modelling_rule(False) - custom_otype.add_method(2, 'ServerMethodNone', func4).set_modelling_rule(None) - o.add_object(2, 'ObjectWithMethods', custom_otype) + custom_otype = await base_otype.add_object_type(2, 'ObjectWithMethodsType') + await custom_otype.add_method(2, 'ServerMethodDefault', func4) + await custom_otype.add_method(2, 'ServerMethodMandatory', func4).set_modelling_rule(True) + await custom_otype.add_method(2, 'ServerMethodOptional', func4).set_modelling_rule(False) + await custom_otype.add_method(2, 'ServerMethodNone', func4).set_modelling_rule(None) + await o.add_object(2, 'ObjectWithMethods', custom_otype) @uamethod def func5(parent): return 1, 2, 3 o = srv.get_objects_node() - v = o.add_method(ua.NodeId("ServerMethodTuple", 2), ua.QualifiedName('ServerMethodTuple', 2), func5, [], - [ua.VariantType.Int64, ua.VariantType.Int64, ua.VariantType.Int64]) + await o.add_method(ua.NodeId("ServerMethodTuple", 2), ua.QualifiedName('ServerMethodTuple', 2), func5, [], + [ua.VariantType.Int64, ua.VariantType.Int64, ua.VariantType.Int64]) def _test_modelling_rules(test, parent, mandatory, result): @@ -274,23 +280,23 @@ def test_browse_references(self): folder = objects.add_folder(4, "folder") childs = objects.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Forward, - includesubtypes=False) + includesubtypes=False) self.assertTrue(folder in childs) childs = objects.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Both, - includesubtypes=False) + includesubtypes=False) self.assertTrue(folder in childs) childs = objects.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Inverse, - includesubtypes=False) + includesubtypes=False) self.assertFalse(folder in childs) parents = folder.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Inverse, - includesubtypes=False) + includesubtypes=False) self.assertTrue(objects in parents) parents = folder.get_referenced_nodes(refs=ua.ObjectIds.HierarchicalReferences, - direction=ua.BrowseDirection.Inverse, includesubtypes=False) + direction=ua.BrowseDirection.Inverse, includesubtypes=False) self.assertTrue(objects in parents) parent = folder.get_parent() @@ -336,7 +342,7 @@ def test_datetime_write(self): def test_variant_array_dim(self): objects = self.opc.get_objects_node() l = [[[1.0, 1.0, 1.0, 1.0], [2.0, 2.0, 2.0, 2.0], [3.0, 3.0, 3.0, 3.0]], - [[5.0, 5.0, 5.0, 5.0], [7.0, 8.0, 9.0, 01.0], [1.0, 1.0, 1.0, 1.0]]] + [[5.0, 5.0, 5.0, 5.0], [7.0, 8.0, 9.0, 01.0], [1.0, 1.0, 1.0, 1.0]]] v = objects.add_variable(3, 'variableWithDims', l) v.set_array_dimensions([0, 0, 0]) @@ -721,10 +727,10 @@ def test_references_for_added_nodes(self): objects = self.opc.get_objects_node() o = objects.add_object(3, 'MyObject') nodes = objects.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Forward, - includesubtypes=False) + includesubtypes=False) self.assertTrue(o in nodes) nodes = o.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Inverse, - includesubtypes=False) + includesubtypes=False) self.assertTrue(objects in nodes) self.assertEqual(o.get_parent(), objects) self.assertEqual(o.get_type_definition().Identifier, ua.ObjectIds.BaseObjectType) @@ -732,10 +738,10 @@ def test_references_for_added_nodes(self): o2 = o.add_object(3, 'MySecondObject') nodes = o.get_referenced_nodes(refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Forward, - includesubtypes=False) + includesubtypes=False) self.assertTrue(o2 in nodes) nodes = o2.get_referenced_nodes(refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Inverse, - includesubtypes=False) + includesubtypes=False) self.assertTrue(o in nodes) self.assertEqual(o2.get_parent(), o) self.assertEqual(o2.get_type_definition().Identifier, ua.ObjectIds.BaseObjectType) @@ -743,10 +749,10 @@ def test_references_for_added_nodes(self): v = o.add_variable(3, 'MyVariable', 6) nodes = o.get_referenced_nodes(refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Forward, - includesubtypes=False) + includesubtypes=False) self.assertTrue(v in nodes) nodes = v.get_referenced_nodes(refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Inverse, - includesubtypes=False) + includesubtypes=False) self.assertTrue(o in nodes) self.assertEqual(v.get_parent(), o) self.assertEqual(v.get_type_definition().Identifier, ua.ObjectIds.BaseDataVariableType) @@ -754,10 +760,10 @@ def test_references_for_added_nodes(self): p = o.add_property(3, 'MyProperty', 2) nodes = o.get_referenced_nodes(refs=ua.ObjectIds.HasProperty, direction=ua.BrowseDirection.Forward, - includesubtypes=False) + includesubtypes=False) self.assertTrue(p in nodes) nodes = p.get_referenced_nodes(refs=ua.ObjectIds.HasProperty, direction=ua.BrowseDirection.Inverse, - includesubtypes=False) + includesubtypes=False) self.assertTrue(o in nodes) self.assertEqual(p.get_parent(), o) self.assertEqual(p.get_type_definition().Identifier, ua.ObjectIds.PropertyType) @@ -784,7 +790,7 @@ def test_path(self): path = target.get_path() self.assertEqual( [self.opc.nodes.root, self.opc.nodes.types, self.opc.nodes.object_types, self.opc.nodes.base_object_type, - self.opc.nodes.folder_type, self.opc.get_node(ua.ObjectIds.FileDirectoryType), target], path) + self.opc.nodes.folder_type, self.opc.get_node(ua.ObjectIds.FileDirectoryType), target], path) def test_get_endpoints(self): endpoints = self.opc.get_endpoints() @@ -865,7 +871,7 @@ def test_instantiate_string_nodeid(self): # instanciate device nodes = instantiate(self.opc.nodes.objects, dev_t, nodeid=ua.NodeId("InstDevice", 2, ua.NodeIdType.String), - bname="2:InstDevice") + bname="2:InstDevice") mydevice = nodes[0] self.assertEqual(mydevice.get_node_class(), ua.NodeClass.Object) @@ -880,12 +886,12 @@ def test_instantiate_string_nodeid(self): def test_variable_with_datatype(self): v1 = self.opc.nodes.objects.add_variable(3, 'VariableEnumType1', ua.ApplicationType.ClientAndServer, - datatype=ua.NodeId(ua.ObjectIds.ApplicationType)) + datatype=ua.NodeId(ua.ObjectIds.ApplicationType)) tp1 = v1.get_data_type() self.assertEqual(ua.NodeId(ua.ObjectIds.ApplicationType), tp1) v2 = self.opc.nodes.objects.add_variable(3, 'VariableEnumType2', ua.ApplicationType.ClientAndServer, - datatype=ua.NodeId(ua.ObjectIds.ApplicationType)) + datatype=ua.NodeId(ua.ObjectIds.ApplicationType)) tp2 = v2.get_data_type() self.assertEqual(ua.NodeId(ua.ObjectIds.ApplicationType), tp2) @@ -894,8 +900,9 @@ def test_enum(self): enums = self.opc.get_root_node().get_child(["0:Types", "0:DataTypes", "0:BaseDataType", "0:Enumeration"]) myenum_type = enums.add_data_type(0, "MyEnum") es = myenum_type.add_variable(0, "EnumStrings", - [ua.LocalizedText("String0"), ua.LocalizedText("String1"), ua.LocalizedText("String2")], - ua.VariantType.LocalizedText) + [ua.LocalizedText("String0"), ua.LocalizedText("String1"), + ua.LocalizedText("String2")], + ua.VariantType.LocalizedText) # es.set_value_rank(1) # instantiate o = self.opc.get_objects_node() From d59f63b78e74f83f348ca4c6eef4664aae755b6d Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Wed, 31 Jan 2018 17:29:59 +0100 Subject: [PATCH 008/113] [ADD] refactor server --- examples/server-minimal.py | 15 +++++- opcua/common/copy_node.py | 39 +++++++------- opcua/common/instantiate.py | 44 +++++++++------- opcua/common/manage_nodes.py | 76 +++++++++++++++++---------- opcua/common/node.py | 8 +-- opcua/common/protocol.py | 62 ++++++++++++++++++++++ opcua/common/ua_utils.py | 1 - opcua/server/binary_server_asyncio.py | 7 +-- opcua/server/server.py | 7 ++- opcua/ua/ua_binary.py | 3 +- pytest.ini | 4 ++ tests/test_client.py | 1 + tests/tests_common.py | 6 +-- 13 files changed, 187 insertions(+), 86 deletions(-) create mode 100644 opcua/common/protocol.py create mode 100644 pytest.ini diff --git a/examples/server-minimal.py b/examples/server-minimal.py index d4dab347b..d837dfc83 100644 --- a/examples/server-minimal.py +++ b/examples/server-minimal.py @@ -1,22 +1,35 @@ import asyncio from opcua import ua, Server +from opcua.common.methods import uamethod + + +@uamethod +def func(parent, value): + return value * 2 async def task(loop): # setup our server server = Server() await server.init() - server.set_endpoint('opc.tcp://0.0.0.0:4840/freeopcua/server/') + server.set_endpoint('opc.tcp://127.0.0.1:8080/freeopcua/server/') #4840 # setup our own namespace, not really necessary but should as spec uri = 'http://examples.freeopcua.github.io' idx = await server.register_namespace(uri) # get Objects node, this is where we should put our nodes objects = server.get_objects_node() + # populating our address space myobj = await objects.add_object(idx, 'MyObject') myvar = await myobj.add_variable(idx, 'MyVariable', 6.7) await myvar.set_writable() # Set MyVariable to be writable by clients + + await objects.add_method( + ua.NodeId("ServerMethod", 2), ua.QualifiedName('ServerMethod', 2), + func, [ua.VariantType.Int64], [ua.VariantType.Int64] + ) + # starting! async with server: count = 0 diff --git a/opcua/common/copy_node.py b/opcua/common/copy_node.py index 216005797..d66129d17 100644 --- a/opcua/common/copy_node.py +++ b/opcua/common/copy_node.py @@ -7,19 +7,18 @@ logger = logging.getLogger(__name__) -def copy_node(parent, node, nodeid=None, recursive=True): +async def copy_node(parent, node, nodeid=None, recursive=True): """ Copy a node or node tree as child of parent node """ - rdesc = _rdesc_from_node(parent, node) - + rdesc = await _rdesc_from_node(parent, node) if nodeid is None: nodeid = ua.NodeId(namespaceidx=node.nodeid.NamespaceIndex) added_nodeids = _copy_node(parent.server, parent.nodeid, rdesc, nodeid, recursive) return [Node(parent.server, nid) for nid in added_nodeids] -def _copy_node(server, parent_nodeid, rdesc, nodeid, recursive): +async def _copy_node(server, parent_nodeid, rdesc, nodeid, recursive): addnode = ua.AddNodesItem() addnode.RequestedNewNodeId = nodeid addnode.BrowseName = rdesc.BrowseName @@ -27,18 +26,13 @@ def _copy_node(server, parent_nodeid, rdesc, nodeid, recursive): addnode.ReferenceTypeId = rdesc.ReferenceTypeId addnode.TypeDefinition = rdesc.TypeDefinition addnode.NodeClass = rdesc.NodeClass - node_to_copy = Node(server, rdesc.NodeId) - - attrObj = getattr(ua, rdesc.NodeClass.name + "Attributes") - _read_and_copy_attrs(node_to_copy, attrObj(), addnode) - - res = server.add_nodes([addnode])[0] - + attr_obj = getattr(ua, rdesc.NodeClass.name + "Attributes") + await _read_and_copy_attrs(node_to_copy, attr_obj(), addnode) + res = await server.add_nodes([addnode])[0] added_nodes = [res.AddedNodeId] - if recursive: - descs = node_to_copy.get_children_descriptions() + descs = await node_to_copy.get_children_descriptions() for desc in descs: nodes = _copy_node(server, res.AddedNodeId, desc, nodeid=ua.NodeId(namespaceidx=desc.NodeId.NamespaceIndex), recursive=True) added_nodes.extend(nodes) @@ -46,30 +40,33 @@ def _copy_node(server, parent_nodeid, rdesc, nodeid, recursive): return added_nodes -def _rdesc_from_node(parent, node): - results = node.get_attributes([ua.AttributeIds.NodeClass, ua.AttributeIds.BrowseName, ua.AttributeIds.DisplayName]) +async def _rdesc_from_node(parent, node): + results = await node.get_attributes([ + ua.AttributeIds.NodeClass, ua.AttributeIds.BrowseName, ua.AttributeIds.DisplayName, + ]) nclass, qname, dname = [res.Value.Value for res in results] - rdesc = ua.ReferenceDescription() rdesc.NodeId = node.nodeid rdesc.BrowseName = qname rdesc.DisplayName = dname rdesc.NodeClass = nclass - if parent.get_type_definition() == ua.NodeId(ua.ObjectIds.FolderType): + if await parent.get_type_definition() == ua.NodeId(ua.ObjectIds.FolderType): rdesc.ReferenceTypeId = ua.NodeId(ua.ObjectIds.Organizes) else: rdesc.ReferenceTypeId = ua.NodeId(ua.ObjectIds.HasComponent) - typedef = node.get_type_definition() + typedef = await node.get_type_definition() if typedef: rdesc.TypeDefinition = typedef return rdesc -def _read_and_copy_attrs(node_type, struct, addnode): - names = [name for name in struct.__dict__.keys() if not name.startswith("_") and name not in ("BodyLength", "TypeId", "SpecifiedAttributes", "Encoding", "IsAbstract", "EventNotifier")] +async def _read_and_copy_attrs(node_type, struct, addnode): + names = [name for name in struct.__dict__.keys() if not name.startswith("_") and name not in ( + "BodyLength", "TypeId", "SpecifiedAttributes", "Encoding", "IsAbstract", "EventNotifier", + )] attrs = [getattr(ua.AttributeIds, name) for name in names] for name in names: - results = node_type.get_attributes(attrs) + results = await node_type.get_attributes(attrs) for idx, name in enumerate(names): if results[idx].StatusCode.is_good(): if name == "Value": diff --git a/opcua/common/instantiate.py b/opcua/common/instantiate.py index 5eb54e411..1ac37b2ed 100644 --- a/opcua/common/instantiate.py +++ b/opcua/common/instantiate.py @@ -14,14 +14,14 @@ logger = logging.getLogger(__name__) -def instantiate(parent, node_type, nodeid=None, bname=None, dname=None, idx=0): +async def instantiate(parent, node_type, nodeid=None, bname=None, dname=None, idx=0): """ instantiate a node type under a parent node. nodeid and browse name of new node can be specified, or just namespace index If they exists children of the node type, such as components, variables and properties are also instantiated """ - rdesc = _rdesc_from_node(parent, node_type) + rdesc = await _rdesc_from_node(parent, node_type) rdesc.TypeDefinition = node_type.nodeid if nodeid is None: @@ -31,11 +31,14 @@ def instantiate(parent, node_type, nodeid=None, bname=None, dname=None, idx=0): elif isinstance(bname, str): bname = ua.QualifiedName.from_string(bname) - nodeids = _instantiate_node(parent.server, Node(parent.server, rdesc.NodeId), parent.nodeid, rdesc, nodeid, bname, dname=dname, toplevel=True) + nodeids = await _instantiate_node( + parent.server, + Node(parent.server, rdesc.NodeId), parent.nodeid, rdesc, nodeid, bname, dname=dname, toplevel=True + ) return [Node(parent.server, nid) for nid in nodeids] -def _instantiate_node(server, node_type, parentid, rdesc, nodeid, bname, dname=None, recursive=True, toplevel=False): +async def _instantiate_node(server, node_type, parentid, rdesc, nodeid, bname, dname=None, recursive=True, toplevel=False): """ instantiate a node type under parent """ @@ -48,38 +51,36 @@ def _instantiate_node(server, node_type, parentid, rdesc, nodeid, bname, dname=N if rdesc.NodeClass in (ua.NodeClass.Object, ua.NodeClass.ObjectType): addnode.NodeClass = ua.NodeClass.Object - _read_and_copy_attrs(node_type, ua.ObjectAttributes(), addnode) + await _read_and_copy_attrs(node_type, ua.ObjectAttributes(), addnode) elif rdesc.NodeClass in (ua.NodeClass.Variable, ua.NodeClass.VariableType): addnode.NodeClass = ua.NodeClass.Variable - _read_and_copy_attrs(node_type, ua.VariableAttributes(), addnode) + await _read_and_copy_attrs(node_type, ua.VariableAttributes(), addnode) elif rdesc.NodeClass in (ua.NodeClass.Method,): addnode.NodeClass = ua.NodeClass.Method - _read_and_copy_attrs(node_type, ua.MethodAttributes(), addnode) + await _read_and_copy_attrs(node_type, ua.MethodAttributes(), addnode) elif rdesc.NodeClass in (ua.NodeClass.DataType,): addnode.NodeClass = ua.NodeClass.DataType - _read_and_copy_attrs(node_type, ua.DataTypeAttributes(), addnode) + await _read_and_copy_attrs(node_type, ua.DataTypeAttributes(), addnode) else: logger.error("Instantiate: Node class not supported: %s", rdesc.NodeClass) raise RuntimeError("Instantiate: Node class not supported") - return if dname is not None: addnode.NodeAttributes.DisplayName = dname - res = server.add_nodes([addnode])[0] + res = (await server.add_nodes([addnode]))[0] added_nodes = [res.AddedNodeId] if recursive: - parents = ua_utils.get_node_supertypes(node_type, includeitself=True) + parents = await ua_utils.get_node_supertypes(node_type, includeitself=True) node = Node(server, res.AddedNodeId) for parent in parents: - descs = parent.get_children_descriptions(includesubtypes=False) + descs = await parent.get_children_descriptions(includesubtypes=False) for c_rdesc in descs: # skip items that already exists, prefer the 'lowest' one in object hierarchy - if not ua_utils.is_child_present(node, c_rdesc.BrowseName): - + if not await ua_utils.is_child_present(node, c_rdesc.BrowseName): c_node_type = Node(server, c_rdesc.NodeId) - refs = c_node_type.get_referenced_nodes(refs=ua.ObjectIds.HasModellingRule) + refs = await c_node_type.get_referenced_nodes(refs=ua.ObjectIds.HasModellingRule) # exclude nodes without ModellingRule at top-level if toplevel and len(refs) == 0: continue @@ -87,13 +88,18 @@ def _instantiate_node(server, node_type, parentid, rdesc, nodeid, bname, dname=N if len(refs) == 1 and refs[0].nodeid == ua.NodeId(ua.ObjectIds.ModellingRule_Optional): logger.info("Will not instantiate optional node %s as part of %s", c_rdesc.BrowseName, addnode.BrowseName) continue - # if root node being instantiated has a String NodeId, create the children with a String NodeId if res.AddedNodeId.NodeIdType is ua.NodeIdType.String: inst_nodeid = res.AddedNodeId.Identifier + "." + c_rdesc.BrowseName.Name - nodeids = _instantiate_node(server, c_node_type, res.AddedNodeId, c_rdesc, nodeid=ua.NodeId(identifier=inst_nodeid, namespaceidx=res.AddedNodeId.NamespaceIndex), bname=c_rdesc.BrowseName) + nodeids = await _instantiate_node( + server, c_node_type, res.AddedNodeId, c_rdesc, + nodeid=ua.NodeId(identifier=inst_nodeid, namespaceidx=res.AddedNodeId.NamespaceIndex), + bname=c_rdesc.BrowseName + ) else: - nodeids = _instantiate_node(server, c_node_type, res.AddedNodeId, c_rdesc, nodeid=ua.NodeId(namespaceidx=res.AddedNodeId.NamespaceIndex), bname=c_rdesc.BrowseName) + nodeids = await _instantiate_node( + server, c_node_type, res.AddedNodeId, c_rdesc, + nodeid=ua.NodeId(namespaceidx=res.AddedNodeId.NamespaceIndex), bname=c_rdesc.BrowseName + ) added_nodes.extend(nodeids) - return added_nodes diff --git a/opcua/common/manage_nodes.py b/opcua/common/manage_nodes.py index 16a294307..e28506f94 100644 --- a/opcua/common/manage_nodes.py +++ b/opcua/common/manage_nodes.py @@ -1,10 +1,17 @@ """ High level functions to create nodes """ +import logging from opcua import ua from opcua.common import node from opcua.common.instantiate import instantiate +_logger = logging.getLogger(__name__) +__all__ = [ + 'create_folder', 'create_object', 'create_property', 'create_variable', 'create_variable_type', + 'create_reference_type', 'create_object_type', 'create_method', 'create_data_type', 'delete_nodes' +] + def _parse_nodeid_qname(*args): try: @@ -28,7 +35,10 @@ def _parse_nodeid_qname(*args): except ua.UaError: raise except Exception as ex: - raise TypeError("This method takes either a namespace index and a string as argument or a nodeid and a qualifiedname. Received arguments {0} and got exception {1}".format(args, ex)) + raise TypeError( + "This method takes either a namespace index and a string as argument or a nodeid and a qualifiedname. Received arguments {0} and got exception {1}".format( + args, ex) + ) async def create_folder(parent, nodeid, bname): @@ -55,8 +65,8 @@ async def create_object(parent, nodeid, bname, objecttype=None): if objecttype is not None: objecttype = node.Node(parent.server, objecttype) dname = ua.LocalizedText(bname) - nodes = instantiate(parent, objecttype, nodeid, bname=qname, dname=dname)[0] - return nodes + nodes = await instantiate(parent, objecttype, nodeid, bname=qname, dname=dname) + return nodes[0] else: return node.Node( parent.server, @@ -64,7 +74,7 @@ async def create_object(parent, nodeid, bname, objecttype=None): ) -def create_property(parent, nodeid, bname, val, varianttype=None, datatype=None): +async def create_property(parent, nodeid, bname, val, varianttype=None, datatype=None): """ create a child node property args are nodeid, browsename, value, [variant type] @@ -76,7 +86,10 @@ def create_property(parent, nodeid, bname, val, varianttype=None, datatype=None) datatype = ua.NodeId(datatype, 0) if datatype and not isinstance(datatype, ua.NodeId): raise RuntimeError("datatype argument must be a nodeid or an int refering to a nodeid") - return node.Node(parent.server, _create_variable(parent.server, parent.nodeid, nodeid, qname, var, datatype=datatype, isproperty=True)) + return node.Node( + parent.server, + await _create_variable(parent.server, parent.nodeid, nodeid, qname, var, datatype=datatype, isproperty=True) + ) async def create_variable(parent, nodeid, bname, val, varianttype=None, datatype=None): @@ -108,21 +121,25 @@ async def create_variable_type(parent, nodeid, bname, datatype): if datatype and isinstance(datatype, int): datatype = ua.NodeId(datatype, 0) if datatype and not isinstance(datatype, ua.NodeId): - raise RuntimeError("Data type argument must be a nodeid or an int refering to a nodeid, received: {}".format(datatype)) + raise RuntimeError( + "Data type argument must be a nodeid or an int refering to a nodeid, received: {}".format(datatype)) return node.Node( parent.server, await _create_variable_type(parent.server, parent.nodeid, nodeid, qname, datatype) ) -def create_reference_type(parent, nodeid, bname, symmetric=True, inversename=None): +async def create_reference_type(parent, nodeid, bname, symmetric=True, inversename=None): """ Create a new reference type args are nodeid and browsename or idx and name """ nodeid, qname = _parse_nodeid_qname(nodeid, bname) - return node.Node(parent.server, _create_reference_type(parent.server, parent.nodeid, nodeid, qname, symmetric, inversename)) + return node.Node( + parent.server, + await _create_reference_type(parent.server, parent.nodeid, nodeid, qname, symmetric, inversename) + ) async def create_object_type(parent, nodeid, bname): @@ -144,6 +161,7 @@ async def create_method(parent, *args): if argument types is specified, child nodes advertising what arguments the method uses and returns will be created a callback is a method accepting the nodeid of the parent as first argument and variants after. returns a list of variants """ + _logger.info('create_method %r', parent) nodeid, qname = _parse_nodeid_qname(*args[:2]) callback = args[2] if len(args) > 3: @@ -183,7 +201,7 @@ async def _create_object(server, parentnodeid, nodeid, qname, objecttype): return results[0].AddedNodeId -def _create_reference_type(server, parentnodeid, nodeid, qname, symmetric, inversename): +async def _create_reference_type(server, parentnodeid, nodeid, qname, symmetric, inversename): addnode = ua.AddNodesItem() addnode.RequestedNewNodeId = nodeid addnode.BrowseName = qname @@ -199,7 +217,7 @@ def _create_reference_type(server, parentnodeid, nodeid, qname, symmetric, inver attrs.UserWriteMask = 0 addnode.NodeAttributes = attrs - results = server.add_nodes([addnode]) + results = await server.add_nodes([addnode]) results[0].StatusCode.check() return results[0].AddedNodeId @@ -268,7 +286,7 @@ async def _create_variable_type(server, parentnodeid, nodeid, qname, datatype, v addnode.NodeClass = ua.NodeClass.VariableType addnode.ParentNodeId = parentnodeid addnode.ReferenceTypeId = ua.NodeId(ua.ObjectIds.HasSubtype) - #addnode.TypeDefinition = ua.NodeId(ua.ObjectIds.BaseDataVariableType) + # addnode.TypeDefinition = ua.NodeId(ua.ObjectIds.BaseDataVariableType) attrs = ua.VariableTypeAttributes() attrs.Description = ua.LocalizedText(qname.Name) attrs.DisplayName = ua.LocalizedText(qname.Name) @@ -280,7 +298,7 @@ async def _create_variable_type(server, parentnodeid, nodeid, qname, datatype, v attrs.ValueRank = ua.ValueRank.OneDimension else: attrs.ValueRank = ua.ValueRank.Scalar - #attrs.ArrayDimensions = None + # attrs.ArrayDimensions = None attrs.WriteMask = 0 attrs.UserWriteMask = 0 addnode.NodeAttributes = attrs @@ -303,7 +321,7 @@ async def create_data_type(parent, nodeid, bname, description=None): addnode.NodeClass = ua.NodeClass.DataType addnode.ParentNodeId = parent.nodeid addnode.ReferenceTypeId = ua.NodeId(ua.ObjectIds.HasSubtype) - #addnode.TypeDefinition = ua.NodeId(ua.ObjectIds.BaseDataVariableType) # No type definition for types + # addnode.TypeDefinition = ua.NodeId(ua.ObjectIds.BaseDataVariableType) # No type definition for types attrs = ua.DataTypeAttributes() if description is None: attrs.Description = ua.LocalizedText(qname.Name) @@ -326,7 +344,7 @@ async def _create_method(parent, nodeid, qname, callback, inputs, outputs): addnode.NodeClass = ua.NodeClass.Method addnode.ParentNodeId = parent.nodeid addnode.ReferenceTypeId = ua.NodeId(ua.ObjectIds.HasComponent) - #node.TypeDefinition = ua.NodeId(ua.ObjectIds.BaseObjectType) + # node.TypeDefinition = ua.NodeId(ua.ObjectIds.BaseObjectType) attrs = ua.MethodAttributes() attrs.Description = ua.LocalizedText(qname.Name) attrs.DisplayName = ua.LocalizedText(qname.Name) @@ -339,19 +357,23 @@ async def _create_method(parent, nodeid, qname, callback, inputs, outputs): results[0].StatusCode.check() method = node.Node(parent.server, results[0].AddedNodeId) if inputs: - create_property(method, - ua.NodeId(namespaceidx=method.nodeid.NamespaceIndex), - ua.QualifiedName("InputArguments", 0), - [_vtype_to_argument(vtype) for vtype in inputs], - varianttype=ua.VariantType.ExtensionObject, - datatype=ua.ObjectIds.Argument) + await create_property( + method, + ua.NodeId(namespaceidx=method.nodeid.NamespaceIndex), + ua.QualifiedName("InputArguments", 0), + [_vtype_to_argument(vtype) for vtype in inputs], + varianttype=ua.VariantType.ExtensionObject, + datatype=ua.ObjectIds.Argument + ) if outputs: - create_property(method, - ua.NodeId(namespaceidx=method.nodeid.NamespaceIndex), - ua.QualifiedName("OutputArguments", 0), - [_vtype_to_argument(vtype) for vtype in outputs], - varianttype=ua.VariantType.ExtensionObject, - datatype=ua.ObjectIds.Argument) + await create_property( + method, + ua.NodeId(namespaceidx=method.nodeid.NamespaceIndex), + ua.QualifiedName("OutputArguments", 0), + [_vtype_to_argument(vtype) for vtype in outputs], + varianttype=ua.VariantType.ExtensionObject, + datatype=ua.ObjectIds.Argument + ) if hasattr(parent.server, "add_method_callback"): await parent.server.add_method_callback(method.nodeid, callback) return results[0].AddedNodeId @@ -407,5 +429,3 @@ def _add_childs(nodes): for mynode in nodes[:]: results += mynode.get_children() return results - - diff --git a/opcua/common/node.py b/opcua/common/node.py index ca7970f32..b26dcc7f9 100644 --- a/opcua/common/node.py +++ b/opcua/common/node.py @@ -573,7 +573,7 @@ async def delete(self, delete_references=True, recursive=False): results = await opcua.common.manage_nodes.delete_nodes(self.server, [self], recursive, delete_references) _check_results(results) - def _fill_delete_reference_item(self, rdesc, bidirectional = False): + def _fill_delete_reference_item(self, rdesc, bidirectional=False): ditem = ua.DeleteReferencesItem() ditem.SourceNodeId = self.nodeid ditem.TargetNodeId = rdesc.NodeId @@ -619,7 +619,7 @@ async def add_reference(self, target, reftype, forward=True, bidirectional=True) async def _add_modelling_rule(self, parent, mandatory=True): if mandatory is not None and await parent.get_node_class() == ua.NodeClass.ObjectType: - rule=ua.ObjectIds.ModellingRule_Mandatory if mandatory else ua.ObjectIds.ModellingRule_Optional + rule = ua.ObjectIds.ModellingRule_Mandatory if mandatory else ua.ObjectIds.ModellingRule_Optional await self.add_reference(rule, ua.ObjectIds.HasModellingRule, True, False) return self @@ -630,9 +630,9 @@ async def set_modelling_rule(self, mandatory): if await parent.get_node_class() != ua.NodeClass.ObjectType: return ua.StatusCode(ua.StatusCodes.BadTypeMismatch) # remove all existing modelling rule - rules = self.get_references(ua.ObjectIds.HasModellingRule) + rules = await self.get_references(ua.ObjectIds.HasModellingRule) await self.server.delete_references(list(map(self._fill_delete_reference_item, rules))) - self._add_modelling_rule(parent, mandatory) + await self._add_modelling_rule(parent, mandatory) return ua.StatusCode() async def add_folder(self, nodeid, bname): diff --git a/opcua/common/protocol.py b/opcua/common/protocol.py new file mode 100644 index 000000000..de65d6c6c --- /dev/null +++ b/opcua/common/protocol.py @@ -0,0 +1,62 @@ + +import asyncio + + +class UASocketProtocol(asyncio.Protocol): + """ + Handle socket connection and send ua messages. + Timeout is the timeout used while waiting for an ua answer from server. + """ + + def __init__(self, timeout=1, security_policy=ua.SecurityPolicy()): + self.logger = logging.getLogger(__name__ + ".UASocketProtocol") + self.loop = asyncio.get_event_loop() + self.transport = None + self.receive_buffer = asyncio.Queue() + self.is_receiving = False + self.timeout = timeout + self.authentication_token = ua.NodeId() + self._request_id = 0 + self._request_handle = 0 + self._callbackmap = {} + self._connection = SecureConnection(security_policy) + self._leftover_chunk = None + + def connection_made(self, transport: asyncio.Transport): + self.transport = transport + + def connection_lost(self, exc): + self.logger.info("Socket has closed connection") + self.transport = None + + def data_received(self, data: bytes): + self.receive_buffer.put_nowait(data) + if not self.is_receiving: + self.is_receiving = True + self.loop.create_task(self._receive()) + + async def read(self, size: int): + """Receive up to size bytes from socket.""" + data = b'' + self.logger.debug('read %s bytes from socket', size) + while size > 0: + self.logger.debug('data is now %s, waiting for %s bytes', len(data), size) + # ToDo: abort on timeout, socket close + # raise SocketClosedException("Server socket has closed") + if self._leftover_chunk: + self.logger.debug('leftover bytes %s', len(self._leftover_chunk)) + # use leftover chunk first + chunk = self._leftover_chunk + self._leftover_chunk = None + else: + chunk = await self.receive_buffer.get() + self.logger.debug('got chunk %s needed_length is %s', len(chunk), size) + if len(chunk) <= size: + _chunk = chunk + else: + # chunk is too big + _chunk = chunk[:size] + self._leftover_chunk = chunk[size:] + data += _chunk + size -= len(_chunk) + return data diff --git a/opcua/common/ua_utils.py b/opcua/common/ua_utils.py index 6ee84f211..05c58c756 100644 --- a/opcua/common/ua_utils.py +++ b/opcua/common/ua_utils.py @@ -192,7 +192,6 @@ async def is_child_present(node, browsename): for child_desc in child_descs: if child_desc.BrowseName == browsename: return True - return False diff --git a/opcua/server/binary_server_asyncio.py b/opcua/server/binary_server_asyncio.py index 565917792..89f34496a 100644 --- a/opcua/server/binary_server_asyncio.py +++ b/opcua/server/binary_server_asyncio.py @@ -19,6 +19,7 @@ class OPCUAProtocol(asyncio.Protocol): FIXME: find another solution """ def __init__(self, iserver=None, policies=None, clients=None): + self.loop = asyncio.get_event_loop() self.peer_name = None self.transport = None self.processor = None @@ -54,15 +55,15 @@ def data_received(self, data): if self.data: data = self.data + data self.data = b'' - self._process_data(data) + self.loop.create_task(self._process_data(data)) - def _process_data(self, data): + async def _process_data(self, data): buf = ua.utils.Buffer(data) while True: try: backup_buf = buf.copy() try: - hdr = uabin.header_from_binary(buf) + hdr = await uabin.header_from_binary(buf) except ua.utils.NotEnoughData: logger.info('We did not receive enough data from client, waiting for more') self.data = backup_buf.read(len(backup_buf)) diff --git a/opcua/server/server.py b/opcua/server/server.py index de265690d..731706e46 100644 --- a/opcua/server/server.py +++ b/opcua/server/server.py @@ -281,13 +281,12 @@ async def start(self): self.iserver.stop() raise exp - def stop(self): + async def stop(self): """ Stop server """ - for client in self._discovery_clients.values(): - client.disconnect() - self.bserver.stop() + await asyncio.wait([client.disconnect() for client in self._discovery_clients.values()]) + await self.bserver.stop() self.iserver.stop() def get_root_node(self): diff --git a/opcua/ua/ua_binary.py b/opcua/ua/ua_binary.py index 741841a94..dccb8af3f 100644 --- a/opcua/ua/ua_binary.py +++ b/opcua/ua/ua_binary.py @@ -505,8 +505,7 @@ def struct_from_binary(objtype, data): def header_to_binary(hdr): - b = [] - b.append(struct.pack("<3ss", hdr.MessageType, hdr.ChunkType)) + b = [struct.pack("<3ss", hdr.MessageType, hdr.ChunkType)] size = hdr.body_size + 8 if hdr.MessageType in (ua.MessageType.SecureOpen, ua.MessageType.SecureClose, ua.MessageType.SecureMessage): size += 4 diff --git a/pytest.ini b/pytest.ini new file mode 100644 index 000000000..78385b2ba --- /dev/null +++ b/pytest.ini @@ -0,0 +1,4 @@ +[pytest] +log_cli=False +log_print=True +log_level=INFO diff --git a/tests/test_client.py b/tests/test_client.py index 0573a67c3..90093d5ea 100644 --- a/tests/test_client.py +++ b/tests/test_client.py @@ -34,6 +34,7 @@ async def client(): async def server(): # start our own server srv = Server() + await srv.init() srv.set_endpoint(f'opc.tcp://127.0.0.1:{port_num1}') await add_server_methods(srv) await srv.start() diff --git a/tests/tests_common.py b/tests/tests_common.py index 66e452681..540539d5e 100644 --- a/tests/tests_common.py +++ b/tests/tests_common.py @@ -60,9 +60,9 @@ def func4(parent): base_otype = srv.get_node(ua.ObjectIds.BaseObjectType) custom_otype = await base_otype.add_object_type(2, 'ObjectWithMethodsType') await custom_otype.add_method(2, 'ServerMethodDefault', func4) - await custom_otype.add_method(2, 'ServerMethodMandatory', func4).set_modelling_rule(True) - await custom_otype.add_method(2, 'ServerMethodOptional', func4).set_modelling_rule(False) - await custom_otype.add_method(2, 'ServerMethodNone', func4).set_modelling_rule(None) + await (await custom_otype.add_method(2, 'ServerMethodMandatory', func4)).set_modelling_rule(True) + await (await custom_otype.add_method(2, 'ServerMethodOptional', func4)).set_modelling_rule(False) + await (await custom_otype.add_method(2, 'ServerMethodNone', func4)).set_modelling_rule(None) await o.add_object(2, 'ObjectWithMethods', custom_otype) @uamethod From 0b1252a91010673260462bee84093cc1192e8889 Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Sat, 3 Feb 2018 14:53:47 +0100 Subject: [PATCH 009/113] [ADD] refactored client receive buffer [ADD] wip --- opcua/client/client.py | 1 + opcua/client/ua_client.py | 92 ++++++++--------- opcua/common/connection.py | 15 --- opcua/server/address_space.py | 137 ++++++++++++-------------- opcua/server/binary_server_asyncio.py | 63 ++++++------ opcua/server/server.py | 3 +- opcua/server/uaprocessor.py | 131 +++++------------------- opcua/ua/ua_binary.py | 6 +- pytest.ini | 2 +- tests/test_client.py | 45 ++++----- tests/tests_server.py | 9 +- 11 files changed, 192 insertions(+), 312 deletions(-) diff --git a/opcua/client/client.py b/opcua/client/client.py index 3a7fcf07c..79669e0ea 100644 --- a/opcua/client/client.py +++ b/opcua/client/client.py @@ -452,6 +452,7 @@ def get_root_node(self): return self.get_node(ua.TwoByteNodeId(ua.ObjectIds.RootFolder)) def get_objects_node(self): + self.logger.info('get_objects_node') return self.get_node(ua.TwoByteNodeId(ua.ObjectIds.ObjectsFolder)) def get_server_node(self): diff --git a/opcua/client/ua_client.py b/opcua/client/ua_client.py index 29c865ede..31c8881cc 100644 --- a/opcua/client/ua_client.py +++ b/opcua/client/ua_client.py @@ -6,7 +6,7 @@ from functools import partial from opcua import ua -from opcua.ua.ua_binary import struct_from_binary, uatcp_to_binary, struct_to_binary, nodeid_from_binary +from opcua.ua.ua_binary import struct_from_binary, uatcp_to_binary, struct_to_binary, nodeid_from_binary, header_from_binary from opcua.ua.uaerrors import UaError, BadTimeout, BadNoSubscription, BadSessionClosed from opcua.common.connection import SecureConnection @@ -21,7 +21,7 @@ def __init__(self, timeout=1, security_policy=ua.SecurityPolicy()): self.logger = logging.getLogger(__name__ + ".UASocketProtocol") self.loop = asyncio.get_event_loop() self.transport = None - self.receive_buffer = asyncio.Queue() + self.receive_buffer: bytes = None self.is_receiving = False self.timeout = timeout self.authentication_token = ua.NodeId() @@ -29,7 +29,6 @@ def __init__(self, timeout=1, security_policy=ua.SecurityPolicy()): self._request_handle = 0 self._callbackmap = {} self._connection = SecureConnection(security_policy) - self._leftover_chunk = None def connection_made(self, transport: asyncio.Transport): self.transport = transport @@ -39,36 +38,45 @@ def connection_lost(self, exc): self.transport = None def data_received(self, data: bytes): - self.receive_buffer.put_nowait(data) - if not self.is_receiving: - self.is_receiving = True - self.loop.create_task(self._receive()) - - async def read(self, size: int): - """Receive up to size bytes from socket.""" - data = b'' - self.logger.debug('read %s bytes from socket', size) - while size > 0: - self.logger.debug('data is now %s, waiting for %s bytes', len(data), size) - # ToDo: abort on timeout, socket close - # raise SocketClosedException("Server socket has closed") - if self._leftover_chunk: - self.logger.debug('leftover bytes %s', len(self._leftover_chunk)) - # use leftover chunk first - chunk = self._leftover_chunk - self._leftover_chunk = None - else: - chunk = await self.receive_buffer.get() - self.logger.debug('got chunk %s needed_length is %s', len(chunk), size) - if len(chunk) <= size: - _chunk = chunk - else: - # chunk is too big - _chunk = chunk[:size] - self._leftover_chunk = chunk[size:] - data += _chunk - size -= len(_chunk) - return data + if self.receive_buffer: + data = self.receive_buffer + data + self.receive_buffer = None + self._process_received_data(data) + + def _process_received_data(self, data: bytes): + """Try to parse a opcua message""" + buf = ua.utils.Buffer(data) + while True: + try: + try: + header = header_from_binary(buf) + except ua.utils.NotEnoughData: + self.logger.debug('Not enough data while parsing header from server, waiting for more') + self.receive_buffer = data + return + if len(buf) < header.body_size: + self.logger.debug('We did not receive enough data from server. Need %s got %s', header.body_size, len(buf)) + self.receive_buffer = data + return + msg = self._connection.receive_from_header_and_body(header, buf) + self._process_received_message(msg) + if len(buf) == 0: + return + except Exception: + self.logger.exception('Exception raised while parsing message from client') + return + + def _process_received_message(self, msg): + if msg is None: + pass + elif isinstance(msg, ua.Message): + self._call_callback(msg.request_id(), msg.body()) + elif isinstance(msg, ua.Acknowledge): + self._call_callback(0, msg) + elif isinstance(msg, ua.ErrorMessage): + self.logger.warning("Received an error: %r", msg) + else: + raise ua.UaError("Unsupported message type: %s", msg) def _send_request(self, request, callback=None, timeout=1000, message_type=ua.MessageType.SecureMessage): """ @@ -117,24 +125,6 @@ def check_answer(self, data, context): return False return True - async def _receive(self): - msg = await self._connection.receive_from_socket(self) - if msg is None: - pass - elif isinstance(msg, ua.Message): - self._call_callback(msg.request_id(), msg.body()) - elif isinstance(msg, ua.Acknowledge): - self._call_callback(0, msg) - elif isinstance(msg, ua.ErrorMessage): - self.logger.warning("Received an error: %r", msg) - else: - raise ua.UaError("Unsupported message type: %s", msg) - if self._leftover_chunk or not self.receive_buffer.empty(): - # keep receiving - self.loop.create_task(self._receive()) - else: - self.is_receiving = False - def _call_callback(self, request_id, body): future = self._callbackmap.pop(request_id, None) if future is None: diff --git a/opcua/common/connection.py b/opcua/common/connection.py index 36ec10415..ce105d86e 100644 --- a/opcua/common/connection.py +++ b/opcua/common/connection.py @@ -292,21 +292,6 @@ def receive_from_header_and_body(self, header, body): else: raise ua.UaError("Unsupported message type {0}".format(header.MessageType)) - async def receive_from_socket(self, protocol): - """ - Convert binary stream to OPC UA TCP message (see OPC UA - specs Part 6, 7.1: Hello, Acknowledge or ErrorMessage), or a Message - object, or None (if intermediate chunk is received) - """ - logger.debug("Waiting for header") - header = await header_from_binary(protocol) - logger.debug("Received header: %s", header) - body = await protocol.read(header.body_size) - if len(body) != header.body_size: - # ToDo: should never happen since UASocketProtocol.read() waits until `size` bytes are received. Remove? - raise ua.UaError("{0} bytes expected, {1} available".format(header.body_size, len(body))) - return self.receive_from_header_and_body(header, ua.utils.Buffer(body)) - def _receive(self, msg): self._check_incoming_chunk(msg) self._incoming_parts.append(msg) diff --git a/opcua/server/address_space.py b/opcua/server/address_space.py index 05872a3ea..a5f946eb2 100644 --- a/opcua/server/address_space.py +++ b/opcua/server/address_space.py @@ -470,28 +470,23 @@ class AddressSpace(object): def __init__(self): self.logger = logging.getLogger(__name__) self._nodes = {} - self._lock = RLock() # FIXME: should use multiple reader, one writter pattern self._datachange_callback_counter = 200 self._handle_to_attribute_map = {} self._default_idx = 2 self._nodeid_counter = {0: 20000, 1: 2000} def __getitem__(self, nodeid): - with self._lock: - if nodeid in self._nodes: - return self._nodes.__getitem__(nodeid) + if nodeid in self._nodes: + return self._nodes.__getitem__(nodeid) def __setitem__(self, nodeid, value): - with self._lock: - return self._nodes.__setitem__(nodeid, value) + return self._nodes.__setitem__(nodeid, value) def __contains__(self, nodeid): - with self._lock: - return self._nodes.__contains__(nodeid) + return self._nodes.__contains__(nodeid) def __delitem__(self, nodeid): - with self._lock: - self._nodes.__delitem__(nodeid) + self._nodes.__delitem__(nodeid) def generate_nodeid(self, idx=None): if idx is None: @@ -501,23 +496,18 @@ def generate_nodeid(self, idx=None): else: self._nodeid_counter[idx] = 1 nodeid = ua.NodeId(self._nodeid_counter[idx], idx) - with self._lock: # OK since reentrant lock - while True: - if nodeid in self._nodes: - nodeid = self.generate_nodeid(idx) - else: - return nodeid + while True: + if nodeid in self._nodes: + nodeid = self.generate_nodeid(idx) + else: + return nodeid def keys(self): - with self._lock: - return self._nodes.keys() + return self._nodes.keys() def empty(self): - """ - Delete all nodes in address space - """ - with self._lock: - self._nodes = {} + """Delete all nodes in address space""" + self._nodes = {} def dump(self, path): """ @@ -602,41 +592,39 @@ def __len__(self): self._nodes = LazyLoadingDict(shelve.open(path, "r")) def get_attribute_value(self, nodeid, attr): - with self._lock: - self.logger.debug("get attr val: %s %s", nodeid, attr) - if nodeid not in self._nodes: - dv = ua.DataValue() - dv.StatusCode = ua.StatusCode(ua.StatusCodes.BadNodeIdUnknown) - return dv - node = self._nodes[nodeid] - if attr not in node.attributes: - dv = ua.DataValue() - dv.StatusCode = ua.StatusCode(ua.StatusCodes.BadAttributeIdInvalid) - return dv - attval = node.attributes[attr] - if attval.value_callback: - return attval.value_callback() - return attval.value + # self.logger.debug("get attr val: %s %s", nodeid, attr) + if nodeid not in self._nodes: + dv = ua.DataValue() + dv.StatusCode = ua.StatusCode(ua.StatusCodes.BadNodeIdUnknown) + return dv + node = self._nodes[nodeid] + if attr not in node.attributes: + dv = ua.DataValue() + dv.StatusCode = ua.StatusCode(ua.StatusCodes.BadAttributeIdInvalid) + return dv + attval = node.attributes[attr] + if attval.value_callback: + return attval.value_callback() + return attval.value def set_attribute_value(self, nodeid, attr, value): - with self._lock: - self.logger.debug("set attr val: %s %s %s", nodeid, attr, value) - if nodeid not in self._nodes: - return ua.StatusCode(ua.StatusCodes.BadNodeIdUnknown) - node = self._nodes[nodeid] - if attr not in node.attributes: - return ua.StatusCode(ua.StatusCodes.BadAttributeIdInvalid) - if not value.SourceTimestamp: - value.SourceTimestamp = datetime.utcnow() - if not value.ServerTimestamp: - value.ServerTimestamp = datetime.utcnow() - - attval = node.attributes[attr] - old = attval.value - attval.value = value - cbs = [] - if old.Value != value.Value: # only send call callback when a value change has happend - cbs = list(attval.datachange_callbacks.items()) + # self.logger.debug("set attr val: %s %s %s", nodeid, attr, value) + if nodeid not in self._nodes: + return ua.StatusCode(ua.StatusCodes.BadNodeIdUnknown) + node = self._nodes[nodeid] + if attr not in node.attributes: + return ua.StatusCode(ua.StatusCodes.BadAttributeIdInvalid) + if not value.SourceTimestamp: + value.SourceTimestamp = datetime.utcnow() + if not value.ServerTimestamp: + value.ServerTimestamp = datetime.utcnow() + + attval = node.attributes[attr] + old = attval.value + attval.value = value + cbs = [] + if old.Value != value.Value: # only send call callback when a value change has happend + cbs = list(attval.datachange_callbacks.items()) for k, v in cbs: try: @@ -647,27 +635,24 @@ def set_attribute_value(self, nodeid, attr, value): return ua.StatusCode() def add_datachange_callback(self, nodeid, attr, callback): - with self._lock: - self.logger.debug("set attr callback: %s %s %s", nodeid, attr, callback) - if nodeid not in self._nodes: - return ua.StatusCode(ua.StatusCodes.BadNodeIdUnknown), 0 - node = self._nodes[nodeid] - if attr not in node.attributes: - return ua.StatusCode(ua.StatusCodes.BadAttributeIdInvalid), 0 - attval = node.attributes[attr] - self._datachange_callback_counter += 1 - handle = self._datachange_callback_counter - attval.datachange_callbacks[handle] = callback - self._handle_to_attribute_map[handle] = (nodeid, attr) - return ua.StatusCode(), handle + self.logger.debug("set attr callback: %s %s %s", nodeid, attr, callback) + if nodeid not in self._nodes: + return ua.StatusCode(ua.StatusCodes.BadNodeIdUnknown), 0 + node = self._nodes[nodeid] + if attr not in node.attributes: + return ua.StatusCode(ua.StatusCodes.BadAttributeIdInvalid), 0 + attval = node.attributes[attr] + self._datachange_callback_counter += 1 + handle = self._datachange_callback_counter + attval.datachange_callbacks[handle] = callback + self._handle_to_attribute_map[handle] = (nodeid, attr) + return ua.StatusCode(), handle def delete_datachange_callback(self, handle): - with self._lock: - if handle in self._handle_to_attribute_map: - nodeid, attr = self._handle_to_attribute_map.pop(handle) - self._nodes[nodeid].attributes[attr].datachange_callbacks.pop(handle) + if handle in self._handle_to_attribute_map: + nodeid, attr = self._handle_to_attribute_map.pop(handle) + self._nodes[nodeid].attributes[attr].datachange_callbacks.pop(handle) def add_method_callback(self, methodid, callback): - with self._lock: - node = self._nodes[methodid] - node.call = callback + node = self._nodes[methodid] + node.call = callback diff --git a/opcua/server/binary_server_asyncio.py b/opcua/server/binary_server_asyncio.py index 89f34496a..c2040b5f2 100644 --- a/opcua/server/binary_server_asyncio.py +++ b/opcua/server/binary_server_asyncio.py @@ -18,12 +18,13 @@ class OPCUAProtocol(asyncio.Protocol): to the internal server object FIXME: find another solution """ + def __init__(self, iserver=None, policies=None, clients=None): self.loop = asyncio.get_event_loop() self.peer_name = None self.transport = None self.processor = None - self.data = b'' + self.receive_buffer = b'' self.iserver = iserver self.policies = policies self.clients = clients @@ -51,38 +52,40 @@ def connection_lost(self, ex): self.clients.remove(self) def data_received(self, data): - logger.debug('received %s bytes from socket', len(data)) - if self.data: - data = self.data + data - self.data = b'' - self.loop.create_task(self._process_data(data)) + if self.receive_buffer: + data = self.receive_buffer + data + self.receive_buffer = b'' + self._process_received_data(data) - async def _process_data(self, data): + def _process_received_data(self, data: bytes): + logger.info('_process_received_data %s', len(data)) buf = ua.utils.Buffer(data) - while True: + try: try: - backup_buf = buf.copy() - try: - hdr = await uabin.header_from_binary(buf) - except ua.utils.NotEnoughData: - logger.info('We did not receive enough data from client, waiting for more') - self.data = backup_buf.read(len(backup_buf)) - return - if len(buf) < hdr.body_size: - logger.info('We did not receive enough data from client, waiting for more') - self.data = backup_buf.read(len(backup_buf)) - return - ret = self.processor.process(hdr, buf) - if not ret: - logger.info('processor returned False, we close connection from %s', self.peer_name) - self.transport.close() - return - if len(buf) == 0: - return - except Exception: - logger.exception('Exception raised while parsing message from client, closing') + header = uabin.header_from_binary(buf) + except ua.utils.NotEnoughData: + logger.debug('Not enough data while parsing header from client, waiting for more') + self.receive_buffer = data + self.receive_buffer return - + if len(buf) < header.body_size: + logger.debug('We did not receive enough data from client. Need %s got %s', header.body_size, len(buf)) + self.receive_buffer = data + self.receive_buffer + return + self.loop.create_task(self._process_received_message(header, buf)) + except Exception: + logger.exception('Exception raised while parsing message from client') + return + + async def _process_received_message(self, header, buf): + logger.debug('_process_received_message %s %s', header.body_size, len(buf)) + ret = await self.processor.process(header, buf) + if not ret: + logger.info('processor returned False, we close connection from %s', self.peer_name) + self.transport.close() + return + if len(buf) != 0: + # There is data left in the buffer - process it + self._process_received_data(buf) class BinaryServer: @@ -113,7 +116,7 @@ async def start(self): sockname = self._server.sockets[0].getsockname() self.hostname = sockname[0] self.port = sockname[1] - self.logger.warning('Listening on {0}:{1}'.format(self.hostname, self.port)) + self.logger.info('Listening on {0}:{1}'.format(self.hostname, self.port)) async def stop(self): self.logger.info('Closing asyncio socket server') diff --git a/opcua/server/server.py b/opcua/server/server.py index 731706e46..22b58c894 100644 --- a/opcua/server/server.py +++ b/opcua/server/server.py @@ -285,7 +285,8 @@ async def stop(self): """ Stop server """ - await asyncio.wait([client.disconnect() for client in self._discovery_clients.values()]) + if self._discovery_clients: + await asyncio.wait([client.disconnect() for client in self._discovery_clients.values()]) await self.bserver.stop() self.iserver.stop() diff --git a/opcua/server/uaprocessor.py b/opcua/server/uaprocessor.py index 8e4775776..74cd328fc 100644 --- a/opcua/server/uaprocessor.py +++ b/opcua/server/uaprocessor.py @@ -28,7 +28,6 @@ def __init__(self, internal_server, socket): self.sockname = socket.get_extra_info('sockname') self.session = None self.socket = socket - self._socketlock = Lock() self._datalock = RLock() self._publishdata_queue = [] self._publish_result_queue = [] # used when we need to wait for PublishRequest @@ -38,12 +37,11 @@ def set_policies(self, policies): self._connection.set_policy_factories(policies) def send_response(self, requesthandle, algohdr, seqhdr, response, msgtype=ua.MessageType.SecureMessage): - with self._socketlock: - response.ResponseHeader.RequestHandle = requesthandle - data = self._connection.message_to_binary( - struct_to_binary(response), message_type=msgtype, request_id=seqhdr.RequestId, algohdr=algohdr) - - self.socket.write(data) + response.ResponseHeader.RequestHandle = requesthandle + data = self._connection.message_to_binary( + struct_to_binary(response), message_type=msgtype, request_id=seqhdr.RequestId, algohdr=algohdr + ) + self.socket.write(data) def open_secure_channel(self, algohdr, seqhdr, body): request = struct_from_binary(ua.OpenSecureChannelRequest, body) @@ -76,18 +74,16 @@ def forward_publish_response(self, result): self.send_response(requestdata.requesthdr.RequestHandle, requestdata.algohdr, requestdata.seqhdr, response) - def process(self, header, body): + async def process(self, header, body): msg = self._connection.receive_from_header_and_body(header, body) if isinstance(msg, ua.Message): if header.MessageType == ua.MessageType.SecureOpen: self.open_secure_channel(msg.SecurityHeader(), msg.SequenceHeader(), msg.body()) - elif header.MessageType == ua.MessageType.SecureClose: self._connection.close() return False - elif header.MessageType == ua.MessageType.SecureMessage: - return self.process_message(msg.SecurityHeader(), msg.SequenceHeader(), msg.body()) + return await self.process_message(msg.SecurityHeader(), msg.SequenceHeader(), msg.body()) elif isinstance(msg, ua.Hello): ack = ua.Acknowledge() ack.ReceiveBufferSize = msg.ReceiveBufferSize @@ -103,11 +99,11 @@ def process(self, header, body): raise utils.ServiceError(ua.StatusCodes.BadTcpMessageTypeInvalid) return True - def process_message(self, algohdr, seqhdr, body): + async def process_message(self, algohdr, seqhdr, body): typeid = nodeid_from_binary(body) requesthdr = struct_from_binary(ua.RequestHeader, body) try: - return self._process_message(typeid, requesthdr, algohdr, seqhdr, body) + return await self._process_message(typeid, requesthdr, algohdr, seqhdr, body) except utils.ServiceError as e: status = ua.StatusCode(e.code) response = ua.ServiceFault() @@ -116,16 +112,14 @@ def process_message(self, algohdr, seqhdr, body): self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) return True - def _process_message(self, typeid, requesthdr, algohdr, seqhdr, body): + async def _process_message(self, typeid, requesthdr, algohdr, seqhdr, body): if typeid == ua.NodeId(ua.ObjectIds.CreateSessionRequest_Encoding_DefaultBinary): self.logger.info("Create session request") params = struct_from_binary(ua.CreateSessionParameters, body) - # create the session on server self.session = self.iserver.create_session(self.name, external=True) # get a session creation result to send back sessiondata = self.session.create_session(params, sockname=self.sockname) - response = ua.CreateSessionResponse() response.Parameters = sessiondata response.Parameters.ServerCertificate = self._connection.security_policy.client_certificate @@ -135,18 +129,14 @@ def _process_message(self, typeid, requesthdr, algohdr, seqhdr, body): data = self._connection.security_policy.server_certificate + params.ClientNonce response.Parameters.ServerSignature.Signature = \ self._connection.security_policy.asymmetric_cryptography.signature(data) - response.Parameters.ServerSignature.Algorithm = "http://www.w3.org/2000/09/xmldsig#rsa-sha1" - self.logger.info("sending create session response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.CloseSessionRequest_Encoding_DefaultBinary): self.logger.info("Close session request") deletesubs = ua.ua_binary.Primitives.Boolean.unpack(body) - self.session.close_session(deletesubs) - response = ua.CloseSessionResponse() self.logger.info("sending close session response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) @@ -154,236 +144,178 @@ def _process_message(self, typeid, requesthdr, algohdr, seqhdr, body): elif typeid == ua.NodeId(ua.ObjectIds.ActivateSessionRequest_Encoding_DefaultBinary): self.logger.info("Activate session request") params = struct_from_binary(ua.ActivateSessionParameters, body) - if not self.session: self.logger.info("request to activate non-existing session") raise utils.ServiceError(ua.StatusCodes.BadSessionIdInvalid) - if self._connection.security_policy.client_certificate is None: data = self.session.nonce else: data = self._connection.security_policy.client_certificate + self.session.nonce self._connection.security_policy.asymmetric_cryptography.verify(data, params.ClientSignature.Signature) - result = self.session.activate_session(params) - response = ua.ActivateSessionResponse() response.Parameters = result - self.logger.info("sending read response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.ReadRequest_Encoding_DefaultBinary): self.logger.info("Read request") params = struct_from_binary(ua.ReadParameters, body) - - results = self.session.read(params) - + results = await self.session.read(params) response = ua.ReadResponse() response.Results = results - self.logger.info("sending read response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.WriteRequest_Encoding_DefaultBinary): self.logger.info("Write request") params = struct_from_binary(ua.WriteParameters, body) - - results = self.session.write(params) - + results = await self.session.write(params) response = ua.WriteResponse() response.Results = results - self.logger.info("sending write response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.BrowseRequest_Encoding_DefaultBinary): self.logger.info("Browse request") params = struct_from_binary(ua.BrowseParameters, body) - - results = self.session.browse(params) - + results = await self.session.browse(params) response = ua.BrowseResponse() response.Results = results - self.logger.info("sending browse response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.GetEndpointsRequest_Encoding_DefaultBinary): self.logger.info("get endpoints request") params = struct_from_binary(ua.GetEndpointsParameters, body) - endpoints = self.iserver.get_endpoints(params, sockname=self.sockname) - response = ua.GetEndpointsResponse() response.Endpoints = endpoints - self.logger.info("sending get endpoints response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.FindServersRequest_Encoding_DefaultBinary): self.logger.info("find servers request") params = struct_from_binary(ua.FindServersParameters, body) - servers = self.iserver.find_servers(params) - response = ua.FindServersResponse() response.Servers = servers - self.logger.info("sending find servers response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.RegisterServerRequest_Encoding_DefaultBinary): self.logger.info("register server request") serv = struct_from_binary(ua.RegisteredServer, body) - self.iserver.register_server(serv) - response = ua.RegisterServerResponse() - self.logger.info("sending register server response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.RegisterServer2Request_Encoding_DefaultBinary): self.logger.info("register server 2 request") params = struct_from_binary(ua.RegisterServer2Parameters, body) - results = self.iserver.register_server2(params) - response = ua.RegisterServer2Response() response.ConfigurationResults = results - self.logger.info("sending register server 2 response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultBinary): self.logger.info("translate browsepaths to nodeids request") params = struct_from_binary(ua.TranslateBrowsePathsToNodeIdsParameters, body) - - paths = self.session.translate_browsepaths_to_nodeids(params.BrowsePaths) - + paths = await self.session.translate_browsepaths_to_nodeids(params.BrowsePaths) response = ua.TranslateBrowsePathsToNodeIdsResponse() response.Results = paths - self.logger.info("sending translate browsepaths to nodeids response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.AddNodesRequest_Encoding_DefaultBinary): self.logger.info("add nodes request") params = struct_from_binary(ua.AddNodesParameters, body) - - results = self.session.add_nodes(params.NodesToAdd) - + results = await self.session.add_nodes(params.NodesToAdd) response = ua.AddNodesResponse() response.Results = results - self.logger.info("sending add node response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.DeleteNodesRequest_Encoding_DefaultBinary): self.logger.info("delete nodes request") params = struct_from_binary(ua.DeleteNodesParameters, body) - - results = self.session.delete_nodes(params) - + results = await self.session.delete_nodes(params) response = ua.DeleteNodesResponse() response.Results = results - self.logger.info("sending delete node response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.AddReferencesRequest_Encoding_DefaultBinary): self.logger.info("add references request") params = struct_from_binary(ua.AddReferencesParameters, body) - - results = self.session.add_references(params.ReferencesToAdd) - + results = await self.session.add_references(params.ReferencesToAdd) response = ua.AddReferencesResponse() response.Results = results - self.logger.info("sending add references response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.DeleteReferencesRequest_Encoding_DefaultBinary): self.logger.info("delete references request") params = struct_from_binary(ua.DeleteReferencesParameters, body) - - results = self.session.delete_references(params.ReferencesToDelete) - + results = await self.session.delete_references(params.ReferencesToDelete) response = ua.DeleteReferencesResponse() response.Parameters.Results = results - self.logger.info("sending delete references response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) - elif typeid == ua.NodeId(ua.ObjectIds.CreateSubscriptionRequest_Encoding_DefaultBinary): self.logger.info("create subscription request") params = struct_from_binary(ua.CreateSubscriptionParameters, body) - - result = self.session.create_subscription(params, self.forward_publish_response) - + result = await self.session.create_subscription(params, self.forward_publish_response) response = ua.CreateSubscriptionResponse() response.Parameters = result - self.logger.info("sending create subscription response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.DeleteSubscriptionsRequest_Encoding_DefaultBinary): self.logger.info("delete subscriptions request") params = struct_from_binary(ua.DeleteSubscriptionsParameters, body) - - results = self.session.delete_subscriptions(params.SubscriptionIds) - + results = await self.session.delete_subscriptions(params.SubscriptionIds) response = ua.DeleteSubscriptionsResponse() response.Results = results - self.logger.info("sending delte subscription response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.CreateMonitoredItemsRequest_Encoding_DefaultBinary): self.logger.info("create monitored items request") params = struct_from_binary(ua.CreateMonitoredItemsParameters, body) - results = self.session.create_monitored_items(params) - + results = await self.session.create_monitored_items(params) response = ua.CreateMonitoredItemsResponse() response.Results = results - self.logger.info("sending create monitored items response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.ModifyMonitoredItemsRequest_Encoding_DefaultBinary): self.logger.info("modify monitored items request") params = struct_from_binary(ua.ModifyMonitoredItemsParameters, body) - results = self.session.modify_monitored_items(params) - + results = await self.session.modify_monitored_items(params) response = ua.ModifyMonitoredItemsResponse() response.Results = results - self.logger.info("sending modify monitored items response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.DeleteMonitoredItemsRequest_Encoding_DefaultBinary): self.logger.info("delete monitored items request") params = struct_from_binary(ua.DeleteMonitoredItemsParameters, body) - - results = self.session.delete_monitored_items(params) - + results = await self.session.delete_monitored_items(params) response = ua.DeleteMonitoredItemsResponse() response.Results = results - self.logger.info("sending delete monitored items response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.HistoryReadRequest_Encoding_DefaultBinary): self.logger.info("history read request") params = struct_from_binary(ua.HistoryReadParameters, body) - - results = self.session.history_read(params) - + results = await self.session.history_read(params) response = ua.HistoryReadResponse() response.Results = results - self.logger.info("sending history read response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) @@ -391,30 +323,23 @@ def _process_message(self, typeid, requesthdr, algohdr, seqhdr, body): self.logger.info("register nodes request") params = struct_from_binary(ua.RegisterNodesParameters, body) self.logger.info("Node registration not implemented") - response = ua.RegisterNodesResponse() response.Parameters.RegisteredNodeIds = params.NodesToRegister - self.logger.info("sending register nodes response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.UnregisterNodesRequest_Encoding_DefaultBinary): self.logger.info("unregister nodes request") params = struct_from_binary(ua.UnregisterNodesParameters, body) - response = ua.UnregisterNodesResponse() - self.logger.info("sending unregister nodes response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.PublishRequest_Encoding_DefaultBinary): self.logger.info("publish request") - if not self.session: return False - params = struct_from_binary(ua.PublishParameters, body) - data = PublishRequestData() data.requesthdr = requesthdr data.seqhdr = seqhdr @@ -429,13 +354,10 @@ def _process_message(self, typeid, requesthdr, algohdr, seqhdr, body): elif typeid == ua.NodeId(ua.ObjectIds.RepublishRequest_Encoding_DefaultBinary): self.logger.info("re-publish request") - params = struct_from_binary(ua.RepublishParameters, body) msg = self.session.republish(params) - response = ua.RepublishResponse() response.NotificationMessage = msg - self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.CloseSecureChannelRequest_Encoding_DefaultBinary): @@ -447,16 +369,11 @@ def _process_message(self, typeid, requesthdr, algohdr, seqhdr, body): elif typeid == ua.NodeId(ua.ObjectIds.CallRequest_Encoding_DefaultBinary): self.logger.info("call request") - params = struct_from_binary(ua.CallParameters, body) - results = self.session.call(params.MethodsToCall) - response = ua.CallResponse() response.Results = results - self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) - else: self.logger.warning("Unknown message received %s", typeid) raise utils.ServiceError(ua.StatusCodes.BadNotImplemented) diff --git a/opcua/ua/ua_binary.py b/opcua/ua/ua_binary.py index dccb8af3f..c74512b2b 100644 --- a/opcua/ua/ua_binary.py +++ b/opcua/ua/ua_binary.py @@ -515,13 +515,13 @@ def header_to_binary(hdr): return b"".join(b) -async def header_from_binary(data): +def header_from_binary(data): hdr = ua.Header() - hdr.MessageType, hdr.ChunkType, hdr.packet_size = struct.unpack("<3scI", await data.read(8)) + hdr.MessageType, hdr.ChunkType, hdr.packet_size = struct.unpack("<3scI", data.read(8)) hdr.body_size = hdr.packet_size - 8 if hdr.MessageType in (ua.MessageType.SecureOpen, ua.MessageType.SecureClose, ua.MessageType.SecureMessage): hdr.body_size -= 4 - hdr.ChannelId = Primitives.UInt32.unpack(ua.utils.Buffer(await data.read(4))) + hdr.ChannelId = Primitives.UInt32.unpack(data) return hdr diff --git a/pytest.ini b/pytest.ini index 78385b2ba..e03329e11 100644 --- a/pytest.ini +++ b/pytest.ini @@ -1,4 +1,4 @@ [pytest] log_cli=False log_print=True -log_level=INFO +log_level=DEBUG diff --git a/tests/test_client.py b/tests/test_client.py index 90093d5ea..640319219 100644 --- a/tests/test_client.py +++ b/tests/test_client.py @@ -1,3 +1,5 @@ + +import logging import pytest from opcua import Client @@ -9,9 +11,10 @@ from .tests_xml import XmlTests port_num1 = 48510 +_logger = logging.getLogger(__name__) +pytestmark = pytest.mark.asyncio - -@pytest.yield_fixture() +@pytest.fixture() async def admin_client(): # start admin client # long timeout since travis (automated testing) can be really slow @@ -21,7 +24,7 @@ async def admin_client(): await clt.disconnect() -@pytest.yield_fixture() +@pytest.fixture() async def client(): # start anonymous client ro_clt = Client(f'opc.tcp://127.0.0.1:{port_num1}') @@ -30,7 +33,7 @@ async def client(): await ro_clt.disconnect() -@pytest.yield_fixture() +@pytest.fixture() async def server(): # start our own server srv = Server() @@ -43,7 +46,6 @@ async def server(): await srv.stop() -@pytest.mark.asyncio async def test_service_fault(server, admin_client): request = ua.ReadRequest() request.TypeId = ua.FourByteNodeId(999) # bad type! @@ -51,49 +53,45 @@ async def test_service_fault(server, admin_client): await admin_client.uaclient.protocol.send_request(request) -@pytest.mark.asyncio async def test_objects_anonymous(server, client): objects = client.get_objects_node() with pytest.raises(ua.UaStatusCodeError): - objects.set_attribute(ua.AttributeIds.WriteMask, ua.DataValue(999)) + await objects.set_attribute(ua.AttributeIds.WriteMask, ua.DataValue(999)) with pytest.raises(ua.UaStatusCodeError): - f = objects.add_folder(3, 'MyFolder') + await objects.add_folder(3, 'MyFolder') -@pytest.mark.asyncio async def test_folder_anonymous(server, client): objects = client.get_objects_node() - f = objects.add_folder(3, 'MyFolderRO') + f = await objects.add_folder(3, 'MyFolderRO') f_ro = client.get_node(f.nodeid) assert f == f_ro with pytest.raises(ua.UaStatusCodeError): - f2 = f_ro.add_folder(3, 'MyFolder2') + await f_ro.add_folder(3, 'MyFolder2') -@pytest.mark.asyncio async def test_variable_anonymous(server, admin_client, client): objects = admin_client.get_objects_node() - v = objects.add_variable(3, 'MyROVariable', 6) - v.set_value(4) # this should work + v = await objects.add_variable(3, 'MyROVariable', 6) + await v.set_value(4) # this should work v_ro = client.get_node(v.nodeid) with pytest.raises(ua.UaStatusCodeError): - v_ro.set_value(2) + await v_ro.set_value(2) assert await v_ro.get_value() == 4 - v.set_writable(True) - v_ro.set_value(2) # now it should work + await v.set_writable(True) + await v_ro.set_value(2) # now it should work assert await v_ro.get_value() == 2 - v.set_writable(False) + await v.set_writable(False) with pytest.raises(ua.UaStatusCodeError): - v_ro.set_value(9) + await v_ro.set_value(9) assert await v_ro.get_value() == 2 -@pytest.mark.asyncio async def test_context_manager(server): """Context manager calls connect() and disconnect()""" state = [0] - def increment_state(*args, **kwargs): + async def increment_state(*args, **kwargs): state[0] += 1 # create client and replace instance methods with dummy methods @@ -102,14 +100,13 @@ def increment_state(*args, **kwargs): client.disconnect = increment_state.__get__(client) assert state[0] == 0 - with client: + async with client: # test if client connected assert state[0] == 1 # test if client disconnected assert state[0] == 2 -@pytest.mark.asyncio async def test_enumstrings_getvalue(server, client): """ The real exception is server side, but is detected by using a client. @@ -117,4 +114,4 @@ async def test_enumstrings_getvalue(server, client): The client only 'sees' an TimeoutError """ nenumstrings = client.get_node(ua.ObjectIds.AxisScaleEnumeration_EnumStrings) - value = ua.Variant(nenumstrings.get_value()) + value = ua.Variant(await nenumstrings.get_value()) diff --git a/tests/tests_server.py b/tests/tests_server.py index 2ae49dc3c..7b618443c 100644 --- a/tests/tests_server.py +++ b/tests/tests_server.py @@ -1,11 +1,12 @@ -import unittest + +import pytest import os import shelve import time -from tests_common import CommonTests, add_server_methods -from tests_xml import XmlTests -from tests_subscriptions import SubscriptionTests +from .tests_common import CommonTests, add_server_methods +from .tests_xml import XmlTests +from .tests_subscriptions import SubscriptionTests from datetime import timedelta, datetime from tempfile import NamedTemporaryFile From 18e54bff4e5f6746bacafaa2d3fd301ccb425d64 Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Sun, 4 Feb 2018 18:05:52 +0100 Subject: [PATCH 010/113] [ADD] Server wip --- opcua/client/client.py | 27 +- opcua/client/ua_client.py | 5 +- opcua/common/subscription.py | 2 +- opcua/server/binary_server_asyncio.py | 1 - opcua/server/event_generator.py | 17 +- opcua/server/history.py | 14 +- opcua/server/internal_server.py | 36 +- opcua/server/server.py | 33 +- pytest.ini | 2 +- tests/test_server.py | 624 ++++++++++++++++++++++++++ tests/tests_server.py | 582 ------------------------ 11 files changed, 695 insertions(+), 648 deletions(-) create mode 100644 tests/test_server.py delete mode 100644 tests/tests_server.py diff --git a/opcua/client/client.py b/opcua/client/client.py index 79669e0ea..e3f942d21 100644 --- a/opcua/client/client.py +++ b/opcua/client/client.py @@ -16,6 +16,7 @@ _logger = logging.getLogger(__name__) +asyncio.get_event_loop().set_debug(True) class Client(object): @@ -46,10 +47,10 @@ def __init__(self, url, timeout=4): # take initial username and password from the url self._username = self.server_url.username self._password = self.server_url.password - self.name = "Pure Python Async. Client" + self.name = 'Pure Python Async. Client' self.description = self.name - self.application_uri = "urn:freeopcua:client" - self.product_uri = "urn:freeopcua.github.no:client" + self.application_uri = 'urn:freeopcua:client' + self.product_uri = 'urn:freeopcua.github.no:client' self.security_policy = ua.SecurityPolicy() self.secure_channel_id = None self.secure_channel_timeout = 3600000 # 1 hour @@ -60,7 +61,6 @@ def __init__(self, url, timeout=4): self.user_private_key = None self._server_nonce = None self._session_counter = 1 - self.keep_alive = None self.nodes = Shortcuts(self.uaclient) self.max_messagesize = 0 # No limits self.max_chunkcount = 0 # No limits @@ -326,7 +326,7 @@ async def create_session(self): self._policy_ids = ep.UserIdentityTokens # Actual maximum number of milliseconds that a Session shall remain open without activity self.session_timeout = response.RevisedSessionTimeout - self.keep_alive = self.loop.create_task(self._renew_session()) + self._schedule_renew_session() # ToDo: subscribe to ServerStatus """ The preferred mechanism for a Client to monitor the connection status is through the keep-alive of the @@ -336,20 +336,26 @@ async def create_session(self): """ return response + def _schedule_renew_session(self, renew_session=False): + # if the session was intentionally closed `session_timeout` will be None + if renew_session and self.session_timeout: + self.loop.create_task(self._renew_session()) + self.loop.call_later( + # 0.7 is from spec + min(self.session_timeout, self.secure_channel_timeout) * 0.7, + self._schedule_renew_session, True + ) + async def _renew_session(self): """ Renew the SecureChannel before the SessionTimeout will happen. ToDo: shouldn't this only be done if there was no session activity? """ - # 0.7 is from spec - await asyncio.sleep(min(self.session_timeout, self.secure_channel_timeout) * 0.7) server_state = self.get_node(ua.FourByteNodeId(ua.ObjectIds.Server_ServerStatus_State)) self.logger.debug("renewing channel") await self.open_secure_channel(renew=True) val = await server_state.get_value() self.logger.debug("server state is: %s ", val) - # create new keep-alive task - self.keep_alive = self.loop.create_task(self._renew_session()) def server_policy_id(self, token_type, default): """ @@ -444,8 +450,7 @@ async def close_session(self): """ Close session """ - if self.keep_alive: - self.keep_alive.cancel() + self.session_timeout = None return await self.uaclient.close_session(True) def get_root_node(self): diff --git a/opcua/client/ua_client.py b/opcua/client/ua_client.py index 31c8881cc..337469d29 100644 --- a/opcua/client/ua_client.py +++ b/opcua/client/ua_client.py @@ -142,7 +142,10 @@ def _create_request_header(self, timeout=1000): def disconnect_socket(self): self.logger.info("stop request") - self.transport.close() + if self.transport: + self.transport.close() + else: + self.logger.warning('disconnect_socket was called but transport is None') async def send_hello(self, url, max_messagesize=0, max_chunkcount=0): hello = ua.Hello() diff --git a/opcua/common/subscription.py b/opcua/common/subscription.py index e7e79a3c5..f00e73db4 100644 --- a/opcua/common/subscription.py +++ b/opcua/common/subscription.py @@ -247,7 +247,7 @@ async def create_monitored_items(self, monitored_items): #TODO: Either use the filter from request or from response. Here it uses from request, in modify it uses from response data.mfilter = mi.RequestedParameters.Filter self._monitored_items[mi.RequestedParameters.ClientHandle] = data - results = await self.server.create_monitored_items(params) + results = self.server.create_monitored_items(params) mids = [] # process result, add server_handle, or remove it if failed for idx, result in enumerate(results): diff --git a/opcua/server/binary_server_asyncio.py b/opcua/server/binary_server_asyncio.py index c2040b5f2..b3d0e0239 100644 --- a/opcua/server/binary_server_asyncio.py +++ b/opcua/server/binary_server_asyncio.py @@ -58,7 +58,6 @@ def data_received(self, data): self._process_received_data(data) def _process_received_data(self, data: bytes): - logger.info('_process_received_data %s', len(data)) buf = ua.utils.Buffer(data) try: try: diff --git a/opcua/server/event_generator.py b/opcua/server/event_generator.py index 30d3ae580..d2a6804bd 100644 --- a/opcua/server/event_generator.py +++ b/opcua/server/event_generator.py @@ -16,23 +16,18 @@ class EventGenerator(object): client when evebt is triggered (see example code in source) Arguments to constructor are: - server: The InternalSession object to use for query and event triggering - source: The emiting source for the node, either an objectId, NodeId or a Node - etype: The event type, either an objectId, a NodeId or a Node object """ - def __init__(self, isession, etype=None, source=ua.ObjectIds.Server): + def __init__(self, isession, etype=None): if not etype: etype = event_objects.BaseEvent() - self.logger = logging.getLogger(__name__) self.isession = isession self.event = None node = None - if isinstance(etype, event_objects.BaseEvent): self.event = etype elif isinstance(etype, Node): @@ -41,16 +36,16 @@ def __init__(self, isession, etype=None, source=ua.ObjectIds.Server): node = Node(self.isession, etype) else: node = Node(self.isession, ua.NodeId(etype)) - if node: self.event = events.get_event_obj_from_type_node(node) + async def set_source(self, source=ua.ObjectIds.Server): if isinstance(source, Node): pass elif isinstance(source, ua.NodeId): - source = Node(isession, source) + source = Node(self.isession, source) else: - source = Node(isession, ua.NodeId(source)) + source = Node(self.isession, ua.NodeId(source)) if self.event.SourceNode: if source.nodeid != self.event.SourceNode: @@ -60,7 +55,7 @@ def __init__(self, isession, etype=None, source=ua.ObjectIds.Server): source = Node(self.isession, self.event.SourceNode) self.event.SourceNode = source.nodeid - self.event.SourceName = source.get_browse_name().Name + self.event.SourceName = (await source.get_browse_name()).Name source.set_event_notifier([ua.EventNotifier.SubscribeToEvents]) refs = [] @@ -71,7 +66,7 @@ def __init__(self, isession, etype=None, source=ua.ObjectIds.Server): ref.TargetNodeClass = ua.NodeClass.ObjectType ref.TargetNodeId = self.event.EventType refs.append(ref) - results = self.isession.add_references(refs) + results = await self.isession.add_references(refs) # result.StatusCode.check() def __str__(self): diff --git a/opcua/server/history.py b/opcua/server/history.py index aea678318..9be427e9d 100644 --- a/opcua/server/history.py +++ b/opcua/server/history.py @@ -209,19 +209,19 @@ async def _create_subscription(self, handler): await subscription.init() return subscription - def historize_data_change(self, node, period=timedelta(days=7), count=0): + async def historize_data_change(self, node, period=timedelta(days=7), count=0): """ Subscribe to the nodes' data changes and store the data in the active storage. """ if not self._sub: - self._sub = self._create_subscription(SubHandler(self.storage)) + self._sub = await self._create_subscription(SubHandler(self.storage)) if node in self._handlers: raise ua.UaError("Node {0} is already historized".format(node)) self.storage.new_historized_node(node.nodeid, period, count) - handler = self._sub.subscribe_data_change(node) + handler = await self._sub.subscribe_data_change(node) self._handlers[node] = handler - def historize_event(self, source, period=timedelta(days=7), count=0): + async def historize_event(self, source, period=timedelta(days=7), count=0): """ Subscribe to the source nodes' events and store the data in the active storage. @@ -235,7 +235,7 @@ def historize_event(self, source, period=timedelta(days=7), count=0): must be deleted manually so that a new table with the custom event fields can be created. """ if not self._sub: - self._sub = self._create_subscription(SubHandler(self.storage)) + self._sub = await self._create_subscription(SubHandler(self.storage)) if source in self._handlers: raise ua.UaError("Events from {0} are already historized".format(source)) @@ -247,7 +247,7 @@ def historize_event(self, source, period=timedelta(days=7), count=0): handler = self._sub.subscribe_events(source, event_types) self._handlers[source] = handler - def dehistorize(self, node): + async def dehistorize(self, node): """ Remove subscription to the node/source which is being historized @@ -255,7 +255,7 @@ def dehistorize(self, node): Only the subscriptions is removed. The historical data remains. """ if node in self._handlers: - self._sub.unsubscribe(self._handlers[node]) + await self._sub.unsubscribe(self._handlers[node]) del(self._handlers[node]) else: self.logger.error("History Manager isn't subscribed to %s", node) diff --git a/opcua/server/internal_server.py b/opcua/server/internal_server.py index 05ce84a37..f223ddf6d 100644 --- a/opcua/server/internal_server.py +++ b/opcua/server/internal_server.py @@ -186,44 +186,42 @@ def register_server2(self, params): def create_session(self, name, user=User.Anonymous, external=False): return InternalSession(self, self.aspace, self.subscription_service, name, user=user, external=external) - def enable_history_data_change(self, node, period=timedelta(days=7), count=0): + async def enable_history_data_change(self, node, period=timedelta(days=7), count=0): """ Set attribute Historizing of node to True and start storing data for history """ - node.set_attribute(ua.AttributeIds.Historizing, ua.DataValue(True)) - node.set_attr_bit(ua.AttributeIds.AccessLevel, ua.AccessLevel.HistoryRead) - node.set_attr_bit(ua.AttributeIds.UserAccessLevel, ua.AccessLevel.HistoryRead) - self.history_manager.historize_data_change(node, period, count) + await node.set_attribute(ua.AttributeIds.Historizing, ua.DataValue(True)) + await node.set_attr_bit(ua.AttributeIds.AccessLevel, ua.AccessLevel.HistoryRead) + await node.set_attr_bit(ua.AttributeIds.UserAccessLevel, ua.AccessLevel.HistoryRead) + await self.history_manager.historize_data_change(node, period, count) - def disable_history_data_change(self, node): + async def disable_history_data_change(self, node): """ Set attribute Historizing of node to False and stop storing data for history """ - node.set_attribute(ua.AttributeIds.Historizing, ua.DataValue(False)) - node.unset_attr_bit(ua.AttributeIds.AccessLevel, ua.AccessLevel.HistoryRead) - node.unset_attr_bit(ua.AttributeIds.UserAccessLevel, ua.AccessLevel.HistoryRead) - self.history_manager.dehistorize(node) + await node.set_attribute(ua.AttributeIds.Historizing, ua.DataValue(False)) + await node.unset_attr_bit(ua.AttributeIds.AccessLevel, ua.AccessLevel.HistoryRead) + await node.unset_attr_bit(ua.AttributeIds.UserAccessLevel, ua.AccessLevel.HistoryRead) + await self.history_manager.dehistorize(node) - def enable_history_event(self, source, period=timedelta(days=7), count=0): + async def enable_history_event(self, source, period=timedelta(days=7), count=0): """ Set attribute History Read of object events to True and start storing data for history """ - event_notifier = source.get_event_notifier() + event_notifier = await source.get_event_notifier() if ua.EventNotifier.SubscribeToEvents not in event_notifier: raise ua.UaError('Node does not generate events', event_notifier) - if ua.EventNotifier.HistoryRead not in event_notifier: event_notifier.add(ua.EventNotifier.HistoryRead) - source.set_event_notifier(event_notifier) - - self.history_manager.historize_event(source, period, count) + await source.set_event_notifier(event_notifier) + await self.history_manager.historize_event(source, period, count) - def disable_history_event(self, source): + async def disable_history_event(self, source): """ Set attribute History Read of node to False and stop storing data for history """ source.unset_attr_bit(ua.AttributeIds.EventNotifier, ua.EventNotifier.HistoryRead) - self.history_manager.dehistorize(source) + await self.history_manager.dehistorize(source) def subscribe_server_callback(self, event, handle): """ @@ -374,7 +372,7 @@ def delete_monitored_items(self, params): CallbackType.ItemSubscriptionDeleted, ServerItemCallback(params, subscription_result)) return subscription_result - def publish(self, acks=None): + async def publish(self, acks=None): if acks is None: acks = [] return self.subscription_service.publish(acks) diff --git a/opcua/server/server.py b/opcua/server/server.py index 22b58c894..6a7f8dead 100644 --- a/opcua/server/server.py +++ b/opcua/server/server.py @@ -143,7 +143,7 @@ def find_servers(self, uris=None): params.ServerUris = uris return self.iserver.find_servers(params) - def register_to_discovery(self, url="opc.tcp://localhost:4840", period=60): + async def register_to_discovery(self, url="opc.tcp://localhost:4840", period=60): """ Register to an OPC-UA Discovery server. Registering must be renewed at least every 10 minutes, so this method will use our asyncio thread to @@ -152,13 +152,13 @@ def register_to_discovery(self, url="opc.tcp://localhost:4840", period=60): """ # FIXME: have a period per discovery if url in self._discovery_clients: - self._discovery_clients[url].disconnect() + await self._discovery_clients[url].disconnect() self._discovery_clients[url] = Client(url) - self._discovery_clients[url].connect() - self._discovery_clients[url].register_server(self) + await self._discovery_clients[url].connect() + await self._discovery_clients[url].register_server(self) self._discovery_period = period if period: - self.loop.call_soon(self._renew_registration) + self.loop.call_soon(self._schedule_renew_registration) def unregister_to_discovery(self, url="opc.tcp://localhost:4840"): """ @@ -167,10 +167,13 @@ def unregister_to_discovery(self, url="opc.tcp://localhost:4840"): # FIXME: is there really no way to deregister? self._discovery_clients[url].disconnect() - def _renew_registration(self): + def _schedule_renew_registration(self): + self.loop.create_task(self._renew_registration()) + self.loop.call_later(self._discovery_period, self._schedule_renew_registration) + + async def _renew_registration(self): for client in self._discovery_clients.values(): - client.register_server(self) - self.loop.call_later(self._discovery_period, self._renew_registration) + await client.register_server(self) def allow_remote_admin(self, allow): """ @@ -357,14 +360,16 @@ async def get_namespace_index(self, uri): uries = await self.get_namespace_array() return uries.index(uri) - def get_event_generator(self, etype=None, source=ua.ObjectIds.Server): + async def get_event_generator(self, etype=None, source=ua.ObjectIds.Server): """ Returns an event object using an event type from address space. Use this object to fire events """ if not etype: etype = BaseEvent() - return EventGenerator(self.iserver.isession, etype, source) + ev_gen = EventGenerator(self.iserver.isession, etype) + await ev_gen.set_source(source) + return ev_gen def create_custom_data_type(self, idx, name, basetype=ua.ObjectIds.BaseDataType, properties=None): if properties is None: @@ -457,7 +462,7 @@ def export_xml_by_ns(self, path, namespaces=None): def delete_nodes(self, nodes, recursive=False): return delete_nodes(self.iserver.isession, nodes, recursive) - def historize_node_data_change(self, node, period=timedelta(days=7), count=0): + async def historize_node_data_change(self, node, period=timedelta(days=7), count=0): """ Start historizing supplied nodes; see history module Args: @@ -469,7 +474,7 @@ def historize_node_data_change(self, node, period=timedelta(days=7), count=0): """ nodes = node if isinstance(node, (list, tuple)) else [node] for node in nodes: - self.iserver.enable_history_data_change(node, period, count) + await self.iserver.enable_history_data_change(node, period, count) def dehistorize_node_data_change(self, node): """ @@ -497,7 +502,7 @@ def historize_node_event(self, node, period=timedelta(days=7), count=0): for node in nodes: self.iserver.enable_history_event(node, period, count) - def dehistorize_node_event(self, node): + async def dehistorize_node_event(self, node): """ Stop historizing events from node (typically a UA object); see history module Args: @@ -507,7 +512,7 @@ def dehistorize_node_event(self, node): """ nodes = node if isinstance(node, (list, tuple)) else [node] for node in nodes: - self.iserver.disable_history_event(node) + await self.iserver.disable_history_event(node) def subscribe_server_callback(self, event, handle): self.iserver.subscribe_server_callback(event, handle) diff --git a/pytest.ini b/pytest.ini index e03329e11..78385b2ba 100644 --- a/pytest.ini +++ b/pytest.ini @@ -1,4 +1,4 @@ [pytest] log_cli=False log_print=True -log_level=DEBUG +log_level=INFO diff --git a/tests/test_server.py b/tests/test_server.py new file mode 100644 index 000000000..560654a06 --- /dev/null +++ b/tests/test_server.py @@ -0,0 +1,624 @@ +""" +Run common tests on server side +Tests that can only be run on server side must be defined here +""" +import asyncio +import pytest +import logging +import os +import shelve + +from .tests_common import CommonTests, add_server_methods +from .tests_xml import XmlTests +from .tests_subscriptions import SubscriptionTests +from datetime import timedelta, datetime +from tempfile import NamedTemporaryFile + +import opcua +from opcua import Server +from opcua import Client +from opcua import ua +from opcua import uamethod +from opcua.common.event_objects import BaseEvent, AuditEvent, AuditChannelEvent, AuditSecurityEvent, \ + AuditOpenSecureChannelEvent +from opcua.common import ua_utils + +port_num = 48540 +port_discovery = 48550 +pytestmark = pytest.mark.asyncio +_logger = logging.getLogger(__name__) + + +@pytest.fixture() +async def server(): + # start our own server + srv = Server() + await srv.init() + srv.set_endpoint(f'opc.tcp://127.0.0.1:{port_num}') + await add_server_methods(srv) + await srv.start() + yield srv + # stop the server + await srv.stop() + + +@pytest.fixture() +async def discovery_server(): + # start our own server + srv = Server() + await srv.init() + srv.set_application_uri('urn:freeopcua:python:discovery') + srv.set_endpoint(f'opc.tcp://127.0.0.1:{port_discovery}') + await srv.start() + yield srv + # stop the server + await srv.stop() + + +async def test_discovery(server, discovery_server): + client = Client(discovery_server.endpoint.geturl()) + async with client: + servers = await client.find_servers() + new_app_uri = 'urn:freeopcua:python:server:test_discovery' + server.application_uri = new_app_uri + await server.register_to_discovery(discovery_server.endpoint.geturl(), 0) + # let server register registration + await asyncio.sleep(0.1) + new_servers = await client.find_servers() + assert len(new_servers) - len(servers) == 1 + assert new_app_uri not in [s.ApplicationUri for s in servers] + assert new_app_uri in [s.ApplicationUri for s in new_servers] + + +async def test_find_servers2(server, discovery_server): + client = Client(discovery_server.endpoint.geturl()) + async with client: + servers = await client.find_servers() + new_app_uri1 = 'urn:freeopcua:python:server:test_discovery1' + server.application_uri = new_app_uri1 + await server.register_to_discovery(discovery_server.endpoint.geturl(), period=0) + new_app_uri2 = 'urn:freeopcua:python:test_discovery2' + server.application_uri = new_app_uri2 + await server.register_to_discovery(discovery_server.endpoint.geturl(), period=0) + await asyncio.sleep(0.1) # let server register registration + new_servers = await client.find_servers() + assert len(new_servers) - len(servers) == 2 + assert new_app_uri1 not in [s.ApplicationUri for s in servers] + assert new_app_uri2 not in [s.ApplicationUri for s in servers] + assert new_app_uri1 in [s.ApplicationUri for s in new_servers] + assert new_app_uri2 in [s.ApplicationUri for s in new_servers] + # now do a query with filer + new_servers = await client.find_servers(['urn:freeopcua:python:server']) + assert len(new_servers) - len(servers) == 0 + assert new_app_uri1 in [s.ApplicationUri for s in new_servers] + assert new_app_uri2 not in [s.ApplicationUri for s in new_servers] + # now do a query with filer + new_servers = await client.find_servers(['urn:freeopcua:python']) + assert len(new_servers) - len(servers) == 2 + assert new_app_uri1 in [s.ApplicationUri for s in new_servers] + assert new_app_uri2 in [s.ApplicationUri for s in new_servers] + + +async def test_register_namespace(server): + uri = 'http://mycustom.Namespace.com' + idx1 = await server.register_namespace(uri) + idx2 = await server.get_namespace_index(uri) + assert idx1 == idx2 + + +async def test_register_existing_namespace(server): + uri = 'http://mycustom.Namespace.com' + idx1 = await server.register_namespace(uri) + idx2 = await server.register_namespace(uri) + idx3 = await server.get_namespace_index(uri) + assert idx1 == idx2 + assert idx1 == idx3 + + +async def test_register_use_namespace(server): + uri = 'http://my_very_custom.Namespace.com' + idx = await server.register_namespace(uri) + root = server.get_root_node() + myvar = await root.add_variable(idx, 'var_in_custom_namespace', [5]) + myid = myvar.nodeid + assert idx == myid.NamespaceIndex + + +async def test_server_method(server): + def func(parent, variant): + variant.Value *= 2 + return [variant] + + o = server.get_objects_node() + v = await o.add_method(3, 'Method1', func, [ua.VariantType.Int64], [ua.VariantType.Int64]) + result = o.call_method(v, ua.Variant(2.1)) + assert result == 4.2 + + +async def test_historize_variable(server): + o = server.get_objects_node() + var = await o.add_variable(3, "test_hist", 1.0) + await server.iserver.enable_history_data_change(var, timedelta(days=1)) + await asyncio.sleep(1) + await var.set_value(2.0) + await var.set_value(3.0) + await server.iserver.disable_history_data_change(var) + + +async def test_historize_events(server): + srv_node = server.get_node(ua.ObjectIds.Server) + assert await srv_node.get_event_notifier() == {ua.EventNotifier.SubscribeToEvents} + srvevgen = await server.get_event_generator() + await server.iserver.enable_history_event(srv_node, period=None) + assert await srv_node.get_event_notifier() == {ua.EventNotifier.SubscribeToEvents, ua.EventNotifier.HistoryRead} + srvevgen.trigger(message='Message') + server.iserver.disable_history_event(srv_node) + + +async def test_references_for_added_nodes_method(server): + objects = server.get_objects_node() + o = await objects.add_object(3, 'MyObject') + nodes = await objects.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Forward, + includesubtypes=False) + assert o in nodes + nodes = await o.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Inverse, + includesubtypes=False) + assert objects in nodes + assert await o.get_parent() == objects + assert (await o.get_type_definition()).Identifier == ua.ObjectIds.BaseObjectType + + @uamethod + def callback(parent): + return + + m = await o.add_method(3, 'MyMethod', callback) + nodes = await o.get_referenced_nodes(refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Forward, + includesubtypes=False) + assert m in nodes + nodes = await m.get_referenced_nodes(refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Inverse, + includesubtypes=False) + assert o in nodes + assert await m.get_parent() == o + + +async def test_get_event_from_type_node_BaseEvent(server): + """ + This should work for following BaseEvent tests to work + (maybe to write it a bit differentlly since they are not independent) + """ + ev = opcua.common.events.get_event_obj_from_type_node( + opcua.Node(server.iserver.isession, ua.NodeId(ua.ObjectIds.BaseEventType)) + ) + check_base_event(ev) + + +async def test_get_event_from_type_node_Inhereted_AuditEvent(server): + ev = opcua.common.events.get_event_obj_from_type_node( + opcua.Node(server.iserver.isession, ua.NodeId(ua.ObjectIds.AuditEventType)) + ) + # we did not receive event + assert ev is not None + assert isinstance(ev, BaseEvent) + assert isinstance(ev, AuditEvent) + assert ev.EventType == ua.NodeId(ua.ObjectIds.AuditEventType) + assert ev.Severity == 1 + assert ev.ActionTimeStamp is None + assert ev.Status == False + assert ev.ServerId is None + assert ev.ClientAuditEntryId is None + assert ev.ClientUserId is None + + +async def test_get_event_from_type_node_MultiInhereted_AuditOpenSecureChannelEvent(server): + ev = opcua.common.events.get_event_obj_from_type_node( + opcua.Node(server.iserver.isession, ua.NodeId(ua.ObjectIds.AuditOpenSecureChannelEventType)) + ) + assert ev is not None + assert isinstance(ev, BaseEvent) + assert isinstance(ev, AuditEvent) + assert isinstance(ev, AuditSecurityEvent) + assert isinstance(ev, AuditChannelEvent) + assert isinstance(ev, AuditOpenSecureChannelEvent) + assert ev.EventType == ua.NodeId(ua.ObjectIds.AuditOpenSecureChannelEventType) + assert ev.Severity == 1 + assert ev.ClientCertificate is None + assert ev.ClientCertificateThumbprint is None + assert ev.RequestType is None + assert ev.SecurityPolicyUri is None + assert ev.SecurityMode is None + assert ev.RequestedLifetime is None + + +async def test_eventgenerator_default(server): + evgen = await server.get_event_generator() + await check_eventgenerator_BaseEvent(evgen, server) + await check_eventgenerator_SourceServer(evgen, server) + + +async def test_eventgenerator_BaseEvent_object(server): + evgen = await server.get_event_generator(BaseEvent()) + await check_eventgenerator_BaseEvent(evgen, server) + await check_eventgenerator_SourceServer(evgen, server) + +""" +class TestServer(unittest.TestCase, CommonTests, SubscriptionTests, XmlTests): + + + @classmethod + def setUpClass(cls): + cls.srv = Server() + cls.srv.set_endpoint('opc.tcp://127.0.0.1:{0:d}'.format(port_num)) + add_server_methods(cls.srv) + cls.srv.start() + cls.opc = cls.srv + cls.discovery = Server() + cls.discovery.set_application_uri("urn:freeopcua:python:discovery") + cls.discovery.set_endpoint('opc.tcp://127.0.0.1:{0:d}'.format(port_discovery)) + cls.discovery.start() + + @classmethod + def tearDownClass(cls): + cls.srv.stop() + cls.discovery.stop() + + # def test_register_server2(self): + # servers = server.register_server() + + def test_eventgenerator_BaseEvent_Node(self): + evgen = server.get_event_generator(opcua.Node(server.iserver.isession, ua.NodeId(ua.ObjectIds.BaseEventType))) + check_eventgenerator_BaseEvent(self, evgen) + check_eventgenerator_SourceServer(self, evgen) + + def test_eventgenerator_BaseEvent_NodeId(self): + evgen = server.get_event_generator(ua.NodeId(ua.ObjectIds.BaseEventType)) + check_eventgenerator_BaseEvent(self, evgen) + check_eventgenerator_SourceServer(self, evgen) + + def test_eventgenerator_BaseEvent_ObjectIds(self): + evgen = server.get_event_generator(ua.ObjectIds.BaseEventType) + check_eventgenerator_BaseEvent(self, evgen) + check_eventgenerator_SourceServer(self, evgen) + + def test_eventgenerator_BaseEvent_Identifier(self): + evgen = server.get_event_generator(2041) + check_eventgenerator_BaseEvent(self, evgen) + check_eventgenerator_SourceServer(self, evgen) + + def test_eventgenerator_sourceServer_Node(self): + evgen = server.get_event_generator(source=opcua.Node(server.iserver.isession, ua.NodeId(ua.ObjectIds.Server))) + check_eventgenerator_BaseEvent(self, evgen) + check_eventgenerator_SourceServer(self, evgen) + + def test_eventgenerator_sourceServer_NodeId(self): + evgen = server.get_event_generator(source=ua.NodeId(ua.ObjectIds.Server)) + check_eventgenerator_BaseEvent(self, evgen) + check_eventgenerator_SourceServer(self, evgen) + + def test_eventgenerator_sourceServer_ObjectIds(self): + evgen = server.get_event_generator(source=ua.ObjectIds.Server) + check_eventgenerator_BaseEvent(self, evgen) + check_eventgenerator_SourceServer(self, evgen) + + def test_eventgenerator_sourceMyObject(self): + objects = server.get_objects_node() + o = objects.add_object(3, 'MyObject') + evgen = server.get_event_generator(source=o) + check_eventgenerator_BaseEvent(self, evgen) + check_event_generator_object(self, evgen, o) + + def test_eventgenerator_source_collision(self): + objects = server.get_objects_node() + o = objects.add_object(3, 'MyObject') + event = BaseEvent(sourcenode=o.nodeid) + evgen = server.get_event_generator(event, ua.ObjectIds.Server) + check_eventgenerator_BaseEvent(self, evgen) + check_event_generator_object(self, evgen, o) + + def test_eventgenerator_InheritedEvent(self): + evgen = server.get_event_generator(ua.ObjectIds.AuditEventType) + check_eventgenerator_SourceServer(self, evgen) + + ev = evgen.event + self.assertIsNot(ev, None) # we did not receive event + self.assertIsInstance(ev, BaseEvent) + self.assertIsInstance(ev, AuditEvent) + self.assertEqual(ev.EventType, ua.NodeId(ua.ObjectIds.AuditEventType)) + self.assertEqual(ev.Severity, 1) + self.assertEqual(ev.ActionTimeStamp, None) + self.assertEqual(ev.Status, False) + self.assertEqual(ev.ServerId, None) + self.assertEqual(ev.ClientAuditEntryId, None) + self.assertEqual(ev.ClientUserId, None) + + def test_eventgenerator_MultiInheritedEvent(self): + evgen = server.get_event_generator(ua.ObjectIds.AuditOpenSecureChannelEventType) + check_eventgenerator_SourceServer(self, evgen) + + ev = evgen.event + self.assertIsNot(ev, None) # we did not receive event + self.assertIsInstance(ev, BaseEvent) + self.assertIsInstance(ev, AuditEvent) + self.assertIsInstance(ev, AuditSecurityEvent) + self.assertIsInstance(ev, AuditChannelEvent) + self.assertIsInstance(ev, AuditOpenSecureChannelEvent) + self.assertEqual(ev.EventType, ua.NodeId(ua.ObjectIds.AuditOpenSecureChannelEventType)) + self.assertEqual(ev.Severity, 1), + self.assertEqual(ev.ClientCertificate, None) + self.assertEqual(ev.ClientCertificateThumbprint, None) + self.assertEqual(ev.RequestType, None) + self.assertEqual(ev.SecurityPolicyUri, None) + self.assertEqual(ev.SecurityMode, None) + self.assertEqual(ev.RequestedLifetime, None) + + # For the custom events all posibilites are tested. For other custom types only one test case is done since they are using the same code + def test_create_custom_data_type_ObjectId(self): + type = server.create_custom_data_type(2, 'MyDataType', ua.ObjectIds.BaseDataType, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) + check_custom_type(self, type, ua.ObjectIds.BaseDataType) + + def test_create_custom_event_type_ObjectId(self): + type = server.create_custom_event_type(2, 'MyEvent', ua.ObjectIds.BaseEventType, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) + check_custom_type(self, type, ua.ObjectIds.BaseEventType) + + def test_create_custom_object_type_ObjectId(self): + def func(parent, variant): + return [ua.Variant(ret, ua.VariantType.Boolean)] + + properties = [('PropertyNum', ua.VariantType.Int32), + ('PropertyString', ua.VariantType.String)] + variables = [('VariableString', ua.VariantType.String), + ('MyEnumVar', ua.VariantType.Int32, ua.NodeId(ua.ObjectIds.ApplicationType))] + methods = [('MyMethod', func, [ua.VariantType.Int64], [ua.VariantType.Boolean])] + + node_type = server.create_custom_object_type(2, 'MyObjectType', ua.ObjectIds.BaseObjectType, properties, variables, methods) + + check_custom_type(self, node_type, ua.ObjectIds.BaseObjectType) + variables = node_type.get_variables() + self.assertTrue(node_type.get_child("2:VariableString") in variables) + self.assertEqual(node_type.get_child("2:VariableString").get_data_value().Value.VariantType, ua.VariantType.String) + self.assertTrue(node_type.get_child("2:MyEnumVar") in variables) + self.assertEqual(node_type.get_child("2:MyEnumVar").get_data_value().Value.VariantType, ua.VariantType.Int32) + self.assertEqual(node_type.get_child("2:MyEnumVar").get_data_type(), ua.NodeId(ua.ObjectIds.ApplicationType)) + methods = node_type.get_methods() + self.assertTrue(node_type.get_child("2:MyMethod") in methods) + + # def test_create_custom_refrence_type_ObjectId(self): + # type = server.create_custom_reference_type(2, 'MyEvent', ua.ObjectIds.Base, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) + # check_custom_type(self, type, ua.ObjectIds.BaseObjectType) + + def test_create_custom_variable_type_ObjectId(self): + type = server.create_custom_variable_type(2, 'MyVariableType', ua.ObjectIds.BaseVariableType, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) + check_custom_type(self, type, ua.ObjectIds.BaseVariableType) + + def test_create_custom_event_type_NodeId(self): + etype = server.create_custom_event_type(2, 'MyEvent', ua.NodeId(ua.ObjectIds.BaseEventType), [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) + check_custom_type(self, etype, ua.ObjectIds.BaseEventType) + + def test_create_custom_event_type_Node(self): + etype = server.create_custom_event_type(2, 'MyEvent', opcua.Node(server.iserver.isession, ua.NodeId(ua.ObjectIds.BaseEventType)), [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) + check_custom_type(self, etype, ua.ObjectIds.BaseEventType) + + def test_get_event_from_type_node_CustomEvent(self): + etype = server.create_custom_event_type(2, 'MyEvent', ua.ObjectIds.BaseEventType, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) + + ev = opcua.common.events.get_event_obj_from_type_node(etype) + check_custom_event(self, ev, etype) + self.assertEqual(ev.PropertyNum, 0) + self.assertEqual(ev.PropertyString, None) + + def test_eventgenerator_customEvent(self): + etype = server.create_custom_event_type(2, 'MyEvent', ua.ObjectIds.BaseEventType, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) + + evgen = server.get_event_generator(etype, ua.ObjectIds.Server) + check_eventgenerator_CustomEvent(self, evgen, etype) + check_eventgenerator_SourceServer(self, evgen) + + self.assertEqual(evgen.event.PropertyNum, 0) + self.assertEqual(evgen.event.PropertyString, None) + + def test_eventgenerator_double_customEvent(self): + event1 = server.create_custom_event_type(3, 'MyEvent1', ua.ObjectIds.BaseEventType, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) + + event2 = server.create_custom_event_type(4, 'MyEvent2', event1, [('PropertyBool', ua.VariantType.Boolean), ('PropertyInt', ua.VariantType.Int32)]) + + evgen = server.get_event_generator(event2, ua.ObjectIds.Server) + check_eventgenerator_CustomEvent(self, evgen, event2) + check_eventgenerator_SourceServer(self, evgen) + + # Properties from MyEvent1 + self.assertEqual(evgen.event.PropertyNum, 0) + self.assertEqual(evgen.event.PropertyString, None) + + # Properties from MyEvent2 + self.assertEqual(evgen.event.PropertyBool, False) + self.assertEqual(evgen.event.PropertyInt, 0) + + def test_eventgenerator_customEvent_MyObject(self): + objects = server.get_objects_node() + o = objects.add_object(3, 'MyObject') + etype = server.create_custom_event_type(2, 'MyEvent', ua.ObjectIds.BaseEventType, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) + + evgen = server.get_event_generator(etype, o) + check_eventgenerator_CustomEvent(self, evgen, etype) + check_event_generator_object(self, evgen, o) + + self.assertEqual(evgen.event.PropertyNum, 0) + self.assertEqual(evgen.event.PropertyString, None) + + def test_context_manager(self): + # Context manager calls start() and stop() + state = [0] + def increment_state(self, *args, **kwargs): + state[0] += 1 + + # create server and replace instance methods with dummy methods + server = Server() + server.start = increment_state.__get__(server) + server.stop = increment_state.__get__(server) + + assert state[0] == 0 + with server: + # test if server started + self.assertEqual(state[0], 1) + # test if server stopped + self.assertEqual(state[0], 2) + + def test_get_node_by_ns(self): + + def get_ns_of_nodes(nodes): + ns_list = set() + for node in nodes: + ns_list.add(node.nodeid.NamespaceIndex) + return ns_list + + # incase other testss created nodes in unregistered namespace + _idx_d = server.register_namespace('dummy1') + _idx_d = server.register_namespace('dummy2') + _idx_d = server.register_namespace('dummy3') + + # create the test namespaces and vars + idx_a = server.register_namespace('a') + idx_b = server.register_namespace('b') + idx_c = server.register_namespace('c') + o = server.get_objects_node() + _myvar2 = o.add_variable(idx_a, "MyBoolVar2", True) + _myvar3 = o.add_variable(idx_b, "MyBoolVar3", True) + _myvar4 = o.add_variable(idx_c, "MyBoolVar4", True) + + # the tests + nodes = ua_utils.get_nodes_of_namespace(server, namespaces=[idx_a, idx_b, idx_c]) + self.assertEqual(len(nodes), 3) + self.assertEqual(get_ns_of_nodes(nodes), set([idx_a, idx_b, idx_c])) + + nodes = ua_utils.get_nodes_of_namespace(server, namespaces=[idx_a]) + self.assertEqual(len(nodes), 1) + self.assertEqual(get_ns_of_nodes(nodes), set([idx_a])) + + nodes = ua_utils.get_nodes_of_namespace(server, namespaces=[idx_b]) + self.assertEqual(len(nodes), 1) + self.assertEqual(get_ns_of_nodes(nodes), set([idx_b])) + + nodes = ua_utils.get_nodes_of_namespace(server, namespaces=['a']) + self.assertEqual(len(nodes), 1) + self.assertEqual(get_ns_of_nodes(nodes), set([idx_a])) + + nodes = ua_utils.get_nodes_of_namespace(server, namespaces=['a', 'c']) + self.assertEqual(len(nodes), 2) + self.assertEqual(get_ns_of_nodes(nodes), set([idx_a, idx_c])) + + nodes = ua_utils.get_nodes_of_namespace(server, namespaces='b') + self.assertEqual(len(nodes), 1) + self.assertEqual(get_ns_of_nodes(nodes), set([idx_b])) + + nodes = ua_utils.get_nodes_of_namespace(server, namespaces=idx_b) + self.assertEqual(len(nodes), 1) + self.assertEqual(get_ns_of_nodes(nodes), set([idx_b])) + + self.assertRaises(ValueError, ua_utils.get_nodes_of_namespace, server, namespaces='non_existing_ns') +""" + + +async def check_eventgenerator_SourceServer(evgen, server: Server): + server_node = server.get_server_node() + assert evgen.event.SourceName == (await server_node.get_browse_name()).Name + assert evgen.event.SourceNode == ua.NodeId(ua.ObjectIds.Server) + assert await server_node.get_event_notifier() == {ua.EventNotifier.SubscribeToEvents} + refs = await server_node.get_referenced_nodes(ua.ObjectIds.GeneratesEvent, ua.BrowseDirection.Forward, + ua.NodeClass.ObjectType, False) + assert len(refs) >= 1 + + +async def check_event_generator_object(evgen, obj): + assert evgen.event.SourceName == obj.get_browse_name().Name + assert evgen.event.SourceNode == obj.nodeid + assert await obj.get_event_notifier() == {ua.EventNotifier.SubscribeToEvents} + refs = await obj.get_referenced_nodes(ua.ObjectIds.GeneratesEvent, ua.BrowseDirection.Forward, + ua.NodeClass.ObjectType, False) + assert len(refs) == 1 + assert refs[0].nodeid == evgen.event.EventType + + +async def check_eventgenerator_BaseEvent(evgen, server: Server): + # we did not receive event generator + assert evgen is not None + assert evgen.isession is server.iserver.isession + check_base_event(evgen.event) + + +def check_base_event(ev): + # we did not receive event + assert ev is not None + assert isinstance(ev, BaseEvent) + assert ev.EventType == ua.NodeId(ua.ObjectIds.BaseEventType) + assert ev.Severity == 1 + + +def check_eventgenerator_CustomEvent(evgen, etype, server: Server): + # we did not receive event generator + assert evgen is not None + assert evgen.isession is server.iserver.isession + check_custom_event(evgen.event, etype) + + +def check_custom_event(ev, etype): + # we did not receive event + assert ev is not None + assert isinstance(ev, BaseEvent) + assert ev.EventType == etype.nodeid + assert ev.Severity == 1 + + +async def check_custom_type(type, base_type, server: Server): + base = opcua.Node(server.iserver.isession, ua.NodeId(base_type)) + assert type in await base.get_children() + nodes = await type.get_referenced_nodes(refs=ua.ObjectIds.HasSubtype, direction=ua.BrowseDirection.Inverse, + includesubtypes=True) + assert base == nodes[0] + properties = type.get_properties() + assert properties is not None + assert len(properties) == 2 + assert type.get_child("2:PropertyNum") in properties + assert type.get_child("2:PropertyNum").get_data_value().Value.VariantType == ua.VariantType.Int32 + assert type.get_child("2:PropertyString") in properties + assert type.get_child("2:PropertyString").get_data_value().Value.VariantType == ua.VariantType.String + +""" +class TestServerCaching(unittest.TestCase): + def runTest(self): + return # FIXME broken + tmpfile = NamedTemporaryFile() + path = tmpfile.name + tmpfile.close() + + # create cache file + server = Server(shelffile=path) + + # modify cache content + id = ua.NodeId(ua.ObjectIds.Server_ServerStatus_SecondsTillShutdown) + s = shelve.open(path, "w", writeback=True) + s[id.to_string()].attributes[ua.AttributeIds.Value].value = ua.DataValue(123) + s.close() + + # ensure that we are actually loading from the cache + server = Server(shelffile=path) + self.assertEqual(server.get_node(id).get_value(), 123) + + os.remove(path) + +class TestServerStartError(unittest.TestCase): + + def test_port_in_use(self): + + server1 = Server() + server1.set_endpoint('opc.tcp://127.0.0.1:{0:d}'.format(port_num + 1)) + server1.start() + + server2 = Server() + server2.set_endpoint('opc.tcp://127.0.0.1:{0:d}'.format(port_num + 1)) + try: + server2.start() + except Exception: + pass + + server1.stop() + server2.stop() +""" \ No newline at end of file diff --git a/tests/tests_server.py b/tests/tests_server.py deleted file mode 100644 index 7b618443c..000000000 --- a/tests/tests_server.py +++ /dev/null @@ -1,582 +0,0 @@ - -import pytest -import os -import shelve -import time - -from .tests_common import CommonTests, add_server_methods -from .tests_xml import XmlTests -from .tests_subscriptions import SubscriptionTests -from datetime import timedelta, datetime -from tempfile import NamedTemporaryFile - -import opcua -from opcua import Server -from opcua import Client -from opcua import ua -from opcua import uamethod -from opcua.common.event_objects import BaseEvent, AuditEvent, AuditChannelEvent, AuditSecurityEvent, AuditOpenSecureChannelEvent -from opcua.common import ua_utils - - -port_num = 48540 -port_discovery = 48550 - - -class TestServer(unittest.TestCase, CommonTests, SubscriptionTests, XmlTests): - - ''' - Run common tests on server side - Tests that can only be run on server side must be defined here - ''' - @classmethod - def setUpClass(cls): - cls.srv = Server() - cls.srv.set_endpoint('opc.tcp://127.0.0.1:{0:d}'.format(port_num)) - add_server_methods(cls.srv) - cls.srv.start() - cls.opc = cls.srv - cls.discovery = Server() - cls.discovery.set_application_uri("urn:freeopcua:python:discovery") - cls.discovery.set_endpoint('opc.tcp://127.0.0.1:{0:d}'.format(port_discovery)) - cls.discovery.start() - - @classmethod - def tearDownClass(cls): - cls.srv.stop() - cls.discovery.stop() - - def test_discovery(self): - client = Client(self.discovery.endpoint.geturl()) - client.connect() - try: - servers = client.find_servers() - new_app_uri = "urn:freeopcua:python:server:test_discovery" - self.srv.application_uri = new_app_uri - self.srv.register_to_discovery(self.discovery.endpoint.geturl(), 0) - time.sleep(0.1) # let server register registration - new_servers = client.find_servers() - self.assertEqual(len(new_servers) - len(servers) , 1) - self.assertFalse(new_app_uri in [s.ApplicationUri for s in servers]) - self.assertTrue(new_app_uri in [s.ApplicationUri for s in new_servers]) - finally: - client.disconnect() - - def test_find_servers2(self): - client = Client(self.discovery.endpoint.geturl()) - client.connect() - try: - servers = client.find_servers() - new_app_uri1 = "urn:freeopcua:python:server:test_discovery1" - self.srv.application_uri = new_app_uri1 - self.srv.register_to_discovery(self.discovery.endpoint.geturl(), period=0) - new_app_uri2 = "urn:freeopcua:python:test_discovery2" - self.srv.application_uri = new_app_uri2 - self.srv.register_to_discovery(self.discovery.endpoint.geturl(), period=0) - time.sleep(0.1) # let server register registration - new_servers = client.find_servers() - self.assertEqual(len(new_servers) - len(servers) , 2) - self.assertFalse(new_app_uri1 in [s.ApplicationUri for s in servers]) - self.assertFalse(new_app_uri2 in [s.ApplicationUri for s in servers]) - self.assertTrue(new_app_uri1 in [s.ApplicationUri for s in new_servers]) - self.assertTrue(new_app_uri2 in [s.ApplicationUri for s in new_servers]) - # now do a query with filer - new_servers = client.find_servers(["urn:freeopcua:python:server"]) - self.assertEqual(len(new_servers) - len(servers) , 0) - self.assertTrue(new_app_uri1 in [s.ApplicationUri for s in new_servers]) - self.assertFalse(new_app_uri2 in [s.ApplicationUri for s in new_servers]) - # now do a query with filer - new_servers = client.find_servers(["urn:freeopcua:python"]) - self.assertEqual(len(new_servers) - len(servers) , 2) - self.assertTrue(new_app_uri1 in [s.ApplicationUri for s in new_servers]) - self.assertTrue(new_app_uri2 in [s.ApplicationUri for s in new_servers]) - finally: - client.disconnect() - - - """ - # not sure if this test is necessary, and there is a lot repetition with previous test - def test_discovery_server_side(self): - servers = self.discovery.find_servers() - self.assertEqual(len(servers), 1) - self.srv.register_to_discovery(self.discovery.endpoint.geturl(), 1) - time.sleep(1) # let server register registration - servers = self.discovery.find_servers() - print("SERVERS 2", servers) - self.assertEqual(len(servers), 2) - """ - # def test_register_server2(self): - # servers = self.opc.register_server() - - def test_register_namespace(self): - uri = 'http://mycustom.Namespace.com' - idx1 = self.opc.register_namespace(uri) - idx2 = self.opc.get_namespace_index(uri) - self.assertEqual(idx1, idx2) - - def test_register_existing_namespace(self): - uri = 'http://mycustom.Namespace.com' - idx1 = self.opc.register_namespace(uri) - idx2 = self.opc.register_namespace(uri) - idx3 = self.opc.get_namespace_index(uri) - self.assertEqual(idx1, idx2) - self.assertEqual(idx1, idx3) - - def test_register_use_namespace(self): - uri = 'http://my_very_custom.Namespace.com' - idx = self.opc.register_namespace(uri) - root = self.opc.get_root_node() - myvar = root.add_variable(idx, 'var_in_custom_namespace', [5]) - myid = myvar.nodeid - self.assertEqual(idx, myid.NamespaceIndex) - - def test_server_method(self): - def func(parent, variant): - variant.Value *= 2 - return [variant] - o = self.opc.get_objects_node() - v = o.add_method(3, 'Method1', func, [ua.VariantType.Int64], [ua.VariantType.Int64]) - result = o.call_method(v, ua.Variant(2.1)) - self.assertEqual(result, 4.2) - - def test_historize_variable(self): - o = self.opc.get_objects_node() - var = o.add_variable(3, "test_hist", 1.0) - self.srv.iserver.enable_history_data_change(var, timedelta(days=1)) - time.sleep(1) - var.set_value(2.0) - var.set_value(3.0) - self.srv.iserver.disable_history_data_change(var) - - def test_historize_events(self): - srv_node = self.srv.get_node(ua.ObjectIds.Server) - self.assertEqual( - srv_node.get_event_notifier(), - {ua.EventNotifier.SubscribeToEvents} - ) - srvevgen = self.srv.get_event_generator() - self.srv.iserver.enable_history_event(srv_node, period=None) - self.assertEqual( - srv_node.get_event_notifier(), - {ua.EventNotifier.SubscribeToEvents, ua.EventNotifier.HistoryRead} - ) - srvevgen.trigger(message="Message") - self.srv.iserver.disable_history_event(srv_node) - - def test_references_for_added_nodes_method(self): - objects = self.opc.get_objects_node() - o = objects.add_object(3, 'MyObject') - nodes = objects.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Forward, includesubtypes=False) - self.assertTrue(o in nodes) - nodes = o.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Inverse, includesubtypes=False) - self.assertTrue(objects in nodes) - self.assertEqual(o.get_parent(), objects) - self.assertEqual(o.get_type_definition().Identifier, ua.ObjectIds.BaseObjectType) - - @uamethod - def callback(parent): - return - - m = o.add_method(3, 'MyMethod', callback) - nodes = o.get_referenced_nodes(refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Forward, includesubtypes=False) - self.assertTrue(m in nodes) - nodes = m.get_referenced_nodes(refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Inverse, includesubtypes=False) - self.assertTrue(o in nodes) - self.assertEqual(m.get_parent(), o) - - # This should work for following BaseEvent tests to work (maybe to write it a bit differentlly since they are not independent) - def test_get_event_from_type_node_BaseEvent(self): - ev = opcua.common.events.get_event_obj_from_type_node(opcua.Node(self.opc.iserver.isession, ua.NodeId(ua.ObjectIds.BaseEventType))) - check_base_event(self, ev) - - def test_get_event_from_type_node_Inhereted_AuditEvent(self): - ev = opcua.common.events.get_event_obj_from_type_node(opcua.Node(self.opc.iserver.isession, ua.NodeId(ua.ObjectIds.AuditEventType))) - self.assertIsNot(ev, None) # we did not receive event - self.assertIsInstance(ev, BaseEvent) - self.assertIsInstance(ev, AuditEvent) - self.assertEqual(ev.EventType, ua.NodeId(ua.ObjectIds.AuditEventType)) - self.assertEqual(ev.Severity, 1) - self.assertEqual(ev.ActionTimeStamp, None) - self.assertEqual(ev.Status, False) - self.assertEqual(ev.ServerId, None) - self.assertEqual(ev.ClientAuditEntryId, None) - self.assertEqual(ev.ClientUserId, None) - - def test_get_event_from_type_node_MultiInhereted_AuditOpenSecureChannelEvent(self): - ev = opcua.common.events.get_event_obj_from_type_node(opcua.Node(self.opc.iserver.isession, ua.NodeId(ua.ObjectIds.AuditOpenSecureChannelEventType))) - self.assertIsNot(ev, None) - self.assertIsInstance(ev, BaseEvent) - self.assertIsInstance(ev, AuditEvent) - self.assertIsInstance(ev, AuditSecurityEvent) - self.assertIsInstance(ev, AuditChannelEvent) - self.assertIsInstance(ev, AuditOpenSecureChannelEvent) - self.assertEqual(ev.EventType, ua.NodeId(ua.ObjectIds.AuditOpenSecureChannelEventType)) - self.assertEqual(ev.Severity, 1), - self.assertEqual(ev.ClientCertificate, None) - self.assertEqual(ev.ClientCertificateThumbprint, None) - self.assertEqual(ev.RequestType, None) - self.assertEqual(ev.SecurityPolicyUri, None) - self.assertEqual(ev.SecurityMode, None) - self.assertEqual(ev.RequestedLifetime, None) - - def test_eventgenerator_default(self): - evgen = self.opc.get_event_generator() - check_eventgenerator_BaseEvent(self, evgen) - check_eventgenerator_SourceServer(self, evgen) - - def test_eventgenerator_BaseEvent_object(self): - evgen = self.opc.get_event_generator(BaseEvent()) - check_eventgenerator_BaseEvent(self, evgen) - check_eventgenerator_SourceServer(self, evgen) - - def test_eventgenerator_BaseEvent_Node(self): - evgen = self.opc.get_event_generator(opcua.Node(self.opc.iserver.isession, ua.NodeId(ua.ObjectIds.BaseEventType))) - check_eventgenerator_BaseEvent(self, evgen) - check_eventgenerator_SourceServer(self, evgen) - - def test_eventgenerator_BaseEvent_NodeId(self): - evgen = self.opc.get_event_generator(ua.NodeId(ua.ObjectIds.BaseEventType)) - check_eventgenerator_BaseEvent(self, evgen) - check_eventgenerator_SourceServer(self, evgen) - - def test_eventgenerator_BaseEvent_ObjectIds(self): - evgen = self.opc.get_event_generator(ua.ObjectIds.BaseEventType) - check_eventgenerator_BaseEvent(self, evgen) - check_eventgenerator_SourceServer(self, evgen) - - def test_eventgenerator_BaseEvent_Identifier(self): - evgen = self.opc.get_event_generator(2041) - check_eventgenerator_BaseEvent(self, evgen) - check_eventgenerator_SourceServer(self, evgen) - - def test_eventgenerator_sourceServer_Node(self): - evgen = self.opc.get_event_generator(source=opcua.Node(self.opc.iserver.isession, ua.NodeId(ua.ObjectIds.Server))) - check_eventgenerator_BaseEvent(self, evgen) - check_eventgenerator_SourceServer(self, evgen) - - def test_eventgenerator_sourceServer_NodeId(self): - evgen = self.opc.get_event_generator(source=ua.NodeId(ua.ObjectIds.Server)) - check_eventgenerator_BaseEvent(self, evgen) - check_eventgenerator_SourceServer(self, evgen) - - def test_eventgenerator_sourceServer_ObjectIds(self): - evgen = self.opc.get_event_generator(source=ua.ObjectIds.Server) - check_eventgenerator_BaseEvent(self, evgen) - check_eventgenerator_SourceServer(self, evgen) - - def test_eventgenerator_sourceMyObject(self): - objects = self.opc.get_objects_node() - o = objects.add_object(3, 'MyObject') - evgen = self.opc.get_event_generator(source=o) - check_eventgenerator_BaseEvent(self, evgen) - check_event_generator_object(self, evgen, o) - - def test_eventgenerator_source_collision(self): - objects = self.opc.get_objects_node() - o = objects.add_object(3, 'MyObject') - event = BaseEvent(sourcenode=o.nodeid) - evgen = self.opc.get_event_generator(event, ua.ObjectIds.Server) - check_eventgenerator_BaseEvent(self, evgen) - check_event_generator_object(self, evgen, o) - - def test_eventgenerator_InheritedEvent(self): - evgen = self.opc.get_event_generator(ua.ObjectIds.AuditEventType) - check_eventgenerator_SourceServer(self, evgen) - - ev = evgen.event - self.assertIsNot(ev, None) # we did not receive event - self.assertIsInstance(ev, BaseEvent) - self.assertIsInstance(ev, AuditEvent) - self.assertEqual(ev.EventType, ua.NodeId(ua.ObjectIds.AuditEventType)) - self.assertEqual(ev.Severity, 1) - self.assertEqual(ev.ActionTimeStamp, None) - self.assertEqual(ev.Status, False) - self.assertEqual(ev.ServerId, None) - self.assertEqual(ev.ClientAuditEntryId, None) - self.assertEqual(ev.ClientUserId, None) - - def test_eventgenerator_MultiInheritedEvent(self): - evgen = self.opc.get_event_generator(ua.ObjectIds.AuditOpenSecureChannelEventType) - check_eventgenerator_SourceServer(self, evgen) - - ev = evgen.event - self.assertIsNot(ev, None) # we did not receive event - self.assertIsInstance(ev, BaseEvent) - self.assertIsInstance(ev, AuditEvent) - self.assertIsInstance(ev, AuditSecurityEvent) - self.assertIsInstance(ev, AuditChannelEvent) - self.assertIsInstance(ev, AuditOpenSecureChannelEvent) - self.assertEqual(ev.EventType, ua.NodeId(ua.ObjectIds.AuditOpenSecureChannelEventType)) - self.assertEqual(ev.Severity, 1), - self.assertEqual(ev.ClientCertificate, None) - self.assertEqual(ev.ClientCertificateThumbprint, None) - self.assertEqual(ev.RequestType, None) - self.assertEqual(ev.SecurityPolicyUri, None) - self.assertEqual(ev.SecurityMode, None) - self.assertEqual(ev.RequestedLifetime, None) - - # For the custom events all posibilites are tested. For other custom types only one test case is done since they are using the same code - def test_create_custom_data_type_ObjectId(self): - type = self.opc.create_custom_data_type(2, 'MyDataType', ua.ObjectIds.BaseDataType, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) - check_custom_type(self, type, ua.ObjectIds.BaseDataType) - - def test_create_custom_event_type_ObjectId(self): - type = self.opc.create_custom_event_type(2, 'MyEvent', ua.ObjectIds.BaseEventType, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) - check_custom_type(self, type, ua.ObjectIds.BaseEventType) - - def test_create_custom_object_type_ObjectId(self): - def func(parent, variant): - return [ua.Variant(ret, ua.VariantType.Boolean)] - - properties = [('PropertyNum', ua.VariantType.Int32), - ('PropertyString', ua.VariantType.String)] - variables = [('VariableString', ua.VariantType.String), - ('MyEnumVar', ua.VariantType.Int32, ua.NodeId(ua.ObjectIds.ApplicationType))] - methods = [('MyMethod', func, [ua.VariantType.Int64], [ua.VariantType.Boolean])] - - node_type = self.opc.create_custom_object_type(2, 'MyObjectType', ua.ObjectIds.BaseObjectType, properties, variables, methods) - - check_custom_type(self, node_type, ua.ObjectIds.BaseObjectType) - variables = node_type.get_variables() - self.assertTrue(node_type.get_child("2:VariableString") in variables) - self.assertEqual(node_type.get_child("2:VariableString").get_data_value().Value.VariantType, ua.VariantType.String) - self.assertTrue(node_type.get_child("2:MyEnumVar") in variables) - self.assertEqual(node_type.get_child("2:MyEnumVar").get_data_value().Value.VariantType, ua.VariantType.Int32) - self.assertEqual(node_type.get_child("2:MyEnumVar").get_data_type(), ua.NodeId(ua.ObjectIds.ApplicationType)) - methods = node_type.get_methods() - self.assertTrue(node_type.get_child("2:MyMethod") in methods) - - # def test_create_custom_refrence_type_ObjectId(self): - # type = self.opc.create_custom_reference_type(2, 'MyEvent', ua.ObjectIds.Base, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) - # check_custom_type(self, type, ua.ObjectIds.BaseObjectType) - - def test_create_custom_variable_type_ObjectId(self): - type = self.opc.create_custom_variable_type(2, 'MyVariableType', ua.ObjectIds.BaseVariableType, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) - check_custom_type(self, type, ua.ObjectIds.BaseVariableType) - - def test_create_custom_event_type_NodeId(self): - etype = self.opc.create_custom_event_type(2, 'MyEvent', ua.NodeId(ua.ObjectIds.BaseEventType), [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) - check_custom_type(self, etype, ua.ObjectIds.BaseEventType) - - def test_create_custom_event_type_Node(self): - etype = self.opc.create_custom_event_type(2, 'MyEvent', opcua.Node(self.opc.iserver.isession, ua.NodeId(ua.ObjectIds.BaseEventType)), [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) - check_custom_type(self, etype, ua.ObjectIds.BaseEventType) - - def test_get_event_from_type_node_CustomEvent(self): - etype = self.opc.create_custom_event_type(2, 'MyEvent', ua.ObjectIds.BaseEventType, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) - - ev = opcua.common.events.get_event_obj_from_type_node(etype) - check_custom_event(self, ev, etype) - self.assertEqual(ev.PropertyNum, 0) - self.assertEqual(ev.PropertyString, None) - - def test_eventgenerator_customEvent(self): - etype = self.opc.create_custom_event_type(2, 'MyEvent', ua.ObjectIds.BaseEventType, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) - - evgen = self.opc.get_event_generator(etype, ua.ObjectIds.Server) - check_eventgenerator_CustomEvent(self, evgen, etype) - check_eventgenerator_SourceServer(self, evgen) - - self.assertEqual(evgen.event.PropertyNum, 0) - self.assertEqual(evgen.event.PropertyString, None) - - def test_eventgenerator_double_customEvent(self): - event1 = self.opc.create_custom_event_type(3, 'MyEvent1', ua.ObjectIds.BaseEventType, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) - - event2 = self.opc.create_custom_event_type(4, 'MyEvent2', event1, [('PropertyBool', ua.VariantType.Boolean), ('PropertyInt', ua.VariantType.Int32)]) - - evgen = self.opc.get_event_generator(event2, ua.ObjectIds.Server) - check_eventgenerator_CustomEvent(self, evgen, event2) - check_eventgenerator_SourceServer(self, evgen) - - # Properties from MyEvent1 - self.assertEqual(evgen.event.PropertyNum, 0) - self.assertEqual(evgen.event.PropertyString, None) - - # Properties from MyEvent2 - self.assertEqual(evgen.event.PropertyBool, False) - self.assertEqual(evgen.event.PropertyInt, 0) - - def test_eventgenerator_customEvent_MyObject(self): - objects = self.opc.get_objects_node() - o = objects.add_object(3, 'MyObject') - etype = self.opc.create_custom_event_type(2, 'MyEvent', ua.ObjectIds.BaseEventType, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) - - evgen = self.opc.get_event_generator(etype, o) - check_eventgenerator_CustomEvent(self, evgen, etype) - check_event_generator_object(self, evgen, o) - - self.assertEqual(evgen.event.PropertyNum, 0) - self.assertEqual(evgen.event.PropertyString, None) - - def test_context_manager(self): - """ Context manager calls start() and stop() - """ - state = [0] - def increment_state(self, *args, **kwargs): - state[0] += 1 - - # create server and replace instance methods with dummy methods - server = Server() - server.start = increment_state.__get__(server) - server.stop = increment_state.__get__(server) - - assert state[0] == 0 - with server: - # test if server started - self.assertEqual(state[0], 1) - # test if server stopped - self.assertEqual(state[0], 2) - - def test_get_node_by_ns(self): - - def get_ns_of_nodes(nodes): - ns_list = set() - for node in nodes: - ns_list.add(node.nodeid.NamespaceIndex) - return ns_list - - # incase other testss created nodes in unregistered namespace - _idx_d = self.opc.register_namespace('dummy1') - _idx_d = self.opc.register_namespace('dummy2') - _idx_d = self.opc.register_namespace('dummy3') - - # create the test namespaces and vars - idx_a = self.opc.register_namespace('a') - idx_b = self.opc.register_namespace('b') - idx_c = self.opc.register_namespace('c') - o = self.opc.get_objects_node() - _myvar2 = o.add_variable(idx_a, "MyBoolVar2", True) - _myvar3 = o.add_variable(idx_b, "MyBoolVar3", True) - _myvar4 = o.add_variable(idx_c, "MyBoolVar4", True) - - # the tests - nodes = ua_utils.get_nodes_of_namespace(self.opc, namespaces=[idx_a, idx_b, idx_c]) - self.assertEqual(len(nodes), 3) - self.assertEqual(get_ns_of_nodes(nodes), set([idx_a, idx_b, idx_c])) - - nodes = ua_utils.get_nodes_of_namespace(self.opc, namespaces=[idx_a]) - self.assertEqual(len(nodes), 1) - self.assertEqual(get_ns_of_nodes(nodes), set([idx_a])) - - nodes = ua_utils.get_nodes_of_namespace(self.opc, namespaces=[idx_b]) - self.assertEqual(len(nodes), 1) - self.assertEqual(get_ns_of_nodes(nodes), set([idx_b])) - - nodes = ua_utils.get_nodes_of_namespace(self.opc, namespaces=['a']) - self.assertEqual(len(nodes), 1) - self.assertEqual(get_ns_of_nodes(nodes), set([idx_a])) - - nodes = ua_utils.get_nodes_of_namespace(self.opc, namespaces=['a', 'c']) - self.assertEqual(len(nodes), 2) - self.assertEqual(get_ns_of_nodes(nodes), set([idx_a, idx_c])) - - nodes = ua_utils.get_nodes_of_namespace(self.opc, namespaces='b') - self.assertEqual(len(nodes), 1) - self.assertEqual(get_ns_of_nodes(nodes), set([idx_b])) - - nodes = ua_utils.get_nodes_of_namespace(self.opc, namespaces=idx_b) - self.assertEqual(len(nodes), 1) - self.assertEqual(get_ns_of_nodes(nodes), set([idx_b])) - - self.assertRaises(ValueError, ua_utils.get_nodes_of_namespace, self.opc, namespaces='non_existing_ns') - -def check_eventgenerator_SourceServer(test, evgen): - server = test.opc.get_server_node() - test.assertEqual(evgen.event.SourceName, server.get_browse_name().Name) - test.assertEqual(evgen.event.SourceNode, ua.NodeId(ua.ObjectIds.Server)) - test.assertEqual(server.get_event_notifier(), {ua.EventNotifier.SubscribeToEvents}) - - refs = server.get_referenced_nodes(ua.ObjectIds.GeneratesEvent, ua.BrowseDirection.Forward, ua.NodeClass.ObjectType, False) - test.assertGreaterEqual(len(refs), 1) - - -def check_event_generator_object(test, evgen, obj): - test.assertEqual(evgen.event.SourceName, obj.get_browse_name().Name) - test.assertEqual(evgen.event.SourceNode, obj.nodeid) - test.assertEqual(obj.get_event_notifier(), {ua.EventNotifier.SubscribeToEvents}) - - refs = obj.get_referenced_nodes(ua.ObjectIds.GeneratesEvent, ua.BrowseDirection.Forward, ua.NodeClass.ObjectType, False) - test.assertEqual(len(refs), 1) - test.assertEqual(refs[0].nodeid, evgen.event.EventType) - - -def check_eventgenerator_BaseEvent(test, evgen): - test.assertIsNot(evgen, None) # we did not receive event generator - test.assertIs(evgen.isession, test.opc.iserver.isession) - check_base_event(test, evgen.event) - - -def check_base_event(test, ev): - test.assertIsNot(ev, None) # we did not receive event - test.assertIsInstance(ev, BaseEvent) - test.assertEqual(ev.EventType, ua.NodeId(ua.ObjectIds.BaseEventType)) - test.assertEqual(ev.Severity, 1) - - -def check_eventgenerator_CustomEvent(test, evgen, etype): - test.assertIsNot(evgen, None) # we did not receive event generator - test.assertIs(evgen.isession, test.opc.iserver.isession) - check_custom_event(test, evgen.event, etype) - - -def check_custom_event(test, ev, etype): - test.assertIsNot(ev, None) # we did not receive event - test.assertIsInstance(ev, BaseEvent) - test.assertEqual(ev.EventType, etype.nodeid) - test.assertEqual(ev.Severity, 1) - - -def check_custom_type(test, type, base_type): - base = opcua.Node(test.opc.iserver.isession, ua.NodeId(base_type)) - test.assertTrue(type in base.get_children()) - nodes = type.get_referenced_nodes(refs=ua.ObjectIds.HasSubtype, direction=ua.BrowseDirection.Inverse, includesubtypes=True) - test.assertEqual(base, nodes[0]) - properties = type.get_properties() - test.assertIsNot(properties, None) - test.assertEqual(len(properties), 2) - test.assertTrue(type.get_child("2:PropertyNum") in properties) - test.assertEqual(type.get_child("2:PropertyNum").get_data_value().Value.VariantType, ua.VariantType.Int32) - test.assertTrue(type.get_child("2:PropertyString") in properties) - test.assertEqual(type.get_child("2:PropertyString").get_data_value().Value.VariantType, ua.VariantType.String) - - -class TestServerCaching(unittest.TestCase): - def runTest(self): - return # FIXME broken - tmpfile = NamedTemporaryFile() - path = tmpfile.name - tmpfile.close() - - # create cache file - server = Server(shelffile=path) - - # modify cache content - id = ua.NodeId(ua.ObjectIds.Server_ServerStatus_SecondsTillShutdown) - s = shelve.open(path, "w", writeback=True) - s[id.to_string()].attributes[ua.AttributeIds.Value].value = ua.DataValue(123) - s.close() - - # ensure that we are actually loading from the cache - server = Server(shelffile=path) - self.assertEqual(server.get_node(id).get_value(), 123) - - os.remove(path) - -class TestServerStartError(unittest.TestCase): - - def test_port_in_use(self): - - server1 = Server() - server1.set_endpoint('opc.tcp://127.0.0.1:{0:d}'.format(port_num + 1)) - server1.start() - - server2 = Server() - server2.set_endpoint('opc.tcp://127.0.0.1:{0:d}'.format(port_num + 1)) - try: - server2.start() - except Exception: - pass - - server1.stop() - server2.stop() From 41f55688248b0682c91a20dcc033ebe6ee76565f Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Mon, 5 Feb 2018 17:30:00 +0100 Subject: [PATCH 011/113] [ADD] refactor server wip --- opcua/common/events.py | 20 ++++++++------------ opcua/common/node.py | 6 ++++-- opcua/common/subscription.py | 7 ++++--- opcua/server/binary_server_asyncio.py | 1 + opcua/server/event_generator.py | 2 +- opcua/server/internal_server.py | 2 +- tests/test_server.py | 2 +- 7 files changed, 20 insertions(+), 20 deletions(-) diff --git a/opcua/common/events.py b/opcua/common/events.py index 4723056fd..8261291fe 100644 --- a/opcua/common/events.py +++ b/opcua/common/events.py @@ -109,19 +109,18 @@ def from_event_fields(select_clauses, fields): return ev -def get_filter_from_event_type(eventtypes): +async def get_filter_from_event_type(eventtypes): evfilter = ua.EventFilter() - evfilter.SelectClauses = select_clauses_from_evtype(eventtypes) + evfilter.SelectClauses = await select_clauses_from_evtype(eventtypes) evfilter.WhereClause = where_clause_from_evtype(eventtypes) return evfilter -def select_clauses_from_evtype(evtypes): +async def select_clauses_from_evtype(evtypes): clauses = [] - selected_paths = [] for evtype in evtypes: - for prop in get_event_properties_from_type_node(evtype): + for prop in await get_event_properties_from_type_node(evtype): if prop.get_browse_name() not in selected_paths: op = ua.SimpleAttributeOperand() op.AttributeId = ua.AttributeIds.Value @@ -162,21 +161,19 @@ def where_clause_from_evtype(evtypes): return cf -def get_event_properties_from_type_node(node): +async def get_event_properties_from_type_node(node): properties = [] curr_node = node - while True: properties.extend(curr_node.get_properties()) - if curr_node.nodeid.Identifier == ua.ObjectIds.BaseEventType: break - - parents = curr_node.get_referenced_nodes(refs=ua.ObjectIds.HasSubtype, direction=ua.BrowseDirection.Inverse, includesubtypes=True) + parents = await curr_node.get_referenced_nodes( + refs=ua.ObjectIds.HasSubtype, direction=ua.BrowseDirection.Inverse, includesubtypes=True + ) if len(parents) != 1: # Something went wrong return None curr_node = parents[0] - return properties @@ -223,4 +220,3 @@ def _find_parent_eventtype(node): return parents[0].nodeid.Identifier, opcua.common.event_objects.IMPLEMENTED_EVENTS[parents[0].nodeid.Identifier] else: return _find_parent_eventtype(parents[0]) - diff --git a/opcua/common/node.py b/opcua/common/node.py index b26dcc7f9..a3ee2853b 100644 --- a/opcua/common/node.py +++ b/opcua/common/node.py @@ -543,12 +543,14 @@ async def read_event_history(self, starttime=None, endtime=None, numvalues=0, ev if not isinstance(evtypes, (list, tuple)): evtypes = [evtypes] evtypes = [Node(self.server, evtype) for evtype in evtypes] - evfilter = events.get_filter_from_event_type(evtypes) + evfilter = await events.get_filter_from_event_type(evtypes) details.Filter = evfilter result = await self.history_read_events(details) event_res = [] for res in result.HistoryData.Events: - event_res.append(events.Event.from_event_fields(evfilter.SelectClauses, res.EventFields)) + event_res.append( + await events.Event.from_event_fields(evfilter.SelectClauses, res.EventFields) + ) return event_res def history_read_events(self, details): diff --git a/opcua/common/subscription.py b/opcua/common/subscription.py index f00e73db4..bb1b96f8b 100644 --- a/opcua/common/subscription.py +++ b/opcua/common/subscription.py @@ -175,7 +175,8 @@ async def subscribe_data_change(self, nodes, attr=ua.AttributeIds.Value): """ return await self._subscribe(nodes, attr, queuesize=0) - async def subscribe_events(self, sourcenode=ua.ObjectIds.Server, evtypes=ua.ObjectIds.BaseEventType, evfilter=None, queuesize=0): + async def subscribe_events(self, sourcenode=ua.ObjectIds.Server, evtypes=ua.ObjectIds.BaseEventType, evfilter=None, + queuesize=0): """ Subscribe to events from a node. Default node is Server node. In most servers the server node is the only one you can subscribe to. @@ -188,7 +189,7 @@ async def subscribe_events(self, sourcenode=ua.ObjectIds.Server, evtypes=ua.Obje if not type(evtypes) in (list, tuple): evtypes = [evtypes] evtypes = [Node(self.server, evtype) for evtype in evtypes] - evfilter = events.get_filter_from_event_type(evtypes) + evfilter = await events.get_filter_from_event_type(evtypes) return await self._subscribe(sourcenode, ua.AttributeIds.EventNotifier, evfilter, queuesize=queuesize) async def _subscribe(self, nodes, attr, mfilter=None, queuesize=0): @@ -269,7 +270,7 @@ async def unsubscribe(self, handle): params = ua.DeleteMonitoredItemsParameters() params.SubscriptionId = self.subscription_id params.MonitoredItemIds = [handle] - results = await self.server.delete_monitored_items(params) + results = self.server.delete_monitored_items(params) results[0].check() for k, v in self._monitored_items.items(): if v.server_handle == handle: diff --git a/opcua/server/binary_server_asyncio.py b/opcua/server/binary_server_asyncio.py index b3d0e0239..6c25ecb6f 100644 --- a/opcua/server/binary_server_asyncio.py +++ b/opcua/server/binary_server_asyncio.py @@ -86,6 +86,7 @@ async def _process_received_message(self, header, buf): # There is data left in the buffer - process it self._process_received_data(buf) + class BinaryServer: def __init__(self, internal_server, hostname, port): diff --git a/opcua/server/event_generator.py b/opcua/server/event_generator.py index d2a6804bd..90cc469ce 100644 --- a/opcua/server/event_generator.py +++ b/opcua/server/event_generator.py @@ -57,7 +57,7 @@ async def set_source(self, source=ua.ObjectIds.Server): self.event.SourceNode = source.nodeid self.event.SourceName = (await source.get_browse_name()).Name - source.set_event_notifier([ua.EventNotifier.SubscribeToEvents]) + await source.set_event_notifier([ua.EventNotifier.SubscribeToEvents]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True diff --git a/opcua/server/internal_server.py b/opcua/server/internal_server.py index f223ddf6d..d84b7cdd6 100644 --- a/opcua/server/internal_server.py +++ b/opcua/server/internal_server.py @@ -220,7 +220,7 @@ async def disable_history_event(self, source): """ Set attribute History Read of node to False and stop storing data for history """ - source.unset_attr_bit(ua.AttributeIds.EventNotifier, ua.EventNotifier.HistoryRead) + await source.unset_attr_bit(ua.AttributeIds.EventNotifier, ua.EventNotifier.HistoryRead) await self.history_manager.dehistorize(source) def subscribe_server_callback(self, event, handle): diff --git a/tests/test_server.py b/tests/test_server.py index 560654a06..1d4cfee01 100644 --- a/tests/test_server.py +++ b/tests/test_server.py @@ -152,7 +152,7 @@ async def test_historize_events(server): await server.iserver.enable_history_event(srv_node, period=None) assert await srv_node.get_event_notifier() == {ua.EventNotifier.SubscribeToEvents, ua.EventNotifier.HistoryRead} srvevgen.trigger(message='Message') - server.iserver.disable_history_event(srv_node) + await server.iserver.disable_history_event(srv_node) async def test_references_for_added_nodes_method(server): From d45d5f0d5b270bf9ebbcd4fdbbfcfd84ad7c0798 Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Wed, 7 Feb 2018 16:38:30 +0100 Subject: [PATCH 012/113] [ADD] wip --- opcua/client/ua_client.py | 3 ++- opcua/common/connection.py | 20 ++++++++++---------- opcua/common/subscription.py | 7 ++++--- opcua/server/internal_server.py | 1 + 4 files changed, 17 insertions(+), 14 deletions(-) diff --git a/opcua/client/ua_client.py b/opcua/client/ua_client.py index 337469d29..9dff3da79 100644 --- a/opcua/client/ua_client.py +++ b/opcua/client/ua_client.py @@ -63,7 +63,8 @@ def _process_received_data(self, data: bytes): if len(buf) == 0: return except Exception: - self.logger.exception('Exception raised while parsing message from client') + self.logger.exception('Exception raised while parsing message from server') + self.disconnect_socket() return def _process_received_message(self, msg): diff --git a/opcua/common/connection.py b/opcua/common/connection.py index ce105d86e..75213cfb8 100644 --- a/opcua/common/connection.py +++ b/opcua/common/connection.py @@ -218,16 +218,16 @@ def message_to_binary(self, message, message_type=ua.MessageType.SecureMessage, return b"".join([chunk.to_binary() for chunk in chunks]) def _check_incoming_chunk(self, chunk): - assert isinstance(chunk, MessageChunk), "Expected chunk, got: {0}".format(chunk) + assert isinstance(chunk, MessageChunk), 'Expected chunk, got: {0}'.format(chunk) if chunk.MessageHeader.MessageType != ua.MessageType.SecureOpen: if chunk.MessageHeader.ChannelId != self.channel.SecurityToken.ChannelId: - raise ua.UaError("Wrong channel id {0}, expected {1}".format( + raise ua.UaError('Wrong channel id {0}, expected {1}'.format( chunk.MessageHeader.ChannelId, self.channel.SecurityToken.ChannelId)) if chunk.SecurityHeader.TokenId != self.channel.SecurityToken.TokenId: if chunk.SecurityHeader.TokenId not in self._old_tokens: logger.warning( - "Received a chunk with wrong token id %s, expected %s", + 'Received a chunk with wrong token id %s, expected %s', chunk.SecurityHeader.TokenId, self.channel.SecurityToken.TokenId ) #raise UaError("Wrong token id {}, expected {}, old tokens are {}".format( @@ -241,10 +241,10 @@ def _check_incoming_chunk(self, chunk): self._old_tokens = self._old_tokens[idx:] if self._incoming_parts: if self._incoming_parts[0].SequenceHeader.RequestId != chunk.SequenceHeader.RequestId: - raise ua.UaError("Wrong request id {0}, expected {1}".format( + raise ua.UaError('Wrong request id {0}, expected {1}'.format( chunk.SequenceHeader.RequestId, - self._incoming_parts[0].SequenceHeader.RequestId)) - + self._incoming_parts[0].SequenceHeader.RequestId) + ) # sequence number must be incremented or wrapped num = chunk.SequenceHeader.SequenceNumber if self._peer_sequence_number is not None: @@ -252,12 +252,12 @@ def _check_incoming_chunk(self, chunk): wrap = (1 << 32) - 1024 if num < 1024 and self._peer_sequence_number >= wrap: # specs Part 6, 6.7.2 - logger.debug("Sequence number wrapped: %d -> %d", - self._peer_sequence_number, num) + logger.debug('Sequence number wrapped: %d -> %d', self._peer_sequence_number, num) else: raise ua.UaError( - "Wrong sequence {0} -> {1} (server bug or replay attack)" - .format(self._peer_sequence_number, num)) + 'Wrong sequence {0} -> {1} (server bug or replay attack)' + .format(self._peer_sequence_number, num) + ) self._peer_sequence_number = num def receive_from_header_and_body(self, header, body): diff --git a/opcua/common/subscription.py b/opcua/common/subscription.py index bb1b96f8b..9cbd95103 100644 --- a/opcua/common/subscription.py +++ b/opcua/common/subscription.py @@ -166,14 +166,15 @@ def _call_status(self, status): except Exception: self.logger.exception("Exception calling status change handler") - async def subscribe_data_change(self, nodes, attr=ua.AttributeIds.Value): + def subscribe_data_change(self, nodes, attr=ua.AttributeIds.Value): """ + Coroutine Subscribe for data change events for a node or list of nodes. default attribute is Value. Return a handle which can be used to unsubscribe If more control is necessary use create_monitored_items method """ - return await self._subscribe(nodes, attr, queuesize=0) + return self._subscribe(nodes, attr, queuesize=0) async def subscribe_events(self, sourcenode=ua.ObjectIds.Server, evtypes=ua.ObjectIds.BaseEventType, evfilter=None, queuesize=0): @@ -248,7 +249,7 @@ async def create_monitored_items(self, monitored_items): #TODO: Either use the filter from request or from response. Here it uses from request, in modify it uses from response data.mfilter = mi.RequestedParameters.Filter self._monitored_items[mi.RequestedParameters.ClientHandle] = data - results = self.server.create_monitored_items(params) + results = await self.server.create_monitored_items(params) mids = [] # process result, add server_handle, or remove it if failed for idx, result in enumerate(results): diff --git a/opcua/server/internal_server.py b/opcua/server/internal_server.py index d84b7cdd6..5e23cd8ca 100644 --- a/opcua/server/internal_server.py +++ b/opcua/server/internal_server.py @@ -346,6 +346,7 @@ async def create_subscription(self, params, callback): return result def create_monitored_items(self, params): + """Returns Future""" subscription_result = self.subscription_service.create_monitored_items(params) self.iserver.server_callback_dispatcher.dispatch( CallbackType.ItemSubscriptionCreated, ServerItemCallback(params, subscription_result)) From 542f7840a24b84a37a9fac0ad7683ef76f6bf3fc Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Fri, 23 Mar 2018 15:41:31 +0100 Subject: [PATCH 013/113] [ADD] wip --- examples/client-minimal-auth.py | 75 +++++++++++++++++++++++++++++++++ examples/client-minimal.py | 4 +- opcua/client/client.py | 6 ++- opcua/common/ua_utils.py | 3 ++ opcua/ua/ua_binary.py | 42 ++++++++---------- opcua/ua/uaprotocol_auto.py | 26 ++++++------ 6 files changed, 114 insertions(+), 42 deletions(-) create mode 100644 examples/client-minimal-auth.py diff --git a/examples/client-minimal-auth.py b/examples/client-minimal-auth.py new file mode 100644 index 000000000..934fe0acb --- /dev/null +++ b/examples/client-minimal-auth.py @@ -0,0 +1,75 @@ +import asyncio +import logging + +from opcua import Client, Node, ua + +logging.basicConfig(level=logging.INFO) +_logger = logging.getLogger('opcua') + + +async def _browse_nodes(node: Node): + """ + Build a nested node tree dict by recursion (filtered by OPC UA objects and variables). + """ + node_class = await node.get_node_class() + children = [] + for child in await node.get_children(): + if await child.get_node_class() in [ua.NodeClass.Object, ua.NodeClass.Variable]: + children.append( + await _browse_nodes(child) + ) + if node_class != ua.NodeClass.Variable: + var_type = None + else: + try: + var_type = (await node.get_data_type_as_variant_type()).value + except ua.UaError: + _logger.warning('Node Variable Type coudl not be determined for %r', node) + var_type = None + return { + 'id': node.nodeid.to_string(), + 'name': (await node.get_display_name()).Text, + 'cls': node_class.value, + 'children': children, + 'type': var_type, + } + + +async def create_node_tree(client): + """coroutine""" + return await _browse_nodes(client.get_objects_node()) + + +async def task(loop): + url = "opc.tcp://192.168.2.213:4840" + # url = "opc.tcp://localhost:4840/freeopcua/server/" + try: + client = Client(url=url) + client.set_user('test') + client.set_password('test') + # client.set_security_string() + await client.connect() + # Client has a few methods to get proxy to UA nodes that should always be in address space such as Root or Objects + root = client.get_root_node() + _logger.info("Objects node is: %r", root) + + # Node objects have methods to read and write node attributes as well as browse or populate address space + _logger.info("Children of root are: %r", await root.get_children()) + + tree = await create_node_tree(client) + _logger.info('Node tree: %r', tree) + except Exception: + _logger.exception('error') + finally: + await client.disconnect() + + +def main(): + loop = asyncio.get_event_loop() + loop.set_debug(True) + loop.run_until_complete(task(loop)) + loop.close() + + +if __name__ == "__main__": + main() diff --git a/examples/client-minimal.py b/examples/client-minimal.py index b52ee35f2..608b90957 100644 --- a/examples/client-minimal.py +++ b/examples/client-minimal.py @@ -4,12 +4,12 @@ from opcua import Client -logging.basicConfig(level=logging.INFO) +logging.basicConfig(level=logging.DEBUG) _logger = logging.getLogger('opcua') async def task(loop): - url = "opc.tcp://commsvr.com:51234/UA/CAS_UA_Server" + url = "opc.tcp://192.168.2.213:4840" # url = "opc.tcp://localhost:4840/freeopcua/server/" try: async with Client(url=url) as client: diff --git a/opcua/client/client.py b/opcua/client/client.py index e3f942d21..06255e14e 100644 --- a/opcua/client/client.py +++ b/opcua/client/client.py @@ -96,6 +96,8 @@ def set_password(self, pwd): Set user password for the connection. initial password from the URL will be overwritten """ + if type(pwd) is not str: + raise TypeError('Password must be a string, got %s', type(pwd)) self._password = pwd async def set_security_string(self, string): @@ -404,7 +406,7 @@ async def activate_session(self, username=None, password=None, certificate=None) def _add_anonymous_auth(self, params): params.UserIdentityToken = ua.AnonymousIdentityToken() - params.UserIdentityToken.PolicyId = self.server_policy_id(ua.UserTokenType.Anonymous, b"anonymous") + params.UserIdentityToken.PolicyId = self.server_policy_id(ua.UserTokenType.Anonymous, 'anonymous') def _add_certificate_auth(self, params, certificate, challenge): params.UserIdentityToken = ua.X509IdentityToken() @@ -427,7 +429,7 @@ def _add_user_auth(self, params, username, password): # and EncryptionAlgorithm is null if self._password: self.logger.warning("Sending plain-text password") - params.UserIdentityToken.Password = password + params.UserIdentityToken.Password = password.encode('utf8') params.UserIdentityToken.EncryptionAlgorithm = None elif self._password: data, uri = self._encrypt_password(password, policy_uri) diff --git a/opcua/common/ua_utils.py b/opcua/common/ua_utils.py index 05c58c756..4f0927257 100644 --- a/opcua/common/ua_utils.py +++ b/opcua/common/ua_utils.py @@ -6,10 +6,13 @@ from datetime import datetime from enum import Enum, IntEnum import uuid +import logging from opcua import ua from opcua.ua.uaerrors import UaError +logger = logging.getLogger('__name__') + def val_to_string(val): """ diff --git a/opcua/ua/ua_binary.py b/opcua/ua/ua_binary.py index c74512b2b..bb8e06baf 100644 --- a/opcua/ua/ua_binary.py +++ b/opcua/ua/ua_binary.py @@ -65,24 +65,15 @@ class _String(object): @staticmethod def pack(string): if string is not None: - if sys.version_info.major > 2: - string = string.encode('utf-8') - else: - # we do not want this test to happen with python3 - if isinstance(string, unicode): - string = string.encode('utf-8') + string = string.encode('utf-8') return _Bytes.pack(string) @staticmethod def unpack(data): b = _Bytes.unpack(data) - if sys.version_info.major < 3: - # return unicode(b) #might be correct for python2 but would complicate tests for python3 + if b is None: return b - else: - if b is None: - return b - return b.decode("utf-8") + return b.decode('utf-8') class _Null(object): @@ -266,10 +257,10 @@ def to_binary(uatype, val): if uatype.startswith("ListOf"): #if isinstance(val, (list, tuple)): return list_to_binary(uatype[6:], val) - elif isinstance(uatype, (str, unicode)) and hasattr(ua.VariantType, uatype): + elif type(uatype) is str and hasattr(ua.VariantType, uatype): vtype = getattr(ua.VariantType, uatype) return pack_uatype(vtype, val) - elif isinstance(uatype, (str, unicode)) and hasattr(Primitives, uatype): + elif type(uatype) is str and hasattr(Primitives, uatype): return getattr(Primitives, uatype).pack(val) elif isinstance(val, (IntEnum, Enum)): return Primitives.UInt32.pack(val.value) @@ -448,18 +439,19 @@ def extensionobject_to_binary(obj): if isinstance(obj, ua.ExtensionObject): return struct_to_binary(obj) if obj is None: - TypeId = ua.NodeId() - Encoding = 0 - Body = None + type_id = ua.NodeId() + encoding = 0 + body = None else: - TypeId = ua.extension_object_ids[obj.__class__.__name__] - Encoding = 0x01 - Body = struct_to_binary(obj) - packet = [] - packet.append(nodeid_to_binary(TypeId)) - packet.append(Primitives.Byte.pack(Encoding)) - if Body: - packet.append(Primitives.Bytes.pack(Body)) + type_id = ua.extension_object_ids[obj.__class__.__name__] + encoding = 0x01 + body = struct_to_binary(obj) + packet = [ + nodeid_to_binary(type_id), + Primitives.Byte.pack(encoding), + ] + if body: + packet.append(Primitives.Bytes.pack(body)) return b''.join(packet) diff --git a/opcua/ua/uaprotocol_auto.py b/opcua/ua/uaprotocol_auto.py index e985d373b..a7dffb872 100644 --- a/opcua/ua/uaprotocol_auto.py +++ b/opcua/ua/uaprotocol_auto.py @@ -2359,10 +2359,10 @@ def __init__(self): self._freeze = True def __str__(self): - return 'UserNameIdentityToken(' + 'PolicyId:' + str(self.PolicyId) + ', ' + \ - 'UserName:' + str(self.UserName) + ', ' + \ - 'Password:' + str(self.Password) + ', ' + \ - 'EncryptionAlgorithm:' + str(self.EncryptionAlgorithm) + ')' + return f'UserNameIdentityToken(PolicyId:{self.PolicyId}, ' + \ + f'UserName:{self.UserName}, ' + \ + f'Password:{self.Password}, ' + \ + f'EncryptionAlgorithm:{self.EncryptionAlgorithm})' __repr__ = __str__ @@ -2482,11 +2482,11 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ActivateSessionParameters(' + 'ClientSignature:' + str(self.ClientSignature) + ', ' + \ - 'ClientSoftwareCertificates:' + str(self.ClientSoftwareCertificates) + ', ' + \ - 'LocaleIds:' + str(self.LocaleIds) + ', ' + \ - 'UserIdentityToken:' + str(self.UserIdentityToken) + ', ' + \ - 'UserTokenSignature:' + str(self.UserTokenSignature) + ')' + return f'ActivateSessionParameters(ClientSignature:{self.ClientSignature}, ' + \ + f'ClientSoftwareCertificates:{self.ClientSoftwareCertificates}, ' + \ + f'LocaleIds:{self.LocaleIds}, ' + \ + f'UserIdentityToken:{self.UserIdentityToken}, ' + \ + f'UserTokenSignature:{self.UserTokenSignature})' __repr__ = __str__ @@ -2516,9 +2516,9 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ActivateSessionRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'ActivateSessionRequest(TypeId:{self.TypeId}, ' + \ + f'RequestHeader:{self.RequestHeader}, ' + \ + f'Parameters:{self.Parameters})' __repr__ = __str__ @@ -2546,7 +2546,7 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ActivateSessionResult(' + 'ServerNonce:' + str(self.ServerNonce) + ', ' + \ + return 'ActivateSessionResult(ServerNonce:' + str(self.ServerNonce) + ', ' + \ 'Results:' + str(self.Results) + ', ' + \ 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' From 5c02c0dc53a1108c87a87acde5e32d7352e84ddb Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Sat, 24 Mar 2018 19:04:20 +0100 Subject: [PATCH 014/113] [ADD] uaprotocol f-string refactoring --- examples/client-minimal.py | 18 +- opcua/client/ua_client.py | 2 +- opcua/ua/ua_binary.py | 4 +- opcua/ua/uaprotocol_auto.py | 3937 +++++++++++++++++++---------------- 4 files changed, 2149 insertions(+), 1812 deletions(-) diff --git a/examples/client-minimal.py b/examples/client-minimal.py index 608b90957..18c745f51 100644 --- a/examples/client-minimal.py +++ b/examples/client-minimal.py @@ -4,21 +4,22 @@ from opcua import Client -logging.basicConfig(level=logging.DEBUG) +logging.basicConfig(level=logging.INFO) _logger = logging.getLogger('opcua') async def task(loop): - url = "opc.tcp://192.168.2.213:4840" - # url = "opc.tcp://localhost:4840/freeopcua/server/" + # url = 'opc.tcp://192.168.2.213:4840' + # url = 'opc.tcp://localhost:4840/freeopcua/server/' + url = 'opc.tcp://commsvr.com:51234/UA/CAS_UA_Server' try: async with Client(url=url) as client: # Client has a few methods to get proxy to UA nodes that should always be in address space such as Root or Objects root = client.get_root_node() - _logger.info("Objects node is: %r", root) + _logger.info('Objects node is: %r', root) # Node objects have methods to read and write node attributes as well as browse or populate address space - _logger.info("Children of root are: %r", await root.get_children()) + _logger.info('Children of root are: %r', await root.get_children()) # get a specific node knowing its node id # var = client.get_node(ua.NodeId(1002, 2)) @@ -30,9 +31,8 @@ async def task(loop): # var.set_value(3.9) # set node value using implicit data type # Now getting a variable node using its browse path - myvar = await root.get_child(["0:Objects", "2:MyObject", "2:MyVariable"]) - obj = await root.get_child(["0:Objects", "2:MyObject"]) - _logger.info("myvar is: %r", myvar) + myvar = await root.get_child(['0:Objects', '2:MyObject', '2:MyVariable']) + _logger.info('myvar is: %r', myvar) except Exception: _logger.exception('error') @@ -44,5 +44,5 @@ def main(): loop.close() -if __name__ == "__main__": +if __name__ == '__main__': main() diff --git a/opcua/client/ua_client.py b/opcua/client/ua_client.py index 9dff3da79..898a411e9 100644 --- a/opcua/client/ua_client.py +++ b/opcua/client/ua_client.py @@ -86,7 +86,7 @@ def _send_request(self, request, callback=None, timeout=1000, message_type=ua.Me Returns future """ request.RequestHeader = self._create_request_header(timeout) - self.logger.debug("Sending: %s", request) + self.logger.debug('Sending: %s', request) try: binreq = struct_to_binary(request) except Exception: diff --git a/opcua/ua/ua_binary.py b/opcua/ua/ua_binary.py index bb8e06baf..cd83fdf10 100644 --- a/opcua/ua/ua_binary.py +++ b/opcua/ua/ua_binary.py @@ -229,7 +229,7 @@ def unpack_uatype_array(vtype, data): def struct_to_binary(obj): packet = [] - has_switch = hasattr(obj, "ua_switches") + has_switch = hasattr(obj, 'ua_switches') if has_switch: for name, switch in obj.ua_switches.items(): member = getattr(obj, name) @@ -240,7 +240,7 @@ def struct_to_binary(obj): setattr(obj, container_name, container_val) for name, uatype in obj.ua_types: val = getattr(obj, name) - if uatype.startswith("ListOf"): + if uatype.startswith('ListOf'): packet.append(list_to_binary(uatype[6:], val)) else: if has_switch and val is None and name in obj.ua_switches: diff --git a/opcua/ua/uaprotocol_auto.py b/opcua/ua/uaprotocol_auto.py index a7dffb872..78e5b6a86 100644 --- a/opcua/ua/uaprotocol_auto.py +++ b/opcua/ua/uaprotocol_auto.py @@ -1,6 +1,6 @@ -''' +""" Autogenerate code from xml spec -''' +""" from datetime import datetime from enum import IntEnum @@ -10,21 +10,21 @@ class NamingRuleType(IntEnum): - ''' + """ :ivar Mandatory: :vartype Mandatory: 1 :ivar Optional: :vartype Optional: 2 :ivar Constraint: :vartype Constraint: 3 - ''' + """ Mandatory = 1 Optional = 2 Constraint = 3 class OpenFileMode(IntEnum): - ''' + """ :ivar Read: :vartype Read: 1 :ivar Write: @@ -33,7 +33,7 @@ class OpenFileMode(IntEnum): :vartype EraseExisting: 4 :ivar Append: :vartype Append: 8 - ''' + """ Read = 1 Write = 2 EraseExisting = 4 @@ -41,7 +41,7 @@ class OpenFileMode(IntEnum): class TrustListMasks(IntEnum): - ''' + """ :ivar None_: :vartype None_: 0 :ivar TrustedCertificates: @@ -54,7 +54,7 @@ class TrustListMasks(IntEnum): :vartype IssuerCrls: 8 :ivar All: :vartype All: 15 - ''' + """ None_ = 0 TrustedCertificates = 1 TrustedCrls = 2 @@ -64,7 +64,7 @@ class TrustListMasks(IntEnum): class IdType(IntEnum): - ''' + """ The type of identifier used in a node id. :ivar Numeric: @@ -75,7 +75,7 @@ class IdType(IntEnum): :vartype Guid: 2 :ivar Opaque: :vartype Opaque: 3 - ''' + """ Numeric = 0 String = 1 Guid = 2 @@ -83,7 +83,7 @@ class IdType(IntEnum): class NodeClass(IntEnum): - ''' + """ A mask specifying the class of the node. :ivar Unspecified: @@ -104,7 +104,7 @@ class NodeClass(IntEnum): :vartype DataType: 64 :ivar View: :vartype View: 128 - ''' + """ Unspecified = 0 Object = 1 Variable = 2 @@ -117,7 +117,7 @@ class NodeClass(IntEnum): class ApplicationType(IntEnum): - ''' + """ The types of applications. :ivar Server: @@ -128,7 +128,7 @@ class ApplicationType(IntEnum): :vartype ClientAndServer: 2 :ivar DiscoveryServer: :vartype DiscoveryServer: 3 - ''' + """ Server = 0 Client = 1 ClientAndServer = 2 @@ -136,7 +136,7 @@ class ApplicationType(IntEnum): class MessageSecurityMode(IntEnum): - ''' + """ The type of security to use on a message. :ivar Invalid: @@ -147,7 +147,7 @@ class MessageSecurityMode(IntEnum): :vartype Sign: 2 :ivar SignAndEncrypt: :vartype SignAndEncrypt: 3 - ''' + """ Invalid = 0 None_ = 1 Sign = 2 @@ -155,7 +155,7 @@ class MessageSecurityMode(IntEnum): class UserTokenType(IntEnum): - ''' + """ The possible user token types. :ivar Anonymous: @@ -168,7 +168,7 @@ class UserTokenType(IntEnum): :vartype IssuedToken: 3 :ivar Kerberos: :vartype Kerberos: 4 - ''' + """ Anonymous = 0 UserName = 1 Certificate = 2 @@ -177,20 +177,20 @@ class UserTokenType(IntEnum): class SecurityTokenRequestType(IntEnum): - ''' + """ Indicates whether a token if being created or renewed. :ivar Issue: :vartype Issue: 0 :ivar Renew: :vartype Renew: 1 - ''' + """ Issue = 0 Renew = 1 class NodeAttributesMask(IntEnum): - ''' + """ The bits used to specify default attributes for a new node. :ivar None_: @@ -257,7 +257,7 @@ class NodeAttributesMask(IntEnum): :vartype ReferenceType: 1371236 :ivar View: :vartype View: 1335532 - ''' + """ None_ = 0 AccessLevel = 1 ArrayDimensions = 2 @@ -293,7 +293,7 @@ class NodeAttributesMask(IntEnum): class AttributeWriteMask(IntEnum): - ''' + """ Define bits used to indicate which attributes are writable. :ivar None_: @@ -342,7 +342,7 @@ class AttributeWriteMask(IntEnum): :vartype WriteMask: 1048576 :ivar ValueForVariableType: :vartype ValueForVariableType: 2097152 - ''' + """ None_ = 0 AccessLevel = 1 ArrayDimensions = 2 @@ -369,7 +369,7 @@ class AttributeWriteMask(IntEnum): class BrowseDirection(IntEnum): - ''' + """ The directions of the references to return. :ivar Forward: @@ -378,14 +378,14 @@ class BrowseDirection(IntEnum): :vartype Inverse: 1 :ivar Both: :vartype Both: 2 - ''' + """ Forward = 0 Inverse = 1 Both = 2 class BrowseResultMask(IntEnum): - ''' + """ A bit mask which specifies what should be returned in a browse response. :ivar None_: @@ -408,7 +408,7 @@ class BrowseResultMask(IntEnum): :vartype ReferenceTypeInfo: 3 :ivar TargetInfo: :vartype TargetInfo: 60 - ''' + """ None_ = 0 ReferenceTypeId = 1 IsForward = 2 @@ -422,7 +422,7 @@ class BrowseResultMask(IntEnum): class ComplianceLevel(IntEnum): - ''' + """ :ivar Untested: :vartype Untested: 0 :ivar Partial: @@ -431,7 +431,7 @@ class ComplianceLevel(IntEnum): :vartype SelfTested: 2 :ivar Certified: :vartype Certified: 3 - ''' + """ Untested = 0 Partial = 1 SelfTested = 2 @@ -439,7 +439,7 @@ class ComplianceLevel(IntEnum): class FilterOperator(IntEnum): - ''' + """ :ivar Equals: :vartype Equals: 0 :ivar IsNull: @@ -476,7 +476,7 @@ class FilterOperator(IntEnum): :vartype BitwiseAnd: 16 :ivar BitwiseOr: :vartype BitwiseOr: 17 - ''' + """ Equals = 0 IsNull = 1 GreaterThan = 2 @@ -498,7 +498,7 @@ class FilterOperator(IntEnum): class TimestampsToReturn(IntEnum): - ''' + """ :ivar Source: :vartype Source: 0 :ivar Server: @@ -507,7 +507,7 @@ class TimestampsToReturn(IntEnum): :vartype Both: 2 :ivar Neither: :vartype Neither: 3 - ''' + """ Source = 0 Server = 1 Both = 2 @@ -515,7 +515,7 @@ class TimestampsToReturn(IntEnum): class HistoryUpdateType(IntEnum): - ''' + """ :ivar Insert: :vartype Insert: 1 :ivar Replace: @@ -524,7 +524,7 @@ class HistoryUpdateType(IntEnum): :vartype Update: 3 :ivar Delete: :vartype Delete: 4 - ''' + """ Insert = 1 Replace = 2 Update = 3 @@ -532,7 +532,7 @@ class HistoryUpdateType(IntEnum): class PerformUpdateType(IntEnum): - ''' + """ :ivar Insert: :vartype Insert: 1 :ivar Replace: @@ -541,7 +541,7 @@ class PerformUpdateType(IntEnum): :vartype Update: 3 :ivar Remove: :vartype Remove: 4 - ''' + """ Insert = 1 Replace = 2 Update = 3 @@ -549,49 +549,49 @@ class PerformUpdateType(IntEnum): class MonitoringMode(IntEnum): - ''' + """ :ivar Disabled: :vartype Disabled: 0 :ivar Sampling: :vartype Sampling: 1 :ivar Reporting: :vartype Reporting: 2 - ''' + """ Disabled = 0 Sampling = 1 Reporting = 2 class DataChangeTrigger(IntEnum): - ''' + """ :ivar Status: :vartype Status: 0 :ivar StatusValue: :vartype StatusValue: 1 :ivar StatusValueTimestamp: :vartype StatusValueTimestamp: 2 - ''' + """ Status = 0 StatusValue = 1 StatusValueTimestamp = 2 class DeadbandType(IntEnum): - ''' + """ :ivar None_: :vartype None_: 0 :ivar Absolute: :vartype Absolute: 1 :ivar Percent: :vartype Percent: 2 - ''' + """ None_ = 0 Absolute = 1 Percent = 2 class EnumeratedTestType(IntEnum): - ''' + """ A simple enumerated type used for testing. :ivar Red: @@ -600,14 +600,14 @@ class EnumeratedTestType(IntEnum): :vartype Yellow: 4 :ivar Green: :vartype Green: 5 - ''' + """ Red = 1 Yellow = 4 Green = 5 class RedundancySupport(IntEnum): - ''' + """ :ivar None_: :vartype None_: 0 :ivar Cold: @@ -620,7 +620,7 @@ class RedundancySupport(IntEnum): :vartype Transparent: 4 :ivar HotAndMirrored: :vartype HotAndMirrored: 5 - ''' + """ None_ = 0 Cold = 1 Warm = 2 @@ -630,7 +630,7 @@ class RedundancySupport(IntEnum): class ServerState(IntEnum): - ''' + """ :ivar Running: :vartype Running: 0 :ivar Failed: @@ -647,7 +647,7 @@ class ServerState(IntEnum): :vartype CommunicationFault: 6 :ivar Unknown: :vartype Unknown: 7 - ''' + """ Running = 0 Failed = 1 NoConfiguration = 2 @@ -659,7 +659,7 @@ class ServerState(IntEnum): class ModelChangeStructureVerbMask(IntEnum): - ''' + """ :ivar NodeAdded: :vartype NodeAdded: 1 :ivar NodeDeleted: @@ -670,7 +670,7 @@ class ModelChangeStructureVerbMask(IntEnum): :vartype ReferenceDeleted: 8 :ivar DataTypeChanged: :vartype DataTypeChanged: 16 - ''' + """ NodeAdded = 1 NodeDeleted = 2 ReferenceAdded = 4 @@ -679,21 +679,21 @@ class ModelChangeStructureVerbMask(IntEnum): class AxisScaleEnumeration(IntEnum): - ''' + """ :ivar Linear: :vartype Linear: 0 :ivar Log: :vartype Log: 1 :ivar Ln: :vartype Ln: 2 - ''' + """ Linear = 0 Log = 1 Ln = 2 class ExceptionDeviationFormat(IntEnum): - ''' + """ :ivar AbsoluteValue: :vartype AbsoluteValue: 0 :ivar PercentOfValue: @@ -704,7 +704,7 @@ class ExceptionDeviationFormat(IntEnum): :vartype PercentOfEURange: 3 :ivar Unknown: :vartype Unknown: 4 - ''' + """ AbsoluteValue = 0 PercentOfValue = 1 PercentOfRange = 2 @@ -713,7 +713,7 @@ class ExceptionDeviationFormat(IntEnum): class DiagnosticInfo(FrozenClass): - ''' + """ A recursive structure containing diagnostic information associated with a status code. :ivar Encoding: @@ -732,7 +732,7 @@ class DiagnosticInfo(FrozenClass): :vartype InnerStatusCode: StatusCode :ivar InnerDiagnosticInfo: :vartype InnerDiagnosticInfo: DiagnosticInfo - ''' + """ ua_switches = { 'SymbolicId': ('Encoding', 0), @@ -742,7 +742,7 @@ class DiagnosticInfo(FrozenClass): 'AdditionalInfo': ('Encoding', 4), 'InnerStatusCode': ('Encoding', 5), 'InnerDiagnosticInfo': ('Encoding', 6), - } + } ua_types = [ ('Encoding', 'Byte'), ('SymbolicId', 'Int32'), @@ -752,7 +752,7 @@ class DiagnosticInfo(FrozenClass): ('AdditionalInfo', 'String'), ('InnerStatusCode', 'StatusCode'), ('InnerDiagnosticInfo', 'DiagnosticInfo'), - ] + ] def __init__(self): self.Encoding = 0 @@ -766,20 +766,22 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DiagnosticInfo(' + 'Encoding:' + str(self.Encoding) + ', ' + \ - 'SymbolicId:' + str(self.SymbolicId) + ', ' + \ - 'NamespaceURI:' + str(self.NamespaceURI) + ', ' + \ - 'Locale:' + str(self.Locale) + ', ' + \ - 'LocalizedText:' + str(self.LocalizedText) + ', ' + \ - 'AdditionalInfo:' + str(self.AdditionalInfo) + ', ' + \ - 'InnerStatusCode:' + str(self.InnerStatusCode) + ', ' + \ - 'InnerDiagnosticInfo:' + str(self.InnerDiagnosticInfo) + ')' + return ', '.join(( + f'DiagnosticInfo(Encoding:{self.Encoding}', + f'SymbolicId:{self.SymbolicId}', + f'NamespaceURI:{self.NamespaceURI}', + f'Locale:{self.Locale}', + f'LocalizedText:{self.LocalizedText}', + f'AdditionalInfo:{self.AdditionalInfo}', + f'InnerStatusCode:{self.InnerStatusCode}', + f'InnerDiagnosticInfo:{self.InnerDiagnosticInfo})' + )) __repr__ = __str__ class TrustListDataType(FrozenClass): - ''' + """ :ivar SpecifiedLists: :vartype SpecifiedLists: UInt32 :ivar TrustedCertificates: @@ -790,7 +792,7 @@ class TrustListDataType(FrozenClass): :vartype IssuerCertificates: ByteString :ivar IssuerCrls: :vartype IssuerCrls: ByteString - ''' + """ ua_types = [ ('SpecifiedLists', 'UInt32'), @@ -798,7 +800,7 @@ class TrustListDataType(FrozenClass): ('TrustedCrls', 'ListOfByteString'), ('IssuerCertificates', 'ListOfByteString'), ('IssuerCrls', 'ListOfByteString'), - ] + ] def __init__(self): self.SpecifiedLists = 0 @@ -809,17 +811,19 @@ def __init__(self): self._freeze = True def __str__(self): - return 'TrustListDataType(' + 'SpecifiedLists:' + str(self.SpecifiedLists) + ', ' + \ - 'TrustedCertificates:' + str(self.TrustedCertificates) + ', ' + \ - 'TrustedCrls:' + str(self.TrustedCrls) + ', ' + \ - 'IssuerCertificates:' + str(self.IssuerCertificates) + ', ' + \ - 'IssuerCrls:' + str(self.IssuerCrls) + ')' + return ', '.join(( + f'TrustListDataType(SpecifiedLists:{self.SpecifiedLists}', + f'TrustedCertificates:{self.TrustedCertificates}', + f'TrustedCrls:{self.TrustedCrls}', + f'IssuerCertificates:{self.IssuerCertificates}', + f'IssuerCrls:{self.IssuerCrls})' + )) __repr__ = __str__ class Argument(FrozenClass): - ''' + """ An argument for a method. :ivar Name: @@ -832,7 +836,7 @@ class Argument(FrozenClass): :vartype ArrayDimensions: UInt32 :ivar Description: :vartype Description: LocalizedText - ''' + """ ua_types = [ ('Name', 'String'), @@ -840,7 +844,7 @@ class Argument(FrozenClass): ('ValueRank', 'Int32'), ('ArrayDimensions', 'ListOfUInt32'), ('Description', 'LocalizedText'), - ] + ] def __init__(self): self.Name = None @@ -851,17 +855,19 @@ def __init__(self): self._freeze = True def __str__(self): - return 'Argument(' + 'Name:' + str(self.Name) + ', ' + \ - 'DataType:' + str(self.DataType) + ', ' + \ - 'ValueRank:' + str(self.ValueRank) + ', ' + \ - 'ArrayDimensions:' + str(self.ArrayDimensions) + ', ' + \ - 'Description:' + str(self.Description) + ')' + return ', '.join(( + f'Argument(Name:{self.Name}', + f'DataType:{self.DataType}', + f'ValueRank:{self.ValueRank}', + f'ArrayDimensions:{self.ArrayDimensions}', + f'Description:{self.Description})' + )) __repr__ = __str__ class EnumValueType(FrozenClass): - ''' + """ A mapping between a value of an enumerated type and a name and description. :ivar Value: @@ -870,13 +876,13 @@ class EnumValueType(FrozenClass): :vartype DisplayName: LocalizedText :ivar Description: :vartype Description: LocalizedText - ''' + """ ua_types = [ ('Value', 'Int64'), ('DisplayName', 'LocalizedText'), ('Description', 'LocalizedText'), - ] + ] def __init__(self): self.Value = 0 @@ -885,27 +891,29 @@ def __init__(self): self._freeze = True def __str__(self): - return 'EnumValueType(' + 'Value:' + str(self.Value) + ', ' + \ - 'DisplayName:' + str(self.DisplayName) + ', ' + \ - 'Description:' + str(self.Description) + ')' + return ', '.join(( + f'EnumValueType(Value:{self.Value}', + f'DisplayName:{self.DisplayName}', + f'Description:{self.Description})' + )) __repr__ = __str__ class OptionSet(FrozenClass): - ''' + """ This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask. :ivar Value: :vartype Value: ByteString :ivar ValidBits: :vartype ValidBits: ByteString - ''' + """ ua_types = [ ('Value', 'ByteString'), ('ValidBits', 'ByteString'), - ] + ] def __init__(self): self.Value = None @@ -913,42 +921,41 @@ def __init__(self): self._freeze = True def __str__(self): - return 'OptionSet(' + 'Value:' + str(self.Value) + ', ' + \ - 'ValidBits:' + str(self.ValidBits) + ')' + return f'OptionSet(Value:{self.Value}, ValidBits:{self.ValidBits})' __repr__ = __str__ class Union(FrozenClass): - ''' + """ This abstract DataType is the base DataType for all union DataTypes. - ''' + """ ua_types = [ - ] + ] def __init__(self): self._freeze = True def __str__(self): - return 'Union(' + + ')' + return 'Union()' __repr__ = __str__ class TimeZoneDataType(FrozenClass): - ''' + """ :ivar Offset: :vartype Offset: Int16 :ivar DaylightSavingInOffset: :vartype DaylightSavingInOffset: Boolean - ''' + """ ua_types = [ ('Offset', 'Int16'), ('DaylightSavingInOffset', 'Boolean'), - ] + ] def __init__(self): self.Offset = 0 @@ -956,14 +963,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'TimeZoneDataType(' + 'Offset:' + str(self.Offset) + ', ' + \ - 'DaylightSavingInOffset:' + str(self.DaylightSavingInOffset) + ')' + return f'TimeZoneDataType(Offset:{self.Offset}, DaylightSavingInOffset:{self.DaylightSavingInOffset})' __repr__ = __str__ class ApplicationDescription(FrozenClass): - ''' + """ Describes an application and how to find it. :ivar ApplicationUri: @@ -980,7 +986,7 @@ class ApplicationDescription(FrozenClass): :vartype DiscoveryProfileUri: String :ivar DiscoveryUrls: :vartype DiscoveryUrls: String - ''' + """ ua_types = [ ('ApplicationUri', 'String'), @@ -990,7 +996,7 @@ class ApplicationDescription(FrozenClass): ('GatewayServerUri', 'String'), ('DiscoveryProfileUri', 'String'), ('DiscoveryUrls', 'ListOfString'), - ] + ] def __init__(self): self.ApplicationUri = None @@ -1003,19 +1009,21 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ApplicationDescription(' + 'ApplicationUri:' + str(self.ApplicationUri) + ', ' + \ - 'ProductUri:' + str(self.ProductUri) + ', ' + \ - 'ApplicationName:' + str(self.ApplicationName) + ', ' + \ - 'ApplicationType:' + str(self.ApplicationType) + ', ' + \ - 'GatewayServerUri:' + str(self.GatewayServerUri) + ', ' + \ - 'DiscoveryProfileUri:' + str(self.DiscoveryProfileUri) + ', ' + \ - 'DiscoveryUrls:' + str(self.DiscoveryUrls) + ')' + return ', '.join(( + f'ApplicationDescription(ApplicationUri:{self.ApplicationUri}', + f'ProductUri:{self.ProductUri}', + f'ApplicationName:{self.ApplicationName}', + f'ApplicationType:{self.ApplicationType}', + f'GatewayServerUri:{self.GatewayServerUri}', + f'DiscoveryProfileUri:{self.DiscoveryProfileUri}', + f'DiscoveryUrls:{self.DiscoveryUrls})' + )) __repr__ = __str__ class RequestHeader(FrozenClass): - ''' + """ The header passed with every server request. :ivar AuthenticationToken: @@ -1032,7 +1040,7 @@ class RequestHeader(FrozenClass): :vartype TimeoutHint: UInt32 :ivar AdditionalHeader: :vartype AdditionalHeader: ExtensionObject - ''' + """ ua_types = [ ('AuthenticationToken', 'NodeId'), @@ -1042,7 +1050,7 @@ class RequestHeader(FrozenClass): ('AuditEntryId', 'String'), ('TimeoutHint', 'UInt32'), ('AdditionalHeader', 'ExtensionObject'), - ] + ] def __init__(self): self.AuthenticationToken = NodeId() @@ -1055,19 +1063,21 @@ def __init__(self): self._freeze = True def __str__(self): - return 'RequestHeader(' + 'AuthenticationToken:' + str(self.AuthenticationToken) + ', ' + \ - 'Timestamp:' + str(self.Timestamp) + ', ' + \ - 'RequestHandle:' + str(self.RequestHandle) + ', ' + \ - 'ReturnDiagnostics:' + str(self.ReturnDiagnostics) + ', ' + \ - 'AuditEntryId:' + str(self.AuditEntryId) + ', ' + \ - 'TimeoutHint:' + str(self.TimeoutHint) + ', ' + \ - 'AdditionalHeader:' + str(self.AdditionalHeader) + ')' + return ', '.join(( + f'RequestHeader(AuthenticationToken:{self.AuthenticationToken}', + f'Timestamp:{self.Timestamp}', + f'RequestHandle:{self.RequestHandle}', + f'ReturnDiagnostics:{self.ReturnDiagnostics}', + f'AuditEntryId:{self.AuditEntryId}', + f'TimeoutHint:{self.TimeoutHint}', + f'AdditionalHeader:{self.AdditionalHeader})' + )) __repr__ = __str__ class ResponseHeader(FrozenClass): - ''' + """ The header passed with every server response. :ivar Timestamp: @@ -1082,7 +1092,7 @@ class ResponseHeader(FrozenClass): :vartype StringTable: String :ivar AdditionalHeader: :vartype AdditionalHeader: ExtensionObject - ''' + """ ua_types = [ ('Timestamp', 'DateTime'), @@ -1091,7 +1101,7 @@ class ResponseHeader(FrozenClass): ('ServiceDiagnostics', 'DiagnosticInfo'), ('StringTable', 'ListOfString'), ('AdditionalHeader', 'ExtensionObject'), - ] + ] def __init__(self): self.Timestamp = datetime.utcnow() @@ -1103,30 +1113,32 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ResponseHeader(' + 'Timestamp:' + str(self.Timestamp) + ', ' + \ - 'RequestHandle:' + str(self.RequestHandle) + ', ' + \ - 'ServiceResult:' + str(self.ServiceResult) + ', ' + \ - 'ServiceDiagnostics:' + str(self.ServiceDiagnostics) + ', ' + \ - 'StringTable:' + str(self.StringTable) + ', ' + \ - 'AdditionalHeader:' + str(self.AdditionalHeader) + ')' + return ', '.join(( + f'ResponseHeader(Timestamp:{self.Timestamp}', + f'RequestHandle:{self.RequestHandle}', + f'ServiceResult:{self.ServiceResult}', + f'ServiceDiagnostics:{self.ServiceDiagnostics}', + f'StringTable:{self.StringTable}', + f'AdditionalHeader:{self.AdditionalHeader})' + )) __repr__ = __str__ class ServiceFault(FrozenClass): - ''' + """ The response returned by all services when there is a service level error. :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.ServiceFault_Encoding_DefaultBinary) @@ -1134,27 +1146,26 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ServiceFault(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ')' + return f'ServiceFault(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader})' __repr__ = __str__ class FindServersParameters(FrozenClass): - ''' + """ :ivar EndpointUrl: :vartype EndpointUrl: String :ivar LocaleIds: :vartype LocaleIds: String :ivar ServerUris: :vartype ServerUris: String - ''' + """ ua_types = [ ('EndpointUrl', 'String'), ('LocaleIds', 'ListOfString'), ('ServerUris', 'ListOfString'), - ] + ] def __init__(self): self.EndpointUrl = None @@ -1163,15 +1174,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'FindServersParameters(' + 'EndpointUrl:' + str(self.EndpointUrl) + ', ' + \ - 'LocaleIds:' + str(self.LocaleIds) + ', ' + \ - 'ServerUris:' + str(self.ServerUris) + ')' + return ', '.join(( + f'FindServersParameters(EndpointUrl:{self.EndpointUrl}', + f'LocaleIds:{self.LocaleIds}', + f'ServerUris:{self.ServerUris})' + )) __repr__ = __str__ class FindServersRequest(FrozenClass): - ''' + """ Finds the servers known to the discovery server. :ivar TypeId: @@ -1180,13 +1193,13 @@ class FindServersRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: FindServersParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'FindServersParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.FindServersRequest_Encoding_DefaultBinary) @@ -1195,15 +1208,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'FindServersRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'FindServersRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class FindServersResponse(FrozenClass): - ''' + """ Finds the servers known to the discovery server. :ivar TypeId: @@ -1212,13 +1227,13 @@ class FindServersResponse(FrozenClass): :vartype ResponseHeader: ResponseHeader :ivar Servers: :vartype Servers: ApplicationDescription - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Servers', 'ListOfApplicationDescription'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.FindServersResponse_Encoding_DefaultBinary) @@ -1227,15 +1242,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'FindServersResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Servers:' + str(self.Servers) + ')' + return ', '.join(( + f'FindServersResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Servers:{self.Servers})' + )) __repr__ = __str__ class ServerOnNetwork(FrozenClass): - ''' + """ :ivar RecordId: :vartype RecordId: UInt32 :ivar ServerName: @@ -1244,14 +1261,14 @@ class ServerOnNetwork(FrozenClass): :vartype DiscoveryUrl: String :ivar ServerCapabilities: :vartype ServerCapabilities: String - ''' + """ ua_types = [ ('RecordId', 'UInt32'), ('ServerName', 'String'), ('DiscoveryUrl', 'String'), ('ServerCapabilities', 'ListOfString'), - ] + ] def __init__(self): self.RecordId = 0 @@ -1261,29 +1278,31 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ServerOnNetwork(' + 'RecordId:' + str(self.RecordId) + ', ' + \ - 'ServerName:' + str(self.ServerName) + ', ' + \ - 'DiscoveryUrl:' + str(self.DiscoveryUrl) + ', ' + \ - 'ServerCapabilities:' + str(self.ServerCapabilities) + ')' + return ', '.join(( + f'ServerOnNetwork(RecordId:{self.RecordId}', + f'ServerName:{self.ServerName}', + f'DiscoveryUrl:{self.DiscoveryUrl}', + f'ServerCapabilities:{self.ServerCapabilities})' + )) __repr__ = __str__ class FindServersOnNetworkParameters(FrozenClass): - ''' + """ :ivar StartingRecordId: :vartype StartingRecordId: UInt32 :ivar MaxRecordsToReturn: :vartype MaxRecordsToReturn: UInt32 :ivar ServerCapabilityFilter: :vartype ServerCapabilityFilter: String - ''' + """ ua_types = [ ('StartingRecordId', 'UInt32'), ('MaxRecordsToReturn', 'UInt32'), ('ServerCapabilityFilter', 'ListOfString'), - ] + ] def __init__(self): self.StartingRecordId = 0 @@ -1292,28 +1311,30 @@ def __init__(self): self._freeze = True def __str__(self): - return 'FindServersOnNetworkParameters(' + 'StartingRecordId:' + str(self.StartingRecordId) + ', ' + \ - 'MaxRecordsToReturn:' + str(self.MaxRecordsToReturn) + ', ' + \ - 'ServerCapabilityFilter:' + str(self.ServerCapabilityFilter) + ')' + return ', '.join(( + f'FindServersOnNetworkParameters(StartingRecordId:{self.StartingRecordId}', + f'MaxRecordsToReturn:{self.MaxRecordsToReturn}', + f'ServerCapabilityFilter:{self.ServerCapabilityFilter})' + )) __repr__ = __str__ class FindServersOnNetworkRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: FindServersOnNetworkParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'FindServersOnNetworkParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.FindServersOnNetworkRequest_Encoding_DefaultBinary) @@ -1322,25 +1343,27 @@ def __init__(self): self._freeze = True def __str__(self): - return 'FindServersOnNetworkRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'FindServersOnNetworkRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class FindServersOnNetworkResult(FrozenClass): - ''' + """ :ivar LastCounterResetTime: :vartype LastCounterResetTime: DateTime :ivar Servers: :vartype Servers: ServerOnNetwork - ''' + """ ua_types = [ ('LastCounterResetTime', 'DateTime'), ('Servers', 'ListOfServerOnNetwork'), - ] + ] def __init__(self): self.LastCounterResetTime = datetime.utcnow() @@ -1348,27 +1371,26 @@ def __init__(self): self._freeze = True def __str__(self): - return 'FindServersOnNetworkResult(' + 'LastCounterResetTime:' + str(self.LastCounterResetTime) + ', ' + \ - 'Servers:' + str(self.Servers) + ')' + return f'FindServersOnNetworkResult(LastCounterResetTime:{self.LastCounterResetTime}, Servers:{self.Servers})' __repr__ = __str__ class FindServersOnNetworkResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: FindServersOnNetworkResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'FindServersOnNetworkResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.FindServersOnNetworkResponse_Encoding_DefaultBinary) @@ -1377,15 +1399,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'FindServersOnNetworkResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'FindServersOnNetworkResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class UserTokenPolicy(FrozenClass): - ''' + """ Describes a user token that can be used with a server. :ivar PolicyId: @@ -1398,7 +1422,7 @@ class UserTokenPolicy(FrozenClass): :vartype IssuerEndpointUrl: String :ivar SecurityPolicyUri: :vartype SecurityPolicyUri: String - ''' + """ ua_types = [ ('PolicyId', 'String'), @@ -1406,7 +1430,7 @@ class UserTokenPolicy(FrozenClass): ('IssuedTokenType', 'String'), ('IssuerEndpointUrl', 'String'), ('SecurityPolicyUri', 'String'), - ] + ] def __init__(self): self.PolicyId = None @@ -1417,17 +1441,19 @@ def __init__(self): self._freeze = True def __str__(self): - return 'UserTokenPolicy(' + 'PolicyId:' + str(self.PolicyId) + ', ' + \ - 'TokenType:' + str(self.TokenType) + ', ' + \ - 'IssuedTokenType:' + str(self.IssuedTokenType) + ', ' + \ - 'IssuerEndpointUrl:' + str(self.IssuerEndpointUrl) + ', ' + \ - 'SecurityPolicyUri:' + str(self.SecurityPolicyUri) + ')' + return ', '.join(( + f'UserTokenPolicy(PolicyId:{self.PolicyId}', + f'TokenType:{self.TokenType}', + f'IssuedTokenType:{self.IssuedTokenType}', + f'IssuerEndpointUrl:{self.IssuerEndpointUrl}', + f'SecurityPolicyUri:{self.SecurityPolicyUri})' + )) __repr__ = __str__ class EndpointDescription(FrozenClass): - ''' + """ The description of a endpoint that can be used to access a server. :ivar EndpointUrl: @@ -1446,7 +1472,7 @@ class EndpointDescription(FrozenClass): :vartype TransportProfileUri: String :ivar SecurityLevel: :vartype SecurityLevel: Byte - ''' + """ ua_types = [ ('EndpointUrl', 'String'), @@ -1457,7 +1483,7 @@ class EndpointDescription(FrozenClass): ('UserIdentityTokens', 'ListOfUserTokenPolicy'), ('TransportProfileUri', 'String'), ('SecurityLevel', 'Byte'), - ] + ] def __init__(self): self.EndpointUrl = None @@ -1471,33 +1497,35 @@ def __init__(self): self._freeze = True def __str__(self): - return 'EndpointDescription(' + 'EndpointUrl:' + str(self.EndpointUrl) + ', ' + \ - 'Server:' + str(self.Server) + ', ' + \ - 'ServerCertificate:' + str(self.ServerCertificate) + ', ' + \ - 'SecurityMode:' + str(self.SecurityMode) + ', ' + \ - 'SecurityPolicyUri:' + str(self.SecurityPolicyUri) + ', ' + \ - 'UserIdentityTokens:' + str(self.UserIdentityTokens) + ', ' + \ - 'TransportProfileUri:' + str(self.TransportProfileUri) + ', ' + \ - 'SecurityLevel:' + str(self.SecurityLevel) + ')' + return ', '.join(( + f'EndpointDescription(EndpointUrl:{self.EndpointUrl}', + f'Server:{self.Server}', + f'ServerCertificate:{self.ServerCertificate}', + f'SecurityMode:{self.SecurityMode}', + f'SecurityPolicyUri:{self.SecurityPolicyUri}', + f'UserIdentityTokens:{self.UserIdentityTokens}', + f'TransportProfileUri:{self.TransportProfileUri}', + f'SecurityLevel:{self.SecurityLevel})' + )) __repr__ = __str__ class GetEndpointsParameters(FrozenClass): - ''' + """ :ivar EndpointUrl: :vartype EndpointUrl: String :ivar LocaleIds: :vartype LocaleIds: String :ivar ProfileUris: :vartype ProfileUris: String - ''' + """ ua_types = [ ('EndpointUrl', 'String'), ('LocaleIds', 'ListOfString'), ('ProfileUris', 'ListOfString'), - ] + ] def __init__(self): self.EndpointUrl = None @@ -1506,15 +1534,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'GetEndpointsParameters(' + 'EndpointUrl:' + str(self.EndpointUrl) + ', ' + \ - 'LocaleIds:' + str(self.LocaleIds) + ', ' + \ - 'ProfileUris:' + str(self.ProfileUris) + ')' + return ', '.join(( + f'GetEndpointsParameters(EndpointUrl:{self.EndpointUrl}', + f'LocaleIds:{self.LocaleIds}', + f'ProfileUris:{self.ProfileUris})' + )) __repr__ = __str__ class GetEndpointsRequest(FrozenClass): - ''' + """ Gets the endpoints used by the server. :ivar TypeId: @@ -1523,13 +1553,13 @@ class GetEndpointsRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: GetEndpointsParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'GetEndpointsParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.GetEndpointsRequest_Encoding_DefaultBinary) @@ -1538,15 +1568,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'GetEndpointsRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'GetEndpointsRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class GetEndpointsResponse(FrozenClass): - ''' + """ Gets the endpoints used by the server. :ivar TypeId: @@ -1555,13 +1587,13 @@ class GetEndpointsResponse(FrozenClass): :vartype ResponseHeader: ResponseHeader :ivar Endpoints: :vartype Endpoints: EndpointDescription - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Endpoints', 'ListOfEndpointDescription'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.GetEndpointsResponse_Encoding_DefaultBinary) @@ -1570,15 +1602,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'GetEndpointsResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Endpoints:' + str(self.Endpoints) + ')' + return ', '.join(( + f'GetEndpointsResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Endpoints:{self.Endpoints})' + )) __repr__ = __str__ class RegisteredServer(FrozenClass): - ''' + """ The information required to register a server with a discovery server. :ivar ServerUri: @@ -1597,7 +1631,7 @@ class RegisteredServer(FrozenClass): :vartype SemaphoreFilePath: String :ivar IsOnline: :vartype IsOnline: Boolean - ''' + """ ua_types = [ ('ServerUri', 'String'), @@ -1608,7 +1642,7 @@ class RegisteredServer(FrozenClass): ('DiscoveryUrls', 'ListOfString'), ('SemaphoreFilePath', 'String'), ('IsOnline', 'Boolean'), - ] + ] def __init__(self): self.ServerUri = None @@ -1622,20 +1656,22 @@ def __init__(self): self._freeze = True def __str__(self): - return 'RegisteredServer(' + 'ServerUri:' + str(self.ServerUri) + ', ' + \ - 'ProductUri:' + str(self.ProductUri) + ', ' + \ - 'ServerNames:' + str(self.ServerNames) + ', ' + \ - 'ServerType:' + str(self.ServerType) + ', ' + \ - 'GatewayServerUri:' + str(self.GatewayServerUri) + ', ' + \ - 'DiscoveryUrls:' + str(self.DiscoveryUrls) + ', ' + \ - 'SemaphoreFilePath:' + str(self.SemaphoreFilePath) + ', ' + \ - 'IsOnline:' + str(self.IsOnline) + ')' + return ', '.join(( + f'RegisteredServer(ServerUri:{self.ServerUri}', + f'ProductUri:{self.ProductUri}', + f'ServerNames:{self.ServerNames}', + f'ServerType:{self.ServerType}', + f'GatewayServerUri:{self.GatewayServerUri}', + f'DiscoveryUrls:{self.DiscoveryUrls}', + f'SemaphoreFilePath:{self.SemaphoreFilePath}', + f'IsOnline:{self.IsOnline})' + )) __repr__ = __str__ class RegisterServerRequest(FrozenClass): - ''' + """ Registers a server with the discovery server. :ivar TypeId: @@ -1644,13 +1680,13 @@ class RegisterServerRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Server: :vartype Server: RegisteredServer - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Server', 'RegisteredServer'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.RegisterServerRequest_Encoding_DefaultBinary) @@ -1659,27 +1695,29 @@ def __init__(self): self._freeze = True def __str__(self): - return 'RegisterServerRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Server:' + str(self.Server) + ')' + return ', '.join(( + f'RegisterServerRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Server:{self.Server})' + )) __repr__ = __str__ class RegisterServerResponse(FrozenClass): - ''' + """ Registers a server with the discovery server. :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.RegisterServerResponse_Encoding_DefaultBinary) @@ -1687,44 +1725,43 @@ def __init__(self): self._freeze = True def __str__(self): - return 'RegisterServerResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ')' + return f'RegisterServerResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader})' __repr__ = __str__ class DiscoveryConfiguration(FrozenClass): - ''' + """ A base type for discovery configuration information. - ''' + """ ua_types = [ - ] + ] def __init__(self): self._freeze = True def __str__(self): - return 'DiscoveryConfiguration(' + + ')' + return 'DiscoveryConfiguration()' __repr__ = __str__ class MdnsDiscoveryConfiguration(FrozenClass): - ''' + """ The discovery information needed for mDNS registration. :ivar MdnsServerName: :vartype MdnsServerName: String :ivar ServerCapabilities: :vartype ServerCapabilities: String - ''' + """ ua_types = [ ('MdnsServerName', 'String'), ('ServerCapabilities', 'ListOfString'), - ] + ] def __init__(self): self.MdnsServerName = None @@ -1732,24 +1769,26 @@ def __init__(self): self._freeze = True def __str__(self): - return 'MdnsDiscoveryConfiguration(' + 'MdnsServerName:' + str(self.MdnsServerName) + ', ' + \ - 'ServerCapabilities:' + str(self.ServerCapabilities) + ')' + return ', '.join(( + f'MdnsDiscoveryConfiguration(MdnsServerName:{self.MdnsServerName}', + f'ServerCapabilities:{self.ServerCapabilities})' + )) __repr__ = __str__ class RegisterServer2Parameters(FrozenClass): - ''' + """ :ivar Server: :vartype Server: RegisteredServer :ivar DiscoveryConfiguration: :vartype DiscoveryConfiguration: ExtensionObject - ''' + """ ua_types = [ ('Server', 'RegisteredServer'), ('DiscoveryConfiguration', 'ListOfExtensionObject'), - ] + ] def __init__(self): self.Server = RegisteredServer() @@ -1757,27 +1796,26 @@ def __init__(self): self._freeze = True def __str__(self): - return 'RegisterServer2Parameters(' + 'Server:' + str(self.Server) + ', ' + \ - 'DiscoveryConfiguration:' + str(self.DiscoveryConfiguration) + ')' + return f'RegisterServer2Parameters(Server:{self.Server}, DiscoveryConfiguration:{self.DiscoveryConfiguration})' __repr__ = __str__ class RegisterServer2Request(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: RegisterServer2Parameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'RegisterServer2Parameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.RegisterServer2Request_Encoding_DefaultBinary) @@ -1786,15 +1824,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'RegisterServer2Request(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'RegisterServer2Request(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class RegisterServer2Response(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: @@ -1803,14 +1843,14 @@ class RegisterServer2Response(FrozenClass): :vartype ConfigurationResults: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('ConfigurationResults', 'ListOfStatusCode'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.RegisterServer2Response_Encoding_DefaultBinary) @@ -1820,16 +1860,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'RegisterServer2Response(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'ConfigurationResults:' + str(self.ConfigurationResults) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return ', '.join(( + f'RegisterServer2Response(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'ConfigurationResults:{self.ConfigurationResults}', + f'DiagnosticInfos:{self.DiagnosticInfos})' + )) __repr__ = __str__ class ChannelSecurityToken(FrozenClass): - ''' + """ The token that identifies a set of keys for an active secure channel. :ivar ChannelId: @@ -1840,14 +1882,14 @@ class ChannelSecurityToken(FrozenClass): :vartype CreatedAt: DateTime :ivar RevisedLifetime: :vartype RevisedLifetime: UInt32 - ''' + """ ua_types = [ ('ChannelId', 'UInt32'), ('TokenId', 'UInt32'), ('CreatedAt', 'DateTime'), ('RevisedLifetime', 'UInt32'), - ] + ] def __init__(self): self.ChannelId = 0 @@ -1857,16 +1899,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ChannelSecurityToken(' + 'ChannelId:' + str(self.ChannelId) + ', ' + \ - 'TokenId:' + str(self.TokenId) + ', ' + \ - 'CreatedAt:' + str(self.CreatedAt) + ', ' + \ - 'RevisedLifetime:' + str(self.RevisedLifetime) + ')' + return ', '.join(( + f'ChannelSecurityToken(ChannelId:{self.ChannelId}', + f'TokenId:{self.TokenId}', + f'CreatedAt:{self.CreatedAt}', + f'RevisedLifetime:{self.RevisedLifetime})' + )) __repr__ = __str__ class OpenSecureChannelParameters(FrozenClass): - ''' + """ :ivar ClientProtocolVersion: :vartype ClientProtocolVersion: UInt32 :ivar RequestType: @@ -1877,7 +1921,7 @@ class OpenSecureChannelParameters(FrozenClass): :vartype ClientNonce: ByteString :ivar RequestedLifetime: :vartype RequestedLifetime: UInt32 - ''' + """ ua_types = [ ('ClientProtocolVersion', 'UInt32'), @@ -1885,7 +1929,7 @@ class OpenSecureChannelParameters(FrozenClass): ('SecurityMode', 'MessageSecurityMode'), ('ClientNonce', 'ByteString'), ('RequestedLifetime', 'UInt32'), - ] + ] def __init__(self): self.ClientProtocolVersion = 0 @@ -1896,17 +1940,19 @@ def __init__(self): self._freeze = True def __str__(self): - return 'OpenSecureChannelParameters(' + 'ClientProtocolVersion:' + str(self.ClientProtocolVersion) + ', ' + \ - 'RequestType:' + str(self.RequestType) + ', ' + \ - 'SecurityMode:' + str(self.SecurityMode) + ', ' + \ - 'ClientNonce:' + str(self.ClientNonce) + ', ' + \ - 'RequestedLifetime:' + str(self.RequestedLifetime) + ')' + return ', '.join(( + f'OpenSecureChannelParameters(ClientProtocolVersion:{self.ClientProtocolVersion}', + f'RequestType:{self.RequestType}', + f'SecurityMode:{self.SecurityMode}', + f'ClientNonce:{self.ClientNonce}', + f'RequestedLifetime:{self.RequestedLifetime})' + )) __repr__ = __str__ class OpenSecureChannelRequest(FrozenClass): - ''' + """ Creates a secure channel with a server. :ivar TypeId: @@ -1915,13 +1961,13 @@ class OpenSecureChannelRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: OpenSecureChannelParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'OpenSecureChannelParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.OpenSecureChannelRequest_Encoding_DefaultBinary) @@ -1930,28 +1976,30 @@ def __init__(self): self._freeze = True def __str__(self): - return 'OpenSecureChannelRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'OpenSecureChannelRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class OpenSecureChannelResult(FrozenClass): - ''' + """ :ivar ServerProtocolVersion: :vartype ServerProtocolVersion: UInt32 :ivar SecurityToken: :vartype SecurityToken: ChannelSecurityToken :ivar ServerNonce: :vartype ServerNonce: ByteString - ''' + """ ua_types = [ ('ServerProtocolVersion', 'UInt32'), ('SecurityToken', 'ChannelSecurityToken'), ('ServerNonce', 'ByteString'), - ] + ] def __init__(self): self.ServerProtocolVersion = 0 @@ -1960,15 +2008,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'OpenSecureChannelResult(' + 'ServerProtocolVersion:' + str(self.ServerProtocolVersion) + ', ' + \ - 'SecurityToken:' + str(self.SecurityToken) + ', ' + \ - 'ServerNonce:' + str(self.ServerNonce) + ')' + return ', '.join(( + f'OpenSecureChannelResult(ServerProtocolVersion:{self.ServerProtocolVersion}', + f'SecurityToken:{self.SecurityToken}', + f'ServerNonce:{self.ServerNonce})' + )) __repr__ = __str__ class OpenSecureChannelResponse(FrozenClass): - ''' + """ Creates a secure channel with a server. :ivar TypeId: @@ -1977,13 +2027,13 @@ class OpenSecureChannelResponse(FrozenClass): :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: OpenSecureChannelResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'OpenSecureChannelResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.OpenSecureChannelResponse_Encoding_DefaultBinary) @@ -1992,27 +2042,29 @@ def __init__(self): self._freeze = True def __str__(self): - return 'OpenSecureChannelResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'OpenSecureChannelResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class CloseSecureChannelRequest(FrozenClass): - ''' + """ Closes a secure channel. :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CloseSecureChannelRequest_Encoding_DefaultBinary) @@ -2020,26 +2072,25 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CloseSecureChannelRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ')' + return f'CloseSecureChannelRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader})' __repr__ = __str__ class CloseSecureChannelResponse(FrozenClass): - ''' + """ Closes a secure channel. :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CloseSecureChannelResponse_Encoding_DefaultBinary) @@ -2047,26 +2098,25 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CloseSecureChannelResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ')' + return f'CloseSecureChannelResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader})' __repr__ = __str__ class SignedSoftwareCertificate(FrozenClass): - ''' + """ A software certificate with a digital signature. :ivar CertificateData: :vartype CertificateData: ByteString :ivar Signature: :vartype Signature: ByteString - ''' + """ ua_types = [ ('CertificateData', 'ByteString'), ('Signature', 'ByteString'), - ] + ] def __init__(self): self.CertificateData = None @@ -2074,26 +2124,25 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SignedSoftwareCertificate(' + 'CertificateData:' + str(self.CertificateData) + ', ' + \ - 'Signature:' + str(self.Signature) + ')' + return f'SignedSoftwareCertificate(CertificateData:{self.CertificateData}, Signature:{self.Signature})' __repr__ = __str__ class SignatureData(FrozenClass): - ''' + """ A digital signature. :ivar Algorithm: :vartype Algorithm: String :ivar Signature: :vartype Signature: ByteString - ''' + """ ua_types = [ ('Algorithm', 'String'), ('Signature', 'ByteString'), - ] + ] def __init__(self): self.Algorithm = None @@ -2101,14 +2150,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SignatureData(' + 'Algorithm:' + str(self.Algorithm) + ', ' + \ - 'Signature:' + str(self.Signature) + ')' + return f'SignatureData(Algorithm:{self.Algorithm}, Signature:{self.Signature})' __repr__ = __str__ class CreateSessionParameters(FrozenClass): - ''' + """ :ivar ClientDescription: :vartype ClientDescription: ApplicationDescription :ivar ServerUri: @@ -2125,7 +2173,7 @@ class CreateSessionParameters(FrozenClass): :vartype RequestedSessionTimeout: Double :ivar MaxResponseMessageSize: :vartype MaxResponseMessageSize: UInt32 - ''' + """ ua_types = [ ('ClientDescription', 'ApplicationDescription'), @@ -2136,7 +2184,7 @@ class CreateSessionParameters(FrozenClass): ('ClientCertificate', 'ByteString'), ('RequestedSessionTimeout', 'Double'), ('MaxResponseMessageSize', 'UInt32'), - ] + ] def __init__(self): self.ClientDescription = ApplicationDescription() @@ -2150,20 +2198,22 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CreateSessionParameters(' + 'ClientDescription:' + str(self.ClientDescription) + ', ' + \ - 'ServerUri:' + str(self.ServerUri) + ', ' + \ - 'EndpointUrl:' + str(self.EndpointUrl) + ', ' + \ - 'SessionName:' + str(self.SessionName) + ', ' + \ - 'ClientNonce:' + str(self.ClientNonce) + ', ' + \ - 'ClientCertificate:' + str(self.ClientCertificate) + ', ' + \ - 'RequestedSessionTimeout:' + str(self.RequestedSessionTimeout) + ', ' + \ - 'MaxResponseMessageSize:' + str(self.MaxResponseMessageSize) + ')' + return ', '.join(( + f'CreateSessionParameters(ClientDescription:{self.ClientDescription}', + f'ServerUri:{self.ServerUri}', + f'EndpointUrl:{self.EndpointUrl}', + f'SessionName:{self.SessionName}', + f'ClientNonce:{self.ClientNonce}', + f'ClientCertificate:{self.ClientCertificate}', + f'RequestedSessionTimeout:{self.RequestedSessionTimeout}', + f'MaxResponseMessageSize:{self.MaxResponseMessageSize})' + )) __repr__ = __str__ class CreateSessionRequest(FrozenClass): - ''' + """ Creates a new session with the server. :ivar TypeId: @@ -2172,13 +2222,13 @@ class CreateSessionRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: CreateSessionParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'CreateSessionParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CreateSessionRequest_Encoding_DefaultBinary) @@ -2187,15 +2237,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CreateSessionRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'CreateSessionRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class CreateSessionResult(FrozenClass): - ''' + """ :ivar SessionId: :vartype SessionId: NodeId :ivar AuthenticationToken: @@ -2214,7 +2266,7 @@ class CreateSessionResult(FrozenClass): :vartype ServerSignature: SignatureData :ivar MaxRequestMessageSize: :vartype MaxRequestMessageSize: UInt32 - ''' + """ ua_types = [ ('SessionId', 'NodeId'), @@ -2226,7 +2278,7 @@ class CreateSessionResult(FrozenClass): ('ServerSoftwareCertificates', 'ListOfSignedSoftwareCertificate'), ('ServerSignature', 'SignatureData'), ('MaxRequestMessageSize', 'UInt32'), - ] + ] def __init__(self): self.SessionId = NodeId() @@ -2241,21 +2293,23 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CreateSessionResult(' + 'SessionId:' + str(self.SessionId) + ', ' + \ - 'AuthenticationToken:' + str(self.AuthenticationToken) + ', ' + \ - 'RevisedSessionTimeout:' + str(self.RevisedSessionTimeout) + ', ' + \ - 'ServerNonce:' + str(self.ServerNonce) + ', ' + \ - 'ServerCertificate:' + str(self.ServerCertificate) + ', ' + \ - 'ServerEndpoints:' + str(self.ServerEndpoints) + ', ' + \ - 'ServerSoftwareCertificates:' + str(self.ServerSoftwareCertificates) + ', ' + \ - 'ServerSignature:' + str(self.ServerSignature) + ', ' + \ - 'MaxRequestMessageSize:' + str(self.MaxRequestMessageSize) + ')' + return ', '.join(( + f'CreateSessionResult(SessionId:{self.SessionId}', + f'AuthenticationToken:{self.AuthenticationToken}', + f'RevisedSessionTimeout:{self.RevisedSessionTimeout}', + f'ServerNonce:{self.ServerNonce}', + f'ServerCertificate:{self.ServerCertificate}', + f'ServerEndpoints:{self.ServerEndpoints}', + f'ServerSoftwareCertificates:{self.ServerSoftwareCertificates}', + f'ServerSignature:{self.ServerSignature}', + f'MaxRequestMessageSize:{self.MaxRequestMessageSize})' + )) __repr__ = __str__ class CreateSessionResponse(FrozenClass): - ''' + """ Creates a new session with the server. :ivar TypeId: @@ -2264,13 +2318,13 @@ class CreateSessionResponse(FrozenClass): :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: CreateSessionResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'CreateSessionResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CreateSessionResponse_Encoding_DefaultBinary) @@ -2279,59 +2333,61 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CreateSessionResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'CreateSessionResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class UserIdentityToken(FrozenClass): - ''' + """ A base type for a user identity token. :ivar PolicyId: :vartype PolicyId: String - ''' + """ ua_types = [ ('PolicyId', 'String'), - ] + ] def __init__(self): self.PolicyId = None self._freeze = True def __str__(self): - return 'UserIdentityToken(' + 'PolicyId:' + str(self.PolicyId) + ')' + return f'UserIdentityToken(PolicyId:{self.PolicyId})' __repr__ = __str__ class AnonymousIdentityToken(FrozenClass): - ''' + """ A token representing an anonymous user. :ivar PolicyId: :vartype PolicyId: String - ''' + """ ua_types = [ ('PolicyId', 'String'), - ] + ] def __init__(self): self.PolicyId = None self._freeze = True def __str__(self): - return 'AnonymousIdentityToken(' + 'PolicyId:' + str(self.PolicyId) + ')' + return f'AnonymousIdentityToken(PolicyId:{self.PolicyId})', __repr__ = __str__ class UserNameIdentityToken(FrozenClass): - ''' + """ A token representing a user identified by a user name and password. :ivar PolicyId: @@ -2342,14 +2398,14 @@ class UserNameIdentityToken(FrozenClass): :vartype Password: ByteString :ivar EncryptionAlgorithm: :vartype EncryptionAlgorithm: String - ''' + """ ua_types = [ ('PolicyId', 'String'), ('UserName', 'String'), ('Password', 'ByteString'), ('EncryptionAlgorithm', 'String'), - ] + ] def __init__(self): self.PolicyId = None @@ -2359,28 +2415,30 @@ def __init__(self): self._freeze = True def __str__(self): - return f'UserNameIdentityToken(PolicyId:{self.PolicyId}, ' + \ - f'UserName:{self.UserName}, ' + \ - f'Password:{self.Password}, ' + \ - f'EncryptionAlgorithm:{self.EncryptionAlgorithm})' + return ', '.join(( + f'UserNameIdentityToken(PolicyId:{self.PolicyId}', + f'UserName:{self.UserName}', + f'Password:{self.Password}', + f'EncryptionAlgorithm:{self.EncryptionAlgorithm})' + )) __repr__ = __str__ class X509IdentityToken(FrozenClass): - ''' + """ A token representing a user identified by an X509 certificate. :ivar PolicyId: :vartype PolicyId: String :ivar CertificateData: :vartype CertificateData: ByteString - ''' + """ ua_types = [ ('PolicyId', 'String'), ('CertificateData', 'ByteString'), - ] + ] def __init__(self): self.PolicyId = None @@ -2388,24 +2446,23 @@ def __init__(self): self._freeze = True def __str__(self): - return 'X509IdentityToken(' + 'PolicyId:' + str(self.PolicyId) + ', ' + \ - 'CertificateData:' + str(self.CertificateData) + ')' + return f'X509IdentityToken(PolicyId:{self.PolicyId}, CertificateData:{self.CertificateData})' __repr__ = __str__ class KerberosIdentityToken(FrozenClass): - ''' + """ :ivar PolicyId: :vartype PolicyId: String :ivar TicketData: :vartype TicketData: ByteString - ''' + """ ua_types = [ ('PolicyId', 'String'), ('TicketData', 'ByteString'), - ] + ] def __init__(self): self.PolicyId = None @@ -2413,14 +2470,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'KerberosIdentityToken(' + 'PolicyId:' + str(self.PolicyId) + ', ' + \ - 'TicketData:' + str(self.TicketData) + ')' + return f'KerberosIdentityToken(PolicyId:{self.PolicyId}, TicketData:{self.TicketData})' __repr__ = __str__ class IssuedIdentityToken(FrozenClass): - ''' + """ A token representing a user identified by a WS-Security XML token. :ivar PolicyId: @@ -2429,13 +2485,13 @@ class IssuedIdentityToken(FrozenClass): :vartype TokenData: ByteString :ivar EncryptionAlgorithm: :vartype EncryptionAlgorithm: String - ''' + """ ua_types = [ ('PolicyId', 'String'), ('TokenData', 'ByteString'), ('EncryptionAlgorithm', 'String'), - ] + ] def __init__(self): self.PolicyId = None @@ -2444,15 +2500,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'IssuedIdentityToken(' + 'PolicyId:' + str(self.PolicyId) + ', ' + \ - 'TokenData:' + str(self.TokenData) + ', ' + \ - 'EncryptionAlgorithm:' + str(self.EncryptionAlgorithm) + ')' + return ', '.join(( + f'IssuedIdentityToken(PolicyId:{self.PolicyId}', + f'TokenData:{self.TokenData}', + f'EncryptionAlgorithm:{self.EncryptionAlgorithm})' + )) __repr__ = __str__ class ActivateSessionParameters(FrozenClass): - ''' + """ :ivar ClientSignature: :vartype ClientSignature: SignatureData :ivar ClientSoftwareCertificates: @@ -2463,7 +2521,7 @@ class ActivateSessionParameters(FrozenClass): :vartype UserIdentityToken: ExtensionObject :ivar UserTokenSignature: :vartype UserTokenSignature: SignatureData - ''' + """ ua_types = [ ('ClientSignature', 'SignatureData'), @@ -2471,7 +2529,7 @@ class ActivateSessionParameters(FrozenClass): ('LocaleIds', 'ListOfString'), ('UserIdentityToken', 'ExtensionObject'), ('UserTokenSignature', 'SignatureData'), - ] + ] def __init__(self): self.ClientSignature = SignatureData() @@ -2482,17 +2540,19 @@ def __init__(self): self._freeze = True def __str__(self): - return f'ActivateSessionParameters(ClientSignature:{self.ClientSignature}, ' + \ - f'ClientSoftwareCertificates:{self.ClientSoftwareCertificates}, ' + \ - f'LocaleIds:{self.LocaleIds}, ' + \ - f'UserIdentityToken:{self.UserIdentityToken}, ' + \ - f'UserTokenSignature:{self.UserTokenSignature})' + return ', '.join(( + f'ActivateSessionParameters(ClientSignature:{self.ClientSignature}', + f'ClientSoftwareCertificates:{self.ClientSoftwareCertificates}', + f'LocaleIds:{self.LocaleIds}', + f'UserIdentityToken:{self.UserIdentityToken}', + f'UserTokenSignature:{self.UserTokenSignature})' + )) __repr__ = __str__ class ActivateSessionRequest(FrozenClass): - ''' + """ Activates a session with the server. :ivar TypeId: @@ -2501,13 +2561,13 @@ class ActivateSessionRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: ActivateSessionParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'ActivateSessionParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.ActivateSessionRequest_Encoding_DefaultBinary) @@ -2516,28 +2576,30 @@ def __init__(self): self._freeze = True def __str__(self): - return f'ActivateSessionRequest(TypeId:{self.TypeId}, ' + \ - f'RequestHeader:{self.RequestHeader}, ' + \ - f'Parameters:{self.Parameters})' + return ', '.join(( + f'ActivateSessionRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class ActivateSessionResult(FrozenClass): - ''' + """ :ivar ServerNonce: :vartype ServerNonce: ByteString :ivar Results: :vartype Results: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('ServerNonce', 'ByteString'), ('Results', 'ListOfStatusCode'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.ServerNonce = None @@ -2546,15 +2608,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ActivateSessionResult(ServerNonce:' + str(self.ServerNonce) + ', ' + \ - 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return ', '.join(( + f'ActivateSessionResult(ServerNonce:{self.ServerNonce}', + f'Results:{self.Results}', + f'DiagnosticInfos:{self.DiagnosticInfos})' + )) __repr__ = __str__ class ActivateSessionResponse(FrozenClass): - ''' + """ Activates a session with the server. :ivar TypeId: @@ -2563,13 +2627,13 @@ class ActivateSessionResponse(FrozenClass): :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: ActivateSessionResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'ActivateSessionResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.ActivateSessionResponse_Encoding_DefaultBinary) @@ -2578,15 +2642,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ActivateSessionResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'ActivateSessionResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class CloseSessionRequest(FrozenClass): - ''' + """ Closes a session with the server. :ivar TypeId: @@ -2595,13 +2661,13 @@ class CloseSessionRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar DeleteSubscriptions: :vartype DeleteSubscriptions: Boolean - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('DeleteSubscriptions', 'Boolean'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CloseSessionRequest_Encoding_DefaultBinary) @@ -2610,27 +2676,29 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CloseSessionRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'DeleteSubscriptions:' + str(self.DeleteSubscriptions) + ')' + return ', '.join(( + f'CloseSessionRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'DeleteSubscriptions:{self.DeleteSubscriptions})' + )) __repr__ = __str__ class CloseSessionResponse(FrozenClass): - ''' + """ Closes a session with the server. :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CloseSessionResponse_Encoding_DefaultBinary) @@ -2638,34 +2706,33 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CloseSessionResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ')' + return f'CloseSessionResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader})' __repr__ = __str__ class CancelParameters(FrozenClass): - ''' + """ :ivar RequestHandle: :vartype RequestHandle: UInt32 - ''' + """ ua_types = [ ('RequestHandle', 'UInt32'), - ] + ] def __init__(self): self.RequestHandle = 0 self._freeze = True def __str__(self): - return 'CancelParameters(' + 'RequestHandle:' + str(self.RequestHandle) + ')' + return f'CancelParameters(RequestHandle:{self.RequestHandle})' __repr__ = __str__ class CancelRequest(FrozenClass): - ''' + """ Cancels an outstanding request. :ivar TypeId: @@ -2674,13 +2741,13 @@ class CancelRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: CancelParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'CancelParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CancelRequest_Encoding_DefaultBinary) @@ -2689,35 +2756,37 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CancelRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'CancelRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class CancelResult(FrozenClass): - ''' + """ :ivar CancelCount: :vartype CancelCount: UInt32 - ''' + """ ua_types = [ ('CancelCount', 'UInt32'), - ] + ] def __init__(self): self.CancelCount = 0 self._freeze = True def __str__(self): - return 'CancelResult(' + 'CancelCount:' + str(self.CancelCount) + ')' + return f'CancelResult(CancelCount:{self.CancelCount})' __repr__ = __str__ class CancelResponse(FrozenClass): - ''' + """ Cancels an outstanding request. :ivar TypeId: @@ -2726,13 +2795,13 @@ class CancelResponse(FrozenClass): :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: CancelResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'CancelResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CancelResponse_Encoding_DefaultBinary) @@ -2741,15 +2810,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CancelResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'CancelResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class NodeAttributes(FrozenClass): - ''' + """ The base attributes for all nodes. :ivar SpecifiedAttributes: @@ -2762,7 +2833,7 @@ class NodeAttributes(FrozenClass): :vartype WriteMask: UInt32 :ivar UserWriteMask: :vartype UserWriteMask: UInt32 - ''' + """ ua_types = [ ('SpecifiedAttributes', 'UInt32'), @@ -2770,7 +2841,7 @@ class NodeAttributes(FrozenClass): ('Description', 'LocalizedText'), ('WriteMask', 'UInt32'), ('UserWriteMask', 'UInt32'), - ] + ] def __init__(self): self.SpecifiedAttributes = 0 @@ -2781,17 +2852,19 @@ def __init__(self): self._freeze = True def __str__(self): - return 'NodeAttributes(' + 'SpecifiedAttributes:' + str(self.SpecifiedAttributes) + ', ' + \ - 'DisplayName:' + str(self.DisplayName) + ', ' + \ - 'Description:' + str(self.Description) + ', ' + \ - 'WriteMask:' + str(self.WriteMask) + ', ' + \ - 'UserWriteMask:' + str(self.UserWriteMask) + ')' + return ', '.join(( + f'NodeAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}', + f'DisplayName:{self.DisplayName}', + f'Description:{self.Description}', + f'WriteMask:{self.WriteMask}', + f'UserWriteMask:{self.UserWriteMask})' + )) __repr__ = __str__ class ObjectAttributes(FrozenClass): - ''' + """ The attributes for an object node. :ivar SpecifiedAttributes: @@ -2806,7 +2879,7 @@ class ObjectAttributes(FrozenClass): :vartype UserWriteMask: UInt32 :ivar EventNotifier: :vartype EventNotifier: Byte - ''' + """ ua_types = [ ('SpecifiedAttributes', 'UInt32'), @@ -2815,7 +2888,7 @@ class ObjectAttributes(FrozenClass): ('WriteMask', 'UInt32'), ('UserWriteMask', 'UInt32'), ('EventNotifier', 'Byte'), - ] + ] def __init__(self): self.SpecifiedAttributes = 0 @@ -2827,18 +2900,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ObjectAttributes(' + 'SpecifiedAttributes:' + str(self.SpecifiedAttributes) + ', ' + \ - 'DisplayName:' + str(self.DisplayName) + ', ' + \ - 'Description:' + str(self.Description) + ', ' + \ - 'WriteMask:' + str(self.WriteMask) + ', ' + \ - 'UserWriteMask:' + str(self.UserWriteMask) + ', ' + \ - 'EventNotifier:' + str(self.EventNotifier) + ')' + return ', '.join(( + f'ObjectAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}', + f'DisplayName:{self.DisplayName}', + f'Description:{self.Description}', + f'WriteMask:{self.WriteMask}', + f'UserWriteMask:{self.UserWriteMask}', + f'EventNotifier:{self.EventNotifier})' + )) __repr__ = __str__ class VariableAttributes(FrozenClass): - ''' + """ The attributes for a variable node. :ivar SpecifiedAttributes: @@ -2867,7 +2942,7 @@ class VariableAttributes(FrozenClass): :vartype MinimumSamplingInterval: Double :ivar Historizing: :vartype Historizing: Boolean - ''' + """ ua_types = [ ('SpecifiedAttributes', 'UInt32'), @@ -2883,7 +2958,7 @@ class VariableAttributes(FrozenClass): ('UserAccessLevel', 'Byte'), ('MinimumSamplingInterval', 'Double'), ('Historizing', 'Boolean'), - ] + ] def __init__(self): self.SpecifiedAttributes = 0 @@ -2902,25 +2977,27 @@ def __init__(self): self._freeze = True def __str__(self): - return 'VariableAttributes(' + 'SpecifiedAttributes:' + str(self.SpecifiedAttributes) + ', ' + \ - 'DisplayName:' + str(self.DisplayName) + ', ' + \ - 'Description:' + str(self.Description) + ', ' + \ - 'WriteMask:' + str(self.WriteMask) + ', ' + \ - 'UserWriteMask:' + str(self.UserWriteMask) + ', ' + \ - 'Value:' + str(self.Value) + ', ' + \ - 'DataType:' + str(self.DataType) + ', ' + \ - 'ValueRank:' + str(self.ValueRank) + ', ' + \ - 'ArrayDimensions:' + str(self.ArrayDimensions) + ', ' + \ - 'AccessLevel:' + str(self.AccessLevel) + ', ' + \ - 'UserAccessLevel:' + str(self.UserAccessLevel) + ', ' + \ - 'MinimumSamplingInterval:' + str(self.MinimumSamplingInterval) + ', ' + \ - 'Historizing:' + str(self.Historizing) + ')' + return ', '.join(( + f'VariableAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}', + f'DisplayName:{self.DisplayName}', + f'Description:{self.Description}', + f'WriteMask:{self.WriteMask}', + f'UserWriteMask:{self.UserWriteMask}', + f'Value:{self.Value}', + f'DataType:{self.DataType}', + f'ValueRank:{self.ValueRank}', + f'ArrayDimensions:{self.ArrayDimensions}', + f'AccessLevel:{self.AccessLevel}', + f'UserAccessLevel:{self.UserAccessLevel}', + f'MinimumSamplingInterval:{self.MinimumSamplingInterval}', + f'Historizing:{self.Historizing})' + )) __repr__ = __str__ class MethodAttributes(FrozenClass): - ''' + """ The attributes for a method node. :ivar SpecifiedAttributes: @@ -2937,7 +3014,7 @@ class MethodAttributes(FrozenClass): :vartype Executable: Boolean :ivar UserExecutable: :vartype UserExecutable: Boolean - ''' + """ ua_types = [ ('SpecifiedAttributes', 'UInt32'), @@ -2947,7 +3024,7 @@ class MethodAttributes(FrozenClass): ('UserWriteMask', 'UInt32'), ('Executable', 'Boolean'), ('UserExecutable', 'Boolean'), - ] + ] def __init__(self): self.SpecifiedAttributes = 0 @@ -2960,19 +3037,21 @@ def __init__(self): self._freeze = True def __str__(self): - return 'MethodAttributes(' + 'SpecifiedAttributes:' + str(self.SpecifiedAttributes) + ', ' + \ - 'DisplayName:' + str(self.DisplayName) + ', ' + \ - 'Description:' + str(self.Description) + ', ' + \ - 'WriteMask:' + str(self.WriteMask) + ', ' + \ - 'UserWriteMask:' + str(self.UserWriteMask) + ', ' + \ - 'Executable:' + str(self.Executable) + ', ' + \ - 'UserExecutable:' + str(self.UserExecutable) + ')' + return ', '.join(( + f'MethodAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}', + f'DisplayName:{self.DisplayName}', + f'Description:{self.Description}', + f'WriteMask:{self.WriteMask}', + f'UserWriteMask:{self.UserWriteMask}', + f'Executable:{self.Executable}', + f'UserExecutable:{self.UserExecutable})' + )) __repr__ = __str__ class ObjectTypeAttributes(FrozenClass): - ''' + """ The attributes for an object type node. :ivar SpecifiedAttributes: @@ -2987,7 +3066,7 @@ class ObjectTypeAttributes(FrozenClass): :vartype UserWriteMask: UInt32 :ivar IsAbstract: :vartype IsAbstract: Boolean - ''' + """ ua_types = [ ('SpecifiedAttributes', 'UInt32'), @@ -2996,7 +3075,7 @@ class ObjectTypeAttributes(FrozenClass): ('WriteMask', 'UInt32'), ('UserWriteMask', 'UInt32'), ('IsAbstract', 'Boolean'), - ] + ] def __init__(self): self.SpecifiedAttributes = 0 @@ -3008,18 +3087,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ObjectTypeAttributes(' + 'SpecifiedAttributes:' + str(self.SpecifiedAttributes) + ', ' + \ - 'DisplayName:' + str(self.DisplayName) + ', ' + \ - 'Description:' + str(self.Description) + ', ' + \ - 'WriteMask:' + str(self.WriteMask) + ', ' + \ - 'UserWriteMask:' + str(self.UserWriteMask) + ', ' + \ - 'IsAbstract:' + str(self.IsAbstract) + ')' + return ', '.join(( + f'ObjectTypeAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}', + f'DisplayName:{self.DisplayName}', + f'Description:{self.Description}', + f'WriteMask:{self.WriteMask}', + f'UserWriteMask:{self.UserWriteMask}', + f'IsAbstract:{self.IsAbstract})' + )) __repr__ = __str__ class VariableTypeAttributes(FrozenClass): - ''' + """ The attributes for a variable type node. :ivar SpecifiedAttributes: @@ -3042,7 +3123,7 @@ class VariableTypeAttributes(FrozenClass): :vartype ArrayDimensions: UInt32 :ivar IsAbstract: :vartype IsAbstract: Boolean - ''' + """ ua_types = [ ('SpecifiedAttributes', 'UInt32'), @@ -3055,7 +3136,7 @@ class VariableTypeAttributes(FrozenClass): ('ValueRank', 'Int32'), ('ArrayDimensions', 'ListOfUInt32'), ('IsAbstract', 'Boolean'), - ] + ] def __init__(self): self.SpecifiedAttributes = 0 @@ -3071,22 +3152,24 @@ def __init__(self): self._freeze = True def __str__(self): - return 'VariableTypeAttributes(' + 'SpecifiedAttributes:' + str(self.SpecifiedAttributes) + ', ' + \ - 'DisplayName:' + str(self.DisplayName) + ', ' + \ - 'Description:' + str(self.Description) + ', ' + \ - 'WriteMask:' + str(self.WriteMask) + ', ' + \ - 'UserWriteMask:' + str(self.UserWriteMask) + ', ' + \ - 'Value:' + str(self.Value) + ', ' + \ - 'DataType:' + str(self.DataType) + ', ' + \ - 'ValueRank:' + str(self.ValueRank) + ', ' + \ - 'ArrayDimensions:' + str(self.ArrayDimensions) + ', ' + \ - 'IsAbstract:' + str(self.IsAbstract) + ')' + return ', '.join(( + f'VariableTypeAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}', + f'DisplayName:{self.DisplayName}', + f'Description:{self.Description}', + f'WriteMask:{self.WriteMask}', + f'UserWriteMask:{self.UserWriteMask}', + f'Value:{self.Value}', + f'DataType:{self.DataType}', + f'ValueRank:{self.ValueRank}', + f'ArrayDimensions:{self.ArrayDimensions}', + f'IsAbstract:{self.IsAbstract})' + )) __repr__ = __str__ class ReferenceTypeAttributes(FrozenClass): - ''' + """ The attributes for a reference type node. :ivar SpecifiedAttributes: @@ -3105,7 +3188,7 @@ class ReferenceTypeAttributes(FrozenClass): :vartype Symmetric: Boolean :ivar InverseName: :vartype InverseName: LocalizedText - ''' + """ ua_types = [ ('SpecifiedAttributes', 'UInt32'), @@ -3116,7 +3199,7 @@ class ReferenceTypeAttributes(FrozenClass): ('IsAbstract', 'Boolean'), ('Symmetric', 'Boolean'), ('InverseName', 'LocalizedText'), - ] + ] def __init__(self): self.SpecifiedAttributes = 0 @@ -3130,20 +3213,22 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ReferenceTypeAttributes(' + 'SpecifiedAttributes:' + str(self.SpecifiedAttributes) + ', ' + \ - 'DisplayName:' + str(self.DisplayName) + ', ' + \ - 'Description:' + str(self.Description) + ', ' + \ - 'WriteMask:' + str(self.WriteMask) + ', ' + \ - 'UserWriteMask:' + str(self.UserWriteMask) + ', ' + \ - 'IsAbstract:' + str(self.IsAbstract) + ', ' + \ - 'Symmetric:' + str(self.Symmetric) + ', ' + \ - 'InverseName:' + str(self.InverseName) + ')' + return ', '.join(( + f'ReferenceTypeAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}', + f'DisplayName:{self.DisplayName}', + f'Description:{self.Description}', + f'WriteMask:{self.WriteMask}', + f'UserWriteMask:{self.UserWriteMask}', + f'IsAbstract:{self.IsAbstract}', + f'Symmetric:{self.Symmetric}', + f'InverseName:{self.InverseName})' + )) __repr__ = __str__ class DataTypeAttributes(FrozenClass): - ''' + """ The attributes for a data type node. :ivar SpecifiedAttributes: @@ -3158,7 +3243,7 @@ class DataTypeAttributes(FrozenClass): :vartype UserWriteMask: UInt32 :ivar IsAbstract: :vartype IsAbstract: Boolean - ''' + """ ua_types = [ ('SpecifiedAttributes', 'UInt32'), @@ -3167,7 +3252,7 @@ class DataTypeAttributes(FrozenClass): ('WriteMask', 'UInt32'), ('UserWriteMask', 'UInt32'), ('IsAbstract', 'Boolean'), - ] + ] def __init__(self): self.SpecifiedAttributes = 0 @@ -3179,18 +3264,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DataTypeAttributes(' + 'SpecifiedAttributes:' + str(self.SpecifiedAttributes) + ', ' + \ - 'DisplayName:' + str(self.DisplayName) + ', ' + \ - 'Description:' + str(self.Description) + ', ' + \ - 'WriteMask:' + str(self.WriteMask) + ', ' + \ - 'UserWriteMask:' + str(self.UserWriteMask) + ', ' + \ - 'IsAbstract:' + str(self.IsAbstract) + ')' + return ', '.join(( + f'DataTypeAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}', + f'DisplayName:{self.DisplayName}', + f'Description:{self.Description}', + f'WriteMask:{self.WriteMask}', + f'UserWriteMask:{self.UserWriteMask}', + f'IsAbstract:{self.IsAbstract})' + )) __repr__ = __str__ class ViewAttributes(FrozenClass): - ''' + """ The attributes for a view node. :ivar SpecifiedAttributes: @@ -3207,7 +3294,7 @@ class ViewAttributes(FrozenClass): :vartype ContainsNoLoops: Boolean :ivar EventNotifier: :vartype EventNotifier: Byte - ''' + """ ua_types = [ ('SpecifiedAttributes', 'UInt32'), @@ -3217,7 +3304,7 @@ class ViewAttributes(FrozenClass): ('UserWriteMask', 'UInt32'), ('ContainsNoLoops', 'Boolean'), ('EventNotifier', 'Byte'), - ] + ] def __init__(self): self.SpecifiedAttributes = 0 @@ -3230,19 +3317,21 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ViewAttributes(' + 'SpecifiedAttributes:' + str(self.SpecifiedAttributes) + ', ' + \ - 'DisplayName:' + str(self.DisplayName) + ', ' + \ - 'Description:' + str(self.Description) + ', ' + \ - 'WriteMask:' + str(self.WriteMask) + ', ' + \ - 'UserWriteMask:' + str(self.UserWriteMask) + ', ' + \ - 'ContainsNoLoops:' + str(self.ContainsNoLoops) + ', ' + \ - 'EventNotifier:' + str(self.EventNotifier) + ')' + return ', '.join(( + f'ViewAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}', + f'DisplayName:{self.DisplayName}', + f'Description:{self.Description}', + f'WriteMask:{self.WriteMask}', + f'UserWriteMask:{self.UserWriteMask}', + f'ContainsNoLoops:{self.ContainsNoLoops}', + f'EventNotifier:{self.EventNotifier})' + )) __repr__ = __str__ class AddNodesItem(FrozenClass): - ''' + """ A request to add a node to the server address space. :ivar ParentNodeId: @@ -3259,7 +3348,7 @@ class AddNodesItem(FrozenClass): :vartype NodeAttributes: ExtensionObject :ivar TypeDefinition: :vartype TypeDefinition: ExpandedNodeId - ''' + """ ua_types = [ ('ParentNodeId', 'ExpandedNodeId'), @@ -3269,7 +3358,7 @@ class AddNodesItem(FrozenClass): ('NodeClass', 'NodeClass'), ('NodeAttributes', 'ExtensionObject'), ('TypeDefinition', 'ExpandedNodeId'), - ] + ] def __init__(self): self.ParentNodeId = ExpandedNodeId() @@ -3282,31 +3371,33 @@ def __init__(self): self._freeze = True def __str__(self): - return 'AddNodesItem(' + 'ParentNodeId:' + str(self.ParentNodeId) + ', ' + \ - 'ReferenceTypeId:' + str(self.ReferenceTypeId) + ', ' + \ - 'RequestedNewNodeId:' + str(self.RequestedNewNodeId) + ', ' + \ - 'BrowseName:' + str(self.BrowseName) + ', ' + \ - 'NodeClass:' + str(self.NodeClass) + ', ' + \ - 'NodeAttributes:' + str(self.NodeAttributes) + ', ' + \ - 'TypeDefinition:' + str(self.TypeDefinition) + ')' + return ', '.join(( + f'AddNodesItem(ParentNodeId:{self.ParentNodeId}', + f'ReferenceTypeId:{self.ReferenceTypeId}', + f'RequestedNewNodeId:{self.RequestedNewNodeId}', + f'BrowseName:{self.BrowseName}', + f'NodeClass:{self.NodeClass}', + f'NodeAttributes:{self.NodeAttributes}', + f'TypeDefinition:{self.TypeDefinition})' + )) __repr__ = __str__ class AddNodesResult(FrozenClass): - ''' + """ A result of an add node operation. :ivar StatusCode: :vartype StatusCode: StatusCode :ivar AddedNodeId: :vartype AddedNodeId: NodeId - ''' + """ ua_types = [ ('StatusCode', 'StatusCode'), ('AddedNodeId', 'NodeId'), - ] + ] def __init__(self): self.StatusCode = StatusCode() @@ -3314,34 +3405,33 @@ def __init__(self): self._freeze = True def __str__(self): - return 'AddNodesResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ - 'AddedNodeId:' + str(self.AddedNodeId) + ')' + return f'AddNodesResult(StatusCode:{self.StatusCode}, AddedNodeId:{self.AddedNodeId})' __repr__ = __str__ class AddNodesParameters(FrozenClass): - ''' + """ :ivar NodesToAdd: :vartype NodesToAdd: AddNodesItem - ''' + """ ua_types = [ ('NodesToAdd', 'ListOfAddNodesItem'), - ] + ] def __init__(self): self.NodesToAdd = [] self._freeze = True def __str__(self): - return 'AddNodesParameters(' + 'NodesToAdd:' + str(self.NodesToAdd) + ')' + return f'AddNodesParameters(NodesToAdd:{self.NodesToAdd})' __repr__ = __str__ class AddNodesRequest(FrozenClass): - ''' + """ Adds one or more nodes to the server address space. :ivar TypeId: @@ -3350,13 +3440,13 @@ class AddNodesRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: AddNodesParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'AddNodesParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.AddNodesRequest_Encoding_DefaultBinary) @@ -3365,15 +3455,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'AddNodesRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'AddNodesRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class AddNodesResponse(FrozenClass): - ''' + """ Adds one or more nodes to the server address space. :ivar TypeId: @@ -3384,14 +3476,14 @@ class AddNodesResponse(FrozenClass): :vartype Results: AddNodesResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfAddNodesResult'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.AddNodesResponse_Encoding_DefaultBinary) @@ -3401,16 +3493,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'AddNodesResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return ', '.join(( + f'AddNodesResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Results:{self.Results}', + f'DiagnosticInfos:{self.DiagnosticInfos})' + )) __repr__ = __str__ class AddReferencesItem(FrozenClass): - ''' + """ A request to add a reference to the server address space. :ivar SourceNodeId: @@ -3425,7 +3519,7 @@ class AddReferencesItem(FrozenClass): :vartype TargetNodeId: ExpandedNodeId :ivar TargetNodeClass: :vartype TargetNodeClass: NodeClass - ''' + """ ua_types = [ ('SourceNodeId', 'NodeId'), @@ -3434,7 +3528,7 @@ class AddReferencesItem(FrozenClass): ('TargetServerUri', 'String'), ('TargetNodeId', 'ExpandedNodeId'), ('TargetNodeClass', 'NodeClass'), - ] + ] def __init__(self): self.SourceNodeId = NodeId() @@ -3446,38 +3540,40 @@ def __init__(self): self._freeze = True def __str__(self): - return 'AddReferencesItem(' + 'SourceNodeId:' + str(self.SourceNodeId) + ', ' + \ - 'ReferenceTypeId:' + str(self.ReferenceTypeId) + ', ' + \ - 'IsForward:' + str(self.IsForward) + ', ' + \ - 'TargetServerUri:' + str(self.TargetServerUri) + ', ' + \ - 'TargetNodeId:' + str(self.TargetNodeId) + ', ' + \ - 'TargetNodeClass:' + str(self.TargetNodeClass) + ')' + return ', '.join(( + f'AddReferencesItem(SourceNodeId:{self.SourceNodeId}', + f'ReferenceTypeId:{self.ReferenceTypeId}', + f'IsForward:{self.IsForward}', + f'TargetServerUri:{self.TargetServerUri}', + f'TargetNodeId:{self.TargetNodeId}', + f'TargetNodeClass:{self.TargetNodeClass})' + )) __repr__ = __str__ class AddReferencesParameters(FrozenClass): - ''' + """ :ivar ReferencesToAdd: :vartype ReferencesToAdd: AddReferencesItem - ''' + """ ua_types = [ ('ReferencesToAdd', 'ListOfAddReferencesItem'), - ] + ] def __init__(self): self.ReferencesToAdd = [] self._freeze = True def __str__(self): - return 'AddReferencesParameters(' + 'ReferencesToAdd:' + str(self.ReferencesToAdd) + ')' + return f'AddReferencesParameters(ReferencesToAdd:{self.ReferencesToAdd})' __repr__ = __str__ class AddReferencesRequest(FrozenClass): - ''' + """ Adds one or more references to the server address space. :ivar TypeId: @@ -3486,13 +3582,13 @@ class AddReferencesRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: AddReferencesParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'AddReferencesParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.AddReferencesRequest_Encoding_DefaultBinary) @@ -3501,15 +3597,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'AddReferencesRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'AddReferencesRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class AddReferencesResponse(FrozenClass): - ''' + """ Adds one or more references to the server address space. :ivar TypeId: @@ -3520,14 +3618,14 @@ class AddReferencesResponse(FrozenClass): :vartype Results: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfStatusCode'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.AddReferencesResponse_Encoding_DefaultBinary) @@ -3537,28 +3635,30 @@ def __init__(self): self._freeze = True def __str__(self): - return 'AddReferencesResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return ', '.join(( + f'AddReferencesResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Results:{self.Results}', + f'DiagnosticInfos:{self.DiagnosticInfos})' + )) __repr__ = __str__ class DeleteNodesItem(FrozenClass): - ''' + """ A request to delete a node to the server address space. :ivar NodeId: :vartype NodeId: NodeId :ivar DeleteTargetReferences: :vartype DeleteTargetReferences: Boolean - ''' + """ ua_types = [ ('NodeId', 'NodeId'), ('DeleteTargetReferences', 'Boolean'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -3566,34 +3666,33 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DeleteNodesItem(' + 'NodeId:' + str(self.NodeId) + ', ' + \ - 'DeleteTargetReferences:' + str(self.DeleteTargetReferences) + ')' + return f'DeleteNodesItem(NodeId:{self.NodeId}, DeleteTargetReferences:{self.DeleteTargetReferences})' __repr__ = __str__ class DeleteNodesParameters(FrozenClass): - ''' + """ :ivar NodesToDelete: :vartype NodesToDelete: DeleteNodesItem - ''' + """ ua_types = [ ('NodesToDelete', 'ListOfDeleteNodesItem'), - ] + ] def __init__(self): self.NodesToDelete = [] self._freeze = True def __str__(self): - return 'DeleteNodesParameters(' + 'NodesToDelete:' + str(self.NodesToDelete) + ')' + return f'DeleteNodesParameters(NodesToDelete:{self.NodesToDelete})' __repr__ = __str__ class DeleteNodesRequest(FrozenClass): - ''' + """ Delete one or more nodes from the server address space. :ivar TypeId: @@ -3602,13 +3701,13 @@ class DeleteNodesRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: DeleteNodesParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'DeleteNodesParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.DeleteNodesRequest_Encoding_DefaultBinary) @@ -3617,15 +3716,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DeleteNodesRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'DeleteNodesRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class DeleteNodesResponse(FrozenClass): - ''' + """ Delete one or more nodes from the server address space. :ivar TypeId: @@ -3636,14 +3737,14 @@ class DeleteNodesResponse(FrozenClass): :vartype Results: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfStatusCode'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.DeleteNodesResponse_Encoding_DefaultBinary) @@ -3653,16 +3754,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DeleteNodesResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return ', '.join(( + f'DeleteNodesResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Results:{self.Results}', + f'DiagnosticInfos:{self.DiagnosticInfos})' + )) __repr__ = __str__ class DeleteReferencesItem(FrozenClass): - ''' + """ A request to delete a node from the server address space. :ivar SourceNodeId: @@ -3675,7 +3778,7 @@ class DeleteReferencesItem(FrozenClass): :vartype TargetNodeId: ExpandedNodeId :ivar DeleteBidirectional: :vartype DeleteBidirectional: Boolean - ''' + """ ua_types = [ ('SourceNodeId', 'NodeId'), @@ -3683,7 +3786,7 @@ class DeleteReferencesItem(FrozenClass): ('IsForward', 'Boolean'), ('TargetNodeId', 'ExpandedNodeId'), ('DeleteBidirectional', 'Boolean'), - ] + ] def __init__(self): self.SourceNodeId = NodeId() @@ -3694,37 +3797,39 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DeleteReferencesItem(' + 'SourceNodeId:' + str(self.SourceNodeId) + ', ' + \ - 'ReferenceTypeId:' + str(self.ReferenceTypeId) + ', ' + \ - 'IsForward:' + str(self.IsForward) + ', ' + \ - 'TargetNodeId:' + str(self.TargetNodeId) + ', ' + \ - 'DeleteBidirectional:' + str(self.DeleteBidirectional) + ')' + return ', '.join(( + f'DeleteReferencesItem(SourceNodeId:{self.SourceNodeId}', + f'ReferenceTypeId:{self.ReferenceTypeId}', + f'IsForward:{self.IsForward}', + f'TargetNodeId:{self.TargetNodeId}', + f'DeleteBidirectional:{self.DeleteBidirectional})' + )) __repr__ = __str__ class DeleteReferencesParameters(FrozenClass): - ''' + """ :ivar ReferencesToDelete: :vartype ReferencesToDelete: DeleteReferencesItem - ''' + """ ua_types = [ ('ReferencesToDelete', 'ListOfDeleteReferencesItem'), - ] + ] def __init__(self): self.ReferencesToDelete = [] self._freeze = True def __str__(self): - return 'DeleteReferencesParameters(' + 'ReferencesToDelete:' + str(self.ReferencesToDelete) + ')' + return f'DeleteReferencesParameters(ReferencesToDelete:{self.ReferencesToDelete})' __repr__ = __str__ class DeleteReferencesRequest(FrozenClass): - ''' + """ Delete one or more references from the server address space. :ivar TypeId: @@ -3733,13 +3838,13 @@ class DeleteReferencesRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: DeleteReferencesParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'DeleteReferencesParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.DeleteReferencesRequest_Encoding_DefaultBinary) @@ -3748,25 +3853,27 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DeleteReferencesRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'DeleteReferencesRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class DeleteReferencesResult(FrozenClass): - ''' + """ :ivar Results: :vartype Results: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('Results', 'ListOfStatusCode'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.Results = [] @@ -3774,14 +3881,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DeleteReferencesResult(' + 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return f'DeleteReferencesResult(Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ class DeleteReferencesResponse(FrozenClass): - ''' + """ Delete one or more references from the server address space. :ivar TypeId: @@ -3790,13 +3896,13 @@ class DeleteReferencesResponse(FrozenClass): :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: DeleteReferencesResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'DeleteReferencesResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.DeleteReferencesResponse_Encoding_DefaultBinary) @@ -3805,15 +3911,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DeleteReferencesResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'DeleteReferencesResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class ViewDescription(FrozenClass): - ''' + """ The view to browse. :ivar ViewId: @@ -3822,13 +3930,13 @@ class ViewDescription(FrozenClass): :vartype Timestamp: DateTime :ivar ViewVersion: :vartype ViewVersion: UInt32 - ''' + """ ua_types = [ ('ViewId', 'NodeId'), ('Timestamp', 'DateTime'), ('ViewVersion', 'UInt32'), - ] + ] def __init__(self): self.ViewId = NodeId() @@ -3837,15 +3945,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ViewDescription(' + 'ViewId:' + str(self.ViewId) + ', ' + \ - 'Timestamp:' + str(self.Timestamp) + ', ' + \ - 'ViewVersion:' + str(self.ViewVersion) + ')' + return ', '.join(( + f'ViewDescription(ViewId:{self.ViewId}', + f'Timestamp:{self.Timestamp}', + f'ViewVersion:{self.ViewVersion})' + )) __repr__ = __str__ class BrowseDescription(FrozenClass): - ''' + """ A request to browse the the references from a node. :ivar NodeId: @@ -3860,7 +3970,7 @@ class BrowseDescription(FrozenClass): :vartype NodeClassMask: UInt32 :ivar ResultMask: :vartype ResultMask: UInt32 - ''' + """ ua_types = [ ('NodeId', 'NodeId'), @@ -3869,7 +3979,7 @@ class BrowseDescription(FrozenClass): ('IncludeSubtypes', 'Boolean'), ('NodeClassMask', 'UInt32'), ('ResultMask', 'UInt32'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -3881,18 +3991,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'BrowseDescription(' + 'NodeId:' + str(self.NodeId) + ', ' + \ - 'BrowseDirection:' + str(self.BrowseDirection) + ', ' + \ - 'ReferenceTypeId:' + str(self.ReferenceTypeId) + ', ' + \ - 'IncludeSubtypes:' + str(self.IncludeSubtypes) + ', ' + \ - 'NodeClassMask:' + str(self.NodeClassMask) + ', ' + \ - 'ResultMask:' + str(self.ResultMask) + ')' + return ', '.join(( + f'BrowseDescription(NodeId:{self.NodeId}', + f'BrowseDirection:{self.BrowseDirection}', + f'ReferenceTypeId:{self.ReferenceTypeId}', + f'IncludeSubtypes:{self.IncludeSubtypes}', + f'NodeClassMask:{self.NodeClassMask}', + f'ResultMask:{self.ResultMask})' + )) __repr__ = __str__ class ReferenceDescription(FrozenClass): - ''' + """ The description of a reference. :ivar ReferenceTypeId: @@ -3909,7 +4021,7 @@ class ReferenceDescription(FrozenClass): :vartype NodeClass: NodeClass :ivar TypeDefinition: :vartype TypeDefinition: ExpandedNodeId - ''' + """ ua_types = [ ('ReferenceTypeId', 'NodeId'), @@ -3919,7 +4031,7 @@ class ReferenceDescription(FrozenClass): ('DisplayName', 'LocalizedText'), ('NodeClass', 'NodeClass'), ('TypeDefinition', 'ExpandedNodeId'), - ] + ] def __init__(self): self.ReferenceTypeId = NodeId() @@ -3932,19 +4044,21 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ReferenceDescription(' + 'ReferenceTypeId:' + str(self.ReferenceTypeId) + ', ' + \ - 'IsForward:' + str(self.IsForward) + ', ' + \ - 'NodeId:' + str(self.NodeId) + ', ' + \ - 'BrowseName:' + str(self.BrowseName) + ', ' + \ - 'DisplayName:' + str(self.DisplayName) + ', ' + \ - 'NodeClass:' + str(self.NodeClass) + ', ' + \ - 'TypeDefinition:' + str(self.TypeDefinition) + ')' + return ', '.join(( + f'ReferenceDescription(ReferenceTypeId:{self.ReferenceTypeId}', + f'IsForward:{self.IsForward}', + f'NodeId:{self.NodeId}', + f'BrowseName:{self.BrowseName}', + f'DisplayName:{self.DisplayName}', + f'NodeClass:{self.NodeClass}', + f'TypeDefinition:{self.TypeDefinition})' + )) __repr__ = __str__ class BrowseResult(FrozenClass): - ''' + """ The result of a browse operation. :ivar StatusCode: @@ -3953,13 +4067,13 @@ class BrowseResult(FrozenClass): :vartype ContinuationPoint: ByteString :ivar References: :vartype References: ReferenceDescription - ''' + """ ua_types = [ ('StatusCode', 'StatusCode'), ('ContinuationPoint', 'ByteString'), ('References', 'ListOfReferenceDescription'), - ] + ] def __init__(self): self.StatusCode = StatusCode() @@ -3968,28 +4082,30 @@ def __init__(self): self._freeze = True def __str__(self): - return 'BrowseResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ - 'ContinuationPoint:' + str(self.ContinuationPoint) + ', ' + \ - 'References:' + str(self.References) + ')' + return ', '.join(( + f'BrowseResult(StatusCode:{self.StatusCode}', + f'ContinuationPoint:{self.ContinuationPoint}', + f'References:{self.References})' + )) __repr__ = __str__ class BrowseParameters(FrozenClass): - ''' + """ :ivar View: :vartype View: ViewDescription :ivar RequestedMaxReferencesPerNode: :vartype RequestedMaxReferencesPerNode: UInt32 :ivar NodesToBrowse: :vartype NodesToBrowse: BrowseDescription - ''' + """ ua_types = [ ('View', 'ViewDescription'), ('RequestedMaxReferencesPerNode', 'UInt32'), ('NodesToBrowse', 'ListOfBrowseDescription'), - ] + ] def __init__(self): self.View = ViewDescription() @@ -3998,15 +4114,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'BrowseParameters(' + 'View:' + str(self.View) + ', ' + \ - 'RequestedMaxReferencesPerNode:' + str(self.RequestedMaxReferencesPerNode) + ', ' + \ - 'NodesToBrowse:' + str(self.NodesToBrowse) + ')' + return ', '.join(( + f'BrowseParameters(View:{self.View}', + f'RequestedMaxReferencesPerNode:{self.RequestedMaxReferencesPerNode}', + f'NodesToBrowse:{self.NodesToBrowse})' + )) __repr__ = __str__ class BrowseRequest(FrozenClass): - ''' + """ Browse the references for one or more nodes from the server address space. :ivar TypeId: @@ -4015,13 +4133,13 @@ class BrowseRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: BrowseParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'BrowseParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.BrowseRequest_Encoding_DefaultBinary) @@ -4030,15 +4148,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'BrowseRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'BrowseRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class BrowseResponse(FrozenClass): - ''' + """ Browse the references for one or more nodes from the server address space. :ivar TypeId: @@ -4049,14 +4169,14 @@ class BrowseResponse(FrozenClass): :vartype Results: BrowseResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfBrowseResult'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.BrowseResponse_Encoding_DefaultBinary) @@ -4066,26 +4186,28 @@ def __init__(self): self._freeze = True def __str__(self): - return 'BrowseResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return ', '.join(( + f'BrowseResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Results:{self.Results}', + f'DiagnosticInfos:{self.DiagnosticInfos})' + )) __repr__ = __str__ class BrowseNextParameters(FrozenClass): - ''' + """ :ivar ReleaseContinuationPoints: :vartype ReleaseContinuationPoints: Boolean :ivar ContinuationPoints: :vartype ContinuationPoints: ByteString - ''' + """ ua_types = [ ('ReleaseContinuationPoints', 'Boolean'), ('ContinuationPoints', 'ListOfByteString'), - ] + ] def __init__(self): self.ReleaseContinuationPoints = True @@ -4093,14 +4215,16 @@ def __init__(self): self._freeze = True def __str__(self): - return 'BrowseNextParameters(' + 'ReleaseContinuationPoints:' + str(self.ReleaseContinuationPoints) + ', ' + \ - 'ContinuationPoints:' + str(self.ContinuationPoints) + ')' + return ', '.join(( + f'BrowseNextParameters(ReleaseContinuationPoints:{self.ReleaseContinuationPoints}', + f'ContinuationPoints:{self.ContinuationPoints})' + )) __repr__ = __str__ class BrowseNextRequest(FrozenClass): - ''' + """ Continues one or more browse operations. :ivar TypeId: @@ -4109,13 +4233,13 @@ class BrowseNextRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: BrowseNextParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'BrowseNextParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.BrowseNextRequest_Encoding_DefaultBinary) @@ -4124,25 +4248,27 @@ def __init__(self): self._freeze = True def __str__(self): - return 'BrowseNextRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'BrowseNextRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class BrowseNextResult(FrozenClass): - ''' + """ :ivar Results: :vartype Results: BrowseResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('Results', 'ListOfBrowseResult'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.Results = [] @@ -4150,14 +4276,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'BrowseNextResult(' + 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return f'BrowseNextResult(Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ class BrowseNextResponse(FrozenClass): - ''' + """ Continues one or more browse operations. :ivar TypeId: @@ -4166,13 +4291,13 @@ class BrowseNextResponse(FrozenClass): :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: BrowseNextResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'BrowseNextResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.BrowseNextResponse_Encoding_DefaultBinary) @@ -4181,15 +4306,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'BrowseNextResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'BrowseNextResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class RelativePathElement(FrozenClass): - ''' + """ An element in a relative path. :ivar ReferenceTypeId: @@ -4200,14 +4327,14 @@ class RelativePathElement(FrozenClass): :vartype IncludeSubtypes: Boolean :ivar TargetName: :vartype TargetName: QualifiedName - ''' + """ ua_types = [ ('ReferenceTypeId', 'NodeId'), ('IsInverse', 'Boolean'), ('IncludeSubtypes', 'Boolean'), ('TargetName', 'QualifiedName'), - ] + ] def __init__(self): self.ReferenceTypeId = NodeId() @@ -4217,50 +4344,52 @@ def __init__(self): self._freeze = True def __str__(self): - return 'RelativePathElement(' + 'ReferenceTypeId:' + str(self.ReferenceTypeId) + ', ' + \ - 'IsInverse:' + str(self.IsInverse) + ', ' + \ - 'IncludeSubtypes:' + str(self.IncludeSubtypes) + ', ' + \ - 'TargetName:' + str(self.TargetName) + ')' + return ', '.join(( + f'RelativePathElement(ReferenceTypeId:{self.ReferenceTypeId}', + f'IsInverse:{self.IsInverse}', + f'IncludeSubtypes:{self.IncludeSubtypes}', + f'TargetName:{self.TargetName})' + )) __repr__ = __str__ class RelativePath(FrozenClass): - ''' + """ A relative path constructed from reference types and browse names. :ivar Elements: :vartype Elements: RelativePathElement - ''' + """ ua_types = [ ('Elements', 'ListOfRelativePathElement'), - ] + ] def __init__(self): self.Elements = [] self._freeze = True def __str__(self): - return 'RelativePath(' + 'Elements:' + str(self.Elements) + ')' + return f'RelativePath(Elements:{self.Elements})' __repr__ = __str__ class BrowsePath(FrozenClass): - ''' + """ A request to translate a path into a node id. :ivar StartingNode: :vartype StartingNode: NodeId :ivar RelativePath: :vartype RelativePath: RelativePath - ''' + """ ua_types = [ ('StartingNode', 'NodeId'), ('RelativePath', 'RelativePath'), - ] + ] def __init__(self): self.StartingNode = NodeId() @@ -4268,26 +4397,25 @@ def __init__(self): self._freeze = True def __str__(self): - return 'BrowsePath(' + 'StartingNode:' + str(self.StartingNode) + ', ' + \ - 'RelativePath:' + str(self.RelativePath) + ')' + return f'BrowsePath(StartingNode:{self.StartingNode}, RelativePath:{self.RelativePath})' __repr__ = __str__ class BrowsePathTarget(FrozenClass): - ''' + """ The target of the translated path. :ivar TargetId: :vartype TargetId: ExpandedNodeId :ivar RemainingPathIndex: :vartype RemainingPathIndex: UInt32 - ''' + """ ua_types = [ ('TargetId', 'ExpandedNodeId'), ('RemainingPathIndex', 'UInt32'), - ] + ] def __init__(self): self.TargetId = ExpandedNodeId() @@ -4295,26 +4423,25 @@ def __init__(self): self._freeze = True def __str__(self): - return 'BrowsePathTarget(' + 'TargetId:' + str(self.TargetId) + ', ' + \ - 'RemainingPathIndex:' + str(self.RemainingPathIndex) + ')' + return f'BrowsePathTarget(TargetId:{self.TargetId}, RemainingPathIndex:{self.RemainingPathIndex})' __repr__ = __str__ class BrowsePathResult(FrozenClass): - ''' + """ The result of a translate opearation. :ivar StatusCode: :vartype StatusCode: StatusCode :ivar Targets: :vartype Targets: BrowsePathTarget - ''' + """ ua_types = [ ('StatusCode', 'StatusCode'), ('Targets', 'ListOfBrowsePathTarget'), - ] + ] def __init__(self): self.StatusCode = StatusCode() @@ -4322,34 +4449,33 @@ def __init__(self): self._freeze = True def __str__(self): - return 'BrowsePathResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ - 'Targets:' + str(self.Targets) + ')' + return f'BrowsePathResult(StatusCode:{self.StatusCode}, Targets:{self.Targets})' __repr__ = __str__ class TranslateBrowsePathsToNodeIdsParameters(FrozenClass): - ''' + """ :ivar BrowsePaths: :vartype BrowsePaths: BrowsePath - ''' + """ ua_types = [ ('BrowsePaths', 'ListOfBrowsePath'), - ] + ] def __init__(self): self.BrowsePaths = [] self._freeze = True def __str__(self): - return 'TranslateBrowsePathsToNodeIdsParameters(' + 'BrowsePaths:' + str(self.BrowsePaths) + ')' + return f'TranslateBrowsePathsToNodeIdsParameters(BrowsePaths:{self.BrowsePaths})' __repr__ = __str__ class TranslateBrowsePathsToNodeIdsRequest(FrozenClass): - ''' + """ Translates one or more paths in the server address space. :ivar TypeId: @@ -4358,13 +4484,13 @@ class TranslateBrowsePathsToNodeIdsRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: TranslateBrowsePathsToNodeIdsParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'TranslateBrowsePathsToNodeIdsParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultBinary) @@ -4373,15 +4499,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'TranslateBrowsePathsToNodeIdsRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'TranslateBrowsePathsToNodeIdsRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class TranslateBrowsePathsToNodeIdsResponse(FrozenClass): - ''' + """ Translates one or more paths in the server address space. :ivar TypeId: @@ -4392,14 +4520,14 @@ class TranslateBrowsePathsToNodeIdsResponse(FrozenClass): :vartype Results: BrowsePathResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfBrowsePathResult'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.TranslateBrowsePathsToNodeIdsResponse_Encoding_DefaultBinary) @@ -4409,36 +4537,38 @@ def __init__(self): self._freeze = True def __str__(self): - return 'TranslateBrowsePathsToNodeIdsResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return ', '.join(( + f'TranslateBrowsePathsToNodeIdsResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Results:{self.Results}', + f'DiagnosticInfos:{self.DiagnosticInfos})' + )) __repr__ = __str__ class RegisterNodesParameters(FrozenClass): - ''' + """ :ivar NodesToRegister: :vartype NodesToRegister: NodeId - ''' + """ ua_types = [ ('NodesToRegister', 'ListOfNodeId'), - ] + ] def __init__(self): self.NodesToRegister = [] self._freeze = True def __str__(self): - return 'RegisterNodesParameters(' + 'NodesToRegister:' + str(self.NodesToRegister) + ')' + return f'RegisterNodesParameters(NodesToRegister:{self.NodesToRegister})' __repr__ = __str__ class RegisterNodesRequest(FrozenClass): - ''' + """ Registers one or more nodes for repeated use within a session. :ivar TypeId: @@ -4447,13 +4577,13 @@ class RegisterNodesRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: RegisterNodesParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'RegisterNodesParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.RegisterNodesRequest_Encoding_DefaultBinary) @@ -4462,35 +4592,37 @@ def __init__(self): self._freeze = True def __str__(self): - return 'RegisterNodesRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'RegisterNodesRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class RegisterNodesResult(FrozenClass): - ''' + """ :ivar RegisteredNodeIds: :vartype RegisteredNodeIds: NodeId - ''' + """ ua_types = [ ('RegisteredNodeIds', 'ListOfNodeId'), - ] + ] def __init__(self): self.RegisteredNodeIds = [] self._freeze = True def __str__(self): - return 'RegisterNodesResult(' + 'RegisteredNodeIds:' + str(self.RegisteredNodeIds) + ')' + return f'RegisterNodesResult(RegisteredNodeIds:{self.RegisteredNodeIds})' __repr__ = __str__ class RegisterNodesResponse(FrozenClass): - ''' + """ Registers one or more nodes for repeated use within a session. :ivar TypeId: @@ -4499,13 +4631,13 @@ class RegisterNodesResponse(FrozenClass): :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: RegisterNodesResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'RegisterNodesResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.RegisterNodesResponse_Encoding_DefaultBinary) @@ -4514,35 +4646,37 @@ def __init__(self): self._freeze = True def __str__(self): - return 'RegisterNodesResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'RegisterNodesResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class UnregisterNodesParameters(FrozenClass): - ''' + """ :ivar NodesToUnregister: :vartype NodesToUnregister: NodeId - ''' + """ ua_types = [ ('NodesToUnregister', 'ListOfNodeId'), - ] + ] def __init__(self): self.NodesToUnregister = [] self._freeze = True def __str__(self): - return 'UnregisterNodesParameters(' + 'NodesToUnregister:' + str(self.NodesToUnregister) + ')' + return f'UnregisterNodesParameters(NodesToUnregister:{self.NodesToUnregister})' __repr__ = __str__ class UnregisterNodesRequest(FrozenClass): - ''' + """ Unregisters one or more previously registered nodes. :ivar TypeId: @@ -4551,13 +4685,13 @@ class UnregisterNodesRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: UnregisterNodesParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'UnregisterNodesParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.UnregisterNodesRequest_Encoding_DefaultBinary) @@ -4566,27 +4700,29 @@ def __init__(self): self._freeze = True def __str__(self): - return 'UnregisterNodesRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'UnregisterNodesRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class UnregisterNodesResponse(FrozenClass): - ''' + """ Unregisters one or more previously registered nodes. :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.UnregisterNodesResponse_Encoding_DefaultBinary) @@ -4594,14 +4730,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'UnregisterNodesResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ')' + return f'UnregisterNodesResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader})' __repr__ = __str__ class EndpointConfiguration(FrozenClass): - ''' + """ :ivar OperationTimeout: :vartype OperationTimeout: Int32 :ivar UseBinaryEncoding: @@ -4620,7 +4755,7 @@ class EndpointConfiguration(FrozenClass): :vartype ChannelLifetime: Int32 :ivar SecurityTokenLifetime: :vartype SecurityTokenLifetime: Int32 - ''' + """ ua_types = [ ('OperationTimeout', 'Int32'), @@ -4632,7 +4767,7 @@ class EndpointConfiguration(FrozenClass): ('MaxBufferSize', 'Int32'), ('ChannelLifetime', 'Int32'), ('SecurityTokenLifetime', 'Int32'), - ] + ] def __init__(self): self.OperationTimeout = 0 @@ -4647,21 +4782,23 @@ def __init__(self): self._freeze = True def __str__(self): - return 'EndpointConfiguration(' + 'OperationTimeout:' + str(self.OperationTimeout) + ', ' + \ - 'UseBinaryEncoding:' + str(self.UseBinaryEncoding) + ', ' + \ - 'MaxStringLength:' + str(self.MaxStringLength) + ', ' + \ - 'MaxByteStringLength:' + str(self.MaxByteStringLength) + ', ' + \ - 'MaxArrayLength:' + str(self.MaxArrayLength) + ', ' + \ - 'MaxMessageSize:' + str(self.MaxMessageSize) + ', ' + \ - 'MaxBufferSize:' + str(self.MaxBufferSize) + ', ' + \ - 'ChannelLifetime:' + str(self.ChannelLifetime) + ', ' + \ - 'SecurityTokenLifetime:' + str(self.SecurityTokenLifetime) + ')' + return ', '.join(( + f'EndpointConfiguration(OperationTimeout:{self.OperationTimeout}', + f'UseBinaryEncoding:{self.UseBinaryEncoding}', + f'MaxStringLength:{self.MaxStringLength}', + f'MaxByteStringLength:{self.MaxByteStringLength}', + f'MaxArrayLength:{self.MaxArrayLength}', + f'MaxMessageSize:{self.MaxMessageSize}', + f'MaxBufferSize:{self.MaxBufferSize}', + f'ChannelLifetime:{self.ChannelLifetime}', + f'SecurityTokenLifetime:{self.SecurityTokenLifetime})' + )) __repr__ = __str__ class SupportedProfile(FrozenClass): - ''' + """ :ivar OrganizationUri: :vartype OrganizationUri: String :ivar ProfileId: @@ -4674,7 +4811,7 @@ class SupportedProfile(FrozenClass): :vartype ComplianceLevel: ComplianceLevel :ivar UnsupportedUnitIds: :vartype UnsupportedUnitIds: String - ''' + """ ua_types = [ ('OrganizationUri', 'String'), @@ -4683,7 +4820,7 @@ class SupportedProfile(FrozenClass): ('ComplianceDate', 'DateTime'), ('ComplianceLevel', 'ComplianceLevel'), ('UnsupportedUnitIds', 'ListOfString'), - ] + ] def __init__(self): self.OrganizationUri = None @@ -4695,18 +4832,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SupportedProfile(' + 'OrganizationUri:' + str(self.OrganizationUri) + ', ' + \ - 'ProfileId:' + str(self.ProfileId) + ', ' + \ - 'ComplianceTool:' + str(self.ComplianceTool) + ', ' + \ - 'ComplianceDate:' + str(self.ComplianceDate) + ', ' + \ - 'ComplianceLevel:' + str(self.ComplianceLevel) + ', ' + \ - 'UnsupportedUnitIds:' + str(self.UnsupportedUnitIds) + ')' + return ', '.join(( + f'SupportedProfile(OrganizationUri:{self.OrganizationUri}', + f'ProfileId:{self.ProfileId}', + f'ComplianceTool:{self.ComplianceTool}', + f'ComplianceDate:{self.ComplianceDate}', + f'ComplianceLevel:{self.ComplianceLevel}', + f'UnsupportedUnitIds:{self.UnsupportedUnitIds})' + )) __repr__ = __str__ class SoftwareCertificate(FrozenClass): - ''' + """ :ivar ProductName: :vartype ProductName: String :ivar ProductUri: @@ -4727,7 +4866,7 @@ class SoftwareCertificate(FrozenClass): :vartype IssueDate: DateTime :ivar SupportedProfiles: :vartype SupportedProfiles: SupportedProfile - ''' + """ ua_types = [ ('ProductName', 'String'), @@ -4740,7 +4879,7 @@ class SoftwareCertificate(FrozenClass): ('IssuedBy', 'String'), ('IssueDate', 'DateTime'), ('SupportedProfiles', 'ListOfSupportedProfile'), - ] + ] def __init__(self): self.ProductName = None @@ -4756,35 +4895,37 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SoftwareCertificate(' + 'ProductName:' + str(self.ProductName) + ', ' + \ - 'ProductUri:' + str(self.ProductUri) + ', ' + \ - 'VendorName:' + str(self.VendorName) + ', ' + \ - 'VendorProductCertificate:' + str(self.VendorProductCertificate) + ', ' + \ - 'SoftwareVersion:' + str(self.SoftwareVersion) + ', ' + \ - 'BuildNumber:' + str(self.BuildNumber) + ', ' + \ - 'BuildDate:' + str(self.BuildDate) + ', ' + \ - 'IssuedBy:' + str(self.IssuedBy) + ', ' + \ - 'IssueDate:' + str(self.IssueDate) + ', ' + \ - 'SupportedProfiles:' + str(self.SupportedProfiles) + ')' + return ', '.join(( + f'SoftwareCertificate(ProductName:{self.ProductName}', + f'ProductUri:{self.ProductUri}', + f'VendorName:{self.VendorName}', + f'VendorProductCertificate:{self.VendorProductCertificate}', + f'SoftwareVersion:{self.SoftwareVersion}', + f'BuildNumber:{self.BuildNumber}', + f'BuildDate:{self.BuildDate}', + f'IssuedBy:{self.IssuedBy}', + f'IssueDate:{self.IssueDate}', + f'SupportedProfiles:{self.SupportedProfiles})' + )) __repr__ = __str__ class QueryDataDescription(FrozenClass): - ''' + """ :ivar RelativePath: :vartype RelativePath: RelativePath :ivar AttributeId: :vartype AttributeId: UInt32 :ivar IndexRange: :vartype IndexRange: String - ''' + """ ua_types = [ ('RelativePath', 'RelativePath'), ('AttributeId', 'UInt32'), ('IndexRange', 'String'), - ] + ] def __init__(self): self.RelativePath = RelativePath() @@ -4793,28 +4934,30 @@ def __init__(self): self._freeze = True def __str__(self): - return 'QueryDataDescription(' + 'RelativePath:' + str(self.RelativePath) + ', ' + \ - 'AttributeId:' + str(self.AttributeId) + ', ' + \ - 'IndexRange:' + str(self.IndexRange) + ')' + return ', '.join(( + f'QueryDataDescription(RelativePath:{self.RelativePath}', + f'AttributeId:{self.AttributeId}', + f'IndexRange:{self.IndexRange})' + )) __repr__ = __str__ class NodeTypeDescription(FrozenClass): - ''' + """ :ivar TypeDefinitionNode: :vartype TypeDefinitionNode: ExpandedNodeId :ivar IncludeSubTypes: :vartype IncludeSubTypes: Boolean :ivar DataToReturn: :vartype DataToReturn: QueryDataDescription - ''' + """ ua_types = [ ('TypeDefinitionNode', 'ExpandedNodeId'), ('IncludeSubTypes', 'Boolean'), ('DataToReturn', 'ListOfQueryDataDescription'), - ] + ] def __init__(self): self.TypeDefinitionNode = ExpandedNodeId() @@ -4823,28 +4966,30 @@ def __init__(self): self._freeze = True def __str__(self): - return 'NodeTypeDescription(' + 'TypeDefinitionNode:' + str(self.TypeDefinitionNode) + ', ' + \ - 'IncludeSubTypes:' + str(self.IncludeSubTypes) + ', ' + \ - 'DataToReturn:' + str(self.DataToReturn) + ')' + return ', '.join(( + f'NodeTypeDescription(TypeDefinitionNode:{self.TypeDefinitionNode}', + f'IncludeSubTypes:{self.IncludeSubTypes}', + f'DataToReturn:{self.DataToReturn})' + )) __repr__ = __str__ class QueryDataSet(FrozenClass): - ''' + """ :ivar NodeId: :vartype NodeId: ExpandedNodeId :ivar TypeDefinitionNode: :vartype TypeDefinitionNode: ExpandedNodeId :ivar Values: :vartype Values: Variant - ''' + """ ua_types = [ ('NodeId', 'ExpandedNodeId'), ('TypeDefinitionNode', 'ExpandedNodeId'), ('Values', 'ListOfVariant'), - ] + ] def __init__(self): self.NodeId = ExpandedNodeId() @@ -4853,15 +4998,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'QueryDataSet(' + 'NodeId:' + str(self.NodeId) + ', ' + \ - 'TypeDefinitionNode:' + str(self.TypeDefinitionNode) + ', ' + \ - 'Values:' + str(self.Values) + ')' + return ', '.join(( + f'QueryDataSet(NodeId:{self.NodeId}', + f'TypeDefinitionNode:{self.TypeDefinitionNode}', + f'Values:{self.Values})' + )) __repr__ = __str__ class NodeReference(FrozenClass): - ''' + """ :ivar NodeId: :vartype NodeId: NodeId :ivar ReferenceTypeId: @@ -4870,14 +5017,14 @@ class NodeReference(FrozenClass): :vartype IsForward: Boolean :ivar ReferencedNodeIds: :vartype ReferencedNodeIds: NodeId - ''' + """ ua_types = [ ('NodeId', 'NodeId'), ('ReferenceTypeId', 'NodeId'), ('IsForward', 'Boolean'), ('ReferencedNodeIds', 'ListOfNodeId'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -4887,26 +5034,28 @@ def __init__(self): self._freeze = True def __str__(self): - return 'NodeReference(' + 'NodeId:' + str(self.NodeId) + ', ' + \ - 'ReferenceTypeId:' + str(self.ReferenceTypeId) + ', ' + \ - 'IsForward:' + str(self.IsForward) + ', ' + \ - 'ReferencedNodeIds:' + str(self.ReferencedNodeIds) + ')' + return ', '.join(( + f'NodeReference(NodeId:{self.NodeId}', + f'ReferenceTypeId:{self.ReferenceTypeId}', + f'IsForward:{self.IsForward}', + f'ReferencedNodeIds:{self.ReferencedNodeIds})' + )) __repr__ = __str__ class ContentFilterElement(FrozenClass): - ''' + """ :ivar FilterOperator: :vartype FilterOperator: FilterOperator :ivar FilterOperands: :vartype FilterOperands: ExtensionObject - ''' + """ ua_types = [ ('FilterOperator', 'FilterOperator'), ('FilterOperands', 'ListOfExtensionObject'), - ] + ] def __init__(self): self.FilterOperator = FilterOperator(0) @@ -4914,74 +5063,73 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ContentFilterElement(' + 'FilterOperator:' + str(self.FilterOperator) + ', ' + \ - 'FilterOperands:' + str(self.FilterOperands) + ')' + return f'ContentFilterElement(FilterOperator:{self.FilterOperator}, FilterOperands:{self.FilterOperands})' __repr__ = __str__ class ContentFilter(FrozenClass): - ''' + """ :ivar Elements: :vartype Elements: ContentFilterElement - ''' + """ ua_types = [ ('Elements', 'ListOfContentFilterElement'), - ] + ] def __init__(self): self.Elements = [] self._freeze = True def __str__(self): - return 'ContentFilter(' + 'Elements:' + str(self.Elements) + ')' + return f'ContentFilter(Elements:{self.Elements})' __repr__ = __str__ class ElementOperand(FrozenClass): - ''' + """ :ivar Index: :vartype Index: UInt32 - ''' + """ ua_types = [ ('Index', 'UInt32'), - ] + ] def __init__(self): self.Index = 0 self._freeze = True def __str__(self): - return 'ElementOperand(' + 'Index:' + str(self.Index) + ')' + return f'ElementOperand(Index:{self.Index})' __repr__ = __str__ class LiteralOperand(FrozenClass): - ''' + """ :ivar Value: :vartype Value: Variant - ''' + """ ua_types = [ ('Value', 'Variant'), - ] + ] def __init__(self): self.Value = Variant() self._freeze = True def __str__(self): - return 'LiteralOperand(' + 'Value:' + str(self.Value) + ')' + return f'LiteralOperand(Value:{self.Value})' __repr__ = __str__ class AttributeOperand(FrozenClass): - ''' + """ :ivar NodeId: :vartype NodeId: NodeId :ivar Alias: @@ -4992,7 +5140,7 @@ class AttributeOperand(FrozenClass): :vartype AttributeId: UInt32 :ivar IndexRange: :vartype IndexRange: String - ''' + """ ua_types = [ ('NodeId', 'NodeId'), @@ -5000,7 +5148,7 @@ class AttributeOperand(FrozenClass): ('BrowsePath', 'RelativePath'), ('AttributeId', 'UInt32'), ('IndexRange', 'String'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -5011,17 +5159,19 @@ def __init__(self): self._freeze = True def __str__(self): - return 'AttributeOperand(' + 'NodeId:' + str(self.NodeId) + ', ' + \ - 'Alias:' + str(self.Alias) + ', ' + \ - 'BrowsePath:' + str(self.BrowsePath) + ', ' + \ - 'AttributeId:' + str(self.AttributeId) + ', ' + \ - 'IndexRange:' + str(self.IndexRange) + ')' + return ', '.join(( + f'AttributeOperand(NodeId:{self.NodeId}', + f'Alias:{self.Alias}', + f'BrowsePath:{self.BrowsePath}', + f'AttributeId:{self.AttributeId}', + f'IndexRange:{self.IndexRange})' + )) __repr__ = __str__ class SimpleAttributeOperand(FrozenClass): - ''' + """ :ivar TypeDefinitionId: :vartype TypeDefinitionId: NodeId :ivar BrowsePath: @@ -5030,14 +5180,14 @@ class SimpleAttributeOperand(FrozenClass): :vartype AttributeId: UInt32 :ivar IndexRange: :vartype IndexRange: String - ''' + """ ua_types = [ ('TypeDefinitionId', 'NodeId'), ('BrowsePath', 'ListOfQualifiedName'), ('AttributeId', 'UInt32'), ('IndexRange', 'String'), - ] + ] def __init__(self): self.TypeDefinitionId = NodeId() @@ -5047,29 +5197,31 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SimpleAttributeOperand(' + 'TypeDefinitionId:' + str(self.TypeDefinitionId) + ', ' + \ - 'BrowsePath:' + str(self.BrowsePath) + ', ' + \ - 'AttributeId:' + str(self.AttributeId) + ', ' + \ - 'IndexRange:' + str(self.IndexRange) + ')' + return ', '.join(( + f'SimpleAttributeOperand(TypeDefinitionId:{self.TypeDefinitionId}', + f'BrowsePath:{self.BrowsePath}', + f'AttributeId:{self.AttributeId}', + f'IndexRange:{self.IndexRange})' + )) __repr__ = __str__ class ContentFilterElementResult(FrozenClass): - ''' + """ :ivar StatusCode: :vartype StatusCode: StatusCode :ivar OperandStatusCodes: :vartype OperandStatusCodes: StatusCode :ivar OperandDiagnosticInfos: :vartype OperandDiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('StatusCode', 'StatusCode'), ('OperandStatusCodes', 'ListOfStatusCode'), ('OperandDiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.StatusCode = StatusCode() @@ -5078,25 +5230,27 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ContentFilterElementResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ - 'OperandStatusCodes:' + str(self.OperandStatusCodes) + ', ' + \ - 'OperandDiagnosticInfos:' + str(self.OperandDiagnosticInfos) + ')' + return ', '.join(( + f'ContentFilterElementResult(StatusCode:{self.StatusCode}', + f'OperandStatusCodes:{self.OperandStatusCodes}', + f'OperandDiagnosticInfos:{self.OperandDiagnosticInfos})' + )) __repr__ = __str__ class ContentFilterResult(FrozenClass): - ''' + """ :ivar ElementResults: :vartype ElementResults: ContentFilterElementResult :ivar ElementDiagnosticInfos: :vartype ElementDiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('ElementResults', 'ListOfContentFilterElementResult'), ('ElementDiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.ElementResults = [] @@ -5104,27 +5258,29 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ContentFilterResult(' + 'ElementResults:' + str(self.ElementResults) + ', ' + \ - 'ElementDiagnosticInfos:' + str(self.ElementDiagnosticInfos) + ')' + return ', '.join(( + f'ContentFilterResult(ElementResults:{self.ElementResults}', + f'ElementDiagnosticInfos:{self.ElementDiagnosticInfos})' + )) __repr__ = __str__ class ParsingResult(FrozenClass): - ''' + """ :ivar StatusCode: :vartype StatusCode: StatusCode :ivar DataStatusCodes: :vartype DataStatusCodes: StatusCode :ivar DataDiagnosticInfos: :vartype DataDiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('StatusCode', 'StatusCode'), ('DataStatusCodes', 'ListOfStatusCode'), ('DataDiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.StatusCode = StatusCode() @@ -5133,15 +5289,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ParsingResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ - 'DataStatusCodes:' + str(self.DataStatusCodes) + ', ' + \ - 'DataDiagnosticInfos:' + str(self.DataDiagnosticInfos) + ')' + return ', '.join(( + f'ParsingResult(StatusCode:{self.StatusCode}', + f'DataStatusCodes:{self.DataStatusCodes}', + f'DataDiagnosticInfos:{self.DataDiagnosticInfos})' + )) __repr__ = __str__ class QueryFirstParameters(FrozenClass): - ''' + """ :ivar View: :vartype View: ViewDescription :ivar NodeTypes: @@ -5152,7 +5310,7 @@ class QueryFirstParameters(FrozenClass): :vartype MaxDataSetsToReturn: UInt32 :ivar MaxReferencesToReturn: :vartype MaxReferencesToReturn: UInt32 - ''' + """ ua_types = [ ('View', 'ViewDescription'), @@ -5160,7 +5318,7 @@ class QueryFirstParameters(FrozenClass): ('Filter', 'ContentFilter'), ('MaxDataSetsToReturn', 'UInt32'), ('MaxReferencesToReturn', 'UInt32'), - ] + ] def __init__(self): self.View = ViewDescription() @@ -5171,30 +5329,32 @@ def __init__(self): self._freeze = True def __str__(self): - return 'QueryFirstParameters(' + 'View:' + str(self.View) + ', ' + \ - 'NodeTypes:' + str(self.NodeTypes) + ', ' + \ - 'Filter:' + str(self.Filter) + ', ' + \ - 'MaxDataSetsToReturn:' + str(self.MaxDataSetsToReturn) + ', ' + \ - 'MaxReferencesToReturn:' + str(self.MaxReferencesToReturn) + ')' + return ', '.join(( + f'QueryFirstParameters(View:{self.View}', + f'NodeTypes:{self.NodeTypes}', + f'Filter:{self.Filter}', + f'MaxDataSetsToReturn:{self.MaxDataSetsToReturn}', + f'MaxReferencesToReturn:{self.MaxReferencesToReturn})' + )) __repr__ = __str__ class QueryFirstRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: QueryFirstParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'QueryFirstParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.QueryFirstRequest_Encoding_DefaultBinary) @@ -5203,15 +5363,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'QueryFirstRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'QueryFirstRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class QueryFirstResult(FrozenClass): - ''' + """ :ivar QueryDataSets: :vartype QueryDataSets: QueryDataSet :ivar ContinuationPoint: @@ -5222,7 +5384,7 @@ class QueryFirstResult(FrozenClass): :vartype DiagnosticInfos: DiagnosticInfo :ivar FilterResult: :vartype FilterResult: ContentFilterResult - ''' + """ ua_types = [ ('QueryDataSets', 'ListOfQueryDataSet'), @@ -5230,7 +5392,7 @@ class QueryFirstResult(FrozenClass): ('ParsingResults', 'ListOfParsingResult'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), ('FilterResult', 'ContentFilterResult'), - ] + ] def __init__(self): self.QueryDataSets = [] @@ -5241,30 +5403,32 @@ def __init__(self): self._freeze = True def __str__(self): - return 'QueryFirstResult(' + 'QueryDataSets:' + str(self.QueryDataSets) + ', ' + \ - 'ContinuationPoint:' + str(self.ContinuationPoint) + ', ' + \ - 'ParsingResults:' + str(self.ParsingResults) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ', ' + \ - 'FilterResult:' + str(self.FilterResult) + ')' + return ', '.join(( + f'QueryFirstResult(QueryDataSets:{self.QueryDataSets}', + f'ContinuationPoint:{self.ContinuationPoint}', + f'ParsingResults:{self.ParsingResults}', + f'DiagnosticInfos:{self.DiagnosticInfos}', + f'FilterResult:{self.FilterResult})' + )) __repr__ = __str__ class QueryFirstResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: QueryFirstResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'QueryFirstResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.QueryFirstResponse_Encoding_DefaultBinary) @@ -5273,25 +5437,27 @@ def __init__(self): self._freeze = True def __str__(self): - return 'QueryFirstResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'QueryFirstResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class QueryNextParameters(FrozenClass): - ''' + """ :ivar ReleaseContinuationPoint: :vartype ReleaseContinuationPoint: Boolean :ivar ContinuationPoint: :vartype ContinuationPoint: ByteString - ''' + """ ua_types = [ ('ReleaseContinuationPoint', 'Boolean'), ('ContinuationPoint', 'ByteString'), - ] + ] def __init__(self): self.ReleaseContinuationPoint = True @@ -5299,27 +5465,29 @@ def __init__(self): self._freeze = True def __str__(self): - return 'QueryNextParameters(' + 'ReleaseContinuationPoint:' + str(self.ReleaseContinuationPoint) + ', ' + \ - 'ContinuationPoint:' + str(self.ContinuationPoint) + ')' + return ', '.join(( + f'QueryNextParameters(ReleaseContinuationPoint:{self.ReleaseContinuationPoint}', + f'ContinuationPoint:{self.ContinuationPoint})' + )) __repr__ = __str__ class QueryNextRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: QueryNextParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'QueryNextParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.QueryNextRequest_Encoding_DefaultBinary) @@ -5328,25 +5496,27 @@ def __init__(self): self._freeze = True def __str__(self): - return 'QueryNextRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'QueryNextRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class QueryNextResult(FrozenClass): - ''' + """ :ivar QueryDataSets: :vartype QueryDataSets: QueryDataSet :ivar RevisedContinuationPoint: :vartype RevisedContinuationPoint: ByteString - ''' + """ ua_types = [ ('QueryDataSets', 'ListOfQueryDataSet'), ('RevisedContinuationPoint', 'ByteString'), - ] + ] def __init__(self): self.QueryDataSets = [] @@ -5354,27 +5524,29 @@ def __init__(self): self._freeze = True def __str__(self): - return 'QueryNextResult(' + 'QueryDataSets:' + str(self.QueryDataSets) + ', ' + \ - 'RevisedContinuationPoint:' + str(self.RevisedContinuationPoint) + ')' + return ', '.join(( + f'QueryNextResult(QueryDataSets:{self.QueryDataSets}', + f'RevisedContinuationPoint:{self.RevisedContinuationPoint})' + )) __repr__ = __str__ class QueryNextResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: QueryNextResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'QueryNextResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.QueryNextResponse_Encoding_DefaultBinary) @@ -5383,15 +5555,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'QueryNextResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'QueryNextResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class ReadValueId(FrozenClass): - ''' + """ :ivar NodeId: :vartype NodeId: NodeId :ivar AttributeId: @@ -5400,14 +5574,14 @@ class ReadValueId(FrozenClass): :vartype IndexRange: String :ivar DataEncoding: :vartype DataEncoding: QualifiedName - ''' + """ ua_types = [ ('NodeId', 'NodeId'), ('AttributeId', 'UInt32'), ('IndexRange', 'String'), ('DataEncoding', 'QualifiedName'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -5417,29 +5591,31 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ReadValueId(' + 'NodeId:' + str(self.NodeId) + ', ' + \ - 'AttributeId:' + str(self.AttributeId) + ', ' + \ - 'IndexRange:' + str(self.IndexRange) + ', ' + \ - 'DataEncoding:' + str(self.DataEncoding) + ')' + return ', '.join(( + f'ReadValueId(NodeId:{self.NodeId}', + f'AttributeId:{self.AttributeId}', + f'IndexRange:{self.IndexRange}', + f'DataEncoding:{self.DataEncoding})' + )) __repr__ = __str__ class ReadParameters(FrozenClass): - ''' + """ :ivar MaxAge: :vartype MaxAge: Double :ivar TimestampsToReturn: :vartype TimestampsToReturn: TimestampsToReturn :ivar NodesToRead: :vartype NodesToRead: ReadValueId - ''' + """ ua_types = [ ('MaxAge', 'Double'), ('TimestampsToReturn', 'TimestampsToReturn'), ('NodesToRead', 'ListOfReadValueId'), - ] + ] def __init__(self): self.MaxAge = 0 @@ -5448,28 +5624,30 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ReadParameters(' + 'MaxAge:' + str(self.MaxAge) + ', ' + \ - 'TimestampsToReturn:' + str(self.TimestampsToReturn) + ', ' + \ - 'NodesToRead:' + str(self.NodesToRead) + ')' + return ', '.join(( + f'ReadParameters(MaxAge:{self.MaxAge}', + f'TimestampsToReturn:{self.TimestampsToReturn}', + f'NodesToRead:{self.NodesToRead})' + )) __repr__ = __str__ class ReadRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: ReadParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'ReadParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.ReadRequest_Encoding_DefaultBinary) @@ -5478,15 +5656,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ReadRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'ReadRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class ReadResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: @@ -5495,14 +5675,14 @@ class ReadResponse(FrozenClass): :vartype Results: DataValue :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfDataValue'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.ReadResponse_Encoding_DefaultBinary) @@ -5512,16 +5692,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ReadResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return ', '.join(( + f'ReadResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Results:{self.Results}', + f'DiagnosticInfos:{self.DiagnosticInfos})' + )) __repr__ = __str__ class HistoryReadValueId(FrozenClass): - ''' + """ :ivar NodeId: :vartype NodeId: NodeId :ivar IndexRange: @@ -5530,14 +5712,14 @@ class HistoryReadValueId(FrozenClass): :vartype DataEncoding: QualifiedName :ivar ContinuationPoint: :vartype ContinuationPoint: ByteString - ''' + """ ua_types = [ ('NodeId', 'NodeId'), ('IndexRange', 'String'), ('DataEncoding', 'QualifiedName'), ('ContinuationPoint', 'ByteString'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -5547,29 +5729,31 @@ def __init__(self): self._freeze = True def __str__(self): - return 'HistoryReadValueId(' + 'NodeId:' + str(self.NodeId) + ', ' + \ - 'IndexRange:' + str(self.IndexRange) + ', ' + \ - 'DataEncoding:' + str(self.DataEncoding) + ', ' + \ - 'ContinuationPoint:' + str(self.ContinuationPoint) + ')' + return ', '.join(( + f'HistoryReadValueId(NodeId:{self.NodeId}', + f'IndexRange:{self.IndexRange}', + f'DataEncoding:{self.DataEncoding}', + f'ContinuationPoint:{self.ContinuationPoint})' + )) __repr__ = __str__ class HistoryReadResult(FrozenClass): - ''' + """ :ivar StatusCode: :vartype StatusCode: StatusCode :ivar ContinuationPoint: :vartype ContinuationPoint: ByteString :ivar HistoryData: :vartype HistoryData: ExtensionObject - ''' + """ ua_types = [ ('StatusCode', 'StatusCode'), ('ContinuationPoint', 'ByteString'), ('HistoryData', 'ExtensionObject'), - ] + ] def __init__(self): self.StatusCode = StatusCode() @@ -5578,31 +5762,33 @@ def __init__(self): self._freeze = True def __str__(self): - return 'HistoryReadResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ - 'ContinuationPoint:' + str(self.ContinuationPoint) + ', ' + \ - 'HistoryData:' + str(self.HistoryData) + ')' + return ', '.join(( + f'HistoryReadResult(StatusCode:{self.StatusCode}', + f'ContinuationPoint:{self.ContinuationPoint}', + f'HistoryData:{self.HistoryData})' + )) __repr__ = __str__ class HistoryReadDetails(FrozenClass): - ''' - ''' + """ + """ ua_types = [ - ] + ] def __init__(self): self._freeze = True def __str__(self): - return 'HistoryReadDetails(' + + ')' + return 'HistoryReadDetails()' __repr__ = __str__ class ReadEventDetails(FrozenClass): - ''' + """ :ivar NumValuesPerNode: :vartype NumValuesPerNode: UInt32 :ivar StartTime: @@ -5611,14 +5797,14 @@ class ReadEventDetails(FrozenClass): :vartype EndTime: DateTime :ivar Filter: :vartype Filter: EventFilter - ''' + """ ua_types = [ ('NumValuesPerNode', 'UInt32'), ('StartTime', 'DateTime'), ('EndTime', 'DateTime'), ('Filter', 'EventFilter'), - ] + ] def __init__(self): self.NumValuesPerNode = 0 @@ -5628,16 +5814,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ReadEventDetails(' + 'NumValuesPerNode:' + str(self.NumValuesPerNode) + ', ' + \ - 'StartTime:' + str(self.StartTime) + ', ' + \ - 'EndTime:' + str(self.EndTime) + ', ' + \ - 'Filter:' + str(self.Filter) + ')' + return ', '.join(( + f'ReadEventDetails(NumValuesPerNode:{self.NumValuesPerNode}', + f'StartTime:{self.StartTime}', + f'EndTime:{self.EndTime}', + f'Filter:{self.Filter})' + )) __repr__ = __str__ class ReadRawModifiedDetails(FrozenClass): - ''' + """ :ivar IsReadModified: :vartype IsReadModified: Boolean :ivar StartTime: @@ -5648,7 +5836,7 @@ class ReadRawModifiedDetails(FrozenClass): :vartype NumValuesPerNode: UInt32 :ivar ReturnBounds: :vartype ReturnBounds: Boolean - ''' + """ ua_types = [ ('IsReadModified', 'Boolean'), @@ -5656,7 +5844,7 @@ class ReadRawModifiedDetails(FrozenClass): ('EndTime', 'DateTime'), ('NumValuesPerNode', 'UInt32'), ('ReturnBounds', 'Boolean'), - ] + ] def __init__(self): self.IsReadModified = True @@ -5667,17 +5855,19 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ReadRawModifiedDetails(' + 'IsReadModified:' + str(self.IsReadModified) + ', ' + \ - 'StartTime:' + str(self.StartTime) + ', ' + \ - 'EndTime:' + str(self.EndTime) + ', ' + \ - 'NumValuesPerNode:' + str(self.NumValuesPerNode) + ', ' + \ - 'ReturnBounds:' + str(self.ReturnBounds) + ')' + return ', '.join(( + f'ReadRawModifiedDetails(IsReadModified:{self.IsReadModified}', + f'StartTime:{self.StartTime}', + f'EndTime:{self.EndTime}', + f'NumValuesPerNode:{self.NumValuesPerNode}', + f'ReturnBounds:{self.ReturnBounds})' + )) __repr__ = __str__ class ReadProcessedDetails(FrozenClass): - ''' + """ :ivar StartTime: :vartype StartTime: DateTime :ivar EndTime: @@ -5688,7 +5878,7 @@ class ReadProcessedDetails(FrozenClass): :vartype AggregateType: NodeId :ivar AggregateConfiguration: :vartype AggregateConfiguration: AggregateConfiguration - ''' + """ ua_types = [ ('StartTime', 'DateTime'), @@ -5696,7 +5886,7 @@ class ReadProcessedDetails(FrozenClass): ('ProcessingInterval', 'Double'), ('AggregateType', 'ListOfNodeId'), ('AggregateConfiguration', 'AggregateConfiguration'), - ] + ] def __init__(self): self.StartTime = datetime.utcnow() @@ -5707,27 +5897,29 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ReadProcessedDetails(' + 'StartTime:' + str(self.StartTime) + ', ' + \ - 'EndTime:' + str(self.EndTime) + ', ' + \ - 'ProcessingInterval:' + str(self.ProcessingInterval) + ', ' + \ - 'AggregateType:' + str(self.AggregateType) + ', ' + \ - 'AggregateConfiguration:' + str(self.AggregateConfiguration) + ')' + return ', '.join(( + f'ReadProcessedDetails(StartTime:{self.StartTime}', + f'EndTime:{self.EndTime}', + f'ProcessingInterval:{self.ProcessingInterval}', + f'AggregateType:{self.AggregateType}', + f'AggregateConfiguration:{self.AggregateConfiguration})' + )) __repr__ = __str__ class ReadAtTimeDetails(FrozenClass): - ''' + """ :ivar ReqTimes: :vartype ReqTimes: DateTime :ivar UseSimpleBounds: :vartype UseSimpleBounds: Boolean - ''' + """ ua_types = [ ('ReqTimes', 'ListOfDateTime'), ('UseSimpleBounds', 'Boolean'), - ] + ] def __init__(self): self.ReqTimes = [] @@ -5735,47 +5927,46 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ReadAtTimeDetails(' + 'ReqTimes:' + str(self.ReqTimes) + ', ' + \ - 'UseSimpleBounds:' + str(self.UseSimpleBounds) + ')' + return f'ReadAtTimeDetails(ReqTimes:{self.ReqTimes}, UseSimpleBounds:{self.UseSimpleBounds})' __repr__ = __str__ class HistoryData(FrozenClass): - ''' + """ :ivar DataValues: :vartype DataValues: DataValue - ''' + """ ua_types = [ ('DataValues', 'ListOfDataValue'), - ] + ] def __init__(self): self.DataValues = [] self._freeze = True def __str__(self): - return 'HistoryData(' + 'DataValues:' + str(self.DataValues) + ')' + return f'HistoryData(DataValues:{self.DataValues})' __repr__ = __str__ class ModificationInfo(FrozenClass): - ''' + """ :ivar ModificationTime: :vartype ModificationTime: DateTime :ivar UpdateType: :vartype UpdateType: HistoryUpdateType :ivar UserName: :vartype UserName: String - ''' + """ ua_types = [ ('ModificationTime', 'DateTime'), ('UpdateType', 'HistoryUpdateType'), ('UserName', 'String'), - ] + ] def __init__(self): self.ModificationTime = datetime.utcnow() @@ -5784,25 +5975,27 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ModificationInfo(' + 'ModificationTime:' + str(self.ModificationTime) + ', ' + \ - 'UpdateType:' + str(self.UpdateType) + ', ' + \ - 'UserName:' + str(self.UserName) + ')' + return ', '.join(( + f'ModificationInfo(ModificationTime:{self.ModificationTime}', + f'UpdateType:{self.UpdateType}', + f'UserName:{self.UserName})' + )) __repr__ = __str__ class HistoryModifiedData(FrozenClass): - ''' + """ :ivar DataValues: :vartype DataValues: DataValue :ivar ModificationInfos: :vartype ModificationInfos: ModificationInfo - ''' + """ ua_types = [ ('DataValues', 'ListOfDataValue'), ('ModificationInfos', 'ListOfModificationInfo'), - ] + ] def __init__(self): self.DataValues = [] @@ -5810,34 +6003,33 @@ def __init__(self): self._freeze = True def __str__(self): - return 'HistoryModifiedData(' + 'DataValues:' + str(self.DataValues) + ', ' + \ - 'ModificationInfos:' + str(self.ModificationInfos) + ')' + return f'HistoryModifiedData(DataValues:{self.DataValues}, ModificationInfos:{self.ModificationInfos})' __repr__ = __str__ class HistoryEvent(FrozenClass): - ''' + """ :ivar Events: :vartype Events: HistoryEventFieldList - ''' + """ ua_types = [ ('Events', 'ListOfHistoryEventFieldList'), - ] + ] def __init__(self): self.Events = [] self._freeze = True def __str__(self): - return 'HistoryEvent(' + 'Events:' + str(self.Events) + ')' + return f'HistoryEvent(Events:{self.Events})' __repr__ = __str__ class HistoryReadParameters(FrozenClass): - ''' + """ :ivar HistoryReadDetails: :vartype HistoryReadDetails: ExtensionObject :ivar TimestampsToReturn: @@ -5846,14 +6038,14 @@ class HistoryReadParameters(FrozenClass): :vartype ReleaseContinuationPoints: Boolean :ivar NodesToRead: :vartype NodesToRead: HistoryReadValueId - ''' + """ ua_types = [ ('HistoryReadDetails', 'ExtensionObject'), ('TimestampsToReturn', 'TimestampsToReturn'), ('ReleaseContinuationPoints', 'Boolean'), ('NodesToRead', 'ListOfHistoryReadValueId'), - ] + ] def __init__(self): self.HistoryReadDetails = ExtensionObject() @@ -5863,29 +6055,31 @@ def __init__(self): self._freeze = True def __str__(self): - return 'HistoryReadParameters(' + 'HistoryReadDetails:' + str(self.HistoryReadDetails) + ', ' + \ - 'TimestampsToReturn:' + str(self.TimestampsToReturn) + ', ' + \ - 'ReleaseContinuationPoints:' + str(self.ReleaseContinuationPoints) + ', ' + \ - 'NodesToRead:' + str(self.NodesToRead) + ')' + return ', '.join(( + f'HistoryReadParameters(HistoryReadDetails:{self.HistoryReadDetails}', + f'TimestampsToReturn:{self.TimestampsToReturn}', + f'ReleaseContinuationPoints:{self.ReleaseContinuationPoints}', + f'NodesToRead:{self.NodesToRead})' + )) __repr__ = __str__ class HistoryReadRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: HistoryReadParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'HistoryReadParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.HistoryReadRequest_Encoding_DefaultBinary) @@ -5894,15 +6088,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'HistoryReadRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'HistoryReadRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class HistoryReadResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: @@ -5911,14 +6107,14 @@ class HistoryReadResponse(FrozenClass): :vartype Results: HistoryReadResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfHistoryReadResult'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.HistoryReadResponse_Encoding_DefaultBinary) @@ -5928,16 +6124,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'HistoryReadResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return ', '.join(( + f'HistoryReadResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Results:{self.Results}', + F'DiagnosticInfos:{self.DiagnosticInfos})' + )) __repr__ = __str__ class WriteValue(FrozenClass): - ''' + """ :ivar NodeId: :vartype NodeId: NodeId :ivar AttributeId: @@ -5946,14 +6144,14 @@ class WriteValue(FrozenClass): :vartype IndexRange: String :ivar Value: :vartype Value: DataValue - ''' + """ ua_types = [ ('NodeId', 'NodeId'), ('AttributeId', 'UInt32'), ('IndexRange', 'String'), ('Value', 'DataValue'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -5963,49 +6161,51 @@ def __init__(self): self._freeze = True def __str__(self): - return 'WriteValue(' + 'NodeId:' + str(self.NodeId) + ', ' + \ - 'AttributeId:' + str(self.AttributeId) + ', ' + \ - 'IndexRange:' + str(self.IndexRange) + ', ' + \ - 'Value:' + str(self.Value) + ')' + return ', '.join(( + f'WriteValue(NodeId:{self.NodeId}', + f'AttributeId:{self.AttributeId}', + f'IndexRange:{self.IndexRange}', + f'Value:{self.Value})' + )) __repr__ = __str__ class WriteParameters(FrozenClass): - ''' + """ :ivar NodesToWrite: :vartype NodesToWrite: WriteValue - ''' + """ ua_types = [ ('NodesToWrite', 'ListOfWriteValue'), - ] + ] def __init__(self): self.NodesToWrite = [] self._freeze = True def __str__(self): - return 'WriteParameters(' + 'NodesToWrite:' + str(self.NodesToWrite) + ')' + return f'WriteParameters(NodesToWrite:{self.NodesToWrite})' __repr__ = __str__ class WriteRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: WriteParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'WriteParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.WriteRequest_Encoding_DefaultBinary) @@ -6014,15 +6214,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'WriteRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'WriteRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class WriteResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: @@ -6031,14 +6233,14 @@ class WriteResponse(FrozenClass): :vartype Results: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfStatusCode'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.WriteResponse_Encoding_DefaultBinary) @@ -6048,49 +6250,51 @@ def __init__(self): self._freeze = True def __str__(self): - return 'WriteResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return ', '.join(( + f'WriteResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Results:{self.Results}', + f'DiagnosticInfos:{self.DiagnosticInfos})' + )) __repr__ = __str__ class HistoryUpdateDetails(FrozenClass): - ''' + """ :ivar NodeId: :vartype NodeId: NodeId - ''' + """ ua_types = [ ('NodeId', 'NodeId'), - ] + ] def __init__(self): self.NodeId = NodeId() self._freeze = True def __str__(self): - return 'HistoryUpdateDetails(' + 'NodeId:' + str(self.NodeId) + ')' + return f'HistoryUpdateDetails(NodeId:{self.NodeId})' __repr__ = __str__ class UpdateDataDetails(FrozenClass): - ''' + """ :ivar NodeId: :vartype NodeId: NodeId :ivar PerformInsertReplace: :vartype PerformInsertReplace: PerformUpdateType :ivar UpdateValues: :vartype UpdateValues: DataValue - ''' + """ ua_types = [ ('NodeId', 'NodeId'), ('PerformInsertReplace', 'PerformUpdateType'), ('UpdateValues', 'ListOfDataValue'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -6099,28 +6303,30 @@ def __init__(self): self._freeze = True def __str__(self): - return 'UpdateDataDetails(' + 'NodeId:' + str(self.NodeId) + ', ' + \ - 'PerformInsertReplace:' + str(self.PerformInsertReplace) + ', ' + \ - 'UpdateValues:' + str(self.UpdateValues) + ')' + return ', '.join(( + f'UpdateDataDetails(NodeId:{self.NodeId}', + f'PerformInsertReplace:{self.PerformInsertReplace}', + f'UpdateValues:{self.UpdateValues})' + )) __repr__ = __str__ class UpdateStructureDataDetails(FrozenClass): - ''' + """ :ivar NodeId: :vartype NodeId: NodeId :ivar PerformInsertReplace: :vartype PerformInsertReplace: PerformUpdateType :ivar UpdateValues: :vartype UpdateValues: DataValue - ''' + """ ua_types = [ ('NodeId', 'NodeId'), ('PerformInsertReplace', 'PerformUpdateType'), ('UpdateValues', 'ListOfDataValue'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -6129,15 +6335,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'UpdateStructureDataDetails(' + 'NodeId:' + str(self.NodeId) + ', ' + \ - 'PerformInsertReplace:' + str(self.PerformInsertReplace) + ', ' + \ - 'UpdateValues:' + str(self.UpdateValues) + ')' + return ', '.join(( + f'UpdateStructureDataDetails(NodeId:{self.NodeId}', + f'PerformInsertReplace:{self.PerformInsertReplace}', + f'UpdateValues:{self.UpdateValues})' + )) __repr__ = __str__ class UpdateEventDetails(FrozenClass): - ''' + """ :ivar NodeId: :vartype NodeId: NodeId :ivar PerformInsertReplace: @@ -6146,14 +6354,14 @@ class UpdateEventDetails(FrozenClass): :vartype Filter: EventFilter :ivar EventData: :vartype EventData: HistoryEventFieldList - ''' + """ ua_types = [ ('NodeId', 'NodeId'), ('PerformInsertReplace', 'PerformUpdateType'), ('Filter', 'EventFilter'), ('EventData', 'ListOfHistoryEventFieldList'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -6163,16 +6371,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'UpdateEventDetails(' + 'NodeId:' + str(self.NodeId) + ', ' + \ - 'PerformInsertReplace:' + str(self.PerformInsertReplace) + ', ' + \ - 'Filter:' + str(self.Filter) + ', ' + \ - 'EventData:' + str(self.EventData) + ')' + return ', '.join(( + f'UpdateEventDetails(NodeId:{self.NodeId}', + f'PerformInsertReplace:{self.PerformInsertReplace}', + f'Filter:{self.Filter}', + f'EventData:{self.EventData})' + )) __repr__ = __str__ class DeleteRawModifiedDetails(FrozenClass): - ''' + """ :ivar NodeId: :vartype NodeId: NodeId :ivar IsDeleteModified: @@ -6181,14 +6391,14 @@ class DeleteRawModifiedDetails(FrozenClass): :vartype StartTime: DateTime :ivar EndTime: :vartype EndTime: DateTime - ''' + """ ua_types = [ ('NodeId', 'NodeId'), ('IsDeleteModified', 'Boolean'), ('StartTime', 'DateTime'), ('EndTime', 'DateTime'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -6198,26 +6408,28 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DeleteRawModifiedDetails(' + 'NodeId:' + str(self.NodeId) + ', ' + \ - 'IsDeleteModified:' + str(self.IsDeleteModified) + ', ' + \ - 'StartTime:' + str(self.StartTime) + ', ' + \ - 'EndTime:' + str(self.EndTime) + ')' + return ', '.join(( + f'DeleteRawModifiedDetails(NodeId:{self.NodeId}', + f'IsDeleteModified:{self.IsDeleteModified}', + f'StartTime:{self.StartTime}', + f'EndTime:{self.EndTime})' + )) __repr__ = __str__ class DeleteAtTimeDetails(FrozenClass): - ''' + """ :ivar NodeId: :vartype NodeId: NodeId :ivar ReqTimes: :vartype ReqTimes: DateTime - ''' + """ ua_types = [ ('NodeId', 'NodeId'), ('ReqTimes', 'ListOfDateTime'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -6225,24 +6437,23 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DeleteAtTimeDetails(' + 'NodeId:' + str(self.NodeId) + ', ' + \ - 'ReqTimes:' + str(self.ReqTimes) + ')' + return f'DeleteAtTimeDetails(NodeId:{self.NodeId}, ReqTimes:{self.ReqTimes})' __repr__ = __str__ class DeleteEventDetails(FrozenClass): - ''' + """ :ivar NodeId: :vartype NodeId: NodeId :ivar EventIds: :vartype EventIds: ByteString - ''' + """ ua_types = [ ('NodeId', 'NodeId'), ('EventIds', 'ListOfByteString'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -6250,27 +6461,26 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DeleteEventDetails(' + 'NodeId:' + str(self.NodeId) + ', ' + \ - 'EventIds:' + str(self.EventIds) + ')' + return f'DeleteEventDetails(NodeId:{self.NodeId}, EventIds:{self.EventIds})' __repr__ = __str__ class HistoryUpdateResult(FrozenClass): - ''' + """ :ivar StatusCode: :vartype StatusCode: StatusCode :ivar OperationResults: :vartype OperationResults: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('StatusCode', 'StatusCode'), ('OperationResults', 'ListOfStatusCode'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.StatusCode = StatusCode() @@ -6279,48 +6489,50 @@ def __init__(self): self._freeze = True def __str__(self): - return 'HistoryUpdateResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ - 'OperationResults:' + str(self.OperationResults) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return ', '.join(( + f'HistoryUpdateResult(StatusCode:{self.StatusCode}', + f'OperationResults:{self.OperationResults}', + f'DiagnosticInfos:{self.DiagnosticInfos})' + )) __repr__ = __str__ class HistoryUpdateParameters(FrozenClass): - ''' + """ :ivar HistoryUpdateDetails: :vartype HistoryUpdateDetails: ExtensionObject - ''' + """ ua_types = [ ('HistoryUpdateDetails', 'ListOfExtensionObject'), - ] + ] def __init__(self): self.HistoryUpdateDetails = [] self._freeze = True def __str__(self): - return 'HistoryUpdateParameters(' + 'HistoryUpdateDetails:' + str(self.HistoryUpdateDetails) + ')' + return f'HistoryUpdateParameters(HistoryUpdateDetails:{self.HistoryUpdateDetails})' __repr__ = __str__ class HistoryUpdateRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: HistoryUpdateParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'HistoryUpdateParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.HistoryUpdateRequest_Encoding_DefaultBinary) @@ -6329,15 +6541,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'HistoryUpdateRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'HistoryUpdateRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class HistoryUpdateResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: @@ -6346,14 +6560,14 @@ class HistoryUpdateResponse(FrozenClass): :vartype Results: HistoryUpdateResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfHistoryUpdateResult'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.HistoryUpdateResponse_Encoding_DefaultBinary) @@ -6363,29 +6577,31 @@ def __init__(self): self._freeze = True def __str__(self): - return 'HistoryUpdateResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return ', '.join(( + f'HistoryUpdateResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Results:{self.Results}', + f'DiagnosticInfos:{self.DiagnosticInfos})' + )) __repr__ = __str__ class CallMethodRequest(FrozenClass): - ''' + """ :ivar ObjectId: :vartype ObjectId: NodeId :ivar MethodId: :vartype MethodId: NodeId :ivar InputArguments: :vartype InputArguments: Variant - ''' + """ ua_types = [ ('ObjectId', 'NodeId'), ('MethodId', 'NodeId'), ('InputArguments', 'ListOfVariant'), - ] + ] def __init__(self): self.ObjectId = NodeId() @@ -6394,15 +6610,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CallMethodRequest(' + 'ObjectId:' + str(self.ObjectId) + ', ' + \ - 'MethodId:' + str(self.MethodId) + ', ' + \ - 'InputArguments:' + str(self.InputArguments) + ')' + return ', '.join(( + f'CallMethodRequest(ObjectId:{self.ObjectId}', + f'MethodId:{self.MethodId}', + f'InputArguments:{self.InputArguments})' + )) __repr__ = __str__ class CallMethodResult(FrozenClass): - ''' + """ :ivar StatusCode: :vartype StatusCode: StatusCode :ivar InputArgumentResults: @@ -6411,14 +6629,14 @@ class CallMethodResult(FrozenClass): :vartype InputArgumentDiagnosticInfos: DiagnosticInfo :ivar OutputArguments: :vartype OutputArguments: Variant - ''' + """ ua_types = [ ('StatusCode', 'StatusCode'), ('InputArgumentResults', 'ListOfStatusCode'), ('InputArgumentDiagnosticInfos', 'ListOfDiagnosticInfo'), ('OutputArguments', 'ListOfVariant'), - ] + ] def __init__(self): self.StatusCode = StatusCode() @@ -6428,49 +6646,51 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CallMethodResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ - 'InputArgumentResults:' + str(self.InputArgumentResults) + ', ' + \ - 'InputArgumentDiagnosticInfos:' + str(self.InputArgumentDiagnosticInfos) + ', ' + \ - 'OutputArguments:' + str(self.OutputArguments) + ')' + return ', '.join(( + f'CallMethodResult(StatusCode:{self.StatusCode}', + f'InputArgumentResults:{self.InputArgumentResults}', + f'InputArgumentDiagnosticInfos:{self.InputArgumentDiagnosticInfos}', + f'OutputArguments:{self.OutputArguments})' + )) __repr__ = __str__ class CallParameters(FrozenClass): - ''' + """ :ivar MethodsToCall: :vartype MethodsToCall: CallMethodRequest - ''' + """ ua_types = [ ('MethodsToCall', 'ListOfCallMethodRequest'), - ] + ] def __init__(self): self.MethodsToCall = [] self._freeze = True def __str__(self): - return 'CallParameters(' + 'MethodsToCall:' + str(self.MethodsToCall) + ')' + return f'CallParameters(MethodsToCall:{self.MethodsToCall})' __repr__ = __str__ class CallRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: CallParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'CallParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CallRequest_Encoding_DefaultBinary) @@ -6479,15 +6699,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CallRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'CallRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class CallResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: @@ -6496,14 +6718,14 @@ class CallResponse(FrozenClass): :vartype Results: CallMethodResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfCallMethodResult'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CallResponse_Encoding_DefaultBinary) @@ -6513,45 +6735,47 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CallResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return ', '.join(( + f'CallResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Results:{self.Results}', + f'DiagnosticInfos:{self.DiagnosticInfos})' + )) __repr__ = __str__ class MonitoringFilter(FrozenClass): - ''' - ''' + """ + """ ua_types = [ - ] + ] def __init__(self): self._freeze = True def __str__(self): - return 'MonitoringFilter(' + + ')' + return 'MonitoringFilter()' __repr__ = __str__ class DataChangeFilter(FrozenClass): - ''' + """ :ivar Trigger: :vartype Trigger: DataChangeTrigger :ivar DeadbandType: :vartype DeadbandType: UInt32 :ivar DeadbandValue: :vartype DeadbandValue: Double - ''' + """ ua_types = [ ('Trigger', 'DataChangeTrigger'), ('DeadbandType', 'UInt32'), ('DeadbandValue', 'Double'), - ] + ] def __init__(self): self.Trigger = DataChangeTrigger(0) @@ -6560,25 +6784,27 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DataChangeFilter(' + 'Trigger:' + str(self.Trigger) + ', ' + \ - 'DeadbandType:' + str(self.DeadbandType) + ', ' + \ - 'DeadbandValue:' + str(self.DeadbandValue) + ')' + return ', '.join(( + f'DataChangeFilter(Trigger:{self.Trigger}', + f'DeadbandType:{self.DeadbandType}', + f'DeadbandValue:{self.DeadbandValue})' + )) __repr__ = __str__ class EventFilter(FrozenClass): - ''' + """ :ivar SelectClauses: :vartype SelectClauses: SimpleAttributeOperand :ivar WhereClause: :vartype WhereClause: ContentFilter - ''' + """ ua_types = [ ('SelectClauses', 'ListOfSimpleAttributeOperand'), ('WhereClause', 'ContentFilter'), - ] + ] def __init__(self): self.SelectClauses = [] @@ -6586,14 +6812,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'EventFilter(' + 'SelectClauses:' + str(self.SelectClauses) + ', ' + \ - 'WhereClause:' + str(self.WhereClause) + ')' + return f'EventFilter(SelectClauses:{self.SelectClauses}, WhereClause:{self.WhereClause})' __repr__ = __str__ class AggregateConfiguration(FrozenClass): - ''' + """ :ivar UseServerCapabilitiesDefaults: :vartype UseServerCapabilitiesDefaults: Boolean :ivar TreatUncertainAsBad: @@ -6604,7 +6829,7 @@ class AggregateConfiguration(FrozenClass): :vartype PercentDataGood: Byte :ivar UseSlopedExtrapolation: :vartype UseSlopedExtrapolation: Boolean - ''' + """ ua_types = [ ('UseServerCapabilitiesDefaults', 'Boolean'), @@ -6612,7 +6837,7 @@ class AggregateConfiguration(FrozenClass): ('PercentDataBad', 'Byte'), ('PercentDataGood', 'Byte'), ('UseSlopedExtrapolation', 'Boolean'), - ] + ] def __init__(self): self.UseServerCapabilitiesDefaults = True @@ -6623,17 +6848,19 @@ def __init__(self): self._freeze = True def __str__(self): - return 'AggregateConfiguration(' + 'UseServerCapabilitiesDefaults:' + str(self.UseServerCapabilitiesDefaults) + ', ' + \ - 'TreatUncertainAsBad:' + str(self.TreatUncertainAsBad) + ', ' + \ - 'PercentDataBad:' + str(self.PercentDataBad) + ', ' + \ - 'PercentDataGood:' + str(self.PercentDataGood) + ', ' + \ - 'UseSlopedExtrapolation:' + str(self.UseSlopedExtrapolation) + ')' + return ', '.join(( + f'AggregateConfiguration(UseServerCapabilitiesDefaults:{self.UseServerCapabilitiesDefaults}', + f'TreatUncertainAsBad:{self.TreatUncertainAsBad}', + f'PercentDataBad:{self.PercentDataBad}', + f'PercentDataGood:{self.PercentDataGood}', + f'UseSlopedExtrapolation:{self.UseSlopedExtrapolation})' + )) __repr__ = __str__ class AggregateFilter(FrozenClass): - ''' + """ :ivar StartTime: :vartype StartTime: DateTime :ivar AggregateType: @@ -6642,14 +6869,14 @@ class AggregateFilter(FrozenClass): :vartype ProcessingInterval: Double :ivar AggregateConfiguration: :vartype AggregateConfiguration: AggregateConfiguration - ''' + """ ua_types = [ ('StartTime', 'DateTime'), ('AggregateType', 'NodeId'), ('ProcessingInterval', 'Double'), ('AggregateConfiguration', 'AggregateConfiguration'), - ] + ] def __init__(self): self.StartTime = datetime.utcnow() @@ -6659,45 +6886,47 @@ def __init__(self): self._freeze = True def __str__(self): - return 'AggregateFilter(' + 'StartTime:' + str(self.StartTime) + ', ' + \ - 'AggregateType:' + str(self.AggregateType) + ', ' + \ - 'ProcessingInterval:' + str(self.ProcessingInterval) + ', ' + \ - 'AggregateConfiguration:' + str(self.AggregateConfiguration) + ')' + return ', '.join(( + f'AggregateFilter(StartTime:{self.StartTime}', + f'AggregateType:{self.AggregateType}', + f'ProcessingInterval:{self.ProcessingInterval}', + f'AggregateConfiguration:{self.AggregateConfiguration})' + )) __repr__ = __str__ class MonitoringFilterResult(FrozenClass): - ''' - ''' + """ + """ ua_types = [ - ] + ] def __init__(self): self._freeze = True def __str__(self): - return 'MonitoringFilterResult(' + + ')' + return 'MonitoringFilterResult()' __repr__ = __str__ class EventFilterResult(FrozenClass): - ''' + """ :ivar SelectClauseResults: :vartype SelectClauseResults: StatusCode :ivar SelectClauseDiagnosticInfos: :vartype SelectClauseDiagnosticInfos: DiagnosticInfo :ivar WhereClauseResult: :vartype WhereClauseResult: ContentFilterResult - ''' + """ ua_types = [ ('SelectClauseResults', 'ListOfStatusCode'), ('SelectClauseDiagnosticInfos', 'ListOfDiagnosticInfo'), ('WhereClauseResult', 'ContentFilterResult'), - ] + ] def __init__(self): self.SelectClauseResults = [] @@ -6706,28 +6935,30 @@ def __init__(self): self._freeze = True def __str__(self): - return 'EventFilterResult(' + 'SelectClauseResults:' + str(self.SelectClauseResults) + ', ' + \ - 'SelectClauseDiagnosticInfos:' + str(self.SelectClauseDiagnosticInfos) + ', ' + \ - 'WhereClauseResult:' + str(self.WhereClauseResult) + ')' + return ', '.join(( + f'EventFilterResult(SelectClauseResults:{self.SelectClauseResults}', + f'SelectClauseDiagnosticInfos:{self.SelectClauseDiagnosticInfos}', + f'WhereClauseResult:{self.WhereClauseResult})' + )) __repr__ = __str__ class AggregateFilterResult(FrozenClass): - ''' + """ :ivar RevisedStartTime: :vartype RevisedStartTime: DateTime :ivar RevisedProcessingInterval: :vartype RevisedProcessingInterval: Double :ivar RevisedAggregateConfiguration: :vartype RevisedAggregateConfiguration: AggregateConfiguration - ''' + """ ua_types = [ ('RevisedStartTime', 'DateTime'), ('RevisedProcessingInterval', 'Double'), ('RevisedAggregateConfiguration', 'AggregateConfiguration'), - ] + ] def __init__(self): self.RevisedStartTime = datetime.utcnow() @@ -6736,15 +6967,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'AggregateFilterResult(' + 'RevisedStartTime:' + str(self.RevisedStartTime) + ', ' + \ - 'RevisedProcessingInterval:' + str(self.RevisedProcessingInterval) + ', ' + \ - 'RevisedAggregateConfiguration:' + str(self.RevisedAggregateConfiguration) + ')' + return ', '.join(( + f'AggregateFilterResult(RevisedStartTime:{self.RevisedStartTime}', + f'RevisedProcessingInterval:{self.RevisedProcessingInterval}', + f'RevisedAggregateConfiguration:{self.RevisedAggregateConfiguration})' + )) __repr__ = __str__ class MonitoringParameters(FrozenClass): - ''' + """ :ivar ClientHandle: :vartype ClientHandle: UInt32 :ivar SamplingInterval: @@ -6755,7 +6988,7 @@ class MonitoringParameters(FrozenClass): :vartype QueueSize: UInt32 :ivar DiscardOldest: :vartype DiscardOldest: Boolean - ''' + """ ua_types = [ ('ClientHandle', 'UInt32'), @@ -6763,7 +6996,7 @@ class MonitoringParameters(FrozenClass): ('Filter', 'ExtensionObject'), ('QueueSize', 'UInt32'), ('DiscardOldest', 'Boolean'), - ] + ] def __init__(self): self.ClientHandle = 0 @@ -6774,30 +7007,32 @@ def __init__(self): self._freeze = True def __str__(self): - return 'MonitoringParameters(' + 'ClientHandle:' + str(self.ClientHandle) + ', ' + \ - 'SamplingInterval:' + str(self.SamplingInterval) + ', ' + \ - 'Filter:' + str(self.Filter) + ', ' + \ - 'QueueSize:' + str(self.QueueSize) + ', ' + \ - 'DiscardOldest:' + str(self.DiscardOldest) + ')' + return ', '.join(( + f'MonitoringParameters(ClientHandle:{self.ClientHandle}', + f'SamplingInterval:{self.SamplingInterval}', + f'Filter:{self.Filter}', + f'QueueSize:{self.QueueSize}', + f'DiscardOldest:{self.DiscardOldest})' + )) __repr__ = __str__ class MonitoredItemCreateRequest(FrozenClass): - ''' + """ :ivar ItemToMonitor: :vartype ItemToMonitor: ReadValueId :ivar MonitoringMode: :vartype MonitoringMode: MonitoringMode :ivar RequestedParameters: :vartype RequestedParameters: MonitoringParameters - ''' + """ ua_types = [ ('ItemToMonitor', 'ReadValueId'), ('MonitoringMode', 'MonitoringMode'), ('RequestedParameters', 'MonitoringParameters'), - ] + ] def __init__(self): self.ItemToMonitor = ReadValueId() @@ -6806,15 +7041,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'MonitoredItemCreateRequest(' + 'ItemToMonitor:' + str(self.ItemToMonitor) + ', ' + \ - 'MonitoringMode:' + str(self.MonitoringMode) + ', ' + \ - 'RequestedParameters:' + str(self.RequestedParameters) + ')' + return ', '.join(( + f'MonitoredItemCreateRequest(ItemToMonitor:{self.ItemToMonitor}', + f'MonitoringMode:{self.MonitoringMode}', + f'RequestedParameters:{self.RequestedParameters})' + )) __repr__ = __str__ class MonitoredItemCreateResult(FrozenClass): - ''' + """ :ivar StatusCode: :vartype StatusCode: StatusCode :ivar MonitoredItemId: @@ -6825,7 +7062,7 @@ class MonitoredItemCreateResult(FrozenClass): :vartype RevisedQueueSize: UInt32 :ivar FilterResult: :vartype FilterResult: ExtensionObject - ''' + """ ua_types = [ ('StatusCode', 'StatusCode'), @@ -6833,7 +7070,7 @@ class MonitoredItemCreateResult(FrozenClass): ('RevisedSamplingInterval', 'Double'), ('RevisedQueueSize', 'UInt32'), ('FilterResult', 'ExtensionObject'), - ] + ] def __init__(self): self.StatusCode = StatusCode() @@ -6844,30 +7081,32 @@ def __init__(self): self._freeze = True def __str__(self): - return 'MonitoredItemCreateResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ - 'MonitoredItemId:' + str(self.MonitoredItemId) + ', ' + \ - 'RevisedSamplingInterval:' + str(self.RevisedSamplingInterval) + ', ' + \ - 'RevisedQueueSize:' + str(self.RevisedQueueSize) + ', ' + \ - 'FilterResult:' + str(self.FilterResult) + ')' + return ', '.join(( + f'MonitoredItemCreateResult(StatusCode:{self.StatusCode}', + f'MonitoredItemId:{self.MonitoredItemId}', + f'RevisedSamplingInterval:{self.RevisedSamplingInterval}', + f'RevisedQueueSize:{self.RevisedQueueSize}', + f'FilterResult:{self.FilterResult})' + )) __repr__ = __str__ class CreateMonitoredItemsParameters(FrozenClass): - ''' + """ :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar TimestampsToReturn: :vartype TimestampsToReturn: TimestampsToReturn :ivar ItemsToCreate: :vartype ItemsToCreate: MonitoredItemCreateRequest - ''' + """ ua_types = [ ('SubscriptionId', 'UInt32'), ('TimestampsToReturn', 'TimestampsToReturn'), ('ItemsToCreate', 'ListOfMonitoredItemCreateRequest'), - ] + ] def __init__(self): self.SubscriptionId = 0 @@ -6876,28 +7115,30 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CreateMonitoredItemsParameters(' + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ - 'TimestampsToReturn:' + str(self.TimestampsToReturn) + ', ' + \ - 'ItemsToCreate:' + str(self.ItemsToCreate) + ')' + return ', '.join(( + f'CreateMonitoredItemsParameters(SubscriptionId:{self.SubscriptionId}', + f'TimestampsToReturn:{self.TimestampsToReturn}', + f'ItemsToCreate:{self.ItemsToCreate})' + )) __repr__ = __str__ class CreateMonitoredItemsRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: CreateMonitoredItemsParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'CreateMonitoredItemsParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CreateMonitoredItemsRequest_Encoding_DefaultBinary) @@ -6906,15 +7147,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CreateMonitoredItemsRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'CreateMonitoredItemsRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class CreateMonitoredItemsResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: @@ -6923,14 +7166,14 @@ class CreateMonitoredItemsResponse(FrozenClass): :vartype Results: MonitoredItemCreateResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfMonitoredItemCreateResult'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CreateMonitoredItemsResponse_Encoding_DefaultBinary) @@ -6940,26 +7183,28 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CreateMonitoredItemsResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return ', '.join(( + f'CreateMonitoredItemsResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Results:{self.Results}', + f'DiagnosticInfos:{self.DiagnosticInfos})' + )) __repr__ = __str__ class MonitoredItemModifyRequest(FrozenClass): - ''' + """ :ivar MonitoredItemId: :vartype MonitoredItemId: UInt32 :ivar RequestedParameters: :vartype RequestedParameters: MonitoringParameters - ''' + """ ua_types = [ ('MonitoredItemId', 'UInt32'), ('RequestedParameters', 'MonitoringParameters'), - ] + ] def __init__(self): self.MonitoredItemId = 0 @@ -6967,14 +7212,16 @@ def __init__(self): self._freeze = True def __str__(self): - return 'MonitoredItemModifyRequest(' + 'MonitoredItemId:' + str(self.MonitoredItemId) + ', ' + \ - 'RequestedParameters:' + str(self.RequestedParameters) + ')' + return ', '.join(( + f'MonitoredItemModifyRequest(MonitoredItemId:{self.MonitoredItemId}', + f'RequestedParameters:{self.RequestedParameters})' + )) __repr__ = __str__ class MonitoredItemModifyResult(FrozenClass): - ''' + """ :ivar StatusCode: :vartype StatusCode: StatusCode :ivar RevisedSamplingInterval: @@ -6983,14 +7230,14 @@ class MonitoredItemModifyResult(FrozenClass): :vartype RevisedQueueSize: UInt32 :ivar FilterResult: :vartype FilterResult: ExtensionObject - ''' + """ ua_types = [ ('StatusCode', 'StatusCode'), ('RevisedSamplingInterval', 'Double'), ('RevisedQueueSize', 'UInt32'), ('FilterResult', 'ExtensionObject'), - ] + ] def __init__(self): self.StatusCode = StatusCode() @@ -7000,29 +7247,31 @@ def __init__(self): self._freeze = True def __str__(self): - return 'MonitoredItemModifyResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ - 'RevisedSamplingInterval:' + str(self.RevisedSamplingInterval) + ', ' + \ - 'RevisedQueueSize:' + str(self.RevisedQueueSize) + ', ' + \ - 'FilterResult:' + str(self.FilterResult) + ')' + return ', '.join(( + f'MonitoredItemModifyResult(StatusCode:{self.StatusCode}', + f'RevisedSamplingInterval:{self.RevisedSamplingInterval}', + f'RevisedQueueSize:{self.RevisedQueueSize}', + f'FilterResult:{self.FilterResult})' + )) __repr__ = __str__ class ModifyMonitoredItemsParameters(FrozenClass): - ''' + """ :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar TimestampsToReturn: :vartype TimestampsToReturn: TimestampsToReturn :ivar ItemsToModify: :vartype ItemsToModify: MonitoredItemModifyRequest - ''' + """ ua_types = [ ('SubscriptionId', 'UInt32'), ('TimestampsToReturn', 'TimestampsToReturn'), ('ItemsToModify', 'ListOfMonitoredItemModifyRequest'), - ] + ] def __init__(self): self.SubscriptionId = 0 @@ -7031,28 +7280,30 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ModifyMonitoredItemsParameters(' + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ - 'TimestampsToReturn:' + str(self.TimestampsToReturn) + ', ' + \ - 'ItemsToModify:' + str(self.ItemsToModify) + ')' + return ', '.join(( + f'ModifyMonitoredItemsParameters(SubscriptionId:{self.SubscriptionId}', + f'TimestampsToReturn:{self.TimestampsToReturn}', + f'ItemsToModify:{self.ItemsToModify})' + )) __repr__ = __str__ class ModifyMonitoredItemsRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: ModifyMonitoredItemsParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'ModifyMonitoredItemsParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.ModifyMonitoredItemsRequest_Encoding_DefaultBinary) @@ -7061,15 +7312,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ModifyMonitoredItemsRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'ModifyMonitoredItemsRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class ModifyMonitoredItemsResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: @@ -7078,14 +7331,14 @@ class ModifyMonitoredItemsResponse(FrozenClass): :vartype Results: MonitoredItemModifyResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfMonitoredItemModifyResult'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.ModifyMonitoredItemsResponse_Encoding_DefaultBinary) @@ -7095,29 +7348,31 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ModifyMonitoredItemsResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return ', '.join(( + f'ModifyMonitoredItemsResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Results:{self.Results}', + f'DiagnosticInfos:{self.DiagnosticInfos})' + )) __repr__ = __str__ class SetMonitoringModeParameters(FrozenClass): - ''' + """ :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar MonitoringMode: :vartype MonitoringMode: MonitoringMode :ivar MonitoredItemIds: :vartype MonitoredItemIds: UInt32 - ''' + """ ua_types = [ ('SubscriptionId', 'UInt32'), ('MonitoringMode', 'MonitoringMode'), ('MonitoredItemIds', 'ListOfUInt32'), - ] + ] def __init__(self): self.SubscriptionId = 0 @@ -7126,28 +7381,30 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SetMonitoringModeParameters(' + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ - 'MonitoringMode:' + str(self.MonitoringMode) + ', ' + \ - 'MonitoredItemIds:' + str(self.MonitoredItemIds) + ')' + return ', '.join(( + f'SetMonitoringModeParameters(SubscriptionId:{self.SubscriptionId}', + f'MonitoringMode:{self.MonitoringMode}', + f'MonitoredItemIds:{self.MonitoredItemIds})' + )) __repr__ = __str__ class SetMonitoringModeRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: SetMonitoringModeParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'SetMonitoringModeParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.SetMonitoringModeRequest_Encoding_DefaultBinary) @@ -7156,25 +7413,27 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SetMonitoringModeRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'SetMonitoringModeRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class SetMonitoringModeResult(FrozenClass): - ''' + """ :ivar Results: :vartype Results: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('Results', 'ListOfStatusCode'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.Results = [] @@ -7182,27 +7441,26 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SetMonitoringModeResult(' + 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return f'SetMonitoringModeResult(Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ class SetMonitoringModeResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: SetMonitoringModeResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'SetMonitoringModeResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.SetMonitoringModeResponse_Encoding_DefaultBinary) @@ -7211,15 +7469,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SetMonitoringModeResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'SetMonitoringModeResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class SetTriggeringParameters(FrozenClass): - ''' + """ :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar TriggeringItemId: @@ -7228,14 +7488,14 @@ class SetTriggeringParameters(FrozenClass): :vartype LinksToAdd: UInt32 :ivar LinksToRemove: :vartype LinksToRemove: UInt32 - ''' + """ ua_types = [ ('SubscriptionId', 'UInt32'), ('TriggeringItemId', 'UInt32'), ('LinksToAdd', 'ListOfUInt32'), ('LinksToRemove', 'ListOfUInt32'), - ] + ] def __init__(self): self.SubscriptionId = 0 @@ -7245,29 +7505,31 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SetTriggeringParameters(' + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ - 'TriggeringItemId:' + str(self.TriggeringItemId) + ', ' + \ - 'LinksToAdd:' + str(self.LinksToAdd) + ', ' + \ - 'LinksToRemove:' + str(self.LinksToRemove) + ')' + return ', '.join(( + f'SetTriggeringParameters(SubscriptionId:{self.SubscriptionId}', + f'TriggeringItemId:{self.TriggeringItemId}', + f'LinksToAdd:{self.LinksToAdd}', + f'LinksToRemove:{self.LinksToRemove})' + )) __repr__ = __str__ class SetTriggeringRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: SetTriggeringParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'SetTriggeringParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.SetTriggeringRequest_Encoding_DefaultBinary) @@ -7276,15 +7538,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SetTriggeringRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'SetTriggeringRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class SetTriggeringResult(FrozenClass): - ''' + """ :ivar AddResults: :vartype AddResults: StatusCode :ivar AddDiagnosticInfos: @@ -7293,14 +7557,14 @@ class SetTriggeringResult(FrozenClass): :vartype RemoveResults: StatusCode :ivar RemoveDiagnosticInfos: :vartype RemoveDiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('AddResults', 'ListOfStatusCode'), ('AddDiagnosticInfos', 'ListOfDiagnosticInfo'), ('RemoveResults', 'ListOfStatusCode'), ('RemoveDiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.AddResults = [] @@ -7310,29 +7574,31 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SetTriggeringResult(' + 'AddResults:' + str(self.AddResults) + ', ' + \ - 'AddDiagnosticInfos:' + str(self.AddDiagnosticInfos) + ', ' + \ - 'RemoveResults:' + str(self.RemoveResults) + ', ' + \ - 'RemoveDiagnosticInfos:' + str(self.RemoveDiagnosticInfos) + ')' + return ', '.join(( + f'SetTriggeringResult(AddResults:{self.AddResults}', + f'AddDiagnosticInfos:{self.AddDiagnosticInfos}', + f'RemoveResults:{self.RemoveResults}', + f'RemoveDiagnosticInfos:{self.RemoveDiagnosticInfos})' + )) __repr__ = __str__ class SetTriggeringResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: SetTriggeringResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'SetTriggeringResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.SetTriggeringResponse_Encoding_DefaultBinary) @@ -7341,25 +7607,27 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SetTriggeringResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'SetTriggeringResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class DeleteMonitoredItemsParameters(FrozenClass): - ''' + """ :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar MonitoredItemIds: :vartype MonitoredItemIds: UInt32 - ''' + """ ua_types = [ ('SubscriptionId', 'UInt32'), ('MonitoredItemIds', 'ListOfUInt32'), - ] + ] def __init__(self): self.SubscriptionId = 0 @@ -7367,27 +7635,29 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DeleteMonitoredItemsParameters(' + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ - 'MonitoredItemIds:' + str(self.MonitoredItemIds) + ')' + return ', '.join(( + f'DeleteMonitoredItemsParameters(SubscriptionId:{self.SubscriptionId}', + f'MonitoredItemIds:{self.MonitoredItemIds})' + )) __repr__ = __str__ class DeleteMonitoredItemsRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: DeleteMonitoredItemsParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'DeleteMonitoredItemsParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.DeleteMonitoredItemsRequest_Encoding_DefaultBinary) @@ -7396,15 +7666,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DeleteMonitoredItemsRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'DeleteMonitoredItemsRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class DeleteMonitoredItemsResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: @@ -7413,14 +7685,14 @@ class DeleteMonitoredItemsResponse(FrozenClass): :vartype Results: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfStatusCode'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.DeleteMonitoredItemsResponse_Encoding_DefaultBinary) @@ -7430,16 +7702,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DeleteMonitoredItemsResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return ', '.join(( + f'DeleteMonitoredItemsResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Results:{self.Results}', + f'DiagnosticInfos:{self.DiagnosticInfos})' + )) __repr__ = __str__ class CreateSubscriptionParameters(FrozenClass): - ''' + """ :ivar RequestedPublishingInterval: :vartype RequestedPublishingInterval: Double :ivar RequestedLifetimeCount: @@ -7452,7 +7726,7 @@ class CreateSubscriptionParameters(FrozenClass): :vartype PublishingEnabled: Boolean :ivar Priority: :vartype Priority: Byte - ''' + """ ua_types = [ ('RequestedPublishingInterval', 'Double'), @@ -7461,7 +7735,7 @@ class CreateSubscriptionParameters(FrozenClass): ('MaxNotificationsPerPublish', 'UInt32'), ('PublishingEnabled', 'Boolean'), ('Priority', 'Byte'), - ] + ] def __init__(self): self.RequestedPublishingInterval = 0 @@ -7473,31 +7747,33 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CreateSubscriptionParameters(' + 'RequestedPublishingInterval:' + str(self.RequestedPublishingInterval) + ', ' + \ - 'RequestedLifetimeCount:' + str(self.RequestedLifetimeCount) + ', ' + \ - 'RequestedMaxKeepAliveCount:' + str(self.RequestedMaxKeepAliveCount) + ', ' + \ - 'MaxNotificationsPerPublish:' + str(self.MaxNotificationsPerPublish) + ', ' + \ - 'PublishingEnabled:' + str(self.PublishingEnabled) + ', ' + \ - 'Priority:' + str(self.Priority) + ')' + return ', '.join(( + f'CreateSubscriptionParameters(RequestedPublishingInterval:{self.RequestedPublishingInterval}', + f'RequestedLifetimeCount:{self.RequestedLifetimeCount}', + f'RequestedMaxKeepAliveCount:{self.RequestedMaxKeepAliveCount}', + f'MaxNotificationsPerPublish:{self.MaxNotificationsPerPublish}', + f'PublishingEnabled:{self.PublishingEnabled}', + f'Priority:{self.Priority})' + )) __repr__ = __str__ class CreateSubscriptionRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: CreateSubscriptionParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'CreateSubscriptionParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CreateSubscriptionRequest_Encoding_DefaultBinary) @@ -7506,15 +7782,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CreateSubscriptionRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'CreateSubscriptionRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class CreateSubscriptionResult(FrozenClass): - ''' + """ :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar RevisedPublishingInterval: @@ -7523,14 +7801,14 @@ class CreateSubscriptionResult(FrozenClass): :vartype RevisedLifetimeCount: UInt32 :ivar RevisedMaxKeepAliveCount: :vartype RevisedMaxKeepAliveCount: UInt32 - ''' + """ ua_types = [ ('SubscriptionId', 'UInt32'), ('RevisedPublishingInterval', 'Double'), ('RevisedLifetimeCount', 'UInt32'), ('RevisedMaxKeepAliveCount', 'UInt32'), - ] + ] def __init__(self): self.SubscriptionId = 0 @@ -7540,29 +7818,31 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CreateSubscriptionResult(' + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ - 'RevisedPublishingInterval:' + str(self.RevisedPublishingInterval) + ', ' + \ - 'RevisedLifetimeCount:' + str(self.RevisedLifetimeCount) + ', ' + \ - 'RevisedMaxKeepAliveCount:' + str(self.RevisedMaxKeepAliveCount) + ')' + return ', '.join(( + f'CreateSubscriptionResult(SubscriptionId:{self.SubscriptionId}', + f'RevisedPublishingInterval:{self.RevisedPublishingInterval}', + f'RevisedLifetimeCount:{self.RevisedLifetimeCount}', + f'RevisedMaxKeepAliveCount:{self.RevisedMaxKeepAliveCount})' + )) __repr__ = __str__ class CreateSubscriptionResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: CreateSubscriptionResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'CreateSubscriptionResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CreateSubscriptionResponse_Encoding_DefaultBinary) @@ -7571,15 +7851,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CreateSubscriptionResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'CreateSubscriptionResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class ModifySubscriptionParameters(FrozenClass): - ''' + """ :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar RequestedPublishingInterval: @@ -7592,7 +7874,7 @@ class ModifySubscriptionParameters(FrozenClass): :vartype MaxNotificationsPerPublish: UInt32 :ivar Priority: :vartype Priority: Byte - ''' + """ ua_types = [ ('SubscriptionId', 'UInt32'), @@ -7601,7 +7883,7 @@ class ModifySubscriptionParameters(FrozenClass): ('RequestedMaxKeepAliveCount', 'UInt32'), ('MaxNotificationsPerPublish', 'UInt32'), ('Priority', 'Byte'), - ] + ] def __init__(self): self.SubscriptionId = 0 @@ -7613,31 +7895,33 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ModifySubscriptionParameters(' + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ - 'RequestedPublishingInterval:' + str(self.RequestedPublishingInterval) + ', ' + \ - 'RequestedLifetimeCount:' + str(self.RequestedLifetimeCount) + ', ' + \ - 'RequestedMaxKeepAliveCount:' + str(self.RequestedMaxKeepAliveCount) + ', ' + \ - 'MaxNotificationsPerPublish:' + str(self.MaxNotificationsPerPublish) + ', ' + \ - 'Priority:' + str(self.Priority) + ')' + return ', '.join(( + f'ModifySubscriptionParameters(SubscriptionId:{self.SubscriptionId}', + f'RequestedPublishingInterval:{self.RequestedPublishingInterval}', + f'RequestedLifetimeCount:{self.RequestedLifetimeCount}', + f'RequestedMaxKeepAliveCount:{self.RequestedMaxKeepAliveCount}', + f'MaxNotificationsPerPublish:{self.MaxNotificationsPerPublish}', + f'Priority:{self.Priority})' + )) __repr__ = __str__ class ModifySubscriptionRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: ModifySubscriptionParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'ModifySubscriptionParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.ModifySubscriptionRequest_Encoding_DefaultBinary) @@ -7646,28 +7930,30 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ModifySubscriptionRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'ModifySubscriptionRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class ModifySubscriptionResult(FrozenClass): - ''' + """ :ivar RevisedPublishingInterval: :vartype RevisedPublishingInterval: Double :ivar RevisedLifetimeCount: :vartype RevisedLifetimeCount: UInt32 :ivar RevisedMaxKeepAliveCount: :vartype RevisedMaxKeepAliveCount: UInt32 - ''' + """ ua_types = [ ('RevisedPublishingInterval', 'Double'), ('RevisedLifetimeCount', 'UInt32'), ('RevisedMaxKeepAliveCount', 'UInt32'), - ] + ] def __init__(self): self.RevisedPublishingInterval = 0 @@ -7676,28 +7962,30 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ModifySubscriptionResult(' + 'RevisedPublishingInterval:' + str(self.RevisedPublishingInterval) + ', ' + \ - 'RevisedLifetimeCount:' + str(self.RevisedLifetimeCount) + ', ' + \ - 'RevisedMaxKeepAliveCount:' + str(self.RevisedMaxKeepAliveCount) + ')' + return ', '.join(( + f'ModifySubscriptionResult(RevisedPublishingInterval:{self.RevisedPublishingInterval}', + f'RevisedLifetimeCount:{self.RevisedLifetimeCount}', + f'RevisedMaxKeepAliveCount:{self.RevisedMaxKeepAliveCount})' + )) __repr__ = __str__ class ModifySubscriptionResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: ModifySubscriptionResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'ModifySubscriptionResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.ModifySubscriptionResponse_Encoding_DefaultBinary) @@ -7706,25 +7994,27 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ModifySubscriptionResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'ModifySubscriptionResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class SetPublishingModeParameters(FrozenClass): - ''' + """ :ivar PublishingEnabled: :vartype PublishingEnabled: Boolean :ivar SubscriptionIds: :vartype SubscriptionIds: UInt32 - ''' + """ ua_types = [ ('PublishingEnabled', 'Boolean'), ('SubscriptionIds', 'ListOfUInt32'), - ] + ] def __init__(self): self.PublishingEnabled = True @@ -7732,27 +8022,29 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SetPublishingModeParameters(' + 'PublishingEnabled:' + str(self.PublishingEnabled) + ', ' + \ - 'SubscriptionIds:' + str(self.SubscriptionIds) + ')' + return ', '.join(( + f'SetPublishingModeParameters(PublishingEnabled:{self.PublishingEnabled}', + f'SubscriptionIds:{self.SubscriptionIds})' + )) __repr__ = __str__ class SetPublishingModeRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: SetPublishingModeParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'SetPublishingModeParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.SetPublishingModeRequest_Encoding_DefaultBinary) @@ -7761,25 +8053,27 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SetPublishingModeRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'SetPublishingModeRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class SetPublishingModeResult(FrozenClass): - ''' + """ :ivar Results: :vartype Results: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('Results', 'ListOfStatusCode'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.Results = [] @@ -7787,27 +8081,26 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SetPublishingModeResult(' + 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return f'SetPublishingModeResult(Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ class SetPublishingModeResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: SetPublishingModeResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'SetPublishingModeResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.SetPublishingModeResponse_Encoding_DefaultBinary) @@ -7816,28 +8109,30 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SetPublishingModeResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'SetPublishingModeResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class NotificationMessage(FrozenClass): - ''' + """ :ivar SequenceNumber: :vartype SequenceNumber: UInt32 :ivar PublishTime: :vartype PublishTime: DateTime :ivar NotificationData: :vartype NotificationData: ExtensionObject - ''' + """ ua_types = [ ('SequenceNumber', 'UInt32'), ('PublishTime', 'DateTime'), ('NotificationData', 'ListOfExtensionObject'), - ] + ] def __init__(self): self.SequenceNumber = 0 @@ -7846,41 +8141,44 @@ def __init__(self): self._freeze = True def __str__(self): - return 'NotificationMessage(' + 'SequenceNumber:' + str(self.SequenceNumber) + ', ' + \ - 'PublishTime:' + str(self.PublishTime) + ', ' + \ - 'NotificationData:' + str(self.NotificationData) + ')' + return ', '.join(( + f'NotificationMessage(SequenceNumber:{self.SequenceNumber}', + f'PublishTime:{self.PublishTime}', + f'NotificationData:{self.NotificationData})' + + )) __repr__ = __str__ class NotificationData(FrozenClass): - ''' - ''' + """ + """ ua_types = [ - ] + ] def __init__(self): self._freeze = True def __str__(self): - return 'NotificationData(' + + ')' + return 'NotificationData()' __repr__ = __str__ class DataChangeNotification(FrozenClass): - ''' + """ :ivar MonitoredItems: :vartype MonitoredItems: MonitoredItemNotification :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('MonitoredItems', 'ListOfMonitoredItemNotification'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.MonitoredItems = [] @@ -7888,24 +8186,23 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DataChangeNotification(' + 'MonitoredItems:' + str(self.MonitoredItems) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return f'DataChangeNotification(MonitoredItems:{self.MonitoredItems}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ class MonitoredItemNotification(FrozenClass): - ''' + """ :ivar ClientHandle: :vartype ClientHandle: UInt32 :ivar Value: :vartype Value: DataValue - ''' + """ ua_types = [ ('ClientHandle', 'UInt32'), ('Value', 'DataValue'), - ] + ] def __init__(self): self.ClientHandle = 0 @@ -7913,44 +8210,43 @@ def __init__(self): self._freeze = True def __str__(self): - return 'MonitoredItemNotification(' + 'ClientHandle:' + str(self.ClientHandle) + ', ' + \ - 'Value:' + str(self.Value) + ')' + return f'MonitoredItemNotification(ClientHandle:{self.ClientHandle}, Value:{self.Value})' __repr__ = __str__ class EventNotificationList(FrozenClass): - ''' + """ :ivar Events: :vartype Events: EventFieldList - ''' + """ ua_types = [ ('Events', 'ListOfEventFieldList'), - ] + ] def __init__(self): self.Events = [] self._freeze = True def __str__(self): - return 'EventNotificationList(' + 'Events:' + str(self.Events) + ')' + return f'EventNotificationList(Events:{self.Events})' __repr__ = __str__ class EventFieldList(FrozenClass): - ''' + """ :ivar ClientHandle: :vartype ClientHandle: UInt32 :ivar EventFields: :vartype EventFields: Variant - ''' + """ ua_types = [ ('ClientHandle', 'UInt32'), ('EventFields', 'ListOfVariant'), - ] + ] def __init__(self): self.ClientHandle = 0 @@ -7958,44 +8254,43 @@ def __init__(self): self._freeze = True def __str__(self): - return 'EventFieldList(' + 'ClientHandle:' + str(self.ClientHandle) + ', ' + \ - 'EventFields:' + str(self.EventFields) + ')' + return f'EventFieldList(ClientHandle:{self.ClientHandle}, EventFields:{self.EventFields})' __repr__ = __str__ class HistoryEventFieldList(FrozenClass): - ''' + """ :ivar EventFields: :vartype EventFields: Variant - ''' + """ ua_types = [ ('EventFields', 'ListOfVariant'), - ] + ] def __init__(self): self.EventFields = [] self._freeze = True def __str__(self): - return 'HistoryEventFieldList(' + 'EventFields:' + str(self.EventFields) + ')' + return f'HistoryEventFieldList(EventFields:{self.EventFields})' __repr__ = __str__ class StatusChangeNotification(FrozenClass): - ''' + """ :ivar Status: :vartype Status: StatusCode :ivar DiagnosticInfo: :vartype DiagnosticInfo: DiagnosticInfo - ''' + """ ua_types = [ ('Status', 'StatusCode'), ('DiagnosticInfo', 'DiagnosticInfo'), - ] + ] def __init__(self): self.Status = StatusCode() @@ -8003,24 +8298,23 @@ def __init__(self): self._freeze = True def __str__(self): - return 'StatusChangeNotification(' + 'Status:' + str(self.Status) + ', ' + \ - 'DiagnosticInfo:' + str(self.DiagnosticInfo) + ')' + return f'StatusChangeNotification(Status:{self.Status}, DiagnosticInfo:{self.DiagnosticInfo})' __repr__ = __str__ class SubscriptionAcknowledgement(FrozenClass): - ''' + """ :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar SequenceNumber: :vartype SequenceNumber: UInt32 - ''' + """ ua_types = [ ('SubscriptionId', 'UInt32'), ('SequenceNumber', 'UInt32'), - ] + ] def __init__(self): self.SubscriptionId = 0 @@ -8028,47 +8322,49 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SubscriptionAcknowledgement(' + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ - 'SequenceNumber:' + str(self.SequenceNumber) + ')' + return ', '.join(( + f'SubscriptionAcknowledgement(SubscriptionId:{self.SubscriptionId}', + f'SequenceNumber:{self.SequenceNumber})' + )) __repr__ = __str__ class PublishParameters(FrozenClass): - ''' + """ :ivar SubscriptionAcknowledgements: :vartype SubscriptionAcknowledgements: SubscriptionAcknowledgement - ''' + """ ua_types = [ ('SubscriptionAcknowledgements', 'ListOfSubscriptionAcknowledgement'), - ] + ] def __init__(self): self.SubscriptionAcknowledgements = [] self._freeze = True def __str__(self): - return 'PublishParameters(' + 'SubscriptionAcknowledgements:' + str(self.SubscriptionAcknowledgements) + ')' + return f'PublishParameters(SubscriptionAcknowledgements:{self.SubscriptionAcknowledgements})' __repr__ = __str__ class PublishRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: PublishParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'PublishParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.PublishRequest_Encoding_DefaultBinary) @@ -8077,15 +8373,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'PublishRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'PublishRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class PublishResult(FrozenClass): - ''' + """ :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar AvailableSequenceNumbers: @@ -8098,7 +8396,7 @@ class PublishResult(FrozenClass): :vartype Results: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('SubscriptionId', 'UInt32'), @@ -8107,7 +8405,7 @@ class PublishResult(FrozenClass): ('NotificationMessage', 'NotificationMessage'), ('Results', 'ListOfStatusCode'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.SubscriptionId = 0 @@ -8119,31 +8417,33 @@ def __init__(self): self._freeze = True def __str__(self): - return 'PublishResult(' + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ - 'AvailableSequenceNumbers:' + str(self.AvailableSequenceNumbers) + ', ' + \ - 'MoreNotifications:' + str(self.MoreNotifications) + ', ' + \ - 'NotificationMessage:' + str(self.NotificationMessage) + ', ' + \ - 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return ', '.join(( + f'PublishResult(SubscriptionId:{self.SubscriptionId}', + f'AvailableSequenceNumbers:{self.AvailableSequenceNumbers}', + f'MoreNotifications:{self.MoreNotifications}', + f'NotificationMessage:{self.NotificationMessage}', + f'Results:{self.Results}', + f'DiagnosticInfos:{self.DiagnosticInfos})' + )) __repr__ = __str__ class PublishResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: PublishResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'PublishResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.PublishResponse_Encoding_DefaultBinary) @@ -8152,25 +8452,27 @@ def __init__(self): self._freeze = True def __str__(self): - return 'PublishResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'PublishResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class RepublishParameters(FrozenClass): - ''' + """ :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar RetransmitSequenceNumber: :vartype RetransmitSequenceNumber: UInt32 - ''' + """ ua_types = [ ('SubscriptionId', 'UInt32'), ('RetransmitSequenceNumber', 'UInt32'), - ] + ] def __init__(self): self.SubscriptionId = 0 @@ -8178,27 +8480,29 @@ def __init__(self): self._freeze = True def __str__(self): - return 'RepublishParameters(' + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ - 'RetransmitSequenceNumber:' + str(self.RetransmitSequenceNumber) + ')' + return ', '.join(( + f'RepublishParameters(SubscriptionId:{self.SubscriptionId}', + f'RetransmitSequenceNumber:{self.RetransmitSequenceNumber})' + )) __repr__ = __str__ class RepublishRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: RepublishParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'RepublishParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.RepublishRequest_Encoding_DefaultBinary) @@ -8207,28 +8511,30 @@ def __init__(self): self._freeze = True def __str__(self): - return 'RepublishRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'RepublishRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class RepublishResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar NotificationMessage: :vartype NotificationMessage: NotificationMessage - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('NotificationMessage', 'NotificationMessage'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.RepublishResponse_Encoding_DefaultBinary) @@ -8237,25 +8543,27 @@ def __init__(self): self._freeze = True def __str__(self): - return 'RepublishResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'NotificationMessage:' + str(self.NotificationMessage) + ')' + return ', '.join(( + f'RepublishResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'NotificationMessage:{self.NotificationMessage})' + )) __repr__ = __str__ class TransferResult(FrozenClass): - ''' + """ :ivar StatusCode: :vartype StatusCode: StatusCode :ivar AvailableSequenceNumbers: :vartype AvailableSequenceNumbers: UInt32 - ''' + """ ua_types = [ ('StatusCode', 'StatusCode'), ('AvailableSequenceNumbers', 'ListOfUInt32'), - ] + ] def __init__(self): self.StatusCode = StatusCode() @@ -8263,24 +8571,26 @@ def __init__(self): self._freeze = True def __str__(self): - return 'TransferResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ - 'AvailableSequenceNumbers:' + str(self.AvailableSequenceNumbers) + ')' + return ', '.join(( + f'TransferResult(StatusCode:{self.StatusCode}', + f'AvailableSequenceNumbers:{self.AvailableSequenceNumbers})' + )) __repr__ = __str__ class TransferSubscriptionsParameters(FrozenClass): - ''' + """ :ivar SubscriptionIds: :vartype SubscriptionIds: UInt32 :ivar SendInitialValues: :vartype SendInitialValues: Boolean - ''' + """ ua_types = [ ('SubscriptionIds', 'ListOfUInt32'), ('SendInitialValues', 'Boolean'), - ] + ] def __init__(self): self.SubscriptionIds = [] @@ -8288,27 +8598,29 @@ def __init__(self): self._freeze = True def __str__(self): - return 'TransferSubscriptionsParameters(' + 'SubscriptionIds:' + str(self.SubscriptionIds) + ', ' + \ - 'SendInitialValues:' + str(self.SendInitialValues) + ')' + return ', '.join(( + f'TransferSubscriptionsParameters(SubscriptionIds:{self.SubscriptionIds}', + f'SendInitialValues:{self.SendInitialValues})' + )) __repr__ = __str__ class TransferSubscriptionsRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: TransferSubscriptionsParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'TransferSubscriptionsParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.TransferSubscriptionsRequest_Encoding_DefaultBinary) @@ -8317,25 +8629,27 @@ def __init__(self): self._freeze = True def __str__(self): - return 'TransferSubscriptionsRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'TransferSubscriptionsRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class TransferSubscriptionsResult(FrozenClass): - ''' + """ :ivar Results: :vartype Results: TransferResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('Results', 'ListOfTransferResult'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.Results = [] @@ -8343,27 +8657,26 @@ def __init__(self): self._freeze = True def __str__(self): - return 'TransferSubscriptionsResult(' + 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return f'TransferSubscriptionsResult(Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ class TransferSubscriptionsResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: TransferSubscriptionsResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'TransferSubscriptionsResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.TransferSubscriptionsResponse_Encoding_DefaultBinary) @@ -8372,48 +8685,50 @@ def __init__(self): self._freeze = True def __str__(self): - return 'TransferSubscriptionsResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'TransferSubscriptionsResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class DeleteSubscriptionsParameters(FrozenClass): - ''' + """ :ivar SubscriptionIds: :vartype SubscriptionIds: UInt32 - ''' + """ ua_types = [ ('SubscriptionIds', 'ListOfUInt32'), - ] + ] def __init__(self): self.SubscriptionIds = [] self._freeze = True def __str__(self): - return 'DeleteSubscriptionsParameters(' + 'SubscriptionIds:' + str(self.SubscriptionIds) + ')' + return f'DeleteSubscriptionsParameters(SubscriptionIds:{self.SubscriptionIds})' __repr__ = __str__ class DeleteSubscriptionsRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: DeleteSubscriptionsParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'DeleteSubscriptionsParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.DeleteSubscriptionsRequest_Encoding_DefaultBinary) @@ -8422,15 +8737,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DeleteSubscriptionsRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'DeleteSubscriptionsRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class DeleteSubscriptionsResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: @@ -8439,14 +8756,14 @@ class DeleteSubscriptionsResponse(FrozenClass): :vartype Results: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfStatusCode'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.DeleteSubscriptionsResponse_Encoding_DefaultBinary) @@ -8456,16 +8773,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DeleteSubscriptionsResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return ', '.join(( + f'DeleteSubscriptionsResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Results:{self.Results}', + f'DiagnosticInfos:{self.DiagnosticInfos})' + )) __repr__ = __str__ class BuildInfo(FrozenClass): - ''' + """ :ivar ProductUri: :vartype ProductUri: String :ivar ManufacturerName: @@ -8478,7 +8797,7 @@ class BuildInfo(FrozenClass): :vartype BuildNumber: String :ivar BuildDate: :vartype BuildDate: DateTime - ''' + """ ua_types = [ ('ProductUri', 'String'), @@ -8487,7 +8806,7 @@ class BuildInfo(FrozenClass): ('SoftwareVersion', 'String'), ('BuildNumber', 'String'), ('BuildDate', 'DateTime'), - ] + ] def __init__(self): self.ProductUri = None @@ -8499,31 +8818,33 @@ def __init__(self): self._freeze = True def __str__(self): - return 'BuildInfo(' + 'ProductUri:' + str(self.ProductUri) + ', ' + \ - 'ManufacturerName:' + str(self.ManufacturerName) + ', ' + \ - 'ProductName:' + str(self.ProductName) + ', ' + \ - 'SoftwareVersion:' + str(self.SoftwareVersion) + ', ' + \ - 'BuildNumber:' + str(self.BuildNumber) + ', ' + \ - 'BuildDate:' + str(self.BuildDate) + ')' + return ', '.join(( + f'BuildInfo(ProductUri:{self.ProductUri}', + f'ManufacturerName:{self.ManufacturerName}', + f'ProductName:{self.ProductName}', + f'SoftwareVersion:{self.SoftwareVersion}', + f'BuildNumber:{self.BuildNumber}', + f'BuildDate:{self.BuildDate})' + )) __repr__ = __str__ class RedundantServerDataType(FrozenClass): - ''' + """ :ivar ServerId: :vartype ServerId: String :ivar ServiceLevel: :vartype ServiceLevel: Byte :ivar ServerState: :vartype ServerState: ServerState - ''' + """ ua_types = [ ('ServerId', 'String'), ('ServiceLevel', 'Byte'), ('ServerState', 'ServerState'), - ] + ] def __init__(self): self.ServerId = None @@ -8532,45 +8853,47 @@ def __init__(self): self._freeze = True def __str__(self): - return 'RedundantServerDataType(' + 'ServerId:' + str(self.ServerId) + ', ' + \ - 'ServiceLevel:' + str(self.ServiceLevel) + ', ' + \ - 'ServerState:' + str(self.ServerState) + ')' + return ', '.join(( + f'RedundantServerDataType(ServerId:{self.ServerId}', + f'ServiceLevel:{self.ServiceLevel}', + f'ServerState:{self.ServerState})' + )) __repr__ = __str__ class EndpointUrlListDataType(FrozenClass): - ''' + """ :ivar EndpointUrlList: :vartype EndpointUrlList: String - ''' + """ ua_types = [ ('EndpointUrlList', 'ListOfString'), - ] + ] def __init__(self): self.EndpointUrlList = [] self._freeze = True def __str__(self): - return 'EndpointUrlListDataType(' + 'EndpointUrlList:' + str(self.EndpointUrlList) + ')' + return f'EndpointUrlListDataType(EndpointUrlList:{self.EndpointUrlList})' __repr__ = __str__ class NetworkGroupDataType(FrozenClass): - ''' + """ :ivar ServerUri: :vartype ServerUri: String :ivar NetworkPaths: :vartype NetworkPaths: EndpointUrlListDataType - ''' + """ ua_types = [ ('ServerUri', 'String'), ('NetworkPaths', 'ListOfEndpointUrlListDataType'), - ] + ] def __init__(self): self.ServerUri = None @@ -8578,14 +8901,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'NetworkGroupDataType(' + 'ServerUri:' + str(self.ServerUri) + ', ' + \ - 'NetworkPaths:' + str(self.NetworkPaths) + ')' + return f'NetworkGroupDataType(ServerUri:{self.ServerUri}, NetworkPaths:{self.NetworkPaths})' __repr__ = __str__ class SamplingIntervalDiagnosticsDataType(FrozenClass): - ''' + """ :ivar SamplingInterval: :vartype SamplingInterval: Double :ivar MonitoredItemCount: @@ -8594,14 +8916,14 @@ class SamplingIntervalDiagnosticsDataType(FrozenClass): :vartype MaxMonitoredItemCount: UInt32 :ivar DisabledMonitoredItemCount: :vartype DisabledMonitoredItemCount: UInt32 - ''' + """ ua_types = [ ('SamplingInterval', 'Double'), ('MonitoredItemCount', 'UInt32'), ('MaxMonitoredItemCount', 'UInt32'), ('DisabledMonitoredItemCount', 'UInt32'), - ] + ] def __init__(self): self.SamplingInterval = 0 @@ -8611,16 +8933,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SamplingIntervalDiagnosticsDataType(' + 'SamplingInterval:' + str(self.SamplingInterval) + ', ' + \ - 'MonitoredItemCount:' + str(self.MonitoredItemCount) + ', ' + \ - 'MaxMonitoredItemCount:' + str(self.MaxMonitoredItemCount) + ', ' + \ - 'DisabledMonitoredItemCount:' + str(self.DisabledMonitoredItemCount) + ')' + return ', '.join(( + f'SamplingIntervalDiagnosticsDataType(SamplingInterval:{self.SamplingInterval}', + f'MonitoredItemCount:{self.MonitoredItemCount}', + f'MaxMonitoredItemCount:{self.MaxMonitoredItemCount}', + f'DisabledMonitoredItemCount:{self.DisabledMonitoredItemCount})' + )) __repr__ = __str__ class ServerDiagnosticsSummaryDataType(FrozenClass): - ''' + """ :ivar ServerViewCount: :vartype ServerViewCount: UInt32 :ivar CurrentSessionCount: @@ -8645,7 +8969,7 @@ class ServerDiagnosticsSummaryDataType(FrozenClass): :vartype SecurityRejectedRequestsCount: UInt32 :ivar RejectedRequestsCount: :vartype RejectedRequestsCount: UInt32 - ''' + """ ua_types = [ ('ServerViewCount', 'UInt32'), @@ -8660,7 +8984,7 @@ class ServerDiagnosticsSummaryDataType(FrozenClass): ('PublishingIntervalCount', 'UInt32'), ('SecurityRejectedRequestsCount', 'UInt32'), ('RejectedRequestsCount', 'UInt32'), - ] + ] def __init__(self): self.ServerViewCount = 0 @@ -8678,24 +9002,26 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ServerDiagnosticsSummaryDataType(' + 'ServerViewCount:' + str(self.ServerViewCount) + ', ' + \ - 'CurrentSessionCount:' + str(self.CurrentSessionCount) + ', ' + \ - 'CumulatedSessionCount:' + str(self.CumulatedSessionCount) + ', ' + \ - 'SecurityRejectedSessionCount:' + str(self.SecurityRejectedSessionCount) + ', ' + \ - 'RejectedSessionCount:' + str(self.RejectedSessionCount) + ', ' + \ - 'SessionTimeoutCount:' + str(self.SessionTimeoutCount) + ', ' + \ - 'SessionAbortCount:' + str(self.SessionAbortCount) + ', ' + \ - 'CurrentSubscriptionCount:' + str(self.CurrentSubscriptionCount) + ', ' + \ - 'CumulatedSubscriptionCount:' + str(self.CumulatedSubscriptionCount) + ', ' + \ - 'PublishingIntervalCount:' + str(self.PublishingIntervalCount) + ', ' + \ - 'SecurityRejectedRequestsCount:' + str(self.SecurityRejectedRequestsCount) + ', ' + \ - 'RejectedRequestsCount:' + str(self.RejectedRequestsCount) + ')' + return ', '.join(( + f'ServerDiagnosticsSummaryDataType(ServerViewCount:{self.ServerViewCount}', + f'CurrentSessionCount:{self.CurrentSessionCount}', + f'CumulatedSessionCount:{self.CumulatedSessionCount}', + f'SecurityRejectedSessionCount:{self.SecurityRejectedSessionCount}', + f'RejectedSessionCount:{self.RejectedSessionCount}', + f'SessionTimeoutCount:{self.SessionTimeoutCount}', + f'SessionAbortCount:{self.SessionAbortCount}', + f'CurrentSubscriptionCount:{self.CurrentSubscriptionCount}', + f'CumulatedSubscriptionCount:{self.CumulatedSubscriptionCount}', + f'PublishingIntervalCount:{self.PublishingIntervalCount}', + f'SecurityRejectedRequestsCount:{self.SecurityRejectedRequestsCount}', + f'RejectedRequestsCount:{self.RejectedRequestsCount})' + )) __repr__ = __str__ class ServerStatusDataType(FrozenClass): - ''' + """ :ivar StartTime: :vartype StartTime: DateTime :ivar CurrentTime: @@ -8708,7 +9034,7 @@ class ServerStatusDataType(FrozenClass): :vartype SecondsTillShutdown: UInt32 :ivar ShutdownReason: :vartype ShutdownReason: LocalizedText - ''' + """ ua_types = [ ('StartTime', 'DateTime'), @@ -8717,7 +9043,7 @@ class ServerStatusDataType(FrozenClass): ('BuildInfo', 'BuildInfo'), ('SecondsTillShutdown', 'UInt32'), ('ShutdownReason', 'LocalizedText'), - ] + ] def __init__(self): self.StartTime = datetime.utcnow() @@ -8729,18 +9055,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ServerStatusDataType(' + 'StartTime:' + str(self.StartTime) + ', ' + \ - 'CurrentTime:' + str(self.CurrentTime) + ', ' + \ - 'State:' + str(self.State) + ', ' + \ - 'BuildInfo:' + str(self.BuildInfo) + ', ' + \ - 'SecondsTillShutdown:' + str(self.SecondsTillShutdown) + ', ' + \ - 'ShutdownReason:' + str(self.ShutdownReason) + ')' + return ', '.join(( + f'ServerStatusDataType(StartTime:{self.StartTime}', + f'CurrentTime:{self.CurrentTime}', + f'State:{self.State}', + f'BuildInfo:{self.BuildInfo}', + f'SecondsTillShutdown:{self.SecondsTillShutdown}', + f'ShutdownReason:{self.ShutdownReason})' + )) __repr__ = __str__ class SessionDiagnosticsDataType(FrozenClass): - ''' + """ :ivar SessionId: :vartype SessionId: NodeId :ivar SessionName: @@ -8827,7 +9155,7 @@ class SessionDiagnosticsDataType(FrozenClass): :vartype RegisterNodesCount: ServiceCounterDataType :ivar UnregisterNodesCount: :vartype UnregisterNodesCount: ServiceCounterDataType - ''' + """ ua_types = [ ('SessionId', 'NodeId'), @@ -8873,7 +9201,7 @@ class SessionDiagnosticsDataType(FrozenClass): ('QueryNextCount', 'ServiceCounterDataType'), ('RegisterNodesCount', 'ServiceCounterDataType'), ('UnregisterNodesCount', 'ServiceCounterDataType'), - ] + ] def __init__(self): self.SessionId = NodeId() @@ -8922,55 +9250,57 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SessionDiagnosticsDataType(' + 'SessionId:' + str(self.SessionId) + ', ' + \ - 'SessionName:' + str(self.SessionName) + ', ' + \ - 'ClientDescription:' + str(self.ClientDescription) + ', ' + \ - 'ServerUri:' + str(self.ServerUri) + ', ' + \ - 'EndpointUrl:' + str(self.EndpointUrl) + ', ' + \ - 'LocaleIds:' + str(self.LocaleIds) + ', ' + \ - 'ActualSessionTimeout:' + str(self.ActualSessionTimeout) + ', ' + \ - 'MaxResponseMessageSize:' + str(self.MaxResponseMessageSize) + ', ' + \ - 'ClientConnectionTime:' + str(self.ClientConnectionTime) + ', ' + \ - 'ClientLastContactTime:' + str(self.ClientLastContactTime) + ', ' + \ - 'CurrentSubscriptionsCount:' + str(self.CurrentSubscriptionsCount) + ', ' + \ - 'CurrentMonitoredItemsCount:' + str(self.CurrentMonitoredItemsCount) + ', ' + \ - 'CurrentPublishRequestsInQueue:' + str(self.CurrentPublishRequestsInQueue) + ', ' + \ - 'TotalRequestCount:' + str(self.TotalRequestCount) + ', ' + \ - 'UnauthorizedRequestCount:' + str(self.UnauthorizedRequestCount) + ', ' + \ - 'ReadCount:' + str(self.ReadCount) + ', ' + \ - 'HistoryReadCount:' + str(self.HistoryReadCount) + ', ' + \ - 'WriteCount:' + str(self.WriteCount) + ', ' + \ - 'HistoryUpdateCount:' + str(self.HistoryUpdateCount) + ', ' + \ - 'CallCount:' + str(self.CallCount) + ', ' + \ - 'CreateMonitoredItemsCount:' + str(self.CreateMonitoredItemsCount) + ', ' + \ - 'ModifyMonitoredItemsCount:' + str(self.ModifyMonitoredItemsCount) + ', ' + \ - 'SetMonitoringModeCount:' + str(self.SetMonitoringModeCount) + ', ' + \ - 'SetTriggeringCount:' + str(self.SetTriggeringCount) + ', ' + \ - 'DeleteMonitoredItemsCount:' + str(self.DeleteMonitoredItemsCount) + ', ' + \ - 'CreateSubscriptionCount:' + str(self.CreateSubscriptionCount) + ', ' + \ - 'ModifySubscriptionCount:' + str(self.ModifySubscriptionCount) + ', ' + \ - 'SetPublishingModeCount:' + str(self.SetPublishingModeCount) + ', ' + \ - 'PublishCount:' + str(self.PublishCount) + ', ' + \ - 'RepublishCount:' + str(self.RepublishCount) + ', ' + \ - 'TransferSubscriptionsCount:' + str(self.TransferSubscriptionsCount) + ', ' + \ - 'DeleteSubscriptionsCount:' + str(self.DeleteSubscriptionsCount) + ', ' + \ - 'AddNodesCount:' + str(self.AddNodesCount) + ', ' + \ - 'AddReferencesCount:' + str(self.AddReferencesCount) + ', ' + \ - 'DeleteNodesCount:' + str(self.DeleteNodesCount) + ', ' + \ - 'DeleteReferencesCount:' + str(self.DeleteReferencesCount) + ', ' + \ - 'BrowseCount:' + str(self.BrowseCount) + ', ' + \ - 'BrowseNextCount:' + str(self.BrowseNextCount) + ', ' + \ - 'TranslateBrowsePathsToNodeIdsCount:' + str(self.TranslateBrowsePathsToNodeIdsCount) + ', ' + \ - 'QueryFirstCount:' + str(self.QueryFirstCount) + ', ' + \ - 'QueryNextCount:' + str(self.QueryNextCount) + ', ' + \ - 'RegisterNodesCount:' + str(self.RegisterNodesCount) + ', ' + \ - 'UnregisterNodesCount:' + str(self.UnregisterNodesCount) + ')' + return ', '.join(( + f'SessionDiagnosticsDataType(SessionId:{self.SessionId}', + f'SessionName:{self.SessionName}', + f'ClientDescription:{self.ClientDescription}', + f'ServerUri:{self.ServerUri}', + f'EndpointUrl:{self.EndpointUrl}', + f'LocaleIds:{self.LocaleIds}', + f'ActualSessionTimeout:{self.ActualSessionTimeout}', + f'MaxResponseMessageSize:{self.MaxResponseMessageSize}', + f'ClientConnectionTime:{self.ClientConnectionTime}', + f'ClientLastContactTime:{self.ClientLastContactTime}', + f'CurrentSubscriptionsCount:{self.CurrentSubscriptionsCount}', + f'CurrentMonitoredItemsCount:{self.CurrentMonitoredItemsCount}', + f'CurrentPublishRequestsInQueue:{self.CurrentPublishRequestsInQueue}', + f'TotalRequestCount:{self.TotalRequestCount}', + f'UnauthorizedRequestCount:{self.UnauthorizedRequestCount}', + f'ReadCount:{self.ReadCount}', + f'HistoryReadCount:{self.HistoryReadCount}', + f'WriteCount:{self.WriteCount}', + f'HistoryUpdateCount:{self.HistoryUpdateCount}', + f'CallCount:{self.CallCount}', + f'CreateMonitoredItemsCount:{self.CreateMonitoredItemsCount}', + f'ModifyMonitoredItemsCount:{self.ModifyMonitoredItemsCount}', + f'SetMonitoringModeCount:{self.SetMonitoringModeCount}', + f'SetTriggeringCount:{self.SetTriggeringCount}', + f'DeleteMonitoredItemsCount:{self.DeleteMonitoredItemsCount}', + f'CreateSubscriptionCount:{self.CreateSubscriptionCount}', + f'ModifySubscriptionCount:{self.ModifySubscriptionCount}', + f'SetPublishingModeCount:{self.SetPublishingModeCount}', + f'PublishCount:{self.PublishCount}', + f'RepublishCount:{self.RepublishCount}', + f'TransferSubscriptionsCount:{self.TransferSubscriptionsCount}', + f'DeleteSubscriptionsCount:{self.DeleteSubscriptionsCount}', + f'AddNodesCount:{self.AddNodesCount}', + f'AddReferencesCount:{self.AddReferencesCount}', + f'DeleteNodesCount:{self.DeleteNodesCount}', + f'DeleteReferencesCount:{self.DeleteReferencesCount}', + f'BrowseCount:{self.BrowseCount}', + f'BrowseNextCount:{self.BrowseNextCount}', + f'TranslateBrowsePathsToNodeIdsCount:{self.TranslateBrowsePathsToNodeIdsCount}', + f'QueryFirstCount:{self.QueryFirstCount}', + f'QueryNextCount:{self.QueryNextCount}', + f'RegisterNodesCount:{self.RegisterNodesCount}', + f'UnregisterNodesCount:{self.UnregisterNodesCount})' + )) __repr__ = __str__ class SessionSecurityDiagnosticsDataType(FrozenClass): - ''' + """ :ivar SessionId: :vartype SessionId: NodeId :ivar ClientUserIdOfSession: @@ -8989,7 +9319,7 @@ class SessionSecurityDiagnosticsDataType(FrozenClass): :vartype SecurityPolicyUri: String :ivar ClientCertificate: :vartype ClientCertificate: ByteString - ''' + """ ua_types = [ ('SessionId', 'NodeId'), @@ -9001,7 +9331,7 @@ class SessionSecurityDiagnosticsDataType(FrozenClass): ('SecurityMode', 'MessageSecurityMode'), ('SecurityPolicyUri', 'String'), ('ClientCertificate', 'ByteString'), - ] + ] def __init__(self): self.SessionId = NodeId() @@ -9016,31 +9346,33 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SessionSecurityDiagnosticsDataType(' + 'SessionId:' + str(self.SessionId) + ', ' + \ - 'ClientUserIdOfSession:' + str(self.ClientUserIdOfSession) + ', ' + \ - 'ClientUserIdHistory:' + str(self.ClientUserIdHistory) + ', ' + \ - 'AuthenticationMechanism:' + str(self.AuthenticationMechanism) + ', ' + \ - 'Encoding:' + str(self.Encoding) + ', ' + \ - 'TransportProtocol:' + str(self.TransportProtocol) + ', ' + \ - 'SecurityMode:' + str(self.SecurityMode) + ', ' + \ - 'SecurityPolicyUri:' + str(self.SecurityPolicyUri) + ', ' + \ - 'ClientCertificate:' + str(self.ClientCertificate) + ')' + return ', '.join(( + f'SessionSecurityDiagnosticsDataType(SessionId:{self.SessionId}', + f'ClientUserIdOfSession:{self.ClientUserIdOfSession}', + f'ClientUserIdHistory:{self.ClientUserIdHistory}', + f'AuthenticationMechanism:{self.AuthenticationMechanism}', + f'Encoding:{self.Encoding}', + f'TransportProtocol:{self.TransportProtocol}', + f'SecurityMode:{self.SecurityMode}', + f'SecurityPolicyUri:{self.SecurityPolicyUri}', + f'ClientCertificate:{self.ClientCertificate})' + )) __repr__ = __str__ class ServiceCounterDataType(FrozenClass): - ''' + """ :ivar TotalCount: :vartype TotalCount: UInt32 :ivar ErrorCount: :vartype ErrorCount: UInt32 - ''' + """ ua_types = [ ('TotalCount', 'UInt32'), ('ErrorCount', 'UInt32'), - ] + ] def __init__(self): self.TotalCount = 0 @@ -9048,24 +9380,23 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ServiceCounterDataType(' + 'TotalCount:' + str(self.TotalCount) + ', ' + \ - 'ErrorCount:' + str(self.ErrorCount) + ')' + return f'ServiceCounterDataType(TotalCount:{self.TotalCount}, ErrorCount:{self.ErrorCount})' __repr__ = __str__ class StatusResult(FrozenClass): - ''' + """ :ivar StatusCode: :vartype StatusCode: StatusCode :ivar DiagnosticInfo: :vartype DiagnosticInfo: DiagnosticInfo - ''' + """ ua_types = [ ('StatusCode', 'StatusCode'), ('DiagnosticInfo', 'DiagnosticInfo'), - ] + ] def __init__(self): self.StatusCode = StatusCode() @@ -9073,14 +9404,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'StatusResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ - 'DiagnosticInfo:' + str(self.DiagnosticInfo) + ')' + return f'StatusResult(StatusCode:{self.StatusCode}, DiagnosticInfo:{self.DiagnosticInfo})' __repr__ = __str__ class SubscriptionDiagnosticsDataType(FrozenClass): - ''' + """ :ivar SessionId: :vartype SessionId: NodeId :ivar SubscriptionId: @@ -9143,7 +9473,7 @@ class SubscriptionDiagnosticsDataType(FrozenClass): :vartype NextSequenceNumber: UInt32 :ivar EventQueueOverFlowCount: :vartype EventQueueOverFlowCount: UInt32 - ''' + """ ua_types = [ ('SessionId', 'NodeId'), @@ -9177,7 +9507,7 @@ class SubscriptionDiagnosticsDataType(FrozenClass): ('MonitoringQueueOverflowCount', 'UInt32'), ('NextSequenceNumber', 'UInt32'), ('EventQueueOverFlowCount', 'UInt32'), - ] + ] def __init__(self): self.SessionId = NodeId() @@ -9214,56 +9544,58 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SubscriptionDiagnosticsDataType(' + 'SessionId:' + str(self.SessionId) + ', ' + \ - 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ - 'Priority:' + str(self.Priority) + ', ' + \ - 'PublishingInterval:' + str(self.PublishingInterval) + ', ' + \ - 'MaxKeepAliveCount:' + str(self.MaxKeepAliveCount) + ', ' + \ - 'MaxLifetimeCount:' + str(self.MaxLifetimeCount) + ', ' + \ - 'MaxNotificationsPerPublish:' + str(self.MaxNotificationsPerPublish) + ', ' + \ - 'PublishingEnabled:' + str(self.PublishingEnabled) + ', ' + \ - 'ModifyCount:' + str(self.ModifyCount) + ', ' + \ - 'EnableCount:' + str(self.EnableCount) + ', ' + \ - 'DisableCount:' + str(self.DisableCount) + ', ' + \ - 'RepublishRequestCount:' + str(self.RepublishRequestCount) + ', ' + \ - 'RepublishMessageRequestCount:' + str(self.RepublishMessageRequestCount) + ', ' + \ - 'RepublishMessageCount:' + str(self.RepublishMessageCount) + ', ' + \ - 'TransferRequestCount:' + str(self.TransferRequestCount) + ', ' + \ - 'TransferredToAltClientCount:' + str(self.TransferredToAltClientCount) + ', ' + \ - 'TransferredToSameClientCount:' + str(self.TransferredToSameClientCount) + ', ' + \ - 'PublishRequestCount:' + str(self.PublishRequestCount) + ', ' + \ - 'DataChangeNotificationsCount:' + str(self.DataChangeNotificationsCount) + ', ' + \ - 'EventNotificationsCount:' + str(self.EventNotificationsCount) + ', ' + \ - 'NotificationsCount:' + str(self.NotificationsCount) + ', ' + \ - 'LatePublishRequestCount:' + str(self.LatePublishRequestCount) + ', ' + \ - 'CurrentKeepAliveCount:' + str(self.CurrentKeepAliveCount) + ', ' + \ - 'CurrentLifetimeCount:' + str(self.CurrentLifetimeCount) + ', ' + \ - 'UnacknowledgedMessageCount:' + str(self.UnacknowledgedMessageCount) + ', ' + \ - 'DiscardedMessageCount:' + str(self.DiscardedMessageCount) + ', ' + \ - 'MonitoredItemCount:' + str(self.MonitoredItemCount) + ', ' + \ - 'DisabledMonitoredItemCount:' + str(self.DisabledMonitoredItemCount) + ', ' + \ - 'MonitoringQueueOverflowCount:' + str(self.MonitoringQueueOverflowCount) + ', ' + \ - 'NextSequenceNumber:' + str(self.NextSequenceNumber) + ', ' + \ - 'EventQueueOverFlowCount:' + str(self.EventQueueOverFlowCount) + ')' + return ', '.join(( + f'SubscriptionDiagnosticsDataType(SessionId:{self.SessionId}', + f'SubscriptionId:{self.SubscriptionId}', + f'Priority:{self.Priority}', + f'PublishingInterval:{self.PublishingInterval}', + f'MaxKeepAliveCount:{self.MaxKeepAliveCount}', + f'MaxLifetimeCount:{self.MaxLifetimeCount}', + f'MaxNotificationsPerPublish:{self.MaxNotificationsPerPublish}', + f'PublishingEnabled:{self.PublishingEnabled}', + f'ModifyCount:{self.ModifyCount}', + f'EnableCount:{self.EnableCount}', + f'DisableCount:{self.DisableCount}', + f'RepublishRequestCount:{self.RepublishRequestCount}', + f'RepublishMessageRequestCount:{self.RepublishMessageRequestCount}', + f'RepublishMessageCount:{self.RepublishMessageCount}', + f'TransferRequestCount:{self.TransferRequestCount}', + f'TransferredToAltClientCount:{self.TransferredToAltClientCount}', + f'TransferredToSameClientCount:{self.TransferredToSameClientCount}', + f'PublishRequestCount:{self.PublishRequestCount}', + f'DataChangeNotificationsCount:{self.DataChangeNotificationsCount}', + f'EventNotificationsCount:{self.EventNotificationsCount}', + f'NotificationsCount:{self.NotificationsCount}', + f'LatePublishRequestCount:{self.LatePublishRequestCount}', + f'CurrentKeepAliveCount:{self.CurrentKeepAliveCount}', + f'CurrentLifetimeCount:{self.CurrentLifetimeCount}', + f'UnacknowledgedMessageCount:{self.UnacknowledgedMessageCount}', + f'DiscardedMessageCount:{self.DiscardedMessageCount}', + f'MonitoredItemCount:{self.MonitoredItemCount}', + f'DisabledMonitoredItemCount:{self.DisabledMonitoredItemCount}', + f'MonitoringQueueOverflowCount:{self.MonitoringQueueOverflowCount}', + f'NextSequenceNumber:{self.NextSequenceNumber}', + f'EventQueueOverFlowCount:{self.EventQueueOverFlowCount})' + )) __repr__ = __str__ class ModelChangeStructureDataType(FrozenClass): - ''' + """ :ivar Affected: :vartype Affected: NodeId :ivar AffectedType: :vartype AffectedType: NodeId :ivar Verb: :vartype Verb: Byte - ''' + """ ua_types = [ ('Affected', 'NodeId'), ('AffectedType', 'NodeId'), ('Verb', 'Byte'), - ] + ] def __init__(self): self.Affected = NodeId() @@ -9272,25 +9604,27 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ModelChangeStructureDataType(' + 'Affected:' + str(self.Affected) + ', ' + \ - 'AffectedType:' + str(self.AffectedType) + ', ' + \ - 'Verb:' + str(self.Verb) + ')' + return ', '.join(( + f'ModelChangeStructureDataType(Affected:{self.Affected}', + f'AffectedType:{self.AffectedType}', + f'Verb:{self.Verb})' + )) __repr__ = __str__ class SemanticChangeStructureDataType(FrozenClass): - ''' + """ :ivar Affected: :vartype Affected: NodeId :ivar AffectedType: :vartype AffectedType: NodeId - ''' + """ ua_types = [ ('Affected', 'NodeId'), ('AffectedType', 'NodeId'), - ] + ] def __init__(self): self.Affected = NodeId() @@ -9298,24 +9632,23 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SemanticChangeStructureDataType(' + 'Affected:' + str(self.Affected) + ', ' + \ - 'AffectedType:' + str(self.AffectedType) + ')' + return f'SemanticChangeStructureDataType(Affected:{self.Affected}, AffectedType:{self.AffectedType})' __repr__ = __str__ class Range(FrozenClass): - ''' + """ :ivar Low: :vartype Low: Double :ivar High: :vartype High: Double - ''' + """ ua_types = [ ('Low', 'Double'), ('High', 'Double'), - ] + ] def __init__(self): self.Low = 0 @@ -9323,14 +9656,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'Range(' + 'Low:' + str(self.Low) + ', ' + \ - 'High:' + str(self.High) + ')' + return f'Range(Low:{self.Low}, High:{self.High})' __repr__ = __str__ class EUInformation(FrozenClass): - ''' + """ :ivar NamespaceUri: :vartype NamespaceUri: String :ivar UnitId: @@ -9339,14 +9671,14 @@ class EUInformation(FrozenClass): :vartype DisplayName: LocalizedText :ivar Description: :vartype Description: LocalizedText - ''' + """ ua_types = [ ('NamespaceUri', 'String'), ('UnitId', 'Int32'), ('DisplayName', 'LocalizedText'), ('Description', 'LocalizedText'), - ] + ] def __init__(self): self.NamespaceUri = None @@ -9356,26 +9688,28 @@ def __init__(self): self._freeze = True def __str__(self): - return 'EUInformation(' + 'NamespaceUri:' + str(self.NamespaceUri) + ', ' + \ - 'UnitId:' + str(self.UnitId) + ', ' + \ - 'DisplayName:' + str(self.DisplayName) + ', ' + \ - 'Description:' + str(self.Description) + ')' + return ', '.join(( + f'EUInformation(NamespaceUri:{self.NamespaceUri}', + f'UnitId:{self.UnitId}', + f'DisplayName:{self.DisplayName}', + f'Description:{self.Description})' + )) __repr__ = __str__ class ComplexNumberType(FrozenClass): - ''' + """ :ivar Real: :vartype Real: Float :ivar Imaginary: :vartype Imaginary: Float - ''' + """ ua_types = [ ('Real', 'Float'), ('Imaginary', 'Float'), - ] + ] def __init__(self): self.Real = 0 @@ -9383,24 +9717,23 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ComplexNumberType(' + 'Real:' + str(self.Real) + ', ' + \ - 'Imaginary:' + str(self.Imaginary) + ')' + return f'ComplexNumberType(Real:{self.Real}, Imaginary:{self.Imaginary})' __repr__ = __str__ class DoubleComplexNumberType(FrozenClass): - ''' + """ :ivar Real: :vartype Real: Double :ivar Imaginary: :vartype Imaginary: Double - ''' + """ ua_types = [ ('Real', 'Double'), ('Imaginary', 'Double'), - ] + ] def __init__(self): self.Real = 0 @@ -9408,14 +9741,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DoubleComplexNumberType(' + 'Real:' + str(self.Real) + ', ' + \ - 'Imaginary:' + str(self.Imaginary) + ')' + return f'DoubleComplexNumberType(Real:{self.Real}, Imaginary:{self.Imaginary})' __repr__ = __str__ class AxisInformation(FrozenClass): - ''' + """ :ivar EngineeringUnits: :vartype EngineeringUnits: EUInformation :ivar EURange: @@ -9426,7 +9758,7 @@ class AxisInformation(FrozenClass): :vartype AxisScaleType: AxisScaleEnumeration :ivar AxisSteps: :vartype AxisSteps: Double - ''' + """ ua_types = [ ('EngineeringUnits', 'EUInformation'), @@ -9434,7 +9766,7 @@ class AxisInformation(FrozenClass): ('Title', 'LocalizedText'), ('AxisScaleType', 'AxisScaleEnumeration'), ('AxisSteps', 'ListOfDouble'), - ] + ] def __init__(self): self.EngineeringUnits = EUInformation() @@ -9445,27 +9777,29 @@ def __init__(self): self._freeze = True def __str__(self): - return 'AxisInformation(' + 'EngineeringUnits:' + str(self.EngineeringUnits) + ', ' + \ - 'EURange:' + str(self.EURange) + ', ' + \ - 'Title:' + str(self.Title) + ', ' + \ - 'AxisScaleType:' + str(self.AxisScaleType) + ', ' + \ - 'AxisSteps:' + str(self.AxisSteps) + ')' + return ', '.join(( + f'AxisInformation(EngineeringUnits:{self.EngineeringUnits}', + f'EURange:{self.EURange}', + f'Title:{self.Title}', + f'AxisScaleType:{self.AxisScaleType}', + f'AxisSteps:{self.AxisSteps})' + )) __repr__ = __str__ class XVType(FrozenClass): - ''' + """ :ivar X: :vartype X: Double :ivar Value: :vartype Value: Float - ''' + """ ua_types = [ ('X', 'Double'), ('Value', 'Float'), - ] + ] def __init__(self): self.X = 0 @@ -9473,14 +9807,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'XVType(' + 'X:' + str(self.X) + ', ' + \ - 'Value:' + str(self.Value) + ')' + return f'XVType(X:{self.X}, Value:{self.Value})' __repr__ = __str__ class ProgramDiagnosticDataType(FrozenClass): - ''' + """ :ivar CreateSessionId: :vartype CreateSessionId: NodeId :ivar CreateClientName: @@ -9501,7 +9834,7 @@ class ProgramDiagnosticDataType(FrozenClass): :vartype LastMethodCallTime: DateTime :ivar LastMethodReturnStatus: :vartype LastMethodReturnStatus: StatusResult - ''' + """ ua_types = [ ('CreateSessionId', 'NodeId'), @@ -9514,7 +9847,7 @@ class ProgramDiagnosticDataType(FrozenClass): ('LastMethodOutputArguments', 'ListOfArgument'), ('LastMethodCallTime', 'DateTime'), ('LastMethodReturnStatus', 'StatusResult'), - ] + ] def __init__(self): self.CreateSessionId = NodeId() @@ -9530,35 +9863,37 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ProgramDiagnosticDataType(' + 'CreateSessionId:' + str(self.CreateSessionId) + ', ' + \ - 'CreateClientName:' + str(self.CreateClientName) + ', ' + \ - 'InvocationCreationTime:' + str(self.InvocationCreationTime) + ', ' + \ - 'LastTransitionTime:' + str(self.LastTransitionTime) + ', ' + \ - 'LastMethodCall:' + str(self.LastMethodCall) + ', ' + \ - 'LastMethodSessionId:' + str(self.LastMethodSessionId) + ', ' + \ - 'LastMethodInputArguments:' + str(self.LastMethodInputArguments) + ', ' + \ - 'LastMethodOutputArguments:' + str(self.LastMethodOutputArguments) + ', ' + \ - 'LastMethodCallTime:' + str(self.LastMethodCallTime) + ', ' + \ - 'LastMethodReturnStatus:' + str(self.LastMethodReturnStatus) + ')' + return ', '.join(( + f'ProgramDiagnosticDataType(CreateSessionId:{self.CreateSessionId}', + f'CreateClientName:{self.CreateClientName}', + f'InvocationCreationTime:{self.InvocationCreationTime}', + f'LastTransitionTime:{self.LastTransitionTime}', + f'LastMethodCall:{self.LastMethodCall}', + f'LastMethodSessionId:{self.LastMethodSessionId}', + f'LastMethodInputArguments:{self.LastMethodInputArguments}', + f'LastMethodOutputArguments:{self.LastMethodOutputArguments}', + f'LastMethodCallTime:{self.LastMethodCallTime}', + f'LastMethodReturnStatus:{self.LastMethodReturnStatus})' + )) __repr__ = __str__ class Annotation(FrozenClass): - ''' + """ :ivar Message: :vartype Message: String :ivar UserName: :vartype UserName: String :ivar AnnotationTime: :vartype AnnotationTime: DateTime - ''' + """ ua_types = [ ('Message', 'String'), ('UserName', 'String'), ('AnnotationTime', 'DateTime'), - ] + ] def __init__(self): self.Message = None @@ -9567,9 +9902,11 @@ def __init__(self): self._freeze = True def __str__(self): - return 'Annotation(' + 'Message:' + str(self.Message) + ', ' + \ - 'UserName:' + str(self.UserName) + ', ' + \ - 'AnnotationTime:' + str(self.AnnotationTime) + ')' + return ', '.join(( + f'Annotation(Message:{self.Message}', + f'UserName:{self.UserName}', + f'AnnotationTime:{self.AnnotationTime})' + )) __repr__ = __str__ From 115ab4a8febb70e99df4d76f31db0d0f5bed7b5f Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Sun, 25 Mar 2018 09:18:10 +0200 Subject: [PATCH 015/113] [ADD] refactor auto protocol generation --- examples/client-minimal-auth.py | 11 +- examples/client-minimal.py | 34 +- opcua/ua/uaprotocol_auto.py | 1934 +++++++-------------------- schemas/generate_protocol_python.py | 139 +- 4 files changed, 561 insertions(+), 1557 deletions(-) diff --git a/examples/client-minimal-auth.py b/examples/client-minimal-auth.py index 934fe0acb..55b00a667 100644 --- a/examples/client-minimal-auth.py +++ b/examples/client-minimal-auth.py @@ -7,7 +7,7 @@ _logger = logging.getLogger('opcua') -async def _browse_nodes(node: Node): +async def browse_nodes(node: Node): """ Build a nested node tree dict by recursion (filtered by OPC UA objects and variables). """ @@ -16,7 +16,7 @@ async def _browse_nodes(node: Node): for child in await node.get_children(): if await child.get_node_class() in [ua.NodeClass.Object, ua.NodeClass.Variable]: children.append( - await _browse_nodes(child) + await browse_nodes(child) ) if node_class != ua.NodeClass.Variable: var_type = None @@ -35,11 +35,6 @@ async def _browse_nodes(node: Node): } -async def create_node_tree(client): - """coroutine""" - return await _browse_nodes(client.get_objects_node()) - - async def task(loop): url = "opc.tcp://192.168.2.213:4840" # url = "opc.tcp://localhost:4840/freeopcua/server/" @@ -56,7 +51,7 @@ async def task(loop): # Node objects have methods to read and write node attributes as well as browse or populate address space _logger.info("Children of root are: %r", await root.get_children()) - tree = await create_node_tree(client) + tree = await browse_nodes(client.get_objects_node()) _logger.info('Node tree: %r', tree) except Exception: _logger.exception('error') diff --git a/examples/client-minimal.py b/examples/client-minimal.py index 18c745f51..d1271e6f9 100644 --- a/examples/client-minimal.py +++ b/examples/client-minimal.py @@ -2,12 +2,40 @@ import asyncio import logging -from opcua import Client +from opcua import Client, Node, ua logging.basicConfig(level=logging.INFO) _logger = logging.getLogger('opcua') +async def browse_nodes(node: Node): + """ + Build a nested node tree dict by recursion (filtered by OPC UA objects and variables). + """ + node_class = await node.get_node_class() + children = [] + for child in await node.get_children(): + if await child.get_node_class() in [ua.NodeClass.Object, ua.NodeClass.Variable]: + children.append( + await browse_nodes(child) + ) + if node_class != ua.NodeClass.Variable: + var_type = None + else: + try: + var_type = (await node.get_data_type_as_variant_type()).value + except ua.UaError: + _logger.warning('Node Variable Type coudl not be determined for %r', node) + var_type = None + return { + 'id': node.nodeid.to_string(), + 'name': (await node.get_display_name()).Text, + 'cls': node_class.value, + 'children': children, + 'type': var_type, + } + + async def task(loop): # url = 'opc.tcp://192.168.2.213:4840' # url = 'opc.tcp://localhost:4840/freeopcua/server/' @@ -31,8 +59,8 @@ async def task(loop): # var.set_value(3.9) # set node value using implicit data type # Now getting a variable node using its browse path - myvar = await root.get_child(['0:Objects', '2:MyObject', '2:MyVariable']) - _logger.info('myvar is: %r', myvar) + tree = await browse_nodes(client.get_objects_node()) + _logger.info('Node tree: %r', tree) except Exception: _logger.exception('error') diff --git a/opcua/ua/uaprotocol_auto.py b/opcua/ua/uaprotocol_auto.py index 78e5b6a86..ea5d04309 100644 --- a/opcua/ua/uaprotocol_auto.py +++ b/opcua/ua/uaprotocol_auto.py @@ -742,7 +742,7 @@ class DiagnosticInfo(FrozenClass): 'AdditionalInfo': ('Encoding', 4), 'InnerStatusCode': ('Encoding', 5), 'InnerDiagnosticInfo': ('Encoding', 6), - } + } ua_types = [ ('Encoding', 'Byte'), ('SymbolicId', 'Int32'), @@ -752,7 +752,7 @@ class DiagnosticInfo(FrozenClass): ('AdditionalInfo', 'String'), ('InnerStatusCode', 'StatusCode'), ('InnerDiagnosticInfo', 'DiagnosticInfo'), - ] + ] def __init__(self): self.Encoding = 0 @@ -766,16 +766,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'DiagnosticInfo(Encoding:{self.Encoding}', - f'SymbolicId:{self.SymbolicId}', - f'NamespaceURI:{self.NamespaceURI}', - f'Locale:{self.Locale}', - f'LocalizedText:{self.LocalizedText}', - f'AdditionalInfo:{self.AdditionalInfo}', - f'InnerStatusCode:{self.InnerStatusCode}', - f'InnerDiagnosticInfo:{self.InnerDiagnosticInfo})' - )) + return f'DiagnosticInfo(Encoding:{self.Encoding}, SymbolicId:{self.SymbolicId}, NamespaceURI:{self.NamespaceURI}, Locale:{self.Locale}, LocalizedText:{self.LocalizedText}, AdditionalInfo:{self.AdditionalInfo}, InnerStatusCode:{self.InnerStatusCode}, InnerDiagnosticInfo:{self.InnerDiagnosticInfo})' __repr__ = __str__ @@ -800,7 +791,7 @@ class TrustListDataType(FrozenClass): ('TrustedCrls', 'ListOfByteString'), ('IssuerCertificates', 'ListOfByteString'), ('IssuerCrls', 'ListOfByteString'), - ] + ] def __init__(self): self.SpecifiedLists = 0 @@ -811,13 +802,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'TrustListDataType(SpecifiedLists:{self.SpecifiedLists}', - f'TrustedCertificates:{self.TrustedCertificates}', - f'TrustedCrls:{self.TrustedCrls}', - f'IssuerCertificates:{self.IssuerCertificates}', - f'IssuerCrls:{self.IssuerCrls})' - )) + return f'TrustListDataType(SpecifiedLists:{self.SpecifiedLists}, TrustedCertificates:{self.TrustedCertificates}, TrustedCrls:{self.TrustedCrls}, IssuerCertificates:{self.IssuerCertificates}, IssuerCrls:{self.IssuerCrls})' __repr__ = __str__ @@ -844,7 +829,7 @@ class Argument(FrozenClass): ('ValueRank', 'Int32'), ('ArrayDimensions', 'ListOfUInt32'), ('Description', 'LocalizedText'), - ] + ] def __init__(self): self.Name = None @@ -855,13 +840,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'Argument(Name:{self.Name}', - f'DataType:{self.DataType}', - f'ValueRank:{self.ValueRank}', - f'ArrayDimensions:{self.ArrayDimensions}', - f'Description:{self.Description})' - )) + return f'Argument(Name:{self.Name}, DataType:{self.DataType}, ValueRank:{self.ValueRank}, ArrayDimensions:{self.ArrayDimensions}, Description:{self.Description})' __repr__ = __str__ @@ -882,7 +861,7 @@ class EnumValueType(FrozenClass): ('Value', 'Int64'), ('DisplayName', 'LocalizedText'), ('Description', 'LocalizedText'), - ] + ] def __init__(self): self.Value = 0 @@ -891,11 +870,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'EnumValueType(Value:{self.Value}', - f'DisplayName:{self.DisplayName}', - f'Description:{self.Description})' - )) + return f'EnumValueType(Value:{self.Value}, DisplayName:{self.DisplayName}, Description:{self.Description})' __repr__ = __str__ @@ -913,7 +888,7 @@ class OptionSet(FrozenClass): ua_types = [ ('Value', 'ByteString'), ('ValidBits', 'ByteString'), - ] + ] def __init__(self): self.Value = None @@ -933,7 +908,7 @@ class Union(FrozenClass): """ ua_types = [ - ] + ] def __init__(self): self._freeze = True @@ -955,7 +930,7 @@ class TimeZoneDataType(FrozenClass): ua_types = [ ('Offset', 'Int16'), ('DaylightSavingInOffset', 'Boolean'), - ] + ] def __init__(self): self.Offset = 0 @@ -996,7 +971,7 @@ class ApplicationDescription(FrozenClass): ('GatewayServerUri', 'String'), ('DiscoveryProfileUri', 'String'), ('DiscoveryUrls', 'ListOfString'), - ] + ] def __init__(self): self.ApplicationUri = None @@ -1009,15 +984,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ApplicationDescription(ApplicationUri:{self.ApplicationUri}', - f'ProductUri:{self.ProductUri}', - f'ApplicationName:{self.ApplicationName}', - f'ApplicationType:{self.ApplicationType}', - f'GatewayServerUri:{self.GatewayServerUri}', - f'DiscoveryProfileUri:{self.DiscoveryProfileUri}', - f'DiscoveryUrls:{self.DiscoveryUrls})' - )) + return f'ApplicationDescription(ApplicationUri:{self.ApplicationUri}, ProductUri:{self.ProductUri}, ApplicationName:{self.ApplicationName}, ApplicationType:{self.ApplicationType}, GatewayServerUri:{self.GatewayServerUri}, DiscoveryProfileUri:{self.DiscoveryProfileUri}, DiscoveryUrls:{self.DiscoveryUrls})' __repr__ = __str__ @@ -1050,7 +1017,7 @@ class RequestHeader(FrozenClass): ('AuditEntryId', 'String'), ('TimeoutHint', 'UInt32'), ('AdditionalHeader', 'ExtensionObject'), - ] + ] def __init__(self): self.AuthenticationToken = NodeId() @@ -1063,15 +1030,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'RequestHeader(AuthenticationToken:{self.AuthenticationToken}', - f'Timestamp:{self.Timestamp}', - f'RequestHandle:{self.RequestHandle}', - f'ReturnDiagnostics:{self.ReturnDiagnostics}', - f'AuditEntryId:{self.AuditEntryId}', - f'TimeoutHint:{self.TimeoutHint}', - f'AdditionalHeader:{self.AdditionalHeader})' - )) + return f'RequestHeader(AuthenticationToken:{self.AuthenticationToken}, Timestamp:{self.Timestamp}, RequestHandle:{self.RequestHandle}, ReturnDiagnostics:{self.ReturnDiagnostics}, AuditEntryId:{self.AuditEntryId}, TimeoutHint:{self.TimeoutHint}, AdditionalHeader:{self.AdditionalHeader})' __repr__ = __str__ @@ -1101,7 +1060,7 @@ class ResponseHeader(FrozenClass): ('ServiceDiagnostics', 'DiagnosticInfo'), ('StringTable', 'ListOfString'), ('AdditionalHeader', 'ExtensionObject'), - ] + ] def __init__(self): self.Timestamp = datetime.utcnow() @@ -1113,14 +1072,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ResponseHeader(Timestamp:{self.Timestamp}', - f'RequestHandle:{self.RequestHandle}', - f'ServiceResult:{self.ServiceResult}', - f'ServiceDiagnostics:{self.ServiceDiagnostics}', - f'StringTable:{self.StringTable}', - f'AdditionalHeader:{self.AdditionalHeader})' - )) + return f'ResponseHeader(Timestamp:{self.Timestamp}, RequestHandle:{self.RequestHandle}, ServiceResult:{self.ServiceResult}, ServiceDiagnostics:{self.ServiceDiagnostics}, StringTable:{self.StringTable}, AdditionalHeader:{self.AdditionalHeader})' __repr__ = __str__ @@ -1138,7 +1090,7 @@ class ServiceFault(FrozenClass): ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.ServiceFault_Encoding_DefaultBinary) @@ -1165,7 +1117,7 @@ class FindServersParameters(FrozenClass): ('EndpointUrl', 'String'), ('LocaleIds', 'ListOfString'), ('ServerUris', 'ListOfString'), - ] + ] def __init__(self): self.EndpointUrl = None @@ -1174,11 +1126,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'FindServersParameters(EndpointUrl:{self.EndpointUrl}', - f'LocaleIds:{self.LocaleIds}', - f'ServerUris:{self.ServerUris})' - )) + return f'FindServersParameters(EndpointUrl:{self.EndpointUrl}, LocaleIds:{self.LocaleIds}, ServerUris:{self.ServerUris})' __repr__ = __str__ @@ -1199,7 +1147,7 @@ class FindServersRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'FindServersParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.FindServersRequest_Encoding_DefaultBinary) @@ -1208,11 +1156,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'FindServersRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'FindServersRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -1233,7 +1177,7 @@ class FindServersResponse(FrozenClass): ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Servers', 'ListOfApplicationDescription'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.FindServersResponse_Encoding_DefaultBinary) @@ -1242,11 +1186,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'FindServersResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Servers:{self.Servers})' - )) + return f'FindServersResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Servers:{self.Servers})' __repr__ = __str__ @@ -1268,7 +1208,7 @@ class ServerOnNetwork(FrozenClass): ('ServerName', 'String'), ('DiscoveryUrl', 'String'), ('ServerCapabilities', 'ListOfString'), - ] + ] def __init__(self): self.RecordId = 0 @@ -1278,12 +1218,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ServerOnNetwork(RecordId:{self.RecordId}', - f'ServerName:{self.ServerName}', - f'DiscoveryUrl:{self.DiscoveryUrl}', - f'ServerCapabilities:{self.ServerCapabilities})' - )) + return f'ServerOnNetwork(RecordId:{self.RecordId}, ServerName:{self.ServerName}, DiscoveryUrl:{self.DiscoveryUrl}, ServerCapabilities:{self.ServerCapabilities})' __repr__ = __str__ @@ -1302,7 +1237,7 @@ class FindServersOnNetworkParameters(FrozenClass): ('StartingRecordId', 'UInt32'), ('MaxRecordsToReturn', 'UInt32'), ('ServerCapabilityFilter', 'ListOfString'), - ] + ] def __init__(self): self.StartingRecordId = 0 @@ -1311,11 +1246,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'FindServersOnNetworkParameters(StartingRecordId:{self.StartingRecordId}', - f'MaxRecordsToReturn:{self.MaxRecordsToReturn}', - f'ServerCapabilityFilter:{self.ServerCapabilityFilter})' - )) + return f'FindServersOnNetworkParameters(StartingRecordId:{self.StartingRecordId}, MaxRecordsToReturn:{self.MaxRecordsToReturn}, ServerCapabilityFilter:{self.ServerCapabilityFilter})' __repr__ = __str__ @@ -1334,7 +1265,7 @@ class FindServersOnNetworkRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'FindServersOnNetworkParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.FindServersOnNetworkRequest_Encoding_DefaultBinary) @@ -1343,11 +1274,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'FindServersOnNetworkRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'FindServersOnNetworkRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -1363,7 +1290,7 @@ class FindServersOnNetworkResult(FrozenClass): ua_types = [ ('LastCounterResetTime', 'DateTime'), ('Servers', 'ListOfServerOnNetwork'), - ] + ] def __init__(self): self.LastCounterResetTime = datetime.utcnow() @@ -1390,7 +1317,7 @@ class FindServersOnNetworkResponse(FrozenClass): ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'FindServersOnNetworkResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.FindServersOnNetworkResponse_Encoding_DefaultBinary) @@ -1399,11 +1326,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'FindServersOnNetworkResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Parameters:{self.Parameters})' - )) + return f'FindServersOnNetworkResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -1430,7 +1353,7 @@ class UserTokenPolicy(FrozenClass): ('IssuedTokenType', 'String'), ('IssuerEndpointUrl', 'String'), ('SecurityPolicyUri', 'String'), - ] + ] def __init__(self): self.PolicyId = None @@ -1441,13 +1364,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'UserTokenPolicy(PolicyId:{self.PolicyId}', - f'TokenType:{self.TokenType}', - f'IssuedTokenType:{self.IssuedTokenType}', - f'IssuerEndpointUrl:{self.IssuerEndpointUrl}', - f'SecurityPolicyUri:{self.SecurityPolicyUri})' - )) + return f'UserTokenPolicy(PolicyId:{self.PolicyId}, TokenType:{self.TokenType}, IssuedTokenType:{self.IssuedTokenType}, IssuerEndpointUrl:{self.IssuerEndpointUrl}, SecurityPolicyUri:{self.SecurityPolicyUri})' __repr__ = __str__ @@ -1483,7 +1400,7 @@ class EndpointDescription(FrozenClass): ('UserIdentityTokens', 'ListOfUserTokenPolicy'), ('TransportProfileUri', 'String'), ('SecurityLevel', 'Byte'), - ] + ] def __init__(self): self.EndpointUrl = None @@ -1497,16 +1414,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'EndpointDescription(EndpointUrl:{self.EndpointUrl}', - f'Server:{self.Server}', - f'ServerCertificate:{self.ServerCertificate}', - f'SecurityMode:{self.SecurityMode}', - f'SecurityPolicyUri:{self.SecurityPolicyUri}', - f'UserIdentityTokens:{self.UserIdentityTokens}', - f'TransportProfileUri:{self.TransportProfileUri}', - f'SecurityLevel:{self.SecurityLevel})' - )) + return f'EndpointDescription(EndpointUrl:{self.EndpointUrl}, Server:{self.Server}, ServerCertificate:{self.ServerCertificate}, SecurityMode:{self.SecurityMode}, SecurityPolicyUri:{self.SecurityPolicyUri}, UserIdentityTokens:{self.UserIdentityTokens}, TransportProfileUri:{self.TransportProfileUri}, SecurityLevel:{self.SecurityLevel})' __repr__ = __str__ @@ -1525,7 +1433,7 @@ class GetEndpointsParameters(FrozenClass): ('EndpointUrl', 'String'), ('LocaleIds', 'ListOfString'), ('ProfileUris', 'ListOfString'), - ] + ] def __init__(self): self.EndpointUrl = None @@ -1534,11 +1442,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'GetEndpointsParameters(EndpointUrl:{self.EndpointUrl}', - f'LocaleIds:{self.LocaleIds}', - f'ProfileUris:{self.ProfileUris})' - )) + return f'GetEndpointsParameters(EndpointUrl:{self.EndpointUrl}, LocaleIds:{self.LocaleIds}, ProfileUris:{self.ProfileUris})' __repr__ = __str__ @@ -1559,7 +1463,7 @@ class GetEndpointsRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'GetEndpointsParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.GetEndpointsRequest_Encoding_DefaultBinary) @@ -1568,11 +1472,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'GetEndpointsRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'GetEndpointsRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -1593,7 +1493,7 @@ class GetEndpointsResponse(FrozenClass): ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Endpoints', 'ListOfEndpointDescription'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.GetEndpointsResponse_Encoding_DefaultBinary) @@ -1602,11 +1502,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'GetEndpointsResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Endpoints:{self.Endpoints})' - )) + return f'GetEndpointsResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Endpoints:{self.Endpoints})' __repr__ = __str__ @@ -1642,7 +1538,7 @@ class RegisteredServer(FrozenClass): ('DiscoveryUrls', 'ListOfString'), ('SemaphoreFilePath', 'String'), ('IsOnline', 'Boolean'), - ] + ] def __init__(self): self.ServerUri = None @@ -1656,16 +1552,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'RegisteredServer(ServerUri:{self.ServerUri}', - f'ProductUri:{self.ProductUri}', - f'ServerNames:{self.ServerNames}', - f'ServerType:{self.ServerType}', - f'GatewayServerUri:{self.GatewayServerUri}', - f'DiscoveryUrls:{self.DiscoveryUrls}', - f'SemaphoreFilePath:{self.SemaphoreFilePath}', - f'IsOnline:{self.IsOnline})' - )) + return f'RegisteredServer(ServerUri:{self.ServerUri}, ProductUri:{self.ProductUri}, ServerNames:{self.ServerNames}, ServerType:{self.ServerType}, GatewayServerUri:{self.GatewayServerUri}, DiscoveryUrls:{self.DiscoveryUrls}, SemaphoreFilePath:{self.SemaphoreFilePath}, IsOnline:{self.IsOnline})' __repr__ = __str__ @@ -1686,7 +1573,7 @@ class RegisterServerRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Server', 'RegisteredServer'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.RegisterServerRequest_Encoding_DefaultBinary) @@ -1695,11 +1582,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'RegisterServerRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Server:{self.Server})' - )) + return f'RegisterServerRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Server:{self.Server})' __repr__ = __str__ @@ -1717,7 +1600,7 @@ class RegisterServerResponse(FrozenClass): ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.RegisterServerResponse_Encoding_DefaultBinary) @@ -1737,7 +1620,7 @@ class DiscoveryConfiguration(FrozenClass): """ ua_types = [ - ] + ] def __init__(self): self._freeze = True @@ -1761,7 +1644,7 @@ class MdnsDiscoveryConfiguration(FrozenClass): ua_types = [ ('MdnsServerName', 'String'), ('ServerCapabilities', 'ListOfString'), - ] + ] def __init__(self): self.MdnsServerName = None @@ -1769,10 +1652,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'MdnsDiscoveryConfiguration(MdnsServerName:{self.MdnsServerName}', - f'ServerCapabilities:{self.ServerCapabilities})' - )) + return f'MdnsDiscoveryConfiguration(MdnsServerName:{self.MdnsServerName}, ServerCapabilities:{self.ServerCapabilities})' __repr__ = __str__ @@ -1788,7 +1668,7 @@ class RegisterServer2Parameters(FrozenClass): ua_types = [ ('Server', 'RegisteredServer'), ('DiscoveryConfiguration', 'ListOfExtensionObject'), - ] + ] def __init__(self): self.Server = RegisteredServer() @@ -1815,7 +1695,7 @@ class RegisterServer2Request(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'RegisterServer2Parameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.RegisterServer2Request_Encoding_DefaultBinary) @@ -1824,11 +1704,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'RegisterServer2Request(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'RegisterServer2Request(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -1850,7 +1726,7 @@ class RegisterServer2Response(FrozenClass): ('ResponseHeader', 'ResponseHeader'), ('ConfigurationResults', 'ListOfStatusCode'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.RegisterServer2Response_Encoding_DefaultBinary) @@ -1860,12 +1736,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'RegisterServer2Response(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'ConfigurationResults:{self.ConfigurationResults}', - f'DiagnosticInfos:{self.DiagnosticInfos})' - )) + return f'RegisterServer2Response(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, ConfigurationResults:{self.ConfigurationResults}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ @@ -1889,7 +1760,7 @@ class ChannelSecurityToken(FrozenClass): ('TokenId', 'UInt32'), ('CreatedAt', 'DateTime'), ('RevisedLifetime', 'UInt32'), - ] + ] def __init__(self): self.ChannelId = 0 @@ -1899,12 +1770,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ChannelSecurityToken(ChannelId:{self.ChannelId}', - f'TokenId:{self.TokenId}', - f'CreatedAt:{self.CreatedAt}', - f'RevisedLifetime:{self.RevisedLifetime})' - )) + return f'ChannelSecurityToken(ChannelId:{self.ChannelId}, TokenId:{self.TokenId}, CreatedAt:{self.CreatedAt}, RevisedLifetime:{self.RevisedLifetime})' __repr__ = __str__ @@ -1929,7 +1795,7 @@ class OpenSecureChannelParameters(FrozenClass): ('SecurityMode', 'MessageSecurityMode'), ('ClientNonce', 'ByteString'), ('RequestedLifetime', 'UInt32'), - ] + ] def __init__(self): self.ClientProtocolVersion = 0 @@ -1940,13 +1806,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'OpenSecureChannelParameters(ClientProtocolVersion:{self.ClientProtocolVersion}', - f'RequestType:{self.RequestType}', - f'SecurityMode:{self.SecurityMode}', - f'ClientNonce:{self.ClientNonce}', - f'RequestedLifetime:{self.RequestedLifetime})' - )) + return f'OpenSecureChannelParameters(ClientProtocolVersion:{self.ClientProtocolVersion}, RequestType:{self.RequestType}, SecurityMode:{self.SecurityMode}, ClientNonce:{self.ClientNonce}, RequestedLifetime:{self.RequestedLifetime})' __repr__ = __str__ @@ -1967,7 +1827,7 @@ class OpenSecureChannelRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'OpenSecureChannelParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.OpenSecureChannelRequest_Encoding_DefaultBinary) @@ -1976,11 +1836,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'OpenSecureChannelRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'OpenSecureChannelRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -1999,7 +1855,7 @@ class OpenSecureChannelResult(FrozenClass): ('ServerProtocolVersion', 'UInt32'), ('SecurityToken', 'ChannelSecurityToken'), ('ServerNonce', 'ByteString'), - ] + ] def __init__(self): self.ServerProtocolVersion = 0 @@ -2008,11 +1864,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'OpenSecureChannelResult(ServerProtocolVersion:{self.ServerProtocolVersion}', - f'SecurityToken:{self.SecurityToken}', - f'ServerNonce:{self.ServerNonce})' - )) + return f'OpenSecureChannelResult(ServerProtocolVersion:{self.ServerProtocolVersion}, SecurityToken:{self.SecurityToken}, ServerNonce:{self.ServerNonce})' __repr__ = __str__ @@ -2033,7 +1885,7 @@ class OpenSecureChannelResponse(FrozenClass): ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'OpenSecureChannelResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.OpenSecureChannelResponse_Encoding_DefaultBinary) @@ -2042,11 +1894,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'OpenSecureChannelResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Parameters:{self.Parameters})' - )) + return f'OpenSecureChannelResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -2064,7 +1912,7 @@ class CloseSecureChannelRequest(FrozenClass): ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CloseSecureChannelRequest_Encoding_DefaultBinary) @@ -2090,7 +1938,7 @@ class CloseSecureChannelResponse(FrozenClass): ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CloseSecureChannelResponse_Encoding_DefaultBinary) @@ -2116,7 +1964,7 @@ class SignedSoftwareCertificate(FrozenClass): ua_types = [ ('CertificateData', 'ByteString'), ('Signature', 'ByteString'), - ] + ] def __init__(self): self.CertificateData = None @@ -2142,7 +1990,7 @@ class SignatureData(FrozenClass): ua_types = [ ('Algorithm', 'String'), ('Signature', 'ByteString'), - ] + ] def __init__(self): self.Algorithm = None @@ -2184,7 +2032,7 @@ class CreateSessionParameters(FrozenClass): ('ClientCertificate', 'ByteString'), ('RequestedSessionTimeout', 'Double'), ('MaxResponseMessageSize', 'UInt32'), - ] + ] def __init__(self): self.ClientDescription = ApplicationDescription() @@ -2198,16 +2046,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'CreateSessionParameters(ClientDescription:{self.ClientDescription}', - f'ServerUri:{self.ServerUri}', - f'EndpointUrl:{self.EndpointUrl}', - f'SessionName:{self.SessionName}', - f'ClientNonce:{self.ClientNonce}', - f'ClientCertificate:{self.ClientCertificate}', - f'RequestedSessionTimeout:{self.RequestedSessionTimeout}', - f'MaxResponseMessageSize:{self.MaxResponseMessageSize})' - )) + return f'CreateSessionParameters(ClientDescription:{self.ClientDescription}, ServerUri:{self.ServerUri}, EndpointUrl:{self.EndpointUrl}, SessionName:{self.SessionName}, ClientNonce:{self.ClientNonce}, ClientCertificate:{self.ClientCertificate}, RequestedSessionTimeout:{self.RequestedSessionTimeout}, MaxResponseMessageSize:{self.MaxResponseMessageSize})' __repr__ = __str__ @@ -2228,7 +2067,7 @@ class CreateSessionRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'CreateSessionParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CreateSessionRequest_Encoding_DefaultBinary) @@ -2237,11 +2076,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'CreateSessionRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'CreateSessionRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -2278,7 +2113,7 @@ class CreateSessionResult(FrozenClass): ('ServerSoftwareCertificates', 'ListOfSignedSoftwareCertificate'), ('ServerSignature', 'SignatureData'), ('MaxRequestMessageSize', 'UInt32'), - ] + ] def __init__(self): self.SessionId = NodeId() @@ -2293,17 +2128,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'CreateSessionResult(SessionId:{self.SessionId}', - f'AuthenticationToken:{self.AuthenticationToken}', - f'RevisedSessionTimeout:{self.RevisedSessionTimeout}', - f'ServerNonce:{self.ServerNonce}', - f'ServerCertificate:{self.ServerCertificate}', - f'ServerEndpoints:{self.ServerEndpoints}', - f'ServerSoftwareCertificates:{self.ServerSoftwareCertificates}', - f'ServerSignature:{self.ServerSignature}', - f'MaxRequestMessageSize:{self.MaxRequestMessageSize})' - )) + return f'CreateSessionResult(SessionId:{self.SessionId}, AuthenticationToken:{self.AuthenticationToken}, RevisedSessionTimeout:{self.RevisedSessionTimeout}, ServerNonce:{self.ServerNonce}, ServerCertificate:{self.ServerCertificate}, ServerEndpoints:{self.ServerEndpoints}, ServerSoftwareCertificates:{self.ServerSoftwareCertificates}, ServerSignature:{self.ServerSignature}, MaxRequestMessageSize:{self.MaxRequestMessageSize})' __repr__ = __str__ @@ -2324,7 +2149,7 @@ class CreateSessionResponse(FrozenClass): ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'CreateSessionResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CreateSessionResponse_Encoding_DefaultBinary) @@ -2333,11 +2158,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'CreateSessionResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Parameters:{self.Parameters})' - )) + return f'CreateSessionResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -2352,7 +2173,7 @@ class UserIdentityToken(FrozenClass): ua_types = [ ('PolicyId', 'String'), - ] + ] def __init__(self): self.PolicyId = None @@ -2374,14 +2195,14 @@ class AnonymousIdentityToken(FrozenClass): ua_types = [ ('PolicyId', 'String'), - ] + ] def __init__(self): self.PolicyId = None self._freeze = True def __str__(self): - return f'AnonymousIdentityToken(PolicyId:{self.PolicyId})', + return f'AnonymousIdentityToken(PolicyId:{self.PolicyId})' __repr__ = __str__ @@ -2405,7 +2226,7 @@ class UserNameIdentityToken(FrozenClass): ('UserName', 'String'), ('Password', 'ByteString'), ('EncryptionAlgorithm', 'String'), - ] + ] def __init__(self): self.PolicyId = None @@ -2415,12 +2236,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'UserNameIdentityToken(PolicyId:{self.PolicyId}', - f'UserName:{self.UserName}', - f'Password:{self.Password}', - f'EncryptionAlgorithm:{self.EncryptionAlgorithm})' - )) + return f'UserNameIdentityToken(PolicyId:{self.PolicyId}, UserName:{self.UserName}, Password:{self.Password}, EncryptionAlgorithm:{self.EncryptionAlgorithm})' __repr__ = __str__ @@ -2438,7 +2254,7 @@ class X509IdentityToken(FrozenClass): ua_types = [ ('PolicyId', 'String'), ('CertificateData', 'ByteString'), - ] + ] def __init__(self): self.PolicyId = None @@ -2462,7 +2278,7 @@ class KerberosIdentityToken(FrozenClass): ua_types = [ ('PolicyId', 'String'), ('TicketData', 'ByteString'), - ] + ] def __init__(self): self.PolicyId = None @@ -2491,7 +2307,7 @@ class IssuedIdentityToken(FrozenClass): ('PolicyId', 'String'), ('TokenData', 'ByteString'), ('EncryptionAlgorithm', 'String'), - ] + ] def __init__(self): self.PolicyId = None @@ -2500,11 +2316,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'IssuedIdentityToken(PolicyId:{self.PolicyId}', - f'TokenData:{self.TokenData}', - f'EncryptionAlgorithm:{self.EncryptionAlgorithm})' - )) + return f'IssuedIdentityToken(PolicyId:{self.PolicyId}, TokenData:{self.TokenData}, EncryptionAlgorithm:{self.EncryptionAlgorithm})' __repr__ = __str__ @@ -2529,7 +2341,7 @@ class ActivateSessionParameters(FrozenClass): ('LocaleIds', 'ListOfString'), ('UserIdentityToken', 'ExtensionObject'), ('UserTokenSignature', 'SignatureData'), - ] + ] def __init__(self): self.ClientSignature = SignatureData() @@ -2540,13 +2352,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ActivateSessionParameters(ClientSignature:{self.ClientSignature}', - f'ClientSoftwareCertificates:{self.ClientSoftwareCertificates}', - f'LocaleIds:{self.LocaleIds}', - f'UserIdentityToken:{self.UserIdentityToken}', - f'UserTokenSignature:{self.UserTokenSignature})' - )) + return f'ActivateSessionParameters(ClientSignature:{self.ClientSignature}, ClientSoftwareCertificates:{self.ClientSoftwareCertificates}, LocaleIds:{self.LocaleIds}, UserIdentityToken:{self.UserIdentityToken}, UserTokenSignature:{self.UserTokenSignature})' __repr__ = __str__ @@ -2567,7 +2373,7 @@ class ActivateSessionRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'ActivateSessionParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.ActivateSessionRequest_Encoding_DefaultBinary) @@ -2576,11 +2382,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ActivateSessionRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'ActivateSessionRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -2599,7 +2401,7 @@ class ActivateSessionResult(FrozenClass): ('ServerNonce', 'ByteString'), ('Results', 'ListOfStatusCode'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.ServerNonce = None @@ -2608,11 +2410,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ActivateSessionResult(ServerNonce:{self.ServerNonce}', - f'Results:{self.Results}', - f'DiagnosticInfos:{self.DiagnosticInfos})' - )) + return f'ActivateSessionResult(ServerNonce:{self.ServerNonce}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ @@ -2633,7 +2431,7 @@ class ActivateSessionResponse(FrozenClass): ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'ActivateSessionResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.ActivateSessionResponse_Encoding_DefaultBinary) @@ -2642,11 +2440,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ActivateSessionResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Parameters:{self.Parameters})' - )) + return f'ActivateSessionResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -2667,7 +2461,7 @@ class CloseSessionRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('DeleteSubscriptions', 'Boolean'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CloseSessionRequest_Encoding_DefaultBinary) @@ -2676,11 +2470,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'CloseSessionRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'DeleteSubscriptions:{self.DeleteSubscriptions})' - )) + return f'CloseSessionRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, DeleteSubscriptions:{self.DeleteSubscriptions})' __repr__ = __str__ @@ -2698,7 +2488,7 @@ class CloseSessionResponse(FrozenClass): ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CloseSessionResponse_Encoding_DefaultBinary) @@ -2719,7 +2509,7 @@ class CancelParameters(FrozenClass): ua_types = [ ('RequestHandle', 'UInt32'), - ] + ] def __init__(self): self.RequestHandle = 0 @@ -2747,7 +2537,7 @@ class CancelRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'CancelParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CancelRequest_Encoding_DefaultBinary) @@ -2756,11 +2546,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'CancelRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'CancelRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -2773,7 +2559,7 @@ class CancelResult(FrozenClass): ua_types = [ ('CancelCount', 'UInt32'), - ] + ] def __init__(self): self.CancelCount = 0 @@ -2801,7 +2587,7 @@ class CancelResponse(FrozenClass): ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'CancelResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CancelResponse_Encoding_DefaultBinary) @@ -2810,11 +2596,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'CancelResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Parameters:{self.Parameters})' - )) + return f'CancelResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -2841,7 +2623,7 @@ class NodeAttributes(FrozenClass): ('Description', 'LocalizedText'), ('WriteMask', 'UInt32'), ('UserWriteMask', 'UInt32'), - ] + ] def __init__(self): self.SpecifiedAttributes = 0 @@ -2852,13 +2634,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'NodeAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}', - f'DisplayName:{self.DisplayName}', - f'Description:{self.Description}', - f'WriteMask:{self.WriteMask}', - f'UserWriteMask:{self.UserWriteMask})' - )) + return f'NodeAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}, DisplayName:{self.DisplayName}, Description:{self.Description}, WriteMask:{self.WriteMask}, UserWriteMask:{self.UserWriteMask})' __repr__ = __str__ @@ -2888,7 +2664,7 @@ class ObjectAttributes(FrozenClass): ('WriteMask', 'UInt32'), ('UserWriteMask', 'UInt32'), ('EventNotifier', 'Byte'), - ] + ] def __init__(self): self.SpecifiedAttributes = 0 @@ -2900,14 +2676,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ObjectAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}', - f'DisplayName:{self.DisplayName}', - f'Description:{self.Description}', - f'WriteMask:{self.WriteMask}', - f'UserWriteMask:{self.UserWriteMask}', - f'EventNotifier:{self.EventNotifier})' - )) + return f'ObjectAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}, DisplayName:{self.DisplayName}, Description:{self.Description}, WriteMask:{self.WriteMask}, UserWriteMask:{self.UserWriteMask}, EventNotifier:{self.EventNotifier})' __repr__ = __str__ @@ -2958,7 +2727,7 @@ class VariableAttributes(FrozenClass): ('UserAccessLevel', 'Byte'), ('MinimumSamplingInterval', 'Double'), ('Historizing', 'Boolean'), - ] + ] def __init__(self): self.SpecifiedAttributes = 0 @@ -2977,21 +2746,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'VariableAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}', - f'DisplayName:{self.DisplayName}', - f'Description:{self.Description}', - f'WriteMask:{self.WriteMask}', - f'UserWriteMask:{self.UserWriteMask}', - f'Value:{self.Value}', - f'DataType:{self.DataType}', - f'ValueRank:{self.ValueRank}', - f'ArrayDimensions:{self.ArrayDimensions}', - f'AccessLevel:{self.AccessLevel}', - f'UserAccessLevel:{self.UserAccessLevel}', - f'MinimumSamplingInterval:{self.MinimumSamplingInterval}', - f'Historizing:{self.Historizing})' - )) + return f'VariableAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}, DisplayName:{self.DisplayName}, Description:{self.Description}, WriteMask:{self.WriteMask}, UserWriteMask:{self.UserWriteMask}, Value:{self.Value}, DataType:{self.DataType}, ValueRank:{self.ValueRank}, ArrayDimensions:{self.ArrayDimensions}, AccessLevel:{self.AccessLevel}, UserAccessLevel:{self.UserAccessLevel}, MinimumSamplingInterval:{self.MinimumSamplingInterval}, Historizing:{self.Historizing})' __repr__ = __str__ @@ -3024,7 +2779,7 @@ class MethodAttributes(FrozenClass): ('UserWriteMask', 'UInt32'), ('Executable', 'Boolean'), ('UserExecutable', 'Boolean'), - ] + ] def __init__(self): self.SpecifiedAttributes = 0 @@ -3037,15 +2792,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'MethodAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}', - f'DisplayName:{self.DisplayName}', - f'Description:{self.Description}', - f'WriteMask:{self.WriteMask}', - f'UserWriteMask:{self.UserWriteMask}', - f'Executable:{self.Executable}', - f'UserExecutable:{self.UserExecutable})' - )) + return f'MethodAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}, DisplayName:{self.DisplayName}, Description:{self.Description}, WriteMask:{self.WriteMask}, UserWriteMask:{self.UserWriteMask}, Executable:{self.Executable}, UserExecutable:{self.UserExecutable})' __repr__ = __str__ @@ -3075,7 +2822,7 @@ class ObjectTypeAttributes(FrozenClass): ('WriteMask', 'UInt32'), ('UserWriteMask', 'UInt32'), ('IsAbstract', 'Boolean'), - ] + ] def __init__(self): self.SpecifiedAttributes = 0 @@ -3087,14 +2834,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ObjectTypeAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}', - f'DisplayName:{self.DisplayName}', - f'Description:{self.Description}', - f'WriteMask:{self.WriteMask}', - f'UserWriteMask:{self.UserWriteMask}', - f'IsAbstract:{self.IsAbstract})' - )) + return f'ObjectTypeAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}, DisplayName:{self.DisplayName}, Description:{self.Description}, WriteMask:{self.WriteMask}, UserWriteMask:{self.UserWriteMask}, IsAbstract:{self.IsAbstract})' __repr__ = __str__ @@ -3136,7 +2876,7 @@ class VariableTypeAttributes(FrozenClass): ('ValueRank', 'Int32'), ('ArrayDimensions', 'ListOfUInt32'), ('IsAbstract', 'Boolean'), - ] + ] def __init__(self): self.SpecifiedAttributes = 0 @@ -3152,18 +2892,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'VariableTypeAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}', - f'DisplayName:{self.DisplayName}', - f'Description:{self.Description}', - f'WriteMask:{self.WriteMask}', - f'UserWriteMask:{self.UserWriteMask}', - f'Value:{self.Value}', - f'DataType:{self.DataType}', - f'ValueRank:{self.ValueRank}', - f'ArrayDimensions:{self.ArrayDimensions}', - f'IsAbstract:{self.IsAbstract})' - )) + return f'VariableTypeAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}, DisplayName:{self.DisplayName}, Description:{self.Description}, WriteMask:{self.WriteMask}, UserWriteMask:{self.UserWriteMask}, Value:{self.Value}, DataType:{self.DataType}, ValueRank:{self.ValueRank}, ArrayDimensions:{self.ArrayDimensions}, IsAbstract:{self.IsAbstract})' __repr__ = __str__ @@ -3199,7 +2928,7 @@ class ReferenceTypeAttributes(FrozenClass): ('IsAbstract', 'Boolean'), ('Symmetric', 'Boolean'), ('InverseName', 'LocalizedText'), - ] + ] def __init__(self): self.SpecifiedAttributes = 0 @@ -3213,16 +2942,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ReferenceTypeAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}', - f'DisplayName:{self.DisplayName}', - f'Description:{self.Description}', - f'WriteMask:{self.WriteMask}', - f'UserWriteMask:{self.UserWriteMask}', - f'IsAbstract:{self.IsAbstract}', - f'Symmetric:{self.Symmetric}', - f'InverseName:{self.InverseName})' - )) + return f'ReferenceTypeAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}, DisplayName:{self.DisplayName}, Description:{self.Description}, WriteMask:{self.WriteMask}, UserWriteMask:{self.UserWriteMask}, IsAbstract:{self.IsAbstract}, Symmetric:{self.Symmetric}, InverseName:{self.InverseName})' __repr__ = __str__ @@ -3252,7 +2972,7 @@ class DataTypeAttributes(FrozenClass): ('WriteMask', 'UInt32'), ('UserWriteMask', 'UInt32'), ('IsAbstract', 'Boolean'), - ] + ] def __init__(self): self.SpecifiedAttributes = 0 @@ -3264,14 +2984,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'DataTypeAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}', - f'DisplayName:{self.DisplayName}', - f'Description:{self.Description}', - f'WriteMask:{self.WriteMask}', - f'UserWriteMask:{self.UserWriteMask}', - f'IsAbstract:{self.IsAbstract})' - )) + return f'DataTypeAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}, DisplayName:{self.DisplayName}, Description:{self.Description}, WriteMask:{self.WriteMask}, UserWriteMask:{self.UserWriteMask}, IsAbstract:{self.IsAbstract})' __repr__ = __str__ @@ -3304,7 +3017,7 @@ class ViewAttributes(FrozenClass): ('UserWriteMask', 'UInt32'), ('ContainsNoLoops', 'Boolean'), ('EventNotifier', 'Byte'), - ] + ] def __init__(self): self.SpecifiedAttributes = 0 @@ -3317,15 +3030,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ViewAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}', - f'DisplayName:{self.DisplayName}', - f'Description:{self.Description}', - f'WriteMask:{self.WriteMask}', - f'UserWriteMask:{self.UserWriteMask}', - f'ContainsNoLoops:{self.ContainsNoLoops}', - f'EventNotifier:{self.EventNotifier})' - )) + return f'ViewAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}, DisplayName:{self.DisplayName}, Description:{self.Description}, WriteMask:{self.WriteMask}, UserWriteMask:{self.UserWriteMask}, ContainsNoLoops:{self.ContainsNoLoops}, EventNotifier:{self.EventNotifier})' __repr__ = __str__ @@ -3358,7 +3063,7 @@ class AddNodesItem(FrozenClass): ('NodeClass', 'NodeClass'), ('NodeAttributes', 'ExtensionObject'), ('TypeDefinition', 'ExpandedNodeId'), - ] + ] def __init__(self): self.ParentNodeId = ExpandedNodeId() @@ -3371,15 +3076,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'AddNodesItem(ParentNodeId:{self.ParentNodeId}', - f'ReferenceTypeId:{self.ReferenceTypeId}', - f'RequestedNewNodeId:{self.RequestedNewNodeId}', - f'BrowseName:{self.BrowseName}', - f'NodeClass:{self.NodeClass}', - f'NodeAttributes:{self.NodeAttributes}', - f'TypeDefinition:{self.TypeDefinition})' - )) + return f'AddNodesItem(ParentNodeId:{self.ParentNodeId}, ReferenceTypeId:{self.ReferenceTypeId}, RequestedNewNodeId:{self.RequestedNewNodeId}, BrowseName:{self.BrowseName}, NodeClass:{self.NodeClass}, NodeAttributes:{self.NodeAttributes}, TypeDefinition:{self.TypeDefinition})' __repr__ = __str__ @@ -3397,7 +3094,7 @@ class AddNodesResult(FrozenClass): ua_types = [ ('StatusCode', 'StatusCode'), ('AddedNodeId', 'NodeId'), - ] + ] def __init__(self): self.StatusCode = StatusCode() @@ -3418,7 +3115,7 @@ class AddNodesParameters(FrozenClass): ua_types = [ ('NodesToAdd', 'ListOfAddNodesItem'), - ] + ] def __init__(self): self.NodesToAdd = [] @@ -3446,7 +3143,7 @@ class AddNodesRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'AddNodesParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.AddNodesRequest_Encoding_DefaultBinary) @@ -3455,11 +3152,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'AddNodesRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'AddNodesRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -3483,7 +3176,7 @@ class AddNodesResponse(FrozenClass): ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfAddNodesResult'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.AddNodesResponse_Encoding_DefaultBinary) @@ -3493,12 +3186,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'AddNodesResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Results:{self.Results}', - f'DiagnosticInfos:{self.DiagnosticInfos})' - )) + return f'AddNodesResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ @@ -3528,7 +3216,7 @@ class AddReferencesItem(FrozenClass): ('TargetServerUri', 'String'), ('TargetNodeId', 'ExpandedNodeId'), ('TargetNodeClass', 'NodeClass'), - ] + ] def __init__(self): self.SourceNodeId = NodeId() @@ -3540,14 +3228,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'AddReferencesItem(SourceNodeId:{self.SourceNodeId}', - f'ReferenceTypeId:{self.ReferenceTypeId}', - f'IsForward:{self.IsForward}', - f'TargetServerUri:{self.TargetServerUri}', - f'TargetNodeId:{self.TargetNodeId}', - f'TargetNodeClass:{self.TargetNodeClass})' - )) + return f'AddReferencesItem(SourceNodeId:{self.SourceNodeId}, ReferenceTypeId:{self.ReferenceTypeId}, IsForward:{self.IsForward}, TargetServerUri:{self.TargetServerUri}, TargetNodeId:{self.TargetNodeId}, TargetNodeClass:{self.TargetNodeClass})' __repr__ = __str__ @@ -3560,7 +3241,7 @@ class AddReferencesParameters(FrozenClass): ua_types = [ ('ReferencesToAdd', 'ListOfAddReferencesItem'), - ] + ] def __init__(self): self.ReferencesToAdd = [] @@ -3588,7 +3269,7 @@ class AddReferencesRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'AddReferencesParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.AddReferencesRequest_Encoding_DefaultBinary) @@ -3597,11 +3278,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'AddReferencesRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'AddReferencesRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -3625,7 +3302,7 @@ class AddReferencesResponse(FrozenClass): ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfStatusCode'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.AddReferencesResponse_Encoding_DefaultBinary) @@ -3635,12 +3312,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'AddReferencesResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Results:{self.Results}', - f'DiagnosticInfos:{self.DiagnosticInfos})' - )) + return f'AddReferencesResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ @@ -3658,7 +3330,7 @@ class DeleteNodesItem(FrozenClass): ua_types = [ ('NodeId', 'NodeId'), ('DeleteTargetReferences', 'Boolean'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -3679,7 +3351,7 @@ class DeleteNodesParameters(FrozenClass): ua_types = [ ('NodesToDelete', 'ListOfDeleteNodesItem'), - ] + ] def __init__(self): self.NodesToDelete = [] @@ -3707,7 +3379,7 @@ class DeleteNodesRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'DeleteNodesParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.DeleteNodesRequest_Encoding_DefaultBinary) @@ -3716,11 +3388,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'DeleteNodesRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'DeleteNodesRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -3744,7 +3412,7 @@ class DeleteNodesResponse(FrozenClass): ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfStatusCode'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.DeleteNodesResponse_Encoding_DefaultBinary) @@ -3754,12 +3422,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'DeleteNodesResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Results:{self.Results}', - f'DiagnosticInfos:{self.DiagnosticInfos})' - )) + return f'DeleteNodesResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ @@ -3786,7 +3449,7 @@ class DeleteReferencesItem(FrozenClass): ('IsForward', 'Boolean'), ('TargetNodeId', 'ExpandedNodeId'), ('DeleteBidirectional', 'Boolean'), - ] + ] def __init__(self): self.SourceNodeId = NodeId() @@ -3797,13 +3460,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'DeleteReferencesItem(SourceNodeId:{self.SourceNodeId}', - f'ReferenceTypeId:{self.ReferenceTypeId}', - f'IsForward:{self.IsForward}', - f'TargetNodeId:{self.TargetNodeId}', - f'DeleteBidirectional:{self.DeleteBidirectional})' - )) + return f'DeleteReferencesItem(SourceNodeId:{self.SourceNodeId}, ReferenceTypeId:{self.ReferenceTypeId}, IsForward:{self.IsForward}, TargetNodeId:{self.TargetNodeId}, DeleteBidirectional:{self.DeleteBidirectional})' __repr__ = __str__ @@ -3816,7 +3473,7 @@ class DeleteReferencesParameters(FrozenClass): ua_types = [ ('ReferencesToDelete', 'ListOfDeleteReferencesItem'), - ] + ] def __init__(self): self.ReferencesToDelete = [] @@ -3844,7 +3501,7 @@ class DeleteReferencesRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'DeleteReferencesParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.DeleteReferencesRequest_Encoding_DefaultBinary) @@ -3853,11 +3510,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'DeleteReferencesRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'DeleteReferencesRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -3873,7 +3526,7 @@ class DeleteReferencesResult(FrozenClass): ua_types = [ ('Results', 'ListOfStatusCode'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.Results = [] @@ -3902,7 +3555,7 @@ class DeleteReferencesResponse(FrozenClass): ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'DeleteReferencesResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.DeleteReferencesResponse_Encoding_DefaultBinary) @@ -3911,11 +3564,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'DeleteReferencesResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Parameters:{self.Parameters})' - )) + return f'DeleteReferencesResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -3936,7 +3585,7 @@ class ViewDescription(FrozenClass): ('ViewId', 'NodeId'), ('Timestamp', 'DateTime'), ('ViewVersion', 'UInt32'), - ] + ] def __init__(self): self.ViewId = NodeId() @@ -3945,11 +3594,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ViewDescription(ViewId:{self.ViewId}', - f'Timestamp:{self.Timestamp}', - f'ViewVersion:{self.ViewVersion})' - )) + return f'ViewDescription(ViewId:{self.ViewId}, Timestamp:{self.Timestamp}, ViewVersion:{self.ViewVersion})' __repr__ = __str__ @@ -3979,7 +3624,7 @@ class BrowseDescription(FrozenClass): ('IncludeSubtypes', 'Boolean'), ('NodeClassMask', 'UInt32'), ('ResultMask', 'UInt32'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -3991,14 +3636,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'BrowseDescription(NodeId:{self.NodeId}', - f'BrowseDirection:{self.BrowseDirection}', - f'ReferenceTypeId:{self.ReferenceTypeId}', - f'IncludeSubtypes:{self.IncludeSubtypes}', - f'NodeClassMask:{self.NodeClassMask}', - f'ResultMask:{self.ResultMask})' - )) + return f'BrowseDescription(NodeId:{self.NodeId}, BrowseDirection:{self.BrowseDirection}, ReferenceTypeId:{self.ReferenceTypeId}, IncludeSubtypes:{self.IncludeSubtypes}, NodeClassMask:{self.NodeClassMask}, ResultMask:{self.ResultMask})' __repr__ = __str__ @@ -4031,7 +3669,7 @@ class ReferenceDescription(FrozenClass): ('DisplayName', 'LocalizedText'), ('NodeClass', 'NodeClass'), ('TypeDefinition', 'ExpandedNodeId'), - ] + ] def __init__(self): self.ReferenceTypeId = NodeId() @@ -4044,15 +3682,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ReferenceDescription(ReferenceTypeId:{self.ReferenceTypeId}', - f'IsForward:{self.IsForward}', - f'NodeId:{self.NodeId}', - f'BrowseName:{self.BrowseName}', - f'DisplayName:{self.DisplayName}', - f'NodeClass:{self.NodeClass}', - f'TypeDefinition:{self.TypeDefinition})' - )) + return f'ReferenceDescription(ReferenceTypeId:{self.ReferenceTypeId}, IsForward:{self.IsForward}, NodeId:{self.NodeId}, BrowseName:{self.BrowseName}, DisplayName:{self.DisplayName}, NodeClass:{self.NodeClass}, TypeDefinition:{self.TypeDefinition})' __repr__ = __str__ @@ -4073,7 +3703,7 @@ class BrowseResult(FrozenClass): ('StatusCode', 'StatusCode'), ('ContinuationPoint', 'ByteString'), ('References', 'ListOfReferenceDescription'), - ] + ] def __init__(self): self.StatusCode = StatusCode() @@ -4082,11 +3712,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'BrowseResult(StatusCode:{self.StatusCode}', - f'ContinuationPoint:{self.ContinuationPoint}', - f'References:{self.References})' - )) + return f'BrowseResult(StatusCode:{self.StatusCode}, ContinuationPoint:{self.ContinuationPoint}, References:{self.References})' __repr__ = __str__ @@ -4105,7 +3731,7 @@ class BrowseParameters(FrozenClass): ('View', 'ViewDescription'), ('RequestedMaxReferencesPerNode', 'UInt32'), ('NodesToBrowse', 'ListOfBrowseDescription'), - ] + ] def __init__(self): self.View = ViewDescription() @@ -4114,11 +3740,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'BrowseParameters(View:{self.View}', - f'RequestedMaxReferencesPerNode:{self.RequestedMaxReferencesPerNode}', - f'NodesToBrowse:{self.NodesToBrowse})' - )) + return f'BrowseParameters(View:{self.View}, RequestedMaxReferencesPerNode:{self.RequestedMaxReferencesPerNode}, NodesToBrowse:{self.NodesToBrowse})' __repr__ = __str__ @@ -4139,7 +3761,7 @@ class BrowseRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'BrowseParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.BrowseRequest_Encoding_DefaultBinary) @@ -4148,11 +3770,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'BrowseRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'BrowseRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -4176,7 +3794,7 @@ class BrowseResponse(FrozenClass): ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfBrowseResult'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.BrowseResponse_Encoding_DefaultBinary) @@ -4186,12 +3804,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'BrowseResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Results:{self.Results}', - f'DiagnosticInfos:{self.DiagnosticInfos})' - )) + return f'BrowseResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ @@ -4207,7 +3820,7 @@ class BrowseNextParameters(FrozenClass): ua_types = [ ('ReleaseContinuationPoints', 'Boolean'), ('ContinuationPoints', 'ListOfByteString'), - ] + ] def __init__(self): self.ReleaseContinuationPoints = True @@ -4215,10 +3828,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'BrowseNextParameters(ReleaseContinuationPoints:{self.ReleaseContinuationPoints}', - f'ContinuationPoints:{self.ContinuationPoints})' - )) + return f'BrowseNextParameters(ReleaseContinuationPoints:{self.ReleaseContinuationPoints}, ContinuationPoints:{self.ContinuationPoints})' __repr__ = __str__ @@ -4239,7 +3849,7 @@ class BrowseNextRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'BrowseNextParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.BrowseNextRequest_Encoding_DefaultBinary) @@ -4248,11 +3858,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'BrowseNextRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'BrowseNextRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -4268,7 +3874,7 @@ class BrowseNextResult(FrozenClass): ua_types = [ ('Results', 'ListOfBrowseResult'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.Results = [] @@ -4297,7 +3903,7 @@ class BrowseNextResponse(FrozenClass): ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'BrowseNextResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.BrowseNextResponse_Encoding_DefaultBinary) @@ -4306,11 +3912,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'BrowseNextResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Parameters:{self.Parameters})' - )) + return f'BrowseNextResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -4334,7 +3936,7 @@ class RelativePathElement(FrozenClass): ('IsInverse', 'Boolean'), ('IncludeSubtypes', 'Boolean'), ('TargetName', 'QualifiedName'), - ] + ] def __init__(self): self.ReferenceTypeId = NodeId() @@ -4344,12 +3946,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'RelativePathElement(ReferenceTypeId:{self.ReferenceTypeId}', - f'IsInverse:{self.IsInverse}', - f'IncludeSubtypes:{self.IncludeSubtypes}', - f'TargetName:{self.TargetName})' - )) + return f'RelativePathElement(ReferenceTypeId:{self.ReferenceTypeId}, IsInverse:{self.IsInverse}, IncludeSubtypes:{self.IncludeSubtypes}, TargetName:{self.TargetName})' __repr__ = __str__ @@ -4364,7 +3961,7 @@ class RelativePath(FrozenClass): ua_types = [ ('Elements', 'ListOfRelativePathElement'), - ] + ] def __init__(self): self.Elements = [] @@ -4389,7 +3986,7 @@ class BrowsePath(FrozenClass): ua_types = [ ('StartingNode', 'NodeId'), ('RelativePath', 'RelativePath'), - ] + ] def __init__(self): self.StartingNode = NodeId() @@ -4415,7 +4012,7 @@ class BrowsePathTarget(FrozenClass): ua_types = [ ('TargetId', 'ExpandedNodeId'), ('RemainingPathIndex', 'UInt32'), - ] + ] def __init__(self): self.TargetId = ExpandedNodeId() @@ -4441,7 +4038,7 @@ class BrowsePathResult(FrozenClass): ua_types = [ ('StatusCode', 'StatusCode'), ('Targets', 'ListOfBrowsePathTarget'), - ] + ] def __init__(self): self.StatusCode = StatusCode() @@ -4462,7 +4059,7 @@ class TranslateBrowsePathsToNodeIdsParameters(FrozenClass): ua_types = [ ('BrowsePaths', 'ListOfBrowsePath'), - ] + ] def __init__(self): self.BrowsePaths = [] @@ -4490,7 +4087,7 @@ class TranslateBrowsePathsToNodeIdsRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'TranslateBrowsePathsToNodeIdsParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultBinary) @@ -4499,11 +4096,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'TranslateBrowsePathsToNodeIdsRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'TranslateBrowsePathsToNodeIdsRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -4527,7 +4120,7 @@ class TranslateBrowsePathsToNodeIdsResponse(FrozenClass): ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfBrowsePathResult'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.TranslateBrowsePathsToNodeIdsResponse_Encoding_DefaultBinary) @@ -4537,12 +4130,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'TranslateBrowsePathsToNodeIdsResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Results:{self.Results}', - f'DiagnosticInfos:{self.DiagnosticInfos})' - )) + return f'TranslateBrowsePathsToNodeIdsResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ @@ -4555,7 +4143,7 @@ class RegisterNodesParameters(FrozenClass): ua_types = [ ('NodesToRegister', 'ListOfNodeId'), - ] + ] def __init__(self): self.NodesToRegister = [] @@ -4583,7 +4171,7 @@ class RegisterNodesRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'RegisterNodesParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.RegisterNodesRequest_Encoding_DefaultBinary) @@ -4592,11 +4180,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'RegisterNodesRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'RegisterNodesRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -4609,7 +4193,7 @@ class RegisterNodesResult(FrozenClass): ua_types = [ ('RegisteredNodeIds', 'ListOfNodeId'), - ] + ] def __init__(self): self.RegisteredNodeIds = [] @@ -4637,7 +4221,7 @@ class RegisterNodesResponse(FrozenClass): ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'RegisterNodesResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.RegisterNodesResponse_Encoding_DefaultBinary) @@ -4646,11 +4230,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'RegisterNodesResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Parameters:{self.Parameters})' - )) + return f'RegisterNodesResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -4663,7 +4243,7 @@ class UnregisterNodesParameters(FrozenClass): ua_types = [ ('NodesToUnregister', 'ListOfNodeId'), - ] + ] def __init__(self): self.NodesToUnregister = [] @@ -4691,7 +4271,7 @@ class UnregisterNodesRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'UnregisterNodesParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.UnregisterNodesRequest_Encoding_DefaultBinary) @@ -4700,11 +4280,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'UnregisterNodesRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'UnregisterNodesRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -4722,7 +4298,7 @@ class UnregisterNodesResponse(FrozenClass): ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.UnregisterNodesResponse_Encoding_DefaultBinary) @@ -4767,7 +4343,7 @@ class EndpointConfiguration(FrozenClass): ('MaxBufferSize', 'Int32'), ('ChannelLifetime', 'Int32'), ('SecurityTokenLifetime', 'Int32'), - ] + ] def __init__(self): self.OperationTimeout = 0 @@ -4782,17 +4358,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'EndpointConfiguration(OperationTimeout:{self.OperationTimeout}', - f'UseBinaryEncoding:{self.UseBinaryEncoding}', - f'MaxStringLength:{self.MaxStringLength}', - f'MaxByteStringLength:{self.MaxByteStringLength}', - f'MaxArrayLength:{self.MaxArrayLength}', - f'MaxMessageSize:{self.MaxMessageSize}', - f'MaxBufferSize:{self.MaxBufferSize}', - f'ChannelLifetime:{self.ChannelLifetime}', - f'SecurityTokenLifetime:{self.SecurityTokenLifetime})' - )) + return f'EndpointConfiguration(OperationTimeout:{self.OperationTimeout}, UseBinaryEncoding:{self.UseBinaryEncoding}, MaxStringLength:{self.MaxStringLength}, MaxByteStringLength:{self.MaxByteStringLength}, MaxArrayLength:{self.MaxArrayLength}, MaxMessageSize:{self.MaxMessageSize}, MaxBufferSize:{self.MaxBufferSize}, ChannelLifetime:{self.ChannelLifetime}, SecurityTokenLifetime:{self.SecurityTokenLifetime})' __repr__ = __str__ @@ -4820,7 +4386,7 @@ class SupportedProfile(FrozenClass): ('ComplianceDate', 'DateTime'), ('ComplianceLevel', 'ComplianceLevel'), ('UnsupportedUnitIds', 'ListOfString'), - ] + ] def __init__(self): self.OrganizationUri = None @@ -4832,14 +4398,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'SupportedProfile(OrganizationUri:{self.OrganizationUri}', - f'ProfileId:{self.ProfileId}', - f'ComplianceTool:{self.ComplianceTool}', - f'ComplianceDate:{self.ComplianceDate}', - f'ComplianceLevel:{self.ComplianceLevel}', - f'UnsupportedUnitIds:{self.UnsupportedUnitIds})' - )) + return f'SupportedProfile(OrganizationUri:{self.OrganizationUri}, ProfileId:{self.ProfileId}, ComplianceTool:{self.ComplianceTool}, ComplianceDate:{self.ComplianceDate}, ComplianceLevel:{self.ComplianceLevel}, UnsupportedUnitIds:{self.UnsupportedUnitIds})' __repr__ = __str__ @@ -4879,7 +4438,7 @@ class SoftwareCertificate(FrozenClass): ('IssuedBy', 'String'), ('IssueDate', 'DateTime'), ('SupportedProfiles', 'ListOfSupportedProfile'), - ] + ] def __init__(self): self.ProductName = None @@ -4895,18 +4454,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'SoftwareCertificate(ProductName:{self.ProductName}', - f'ProductUri:{self.ProductUri}', - f'VendorName:{self.VendorName}', - f'VendorProductCertificate:{self.VendorProductCertificate}', - f'SoftwareVersion:{self.SoftwareVersion}', - f'BuildNumber:{self.BuildNumber}', - f'BuildDate:{self.BuildDate}', - f'IssuedBy:{self.IssuedBy}', - f'IssueDate:{self.IssueDate}', - f'SupportedProfiles:{self.SupportedProfiles})' - )) + return f'SoftwareCertificate(ProductName:{self.ProductName}, ProductUri:{self.ProductUri}, VendorName:{self.VendorName}, VendorProductCertificate:{self.VendorProductCertificate}, SoftwareVersion:{self.SoftwareVersion}, BuildNumber:{self.BuildNumber}, BuildDate:{self.BuildDate}, IssuedBy:{self.IssuedBy}, IssueDate:{self.IssueDate}, SupportedProfiles:{self.SupportedProfiles})' __repr__ = __str__ @@ -4925,7 +4473,7 @@ class QueryDataDescription(FrozenClass): ('RelativePath', 'RelativePath'), ('AttributeId', 'UInt32'), ('IndexRange', 'String'), - ] + ] def __init__(self): self.RelativePath = RelativePath() @@ -4934,11 +4482,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'QueryDataDescription(RelativePath:{self.RelativePath}', - f'AttributeId:{self.AttributeId}', - f'IndexRange:{self.IndexRange})' - )) + return f'QueryDataDescription(RelativePath:{self.RelativePath}, AttributeId:{self.AttributeId}, IndexRange:{self.IndexRange})' __repr__ = __str__ @@ -4957,7 +4501,7 @@ class NodeTypeDescription(FrozenClass): ('TypeDefinitionNode', 'ExpandedNodeId'), ('IncludeSubTypes', 'Boolean'), ('DataToReturn', 'ListOfQueryDataDescription'), - ] + ] def __init__(self): self.TypeDefinitionNode = ExpandedNodeId() @@ -4966,11 +4510,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'NodeTypeDescription(TypeDefinitionNode:{self.TypeDefinitionNode}', - f'IncludeSubTypes:{self.IncludeSubTypes}', - f'DataToReturn:{self.DataToReturn})' - )) + return f'NodeTypeDescription(TypeDefinitionNode:{self.TypeDefinitionNode}, IncludeSubTypes:{self.IncludeSubTypes}, DataToReturn:{self.DataToReturn})' __repr__ = __str__ @@ -4989,7 +4529,7 @@ class QueryDataSet(FrozenClass): ('NodeId', 'ExpandedNodeId'), ('TypeDefinitionNode', 'ExpandedNodeId'), ('Values', 'ListOfVariant'), - ] + ] def __init__(self): self.NodeId = ExpandedNodeId() @@ -4998,11 +4538,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'QueryDataSet(NodeId:{self.NodeId}', - f'TypeDefinitionNode:{self.TypeDefinitionNode}', - f'Values:{self.Values})' - )) + return f'QueryDataSet(NodeId:{self.NodeId}, TypeDefinitionNode:{self.TypeDefinitionNode}, Values:{self.Values})' __repr__ = __str__ @@ -5024,7 +4560,7 @@ class NodeReference(FrozenClass): ('ReferenceTypeId', 'NodeId'), ('IsForward', 'Boolean'), ('ReferencedNodeIds', 'ListOfNodeId'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -5034,12 +4570,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'NodeReference(NodeId:{self.NodeId}', - f'ReferenceTypeId:{self.ReferenceTypeId}', - f'IsForward:{self.IsForward}', - f'ReferencedNodeIds:{self.ReferencedNodeIds})' - )) + return f'NodeReference(NodeId:{self.NodeId}, ReferenceTypeId:{self.ReferenceTypeId}, IsForward:{self.IsForward}, ReferencedNodeIds:{self.ReferencedNodeIds})' __repr__ = __str__ @@ -5055,7 +4586,7 @@ class ContentFilterElement(FrozenClass): ua_types = [ ('FilterOperator', 'FilterOperator'), ('FilterOperands', 'ListOfExtensionObject'), - ] + ] def __init__(self): self.FilterOperator = FilterOperator(0) @@ -5076,7 +4607,7 @@ class ContentFilter(FrozenClass): ua_types = [ ('Elements', 'ListOfContentFilterElement'), - ] + ] def __init__(self): self.Elements = [] @@ -5096,7 +4627,7 @@ class ElementOperand(FrozenClass): ua_types = [ ('Index', 'UInt32'), - ] + ] def __init__(self): self.Index = 0 @@ -5116,7 +4647,7 @@ class LiteralOperand(FrozenClass): ua_types = [ ('Value', 'Variant'), - ] + ] def __init__(self): self.Value = Variant() @@ -5148,7 +4679,7 @@ class AttributeOperand(FrozenClass): ('BrowsePath', 'RelativePath'), ('AttributeId', 'UInt32'), ('IndexRange', 'String'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -5159,13 +4690,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'AttributeOperand(NodeId:{self.NodeId}', - f'Alias:{self.Alias}', - f'BrowsePath:{self.BrowsePath}', - f'AttributeId:{self.AttributeId}', - f'IndexRange:{self.IndexRange})' - )) + return f'AttributeOperand(NodeId:{self.NodeId}, Alias:{self.Alias}, BrowsePath:{self.BrowsePath}, AttributeId:{self.AttributeId}, IndexRange:{self.IndexRange})' __repr__ = __str__ @@ -5187,7 +4712,7 @@ class SimpleAttributeOperand(FrozenClass): ('BrowsePath', 'ListOfQualifiedName'), ('AttributeId', 'UInt32'), ('IndexRange', 'String'), - ] + ] def __init__(self): self.TypeDefinitionId = NodeId() @@ -5197,12 +4722,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'SimpleAttributeOperand(TypeDefinitionId:{self.TypeDefinitionId}', - f'BrowsePath:{self.BrowsePath}', - f'AttributeId:{self.AttributeId}', - f'IndexRange:{self.IndexRange})' - )) + return f'SimpleAttributeOperand(TypeDefinitionId:{self.TypeDefinitionId}, BrowsePath:{self.BrowsePath}, AttributeId:{self.AttributeId}, IndexRange:{self.IndexRange})' __repr__ = __str__ @@ -5221,7 +4741,7 @@ class ContentFilterElementResult(FrozenClass): ('StatusCode', 'StatusCode'), ('OperandStatusCodes', 'ListOfStatusCode'), ('OperandDiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.StatusCode = StatusCode() @@ -5230,11 +4750,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ContentFilterElementResult(StatusCode:{self.StatusCode}', - f'OperandStatusCodes:{self.OperandStatusCodes}', - f'OperandDiagnosticInfos:{self.OperandDiagnosticInfos})' - )) + return f'ContentFilterElementResult(StatusCode:{self.StatusCode}, OperandStatusCodes:{self.OperandStatusCodes}, OperandDiagnosticInfos:{self.OperandDiagnosticInfos})' __repr__ = __str__ @@ -5250,7 +4766,7 @@ class ContentFilterResult(FrozenClass): ua_types = [ ('ElementResults', 'ListOfContentFilterElementResult'), ('ElementDiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.ElementResults = [] @@ -5258,10 +4774,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ContentFilterResult(ElementResults:{self.ElementResults}', - f'ElementDiagnosticInfos:{self.ElementDiagnosticInfos})' - )) + return f'ContentFilterResult(ElementResults:{self.ElementResults}, ElementDiagnosticInfos:{self.ElementDiagnosticInfos})' __repr__ = __str__ @@ -5280,7 +4793,7 @@ class ParsingResult(FrozenClass): ('StatusCode', 'StatusCode'), ('DataStatusCodes', 'ListOfStatusCode'), ('DataDiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.StatusCode = StatusCode() @@ -5289,11 +4802,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ParsingResult(StatusCode:{self.StatusCode}', - f'DataStatusCodes:{self.DataStatusCodes}', - f'DataDiagnosticInfos:{self.DataDiagnosticInfos})' - )) + return f'ParsingResult(StatusCode:{self.StatusCode}, DataStatusCodes:{self.DataStatusCodes}, DataDiagnosticInfos:{self.DataDiagnosticInfos})' __repr__ = __str__ @@ -5318,7 +4827,7 @@ class QueryFirstParameters(FrozenClass): ('Filter', 'ContentFilter'), ('MaxDataSetsToReturn', 'UInt32'), ('MaxReferencesToReturn', 'UInt32'), - ] + ] def __init__(self): self.View = ViewDescription() @@ -5329,13 +4838,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'QueryFirstParameters(View:{self.View}', - f'NodeTypes:{self.NodeTypes}', - f'Filter:{self.Filter}', - f'MaxDataSetsToReturn:{self.MaxDataSetsToReturn}', - f'MaxReferencesToReturn:{self.MaxReferencesToReturn})' - )) + return f'QueryFirstParameters(View:{self.View}, NodeTypes:{self.NodeTypes}, Filter:{self.Filter}, MaxDataSetsToReturn:{self.MaxDataSetsToReturn}, MaxReferencesToReturn:{self.MaxReferencesToReturn})' __repr__ = __str__ @@ -5354,7 +4857,7 @@ class QueryFirstRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'QueryFirstParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.QueryFirstRequest_Encoding_DefaultBinary) @@ -5363,11 +4866,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'QueryFirstRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'QueryFirstRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -5392,7 +4891,7 @@ class QueryFirstResult(FrozenClass): ('ParsingResults', 'ListOfParsingResult'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), ('FilterResult', 'ContentFilterResult'), - ] + ] def __init__(self): self.QueryDataSets = [] @@ -5403,13 +4902,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'QueryFirstResult(QueryDataSets:{self.QueryDataSets}', - f'ContinuationPoint:{self.ContinuationPoint}', - f'ParsingResults:{self.ParsingResults}', - f'DiagnosticInfos:{self.DiagnosticInfos}', - f'FilterResult:{self.FilterResult})' - )) + return f'QueryFirstResult(QueryDataSets:{self.QueryDataSets}, ContinuationPoint:{self.ContinuationPoint}, ParsingResults:{self.ParsingResults}, DiagnosticInfos:{self.DiagnosticInfos}, FilterResult:{self.FilterResult})' __repr__ = __str__ @@ -5428,7 +4921,7 @@ class QueryFirstResponse(FrozenClass): ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'QueryFirstResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.QueryFirstResponse_Encoding_DefaultBinary) @@ -5437,11 +4930,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'QueryFirstResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Parameters:{self.Parameters})' - )) + return f'QueryFirstResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -5457,7 +4946,7 @@ class QueryNextParameters(FrozenClass): ua_types = [ ('ReleaseContinuationPoint', 'Boolean'), ('ContinuationPoint', 'ByteString'), - ] + ] def __init__(self): self.ReleaseContinuationPoint = True @@ -5465,10 +4954,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'QueryNextParameters(ReleaseContinuationPoint:{self.ReleaseContinuationPoint}', - f'ContinuationPoint:{self.ContinuationPoint})' - )) + return f'QueryNextParameters(ReleaseContinuationPoint:{self.ReleaseContinuationPoint}, ContinuationPoint:{self.ContinuationPoint})' __repr__ = __str__ @@ -5487,7 +4973,7 @@ class QueryNextRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'QueryNextParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.QueryNextRequest_Encoding_DefaultBinary) @@ -5496,11 +4982,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'QueryNextRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'QueryNextRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -5516,7 +4998,7 @@ class QueryNextResult(FrozenClass): ua_types = [ ('QueryDataSets', 'ListOfQueryDataSet'), ('RevisedContinuationPoint', 'ByteString'), - ] + ] def __init__(self): self.QueryDataSets = [] @@ -5524,10 +5006,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'QueryNextResult(QueryDataSets:{self.QueryDataSets}', - f'RevisedContinuationPoint:{self.RevisedContinuationPoint})' - )) + return f'QueryNextResult(QueryDataSets:{self.QueryDataSets}, RevisedContinuationPoint:{self.RevisedContinuationPoint})' __repr__ = __str__ @@ -5546,7 +5025,7 @@ class QueryNextResponse(FrozenClass): ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'QueryNextResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.QueryNextResponse_Encoding_DefaultBinary) @@ -5555,11 +5034,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'QueryNextResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Parameters:{self.Parameters})' - )) + return f'QueryNextResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -5581,7 +5056,7 @@ class ReadValueId(FrozenClass): ('AttributeId', 'UInt32'), ('IndexRange', 'String'), ('DataEncoding', 'QualifiedName'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -5591,12 +5066,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ReadValueId(NodeId:{self.NodeId}', - f'AttributeId:{self.AttributeId}', - f'IndexRange:{self.IndexRange}', - f'DataEncoding:{self.DataEncoding})' - )) + return f'ReadValueId(NodeId:{self.NodeId}, AttributeId:{self.AttributeId}, IndexRange:{self.IndexRange}, DataEncoding:{self.DataEncoding})' __repr__ = __str__ @@ -5615,7 +5085,7 @@ class ReadParameters(FrozenClass): ('MaxAge', 'Double'), ('TimestampsToReturn', 'TimestampsToReturn'), ('NodesToRead', 'ListOfReadValueId'), - ] + ] def __init__(self): self.MaxAge = 0 @@ -5624,11 +5094,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ReadParameters(MaxAge:{self.MaxAge}', - f'TimestampsToReturn:{self.TimestampsToReturn}', - f'NodesToRead:{self.NodesToRead})' - )) + return f'ReadParameters(MaxAge:{self.MaxAge}, TimestampsToReturn:{self.TimestampsToReturn}, NodesToRead:{self.NodesToRead})' __repr__ = __str__ @@ -5647,7 +5113,7 @@ class ReadRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'ReadParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.ReadRequest_Encoding_DefaultBinary) @@ -5656,11 +5122,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ReadRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'ReadRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -5682,7 +5144,7 @@ class ReadResponse(FrozenClass): ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfDataValue'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.ReadResponse_Encoding_DefaultBinary) @@ -5692,12 +5154,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ReadResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Results:{self.Results}', - f'DiagnosticInfos:{self.DiagnosticInfos})' - )) + return f'ReadResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ @@ -5719,7 +5176,7 @@ class HistoryReadValueId(FrozenClass): ('IndexRange', 'String'), ('DataEncoding', 'QualifiedName'), ('ContinuationPoint', 'ByteString'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -5729,12 +5186,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'HistoryReadValueId(NodeId:{self.NodeId}', - f'IndexRange:{self.IndexRange}', - f'DataEncoding:{self.DataEncoding}', - f'ContinuationPoint:{self.ContinuationPoint})' - )) + return f'HistoryReadValueId(NodeId:{self.NodeId}, IndexRange:{self.IndexRange}, DataEncoding:{self.DataEncoding}, ContinuationPoint:{self.ContinuationPoint})' __repr__ = __str__ @@ -5753,7 +5205,7 @@ class HistoryReadResult(FrozenClass): ('StatusCode', 'StatusCode'), ('ContinuationPoint', 'ByteString'), ('HistoryData', 'ExtensionObject'), - ] + ] def __init__(self): self.StatusCode = StatusCode() @@ -5762,11 +5214,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'HistoryReadResult(StatusCode:{self.StatusCode}', - f'ContinuationPoint:{self.ContinuationPoint}', - f'HistoryData:{self.HistoryData})' - )) + return f'HistoryReadResult(StatusCode:{self.StatusCode}, ContinuationPoint:{self.ContinuationPoint}, HistoryData:{self.HistoryData})' __repr__ = __str__ @@ -5776,7 +5224,7 @@ class HistoryReadDetails(FrozenClass): """ ua_types = [ - ] + ] def __init__(self): self._freeze = True @@ -5804,7 +5252,7 @@ class ReadEventDetails(FrozenClass): ('StartTime', 'DateTime'), ('EndTime', 'DateTime'), ('Filter', 'EventFilter'), - ] + ] def __init__(self): self.NumValuesPerNode = 0 @@ -5814,12 +5262,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ReadEventDetails(NumValuesPerNode:{self.NumValuesPerNode}', - f'StartTime:{self.StartTime}', - f'EndTime:{self.EndTime}', - f'Filter:{self.Filter})' - )) + return f'ReadEventDetails(NumValuesPerNode:{self.NumValuesPerNode}, StartTime:{self.StartTime}, EndTime:{self.EndTime}, Filter:{self.Filter})' __repr__ = __str__ @@ -5844,7 +5287,7 @@ class ReadRawModifiedDetails(FrozenClass): ('EndTime', 'DateTime'), ('NumValuesPerNode', 'UInt32'), ('ReturnBounds', 'Boolean'), - ] + ] def __init__(self): self.IsReadModified = True @@ -5855,13 +5298,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ReadRawModifiedDetails(IsReadModified:{self.IsReadModified}', - f'StartTime:{self.StartTime}', - f'EndTime:{self.EndTime}', - f'NumValuesPerNode:{self.NumValuesPerNode}', - f'ReturnBounds:{self.ReturnBounds})' - )) + return f'ReadRawModifiedDetails(IsReadModified:{self.IsReadModified}, StartTime:{self.StartTime}, EndTime:{self.EndTime}, NumValuesPerNode:{self.NumValuesPerNode}, ReturnBounds:{self.ReturnBounds})' __repr__ = __str__ @@ -5886,7 +5323,7 @@ class ReadProcessedDetails(FrozenClass): ('ProcessingInterval', 'Double'), ('AggregateType', 'ListOfNodeId'), ('AggregateConfiguration', 'AggregateConfiguration'), - ] + ] def __init__(self): self.StartTime = datetime.utcnow() @@ -5897,13 +5334,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ReadProcessedDetails(StartTime:{self.StartTime}', - f'EndTime:{self.EndTime}', - f'ProcessingInterval:{self.ProcessingInterval}', - f'AggregateType:{self.AggregateType}', - f'AggregateConfiguration:{self.AggregateConfiguration})' - )) + return f'ReadProcessedDetails(StartTime:{self.StartTime}, EndTime:{self.EndTime}, ProcessingInterval:{self.ProcessingInterval}, AggregateType:{self.AggregateType}, AggregateConfiguration:{self.AggregateConfiguration})' __repr__ = __str__ @@ -5919,7 +5350,7 @@ class ReadAtTimeDetails(FrozenClass): ua_types = [ ('ReqTimes', 'ListOfDateTime'), ('UseSimpleBounds', 'Boolean'), - ] + ] def __init__(self): self.ReqTimes = [] @@ -5940,7 +5371,7 @@ class HistoryData(FrozenClass): ua_types = [ ('DataValues', 'ListOfDataValue'), - ] + ] def __init__(self): self.DataValues = [] @@ -5966,7 +5397,7 @@ class ModificationInfo(FrozenClass): ('ModificationTime', 'DateTime'), ('UpdateType', 'HistoryUpdateType'), ('UserName', 'String'), - ] + ] def __init__(self): self.ModificationTime = datetime.utcnow() @@ -5975,11 +5406,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ModificationInfo(ModificationTime:{self.ModificationTime}', - f'UpdateType:{self.UpdateType}', - f'UserName:{self.UserName})' - )) + return f'ModificationInfo(ModificationTime:{self.ModificationTime}, UpdateType:{self.UpdateType}, UserName:{self.UserName})' __repr__ = __str__ @@ -5995,7 +5422,7 @@ class HistoryModifiedData(FrozenClass): ua_types = [ ('DataValues', 'ListOfDataValue'), ('ModificationInfos', 'ListOfModificationInfo'), - ] + ] def __init__(self): self.DataValues = [] @@ -6016,7 +5443,7 @@ class HistoryEvent(FrozenClass): ua_types = [ ('Events', 'ListOfHistoryEventFieldList'), - ] + ] def __init__(self): self.Events = [] @@ -6045,7 +5472,7 @@ class HistoryReadParameters(FrozenClass): ('TimestampsToReturn', 'TimestampsToReturn'), ('ReleaseContinuationPoints', 'Boolean'), ('NodesToRead', 'ListOfHistoryReadValueId'), - ] + ] def __init__(self): self.HistoryReadDetails = ExtensionObject() @@ -6055,12 +5482,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'HistoryReadParameters(HistoryReadDetails:{self.HistoryReadDetails}', - f'TimestampsToReturn:{self.TimestampsToReturn}', - f'ReleaseContinuationPoints:{self.ReleaseContinuationPoints}', - f'NodesToRead:{self.NodesToRead})' - )) + return f'HistoryReadParameters(HistoryReadDetails:{self.HistoryReadDetails}, TimestampsToReturn:{self.TimestampsToReturn}, ReleaseContinuationPoints:{self.ReleaseContinuationPoints}, NodesToRead:{self.NodesToRead})' __repr__ = __str__ @@ -6079,7 +5501,7 @@ class HistoryReadRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'HistoryReadParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.HistoryReadRequest_Encoding_DefaultBinary) @@ -6088,11 +5510,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'HistoryReadRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'HistoryReadRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -6114,7 +5532,7 @@ class HistoryReadResponse(FrozenClass): ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfHistoryReadResult'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.HistoryReadResponse_Encoding_DefaultBinary) @@ -6124,12 +5542,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'HistoryReadResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Results:{self.Results}', - F'DiagnosticInfos:{self.DiagnosticInfos})' - )) + return f'HistoryReadResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ @@ -6151,7 +5564,7 @@ class WriteValue(FrozenClass): ('AttributeId', 'UInt32'), ('IndexRange', 'String'), ('Value', 'DataValue'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -6161,12 +5574,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'WriteValue(NodeId:{self.NodeId}', - f'AttributeId:{self.AttributeId}', - f'IndexRange:{self.IndexRange}', - f'Value:{self.Value})' - )) + return f'WriteValue(NodeId:{self.NodeId}, AttributeId:{self.AttributeId}, IndexRange:{self.IndexRange}, Value:{self.Value})' __repr__ = __str__ @@ -6179,7 +5587,7 @@ class WriteParameters(FrozenClass): ua_types = [ ('NodesToWrite', 'ListOfWriteValue'), - ] + ] def __init__(self): self.NodesToWrite = [] @@ -6205,7 +5613,7 @@ class WriteRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'WriteParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.WriteRequest_Encoding_DefaultBinary) @@ -6214,11 +5622,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'WriteRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'WriteRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -6240,7 +5644,7 @@ class WriteResponse(FrozenClass): ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfStatusCode'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.WriteResponse_Encoding_DefaultBinary) @@ -6250,12 +5654,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'WriteResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Results:{self.Results}', - f'DiagnosticInfos:{self.DiagnosticInfos})' - )) + return f'WriteResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ @@ -6268,7 +5667,7 @@ class HistoryUpdateDetails(FrozenClass): ua_types = [ ('NodeId', 'NodeId'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -6294,7 +5693,7 @@ class UpdateDataDetails(FrozenClass): ('NodeId', 'NodeId'), ('PerformInsertReplace', 'PerformUpdateType'), ('UpdateValues', 'ListOfDataValue'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -6303,11 +5702,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'UpdateDataDetails(NodeId:{self.NodeId}', - f'PerformInsertReplace:{self.PerformInsertReplace}', - f'UpdateValues:{self.UpdateValues})' - )) + return f'UpdateDataDetails(NodeId:{self.NodeId}, PerformInsertReplace:{self.PerformInsertReplace}, UpdateValues:{self.UpdateValues})' __repr__ = __str__ @@ -6326,7 +5721,7 @@ class UpdateStructureDataDetails(FrozenClass): ('NodeId', 'NodeId'), ('PerformInsertReplace', 'PerformUpdateType'), ('UpdateValues', 'ListOfDataValue'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -6335,11 +5730,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'UpdateStructureDataDetails(NodeId:{self.NodeId}', - f'PerformInsertReplace:{self.PerformInsertReplace}', - f'UpdateValues:{self.UpdateValues})' - )) + return f'UpdateStructureDataDetails(NodeId:{self.NodeId}, PerformInsertReplace:{self.PerformInsertReplace}, UpdateValues:{self.UpdateValues})' __repr__ = __str__ @@ -6361,7 +5752,7 @@ class UpdateEventDetails(FrozenClass): ('PerformInsertReplace', 'PerformUpdateType'), ('Filter', 'EventFilter'), ('EventData', 'ListOfHistoryEventFieldList'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -6371,12 +5762,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'UpdateEventDetails(NodeId:{self.NodeId}', - f'PerformInsertReplace:{self.PerformInsertReplace}', - f'Filter:{self.Filter}', - f'EventData:{self.EventData})' - )) + return f'UpdateEventDetails(NodeId:{self.NodeId}, PerformInsertReplace:{self.PerformInsertReplace}, Filter:{self.Filter}, EventData:{self.EventData})' __repr__ = __str__ @@ -6398,7 +5784,7 @@ class DeleteRawModifiedDetails(FrozenClass): ('IsDeleteModified', 'Boolean'), ('StartTime', 'DateTime'), ('EndTime', 'DateTime'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -6408,12 +5794,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'DeleteRawModifiedDetails(NodeId:{self.NodeId}', - f'IsDeleteModified:{self.IsDeleteModified}', - f'StartTime:{self.StartTime}', - f'EndTime:{self.EndTime})' - )) + return f'DeleteRawModifiedDetails(NodeId:{self.NodeId}, IsDeleteModified:{self.IsDeleteModified}, StartTime:{self.StartTime}, EndTime:{self.EndTime})' __repr__ = __str__ @@ -6429,7 +5810,7 @@ class DeleteAtTimeDetails(FrozenClass): ua_types = [ ('NodeId', 'NodeId'), ('ReqTimes', 'ListOfDateTime'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -6453,7 +5834,7 @@ class DeleteEventDetails(FrozenClass): ua_types = [ ('NodeId', 'NodeId'), ('EventIds', 'ListOfByteString'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -6480,7 +5861,7 @@ class HistoryUpdateResult(FrozenClass): ('StatusCode', 'StatusCode'), ('OperationResults', 'ListOfStatusCode'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.StatusCode = StatusCode() @@ -6489,11 +5870,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'HistoryUpdateResult(StatusCode:{self.StatusCode}', - f'OperationResults:{self.OperationResults}', - f'DiagnosticInfos:{self.DiagnosticInfos})' - )) + return f'HistoryUpdateResult(StatusCode:{self.StatusCode}, OperationResults:{self.OperationResults}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ @@ -6506,7 +5883,7 @@ class HistoryUpdateParameters(FrozenClass): ua_types = [ ('HistoryUpdateDetails', 'ListOfExtensionObject'), - ] + ] def __init__(self): self.HistoryUpdateDetails = [] @@ -6532,7 +5909,7 @@ class HistoryUpdateRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'HistoryUpdateParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.HistoryUpdateRequest_Encoding_DefaultBinary) @@ -6541,11 +5918,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'HistoryUpdateRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'HistoryUpdateRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -6567,7 +5940,7 @@ class HistoryUpdateResponse(FrozenClass): ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfHistoryUpdateResult'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.HistoryUpdateResponse_Encoding_DefaultBinary) @@ -6577,12 +5950,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'HistoryUpdateResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Results:{self.Results}', - f'DiagnosticInfos:{self.DiagnosticInfos})' - )) + return f'HistoryUpdateResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ @@ -6601,7 +5969,7 @@ class CallMethodRequest(FrozenClass): ('ObjectId', 'NodeId'), ('MethodId', 'NodeId'), ('InputArguments', 'ListOfVariant'), - ] + ] def __init__(self): self.ObjectId = NodeId() @@ -6610,11 +5978,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'CallMethodRequest(ObjectId:{self.ObjectId}', - f'MethodId:{self.MethodId}', - f'InputArguments:{self.InputArguments})' - )) + return f'CallMethodRequest(ObjectId:{self.ObjectId}, MethodId:{self.MethodId}, InputArguments:{self.InputArguments})' __repr__ = __str__ @@ -6636,7 +6000,7 @@ class CallMethodResult(FrozenClass): ('InputArgumentResults', 'ListOfStatusCode'), ('InputArgumentDiagnosticInfos', 'ListOfDiagnosticInfo'), ('OutputArguments', 'ListOfVariant'), - ] + ] def __init__(self): self.StatusCode = StatusCode() @@ -6646,12 +6010,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'CallMethodResult(StatusCode:{self.StatusCode}', - f'InputArgumentResults:{self.InputArgumentResults}', - f'InputArgumentDiagnosticInfos:{self.InputArgumentDiagnosticInfos}', - f'OutputArguments:{self.OutputArguments})' - )) + return f'CallMethodResult(StatusCode:{self.StatusCode}, InputArgumentResults:{self.InputArgumentResults}, InputArgumentDiagnosticInfos:{self.InputArgumentDiagnosticInfos}, OutputArguments:{self.OutputArguments})' __repr__ = __str__ @@ -6664,7 +6023,7 @@ class CallParameters(FrozenClass): ua_types = [ ('MethodsToCall', 'ListOfCallMethodRequest'), - ] + ] def __init__(self): self.MethodsToCall = [] @@ -6690,7 +6049,7 @@ class CallRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'CallParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CallRequest_Encoding_DefaultBinary) @@ -6699,11 +6058,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'CallRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'CallRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -6725,7 +6080,7 @@ class CallResponse(FrozenClass): ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfCallMethodResult'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CallResponse_Encoding_DefaultBinary) @@ -6735,12 +6090,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'CallResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Results:{self.Results}', - f'DiagnosticInfos:{self.DiagnosticInfos})' - )) + return f'CallResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ @@ -6750,7 +6100,7 @@ class MonitoringFilter(FrozenClass): """ ua_types = [ - ] + ] def __init__(self): self._freeze = True @@ -6775,7 +6125,7 @@ class DataChangeFilter(FrozenClass): ('Trigger', 'DataChangeTrigger'), ('DeadbandType', 'UInt32'), ('DeadbandValue', 'Double'), - ] + ] def __init__(self): self.Trigger = DataChangeTrigger(0) @@ -6784,11 +6134,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'DataChangeFilter(Trigger:{self.Trigger}', - f'DeadbandType:{self.DeadbandType}', - f'DeadbandValue:{self.DeadbandValue})' - )) + return f'DataChangeFilter(Trigger:{self.Trigger}, DeadbandType:{self.DeadbandType}, DeadbandValue:{self.DeadbandValue})' __repr__ = __str__ @@ -6804,7 +6150,7 @@ class EventFilter(FrozenClass): ua_types = [ ('SelectClauses', 'ListOfSimpleAttributeOperand'), ('WhereClause', 'ContentFilter'), - ] + ] def __init__(self): self.SelectClauses = [] @@ -6837,7 +6183,7 @@ class AggregateConfiguration(FrozenClass): ('PercentDataBad', 'Byte'), ('PercentDataGood', 'Byte'), ('UseSlopedExtrapolation', 'Boolean'), - ] + ] def __init__(self): self.UseServerCapabilitiesDefaults = True @@ -6848,13 +6194,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'AggregateConfiguration(UseServerCapabilitiesDefaults:{self.UseServerCapabilitiesDefaults}', - f'TreatUncertainAsBad:{self.TreatUncertainAsBad}', - f'PercentDataBad:{self.PercentDataBad}', - f'PercentDataGood:{self.PercentDataGood}', - f'UseSlopedExtrapolation:{self.UseSlopedExtrapolation})' - )) + return f'AggregateConfiguration(UseServerCapabilitiesDefaults:{self.UseServerCapabilitiesDefaults}, TreatUncertainAsBad:{self.TreatUncertainAsBad}, PercentDataBad:{self.PercentDataBad}, PercentDataGood:{self.PercentDataGood}, UseSlopedExtrapolation:{self.UseSlopedExtrapolation})' __repr__ = __str__ @@ -6876,7 +6216,7 @@ class AggregateFilter(FrozenClass): ('AggregateType', 'NodeId'), ('ProcessingInterval', 'Double'), ('AggregateConfiguration', 'AggregateConfiguration'), - ] + ] def __init__(self): self.StartTime = datetime.utcnow() @@ -6886,12 +6226,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'AggregateFilter(StartTime:{self.StartTime}', - f'AggregateType:{self.AggregateType}', - f'ProcessingInterval:{self.ProcessingInterval}', - f'AggregateConfiguration:{self.AggregateConfiguration})' - )) + return f'AggregateFilter(StartTime:{self.StartTime}, AggregateType:{self.AggregateType}, ProcessingInterval:{self.ProcessingInterval}, AggregateConfiguration:{self.AggregateConfiguration})' __repr__ = __str__ @@ -6901,7 +6236,7 @@ class MonitoringFilterResult(FrozenClass): """ ua_types = [ - ] + ] def __init__(self): self._freeze = True @@ -6926,7 +6261,7 @@ class EventFilterResult(FrozenClass): ('SelectClauseResults', 'ListOfStatusCode'), ('SelectClauseDiagnosticInfos', 'ListOfDiagnosticInfo'), ('WhereClauseResult', 'ContentFilterResult'), - ] + ] def __init__(self): self.SelectClauseResults = [] @@ -6935,11 +6270,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'EventFilterResult(SelectClauseResults:{self.SelectClauseResults}', - f'SelectClauseDiagnosticInfos:{self.SelectClauseDiagnosticInfos}', - f'WhereClauseResult:{self.WhereClauseResult})' - )) + return f'EventFilterResult(SelectClauseResults:{self.SelectClauseResults}, SelectClauseDiagnosticInfos:{self.SelectClauseDiagnosticInfos}, WhereClauseResult:{self.WhereClauseResult})' __repr__ = __str__ @@ -6958,7 +6289,7 @@ class AggregateFilterResult(FrozenClass): ('RevisedStartTime', 'DateTime'), ('RevisedProcessingInterval', 'Double'), ('RevisedAggregateConfiguration', 'AggregateConfiguration'), - ] + ] def __init__(self): self.RevisedStartTime = datetime.utcnow() @@ -6967,11 +6298,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'AggregateFilterResult(RevisedStartTime:{self.RevisedStartTime}', - f'RevisedProcessingInterval:{self.RevisedProcessingInterval}', - f'RevisedAggregateConfiguration:{self.RevisedAggregateConfiguration})' - )) + return f'AggregateFilterResult(RevisedStartTime:{self.RevisedStartTime}, RevisedProcessingInterval:{self.RevisedProcessingInterval}, RevisedAggregateConfiguration:{self.RevisedAggregateConfiguration})' __repr__ = __str__ @@ -6996,7 +6323,7 @@ class MonitoringParameters(FrozenClass): ('Filter', 'ExtensionObject'), ('QueueSize', 'UInt32'), ('DiscardOldest', 'Boolean'), - ] + ] def __init__(self): self.ClientHandle = 0 @@ -7007,13 +6334,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'MonitoringParameters(ClientHandle:{self.ClientHandle}', - f'SamplingInterval:{self.SamplingInterval}', - f'Filter:{self.Filter}', - f'QueueSize:{self.QueueSize}', - f'DiscardOldest:{self.DiscardOldest})' - )) + return f'MonitoringParameters(ClientHandle:{self.ClientHandle}, SamplingInterval:{self.SamplingInterval}, Filter:{self.Filter}, QueueSize:{self.QueueSize}, DiscardOldest:{self.DiscardOldest})' __repr__ = __str__ @@ -7032,7 +6353,7 @@ class MonitoredItemCreateRequest(FrozenClass): ('ItemToMonitor', 'ReadValueId'), ('MonitoringMode', 'MonitoringMode'), ('RequestedParameters', 'MonitoringParameters'), - ] + ] def __init__(self): self.ItemToMonitor = ReadValueId() @@ -7041,11 +6362,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'MonitoredItemCreateRequest(ItemToMonitor:{self.ItemToMonitor}', - f'MonitoringMode:{self.MonitoringMode}', - f'RequestedParameters:{self.RequestedParameters})' - )) + return f'MonitoredItemCreateRequest(ItemToMonitor:{self.ItemToMonitor}, MonitoringMode:{self.MonitoringMode}, RequestedParameters:{self.RequestedParameters})' __repr__ = __str__ @@ -7070,7 +6387,7 @@ class MonitoredItemCreateResult(FrozenClass): ('RevisedSamplingInterval', 'Double'), ('RevisedQueueSize', 'UInt32'), ('FilterResult', 'ExtensionObject'), - ] + ] def __init__(self): self.StatusCode = StatusCode() @@ -7081,13 +6398,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'MonitoredItemCreateResult(StatusCode:{self.StatusCode}', - f'MonitoredItemId:{self.MonitoredItemId}', - f'RevisedSamplingInterval:{self.RevisedSamplingInterval}', - f'RevisedQueueSize:{self.RevisedQueueSize}', - f'FilterResult:{self.FilterResult})' - )) + return f'MonitoredItemCreateResult(StatusCode:{self.StatusCode}, MonitoredItemId:{self.MonitoredItemId}, RevisedSamplingInterval:{self.RevisedSamplingInterval}, RevisedQueueSize:{self.RevisedQueueSize}, FilterResult:{self.FilterResult})' __repr__ = __str__ @@ -7106,7 +6417,7 @@ class CreateMonitoredItemsParameters(FrozenClass): ('SubscriptionId', 'UInt32'), ('TimestampsToReturn', 'TimestampsToReturn'), ('ItemsToCreate', 'ListOfMonitoredItemCreateRequest'), - ] + ] def __init__(self): self.SubscriptionId = 0 @@ -7115,11 +6426,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'CreateMonitoredItemsParameters(SubscriptionId:{self.SubscriptionId}', - f'TimestampsToReturn:{self.TimestampsToReturn}', - f'ItemsToCreate:{self.ItemsToCreate})' - )) + return f'CreateMonitoredItemsParameters(SubscriptionId:{self.SubscriptionId}, TimestampsToReturn:{self.TimestampsToReturn}, ItemsToCreate:{self.ItemsToCreate})' __repr__ = __str__ @@ -7138,7 +6445,7 @@ class CreateMonitoredItemsRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'CreateMonitoredItemsParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CreateMonitoredItemsRequest_Encoding_DefaultBinary) @@ -7147,11 +6454,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'CreateMonitoredItemsRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'CreateMonitoredItemsRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -7173,7 +6476,7 @@ class CreateMonitoredItemsResponse(FrozenClass): ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfMonitoredItemCreateResult'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CreateMonitoredItemsResponse_Encoding_DefaultBinary) @@ -7183,12 +6486,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'CreateMonitoredItemsResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Results:{self.Results}', - f'DiagnosticInfos:{self.DiagnosticInfos})' - )) + return f'CreateMonitoredItemsResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ @@ -7204,7 +6502,7 @@ class MonitoredItemModifyRequest(FrozenClass): ua_types = [ ('MonitoredItemId', 'UInt32'), ('RequestedParameters', 'MonitoringParameters'), - ] + ] def __init__(self): self.MonitoredItemId = 0 @@ -7212,10 +6510,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'MonitoredItemModifyRequest(MonitoredItemId:{self.MonitoredItemId}', - f'RequestedParameters:{self.RequestedParameters})' - )) + return f'MonitoredItemModifyRequest(MonitoredItemId:{self.MonitoredItemId}, RequestedParameters:{self.RequestedParameters})' __repr__ = __str__ @@ -7237,7 +6532,7 @@ class MonitoredItemModifyResult(FrozenClass): ('RevisedSamplingInterval', 'Double'), ('RevisedQueueSize', 'UInt32'), ('FilterResult', 'ExtensionObject'), - ] + ] def __init__(self): self.StatusCode = StatusCode() @@ -7247,12 +6542,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'MonitoredItemModifyResult(StatusCode:{self.StatusCode}', - f'RevisedSamplingInterval:{self.RevisedSamplingInterval}', - f'RevisedQueueSize:{self.RevisedQueueSize}', - f'FilterResult:{self.FilterResult})' - )) + return f'MonitoredItemModifyResult(StatusCode:{self.StatusCode}, RevisedSamplingInterval:{self.RevisedSamplingInterval}, RevisedQueueSize:{self.RevisedQueueSize}, FilterResult:{self.FilterResult})' __repr__ = __str__ @@ -7271,7 +6561,7 @@ class ModifyMonitoredItemsParameters(FrozenClass): ('SubscriptionId', 'UInt32'), ('TimestampsToReturn', 'TimestampsToReturn'), ('ItemsToModify', 'ListOfMonitoredItemModifyRequest'), - ] + ] def __init__(self): self.SubscriptionId = 0 @@ -7280,11 +6570,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ModifyMonitoredItemsParameters(SubscriptionId:{self.SubscriptionId}', - f'TimestampsToReturn:{self.TimestampsToReturn}', - f'ItemsToModify:{self.ItemsToModify})' - )) + return f'ModifyMonitoredItemsParameters(SubscriptionId:{self.SubscriptionId}, TimestampsToReturn:{self.TimestampsToReturn}, ItemsToModify:{self.ItemsToModify})' __repr__ = __str__ @@ -7303,7 +6589,7 @@ class ModifyMonitoredItemsRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'ModifyMonitoredItemsParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.ModifyMonitoredItemsRequest_Encoding_DefaultBinary) @@ -7312,11 +6598,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ModifyMonitoredItemsRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'ModifyMonitoredItemsRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -7338,7 +6620,7 @@ class ModifyMonitoredItemsResponse(FrozenClass): ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfMonitoredItemModifyResult'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.ModifyMonitoredItemsResponse_Encoding_DefaultBinary) @@ -7348,12 +6630,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ModifyMonitoredItemsResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Results:{self.Results}', - f'DiagnosticInfos:{self.DiagnosticInfos})' - )) + return f'ModifyMonitoredItemsResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ @@ -7372,7 +6649,7 @@ class SetMonitoringModeParameters(FrozenClass): ('SubscriptionId', 'UInt32'), ('MonitoringMode', 'MonitoringMode'), ('MonitoredItemIds', 'ListOfUInt32'), - ] + ] def __init__(self): self.SubscriptionId = 0 @@ -7381,11 +6658,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'SetMonitoringModeParameters(SubscriptionId:{self.SubscriptionId}', - f'MonitoringMode:{self.MonitoringMode}', - f'MonitoredItemIds:{self.MonitoredItemIds})' - )) + return f'SetMonitoringModeParameters(SubscriptionId:{self.SubscriptionId}, MonitoringMode:{self.MonitoringMode}, MonitoredItemIds:{self.MonitoredItemIds})' __repr__ = __str__ @@ -7404,7 +6677,7 @@ class SetMonitoringModeRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'SetMonitoringModeParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.SetMonitoringModeRequest_Encoding_DefaultBinary) @@ -7413,11 +6686,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'SetMonitoringModeRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'SetMonitoringModeRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -7433,7 +6702,7 @@ class SetMonitoringModeResult(FrozenClass): ua_types = [ ('Results', 'ListOfStatusCode'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.Results = [] @@ -7460,7 +6729,7 @@ class SetMonitoringModeResponse(FrozenClass): ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'SetMonitoringModeResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.SetMonitoringModeResponse_Encoding_DefaultBinary) @@ -7469,11 +6738,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'SetMonitoringModeResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Parameters:{self.Parameters})' - )) + return f'SetMonitoringModeResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -7495,7 +6760,7 @@ class SetTriggeringParameters(FrozenClass): ('TriggeringItemId', 'UInt32'), ('LinksToAdd', 'ListOfUInt32'), ('LinksToRemove', 'ListOfUInt32'), - ] + ] def __init__(self): self.SubscriptionId = 0 @@ -7505,12 +6770,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'SetTriggeringParameters(SubscriptionId:{self.SubscriptionId}', - f'TriggeringItemId:{self.TriggeringItemId}', - f'LinksToAdd:{self.LinksToAdd}', - f'LinksToRemove:{self.LinksToRemove})' - )) + return f'SetTriggeringParameters(SubscriptionId:{self.SubscriptionId}, TriggeringItemId:{self.TriggeringItemId}, LinksToAdd:{self.LinksToAdd}, LinksToRemove:{self.LinksToRemove})' __repr__ = __str__ @@ -7529,7 +6789,7 @@ class SetTriggeringRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'SetTriggeringParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.SetTriggeringRequest_Encoding_DefaultBinary) @@ -7538,11 +6798,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'SetTriggeringRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'SetTriggeringRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -7564,7 +6820,7 @@ class SetTriggeringResult(FrozenClass): ('AddDiagnosticInfos', 'ListOfDiagnosticInfo'), ('RemoveResults', 'ListOfStatusCode'), ('RemoveDiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.AddResults = [] @@ -7574,12 +6830,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'SetTriggeringResult(AddResults:{self.AddResults}', - f'AddDiagnosticInfos:{self.AddDiagnosticInfos}', - f'RemoveResults:{self.RemoveResults}', - f'RemoveDiagnosticInfos:{self.RemoveDiagnosticInfos})' - )) + return f'SetTriggeringResult(AddResults:{self.AddResults}, AddDiagnosticInfos:{self.AddDiagnosticInfos}, RemoveResults:{self.RemoveResults}, RemoveDiagnosticInfos:{self.RemoveDiagnosticInfos})' __repr__ = __str__ @@ -7598,7 +6849,7 @@ class SetTriggeringResponse(FrozenClass): ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'SetTriggeringResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.SetTriggeringResponse_Encoding_DefaultBinary) @@ -7607,11 +6858,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'SetTriggeringResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Parameters:{self.Parameters})' - )) + return f'SetTriggeringResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -7627,7 +6874,7 @@ class DeleteMonitoredItemsParameters(FrozenClass): ua_types = [ ('SubscriptionId', 'UInt32'), ('MonitoredItemIds', 'ListOfUInt32'), - ] + ] def __init__(self): self.SubscriptionId = 0 @@ -7635,10 +6882,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'DeleteMonitoredItemsParameters(SubscriptionId:{self.SubscriptionId}', - f'MonitoredItemIds:{self.MonitoredItemIds})' - )) + return f'DeleteMonitoredItemsParameters(SubscriptionId:{self.SubscriptionId}, MonitoredItemIds:{self.MonitoredItemIds})' __repr__ = __str__ @@ -7657,7 +6901,7 @@ class DeleteMonitoredItemsRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'DeleteMonitoredItemsParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.DeleteMonitoredItemsRequest_Encoding_DefaultBinary) @@ -7666,11 +6910,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'DeleteMonitoredItemsRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'DeleteMonitoredItemsRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -7692,7 +6932,7 @@ class DeleteMonitoredItemsResponse(FrozenClass): ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfStatusCode'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.DeleteMonitoredItemsResponse_Encoding_DefaultBinary) @@ -7702,12 +6942,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'DeleteMonitoredItemsResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Results:{self.Results}', - f'DiagnosticInfos:{self.DiagnosticInfos})' - )) + return f'DeleteMonitoredItemsResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ @@ -7735,7 +6970,7 @@ class CreateSubscriptionParameters(FrozenClass): ('MaxNotificationsPerPublish', 'UInt32'), ('PublishingEnabled', 'Boolean'), ('Priority', 'Byte'), - ] + ] def __init__(self): self.RequestedPublishingInterval = 0 @@ -7747,14 +6982,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'CreateSubscriptionParameters(RequestedPublishingInterval:{self.RequestedPublishingInterval}', - f'RequestedLifetimeCount:{self.RequestedLifetimeCount}', - f'RequestedMaxKeepAliveCount:{self.RequestedMaxKeepAliveCount}', - f'MaxNotificationsPerPublish:{self.MaxNotificationsPerPublish}', - f'PublishingEnabled:{self.PublishingEnabled}', - f'Priority:{self.Priority})' - )) + return f'CreateSubscriptionParameters(RequestedPublishingInterval:{self.RequestedPublishingInterval}, RequestedLifetimeCount:{self.RequestedLifetimeCount}, RequestedMaxKeepAliveCount:{self.RequestedMaxKeepAliveCount}, MaxNotificationsPerPublish:{self.MaxNotificationsPerPublish}, PublishingEnabled:{self.PublishingEnabled}, Priority:{self.Priority})' __repr__ = __str__ @@ -7773,7 +7001,7 @@ class CreateSubscriptionRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'CreateSubscriptionParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CreateSubscriptionRequest_Encoding_DefaultBinary) @@ -7782,11 +7010,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'CreateSubscriptionRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'CreateSubscriptionRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -7808,7 +7032,7 @@ class CreateSubscriptionResult(FrozenClass): ('RevisedPublishingInterval', 'Double'), ('RevisedLifetimeCount', 'UInt32'), ('RevisedMaxKeepAliveCount', 'UInt32'), - ] + ] def __init__(self): self.SubscriptionId = 0 @@ -7818,12 +7042,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'CreateSubscriptionResult(SubscriptionId:{self.SubscriptionId}', - f'RevisedPublishingInterval:{self.RevisedPublishingInterval}', - f'RevisedLifetimeCount:{self.RevisedLifetimeCount}', - f'RevisedMaxKeepAliveCount:{self.RevisedMaxKeepAliveCount})' - )) + return f'CreateSubscriptionResult(SubscriptionId:{self.SubscriptionId}, RevisedPublishingInterval:{self.RevisedPublishingInterval}, RevisedLifetimeCount:{self.RevisedLifetimeCount}, RevisedMaxKeepAliveCount:{self.RevisedMaxKeepAliveCount})' __repr__ = __str__ @@ -7842,7 +7061,7 @@ class CreateSubscriptionResponse(FrozenClass): ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'CreateSubscriptionResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CreateSubscriptionResponse_Encoding_DefaultBinary) @@ -7851,11 +7070,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'CreateSubscriptionResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Parameters:{self.Parameters})' - )) + return f'CreateSubscriptionResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -7883,7 +7098,7 @@ class ModifySubscriptionParameters(FrozenClass): ('RequestedMaxKeepAliveCount', 'UInt32'), ('MaxNotificationsPerPublish', 'UInt32'), ('Priority', 'Byte'), - ] + ] def __init__(self): self.SubscriptionId = 0 @@ -7895,14 +7110,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ModifySubscriptionParameters(SubscriptionId:{self.SubscriptionId}', - f'RequestedPublishingInterval:{self.RequestedPublishingInterval}', - f'RequestedLifetimeCount:{self.RequestedLifetimeCount}', - f'RequestedMaxKeepAliveCount:{self.RequestedMaxKeepAliveCount}', - f'MaxNotificationsPerPublish:{self.MaxNotificationsPerPublish}', - f'Priority:{self.Priority})' - )) + return f'ModifySubscriptionParameters(SubscriptionId:{self.SubscriptionId}, RequestedPublishingInterval:{self.RequestedPublishingInterval}, RequestedLifetimeCount:{self.RequestedLifetimeCount}, RequestedMaxKeepAliveCount:{self.RequestedMaxKeepAliveCount}, MaxNotificationsPerPublish:{self.MaxNotificationsPerPublish}, Priority:{self.Priority})' __repr__ = __str__ @@ -7921,7 +7129,7 @@ class ModifySubscriptionRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'ModifySubscriptionParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.ModifySubscriptionRequest_Encoding_DefaultBinary) @@ -7930,11 +7138,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ModifySubscriptionRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'ModifySubscriptionRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -7953,7 +7157,7 @@ class ModifySubscriptionResult(FrozenClass): ('RevisedPublishingInterval', 'Double'), ('RevisedLifetimeCount', 'UInt32'), ('RevisedMaxKeepAliveCount', 'UInt32'), - ] + ] def __init__(self): self.RevisedPublishingInterval = 0 @@ -7962,11 +7166,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ModifySubscriptionResult(RevisedPublishingInterval:{self.RevisedPublishingInterval}', - f'RevisedLifetimeCount:{self.RevisedLifetimeCount}', - f'RevisedMaxKeepAliveCount:{self.RevisedMaxKeepAliveCount})' - )) + return f'ModifySubscriptionResult(RevisedPublishingInterval:{self.RevisedPublishingInterval}, RevisedLifetimeCount:{self.RevisedLifetimeCount}, RevisedMaxKeepAliveCount:{self.RevisedMaxKeepAliveCount})' __repr__ = __str__ @@ -7985,7 +7185,7 @@ class ModifySubscriptionResponse(FrozenClass): ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'ModifySubscriptionResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.ModifySubscriptionResponse_Encoding_DefaultBinary) @@ -7994,11 +7194,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ModifySubscriptionResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Parameters:{self.Parameters})' - )) + return f'ModifySubscriptionResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -8014,7 +7210,7 @@ class SetPublishingModeParameters(FrozenClass): ua_types = [ ('PublishingEnabled', 'Boolean'), ('SubscriptionIds', 'ListOfUInt32'), - ] + ] def __init__(self): self.PublishingEnabled = True @@ -8022,10 +7218,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'SetPublishingModeParameters(PublishingEnabled:{self.PublishingEnabled}', - f'SubscriptionIds:{self.SubscriptionIds})' - )) + return f'SetPublishingModeParameters(PublishingEnabled:{self.PublishingEnabled}, SubscriptionIds:{self.SubscriptionIds})' __repr__ = __str__ @@ -8044,7 +7237,7 @@ class SetPublishingModeRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'SetPublishingModeParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.SetPublishingModeRequest_Encoding_DefaultBinary) @@ -8053,11 +7246,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'SetPublishingModeRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'SetPublishingModeRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -8073,7 +7262,7 @@ class SetPublishingModeResult(FrozenClass): ua_types = [ ('Results', 'ListOfStatusCode'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.Results = [] @@ -8100,7 +7289,7 @@ class SetPublishingModeResponse(FrozenClass): ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'SetPublishingModeResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.SetPublishingModeResponse_Encoding_DefaultBinary) @@ -8109,11 +7298,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'SetPublishingModeResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Parameters:{self.Parameters})' - )) + return f'SetPublishingModeResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -8132,7 +7317,7 @@ class NotificationMessage(FrozenClass): ('SequenceNumber', 'UInt32'), ('PublishTime', 'DateTime'), ('NotificationData', 'ListOfExtensionObject'), - ] + ] def __init__(self): self.SequenceNumber = 0 @@ -8141,12 +7326,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'NotificationMessage(SequenceNumber:{self.SequenceNumber}', - f'PublishTime:{self.PublishTime}', - f'NotificationData:{self.NotificationData})' - - )) + return f'NotificationMessage(SequenceNumber:{self.SequenceNumber}, PublishTime:{self.PublishTime}, NotificationData:{self.NotificationData})' __repr__ = __str__ @@ -8156,7 +7336,7 @@ class NotificationData(FrozenClass): """ ua_types = [ - ] + ] def __init__(self): self._freeze = True @@ -8178,7 +7358,7 @@ class DataChangeNotification(FrozenClass): ua_types = [ ('MonitoredItems', 'ListOfMonitoredItemNotification'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.MonitoredItems = [] @@ -8202,7 +7382,7 @@ class MonitoredItemNotification(FrozenClass): ua_types = [ ('ClientHandle', 'UInt32'), ('Value', 'DataValue'), - ] + ] def __init__(self): self.ClientHandle = 0 @@ -8223,7 +7403,7 @@ class EventNotificationList(FrozenClass): ua_types = [ ('Events', 'ListOfEventFieldList'), - ] + ] def __init__(self): self.Events = [] @@ -8246,7 +7426,7 @@ class EventFieldList(FrozenClass): ua_types = [ ('ClientHandle', 'UInt32'), ('EventFields', 'ListOfVariant'), - ] + ] def __init__(self): self.ClientHandle = 0 @@ -8267,7 +7447,7 @@ class HistoryEventFieldList(FrozenClass): ua_types = [ ('EventFields', 'ListOfVariant'), - ] + ] def __init__(self): self.EventFields = [] @@ -8290,7 +7470,7 @@ class StatusChangeNotification(FrozenClass): ua_types = [ ('Status', 'StatusCode'), ('DiagnosticInfo', 'DiagnosticInfo'), - ] + ] def __init__(self): self.Status = StatusCode() @@ -8314,7 +7494,7 @@ class SubscriptionAcknowledgement(FrozenClass): ua_types = [ ('SubscriptionId', 'UInt32'), ('SequenceNumber', 'UInt32'), - ] + ] def __init__(self): self.SubscriptionId = 0 @@ -8322,10 +7502,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'SubscriptionAcknowledgement(SubscriptionId:{self.SubscriptionId}', - f'SequenceNumber:{self.SequenceNumber})' - )) + return f'SubscriptionAcknowledgement(SubscriptionId:{self.SubscriptionId}, SequenceNumber:{self.SequenceNumber})' __repr__ = __str__ @@ -8338,7 +7515,7 @@ class PublishParameters(FrozenClass): ua_types = [ ('SubscriptionAcknowledgements', 'ListOfSubscriptionAcknowledgement'), - ] + ] def __init__(self): self.SubscriptionAcknowledgements = [] @@ -8364,7 +7541,7 @@ class PublishRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'PublishParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.PublishRequest_Encoding_DefaultBinary) @@ -8373,11 +7550,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'PublishRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'PublishRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -8405,7 +7578,7 @@ class PublishResult(FrozenClass): ('NotificationMessage', 'NotificationMessage'), ('Results', 'ListOfStatusCode'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.SubscriptionId = 0 @@ -8417,14 +7590,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'PublishResult(SubscriptionId:{self.SubscriptionId}', - f'AvailableSequenceNumbers:{self.AvailableSequenceNumbers}', - f'MoreNotifications:{self.MoreNotifications}', - f'NotificationMessage:{self.NotificationMessage}', - f'Results:{self.Results}', - f'DiagnosticInfos:{self.DiagnosticInfos})' - )) + return f'PublishResult(SubscriptionId:{self.SubscriptionId}, AvailableSequenceNumbers:{self.AvailableSequenceNumbers}, MoreNotifications:{self.MoreNotifications}, NotificationMessage:{self.NotificationMessage}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ @@ -8443,7 +7609,7 @@ class PublishResponse(FrozenClass): ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'PublishResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.PublishResponse_Encoding_DefaultBinary) @@ -8452,11 +7618,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'PublishResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Parameters:{self.Parameters})' - )) + return f'PublishResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -8472,7 +7634,7 @@ class RepublishParameters(FrozenClass): ua_types = [ ('SubscriptionId', 'UInt32'), ('RetransmitSequenceNumber', 'UInt32'), - ] + ] def __init__(self): self.SubscriptionId = 0 @@ -8480,10 +7642,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'RepublishParameters(SubscriptionId:{self.SubscriptionId}', - f'RetransmitSequenceNumber:{self.RetransmitSequenceNumber})' - )) + return f'RepublishParameters(SubscriptionId:{self.SubscriptionId}, RetransmitSequenceNumber:{self.RetransmitSequenceNumber})' __repr__ = __str__ @@ -8502,7 +7661,7 @@ class RepublishRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'RepublishParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.RepublishRequest_Encoding_DefaultBinary) @@ -8511,11 +7670,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'RepublishRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'RepublishRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -8534,7 +7689,7 @@ class RepublishResponse(FrozenClass): ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('NotificationMessage', 'NotificationMessage'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.RepublishResponse_Encoding_DefaultBinary) @@ -8543,11 +7698,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'RepublishResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'NotificationMessage:{self.NotificationMessage})' - )) + return f'RepublishResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, NotificationMessage:{self.NotificationMessage})' __repr__ = __str__ @@ -8563,7 +7714,7 @@ class TransferResult(FrozenClass): ua_types = [ ('StatusCode', 'StatusCode'), ('AvailableSequenceNumbers', 'ListOfUInt32'), - ] + ] def __init__(self): self.StatusCode = StatusCode() @@ -8571,10 +7722,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'TransferResult(StatusCode:{self.StatusCode}', - f'AvailableSequenceNumbers:{self.AvailableSequenceNumbers})' - )) + return f'TransferResult(StatusCode:{self.StatusCode}, AvailableSequenceNumbers:{self.AvailableSequenceNumbers})' __repr__ = __str__ @@ -8590,7 +7738,7 @@ class TransferSubscriptionsParameters(FrozenClass): ua_types = [ ('SubscriptionIds', 'ListOfUInt32'), ('SendInitialValues', 'Boolean'), - ] + ] def __init__(self): self.SubscriptionIds = [] @@ -8598,10 +7746,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'TransferSubscriptionsParameters(SubscriptionIds:{self.SubscriptionIds}', - f'SendInitialValues:{self.SendInitialValues})' - )) + return f'TransferSubscriptionsParameters(SubscriptionIds:{self.SubscriptionIds}, SendInitialValues:{self.SendInitialValues})' __repr__ = __str__ @@ -8620,7 +7765,7 @@ class TransferSubscriptionsRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'TransferSubscriptionsParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.TransferSubscriptionsRequest_Encoding_DefaultBinary) @@ -8629,11 +7774,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'TransferSubscriptionsRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'TransferSubscriptionsRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -8649,7 +7790,7 @@ class TransferSubscriptionsResult(FrozenClass): ua_types = [ ('Results', 'ListOfTransferResult'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.Results = [] @@ -8676,7 +7817,7 @@ class TransferSubscriptionsResponse(FrozenClass): ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'TransferSubscriptionsResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.TransferSubscriptionsResponse_Encoding_DefaultBinary) @@ -8685,11 +7826,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'TransferSubscriptionsResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Parameters:{self.Parameters})' - )) + return f'TransferSubscriptionsResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -8702,7 +7839,7 @@ class DeleteSubscriptionsParameters(FrozenClass): ua_types = [ ('SubscriptionIds', 'ListOfUInt32'), - ] + ] def __init__(self): self.SubscriptionIds = [] @@ -8728,7 +7865,7 @@ class DeleteSubscriptionsRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'DeleteSubscriptionsParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.DeleteSubscriptionsRequest_Encoding_DefaultBinary) @@ -8737,11 +7874,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'DeleteSubscriptionsRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'DeleteSubscriptionsRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -8763,7 +7896,7 @@ class DeleteSubscriptionsResponse(FrozenClass): ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfStatusCode'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.DeleteSubscriptionsResponse_Encoding_DefaultBinary) @@ -8773,12 +7906,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'DeleteSubscriptionsResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Results:{self.Results}', - f'DiagnosticInfos:{self.DiagnosticInfos})' - )) + return f'DeleteSubscriptionsResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ @@ -8806,7 +7934,7 @@ class BuildInfo(FrozenClass): ('SoftwareVersion', 'String'), ('BuildNumber', 'String'), ('BuildDate', 'DateTime'), - ] + ] def __init__(self): self.ProductUri = None @@ -8818,14 +7946,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'BuildInfo(ProductUri:{self.ProductUri}', - f'ManufacturerName:{self.ManufacturerName}', - f'ProductName:{self.ProductName}', - f'SoftwareVersion:{self.SoftwareVersion}', - f'BuildNumber:{self.BuildNumber}', - f'BuildDate:{self.BuildDate})' - )) + return f'BuildInfo(ProductUri:{self.ProductUri}, ManufacturerName:{self.ManufacturerName}, ProductName:{self.ProductName}, SoftwareVersion:{self.SoftwareVersion}, BuildNumber:{self.BuildNumber}, BuildDate:{self.BuildDate})' __repr__ = __str__ @@ -8844,7 +7965,7 @@ class RedundantServerDataType(FrozenClass): ('ServerId', 'String'), ('ServiceLevel', 'Byte'), ('ServerState', 'ServerState'), - ] + ] def __init__(self): self.ServerId = None @@ -8853,11 +7974,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'RedundantServerDataType(ServerId:{self.ServerId}', - f'ServiceLevel:{self.ServiceLevel}', - f'ServerState:{self.ServerState})' - )) + return f'RedundantServerDataType(ServerId:{self.ServerId}, ServiceLevel:{self.ServiceLevel}, ServerState:{self.ServerState})' __repr__ = __str__ @@ -8870,7 +7987,7 @@ class EndpointUrlListDataType(FrozenClass): ua_types = [ ('EndpointUrlList', 'ListOfString'), - ] + ] def __init__(self): self.EndpointUrlList = [] @@ -8893,7 +8010,7 @@ class NetworkGroupDataType(FrozenClass): ua_types = [ ('ServerUri', 'String'), ('NetworkPaths', 'ListOfEndpointUrlListDataType'), - ] + ] def __init__(self): self.ServerUri = None @@ -8923,7 +8040,7 @@ class SamplingIntervalDiagnosticsDataType(FrozenClass): ('MonitoredItemCount', 'UInt32'), ('MaxMonitoredItemCount', 'UInt32'), ('DisabledMonitoredItemCount', 'UInt32'), - ] + ] def __init__(self): self.SamplingInterval = 0 @@ -8933,12 +8050,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'SamplingIntervalDiagnosticsDataType(SamplingInterval:{self.SamplingInterval}', - f'MonitoredItemCount:{self.MonitoredItemCount}', - f'MaxMonitoredItemCount:{self.MaxMonitoredItemCount}', - f'DisabledMonitoredItemCount:{self.DisabledMonitoredItemCount})' - )) + return f'SamplingIntervalDiagnosticsDataType(SamplingInterval:{self.SamplingInterval}, MonitoredItemCount:{self.MonitoredItemCount}, MaxMonitoredItemCount:{self.MaxMonitoredItemCount}, DisabledMonitoredItemCount:{self.DisabledMonitoredItemCount})' __repr__ = __str__ @@ -8984,7 +8096,7 @@ class ServerDiagnosticsSummaryDataType(FrozenClass): ('PublishingIntervalCount', 'UInt32'), ('SecurityRejectedRequestsCount', 'UInt32'), ('RejectedRequestsCount', 'UInt32'), - ] + ] def __init__(self): self.ServerViewCount = 0 @@ -9002,20 +8114,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ServerDiagnosticsSummaryDataType(ServerViewCount:{self.ServerViewCount}', - f'CurrentSessionCount:{self.CurrentSessionCount}', - f'CumulatedSessionCount:{self.CumulatedSessionCount}', - f'SecurityRejectedSessionCount:{self.SecurityRejectedSessionCount}', - f'RejectedSessionCount:{self.RejectedSessionCount}', - f'SessionTimeoutCount:{self.SessionTimeoutCount}', - f'SessionAbortCount:{self.SessionAbortCount}', - f'CurrentSubscriptionCount:{self.CurrentSubscriptionCount}', - f'CumulatedSubscriptionCount:{self.CumulatedSubscriptionCount}', - f'PublishingIntervalCount:{self.PublishingIntervalCount}', - f'SecurityRejectedRequestsCount:{self.SecurityRejectedRequestsCount}', - f'RejectedRequestsCount:{self.RejectedRequestsCount})' - )) + return f'ServerDiagnosticsSummaryDataType(ServerViewCount:{self.ServerViewCount}, CurrentSessionCount:{self.CurrentSessionCount}, CumulatedSessionCount:{self.CumulatedSessionCount}, SecurityRejectedSessionCount:{self.SecurityRejectedSessionCount}, RejectedSessionCount:{self.RejectedSessionCount}, SessionTimeoutCount:{self.SessionTimeoutCount}, SessionAbortCount:{self.SessionAbortCount}, CurrentSubscriptionCount:{self.CurrentSubscriptionCount}, CumulatedSubscriptionCount:{self.CumulatedSubscriptionCount}, PublishingIntervalCount:{self.PublishingIntervalCount}, SecurityRejectedRequestsCount:{self.SecurityRejectedRequestsCount}, RejectedRequestsCount:{self.RejectedRequestsCount})' __repr__ = __str__ @@ -9043,7 +8142,7 @@ class ServerStatusDataType(FrozenClass): ('BuildInfo', 'BuildInfo'), ('SecondsTillShutdown', 'UInt32'), ('ShutdownReason', 'LocalizedText'), - ] + ] def __init__(self): self.StartTime = datetime.utcnow() @@ -9055,14 +8154,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ServerStatusDataType(StartTime:{self.StartTime}', - f'CurrentTime:{self.CurrentTime}', - f'State:{self.State}', - f'BuildInfo:{self.BuildInfo}', - f'SecondsTillShutdown:{self.SecondsTillShutdown}', - f'ShutdownReason:{self.ShutdownReason})' - )) + return f'ServerStatusDataType(StartTime:{self.StartTime}, CurrentTime:{self.CurrentTime}, State:{self.State}, BuildInfo:{self.BuildInfo}, SecondsTillShutdown:{self.SecondsTillShutdown}, ShutdownReason:{self.ShutdownReason})' __repr__ = __str__ @@ -9201,7 +8293,7 @@ class SessionDiagnosticsDataType(FrozenClass): ('QueryNextCount', 'ServiceCounterDataType'), ('RegisterNodesCount', 'ServiceCounterDataType'), ('UnregisterNodesCount', 'ServiceCounterDataType'), - ] + ] def __init__(self): self.SessionId = NodeId() @@ -9250,51 +8342,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'SessionDiagnosticsDataType(SessionId:{self.SessionId}', - f'SessionName:{self.SessionName}', - f'ClientDescription:{self.ClientDescription}', - f'ServerUri:{self.ServerUri}', - f'EndpointUrl:{self.EndpointUrl}', - f'LocaleIds:{self.LocaleIds}', - f'ActualSessionTimeout:{self.ActualSessionTimeout}', - f'MaxResponseMessageSize:{self.MaxResponseMessageSize}', - f'ClientConnectionTime:{self.ClientConnectionTime}', - f'ClientLastContactTime:{self.ClientLastContactTime}', - f'CurrentSubscriptionsCount:{self.CurrentSubscriptionsCount}', - f'CurrentMonitoredItemsCount:{self.CurrentMonitoredItemsCount}', - f'CurrentPublishRequestsInQueue:{self.CurrentPublishRequestsInQueue}', - f'TotalRequestCount:{self.TotalRequestCount}', - f'UnauthorizedRequestCount:{self.UnauthorizedRequestCount}', - f'ReadCount:{self.ReadCount}', - f'HistoryReadCount:{self.HistoryReadCount}', - f'WriteCount:{self.WriteCount}', - f'HistoryUpdateCount:{self.HistoryUpdateCount}', - f'CallCount:{self.CallCount}', - f'CreateMonitoredItemsCount:{self.CreateMonitoredItemsCount}', - f'ModifyMonitoredItemsCount:{self.ModifyMonitoredItemsCount}', - f'SetMonitoringModeCount:{self.SetMonitoringModeCount}', - f'SetTriggeringCount:{self.SetTriggeringCount}', - f'DeleteMonitoredItemsCount:{self.DeleteMonitoredItemsCount}', - f'CreateSubscriptionCount:{self.CreateSubscriptionCount}', - f'ModifySubscriptionCount:{self.ModifySubscriptionCount}', - f'SetPublishingModeCount:{self.SetPublishingModeCount}', - f'PublishCount:{self.PublishCount}', - f'RepublishCount:{self.RepublishCount}', - f'TransferSubscriptionsCount:{self.TransferSubscriptionsCount}', - f'DeleteSubscriptionsCount:{self.DeleteSubscriptionsCount}', - f'AddNodesCount:{self.AddNodesCount}', - f'AddReferencesCount:{self.AddReferencesCount}', - f'DeleteNodesCount:{self.DeleteNodesCount}', - f'DeleteReferencesCount:{self.DeleteReferencesCount}', - f'BrowseCount:{self.BrowseCount}', - f'BrowseNextCount:{self.BrowseNextCount}', - f'TranslateBrowsePathsToNodeIdsCount:{self.TranslateBrowsePathsToNodeIdsCount}', - f'QueryFirstCount:{self.QueryFirstCount}', - f'QueryNextCount:{self.QueryNextCount}', - f'RegisterNodesCount:{self.RegisterNodesCount}', - f'UnregisterNodesCount:{self.UnregisterNodesCount})' - )) + return f'SessionDiagnosticsDataType(SessionId:{self.SessionId}, SessionName:{self.SessionName}, ClientDescription:{self.ClientDescription}, ServerUri:{self.ServerUri}, EndpointUrl:{self.EndpointUrl}, LocaleIds:{self.LocaleIds}, ActualSessionTimeout:{self.ActualSessionTimeout}, MaxResponseMessageSize:{self.MaxResponseMessageSize}, ClientConnectionTime:{self.ClientConnectionTime}, ClientLastContactTime:{self.ClientLastContactTime}, CurrentSubscriptionsCount:{self.CurrentSubscriptionsCount}, CurrentMonitoredItemsCount:{self.CurrentMonitoredItemsCount}, CurrentPublishRequestsInQueue:{self.CurrentPublishRequestsInQueue}, TotalRequestCount:{self.TotalRequestCount}, UnauthorizedRequestCount:{self.UnauthorizedRequestCount}, ReadCount:{self.ReadCount}, HistoryReadCount:{self.HistoryReadCount}, WriteCount:{self.WriteCount}, HistoryUpdateCount:{self.HistoryUpdateCount}, CallCount:{self.CallCount}, CreateMonitoredItemsCount:{self.CreateMonitoredItemsCount}, ModifyMonitoredItemsCount:{self.ModifyMonitoredItemsCount}, SetMonitoringModeCount:{self.SetMonitoringModeCount}, SetTriggeringCount:{self.SetTriggeringCount}, DeleteMonitoredItemsCount:{self.DeleteMonitoredItemsCount}, CreateSubscriptionCount:{self.CreateSubscriptionCount}, ModifySubscriptionCount:{self.ModifySubscriptionCount}, SetPublishingModeCount:{self.SetPublishingModeCount}, PublishCount:{self.PublishCount}, RepublishCount:{self.RepublishCount}, TransferSubscriptionsCount:{self.TransferSubscriptionsCount}, DeleteSubscriptionsCount:{self.DeleteSubscriptionsCount}, AddNodesCount:{self.AddNodesCount}, AddReferencesCount:{self.AddReferencesCount}, DeleteNodesCount:{self.DeleteNodesCount}, DeleteReferencesCount:{self.DeleteReferencesCount}, BrowseCount:{self.BrowseCount}, BrowseNextCount:{self.BrowseNextCount}, TranslateBrowsePathsToNodeIdsCount:{self.TranslateBrowsePathsToNodeIdsCount}, QueryFirstCount:{self.QueryFirstCount}, QueryNextCount:{self.QueryNextCount}, RegisterNodesCount:{self.RegisterNodesCount}, UnregisterNodesCount:{self.UnregisterNodesCount})' __repr__ = __str__ @@ -9331,7 +8379,7 @@ class SessionSecurityDiagnosticsDataType(FrozenClass): ('SecurityMode', 'MessageSecurityMode'), ('SecurityPolicyUri', 'String'), ('ClientCertificate', 'ByteString'), - ] + ] def __init__(self): self.SessionId = NodeId() @@ -9346,17 +8394,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'SessionSecurityDiagnosticsDataType(SessionId:{self.SessionId}', - f'ClientUserIdOfSession:{self.ClientUserIdOfSession}', - f'ClientUserIdHistory:{self.ClientUserIdHistory}', - f'AuthenticationMechanism:{self.AuthenticationMechanism}', - f'Encoding:{self.Encoding}', - f'TransportProtocol:{self.TransportProtocol}', - f'SecurityMode:{self.SecurityMode}', - f'SecurityPolicyUri:{self.SecurityPolicyUri}', - f'ClientCertificate:{self.ClientCertificate})' - )) + return f'SessionSecurityDiagnosticsDataType(SessionId:{self.SessionId}, ClientUserIdOfSession:{self.ClientUserIdOfSession}, ClientUserIdHistory:{self.ClientUserIdHistory}, AuthenticationMechanism:{self.AuthenticationMechanism}, Encoding:{self.Encoding}, TransportProtocol:{self.TransportProtocol}, SecurityMode:{self.SecurityMode}, SecurityPolicyUri:{self.SecurityPolicyUri}, ClientCertificate:{self.ClientCertificate})' __repr__ = __str__ @@ -9372,7 +8410,7 @@ class ServiceCounterDataType(FrozenClass): ua_types = [ ('TotalCount', 'UInt32'), ('ErrorCount', 'UInt32'), - ] + ] def __init__(self): self.TotalCount = 0 @@ -9396,7 +8434,7 @@ class StatusResult(FrozenClass): ua_types = [ ('StatusCode', 'StatusCode'), ('DiagnosticInfo', 'DiagnosticInfo'), - ] + ] def __init__(self): self.StatusCode = StatusCode() @@ -9507,7 +8545,7 @@ class SubscriptionDiagnosticsDataType(FrozenClass): ('MonitoringQueueOverflowCount', 'UInt32'), ('NextSequenceNumber', 'UInt32'), ('EventQueueOverFlowCount', 'UInt32'), - ] + ] def __init__(self): self.SessionId = NodeId() @@ -9544,39 +8582,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'SubscriptionDiagnosticsDataType(SessionId:{self.SessionId}', - f'SubscriptionId:{self.SubscriptionId}', - f'Priority:{self.Priority}', - f'PublishingInterval:{self.PublishingInterval}', - f'MaxKeepAliveCount:{self.MaxKeepAliveCount}', - f'MaxLifetimeCount:{self.MaxLifetimeCount}', - f'MaxNotificationsPerPublish:{self.MaxNotificationsPerPublish}', - f'PublishingEnabled:{self.PublishingEnabled}', - f'ModifyCount:{self.ModifyCount}', - f'EnableCount:{self.EnableCount}', - f'DisableCount:{self.DisableCount}', - f'RepublishRequestCount:{self.RepublishRequestCount}', - f'RepublishMessageRequestCount:{self.RepublishMessageRequestCount}', - f'RepublishMessageCount:{self.RepublishMessageCount}', - f'TransferRequestCount:{self.TransferRequestCount}', - f'TransferredToAltClientCount:{self.TransferredToAltClientCount}', - f'TransferredToSameClientCount:{self.TransferredToSameClientCount}', - f'PublishRequestCount:{self.PublishRequestCount}', - f'DataChangeNotificationsCount:{self.DataChangeNotificationsCount}', - f'EventNotificationsCount:{self.EventNotificationsCount}', - f'NotificationsCount:{self.NotificationsCount}', - f'LatePublishRequestCount:{self.LatePublishRequestCount}', - f'CurrentKeepAliveCount:{self.CurrentKeepAliveCount}', - f'CurrentLifetimeCount:{self.CurrentLifetimeCount}', - f'UnacknowledgedMessageCount:{self.UnacknowledgedMessageCount}', - f'DiscardedMessageCount:{self.DiscardedMessageCount}', - f'MonitoredItemCount:{self.MonitoredItemCount}', - f'DisabledMonitoredItemCount:{self.DisabledMonitoredItemCount}', - f'MonitoringQueueOverflowCount:{self.MonitoringQueueOverflowCount}', - f'NextSequenceNumber:{self.NextSequenceNumber}', - f'EventQueueOverFlowCount:{self.EventQueueOverFlowCount})' - )) + return f'SubscriptionDiagnosticsDataType(SessionId:{self.SessionId}, SubscriptionId:{self.SubscriptionId}, Priority:{self.Priority}, PublishingInterval:{self.PublishingInterval}, MaxKeepAliveCount:{self.MaxKeepAliveCount}, MaxLifetimeCount:{self.MaxLifetimeCount}, MaxNotificationsPerPublish:{self.MaxNotificationsPerPublish}, PublishingEnabled:{self.PublishingEnabled}, ModifyCount:{self.ModifyCount}, EnableCount:{self.EnableCount}, DisableCount:{self.DisableCount}, RepublishRequestCount:{self.RepublishRequestCount}, RepublishMessageRequestCount:{self.RepublishMessageRequestCount}, RepublishMessageCount:{self.RepublishMessageCount}, TransferRequestCount:{self.TransferRequestCount}, TransferredToAltClientCount:{self.TransferredToAltClientCount}, TransferredToSameClientCount:{self.TransferredToSameClientCount}, PublishRequestCount:{self.PublishRequestCount}, DataChangeNotificationsCount:{self.DataChangeNotificationsCount}, EventNotificationsCount:{self.EventNotificationsCount}, NotificationsCount:{self.NotificationsCount}, LatePublishRequestCount:{self.LatePublishRequestCount}, CurrentKeepAliveCount:{self.CurrentKeepAliveCount}, CurrentLifetimeCount:{self.CurrentLifetimeCount}, UnacknowledgedMessageCount:{self.UnacknowledgedMessageCount}, DiscardedMessageCount:{self.DiscardedMessageCount}, MonitoredItemCount:{self.MonitoredItemCount}, DisabledMonitoredItemCount:{self.DisabledMonitoredItemCount}, MonitoringQueueOverflowCount:{self.MonitoringQueueOverflowCount}, NextSequenceNumber:{self.NextSequenceNumber}, EventQueueOverFlowCount:{self.EventQueueOverFlowCount})' __repr__ = __str__ @@ -9595,7 +8601,7 @@ class ModelChangeStructureDataType(FrozenClass): ('Affected', 'NodeId'), ('AffectedType', 'NodeId'), ('Verb', 'Byte'), - ] + ] def __init__(self): self.Affected = NodeId() @@ -9604,11 +8610,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ModelChangeStructureDataType(Affected:{self.Affected}', - f'AffectedType:{self.AffectedType}', - f'Verb:{self.Verb})' - )) + return f'ModelChangeStructureDataType(Affected:{self.Affected}, AffectedType:{self.AffectedType}, Verb:{self.Verb})' __repr__ = __str__ @@ -9624,7 +8626,7 @@ class SemanticChangeStructureDataType(FrozenClass): ua_types = [ ('Affected', 'NodeId'), ('AffectedType', 'NodeId'), - ] + ] def __init__(self): self.Affected = NodeId() @@ -9648,7 +8650,7 @@ class Range(FrozenClass): ua_types = [ ('Low', 'Double'), ('High', 'Double'), - ] + ] def __init__(self): self.Low = 0 @@ -9678,7 +8680,7 @@ class EUInformation(FrozenClass): ('UnitId', 'Int32'), ('DisplayName', 'LocalizedText'), ('Description', 'LocalizedText'), - ] + ] def __init__(self): self.NamespaceUri = None @@ -9688,12 +8690,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'EUInformation(NamespaceUri:{self.NamespaceUri}', - f'UnitId:{self.UnitId}', - f'DisplayName:{self.DisplayName}', - f'Description:{self.Description})' - )) + return f'EUInformation(NamespaceUri:{self.NamespaceUri}, UnitId:{self.UnitId}, DisplayName:{self.DisplayName}, Description:{self.Description})' __repr__ = __str__ @@ -9709,7 +8706,7 @@ class ComplexNumberType(FrozenClass): ua_types = [ ('Real', 'Float'), ('Imaginary', 'Float'), - ] + ] def __init__(self): self.Real = 0 @@ -9733,7 +8730,7 @@ class DoubleComplexNumberType(FrozenClass): ua_types = [ ('Real', 'Double'), ('Imaginary', 'Double'), - ] + ] def __init__(self): self.Real = 0 @@ -9766,7 +8763,7 @@ class AxisInformation(FrozenClass): ('Title', 'LocalizedText'), ('AxisScaleType', 'AxisScaleEnumeration'), ('AxisSteps', 'ListOfDouble'), - ] + ] def __init__(self): self.EngineeringUnits = EUInformation() @@ -9777,13 +8774,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'AxisInformation(EngineeringUnits:{self.EngineeringUnits}', - f'EURange:{self.EURange}', - f'Title:{self.Title}', - f'AxisScaleType:{self.AxisScaleType}', - f'AxisSteps:{self.AxisSteps})' - )) + return f'AxisInformation(EngineeringUnits:{self.EngineeringUnits}, EURange:{self.EURange}, Title:{self.Title}, AxisScaleType:{self.AxisScaleType}, AxisSteps:{self.AxisSteps})' __repr__ = __str__ @@ -9799,7 +8790,7 @@ class XVType(FrozenClass): ua_types = [ ('X', 'Double'), ('Value', 'Float'), - ] + ] def __init__(self): self.X = 0 @@ -9847,7 +8838,7 @@ class ProgramDiagnosticDataType(FrozenClass): ('LastMethodOutputArguments', 'ListOfArgument'), ('LastMethodCallTime', 'DateTime'), ('LastMethodReturnStatus', 'StatusResult'), - ] + ] def __init__(self): self.CreateSessionId = NodeId() @@ -9863,18 +8854,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ProgramDiagnosticDataType(CreateSessionId:{self.CreateSessionId}', - f'CreateClientName:{self.CreateClientName}', - f'InvocationCreationTime:{self.InvocationCreationTime}', - f'LastTransitionTime:{self.LastTransitionTime}', - f'LastMethodCall:{self.LastMethodCall}', - f'LastMethodSessionId:{self.LastMethodSessionId}', - f'LastMethodInputArguments:{self.LastMethodInputArguments}', - f'LastMethodOutputArguments:{self.LastMethodOutputArguments}', - f'LastMethodCallTime:{self.LastMethodCallTime}', - f'LastMethodReturnStatus:{self.LastMethodReturnStatus})' - )) + return f'ProgramDiagnosticDataType(CreateSessionId:{self.CreateSessionId}, CreateClientName:{self.CreateClientName}, InvocationCreationTime:{self.InvocationCreationTime}, LastTransitionTime:{self.LastTransitionTime}, LastMethodCall:{self.LastMethodCall}, LastMethodSessionId:{self.LastMethodSessionId}, LastMethodInputArguments:{self.LastMethodInputArguments}, LastMethodOutputArguments:{self.LastMethodOutputArguments}, LastMethodCallTime:{self.LastMethodCallTime}, LastMethodReturnStatus:{self.LastMethodReturnStatus})' __repr__ = __str__ @@ -9893,7 +8873,7 @@ class Annotation(FrozenClass): ('Message', 'String'), ('UserName', 'String'), ('AnnotationTime', 'DateTime'), - ] + ] def __init__(self): self.Message = None @@ -9902,11 +8882,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'Annotation(Message:{self.Message}', - f'UserName:{self.UserName}', - f'AnnotationTime:{self.AnnotationTime})' - )) + return f'Annotation(Message:{self.Message}, UserName:{self.UserName}, AnnotationTime:{self.AnnotationTime})' __repr__ = __str__ diff --git a/schemas/generate_protocol_python.py b/schemas/generate_protocol_python.py index 7dd41868d..6d7b9e899 100644 --- a/schemas/generate_protocol_python.py +++ b/schemas/generate_protocol_python.py @@ -2,6 +2,7 @@ IgnoredEnums = ["NodeIdType"] IgnoredStructs = ["QualifiedName", "NodeId", "ExpandedNodeId", "FilterOperand", "Variant", "DataValue", "ExtensionObject", "XmlElement", "LocalizedText"] + class Primitives1(object): SByte = 0 Int16 = 0 @@ -26,18 +27,18 @@ class Primitives(Primitives1): DateTime = 0 - class CodeGenerator(object): def __init__(self, model, output): self.model = model self.output_path = output - self.indent = " " + self.output_file = None + self.indent = ' ' self.iidx = 0 # indent index def run(self): - print("Writting python protocol code to ", self.output_path) - self.output_file = open(self.output_path, "w") + print('Writting python protocol code to ', self.output_path) + self.output_file = open(self.output_path, 'w') self.make_header() for enum in self.model.enums: if enum.name not in IgnoredEnums: @@ -45,7 +46,7 @@ def run(self): for struct in self.model.structs: if struct.name in IgnoredStructs: continue - if struct.name.endswith("Node") or struct.name.endswith("NodeId"): + if struct.name.endswith('Node') or struct.name.endswith('NodeId'): continue self.generate_struct_code(struct) @@ -55,12 +56,12 @@ def run(self): for struct in self.model.structs: if struct.name in IgnoredStructs: continue - if struct.name.endswith("Node") or struct.name.endswith("NodeId"): + if struct.name.endswith('Node') or struct.name.endswith('NodeId'): continue - if "ExtensionObject" in struct.parents: - self.write("nid = FourByteNodeId(ObjectIds.{0}_Encoding_DefaultBinary)".format(struct.name)) - self.write("extension_object_classes[nid] = {0}".format(struct.name)) - self.write("extension_object_ids['{0}'] = nid".format(struct.name)) + if 'ExtensionObject' in struct.parents: + self.write(f"nid = FourByteNodeId(ObjectIds.{struct.name}_Encoding_DefaultBinary)") + self.write(f"extension_object_classes[nid] = {struct.name}") + self.write(f"extension_object_ids['{struct.name}'] = nid") def write(self, line): if line: @@ -68,59 +69,59 @@ def write(self, line): self.output_file.write(line + "\n") def make_header(self): - self.write("'''") - self.write("Autogenerate code from xml spec") - self.write("'''") - self.write("") - self.write("from datetime import datetime") - self.write("from enum import IntEnum") - self.write("") - #self.write("from opcua.ua.uaerrors import UaError") - self.write("from opcua.ua.uatypes import *") - self.write("from opcua.ua.object_ids import ObjectIds") + self.write('"""') + self.write('Autogenerate code from xml spec') + self.write('"""') + self.write('') + self.write('from datetime import datetime') + self.write('from enum import IntEnum') + self.write('') + #self.write('from opcua.ua.uaerrors import UaError') + self.write('from opcua.ua.uatypes import *') + self.write('from opcua.ua.object_ids import ObjectIds') def generate_enum_code(self, enum): - self.write("") - self.write("") - self.write("class {}(IntEnum):".format(enum.name)) + self.write('') + self.write('') + self.write(f'class {enum.name}(IntEnum):') self.iidx = 1 - self.write("'''") + self.write('"""') if enum.doc: self.write(enum.doc) self.write("") for val in enum.values: - self.write(":ivar {}:".format(val.name)) - self.write(":vartype {}: {}".format(val.name, val.value)) - self.write("'''") + self.write(f':ivar {val.name}:') + self.write(f':vartype {val.name}: {val.value}') + self.write('"""') for val in enum.values: - self.write("{} = {}".format(val.name, val.value)) + self.write(f'{val.name} = {val.value}') self.iidx = 0 def generate_struct_code(self, obj): - self.write("") - self.write("") + self.write('') + self.write('') self.iidx = 0 - self.write("class {}(FrozenClass):".format(obj.name)) + self.write(f'class {obj.name}(FrozenClass):') self.iidx += 1 - self.write("'''") + self.write('"""') if obj.doc: self.write(obj.doc) self.write("") for field in obj.fields: - self.write(":ivar {}:".format(field.name)) - self.write(":vartype {}: {}".format(field.name, field.uatype)) - self.write("'''") + self.write(f':ivar {field.name}:') + self.write(f':vartype {field.name}: {field.uatype}') + self.write('"""') - self.write("") + self.write('') switch_written = False for field in obj.fields: if field.switchfield is not None: if not switch_written: - self.write("ua_switches = {") + self.write('ua_switches = {') switch_written = True bit = obj.bits[field.switchfield] - self.write(" '{}': ('{}', {}),".format(field.name, bit.container, bit.idx)) + self.write(f" '{field.name}': ('{bit.container}', {bit.idx}),") #if field.switchvalue is not None: Not sure we need to handle that one if switch_written: self.write(" }") @@ -130,7 +131,7 @@ def generate_struct_code(self, obj): uatype = prefix + field.uatype if uatype == "ListOfChar": uatype = "String" - self.write(" ('{}', '{}'),".format(field.name, uatype)) + self.write(f" ('{field.name}', '{uatype}'),") self.write(" ]") self.write("") @@ -148,9 +149,9 @@ def generate_struct_code(self, obj): elif field.uatype == obj.name: # help!!! selv referencing class self.write("self.{} = None".format(field.name)) elif not obj.name in ("ExtensionObject") and field.name == "TypeId": # and ( obj.name.endswith("Request") or obj.name.endswith("Response")): - self.write("self.TypeId = FourByteNodeId(ObjectIds.{}_Encoding_DefaultBinary)".format(obj.name)) + self.write(f"self.TypeId = FourByteNodeId(ObjectIds.{obj.name}_Encoding_DefaultBinary)") else: - self.write("self.{} = {}".format(field.name, "[]" if field.length else self.get_default_value(field))) + self.write(f"self.{field.name} = {'[]' if field.length else self.get_default_value(field)}") self.write("self._freeze = True") self.iidx = 1 @@ -158,9 +159,12 @@ def generate_struct_code(self, obj): self.write("") self.write("def __str__(self):") self.iidx += 1 - tmp = ["'{name}:' + str(self.{name})".format(name=f.name) for f in obj.fields] - tmp = " + ', ' + \\\n ".join(tmp) - self.write("return '{}(' + {} + ')'".format(obj.name, tmp)) + tmp = [f"{f.name}:{{self.{f.name}}}" for f in obj.fields] + tmp = ", ".join(tmp) + if tmp: + self.write(f"return f'{obj.name}({tmp})'") + else: + self.write(f"return '{obj.name}()'") self.iidx -= 1 self.write("") self.write("__repr__ = __str__") @@ -168,7 +172,7 @@ def generate_struct_code(self, obj): self.iix = 0 def write_unpack_enum(self, name, enum): - self.write("self.{} = {}(uabin.Primitives.{}.unpack(data))".format(name, enum.name, enum.uatype)) + self.write(f"self.{name} = {enum.name}(uabin.Primitives.{enum.uatype}.unpack(data))") def get_size_from_uatype(self, uatype): if uatype in ("Sbyte", "Byte", "Char", "Boolean"): @@ -180,22 +184,22 @@ def get_size_from_uatype(self, uatype): elif uatype in ("Int64", "UInt64", "Double"): return 8 else: - raise Exception("Cannot get size from type {}".format(uatype)) + raise Exception(f"Cannot get size from type {uatype}") def write_unpack_uatype(self, name, uatype): if hasattr(Primitives, uatype): - self.write("self.{} = uabin.Primitives.{}.unpack(data)".format(name, uatype)) + self.write(f"self.{name} = uabin.Primitives.{uatype}.unpack(data)") else: - self.write("self.{} = {}.from_binary(data))".format(name, uatype)) + self.write(f"self.{name} = {uatype}.from_binary(data))") def write_pack_enum(self, listname, name, enum): - self.write("{}.append(uabin.Primitives.{}.pack({}.value))".format(listname, enum.uatype, name)) + self.write(f"{listname}.append(uabin.Primitives.{enum.uatype}.pack({name}.value))") def write_pack_uatype(self, listname, name, uatype): if hasattr(Primitives, uatype): - self.write("{}.append(uabin.Primitives.{}.pack({}))".format(listname, uatype, name)) + self.write(f"{listname}.append(uabin.Primitives.{uatype}.pack({name}))") else: - self.write("{}.append({}.to_binary(}))".format(listname, name)) + self.write(f"{listname}.append({name}.to_binary())") return def get_default_value(self, field): @@ -203,27 +207,28 @@ def get_default_value(self, field): return None if field.uatype in self.model.enum_list: enum = self.model.get_enum(field.uatype) - return enum.name + "(0)" - if field.uatype in ("String"): + return f'{enum.name}(0)' + if field.uatype == 'String': return None - elif field.uatype in ("ByteString", "CharArray", "Char"): + elif field.uatype in ('ByteString', 'CharArray', 'Char'): return None - elif field.uatype in ("Boolean"): - return "True" - elif field.uatype in ("DateTime"): - return "datetime.utcnow()" - elif field.uatype in ("Int16", "Int32", "Int64", "UInt16", "UInt32", "UInt64", "Double", "Float", "Byte"): + elif field.uatype == 'Boolean': + return 'True' + elif field.uatype == 'DateTime': + return 'datetime.utcnow()' + elif field.uatype in ('Int16', 'Int32', 'Int64', 'UInt16', 'UInt32', 'UInt64', 'Double', 'Float', 'Byte'): return 0 - elif field.uatype in ("ExtensionObject"): - return "ExtensionObject()" + elif field.uatype in 'ExtensionObject': + return 'ExtensionObject()' else: - return field.uatype + "()" + return f'{field.uatype}()' + -if __name__ == "__main__": +if __name__ == '__main__': import generate_model as gm - xmlpath = "Opc.Ua.Types.bsd" - protocolpath = "../opcua/ua/uaprotocol_auto.py" - p = gm.Parser(xmlpath) + xml_path = 'Opc.Ua.Types.bsd' + protocol_path = '../opcua/ua/uaprotocol_auto.py' + p = gm.Parser(xml_path) model = p.parse() gm.add_basetype_members(model) gm.add_encoding_field(model) @@ -232,5 +237,5 @@ def get_default_value(self, field): gm.split_requests(model) gm.fix_names(model) gm.remove_duplicate_types(model) - c = CodeGenerator(model, protocolpath) + c = CodeGenerator(model, protocol_path) c.run() From 6e01f04e2855cdd27b33a7ab080ab964a87c1b11 Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Sun, 25 Mar 2018 11:51:29 +0200 Subject: [PATCH 016/113] [ADD] refactor auto code generation --- examples/client-minimal.py | 3 + opcua/common/xmlparser.py | 4 +- .../standard_address_space_part3.py | 7 +- .../standard_address_space_part4.py | 343 +- .../standard_address_space_part5.py | 752 +- .../standard_address_space_part8.py | 318 +- .../standard_address_space_part9.py | 68 +- opcua/ua/uaprotocol_auto.py | 171 +- opcua/ua/uaprotocol_hand.py | 95 +- opcua/ua/uatypes.py | 68 +- schemas/AttributeIds.csv | 44 +- schemas/NodeIds.csv | 11492 +-- schemas/OPCBinarySchema.xsd | 267 +- schemas/Opc.Ua.Adi.NodeSet2.xml | 35 +- schemas/Opc.Ua.Adi.Types.bsd | 32 +- schemas/Opc.Ua.Adi.Types.xsd | 32 +- schemas/Opc.Ua.Di.NodeSet2.xml | 711 +- schemas/Opc.Ua.Di.Types.bsd | 52 +- schemas/Opc.Ua.Di.Types.xsd | 50 +- schemas/Opc.Ua.Endpoints.wsdl | 1140 +- schemas/Opc.Ua.NodeSet2.Part10.xml | 1693 +- schemas/Opc.Ua.NodeSet2.Part11.xml | 1615 +- schemas/Opc.Ua.NodeSet2.Part13.xml | 717 +- schemas/Opc.Ua.NodeSet2.Part3.xml | 2234 +- schemas/Opc.Ua.NodeSet2.Part4.xml | 6069 +- schemas/Opc.Ua.NodeSet2.Part5.xml | 34122 +++++---- schemas/Opc.Ua.NodeSet2.Part8.xml | 1121 +- schemas/Opc.Ua.NodeSet2.Part9.xml | 4136 +- schemas/Opc.Ua.NodeSet2.xml | 63343 ++++++++-------- schemas/Opc.Ua.Services.wsdl | 1298 +- schemas/Opc.Ua.Types.bsd | 4769 +- schemas/Opc.Ua.Types.xsd | 7832 +- schemas/SecuredApplication.xsd | 241 +- schemas/StatusCodes.csv | 452 +- schemas/UANodeSet.xsd | 867 +- schemas/download.py | 22 +- schemas/generate_address_space.py | 157 +- schemas/generate_model.py | 305 +- schemas/generate_protocol_python.py | 8 +- 39 files changed, 73220 insertions(+), 73465 deletions(-) diff --git a/examples/client-minimal.py b/examples/client-minimal.py index d1271e6f9..3a9b79c82 100644 --- a/examples/client-minimal.py +++ b/examples/client-minimal.py @@ -1,3 +1,5 @@ +import os +#os.environ['PYOPCUA_NO_TYPO_CHECK'] = 'True' import asyncio import logging @@ -8,6 +10,7 @@ _logger = logging.getLogger('opcua') + async def browse_nodes(node: Node): """ Build a nested node tree dict by recursion (filtered by OPC UA objects and variables). diff --git a/opcua/common/xmlparser.py b/opcua/common/xmlparser.py index f679d349f..b934a2a84 100644 --- a/opcua/common/xmlparser.py +++ b/opcua/common/xmlparser.py @@ -62,7 +62,7 @@ def __init__(self): self.definition = [] def __str__(self): - return "NodeData(nodeid:{0})".format(self.nodeid) + return f"NodeData(nodeid:{self.nodeid})" __repr__ = __str__ @@ -83,7 +83,7 @@ def __init__(self): self.body = {} def __str__(self): - return "ExtObj({0}, {1})".format(self.objname, self.body) + return f"ExtObj({self.objname}, {self.body})" __repr__ = __str__ diff --git a/opcua/server/standard_address_space/standard_address_space_part3.py b/opcua/server/standard_address_space/standard_address_space_part3.py index 3791312b6..af01cbccd 100644 --- a/opcua/server/standard_address_space/standard_address_space_part3.py +++ b/opcua/server/standard_address_space/standard_address_space_part3.py @@ -622,7 +622,6 @@ def create_standard_address_space_Part3(server): attrs = ua.ReferenceTypeAttributes() attrs.Description = ua.LocalizedText("The abstract base type for all references.") attrs.DisplayName = ua.LocalizedText("References") - attrs.InverseName = ua.LocalizedText("References") attrs.IsAbstract = True attrs.Symmetric = True node.NodeAttributes = attrs @@ -854,7 +853,7 @@ def create_standard_address_space_Part3(server): node.RequestedNewNodeId = ua.NodeId.from_string("i=3065") node.BrowseName = ua.QualifiedName.from_string("AlwaysGeneratesEvent") node.NodeClass = ua.NodeClass.ReferenceType - node.ParentNodeId = ua.NodeId.from_string("i=32") + node.ParentNodeId = ua.NodeId.from_string("i=41") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ReferenceTypeAttributes() attrs.Description = ua.LocalizedText("The type for references from a node to an event type that is always raised by node.") @@ -868,7 +867,7 @@ def create_standard_address_space_Part3(server): ref.ReferenceTypeId = ua.NodeId.from_string("i=45") ref.SourceNodeId = ua.NodeId.from_string("i=3065") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=32") + ref.TargetNodeId = ua.NodeId.from_string("i=41") refs.append(ref) server.add_references(refs) @@ -903,7 +902,7 @@ def create_standard_address_space_Part3(server): attrs = ua.ReferenceTypeAttributes() attrs.Description = ua.LocalizedText("The type for non-looping hierarchical references that are used to define sub types.") attrs.DisplayName = ua.LocalizedText("HasSubtype") - attrs.InverseName = ua.LocalizedText("HasSupertype") + attrs.InverseName = ua.LocalizedText("SubtypeOf") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] diff --git a/opcua/server/standard_address_space/standard_address_space_part4.py b/opcua/server/standard_address_space/standard_address_space_part4.py index 36ba82ae0..de982be26 100644 --- a/opcua/server/standard_address_space/standard_address_space_part4.py +++ b/opcua/server/standard_address_space/standard_address_space_part4.py @@ -348,7 +348,7 @@ def create_standard_address_space_Part4(server): attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EnumStrings") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.Value = [ua.LocalizedText("Anonymous"),ua.LocalizedText("UserName"),ua.LocalizedText("Certificate"),ua.LocalizedText("IssuedToken"),ua.LocalizedText("Kerberos")] + attrs.Value = [ua.LocalizedText("Anonymous"),ua.LocalizedText("UserName"),ua.LocalizedText("Certificate"),ua.LocalizedText("IssuedToken")] attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -673,26 +673,6 @@ def create_standard_address_space_Part4(server): refs.append(ref) server.add_references(refs) - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12504") - node.BrowseName = ua.QualifiedName.from_string("KerberosIdentityToken") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=316") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("KerberosIdentityToken") - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=12504") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=316") - refs.append(ref) - server.add_references(refs) - node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=938") node.BrowseName = ua.QualifiedName.from_string("IssuedIdentityToken") @@ -1374,111 +1354,6 @@ def create_standard_address_space_Part4(server): refs.append(ref) server.add_references(refs) - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=334") - node.BrowseName = ua.QualifiedName.from_string("ComplianceLevel") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=29") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ComplianceLevel") - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=334") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7599") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=334") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=29") - refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7599") - node.BrowseName = ua.QualifiedName.from_string("EnumStrings") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=334") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EnumStrings") - attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.Value = [ua.LocalizedText("Untested"),ua.LocalizedText("Partial"),ua.LocalizedText("SelfTested"),ua.LocalizedText("Certified")] - attrs.ValueRank = 1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7599") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=7599") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=7599") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=334") - refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=335") - node.BrowseName = ua.QualifiedName.from_string("SupportedProfile") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("SupportedProfile") - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=335") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") - refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=341") - node.BrowseName = ua.QualifiedName.from_string("SoftwareCertificate") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("SoftwareCertificate") - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=341") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") - refs.append(ref) - server.add_references(refs) - node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=576") node.BrowseName = ua.QualifiedName.from_string("FilterOperator") @@ -2380,42 +2255,6 @@ def create_standard_address_space_Part4(server): refs.append(ref) server.add_references(refs) - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12505") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=12504") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") - attrs.EventNotifier = 0 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=12505") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12504") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=12505") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12506") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12505") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") - refs.append(ref) - server.add_references(refs) - node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=939") node.BrowseName = ua.QualifiedName.from_string("Default XML") @@ -2704,78 +2543,6 @@ def create_standard_address_space_Part4(server): refs.append(ref) server.add_references(refs) - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=336") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=335") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") - attrs.EventNotifier = 0 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=336") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=335") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=336") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8324") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=336") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") - refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=342") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=341") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") - attrs.EventNotifier = 0 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=342") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=341") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=342") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8330") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=342") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") - refs.append(ref) - server.add_references(refs) - node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=584") node.BrowseName = ua.QualifiedName.from_string("Default XML") @@ -3640,42 +3407,6 @@ def create_standard_address_space_Part4(server): refs.append(ref) server.add_references(refs) - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12509") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=12504") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") - attrs.EventNotifier = 0 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=12509") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12504") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=12509") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12510") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12509") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") - refs.append(ref) - server.add_references(refs) - node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=940") node.BrowseName = ua.QualifiedName.from_string("Default Binary") @@ -3964,78 +3695,6 @@ def create_standard_address_space_Part4(server): refs.append(ref) server.add_references(refs) - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=337") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=335") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") - attrs.EventNotifier = 0 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=337") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=335") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=337") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7689") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=337") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") - refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=343") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=341") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") - attrs.EventNotifier = 0 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=343") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=341") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=343") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7695") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=343") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") - refs.append(ref) - server.add_references(refs) - node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=585") node.BrowseName = ua.QualifiedName.from_string("Default Binary") diff --git a/opcua/server/standard_address_space/standard_address_space_part5.py b/opcua/server/standard_address_space/standard_address_space_part5.py index 856ee91a6..7ce0e5b08 100644 --- a/opcua/server/standard_address_space/standard_address_space_part5.py +++ b/opcua/server/standard_address_space/standard_address_space_part5.py @@ -3618,7 +3618,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'SubscriptionId' + extobj.Name = SubscriptionId extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -3662,12 +3662,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'ServerHandles' + extobj.Name = ServerHandles extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = 1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'ClientHandles' + extobj.Name = ClientHandles extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = 1 value.append(extobj) @@ -3745,7 +3745,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'SubscriptionId' + extobj.Name = SubscriptionId extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -3830,12 +3830,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'SubscriptionId' + extobj.Name = SubscriptionId extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'LifetimeInHours' + extobj.Name = LifetimeInHours extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -3879,7 +3879,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'RevisedLifetimeInHours' + extobj.Name = RevisedLifetimeInHours extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -3957,27 +3957,27 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'State' + extobj.Name = State extobj.DataType = ua.NodeId.from_string("i=852") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'EstimatedReturnTime' + extobj.Name = EstimatedReturnTime extobj.DataType = ua.NodeId.from_string("i=13") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'SecondsTillShutdown' + extobj.Name = SecondsTillShutdown extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Reason' + extobj.Name = Reason extobj.DataType = ua.NodeId.from_string("i=21") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Restart' + extobj.Name = Restart extobj.DataType = ua.NodeId.from_string("i=1") extobj.ValueRank = -1 value.append(extobj) @@ -5644,13 +5644,13 @@ def create_standard_address_space_Part5(server): node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12097") - node.BrowseName = ua.QualifiedName.from_string("") + node.BrowseName = ua.QualifiedName.from_string("") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2026") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2029") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("") + attrs.DisplayName = ua.LocalizedText("") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -10883,7 +10883,7 @@ def create_standard_address_space_Part5(server): node.RequestedNewNodeId = ua.NodeId.from_string("i=11564") node.BrowseName = ua.QualifiedName.from_string("OperationLimitsType") node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=58") + node.ParentNodeId = ua.NodeId.from_string("i=61") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.Description = ua.LocalizedText("Identifies the operation limits imposed by the server.") @@ -10981,7 +10981,7 @@ def create_standard_address_space_Part5(server): ref.ReferenceTypeId = ua.NodeId.from_string("i=45") ref.SourceNodeId = ua.NodeId.from_string("i=11564") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=58") + ref.TargetNodeId = ua.NodeId.from_string("i=61") refs.append(ref) server.add_references(refs) @@ -11783,7 +11783,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'Mode' + extobj.Name = Mode extobj.DataType = ua.NodeId.from_string("i=3") extobj.ValueRank = -1 value.append(extobj) @@ -11827,7 +11827,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -11905,7 +11905,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -11990,12 +11990,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Length' + extobj.Name = Length extobj.DataType = ua.NodeId.from_string("i=6") extobj.ValueRank = -1 value.append(extobj) @@ -12039,7 +12039,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'Data' + extobj.Name = Data extobj.DataType = ua.NodeId.from_string("i=15") extobj.ValueRank = -1 value.append(extobj) @@ -12117,12 +12117,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Data' + extobj.Name = Data extobj.DataType = ua.NodeId.from_string("i=15") extobj.ValueRank = -1 value.append(extobj) @@ -12207,7 +12207,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -12251,7 +12251,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'Position' + extobj.Name = Position extobj.DataType = ua.NodeId.from_string("i=9") extobj.ValueRank = -1 value.append(extobj) @@ -12329,12 +12329,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Position' + extobj.Name = Position extobj.DataType = ua.NodeId.from_string("i=9") extobj.ValueRank = -1 value.append(extobj) @@ -12546,7 +12546,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'DirectoryName' + extobj.Name = DirectoryName extobj.DataType = ua.NodeId.from_string("i=12") extobj.ValueRank = -1 value.append(extobj) @@ -12590,7 +12590,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'DirectoryNodeId' + extobj.Name = DirectoryNodeId extobj.DataType = ua.NodeId.from_string("i=17") extobj.ValueRank = -1 value.append(extobj) @@ -12675,12 +12675,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileName' + extobj.Name = FileName extobj.DataType = ua.NodeId.from_string("i=12") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'RequestFileOpen' + extobj.Name = RequestFileOpen extobj.DataType = ua.NodeId.from_string("i=1") extobj.ValueRank = -1 value.append(extobj) @@ -12724,12 +12724,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileNodeId' + extobj.Name = FileNodeId extobj.DataType = ua.NodeId.from_string("i=17") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -12807,7 +12807,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'ObjectToDelete' + extobj.Name = ObjectToDelete extobj.DataType = ua.NodeId.from_string("i=17") extobj.ValueRank = -1 value.append(extobj) @@ -12892,22 +12892,22 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'ObjectToMoveOrCopy' + extobj.Name = ObjectToMoveOrCopy extobj.DataType = ua.NodeId.from_string("i=17") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'TargetDirectory' + extobj.Name = TargetDirectory extobj.DataType = ua.NodeId.from_string("i=17") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'CreateCopy' + extobj.Name = CreateCopy extobj.DataType = ua.NodeId.from_string("i=1") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'NewName' + extobj.Name = NewName extobj.DataType = ua.NodeId.from_string("i=12") extobj.ValueRank = -1 value.append(extobj) @@ -12951,7 +12951,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'NewNodeId' + extobj.Name = NewNodeId extobj.DataType = ua.NodeId.from_string("i=17") extobj.ValueRank = -1 value.append(extobj) @@ -13294,7 +13294,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'Mode' + extobj.Name = Mode extobj.DataType = ua.NodeId.from_string("i=3") extobj.ValueRank = -1 value.append(extobj) @@ -13338,7 +13338,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -13416,7 +13416,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -13501,12 +13501,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Length' + extobj.Name = Length extobj.DataType = ua.NodeId.from_string("i=6") extobj.ValueRank = -1 value.append(extobj) @@ -13550,7 +13550,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'Data' + extobj.Name = Data extobj.DataType = ua.NodeId.from_string("i=15") extobj.ValueRank = -1 value.append(extobj) @@ -13628,12 +13628,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Data' + extobj.Name = Data extobj.DataType = ua.NodeId.from_string("i=15") extobj.ValueRank = -1 value.append(extobj) @@ -13718,7 +13718,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -13762,7 +13762,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'Position' + extobj.Name = Position extobj.DataType = ua.NodeId.from_string("i=9") extobj.ValueRank = -1 value.append(extobj) @@ -13840,12 +13840,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Position' + extobj.Name = Position extobj.DataType = ua.NodeId.from_string("i=9") extobj.ValueRank = -1 value.append(extobj) @@ -13930,7 +13930,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'DirectoryName' + extobj.Name = DirectoryName extobj.DataType = ua.NodeId.from_string("i=12") extobj.ValueRank = -1 value.append(extobj) @@ -13974,7 +13974,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'DirectoryNodeId' + extobj.Name = DirectoryNodeId extobj.DataType = ua.NodeId.from_string("i=17") extobj.ValueRank = -1 value.append(extobj) @@ -14059,12 +14059,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileName' + extobj.Name = FileName extobj.DataType = ua.NodeId.from_string("i=12") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'RequestFileOpen' + extobj.Name = RequestFileOpen extobj.DataType = ua.NodeId.from_string("i=1") extobj.ValueRank = -1 value.append(extobj) @@ -14108,12 +14108,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileNodeId' + extobj.Name = FileNodeId extobj.DataType = ua.NodeId.from_string("i=17") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -14191,7 +14191,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'ObjectToDelete' + extobj.Name = ObjectToDelete extobj.DataType = ua.NodeId.from_string("i=17") extobj.ValueRank = -1 value.append(extobj) @@ -14276,22 +14276,22 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'ObjectToMoveOrCopy' + extobj.Name = ObjectToMoveOrCopy extobj.DataType = ua.NodeId.from_string("i=17") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'TargetDirectory' + extobj.Name = TargetDirectory extobj.DataType = ua.NodeId.from_string("i=17") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'CreateCopy' + extobj.Name = CreateCopy extobj.DataType = ua.NodeId.from_string("i=1") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'NewName' + extobj.Name = NewName extobj.DataType = ua.NodeId.from_string("i=12") extobj.ValueRank = -1 value.append(extobj) @@ -14335,7 +14335,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'NewNodeId' + extobj.Name = NewNodeId extobj.DataType = ua.NodeId.from_string("i=17") extobj.ValueRank = -1 value.append(extobj) @@ -14656,14 +14656,14 @@ def create_standard_address_space_Part5(server): node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11621") - node.BrowseName = ua.QualifiedName.from_string("StaticNodeIdIdentifierTypes") + node.BrowseName = ua.QualifiedName.from_string("StaticNodeIdTypes") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11616") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("A list of IdTypes for nodes which are the same in every server that exposes them.") - attrs.DisplayName = ua.LocalizedText("StaticNodeIdIdentifierTypes") + attrs.DisplayName = ua.LocalizedText("StaticNodeIdTypes") attrs.DataType = ua.NodeId.from_string("i=256") attrs.ValueRank = 1 node.NodeAttributes = attrs @@ -14741,7 +14741,7 @@ def create_standard_address_space_Part5(server): attrs.Description = ua.LocalizedText("A regular expression which matches string node ids are the same in every server that exposes them.") attrs.DisplayName = ua.LocalizedText("StaticStringNodeIdPattern") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.ValueRank = 1 + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] @@ -15080,7 +15080,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'Mode' + extobj.Name = Mode extobj.DataType = ua.NodeId.from_string("i=3") extobj.ValueRank = -1 value.append(extobj) @@ -15124,7 +15124,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -15202,7 +15202,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -15287,12 +15287,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Length' + extobj.Name = Length extobj.DataType = ua.NodeId.from_string("i=6") extobj.ValueRank = -1 value.append(extobj) @@ -15336,7 +15336,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'Data' + extobj.Name = Data extobj.DataType = ua.NodeId.from_string("i=15") extobj.ValueRank = -1 value.append(extobj) @@ -15414,12 +15414,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Data' + extobj.Name = Data extobj.DataType = ua.NodeId.from_string("i=15") extobj.ValueRank = -1 value.append(extobj) @@ -15504,7 +15504,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -15548,7 +15548,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'Position' + extobj.Name = Position extobj.DataType = ua.NodeId.from_string("i=9") extobj.ValueRank = -1 value.append(extobj) @@ -15626,12 +15626,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Position' + extobj.Name = Position extobj.DataType = ua.NodeId.from_string("i=9") extobj.ValueRank = -1 value.append(extobj) @@ -15938,14 +15938,14 @@ def create_standard_address_space_Part5(server): node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11651") - node.BrowseName = ua.QualifiedName.from_string("StaticNodeIdIdentifierTypes") + node.BrowseName = ua.QualifiedName.from_string("StaticNodeIdTypes") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11646") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("A list of IdTypes for nodes which are the same in every server that exposes them.") - attrs.DisplayName = ua.LocalizedText("StaticNodeIdIdentifierTypes") + attrs.DisplayName = ua.LocalizedText("StaticNodeIdTypes") attrs.DataType = ua.NodeId.from_string("i=256") attrs.ValueRank = 1 node.NodeAttributes = attrs @@ -16023,7 +16023,7 @@ def create_standard_address_space_Part5(server): attrs.Description = ua.LocalizedText("A regular expression which matches string node ids are the same in every server that exposes them.") attrs.DisplayName = ua.LocalizedText("StaticStringNodeIdPattern") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.ValueRank = 1 + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] @@ -16362,7 +16362,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'Mode' + extobj.Name = Mode extobj.DataType = ua.NodeId.from_string("i=3") extobj.ValueRank = -1 value.append(extobj) @@ -16406,7 +16406,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -16484,7 +16484,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -16569,12 +16569,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Length' + extobj.Name = Length extobj.DataType = ua.NodeId.from_string("i=6") extobj.ValueRank = -1 value.append(extobj) @@ -16618,7 +16618,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'Data' + extobj.Name = Data extobj.DataType = ua.NodeId.from_string("i=15") extobj.ValueRank = -1 value.append(extobj) @@ -16696,12 +16696,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Data' + extobj.Name = Data extobj.DataType = ua.NodeId.from_string("i=15") extobj.ValueRank = -1 value.append(extobj) @@ -16786,7 +16786,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -16830,7 +16830,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'Position' + extobj.Name = Position extobj.DataType = ua.NodeId.from_string("i=9") extobj.ValueRank = -1 value.append(extobj) @@ -16908,12 +16908,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Position' + extobj.Name = Position extobj.DataType = ua.NodeId.from_string("i=9") extobj.ValueRank = -1 value.append(extobj) @@ -32257,6 +32257,13 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=11715") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15182") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") ref.SourceNodeId = ua.NodeId.from_string("i=11715") ref.TargetNodeClass = ua.NodeClass.DataType @@ -32271,6 +32278,305 @@ def create_standard_address_space_Part5(server): refs.append(ref) server.add_references(refs) + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15182") + node.BrowseName = ua.QualifiedName.from_string("0:http://opcfoundation.org/UA/") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=11715") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=11616") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("http://opcfoundation.org/UA/") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15182") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15183") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15182") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15184") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15182") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15185") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15182") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15186") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15182") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15187") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15182") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15188") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15182") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15189") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15182") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11616") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15182") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11715") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15183") + node.BrowseName = ua.QualifiedName.from_string("NamespaceUri") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15182") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.Description = ua.LocalizedText("The URI of the namespace.") + attrs.DisplayName = ua.LocalizedText("NamespaceUri") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("http://opcfoundation.org/UA/", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15183") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15183") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15182") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15184") + node.BrowseName = ua.QualifiedName.from_string("NamespaceVersion") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15182") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.Description = ua.LocalizedText("The human readable string representing version of the namespace.") + attrs.DisplayName = ua.LocalizedText("NamespaceVersion") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("1.03", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15184") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15184") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15182") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15185") + node.BrowseName = ua.QualifiedName.from_string("NamespacePublicationDate") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15182") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.Description = ua.LocalizedText("The publication date for the namespace.") + attrs.DisplayName = ua.LocalizedText("NamespacePublicationDate") + attrs.DataType = ua.NodeId(ua.ObjectIds.DateTime) + attrs.Value = ua.Variant("2016-04-15", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15185") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15185") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15182") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15186") + node.BrowseName = ua.QualifiedName.from_string("IsNamespaceSubset") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15182") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.Description = ua.LocalizedText("If TRUE then the server only supports a subset of the namespace.") + attrs.DisplayName = ua.LocalizedText("IsNamespaceSubset") + attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) + attrs.Value = ua.Variant(False, ua.VariantType.Boolean) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15186") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15186") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15182") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15187") + node.BrowseName = ua.QualifiedName.from_string("StaticNodeIdTypes") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15182") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.Description = ua.LocalizedText("A list of IdTypes for nodes which are the same in every server that exposes them.") + attrs.DisplayName = ua.LocalizedText("StaticNodeIdTypes") + attrs.DataType = ua.NodeId.from_string("i=256") + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15187") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15187") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15182") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15188") + node.BrowseName = ua.QualifiedName.from_string("StaticNumericNodeIdRange") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15182") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.Description = ua.LocalizedText("A list of ranges for numeric node ids which are the same in every server that exposes them.") + attrs.DisplayName = ua.LocalizedText("StaticNumericNodeIdRange") + attrs.DataType = ua.NodeId.from_string("i=291") + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15188") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15188") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15182") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15189") + node.BrowseName = ua.QualifiedName.from_string("StaticStringNodeIdPattern") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15182") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.Description = ua.LocalizedText("A regular expression which matches string node ids are the same in every server that exposes them.") + attrs.DisplayName = ua.LocalizedText("StaticStringNodeIdPattern") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15189") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15189") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15182") + refs.append(ref) + server.add_references(refs) + node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11492") node.BrowseName = ua.QualifiedName.from_string("GetMonitoredItems") @@ -32317,7 +32623,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'SubscriptionId' + extobj.Name = SubscriptionId extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -32354,12 +32660,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'ServerHandles' + extobj.Name = ServerHandles extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = 1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'ClientHandles' + extobj.Name = ClientHandles extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = 1 value.append(extobj) @@ -32423,7 +32729,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'SubscriptionId' + extobj.Name = SubscriptionId extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -32494,12 +32800,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'SubscriptionId' + extobj.Name = SubscriptionId extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'LifetimeInHours' + extobj.Name = LifetimeInHours extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -32536,7 +32842,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'RevisedLifetimeInHours' + extobj.Name = RevisedLifetimeInHours extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -32600,27 +32906,27 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'State' + extobj.Name = State extobj.DataType = ua.NodeId.from_string("i=852") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'EstimatedReturnTime' + extobj.Name = EstimatedReturnTime extobj.DataType = ua.NodeId.from_string("i=13") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'SecondsTillShutdown' + extobj.Name = SecondsTillShutdown extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Reason' + extobj.Name = Reason extobj.DataType = ua.NodeId.from_string("i=21") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Restart' + extobj.Name = Restart extobj.DataType = ua.NodeId.from_string("i=1") extobj.ValueRank = -1 value.append(extobj) @@ -33313,7 +33619,7 @@ def create_standard_address_space_Part5(server): node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("FiniteStateMachineType") - attrs.IsAbstract = False + attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] @@ -35105,7 +35411,7 @@ def create_standard_address_space_Part5(server): attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Opc.Ua") attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) - attrs.Value = ua.Variant(b'\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n true\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n true\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n true\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The type of identifier used in a node id.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A mask specifying the class of the node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to all nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to object nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to object type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to variable nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to variable type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to reference type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to method nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies a reference which belongs to a node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n An argument for a method.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A mapping between a value of an enumerated type and a name and description.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n This abstract DataType is the base DataType for all union DataTypes.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n The types of applications.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Describes an application and how to find it.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The header passed with every server request.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The header passed with every server response.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The response returned by all services when there is a service level error.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Finds the servers known to the discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Finds the servers known to the discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n The type of security to use on a message.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The possible user token types.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Describes a user token that can be used with a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The description of a endpoint that can be used to access a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Gets the endpoints used by the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Gets the endpoints used by the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The information required to register a server with a discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Registers a server with the discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Registers a server with the discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A base type for discovery configuration information.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The discovery information needed for mDNS registration.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Indicates whether a token if being created or renewed.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The token that identifies a set of keys for an active secure channel.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Creates a secure channel with a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Creates a secure channel with a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Closes a secure channel.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Closes a secure channel.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A software certificate with a digital signature.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n A digital signature.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Creates a new session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Creates a new session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A base type for a user identity token.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A token representing an anonymous user.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A token representing a user identified by a user name and password.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A token representing a user identified by an X509 certificate.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A token representing a user identified by a WS-Security XML token.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Activates a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Activates a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Closes a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Closes a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Cancels an outstanding request.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Cancels an outstanding request.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The bits used to specify default attributes for a new node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The base attributes for all nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for an object node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a variable node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a method node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for an object type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a variable type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a reference type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a data type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a view node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to add a node to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A result of an add node operation.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Adds one or more nodes to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Adds one or more nodes to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to add a reference to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Adds one or more references to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Adds one or more references to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to delete a node to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Delete one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Delete one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to delete a node from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Delete one or more references from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Delete one or more references from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Define bits used to indicate which attributes are writable.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The directions of the references to return.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The view to browse.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to browse the the references from a node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A bit mask which specifies what should be returned in a browse response.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The description of a reference.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n The result of a browse operation.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Browse the references for one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Browse the references for one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Continues one or more browse operations.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Continues one or more browse operations.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n An element in a relative path.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A relative path constructed from reference types and browse names.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to translate a path into a node id.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The target of the translated path.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The result of a translate opearation.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Translates one or more paths in the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Translates one or more paths in the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Registers one or more nodes for repeated use within a session.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Registers one or more nodes for repeated use within a session.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Unregisters one or more previously registered nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Unregisters one or more previously registered nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A simple enumerated type used for testing.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n', ua.VariantType.ByteString) + attrs.Value = ua.Variant(b'\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n true\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n true\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n true\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The type of identifier used in a node id.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A mask specifying the class of the node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to all nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to object nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to object type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to variable nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to variable type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to reference type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to method nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies a reference which belongs to a node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n An argument for a method.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A mapping between a value of an enumerated type and a name and description.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n This abstract DataType is the base DataType for all union DataTypes.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n The types of applications.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Describes an application and how to find it.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The header passed with every server request.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The header passed with every server response.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The response returned by all services when there is a service level error.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Finds the servers known to the discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Finds the servers known to the discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n The type of security to use on a message.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The possible user token types.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Describes a user token that can be used with a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The description of a endpoint that can be used to access a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Gets the endpoints used by the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Gets the endpoints used by the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The information required to register a server with a discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Registers a server with the discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Registers a server with the discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A base type for discovery configuration information.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The discovery information needed for mDNS registration.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Indicates whether a token if being created or renewed.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The token that identifies a set of keys for an active secure channel.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Creates a secure channel with a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Creates a secure channel with a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Closes a secure channel.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Closes a secure channel.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A software certificate with a digital signature.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n A digital signature.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Creates a new session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Creates a new session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A base type for a user identity token.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A token representing an anonymous user.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A token representing a user identified by a user name and password.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A token representing a user identified by an X509 certificate.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A token representing a user identified by a WS-Security XML token.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Activates a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Activates a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Closes a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Closes a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Cancels an outstanding request.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Cancels an outstanding request.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The bits used to specify default attributes for a new node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The base attributes for all nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for an object node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a variable node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a method node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for an object type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a variable type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a reference type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a data type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a view node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to add a node to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A result of an add node operation.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Adds one or more nodes to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Adds one or more nodes to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to add a reference to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Adds one or more references to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Adds one or more references to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to delete a node to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Delete one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Delete one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to delete a node from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Delete one or more references from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Delete one or more references from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Define bits used to indicate which attributes are writable.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The directions of the references to return.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The view to browse.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to browse the the references from a node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A bit mask which specifies what should be returned in a browse response.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The description of a reference.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n The result of a browse operation.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Browse the references for one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Browse the references for one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Continues one or more browse operations.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Continues one or more browse operations.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n An element in a relative path.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A relative path constructed from reference types and browse names.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to translate a path into a node id.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The target of the translated path.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The result of a translate opearation.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Translates one or more paths in the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Translates one or more paths in the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Registers one or more nodes for repeated use within a session.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Registers one or more nodes for repeated use within a session.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Unregisters one or more previously registered nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Unregisters one or more previously registered nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n', ua.VariantType.ByteString) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -35248,13 +35554,6 @@ def create_standard_address_space_Part5(server): ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12506") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8318") refs.append(ref) ref = ua.AddReferencesItem() @@ -35311,20 +35610,6 @@ def create_standard_address_space_Part5(server): ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8324") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8330") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8564") refs.append(ref) ref = ua.AddReferencesItem() @@ -36164,37 +36449,6 @@ def create_standard_address_space_Part5(server): refs.append(ref) server.add_references(refs) - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12506") - node.BrowseName = ua.QualifiedName.from_string("KerberosIdentityToken") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("KerberosIdentityToken") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='KerberosIdentityToken']", ua.VariantType.String) - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12506") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12506") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") - refs.append(ref) - server.add_references(refs) - node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8318") node.BrowseName = ua.QualifiedName.from_string("IssuedIdentityToken") @@ -36443,68 +36697,6 @@ def create_standard_address_space_Part5(server): refs.append(ref) server.add_references(refs) - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8324") - node.BrowseName = ua.QualifiedName.from_string("SupportedProfile") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SupportedProfile") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='SupportedProfile']", ua.VariantType.String) - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8324") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8324") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") - refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8330") - node.BrowseName = ua.QualifiedName.from_string("SoftwareCertificate") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SoftwareCertificate") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='SoftwareCertificate']", ua.VariantType.String) - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8330") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8330") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") - refs.append(ref) - server.add_references(refs) - node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8564") node.BrowseName = ua.QualifiedName.from_string("ContentFilterElement") @@ -38073,7 +38265,7 @@ def create_standard_address_space_Part5(server): attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Opc.Ua") attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) - attrs.Value = ua.Variant(b'\r\n \r\n\r\n \r\n\r\n \r\n An XML element encoded as a UTF-8 string.\r\n \r\n \r\n \r\n\r\n \r\n The possible encodings for a NodeId value.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n An identifier for a node in a UA server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n An identifier for a node in a UA server address space qualified with a complete namespace string.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A 32-bit status code value.\r\n \r\n\r\n \r\n A recursive structure containing diagnostic information associated with a status code.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A string qualified with a namespace index.\r\n \r\n \r\n \r\n\r\n \r\n A string qualified with a namespace index.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A value with an associated timestamp, and quality.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A serialized object prefixed with its data type identifier.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A union of several types.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n An image encoded in BMP format.\r\n \r\n\r\n \r\n An image encoded in GIF format.\r\n \r\n\r\n \r\n An image encoded in JPEG format.\r\n \r\n\r\n \r\n An image encoded in PNG format.\r\n \r\n\r\n \r\n A mask of 32 bits that can be updated individually by using the top 32 bits as a mask.\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The type of identifier used in a node id.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A mask specifying the class of the node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to all nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to object nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to object type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to variable nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to variable type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to reference type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to method nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies a reference which belongs to a node.\r\n \r\n \r\n \r\n \r\n\r\n \r\n An argument for a method.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A mapping between a value of an enumerated type and a name and description.\r\n \r\n \r\n \r\n \r\n\r\n \r\n This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask.\r\n \r\n \r\n \r\n\r\n \r\n This abstract DataType is the base DataType for all union DataTypes.\r\n \r\n\r\n \r\n A string normalized based on the rules in the unicode specification.\r\n \r\n\r\n \r\n An arbitraty numeric value.\r\n \r\n\r\n \r\n A period of time formatted as defined in ISO 8601-2000.\r\n \r\n\r\n \r\n A time formatted as defined in ISO 8601-2000.\r\n \r\n\r\n \r\n A date formatted as defined in ISO 8601-2000.\r\n \r\n\r\n \r\n A period of time measured in milliseconds.\r\n \r\n\r\n \r\n A date/time value specified in Universal Coordinated Time (UTC).\r\n \r\n\r\n \r\n An identifier for a user locale.\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n A numeric identifier for an object.\r\n \r\n\r\n \r\n The types of applications.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Describes an application and how to find it.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The header passed with every server request.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The header passed with every server response.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The response returned by all services when there is a service level error.\r\n \r\n \r\n\r\n \r\n Finds the servers known to the discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Finds the servers known to the discovery server.\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A certificate for an instance of an application.\r\n \r\n\r\n \r\n The type of security to use on a message.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The possible user token types.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Describes a user token that can be used with a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The description of a endpoint that can be used to access a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Gets the endpoints used by the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Gets the endpoints used by the server.\r\n \r\n \r\n \r\n \r\n\r\n \r\n The information required to register a server with a discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Registers a server with the discovery server.\r\n \r\n \r\n \r\n\r\n \r\n Registers a server with the discovery server.\r\n \r\n \r\n\r\n \r\n A base type for discovery configuration information.\r\n \r\n\r\n \r\n The discovery information needed for mDNS registration.\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Indicates whether a token if being created or renewed.\r\n \r\n \r\n \r\n\r\n \r\n The token that identifies a set of keys for an active secure channel.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Creates a secure channel with a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Creates a secure channel with a server.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Closes a secure channel.\r\n \r\n \r\n\r\n \r\n Closes a secure channel.\r\n \r\n \r\n\r\n \r\n A software certificate with a digital signature.\r\n \r\n \r\n \r\n\r\n \r\n A unique identifier for a session used to authenticate requests.\r\n \r\n\r\n \r\n A digital signature.\r\n \r\n \r\n \r\n\r\n \r\n Creates a new session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Creates a new session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A base type for a user identity token.\r\n \r\n \r\n\r\n \r\n A token representing an anonymous user.\r\n \r\n \r\n\r\n \r\n A token representing a user identified by a user name and password.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A token representing a user identified by an X509 certificate.\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n A token representing a user identified by a WS-Security XML token.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Activates a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Activates a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Closes a session with the server.\r\n \r\n \r\n \r\n\r\n \r\n Closes a session with the server.\r\n \r\n \r\n\r\n \r\n Cancels an outstanding request.\r\n \r\n \r\n \r\n\r\n \r\n Cancels an outstanding request.\r\n \r\n \r\n \r\n\r\n \r\n The bits used to specify default attributes for a new node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The base attributes for all nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for an object node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a variable node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a method node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for an object type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a variable type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a reference type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a data type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a view node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A request to add a node to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A result of an add node operation.\r\n \r\n \r\n \r\n\r\n \r\n Adds one or more nodes to the server address space.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Adds one or more nodes to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A request to add a reference to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Adds one or more references to the server address space.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Adds one or more references to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A request to delete a node to the server address space.\r\n \r\n \r\n \r\n\r\n \r\n Delete one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Delete one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A request to delete a node from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Delete one or more references from the server address space.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Delete one or more references from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Define bits used to indicate which attributes are writable.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The directions of the references to return.\r\n \r\n \r\n \r\n \r\n\r\n \r\n The view to browse.\r\n \r\n \r\n \r\n \r\n\r\n \r\n A request to browse the the references from a node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A bit mask which specifies what should be returned in a browse response.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The description of a reference.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n An identifier for a suspended query or browse operation.\r\n \r\n\r\n \r\n The result of a browse operation.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Browse the references for one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Browse the references for one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Continues one or more browse operations.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Continues one or more browse operations.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n An element in a relative path.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A relative path constructed from reference types and browse names.\r\n \r\n \r\n \r\n\r\n \r\n A request to translate a path into a node id.\r\n \r\n \r\n \r\n\r\n \r\n The target of the translated path.\r\n \r\n \r\n \r\n\r\n \r\n The result of a translate opearation.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Translates one or more paths in the server address space.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Translates one or more paths in the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Registers one or more nodes for repeated use within a session.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Registers one or more nodes for repeated use within a session.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Unregisters one or more previously registered nodes.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Unregisters one or more previously registered nodes.\r\n \r\n \r\n\r\n \r\n A monotonically increasing value.\r\n \r\n\r\n \r\n Specifies a range of array indexes.\r\n \r\n\r\n \r\n A time value specified as HH:MM:SS.SSS.\r\n \r\n\r\n \r\n A date value.\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A simple enumerated type used for testing.\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n', ua.VariantType.ByteString) + attrs.Value = ua.Variant(b'\r\n\r\n \r\n\r\n \r\n An XML element encoded as a UTF-8 string.\r\n \r\n \r\n \r\n\r\n \r\n The possible encodings for a NodeId value.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n An identifier for a node in a UA server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n An identifier for a node in a UA server address space qualified with a complete namespace string.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A 32-bit status code value.\r\n \r\n\r\n \r\n A recursive structure containing diagnostic information associated with a status code.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A string qualified with a namespace index.\r\n \r\n \r\n \r\n\r\n \r\n A string qualified with a namespace index.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A value with an associated timestamp, and quality.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A serialized object prefixed with its data type identifier.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A union of several types.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n An image encoded in BMP format.\r\n \r\n\r\n \r\n An image encoded in GIF format.\r\n \r\n\r\n \r\n An image encoded in JPEG format.\r\n \r\n\r\n \r\n An image encoded in PNG format.\r\n \r\n\r\n \r\n A mask of 32 bits that can be updated individually by using the top 32 bits as a mask.\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The type of identifier used in a node id.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A mask specifying the class of the node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to all nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to object nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to object type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to variable nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to variable type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to reference type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to method nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies a reference which belongs to a node.\r\n \r\n \r\n \r\n \r\n\r\n \r\n An argument for a method.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A mapping between a value of an enumerated type and a name and description.\r\n \r\n \r\n \r\n \r\n\r\n \r\n This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask.\r\n \r\n \r\n \r\n\r\n \r\n This abstract DataType is the base DataType for all union DataTypes.\r\n \r\n\r\n \r\n A string normalized based on the rules in the unicode specification.\r\n \r\n\r\n \r\n An arbitraty numeric value.\r\n \r\n\r\n \r\n A period of time formatted as defined in ISO 8601-2000.\r\n \r\n\r\n \r\n A time formatted as defined in ISO 8601-2000.\r\n \r\n\r\n \r\n A date formatted as defined in ISO 8601-2000.\r\n \r\n\r\n \r\n A period of time measured in milliseconds.\r\n \r\n\r\n \r\n A date/time value specified in Universal Coordinated Time (UTC).\r\n \r\n\r\n \r\n An identifier for a user locale.\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n A numeric identifier for an object.\r\n \r\n\r\n \r\n The types of applications.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Describes an application and how to find it.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The header passed with every server request.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The header passed with every server response.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The response returned by all services when there is a service level error.\r\n \r\n \r\n\r\n \r\n Finds the servers known to the discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Finds the servers known to the discovery server.\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A certificate for an instance of an application.\r\n \r\n\r\n \r\n The type of security to use on a message.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The possible user token types.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Describes a user token that can be used with a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The description of a endpoint that can be used to access a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Gets the endpoints used by the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Gets the endpoints used by the server.\r\n \r\n \r\n \r\n \r\n\r\n \r\n The information required to register a server with a discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Registers a server with the discovery server.\r\n \r\n \r\n \r\n\r\n \r\n Registers a server with the discovery server.\r\n \r\n \r\n\r\n \r\n A base type for discovery configuration information.\r\n \r\n\r\n \r\n The discovery information needed for mDNS registration.\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Indicates whether a token if being created or renewed.\r\n \r\n \r\n \r\n\r\n \r\n The token that identifies a set of keys for an active secure channel.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Creates a secure channel with a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Creates a secure channel with a server.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Closes a secure channel.\r\n \r\n \r\n\r\n \r\n Closes a secure channel.\r\n \r\n \r\n\r\n \r\n A software certificate with a digital signature.\r\n \r\n \r\n \r\n\r\n \r\n A unique identifier for a session used to authenticate requests.\r\n \r\n\r\n \r\n A digital signature.\r\n \r\n \r\n \r\n\r\n \r\n Creates a new session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Creates a new session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A base type for a user identity token.\r\n \r\n \r\n\r\n \r\n A token representing an anonymous user.\r\n \r\n \r\n\r\n \r\n A token representing a user identified by a user name and password.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A token representing a user identified by an X509 certificate.\r\n \r\n \r\n \r\n\r\n \r\n A token representing a user identified by a WS-Security XML token.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Activates a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Activates a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Closes a session with the server.\r\n \r\n \r\n \r\n\r\n \r\n Closes a session with the server.\r\n \r\n \r\n\r\n \r\n Cancels an outstanding request.\r\n \r\n \r\n \r\n\r\n \r\n Cancels an outstanding request.\r\n \r\n \r\n \r\n\r\n \r\n The bits used to specify default attributes for a new node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The base attributes for all nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for an object node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a variable node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a method node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for an object type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a variable type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a reference type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a data type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a view node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A request to add a node to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A result of an add node operation.\r\n \r\n \r\n \r\n\r\n \r\n Adds one or more nodes to the server address space.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Adds one or more nodes to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A request to add a reference to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Adds one or more references to the server address space.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Adds one or more references to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A request to delete a node to the server address space.\r\n \r\n \r\n \r\n\r\n \r\n Delete one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Delete one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A request to delete a node from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Delete one or more references from the server address space.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Delete one or more references from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Define bits used to indicate which attributes are writable.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The directions of the references to return.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The view to browse.\r\n \r\n \r\n \r\n \r\n\r\n \r\n A request to browse the the references from a node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A bit mask which specifies what should be returned in a browse response.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The description of a reference.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n An identifier for a suspended query or browse operation.\r\n \r\n\r\n \r\n The result of a browse operation.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Browse the references for one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Browse the references for one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Continues one or more browse operations.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Continues one or more browse operations.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n An element in a relative path.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A relative path constructed from reference types and browse names.\r\n \r\n \r\n \r\n\r\n \r\n A request to translate a path into a node id.\r\n \r\n \r\n \r\n\r\n \r\n The target of the translated path.\r\n \r\n \r\n \r\n\r\n \r\n The result of a translate opearation.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Translates one or more paths in the server address space.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Translates one or more paths in the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Registers one or more nodes for repeated use within a session.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Registers one or more nodes for repeated use within a session.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Unregisters one or more previously registered nodes.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Unregisters one or more previously registered nodes.\r\n \r\n \r\n\r\n \r\n A monotonically increasing value.\r\n \r\n\r\n \r\n Specifies a range of array indexes.\r\n \r\n\r\n \r\n A time value specified as HH:MM:SS.SSS.\r\n \r\n\r\n \r\n A date value.\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n', ua.VariantType.ByteString) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -38216,13 +38408,6 @@ def create_standard_address_space_Part5(server): ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12510") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7683") refs.append(ref) ref = ua.AddReferencesItem() @@ -38279,20 +38464,6 @@ def create_standard_address_space_Part5(server): ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7689") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7695") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7929") refs.append(ref) ref = ua.AddReferencesItem() @@ -39132,37 +39303,6 @@ def create_standard_address_space_Part5(server): refs.append(ref) server.add_references(refs) - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12510") - node.BrowseName = ua.QualifiedName.from_string("KerberosIdentityToken") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("KerberosIdentityToken") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("KerberosIdentityToken", ua.VariantType.String) - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12510") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12510") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") - refs.append(ref) - server.add_references(refs) - node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=7683") node.BrowseName = ua.QualifiedName.from_string("IssuedIdentityToken") @@ -39411,68 +39551,6 @@ def create_standard_address_space_Part5(server): refs.append(ref) server.add_references(refs) - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7689") - node.BrowseName = ua.QualifiedName.from_string("SupportedProfile") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SupportedProfile") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("SupportedProfile", ua.VariantType.String) - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7689") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7689") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") - refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7695") - node.BrowseName = ua.QualifiedName.from_string("SoftwareCertificate") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SoftwareCertificate") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("SoftwareCertificate", ua.VariantType.String) - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7695") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7695") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") - refs.append(ref) - server.add_references(refs) - node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=7929") node.BrowseName = ua.QualifiedName.from_string("ContentFilterElement") diff --git a/opcua/server/standard_address_space/standard_address_space_part8.py b/opcua/server/standard_address_space/standard_address_space_part8.py index 60616e4e9..a5ad4efb4 100644 --- a/opcua/server/standard_address_space/standard_address_space_part8.py +++ b/opcua/server/standard_address_space/standard_address_space_part8.py @@ -1492,6 +1492,222 @@ def create_standard_address_space_Part8(server): refs.append(ref) server.add_references(refs) + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=886") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=884") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=886") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=884") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=886") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8238") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=886") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=889") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=887") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=889") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=887") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=889") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8241") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=889") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12181") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=12171") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=12181") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12171") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=12181") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12183") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12181") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12182") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=12172") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=12182") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12172") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=12182") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12186") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12182") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12089") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=12079") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=12089") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12079") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=12089") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12091") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12089") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12090") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=12080") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=12090") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12080") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=12090") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12094") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12090") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=885") node.BrowseName = ua.QualifiedName.from_string("Default XML") @@ -1709,14 +1925,14 @@ def create_standard_address_space_Part8(server): server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=886") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15375") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=884") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = ua.LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -1724,35 +1940,28 @@ def create_standard_address_space_Part8(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=886") + ref.SourceNodeId = ua.NodeId.from_string("i=15375") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=884") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=886") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8238") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=886") + ref.SourceNodeId = ua.NodeId.from_string("i=15375") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=889") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15376") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=887") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = ua.LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -1760,35 +1969,28 @@ def create_standard_address_space_Part8(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=889") + ref.SourceNodeId = ua.NodeId.from_string("i=15376") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=887") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=889") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8241") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=889") + ref.SourceNodeId = ua.NodeId.from_string("i=15376") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12181") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15377") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=12171") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = ua.LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -1796,35 +1998,28 @@ def create_standard_address_space_Part8(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=12181") + ref.SourceNodeId = ua.NodeId.from_string("i=15377") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12171") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=12181") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12183") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12181") + ref.SourceNodeId = ua.NodeId.from_string("i=15377") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12182") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15378") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=12172") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = ua.LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -1832,35 +2027,28 @@ def create_standard_address_space_Part8(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=12182") + ref.SourceNodeId = ua.NodeId.from_string("i=15378") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12172") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=12182") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12186") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12182") + ref.SourceNodeId = ua.NodeId.from_string("i=15378") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12089") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15379") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=12079") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = ua.LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -1868,35 +2056,28 @@ def create_standard_address_space_Part8(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=12089") + ref.SourceNodeId = ua.NodeId.from_string("i=15379") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12079") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=12089") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12091") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12089") + ref.SourceNodeId = ua.NodeId.from_string("i=15379") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12090") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15380") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=12080") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = ua.LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -1904,21 +2085,14 @@ def create_standard_address_space_Part8(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=12090") + ref.SourceNodeId = ua.NodeId.from_string("i=15380") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12080") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=12090") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12094") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12090") + ref.SourceNodeId = ua.NodeId.from_string("i=15380") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) diff --git a/opcua/server/standard_address_space/standard_address_space_part9.py b/opcua/server/standard_address_space/standard_address_space_part9.py index c00a0b2f1..3fedcd27b 100644 --- a/opcua/server/standard_address_space/standard_address_space_part9.py +++ b/opcua/server/standard_address_space/standard_address_space_part9.py @@ -1288,13 +1288,13 @@ def create_standard_address_space_Part9(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'EventId' + extobj.Name = EventId extobj.DataType = ua.NodeId.from_string("i=15") extobj.ValueRank = -1 extobj.Description.Text = 'The identifier for the event to comment.' value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Comment' + extobj.Name = Comment extobj.DataType = ua.NodeId.from_string("i=21") extobj.ValueRank = -1 extobj.Description.Text = 'The comment to add to the condition.' @@ -1380,7 +1380,7 @@ def create_standard_address_space_Part9(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'SubscriptionId' + extobj.Name = SubscriptionId extobj.DataType = ua.NodeId.from_string("i=288") extobj.ValueRank = -1 extobj.Description.Text = 'The identifier for the suscription to refresh.' @@ -1466,13 +1466,13 @@ def create_standard_address_space_Part9(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'SubscriptionId' + extobj.Name = SubscriptionId extobj.DataType = ua.NodeId.from_string("i=288") extobj.ValueRank = -1 extobj.Description.Text = 'The identifier for the suscription to refresh.' value.append(extobj) extobj = ua.Argument() - extobj.Name = 'MonitoredItemId' + extobj.Name = MonitoredItemId extobj.DataType = ua.NodeId.from_string("i=288") extobj.ValueRank = -1 extobj.Description.Text = 'The identifier for the monitored item to refresh.' @@ -2084,7 +2084,7 @@ def create_standard_address_space_Part9(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'SelectedResponse' + extobj.Name = SelectedResponse extobj.DataType = ua.NodeId.from_string("i=6") extobj.ValueRank = -1 extobj.Description.Text = 'The response to the dialog condition.' @@ -2585,13 +2585,13 @@ def create_standard_address_space_Part9(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'EventId' + extobj.Name = EventId extobj.DataType = ua.NodeId.from_string("i=15") extobj.ValueRank = -1 extobj.Description.Text = 'The identifier for the event to comment.' value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Comment' + extobj.Name = Comment extobj.DataType = ua.NodeId.from_string("i=21") extobj.ValueRank = -1 extobj.Description.Text = 'The comment to add to the condition.' @@ -2677,13 +2677,13 @@ def create_standard_address_space_Part9(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'EventId' + extobj.Name = EventId extobj.DataType = ua.NodeId.from_string("i=15") extobj.ValueRank = -1 extobj.Description.Text = 'The identifier for the event to comment.' value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Comment' + extobj.Name = Comment extobj.DataType = ua.NodeId.from_string("i=21") extobj.ValueRank = -1 extobj.Description.Text = 'The comment to add to the condition.' @@ -3726,7 +3726,7 @@ def create_standard_address_space_Part9(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'ShelvingTime' + extobj.Name = ShelvingTime extobj.DataType = ua.NodeId.from_string("i=290") extobj.ValueRank = -1 extobj.Description.Text = 'If not 0, this parameter specifies a fixed time for which the Alarm is to be shelved.' @@ -5054,7 +5054,7 @@ def create_standard_address_space_Part9(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'ShelvingTime' + extobj.Name = ShelvingTime extobj.DataType = ua.NodeId.from_string("i=290") extobj.ValueRank = -1 extobj.Description.Text = 'If not 0, this parameter specifies a fixed time for which the Alarm is to be shelved.' @@ -7481,6 +7481,13 @@ def create_standard_address_space_Part9(server): ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=13225") ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=14900") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=13225") + ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=13326") refs.append(ref) ref = ua.AddReferencesItem() @@ -7536,6 +7543,43 @@ def create_standard_address_space_Part9(server): refs.append(ref) server.add_references(refs) + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=14900") + node.BrowseName = ua.QualifiedName.from_string("ExpirationLimit") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=13225") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("ExpirationLimit") + attrs.DataType = ua.NodeId.from_string("i=290") + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=14900") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=14900") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=14900") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=13225") + refs.append(ref) + server.add_references(refs) + node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13326") node.BrowseName = ua.QualifiedName.from_string("CertificateType") diff --git a/opcua/ua/uaprotocol_auto.py b/opcua/ua/uaprotocol_auto.py index ea5d04309..2b226c6fe 100644 --- a/opcua/ua/uaprotocol_auto.py +++ b/opcua/ua/uaprotocol_auto.py @@ -166,14 +166,11 @@ class UserTokenType(IntEnum): :vartype Certificate: 2 :ivar IssuedToken: :vartype IssuedToken: 3 - :ivar Kerberos: - :vartype Kerberos: 4 """ Anonymous = 0 UserName = 1 Certificate = 2 IssuedToken = 3 - Kerberos = 4 class SecurityTokenRequestType(IntEnum): @@ -378,10 +375,13 @@ class BrowseDirection(IntEnum): :vartype Inverse: 1 :ivar Both: :vartype Both: 2 + :ivar Invalid: + :vartype Invalid: 3 """ Forward = 0 Inverse = 1 Both = 2 + Invalid = 3 class BrowseResultMask(IntEnum): @@ -421,23 +421,6 @@ class BrowseResultMask(IntEnum): TargetInfo = 60 -class ComplianceLevel(IntEnum): - """ - :ivar Untested: - :vartype Untested: 0 - :ivar Partial: - :vartype Partial: 1 - :ivar SelfTested: - :vartype SelfTested: 2 - :ivar Certified: - :vartype Certified: 3 - """ - Untested = 0 - Partial = 1 - SelfTested = 2 - Certified = 3 - - class FilterOperator(IntEnum): """ :ivar Equals: @@ -507,11 +490,14 @@ class TimestampsToReturn(IntEnum): :vartype Both: 2 :ivar Neither: :vartype Neither: 3 + :ivar Invalid: + :vartype Invalid: 4 """ Source = 0 Server = 1 Both = 2 Neither = 3 + Invalid = 4 class HistoryUpdateType(IntEnum): @@ -590,22 +576,6 @@ class DeadbandType(IntEnum): Percent = 2 -class EnumeratedTestType(IntEnum): - """ - A simple enumerated type used for testing. - - :ivar Red: - :vartype Red: 1 - :ivar Yellow: - :vartype Yellow: 4 - :ivar Green: - :vartype Green: 5 - """ - Red = 1 - Yellow = 4 - Green = 5 - - class RedundancySupport(IntEnum): """ :ivar None_: @@ -2267,30 +2237,6 @@ def __str__(self): __repr__ = __str__ -class KerberosIdentityToken(FrozenClass): - """ - :ivar PolicyId: - :vartype PolicyId: String - :ivar TicketData: - :vartype TicketData: ByteString - """ - - ua_types = [ - ('PolicyId', 'String'), - ('TicketData', 'ByteString'), - ] - - def __init__(self): - self.PolicyId = None - self.TicketData = None - self._freeze = True - - def __str__(self): - return f'KerberosIdentityToken(PolicyId:{self.PolicyId}, TicketData:{self.TicketData})' - - __repr__ = __str__ - - class IssuedIdentityToken(FrozenClass): """ A token representing a user identified by a WS-Security XML token. @@ -4363,102 +4309,6 @@ def __str__(self): __repr__ = __str__ -class SupportedProfile(FrozenClass): - """ - :ivar OrganizationUri: - :vartype OrganizationUri: String - :ivar ProfileId: - :vartype ProfileId: String - :ivar ComplianceTool: - :vartype ComplianceTool: String - :ivar ComplianceDate: - :vartype ComplianceDate: DateTime - :ivar ComplianceLevel: - :vartype ComplianceLevel: ComplianceLevel - :ivar UnsupportedUnitIds: - :vartype UnsupportedUnitIds: String - """ - - ua_types = [ - ('OrganizationUri', 'String'), - ('ProfileId', 'String'), - ('ComplianceTool', 'String'), - ('ComplianceDate', 'DateTime'), - ('ComplianceLevel', 'ComplianceLevel'), - ('UnsupportedUnitIds', 'ListOfString'), - ] - - def __init__(self): - self.OrganizationUri = None - self.ProfileId = None - self.ComplianceTool = None - self.ComplianceDate = datetime.utcnow() - self.ComplianceLevel = ComplianceLevel(0) - self.UnsupportedUnitIds = [] - self._freeze = True - - def __str__(self): - return f'SupportedProfile(OrganizationUri:{self.OrganizationUri}, ProfileId:{self.ProfileId}, ComplianceTool:{self.ComplianceTool}, ComplianceDate:{self.ComplianceDate}, ComplianceLevel:{self.ComplianceLevel}, UnsupportedUnitIds:{self.UnsupportedUnitIds})' - - __repr__ = __str__ - - -class SoftwareCertificate(FrozenClass): - """ - :ivar ProductName: - :vartype ProductName: String - :ivar ProductUri: - :vartype ProductUri: String - :ivar VendorName: - :vartype VendorName: String - :ivar VendorProductCertificate: - :vartype VendorProductCertificate: ByteString - :ivar SoftwareVersion: - :vartype SoftwareVersion: String - :ivar BuildNumber: - :vartype BuildNumber: String - :ivar BuildDate: - :vartype BuildDate: DateTime - :ivar IssuedBy: - :vartype IssuedBy: String - :ivar IssueDate: - :vartype IssueDate: DateTime - :ivar SupportedProfiles: - :vartype SupportedProfiles: SupportedProfile - """ - - ua_types = [ - ('ProductName', 'String'), - ('ProductUri', 'String'), - ('VendorName', 'String'), - ('VendorProductCertificate', 'ByteString'), - ('SoftwareVersion', 'String'), - ('BuildNumber', 'String'), - ('BuildDate', 'DateTime'), - ('IssuedBy', 'String'), - ('IssueDate', 'DateTime'), - ('SupportedProfiles', 'ListOfSupportedProfile'), - ] - - def __init__(self): - self.ProductName = None - self.ProductUri = None - self.VendorName = None - self.VendorProductCertificate = None - self.SoftwareVersion = None - self.BuildNumber = None - self.BuildDate = datetime.utcnow() - self.IssuedBy = None - self.IssueDate = datetime.utcnow() - self.SupportedProfiles = [] - self._freeze = True - - def __str__(self): - return f'SoftwareCertificate(ProductName:{self.ProductName}, ProductUri:{self.ProductUri}, VendorName:{self.VendorName}, VendorProductCertificate:{self.VendorProductCertificate}, SoftwareVersion:{self.SoftwareVersion}, BuildNumber:{self.BuildNumber}, BuildDate:{self.BuildDate}, IssuedBy:{self.IssuedBy}, IssueDate:{self.IssueDate}, SupportedProfiles:{self.SupportedProfiles})' - - __repr__ = __str__ - - class QueryDataDescription(FrozenClass): """ :ivar RelativePath: @@ -9004,9 +8854,6 @@ def __str__(self): nid = FourByteNodeId(ObjectIds.X509IdentityToken_Encoding_DefaultBinary) extension_object_classes[nid] = X509IdentityToken extension_object_ids['X509IdentityToken'] = nid -nid = FourByteNodeId(ObjectIds.KerberosIdentityToken_Encoding_DefaultBinary) -extension_object_classes[nid] = KerberosIdentityToken -extension_object_ids['KerberosIdentityToken'] = nid nid = FourByteNodeId(ObjectIds.IssuedIdentityToken_Encoding_DefaultBinary) extension_object_classes[nid] = IssuedIdentityToken extension_object_ids['IssuedIdentityToken'] = nid @@ -9154,12 +9001,6 @@ def __str__(self): nid = FourByteNodeId(ObjectIds.EndpointConfiguration_Encoding_DefaultBinary) extension_object_classes[nid] = EndpointConfiguration extension_object_ids['EndpointConfiguration'] = nid -nid = FourByteNodeId(ObjectIds.SupportedProfile_Encoding_DefaultBinary) -extension_object_classes[nid] = SupportedProfile -extension_object_ids['SupportedProfile'] = nid -nid = FourByteNodeId(ObjectIds.SoftwareCertificate_Encoding_DefaultBinary) -extension_object_classes[nid] = SoftwareCertificate -extension_object_ids['SoftwareCertificate'] = nid nid = FourByteNodeId(ObjectIds.QueryDataDescription_Encoding_DefaultBinary) extension_object_classes[nid] = QueryDataDescription extension_object_ids['QueryDataDescription'] = nid diff --git a/opcua/ua/uaprotocol_hand.py b/opcua/ua/uaprotocol_hand.py index dc1f76b75..c36b41931 100644 --- a/opcua/ua/uaprotocol_hand.py +++ b/opcua/ua/uaprotocol_hand.py @@ -9,35 +9,36 @@ class Hello(uatypes.FrozenClass): - - ua_types = (('ProtocolVersion', 'UInt32'), ('ReceiveBufferSize', 'UInt32'), ('SendBufferSize', 'UInt32'), - ('MaxMessageSize', 'UInt32'), ('MaxChunkCount', 'UInt32'), ('EndpointUrl', 'String'), ) + ua_types = ( + ('ProtocolVersion', 'UInt32'), ('ReceiveBufferSize', 'UInt32'), ('SendBufferSize', 'UInt32'), + ('MaxMessageSize', 'UInt32'), ('MaxChunkCount', 'UInt32'), ('EndpointUrl', 'String'), + ) def __init__(self): self.ProtocolVersion = 0 self.ReceiveBufferSize = 65536 self.SendBufferSize = 65536 - self.MaxMessageSize = 0 # No limits - self.MaxChunkCount = 0 # No limits + self.MaxMessageSize = 0 # No limits + self.MaxChunkCount = 0 # No limits self.EndpointUrl = "" self._freeze = True -class MessageType(object): - Invalid = b"INV" # FIXME: check value - Hello = b"HEL" - Acknowledge = b"ACK" - Error = b"ERR" - SecureOpen = b"OPN" - SecureClose = b"CLO" - SecureMessage = b"MSG" +class MessageType: + Invalid = b'INV' # FIXME: check value + Hello = b'HEL' + Acknowledge = b'ACK' + Error = b'ERR' + SecureOpen = b'OPN' + SecureClose = b'CLO' + SecureMessage = b'MSG' -class ChunkType(object): - Invalid = b"0" # FIXME check - Single = b"F" - Intermediate = b"C" - Abort = b"A" # when an error occurred and the Message is aborted (body is ErrorMessage) +class ChunkType: + Invalid = b'0' # FIXME check + Single = b'F' + Intermediate = b'C' + Abort = b'A' # when an error occurred and the Message is aborted (body is ErrorMessage) class Header(uatypes.FrozenClass): @@ -57,15 +58,13 @@ def max_size(): return struct.calcsize("<3scII") def __str__(self): - return "Header(type:{0}, chunk_type:{1}, body_size:{2}, channel:{3})".format( - self.MessageType, self.ChunkType, self.body_size, self.ChannelId) + return f'Header(type:{self.MessageType}, chunk_type:{self.ChunkType}, body_size:{self.body_size}, channel:{self.ChannelId})' __repr__ = __str__ class ErrorMessage(uatypes.FrozenClass): - - ua_types = (('Error', 'StatusCode'), ('Reason', 'String'), ) + ua_types = (('Error', 'StatusCode'), ('Reason', 'String'),) def __init__(self): self.Error = uatypes.StatusCode() @@ -73,19 +72,18 @@ def __init__(self): self._freeze = True def __str__(self): - return "MessageAbort(error:{0}, reason:{1})".format(self.Error, self.Reason) + return f'MessageAbort(error:{self.Error}, reason:{self.Reason})' __repr__ = __str__ class Acknowledge(uatypes.FrozenClass): - ua_types = [ - ("ProtocolVersion", "UInt32"), - ("ReceiveBufferSize", "UInt32"), - ("SendBufferSize", "UInt32"), - ("MaxMessageSize", "UInt32"), - ("MaxChunkCount", "UInt32"), + ('ProtocolVersion', 'UInt32'), + ('ReceiveBufferSize', 'UInt32'), + ('SendBufferSize', 'UInt32'), + ('MaxMessageSize', 'UInt32'), + ('MaxChunkCount', 'UInt32'), ] def __init__(self): @@ -98,15 +96,14 @@ def __init__(self): class AsymmetricAlgorithmHeader(uatypes.FrozenClass): - ua_types = [ - ("SecurityPolicyURI", "String"), - ("SenderCertificate", "ByteString"), - ("ReceiverCertificateThumbPrint", "ByteString"), + ('SecurityPolicyURI', 'String'), + ('SenderCertificate', 'ByteString'), + ('ReceiverCertificateThumbPrint', 'ByteString'), ] def __init__(self): - self.SecurityPolicyURI = "http://opcfoundation.org/UA/SecurityPolicy#None" + self.SecurityPolicyURI = 'http://opcfoundation.org/UA/SecurityPolicy#None' self.SenderCertificate = None self.ReceiverCertificateThumbPrint = None self._freeze = True @@ -114,16 +111,14 @@ def __init__(self): def __str__(self): size1 = len(self.SenderCertificate) if self.SenderCertificate is not None else None size2 = len(self.ReceiverCertificateThumbPrint) if self.ReceiverCertificateThumbPrint is not None else None - return "{0}(SecurityPolicy:{1}, certificatesize:{2}, receiverCertificatesize:{3} )".format( - self.__class__.__name__, self.SecurityPolicyURI, size1, size2) + return f'{self.__class__.__name__}(SecurityPolicy:{self.SecurityPolicyURI}, certificatesize:{size2}, receiverCertificatesize:{size2} )' __repr__ = __str__ class SymmetricAlgorithmHeader(uatypes.FrozenClass): - ua_types = [ - ("TokenId", "UInt32"), + ('TokenId', 'UInt32'), ] def __init__(self): @@ -132,19 +127,18 @@ def __init__(self): @staticmethod def max_size(): - return struct.calcsize(" sample code def datetime_to_win_epoch(dt): + """method copied from David Buxton sample code""" if (dt.tzinfo is None) or (dt.tzinfo.utcoffset(dt) is None): dt = dt.replace(tzinfo=UTC()) ft = EPOCH_AS_FILETIME + (timegm(dt.timetuple()) * HUNDREDS_OF_NANOSECONDS) @@ -62,7 +61,7 @@ def win_epoch_to_datetime(epch): return FILETIME_EPOCH_AS_DATETIME + timedelta(microseconds=epch // 10) except OverflowError: # FILETIMEs after 31 Dec 9999 can't be converted to datetime - logger.warning("datetime overflow: %s", epch) + logger.warning('datetime overflow: %s', epch) return datetime(MAXYEAR, 12, 31, 23, 59, 59, 999999) @@ -76,18 +75,18 @@ class _FrozenClass(object): def __setattr__(self, key, value): if self._freeze and not hasattr(self, key): - raise TypeError("Error adding member '{0}' to class '{1}', class is frozen, members are {2}".format( - key, self.__class__.__name__, self.__dict__.keys())) + raise TypeError(f"Error adding member '{key}' to class '{self.__class__.__name__}', class is frozen, members are {self.__dict__.keys()}") object.__setattr__(self, key, value) -if "PYOPCUA_NO_TYPO_CHECK" in os.environ: +if 'PYOPCUA_NO_TYPO_CHECK' in os.environ: # typo check is cpu consuming, but it will make debug easy. # if typo check is not need (in production), please set env PYOPCUA_NO_TYPO_CHECK. - # this will make all uatype class inherit from object intead of _FrozenClass + # this will make all uatype class inherit from object instead of _FrozenClass # and skip the typo check. FrozenClass = object else: + logger.warning('uaypes typo checking is active') FrozenClass = _FrozenClass @@ -113,7 +112,7 @@ class _MaskEnum(IntEnum): def parse_bitfield(cls, the_int): """ Take an integer and interpret it as a set of enum values. """ if not isinstance(the_int, int): - raise ValueError("Argument should be an int, we received {} fo type {}".format(the_int, type(the_int))) + raise ValueError(f"Argument should be an int, we received {the_int} fo type {type(the_int)}") return {cls(b) for b in cls._bits(the_int)} @@ -245,7 +244,7 @@ def is_good(self): return True def __str__(self): - return 'StatusCode({0})'.format(self.name) + return f'StatusCode({self.name})' __repr__ = __str__ @@ -348,7 +347,7 @@ def from_string(string): try: return NodeId._from_string(string) except ValueError as ex: - raise UaStringParsingError("Error parsing string {0}".format(string), ex) + raise UaStringParsingError(f"Error parsing string {string}", ex) @staticmethod def _from_string(string): @@ -383,7 +382,7 @@ def _from_string(string): elif k == "nsu": nsu = v if identifier is None: - raise UaStringParsingError("Could not find identifier in string: " + string) + raise UaStringParsingError(f"Could not find identifier in string: {string}") nodeid = NodeId(identifier, namespace, ntype) nodeid.NamespaceUri = nsu nodeid.ServerIndex = srv @@ -414,7 +413,7 @@ def to_string(self): return ";".join(string) def __str__(self): - return "{0}NodeId({1})".format(self.NodeIdType.name, self.to_string()) + return f"{self.NodeIdType.name}NodeId({self.to_string()})" __repr__ = __str__ @@ -483,7 +482,7 @@ def from_string(string): idx, name = string.split(":", 1) idx = int(idx) except (TypeError, ValueError) as ex: - raise UaStringParsingError("Error parsing string {0}".format(string), ex) + raise UaStringParsingError(f"Error parsing string {string}", ex) else: idx = 0 name = string @@ -498,14 +497,14 @@ def __ne__(self, other): def __lt__(self, other): if not isinstance(other, QualifiedName): - raise TypeError("Cannot compare QualifiedName and {0}".format(other)) + raise TypeError(f"Cannot compare QualifiedName and {other}") if self.NamespaceIndex == other.NamespaceIndex: return self.Name < other.Name else: return self.NamespaceIndex < other.NamespaceIndex def __str__(self): - return 'QualifiedName({0}:{1})'.format(self.NamespaceIndex, self.Name) + return f'QualifiedName({self.NamespaceIndex}:{self.Name})' __repr__ = __str__ @@ -528,7 +527,7 @@ class LocalizedText(FrozenClass): def __init__(self, text=None): self.Encoding = 0 if text is not None and not isinstance(text, str): - raise ValueError("A LocalizedText object takes a string as argument, not a {}, {}".format(text, type(text))) + raise ValueError(f"A LocalizedText object takes a string as argument, not a {text}, {type(text)}") self.Text = text if self.Text: self.Encoding |= (1 << 1) @@ -542,9 +541,7 @@ def to_string(self): return self.Text def __str__(self): - return 'LocalizedText(' + 'Encoding:' + str(self.Encoding) + ', ' + \ - 'Locale:' + str(self.Locale) + ', ' + \ - 'Text:' + str(self.Text) +')' + return f'LocalizedText(Encoding:{self.Encoding}, Locale:{self.Locale}, Text:{self.Text})' __repr__ = __str__ @@ -588,8 +585,7 @@ def __bool__(self): def __str__(self): size = len(self.Body) if self.Body is not None else None - return 'ExtensionObject(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'Encoding:' + str(self.Encoding) + ', ' + str(size) + ' bytes)' + return f'ExtensionObject(TypeId:{self.TypeId}, Encoding:{self.Encoding}, {size} bytes)' __repr__ = __str__ @@ -666,11 +662,10 @@ def __init__(self, val): self.name = "Custom" self.value = val if self.value > 0b00111111: - raise UaError( - "Cannot create VariantType. VariantType must be {0} > x > {1}, received {2}".format(0b111111, 25, val)) + raise UaError(f"Cannot create VariantType. VariantType must be {0b111111} > x > {25}, received {val}") def __str__(self): - return "VariantType.Custom:{0}".format(self.value) + return f"VariantType.Custom:{self.value}" __repr__ = __str__ @@ -713,7 +708,7 @@ def __init__(self, value=None, varianttype=None, dimensions=None, is_array=None) self.VariantType = self._guess_type(self.Value) if self.Value is None and not self.is_array and self.VariantType not in (VariantType.Null, VariantType.String, VariantType.DateTime): - raise UaError("Non array Variant of type {0} cannot have value None".format(self.VariantType)) + raise UaError(f"Non array Variant of type {self.VariantType} cannot have value None") if self.Dimensions is None and isinstance(self.Value, (list, tuple)): dims = get_shape(self.Value) if len(dims) > 1: @@ -732,7 +727,7 @@ def _guess_type(self, val): error_val = val while isinstance(val, (list, tuple)): if len(val) == 0: - raise UaError("could not guess UA type of variable {0}".format(error_val)) + raise UaError(f"could not guess UA type of variable {error_val}") val = val[0] if val is None: return VariantType.Null @@ -759,10 +754,10 @@ def _guess_type(self, val): except AttributeError: return VariantType.ExtensionObject else: - raise UaError("Could not guess UA type of {0} with type {1}, specify UA type".format(val, type(val))) + raise UaError(f"Could not guess UA type of {val} with type {type(val)}, specify UA type") def __str__(self): - return "Variant(val:{0!s},type:{1})".format(self.Value, self.VariantType) + return f"Variant(val:{self.Value!s},type:{self.VariantType})" __repr__ = __str__ @@ -863,19 +858,18 @@ def __init__(self, variant=None, status=None): self._freeze = True def __str__(self): - s = 'DataValue(Value:{0}'.format(self.Value) + s = [] if self.StatusCode is not None: - s += ', StatusCode:{0}'.format(self.StatusCode) + s.append(f', StatusCode:{self.StatusCode}') if self.SourceTimestamp is not None: - s += ', SourceTimestamp:{0}'.format(self.SourceTimestamp) + s.append(f', SourceTimestamp:{self.SourceTimestamp}') if self.ServerTimestamp is not None: - s += ', ServerTimestamp:{0}'.format(self.ServerTimestamp) + s.append(f', ServerTimestamp:{self.ServerTimestamp}') if self.SourcePicoseconds is not None: - s += ', SourcePicoseconds:{0}'.format(self.SourcePicoseconds) + s.append(f', SourcePicoseconds:{self.SourcePicoseconds}') if self.ServerPicoseconds is not None: - s += ', ServerPicoseconds:{0}'.format(self.ServerPicoseconds) - s += ')' - return s + s.append(f', ServerPicoseconds:{self.ServerPicoseconds}') + return f'DataValue(Value:{self.Value}{"".join(s)})' __repr__ = __str__ @@ -937,7 +931,7 @@ def get_default_value(vtype): elif vtype == VariantType.Variant: return Variant() else: - raise RuntimeError("function take a uatype as argument, got:", vtype) + raise RuntimeError(f"function take a uatype as argument, got: {vtype}") # These dictionnaries are used to register extensions classes for automatic diff --git a/schemas/AttributeIds.csv b/schemas/AttributeIds.csv index 784fccbcb..7272ff5c6 100644 --- a/schemas/AttributeIds.csv +++ b/schemas/AttributeIds.csv @@ -1,22 +1,22 @@ -NodeId,1 -NodeClass,2 -BrowseName,3 -DisplayName,4 -Description,5 -WriteMask,6 -UserWriteMask,7 -IsAbstract,8 -Symmetric,9 -InverseName,10 -ContainsNoLoops,11 -EventNotifier,12 -Value,13 -DataType,14 -ValueRank,15 -ArrayDimensions,16 -AccessLevel,17 -UserAccessLevel,18 -MinimumSamplingInterval,19 -Historizing,20 -Executable,21 -UserExecutable,22 +NodeId,1 +NodeClass,2 +BrowseName,3 +DisplayName,4 +Description,5 +WriteMask,6 +UserWriteMask,7 +IsAbstract,8 +Symmetric,9 +InverseName,10 +ContainsNoLoops,11 +EventNotifier,12 +Value,13 +DataType,14 +ValueRank,15 +ArrayDimensions,16 +AccessLevel,17 +UserAccessLevel,18 +MinimumSamplingInterval,19 +Historizing,20 +Executable,21 +UserExecutable,22 diff --git a/schemas/NodeIds.csv b/schemas/NodeIds.csv index 419dd862e..3306b5f94 100644 --- a/schemas/NodeIds.csv +++ b/schemas/NodeIds.csv @@ -1,5746 +1,5746 @@ -Boolean,1,DataType -SByte,2,DataType -Byte,3,DataType -Int16,4,DataType -UInt16,5,DataType -Int32,6,DataType -UInt32,7,DataType -Int64,8,DataType -UInt64,9,DataType -Float,10,DataType -Double,11,DataType -String,12,DataType -DateTime,13,DataType -Guid,14,DataType -ByteString,15,DataType -XmlElement,16,DataType -NodeId,17,DataType -ExpandedNodeId,18,DataType -StatusCode,19,DataType -QualifiedName,20,DataType -LocalizedText,21,DataType -Structure,22,DataType -DataValue,23,DataType -BaseDataType,24,DataType -DiagnosticInfo,25,DataType -Number,26,DataType -Integer,27,DataType -UInteger,28,DataType -Enumeration,29,DataType -Image,30,DataType -References,31,ReferenceType -NonHierarchicalReferences,32,ReferenceType -HierarchicalReferences,33,ReferenceType -HasChild,34,ReferenceType -Organizes,35,ReferenceType -HasEventSource,36,ReferenceType -HasModellingRule,37,ReferenceType -HasEncoding,38,ReferenceType -HasDescription,39,ReferenceType -HasTypeDefinition,40,ReferenceType -GeneratesEvent,41,ReferenceType -Aggregates,44,ReferenceType -HasSubtype,45,ReferenceType -HasProperty,46,ReferenceType -HasComponent,47,ReferenceType -HasNotifier,48,ReferenceType -HasOrderedComponent,49,ReferenceType -FromState,51,ReferenceType -ToState,52,ReferenceType -HasCause,53,ReferenceType -HasEffect,54,ReferenceType -HasHistoricalConfiguration,56,ReferenceType -BaseObjectType,58,ObjectType -FolderType,61,ObjectType -BaseVariableType,62,VariableType -BaseDataVariableType,63,VariableType -PropertyType,68,VariableType -DataTypeDescriptionType,69,VariableType -DataTypeDictionaryType,72,VariableType -DataTypeSystemType,75,ObjectType -DataTypeEncodingType,76,ObjectType -ModellingRuleType,77,ObjectType -ModellingRule_Mandatory,78,Object -ModellingRule_MandatoryShared,79,Object -ModellingRule_Optional,80,Object -ModellingRule_ExposesItsArray,83,Object -RootFolder,84,Object -ObjectsFolder,85,Object -TypesFolder,86,Object -ViewsFolder,87,Object -ObjectTypesFolder,88,Object -VariableTypesFolder,89,Object -DataTypesFolder,90,Object -ReferenceTypesFolder,91,Object -XmlSchema_TypeSystem,92,Object -OPCBinarySchema_TypeSystem,93,Object -DataTypeDescriptionType_DataTypeVersion,104,Variable -DataTypeDescriptionType_DictionaryFragment,105,Variable -DataTypeDictionaryType_DataTypeVersion,106,Variable -DataTypeDictionaryType_NamespaceUri,107,Variable -ModellingRuleType_NamingRule,111,Variable -ModellingRule_Mandatory_NamingRule,112,Variable -ModellingRule_Optional_NamingRule,113,Variable -ModellingRule_ExposesItsArray_NamingRule,114,Variable -ModellingRule_MandatoryShared_NamingRule,116,Variable -HasSubStateMachine,117,ReferenceType -NamingRuleType,120,DataType -Decimal128,121,DataType -IdType,256,DataType -NodeClass,257,DataType -Node,258,DataType -Node_Encoding_DefaultXml,259,Object -Node_Encoding_DefaultBinary,260,Object -ObjectNode,261,DataType -ObjectNode_Encoding_DefaultXml,262,Object -ObjectNode_Encoding_DefaultBinary,263,Object -ObjectTypeNode,264,DataType -ObjectTypeNode_Encoding_DefaultXml,265,Object -ObjectTypeNode_Encoding_DefaultBinary,266,Object -VariableNode,267,DataType -VariableNode_Encoding_DefaultXml,268,Object -VariableNode_Encoding_DefaultBinary,269,Object -VariableTypeNode,270,DataType -VariableTypeNode_Encoding_DefaultXml,271,Object -VariableTypeNode_Encoding_DefaultBinary,272,Object -ReferenceTypeNode,273,DataType -ReferenceTypeNode_Encoding_DefaultXml,274,Object -ReferenceTypeNode_Encoding_DefaultBinary,275,Object -MethodNode,276,DataType -MethodNode_Encoding_DefaultXml,277,Object -MethodNode_Encoding_DefaultBinary,278,Object -ViewNode,279,DataType -ViewNode_Encoding_DefaultXml,280,Object -ViewNode_Encoding_DefaultBinary,281,Object -DataTypeNode,282,DataType -DataTypeNode_Encoding_DefaultXml,283,Object -DataTypeNode_Encoding_DefaultBinary,284,Object -ReferenceNode,285,DataType -ReferenceNode_Encoding_DefaultXml,286,Object -ReferenceNode_Encoding_DefaultBinary,287,Object -IntegerId,288,DataType -Counter,289,DataType -Duration,290,DataType -NumericRange,291,DataType -Time,292,DataType -Date,293,DataType -UtcTime,294,DataType -LocaleId,295,DataType -Argument,296,DataType -Argument_Encoding_DefaultXml,297,Object -Argument_Encoding_DefaultBinary,298,Object -StatusResult,299,DataType -StatusResult_Encoding_DefaultXml,300,Object -StatusResult_Encoding_DefaultBinary,301,Object -MessageSecurityMode,302,DataType -UserTokenType,303,DataType -UserTokenPolicy,304,DataType -UserTokenPolicy_Encoding_DefaultXml,305,Object -UserTokenPolicy_Encoding_DefaultBinary,306,Object -ApplicationType,307,DataType -ApplicationDescription,308,DataType -ApplicationDescription_Encoding_DefaultXml,309,Object -ApplicationDescription_Encoding_DefaultBinary,310,Object -ApplicationInstanceCertificate,311,DataType -EndpointDescription,312,DataType -EndpointDescription_Encoding_DefaultXml,313,Object -EndpointDescription_Encoding_DefaultBinary,314,Object -SecurityTokenRequestType,315,DataType -UserIdentityToken,316,DataType -UserIdentityToken_Encoding_DefaultXml,317,Object -UserIdentityToken_Encoding_DefaultBinary,318,Object -AnonymousIdentityToken,319,DataType -AnonymousIdentityToken_Encoding_DefaultXml,320,Object -AnonymousIdentityToken_Encoding_DefaultBinary,321,Object -UserNameIdentityToken,322,DataType -UserNameIdentityToken_Encoding_DefaultXml,323,Object -UserNameIdentityToken_Encoding_DefaultBinary,324,Object -X509IdentityToken,325,DataType -X509IdentityToken_Encoding_DefaultXml,326,Object -X509IdentityToken_Encoding_DefaultBinary,327,Object -EndpointConfiguration,331,DataType -EndpointConfiguration_Encoding_DefaultXml,332,Object -EndpointConfiguration_Encoding_DefaultBinary,333,Object -ComplianceLevel,334,DataType -SupportedProfile,335,DataType -SupportedProfile_Encoding_DefaultXml,336,Object -SupportedProfile_Encoding_DefaultBinary,337,Object -BuildInfo,338,DataType -BuildInfo_Encoding_DefaultXml,339,Object -BuildInfo_Encoding_DefaultBinary,340,Object -SoftwareCertificate,341,DataType -SoftwareCertificate_Encoding_DefaultXml,342,Object -SoftwareCertificate_Encoding_DefaultBinary,343,Object -SignedSoftwareCertificate,344,DataType -SignedSoftwareCertificate_Encoding_DefaultXml,345,Object -SignedSoftwareCertificate_Encoding_DefaultBinary,346,Object -AttributeWriteMask,347,DataType -NodeAttributesMask,348,DataType -NodeAttributes,349,DataType -NodeAttributes_Encoding_DefaultXml,350,Object -NodeAttributes_Encoding_DefaultBinary,351,Object -ObjectAttributes,352,DataType -ObjectAttributes_Encoding_DefaultXml,353,Object -ObjectAttributes_Encoding_DefaultBinary,354,Object -VariableAttributes,355,DataType -VariableAttributes_Encoding_DefaultXml,356,Object -VariableAttributes_Encoding_DefaultBinary,357,Object -MethodAttributes,358,DataType -MethodAttributes_Encoding_DefaultXml,359,Object -MethodAttributes_Encoding_DefaultBinary,360,Object -ObjectTypeAttributes,361,DataType -ObjectTypeAttributes_Encoding_DefaultXml,362,Object -ObjectTypeAttributes_Encoding_DefaultBinary,363,Object -VariableTypeAttributes,364,DataType -VariableTypeAttributes_Encoding_DefaultXml,365,Object -VariableTypeAttributes_Encoding_DefaultBinary,366,Object -ReferenceTypeAttributes,367,DataType -ReferenceTypeAttributes_Encoding_DefaultXml,368,Object -ReferenceTypeAttributes_Encoding_DefaultBinary,369,Object -DataTypeAttributes,370,DataType -DataTypeAttributes_Encoding_DefaultXml,371,Object -DataTypeAttributes_Encoding_DefaultBinary,372,Object -ViewAttributes,373,DataType -ViewAttributes_Encoding_DefaultXml,374,Object -ViewAttributes_Encoding_DefaultBinary,375,Object -AddNodesItem,376,DataType -AddNodesItem_Encoding_DefaultXml,377,Object -AddNodesItem_Encoding_DefaultBinary,378,Object -AddReferencesItem,379,DataType -AddReferencesItem_Encoding_DefaultXml,380,Object -AddReferencesItem_Encoding_DefaultBinary,381,Object -DeleteNodesItem,382,DataType -DeleteNodesItem_Encoding_DefaultXml,383,Object -DeleteNodesItem_Encoding_DefaultBinary,384,Object -DeleteReferencesItem,385,DataType -DeleteReferencesItem_Encoding_DefaultXml,386,Object -DeleteReferencesItem_Encoding_DefaultBinary,387,Object -SessionAuthenticationToken,388,DataType -RequestHeader,389,DataType -RequestHeader_Encoding_DefaultXml,390,Object -RequestHeader_Encoding_DefaultBinary,391,Object -ResponseHeader,392,DataType -ResponseHeader_Encoding_DefaultXml,393,Object -ResponseHeader_Encoding_DefaultBinary,394,Object -ServiceFault,395,DataType -ServiceFault_Encoding_DefaultXml,396,Object -ServiceFault_Encoding_DefaultBinary,397,Object -EnumeratedTestType,398,DataType -FindServersRequest,420,DataType -FindServersRequest_Encoding_DefaultXml,421,Object -FindServersRequest_Encoding_DefaultBinary,422,Object -FindServersResponse,423,DataType -FindServersResponse_Encoding_DefaultXml,424,Object -FindServersResponse_Encoding_DefaultBinary,425,Object -GetEndpointsRequest,426,DataType -GetEndpointsRequest_Encoding_DefaultXml,427,Object -GetEndpointsRequest_Encoding_DefaultBinary,428,Object -GetEndpointsResponse,429,DataType -GetEndpointsResponse_Encoding_DefaultXml,430,Object -GetEndpointsResponse_Encoding_DefaultBinary,431,Object -RegisteredServer,432,DataType -RegisteredServer_Encoding_DefaultXml,433,Object -RegisteredServer_Encoding_DefaultBinary,434,Object -RegisterServerRequest,435,DataType -RegisterServerRequest_Encoding_DefaultXml,436,Object -RegisterServerRequest_Encoding_DefaultBinary,437,Object -RegisterServerResponse,438,DataType -RegisterServerResponse_Encoding_DefaultXml,439,Object -RegisterServerResponse_Encoding_DefaultBinary,440,Object -ChannelSecurityToken,441,DataType -ChannelSecurityToken_Encoding_DefaultXml,442,Object -ChannelSecurityToken_Encoding_DefaultBinary,443,Object -OpenSecureChannelRequest,444,DataType -OpenSecureChannelRequest_Encoding_DefaultXml,445,Object -OpenSecureChannelRequest_Encoding_DefaultBinary,446,Object -OpenSecureChannelResponse,447,DataType -OpenSecureChannelResponse_Encoding_DefaultXml,448,Object -OpenSecureChannelResponse_Encoding_DefaultBinary,449,Object -CloseSecureChannelRequest,450,DataType -CloseSecureChannelRequest_Encoding_DefaultXml,451,Object -CloseSecureChannelRequest_Encoding_DefaultBinary,452,Object -CloseSecureChannelResponse,453,DataType -CloseSecureChannelResponse_Encoding_DefaultXml,454,Object -CloseSecureChannelResponse_Encoding_DefaultBinary,455,Object -SignatureData,456,DataType -SignatureData_Encoding_DefaultXml,457,Object -SignatureData_Encoding_DefaultBinary,458,Object -CreateSessionRequest,459,DataType -CreateSessionRequest_Encoding_DefaultXml,460,Object -CreateSessionRequest_Encoding_DefaultBinary,461,Object -CreateSessionResponse,462,DataType -CreateSessionResponse_Encoding_DefaultXml,463,Object -CreateSessionResponse_Encoding_DefaultBinary,464,Object -ActivateSessionRequest,465,DataType -ActivateSessionRequest_Encoding_DefaultXml,466,Object -ActivateSessionRequest_Encoding_DefaultBinary,467,Object -ActivateSessionResponse,468,DataType -ActivateSessionResponse_Encoding_DefaultXml,469,Object -ActivateSessionResponse_Encoding_DefaultBinary,470,Object -CloseSessionRequest,471,DataType -CloseSessionRequest_Encoding_DefaultXml,472,Object -CloseSessionRequest_Encoding_DefaultBinary,473,Object -CloseSessionResponse,474,DataType -CloseSessionResponse_Encoding_DefaultXml,475,Object -CloseSessionResponse_Encoding_DefaultBinary,476,Object -CancelRequest,477,DataType -CancelRequest_Encoding_DefaultXml,478,Object -CancelRequest_Encoding_DefaultBinary,479,Object -CancelResponse,480,DataType -CancelResponse_Encoding_DefaultXml,481,Object -CancelResponse_Encoding_DefaultBinary,482,Object -AddNodesResult,483,DataType -AddNodesResult_Encoding_DefaultXml,484,Object -AddNodesResult_Encoding_DefaultBinary,485,Object -AddNodesRequest,486,DataType -AddNodesRequest_Encoding_DefaultXml,487,Object -AddNodesRequest_Encoding_DefaultBinary,488,Object -AddNodesResponse,489,DataType -AddNodesResponse_Encoding_DefaultXml,490,Object -AddNodesResponse_Encoding_DefaultBinary,491,Object -AddReferencesRequest,492,DataType -AddReferencesRequest_Encoding_DefaultXml,493,Object -AddReferencesRequest_Encoding_DefaultBinary,494,Object -AddReferencesResponse,495,DataType -AddReferencesResponse_Encoding_DefaultXml,496,Object -AddReferencesResponse_Encoding_DefaultBinary,497,Object -DeleteNodesRequest,498,DataType -DeleteNodesRequest_Encoding_DefaultXml,499,Object -DeleteNodesRequest_Encoding_DefaultBinary,500,Object -DeleteNodesResponse,501,DataType -DeleteNodesResponse_Encoding_DefaultXml,502,Object -DeleteNodesResponse_Encoding_DefaultBinary,503,Object -DeleteReferencesRequest,504,DataType -DeleteReferencesRequest_Encoding_DefaultXml,505,Object -DeleteReferencesRequest_Encoding_DefaultBinary,506,Object -DeleteReferencesResponse,507,DataType -DeleteReferencesResponse_Encoding_DefaultXml,508,Object -DeleteReferencesResponse_Encoding_DefaultBinary,509,Object -BrowseDirection,510,DataType -ViewDescription,511,DataType -ViewDescription_Encoding_DefaultXml,512,Object -ViewDescription_Encoding_DefaultBinary,513,Object -BrowseDescription,514,DataType -BrowseDescription_Encoding_DefaultXml,515,Object -BrowseDescription_Encoding_DefaultBinary,516,Object -BrowseResultMask,517,DataType -ReferenceDescription,518,DataType -ReferenceDescription_Encoding_DefaultXml,519,Object -ReferenceDescription_Encoding_DefaultBinary,520,Object -ContinuationPoint,521,DataType -BrowseResult,522,DataType -BrowseResult_Encoding_DefaultXml,523,Object -BrowseResult_Encoding_DefaultBinary,524,Object -BrowseRequest,525,DataType -BrowseRequest_Encoding_DefaultXml,526,Object -BrowseRequest_Encoding_DefaultBinary,527,Object -BrowseResponse,528,DataType -BrowseResponse_Encoding_DefaultXml,529,Object -BrowseResponse_Encoding_DefaultBinary,530,Object -BrowseNextRequest,531,DataType -BrowseNextRequest_Encoding_DefaultXml,532,Object -BrowseNextRequest_Encoding_DefaultBinary,533,Object -BrowseNextResponse,534,DataType -BrowseNextResponse_Encoding_DefaultXml,535,Object -BrowseNextResponse_Encoding_DefaultBinary,536,Object -RelativePathElement,537,DataType -RelativePathElement_Encoding_DefaultXml,538,Object -RelativePathElement_Encoding_DefaultBinary,539,Object -RelativePath,540,DataType -RelativePath_Encoding_DefaultXml,541,Object -RelativePath_Encoding_DefaultBinary,542,Object -BrowsePath,543,DataType -BrowsePath_Encoding_DefaultXml,544,Object -BrowsePath_Encoding_DefaultBinary,545,Object -BrowsePathTarget,546,DataType -BrowsePathTarget_Encoding_DefaultXml,547,Object -BrowsePathTarget_Encoding_DefaultBinary,548,Object -BrowsePathResult,549,DataType -BrowsePathResult_Encoding_DefaultXml,550,Object -BrowsePathResult_Encoding_DefaultBinary,551,Object -TranslateBrowsePathsToNodeIdsRequest,552,DataType -TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultXml,553,Object -TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultBinary,554,Object -TranslateBrowsePathsToNodeIdsResponse,555,DataType -TranslateBrowsePathsToNodeIdsResponse_Encoding_DefaultXml,556,Object -TranslateBrowsePathsToNodeIdsResponse_Encoding_DefaultBinary,557,Object -RegisterNodesRequest,558,DataType -RegisterNodesRequest_Encoding_DefaultXml,559,Object -RegisterNodesRequest_Encoding_DefaultBinary,560,Object -RegisterNodesResponse,561,DataType -RegisterNodesResponse_Encoding_DefaultXml,562,Object -RegisterNodesResponse_Encoding_DefaultBinary,563,Object -UnregisterNodesRequest,564,DataType -UnregisterNodesRequest_Encoding_DefaultXml,565,Object -UnregisterNodesRequest_Encoding_DefaultBinary,566,Object -UnregisterNodesResponse,567,DataType -UnregisterNodesResponse_Encoding_DefaultXml,568,Object -UnregisterNodesResponse_Encoding_DefaultBinary,569,Object -QueryDataDescription,570,DataType -QueryDataDescription_Encoding_DefaultXml,571,Object -QueryDataDescription_Encoding_DefaultBinary,572,Object -NodeTypeDescription,573,DataType -NodeTypeDescription_Encoding_DefaultXml,574,Object -NodeTypeDescription_Encoding_DefaultBinary,575,Object -FilterOperator,576,DataType -QueryDataSet,577,DataType -QueryDataSet_Encoding_DefaultXml,578,Object -QueryDataSet_Encoding_DefaultBinary,579,Object -NodeReference,580,DataType -NodeReference_Encoding_DefaultXml,581,Object -NodeReference_Encoding_DefaultBinary,582,Object -ContentFilterElement,583,DataType -ContentFilterElement_Encoding_DefaultXml,584,Object -ContentFilterElement_Encoding_DefaultBinary,585,Object -ContentFilter,586,DataType -ContentFilter_Encoding_DefaultXml,587,Object -ContentFilter_Encoding_DefaultBinary,588,Object -FilterOperand,589,DataType -FilterOperand_Encoding_DefaultXml,590,Object -FilterOperand_Encoding_DefaultBinary,591,Object -ElementOperand,592,DataType -ElementOperand_Encoding_DefaultXml,593,Object -ElementOperand_Encoding_DefaultBinary,594,Object -LiteralOperand,595,DataType -LiteralOperand_Encoding_DefaultXml,596,Object -LiteralOperand_Encoding_DefaultBinary,597,Object -AttributeOperand,598,DataType -AttributeOperand_Encoding_DefaultXml,599,Object -AttributeOperand_Encoding_DefaultBinary,600,Object -SimpleAttributeOperand,601,DataType -SimpleAttributeOperand_Encoding_DefaultXml,602,Object -SimpleAttributeOperand_Encoding_DefaultBinary,603,Object -ContentFilterElementResult,604,DataType -ContentFilterElementResult_Encoding_DefaultXml,605,Object -ContentFilterElementResult_Encoding_DefaultBinary,606,Object -ContentFilterResult,607,DataType -ContentFilterResult_Encoding_DefaultXml,608,Object -ContentFilterResult_Encoding_DefaultBinary,609,Object -ParsingResult,610,DataType -ParsingResult_Encoding_DefaultXml,611,Object -ParsingResult_Encoding_DefaultBinary,612,Object -QueryFirstRequest,613,DataType -QueryFirstRequest_Encoding_DefaultXml,614,Object -QueryFirstRequest_Encoding_DefaultBinary,615,Object -QueryFirstResponse,616,DataType -QueryFirstResponse_Encoding_DefaultXml,617,Object -QueryFirstResponse_Encoding_DefaultBinary,618,Object -QueryNextRequest,619,DataType -QueryNextRequest_Encoding_DefaultXml,620,Object -QueryNextRequest_Encoding_DefaultBinary,621,Object -QueryNextResponse,622,DataType -QueryNextResponse_Encoding_DefaultXml,623,Object -QueryNextResponse_Encoding_DefaultBinary,624,Object -TimestampsToReturn,625,DataType -ReadValueId,626,DataType -ReadValueId_Encoding_DefaultXml,627,Object -ReadValueId_Encoding_DefaultBinary,628,Object -ReadRequest,629,DataType -ReadRequest_Encoding_DefaultXml,630,Object -ReadRequest_Encoding_DefaultBinary,631,Object -ReadResponse,632,DataType -ReadResponse_Encoding_DefaultXml,633,Object -ReadResponse_Encoding_DefaultBinary,634,Object -HistoryReadValueId,635,DataType -HistoryReadValueId_Encoding_DefaultXml,636,Object -HistoryReadValueId_Encoding_DefaultBinary,637,Object -HistoryReadResult,638,DataType -HistoryReadResult_Encoding_DefaultXml,639,Object -HistoryReadResult_Encoding_DefaultBinary,640,Object -HistoryReadDetails,641,DataType -HistoryReadDetails_Encoding_DefaultXml,642,Object -HistoryReadDetails_Encoding_DefaultBinary,643,Object -ReadEventDetails,644,DataType -ReadEventDetails_Encoding_DefaultXml,645,Object -ReadEventDetails_Encoding_DefaultBinary,646,Object -ReadRawModifiedDetails,647,DataType -ReadRawModifiedDetails_Encoding_DefaultXml,648,Object -ReadRawModifiedDetails_Encoding_DefaultBinary,649,Object -ReadProcessedDetails,650,DataType -ReadProcessedDetails_Encoding_DefaultXml,651,Object -ReadProcessedDetails_Encoding_DefaultBinary,652,Object -ReadAtTimeDetails,653,DataType -ReadAtTimeDetails_Encoding_DefaultXml,654,Object -ReadAtTimeDetails_Encoding_DefaultBinary,655,Object -HistoryData,656,DataType -HistoryData_Encoding_DefaultXml,657,Object -HistoryData_Encoding_DefaultBinary,658,Object -HistoryEvent,659,DataType -HistoryEvent_Encoding_DefaultXml,660,Object -HistoryEvent_Encoding_DefaultBinary,661,Object -HistoryReadRequest,662,DataType -HistoryReadRequest_Encoding_DefaultXml,663,Object -HistoryReadRequest_Encoding_DefaultBinary,664,Object -HistoryReadResponse,665,DataType -HistoryReadResponse_Encoding_DefaultXml,666,Object -HistoryReadResponse_Encoding_DefaultBinary,667,Object -WriteValue,668,DataType -WriteValue_Encoding_DefaultXml,669,Object -WriteValue_Encoding_DefaultBinary,670,Object -WriteRequest,671,DataType -WriteRequest_Encoding_DefaultXml,672,Object -WriteRequest_Encoding_DefaultBinary,673,Object -WriteResponse,674,DataType -WriteResponse_Encoding_DefaultXml,675,Object -WriteResponse_Encoding_DefaultBinary,676,Object -HistoryUpdateDetails,677,DataType -HistoryUpdateDetails_Encoding_DefaultXml,678,Object -HistoryUpdateDetails_Encoding_DefaultBinary,679,Object -UpdateDataDetails,680,DataType -UpdateDataDetails_Encoding_DefaultXml,681,Object -UpdateDataDetails_Encoding_DefaultBinary,682,Object -UpdateEventDetails,683,DataType -UpdateEventDetails_Encoding_DefaultXml,684,Object -UpdateEventDetails_Encoding_DefaultBinary,685,Object -DeleteRawModifiedDetails,686,DataType -DeleteRawModifiedDetails_Encoding_DefaultXml,687,Object -DeleteRawModifiedDetails_Encoding_DefaultBinary,688,Object -DeleteAtTimeDetails,689,DataType -DeleteAtTimeDetails_Encoding_DefaultXml,690,Object -DeleteAtTimeDetails_Encoding_DefaultBinary,691,Object -DeleteEventDetails,692,DataType -DeleteEventDetails_Encoding_DefaultXml,693,Object -DeleteEventDetails_Encoding_DefaultBinary,694,Object -HistoryUpdateResult,695,DataType -HistoryUpdateResult_Encoding_DefaultXml,696,Object -HistoryUpdateResult_Encoding_DefaultBinary,697,Object -HistoryUpdateRequest,698,DataType -HistoryUpdateRequest_Encoding_DefaultXml,699,Object -HistoryUpdateRequest_Encoding_DefaultBinary,700,Object -HistoryUpdateResponse,701,DataType -HistoryUpdateResponse_Encoding_DefaultXml,702,Object -HistoryUpdateResponse_Encoding_DefaultBinary,703,Object -CallMethodRequest,704,DataType -CallMethodRequest_Encoding_DefaultXml,705,Object -CallMethodRequest_Encoding_DefaultBinary,706,Object -CallMethodResult,707,DataType -CallMethodResult_Encoding_DefaultXml,708,Object -CallMethodResult_Encoding_DefaultBinary,709,Object -CallRequest,710,DataType -CallRequest_Encoding_DefaultXml,711,Object -CallRequest_Encoding_DefaultBinary,712,Object -CallResponse,713,DataType -CallResponse_Encoding_DefaultXml,714,Object -CallResponse_Encoding_DefaultBinary,715,Object -MonitoringMode,716,DataType -DataChangeTrigger,717,DataType -DeadbandType,718,DataType -MonitoringFilter,719,DataType -MonitoringFilter_Encoding_DefaultXml,720,Object -MonitoringFilter_Encoding_DefaultBinary,721,Object -DataChangeFilter,722,DataType -DataChangeFilter_Encoding_DefaultXml,723,Object -DataChangeFilter_Encoding_DefaultBinary,724,Object -EventFilter,725,DataType -EventFilter_Encoding_DefaultXml,726,Object -EventFilter_Encoding_DefaultBinary,727,Object -AggregateFilter,728,DataType -AggregateFilter_Encoding_DefaultXml,729,Object -AggregateFilter_Encoding_DefaultBinary,730,Object -MonitoringFilterResult,731,DataType -MonitoringFilterResult_Encoding_DefaultXml,732,Object -MonitoringFilterResult_Encoding_DefaultBinary,733,Object -EventFilterResult,734,DataType -EventFilterResult_Encoding_DefaultXml,735,Object -EventFilterResult_Encoding_DefaultBinary,736,Object -AggregateFilterResult,737,DataType -AggregateFilterResult_Encoding_DefaultXml,738,Object -AggregateFilterResult_Encoding_DefaultBinary,739,Object -MonitoringParameters,740,DataType -MonitoringParameters_Encoding_DefaultXml,741,Object -MonitoringParameters_Encoding_DefaultBinary,742,Object -MonitoredItemCreateRequest,743,DataType -MonitoredItemCreateRequest_Encoding_DefaultXml,744,Object -MonitoredItemCreateRequest_Encoding_DefaultBinary,745,Object -MonitoredItemCreateResult,746,DataType -MonitoredItemCreateResult_Encoding_DefaultXml,747,Object -MonitoredItemCreateResult_Encoding_DefaultBinary,748,Object -CreateMonitoredItemsRequest,749,DataType -CreateMonitoredItemsRequest_Encoding_DefaultXml,750,Object -CreateMonitoredItemsRequest_Encoding_DefaultBinary,751,Object -CreateMonitoredItemsResponse,752,DataType -CreateMonitoredItemsResponse_Encoding_DefaultXml,753,Object -CreateMonitoredItemsResponse_Encoding_DefaultBinary,754,Object -MonitoredItemModifyRequest,755,DataType -MonitoredItemModifyRequest_Encoding_DefaultXml,756,Object -MonitoredItemModifyRequest_Encoding_DefaultBinary,757,Object -MonitoredItemModifyResult,758,DataType -MonitoredItemModifyResult_Encoding_DefaultXml,759,Object -MonitoredItemModifyResult_Encoding_DefaultBinary,760,Object -ModifyMonitoredItemsRequest,761,DataType -ModifyMonitoredItemsRequest_Encoding_DefaultXml,762,Object -ModifyMonitoredItemsRequest_Encoding_DefaultBinary,763,Object -ModifyMonitoredItemsResponse,764,DataType -ModifyMonitoredItemsResponse_Encoding_DefaultXml,765,Object -ModifyMonitoredItemsResponse_Encoding_DefaultBinary,766,Object -SetMonitoringModeRequest,767,DataType -SetMonitoringModeRequest_Encoding_DefaultXml,768,Object -SetMonitoringModeRequest_Encoding_DefaultBinary,769,Object -SetMonitoringModeResponse,770,DataType -SetMonitoringModeResponse_Encoding_DefaultXml,771,Object -SetMonitoringModeResponse_Encoding_DefaultBinary,772,Object -SetTriggeringRequest,773,DataType -SetTriggeringRequest_Encoding_DefaultXml,774,Object -SetTriggeringRequest_Encoding_DefaultBinary,775,Object -SetTriggeringResponse,776,DataType -SetTriggeringResponse_Encoding_DefaultXml,777,Object -SetTriggeringResponse_Encoding_DefaultBinary,778,Object -DeleteMonitoredItemsRequest,779,DataType -DeleteMonitoredItemsRequest_Encoding_DefaultXml,780,Object -DeleteMonitoredItemsRequest_Encoding_DefaultBinary,781,Object -DeleteMonitoredItemsResponse,782,DataType -DeleteMonitoredItemsResponse_Encoding_DefaultXml,783,Object -DeleteMonitoredItemsResponse_Encoding_DefaultBinary,784,Object -CreateSubscriptionRequest,785,DataType -CreateSubscriptionRequest_Encoding_DefaultXml,786,Object -CreateSubscriptionRequest_Encoding_DefaultBinary,787,Object -CreateSubscriptionResponse,788,DataType -CreateSubscriptionResponse_Encoding_DefaultXml,789,Object -CreateSubscriptionResponse_Encoding_DefaultBinary,790,Object -ModifySubscriptionRequest,791,DataType -ModifySubscriptionRequest_Encoding_DefaultXml,792,Object -ModifySubscriptionRequest_Encoding_DefaultBinary,793,Object -ModifySubscriptionResponse,794,DataType -ModifySubscriptionResponse_Encoding_DefaultXml,795,Object -ModifySubscriptionResponse_Encoding_DefaultBinary,796,Object -SetPublishingModeRequest,797,DataType -SetPublishingModeRequest_Encoding_DefaultXml,798,Object -SetPublishingModeRequest_Encoding_DefaultBinary,799,Object -SetPublishingModeResponse,800,DataType -SetPublishingModeResponse_Encoding_DefaultXml,801,Object -SetPublishingModeResponse_Encoding_DefaultBinary,802,Object -NotificationMessage,803,DataType -NotificationMessage_Encoding_DefaultXml,804,Object -NotificationMessage_Encoding_DefaultBinary,805,Object -MonitoredItemNotification,806,DataType -MonitoredItemNotification_Encoding_DefaultXml,807,Object -MonitoredItemNotification_Encoding_DefaultBinary,808,Object -DataChangeNotification,809,DataType -DataChangeNotification_Encoding_DefaultXml,810,Object -DataChangeNotification_Encoding_DefaultBinary,811,Object -StatusChangeNotification,818,DataType -StatusChangeNotification_Encoding_DefaultXml,819,Object -StatusChangeNotification_Encoding_DefaultBinary,820,Object -SubscriptionAcknowledgement,821,DataType -SubscriptionAcknowledgement_Encoding_DefaultXml,822,Object -SubscriptionAcknowledgement_Encoding_DefaultBinary,823,Object -PublishRequest,824,DataType -PublishRequest_Encoding_DefaultXml,825,Object -PublishRequest_Encoding_DefaultBinary,826,Object -PublishResponse,827,DataType -PublishResponse_Encoding_DefaultXml,828,Object -PublishResponse_Encoding_DefaultBinary,829,Object -RepublishRequest,830,DataType -RepublishRequest_Encoding_DefaultXml,831,Object -RepublishRequest_Encoding_DefaultBinary,832,Object -RepublishResponse,833,DataType -RepublishResponse_Encoding_DefaultXml,834,Object -RepublishResponse_Encoding_DefaultBinary,835,Object -TransferResult,836,DataType -TransferResult_Encoding_DefaultXml,837,Object -TransferResult_Encoding_DefaultBinary,838,Object -TransferSubscriptionsRequest,839,DataType -TransferSubscriptionsRequest_Encoding_DefaultXml,840,Object -TransferSubscriptionsRequest_Encoding_DefaultBinary,841,Object -TransferSubscriptionsResponse,842,DataType -TransferSubscriptionsResponse_Encoding_DefaultXml,843,Object -TransferSubscriptionsResponse_Encoding_DefaultBinary,844,Object -DeleteSubscriptionsRequest,845,DataType -DeleteSubscriptionsRequest_Encoding_DefaultXml,846,Object -DeleteSubscriptionsRequest_Encoding_DefaultBinary,847,Object -DeleteSubscriptionsResponse,848,DataType -DeleteSubscriptionsResponse_Encoding_DefaultXml,849,Object -DeleteSubscriptionsResponse_Encoding_DefaultBinary,850,Object -RedundancySupport,851,DataType -ServerState,852,DataType -RedundantServerDataType,853,DataType -RedundantServerDataType_Encoding_DefaultXml,854,Object -RedundantServerDataType_Encoding_DefaultBinary,855,Object -SamplingIntervalDiagnosticsDataType,856,DataType -SamplingIntervalDiagnosticsDataType_Encoding_DefaultXml,857,Object -SamplingIntervalDiagnosticsDataType_Encoding_DefaultBinary,858,Object -ServerDiagnosticsSummaryDataType,859,DataType -ServerDiagnosticsSummaryDataType_Encoding_DefaultXml,860,Object -ServerDiagnosticsSummaryDataType_Encoding_DefaultBinary,861,Object -ServerStatusDataType,862,DataType -ServerStatusDataType_Encoding_DefaultXml,863,Object -ServerStatusDataType_Encoding_DefaultBinary,864,Object -SessionDiagnosticsDataType,865,DataType -SessionDiagnosticsDataType_Encoding_DefaultXml,866,Object -SessionDiagnosticsDataType_Encoding_DefaultBinary,867,Object -SessionSecurityDiagnosticsDataType,868,DataType -SessionSecurityDiagnosticsDataType_Encoding_DefaultXml,869,Object -SessionSecurityDiagnosticsDataType_Encoding_DefaultBinary,870,Object -ServiceCounterDataType,871,DataType -ServiceCounterDataType_Encoding_DefaultXml,872,Object -ServiceCounterDataType_Encoding_DefaultBinary,873,Object -SubscriptionDiagnosticsDataType,874,DataType -SubscriptionDiagnosticsDataType_Encoding_DefaultXml,875,Object -SubscriptionDiagnosticsDataType_Encoding_DefaultBinary,876,Object -ModelChangeStructureDataType,877,DataType -ModelChangeStructureDataType_Encoding_DefaultXml,878,Object -ModelChangeStructureDataType_Encoding_DefaultBinary,879,Object -Range,884,DataType -Range_Encoding_DefaultXml,885,Object -Range_Encoding_DefaultBinary,886,Object -EUInformation,887,DataType -EUInformation_Encoding_DefaultXml,888,Object -EUInformation_Encoding_DefaultBinary,889,Object -ExceptionDeviationFormat,890,DataType -Annotation,891,DataType -Annotation_Encoding_DefaultXml,892,Object -Annotation_Encoding_DefaultBinary,893,Object -ProgramDiagnosticDataType,894,DataType -ProgramDiagnosticDataType_Encoding_DefaultXml,895,Object -ProgramDiagnosticDataType_Encoding_DefaultBinary,896,Object -SemanticChangeStructureDataType,897,DataType -SemanticChangeStructureDataType_Encoding_DefaultXml,898,Object -SemanticChangeStructureDataType_Encoding_DefaultBinary,899,Object -EventNotificationList,914,DataType -EventNotificationList_Encoding_DefaultXml,915,Object -EventNotificationList_Encoding_DefaultBinary,916,Object -EventFieldList,917,DataType -EventFieldList_Encoding_DefaultXml,918,Object -EventFieldList_Encoding_DefaultBinary,919,Object -HistoryEventFieldList,920,DataType -HistoryEventFieldList_Encoding_DefaultXml,921,Object -HistoryEventFieldList_Encoding_DefaultBinary,922,Object -IssuedIdentityToken,938,DataType -IssuedIdentityToken_Encoding_DefaultXml,939,Object -IssuedIdentityToken_Encoding_DefaultBinary,940,Object -NotificationData,945,DataType -NotificationData_Encoding_DefaultXml,946,Object -NotificationData_Encoding_DefaultBinary,947,Object -AggregateConfiguration,948,DataType -AggregateConfiguration_Encoding_DefaultXml,949,Object -AggregateConfiguration_Encoding_DefaultBinary,950,Object -ImageBMP,2000,DataType -ImageGIF,2001,DataType -ImageJPG,2002,DataType -ImagePNG,2003,DataType -ServerType,2004,ObjectType -ServerType_ServerArray,2005,Variable -ServerType_NamespaceArray,2006,Variable -ServerType_ServerStatus,2007,Variable -ServerType_ServiceLevel,2008,Variable -ServerType_ServerCapabilities,2009,Object -ServerType_ServerDiagnostics,2010,Object -ServerType_VendorServerInfo,2011,Object -ServerType_ServerRedundancy,2012,Object -ServerCapabilitiesType,2013,ObjectType -ServerCapabilitiesType_ServerProfileArray,2014,Variable -ServerCapabilitiesType_LocaleIdArray,2016,Variable -ServerCapabilitiesType_MinSupportedSampleRate,2017,Variable -ServerCapabilitiesType_ModellingRules,2019,Object -ServerDiagnosticsType,2020,ObjectType -ServerDiagnosticsType_ServerDiagnosticsSummary,2021,Variable -ServerDiagnosticsType_SamplingIntervalDiagnosticsArray,2022,Variable -ServerDiagnosticsType_SubscriptionDiagnosticsArray,2023,Variable -ServerDiagnosticsType_EnabledFlag,2025,Variable -SessionsDiagnosticsSummaryType,2026,ObjectType -SessionsDiagnosticsSummaryType_SessionDiagnosticsArray,2027,Variable -SessionsDiagnosticsSummaryType_SessionSecurityDiagnosticsArray,2028,Variable -SessionDiagnosticsObjectType,2029,ObjectType -SessionDiagnosticsObjectType_SessionDiagnostics,2030,Variable -SessionDiagnosticsObjectType_SessionSecurityDiagnostics,2031,Variable -SessionDiagnosticsObjectType_SubscriptionDiagnosticsArray,2032,Variable -VendorServerInfoType,2033,ObjectType -ServerRedundancyType,2034,ObjectType -ServerRedundancyType_RedundancySupport,2035,Variable -TransparentRedundancyType,2036,ObjectType -TransparentRedundancyType_CurrentServerId,2037,Variable -TransparentRedundancyType_RedundantServerArray,2038,Variable -NonTransparentRedundancyType,2039,ObjectType -NonTransparentRedundancyType_ServerUriArray,2040,Variable -BaseEventType,2041,ObjectType -BaseEventType_EventId,2042,Variable -BaseEventType_EventType,2043,Variable -BaseEventType_SourceNode,2044,Variable -BaseEventType_SourceName,2045,Variable -BaseEventType_Time,2046,Variable -BaseEventType_ReceiveTime,2047,Variable -BaseEventType_Message,2050,Variable -BaseEventType_Severity,2051,Variable -AuditEventType,2052,ObjectType -AuditEventType_ActionTimeStamp,2053,Variable -AuditEventType_Status,2054,Variable -AuditEventType_ServerId,2055,Variable -AuditEventType_ClientAuditEntryId,2056,Variable -AuditEventType_ClientUserId,2057,Variable -AuditSecurityEventType,2058,ObjectType -AuditChannelEventType,2059,ObjectType -AuditOpenSecureChannelEventType,2060,ObjectType -AuditOpenSecureChannelEventType_ClientCertificate,2061,Variable -AuditOpenSecureChannelEventType_RequestType,2062,Variable -AuditOpenSecureChannelEventType_SecurityPolicyUri,2063,Variable -AuditOpenSecureChannelEventType_SecurityMode,2065,Variable -AuditOpenSecureChannelEventType_RequestedLifetime,2066,Variable -AuditSessionEventType,2069,ObjectType -AuditSessionEventType_SessionId,2070,Variable -AuditCreateSessionEventType,2071,ObjectType -AuditCreateSessionEventType_SecureChannelId,2072,Variable -AuditCreateSessionEventType_ClientCertificate,2073,Variable -AuditCreateSessionEventType_RevisedSessionTimeout,2074,Variable -AuditActivateSessionEventType,2075,ObjectType -AuditActivateSessionEventType_ClientSoftwareCertificates,2076,Variable -AuditActivateSessionEventType_UserIdentityToken,2077,Variable -AuditCancelEventType,2078,ObjectType -AuditCancelEventType_RequestHandle,2079,Variable -AuditCertificateEventType,2080,ObjectType -AuditCertificateEventType_Certificate,2081,Variable -AuditCertificateDataMismatchEventType,2082,ObjectType -AuditCertificateDataMismatchEventType_InvalidHostname,2083,Variable -AuditCertificateDataMismatchEventType_InvalidUri,2084,Variable -AuditCertificateExpiredEventType,2085,ObjectType -AuditCertificateInvalidEventType,2086,ObjectType -AuditCertificateUntrustedEventType,2087,ObjectType -AuditCertificateRevokedEventType,2088,ObjectType -AuditCertificateMismatchEventType,2089,ObjectType -AuditNodeManagementEventType,2090,ObjectType -AuditAddNodesEventType,2091,ObjectType -AuditAddNodesEventType_NodesToAdd,2092,Variable -AuditDeleteNodesEventType,2093,ObjectType -AuditDeleteNodesEventType_NodesToDelete,2094,Variable -AuditAddReferencesEventType,2095,ObjectType -AuditAddReferencesEventType_ReferencesToAdd,2096,Variable -AuditDeleteReferencesEventType,2097,ObjectType -AuditDeleteReferencesEventType_ReferencesToDelete,2098,Variable -AuditUpdateEventType,2099,ObjectType -AuditWriteUpdateEventType,2100,ObjectType -AuditWriteUpdateEventType_IndexRange,2101,Variable -AuditWriteUpdateEventType_OldValue,2102,Variable -AuditWriteUpdateEventType_NewValue,2103,Variable -AuditHistoryUpdateEventType,2104,ObjectType -AuditUpdateMethodEventType,2127,ObjectType -AuditUpdateMethodEventType_MethodId,2128,Variable -AuditUpdateMethodEventType_InputArguments,2129,Variable -SystemEventType,2130,ObjectType -DeviceFailureEventType,2131,ObjectType -BaseModelChangeEventType,2132,ObjectType -GeneralModelChangeEventType,2133,ObjectType -GeneralModelChangeEventType_Changes,2134,Variable -ServerVendorCapabilityType,2137,VariableType -ServerStatusType,2138,VariableType -ServerStatusType_StartTime,2139,Variable -ServerStatusType_CurrentTime,2140,Variable -ServerStatusType_State,2141,Variable -ServerStatusType_BuildInfo,2142,Variable -ServerDiagnosticsSummaryType,2150,VariableType -ServerDiagnosticsSummaryType_ServerViewCount,2151,Variable -ServerDiagnosticsSummaryType_CurrentSessionCount,2152,Variable -ServerDiagnosticsSummaryType_CumulatedSessionCount,2153,Variable -ServerDiagnosticsSummaryType_SecurityRejectedSessionCount,2154,Variable -ServerDiagnosticsSummaryType_RejectedSessionCount,2155,Variable -ServerDiagnosticsSummaryType_SessionTimeoutCount,2156,Variable -ServerDiagnosticsSummaryType_SessionAbortCount,2157,Variable -ServerDiagnosticsSummaryType_PublishingIntervalCount,2159,Variable -ServerDiagnosticsSummaryType_CurrentSubscriptionCount,2160,Variable -ServerDiagnosticsSummaryType_CumulatedSubscriptionCount,2161,Variable -ServerDiagnosticsSummaryType_SecurityRejectedRequestsCount,2162,Variable -ServerDiagnosticsSummaryType_RejectedRequestsCount,2163,Variable -SamplingIntervalDiagnosticsArrayType,2164,VariableType -SamplingIntervalDiagnosticsType,2165,VariableType -SamplingIntervalDiagnosticsType_SamplingInterval,2166,Variable -SubscriptionDiagnosticsArrayType,2171,VariableType -SubscriptionDiagnosticsType,2172,VariableType -SubscriptionDiagnosticsType_SessionId,2173,Variable -SubscriptionDiagnosticsType_SubscriptionId,2174,Variable -SubscriptionDiagnosticsType_Priority,2175,Variable -SubscriptionDiagnosticsType_PublishingInterval,2176,Variable -SubscriptionDiagnosticsType_MaxKeepAliveCount,2177,Variable -SubscriptionDiagnosticsType_MaxNotificationsPerPublish,2179,Variable -SubscriptionDiagnosticsType_PublishingEnabled,2180,Variable -SubscriptionDiagnosticsType_ModifyCount,2181,Variable -SubscriptionDiagnosticsType_EnableCount,2182,Variable -SubscriptionDiagnosticsType_DisableCount,2183,Variable -SubscriptionDiagnosticsType_RepublishRequestCount,2184,Variable -SubscriptionDiagnosticsType_RepublishMessageRequestCount,2185,Variable -SubscriptionDiagnosticsType_RepublishMessageCount,2186,Variable -SubscriptionDiagnosticsType_TransferRequestCount,2187,Variable -SubscriptionDiagnosticsType_TransferredToAltClientCount,2188,Variable -SubscriptionDiagnosticsType_TransferredToSameClientCount,2189,Variable -SubscriptionDiagnosticsType_PublishRequestCount,2190,Variable -SubscriptionDiagnosticsType_DataChangeNotificationsCount,2191,Variable -SubscriptionDiagnosticsType_NotificationsCount,2193,Variable -SessionDiagnosticsArrayType,2196,VariableType -SessionDiagnosticsVariableType,2197,VariableType -SessionDiagnosticsVariableType_SessionId,2198,Variable -SessionDiagnosticsVariableType_SessionName,2199,Variable -SessionDiagnosticsVariableType_ClientDescription,2200,Variable -SessionDiagnosticsVariableType_ServerUri,2201,Variable -SessionDiagnosticsVariableType_EndpointUrl,2202,Variable -SessionDiagnosticsVariableType_LocaleIds,2203,Variable -SessionDiagnosticsVariableType_ActualSessionTimeout,2204,Variable -SessionDiagnosticsVariableType_ClientConnectionTime,2205,Variable -SessionDiagnosticsVariableType_ClientLastContactTime,2206,Variable -SessionDiagnosticsVariableType_CurrentSubscriptionsCount,2207,Variable -SessionDiagnosticsVariableType_CurrentMonitoredItemsCount,2208,Variable -SessionDiagnosticsVariableType_CurrentPublishRequestsInQueue,2209,Variable -SessionDiagnosticsVariableType_ReadCount,2217,Variable -SessionDiagnosticsVariableType_HistoryReadCount,2218,Variable -SessionDiagnosticsVariableType_WriteCount,2219,Variable -SessionDiagnosticsVariableType_HistoryUpdateCount,2220,Variable -SessionDiagnosticsVariableType_CallCount,2221,Variable -SessionDiagnosticsVariableType_CreateMonitoredItemsCount,2222,Variable -SessionDiagnosticsVariableType_ModifyMonitoredItemsCount,2223,Variable -SessionDiagnosticsVariableType_SetMonitoringModeCount,2224,Variable -SessionDiagnosticsVariableType_SetTriggeringCount,2225,Variable -SessionDiagnosticsVariableType_DeleteMonitoredItemsCount,2226,Variable -SessionDiagnosticsVariableType_CreateSubscriptionCount,2227,Variable -SessionDiagnosticsVariableType_ModifySubscriptionCount,2228,Variable -SessionDiagnosticsVariableType_SetPublishingModeCount,2229,Variable -SessionDiagnosticsVariableType_PublishCount,2230,Variable -SessionDiagnosticsVariableType_RepublishCount,2231,Variable -SessionDiagnosticsVariableType_TransferSubscriptionsCount,2232,Variable -SessionDiagnosticsVariableType_DeleteSubscriptionsCount,2233,Variable -SessionDiagnosticsVariableType_AddNodesCount,2234,Variable -SessionDiagnosticsVariableType_AddReferencesCount,2235,Variable -SessionDiagnosticsVariableType_DeleteNodesCount,2236,Variable -SessionDiagnosticsVariableType_DeleteReferencesCount,2237,Variable -SessionDiagnosticsVariableType_BrowseCount,2238,Variable -SessionDiagnosticsVariableType_BrowseNextCount,2239,Variable -SessionDiagnosticsVariableType_TranslateBrowsePathsToNodeIdsCount,2240,Variable -SessionDiagnosticsVariableType_QueryFirstCount,2241,Variable -SessionDiagnosticsVariableType_QueryNextCount,2242,Variable -SessionSecurityDiagnosticsArrayType,2243,VariableType -SessionSecurityDiagnosticsType,2244,VariableType -SessionSecurityDiagnosticsType_SessionId,2245,Variable -SessionSecurityDiagnosticsType_ClientUserIdOfSession,2246,Variable -SessionSecurityDiagnosticsType_ClientUserIdHistory,2247,Variable -SessionSecurityDiagnosticsType_AuthenticationMechanism,2248,Variable -SessionSecurityDiagnosticsType_Encoding,2249,Variable -SessionSecurityDiagnosticsType_TransportProtocol,2250,Variable -SessionSecurityDiagnosticsType_SecurityMode,2251,Variable -SessionSecurityDiagnosticsType_SecurityPolicyUri,2252,Variable -Server,2253,Object -Server_ServerArray,2254,Variable -Server_NamespaceArray,2255,Variable -Server_ServerStatus,2256,Variable -Server_ServerStatus_StartTime,2257,Variable -Server_ServerStatus_CurrentTime,2258,Variable -Server_ServerStatus_State,2259,Variable -Server_ServerStatus_BuildInfo,2260,Variable -Server_ServerStatus_BuildInfo_ProductName,2261,Variable -Server_ServerStatus_BuildInfo_ProductUri,2262,Variable -Server_ServerStatus_BuildInfo_ManufacturerName,2263,Variable -Server_ServerStatus_BuildInfo_SoftwareVersion,2264,Variable -Server_ServerStatus_BuildInfo_BuildNumber,2265,Variable -Server_ServerStatus_BuildInfo_BuildDate,2266,Variable -Server_ServiceLevel,2267,Variable -Server_ServerCapabilities,2268,Object -Server_ServerCapabilities_ServerProfileArray,2269,Variable -Server_ServerCapabilities_LocaleIdArray,2271,Variable -Server_ServerCapabilities_MinSupportedSampleRate,2272,Variable -Server_ServerDiagnostics,2274,Object -Server_ServerDiagnostics_ServerDiagnosticsSummary,2275,Variable -Server_ServerDiagnostics_ServerDiagnosticsSummary_ServerViewCount,2276,Variable -Server_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSessionCount,2277,Variable -Server_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSessionCount,2278,Variable -Server_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedSessionCount,2279,Variable -Server_ServerDiagnostics_ServerDiagnosticsSummary_SessionTimeoutCount,2281,Variable -Server_ServerDiagnostics_ServerDiagnosticsSummary_SessionAbortCount,2282,Variable -Server_ServerDiagnostics_ServerDiagnosticsSummary_PublishingIntervalCount,2284,Variable -Server_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSubscriptionCount,2285,Variable -Server_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSubscriptionCount,2286,Variable -Server_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedRequestsCount,2287,Variable -Server_ServerDiagnostics_ServerDiagnosticsSummary_RejectedRequestsCount,2288,Variable -Server_ServerDiagnostics_SamplingIntervalDiagnosticsArray,2289,Variable -Server_ServerDiagnostics_SubscriptionDiagnosticsArray,2290,Variable -Server_ServerDiagnostics_EnabledFlag,2294,Variable -Server_VendorServerInfo,2295,Object -Server_ServerRedundancy,2296,Object -StateMachineType,2299,ObjectType -StateType,2307,ObjectType -StateType_StateNumber,2308,Variable -InitialStateType,2309,ObjectType -TransitionType,2310,ObjectType -TransitionEventType,2311,ObjectType -TransitionType_TransitionNumber,2312,Variable -AuditUpdateStateEventType,2315,ObjectType -HistoricalDataConfigurationType,2318,ObjectType -HistoricalDataConfigurationType_Stepped,2323,Variable -HistoricalDataConfigurationType_Definition,2324,Variable -HistoricalDataConfigurationType_MaxTimeInterval,2325,Variable -HistoricalDataConfigurationType_MinTimeInterval,2326,Variable -HistoricalDataConfigurationType_ExceptionDeviation,2327,Variable -HistoricalDataConfigurationType_ExceptionDeviationFormat,2328,Variable -HistoryServerCapabilitiesType,2330,ObjectType -HistoryServerCapabilitiesType_AccessHistoryDataCapability,2331,Variable -HistoryServerCapabilitiesType_AccessHistoryEventsCapability,2332,Variable -HistoryServerCapabilitiesType_InsertDataCapability,2334,Variable -HistoryServerCapabilitiesType_ReplaceDataCapability,2335,Variable -HistoryServerCapabilitiesType_UpdateDataCapability,2336,Variable -HistoryServerCapabilitiesType_DeleteRawCapability,2337,Variable -HistoryServerCapabilitiesType_DeleteAtTimeCapability,2338,Variable -AggregateFunctionType,2340,ObjectType -AggregateFunction_Interpolative,2341,Object -AggregateFunction_Average,2342,Object -AggregateFunction_TimeAverage,2343,Object -AggregateFunction_Total,2344,Object -AggregateFunction_Minimum,2346,Object -AggregateFunction_Maximum,2347,Object -AggregateFunction_MinimumActualTime,2348,Object -AggregateFunction_MaximumActualTime,2349,Object -AggregateFunction_Range,2350,Object -AggregateFunction_AnnotationCount,2351,Object -AggregateFunction_Count,2352,Object -AggregateFunction_NumberOfTransitions,2355,Object -AggregateFunction_Start,2357,Object -AggregateFunction_End,2358,Object -AggregateFunction_Delta,2359,Object -AggregateFunction_DurationGood,2360,Object -AggregateFunction_DurationBad,2361,Object -AggregateFunction_PercentGood,2362,Object -AggregateFunction_PercentBad,2363,Object -AggregateFunction_WorstQuality,2364,Object -DataItemType,2365,VariableType -DataItemType_Definition,2366,Variable -DataItemType_ValuePrecision,2367,Variable -AnalogItemType,2368,VariableType -AnalogItemType_EURange,2369,Variable -AnalogItemType_InstrumentRange,2370,Variable -AnalogItemType_EngineeringUnits,2371,Variable -DiscreteItemType,2372,VariableType -TwoStateDiscreteType,2373,VariableType -TwoStateDiscreteType_FalseState,2374,Variable -TwoStateDiscreteType_TrueState,2375,Variable -MultiStateDiscreteType,2376,VariableType -MultiStateDiscreteType_EnumStrings,2377,Variable -ProgramTransitionEventType,2378,ObjectType -ProgramTransitionEventType_IntermediateResult,2379,Variable -ProgramDiagnosticType,2380,VariableType -ProgramDiagnosticType_CreateSessionId,2381,Variable -ProgramDiagnosticType_CreateClientName,2382,Variable -ProgramDiagnosticType_InvocationCreationTime,2383,Variable -ProgramDiagnosticType_LastTransitionTime,2384,Variable -ProgramDiagnosticType_LastMethodCall,2385,Variable -ProgramDiagnosticType_LastMethodSessionId,2386,Variable -ProgramDiagnosticType_LastMethodInputArguments,2387,Variable -ProgramDiagnosticType_LastMethodOutputArguments,2388,Variable -ProgramDiagnosticType_LastMethodCallTime,2389,Variable -ProgramDiagnosticType_LastMethodReturnStatus,2390,Variable -ProgramStateMachineType,2391,ObjectType -ProgramStateMachineType_Creatable,2392,Variable -ProgramStateMachineType_Deletable,2393,Variable -ProgramStateMachineType_AutoDelete,2394,Variable -ProgramStateMachineType_RecycleCount,2395,Variable -ProgramStateMachineType_InstanceCount,2396,Variable -ProgramStateMachineType_MaxInstanceCount,2397,Variable -ProgramStateMachineType_MaxRecycleCount,2398,Variable -ProgramStateMachineType_ProgramDiagnostics,2399,Variable -ProgramStateMachineType_Ready,2400,Object -ProgramStateMachineType_Ready_StateNumber,2401,Variable -ProgramStateMachineType_Running,2402,Object -ProgramStateMachineType_Running_StateNumber,2403,Variable -ProgramStateMachineType_Suspended,2404,Object -ProgramStateMachineType_Suspended_StateNumber,2405,Variable -ProgramStateMachineType_Halted,2406,Object -ProgramStateMachineType_Halted_StateNumber,2407,Variable -ProgramStateMachineType_HaltedToReady,2408,Object -ProgramStateMachineType_HaltedToReady_TransitionNumber,2409,Variable -ProgramStateMachineType_ReadyToRunning,2410,Object -ProgramStateMachineType_ReadyToRunning_TransitionNumber,2411,Variable -ProgramStateMachineType_RunningToHalted,2412,Object -ProgramStateMachineType_RunningToHalted_TransitionNumber,2413,Variable -ProgramStateMachineType_RunningToReady,2414,Object -ProgramStateMachineType_RunningToReady_TransitionNumber,2415,Variable -ProgramStateMachineType_RunningToSuspended,2416,Object -ProgramStateMachineType_RunningToSuspended_TransitionNumber,2417,Variable -ProgramStateMachineType_SuspendedToRunning,2418,Object -ProgramStateMachineType_SuspendedToRunning_TransitionNumber,2419,Variable -ProgramStateMachineType_SuspendedToHalted,2420,Object -ProgramStateMachineType_SuspendedToHalted_TransitionNumber,2421,Variable -ProgramStateMachineType_SuspendedToReady,2422,Object -ProgramStateMachineType_SuspendedToReady_TransitionNumber,2423,Variable -ProgramStateMachineType_ReadyToHalted,2424,Object -ProgramStateMachineType_ReadyToHalted_TransitionNumber,2425,Variable -ProgramStateMachineType_Start,2426,Method -ProgramStateMachineType_Suspend,2427,Method -ProgramStateMachineType_Resume,2428,Method -ProgramStateMachineType_Halt,2429,Method -ProgramStateMachineType_Reset,2430,Method -SessionDiagnosticsVariableType_RegisterNodesCount,2730,Variable -SessionDiagnosticsVariableType_UnregisterNodesCount,2731,Variable -ServerCapabilitiesType_MaxBrowseContinuationPoints,2732,Variable -ServerCapabilitiesType_MaxQueryContinuationPoints,2733,Variable -ServerCapabilitiesType_MaxHistoryContinuationPoints,2734,Variable -Server_ServerCapabilities_MaxBrowseContinuationPoints,2735,Variable -Server_ServerCapabilities_MaxQueryContinuationPoints,2736,Variable -Server_ServerCapabilities_MaxHistoryContinuationPoints,2737,Variable -SemanticChangeEventType,2738,ObjectType -SemanticChangeEventType_Changes,2739,Variable -ServerType_Auditing,2742,Variable -ServerDiagnosticsType_SessionsDiagnosticsSummary,2744,Object -AuditChannelEventType_SecureChannelId,2745,Variable -AuditOpenSecureChannelEventType_ClientCertificateThumbprint,2746,Variable -AuditCreateSessionEventType_ClientCertificateThumbprint,2747,Variable -AuditUrlMismatchEventType,2748,ObjectType -AuditUrlMismatchEventType_EndpointUrl,2749,Variable -AuditWriteUpdateEventType_AttributeId,2750,Variable -AuditHistoryUpdateEventType_ParameterDataTypeId,2751,Variable -ServerStatusType_SecondsTillShutdown,2752,Variable -ServerStatusType_ShutdownReason,2753,Variable -ServerCapabilitiesType_AggregateFunctions,2754,Object -StateVariableType,2755,VariableType -StateVariableType_Id,2756,Variable -StateVariableType_Name,2757,Variable -StateVariableType_Number,2758,Variable -StateVariableType_EffectiveDisplayName,2759,Variable -FiniteStateVariableType,2760,VariableType -FiniteStateVariableType_Id,2761,Variable -TransitionVariableType,2762,VariableType -TransitionVariableType_Id,2763,Variable -TransitionVariableType_Name,2764,Variable -TransitionVariableType_Number,2765,Variable -TransitionVariableType_TransitionTime,2766,Variable -FiniteTransitionVariableType,2767,VariableType -FiniteTransitionVariableType_Id,2768,Variable -StateMachineType_CurrentState,2769,Variable -StateMachineType_LastTransition,2770,Variable -FiniteStateMachineType,2771,ObjectType -FiniteStateMachineType_CurrentState,2772,Variable -FiniteStateMachineType_LastTransition,2773,Variable -TransitionEventType_Transition,2774,Variable -TransitionEventType_FromState,2775,Variable -TransitionEventType_ToState,2776,Variable -AuditUpdateStateEventType_OldStateId,2777,Variable -AuditUpdateStateEventType_NewStateId,2778,Variable -ConditionType,2782,ObjectType -RefreshStartEventType,2787,ObjectType -RefreshEndEventType,2788,ObjectType -RefreshRequiredEventType,2789,ObjectType -AuditConditionEventType,2790,ObjectType -AuditConditionEnableEventType,2803,ObjectType -AuditConditionCommentEventType,2829,ObjectType -DialogConditionType,2830,ObjectType -DialogConditionType_Prompt,2831,Variable -AcknowledgeableConditionType,2881,ObjectType -AlarmConditionType,2915,ObjectType -ShelvedStateMachineType,2929,ObjectType -ShelvedStateMachineType_Unshelved,2930,Object -ShelvedStateMachineType_TimedShelved,2932,Object -ShelvedStateMachineType_OneShotShelved,2933,Object -ShelvedStateMachineType_UnshelvedToTimedShelved,2935,Object -ShelvedStateMachineType_UnshelvedToOneShotShelved,2936,Object -ShelvedStateMachineType_TimedShelvedToUnshelved,2940,Object -ShelvedStateMachineType_TimedShelvedToOneShotShelved,2942,Object -ShelvedStateMachineType_OneShotShelvedToUnshelved,2943,Object -ShelvedStateMachineType_OneShotShelvedToTimedShelved,2945,Object -ShelvedStateMachineType_Unshelve,2947,Method -ShelvedStateMachineType_OneShotShelve,2948,Method -ShelvedStateMachineType_TimedShelve,2949,Method -LimitAlarmType,2955,ObjectType -ShelvedStateMachineType_TimedShelve_InputArguments,2991,Variable -Server_ServerStatus_SecondsTillShutdown,2992,Variable -Server_ServerStatus_ShutdownReason,2993,Variable -Server_Auditing,2994,Variable -Server_ServerCapabilities_ModellingRules,2996,Object -Server_ServerCapabilities_AggregateFunctions,2997,Object -SubscriptionDiagnosticsType_EventNotificationsCount,2998,Variable -AuditHistoryEventUpdateEventType,2999,ObjectType -AuditHistoryEventUpdateEventType_Filter,3003,Variable -AuditHistoryValueUpdateEventType,3006,ObjectType -AuditHistoryDeleteEventType,3012,ObjectType -AuditHistoryRawModifyDeleteEventType,3014,ObjectType -AuditHistoryRawModifyDeleteEventType_IsDeleteModified,3015,Variable -AuditHistoryRawModifyDeleteEventType_StartTime,3016,Variable -AuditHistoryRawModifyDeleteEventType_EndTime,3017,Variable -AuditHistoryAtTimeDeleteEventType,3019,ObjectType -AuditHistoryAtTimeDeleteEventType_ReqTimes,3020,Variable -AuditHistoryAtTimeDeleteEventType_OldValues,3021,Variable -AuditHistoryEventDeleteEventType,3022,ObjectType -AuditHistoryEventDeleteEventType_EventIds,3023,Variable -AuditHistoryEventDeleteEventType_OldValues,3024,Variable -AuditHistoryEventUpdateEventType_UpdatedNode,3025,Variable -AuditHistoryValueUpdateEventType_UpdatedNode,3026,Variable -AuditHistoryDeleteEventType_UpdatedNode,3027,Variable -AuditHistoryEventUpdateEventType_PerformInsertReplace,3028,Variable -AuditHistoryEventUpdateEventType_NewValues,3029,Variable -AuditHistoryEventUpdateEventType_OldValues,3030,Variable -AuditHistoryValueUpdateEventType_PerformInsertReplace,3031,Variable -AuditHistoryValueUpdateEventType_NewValues,3032,Variable -AuditHistoryValueUpdateEventType_OldValues,3033,Variable -AuditHistoryRawModifyDeleteEventType_OldValues,3034,Variable -EventQueueOverflowEventType,3035,ObjectType -EventTypesFolder,3048,Object -ServerCapabilitiesType_SoftwareCertificates,3049,Variable -SessionDiagnosticsVariableType_MaxResponseMessageSize,3050,Variable -BuildInfoType,3051,VariableType -BuildInfoType_ProductUri,3052,Variable -BuildInfoType_ManufacturerName,3053,Variable -BuildInfoType_ProductName,3054,Variable -BuildInfoType_SoftwareVersion,3055,Variable -BuildInfoType_BuildNumber,3056,Variable -BuildInfoType_BuildDate,3057,Variable -SessionSecurityDiagnosticsType_ClientCertificate,3058,Variable -HistoricalDataConfigurationType_AggregateConfiguration,3059,Object -DefaultBinary,3062,Object -DefaultXml,3063,Object -AlwaysGeneratesEvent,3065,ReferenceType -Icon,3067,Variable -NodeVersion,3068,Variable -LocalTime,3069,Variable -AllowNulls,3070,Variable -EnumValues,3071,Variable -InputArguments,3072,Variable -OutputArguments,3073,Variable -ServerType_ServerStatus_StartTime,3074,Variable -ServerType_ServerStatus_CurrentTime,3075,Variable -ServerType_ServerStatus_State,3076,Variable -ServerType_ServerStatus_BuildInfo,3077,Variable -ServerType_ServerStatus_BuildInfo_ProductUri,3078,Variable -ServerType_ServerStatus_BuildInfo_ManufacturerName,3079,Variable -ServerType_ServerStatus_BuildInfo_ProductName,3080,Variable -ServerType_ServerStatus_BuildInfo_SoftwareVersion,3081,Variable -ServerType_ServerStatus_BuildInfo_BuildNumber,3082,Variable -ServerType_ServerStatus_BuildInfo_BuildDate,3083,Variable -ServerType_ServerStatus_SecondsTillShutdown,3084,Variable -ServerType_ServerStatus_ShutdownReason,3085,Variable -ServerType_ServerCapabilities_ServerProfileArray,3086,Variable -ServerType_ServerCapabilities_LocaleIdArray,3087,Variable -ServerType_ServerCapabilities_MinSupportedSampleRate,3088,Variable -ServerType_ServerCapabilities_MaxBrowseContinuationPoints,3089,Variable -ServerType_ServerCapabilities_MaxQueryContinuationPoints,3090,Variable -ServerType_ServerCapabilities_MaxHistoryContinuationPoints,3091,Variable -ServerType_ServerCapabilities_SoftwareCertificates,3092,Variable -ServerType_ServerCapabilities_ModellingRules,3093,Object -ServerType_ServerCapabilities_AggregateFunctions,3094,Object -ServerType_ServerDiagnostics_ServerDiagnosticsSummary,3095,Variable -ServerType_ServerDiagnostics_ServerDiagnosticsSummary_ServerViewCount,3096,Variable -ServerType_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSessionCount,3097,Variable -ServerType_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSessionCount,3098,Variable -ServerType_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedSessionCount,3099,Variable -ServerType_ServerDiagnostics_ServerDiagnosticsSummary_RejectedSessionCount,3100,Variable -ServerType_ServerDiagnostics_ServerDiagnosticsSummary_SessionTimeoutCount,3101,Variable -ServerType_ServerDiagnostics_ServerDiagnosticsSummary_SessionAbortCount,3102,Variable -ServerType_ServerDiagnostics_ServerDiagnosticsSummary_PublishingIntervalCount,3104,Variable -ServerType_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSubscriptionCount,3105,Variable -ServerType_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSubscriptionCount,3106,Variable -ServerType_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedRequestsCount,3107,Variable -ServerType_ServerDiagnostics_ServerDiagnosticsSummary_RejectedRequestsCount,3108,Variable -ServerType_ServerDiagnostics_SamplingIntervalDiagnosticsArray,3109,Variable -ServerType_ServerDiagnostics_SubscriptionDiagnosticsArray,3110,Variable -ServerType_ServerDiagnostics_SessionsDiagnosticsSummary,3111,Object -ServerType_ServerDiagnostics_SessionsDiagnosticsSummary_SessionDiagnosticsArray,3112,Variable -ServerType_ServerDiagnostics_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray,3113,Variable -ServerType_ServerDiagnostics_EnabledFlag,3114,Variable -ServerType_ServerRedundancy_RedundancySupport,3115,Variable -ServerDiagnosticsType_ServerDiagnosticsSummary_ServerViewCount,3116,Variable -ServerDiagnosticsType_ServerDiagnosticsSummary_CurrentSessionCount,3117,Variable -ServerDiagnosticsType_ServerDiagnosticsSummary_CumulatedSessionCount,3118,Variable -ServerDiagnosticsType_ServerDiagnosticsSummary_SecurityRejectedSessionCount,3119,Variable -ServerDiagnosticsType_ServerDiagnosticsSummary_RejectedSessionCount,3120,Variable -ServerDiagnosticsType_ServerDiagnosticsSummary_SessionTimeoutCount,3121,Variable -ServerDiagnosticsType_ServerDiagnosticsSummary_SessionAbortCount,3122,Variable -ServerDiagnosticsType_ServerDiagnosticsSummary_PublishingIntervalCount,3124,Variable -ServerDiagnosticsType_ServerDiagnosticsSummary_CurrentSubscriptionCount,3125,Variable -ServerDiagnosticsType_ServerDiagnosticsSummary_CumulatedSubscriptionCount,3126,Variable -ServerDiagnosticsType_ServerDiagnosticsSummary_SecurityRejectedRequestsCount,3127,Variable -ServerDiagnosticsType_ServerDiagnosticsSummary_RejectedRequestsCount,3128,Variable -ServerDiagnosticsType_SessionsDiagnosticsSummary_SessionDiagnosticsArray,3129,Variable -ServerDiagnosticsType_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray,3130,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_SessionId,3131,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_SessionName,3132,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_ClientDescription,3133,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_ServerUri,3134,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_EndpointUrl,3135,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_LocaleIds,3136,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_ActualSessionTimeout,3137,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_MaxResponseMessageSize,3138,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_ClientConnectionTime,3139,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_ClientLastContactTime,3140,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_CurrentSubscriptionsCount,3141,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_CurrentMonitoredItemsCount,3142,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_CurrentPublishRequestsInQueue,3143,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_ReadCount,3151,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_HistoryReadCount,3152,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_WriteCount,3153,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_HistoryUpdateCount,3154,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_CallCount,3155,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_CreateMonitoredItemsCount,3156,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_ModifyMonitoredItemsCount,3157,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_SetMonitoringModeCount,3158,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_SetTriggeringCount,3159,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_DeleteMonitoredItemsCount,3160,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_CreateSubscriptionCount,3161,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_ModifySubscriptionCount,3162,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_SetPublishingModeCount,3163,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_PublishCount,3164,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_RepublishCount,3165,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_TransferSubscriptionsCount,3166,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_DeleteSubscriptionsCount,3167,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_AddNodesCount,3168,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_AddReferencesCount,3169,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_DeleteNodesCount,3170,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_DeleteReferencesCount,3171,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_BrowseCount,3172,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_BrowseNextCount,3173,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_TranslateBrowsePathsToNodeIdsCount,3174,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_QueryFirstCount,3175,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_QueryNextCount,3176,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_RegisterNodesCount,3177,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_UnregisterNodesCount,3178,Variable -SessionDiagnosticsObjectType_SessionSecurityDiagnostics_SessionId,3179,Variable -SessionDiagnosticsObjectType_SessionSecurityDiagnostics_ClientUserIdOfSession,3180,Variable -SessionDiagnosticsObjectType_SessionSecurityDiagnostics_ClientUserIdHistory,3181,Variable -SessionDiagnosticsObjectType_SessionSecurityDiagnostics_AuthenticationMechanism,3182,Variable -SessionDiagnosticsObjectType_SessionSecurityDiagnostics_Encoding,3183,Variable -SessionDiagnosticsObjectType_SessionSecurityDiagnostics_TransportProtocol,3184,Variable -SessionDiagnosticsObjectType_SessionSecurityDiagnostics_SecurityMode,3185,Variable -SessionDiagnosticsObjectType_SessionSecurityDiagnostics_SecurityPolicyUri,3186,Variable -SessionDiagnosticsObjectType_SessionSecurityDiagnostics_ClientCertificate,3187,Variable -TransparentRedundancyType_RedundancySupport,3188,Variable -NonTransparentRedundancyType_RedundancySupport,3189,Variable -BaseEventType_LocalTime,3190,Variable -EventQueueOverflowEventType_EventId,3191,Variable -EventQueueOverflowEventType_EventType,3192,Variable -EventQueueOverflowEventType_SourceNode,3193,Variable -EventQueueOverflowEventType_SourceName,3194,Variable -EventQueueOverflowEventType_Time,3195,Variable -EventQueueOverflowEventType_ReceiveTime,3196,Variable -EventQueueOverflowEventType_LocalTime,3197,Variable -EventQueueOverflowEventType_Message,3198,Variable -EventQueueOverflowEventType_Severity,3199,Variable -AuditEventType_EventId,3200,Variable -AuditEventType_EventType,3201,Variable -AuditEventType_SourceNode,3202,Variable -AuditEventType_SourceName,3203,Variable -AuditEventType_Time,3204,Variable -AuditEventType_ReceiveTime,3205,Variable -AuditEventType_LocalTime,3206,Variable -AuditEventType_Message,3207,Variable -AuditEventType_Severity,3208,Variable -AuditSecurityEventType_EventId,3209,Variable -AuditSecurityEventType_EventType,3210,Variable -AuditSecurityEventType_SourceNode,3211,Variable -AuditSecurityEventType_SourceName,3212,Variable -AuditSecurityEventType_Time,3213,Variable -AuditSecurityEventType_ReceiveTime,3214,Variable -AuditSecurityEventType_LocalTime,3215,Variable -AuditSecurityEventType_Message,3216,Variable -AuditSecurityEventType_Severity,3217,Variable -AuditSecurityEventType_ActionTimeStamp,3218,Variable -AuditSecurityEventType_Status,3219,Variable -AuditSecurityEventType_ServerId,3220,Variable -AuditSecurityEventType_ClientAuditEntryId,3221,Variable -AuditSecurityEventType_ClientUserId,3222,Variable -AuditChannelEventType_EventId,3223,Variable -AuditChannelEventType_EventType,3224,Variable -AuditChannelEventType_SourceNode,3225,Variable -AuditChannelEventType_SourceName,3226,Variable -AuditChannelEventType_Time,3227,Variable -AuditChannelEventType_ReceiveTime,3228,Variable -AuditChannelEventType_LocalTime,3229,Variable -AuditChannelEventType_Message,3230,Variable -AuditChannelEventType_Severity,3231,Variable -AuditChannelEventType_ActionTimeStamp,3232,Variable -AuditChannelEventType_Status,3233,Variable -AuditChannelEventType_ServerId,3234,Variable -AuditChannelEventType_ClientAuditEntryId,3235,Variable -AuditChannelEventType_ClientUserId,3236,Variable -AuditOpenSecureChannelEventType_EventId,3237,Variable -AuditOpenSecureChannelEventType_EventType,3238,Variable -AuditOpenSecureChannelEventType_SourceNode,3239,Variable -AuditOpenSecureChannelEventType_SourceName,3240,Variable -AuditOpenSecureChannelEventType_Time,3241,Variable -AuditOpenSecureChannelEventType_ReceiveTime,3242,Variable -AuditOpenSecureChannelEventType_LocalTime,3243,Variable -AuditOpenSecureChannelEventType_Message,3244,Variable -AuditOpenSecureChannelEventType_Severity,3245,Variable -AuditOpenSecureChannelEventType_ActionTimeStamp,3246,Variable -AuditOpenSecureChannelEventType_Status,3247,Variable -AuditOpenSecureChannelEventType_ServerId,3248,Variable -AuditOpenSecureChannelEventType_ClientAuditEntryId,3249,Variable -AuditOpenSecureChannelEventType_ClientUserId,3250,Variable -AuditOpenSecureChannelEventType_SecureChannelId,3251,Variable -AuditSessionEventType_EventId,3252,Variable -AuditSessionEventType_EventType,3253,Variable -AuditSessionEventType_SourceNode,3254,Variable -AuditSessionEventType_SourceName,3255,Variable -AuditSessionEventType_Time,3256,Variable -AuditSessionEventType_ReceiveTime,3257,Variable -AuditSessionEventType_LocalTime,3258,Variable -AuditSessionEventType_Message,3259,Variable -AuditSessionEventType_Severity,3260,Variable -AuditSessionEventType_ActionTimeStamp,3261,Variable -AuditSessionEventType_Status,3262,Variable -AuditSessionEventType_ServerId,3263,Variable -AuditSessionEventType_ClientAuditEntryId,3264,Variable -AuditSessionEventType_ClientUserId,3265,Variable -AuditCreateSessionEventType_EventId,3266,Variable -AuditCreateSessionEventType_EventType,3267,Variable -AuditCreateSessionEventType_SourceNode,3268,Variable -AuditCreateSessionEventType_SourceName,3269,Variable -AuditCreateSessionEventType_Time,3270,Variable -AuditCreateSessionEventType_ReceiveTime,3271,Variable -AuditCreateSessionEventType_LocalTime,3272,Variable -AuditCreateSessionEventType_Message,3273,Variable -AuditCreateSessionEventType_Severity,3274,Variable -AuditCreateSessionEventType_ActionTimeStamp,3275,Variable -AuditCreateSessionEventType_Status,3276,Variable -AuditCreateSessionEventType_ServerId,3277,Variable -AuditCreateSessionEventType_ClientAuditEntryId,3278,Variable -AuditCreateSessionEventType_ClientUserId,3279,Variable -AuditUrlMismatchEventType_EventId,3281,Variable -AuditUrlMismatchEventType_EventType,3282,Variable -AuditUrlMismatchEventType_SourceNode,3283,Variable -AuditUrlMismatchEventType_SourceName,3284,Variable -AuditUrlMismatchEventType_Time,3285,Variable -AuditUrlMismatchEventType_ReceiveTime,3286,Variable -AuditUrlMismatchEventType_LocalTime,3287,Variable -AuditUrlMismatchEventType_Message,3288,Variable -AuditUrlMismatchEventType_Severity,3289,Variable -AuditUrlMismatchEventType_ActionTimeStamp,3290,Variable -AuditUrlMismatchEventType_Status,3291,Variable -AuditUrlMismatchEventType_ServerId,3292,Variable -AuditUrlMismatchEventType_ClientAuditEntryId,3293,Variable -AuditUrlMismatchEventType_ClientUserId,3294,Variable -AuditUrlMismatchEventType_SecureChannelId,3296,Variable -AuditUrlMismatchEventType_ClientCertificate,3297,Variable -AuditUrlMismatchEventType_ClientCertificateThumbprint,3298,Variable -AuditUrlMismatchEventType_RevisedSessionTimeout,3299,Variable -AuditActivateSessionEventType_EventId,3300,Variable -AuditActivateSessionEventType_EventType,3301,Variable -AuditActivateSessionEventType_SourceNode,3302,Variable -AuditActivateSessionEventType_SourceName,3303,Variable -AuditActivateSessionEventType_Time,3304,Variable -AuditActivateSessionEventType_ReceiveTime,3305,Variable -AuditActivateSessionEventType_LocalTime,3306,Variable -AuditActivateSessionEventType_Message,3307,Variable -AuditActivateSessionEventType_Severity,3308,Variable -AuditActivateSessionEventType_ActionTimeStamp,3309,Variable -AuditActivateSessionEventType_Status,3310,Variable -AuditActivateSessionEventType_ServerId,3311,Variable -AuditActivateSessionEventType_ClientAuditEntryId,3312,Variable -AuditActivateSessionEventType_ClientUserId,3313,Variable -AuditActivateSessionEventType_SessionId,3314,Variable -AuditCancelEventType_EventId,3315,Variable -AuditCancelEventType_EventType,3316,Variable -AuditCancelEventType_SourceNode,3317,Variable -AuditCancelEventType_SourceName,3318,Variable -AuditCancelEventType_Time,3319,Variable -AuditCancelEventType_ReceiveTime,3320,Variable -AuditCancelEventType_LocalTime,3321,Variable -AuditCancelEventType_Message,3322,Variable -AuditCancelEventType_Severity,3323,Variable -AuditCancelEventType_ActionTimeStamp,3324,Variable -AuditCancelEventType_Status,3325,Variable -AuditCancelEventType_ServerId,3326,Variable -AuditCancelEventType_ClientAuditEntryId,3327,Variable -AuditCancelEventType_ClientUserId,3328,Variable -AuditCancelEventType_SessionId,3329,Variable -AuditCertificateEventType_EventId,3330,Variable -AuditCertificateEventType_EventType,3331,Variable -AuditCertificateEventType_SourceNode,3332,Variable -AuditCertificateEventType_SourceName,3333,Variable -AuditCertificateEventType_Time,3334,Variable -AuditCertificateEventType_ReceiveTime,3335,Variable -AuditCertificateEventType_LocalTime,3336,Variable -AuditCertificateEventType_Message,3337,Variable -AuditCertificateEventType_Severity,3338,Variable -AuditCertificateEventType_ActionTimeStamp,3339,Variable -AuditCertificateEventType_Status,3340,Variable -AuditCertificateEventType_ServerId,3341,Variable -AuditCertificateEventType_ClientAuditEntryId,3342,Variable -AuditCertificateEventType_ClientUserId,3343,Variable -AuditCertificateDataMismatchEventType_EventId,3344,Variable -AuditCertificateDataMismatchEventType_EventType,3345,Variable -AuditCertificateDataMismatchEventType_SourceNode,3346,Variable -AuditCertificateDataMismatchEventType_SourceName,3347,Variable -AuditCertificateDataMismatchEventType_Time,3348,Variable -AuditCertificateDataMismatchEventType_ReceiveTime,3349,Variable -AuditCertificateDataMismatchEventType_LocalTime,3350,Variable -AuditCertificateDataMismatchEventType_Message,3351,Variable -AuditCertificateDataMismatchEventType_Severity,3352,Variable -AuditCertificateDataMismatchEventType_ActionTimeStamp,3353,Variable -AuditCertificateDataMismatchEventType_Status,3354,Variable -AuditCertificateDataMismatchEventType_ServerId,3355,Variable -AuditCertificateDataMismatchEventType_ClientAuditEntryId,3356,Variable -AuditCertificateDataMismatchEventType_ClientUserId,3357,Variable -AuditCertificateDataMismatchEventType_Certificate,3358,Variable -AuditCertificateExpiredEventType_EventId,3359,Variable -AuditCertificateExpiredEventType_EventType,3360,Variable -AuditCertificateExpiredEventType_SourceNode,3361,Variable -AuditCertificateExpiredEventType_SourceName,3362,Variable -AuditCertificateExpiredEventType_Time,3363,Variable -AuditCertificateExpiredEventType_ReceiveTime,3364,Variable -AuditCertificateExpiredEventType_LocalTime,3365,Variable -AuditCertificateExpiredEventType_Message,3366,Variable -AuditCertificateExpiredEventType_Severity,3367,Variable -AuditCertificateExpiredEventType_ActionTimeStamp,3368,Variable -AuditCertificateExpiredEventType_Status,3369,Variable -AuditCertificateExpiredEventType_ServerId,3370,Variable -AuditCertificateExpiredEventType_ClientAuditEntryId,3371,Variable -AuditCertificateExpiredEventType_ClientUserId,3372,Variable -AuditCertificateExpiredEventType_Certificate,3373,Variable -AuditCertificateInvalidEventType_EventId,3374,Variable -AuditCertificateInvalidEventType_EventType,3375,Variable -AuditCertificateInvalidEventType_SourceNode,3376,Variable -AuditCertificateInvalidEventType_SourceName,3377,Variable -AuditCertificateInvalidEventType_Time,3378,Variable -AuditCertificateInvalidEventType_ReceiveTime,3379,Variable -AuditCertificateInvalidEventType_LocalTime,3380,Variable -AuditCertificateInvalidEventType_Message,3381,Variable -AuditCertificateInvalidEventType_Severity,3382,Variable -AuditCertificateInvalidEventType_ActionTimeStamp,3383,Variable -AuditCertificateInvalidEventType_Status,3384,Variable -AuditCertificateInvalidEventType_ServerId,3385,Variable -AuditCertificateInvalidEventType_ClientAuditEntryId,3386,Variable -AuditCertificateInvalidEventType_ClientUserId,3387,Variable -AuditCertificateInvalidEventType_Certificate,3388,Variable -AuditCertificateUntrustedEventType_EventId,3389,Variable -AuditCertificateUntrustedEventType_EventType,3390,Variable -AuditCertificateUntrustedEventType_SourceNode,3391,Variable -AuditCertificateUntrustedEventType_SourceName,3392,Variable -AuditCertificateUntrustedEventType_Time,3393,Variable -AuditCertificateUntrustedEventType_ReceiveTime,3394,Variable -AuditCertificateUntrustedEventType_LocalTime,3395,Variable -AuditCertificateUntrustedEventType_Message,3396,Variable -AuditCertificateUntrustedEventType_Severity,3397,Variable -AuditCertificateUntrustedEventType_ActionTimeStamp,3398,Variable -AuditCertificateUntrustedEventType_Status,3399,Variable -AuditCertificateUntrustedEventType_ServerId,3400,Variable -AuditCertificateUntrustedEventType_ClientAuditEntryId,3401,Variable -AuditCertificateUntrustedEventType_ClientUserId,3402,Variable -AuditCertificateUntrustedEventType_Certificate,3403,Variable -AuditCertificateRevokedEventType_EventId,3404,Variable -AuditCertificateRevokedEventType_EventType,3405,Variable -AuditCertificateRevokedEventType_SourceNode,3406,Variable -AuditCertificateRevokedEventType_SourceName,3407,Variable -AuditCertificateRevokedEventType_Time,3408,Variable -AuditCertificateRevokedEventType_ReceiveTime,3409,Variable -AuditCertificateRevokedEventType_LocalTime,3410,Variable -AuditCertificateRevokedEventType_Message,3411,Variable -AuditCertificateRevokedEventType_Severity,3412,Variable -AuditCertificateRevokedEventType_ActionTimeStamp,3413,Variable -AuditCertificateRevokedEventType_Status,3414,Variable -AuditCertificateRevokedEventType_ServerId,3415,Variable -AuditCertificateRevokedEventType_ClientAuditEntryId,3416,Variable -AuditCertificateRevokedEventType_ClientUserId,3417,Variable -AuditCertificateRevokedEventType_Certificate,3418,Variable -AuditCertificateMismatchEventType_EventId,3419,Variable -AuditCertificateMismatchEventType_EventType,3420,Variable -AuditCertificateMismatchEventType_SourceNode,3421,Variable -AuditCertificateMismatchEventType_SourceName,3422,Variable -AuditCertificateMismatchEventType_Time,3423,Variable -AuditCertificateMismatchEventType_ReceiveTime,3424,Variable -AuditCertificateMismatchEventType_LocalTime,3425,Variable -AuditCertificateMismatchEventType_Message,3426,Variable -AuditCertificateMismatchEventType_Severity,3427,Variable -AuditCertificateMismatchEventType_ActionTimeStamp,3428,Variable -AuditCertificateMismatchEventType_Status,3429,Variable -AuditCertificateMismatchEventType_ServerId,3430,Variable -AuditCertificateMismatchEventType_ClientAuditEntryId,3431,Variable -AuditCertificateMismatchEventType_ClientUserId,3432,Variable -AuditCertificateMismatchEventType_Certificate,3433,Variable -AuditNodeManagementEventType_EventId,3434,Variable -AuditNodeManagementEventType_EventType,3435,Variable -AuditNodeManagementEventType_SourceNode,3436,Variable -AuditNodeManagementEventType_SourceName,3437,Variable -AuditNodeManagementEventType_Time,3438,Variable -AuditNodeManagementEventType_ReceiveTime,3439,Variable -AuditNodeManagementEventType_LocalTime,3440,Variable -AuditNodeManagementEventType_Message,3441,Variable -AuditNodeManagementEventType_Severity,3442,Variable -AuditNodeManagementEventType_ActionTimeStamp,3443,Variable -AuditNodeManagementEventType_Status,3444,Variable -AuditNodeManagementEventType_ServerId,3445,Variable -AuditNodeManagementEventType_ClientAuditEntryId,3446,Variable -AuditNodeManagementEventType_ClientUserId,3447,Variable -AuditAddNodesEventType_EventId,3448,Variable -AuditAddNodesEventType_EventType,3449,Variable -AuditAddNodesEventType_SourceNode,3450,Variable -AuditAddNodesEventType_SourceName,3451,Variable -AuditAddNodesEventType_Time,3452,Variable -AuditAddNodesEventType_ReceiveTime,3453,Variable -AuditAddNodesEventType_LocalTime,3454,Variable -AuditAddNodesEventType_Message,3455,Variable -AuditAddNodesEventType_Severity,3456,Variable -AuditAddNodesEventType_ActionTimeStamp,3457,Variable -AuditAddNodesEventType_Status,3458,Variable -AuditAddNodesEventType_ServerId,3459,Variable -AuditAddNodesEventType_ClientAuditEntryId,3460,Variable -AuditAddNodesEventType_ClientUserId,3461,Variable -AuditDeleteNodesEventType_EventId,3462,Variable -AuditDeleteNodesEventType_EventType,3463,Variable -AuditDeleteNodesEventType_SourceNode,3464,Variable -AuditDeleteNodesEventType_SourceName,3465,Variable -AuditDeleteNodesEventType_Time,3466,Variable -AuditDeleteNodesEventType_ReceiveTime,3467,Variable -AuditDeleteNodesEventType_LocalTime,3468,Variable -AuditDeleteNodesEventType_Message,3469,Variable -AuditDeleteNodesEventType_Severity,3470,Variable -AuditDeleteNodesEventType_ActionTimeStamp,3471,Variable -AuditDeleteNodesEventType_Status,3472,Variable -AuditDeleteNodesEventType_ServerId,3473,Variable -AuditDeleteNodesEventType_ClientAuditEntryId,3474,Variable -AuditDeleteNodesEventType_ClientUserId,3475,Variable -AuditAddReferencesEventType_EventId,3476,Variable -AuditAddReferencesEventType_EventType,3477,Variable -AuditAddReferencesEventType_SourceNode,3478,Variable -AuditAddReferencesEventType_SourceName,3479,Variable -AuditAddReferencesEventType_Time,3480,Variable -AuditAddReferencesEventType_ReceiveTime,3481,Variable -AuditAddReferencesEventType_LocalTime,3482,Variable -AuditAddReferencesEventType_Message,3483,Variable -AuditAddReferencesEventType_Severity,3484,Variable -AuditAddReferencesEventType_ActionTimeStamp,3485,Variable -AuditAddReferencesEventType_Status,3486,Variable -AuditAddReferencesEventType_ServerId,3487,Variable -AuditAddReferencesEventType_ClientAuditEntryId,3488,Variable -AuditAddReferencesEventType_ClientUserId,3489,Variable -AuditDeleteReferencesEventType_EventId,3490,Variable -AuditDeleteReferencesEventType_EventType,3491,Variable -AuditDeleteReferencesEventType_SourceNode,3492,Variable -AuditDeleteReferencesEventType_SourceName,3493,Variable -AuditDeleteReferencesEventType_Time,3494,Variable -AuditDeleteReferencesEventType_ReceiveTime,3495,Variable -AuditDeleteReferencesEventType_LocalTime,3496,Variable -AuditDeleteReferencesEventType_Message,3497,Variable -AuditDeleteReferencesEventType_Severity,3498,Variable -AuditDeleteReferencesEventType_ActionTimeStamp,3499,Variable -AuditDeleteReferencesEventType_Status,3500,Variable -AuditDeleteReferencesEventType_ServerId,3501,Variable -AuditDeleteReferencesEventType_ClientAuditEntryId,3502,Variable -AuditDeleteReferencesEventType_ClientUserId,3503,Variable -AuditUpdateEventType_EventId,3504,Variable -AuditUpdateEventType_EventType,3505,Variable -AuditUpdateEventType_SourceNode,3506,Variable -AuditUpdateEventType_SourceName,3507,Variable -AuditUpdateEventType_Time,3508,Variable -AuditUpdateEventType_ReceiveTime,3509,Variable -AuditUpdateEventType_LocalTime,3510,Variable -AuditUpdateEventType_Message,3511,Variable -AuditUpdateEventType_Severity,3512,Variable -AuditUpdateEventType_ActionTimeStamp,3513,Variable -AuditUpdateEventType_Status,3514,Variable -AuditUpdateEventType_ServerId,3515,Variable -AuditUpdateEventType_ClientAuditEntryId,3516,Variable -AuditUpdateEventType_ClientUserId,3517,Variable -AuditWriteUpdateEventType_EventId,3518,Variable -AuditWriteUpdateEventType_EventType,3519,Variable -AuditWriteUpdateEventType_SourceNode,3520,Variable -AuditWriteUpdateEventType_SourceName,3521,Variable -AuditWriteUpdateEventType_Time,3522,Variable -AuditWriteUpdateEventType_ReceiveTime,3523,Variable -AuditWriteUpdateEventType_LocalTime,3524,Variable -AuditWriteUpdateEventType_Message,3525,Variable -AuditWriteUpdateEventType_Severity,3526,Variable -AuditWriteUpdateEventType_ActionTimeStamp,3527,Variable -AuditWriteUpdateEventType_Status,3528,Variable -AuditWriteUpdateEventType_ServerId,3529,Variable -AuditWriteUpdateEventType_ClientAuditEntryId,3530,Variable -AuditWriteUpdateEventType_ClientUserId,3531,Variable -AuditHistoryUpdateEventType_EventId,3532,Variable -AuditHistoryUpdateEventType_EventType,3533,Variable -AuditHistoryUpdateEventType_SourceNode,3534,Variable -AuditHistoryUpdateEventType_SourceName,3535,Variable -AuditHistoryUpdateEventType_Time,3536,Variable -AuditHistoryUpdateEventType_ReceiveTime,3537,Variable -AuditHistoryUpdateEventType_LocalTime,3538,Variable -AuditHistoryUpdateEventType_Message,3539,Variable -AuditHistoryUpdateEventType_Severity,3540,Variable -AuditHistoryUpdateEventType_ActionTimeStamp,3541,Variable -AuditHistoryUpdateEventType_Status,3542,Variable -AuditHistoryUpdateEventType_ServerId,3543,Variable -AuditHistoryUpdateEventType_ClientAuditEntryId,3544,Variable -AuditHistoryUpdateEventType_ClientUserId,3545,Variable -AuditHistoryEventUpdateEventType_EventId,3546,Variable -AuditHistoryEventUpdateEventType_EventType,3547,Variable -AuditHistoryEventUpdateEventType_SourceNode,3548,Variable -AuditHistoryEventUpdateEventType_SourceName,3549,Variable -AuditHistoryEventUpdateEventType_Time,3550,Variable -AuditHistoryEventUpdateEventType_ReceiveTime,3551,Variable -AuditHistoryEventUpdateEventType_LocalTime,3552,Variable -AuditHistoryEventUpdateEventType_Message,3553,Variable -AuditHistoryEventUpdateEventType_Severity,3554,Variable -AuditHistoryEventUpdateEventType_ActionTimeStamp,3555,Variable -AuditHistoryEventUpdateEventType_Status,3556,Variable -AuditHistoryEventUpdateEventType_ServerId,3557,Variable -AuditHistoryEventUpdateEventType_ClientAuditEntryId,3558,Variable -AuditHistoryEventUpdateEventType_ClientUserId,3559,Variable -AuditHistoryEventUpdateEventType_ParameterDataTypeId,3560,Variable -AuditHistoryValueUpdateEventType_EventId,3561,Variable -AuditHistoryValueUpdateEventType_EventType,3562,Variable -AuditHistoryValueUpdateEventType_SourceNode,3563,Variable -AuditHistoryValueUpdateEventType_SourceName,3564,Variable -AuditHistoryValueUpdateEventType_Time,3565,Variable -AuditHistoryValueUpdateEventType_ReceiveTime,3566,Variable -AuditHistoryValueUpdateEventType_LocalTime,3567,Variable -AuditHistoryValueUpdateEventType_Message,3568,Variable -AuditHistoryValueUpdateEventType_Severity,3569,Variable -AuditHistoryValueUpdateEventType_ActionTimeStamp,3570,Variable -AuditHistoryValueUpdateEventType_Status,3571,Variable -AuditHistoryValueUpdateEventType_ServerId,3572,Variable -AuditHistoryValueUpdateEventType_ClientAuditEntryId,3573,Variable -AuditHistoryValueUpdateEventType_ClientUserId,3574,Variable -AuditHistoryValueUpdateEventType_ParameterDataTypeId,3575,Variable -AuditHistoryDeleteEventType_EventId,3576,Variable -AuditHistoryDeleteEventType_EventType,3577,Variable -AuditHistoryDeleteEventType_SourceNode,3578,Variable -AuditHistoryDeleteEventType_SourceName,3579,Variable -AuditHistoryDeleteEventType_Time,3580,Variable -AuditHistoryDeleteEventType_ReceiveTime,3581,Variable -AuditHistoryDeleteEventType_LocalTime,3582,Variable -AuditHistoryDeleteEventType_Message,3583,Variable -AuditHistoryDeleteEventType_Severity,3584,Variable -AuditHistoryDeleteEventType_ActionTimeStamp,3585,Variable -AuditHistoryDeleteEventType_Status,3586,Variable -AuditHistoryDeleteEventType_ServerId,3587,Variable -AuditHistoryDeleteEventType_ClientAuditEntryId,3588,Variable -AuditHistoryDeleteEventType_ClientUserId,3589,Variable -AuditHistoryDeleteEventType_ParameterDataTypeId,3590,Variable -AuditHistoryRawModifyDeleteEventType_EventId,3591,Variable -AuditHistoryRawModifyDeleteEventType_EventType,3592,Variable -AuditHistoryRawModifyDeleteEventType_SourceNode,3593,Variable -AuditHistoryRawModifyDeleteEventType_SourceName,3594,Variable -AuditHistoryRawModifyDeleteEventType_Time,3595,Variable -AuditHistoryRawModifyDeleteEventType_ReceiveTime,3596,Variable -AuditHistoryRawModifyDeleteEventType_LocalTime,3597,Variable -AuditHistoryRawModifyDeleteEventType_Message,3598,Variable -AuditHistoryRawModifyDeleteEventType_Severity,3599,Variable -AuditHistoryRawModifyDeleteEventType_ActionTimeStamp,3600,Variable -AuditHistoryRawModifyDeleteEventType_Status,3601,Variable -AuditHistoryRawModifyDeleteEventType_ServerId,3602,Variable -AuditHistoryRawModifyDeleteEventType_ClientAuditEntryId,3603,Variable -AuditHistoryRawModifyDeleteEventType_ClientUserId,3604,Variable -AuditHistoryRawModifyDeleteEventType_ParameterDataTypeId,3605,Variable -AuditHistoryRawModifyDeleteEventType_UpdatedNode,3606,Variable -AuditHistoryAtTimeDeleteEventType_EventId,3607,Variable -AuditHistoryAtTimeDeleteEventType_EventType,3608,Variable -AuditHistoryAtTimeDeleteEventType_SourceNode,3609,Variable -AuditHistoryAtTimeDeleteEventType_SourceName,3610,Variable -AuditHistoryAtTimeDeleteEventType_Time,3611,Variable -AuditHistoryAtTimeDeleteEventType_ReceiveTime,3612,Variable -AuditHistoryAtTimeDeleteEventType_LocalTime,3613,Variable -AuditHistoryAtTimeDeleteEventType_Message,3614,Variable -AuditHistoryAtTimeDeleteEventType_Severity,3615,Variable -AuditHistoryAtTimeDeleteEventType_ActionTimeStamp,3616,Variable -AuditHistoryAtTimeDeleteEventType_Status,3617,Variable -AuditHistoryAtTimeDeleteEventType_ServerId,3618,Variable -AuditHistoryAtTimeDeleteEventType_ClientAuditEntryId,3619,Variable -AuditHistoryAtTimeDeleteEventType_ClientUserId,3620,Variable -AuditHistoryAtTimeDeleteEventType_ParameterDataTypeId,3621,Variable -AuditHistoryAtTimeDeleteEventType_UpdatedNode,3622,Variable -AuditHistoryEventDeleteEventType_EventId,3623,Variable -AuditHistoryEventDeleteEventType_EventType,3624,Variable -AuditHistoryEventDeleteEventType_SourceNode,3625,Variable -AuditHistoryEventDeleteEventType_SourceName,3626,Variable -AuditHistoryEventDeleteEventType_Time,3627,Variable -AuditHistoryEventDeleteEventType_ReceiveTime,3628,Variable -AuditHistoryEventDeleteEventType_LocalTime,3629,Variable -AuditHistoryEventDeleteEventType_Message,3630,Variable -AuditHistoryEventDeleteEventType_Severity,3631,Variable -AuditHistoryEventDeleteEventType_ActionTimeStamp,3632,Variable -AuditHistoryEventDeleteEventType_Status,3633,Variable -AuditHistoryEventDeleteEventType_ServerId,3634,Variable -AuditHistoryEventDeleteEventType_ClientAuditEntryId,3635,Variable -AuditHistoryEventDeleteEventType_ClientUserId,3636,Variable -AuditHistoryEventDeleteEventType_ParameterDataTypeId,3637,Variable -AuditHistoryEventDeleteEventType_UpdatedNode,3638,Variable -AuditUpdateMethodEventType_EventId,3639,Variable -AuditUpdateMethodEventType_EventType,3640,Variable -AuditUpdateMethodEventType_SourceNode,3641,Variable -AuditUpdateMethodEventType_SourceName,3642,Variable -AuditUpdateMethodEventType_Time,3643,Variable -AuditUpdateMethodEventType_ReceiveTime,3644,Variable -AuditUpdateMethodEventType_LocalTime,3645,Variable -AuditUpdateMethodEventType_Message,3646,Variable -AuditUpdateMethodEventType_Severity,3647,Variable -AuditUpdateMethodEventType_ActionTimeStamp,3648,Variable -AuditUpdateMethodEventType_Status,3649,Variable -AuditUpdateMethodEventType_ServerId,3650,Variable -AuditUpdateMethodEventType_ClientAuditEntryId,3651,Variable -AuditUpdateMethodEventType_ClientUserId,3652,Variable -SystemEventType_EventId,3653,Variable -SystemEventType_EventType,3654,Variable -SystemEventType_SourceNode,3655,Variable -SystemEventType_SourceName,3656,Variable -SystemEventType_Time,3657,Variable -SystemEventType_ReceiveTime,3658,Variable -SystemEventType_LocalTime,3659,Variable -SystemEventType_Message,3660,Variable -SystemEventType_Severity,3661,Variable -DeviceFailureEventType_EventId,3662,Variable -DeviceFailureEventType_EventType,3663,Variable -DeviceFailureEventType_SourceNode,3664,Variable -DeviceFailureEventType_SourceName,3665,Variable -DeviceFailureEventType_Time,3666,Variable -DeviceFailureEventType_ReceiveTime,3667,Variable -DeviceFailureEventType_LocalTime,3668,Variable -DeviceFailureEventType_Message,3669,Variable -DeviceFailureEventType_Severity,3670,Variable -BaseModelChangeEventType_EventId,3671,Variable -BaseModelChangeEventType_EventType,3672,Variable -BaseModelChangeEventType_SourceNode,3673,Variable -BaseModelChangeEventType_SourceName,3674,Variable -BaseModelChangeEventType_Time,3675,Variable -BaseModelChangeEventType_ReceiveTime,3676,Variable -BaseModelChangeEventType_LocalTime,3677,Variable -BaseModelChangeEventType_Message,3678,Variable -BaseModelChangeEventType_Severity,3679,Variable -GeneralModelChangeEventType_EventId,3680,Variable -GeneralModelChangeEventType_EventType,3681,Variable -GeneralModelChangeEventType_SourceNode,3682,Variable -GeneralModelChangeEventType_SourceName,3683,Variable -GeneralModelChangeEventType_Time,3684,Variable -GeneralModelChangeEventType_ReceiveTime,3685,Variable -GeneralModelChangeEventType_LocalTime,3686,Variable -GeneralModelChangeEventType_Message,3687,Variable -GeneralModelChangeEventType_Severity,3688,Variable -SemanticChangeEventType_EventId,3689,Variable -SemanticChangeEventType_EventType,3690,Variable -SemanticChangeEventType_SourceNode,3691,Variable -SemanticChangeEventType_SourceName,3692,Variable -SemanticChangeEventType_Time,3693,Variable -SemanticChangeEventType_ReceiveTime,3694,Variable -SemanticChangeEventType_LocalTime,3695,Variable -SemanticChangeEventType_Message,3696,Variable -SemanticChangeEventType_Severity,3697,Variable -ServerStatusType_BuildInfo_ProductUri,3698,Variable -ServerStatusType_BuildInfo_ManufacturerName,3699,Variable -ServerStatusType_BuildInfo_ProductName,3700,Variable -ServerStatusType_BuildInfo_SoftwareVersion,3701,Variable -ServerStatusType_BuildInfo_BuildNumber,3702,Variable -ServerStatusType_BuildInfo_BuildDate,3703,Variable -Server_ServerCapabilities_SoftwareCertificates,3704,Variable -Server_ServerDiagnostics_ServerDiagnosticsSummary_RejectedSessionCount,3705,Variable -Server_ServerDiagnostics_SessionsDiagnosticsSummary,3706,Object -Server_ServerDiagnostics_SessionsDiagnosticsSummary_SessionDiagnosticsArray,3707,Variable -Server_ServerDiagnostics_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray,3708,Variable -Server_ServerRedundancy_RedundancySupport,3709,Variable -FiniteStateVariableType_Name,3714,Variable -FiniteStateVariableType_Number,3715,Variable -FiniteStateVariableType_EffectiveDisplayName,3716,Variable -FiniteTransitionVariableType_Name,3717,Variable -FiniteTransitionVariableType_Number,3718,Variable -FiniteTransitionVariableType_TransitionTime,3719,Variable -StateMachineType_CurrentState_Id,3720,Variable -StateMachineType_CurrentState_Name,3721,Variable -StateMachineType_CurrentState_Number,3722,Variable -StateMachineType_CurrentState_EffectiveDisplayName,3723,Variable -StateMachineType_LastTransition_Id,3724,Variable -StateMachineType_LastTransition_Name,3725,Variable -StateMachineType_LastTransition_Number,3726,Variable -StateMachineType_LastTransition_TransitionTime,3727,Variable -FiniteStateMachineType_CurrentState_Id,3728,Variable -FiniteStateMachineType_CurrentState_Name,3729,Variable -FiniteStateMachineType_CurrentState_Number,3730,Variable -FiniteStateMachineType_CurrentState_EffectiveDisplayName,3731,Variable -FiniteStateMachineType_LastTransition_Id,3732,Variable -FiniteStateMachineType_LastTransition_Name,3733,Variable -FiniteStateMachineType_LastTransition_Number,3734,Variable -FiniteStateMachineType_LastTransition_TransitionTime,3735,Variable -InitialStateType_StateNumber,3736,Variable -TransitionEventType_EventId,3737,Variable -TransitionEventType_EventType,3738,Variable -TransitionEventType_SourceNode,3739,Variable -TransitionEventType_SourceName,3740,Variable -TransitionEventType_Time,3741,Variable -TransitionEventType_ReceiveTime,3742,Variable -TransitionEventType_LocalTime,3743,Variable -TransitionEventType_Message,3744,Variable -TransitionEventType_Severity,3745,Variable -TransitionEventType_FromState_Id,3746,Variable -TransitionEventType_FromState_Name,3747,Variable -TransitionEventType_FromState_Number,3748,Variable -TransitionEventType_FromState_EffectiveDisplayName,3749,Variable -TransitionEventType_ToState_Id,3750,Variable -TransitionEventType_ToState_Name,3751,Variable -TransitionEventType_ToState_Number,3752,Variable -TransitionEventType_ToState_EffectiveDisplayName,3753,Variable -TransitionEventType_Transition_Id,3754,Variable -TransitionEventType_Transition_Name,3755,Variable -TransitionEventType_Transition_Number,3756,Variable -TransitionEventType_Transition_TransitionTime,3757,Variable -AuditUpdateStateEventType_EventId,3758,Variable -AuditUpdateStateEventType_EventType,3759,Variable -AuditUpdateStateEventType_SourceNode,3760,Variable -AuditUpdateStateEventType_SourceName,3761,Variable -AuditUpdateStateEventType_Time,3762,Variable -AuditUpdateStateEventType_ReceiveTime,3763,Variable -AuditUpdateStateEventType_LocalTime,3764,Variable -AuditUpdateStateEventType_Message,3765,Variable -AuditUpdateStateEventType_Severity,3766,Variable -AuditUpdateStateEventType_ActionTimeStamp,3767,Variable -AuditUpdateStateEventType_Status,3768,Variable -AuditUpdateStateEventType_ServerId,3769,Variable -AuditUpdateStateEventType_ClientAuditEntryId,3770,Variable -AuditUpdateStateEventType_ClientUserId,3771,Variable -AuditUpdateStateEventType_MethodId,3772,Variable -AuditUpdateStateEventType_InputArguments,3773,Variable -AnalogItemType_Definition,3774,Variable -AnalogItemType_ValuePrecision,3775,Variable -DiscreteItemType_Definition,3776,Variable -DiscreteItemType_ValuePrecision,3777,Variable -TwoStateDiscreteType_Definition,3778,Variable -TwoStateDiscreteType_ValuePrecision,3779,Variable -MultiStateDiscreteType_Definition,3780,Variable -MultiStateDiscreteType_ValuePrecision,3781,Variable -ProgramTransitionEventType_EventId,3782,Variable -ProgramTransitionEventType_EventType,3783,Variable -ProgramTransitionEventType_SourceNode,3784,Variable -ProgramTransitionEventType_SourceName,3785,Variable -ProgramTransitionEventType_Time,3786,Variable -ProgramTransitionEventType_ReceiveTime,3787,Variable -ProgramTransitionEventType_LocalTime,3788,Variable -ProgramTransitionEventType_Message,3789,Variable -ProgramTransitionEventType_Severity,3790,Variable -ProgramTransitionEventType_FromState,3791,Variable -ProgramTransitionEventType_FromState_Id,3792,Variable -ProgramTransitionEventType_FromState_Name,3793,Variable -ProgramTransitionEventType_FromState_Number,3794,Variable -ProgramTransitionEventType_FromState_EffectiveDisplayName,3795,Variable -ProgramTransitionEventType_ToState,3796,Variable -ProgramTransitionEventType_ToState_Id,3797,Variable -ProgramTransitionEventType_ToState_Name,3798,Variable -ProgramTransitionEventType_ToState_Number,3799,Variable -ProgramTransitionEventType_ToState_EffectiveDisplayName,3800,Variable -ProgramTransitionEventType_Transition,3801,Variable -ProgramTransitionEventType_Transition_Id,3802,Variable -ProgramTransitionEventType_Transition_Name,3803,Variable -ProgramTransitionEventType_Transition_Number,3804,Variable -ProgramTransitionEventType_Transition_TransitionTime,3805,Variable -ProgramTransitionAuditEventType,3806,ObjectType -ProgramTransitionAuditEventType_EventId,3807,Variable -ProgramTransitionAuditEventType_EventType,3808,Variable -ProgramTransitionAuditEventType_SourceNode,3809,Variable -ProgramTransitionAuditEventType_SourceName,3810,Variable -ProgramTransitionAuditEventType_Time,3811,Variable -ProgramTransitionAuditEventType_ReceiveTime,3812,Variable -ProgramTransitionAuditEventType_LocalTime,3813,Variable -ProgramTransitionAuditEventType_Message,3814,Variable -ProgramTransitionAuditEventType_Severity,3815,Variable -ProgramTransitionAuditEventType_ActionTimeStamp,3816,Variable -ProgramTransitionAuditEventType_Status,3817,Variable -ProgramTransitionAuditEventType_ServerId,3818,Variable -ProgramTransitionAuditEventType_ClientAuditEntryId,3819,Variable -ProgramTransitionAuditEventType_ClientUserId,3820,Variable -ProgramTransitionAuditEventType_MethodId,3821,Variable -ProgramTransitionAuditEventType_InputArguments,3822,Variable -ProgramTransitionAuditEventType_OldStateId,3823,Variable -ProgramTransitionAuditEventType_NewStateId,3824,Variable -ProgramTransitionAuditEventType_Transition,3825,Variable -ProgramTransitionAuditEventType_Transition_Id,3826,Variable -ProgramTransitionAuditEventType_Transition_Name,3827,Variable -ProgramTransitionAuditEventType_Transition_Number,3828,Variable -ProgramTransitionAuditEventType_Transition_TransitionTime,3829,Variable -ProgramStateMachineType_CurrentState,3830,Variable -ProgramStateMachineType_CurrentState_Id,3831,Variable -ProgramStateMachineType_CurrentState_Name,3832,Variable -ProgramStateMachineType_CurrentState_Number,3833,Variable -ProgramStateMachineType_CurrentState_EffectiveDisplayName,3834,Variable -ProgramStateMachineType_LastTransition,3835,Variable -ProgramStateMachineType_LastTransition_Id,3836,Variable -ProgramStateMachineType_LastTransition_Name,3837,Variable -ProgramStateMachineType_LastTransition_Number,3838,Variable -ProgramStateMachineType_LastTransition_TransitionTime,3839,Variable -ProgramStateMachineType_ProgramDiagnostics_CreateSessionId,3840,Variable -ProgramStateMachineType_ProgramDiagnostics_CreateClientName,3841,Variable -ProgramStateMachineType_ProgramDiagnostics_InvocationCreationTime,3842,Variable -ProgramStateMachineType_ProgramDiagnostics_LastTransitionTime,3843,Variable -ProgramStateMachineType_ProgramDiagnostics_LastMethodCall,3844,Variable -ProgramStateMachineType_ProgramDiagnostics_LastMethodSessionId,3845,Variable -ProgramStateMachineType_ProgramDiagnostics_LastMethodInputArguments,3846,Variable -ProgramStateMachineType_ProgramDiagnostics_LastMethodOutputArguments,3847,Variable -ProgramStateMachineType_ProgramDiagnostics_LastMethodCallTime,3848,Variable -ProgramStateMachineType_ProgramDiagnostics_LastMethodReturnStatus,3849,Variable -ProgramStateMachineType_FinalResultData,3850,Object -AddCommentMethodType,3863,Method -AddCommentMethodType_InputArguments,3864,Variable -ConditionType_EventId,3865,Variable -ConditionType_EventType,3866,Variable -ConditionType_SourceNode,3867,Variable -ConditionType_SourceName,3868,Variable -ConditionType_Time,3869,Variable -ConditionType_ReceiveTime,3870,Variable -ConditionType_LocalTime,3871,Variable -ConditionType_Message,3872,Variable -ConditionType_Severity,3873,Variable -ConditionType_Retain,3874,Variable -ConditionType_ConditionRefresh,3875,Method -ConditionType_ConditionRefresh_InputArguments,3876,Variable -RefreshStartEventType_EventId,3969,Variable -RefreshStartEventType_EventType,3970,Variable -RefreshStartEventType_SourceNode,3971,Variable -RefreshStartEventType_SourceName,3972,Variable -RefreshStartEventType_Time,3973,Variable -RefreshStartEventType_ReceiveTime,3974,Variable -RefreshStartEventType_LocalTime,3975,Variable -RefreshStartEventType_Message,3976,Variable -RefreshStartEventType_Severity,3977,Variable -RefreshEndEventType_EventId,3978,Variable -RefreshEndEventType_EventType,3979,Variable -RefreshEndEventType_SourceNode,3980,Variable -RefreshEndEventType_SourceName,3981,Variable -RefreshEndEventType_Time,3982,Variable -RefreshEndEventType_ReceiveTime,3983,Variable -RefreshEndEventType_LocalTime,3984,Variable -RefreshEndEventType_Message,3985,Variable -RefreshEndEventType_Severity,3986,Variable -RefreshRequiredEventType_EventId,3987,Variable -RefreshRequiredEventType_EventType,3988,Variable -RefreshRequiredEventType_SourceNode,3989,Variable -RefreshRequiredEventType_SourceName,3990,Variable -RefreshRequiredEventType_Time,3991,Variable -RefreshRequiredEventType_ReceiveTime,3992,Variable -RefreshRequiredEventType_LocalTime,3993,Variable -RefreshRequiredEventType_Message,3994,Variable -RefreshRequiredEventType_Severity,3995,Variable -AuditConditionEventType_EventId,3996,Variable -AuditConditionEventType_EventType,3997,Variable -AuditConditionEventType_SourceNode,3998,Variable -AuditConditionEventType_SourceName,3999,Variable -AuditConditionEventType_Time,4000,Variable -AuditConditionEventType_ReceiveTime,4001,Variable -AuditConditionEventType_LocalTime,4002,Variable -AuditConditionEventType_Message,4003,Variable -AuditConditionEventType_Severity,4004,Variable -AuditConditionEventType_ActionTimeStamp,4005,Variable -AuditConditionEventType_Status,4006,Variable -AuditConditionEventType_ServerId,4007,Variable -AuditConditionEventType_ClientAuditEntryId,4008,Variable -AuditConditionEventType_ClientUserId,4009,Variable -AuditConditionEventType_MethodId,4010,Variable -AuditConditionEventType_InputArguments,4011,Variable -AuditConditionEnableEventType_EventId,4106,Variable -AuditConditionEnableEventType_EventType,4107,Variable -AuditConditionEnableEventType_SourceNode,4108,Variable -AuditConditionEnableEventType_SourceName,4109,Variable -AuditConditionEnableEventType_Time,4110,Variable -AuditConditionEnableEventType_ReceiveTime,4111,Variable -AuditConditionEnableEventType_LocalTime,4112,Variable -AuditConditionEnableEventType_Message,4113,Variable -AuditConditionEnableEventType_Severity,4114,Variable -AuditConditionEnableEventType_ActionTimeStamp,4115,Variable -AuditConditionEnableEventType_Status,4116,Variable -AuditConditionEnableEventType_ServerId,4117,Variable -AuditConditionEnableEventType_ClientAuditEntryId,4118,Variable -AuditConditionEnableEventType_ClientUserId,4119,Variable -AuditConditionEnableEventType_MethodId,4120,Variable -AuditConditionEnableEventType_InputArguments,4121,Variable -AuditConditionCommentEventType_EventId,4170,Variable -AuditConditionCommentEventType_EventType,4171,Variable -AuditConditionCommentEventType_SourceNode,4172,Variable -AuditConditionCommentEventType_SourceName,4173,Variable -AuditConditionCommentEventType_Time,4174,Variable -AuditConditionCommentEventType_ReceiveTime,4175,Variable -AuditConditionCommentEventType_LocalTime,4176,Variable -AuditConditionCommentEventType_Message,4177,Variable -AuditConditionCommentEventType_Severity,4178,Variable -AuditConditionCommentEventType_ActionTimeStamp,4179,Variable -AuditConditionCommentEventType_Status,4180,Variable -AuditConditionCommentEventType_ServerId,4181,Variable -AuditConditionCommentEventType_ClientAuditEntryId,4182,Variable -AuditConditionCommentEventType_ClientUserId,4183,Variable -AuditConditionCommentEventType_MethodId,4184,Variable -AuditConditionCommentEventType_InputArguments,4185,Variable -DialogConditionType_EventId,4188,Variable -DialogConditionType_EventType,4189,Variable -DialogConditionType_SourceNode,4190,Variable -DialogConditionType_SourceName,4191,Variable -DialogConditionType_Time,4192,Variable -DialogConditionType_ReceiveTime,4193,Variable -DialogConditionType_LocalTime,4194,Variable -DialogConditionType_Message,4195,Variable -DialogConditionType_Severity,4196,Variable -DialogConditionType_Retain,4197,Variable -DialogConditionType_ConditionRefresh,4198,Method -DialogConditionType_ConditionRefresh_InputArguments,4199,Variable -AcknowledgeableConditionType_EventId,5113,Variable -AcknowledgeableConditionType_EventType,5114,Variable -AcknowledgeableConditionType_SourceNode,5115,Variable -AcknowledgeableConditionType_SourceName,5116,Variable -AcknowledgeableConditionType_Time,5117,Variable -AcknowledgeableConditionType_ReceiveTime,5118,Variable -AcknowledgeableConditionType_LocalTime,5119,Variable -AcknowledgeableConditionType_Message,5120,Variable -AcknowledgeableConditionType_Severity,5121,Variable -AcknowledgeableConditionType_Retain,5122,Variable -AcknowledgeableConditionType_ConditionRefresh,5123,Method -AcknowledgeableConditionType_ConditionRefresh_InputArguments,5124,Variable -AlarmConditionType_EventId,5540,Variable -AlarmConditionType_EventType,5541,Variable -AlarmConditionType_SourceNode,5542,Variable -AlarmConditionType_SourceName,5543,Variable -AlarmConditionType_Time,5544,Variable -AlarmConditionType_ReceiveTime,5545,Variable -AlarmConditionType_LocalTime,5546,Variable -AlarmConditionType_Message,5547,Variable -AlarmConditionType_Severity,5548,Variable -AlarmConditionType_Retain,5549,Variable -AlarmConditionType_ConditionRefresh,5550,Method -AlarmConditionType_ConditionRefresh_InputArguments,5551,Variable -ShelvedStateMachineType_CurrentState,6088,Variable -ShelvedStateMachineType_CurrentState_Id,6089,Variable -ShelvedStateMachineType_CurrentState_Name,6090,Variable -ShelvedStateMachineType_CurrentState_Number,6091,Variable -ShelvedStateMachineType_CurrentState_EffectiveDisplayName,6092,Variable -ShelvedStateMachineType_LastTransition,6093,Variable -ShelvedStateMachineType_LastTransition_Id,6094,Variable -ShelvedStateMachineType_LastTransition_Name,6095,Variable -ShelvedStateMachineType_LastTransition_Number,6096,Variable -ShelvedStateMachineType_LastTransition_TransitionTime,6097,Variable -ShelvedStateMachineType_Unshelved_StateNumber,6098,Variable -ShelvedStateMachineType_TimedShelved_StateNumber,6100,Variable -ShelvedStateMachineType_OneShotShelved_StateNumber,6101,Variable -TimedShelveMethodType,6102,Method -TimedShelveMethodType_InputArguments,6103,Variable -LimitAlarmType_EventId,6116,Variable -LimitAlarmType_EventType,6117,Variable -LimitAlarmType_SourceNode,6118,Variable -LimitAlarmType_SourceName,6119,Variable -LimitAlarmType_Time,6120,Variable -LimitAlarmType_ReceiveTime,6121,Variable -LimitAlarmType_LocalTime,6122,Variable -LimitAlarmType_Message,6123,Variable -LimitAlarmType_Severity,6124,Variable -LimitAlarmType_Retain,6125,Variable -LimitAlarmType_ConditionRefresh,6126,Method -LimitAlarmType_ConditionRefresh_InputArguments,6127,Variable -IdType_EnumStrings,7591,Variable -EnumValueType,7594,DataType -MessageSecurityMode_EnumStrings,7595,Variable -UserTokenType_EnumStrings,7596,Variable -ApplicationType_EnumStrings,7597,Variable -SecurityTokenRequestType_EnumStrings,7598,Variable -ComplianceLevel_EnumStrings,7599,Variable -BrowseDirection_EnumStrings,7603,Variable -FilterOperator_EnumStrings,7605,Variable -TimestampsToReturn_EnumStrings,7606,Variable -MonitoringMode_EnumStrings,7608,Variable -DataChangeTrigger_EnumStrings,7609,Variable -DeadbandType_EnumStrings,7610,Variable -RedundancySupport_EnumStrings,7611,Variable -ServerState_EnumStrings,7612,Variable -ExceptionDeviationFormat_EnumStrings,7614,Variable -EnumValueType_Encoding_DefaultXml,7616,Object -OpcUa_BinarySchema,7617,Variable -OpcUa_BinarySchema_DataTypeVersion,7618,Variable -OpcUa_BinarySchema_NamespaceUri,7619,Variable -OpcUa_BinarySchema_Argument,7650,Variable -OpcUa_BinarySchema_Argument_DataTypeVersion,7651,Variable -OpcUa_BinarySchema_Argument_DictionaryFragment,7652,Variable -OpcUa_BinarySchema_EnumValueType,7656,Variable -OpcUa_BinarySchema_EnumValueType_DataTypeVersion,7657,Variable -OpcUa_BinarySchema_EnumValueType_DictionaryFragment,7658,Variable -OpcUa_BinarySchema_StatusResult,7659,Variable -OpcUa_BinarySchema_StatusResult_DataTypeVersion,7660,Variable -OpcUa_BinarySchema_StatusResult_DictionaryFragment,7661,Variable -OpcUa_BinarySchema_UserTokenPolicy,7662,Variable -OpcUa_BinarySchema_UserTokenPolicy_DataTypeVersion,7663,Variable -OpcUa_BinarySchema_UserTokenPolicy_DictionaryFragment,7664,Variable -OpcUa_BinarySchema_ApplicationDescription,7665,Variable -OpcUa_BinarySchema_ApplicationDescription_DataTypeVersion,7666,Variable -OpcUa_BinarySchema_ApplicationDescription_DictionaryFragment,7667,Variable -OpcUa_BinarySchema_EndpointDescription,7668,Variable -OpcUa_BinarySchema_EndpointDescription_DataTypeVersion,7669,Variable -OpcUa_BinarySchema_EndpointDescription_DictionaryFragment,7670,Variable -OpcUa_BinarySchema_UserIdentityToken,7671,Variable -OpcUa_BinarySchema_UserIdentityToken_DataTypeVersion,7672,Variable -OpcUa_BinarySchema_UserIdentityToken_DictionaryFragment,7673,Variable -OpcUa_BinarySchema_AnonymousIdentityToken,7674,Variable -OpcUa_BinarySchema_AnonymousIdentityToken_DataTypeVersion,7675,Variable -OpcUa_BinarySchema_AnonymousIdentityToken_DictionaryFragment,7676,Variable -OpcUa_BinarySchema_UserNameIdentityToken,7677,Variable -OpcUa_BinarySchema_UserNameIdentityToken_DataTypeVersion,7678,Variable -OpcUa_BinarySchema_UserNameIdentityToken_DictionaryFragment,7679,Variable -OpcUa_BinarySchema_X509IdentityToken,7680,Variable -OpcUa_BinarySchema_X509IdentityToken_DataTypeVersion,7681,Variable -OpcUa_BinarySchema_X509IdentityToken_DictionaryFragment,7682,Variable -OpcUa_BinarySchema_IssuedIdentityToken,7683,Variable -OpcUa_BinarySchema_IssuedIdentityToken_DataTypeVersion,7684,Variable -OpcUa_BinarySchema_IssuedIdentityToken_DictionaryFragment,7685,Variable -OpcUa_BinarySchema_EndpointConfiguration,7686,Variable -OpcUa_BinarySchema_EndpointConfiguration_DataTypeVersion,7687,Variable -OpcUa_BinarySchema_EndpointConfiguration_DictionaryFragment,7688,Variable -OpcUa_BinarySchema_SupportedProfile,7689,Variable -OpcUa_BinarySchema_SupportedProfile_DataTypeVersion,7690,Variable -OpcUa_BinarySchema_SupportedProfile_DictionaryFragment,7691,Variable -OpcUa_BinarySchema_BuildInfo,7692,Variable -OpcUa_BinarySchema_BuildInfo_DataTypeVersion,7693,Variable -OpcUa_BinarySchema_BuildInfo_DictionaryFragment,7694,Variable -OpcUa_BinarySchema_SoftwareCertificate,7695,Variable -OpcUa_BinarySchema_SoftwareCertificate_DataTypeVersion,7696,Variable -OpcUa_BinarySchema_SoftwareCertificate_DictionaryFragment,7697,Variable -OpcUa_BinarySchema_SignedSoftwareCertificate,7698,Variable -OpcUa_BinarySchema_SignedSoftwareCertificate_DataTypeVersion,7699,Variable -OpcUa_BinarySchema_SignedSoftwareCertificate_DictionaryFragment,7700,Variable -OpcUa_BinarySchema_AddNodesItem,7728,Variable -OpcUa_BinarySchema_AddNodesItem_DataTypeVersion,7729,Variable -OpcUa_BinarySchema_AddNodesItem_DictionaryFragment,7730,Variable -OpcUa_BinarySchema_AddReferencesItem,7731,Variable -OpcUa_BinarySchema_AddReferencesItem_DataTypeVersion,7732,Variable -OpcUa_BinarySchema_AddReferencesItem_DictionaryFragment,7733,Variable -OpcUa_BinarySchema_DeleteNodesItem,7734,Variable -OpcUa_BinarySchema_DeleteNodesItem_DataTypeVersion,7735,Variable -OpcUa_BinarySchema_DeleteNodesItem_DictionaryFragment,7736,Variable -OpcUa_BinarySchema_DeleteReferencesItem,7737,Variable -OpcUa_BinarySchema_DeleteReferencesItem_DataTypeVersion,7738,Variable -OpcUa_BinarySchema_DeleteReferencesItem_DictionaryFragment,7739,Variable -OpcUa_BinarySchema_RegisteredServer,7782,Variable -OpcUa_BinarySchema_RegisteredServer_DataTypeVersion,7783,Variable -OpcUa_BinarySchema_RegisteredServer_DictionaryFragment,7784,Variable -OpcUa_BinarySchema_ContentFilterElement,7929,Variable -OpcUa_BinarySchema_ContentFilterElement_DataTypeVersion,7930,Variable -OpcUa_BinarySchema_ContentFilterElement_DictionaryFragment,7931,Variable -OpcUa_BinarySchema_ContentFilter,7932,Variable -OpcUa_BinarySchema_ContentFilter_DataTypeVersion,7933,Variable -OpcUa_BinarySchema_ContentFilter_DictionaryFragment,7934,Variable -OpcUa_BinarySchema_FilterOperand,7935,Variable -OpcUa_BinarySchema_FilterOperand_DataTypeVersion,7936,Variable -OpcUa_BinarySchema_FilterOperand_DictionaryFragment,7937,Variable -OpcUa_BinarySchema_ElementOperand,7938,Variable -OpcUa_BinarySchema_ElementOperand_DataTypeVersion,7939,Variable -OpcUa_BinarySchema_ElementOperand_DictionaryFragment,7940,Variable -OpcUa_BinarySchema_LiteralOperand,7941,Variable -OpcUa_BinarySchema_LiteralOperand_DataTypeVersion,7942,Variable -OpcUa_BinarySchema_LiteralOperand_DictionaryFragment,7943,Variable -OpcUa_BinarySchema_AttributeOperand,7944,Variable -OpcUa_BinarySchema_AttributeOperand_DataTypeVersion,7945,Variable -OpcUa_BinarySchema_AttributeOperand_DictionaryFragment,7946,Variable -OpcUa_BinarySchema_SimpleAttributeOperand,7947,Variable -OpcUa_BinarySchema_SimpleAttributeOperand_DataTypeVersion,7948,Variable -OpcUa_BinarySchema_SimpleAttributeOperand_DictionaryFragment,7949,Variable -OpcUa_BinarySchema_HistoryEvent,8004,Variable -OpcUa_BinarySchema_HistoryEvent_DataTypeVersion,8005,Variable -OpcUa_BinarySchema_HistoryEvent_DictionaryFragment,8006,Variable -OpcUa_BinarySchema_MonitoringFilter,8067,Variable -OpcUa_BinarySchema_MonitoringFilter_DataTypeVersion,8068,Variable -OpcUa_BinarySchema_MonitoringFilter_DictionaryFragment,8069,Variable -OpcUa_BinarySchema_EventFilter,8073,Variable -OpcUa_BinarySchema_EventFilter_DataTypeVersion,8074,Variable -OpcUa_BinarySchema_EventFilter_DictionaryFragment,8075,Variable -OpcUa_BinarySchema_AggregateConfiguration,8076,Variable -OpcUa_BinarySchema_AggregateConfiguration_DataTypeVersion,8077,Variable -OpcUa_BinarySchema_AggregateConfiguration_DictionaryFragment,8078,Variable -OpcUa_BinarySchema_HistoryEventFieldList,8172,Variable -OpcUa_BinarySchema_HistoryEventFieldList_DataTypeVersion,8173,Variable -OpcUa_BinarySchema_HistoryEventFieldList_DictionaryFragment,8174,Variable -OpcUa_BinarySchema_RedundantServerDataType,8208,Variable -OpcUa_BinarySchema_RedundantServerDataType_DataTypeVersion,8209,Variable -OpcUa_BinarySchema_RedundantServerDataType_DictionaryFragment,8210,Variable -OpcUa_BinarySchema_SamplingIntervalDiagnosticsDataType,8211,Variable -OpcUa_BinarySchema_SamplingIntervalDiagnosticsDataType_DataTypeVersion,8212,Variable -OpcUa_BinarySchema_SamplingIntervalDiagnosticsDataType_DictionaryFragment,8213,Variable -OpcUa_BinarySchema_ServerDiagnosticsSummaryDataType,8214,Variable -OpcUa_BinarySchema_ServerDiagnosticsSummaryDataType_DataTypeVersion,8215,Variable -OpcUa_BinarySchema_ServerDiagnosticsSummaryDataType_DictionaryFragment,8216,Variable -OpcUa_BinarySchema_ServerStatusDataType,8217,Variable -OpcUa_BinarySchema_ServerStatusDataType_DataTypeVersion,8218,Variable -OpcUa_BinarySchema_ServerStatusDataType_DictionaryFragment,8219,Variable -OpcUa_BinarySchema_SessionDiagnosticsDataType,8220,Variable -OpcUa_BinarySchema_SessionDiagnosticsDataType_DataTypeVersion,8221,Variable -OpcUa_BinarySchema_SessionDiagnosticsDataType_DictionaryFragment,8222,Variable -OpcUa_BinarySchema_SessionSecurityDiagnosticsDataType,8223,Variable -OpcUa_BinarySchema_SessionSecurityDiagnosticsDataType_DataTypeVersion,8224,Variable -OpcUa_BinarySchema_SessionSecurityDiagnosticsDataType_DictionaryFragment,8225,Variable -OpcUa_BinarySchema_ServiceCounterDataType,8226,Variable -OpcUa_BinarySchema_ServiceCounterDataType_DataTypeVersion,8227,Variable -OpcUa_BinarySchema_ServiceCounterDataType_DictionaryFragment,8228,Variable -OpcUa_BinarySchema_SubscriptionDiagnosticsDataType,8229,Variable -OpcUa_BinarySchema_SubscriptionDiagnosticsDataType_DataTypeVersion,8230,Variable -OpcUa_BinarySchema_SubscriptionDiagnosticsDataType_DictionaryFragment,8231,Variable -OpcUa_BinarySchema_ModelChangeStructureDataType,8232,Variable -OpcUa_BinarySchema_ModelChangeStructureDataType_DataTypeVersion,8233,Variable -OpcUa_BinarySchema_ModelChangeStructureDataType_DictionaryFragment,8234,Variable -OpcUa_BinarySchema_SemanticChangeStructureDataType,8235,Variable -OpcUa_BinarySchema_SemanticChangeStructureDataType_DataTypeVersion,8236,Variable -OpcUa_BinarySchema_SemanticChangeStructureDataType_DictionaryFragment,8237,Variable -OpcUa_BinarySchema_Range,8238,Variable -OpcUa_BinarySchema_Range_DataTypeVersion,8239,Variable -OpcUa_BinarySchema_Range_DictionaryFragment,8240,Variable -OpcUa_BinarySchema_EUInformation,8241,Variable -OpcUa_BinarySchema_EUInformation_DataTypeVersion,8242,Variable -OpcUa_BinarySchema_EUInformation_DictionaryFragment,8243,Variable -OpcUa_BinarySchema_Annotation,8244,Variable -OpcUa_BinarySchema_Annotation_DataTypeVersion,8245,Variable -OpcUa_BinarySchema_Annotation_DictionaryFragment,8246,Variable -OpcUa_BinarySchema_ProgramDiagnosticDataType,8247,Variable -OpcUa_BinarySchema_ProgramDiagnosticDataType_DataTypeVersion,8248,Variable -OpcUa_BinarySchema_ProgramDiagnosticDataType_DictionaryFragment,8249,Variable -EnumValueType_Encoding_DefaultBinary,8251,Object -OpcUa_XmlSchema,8252,Variable -OpcUa_XmlSchema_DataTypeVersion,8253,Variable -OpcUa_XmlSchema_NamespaceUri,8254,Variable -OpcUa_XmlSchema_Argument,8285,Variable -OpcUa_XmlSchema_Argument_DataTypeVersion,8286,Variable -OpcUa_XmlSchema_Argument_DictionaryFragment,8287,Variable -OpcUa_XmlSchema_EnumValueType,8291,Variable -OpcUa_XmlSchema_EnumValueType_DataTypeVersion,8292,Variable -OpcUa_XmlSchema_EnumValueType_DictionaryFragment,8293,Variable -OpcUa_XmlSchema_StatusResult,8294,Variable -OpcUa_XmlSchema_StatusResult_DataTypeVersion,8295,Variable -OpcUa_XmlSchema_StatusResult_DictionaryFragment,8296,Variable -OpcUa_XmlSchema_UserTokenPolicy,8297,Variable -OpcUa_XmlSchema_UserTokenPolicy_DataTypeVersion,8298,Variable -OpcUa_XmlSchema_UserTokenPolicy_DictionaryFragment,8299,Variable -OpcUa_XmlSchema_ApplicationDescription,8300,Variable -OpcUa_XmlSchema_ApplicationDescription_DataTypeVersion,8301,Variable -OpcUa_XmlSchema_ApplicationDescription_DictionaryFragment,8302,Variable -OpcUa_XmlSchema_EndpointDescription,8303,Variable -OpcUa_XmlSchema_EndpointDescription_DataTypeVersion,8304,Variable -OpcUa_XmlSchema_EndpointDescription_DictionaryFragment,8305,Variable -OpcUa_XmlSchema_UserIdentityToken,8306,Variable -OpcUa_XmlSchema_UserIdentityToken_DataTypeVersion,8307,Variable -OpcUa_XmlSchema_UserIdentityToken_DictionaryFragment,8308,Variable -OpcUa_XmlSchema_AnonymousIdentityToken,8309,Variable -OpcUa_XmlSchema_AnonymousIdentityToken_DataTypeVersion,8310,Variable -OpcUa_XmlSchema_AnonymousIdentityToken_DictionaryFragment,8311,Variable -OpcUa_XmlSchema_UserNameIdentityToken,8312,Variable -OpcUa_XmlSchema_UserNameIdentityToken_DataTypeVersion,8313,Variable -OpcUa_XmlSchema_UserNameIdentityToken_DictionaryFragment,8314,Variable -OpcUa_XmlSchema_X509IdentityToken,8315,Variable -OpcUa_XmlSchema_X509IdentityToken_DataTypeVersion,8316,Variable -OpcUa_XmlSchema_X509IdentityToken_DictionaryFragment,8317,Variable -OpcUa_XmlSchema_IssuedIdentityToken,8318,Variable -OpcUa_XmlSchema_IssuedIdentityToken_DataTypeVersion,8319,Variable -OpcUa_XmlSchema_IssuedIdentityToken_DictionaryFragment,8320,Variable -OpcUa_XmlSchema_EndpointConfiguration,8321,Variable -OpcUa_XmlSchema_EndpointConfiguration_DataTypeVersion,8322,Variable -OpcUa_XmlSchema_EndpointConfiguration_DictionaryFragment,8323,Variable -OpcUa_XmlSchema_SupportedProfile,8324,Variable -OpcUa_XmlSchema_SupportedProfile_DataTypeVersion,8325,Variable -OpcUa_XmlSchema_SupportedProfile_DictionaryFragment,8326,Variable -OpcUa_XmlSchema_BuildInfo,8327,Variable -OpcUa_XmlSchema_BuildInfo_DataTypeVersion,8328,Variable -OpcUa_XmlSchema_BuildInfo_DictionaryFragment,8329,Variable -OpcUa_XmlSchema_SoftwareCertificate,8330,Variable -OpcUa_XmlSchema_SoftwareCertificate_DataTypeVersion,8331,Variable -OpcUa_XmlSchema_SoftwareCertificate_DictionaryFragment,8332,Variable -OpcUa_XmlSchema_SignedSoftwareCertificate,8333,Variable -OpcUa_XmlSchema_SignedSoftwareCertificate_DataTypeVersion,8334,Variable -OpcUa_XmlSchema_SignedSoftwareCertificate_DictionaryFragment,8335,Variable -OpcUa_XmlSchema_AddNodesItem,8363,Variable -OpcUa_XmlSchema_AddNodesItem_DataTypeVersion,8364,Variable -OpcUa_XmlSchema_AddNodesItem_DictionaryFragment,8365,Variable -OpcUa_XmlSchema_AddReferencesItem,8366,Variable -OpcUa_XmlSchema_AddReferencesItem_DataTypeVersion,8367,Variable -OpcUa_XmlSchema_AddReferencesItem_DictionaryFragment,8368,Variable -OpcUa_XmlSchema_DeleteNodesItem,8369,Variable -OpcUa_XmlSchema_DeleteNodesItem_DataTypeVersion,8370,Variable -OpcUa_XmlSchema_DeleteNodesItem_DictionaryFragment,8371,Variable -OpcUa_XmlSchema_DeleteReferencesItem,8372,Variable -OpcUa_XmlSchema_DeleteReferencesItem_DataTypeVersion,8373,Variable -OpcUa_XmlSchema_DeleteReferencesItem_DictionaryFragment,8374,Variable -OpcUa_XmlSchema_RegisteredServer,8417,Variable -OpcUa_XmlSchema_RegisteredServer_DataTypeVersion,8418,Variable -OpcUa_XmlSchema_RegisteredServer_DictionaryFragment,8419,Variable -OpcUa_XmlSchema_ContentFilterElement,8564,Variable -OpcUa_XmlSchema_ContentFilterElement_DataTypeVersion,8565,Variable -OpcUa_XmlSchema_ContentFilterElement_DictionaryFragment,8566,Variable -OpcUa_XmlSchema_ContentFilter,8567,Variable -OpcUa_XmlSchema_ContentFilter_DataTypeVersion,8568,Variable -OpcUa_XmlSchema_ContentFilter_DictionaryFragment,8569,Variable -OpcUa_XmlSchema_FilterOperand,8570,Variable -OpcUa_XmlSchema_FilterOperand_DataTypeVersion,8571,Variable -OpcUa_XmlSchema_FilterOperand_DictionaryFragment,8572,Variable -OpcUa_XmlSchema_ElementOperand,8573,Variable -OpcUa_XmlSchema_ElementOperand_DataTypeVersion,8574,Variable -OpcUa_XmlSchema_ElementOperand_DictionaryFragment,8575,Variable -OpcUa_XmlSchema_LiteralOperand,8576,Variable -OpcUa_XmlSchema_LiteralOperand_DataTypeVersion,8577,Variable -OpcUa_XmlSchema_LiteralOperand_DictionaryFragment,8578,Variable -OpcUa_XmlSchema_AttributeOperand,8579,Variable -OpcUa_XmlSchema_AttributeOperand_DataTypeVersion,8580,Variable -OpcUa_XmlSchema_AttributeOperand_DictionaryFragment,8581,Variable -OpcUa_XmlSchema_SimpleAttributeOperand,8582,Variable -OpcUa_XmlSchema_SimpleAttributeOperand_DataTypeVersion,8583,Variable -OpcUa_XmlSchema_SimpleAttributeOperand_DictionaryFragment,8584,Variable -OpcUa_XmlSchema_HistoryEvent,8639,Variable -OpcUa_XmlSchema_HistoryEvent_DataTypeVersion,8640,Variable -OpcUa_XmlSchema_HistoryEvent_DictionaryFragment,8641,Variable -OpcUa_XmlSchema_MonitoringFilter,8702,Variable -OpcUa_XmlSchema_MonitoringFilter_DataTypeVersion,8703,Variable -OpcUa_XmlSchema_MonitoringFilter_DictionaryFragment,8704,Variable -OpcUa_XmlSchema_EventFilter,8708,Variable -OpcUa_XmlSchema_EventFilter_DataTypeVersion,8709,Variable -OpcUa_XmlSchema_EventFilter_DictionaryFragment,8710,Variable -OpcUa_XmlSchema_AggregateConfiguration,8711,Variable -OpcUa_XmlSchema_AggregateConfiguration_DataTypeVersion,8712,Variable -OpcUa_XmlSchema_AggregateConfiguration_DictionaryFragment,8713,Variable -OpcUa_XmlSchema_HistoryEventFieldList,8807,Variable -OpcUa_XmlSchema_HistoryEventFieldList_DataTypeVersion,8808,Variable -OpcUa_XmlSchema_HistoryEventFieldList_DictionaryFragment,8809,Variable -OpcUa_XmlSchema_RedundantServerDataType,8843,Variable -OpcUa_XmlSchema_RedundantServerDataType_DataTypeVersion,8844,Variable -OpcUa_XmlSchema_RedundantServerDataType_DictionaryFragment,8845,Variable -OpcUa_XmlSchema_SamplingIntervalDiagnosticsDataType,8846,Variable -OpcUa_XmlSchema_SamplingIntervalDiagnosticsDataType_DataTypeVersion,8847,Variable -OpcUa_XmlSchema_SamplingIntervalDiagnosticsDataType_DictionaryFragment,8848,Variable -OpcUa_XmlSchema_ServerDiagnosticsSummaryDataType,8849,Variable -OpcUa_XmlSchema_ServerDiagnosticsSummaryDataType_DataTypeVersion,8850,Variable -OpcUa_XmlSchema_ServerDiagnosticsSummaryDataType_DictionaryFragment,8851,Variable -OpcUa_XmlSchema_ServerStatusDataType,8852,Variable -OpcUa_XmlSchema_ServerStatusDataType_DataTypeVersion,8853,Variable -OpcUa_XmlSchema_ServerStatusDataType_DictionaryFragment,8854,Variable -OpcUa_XmlSchema_SessionDiagnosticsDataType,8855,Variable -OpcUa_XmlSchema_SessionDiagnosticsDataType_DataTypeVersion,8856,Variable -OpcUa_XmlSchema_SessionDiagnosticsDataType_DictionaryFragment,8857,Variable -OpcUa_XmlSchema_SessionSecurityDiagnosticsDataType,8858,Variable -OpcUa_XmlSchema_SessionSecurityDiagnosticsDataType_DataTypeVersion,8859,Variable -OpcUa_XmlSchema_SessionSecurityDiagnosticsDataType_DictionaryFragment,8860,Variable -OpcUa_XmlSchema_ServiceCounterDataType,8861,Variable -OpcUa_XmlSchema_ServiceCounterDataType_DataTypeVersion,8862,Variable -OpcUa_XmlSchema_ServiceCounterDataType_DictionaryFragment,8863,Variable -OpcUa_XmlSchema_SubscriptionDiagnosticsDataType,8864,Variable -OpcUa_XmlSchema_SubscriptionDiagnosticsDataType_DataTypeVersion,8865,Variable -OpcUa_XmlSchema_SubscriptionDiagnosticsDataType_DictionaryFragment,8866,Variable -OpcUa_XmlSchema_ModelChangeStructureDataType,8867,Variable -OpcUa_XmlSchema_ModelChangeStructureDataType_DataTypeVersion,8868,Variable -OpcUa_XmlSchema_ModelChangeStructureDataType_DictionaryFragment,8869,Variable -OpcUa_XmlSchema_SemanticChangeStructureDataType,8870,Variable -OpcUa_XmlSchema_SemanticChangeStructureDataType_DataTypeVersion,8871,Variable -OpcUa_XmlSchema_SemanticChangeStructureDataType_DictionaryFragment,8872,Variable -OpcUa_XmlSchema_Range,8873,Variable -OpcUa_XmlSchema_Range_DataTypeVersion,8874,Variable -OpcUa_XmlSchema_Range_DictionaryFragment,8875,Variable -OpcUa_XmlSchema_EUInformation,8876,Variable -OpcUa_XmlSchema_EUInformation_DataTypeVersion,8877,Variable -OpcUa_XmlSchema_EUInformation_DictionaryFragment,8878,Variable -OpcUa_XmlSchema_Annotation,8879,Variable -OpcUa_XmlSchema_Annotation_DataTypeVersion,8880,Variable -OpcUa_XmlSchema_Annotation_DictionaryFragment,8881,Variable -OpcUa_XmlSchema_ProgramDiagnosticDataType,8882,Variable -OpcUa_XmlSchema_ProgramDiagnosticDataType_DataTypeVersion,8883,Variable -OpcUa_XmlSchema_ProgramDiagnosticDataType_DictionaryFragment,8884,Variable -SubscriptionDiagnosticsType_MaxLifetimeCount,8888,Variable -SubscriptionDiagnosticsType_LatePublishRequestCount,8889,Variable -SubscriptionDiagnosticsType_CurrentKeepAliveCount,8890,Variable -SubscriptionDiagnosticsType_CurrentLifetimeCount,8891,Variable -SubscriptionDiagnosticsType_UnacknowledgedMessageCount,8892,Variable -SubscriptionDiagnosticsType_DiscardedMessageCount,8893,Variable -SubscriptionDiagnosticsType_MonitoredItemCount,8894,Variable -SubscriptionDiagnosticsType_DisabledMonitoredItemCount,8895,Variable -SubscriptionDiagnosticsType_MonitoringQueueOverflowCount,8896,Variable -SubscriptionDiagnosticsType_NextSequenceNumber,8897,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_TotalRequestCount,8898,Variable -SessionDiagnosticsVariableType_TotalRequestCount,8900,Variable -SubscriptionDiagnosticsType_EventQueueOverFlowCount,8902,Variable -TimeZoneDataType,8912,DataType -TimeZoneDataType_Encoding_DefaultXml,8913,Object -OpcUa_BinarySchema_TimeZoneDataType,8914,Variable -OpcUa_BinarySchema_TimeZoneDataType_DataTypeVersion,8915,Variable -OpcUa_BinarySchema_TimeZoneDataType_DictionaryFragment,8916,Variable -TimeZoneDataType_Encoding_DefaultBinary,8917,Object -OpcUa_XmlSchema_TimeZoneDataType,8918,Variable -OpcUa_XmlSchema_TimeZoneDataType_DataTypeVersion,8919,Variable -OpcUa_XmlSchema_TimeZoneDataType_DictionaryFragment,8920,Variable -AuditConditionRespondEventType,8927,ObjectType -AuditConditionRespondEventType_EventId,8928,Variable -AuditConditionRespondEventType_EventType,8929,Variable -AuditConditionRespondEventType_SourceNode,8930,Variable -AuditConditionRespondEventType_SourceName,8931,Variable -AuditConditionRespondEventType_Time,8932,Variable -AuditConditionRespondEventType_ReceiveTime,8933,Variable -AuditConditionRespondEventType_LocalTime,8934,Variable -AuditConditionRespondEventType_Message,8935,Variable -AuditConditionRespondEventType_Severity,8936,Variable -AuditConditionRespondEventType_ActionTimeStamp,8937,Variable -AuditConditionRespondEventType_Status,8938,Variable -AuditConditionRespondEventType_ServerId,8939,Variable -AuditConditionRespondEventType_ClientAuditEntryId,8940,Variable -AuditConditionRespondEventType_ClientUserId,8941,Variable -AuditConditionRespondEventType_MethodId,8942,Variable -AuditConditionRespondEventType_InputArguments,8943,Variable -AuditConditionAcknowledgeEventType,8944,ObjectType -AuditConditionAcknowledgeEventType_EventId,8945,Variable -AuditConditionAcknowledgeEventType_EventType,8946,Variable -AuditConditionAcknowledgeEventType_SourceNode,8947,Variable -AuditConditionAcknowledgeEventType_SourceName,8948,Variable -AuditConditionAcknowledgeEventType_Time,8949,Variable -AuditConditionAcknowledgeEventType_ReceiveTime,8950,Variable -AuditConditionAcknowledgeEventType_LocalTime,8951,Variable -AuditConditionAcknowledgeEventType_Message,8952,Variable -AuditConditionAcknowledgeEventType_Severity,8953,Variable -AuditConditionAcknowledgeEventType_ActionTimeStamp,8954,Variable -AuditConditionAcknowledgeEventType_Status,8955,Variable -AuditConditionAcknowledgeEventType_ServerId,8956,Variable -AuditConditionAcknowledgeEventType_ClientAuditEntryId,8957,Variable -AuditConditionAcknowledgeEventType_ClientUserId,8958,Variable -AuditConditionAcknowledgeEventType_MethodId,8959,Variable -AuditConditionAcknowledgeEventType_InputArguments,8960,Variable -AuditConditionConfirmEventType,8961,ObjectType -AuditConditionConfirmEventType_EventId,8962,Variable -AuditConditionConfirmEventType_EventType,8963,Variable -AuditConditionConfirmEventType_SourceNode,8964,Variable -AuditConditionConfirmEventType_SourceName,8965,Variable -AuditConditionConfirmEventType_Time,8966,Variable -AuditConditionConfirmEventType_ReceiveTime,8967,Variable -AuditConditionConfirmEventType_LocalTime,8968,Variable -AuditConditionConfirmEventType_Message,8969,Variable -AuditConditionConfirmEventType_Severity,8970,Variable -AuditConditionConfirmEventType_ActionTimeStamp,8971,Variable -AuditConditionConfirmEventType_Status,8972,Variable -AuditConditionConfirmEventType_ServerId,8973,Variable -AuditConditionConfirmEventType_ClientAuditEntryId,8974,Variable -AuditConditionConfirmEventType_ClientUserId,8975,Variable -AuditConditionConfirmEventType_MethodId,8976,Variable -AuditConditionConfirmEventType_InputArguments,8977,Variable -TwoStateVariableType,8995,VariableType -TwoStateVariableType_Id,8996,Variable -TwoStateVariableType_Name,8997,Variable -TwoStateVariableType_Number,8998,Variable -TwoStateVariableType_EffectiveDisplayName,8999,Variable -TwoStateVariableType_TransitionTime,9000,Variable -TwoStateVariableType_EffectiveTransitionTime,9001,Variable -ConditionVariableType,9002,VariableType -ConditionVariableType_SourceTimestamp,9003,Variable -HasTrueSubState,9004,ReferenceType -HasFalseSubState,9005,ReferenceType -HasCondition,9006,ReferenceType -ConditionRefreshMethodType,9007,Method -ConditionRefreshMethodType_InputArguments,9008,Variable -ConditionType_ConditionName,9009,Variable -ConditionType_BranchId,9010,Variable -ConditionType_EnabledState,9011,Variable -ConditionType_EnabledState_Id,9012,Variable -ConditionType_EnabledState_Name,9013,Variable -ConditionType_EnabledState_Number,9014,Variable -ConditionType_EnabledState_EffectiveDisplayName,9015,Variable -ConditionType_EnabledState_TransitionTime,9016,Variable -ConditionType_EnabledState_EffectiveTransitionTime,9017,Variable -ConditionType_EnabledState_TrueState,9018,Variable -ConditionType_EnabledState_FalseState,9019,Variable -ConditionType_Quality,9020,Variable -ConditionType_Quality_SourceTimestamp,9021,Variable -ConditionType_LastSeverity,9022,Variable -ConditionType_LastSeverity_SourceTimestamp,9023,Variable -ConditionType_Comment,9024,Variable -ConditionType_Comment_SourceTimestamp,9025,Variable -ConditionType_ClientUserId,9026,Variable -ConditionType_Enable,9027,Method -ConditionType_Disable,9028,Method -ConditionType_AddComment,9029,Method -ConditionType_AddComment_InputArguments,9030,Variable -DialogResponseMethodType,9031,Method -DialogResponseMethodType_InputArguments,9032,Variable -DialogConditionType_ConditionName,9033,Variable -DialogConditionType_BranchId,9034,Variable -DialogConditionType_EnabledState,9035,Variable -DialogConditionType_EnabledState_Id,9036,Variable -DialogConditionType_EnabledState_Name,9037,Variable -DialogConditionType_EnabledState_Number,9038,Variable -DialogConditionType_EnabledState_EffectiveDisplayName,9039,Variable -DialogConditionType_EnabledState_TransitionTime,9040,Variable -DialogConditionType_EnabledState_EffectiveTransitionTime,9041,Variable -DialogConditionType_EnabledState_TrueState,9042,Variable -DialogConditionType_EnabledState_FalseState,9043,Variable -DialogConditionType_Quality,9044,Variable -DialogConditionType_Quality_SourceTimestamp,9045,Variable -DialogConditionType_LastSeverity,9046,Variable -DialogConditionType_LastSeverity_SourceTimestamp,9047,Variable -DialogConditionType_Comment,9048,Variable -DialogConditionType_Comment_SourceTimestamp,9049,Variable -DialogConditionType_ClientUserId,9050,Variable -DialogConditionType_Enable,9051,Method -DialogConditionType_Disable,9052,Method -DialogConditionType_AddComment,9053,Method -DialogConditionType_AddComment_InputArguments,9054,Variable -DialogConditionType_DialogState,9055,Variable -DialogConditionType_DialogState_Id,9056,Variable -DialogConditionType_DialogState_Name,9057,Variable -DialogConditionType_DialogState_Number,9058,Variable -DialogConditionType_DialogState_EffectiveDisplayName,9059,Variable -DialogConditionType_DialogState_TransitionTime,9060,Variable -DialogConditionType_DialogState_EffectiveTransitionTime,9061,Variable -DialogConditionType_DialogState_TrueState,9062,Variable -DialogConditionType_DialogState_FalseState,9063,Variable -DialogConditionType_ResponseOptionSet,9064,Variable -DialogConditionType_DefaultResponse,9065,Variable -DialogConditionType_OkResponse,9066,Variable -DialogConditionType_CancelResponse,9067,Variable -DialogConditionType_LastResponse,9068,Variable -DialogConditionType_Respond,9069,Method -DialogConditionType_Respond_InputArguments,9070,Variable -AcknowledgeableConditionType_ConditionName,9071,Variable -AcknowledgeableConditionType_BranchId,9072,Variable -AcknowledgeableConditionType_EnabledState,9073,Variable -AcknowledgeableConditionType_EnabledState_Id,9074,Variable -AcknowledgeableConditionType_EnabledState_Name,9075,Variable -AcknowledgeableConditionType_EnabledState_Number,9076,Variable -AcknowledgeableConditionType_EnabledState_EffectiveDisplayName,9077,Variable -AcknowledgeableConditionType_EnabledState_TransitionTime,9078,Variable -AcknowledgeableConditionType_EnabledState_EffectiveTransitionTime,9079,Variable -AcknowledgeableConditionType_EnabledState_TrueState,9080,Variable -AcknowledgeableConditionType_EnabledState_FalseState,9081,Variable -AcknowledgeableConditionType_Quality,9082,Variable -AcknowledgeableConditionType_Quality_SourceTimestamp,9083,Variable -AcknowledgeableConditionType_LastSeverity,9084,Variable -AcknowledgeableConditionType_LastSeverity_SourceTimestamp,9085,Variable -AcknowledgeableConditionType_Comment,9086,Variable -AcknowledgeableConditionType_Comment_SourceTimestamp,9087,Variable -AcknowledgeableConditionType_ClientUserId,9088,Variable -AcknowledgeableConditionType_Enable,9089,Method -AcknowledgeableConditionType_Disable,9090,Method -AcknowledgeableConditionType_AddComment,9091,Method -AcknowledgeableConditionType_AddComment_InputArguments,9092,Variable -AcknowledgeableConditionType_AckedState,9093,Variable -AcknowledgeableConditionType_AckedState_Id,9094,Variable -AcknowledgeableConditionType_AckedState_Name,9095,Variable -AcknowledgeableConditionType_AckedState_Number,9096,Variable -AcknowledgeableConditionType_AckedState_EffectiveDisplayName,9097,Variable -AcknowledgeableConditionType_AckedState_TransitionTime,9098,Variable -AcknowledgeableConditionType_AckedState_EffectiveTransitionTime,9099,Variable -AcknowledgeableConditionType_AckedState_TrueState,9100,Variable -AcknowledgeableConditionType_AckedState_FalseState,9101,Variable -AcknowledgeableConditionType_ConfirmedState,9102,Variable -AcknowledgeableConditionType_ConfirmedState_Id,9103,Variable -AcknowledgeableConditionType_ConfirmedState_Name,9104,Variable -AcknowledgeableConditionType_ConfirmedState_Number,9105,Variable -AcknowledgeableConditionType_ConfirmedState_EffectiveDisplayName,9106,Variable -AcknowledgeableConditionType_ConfirmedState_TransitionTime,9107,Variable -AcknowledgeableConditionType_ConfirmedState_EffectiveTransitionTime,9108,Variable -AcknowledgeableConditionType_ConfirmedState_TrueState,9109,Variable -AcknowledgeableConditionType_ConfirmedState_FalseState,9110,Variable -AcknowledgeableConditionType_Acknowledge,9111,Method -AcknowledgeableConditionType_Acknowledge_InputArguments,9112,Variable -AcknowledgeableConditionType_Confirm,9113,Method -AcknowledgeableConditionType_Confirm_InputArguments,9114,Variable -ShelvedStateMachineType_UnshelveTime,9115,Variable -AlarmConditionType_ConditionName,9116,Variable -AlarmConditionType_BranchId,9117,Variable -AlarmConditionType_EnabledState,9118,Variable -AlarmConditionType_EnabledState_Id,9119,Variable -AlarmConditionType_EnabledState_Name,9120,Variable -AlarmConditionType_EnabledState_Number,9121,Variable -AlarmConditionType_EnabledState_EffectiveDisplayName,9122,Variable -AlarmConditionType_EnabledState_TransitionTime,9123,Variable -AlarmConditionType_EnabledState_EffectiveTransitionTime,9124,Variable -AlarmConditionType_EnabledState_TrueState,9125,Variable -AlarmConditionType_EnabledState_FalseState,9126,Variable -AlarmConditionType_Quality,9127,Variable -AlarmConditionType_Quality_SourceTimestamp,9128,Variable -AlarmConditionType_LastSeverity,9129,Variable -AlarmConditionType_LastSeverity_SourceTimestamp,9130,Variable -AlarmConditionType_Comment,9131,Variable -AlarmConditionType_Comment_SourceTimestamp,9132,Variable -AlarmConditionType_ClientUserId,9133,Variable -AlarmConditionType_Enable,9134,Method -AlarmConditionType_Disable,9135,Method -AlarmConditionType_AddComment,9136,Method -AlarmConditionType_AddComment_InputArguments,9137,Variable -AlarmConditionType_AckedState,9138,Variable -AlarmConditionType_AckedState_Id,9139,Variable -AlarmConditionType_AckedState_Name,9140,Variable -AlarmConditionType_AckedState_Number,9141,Variable -AlarmConditionType_AckedState_EffectiveDisplayName,9142,Variable -AlarmConditionType_AckedState_TransitionTime,9143,Variable -AlarmConditionType_AckedState_EffectiveTransitionTime,9144,Variable -AlarmConditionType_AckedState_TrueState,9145,Variable -AlarmConditionType_AckedState_FalseState,9146,Variable -AlarmConditionType_ConfirmedState,9147,Variable -AlarmConditionType_ConfirmedState_Id,9148,Variable -AlarmConditionType_ConfirmedState_Name,9149,Variable -AlarmConditionType_ConfirmedState_Number,9150,Variable -AlarmConditionType_ConfirmedState_EffectiveDisplayName,9151,Variable -AlarmConditionType_ConfirmedState_TransitionTime,9152,Variable -AlarmConditionType_ConfirmedState_EffectiveTransitionTime,9153,Variable -AlarmConditionType_ConfirmedState_TrueState,9154,Variable -AlarmConditionType_ConfirmedState_FalseState,9155,Variable -AlarmConditionType_Acknowledge,9156,Method -AlarmConditionType_Acknowledge_InputArguments,9157,Variable -AlarmConditionType_Confirm,9158,Method -AlarmConditionType_Confirm_InputArguments,9159,Variable -AlarmConditionType_ActiveState,9160,Variable -AlarmConditionType_ActiveState_Id,9161,Variable -AlarmConditionType_ActiveState_Name,9162,Variable -AlarmConditionType_ActiveState_Number,9163,Variable -AlarmConditionType_ActiveState_EffectiveDisplayName,9164,Variable -AlarmConditionType_ActiveState_TransitionTime,9165,Variable -AlarmConditionType_ActiveState_EffectiveTransitionTime,9166,Variable -AlarmConditionType_ActiveState_TrueState,9167,Variable -AlarmConditionType_ActiveState_FalseState,9168,Variable -AlarmConditionType_SuppressedState,9169,Variable -AlarmConditionType_SuppressedState_Id,9170,Variable -AlarmConditionType_SuppressedState_Name,9171,Variable -AlarmConditionType_SuppressedState_Number,9172,Variable -AlarmConditionType_SuppressedState_EffectiveDisplayName,9173,Variable -AlarmConditionType_SuppressedState_TransitionTime,9174,Variable -AlarmConditionType_SuppressedState_EffectiveTransitionTime,9175,Variable -AlarmConditionType_SuppressedState_TrueState,9176,Variable -AlarmConditionType_SuppressedState_FalseState,9177,Variable -AlarmConditionType_ShelvingState,9178,Object -AlarmConditionType_ShelvingState_CurrentState,9179,Variable -AlarmConditionType_ShelvingState_CurrentState_Id,9180,Variable -AlarmConditionType_ShelvingState_CurrentState_Name,9181,Variable -AlarmConditionType_ShelvingState_CurrentState_Number,9182,Variable -AlarmConditionType_ShelvingState_CurrentState_EffectiveDisplayName,9183,Variable -AlarmConditionType_ShelvingState_LastTransition,9184,Variable -AlarmConditionType_ShelvingState_LastTransition_Id,9185,Variable -AlarmConditionType_ShelvingState_LastTransition_Name,9186,Variable -AlarmConditionType_ShelvingState_LastTransition_Number,9187,Variable -AlarmConditionType_ShelvingState_LastTransition_TransitionTime,9188,Variable -AlarmConditionType_ShelvingState_UnshelveTime,9189,Variable -AlarmConditionType_ShelvingState_Unshelve,9211,Method -AlarmConditionType_ShelvingState_OneShotShelve,9212,Method -AlarmConditionType_ShelvingState_TimedShelve,9213,Method -AlarmConditionType_ShelvingState_TimedShelve_InputArguments,9214,Variable -AlarmConditionType_SuppressedOrShelved,9215,Variable -AlarmConditionType_MaxTimeShelved,9216,Variable -LimitAlarmType_ConditionName,9217,Variable -LimitAlarmType_BranchId,9218,Variable -LimitAlarmType_EnabledState,9219,Variable -LimitAlarmType_EnabledState_Id,9220,Variable -LimitAlarmType_EnabledState_Name,9221,Variable -LimitAlarmType_EnabledState_Number,9222,Variable -LimitAlarmType_EnabledState_EffectiveDisplayName,9223,Variable -LimitAlarmType_EnabledState_TransitionTime,9224,Variable -LimitAlarmType_EnabledState_EffectiveTransitionTime,9225,Variable -LimitAlarmType_EnabledState_TrueState,9226,Variable -LimitAlarmType_EnabledState_FalseState,9227,Variable -LimitAlarmType_Quality,9228,Variable -LimitAlarmType_Quality_SourceTimestamp,9229,Variable -LimitAlarmType_LastSeverity,9230,Variable -LimitAlarmType_LastSeverity_SourceTimestamp,9231,Variable -LimitAlarmType_Comment,9232,Variable -LimitAlarmType_Comment_SourceTimestamp,9233,Variable -LimitAlarmType_ClientUserId,9234,Variable -LimitAlarmType_Enable,9235,Method -LimitAlarmType_Disable,9236,Method -LimitAlarmType_AddComment,9237,Method -LimitAlarmType_AddComment_InputArguments,9238,Variable -LimitAlarmType_AckedState,9239,Variable -LimitAlarmType_AckedState_Id,9240,Variable -LimitAlarmType_AckedState_Name,9241,Variable -LimitAlarmType_AckedState_Number,9242,Variable -LimitAlarmType_AckedState_EffectiveDisplayName,9243,Variable -LimitAlarmType_AckedState_TransitionTime,9244,Variable -LimitAlarmType_AckedState_EffectiveTransitionTime,9245,Variable -LimitAlarmType_AckedState_TrueState,9246,Variable -LimitAlarmType_AckedState_FalseState,9247,Variable -LimitAlarmType_ConfirmedState,9248,Variable -LimitAlarmType_ConfirmedState_Id,9249,Variable -LimitAlarmType_ConfirmedState_Name,9250,Variable -LimitAlarmType_ConfirmedState_Number,9251,Variable -LimitAlarmType_ConfirmedState_EffectiveDisplayName,9252,Variable -LimitAlarmType_ConfirmedState_TransitionTime,9253,Variable -LimitAlarmType_ConfirmedState_EffectiveTransitionTime,9254,Variable -LimitAlarmType_ConfirmedState_TrueState,9255,Variable -LimitAlarmType_ConfirmedState_FalseState,9256,Variable -LimitAlarmType_Acknowledge,9257,Method -LimitAlarmType_Acknowledge_InputArguments,9258,Variable -LimitAlarmType_Confirm,9259,Method -LimitAlarmType_Confirm_InputArguments,9260,Variable -LimitAlarmType_ActiveState,9261,Variable -LimitAlarmType_ActiveState_Id,9262,Variable -LimitAlarmType_ActiveState_Name,9263,Variable -LimitAlarmType_ActiveState_Number,9264,Variable -LimitAlarmType_ActiveState_EffectiveDisplayName,9265,Variable -LimitAlarmType_ActiveState_TransitionTime,9266,Variable -LimitAlarmType_ActiveState_EffectiveTransitionTime,9267,Variable -LimitAlarmType_ActiveState_TrueState,9268,Variable -LimitAlarmType_ActiveState_FalseState,9269,Variable -LimitAlarmType_SuppressedState,9270,Variable -LimitAlarmType_SuppressedState_Id,9271,Variable -LimitAlarmType_SuppressedState_Name,9272,Variable -LimitAlarmType_SuppressedState_Number,9273,Variable -LimitAlarmType_SuppressedState_EffectiveDisplayName,9274,Variable -LimitAlarmType_SuppressedState_TransitionTime,9275,Variable -LimitAlarmType_SuppressedState_EffectiveTransitionTime,9276,Variable -LimitAlarmType_SuppressedState_TrueState,9277,Variable -LimitAlarmType_SuppressedState_FalseState,9278,Variable -LimitAlarmType_ShelvingState,9279,Object -LimitAlarmType_ShelvingState_CurrentState,9280,Variable -LimitAlarmType_ShelvingState_CurrentState_Id,9281,Variable -LimitAlarmType_ShelvingState_CurrentState_Name,9282,Variable -LimitAlarmType_ShelvingState_CurrentState_Number,9283,Variable -LimitAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,9284,Variable -LimitAlarmType_ShelvingState_LastTransition,9285,Variable -LimitAlarmType_ShelvingState_LastTransition_Id,9286,Variable -LimitAlarmType_ShelvingState_LastTransition_Name,9287,Variable -LimitAlarmType_ShelvingState_LastTransition_Number,9288,Variable -LimitAlarmType_ShelvingState_LastTransition_TransitionTime,9289,Variable -LimitAlarmType_ShelvingState_UnshelveTime,9290,Variable -LimitAlarmType_ShelvingState_Unshelve,9312,Method -LimitAlarmType_ShelvingState_OneShotShelve,9313,Method -LimitAlarmType_ShelvingState_TimedShelve,9314,Method -LimitAlarmType_ShelvingState_TimedShelve_InputArguments,9315,Variable -LimitAlarmType_SuppressedOrShelved,9316,Variable -LimitAlarmType_MaxTimeShelved,9317,Variable -ExclusiveLimitStateMachineType,9318,ObjectType -ExclusiveLimitStateMachineType_CurrentState,9319,Variable -ExclusiveLimitStateMachineType_CurrentState_Id,9320,Variable -ExclusiveLimitStateMachineType_CurrentState_Name,9321,Variable -ExclusiveLimitStateMachineType_CurrentState_Number,9322,Variable -ExclusiveLimitStateMachineType_CurrentState_EffectiveDisplayName,9323,Variable -ExclusiveLimitStateMachineType_LastTransition,9324,Variable -ExclusiveLimitStateMachineType_LastTransition_Id,9325,Variable -ExclusiveLimitStateMachineType_LastTransition_Name,9326,Variable -ExclusiveLimitStateMachineType_LastTransition_Number,9327,Variable -ExclusiveLimitStateMachineType_LastTransition_TransitionTime,9328,Variable -ExclusiveLimitStateMachineType_HighHigh,9329,Object -ExclusiveLimitStateMachineType_HighHigh_StateNumber,9330,Variable -ExclusiveLimitStateMachineType_High,9331,Object -ExclusiveLimitStateMachineType_High_StateNumber,9332,Variable -ExclusiveLimitStateMachineType_Low,9333,Object -ExclusiveLimitStateMachineType_Low_StateNumber,9334,Variable -ExclusiveLimitStateMachineType_LowLow,9335,Object -ExclusiveLimitStateMachineType_LowLow_StateNumber,9336,Variable -ExclusiveLimitStateMachineType_LowLowToLow,9337,Object -ExclusiveLimitStateMachineType_LowToLowLow,9338,Object -ExclusiveLimitStateMachineType_HighHighToHigh,9339,Object -ExclusiveLimitStateMachineType_HighToHighHigh,9340,Object -ExclusiveLimitAlarmType,9341,ObjectType -ExclusiveLimitAlarmType_EventId,9342,Variable -ExclusiveLimitAlarmType_EventType,9343,Variable -ExclusiveLimitAlarmType_SourceNode,9344,Variable -ExclusiveLimitAlarmType_SourceName,9345,Variable -ExclusiveLimitAlarmType_Time,9346,Variable -ExclusiveLimitAlarmType_ReceiveTime,9347,Variable -ExclusiveLimitAlarmType_LocalTime,9348,Variable -ExclusiveLimitAlarmType_Message,9349,Variable -ExclusiveLimitAlarmType_Severity,9350,Variable -ExclusiveLimitAlarmType_ConditionName,9351,Variable -ExclusiveLimitAlarmType_BranchId,9352,Variable -ExclusiveLimitAlarmType_Retain,9353,Variable -ExclusiveLimitAlarmType_EnabledState,9354,Variable -ExclusiveLimitAlarmType_EnabledState_Id,9355,Variable -ExclusiveLimitAlarmType_EnabledState_Name,9356,Variable -ExclusiveLimitAlarmType_EnabledState_Number,9357,Variable -ExclusiveLimitAlarmType_EnabledState_EffectiveDisplayName,9358,Variable -ExclusiveLimitAlarmType_EnabledState_TransitionTime,9359,Variable -ExclusiveLimitAlarmType_EnabledState_EffectiveTransitionTime,9360,Variable -ExclusiveLimitAlarmType_EnabledState_TrueState,9361,Variable -ExclusiveLimitAlarmType_EnabledState_FalseState,9362,Variable -ExclusiveLimitAlarmType_Quality,9363,Variable -ExclusiveLimitAlarmType_Quality_SourceTimestamp,9364,Variable -ExclusiveLimitAlarmType_LastSeverity,9365,Variable -ExclusiveLimitAlarmType_LastSeverity_SourceTimestamp,9366,Variable -ExclusiveLimitAlarmType_Comment,9367,Variable -ExclusiveLimitAlarmType_Comment_SourceTimestamp,9368,Variable -ExclusiveLimitAlarmType_ClientUserId,9369,Variable -ExclusiveLimitAlarmType_Enable,9370,Method -ExclusiveLimitAlarmType_Disable,9371,Method -ExclusiveLimitAlarmType_AddComment,9372,Method -ExclusiveLimitAlarmType_AddComment_InputArguments,9373,Variable -ExclusiveLimitAlarmType_ConditionRefresh,9374,Method -ExclusiveLimitAlarmType_ConditionRefresh_InputArguments,9375,Variable -ExclusiveLimitAlarmType_AckedState,9376,Variable -ExclusiveLimitAlarmType_AckedState_Id,9377,Variable -ExclusiveLimitAlarmType_AckedState_Name,9378,Variable -ExclusiveLimitAlarmType_AckedState_Number,9379,Variable -ExclusiveLimitAlarmType_AckedState_EffectiveDisplayName,9380,Variable -ExclusiveLimitAlarmType_AckedState_TransitionTime,9381,Variable -ExclusiveLimitAlarmType_AckedState_EffectiveTransitionTime,9382,Variable -ExclusiveLimitAlarmType_AckedState_TrueState,9383,Variable -ExclusiveLimitAlarmType_AckedState_FalseState,9384,Variable -ExclusiveLimitAlarmType_ConfirmedState,9385,Variable -ExclusiveLimitAlarmType_ConfirmedState_Id,9386,Variable -ExclusiveLimitAlarmType_ConfirmedState_Name,9387,Variable -ExclusiveLimitAlarmType_ConfirmedState_Number,9388,Variable -ExclusiveLimitAlarmType_ConfirmedState_EffectiveDisplayName,9389,Variable -ExclusiveLimitAlarmType_ConfirmedState_TransitionTime,9390,Variable -ExclusiveLimitAlarmType_ConfirmedState_EffectiveTransitionTime,9391,Variable -ExclusiveLimitAlarmType_ConfirmedState_TrueState,9392,Variable -ExclusiveLimitAlarmType_ConfirmedState_FalseState,9393,Variable -ExclusiveLimitAlarmType_Acknowledge,9394,Method -ExclusiveLimitAlarmType_Acknowledge_InputArguments,9395,Variable -ExclusiveLimitAlarmType_Confirm,9396,Method -ExclusiveLimitAlarmType_Confirm_InputArguments,9397,Variable -ExclusiveLimitAlarmType_ActiveState,9398,Variable -ExclusiveLimitAlarmType_ActiveState_Id,9399,Variable -ExclusiveLimitAlarmType_ActiveState_Name,9400,Variable -ExclusiveLimitAlarmType_ActiveState_Number,9401,Variable -ExclusiveLimitAlarmType_ActiveState_EffectiveDisplayName,9402,Variable -ExclusiveLimitAlarmType_ActiveState_TransitionTime,9403,Variable -ExclusiveLimitAlarmType_ActiveState_EffectiveTransitionTime,9404,Variable -ExclusiveLimitAlarmType_ActiveState_TrueState,9405,Variable -ExclusiveLimitAlarmType_ActiveState_FalseState,9406,Variable -ExclusiveLimitAlarmType_SuppressedState,9407,Variable -ExclusiveLimitAlarmType_SuppressedState_Id,9408,Variable -ExclusiveLimitAlarmType_SuppressedState_Name,9409,Variable -ExclusiveLimitAlarmType_SuppressedState_Number,9410,Variable -ExclusiveLimitAlarmType_SuppressedState_EffectiveDisplayName,9411,Variable -ExclusiveLimitAlarmType_SuppressedState_TransitionTime,9412,Variable -ExclusiveLimitAlarmType_SuppressedState_EffectiveTransitionTime,9413,Variable -ExclusiveLimitAlarmType_SuppressedState_TrueState,9414,Variable -ExclusiveLimitAlarmType_SuppressedState_FalseState,9415,Variable -ExclusiveLimitAlarmType_ShelvingState,9416,Object -ExclusiveLimitAlarmType_ShelvingState_CurrentState,9417,Variable -ExclusiveLimitAlarmType_ShelvingState_CurrentState_Id,9418,Variable -ExclusiveLimitAlarmType_ShelvingState_CurrentState_Name,9419,Variable -ExclusiveLimitAlarmType_ShelvingState_CurrentState_Number,9420,Variable -ExclusiveLimitAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,9421,Variable -ExclusiveLimitAlarmType_ShelvingState_LastTransition,9422,Variable -ExclusiveLimitAlarmType_ShelvingState_LastTransition_Id,9423,Variable -ExclusiveLimitAlarmType_ShelvingState_LastTransition_Name,9424,Variable -ExclusiveLimitAlarmType_ShelvingState_LastTransition_Number,9425,Variable -ExclusiveLimitAlarmType_ShelvingState_LastTransition_TransitionTime,9426,Variable -ExclusiveLimitAlarmType_ShelvingState_UnshelveTime,9427,Variable -ExclusiveLimitAlarmType_ShelvingState_Unshelve,9449,Method -ExclusiveLimitAlarmType_ShelvingState_OneShotShelve,9450,Method -ExclusiveLimitAlarmType_ShelvingState_TimedShelve,9451,Method -ExclusiveLimitAlarmType_ShelvingState_TimedShelve_InputArguments,9452,Variable -ExclusiveLimitAlarmType_SuppressedOrShelved,9453,Variable -ExclusiveLimitAlarmType_MaxTimeShelved,9454,Variable -ExclusiveLimitAlarmType_LimitState,9455,Object -ExclusiveLimitAlarmType_LimitState_CurrentState,9456,Variable -ExclusiveLimitAlarmType_LimitState_CurrentState_Id,9457,Variable -ExclusiveLimitAlarmType_LimitState_CurrentState_Name,9458,Variable -ExclusiveLimitAlarmType_LimitState_CurrentState_Number,9459,Variable -ExclusiveLimitAlarmType_LimitState_CurrentState_EffectiveDisplayName,9460,Variable -ExclusiveLimitAlarmType_LimitState_LastTransition,9461,Variable -ExclusiveLimitAlarmType_LimitState_LastTransition_Id,9462,Variable -ExclusiveLimitAlarmType_LimitState_LastTransition_Name,9463,Variable -ExclusiveLimitAlarmType_LimitState_LastTransition_Number,9464,Variable -ExclusiveLimitAlarmType_LimitState_LastTransition_TransitionTime,9465,Variable -ExclusiveLimitAlarmType_HighHighLimit,9478,Variable -ExclusiveLimitAlarmType_HighLimit,9479,Variable -ExclusiveLimitAlarmType_LowLimit,9480,Variable -ExclusiveLimitAlarmType_LowLowLimit,9481,Variable -ExclusiveLevelAlarmType,9482,ObjectType -ExclusiveLevelAlarmType_EventId,9483,Variable -ExclusiveLevelAlarmType_EventType,9484,Variable -ExclusiveLevelAlarmType_SourceNode,9485,Variable -ExclusiveLevelAlarmType_SourceName,9486,Variable -ExclusiveLevelAlarmType_Time,9487,Variable -ExclusiveLevelAlarmType_ReceiveTime,9488,Variable -ExclusiveLevelAlarmType_LocalTime,9489,Variable -ExclusiveLevelAlarmType_Message,9490,Variable -ExclusiveLevelAlarmType_Severity,9491,Variable -ExclusiveLevelAlarmType_ConditionName,9492,Variable -ExclusiveLevelAlarmType_BranchId,9493,Variable -ExclusiveLevelAlarmType_Retain,9494,Variable -ExclusiveLevelAlarmType_EnabledState,9495,Variable -ExclusiveLevelAlarmType_EnabledState_Id,9496,Variable -ExclusiveLevelAlarmType_EnabledState_Name,9497,Variable -ExclusiveLevelAlarmType_EnabledState_Number,9498,Variable -ExclusiveLevelAlarmType_EnabledState_EffectiveDisplayName,9499,Variable -ExclusiveLevelAlarmType_EnabledState_TransitionTime,9500,Variable -ExclusiveLevelAlarmType_EnabledState_EffectiveTransitionTime,9501,Variable -ExclusiveLevelAlarmType_EnabledState_TrueState,9502,Variable -ExclusiveLevelAlarmType_EnabledState_FalseState,9503,Variable -ExclusiveLevelAlarmType_Quality,9504,Variable -ExclusiveLevelAlarmType_Quality_SourceTimestamp,9505,Variable -ExclusiveLevelAlarmType_LastSeverity,9506,Variable -ExclusiveLevelAlarmType_LastSeverity_SourceTimestamp,9507,Variable -ExclusiveLevelAlarmType_Comment,9508,Variable -ExclusiveLevelAlarmType_Comment_SourceTimestamp,9509,Variable -ExclusiveLevelAlarmType_ClientUserId,9510,Variable -ExclusiveLevelAlarmType_Enable,9511,Method -ExclusiveLevelAlarmType_Disable,9512,Method -ExclusiveLevelAlarmType_AddComment,9513,Method -ExclusiveLevelAlarmType_AddComment_InputArguments,9514,Variable -ExclusiveLevelAlarmType_ConditionRefresh,9515,Method -ExclusiveLevelAlarmType_ConditionRefresh_InputArguments,9516,Variable -ExclusiveLevelAlarmType_AckedState,9517,Variable -ExclusiveLevelAlarmType_AckedState_Id,9518,Variable -ExclusiveLevelAlarmType_AckedState_Name,9519,Variable -ExclusiveLevelAlarmType_AckedState_Number,9520,Variable -ExclusiveLevelAlarmType_AckedState_EffectiveDisplayName,9521,Variable -ExclusiveLevelAlarmType_AckedState_TransitionTime,9522,Variable -ExclusiveLevelAlarmType_AckedState_EffectiveTransitionTime,9523,Variable -ExclusiveLevelAlarmType_AckedState_TrueState,9524,Variable -ExclusiveLevelAlarmType_AckedState_FalseState,9525,Variable -ExclusiveLevelAlarmType_ConfirmedState,9526,Variable -ExclusiveLevelAlarmType_ConfirmedState_Id,9527,Variable -ExclusiveLevelAlarmType_ConfirmedState_Name,9528,Variable -ExclusiveLevelAlarmType_ConfirmedState_Number,9529,Variable -ExclusiveLevelAlarmType_ConfirmedState_EffectiveDisplayName,9530,Variable -ExclusiveLevelAlarmType_ConfirmedState_TransitionTime,9531,Variable -ExclusiveLevelAlarmType_ConfirmedState_EffectiveTransitionTime,9532,Variable -ExclusiveLevelAlarmType_ConfirmedState_TrueState,9533,Variable -ExclusiveLevelAlarmType_ConfirmedState_FalseState,9534,Variable -ExclusiveLevelAlarmType_Acknowledge,9535,Method -ExclusiveLevelAlarmType_Acknowledge_InputArguments,9536,Variable -ExclusiveLevelAlarmType_Confirm,9537,Method -ExclusiveLevelAlarmType_Confirm_InputArguments,9538,Variable -ExclusiveLevelAlarmType_ActiveState,9539,Variable -ExclusiveLevelAlarmType_ActiveState_Id,9540,Variable -ExclusiveLevelAlarmType_ActiveState_Name,9541,Variable -ExclusiveLevelAlarmType_ActiveState_Number,9542,Variable -ExclusiveLevelAlarmType_ActiveState_EffectiveDisplayName,9543,Variable -ExclusiveLevelAlarmType_ActiveState_TransitionTime,9544,Variable -ExclusiveLevelAlarmType_ActiveState_EffectiveTransitionTime,9545,Variable -ExclusiveLevelAlarmType_ActiveState_TrueState,9546,Variable -ExclusiveLevelAlarmType_ActiveState_FalseState,9547,Variable -ExclusiveLevelAlarmType_SuppressedState,9548,Variable -ExclusiveLevelAlarmType_SuppressedState_Id,9549,Variable -ExclusiveLevelAlarmType_SuppressedState_Name,9550,Variable -ExclusiveLevelAlarmType_SuppressedState_Number,9551,Variable -ExclusiveLevelAlarmType_SuppressedState_EffectiveDisplayName,9552,Variable -ExclusiveLevelAlarmType_SuppressedState_TransitionTime,9553,Variable -ExclusiveLevelAlarmType_SuppressedState_EffectiveTransitionTime,9554,Variable -ExclusiveLevelAlarmType_SuppressedState_TrueState,9555,Variable -ExclusiveLevelAlarmType_SuppressedState_FalseState,9556,Variable -ExclusiveLevelAlarmType_ShelvingState,9557,Object -ExclusiveLevelAlarmType_ShelvingState_CurrentState,9558,Variable -ExclusiveLevelAlarmType_ShelvingState_CurrentState_Id,9559,Variable -ExclusiveLevelAlarmType_ShelvingState_CurrentState_Name,9560,Variable -ExclusiveLevelAlarmType_ShelvingState_CurrentState_Number,9561,Variable -ExclusiveLevelAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,9562,Variable -ExclusiveLevelAlarmType_ShelvingState_LastTransition,9563,Variable -ExclusiveLevelAlarmType_ShelvingState_LastTransition_Id,9564,Variable -ExclusiveLevelAlarmType_ShelvingState_LastTransition_Name,9565,Variable -ExclusiveLevelAlarmType_ShelvingState_LastTransition_Number,9566,Variable -ExclusiveLevelAlarmType_ShelvingState_LastTransition_TransitionTime,9567,Variable -ExclusiveLevelAlarmType_ShelvingState_UnshelveTime,9568,Variable -ExclusiveLevelAlarmType_ShelvingState_Unshelve,9590,Method -ExclusiveLevelAlarmType_ShelvingState_OneShotShelve,9591,Method -ExclusiveLevelAlarmType_ShelvingState_TimedShelve,9592,Method -ExclusiveLevelAlarmType_ShelvingState_TimedShelve_InputArguments,9593,Variable -ExclusiveLevelAlarmType_SuppressedOrShelved,9594,Variable -ExclusiveLevelAlarmType_MaxTimeShelved,9595,Variable -ExclusiveLevelAlarmType_LimitState,9596,Object -ExclusiveLevelAlarmType_LimitState_CurrentState,9597,Variable -ExclusiveLevelAlarmType_LimitState_CurrentState_Id,9598,Variable -ExclusiveLevelAlarmType_LimitState_CurrentState_Name,9599,Variable -ExclusiveLevelAlarmType_LimitState_CurrentState_Number,9600,Variable -ExclusiveLevelAlarmType_LimitState_CurrentState_EffectiveDisplayName,9601,Variable -ExclusiveLevelAlarmType_LimitState_LastTransition,9602,Variable -ExclusiveLevelAlarmType_LimitState_LastTransition_Id,9603,Variable -ExclusiveLevelAlarmType_LimitState_LastTransition_Name,9604,Variable -ExclusiveLevelAlarmType_LimitState_LastTransition_Number,9605,Variable -ExclusiveLevelAlarmType_LimitState_LastTransition_TransitionTime,9606,Variable -ExclusiveLevelAlarmType_HighHighLimit,9619,Variable -ExclusiveLevelAlarmType_HighLimit,9620,Variable -ExclusiveLevelAlarmType_LowLimit,9621,Variable -ExclusiveLevelAlarmType_LowLowLimit,9622,Variable -ExclusiveRateOfChangeAlarmType,9623,ObjectType -ExclusiveRateOfChangeAlarmType_EventId,9624,Variable -ExclusiveRateOfChangeAlarmType_EventType,9625,Variable -ExclusiveRateOfChangeAlarmType_SourceNode,9626,Variable -ExclusiveRateOfChangeAlarmType_SourceName,9627,Variable -ExclusiveRateOfChangeAlarmType_Time,9628,Variable -ExclusiveRateOfChangeAlarmType_ReceiveTime,9629,Variable -ExclusiveRateOfChangeAlarmType_LocalTime,9630,Variable -ExclusiveRateOfChangeAlarmType_Message,9631,Variable -ExclusiveRateOfChangeAlarmType_Severity,9632,Variable -ExclusiveRateOfChangeAlarmType_ConditionName,9633,Variable -ExclusiveRateOfChangeAlarmType_BranchId,9634,Variable -ExclusiveRateOfChangeAlarmType_Retain,9635,Variable -ExclusiveRateOfChangeAlarmType_EnabledState,9636,Variable -ExclusiveRateOfChangeAlarmType_EnabledState_Id,9637,Variable -ExclusiveRateOfChangeAlarmType_EnabledState_Name,9638,Variable -ExclusiveRateOfChangeAlarmType_EnabledState_Number,9639,Variable -ExclusiveRateOfChangeAlarmType_EnabledState_EffectiveDisplayName,9640,Variable -ExclusiveRateOfChangeAlarmType_EnabledState_TransitionTime,9641,Variable -ExclusiveRateOfChangeAlarmType_EnabledState_EffectiveTransitionTime,9642,Variable -ExclusiveRateOfChangeAlarmType_EnabledState_TrueState,9643,Variable -ExclusiveRateOfChangeAlarmType_EnabledState_FalseState,9644,Variable -ExclusiveRateOfChangeAlarmType_Quality,9645,Variable -ExclusiveRateOfChangeAlarmType_Quality_SourceTimestamp,9646,Variable -ExclusiveRateOfChangeAlarmType_LastSeverity,9647,Variable -ExclusiveRateOfChangeAlarmType_LastSeverity_SourceTimestamp,9648,Variable -ExclusiveRateOfChangeAlarmType_Comment,9649,Variable -ExclusiveRateOfChangeAlarmType_Comment_SourceTimestamp,9650,Variable -ExclusiveRateOfChangeAlarmType_ClientUserId,9651,Variable -ExclusiveRateOfChangeAlarmType_Enable,9652,Method -ExclusiveRateOfChangeAlarmType_Disable,9653,Method -ExclusiveRateOfChangeAlarmType_AddComment,9654,Method -ExclusiveRateOfChangeAlarmType_AddComment_InputArguments,9655,Variable -ExclusiveRateOfChangeAlarmType_ConditionRefresh,9656,Method -ExclusiveRateOfChangeAlarmType_ConditionRefresh_InputArguments,9657,Variable -ExclusiveRateOfChangeAlarmType_AckedState,9658,Variable -ExclusiveRateOfChangeAlarmType_AckedState_Id,9659,Variable -ExclusiveRateOfChangeAlarmType_AckedState_Name,9660,Variable -ExclusiveRateOfChangeAlarmType_AckedState_Number,9661,Variable -ExclusiveRateOfChangeAlarmType_AckedState_EffectiveDisplayName,9662,Variable -ExclusiveRateOfChangeAlarmType_AckedState_TransitionTime,9663,Variable -ExclusiveRateOfChangeAlarmType_AckedState_EffectiveTransitionTime,9664,Variable -ExclusiveRateOfChangeAlarmType_AckedState_TrueState,9665,Variable -ExclusiveRateOfChangeAlarmType_AckedState_FalseState,9666,Variable -ExclusiveRateOfChangeAlarmType_ConfirmedState,9667,Variable -ExclusiveRateOfChangeAlarmType_ConfirmedState_Id,9668,Variable -ExclusiveRateOfChangeAlarmType_ConfirmedState_Name,9669,Variable -ExclusiveRateOfChangeAlarmType_ConfirmedState_Number,9670,Variable -ExclusiveRateOfChangeAlarmType_ConfirmedState_EffectiveDisplayName,9671,Variable -ExclusiveRateOfChangeAlarmType_ConfirmedState_TransitionTime,9672,Variable -ExclusiveRateOfChangeAlarmType_ConfirmedState_EffectiveTransitionTime,9673,Variable -ExclusiveRateOfChangeAlarmType_ConfirmedState_TrueState,9674,Variable -ExclusiveRateOfChangeAlarmType_ConfirmedState_FalseState,9675,Variable -ExclusiveRateOfChangeAlarmType_Acknowledge,9676,Method -ExclusiveRateOfChangeAlarmType_Acknowledge_InputArguments,9677,Variable -ExclusiveRateOfChangeAlarmType_Confirm,9678,Method -ExclusiveRateOfChangeAlarmType_Confirm_InputArguments,9679,Variable -ExclusiveRateOfChangeAlarmType_ActiveState,9680,Variable -ExclusiveRateOfChangeAlarmType_ActiveState_Id,9681,Variable -ExclusiveRateOfChangeAlarmType_ActiveState_Name,9682,Variable -ExclusiveRateOfChangeAlarmType_ActiveState_Number,9683,Variable -ExclusiveRateOfChangeAlarmType_ActiveState_EffectiveDisplayName,9684,Variable -ExclusiveRateOfChangeAlarmType_ActiveState_TransitionTime,9685,Variable -ExclusiveRateOfChangeAlarmType_ActiveState_EffectiveTransitionTime,9686,Variable -ExclusiveRateOfChangeAlarmType_ActiveState_TrueState,9687,Variable -ExclusiveRateOfChangeAlarmType_ActiveState_FalseState,9688,Variable -ExclusiveRateOfChangeAlarmType_SuppressedState,9689,Variable -ExclusiveRateOfChangeAlarmType_SuppressedState_Id,9690,Variable -ExclusiveRateOfChangeAlarmType_SuppressedState_Name,9691,Variable -ExclusiveRateOfChangeAlarmType_SuppressedState_Number,9692,Variable -ExclusiveRateOfChangeAlarmType_SuppressedState_EffectiveDisplayName,9693,Variable -ExclusiveRateOfChangeAlarmType_SuppressedState_TransitionTime,9694,Variable -ExclusiveRateOfChangeAlarmType_SuppressedState_EffectiveTransitionTime,9695,Variable -ExclusiveRateOfChangeAlarmType_SuppressedState_TrueState,9696,Variable -ExclusiveRateOfChangeAlarmType_SuppressedState_FalseState,9697,Variable -ExclusiveRateOfChangeAlarmType_ShelvingState,9698,Object -ExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState,9699,Variable -ExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_Id,9700,Variable -ExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_Name,9701,Variable -ExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_Number,9702,Variable -ExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,9703,Variable -ExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition,9704,Variable -ExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_Id,9705,Variable -ExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_Name,9706,Variable -ExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_Number,9707,Variable -ExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_TransitionTime,9708,Variable -ExclusiveRateOfChangeAlarmType_ShelvingState_UnshelveTime,9709,Variable -ExclusiveRateOfChangeAlarmType_ShelvingState_Unshelve,9731,Method -ExclusiveRateOfChangeAlarmType_ShelvingState_OneShotShelve,9732,Method -ExclusiveRateOfChangeAlarmType_ShelvingState_TimedShelve,9733,Method -ExclusiveRateOfChangeAlarmType_ShelvingState_TimedShelve_InputArguments,9734,Variable -ExclusiveRateOfChangeAlarmType_SuppressedOrShelved,9735,Variable -ExclusiveRateOfChangeAlarmType_MaxTimeShelved,9736,Variable -ExclusiveRateOfChangeAlarmType_LimitState,9737,Object -ExclusiveRateOfChangeAlarmType_LimitState_CurrentState,9738,Variable -ExclusiveRateOfChangeAlarmType_LimitState_CurrentState_Id,9739,Variable -ExclusiveRateOfChangeAlarmType_LimitState_CurrentState_Name,9740,Variable -ExclusiveRateOfChangeAlarmType_LimitState_CurrentState_Number,9741,Variable -ExclusiveRateOfChangeAlarmType_LimitState_CurrentState_EffectiveDisplayName,9742,Variable -ExclusiveRateOfChangeAlarmType_LimitState_LastTransition,9743,Variable -ExclusiveRateOfChangeAlarmType_LimitState_LastTransition_Id,9744,Variable -ExclusiveRateOfChangeAlarmType_LimitState_LastTransition_Name,9745,Variable -ExclusiveRateOfChangeAlarmType_LimitState_LastTransition_Number,9746,Variable -ExclusiveRateOfChangeAlarmType_LimitState_LastTransition_TransitionTime,9747,Variable -ExclusiveRateOfChangeAlarmType_HighHighLimit,9760,Variable -ExclusiveRateOfChangeAlarmType_HighLimit,9761,Variable -ExclusiveRateOfChangeAlarmType_LowLimit,9762,Variable -ExclusiveRateOfChangeAlarmType_LowLowLimit,9763,Variable -ExclusiveDeviationAlarmType,9764,ObjectType -ExclusiveDeviationAlarmType_EventId,9765,Variable -ExclusiveDeviationAlarmType_EventType,9766,Variable -ExclusiveDeviationAlarmType_SourceNode,9767,Variable -ExclusiveDeviationAlarmType_SourceName,9768,Variable -ExclusiveDeviationAlarmType_Time,9769,Variable -ExclusiveDeviationAlarmType_ReceiveTime,9770,Variable -ExclusiveDeviationAlarmType_LocalTime,9771,Variable -ExclusiveDeviationAlarmType_Message,9772,Variable -ExclusiveDeviationAlarmType_Severity,9773,Variable -ExclusiveDeviationAlarmType_ConditionName,9774,Variable -ExclusiveDeviationAlarmType_BranchId,9775,Variable -ExclusiveDeviationAlarmType_Retain,9776,Variable -ExclusiveDeviationAlarmType_EnabledState,9777,Variable -ExclusiveDeviationAlarmType_EnabledState_Id,9778,Variable -ExclusiveDeviationAlarmType_EnabledState_Name,9779,Variable -ExclusiveDeviationAlarmType_EnabledState_Number,9780,Variable -ExclusiveDeviationAlarmType_EnabledState_EffectiveDisplayName,9781,Variable -ExclusiveDeviationAlarmType_EnabledState_TransitionTime,9782,Variable -ExclusiveDeviationAlarmType_EnabledState_EffectiveTransitionTime,9783,Variable -ExclusiveDeviationAlarmType_EnabledState_TrueState,9784,Variable -ExclusiveDeviationAlarmType_EnabledState_FalseState,9785,Variable -ExclusiveDeviationAlarmType_Quality,9786,Variable -ExclusiveDeviationAlarmType_Quality_SourceTimestamp,9787,Variable -ExclusiveDeviationAlarmType_LastSeverity,9788,Variable -ExclusiveDeviationAlarmType_LastSeverity_SourceTimestamp,9789,Variable -ExclusiveDeviationAlarmType_Comment,9790,Variable -ExclusiveDeviationAlarmType_Comment_SourceTimestamp,9791,Variable -ExclusiveDeviationAlarmType_ClientUserId,9792,Variable -ExclusiveDeviationAlarmType_Enable,9793,Method -ExclusiveDeviationAlarmType_Disable,9794,Method -ExclusiveDeviationAlarmType_AddComment,9795,Method -ExclusiveDeviationAlarmType_AddComment_InputArguments,9796,Variable -ExclusiveDeviationAlarmType_ConditionRefresh,9797,Method -ExclusiveDeviationAlarmType_ConditionRefresh_InputArguments,9798,Variable -ExclusiveDeviationAlarmType_AckedState,9799,Variable -ExclusiveDeviationAlarmType_AckedState_Id,9800,Variable -ExclusiveDeviationAlarmType_AckedState_Name,9801,Variable -ExclusiveDeviationAlarmType_AckedState_Number,9802,Variable -ExclusiveDeviationAlarmType_AckedState_EffectiveDisplayName,9803,Variable -ExclusiveDeviationAlarmType_AckedState_TransitionTime,9804,Variable -ExclusiveDeviationAlarmType_AckedState_EffectiveTransitionTime,9805,Variable -ExclusiveDeviationAlarmType_AckedState_TrueState,9806,Variable -ExclusiveDeviationAlarmType_AckedState_FalseState,9807,Variable -ExclusiveDeviationAlarmType_ConfirmedState,9808,Variable -ExclusiveDeviationAlarmType_ConfirmedState_Id,9809,Variable -ExclusiveDeviationAlarmType_ConfirmedState_Name,9810,Variable -ExclusiveDeviationAlarmType_ConfirmedState_Number,9811,Variable -ExclusiveDeviationAlarmType_ConfirmedState_EffectiveDisplayName,9812,Variable -ExclusiveDeviationAlarmType_ConfirmedState_TransitionTime,9813,Variable -ExclusiveDeviationAlarmType_ConfirmedState_EffectiveTransitionTime,9814,Variable -ExclusiveDeviationAlarmType_ConfirmedState_TrueState,9815,Variable -ExclusiveDeviationAlarmType_ConfirmedState_FalseState,9816,Variable -ExclusiveDeviationAlarmType_Acknowledge,9817,Method -ExclusiveDeviationAlarmType_Acknowledge_InputArguments,9818,Variable -ExclusiveDeviationAlarmType_Confirm,9819,Method -ExclusiveDeviationAlarmType_Confirm_InputArguments,9820,Variable -ExclusiveDeviationAlarmType_ActiveState,9821,Variable -ExclusiveDeviationAlarmType_ActiveState_Id,9822,Variable -ExclusiveDeviationAlarmType_ActiveState_Name,9823,Variable -ExclusiveDeviationAlarmType_ActiveState_Number,9824,Variable -ExclusiveDeviationAlarmType_ActiveState_EffectiveDisplayName,9825,Variable -ExclusiveDeviationAlarmType_ActiveState_TransitionTime,9826,Variable -ExclusiveDeviationAlarmType_ActiveState_EffectiveTransitionTime,9827,Variable -ExclusiveDeviationAlarmType_ActiveState_TrueState,9828,Variable -ExclusiveDeviationAlarmType_ActiveState_FalseState,9829,Variable -ExclusiveDeviationAlarmType_SuppressedState,9830,Variable -ExclusiveDeviationAlarmType_SuppressedState_Id,9831,Variable -ExclusiveDeviationAlarmType_SuppressedState_Name,9832,Variable -ExclusiveDeviationAlarmType_SuppressedState_Number,9833,Variable -ExclusiveDeviationAlarmType_SuppressedState_EffectiveDisplayName,9834,Variable -ExclusiveDeviationAlarmType_SuppressedState_TransitionTime,9835,Variable -ExclusiveDeviationAlarmType_SuppressedState_EffectiveTransitionTime,9836,Variable -ExclusiveDeviationAlarmType_SuppressedState_TrueState,9837,Variable -ExclusiveDeviationAlarmType_SuppressedState_FalseState,9838,Variable -ExclusiveDeviationAlarmType_ShelvingState,9839,Object -ExclusiveDeviationAlarmType_ShelvingState_CurrentState,9840,Variable -ExclusiveDeviationAlarmType_ShelvingState_CurrentState_Id,9841,Variable -ExclusiveDeviationAlarmType_ShelvingState_CurrentState_Name,9842,Variable -ExclusiveDeviationAlarmType_ShelvingState_CurrentState_Number,9843,Variable -ExclusiveDeviationAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,9844,Variable -ExclusiveDeviationAlarmType_ShelvingState_LastTransition,9845,Variable -ExclusiveDeviationAlarmType_ShelvingState_LastTransition_Id,9846,Variable -ExclusiveDeviationAlarmType_ShelvingState_LastTransition_Name,9847,Variable -ExclusiveDeviationAlarmType_ShelvingState_LastTransition_Number,9848,Variable -ExclusiveDeviationAlarmType_ShelvingState_LastTransition_TransitionTime,9849,Variable -ExclusiveDeviationAlarmType_ShelvingState_UnshelveTime,9850,Variable -ExclusiveDeviationAlarmType_ShelvingState_Unshelve,9872,Method -ExclusiveDeviationAlarmType_ShelvingState_OneShotShelve,9873,Method -ExclusiveDeviationAlarmType_ShelvingState_TimedShelve,9874,Method -ExclusiveDeviationAlarmType_ShelvingState_TimedShelve_InputArguments,9875,Variable -ExclusiveDeviationAlarmType_SuppressedOrShelved,9876,Variable -ExclusiveDeviationAlarmType_MaxTimeShelved,9877,Variable -ExclusiveDeviationAlarmType_LimitState,9878,Object -ExclusiveDeviationAlarmType_LimitState_CurrentState,9879,Variable -ExclusiveDeviationAlarmType_LimitState_CurrentState_Id,9880,Variable -ExclusiveDeviationAlarmType_LimitState_CurrentState_Name,9881,Variable -ExclusiveDeviationAlarmType_LimitState_CurrentState_Number,9882,Variable -ExclusiveDeviationAlarmType_LimitState_CurrentState_EffectiveDisplayName,9883,Variable -ExclusiveDeviationAlarmType_LimitState_LastTransition,9884,Variable -ExclusiveDeviationAlarmType_LimitState_LastTransition_Id,9885,Variable -ExclusiveDeviationAlarmType_LimitState_LastTransition_Name,9886,Variable -ExclusiveDeviationAlarmType_LimitState_LastTransition_Number,9887,Variable -ExclusiveDeviationAlarmType_LimitState_LastTransition_TransitionTime,9888,Variable -ExclusiveDeviationAlarmType_HighHighLimit,9901,Variable -ExclusiveDeviationAlarmType_HighLimit,9902,Variable -ExclusiveDeviationAlarmType_LowLimit,9903,Variable -ExclusiveDeviationAlarmType_LowLowLimit,9904,Variable -ExclusiveDeviationAlarmType_SetpointNode,9905,Variable -NonExclusiveLimitAlarmType,9906,ObjectType -NonExclusiveLimitAlarmType_EventId,9907,Variable -NonExclusiveLimitAlarmType_EventType,9908,Variable -NonExclusiveLimitAlarmType_SourceNode,9909,Variable -NonExclusiveLimitAlarmType_SourceName,9910,Variable -NonExclusiveLimitAlarmType_Time,9911,Variable -NonExclusiveLimitAlarmType_ReceiveTime,9912,Variable -NonExclusiveLimitAlarmType_LocalTime,9913,Variable -NonExclusiveLimitAlarmType_Message,9914,Variable -NonExclusiveLimitAlarmType_Severity,9915,Variable -NonExclusiveLimitAlarmType_ConditionName,9916,Variable -NonExclusiveLimitAlarmType_BranchId,9917,Variable -NonExclusiveLimitAlarmType_Retain,9918,Variable -NonExclusiveLimitAlarmType_EnabledState,9919,Variable -NonExclusiveLimitAlarmType_EnabledState_Id,9920,Variable -NonExclusiveLimitAlarmType_EnabledState_Name,9921,Variable -NonExclusiveLimitAlarmType_EnabledState_Number,9922,Variable -NonExclusiveLimitAlarmType_EnabledState_EffectiveDisplayName,9923,Variable -NonExclusiveLimitAlarmType_EnabledState_TransitionTime,9924,Variable -NonExclusiveLimitAlarmType_EnabledState_EffectiveTransitionTime,9925,Variable -NonExclusiveLimitAlarmType_EnabledState_TrueState,9926,Variable -NonExclusiveLimitAlarmType_EnabledState_FalseState,9927,Variable -NonExclusiveLimitAlarmType_Quality,9928,Variable -NonExclusiveLimitAlarmType_Quality_SourceTimestamp,9929,Variable -NonExclusiveLimitAlarmType_LastSeverity,9930,Variable -NonExclusiveLimitAlarmType_LastSeverity_SourceTimestamp,9931,Variable -NonExclusiveLimitAlarmType_Comment,9932,Variable -NonExclusiveLimitAlarmType_Comment_SourceTimestamp,9933,Variable -NonExclusiveLimitAlarmType_ClientUserId,9934,Variable -NonExclusiveLimitAlarmType_Enable,9935,Method -NonExclusiveLimitAlarmType_Disable,9936,Method -NonExclusiveLimitAlarmType_AddComment,9937,Method -NonExclusiveLimitAlarmType_AddComment_InputArguments,9938,Variable -NonExclusiveLimitAlarmType_ConditionRefresh,9939,Method -NonExclusiveLimitAlarmType_ConditionRefresh_InputArguments,9940,Variable -NonExclusiveLimitAlarmType_AckedState,9941,Variable -NonExclusiveLimitAlarmType_AckedState_Id,9942,Variable -NonExclusiveLimitAlarmType_AckedState_Name,9943,Variable -NonExclusiveLimitAlarmType_AckedState_Number,9944,Variable -NonExclusiveLimitAlarmType_AckedState_EffectiveDisplayName,9945,Variable -NonExclusiveLimitAlarmType_AckedState_TransitionTime,9946,Variable -NonExclusiveLimitAlarmType_AckedState_EffectiveTransitionTime,9947,Variable -NonExclusiveLimitAlarmType_AckedState_TrueState,9948,Variable -NonExclusiveLimitAlarmType_AckedState_FalseState,9949,Variable -NonExclusiveLimitAlarmType_ConfirmedState,9950,Variable -NonExclusiveLimitAlarmType_ConfirmedState_Id,9951,Variable -NonExclusiveLimitAlarmType_ConfirmedState_Name,9952,Variable -NonExclusiveLimitAlarmType_ConfirmedState_Number,9953,Variable -NonExclusiveLimitAlarmType_ConfirmedState_EffectiveDisplayName,9954,Variable -NonExclusiveLimitAlarmType_ConfirmedState_TransitionTime,9955,Variable -NonExclusiveLimitAlarmType_ConfirmedState_EffectiveTransitionTime,9956,Variable -NonExclusiveLimitAlarmType_ConfirmedState_TrueState,9957,Variable -NonExclusiveLimitAlarmType_ConfirmedState_FalseState,9958,Variable -NonExclusiveLimitAlarmType_Acknowledge,9959,Method -NonExclusiveLimitAlarmType_Acknowledge_InputArguments,9960,Variable -NonExclusiveLimitAlarmType_Confirm,9961,Method -NonExclusiveLimitAlarmType_Confirm_InputArguments,9962,Variable -NonExclusiveLimitAlarmType_ActiveState,9963,Variable -NonExclusiveLimitAlarmType_ActiveState_Id,9964,Variable -NonExclusiveLimitAlarmType_ActiveState_Name,9965,Variable -NonExclusiveLimitAlarmType_ActiveState_Number,9966,Variable -NonExclusiveLimitAlarmType_ActiveState_EffectiveDisplayName,9967,Variable -NonExclusiveLimitAlarmType_ActiveState_TransitionTime,9968,Variable -NonExclusiveLimitAlarmType_ActiveState_EffectiveTransitionTime,9969,Variable -NonExclusiveLimitAlarmType_ActiveState_TrueState,9970,Variable -NonExclusiveLimitAlarmType_ActiveState_FalseState,9971,Variable -NonExclusiveLimitAlarmType_SuppressedState,9972,Variable -NonExclusiveLimitAlarmType_SuppressedState_Id,9973,Variable -NonExclusiveLimitAlarmType_SuppressedState_Name,9974,Variable -NonExclusiveLimitAlarmType_SuppressedState_Number,9975,Variable -NonExclusiveLimitAlarmType_SuppressedState_EffectiveDisplayName,9976,Variable -NonExclusiveLimitAlarmType_SuppressedState_TransitionTime,9977,Variable -NonExclusiveLimitAlarmType_SuppressedState_EffectiveTransitionTime,9978,Variable -NonExclusiveLimitAlarmType_SuppressedState_TrueState,9979,Variable -NonExclusiveLimitAlarmType_SuppressedState_FalseState,9980,Variable -NonExclusiveLimitAlarmType_ShelvingState,9981,Object -NonExclusiveLimitAlarmType_ShelvingState_CurrentState,9982,Variable -NonExclusiveLimitAlarmType_ShelvingState_CurrentState_Id,9983,Variable -NonExclusiveLimitAlarmType_ShelvingState_CurrentState_Name,9984,Variable -NonExclusiveLimitAlarmType_ShelvingState_CurrentState_Number,9985,Variable -NonExclusiveLimitAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,9986,Variable -NonExclusiveLimitAlarmType_ShelvingState_LastTransition,9987,Variable -NonExclusiveLimitAlarmType_ShelvingState_LastTransition_Id,9988,Variable -NonExclusiveLimitAlarmType_ShelvingState_LastTransition_Name,9989,Variable -NonExclusiveLimitAlarmType_ShelvingState_LastTransition_Number,9990,Variable -NonExclusiveLimitAlarmType_ShelvingState_LastTransition_TransitionTime,9991,Variable -NonExclusiveLimitAlarmType_ShelvingState_UnshelveTime,9992,Variable -NonExclusiveLimitAlarmType_ShelvingState_Unshelve,10014,Method -NonExclusiveLimitAlarmType_ShelvingState_OneShotShelve,10015,Method -NonExclusiveLimitAlarmType_ShelvingState_TimedShelve,10016,Method -NonExclusiveLimitAlarmType_ShelvingState_TimedShelve_InputArguments,10017,Variable -NonExclusiveLimitAlarmType_SuppressedOrShelved,10018,Variable -NonExclusiveLimitAlarmType_MaxTimeShelved,10019,Variable -NonExclusiveLimitAlarmType_HighHighState,10020,Variable -NonExclusiveLimitAlarmType_HighHighState_Id,10021,Variable -NonExclusiveLimitAlarmType_HighHighState_Name,10022,Variable -NonExclusiveLimitAlarmType_HighHighState_Number,10023,Variable -NonExclusiveLimitAlarmType_HighHighState_EffectiveDisplayName,10024,Variable -NonExclusiveLimitAlarmType_HighHighState_TransitionTime,10025,Variable -NonExclusiveLimitAlarmType_HighHighState_EffectiveTransitionTime,10026,Variable -NonExclusiveLimitAlarmType_HighHighState_TrueState,10027,Variable -NonExclusiveLimitAlarmType_HighHighState_FalseState,10028,Variable -NonExclusiveLimitAlarmType_HighState,10029,Variable -NonExclusiveLimitAlarmType_HighState_Id,10030,Variable -NonExclusiveLimitAlarmType_HighState_Name,10031,Variable -NonExclusiveLimitAlarmType_HighState_Number,10032,Variable -NonExclusiveLimitAlarmType_HighState_EffectiveDisplayName,10033,Variable -NonExclusiveLimitAlarmType_HighState_TransitionTime,10034,Variable -NonExclusiveLimitAlarmType_HighState_EffectiveTransitionTime,10035,Variable -NonExclusiveLimitAlarmType_HighState_TrueState,10036,Variable -NonExclusiveLimitAlarmType_HighState_FalseState,10037,Variable -NonExclusiveLimitAlarmType_LowState,10038,Variable -NonExclusiveLimitAlarmType_LowState_Id,10039,Variable -NonExclusiveLimitAlarmType_LowState_Name,10040,Variable -NonExclusiveLimitAlarmType_LowState_Number,10041,Variable -NonExclusiveLimitAlarmType_LowState_EffectiveDisplayName,10042,Variable -NonExclusiveLimitAlarmType_LowState_TransitionTime,10043,Variable -NonExclusiveLimitAlarmType_LowState_EffectiveTransitionTime,10044,Variable -NonExclusiveLimitAlarmType_LowState_TrueState,10045,Variable -NonExclusiveLimitAlarmType_LowState_FalseState,10046,Variable -NonExclusiveLimitAlarmType_LowLowState,10047,Variable -NonExclusiveLimitAlarmType_LowLowState_Id,10048,Variable -NonExclusiveLimitAlarmType_LowLowState_Name,10049,Variable -NonExclusiveLimitAlarmType_LowLowState_Number,10050,Variable -NonExclusiveLimitAlarmType_LowLowState_EffectiveDisplayName,10051,Variable -NonExclusiveLimitAlarmType_LowLowState_TransitionTime,10052,Variable -NonExclusiveLimitAlarmType_LowLowState_EffectiveTransitionTime,10053,Variable -NonExclusiveLimitAlarmType_LowLowState_TrueState,10054,Variable -NonExclusiveLimitAlarmType_LowLowState_FalseState,10055,Variable -NonExclusiveLimitAlarmType_HighHighLimit,10056,Variable -NonExclusiveLimitAlarmType_HighLimit,10057,Variable -NonExclusiveLimitAlarmType_LowLimit,10058,Variable -NonExclusiveLimitAlarmType_LowLowLimit,10059,Variable -NonExclusiveLevelAlarmType,10060,ObjectType -NonExclusiveLevelAlarmType_EventId,10061,Variable -NonExclusiveLevelAlarmType_EventType,10062,Variable -NonExclusiveLevelAlarmType_SourceNode,10063,Variable -NonExclusiveLevelAlarmType_SourceName,10064,Variable -NonExclusiveLevelAlarmType_Time,10065,Variable -NonExclusiveLevelAlarmType_ReceiveTime,10066,Variable -NonExclusiveLevelAlarmType_LocalTime,10067,Variable -NonExclusiveLevelAlarmType_Message,10068,Variable -NonExclusiveLevelAlarmType_Severity,10069,Variable -NonExclusiveLevelAlarmType_ConditionName,10070,Variable -NonExclusiveLevelAlarmType_BranchId,10071,Variable -NonExclusiveLevelAlarmType_Retain,10072,Variable -NonExclusiveLevelAlarmType_EnabledState,10073,Variable -NonExclusiveLevelAlarmType_EnabledState_Id,10074,Variable -NonExclusiveLevelAlarmType_EnabledState_Name,10075,Variable -NonExclusiveLevelAlarmType_EnabledState_Number,10076,Variable -NonExclusiveLevelAlarmType_EnabledState_EffectiveDisplayName,10077,Variable -NonExclusiveLevelAlarmType_EnabledState_TransitionTime,10078,Variable -NonExclusiveLevelAlarmType_EnabledState_EffectiveTransitionTime,10079,Variable -NonExclusiveLevelAlarmType_EnabledState_TrueState,10080,Variable -NonExclusiveLevelAlarmType_EnabledState_FalseState,10081,Variable -NonExclusiveLevelAlarmType_Quality,10082,Variable -NonExclusiveLevelAlarmType_Quality_SourceTimestamp,10083,Variable -NonExclusiveLevelAlarmType_LastSeverity,10084,Variable -NonExclusiveLevelAlarmType_LastSeverity_SourceTimestamp,10085,Variable -NonExclusiveLevelAlarmType_Comment,10086,Variable -NonExclusiveLevelAlarmType_Comment_SourceTimestamp,10087,Variable -NonExclusiveLevelAlarmType_ClientUserId,10088,Variable -NonExclusiveLevelAlarmType_Enable,10089,Method -NonExclusiveLevelAlarmType_Disable,10090,Method -NonExclusiveLevelAlarmType_AddComment,10091,Method -NonExclusiveLevelAlarmType_AddComment_InputArguments,10092,Variable -NonExclusiveLevelAlarmType_ConditionRefresh,10093,Method -NonExclusiveLevelAlarmType_ConditionRefresh_InputArguments,10094,Variable -NonExclusiveLevelAlarmType_AckedState,10095,Variable -NonExclusiveLevelAlarmType_AckedState_Id,10096,Variable -NonExclusiveLevelAlarmType_AckedState_Name,10097,Variable -NonExclusiveLevelAlarmType_AckedState_Number,10098,Variable -NonExclusiveLevelAlarmType_AckedState_EffectiveDisplayName,10099,Variable -NonExclusiveLevelAlarmType_AckedState_TransitionTime,10100,Variable -NonExclusiveLevelAlarmType_AckedState_EffectiveTransitionTime,10101,Variable -NonExclusiveLevelAlarmType_AckedState_TrueState,10102,Variable -NonExclusiveLevelAlarmType_AckedState_FalseState,10103,Variable -NonExclusiveLevelAlarmType_ConfirmedState,10104,Variable -NonExclusiveLevelAlarmType_ConfirmedState_Id,10105,Variable -NonExclusiveLevelAlarmType_ConfirmedState_Name,10106,Variable -NonExclusiveLevelAlarmType_ConfirmedState_Number,10107,Variable -NonExclusiveLevelAlarmType_ConfirmedState_EffectiveDisplayName,10108,Variable -NonExclusiveLevelAlarmType_ConfirmedState_TransitionTime,10109,Variable -NonExclusiveLevelAlarmType_ConfirmedState_EffectiveTransitionTime,10110,Variable -NonExclusiveLevelAlarmType_ConfirmedState_TrueState,10111,Variable -NonExclusiveLevelAlarmType_ConfirmedState_FalseState,10112,Variable -NonExclusiveLevelAlarmType_Acknowledge,10113,Method -NonExclusiveLevelAlarmType_Acknowledge_InputArguments,10114,Variable -NonExclusiveLevelAlarmType_Confirm,10115,Method -NonExclusiveLevelAlarmType_Confirm_InputArguments,10116,Variable -NonExclusiveLevelAlarmType_ActiveState,10117,Variable -NonExclusiveLevelAlarmType_ActiveState_Id,10118,Variable -NonExclusiveLevelAlarmType_ActiveState_Name,10119,Variable -NonExclusiveLevelAlarmType_ActiveState_Number,10120,Variable -NonExclusiveLevelAlarmType_ActiveState_EffectiveDisplayName,10121,Variable -NonExclusiveLevelAlarmType_ActiveState_TransitionTime,10122,Variable -NonExclusiveLevelAlarmType_ActiveState_EffectiveTransitionTime,10123,Variable -NonExclusiveLevelAlarmType_ActiveState_TrueState,10124,Variable -NonExclusiveLevelAlarmType_ActiveState_FalseState,10125,Variable -NonExclusiveLevelAlarmType_SuppressedState,10126,Variable -NonExclusiveLevelAlarmType_SuppressedState_Id,10127,Variable -NonExclusiveLevelAlarmType_SuppressedState_Name,10128,Variable -NonExclusiveLevelAlarmType_SuppressedState_Number,10129,Variable -NonExclusiveLevelAlarmType_SuppressedState_EffectiveDisplayName,10130,Variable -NonExclusiveLevelAlarmType_SuppressedState_TransitionTime,10131,Variable -NonExclusiveLevelAlarmType_SuppressedState_EffectiveTransitionTime,10132,Variable -NonExclusiveLevelAlarmType_SuppressedState_TrueState,10133,Variable -NonExclusiveLevelAlarmType_SuppressedState_FalseState,10134,Variable -NonExclusiveLevelAlarmType_ShelvingState,10135,Object -NonExclusiveLevelAlarmType_ShelvingState_CurrentState,10136,Variable -NonExclusiveLevelAlarmType_ShelvingState_CurrentState_Id,10137,Variable -NonExclusiveLevelAlarmType_ShelvingState_CurrentState_Name,10138,Variable -NonExclusiveLevelAlarmType_ShelvingState_CurrentState_Number,10139,Variable -NonExclusiveLevelAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,10140,Variable -NonExclusiveLevelAlarmType_ShelvingState_LastTransition,10141,Variable -NonExclusiveLevelAlarmType_ShelvingState_LastTransition_Id,10142,Variable -NonExclusiveLevelAlarmType_ShelvingState_LastTransition_Name,10143,Variable -NonExclusiveLevelAlarmType_ShelvingState_LastTransition_Number,10144,Variable -NonExclusiveLevelAlarmType_ShelvingState_LastTransition_TransitionTime,10145,Variable -NonExclusiveLevelAlarmType_ShelvingState_UnshelveTime,10146,Variable -NonExclusiveLevelAlarmType_ShelvingState_Unshelve,10168,Method -NonExclusiveLevelAlarmType_ShelvingState_OneShotShelve,10169,Method -NonExclusiveLevelAlarmType_ShelvingState_TimedShelve,10170,Method -NonExclusiveLevelAlarmType_ShelvingState_TimedShelve_InputArguments,10171,Variable -NonExclusiveLevelAlarmType_SuppressedOrShelved,10172,Variable -NonExclusiveLevelAlarmType_MaxTimeShelved,10173,Variable -NonExclusiveLevelAlarmType_HighHighState,10174,Variable -NonExclusiveLevelAlarmType_HighHighState_Id,10175,Variable -NonExclusiveLevelAlarmType_HighHighState_Name,10176,Variable -NonExclusiveLevelAlarmType_HighHighState_Number,10177,Variable -NonExclusiveLevelAlarmType_HighHighState_EffectiveDisplayName,10178,Variable -NonExclusiveLevelAlarmType_HighHighState_TransitionTime,10179,Variable -NonExclusiveLevelAlarmType_HighHighState_EffectiveTransitionTime,10180,Variable -NonExclusiveLevelAlarmType_HighHighState_TrueState,10181,Variable -NonExclusiveLevelAlarmType_HighHighState_FalseState,10182,Variable -NonExclusiveLevelAlarmType_HighState,10183,Variable -NonExclusiveLevelAlarmType_HighState_Id,10184,Variable -NonExclusiveLevelAlarmType_HighState_Name,10185,Variable -NonExclusiveLevelAlarmType_HighState_Number,10186,Variable -NonExclusiveLevelAlarmType_HighState_EffectiveDisplayName,10187,Variable -NonExclusiveLevelAlarmType_HighState_TransitionTime,10188,Variable -NonExclusiveLevelAlarmType_HighState_EffectiveTransitionTime,10189,Variable -NonExclusiveLevelAlarmType_HighState_TrueState,10190,Variable -NonExclusiveLevelAlarmType_HighState_FalseState,10191,Variable -NonExclusiveLevelAlarmType_LowState,10192,Variable -NonExclusiveLevelAlarmType_LowState_Id,10193,Variable -NonExclusiveLevelAlarmType_LowState_Name,10194,Variable -NonExclusiveLevelAlarmType_LowState_Number,10195,Variable -NonExclusiveLevelAlarmType_LowState_EffectiveDisplayName,10196,Variable -NonExclusiveLevelAlarmType_LowState_TransitionTime,10197,Variable -NonExclusiveLevelAlarmType_LowState_EffectiveTransitionTime,10198,Variable -NonExclusiveLevelAlarmType_LowState_TrueState,10199,Variable -NonExclusiveLevelAlarmType_LowState_FalseState,10200,Variable -NonExclusiveLevelAlarmType_LowLowState,10201,Variable -NonExclusiveLevelAlarmType_LowLowState_Id,10202,Variable -NonExclusiveLevelAlarmType_LowLowState_Name,10203,Variable -NonExclusiveLevelAlarmType_LowLowState_Number,10204,Variable -NonExclusiveLevelAlarmType_LowLowState_EffectiveDisplayName,10205,Variable -NonExclusiveLevelAlarmType_LowLowState_TransitionTime,10206,Variable -NonExclusiveLevelAlarmType_LowLowState_EffectiveTransitionTime,10207,Variable -NonExclusiveLevelAlarmType_LowLowState_TrueState,10208,Variable -NonExclusiveLevelAlarmType_LowLowState_FalseState,10209,Variable -NonExclusiveLevelAlarmType_HighHighLimit,10210,Variable -NonExclusiveLevelAlarmType_HighLimit,10211,Variable -NonExclusiveLevelAlarmType_LowLimit,10212,Variable -NonExclusiveLevelAlarmType_LowLowLimit,10213,Variable -NonExclusiveRateOfChangeAlarmType,10214,ObjectType -NonExclusiveRateOfChangeAlarmType_EventId,10215,Variable -NonExclusiveRateOfChangeAlarmType_EventType,10216,Variable -NonExclusiveRateOfChangeAlarmType_SourceNode,10217,Variable -NonExclusiveRateOfChangeAlarmType_SourceName,10218,Variable -NonExclusiveRateOfChangeAlarmType_Time,10219,Variable -NonExclusiveRateOfChangeAlarmType_ReceiveTime,10220,Variable -NonExclusiveRateOfChangeAlarmType_LocalTime,10221,Variable -NonExclusiveRateOfChangeAlarmType_Message,10222,Variable -NonExclusiveRateOfChangeAlarmType_Severity,10223,Variable -NonExclusiveRateOfChangeAlarmType_ConditionName,10224,Variable -NonExclusiveRateOfChangeAlarmType_BranchId,10225,Variable -NonExclusiveRateOfChangeAlarmType_Retain,10226,Variable -NonExclusiveRateOfChangeAlarmType_EnabledState,10227,Variable -NonExclusiveRateOfChangeAlarmType_EnabledState_Id,10228,Variable -NonExclusiveRateOfChangeAlarmType_EnabledState_Name,10229,Variable -NonExclusiveRateOfChangeAlarmType_EnabledState_Number,10230,Variable -NonExclusiveRateOfChangeAlarmType_EnabledState_EffectiveDisplayName,10231,Variable -NonExclusiveRateOfChangeAlarmType_EnabledState_TransitionTime,10232,Variable -NonExclusiveRateOfChangeAlarmType_EnabledState_EffectiveTransitionTime,10233,Variable -NonExclusiveRateOfChangeAlarmType_EnabledState_TrueState,10234,Variable -NonExclusiveRateOfChangeAlarmType_EnabledState_FalseState,10235,Variable -NonExclusiveRateOfChangeAlarmType_Quality,10236,Variable -NonExclusiveRateOfChangeAlarmType_Quality_SourceTimestamp,10237,Variable -NonExclusiveRateOfChangeAlarmType_LastSeverity,10238,Variable -NonExclusiveRateOfChangeAlarmType_LastSeverity_SourceTimestamp,10239,Variable -NonExclusiveRateOfChangeAlarmType_Comment,10240,Variable -NonExclusiveRateOfChangeAlarmType_Comment_SourceTimestamp,10241,Variable -NonExclusiveRateOfChangeAlarmType_ClientUserId,10242,Variable -NonExclusiveRateOfChangeAlarmType_Enable,10243,Method -NonExclusiveRateOfChangeAlarmType_Disable,10244,Method -NonExclusiveRateOfChangeAlarmType_AddComment,10245,Method -NonExclusiveRateOfChangeAlarmType_AddComment_InputArguments,10246,Variable -NonExclusiveRateOfChangeAlarmType_ConditionRefresh,10247,Method -NonExclusiveRateOfChangeAlarmType_ConditionRefresh_InputArguments,10248,Variable -NonExclusiveRateOfChangeAlarmType_AckedState,10249,Variable -NonExclusiveRateOfChangeAlarmType_AckedState_Id,10250,Variable -NonExclusiveRateOfChangeAlarmType_AckedState_Name,10251,Variable -NonExclusiveRateOfChangeAlarmType_AckedState_Number,10252,Variable -NonExclusiveRateOfChangeAlarmType_AckedState_EffectiveDisplayName,10253,Variable -NonExclusiveRateOfChangeAlarmType_AckedState_TransitionTime,10254,Variable -NonExclusiveRateOfChangeAlarmType_AckedState_EffectiveTransitionTime,10255,Variable -NonExclusiveRateOfChangeAlarmType_AckedState_TrueState,10256,Variable -NonExclusiveRateOfChangeAlarmType_AckedState_FalseState,10257,Variable -NonExclusiveRateOfChangeAlarmType_ConfirmedState,10258,Variable -NonExclusiveRateOfChangeAlarmType_ConfirmedState_Id,10259,Variable -NonExclusiveRateOfChangeAlarmType_ConfirmedState_Name,10260,Variable -NonExclusiveRateOfChangeAlarmType_ConfirmedState_Number,10261,Variable -NonExclusiveRateOfChangeAlarmType_ConfirmedState_EffectiveDisplayName,10262,Variable -NonExclusiveRateOfChangeAlarmType_ConfirmedState_TransitionTime,10263,Variable -NonExclusiveRateOfChangeAlarmType_ConfirmedState_EffectiveTransitionTime,10264,Variable -NonExclusiveRateOfChangeAlarmType_ConfirmedState_TrueState,10265,Variable -NonExclusiveRateOfChangeAlarmType_ConfirmedState_FalseState,10266,Variable -NonExclusiveRateOfChangeAlarmType_Acknowledge,10267,Method -NonExclusiveRateOfChangeAlarmType_Acknowledge_InputArguments,10268,Variable -NonExclusiveRateOfChangeAlarmType_Confirm,10269,Method -NonExclusiveRateOfChangeAlarmType_Confirm_InputArguments,10270,Variable -NonExclusiveRateOfChangeAlarmType_ActiveState,10271,Variable -NonExclusiveRateOfChangeAlarmType_ActiveState_Id,10272,Variable -NonExclusiveRateOfChangeAlarmType_ActiveState_Name,10273,Variable -NonExclusiveRateOfChangeAlarmType_ActiveState_Number,10274,Variable -NonExclusiveRateOfChangeAlarmType_ActiveState_EffectiveDisplayName,10275,Variable -NonExclusiveRateOfChangeAlarmType_ActiveState_TransitionTime,10276,Variable -NonExclusiveRateOfChangeAlarmType_ActiveState_EffectiveTransitionTime,10277,Variable -NonExclusiveRateOfChangeAlarmType_ActiveState_TrueState,10278,Variable -NonExclusiveRateOfChangeAlarmType_ActiveState_FalseState,10279,Variable -NonExclusiveRateOfChangeAlarmType_SuppressedState,10280,Variable -NonExclusiveRateOfChangeAlarmType_SuppressedState_Id,10281,Variable -NonExclusiveRateOfChangeAlarmType_SuppressedState_Name,10282,Variable -NonExclusiveRateOfChangeAlarmType_SuppressedState_Number,10283,Variable -NonExclusiveRateOfChangeAlarmType_SuppressedState_EffectiveDisplayName,10284,Variable -NonExclusiveRateOfChangeAlarmType_SuppressedState_TransitionTime,10285,Variable -NonExclusiveRateOfChangeAlarmType_SuppressedState_EffectiveTransitionTime,10286,Variable -NonExclusiveRateOfChangeAlarmType_SuppressedState_TrueState,10287,Variable -NonExclusiveRateOfChangeAlarmType_SuppressedState_FalseState,10288,Variable -NonExclusiveRateOfChangeAlarmType_ShelvingState,10289,Object -NonExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState,10290,Variable -NonExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_Id,10291,Variable -NonExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_Name,10292,Variable -NonExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_Number,10293,Variable -NonExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,10294,Variable -NonExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition,10295,Variable -NonExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_Id,10296,Variable -NonExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_Name,10297,Variable -NonExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_Number,10298,Variable -NonExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_TransitionTime,10299,Variable -NonExclusiveRateOfChangeAlarmType_ShelvingState_UnshelveTime,10300,Variable -NonExclusiveRateOfChangeAlarmType_ShelvingState_Unshelve,10322,Method -NonExclusiveRateOfChangeAlarmType_ShelvingState_OneShotShelve,10323,Method -NonExclusiveRateOfChangeAlarmType_ShelvingState_TimedShelve,10324,Method -NonExclusiveRateOfChangeAlarmType_ShelvingState_TimedShelve_InputArguments,10325,Variable -NonExclusiveRateOfChangeAlarmType_SuppressedOrShelved,10326,Variable -NonExclusiveRateOfChangeAlarmType_MaxTimeShelved,10327,Variable -NonExclusiveRateOfChangeAlarmType_HighHighState,10328,Variable -NonExclusiveRateOfChangeAlarmType_HighHighState_Id,10329,Variable -NonExclusiveRateOfChangeAlarmType_HighHighState_Name,10330,Variable -NonExclusiveRateOfChangeAlarmType_HighHighState_Number,10331,Variable -NonExclusiveRateOfChangeAlarmType_HighHighState_EffectiveDisplayName,10332,Variable -NonExclusiveRateOfChangeAlarmType_HighHighState_TransitionTime,10333,Variable -NonExclusiveRateOfChangeAlarmType_HighHighState_EffectiveTransitionTime,10334,Variable -NonExclusiveRateOfChangeAlarmType_HighHighState_TrueState,10335,Variable -NonExclusiveRateOfChangeAlarmType_HighHighState_FalseState,10336,Variable -NonExclusiveRateOfChangeAlarmType_HighState,10337,Variable -NonExclusiveRateOfChangeAlarmType_HighState_Id,10338,Variable -NonExclusiveRateOfChangeAlarmType_HighState_Name,10339,Variable -NonExclusiveRateOfChangeAlarmType_HighState_Number,10340,Variable -NonExclusiveRateOfChangeAlarmType_HighState_EffectiveDisplayName,10341,Variable -NonExclusiveRateOfChangeAlarmType_HighState_TransitionTime,10342,Variable -NonExclusiveRateOfChangeAlarmType_HighState_EffectiveTransitionTime,10343,Variable -NonExclusiveRateOfChangeAlarmType_HighState_TrueState,10344,Variable -NonExclusiveRateOfChangeAlarmType_HighState_FalseState,10345,Variable -NonExclusiveRateOfChangeAlarmType_LowState,10346,Variable -NonExclusiveRateOfChangeAlarmType_LowState_Id,10347,Variable -NonExclusiveRateOfChangeAlarmType_LowState_Name,10348,Variable -NonExclusiveRateOfChangeAlarmType_LowState_Number,10349,Variable -NonExclusiveRateOfChangeAlarmType_LowState_EffectiveDisplayName,10350,Variable -NonExclusiveRateOfChangeAlarmType_LowState_TransitionTime,10351,Variable -NonExclusiveRateOfChangeAlarmType_LowState_EffectiveTransitionTime,10352,Variable -NonExclusiveRateOfChangeAlarmType_LowState_TrueState,10353,Variable -NonExclusiveRateOfChangeAlarmType_LowState_FalseState,10354,Variable -NonExclusiveRateOfChangeAlarmType_LowLowState,10355,Variable -NonExclusiveRateOfChangeAlarmType_LowLowState_Id,10356,Variable -NonExclusiveRateOfChangeAlarmType_LowLowState_Name,10357,Variable -NonExclusiveRateOfChangeAlarmType_LowLowState_Number,10358,Variable -NonExclusiveRateOfChangeAlarmType_LowLowState_EffectiveDisplayName,10359,Variable -NonExclusiveRateOfChangeAlarmType_LowLowState_TransitionTime,10360,Variable -NonExclusiveRateOfChangeAlarmType_LowLowState_EffectiveTransitionTime,10361,Variable -NonExclusiveRateOfChangeAlarmType_LowLowState_TrueState,10362,Variable -NonExclusiveRateOfChangeAlarmType_LowLowState_FalseState,10363,Variable -NonExclusiveRateOfChangeAlarmType_HighHighLimit,10364,Variable -NonExclusiveRateOfChangeAlarmType_HighLimit,10365,Variable -NonExclusiveRateOfChangeAlarmType_LowLimit,10366,Variable -NonExclusiveRateOfChangeAlarmType_LowLowLimit,10367,Variable -NonExclusiveDeviationAlarmType,10368,ObjectType -NonExclusiveDeviationAlarmType_EventId,10369,Variable -NonExclusiveDeviationAlarmType_EventType,10370,Variable -NonExclusiveDeviationAlarmType_SourceNode,10371,Variable -NonExclusiveDeviationAlarmType_SourceName,10372,Variable -NonExclusiveDeviationAlarmType_Time,10373,Variable -NonExclusiveDeviationAlarmType_ReceiveTime,10374,Variable -NonExclusiveDeviationAlarmType_LocalTime,10375,Variable -NonExclusiveDeviationAlarmType_Message,10376,Variable -NonExclusiveDeviationAlarmType_Severity,10377,Variable -NonExclusiveDeviationAlarmType_ConditionName,10378,Variable -NonExclusiveDeviationAlarmType_BranchId,10379,Variable -NonExclusiveDeviationAlarmType_Retain,10380,Variable -NonExclusiveDeviationAlarmType_EnabledState,10381,Variable -NonExclusiveDeviationAlarmType_EnabledState_Id,10382,Variable -NonExclusiveDeviationAlarmType_EnabledState_Name,10383,Variable -NonExclusiveDeviationAlarmType_EnabledState_Number,10384,Variable -NonExclusiveDeviationAlarmType_EnabledState_EffectiveDisplayName,10385,Variable -NonExclusiveDeviationAlarmType_EnabledState_TransitionTime,10386,Variable -NonExclusiveDeviationAlarmType_EnabledState_EffectiveTransitionTime,10387,Variable -NonExclusiveDeviationAlarmType_EnabledState_TrueState,10388,Variable -NonExclusiveDeviationAlarmType_EnabledState_FalseState,10389,Variable -NonExclusiveDeviationAlarmType_Quality,10390,Variable -NonExclusiveDeviationAlarmType_Quality_SourceTimestamp,10391,Variable -NonExclusiveDeviationAlarmType_LastSeverity,10392,Variable -NonExclusiveDeviationAlarmType_LastSeverity_SourceTimestamp,10393,Variable -NonExclusiveDeviationAlarmType_Comment,10394,Variable -NonExclusiveDeviationAlarmType_Comment_SourceTimestamp,10395,Variable -NonExclusiveDeviationAlarmType_ClientUserId,10396,Variable -NonExclusiveDeviationAlarmType_Enable,10397,Method -NonExclusiveDeviationAlarmType_Disable,10398,Method -NonExclusiveDeviationAlarmType_AddComment,10399,Method -NonExclusiveDeviationAlarmType_AddComment_InputArguments,10400,Variable -NonExclusiveDeviationAlarmType_ConditionRefresh,10401,Method -NonExclusiveDeviationAlarmType_ConditionRefresh_InputArguments,10402,Variable -NonExclusiveDeviationAlarmType_AckedState,10403,Variable -NonExclusiveDeviationAlarmType_AckedState_Id,10404,Variable -NonExclusiveDeviationAlarmType_AckedState_Name,10405,Variable -NonExclusiveDeviationAlarmType_AckedState_Number,10406,Variable -NonExclusiveDeviationAlarmType_AckedState_EffectiveDisplayName,10407,Variable -NonExclusiveDeviationAlarmType_AckedState_TransitionTime,10408,Variable -NonExclusiveDeviationAlarmType_AckedState_EffectiveTransitionTime,10409,Variable -NonExclusiveDeviationAlarmType_AckedState_TrueState,10410,Variable -NonExclusiveDeviationAlarmType_AckedState_FalseState,10411,Variable -NonExclusiveDeviationAlarmType_ConfirmedState,10412,Variable -NonExclusiveDeviationAlarmType_ConfirmedState_Id,10413,Variable -NonExclusiveDeviationAlarmType_ConfirmedState_Name,10414,Variable -NonExclusiveDeviationAlarmType_ConfirmedState_Number,10415,Variable -NonExclusiveDeviationAlarmType_ConfirmedState_EffectiveDisplayName,10416,Variable -NonExclusiveDeviationAlarmType_ConfirmedState_TransitionTime,10417,Variable -NonExclusiveDeviationAlarmType_ConfirmedState_EffectiveTransitionTime,10418,Variable -NonExclusiveDeviationAlarmType_ConfirmedState_TrueState,10419,Variable -NonExclusiveDeviationAlarmType_ConfirmedState_FalseState,10420,Variable -NonExclusiveDeviationAlarmType_Acknowledge,10421,Method -NonExclusiveDeviationAlarmType_Acknowledge_InputArguments,10422,Variable -NonExclusiveDeviationAlarmType_Confirm,10423,Method -NonExclusiveDeviationAlarmType_Confirm_InputArguments,10424,Variable -NonExclusiveDeviationAlarmType_ActiveState,10425,Variable -NonExclusiveDeviationAlarmType_ActiveState_Id,10426,Variable -NonExclusiveDeviationAlarmType_ActiveState_Name,10427,Variable -NonExclusiveDeviationAlarmType_ActiveState_Number,10428,Variable -NonExclusiveDeviationAlarmType_ActiveState_EffectiveDisplayName,10429,Variable -NonExclusiveDeviationAlarmType_ActiveState_TransitionTime,10430,Variable -NonExclusiveDeviationAlarmType_ActiveState_EffectiveTransitionTime,10431,Variable -NonExclusiveDeviationAlarmType_ActiveState_TrueState,10432,Variable -NonExclusiveDeviationAlarmType_ActiveState_FalseState,10433,Variable -NonExclusiveDeviationAlarmType_SuppressedState,10434,Variable -NonExclusiveDeviationAlarmType_SuppressedState_Id,10435,Variable -NonExclusiveDeviationAlarmType_SuppressedState_Name,10436,Variable -NonExclusiveDeviationAlarmType_SuppressedState_Number,10437,Variable -NonExclusiveDeviationAlarmType_SuppressedState_EffectiveDisplayName,10438,Variable -NonExclusiveDeviationAlarmType_SuppressedState_TransitionTime,10439,Variable -NonExclusiveDeviationAlarmType_SuppressedState_EffectiveTransitionTime,10440,Variable -NonExclusiveDeviationAlarmType_SuppressedState_TrueState,10441,Variable -NonExclusiveDeviationAlarmType_SuppressedState_FalseState,10442,Variable -NonExclusiveDeviationAlarmType_ShelvingState,10443,Object -NonExclusiveDeviationAlarmType_ShelvingState_CurrentState,10444,Variable -NonExclusiveDeviationAlarmType_ShelvingState_CurrentState_Id,10445,Variable -NonExclusiveDeviationAlarmType_ShelvingState_CurrentState_Name,10446,Variable -NonExclusiveDeviationAlarmType_ShelvingState_CurrentState_Number,10447,Variable -NonExclusiveDeviationAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,10448,Variable -NonExclusiveDeviationAlarmType_ShelvingState_LastTransition,10449,Variable -NonExclusiveDeviationAlarmType_ShelvingState_LastTransition_Id,10450,Variable -NonExclusiveDeviationAlarmType_ShelvingState_LastTransition_Name,10451,Variable -NonExclusiveDeviationAlarmType_ShelvingState_LastTransition_Number,10452,Variable -NonExclusiveDeviationAlarmType_ShelvingState_LastTransition_TransitionTime,10453,Variable -NonExclusiveDeviationAlarmType_ShelvingState_UnshelveTime,10454,Variable -NonExclusiveDeviationAlarmType_ShelvingState_Unshelve,10476,Method -NonExclusiveDeviationAlarmType_ShelvingState_OneShotShelve,10477,Method -NonExclusiveDeviationAlarmType_ShelvingState_TimedShelve,10478,Method -NonExclusiveDeviationAlarmType_ShelvingState_TimedShelve_InputArguments,10479,Variable -NonExclusiveDeviationAlarmType_SuppressedOrShelved,10480,Variable -NonExclusiveDeviationAlarmType_MaxTimeShelved,10481,Variable -NonExclusiveDeviationAlarmType_HighHighState,10482,Variable -NonExclusiveDeviationAlarmType_HighHighState_Id,10483,Variable -NonExclusiveDeviationAlarmType_HighHighState_Name,10484,Variable -NonExclusiveDeviationAlarmType_HighHighState_Number,10485,Variable -NonExclusiveDeviationAlarmType_HighHighState_EffectiveDisplayName,10486,Variable -NonExclusiveDeviationAlarmType_HighHighState_TransitionTime,10487,Variable -NonExclusiveDeviationAlarmType_HighHighState_EffectiveTransitionTime,10488,Variable -NonExclusiveDeviationAlarmType_HighHighState_TrueState,10489,Variable -NonExclusiveDeviationAlarmType_HighHighState_FalseState,10490,Variable -NonExclusiveDeviationAlarmType_HighState,10491,Variable -NonExclusiveDeviationAlarmType_HighState_Id,10492,Variable -NonExclusiveDeviationAlarmType_HighState_Name,10493,Variable -NonExclusiveDeviationAlarmType_HighState_Number,10494,Variable -NonExclusiveDeviationAlarmType_HighState_EffectiveDisplayName,10495,Variable -NonExclusiveDeviationAlarmType_HighState_TransitionTime,10496,Variable -NonExclusiveDeviationAlarmType_HighState_EffectiveTransitionTime,10497,Variable -NonExclusiveDeviationAlarmType_HighState_TrueState,10498,Variable -NonExclusiveDeviationAlarmType_HighState_FalseState,10499,Variable -NonExclusiveDeviationAlarmType_LowState,10500,Variable -NonExclusiveDeviationAlarmType_LowState_Id,10501,Variable -NonExclusiveDeviationAlarmType_LowState_Name,10502,Variable -NonExclusiveDeviationAlarmType_LowState_Number,10503,Variable -NonExclusiveDeviationAlarmType_LowState_EffectiveDisplayName,10504,Variable -NonExclusiveDeviationAlarmType_LowState_TransitionTime,10505,Variable -NonExclusiveDeviationAlarmType_LowState_EffectiveTransitionTime,10506,Variable -NonExclusiveDeviationAlarmType_LowState_TrueState,10507,Variable -NonExclusiveDeviationAlarmType_LowState_FalseState,10508,Variable -NonExclusiveDeviationAlarmType_LowLowState,10509,Variable -NonExclusiveDeviationAlarmType_LowLowState_Id,10510,Variable -NonExclusiveDeviationAlarmType_LowLowState_Name,10511,Variable -NonExclusiveDeviationAlarmType_LowLowState_Number,10512,Variable -NonExclusiveDeviationAlarmType_LowLowState_EffectiveDisplayName,10513,Variable -NonExclusiveDeviationAlarmType_LowLowState_TransitionTime,10514,Variable -NonExclusiveDeviationAlarmType_LowLowState_EffectiveTransitionTime,10515,Variable -NonExclusiveDeviationAlarmType_LowLowState_TrueState,10516,Variable -NonExclusiveDeviationAlarmType_LowLowState_FalseState,10517,Variable -NonExclusiveDeviationAlarmType_HighHighLimit,10518,Variable -NonExclusiveDeviationAlarmType_HighLimit,10519,Variable -NonExclusiveDeviationAlarmType_LowLimit,10520,Variable -NonExclusiveDeviationAlarmType_LowLowLimit,10521,Variable -NonExclusiveDeviationAlarmType_SetpointNode,10522,Variable -DiscreteAlarmType,10523,ObjectType -DiscreteAlarmType_EventId,10524,Variable -DiscreteAlarmType_EventType,10525,Variable -DiscreteAlarmType_SourceNode,10526,Variable -DiscreteAlarmType_SourceName,10527,Variable -DiscreteAlarmType_Time,10528,Variable -DiscreteAlarmType_ReceiveTime,10529,Variable -DiscreteAlarmType_LocalTime,10530,Variable -DiscreteAlarmType_Message,10531,Variable -DiscreteAlarmType_Severity,10532,Variable -DiscreteAlarmType_ConditionName,10533,Variable -DiscreteAlarmType_BranchId,10534,Variable -DiscreteAlarmType_Retain,10535,Variable -DiscreteAlarmType_EnabledState,10536,Variable -DiscreteAlarmType_EnabledState_Id,10537,Variable -DiscreteAlarmType_EnabledState_Name,10538,Variable -DiscreteAlarmType_EnabledState_Number,10539,Variable -DiscreteAlarmType_EnabledState_EffectiveDisplayName,10540,Variable -DiscreteAlarmType_EnabledState_TransitionTime,10541,Variable -DiscreteAlarmType_EnabledState_EffectiveTransitionTime,10542,Variable -DiscreteAlarmType_EnabledState_TrueState,10543,Variable -DiscreteAlarmType_EnabledState_FalseState,10544,Variable -DiscreteAlarmType_Quality,10545,Variable -DiscreteAlarmType_Quality_SourceTimestamp,10546,Variable -DiscreteAlarmType_LastSeverity,10547,Variable -DiscreteAlarmType_LastSeverity_SourceTimestamp,10548,Variable -DiscreteAlarmType_Comment,10549,Variable -DiscreteAlarmType_Comment_SourceTimestamp,10550,Variable -DiscreteAlarmType_ClientUserId,10551,Variable -DiscreteAlarmType_Enable,10552,Method -DiscreteAlarmType_Disable,10553,Method -DiscreteAlarmType_AddComment,10554,Method -DiscreteAlarmType_AddComment_InputArguments,10555,Variable -DiscreteAlarmType_ConditionRefresh,10556,Method -DiscreteAlarmType_ConditionRefresh_InputArguments,10557,Variable -DiscreteAlarmType_AckedState,10558,Variable -DiscreteAlarmType_AckedState_Id,10559,Variable -DiscreteAlarmType_AckedState_Name,10560,Variable -DiscreteAlarmType_AckedState_Number,10561,Variable -DiscreteAlarmType_AckedState_EffectiveDisplayName,10562,Variable -DiscreteAlarmType_AckedState_TransitionTime,10563,Variable -DiscreteAlarmType_AckedState_EffectiveTransitionTime,10564,Variable -DiscreteAlarmType_AckedState_TrueState,10565,Variable -DiscreteAlarmType_AckedState_FalseState,10566,Variable -DiscreteAlarmType_ConfirmedState,10567,Variable -DiscreteAlarmType_ConfirmedState_Id,10568,Variable -DiscreteAlarmType_ConfirmedState_Name,10569,Variable -DiscreteAlarmType_ConfirmedState_Number,10570,Variable -DiscreteAlarmType_ConfirmedState_EffectiveDisplayName,10571,Variable -DiscreteAlarmType_ConfirmedState_TransitionTime,10572,Variable -DiscreteAlarmType_ConfirmedState_EffectiveTransitionTime,10573,Variable -DiscreteAlarmType_ConfirmedState_TrueState,10574,Variable -DiscreteAlarmType_ConfirmedState_FalseState,10575,Variable -DiscreteAlarmType_Acknowledge,10576,Method -DiscreteAlarmType_Acknowledge_InputArguments,10577,Variable -DiscreteAlarmType_Confirm,10578,Method -DiscreteAlarmType_Confirm_InputArguments,10579,Variable -DiscreteAlarmType_ActiveState,10580,Variable -DiscreteAlarmType_ActiveState_Id,10581,Variable -DiscreteAlarmType_ActiveState_Name,10582,Variable -DiscreteAlarmType_ActiveState_Number,10583,Variable -DiscreteAlarmType_ActiveState_EffectiveDisplayName,10584,Variable -DiscreteAlarmType_ActiveState_TransitionTime,10585,Variable -DiscreteAlarmType_ActiveState_EffectiveTransitionTime,10586,Variable -DiscreteAlarmType_ActiveState_TrueState,10587,Variable -DiscreteAlarmType_ActiveState_FalseState,10588,Variable -DiscreteAlarmType_SuppressedState,10589,Variable -DiscreteAlarmType_SuppressedState_Id,10590,Variable -DiscreteAlarmType_SuppressedState_Name,10591,Variable -DiscreteAlarmType_SuppressedState_Number,10592,Variable -DiscreteAlarmType_SuppressedState_EffectiveDisplayName,10593,Variable -DiscreteAlarmType_SuppressedState_TransitionTime,10594,Variable -DiscreteAlarmType_SuppressedState_EffectiveTransitionTime,10595,Variable -DiscreteAlarmType_SuppressedState_TrueState,10596,Variable -DiscreteAlarmType_SuppressedState_FalseState,10597,Variable -DiscreteAlarmType_ShelvingState,10598,Object -DiscreteAlarmType_ShelvingState_CurrentState,10599,Variable -DiscreteAlarmType_ShelvingState_CurrentState_Id,10600,Variable -DiscreteAlarmType_ShelvingState_CurrentState_Name,10601,Variable -DiscreteAlarmType_ShelvingState_CurrentState_Number,10602,Variable -DiscreteAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,10603,Variable -DiscreteAlarmType_ShelvingState_LastTransition,10604,Variable -DiscreteAlarmType_ShelvingState_LastTransition_Id,10605,Variable -DiscreteAlarmType_ShelvingState_LastTransition_Name,10606,Variable -DiscreteAlarmType_ShelvingState_LastTransition_Number,10607,Variable -DiscreteAlarmType_ShelvingState_LastTransition_TransitionTime,10608,Variable -DiscreteAlarmType_ShelvingState_UnshelveTime,10609,Variable -DiscreteAlarmType_ShelvingState_Unshelve,10631,Method -DiscreteAlarmType_ShelvingState_OneShotShelve,10632,Method -DiscreteAlarmType_ShelvingState_TimedShelve,10633,Method -DiscreteAlarmType_ShelvingState_TimedShelve_InputArguments,10634,Variable -DiscreteAlarmType_SuppressedOrShelved,10635,Variable -DiscreteAlarmType_MaxTimeShelved,10636,Variable -OffNormalAlarmType,10637,ObjectType -OffNormalAlarmType_EventId,10638,Variable -OffNormalAlarmType_EventType,10639,Variable -OffNormalAlarmType_SourceNode,10640,Variable -OffNormalAlarmType_SourceName,10641,Variable -OffNormalAlarmType_Time,10642,Variable -OffNormalAlarmType_ReceiveTime,10643,Variable -OffNormalAlarmType_LocalTime,10644,Variable -OffNormalAlarmType_Message,10645,Variable -OffNormalAlarmType_Severity,10646,Variable -OffNormalAlarmType_ConditionName,10647,Variable -OffNormalAlarmType_BranchId,10648,Variable -OffNormalAlarmType_Retain,10649,Variable -OffNormalAlarmType_EnabledState,10650,Variable -OffNormalAlarmType_EnabledState_Id,10651,Variable -OffNormalAlarmType_EnabledState_Name,10652,Variable -OffNormalAlarmType_EnabledState_Number,10653,Variable -OffNormalAlarmType_EnabledState_EffectiveDisplayName,10654,Variable -OffNormalAlarmType_EnabledState_TransitionTime,10655,Variable -OffNormalAlarmType_EnabledState_EffectiveTransitionTime,10656,Variable -OffNormalAlarmType_EnabledState_TrueState,10657,Variable -OffNormalAlarmType_EnabledState_FalseState,10658,Variable -OffNormalAlarmType_Quality,10659,Variable -OffNormalAlarmType_Quality_SourceTimestamp,10660,Variable -OffNormalAlarmType_LastSeverity,10661,Variable -OffNormalAlarmType_LastSeverity_SourceTimestamp,10662,Variable -OffNormalAlarmType_Comment,10663,Variable -OffNormalAlarmType_Comment_SourceTimestamp,10664,Variable -OffNormalAlarmType_ClientUserId,10665,Variable -OffNormalAlarmType_Enable,10666,Method -OffNormalAlarmType_Disable,10667,Method -OffNormalAlarmType_AddComment,10668,Method -OffNormalAlarmType_AddComment_InputArguments,10669,Variable -OffNormalAlarmType_ConditionRefresh,10670,Method -OffNormalAlarmType_ConditionRefresh_InputArguments,10671,Variable -OffNormalAlarmType_AckedState,10672,Variable -OffNormalAlarmType_AckedState_Id,10673,Variable -OffNormalAlarmType_AckedState_Name,10674,Variable -OffNormalAlarmType_AckedState_Number,10675,Variable -OffNormalAlarmType_AckedState_EffectiveDisplayName,10676,Variable -OffNormalAlarmType_AckedState_TransitionTime,10677,Variable -OffNormalAlarmType_AckedState_EffectiveTransitionTime,10678,Variable -OffNormalAlarmType_AckedState_TrueState,10679,Variable -OffNormalAlarmType_AckedState_FalseState,10680,Variable -OffNormalAlarmType_ConfirmedState,10681,Variable -OffNormalAlarmType_ConfirmedState_Id,10682,Variable -OffNormalAlarmType_ConfirmedState_Name,10683,Variable -OffNormalAlarmType_ConfirmedState_Number,10684,Variable -OffNormalAlarmType_ConfirmedState_EffectiveDisplayName,10685,Variable -OffNormalAlarmType_ConfirmedState_TransitionTime,10686,Variable -OffNormalAlarmType_ConfirmedState_EffectiveTransitionTime,10687,Variable -OffNormalAlarmType_ConfirmedState_TrueState,10688,Variable -OffNormalAlarmType_ConfirmedState_FalseState,10689,Variable -OffNormalAlarmType_Acknowledge,10690,Method -OffNormalAlarmType_Acknowledge_InputArguments,10691,Variable -OffNormalAlarmType_Confirm,10692,Method -OffNormalAlarmType_Confirm_InputArguments,10693,Variable -OffNormalAlarmType_ActiveState,10694,Variable -OffNormalAlarmType_ActiveState_Id,10695,Variable -OffNormalAlarmType_ActiveState_Name,10696,Variable -OffNormalAlarmType_ActiveState_Number,10697,Variable -OffNormalAlarmType_ActiveState_EffectiveDisplayName,10698,Variable -OffNormalAlarmType_ActiveState_TransitionTime,10699,Variable -OffNormalAlarmType_ActiveState_EffectiveTransitionTime,10700,Variable -OffNormalAlarmType_ActiveState_TrueState,10701,Variable -OffNormalAlarmType_ActiveState_FalseState,10702,Variable -OffNormalAlarmType_SuppressedState,10703,Variable -OffNormalAlarmType_SuppressedState_Id,10704,Variable -OffNormalAlarmType_SuppressedState_Name,10705,Variable -OffNormalAlarmType_SuppressedState_Number,10706,Variable -OffNormalAlarmType_SuppressedState_EffectiveDisplayName,10707,Variable -OffNormalAlarmType_SuppressedState_TransitionTime,10708,Variable -OffNormalAlarmType_SuppressedState_EffectiveTransitionTime,10709,Variable -OffNormalAlarmType_SuppressedState_TrueState,10710,Variable -OffNormalAlarmType_SuppressedState_FalseState,10711,Variable -OffNormalAlarmType_ShelvingState,10712,Object -OffNormalAlarmType_ShelvingState_CurrentState,10713,Variable -OffNormalAlarmType_ShelvingState_CurrentState_Id,10714,Variable -OffNormalAlarmType_ShelvingState_CurrentState_Name,10715,Variable -OffNormalAlarmType_ShelvingState_CurrentState_Number,10716,Variable -OffNormalAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,10717,Variable -OffNormalAlarmType_ShelvingState_LastTransition,10718,Variable -OffNormalAlarmType_ShelvingState_LastTransition_Id,10719,Variable -OffNormalAlarmType_ShelvingState_LastTransition_Name,10720,Variable -OffNormalAlarmType_ShelvingState_LastTransition_Number,10721,Variable -OffNormalAlarmType_ShelvingState_LastTransition_TransitionTime,10722,Variable -OffNormalAlarmType_ShelvingState_UnshelveTime,10723,Variable -OffNormalAlarmType_ShelvingState_Unshelve,10745,Method -OffNormalAlarmType_ShelvingState_OneShotShelve,10746,Method -OffNormalAlarmType_ShelvingState_TimedShelve,10747,Method -OffNormalAlarmType_ShelvingState_TimedShelve_InputArguments,10748,Variable -OffNormalAlarmType_SuppressedOrShelved,10749,Variable -OffNormalAlarmType_MaxTimeShelved,10750,Variable -TripAlarmType,10751,ObjectType -TripAlarmType_EventId,10752,Variable -TripAlarmType_EventType,10753,Variable -TripAlarmType_SourceNode,10754,Variable -TripAlarmType_SourceName,10755,Variable -TripAlarmType_Time,10756,Variable -TripAlarmType_ReceiveTime,10757,Variable -TripAlarmType_LocalTime,10758,Variable -TripAlarmType_Message,10759,Variable -TripAlarmType_Severity,10760,Variable -TripAlarmType_ConditionName,10761,Variable -TripAlarmType_BranchId,10762,Variable -TripAlarmType_Retain,10763,Variable -TripAlarmType_EnabledState,10764,Variable -TripAlarmType_EnabledState_Id,10765,Variable -TripAlarmType_EnabledState_Name,10766,Variable -TripAlarmType_EnabledState_Number,10767,Variable -TripAlarmType_EnabledState_EffectiveDisplayName,10768,Variable -TripAlarmType_EnabledState_TransitionTime,10769,Variable -TripAlarmType_EnabledState_EffectiveTransitionTime,10770,Variable -TripAlarmType_EnabledState_TrueState,10771,Variable -TripAlarmType_EnabledState_FalseState,10772,Variable -TripAlarmType_Quality,10773,Variable -TripAlarmType_Quality_SourceTimestamp,10774,Variable -TripAlarmType_LastSeverity,10775,Variable -TripAlarmType_LastSeverity_SourceTimestamp,10776,Variable -TripAlarmType_Comment,10777,Variable -TripAlarmType_Comment_SourceTimestamp,10778,Variable -TripAlarmType_ClientUserId,10779,Variable -TripAlarmType_Enable,10780,Method -TripAlarmType_Disable,10781,Method -TripAlarmType_AddComment,10782,Method -TripAlarmType_AddComment_InputArguments,10783,Variable -TripAlarmType_ConditionRefresh,10784,Method -TripAlarmType_ConditionRefresh_InputArguments,10785,Variable -TripAlarmType_AckedState,10786,Variable -TripAlarmType_AckedState_Id,10787,Variable -TripAlarmType_AckedState_Name,10788,Variable -TripAlarmType_AckedState_Number,10789,Variable -TripAlarmType_AckedState_EffectiveDisplayName,10790,Variable -TripAlarmType_AckedState_TransitionTime,10791,Variable -TripAlarmType_AckedState_EffectiveTransitionTime,10792,Variable -TripAlarmType_AckedState_TrueState,10793,Variable -TripAlarmType_AckedState_FalseState,10794,Variable -TripAlarmType_ConfirmedState,10795,Variable -TripAlarmType_ConfirmedState_Id,10796,Variable -TripAlarmType_ConfirmedState_Name,10797,Variable -TripAlarmType_ConfirmedState_Number,10798,Variable -TripAlarmType_ConfirmedState_EffectiveDisplayName,10799,Variable -TripAlarmType_ConfirmedState_TransitionTime,10800,Variable -TripAlarmType_ConfirmedState_EffectiveTransitionTime,10801,Variable -TripAlarmType_ConfirmedState_TrueState,10802,Variable -TripAlarmType_ConfirmedState_FalseState,10803,Variable -TripAlarmType_Acknowledge,10804,Method -TripAlarmType_Acknowledge_InputArguments,10805,Variable -TripAlarmType_Confirm,10806,Method -TripAlarmType_Confirm_InputArguments,10807,Variable -TripAlarmType_ActiveState,10808,Variable -TripAlarmType_ActiveState_Id,10809,Variable -TripAlarmType_ActiveState_Name,10810,Variable -TripAlarmType_ActiveState_Number,10811,Variable -TripAlarmType_ActiveState_EffectiveDisplayName,10812,Variable -TripAlarmType_ActiveState_TransitionTime,10813,Variable -TripAlarmType_ActiveState_EffectiveTransitionTime,10814,Variable -TripAlarmType_ActiveState_TrueState,10815,Variable -TripAlarmType_ActiveState_FalseState,10816,Variable -TripAlarmType_SuppressedState,10817,Variable -TripAlarmType_SuppressedState_Id,10818,Variable -TripAlarmType_SuppressedState_Name,10819,Variable -TripAlarmType_SuppressedState_Number,10820,Variable -TripAlarmType_SuppressedState_EffectiveDisplayName,10821,Variable -TripAlarmType_SuppressedState_TransitionTime,10822,Variable -TripAlarmType_SuppressedState_EffectiveTransitionTime,10823,Variable -TripAlarmType_SuppressedState_TrueState,10824,Variable -TripAlarmType_SuppressedState_FalseState,10825,Variable -TripAlarmType_ShelvingState,10826,Object -TripAlarmType_ShelvingState_CurrentState,10827,Variable -TripAlarmType_ShelvingState_CurrentState_Id,10828,Variable -TripAlarmType_ShelvingState_CurrentState_Name,10829,Variable -TripAlarmType_ShelvingState_CurrentState_Number,10830,Variable -TripAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,10831,Variable -TripAlarmType_ShelvingState_LastTransition,10832,Variable -TripAlarmType_ShelvingState_LastTransition_Id,10833,Variable -TripAlarmType_ShelvingState_LastTransition_Name,10834,Variable -TripAlarmType_ShelvingState_LastTransition_Number,10835,Variable -TripAlarmType_ShelvingState_LastTransition_TransitionTime,10836,Variable -TripAlarmType_ShelvingState_UnshelveTime,10837,Variable -TripAlarmType_ShelvingState_Unshelve,10859,Method -TripAlarmType_ShelvingState_OneShotShelve,10860,Method -TripAlarmType_ShelvingState_TimedShelve,10861,Method -TripAlarmType_ShelvingState_TimedShelve_InputArguments,10862,Variable -TripAlarmType_SuppressedOrShelved,10863,Variable -TripAlarmType_MaxTimeShelved,10864,Variable -AuditConditionShelvingEventType,11093,ObjectType -AuditConditionShelvingEventType_EventId,11094,Variable -AuditConditionShelvingEventType_EventType,11095,Variable -AuditConditionShelvingEventType_SourceNode,11096,Variable -AuditConditionShelvingEventType_SourceName,11097,Variable -AuditConditionShelvingEventType_Time,11098,Variable -AuditConditionShelvingEventType_ReceiveTime,11099,Variable -AuditConditionShelvingEventType_LocalTime,11100,Variable -AuditConditionShelvingEventType_Message,11101,Variable -AuditConditionShelvingEventType_Severity,11102,Variable -AuditConditionShelvingEventType_ActionTimeStamp,11103,Variable -AuditConditionShelvingEventType_Status,11104,Variable -AuditConditionShelvingEventType_ServerId,11105,Variable -AuditConditionShelvingEventType_ClientAuditEntryId,11106,Variable -AuditConditionShelvingEventType_ClientUserId,11107,Variable -AuditConditionShelvingEventType_MethodId,11108,Variable -AuditConditionShelvingEventType_InputArguments,11109,Variable -TwoStateVariableType_TrueState,11110,Variable -TwoStateVariableType_FalseState,11111,Variable -ConditionType_ConditionClassId,11112,Variable -ConditionType_ConditionClassName,11113,Variable -DialogConditionType_ConditionClassId,11114,Variable -DialogConditionType_ConditionClassName,11115,Variable -AcknowledgeableConditionType_ConditionClassId,11116,Variable -AcknowledgeableConditionType_ConditionClassName,11117,Variable -AlarmConditionType_ConditionClassId,11118,Variable -AlarmConditionType_ConditionClassName,11119,Variable -AlarmConditionType_InputNode,11120,Variable -LimitAlarmType_ConditionClassId,11121,Variable -LimitAlarmType_ConditionClassName,11122,Variable -LimitAlarmType_InputNode,11123,Variable -LimitAlarmType_HighHighLimit,11124,Variable -LimitAlarmType_HighLimit,11125,Variable -LimitAlarmType_LowLimit,11126,Variable -LimitAlarmType_LowLowLimit,11127,Variable -ExclusiveLimitAlarmType_ConditionClassId,11128,Variable -ExclusiveLimitAlarmType_ConditionClassName,11129,Variable -ExclusiveLimitAlarmType_InputNode,11130,Variable -ExclusiveLevelAlarmType_ConditionClassId,11131,Variable -ExclusiveLevelAlarmType_ConditionClassName,11132,Variable -ExclusiveLevelAlarmType_InputNode,11133,Variable -ExclusiveRateOfChangeAlarmType_ConditionClassId,11134,Variable -ExclusiveRateOfChangeAlarmType_ConditionClassName,11135,Variable -ExclusiveRateOfChangeAlarmType_InputNode,11136,Variable -ExclusiveDeviationAlarmType_ConditionClassId,11137,Variable -ExclusiveDeviationAlarmType_ConditionClassName,11138,Variable -ExclusiveDeviationAlarmType_InputNode,11139,Variable -NonExclusiveLimitAlarmType_ConditionClassId,11140,Variable -NonExclusiveLimitAlarmType_ConditionClassName,11141,Variable -NonExclusiveLimitAlarmType_InputNode,11142,Variable -NonExclusiveLevelAlarmType_ConditionClassId,11143,Variable -NonExclusiveLevelAlarmType_ConditionClassName,11144,Variable -NonExclusiveLevelAlarmType_InputNode,11145,Variable -NonExclusiveRateOfChangeAlarmType_ConditionClassId,11146,Variable -NonExclusiveRateOfChangeAlarmType_ConditionClassName,11147,Variable -NonExclusiveRateOfChangeAlarmType_InputNode,11148,Variable -NonExclusiveDeviationAlarmType_ConditionClassId,11149,Variable -NonExclusiveDeviationAlarmType_ConditionClassName,11150,Variable -NonExclusiveDeviationAlarmType_InputNode,11151,Variable -DiscreteAlarmType_ConditionClassId,11152,Variable -DiscreteAlarmType_ConditionClassName,11153,Variable -DiscreteAlarmType_InputNode,11154,Variable -OffNormalAlarmType_ConditionClassId,11155,Variable -OffNormalAlarmType_ConditionClassName,11156,Variable -OffNormalAlarmType_InputNode,11157,Variable -OffNormalAlarmType_NormalState,11158,Variable -TripAlarmType_ConditionClassId,11159,Variable -TripAlarmType_ConditionClassName,11160,Variable -TripAlarmType_InputNode,11161,Variable -TripAlarmType_NormalState,11162,Variable -BaseConditionClassType,11163,ObjectType -ProcessConditionClassType,11164,ObjectType -MaintenanceConditionClassType,11165,ObjectType -SystemConditionClassType,11166,ObjectType -HistoricalDataConfigurationType_AggregateConfiguration_TreatUncertainAsBad,11168,Variable -HistoricalDataConfigurationType_AggregateConfiguration_PercentDataBad,11169,Variable -HistoricalDataConfigurationType_AggregateConfiguration_PercentDataGood,11170,Variable -HistoricalDataConfigurationType_AggregateConfiguration_UseSlopedExtrapolation,11171,Variable -HistoryServerCapabilitiesType_AggregateFunctions,11172,Object -AggregateConfigurationType,11187,ObjectType -AggregateConfigurationType_TreatUncertainAsBad,11188,Variable -AggregateConfigurationType_PercentDataBad,11189,Variable -AggregateConfigurationType_PercentDataGood,11190,Variable -AggregateConfigurationType_UseSlopedExtrapolation,11191,Variable -HistoryServerCapabilities,11192,Object -HistoryServerCapabilities_AccessHistoryDataCapability,11193,Variable -HistoryServerCapabilities_InsertDataCapability,11196,Variable -HistoryServerCapabilities_ReplaceDataCapability,11197,Variable -HistoryServerCapabilities_UpdateDataCapability,11198,Variable -HistoryServerCapabilities_DeleteRawCapability,11199,Variable -HistoryServerCapabilities_DeleteAtTimeCapability,11200,Variable -HistoryServerCapabilities_AggregateFunctions,11201,Object -HAConfiguration,11202,Object -HAConfiguration_AggregateConfiguration,11203,Object -HAConfiguration_AggregateConfiguration_TreatUncertainAsBad,11204,Variable -HAConfiguration_AggregateConfiguration_PercentDataBad,11205,Variable -HAConfiguration_AggregateConfiguration_PercentDataGood,11206,Variable -HAConfiguration_AggregateConfiguration_UseSlopedExtrapolation,11207,Variable -HAConfiguration_Stepped,11208,Variable -HAConfiguration_Definition,11209,Variable -HAConfiguration_MaxTimeInterval,11210,Variable -HAConfiguration_MinTimeInterval,11211,Variable -HAConfiguration_ExceptionDeviation,11212,Variable -HAConfiguration_ExceptionDeviationFormat,11213,Variable -Annotations,11214,Variable -HistoricalEventFilter,11215,Variable -ModificationInfo,11216,DataType -HistoryModifiedData,11217,DataType -ModificationInfo_Encoding_DefaultXml,11218,Object -HistoryModifiedData_Encoding_DefaultXml,11219,Object -ModificationInfo_Encoding_DefaultBinary,11226,Object -HistoryModifiedData_Encoding_DefaultBinary,11227,Object -HistoryUpdateType,11234,DataType -MultiStateValueDiscreteType,11238,VariableType -MultiStateValueDiscreteType_Definition,11239,Variable -MultiStateValueDiscreteType_ValuePrecision,11240,Variable -MultiStateValueDiscreteType_EnumValues,11241,Variable -HistoryServerCapabilities_AccessHistoryEventsCapability,11242,Variable -HistoryServerCapabilitiesType_MaxReturnDataValues,11268,Variable -HistoryServerCapabilitiesType_MaxReturnEventValues,11269,Variable -HistoryServerCapabilitiesType_InsertAnnotationCapability,11270,Variable -HistoryServerCapabilities_MaxReturnDataValues,11273,Variable -HistoryServerCapabilities_MaxReturnEventValues,11274,Variable -HistoryServerCapabilities_InsertAnnotationCapability,11275,Variable -HistoryServerCapabilitiesType_InsertEventCapability,11278,Variable -HistoryServerCapabilitiesType_ReplaceEventCapability,11279,Variable -HistoryServerCapabilitiesType_UpdateEventCapability,11280,Variable -HistoryServerCapabilities_InsertEventCapability,11281,Variable -HistoryServerCapabilities_ReplaceEventCapability,11282,Variable -HistoryServerCapabilities_UpdateEventCapability,11283,Variable -AggregateFunction_TimeAverage2,11285,Object -AggregateFunction_Minimum2,11286,Object -AggregateFunction_Maximum2,11287,Object -AggregateFunction_Range2,11288,Object -AggregateFunction_WorstQuality2,11292,Object -PerformUpdateType,11293,DataType -UpdateStructureDataDetails,11295,DataType -UpdateStructureDataDetails_Encoding_DefaultXml,11296,Object -UpdateStructureDataDetails_Encoding_DefaultBinary,11300,Object -AggregateFunction_Total2,11304,Object -AggregateFunction_MinimumActualTime2,11305,Object -AggregateFunction_MaximumActualTime2,11306,Object -AggregateFunction_DurationInStateZero,11307,Object -AggregateFunction_DurationInStateNonZero,11308,Object -Server_ServerRedundancy_CurrentServerId,11312,Variable -Server_ServerRedundancy_RedundantServerArray,11313,Variable -Server_ServerRedundancy_ServerUriArray,11314,Variable -ShelvedStateMachineType_UnshelvedToTimedShelved_TransitionNumber,11322,Variable -ShelvedStateMachineType_UnshelvedToOneShotShelved_TransitionNumber,11323,Variable -ShelvedStateMachineType_TimedShelvedToUnshelved_TransitionNumber,11324,Variable -ShelvedStateMachineType_TimedShelvedToOneShotShelved_TransitionNumber,11325,Variable -ShelvedStateMachineType_OneShotShelvedToUnshelved_TransitionNumber,11326,Variable -ShelvedStateMachineType_OneShotShelvedToTimedShelved_TransitionNumber,11327,Variable -ExclusiveLimitStateMachineType_LowLowToLow_TransitionNumber,11340,Variable -ExclusiveLimitStateMachineType_LowToLowLow_TransitionNumber,11341,Variable -ExclusiveLimitStateMachineType_HighHighToHigh_TransitionNumber,11342,Variable -ExclusiveLimitStateMachineType_HighToHighHigh_TransitionNumber,11343,Variable -AggregateFunction_StandardDeviationSample,11426,Object -AggregateFunction_StandardDeviationPopulation,11427,Object -AggregateFunction_VarianceSample,11428,Object -AggregateFunction_VariancePopulation,11429,Object -EnumStrings,11432,Variable -ValueAsText,11433,Variable -ProgressEventType,11436,ObjectType -ProgressEventType_EventId,11437,Variable -ProgressEventType_EventType,11438,Variable -ProgressEventType_SourceNode,11439,Variable -ProgressEventType_SourceName,11440,Variable -ProgressEventType_Time,11441,Variable -ProgressEventType_ReceiveTime,11442,Variable -ProgressEventType_LocalTime,11443,Variable -ProgressEventType_Message,11444,Variable -ProgressEventType_Severity,11445,Variable -SystemStatusChangeEventType,11446,ObjectType -SystemStatusChangeEventType_EventId,11447,Variable -SystemStatusChangeEventType_EventType,11448,Variable -SystemStatusChangeEventType_SourceNode,11449,Variable -SystemStatusChangeEventType_SourceName,11450,Variable -SystemStatusChangeEventType_Time,11451,Variable -SystemStatusChangeEventType_ReceiveTime,11452,Variable -SystemStatusChangeEventType_LocalTime,11453,Variable -SystemStatusChangeEventType_Message,11454,Variable -SystemStatusChangeEventType_Severity,11455,Variable -TransitionVariableType_EffectiveTransitionTime,11456,Variable -FiniteTransitionVariableType_EffectiveTransitionTime,11457,Variable -StateMachineType_LastTransition_EffectiveTransitionTime,11458,Variable -FiniteStateMachineType_LastTransition_EffectiveTransitionTime,11459,Variable -TransitionEventType_Transition_EffectiveTransitionTime,11460,Variable -MultiStateValueDiscreteType_ValueAsText,11461,Variable -ProgramTransitionEventType_Transition_EffectiveTransitionTime,11462,Variable -ProgramTransitionAuditEventType_Transition_EffectiveTransitionTime,11463,Variable -ProgramStateMachineType_LastTransition_EffectiveTransitionTime,11464,Variable -ShelvedStateMachineType_LastTransition_EffectiveTransitionTime,11465,Variable -AlarmConditionType_ShelvingState_LastTransition_EffectiveTransitionTime,11466,Variable -LimitAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11467,Variable -ExclusiveLimitStateMachineType_LastTransition_EffectiveTransitionTime,11468,Variable -ExclusiveLimitAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11469,Variable -ExclusiveLimitAlarmType_LimitState_LastTransition_EffectiveTransitionTime,11470,Variable -ExclusiveLevelAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11471,Variable -ExclusiveLevelAlarmType_LimitState_LastTransition_EffectiveTransitionTime,11472,Variable -ExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11473,Variable -ExclusiveRateOfChangeAlarmType_LimitState_LastTransition_EffectiveTransitionTime,11474,Variable -ExclusiveDeviationAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11475,Variable -ExclusiveDeviationAlarmType_LimitState_LastTransition_EffectiveTransitionTime,11476,Variable -NonExclusiveLimitAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11477,Variable -NonExclusiveLevelAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11478,Variable -NonExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11479,Variable -NonExclusiveDeviationAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11480,Variable -DiscreteAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11481,Variable -OffNormalAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11482,Variable -TripAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11483,Variable -AuditActivateSessionEventType_SecureChannelId,11485,Variable -OptionSetType,11487,VariableType -OptionSetType_OptionSetValues,11488,Variable -ServerType_GetMonitoredItems,11489,Method -ServerType_GetMonitoredItems_InputArguments,11490,Variable -ServerType_GetMonitoredItems_OutputArguments,11491,Variable -Server_GetMonitoredItems,11492,Method -Server_GetMonitoredItems_InputArguments,11493,Variable -Server_GetMonitoredItems_OutputArguments,11494,Variable -GetMonitoredItemsMethodType,11495,Method -GetMonitoredItemsMethodType_InputArguments,11496,Variable -GetMonitoredItemsMethodType_OutputArguments,11497,Variable -MaxStringLength,11498,Variable -HistoricalDataConfigurationType_StartOfArchive,11499,Variable -HistoricalDataConfigurationType_StartOfOnlineArchive,11500,Variable -HistoryServerCapabilitiesType_DeleteEventCapability,11501,Variable -HistoryServerCapabilities_DeleteEventCapability,11502,Variable -HAConfiguration_StartOfArchive,11503,Variable -HAConfiguration_StartOfOnlineArchive,11504,Variable -AggregateFunction_StartBound,11505,Object -AggregateFunction_EndBound,11506,Object -AggregateFunction_DeltaBounds,11507,Object -ModellingRule_OptionalPlaceholder,11508,Object -ModellingRule_OptionalPlaceholder_NamingRule,11509,Variable -ModellingRule_MandatoryPlaceholder,11510,Object -ModellingRule_MandatoryPlaceholder_NamingRule,11511,Variable -MaxArrayLength,11512,Variable -EngineeringUnits,11513,Variable -ServerType_ServerCapabilities_MaxArrayLength,11514,Variable -ServerType_ServerCapabilities_MaxStringLength,11515,Variable -ServerType_ServerCapabilities_OperationLimits,11516,Object -ServerType_ServerCapabilities_OperationLimits_MaxNodesPerRead,11517,Variable -ServerType_ServerCapabilities_OperationLimits_MaxNodesPerWrite,11519,Variable -ServerType_ServerCapabilities_OperationLimits_MaxNodesPerMethodCall,11521,Variable -ServerType_ServerCapabilities_OperationLimits_MaxNodesPerBrowse,11522,Variable -ServerType_ServerCapabilities_OperationLimits_MaxNodesPerRegisterNodes,11523,Variable -ServerType_ServerCapabilities_OperationLimits_MaxNodesPerTranslateBrowsePathsToNodeIds,11524,Variable -ServerType_ServerCapabilities_OperationLimits_MaxNodesPerNodeManagement,11525,Variable -ServerType_ServerCapabilities_OperationLimits_MaxMonitoredItemsPerCall,11526,Variable -ServerType_Namespaces,11527,Object -ServerType_Namespaces_AddressSpaceFile,11528,Object -ServerType_Namespaces_AddressSpaceFile_Size,11529,Variable -ServerType_Namespaces_AddressSpaceFile_OpenCount,11532,Variable -ServerType_Namespaces_AddressSpaceFile_Open,11533,Method -ServerType_Namespaces_AddressSpaceFile_Open_InputArguments,11534,Variable -ServerType_Namespaces_AddressSpaceFile_Open_OutputArguments,11535,Variable -ServerType_Namespaces_AddressSpaceFile_Close,11536,Method -ServerType_Namespaces_AddressSpaceFile_Close_InputArguments,11537,Variable -ServerType_Namespaces_AddressSpaceFile_Read,11538,Method -ServerType_Namespaces_AddressSpaceFile_Read_InputArguments,11539,Variable -ServerType_Namespaces_AddressSpaceFile_Read_OutputArguments,11540,Variable -ServerType_Namespaces_AddressSpaceFile_Write,11541,Method -ServerType_Namespaces_AddressSpaceFile_Write_InputArguments,11542,Variable -ServerType_Namespaces_AddressSpaceFile_GetPosition,11543,Method -ServerType_Namespaces_AddressSpaceFile_GetPosition_InputArguments,11544,Variable -ServerType_Namespaces_AddressSpaceFile_GetPosition_OutputArguments,11545,Variable -ServerType_Namespaces_AddressSpaceFile_SetPosition,11546,Method -ServerType_Namespaces_AddressSpaceFile_SetPosition_InputArguments,11547,Variable -ServerType_Namespaces_AddressSpaceFile_ExportNamespace,11548,Method -ServerCapabilitiesType_MaxArrayLength,11549,Variable -ServerCapabilitiesType_MaxStringLength,11550,Variable -ServerCapabilitiesType_OperationLimits,11551,Object -ServerCapabilitiesType_OperationLimits_MaxNodesPerRead,11552,Variable -ServerCapabilitiesType_OperationLimits_MaxNodesPerWrite,11554,Variable -ServerCapabilitiesType_OperationLimits_MaxNodesPerMethodCall,11556,Variable -ServerCapabilitiesType_OperationLimits_MaxNodesPerBrowse,11557,Variable -ServerCapabilitiesType_OperationLimits_MaxNodesPerRegisterNodes,11558,Variable -ServerCapabilitiesType_OperationLimits_MaxNodesPerTranslateBrowsePathsToNodeIds,11559,Variable -ServerCapabilitiesType_OperationLimits_MaxNodesPerNodeManagement,11560,Variable -ServerCapabilitiesType_OperationLimits_MaxMonitoredItemsPerCall,11561,Variable -ServerCapabilitiesType_VendorCapability,11562,Variable -OperationLimitsType,11564,ObjectType -OperationLimitsType_MaxNodesPerRead,11565,Variable -OperationLimitsType_MaxNodesPerWrite,11567,Variable -OperationLimitsType_MaxNodesPerMethodCall,11569,Variable -OperationLimitsType_MaxNodesPerBrowse,11570,Variable -OperationLimitsType_MaxNodesPerRegisterNodes,11571,Variable -OperationLimitsType_MaxNodesPerTranslateBrowsePathsToNodeIds,11572,Variable -OperationLimitsType_MaxNodesPerNodeManagement,11573,Variable -OperationLimitsType_MaxMonitoredItemsPerCall,11574,Variable -FileType,11575,ObjectType -FileType_Size,11576,Variable -FileType_OpenCount,11579,Variable -FileType_Open,11580,Method -FileType_Open_InputArguments,11581,Variable -FileType_Open_OutputArguments,11582,Variable -FileType_Close,11583,Method -FileType_Close_InputArguments,11584,Variable -FileType_Read,11585,Method -FileType_Read_InputArguments,11586,Variable -FileType_Read_OutputArguments,11587,Variable -FileType_Write,11588,Method -FileType_Write_InputArguments,11589,Variable -FileType_GetPosition,11590,Method -FileType_GetPosition_InputArguments,11591,Variable -FileType_GetPosition_OutputArguments,11592,Variable -FileType_SetPosition,11593,Method -FileType_SetPosition_InputArguments,11594,Variable -AddressSpaceFileType,11595,ObjectType -AddressSpaceFileType_Size,11596,Variable -AddressSpaceFileType_OpenCount,11599,Variable -AddressSpaceFileType_Open,11600,Method -AddressSpaceFileType_Open_InputArguments,11601,Variable -AddressSpaceFileType_Open_OutputArguments,11602,Variable -AddressSpaceFileType_Close,11603,Method -AddressSpaceFileType_Close_InputArguments,11604,Variable -AddressSpaceFileType_Read,11605,Method -AddressSpaceFileType_Read_InputArguments,11606,Variable -AddressSpaceFileType_Read_OutputArguments,11607,Variable -AddressSpaceFileType_Write,11608,Method -AddressSpaceFileType_Write_InputArguments,11609,Variable -AddressSpaceFileType_GetPosition,11610,Method -AddressSpaceFileType_GetPosition_InputArguments,11611,Variable -AddressSpaceFileType_GetPosition_OutputArguments,11612,Variable -AddressSpaceFileType_SetPosition,11613,Method -AddressSpaceFileType_SetPosition_InputArguments,11614,Variable -AddressSpaceFileType_ExportNamespace,11615,Method -NamespaceMetadataType,11616,ObjectType -NamespaceMetadataType_NamespaceUri,11617,Variable -NamespaceMetadataType_NamespaceVersion,11618,Variable -NamespaceMetadataType_NamespacePublicationDate,11619,Variable -NamespaceMetadataType_IsNamespaceSubset,11620,Variable -NamespaceMetadataType_StaticNodeIdIdentifierTypes,11621,Variable -NamespaceMetadataType_StaticNumericNodeIdRange,11622,Variable -NamespaceMetadataType_StaticStringNodeIdPattern,11623,Variable -NamespaceMetadataType_NamespaceFile,11624,Object -NamespaceMetadataType_NamespaceFile_Size,11625,Variable -NamespaceMetadataType_NamespaceFile_OpenCount,11628,Variable -NamespaceMetadataType_NamespaceFile_Open,11629,Method -NamespaceMetadataType_NamespaceFile_Open_InputArguments,11630,Variable -NamespaceMetadataType_NamespaceFile_Open_OutputArguments,11631,Variable -NamespaceMetadataType_NamespaceFile_Close,11632,Method -NamespaceMetadataType_NamespaceFile_Close_InputArguments,11633,Variable -NamespaceMetadataType_NamespaceFile_Read,11634,Method -NamespaceMetadataType_NamespaceFile_Read_InputArguments,11635,Variable -NamespaceMetadataType_NamespaceFile_Read_OutputArguments,11636,Variable -NamespaceMetadataType_NamespaceFile_Write,11637,Method -NamespaceMetadataType_NamespaceFile_Write_InputArguments,11638,Variable -NamespaceMetadataType_NamespaceFile_GetPosition,11639,Method -NamespaceMetadataType_NamespaceFile_GetPosition_InputArguments,11640,Variable -NamespaceMetadataType_NamespaceFile_GetPosition_OutputArguments,11641,Variable -NamespaceMetadataType_NamespaceFile_SetPosition,11642,Method -NamespaceMetadataType_NamespaceFile_SetPosition_InputArguments,11643,Variable -NamespaceMetadataType_NamespaceFile_ExportNamespace,11644,Method -NamespacesType,11645,ObjectType -NamespacesType_NamespaceIdentifier,11646,Object -NamespacesType_NamespaceIdentifier_NamespaceUri,11647,Variable -NamespacesType_NamespaceIdentifier_NamespaceVersion,11648,Variable -NamespacesType_NamespaceIdentifier_NamespacePublicationDate,11649,Variable -NamespacesType_NamespaceIdentifier_IsNamespaceSubset,11650,Variable -NamespacesType_NamespaceIdentifier_StaticNodeIdIdentifierTypes,11651,Variable -NamespacesType_NamespaceIdentifier_StaticNumericNodeIdRange,11652,Variable -NamespacesType_NamespaceIdentifier_StaticStringNodeIdPattern,11653,Variable -NamespacesType_NamespaceIdentifier_NamespaceFile,11654,Object -NamespacesType_NamespaceIdentifier_NamespaceFile_Size,11655,Variable -NamespacesType_NamespaceIdentifier_NamespaceFile_OpenCount,11658,Variable -NamespacesType_NamespaceIdentifier_NamespaceFile_Open,11659,Method -NamespacesType_NamespaceIdentifier_NamespaceFile_Open_InputArguments,11660,Variable -NamespacesType_NamespaceIdentifier_NamespaceFile_Open_OutputArguments,11661,Variable -NamespacesType_NamespaceIdentifier_NamespaceFile_Close,11662,Method -NamespacesType_NamespaceIdentifier_NamespaceFile_Close_InputArguments,11663,Variable -NamespacesType_NamespaceIdentifier_NamespaceFile_Read,11664,Method -NamespacesType_NamespaceIdentifier_NamespaceFile_Read_InputArguments,11665,Variable -NamespacesType_NamespaceIdentifier_NamespaceFile_Read_OutputArguments,11666,Variable -NamespacesType_NamespaceIdentifier_NamespaceFile_Write,11667,Method -NamespacesType_NamespaceIdentifier_NamespaceFile_Write_InputArguments,11668,Variable -NamespacesType_NamespaceIdentifier_NamespaceFile_GetPosition,11669,Method -NamespacesType_NamespaceIdentifier_NamespaceFile_GetPosition_InputArguments,11670,Variable -NamespacesType_NamespaceIdentifier_NamespaceFile_GetPosition_OutputArguments,11671,Variable -NamespacesType_NamespaceIdentifier_NamespaceFile_SetPosition,11672,Method -NamespacesType_NamespaceIdentifier_NamespaceFile_SetPosition_InputArguments,11673,Variable -NamespacesType_NamespaceIdentifier_NamespaceFile_ExportNamespace,11674,Method -NamespacesType_AddressSpaceFile,11675,Object -NamespacesType_AddressSpaceFile_Size,11676,Variable -NamespacesType_AddressSpaceFile_OpenCount,11679,Variable -NamespacesType_AddressSpaceFile_Open,11680,Method -NamespacesType_AddressSpaceFile_Open_InputArguments,11681,Variable -NamespacesType_AddressSpaceFile_Open_OutputArguments,11682,Variable -NamespacesType_AddressSpaceFile_Close,11683,Method -NamespacesType_AddressSpaceFile_Close_InputArguments,11684,Variable -NamespacesType_AddressSpaceFile_Read,11685,Method -NamespacesType_AddressSpaceFile_Read_InputArguments,11686,Variable -NamespacesType_AddressSpaceFile_Read_OutputArguments,11687,Variable -NamespacesType_AddressSpaceFile_Write,11688,Method -NamespacesType_AddressSpaceFile_Write_InputArguments,11689,Variable -NamespacesType_AddressSpaceFile_GetPosition,11690,Method -NamespacesType_AddressSpaceFile_GetPosition_InputArguments,11691,Variable -NamespacesType_AddressSpaceFile_GetPosition_OutputArguments,11692,Variable -NamespacesType_AddressSpaceFile_SetPosition,11693,Method -NamespacesType_AddressSpaceFile_SetPosition_InputArguments,11694,Variable -NamespacesType_AddressSpaceFile_ExportNamespace,11695,Method -SystemStatusChangeEventType_SystemState,11696,Variable -SamplingIntervalDiagnosticsType_SampledMonitoredItemsCount,11697,Variable -SamplingIntervalDiagnosticsType_MaxSampledMonitoredItemsCount,11698,Variable -SamplingIntervalDiagnosticsType_DisabledMonitoredItemsSamplingCount,11699,Variable -OptionSetType_BitMask,11701,Variable -Server_ServerCapabilities_MaxArrayLength,11702,Variable -Server_ServerCapabilities_MaxStringLength,11703,Variable -Server_ServerCapabilities_OperationLimits,11704,Object -Server_ServerCapabilities_OperationLimits_MaxNodesPerRead,11705,Variable -Server_ServerCapabilities_OperationLimits_MaxNodesPerWrite,11707,Variable -Server_ServerCapabilities_OperationLimits_MaxNodesPerMethodCall,11709,Variable -Server_ServerCapabilities_OperationLimits_MaxNodesPerBrowse,11710,Variable -Server_ServerCapabilities_OperationLimits_MaxNodesPerRegisterNodes,11711,Variable -Server_ServerCapabilities_OperationLimits_MaxNodesPerTranslateBrowsePathsToNodeIds,11712,Variable -Server_ServerCapabilities_OperationLimits_MaxNodesPerNodeManagement,11713,Variable -Server_ServerCapabilities_OperationLimits_MaxMonitoredItemsPerCall,11714,Variable -Server_Namespaces,11715,Object -Server_Namespaces_AddressSpaceFile,11716,Object -Server_Namespaces_AddressSpaceFile_Size,11717,Variable -Server_Namespaces_AddressSpaceFile_OpenCount,11720,Variable -Server_Namespaces_AddressSpaceFile_Open,11721,Method -Server_Namespaces_AddressSpaceFile_Open_InputArguments,11722,Variable -Server_Namespaces_AddressSpaceFile_Open_OutputArguments,11723,Variable -Server_Namespaces_AddressSpaceFile_Close,11724,Method -Server_Namespaces_AddressSpaceFile_Close_InputArguments,11725,Variable -Server_Namespaces_AddressSpaceFile_Read,11726,Method -Server_Namespaces_AddressSpaceFile_Read_InputArguments,11727,Variable -Server_Namespaces_AddressSpaceFile_Read_OutputArguments,11728,Variable -Server_Namespaces_AddressSpaceFile_Write,11729,Method -Server_Namespaces_AddressSpaceFile_Write_InputArguments,11730,Variable -Server_Namespaces_AddressSpaceFile_GetPosition,11731,Method -Server_Namespaces_AddressSpaceFile_GetPosition_InputArguments,11732,Variable -Server_Namespaces_AddressSpaceFile_GetPosition_OutputArguments,11733,Variable -Server_Namespaces_AddressSpaceFile_SetPosition,11734,Method -Server_Namespaces_AddressSpaceFile_SetPosition_InputArguments,11735,Variable -Server_Namespaces_AddressSpaceFile_ExportNamespace,11736,Method -BitFieldMaskDataType,11737,DataType -OpenMethodType,11738,Method -OpenMethodType_InputArguments,11739,Variable -OpenMethodType_OutputArguments,11740,Variable -CloseMethodType,11741,Method -CloseMethodType_InputArguments,11742,Variable -ReadMethodType,11743,Method -ReadMethodType_InputArguments,11744,Variable -ReadMethodType_OutputArguments,11745,Variable -WriteMethodType,11746,Method -WriteMethodType_InputArguments,11747,Variable -GetPositionMethodType,11748,Method -GetPositionMethodType_InputArguments,11749,Variable -GetPositionMethodType_OutputArguments,11750,Variable -SetPositionMethodType,11751,Method -SetPositionMethodType_InputArguments,11752,Variable -SystemOffNormalAlarmType,11753,ObjectType -SystemOffNormalAlarmType_EventId,11754,Variable -SystemOffNormalAlarmType_EventType,11755,Variable -SystemOffNormalAlarmType_SourceNode,11756,Variable -SystemOffNormalAlarmType_SourceName,11757,Variable -SystemOffNormalAlarmType_Time,11758,Variable -SystemOffNormalAlarmType_ReceiveTime,11759,Variable -SystemOffNormalAlarmType_LocalTime,11760,Variable -SystemOffNormalAlarmType_Message,11761,Variable -SystemOffNormalAlarmType_Severity,11762,Variable -SystemOffNormalAlarmType_ConditionClassId,11763,Variable -SystemOffNormalAlarmType_ConditionClassName,11764,Variable -SystemOffNormalAlarmType_ConditionName,11765,Variable -SystemOffNormalAlarmType_BranchId,11766,Variable -SystemOffNormalAlarmType_Retain,11767,Variable -SystemOffNormalAlarmType_EnabledState,11768,Variable -SystemOffNormalAlarmType_EnabledState_Id,11769,Variable -SystemOffNormalAlarmType_EnabledState_Name,11770,Variable -SystemOffNormalAlarmType_EnabledState_Number,11771,Variable -SystemOffNormalAlarmType_EnabledState_EffectiveDisplayName,11772,Variable -SystemOffNormalAlarmType_EnabledState_TransitionTime,11773,Variable -SystemOffNormalAlarmType_EnabledState_EffectiveTransitionTime,11774,Variable -SystemOffNormalAlarmType_EnabledState_TrueState,11775,Variable -SystemOffNormalAlarmType_EnabledState_FalseState,11776,Variable -SystemOffNormalAlarmType_Quality,11777,Variable -SystemOffNormalAlarmType_Quality_SourceTimestamp,11778,Variable -SystemOffNormalAlarmType_LastSeverity,11779,Variable -SystemOffNormalAlarmType_LastSeverity_SourceTimestamp,11780,Variable -SystemOffNormalAlarmType_Comment,11781,Variable -SystemOffNormalAlarmType_Comment_SourceTimestamp,11782,Variable -SystemOffNormalAlarmType_ClientUserId,11783,Variable -SystemOffNormalAlarmType_Disable,11784,Method -SystemOffNormalAlarmType_Enable,11785,Method -SystemOffNormalAlarmType_AddComment,11786,Method -SystemOffNormalAlarmType_AddComment_InputArguments,11787,Variable -SystemOffNormalAlarmType_ConditionRefresh,11788,Method -SystemOffNormalAlarmType_ConditionRefresh_InputArguments,11789,Variable -SystemOffNormalAlarmType_AckedState,11790,Variable -SystemOffNormalAlarmType_AckedState_Id,11791,Variable -SystemOffNormalAlarmType_AckedState_Name,11792,Variable -SystemOffNormalAlarmType_AckedState_Number,11793,Variable -SystemOffNormalAlarmType_AckedState_EffectiveDisplayName,11794,Variable -SystemOffNormalAlarmType_AckedState_TransitionTime,11795,Variable -SystemOffNormalAlarmType_AckedState_EffectiveTransitionTime,11796,Variable -SystemOffNormalAlarmType_AckedState_TrueState,11797,Variable -SystemOffNormalAlarmType_AckedState_FalseState,11798,Variable -SystemOffNormalAlarmType_ConfirmedState,11799,Variable -SystemOffNormalAlarmType_ConfirmedState_Id,11800,Variable -SystemOffNormalAlarmType_ConfirmedState_Name,11801,Variable -SystemOffNormalAlarmType_ConfirmedState_Number,11802,Variable -SystemOffNormalAlarmType_ConfirmedState_EffectiveDisplayName,11803,Variable -SystemOffNormalAlarmType_ConfirmedState_TransitionTime,11804,Variable -SystemOffNormalAlarmType_ConfirmedState_EffectiveTransitionTime,11805,Variable -SystemOffNormalAlarmType_ConfirmedState_TrueState,11806,Variable -SystemOffNormalAlarmType_ConfirmedState_FalseState,11807,Variable -SystemOffNormalAlarmType_Acknowledge,11808,Method -SystemOffNormalAlarmType_Acknowledge_InputArguments,11809,Variable -SystemOffNormalAlarmType_Confirm,11810,Method -SystemOffNormalAlarmType_Confirm_InputArguments,11811,Variable -SystemOffNormalAlarmType_ActiveState,11812,Variable -SystemOffNormalAlarmType_ActiveState_Id,11813,Variable -SystemOffNormalAlarmType_ActiveState_Name,11814,Variable -SystemOffNormalAlarmType_ActiveState_Number,11815,Variable -SystemOffNormalAlarmType_ActiveState_EffectiveDisplayName,11816,Variable -SystemOffNormalAlarmType_ActiveState_TransitionTime,11817,Variable -SystemOffNormalAlarmType_ActiveState_EffectiveTransitionTime,11818,Variable -SystemOffNormalAlarmType_ActiveState_TrueState,11819,Variable -SystemOffNormalAlarmType_ActiveState_FalseState,11820,Variable -SystemOffNormalAlarmType_InputNode,11821,Variable -SystemOffNormalAlarmType_SuppressedState,11822,Variable -SystemOffNormalAlarmType_SuppressedState_Id,11823,Variable -SystemOffNormalAlarmType_SuppressedState_Name,11824,Variable -SystemOffNormalAlarmType_SuppressedState_Number,11825,Variable -SystemOffNormalAlarmType_SuppressedState_EffectiveDisplayName,11826,Variable -SystemOffNormalAlarmType_SuppressedState_TransitionTime,11827,Variable -SystemOffNormalAlarmType_SuppressedState_EffectiveTransitionTime,11828,Variable -SystemOffNormalAlarmType_SuppressedState_TrueState,11829,Variable -SystemOffNormalAlarmType_SuppressedState_FalseState,11830,Variable -SystemOffNormalAlarmType_ShelvingState,11831,Object -SystemOffNormalAlarmType_ShelvingState_CurrentState,11832,Variable -SystemOffNormalAlarmType_ShelvingState_CurrentState_Id,11833,Variable -SystemOffNormalAlarmType_ShelvingState_CurrentState_Name,11834,Variable -SystemOffNormalAlarmType_ShelvingState_CurrentState_Number,11835,Variable -SystemOffNormalAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,11836,Variable -SystemOffNormalAlarmType_ShelvingState_LastTransition,11837,Variable -SystemOffNormalAlarmType_ShelvingState_LastTransition_Id,11838,Variable -SystemOffNormalAlarmType_ShelvingState_LastTransition_Name,11839,Variable -SystemOffNormalAlarmType_ShelvingState_LastTransition_Number,11840,Variable -SystemOffNormalAlarmType_ShelvingState_LastTransition_TransitionTime,11841,Variable -SystemOffNormalAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11842,Variable -SystemOffNormalAlarmType_ShelvingState_UnshelveTime,11843,Variable -SystemOffNormalAlarmType_ShelvingState_Unshelve,11844,Method -SystemOffNormalAlarmType_ShelvingState_OneShotShelve,11845,Method -SystemOffNormalAlarmType_ShelvingState_TimedShelve,11846,Method -SystemOffNormalAlarmType_ShelvingState_TimedShelve_InputArguments,11847,Variable -SystemOffNormalAlarmType_SuppressedOrShelved,11848,Variable -SystemOffNormalAlarmType_MaxTimeShelved,11849,Variable -SystemOffNormalAlarmType_NormalState,11850,Variable -AuditConditionCommentEventType_Comment,11851,Variable -AuditConditionRespondEventType_SelectedResponse,11852,Variable -AuditConditionAcknowledgeEventType_Comment,11853,Variable -AuditConditionConfirmEventType_Comment,11854,Variable -AuditConditionShelvingEventType_ShelvingTime,11855,Variable -AuditProgramTransitionEventType,11856,ObjectType -AuditProgramTransitionEventType_EventId,11857,Variable -AuditProgramTransitionEventType_EventType,11858,Variable -AuditProgramTransitionEventType_SourceNode,11859,Variable -AuditProgramTransitionEventType_SourceName,11860,Variable -AuditProgramTransitionEventType_Time,11861,Variable -AuditProgramTransitionEventType_ReceiveTime,11862,Variable -AuditProgramTransitionEventType_LocalTime,11863,Variable -AuditProgramTransitionEventType_Message,11864,Variable -AuditProgramTransitionEventType_Severity,11865,Variable -AuditProgramTransitionEventType_ActionTimeStamp,11866,Variable -AuditProgramTransitionEventType_Status,11867,Variable -AuditProgramTransitionEventType_ServerId,11868,Variable -AuditProgramTransitionEventType_ClientAuditEntryId,11869,Variable -AuditProgramTransitionEventType_ClientUserId,11870,Variable -AuditProgramTransitionEventType_MethodId,11871,Variable -AuditProgramTransitionEventType_InputArguments,11872,Variable -AuditProgramTransitionEventType_OldStateId,11873,Variable -AuditProgramTransitionEventType_NewStateId,11874,Variable -AuditProgramTransitionEventType_TransitionNumber,11875,Variable -HistoricalDataConfigurationType_AggregateFunctions,11876,Object -HAConfiguration_AggregateFunctions,11877,Object -NodeClass_EnumValues,11878,Variable -InstanceNode,11879,DataType -TypeNode,11880,DataType -NodeAttributesMask_EnumValues,11881,Variable -AttributeWriteMask_EnumValues,11882,Variable -BrowseResultMask_EnumValues,11883,Variable -HistoryUpdateType_EnumValues,11884,Variable -PerformUpdateType_EnumValues,11885,Variable -EnumeratedTestType_EnumValues,11886,Variable -InstanceNode_Encoding_DefaultXml,11887,Object -TypeNode_Encoding_DefaultXml,11888,Object -InstanceNode_Encoding_DefaultBinary,11889,Object -TypeNode_Encoding_DefaultBinary,11890,Object -SessionDiagnosticsObjectType_SessionDiagnostics_UnauthorizedRequestCount,11891,Variable -SessionDiagnosticsVariableType_UnauthorizedRequestCount,11892,Variable -OpenFileMode,11939,DataType -OpenFileMode_EnumValues,11940,Variable -ModelChangeStructureVerbMask,11941,DataType -ModelChangeStructureVerbMask_EnumValues,11942,Variable -EndpointUrlListDataType,11943,DataType -NetworkGroupDataType,11944,DataType -NonTransparentNetworkRedundancyType,11945,ObjectType -NonTransparentNetworkRedundancyType_RedundancySupport,11946,Variable -NonTransparentNetworkRedundancyType_ServerUriArray,11947,Variable -NonTransparentNetworkRedundancyType_ServerNetworkGroups,11948,Variable -EndpointUrlListDataType_Encoding_DefaultXml,11949,Object -NetworkGroupDataType_Encoding_DefaultXml,11950,Object -OpcUa_XmlSchema_EndpointUrlListDataType,11951,Variable -OpcUa_XmlSchema_EndpointUrlListDataType_DataTypeVersion,11952,Variable -OpcUa_XmlSchema_EndpointUrlListDataType_DictionaryFragment,11953,Variable -OpcUa_XmlSchema_NetworkGroupDataType,11954,Variable -OpcUa_XmlSchema_NetworkGroupDataType_DataTypeVersion,11955,Variable -OpcUa_XmlSchema_NetworkGroupDataType_DictionaryFragment,11956,Variable -EndpointUrlListDataType_Encoding_DefaultBinary,11957,Object -NetworkGroupDataType_Encoding_DefaultBinary,11958,Object -OpcUa_BinarySchema_EndpointUrlListDataType,11959,Variable -OpcUa_BinarySchema_EndpointUrlListDataType_DataTypeVersion,11960,Variable -OpcUa_BinarySchema_EndpointUrlListDataType_DictionaryFragment,11961,Variable -OpcUa_BinarySchema_NetworkGroupDataType,11962,Variable -OpcUa_BinarySchema_NetworkGroupDataType_DataTypeVersion,11963,Variable -OpcUa_BinarySchema_NetworkGroupDataType_DictionaryFragment,11964,Variable -ArrayItemType,12021,VariableType -ArrayItemType_Definition,12022,Variable -ArrayItemType_ValuePrecision,12023,Variable -ArrayItemType_InstrumentRange,12024,Variable -ArrayItemType_EURange,12025,Variable -ArrayItemType_EngineeringUnits,12026,Variable -ArrayItemType_Title,12027,Variable -ArrayItemType_AxisScaleType,12028,Variable -YArrayItemType,12029,VariableType -YArrayItemType_Definition,12030,Variable -YArrayItemType_ValuePrecision,12031,Variable -YArrayItemType_InstrumentRange,12032,Variable -YArrayItemType_EURange,12033,Variable -YArrayItemType_EngineeringUnits,12034,Variable -YArrayItemType_Title,12035,Variable -YArrayItemType_AxisScaleType,12036,Variable -YArrayItemType_XAxisDefinition,12037,Variable -XYArrayItemType,12038,VariableType -XYArrayItemType_Definition,12039,Variable -XYArrayItemType_ValuePrecision,12040,Variable -XYArrayItemType_InstrumentRange,12041,Variable -XYArrayItemType_EURange,12042,Variable -XYArrayItemType_EngineeringUnits,12043,Variable -XYArrayItemType_Title,12044,Variable -XYArrayItemType_AxisScaleType,12045,Variable -XYArrayItemType_XAxisDefinition,12046,Variable -ImageItemType,12047,VariableType -ImageItemType_Definition,12048,Variable -ImageItemType_ValuePrecision,12049,Variable -ImageItemType_InstrumentRange,12050,Variable -ImageItemType_EURange,12051,Variable -ImageItemType_EngineeringUnits,12052,Variable -ImageItemType_Title,12053,Variable -ImageItemType_AxisScaleType,12054,Variable -ImageItemType_XAxisDefinition,12055,Variable -ImageItemType_YAxisDefinition,12056,Variable -CubeItemType,12057,VariableType -CubeItemType_Definition,12058,Variable -CubeItemType_ValuePrecision,12059,Variable -CubeItemType_InstrumentRange,12060,Variable -CubeItemType_EURange,12061,Variable -CubeItemType_EngineeringUnits,12062,Variable -CubeItemType_Title,12063,Variable -CubeItemType_AxisScaleType,12064,Variable -CubeItemType_XAxisDefinition,12065,Variable -CubeItemType_YAxisDefinition,12066,Variable -CubeItemType_ZAxisDefinition,12067,Variable -NDimensionArrayItemType,12068,VariableType -NDimensionArrayItemType_Definition,12069,Variable -NDimensionArrayItemType_ValuePrecision,12070,Variable -NDimensionArrayItemType_InstrumentRange,12071,Variable -NDimensionArrayItemType_EURange,12072,Variable -NDimensionArrayItemType_EngineeringUnits,12073,Variable -NDimensionArrayItemType_Title,12074,Variable -NDimensionArrayItemType_AxisScaleType,12075,Variable -NDimensionArrayItemType_AxisDefinition,12076,Variable -AxisScaleEnumeration,12077,DataType -AxisScaleEnumeration_EnumStrings,12078,Variable -AxisInformation,12079,DataType -XVType,12080,DataType -AxisInformation_Encoding_DefaultXml,12081,Object -XVType_Encoding_DefaultXml,12082,Object -OpcUa_XmlSchema_AxisInformation,12083,Variable -OpcUa_XmlSchema_AxisInformation_DataTypeVersion,12084,Variable -OpcUa_XmlSchema_AxisInformation_DictionaryFragment,12085,Variable -OpcUa_XmlSchema_XVType,12086,Variable -OpcUa_XmlSchema_XVType_DataTypeVersion,12087,Variable -OpcUa_XmlSchema_XVType_DictionaryFragment,12088,Variable -AxisInformation_Encoding_DefaultBinary,12089,Object -XVType_Encoding_DefaultBinary,12090,Object -OpcUa_BinarySchema_AxisInformation,12091,Variable -OpcUa_BinarySchema_AxisInformation_DataTypeVersion,12092,Variable -OpcUa_BinarySchema_AxisInformation_DictionaryFragment,12093,Variable -OpcUa_BinarySchema_XVType,12094,Variable -OpcUa_BinarySchema_XVType_DataTypeVersion,12095,Variable -OpcUa_BinarySchema_XVType_DictionaryFragment,12096,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder,12097,Object -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics,12098,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SessionId,12099,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SessionName,12100,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ClientDescription,12101,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ServerUri,12102,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_EndpointUrl,12103,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_LocaleIds,12104,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ActualSessionTimeout,12105,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_MaxResponseMessageSize,12106,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ClientConnectionTime,12107,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ClientLastContactTime,12108,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CurrentSubscriptionsCount,12109,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CurrentMonitoredItemsCount,12110,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CurrentPublishRequestsInQueue,12111,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_TotalRequestCount,12112,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_UnauthorizedRequestCount,12113,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ReadCount,12114,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_HistoryReadCount,12115,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_WriteCount,12116,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_HistoryUpdateCount,12117,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CallCount,12118,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CreateMonitoredItemsCount,12119,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ModifyMonitoredItemsCount,12120,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SetMonitoringModeCount,12121,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SetTriggeringCount,12122,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_DeleteMonitoredItemsCount,12123,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CreateSubscriptionCount,12124,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ModifySubscriptionCount,12125,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SetPublishingModeCount,12126,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_PublishCount,12127,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_RepublishCount,12128,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_TransferSubscriptionsCount,12129,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_DeleteSubscriptionsCount,12130,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_AddNodesCount,12131,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_AddReferencesCount,12132,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_DeleteNodesCount,12133,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_DeleteReferencesCount,12134,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_BrowseCount,12135,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_BrowseNextCount,12136,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_TranslateBrowsePathsToNodeIdsCount,12137,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_QueryFirstCount,12138,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_QueryNextCount,12139,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_RegisterNodesCount,12140,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_UnregisterNodesCount,12141,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics,12142,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_SessionId,12143,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_ClientUserIdOfSession,12144,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_ClientUserIdHistory,12145,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_AuthenticationMechanism,12146,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_Encoding,12147,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_TransportProtocol,12148,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_SecurityMode,12149,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_SecurityPolicyUri,12150,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_ClientCertificate,12151,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SubscriptionDiagnosticsArray,12152,Variable -ServerType_ServerCapabilities_OperationLimits_MaxNodesPerHistoryReadData,12153,Variable -ServerType_ServerCapabilities_OperationLimits_MaxNodesPerHistoryReadEvents,12154,Variable -ServerType_ServerCapabilities_OperationLimits_MaxNodesPerHistoryUpdateData,12155,Variable -ServerType_ServerCapabilities_OperationLimits_MaxNodesPerHistoryUpdateEvents,12156,Variable -ServerCapabilitiesType_OperationLimits_MaxNodesPerHistoryReadData,12157,Variable -ServerCapabilitiesType_OperationLimits_MaxNodesPerHistoryReadEvents,12158,Variable -ServerCapabilitiesType_OperationLimits_MaxNodesPerHistoryUpdateData,12159,Variable -ServerCapabilitiesType_OperationLimits_MaxNodesPerHistoryUpdateEvents,12160,Variable -OperationLimitsType_MaxNodesPerHistoryReadData,12161,Variable -OperationLimitsType_MaxNodesPerHistoryReadEvents,12162,Variable -OperationLimitsType_MaxNodesPerHistoryUpdateData,12163,Variable -OperationLimitsType_MaxNodesPerHistoryUpdateEvents,12164,Variable -Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryReadData,12165,Variable -Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryReadEvents,12166,Variable -Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryUpdateData,12167,Variable -Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryUpdateEvents,12168,Variable -NamingRuleType_EnumValues,12169,Variable -ViewVersion,12170,Variable -ComplexNumberType,12171,DataType -DoubleComplexNumberType,12172,DataType -ComplexNumberType_Encoding_DefaultXml,12173,Object -DoubleComplexNumberType_Encoding_DefaultXml,12174,Object -OpcUa_XmlSchema_ComplexNumberType,12175,Variable -OpcUa_XmlSchema_ComplexNumberType_DataTypeVersion,12176,Variable -OpcUa_XmlSchema_ComplexNumberType_DictionaryFragment,12177,Variable -OpcUa_XmlSchema_DoubleComplexNumberType,12178,Variable -OpcUa_XmlSchema_DoubleComplexNumberType_DataTypeVersion,12179,Variable -OpcUa_XmlSchema_DoubleComplexNumberType_DictionaryFragment,12180,Variable -ComplexNumberType_Encoding_DefaultBinary,12181,Object -DoubleComplexNumberType_Encoding_DefaultBinary,12182,Object -OpcUa_BinarySchema_ComplexNumberType,12183,Variable -OpcUa_BinarySchema_ComplexNumberType_DataTypeVersion,12184,Variable -OpcUa_BinarySchema_ComplexNumberType_DictionaryFragment,12185,Variable -OpcUa_BinarySchema_DoubleComplexNumberType,12186,Variable -OpcUa_BinarySchema_DoubleComplexNumberType_DataTypeVersion,12187,Variable -OpcUa_BinarySchema_DoubleComplexNumberType_DictionaryFragment,12188,Variable -ServerOnNetwork,12189,DataType -FindServersOnNetworkRequest,12190,DataType -FindServersOnNetworkResponse,12191,DataType -RegisterServer2Request,12193,DataType -RegisterServer2Response,12194,DataType -ServerOnNetwork_Encoding_DefaultXml,12195,Object -FindServersOnNetworkRequest_Encoding_DefaultXml,12196,Object -FindServersOnNetworkResponse_Encoding_DefaultXml,12197,Object -RegisterServer2Request_Encoding_DefaultXml,12199,Object -RegisterServer2Response_Encoding_DefaultXml,12200,Object -OpcUa_XmlSchema_ServerOnNetwork,12201,Variable -OpcUa_XmlSchema_ServerOnNetwork_DataTypeVersion,12202,Variable -OpcUa_XmlSchema_ServerOnNetwork_DictionaryFragment,12203,Variable -ServerOnNetwork_Encoding_DefaultBinary,12207,Object -FindServersOnNetworkRequest_Encoding_DefaultBinary,12208,Object -FindServersOnNetworkResponse_Encoding_DefaultBinary,12209,Object -RegisterServer2Request_Encoding_DefaultBinary,12211,Object -RegisterServer2Response_Encoding_DefaultBinary,12212,Object -OpcUa_BinarySchema_ServerOnNetwork,12213,Variable -OpcUa_BinarySchema_ServerOnNetwork_DataTypeVersion,12214,Variable -OpcUa_BinarySchema_ServerOnNetwork_DictionaryFragment,12215,Variable -ProgressEventType_Context,12502,Variable -ProgressEventType_Progress,12503,Variable -KerberosIdentityToken,12504,DataType -KerberosIdentityToken_Encoding_DefaultXml,12505,Object -OpcUa_XmlSchema_KerberosIdentityToken,12506,Variable -OpcUa_XmlSchema_KerberosIdentityToken_DataTypeVersion,12507,Variable -OpcUa_XmlSchema_KerberosIdentityToken_DictionaryFragment,12508,Variable -KerberosIdentityToken_Encoding_DefaultBinary,12509,Object -OpcUa_BinarySchema_KerberosIdentityToken,12510,Variable -OpcUa_BinarySchema_KerberosIdentityToken_DataTypeVersion,12511,Variable -OpcUa_BinarySchema_KerberosIdentityToken_DictionaryFragment,12512,Variable -OpenWithMasksMethodType,12513,Method -OpenWithMasksMethodType_InputArguments,12514,Variable -OpenWithMasksMethodType_OutputArguments,12515,Variable -CloseAndUpdateMethodType,12516,Method -CloseAndUpdateMethodType_OutputArguments,12517,Variable -AddCertificateMethodType,12518,Method -AddCertificateMethodType_InputArguments,12519,Variable -RemoveCertificateMethodType,12520,Method -RemoveCertificateMethodType_InputArguments,12521,Variable -TrustListType,12522,ObjectType -TrustListType_Size,12523,Variable -TrustListType_OpenCount,12526,Variable -TrustListType_Open,12527,Method -TrustListType_Open_InputArguments,12528,Variable -TrustListType_Open_OutputArguments,12529,Variable -TrustListType_Close,12530,Method -TrustListType_Close_InputArguments,12531,Variable -TrustListType_Read,12532,Method -TrustListType_Read_InputArguments,12533,Variable -TrustListType_Read_OutputArguments,12534,Variable -TrustListType_Write,12535,Method -TrustListType_Write_InputArguments,12536,Variable -TrustListType_GetPosition,12537,Method -TrustListType_GetPosition_InputArguments,12538,Variable -TrustListType_GetPosition_OutputArguments,12539,Variable -TrustListType_SetPosition,12540,Method -TrustListType_SetPosition_InputArguments,12541,Variable -TrustListType_LastUpdateTime,12542,Variable -TrustListType_OpenWithMasks,12543,Method -TrustListType_OpenWithMasks_InputArguments,12544,Variable -TrustListType_OpenWithMasks_OutputArguments,12545,Variable -TrustListType_CloseAndUpdate,12546,Method -TrustListType_CloseAndUpdate_OutputArguments,12547,Variable -TrustListType_AddCertificate,12548,Method -TrustListType_AddCertificate_InputArguments,12549,Variable -TrustListType_RemoveCertificate,12550,Method -TrustListType_RemoveCertificate_InputArguments,12551,Variable -TrustListMasks,12552,DataType -TrustListMasks_EnumValues,12553,Variable -TrustListDataType,12554,DataType -CertificateGroupType,12555,ObjectType -CertificateType,12556,ObjectType -ApplicationCertificateType,12557,ObjectType -HttpsCertificateType,12558,ObjectType -RsaMinApplicationCertificateType,12559,ObjectType -RsaSha256ApplicationCertificateType,12560,ObjectType -TrustListUpdatedAuditEventType,12561,ObjectType -TrustListUpdatedAuditEventType_EventId,12562,Variable -TrustListUpdatedAuditEventType_EventType,12563,Variable -TrustListUpdatedAuditEventType_SourceNode,12564,Variable -TrustListUpdatedAuditEventType_SourceName,12565,Variable -TrustListUpdatedAuditEventType_Time,12566,Variable -TrustListUpdatedAuditEventType_ReceiveTime,12567,Variable -TrustListUpdatedAuditEventType_LocalTime,12568,Variable -TrustListUpdatedAuditEventType_Message,12569,Variable -TrustListUpdatedAuditEventType_Severity,12570,Variable -TrustListUpdatedAuditEventType_ActionTimeStamp,12571,Variable -TrustListUpdatedAuditEventType_Status,12572,Variable -TrustListUpdatedAuditEventType_ServerId,12573,Variable -TrustListUpdatedAuditEventType_ClientAuditEntryId,12574,Variable -TrustListUpdatedAuditEventType_ClientUserId,12575,Variable -TrustListUpdatedAuditEventType_MethodId,12576,Variable -TrustListUpdatedAuditEventType_InputArguments,12577,Variable -UpdateCertificateMethodType,12578,Method -UpdateCertificateMethodType_InputArguments,12579,Variable -UpdateCertificateMethodType_OutputArguments,12580,Variable -ServerConfigurationType,12581,ObjectType -ServerConfigurationType_SupportedPrivateKeyFormats,12583,Variable -ServerConfigurationType_MaxTrustListSize,12584,Variable -ServerConfigurationType_MulticastDnsEnabled,12585,Variable -ServerConfigurationType_UpdateCertificate,12616,Method -ServerConfigurationType_UpdateCertificate_InputArguments,12617,Variable -ServerConfigurationType_UpdateCertificate_OutputArguments,12618,Variable -CertificateUpdatedAuditEventType,12620,ObjectType -CertificateUpdatedAuditEventType_EventId,12621,Variable -CertificateUpdatedAuditEventType_EventType,12622,Variable -CertificateUpdatedAuditEventType_SourceNode,12623,Variable -CertificateUpdatedAuditEventType_SourceName,12624,Variable -CertificateUpdatedAuditEventType_Time,12625,Variable -CertificateUpdatedAuditEventType_ReceiveTime,12626,Variable -CertificateUpdatedAuditEventType_LocalTime,12627,Variable -CertificateUpdatedAuditEventType_Message,12628,Variable -CertificateUpdatedAuditEventType_Severity,12629,Variable -CertificateUpdatedAuditEventType_ActionTimeStamp,12630,Variable -CertificateUpdatedAuditEventType_Status,12631,Variable -CertificateUpdatedAuditEventType_ServerId,12632,Variable -CertificateUpdatedAuditEventType_ClientAuditEntryId,12633,Variable -CertificateUpdatedAuditEventType_ClientUserId,12634,Variable -CertificateUpdatedAuditEventType_MethodId,12635,Variable -CertificateUpdatedAuditEventType_InputArguments,12636,Variable -ServerConfiguration,12637,Object -ServerConfiguration_SupportedPrivateKeyFormats,12639,Variable -ServerConfiguration_MaxTrustListSize,12640,Variable -ServerConfiguration_MulticastDnsEnabled,12641,Variable -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList,12642,Object -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Size,12643,Variable -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_OpenCount,12646,Variable -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Open,12647,Method -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Open_InputArguments,12648,Variable -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Open_OutputArguments,12649,Variable -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Close,12650,Method -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Close_InputArguments,12651,Variable -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Read,12652,Method -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Read_InputArguments,12653,Variable -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Read_OutputArguments,12654,Variable -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Write,12655,Method -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Write_InputArguments,12656,Variable -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_GetPosition,12657,Method -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_GetPosition_InputArguments,12658,Variable -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_GetPosition_OutputArguments,12659,Variable -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_SetPosition,12660,Method -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_SetPosition_InputArguments,12661,Variable -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_LastUpdateTime,12662,Variable -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_OpenWithMasks,12663,Method -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_OpenWithMasks_InputArguments,12664,Variable -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_OpenWithMasks_OutputArguments,12665,Variable -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_CloseAndUpdate,12666,Method -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_CloseAndUpdate_OutputArguments,12667,Variable -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_AddCertificate,12668,Method -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_AddCertificate_InputArguments,12669,Variable -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_RemoveCertificate,12670,Method -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_RemoveCertificate_InputArguments,12671,Variable -TrustListDataType_Encoding_DefaultXml,12676,Object -OpcUa_XmlSchema_TrustListDataType,12677,Variable -OpcUa_XmlSchema_TrustListDataType_DataTypeVersion,12678,Variable -OpcUa_XmlSchema_TrustListDataType_DictionaryFragment,12679,Variable -TrustListDataType_Encoding_DefaultBinary,12680,Object -OpcUa_BinarySchema_TrustListDataType,12681,Variable -OpcUa_BinarySchema_TrustListDataType_DataTypeVersion,12682,Variable -OpcUa_BinarySchema_TrustListDataType_DictionaryFragment,12683,Variable -ServerType_Namespaces_AddressSpaceFile_Writable,12684,Variable -ServerType_Namespaces_AddressSpaceFile_UserWritable,12685,Variable -FileType_Writable,12686,Variable -FileType_UserWritable,12687,Variable -AddressSpaceFileType_Writable,12688,Variable -AddressSpaceFileType_UserWritable,12689,Variable -NamespaceMetadataType_NamespaceFile_Writable,12690,Variable -NamespaceMetadataType_NamespaceFile_UserWritable,12691,Variable -NamespacesType_NamespaceIdentifier_NamespaceFile_Writable,12692,Variable -NamespacesType_NamespaceIdentifier_NamespaceFile_UserWritable,12693,Variable -NamespacesType_AddressSpaceFile_Writable,12694,Variable -NamespacesType_AddressSpaceFile_UserWritable,12695,Variable -Server_Namespaces_AddressSpaceFile_Writable,12696,Variable -Server_Namespaces_AddressSpaceFile_UserWritable,12697,Variable -TrustListType_Writable,12698,Variable -TrustListType_UserWritable,12699,Variable -CloseAndUpdateMethodType_InputArguments,12704,Variable -TrustListType_CloseAndUpdate_InputArguments,12705,Variable -ServerConfigurationType_ServerCapabilities,12708,Variable -ServerConfiguration_ServerCapabilities,12710,Variable -OpcUa_XmlSchema_RelativePathElement,12712,Variable -OpcUa_XmlSchema_RelativePathElement_DataTypeVersion,12713,Variable -OpcUa_XmlSchema_RelativePathElement_DictionaryFragment,12714,Variable -OpcUa_XmlSchema_RelativePath,12715,Variable -OpcUa_XmlSchema_RelativePath_DataTypeVersion,12716,Variable -OpcUa_XmlSchema_RelativePath_DictionaryFragment,12717,Variable -OpcUa_BinarySchema_RelativePathElement,12718,Variable -OpcUa_BinarySchema_RelativePathElement_DataTypeVersion,12719,Variable -OpcUa_BinarySchema_RelativePathElement_DictionaryFragment,12720,Variable -OpcUa_BinarySchema_RelativePath,12721,Variable -OpcUa_BinarySchema_RelativePath_DataTypeVersion,12722,Variable -OpcUa_BinarySchema_RelativePath_DictionaryFragment,12723,Variable -ServerConfigurationType_CreateSigningRequest,12731,Method -ServerConfigurationType_CreateSigningRequest_InputArguments,12732,Variable -ServerConfigurationType_CreateSigningRequest_OutputArguments,12733,Variable -ServerConfigurationType_ApplyChanges,12734,Method -ServerConfiguration_CreateSigningRequest,12737,Method -ServerConfiguration_CreateSigningRequest_InputArguments,12738,Variable -ServerConfiguration_CreateSigningRequest_OutputArguments,12739,Variable -ServerConfiguration_ApplyChanges,12740,Method -CreateSigningRequestMethodType,12741,Method -CreateSigningRequestMethodType_InputArguments,12742,Variable -CreateSigningRequestMethodType_OutputArguments,12743,Variable -OptionSetValues,12745,Variable -ServerType_SetSubscriptionDurable,12746,Method -ServerType_SetSubscriptionDurable_InputArguments,12747,Variable -ServerType_SetSubscriptionDurable_OutputArguments,12748,Variable -Server_SetSubscriptionDurable,12749,Method -Server_SetSubscriptionDurable_InputArguments,12750,Variable -Server_SetSubscriptionDurable_OutputArguments,12751,Variable -SetSubscriptionDurableMethodType,12752,Method -SetSubscriptionDurableMethodType_InputArguments,12753,Variable -SetSubscriptionDurableMethodType_OutputArguments,12754,Variable -OptionSet,12755,DataType -Union,12756,DataType -OptionSet_Encoding_DefaultXml,12757,Object -Union_Encoding_DefaultXml,12758,Object -OpcUa_XmlSchema_OptionSet,12759,Variable -OpcUa_XmlSchema_OptionSet_DataTypeVersion,12760,Variable -OpcUa_XmlSchema_OptionSet_DictionaryFragment,12761,Variable -OpcUa_XmlSchema_Union,12762,Variable -OpcUa_XmlSchema_Union_DataTypeVersion,12763,Variable -OpcUa_XmlSchema_Union_DictionaryFragment,12764,Variable -OptionSet_Encoding_DefaultBinary,12765,Object -Union_Encoding_DefaultBinary,12766,Object -OpcUa_BinarySchema_OptionSet,12767,Variable -OpcUa_BinarySchema_OptionSet_DataTypeVersion,12768,Variable -OpcUa_BinarySchema_OptionSet_DictionaryFragment,12769,Variable -OpcUa_BinarySchema_Union,12770,Variable -OpcUa_BinarySchema_Union_DataTypeVersion,12771,Variable -OpcUa_BinarySchema_Union_DictionaryFragment,12772,Variable -GetRejectedListMethodType,12773,Method -GetRejectedListMethodType_OutputArguments,12774,Variable -ServerConfigurationType_GetRejectedList,12775,Method -ServerConfigurationType_GetRejectedList_OutputArguments,12776,Variable -ServerConfiguration_GetRejectedList,12777,Method -ServerConfiguration_GetRejectedList_OutputArguments,12778,Variable -SamplingIntervalDiagnosticsArrayType_SamplingIntervalDiagnostics,12779,Variable -SamplingIntervalDiagnosticsArrayType_SamplingIntervalDiagnostics_SamplingInterval,12780,Variable -SamplingIntervalDiagnosticsArrayType_SamplingIntervalDiagnostics_SampledMonitoredItemsCount,12781,Variable -SamplingIntervalDiagnosticsArrayType_SamplingIntervalDiagnostics_MaxSampledMonitoredItemsCount,12782,Variable -SamplingIntervalDiagnosticsArrayType_SamplingIntervalDiagnostics_DisabledMonitoredItemsSamplingCount,12783,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics,12784,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_SessionId,12785,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_SubscriptionId,12786,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_Priority,12787,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_PublishingInterval,12788,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_MaxKeepAliveCount,12789,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_MaxLifetimeCount,12790,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_MaxNotificationsPerPublish,12791,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_PublishingEnabled,12792,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_ModifyCount,12793,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_EnableCount,12794,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_DisableCount,12795,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_RepublishRequestCount,12796,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_RepublishMessageRequestCount,12797,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_RepublishMessageCount,12798,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_TransferRequestCount,12799,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_TransferredToAltClientCount,12800,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_TransferredToSameClientCount,12801,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_PublishRequestCount,12802,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_DataChangeNotificationsCount,12803,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_EventNotificationsCount,12804,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_NotificationsCount,12805,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_LatePublishRequestCount,12806,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_CurrentKeepAliveCount,12807,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_CurrentLifetimeCount,12808,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_UnacknowledgedMessageCount,12809,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_DiscardedMessageCount,12810,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_MonitoredItemCount,12811,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_DisabledMonitoredItemCount,12812,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_MonitoringQueueOverflowCount,12813,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_NextSequenceNumber,12814,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_EventQueueOverFlowCount,12815,Variable -SessionDiagnosticsArrayType_SessionDiagnostics,12816,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_SessionId,12817,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_SessionName,12818,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_ClientDescription,12819,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_ServerUri,12820,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_EndpointUrl,12821,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_LocaleIds,12822,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_ActualSessionTimeout,12823,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_MaxResponseMessageSize,12824,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_ClientConnectionTime,12825,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_ClientLastContactTime,12826,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_CurrentSubscriptionsCount,12827,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_CurrentMonitoredItemsCount,12828,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_CurrentPublishRequestsInQueue,12829,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_TotalRequestCount,12830,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_UnauthorizedRequestCount,12831,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_ReadCount,12832,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_HistoryReadCount,12833,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_WriteCount,12834,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_HistoryUpdateCount,12835,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_CallCount,12836,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_CreateMonitoredItemsCount,12837,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_ModifyMonitoredItemsCount,12838,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_SetMonitoringModeCount,12839,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_SetTriggeringCount,12840,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_DeleteMonitoredItemsCount,12841,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_CreateSubscriptionCount,12842,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_ModifySubscriptionCount,12843,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_SetPublishingModeCount,12844,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_PublishCount,12845,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_RepublishCount,12846,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_TransferSubscriptionsCount,12847,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_DeleteSubscriptionsCount,12848,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_AddNodesCount,12849,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_AddReferencesCount,12850,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_DeleteNodesCount,12851,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_DeleteReferencesCount,12852,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_BrowseCount,12853,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_BrowseNextCount,12854,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_TranslateBrowsePathsToNodeIdsCount,12855,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_QueryFirstCount,12856,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_QueryNextCount,12857,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_RegisterNodesCount,12858,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_UnregisterNodesCount,12859,Variable -SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics,12860,Variable -SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_SessionId,12861,Variable -SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_ClientUserIdOfSession,12862,Variable -SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_ClientUserIdHistory,12863,Variable -SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_AuthenticationMechanism,12864,Variable -SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_Encoding,12865,Variable -SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_TransportProtocol,12866,Variable -SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_SecurityMode,12867,Variable -SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_SecurityPolicyUri,12868,Variable -SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_ClientCertificate,12869,Variable -ServerType_ResendData,12871,Method -ServerType_ResendData_InputArguments,12872,Variable -Server_ResendData,12873,Method -Server_ResendData_InputArguments,12874,Variable -ResendDataMethodType,12875,Method -ResendDataMethodType_InputArguments,12876,Variable -NormalizedString,12877,DataType -DecimalString,12878,DataType -DurationString,12879,DataType -TimeString,12880,DataType -DateString,12881,DataType -ServerType_EstimatedReturnTime,12882,Variable -ServerType_RequestServerStateChange,12883,Method -ServerType_RequestServerStateChange_InputArguments,12884,Variable -Server_EstimatedReturnTime,12885,Variable -Server_RequestServerStateChange,12886,Method -Server_RequestServerStateChange_InputArguments,12887,Variable -RequestServerStateChangeMethodType,12888,Method -RequestServerStateChangeMethodType_InputArguments,12889,Variable -DiscoveryConfiguration,12890,DataType -MdnsDiscoveryConfiguration,12891,DataType -DiscoveryConfiguration_Encoding_DefaultXml,12892,Object -MdnsDiscoveryConfiguration_Encoding_DefaultXml,12893,Object -OpcUa_XmlSchema_DiscoveryConfiguration,12894,Variable -OpcUa_XmlSchema_DiscoveryConfiguration_DataTypeVersion,12895,Variable -OpcUa_XmlSchema_DiscoveryConfiguration_DictionaryFragment,12896,Variable -OpcUa_XmlSchema_MdnsDiscoveryConfiguration,12897,Variable -OpcUa_XmlSchema_MdnsDiscoveryConfiguration_DataTypeVersion,12898,Variable -OpcUa_XmlSchema_MdnsDiscoveryConfiguration_DictionaryFragment,12899,Variable -DiscoveryConfiguration_Encoding_DefaultBinary,12900,Object -MdnsDiscoveryConfiguration_Encoding_DefaultBinary,12901,Object -OpcUa_BinarySchema_DiscoveryConfiguration,12902,Variable -OpcUa_BinarySchema_DiscoveryConfiguration_DataTypeVersion,12903,Variable -OpcUa_BinarySchema_DiscoveryConfiguration_DictionaryFragment,12904,Variable -OpcUa_BinarySchema_MdnsDiscoveryConfiguration,12905,Variable -OpcUa_BinarySchema_MdnsDiscoveryConfiguration_DataTypeVersion,12906,Variable -OpcUa_BinarySchema_MdnsDiscoveryConfiguration_DictionaryFragment,12907,Variable -MaxByteStringLength,12908,Variable -ServerType_ServerCapabilities_MaxByteStringLength,12909,Variable -ServerCapabilitiesType_MaxByteStringLength,12910,Variable -Server_ServerCapabilities_MaxByteStringLength,12911,Variable -ConditionType_ConditionRefresh2,12912,Method -ConditionType_ConditionRefresh2_InputArguments,12913,Variable -ConditionRefresh2MethodType,12914,Method -ConditionRefresh2MethodType_InputArguments,12915,Variable -DialogConditionType_ConditionRefresh2,12916,Method -DialogConditionType_ConditionRefresh2_InputArguments,12917,Variable -AcknowledgeableConditionType_ConditionRefresh2,12918,Method -AcknowledgeableConditionType_ConditionRefresh2_InputArguments,12919,Variable -AlarmConditionType_ConditionRefresh2,12984,Method -AlarmConditionType_ConditionRefresh2_InputArguments,12985,Variable -LimitAlarmType_ConditionRefresh2,12986,Method -LimitAlarmType_ConditionRefresh2_InputArguments,12987,Variable -ExclusiveLimitAlarmType_ConditionRefresh2,12988,Method -ExclusiveLimitAlarmType_ConditionRefresh2_InputArguments,12989,Variable -NonExclusiveLimitAlarmType_ConditionRefresh2,12990,Method -NonExclusiveLimitAlarmType_ConditionRefresh2_InputArguments,12991,Variable -NonExclusiveLevelAlarmType_ConditionRefresh2,12992,Method -NonExclusiveLevelAlarmType_ConditionRefresh2_InputArguments,12993,Variable -ExclusiveLevelAlarmType_ConditionRefresh2,12994,Method -ExclusiveLevelAlarmType_ConditionRefresh2_InputArguments,12995,Variable -NonExclusiveDeviationAlarmType_ConditionRefresh2,12996,Method -NonExclusiveDeviationAlarmType_ConditionRefresh2_InputArguments,12997,Variable -ExclusiveDeviationAlarmType_ConditionRefresh2,12998,Method -ExclusiveDeviationAlarmType_ConditionRefresh2_InputArguments,12999,Variable -NonExclusiveRateOfChangeAlarmType_ConditionRefresh2,13000,Method -NonExclusiveRateOfChangeAlarmType_ConditionRefresh2_InputArguments,13001,Variable -ExclusiveRateOfChangeAlarmType_ConditionRefresh2,13002,Method -ExclusiveRateOfChangeAlarmType_ConditionRefresh2_InputArguments,13003,Variable -DiscreteAlarmType_ConditionRefresh2,13004,Method -DiscreteAlarmType_ConditionRefresh2_InputArguments,13005,Variable -OffNormalAlarmType_ConditionRefresh2,13006,Method -OffNormalAlarmType_ConditionRefresh2_InputArguments,13007,Variable -SystemOffNormalAlarmType_ConditionRefresh2,13008,Method -SystemOffNormalAlarmType_ConditionRefresh2_InputArguments,13009,Variable -TripAlarmType_ConditionRefresh2,13010,Method -TripAlarmType_ConditionRefresh2_InputArguments,13011,Variable -CertificateExpirationAlarmType,13225,ObjectType -CertificateExpirationAlarmType_EventId,13226,Variable -CertificateExpirationAlarmType_EventType,13227,Variable -CertificateExpirationAlarmType_SourceNode,13228,Variable -CertificateExpirationAlarmType_SourceName,13229,Variable -CertificateExpirationAlarmType_Time,13230,Variable -CertificateExpirationAlarmType_ReceiveTime,13231,Variable -CertificateExpirationAlarmType_LocalTime,13232,Variable -CertificateExpirationAlarmType_Message,13233,Variable -CertificateExpirationAlarmType_Severity,13234,Variable -CertificateExpirationAlarmType_ConditionClassId,13235,Variable -CertificateExpirationAlarmType_ConditionClassName,13236,Variable -CertificateExpirationAlarmType_ConditionName,13237,Variable -CertificateExpirationAlarmType_BranchId,13238,Variable -CertificateExpirationAlarmType_Retain,13239,Variable -CertificateExpirationAlarmType_EnabledState,13240,Variable -CertificateExpirationAlarmType_EnabledState_Id,13241,Variable -CertificateExpirationAlarmType_EnabledState_Name,13242,Variable -CertificateExpirationAlarmType_EnabledState_Number,13243,Variable -CertificateExpirationAlarmType_EnabledState_EffectiveDisplayName,13244,Variable -CertificateExpirationAlarmType_EnabledState_TransitionTime,13245,Variable -CertificateExpirationAlarmType_EnabledState_EffectiveTransitionTime,13246,Variable -CertificateExpirationAlarmType_EnabledState_TrueState,13247,Variable -CertificateExpirationAlarmType_EnabledState_FalseState,13248,Variable -CertificateExpirationAlarmType_Quality,13249,Variable -CertificateExpirationAlarmType_Quality_SourceTimestamp,13250,Variable -CertificateExpirationAlarmType_LastSeverity,13251,Variable -CertificateExpirationAlarmType_LastSeverity_SourceTimestamp,13252,Variable -CertificateExpirationAlarmType_Comment,13253,Variable -CertificateExpirationAlarmType_Comment_SourceTimestamp,13254,Variable -CertificateExpirationAlarmType_ClientUserId,13255,Variable -CertificateExpirationAlarmType_Disable,13256,Method -CertificateExpirationAlarmType_Enable,13257,Method -CertificateExpirationAlarmType_AddComment,13258,Method -CertificateExpirationAlarmType_AddComment_InputArguments,13259,Variable -CertificateExpirationAlarmType_ConditionRefresh,13260,Method -CertificateExpirationAlarmType_ConditionRefresh_InputArguments,13261,Variable -CertificateExpirationAlarmType_ConditionRefresh2,13262,Method -CertificateExpirationAlarmType_ConditionRefresh2_InputArguments,13263,Variable -CertificateExpirationAlarmType_AckedState,13264,Variable -CertificateExpirationAlarmType_AckedState_Id,13265,Variable -CertificateExpirationAlarmType_AckedState_Name,13266,Variable -CertificateExpirationAlarmType_AckedState_Number,13267,Variable -CertificateExpirationAlarmType_AckedState_EffectiveDisplayName,13268,Variable -CertificateExpirationAlarmType_AckedState_TransitionTime,13269,Variable -CertificateExpirationAlarmType_AckedState_EffectiveTransitionTime,13270,Variable -CertificateExpirationAlarmType_AckedState_TrueState,13271,Variable -CertificateExpirationAlarmType_AckedState_FalseState,13272,Variable -CertificateExpirationAlarmType_ConfirmedState,13273,Variable -CertificateExpirationAlarmType_ConfirmedState_Id,13274,Variable -CertificateExpirationAlarmType_ConfirmedState_Name,13275,Variable -CertificateExpirationAlarmType_ConfirmedState_Number,13276,Variable -CertificateExpirationAlarmType_ConfirmedState_EffectiveDisplayName,13277,Variable -CertificateExpirationAlarmType_ConfirmedState_TransitionTime,13278,Variable -CertificateExpirationAlarmType_ConfirmedState_EffectiveTransitionTime,13279,Variable -CertificateExpirationAlarmType_ConfirmedState_TrueState,13280,Variable -CertificateExpirationAlarmType_ConfirmedState_FalseState,13281,Variable -CertificateExpirationAlarmType_Acknowledge,13282,Method -CertificateExpirationAlarmType_Acknowledge_InputArguments,13283,Variable -CertificateExpirationAlarmType_Confirm,13284,Method -CertificateExpirationAlarmType_Confirm_InputArguments,13285,Variable -CertificateExpirationAlarmType_ActiveState,13286,Variable -CertificateExpirationAlarmType_ActiveState_Id,13287,Variable -CertificateExpirationAlarmType_ActiveState_Name,13288,Variable -CertificateExpirationAlarmType_ActiveState_Number,13289,Variable -CertificateExpirationAlarmType_ActiveState_EffectiveDisplayName,13290,Variable -CertificateExpirationAlarmType_ActiveState_TransitionTime,13291,Variable -CertificateExpirationAlarmType_ActiveState_EffectiveTransitionTime,13292,Variable -CertificateExpirationAlarmType_ActiveState_TrueState,13293,Variable -CertificateExpirationAlarmType_ActiveState_FalseState,13294,Variable -CertificateExpirationAlarmType_InputNode,13295,Variable -CertificateExpirationAlarmType_SuppressedState,13296,Variable -CertificateExpirationAlarmType_SuppressedState_Id,13297,Variable -CertificateExpirationAlarmType_SuppressedState_Name,13298,Variable -CertificateExpirationAlarmType_SuppressedState_Number,13299,Variable -CertificateExpirationAlarmType_SuppressedState_EffectiveDisplayName,13300,Variable -CertificateExpirationAlarmType_SuppressedState_TransitionTime,13301,Variable -CertificateExpirationAlarmType_SuppressedState_EffectiveTransitionTime,13302,Variable -CertificateExpirationAlarmType_SuppressedState_TrueState,13303,Variable -CertificateExpirationAlarmType_SuppressedState_FalseState,13304,Variable -CertificateExpirationAlarmType_ShelvingState,13305,Object -CertificateExpirationAlarmType_ShelvingState_CurrentState,13306,Variable -CertificateExpirationAlarmType_ShelvingState_CurrentState_Id,13307,Variable -CertificateExpirationAlarmType_ShelvingState_CurrentState_Name,13308,Variable -CertificateExpirationAlarmType_ShelvingState_CurrentState_Number,13309,Variable -CertificateExpirationAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,13310,Variable -CertificateExpirationAlarmType_ShelvingState_LastTransition,13311,Variable -CertificateExpirationAlarmType_ShelvingState_LastTransition_Id,13312,Variable -CertificateExpirationAlarmType_ShelvingState_LastTransition_Name,13313,Variable -CertificateExpirationAlarmType_ShelvingState_LastTransition_Number,13314,Variable -CertificateExpirationAlarmType_ShelvingState_LastTransition_TransitionTime,13315,Variable -CertificateExpirationAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,13316,Variable -CertificateExpirationAlarmType_ShelvingState_UnshelveTime,13317,Variable -CertificateExpirationAlarmType_ShelvingState_Unshelve,13318,Method -CertificateExpirationAlarmType_ShelvingState_OneShotShelve,13319,Method -CertificateExpirationAlarmType_ShelvingState_TimedShelve,13320,Method -CertificateExpirationAlarmType_ShelvingState_TimedShelve_InputArguments,13321,Variable -CertificateExpirationAlarmType_SuppressedOrShelved,13322,Variable -CertificateExpirationAlarmType_MaxTimeShelved,13323,Variable -CertificateExpirationAlarmType_NormalState,13324,Variable -CertificateExpirationAlarmType_ExpirationDate,13325,Variable -CertificateExpirationAlarmType_CertificateType,13326,Variable -CertificateExpirationAlarmType_Certificate,13327,Variable -ServerType_Namespaces_AddressSpaceFile_MimeType,13340,Variable -FileType_MimeType,13341,Variable -CreateDirectoryMethodType,13342,Method -CreateDirectoryMethodType_InputArguments,13343,Variable -CreateDirectoryMethodType_OutputArguments,13344,Variable -CreateFileMethodType,13345,Method -CreateFileMethodType_InputArguments,13346,Variable -CreateFileMethodType_OutputArguments,13347,Variable -DeleteFileMethodType,13348,Method -DeleteFileMethodType_InputArguments,13349,Variable -MoveOrCopyMethodType,13350,Method -MoveOrCopyMethodType_InputArguments,13351,Variable -MoveOrCopyMethodType_OutputArguments,13352,Variable -FileDirectoryType,13353,ObjectType -FileDirectoryType_xFileDirectoryNamex,13354,Object -FileDirectoryType_xFileDirectoryNamex_CreateDirectory,13355,Method -FileDirectoryType_xFileDirectoryNamex_CreateDirectory_InputArguments,13356,Variable -FileDirectoryType_xFileDirectoryNamex_CreateDirectory_OutputArguments,13357,Variable -FileDirectoryType_xFileDirectoryNamex_CreateFile,13358,Method -FileDirectoryType_xFileDirectoryNamex_CreateFile_InputArguments,13359,Variable -FileDirectoryType_xFileDirectoryNamex_CreateFile_OutputArguments,13360,Variable -FileDirectoryType_xFileDirectoryNamex_Delete,13361,Method -FileDirectoryType_xFileDirectoryNamex_Delete_InputArguments,13362,Variable -FileDirectoryType_xFileDirectoryNamex_MoveOrCopy,13363,Method -FileDirectoryType_xFileDirectoryNamex_MoveOrCopy_InputArguments,13364,Variable -FileDirectoryType_xFileDirectoryNamex_MoveOrCopy_OutputArguments,13365,Variable -FileDirectoryType_xFileNamex,13366,Object -FileDirectoryType_xFileNamex_Size,13367,Variable -FileDirectoryType_xFileNamex_Writable,13368,Variable -FileDirectoryType_xFileNamex_UserWritable,13369,Variable -FileDirectoryType_xFileNamex_OpenCount,13370,Variable -FileDirectoryType_xFileNamex_MimeType,13371,Variable -FileDirectoryType_xFileNamex_Open,13372,Method -FileDirectoryType_xFileNamex_Open_InputArguments,13373,Variable -FileDirectoryType_xFileNamex_Open_OutputArguments,13374,Variable -FileDirectoryType_xFileNamex_Close,13375,Method -FileDirectoryType_xFileNamex_Close_InputArguments,13376,Variable -FileDirectoryType_xFileNamex_Read,13377,Method -FileDirectoryType_xFileNamex_Read_InputArguments,13378,Variable -FileDirectoryType_xFileNamex_Read_OutputArguments,13379,Variable -FileDirectoryType_xFileNamex_Write,13380,Method -FileDirectoryType_xFileNamex_Write_InputArguments,13381,Variable -FileDirectoryType_xFileNamex_GetPosition,13382,Method -FileDirectoryType_xFileNamex_GetPosition_InputArguments,13383,Variable -FileDirectoryType_xFileNamex_GetPosition_OutputArguments,13384,Variable -FileDirectoryType_xFileNamex_SetPosition,13385,Method -FileDirectoryType_xFileNamex_SetPosition_InputArguments,13386,Variable -FileDirectoryType_CreateDirectory,13387,Method -FileDirectoryType_CreateDirectory_InputArguments,13388,Variable -FileDirectoryType_CreateDirectory_OutputArguments,13389,Variable -FileDirectoryType_CreateFile,13390,Method -FileDirectoryType_CreateFile_InputArguments,13391,Variable -FileDirectoryType_CreateFile_OutputArguments,13392,Variable -FileDirectoryType_Delete,13393,Method -FileDirectoryType_Delete_InputArguments,13394,Variable -FileDirectoryType_MoveOrCopy,13395,Method -FileDirectoryType_MoveOrCopy_InputArguments,13396,Variable -FileDirectoryType_MoveOrCopy_OutputArguments,13397,Variable -AddressSpaceFileType_MimeType,13398,Variable -NamespaceMetadataType_NamespaceFile_MimeType,13399,Variable -NamespacesType_NamespaceIdentifier_NamespaceFile_MimeType,13400,Variable -NamespacesType_AddressSpaceFile_MimeType,13401,Variable -Server_Namespaces_AddressSpaceFile_MimeType,13402,Variable -TrustListType_MimeType,13403,Variable -CertificateGroupType_TrustList,13599,Object -CertificateGroupType_TrustList_Size,13600,Variable -CertificateGroupType_TrustList_Writable,13601,Variable -CertificateGroupType_TrustList_UserWritable,13602,Variable -CertificateGroupType_TrustList_OpenCount,13603,Variable -CertificateGroupType_TrustList_MimeType,13604,Variable -CertificateGroupType_TrustList_Open,13605,Method -CertificateGroupType_TrustList_Open_InputArguments,13606,Variable -CertificateGroupType_TrustList_Open_OutputArguments,13607,Variable -CertificateGroupType_TrustList_Close,13608,Method -CertificateGroupType_TrustList_Close_InputArguments,13609,Variable -CertificateGroupType_TrustList_Read,13610,Method -CertificateGroupType_TrustList_Read_InputArguments,13611,Variable -CertificateGroupType_TrustList_Read_OutputArguments,13612,Variable -CertificateGroupType_TrustList_Write,13613,Method -CertificateGroupType_TrustList_Write_InputArguments,13614,Variable -CertificateGroupType_TrustList_GetPosition,13615,Method -CertificateGroupType_TrustList_GetPosition_InputArguments,13616,Variable -CertificateGroupType_TrustList_GetPosition_OutputArguments,13617,Variable -CertificateGroupType_TrustList_SetPosition,13618,Method -CertificateGroupType_TrustList_SetPosition_InputArguments,13619,Variable -CertificateGroupType_TrustList_LastUpdateTime,13620,Variable -CertificateGroupType_TrustList_OpenWithMasks,13621,Method -CertificateGroupType_TrustList_OpenWithMasks_InputArguments,13622,Variable -CertificateGroupType_TrustList_OpenWithMasks_OutputArguments,13623,Variable -CertificateGroupType_TrustList_CloseAndUpdate,13624,Method -CertificateGroupType_TrustList_CloseAndUpdate_InputArguments,13625,Variable -CertificateGroupType_TrustList_CloseAndUpdate_OutputArguments,13626,Variable -CertificateGroupType_TrustList_AddCertificate,13627,Method -CertificateGroupType_TrustList_AddCertificate_InputArguments,13628,Variable -CertificateGroupType_TrustList_RemoveCertificate,13629,Method -CertificateGroupType_TrustList_RemoveCertificate_InputArguments,13630,Variable -CertificateGroupType_CertificateTypes,13631,Variable -CertificateUpdatedAuditEventType_CertificateGroup,13735,Variable -CertificateUpdatedAuditEventType_CertificateType,13736,Variable -ServerConfiguration_UpdateCertificate,13737,Method -ServerConfiguration_UpdateCertificate_InputArguments,13738,Variable -ServerConfiguration_UpdateCertificate_OutputArguments,13739,Variable -CertificateGroupFolderType,13813,ObjectType -CertificateGroupFolderType_DefaultApplicationGroup,13814,Object -CertificateGroupFolderType_DefaultApplicationGroup_TrustList,13815,Object -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Size,13816,Variable -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Writable,13817,Variable -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_UserWritable,13818,Variable -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_OpenCount,13819,Variable -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_MimeType,13820,Variable -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Open,13821,Method -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Open_InputArguments,13822,Variable -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Open_OutputArguments,13823,Variable -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Close,13824,Method -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Close_InputArguments,13825,Variable -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Read,13826,Method -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Read_InputArguments,13827,Variable -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Read_OutputArguments,13828,Variable -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Write,13829,Method -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Write_InputArguments,13830,Variable -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_GetPosition,13831,Method -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_GetPosition_InputArguments,13832,Variable -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_GetPosition_OutputArguments,13833,Variable -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_SetPosition,13834,Method -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_SetPosition_InputArguments,13835,Variable -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_LastUpdateTime,13836,Variable -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_OpenWithMasks,13837,Method -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_OpenWithMasks_InputArguments,13838,Variable -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_OpenWithMasks_OutputArguments,13839,Variable -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_CloseAndUpdate,13840,Method -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_CloseAndUpdate_InputArguments,13841,Variable -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_CloseAndUpdate_OutputArguments,13842,Variable -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_AddCertificate,13843,Method -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_AddCertificate_InputArguments,13844,Variable -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_RemoveCertificate,13845,Method -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_RemoveCertificate_InputArguments,13846,Variable -CertificateGroupFolderType_DefaultApplicationGroup_CertificateTypes,13847,Variable -CertificateGroupFolderType_DefaultHttpsGroup,13848,Object -CertificateGroupFolderType_DefaultHttpsGroup_TrustList,13849,Object -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Size,13850,Variable -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Writable,13851,Variable -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_UserWritable,13852,Variable -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_OpenCount,13853,Variable -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_MimeType,13854,Variable -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Open,13855,Method -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Open_InputArguments,13856,Variable -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Open_OutputArguments,13857,Variable -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Close,13858,Method -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Close_InputArguments,13859,Variable -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Read,13860,Method -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Read_InputArguments,13861,Variable -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Read_OutputArguments,13862,Variable -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Write,13863,Method -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Write_InputArguments,13864,Variable -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_GetPosition,13865,Method -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_GetPosition_InputArguments,13866,Variable -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_GetPosition_OutputArguments,13867,Variable -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_SetPosition,13868,Method -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_SetPosition_InputArguments,13869,Variable -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_LastUpdateTime,13870,Variable -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_OpenWithMasks,13871,Method -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_OpenWithMasks_InputArguments,13872,Variable -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_OpenWithMasks_OutputArguments,13873,Variable -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_CloseAndUpdate,13874,Method -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_CloseAndUpdate_InputArguments,13875,Variable -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_CloseAndUpdate_OutputArguments,13876,Variable -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_AddCertificate,13877,Method -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_AddCertificate_InputArguments,13878,Variable -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_RemoveCertificate,13879,Method -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_RemoveCertificate_InputArguments,13880,Variable -CertificateGroupFolderType_DefaultHttpsGroup_CertificateTypes,13881,Variable -CertificateGroupFolderType_DefaultUserTokenGroup,13882,Object -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList,13883,Object -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Size,13884,Variable -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Writable,13885,Variable -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_UserWritable,13886,Variable -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_OpenCount,13887,Variable -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_MimeType,13888,Variable -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Open,13889,Method -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Open_InputArguments,13890,Variable -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Open_OutputArguments,13891,Variable -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Close,13892,Method -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Close_InputArguments,13893,Variable -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Read,13894,Method -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Read_InputArguments,13895,Variable -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Read_OutputArguments,13896,Variable -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Write,13897,Method -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Write_InputArguments,13898,Variable -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_GetPosition,13899,Method -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_GetPosition_InputArguments,13900,Variable -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_GetPosition_OutputArguments,13901,Variable -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_SetPosition,13902,Method -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_SetPosition_InputArguments,13903,Variable -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_LastUpdateTime,13904,Variable -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_OpenWithMasks,13905,Method -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_OpenWithMasks_InputArguments,13906,Variable -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_OpenWithMasks_OutputArguments,13907,Variable -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_CloseAndUpdate,13908,Method -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_CloseAndUpdate_InputArguments,13909,Variable -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_CloseAndUpdate_OutputArguments,13910,Variable -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_AddCertificate,13911,Method -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_AddCertificate_InputArguments,13912,Variable -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_RemoveCertificate,13913,Method -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_RemoveCertificate_InputArguments,13914,Variable -CertificateGroupFolderType_DefaultUserTokenGroup_CertificateTypes,13915,Variable -CertificateGroupFolderType_xCertificateGroupx,13916,Object -CertificateGroupFolderType_xCertificateGroupx_TrustList,13917,Object -CertificateGroupFolderType_xCertificateGroupx_TrustList_Size,13918,Variable -CertificateGroupFolderType_xCertificateGroupx_TrustList_Writable,13919,Variable -CertificateGroupFolderType_xCertificateGroupx_TrustList_UserWritable,13920,Variable -CertificateGroupFolderType_xCertificateGroupx_TrustList_OpenCount,13921,Variable -CertificateGroupFolderType_xCertificateGroupx_TrustList_MimeType,13922,Variable -CertificateGroupFolderType_xCertificateGroupx_TrustList_Open,13923,Method -CertificateGroupFolderType_xCertificateGroupx_TrustList_Open_InputArguments,13924,Variable -CertificateGroupFolderType_xCertificateGroupx_TrustList_Open_OutputArguments,13925,Variable -CertificateGroupFolderType_xCertificateGroupx_TrustList_Close,13926,Method -CertificateGroupFolderType_xCertificateGroupx_TrustList_Close_InputArguments,13927,Variable -CertificateGroupFolderType_xCertificateGroupx_TrustList_Read,13928,Method -CertificateGroupFolderType_xCertificateGroupx_TrustList_Read_InputArguments,13929,Variable -CertificateGroupFolderType_xCertificateGroupx_TrustList_Read_OutputArguments,13930,Variable -CertificateGroupFolderType_xCertificateGroupx_TrustList_Write,13931,Method -CertificateGroupFolderType_xCertificateGroupx_TrustList_Write_InputArguments,13932,Variable -CertificateGroupFolderType_xCertificateGroupx_TrustList_GetPosition,13933,Method -CertificateGroupFolderType_xCertificateGroupx_TrustList_GetPosition_InputArguments,13934,Variable -CertificateGroupFolderType_xCertificateGroupx_TrustList_GetPosition_OutputArguments,13935,Variable -CertificateGroupFolderType_xCertificateGroupx_TrustList_SetPosition,13936,Method -CertificateGroupFolderType_xCertificateGroupx_TrustList_SetPosition_InputArguments,13937,Variable -CertificateGroupFolderType_xCertificateGroupx_TrustList_LastUpdateTime,13938,Variable -CertificateGroupFolderType_xCertificateGroupx_TrustList_OpenWithMasks,13939,Method -CertificateGroupFolderType_xCertificateGroupx_TrustList_OpenWithMasks_InputArguments,13940,Variable -CertificateGroupFolderType_xCertificateGroupx_TrustList_OpenWithMasks_OutputArguments,13941,Variable -CertificateGroupFolderType_xCertificateGroupx_TrustList_CloseAndUpdate,13942,Method -CertificateGroupFolderType_xCertificateGroupx_TrustList_CloseAndUpdate_InputArguments,13943,Variable -CertificateGroupFolderType_xCertificateGroupx_TrustList_CloseAndUpdate_OutputArguments,13944,Variable -CertificateGroupFolderType_xCertificateGroupx_TrustList_AddCertificate,13945,Method -CertificateGroupFolderType_xCertificateGroupx_TrustList_AddCertificate_InputArguments,13946,Variable -CertificateGroupFolderType_xCertificateGroupx_TrustList_RemoveCertificate,13947,Method -CertificateGroupFolderType_xCertificateGroupx_TrustList_RemoveCertificate_InputArguments,13948,Variable -CertificateGroupFolderType_xCertificateGroupx_CertificateTypes,13949,Variable -ServerConfigurationType_CertificateGroups,13950,Object -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup,13951,Object -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList,13952,Object -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Size,13953,Variable -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Writable,13954,Variable -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_UserWritable,13955,Variable -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_OpenCount,13956,Variable -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_MimeType,13957,Variable -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Open,13958,Method -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Open_InputArguments,13959,Variable -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Open_OutputArguments,13960,Variable -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Close,13961,Method -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Close_InputArguments,13962,Variable -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Read,13963,Method -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Read_InputArguments,13964,Variable -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Read_OutputArguments,13965,Variable -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Write,13966,Method -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Write_InputArguments,13967,Variable -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_GetPosition,13968,Method -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_GetPosition_InputArguments,13969,Variable -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_GetPosition_OutputArguments,13970,Variable -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_SetPosition,13971,Method -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_SetPosition_InputArguments,13972,Variable -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_LastUpdateTime,13973,Variable -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_OpenWithMasks,13974,Method -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_OpenWithMasks_InputArguments,13975,Variable -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_OpenWithMasks_OutputArguments,13976,Variable -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_CloseAndUpdate,13977,Method -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_CloseAndUpdate_InputArguments,13978,Variable -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_CloseAndUpdate_OutputArguments,13979,Variable -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_AddCertificate,13980,Method -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_AddCertificate_InputArguments,13981,Variable -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_RemoveCertificate,13982,Method -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_RemoveCertificate_InputArguments,13983,Variable -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_CertificateTypes,13984,Variable -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup,13985,Object -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList,13986,Object -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Size,13987,Variable -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Writable,13988,Variable -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_UserWritable,13989,Variable -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_OpenCount,13990,Variable -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_MimeType,13991,Variable -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Open,13992,Method -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Open_InputArguments,13993,Variable -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Open_OutputArguments,13994,Variable -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Close,13995,Method -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Close_InputArguments,13996,Variable -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Read,13997,Method -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Read_InputArguments,13998,Variable -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Read_OutputArguments,13999,Variable -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Write,14000,Method -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Write_InputArguments,14001,Variable -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_GetPosition,14002,Method -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_GetPosition_InputArguments,14003,Variable -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_GetPosition_OutputArguments,14004,Variable -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_SetPosition,14005,Method -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_SetPosition_InputArguments,14006,Variable -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_LastUpdateTime,14007,Variable -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_OpenWithMasks,14008,Method -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_OpenWithMasks_InputArguments,14009,Variable -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_OpenWithMasks_OutputArguments,14010,Variable -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_CloseAndUpdate,14011,Method -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_CloseAndUpdate_InputArguments,14012,Variable -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_CloseAndUpdate_OutputArguments,14013,Variable -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_AddCertificate,14014,Method -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_AddCertificate_InputArguments,14015,Variable -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_RemoveCertificate,14016,Method -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_RemoveCertificate_InputArguments,14017,Variable -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_CertificateTypes,14018,Variable -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup,14019,Object -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList,14020,Object -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Size,14021,Variable -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Writable,14022,Variable -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_UserWritable,14023,Variable -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenCount,14024,Variable -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_MimeType,14025,Variable -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Open,14026,Method -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Open_InputArguments,14027,Variable -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Open_OutputArguments,14028,Variable -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Close,14029,Method -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Close_InputArguments,14030,Variable -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Read,14031,Method -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Read_InputArguments,14032,Variable -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Read_OutputArguments,14033,Variable -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Write,14034,Method -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Write_InputArguments,14035,Variable -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_GetPosition,14036,Method -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_GetPosition_InputArguments,14037,Variable -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_GetPosition_OutputArguments,14038,Variable -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_SetPosition,14039,Method -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_SetPosition_InputArguments,14040,Variable -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_LastUpdateTime,14041,Variable -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenWithMasks,14042,Method -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenWithMasks_InputArguments,14043,Variable -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenWithMasks_OutputArguments,14044,Variable -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_CloseAndUpdate,14045,Method -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_CloseAndUpdate_InputArguments,14046,Variable -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_CloseAndUpdate_OutputArguments,14047,Variable -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_AddCertificate,14048,Method -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_AddCertificate_InputArguments,14049,Variable -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_RemoveCertificate,14050,Method -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_RemoveCertificate_InputArguments,14051,Variable -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_CertificateTypes,14052,Variable -ServerConfiguration_CertificateGroups,14053,Object -ServerConfiguration_CertificateGroups_DefaultHttpsGroup,14088,Object -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList,14089,Object -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Size,14090,Variable -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Writable,14091,Variable -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_UserWritable,14092,Variable -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_OpenCount,14093,Variable -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_MimeType,14094,Variable -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Open,14095,Method -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Open_InputArguments,14096,Variable -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Open_OutputArguments,14097,Variable -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Close,14098,Method -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Close_InputArguments,14099,Variable -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Read,14100,Method -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Read_InputArguments,14101,Variable -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Read_OutputArguments,14102,Variable -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Write,14103,Method -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Write_InputArguments,14104,Variable -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_GetPosition,14105,Method -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_GetPosition_InputArguments,14106,Variable -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_GetPosition_OutputArguments,14107,Variable -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_SetPosition,14108,Method -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_SetPosition_InputArguments,14109,Variable -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_LastUpdateTime,14110,Variable -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_OpenWithMasks,14111,Method -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_OpenWithMasks_InputArguments,14112,Variable -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_OpenWithMasks_OutputArguments,14113,Variable -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_CloseAndUpdate,14114,Method -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_CloseAndUpdate_InputArguments,14115,Variable -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_CloseAndUpdate_OutputArguments,14116,Variable -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_AddCertificate,14117,Method -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_AddCertificate_InputArguments,14118,Variable -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_RemoveCertificate,14119,Method -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_RemoveCertificate_InputArguments,14120,Variable -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_CertificateTypes,14121,Variable -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup,14122,Object -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList,14123,Object -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Size,14124,Variable -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Writable,14125,Variable -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_UserWritable,14126,Variable -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenCount,14127,Variable -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_MimeType,14128,Variable -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Open,14129,Method -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Open_InputArguments,14130,Variable -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Open_OutputArguments,14131,Variable -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Close,14132,Method -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Close_InputArguments,14133,Variable -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Read,14134,Method -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Read_InputArguments,14135,Variable -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Read_OutputArguments,14136,Variable -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Write,14137,Method -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Write_InputArguments,14138,Variable -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_GetPosition,14139,Method -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_GetPosition_InputArguments,14140,Variable -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_GetPosition_OutputArguments,14141,Variable -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_SetPosition,14142,Method -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_SetPosition_InputArguments,14143,Variable -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_LastUpdateTime,14144,Variable -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenWithMasks,14145,Method -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenWithMasks_InputArguments,14146,Variable -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenWithMasks_OutputArguments,14147,Variable -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_CloseAndUpdate,14148,Method -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_CloseAndUpdate_InputArguments,14149,Variable -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_CloseAndUpdate_OutputArguments,14150,Variable -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_AddCertificate,14151,Method -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_AddCertificate_InputArguments,14152,Variable -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_RemoveCertificate,14153,Method -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_RemoveCertificate_InputArguments,14154,Variable -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_CertificateTypes,14155,Variable -ServerConfiguration_CertificateGroups_DefaultApplicationGroup,14156,Object -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Writable,14157,Variable -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_UserWritable,14158,Variable -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_MimeType,14159,Variable -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_CloseAndUpdate_InputArguments,14160,Variable -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_CertificateTypes,14161,Variable -AuditCreateSessionEventType_SessionId,14413,Variable -AuditUrlMismatchEventType_SessionId,14414,Variable -Server_ServerRedundancy_ServerNetworkGroups,14415,Variable +Boolean,1,DataType +SByte,2,DataType +Byte,3,DataType +Int16,4,DataType +UInt16,5,DataType +Int32,6,DataType +UInt32,7,DataType +Int64,8,DataType +UInt64,9,DataType +Float,10,DataType +Double,11,DataType +String,12,DataType +DateTime,13,DataType +Guid,14,DataType +ByteString,15,DataType +XmlElement,16,DataType +NodeId,17,DataType +ExpandedNodeId,18,DataType +StatusCode,19,DataType +QualifiedName,20,DataType +LocalizedText,21,DataType +Structure,22,DataType +DataValue,23,DataType +BaseDataType,24,DataType +DiagnosticInfo,25,DataType +Number,26,DataType +Integer,27,DataType +UInteger,28,DataType +Enumeration,29,DataType +Image,30,DataType +References,31,ReferenceType +NonHierarchicalReferences,32,ReferenceType +HierarchicalReferences,33,ReferenceType +HasChild,34,ReferenceType +Organizes,35,ReferenceType +HasEventSource,36,ReferenceType +HasModellingRule,37,ReferenceType +HasEncoding,38,ReferenceType +HasDescription,39,ReferenceType +HasTypeDefinition,40,ReferenceType +GeneratesEvent,41,ReferenceType +Aggregates,44,ReferenceType +HasSubtype,45,ReferenceType +HasProperty,46,ReferenceType +HasComponent,47,ReferenceType +HasNotifier,48,ReferenceType +HasOrderedComponent,49,ReferenceType +FromState,51,ReferenceType +ToState,52,ReferenceType +HasCause,53,ReferenceType +HasEffect,54,ReferenceType +HasHistoricalConfiguration,56,ReferenceType +BaseObjectType,58,ObjectType +FolderType,61,ObjectType +BaseVariableType,62,VariableType +BaseDataVariableType,63,VariableType +PropertyType,68,VariableType +DataTypeDescriptionType,69,VariableType +DataTypeDictionaryType,72,VariableType +DataTypeSystemType,75,ObjectType +DataTypeEncodingType,76,ObjectType +ModellingRuleType,77,ObjectType +ModellingRule_Mandatory,78,Object +ModellingRule_MandatoryShared,79,Object +ModellingRule_Optional,80,Object +ModellingRule_ExposesItsArray,83,Object +RootFolder,84,Object +ObjectsFolder,85,Object +TypesFolder,86,Object +ViewsFolder,87,Object +ObjectTypesFolder,88,Object +VariableTypesFolder,89,Object +DataTypesFolder,90,Object +ReferenceTypesFolder,91,Object +XmlSchema_TypeSystem,92,Object +OPCBinarySchema_TypeSystem,93,Object +DataTypeDescriptionType_DataTypeVersion,104,Variable +DataTypeDescriptionType_DictionaryFragment,105,Variable +DataTypeDictionaryType_DataTypeVersion,106,Variable +DataTypeDictionaryType_NamespaceUri,107,Variable +ModellingRuleType_NamingRule,111,Variable +ModellingRule_Mandatory_NamingRule,112,Variable +ModellingRule_Optional_NamingRule,113,Variable +ModellingRule_ExposesItsArray_NamingRule,114,Variable +ModellingRule_MandatoryShared_NamingRule,116,Variable +HasSubStateMachine,117,ReferenceType +NamingRuleType,120,DataType +Decimal128,121,DataType +IdType,256,DataType +NodeClass,257,DataType +Node,258,DataType +Node_Encoding_DefaultXml,259,Object +Node_Encoding_DefaultBinary,260,Object +ObjectNode,261,DataType +ObjectNode_Encoding_DefaultXml,262,Object +ObjectNode_Encoding_DefaultBinary,263,Object +ObjectTypeNode,264,DataType +ObjectTypeNode_Encoding_DefaultXml,265,Object +ObjectTypeNode_Encoding_DefaultBinary,266,Object +VariableNode,267,DataType +VariableNode_Encoding_DefaultXml,268,Object +VariableNode_Encoding_DefaultBinary,269,Object +VariableTypeNode,270,DataType +VariableTypeNode_Encoding_DefaultXml,271,Object +VariableTypeNode_Encoding_DefaultBinary,272,Object +ReferenceTypeNode,273,DataType +ReferenceTypeNode_Encoding_DefaultXml,274,Object +ReferenceTypeNode_Encoding_DefaultBinary,275,Object +MethodNode,276,DataType +MethodNode_Encoding_DefaultXml,277,Object +MethodNode_Encoding_DefaultBinary,278,Object +ViewNode,279,DataType +ViewNode_Encoding_DefaultXml,280,Object +ViewNode_Encoding_DefaultBinary,281,Object +DataTypeNode,282,DataType +DataTypeNode_Encoding_DefaultXml,283,Object +DataTypeNode_Encoding_DefaultBinary,284,Object +ReferenceNode,285,DataType +ReferenceNode_Encoding_DefaultXml,286,Object +ReferenceNode_Encoding_DefaultBinary,287,Object +IntegerId,288,DataType +Counter,289,DataType +Duration,290,DataType +NumericRange,291,DataType +Time,292,DataType +Date,293,DataType +UtcTime,294,DataType +LocaleId,295,DataType +Argument,296,DataType +Argument_Encoding_DefaultXml,297,Object +Argument_Encoding_DefaultBinary,298,Object +StatusResult,299,DataType +StatusResult_Encoding_DefaultXml,300,Object +StatusResult_Encoding_DefaultBinary,301,Object +MessageSecurityMode,302,DataType +UserTokenType,303,DataType +UserTokenPolicy,304,DataType +UserTokenPolicy_Encoding_DefaultXml,305,Object +UserTokenPolicy_Encoding_DefaultBinary,306,Object +ApplicationType,307,DataType +ApplicationDescription,308,DataType +ApplicationDescription_Encoding_DefaultXml,309,Object +ApplicationDescription_Encoding_DefaultBinary,310,Object +ApplicationInstanceCertificate,311,DataType +EndpointDescription,312,DataType +EndpointDescription_Encoding_DefaultXml,313,Object +EndpointDescription_Encoding_DefaultBinary,314,Object +SecurityTokenRequestType,315,DataType +UserIdentityToken,316,DataType +UserIdentityToken_Encoding_DefaultXml,317,Object +UserIdentityToken_Encoding_DefaultBinary,318,Object +AnonymousIdentityToken,319,DataType +AnonymousIdentityToken_Encoding_DefaultXml,320,Object +AnonymousIdentityToken_Encoding_DefaultBinary,321,Object +UserNameIdentityToken,322,DataType +UserNameIdentityToken_Encoding_DefaultXml,323,Object +UserNameIdentityToken_Encoding_DefaultBinary,324,Object +X509IdentityToken,325,DataType +X509IdentityToken_Encoding_DefaultXml,326,Object +X509IdentityToken_Encoding_DefaultBinary,327,Object +EndpointConfiguration,331,DataType +EndpointConfiguration_Encoding_DefaultXml,332,Object +EndpointConfiguration_Encoding_DefaultBinary,333,Object +BuildInfo,338,DataType +BuildInfo_Encoding_DefaultXml,339,Object +BuildInfo_Encoding_DefaultBinary,340,Object +SignedSoftwareCertificate,344,DataType +SignedSoftwareCertificate_Encoding_DefaultXml,345,Object +SignedSoftwareCertificate_Encoding_DefaultBinary,346,Object +AttributeWriteMask,347,DataType +NodeAttributesMask,348,DataType +NodeAttributes,349,DataType +NodeAttributes_Encoding_DefaultXml,350,Object +NodeAttributes_Encoding_DefaultBinary,351,Object +ObjectAttributes,352,DataType +ObjectAttributes_Encoding_DefaultXml,353,Object +ObjectAttributes_Encoding_DefaultBinary,354,Object +VariableAttributes,355,DataType +VariableAttributes_Encoding_DefaultXml,356,Object +VariableAttributes_Encoding_DefaultBinary,357,Object +MethodAttributes,358,DataType +MethodAttributes_Encoding_DefaultXml,359,Object +MethodAttributes_Encoding_DefaultBinary,360,Object +ObjectTypeAttributes,361,DataType +ObjectTypeAttributes_Encoding_DefaultXml,362,Object +ObjectTypeAttributes_Encoding_DefaultBinary,363,Object +VariableTypeAttributes,364,DataType +VariableTypeAttributes_Encoding_DefaultXml,365,Object +VariableTypeAttributes_Encoding_DefaultBinary,366,Object +ReferenceTypeAttributes,367,DataType +ReferenceTypeAttributes_Encoding_DefaultXml,368,Object +ReferenceTypeAttributes_Encoding_DefaultBinary,369,Object +DataTypeAttributes,370,DataType +DataTypeAttributes_Encoding_DefaultXml,371,Object +DataTypeAttributes_Encoding_DefaultBinary,372,Object +ViewAttributes,373,DataType +ViewAttributes_Encoding_DefaultXml,374,Object +ViewAttributes_Encoding_DefaultBinary,375,Object +AddNodesItem,376,DataType +AddNodesItem_Encoding_DefaultXml,377,Object +AddNodesItem_Encoding_DefaultBinary,378,Object +AddReferencesItem,379,DataType +AddReferencesItem_Encoding_DefaultXml,380,Object +AddReferencesItem_Encoding_DefaultBinary,381,Object +DeleteNodesItem,382,DataType +DeleteNodesItem_Encoding_DefaultXml,383,Object +DeleteNodesItem_Encoding_DefaultBinary,384,Object +DeleteReferencesItem,385,DataType +DeleteReferencesItem_Encoding_DefaultXml,386,Object +DeleteReferencesItem_Encoding_DefaultBinary,387,Object +SessionAuthenticationToken,388,DataType +RequestHeader,389,DataType +RequestHeader_Encoding_DefaultXml,390,Object +RequestHeader_Encoding_DefaultBinary,391,Object +ResponseHeader,392,DataType +ResponseHeader_Encoding_DefaultXml,393,Object +ResponseHeader_Encoding_DefaultBinary,394,Object +ServiceFault,395,DataType +ServiceFault_Encoding_DefaultXml,396,Object +ServiceFault_Encoding_DefaultBinary,397,Object +FindServersRequest,420,DataType +FindServersRequest_Encoding_DefaultXml,421,Object +FindServersRequest_Encoding_DefaultBinary,422,Object +FindServersResponse,423,DataType +FindServersResponse_Encoding_DefaultXml,424,Object +FindServersResponse_Encoding_DefaultBinary,425,Object +GetEndpointsRequest,426,DataType +GetEndpointsRequest_Encoding_DefaultXml,427,Object +GetEndpointsRequest_Encoding_DefaultBinary,428,Object +GetEndpointsResponse,429,DataType +GetEndpointsResponse_Encoding_DefaultXml,430,Object +GetEndpointsResponse_Encoding_DefaultBinary,431,Object +RegisteredServer,432,DataType +RegisteredServer_Encoding_DefaultXml,433,Object +RegisteredServer_Encoding_DefaultBinary,434,Object +RegisterServerRequest,435,DataType +RegisterServerRequest_Encoding_DefaultXml,436,Object +RegisterServerRequest_Encoding_DefaultBinary,437,Object +RegisterServerResponse,438,DataType +RegisterServerResponse_Encoding_DefaultXml,439,Object +RegisterServerResponse_Encoding_DefaultBinary,440,Object +ChannelSecurityToken,441,DataType +ChannelSecurityToken_Encoding_DefaultXml,442,Object +ChannelSecurityToken_Encoding_DefaultBinary,443,Object +OpenSecureChannelRequest,444,DataType +OpenSecureChannelRequest_Encoding_DefaultXml,445,Object +OpenSecureChannelRequest_Encoding_DefaultBinary,446,Object +OpenSecureChannelResponse,447,DataType +OpenSecureChannelResponse_Encoding_DefaultXml,448,Object +OpenSecureChannelResponse_Encoding_DefaultBinary,449,Object +CloseSecureChannelRequest,450,DataType +CloseSecureChannelRequest_Encoding_DefaultXml,451,Object +CloseSecureChannelRequest_Encoding_DefaultBinary,452,Object +CloseSecureChannelResponse,453,DataType +CloseSecureChannelResponse_Encoding_DefaultXml,454,Object +CloseSecureChannelResponse_Encoding_DefaultBinary,455,Object +SignatureData,456,DataType +SignatureData_Encoding_DefaultXml,457,Object +SignatureData_Encoding_DefaultBinary,458,Object +CreateSessionRequest,459,DataType +CreateSessionRequest_Encoding_DefaultXml,460,Object +CreateSessionRequest_Encoding_DefaultBinary,461,Object +CreateSessionResponse,462,DataType +CreateSessionResponse_Encoding_DefaultXml,463,Object +CreateSessionResponse_Encoding_DefaultBinary,464,Object +ActivateSessionRequest,465,DataType +ActivateSessionRequest_Encoding_DefaultXml,466,Object +ActivateSessionRequest_Encoding_DefaultBinary,467,Object +ActivateSessionResponse,468,DataType +ActivateSessionResponse_Encoding_DefaultXml,469,Object +ActivateSessionResponse_Encoding_DefaultBinary,470,Object +CloseSessionRequest,471,DataType +CloseSessionRequest_Encoding_DefaultXml,472,Object +CloseSessionRequest_Encoding_DefaultBinary,473,Object +CloseSessionResponse,474,DataType +CloseSessionResponse_Encoding_DefaultXml,475,Object +CloseSessionResponse_Encoding_DefaultBinary,476,Object +CancelRequest,477,DataType +CancelRequest_Encoding_DefaultXml,478,Object +CancelRequest_Encoding_DefaultBinary,479,Object +CancelResponse,480,DataType +CancelResponse_Encoding_DefaultXml,481,Object +CancelResponse_Encoding_DefaultBinary,482,Object +AddNodesResult,483,DataType +AddNodesResult_Encoding_DefaultXml,484,Object +AddNodesResult_Encoding_DefaultBinary,485,Object +AddNodesRequest,486,DataType +AddNodesRequest_Encoding_DefaultXml,487,Object +AddNodesRequest_Encoding_DefaultBinary,488,Object +AddNodesResponse,489,DataType +AddNodesResponse_Encoding_DefaultXml,490,Object +AddNodesResponse_Encoding_DefaultBinary,491,Object +AddReferencesRequest,492,DataType +AddReferencesRequest_Encoding_DefaultXml,493,Object +AddReferencesRequest_Encoding_DefaultBinary,494,Object +AddReferencesResponse,495,DataType +AddReferencesResponse_Encoding_DefaultXml,496,Object +AddReferencesResponse_Encoding_DefaultBinary,497,Object +DeleteNodesRequest,498,DataType +DeleteNodesRequest_Encoding_DefaultXml,499,Object +DeleteNodesRequest_Encoding_DefaultBinary,500,Object +DeleteNodesResponse,501,DataType +DeleteNodesResponse_Encoding_DefaultXml,502,Object +DeleteNodesResponse_Encoding_DefaultBinary,503,Object +DeleteReferencesRequest,504,DataType +DeleteReferencesRequest_Encoding_DefaultXml,505,Object +DeleteReferencesRequest_Encoding_DefaultBinary,506,Object +DeleteReferencesResponse,507,DataType +DeleteReferencesResponse_Encoding_DefaultXml,508,Object +DeleteReferencesResponse_Encoding_DefaultBinary,509,Object +BrowseDirection,510,DataType +ViewDescription,511,DataType +ViewDescription_Encoding_DefaultXml,512,Object +ViewDescription_Encoding_DefaultBinary,513,Object +BrowseDescription,514,DataType +BrowseDescription_Encoding_DefaultXml,515,Object +BrowseDescription_Encoding_DefaultBinary,516,Object +BrowseResultMask,517,DataType +ReferenceDescription,518,DataType +ReferenceDescription_Encoding_DefaultXml,519,Object +ReferenceDescription_Encoding_DefaultBinary,520,Object +ContinuationPoint,521,DataType +BrowseResult,522,DataType +BrowseResult_Encoding_DefaultXml,523,Object +BrowseResult_Encoding_DefaultBinary,524,Object +BrowseRequest,525,DataType +BrowseRequest_Encoding_DefaultXml,526,Object +BrowseRequest_Encoding_DefaultBinary,527,Object +BrowseResponse,528,DataType +BrowseResponse_Encoding_DefaultXml,529,Object +BrowseResponse_Encoding_DefaultBinary,530,Object +BrowseNextRequest,531,DataType +BrowseNextRequest_Encoding_DefaultXml,532,Object +BrowseNextRequest_Encoding_DefaultBinary,533,Object +BrowseNextResponse,534,DataType +BrowseNextResponse_Encoding_DefaultXml,535,Object +BrowseNextResponse_Encoding_DefaultBinary,536,Object +RelativePathElement,537,DataType +RelativePathElement_Encoding_DefaultXml,538,Object +RelativePathElement_Encoding_DefaultBinary,539,Object +RelativePath,540,DataType +RelativePath_Encoding_DefaultXml,541,Object +RelativePath_Encoding_DefaultBinary,542,Object +BrowsePath,543,DataType +BrowsePath_Encoding_DefaultXml,544,Object +BrowsePath_Encoding_DefaultBinary,545,Object +BrowsePathTarget,546,DataType +BrowsePathTarget_Encoding_DefaultXml,547,Object +BrowsePathTarget_Encoding_DefaultBinary,548,Object +BrowsePathResult,549,DataType +BrowsePathResult_Encoding_DefaultXml,550,Object +BrowsePathResult_Encoding_DefaultBinary,551,Object +TranslateBrowsePathsToNodeIdsRequest,552,DataType +TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultXml,553,Object +TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultBinary,554,Object +TranslateBrowsePathsToNodeIdsResponse,555,DataType +TranslateBrowsePathsToNodeIdsResponse_Encoding_DefaultXml,556,Object +TranslateBrowsePathsToNodeIdsResponse_Encoding_DefaultBinary,557,Object +RegisterNodesRequest,558,DataType +RegisterNodesRequest_Encoding_DefaultXml,559,Object +RegisterNodesRequest_Encoding_DefaultBinary,560,Object +RegisterNodesResponse,561,DataType +RegisterNodesResponse_Encoding_DefaultXml,562,Object +RegisterNodesResponse_Encoding_DefaultBinary,563,Object +UnregisterNodesRequest,564,DataType +UnregisterNodesRequest_Encoding_DefaultXml,565,Object +UnregisterNodesRequest_Encoding_DefaultBinary,566,Object +UnregisterNodesResponse,567,DataType +UnregisterNodesResponse_Encoding_DefaultXml,568,Object +UnregisterNodesResponse_Encoding_DefaultBinary,569,Object +QueryDataDescription,570,DataType +QueryDataDescription_Encoding_DefaultXml,571,Object +QueryDataDescription_Encoding_DefaultBinary,572,Object +NodeTypeDescription,573,DataType +NodeTypeDescription_Encoding_DefaultXml,574,Object +NodeTypeDescription_Encoding_DefaultBinary,575,Object +FilterOperator,576,DataType +QueryDataSet,577,DataType +QueryDataSet_Encoding_DefaultXml,578,Object +QueryDataSet_Encoding_DefaultBinary,579,Object +NodeReference,580,DataType +NodeReference_Encoding_DefaultXml,581,Object +NodeReference_Encoding_DefaultBinary,582,Object +ContentFilterElement,583,DataType +ContentFilterElement_Encoding_DefaultXml,584,Object +ContentFilterElement_Encoding_DefaultBinary,585,Object +ContentFilter,586,DataType +ContentFilter_Encoding_DefaultXml,587,Object +ContentFilter_Encoding_DefaultBinary,588,Object +FilterOperand,589,DataType +FilterOperand_Encoding_DefaultXml,590,Object +FilterOperand_Encoding_DefaultBinary,591,Object +ElementOperand,592,DataType +ElementOperand_Encoding_DefaultXml,593,Object +ElementOperand_Encoding_DefaultBinary,594,Object +LiteralOperand,595,DataType +LiteralOperand_Encoding_DefaultXml,596,Object +LiteralOperand_Encoding_DefaultBinary,597,Object +AttributeOperand,598,DataType +AttributeOperand_Encoding_DefaultXml,599,Object +AttributeOperand_Encoding_DefaultBinary,600,Object +SimpleAttributeOperand,601,DataType +SimpleAttributeOperand_Encoding_DefaultXml,602,Object +SimpleAttributeOperand_Encoding_DefaultBinary,603,Object +ContentFilterElementResult,604,DataType +ContentFilterElementResult_Encoding_DefaultXml,605,Object +ContentFilterElementResult_Encoding_DefaultBinary,606,Object +ContentFilterResult,607,DataType +ContentFilterResult_Encoding_DefaultXml,608,Object +ContentFilterResult_Encoding_DefaultBinary,609,Object +ParsingResult,610,DataType +ParsingResult_Encoding_DefaultXml,611,Object +ParsingResult_Encoding_DefaultBinary,612,Object +QueryFirstRequest,613,DataType +QueryFirstRequest_Encoding_DefaultXml,614,Object +QueryFirstRequest_Encoding_DefaultBinary,615,Object +QueryFirstResponse,616,DataType +QueryFirstResponse_Encoding_DefaultXml,617,Object +QueryFirstResponse_Encoding_DefaultBinary,618,Object +QueryNextRequest,619,DataType +QueryNextRequest_Encoding_DefaultXml,620,Object +QueryNextRequest_Encoding_DefaultBinary,621,Object +QueryNextResponse,622,DataType +QueryNextResponse_Encoding_DefaultXml,623,Object +QueryNextResponse_Encoding_DefaultBinary,624,Object +TimestampsToReturn,625,DataType +ReadValueId,626,DataType +ReadValueId_Encoding_DefaultXml,627,Object +ReadValueId_Encoding_DefaultBinary,628,Object +ReadRequest,629,DataType +ReadRequest_Encoding_DefaultXml,630,Object +ReadRequest_Encoding_DefaultBinary,631,Object +ReadResponse,632,DataType +ReadResponse_Encoding_DefaultXml,633,Object +ReadResponse_Encoding_DefaultBinary,634,Object +HistoryReadValueId,635,DataType +HistoryReadValueId_Encoding_DefaultXml,636,Object +HistoryReadValueId_Encoding_DefaultBinary,637,Object +HistoryReadResult,638,DataType +HistoryReadResult_Encoding_DefaultXml,639,Object +HistoryReadResult_Encoding_DefaultBinary,640,Object +HistoryReadDetails,641,DataType +HistoryReadDetails_Encoding_DefaultXml,642,Object +HistoryReadDetails_Encoding_DefaultBinary,643,Object +ReadEventDetails,644,DataType +ReadEventDetails_Encoding_DefaultXml,645,Object +ReadEventDetails_Encoding_DefaultBinary,646,Object +ReadRawModifiedDetails,647,DataType +ReadRawModifiedDetails_Encoding_DefaultXml,648,Object +ReadRawModifiedDetails_Encoding_DefaultBinary,649,Object +ReadProcessedDetails,650,DataType +ReadProcessedDetails_Encoding_DefaultXml,651,Object +ReadProcessedDetails_Encoding_DefaultBinary,652,Object +ReadAtTimeDetails,653,DataType +ReadAtTimeDetails_Encoding_DefaultXml,654,Object +ReadAtTimeDetails_Encoding_DefaultBinary,655,Object +HistoryData,656,DataType +HistoryData_Encoding_DefaultXml,657,Object +HistoryData_Encoding_DefaultBinary,658,Object +HistoryEvent,659,DataType +HistoryEvent_Encoding_DefaultXml,660,Object +HistoryEvent_Encoding_DefaultBinary,661,Object +HistoryReadRequest,662,DataType +HistoryReadRequest_Encoding_DefaultXml,663,Object +HistoryReadRequest_Encoding_DefaultBinary,664,Object +HistoryReadResponse,665,DataType +HistoryReadResponse_Encoding_DefaultXml,666,Object +HistoryReadResponse_Encoding_DefaultBinary,667,Object +WriteValue,668,DataType +WriteValue_Encoding_DefaultXml,669,Object +WriteValue_Encoding_DefaultBinary,670,Object +WriteRequest,671,DataType +WriteRequest_Encoding_DefaultXml,672,Object +WriteRequest_Encoding_DefaultBinary,673,Object +WriteResponse,674,DataType +WriteResponse_Encoding_DefaultXml,675,Object +WriteResponse_Encoding_DefaultBinary,676,Object +HistoryUpdateDetails,677,DataType +HistoryUpdateDetails_Encoding_DefaultXml,678,Object +HistoryUpdateDetails_Encoding_DefaultBinary,679,Object +UpdateDataDetails,680,DataType +UpdateDataDetails_Encoding_DefaultXml,681,Object +UpdateDataDetails_Encoding_DefaultBinary,682,Object +UpdateEventDetails,683,DataType +UpdateEventDetails_Encoding_DefaultXml,684,Object +UpdateEventDetails_Encoding_DefaultBinary,685,Object +DeleteRawModifiedDetails,686,DataType +DeleteRawModifiedDetails_Encoding_DefaultXml,687,Object +DeleteRawModifiedDetails_Encoding_DefaultBinary,688,Object +DeleteAtTimeDetails,689,DataType +DeleteAtTimeDetails_Encoding_DefaultXml,690,Object +DeleteAtTimeDetails_Encoding_DefaultBinary,691,Object +DeleteEventDetails,692,DataType +DeleteEventDetails_Encoding_DefaultXml,693,Object +DeleteEventDetails_Encoding_DefaultBinary,694,Object +HistoryUpdateResult,695,DataType +HistoryUpdateResult_Encoding_DefaultXml,696,Object +HistoryUpdateResult_Encoding_DefaultBinary,697,Object +HistoryUpdateRequest,698,DataType +HistoryUpdateRequest_Encoding_DefaultXml,699,Object +HistoryUpdateRequest_Encoding_DefaultBinary,700,Object +HistoryUpdateResponse,701,DataType +HistoryUpdateResponse_Encoding_DefaultXml,702,Object +HistoryUpdateResponse_Encoding_DefaultBinary,703,Object +CallMethodRequest,704,DataType +CallMethodRequest_Encoding_DefaultXml,705,Object +CallMethodRequest_Encoding_DefaultBinary,706,Object +CallMethodResult,707,DataType +CallMethodResult_Encoding_DefaultXml,708,Object +CallMethodResult_Encoding_DefaultBinary,709,Object +CallRequest,710,DataType +CallRequest_Encoding_DefaultXml,711,Object +CallRequest_Encoding_DefaultBinary,712,Object +CallResponse,713,DataType +CallResponse_Encoding_DefaultXml,714,Object +CallResponse_Encoding_DefaultBinary,715,Object +MonitoringMode,716,DataType +DataChangeTrigger,717,DataType +DeadbandType,718,DataType +MonitoringFilter,719,DataType +MonitoringFilter_Encoding_DefaultXml,720,Object +MonitoringFilter_Encoding_DefaultBinary,721,Object +DataChangeFilter,722,DataType +DataChangeFilter_Encoding_DefaultXml,723,Object +DataChangeFilter_Encoding_DefaultBinary,724,Object +EventFilter,725,DataType +EventFilter_Encoding_DefaultXml,726,Object +EventFilter_Encoding_DefaultBinary,727,Object +AggregateFilter,728,DataType +AggregateFilter_Encoding_DefaultXml,729,Object +AggregateFilter_Encoding_DefaultBinary,730,Object +MonitoringFilterResult,731,DataType +MonitoringFilterResult_Encoding_DefaultXml,732,Object +MonitoringFilterResult_Encoding_DefaultBinary,733,Object +EventFilterResult,734,DataType +EventFilterResult_Encoding_DefaultXml,735,Object +EventFilterResult_Encoding_DefaultBinary,736,Object +AggregateFilterResult,737,DataType +AggregateFilterResult_Encoding_DefaultXml,738,Object +AggregateFilterResult_Encoding_DefaultBinary,739,Object +MonitoringParameters,740,DataType +MonitoringParameters_Encoding_DefaultXml,741,Object +MonitoringParameters_Encoding_DefaultBinary,742,Object +MonitoredItemCreateRequest,743,DataType +MonitoredItemCreateRequest_Encoding_DefaultXml,744,Object +MonitoredItemCreateRequest_Encoding_DefaultBinary,745,Object +MonitoredItemCreateResult,746,DataType +MonitoredItemCreateResult_Encoding_DefaultXml,747,Object +MonitoredItemCreateResult_Encoding_DefaultBinary,748,Object +CreateMonitoredItemsRequest,749,DataType +CreateMonitoredItemsRequest_Encoding_DefaultXml,750,Object +CreateMonitoredItemsRequest_Encoding_DefaultBinary,751,Object +CreateMonitoredItemsResponse,752,DataType +CreateMonitoredItemsResponse_Encoding_DefaultXml,753,Object +CreateMonitoredItemsResponse_Encoding_DefaultBinary,754,Object +MonitoredItemModifyRequest,755,DataType +MonitoredItemModifyRequest_Encoding_DefaultXml,756,Object +MonitoredItemModifyRequest_Encoding_DefaultBinary,757,Object +MonitoredItemModifyResult,758,DataType +MonitoredItemModifyResult_Encoding_DefaultXml,759,Object +MonitoredItemModifyResult_Encoding_DefaultBinary,760,Object +ModifyMonitoredItemsRequest,761,DataType +ModifyMonitoredItemsRequest_Encoding_DefaultXml,762,Object +ModifyMonitoredItemsRequest_Encoding_DefaultBinary,763,Object +ModifyMonitoredItemsResponse,764,DataType +ModifyMonitoredItemsResponse_Encoding_DefaultXml,765,Object +ModifyMonitoredItemsResponse_Encoding_DefaultBinary,766,Object +SetMonitoringModeRequest,767,DataType +SetMonitoringModeRequest_Encoding_DefaultXml,768,Object +SetMonitoringModeRequest_Encoding_DefaultBinary,769,Object +SetMonitoringModeResponse,770,DataType +SetMonitoringModeResponse_Encoding_DefaultXml,771,Object +SetMonitoringModeResponse_Encoding_DefaultBinary,772,Object +SetTriggeringRequest,773,DataType +SetTriggeringRequest_Encoding_DefaultXml,774,Object +SetTriggeringRequest_Encoding_DefaultBinary,775,Object +SetTriggeringResponse,776,DataType +SetTriggeringResponse_Encoding_DefaultXml,777,Object +SetTriggeringResponse_Encoding_DefaultBinary,778,Object +DeleteMonitoredItemsRequest,779,DataType +DeleteMonitoredItemsRequest_Encoding_DefaultXml,780,Object +DeleteMonitoredItemsRequest_Encoding_DefaultBinary,781,Object +DeleteMonitoredItemsResponse,782,DataType +DeleteMonitoredItemsResponse_Encoding_DefaultXml,783,Object +DeleteMonitoredItemsResponse_Encoding_DefaultBinary,784,Object +CreateSubscriptionRequest,785,DataType +CreateSubscriptionRequest_Encoding_DefaultXml,786,Object +CreateSubscriptionRequest_Encoding_DefaultBinary,787,Object +CreateSubscriptionResponse,788,DataType +CreateSubscriptionResponse_Encoding_DefaultXml,789,Object +CreateSubscriptionResponse_Encoding_DefaultBinary,790,Object +ModifySubscriptionRequest,791,DataType +ModifySubscriptionRequest_Encoding_DefaultXml,792,Object +ModifySubscriptionRequest_Encoding_DefaultBinary,793,Object +ModifySubscriptionResponse,794,DataType +ModifySubscriptionResponse_Encoding_DefaultXml,795,Object +ModifySubscriptionResponse_Encoding_DefaultBinary,796,Object +SetPublishingModeRequest,797,DataType +SetPublishingModeRequest_Encoding_DefaultXml,798,Object +SetPublishingModeRequest_Encoding_DefaultBinary,799,Object +SetPublishingModeResponse,800,DataType +SetPublishingModeResponse_Encoding_DefaultXml,801,Object +SetPublishingModeResponse_Encoding_DefaultBinary,802,Object +NotificationMessage,803,DataType +NotificationMessage_Encoding_DefaultXml,804,Object +NotificationMessage_Encoding_DefaultBinary,805,Object +MonitoredItemNotification,806,DataType +MonitoredItemNotification_Encoding_DefaultXml,807,Object +MonitoredItemNotification_Encoding_DefaultBinary,808,Object +DataChangeNotification,809,DataType +DataChangeNotification_Encoding_DefaultXml,810,Object +DataChangeNotification_Encoding_DefaultBinary,811,Object +StatusChangeNotification,818,DataType +StatusChangeNotification_Encoding_DefaultXml,819,Object +StatusChangeNotification_Encoding_DefaultBinary,820,Object +SubscriptionAcknowledgement,821,DataType +SubscriptionAcknowledgement_Encoding_DefaultXml,822,Object +SubscriptionAcknowledgement_Encoding_DefaultBinary,823,Object +PublishRequest,824,DataType +PublishRequest_Encoding_DefaultXml,825,Object +PublishRequest_Encoding_DefaultBinary,826,Object +PublishResponse,827,DataType +PublishResponse_Encoding_DefaultXml,828,Object +PublishResponse_Encoding_DefaultBinary,829,Object +RepublishRequest,830,DataType +RepublishRequest_Encoding_DefaultXml,831,Object +RepublishRequest_Encoding_DefaultBinary,832,Object +RepublishResponse,833,DataType +RepublishResponse_Encoding_DefaultXml,834,Object +RepublishResponse_Encoding_DefaultBinary,835,Object +TransferResult,836,DataType +TransferResult_Encoding_DefaultXml,837,Object +TransferResult_Encoding_DefaultBinary,838,Object +TransferSubscriptionsRequest,839,DataType +TransferSubscriptionsRequest_Encoding_DefaultXml,840,Object +TransferSubscriptionsRequest_Encoding_DefaultBinary,841,Object +TransferSubscriptionsResponse,842,DataType +TransferSubscriptionsResponse_Encoding_DefaultXml,843,Object +TransferSubscriptionsResponse_Encoding_DefaultBinary,844,Object +DeleteSubscriptionsRequest,845,DataType +DeleteSubscriptionsRequest_Encoding_DefaultXml,846,Object +DeleteSubscriptionsRequest_Encoding_DefaultBinary,847,Object +DeleteSubscriptionsResponse,848,DataType +DeleteSubscriptionsResponse_Encoding_DefaultXml,849,Object +DeleteSubscriptionsResponse_Encoding_DefaultBinary,850,Object +RedundancySupport,851,DataType +ServerState,852,DataType +RedundantServerDataType,853,DataType +RedundantServerDataType_Encoding_DefaultXml,854,Object +RedundantServerDataType_Encoding_DefaultBinary,855,Object +SamplingIntervalDiagnosticsDataType,856,DataType +SamplingIntervalDiagnosticsDataType_Encoding_DefaultXml,857,Object +SamplingIntervalDiagnosticsDataType_Encoding_DefaultBinary,858,Object +ServerDiagnosticsSummaryDataType,859,DataType +ServerDiagnosticsSummaryDataType_Encoding_DefaultXml,860,Object +ServerDiagnosticsSummaryDataType_Encoding_DefaultBinary,861,Object +ServerStatusDataType,862,DataType +ServerStatusDataType_Encoding_DefaultXml,863,Object +ServerStatusDataType_Encoding_DefaultBinary,864,Object +SessionDiagnosticsDataType,865,DataType +SessionDiagnosticsDataType_Encoding_DefaultXml,866,Object +SessionDiagnosticsDataType_Encoding_DefaultBinary,867,Object +SessionSecurityDiagnosticsDataType,868,DataType +SessionSecurityDiagnosticsDataType_Encoding_DefaultXml,869,Object +SessionSecurityDiagnosticsDataType_Encoding_DefaultBinary,870,Object +ServiceCounterDataType,871,DataType +ServiceCounterDataType_Encoding_DefaultXml,872,Object +ServiceCounterDataType_Encoding_DefaultBinary,873,Object +SubscriptionDiagnosticsDataType,874,DataType +SubscriptionDiagnosticsDataType_Encoding_DefaultXml,875,Object +SubscriptionDiagnosticsDataType_Encoding_DefaultBinary,876,Object +ModelChangeStructureDataType,877,DataType +ModelChangeStructureDataType_Encoding_DefaultXml,878,Object +ModelChangeStructureDataType_Encoding_DefaultBinary,879,Object +Range,884,DataType +Range_Encoding_DefaultXml,885,Object +Range_Encoding_DefaultBinary,886,Object +EUInformation,887,DataType +EUInformation_Encoding_DefaultXml,888,Object +EUInformation_Encoding_DefaultBinary,889,Object +ExceptionDeviationFormat,890,DataType +Annotation,891,DataType +Annotation_Encoding_DefaultXml,892,Object +Annotation_Encoding_DefaultBinary,893,Object +ProgramDiagnosticDataType,894,DataType +ProgramDiagnosticDataType_Encoding_DefaultXml,895,Object +ProgramDiagnosticDataType_Encoding_DefaultBinary,896,Object +SemanticChangeStructureDataType,897,DataType +SemanticChangeStructureDataType_Encoding_DefaultXml,898,Object +SemanticChangeStructureDataType_Encoding_DefaultBinary,899,Object +EventNotificationList,914,DataType +EventNotificationList_Encoding_DefaultXml,915,Object +EventNotificationList_Encoding_DefaultBinary,916,Object +EventFieldList,917,DataType +EventFieldList_Encoding_DefaultXml,918,Object +EventFieldList_Encoding_DefaultBinary,919,Object +HistoryEventFieldList,920,DataType +HistoryEventFieldList_Encoding_DefaultXml,921,Object +HistoryEventFieldList_Encoding_DefaultBinary,922,Object +IssuedIdentityToken,938,DataType +IssuedIdentityToken_Encoding_DefaultXml,939,Object +IssuedIdentityToken_Encoding_DefaultBinary,940,Object +NotificationData,945,DataType +NotificationData_Encoding_DefaultXml,946,Object +NotificationData_Encoding_DefaultBinary,947,Object +AggregateConfiguration,948,DataType +AggregateConfiguration_Encoding_DefaultXml,949,Object +AggregateConfiguration_Encoding_DefaultBinary,950,Object +ImageBMP,2000,DataType +ImageGIF,2001,DataType +ImageJPG,2002,DataType +ImagePNG,2003,DataType +ServerType,2004,ObjectType +ServerType_ServerArray,2005,Variable +ServerType_NamespaceArray,2006,Variable +ServerType_ServerStatus,2007,Variable +ServerType_ServiceLevel,2008,Variable +ServerType_ServerCapabilities,2009,Object +ServerType_ServerDiagnostics,2010,Object +ServerType_VendorServerInfo,2011,Object +ServerType_ServerRedundancy,2012,Object +ServerCapabilitiesType,2013,ObjectType +ServerCapabilitiesType_ServerProfileArray,2014,Variable +ServerCapabilitiesType_LocaleIdArray,2016,Variable +ServerCapabilitiesType_MinSupportedSampleRate,2017,Variable +ServerCapabilitiesType_ModellingRules,2019,Object +ServerDiagnosticsType,2020,ObjectType +ServerDiagnosticsType_ServerDiagnosticsSummary,2021,Variable +ServerDiagnosticsType_SamplingIntervalDiagnosticsArray,2022,Variable +ServerDiagnosticsType_SubscriptionDiagnosticsArray,2023,Variable +ServerDiagnosticsType_EnabledFlag,2025,Variable +SessionsDiagnosticsSummaryType,2026,ObjectType +SessionsDiagnosticsSummaryType_SessionDiagnosticsArray,2027,Variable +SessionsDiagnosticsSummaryType_SessionSecurityDiagnosticsArray,2028,Variable +SessionDiagnosticsObjectType,2029,ObjectType +SessionDiagnosticsObjectType_SessionDiagnostics,2030,Variable +SessionDiagnosticsObjectType_SessionSecurityDiagnostics,2031,Variable +SessionDiagnosticsObjectType_SubscriptionDiagnosticsArray,2032,Variable +VendorServerInfoType,2033,ObjectType +ServerRedundancyType,2034,ObjectType +ServerRedundancyType_RedundancySupport,2035,Variable +TransparentRedundancyType,2036,ObjectType +TransparentRedundancyType_CurrentServerId,2037,Variable +TransparentRedundancyType_RedundantServerArray,2038,Variable +NonTransparentRedundancyType,2039,ObjectType +NonTransparentRedundancyType_ServerUriArray,2040,Variable +BaseEventType,2041,ObjectType +BaseEventType_EventId,2042,Variable +BaseEventType_EventType,2043,Variable +BaseEventType_SourceNode,2044,Variable +BaseEventType_SourceName,2045,Variable +BaseEventType_Time,2046,Variable +BaseEventType_ReceiveTime,2047,Variable +BaseEventType_Message,2050,Variable +BaseEventType_Severity,2051,Variable +AuditEventType,2052,ObjectType +AuditEventType_ActionTimeStamp,2053,Variable +AuditEventType_Status,2054,Variable +AuditEventType_ServerId,2055,Variable +AuditEventType_ClientAuditEntryId,2056,Variable +AuditEventType_ClientUserId,2057,Variable +AuditSecurityEventType,2058,ObjectType +AuditChannelEventType,2059,ObjectType +AuditOpenSecureChannelEventType,2060,ObjectType +AuditOpenSecureChannelEventType_ClientCertificate,2061,Variable +AuditOpenSecureChannelEventType_RequestType,2062,Variable +AuditOpenSecureChannelEventType_SecurityPolicyUri,2063,Variable +AuditOpenSecureChannelEventType_SecurityMode,2065,Variable +AuditOpenSecureChannelEventType_RequestedLifetime,2066,Variable +AuditSessionEventType,2069,ObjectType +AuditSessionEventType_SessionId,2070,Variable +AuditCreateSessionEventType,2071,ObjectType +AuditCreateSessionEventType_SecureChannelId,2072,Variable +AuditCreateSessionEventType_ClientCertificate,2073,Variable +AuditCreateSessionEventType_RevisedSessionTimeout,2074,Variable +AuditActivateSessionEventType,2075,ObjectType +AuditActivateSessionEventType_ClientSoftwareCertificates,2076,Variable +AuditActivateSessionEventType_UserIdentityToken,2077,Variable +AuditCancelEventType,2078,ObjectType +AuditCancelEventType_RequestHandle,2079,Variable +AuditCertificateEventType,2080,ObjectType +AuditCertificateEventType_Certificate,2081,Variable +AuditCertificateDataMismatchEventType,2082,ObjectType +AuditCertificateDataMismatchEventType_InvalidHostname,2083,Variable +AuditCertificateDataMismatchEventType_InvalidUri,2084,Variable +AuditCertificateExpiredEventType,2085,ObjectType +AuditCertificateInvalidEventType,2086,ObjectType +AuditCertificateUntrustedEventType,2087,ObjectType +AuditCertificateRevokedEventType,2088,ObjectType +AuditCertificateMismatchEventType,2089,ObjectType +AuditNodeManagementEventType,2090,ObjectType +AuditAddNodesEventType,2091,ObjectType +AuditAddNodesEventType_NodesToAdd,2092,Variable +AuditDeleteNodesEventType,2093,ObjectType +AuditDeleteNodesEventType_NodesToDelete,2094,Variable +AuditAddReferencesEventType,2095,ObjectType +AuditAddReferencesEventType_ReferencesToAdd,2096,Variable +AuditDeleteReferencesEventType,2097,ObjectType +AuditDeleteReferencesEventType_ReferencesToDelete,2098,Variable +AuditUpdateEventType,2099,ObjectType +AuditWriteUpdateEventType,2100,ObjectType +AuditWriteUpdateEventType_IndexRange,2101,Variable +AuditWriteUpdateEventType_OldValue,2102,Variable +AuditWriteUpdateEventType_NewValue,2103,Variable +AuditHistoryUpdateEventType,2104,ObjectType +AuditUpdateMethodEventType,2127,ObjectType +AuditUpdateMethodEventType_MethodId,2128,Variable +AuditUpdateMethodEventType_InputArguments,2129,Variable +SystemEventType,2130,ObjectType +DeviceFailureEventType,2131,ObjectType +BaseModelChangeEventType,2132,ObjectType +GeneralModelChangeEventType,2133,ObjectType +GeneralModelChangeEventType_Changes,2134,Variable +ServerVendorCapabilityType,2137,VariableType +ServerStatusType,2138,VariableType +ServerStatusType_StartTime,2139,Variable +ServerStatusType_CurrentTime,2140,Variable +ServerStatusType_State,2141,Variable +ServerStatusType_BuildInfo,2142,Variable +ServerDiagnosticsSummaryType,2150,VariableType +ServerDiagnosticsSummaryType_ServerViewCount,2151,Variable +ServerDiagnosticsSummaryType_CurrentSessionCount,2152,Variable +ServerDiagnosticsSummaryType_CumulatedSessionCount,2153,Variable +ServerDiagnosticsSummaryType_SecurityRejectedSessionCount,2154,Variable +ServerDiagnosticsSummaryType_RejectedSessionCount,2155,Variable +ServerDiagnosticsSummaryType_SessionTimeoutCount,2156,Variable +ServerDiagnosticsSummaryType_SessionAbortCount,2157,Variable +ServerDiagnosticsSummaryType_PublishingIntervalCount,2159,Variable +ServerDiagnosticsSummaryType_CurrentSubscriptionCount,2160,Variable +ServerDiagnosticsSummaryType_CumulatedSubscriptionCount,2161,Variable +ServerDiagnosticsSummaryType_SecurityRejectedRequestsCount,2162,Variable +ServerDiagnosticsSummaryType_RejectedRequestsCount,2163,Variable +SamplingIntervalDiagnosticsArrayType,2164,VariableType +SamplingIntervalDiagnosticsType,2165,VariableType +SamplingIntervalDiagnosticsType_SamplingInterval,2166,Variable +SubscriptionDiagnosticsArrayType,2171,VariableType +SubscriptionDiagnosticsType,2172,VariableType +SubscriptionDiagnosticsType_SessionId,2173,Variable +SubscriptionDiagnosticsType_SubscriptionId,2174,Variable +SubscriptionDiagnosticsType_Priority,2175,Variable +SubscriptionDiagnosticsType_PublishingInterval,2176,Variable +SubscriptionDiagnosticsType_MaxKeepAliveCount,2177,Variable +SubscriptionDiagnosticsType_MaxNotificationsPerPublish,2179,Variable +SubscriptionDiagnosticsType_PublishingEnabled,2180,Variable +SubscriptionDiagnosticsType_ModifyCount,2181,Variable +SubscriptionDiagnosticsType_EnableCount,2182,Variable +SubscriptionDiagnosticsType_DisableCount,2183,Variable +SubscriptionDiagnosticsType_RepublishRequestCount,2184,Variable +SubscriptionDiagnosticsType_RepublishMessageRequestCount,2185,Variable +SubscriptionDiagnosticsType_RepublishMessageCount,2186,Variable +SubscriptionDiagnosticsType_TransferRequestCount,2187,Variable +SubscriptionDiagnosticsType_TransferredToAltClientCount,2188,Variable +SubscriptionDiagnosticsType_TransferredToSameClientCount,2189,Variable +SubscriptionDiagnosticsType_PublishRequestCount,2190,Variable +SubscriptionDiagnosticsType_DataChangeNotificationsCount,2191,Variable +SubscriptionDiagnosticsType_NotificationsCount,2193,Variable +SessionDiagnosticsArrayType,2196,VariableType +SessionDiagnosticsVariableType,2197,VariableType +SessionDiagnosticsVariableType_SessionId,2198,Variable +SessionDiagnosticsVariableType_SessionName,2199,Variable +SessionDiagnosticsVariableType_ClientDescription,2200,Variable +SessionDiagnosticsVariableType_ServerUri,2201,Variable +SessionDiagnosticsVariableType_EndpointUrl,2202,Variable +SessionDiagnosticsVariableType_LocaleIds,2203,Variable +SessionDiagnosticsVariableType_ActualSessionTimeout,2204,Variable +SessionDiagnosticsVariableType_ClientConnectionTime,2205,Variable +SessionDiagnosticsVariableType_ClientLastContactTime,2206,Variable +SessionDiagnosticsVariableType_CurrentSubscriptionsCount,2207,Variable +SessionDiagnosticsVariableType_CurrentMonitoredItemsCount,2208,Variable +SessionDiagnosticsVariableType_CurrentPublishRequestsInQueue,2209,Variable +SessionDiagnosticsVariableType_ReadCount,2217,Variable +SessionDiagnosticsVariableType_HistoryReadCount,2218,Variable +SessionDiagnosticsVariableType_WriteCount,2219,Variable +SessionDiagnosticsVariableType_HistoryUpdateCount,2220,Variable +SessionDiagnosticsVariableType_CallCount,2221,Variable +SessionDiagnosticsVariableType_CreateMonitoredItemsCount,2222,Variable +SessionDiagnosticsVariableType_ModifyMonitoredItemsCount,2223,Variable +SessionDiagnosticsVariableType_SetMonitoringModeCount,2224,Variable +SessionDiagnosticsVariableType_SetTriggeringCount,2225,Variable +SessionDiagnosticsVariableType_DeleteMonitoredItemsCount,2226,Variable +SessionDiagnosticsVariableType_CreateSubscriptionCount,2227,Variable +SessionDiagnosticsVariableType_ModifySubscriptionCount,2228,Variable +SessionDiagnosticsVariableType_SetPublishingModeCount,2229,Variable +SessionDiagnosticsVariableType_PublishCount,2230,Variable +SessionDiagnosticsVariableType_RepublishCount,2231,Variable +SessionDiagnosticsVariableType_TransferSubscriptionsCount,2232,Variable +SessionDiagnosticsVariableType_DeleteSubscriptionsCount,2233,Variable +SessionDiagnosticsVariableType_AddNodesCount,2234,Variable +SessionDiagnosticsVariableType_AddReferencesCount,2235,Variable +SessionDiagnosticsVariableType_DeleteNodesCount,2236,Variable +SessionDiagnosticsVariableType_DeleteReferencesCount,2237,Variable +SessionDiagnosticsVariableType_BrowseCount,2238,Variable +SessionDiagnosticsVariableType_BrowseNextCount,2239,Variable +SessionDiagnosticsVariableType_TranslateBrowsePathsToNodeIdsCount,2240,Variable +SessionDiagnosticsVariableType_QueryFirstCount,2241,Variable +SessionDiagnosticsVariableType_QueryNextCount,2242,Variable +SessionSecurityDiagnosticsArrayType,2243,VariableType +SessionSecurityDiagnosticsType,2244,VariableType +SessionSecurityDiagnosticsType_SessionId,2245,Variable +SessionSecurityDiagnosticsType_ClientUserIdOfSession,2246,Variable +SessionSecurityDiagnosticsType_ClientUserIdHistory,2247,Variable +SessionSecurityDiagnosticsType_AuthenticationMechanism,2248,Variable +SessionSecurityDiagnosticsType_Encoding,2249,Variable +SessionSecurityDiagnosticsType_TransportProtocol,2250,Variable +SessionSecurityDiagnosticsType_SecurityMode,2251,Variable +SessionSecurityDiagnosticsType_SecurityPolicyUri,2252,Variable +Server,2253,Object +Server_ServerArray,2254,Variable +Server_NamespaceArray,2255,Variable +Server_ServerStatus,2256,Variable +Server_ServerStatus_StartTime,2257,Variable +Server_ServerStatus_CurrentTime,2258,Variable +Server_ServerStatus_State,2259,Variable +Server_ServerStatus_BuildInfo,2260,Variable +Server_ServerStatus_BuildInfo_ProductName,2261,Variable +Server_ServerStatus_BuildInfo_ProductUri,2262,Variable +Server_ServerStatus_BuildInfo_ManufacturerName,2263,Variable +Server_ServerStatus_BuildInfo_SoftwareVersion,2264,Variable +Server_ServerStatus_BuildInfo_BuildNumber,2265,Variable +Server_ServerStatus_BuildInfo_BuildDate,2266,Variable +Server_ServiceLevel,2267,Variable +Server_ServerCapabilities,2268,Object +Server_ServerCapabilities_ServerProfileArray,2269,Variable +Server_ServerCapabilities_LocaleIdArray,2271,Variable +Server_ServerCapabilities_MinSupportedSampleRate,2272,Variable +Server_ServerDiagnostics,2274,Object +Server_ServerDiagnostics_ServerDiagnosticsSummary,2275,Variable +Server_ServerDiagnostics_ServerDiagnosticsSummary_ServerViewCount,2276,Variable +Server_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSessionCount,2277,Variable +Server_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSessionCount,2278,Variable +Server_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedSessionCount,2279,Variable +Server_ServerDiagnostics_ServerDiagnosticsSummary_SessionTimeoutCount,2281,Variable +Server_ServerDiagnostics_ServerDiagnosticsSummary_SessionAbortCount,2282,Variable +Server_ServerDiagnostics_ServerDiagnosticsSummary_PublishingIntervalCount,2284,Variable +Server_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSubscriptionCount,2285,Variable +Server_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSubscriptionCount,2286,Variable +Server_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedRequestsCount,2287,Variable +Server_ServerDiagnostics_ServerDiagnosticsSummary_RejectedRequestsCount,2288,Variable +Server_ServerDiagnostics_SamplingIntervalDiagnosticsArray,2289,Variable +Server_ServerDiagnostics_SubscriptionDiagnosticsArray,2290,Variable +Server_ServerDiagnostics_EnabledFlag,2294,Variable +Server_VendorServerInfo,2295,Object +Server_ServerRedundancy,2296,Object +StateMachineType,2299,ObjectType +StateType,2307,ObjectType +StateType_StateNumber,2308,Variable +InitialStateType,2309,ObjectType +TransitionType,2310,ObjectType +TransitionEventType,2311,ObjectType +TransitionType_TransitionNumber,2312,Variable +AuditUpdateStateEventType,2315,ObjectType +HistoricalDataConfigurationType,2318,ObjectType +HistoricalDataConfigurationType_Stepped,2323,Variable +HistoricalDataConfigurationType_Definition,2324,Variable +HistoricalDataConfigurationType_MaxTimeInterval,2325,Variable +HistoricalDataConfigurationType_MinTimeInterval,2326,Variable +HistoricalDataConfigurationType_ExceptionDeviation,2327,Variable +HistoricalDataConfigurationType_ExceptionDeviationFormat,2328,Variable +HistoryServerCapabilitiesType,2330,ObjectType +HistoryServerCapabilitiesType_AccessHistoryDataCapability,2331,Variable +HistoryServerCapabilitiesType_AccessHistoryEventsCapability,2332,Variable +HistoryServerCapabilitiesType_InsertDataCapability,2334,Variable +HistoryServerCapabilitiesType_ReplaceDataCapability,2335,Variable +HistoryServerCapabilitiesType_UpdateDataCapability,2336,Variable +HistoryServerCapabilitiesType_DeleteRawCapability,2337,Variable +HistoryServerCapabilitiesType_DeleteAtTimeCapability,2338,Variable +AggregateFunctionType,2340,ObjectType +AggregateFunction_Interpolative,2341,Object +AggregateFunction_Average,2342,Object +AggregateFunction_TimeAverage,2343,Object +AggregateFunction_Total,2344,Object +AggregateFunction_Minimum,2346,Object +AggregateFunction_Maximum,2347,Object +AggregateFunction_MinimumActualTime,2348,Object +AggregateFunction_MaximumActualTime,2349,Object +AggregateFunction_Range,2350,Object +AggregateFunction_AnnotationCount,2351,Object +AggregateFunction_Count,2352,Object +AggregateFunction_NumberOfTransitions,2355,Object +AggregateFunction_Start,2357,Object +AggregateFunction_End,2358,Object +AggregateFunction_Delta,2359,Object +AggregateFunction_DurationGood,2360,Object +AggregateFunction_DurationBad,2361,Object +AggregateFunction_PercentGood,2362,Object +AggregateFunction_PercentBad,2363,Object +AggregateFunction_WorstQuality,2364,Object +DataItemType,2365,VariableType +DataItemType_Definition,2366,Variable +DataItemType_ValuePrecision,2367,Variable +AnalogItemType,2368,VariableType +AnalogItemType_EURange,2369,Variable +AnalogItemType_InstrumentRange,2370,Variable +AnalogItemType_EngineeringUnits,2371,Variable +DiscreteItemType,2372,VariableType +TwoStateDiscreteType,2373,VariableType +TwoStateDiscreteType_FalseState,2374,Variable +TwoStateDiscreteType_TrueState,2375,Variable +MultiStateDiscreteType,2376,VariableType +MultiStateDiscreteType_EnumStrings,2377,Variable +ProgramTransitionEventType,2378,ObjectType +ProgramTransitionEventType_IntermediateResult,2379,Variable +ProgramDiagnosticType,2380,VariableType +ProgramDiagnosticType_CreateSessionId,2381,Variable +ProgramDiagnosticType_CreateClientName,2382,Variable +ProgramDiagnosticType_InvocationCreationTime,2383,Variable +ProgramDiagnosticType_LastTransitionTime,2384,Variable +ProgramDiagnosticType_LastMethodCall,2385,Variable +ProgramDiagnosticType_LastMethodSessionId,2386,Variable +ProgramDiagnosticType_LastMethodInputArguments,2387,Variable +ProgramDiagnosticType_LastMethodOutputArguments,2388,Variable +ProgramDiagnosticType_LastMethodCallTime,2389,Variable +ProgramDiagnosticType_LastMethodReturnStatus,2390,Variable +ProgramStateMachineType,2391,ObjectType +ProgramStateMachineType_Creatable,2392,Variable +ProgramStateMachineType_Deletable,2393,Variable +ProgramStateMachineType_AutoDelete,2394,Variable +ProgramStateMachineType_RecycleCount,2395,Variable +ProgramStateMachineType_InstanceCount,2396,Variable +ProgramStateMachineType_MaxInstanceCount,2397,Variable +ProgramStateMachineType_MaxRecycleCount,2398,Variable +ProgramStateMachineType_ProgramDiagnostics,2399,Variable +ProgramStateMachineType_Ready,2400,Object +ProgramStateMachineType_Ready_StateNumber,2401,Variable +ProgramStateMachineType_Running,2402,Object +ProgramStateMachineType_Running_StateNumber,2403,Variable +ProgramStateMachineType_Suspended,2404,Object +ProgramStateMachineType_Suspended_StateNumber,2405,Variable +ProgramStateMachineType_Halted,2406,Object +ProgramStateMachineType_Halted_StateNumber,2407,Variable +ProgramStateMachineType_HaltedToReady,2408,Object +ProgramStateMachineType_HaltedToReady_TransitionNumber,2409,Variable +ProgramStateMachineType_ReadyToRunning,2410,Object +ProgramStateMachineType_ReadyToRunning_TransitionNumber,2411,Variable +ProgramStateMachineType_RunningToHalted,2412,Object +ProgramStateMachineType_RunningToHalted_TransitionNumber,2413,Variable +ProgramStateMachineType_RunningToReady,2414,Object +ProgramStateMachineType_RunningToReady_TransitionNumber,2415,Variable +ProgramStateMachineType_RunningToSuspended,2416,Object +ProgramStateMachineType_RunningToSuspended_TransitionNumber,2417,Variable +ProgramStateMachineType_SuspendedToRunning,2418,Object +ProgramStateMachineType_SuspendedToRunning_TransitionNumber,2419,Variable +ProgramStateMachineType_SuspendedToHalted,2420,Object +ProgramStateMachineType_SuspendedToHalted_TransitionNumber,2421,Variable +ProgramStateMachineType_SuspendedToReady,2422,Object +ProgramStateMachineType_SuspendedToReady_TransitionNumber,2423,Variable +ProgramStateMachineType_ReadyToHalted,2424,Object +ProgramStateMachineType_ReadyToHalted_TransitionNumber,2425,Variable +ProgramStateMachineType_Start,2426,Method +ProgramStateMachineType_Suspend,2427,Method +ProgramStateMachineType_Resume,2428,Method +ProgramStateMachineType_Halt,2429,Method +ProgramStateMachineType_Reset,2430,Method +SessionDiagnosticsVariableType_RegisterNodesCount,2730,Variable +SessionDiagnosticsVariableType_UnregisterNodesCount,2731,Variable +ServerCapabilitiesType_MaxBrowseContinuationPoints,2732,Variable +ServerCapabilitiesType_MaxQueryContinuationPoints,2733,Variable +ServerCapabilitiesType_MaxHistoryContinuationPoints,2734,Variable +Server_ServerCapabilities_MaxBrowseContinuationPoints,2735,Variable +Server_ServerCapabilities_MaxQueryContinuationPoints,2736,Variable +Server_ServerCapabilities_MaxHistoryContinuationPoints,2737,Variable +SemanticChangeEventType,2738,ObjectType +SemanticChangeEventType_Changes,2739,Variable +ServerType_Auditing,2742,Variable +ServerDiagnosticsType_SessionsDiagnosticsSummary,2744,Object +AuditChannelEventType_SecureChannelId,2745,Variable +AuditOpenSecureChannelEventType_ClientCertificateThumbprint,2746,Variable +AuditCreateSessionEventType_ClientCertificateThumbprint,2747,Variable +AuditUrlMismatchEventType,2748,ObjectType +AuditUrlMismatchEventType_EndpointUrl,2749,Variable +AuditWriteUpdateEventType_AttributeId,2750,Variable +AuditHistoryUpdateEventType_ParameterDataTypeId,2751,Variable +ServerStatusType_SecondsTillShutdown,2752,Variable +ServerStatusType_ShutdownReason,2753,Variable +ServerCapabilitiesType_AggregateFunctions,2754,Object +StateVariableType,2755,VariableType +StateVariableType_Id,2756,Variable +StateVariableType_Name,2757,Variable +StateVariableType_Number,2758,Variable +StateVariableType_EffectiveDisplayName,2759,Variable +FiniteStateVariableType,2760,VariableType +FiniteStateVariableType_Id,2761,Variable +TransitionVariableType,2762,VariableType +TransitionVariableType_Id,2763,Variable +TransitionVariableType_Name,2764,Variable +TransitionVariableType_Number,2765,Variable +TransitionVariableType_TransitionTime,2766,Variable +FiniteTransitionVariableType,2767,VariableType +FiniteTransitionVariableType_Id,2768,Variable +StateMachineType_CurrentState,2769,Variable +StateMachineType_LastTransition,2770,Variable +FiniteStateMachineType,2771,ObjectType +FiniteStateMachineType_CurrentState,2772,Variable +FiniteStateMachineType_LastTransition,2773,Variable +TransitionEventType_Transition,2774,Variable +TransitionEventType_FromState,2775,Variable +TransitionEventType_ToState,2776,Variable +AuditUpdateStateEventType_OldStateId,2777,Variable +AuditUpdateStateEventType_NewStateId,2778,Variable +ConditionType,2782,ObjectType +RefreshStartEventType,2787,ObjectType +RefreshEndEventType,2788,ObjectType +RefreshRequiredEventType,2789,ObjectType +AuditConditionEventType,2790,ObjectType +AuditConditionEnableEventType,2803,ObjectType +AuditConditionCommentEventType,2829,ObjectType +DialogConditionType,2830,ObjectType +DialogConditionType_Prompt,2831,Variable +AcknowledgeableConditionType,2881,ObjectType +AlarmConditionType,2915,ObjectType +ShelvedStateMachineType,2929,ObjectType +ShelvedStateMachineType_Unshelved,2930,Object +ShelvedStateMachineType_TimedShelved,2932,Object +ShelvedStateMachineType_OneShotShelved,2933,Object +ShelvedStateMachineType_UnshelvedToTimedShelved,2935,Object +ShelvedStateMachineType_UnshelvedToOneShotShelved,2936,Object +ShelvedStateMachineType_TimedShelvedToUnshelved,2940,Object +ShelvedStateMachineType_TimedShelvedToOneShotShelved,2942,Object +ShelvedStateMachineType_OneShotShelvedToUnshelved,2943,Object +ShelvedStateMachineType_OneShotShelvedToTimedShelved,2945,Object +ShelvedStateMachineType_Unshelve,2947,Method +ShelvedStateMachineType_OneShotShelve,2948,Method +ShelvedStateMachineType_TimedShelve,2949,Method +LimitAlarmType,2955,ObjectType +ShelvedStateMachineType_TimedShelve_InputArguments,2991,Variable +Server_ServerStatus_SecondsTillShutdown,2992,Variable +Server_ServerStatus_ShutdownReason,2993,Variable +Server_Auditing,2994,Variable +Server_ServerCapabilities_ModellingRules,2996,Object +Server_ServerCapabilities_AggregateFunctions,2997,Object +SubscriptionDiagnosticsType_EventNotificationsCount,2998,Variable +AuditHistoryEventUpdateEventType,2999,ObjectType +AuditHistoryEventUpdateEventType_Filter,3003,Variable +AuditHistoryValueUpdateEventType,3006,ObjectType +AuditHistoryDeleteEventType,3012,ObjectType +AuditHistoryRawModifyDeleteEventType,3014,ObjectType +AuditHistoryRawModifyDeleteEventType_IsDeleteModified,3015,Variable +AuditHistoryRawModifyDeleteEventType_StartTime,3016,Variable +AuditHistoryRawModifyDeleteEventType_EndTime,3017,Variable +AuditHistoryAtTimeDeleteEventType,3019,ObjectType +AuditHistoryAtTimeDeleteEventType_ReqTimes,3020,Variable +AuditHistoryAtTimeDeleteEventType_OldValues,3021,Variable +AuditHistoryEventDeleteEventType,3022,ObjectType +AuditHistoryEventDeleteEventType_EventIds,3023,Variable +AuditHistoryEventDeleteEventType_OldValues,3024,Variable +AuditHistoryEventUpdateEventType_UpdatedNode,3025,Variable +AuditHistoryValueUpdateEventType_UpdatedNode,3026,Variable +AuditHistoryDeleteEventType_UpdatedNode,3027,Variable +AuditHistoryEventUpdateEventType_PerformInsertReplace,3028,Variable +AuditHistoryEventUpdateEventType_NewValues,3029,Variable +AuditHistoryEventUpdateEventType_OldValues,3030,Variable +AuditHistoryValueUpdateEventType_PerformInsertReplace,3031,Variable +AuditHistoryValueUpdateEventType_NewValues,3032,Variable +AuditHistoryValueUpdateEventType_OldValues,3033,Variable +AuditHistoryRawModifyDeleteEventType_OldValues,3034,Variable +EventQueueOverflowEventType,3035,ObjectType +EventTypesFolder,3048,Object +ServerCapabilitiesType_SoftwareCertificates,3049,Variable +SessionDiagnosticsVariableType_MaxResponseMessageSize,3050,Variable +BuildInfoType,3051,VariableType +BuildInfoType_ProductUri,3052,Variable +BuildInfoType_ManufacturerName,3053,Variable +BuildInfoType_ProductName,3054,Variable +BuildInfoType_SoftwareVersion,3055,Variable +BuildInfoType_BuildNumber,3056,Variable +BuildInfoType_BuildDate,3057,Variable +SessionSecurityDiagnosticsType_ClientCertificate,3058,Variable +HistoricalDataConfigurationType_AggregateConfiguration,3059,Object +DefaultBinary,3062,Object +DefaultXml,3063,Object +AlwaysGeneratesEvent,3065,ReferenceType +Icon,3067,Variable +NodeVersion,3068,Variable +LocalTime,3069,Variable +AllowNulls,3070,Variable +EnumValues,3071,Variable +InputArguments,3072,Variable +OutputArguments,3073,Variable +ServerType_ServerStatus_StartTime,3074,Variable +ServerType_ServerStatus_CurrentTime,3075,Variable +ServerType_ServerStatus_State,3076,Variable +ServerType_ServerStatus_BuildInfo,3077,Variable +ServerType_ServerStatus_BuildInfo_ProductUri,3078,Variable +ServerType_ServerStatus_BuildInfo_ManufacturerName,3079,Variable +ServerType_ServerStatus_BuildInfo_ProductName,3080,Variable +ServerType_ServerStatus_BuildInfo_SoftwareVersion,3081,Variable +ServerType_ServerStatus_BuildInfo_BuildNumber,3082,Variable +ServerType_ServerStatus_BuildInfo_BuildDate,3083,Variable +ServerType_ServerStatus_SecondsTillShutdown,3084,Variable +ServerType_ServerStatus_ShutdownReason,3085,Variable +ServerType_ServerCapabilities_ServerProfileArray,3086,Variable +ServerType_ServerCapabilities_LocaleIdArray,3087,Variable +ServerType_ServerCapabilities_MinSupportedSampleRate,3088,Variable +ServerType_ServerCapabilities_MaxBrowseContinuationPoints,3089,Variable +ServerType_ServerCapabilities_MaxQueryContinuationPoints,3090,Variable +ServerType_ServerCapabilities_MaxHistoryContinuationPoints,3091,Variable +ServerType_ServerCapabilities_SoftwareCertificates,3092,Variable +ServerType_ServerCapabilities_ModellingRules,3093,Object +ServerType_ServerCapabilities_AggregateFunctions,3094,Object +ServerType_ServerDiagnostics_ServerDiagnosticsSummary,3095,Variable +ServerType_ServerDiagnostics_ServerDiagnosticsSummary_ServerViewCount,3096,Variable +ServerType_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSessionCount,3097,Variable +ServerType_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSessionCount,3098,Variable +ServerType_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedSessionCount,3099,Variable +ServerType_ServerDiagnostics_ServerDiagnosticsSummary_RejectedSessionCount,3100,Variable +ServerType_ServerDiagnostics_ServerDiagnosticsSummary_SessionTimeoutCount,3101,Variable +ServerType_ServerDiagnostics_ServerDiagnosticsSummary_SessionAbortCount,3102,Variable +ServerType_ServerDiagnostics_ServerDiagnosticsSummary_PublishingIntervalCount,3104,Variable +ServerType_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSubscriptionCount,3105,Variable +ServerType_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSubscriptionCount,3106,Variable +ServerType_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedRequestsCount,3107,Variable +ServerType_ServerDiagnostics_ServerDiagnosticsSummary_RejectedRequestsCount,3108,Variable +ServerType_ServerDiagnostics_SamplingIntervalDiagnosticsArray,3109,Variable +ServerType_ServerDiagnostics_SubscriptionDiagnosticsArray,3110,Variable +ServerType_ServerDiagnostics_SessionsDiagnosticsSummary,3111,Object +ServerType_ServerDiagnostics_SessionsDiagnosticsSummary_SessionDiagnosticsArray,3112,Variable +ServerType_ServerDiagnostics_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray,3113,Variable +ServerType_ServerDiagnostics_EnabledFlag,3114,Variable +ServerType_ServerRedundancy_RedundancySupport,3115,Variable +ServerDiagnosticsType_ServerDiagnosticsSummary_ServerViewCount,3116,Variable +ServerDiagnosticsType_ServerDiagnosticsSummary_CurrentSessionCount,3117,Variable +ServerDiagnosticsType_ServerDiagnosticsSummary_CumulatedSessionCount,3118,Variable +ServerDiagnosticsType_ServerDiagnosticsSummary_SecurityRejectedSessionCount,3119,Variable +ServerDiagnosticsType_ServerDiagnosticsSummary_RejectedSessionCount,3120,Variable +ServerDiagnosticsType_ServerDiagnosticsSummary_SessionTimeoutCount,3121,Variable +ServerDiagnosticsType_ServerDiagnosticsSummary_SessionAbortCount,3122,Variable +ServerDiagnosticsType_ServerDiagnosticsSummary_PublishingIntervalCount,3124,Variable +ServerDiagnosticsType_ServerDiagnosticsSummary_CurrentSubscriptionCount,3125,Variable +ServerDiagnosticsType_ServerDiagnosticsSummary_CumulatedSubscriptionCount,3126,Variable +ServerDiagnosticsType_ServerDiagnosticsSummary_SecurityRejectedRequestsCount,3127,Variable +ServerDiagnosticsType_ServerDiagnosticsSummary_RejectedRequestsCount,3128,Variable +ServerDiagnosticsType_SessionsDiagnosticsSummary_SessionDiagnosticsArray,3129,Variable +ServerDiagnosticsType_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray,3130,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_SessionId,3131,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_SessionName,3132,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_ClientDescription,3133,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_ServerUri,3134,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_EndpointUrl,3135,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_LocaleIds,3136,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_ActualSessionTimeout,3137,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_MaxResponseMessageSize,3138,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_ClientConnectionTime,3139,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_ClientLastContactTime,3140,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_CurrentSubscriptionsCount,3141,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_CurrentMonitoredItemsCount,3142,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_CurrentPublishRequestsInQueue,3143,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_ReadCount,3151,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_HistoryReadCount,3152,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_WriteCount,3153,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_HistoryUpdateCount,3154,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_CallCount,3155,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_CreateMonitoredItemsCount,3156,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_ModifyMonitoredItemsCount,3157,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_SetMonitoringModeCount,3158,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_SetTriggeringCount,3159,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_DeleteMonitoredItemsCount,3160,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_CreateSubscriptionCount,3161,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_ModifySubscriptionCount,3162,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_SetPublishingModeCount,3163,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_PublishCount,3164,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_RepublishCount,3165,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_TransferSubscriptionsCount,3166,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_DeleteSubscriptionsCount,3167,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_AddNodesCount,3168,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_AddReferencesCount,3169,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_DeleteNodesCount,3170,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_DeleteReferencesCount,3171,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_BrowseCount,3172,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_BrowseNextCount,3173,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_TranslateBrowsePathsToNodeIdsCount,3174,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_QueryFirstCount,3175,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_QueryNextCount,3176,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_RegisterNodesCount,3177,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_UnregisterNodesCount,3178,Variable +SessionDiagnosticsObjectType_SessionSecurityDiagnostics_SessionId,3179,Variable +SessionDiagnosticsObjectType_SessionSecurityDiagnostics_ClientUserIdOfSession,3180,Variable +SessionDiagnosticsObjectType_SessionSecurityDiagnostics_ClientUserIdHistory,3181,Variable +SessionDiagnosticsObjectType_SessionSecurityDiagnostics_AuthenticationMechanism,3182,Variable +SessionDiagnosticsObjectType_SessionSecurityDiagnostics_Encoding,3183,Variable +SessionDiagnosticsObjectType_SessionSecurityDiagnostics_TransportProtocol,3184,Variable +SessionDiagnosticsObjectType_SessionSecurityDiagnostics_SecurityMode,3185,Variable +SessionDiagnosticsObjectType_SessionSecurityDiagnostics_SecurityPolicyUri,3186,Variable +SessionDiagnosticsObjectType_SessionSecurityDiagnostics_ClientCertificate,3187,Variable +TransparentRedundancyType_RedundancySupport,3188,Variable +NonTransparentRedundancyType_RedundancySupport,3189,Variable +BaseEventType_LocalTime,3190,Variable +EventQueueOverflowEventType_EventId,3191,Variable +EventQueueOverflowEventType_EventType,3192,Variable +EventQueueOverflowEventType_SourceNode,3193,Variable +EventQueueOverflowEventType_SourceName,3194,Variable +EventQueueOverflowEventType_Time,3195,Variable +EventQueueOverflowEventType_ReceiveTime,3196,Variable +EventQueueOverflowEventType_LocalTime,3197,Variable +EventQueueOverflowEventType_Message,3198,Variable +EventQueueOverflowEventType_Severity,3199,Variable +AuditEventType_EventId,3200,Variable +AuditEventType_EventType,3201,Variable +AuditEventType_SourceNode,3202,Variable +AuditEventType_SourceName,3203,Variable +AuditEventType_Time,3204,Variable +AuditEventType_ReceiveTime,3205,Variable +AuditEventType_LocalTime,3206,Variable +AuditEventType_Message,3207,Variable +AuditEventType_Severity,3208,Variable +AuditSecurityEventType_EventId,3209,Variable +AuditSecurityEventType_EventType,3210,Variable +AuditSecurityEventType_SourceNode,3211,Variable +AuditSecurityEventType_SourceName,3212,Variable +AuditSecurityEventType_Time,3213,Variable +AuditSecurityEventType_ReceiveTime,3214,Variable +AuditSecurityEventType_LocalTime,3215,Variable +AuditSecurityEventType_Message,3216,Variable +AuditSecurityEventType_Severity,3217,Variable +AuditSecurityEventType_ActionTimeStamp,3218,Variable +AuditSecurityEventType_Status,3219,Variable +AuditSecurityEventType_ServerId,3220,Variable +AuditSecurityEventType_ClientAuditEntryId,3221,Variable +AuditSecurityEventType_ClientUserId,3222,Variable +AuditChannelEventType_EventId,3223,Variable +AuditChannelEventType_EventType,3224,Variable +AuditChannelEventType_SourceNode,3225,Variable +AuditChannelEventType_SourceName,3226,Variable +AuditChannelEventType_Time,3227,Variable +AuditChannelEventType_ReceiveTime,3228,Variable +AuditChannelEventType_LocalTime,3229,Variable +AuditChannelEventType_Message,3230,Variable +AuditChannelEventType_Severity,3231,Variable +AuditChannelEventType_ActionTimeStamp,3232,Variable +AuditChannelEventType_Status,3233,Variable +AuditChannelEventType_ServerId,3234,Variable +AuditChannelEventType_ClientAuditEntryId,3235,Variable +AuditChannelEventType_ClientUserId,3236,Variable +AuditOpenSecureChannelEventType_EventId,3237,Variable +AuditOpenSecureChannelEventType_EventType,3238,Variable +AuditOpenSecureChannelEventType_SourceNode,3239,Variable +AuditOpenSecureChannelEventType_SourceName,3240,Variable +AuditOpenSecureChannelEventType_Time,3241,Variable +AuditOpenSecureChannelEventType_ReceiveTime,3242,Variable +AuditOpenSecureChannelEventType_LocalTime,3243,Variable +AuditOpenSecureChannelEventType_Message,3244,Variable +AuditOpenSecureChannelEventType_Severity,3245,Variable +AuditOpenSecureChannelEventType_ActionTimeStamp,3246,Variable +AuditOpenSecureChannelEventType_Status,3247,Variable +AuditOpenSecureChannelEventType_ServerId,3248,Variable +AuditOpenSecureChannelEventType_ClientAuditEntryId,3249,Variable +AuditOpenSecureChannelEventType_ClientUserId,3250,Variable +AuditOpenSecureChannelEventType_SecureChannelId,3251,Variable +AuditSessionEventType_EventId,3252,Variable +AuditSessionEventType_EventType,3253,Variable +AuditSessionEventType_SourceNode,3254,Variable +AuditSessionEventType_SourceName,3255,Variable +AuditSessionEventType_Time,3256,Variable +AuditSessionEventType_ReceiveTime,3257,Variable +AuditSessionEventType_LocalTime,3258,Variable +AuditSessionEventType_Message,3259,Variable +AuditSessionEventType_Severity,3260,Variable +AuditSessionEventType_ActionTimeStamp,3261,Variable +AuditSessionEventType_Status,3262,Variable +AuditSessionEventType_ServerId,3263,Variable +AuditSessionEventType_ClientAuditEntryId,3264,Variable +AuditSessionEventType_ClientUserId,3265,Variable +AuditCreateSessionEventType_EventId,3266,Variable +AuditCreateSessionEventType_EventType,3267,Variable +AuditCreateSessionEventType_SourceNode,3268,Variable +AuditCreateSessionEventType_SourceName,3269,Variable +AuditCreateSessionEventType_Time,3270,Variable +AuditCreateSessionEventType_ReceiveTime,3271,Variable +AuditCreateSessionEventType_LocalTime,3272,Variable +AuditCreateSessionEventType_Message,3273,Variable +AuditCreateSessionEventType_Severity,3274,Variable +AuditCreateSessionEventType_ActionTimeStamp,3275,Variable +AuditCreateSessionEventType_Status,3276,Variable +AuditCreateSessionEventType_ServerId,3277,Variable +AuditCreateSessionEventType_ClientAuditEntryId,3278,Variable +AuditCreateSessionEventType_ClientUserId,3279,Variable +AuditUrlMismatchEventType_EventId,3281,Variable +AuditUrlMismatchEventType_EventType,3282,Variable +AuditUrlMismatchEventType_SourceNode,3283,Variable +AuditUrlMismatchEventType_SourceName,3284,Variable +AuditUrlMismatchEventType_Time,3285,Variable +AuditUrlMismatchEventType_ReceiveTime,3286,Variable +AuditUrlMismatchEventType_LocalTime,3287,Variable +AuditUrlMismatchEventType_Message,3288,Variable +AuditUrlMismatchEventType_Severity,3289,Variable +AuditUrlMismatchEventType_ActionTimeStamp,3290,Variable +AuditUrlMismatchEventType_Status,3291,Variable +AuditUrlMismatchEventType_ServerId,3292,Variable +AuditUrlMismatchEventType_ClientAuditEntryId,3293,Variable +AuditUrlMismatchEventType_ClientUserId,3294,Variable +AuditUrlMismatchEventType_SecureChannelId,3296,Variable +AuditUrlMismatchEventType_ClientCertificate,3297,Variable +AuditUrlMismatchEventType_ClientCertificateThumbprint,3298,Variable +AuditUrlMismatchEventType_RevisedSessionTimeout,3299,Variable +AuditActivateSessionEventType_EventId,3300,Variable +AuditActivateSessionEventType_EventType,3301,Variable +AuditActivateSessionEventType_SourceNode,3302,Variable +AuditActivateSessionEventType_SourceName,3303,Variable +AuditActivateSessionEventType_Time,3304,Variable +AuditActivateSessionEventType_ReceiveTime,3305,Variable +AuditActivateSessionEventType_LocalTime,3306,Variable +AuditActivateSessionEventType_Message,3307,Variable +AuditActivateSessionEventType_Severity,3308,Variable +AuditActivateSessionEventType_ActionTimeStamp,3309,Variable +AuditActivateSessionEventType_Status,3310,Variable +AuditActivateSessionEventType_ServerId,3311,Variable +AuditActivateSessionEventType_ClientAuditEntryId,3312,Variable +AuditActivateSessionEventType_ClientUserId,3313,Variable +AuditActivateSessionEventType_SessionId,3314,Variable +AuditCancelEventType_EventId,3315,Variable +AuditCancelEventType_EventType,3316,Variable +AuditCancelEventType_SourceNode,3317,Variable +AuditCancelEventType_SourceName,3318,Variable +AuditCancelEventType_Time,3319,Variable +AuditCancelEventType_ReceiveTime,3320,Variable +AuditCancelEventType_LocalTime,3321,Variable +AuditCancelEventType_Message,3322,Variable +AuditCancelEventType_Severity,3323,Variable +AuditCancelEventType_ActionTimeStamp,3324,Variable +AuditCancelEventType_Status,3325,Variable +AuditCancelEventType_ServerId,3326,Variable +AuditCancelEventType_ClientAuditEntryId,3327,Variable +AuditCancelEventType_ClientUserId,3328,Variable +AuditCancelEventType_SessionId,3329,Variable +AuditCertificateEventType_EventId,3330,Variable +AuditCertificateEventType_EventType,3331,Variable +AuditCertificateEventType_SourceNode,3332,Variable +AuditCertificateEventType_SourceName,3333,Variable +AuditCertificateEventType_Time,3334,Variable +AuditCertificateEventType_ReceiveTime,3335,Variable +AuditCertificateEventType_LocalTime,3336,Variable +AuditCertificateEventType_Message,3337,Variable +AuditCertificateEventType_Severity,3338,Variable +AuditCertificateEventType_ActionTimeStamp,3339,Variable +AuditCertificateEventType_Status,3340,Variable +AuditCertificateEventType_ServerId,3341,Variable +AuditCertificateEventType_ClientAuditEntryId,3342,Variable +AuditCertificateEventType_ClientUserId,3343,Variable +AuditCertificateDataMismatchEventType_EventId,3344,Variable +AuditCertificateDataMismatchEventType_EventType,3345,Variable +AuditCertificateDataMismatchEventType_SourceNode,3346,Variable +AuditCertificateDataMismatchEventType_SourceName,3347,Variable +AuditCertificateDataMismatchEventType_Time,3348,Variable +AuditCertificateDataMismatchEventType_ReceiveTime,3349,Variable +AuditCertificateDataMismatchEventType_LocalTime,3350,Variable +AuditCertificateDataMismatchEventType_Message,3351,Variable +AuditCertificateDataMismatchEventType_Severity,3352,Variable +AuditCertificateDataMismatchEventType_ActionTimeStamp,3353,Variable +AuditCertificateDataMismatchEventType_Status,3354,Variable +AuditCertificateDataMismatchEventType_ServerId,3355,Variable +AuditCertificateDataMismatchEventType_ClientAuditEntryId,3356,Variable +AuditCertificateDataMismatchEventType_ClientUserId,3357,Variable +AuditCertificateDataMismatchEventType_Certificate,3358,Variable +AuditCertificateExpiredEventType_EventId,3359,Variable +AuditCertificateExpiredEventType_EventType,3360,Variable +AuditCertificateExpiredEventType_SourceNode,3361,Variable +AuditCertificateExpiredEventType_SourceName,3362,Variable +AuditCertificateExpiredEventType_Time,3363,Variable +AuditCertificateExpiredEventType_ReceiveTime,3364,Variable +AuditCertificateExpiredEventType_LocalTime,3365,Variable +AuditCertificateExpiredEventType_Message,3366,Variable +AuditCertificateExpiredEventType_Severity,3367,Variable +AuditCertificateExpiredEventType_ActionTimeStamp,3368,Variable +AuditCertificateExpiredEventType_Status,3369,Variable +AuditCertificateExpiredEventType_ServerId,3370,Variable +AuditCertificateExpiredEventType_ClientAuditEntryId,3371,Variable +AuditCertificateExpiredEventType_ClientUserId,3372,Variable +AuditCertificateExpiredEventType_Certificate,3373,Variable +AuditCertificateInvalidEventType_EventId,3374,Variable +AuditCertificateInvalidEventType_EventType,3375,Variable +AuditCertificateInvalidEventType_SourceNode,3376,Variable +AuditCertificateInvalidEventType_SourceName,3377,Variable +AuditCertificateInvalidEventType_Time,3378,Variable +AuditCertificateInvalidEventType_ReceiveTime,3379,Variable +AuditCertificateInvalidEventType_LocalTime,3380,Variable +AuditCertificateInvalidEventType_Message,3381,Variable +AuditCertificateInvalidEventType_Severity,3382,Variable +AuditCertificateInvalidEventType_ActionTimeStamp,3383,Variable +AuditCertificateInvalidEventType_Status,3384,Variable +AuditCertificateInvalidEventType_ServerId,3385,Variable +AuditCertificateInvalidEventType_ClientAuditEntryId,3386,Variable +AuditCertificateInvalidEventType_ClientUserId,3387,Variable +AuditCertificateInvalidEventType_Certificate,3388,Variable +AuditCertificateUntrustedEventType_EventId,3389,Variable +AuditCertificateUntrustedEventType_EventType,3390,Variable +AuditCertificateUntrustedEventType_SourceNode,3391,Variable +AuditCertificateUntrustedEventType_SourceName,3392,Variable +AuditCertificateUntrustedEventType_Time,3393,Variable +AuditCertificateUntrustedEventType_ReceiveTime,3394,Variable +AuditCertificateUntrustedEventType_LocalTime,3395,Variable +AuditCertificateUntrustedEventType_Message,3396,Variable +AuditCertificateUntrustedEventType_Severity,3397,Variable +AuditCertificateUntrustedEventType_ActionTimeStamp,3398,Variable +AuditCertificateUntrustedEventType_Status,3399,Variable +AuditCertificateUntrustedEventType_ServerId,3400,Variable +AuditCertificateUntrustedEventType_ClientAuditEntryId,3401,Variable +AuditCertificateUntrustedEventType_ClientUserId,3402,Variable +AuditCertificateUntrustedEventType_Certificate,3403,Variable +AuditCertificateRevokedEventType_EventId,3404,Variable +AuditCertificateRevokedEventType_EventType,3405,Variable +AuditCertificateRevokedEventType_SourceNode,3406,Variable +AuditCertificateRevokedEventType_SourceName,3407,Variable +AuditCertificateRevokedEventType_Time,3408,Variable +AuditCertificateRevokedEventType_ReceiveTime,3409,Variable +AuditCertificateRevokedEventType_LocalTime,3410,Variable +AuditCertificateRevokedEventType_Message,3411,Variable +AuditCertificateRevokedEventType_Severity,3412,Variable +AuditCertificateRevokedEventType_ActionTimeStamp,3413,Variable +AuditCertificateRevokedEventType_Status,3414,Variable +AuditCertificateRevokedEventType_ServerId,3415,Variable +AuditCertificateRevokedEventType_ClientAuditEntryId,3416,Variable +AuditCertificateRevokedEventType_ClientUserId,3417,Variable +AuditCertificateRevokedEventType_Certificate,3418,Variable +AuditCertificateMismatchEventType_EventId,3419,Variable +AuditCertificateMismatchEventType_EventType,3420,Variable +AuditCertificateMismatchEventType_SourceNode,3421,Variable +AuditCertificateMismatchEventType_SourceName,3422,Variable +AuditCertificateMismatchEventType_Time,3423,Variable +AuditCertificateMismatchEventType_ReceiveTime,3424,Variable +AuditCertificateMismatchEventType_LocalTime,3425,Variable +AuditCertificateMismatchEventType_Message,3426,Variable +AuditCertificateMismatchEventType_Severity,3427,Variable +AuditCertificateMismatchEventType_ActionTimeStamp,3428,Variable +AuditCertificateMismatchEventType_Status,3429,Variable +AuditCertificateMismatchEventType_ServerId,3430,Variable +AuditCertificateMismatchEventType_ClientAuditEntryId,3431,Variable +AuditCertificateMismatchEventType_ClientUserId,3432,Variable +AuditCertificateMismatchEventType_Certificate,3433,Variable +AuditNodeManagementEventType_EventId,3434,Variable +AuditNodeManagementEventType_EventType,3435,Variable +AuditNodeManagementEventType_SourceNode,3436,Variable +AuditNodeManagementEventType_SourceName,3437,Variable +AuditNodeManagementEventType_Time,3438,Variable +AuditNodeManagementEventType_ReceiveTime,3439,Variable +AuditNodeManagementEventType_LocalTime,3440,Variable +AuditNodeManagementEventType_Message,3441,Variable +AuditNodeManagementEventType_Severity,3442,Variable +AuditNodeManagementEventType_ActionTimeStamp,3443,Variable +AuditNodeManagementEventType_Status,3444,Variable +AuditNodeManagementEventType_ServerId,3445,Variable +AuditNodeManagementEventType_ClientAuditEntryId,3446,Variable +AuditNodeManagementEventType_ClientUserId,3447,Variable +AuditAddNodesEventType_EventId,3448,Variable +AuditAddNodesEventType_EventType,3449,Variable +AuditAddNodesEventType_SourceNode,3450,Variable +AuditAddNodesEventType_SourceName,3451,Variable +AuditAddNodesEventType_Time,3452,Variable +AuditAddNodesEventType_ReceiveTime,3453,Variable +AuditAddNodesEventType_LocalTime,3454,Variable +AuditAddNodesEventType_Message,3455,Variable +AuditAddNodesEventType_Severity,3456,Variable +AuditAddNodesEventType_ActionTimeStamp,3457,Variable +AuditAddNodesEventType_Status,3458,Variable +AuditAddNodesEventType_ServerId,3459,Variable +AuditAddNodesEventType_ClientAuditEntryId,3460,Variable +AuditAddNodesEventType_ClientUserId,3461,Variable +AuditDeleteNodesEventType_EventId,3462,Variable +AuditDeleteNodesEventType_EventType,3463,Variable +AuditDeleteNodesEventType_SourceNode,3464,Variable +AuditDeleteNodesEventType_SourceName,3465,Variable +AuditDeleteNodesEventType_Time,3466,Variable +AuditDeleteNodesEventType_ReceiveTime,3467,Variable +AuditDeleteNodesEventType_LocalTime,3468,Variable +AuditDeleteNodesEventType_Message,3469,Variable +AuditDeleteNodesEventType_Severity,3470,Variable +AuditDeleteNodesEventType_ActionTimeStamp,3471,Variable +AuditDeleteNodesEventType_Status,3472,Variable +AuditDeleteNodesEventType_ServerId,3473,Variable +AuditDeleteNodesEventType_ClientAuditEntryId,3474,Variable +AuditDeleteNodesEventType_ClientUserId,3475,Variable +AuditAddReferencesEventType_EventId,3476,Variable +AuditAddReferencesEventType_EventType,3477,Variable +AuditAddReferencesEventType_SourceNode,3478,Variable +AuditAddReferencesEventType_SourceName,3479,Variable +AuditAddReferencesEventType_Time,3480,Variable +AuditAddReferencesEventType_ReceiveTime,3481,Variable +AuditAddReferencesEventType_LocalTime,3482,Variable +AuditAddReferencesEventType_Message,3483,Variable +AuditAddReferencesEventType_Severity,3484,Variable +AuditAddReferencesEventType_ActionTimeStamp,3485,Variable +AuditAddReferencesEventType_Status,3486,Variable +AuditAddReferencesEventType_ServerId,3487,Variable +AuditAddReferencesEventType_ClientAuditEntryId,3488,Variable +AuditAddReferencesEventType_ClientUserId,3489,Variable +AuditDeleteReferencesEventType_EventId,3490,Variable +AuditDeleteReferencesEventType_EventType,3491,Variable +AuditDeleteReferencesEventType_SourceNode,3492,Variable +AuditDeleteReferencesEventType_SourceName,3493,Variable +AuditDeleteReferencesEventType_Time,3494,Variable +AuditDeleteReferencesEventType_ReceiveTime,3495,Variable +AuditDeleteReferencesEventType_LocalTime,3496,Variable +AuditDeleteReferencesEventType_Message,3497,Variable +AuditDeleteReferencesEventType_Severity,3498,Variable +AuditDeleteReferencesEventType_ActionTimeStamp,3499,Variable +AuditDeleteReferencesEventType_Status,3500,Variable +AuditDeleteReferencesEventType_ServerId,3501,Variable +AuditDeleteReferencesEventType_ClientAuditEntryId,3502,Variable +AuditDeleteReferencesEventType_ClientUserId,3503,Variable +AuditUpdateEventType_EventId,3504,Variable +AuditUpdateEventType_EventType,3505,Variable +AuditUpdateEventType_SourceNode,3506,Variable +AuditUpdateEventType_SourceName,3507,Variable +AuditUpdateEventType_Time,3508,Variable +AuditUpdateEventType_ReceiveTime,3509,Variable +AuditUpdateEventType_LocalTime,3510,Variable +AuditUpdateEventType_Message,3511,Variable +AuditUpdateEventType_Severity,3512,Variable +AuditUpdateEventType_ActionTimeStamp,3513,Variable +AuditUpdateEventType_Status,3514,Variable +AuditUpdateEventType_ServerId,3515,Variable +AuditUpdateEventType_ClientAuditEntryId,3516,Variable +AuditUpdateEventType_ClientUserId,3517,Variable +AuditWriteUpdateEventType_EventId,3518,Variable +AuditWriteUpdateEventType_EventType,3519,Variable +AuditWriteUpdateEventType_SourceNode,3520,Variable +AuditWriteUpdateEventType_SourceName,3521,Variable +AuditWriteUpdateEventType_Time,3522,Variable +AuditWriteUpdateEventType_ReceiveTime,3523,Variable +AuditWriteUpdateEventType_LocalTime,3524,Variable +AuditWriteUpdateEventType_Message,3525,Variable +AuditWriteUpdateEventType_Severity,3526,Variable +AuditWriteUpdateEventType_ActionTimeStamp,3527,Variable +AuditWriteUpdateEventType_Status,3528,Variable +AuditWriteUpdateEventType_ServerId,3529,Variable +AuditWriteUpdateEventType_ClientAuditEntryId,3530,Variable +AuditWriteUpdateEventType_ClientUserId,3531,Variable +AuditHistoryUpdateEventType_EventId,3532,Variable +AuditHistoryUpdateEventType_EventType,3533,Variable +AuditHistoryUpdateEventType_SourceNode,3534,Variable +AuditHistoryUpdateEventType_SourceName,3535,Variable +AuditHistoryUpdateEventType_Time,3536,Variable +AuditHistoryUpdateEventType_ReceiveTime,3537,Variable +AuditHistoryUpdateEventType_LocalTime,3538,Variable +AuditHistoryUpdateEventType_Message,3539,Variable +AuditHistoryUpdateEventType_Severity,3540,Variable +AuditHistoryUpdateEventType_ActionTimeStamp,3541,Variable +AuditHistoryUpdateEventType_Status,3542,Variable +AuditHistoryUpdateEventType_ServerId,3543,Variable +AuditHistoryUpdateEventType_ClientAuditEntryId,3544,Variable +AuditHistoryUpdateEventType_ClientUserId,3545,Variable +AuditHistoryEventUpdateEventType_EventId,3546,Variable +AuditHistoryEventUpdateEventType_EventType,3547,Variable +AuditHistoryEventUpdateEventType_SourceNode,3548,Variable +AuditHistoryEventUpdateEventType_SourceName,3549,Variable +AuditHistoryEventUpdateEventType_Time,3550,Variable +AuditHistoryEventUpdateEventType_ReceiveTime,3551,Variable +AuditHistoryEventUpdateEventType_LocalTime,3552,Variable +AuditHistoryEventUpdateEventType_Message,3553,Variable +AuditHistoryEventUpdateEventType_Severity,3554,Variable +AuditHistoryEventUpdateEventType_ActionTimeStamp,3555,Variable +AuditHistoryEventUpdateEventType_Status,3556,Variable +AuditHistoryEventUpdateEventType_ServerId,3557,Variable +AuditHistoryEventUpdateEventType_ClientAuditEntryId,3558,Variable +AuditHistoryEventUpdateEventType_ClientUserId,3559,Variable +AuditHistoryEventUpdateEventType_ParameterDataTypeId,3560,Variable +AuditHistoryValueUpdateEventType_EventId,3561,Variable +AuditHistoryValueUpdateEventType_EventType,3562,Variable +AuditHistoryValueUpdateEventType_SourceNode,3563,Variable +AuditHistoryValueUpdateEventType_SourceName,3564,Variable +AuditHistoryValueUpdateEventType_Time,3565,Variable +AuditHistoryValueUpdateEventType_ReceiveTime,3566,Variable +AuditHistoryValueUpdateEventType_LocalTime,3567,Variable +AuditHistoryValueUpdateEventType_Message,3568,Variable +AuditHistoryValueUpdateEventType_Severity,3569,Variable +AuditHistoryValueUpdateEventType_ActionTimeStamp,3570,Variable +AuditHistoryValueUpdateEventType_Status,3571,Variable +AuditHistoryValueUpdateEventType_ServerId,3572,Variable +AuditHistoryValueUpdateEventType_ClientAuditEntryId,3573,Variable +AuditHistoryValueUpdateEventType_ClientUserId,3574,Variable +AuditHistoryValueUpdateEventType_ParameterDataTypeId,3575,Variable +AuditHistoryDeleteEventType_EventId,3576,Variable +AuditHistoryDeleteEventType_EventType,3577,Variable +AuditHistoryDeleteEventType_SourceNode,3578,Variable +AuditHistoryDeleteEventType_SourceName,3579,Variable +AuditHistoryDeleteEventType_Time,3580,Variable +AuditHistoryDeleteEventType_ReceiveTime,3581,Variable +AuditHistoryDeleteEventType_LocalTime,3582,Variable +AuditHistoryDeleteEventType_Message,3583,Variable +AuditHistoryDeleteEventType_Severity,3584,Variable +AuditHistoryDeleteEventType_ActionTimeStamp,3585,Variable +AuditHistoryDeleteEventType_Status,3586,Variable +AuditHistoryDeleteEventType_ServerId,3587,Variable +AuditHistoryDeleteEventType_ClientAuditEntryId,3588,Variable +AuditHistoryDeleteEventType_ClientUserId,3589,Variable +AuditHistoryDeleteEventType_ParameterDataTypeId,3590,Variable +AuditHistoryRawModifyDeleteEventType_EventId,3591,Variable +AuditHistoryRawModifyDeleteEventType_EventType,3592,Variable +AuditHistoryRawModifyDeleteEventType_SourceNode,3593,Variable +AuditHistoryRawModifyDeleteEventType_SourceName,3594,Variable +AuditHistoryRawModifyDeleteEventType_Time,3595,Variable +AuditHistoryRawModifyDeleteEventType_ReceiveTime,3596,Variable +AuditHistoryRawModifyDeleteEventType_LocalTime,3597,Variable +AuditHistoryRawModifyDeleteEventType_Message,3598,Variable +AuditHistoryRawModifyDeleteEventType_Severity,3599,Variable +AuditHistoryRawModifyDeleteEventType_ActionTimeStamp,3600,Variable +AuditHistoryRawModifyDeleteEventType_Status,3601,Variable +AuditHistoryRawModifyDeleteEventType_ServerId,3602,Variable +AuditHistoryRawModifyDeleteEventType_ClientAuditEntryId,3603,Variable +AuditHistoryRawModifyDeleteEventType_ClientUserId,3604,Variable +AuditHistoryRawModifyDeleteEventType_ParameterDataTypeId,3605,Variable +AuditHistoryRawModifyDeleteEventType_UpdatedNode,3606,Variable +AuditHistoryAtTimeDeleteEventType_EventId,3607,Variable +AuditHistoryAtTimeDeleteEventType_EventType,3608,Variable +AuditHistoryAtTimeDeleteEventType_SourceNode,3609,Variable +AuditHistoryAtTimeDeleteEventType_SourceName,3610,Variable +AuditHistoryAtTimeDeleteEventType_Time,3611,Variable +AuditHistoryAtTimeDeleteEventType_ReceiveTime,3612,Variable +AuditHistoryAtTimeDeleteEventType_LocalTime,3613,Variable +AuditHistoryAtTimeDeleteEventType_Message,3614,Variable +AuditHistoryAtTimeDeleteEventType_Severity,3615,Variable +AuditHistoryAtTimeDeleteEventType_ActionTimeStamp,3616,Variable +AuditHistoryAtTimeDeleteEventType_Status,3617,Variable +AuditHistoryAtTimeDeleteEventType_ServerId,3618,Variable +AuditHistoryAtTimeDeleteEventType_ClientAuditEntryId,3619,Variable +AuditHistoryAtTimeDeleteEventType_ClientUserId,3620,Variable +AuditHistoryAtTimeDeleteEventType_ParameterDataTypeId,3621,Variable +AuditHistoryAtTimeDeleteEventType_UpdatedNode,3622,Variable +AuditHistoryEventDeleteEventType_EventId,3623,Variable +AuditHistoryEventDeleteEventType_EventType,3624,Variable +AuditHistoryEventDeleteEventType_SourceNode,3625,Variable +AuditHistoryEventDeleteEventType_SourceName,3626,Variable +AuditHistoryEventDeleteEventType_Time,3627,Variable +AuditHistoryEventDeleteEventType_ReceiveTime,3628,Variable +AuditHistoryEventDeleteEventType_LocalTime,3629,Variable +AuditHistoryEventDeleteEventType_Message,3630,Variable +AuditHistoryEventDeleteEventType_Severity,3631,Variable +AuditHistoryEventDeleteEventType_ActionTimeStamp,3632,Variable +AuditHistoryEventDeleteEventType_Status,3633,Variable +AuditHistoryEventDeleteEventType_ServerId,3634,Variable +AuditHistoryEventDeleteEventType_ClientAuditEntryId,3635,Variable +AuditHistoryEventDeleteEventType_ClientUserId,3636,Variable +AuditHistoryEventDeleteEventType_ParameterDataTypeId,3637,Variable +AuditHistoryEventDeleteEventType_UpdatedNode,3638,Variable +AuditUpdateMethodEventType_EventId,3639,Variable +AuditUpdateMethodEventType_EventType,3640,Variable +AuditUpdateMethodEventType_SourceNode,3641,Variable +AuditUpdateMethodEventType_SourceName,3642,Variable +AuditUpdateMethodEventType_Time,3643,Variable +AuditUpdateMethodEventType_ReceiveTime,3644,Variable +AuditUpdateMethodEventType_LocalTime,3645,Variable +AuditUpdateMethodEventType_Message,3646,Variable +AuditUpdateMethodEventType_Severity,3647,Variable +AuditUpdateMethodEventType_ActionTimeStamp,3648,Variable +AuditUpdateMethodEventType_Status,3649,Variable +AuditUpdateMethodEventType_ServerId,3650,Variable +AuditUpdateMethodEventType_ClientAuditEntryId,3651,Variable +AuditUpdateMethodEventType_ClientUserId,3652,Variable +SystemEventType_EventId,3653,Variable +SystemEventType_EventType,3654,Variable +SystemEventType_SourceNode,3655,Variable +SystemEventType_SourceName,3656,Variable +SystemEventType_Time,3657,Variable +SystemEventType_ReceiveTime,3658,Variable +SystemEventType_LocalTime,3659,Variable +SystemEventType_Message,3660,Variable +SystemEventType_Severity,3661,Variable +DeviceFailureEventType_EventId,3662,Variable +DeviceFailureEventType_EventType,3663,Variable +DeviceFailureEventType_SourceNode,3664,Variable +DeviceFailureEventType_SourceName,3665,Variable +DeviceFailureEventType_Time,3666,Variable +DeviceFailureEventType_ReceiveTime,3667,Variable +DeviceFailureEventType_LocalTime,3668,Variable +DeviceFailureEventType_Message,3669,Variable +DeviceFailureEventType_Severity,3670,Variable +BaseModelChangeEventType_EventId,3671,Variable +BaseModelChangeEventType_EventType,3672,Variable +BaseModelChangeEventType_SourceNode,3673,Variable +BaseModelChangeEventType_SourceName,3674,Variable +BaseModelChangeEventType_Time,3675,Variable +BaseModelChangeEventType_ReceiveTime,3676,Variable +BaseModelChangeEventType_LocalTime,3677,Variable +BaseModelChangeEventType_Message,3678,Variable +BaseModelChangeEventType_Severity,3679,Variable +GeneralModelChangeEventType_EventId,3680,Variable +GeneralModelChangeEventType_EventType,3681,Variable +GeneralModelChangeEventType_SourceNode,3682,Variable +GeneralModelChangeEventType_SourceName,3683,Variable +GeneralModelChangeEventType_Time,3684,Variable +GeneralModelChangeEventType_ReceiveTime,3685,Variable +GeneralModelChangeEventType_LocalTime,3686,Variable +GeneralModelChangeEventType_Message,3687,Variable +GeneralModelChangeEventType_Severity,3688,Variable +SemanticChangeEventType_EventId,3689,Variable +SemanticChangeEventType_EventType,3690,Variable +SemanticChangeEventType_SourceNode,3691,Variable +SemanticChangeEventType_SourceName,3692,Variable +SemanticChangeEventType_Time,3693,Variable +SemanticChangeEventType_ReceiveTime,3694,Variable +SemanticChangeEventType_LocalTime,3695,Variable +SemanticChangeEventType_Message,3696,Variable +SemanticChangeEventType_Severity,3697,Variable +ServerStatusType_BuildInfo_ProductUri,3698,Variable +ServerStatusType_BuildInfo_ManufacturerName,3699,Variable +ServerStatusType_BuildInfo_ProductName,3700,Variable +ServerStatusType_BuildInfo_SoftwareVersion,3701,Variable +ServerStatusType_BuildInfo_BuildNumber,3702,Variable +ServerStatusType_BuildInfo_BuildDate,3703,Variable +Server_ServerCapabilities_SoftwareCertificates,3704,Variable +Server_ServerDiagnostics_ServerDiagnosticsSummary_RejectedSessionCount,3705,Variable +Server_ServerDiagnostics_SessionsDiagnosticsSummary,3706,Object +Server_ServerDiagnostics_SessionsDiagnosticsSummary_SessionDiagnosticsArray,3707,Variable +Server_ServerDiagnostics_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray,3708,Variable +Server_ServerRedundancy_RedundancySupport,3709,Variable +FiniteStateVariableType_Name,3714,Variable +FiniteStateVariableType_Number,3715,Variable +FiniteStateVariableType_EffectiveDisplayName,3716,Variable +FiniteTransitionVariableType_Name,3717,Variable +FiniteTransitionVariableType_Number,3718,Variable +FiniteTransitionVariableType_TransitionTime,3719,Variable +StateMachineType_CurrentState_Id,3720,Variable +StateMachineType_CurrentState_Name,3721,Variable +StateMachineType_CurrentState_Number,3722,Variable +StateMachineType_CurrentState_EffectiveDisplayName,3723,Variable +StateMachineType_LastTransition_Id,3724,Variable +StateMachineType_LastTransition_Name,3725,Variable +StateMachineType_LastTransition_Number,3726,Variable +StateMachineType_LastTransition_TransitionTime,3727,Variable +FiniteStateMachineType_CurrentState_Id,3728,Variable +FiniteStateMachineType_CurrentState_Name,3729,Variable +FiniteStateMachineType_CurrentState_Number,3730,Variable +FiniteStateMachineType_CurrentState_EffectiveDisplayName,3731,Variable +FiniteStateMachineType_LastTransition_Id,3732,Variable +FiniteStateMachineType_LastTransition_Name,3733,Variable +FiniteStateMachineType_LastTransition_Number,3734,Variable +FiniteStateMachineType_LastTransition_TransitionTime,3735,Variable +InitialStateType_StateNumber,3736,Variable +TransitionEventType_EventId,3737,Variable +TransitionEventType_EventType,3738,Variable +TransitionEventType_SourceNode,3739,Variable +TransitionEventType_SourceName,3740,Variable +TransitionEventType_Time,3741,Variable +TransitionEventType_ReceiveTime,3742,Variable +TransitionEventType_LocalTime,3743,Variable +TransitionEventType_Message,3744,Variable +TransitionEventType_Severity,3745,Variable +TransitionEventType_FromState_Id,3746,Variable +TransitionEventType_FromState_Name,3747,Variable +TransitionEventType_FromState_Number,3748,Variable +TransitionEventType_FromState_EffectiveDisplayName,3749,Variable +TransitionEventType_ToState_Id,3750,Variable +TransitionEventType_ToState_Name,3751,Variable +TransitionEventType_ToState_Number,3752,Variable +TransitionEventType_ToState_EffectiveDisplayName,3753,Variable +TransitionEventType_Transition_Id,3754,Variable +TransitionEventType_Transition_Name,3755,Variable +TransitionEventType_Transition_Number,3756,Variable +TransitionEventType_Transition_TransitionTime,3757,Variable +AuditUpdateStateEventType_EventId,3758,Variable +AuditUpdateStateEventType_EventType,3759,Variable +AuditUpdateStateEventType_SourceNode,3760,Variable +AuditUpdateStateEventType_SourceName,3761,Variable +AuditUpdateStateEventType_Time,3762,Variable +AuditUpdateStateEventType_ReceiveTime,3763,Variable +AuditUpdateStateEventType_LocalTime,3764,Variable +AuditUpdateStateEventType_Message,3765,Variable +AuditUpdateStateEventType_Severity,3766,Variable +AuditUpdateStateEventType_ActionTimeStamp,3767,Variable +AuditUpdateStateEventType_Status,3768,Variable +AuditUpdateStateEventType_ServerId,3769,Variable +AuditUpdateStateEventType_ClientAuditEntryId,3770,Variable +AuditUpdateStateEventType_ClientUserId,3771,Variable +AuditUpdateStateEventType_MethodId,3772,Variable +AuditUpdateStateEventType_InputArguments,3773,Variable +AnalogItemType_Definition,3774,Variable +AnalogItemType_ValuePrecision,3775,Variable +DiscreteItemType_Definition,3776,Variable +DiscreteItemType_ValuePrecision,3777,Variable +TwoStateDiscreteType_Definition,3778,Variable +TwoStateDiscreteType_ValuePrecision,3779,Variable +MultiStateDiscreteType_Definition,3780,Variable +MultiStateDiscreteType_ValuePrecision,3781,Variable +ProgramTransitionEventType_EventId,3782,Variable +ProgramTransitionEventType_EventType,3783,Variable +ProgramTransitionEventType_SourceNode,3784,Variable +ProgramTransitionEventType_SourceName,3785,Variable +ProgramTransitionEventType_Time,3786,Variable +ProgramTransitionEventType_ReceiveTime,3787,Variable +ProgramTransitionEventType_LocalTime,3788,Variable +ProgramTransitionEventType_Message,3789,Variable +ProgramTransitionEventType_Severity,3790,Variable +ProgramTransitionEventType_FromState,3791,Variable +ProgramTransitionEventType_FromState_Id,3792,Variable +ProgramTransitionEventType_FromState_Name,3793,Variable +ProgramTransitionEventType_FromState_Number,3794,Variable +ProgramTransitionEventType_FromState_EffectiveDisplayName,3795,Variable +ProgramTransitionEventType_ToState,3796,Variable +ProgramTransitionEventType_ToState_Id,3797,Variable +ProgramTransitionEventType_ToState_Name,3798,Variable +ProgramTransitionEventType_ToState_Number,3799,Variable +ProgramTransitionEventType_ToState_EffectiveDisplayName,3800,Variable +ProgramTransitionEventType_Transition,3801,Variable +ProgramTransitionEventType_Transition_Id,3802,Variable +ProgramTransitionEventType_Transition_Name,3803,Variable +ProgramTransitionEventType_Transition_Number,3804,Variable +ProgramTransitionEventType_Transition_TransitionTime,3805,Variable +ProgramTransitionAuditEventType,3806,ObjectType +ProgramTransitionAuditEventType_EventId,3807,Variable +ProgramTransitionAuditEventType_EventType,3808,Variable +ProgramTransitionAuditEventType_SourceNode,3809,Variable +ProgramTransitionAuditEventType_SourceName,3810,Variable +ProgramTransitionAuditEventType_Time,3811,Variable +ProgramTransitionAuditEventType_ReceiveTime,3812,Variable +ProgramTransitionAuditEventType_LocalTime,3813,Variable +ProgramTransitionAuditEventType_Message,3814,Variable +ProgramTransitionAuditEventType_Severity,3815,Variable +ProgramTransitionAuditEventType_ActionTimeStamp,3816,Variable +ProgramTransitionAuditEventType_Status,3817,Variable +ProgramTransitionAuditEventType_ServerId,3818,Variable +ProgramTransitionAuditEventType_ClientAuditEntryId,3819,Variable +ProgramTransitionAuditEventType_ClientUserId,3820,Variable +ProgramTransitionAuditEventType_MethodId,3821,Variable +ProgramTransitionAuditEventType_InputArguments,3822,Variable +ProgramTransitionAuditEventType_OldStateId,3823,Variable +ProgramTransitionAuditEventType_NewStateId,3824,Variable +ProgramTransitionAuditEventType_Transition,3825,Variable +ProgramTransitionAuditEventType_Transition_Id,3826,Variable +ProgramTransitionAuditEventType_Transition_Name,3827,Variable +ProgramTransitionAuditEventType_Transition_Number,3828,Variable +ProgramTransitionAuditEventType_Transition_TransitionTime,3829,Variable +ProgramStateMachineType_CurrentState,3830,Variable +ProgramStateMachineType_CurrentState_Id,3831,Variable +ProgramStateMachineType_CurrentState_Name,3832,Variable +ProgramStateMachineType_CurrentState_Number,3833,Variable +ProgramStateMachineType_CurrentState_EffectiveDisplayName,3834,Variable +ProgramStateMachineType_LastTransition,3835,Variable +ProgramStateMachineType_LastTransition_Id,3836,Variable +ProgramStateMachineType_LastTransition_Name,3837,Variable +ProgramStateMachineType_LastTransition_Number,3838,Variable +ProgramStateMachineType_LastTransition_TransitionTime,3839,Variable +ProgramStateMachineType_ProgramDiagnostics_CreateSessionId,3840,Variable +ProgramStateMachineType_ProgramDiagnostics_CreateClientName,3841,Variable +ProgramStateMachineType_ProgramDiagnostics_InvocationCreationTime,3842,Variable +ProgramStateMachineType_ProgramDiagnostics_LastTransitionTime,3843,Variable +ProgramStateMachineType_ProgramDiagnostics_LastMethodCall,3844,Variable +ProgramStateMachineType_ProgramDiagnostics_LastMethodSessionId,3845,Variable +ProgramStateMachineType_ProgramDiagnostics_LastMethodInputArguments,3846,Variable +ProgramStateMachineType_ProgramDiagnostics_LastMethodOutputArguments,3847,Variable +ProgramStateMachineType_ProgramDiagnostics_LastMethodCallTime,3848,Variable +ProgramStateMachineType_ProgramDiagnostics_LastMethodReturnStatus,3849,Variable +ProgramStateMachineType_FinalResultData,3850,Object +AddCommentMethodType,3863,Method +AddCommentMethodType_InputArguments,3864,Variable +ConditionType_EventId,3865,Variable +ConditionType_EventType,3866,Variable +ConditionType_SourceNode,3867,Variable +ConditionType_SourceName,3868,Variable +ConditionType_Time,3869,Variable +ConditionType_ReceiveTime,3870,Variable +ConditionType_LocalTime,3871,Variable +ConditionType_Message,3872,Variable +ConditionType_Severity,3873,Variable +ConditionType_Retain,3874,Variable +ConditionType_ConditionRefresh,3875,Method +ConditionType_ConditionRefresh_InputArguments,3876,Variable +RefreshStartEventType_EventId,3969,Variable +RefreshStartEventType_EventType,3970,Variable +RefreshStartEventType_SourceNode,3971,Variable +RefreshStartEventType_SourceName,3972,Variable +RefreshStartEventType_Time,3973,Variable +RefreshStartEventType_ReceiveTime,3974,Variable +RefreshStartEventType_LocalTime,3975,Variable +RefreshStartEventType_Message,3976,Variable +RefreshStartEventType_Severity,3977,Variable +RefreshEndEventType_EventId,3978,Variable +RefreshEndEventType_EventType,3979,Variable +RefreshEndEventType_SourceNode,3980,Variable +RefreshEndEventType_SourceName,3981,Variable +RefreshEndEventType_Time,3982,Variable +RefreshEndEventType_ReceiveTime,3983,Variable +RefreshEndEventType_LocalTime,3984,Variable +RefreshEndEventType_Message,3985,Variable +RefreshEndEventType_Severity,3986,Variable +RefreshRequiredEventType_EventId,3987,Variable +RefreshRequiredEventType_EventType,3988,Variable +RefreshRequiredEventType_SourceNode,3989,Variable +RefreshRequiredEventType_SourceName,3990,Variable +RefreshRequiredEventType_Time,3991,Variable +RefreshRequiredEventType_ReceiveTime,3992,Variable +RefreshRequiredEventType_LocalTime,3993,Variable +RefreshRequiredEventType_Message,3994,Variable +RefreshRequiredEventType_Severity,3995,Variable +AuditConditionEventType_EventId,3996,Variable +AuditConditionEventType_EventType,3997,Variable +AuditConditionEventType_SourceNode,3998,Variable +AuditConditionEventType_SourceName,3999,Variable +AuditConditionEventType_Time,4000,Variable +AuditConditionEventType_ReceiveTime,4001,Variable +AuditConditionEventType_LocalTime,4002,Variable +AuditConditionEventType_Message,4003,Variable +AuditConditionEventType_Severity,4004,Variable +AuditConditionEventType_ActionTimeStamp,4005,Variable +AuditConditionEventType_Status,4006,Variable +AuditConditionEventType_ServerId,4007,Variable +AuditConditionEventType_ClientAuditEntryId,4008,Variable +AuditConditionEventType_ClientUserId,4009,Variable +AuditConditionEventType_MethodId,4010,Variable +AuditConditionEventType_InputArguments,4011,Variable +AuditConditionEnableEventType_EventId,4106,Variable +AuditConditionEnableEventType_EventType,4107,Variable +AuditConditionEnableEventType_SourceNode,4108,Variable +AuditConditionEnableEventType_SourceName,4109,Variable +AuditConditionEnableEventType_Time,4110,Variable +AuditConditionEnableEventType_ReceiveTime,4111,Variable +AuditConditionEnableEventType_LocalTime,4112,Variable +AuditConditionEnableEventType_Message,4113,Variable +AuditConditionEnableEventType_Severity,4114,Variable +AuditConditionEnableEventType_ActionTimeStamp,4115,Variable +AuditConditionEnableEventType_Status,4116,Variable +AuditConditionEnableEventType_ServerId,4117,Variable +AuditConditionEnableEventType_ClientAuditEntryId,4118,Variable +AuditConditionEnableEventType_ClientUserId,4119,Variable +AuditConditionEnableEventType_MethodId,4120,Variable +AuditConditionEnableEventType_InputArguments,4121,Variable +AuditConditionCommentEventType_EventId,4170,Variable +AuditConditionCommentEventType_EventType,4171,Variable +AuditConditionCommentEventType_SourceNode,4172,Variable +AuditConditionCommentEventType_SourceName,4173,Variable +AuditConditionCommentEventType_Time,4174,Variable +AuditConditionCommentEventType_ReceiveTime,4175,Variable +AuditConditionCommentEventType_LocalTime,4176,Variable +AuditConditionCommentEventType_Message,4177,Variable +AuditConditionCommentEventType_Severity,4178,Variable +AuditConditionCommentEventType_ActionTimeStamp,4179,Variable +AuditConditionCommentEventType_Status,4180,Variable +AuditConditionCommentEventType_ServerId,4181,Variable +AuditConditionCommentEventType_ClientAuditEntryId,4182,Variable +AuditConditionCommentEventType_ClientUserId,4183,Variable +AuditConditionCommentEventType_MethodId,4184,Variable +AuditConditionCommentEventType_InputArguments,4185,Variable +DialogConditionType_EventId,4188,Variable +DialogConditionType_EventType,4189,Variable +DialogConditionType_SourceNode,4190,Variable +DialogConditionType_SourceName,4191,Variable +DialogConditionType_Time,4192,Variable +DialogConditionType_ReceiveTime,4193,Variable +DialogConditionType_LocalTime,4194,Variable +DialogConditionType_Message,4195,Variable +DialogConditionType_Severity,4196,Variable +DialogConditionType_Retain,4197,Variable +DialogConditionType_ConditionRefresh,4198,Method +DialogConditionType_ConditionRefresh_InputArguments,4199,Variable +AcknowledgeableConditionType_EventId,5113,Variable +AcknowledgeableConditionType_EventType,5114,Variable +AcknowledgeableConditionType_SourceNode,5115,Variable +AcknowledgeableConditionType_SourceName,5116,Variable +AcknowledgeableConditionType_Time,5117,Variable +AcknowledgeableConditionType_ReceiveTime,5118,Variable +AcknowledgeableConditionType_LocalTime,5119,Variable +AcknowledgeableConditionType_Message,5120,Variable +AcknowledgeableConditionType_Severity,5121,Variable +AcknowledgeableConditionType_Retain,5122,Variable +AcknowledgeableConditionType_ConditionRefresh,5123,Method +AcknowledgeableConditionType_ConditionRefresh_InputArguments,5124,Variable +AlarmConditionType_EventId,5540,Variable +AlarmConditionType_EventType,5541,Variable +AlarmConditionType_SourceNode,5542,Variable +AlarmConditionType_SourceName,5543,Variable +AlarmConditionType_Time,5544,Variable +AlarmConditionType_ReceiveTime,5545,Variable +AlarmConditionType_LocalTime,5546,Variable +AlarmConditionType_Message,5547,Variable +AlarmConditionType_Severity,5548,Variable +AlarmConditionType_Retain,5549,Variable +AlarmConditionType_ConditionRefresh,5550,Method +AlarmConditionType_ConditionRefresh_InputArguments,5551,Variable +ShelvedStateMachineType_CurrentState,6088,Variable +ShelvedStateMachineType_CurrentState_Id,6089,Variable +ShelvedStateMachineType_CurrentState_Name,6090,Variable +ShelvedStateMachineType_CurrentState_Number,6091,Variable +ShelvedStateMachineType_CurrentState_EffectiveDisplayName,6092,Variable +ShelvedStateMachineType_LastTransition,6093,Variable +ShelvedStateMachineType_LastTransition_Id,6094,Variable +ShelvedStateMachineType_LastTransition_Name,6095,Variable +ShelvedStateMachineType_LastTransition_Number,6096,Variable +ShelvedStateMachineType_LastTransition_TransitionTime,6097,Variable +ShelvedStateMachineType_Unshelved_StateNumber,6098,Variable +ShelvedStateMachineType_TimedShelved_StateNumber,6100,Variable +ShelvedStateMachineType_OneShotShelved_StateNumber,6101,Variable +TimedShelveMethodType,6102,Method +TimedShelveMethodType_InputArguments,6103,Variable +LimitAlarmType_EventId,6116,Variable +LimitAlarmType_EventType,6117,Variable +LimitAlarmType_SourceNode,6118,Variable +LimitAlarmType_SourceName,6119,Variable +LimitAlarmType_Time,6120,Variable +LimitAlarmType_ReceiveTime,6121,Variable +LimitAlarmType_LocalTime,6122,Variable +LimitAlarmType_Message,6123,Variable +LimitAlarmType_Severity,6124,Variable +LimitAlarmType_Retain,6125,Variable +LimitAlarmType_ConditionRefresh,6126,Method +LimitAlarmType_ConditionRefresh_InputArguments,6127,Variable +IdType_EnumStrings,7591,Variable +EnumValueType,7594,DataType +MessageSecurityMode_EnumStrings,7595,Variable +UserTokenType_EnumStrings,7596,Variable +ApplicationType_EnumStrings,7597,Variable +SecurityTokenRequestType_EnumStrings,7598,Variable +BrowseDirection_EnumStrings,7603,Variable +FilterOperator_EnumStrings,7605,Variable +TimestampsToReturn_EnumStrings,7606,Variable +MonitoringMode_EnumStrings,7608,Variable +DataChangeTrigger_EnumStrings,7609,Variable +DeadbandType_EnumStrings,7610,Variable +RedundancySupport_EnumStrings,7611,Variable +ServerState_EnumStrings,7612,Variable +ExceptionDeviationFormat_EnumStrings,7614,Variable +EnumValueType_Encoding_DefaultXml,7616,Object +OpcUa_BinarySchema,7617,Variable +OpcUa_BinarySchema_DataTypeVersion,7618,Variable +OpcUa_BinarySchema_NamespaceUri,7619,Variable +OpcUa_BinarySchema_Argument,7650,Variable +OpcUa_BinarySchema_Argument_DataTypeVersion,7651,Variable +OpcUa_BinarySchema_Argument_DictionaryFragment,7652,Variable +OpcUa_BinarySchema_EnumValueType,7656,Variable +OpcUa_BinarySchema_EnumValueType_DataTypeVersion,7657,Variable +OpcUa_BinarySchema_EnumValueType_DictionaryFragment,7658,Variable +OpcUa_BinarySchema_StatusResult,7659,Variable +OpcUa_BinarySchema_StatusResult_DataTypeVersion,7660,Variable +OpcUa_BinarySchema_StatusResult_DictionaryFragment,7661,Variable +OpcUa_BinarySchema_UserTokenPolicy,7662,Variable +OpcUa_BinarySchema_UserTokenPolicy_DataTypeVersion,7663,Variable +OpcUa_BinarySchema_UserTokenPolicy_DictionaryFragment,7664,Variable +OpcUa_BinarySchema_ApplicationDescription,7665,Variable +OpcUa_BinarySchema_ApplicationDescription_DataTypeVersion,7666,Variable +OpcUa_BinarySchema_ApplicationDescription_DictionaryFragment,7667,Variable +OpcUa_BinarySchema_EndpointDescription,7668,Variable +OpcUa_BinarySchema_EndpointDescription_DataTypeVersion,7669,Variable +OpcUa_BinarySchema_EndpointDescription_DictionaryFragment,7670,Variable +OpcUa_BinarySchema_UserIdentityToken,7671,Variable +OpcUa_BinarySchema_UserIdentityToken_DataTypeVersion,7672,Variable +OpcUa_BinarySchema_UserIdentityToken_DictionaryFragment,7673,Variable +OpcUa_BinarySchema_AnonymousIdentityToken,7674,Variable +OpcUa_BinarySchema_AnonymousIdentityToken_DataTypeVersion,7675,Variable +OpcUa_BinarySchema_AnonymousIdentityToken_DictionaryFragment,7676,Variable +OpcUa_BinarySchema_UserNameIdentityToken,7677,Variable +OpcUa_BinarySchema_UserNameIdentityToken_DataTypeVersion,7678,Variable +OpcUa_BinarySchema_UserNameIdentityToken_DictionaryFragment,7679,Variable +OpcUa_BinarySchema_X509IdentityToken,7680,Variable +OpcUa_BinarySchema_X509IdentityToken_DataTypeVersion,7681,Variable +OpcUa_BinarySchema_X509IdentityToken_DictionaryFragment,7682,Variable +OpcUa_BinarySchema_IssuedIdentityToken,7683,Variable +OpcUa_BinarySchema_IssuedIdentityToken_DataTypeVersion,7684,Variable +OpcUa_BinarySchema_IssuedIdentityToken_DictionaryFragment,7685,Variable +OpcUa_BinarySchema_EndpointConfiguration,7686,Variable +OpcUa_BinarySchema_EndpointConfiguration_DataTypeVersion,7687,Variable +OpcUa_BinarySchema_EndpointConfiguration_DictionaryFragment,7688,Variable +OpcUa_BinarySchema_BuildInfo,7692,Variable +OpcUa_BinarySchema_BuildInfo_DataTypeVersion,7693,Variable +OpcUa_BinarySchema_BuildInfo_DictionaryFragment,7694,Variable +OpcUa_BinarySchema_SignedSoftwareCertificate,7698,Variable +OpcUa_BinarySchema_SignedSoftwareCertificate_DataTypeVersion,7699,Variable +OpcUa_BinarySchema_SignedSoftwareCertificate_DictionaryFragment,7700,Variable +OpcUa_BinarySchema_AddNodesItem,7728,Variable +OpcUa_BinarySchema_AddNodesItem_DataTypeVersion,7729,Variable +OpcUa_BinarySchema_AddNodesItem_DictionaryFragment,7730,Variable +OpcUa_BinarySchema_AddReferencesItem,7731,Variable +OpcUa_BinarySchema_AddReferencesItem_DataTypeVersion,7732,Variable +OpcUa_BinarySchema_AddReferencesItem_DictionaryFragment,7733,Variable +OpcUa_BinarySchema_DeleteNodesItem,7734,Variable +OpcUa_BinarySchema_DeleteNodesItem_DataTypeVersion,7735,Variable +OpcUa_BinarySchema_DeleteNodesItem_DictionaryFragment,7736,Variable +OpcUa_BinarySchema_DeleteReferencesItem,7737,Variable +OpcUa_BinarySchema_DeleteReferencesItem_DataTypeVersion,7738,Variable +OpcUa_BinarySchema_DeleteReferencesItem_DictionaryFragment,7739,Variable +OpcUa_BinarySchema_RegisteredServer,7782,Variable +OpcUa_BinarySchema_RegisteredServer_DataTypeVersion,7783,Variable +OpcUa_BinarySchema_RegisteredServer_DictionaryFragment,7784,Variable +OpcUa_BinarySchema_ContentFilterElement,7929,Variable +OpcUa_BinarySchema_ContentFilterElement_DataTypeVersion,7930,Variable +OpcUa_BinarySchema_ContentFilterElement_DictionaryFragment,7931,Variable +OpcUa_BinarySchema_ContentFilter,7932,Variable +OpcUa_BinarySchema_ContentFilter_DataTypeVersion,7933,Variable +OpcUa_BinarySchema_ContentFilter_DictionaryFragment,7934,Variable +OpcUa_BinarySchema_FilterOperand,7935,Variable +OpcUa_BinarySchema_FilterOperand_DataTypeVersion,7936,Variable +OpcUa_BinarySchema_FilterOperand_DictionaryFragment,7937,Variable +OpcUa_BinarySchema_ElementOperand,7938,Variable +OpcUa_BinarySchema_ElementOperand_DataTypeVersion,7939,Variable +OpcUa_BinarySchema_ElementOperand_DictionaryFragment,7940,Variable +OpcUa_BinarySchema_LiteralOperand,7941,Variable +OpcUa_BinarySchema_LiteralOperand_DataTypeVersion,7942,Variable +OpcUa_BinarySchema_LiteralOperand_DictionaryFragment,7943,Variable +OpcUa_BinarySchema_AttributeOperand,7944,Variable +OpcUa_BinarySchema_AttributeOperand_DataTypeVersion,7945,Variable +OpcUa_BinarySchema_AttributeOperand_DictionaryFragment,7946,Variable +OpcUa_BinarySchema_SimpleAttributeOperand,7947,Variable +OpcUa_BinarySchema_SimpleAttributeOperand_DataTypeVersion,7948,Variable +OpcUa_BinarySchema_SimpleAttributeOperand_DictionaryFragment,7949,Variable +OpcUa_BinarySchema_HistoryEvent,8004,Variable +OpcUa_BinarySchema_HistoryEvent_DataTypeVersion,8005,Variable +OpcUa_BinarySchema_HistoryEvent_DictionaryFragment,8006,Variable +OpcUa_BinarySchema_MonitoringFilter,8067,Variable +OpcUa_BinarySchema_MonitoringFilter_DataTypeVersion,8068,Variable +OpcUa_BinarySchema_MonitoringFilter_DictionaryFragment,8069,Variable +OpcUa_BinarySchema_EventFilter,8073,Variable +OpcUa_BinarySchema_EventFilter_DataTypeVersion,8074,Variable +OpcUa_BinarySchema_EventFilter_DictionaryFragment,8075,Variable +OpcUa_BinarySchema_AggregateConfiguration,8076,Variable +OpcUa_BinarySchema_AggregateConfiguration_DataTypeVersion,8077,Variable +OpcUa_BinarySchema_AggregateConfiguration_DictionaryFragment,8078,Variable +OpcUa_BinarySchema_HistoryEventFieldList,8172,Variable +OpcUa_BinarySchema_HistoryEventFieldList_DataTypeVersion,8173,Variable +OpcUa_BinarySchema_HistoryEventFieldList_DictionaryFragment,8174,Variable +OpcUa_BinarySchema_RedundantServerDataType,8208,Variable +OpcUa_BinarySchema_RedundantServerDataType_DataTypeVersion,8209,Variable +OpcUa_BinarySchema_RedundantServerDataType_DictionaryFragment,8210,Variable +OpcUa_BinarySchema_SamplingIntervalDiagnosticsDataType,8211,Variable +OpcUa_BinarySchema_SamplingIntervalDiagnosticsDataType_DataTypeVersion,8212,Variable +OpcUa_BinarySchema_SamplingIntervalDiagnosticsDataType_DictionaryFragment,8213,Variable +OpcUa_BinarySchema_ServerDiagnosticsSummaryDataType,8214,Variable +OpcUa_BinarySchema_ServerDiagnosticsSummaryDataType_DataTypeVersion,8215,Variable +OpcUa_BinarySchema_ServerDiagnosticsSummaryDataType_DictionaryFragment,8216,Variable +OpcUa_BinarySchema_ServerStatusDataType,8217,Variable +OpcUa_BinarySchema_ServerStatusDataType_DataTypeVersion,8218,Variable +OpcUa_BinarySchema_ServerStatusDataType_DictionaryFragment,8219,Variable +OpcUa_BinarySchema_SessionDiagnosticsDataType,8220,Variable +OpcUa_BinarySchema_SessionDiagnosticsDataType_DataTypeVersion,8221,Variable +OpcUa_BinarySchema_SessionDiagnosticsDataType_DictionaryFragment,8222,Variable +OpcUa_BinarySchema_SessionSecurityDiagnosticsDataType,8223,Variable +OpcUa_BinarySchema_SessionSecurityDiagnosticsDataType_DataTypeVersion,8224,Variable +OpcUa_BinarySchema_SessionSecurityDiagnosticsDataType_DictionaryFragment,8225,Variable +OpcUa_BinarySchema_ServiceCounterDataType,8226,Variable +OpcUa_BinarySchema_ServiceCounterDataType_DataTypeVersion,8227,Variable +OpcUa_BinarySchema_ServiceCounterDataType_DictionaryFragment,8228,Variable +OpcUa_BinarySchema_SubscriptionDiagnosticsDataType,8229,Variable +OpcUa_BinarySchema_SubscriptionDiagnosticsDataType_DataTypeVersion,8230,Variable +OpcUa_BinarySchema_SubscriptionDiagnosticsDataType_DictionaryFragment,8231,Variable +OpcUa_BinarySchema_ModelChangeStructureDataType,8232,Variable +OpcUa_BinarySchema_ModelChangeStructureDataType_DataTypeVersion,8233,Variable +OpcUa_BinarySchema_ModelChangeStructureDataType_DictionaryFragment,8234,Variable +OpcUa_BinarySchema_SemanticChangeStructureDataType,8235,Variable +OpcUa_BinarySchema_SemanticChangeStructureDataType_DataTypeVersion,8236,Variable +OpcUa_BinarySchema_SemanticChangeStructureDataType_DictionaryFragment,8237,Variable +OpcUa_BinarySchema_Range,8238,Variable +OpcUa_BinarySchema_Range_DataTypeVersion,8239,Variable +OpcUa_BinarySchema_Range_DictionaryFragment,8240,Variable +OpcUa_BinarySchema_EUInformation,8241,Variable +OpcUa_BinarySchema_EUInformation_DataTypeVersion,8242,Variable +OpcUa_BinarySchema_EUInformation_DictionaryFragment,8243,Variable +OpcUa_BinarySchema_Annotation,8244,Variable +OpcUa_BinarySchema_Annotation_DataTypeVersion,8245,Variable +OpcUa_BinarySchema_Annotation_DictionaryFragment,8246,Variable +OpcUa_BinarySchema_ProgramDiagnosticDataType,8247,Variable +OpcUa_BinarySchema_ProgramDiagnosticDataType_DataTypeVersion,8248,Variable +OpcUa_BinarySchema_ProgramDiagnosticDataType_DictionaryFragment,8249,Variable +EnumValueType_Encoding_DefaultBinary,8251,Object +OpcUa_XmlSchema,8252,Variable +OpcUa_XmlSchema_DataTypeVersion,8253,Variable +OpcUa_XmlSchema_NamespaceUri,8254,Variable +OpcUa_XmlSchema_Argument,8285,Variable +OpcUa_XmlSchema_Argument_DataTypeVersion,8286,Variable +OpcUa_XmlSchema_Argument_DictionaryFragment,8287,Variable +OpcUa_XmlSchema_EnumValueType,8291,Variable +OpcUa_XmlSchema_EnumValueType_DataTypeVersion,8292,Variable +OpcUa_XmlSchema_EnumValueType_DictionaryFragment,8293,Variable +OpcUa_XmlSchema_StatusResult,8294,Variable +OpcUa_XmlSchema_StatusResult_DataTypeVersion,8295,Variable +OpcUa_XmlSchema_StatusResult_DictionaryFragment,8296,Variable +OpcUa_XmlSchema_UserTokenPolicy,8297,Variable +OpcUa_XmlSchema_UserTokenPolicy_DataTypeVersion,8298,Variable +OpcUa_XmlSchema_UserTokenPolicy_DictionaryFragment,8299,Variable +OpcUa_XmlSchema_ApplicationDescription,8300,Variable +OpcUa_XmlSchema_ApplicationDescription_DataTypeVersion,8301,Variable +OpcUa_XmlSchema_ApplicationDescription_DictionaryFragment,8302,Variable +OpcUa_XmlSchema_EndpointDescription,8303,Variable +OpcUa_XmlSchema_EndpointDescription_DataTypeVersion,8304,Variable +OpcUa_XmlSchema_EndpointDescription_DictionaryFragment,8305,Variable +OpcUa_XmlSchema_UserIdentityToken,8306,Variable +OpcUa_XmlSchema_UserIdentityToken_DataTypeVersion,8307,Variable +OpcUa_XmlSchema_UserIdentityToken_DictionaryFragment,8308,Variable +OpcUa_XmlSchema_AnonymousIdentityToken,8309,Variable +OpcUa_XmlSchema_AnonymousIdentityToken_DataTypeVersion,8310,Variable +OpcUa_XmlSchema_AnonymousIdentityToken_DictionaryFragment,8311,Variable +OpcUa_XmlSchema_UserNameIdentityToken,8312,Variable +OpcUa_XmlSchema_UserNameIdentityToken_DataTypeVersion,8313,Variable +OpcUa_XmlSchema_UserNameIdentityToken_DictionaryFragment,8314,Variable +OpcUa_XmlSchema_X509IdentityToken,8315,Variable +OpcUa_XmlSchema_X509IdentityToken_DataTypeVersion,8316,Variable +OpcUa_XmlSchema_X509IdentityToken_DictionaryFragment,8317,Variable +OpcUa_XmlSchema_IssuedIdentityToken,8318,Variable +OpcUa_XmlSchema_IssuedIdentityToken_DataTypeVersion,8319,Variable +OpcUa_XmlSchema_IssuedIdentityToken_DictionaryFragment,8320,Variable +OpcUa_XmlSchema_EndpointConfiguration,8321,Variable +OpcUa_XmlSchema_EndpointConfiguration_DataTypeVersion,8322,Variable +OpcUa_XmlSchema_EndpointConfiguration_DictionaryFragment,8323,Variable +OpcUa_XmlSchema_BuildInfo,8327,Variable +OpcUa_XmlSchema_BuildInfo_DataTypeVersion,8328,Variable +OpcUa_XmlSchema_BuildInfo_DictionaryFragment,8329,Variable +OpcUa_XmlSchema_SignedSoftwareCertificate,8333,Variable +OpcUa_XmlSchema_SignedSoftwareCertificate_DataTypeVersion,8334,Variable +OpcUa_XmlSchema_SignedSoftwareCertificate_DictionaryFragment,8335,Variable +OpcUa_XmlSchema_AddNodesItem,8363,Variable +OpcUa_XmlSchema_AddNodesItem_DataTypeVersion,8364,Variable +OpcUa_XmlSchema_AddNodesItem_DictionaryFragment,8365,Variable +OpcUa_XmlSchema_AddReferencesItem,8366,Variable +OpcUa_XmlSchema_AddReferencesItem_DataTypeVersion,8367,Variable +OpcUa_XmlSchema_AddReferencesItem_DictionaryFragment,8368,Variable +OpcUa_XmlSchema_DeleteNodesItem,8369,Variable +OpcUa_XmlSchema_DeleteNodesItem_DataTypeVersion,8370,Variable +OpcUa_XmlSchema_DeleteNodesItem_DictionaryFragment,8371,Variable +OpcUa_XmlSchema_DeleteReferencesItem,8372,Variable +OpcUa_XmlSchema_DeleteReferencesItem_DataTypeVersion,8373,Variable +OpcUa_XmlSchema_DeleteReferencesItem_DictionaryFragment,8374,Variable +OpcUa_XmlSchema_RegisteredServer,8417,Variable +OpcUa_XmlSchema_RegisteredServer_DataTypeVersion,8418,Variable +OpcUa_XmlSchema_RegisteredServer_DictionaryFragment,8419,Variable +OpcUa_XmlSchema_ContentFilterElement,8564,Variable +OpcUa_XmlSchema_ContentFilterElement_DataTypeVersion,8565,Variable +OpcUa_XmlSchema_ContentFilterElement_DictionaryFragment,8566,Variable +OpcUa_XmlSchema_ContentFilter,8567,Variable +OpcUa_XmlSchema_ContentFilter_DataTypeVersion,8568,Variable +OpcUa_XmlSchema_ContentFilter_DictionaryFragment,8569,Variable +OpcUa_XmlSchema_FilterOperand,8570,Variable +OpcUa_XmlSchema_FilterOperand_DataTypeVersion,8571,Variable +OpcUa_XmlSchema_FilterOperand_DictionaryFragment,8572,Variable +OpcUa_XmlSchema_ElementOperand,8573,Variable +OpcUa_XmlSchema_ElementOperand_DataTypeVersion,8574,Variable +OpcUa_XmlSchema_ElementOperand_DictionaryFragment,8575,Variable +OpcUa_XmlSchema_LiteralOperand,8576,Variable +OpcUa_XmlSchema_LiteralOperand_DataTypeVersion,8577,Variable +OpcUa_XmlSchema_LiteralOperand_DictionaryFragment,8578,Variable +OpcUa_XmlSchema_AttributeOperand,8579,Variable +OpcUa_XmlSchema_AttributeOperand_DataTypeVersion,8580,Variable +OpcUa_XmlSchema_AttributeOperand_DictionaryFragment,8581,Variable +OpcUa_XmlSchema_SimpleAttributeOperand,8582,Variable +OpcUa_XmlSchema_SimpleAttributeOperand_DataTypeVersion,8583,Variable +OpcUa_XmlSchema_SimpleAttributeOperand_DictionaryFragment,8584,Variable +OpcUa_XmlSchema_HistoryEvent,8639,Variable +OpcUa_XmlSchema_HistoryEvent_DataTypeVersion,8640,Variable +OpcUa_XmlSchema_HistoryEvent_DictionaryFragment,8641,Variable +OpcUa_XmlSchema_MonitoringFilter,8702,Variable +OpcUa_XmlSchema_MonitoringFilter_DataTypeVersion,8703,Variable +OpcUa_XmlSchema_MonitoringFilter_DictionaryFragment,8704,Variable +OpcUa_XmlSchema_EventFilter,8708,Variable +OpcUa_XmlSchema_EventFilter_DataTypeVersion,8709,Variable +OpcUa_XmlSchema_EventFilter_DictionaryFragment,8710,Variable +OpcUa_XmlSchema_AggregateConfiguration,8711,Variable +OpcUa_XmlSchema_AggregateConfiguration_DataTypeVersion,8712,Variable +OpcUa_XmlSchema_AggregateConfiguration_DictionaryFragment,8713,Variable +OpcUa_XmlSchema_HistoryEventFieldList,8807,Variable +OpcUa_XmlSchema_HistoryEventFieldList_DataTypeVersion,8808,Variable +OpcUa_XmlSchema_HistoryEventFieldList_DictionaryFragment,8809,Variable +OpcUa_XmlSchema_RedundantServerDataType,8843,Variable +OpcUa_XmlSchema_RedundantServerDataType_DataTypeVersion,8844,Variable +OpcUa_XmlSchema_RedundantServerDataType_DictionaryFragment,8845,Variable +OpcUa_XmlSchema_SamplingIntervalDiagnosticsDataType,8846,Variable +OpcUa_XmlSchema_SamplingIntervalDiagnosticsDataType_DataTypeVersion,8847,Variable +OpcUa_XmlSchema_SamplingIntervalDiagnosticsDataType_DictionaryFragment,8848,Variable +OpcUa_XmlSchema_ServerDiagnosticsSummaryDataType,8849,Variable +OpcUa_XmlSchema_ServerDiagnosticsSummaryDataType_DataTypeVersion,8850,Variable +OpcUa_XmlSchema_ServerDiagnosticsSummaryDataType_DictionaryFragment,8851,Variable +OpcUa_XmlSchema_ServerStatusDataType,8852,Variable +OpcUa_XmlSchema_ServerStatusDataType_DataTypeVersion,8853,Variable +OpcUa_XmlSchema_ServerStatusDataType_DictionaryFragment,8854,Variable +OpcUa_XmlSchema_SessionDiagnosticsDataType,8855,Variable +OpcUa_XmlSchema_SessionDiagnosticsDataType_DataTypeVersion,8856,Variable +OpcUa_XmlSchema_SessionDiagnosticsDataType_DictionaryFragment,8857,Variable +OpcUa_XmlSchema_SessionSecurityDiagnosticsDataType,8858,Variable +OpcUa_XmlSchema_SessionSecurityDiagnosticsDataType_DataTypeVersion,8859,Variable +OpcUa_XmlSchema_SessionSecurityDiagnosticsDataType_DictionaryFragment,8860,Variable +OpcUa_XmlSchema_ServiceCounterDataType,8861,Variable +OpcUa_XmlSchema_ServiceCounterDataType_DataTypeVersion,8862,Variable +OpcUa_XmlSchema_ServiceCounterDataType_DictionaryFragment,8863,Variable +OpcUa_XmlSchema_SubscriptionDiagnosticsDataType,8864,Variable +OpcUa_XmlSchema_SubscriptionDiagnosticsDataType_DataTypeVersion,8865,Variable +OpcUa_XmlSchema_SubscriptionDiagnosticsDataType_DictionaryFragment,8866,Variable +OpcUa_XmlSchema_ModelChangeStructureDataType,8867,Variable +OpcUa_XmlSchema_ModelChangeStructureDataType_DataTypeVersion,8868,Variable +OpcUa_XmlSchema_ModelChangeStructureDataType_DictionaryFragment,8869,Variable +OpcUa_XmlSchema_SemanticChangeStructureDataType,8870,Variable +OpcUa_XmlSchema_SemanticChangeStructureDataType_DataTypeVersion,8871,Variable +OpcUa_XmlSchema_SemanticChangeStructureDataType_DictionaryFragment,8872,Variable +OpcUa_XmlSchema_Range,8873,Variable +OpcUa_XmlSchema_Range_DataTypeVersion,8874,Variable +OpcUa_XmlSchema_Range_DictionaryFragment,8875,Variable +OpcUa_XmlSchema_EUInformation,8876,Variable +OpcUa_XmlSchema_EUInformation_DataTypeVersion,8877,Variable +OpcUa_XmlSchema_EUInformation_DictionaryFragment,8878,Variable +OpcUa_XmlSchema_Annotation,8879,Variable +OpcUa_XmlSchema_Annotation_DataTypeVersion,8880,Variable +OpcUa_XmlSchema_Annotation_DictionaryFragment,8881,Variable +OpcUa_XmlSchema_ProgramDiagnosticDataType,8882,Variable +OpcUa_XmlSchema_ProgramDiagnosticDataType_DataTypeVersion,8883,Variable +OpcUa_XmlSchema_ProgramDiagnosticDataType_DictionaryFragment,8884,Variable +SubscriptionDiagnosticsType_MaxLifetimeCount,8888,Variable +SubscriptionDiagnosticsType_LatePublishRequestCount,8889,Variable +SubscriptionDiagnosticsType_CurrentKeepAliveCount,8890,Variable +SubscriptionDiagnosticsType_CurrentLifetimeCount,8891,Variable +SubscriptionDiagnosticsType_UnacknowledgedMessageCount,8892,Variable +SubscriptionDiagnosticsType_DiscardedMessageCount,8893,Variable +SubscriptionDiagnosticsType_MonitoredItemCount,8894,Variable +SubscriptionDiagnosticsType_DisabledMonitoredItemCount,8895,Variable +SubscriptionDiagnosticsType_MonitoringQueueOverflowCount,8896,Variable +SubscriptionDiagnosticsType_NextSequenceNumber,8897,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_TotalRequestCount,8898,Variable +SessionDiagnosticsVariableType_TotalRequestCount,8900,Variable +SubscriptionDiagnosticsType_EventQueueOverFlowCount,8902,Variable +TimeZoneDataType,8912,DataType +TimeZoneDataType_Encoding_DefaultXml,8913,Object +OpcUa_BinarySchema_TimeZoneDataType,8914,Variable +OpcUa_BinarySchema_TimeZoneDataType_DataTypeVersion,8915,Variable +OpcUa_BinarySchema_TimeZoneDataType_DictionaryFragment,8916,Variable +TimeZoneDataType_Encoding_DefaultBinary,8917,Object +OpcUa_XmlSchema_TimeZoneDataType,8918,Variable +OpcUa_XmlSchema_TimeZoneDataType_DataTypeVersion,8919,Variable +OpcUa_XmlSchema_TimeZoneDataType_DictionaryFragment,8920,Variable +AuditConditionRespondEventType,8927,ObjectType +AuditConditionRespondEventType_EventId,8928,Variable +AuditConditionRespondEventType_EventType,8929,Variable +AuditConditionRespondEventType_SourceNode,8930,Variable +AuditConditionRespondEventType_SourceName,8931,Variable +AuditConditionRespondEventType_Time,8932,Variable +AuditConditionRespondEventType_ReceiveTime,8933,Variable +AuditConditionRespondEventType_LocalTime,8934,Variable +AuditConditionRespondEventType_Message,8935,Variable +AuditConditionRespondEventType_Severity,8936,Variable +AuditConditionRespondEventType_ActionTimeStamp,8937,Variable +AuditConditionRespondEventType_Status,8938,Variable +AuditConditionRespondEventType_ServerId,8939,Variable +AuditConditionRespondEventType_ClientAuditEntryId,8940,Variable +AuditConditionRespondEventType_ClientUserId,8941,Variable +AuditConditionRespondEventType_MethodId,8942,Variable +AuditConditionRespondEventType_InputArguments,8943,Variable +AuditConditionAcknowledgeEventType,8944,ObjectType +AuditConditionAcknowledgeEventType_EventId,8945,Variable +AuditConditionAcknowledgeEventType_EventType,8946,Variable +AuditConditionAcknowledgeEventType_SourceNode,8947,Variable +AuditConditionAcknowledgeEventType_SourceName,8948,Variable +AuditConditionAcknowledgeEventType_Time,8949,Variable +AuditConditionAcknowledgeEventType_ReceiveTime,8950,Variable +AuditConditionAcknowledgeEventType_LocalTime,8951,Variable +AuditConditionAcknowledgeEventType_Message,8952,Variable +AuditConditionAcknowledgeEventType_Severity,8953,Variable +AuditConditionAcknowledgeEventType_ActionTimeStamp,8954,Variable +AuditConditionAcknowledgeEventType_Status,8955,Variable +AuditConditionAcknowledgeEventType_ServerId,8956,Variable +AuditConditionAcknowledgeEventType_ClientAuditEntryId,8957,Variable +AuditConditionAcknowledgeEventType_ClientUserId,8958,Variable +AuditConditionAcknowledgeEventType_MethodId,8959,Variable +AuditConditionAcknowledgeEventType_InputArguments,8960,Variable +AuditConditionConfirmEventType,8961,ObjectType +AuditConditionConfirmEventType_EventId,8962,Variable +AuditConditionConfirmEventType_EventType,8963,Variable +AuditConditionConfirmEventType_SourceNode,8964,Variable +AuditConditionConfirmEventType_SourceName,8965,Variable +AuditConditionConfirmEventType_Time,8966,Variable +AuditConditionConfirmEventType_ReceiveTime,8967,Variable +AuditConditionConfirmEventType_LocalTime,8968,Variable +AuditConditionConfirmEventType_Message,8969,Variable +AuditConditionConfirmEventType_Severity,8970,Variable +AuditConditionConfirmEventType_ActionTimeStamp,8971,Variable +AuditConditionConfirmEventType_Status,8972,Variable +AuditConditionConfirmEventType_ServerId,8973,Variable +AuditConditionConfirmEventType_ClientAuditEntryId,8974,Variable +AuditConditionConfirmEventType_ClientUserId,8975,Variable +AuditConditionConfirmEventType_MethodId,8976,Variable +AuditConditionConfirmEventType_InputArguments,8977,Variable +TwoStateVariableType,8995,VariableType +TwoStateVariableType_Id,8996,Variable +TwoStateVariableType_Name,8997,Variable +TwoStateVariableType_Number,8998,Variable +TwoStateVariableType_EffectiveDisplayName,8999,Variable +TwoStateVariableType_TransitionTime,9000,Variable +TwoStateVariableType_EffectiveTransitionTime,9001,Variable +ConditionVariableType,9002,VariableType +ConditionVariableType_SourceTimestamp,9003,Variable +HasTrueSubState,9004,ReferenceType +HasFalseSubState,9005,ReferenceType +HasCondition,9006,ReferenceType +ConditionRefreshMethodType,9007,Method +ConditionRefreshMethodType_InputArguments,9008,Variable +ConditionType_ConditionName,9009,Variable +ConditionType_BranchId,9010,Variable +ConditionType_EnabledState,9011,Variable +ConditionType_EnabledState_Id,9012,Variable +ConditionType_EnabledState_Name,9013,Variable +ConditionType_EnabledState_Number,9014,Variable +ConditionType_EnabledState_EffectiveDisplayName,9015,Variable +ConditionType_EnabledState_TransitionTime,9016,Variable +ConditionType_EnabledState_EffectiveTransitionTime,9017,Variable +ConditionType_EnabledState_TrueState,9018,Variable +ConditionType_EnabledState_FalseState,9019,Variable +ConditionType_Quality,9020,Variable +ConditionType_Quality_SourceTimestamp,9021,Variable +ConditionType_LastSeverity,9022,Variable +ConditionType_LastSeverity_SourceTimestamp,9023,Variable +ConditionType_Comment,9024,Variable +ConditionType_Comment_SourceTimestamp,9025,Variable +ConditionType_ClientUserId,9026,Variable +ConditionType_Enable,9027,Method +ConditionType_Disable,9028,Method +ConditionType_AddComment,9029,Method +ConditionType_AddComment_InputArguments,9030,Variable +DialogResponseMethodType,9031,Method +DialogResponseMethodType_InputArguments,9032,Variable +DialogConditionType_ConditionName,9033,Variable +DialogConditionType_BranchId,9034,Variable +DialogConditionType_EnabledState,9035,Variable +DialogConditionType_EnabledState_Id,9036,Variable +DialogConditionType_EnabledState_Name,9037,Variable +DialogConditionType_EnabledState_Number,9038,Variable +DialogConditionType_EnabledState_EffectiveDisplayName,9039,Variable +DialogConditionType_EnabledState_TransitionTime,9040,Variable +DialogConditionType_EnabledState_EffectiveTransitionTime,9041,Variable +DialogConditionType_EnabledState_TrueState,9042,Variable +DialogConditionType_EnabledState_FalseState,9043,Variable +DialogConditionType_Quality,9044,Variable +DialogConditionType_Quality_SourceTimestamp,9045,Variable +DialogConditionType_LastSeverity,9046,Variable +DialogConditionType_LastSeverity_SourceTimestamp,9047,Variable +DialogConditionType_Comment,9048,Variable +DialogConditionType_Comment_SourceTimestamp,9049,Variable +DialogConditionType_ClientUserId,9050,Variable +DialogConditionType_Enable,9051,Method +DialogConditionType_Disable,9052,Method +DialogConditionType_AddComment,9053,Method +DialogConditionType_AddComment_InputArguments,9054,Variable +DialogConditionType_DialogState,9055,Variable +DialogConditionType_DialogState_Id,9056,Variable +DialogConditionType_DialogState_Name,9057,Variable +DialogConditionType_DialogState_Number,9058,Variable +DialogConditionType_DialogState_EffectiveDisplayName,9059,Variable +DialogConditionType_DialogState_TransitionTime,9060,Variable +DialogConditionType_DialogState_EffectiveTransitionTime,9061,Variable +DialogConditionType_DialogState_TrueState,9062,Variable +DialogConditionType_DialogState_FalseState,9063,Variable +DialogConditionType_ResponseOptionSet,9064,Variable +DialogConditionType_DefaultResponse,9065,Variable +DialogConditionType_OkResponse,9066,Variable +DialogConditionType_CancelResponse,9067,Variable +DialogConditionType_LastResponse,9068,Variable +DialogConditionType_Respond,9069,Method +DialogConditionType_Respond_InputArguments,9070,Variable +AcknowledgeableConditionType_ConditionName,9071,Variable +AcknowledgeableConditionType_BranchId,9072,Variable +AcknowledgeableConditionType_EnabledState,9073,Variable +AcknowledgeableConditionType_EnabledState_Id,9074,Variable +AcknowledgeableConditionType_EnabledState_Name,9075,Variable +AcknowledgeableConditionType_EnabledState_Number,9076,Variable +AcknowledgeableConditionType_EnabledState_EffectiveDisplayName,9077,Variable +AcknowledgeableConditionType_EnabledState_TransitionTime,9078,Variable +AcknowledgeableConditionType_EnabledState_EffectiveTransitionTime,9079,Variable +AcknowledgeableConditionType_EnabledState_TrueState,9080,Variable +AcknowledgeableConditionType_EnabledState_FalseState,9081,Variable +AcknowledgeableConditionType_Quality,9082,Variable +AcknowledgeableConditionType_Quality_SourceTimestamp,9083,Variable +AcknowledgeableConditionType_LastSeverity,9084,Variable +AcknowledgeableConditionType_LastSeverity_SourceTimestamp,9085,Variable +AcknowledgeableConditionType_Comment,9086,Variable +AcknowledgeableConditionType_Comment_SourceTimestamp,9087,Variable +AcknowledgeableConditionType_ClientUserId,9088,Variable +AcknowledgeableConditionType_Enable,9089,Method +AcknowledgeableConditionType_Disable,9090,Method +AcknowledgeableConditionType_AddComment,9091,Method +AcknowledgeableConditionType_AddComment_InputArguments,9092,Variable +AcknowledgeableConditionType_AckedState,9093,Variable +AcknowledgeableConditionType_AckedState_Id,9094,Variable +AcknowledgeableConditionType_AckedState_Name,9095,Variable +AcknowledgeableConditionType_AckedState_Number,9096,Variable +AcknowledgeableConditionType_AckedState_EffectiveDisplayName,9097,Variable +AcknowledgeableConditionType_AckedState_TransitionTime,9098,Variable +AcknowledgeableConditionType_AckedState_EffectiveTransitionTime,9099,Variable +AcknowledgeableConditionType_AckedState_TrueState,9100,Variable +AcknowledgeableConditionType_AckedState_FalseState,9101,Variable +AcknowledgeableConditionType_ConfirmedState,9102,Variable +AcknowledgeableConditionType_ConfirmedState_Id,9103,Variable +AcknowledgeableConditionType_ConfirmedState_Name,9104,Variable +AcknowledgeableConditionType_ConfirmedState_Number,9105,Variable +AcknowledgeableConditionType_ConfirmedState_EffectiveDisplayName,9106,Variable +AcknowledgeableConditionType_ConfirmedState_TransitionTime,9107,Variable +AcknowledgeableConditionType_ConfirmedState_EffectiveTransitionTime,9108,Variable +AcknowledgeableConditionType_ConfirmedState_TrueState,9109,Variable +AcknowledgeableConditionType_ConfirmedState_FalseState,9110,Variable +AcknowledgeableConditionType_Acknowledge,9111,Method +AcknowledgeableConditionType_Acknowledge_InputArguments,9112,Variable +AcknowledgeableConditionType_Confirm,9113,Method +AcknowledgeableConditionType_Confirm_InputArguments,9114,Variable +ShelvedStateMachineType_UnshelveTime,9115,Variable +AlarmConditionType_ConditionName,9116,Variable +AlarmConditionType_BranchId,9117,Variable +AlarmConditionType_EnabledState,9118,Variable +AlarmConditionType_EnabledState_Id,9119,Variable +AlarmConditionType_EnabledState_Name,9120,Variable +AlarmConditionType_EnabledState_Number,9121,Variable +AlarmConditionType_EnabledState_EffectiveDisplayName,9122,Variable +AlarmConditionType_EnabledState_TransitionTime,9123,Variable +AlarmConditionType_EnabledState_EffectiveTransitionTime,9124,Variable +AlarmConditionType_EnabledState_TrueState,9125,Variable +AlarmConditionType_EnabledState_FalseState,9126,Variable +AlarmConditionType_Quality,9127,Variable +AlarmConditionType_Quality_SourceTimestamp,9128,Variable +AlarmConditionType_LastSeverity,9129,Variable +AlarmConditionType_LastSeverity_SourceTimestamp,9130,Variable +AlarmConditionType_Comment,9131,Variable +AlarmConditionType_Comment_SourceTimestamp,9132,Variable +AlarmConditionType_ClientUserId,9133,Variable +AlarmConditionType_Enable,9134,Method +AlarmConditionType_Disable,9135,Method +AlarmConditionType_AddComment,9136,Method +AlarmConditionType_AddComment_InputArguments,9137,Variable +AlarmConditionType_AckedState,9138,Variable +AlarmConditionType_AckedState_Id,9139,Variable +AlarmConditionType_AckedState_Name,9140,Variable +AlarmConditionType_AckedState_Number,9141,Variable +AlarmConditionType_AckedState_EffectiveDisplayName,9142,Variable +AlarmConditionType_AckedState_TransitionTime,9143,Variable +AlarmConditionType_AckedState_EffectiveTransitionTime,9144,Variable +AlarmConditionType_AckedState_TrueState,9145,Variable +AlarmConditionType_AckedState_FalseState,9146,Variable +AlarmConditionType_ConfirmedState,9147,Variable +AlarmConditionType_ConfirmedState_Id,9148,Variable +AlarmConditionType_ConfirmedState_Name,9149,Variable +AlarmConditionType_ConfirmedState_Number,9150,Variable +AlarmConditionType_ConfirmedState_EffectiveDisplayName,9151,Variable +AlarmConditionType_ConfirmedState_TransitionTime,9152,Variable +AlarmConditionType_ConfirmedState_EffectiveTransitionTime,9153,Variable +AlarmConditionType_ConfirmedState_TrueState,9154,Variable +AlarmConditionType_ConfirmedState_FalseState,9155,Variable +AlarmConditionType_Acknowledge,9156,Method +AlarmConditionType_Acknowledge_InputArguments,9157,Variable +AlarmConditionType_Confirm,9158,Method +AlarmConditionType_Confirm_InputArguments,9159,Variable +AlarmConditionType_ActiveState,9160,Variable +AlarmConditionType_ActiveState_Id,9161,Variable +AlarmConditionType_ActiveState_Name,9162,Variable +AlarmConditionType_ActiveState_Number,9163,Variable +AlarmConditionType_ActiveState_EffectiveDisplayName,9164,Variable +AlarmConditionType_ActiveState_TransitionTime,9165,Variable +AlarmConditionType_ActiveState_EffectiveTransitionTime,9166,Variable +AlarmConditionType_ActiveState_TrueState,9167,Variable +AlarmConditionType_ActiveState_FalseState,9168,Variable +AlarmConditionType_SuppressedState,9169,Variable +AlarmConditionType_SuppressedState_Id,9170,Variable +AlarmConditionType_SuppressedState_Name,9171,Variable +AlarmConditionType_SuppressedState_Number,9172,Variable +AlarmConditionType_SuppressedState_EffectiveDisplayName,9173,Variable +AlarmConditionType_SuppressedState_TransitionTime,9174,Variable +AlarmConditionType_SuppressedState_EffectiveTransitionTime,9175,Variable +AlarmConditionType_SuppressedState_TrueState,9176,Variable +AlarmConditionType_SuppressedState_FalseState,9177,Variable +AlarmConditionType_ShelvingState,9178,Object +AlarmConditionType_ShelvingState_CurrentState,9179,Variable +AlarmConditionType_ShelvingState_CurrentState_Id,9180,Variable +AlarmConditionType_ShelvingState_CurrentState_Name,9181,Variable +AlarmConditionType_ShelvingState_CurrentState_Number,9182,Variable +AlarmConditionType_ShelvingState_CurrentState_EffectiveDisplayName,9183,Variable +AlarmConditionType_ShelvingState_LastTransition,9184,Variable +AlarmConditionType_ShelvingState_LastTransition_Id,9185,Variable +AlarmConditionType_ShelvingState_LastTransition_Name,9186,Variable +AlarmConditionType_ShelvingState_LastTransition_Number,9187,Variable +AlarmConditionType_ShelvingState_LastTransition_TransitionTime,9188,Variable +AlarmConditionType_ShelvingState_UnshelveTime,9189,Variable +AlarmConditionType_ShelvingState_Unshelve,9211,Method +AlarmConditionType_ShelvingState_OneShotShelve,9212,Method +AlarmConditionType_ShelvingState_TimedShelve,9213,Method +AlarmConditionType_ShelvingState_TimedShelve_InputArguments,9214,Variable +AlarmConditionType_SuppressedOrShelved,9215,Variable +AlarmConditionType_MaxTimeShelved,9216,Variable +LimitAlarmType_ConditionName,9217,Variable +LimitAlarmType_BranchId,9218,Variable +LimitAlarmType_EnabledState,9219,Variable +LimitAlarmType_EnabledState_Id,9220,Variable +LimitAlarmType_EnabledState_Name,9221,Variable +LimitAlarmType_EnabledState_Number,9222,Variable +LimitAlarmType_EnabledState_EffectiveDisplayName,9223,Variable +LimitAlarmType_EnabledState_TransitionTime,9224,Variable +LimitAlarmType_EnabledState_EffectiveTransitionTime,9225,Variable +LimitAlarmType_EnabledState_TrueState,9226,Variable +LimitAlarmType_EnabledState_FalseState,9227,Variable +LimitAlarmType_Quality,9228,Variable +LimitAlarmType_Quality_SourceTimestamp,9229,Variable +LimitAlarmType_LastSeverity,9230,Variable +LimitAlarmType_LastSeverity_SourceTimestamp,9231,Variable +LimitAlarmType_Comment,9232,Variable +LimitAlarmType_Comment_SourceTimestamp,9233,Variable +LimitAlarmType_ClientUserId,9234,Variable +LimitAlarmType_Enable,9235,Method +LimitAlarmType_Disable,9236,Method +LimitAlarmType_AddComment,9237,Method +LimitAlarmType_AddComment_InputArguments,9238,Variable +LimitAlarmType_AckedState,9239,Variable +LimitAlarmType_AckedState_Id,9240,Variable +LimitAlarmType_AckedState_Name,9241,Variable +LimitAlarmType_AckedState_Number,9242,Variable +LimitAlarmType_AckedState_EffectiveDisplayName,9243,Variable +LimitAlarmType_AckedState_TransitionTime,9244,Variable +LimitAlarmType_AckedState_EffectiveTransitionTime,9245,Variable +LimitAlarmType_AckedState_TrueState,9246,Variable +LimitAlarmType_AckedState_FalseState,9247,Variable +LimitAlarmType_ConfirmedState,9248,Variable +LimitAlarmType_ConfirmedState_Id,9249,Variable +LimitAlarmType_ConfirmedState_Name,9250,Variable +LimitAlarmType_ConfirmedState_Number,9251,Variable +LimitAlarmType_ConfirmedState_EffectiveDisplayName,9252,Variable +LimitAlarmType_ConfirmedState_TransitionTime,9253,Variable +LimitAlarmType_ConfirmedState_EffectiveTransitionTime,9254,Variable +LimitAlarmType_ConfirmedState_TrueState,9255,Variable +LimitAlarmType_ConfirmedState_FalseState,9256,Variable +LimitAlarmType_Acknowledge,9257,Method +LimitAlarmType_Acknowledge_InputArguments,9258,Variable +LimitAlarmType_Confirm,9259,Method +LimitAlarmType_Confirm_InputArguments,9260,Variable +LimitAlarmType_ActiveState,9261,Variable +LimitAlarmType_ActiveState_Id,9262,Variable +LimitAlarmType_ActiveState_Name,9263,Variable +LimitAlarmType_ActiveState_Number,9264,Variable +LimitAlarmType_ActiveState_EffectiveDisplayName,9265,Variable +LimitAlarmType_ActiveState_TransitionTime,9266,Variable +LimitAlarmType_ActiveState_EffectiveTransitionTime,9267,Variable +LimitAlarmType_ActiveState_TrueState,9268,Variable +LimitAlarmType_ActiveState_FalseState,9269,Variable +LimitAlarmType_SuppressedState,9270,Variable +LimitAlarmType_SuppressedState_Id,9271,Variable +LimitAlarmType_SuppressedState_Name,9272,Variable +LimitAlarmType_SuppressedState_Number,9273,Variable +LimitAlarmType_SuppressedState_EffectiveDisplayName,9274,Variable +LimitAlarmType_SuppressedState_TransitionTime,9275,Variable +LimitAlarmType_SuppressedState_EffectiveTransitionTime,9276,Variable +LimitAlarmType_SuppressedState_TrueState,9277,Variable +LimitAlarmType_SuppressedState_FalseState,9278,Variable +LimitAlarmType_ShelvingState,9279,Object +LimitAlarmType_ShelvingState_CurrentState,9280,Variable +LimitAlarmType_ShelvingState_CurrentState_Id,9281,Variable +LimitAlarmType_ShelvingState_CurrentState_Name,9282,Variable +LimitAlarmType_ShelvingState_CurrentState_Number,9283,Variable +LimitAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,9284,Variable +LimitAlarmType_ShelvingState_LastTransition,9285,Variable +LimitAlarmType_ShelvingState_LastTransition_Id,9286,Variable +LimitAlarmType_ShelvingState_LastTransition_Name,9287,Variable +LimitAlarmType_ShelvingState_LastTransition_Number,9288,Variable +LimitAlarmType_ShelvingState_LastTransition_TransitionTime,9289,Variable +LimitAlarmType_ShelvingState_UnshelveTime,9290,Variable +LimitAlarmType_ShelvingState_Unshelve,9312,Method +LimitAlarmType_ShelvingState_OneShotShelve,9313,Method +LimitAlarmType_ShelvingState_TimedShelve,9314,Method +LimitAlarmType_ShelvingState_TimedShelve_InputArguments,9315,Variable +LimitAlarmType_SuppressedOrShelved,9316,Variable +LimitAlarmType_MaxTimeShelved,9317,Variable +ExclusiveLimitStateMachineType,9318,ObjectType +ExclusiveLimitStateMachineType_CurrentState,9319,Variable +ExclusiveLimitStateMachineType_CurrentState_Id,9320,Variable +ExclusiveLimitStateMachineType_CurrentState_Name,9321,Variable +ExclusiveLimitStateMachineType_CurrentState_Number,9322,Variable +ExclusiveLimitStateMachineType_CurrentState_EffectiveDisplayName,9323,Variable +ExclusiveLimitStateMachineType_LastTransition,9324,Variable +ExclusiveLimitStateMachineType_LastTransition_Id,9325,Variable +ExclusiveLimitStateMachineType_LastTransition_Name,9326,Variable +ExclusiveLimitStateMachineType_LastTransition_Number,9327,Variable +ExclusiveLimitStateMachineType_LastTransition_TransitionTime,9328,Variable +ExclusiveLimitStateMachineType_HighHigh,9329,Object +ExclusiveLimitStateMachineType_HighHigh_StateNumber,9330,Variable +ExclusiveLimitStateMachineType_High,9331,Object +ExclusiveLimitStateMachineType_High_StateNumber,9332,Variable +ExclusiveLimitStateMachineType_Low,9333,Object +ExclusiveLimitStateMachineType_Low_StateNumber,9334,Variable +ExclusiveLimitStateMachineType_LowLow,9335,Object +ExclusiveLimitStateMachineType_LowLow_StateNumber,9336,Variable +ExclusiveLimitStateMachineType_LowLowToLow,9337,Object +ExclusiveLimitStateMachineType_LowToLowLow,9338,Object +ExclusiveLimitStateMachineType_HighHighToHigh,9339,Object +ExclusiveLimitStateMachineType_HighToHighHigh,9340,Object +ExclusiveLimitAlarmType,9341,ObjectType +ExclusiveLimitAlarmType_EventId,9342,Variable +ExclusiveLimitAlarmType_EventType,9343,Variable +ExclusiveLimitAlarmType_SourceNode,9344,Variable +ExclusiveLimitAlarmType_SourceName,9345,Variable +ExclusiveLimitAlarmType_Time,9346,Variable +ExclusiveLimitAlarmType_ReceiveTime,9347,Variable +ExclusiveLimitAlarmType_LocalTime,9348,Variable +ExclusiveLimitAlarmType_Message,9349,Variable +ExclusiveLimitAlarmType_Severity,9350,Variable +ExclusiveLimitAlarmType_ConditionName,9351,Variable +ExclusiveLimitAlarmType_BranchId,9352,Variable +ExclusiveLimitAlarmType_Retain,9353,Variable +ExclusiveLimitAlarmType_EnabledState,9354,Variable +ExclusiveLimitAlarmType_EnabledState_Id,9355,Variable +ExclusiveLimitAlarmType_EnabledState_Name,9356,Variable +ExclusiveLimitAlarmType_EnabledState_Number,9357,Variable +ExclusiveLimitAlarmType_EnabledState_EffectiveDisplayName,9358,Variable +ExclusiveLimitAlarmType_EnabledState_TransitionTime,9359,Variable +ExclusiveLimitAlarmType_EnabledState_EffectiveTransitionTime,9360,Variable +ExclusiveLimitAlarmType_EnabledState_TrueState,9361,Variable +ExclusiveLimitAlarmType_EnabledState_FalseState,9362,Variable +ExclusiveLimitAlarmType_Quality,9363,Variable +ExclusiveLimitAlarmType_Quality_SourceTimestamp,9364,Variable +ExclusiveLimitAlarmType_LastSeverity,9365,Variable +ExclusiveLimitAlarmType_LastSeverity_SourceTimestamp,9366,Variable +ExclusiveLimitAlarmType_Comment,9367,Variable +ExclusiveLimitAlarmType_Comment_SourceTimestamp,9368,Variable +ExclusiveLimitAlarmType_ClientUserId,9369,Variable +ExclusiveLimitAlarmType_Enable,9370,Method +ExclusiveLimitAlarmType_Disable,9371,Method +ExclusiveLimitAlarmType_AddComment,9372,Method +ExclusiveLimitAlarmType_AddComment_InputArguments,9373,Variable +ExclusiveLimitAlarmType_ConditionRefresh,9374,Method +ExclusiveLimitAlarmType_ConditionRefresh_InputArguments,9375,Variable +ExclusiveLimitAlarmType_AckedState,9376,Variable +ExclusiveLimitAlarmType_AckedState_Id,9377,Variable +ExclusiveLimitAlarmType_AckedState_Name,9378,Variable +ExclusiveLimitAlarmType_AckedState_Number,9379,Variable +ExclusiveLimitAlarmType_AckedState_EffectiveDisplayName,9380,Variable +ExclusiveLimitAlarmType_AckedState_TransitionTime,9381,Variable +ExclusiveLimitAlarmType_AckedState_EffectiveTransitionTime,9382,Variable +ExclusiveLimitAlarmType_AckedState_TrueState,9383,Variable +ExclusiveLimitAlarmType_AckedState_FalseState,9384,Variable +ExclusiveLimitAlarmType_ConfirmedState,9385,Variable +ExclusiveLimitAlarmType_ConfirmedState_Id,9386,Variable +ExclusiveLimitAlarmType_ConfirmedState_Name,9387,Variable +ExclusiveLimitAlarmType_ConfirmedState_Number,9388,Variable +ExclusiveLimitAlarmType_ConfirmedState_EffectiveDisplayName,9389,Variable +ExclusiveLimitAlarmType_ConfirmedState_TransitionTime,9390,Variable +ExclusiveLimitAlarmType_ConfirmedState_EffectiveTransitionTime,9391,Variable +ExclusiveLimitAlarmType_ConfirmedState_TrueState,9392,Variable +ExclusiveLimitAlarmType_ConfirmedState_FalseState,9393,Variable +ExclusiveLimitAlarmType_Acknowledge,9394,Method +ExclusiveLimitAlarmType_Acknowledge_InputArguments,9395,Variable +ExclusiveLimitAlarmType_Confirm,9396,Method +ExclusiveLimitAlarmType_Confirm_InputArguments,9397,Variable +ExclusiveLimitAlarmType_ActiveState,9398,Variable +ExclusiveLimitAlarmType_ActiveState_Id,9399,Variable +ExclusiveLimitAlarmType_ActiveState_Name,9400,Variable +ExclusiveLimitAlarmType_ActiveState_Number,9401,Variable +ExclusiveLimitAlarmType_ActiveState_EffectiveDisplayName,9402,Variable +ExclusiveLimitAlarmType_ActiveState_TransitionTime,9403,Variable +ExclusiveLimitAlarmType_ActiveState_EffectiveTransitionTime,9404,Variable +ExclusiveLimitAlarmType_ActiveState_TrueState,9405,Variable +ExclusiveLimitAlarmType_ActiveState_FalseState,9406,Variable +ExclusiveLimitAlarmType_SuppressedState,9407,Variable +ExclusiveLimitAlarmType_SuppressedState_Id,9408,Variable +ExclusiveLimitAlarmType_SuppressedState_Name,9409,Variable +ExclusiveLimitAlarmType_SuppressedState_Number,9410,Variable +ExclusiveLimitAlarmType_SuppressedState_EffectiveDisplayName,9411,Variable +ExclusiveLimitAlarmType_SuppressedState_TransitionTime,9412,Variable +ExclusiveLimitAlarmType_SuppressedState_EffectiveTransitionTime,9413,Variable +ExclusiveLimitAlarmType_SuppressedState_TrueState,9414,Variable +ExclusiveLimitAlarmType_SuppressedState_FalseState,9415,Variable +ExclusiveLimitAlarmType_ShelvingState,9416,Object +ExclusiveLimitAlarmType_ShelvingState_CurrentState,9417,Variable +ExclusiveLimitAlarmType_ShelvingState_CurrentState_Id,9418,Variable +ExclusiveLimitAlarmType_ShelvingState_CurrentState_Name,9419,Variable +ExclusiveLimitAlarmType_ShelvingState_CurrentState_Number,9420,Variable +ExclusiveLimitAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,9421,Variable +ExclusiveLimitAlarmType_ShelvingState_LastTransition,9422,Variable +ExclusiveLimitAlarmType_ShelvingState_LastTransition_Id,9423,Variable +ExclusiveLimitAlarmType_ShelvingState_LastTransition_Name,9424,Variable +ExclusiveLimitAlarmType_ShelvingState_LastTransition_Number,9425,Variable +ExclusiveLimitAlarmType_ShelvingState_LastTransition_TransitionTime,9426,Variable +ExclusiveLimitAlarmType_ShelvingState_UnshelveTime,9427,Variable +ExclusiveLimitAlarmType_ShelvingState_Unshelve,9449,Method +ExclusiveLimitAlarmType_ShelvingState_OneShotShelve,9450,Method +ExclusiveLimitAlarmType_ShelvingState_TimedShelve,9451,Method +ExclusiveLimitAlarmType_ShelvingState_TimedShelve_InputArguments,9452,Variable +ExclusiveLimitAlarmType_SuppressedOrShelved,9453,Variable +ExclusiveLimitAlarmType_MaxTimeShelved,9454,Variable +ExclusiveLimitAlarmType_LimitState,9455,Object +ExclusiveLimitAlarmType_LimitState_CurrentState,9456,Variable +ExclusiveLimitAlarmType_LimitState_CurrentState_Id,9457,Variable +ExclusiveLimitAlarmType_LimitState_CurrentState_Name,9458,Variable +ExclusiveLimitAlarmType_LimitState_CurrentState_Number,9459,Variable +ExclusiveLimitAlarmType_LimitState_CurrentState_EffectiveDisplayName,9460,Variable +ExclusiveLimitAlarmType_LimitState_LastTransition,9461,Variable +ExclusiveLimitAlarmType_LimitState_LastTransition_Id,9462,Variable +ExclusiveLimitAlarmType_LimitState_LastTransition_Name,9463,Variable +ExclusiveLimitAlarmType_LimitState_LastTransition_Number,9464,Variable +ExclusiveLimitAlarmType_LimitState_LastTransition_TransitionTime,9465,Variable +ExclusiveLimitAlarmType_HighHighLimit,9478,Variable +ExclusiveLimitAlarmType_HighLimit,9479,Variable +ExclusiveLimitAlarmType_LowLimit,9480,Variable +ExclusiveLimitAlarmType_LowLowLimit,9481,Variable +ExclusiveLevelAlarmType,9482,ObjectType +ExclusiveLevelAlarmType_EventId,9483,Variable +ExclusiveLevelAlarmType_EventType,9484,Variable +ExclusiveLevelAlarmType_SourceNode,9485,Variable +ExclusiveLevelAlarmType_SourceName,9486,Variable +ExclusiveLevelAlarmType_Time,9487,Variable +ExclusiveLevelAlarmType_ReceiveTime,9488,Variable +ExclusiveLevelAlarmType_LocalTime,9489,Variable +ExclusiveLevelAlarmType_Message,9490,Variable +ExclusiveLevelAlarmType_Severity,9491,Variable +ExclusiveLevelAlarmType_ConditionName,9492,Variable +ExclusiveLevelAlarmType_BranchId,9493,Variable +ExclusiveLevelAlarmType_Retain,9494,Variable +ExclusiveLevelAlarmType_EnabledState,9495,Variable +ExclusiveLevelAlarmType_EnabledState_Id,9496,Variable +ExclusiveLevelAlarmType_EnabledState_Name,9497,Variable +ExclusiveLevelAlarmType_EnabledState_Number,9498,Variable +ExclusiveLevelAlarmType_EnabledState_EffectiveDisplayName,9499,Variable +ExclusiveLevelAlarmType_EnabledState_TransitionTime,9500,Variable +ExclusiveLevelAlarmType_EnabledState_EffectiveTransitionTime,9501,Variable +ExclusiveLevelAlarmType_EnabledState_TrueState,9502,Variable +ExclusiveLevelAlarmType_EnabledState_FalseState,9503,Variable +ExclusiveLevelAlarmType_Quality,9504,Variable +ExclusiveLevelAlarmType_Quality_SourceTimestamp,9505,Variable +ExclusiveLevelAlarmType_LastSeverity,9506,Variable +ExclusiveLevelAlarmType_LastSeverity_SourceTimestamp,9507,Variable +ExclusiveLevelAlarmType_Comment,9508,Variable +ExclusiveLevelAlarmType_Comment_SourceTimestamp,9509,Variable +ExclusiveLevelAlarmType_ClientUserId,9510,Variable +ExclusiveLevelAlarmType_Enable,9511,Method +ExclusiveLevelAlarmType_Disable,9512,Method +ExclusiveLevelAlarmType_AddComment,9513,Method +ExclusiveLevelAlarmType_AddComment_InputArguments,9514,Variable +ExclusiveLevelAlarmType_ConditionRefresh,9515,Method +ExclusiveLevelAlarmType_ConditionRefresh_InputArguments,9516,Variable +ExclusiveLevelAlarmType_AckedState,9517,Variable +ExclusiveLevelAlarmType_AckedState_Id,9518,Variable +ExclusiveLevelAlarmType_AckedState_Name,9519,Variable +ExclusiveLevelAlarmType_AckedState_Number,9520,Variable +ExclusiveLevelAlarmType_AckedState_EffectiveDisplayName,9521,Variable +ExclusiveLevelAlarmType_AckedState_TransitionTime,9522,Variable +ExclusiveLevelAlarmType_AckedState_EffectiveTransitionTime,9523,Variable +ExclusiveLevelAlarmType_AckedState_TrueState,9524,Variable +ExclusiveLevelAlarmType_AckedState_FalseState,9525,Variable +ExclusiveLevelAlarmType_ConfirmedState,9526,Variable +ExclusiveLevelAlarmType_ConfirmedState_Id,9527,Variable +ExclusiveLevelAlarmType_ConfirmedState_Name,9528,Variable +ExclusiveLevelAlarmType_ConfirmedState_Number,9529,Variable +ExclusiveLevelAlarmType_ConfirmedState_EffectiveDisplayName,9530,Variable +ExclusiveLevelAlarmType_ConfirmedState_TransitionTime,9531,Variable +ExclusiveLevelAlarmType_ConfirmedState_EffectiveTransitionTime,9532,Variable +ExclusiveLevelAlarmType_ConfirmedState_TrueState,9533,Variable +ExclusiveLevelAlarmType_ConfirmedState_FalseState,9534,Variable +ExclusiveLevelAlarmType_Acknowledge,9535,Method +ExclusiveLevelAlarmType_Acknowledge_InputArguments,9536,Variable +ExclusiveLevelAlarmType_Confirm,9537,Method +ExclusiveLevelAlarmType_Confirm_InputArguments,9538,Variable +ExclusiveLevelAlarmType_ActiveState,9539,Variable +ExclusiveLevelAlarmType_ActiveState_Id,9540,Variable +ExclusiveLevelAlarmType_ActiveState_Name,9541,Variable +ExclusiveLevelAlarmType_ActiveState_Number,9542,Variable +ExclusiveLevelAlarmType_ActiveState_EffectiveDisplayName,9543,Variable +ExclusiveLevelAlarmType_ActiveState_TransitionTime,9544,Variable +ExclusiveLevelAlarmType_ActiveState_EffectiveTransitionTime,9545,Variable +ExclusiveLevelAlarmType_ActiveState_TrueState,9546,Variable +ExclusiveLevelAlarmType_ActiveState_FalseState,9547,Variable +ExclusiveLevelAlarmType_SuppressedState,9548,Variable +ExclusiveLevelAlarmType_SuppressedState_Id,9549,Variable +ExclusiveLevelAlarmType_SuppressedState_Name,9550,Variable +ExclusiveLevelAlarmType_SuppressedState_Number,9551,Variable +ExclusiveLevelAlarmType_SuppressedState_EffectiveDisplayName,9552,Variable +ExclusiveLevelAlarmType_SuppressedState_TransitionTime,9553,Variable +ExclusiveLevelAlarmType_SuppressedState_EffectiveTransitionTime,9554,Variable +ExclusiveLevelAlarmType_SuppressedState_TrueState,9555,Variable +ExclusiveLevelAlarmType_SuppressedState_FalseState,9556,Variable +ExclusiveLevelAlarmType_ShelvingState,9557,Object +ExclusiveLevelAlarmType_ShelvingState_CurrentState,9558,Variable +ExclusiveLevelAlarmType_ShelvingState_CurrentState_Id,9559,Variable +ExclusiveLevelAlarmType_ShelvingState_CurrentState_Name,9560,Variable +ExclusiveLevelAlarmType_ShelvingState_CurrentState_Number,9561,Variable +ExclusiveLevelAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,9562,Variable +ExclusiveLevelAlarmType_ShelvingState_LastTransition,9563,Variable +ExclusiveLevelAlarmType_ShelvingState_LastTransition_Id,9564,Variable +ExclusiveLevelAlarmType_ShelvingState_LastTransition_Name,9565,Variable +ExclusiveLevelAlarmType_ShelvingState_LastTransition_Number,9566,Variable +ExclusiveLevelAlarmType_ShelvingState_LastTransition_TransitionTime,9567,Variable +ExclusiveLevelAlarmType_ShelvingState_UnshelveTime,9568,Variable +ExclusiveLevelAlarmType_ShelvingState_Unshelve,9590,Method +ExclusiveLevelAlarmType_ShelvingState_OneShotShelve,9591,Method +ExclusiveLevelAlarmType_ShelvingState_TimedShelve,9592,Method +ExclusiveLevelAlarmType_ShelvingState_TimedShelve_InputArguments,9593,Variable +ExclusiveLevelAlarmType_SuppressedOrShelved,9594,Variable +ExclusiveLevelAlarmType_MaxTimeShelved,9595,Variable +ExclusiveLevelAlarmType_LimitState,9596,Object +ExclusiveLevelAlarmType_LimitState_CurrentState,9597,Variable +ExclusiveLevelAlarmType_LimitState_CurrentState_Id,9598,Variable +ExclusiveLevelAlarmType_LimitState_CurrentState_Name,9599,Variable +ExclusiveLevelAlarmType_LimitState_CurrentState_Number,9600,Variable +ExclusiveLevelAlarmType_LimitState_CurrentState_EffectiveDisplayName,9601,Variable +ExclusiveLevelAlarmType_LimitState_LastTransition,9602,Variable +ExclusiveLevelAlarmType_LimitState_LastTransition_Id,9603,Variable +ExclusiveLevelAlarmType_LimitState_LastTransition_Name,9604,Variable +ExclusiveLevelAlarmType_LimitState_LastTransition_Number,9605,Variable +ExclusiveLevelAlarmType_LimitState_LastTransition_TransitionTime,9606,Variable +ExclusiveLevelAlarmType_HighHighLimit,9619,Variable +ExclusiveLevelAlarmType_HighLimit,9620,Variable +ExclusiveLevelAlarmType_LowLimit,9621,Variable +ExclusiveLevelAlarmType_LowLowLimit,9622,Variable +ExclusiveRateOfChangeAlarmType,9623,ObjectType +ExclusiveRateOfChangeAlarmType_EventId,9624,Variable +ExclusiveRateOfChangeAlarmType_EventType,9625,Variable +ExclusiveRateOfChangeAlarmType_SourceNode,9626,Variable +ExclusiveRateOfChangeAlarmType_SourceName,9627,Variable +ExclusiveRateOfChangeAlarmType_Time,9628,Variable +ExclusiveRateOfChangeAlarmType_ReceiveTime,9629,Variable +ExclusiveRateOfChangeAlarmType_LocalTime,9630,Variable +ExclusiveRateOfChangeAlarmType_Message,9631,Variable +ExclusiveRateOfChangeAlarmType_Severity,9632,Variable +ExclusiveRateOfChangeAlarmType_ConditionName,9633,Variable +ExclusiveRateOfChangeAlarmType_BranchId,9634,Variable +ExclusiveRateOfChangeAlarmType_Retain,9635,Variable +ExclusiveRateOfChangeAlarmType_EnabledState,9636,Variable +ExclusiveRateOfChangeAlarmType_EnabledState_Id,9637,Variable +ExclusiveRateOfChangeAlarmType_EnabledState_Name,9638,Variable +ExclusiveRateOfChangeAlarmType_EnabledState_Number,9639,Variable +ExclusiveRateOfChangeAlarmType_EnabledState_EffectiveDisplayName,9640,Variable +ExclusiveRateOfChangeAlarmType_EnabledState_TransitionTime,9641,Variable +ExclusiveRateOfChangeAlarmType_EnabledState_EffectiveTransitionTime,9642,Variable +ExclusiveRateOfChangeAlarmType_EnabledState_TrueState,9643,Variable +ExclusiveRateOfChangeAlarmType_EnabledState_FalseState,9644,Variable +ExclusiveRateOfChangeAlarmType_Quality,9645,Variable +ExclusiveRateOfChangeAlarmType_Quality_SourceTimestamp,9646,Variable +ExclusiveRateOfChangeAlarmType_LastSeverity,9647,Variable +ExclusiveRateOfChangeAlarmType_LastSeverity_SourceTimestamp,9648,Variable +ExclusiveRateOfChangeAlarmType_Comment,9649,Variable +ExclusiveRateOfChangeAlarmType_Comment_SourceTimestamp,9650,Variable +ExclusiveRateOfChangeAlarmType_ClientUserId,9651,Variable +ExclusiveRateOfChangeAlarmType_Enable,9652,Method +ExclusiveRateOfChangeAlarmType_Disable,9653,Method +ExclusiveRateOfChangeAlarmType_AddComment,9654,Method +ExclusiveRateOfChangeAlarmType_AddComment_InputArguments,9655,Variable +ExclusiveRateOfChangeAlarmType_ConditionRefresh,9656,Method +ExclusiveRateOfChangeAlarmType_ConditionRefresh_InputArguments,9657,Variable +ExclusiveRateOfChangeAlarmType_AckedState,9658,Variable +ExclusiveRateOfChangeAlarmType_AckedState_Id,9659,Variable +ExclusiveRateOfChangeAlarmType_AckedState_Name,9660,Variable +ExclusiveRateOfChangeAlarmType_AckedState_Number,9661,Variable +ExclusiveRateOfChangeAlarmType_AckedState_EffectiveDisplayName,9662,Variable +ExclusiveRateOfChangeAlarmType_AckedState_TransitionTime,9663,Variable +ExclusiveRateOfChangeAlarmType_AckedState_EffectiveTransitionTime,9664,Variable +ExclusiveRateOfChangeAlarmType_AckedState_TrueState,9665,Variable +ExclusiveRateOfChangeAlarmType_AckedState_FalseState,9666,Variable +ExclusiveRateOfChangeAlarmType_ConfirmedState,9667,Variable +ExclusiveRateOfChangeAlarmType_ConfirmedState_Id,9668,Variable +ExclusiveRateOfChangeAlarmType_ConfirmedState_Name,9669,Variable +ExclusiveRateOfChangeAlarmType_ConfirmedState_Number,9670,Variable +ExclusiveRateOfChangeAlarmType_ConfirmedState_EffectiveDisplayName,9671,Variable +ExclusiveRateOfChangeAlarmType_ConfirmedState_TransitionTime,9672,Variable +ExclusiveRateOfChangeAlarmType_ConfirmedState_EffectiveTransitionTime,9673,Variable +ExclusiveRateOfChangeAlarmType_ConfirmedState_TrueState,9674,Variable +ExclusiveRateOfChangeAlarmType_ConfirmedState_FalseState,9675,Variable +ExclusiveRateOfChangeAlarmType_Acknowledge,9676,Method +ExclusiveRateOfChangeAlarmType_Acknowledge_InputArguments,9677,Variable +ExclusiveRateOfChangeAlarmType_Confirm,9678,Method +ExclusiveRateOfChangeAlarmType_Confirm_InputArguments,9679,Variable +ExclusiveRateOfChangeAlarmType_ActiveState,9680,Variable +ExclusiveRateOfChangeAlarmType_ActiveState_Id,9681,Variable +ExclusiveRateOfChangeAlarmType_ActiveState_Name,9682,Variable +ExclusiveRateOfChangeAlarmType_ActiveState_Number,9683,Variable +ExclusiveRateOfChangeAlarmType_ActiveState_EffectiveDisplayName,9684,Variable +ExclusiveRateOfChangeAlarmType_ActiveState_TransitionTime,9685,Variable +ExclusiveRateOfChangeAlarmType_ActiveState_EffectiveTransitionTime,9686,Variable +ExclusiveRateOfChangeAlarmType_ActiveState_TrueState,9687,Variable +ExclusiveRateOfChangeAlarmType_ActiveState_FalseState,9688,Variable +ExclusiveRateOfChangeAlarmType_SuppressedState,9689,Variable +ExclusiveRateOfChangeAlarmType_SuppressedState_Id,9690,Variable +ExclusiveRateOfChangeAlarmType_SuppressedState_Name,9691,Variable +ExclusiveRateOfChangeAlarmType_SuppressedState_Number,9692,Variable +ExclusiveRateOfChangeAlarmType_SuppressedState_EffectiveDisplayName,9693,Variable +ExclusiveRateOfChangeAlarmType_SuppressedState_TransitionTime,9694,Variable +ExclusiveRateOfChangeAlarmType_SuppressedState_EffectiveTransitionTime,9695,Variable +ExclusiveRateOfChangeAlarmType_SuppressedState_TrueState,9696,Variable +ExclusiveRateOfChangeAlarmType_SuppressedState_FalseState,9697,Variable +ExclusiveRateOfChangeAlarmType_ShelvingState,9698,Object +ExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState,9699,Variable +ExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_Id,9700,Variable +ExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_Name,9701,Variable +ExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_Number,9702,Variable +ExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,9703,Variable +ExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition,9704,Variable +ExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_Id,9705,Variable +ExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_Name,9706,Variable +ExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_Number,9707,Variable +ExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_TransitionTime,9708,Variable +ExclusiveRateOfChangeAlarmType_ShelvingState_UnshelveTime,9709,Variable +ExclusiveRateOfChangeAlarmType_ShelvingState_Unshelve,9731,Method +ExclusiveRateOfChangeAlarmType_ShelvingState_OneShotShelve,9732,Method +ExclusiveRateOfChangeAlarmType_ShelvingState_TimedShelve,9733,Method +ExclusiveRateOfChangeAlarmType_ShelvingState_TimedShelve_InputArguments,9734,Variable +ExclusiveRateOfChangeAlarmType_SuppressedOrShelved,9735,Variable +ExclusiveRateOfChangeAlarmType_MaxTimeShelved,9736,Variable +ExclusiveRateOfChangeAlarmType_LimitState,9737,Object +ExclusiveRateOfChangeAlarmType_LimitState_CurrentState,9738,Variable +ExclusiveRateOfChangeAlarmType_LimitState_CurrentState_Id,9739,Variable +ExclusiveRateOfChangeAlarmType_LimitState_CurrentState_Name,9740,Variable +ExclusiveRateOfChangeAlarmType_LimitState_CurrentState_Number,9741,Variable +ExclusiveRateOfChangeAlarmType_LimitState_CurrentState_EffectiveDisplayName,9742,Variable +ExclusiveRateOfChangeAlarmType_LimitState_LastTransition,9743,Variable +ExclusiveRateOfChangeAlarmType_LimitState_LastTransition_Id,9744,Variable +ExclusiveRateOfChangeAlarmType_LimitState_LastTransition_Name,9745,Variable +ExclusiveRateOfChangeAlarmType_LimitState_LastTransition_Number,9746,Variable +ExclusiveRateOfChangeAlarmType_LimitState_LastTransition_TransitionTime,9747,Variable +ExclusiveRateOfChangeAlarmType_HighHighLimit,9760,Variable +ExclusiveRateOfChangeAlarmType_HighLimit,9761,Variable +ExclusiveRateOfChangeAlarmType_LowLimit,9762,Variable +ExclusiveRateOfChangeAlarmType_LowLowLimit,9763,Variable +ExclusiveDeviationAlarmType,9764,ObjectType +ExclusiveDeviationAlarmType_EventId,9765,Variable +ExclusiveDeviationAlarmType_EventType,9766,Variable +ExclusiveDeviationAlarmType_SourceNode,9767,Variable +ExclusiveDeviationAlarmType_SourceName,9768,Variable +ExclusiveDeviationAlarmType_Time,9769,Variable +ExclusiveDeviationAlarmType_ReceiveTime,9770,Variable +ExclusiveDeviationAlarmType_LocalTime,9771,Variable +ExclusiveDeviationAlarmType_Message,9772,Variable +ExclusiveDeviationAlarmType_Severity,9773,Variable +ExclusiveDeviationAlarmType_ConditionName,9774,Variable +ExclusiveDeviationAlarmType_BranchId,9775,Variable +ExclusiveDeviationAlarmType_Retain,9776,Variable +ExclusiveDeviationAlarmType_EnabledState,9777,Variable +ExclusiveDeviationAlarmType_EnabledState_Id,9778,Variable +ExclusiveDeviationAlarmType_EnabledState_Name,9779,Variable +ExclusiveDeviationAlarmType_EnabledState_Number,9780,Variable +ExclusiveDeviationAlarmType_EnabledState_EffectiveDisplayName,9781,Variable +ExclusiveDeviationAlarmType_EnabledState_TransitionTime,9782,Variable +ExclusiveDeviationAlarmType_EnabledState_EffectiveTransitionTime,9783,Variable +ExclusiveDeviationAlarmType_EnabledState_TrueState,9784,Variable +ExclusiveDeviationAlarmType_EnabledState_FalseState,9785,Variable +ExclusiveDeviationAlarmType_Quality,9786,Variable +ExclusiveDeviationAlarmType_Quality_SourceTimestamp,9787,Variable +ExclusiveDeviationAlarmType_LastSeverity,9788,Variable +ExclusiveDeviationAlarmType_LastSeverity_SourceTimestamp,9789,Variable +ExclusiveDeviationAlarmType_Comment,9790,Variable +ExclusiveDeviationAlarmType_Comment_SourceTimestamp,9791,Variable +ExclusiveDeviationAlarmType_ClientUserId,9792,Variable +ExclusiveDeviationAlarmType_Enable,9793,Method +ExclusiveDeviationAlarmType_Disable,9794,Method +ExclusiveDeviationAlarmType_AddComment,9795,Method +ExclusiveDeviationAlarmType_AddComment_InputArguments,9796,Variable +ExclusiveDeviationAlarmType_ConditionRefresh,9797,Method +ExclusiveDeviationAlarmType_ConditionRefresh_InputArguments,9798,Variable +ExclusiveDeviationAlarmType_AckedState,9799,Variable +ExclusiveDeviationAlarmType_AckedState_Id,9800,Variable +ExclusiveDeviationAlarmType_AckedState_Name,9801,Variable +ExclusiveDeviationAlarmType_AckedState_Number,9802,Variable +ExclusiveDeviationAlarmType_AckedState_EffectiveDisplayName,9803,Variable +ExclusiveDeviationAlarmType_AckedState_TransitionTime,9804,Variable +ExclusiveDeviationAlarmType_AckedState_EffectiveTransitionTime,9805,Variable +ExclusiveDeviationAlarmType_AckedState_TrueState,9806,Variable +ExclusiveDeviationAlarmType_AckedState_FalseState,9807,Variable +ExclusiveDeviationAlarmType_ConfirmedState,9808,Variable +ExclusiveDeviationAlarmType_ConfirmedState_Id,9809,Variable +ExclusiveDeviationAlarmType_ConfirmedState_Name,9810,Variable +ExclusiveDeviationAlarmType_ConfirmedState_Number,9811,Variable +ExclusiveDeviationAlarmType_ConfirmedState_EffectiveDisplayName,9812,Variable +ExclusiveDeviationAlarmType_ConfirmedState_TransitionTime,9813,Variable +ExclusiveDeviationAlarmType_ConfirmedState_EffectiveTransitionTime,9814,Variable +ExclusiveDeviationAlarmType_ConfirmedState_TrueState,9815,Variable +ExclusiveDeviationAlarmType_ConfirmedState_FalseState,9816,Variable +ExclusiveDeviationAlarmType_Acknowledge,9817,Method +ExclusiveDeviationAlarmType_Acknowledge_InputArguments,9818,Variable +ExclusiveDeviationAlarmType_Confirm,9819,Method +ExclusiveDeviationAlarmType_Confirm_InputArguments,9820,Variable +ExclusiveDeviationAlarmType_ActiveState,9821,Variable +ExclusiveDeviationAlarmType_ActiveState_Id,9822,Variable +ExclusiveDeviationAlarmType_ActiveState_Name,9823,Variable +ExclusiveDeviationAlarmType_ActiveState_Number,9824,Variable +ExclusiveDeviationAlarmType_ActiveState_EffectiveDisplayName,9825,Variable +ExclusiveDeviationAlarmType_ActiveState_TransitionTime,9826,Variable +ExclusiveDeviationAlarmType_ActiveState_EffectiveTransitionTime,9827,Variable +ExclusiveDeviationAlarmType_ActiveState_TrueState,9828,Variable +ExclusiveDeviationAlarmType_ActiveState_FalseState,9829,Variable +ExclusiveDeviationAlarmType_SuppressedState,9830,Variable +ExclusiveDeviationAlarmType_SuppressedState_Id,9831,Variable +ExclusiveDeviationAlarmType_SuppressedState_Name,9832,Variable +ExclusiveDeviationAlarmType_SuppressedState_Number,9833,Variable +ExclusiveDeviationAlarmType_SuppressedState_EffectiveDisplayName,9834,Variable +ExclusiveDeviationAlarmType_SuppressedState_TransitionTime,9835,Variable +ExclusiveDeviationAlarmType_SuppressedState_EffectiveTransitionTime,9836,Variable +ExclusiveDeviationAlarmType_SuppressedState_TrueState,9837,Variable +ExclusiveDeviationAlarmType_SuppressedState_FalseState,9838,Variable +ExclusiveDeviationAlarmType_ShelvingState,9839,Object +ExclusiveDeviationAlarmType_ShelvingState_CurrentState,9840,Variable +ExclusiveDeviationAlarmType_ShelvingState_CurrentState_Id,9841,Variable +ExclusiveDeviationAlarmType_ShelvingState_CurrentState_Name,9842,Variable +ExclusiveDeviationAlarmType_ShelvingState_CurrentState_Number,9843,Variable +ExclusiveDeviationAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,9844,Variable +ExclusiveDeviationAlarmType_ShelvingState_LastTransition,9845,Variable +ExclusiveDeviationAlarmType_ShelvingState_LastTransition_Id,9846,Variable +ExclusiveDeviationAlarmType_ShelvingState_LastTransition_Name,9847,Variable +ExclusiveDeviationAlarmType_ShelvingState_LastTransition_Number,9848,Variable +ExclusiveDeviationAlarmType_ShelvingState_LastTransition_TransitionTime,9849,Variable +ExclusiveDeviationAlarmType_ShelvingState_UnshelveTime,9850,Variable +ExclusiveDeviationAlarmType_ShelvingState_Unshelve,9872,Method +ExclusiveDeviationAlarmType_ShelvingState_OneShotShelve,9873,Method +ExclusiveDeviationAlarmType_ShelvingState_TimedShelve,9874,Method +ExclusiveDeviationAlarmType_ShelvingState_TimedShelve_InputArguments,9875,Variable +ExclusiveDeviationAlarmType_SuppressedOrShelved,9876,Variable +ExclusiveDeviationAlarmType_MaxTimeShelved,9877,Variable +ExclusiveDeviationAlarmType_LimitState,9878,Object +ExclusiveDeviationAlarmType_LimitState_CurrentState,9879,Variable +ExclusiveDeviationAlarmType_LimitState_CurrentState_Id,9880,Variable +ExclusiveDeviationAlarmType_LimitState_CurrentState_Name,9881,Variable +ExclusiveDeviationAlarmType_LimitState_CurrentState_Number,9882,Variable +ExclusiveDeviationAlarmType_LimitState_CurrentState_EffectiveDisplayName,9883,Variable +ExclusiveDeviationAlarmType_LimitState_LastTransition,9884,Variable +ExclusiveDeviationAlarmType_LimitState_LastTransition_Id,9885,Variable +ExclusiveDeviationAlarmType_LimitState_LastTransition_Name,9886,Variable +ExclusiveDeviationAlarmType_LimitState_LastTransition_Number,9887,Variable +ExclusiveDeviationAlarmType_LimitState_LastTransition_TransitionTime,9888,Variable +ExclusiveDeviationAlarmType_HighHighLimit,9901,Variable +ExclusiveDeviationAlarmType_HighLimit,9902,Variable +ExclusiveDeviationAlarmType_LowLimit,9903,Variable +ExclusiveDeviationAlarmType_LowLowLimit,9904,Variable +ExclusiveDeviationAlarmType_SetpointNode,9905,Variable +NonExclusiveLimitAlarmType,9906,ObjectType +NonExclusiveLimitAlarmType_EventId,9907,Variable +NonExclusiveLimitAlarmType_EventType,9908,Variable +NonExclusiveLimitAlarmType_SourceNode,9909,Variable +NonExclusiveLimitAlarmType_SourceName,9910,Variable +NonExclusiveLimitAlarmType_Time,9911,Variable +NonExclusiveLimitAlarmType_ReceiveTime,9912,Variable +NonExclusiveLimitAlarmType_LocalTime,9913,Variable +NonExclusiveLimitAlarmType_Message,9914,Variable +NonExclusiveLimitAlarmType_Severity,9915,Variable +NonExclusiveLimitAlarmType_ConditionName,9916,Variable +NonExclusiveLimitAlarmType_BranchId,9917,Variable +NonExclusiveLimitAlarmType_Retain,9918,Variable +NonExclusiveLimitAlarmType_EnabledState,9919,Variable +NonExclusiveLimitAlarmType_EnabledState_Id,9920,Variable +NonExclusiveLimitAlarmType_EnabledState_Name,9921,Variable +NonExclusiveLimitAlarmType_EnabledState_Number,9922,Variable +NonExclusiveLimitAlarmType_EnabledState_EffectiveDisplayName,9923,Variable +NonExclusiveLimitAlarmType_EnabledState_TransitionTime,9924,Variable +NonExclusiveLimitAlarmType_EnabledState_EffectiveTransitionTime,9925,Variable +NonExclusiveLimitAlarmType_EnabledState_TrueState,9926,Variable +NonExclusiveLimitAlarmType_EnabledState_FalseState,9927,Variable +NonExclusiveLimitAlarmType_Quality,9928,Variable +NonExclusiveLimitAlarmType_Quality_SourceTimestamp,9929,Variable +NonExclusiveLimitAlarmType_LastSeverity,9930,Variable +NonExclusiveLimitAlarmType_LastSeverity_SourceTimestamp,9931,Variable +NonExclusiveLimitAlarmType_Comment,9932,Variable +NonExclusiveLimitAlarmType_Comment_SourceTimestamp,9933,Variable +NonExclusiveLimitAlarmType_ClientUserId,9934,Variable +NonExclusiveLimitAlarmType_Enable,9935,Method +NonExclusiveLimitAlarmType_Disable,9936,Method +NonExclusiveLimitAlarmType_AddComment,9937,Method +NonExclusiveLimitAlarmType_AddComment_InputArguments,9938,Variable +NonExclusiveLimitAlarmType_ConditionRefresh,9939,Method +NonExclusiveLimitAlarmType_ConditionRefresh_InputArguments,9940,Variable +NonExclusiveLimitAlarmType_AckedState,9941,Variable +NonExclusiveLimitAlarmType_AckedState_Id,9942,Variable +NonExclusiveLimitAlarmType_AckedState_Name,9943,Variable +NonExclusiveLimitAlarmType_AckedState_Number,9944,Variable +NonExclusiveLimitAlarmType_AckedState_EffectiveDisplayName,9945,Variable +NonExclusiveLimitAlarmType_AckedState_TransitionTime,9946,Variable +NonExclusiveLimitAlarmType_AckedState_EffectiveTransitionTime,9947,Variable +NonExclusiveLimitAlarmType_AckedState_TrueState,9948,Variable +NonExclusiveLimitAlarmType_AckedState_FalseState,9949,Variable +NonExclusiveLimitAlarmType_ConfirmedState,9950,Variable +NonExclusiveLimitAlarmType_ConfirmedState_Id,9951,Variable +NonExclusiveLimitAlarmType_ConfirmedState_Name,9952,Variable +NonExclusiveLimitAlarmType_ConfirmedState_Number,9953,Variable +NonExclusiveLimitAlarmType_ConfirmedState_EffectiveDisplayName,9954,Variable +NonExclusiveLimitAlarmType_ConfirmedState_TransitionTime,9955,Variable +NonExclusiveLimitAlarmType_ConfirmedState_EffectiveTransitionTime,9956,Variable +NonExclusiveLimitAlarmType_ConfirmedState_TrueState,9957,Variable +NonExclusiveLimitAlarmType_ConfirmedState_FalseState,9958,Variable +NonExclusiveLimitAlarmType_Acknowledge,9959,Method +NonExclusiveLimitAlarmType_Acknowledge_InputArguments,9960,Variable +NonExclusiveLimitAlarmType_Confirm,9961,Method +NonExclusiveLimitAlarmType_Confirm_InputArguments,9962,Variable +NonExclusiveLimitAlarmType_ActiveState,9963,Variable +NonExclusiveLimitAlarmType_ActiveState_Id,9964,Variable +NonExclusiveLimitAlarmType_ActiveState_Name,9965,Variable +NonExclusiveLimitAlarmType_ActiveState_Number,9966,Variable +NonExclusiveLimitAlarmType_ActiveState_EffectiveDisplayName,9967,Variable +NonExclusiveLimitAlarmType_ActiveState_TransitionTime,9968,Variable +NonExclusiveLimitAlarmType_ActiveState_EffectiveTransitionTime,9969,Variable +NonExclusiveLimitAlarmType_ActiveState_TrueState,9970,Variable +NonExclusiveLimitAlarmType_ActiveState_FalseState,9971,Variable +NonExclusiveLimitAlarmType_SuppressedState,9972,Variable +NonExclusiveLimitAlarmType_SuppressedState_Id,9973,Variable +NonExclusiveLimitAlarmType_SuppressedState_Name,9974,Variable +NonExclusiveLimitAlarmType_SuppressedState_Number,9975,Variable +NonExclusiveLimitAlarmType_SuppressedState_EffectiveDisplayName,9976,Variable +NonExclusiveLimitAlarmType_SuppressedState_TransitionTime,9977,Variable +NonExclusiveLimitAlarmType_SuppressedState_EffectiveTransitionTime,9978,Variable +NonExclusiveLimitAlarmType_SuppressedState_TrueState,9979,Variable +NonExclusiveLimitAlarmType_SuppressedState_FalseState,9980,Variable +NonExclusiveLimitAlarmType_ShelvingState,9981,Object +NonExclusiveLimitAlarmType_ShelvingState_CurrentState,9982,Variable +NonExclusiveLimitAlarmType_ShelvingState_CurrentState_Id,9983,Variable +NonExclusiveLimitAlarmType_ShelvingState_CurrentState_Name,9984,Variable +NonExclusiveLimitAlarmType_ShelvingState_CurrentState_Number,9985,Variable +NonExclusiveLimitAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,9986,Variable +NonExclusiveLimitAlarmType_ShelvingState_LastTransition,9987,Variable +NonExclusiveLimitAlarmType_ShelvingState_LastTransition_Id,9988,Variable +NonExclusiveLimitAlarmType_ShelvingState_LastTransition_Name,9989,Variable +NonExclusiveLimitAlarmType_ShelvingState_LastTransition_Number,9990,Variable +NonExclusiveLimitAlarmType_ShelvingState_LastTransition_TransitionTime,9991,Variable +NonExclusiveLimitAlarmType_ShelvingState_UnshelveTime,9992,Variable +NonExclusiveLimitAlarmType_ShelvingState_Unshelve,10014,Method +NonExclusiveLimitAlarmType_ShelvingState_OneShotShelve,10015,Method +NonExclusiveLimitAlarmType_ShelvingState_TimedShelve,10016,Method +NonExclusiveLimitAlarmType_ShelvingState_TimedShelve_InputArguments,10017,Variable +NonExclusiveLimitAlarmType_SuppressedOrShelved,10018,Variable +NonExclusiveLimitAlarmType_MaxTimeShelved,10019,Variable +NonExclusiveLimitAlarmType_HighHighState,10020,Variable +NonExclusiveLimitAlarmType_HighHighState_Id,10021,Variable +NonExclusiveLimitAlarmType_HighHighState_Name,10022,Variable +NonExclusiveLimitAlarmType_HighHighState_Number,10023,Variable +NonExclusiveLimitAlarmType_HighHighState_EffectiveDisplayName,10024,Variable +NonExclusiveLimitAlarmType_HighHighState_TransitionTime,10025,Variable +NonExclusiveLimitAlarmType_HighHighState_EffectiveTransitionTime,10026,Variable +NonExclusiveLimitAlarmType_HighHighState_TrueState,10027,Variable +NonExclusiveLimitAlarmType_HighHighState_FalseState,10028,Variable +NonExclusiveLimitAlarmType_HighState,10029,Variable +NonExclusiveLimitAlarmType_HighState_Id,10030,Variable +NonExclusiveLimitAlarmType_HighState_Name,10031,Variable +NonExclusiveLimitAlarmType_HighState_Number,10032,Variable +NonExclusiveLimitAlarmType_HighState_EffectiveDisplayName,10033,Variable +NonExclusiveLimitAlarmType_HighState_TransitionTime,10034,Variable +NonExclusiveLimitAlarmType_HighState_EffectiveTransitionTime,10035,Variable +NonExclusiveLimitAlarmType_HighState_TrueState,10036,Variable +NonExclusiveLimitAlarmType_HighState_FalseState,10037,Variable +NonExclusiveLimitAlarmType_LowState,10038,Variable +NonExclusiveLimitAlarmType_LowState_Id,10039,Variable +NonExclusiveLimitAlarmType_LowState_Name,10040,Variable +NonExclusiveLimitAlarmType_LowState_Number,10041,Variable +NonExclusiveLimitAlarmType_LowState_EffectiveDisplayName,10042,Variable +NonExclusiveLimitAlarmType_LowState_TransitionTime,10043,Variable +NonExclusiveLimitAlarmType_LowState_EffectiveTransitionTime,10044,Variable +NonExclusiveLimitAlarmType_LowState_TrueState,10045,Variable +NonExclusiveLimitAlarmType_LowState_FalseState,10046,Variable +NonExclusiveLimitAlarmType_LowLowState,10047,Variable +NonExclusiveLimitAlarmType_LowLowState_Id,10048,Variable +NonExclusiveLimitAlarmType_LowLowState_Name,10049,Variable +NonExclusiveLimitAlarmType_LowLowState_Number,10050,Variable +NonExclusiveLimitAlarmType_LowLowState_EffectiveDisplayName,10051,Variable +NonExclusiveLimitAlarmType_LowLowState_TransitionTime,10052,Variable +NonExclusiveLimitAlarmType_LowLowState_EffectiveTransitionTime,10053,Variable +NonExclusiveLimitAlarmType_LowLowState_TrueState,10054,Variable +NonExclusiveLimitAlarmType_LowLowState_FalseState,10055,Variable +NonExclusiveLimitAlarmType_HighHighLimit,10056,Variable +NonExclusiveLimitAlarmType_HighLimit,10057,Variable +NonExclusiveLimitAlarmType_LowLimit,10058,Variable +NonExclusiveLimitAlarmType_LowLowLimit,10059,Variable +NonExclusiveLevelAlarmType,10060,ObjectType +NonExclusiveLevelAlarmType_EventId,10061,Variable +NonExclusiveLevelAlarmType_EventType,10062,Variable +NonExclusiveLevelAlarmType_SourceNode,10063,Variable +NonExclusiveLevelAlarmType_SourceName,10064,Variable +NonExclusiveLevelAlarmType_Time,10065,Variable +NonExclusiveLevelAlarmType_ReceiveTime,10066,Variable +NonExclusiveLevelAlarmType_LocalTime,10067,Variable +NonExclusiveLevelAlarmType_Message,10068,Variable +NonExclusiveLevelAlarmType_Severity,10069,Variable +NonExclusiveLevelAlarmType_ConditionName,10070,Variable +NonExclusiveLevelAlarmType_BranchId,10071,Variable +NonExclusiveLevelAlarmType_Retain,10072,Variable +NonExclusiveLevelAlarmType_EnabledState,10073,Variable +NonExclusiveLevelAlarmType_EnabledState_Id,10074,Variable +NonExclusiveLevelAlarmType_EnabledState_Name,10075,Variable +NonExclusiveLevelAlarmType_EnabledState_Number,10076,Variable +NonExclusiveLevelAlarmType_EnabledState_EffectiveDisplayName,10077,Variable +NonExclusiveLevelAlarmType_EnabledState_TransitionTime,10078,Variable +NonExclusiveLevelAlarmType_EnabledState_EffectiveTransitionTime,10079,Variable +NonExclusiveLevelAlarmType_EnabledState_TrueState,10080,Variable +NonExclusiveLevelAlarmType_EnabledState_FalseState,10081,Variable +NonExclusiveLevelAlarmType_Quality,10082,Variable +NonExclusiveLevelAlarmType_Quality_SourceTimestamp,10083,Variable +NonExclusiveLevelAlarmType_LastSeverity,10084,Variable +NonExclusiveLevelAlarmType_LastSeverity_SourceTimestamp,10085,Variable +NonExclusiveLevelAlarmType_Comment,10086,Variable +NonExclusiveLevelAlarmType_Comment_SourceTimestamp,10087,Variable +NonExclusiveLevelAlarmType_ClientUserId,10088,Variable +NonExclusiveLevelAlarmType_Enable,10089,Method +NonExclusiveLevelAlarmType_Disable,10090,Method +NonExclusiveLevelAlarmType_AddComment,10091,Method +NonExclusiveLevelAlarmType_AddComment_InputArguments,10092,Variable +NonExclusiveLevelAlarmType_ConditionRefresh,10093,Method +NonExclusiveLevelAlarmType_ConditionRefresh_InputArguments,10094,Variable +NonExclusiveLevelAlarmType_AckedState,10095,Variable +NonExclusiveLevelAlarmType_AckedState_Id,10096,Variable +NonExclusiveLevelAlarmType_AckedState_Name,10097,Variable +NonExclusiveLevelAlarmType_AckedState_Number,10098,Variable +NonExclusiveLevelAlarmType_AckedState_EffectiveDisplayName,10099,Variable +NonExclusiveLevelAlarmType_AckedState_TransitionTime,10100,Variable +NonExclusiveLevelAlarmType_AckedState_EffectiveTransitionTime,10101,Variable +NonExclusiveLevelAlarmType_AckedState_TrueState,10102,Variable +NonExclusiveLevelAlarmType_AckedState_FalseState,10103,Variable +NonExclusiveLevelAlarmType_ConfirmedState,10104,Variable +NonExclusiveLevelAlarmType_ConfirmedState_Id,10105,Variable +NonExclusiveLevelAlarmType_ConfirmedState_Name,10106,Variable +NonExclusiveLevelAlarmType_ConfirmedState_Number,10107,Variable +NonExclusiveLevelAlarmType_ConfirmedState_EffectiveDisplayName,10108,Variable +NonExclusiveLevelAlarmType_ConfirmedState_TransitionTime,10109,Variable +NonExclusiveLevelAlarmType_ConfirmedState_EffectiveTransitionTime,10110,Variable +NonExclusiveLevelAlarmType_ConfirmedState_TrueState,10111,Variable +NonExclusiveLevelAlarmType_ConfirmedState_FalseState,10112,Variable +NonExclusiveLevelAlarmType_Acknowledge,10113,Method +NonExclusiveLevelAlarmType_Acknowledge_InputArguments,10114,Variable +NonExclusiveLevelAlarmType_Confirm,10115,Method +NonExclusiveLevelAlarmType_Confirm_InputArguments,10116,Variable +NonExclusiveLevelAlarmType_ActiveState,10117,Variable +NonExclusiveLevelAlarmType_ActiveState_Id,10118,Variable +NonExclusiveLevelAlarmType_ActiveState_Name,10119,Variable +NonExclusiveLevelAlarmType_ActiveState_Number,10120,Variable +NonExclusiveLevelAlarmType_ActiveState_EffectiveDisplayName,10121,Variable +NonExclusiveLevelAlarmType_ActiveState_TransitionTime,10122,Variable +NonExclusiveLevelAlarmType_ActiveState_EffectiveTransitionTime,10123,Variable +NonExclusiveLevelAlarmType_ActiveState_TrueState,10124,Variable +NonExclusiveLevelAlarmType_ActiveState_FalseState,10125,Variable +NonExclusiveLevelAlarmType_SuppressedState,10126,Variable +NonExclusiveLevelAlarmType_SuppressedState_Id,10127,Variable +NonExclusiveLevelAlarmType_SuppressedState_Name,10128,Variable +NonExclusiveLevelAlarmType_SuppressedState_Number,10129,Variable +NonExclusiveLevelAlarmType_SuppressedState_EffectiveDisplayName,10130,Variable +NonExclusiveLevelAlarmType_SuppressedState_TransitionTime,10131,Variable +NonExclusiveLevelAlarmType_SuppressedState_EffectiveTransitionTime,10132,Variable +NonExclusiveLevelAlarmType_SuppressedState_TrueState,10133,Variable +NonExclusiveLevelAlarmType_SuppressedState_FalseState,10134,Variable +NonExclusiveLevelAlarmType_ShelvingState,10135,Object +NonExclusiveLevelAlarmType_ShelvingState_CurrentState,10136,Variable +NonExclusiveLevelAlarmType_ShelvingState_CurrentState_Id,10137,Variable +NonExclusiveLevelAlarmType_ShelvingState_CurrentState_Name,10138,Variable +NonExclusiveLevelAlarmType_ShelvingState_CurrentState_Number,10139,Variable +NonExclusiveLevelAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,10140,Variable +NonExclusiveLevelAlarmType_ShelvingState_LastTransition,10141,Variable +NonExclusiveLevelAlarmType_ShelvingState_LastTransition_Id,10142,Variable +NonExclusiveLevelAlarmType_ShelvingState_LastTransition_Name,10143,Variable +NonExclusiveLevelAlarmType_ShelvingState_LastTransition_Number,10144,Variable +NonExclusiveLevelAlarmType_ShelvingState_LastTransition_TransitionTime,10145,Variable +NonExclusiveLevelAlarmType_ShelvingState_UnshelveTime,10146,Variable +NonExclusiveLevelAlarmType_ShelvingState_Unshelve,10168,Method +NonExclusiveLevelAlarmType_ShelvingState_OneShotShelve,10169,Method +NonExclusiveLevelAlarmType_ShelvingState_TimedShelve,10170,Method +NonExclusiveLevelAlarmType_ShelvingState_TimedShelve_InputArguments,10171,Variable +NonExclusiveLevelAlarmType_SuppressedOrShelved,10172,Variable +NonExclusiveLevelAlarmType_MaxTimeShelved,10173,Variable +NonExclusiveLevelAlarmType_HighHighState,10174,Variable +NonExclusiveLevelAlarmType_HighHighState_Id,10175,Variable +NonExclusiveLevelAlarmType_HighHighState_Name,10176,Variable +NonExclusiveLevelAlarmType_HighHighState_Number,10177,Variable +NonExclusiveLevelAlarmType_HighHighState_EffectiveDisplayName,10178,Variable +NonExclusiveLevelAlarmType_HighHighState_TransitionTime,10179,Variable +NonExclusiveLevelAlarmType_HighHighState_EffectiveTransitionTime,10180,Variable +NonExclusiveLevelAlarmType_HighHighState_TrueState,10181,Variable +NonExclusiveLevelAlarmType_HighHighState_FalseState,10182,Variable +NonExclusiveLevelAlarmType_HighState,10183,Variable +NonExclusiveLevelAlarmType_HighState_Id,10184,Variable +NonExclusiveLevelAlarmType_HighState_Name,10185,Variable +NonExclusiveLevelAlarmType_HighState_Number,10186,Variable +NonExclusiveLevelAlarmType_HighState_EffectiveDisplayName,10187,Variable +NonExclusiveLevelAlarmType_HighState_TransitionTime,10188,Variable +NonExclusiveLevelAlarmType_HighState_EffectiveTransitionTime,10189,Variable +NonExclusiveLevelAlarmType_HighState_TrueState,10190,Variable +NonExclusiveLevelAlarmType_HighState_FalseState,10191,Variable +NonExclusiveLevelAlarmType_LowState,10192,Variable +NonExclusiveLevelAlarmType_LowState_Id,10193,Variable +NonExclusiveLevelAlarmType_LowState_Name,10194,Variable +NonExclusiveLevelAlarmType_LowState_Number,10195,Variable +NonExclusiveLevelAlarmType_LowState_EffectiveDisplayName,10196,Variable +NonExclusiveLevelAlarmType_LowState_TransitionTime,10197,Variable +NonExclusiveLevelAlarmType_LowState_EffectiveTransitionTime,10198,Variable +NonExclusiveLevelAlarmType_LowState_TrueState,10199,Variable +NonExclusiveLevelAlarmType_LowState_FalseState,10200,Variable +NonExclusiveLevelAlarmType_LowLowState,10201,Variable +NonExclusiveLevelAlarmType_LowLowState_Id,10202,Variable +NonExclusiveLevelAlarmType_LowLowState_Name,10203,Variable +NonExclusiveLevelAlarmType_LowLowState_Number,10204,Variable +NonExclusiveLevelAlarmType_LowLowState_EffectiveDisplayName,10205,Variable +NonExclusiveLevelAlarmType_LowLowState_TransitionTime,10206,Variable +NonExclusiveLevelAlarmType_LowLowState_EffectiveTransitionTime,10207,Variable +NonExclusiveLevelAlarmType_LowLowState_TrueState,10208,Variable +NonExclusiveLevelAlarmType_LowLowState_FalseState,10209,Variable +NonExclusiveLevelAlarmType_HighHighLimit,10210,Variable +NonExclusiveLevelAlarmType_HighLimit,10211,Variable +NonExclusiveLevelAlarmType_LowLimit,10212,Variable +NonExclusiveLevelAlarmType_LowLowLimit,10213,Variable +NonExclusiveRateOfChangeAlarmType,10214,ObjectType +NonExclusiveRateOfChangeAlarmType_EventId,10215,Variable +NonExclusiveRateOfChangeAlarmType_EventType,10216,Variable +NonExclusiveRateOfChangeAlarmType_SourceNode,10217,Variable +NonExclusiveRateOfChangeAlarmType_SourceName,10218,Variable +NonExclusiveRateOfChangeAlarmType_Time,10219,Variable +NonExclusiveRateOfChangeAlarmType_ReceiveTime,10220,Variable +NonExclusiveRateOfChangeAlarmType_LocalTime,10221,Variable +NonExclusiveRateOfChangeAlarmType_Message,10222,Variable +NonExclusiveRateOfChangeAlarmType_Severity,10223,Variable +NonExclusiveRateOfChangeAlarmType_ConditionName,10224,Variable +NonExclusiveRateOfChangeAlarmType_BranchId,10225,Variable +NonExclusiveRateOfChangeAlarmType_Retain,10226,Variable +NonExclusiveRateOfChangeAlarmType_EnabledState,10227,Variable +NonExclusiveRateOfChangeAlarmType_EnabledState_Id,10228,Variable +NonExclusiveRateOfChangeAlarmType_EnabledState_Name,10229,Variable +NonExclusiveRateOfChangeAlarmType_EnabledState_Number,10230,Variable +NonExclusiveRateOfChangeAlarmType_EnabledState_EffectiveDisplayName,10231,Variable +NonExclusiveRateOfChangeAlarmType_EnabledState_TransitionTime,10232,Variable +NonExclusiveRateOfChangeAlarmType_EnabledState_EffectiveTransitionTime,10233,Variable +NonExclusiveRateOfChangeAlarmType_EnabledState_TrueState,10234,Variable +NonExclusiveRateOfChangeAlarmType_EnabledState_FalseState,10235,Variable +NonExclusiveRateOfChangeAlarmType_Quality,10236,Variable +NonExclusiveRateOfChangeAlarmType_Quality_SourceTimestamp,10237,Variable +NonExclusiveRateOfChangeAlarmType_LastSeverity,10238,Variable +NonExclusiveRateOfChangeAlarmType_LastSeverity_SourceTimestamp,10239,Variable +NonExclusiveRateOfChangeAlarmType_Comment,10240,Variable +NonExclusiveRateOfChangeAlarmType_Comment_SourceTimestamp,10241,Variable +NonExclusiveRateOfChangeAlarmType_ClientUserId,10242,Variable +NonExclusiveRateOfChangeAlarmType_Enable,10243,Method +NonExclusiveRateOfChangeAlarmType_Disable,10244,Method +NonExclusiveRateOfChangeAlarmType_AddComment,10245,Method +NonExclusiveRateOfChangeAlarmType_AddComment_InputArguments,10246,Variable +NonExclusiveRateOfChangeAlarmType_ConditionRefresh,10247,Method +NonExclusiveRateOfChangeAlarmType_ConditionRefresh_InputArguments,10248,Variable +NonExclusiveRateOfChangeAlarmType_AckedState,10249,Variable +NonExclusiveRateOfChangeAlarmType_AckedState_Id,10250,Variable +NonExclusiveRateOfChangeAlarmType_AckedState_Name,10251,Variable +NonExclusiveRateOfChangeAlarmType_AckedState_Number,10252,Variable +NonExclusiveRateOfChangeAlarmType_AckedState_EffectiveDisplayName,10253,Variable +NonExclusiveRateOfChangeAlarmType_AckedState_TransitionTime,10254,Variable +NonExclusiveRateOfChangeAlarmType_AckedState_EffectiveTransitionTime,10255,Variable +NonExclusiveRateOfChangeAlarmType_AckedState_TrueState,10256,Variable +NonExclusiveRateOfChangeAlarmType_AckedState_FalseState,10257,Variable +NonExclusiveRateOfChangeAlarmType_ConfirmedState,10258,Variable +NonExclusiveRateOfChangeAlarmType_ConfirmedState_Id,10259,Variable +NonExclusiveRateOfChangeAlarmType_ConfirmedState_Name,10260,Variable +NonExclusiveRateOfChangeAlarmType_ConfirmedState_Number,10261,Variable +NonExclusiveRateOfChangeAlarmType_ConfirmedState_EffectiveDisplayName,10262,Variable +NonExclusiveRateOfChangeAlarmType_ConfirmedState_TransitionTime,10263,Variable +NonExclusiveRateOfChangeAlarmType_ConfirmedState_EffectiveTransitionTime,10264,Variable +NonExclusiveRateOfChangeAlarmType_ConfirmedState_TrueState,10265,Variable +NonExclusiveRateOfChangeAlarmType_ConfirmedState_FalseState,10266,Variable +NonExclusiveRateOfChangeAlarmType_Acknowledge,10267,Method +NonExclusiveRateOfChangeAlarmType_Acknowledge_InputArguments,10268,Variable +NonExclusiveRateOfChangeAlarmType_Confirm,10269,Method +NonExclusiveRateOfChangeAlarmType_Confirm_InputArguments,10270,Variable +NonExclusiveRateOfChangeAlarmType_ActiveState,10271,Variable +NonExclusiveRateOfChangeAlarmType_ActiveState_Id,10272,Variable +NonExclusiveRateOfChangeAlarmType_ActiveState_Name,10273,Variable +NonExclusiveRateOfChangeAlarmType_ActiveState_Number,10274,Variable +NonExclusiveRateOfChangeAlarmType_ActiveState_EffectiveDisplayName,10275,Variable +NonExclusiveRateOfChangeAlarmType_ActiveState_TransitionTime,10276,Variable +NonExclusiveRateOfChangeAlarmType_ActiveState_EffectiveTransitionTime,10277,Variable +NonExclusiveRateOfChangeAlarmType_ActiveState_TrueState,10278,Variable +NonExclusiveRateOfChangeAlarmType_ActiveState_FalseState,10279,Variable +NonExclusiveRateOfChangeAlarmType_SuppressedState,10280,Variable +NonExclusiveRateOfChangeAlarmType_SuppressedState_Id,10281,Variable +NonExclusiveRateOfChangeAlarmType_SuppressedState_Name,10282,Variable +NonExclusiveRateOfChangeAlarmType_SuppressedState_Number,10283,Variable +NonExclusiveRateOfChangeAlarmType_SuppressedState_EffectiveDisplayName,10284,Variable +NonExclusiveRateOfChangeAlarmType_SuppressedState_TransitionTime,10285,Variable +NonExclusiveRateOfChangeAlarmType_SuppressedState_EffectiveTransitionTime,10286,Variable +NonExclusiveRateOfChangeAlarmType_SuppressedState_TrueState,10287,Variable +NonExclusiveRateOfChangeAlarmType_SuppressedState_FalseState,10288,Variable +NonExclusiveRateOfChangeAlarmType_ShelvingState,10289,Object +NonExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState,10290,Variable +NonExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_Id,10291,Variable +NonExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_Name,10292,Variable +NonExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_Number,10293,Variable +NonExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,10294,Variable +NonExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition,10295,Variable +NonExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_Id,10296,Variable +NonExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_Name,10297,Variable +NonExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_Number,10298,Variable +NonExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_TransitionTime,10299,Variable +NonExclusiveRateOfChangeAlarmType_ShelvingState_UnshelveTime,10300,Variable +NonExclusiveRateOfChangeAlarmType_ShelvingState_Unshelve,10322,Method +NonExclusiveRateOfChangeAlarmType_ShelvingState_OneShotShelve,10323,Method +NonExclusiveRateOfChangeAlarmType_ShelvingState_TimedShelve,10324,Method +NonExclusiveRateOfChangeAlarmType_ShelvingState_TimedShelve_InputArguments,10325,Variable +NonExclusiveRateOfChangeAlarmType_SuppressedOrShelved,10326,Variable +NonExclusiveRateOfChangeAlarmType_MaxTimeShelved,10327,Variable +NonExclusiveRateOfChangeAlarmType_HighHighState,10328,Variable +NonExclusiveRateOfChangeAlarmType_HighHighState_Id,10329,Variable +NonExclusiveRateOfChangeAlarmType_HighHighState_Name,10330,Variable +NonExclusiveRateOfChangeAlarmType_HighHighState_Number,10331,Variable +NonExclusiveRateOfChangeAlarmType_HighHighState_EffectiveDisplayName,10332,Variable +NonExclusiveRateOfChangeAlarmType_HighHighState_TransitionTime,10333,Variable +NonExclusiveRateOfChangeAlarmType_HighHighState_EffectiveTransitionTime,10334,Variable +NonExclusiveRateOfChangeAlarmType_HighHighState_TrueState,10335,Variable +NonExclusiveRateOfChangeAlarmType_HighHighState_FalseState,10336,Variable +NonExclusiveRateOfChangeAlarmType_HighState,10337,Variable +NonExclusiveRateOfChangeAlarmType_HighState_Id,10338,Variable +NonExclusiveRateOfChangeAlarmType_HighState_Name,10339,Variable +NonExclusiveRateOfChangeAlarmType_HighState_Number,10340,Variable +NonExclusiveRateOfChangeAlarmType_HighState_EffectiveDisplayName,10341,Variable +NonExclusiveRateOfChangeAlarmType_HighState_TransitionTime,10342,Variable +NonExclusiveRateOfChangeAlarmType_HighState_EffectiveTransitionTime,10343,Variable +NonExclusiveRateOfChangeAlarmType_HighState_TrueState,10344,Variable +NonExclusiveRateOfChangeAlarmType_HighState_FalseState,10345,Variable +NonExclusiveRateOfChangeAlarmType_LowState,10346,Variable +NonExclusiveRateOfChangeAlarmType_LowState_Id,10347,Variable +NonExclusiveRateOfChangeAlarmType_LowState_Name,10348,Variable +NonExclusiveRateOfChangeAlarmType_LowState_Number,10349,Variable +NonExclusiveRateOfChangeAlarmType_LowState_EffectiveDisplayName,10350,Variable +NonExclusiveRateOfChangeAlarmType_LowState_TransitionTime,10351,Variable +NonExclusiveRateOfChangeAlarmType_LowState_EffectiveTransitionTime,10352,Variable +NonExclusiveRateOfChangeAlarmType_LowState_TrueState,10353,Variable +NonExclusiveRateOfChangeAlarmType_LowState_FalseState,10354,Variable +NonExclusiveRateOfChangeAlarmType_LowLowState,10355,Variable +NonExclusiveRateOfChangeAlarmType_LowLowState_Id,10356,Variable +NonExclusiveRateOfChangeAlarmType_LowLowState_Name,10357,Variable +NonExclusiveRateOfChangeAlarmType_LowLowState_Number,10358,Variable +NonExclusiveRateOfChangeAlarmType_LowLowState_EffectiveDisplayName,10359,Variable +NonExclusiveRateOfChangeAlarmType_LowLowState_TransitionTime,10360,Variable +NonExclusiveRateOfChangeAlarmType_LowLowState_EffectiveTransitionTime,10361,Variable +NonExclusiveRateOfChangeAlarmType_LowLowState_TrueState,10362,Variable +NonExclusiveRateOfChangeAlarmType_LowLowState_FalseState,10363,Variable +NonExclusiveRateOfChangeAlarmType_HighHighLimit,10364,Variable +NonExclusiveRateOfChangeAlarmType_HighLimit,10365,Variable +NonExclusiveRateOfChangeAlarmType_LowLimit,10366,Variable +NonExclusiveRateOfChangeAlarmType_LowLowLimit,10367,Variable +NonExclusiveDeviationAlarmType,10368,ObjectType +NonExclusiveDeviationAlarmType_EventId,10369,Variable +NonExclusiveDeviationAlarmType_EventType,10370,Variable +NonExclusiveDeviationAlarmType_SourceNode,10371,Variable +NonExclusiveDeviationAlarmType_SourceName,10372,Variable +NonExclusiveDeviationAlarmType_Time,10373,Variable +NonExclusiveDeviationAlarmType_ReceiveTime,10374,Variable +NonExclusiveDeviationAlarmType_LocalTime,10375,Variable +NonExclusiveDeviationAlarmType_Message,10376,Variable +NonExclusiveDeviationAlarmType_Severity,10377,Variable +NonExclusiveDeviationAlarmType_ConditionName,10378,Variable +NonExclusiveDeviationAlarmType_BranchId,10379,Variable +NonExclusiveDeviationAlarmType_Retain,10380,Variable +NonExclusiveDeviationAlarmType_EnabledState,10381,Variable +NonExclusiveDeviationAlarmType_EnabledState_Id,10382,Variable +NonExclusiveDeviationAlarmType_EnabledState_Name,10383,Variable +NonExclusiveDeviationAlarmType_EnabledState_Number,10384,Variable +NonExclusiveDeviationAlarmType_EnabledState_EffectiveDisplayName,10385,Variable +NonExclusiveDeviationAlarmType_EnabledState_TransitionTime,10386,Variable +NonExclusiveDeviationAlarmType_EnabledState_EffectiveTransitionTime,10387,Variable +NonExclusiveDeviationAlarmType_EnabledState_TrueState,10388,Variable +NonExclusiveDeviationAlarmType_EnabledState_FalseState,10389,Variable +NonExclusiveDeviationAlarmType_Quality,10390,Variable +NonExclusiveDeviationAlarmType_Quality_SourceTimestamp,10391,Variable +NonExclusiveDeviationAlarmType_LastSeverity,10392,Variable +NonExclusiveDeviationAlarmType_LastSeverity_SourceTimestamp,10393,Variable +NonExclusiveDeviationAlarmType_Comment,10394,Variable +NonExclusiveDeviationAlarmType_Comment_SourceTimestamp,10395,Variable +NonExclusiveDeviationAlarmType_ClientUserId,10396,Variable +NonExclusiveDeviationAlarmType_Enable,10397,Method +NonExclusiveDeviationAlarmType_Disable,10398,Method +NonExclusiveDeviationAlarmType_AddComment,10399,Method +NonExclusiveDeviationAlarmType_AddComment_InputArguments,10400,Variable +NonExclusiveDeviationAlarmType_ConditionRefresh,10401,Method +NonExclusiveDeviationAlarmType_ConditionRefresh_InputArguments,10402,Variable +NonExclusiveDeviationAlarmType_AckedState,10403,Variable +NonExclusiveDeviationAlarmType_AckedState_Id,10404,Variable +NonExclusiveDeviationAlarmType_AckedState_Name,10405,Variable +NonExclusiveDeviationAlarmType_AckedState_Number,10406,Variable +NonExclusiveDeviationAlarmType_AckedState_EffectiveDisplayName,10407,Variable +NonExclusiveDeviationAlarmType_AckedState_TransitionTime,10408,Variable +NonExclusiveDeviationAlarmType_AckedState_EffectiveTransitionTime,10409,Variable +NonExclusiveDeviationAlarmType_AckedState_TrueState,10410,Variable +NonExclusiveDeviationAlarmType_AckedState_FalseState,10411,Variable +NonExclusiveDeviationAlarmType_ConfirmedState,10412,Variable +NonExclusiveDeviationAlarmType_ConfirmedState_Id,10413,Variable +NonExclusiveDeviationAlarmType_ConfirmedState_Name,10414,Variable +NonExclusiveDeviationAlarmType_ConfirmedState_Number,10415,Variable +NonExclusiveDeviationAlarmType_ConfirmedState_EffectiveDisplayName,10416,Variable +NonExclusiveDeviationAlarmType_ConfirmedState_TransitionTime,10417,Variable +NonExclusiveDeviationAlarmType_ConfirmedState_EffectiveTransitionTime,10418,Variable +NonExclusiveDeviationAlarmType_ConfirmedState_TrueState,10419,Variable +NonExclusiveDeviationAlarmType_ConfirmedState_FalseState,10420,Variable +NonExclusiveDeviationAlarmType_Acknowledge,10421,Method +NonExclusiveDeviationAlarmType_Acknowledge_InputArguments,10422,Variable +NonExclusiveDeviationAlarmType_Confirm,10423,Method +NonExclusiveDeviationAlarmType_Confirm_InputArguments,10424,Variable +NonExclusiveDeviationAlarmType_ActiveState,10425,Variable +NonExclusiveDeviationAlarmType_ActiveState_Id,10426,Variable +NonExclusiveDeviationAlarmType_ActiveState_Name,10427,Variable +NonExclusiveDeviationAlarmType_ActiveState_Number,10428,Variable +NonExclusiveDeviationAlarmType_ActiveState_EffectiveDisplayName,10429,Variable +NonExclusiveDeviationAlarmType_ActiveState_TransitionTime,10430,Variable +NonExclusiveDeviationAlarmType_ActiveState_EffectiveTransitionTime,10431,Variable +NonExclusiveDeviationAlarmType_ActiveState_TrueState,10432,Variable +NonExclusiveDeviationAlarmType_ActiveState_FalseState,10433,Variable +NonExclusiveDeviationAlarmType_SuppressedState,10434,Variable +NonExclusiveDeviationAlarmType_SuppressedState_Id,10435,Variable +NonExclusiveDeviationAlarmType_SuppressedState_Name,10436,Variable +NonExclusiveDeviationAlarmType_SuppressedState_Number,10437,Variable +NonExclusiveDeviationAlarmType_SuppressedState_EffectiveDisplayName,10438,Variable +NonExclusiveDeviationAlarmType_SuppressedState_TransitionTime,10439,Variable +NonExclusiveDeviationAlarmType_SuppressedState_EffectiveTransitionTime,10440,Variable +NonExclusiveDeviationAlarmType_SuppressedState_TrueState,10441,Variable +NonExclusiveDeviationAlarmType_SuppressedState_FalseState,10442,Variable +NonExclusiveDeviationAlarmType_ShelvingState,10443,Object +NonExclusiveDeviationAlarmType_ShelvingState_CurrentState,10444,Variable +NonExclusiveDeviationAlarmType_ShelvingState_CurrentState_Id,10445,Variable +NonExclusiveDeviationAlarmType_ShelvingState_CurrentState_Name,10446,Variable +NonExclusiveDeviationAlarmType_ShelvingState_CurrentState_Number,10447,Variable +NonExclusiveDeviationAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,10448,Variable +NonExclusiveDeviationAlarmType_ShelvingState_LastTransition,10449,Variable +NonExclusiveDeviationAlarmType_ShelvingState_LastTransition_Id,10450,Variable +NonExclusiveDeviationAlarmType_ShelvingState_LastTransition_Name,10451,Variable +NonExclusiveDeviationAlarmType_ShelvingState_LastTransition_Number,10452,Variable +NonExclusiveDeviationAlarmType_ShelvingState_LastTransition_TransitionTime,10453,Variable +NonExclusiveDeviationAlarmType_ShelvingState_UnshelveTime,10454,Variable +NonExclusiveDeviationAlarmType_ShelvingState_Unshelve,10476,Method +NonExclusiveDeviationAlarmType_ShelvingState_OneShotShelve,10477,Method +NonExclusiveDeviationAlarmType_ShelvingState_TimedShelve,10478,Method +NonExclusiveDeviationAlarmType_ShelvingState_TimedShelve_InputArguments,10479,Variable +NonExclusiveDeviationAlarmType_SuppressedOrShelved,10480,Variable +NonExclusiveDeviationAlarmType_MaxTimeShelved,10481,Variable +NonExclusiveDeviationAlarmType_HighHighState,10482,Variable +NonExclusiveDeviationAlarmType_HighHighState_Id,10483,Variable +NonExclusiveDeviationAlarmType_HighHighState_Name,10484,Variable +NonExclusiveDeviationAlarmType_HighHighState_Number,10485,Variable +NonExclusiveDeviationAlarmType_HighHighState_EffectiveDisplayName,10486,Variable +NonExclusiveDeviationAlarmType_HighHighState_TransitionTime,10487,Variable +NonExclusiveDeviationAlarmType_HighHighState_EffectiveTransitionTime,10488,Variable +NonExclusiveDeviationAlarmType_HighHighState_TrueState,10489,Variable +NonExclusiveDeviationAlarmType_HighHighState_FalseState,10490,Variable +NonExclusiveDeviationAlarmType_HighState,10491,Variable +NonExclusiveDeviationAlarmType_HighState_Id,10492,Variable +NonExclusiveDeviationAlarmType_HighState_Name,10493,Variable +NonExclusiveDeviationAlarmType_HighState_Number,10494,Variable +NonExclusiveDeviationAlarmType_HighState_EffectiveDisplayName,10495,Variable +NonExclusiveDeviationAlarmType_HighState_TransitionTime,10496,Variable +NonExclusiveDeviationAlarmType_HighState_EffectiveTransitionTime,10497,Variable +NonExclusiveDeviationAlarmType_HighState_TrueState,10498,Variable +NonExclusiveDeviationAlarmType_HighState_FalseState,10499,Variable +NonExclusiveDeviationAlarmType_LowState,10500,Variable +NonExclusiveDeviationAlarmType_LowState_Id,10501,Variable +NonExclusiveDeviationAlarmType_LowState_Name,10502,Variable +NonExclusiveDeviationAlarmType_LowState_Number,10503,Variable +NonExclusiveDeviationAlarmType_LowState_EffectiveDisplayName,10504,Variable +NonExclusiveDeviationAlarmType_LowState_TransitionTime,10505,Variable +NonExclusiveDeviationAlarmType_LowState_EffectiveTransitionTime,10506,Variable +NonExclusiveDeviationAlarmType_LowState_TrueState,10507,Variable +NonExclusiveDeviationAlarmType_LowState_FalseState,10508,Variable +NonExclusiveDeviationAlarmType_LowLowState,10509,Variable +NonExclusiveDeviationAlarmType_LowLowState_Id,10510,Variable +NonExclusiveDeviationAlarmType_LowLowState_Name,10511,Variable +NonExclusiveDeviationAlarmType_LowLowState_Number,10512,Variable +NonExclusiveDeviationAlarmType_LowLowState_EffectiveDisplayName,10513,Variable +NonExclusiveDeviationAlarmType_LowLowState_TransitionTime,10514,Variable +NonExclusiveDeviationAlarmType_LowLowState_EffectiveTransitionTime,10515,Variable +NonExclusiveDeviationAlarmType_LowLowState_TrueState,10516,Variable +NonExclusiveDeviationAlarmType_LowLowState_FalseState,10517,Variable +NonExclusiveDeviationAlarmType_HighHighLimit,10518,Variable +NonExclusiveDeviationAlarmType_HighLimit,10519,Variable +NonExclusiveDeviationAlarmType_LowLimit,10520,Variable +NonExclusiveDeviationAlarmType_LowLowLimit,10521,Variable +NonExclusiveDeviationAlarmType_SetpointNode,10522,Variable +DiscreteAlarmType,10523,ObjectType +DiscreteAlarmType_EventId,10524,Variable +DiscreteAlarmType_EventType,10525,Variable +DiscreteAlarmType_SourceNode,10526,Variable +DiscreteAlarmType_SourceName,10527,Variable +DiscreteAlarmType_Time,10528,Variable +DiscreteAlarmType_ReceiveTime,10529,Variable +DiscreteAlarmType_LocalTime,10530,Variable +DiscreteAlarmType_Message,10531,Variable +DiscreteAlarmType_Severity,10532,Variable +DiscreteAlarmType_ConditionName,10533,Variable +DiscreteAlarmType_BranchId,10534,Variable +DiscreteAlarmType_Retain,10535,Variable +DiscreteAlarmType_EnabledState,10536,Variable +DiscreteAlarmType_EnabledState_Id,10537,Variable +DiscreteAlarmType_EnabledState_Name,10538,Variable +DiscreteAlarmType_EnabledState_Number,10539,Variable +DiscreteAlarmType_EnabledState_EffectiveDisplayName,10540,Variable +DiscreteAlarmType_EnabledState_TransitionTime,10541,Variable +DiscreteAlarmType_EnabledState_EffectiveTransitionTime,10542,Variable +DiscreteAlarmType_EnabledState_TrueState,10543,Variable +DiscreteAlarmType_EnabledState_FalseState,10544,Variable +DiscreteAlarmType_Quality,10545,Variable +DiscreteAlarmType_Quality_SourceTimestamp,10546,Variable +DiscreteAlarmType_LastSeverity,10547,Variable +DiscreteAlarmType_LastSeverity_SourceTimestamp,10548,Variable +DiscreteAlarmType_Comment,10549,Variable +DiscreteAlarmType_Comment_SourceTimestamp,10550,Variable +DiscreteAlarmType_ClientUserId,10551,Variable +DiscreteAlarmType_Enable,10552,Method +DiscreteAlarmType_Disable,10553,Method +DiscreteAlarmType_AddComment,10554,Method +DiscreteAlarmType_AddComment_InputArguments,10555,Variable +DiscreteAlarmType_ConditionRefresh,10556,Method +DiscreteAlarmType_ConditionRefresh_InputArguments,10557,Variable +DiscreteAlarmType_AckedState,10558,Variable +DiscreteAlarmType_AckedState_Id,10559,Variable +DiscreteAlarmType_AckedState_Name,10560,Variable +DiscreteAlarmType_AckedState_Number,10561,Variable +DiscreteAlarmType_AckedState_EffectiveDisplayName,10562,Variable +DiscreteAlarmType_AckedState_TransitionTime,10563,Variable +DiscreteAlarmType_AckedState_EffectiveTransitionTime,10564,Variable +DiscreteAlarmType_AckedState_TrueState,10565,Variable +DiscreteAlarmType_AckedState_FalseState,10566,Variable +DiscreteAlarmType_ConfirmedState,10567,Variable +DiscreteAlarmType_ConfirmedState_Id,10568,Variable +DiscreteAlarmType_ConfirmedState_Name,10569,Variable +DiscreteAlarmType_ConfirmedState_Number,10570,Variable +DiscreteAlarmType_ConfirmedState_EffectiveDisplayName,10571,Variable +DiscreteAlarmType_ConfirmedState_TransitionTime,10572,Variable +DiscreteAlarmType_ConfirmedState_EffectiveTransitionTime,10573,Variable +DiscreteAlarmType_ConfirmedState_TrueState,10574,Variable +DiscreteAlarmType_ConfirmedState_FalseState,10575,Variable +DiscreteAlarmType_Acknowledge,10576,Method +DiscreteAlarmType_Acknowledge_InputArguments,10577,Variable +DiscreteAlarmType_Confirm,10578,Method +DiscreteAlarmType_Confirm_InputArguments,10579,Variable +DiscreteAlarmType_ActiveState,10580,Variable +DiscreteAlarmType_ActiveState_Id,10581,Variable +DiscreteAlarmType_ActiveState_Name,10582,Variable +DiscreteAlarmType_ActiveState_Number,10583,Variable +DiscreteAlarmType_ActiveState_EffectiveDisplayName,10584,Variable +DiscreteAlarmType_ActiveState_TransitionTime,10585,Variable +DiscreteAlarmType_ActiveState_EffectiveTransitionTime,10586,Variable +DiscreteAlarmType_ActiveState_TrueState,10587,Variable +DiscreteAlarmType_ActiveState_FalseState,10588,Variable +DiscreteAlarmType_SuppressedState,10589,Variable +DiscreteAlarmType_SuppressedState_Id,10590,Variable +DiscreteAlarmType_SuppressedState_Name,10591,Variable +DiscreteAlarmType_SuppressedState_Number,10592,Variable +DiscreteAlarmType_SuppressedState_EffectiveDisplayName,10593,Variable +DiscreteAlarmType_SuppressedState_TransitionTime,10594,Variable +DiscreteAlarmType_SuppressedState_EffectiveTransitionTime,10595,Variable +DiscreteAlarmType_SuppressedState_TrueState,10596,Variable +DiscreteAlarmType_SuppressedState_FalseState,10597,Variable +DiscreteAlarmType_ShelvingState,10598,Object +DiscreteAlarmType_ShelvingState_CurrentState,10599,Variable +DiscreteAlarmType_ShelvingState_CurrentState_Id,10600,Variable +DiscreteAlarmType_ShelvingState_CurrentState_Name,10601,Variable +DiscreteAlarmType_ShelvingState_CurrentState_Number,10602,Variable +DiscreteAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,10603,Variable +DiscreteAlarmType_ShelvingState_LastTransition,10604,Variable +DiscreteAlarmType_ShelvingState_LastTransition_Id,10605,Variable +DiscreteAlarmType_ShelvingState_LastTransition_Name,10606,Variable +DiscreteAlarmType_ShelvingState_LastTransition_Number,10607,Variable +DiscreteAlarmType_ShelvingState_LastTransition_TransitionTime,10608,Variable +DiscreteAlarmType_ShelvingState_UnshelveTime,10609,Variable +DiscreteAlarmType_ShelvingState_Unshelve,10631,Method +DiscreteAlarmType_ShelvingState_OneShotShelve,10632,Method +DiscreteAlarmType_ShelvingState_TimedShelve,10633,Method +DiscreteAlarmType_ShelvingState_TimedShelve_InputArguments,10634,Variable +DiscreteAlarmType_SuppressedOrShelved,10635,Variable +DiscreteAlarmType_MaxTimeShelved,10636,Variable +OffNormalAlarmType,10637,ObjectType +OffNormalAlarmType_EventId,10638,Variable +OffNormalAlarmType_EventType,10639,Variable +OffNormalAlarmType_SourceNode,10640,Variable +OffNormalAlarmType_SourceName,10641,Variable +OffNormalAlarmType_Time,10642,Variable +OffNormalAlarmType_ReceiveTime,10643,Variable +OffNormalAlarmType_LocalTime,10644,Variable +OffNormalAlarmType_Message,10645,Variable +OffNormalAlarmType_Severity,10646,Variable +OffNormalAlarmType_ConditionName,10647,Variable +OffNormalAlarmType_BranchId,10648,Variable +OffNormalAlarmType_Retain,10649,Variable +OffNormalAlarmType_EnabledState,10650,Variable +OffNormalAlarmType_EnabledState_Id,10651,Variable +OffNormalAlarmType_EnabledState_Name,10652,Variable +OffNormalAlarmType_EnabledState_Number,10653,Variable +OffNormalAlarmType_EnabledState_EffectiveDisplayName,10654,Variable +OffNormalAlarmType_EnabledState_TransitionTime,10655,Variable +OffNormalAlarmType_EnabledState_EffectiveTransitionTime,10656,Variable +OffNormalAlarmType_EnabledState_TrueState,10657,Variable +OffNormalAlarmType_EnabledState_FalseState,10658,Variable +OffNormalAlarmType_Quality,10659,Variable +OffNormalAlarmType_Quality_SourceTimestamp,10660,Variable +OffNormalAlarmType_LastSeverity,10661,Variable +OffNormalAlarmType_LastSeverity_SourceTimestamp,10662,Variable +OffNormalAlarmType_Comment,10663,Variable +OffNormalAlarmType_Comment_SourceTimestamp,10664,Variable +OffNormalAlarmType_ClientUserId,10665,Variable +OffNormalAlarmType_Enable,10666,Method +OffNormalAlarmType_Disable,10667,Method +OffNormalAlarmType_AddComment,10668,Method +OffNormalAlarmType_AddComment_InputArguments,10669,Variable +OffNormalAlarmType_ConditionRefresh,10670,Method +OffNormalAlarmType_ConditionRefresh_InputArguments,10671,Variable +OffNormalAlarmType_AckedState,10672,Variable +OffNormalAlarmType_AckedState_Id,10673,Variable +OffNormalAlarmType_AckedState_Name,10674,Variable +OffNormalAlarmType_AckedState_Number,10675,Variable +OffNormalAlarmType_AckedState_EffectiveDisplayName,10676,Variable +OffNormalAlarmType_AckedState_TransitionTime,10677,Variable +OffNormalAlarmType_AckedState_EffectiveTransitionTime,10678,Variable +OffNormalAlarmType_AckedState_TrueState,10679,Variable +OffNormalAlarmType_AckedState_FalseState,10680,Variable +OffNormalAlarmType_ConfirmedState,10681,Variable +OffNormalAlarmType_ConfirmedState_Id,10682,Variable +OffNormalAlarmType_ConfirmedState_Name,10683,Variable +OffNormalAlarmType_ConfirmedState_Number,10684,Variable +OffNormalAlarmType_ConfirmedState_EffectiveDisplayName,10685,Variable +OffNormalAlarmType_ConfirmedState_TransitionTime,10686,Variable +OffNormalAlarmType_ConfirmedState_EffectiveTransitionTime,10687,Variable +OffNormalAlarmType_ConfirmedState_TrueState,10688,Variable +OffNormalAlarmType_ConfirmedState_FalseState,10689,Variable +OffNormalAlarmType_Acknowledge,10690,Method +OffNormalAlarmType_Acknowledge_InputArguments,10691,Variable +OffNormalAlarmType_Confirm,10692,Method +OffNormalAlarmType_Confirm_InputArguments,10693,Variable +OffNormalAlarmType_ActiveState,10694,Variable +OffNormalAlarmType_ActiveState_Id,10695,Variable +OffNormalAlarmType_ActiveState_Name,10696,Variable +OffNormalAlarmType_ActiveState_Number,10697,Variable +OffNormalAlarmType_ActiveState_EffectiveDisplayName,10698,Variable +OffNormalAlarmType_ActiveState_TransitionTime,10699,Variable +OffNormalAlarmType_ActiveState_EffectiveTransitionTime,10700,Variable +OffNormalAlarmType_ActiveState_TrueState,10701,Variable +OffNormalAlarmType_ActiveState_FalseState,10702,Variable +OffNormalAlarmType_SuppressedState,10703,Variable +OffNormalAlarmType_SuppressedState_Id,10704,Variable +OffNormalAlarmType_SuppressedState_Name,10705,Variable +OffNormalAlarmType_SuppressedState_Number,10706,Variable +OffNormalAlarmType_SuppressedState_EffectiveDisplayName,10707,Variable +OffNormalAlarmType_SuppressedState_TransitionTime,10708,Variable +OffNormalAlarmType_SuppressedState_EffectiveTransitionTime,10709,Variable +OffNormalAlarmType_SuppressedState_TrueState,10710,Variable +OffNormalAlarmType_SuppressedState_FalseState,10711,Variable +OffNormalAlarmType_ShelvingState,10712,Object +OffNormalAlarmType_ShelvingState_CurrentState,10713,Variable +OffNormalAlarmType_ShelvingState_CurrentState_Id,10714,Variable +OffNormalAlarmType_ShelvingState_CurrentState_Name,10715,Variable +OffNormalAlarmType_ShelvingState_CurrentState_Number,10716,Variable +OffNormalAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,10717,Variable +OffNormalAlarmType_ShelvingState_LastTransition,10718,Variable +OffNormalAlarmType_ShelvingState_LastTransition_Id,10719,Variable +OffNormalAlarmType_ShelvingState_LastTransition_Name,10720,Variable +OffNormalAlarmType_ShelvingState_LastTransition_Number,10721,Variable +OffNormalAlarmType_ShelvingState_LastTransition_TransitionTime,10722,Variable +OffNormalAlarmType_ShelvingState_UnshelveTime,10723,Variable +OffNormalAlarmType_ShelvingState_Unshelve,10745,Method +OffNormalAlarmType_ShelvingState_OneShotShelve,10746,Method +OffNormalAlarmType_ShelvingState_TimedShelve,10747,Method +OffNormalAlarmType_ShelvingState_TimedShelve_InputArguments,10748,Variable +OffNormalAlarmType_SuppressedOrShelved,10749,Variable +OffNormalAlarmType_MaxTimeShelved,10750,Variable +TripAlarmType,10751,ObjectType +TripAlarmType_EventId,10752,Variable +TripAlarmType_EventType,10753,Variable +TripAlarmType_SourceNode,10754,Variable +TripAlarmType_SourceName,10755,Variable +TripAlarmType_Time,10756,Variable +TripAlarmType_ReceiveTime,10757,Variable +TripAlarmType_LocalTime,10758,Variable +TripAlarmType_Message,10759,Variable +TripAlarmType_Severity,10760,Variable +TripAlarmType_ConditionName,10761,Variable +TripAlarmType_BranchId,10762,Variable +TripAlarmType_Retain,10763,Variable +TripAlarmType_EnabledState,10764,Variable +TripAlarmType_EnabledState_Id,10765,Variable +TripAlarmType_EnabledState_Name,10766,Variable +TripAlarmType_EnabledState_Number,10767,Variable +TripAlarmType_EnabledState_EffectiveDisplayName,10768,Variable +TripAlarmType_EnabledState_TransitionTime,10769,Variable +TripAlarmType_EnabledState_EffectiveTransitionTime,10770,Variable +TripAlarmType_EnabledState_TrueState,10771,Variable +TripAlarmType_EnabledState_FalseState,10772,Variable +TripAlarmType_Quality,10773,Variable +TripAlarmType_Quality_SourceTimestamp,10774,Variable +TripAlarmType_LastSeverity,10775,Variable +TripAlarmType_LastSeverity_SourceTimestamp,10776,Variable +TripAlarmType_Comment,10777,Variable +TripAlarmType_Comment_SourceTimestamp,10778,Variable +TripAlarmType_ClientUserId,10779,Variable +TripAlarmType_Enable,10780,Method +TripAlarmType_Disable,10781,Method +TripAlarmType_AddComment,10782,Method +TripAlarmType_AddComment_InputArguments,10783,Variable +TripAlarmType_ConditionRefresh,10784,Method +TripAlarmType_ConditionRefresh_InputArguments,10785,Variable +TripAlarmType_AckedState,10786,Variable +TripAlarmType_AckedState_Id,10787,Variable +TripAlarmType_AckedState_Name,10788,Variable +TripAlarmType_AckedState_Number,10789,Variable +TripAlarmType_AckedState_EffectiveDisplayName,10790,Variable +TripAlarmType_AckedState_TransitionTime,10791,Variable +TripAlarmType_AckedState_EffectiveTransitionTime,10792,Variable +TripAlarmType_AckedState_TrueState,10793,Variable +TripAlarmType_AckedState_FalseState,10794,Variable +TripAlarmType_ConfirmedState,10795,Variable +TripAlarmType_ConfirmedState_Id,10796,Variable +TripAlarmType_ConfirmedState_Name,10797,Variable +TripAlarmType_ConfirmedState_Number,10798,Variable +TripAlarmType_ConfirmedState_EffectiveDisplayName,10799,Variable +TripAlarmType_ConfirmedState_TransitionTime,10800,Variable +TripAlarmType_ConfirmedState_EffectiveTransitionTime,10801,Variable +TripAlarmType_ConfirmedState_TrueState,10802,Variable +TripAlarmType_ConfirmedState_FalseState,10803,Variable +TripAlarmType_Acknowledge,10804,Method +TripAlarmType_Acknowledge_InputArguments,10805,Variable +TripAlarmType_Confirm,10806,Method +TripAlarmType_Confirm_InputArguments,10807,Variable +TripAlarmType_ActiveState,10808,Variable +TripAlarmType_ActiveState_Id,10809,Variable +TripAlarmType_ActiveState_Name,10810,Variable +TripAlarmType_ActiveState_Number,10811,Variable +TripAlarmType_ActiveState_EffectiveDisplayName,10812,Variable +TripAlarmType_ActiveState_TransitionTime,10813,Variable +TripAlarmType_ActiveState_EffectiveTransitionTime,10814,Variable +TripAlarmType_ActiveState_TrueState,10815,Variable +TripAlarmType_ActiveState_FalseState,10816,Variable +TripAlarmType_SuppressedState,10817,Variable +TripAlarmType_SuppressedState_Id,10818,Variable +TripAlarmType_SuppressedState_Name,10819,Variable +TripAlarmType_SuppressedState_Number,10820,Variable +TripAlarmType_SuppressedState_EffectiveDisplayName,10821,Variable +TripAlarmType_SuppressedState_TransitionTime,10822,Variable +TripAlarmType_SuppressedState_EffectiveTransitionTime,10823,Variable +TripAlarmType_SuppressedState_TrueState,10824,Variable +TripAlarmType_SuppressedState_FalseState,10825,Variable +TripAlarmType_ShelvingState,10826,Object +TripAlarmType_ShelvingState_CurrentState,10827,Variable +TripAlarmType_ShelvingState_CurrentState_Id,10828,Variable +TripAlarmType_ShelvingState_CurrentState_Name,10829,Variable +TripAlarmType_ShelvingState_CurrentState_Number,10830,Variable +TripAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,10831,Variable +TripAlarmType_ShelvingState_LastTransition,10832,Variable +TripAlarmType_ShelvingState_LastTransition_Id,10833,Variable +TripAlarmType_ShelvingState_LastTransition_Name,10834,Variable +TripAlarmType_ShelvingState_LastTransition_Number,10835,Variable +TripAlarmType_ShelvingState_LastTransition_TransitionTime,10836,Variable +TripAlarmType_ShelvingState_UnshelveTime,10837,Variable +TripAlarmType_ShelvingState_Unshelve,10859,Method +TripAlarmType_ShelvingState_OneShotShelve,10860,Method +TripAlarmType_ShelvingState_TimedShelve,10861,Method +TripAlarmType_ShelvingState_TimedShelve_InputArguments,10862,Variable +TripAlarmType_SuppressedOrShelved,10863,Variable +TripAlarmType_MaxTimeShelved,10864,Variable +AuditConditionShelvingEventType,11093,ObjectType +AuditConditionShelvingEventType_EventId,11094,Variable +AuditConditionShelvingEventType_EventType,11095,Variable +AuditConditionShelvingEventType_SourceNode,11096,Variable +AuditConditionShelvingEventType_SourceName,11097,Variable +AuditConditionShelvingEventType_Time,11098,Variable +AuditConditionShelvingEventType_ReceiveTime,11099,Variable +AuditConditionShelvingEventType_LocalTime,11100,Variable +AuditConditionShelvingEventType_Message,11101,Variable +AuditConditionShelvingEventType_Severity,11102,Variable +AuditConditionShelvingEventType_ActionTimeStamp,11103,Variable +AuditConditionShelvingEventType_Status,11104,Variable +AuditConditionShelvingEventType_ServerId,11105,Variable +AuditConditionShelvingEventType_ClientAuditEntryId,11106,Variable +AuditConditionShelvingEventType_ClientUserId,11107,Variable +AuditConditionShelvingEventType_MethodId,11108,Variable +AuditConditionShelvingEventType_InputArguments,11109,Variable +TwoStateVariableType_TrueState,11110,Variable +TwoStateVariableType_FalseState,11111,Variable +ConditionType_ConditionClassId,11112,Variable +ConditionType_ConditionClassName,11113,Variable +DialogConditionType_ConditionClassId,11114,Variable +DialogConditionType_ConditionClassName,11115,Variable +AcknowledgeableConditionType_ConditionClassId,11116,Variable +AcknowledgeableConditionType_ConditionClassName,11117,Variable +AlarmConditionType_ConditionClassId,11118,Variable +AlarmConditionType_ConditionClassName,11119,Variable +AlarmConditionType_InputNode,11120,Variable +LimitAlarmType_ConditionClassId,11121,Variable +LimitAlarmType_ConditionClassName,11122,Variable +LimitAlarmType_InputNode,11123,Variable +LimitAlarmType_HighHighLimit,11124,Variable +LimitAlarmType_HighLimit,11125,Variable +LimitAlarmType_LowLimit,11126,Variable +LimitAlarmType_LowLowLimit,11127,Variable +ExclusiveLimitAlarmType_ConditionClassId,11128,Variable +ExclusiveLimitAlarmType_ConditionClassName,11129,Variable +ExclusiveLimitAlarmType_InputNode,11130,Variable +ExclusiveLevelAlarmType_ConditionClassId,11131,Variable +ExclusiveLevelAlarmType_ConditionClassName,11132,Variable +ExclusiveLevelAlarmType_InputNode,11133,Variable +ExclusiveRateOfChangeAlarmType_ConditionClassId,11134,Variable +ExclusiveRateOfChangeAlarmType_ConditionClassName,11135,Variable +ExclusiveRateOfChangeAlarmType_InputNode,11136,Variable +ExclusiveDeviationAlarmType_ConditionClassId,11137,Variable +ExclusiveDeviationAlarmType_ConditionClassName,11138,Variable +ExclusiveDeviationAlarmType_InputNode,11139,Variable +NonExclusiveLimitAlarmType_ConditionClassId,11140,Variable +NonExclusiveLimitAlarmType_ConditionClassName,11141,Variable +NonExclusiveLimitAlarmType_InputNode,11142,Variable +NonExclusiveLevelAlarmType_ConditionClassId,11143,Variable +NonExclusiveLevelAlarmType_ConditionClassName,11144,Variable +NonExclusiveLevelAlarmType_InputNode,11145,Variable +NonExclusiveRateOfChangeAlarmType_ConditionClassId,11146,Variable +NonExclusiveRateOfChangeAlarmType_ConditionClassName,11147,Variable +NonExclusiveRateOfChangeAlarmType_InputNode,11148,Variable +NonExclusiveDeviationAlarmType_ConditionClassId,11149,Variable +NonExclusiveDeviationAlarmType_ConditionClassName,11150,Variable +NonExclusiveDeviationAlarmType_InputNode,11151,Variable +DiscreteAlarmType_ConditionClassId,11152,Variable +DiscreteAlarmType_ConditionClassName,11153,Variable +DiscreteAlarmType_InputNode,11154,Variable +OffNormalAlarmType_ConditionClassId,11155,Variable +OffNormalAlarmType_ConditionClassName,11156,Variable +OffNormalAlarmType_InputNode,11157,Variable +OffNormalAlarmType_NormalState,11158,Variable +TripAlarmType_ConditionClassId,11159,Variable +TripAlarmType_ConditionClassName,11160,Variable +TripAlarmType_InputNode,11161,Variable +TripAlarmType_NormalState,11162,Variable +BaseConditionClassType,11163,ObjectType +ProcessConditionClassType,11164,ObjectType +MaintenanceConditionClassType,11165,ObjectType +SystemConditionClassType,11166,ObjectType +HistoricalDataConfigurationType_AggregateConfiguration_TreatUncertainAsBad,11168,Variable +HistoricalDataConfigurationType_AggregateConfiguration_PercentDataBad,11169,Variable +HistoricalDataConfigurationType_AggregateConfiguration_PercentDataGood,11170,Variable +HistoricalDataConfigurationType_AggregateConfiguration_UseSlopedExtrapolation,11171,Variable +HistoryServerCapabilitiesType_AggregateFunctions,11172,Object +AggregateConfigurationType,11187,ObjectType +AggregateConfigurationType_TreatUncertainAsBad,11188,Variable +AggregateConfigurationType_PercentDataBad,11189,Variable +AggregateConfigurationType_PercentDataGood,11190,Variable +AggregateConfigurationType_UseSlopedExtrapolation,11191,Variable +HistoryServerCapabilities,11192,Object +HistoryServerCapabilities_AccessHistoryDataCapability,11193,Variable +HistoryServerCapabilities_InsertDataCapability,11196,Variable +HistoryServerCapabilities_ReplaceDataCapability,11197,Variable +HistoryServerCapabilities_UpdateDataCapability,11198,Variable +HistoryServerCapabilities_DeleteRawCapability,11199,Variable +HistoryServerCapabilities_DeleteAtTimeCapability,11200,Variable +HistoryServerCapabilities_AggregateFunctions,11201,Object +HAConfiguration,11202,Object +HAConfiguration_AggregateConfiguration,11203,Object +HAConfiguration_AggregateConfiguration_TreatUncertainAsBad,11204,Variable +HAConfiguration_AggregateConfiguration_PercentDataBad,11205,Variable +HAConfiguration_AggregateConfiguration_PercentDataGood,11206,Variable +HAConfiguration_AggregateConfiguration_UseSlopedExtrapolation,11207,Variable +HAConfiguration_Stepped,11208,Variable +HAConfiguration_Definition,11209,Variable +HAConfiguration_MaxTimeInterval,11210,Variable +HAConfiguration_MinTimeInterval,11211,Variable +HAConfiguration_ExceptionDeviation,11212,Variable +HAConfiguration_ExceptionDeviationFormat,11213,Variable +Annotations,11214,Variable +HistoricalEventFilter,11215,Variable +ModificationInfo,11216,DataType +HistoryModifiedData,11217,DataType +ModificationInfo_Encoding_DefaultXml,11218,Object +HistoryModifiedData_Encoding_DefaultXml,11219,Object +ModificationInfo_Encoding_DefaultBinary,11226,Object +HistoryModifiedData_Encoding_DefaultBinary,11227,Object +HistoryUpdateType,11234,DataType +MultiStateValueDiscreteType,11238,VariableType +MultiStateValueDiscreteType_Definition,11239,Variable +MultiStateValueDiscreteType_ValuePrecision,11240,Variable +MultiStateValueDiscreteType_EnumValues,11241,Variable +HistoryServerCapabilities_AccessHistoryEventsCapability,11242,Variable +HistoryServerCapabilitiesType_MaxReturnDataValues,11268,Variable +HistoryServerCapabilitiesType_MaxReturnEventValues,11269,Variable +HistoryServerCapabilitiesType_InsertAnnotationCapability,11270,Variable +HistoryServerCapabilities_MaxReturnDataValues,11273,Variable +HistoryServerCapabilities_MaxReturnEventValues,11274,Variable +HistoryServerCapabilities_InsertAnnotationCapability,11275,Variable +HistoryServerCapabilitiesType_InsertEventCapability,11278,Variable +HistoryServerCapabilitiesType_ReplaceEventCapability,11279,Variable +HistoryServerCapabilitiesType_UpdateEventCapability,11280,Variable +HistoryServerCapabilities_InsertEventCapability,11281,Variable +HistoryServerCapabilities_ReplaceEventCapability,11282,Variable +HistoryServerCapabilities_UpdateEventCapability,11283,Variable +AggregateFunction_TimeAverage2,11285,Object +AggregateFunction_Minimum2,11286,Object +AggregateFunction_Maximum2,11287,Object +AggregateFunction_Range2,11288,Object +AggregateFunction_WorstQuality2,11292,Object +PerformUpdateType,11293,DataType +UpdateStructureDataDetails,11295,DataType +UpdateStructureDataDetails_Encoding_DefaultXml,11296,Object +UpdateStructureDataDetails_Encoding_DefaultBinary,11300,Object +AggregateFunction_Total2,11304,Object +AggregateFunction_MinimumActualTime2,11305,Object +AggregateFunction_MaximumActualTime2,11306,Object +AggregateFunction_DurationInStateZero,11307,Object +AggregateFunction_DurationInStateNonZero,11308,Object +Server_ServerRedundancy_CurrentServerId,11312,Variable +Server_ServerRedundancy_RedundantServerArray,11313,Variable +Server_ServerRedundancy_ServerUriArray,11314,Variable +ShelvedStateMachineType_UnshelvedToTimedShelved_TransitionNumber,11322,Variable +ShelvedStateMachineType_UnshelvedToOneShotShelved_TransitionNumber,11323,Variable +ShelvedStateMachineType_TimedShelvedToUnshelved_TransitionNumber,11324,Variable +ShelvedStateMachineType_TimedShelvedToOneShotShelved_TransitionNumber,11325,Variable +ShelvedStateMachineType_OneShotShelvedToUnshelved_TransitionNumber,11326,Variable +ShelvedStateMachineType_OneShotShelvedToTimedShelved_TransitionNumber,11327,Variable +ExclusiveLimitStateMachineType_LowLowToLow_TransitionNumber,11340,Variable +ExclusiveLimitStateMachineType_LowToLowLow_TransitionNumber,11341,Variable +ExclusiveLimitStateMachineType_HighHighToHigh_TransitionNumber,11342,Variable +ExclusiveLimitStateMachineType_HighToHighHigh_TransitionNumber,11343,Variable +AggregateFunction_StandardDeviationSample,11426,Object +AggregateFunction_StandardDeviationPopulation,11427,Object +AggregateFunction_VarianceSample,11428,Object +AggregateFunction_VariancePopulation,11429,Object +EnumStrings,11432,Variable +ValueAsText,11433,Variable +ProgressEventType,11436,ObjectType +ProgressEventType_EventId,11437,Variable +ProgressEventType_EventType,11438,Variable +ProgressEventType_SourceNode,11439,Variable +ProgressEventType_SourceName,11440,Variable +ProgressEventType_Time,11441,Variable +ProgressEventType_ReceiveTime,11442,Variable +ProgressEventType_LocalTime,11443,Variable +ProgressEventType_Message,11444,Variable +ProgressEventType_Severity,11445,Variable +SystemStatusChangeEventType,11446,ObjectType +SystemStatusChangeEventType_EventId,11447,Variable +SystemStatusChangeEventType_EventType,11448,Variable +SystemStatusChangeEventType_SourceNode,11449,Variable +SystemStatusChangeEventType_SourceName,11450,Variable +SystemStatusChangeEventType_Time,11451,Variable +SystemStatusChangeEventType_ReceiveTime,11452,Variable +SystemStatusChangeEventType_LocalTime,11453,Variable +SystemStatusChangeEventType_Message,11454,Variable +SystemStatusChangeEventType_Severity,11455,Variable +TransitionVariableType_EffectiveTransitionTime,11456,Variable +FiniteTransitionVariableType_EffectiveTransitionTime,11457,Variable +StateMachineType_LastTransition_EffectiveTransitionTime,11458,Variable +FiniteStateMachineType_LastTransition_EffectiveTransitionTime,11459,Variable +TransitionEventType_Transition_EffectiveTransitionTime,11460,Variable +MultiStateValueDiscreteType_ValueAsText,11461,Variable +ProgramTransitionEventType_Transition_EffectiveTransitionTime,11462,Variable +ProgramTransitionAuditEventType_Transition_EffectiveTransitionTime,11463,Variable +ProgramStateMachineType_LastTransition_EffectiveTransitionTime,11464,Variable +ShelvedStateMachineType_LastTransition_EffectiveTransitionTime,11465,Variable +AlarmConditionType_ShelvingState_LastTransition_EffectiveTransitionTime,11466,Variable +LimitAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11467,Variable +ExclusiveLimitStateMachineType_LastTransition_EffectiveTransitionTime,11468,Variable +ExclusiveLimitAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11469,Variable +ExclusiveLimitAlarmType_LimitState_LastTransition_EffectiveTransitionTime,11470,Variable +ExclusiveLevelAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11471,Variable +ExclusiveLevelAlarmType_LimitState_LastTransition_EffectiveTransitionTime,11472,Variable +ExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11473,Variable +ExclusiveRateOfChangeAlarmType_LimitState_LastTransition_EffectiveTransitionTime,11474,Variable +ExclusiveDeviationAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11475,Variable +ExclusiveDeviationAlarmType_LimitState_LastTransition_EffectiveTransitionTime,11476,Variable +NonExclusiveLimitAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11477,Variable +NonExclusiveLevelAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11478,Variable +NonExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11479,Variable +NonExclusiveDeviationAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11480,Variable +DiscreteAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11481,Variable +OffNormalAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11482,Variable +TripAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11483,Variable +AuditActivateSessionEventType_SecureChannelId,11485,Variable +OptionSetType,11487,VariableType +OptionSetType_OptionSetValues,11488,Variable +ServerType_GetMonitoredItems,11489,Method +ServerType_GetMonitoredItems_InputArguments,11490,Variable +ServerType_GetMonitoredItems_OutputArguments,11491,Variable +Server_GetMonitoredItems,11492,Method +Server_GetMonitoredItems_InputArguments,11493,Variable +Server_GetMonitoredItems_OutputArguments,11494,Variable +GetMonitoredItemsMethodType,11495,Method +GetMonitoredItemsMethodType_InputArguments,11496,Variable +GetMonitoredItemsMethodType_OutputArguments,11497,Variable +MaxStringLength,11498,Variable +HistoricalDataConfigurationType_StartOfArchive,11499,Variable +HistoricalDataConfigurationType_StartOfOnlineArchive,11500,Variable +HistoryServerCapabilitiesType_DeleteEventCapability,11501,Variable +HistoryServerCapabilities_DeleteEventCapability,11502,Variable +HAConfiguration_StartOfArchive,11503,Variable +HAConfiguration_StartOfOnlineArchive,11504,Variable +AggregateFunction_StartBound,11505,Object +AggregateFunction_EndBound,11506,Object +AggregateFunction_DeltaBounds,11507,Object +ModellingRule_OptionalPlaceholder,11508,Object +ModellingRule_OptionalPlaceholder_NamingRule,11509,Variable +ModellingRule_MandatoryPlaceholder,11510,Object +ModellingRule_MandatoryPlaceholder_NamingRule,11511,Variable +MaxArrayLength,11512,Variable +EngineeringUnits,11513,Variable +ServerType_ServerCapabilities_MaxArrayLength,11514,Variable +ServerType_ServerCapabilities_MaxStringLength,11515,Variable +ServerType_ServerCapabilities_OperationLimits,11516,Object +ServerType_ServerCapabilities_OperationLimits_MaxNodesPerRead,11517,Variable +ServerType_ServerCapabilities_OperationLimits_MaxNodesPerWrite,11519,Variable +ServerType_ServerCapabilities_OperationLimits_MaxNodesPerMethodCall,11521,Variable +ServerType_ServerCapabilities_OperationLimits_MaxNodesPerBrowse,11522,Variable +ServerType_ServerCapabilities_OperationLimits_MaxNodesPerRegisterNodes,11523,Variable +ServerType_ServerCapabilities_OperationLimits_MaxNodesPerTranslateBrowsePathsToNodeIds,11524,Variable +ServerType_ServerCapabilities_OperationLimits_MaxNodesPerNodeManagement,11525,Variable +ServerType_ServerCapabilities_OperationLimits_MaxMonitoredItemsPerCall,11526,Variable +ServerType_Namespaces,11527,Object +ServerType_Namespaces_AddressSpaceFile,11528,Object +ServerType_Namespaces_AddressSpaceFile_Size,11529,Variable +ServerType_Namespaces_AddressSpaceFile_OpenCount,11532,Variable +ServerType_Namespaces_AddressSpaceFile_Open,11533,Method +ServerType_Namespaces_AddressSpaceFile_Open_InputArguments,11534,Variable +ServerType_Namespaces_AddressSpaceFile_Open_OutputArguments,11535,Variable +ServerType_Namespaces_AddressSpaceFile_Close,11536,Method +ServerType_Namespaces_AddressSpaceFile_Close_InputArguments,11537,Variable +ServerType_Namespaces_AddressSpaceFile_Read,11538,Method +ServerType_Namespaces_AddressSpaceFile_Read_InputArguments,11539,Variable +ServerType_Namespaces_AddressSpaceFile_Read_OutputArguments,11540,Variable +ServerType_Namespaces_AddressSpaceFile_Write,11541,Method +ServerType_Namespaces_AddressSpaceFile_Write_InputArguments,11542,Variable +ServerType_Namespaces_AddressSpaceFile_GetPosition,11543,Method +ServerType_Namespaces_AddressSpaceFile_GetPosition_InputArguments,11544,Variable +ServerType_Namespaces_AddressSpaceFile_GetPosition_OutputArguments,11545,Variable +ServerType_Namespaces_AddressSpaceFile_SetPosition,11546,Method +ServerType_Namespaces_AddressSpaceFile_SetPosition_InputArguments,11547,Variable +ServerType_Namespaces_AddressSpaceFile_ExportNamespace,11548,Method +ServerCapabilitiesType_MaxArrayLength,11549,Variable +ServerCapabilitiesType_MaxStringLength,11550,Variable +ServerCapabilitiesType_OperationLimits,11551,Object +ServerCapabilitiesType_OperationLimits_MaxNodesPerRead,11552,Variable +ServerCapabilitiesType_OperationLimits_MaxNodesPerWrite,11554,Variable +ServerCapabilitiesType_OperationLimits_MaxNodesPerMethodCall,11556,Variable +ServerCapabilitiesType_OperationLimits_MaxNodesPerBrowse,11557,Variable +ServerCapabilitiesType_OperationLimits_MaxNodesPerRegisterNodes,11558,Variable +ServerCapabilitiesType_OperationLimits_MaxNodesPerTranslateBrowsePathsToNodeIds,11559,Variable +ServerCapabilitiesType_OperationLimits_MaxNodesPerNodeManagement,11560,Variable +ServerCapabilitiesType_OperationLimits_MaxMonitoredItemsPerCall,11561,Variable +ServerCapabilitiesType_VendorCapability_Placeholder,11562,Variable +OperationLimitsType,11564,ObjectType +OperationLimitsType_MaxNodesPerRead,11565,Variable +OperationLimitsType_MaxNodesPerWrite,11567,Variable +OperationLimitsType_MaxNodesPerMethodCall,11569,Variable +OperationLimitsType_MaxNodesPerBrowse,11570,Variable +OperationLimitsType_MaxNodesPerRegisterNodes,11571,Variable +OperationLimitsType_MaxNodesPerTranslateBrowsePathsToNodeIds,11572,Variable +OperationLimitsType_MaxNodesPerNodeManagement,11573,Variable +OperationLimitsType_MaxMonitoredItemsPerCall,11574,Variable +FileType,11575,ObjectType +FileType_Size,11576,Variable +FileType_OpenCount,11579,Variable +FileType_Open,11580,Method +FileType_Open_InputArguments,11581,Variable +FileType_Open_OutputArguments,11582,Variable +FileType_Close,11583,Method +FileType_Close_InputArguments,11584,Variable +FileType_Read,11585,Method +FileType_Read_InputArguments,11586,Variable +FileType_Read_OutputArguments,11587,Variable +FileType_Write,11588,Method +FileType_Write_InputArguments,11589,Variable +FileType_GetPosition,11590,Method +FileType_GetPosition_InputArguments,11591,Variable +FileType_GetPosition_OutputArguments,11592,Variable +FileType_SetPosition,11593,Method +FileType_SetPosition_InputArguments,11594,Variable +AddressSpaceFileType,11595,ObjectType +AddressSpaceFileType_Size,11596,Variable +AddressSpaceFileType_OpenCount,11599,Variable +AddressSpaceFileType_Open,11600,Method +AddressSpaceFileType_Open_InputArguments,11601,Variable +AddressSpaceFileType_Open_OutputArguments,11602,Variable +AddressSpaceFileType_Close,11603,Method +AddressSpaceFileType_Close_InputArguments,11604,Variable +AddressSpaceFileType_Read,11605,Method +AddressSpaceFileType_Read_InputArguments,11606,Variable +AddressSpaceFileType_Read_OutputArguments,11607,Variable +AddressSpaceFileType_Write,11608,Method +AddressSpaceFileType_Write_InputArguments,11609,Variable +AddressSpaceFileType_GetPosition,11610,Method +AddressSpaceFileType_GetPosition_InputArguments,11611,Variable +AddressSpaceFileType_GetPosition_OutputArguments,11612,Variable +AddressSpaceFileType_SetPosition,11613,Method +AddressSpaceFileType_SetPosition_InputArguments,11614,Variable +AddressSpaceFileType_ExportNamespace,11615,Method +NamespaceMetadataType,11616,ObjectType +NamespaceMetadataType_NamespaceUri,11617,Variable +NamespaceMetadataType_NamespaceVersion,11618,Variable +NamespaceMetadataType_NamespacePublicationDate,11619,Variable +NamespaceMetadataType_IsNamespaceSubset,11620,Variable +NamespaceMetadataType_StaticNodeIdTypes,11621,Variable +NamespaceMetadataType_StaticNumericNodeIdRange,11622,Variable +NamespaceMetadataType_StaticStringNodeIdPattern,11623,Variable +NamespaceMetadataType_NamespaceFile,11624,Object +NamespaceMetadataType_NamespaceFile_Size,11625,Variable +NamespaceMetadataType_NamespaceFile_OpenCount,11628,Variable +NamespaceMetadataType_NamespaceFile_Open,11629,Method +NamespaceMetadataType_NamespaceFile_Open_InputArguments,11630,Variable +NamespaceMetadataType_NamespaceFile_Open_OutputArguments,11631,Variable +NamespaceMetadataType_NamespaceFile_Close,11632,Method +NamespaceMetadataType_NamespaceFile_Close_InputArguments,11633,Variable +NamespaceMetadataType_NamespaceFile_Read,11634,Method +NamespaceMetadataType_NamespaceFile_Read_InputArguments,11635,Variable +NamespaceMetadataType_NamespaceFile_Read_OutputArguments,11636,Variable +NamespaceMetadataType_NamespaceFile_Write,11637,Method +NamespaceMetadataType_NamespaceFile_Write_InputArguments,11638,Variable +NamespaceMetadataType_NamespaceFile_GetPosition,11639,Method +NamespaceMetadataType_NamespaceFile_GetPosition_InputArguments,11640,Variable +NamespaceMetadataType_NamespaceFile_GetPosition_OutputArguments,11641,Variable +NamespaceMetadataType_NamespaceFile_SetPosition,11642,Method +NamespaceMetadataType_NamespaceFile_SetPosition_InputArguments,11643,Variable +NamespaceMetadataType_NamespaceFile_ExportNamespace,11644,Method +NamespacesType,11645,ObjectType +NamespacesType_NamespaceIdentifier_Placeholder,11646,Object +NamespacesType_NamespaceIdentifier_Placeholder_NamespaceUri,11647,Variable +NamespacesType_NamespaceIdentifier_Placeholder_NamespaceVersion,11648,Variable +NamespacesType_NamespaceIdentifier_Placeholder_NamespacePublicationDate,11649,Variable +NamespacesType_NamespaceIdentifier_Placeholder_IsNamespaceSubset,11650,Variable +NamespacesType_NamespaceIdentifier_Placeholder_StaticNodeIdTypes,11651,Variable +NamespacesType_NamespaceIdentifier_Placeholder_StaticNumericNodeIdRange,11652,Variable +NamespacesType_NamespaceIdentifier_Placeholder_StaticStringNodeIdPattern,11653,Variable +NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile,11654,Object +NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_Size,11655,Variable +NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_OpenCount,11658,Variable +NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_Open,11659,Method +NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_Open_InputArguments,11660,Variable +NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_Open_OutputArguments,11661,Variable +NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_Close,11662,Method +NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_Close_InputArguments,11663,Variable +NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_Read,11664,Method +NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_Read_InputArguments,11665,Variable +NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_Read_OutputArguments,11666,Variable +NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_Write,11667,Method +NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_Write_InputArguments,11668,Variable +NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_GetPosition,11669,Method +NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_GetPosition_InputArguments,11670,Variable +NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_GetPosition_OutputArguments,11671,Variable +NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_SetPosition,11672,Method +NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_SetPosition_InputArguments,11673,Variable +NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_ExportNamespace,11674,Method +NamespacesType_AddressSpaceFile,11675,Object +NamespacesType_AddressSpaceFile_Size,11676,Variable +NamespacesType_AddressSpaceFile_OpenCount,11679,Variable +NamespacesType_AddressSpaceFile_Open,11680,Method +NamespacesType_AddressSpaceFile_Open_InputArguments,11681,Variable +NamespacesType_AddressSpaceFile_Open_OutputArguments,11682,Variable +NamespacesType_AddressSpaceFile_Close,11683,Method +NamespacesType_AddressSpaceFile_Close_InputArguments,11684,Variable +NamespacesType_AddressSpaceFile_Read,11685,Method +NamespacesType_AddressSpaceFile_Read_InputArguments,11686,Variable +NamespacesType_AddressSpaceFile_Read_OutputArguments,11687,Variable +NamespacesType_AddressSpaceFile_Write,11688,Method +NamespacesType_AddressSpaceFile_Write_InputArguments,11689,Variable +NamespacesType_AddressSpaceFile_GetPosition,11690,Method +NamespacesType_AddressSpaceFile_GetPosition_InputArguments,11691,Variable +NamespacesType_AddressSpaceFile_GetPosition_OutputArguments,11692,Variable +NamespacesType_AddressSpaceFile_SetPosition,11693,Method +NamespacesType_AddressSpaceFile_SetPosition_InputArguments,11694,Variable +NamespacesType_AddressSpaceFile_ExportNamespace,11695,Method +SystemStatusChangeEventType_SystemState,11696,Variable +SamplingIntervalDiagnosticsType_SampledMonitoredItemsCount,11697,Variable +SamplingIntervalDiagnosticsType_MaxSampledMonitoredItemsCount,11698,Variable +SamplingIntervalDiagnosticsType_DisabledMonitoredItemsSamplingCount,11699,Variable +OptionSetType_BitMask,11701,Variable +Server_ServerCapabilities_MaxArrayLength,11702,Variable +Server_ServerCapabilities_MaxStringLength,11703,Variable +Server_ServerCapabilities_OperationLimits,11704,Object +Server_ServerCapabilities_OperationLimits_MaxNodesPerRead,11705,Variable +Server_ServerCapabilities_OperationLimits_MaxNodesPerWrite,11707,Variable +Server_ServerCapabilities_OperationLimits_MaxNodesPerMethodCall,11709,Variable +Server_ServerCapabilities_OperationLimits_MaxNodesPerBrowse,11710,Variable +Server_ServerCapabilities_OperationLimits_MaxNodesPerRegisterNodes,11711,Variable +Server_ServerCapabilities_OperationLimits_MaxNodesPerTranslateBrowsePathsToNodeIds,11712,Variable +Server_ServerCapabilities_OperationLimits_MaxNodesPerNodeManagement,11713,Variable +Server_ServerCapabilities_OperationLimits_MaxMonitoredItemsPerCall,11714,Variable +Server_Namespaces,11715,Object +Server_Namespaces_AddressSpaceFile,11716,Object +Server_Namespaces_AddressSpaceFile_Size,11717,Variable +Server_Namespaces_AddressSpaceFile_OpenCount,11720,Variable +Server_Namespaces_AddressSpaceFile_Open,11721,Method +Server_Namespaces_AddressSpaceFile_Open_InputArguments,11722,Variable +Server_Namespaces_AddressSpaceFile_Open_OutputArguments,11723,Variable +Server_Namespaces_AddressSpaceFile_Close,11724,Method +Server_Namespaces_AddressSpaceFile_Close_InputArguments,11725,Variable +Server_Namespaces_AddressSpaceFile_Read,11726,Method +Server_Namespaces_AddressSpaceFile_Read_InputArguments,11727,Variable +Server_Namespaces_AddressSpaceFile_Read_OutputArguments,11728,Variable +Server_Namespaces_AddressSpaceFile_Write,11729,Method +Server_Namespaces_AddressSpaceFile_Write_InputArguments,11730,Variable +Server_Namespaces_AddressSpaceFile_GetPosition,11731,Method +Server_Namespaces_AddressSpaceFile_GetPosition_InputArguments,11732,Variable +Server_Namespaces_AddressSpaceFile_GetPosition_OutputArguments,11733,Variable +Server_Namespaces_AddressSpaceFile_SetPosition,11734,Method +Server_Namespaces_AddressSpaceFile_SetPosition_InputArguments,11735,Variable +Server_Namespaces_AddressSpaceFile_ExportNamespace,11736,Method +BitFieldMaskDataType,11737,DataType +OpenMethodType,11738,Method +OpenMethodType_InputArguments,11739,Variable +OpenMethodType_OutputArguments,11740,Variable +CloseMethodType,11741,Method +CloseMethodType_InputArguments,11742,Variable +ReadMethodType,11743,Method +ReadMethodType_InputArguments,11744,Variable +ReadMethodType_OutputArguments,11745,Variable +WriteMethodType,11746,Method +WriteMethodType_InputArguments,11747,Variable +GetPositionMethodType,11748,Method +GetPositionMethodType_InputArguments,11749,Variable +GetPositionMethodType_OutputArguments,11750,Variable +SetPositionMethodType,11751,Method +SetPositionMethodType_InputArguments,11752,Variable +SystemOffNormalAlarmType,11753,ObjectType +SystemOffNormalAlarmType_EventId,11754,Variable +SystemOffNormalAlarmType_EventType,11755,Variable +SystemOffNormalAlarmType_SourceNode,11756,Variable +SystemOffNormalAlarmType_SourceName,11757,Variable +SystemOffNormalAlarmType_Time,11758,Variable +SystemOffNormalAlarmType_ReceiveTime,11759,Variable +SystemOffNormalAlarmType_LocalTime,11760,Variable +SystemOffNormalAlarmType_Message,11761,Variable +SystemOffNormalAlarmType_Severity,11762,Variable +SystemOffNormalAlarmType_ConditionClassId,11763,Variable +SystemOffNormalAlarmType_ConditionClassName,11764,Variable +SystemOffNormalAlarmType_ConditionName,11765,Variable +SystemOffNormalAlarmType_BranchId,11766,Variable +SystemOffNormalAlarmType_Retain,11767,Variable +SystemOffNormalAlarmType_EnabledState,11768,Variable +SystemOffNormalAlarmType_EnabledState_Id,11769,Variable +SystemOffNormalAlarmType_EnabledState_Name,11770,Variable +SystemOffNormalAlarmType_EnabledState_Number,11771,Variable +SystemOffNormalAlarmType_EnabledState_EffectiveDisplayName,11772,Variable +SystemOffNormalAlarmType_EnabledState_TransitionTime,11773,Variable +SystemOffNormalAlarmType_EnabledState_EffectiveTransitionTime,11774,Variable +SystemOffNormalAlarmType_EnabledState_TrueState,11775,Variable +SystemOffNormalAlarmType_EnabledState_FalseState,11776,Variable +SystemOffNormalAlarmType_Quality,11777,Variable +SystemOffNormalAlarmType_Quality_SourceTimestamp,11778,Variable +SystemOffNormalAlarmType_LastSeverity,11779,Variable +SystemOffNormalAlarmType_LastSeverity_SourceTimestamp,11780,Variable +SystemOffNormalAlarmType_Comment,11781,Variable +SystemOffNormalAlarmType_Comment_SourceTimestamp,11782,Variable +SystemOffNormalAlarmType_ClientUserId,11783,Variable +SystemOffNormalAlarmType_Disable,11784,Method +SystemOffNormalAlarmType_Enable,11785,Method +SystemOffNormalAlarmType_AddComment,11786,Method +SystemOffNormalAlarmType_AddComment_InputArguments,11787,Variable +SystemOffNormalAlarmType_ConditionRefresh,11788,Method +SystemOffNormalAlarmType_ConditionRefresh_InputArguments,11789,Variable +SystemOffNormalAlarmType_AckedState,11790,Variable +SystemOffNormalAlarmType_AckedState_Id,11791,Variable +SystemOffNormalAlarmType_AckedState_Name,11792,Variable +SystemOffNormalAlarmType_AckedState_Number,11793,Variable +SystemOffNormalAlarmType_AckedState_EffectiveDisplayName,11794,Variable +SystemOffNormalAlarmType_AckedState_TransitionTime,11795,Variable +SystemOffNormalAlarmType_AckedState_EffectiveTransitionTime,11796,Variable +SystemOffNormalAlarmType_AckedState_TrueState,11797,Variable +SystemOffNormalAlarmType_AckedState_FalseState,11798,Variable +SystemOffNormalAlarmType_ConfirmedState,11799,Variable +SystemOffNormalAlarmType_ConfirmedState_Id,11800,Variable +SystemOffNormalAlarmType_ConfirmedState_Name,11801,Variable +SystemOffNormalAlarmType_ConfirmedState_Number,11802,Variable +SystemOffNormalAlarmType_ConfirmedState_EffectiveDisplayName,11803,Variable +SystemOffNormalAlarmType_ConfirmedState_TransitionTime,11804,Variable +SystemOffNormalAlarmType_ConfirmedState_EffectiveTransitionTime,11805,Variable +SystemOffNormalAlarmType_ConfirmedState_TrueState,11806,Variable +SystemOffNormalAlarmType_ConfirmedState_FalseState,11807,Variable +SystemOffNormalAlarmType_Acknowledge,11808,Method +SystemOffNormalAlarmType_Acknowledge_InputArguments,11809,Variable +SystemOffNormalAlarmType_Confirm,11810,Method +SystemOffNormalAlarmType_Confirm_InputArguments,11811,Variable +SystemOffNormalAlarmType_ActiveState,11812,Variable +SystemOffNormalAlarmType_ActiveState_Id,11813,Variable +SystemOffNormalAlarmType_ActiveState_Name,11814,Variable +SystemOffNormalAlarmType_ActiveState_Number,11815,Variable +SystemOffNormalAlarmType_ActiveState_EffectiveDisplayName,11816,Variable +SystemOffNormalAlarmType_ActiveState_TransitionTime,11817,Variable +SystemOffNormalAlarmType_ActiveState_EffectiveTransitionTime,11818,Variable +SystemOffNormalAlarmType_ActiveState_TrueState,11819,Variable +SystemOffNormalAlarmType_ActiveState_FalseState,11820,Variable +SystemOffNormalAlarmType_InputNode,11821,Variable +SystemOffNormalAlarmType_SuppressedState,11822,Variable +SystemOffNormalAlarmType_SuppressedState_Id,11823,Variable +SystemOffNormalAlarmType_SuppressedState_Name,11824,Variable +SystemOffNormalAlarmType_SuppressedState_Number,11825,Variable +SystemOffNormalAlarmType_SuppressedState_EffectiveDisplayName,11826,Variable +SystemOffNormalAlarmType_SuppressedState_TransitionTime,11827,Variable +SystemOffNormalAlarmType_SuppressedState_EffectiveTransitionTime,11828,Variable +SystemOffNormalAlarmType_SuppressedState_TrueState,11829,Variable +SystemOffNormalAlarmType_SuppressedState_FalseState,11830,Variable +SystemOffNormalAlarmType_ShelvingState,11831,Object +SystemOffNormalAlarmType_ShelvingState_CurrentState,11832,Variable +SystemOffNormalAlarmType_ShelvingState_CurrentState_Id,11833,Variable +SystemOffNormalAlarmType_ShelvingState_CurrentState_Name,11834,Variable +SystemOffNormalAlarmType_ShelvingState_CurrentState_Number,11835,Variable +SystemOffNormalAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,11836,Variable +SystemOffNormalAlarmType_ShelvingState_LastTransition,11837,Variable +SystemOffNormalAlarmType_ShelvingState_LastTransition_Id,11838,Variable +SystemOffNormalAlarmType_ShelvingState_LastTransition_Name,11839,Variable +SystemOffNormalAlarmType_ShelvingState_LastTransition_Number,11840,Variable +SystemOffNormalAlarmType_ShelvingState_LastTransition_TransitionTime,11841,Variable +SystemOffNormalAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11842,Variable +SystemOffNormalAlarmType_ShelvingState_UnshelveTime,11843,Variable +SystemOffNormalAlarmType_ShelvingState_Unshelve,11844,Method +SystemOffNormalAlarmType_ShelvingState_OneShotShelve,11845,Method +SystemOffNormalAlarmType_ShelvingState_TimedShelve,11846,Method +SystemOffNormalAlarmType_ShelvingState_TimedShelve_InputArguments,11847,Variable +SystemOffNormalAlarmType_SuppressedOrShelved,11848,Variable +SystemOffNormalAlarmType_MaxTimeShelved,11849,Variable +SystemOffNormalAlarmType_NormalState,11850,Variable +AuditConditionCommentEventType_Comment,11851,Variable +AuditConditionRespondEventType_SelectedResponse,11852,Variable +AuditConditionAcknowledgeEventType_Comment,11853,Variable +AuditConditionConfirmEventType_Comment,11854,Variable +AuditConditionShelvingEventType_ShelvingTime,11855,Variable +AuditProgramTransitionEventType,11856,ObjectType +AuditProgramTransitionEventType_EventId,11857,Variable +AuditProgramTransitionEventType_EventType,11858,Variable +AuditProgramTransitionEventType_SourceNode,11859,Variable +AuditProgramTransitionEventType_SourceName,11860,Variable +AuditProgramTransitionEventType_Time,11861,Variable +AuditProgramTransitionEventType_ReceiveTime,11862,Variable +AuditProgramTransitionEventType_LocalTime,11863,Variable +AuditProgramTransitionEventType_Message,11864,Variable +AuditProgramTransitionEventType_Severity,11865,Variable +AuditProgramTransitionEventType_ActionTimeStamp,11866,Variable +AuditProgramTransitionEventType_Status,11867,Variable +AuditProgramTransitionEventType_ServerId,11868,Variable +AuditProgramTransitionEventType_ClientAuditEntryId,11869,Variable +AuditProgramTransitionEventType_ClientUserId,11870,Variable +AuditProgramTransitionEventType_MethodId,11871,Variable +AuditProgramTransitionEventType_InputArguments,11872,Variable +AuditProgramTransitionEventType_OldStateId,11873,Variable +AuditProgramTransitionEventType_NewStateId,11874,Variable +AuditProgramTransitionEventType_TransitionNumber,11875,Variable +HistoricalDataConfigurationType_AggregateFunctions,11876,Object +HAConfiguration_AggregateFunctions,11877,Object +NodeClass_EnumValues,11878,Variable +InstanceNode,11879,DataType +TypeNode,11880,DataType +NodeAttributesMask_EnumValues,11881,Variable +AttributeWriteMask_EnumValues,11882,Variable +BrowseResultMask_EnumValues,11883,Variable +HistoryUpdateType_EnumValues,11884,Variable +PerformUpdateType_EnumValues,11885,Variable +InstanceNode_Encoding_DefaultXml,11887,Object +TypeNode_Encoding_DefaultXml,11888,Object +InstanceNode_Encoding_DefaultBinary,11889,Object +TypeNode_Encoding_DefaultBinary,11890,Object +SessionDiagnosticsObjectType_SessionDiagnostics_UnauthorizedRequestCount,11891,Variable +SessionDiagnosticsVariableType_UnauthorizedRequestCount,11892,Variable +OpenFileMode,11939,DataType +OpenFileMode_EnumValues,11940,Variable +ModelChangeStructureVerbMask,11941,DataType +ModelChangeStructureVerbMask_EnumValues,11942,Variable +EndpointUrlListDataType,11943,DataType +NetworkGroupDataType,11944,DataType +NonTransparentNetworkRedundancyType,11945,ObjectType +NonTransparentNetworkRedundancyType_RedundancySupport,11946,Variable +NonTransparentNetworkRedundancyType_ServerUriArray,11947,Variable +NonTransparentNetworkRedundancyType_ServerNetworkGroups,11948,Variable +EndpointUrlListDataType_Encoding_DefaultXml,11949,Object +NetworkGroupDataType_Encoding_DefaultXml,11950,Object +OpcUa_XmlSchema_EndpointUrlListDataType,11951,Variable +OpcUa_XmlSchema_EndpointUrlListDataType_DataTypeVersion,11952,Variable +OpcUa_XmlSchema_EndpointUrlListDataType_DictionaryFragment,11953,Variable +OpcUa_XmlSchema_NetworkGroupDataType,11954,Variable +OpcUa_XmlSchema_NetworkGroupDataType_DataTypeVersion,11955,Variable +OpcUa_XmlSchema_NetworkGroupDataType_DictionaryFragment,11956,Variable +EndpointUrlListDataType_Encoding_DefaultBinary,11957,Object +NetworkGroupDataType_Encoding_DefaultBinary,11958,Object +OpcUa_BinarySchema_EndpointUrlListDataType,11959,Variable +OpcUa_BinarySchema_EndpointUrlListDataType_DataTypeVersion,11960,Variable +OpcUa_BinarySchema_EndpointUrlListDataType_DictionaryFragment,11961,Variable +OpcUa_BinarySchema_NetworkGroupDataType,11962,Variable +OpcUa_BinarySchema_NetworkGroupDataType_DataTypeVersion,11963,Variable +OpcUa_BinarySchema_NetworkGroupDataType_DictionaryFragment,11964,Variable +ArrayItemType,12021,VariableType +ArrayItemType_Definition,12022,Variable +ArrayItemType_ValuePrecision,12023,Variable +ArrayItemType_InstrumentRange,12024,Variable +ArrayItemType_EURange,12025,Variable +ArrayItemType_EngineeringUnits,12026,Variable +ArrayItemType_Title,12027,Variable +ArrayItemType_AxisScaleType,12028,Variable +YArrayItemType,12029,VariableType +YArrayItemType_Definition,12030,Variable +YArrayItemType_ValuePrecision,12031,Variable +YArrayItemType_InstrumentRange,12032,Variable +YArrayItemType_EURange,12033,Variable +YArrayItemType_EngineeringUnits,12034,Variable +YArrayItemType_Title,12035,Variable +YArrayItemType_AxisScaleType,12036,Variable +YArrayItemType_XAxisDefinition,12037,Variable +XYArrayItemType,12038,VariableType +XYArrayItemType_Definition,12039,Variable +XYArrayItemType_ValuePrecision,12040,Variable +XYArrayItemType_InstrumentRange,12041,Variable +XYArrayItemType_EURange,12042,Variable +XYArrayItemType_EngineeringUnits,12043,Variable +XYArrayItemType_Title,12044,Variable +XYArrayItemType_AxisScaleType,12045,Variable +XYArrayItemType_XAxisDefinition,12046,Variable +ImageItemType,12047,VariableType +ImageItemType_Definition,12048,Variable +ImageItemType_ValuePrecision,12049,Variable +ImageItemType_InstrumentRange,12050,Variable +ImageItemType_EURange,12051,Variable +ImageItemType_EngineeringUnits,12052,Variable +ImageItemType_Title,12053,Variable +ImageItemType_AxisScaleType,12054,Variable +ImageItemType_XAxisDefinition,12055,Variable +ImageItemType_YAxisDefinition,12056,Variable +CubeItemType,12057,VariableType +CubeItemType_Definition,12058,Variable +CubeItemType_ValuePrecision,12059,Variable +CubeItemType_InstrumentRange,12060,Variable +CubeItemType_EURange,12061,Variable +CubeItemType_EngineeringUnits,12062,Variable +CubeItemType_Title,12063,Variable +CubeItemType_AxisScaleType,12064,Variable +CubeItemType_XAxisDefinition,12065,Variable +CubeItemType_YAxisDefinition,12066,Variable +CubeItemType_ZAxisDefinition,12067,Variable +NDimensionArrayItemType,12068,VariableType +NDimensionArrayItemType_Definition,12069,Variable +NDimensionArrayItemType_ValuePrecision,12070,Variable +NDimensionArrayItemType_InstrumentRange,12071,Variable +NDimensionArrayItemType_EURange,12072,Variable +NDimensionArrayItemType_EngineeringUnits,12073,Variable +NDimensionArrayItemType_Title,12074,Variable +NDimensionArrayItemType_AxisScaleType,12075,Variable +NDimensionArrayItemType_AxisDefinition,12076,Variable +AxisScaleEnumeration,12077,DataType +AxisScaleEnumeration_EnumStrings,12078,Variable +AxisInformation,12079,DataType +XVType,12080,DataType +AxisInformation_Encoding_DefaultXml,12081,Object +XVType_Encoding_DefaultXml,12082,Object +OpcUa_XmlSchema_AxisInformation,12083,Variable +OpcUa_XmlSchema_AxisInformation_DataTypeVersion,12084,Variable +OpcUa_XmlSchema_AxisInformation_DictionaryFragment,12085,Variable +OpcUa_XmlSchema_XVType,12086,Variable +OpcUa_XmlSchema_XVType_DataTypeVersion,12087,Variable +OpcUa_XmlSchema_XVType_DictionaryFragment,12088,Variable +AxisInformation_Encoding_DefaultBinary,12089,Object +XVType_Encoding_DefaultBinary,12090,Object +OpcUa_BinarySchema_AxisInformation,12091,Variable +OpcUa_BinarySchema_AxisInformation_DataTypeVersion,12092,Variable +OpcUa_BinarySchema_AxisInformation_DictionaryFragment,12093,Variable +OpcUa_BinarySchema_XVType,12094,Variable +OpcUa_BinarySchema_XVType_DataTypeVersion,12095,Variable +OpcUa_BinarySchema_XVType_DictionaryFragment,12096,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder,12097,Object +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics,12098,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_SessionId,12099,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_SessionName,12100,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_ClientDescription,12101,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_ServerUri,12102,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_EndpointUrl,12103,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_LocaleIds,12104,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_ActualSessionTimeout,12105,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_MaxResponseMessageSize,12106,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_ClientConnectionTime,12107,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_ClientLastContactTime,12108,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_CurrentSubscriptionsCount,12109,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_CurrentMonitoredItemsCount,12110,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_CurrentPublishRequestsInQueue,12111,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_TotalRequestCount,12112,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_UnauthorizedRequestCount,12113,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_ReadCount,12114,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_HistoryReadCount,12115,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_WriteCount,12116,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_HistoryUpdateCount,12117,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_CallCount,12118,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_CreateMonitoredItemsCount,12119,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_ModifyMonitoredItemsCount,12120,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_SetMonitoringModeCount,12121,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_SetTriggeringCount,12122,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_DeleteMonitoredItemsCount,12123,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_CreateSubscriptionCount,12124,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_ModifySubscriptionCount,12125,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_SetPublishingModeCount,12126,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_PublishCount,12127,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_RepublishCount,12128,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_TransferSubscriptionsCount,12129,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_DeleteSubscriptionsCount,12130,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_AddNodesCount,12131,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_AddReferencesCount,12132,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_DeleteNodesCount,12133,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_DeleteReferencesCount,12134,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_BrowseCount,12135,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_BrowseNextCount,12136,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_TranslateBrowsePathsToNodeIdsCount,12137,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_QueryFirstCount,12138,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_QueryNextCount,12139,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_RegisterNodesCount,12140,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_UnregisterNodesCount,12141,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionSecurityDiagnostics,12142,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionSecurityDiagnostics_SessionId,12143,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionSecurityDiagnostics_ClientUserIdOfSession,12144,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionSecurityDiagnostics_ClientUserIdHistory,12145,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionSecurityDiagnostics_AuthenticationMechanism,12146,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionSecurityDiagnostics_Encoding,12147,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionSecurityDiagnostics_TransportProtocol,12148,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionSecurityDiagnostics_SecurityMode,12149,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionSecurityDiagnostics_SecurityPolicyUri,12150,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionSecurityDiagnostics_ClientCertificate,12151,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SubscriptionDiagnosticsArray,12152,Variable +ServerType_ServerCapabilities_OperationLimits_MaxNodesPerHistoryReadData,12153,Variable +ServerType_ServerCapabilities_OperationLimits_MaxNodesPerHistoryReadEvents,12154,Variable +ServerType_ServerCapabilities_OperationLimits_MaxNodesPerHistoryUpdateData,12155,Variable +ServerType_ServerCapabilities_OperationLimits_MaxNodesPerHistoryUpdateEvents,12156,Variable +ServerCapabilitiesType_OperationLimits_MaxNodesPerHistoryReadData,12157,Variable +ServerCapabilitiesType_OperationLimits_MaxNodesPerHistoryReadEvents,12158,Variable +ServerCapabilitiesType_OperationLimits_MaxNodesPerHistoryUpdateData,12159,Variable +ServerCapabilitiesType_OperationLimits_MaxNodesPerHistoryUpdateEvents,12160,Variable +OperationLimitsType_MaxNodesPerHistoryReadData,12161,Variable +OperationLimitsType_MaxNodesPerHistoryReadEvents,12162,Variable +OperationLimitsType_MaxNodesPerHistoryUpdateData,12163,Variable +OperationLimitsType_MaxNodesPerHistoryUpdateEvents,12164,Variable +Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryReadData,12165,Variable +Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryReadEvents,12166,Variable +Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryUpdateData,12167,Variable +Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryUpdateEvents,12168,Variable +NamingRuleType_EnumValues,12169,Variable +ViewVersion,12170,Variable +ComplexNumberType,12171,DataType +DoubleComplexNumberType,12172,DataType +ComplexNumberType_Encoding_DefaultXml,12173,Object +DoubleComplexNumberType_Encoding_DefaultXml,12174,Object +OpcUa_XmlSchema_ComplexNumberType,12175,Variable +OpcUa_XmlSchema_ComplexNumberType_DataTypeVersion,12176,Variable +OpcUa_XmlSchema_ComplexNumberType_DictionaryFragment,12177,Variable +OpcUa_XmlSchema_DoubleComplexNumberType,12178,Variable +OpcUa_XmlSchema_DoubleComplexNumberType_DataTypeVersion,12179,Variable +OpcUa_XmlSchema_DoubleComplexNumberType_DictionaryFragment,12180,Variable +ComplexNumberType_Encoding_DefaultBinary,12181,Object +DoubleComplexNumberType_Encoding_DefaultBinary,12182,Object +OpcUa_BinarySchema_ComplexNumberType,12183,Variable +OpcUa_BinarySchema_ComplexNumberType_DataTypeVersion,12184,Variable +OpcUa_BinarySchema_ComplexNumberType_DictionaryFragment,12185,Variable +OpcUa_BinarySchema_DoubleComplexNumberType,12186,Variable +OpcUa_BinarySchema_DoubleComplexNumberType_DataTypeVersion,12187,Variable +OpcUa_BinarySchema_DoubleComplexNumberType_DictionaryFragment,12188,Variable +ServerOnNetwork,12189,DataType +FindServersOnNetworkRequest,12190,DataType +FindServersOnNetworkResponse,12191,DataType +RegisterServer2Request,12193,DataType +RegisterServer2Response,12194,DataType +ServerOnNetwork_Encoding_DefaultXml,12195,Object +FindServersOnNetworkRequest_Encoding_DefaultXml,12196,Object +FindServersOnNetworkResponse_Encoding_DefaultXml,12197,Object +RegisterServer2Request_Encoding_DefaultXml,12199,Object +RegisterServer2Response_Encoding_DefaultXml,12200,Object +OpcUa_XmlSchema_ServerOnNetwork,12201,Variable +OpcUa_XmlSchema_ServerOnNetwork_DataTypeVersion,12202,Variable +OpcUa_XmlSchema_ServerOnNetwork_DictionaryFragment,12203,Variable +ServerOnNetwork_Encoding_DefaultBinary,12207,Object +FindServersOnNetworkRequest_Encoding_DefaultBinary,12208,Object +FindServersOnNetworkResponse_Encoding_DefaultBinary,12209,Object +RegisterServer2Request_Encoding_DefaultBinary,12211,Object +RegisterServer2Response_Encoding_DefaultBinary,12212,Object +OpcUa_BinarySchema_ServerOnNetwork,12213,Variable +OpcUa_BinarySchema_ServerOnNetwork_DataTypeVersion,12214,Variable +OpcUa_BinarySchema_ServerOnNetwork_DictionaryFragment,12215,Variable +ProgressEventType_Context,12502,Variable +ProgressEventType_Progress,12503,Variable +OpenWithMasksMethodType,12513,Method +OpenWithMasksMethodType_InputArguments,12514,Variable +OpenWithMasksMethodType_OutputArguments,12515,Variable +CloseAndUpdateMethodType,12516,Method +CloseAndUpdateMethodType_OutputArguments,12517,Variable +AddCertificateMethodType,12518,Method +AddCertificateMethodType_InputArguments,12519,Variable +RemoveCertificateMethodType,12520,Method +RemoveCertificateMethodType_InputArguments,12521,Variable +TrustListType,12522,ObjectType +TrustListType_Size,12523,Variable +TrustListType_OpenCount,12526,Variable +TrustListType_Open,12527,Method +TrustListType_Open_InputArguments,12528,Variable +TrustListType_Open_OutputArguments,12529,Variable +TrustListType_Close,12530,Method +TrustListType_Close_InputArguments,12531,Variable +TrustListType_Read,12532,Method +TrustListType_Read_InputArguments,12533,Variable +TrustListType_Read_OutputArguments,12534,Variable +TrustListType_Write,12535,Method +TrustListType_Write_InputArguments,12536,Variable +TrustListType_GetPosition,12537,Method +TrustListType_GetPosition_InputArguments,12538,Variable +TrustListType_GetPosition_OutputArguments,12539,Variable +TrustListType_SetPosition,12540,Method +TrustListType_SetPosition_InputArguments,12541,Variable +TrustListType_LastUpdateTime,12542,Variable +TrustListType_OpenWithMasks,12543,Method +TrustListType_OpenWithMasks_InputArguments,12544,Variable +TrustListType_OpenWithMasks_OutputArguments,12545,Variable +TrustListType_CloseAndUpdate,12546,Method +TrustListType_CloseAndUpdate_OutputArguments,12547,Variable +TrustListType_AddCertificate,12548,Method +TrustListType_AddCertificate_InputArguments,12549,Variable +TrustListType_RemoveCertificate,12550,Method +TrustListType_RemoveCertificate_InputArguments,12551,Variable +TrustListMasks,12552,DataType +TrustListMasks_EnumValues,12553,Variable +TrustListDataType,12554,DataType +CertificateGroupType,12555,ObjectType +CertificateType,12556,ObjectType +ApplicationCertificateType,12557,ObjectType +HttpsCertificateType,12558,ObjectType +RsaMinApplicationCertificateType,12559,ObjectType +RsaSha256ApplicationCertificateType,12560,ObjectType +TrustListUpdatedAuditEventType,12561,ObjectType +TrustListUpdatedAuditEventType_EventId,12562,Variable +TrustListUpdatedAuditEventType_EventType,12563,Variable +TrustListUpdatedAuditEventType_SourceNode,12564,Variable +TrustListUpdatedAuditEventType_SourceName,12565,Variable +TrustListUpdatedAuditEventType_Time,12566,Variable +TrustListUpdatedAuditEventType_ReceiveTime,12567,Variable +TrustListUpdatedAuditEventType_LocalTime,12568,Variable +TrustListUpdatedAuditEventType_Message,12569,Variable +TrustListUpdatedAuditEventType_Severity,12570,Variable +TrustListUpdatedAuditEventType_ActionTimeStamp,12571,Variable +TrustListUpdatedAuditEventType_Status,12572,Variable +TrustListUpdatedAuditEventType_ServerId,12573,Variable +TrustListUpdatedAuditEventType_ClientAuditEntryId,12574,Variable +TrustListUpdatedAuditEventType_ClientUserId,12575,Variable +TrustListUpdatedAuditEventType_MethodId,12576,Variable +TrustListUpdatedAuditEventType_InputArguments,12577,Variable +UpdateCertificateMethodType,12578,Method +UpdateCertificateMethodType_InputArguments,12579,Variable +UpdateCertificateMethodType_OutputArguments,12580,Variable +ServerConfigurationType,12581,ObjectType +ServerConfigurationType_SupportedPrivateKeyFormats,12583,Variable +ServerConfigurationType_MaxTrustListSize,12584,Variable +ServerConfigurationType_MulticastDnsEnabled,12585,Variable +ServerConfigurationType_UpdateCertificate,12616,Method +ServerConfigurationType_UpdateCertificate_InputArguments,12617,Variable +ServerConfigurationType_UpdateCertificate_OutputArguments,12618,Variable +CertificateUpdatedAuditEventType,12620,ObjectType +CertificateUpdatedAuditEventType_EventId,12621,Variable +CertificateUpdatedAuditEventType_EventType,12622,Variable +CertificateUpdatedAuditEventType_SourceNode,12623,Variable +CertificateUpdatedAuditEventType_SourceName,12624,Variable +CertificateUpdatedAuditEventType_Time,12625,Variable +CertificateUpdatedAuditEventType_ReceiveTime,12626,Variable +CertificateUpdatedAuditEventType_LocalTime,12627,Variable +CertificateUpdatedAuditEventType_Message,12628,Variable +CertificateUpdatedAuditEventType_Severity,12629,Variable +CertificateUpdatedAuditEventType_ActionTimeStamp,12630,Variable +CertificateUpdatedAuditEventType_Status,12631,Variable +CertificateUpdatedAuditEventType_ServerId,12632,Variable +CertificateUpdatedAuditEventType_ClientAuditEntryId,12633,Variable +CertificateUpdatedAuditEventType_ClientUserId,12634,Variable +CertificateUpdatedAuditEventType_MethodId,12635,Variable +CertificateUpdatedAuditEventType_InputArguments,12636,Variable +ServerConfiguration,12637,Object +ServerConfiguration_SupportedPrivateKeyFormats,12639,Variable +ServerConfiguration_MaxTrustListSize,12640,Variable +ServerConfiguration_MulticastDnsEnabled,12641,Variable +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList,12642,Object +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Size,12643,Variable +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_OpenCount,12646,Variable +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Open,12647,Method +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Open_InputArguments,12648,Variable +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Open_OutputArguments,12649,Variable +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Close,12650,Method +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Close_InputArguments,12651,Variable +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Read,12652,Method +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Read_InputArguments,12653,Variable +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Read_OutputArguments,12654,Variable +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Write,12655,Method +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Write_InputArguments,12656,Variable +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_GetPosition,12657,Method +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_GetPosition_InputArguments,12658,Variable +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_GetPosition_OutputArguments,12659,Variable +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_SetPosition,12660,Method +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_SetPosition_InputArguments,12661,Variable +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_LastUpdateTime,12662,Variable +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_OpenWithMasks,12663,Method +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_OpenWithMasks_InputArguments,12664,Variable +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_OpenWithMasks_OutputArguments,12665,Variable +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_CloseAndUpdate,12666,Method +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_CloseAndUpdate_OutputArguments,12667,Variable +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_AddCertificate,12668,Method +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_AddCertificate_InputArguments,12669,Variable +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_RemoveCertificate,12670,Method +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_RemoveCertificate_InputArguments,12671,Variable +TrustListDataType_Encoding_DefaultXml,12676,Object +OpcUa_XmlSchema_TrustListDataType,12677,Variable +OpcUa_XmlSchema_TrustListDataType_DataTypeVersion,12678,Variable +OpcUa_XmlSchema_TrustListDataType_DictionaryFragment,12679,Variable +TrustListDataType_Encoding_DefaultBinary,12680,Object +OpcUa_BinarySchema_TrustListDataType,12681,Variable +OpcUa_BinarySchema_TrustListDataType_DataTypeVersion,12682,Variable +OpcUa_BinarySchema_TrustListDataType_DictionaryFragment,12683,Variable +ServerType_Namespaces_AddressSpaceFile_Writable,12684,Variable +ServerType_Namespaces_AddressSpaceFile_UserWritable,12685,Variable +FileType_Writable,12686,Variable +FileType_UserWritable,12687,Variable +AddressSpaceFileType_Writable,12688,Variable +AddressSpaceFileType_UserWritable,12689,Variable +NamespaceMetadataType_NamespaceFile_Writable,12690,Variable +NamespaceMetadataType_NamespaceFile_UserWritable,12691,Variable +NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_Writable,12692,Variable +NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_UserWritable,12693,Variable +NamespacesType_AddressSpaceFile_Writable,12694,Variable +NamespacesType_AddressSpaceFile_UserWritable,12695,Variable +Server_Namespaces_AddressSpaceFile_Writable,12696,Variable +Server_Namespaces_AddressSpaceFile_UserWritable,12697,Variable +TrustListType_Writable,12698,Variable +TrustListType_UserWritable,12699,Variable +CloseAndUpdateMethodType_InputArguments,12704,Variable +TrustListType_CloseAndUpdate_InputArguments,12705,Variable +ServerConfigurationType_ServerCapabilities,12708,Variable +ServerConfiguration_ServerCapabilities,12710,Variable +OpcUa_XmlSchema_RelativePathElement,12712,Variable +OpcUa_XmlSchema_RelativePathElement_DataTypeVersion,12713,Variable +OpcUa_XmlSchema_RelativePathElement_DictionaryFragment,12714,Variable +OpcUa_XmlSchema_RelativePath,12715,Variable +OpcUa_XmlSchema_RelativePath_DataTypeVersion,12716,Variable +OpcUa_XmlSchema_RelativePath_DictionaryFragment,12717,Variable +OpcUa_BinarySchema_RelativePathElement,12718,Variable +OpcUa_BinarySchema_RelativePathElement_DataTypeVersion,12719,Variable +OpcUa_BinarySchema_RelativePathElement_DictionaryFragment,12720,Variable +OpcUa_BinarySchema_RelativePath,12721,Variable +OpcUa_BinarySchema_RelativePath_DataTypeVersion,12722,Variable +OpcUa_BinarySchema_RelativePath_DictionaryFragment,12723,Variable +ServerConfigurationType_CreateSigningRequest,12731,Method +ServerConfigurationType_CreateSigningRequest_InputArguments,12732,Variable +ServerConfigurationType_CreateSigningRequest_OutputArguments,12733,Variable +ServerConfigurationType_ApplyChanges,12734,Method +ServerConfiguration_CreateSigningRequest,12737,Method +ServerConfiguration_CreateSigningRequest_InputArguments,12738,Variable +ServerConfiguration_CreateSigningRequest_OutputArguments,12739,Variable +ServerConfiguration_ApplyChanges,12740,Method +CreateSigningRequestMethodType,12741,Method +CreateSigningRequestMethodType_InputArguments,12742,Variable +CreateSigningRequestMethodType_OutputArguments,12743,Variable +OptionSetValues,12745,Variable +ServerType_SetSubscriptionDurable,12746,Method +ServerType_SetSubscriptionDurable_InputArguments,12747,Variable +ServerType_SetSubscriptionDurable_OutputArguments,12748,Variable +Server_SetSubscriptionDurable,12749,Method +Server_SetSubscriptionDurable_InputArguments,12750,Variable +Server_SetSubscriptionDurable_OutputArguments,12751,Variable +SetSubscriptionDurableMethodType,12752,Method +SetSubscriptionDurableMethodType_InputArguments,12753,Variable +SetSubscriptionDurableMethodType_OutputArguments,12754,Variable +OptionSet,12755,DataType +Union,12756,DataType +OptionSet_Encoding_DefaultXml,12757,Object +Union_Encoding_DefaultXml,12758,Object +OpcUa_XmlSchema_OptionSet,12759,Variable +OpcUa_XmlSchema_OptionSet_DataTypeVersion,12760,Variable +OpcUa_XmlSchema_OptionSet_DictionaryFragment,12761,Variable +OpcUa_XmlSchema_Union,12762,Variable +OpcUa_XmlSchema_Union_DataTypeVersion,12763,Variable +OpcUa_XmlSchema_Union_DictionaryFragment,12764,Variable +OptionSet_Encoding_DefaultBinary,12765,Object +Union_Encoding_DefaultBinary,12766,Object +OpcUa_BinarySchema_OptionSet,12767,Variable +OpcUa_BinarySchema_OptionSet_DataTypeVersion,12768,Variable +OpcUa_BinarySchema_OptionSet_DictionaryFragment,12769,Variable +OpcUa_BinarySchema_Union,12770,Variable +OpcUa_BinarySchema_Union_DataTypeVersion,12771,Variable +OpcUa_BinarySchema_Union_DictionaryFragment,12772,Variable +GetRejectedListMethodType,12773,Method +GetRejectedListMethodType_OutputArguments,12774,Variable +ServerConfigurationType_GetRejectedList,12775,Method +ServerConfigurationType_GetRejectedList_OutputArguments,12776,Variable +ServerConfiguration_GetRejectedList,12777,Method +ServerConfiguration_GetRejectedList_OutputArguments,12778,Variable +SamplingIntervalDiagnosticsArrayType_SamplingIntervalDiagnostics,12779,Variable +SamplingIntervalDiagnosticsArrayType_SamplingIntervalDiagnostics_SamplingInterval,12780,Variable +SamplingIntervalDiagnosticsArrayType_SamplingIntervalDiagnostics_SampledMonitoredItemsCount,12781,Variable +SamplingIntervalDiagnosticsArrayType_SamplingIntervalDiagnostics_MaxSampledMonitoredItemsCount,12782,Variable +SamplingIntervalDiagnosticsArrayType_SamplingIntervalDiagnostics_DisabledMonitoredItemsSamplingCount,12783,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics,12784,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_SessionId,12785,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_SubscriptionId,12786,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_Priority,12787,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_PublishingInterval,12788,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_MaxKeepAliveCount,12789,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_MaxLifetimeCount,12790,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_MaxNotificationsPerPublish,12791,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_PublishingEnabled,12792,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_ModifyCount,12793,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_EnableCount,12794,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_DisableCount,12795,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_RepublishRequestCount,12796,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_RepublishMessageRequestCount,12797,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_RepublishMessageCount,12798,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_TransferRequestCount,12799,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_TransferredToAltClientCount,12800,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_TransferredToSameClientCount,12801,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_PublishRequestCount,12802,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_DataChangeNotificationsCount,12803,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_EventNotificationsCount,12804,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_NotificationsCount,12805,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_LatePublishRequestCount,12806,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_CurrentKeepAliveCount,12807,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_CurrentLifetimeCount,12808,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_UnacknowledgedMessageCount,12809,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_DiscardedMessageCount,12810,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_MonitoredItemCount,12811,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_DisabledMonitoredItemCount,12812,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_MonitoringQueueOverflowCount,12813,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_NextSequenceNumber,12814,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_EventQueueOverFlowCount,12815,Variable +SessionDiagnosticsArrayType_SessionDiagnostics,12816,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_SessionId,12817,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_SessionName,12818,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_ClientDescription,12819,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_ServerUri,12820,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_EndpointUrl,12821,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_LocaleIds,12822,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_ActualSessionTimeout,12823,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_MaxResponseMessageSize,12824,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_ClientConnectionTime,12825,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_ClientLastContactTime,12826,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_CurrentSubscriptionsCount,12827,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_CurrentMonitoredItemsCount,12828,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_CurrentPublishRequestsInQueue,12829,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_TotalRequestCount,12830,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_UnauthorizedRequestCount,12831,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_ReadCount,12832,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_HistoryReadCount,12833,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_WriteCount,12834,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_HistoryUpdateCount,12835,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_CallCount,12836,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_CreateMonitoredItemsCount,12837,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_ModifyMonitoredItemsCount,12838,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_SetMonitoringModeCount,12839,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_SetTriggeringCount,12840,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_DeleteMonitoredItemsCount,12841,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_CreateSubscriptionCount,12842,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_ModifySubscriptionCount,12843,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_SetPublishingModeCount,12844,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_PublishCount,12845,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_RepublishCount,12846,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_TransferSubscriptionsCount,12847,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_DeleteSubscriptionsCount,12848,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_AddNodesCount,12849,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_AddReferencesCount,12850,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_DeleteNodesCount,12851,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_DeleteReferencesCount,12852,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_BrowseCount,12853,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_BrowseNextCount,12854,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_TranslateBrowsePathsToNodeIdsCount,12855,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_QueryFirstCount,12856,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_QueryNextCount,12857,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_RegisterNodesCount,12858,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_UnregisterNodesCount,12859,Variable +SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics,12860,Variable +SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_SessionId,12861,Variable +SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_ClientUserIdOfSession,12862,Variable +SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_ClientUserIdHistory,12863,Variable +SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_AuthenticationMechanism,12864,Variable +SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_Encoding,12865,Variable +SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_TransportProtocol,12866,Variable +SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_SecurityMode,12867,Variable +SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_SecurityPolicyUri,12868,Variable +SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_ClientCertificate,12869,Variable +ServerType_ResendData,12871,Method +ServerType_ResendData_InputArguments,12872,Variable +Server_ResendData,12873,Method +Server_ResendData_InputArguments,12874,Variable +ResendDataMethodType,12875,Method +ResendDataMethodType_InputArguments,12876,Variable +NormalizedString,12877,DataType +DecimalString,12878,DataType +DurationString,12879,DataType +TimeString,12880,DataType +DateString,12881,DataType +ServerType_EstimatedReturnTime,12882,Variable +ServerType_RequestServerStateChange,12883,Method +ServerType_RequestServerStateChange_InputArguments,12884,Variable +Server_EstimatedReturnTime,12885,Variable +Server_RequestServerStateChange,12886,Method +Server_RequestServerStateChange_InputArguments,12887,Variable +RequestServerStateChangeMethodType,12888,Method +RequestServerStateChangeMethodType_InputArguments,12889,Variable +DiscoveryConfiguration,12890,DataType +MdnsDiscoveryConfiguration,12891,DataType +DiscoveryConfiguration_Encoding_DefaultXml,12892,Object +MdnsDiscoveryConfiguration_Encoding_DefaultXml,12893,Object +OpcUa_XmlSchema_DiscoveryConfiguration,12894,Variable +OpcUa_XmlSchema_DiscoveryConfiguration_DataTypeVersion,12895,Variable +OpcUa_XmlSchema_DiscoveryConfiguration_DictionaryFragment,12896,Variable +OpcUa_XmlSchema_MdnsDiscoveryConfiguration,12897,Variable +OpcUa_XmlSchema_MdnsDiscoveryConfiguration_DataTypeVersion,12898,Variable +OpcUa_XmlSchema_MdnsDiscoveryConfiguration_DictionaryFragment,12899,Variable +DiscoveryConfiguration_Encoding_DefaultBinary,12900,Object +MdnsDiscoveryConfiguration_Encoding_DefaultBinary,12901,Object +OpcUa_BinarySchema_DiscoveryConfiguration,12902,Variable +OpcUa_BinarySchema_DiscoveryConfiguration_DataTypeVersion,12903,Variable +OpcUa_BinarySchema_DiscoveryConfiguration_DictionaryFragment,12904,Variable +OpcUa_BinarySchema_MdnsDiscoveryConfiguration,12905,Variable +OpcUa_BinarySchema_MdnsDiscoveryConfiguration_DataTypeVersion,12906,Variable +OpcUa_BinarySchema_MdnsDiscoveryConfiguration_DictionaryFragment,12907,Variable +MaxByteStringLength,12908,Variable +ServerType_ServerCapabilities_MaxByteStringLength,12909,Variable +ServerCapabilitiesType_MaxByteStringLength,12910,Variable +Server_ServerCapabilities_MaxByteStringLength,12911,Variable +ConditionType_ConditionRefresh2,12912,Method +ConditionType_ConditionRefresh2_InputArguments,12913,Variable +ConditionRefresh2MethodType,12914,Method +ConditionRefresh2MethodType_InputArguments,12915,Variable +DialogConditionType_ConditionRefresh2,12916,Method +DialogConditionType_ConditionRefresh2_InputArguments,12917,Variable +AcknowledgeableConditionType_ConditionRefresh2,12918,Method +AcknowledgeableConditionType_ConditionRefresh2_InputArguments,12919,Variable +AlarmConditionType_ConditionRefresh2,12984,Method +AlarmConditionType_ConditionRefresh2_InputArguments,12985,Variable +LimitAlarmType_ConditionRefresh2,12986,Method +LimitAlarmType_ConditionRefresh2_InputArguments,12987,Variable +ExclusiveLimitAlarmType_ConditionRefresh2,12988,Method +ExclusiveLimitAlarmType_ConditionRefresh2_InputArguments,12989,Variable +NonExclusiveLimitAlarmType_ConditionRefresh2,12990,Method +NonExclusiveLimitAlarmType_ConditionRefresh2_InputArguments,12991,Variable +NonExclusiveLevelAlarmType_ConditionRefresh2,12992,Method +NonExclusiveLevelAlarmType_ConditionRefresh2_InputArguments,12993,Variable +ExclusiveLevelAlarmType_ConditionRefresh2,12994,Method +ExclusiveLevelAlarmType_ConditionRefresh2_InputArguments,12995,Variable +NonExclusiveDeviationAlarmType_ConditionRefresh2,12996,Method +NonExclusiveDeviationAlarmType_ConditionRefresh2_InputArguments,12997,Variable +ExclusiveDeviationAlarmType_ConditionRefresh2,12998,Method +ExclusiveDeviationAlarmType_ConditionRefresh2_InputArguments,12999,Variable +NonExclusiveRateOfChangeAlarmType_ConditionRefresh2,13000,Method +NonExclusiveRateOfChangeAlarmType_ConditionRefresh2_InputArguments,13001,Variable +ExclusiveRateOfChangeAlarmType_ConditionRefresh2,13002,Method +ExclusiveRateOfChangeAlarmType_ConditionRefresh2_InputArguments,13003,Variable +DiscreteAlarmType_ConditionRefresh2,13004,Method +DiscreteAlarmType_ConditionRefresh2_InputArguments,13005,Variable +OffNormalAlarmType_ConditionRefresh2,13006,Method +OffNormalAlarmType_ConditionRefresh2_InputArguments,13007,Variable +SystemOffNormalAlarmType_ConditionRefresh2,13008,Method +SystemOffNormalAlarmType_ConditionRefresh2_InputArguments,13009,Variable +TripAlarmType_ConditionRefresh2,13010,Method +TripAlarmType_ConditionRefresh2_InputArguments,13011,Variable +CertificateExpirationAlarmType,13225,ObjectType +CertificateExpirationAlarmType_EventId,13226,Variable +CertificateExpirationAlarmType_EventType,13227,Variable +CertificateExpirationAlarmType_SourceNode,13228,Variable +CertificateExpirationAlarmType_SourceName,13229,Variable +CertificateExpirationAlarmType_Time,13230,Variable +CertificateExpirationAlarmType_ReceiveTime,13231,Variable +CertificateExpirationAlarmType_LocalTime,13232,Variable +CertificateExpirationAlarmType_Message,13233,Variable +CertificateExpirationAlarmType_Severity,13234,Variable +CertificateExpirationAlarmType_ConditionClassId,13235,Variable +CertificateExpirationAlarmType_ConditionClassName,13236,Variable +CertificateExpirationAlarmType_ConditionName,13237,Variable +CertificateExpirationAlarmType_BranchId,13238,Variable +CertificateExpirationAlarmType_Retain,13239,Variable +CertificateExpirationAlarmType_EnabledState,13240,Variable +CertificateExpirationAlarmType_EnabledState_Id,13241,Variable +CertificateExpirationAlarmType_EnabledState_Name,13242,Variable +CertificateExpirationAlarmType_EnabledState_Number,13243,Variable +CertificateExpirationAlarmType_EnabledState_EffectiveDisplayName,13244,Variable +CertificateExpirationAlarmType_EnabledState_TransitionTime,13245,Variable +CertificateExpirationAlarmType_EnabledState_EffectiveTransitionTime,13246,Variable +CertificateExpirationAlarmType_EnabledState_TrueState,13247,Variable +CertificateExpirationAlarmType_EnabledState_FalseState,13248,Variable +CertificateExpirationAlarmType_Quality,13249,Variable +CertificateExpirationAlarmType_Quality_SourceTimestamp,13250,Variable +CertificateExpirationAlarmType_LastSeverity,13251,Variable +CertificateExpirationAlarmType_LastSeverity_SourceTimestamp,13252,Variable +CertificateExpirationAlarmType_Comment,13253,Variable +CertificateExpirationAlarmType_Comment_SourceTimestamp,13254,Variable +CertificateExpirationAlarmType_ClientUserId,13255,Variable +CertificateExpirationAlarmType_Disable,13256,Method +CertificateExpirationAlarmType_Enable,13257,Method +CertificateExpirationAlarmType_AddComment,13258,Method +CertificateExpirationAlarmType_AddComment_InputArguments,13259,Variable +CertificateExpirationAlarmType_ConditionRefresh,13260,Method +CertificateExpirationAlarmType_ConditionRefresh_InputArguments,13261,Variable +CertificateExpirationAlarmType_ConditionRefresh2,13262,Method +CertificateExpirationAlarmType_ConditionRefresh2_InputArguments,13263,Variable +CertificateExpirationAlarmType_AckedState,13264,Variable +CertificateExpirationAlarmType_AckedState_Id,13265,Variable +CertificateExpirationAlarmType_AckedState_Name,13266,Variable +CertificateExpirationAlarmType_AckedState_Number,13267,Variable +CertificateExpirationAlarmType_AckedState_EffectiveDisplayName,13268,Variable +CertificateExpirationAlarmType_AckedState_TransitionTime,13269,Variable +CertificateExpirationAlarmType_AckedState_EffectiveTransitionTime,13270,Variable +CertificateExpirationAlarmType_AckedState_TrueState,13271,Variable +CertificateExpirationAlarmType_AckedState_FalseState,13272,Variable +CertificateExpirationAlarmType_ConfirmedState,13273,Variable +CertificateExpirationAlarmType_ConfirmedState_Id,13274,Variable +CertificateExpirationAlarmType_ConfirmedState_Name,13275,Variable +CertificateExpirationAlarmType_ConfirmedState_Number,13276,Variable +CertificateExpirationAlarmType_ConfirmedState_EffectiveDisplayName,13277,Variable +CertificateExpirationAlarmType_ConfirmedState_TransitionTime,13278,Variable +CertificateExpirationAlarmType_ConfirmedState_EffectiveTransitionTime,13279,Variable +CertificateExpirationAlarmType_ConfirmedState_TrueState,13280,Variable +CertificateExpirationAlarmType_ConfirmedState_FalseState,13281,Variable +CertificateExpirationAlarmType_Acknowledge,13282,Method +CertificateExpirationAlarmType_Acknowledge_InputArguments,13283,Variable +CertificateExpirationAlarmType_Confirm,13284,Method +CertificateExpirationAlarmType_Confirm_InputArguments,13285,Variable +CertificateExpirationAlarmType_ActiveState,13286,Variable +CertificateExpirationAlarmType_ActiveState_Id,13287,Variable +CertificateExpirationAlarmType_ActiveState_Name,13288,Variable +CertificateExpirationAlarmType_ActiveState_Number,13289,Variable +CertificateExpirationAlarmType_ActiveState_EffectiveDisplayName,13290,Variable +CertificateExpirationAlarmType_ActiveState_TransitionTime,13291,Variable +CertificateExpirationAlarmType_ActiveState_EffectiveTransitionTime,13292,Variable +CertificateExpirationAlarmType_ActiveState_TrueState,13293,Variable +CertificateExpirationAlarmType_ActiveState_FalseState,13294,Variable +CertificateExpirationAlarmType_InputNode,13295,Variable +CertificateExpirationAlarmType_SuppressedState,13296,Variable +CertificateExpirationAlarmType_SuppressedState_Id,13297,Variable +CertificateExpirationAlarmType_SuppressedState_Name,13298,Variable +CertificateExpirationAlarmType_SuppressedState_Number,13299,Variable +CertificateExpirationAlarmType_SuppressedState_EffectiveDisplayName,13300,Variable +CertificateExpirationAlarmType_SuppressedState_TransitionTime,13301,Variable +CertificateExpirationAlarmType_SuppressedState_EffectiveTransitionTime,13302,Variable +CertificateExpirationAlarmType_SuppressedState_TrueState,13303,Variable +CertificateExpirationAlarmType_SuppressedState_FalseState,13304,Variable +CertificateExpirationAlarmType_ShelvingState,13305,Object +CertificateExpirationAlarmType_ShelvingState_CurrentState,13306,Variable +CertificateExpirationAlarmType_ShelvingState_CurrentState_Id,13307,Variable +CertificateExpirationAlarmType_ShelvingState_CurrentState_Name,13308,Variable +CertificateExpirationAlarmType_ShelvingState_CurrentState_Number,13309,Variable +CertificateExpirationAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,13310,Variable +CertificateExpirationAlarmType_ShelvingState_LastTransition,13311,Variable +CertificateExpirationAlarmType_ShelvingState_LastTransition_Id,13312,Variable +CertificateExpirationAlarmType_ShelvingState_LastTransition_Name,13313,Variable +CertificateExpirationAlarmType_ShelvingState_LastTransition_Number,13314,Variable +CertificateExpirationAlarmType_ShelvingState_LastTransition_TransitionTime,13315,Variable +CertificateExpirationAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,13316,Variable +CertificateExpirationAlarmType_ShelvingState_UnshelveTime,13317,Variable +CertificateExpirationAlarmType_ShelvingState_Unshelve,13318,Method +CertificateExpirationAlarmType_ShelvingState_OneShotShelve,13319,Method +CertificateExpirationAlarmType_ShelvingState_TimedShelve,13320,Method +CertificateExpirationAlarmType_ShelvingState_TimedShelve_InputArguments,13321,Variable +CertificateExpirationAlarmType_SuppressedOrShelved,13322,Variable +CertificateExpirationAlarmType_MaxTimeShelved,13323,Variable +CertificateExpirationAlarmType_NormalState,13324,Variable +CertificateExpirationAlarmType_ExpirationDate,13325,Variable +CertificateExpirationAlarmType_CertificateType,13326,Variable +CertificateExpirationAlarmType_Certificate,13327,Variable +ServerType_Namespaces_AddressSpaceFile_MimeType,13340,Variable +FileType_MimeType,13341,Variable +CreateDirectoryMethodType,13342,Method +CreateDirectoryMethodType_InputArguments,13343,Variable +CreateDirectoryMethodType_OutputArguments,13344,Variable +CreateFileMethodType,13345,Method +CreateFileMethodType_InputArguments,13346,Variable +CreateFileMethodType_OutputArguments,13347,Variable +DeleteFileMethodType,13348,Method +DeleteFileMethodType_InputArguments,13349,Variable +MoveOrCopyMethodType,13350,Method +MoveOrCopyMethodType_InputArguments,13351,Variable +MoveOrCopyMethodType_OutputArguments,13352,Variable +FileDirectoryType,13353,ObjectType +FileDirectoryType_FileDirectoryName_Placeholder,13354,Object +FileDirectoryType_FileDirectoryName_Placeholder_CreateDirectory,13355,Method +FileDirectoryType_FileDirectoryName_Placeholder_CreateDirectory_InputArguments,13356,Variable +FileDirectoryType_FileDirectoryName_Placeholder_CreateDirectory_OutputArguments,13357,Variable +FileDirectoryType_FileDirectoryName_Placeholder_CreateFile,13358,Method +FileDirectoryType_FileDirectoryName_Placeholder_CreateFile_InputArguments,13359,Variable +FileDirectoryType_FileDirectoryName_Placeholder_CreateFile_OutputArguments,13360,Variable +FileDirectoryType_FileDirectoryName_Placeholder_Delete,13361,Method +FileDirectoryType_FileDirectoryName_Placeholder_Delete_InputArguments,13362,Variable +FileDirectoryType_FileDirectoryName_Placeholder_MoveOrCopy,13363,Method +FileDirectoryType_FileDirectoryName_Placeholder_MoveOrCopy_InputArguments,13364,Variable +FileDirectoryType_FileDirectoryName_Placeholder_MoveOrCopy_OutputArguments,13365,Variable +FileDirectoryType_FileName_Placeholder,13366,Object +FileDirectoryType_FileName_Placeholder_Size,13367,Variable +FileDirectoryType_FileName_Placeholder_Writable,13368,Variable +FileDirectoryType_FileName_Placeholder_UserWritable,13369,Variable +FileDirectoryType_FileName_Placeholder_OpenCount,13370,Variable +FileDirectoryType_FileName_Placeholder_MimeType,13371,Variable +FileDirectoryType_FileName_Placeholder_Open,13372,Method +FileDirectoryType_FileName_Placeholder_Open_InputArguments,13373,Variable +FileDirectoryType_FileName_Placeholder_Open_OutputArguments,13374,Variable +FileDirectoryType_FileName_Placeholder_Close,13375,Method +FileDirectoryType_FileName_Placeholder_Close_InputArguments,13376,Variable +FileDirectoryType_FileName_Placeholder_Read,13377,Method +FileDirectoryType_FileName_Placeholder_Read_InputArguments,13378,Variable +FileDirectoryType_FileName_Placeholder_Read_OutputArguments,13379,Variable +FileDirectoryType_FileName_Placeholder_Write,13380,Method +FileDirectoryType_FileName_Placeholder_Write_InputArguments,13381,Variable +FileDirectoryType_FileName_Placeholder_GetPosition,13382,Method +FileDirectoryType_FileName_Placeholder_GetPosition_InputArguments,13383,Variable +FileDirectoryType_FileName_Placeholder_GetPosition_OutputArguments,13384,Variable +FileDirectoryType_FileName_Placeholder_SetPosition,13385,Method +FileDirectoryType_FileName_Placeholder_SetPosition_InputArguments,13386,Variable +FileDirectoryType_CreateDirectory,13387,Method +FileDirectoryType_CreateDirectory_InputArguments,13388,Variable +FileDirectoryType_CreateDirectory_OutputArguments,13389,Variable +FileDirectoryType_CreateFile,13390,Method +FileDirectoryType_CreateFile_InputArguments,13391,Variable +FileDirectoryType_CreateFile_OutputArguments,13392,Variable +FileDirectoryType_Delete,13393,Method +FileDirectoryType_Delete_InputArguments,13394,Variable +FileDirectoryType_MoveOrCopy,13395,Method +FileDirectoryType_MoveOrCopy_InputArguments,13396,Variable +FileDirectoryType_MoveOrCopy_OutputArguments,13397,Variable +AddressSpaceFileType_MimeType,13398,Variable +NamespaceMetadataType_NamespaceFile_MimeType,13399,Variable +NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_MimeType,13400,Variable +NamespacesType_AddressSpaceFile_MimeType,13401,Variable +Server_Namespaces_AddressSpaceFile_MimeType,13402,Variable +TrustListType_MimeType,13403,Variable +CertificateGroupType_TrustList,13599,Object +CertificateGroupType_TrustList_Size,13600,Variable +CertificateGroupType_TrustList_Writable,13601,Variable +CertificateGroupType_TrustList_UserWritable,13602,Variable +CertificateGroupType_TrustList_OpenCount,13603,Variable +CertificateGroupType_TrustList_MimeType,13604,Variable +CertificateGroupType_TrustList_Open,13605,Method +CertificateGroupType_TrustList_Open_InputArguments,13606,Variable +CertificateGroupType_TrustList_Open_OutputArguments,13607,Variable +CertificateGroupType_TrustList_Close,13608,Method +CertificateGroupType_TrustList_Close_InputArguments,13609,Variable +CertificateGroupType_TrustList_Read,13610,Method +CertificateGroupType_TrustList_Read_InputArguments,13611,Variable +CertificateGroupType_TrustList_Read_OutputArguments,13612,Variable +CertificateGroupType_TrustList_Write,13613,Method +CertificateGroupType_TrustList_Write_InputArguments,13614,Variable +CertificateGroupType_TrustList_GetPosition,13615,Method +CertificateGroupType_TrustList_GetPosition_InputArguments,13616,Variable +CertificateGroupType_TrustList_GetPosition_OutputArguments,13617,Variable +CertificateGroupType_TrustList_SetPosition,13618,Method +CertificateGroupType_TrustList_SetPosition_InputArguments,13619,Variable +CertificateGroupType_TrustList_LastUpdateTime,13620,Variable +CertificateGroupType_TrustList_OpenWithMasks,13621,Method +CertificateGroupType_TrustList_OpenWithMasks_InputArguments,13622,Variable +CertificateGroupType_TrustList_OpenWithMasks_OutputArguments,13623,Variable +CertificateGroupType_TrustList_CloseAndUpdate,13624,Method +CertificateGroupType_TrustList_CloseAndUpdate_InputArguments,13625,Variable +CertificateGroupType_TrustList_CloseAndUpdate_OutputArguments,13626,Variable +CertificateGroupType_TrustList_AddCertificate,13627,Method +CertificateGroupType_TrustList_AddCertificate_InputArguments,13628,Variable +CertificateGroupType_TrustList_RemoveCertificate,13629,Method +CertificateGroupType_TrustList_RemoveCertificate_InputArguments,13630,Variable +CertificateGroupType_CertificateTypes,13631,Variable +CertificateUpdatedAuditEventType_CertificateGroup,13735,Variable +CertificateUpdatedAuditEventType_CertificateType,13736,Variable +ServerConfiguration_UpdateCertificate,13737,Method +ServerConfiguration_UpdateCertificate_InputArguments,13738,Variable +ServerConfiguration_UpdateCertificate_OutputArguments,13739,Variable +CertificateGroupFolderType,13813,ObjectType +CertificateGroupFolderType_DefaultApplicationGroup,13814,Object +CertificateGroupFolderType_DefaultApplicationGroup_TrustList,13815,Object +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Size,13816,Variable +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Writable,13817,Variable +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_UserWritable,13818,Variable +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_OpenCount,13819,Variable +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_MimeType,13820,Variable +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Open,13821,Method +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Open_InputArguments,13822,Variable +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Open_OutputArguments,13823,Variable +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Close,13824,Method +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Close_InputArguments,13825,Variable +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Read,13826,Method +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Read_InputArguments,13827,Variable +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Read_OutputArguments,13828,Variable +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Write,13829,Method +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Write_InputArguments,13830,Variable +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_GetPosition,13831,Method +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_GetPosition_InputArguments,13832,Variable +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_GetPosition_OutputArguments,13833,Variable +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_SetPosition,13834,Method +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_SetPosition_InputArguments,13835,Variable +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_LastUpdateTime,13836,Variable +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_OpenWithMasks,13837,Method +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_OpenWithMasks_InputArguments,13838,Variable +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_OpenWithMasks_OutputArguments,13839,Variable +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_CloseAndUpdate,13840,Method +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_CloseAndUpdate_InputArguments,13841,Variable +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_CloseAndUpdate_OutputArguments,13842,Variable +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_AddCertificate,13843,Method +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_AddCertificate_InputArguments,13844,Variable +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_RemoveCertificate,13845,Method +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_RemoveCertificate_InputArguments,13846,Variable +CertificateGroupFolderType_DefaultApplicationGroup_CertificateTypes,13847,Variable +CertificateGroupFolderType_DefaultHttpsGroup,13848,Object +CertificateGroupFolderType_DefaultHttpsGroup_TrustList,13849,Object +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Size,13850,Variable +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Writable,13851,Variable +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_UserWritable,13852,Variable +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_OpenCount,13853,Variable +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_MimeType,13854,Variable +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Open,13855,Method +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Open_InputArguments,13856,Variable +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Open_OutputArguments,13857,Variable +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Close,13858,Method +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Close_InputArguments,13859,Variable +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Read,13860,Method +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Read_InputArguments,13861,Variable +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Read_OutputArguments,13862,Variable +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Write,13863,Method +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Write_InputArguments,13864,Variable +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_GetPosition,13865,Method +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_GetPosition_InputArguments,13866,Variable +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_GetPosition_OutputArguments,13867,Variable +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_SetPosition,13868,Method +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_SetPosition_InputArguments,13869,Variable +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_LastUpdateTime,13870,Variable +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_OpenWithMasks,13871,Method +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_OpenWithMasks_InputArguments,13872,Variable +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_OpenWithMasks_OutputArguments,13873,Variable +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_CloseAndUpdate,13874,Method +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_CloseAndUpdate_InputArguments,13875,Variable +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_CloseAndUpdate_OutputArguments,13876,Variable +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_AddCertificate,13877,Method +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_AddCertificate_InputArguments,13878,Variable +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_RemoveCertificate,13879,Method +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_RemoveCertificate_InputArguments,13880,Variable +CertificateGroupFolderType_DefaultHttpsGroup_CertificateTypes,13881,Variable +CertificateGroupFolderType_DefaultUserTokenGroup,13882,Object +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList,13883,Object +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Size,13884,Variable +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Writable,13885,Variable +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_UserWritable,13886,Variable +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_OpenCount,13887,Variable +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_MimeType,13888,Variable +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Open,13889,Method +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Open_InputArguments,13890,Variable +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Open_OutputArguments,13891,Variable +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Close,13892,Method +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Close_InputArguments,13893,Variable +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Read,13894,Method +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Read_InputArguments,13895,Variable +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Read_OutputArguments,13896,Variable +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Write,13897,Method +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Write_InputArguments,13898,Variable +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_GetPosition,13899,Method +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_GetPosition_InputArguments,13900,Variable +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_GetPosition_OutputArguments,13901,Variable +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_SetPosition,13902,Method +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_SetPosition_InputArguments,13903,Variable +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_LastUpdateTime,13904,Variable +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_OpenWithMasks,13905,Method +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_OpenWithMasks_InputArguments,13906,Variable +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_OpenWithMasks_OutputArguments,13907,Variable +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_CloseAndUpdate,13908,Method +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_CloseAndUpdate_InputArguments,13909,Variable +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_CloseAndUpdate_OutputArguments,13910,Variable +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_AddCertificate,13911,Method +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_AddCertificate_InputArguments,13912,Variable +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_RemoveCertificate,13913,Method +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_RemoveCertificate_InputArguments,13914,Variable +CertificateGroupFolderType_DefaultUserTokenGroup_CertificateTypes,13915,Variable +CertificateGroupFolderType_AdditionalGroup_Placeholder,13916,Object +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList,13917,Object +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Size,13918,Variable +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Writable,13919,Variable +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_UserWritable,13920,Variable +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_OpenCount,13921,Variable +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_MimeType,13922,Variable +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Open,13923,Method +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Open_InputArguments,13924,Variable +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Open_OutputArguments,13925,Variable +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Close,13926,Method +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Close_InputArguments,13927,Variable +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Read,13928,Method +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Read_InputArguments,13929,Variable +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Read_OutputArguments,13930,Variable +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Write,13931,Method +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Write_InputArguments,13932,Variable +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_GetPosition,13933,Method +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_GetPosition_InputArguments,13934,Variable +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_GetPosition_OutputArguments,13935,Variable +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_SetPosition,13936,Method +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_SetPosition_InputArguments,13937,Variable +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_LastUpdateTime,13938,Variable +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_OpenWithMasks,13939,Method +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_OpenWithMasks_InputArguments,13940,Variable +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_OpenWithMasks_OutputArguments,13941,Variable +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_CloseAndUpdate,13942,Method +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_CloseAndUpdate_InputArguments,13943,Variable +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_CloseAndUpdate_OutputArguments,13944,Variable +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_AddCertificate,13945,Method +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_AddCertificate_InputArguments,13946,Variable +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_RemoveCertificate,13947,Method +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_RemoveCertificate_InputArguments,13948,Variable +CertificateGroupFolderType_AdditionalGroup_Placeholder_CertificateTypes,13949,Variable +ServerConfigurationType_CertificateGroups,13950,Object +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup,13951,Object +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList,13952,Object +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Size,13953,Variable +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Writable,13954,Variable +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_UserWritable,13955,Variable +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_OpenCount,13956,Variable +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_MimeType,13957,Variable +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Open,13958,Method +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Open_InputArguments,13959,Variable +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Open_OutputArguments,13960,Variable +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Close,13961,Method +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Close_InputArguments,13962,Variable +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Read,13963,Method +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Read_InputArguments,13964,Variable +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Read_OutputArguments,13965,Variable +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Write,13966,Method +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Write_InputArguments,13967,Variable +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_GetPosition,13968,Method +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_GetPosition_InputArguments,13969,Variable +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_GetPosition_OutputArguments,13970,Variable +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_SetPosition,13971,Method +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_SetPosition_InputArguments,13972,Variable +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_LastUpdateTime,13973,Variable +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_OpenWithMasks,13974,Method +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_OpenWithMasks_InputArguments,13975,Variable +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_OpenWithMasks_OutputArguments,13976,Variable +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_CloseAndUpdate,13977,Method +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_CloseAndUpdate_InputArguments,13978,Variable +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_CloseAndUpdate_OutputArguments,13979,Variable +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_AddCertificate,13980,Method +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_AddCertificate_InputArguments,13981,Variable +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_RemoveCertificate,13982,Method +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_RemoveCertificate_InputArguments,13983,Variable +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_CertificateTypes,13984,Variable +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup,13985,Object +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList,13986,Object +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Size,13987,Variable +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Writable,13988,Variable +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_UserWritable,13989,Variable +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_OpenCount,13990,Variable +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_MimeType,13991,Variable +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Open,13992,Method +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Open_InputArguments,13993,Variable +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Open_OutputArguments,13994,Variable +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Close,13995,Method +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Close_InputArguments,13996,Variable +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Read,13997,Method +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Read_InputArguments,13998,Variable +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Read_OutputArguments,13999,Variable +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Write,14000,Method +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Write_InputArguments,14001,Variable +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_GetPosition,14002,Method +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_GetPosition_InputArguments,14003,Variable +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_GetPosition_OutputArguments,14004,Variable +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_SetPosition,14005,Method +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_SetPosition_InputArguments,14006,Variable +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_LastUpdateTime,14007,Variable +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_OpenWithMasks,14008,Method +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_OpenWithMasks_InputArguments,14009,Variable +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_OpenWithMasks_OutputArguments,14010,Variable +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_CloseAndUpdate,14011,Method +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_CloseAndUpdate_InputArguments,14012,Variable +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_CloseAndUpdate_OutputArguments,14013,Variable +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_AddCertificate,14014,Method +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_AddCertificate_InputArguments,14015,Variable +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_RemoveCertificate,14016,Method +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_RemoveCertificate_InputArguments,14017,Variable +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_CertificateTypes,14018,Variable +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup,14019,Object +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList,14020,Object +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Size,14021,Variable +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Writable,14022,Variable +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_UserWritable,14023,Variable +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenCount,14024,Variable +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_MimeType,14025,Variable +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Open,14026,Method +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Open_InputArguments,14027,Variable +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Open_OutputArguments,14028,Variable +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Close,14029,Method +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Close_InputArguments,14030,Variable +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Read,14031,Method +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Read_InputArguments,14032,Variable +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Read_OutputArguments,14033,Variable +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Write,14034,Method +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Write_InputArguments,14035,Variable +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_GetPosition,14036,Method +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_GetPosition_InputArguments,14037,Variable +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_GetPosition_OutputArguments,14038,Variable +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_SetPosition,14039,Method +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_SetPosition_InputArguments,14040,Variable +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_LastUpdateTime,14041,Variable +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenWithMasks,14042,Method +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenWithMasks_InputArguments,14043,Variable +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenWithMasks_OutputArguments,14044,Variable +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_CloseAndUpdate,14045,Method +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_CloseAndUpdate_InputArguments,14046,Variable +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_CloseAndUpdate_OutputArguments,14047,Variable +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_AddCertificate,14048,Method +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_AddCertificate_InputArguments,14049,Variable +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_RemoveCertificate,14050,Method +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_RemoveCertificate_InputArguments,14051,Variable +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_CertificateTypes,14052,Variable +ServerConfiguration_CertificateGroups,14053,Object +ServerConfiguration_CertificateGroups_DefaultHttpsGroup,14088,Object +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList,14089,Object +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Size,14090,Variable +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Writable,14091,Variable +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_UserWritable,14092,Variable +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_OpenCount,14093,Variable +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_MimeType,14094,Variable +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Open,14095,Method +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Open_InputArguments,14096,Variable +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Open_OutputArguments,14097,Variable +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Close,14098,Method +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Close_InputArguments,14099,Variable +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Read,14100,Method +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Read_InputArguments,14101,Variable +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Read_OutputArguments,14102,Variable +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Write,14103,Method +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Write_InputArguments,14104,Variable +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_GetPosition,14105,Method +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_GetPosition_InputArguments,14106,Variable +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_GetPosition_OutputArguments,14107,Variable +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_SetPosition,14108,Method +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_SetPosition_InputArguments,14109,Variable +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_LastUpdateTime,14110,Variable +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_OpenWithMasks,14111,Method +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_OpenWithMasks_InputArguments,14112,Variable +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_OpenWithMasks_OutputArguments,14113,Variable +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_CloseAndUpdate,14114,Method +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_CloseAndUpdate_InputArguments,14115,Variable +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_CloseAndUpdate_OutputArguments,14116,Variable +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_AddCertificate,14117,Method +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_AddCertificate_InputArguments,14118,Variable +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_RemoveCertificate,14119,Method +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_RemoveCertificate_InputArguments,14120,Variable +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_CertificateTypes,14121,Variable +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup,14122,Object +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList,14123,Object +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Size,14124,Variable +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Writable,14125,Variable +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_UserWritable,14126,Variable +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenCount,14127,Variable +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_MimeType,14128,Variable +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Open,14129,Method +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Open_InputArguments,14130,Variable +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Open_OutputArguments,14131,Variable +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Close,14132,Method +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Close_InputArguments,14133,Variable +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Read,14134,Method +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Read_InputArguments,14135,Variable +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Read_OutputArguments,14136,Variable +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Write,14137,Method +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Write_InputArguments,14138,Variable +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_GetPosition,14139,Method +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_GetPosition_InputArguments,14140,Variable +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_GetPosition_OutputArguments,14141,Variable +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_SetPosition,14142,Method +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_SetPosition_InputArguments,14143,Variable +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_LastUpdateTime,14144,Variable +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenWithMasks,14145,Method +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenWithMasks_InputArguments,14146,Variable +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenWithMasks_OutputArguments,14147,Variable +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_CloseAndUpdate,14148,Method +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_CloseAndUpdate_InputArguments,14149,Variable +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_CloseAndUpdate_OutputArguments,14150,Variable +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_AddCertificate,14151,Method +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_AddCertificate_InputArguments,14152,Variable +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_RemoveCertificate,14153,Method +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_RemoveCertificate_InputArguments,14154,Variable +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_CertificateTypes,14155,Variable +ServerConfiguration_CertificateGroups_DefaultApplicationGroup,14156,Object +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Writable,14157,Variable +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_UserWritable,14158,Variable +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_MimeType,14159,Variable +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_CloseAndUpdate_InputArguments,14160,Variable +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_CertificateTypes,14161,Variable +AuditCreateSessionEventType_SessionId,14413,Variable +AuditUrlMismatchEventType_SessionId,14414,Variable +Server_ServerRedundancy_ServerNetworkGroups,14415,Variable +CertificateExpirationAlarmType_ExpirationLimit,14900,Variable +Server_Namespaces_OPCUANamespaceUri,15182,Object +Server_Namespaces_OPCUANamespaceUri_NamespaceUri,15183,Variable +Server_Namespaces_OPCUANamespaceUri_NamespaceVersion,15184,Variable +Server_Namespaces_OPCUANamespaceUri_NamespacePublicationDate,15185,Variable +Server_Namespaces_OPCUANamespaceUri_IsNamespaceSubset,15186,Variable +Server_Namespaces_OPCUANamespaceUri_StaticNodeIdTypes,15187,Variable +Server_Namespaces_OPCUANamespaceUri_StaticNumericNodeIdRange,15188,Variable +Server_Namespaces_OPCUANamespaceUri_StaticStringNodeIdPattern,15189,Variable +Server_Namespaces_OPCUANamespaceUri_NamespaceFile,15190,Object +Server_Namespaces_OPCUANamespaceUri_NamespaceFile_Size,15191,Variable +Server_Namespaces_OPCUANamespaceUri_NamespaceFile_Writable,15192,Variable +Server_Namespaces_OPCUANamespaceUri_NamespaceFile_UserWritable,15193,Variable +Server_Namespaces_OPCUANamespaceUri_NamespaceFile_OpenCount,15194,Variable +Server_Namespaces_OPCUANamespaceUri_NamespaceFile_MimeType,15195,Variable +Server_Namespaces_OPCUANamespaceUri_NamespaceFile_Open,15196,Method +Server_Namespaces_OPCUANamespaceUri_NamespaceFile_Open_InputArguments,15197,Variable +Server_Namespaces_OPCUANamespaceUri_NamespaceFile_Open_OutputArguments,15198,Variable +Server_Namespaces_OPCUANamespaceUri_NamespaceFile_Close,15199,Method +Server_Namespaces_OPCUANamespaceUri_NamespaceFile_Close_InputArguments,15200,Variable +Server_Namespaces_OPCUANamespaceUri_NamespaceFile_Read,15201,Method +Server_Namespaces_OPCUANamespaceUri_NamespaceFile_Read_InputArguments,15202,Variable +Server_Namespaces_OPCUANamespaceUri_NamespaceFile_Read_OutputArguments,15203,Variable +Server_Namespaces_OPCUANamespaceUri_NamespaceFile_Write,15204,Method +Server_Namespaces_OPCUANamespaceUri_NamespaceFile_Write_InputArguments,15205,Variable +Server_Namespaces_OPCUANamespaceUri_NamespaceFile_GetPosition,15206,Method +Server_Namespaces_OPCUANamespaceUri_NamespaceFile_GetPosition_InputArguments,15207,Variable +Server_Namespaces_OPCUANamespaceUri_NamespaceFile_GetPosition_OutputArguments,15208,Variable +Server_Namespaces_OPCUANamespaceUri_NamespaceFile_SetPosition,15209,Method +Server_Namespaces_OPCUANamespaceUri_NamespaceFile_SetPosition_InputArguments,15210,Variable +Server_Namespaces_OPCUANamespaceUri_NamespaceFile_ExportNamespace,15211,Method diff --git a/schemas/OPCBinarySchema.xsd b/schemas/OPCBinarySchema.xsd index 3337192cf..392fe7bff 100644 --- a/schemas/OPCBinarySchema.xsd +++ b/schemas/OPCBinarySchema.xsd @@ -1,119 +1,148 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/schemas/Opc.Ua.Adi.NodeSet2.xml b/schemas/Opc.Ua.Adi.NodeSet2.xml index f05584a73..09622e5d0 100644 --- a/schemas/Opc.Ua.Adi.NodeSet2.xml +++ b/schemas/Opc.Ua.Adi.NodeSet2.xml @@ -1,5 +1,34 @@ - - + + + + http://opcfoundation.org/UA/ADI/ http://opcfoundation.org/UA/DI/ @@ -15110,4 +15139,4 @@ DoubleComplexType - \ No newline at end of file + diff --git a/schemas/Opc.Ua.Adi.Types.bsd b/schemas/Opc.Ua.Adi.Types.bsd index 2462907e7..10944c050 100644 --- a/schemas/Opc.Ua.Adi.Types.bsd +++ b/schemas/Opc.Ua.Adi.Types.bsd @@ -1,3 +1,33 @@ + + + - \ No newline at end of file + diff --git a/schemas/Opc.Ua.Adi.Types.xsd b/schemas/Opc.Ua.Adi.Types.xsd index 59fa3ab05..c766c1afa 100644 --- a/schemas/Opc.Ua.Adi.Types.xsd +++ b/schemas/Opc.Ua.Adi.Types.xsd @@ -1,3 +1,33 @@ + + + - \ No newline at end of file + diff --git a/schemas/Opc.Ua.Di.NodeSet2.xml b/schemas/Opc.Ua.Di.NodeSet2.xml index d0fbcc753..8bca16c03 100644 --- a/schemas/Opc.Ua.Di.NodeSet2.xml +++ b/schemas/Opc.Ua.Di.NodeSet2.xml @@ -1,341 +1,370 @@ - - - - http://opcfoundation.org/UA/DI/ - - - 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 - - - Uses - The semantic is to indicate that the target Node is used for the source Node of the Reference - - i=35 - - UsedBy - - - DeviceSet - Contains all instances of devices - - i=85 - i=58 - - - - TopologyElementType - Defines the basic information components for all configurable elements in a device topology - - ns=1;i=5002 - ns=1;i=5003 - ns=1;i=6019 - ns=1;i=6014 - i=58 - - - - ParameterSet - Flat list of Parameters - - ns=1;i=6017 - i=58 - i=78 - ns=1;i=1001 - - - - <ParameterIdentifier> - A parameter which belongs to the topology element. - - i=63 - i=11508 - ns=1;i=5002 - - - - MethodSet - Flat list of Methods - - ns=1;i=6018 - i=58 - i=80 - ns=1;i=1001 - - - - <MethodIdentifier> - A method which belongs to the topology element. - - ns=1;i=6018 - i=11508 - ns=1;i=5003 - - - - <GroupIdentifier> - An application specific functional group used to organize parameters and methods. - - ns=1;i=1005 - i=11508 - ns=1;i=1001 - - - - Identification - Used to organize parameters for identification of this TopologyElement - - ns=1;i=1005 - i=80 - ns=1;i=1001 - - - - DeviceType - Defines the basic information components for all configurable elements in a device topology - - ns=1;i=6001 - ns=1;i=6002 - ns=1;i=6003 - ns=1;i=6004 - ns=1;i=6005 - ns=1;i=6006 - ns=1;i=6007 - ns=1;i=6008 - ns=1;i=1001 - - - - SerialNumber - Identifier that uniquely identifies, within a manufacturer, a device instance - - i=68 - i=78 - ns=1;i=1002 - - - - RevisionCounter - An incremental counter indicating the number of times the static data within the Device has been modified - - i=68 - i=78 - ns=1;i=1002 - - - - Manufacturer - Model name of the device - - i=68 - i=78 - ns=1;i=1002 - - - - Model - Name of the company that manufactured the device - - i=68 - i=78 - ns=1;i=1002 - - - - DeviceManual - Address (pathname in the file system or a URL | Web address) of user manual for the device - - i=68 - i=78 - ns=1;i=1002 - - - - DeviceRevision - Overall revision level of the device - - i=68 - i=78 - ns=1;i=1002 - - - - SoftwareRevision - Revision level of the software/firmware of the device - - i=68 - i=78 - ns=1;i=1002 - - - - HardwareRevision - Revision level of the hardware of the device - - i=68 - i=78 - ns=1;i=1002 - - - - BlockType - Adds the concept of Blocks needed for block-oriented FieldDevices - - ns=1;i=6009 - ns=1;i=6010 - ns=1;i=6011 - ns=1;i=6012 - ns=1;i=6013 - ns=1;i=1001 - - - - RevisionCounter - Incremental counter indicating the number of times the static data within the Block has been modified - - i=68 - i=80 - ns=1;i=1003 - - - - ActualMode - Current mode of operation the Block is able to achieve - - i=68 - i=80 - ns=1;i=1003 - - - - PermittedMode - Modes of operation that are allowed for the Block based on application requirements - - i=68 - i=80 - ns=1;i=1003 - - - - NormalMode - Mode the Block should be set to during normal operating conditions - - i=68 - i=80 - ns=1;i=1003 - - - - TargetMode - Mode of operation that is desired for the Block - - i=68 - i=80 - ns=1;i=1003 - - - - ConfigurableObjectType - Defines a general pattern to expose and configure modular components - - ns=1;i=5004 - ns=1;i=6026 - i=58 - - - - SupportedTypes - Folder maintaining the set of (sub-types of) BaseObjectTypes that can be instantiated in the ConfigurableComponent - - i=61 - i=78 - ns=1;i=1004 - - - - <ObjectIdentifier> - The instances that . - - i=58 - i=11508 - ns=1;i=1004 - - - - FunctionalGroupType - FolderType is used to organize the Parameters and Methods from the complete set (ParameterSet, MethodSet) with regard to their application - - ns=1;i=6027 - ns=1;i=6028 - ns=1;i=6029 - i=61 - - - - <GroupIdentifier> - An application specific functional group used to organize parameters and methods. - - ns=1;i=1005 - i=11508 - ns=1;i=1005 - - - - <ParameterIdentifier> - A parameter which belongs to the group. - - i=63 - i=11508 - ns=1;i=1005 - - - - <MethodIdentifier> - A method which belongs to the group. - - ns=1;i=6029 - i=11508 - ns=1;i=1005 - - - - ProtocolType - General structure of a Protocol ObjectType - - i=58 - - - \ No newline at end of file + + + + + + http://opcfoundation.org/UA/DI/ + + + 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 + + + Uses + The semantic is to indicate that the target Node is used for the source Node of the Reference + + i=35 + + UsedBy + + + DeviceSet + Contains all instances of devices + + i=85 + i=58 + + + + TopologyElementType + Defines the basic information components for all configurable elements in a device topology + + ns=1;i=5002 + ns=1;i=5003 + ns=1;i=6019 + ns=1;i=6014 + i=58 + + + + ParameterSet + Flat list of Parameters + + ns=1;i=6017 + i=58 + i=78 + ns=1;i=1001 + + + + <ParameterIdentifier> + A parameter which belongs to the topology element. + + i=63 + i=11508 + ns=1;i=5002 + + + + MethodSet + Flat list of Methods + + ns=1;i=6018 + i=58 + i=80 + ns=1;i=1001 + + + + <MethodIdentifier> + A method which belongs to the topology element. + + ns=1;i=6018 + i=11508 + ns=1;i=5003 + + + + <GroupIdentifier> + An application specific functional group used to organize parameters and methods. + + ns=1;i=1005 + i=11508 + ns=1;i=1001 + + + + Identification + Used to organize parameters for identification of this TopologyElement + + ns=1;i=1005 + i=80 + ns=1;i=1001 + + + + DeviceType + Defines the basic information components for all configurable elements in a device topology + + ns=1;i=6001 + ns=1;i=6002 + ns=1;i=6003 + ns=1;i=6004 + ns=1;i=6005 + ns=1;i=6006 + ns=1;i=6007 + ns=1;i=6008 + ns=1;i=1001 + + + + SerialNumber + Identifier that uniquely identifies, within a manufacturer, a device instance + + i=68 + i=78 + ns=1;i=1002 + + + + RevisionCounter + An incremental counter indicating the number of times the static data within the Device has been modified + + i=68 + i=78 + ns=1;i=1002 + + + + Manufacturer + Model name of the device + + i=68 + i=78 + ns=1;i=1002 + + + + Model + Name of the company that manufactured the device + + i=68 + i=78 + ns=1;i=1002 + + + + DeviceManual + Address (pathname in the file system or a URL | Web address) of user manual for the device + + i=68 + i=78 + ns=1;i=1002 + + + + DeviceRevision + Overall revision level of the device + + i=68 + i=78 + ns=1;i=1002 + + + + SoftwareRevision + Revision level of the software/firmware of the device + + i=68 + i=78 + ns=1;i=1002 + + + + HardwareRevision + Revision level of the hardware of the device + + i=68 + i=78 + ns=1;i=1002 + + + + BlockType + Adds the concept of Blocks needed for block-oriented FieldDevices + + ns=1;i=6009 + ns=1;i=6010 + ns=1;i=6011 + ns=1;i=6012 + ns=1;i=6013 + ns=1;i=1001 + + + + RevisionCounter + Incremental counter indicating the number of times the static data within the Block has been modified + + i=68 + i=80 + ns=1;i=1003 + + + + ActualMode + Current mode of operation the Block is able to achieve + + i=68 + i=80 + ns=1;i=1003 + + + + PermittedMode + Modes of operation that are allowed for the Block based on application requirements + + i=68 + i=80 + ns=1;i=1003 + + + + NormalMode + Mode the Block should be set to during normal operating conditions + + i=68 + i=80 + ns=1;i=1003 + + + + TargetMode + Mode of operation that is desired for the Block + + i=68 + i=80 + ns=1;i=1003 + + + + ConfigurableObjectType + Defines a general pattern to expose and configure modular components + + ns=1;i=5004 + ns=1;i=6026 + i=58 + + + + SupportedTypes + Folder maintaining the set of (sub-types of) BaseObjectTypes that can be instantiated in the ConfigurableComponent + + i=61 + i=78 + ns=1;i=1004 + + + + <ObjectIdentifier> + The instances that . + + i=58 + i=11508 + ns=1;i=1004 + + + + FunctionalGroupType + FolderType is used to organize the Parameters and Methods from the complete set (ParameterSet, MethodSet) with regard to their application + + ns=1;i=6027 + ns=1;i=6028 + ns=1;i=6029 + i=61 + + + + <GroupIdentifier> + An application specific functional group used to organize parameters and methods. + + ns=1;i=1005 + i=11508 + ns=1;i=1005 + + + + <ParameterIdentifier> + A parameter which belongs to the group. + + i=63 + i=11508 + ns=1;i=1005 + + + + <MethodIdentifier> + A method which belongs to the group. + + ns=1;i=6029 + i=11508 + ns=1;i=1005 + + + + ProtocolType + General structure of a Protocol ObjectType + + i=58 + + + diff --git a/schemas/Opc.Ua.Di.Types.bsd b/schemas/Opc.Ua.Di.Types.bsd index 3bb9251ca..ba4dda33c 100644 --- a/schemas/Opc.Ua.Di.Types.bsd +++ b/schemas/Opc.Ua.Di.Types.bsd @@ -1,11 +1,41 @@ - - - - \ No newline at end of file + + + + + + + diff --git a/schemas/Opc.Ua.Di.Types.xsd b/schemas/Opc.Ua.Di.Types.xsd index b66f9597f..12f9fe2f9 100644 --- a/schemas/Opc.Ua.Di.Types.xsd +++ b/schemas/Opc.Ua.Di.Types.xsd @@ -1,10 +1,40 @@ - - - - \ No newline at end of file + + + + + + + diff --git a/schemas/Opc.Ua.Endpoints.wsdl b/schemas/Opc.Ua.Endpoints.wsdl index 2e2f3da7d..f0d33fb4a 100644 --- a/schemas/Opc.Ua.Endpoints.wsdl +++ b/schemas/Opc.Ua.Endpoints.wsdl @@ -1,571 +1,571 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/schemas/Opc.Ua.NodeSet2.Part10.xml b/schemas/Opc.Ua.NodeSet2.Part10.xml index f492bddea..88ed481f5 100644 --- a/schemas/Opc.Ua.NodeSet2.Part10.xml +++ b/schemas/Opc.Ua.NodeSet2.Part10.xml @@ -1,832 +1,861 @@ - - - - - - - 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 - - - ProgramStateMachineType - A state machine for a program. - - i=3830 - i=3835 - i=2392 - i=2393 - i=2394 - i=2395 - i=2396 - i=2397 - i=2398 - i=2399 - i=3850 - i=2400 - i=2402 - i=2404 - i=2406 - 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=79 - i=2391 - - - - RecycleCount - - i=68 - i=78 - i=2391 - - - - InstanceCount - - i=68 - i=2391 - - - - MaxInstanceCount - - i=68 - i=2391 - - - - MaxRecycleCount - - i=68 - i=2391 - - - - ProgramDiagnostics - - i=3840 - i=3841 - i=3842 - i=3843 - i=3844 - i=3845 - i=3846 - i=3847 - i=3848 - i=3849 - i=2380 - i=80 - i=2391 - - - - CreateSessionId - - i=68 - i=78 - i=2399 - - - - CreateClientName - - i=68 - i=78 - i=2399 - - - - InvocationCreationTime - - i=68 - i=78 - i=2399 - - - - LastTransitionTime - - i=68 - i=78 - i=2399 - - - - LastMethodCall - - i=68 - i=78 - i=2399 - - - - LastMethodSessionId - - i=68 - i=78 - i=2399 - - - - LastMethodInputArguments - - i=68 - i=78 - i=2399 - - - - LastMethodOutputArguments - - i=68 - i=78 - i=2399 - - - - LastMethodCallTime - - i=68 - i=78 - i=2399 - - - - LastMethodReturnStatus - - i=68 - i=78 - i=2399 - - - - FinalResultData - - i=58 - i=80 - i=2391 - - - - Ready - The Program is properly initialized and may be started. - - i=2401 - i=2408 - i=2410 - i=2414 - i=2422 - i=2424 - i=2307 - i=2391 - - - - StateNumber - - i=68 - i=78 - i=2400 - - - 1 - - - - Running - The Program is executing making progress towards completion. - - i=2403 - i=2410 - i=2412 - i=2414 - i=2416 - i=2418 - i=2307 - i=2391 - - - - StateNumber - - i=68 - i=78 - i=2402 - - - 2 - - - - Suspended - The Program has been stopped prior to reaching a terminal state but may be resumed. - - i=2405 - i=2416 - i=2418 - i=2420 - i=2422 - i=2307 - i=2391 - - - - StateNumber - - i=68 - i=78 - i=2404 - - - 3 - - - - Halted - The Program is in a terminal or failed state, and it cannot be started or resumed without being reset. - - i=2407 - i=2408 - i=2412 - i=2420 - i=2424 - i=2307 - i=2391 - - - - StateNumber - - i=68 - i=78 - i=2406 - - - 4 - - - - 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 - Causes the Program to transition from the Ready state to the Running state. - - i=2410 - i=78 - i=2391 - - - - Suspend - Causes the Program to transition from the Running state to the Suspended state. - - i=2416 - i=78 - i=2391 - - - - Resume - Causes the Program to transition from the Suspended state to the Running state. - - i=2418 - i=78 - i=2391 - - - - Halt - Causes the Program to transition from the Ready, Running or Suspended state to the Halted state. - - i=2412 - i=2420 - i=2424 - i=78 - i=2391 - - - - Reset - Causes the Program to transition from the Halted state to the Ready state. - - i=2408 - i=78 - i=2391 - - - - ProgramTransitionEventType - - i=2379 - i=2311 - - - - IntermediateResult - - i=68 - i=78 - i=2378 - - - - AuditProgramTransitionEventType - - 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 - - - - ProgramDiagnosticDataType - - i=22 - - - - - - - - - - - - - - - - Default XML - - i=894 - i=8882 - i=76 - - - - Default Binary - - i=894 - i=8247 - i=76 - - - \ No newline at end of file + + + + + + + + + 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 + + + ProgramStateMachineType + A state machine for a program. + + i=3830 + i=3835 + i=2392 + i=2393 + i=2394 + i=2395 + i=2396 + i=2397 + i=2398 + i=2399 + i=3850 + i=2400 + i=2402 + i=2404 + i=2406 + 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=79 + i=2391 + + + + RecycleCount + + i=68 + i=78 + i=2391 + + + + InstanceCount + + i=68 + i=2391 + + + + MaxInstanceCount + + i=68 + i=2391 + + + + MaxRecycleCount + + i=68 + i=2391 + + + + ProgramDiagnostics + + i=3840 + i=3841 + i=3842 + i=3843 + i=3844 + i=3845 + i=3846 + i=3847 + i=3848 + i=3849 + i=2380 + i=80 + i=2391 + + + + CreateSessionId + + i=68 + i=78 + i=2399 + + + + CreateClientName + + i=68 + i=78 + i=2399 + + + + InvocationCreationTime + + i=68 + i=78 + i=2399 + + + + LastTransitionTime + + i=68 + i=78 + i=2399 + + + + LastMethodCall + + i=68 + i=78 + i=2399 + + + + LastMethodSessionId + + i=68 + i=78 + i=2399 + + + + LastMethodInputArguments + + i=68 + i=78 + i=2399 + + + + LastMethodOutputArguments + + i=68 + i=78 + i=2399 + + + + LastMethodCallTime + + i=68 + i=78 + i=2399 + + + + LastMethodReturnStatus + + i=68 + i=78 + i=2399 + + + + FinalResultData + + i=58 + i=80 + i=2391 + + + + Ready + The Program is properly initialized and may be started. + + i=2401 + i=2408 + i=2410 + i=2414 + i=2422 + i=2424 + i=2307 + i=2391 + + + + StateNumber + + i=68 + i=78 + i=2400 + + + 1 + + + + Running + The Program is executing making progress towards completion. + + i=2403 + i=2410 + i=2412 + i=2414 + i=2416 + i=2418 + i=2307 + i=2391 + + + + StateNumber + + i=68 + i=78 + i=2402 + + + 2 + + + + Suspended + The Program has been stopped prior to reaching a terminal state but may be resumed. + + i=2405 + i=2416 + i=2418 + i=2420 + i=2422 + i=2307 + i=2391 + + + + StateNumber + + i=68 + i=78 + i=2404 + + + 3 + + + + Halted + The Program is in a terminal or failed state, and it cannot be started or resumed without being reset. + + i=2407 + i=2408 + i=2412 + i=2420 + i=2424 + i=2307 + i=2391 + + + + StateNumber + + i=68 + i=78 + i=2406 + + + 4 + + + + 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 + Causes the Program to transition from the Ready state to the Running state. + + i=2410 + i=78 + i=2391 + + + + Suspend + Causes the Program to transition from the Running state to the Suspended state. + + i=2416 + i=78 + i=2391 + + + + Resume + Causes the Program to transition from the Suspended state to the Running state. + + i=2418 + i=78 + i=2391 + + + + Halt + Causes the Program to transition from the Ready, Running or Suspended state to the Halted state. + + i=2412 + i=2420 + i=2424 + i=78 + i=2391 + + + + Reset + Causes the Program to transition from the Halted state to the Ready state. + + i=2408 + i=78 + i=2391 + + + + ProgramTransitionEventType + + i=2379 + i=2311 + + + + IntermediateResult + + i=68 + i=78 + i=2378 + + + + AuditProgramTransitionEventType + + 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 + + + + ProgramDiagnosticDataType + + i=22 + + + + + + + + + + + + + + + + Default XML + + i=894 + i=8882 + i=76 + + + + Default Binary + + i=894 + i=8247 + i=76 + + + diff --git a/schemas/Opc.Ua.NodeSet2.Part11.xml b/schemas/Opc.Ua.NodeSet2.Part11.xml index 8023acbc4..5966c6b3b 100644 --- a/schemas/Opc.Ua.NodeSet2.Part11.xml +++ b/schemas/Opc.Ua.NodeSet2.Part11.xml @@ -1,793 +1,822 @@ - - - - - - - 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 - - - HasHistoricalConfiguration - The type for a reference to the historical configuration for a data variable. - - i=44 - - HistoricalConfigurationOf - - - 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=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 - - - - Annotations - - i=68 - - - - HistoricalDataConfigurationType - - i=3059 - i=11876 - i=2323 - i=2324 - i=2325 - i=2326 - i=2327 - i=2328 - i=11499 - i=11500 - 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 - - - - HA Configuration - - 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 - - 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=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 - - - - AuditHistoryEventUpdateEventType - - 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 - - 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 - - - - AuditHistoryDeleteEventType - - i=3027 - i=2104 - - - - UpdatedNode - - i=68 - i=78 - i=3012 - - - - AuditHistoryRawModifyDeleteEventType - - 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 - - i=3020 - i=3021 - i=3012 - - - - ReqTimes - - i=68 - i=78 - i=3019 - - - - OldValues - - i=68 - i=78 - i=3019 - - - - AuditHistoryEventDeleteEventType - - i=3023 - i=3024 - i=3012 - - - - EventIds - - i=68 - i=78 - i=3022 - - - - OldValues - - i=68 - i=78 - i=3022 - - - - Annotation - - i=22 - - - - - - - - - ExceptionDeviationFormat - - i=7614 - i=29 - - - - - - - - - - - EnumStrings - - i=68 - i=78 - i=890 - - - - - - - AbsoluteValue - - - - - PercentOfValue - - - - - PercentOfRange - - - - - PercentOfEURange - - - - - Unknown - - - - - - Default XML - - i=891 - i=8879 - i=76 - - - - Default Binary - - i=891 - i=8244 - i=76 - - - \ No newline at end of file + + + + + + + + + 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 + + + HasHistoricalConfiguration + The type for a reference to the historical configuration for a data variable. + + i=44 + + HistoricalConfigurationOf + + + 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=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 + + + + Annotations + + i=68 + + + + HistoricalDataConfigurationType + + i=3059 + i=11876 + i=2323 + i=2324 + i=2325 + i=2326 + i=2327 + i=2328 + i=11499 + i=11500 + 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 + + + + HA Configuration + + 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 + + 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=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 + + + + AuditHistoryEventUpdateEventType + + 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 + + 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 + + + + AuditHistoryDeleteEventType + + i=3027 + i=2104 + + + + UpdatedNode + + i=68 + i=78 + i=3012 + + + + AuditHistoryRawModifyDeleteEventType + + 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 + + i=3020 + i=3021 + i=3012 + + + + ReqTimes + + i=68 + i=78 + i=3019 + + + + OldValues + + i=68 + i=78 + i=3019 + + + + AuditHistoryEventDeleteEventType + + i=3023 + i=3024 + i=3012 + + + + EventIds + + i=68 + i=78 + i=3022 + + + + OldValues + + i=68 + i=78 + i=3022 + + + + Annotation + + i=22 + + + + + + + + + ExceptionDeviationFormat + + i=7614 + i=29 + + + + + + + + + + + EnumStrings + + i=68 + i=78 + i=890 + + + + + + + AbsoluteValue + + + + + PercentOfValue + + + + + PercentOfRange + + + + + PercentOfEURange + + + + + Unknown + + + + + + Default XML + + i=891 + i=8879 + i=76 + + + + Default Binary + + i=891 + i=8244 + i=76 + + + diff --git a/schemas/Opc.Ua.NodeSet2.Part13.xml b/schemas/Opc.Ua.NodeSet2.Part13.xml index 44f7e58f2..c0cccc11c 100644 --- a/schemas/Opc.Ua.NodeSet2.Part13.xml +++ b/schemas/Opc.Ua.NodeSet2.Part13.xml @@ -1,344 +1,373 @@ - - - - - - - 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 - - - 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 - At the beginning of each interval, retrieve the calculated value from the data points on either side of the requested timestamp. - - i=2340 - - - - Average - Retrieve the average value of the data over the interval. - - i=2340 - - - - TimeAverage - Retrieve the time weighted average data over the interval using Interpolated Bounding Values. - - i=2340 - - - - TimeAverage2 - Retrieve the time weighted average data over the interval using Simple Bounding Values. - - i=2340 - - - - Total - Retrieve the total (time integral) of the data over the interval using Interpolated Bounding Values. - - i=2340 - - - - Total2 - Retrieve the total (time integral) of the data over the interval using Simple Bounding Values. - - i=2340 - - - - Minimum - Retrieve the minimum raw value in the interval with the timestamp of the start of the interval. - - i=2340 - - - - Maximum - Retrieve the maximum raw value in the interval with the timestamp of the start of the interval. - - i=2340 - - - - MinimumActualTime - Retrieve the minimum value in the interval and the Timestamp of the minimum value. - - i=2340 - - - - MaximumActualTime - Retrieve the maximum value in the interval and the Timestamp of the maximum value. - - i=2340 - - - - Range - Retrieve the difference between the minimum and maximum Value over the interval. - - i=2340 - - - - Minimum2 - Retrieve the minimum value in the interval including the Simple Bounding Values. - - i=2340 - - - - Maximum2 - Retrieve the maximum value in the interval including the Simple Bounding Values. - - i=2340 - - - - MinimumActualTime2 - Retrieve the minimum value with the actual timestamp including the Simple Bounding Values. - - i=2340 - - - - MaximumActualTime2 - Retrieve the maximum value with the actual timestamp including the Simple Bounding Values. - - i=2340 - - - - Range2 - Retrieve the difference between the Minimum2 and Maximum2 value over the interval. - - i=2340 - - - - AnnotationCount - Retrieve the number of Annotations in the interval. - - i=2340 - - - - Count - Retrieve the number of raw values over the interval. - - i=2340 - - - - DurationInStateZero - Retrieve the time a Boolean or numeric was in a zero state using Simple Bounding Values. - - i=2340 - - - - DurationInStateNonZero - Retrieve the time a Boolean or numeric was in a non-zero state using Simple Bounding Values. - - i=2340 - - - - NumberOfTransitions - Retrieve the number of changes between zero and non-zero that a Boolean or Numeric value experienced in the interval. - - i=2340 - - - - Start - Retrieve the value at the beginning of the interval using Interpolated Bounding Values. - - i=2340 - - - - End - Retrieve the value at the end of the interval using Interpolated Bounding Values. - - i=2340 - - - - Delta - Retrieve the difference between the Start and End value in the interval. - - i=2340 - - - - StartBound - Retrieve the value at the beginning of the interval using Simple Bounding Values. - - i=2340 - - - - EndBound - Retrieve the value at the end of the interval using Simple Bounding Values. - - i=2340 - - - - DeltaBounds - Retrieve the difference between the StartBound and EndBound value in the interval. - - i=2340 - - - - DurationGood - Retrieve the total duration of time in the interval during which the data is good. - - i=2340 - - - - DurationBad - Retrieve the total duration of time in the interval during which the data is bad. - - i=2340 - - - - PercentGood - Retrieve the percent of data (0 to 100) in the interval which has a good StatusCode. - - i=2340 - - - - PercentBad - Retrieve the percent of data (0 to 100) in the interval which has a bad StatusCode. - - i=2340 - - - - WorstQuality - Retrieve the worst StatusCode of data in the interval. - - i=2340 - - - - WorstQuality2 - Retrieve the worst StatusCode of data in the interval including the Simple Bounding Values. - - i=2340 - - - - StandardDeviationSample - Retrieve the standard deviation for the interval for a sample of the population (n-1). - - i=2340 - - - - StandardDeviationPopulation - Retrieve the standard deviation for the interval for a complete population (n) which includes Simple Bounding Values. - - i=2340 - - - - VarianceSample - Retrieve the variance for the interval as calculated by the StandardDeviationSample. - - i=2340 - - - - VariancePopulation - Retrieve the variance for the interval as calculated by the StandardDeviationPopulation which includes Simple Bounding Values. - - i=2340 - - - \ No newline at end of file + + + + + + + + + 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 + + + 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 + At the beginning of each interval, retrieve the calculated value from the data points on either side of the requested timestamp. + + i=2340 + + + + Average + Retrieve the average value of the data over the interval. + + i=2340 + + + + TimeAverage + Retrieve the time weighted average data over the interval using Interpolated Bounding Values. + + i=2340 + + + + TimeAverage2 + Retrieve the time weighted average data over the interval using Simple Bounding Values. + + i=2340 + + + + Total + Retrieve the total (time integral) of the data over the interval using Interpolated Bounding Values. + + i=2340 + + + + Total2 + Retrieve the total (time integral) of the data over the interval using Simple Bounding Values. + + i=2340 + + + + Minimum + Retrieve the minimum raw value in the interval with the timestamp of the start of the interval. + + i=2340 + + + + Maximum + Retrieve the maximum raw value in the interval with the timestamp of the start of the interval. + + i=2340 + + + + MinimumActualTime + Retrieve the minimum value in the interval and the Timestamp of the minimum value. + + i=2340 + + + + MaximumActualTime + Retrieve the maximum value in the interval and the Timestamp of the maximum value. + + i=2340 + + + + Range + Retrieve the difference between the minimum and maximum Value over the interval. + + i=2340 + + + + Minimum2 + Retrieve the minimum value in the interval including the Simple Bounding Values. + + i=2340 + + + + Maximum2 + Retrieve the maximum value in the interval including the Simple Bounding Values. + + i=2340 + + + + MinimumActualTime2 + Retrieve the minimum value with the actual timestamp including the Simple Bounding Values. + + i=2340 + + + + MaximumActualTime2 + Retrieve the maximum value with the actual timestamp including the Simple Bounding Values. + + i=2340 + + + + Range2 + Retrieve the difference between the Minimum2 and Maximum2 value over the interval. + + i=2340 + + + + AnnotationCount + Retrieve the number of Annotations in the interval. + + i=2340 + + + + Count + Retrieve the number of raw values over the interval. + + i=2340 + + + + DurationInStateZero + Retrieve the time a Boolean or numeric was in a zero state using Simple Bounding Values. + + i=2340 + + + + DurationInStateNonZero + Retrieve the time a Boolean or numeric was in a non-zero state using Simple Bounding Values. + + i=2340 + + + + NumberOfTransitions + Retrieve the number of changes between zero and non-zero that a Boolean or Numeric value experienced in the interval. + + i=2340 + + + + Start + Retrieve the value at the beginning of the interval using Interpolated Bounding Values. + + i=2340 + + + + End + Retrieve the value at the end of the interval using Interpolated Bounding Values. + + i=2340 + + + + Delta + Retrieve the difference between the Start and End value in the interval. + + i=2340 + + + + StartBound + Retrieve the value at the beginning of the interval using Simple Bounding Values. + + i=2340 + + + + EndBound + Retrieve the value at the end of the interval using Simple Bounding Values. + + i=2340 + + + + DeltaBounds + Retrieve the difference between the StartBound and EndBound value in the interval. + + i=2340 + + + + DurationGood + Retrieve the total duration of time in the interval during which the data is good. + + i=2340 + + + + DurationBad + Retrieve the total duration of time in the interval during which the data is bad. + + i=2340 + + + + PercentGood + Retrieve the percent of data (0 to 100) in the interval which has a good StatusCode. + + i=2340 + + + + PercentBad + Retrieve the percent of data (0 to 100) in the interval which has a bad StatusCode. + + i=2340 + + + + WorstQuality + Retrieve the worst StatusCode of data in the interval. + + i=2340 + + + + WorstQuality2 + Retrieve the worst StatusCode of data in the interval including the Simple Bounding Values. + + i=2340 + + + + StandardDeviationSample + Retrieve the standard deviation for the interval for a sample of the population (n-1). + + i=2340 + + + + StandardDeviationPopulation + Retrieve the standard deviation for the interval for a complete population (n) which includes Simple Bounding Values. + + i=2340 + + + + VarianceSample + Retrieve the variance for the interval as calculated by the StandardDeviationSample. + + i=2340 + + + + VariancePopulation + Retrieve the variance for the interval as calculated by the StandardDeviationPopulation which includes Simple Bounding Values. + + i=2340 + + + diff --git a/schemas/Opc.Ua.NodeSet2.Part3.xml b/schemas/Opc.Ua.NodeSet2.Part3.xml index 743770ad3..f00f04665 100644 --- a/schemas/Opc.Ua.NodeSet2.Part3.xml +++ b/schemas/Opc.Ua.NodeSet2.Part3.xml @@ -1,1103 +1,1131 @@ - - - - - - - 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 - - - Default Binary - The default binary encoding for a data type. - - i=58 - - - - Default XML - The default XML encoding for a data type. - - i=58 - - - - BaseDataType - Describes a value that can have any valid DataType. - - - - Number - Describes a value that can have any numeric DataType. - - i=24 - - - - Integer - Describes a value that can have any integer DataType. - - i=26 - - - - UInteger - Describes a value that can have any unsigned integer DataType. - - i=26 - - - - Enumeration - Describes a value that is an enumerated DataType. - - i=24 - - - - Boolean - Describes a value that is either TRUE or FALSE. - - i=24 - - - - SByte - Describes a value that is an integer between -128 and 127. - - i=27 - - - - Byte - Describes a value that is an integer between 0 and 255. - - i=28 - - - - Int16 - Describes a value that is an integer between −32,768 and 32,767. - - i=27 - - - - UInt16 - Describes a value that is an integer between 0 and 65535. - - i=28 - - - - Int32 - Describes a value that is an integer between −2,147,483,648 and 2,147,483,647. - - i=27 - - - - UInt32 - Describes a value that is an integer between 0 and 4,294,967,295. - - i=28 - - - - Int64 - Describes a value that is an integer between −9,223,372,036,854,775,808 and 9,223,372,036,854,775,807. - - i=27 - - - - UInt64 - Describes a value that is an integer between 0 and 18,446,744,073,709,551,615. - - i=28 - - - - Float - Describes a value that is an IEEE 754-1985 single precision floating point number. - - i=26 - - - - Double - Describes a value that is an IEEE 754-1985 double precision floating point number. - - i=26 - - - - String - Describes a value that is a sequence of printable Unicode characters. - - i=24 - - - - DateTime - Describes a value that is a Gregorian calender date and time. - - i=24 - - - - Guid - Describes a value that is a 128-bit globally unique identifier. - - i=24 - - - - ByteString - Describes a value that is a sequence of bytes. - - i=24 - - - - XmlElement - Describes a value that is an XML element. - - i=24 - - - - NodeId - Describes a value that is an identifier for a node within a Server address space. - - i=24 - - - - QualifiedName - Describes a value that is a name qualified by a namespace. - - i=24 - - - - LocalizedText - Describes a value that is human readable Unicode text with a locale identifier. - - i=24 - - - - Structure - Describes a value that is any type of structure that can be described with a data encoding. - - i=24 - - - - Image - Describes a value that is an image encoded as a string of bytes. - - i=15 - - - - Decimal128 - Describes a 128-bit decimal value. - - i=26 - - - - References - The abstract base type for all references. - - References - - - NonHierarchicalReferences - The abstract base type for all non-hierarchical references. - - i=31 - - NonHierarchicalReferences - - - HierarchicalReferences - The abstract base type for all hierarchical references. - - i=31 - - HierarchicalReferences - - - HasChild - The abstract base type for all non-looping hierarchical references. - - i=33 - - ChildOf - - - Organizes - The type for hierarchical references that are used to organize nodes. - - i=33 - - OrganizedBy - - - HasEventSource - The type for non-looping hierarchical references that are used to organize event sources. - - i=33 - - EventSourceOf - - - HasModellingRule - The type for references from instance declarations to modelling rule nodes. - - i=32 - - ModellingRuleOf - - - HasEncoding - The type for references from data type nodes to to data type encoding nodes. - - i=32 - - EncodingOf - - - HasDescription - The type for references from data type encoding nodes to data type description nodes. - - i=32 - - DescriptionOf - - - HasTypeDefinition - The type for references from a instance node its type defintion node. - - i=32 - - TypeDefinitionOf - - - GeneratesEvent - The type for references from a node to an event type that is raised by node. - - i=32 - - GeneratesEvent - - - AlwaysGeneratesEvent - The type for references from a node to an event type that is always raised by node. - - i=32 - - AlwaysGeneratesEvent - - - Aggregates - The type for non-looping hierarchical references that are used to aggregate nodes into complex types. - - i=34 - - AggregatedBy - - - HasSubtype - The type for non-looping hierarchical references that are used to define sub types. - - i=34 - - HasSupertype - - - HasProperty - The type for non-looping hierarchical reference from a node to its property. - - i=44 - - PropertyOf - - - HasComponent - The type for non-looping hierarchical reference from a node to its component. - - i=44 - - ComponentOf - - - HasNotifier - The type for non-looping hierarchical references that are used to indicate how events propagate from node to node. - - i=36 - - NotifierOf - - - HasOrderedComponent - The type for non-looping hierarchical reference from a node to its component when the order of references matters. - - i=47 - - OrderedComponentOf - - - NamingRuleType - Describes a value that specifies the significance of the BrowseName for an instance declaration. - - 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=78 - 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. - - - - - - - - - NodeVersion - The version number of the node (used to indicate changes to references of the owning node). - - i=68 - - - - ViewVersion - The version number of the view. - - i=68 - - - - Icon - A small image representing the object. - - i=68 - - - - LocalTime - The local time where the owning variable value was collected. - - i=68 - - - - AllowNulls - Whether the value of the owning variable is allowed to be null. - - i=68 - - - - ValueAsText - The string representation of the current value for a variable with an enumerated data type. - - i=68 - - - - MaxStringLength - The maximum length for a string that can be stored in the owning variable. - - i=68 - - - - MaxByteStringLength - The maximum length for a byte string that can be stored in the owning variable. - - i=68 - - - - MaxArrayLength - The maximum length for an array that can be stored in the owning variable. - - i=68 - - - - EngineeringUnits - The engineering units for the value of the owning variable. - - i=68 - - - - EnumStrings - The human readable strings associated with the values of an enumerated value (when values are sequential). - - i=68 - - - - EnumValues - The human readable strings associated with the values of an enumerated value (when values have no sequence). - - i=68 - - - - OptionSetValues - Contains the human-readable representation for each bit of the bit mask. - - i=68 - - - - InputArguments - The input arguments for a method. - - i=68 - - - - OutputArguments - The output arguments for a method. - - i=68 - - - - ImageBMP - An image encoded in BMP format. - - i=30 - - - - ImageGIF - An image encoded in GIF format. - - i=30 - - - - ImageJPG - An image encoded in JPEG format. - - i=30 - - - - ImagePNG - An image encoded in PNG format. - - i=30 - - - - IdType - The type of identifier used in a node id. - - i=7591 - i=29 - - - - The identifier is a numeric value. 0 is a null value. - - - The identifier is a string value. An empty string is a null value. - - - The identifier is a 16 byte structure. 16 zero bytes is a null value. - - - The identifier is an array of bytes. A zero length array is a null value. - - - - - EnumStrings - - i=68 - i=78 - i=256 - - - - - - - Numeric - - - - - String - - - - - Guid - - - - - Opaque - - - - - - NodeClass - A mask specifying the class of the node. - - i=11878 - i=29 - - - - No classes are selected. - - - The node is an object. - - - The node is a variable. - - - The node is a method. - - - The node is an object type. - - - The node is an variable type. - - - The node is a reference type. - - - The node is a data type. - - - The node is a view. - - - - - EnumValues - - i=68 - i=78 - i=257 - - - - - - i=7616 - - - - 0 - - - - Unspecified - - - - - No classes are selected. - - - - - - - i=7616 - - - - 1 - - - - Object - - - - - The node is an object. - - - - - - - i=7616 - - - - 2 - - - - Variable - - - - - The node is a variable. - - - - - - - i=7616 - - - - 4 - - - - Method - - - - - The node is a method. - - - - - - - i=7616 - - - - 8 - - - - ObjectType - - - - - The node is an object type. - - - - - - - i=7616 - - - - 16 - - - - VariableType - - - - - The node is an variable type. - - - - - - - i=7616 - - - - 32 - - - - ReferenceType - - - - - The node is a reference type. - - - - - - - i=7616 - - - - 64 - - - - DataType - - - - - The node is a data type. - - - - - - - i=7616 - - - - 128 - - - - View - - - - - The node is a view. - - - - - - - - - Argument - An argument for a method. - - i=22 - - - - The name of the argument. - - - The data type of the argument. - - - Whether the argument is an array type and the rank of the array if it is. - - - The number of dimensions if the argument is an array type and one or more dimensions have a fixed length. - - - The description for the argument. - - - - - EnumValueType - A mapping between a value of an enumerated type and a name and description. - - i=22 - - - - The value of the enumeration. - - - Human readable name for the value. - - - A description of the value. - - - - - OptionSet - This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask. - - i=22 - - - - Array of bytes representing the bits in the option set. - - - Array of bytes with same size as value representing the valid bits in the value parameter. - - - - - Union - This abstract DataType is the base DataType for all union DataTypes. - - i=22 - - - - NormalizedString - A string normalized based on the rules in the unicode specification. - - i=12 - - - - DecimalString - An arbitraty numeric value. - - i=12 - - - - DurationString - A period of time formatted as defined in ISO 8601-2000. - - i=12 - - - - TimeString - A time formatted as defined in ISO 8601-2000. - - i=12 - - - - DateString - A date formatted as defined in ISO 8601-2000. - - i=12 - - - - Duration - A period of time measured in milliseconds. - - i=11 - - - - UtcTime - A date/time value specified in Universal Coordinated Time (UTC). - - i=13 - - - - LocaleId - An identifier for a user locale. - - i=12 - - - - TimeZoneDataType - - i=22 - - - - - - - - Default XML - - i=296 - i=8285 - i=76 - - - - Default XML - - i=7594 - i=8291 - i=76 - - - - Default XML - - i=12755 - i=12759 - i=76 - - - - Default XML - - i=12756 - i=12762 - i=76 - - - - Default XML - - i=8912 - i=8918 - i=76 - - - - Default Binary - - i=296 - i=7650 - i=76 - - - - Default Binary - - i=7594 - i=7656 - i=76 - - - - Default Binary - - i=12755 - i=12767 - i=76 - - - - Default Binary - - i=12756 - i=12770 - i=76 - - - - Default Binary - - i=8912 - i=8914 - i=76 - - - \ No newline at end of file + + + + + + + + + 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 + + + Default Binary + The default binary encoding for a data type. + + i=58 + + + + Default XML + The default XML encoding for a data type. + + i=58 + + + + BaseDataType + Describes a value that can have any valid DataType. + + + + Number + Describes a value that can have any numeric DataType. + + i=24 + + + + Integer + Describes a value that can have any integer DataType. + + i=26 + + + + UInteger + Describes a value that can have any unsigned integer DataType. + + i=26 + + + + Enumeration + Describes a value that is an enumerated DataType. + + i=24 + + + + Boolean + Describes a value that is either TRUE or FALSE. + + i=24 + + + + SByte + Describes a value that is an integer between -128 and 127. + + i=27 + + + + Byte + Describes a value that is an integer between 0 and 255. + + i=28 + + + + Int16 + Describes a value that is an integer between −32,768 and 32,767. + + i=27 + + + + UInt16 + Describes a value that is an integer between 0 and 65535. + + i=28 + + + + Int32 + Describes a value that is an integer between −2,147,483,648 and 2,147,483,647. + + i=27 + + + + UInt32 + Describes a value that is an integer between 0 and 4,294,967,295. + + i=28 + + + + Int64 + Describes a value that is an integer between −9,223,372,036,854,775,808 and 9,223,372,036,854,775,807. + + i=27 + + + + UInt64 + Describes a value that is an integer between 0 and 18,446,744,073,709,551,615. + + i=28 + + + + Float + Describes a value that is an IEEE 754-1985 single precision floating point number. + + i=26 + + + + Double + Describes a value that is an IEEE 754-1985 double precision floating point number. + + i=26 + + + + String + Describes a value that is a sequence of printable Unicode characters. + + i=24 + + + + DateTime + Describes a value that is a Gregorian calender date and time. + + i=24 + + + + Guid + Describes a value that is a 128-bit globally unique identifier. + + i=24 + + + + ByteString + Describes a value that is a sequence of bytes. + + i=24 + + + + XmlElement + Describes a value that is an XML element. + + i=24 + + + + NodeId + Describes a value that is an identifier for a node within a Server address space. + + i=24 + + + + QualifiedName + Describes a value that is a name qualified by a namespace. + + i=24 + + + + LocalizedText + Describes a value that is human readable Unicode text with a locale identifier. + + i=24 + + + + Structure + Describes a value that is any type of structure that can be described with a data encoding. + + i=24 + + + + Image + Describes a value that is an image encoded as a string of bytes. + + i=15 + + + + Decimal128 + Describes a 128-bit decimal value. + + i=26 + + + + References + The abstract base type for all references. + + + + NonHierarchicalReferences + The abstract base type for all non-hierarchical references. + + i=31 + + NonHierarchicalReferences + + + HierarchicalReferences + The abstract base type for all hierarchical references. + + i=31 + + HierarchicalReferences + + + HasChild + The abstract base type for all non-looping hierarchical references. + + i=33 + + ChildOf + + + Organizes + The type for hierarchical references that are used to organize nodes. + + i=33 + + OrganizedBy + + + HasEventSource + The type for non-looping hierarchical references that are used to organize event sources. + + i=33 + + EventSourceOf + + + HasModellingRule + The type for references from instance declarations to modelling rule nodes. + + i=32 + + ModellingRuleOf + + + HasEncoding + The type for references from data type nodes to to data type encoding nodes. + + i=32 + + EncodingOf + + + HasDescription + The type for references from data type encoding nodes to data type description nodes. + + i=32 + + DescriptionOf + + + HasTypeDefinition + The type for references from a instance node its type defintion node. + + i=32 + + TypeDefinitionOf + + + GeneratesEvent + The type for references from a node to an event type that is raised by node. + + i=32 + + GeneratesEvent + + + AlwaysGeneratesEvent + The type for references from a node to an event type that is always raised by node. + + i=41 + + AlwaysGeneratesEvent + + + Aggregates + The type for non-looping hierarchical references that are used to aggregate nodes into complex types. + + i=34 + + AggregatedBy + + + HasSubtype + The type for non-looping hierarchical references that are used to define sub types. + + i=34 + + SubtypeOf + + + HasProperty + The type for non-looping hierarchical reference from a node to its property. + + i=44 + + PropertyOf + + + HasComponent + The type for non-looping hierarchical reference from a node to its component. + + i=44 + + ComponentOf + + + HasNotifier + The type for non-looping hierarchical references that are used to indicate how events propagate from node to node. + + i=36 + + NotifierOf + + + HasOrderedComponent + The type for non-looping hierarchical reference from a node to its component when the order of references matters. + + i=47 + + OrderedComponentOf + + + NamingRuleType + Describes a value that specifies the significance of the BrowseName for an instance declaration. + + 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=78 + 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. + + + + + + + + + NodeVersion + The version number of the node (used to indicate changes to references of the owning node). + + i=68 + + + + ViewVersion + The version number of the view. + + i=68 + + + + Icon + A small image representing the object. + + i=68 + + + + LocalTime + The local time where the owning variable value was collected. + + i=68 + + + + AllowNulls + Whether the value of the owning variable is allowed to be null. + + i=68 + + + + ValueAsText + The string representation of the current value for a variable with an enumerated data type. + + i=68 + + + + MaxStringLength + The maximum length for a string that can be stored in the owning variable. + + i=68 + + + + MaxByteStringLength + The maximum length for a byte string that can be stored in the owning variable. + + i=68 + + + + MaxArrayLength + The maximum length for an array that can be stored in the owning variable. + + i=68 + + + + EngineeringUnits + The engineering units for the value of the owning variable. + + i=68 + + + + EnumStrings + The human readable strings associated with the values of an enumerated value (when values are sequential). + + i=68 + + + + EnumValues + The human readable strings associated with the values of an enumerated value (when values have no sequence). + + i=68 + + + + OptionSetValues + Contains the human-readable representation for each bit of the bit mask. + + i=68 + + + + InputArguments + The input arguments for a method. + + i=68 + + + + OutputArguments + The output arguments for a method. + + i=68 + + + + ImageBMP + An image encoded in BMP format. + + i=30 + + + + ImageGIF + An image encoded in GIF format. + + i=30 + + + + ImageJPG + An image encoded in JPEG format. + + i=30 + + + + ImagePNG + An image encoded in PNG format. + + i=30 + + + + IdType + The type of identifier used in a node id. + + i=7591 + i=29 + + + + The identifier is a numeric value. 0 is a null value. + + + The identifier is a string value. An empty string is a null value. + + + The identifier is a 16 byte structure. 16 zero bytes is a null value. + + + The identifier is an array of bytes. A zero length array is a null value. + + + + + EnumStrings + + i=68 + i=78 + i=256 + + + + + + + Numeric + + + + + String + + + + + Guid + + + + + Opaque + + + + + + NodeClass + A mask specifying the class of the node. + + i=11878 + i=29 + + + + No classes are selected. + + + The node is an object. + + + The node is a variable. + + + The node is a method. + + + The node is an object type. + + + The node is an variable type. + + + The node is a reference type. + + + The node is a data type. + + + The node is a view. + + + + + EnumValues + + i=68 + i=78 + i=257 + + + + + + i=7616 + + + + 0 + + + + Unspecified + + + + + No classes are selected. + + + + + + + i=7616 + + + + 1 + + + + Object + + + + + The node is an object. + + + + + + + i=7616 + + + + 2 + + + + Variable + + + + + The node is a variable. + + + + + + + i=7616 + + + + 4 + + + + Method + + + + + The node is a method. + + + + + + + i=7616 + + + + 8 + + + + ObjectType + + + + + The node is an object type. + + + + + + + i=7616 + + + + 16 + + + + VariableType + + + + + The node is an variable type. + + + + + + + i=7616 + + + + 32 + + + + ReferenceType + + + + + The node is a reference type. + + + + + + + i=7616 + + + + 64 + + + + DataType + + + + + The node is a data type. + + + + + + + i=7616 + + + + 128 + + + + View + + + + + The node is a view. + + + + + + + + + Argument + An argument for a method. + + i=22 + + + + The name of the argument. + + + The data type of the argument. + + + Whether the argument is an array type and the rank of the array if it is. + + + The number of dimensions if the argument is an array type and one or more dimensions have a fixed length. + + + The description for the argument. + + + + + EnumValueType + A mapping between a value of an enumerated type and a name and description. + + i=22 + + + + The value of the enumeration. + + + Human readable name for the value. + + + A description of the value. + + + + + OptionSet + This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask. + + i=22 + + + + Array of bytes representing the bits in the option set. + + + Array of bytes with same size as value representing the valid bits in the value parameter. + + + + + Union + This abstract DataType is the base DataType for all union DataTypes. + + i=22 + + + + NormalizedString + A string normalized based on the rules in the unicode specification. + + i=12 + + + + DecimalString + An arbitraty numeric value. + + i=12 + + + + DurationString + A period of time formatted as defined in ISO 8601-2000. + + i=12 + + + + TimeString + A time formatted as defined in ISO 8601-2000. + + i=12 + + + + DateString + A date formatted as defined in ISO 8601-2000. + + i=12 + + + + Duration + A period of time measured in milliseconds. + + i=11 + + + + UtcTime + A date/time value specified in Universal Coordinated Time (UTC). + + i=13 + + + + LocaleId + An identifier for a user locale. + + i=12 + + + + TimeZoneDataType + + i=22 + + + + + + + + Default XML + + i=296 + i=8285 + i=76 + + + + Default XML + + i=7594 + i=8291 + i=76 + + + + Default XML + + i=12755 + i=12759 + i=76 + + + + Default XML + + i=12756 + i=12762 + i=76 + + + + Default XML + + i=8912 + i=8918 + i=76 + + + + Default Binary + + i=296 + i=7650 + i=76 + + + + Default Binary + + i=7594 + i=7656 + i=76 + + + + Default Binary + + i=12755 + i=12767 + i=76 + + + + Default Binary + + i=12756 + i=12770 + i=76 + + + + Default Binary + + i=8912 + i=8914 + i=76 + + + diff --git a/schemas/Opc.Ua.NodeSet2.Part4.xml b/schemas/Opc.Ua.NodeSet2.Part4.xml index 332c286ef..5e32a0fac 100644 --- a/schemas/Opc.Ua.NodeSet2.Part4.xml +++ b/schemas/Opc.Ua.NodeSet2.Part4.xml @@ -1,3091 +1,2978 @@ - - - - - - - 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 - - - ExpandedNodeId - Describes a value that is an absolute identifier for a node. - - i=24 - - - - StatusCode - Describes a value that is a code representing the outcome of an operation by a Server. - - i=24 - - - - DataValue - Describes a value that is a structure containing a value, a status code and timestamps. - - i=24 - - - - DiagnosticInfo - Describes a value that is a structure containing diagnostics associated with a StatusCode. - - i=24 - - - - IntegerId - A numeric identifier for an object. - - i=7 - - - - ApplicationType - The types of applications. - - i=7597 - i=29 - - - - The application is a server. - - - The application is a client. - - - The application is a client and a server. - - - The application is a discovery server. - - - - - EnumStrings - - i=68 - i=78 - i=307 - - - - - - - Server - - - - - Client - - - - - ClientAndServer - - - - - DiscoveryServer - - - - - - ApplicationDescription - Describes an application and how to find it. - - i=22 - - - - The globally unique identifier for the application. - - - The globally unique identifier for the product. - - - The name of application. - - - The type of application. - - - The globally unique identifier for the server that is acting as a gateway for the server. - - - The globally unique identifier for the discovery profile supported by the server. - - - The URLs for the server's discovery endpoints. - - - - - ServerOnNetwork - - i=22 - - - - - - - - - - ApplicationInstanceCertificate - A certificate for an instance of an application. - - i=15 - - - - MessageSecurityMode - The type of security to use on a message. - - i=7595 - i=29 - - - - An invalid mode. - - - No security is used. - - - The message is signed. - - - The message is signed and encrypted. - - - - - EnumStrings - - i=68 - i=78 - i=302 - - - - - - - Invalid - - - - - None - - - - - Sign - - - - - SignAndEncrypt - - - - - - UserTokenType - The possible user token types. - - i=7596 - i=29 - - - - An anonymous user. - - - A user identified by a user name and password. - - - A user identified by an X509 certificate. - - - A user identified by WS-Security XML token. - - - A user identified by Kerberos ticket. - - - - - EnumStrings - - i=68 - i=78 - i=303 - - - - - - - Anonymous - - - - - UserName - - - - - Certificate - - - - - IssuedToken - - - - - Kerberos - - - - - - UserTokenPolicy - Describes a user token that can be used with a server. - - i=22 - - - - A identifier for the policy assigned by the server. - - - The type of user token. - - - The type of issued token. - - - The endpoint or any other information need to contruct an issued token URL. - - - The security policy to use when encrypting or signing the user token. - - - - - EndpointDescription - The description of a endpoint that can be used to access a server. - - i=22 - - - - The network endpoint to use when connecting to the server. - - - The description of the server. - - - The server's application certificate. - - - The security mode that must be used when connecting to the endpoint. - - - The security policy to use when connecting to the endpoint. - - - The user identity tokens that can be used with this endpoint. - - - The transport profile to use when connecting to the endpoint. - - - A server assigned value that indicates how secure the endpoint is relative to other server endpoints. - - - - - RegisteredServer - The information required to register a server with a discovery server. - - i=22 - - - - The globally unique identifier for the server. - - - The globally unique identifier for the product. - - - The name of server in multiple lcoales. - - - The type of server. - - - The globally unique identifier for the server that is acting as a gateway for the server. - - - The URLs for the server's discovery endpoints. - - - A path to a file that is deleted when the server is no longer accepting connections. - - - If FALSE the server will save the registration information to a persistent datastore. - - - - - DiscoveryConfiguration - A base type for discovery configuration information. - - i=22 - - - - MdnsDiscoveryConfiguration - The discovery information needed for mDNS registration. - - i=12890 - - - - The name for server that is broadcast via mDNS. - - - The server capabilities that are broadcast via mDNS. - - - - - SecurityTokenRequestType - Indicates whether a token if being created or renewed. - - i=7598 - i=29 - - - - The channel is being created. - - - The channel is being renewed. - - - - - EnumStrings - - i=68 - i=78 - i=315 - - - - - - - Issue - - - - - Renew - - - - - - SignedSoftwareCertificate - A software certificate with a digital signature. - - i=22 - - - - The data of the certificate. - - - The digital signature. - - - - - SessionAuthenticationToken - A unique identifier for a session used to authenticate requests. - - i=17 - - - - UserIdentityToken - A base type for a user identity token. - - i=22 - - - - The policy id specified in a user token policy for the endpoint being used. - - - - - AnonymousIdentityToken - A token representing an anonymous user. - - i=316 - - - - UserNameIdentityToken - A token representing a user identified by a user name and password. - - i=316 - - - - The user name. - - - The password encrypted with the server certificate. - - - The algorithm used to encrypt the password. - - - - - X509IdentityToken - A token representing a user identified by an X509 certificate. - - i=316 - - - - The certificate. - - - - - KerberosIdentityToken - - i=316 - - - - - - - IssuedIdentityToken - A token representing a user identified by a WS-Security XML token. - - i=316 - - - - The XML token encrypted with the server certificate. - - - The algorithm used to encrypt the certificate. - - - - - NodeAttributesMask - The bits used to specify default attributes for a new node. - - i=11881 - i=29 - - - - No attribuites provided. - - - The access level attribute is specified. - - - The array dimensions attribute is specified. - - - The browse name attribute is specified. - - - The contains no loops attribute is specified. - - - The data type attribute is specified. - - - The description attribute is specified. - - - The display name attribute is specified. - - - The event notifier attribute is specified. - - - The executable attribute is specified. - - - The historizing attribute is specified. - - - The inverse name attribute is specified. - - - The is abstract attribute is specified. - - - The minimum sampling interval attribute is specified. - - - The node class attribute is specified. - - - The node id attribute is specified. - - - The symmetric attribute is specified. - - - The user access level attribute is specified. - - - The user executable attribute is specified. - - - The user write mask attribute is specified. - - - The value rank attribute is specified. - - - The write mask attribute is specified. - - - The value attribute is specified. - - - All attributes are specified. - - - All base attributes are specified. - - - All object attributes are specified. - - - All object type or data type attributes are specified. - - - All variable attributes are specified. - - - All variable type attributes are specified. - - - All method attributes are specified. - - - All reference type attributes are specified. - - - All view attributes are specified. - - - - - EnumValues - - i=68 - i=78 - i=348 - - - - - - i=7616 - - - - 0 - - - - None - - - - - No attribuites provided. - - - - - - - i=7616 - - - - 1 - - - - AccessLevel - - - - - The access level attribute is specified. - - - - - - - i=7616 - - - - 2 - - - - ArrayDimensions - - - - - The array dimensions attribute is specified. - - - - - - - i=7616 - - - - 4 - - - - BrowseName - - - - - The browse name attribute is specified. - - - - - - - i=7616 - - - - 8 - - - - ContainsNoLoops - - - - - The contains no loops attribute is specified. - - - - - - - i=7616 - - - - 16 - - - - DataType - - - - - The data type attribute is specified. - - - - - - - i=7616 - - - - 32 - - - - Description - - - - - The description attribute is specified. - - - - - - - i=7616 - - - - 64 - - - - DisplayName - - - - - The display name attribute is specified. - - - - - - - i=7616 - - - - 128 - - - - EventNotifier - - - - - The event notifier attribute is specified. - - - - - - - i=7616 - - - - 256 - - - - Executable - - - - - The executable attribute is specified. - - - - - - - i=7616 - - - - 512 - - - - Historizing - - - - - The historizing attribute is specified. - - - - - - - i=7616 - - - - 1024 - - - - InverseName - - - - - The inverse name attribute is specified. - - - - - - - i=7616 - - - - 2048 - - - - IsAbstract - - - - - The is abstract attribute is specified. - - - - - - - i=7616 - - - - 4096 - - - - MinimumSamplingInterval - - - - - The minimum sampling interval attribute is specified. - - - - - - - i=7616 - - - - 8192 - - - - NodeClass - - - - - The node class attribute is specified. - - - - - - - i=7616 - - - - 16384 - - - - NodeId - - - - - The node id attribute is specified. - - - - - - - i=7616 - - - - 32768 - - - - Symmetric - - - - - The symmetric attribute is specified. - - - - - - - i=7616 - - - - 65536 - - - - UserAccessLevel - - - - - The user access level attribute is specified. - - - - - - - i=7616 - - - - 131072 - - - - UserExecutable - - - - - The user executable attribute is specified. - - - - - - - i=7616 - - - - 262144 - - - - UserWriteMask - - - - - The user write mask attribute is specified. - - - - - - - i=7616 - - - - 524288 - - - - ValueRank - - - - - The value rank attribute is specified. - - - - - - - i=7616 - - - - 1048576 - - - - WriteMask - - - - - The write mask attribute is specified. - - - - - - - i=7616 - - - - 2097152 - - - - Value - - - - - The value attribute is specified. - - - - - - - i=7616 - - - - 4194303 - - - - All - - - - - All attributes are specified. - - - - - - - i=7616 - - - - 1335396 - - - - BaseNode - - - - - All base attributes are specified. - - - - - - - i=7616 - - - - 1335524 - - - - Object - - - - - All object attributes are specified. - - - - - - - i=7616 - - - - 1337444 - - - - ObjectTypeOrDataType - - - - - All object type or data type attributes are specified. - - - - - - - i=7616 - - - - 4026999 - - - - Variable - - - - - All variable attributes are specified. - - - - - - - i=7616 - - - - 3958902 - - - - VariableType - - - - - All variable type attributes are specified. - - - - - - - i=7616 - - - - 1466724 - - - - Method - - - - - All method attributes are specified. - - - - - - - i=7616 - - - - 1371236 - - - - ReferenceType - - - - - All reference type attributes are specified. - - - - - - - i=7616 - - - - 1335532 - - - - View - - - - - All view attributes are specified. - - - - - - - - - AddNodesItem - A request to add a node to the server address space. - - i=22 - - - - The node id for the parent node. - - - The type of reference from the parent to the new node. - - - The node id requested by the client. If null the server must provide one. - - - The browse name for the new node. - - - The class of the new node. - - - The default attributes for the new node. - - - The type definition for the new node. - - - - - AddReferencesItem - A request to add a reference to the server address space. - - i=22 - - - - The source of the reference. - - - The type of reference. - - - If TRUE the reference is a forward reference. - - - The URI of the server containing the target (if in another server). - - - The target of the reference. - - - The node class of the target (if known). - - - - - DeleteNodesItem - A request to delete a node to the server address space. - - i=22 - - - - The id of the node to delete. - - - If TRUE all references to the are deleted as well. - - - - - DeleteReferencesItem - A request to delete a node from the server address space. - - i=22 - - - - The source of the reference to delete. - - - The type of reference to delete. - - - If TRUE the a forward reference is deleted. - - - The target of the reference to delete. - - - If TRUE the reference is deleted in both directions. - - - - - AttributeWriteMask - Define bits used to indicate which attributes are writable. - - i=11882 - i=29 - - - - No attributes are writable. - - - The access level attribute is writable. - - - The array dimensions attribute is writable. - - - The browse name attribute is writable. - - - The contains no loops attribute is writable. - - - The data type attribute is writable. - - - The description attribute is writable. - - - The display name attribute is writable. - - - The event notifier attribute is writable. - - - The executable attribute is writable. - - - The historizing attribute is writable. - - - The inverse name attribute is writable. - - - The is abstract attribute is writable. - - - The minimum sampling interval attribute is writable. - - - The node class attribute is writable. - - - The node id attribute is writable. - - - The symmetric attribute is writable. - - - The user access level attribute is writable. - - - The user executable attribute is writable. - - - The user write mask attribute is writable. - - - The value rank attribute is writable. - - - The write mask attribute is writable. - - - The value attribute is writable. - - - - - EnumValues - - i=68 - i=78 - i=347 - - - - - - i=7616 - - - - 0 - - - - None - - - - - No attributes are writable. - - - - - - - i=7616 - - - - 1 - - - - AccessLevel - - - - - The access level attribute is writable. - - - - - - - i=7616 - - - - 2 - - - - ArrayDimensions - - - - - The array dimensions attribute is writable. - - - - - - - i=7616 - - - - 4 - - - - BrowseName - - - - - The browse name attribute is writable. - - - - - - - i=7616 - - - - 8 - - - - ContainsNoLoops - - - - - The contains no loops attribute is writable. - - - - - - - i=7616 - - - - 16 - - - - DataType - - - - - The data type attribute is writable. - - - - - - - i=7616 - - - - 32 - - - - Description - - - - - The description attribute is writable. - - - - - - - i=7616 - - - - 64 - - - - DisplayName - - - - - The display name attribute is writable. - - - - - - - i=7616 - - - - 128 - - - - EventNotifier - - - - - The event notifier attribute is writable. - - - - - - - i=7616 - - - - 256 - - - - Executable - - - - - The executable attribute is writable. - - - - - - - i=7616 - - - - 512 - - - - Historizing - - - - - The historizing attribute is writable. - - - - - - - i=7616 - - - - 1024 - - - - InverseName - - - - - The inverse name attribute is writable. - - - - - - - i=7616 - - - - 2048 - - - - IsAbstract - - - - - The is abstract attribute is writable. - - - - - - - i=7616 - - - - 4096 - - - - MinimumSamplingInterval - - - - - The minimum sampling interval attribute is writable. - - - - - - - i=7616 - - - - 8192 - - - - NodeClass - - - - - The node class attribute is writable. - - - - - - - i=7616 - - - - 16384 - - - - NodeId - - - - - The node id attribute is writable. - - - - - - - i=7616 - - - - 32768 - - - - Symmetric - - - - - The symmetric attribute is writable. - - - - - - - i=7616 - - - - 65536 - - - - UserAccessLevel - - - - - The user access level attribute is writable. - - - - - - - i=7616 - - - - 131072 - - - - UserExecutable - - - - - The user executable attribute is writable. - - - - - - - i=7616 - - - - 262144 - - - - UserWriteMask - - - - - The user write mask attribute is writable. - - - - - - - i=7616 - - - - 524288 - - - - ValueRank - - - - - The value rank attribute is writable. - - - - - - - i=7616 - - - - 1048576 - - - - WriteMask - - - - - The write mask attribute is writable. - - - - - - - i=7616 - - - - 2097152 - - - - ValueForVariableType - - - - - The value attribute is writable. - - - - - - - - - ContinuationPoint - An identifier for a suspended query or browse operation. - - i=15 - - - - RelativePathElement - An element in a relative path. - - i=22 - - - - The type of reference to follow. - - - If TRUE the reverse reference is followed. - - - If TRUE then subtypes of the reference type are followed. - - - The browse name of the target. - - - - - RelativePath - A relative path constructed from reference types and browse names. - - i=22 - - - - A list of elements in the path. - - - - - Counter - A monotonically increasing value. - - i=7 - - - - NumericRange - Specifies a range of array indexes. - - i=12 - - - - Time - A time value specified as HH:MM:SS.SSS. - - i=12 - - - - Date - A date value. - - i=13 - - - - EndpointConfiguration - - i=22 - - - - - - - - - - - - - - - ComplianceLevel - - i=7599 - i=29 - - - - - - - - - - EnumStrings - - i=68 - i=78 - i=334 - - - - - - - Untested - - - - - Partial - - - - - SelfTested - - - - - Certified - - - - - - SupportedProfile - - i=22 - - - - - - - - - - - - SoftwareCertificate - - i=22 - - - - - - - - - - - - - - - - FilterOperator - - i=7605 - i=29 - - - - - - - - - - - - - - - - - - - - - - - - EnumStrings - - i=68 - i=78 - i=576 - - - - - - - Equals - - - - - IsNull - - - - - GreaterThan - - - - - LessThan - - - - - GreaterThanOrEqual - - - - - LessThanOrEqual - - - - - Like - - - - - Not - - - - - Between - - - - - InList - - - - - And - - - - - Or - - - - - Cast - - - - - InView - - - - - OfType - - - - - RelatedTo - - - - - BitwiseAnd - - - - - BitwiseOr - - - - - - ContentFilterElement - - i=22 - - - - - - - - ContentFilter - - i=22 - - - - - - - FilterOperand - - i=22 - - - - ElementOperand - - i=589 - - - - - - - LiteralOperand - - i=589 - - - - - - - AttributeOperand - - i=589 - - - - - - - - - - - SimpleAttributeOperand - - i=589 - - - - - - - - - - HistoryEvent - - i=22 - - - - - - - HistoryUpdateType - - i=11884 - i=29 - - - - - - - - - - EnumValues - - i=68 - i=78 - i=11234 - - - - - - i=7616 - - - - 1 - - - - Insert - - - - - - - - i=7616 - - - - 2 - - - - Replace - - - - - - - - i=7616 - - - - 3 - - - - Update - - - - - - - - i=7616 - - - - 4 - - - - Delete - - - - - - - - - - PerformUpdateType - - i=11885 - i=29 - - - - - - - - - - EnumValues - - i=68 - i=78 - i=11293 - - - - - - i=7616 - - - - 1 - - - - Insert - - - - - - - - i=7616 - - - - 2 - - - - Replace - - - - - - - - i=7616 - - - - 3 - - - - Update - - - - - - - - i=7616 - - - - 4 - - - - Remove - - - - - - - - - - MonitoringFilter - - i=22 - - - - EventFilter - - i=719 - - - - - - - - AggregateConfiguration - - i=22 - - - - - - - - - - - HistoryEventFieldList - - i=22 - - - - - - - Default XML - - i=308 - i=8300 - i=76 - - - - Default XML - - i=12189 - i=12201 - i=76 - - - - Default XML - - i=304 - i=8297 - i=76 - - - - Default XML - - i=312 - i=8303 - i=76 - - - - Default XML - - i=432 - i=8417 - i=76 - - - - Default XML - - i=12890 - i=12894 - i=76 - - - - Default XML - - i=12891 - i=12897 - i=76 - - - - Default XML - - i=344 - i=8333 - 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=12504 - i=12506 - i=76 - - - - Default XML - - i=938 - i=8318 - i=76 - - - - Default XML - - i=376 - i=8363 - i=76 - - - - Default XML - - i=379 - i=8366 - i=76 - - - - Default XML - - i=382 - i=8369 - i=76 - - - - Default XML - - i=385 - i=8372 - i=76 - - - - Default XML - - i=537 - i=12712 - i=76 - - - - Default XML - - i=540 - i=12715 - i=76 - - - - Default XML - - i=331 - i=8321 - i=76 - - - - Default XML - - i=335 - i=8324 - i=76 - - - - Default XML - - i=341 - i=8330 - 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=659 - i=8639 - i=76 - - - - Default XML - - i=719 - i=8702 - i=76 - - - - Default XML - - i=725 - i=8708 - i=76 - - - - Default XML - - i=948 - i=8711 - i=76 - - - - Default XML - - i=920 - i=8807 - i=76 - - - - Default Binary - - i=308 - i=7665 - i=76 - - - - Default Binary - - i=12189 - i=12213 - i=76 - - - - Default Binary - - i=304 - i=7662 - i=76 - - - - Default Binary - - i=312 - i=7668 - i=76 - - - - Default Binary - - i=432 - i=7782 - i=76 - - - - Default Binary - - i=12890 - i=12902 - i=76 - - - - Default Binary - - i=12891 - i=12905 - i=76 - - - - Default Binary - - i=344 - i=7698 - 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=12504 - i=12510 - i=76 - - - - Default Binary - - i=938 - i=7683 - i=76 - - - - Default Binary - - i=376 - i=7728 - i=76 - - - - Default Binary - - i=379 - i=7731 - i=76 - - - - Default Binary - - i=382 - i=7734 - i=76 - - - - Default Binary - - i=385 - i=7737 - i=76 - - - - Default Binary - - i=537 - i=12718 - i=76 - - - - Default Binary - - i=540 - i=12721 - i=76 - - - - Default Binary - - i=331 - i=7686 - i=76 - - - - Default Binary - - i=335 - i=7689 - i=76 - - - - Default Binary - - i=341 - i=7695 - 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=659 - i=8004 - i=76 - - - - Default Binary - - i=719 - i=8067 - i=76 - - - - Default Binary - - i=725 - i=8073 - i=76 - - - - Default Binary - - i=948 - i=8076 - i=76 - - - - Default Binary - - i=920 - i=8172 - i=76 - - - \ No newline at end of file + + + + + + + + + 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 + + + ExpandedNodeId + Describes a value that is an absolute identifier for a node. + + i=24 + + + + StatusCode + Describes a value that is a code representing the outcome of an operation by a Server. + + i=24 + + + + DataValue + Describes a value that is a structure containing a value, a status code and timestamps. + + i=24 + + + + DiagnosticInfo + Describes a value that is a structure containing diagnostics associated with a StatusCode. + + i=24 + + + + IntegerId + A numeric identifier for an object. + + i=7 + + + + ApplicationType + The types of applications. + + i=7597 + i=29 + + + + The application is a server. + + + The application is a client. + + + The application is a client and a server. + + + The application is a discovery server. + + + + + EnumStrings + + i=68 + i=78 + i=307 + + + + + + + Server + + + + + Client + + + + + ClientAndServer + + + + + DiscoveryServer + + + + + + ApplicationDescription + Describes an application and how to find it. + + i=22 + + + + The globally unique identifier for the application. + + + The globally unique identifier for the product. + + + The name of application. + + + The type of application. + + + The globally unique identifier for the server that is acting as a gateway for the server. + + + The globally unique identifier for the discovery profile supported by the server. + + + The URLs for the server's discovery endpoints. + + + + + ServerOnNetwork + + i=22 + + + + + + + + + + ApplicationInstanceCertificate + A certificate for an instance of an application. + + i=15 + + + + MessageSecurityMode + The type of security to use on a message. + + i=7595 + i=29 + + + + An invalid mode. + + + No security is used. + + + The message is signed. + + + The message is signed and encrypted. + + + + + EnumStrings + + i=68 + i=78 + i=302 + + + + + + + Invalid + + + + + None + + + + + Sign + + + + + SignAndEncrypt + + + + + + UserTokenType + The possible user token types. + + i=7596 + i=29 + + + + An anonymous user. + + + A user identified by a user name and password. + + + A user identified by an X509 certificate. + + + A user identified by WS-Security XML token. + + + + + EnumStrings + + i=68 + i=78 + i=303 + + + + + + + Anonymous + + + + + UserName + + + + + Certificate + + + + + IssuedToken + + + + + + UserTokenPolicy + Describes a user token that can be used with a server. + + i=22 + + + + A identifier for the policy assigned by the server. + + + The type of user token. + + + The type of issued token. + + + The endpoint or any other information need to contruct an issued token URL. + + + The security policy to use when encrypting or signing the user token. + + + + + EndpointDescription + The description of a endpoint that can be used to access a server. + + i=22 + + + + The network endpoint to use when connecting to the server. + + + The description of the server. + + + The server's application certificate. + + + The security mode that must be used when connecting to the endpoint. + + + The security policy to use when connecting to the endpoint. + + + The user identity tokens that can be used with this endpoint. + + + The transport profile to use when connecting to the endpoint. + + + A server assigned value that indicates how secure the endpoint is relative to other server endpoints. + + + + + RegisteredServer + The information required to register a server with a discovery server. + + i=22 + + + + The globally unique identifier for the server. + + + The globally unique identifier for the product. + + + The name of server in multiple lcoales. + + + The type of server. + + + The globally unique identifier for the server that is acting as a gateway for the server. + + + The URLs for the server's discovery endpoints. + + + A path to a file that is deleted when the server is no longer accepting connections. + + + If FALSE the server will save the registration information to a persistent datastore. + + + + + DiscoveryConfiguration + A base type for discovery configuration information. + + i=22 + + + + MdnsDiscoveryConfiguration + The discovery information needed for mDNS registration. + + i=12890 + + + + The name for server that is broadcast via mDNS. + + + The server capabilities that are broadcast via mDNS. + + + + + SecurityTokenRequestType + Indicates whether a token if being created or renewed. + + i=7598 + i=29 + + + + The channel is being created. + + + The channel is being renewed. + + + + + EnumStrings + + i=68 + i=78 + i=315 + + + + + + + Issue + + + + + Renew + + + + + + SignedSoftwareCertificate + A software certificate with a digital signature. + + i=22 + + + + The data of the certificate. + + + The digital signature. + + + + + SessionAuthenticationToken + A unique identifier for a session used to authenticate requests. + + i=17 + + + + UserIdentityToken + A base type for a user identity token. + + i=22 + + + + The policy id specified in a user token policy for the endpoint being used. + + + + + AnonymousIdentityToken + A token representing an anonymous user. + + i=316 + + + + UserNameIdentityToken + A token representing a user identified by a user name and password. + + i=316 + + + + The user name. + + + The password encrypted with the server certificate. + + + The algorithm used to encrypt the password. + + + + + X509IdentityToken + A token representing a user identified by an X509 certificate. + + i=316 + + + + The certificate. + + + + + IssuedIdentityToken + A token representing a user identified by a WS-Security XML token. + + i=316 + + + + The XML token encrypted with the server certificate. + + + The algorithm used to encrypt the certificate. + + + + + NodeAttributesMask + The bits used to specify default attributes for a new node. + + i=11881 + i=29 + + + + No attribuites provided. + + + The access level attribute is specified. + + + The array dimensions attribute is specified. + + + The browse name attribute is specified. + + + The contains no loops attribute is specified. + + + The data type attribute is specified. + + + The description attribute is specified. + + + The display name attribute is specified. + + + The event notifier attribute is specified. + + + The executable attribute is specified. + + + The historizing attribute is specified. + + + The inverse name attribute is specified. + + + The is abstract attribute is specified. + + + The minimum sampling interval attribute is specified. + + + The node class attribute is specified. + + + The node id attribute is specified. + + + The symmetric attribute is specified. + + + The user access level attribute is specified. + + + The user executable attribute is specified. + + + The user write mask attribute is specified. + + + The value rank attribute is specified. + + + The write mask attribute is specified. + + + The value attribute is specified. + + + All attributes are specified. + + + All base attributes are specified. + + + All object attributes are specified. + + + All object type or data type attributes are specified. + + + All variable attributes are specified. + + + All variable type attributes are specified. + + + All method attributes are specified. + + + All reference type attributes are specified. + + + All view attributes are specified. + + + + + EnumValues + + i=68 + i=78 + i=348 + + + + + + i=7616 + + + + 0 + + + + None + + + + + No attribuites provided. + + + + + + + i=7616 + + + + 1 + + + + AccessLevel + + + + + The access level attribute is specified. + + + + + + + i=7616 + + + + 2 + + + + ArrayDimensions + + + + + The array dimensions attribute is specified. + + + + + + + i=7616 + + + + 4 + + + + BrowseName + + + + + The browse name attribute is specified. + + + + + + + i=7616 + + + + 8 + + + + ContainsNoLoops + + + + + The contains no loops attribute is specified. + + + + + + + i=7616 + + + + 16 + + + + DataType + + + + + The data type attribute is specified. + + + + + + + i=7616 + + + + 32 + + + + Description + + + + + The description attribute is specified. + + + + + + + i=7616 + + + + 64 + + + + DisplayName + + + + + The display name attribute is specified. + + + + + + + i=7616 + + + + 128 + + + + EventNotifier + + + + + The event notifier attribute is specified. + + + + + + + i=7616 + + + + 256 + + + + Executable + + + + + The executable attribute is specified. + + + + + + + i=7616 + + + + 512 + + + + Historizing + + + + + The historizing attribute is specified. + + + + + + + i=7616 + + + + 1024 + + + + InverseName + + + + + The inverse name attribute is specified. + + + + + + + i=7616 + + + + 2048 + + + + IsAbstract + + + + + The is abstract attribute is specified. + + + + + + + i=7616 + + + + 4096 + + + + MinimumSamplingInterval + + + + + The minimum sampling interval attribute is specified. + + + + + + + i=7616 + + + + 8192 + + + + NodeClass + + + + + The node class attribute is specified. + + + + + + + i=7616 + + + + 16384 + + + + NodeId + + + + + The node id attribute is specified. + + + + + + + i=7616 + + + + 32768 + + + + Symmetric + + + + + The symmetric attribute is specified. + + + + + + + i=7616 + + + + 65536 + + + + UserAccessLevel + + + + + The user access level attribute is specified. + + + + + + + i=7616 + + + + 131072 + + + + UserExecutable + + + + + The user executable attribute is specified. + + + + + + + i=7616 + + + + 262144 + + + + UserWriteMask + + + + + The user write mask attribute is specified. + + + + + + + i=7616 + + + + 524288 + + + + ValueRank + + + + + The value rank attribute is specified. + + + + + + + i=7616 + + + + 1048576 + + + + WriteMask + + + + + The write mask attribute is specified. + + + + + + + i=7616 + + + + 2097152 + + + + Value + + + + + The value attribute is specified. + + + + + + + i=7616 + + + + 4194303 + + + + All + + + + + All attributes are specified. + + + + + + + i=7616 + + + + 1335396 + + + + BaseNode + + + + + All base attributes are specified. + + + + + + + i=7616 + + + + 1335524 + + + + Object + + + + + All object attributes are specified. + + + + + + + i=7616 + + + + 1337444 + + + + ObjectTypeOrDataType + + + + + All object type or data type attributes are specified. + + + + + + + i=7616 + + + + 4026999 + + + + Variable + + + + + All variable attributes are specified. + + + + + + + i=7616 + + + + 3958902 + + + + VariableType + + + + + All variable type attributes are specified. + + + + + + + i=7616 + + + + 1466724 + + + + Method + + + + + All method attributes are specified. + + + + + + + i=7616 + + + + 1371236 + + + + ReferenceType + + + + + All reference type attributes are specified. + + + + + + + i=7616 + + + + 1335532 + + + + View + + + + + All view attributes are specified. + + + + + + + + + AddNodesItem + A request to add a node to the server address space. + + i=22 + + + + The node id for the parent node. + + + The type of reference from the parent to the new node. + + + The node id requested by the client. If null the server must provide one. + + + The browse name for the new node. + + + The class of the new node. + + + The default attributes for the new node. + + + The type definition for the new node. + + + + + AddReferencesItem + A request to add a reference to the server address space. + + i=22 + + + + The source of the reference. + + + The type of reference. + + + If TRUE the reference is a forward reference. + + + The URI of the server containing the target (if in another server). + + + The target of the reference. + + + The node class of the target (if known). + + + + + DeleteNodesItem + A request to delete a node to the server address space. + + i=22 + + + + The id of the node to delete. + + + If TRUE all references to the are deleted as well. + + + + + DeleteReferencesItem + A request to delete a node from the server address space. + + i=22 + + + + The source of the reference to delete. + + + The type of reference to delete. + + + If TRUE the a forward reference is deleted. + + + The target of the reference to delete. + + + If TRUE the reference is deleted in both directions. + + + + + AttributeWriteMask + Define bits used to indicate which attributes are writable. + + i=11882 + i=29 + + + + No attributes are writable. + + + The access level attribute is writable. + + + The array dimensions attribute is writable. + + + The browse name attribute is writable. + + + The contains no loops attribute is writable. + + + The data type attribute is writable. + + + The description attribute is writable. + + + The display name attribute is writable. + + + The event notifier attribute is writable. + + + The executable attribute is writable. + + + The historizing attribute is writable. + + + The inverse name attribute is writable. + + + The is abstract attribute is writable. + + + The minimum sampling interval attribute is writable. + + + The node class attribute is writable. + + + The node id attribute is writable. + + + The symmetric attribute is writable. + + + The user access level attribute is writable. + + + The user executable attribute is writable. + + + The user write mask attribute is writable. + + + The value rank attribute is writable. + + + The write mask attribute is writable. + + + The value attribute is writable. + + + + + EnumValues + + i=68 + i=78 + i=347 + + + + + + i=7616 + + + + 0 + + + + None + + + + + No attributes are writable. + + + + + + + i=7616 + + + + 1 + + + + AccessLevel + + + + + The access level attribute is writable. + + + + + + + i=7616 + + + + 2 + + + + ArrayDimensions + + + + + The array dimensions attribute is writable. + + + + + + + i=7616 + + + + 4 + + + + BrowseName + + + + + The browse name attribute is writable. + + + + + + + i=7616 + + + + 8 + + + + ContainsNoLoops + + + + + The contains no loops attribute is writable. + + + + + + + i=7616 + + + + 16 + + + + DataType + + + + + The data type attribute is writable. + + + + + + + i=7616 + + + + 32 + + + + Description + + + + + The description attribute is writable. + + + + + + + i=7616 + + + + 64 + + + + DisplayName + + + + + The display name attribute is writable. + + + + + + + i=7616 + + + + 128 + + + + EventNotifier + + + + + The event notifier attribute is writable. + + + + + + + i=7616 + + + + 256 + + + + Executable + + + + + The executable attribute is writable. + + + + + + + i=7616 + + + + 512 + + + + Historizing + + + + + The historizing attribute is writable. + + + + + + + i=7616 + + + + 1024 + + + + InverseName + + + + + The inverse name attribute is writable. + + + + + + + i=7616 + + + + 2048 + + + + IsAbstract + + + + + The is abstract attribute is writable. + + + + + + + i=7616 + + + + 4096 + + + + MinimumSamplingInterval + + + + + The minimum sampling interval attribute is writable. + + + + + + + i=7616 + + + + 8192 + + + + NodeClass + + + + + The node class attribute is writable. + + + + + + + i=7616 + + + + 16384 + + + + NodeId + + + + + The node id attribute is writable. + + + + + + + i=7616 + + + + 32768 + + + + Symmetric + + + + + The symmetric attribute is writable. + + + + + + + i=7616 + + + + 65536 + + + + UserAccessLevel + + + + + The user access level attribute is writable. + + + + + + + i=7616 + + + + 131072 + + + + UserExecutable + + + + + The user executable attribute is writable. + + + + + + + i=7616 + + + + 262144 + + + + UserWriteMask + + + + + The user write mask attribute is writable. + + + + + + + i=7616 + + + + 524288 + + + + ValueRank + + + + + The value rank attribute is writable. + + + + + + + i=7616 + + + + 1048576 + + + + WriteMask + + + + + The write mask attribute is writable. + + + + + + + i=7616 + + + + 2097152 + + + + ValueForVariableType + + + + + The value attribute is writable. + + + + + + + + + ContinuationPoint + An identifier for a suspended query or browse operation. + + i=15 + + + + RelativePathElement + An element in a relative path. + + i=22 + + + + The type of reference to follow. + + + If TRUE the reverse reference is followed. + + + If TRUE then subtypes of the reference type are followed. + + + The browse name of the target. + + + + + RelativePath + A relative path constructed from reference types and browse names. + + i=22 + + + + A list of elements in the path. + + + + + Counter + A monotonically increasing value. + + i=7 + + + + NumericRange + Specifies a range of array indexes. + + i=12 + + + + Time + A time value specified as HH:MM:SS.SSS. + + i=12 + + + + Date + A date value. + + i=13 + + + + EndpointConfiguration + + i=22 + + + + + + + + + + + + + + + FilterOperator + + i=7605 + i=29 + + + + + + + + + + + + + + + + + + + + + + + + EnumStrings + + i=68 + i=78 + i=576 + + + + + + + Equals + + + + + IsNull + + + + + GreaterThan + + + + + LessThan + + + + + GreaterThanOrEqual + + + + + LessThanOrEqual + + + + + Like + + + + + Not + + + + + Between + + + + + InList + + + + + And + + + + + Or + + + + + Cast + + + + + InView + + + + + OfType + + + + + RelatedTo + + + + + BitwiseAnd + + + + + BitwiseOr + + + + + + ContentFilterElement + + i=22 + + + + + + + + ContentFilter + + i=22 + + + + + + + FilterOperand + + i=22 + + + + ElementOperand + + i=589 + + + + + + + LiteralOperand + + i=589 + + + + + + + AttributeOperand + + i=589 + + + + + + + + + + + SimpleAttributeOperand + + i=589 + + + + + + + + + + HistoryEvent + + i=22 + + + + + + + HistoryUpdateType + + i=11884 + i=29 + + + + + + + + + + EnumValues + + i=68 + i=78 + i=11234 + + + + + + i=7616 + + + + 1 + + + + Insert + + + + + + + + i=7616 + + + + 2 + + + + Replace + + + + + + + + i=7616 + + + + 3 + + + + Update + + + + + + + + i=7616 + + + + 4 + + + + Delete + + + + + + + + + + PerformUpdateType + + i=11885 + i=29 + + + + + + + + + + EnumValues + + i=68 + i=78 + i=11293 + + + + + + i=7616 + + + + 1 + + + + Insert + + + + + + + + i=7616 + + + + 2 + + + + Replace + + + + + + + + i=7616 + + + + 3 + + + + Update + + + + + + + + i=7616 + + + + 4 + + + + Remove + + + + + + + + + + MonitoringFilter + + i=22 + + + + EventFilter + + i=719 + + + + + + + + AggregateConfiguration + + i=22 + + + + + + + + + + + HistoryEventFieldList + + i=22 + + + + + + + Default XML + + i=308 + i=8300 + i=76 + + + + Default XML + + i=12189 + i=12201 + i=76 + + + + Default XML + + i=304 + i=8297 + i=76 + + + + Default XML + + i=312 + i=8303 + i=76 + + + + Default XML + + i=432 + i=8417 + i=76 + + + + Default XML + + i=12890 + i=12894 + i=76 + + + + Default XML + + i=12891 + i=12897 + i=76 + + + + Default XML + + i=344 + i=8333 + 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=376 + i=8363 + i=76 + + + + Default XML + + i=379 + i=8366 + i=76 + + + + Default XML + + i=382 + i=8369 + i=76 + + + + Default XML + + i=385 + i=8372 + i=76 + + + + Default XML + + i=537 + i=12712 + i=76 + + + + Default XML + + i=540 + i=12715 + i=76 + + + + Default XML + + i=331 + i=8321 + 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=659 + i=8639 + i=76 + + + + Default XML + + i=719 + i=8702 + i=76 + + + + Default XML + + i=725 + i=8708 + i=76 + + + + Default XML + + i=948 + i=8711 + i=76 + + + + Default XML + + i=920 + i=8807 + i=76 + + + + Default Binary + + i=308 + i=7665 + i=76 + + + + Default Binary + + i=12189 + i=12213 + i=76 + + + + Default Binary + + i=304 + i=7662 + i=76 + + + + Default Binary + + i=312 + i=7668 + i=76 + + + + Default Binary + + i=432 + i=7782 + i=76 + + + + Default Binary + + i=12890 + i=12902 + i=76 + + + + Default Binary + + i=12891 + i=12905 + i=76 + + + + Default Binary + + i=344 + i=7698 + 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=376 + i=7728 + i=76 + + + + Default Binary + + i=379 + i=7731 + i=76 + + + + Default Binary + + i=382 + i=7734 + i=76 + + + + Default Binary + + i=385 + i=7737 + i=76 + + + + Default Binary + + i=537 + i=12718 + i=76 + + + + Default Binary + + i=540 + i=12721 + i=76 + + + + Default Binary + + i=331 + i=7686 + 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=659 + i=8004 + i=76 + + + + Default Binary + + i=719 + i=8067 + i=76 + + + + Default Binary + + i=725 + i=8073 + i=76 + + + + Default Binary + + i=948 + i=8076 + i=76 + + + + Default Binary + + i=920 + i=8172 + i=76 + + + diff --git a/schemas/Opc.Ua.NodeSet2.Part5.xml b/schemas/Opc.Ua.NodeSet2.Part5.xml index 3f1ad02a9..0b2dcc64b 100644 --- a/schemas/Opc.Ua.NodeSet2.Part5.xml +++ b/schemas/Opc.Ua.NodeSet2.Part5.xml @@ -1,17092 +1,17030 @@ - - - - - - - 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 - - - FromState - The type for a reference to the state before a transition. - - i=32 - - ToTransition - - - ToState - The type for a reference to the state after a transition. - - i=32 - - FromTransition - - - HasCause - The type for a reference to a method that can cause a transition to occur. - - i=32 - - MayBeCausedBy - - - HasEffect - The type for a reference to an event that may be raised when a transition occurs. - - i=32 - - MayBeEffectedBy - - - HasSubStateMachine - The type for a reference to a substate for a state. - - i=32 - - SubStateMachineOf - - - BaseObjectType - The base type for all object nodes. - - - - FolderType - The type for objects that organize other nodes. - - i=58 - - - - BaseVariableType - The abstract base type for all variable nodes. - - - - BaseDataVariableType - The type for variable that represents a process value. - - i=62 - - - - PropertyType - The type for variable that represents a property of another node. - - i=62 - - - - DataTypeDescriptionType - The type for variable that represents the description of a data type encoding. - - i=104 - i=105 - i=63 - - - - DataTypeVersion - The version number for the data type description. - - i=68 - i=80 - i=69 - - - - DictionaryFragment - A fragment of a data type dictionary that defines the data type. - - i=68 - i=80 - i=69 - - - - DataTypeDictionaryType - The type for variable that represents the collection of data type decriptions. - - i=106 - i=107 - i=63 - - - - DataTypeVersion - The version number for the data type dictionary. - - i=68 - i=80 - i=72 - - - - NamespaceUri - A URI that uniquely identifies the dictionary. - - i=68 - i=80 - i=72 - - - - DataTypeSystemType - - i=58 - - - - DataTypeEncodingType - - i=58 - - - - ModellingRuleType - The type for an object that describes how an instance declaration is used when a type is instantiated. - - i=111 - i=58 - - - - NamingRule - Specified the significances of the BrowseName when a type is instantiated. - - i=68 - i=78 - i=77 - - - 1 - - - - Mandatory - Specifies that an instance with the attributes and references of the instance declaration must appear when a type is instantiated. - - i=112 - i=77 - - - - NamingRule - Specified the significances of the BrowseName when a type is instantiated. - - i=68 - i=78 - - - 1 - - - - Optional - Specifies that an instance with the attributes and references of the instance declaration may appear when a type is instantiated. - - i=113 - i=77 - - - - NamingRule - Specified the significances of the BrowseName when a type is instantiated. - - i=68 - i=80 - - - 2 - - - - ExposesItsArray - Specifies that an instance appears for each element of the containing array variable. - - i=114 - i=77 - - - - NamingRule - Specified the significances of the BrowseName when a type is instantiated. - - i=68 - i=83 - - - 3 - - - - MandatoryShared - Specifies that a reference to a shared instance must appear in when a type is instantiated. - - i=116 - i=77 - - - - NamingRule - Specified the significances of the BrowseName when a type is instantiated. - - i=68 - i=79 - - - 1 - - - - OptionalPlaceholder - Specifies that zero or more instances with the attributes and references of the instance declaration may appear when a type is instantiated. - - i=11509 - i=77 - - - - NamingRule - Specified the significances of the BrowseName when a type is instantiated. - - i=68 - i=11508 - - - 2 - - - - MandatoryPlaceholder - Specifies that one or more instances with the attributes and references of the instance declaration must appear when a type is instantiated. - - i=11511 - i=77 - - - - NamingRule - Specified the significances of the BrowseName when a type is instantiated. - - i=68 - i=11510 - - - 1 - - - - Root - The root of the server address space. - - i=61 - - - - Objects - The browse entry point when looking for objects in the server address space. - - i=84 - i=61 - - - - Types - The browse entry point when looking for types in the server address space. - - i=84 - i=61 - - - - Views - The browse entry point when looking for views in the server address space. - - i=84 - i=61 - - - - ObjectTypes - The browse entry point when looking for object types in the server address space. - - i=86 - i=58 - i=61 - - - - VariableTypes - The browse entry point when looking for variable types in the server address space. - - i=86 - i=62 - i=61 - - - - DataTypes - The browse entry point when looking for data types in the server address space. - - i=86 - i=24 - i=61 - - - - ReferenceTypes - The browse entry point when looking for reference types in the server address space. - - i=86 - i=31 - i=61 - - - - XML Schema - A type system which uses XML schema to describe the encoding of data types. - - i=90 - i=75 - - - - OPC Binary - A type system which uses OPC binary schema to describe the encoding of data types. - - i=90 - i=75 - - - - ServerType - Specifies the current status and capabilities of the server. - - i=2005 - i=2006 - i=2007 - i=2008 - i=2742 - i=12882 - i=2009 - i=2010 - i=2011 - i=2012 - i=11527 - i=11489 - i=12871 - i=12746 - i=12883 - i=58 - - - - ServerArray - The list of server URIs used by the server. - - i=68 - i=78 - i=2004 - - - - NamespaceArray - The list of namespace URIs used by the server. - - i=68 - i=78 - i=2004 - - - - ServerStatus - The current status of the server. - - 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 - A value indicating the level of service the server can provide. 255 indicates the best. - - i=68 - i=78 - i=2004 - - - - Auditing - A flag indicating whether the server is currently generating audit events. - - i=68 - i=78 - i=2004 - - - - EstimatedReturnTime - Indicates the time at which the Server is expected to be available in the state RUNNING. - - i=68 - i=80 - i=2004 - - - - ServerCapabilities - Describes capabilities supported by the server. - - 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 - A list of profiles supported by the server. - - i=68 - i=78 - i=2009 - - - - LocaleIdArray - A list of locales supported by the server. - - i=68 - i=78 - i=2009 - - - - MinSupportedSampleRate - The minimum sampling interval supported by the server. - - i=68 - i=78 - i=2009 - - - - MaxBrowseContinuationPoints - The maximum number of continuation points for Browse operations per session. - - i=68 - i=78 - i=2009 - - - - MaxQueryContinuationPoints - The maximum number of continuation points for Query operations per session. - - i=68 - i=78 - i=2009 - - - - MaxHistoryContinuationPoints - The maximum number of continuation points for ReadHistory operations per session. - - i=68 - i=78 - i=2009 - - - - SoftwareCertificates - The software certificates owned by the server. - - i=68 - i=78 - i=2009 - - - - ModellingRules - A folder for the modelling rules supported by the server. - - i=61 - i=78 - i=2009 - - - - AggregateFunctions - A folder for the real time aggregates supported by the server. - - i=61 - i=78 - i=2009 - - - - ServerDiagnostics - Reports diagnostics about the server. - - i=3095 - i=3110 - i=3111 - i=3114 - i=2020 - i=78 - i=2004 - - - - ServerDiagnosticsSummary - A summary of server level diagnostics. - - 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 - A list of diagnostics for each active subscription. - - i=2171 - i=78 - i=2010 - - - - SessionsDiagnosticsSummary - A summary of session level diagnostics. - - i=3112 - i=3113 - i=2026 - i=78 - i=2010 - - - - SessionDiagnosticsArray - A list of diagnostics for each active session. - - i=2196 - i=78 - i=3111 - - - - SessionSecurityDiagnosticsArray - A list of security related diagnostics for each active session. - - i=2243 - i=78 - i=3111 - - - - EnabledFlag - If TRUE the diagnostics collection is enabled. - - i=68 - i=78 - i=2010 - - - - VendorServerInfo - Server information provided by the vendor. - - i=2033 - i=78 - i=2004 - - - - ServerRedundancy - Describes the redundancy capabilities of the server. - - i=3115 - i=2034 - i=78 - i=2004 - - - - RedundancySupport - Indicates what style of redundancy is supported by the server. - - i=68 - i=78 - i=2012 - - - - Namespaces - Describes the namespaces supported by the server. - - 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 - - - - - - - - i=297 - - - - ClientHandles - - i=7 - - 1 - - - - - - - - - - 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 - Describes the capabilities supported by the server. - - 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=58 - - - - ServerProfileArray - A list of profiles supported by the server. - - i=68 - i=78 - i=2013 - - - - LocaleIdArray - A list of locales supported by the server. - - i=68 - i=78 - i=2013 - - - - MinSupportedSampleRate - The minimum sampling interval supported by the server. - - i=68 - i=78 - i=2013 - - - - MaxBrowseContinuationPoints - The maximum number of continuation points for Browse operations per session. - - i=68 - i=78 - i=2013 - - - - MaxQueryContinuationPoints - The maximum number of continuation points for Query operations per session. - - i=68 - i=78 - i=2013 - - - - MaxHistoryContinuationPoints - The maximum number of continuation points for ReadHistory operations per session. - - i=68 - i=78 - i=2013 - - - - SoftwareCertificates - The software certificates owned by the server. - - i=68 - i=78 - i=2013 - - - - MaxArrayLength - The maximum length for an array value supported by the server. - - i=68 - i=80 - i=2013 - - - - MaxStringLength - The maximum length for a string value supported by the server. - - i=68 - i=80 - i=2013 - - - - MaxByteStringLength - The maximum length for a byte string value supported by the server. - - i=68 - i=80 - i=2013 - - - - OperationLimits - Defines the limits supported by the server for different operations. - - i=11564 - i=80 - i=2013 - - - - ModellingRules - A folder for the modelling rules supported by the server. - - i=61 - i=78 - i=2013 - - - - AggregateFunctions - A folder for the real time aggregates supported by the server. - - i=61 - i=78 - i=2013 - - - - <VendorCapability> - - i=2137 - i=11508 - i=2013 - - - - ServerDiagnosticsType - The diagnostics information for a server. - - i=2021 - i=2022 - i=2023 - i=2744 - i=2025 - i=58 - - - - ServerDiagnosticsSummary - A summary of server level diagnostics. - - 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 - A list of diagnostics for each sampling interval supported by the server. - - i=2164 - i=80 - i=2020 - - - - SubscriptionDiagnosticsArray - A list of diagnostics for each active subscription. - - i=2171 - i=78 - i=2020 - - - - SessionsDiagnosticsSummary - A summary of session level diagnostics. - - i=3129 - i=3130 - i=2026 - i=78 - i=2020 - - - - SessionDiagnosticsArray - A list of diagnostics for each active session. - - i=2196 - i=78 - i=2744 - - - - SessionSecurityDiagnosticsArray - A list of security related diagnostics for each active session. - - i=2243 - i=78 - i=2744 - - - - EnabledFlag - If TRUE the diagnostics collection is enabled. - - i=68 - i=78 - i=2020 - - - - SessionsDiagnosticsSummaryType - Provides a summary of session level diagnostics. - - i=2027 - i=2028 - i=12097 - i=58 - - - - SessionDiagnosticsArray - A list of diagnostics for each active session. - - i=2196 - i=78 - i=2026 - - - - SessionSecurityDiagnosticsArray - A list of security related diagnostics for each active session. - - i=2243 - i=78 - i=2026 - - - - <SessionPlaceholder> - - i=12098 - i=12142 - i=12152 - i=2029 - i=11508 - i=2026 - - - - SessionDiagnostics - Diagnostics information for an active session. - - 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 - Security related diagnostics information for an active session. - - 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 - A list of diagnostics for each subscription owned by the session. - - i=2171 - i=78 - i=12097 - - - - SessionDiagnosticsObjectType - A container for session level diagnostics information. - - i=2030 - i=2031 - i=2032 - i=58 - - - - SessionDiagnostics - Diagnostics information for an active session. - - 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 - Security related diagnostics information for an active session. - - 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 - A list of diagnostics for each subscription owned by the session. - - i=2171 - i=78 - i=2029 - - - - VendorServerInfoType - A base type for vendor specific server information. - - i=58 - - - - ServerRedundancyType - A base type for an object that describe how a server supports redundancy. - - i=2035 - i=58 - - - - RedundancySupport - Indicates what style of redundancy is supported by the server. - - i=68 - i=78 - i=2034 - - - - TransparentRedundancyType - Identifies the capabilties of server that supports transparent redundancy. - - i=2037 - i=2038 - i=2034 - - - - CurrentServerId - The ID of the server that is currently in use. - - i=68 - i=78 - i=2036 - - - - RedundantServerArray - A list of servers in the same redundant set. - - i=68 - i=78 - i=2036 - - - - NonTransparentRedundancyType - Identifies the capabilties of server that supports non-transparent redundancy. - - i=2040 - i=2034 - - - - ServerUriArray - A list of servers in the same redundant set. - - i=68 - i=78 - i=2039 - - - - NonTransparentNetworkRedundancyType - - i=11948 - i=2039 - - - - ServerNetworkGroups - - i=68 - i=78 - i=11945 - - - - OperationLimitsType - Identifies the operation limits imposed by the server. - - 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=58 - - - - MaxNodesPerRead - The maximum number of operations in a single Read request. - - i=68 - i=80 - i=11564 - - - - MaxNodesPerHistoryReadData - The maximum number of operations in a single data HistoryRead request. - - i=68 - i=80 - i=11564 - - - - MaxNodesPerHistoryReadEvents - The maximum number of operations in a single event HistoryRead request. - - i=68 - i=80 - i=11564 - - - - MaxNodesPerWrite - The maximum number of operations in a single Write request. - - i=68 - i=80 - i=11564 - - - - MaxNodesPerHistoryUpdateData - The maximum number of operations in a single data HistoryUpdate request. - - i=68 - i=80 - i=11564 - - - - MaxNodesPerHistoryUpdateEvents - The maximum number of operations in a single event HistoryUpdate request. - - i=68 - i=80 - i=11564 - - - - MaxNodesPerMethodCall - The maximum number of operations in a single Call request. - - i=68 - i=80 - i=11564 - - - - MaxNodesPerBrowse - The maximum number of operations in a single Browse request. - - i=68 - i=80 - i=11564 - - - - MaxNodesPerRegisterNodes - The maximum number of operations in a single RegisterNodes request. - - i=68 - i=80 - i=11564 - - - - MaxNodesPerTranslateBrowsePathsToNodeIds - The maximum number of operations in a single TranslateBrowsePathsToNodeIds request. - - i=68 - i=80 - i=11564 - - - - MaxNodesPerNodeManagement - The maximum number of operations in a single AddNodes, AddReferences, DeleteNodes or DeleteReferences request. - - i=68 - i=80 - i=11564 - - - - MaxMonitoredItemsPerCall - The maximum number of operations in a single MonitoredItem related request. - - i=68 - i=80 - i=11564 - - - - FileType - An object that represents a file that can be accessed via the server. - - i=11576 - i=12686 - i=12687 - i=11579 - i=13341 - i=11580 - i=11583 - i=11585 - i=11588 - i=11590 - i=11593 - i=58 - - - - Size - The size of the file in bytes. - - i=68 - i=78 - i=11575 - - - - Writable - Whether the file is writable. - - i=68 - i=78 - i=11575 - - - - UserWritable - Whether the file is writable by the current user. - - i=68 - i=78 - i=11575 - - - - OpenCount - The current number of open file handles. - - i=68 - i=78 - i=11575 - - - - MimeType - The content of the file. - - 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 - - - - - - - - - - FileDirectoryType - - i=13354 - i=13366 - i=13387 - i=13390 - i=13393 - i=13395 - i=61 - - - - <FileDirectoryName> - - i=13355 - i=13358 - i=13361 - 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=13362 - i=78 - i=13354 - - - - InputArguments - - i=68 - i=78 - i=13361 - - - - - - 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 - The size of the file in bytes. - - i=68 - i=78 - i=13366 - - - - Writable - Whether the file is writable. - - i=68 - i=78 - i=13366 - - - - UserWritable - Whether the file is writable by the current user. - - i=68 - i=78 - i=13366 - - - - OpenCount - The current number of open file handles. - - 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 - - - - - - - - - - AddressSpaceFileType - A file used to store a namespace exported from the server. - - i=11615 - i=11575 - - - - ExportNamespace - Updates the file by exporting the server namespace. - - i=80 - i=11595 - - - - NamespaceMetadataType - Provides the metadata for a namespace used by the server. - - i=11617 - i=11618 - i=11619 - i=11620 - i=11621 - i=11622 - i=11623 - i=11624 - i=58 - - - - NamespaceUri - The URI of the namespace. - - i=68 - i=78 - i=11616 - - - - NamespaceVersion - The human readable string representing version of the namespace. - - i=68 - i=78 - i=11616 - - - - NamespacePublicationDate - The publication date for the namespace. - - i=68 - i=78 - i=11616 - - - - IsNamespaceSubset - If TRUE then the server only supports a subset of the namespace. - - i=68 - i=78 - i=11616 - - - - StaticNodeIdIdentifierTypes - A list of IdTypes for nodes which are the same in every server that exposes them. - - i=68 - i=78 - i=11616 - - - - StaticNumericNodeIdRange - A list of ranges for numeric node ids which are the same in every server that exposes them. - - i=68 - i=78 - i=11616 - - - - StaticStringNodeIdPattern - A regular expression which matches string node ids are the same in every server that exposes them. - - i=68 - i=78 - i=11616 - - - - NamespaceFile - A file containing the nodes of the namespace. - - 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 - The size of the file in bytes. - - i=68 - i=78 - i=11624 - - - - Writable - Whether the file is writable. - - i=68 - i=78 - i=11624 - - - - UserWritable - Whether the file is writable by the current user. - - i=68 - i=78 - i=11624 - - - - OpenCount - The current number of open file handles. - - 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 - - - - - - - - - - NamespacesType - A container for the namespace metadata provided by the server. - - i=11646 - i=11675 - i=58 - - - - <NamespaceIdentifier> - - i=11647 - i=11648 - i=11649 - i=11650 - i=11651 - i=11652 - i=11653 - i=11616 - i=11508 - i=11645 - - - - NamespaceUri - The URI of the namespace. - - i=68 - i=78 - i=11646 - - - - NamespaceVersion - The human readable string representing version of the namespace. - - i=68 - i=78 - i=11646 - - - - NamespacePublicationDate - The publication date for the namespace. - - i=68 - i=78 - i=11646 - - - - IsNamespaceSubset - If TRUE then the server only supports a subset of the namespace. - - i=68 - i=78 - i=11646 - - - - StaticNodeIdIdentifierTypes - A list of IdTypes for nodes which are the same in every server that exposes them. - - i=68 - i=78 - i=11646 - - - - StaticNumericNodeIdRange - A list of ranges for numeric node ids which are the same in every server that exposes them. - - i=68 - i=78 - i=11646 - - - - StaticStringNodeIdPattern - A regular expression which matches string node ids are the same in every server that exposes them. - - i=68 - i=78 - i=11646 - - - - AddressSpaceFile - A file containing the nodes of the namespace. - - i=11676 - i=12694 - i=12695 - i=11679 - i=11680 - i=11683 - i=11685 - i=11688 - i=11690 - i=11693 - i=11595 - i=80 - i=11645 - - - - Size - The size of the file in bytes. - - i=68 - i=78 - i=11675 - - - - Writable - Whether the file is writable. - - i=68 - i=78 - i=11675 - - - - UserWritable - Whether the file is writable by the current user. - - i=68 - i=78 - i=11675 - - - - OpenCount - The current number of open file handles. - - i=68 - i=78 - i=11675 - - - - Open - - i=11681 - i=11682 - i=78 - i=11675 - - - - InputArguments - - i=68 - i=78 - i=11680 - - - - - - i=297 - - - - Mode - - i=3 - - -1 - - - - - - - - - - OutputArguments - - i=68 - i=78 - i=11680 - - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - - Close - - i=11684 - i=78 - i=11675 - - - - InputArguments - - i=68 - i=78 - i=11683 - - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - - Read - - i=11686 - i=11687 - i=78 - i=11675 - - - - InputArguments - - i=68 - i=78 - i=11685 - - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Length - - i=6 - - -1 - - - - - - - - - - OutputArguments - - i=68 - i=78 - i=11685 - - - - - - i=297 - - - - Data - - i=15 - - -1 - - - - - - - - - - Write - - i=11689 - i=78 - i=11675 - - - - InputArguments - - i=68 - i=78 - i=11688 - - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Data - - i=15 - - -1 - - - - - - - - - - GetPosition - - i=11691 - i=11692 - i=78 - i=11675 - - - - InputArguments - - i=68 - i=78 - i=11690 - - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - - OutputArguments - - i=68 - i=78 - i=11690 - - - - - - i=297 - - - - Position - - i=9 - - -1 - - - - - - - - - - SetPosition - - i=11694 - i=78 - i=11675 - - - - InputArguments - - i=68 - i=78 - i=11693 - - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Position - - i=9 - - -1 - - - - - - - - - - BaseEventType - The base type for all events. - - i=2042 - i=2043 - i=2044 - i=2045 - i=2046 - i=2047 - i=3190 - i=2050 - i=2051 - i=58 - - - - EventId - A globally unique identifier for the event. - - i=68 - i=78 - i=2041 - - - - EventType - The identifier for the event type. - - i=68 - i=78 - i=2041 - - - - SourceNode - The source of the event. - - i=68 - i=78 - i=2041 - - - - SourceName - A description of the source of the event. - - i=68 - i=78 - i=2041 - - - - Time - When the event occurred. - - i=68 - i=78 - i=2041 - - - - ReceiveTime - When the server received the event from the underlying system. - - i=68 - i=78 - i=2041 - - - - LocalTime - Information about the local time where the event originated. - - i=68 - i=78 - i=2041 - - - - Message - A localized description of the event. - - i=68 - i=78 - i=2041 - - - - Severity - Indicates how urgent an event is. - - i=68 - i=78 - i=2041 - - - - AuditEventType - A base type for events used to track client initiated changes to the server state. - - i=2053 - i=2054 - i=2055 - i=2056 - i=2057 - i=2041 - - - - ActionTimeStamp - When the action triggering the event occurred. - - i=68 - i=78 - i=2052 - - - - Status - If TRUE the action was performed. If FALSE the action failed and the server state did not change. - - i=68 - i=78 - i=2052 - - - - ServerId - The unique identifier for the server generating the event. - - i=68 - i=78 - i=2052 - - - - ClientAuditEntryId - The log entry id provided in the request that initiated the action. - - i=68 - i=78 - i=2052 - - - - ClientUserId - The user identity associated with the session that initiated the action. - - i=68 - i=78 - i=2052 - - - - AuditSecurityEventType - A base type for events used to track security related changes. - - i=2052 - - - - AuditChannelEventType - A base type for events used to track related changes to a secure channel. - - i=2745 - i=2058 - - - - SecureChannelId - The identifier for the secure channel that was changed. - - i=68 - i=78 - i=2059 - - - - AuditOpenSecureChannelEventType - An event that is raised when a secure channel is opened. - - i=2061 - i=2746 - i=2062 - i=2063 - i=2065 - i=2066 - i=2059 - - - - ClientCertificate - The certificate provided by the client. - - i=68 - i=78 - i=2060 - - - - ClientCertificateThumbprint - The thumbprint for certificate provided by the client. - - i=68 - i=78 - i=2060 - - - - RequestType - The type of request (NEW or RENEW). - - i=68 - i=78 - i=2060 - - - - SecurityPolicyUri - The security policy used by the channel. - - i=68 - i=78 - i=2060 - - - - SecurityMode - The security mode used by the channel. - - i=68 - i=78 - i=2060 - - - - RequestedLifetime - The lifetime of the channel requested by the client. - - i=68 - i=78 - i=2060 - - - - AuditSessionEventType - A base type for events used to track related changes to a session. - - i=2070 - i=2058 - - - - SessionId - The unique identifier for the session,. - - i=68 - i=78 - i=2069 - - - - AuditCreateSessionEventType - An event that is raised when a session is created. - - i=2072 - i=2073 - i=2747 - i=2074 - i=2069 - - - - SecureChannelId - The secure channel associated with the session. - - i=68 - i=78 - i=2071 - - - - ClientCertificate - The certificate provided by the client. - - i=68 - i=78 - i=2071 - - - - ClientCertificateThumbprint - The thumbprint of the certificate provided by the client. - - i=68 - i=78 - i=2071 - - - - RevisedSessionTimeout - The timeout for the session. - - i=68 - i=78 - i=2071 - - - - AuditUrlMismatchEventType - - i=2749 - i=2071 - - - - EndpointUrl - - i=68 - i=78 - i=2748 - - - - AuditActivateSessionEventType - - 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 - - i=2079 - i=2069 - - - - RequestHandle - - i=68 - i=78 - i=2078 - - - - AuditCertificateEventType - - i=2081 - i=2058 - - - - Certificate - - i=68 - i=78 - i=2080 - - - - AuditCertificateDataMismatchEventType - - i=2083 - i=2084 - i=2080 - - - - InvalidHostname - - i=68 - i=78 - i=2082 - - - - InvalidUri - - i=68 - i=78 - i=2082 - - - - AuditCertificateExpiredEventType - - i=2080 - - - - AuditCertificateInvalidEventType - - i=2080 - - - - AuditCertificateUntrustedEventType - - i=2080 - - - - AuditCertificateRevokedEventType - - i=2080 - - - - AuditCertificateMismatchEventType - - i=2080 - - - - AuditNodeManagementEventType - - i=2052 - - - - AuditAddNodesEventType - - i=2092 - i=2090 - - - - NodesToAdd - - i=68 - i=78 - i=2091 - - - - AuditDeleteNodesEventType - - i=2094 - i=2090 - - - - NodesToDelete - - i=68 - i=78 - i=2093 - - - - AuditAddReferencesEventType - - i=2096 - i=2090 - - - - ReferencesToAdd - - i=68 - i=78 - i=2095 - - - - AuditDeleteReferencesEventType - - i=2098 - i=2090 - - - - ReferencesToDelete - - i=68 - i=78 - i=2097 - - - - AuditUpdateEventType - - i=2052 - - - - AuditWriteUpdateEventType - - 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 - - i=2751 - i=2099 - - - - ParameterDataTypeId - - i=68 - i=78 - i=2104 - - - - AuditUpdateMethodEventType - - i=2128 - i=2129 - i=2052 - - - - MethodId - - i=68 - i=78 - i=2127 - - - - InputArguments - - i=68 - i=78 - i=2127 - - - - SystemEventType - - i=2041 - - - - DeviceFailureEventType - - i=2130 - - - - SystemStatusChangeEventType - - i=11696 - i=2130 - - - - SystemState - - i=68 - i=78 - i=11446 - - - - BaseModelChangeEventType - - i=2041 - - - - GeneralModelChangeEventType - - i=2134 - i=2132 - - - - Changes - - i=68 - i=78 - i=2133 - - - - SemanticChangeEventType - - i=2739 - i=2132 - - - - Changes - - i=68 - i=78 - i=2738 - - - - EventQueueOverflowEventType - - i=2041 - - - - ProgressEventType - - i=12502 - i=12503 - i=2041 - - - - Context - - i=68 - i=78 - i=11436 - - - - Progress - - i=68 - i=78 - i=11436 - - - - AggregateFunctionType - - i=58 - - - - ServerVendorCapabilityType - - i=63 - - - - ServerStatusType - - 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 - - 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 - - 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 - - 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 - - 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 - - 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 - - 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 - - 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 - - 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 - - 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 - - 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 - - i=11488 - i=11701 - i=63 - - - - OptionSetValues - - i=68 - i=78 - i=11487 - - - - BitMask - - i=68 - i=80 - i=11487 - - - - EventTypes - - i=86 - i=2041 - i=61 - - - - Server - - i=2254 - i=2255 - i=2256 - i=2267 - i=2994 - i=12885 - i=2268 - i=2274 - i=2295 - i=2296 - i=11715 - i=11492 - i=12873 - i=12749 - i=12886 - i=85 - i=2004 - - - - ServerArray - The list of server URIs used by the server. - - i=68 - i=2253 - - - - NamespaceArray - The list of namespace URIs used by the server. - - i=68 - i=2253 - - - - ServerStatus - The current status of the server. - - 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 - A value indicating the level of service the server can provide. 255 indicates the best. - - i=68 - i=2253 - - - - Auditing - A flag indicating whether the server is currently generating audit events. - - i=68 - i=2253 - - - - EstimatedReturnTime - Indicates the time at which the Server is expected to be available in the state RUNNING. - - i=68 - i=2253 - - - - ServerCapabilities - Describes capabilities supported by the server. - - 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=2013 - i=2253 - - - - ServerProfileArray - A list of profiles supported by the server. - - i=68 - i=2268 - - - - LocaleIdArray - A list of locales supported by the server. - - i=68 - i=2268 - - - - MinSupportedSampleRate - The minimum sampling interval supported by the server. - - i=68 - i=2268 - - - - MaxBrowseContinuationPoints - The maximum number of continuation points for Browse operations per session. - - i=68 - i=2268 - - - - MaxQueryContinuationPoints - The maximum number of continuation points for Query operations per session. - - i=68 - i=2268 - - - - MaxHistoryContinuationPoints - The maximum number of continuation points for ReadHistory operations per session. - - i=68 - i=2268 - - - - SoftwareCertificates - The software certificates owned by the server. - - i=68 - i=2268 - - - - MaxArrayLength - The maximum length for an array value supported by the server. - - i=68 - i=2268 - - - - MaxStringLength - The maximum length for a string value supported by the server. - - i=68 - i=2268 - - - - MaxByteStringLength - The maximum length for a byte string value supported by the server. - - i=68 - i=2268 - - - - OperationLimits - Defines the limits supported by the server for different operations. - - 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 - The maximum number of operations in a single Read request. - - i=68 - i=11704 - - - - MaxNodesPerHistoryReadData - The maximum number of operations in a single data HistoryRead request. - - i=68 - i=11704 - - - - MaxNodesPerHistoryReadEvents - The maximum number of operations in a single event HistoryRead request. - - i=68 - i=11704 - - - - MaxNodesPerWrite - The maximum number of operations in a single Write request. - - i=68 - i=11704 - - - - MaxNodesPerHistoryUpdateData - The maximum number of operations in a single data HistoryUpdate request. - - i=68 - i=11704 - - - - MaxNodesPerHistoryUpdateEvents - The maximum number of operations in a single event HistoryUpdate request. - - i=68 - i=11704 - - - - MaxNodesPerMethodCall - The maximum number of operations in a single Call request. - - i=68 - i=11704 - - - - MaxNodesPerBrowse - The maximum number of operations in a single Browse request. - - i=68 - i=11704 - - - - MaxNodesPerRegisterNodes - The maximum number of operations in a single RegisterNodes request. - - i=68 - i=11704 - - - - MaxNodesPerTranslateBrowsePathsToNodeIds - The maximum number of operations in a single TranslateBrowsePathsToNodeIds request. - - i=68 - i=11704 - - - - MaxNodesPerNodeManagement - The maximum number of operations in a single AddNodes, AddReferences, DeleteNodes or DeleteReferences request. - - i=68 - i=11704 - - - - MaxMonitoredItemsPerCall - The maximum number of operations in a single MonitoredItem related request. - - i=68 - i=11704 - - - - ModellingRules - A folder for the modelling rules supported by the server. - - i=61 - i=2268 - - - - AggregateFunctions - A folder for the real time aggregates supported by the server. - - i=61 - i=2268 - - - - ServerDiagnostics - Reports diagnostics about the server. - - i=2275 - i=2289 - i=2290 - i=3706 - i=2294 - i=2020 - i=2253 - - - - ServerDiagnosticsSummary - A summary of server level diagnostics. - - 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 - A list of diagnostics for each sampling interval supported by the server. - - i=2164 - i=2274 - - - - SubscriptionDiagnosticsArray - A list of diagnostics for each active subscription. - - i=2171 - i=2274 - - - - SessionsDiagnosticsSummary - A summary of session level diagnostics. - - i=3707 - i=3708 - i=2026 - i=2274 - - - - SessionDiagnosticsArray - A list of diagnostics for each active session. - - i=2196 - i=3706 - - - - SessionSecurityDiagnosticsArray - A list of security related diagnostics for each active session. - - i=2243 - i=3706 - - - - EnabledFlag - If TRUE the diagnostics collection is enabled. - - i=68 - i=2274 - - - - VendorServerInfo - Server information provided by the vendor. - - i=2033 - i=2253 - - - - ServerRedundancy - Describes the redundancy capabilities of the server. - - i=3709 - i=11312 - i=11313 - i=11314 - i=14415 - i=2034 - i=2253 - - - - RedundancySupport - Indicates what style of redundancy is supported by the server. - - i=68 - i=2296 - - - - CurrentServerId - - i=68 - i=2296 - - - - RedundantServerArray - - i=68 - i=2296 - - - - ServerUriArray - - i=68 - i=2296 - - - - ServerNetworkGroups - - i=68 - i=2296 - - - - Namespaces - Describes the namespaces supported by the server. - - i=11645 - i=2253 - - - - GetMonitoredItems - - 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 - - - - - - - - i=297 - - - - ClientHandles - - i=7 - - 1 - - - - - - - - - - ResendData - - i=12874 - i=2253 - - - - InputArguments - - i=68 - i=12873 - - - - - - i=297 - - - - SubscriptionId - - i=7 - - -1 - - - - - - - - - - SetSubscriptionDurable - - 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 - - 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 - - - - - - - - - - BitFieldMaskDataType - A mask of 32 bits that can be updated individually by using the top 32 bits as a mask. - - i=9 - - - - StateMachineType - - 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 - - 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 - - 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 - - i=2772 - i=2773 - 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 - - - - FiniteStateVariableType - - i=2761 - i=2755 - - - - Id - - i=68 - i=78 - i=2760 - - - - FiniteTransitionVariableType - - i=2768 - i=2762 - - - - Id - - i=68 - i=78 - i=2767 - - - - StateType - - i=2308 - i=58 - - - - StateNumber - - i=68 - i=78 - i=2307 - - - - InitialStateType - - i=2307 - - - - TransitionType - - i=2312 - i=58 - - - - TransitionNumber - - i=68 - i=78 - i=2310 - - - - TransitionEventType - - 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 - - i=2777 - i=2778 - i=2127 - - - - OldStateId - - i=68 - i=78 - i=2315 - - - - NewStateId - - i=68 - i=78 - i=2315 - - - - BuildInfo - - i=22 - - - - - - - - - - - - RedundancySupport - - i=7611 - i=29 - - - - - - - - - - - - EnumStrings - - i=68 - i=78 - i=851 - - - - - - - None - - - - - Cold - - - - - Warm - - - - - Hot - - - - - Transparent - - - - - HotAndMirrored - - - - - - ServerState - - i=7612 - i=29 - - - - - - - - - - - - - - EnumStrings - - i=68 - i=78 - i=852 - - - - - - - Running - - - - - Failed - - - - - NoConfiguration - - - - - Suspended - - - - - Shutdown - - - - - Test - - - - - CommunicationFault - - - - - Unknown - - - - - - RedundantServerDataType - - i=22 - - - - - - - - - EndpointUrlListDataType - - i=22 - - - - - - - NetworkGroupDataType - - i=22 - - - - - - - - SamplingIntervalDiagnosticsDataType - - i=22 - - - - - - - - - - ServerDiagnosticsSummaryDataType - - i=22 - - - - - - - - - - - - - - - - - - ServerStatusDataType - - i=22 - - - - - - - - - - - - SessionDiagnosticsDataType - - i=22 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SessionSecurityDiagnosticsDataType - - i=22 - - - - - - - - - - - - - - - ServiceCounterDataType - - i=22 - - - - - - - - StatusResult - - i=22 - - - - - - - - SubscriptionDiagnosticsDataType - - i=22 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ModelChangeStructureDataType - - i=22 - - - - - - - - - SemanticChangeStructureDataType - - i=22 - - - - - - - - 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 - - - - Opc.Ua - - i=8254 - i=12677 - i=8285 - i=8291 - i=12759 - i=12762 - 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=12506 - i=8318 - i=8363 - i=8366 - i=8369 - i=8372 - i=12712 - i=12715 - i=8321 - i=8324 - i=8330 - 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=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 -ZT0ieHM6YmFzZTY0QmluYXJ5IiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkJpdEZpZWxkTWFz -a0RhdGFUeXBlIiB0eXBlPSJ4czp1bnNpZ25lZExvbmciIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUg -IG5hbWU9Ik9wZW5GaWxlTW9kZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmlu -ZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlYWRfMSIgLz4NCiAgICAgIDx4czpl -bnVtZXJhdGlvbiB2YWx1ZT0iV3JpdGVfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 -ZT0iRXJhc2VFeGlzdGluZ180IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBcHBl -bmRfOCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9Ik9wZW5GaWxlTW9kZSIgdHlwZT0idG5zOk9wZW5GaWxlTW9kZSIgLz4N -Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mT3BlbkZpbGVNb2RlIj4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPcGVuRmlsZU1vZGUiIHR5cGU9InRu -czpPcGVuRmlsZU1vZGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iTGlzdE9mT3BlbkZpbGVNb2RlIiB0eXBlPSJ0bnM6TGlzdE9mT3BlbkZpbGVNb2RlIiBuaWxs -YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJUcnVz -dExpc3RNYXNrcyI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAg -ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv -biB2YWx1ZT0iVHJ1c3RlZENlcnRpZmljYXRlc18xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u -IHZhbHVlPSJUcnVzdGVkQ3Jsc18yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJ -c3N1ZXJDZXJ0aWZpY2F0ZXNfNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNz -dWVyQ3Jsc184IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBbGxfMTUiIC8+DQog -ICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJUcnVzdExpc3RNYXNrcyIgdHlwZT0idG5zOlRydXN0TGlzdE1hc2tzIiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJUcnVzdExpc3REYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3BlY2lmaWVkTGlzdHMiIHR5cGU9InhzOnVuc2ln -bmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcnVzdGVk -Q2VydGlmaWNhdGVzIiB0eXBlPSJ1YTpMaXN0T2ZCeXRlU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJ1c3RlZENybHMiIHR5 -cGU9InVhOkxpc3RPZkJ5dGVTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc3N1ZXJDZXJ0aWZpY2F0ZXMiIHR5cGU9InVhOkxp -c3RPZkJ5dGVTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJJc3N1ZXJDcmxzIiB0eXBlPSJ1YTpMaXN0T2ZCeXRlU3RyaW5nIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRydXN0TGlzdERhdGFUeXBlIiB0 -eXBlPSJ0bnM6VHJ1c3RMaXN0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 -Ikxpc3RPZlRydXN0TGlzdERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJUcnVzdExpc3REYXRhVHlwZSIgdHlwZT0idG5zOlRydXN0TGlzdERhdGFU -eXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJMaXN0T2ZUcnVzdExpc3REYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlRydXN0TGlz -dERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVU -eXBlICBuYW1lPSJJZFR5cGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3Vt -ZW50YXRpb24+VGhlIHR5cGUgb2YgaWRlbnRpZmllciB1c2VkIGluIGEgbm9kZSBpZC48L3hzOmRv -Y3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpyZXN0cmljdGlvbiBi -YXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOdW1lcmljXzAi -IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN0cmluZ18xIiAvPg0KICAgICAgPHhz -OmVudW1lcmF0aW9uIHZhbHVlPSJHdWlkXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs -dWU9Ik9wYXF1ZV8zIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSWRUeXBlIiB0eXBlPSJ0bnM6SWRUeXBlIiAvPg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZJZFR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IklkVHlwZSIgdHlwZT0idG5zOklkVHlwZSIgbWluT2Nj -dXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZJZFR5cGUiIHR5cGU9 -InRuczpMaXN0T2ZJZFR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhz -OnNpbXBsZVR5cGUgIG5hbWU9Ik5vZGVDbGFzcyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg -ICA8eHM6ZG9jdW1lbnRhdGlvbj5BIG1hc2sgc3BlY2lmeWluZyB0aGUgY2xhc3Mgb2YgdGhlIG5v -ZGUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6cmVz -dHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i -VW5zcGVjaWZpZWRfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iT2JqZWN0XzEi -IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZhcmlhYmxlXzIiIC8+DQogICAgICA8 -eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik1ldGhvZF80IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u -IHZhbHVlPSJPYmplY3RUeXBlXzgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZh -cmlhYmxlVHlwZV8xNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVmZXJlbmNl -VHlwZV8zMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGF0YVR5cGVfNjQiIC8+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZpZXdfMTI4IiAvPg0KICAgIDwveHM6cmVz -dHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUNs -YXNzIiB0eXBlPSJ0bnM6Tm9kZUNsYXNzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJO -b2RlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlNwZWNp -ZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gYWxsIG5vZGVzLjwveHM6ZG9jdW1l -bnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlQ2xhc3MiIHR5 -cGU9InRuczpOb2RlQ2xhc3MiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IkJyb3dzZU5hbWUiIHR5cGU9InVhOlF1YWxpZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNwbGF5TmFtZSIgdHlw -ZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IkRlc2NyaXB0aW9uIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0 -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iV3JpdGVNYXNrIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlcldyaXRlTWFzayIgdHlwZT0ieHM6dW5zaWduZWRJbnQi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZXMiIHR5 -cGU9InRuczpMaXN0T2ZSZWZlcmVuY2VOb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9Ik5vZGUiIHR5cGU9InRuczpOb2RlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJMaXN0T2ZOb2RlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJOb2RlIiB0eXBlPSJ0bnM6Tm9kZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91 -bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTm9kZSIgdHlwZT0idG5zOkxpc3RP -Zk5vZGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9Ikluc3RhbmNlTm9kZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxz -ZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlIj4NCiAgICAgICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQog -ICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iSW5zdGFuY2VOb2RlIiB0eXBlPSJ0bnM6SW5zdGFuY2VOb2RlIiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJUeXBlTm9kZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1p -eGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlIj4NCiAgICAg -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRl -bnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iVHlwZU5vZGUiIHR5cGU9InRuczpUeXBlTm9kZSIgLz4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iT2JqZWN0Tm9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQog -ICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVs -b25nIHRvIG9iamVjdCBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 -aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4 -dGVuc2lvbiBiYXNlPSJ0bnM6SW5zdGFuY2VOb2RlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50Tm90aWZpZXIiIHR5cGU9InhzOnVuc2ln -bmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAg -PC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT2JqZWN0Tm9kZSIgdHlwZT0idG5zOk9iamVjdE5v -ZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik9iamVjdFR5cGVOb2RlIj4NCiAgICA8 -eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0 -cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gb2JqZWN0IHR5cGUgbm9kZXMuPC94czpkb2N1bWVudGF0 -aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9 -ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOlR5cGVOb2RlIj4NCiAgICAg -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IklzQWJzdHJhY3Qi -IHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5j -ZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9iamVjdFR5cGVOb2RlIiB0eXBl -PSJ0bnM6T2JqZWN0VHlwZU5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlh -YmxlTm9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5T -cGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIHZhcmlhYmxlIG5vZGVzLjwv -eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhD -b250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpJbnN0 -YW5jZU5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iVmFsdWUiIHR5cGU9InVhOlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVl -UmFuayIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iQXJyYXlEaW1lbnNpb25zIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWNj -ZXNzTGV2ZWwiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJBY2Nlc3NMZXZlbCIgdHlwZT0ieHM6dW5zaWduZWRC -eXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWluaW11 -bVNhbXBsaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3Rvcml6aW5nIiB0eXBlPSJ4czpib29sZWFuIiBt -aW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVu -c2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJWYXJpYWJsZU5vZGUiIHR5cGU9InRuczpWYXJpYWJsZU5vZGUiIC8+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhYmxlVHlwZU5vZGUiPg0KICAgIDx4czph -bm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+U3BlY2lmaWVzIHRoZSBhdHRyaWJ1 -dGVzIHdoaWNoIGJlbG9uZyB0byB2YXJpYWJsZSB0eXBlIG5vZGVzLjwveHM6ZG9jdW1lbnRhdGlv -bj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJm -YWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpUeXBlTm9kZSI+DQogICAgICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0i -dWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkRhdGFUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czppbnQi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcnJheURpbWVu -c2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpi -b29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8 -L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWYXJpYWJsZVR5cGVOb2RlIiB0eXBlPSJ0bnM6VmFy -aWFibGVUeXBlTm9kZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVmZXJlbmNlVHlw -ZU5vZGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+U3Bl -Y2lmaWVzIHRoZSBhdHRyaWJ1dGVzIHdoaWNoIGJlbG9uZyB0byByZWZlcmVuY2UgdHlwZSBub2Rl -cy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21w -bGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6 -VHlwZU5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iSXNBYnN0cmFjdCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN5bW1ldHJpYyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkludmVyc2VOYW1lIiB0 -eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpj -b21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -UmVmZXJlbmNlVHlwZU5vZGUiIHR5cGU9InRuczpSZWZlcmVuY2VUeXBlTm9kZSIgLz4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iTWV0aG9kTm9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQog -ICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVs -b25nIHRvIG1ldGhvZCBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 -aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4 -dGVuc2lvbiBiYXNlPSJ0bnM6SW5zdGFuY2VOb2RlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV4ZWN1dGFibGUiIHR5cGU9InhzOmJvb2xlYW4i -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyRXhlY3V0 -YWJsZSIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNl -cXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTWV0aG9kTm9kZSIgdHlw -ZT0idG5zOk1ldGhvZE5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZpZXdOb2Rl -Ij4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRl -bnNpb24gYmFzZT0idG5zOkluc3RhbmNlTm9kZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250YWluc05vTG9vcHMiIHR5cGU9InhzOmJvb2xl -YW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudE5v -dGlmaWVyIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg -PC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENv -bnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlZpZXdOb2Rl -IiB0eXBlPSJ0bnM6Vmlld05vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFU -eXBlTm9kZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8 -eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpUeXBlTm9kZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpib29sZWFu -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4 -dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZU5vZGUiIHR5cGU9InRuczpEYXRhVHlwZU5vZGUi -IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZmVyZW5jZU5vZGUiPg0KICAgIDx4czph -bm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+U3BlY2lmaWVzIGEgcmVmZXJlbmNl -IHdoaWNoIGJlbG9uZ3MgdG8gYSBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu -bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVm -ZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ludmVyc2UiIHR5cGU9InhzOmJvb2xl -YW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdldElkIiB0 -eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJSZWZlcmVuY2VOb2RlIiB0eXBlPSJ0bnM6UmVmZXJlbmNlTm9kZSIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUmVmZXJlbmNlTm9kZSI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlTm9kZSIgdHlwZT0idG5zOlJlZmVy -ZW5jZU5vZGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9Ikxpc3RPZlJlZmVyZW5jZU5vZGUiIHR5cGU9InRuczpMaXN0T2ZSZWZlcmVu -Y2VOb2RlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJBcmd1bWVudCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l -bnRhdGlvbj5BbiBhcmd1bWVudCBmb3IgYSBtZXRob2QuPC94czpkb2N1bWVudGF0aW9uPg0KICAg -IDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -VmFsdWVSYW5rIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkFycmF5RGltZW5zaW9ucyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVzY3Jp -cHRpb24iIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iQXJndW1lbnQiIHR5cGU9InRuczpBcmd1bWVudCIgLz4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iTGlzdE9mQXJndW1lbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IkFyZ3VtZW50IiB0eXBlPSJ0bnM6QXJndW1lbnQiIG1pbk9jY3Vy -cz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 -c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RP -ZkFyZ3VtZW50IiB0eXBlPSJ0bnM6TGlzdE9mQXJndW1lbnQiIG5pbGxhYmxlPSJ0cnVlIj48L3hz -OmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVudW1WYWx1ZVR5cGUiPg0KICAg -IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBtYXBwaW5nIGJldHdl -ZW4gYSB2YWx1ZSBvZiBhbiBlbnVtZXJhdGVkIHR5cGUgYW5kIGEgbmFtZSBhbmQgZGVzY3JpcHRp -b24uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0ieHM6bG9uZyIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzcGxheU5hbWUiIHR5cGU9 -InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFbnVtVmFsdWVUeXBlIiB0eXBl -PSJ0bnM6RW51bVZhbHVlVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m -RW51bVZhbHVlVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iRW51bVZhbHVlVHlwZSIgdHlwZT0idG5zOkVudW1WYWx1ZVR5cGUiIG1pbk9jY3Vycz0iMCIg -bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu -Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkVudW1W -YWx1ZVR5cGUiIHR5cGU9InRuczpMaXN0T2ZFbnVtVmFsdWVUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+ -PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJPcHRpb25TZXQiPg0KICAg -IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhpcyBhYnN0cmFjdCBT -dHJ1Y3R1cmVkIERhdGFUeXBlIGlzIHRoZSBiYXNlIERhdGFUeXBlIGZvciBhbGwgRGF0YVR5cGVz -IHJlcHJlc2VudGluZyBhIGJpdCBtYXNrLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu -bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFs -dWUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbGlkQml0cyIgdHlwZT0ieHM6YmFzZTY0Qmlu -YXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9wdGlvblNldCIgdHlw -ZT0idG5zOk9wdGlvblNldCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mT3B0 -aW9uU2V0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPcHRp -b25TZXQiIHR5cGU9InRuczpPcHRpb25TZXQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJv -dW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk9wdGlvblNldCIgdHlwZT0idG5z -Okxpc3RPZk9wdGlvblNldCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iVW5pb24iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhz -OmRvY3VtZW50YXRpb24+VGhpcyBhYnN0cmFjdCBEYXRhVHlwZSBpcyB0aGUgYmFzZSBEYXRhVHlw -ZSBmb3IgYWxsIHVuaW9uIERhdGFUeXBlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czph -bm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVbmlvbiIgdHlwZT0idG5zOlVuaW9u -IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZVbmlvbiI+DQogICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVW5pb24iIHR5cGU9InRuczpVbmlvbiIg -bWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iTGlzdE9mVW5pb24iIHR5cGU9InRuczpMaXN0T2ZVbmlvbiIgbmlsbGFibGU9InRydWUiPjwv -eHM6ZWxlbWVudD4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOb3JtYWxpemVkU3RyaW5nIiB0eXBl -PSJ4czpzdHJpbmciIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVjaW1hbFN0cmluZyIgdHlw -ZT0ieHM6c3RyaW5nIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkR1cmF0aW9uU3RyaW5nIiB0 -eXBlPSJ4czpzdHJpbmciIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZVN0cmluZyIgdHlw -ZT0ieHM6c3RyaW5nIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkRhdGVTdHJpbmciIHR5cGU9 -InhzOnN0cmluZyIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEdXJhdGlvbiIgdHlwZT0ieHM6 -ZG91YmxlIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IlV0Y1RpbWUiIHR5cGU9InhzOmRhdGVU -aW1lIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkxvY2FsZUlkIiB0eXBlPSJ4czpzdHJpbmci -IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlRpbWVab25lRGF0YVR5cGUiPg0KICAgIDx4 -czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik9mZnNldCIgdHlwZT0ieHM6c2hv -cnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRheWxpZ2h0U2F2 -aW5nSW5PZmZzZXQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hz -OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1l -Wm9uZURhdGFUeXBlIiB0eXBlPSJ0bnM6VGltZVpvbmVEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iTGlzdE9mVGltZVpvbmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZVpvbmVEYXRhVHlwZSIgdHlwZT0idG5zOlRp -bWVab25lRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlRpbWVab25lRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0 -T2ZUaW1lWm9uZURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4 -czplbGVtZW50IG5hbWU9IkludGVnZXJJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIC8+DQoNCiAg -PHhzOnNpbXBsZVR5cGUgIG5hbWU9IkFwcGxpY2F0aW9uVHlwZSI+DQogICAgPHhzOmFubm90YXRp -b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgdHlwZXMgb2YgYXBwbGljYXRpb25zLjwv -eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0 -aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNlcnZl -cl8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDbGllbnRfMSIgLz4NCiAgICAg -IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ2xpZW50QW5kU2VydmVyXzIiIC8+DQogICAgICA8eHM6 -ZW51bWVyYXRpb24gdmFsdWU9IkRpc2NvdmVyeVNlcnZlcl8zIiAvPg0KICAgIDwveHM6cmVzdHJp -Y3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRp -b25UeXBlIiB0eXBlPSJ0bnM6QXBwbGljYXRpb25UeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg -ICAgIDx4czpkb2N1bWVudGF0aW9uPkRlc2NyaWJlcyBhbiBhcHBsaWNhdGlvbiBhbmQgaG93IHRv -IGZpbmQgaXQuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcHBsaWNhdGlvblVyaSIgdHlw -ZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iUHJvZHVjdFVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25O -YW1lIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25UeXBlIiB0eXBlPSJ0bnM6 -QXBwbGljYXRpb25UeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJHYXRld2F5U2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjb3ZlcnlQcm9maWxlVXJp -IiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjb3ZlcnlVcmxzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmci -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg -PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25EZXNjcmlw -dGlvbiIgdHlwZT0idG5zOkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9Ikxpc3RPZkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1 -ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIHR5 -cGU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0i -dW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZBcHBsaWNhdGlvbkRlc2Ny -aXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mQXBwbGljYXRpb25EZXNjcmlwdGlvbiIgbmlsbGFibGU9 -InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVxdWVzdEhl -YWRlciI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUg -aGVhZGVyIHBhc3NlZCB3aXRoIGV2ZXJ5IHNlcnZlciByZXF1ZXN0LjwveHM6ZG9jdW1lbnRhdGlv -bj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iQXV0aGVudGljYXRpb25Ub2tlbiIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0 -YW1wIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iUmVxdWVzdEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldHVybkRpYWdub3N0aWNzIiB0eXBlPSJ4 -czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -QXVkaXRFbnRyeUlkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lb3V0SGludCIgdHlwZT0ieHM6dW5z -aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZGl0 -aW9uYWxIZWFkZXIiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRl -ciIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVzcG9uc2VIZWFkZXIiPg0KICAgIDx4 -czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGhlYWRlciBwYXNzZWQg -d2l0aCBldmVyeSBzZXJ2ZXIgcmVzcG9uc2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6 -YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJU -aW1lc3RhbXAiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGFuZGxlIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmljZVJlc3VsdCIgdHlwZT0i -dWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -U2VydmljZURpYWdub3N0aWNzIiB0eXBlPSJ1YTpEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0cmluZ1RhYmxl -IiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRpdGlvbmFsSGVhZGVyIiB0eXBlPSJ1YTpFeHRl -bnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz -ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9u -c2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iU2VydmljZUZhdWx0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpk -b2N1bWVudGF0aW9uPlRoZSByZXNwb25zZSByZXR1cm5lZCBieSBhbGwgc2VydmljZXMgd2hlbiB0 -aGVyZSBpcyBhIHNlcnZpY2UgbGV2ZWwgZXJyb3IuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwv -eHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNlcnZpY2VGYXVsdCIgdHlwZT0idG5zOlNlcnZpY2VG -YXVsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRmluZFNlcnZlcnNSZXF1ZXN0Ij4N -CiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkZpbmRzIHRoZSBz -ZXJ2ZXJzIGtub3duIHRvIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4N -CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2lu -dFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmci -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJTZXJ2ZXJVcmlzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iRmluZFNlcnZlcnNSZXF1ZXN0IiB0eXBlPSJ0bnM6RmluZFNlcnZl -cnNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJGaW5kU2VydmVyc1Jlc3Bv -bnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkZpbmRz -IHRoZSBzZXJ2ZXJzIGtub3duIHRvIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwveHM6ZG9jdW1lbnRh -dGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlNlcnZlcnMiIHR5cGU9InRuczpMaXN0T2ZBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkZpbmRTZXJ2ZXJzUmVzcG9uc2UiIHR5cGU9 -InRuczpGaW5kU2VydmVyc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJT -ZXJ2ZXJPbk5ldHdvcmsiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlJlY29yZElkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzY292 -ZXJ5VXJsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJDYXBhYmlsaXRpZXMiIHR5cGU9InVhOkxp -c3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJP -bk5ldHdvcmsiIHR5cGU9InRuczpTZXJ2ZXJPbk5ldHdvcmsiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9Ikxpc3RPZlNlcnZlck9uTmV0d29yayI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyT25OZXR3b3JrIiB0eXBlPSJ0bnM6U2VydmVyT25O -ZXR3b3JrIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJMaXN0T2ZTZXJ2ZXJPbk5ldHdvcmsiIHR5cGU9InRuczpMaXN0T2ZTZXJ2ZXJP -bk5ldHdvcmsiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVl -c3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJTdGFydGluZ1JlY29yZElkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4UmVjb3Jkc1RvUmV0dXJuIiB0 -eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iU2VydmVyQ2FwYWJpbGl0eUZpbHRlciIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVx -dWVzdCIgdHlwZT0idG5zOkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVxdWVzdCIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iRmluZFNlcnZlcnNPbk5ldHdvcmtSZXNwb25zZSI+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9 -InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ikxhc3RDb3VudGVyUmVzZXRUaW1lIiB0eXBlPSJ4czpkYXRl -VGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVycyIg -dHlwZT0idG5zOkxpc3RPZlNlcnZlck9uTmV0d29yayIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJGaW5kU2VydmVyc09uTmV0d29ya1Jlc3BvbnNlIiB0eXBlPSJ0bnM6Rmlu -ZFNlcnZlcnNPbk5ldHdvcmtSZXNwb25zZSIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBcHBs -aWNhdGlvbkluc3RhbmNlQ2VydGlmaWNhdGUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgLz4NCg0K -ICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iTWVzc2FnZVNlY3VyaXR5TW9kZSI+DQogICAgPHhzOmFu -bm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgdHlwZSBvZiBzZWN1cml0eSB0 -byB1c2Ugb24gYSBtZXNzYWdlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRp -b24+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51 -bWVyYXRpb24gdmFsdWU9IkludmFsaWRfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 -ZT0iTm9uZV8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTaWduXzIiIC8+DQog -ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNpZ25BbmRFbmNyeXB0XzMiIC8+DQogICAgPC94 -czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJN -ZXNzYWdlU2VjdXJpdHlNb2RlIiB0eXBlPSJ0bnM6TWVzc2FnZVNlY3VyaXR5TW9kZSIgLz4NCg0K -ICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iVXNlclRva2VuVHlwZSI+DQogICAgPHhzOmFubm90YXRp -b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgcG9zc2libGUgdXNlciB0b2tlbiB0eXBl -cy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpyZXN0 -cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJB -bm9ueW1vdXNfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVXNlck5hbWVfMSIg -Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ2VydGlmaWNhdGVfMiIgLz4NCiAgICAg -IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNzdWVkVG9rZW5fMyIgLz4NCiAgICAgIDx4czplbnVt -ZXJhdGlvbiB2YWx1ZT0iS2VyYmVyb3NfNCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8 -L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVzZXJUb2tlblR5cGUiIHR5cGU9 -InRuczpVc2VyVG9rZW5UeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJVc2VyVG9r -ZW5Qb2xpY3kiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+ -RGVzY3JpYmVzIGEgdXNlciB0b2tlbiB0aGF0IGNhbiBiZSB1c2VkIHdpdGggYSBzZXJ2ZXIuPC94 -czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQb2xpY3lJZCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVG9r -ZW5UeXBlIiB0eXBlPSJ0bnM6VXNlclRva2VuVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iSXNzdWVkVG9rZW5UeXBlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc3N1 -ZXJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlQb2xpY3lVcmkiIHR5cGU9 -InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyVG9r -ZW5Qb2xpY3kiIHR5cGU9InRuczpVc2VyVG9rZW5Qb2xpY3kiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9Ikxpc3RPZlVzZXJUb2tlblBvbGljeSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlclRva2VuUG9saWN5IiB0eXBlPSJ0bnM6VXNlclRva2Vu -UG9saWN5IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJMaXN0T2ZVc2VyVG9rZW5Qb2xpY3kiIHR5cGU9InRuczpMaXN0T2ZVc2VyVG9r -ZW5Qb2xpY3kiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IkVuZHBvaW50RGVzY3JpcHRpb24iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAg -ICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGRlc2NyaXB0aW9uIG9mIGEgZW5kcG9pbnQgdGhhdCBj -YW4gYmUgdXNlZCB0byBhY2Nlc3MgYSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwv -eHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyIiB0eXBlPSJ0bnM6QXBwbGlj -YXRpb25EZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlNlcnZlckNlcnRpZmljYXRlIiB0eXBlPSJ4czpiYXNlNjRCaW5h -cnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiBtaW5PY2N1 -cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVBvbGljeVVyaSIgdHlw -ZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iVXNlcklkZW50aXR5VG9rZW5zIiB0eXBlPSJ0bnM6TGlzdE9mVXNlclRv -a2VuUG9saWN5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iVHJhbnNwb3J0UHJvZmlsZVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJp -dHlMZXZlbCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94 -czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRW5k -cG9pbnREZXNjcmlwdGlvbiIgdHlwZT0idG5zOkVuZHBvaW50RGVzY3JpcHRpb24iIC8+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkVuZHBvaW50RGVzY3JpcHRpb24iPg0KICAgIDx4 -czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50RGVzY3JpcHRpb24i -IHR5cGU9InRuczpFbmRwb2ludERlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0i -dW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbmRwb2ludERlc2NyaXB0 -aW9uIiB0eXBlPSJ0bnM6TGlzdE9mRW5kcG9pbnREZXNjcmlwdGlvbiIgbmlsbGFibGU9InRydWUi -PjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iR2V0RW5kcG9pbnRzUmVx -dWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5HZXRz -IHRoZSBlbmRwb2ludHMgdXNlZCBieSB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAg -ICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVy -bCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQ -cm9maWxlVXJpcyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9IkdldEVuZHBvaW50c1JlcXVlc3QiIHR5cGU9InRuczpHZXRFbmRwb2lu -dHNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJHZXRFbmRwb2ludHNSZXNw -b25zZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5HZXRz -IHRoZSBlbmRwb2ludHMgdXNlZCBieSB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAg -ICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50 -cyIgdHlwZT0idG5zOkxpc3RPZkVuZHBvaW50RGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iR2V0RW5kcG9pbnRzUmVzcG9uc2UiIHR5cGU9InRuczpHZXRF -bmRwb2ludHNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJl -ZFNlcnZlciI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5U -aGUgaW5mb3JtYXRpb24gcmVxdWlyZWQgdG8gcmVnaXN0ZXIgYSBzZXJ2ZXIgd2l0aCBhIGRpc2Nv -dmVyeSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAg -ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJVcmkiIHR5cGU9 -InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlByb2R1Y3RVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlck5hbWVzIiB0 -eXBlPSJ1YTpMaXN0T2ZMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVHlwZSIgdHlwZT0idG5zOkFwcGxp -Y2F0aW9uVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iR2F0 -ZXdheVNlcnZlclVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzY292ZXJ5VXJscyIgdHlwZT0idWE6 -TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iU2VtYXBob3JlRmlsZVBhdGgiIHR5cGU9InhzOnN0cmluZyIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IklzT25s -aW5lIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJlZFNl -cnZlciIgdHlwZT0idG5zOlJlZ2lzdGVyZWRTZXJ2ZXIiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9Ikxpc3RPZlJlZ2lzdGVyZWRTZXJ2ZXIiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyZWRTZXJ2ZXIiIHR5cGU9InRuczpSZWdpc3RlcmVk -U2VydmVyIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJMaXN0T2ZSZWdpc3RlcmVkU2VydmVyIiB0eXBlPSJ0bnM6TGlzdE9mUmVnaXN0 -ZXJlZFNlcnZlciIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4N -CiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlJlZ2lzdGVycyBhIHNlcnZlciB3aXRoIHRoZSBkaXNj -b3Zlcnkgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQog -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIg -dHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXIiIHR5cGU9InRuczpSZWdpc3RlcmVkU2Vy -dmVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyU2VydmVy -UmVxdWVzdCIgdHlwZT0idG5zOlJlZ2lzdGVyU2VydmVyUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRp -b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5SZWdpc3RlcnMgYSBzZXJ2ZXIgd2l0aCB0aGUg -ZGlzY292ZXJ5IHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9u -Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVh -ZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXNwb25zZSIgdHlwZT0idG5zOlJlZ2lzdGVyU2Vy -dmVyUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRpc2NvdmVyeUNvbmZp -Z3VyYXRpb24iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+ -QSBiYXNlIHR5cGUgZm9yIGRpc2NvdmVyeSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uLjwveHM6 -ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9IkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpEaXNjb3ZlcnlDb25maWd1cmF0 -aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNZG5zRGlzY292ZXJ5Q29uZmlndXJh -dGlvbiI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUg -ZGlzY292ZXJ5IGluZm9ybWF0aW9uIG5lZWRlZCBmb3IgbUROUyByZWdpc3RyYXRpb24uPC94czpk -b2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRl -bnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkRpc2NvdmVy -eUNvbmZpZ3VyYXRpb24iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iTWRuc1NlcnZlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJD -YXBhYmlsaXRpZXMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9u -Pg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9Ik1kbnNEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiB0eXBlPSJ0bnM6TWRuc0Rp -c2NvdmVyeUNvbmZpZ3VyYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZ2lz -dGVyU2VydmVyMlJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyIiB0 -eXBlPSJ0bnM6UmVnaXN0ZXJlZFNlcnZlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIHR5cGU9 -InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJSZWdpc3RlclNlcnZlcjJSZXF1ZXN0IiB0eXBlPSJ0bnM6UmVnaXN0ZXJTZXJ2ZXIy -UmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXIyUmVz -cG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3Bv -bnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb25maWd1cmF0aW9uUmVzdWx0 -cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6 -TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iUmVnaXN0ZXJTZXJ2ZXIyUmVzcG9uc2UiIHR5cGU9InRuczpSZWdpc3RlclNlcnZlcjJSZXNw -b25zZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iU2VjdXJpdHlUb2tlblJlcXVlc3RU -eXBlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkluZGlj -YXRlcyB3aGV0aGVyIGEgdG9rZW4gaWYgYmVpbmcgY3JlYXRlZCBvciByZW5ld2VkLjwveHM6ZG9j -dW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJh -c2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Iklzc3VlXzAiIC8+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlbmV3XzEiIC8+DQogICAgPC94czpyZXN0 -cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0 -eVRva2VuUmVxdWVzdFR5cGUiIHR5cGU9InRuczpTZWN1cml0eVRva2VuUmVxdWVzdFR5cGUiIC8+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNoYW5uZWxTZWN1cml0eVRva2VuIj4NCiAgICA8 -eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSB0b2tlbiB0aGF0IGlk -ZW50aWZpZXMgYSBzZXQgb2Yga2V5cyBmb3IgYW4gYWN0aXZlIHNlY3VyZSBjaGFubmVsLjwveHM6 -ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2hhbm5lbElkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVG9rZW5JZCIgdHlwZT0i -eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkNyZWF0ZWRBdCIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlJldmlzZWRMaWZldGltZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1p -bk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJDaGFubmVsU2VjdXJpdHlUb2tlbiIgdHlwZT0idG5zOkNoYW5u -ZWxTZWN1cml0eVRva2VuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJPcGVuU2VjdXJl -Q2hhbm5lbFJlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50 -YXRpb24+Q3JlYXRlcyBhIHNlY3VyZSBjaGFubmVsIHdpdGggYSBzZXJ2ZXIuPC94czpkb2N1bWVu -dGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkNsaWVudFByb3RvY29sVmVyc2lvbiIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RUeXBlIiB0eXBlPSJ0bnM6U2Vj -dXJpdHlUb2tlblJlcXVlc3RUeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnROb25jZSIgdHlwZT0i -eHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTGlmZXRpbWUiIHR5cGU9InhzOnVuc2lnbmVkSW50 -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT3BlblNlY3VyZUNoYW5uZWxSZXF1ZXN0IiB0eXBlPSJ0 -bnM6T3BlblNlY3VyZUNoYW5uZWxSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJPcGVuU2VjdXJlQ2hhbm5lbFJlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAg -IDx4czpkb2N1bWVudGF0aW9uPkNyZWF0ZXMgYSBzZWN1cmUgY2hhbm5lbCB3aXRoIGEgc2VydmVy -LjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpS -ZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlNlcnZlclByb3RvY29sVmVyc2lvbiIgdHlwZT0ieHM6dW5zaWduZWRJ -bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5VG9r -ZW4iIHR5cGU9InRuczpDaGFubmVsU2VjdXJpdHlUb2tlbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlck5vbmNlIiB0eXBlPSJ4 -czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 -czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT3Bl -blNlY3VyZUNoYW5uZWxSZXNwb25zZSIgdHlwZT0idG5zOk9wZW5TZWN1cmVDaGFubmVsUmVzcG9u -c2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNsb3NlU2VjdXJlQ2hhbm5lbFJlcXVl -c3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q2xvc2Vz -IGEgc2VjdXJlIGNoYW5uZWwuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlv -bj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVh -ZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJDbG9zZVNlY3VyZUNoYW5uZWxSZXF1ZXN0IiB0eXBlPSJ0bnM6Q2xvc2VTZWN1 -cmVDaGFubmVsUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2xvc2VTZWN1 -cmVDaGFubmVsUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3Vt -ZW50YXRpb24+Q2xvc2VzIGEgc2VjdXJlIGNoYW5uZWwuPC94czpkb2N1bWVudGF0aW9uPg0KICAg -IDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNsb3NlU2VjdXJlQ2hhbm5lbFJlc3BvbnNlIiB0 -eXBlPSJ0bnM6Q2xvc2VTZWN1cmVDaGFubmVsUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiPg0KICAgIDx4czphbm5vdGF0aW9u -Pg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBzb2Z0d2FyZSBjZXJ0aWZpY2F0ZSB3aXRoIGEg -ZGlnaXRhbCBzaWduYXR1cmUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlv -bj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDZXJ0aWZpY2F0 -ZURhdGEiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNpZ25hdHVyZSIgdHlwZT0ieHM6YmFzZTY0 -QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu -Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNpZ25lZFNvZnR3 -YXJlQ2VydGlmaWNhdGUiIHR5cGU9InRuczpTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiAvPg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRl -Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTaWduZWRTb2Z0 -d2FyZUNlcnRpZmljYXRlIiB0eXBlPSJ0bnM6U2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgbWlu -T2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -TGlzdE9mU2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgdHlwZT0idG5zOkxpc3RPZlNpZ25lZFNv -ZnR3YXJlQ2VydGlmaWNhdGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhz -OmVsZW1lbnQgbmFtZT0iU2Vzc2lvbkF1dGhlbnRpY2F0aW9uVG9rZW4iIHR5cGU9InVhOk5vZGVJ -ZCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2lnbmF0dXJlRGF0YSI+DQogICAgPHhz -OmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIGRpZ2l0YWwgc2lnbmF0dXJl -LjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWxnb3JpdGhtIiB0eXBlPSJ4czpzdHJpbmci -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJTaWduYXR1cmUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJTaWduYXR1cmVEYXRhIiB0eXBlPSJ0bnM6U2lnbmF0dXJlRGF0YSIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ3JlYXRlU2Vzc2lvblJlcXVlc3QiPg0KICAg -IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q3JlYXRlcyBhIG5ldyBz -ZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v -dGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVl -c3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50RGVzY3JpcHRpb24iIHR5 -cGU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVXJpIiB0eXBlPSJ4czpzdHJp -bmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbk5hbWUiIHR5cGU9Inhz -OnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkNsaWVudE5vbmNlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRDZXJ0 -aWZpY2F0ZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkU2Vzc2lvblRpbWVvdXQi -IHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iTWF4UmVzcG9uc2VNZXNzYWdlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vy -cz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJDcmVhdGVTZXNzaW9uUmVxdWVzdCIgdHlwZT0idG5zOkNyZWF0ZVNlc3Np -b25SZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDcmVhdGVTZXNzaW9uUmVz -cG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q3Jl -YXRlcyBhIG5ldyBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQog -ICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9u -SWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IkF1dGhlbnRpY2F0aW9uVG9rZW4iIHR5cGU9InVhOk5vZGVJ -ZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlJldmlzZWRTZXNzaW9uVGltZW91dCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJOb25jZSIgdHlwZT0ieHM6YmFzZTY0 -QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iU2VydmVyQ2VydGlmaWNhdGUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZl -ckVuZHBvaW50cyIgdHlwZT0idG5zOkxpc3RPZkVuZHBvaW50RGVzY3JpcHRpb24iIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJT -b2Z0d2FyZUNlcnRpZmljYXRlcyIgdHlwZT0idG5zOkxpc3RPZlNpZ25lZFNvZnR3YXJlQ2VydGlm -aWNhdGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJTZXJ2ZXJTaWduYXR1cmUiIHR5cGU9InRuczpTaWduYXR1cmVEYXRhIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4UmVx -dWVzdE1lc3NhZ2VTaXplIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9IkNyZWF0ZVNlc3Npb25SZXNwb25zZSIgdHlwZT0idG5zOkNyZWF0ZVNlc3Npb25SZXNwb25z -ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVXNlcklkZW50aXR5VG9rZW4iPg0KICAg -IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBiYXNlIHR5cGUgZm9y -IGEgdXNlciBpZGVudGl0eSB0b2tlbi48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v -dGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBvbGlj -eUlkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iVXNlcklkZW50aXR5VG9rZW4iIHR5cGU9InRuczpVc2VySWRlbnRpdHlUb2tlbiIgLz4NCg0K -ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQW5vbnltb3VzSWRlbnRpdHlUb2tlbiI+DQogICAgPHhz -OmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHRva2VuIHJlcHJlc2VudGlu -ZyBhbiBhbm9ueW1vdXMgdXNlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 -aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4 -dGVuc2lvbiBiYXNlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgICAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8 -L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJBbm9ueW1vdXNJZGVudGl0eVRva2VuIiB0eXBlPSJ0bnM6QW5vbnltb3VzSWRlbnRpdHlU -b2tlbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVXNlck5hbWVJZGVudGl0eVRva2Vu -Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgdG9rZW4g -cmVwcmVzZW50aW5nIGEgdXNlciBpZGVudGlmaWVkIGJ5IGEgdXNlciBuYW1lIGFuZCBwYXNzd29y -ZC48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21w -bGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6 -VXNlcklkZW50aXR5VG9rZW4iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iVXNlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQYXNzd29yZCIg -dHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuY3J5cHRpb25BbGdvcml0aG0iIHR5cGU9Inhz -OnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpz -ZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVzZXJOYW1lSWRlbnRp -dHlUb2tlbiIgdHlwZT0idG5zOlVzZXJOYW1lSWRlbnRpdHlUb2tlbiIgLz4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iWDUwOUlkZW50aXR5VG9rZW4iPg0KICAgIDx4czphbm5vdGF0aW9uPg0K -ICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSB0b2tlbiByZXByZXNlbnRpbmcgYSB1c2VyIGlkZW50 -aWZpZWQgYnkgYW4gWDUwOSBjZXJ0aWZpY2F0ZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94 -czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAg -ICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgICAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2VydGlmaWNhdGVEYXRh -IiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hz -OmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJYNTA5SWRlbnRpdHlUb2tlbiIgdHlwZT0idG5zOlg1MDlJZGVudGl0eVRva2VuIiAvPg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJLZXJiZXJvc0lkZW50aXR5VG9rZW4iPg0KICAgIDx4czpj -b21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0 -bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iVGlja2V0RGF0YSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAg -ICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iS2VyYmVyb3NJZGVudGl0eVRva2VuIiB0eXBl -PSJ0bnM6S2VyYmVyb3NJZGVudGl0eVRva2VuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJJc3N1ZWRJZGVudGl0eVRva2VuIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpk -b2N1bWVudGF0aW9uPkEgdG9rZW4gcmVwcmVzZW50aW5nIGEgdXNlciBpZGVudGlmaWVkIGJ5IGEg -V1MtU2VjdXJpdHkgWE1MIHRva2VuLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90 -YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6 -ZXh0ZW5zaW9uIGJhc2U9InRuczpVc2VySWRlbnRpdHlUb2tlbiI+DQogICAgICAgIDx4czpzZXF1 -ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUb2tlbkRhdGEiIHR5cGU9InhzOmJh -c2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJFbmNyeXB0aW9uQWxnb3JpdGhtIiB0eXBlPSJ4czpzdHJpbmciIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQog -ICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJJc3N1ZWRJZGVudGl0eVRva2VuIiB0eXBl -PSJ0bnM6SXNzdWVkSWRlbnRpdHlUb2tlbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -QWN0aXZhdGVTZXNzaW9uUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6 -ZG9jdW1lbnRhdGlvbj5BY3RpdmF0ZXMgYSBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L3hzOmRv -Y3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVh -ZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iQ2xpZW50U2lnbmF0dXJlIiB0eXBlPSJ0bnM6U2lnbmF0dXJlRGF0YSIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVudFNv -ZnR3YXJlQ2VydGlmaWNhdGVzIiB0eXBlPSJ0bnM6TGlzdE9mU2lnbmVkU29mdHdhcmVDZXJ0aWZp -Y2F0ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IkxvY2FsZUlkcyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlcklkZW50aXR5VG9r -ZW4iIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJUb2tlblNpZ25hdHVyZSIgdHlwZT0i -dG5zOlNpZ25hdHVyZURhdGEiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -QWN0aXZhdGVTZXNzaW9uUmVxdWVzdCIgdHlwZT0idG5zOkFjdGl2YXRlU2Vzc2lvblJlcXVlc3Qi -IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFjdGl2YXRlU2Vzc2lvblJlc3BvbnNlIj4N -CiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkFjdGl2YXRlcyBh -IHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu -bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVz -cG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlck5vbmNlIiB0eXBl -PSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -RGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBY3RpdmF0ZVNlc3Npb25SZXNwb25zZSIgdHlw -ZT0idG5zOkFjdGl2YXRlU2Vzc2lvblJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJDbG9zZVNlc3Npb25SZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4 -czpkb2N1bWVudGF0aW9uPkNsb3NlcyBhIHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwveHM6ZG9j -dW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFk -ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJEZWxldGVTdWJzY3JpcHRpb25zIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iQ2xvc2VTZXNzaW9uUmVxdWVzdCIgdHlwZT0idG5zOkNsb3NlU2Vzc2lvblJlcXVl -c3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNsb3NlU2Vzc2lvblJlc3BvbnNlIj4N -CiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNsb3NlcyBhIHNl -c3Npb24gd2l0aCB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90 -YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9u -c2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJDbG9zZVNlc3Npb25SZXNwb25zZSIgdHlwZT0idG5zOkNsb3NlU2Vz -c2lvblJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDYW5jZWxSZXF1ZXN0 -Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNhbmNlbHMg -YW4gb3V0c3RhbmRpbmcgcmVxdWVzdC48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v -dGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVl -c3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhhbmRsZSIgdHlwZT0i -eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDYW5jZWxSZXF1ZXN0IiB0eXBl -PSJ0bnM6Q2FuY2VsUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2FuY2Vs -UmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+ -Q2FuY2VscyBhbiBvdXRzdGFuZGluZyByZXF1ZXN0LjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8 -L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNhbmNlbENvdW50 -IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVu -Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNhbmNlbFJlc3Bv -bnNlIiB0eXBlPSJ0bnM6Q2FuY2VsUmVzcG9uc2UiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5h -bWU9Ik5vZGVBdHRyaWJ1dGVzTWFzayI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6 -ZG9jdW1lbnRhdGlvbj5UaGUgYml0cyB1c2VkIHRvIHNwZWNpZnkgZGVmYXVsdCBhdHRyaWJ1dGVz -IGZvciBhIG5ldyBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+ -DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVy -YXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQWNj -ZXNzTGV2ZWxfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQXJyYXlEaW1lbnNp -b25zXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJyb3dzZU5hbWVfNCIgLz4N -CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ29udGFpbnNOb0xvb3BzXzgiIC8+DQogICAg -ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRhdGFUeXBlXzE2IiAvPg0KICAgICAgPHhzOmVudW1l -cmF0aW9uIHZhbHVlPSJEZXNjcmlwdGlvbl8zMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 -YWx1ZT0iRGlzcGxheU5hbWVfNjQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkV2 -ZW50Tm90aWZpZXJfMTI4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJFeGVjdXRh -YmxlXzI1NiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSGlzdG9yaXppbmdfNTEy -IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJbnZlcnNlTmFtZV8xMDI0IiAvPg0K -ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJc0Fic3RyYWN0XzIwNDgiIC8+DQogICAgICA8 -eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik1pbmltdW1TYW1wbGluZ0ludGVydmFsXzQwOTYiIC8+DQog -ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vZGVDbGFzc184MTkyIiAvPg0KICAgICAgPHhz -OmVudW1lcmF0aW9uIHZhbHVlPSJOb2RlSWRfMTYzODQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp -b24gdmFsdWU9IlN5bW1ldHJpY18zMjc2OCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 -ZT0iVXNlckFjY2Vzc0xldmVsXzY1NTM2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl -PSJVc2VyRXhlY3V0YWJsZV8xMzEwNzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 -IlVzZXJXcml0ZU1hc2tfMjYyMTQ0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJW -YWx1ZVJhbmtfNTI0Mjg4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJXcml0ZU1h -c2tfMTA0ODU3NiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVmFsdWVfMjA5NzE1 -MiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQWxsXzQxOTQzMDMiIC8+DQogICAg -ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJhc2VOb2RlXzEzMzUzOTYiIC8+DQogICAgICA8eHM6 -ZW51bWVyYXRpb24gdmFsdWU9Ik9iamVjdF8xMzM1NTI0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0 -aW9uIHZhbHVlPSJPYmplY3RUeXBlT3JEYXRhVHlwZV8xMzM3NDQ0IiAvPg0KICAgICAgPHhzOmVu -dW1lcmF0aW9uIHZhbHVlPSJWYXJpYWJsZV80MDI2OTk5IiAvPg0KICAgICAgPHhzOmVudW1lcmF0 -aW9uIHZhbHVlPSJWYXJpYWJsZVR5cGVfMzk1ODkwMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv -biB2YWx1ZT0iTWV0aG9kXzE0NjY3MjQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 -IlJlZmVyZW5jZVR5cGVfMTM3MTIzNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i -Vmlld18xMzM1NTMyIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUF0dHJpYnV0ZXNNYXNrIiB0eXBlPSJ0bnM6Tm9k -ZUF0dHJpYnV0ZXNNYXNrIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJOb2RlQXR0cmli -dXRlcyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUg -YmFzZSBhdHRyaWJ1dGVzIGZvciBhbGwgbm9kZXMuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwv -eHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzcGxheU5hbWUiIHR5cGU9InVhOkxvY2Fs -aXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IldyaXRlTWFz -ayIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlVzZXJXcml0ZU1hc2siIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iTm9kZUF0dHJpYnV0ZXMiIHR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4N -Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iT2JqZWN0QXR0cmlidXRlcyI+DQogICAgPHhzOmFu -bm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYW4g -b2JqZWN0IG5vZGUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAg -ICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24g -YmFzZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -ICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50Tm90aWZpZXIiIHR5cGU9InhzOnVuc2lnbmVkQnl0 -ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpl -eHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iT2JqZWN0QXR0cmlidXRlcyIgdHlwZT0idG5zOk9iamVjdEF0 -dHJpYnV0ZXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhYmxlQXR0cmlidXRl -cyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYXR0 -cmlidXRlcyBmb3IgYSB2YXJpYWJsZSBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hz -OmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAg -ICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgICAgIDx4czpz -ZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0idWE6VmFy -aWFudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFU -eXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czppbnQiIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcnJheURpbWVuc2lvbnMi -IHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBY2Nlc3NMZXZlbCIgdHlwZT0ieHM6dW5zaWdu -ZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNl -ckFjY2Vzc0xldmVsIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbCIgdHlwZT0i -eHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -SGlzdG9yaXppbmciIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg -PC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENv -bnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlZhcmlhYmxl -QXR0cmlidXRlcyIgdHlwZT0idG5zOlZhcmlhYmxlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iTWV0aG9kQXR0cmlidXRlcyI+DQogICAgPHhzOmFubm90YXRpb24+DQog -ICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSBtZXRob2Qgbm9kZS48 -L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4 -Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9k -ZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iRXhlY3V0YWJsZSIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJFeGVjdXRhYmxlIiB0eXBlPSJ4czpib29s -ZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hz -OmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNZXRob2RBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6TWV0aG9k -QXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iT2JqZWN0VHlwZUF0dHJp -YnV0ZXMiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhl -IGF0dHJpYnV0ZXMgZm9yIGFuIG9iamVjdCB0eXBlIG5vZGUuPC94czpkb2N1bWVudGF0aW9uPg0K -ICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNl -Ij4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICAg -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IklzQWJzdHJhY3Qi -IHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5j -ZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9iamVjdFR5cGVBdHRyaWJ1dGVz -IiB0eXBlPSJ0bnM6T2JqZWN0VHlwZUF0dHJpYnV0ZXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9IlZhcmlhYmxlVHlwZUF0dHJpYnV0ZXMiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAg -ICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGEgdmFyaWFibGUgdHlwZSBu -b2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNv -bXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRu -czpOb2RlQXR0cmlidXRlcyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0idWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJBcnJheURpbWVuc2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg -ICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBs -ZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWYXJp -YWJsZVR5cGVBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6VmFyaWFibGVUeXBlQXR0cmlidXRlcyIgLz4N -Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVmZXJlbmNlVHlwZUF0dHJpYnV0ZXMiPg0KICAg -IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMg -Zm9yIGEgcmVmZXJlbmNlIHR5cGUgbm9kZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czph -bm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAg -PHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNBYnN0cmFjdCIgdHlwZT0ieHM6 -Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN5 -bW1ldHJpYyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4 -czplbGVtZW50IG5hbWU9IkludmVyc2VOYW1lIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAg -ICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlVHlwZUF0dHJpYnV0ZXMiIHR5 -cGU9InRuczpSZWZlcmVuY2VUeXBlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iRGF0YVR5cGVBdHRyaWJ1dGVzIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4 -czpkb2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVzIGZvciBhIGRhdGEgdHlwZSBub2RlLjwveHM6 -ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250 -ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0 -cmlidXRlcyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg -ICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBs -ZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRh -VHlwZUF0dHJpYnV0ZXMiIHR5cGU9InRuczpEYXRhVHlwZUF0dHJpYnV0ZXMiIC8+DQoNCiAgPHhz -OmNvbXBsZXhUeXBlIG5hbWU9IlZpZXdBdHRyaWJ1dGVzIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4N -CiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVzIGZvciBhIHZpZXcgbm9kZS48 -L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4 -Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9k -ZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iQ29udGFpbnNOb0xvb3BzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnROb3RpZmllciIgdHlwZT0ieHM6 -dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQog -ICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWaWV3QXR0cmlidXRlcyIgdHlwZT0idG5z -OlZpZXdBdHRyaWJ1dGVzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZGROb2Rlc0l0 -ZW0iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSByZXF1 -ZXN0IHRvIGFkZCBhIG5vZGUgdG8gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1l -bnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUGFyZW50Tm9kZUlkIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlJlZmVyZW5jZVR5cGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTmV3Tm9kZUlkIiB0 -eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZU5hbWUiIHR5cGU9InVhOlF1YWxpZmllZE5h -bWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJOb2RlQ2xhc3MiIHR5cGU9InRuczpOb2RlQ2xhc3MiIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVBdHRyaWJ1dGVzIiB0eXBlPSJ1YTpFeHRlbnNpb25P -YmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJUeXBlRGVmaW5pdGlvbiIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkTm9kZXNJdGVtIiB0eXBlPSJ0bnM6QWRk -Tm9kZXNJdGVtIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZBZGROb2Rlc0l0 -ZW0iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZE5vZGVz -SXRlbSIgdHlwZT0idG5zOkFkZE5vZGVzSXRlbSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu -Ym91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQWRkTm9kZXNJdGVtIiB0eXBl -PSJ0bnM6TGlzdE9mQWRkTm9kZXNJdGVtIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZGROb2Rlc1Jlc3VsdCI+DQogICAgPHhzOmFubm90 -YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHJlc3VsdCBvZiBhbiBhZGQgbm9kZSBv -cGVyYXRpb24uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1 -YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJB -ZGRlZE5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9IkFkZE5vZGVzUmVzdWx0IiB0eXBlPSJ0bnM6QWRkTm9kZXNSZXN1bHQiIC8+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkFkZE5vZGVzUmVzdWx0Ij4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGROb2Rlc1Jlc3VsdCIgdHlwZT0i -dG5zOkFkZE5vZGVzUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZBZGROb2Rlc1Jlc3VsdCIgdHlwZT0idG5zOkxp -c3RPZkFkZE5vZGVzUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJBZGROb2Rlc1JlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9u -Pg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QWRkcyBvbmUgb3IgbW9yZSBub2RlcyB0byB0aGUg -c2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3Rh -dGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0 -SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVzVG9BZGQiIHR5cGU9InRuczpM -aXN0T2ZBZGROb2Rlc0l0ZW0iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -QWRkTm9kZXNSZXF1ZXN0IiB0eXBlPSJ0bnM6QWRkTm9kZXNSZXF1ZXN0IiAvPg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJBZGROb2Rlc1Jlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4N -CiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkFkZHMgb25lIG9yIG1vcmUgbm9kZXMgdG8gdGhlIHNl -cnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRp -b24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VI -ZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0 -T2ZBZGROb2Rlc1Jlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25v -c3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 -ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkTm9kZXNS -ZXNwb25zZSIgdHlwZT0idG5zOkFkZE5vZGVzUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IkFkZFJlZmVyZW5jZXNJdGVtIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAg -IDx4czpkb2N1bWVudGF0aW9uPkEgcmVxdWVzdCB0byBhZGQgYSByZWZlcmVuY2UgdG8gdGhlIHNl -cnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRp -b24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU291cmNlTm9k -ZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VUeXBlSWQiIHR5cGU9InVhOk5vZGVJZCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IklzRm9yd2FyZCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iVGFyZ2V0U2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXRO -b2RlSWQiIHR5cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0Tm9kZUNsYXNzIiB0eXBlPSJ0 -bnM6Tm9kZUNsYXNzIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkUmVmZXJlbmNlc0l0ZW0iIHR5 -cGU9InRuczpBZGRSZWZlcmVuY2VzSXRlbSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -TGlzdE9mQWRkUmVmZXJlbmNlc0l0ZW0iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IkFkZFJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0bnM6QWRkUmVmZXJlbmNlc0l0 -ZW0iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9Ikxpc3RPZkFkZFJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0bnM6TGlzdE9mQWRkUmVmZXJl -bmNlc0l0ZW0iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IkFkZFJlZmVyZW5jZXNSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg -ICAgIDx4czpkb2N1bWVudGF0aW9uPkFkZHMgb25lIG9yIG1vcmUgcmVmZXJlbmNlcyB0byB0aGUg -c2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3Rh -dGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0 -SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZXNUb0FkZCIgdHlwZT0i -dG5zOkxpc3RPZkFkZFJlZmVyZW5jZXNJdGVtIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9IkFkZFJlZmVyZW5jZXNSZXF1ZXN0IiB0eXBlPSJ0bnM6QWRkUmVmZXJlbmNlc1Jl -cXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFkZFJlZmVyZW5jZXNSZXNwb25z -ZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BZGRzIG9u -ZSBvciBtb3JlIHJlZmVyZW5jZXMgdG8gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9j -dW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhl -YWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5m -b3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9IkFkZFJlZmVyZW5jZXNSZXNwb25zZSIgdHlwZT0idG5zOkFkZFJlZmVy -ZW5jZXNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlTm9kZXNJ -dGVtIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgcmVx -dWVzdCB0byBkZWxldGUgYSBub2RlIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRv -Y3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlVGFy -Z2V0UmVmZXJlbmNlcyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwv -eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRl -bGV0ZU5vZGVzSXRlbSIgdHlwZT0idG5zOkRlbGV0ZU5vZGVzSXRlbSIgLz4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iTGlzdE9mRGVsZXRlTm9kZXNJdGVtIj4NCiAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVOb2Rlc0l0ZW0iIHR5cGU9InRuczpEZWxl -dGVOb2Rlc0l0ZW0iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9Ikxpc3RPZkRlbGV0ZU5vZGVzSXRlbSIgdHlwZT0idG5zOkxpc3RPZkRl -bGV0ZU5vZGVzSXRlbSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iRGVsZXRlTm9kZXNSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4N -CiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkRlbGV0ZSBvbmUgb3IgbW9yZSBub2RlcyBmcm9tIHRo -ZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v -dGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVl -c3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb0RlbGV0ZSIgdHlwZT0i -dG5zOkxpc3RPZkRlbGV0ZU5vZGVzSXRlbSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJEZWxldGVOb2Rlc1JlcXVlc3QiIHR5cGU9InRuczpEZWxldGVOb2Rlc1JlcXVlc3Qi -IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZU5vZGVzUmVzcG9uc2UiPg0KICAg -IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+RGVsZXRlIG9uZSBvciBt -b3JlIG5vZGVzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlv -bj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJl -c3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9 -InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9IkRlbGV0ZU5vZGVzUmVzcG9uc2UiIHR5cGU9InRuczpEZWxldGVOb2Rlc1Jlc3BvbnNl -IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEZWxldGVSZWZlcmVuY2VzSXRlbSI+DQog -ICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8g -ZGVsZXRlIGEgbm9kZSBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50 -YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlNvdXJjZU5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNl -VHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ZvcndhcmQiIHR5cGU9InhzOmJvb2xlYW4iIG1p -bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdldE5vZGVJZCIgdHlw -ZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVCaWRpcmVjdGlvbmFsIiB0eXBlPSJ4czpib29s -ZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlUmVmZXJlbmNlc0l0ZW0iIHR5cGU9InRu -czpEZWxldGVSZWZlcmVuY2VzSXRlbSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlz -dE9mRGVsZXRlUmVmZXJlbmNlc0l0ZW0iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0bnM6RGVsZXRlUmVmZXJl -bmNlc0l0ZW0iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9Ikxpc3RPZkRlbGV0ZVJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0bnM6TGlzdE9m -RGVsZXRlUmVmZXJlbmNlc0l0ZW0iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNSZXF1ZXN0Ij4NCiAgICA8eHM6 -YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkRlbGV0ZSBvbmUgb3IgbW9yZSBy -ZWZlcmVuY2VzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlv -bj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZl -cmVuY2VzVG9EZWxldGUiIHR5cGU9InRuczpMaXN0T2ZEZWxldGVSZWZlcmVuY2VzSXRlbSIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVSZWZlcmVuY2VzUmVxdWVz -dCIgdHlwZT0idG5zOkRlbGV0ZVJlZmVyZW5jZXNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4 -VHlwZSBuYW1lPSJEZWxldGVSZWZlcmVuY2VzUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9u -Pg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+RGVsZXRlIG9uZSBvciBtb3JlIHJlZmVyZW5jZXMg -ZnJvbSB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwv -eHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlw -ZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9m -RGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 -czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVs -ZXRlUmVmZXJlbmNlc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6RGVsZXRlUmVmZXJlbmNlc1Jlc3BvbnNl -IiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJBdHRyaWJ1dGVXcml0ZU1hc2siPg0KICAg -IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+RGVmaW5lIGJpdHMgdXNl -ZCB0byBpbmRpY2F0ZSB3aGljaCBhdHRyaWJ1dGVzIGFyZSB3cml0YWJsZS48L3hzOmRvY3VtZW50 -YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4 -czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb25lXzAiIC8+DQogICAg -ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFjY2Vzc0xldmVsXzEiIC8+DQogICAgICA8eHM6ZW51 -bWVyYXRpb24gdmFsdWU9IkFycmF5RGltZW5zaW9uc18yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0 -aW9uIHZhbHVlPSJCcm93c2VOYW1lXzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 -IkNvbnRhaW5zTm9Mb29wc184IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEYXRh -VHlwZV8xNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGVzY3JpcHRpb25fMzIi -IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRpc3BsYXlOYW1lXzY0IiAvPg0KICAg -ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJFdmVudE5vdGlmaWVyXzEyOCIgLz4NCiAgICAgIDx4 -czplbnVtZXJhdGlvbiB2YWx1ZT0iRXhlY3V0YWJsZV8yNTYiIC8+DQogICAgICA8eHM6ZW51bWVy -YXRpb24gdmFsdWU9Ikhpc3Rvcml6aW5nXzUxMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 -YWx1ZT0iSW52ZXJzZU5hbWVfMTAyNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i -SXNBYnN0cmFjdF8yMDQ4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJNaW5pbXVt -U2FtcGxpbmdJbnRlcnZhbF80MDk2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJO -b2RlQ2xhc3NfODE5MiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9kZUlkXzE2 -Mzg0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTeW1tZXRyaWNfMzI3NjgiIC8+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVzZXJBY2Nlc3NMZXZlbF82NTUzNiIgLz4N -CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVXNlckV4ZWN1dGFibGVfMTMxMDcyIiAvPg0K -ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVc2VyV3JpdGVNYXNrXzI2MjE0NCIgLz4NCiAg -ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVmFsdWVSYW5rXzUyNDI4OCIgLz4NCiAgICAgIDx4 -czplbnVtZXJhdGlvbiB2YWx1ZT0iV3JpdGVNYXNrXzEwNDg1NzYiIC8+DQogICAgICA8eHM6ZW51 -bWVyYXRpb24gdmFsdWU9IlZhbHVlRm9yVmFyaWFibGVUeXBlXzIwOTcxNTIiIC8+DQogICAgPC94 -czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJB -dHRyaWJ1dGVXcml0ZU1hc2siIHR5cGU9InRuczpBdHRyaWJ1dGVXcml0ZU1hc2siIC8+DQoNCiAg -PHhzOnNpbXBsZVR5cGUgIG5hbWU9IkJyb3dzZURpcmVjdGlvbiI+DQogICAgPHhzOmFubm90YXRp -b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgZGlyZWN0aW9ucyBvZiB0aGUgcmVmZXJl -bmNlcyB0byByZXR1cm4uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4N -CiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJh -dGlvbiB2YWx1ZT0iRm9yd2FyZF8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJ -bnZlcnNlXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJvdGhfMiIgLz4NCiAg -ICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9IkJyb3dzZURpcmVjdGlvbiIgdHlwZT0idG5zOkJyb3dzZURpcmVjdGlvbiIgLz4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iVmlld0Rlc2NyaXB0aW9uIj4NCiAgICA8eHM6YW5ub3RhdGlv -bj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSB2aWV3IHRvIGJyb3dzZS48L3hzOmRvY3Vt -ZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlZpZXdJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0YW1wIiB0 -eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iVmlld1ZlcnNpb24iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iVmlld0Rlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6Vmlld0Rlc2NyaXB0aW9uIiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VEZXNjcmlwdGlvbiI+DQogICAgPHhzOmFubm90YXRp -b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8gYnJvd3NlIHRoZSB0aGUg -cmVmZXJlbmNlcyBmcm9tIGEgbm9kZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v -dGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJ -ZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlRGlyZWN0aW9uIiB0eXBlPSJ0bnM6QnJvd3NlRGly -ZWN0aW9uIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVu -Y2VUeXBlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkluY2x1ZGVTdWJ0eXBlcyIgdHlwZT0ieHM6Ym9v -bGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUNsYXNz -TWFzayIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlJlc3VsdE1hc2siIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iQnJvd3NlRGVzY3JpcHRpb24iIHR5cGU9InRuczpCcm93c2VEZXNjcmlwdGlv -biIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJvd3NlRGVzY3JpcHRpb24i -Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZURlc2Ny -aXB0aW9uIiB0eXBlPSJ0bnM6QnJvd3NlRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2Nj -dXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog -IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb3dzZURlc2Ny -aXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlRGVzY3JpcHRpb24iIG5pbGxhYmxlPSJ0cnVl -Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkJyb3dzZVJlc3VsdE1h -c2siPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBiaXQg -bWFzayB3aGljaCBzcGVjaWZpZXMgd2hhdCBzaG91bGQgYmUgcmV0dXJuZWQgaW4gYSBicm93c2Ug -cmVzcG9uc2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 -eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 -YWx1ZT0iTm9uZV8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZWZlcmVuY2VU -eXBlSWRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNGb3J3YXJkXzIiIC8+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vZGVDbGFzc180IiAvPg0KICAgICAgPHhz -OmVudW1lcmF0aW9uIHZhbHVlPSJCcm93c2VOYW1lXzgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp -b24gdmFsdWU9IkRpc3BsYXlOYW1lXzE2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl -PSJUeXBlRGVmaW5pdGlvbl8zMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQWxs -XzYzIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZWZlcmVuY2VUeXBlSW5mb18z -IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJUYXJnZXRJbmZvXzYwIiAvPg0KICAg -IDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iQnJvd3NlUmVzdWx0TWFzayIgdHlwZT0idG5zOkJyb3dzZVJlc3VsdE1hc2siIC8+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZmVyZW5jZURlc2NyaXB0aW9uIj4NCiAgICA8eHM6YW5u -b3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBkZXNjcmlwdGlvbiBvZiBhIHJl -ZmVyZW5jZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4 -czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgdHlw -ZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iSXNGb3J3YXJkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOkV4cGFuZGVkTm9k -ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iQnJvd3NlTmFtZSIgdHlwZT0idWE6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc3BsYXlOYW1lIiB0 -eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUNsYXNzIiB0eXBlPSJ0bnM6Tm9kZUNsYXNzIiBt -aW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUeXBlRGVmaW5pdGlvbiIg -dHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg -bmFtZT0iUmVmZXJlbmNlRGVzY3JpcHRpb24iIHR5cGU9InRuczpSZWZlcmVuY2VEZXNjcmlwdGlv -biIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUmVmZXJlbmNlRGVzY3JpcHRp -b24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5j -ZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6UmVmZXJlbmNlRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0i -MCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlJl -ZmVyZW5jZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mUmVmZXJlbmNlRGVzY3JpcHRpb24i -IG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ29u -dGludWF0aW9uUG9pbnQiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iQnJvd3NlUmVzdWx0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4 -czpkb2N1bWVudGF0aW9uPlRoZSByZXN1bHQgb2YgYSBicm93c2Ugb3BlcmF0aW9uLjwveHM6ZG9j -dW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9uUG9pbnQi -IHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZXMiIHR5cGU9InRuczpMaXN0T2ZSZWZl -cmVuY2VEZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJC -cm93c2VSZXN1bHQiIHR5cGU9InRuczpCcm93c2VSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9Ikxpc3RPZkJyb3dzZVJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUmVzdWx0IiB0eXBlPSJ0bnM6QnJvd3NlUmVzdWx0IiBt -aW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJMaXN0T2ZCcm93c2VSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VSZXN1bHQiIG5pbGxh -YmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb3dz -ZVJlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+ -QnJvd3NlIHRoZSByZWZlcmVuY2VzIGZvciBvbmUgb3IgbW9yZSBub2RlcyBmcm9tIHRoZSBzZXJ2 -ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9u -Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFk -ZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmlldyIgdHlwZT0idG5zOlZpZXdEZXNjcmlw -dGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlJlcXVlc3RlZE1heFJlZmVyZW5jZXNQZXJOb2RlIiB0eXBlPSJ4czp1bnNpZ25lZElu -dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb0Jyb3dz -ZSIgdHlwZT0idG5zOkxpc3RPZkJyb3dzZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVJlcXVlc3QiIHR5cGU9InRuczpCcm93c2VSZXF1ZXN0 -IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VSZXNwb25zZSI+DQogICAgPHhz -OmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5Ccm93c2UgdGhlIHJlZmVyZW5j -ZXMgZm9yIG9uZSBvciBtb3JlIG5vZGVzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwv -eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNw -b25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VSZXN1bHQiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFn -bm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVJlc3BvbnNlIiB0eXBlPSJ0bnM6QnJvd3Nl -UmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb3dzZU5leHRSZXF1ZXN0 -Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNvbnRpbnVl -cyBvbmUgb3IgbW9yZSBicm93c2Ugb3BlcmF0aW9ucy48L3hzOmRvY3VtZW50YXRpb24+DQogICAg -PC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsZWFzZUNvbnRp -bnVhdGlvblBvaW50cyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9uUG9pbnRzIiB0eXBlPSJ1YTpMaXN0T2ZCeXRl -U3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu -Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZU5leHRS -ZXF1ZXN0IiB0eXBlPSJ0bnM6QnJvd3NlTmV4dFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IkJyb3dzZU5leHRSZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg -ICA8eHM6ZG9jdW1lbnRhdGlvbj5Db250aW51ZXMgb25lIG9yIG1vcmUgYnJvd3NlIG9wZXJhdGlv -bnMuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5z -OlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZkJyb3dzZVJlc3VsdCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlTmV4dFJlc3BvbnNlIiB0eXBlPSJ0 -bnM6QnJvd3NlTmV4dFJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWxh -dGl2ZVBhdGhFbGVtZW50Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVu -dGF0aW9uPkFuIGVsZW1lbnQgaW4gYSByZWxhdGl2ZSBwYXRoLjwveHM6ZG9jdW1lbnRhdGlvbj4N -CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iUmVmZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ludmVyc2UiIHR5 -cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkluY2x1ZGVTdWJ0eXBlcyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0TmFtZSIgdHlwZT0idWE6UXVhbGlmaWVkTmFtZSIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWxhdGl2ZVBhdGhFbGVtZW50 -IiB0eXBlPSJ0bnM6UmVsYXRpdmVQYXRoRWxlbWVudCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iTGlzdE9mUmVsYXRpdmVQYXRoRWxlbWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsYXRpdmVQYXRoRWxlbWVudCIgdHlwZT0idG5zOlJlbGF0 -aXZlUGF0aEVsZW1lbnQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlJlbGF0aXZlUGF0aEVsZW1lbnQiIHR5cGU9InRuczpM -aXN0T2ZSZWxhdGl2ZVBhdGhFbGVtZW50IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWxhdGl2ZVBhdGgiPg0KICAgIDx4czphbm5vdGF0 -aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSByZWxhdGl2ZSBwYXRoIGNvbnN0cnVjdGVk -IGZyb20gcmVmZXJlbmNlIHR5cGVzIGFuZCBicm93c2UgbmFtZXMuPC94czpkb2N1bWVudGF0aW9u -Pg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJFbGVtZW50cyIgdHlwZT0idG5zOkxpc3RPZlJlbGF0aXZlUGF0aEVsZW1lbnQi -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg -PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsYXRpdmVQYXRoIiB0eXBl -PSJ0bnM6UmVsYXRpdmVQYXRoIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VQ -YXRoIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgcmVx -dWVzdCB0byB0cmFuc2xhdGUgYSBwYXRoIGludG8gYSBub2RlIGlkLjwveHM6ZG9jdW1lbnRhdGlv -bj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iU3RhcnRpbmdOb2RlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWxhdGl2ZVBhdGgi -IHR5cGU9InRuczpSZWxhdGl2ZVBhdGgiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg -bmFtZT0iQnJvd3NlUGF0aCIgdHlwZT0idG5zOkJyb3dzZVBhdGgiIC8+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGgiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGgiIHR5cGU9InRuczpCcm93c2VQYXRoIiBtaW5P -Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM -aXN0T2ZCcm93c2VQYXRoIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlUGF0aCIgbmlsbGFibGU9InRy -dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQnJvd3NlUGF0aFRh -cmdldCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUg -dGFyZ2V0IG9mIHRoZSB0cmFuc2xhdGVkIHBhdGguPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwv -eHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJUYXJnZXRJZCIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZW1haW5pbmdQYXRoSW5kZXgi -IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUGF0aFRh -cmdldCIgdHlwZT0idG5zOkJyb3dzZVBhdGhUYXJnZXQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGhUYXJnZXQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGhUYXJnZXQiIHR5cGU9InRuczpCcm93c2VQYXRo -VGFyZ2V0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJMaXN0T2ZCcm93c2VQYXRoVGFyZ2V0IiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3Nl -UGF0aFRhcmdldCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iQnJvd3NlUGF0aFJlc3VsdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg -ICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgcmVzdWx0IG9mIGEgdHJhbnNsYXRlIG9wZWFyYXRpb24u -PC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXND -b2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXRzIiB0 -eXBlPSJ0bnM6TGlzdE9mQnJvd3NlUGF0aFRhcmdldCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJCcm93c2VQYXRoUmVzdWx0IiB0eXBlPSJ0bnM6QnJvd3NlUGF0aFJlc3Vs -dCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJvd3NlUGF0aFJlc3VsdCI+ -DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUGF0aFJl -c3VsdCIgdHlwZT0idG5zOkJyb3dzZVBhdGhSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJz -PSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGhSZXN1 -bHQiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VQYXRoUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94 -czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJUcmFuc2xhdGVCcm93c2VQYXRo -c1RvTm9kZUlkc1JlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3Vt -ZW50YXRpb24+VHJhbnNsYXRlcyBvbmUgb3IgbW9yZSBwYXRocyBpbiB0aGUgc2VydmVyIGFkZHJl -c3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBl -PSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGhzIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3Nl -UGF0aCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl -Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2xhdGVCcm93 -c2VQYXRoc1RvTm9kZUlkc1JlcXVlc3QiIHR5cGU9InRuczpUcmFuc2xhdGVCcm93c2VQYXRoc1Rv -Tm9kZUlkc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlRyYW5zbGF0ZUJy -b3dzZVBhdGhzVG9Ob2RlSWRzUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAg -PHhzOmRvY3VtZW50YXRpb24+VHJhbnNsYXRlcyBvbmUgb3IgbW9yZSBwYXRocyBpbiB0aGUgc2Vy -dmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlv -bj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhl -YWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RP -ZkJyb3dzZVBhdGhSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdu -b3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRyYW5zbGF0 -ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVzcG9uc2UiIHR5cGU9InRuczpUcmFuc2xhdGVCcm93c2VQ -YXRoc1RvTm9kZUlkc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWdp -c3Rlck5vZGVzUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l -bnRhdGlvbj5SZWdpc3RlcnMgb25lIG9yIG1vcmUgbm9kZXMgZm9yIHJlcGVhdGVkIHVzZSB3aXRo -aW4gYSBzZXNzaW9uLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQog -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIg -dHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2Rlc1RvUmVnaXN0ZXIiIHR5cGU9InVhOkxpc3RP -Zk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl -bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWdpc3Rlck5v -ZGVzUmVxdWVzdCIgdHlwZT0idG5zOlJlZ2lzdGVyTm9kZXNSZXF1ZXN0IiAvPg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJSZWdpc3Rlck5vZGVzUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0 -aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+UmVnaXN0ZXJzIG9uZSBvciBtb3JlIG5vZGVz -IGZvciByZXBlYXRlZCB1c2Ugd2l0aGluIGEgc2Vzc2lvbi48L3hzOmRvY3VtZW50YXRpb24+DQog -ICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWdpc3Rl -cmVkTm9kZUlkcyIgdHlwZT0idWE6TGlzdE9mTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyTm9kZXNSZXNwb25zZSIgdHlwZT0idG5zOlJlZ2lzdGVy -Tm9kZXNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVW5yZWdpc3Rlck5v -ZGVzUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlv -bj5VbnJlZ2lzdGVycyBvbmUgb3IgbW9yZSBwcmV2aW91c2x5IHJlZ2lzdGVyZWQgbm9kZXMuPC94 -czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVz -dEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9Ik5vZGVzVG9VbnJlZ2lzdGVyIiB0eXBlPSJ1YTpMaXN0T2ZOb2RlSWQiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVW5yZWdpc3Rlck5vZGVzUmVxdWVzdCIg -dHlwZT0idG5zOlVucmVnaXN0ZXJOb2Rlc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9IlVucmVnaXN0ZXJOb2Rlc1Jlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg -ICAgIDx4czpkb2N1bWVudGF0aW9uPlVucmVnaXN0ZXJzIG9uZSBvciBtb3JlIHByZXZpb3VzbHkg -cmVnaXN0ZXJlZCBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9u -Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVh -ZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iVW5yZWdpc3Rlck5vZGVzUmVzcG9uc2UiIHR5cGU9InRuczpVbnJlZ2lzdGVy -Tm9kZXNSZXNwb25zZSIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb3VudGVyIiB0eXBlPSJ4 -czp1bnNpZ25lZEludCIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOdW1lcmljUmFuZ2UiIHR5 -cGU9InhzOnN0cmluZyIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lIiB0eXBlPSJ4czpz -dHJpbmciIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0ZSIgdHlwZT0ieHM6ZGF0ZVRpbWUi -IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVuZHBvaW50Q29uZmlndXJhdGlvbiI+DQog -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT3BlcmF0aW9uVGltZW91 -dCIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJVc2VCaW5hcnlFbmNvZGluZyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4U3RyaW5nTGVuZ3RoIiB0eXBlPSJ4czppbnQiIG1p -bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heEJ5dGVTdHJpbmdMZW5n -dGgiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iTWF4QXJyYXlMZW5ndGgiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iTWF4TWVzc2FnZVNpemUiIHR5cGU9InhzOmludCIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4QnVmZmVyU2l6ZSIgdHlwZT0ieHM6 -aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDaGFubmVsTGlm -ZXRpbWUiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iU2VjdXJpdHlUb2tlbkxpZmV0aW1lIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJFbmRwb2ludENvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpFbmRwb2ludENvbmZpZ3Vy -YXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkVuZHBvaW50Q29uZmln -dXJhdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5k -cG9pbnRDb25maWd1cmF0aW9uIiB0eXBlPSJ0bnM6RW5kcG9pbnRDb25maWd1cmF0aW9uIiBtaW5P -Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM -aXN0T2ZFbmRwb2ludENvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpMaXN0T2ZFbmRwb2ludENvbmZp -Z3VyYXRpb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5 -cGUgIG5hbWU9IkNvbXBsaWFuY2VMZXZlbCI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9Inhz -OnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVudGVzdGVkXzAiIC8+DQog -ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlBhcnRpYWxfMSIgLz4NCiAgICAgIDx4czplbnVt -ZXJhdGlvbiB2YWx1ZT0iU2VsZlRlc3RlZF8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh -bHVlPSJDZXJ0aWZpZWRfMyIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBs -ZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNvbXBsaWFuY2VMZXZlbCIgdHlwZT0idG5zOkNv -bXBsaWFuY2VMZXZlbCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU3VwcG9ydGVkUHJv -ZmlsZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT3JnYW5p -emF0aW9uVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQcm9maWxlSWQiIHR5cGU9InhzOnN0cmluZyIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkNvbXBsaWFuY2VUb29sIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb21wbGlhbmNlRGF0ZSIgdHlwZT0i -eHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNv -bXBsaWFuY2VMZXZlbCIgdHlwZT0idG5zOkNvbXBsaWFuY2VMZXZlbCIgbWluT2NjdXJzPSIwIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVW5zdXBwb3J0ZWRVbml0SWRzIiB0eXBlPSJ1YTpM -aXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz -ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU3VwcG9y -dGVkUHJvZmlsZSIgdHlwZT0idG5zOlN1cHBvcnRlZFByb2ZpbGUiIC8+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9Ikxpc3RPZlN1cHBvcnRlZFByb2ZpbGUiPg0KICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1cHBvcnRlZFByb2ZpbGUiIHR5cGU9InRuczpTdXBw -b3J0ZWRQcm9maWxlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTdXBwb3J0ZWRQcm9maWxlIiB0eXBlPSJ0bnM6TGlzdE9m -U3VwcG9ydGVkUHJvZmlsZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iU29mdHdhcmVDZXJ0aWZpY2F0ZSI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJvZHVjdE5hbWUiIHR5cGU9InhzOnN0cmluZyIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlByb2R1Y3RVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZlbmRvck5hbWUiIHR5cGU9InhzOnN0cmlu -ZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlZlbmRvclByb2R1Y3RDZXJ0aWZpY2F0ZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU29m -dHdhcmVWZXJzaW9uIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCdWlsZE51bWJlciIgdHlwZT0ieHM6c3Ry -aW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iQnVpbGREYXRlIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNzdWVkQnkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Iklzc3VlRGF0 -ZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlN1cHBvcnRlZFByb2ZpbGVzIiB0eXBlPSJ0bnM6TGlzdE9mU3VwcG9ydGVkUHJvZmls -ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTb2Z0d2FyZUNlcnRpZmlj -YXRlIiB0eXBlPSJ0bnM6U29mdHdhcmVDZXJ0aWZpY2F0ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iUXVlcnlEYXRhRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlJlbGF0aXZlUGF0aCIgdHlwZT0idG5zOlJlbGF0aXZlUGF0aCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXhSYW5nZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5RGF0YURlc2NyaXB0aW9uIiB0eXBl -PSJ0bnM6UXVlcnlEYXRhRGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 -Ikxpc3RPZlF1ZXJ5RGF0YURlc2NyaXB0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJRdWVyeURhdGFEZXNjcmlwdGlvbiIgdHlwZT0idG5zOlF1ZXJ5RGF0 -YURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZRdWVyeURhdGFEZXNjcmlwdGlvbiIgdHlwZT0idG5zOkxp -c3RPZlF1ZXJ5RGF0YURlc2NyaXB0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJOb2RlVHlwZURlc2NyaXB0aW9uIj4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUeXBlRGVmaW5pdGlvbk5vZGUiIHR5 -cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5jbHVkZVN1YlR5cGVzIiB0eXBlPSJ4czpib29sZWFu -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVG9SZXR1cm4i -IHR5cGU9InRuczpMaXN0T2ZRdWVyeURhdGFEZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlVHlwZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6Tm9kZVR5 -cGVEZXNjcmlwdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTm9kZVR5 -cGVEZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iTm9kZVR5cGVEZXNjcmlwdGlvbiIgdHlwZT0idG5zOk5vZGVUeXBlRGVzY3JpcHRpb24iIG1p -bk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -Ikxpc3RPZk5vZGVUeXBlRGVzY3JpcHRpb24iIHR5cGU9InRuczpMaXN0T2ZOb2RlVHlwZURlc2Ny -aXB0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBl -ICBuYW1lPSJGaWx0ZXJPcGVyYXRvciI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0 -cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkVxdWFsc18wIiAvPg0KICAgICAg -PHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJc051bGxfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv -biB2YWx1ZT0iR3JlYXRlclRoYW5fMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i -TGVzc1RoYW5fMyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iR3JlYXRlclRoYW5P -ckVxdWFsXzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ikxlc3NUaGFuT3JFcXVh -bF81IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJMaWtlXzYiIC8+DQogICAgICA8 -eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vdF83IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh -bHVlPSJCZXR3ZWVuXzgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkluTGlzdF85 -IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBbmRfMTAiIC8+DQogICAgICA8eHM6 -ZW51bWVyYXRpb24gdmFsdWU9Ik9yXzExIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl -PSJDYXN0XzEyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJblZpZXdfMTMiIC8+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik9mVHlwZV8xNCIgLz4NCiAgICAgIDx4czpl -bnVtZXJhdGlvbiB2YWx1ZT0iUmVsYXRlZFRvXzE1IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u -IHZhbHVlPSJCaXR3aXNlQW5kXzE2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJC -aXR3aXNlT3JfMTciIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXJPcGVyYXRvciIgdHlwZT0idG5zOkZpbHRlck9w -ZXJhdG9yIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJRdWVyeURhdGFTZXQiPg0KICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6 -RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJUeXBlRGVmaW5pdGlvbk5vZGUiIHR5cGU9InVhOkV4cGFuZGVkTm9k -ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iVmFsdWVzIiB0eXBlPSJ1YTpMaXN0T2ZWYXJpYW50IiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5RGF0YVNldCIgdHlwZT0idG5zOlF1ZXJ5RGF0YVNldCIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUXVlcnlEYXRhU2V0Ij4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeURhdGFTZXQiIHR5cGU9 -InRuczpRdWVyeURhdGFTZXQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlF1ZXJ5RGF0YVNldCIgdHlwZT0idG5zOkxpc3RP -ZlF1ZXJ5RGF0YVNldCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iTm9kZVJlZmVyZW5jZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VUeXBl -SWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IklzRm9yd2FyZCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlZE5vZGVJZHMiIHR5 -cGU9InVhOkxpc3RPZk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJOb2RlUmVmZXJlbmNlIiB0eXBlPSJ0bnM6Tm9kZVJlZmVyZW5jZSIgLz4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iTGlzdE9mTm9kZVJlZmVyZW5jZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZVJlZmVyZW5jZSIgdHlwZT0idG5zOk5vZGVSZWZl -cmVuY2UiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9Ikxpc3RPZk5vZGVSZWZlcmVuY2UiIHR5cGU9InRuczpMaXN0T2ZOb2RlUmVmZXJl -bmNlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJDb250ZW50RmlsdGVyRWxlbWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iRmlsdGVyT3BlcmF0b3IiIHR5cGU9InRuczpGaWx0ZXJPcGVyYXRvciIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyT3BlcmFuZHMi -IHR5cGU9InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJDb250ZW50RmlsdGVyRWxlbWVudCIgdHlwZT0idG5zOkNvbnRlbnRGaWx0 -ZXJFbGVtZW50IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZDb250ZW50Rmls -dGVyRWxlbWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -Q29udGVudEZpbHRlckVsZW1lbnQiIHR5cGU9InRuczpDb250ZW50RmlsdGVyRWxlbWVudCIgbWlu -T2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -TGlzdE9mQ29udGVudEZpbHRlckVsZW1lbnQiIHR5cGU9InRuczpMaXN0T2ZDb250ZW50RmlsdGVy -RWxlbWVudCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iQ29udGVudEZpbHRlciI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iRWxlbWVudHMiIHR5cGU9InRuczpMaXN0T2ZDb250ZW50RmlsdGVyRWxlbWVu -dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb250ZW50RmlsdGVyIiB0 -eXBlPSJ0bnM6Q29udGVudEZpbHRlciIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlz -dE9mQ29udGVudEZpbHRlciI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iQ29udGVudEZpbHRlciIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXIiIG1pbk9jY3Vycz0i -MCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkNv -bnRlbnRGaWx0ZXIiIHR5cGU9InRuczpMaXN0T2ZDb250ZW50RmlsdGVyIiBuaWxsYWJsZT0idHJ1 -ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJGaWx0ZXJPcGVyYW5k -Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyT3BlcmFuZCIgdHlwZT0idG5zOkZpbHRl -ck9wZXJhbmQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVsZW1lbnRPcGVyYW5kIj4N -CiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNp -b24gYmFzZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXgiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lv -bj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJFbGVtZW50T3BlcmFuZCIgdHlwZT0idG5zOkVsZW1lbnRPcGVyYW5kIiAv -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXRlcmFsT3BlcmFuZCI+DQogICAgPHhzOmNv -bXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRu -czpGaWx0ZXJPcGVyYW5kIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlZhbHVlIiB0eXBlPSJ1YTpWYXJpYW50IiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNv -bXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM -aXRlcmFsT3BlcmFuZCIgdHlwZT0idG5zOkxpdGVyYWxPcGVyYW5kIiAvPg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJBdHRyaWJ1dGVPcGVyYW5kIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQg -bWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkZpbHRlck9wZXJh -bmQiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -Tm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWxpYXMiIHR5cGU9InhzOnN0cmluZyIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJCcm93c2VQYXRoIiB0eXBlPSJ0bnM6UmVsYXRpdmVQYXRoIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkF0dHJpYnV0ZUlkIiB0 -eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5z -aW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9IkF0dHJpYnV0ZU9wZXJhbmQiIHR5cGU9InRuczpBdHRyaWJ1dGVPcGVy -YW5kIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTaW1wbGVBdHRyaWJ1dGVPcGVyYW5k -Ij4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRl -bnNpb24gYmFzZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQog -ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHlwZURlZmluaXRpb25JZCIgdHlwZT0idWE6Tm9k -ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkJyb3dzZVBhdGgiIHR5cGU9InVhOkxpc3RPZlF1YWxpZmllZE5hbWUiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -QXR0cmlidXRlSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXhSYW5nZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAg -ICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2ltcGxlQXR0cmlidXRlT3BlcmFuZCIgdHlw -ZT0idG5zOlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h -bWU9Ikxpc3RPZlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIHR5cGU9InRuczpT -aW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVk -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTaW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiB0 -eXBlPSJ0bnM6TGlzdE9mU2ltcGxlQXR0cmlidXRlT3BlcmFuZCIgbmlsbGFibGU9InRydWUiPjwv -eHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ29udGVudEZpbHRlckVsZW1l -bnRSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0 -YXR1c0NvZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9Ik9wZXJhbmRTdGF0dXNDb2RlcyIgdHlwZT0idWE6TGlzdE9mU3RhdHVz -Q29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9Ik9wZXJhbmREaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJ -bmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNvbnRlbnRGaWx0ZXJF -bGVtZW50UmVzdWx0IiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlckVsZW1lbnRSZXN1bHQiIC8+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0 -Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250ZW50Rmls -dGVyRWxlbWVudFJlc3VsdCIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiBt -aW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJMaXN0T2ZDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIgdHlwZT0idG5zOkxpc3RPZkNvbnRl -bnRGaWx0ZXJFbGVtZW50UmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJDb250ZW50RmlsdGVyUmVzdWx0Ij4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbGVtZW50UmVzdWx0cyIgdHlwZT0idG5z -Okxpc3RPZkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRWxlbWVudERpYWdub3N0aWNJbmZv -cyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iQ29udGVudEZpbHRlclJlc3VsdCIgdHlwZT0idG5zOkNvbnRlbnRGaWx0 -ZXJSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlBhcnNpbmdSZXN1bHQiPg0K -ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c0NvZGUiIHR5 -cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IkRhdGFTdGF0dXNDb2RlcyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFEaWFn -bm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlBhcnNpbmdSZXN1bHQiIHR5cGU9InRuczpQYXJzaW5n -UmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZQYXJzaW5nUmVzdWx0 -Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQYXJzaW5nUmVz -dWx0IiB0eXBlPSJ0bnM6UGFyc2luZ1Jlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu -Ym91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUGFyc2luZ1Jlc3VsdCIgdHlw -ZT0idG5zOkxpc3RPZlBhcnNpbmdSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlF1ZXJ5Rmlyc3RSZXF1ZXN0Ij4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0 -bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlZpZXciIHR5cGU9InRuczpWaWV3RGVzY3JpcHRpb24iIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2Rl -VHlwZXMiIHR5cGU9InRuczpMaXN0T2ZOb2RlVHlwZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyIiB0eXBl -PSJ0bnM6Q29udGVudEZpbHRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ik1heERhdGFTZXRzVG9SZXR1cm4iIHR5cGU9InhzOnVuc2ln -bmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhSZWZl -cmVuY2VzVG9SZXR1cm4iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iUXVlcnlGaXJzdFJlcXVlc3QiIHR5cGU9InRuczpRdWVyeUZpcnN0UmVxdWVzdCIgLz4NCg0K -ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUXVlcnlGaXJzdFJlc3BvbnNlIj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5z -OlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlEYXRhU2V0cyIgdHlwZT0idG5zOkxpc3RPZlF1ZXJ5RGF0 -YVNldCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQYXJzaW5n -UmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZlBhcnNpbmdSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3Mi -IHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyUmVzdWx0IiB0eXBlPSJ0bnM6 -Q29udGVudEZpbHRlclJlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJRdWVyeUZpcnN0UmVzcG9uc2UiIHR5cGU9InRuczpRdWVyeUZpcnN0UmVzcG9uc2UiIC8+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlF1ZXJ5TmV4dFJlcXVlc3QiPg0KICAgIDx4czpzZXF1 -ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpS -ZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iUmVsZWFzZUNvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpib29sZWFu -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250aW51YXRpb25Q -b2ludCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9IlF1ZXJ5TmV4dFJlcXVlc3QiIHR5cGU9InRuczpRdWVyeU5leHRSZXF1ZXN0IiAv -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJRdWVyeU5leHRSZXNwb25zZSI+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9 -InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5RGF0YVNldHMiIHR5cGU9InRuczpMaXN0T2ZRdWVy -eURhdGFTZXQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJSZXZpc2VkQ29udGludWF0aW9uUG9pbnQiIHR5cGU9InhzOmJhc2U2NEJpbmFy -eSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeU5leHRSZXNwb25z -ZSIgdHlwZT0idG5zOlF1ZXJ5TmV4dFJlc3BvbnNlIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBu -YW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpz -dHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTb3VyY2VfMCIgLz4NCiAgICAg -IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU2VydmVyXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp -b24gdmFsdWU9IkJvdGhfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTmVpdGhl -cl8zIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiB0eXBlPSJ0bnM6VGltZXN0YW1wc1Rv -UmV0dXJuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWFkVmFsdWVJZCI+DQogICAg -PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpO -b2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJBdHRyaWJ1dGVJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkRhdGFFbmNvZGluZyIgdHlwZT0idWE6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZWFkVmFsdWVJZCIgdHlwZT0idG5zOlJlYWRWYWx1ZUlkIiAv -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZSZWFkVmFsdWVJZCI+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZFZhbHVlSWQiIHR5cGU9InRu -czpSZWFkVmFsdWVJZCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUmVhZFZhbHVlSWQiIHR5cGU9InRuczpMaXN0T2ZSZWFk -VmFsdWVJZCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iUmVhZFJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4QWdl -IiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlRpbWVzdGFtcHNUb1JldHVybiIgdHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb1JlYWQiIHR5cGU9 -InRuczpMaXN0T2ZSZWFkVmFsdWVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJSZWFkUmVxdWVzdCIgdHlwZT0idG5zOlJlYWRSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJSZWFkUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIi -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZEYXRhVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5 -cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9IlJlYWRSZXNwb25zZSIgdHlwZT0idG5zOlJlYWRSZXNwb25zZSIgLz4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeVJlYWRWYWx1ZUlkIj4NCiAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Iklu -ZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFFbmNvZGluZyIgdHlwZT0idWE6UXVhbGlm -aWVkTmFtZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRWYWx1ZUlkIiB0eXBl -PSJ0bnM6SGlzdG9yeVJlYWRWYWx1ZUlkIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJM -aXN0T2ZIaXN0b3J5UmVhZFZhbHVlSWQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9Ikhpc3RvcnlSZWFkVmFsdWVJZCIgdHlwZT0idG5zOkhpc3RvcnlSZWFkVmFs -dWVJZCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iTGlzdE9mSGlzdG9yeVJlYWRWYWx1ZUlkIiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9y -eVJlYWRWYWx1ZUlkIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJIaXN0b3J5UmVhZFJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9uUG9pbnQi -IHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlEYXRhIiB0eXBlPSJ1YTpFeHRlbnNpb25P -YmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRS -ZXN1bHQiIHR5cGU9InRuczpIaXN0b3J5UmVhZFJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iTGlzdE9mSGlzdG9yeVJlYWRSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlSZWFkUmVzdWx0IiB0eXBlPSJ0bnM6SGlzdG9y -eVJlYWRSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9Ikxpc3RPZkhpc3RvcnlSZWFkUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9m -SGlzdG9yeVJlYWRSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhz -OmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlSZWFkRGV0YWlscyI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9Ikhpc3RvcnlSZWFkRGV0YWlscyIgdHlwZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZEV2ZW50RGV0YWlscyI+DQogICAgPHhz -OmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9 -InRuczpIaXN0b3J5UmVhZERldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iTnVtVmFsdWVzUGVyTm9kZSIgdHlwZT0ieHM6dW5zaWduZWRJ -bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFydFRp -bWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iRW5kVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4N -CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXIiIHR5cGU9InRuczpFdmVudEZpbHRl -ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5j -ZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlYWRFdmVudERldGFpbHMiIHR5 -cGU9InRuczpSZWFkRXZlbnREZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJS -ZWFkUmF3TW9kaWZpZWREZXRhaWxzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZh -bHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyI+ -DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc1Jl -YWRNb2RpZmllZCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAg -IDx4czplbGVtZW50IG5hbWU9IlN0YXJ0VGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vy -cz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRUaW1lIiB0eXBlPSJ4czpk -YXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik51 -bVZhbHVlc1Blck5vZGUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV0dXJuQm91bmRzIiB0eXBlPSJ4czpib29sZWFu -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4 -dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZWFkUmF3TW9kaWZpZWREZXRhaWxzIiB0eXBlPSJ0bnM6UmVh -ZFJhd01vZGlmaWVkRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZFBy -b2Nlc3NlZERldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0K -ICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICAg -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXJ0VGltZSIg -dHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJFbmRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgICAgIDx4czplbGVtZW50IG5hbWU9IlByb2Nlc3NpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91 -YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWdncmVn -YXRlVHlwZSIgdHlwZT0idWE6TGlzdE9mTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRp -b24iIHR5cGU9InRuczpBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNp -b24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iUmVhZFByb2Nlc3NlZERldGFpbHMiIHR5cGU9InRuczpSZWFkUHJvY2Vz -c2VkRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZEF0VGltZURldGFp -bHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4 -dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICAgICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcVRpbWVzIiB0eXBlPSJ1YTpMaXN0 -T2ZEYXRlVGltZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJVc2VTaW1wbGVCb3VuZHMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9u -Pg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9IlJlYWRBdFRpbWVEZXRhaWxzIiB0eXBlPSJ0bnM6UmVhZEF0VGltZURldGFp -bHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlEYXRhIj4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVmFsdWVzIiB0eXBlPSJ1YTpM -aXN0T2ZEYXRhVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 -czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlz -dG9yeURhdGEiIHR5cGU9InRuczpIaXN0b3J5RGF0YSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iTW9kaWZpY2F0aW9uSW5mbyI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iTW9kaWZpY2F0aW9uVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vy -cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVwZGF0ZVR5cGUiIHR5cGU9InRuczpI -aXN0b3J5VXBkYXRlVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iVXNlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJNb2RpZmljYXRpb25JbmZvIiB0eXBlPSJ0bnM6TW9kaWZpY2F0aW9uSW5mbyIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTW9kaWZpY2F0aW9uSW5mbyI+DQog -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZpY2F0aW9uSW5m -byIgdHlwZT0idG5zOk1vZGlmaWNhdGlvbkluZm8iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1 -bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk1vZGlmaWNhdGlvbkluZm8i -IHR5cGU9InRuczpMaXN0T2ZNb2RpZmljYXRpb25JbmZvIiBuaWxsYWJsZT0idHJ1ZSI+PC94czpl -bGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5TW9kaWZpZWREYXRhIj4N -CiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNp -b24gYmFzZT0idG5zOkhpc3RvcnlEYXRhIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmaWNhdGlvbkluZm9zIiB0eXBlPSJ0bnM6TGlzdE9m -TW9kaWZpY2F0aW9uSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -ICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxl -eENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3Rv -cnlNb2RpZmllZERhdGEiIHR5cGU9InRuczpIaXN0b3J5TW9kaWZpZWREYXRhIiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5RXZlbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50cyIgdHlwZT0idG5zOkxpc3RPZkhpc3RvcnlFdmVu -dEZpZWxkTGlzdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5 -RXZlbnQiIHR5cGU9InRuczpIaXN0b3J5RXZlbnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h -bWU9Ikhpc3RvcnlSZWFkUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0 -b3J5UmVhZERldGFpbHMiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRpbWVzdGFtcHNUb1Jl -dHVybiIgdHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsZWFzZUNvbnRpbnVhdGlvblBvaW50cyIgdHlwZT0ieHM6 -Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNU -b1JlYWQiIHR5cGU9InRuczpMaXN0T2ZIaXN0b3J5UmVhZFZhbHVlSWQiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRSZXF1ZXN0IiB0eXBlPSJ0bnM6SGlz -dG9yeVJlYWRSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5UmVh -ZFJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS -ZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0i -dG5zOkxpc3RPZkhpc3RvcnlSZWFkUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpM -aXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJIaXN0b3J5UmVhZFJlc3BvbnNlIiB0eXBlPSJ0bnM6SGlzdG9yeVJlYWRSZXNwb25zZSIgLz4N -Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iV3JpdGVWYWx1ZSI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdHRy -aWJ1dGVJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlIiB0eXBl -PSJ1YTpEYXRhVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 -czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iV3Jp -dGVWYWx1ZSIgdHlwZT0idG5zOldyaXRlVmFsdWUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h -bWU9Ikxpc3RPZldyaXRlVmFsdWUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IldyaXRlVmFsdWUiIHR5cGU9InRuczpXcml0ZVZhbHVlIiBtaW5PY2N1cnM9IjAi -IG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl -bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZXcml0 -ZVZhbHVlIiB0eXBlPSJ0bnM6TGlzdE9mV3JpdGVWYWx1ZSIgbmlsbGFibGU9InRydWUiPjwveHM6 -ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iV3JpdGVSZXF1ZXN0Ij4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBl -PSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVzVG9Xcml0ZSIgdHlwZT0idG5zOkxpc3RPZldyaXRl -VmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVSZXF1ZXN0 -IiB0eXBlPSJ0bnM6V3JpdGVSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJX -cml0ZVJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlw -ZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9m -RGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 -czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iV3Jp -dGVSZXNwb25zZSIgdHlwZT0idG5zOldyaXRlUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9Ikhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5VXBkYXRlRGV0YWlscyIgdHlwZT0idG5z -Okhpc3RvcnlVcGRhdGVEZXRhaWxzIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJIaXN0 -b3J5VXBkYXRlVHlwZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQog -ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ikluc2VydF8xIiAvPg0KICAgICAgPHhzOmVudW1l -cmF0aW9uIHZhbHVlPSJSZXBsYWNlXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 -IlVwZGF0ZV8zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEZWxldGVfNCIgLz4N -CiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9Ikhpc3RvcnlVcGRhdGVUeXBlIiB0eXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZVR5cGUiIC8+ -DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IlBlcmZvcm1VcGRhdGVUeXBlIj4NCiAgICA8eHM6 -cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 -ZT0iSW5zZXJ0XzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlcGxhY2VfMiIg -Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVXBkYXRlXzMiIC8+DQogICAgICA8eHM6 -ZW51bWVyYXRpb24gdmFsdWU9IlJlbW92ZV80IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQog -IDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUGVyZm9ybVVwZGF0ZVR5cGUi -IHR5cGU9InRuczpQZXJmb3JtVXBkYXRlVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt -ZT0iVXBkYXRlRGF0YURldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFs -c2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMi -Pg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUGVy -Zm9ybUluc2VydFJlcGxhY2UiIHR5cGU9InRuczpQZXJmb3JtVXBkYXRlVHlwZSIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlVwZGF0ZVZhbHVlcyIgdHlwZT0i -dWE6TGlzdE9mRGF0YVZhbHVlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21w -bGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVXBk -YXRlRGF0YURldGFpbHMiIHR5cGU9InRuczpVcGRhdGVEYXRhRGV0YWlscyIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iVXBkYXRlU3RydWN0dXJlRGF0YURldGFpbHMiPg0KICAgIDx4czpj -b21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0 -bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUGVyZm9ybUluc2VydFJlcGxhY2UiIHR5cGU9InRuczpQZXJm -b3JtVXBkYXRlVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h -bWU9IlVwZGF0ZVZhbHVlcyIgdHlwZT0idWE6TGlzdE9mRGF0YVZhbHVlIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpl -eHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iVXBkYXRlU3RydWN0dXJlRGF0YURldGFpbHMiIHR5cGU9InRu -czpVcGRhdGVTdHJ1Y3R1cmVEYXRhRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt -ZT0iVXBkYXRlRXZlbnREZXRhaWxzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZh -bHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxz -Ij4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlBl -cmZvcm1JbnNlcnRSZXBsYWNlIiB0eXBlPSJ0bnM6UGVyZm9ybVVwZGF0ZVR5cGUiIG1pbk9jY3Vy -cz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXIiIHR5cGU9InRuczpF -dmVudEZpbHRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJFdmVudERhdGEiIHR5cGU9InRuczpMaXN0T2ZIaXN0b3J5RXZlbnRG -aWVsZExpc3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6 -c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50 -Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVcGRhdGVFdmVudERl -dGFpbHMiIHR5cGU9InRuczpVcGRhdGVFdmVudERldGFpbHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IkRlbGV0ZVJhd01vZGlmaWVkRGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250 -ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5 -VXBkYXRlRGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJJc0RlbGV0ZU1vZGlmaWVkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhcnRUaW1lIiB0eXBlPSJ4czpk -YXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkVu -ZFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6 -c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50 -Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVSYXdNb2Rp -ZmllZERldGFpbHMiIHR5cGU9InRuczpEZWxldGVSYXdNb2RpZmllZERldGFpbHMiIC8+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZUF0VGltZURldGFpbHMiPg0KICAgIDx4czpjb21w -bGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6 -SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUmVxVGltZXMiIHR5cGU9InVhOkxpc3RPZkRhdGVUaW1lIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAg -ICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlQXRUaW1lRGV0YWlscyIgdHlwZT0i -dG5zOkRlbGV0ZUF0VGltZURldGFpbHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRl -bGV0ZUV2ZW50RGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+ -DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQog -ICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudElk -cyIgdHlwZT0idWE6TGlzdE9mQnl0ZVN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAg -IDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9IkRlbGV0ZUV2ZW50RGV0YWlscyIgdHlwZT0idG5zOkRlbGV0ZUV2ZW50RGV0YWlscyIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3VsdCI+DQogICAg -PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0i -dWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -T3BlcmF0aW9uUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJ -bmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3VsdCIgdHlwZT0idG5zOkhpc3RvcnlV -cGRhdGVSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkhpc3RvcnlV -cGRhdGVSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -Ikhpc3RvcnlVcGRhdGVSZXN1bHQiIHR5cGU9InRuczpIaXN0b3J5VXBkYXRlUmVzdWx0IiBtaW5P -Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM -aXN0T2ZIaXN0b3J5VXBkYXRlUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeVVwZGF0ZVJl -c3VsdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iSGlzdG9yeVVwZGF0ZVJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -SGlzdG9yeVVwZGF0ZURldGFpbHMiIHR5cGU9InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5VXBkYXRlUmVxdWVzdCIg -dHlwZT0idG5zOkhpc3RvcnlVcGRhdGVSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJIaXN0b3J5VXBkYXRlUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIi -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJSZXN1bHRzIiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeVVwZGF0ZVJlc3VsdCIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0 -aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3BvbnNlIiB0eXBlPSJ0bnM6SGlz -dG9yeVVwZGF0ZVJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDYWxsTWV0 -aG9kUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -T2JqZWN0SWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1ldGhvZElkIiB0eXBlPSJ1YTpOb2RlSWQiIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJ -bnB1dEFyZ3VtZW50cyIgdHlwZT0idWE6TGlzdE9mVmFyaWFudCIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJDYWxsTWV0aG9kUmVxdWVzdCIgdHlwZT0idG5zOkNhbGxNZXRo -b2RSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZDYWxsTWV0aG9k -UmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2Fs -bE1ldGhvZFJlcXVlc3QiIHR5cGU9InRuczpDYWxsTWV0aG9kUmVxdWVzdCIgbWluT2NjdXJzPSIw -IiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 -ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQ2Fs -bE1ldGhvZFJlcXVlc3QiIHR5cGU9InRuczpMaXN0T2ZDYWxsTWV0aG9kUmVxdWVzdCIgbmlsbGFi -bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2FsbE1l -dGhvZFJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -U3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iSW5wdXRBcmd1bWVudFJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0 -YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJJbnB1dEFyZ3VtZW50RGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZE -aWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9Ik91dHB1dEFyZ3VtZW50cyIgdHlwZT0idWE6TGlzdE9mVmFyaWFudCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDYWxsTWV0aG9kUmVzdWx0IiB0 -eXBlPSJ0bnM6Q2FsbE1ldGhvZFJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -TGlzdE9mQ2FsbE1ldGhvZFJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iQ2FsbE1ldGhvZFJlc3VsdCIgdHlwZT0idG5zOkNhbGxNZXRob2RSZXN1bHQi -IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9Ikxpc3RPZkNhbGxNZXRob2RSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZDYWxsTWV0aG9kUmVz -dWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJDYWxsUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXRob2RzVG9D -YWxsIiB0eXBlPSJ0bnM6TGlzdE9mQ2FsbE1ldGhvZFJlcXVlc3QiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iQ2FsbFJlcXVlc3QiIHR5cGU9InRuczpDYWxsUmVxdWVzdCIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2FsbFJlc3BvbnNlIj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5z -OlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZkNhbGxNZXRob2RSZXN1 -bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNhbGxSZXNwb25zZSIgdHlwZT0idG5z -OkNhbGxSZXNwb25zZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iTW9uaXRvcmluZ01v -ZGUiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVu -dW1lcmF0aW9uIHZhbHVlPSJEaXNhYmxlZF8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh -bHVlPSJTYW1wbGluZ18xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZXBvcnRp -bmdfMiIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9Ik1vbml0b3JpbmdNb2RlIiB0eXBlPSJ0bnM6TW9uaXRvcmluZ01vZGUi -IC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkRhdGFDaGFuZ2VUcmlnZ2VyIj4NCiAgICA8 -eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 -YWx1ZT0iU3RhdHVzXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN0YXR1c1Zh -bHVlXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN0YXR1c1ZhbHVlVGltZXN0 -YW1wXzIiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJEYXRhQ2hhbmdlVHJpZ2dlciIgdHlwZT0idG5zOkRhdGFDaGFuZ2VU -cmlnZ2VyIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJEZWFkYmFuZFR5cGUiPg0KICAg -IDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9u -IHZhbHVlPSJOb25lXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFic29sdXRl -XzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlBlcmNlbnRfMiIgLz4NCiAgICA8 -L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -IkRlYWRiYW5kVHlwZSIgdHlwZT0idG5zOkRlYWRiYW5kVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iTW9uaXRvcmluZ0ZpbHRlciI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwv -eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1v -bml0b3JpbmdGaWx0ZXIiIHR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVyIiAvPg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJEYXRhQ2hhbmdlRmlsdGVyIj4NCiAgICA8eHM6Y29tcGxleENvbnRl -bnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk1vbml0b3Jp -bmdGaWx0ZXIiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iVHJpZ2dlciIgdHlwZT0idG5zOkRhdGFDaGFuZ2VUcmlnZ2VyIiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVhZGJhbmRUeXBlIiB0eXBlPSJ4czp1 -bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkRlYWRiYW5kVmFsdWUiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg -ICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4 -Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YUNo -YW5nZUZpbHRlciIgdHlwZT0idG5zOkRhdGFDaGFuZ2VGaWx0ZXIiIC8+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9IkV2ZW50RmlsdGVyIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9 -ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk1vbml0b3JpbmdGaWx0ZXIi -Pg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vs -ZWN0Q2xhdXNlcyIgdHlwZT0idG5zOkxpc3RPZlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -V2hlcmVDbGF1c2UiIHR5cGU9InRuczpDb250ZW50RmlsdGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNp -b24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iRXZlbnRGaWx0ZXIiIHR5cGU9InRuczpFdmVudEZpbHRlciIgLz4NCg0K -ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWdncmVnYXRlQ29uZmlndXJhdGlvbiI+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlU2VydmVyQ2FwYWJpbGl0aWVz -RGVmYXVsdHMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlRyZWF0VW5jZXJ0YWluQXNCYWQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBlcmNlbnREYXRhQmFkIiB0eXBl -PSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlBlcmNlbnREYXRhR29vZCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VTbG9wZWRFeHRyYXBvbGF0aW9uIiB0eXBl -PSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWdncmVnYXRlQ29uZmlndXJhdGlv -biIgdHlwZT0idG5zOkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IkFnZ3JlZ2F0ZUZpbHRlciI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVk -PSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpNb25pdG9yaW5nRmlsdGVy -Ij4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0 -YXJ0VGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJBZ2dyZWdhdGVUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJv -Y2Vzc2luZ0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiB0eXBlPSJ0bnM6 -QWdncmVnYXRlQ29uZmlndXJhdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6 -Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -IkFnZ3JlZ2F0ZUZpbHRlciIgdHlwZT0idG5zOkFnZ3JlZ2F0ZUZpbHRlciIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iTW9uaXRvcmluZ0ZpbHRlclJlc3VsdCI+DQogICAgPHhzOnNlcXVl -bmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9Ik1vbml0b3JpbmdGaWx0ZXJSZXN1bHQiIHR5cGU9InRuczpNb25pdG9yaW5nRmls -dGVyUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFdmVudEZpbHRlclJlc3Vs -dCI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0 -ZW5zaW9uIGJhc2U9InRuczpNb25pdG9yaW5nRmlsdGVyUmVzdWx0Ij4NCiAgICAgICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlbGVjdENsYXVzZVJlc3VsdHMi -IHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VsZWN0Q2xhdXNlRGlhZ25vc3RpY0lu -Zm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJXaGVyZUNsYXVzZVJlc3Vs -dCIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXJSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4N -CiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJFdmVudEZpbHRlclJlc3VsdCIgdHlwZT0idG5zOkV2ZW50RmlsdGVyUmVzdWx0 -IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZ2dyZWdhdGVGaWx0ZXJSZXN1bHQiPg0K -ICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lv -biBiYXNlPSJ0bnM6TW9uaXRvcmluZ0ZpbHRlclJlc3VsdCI+DQogICAgICAgIDx4czpzZXF1ZW5j -ZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkU3RhcnRUaW1lIiB0eXBlPSJ4 -czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlJldmlzZWRQcm9jZXNzaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRBZ2dyZWdhdGVDb25maWd1 -cmF0aW9uIiB0eXBlPSJ0bnM6QWdncmVnYXRlQ29uZmlndXJhdGlvbiIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0 -ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9IkFnZ3JlZ2F0ZUZpbHRlclJlc3VsdCIgdHlwZT0idG5zOkFnZ3Jl -Z2F0ZUZpbHRlclJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9uaXRvcmlu -Z1BhcmFtZXRlcnMiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkNsaWVudEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlNhbXBsaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyIiB0eXBlPSJ1 -YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJRdWV1ZVNpemUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjYXJkT2xkZXN0IiB0eXBl -PSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ1BhcmFtZXRlcnMi -IHR5cGU9InRuczpNb25pdG9yaW5nUGFyYW1ldGVycyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ikl0ZW1Ub01vbml0b3IiIHR5cGU9InRuczpSZWFkVmFsdWVJ -ZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9Ik1vbml0b3JpbmdNb2RlIiB0eXBlPSJ0bnM6TW9uaXRvcmluZ01vZGUiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZFBhcmFtZXRlcnMiIHR5cGU9 -InRuczpNb25pdG9yaW5nUGFyYW1ldGVycyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIgdHlwZT0idG5zOk1vbml0b3JlZEl0 -ZW1DcmVhdGVSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb25p -dG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIHR5cGU9InRuczpNb25pdG9y -ZWRJdGVtQ3JlYXRlUmVxdWVzdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3Qi -IHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIgbmlsbGFibGU9InRy -dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9uaXRvcmVkSXRl -bUNyZWF0ZVJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUlkIiB0eXBlPSJ4czp1bnNpZ25lZElu -dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFNhbXBs -aW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iUmV2aXNlZFF1ZXVlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1p -bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlclJlc3VsdCIgdHlw -ZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9Ik1vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIHR5cGU9InRuczpNb25pdG9yZWRJdGVtQ3Jl -YXRlUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJ -dGVtQ3JlYXRlUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0IiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRlbUNy -ZWF0ZVJlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbUNyZWF0ZVJlc3VsdCIgdHlwZT0idG5z -Okxpc3RPZk1vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVs -ZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zUmVx -dWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVz -dEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlwZT0i -eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlRpbWVzdGFtcHNUb1JldHVybiIgdHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXRlbXNUb0NyZWF0ZSIgdHlwZT0i -dG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0IiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgdHlwZT0idG5z -OkNyZWF0ZU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt -ZT0iQ3JlYXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhl -YWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0 -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVNb25pdG9yZWRJdGVtc1Jlc3Bv -bnNlIiB0eXBlPSJ0bnM6Q3JlYXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVlc3QiPg0KICAgIDx4czpz -ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1JZCIgdHlwZT0i -eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlJlcXVlc3RlZFBhcmFtZXRlcnMiIHR5cGU9InRuczpNb25pdG9yaW5nUGFyYW1ldGVycyIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtTW9kaWZ5UmVx -dWVzdCIgdHlwZT0idG5zOk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiAvPg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCI+DQogICAg -PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlm -eVJlcXVlc3QiIHR5cGU9InRuczpNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCIgbWluT2NjdXJz -PSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz -ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9m -TW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVlc3QiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVt -TW9kaWZ5UmVxdWVzdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCI+DQogICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVz -Q29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFNh -bXBsaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFF1ZXVlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlclJlc3VsdCIg -dHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9Ik1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIHR5cGU9InRuczpNb25pdG9yZWRJdGVt -TW9kaWZ5UmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb25pdG9y -ZWRJdGVtTW9kaWZ5UmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0IiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRl -bU1vZGlmeVJlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCIgdHlwZT0i -dG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hz -OmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1vZGlmeU1vbml0b3JlZEl0ZW1z -UmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVx -dWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlw -ZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlRpbWVzdGFtcHNUb1JldHVybiIgdHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXRlbXNUb01vZGlmeSIgdHlw -ZT0idG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmeU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgdHlwZT0i -dG5zOk1vZGlmeU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iTW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25z -ZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtTW9kaWZ5UmVz -dWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZnlNb25pdG9yZWRJdGVtc1Jl -c3BvbnNlIiB0eXBlPSJ0bnM6TW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgLz4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iU2V0TW9uaXRvcmluZ01vZGVSZXF1ZXN0Ij4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0 -bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ01vZGUi -IHR5cGU9InRuczpNb25pdG9yaW5nTW9kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUlkcyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNldE1vbml0b3JpbmdNb2RlUmVxdWVz -dCIgdHlwZT0idG5zOlNldE1vbml0b3JpbmdNb2RlUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iU2V0TW9uaXRvcmluZ01vZGVSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNw -b25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9z -dGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9IlNldE1vbml0b3JpbmdNb2RlUmVzcG9uc2UiIHR5cGU9InRu -czpTZXRNb25pdG9yaW5nTW9kZVJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJTZXRUcmlnZ2VyaW5nUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJz -Y3JpcHRpb25JZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlRyaWdnZXJpbmdJdGVtSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50 -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaW5rc1RvQWRkIiB0 -eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaW5rc1RvUmVtb3ZlIiB0eXBlPSJ1YTpMaXN0T2ZVSW50 -MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0VHJpZ2dlcmluZ1Jl -cXVlc3QiIHR5cGU9InRuczpTZXRUcmlnZ2VyaW5nUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iU2V0VHJpZ2dlcmluZ1Jlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNl -SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iQWRkUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZERpYWdu -b3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZW1vdmVSZXN1bHRz -IiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVtb3ZlRGlhZ25vc3RpY0luZm9zIiB0eXBl -PSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJTZXRUcmlnZ2VyaW5nUmVzcG9uc2UiIHR5cGU9InRuczpTZXRUcmlnZ2VyaW5nUmVz -cG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1z -UmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVx -dWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlw -ZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9Ik1vbml0b3JlZEl0ZW1JZHMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVNb25pdG9yZWRJdGVtc1JlcXVlc3QiIHR5 -cGU9InRuczpEZWxldGVNb25pdG9yZWRJdGVtc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5j -ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVz -cG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25v -c3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiB0eXBl -PSJ0bnM6RGVsZXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iQ3JlYXRlU3Vic2NyaXB0aW9uUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RI -ZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJSZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTGlmZXRpbWVD -b3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25l -ZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4Tm90aWZp -Y2F0aW9uc1BlclB1Ymxpc2giIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoaW5nRW5hYmxlZCIgdHlwZT0ieHM6Ym9v -bGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJpb3JpdHki -IHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVu -Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZVN1YnNj -cmlwdGlvblJlcXVlc3QiIHR5cGU9InRuczpDcmVhdGVTdWJzY3JpcHRpb25SZXF1ZXN0IiAvPg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDcmVhdGVTdWJzY3JpcHRpb25SZXNwb25zZSI+DQog -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIi -IHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNp -Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNl -ZFB1Ymxpc2hpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkTGlmZXRpbWVDb3VudCIgdHlwZT0ieHM6dW5z -aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlz -ZWRNYXhLZWVwQWxpdmVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJDcmVhdGVTdWJzY3JpcHRpb25SZXNwb25zZSIgdHlwZT0idG5zOkNyZWF0ZVN1YnNj -cmlwdGlvblJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb2RpZnlTdWJz -Y3JpcHRpb25SZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlv -bklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZExpZmV0 -aW1lQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudCIgdHlwZT0ieHM6dW5z -aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heE5v -dGlmaWNhdGlvbnNQZXJQdWJsaXNoIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJpb3JpdHkiIHR5cGU9InhzOnVuc2lnbmVk -Qnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvblJlcXVlc3QiIHR5 -cGU9InRuczpNb2RpZnlTdWJzY3JpcHRpb25SZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJNb2RpZnlTdWJzY3JpcHRpb25SZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25z -ZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlJldmlzZWRQdWJsaXNoaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZExpZmV0aW1lQ291 -bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJSZXZpc2VkTWF4S2VlcEFsaXZlQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50 -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZ5U3Vic2NyaXB0aW9uUmVzcG9uc2UiIHR5cGU9 -InRuczpNb2RpZnlTdWJzY3JpcHRpb25SZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iU2V0UHVibGlzaGluZ01vZGVSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRl -ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlB1Ymxpc2hpbmdFbmFibGVkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZHMiIHR5cGU9InVhOkxpc3RP -ZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl -bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRQdWJsaXNo -aW5nTW9kZVJlcXVlc3QiIHR5cGU9InRuczpTZXRQdWJsaXNoaW5nTW9kZVJlcXVlc3QiIC8+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNldFB1Ymxpc2hpbmdNb2RlUmVzcG9uc2UiPg0KICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0 -eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXND -b2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRQdWJsaXNoaW5nTW9kZVJlc3Bv -bnNlIiB0eXBlPSJ0bnM6U2V0UHVibGlzaGluZ01vZGVSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iTm90aWZpY2F0aW9uTWVzc2FnZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VxdWVuY2VOdW1iZXIiIHR5cGU9InhzOnVuc2lnbmVk -SW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoVGlt -ZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9Ik5vdGlmaWNhdGlvbkRhdGEiIHR5cGU9InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOb3RpZmljYXRpb25NZXNzYWdl -IiB0eXBlPSJ0bnM6Tm90aWZpY2F0aW9uTWVzc2FnZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iTm90aWZpY2F0aW9uRGF0YSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik5vdGlmaWNh -dGlvbkRhdGEiIHR5cGU9InRuczpOb3RpZmljYXRpb25EYXRhIiAvPg0KDQogIDx4czpjb21wbGV4 -VHlwZSBuYW1lPSJEYXRhQ2hhbmdlTm90aWZpY2F0aW9uIj4NCiAgICA8eHM6Y29tcGxleENvbnRl -bnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk5vdGlmaWNh -dGlvbkRhdGEiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iTW9uaXRvcmVkSXRlbXMiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtTm90aWZp -Y2F0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czpl -bGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0lu -Zm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVu -Y2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhQ2hhbmdlTm90aWZpY2F0 -aW9uIiB0eXBlPSJ0bnM6RGF0YUNoYW5nZU5vdGlmaWNhdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iTW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50SGFuZGxlIiB0eXBlPSJ4czp1bnNpZ25l -ZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUiIHR5 -cGU9InVhOkRhdGFWYWx1ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJN -b25pdG9yZWRJdGVtTm90aWZpY2F0aW9uIiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRlbU5vdGlmaWNh -dGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbU5v -dGlmaWNhdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -TW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiIgdHlwZT0idG5zOk1vbml0b3JlZEl0ZW1Ob3RpZmlj -YXRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9Ikxpc3RPZk1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iIHR5cGU9InRuczpMaXN0 -T2ZNb25pdG9yZWRJdGVtTm90aWZpY2F0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50 -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFdmVudE5vdGlmaWNhdGlvbkxpc3QiPg0KICAg -IDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBi -YXNlPSJ0bnM6Tm90aWZpY2F0aW9uRGF0YSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudHMiIHR5cGU9InRuczpMaXN0T2ZFdmVudEZpZWxk -TGlzdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1 -ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQog -IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkV2ZW50Tm90aWZpY2F0aW9u -TGlzdCIgdHlwZT0idG5zOkV2ZW50Tm90aWZpY2F0aW9uTGlzdCIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iRXZlbnRGaWVsZExpc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IkNsaWVudEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50RmllbGRzIiB0eXBlPSJ1 -YTpMaXN0T2ZWYXJpYW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv -eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkV2 -ZW50RmllbGRMaXN0IiB0eXBlPSJ0bnM6RXZlbnRGaWVsZExpc3QiIC8+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9Ikxpc3RPZkV2ZW50RmllbGRMaXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudEZpZWxkTGlzdCIgdHlwZT0idG5zOkV2ZW50Rmll -bGRMaXN0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJMaXN0T2ZFdmVudEZpZWxkTGlzdCIgdHlwZT0idG5zOkxpc3RPZkV2ZW50Rmll -bGRMaXN0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJIaXN0b3J5RXZlbnRGaWVsZExpc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IkV2ZW50RmllbGRzIiB0eXBlPSJ1YTpMaXN0T2ZWYXJpYW50IiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlFdmVudEZpZWxkTGlz -dCIgdHlwZT0idG5zOkhpc3RvcnlFdmVudEZpZWxkTGlzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iTGlzdE9mSGlzdG9yeUV2ZW50RmllbGRMaXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5RXZlbnRGaWVsZExpc3QiIHR5cGU9InRu -czpIaXN0b3J5RXZlbnRGaWVsZExpc3QiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5k -ZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkhpc3RvcnlFdmVudEZpZWxkTGlzdCIg -dHlwZT0idG5zOkxpc3RPZkhpc3RvcnlFdmVudEZpZWxkTGlzdCIgbmlsbGFibGU9InRydWUiPjwv -eHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU3RhdHVzQ2hhbmdlTm90aWZp -Y2F0aW9uIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4 -czpleHRlbnNpb24gYmFzZT0idG5zOk5vdGlmaWNhdGlvbkRhdGEiPg0KICAgICAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzIiB0eXBlPSJ1YTpTdGF0 -dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlh -Z25vc3RpY0luZm8iIHR5cGU9InVhOkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNp -b24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iU3RhdHVzQ2hhbmdlTm90aWZpY2F0aW9uIiB0eXBlPSJ0bnM6U3RhdHVz -Q2hhbmdlTm90aWZpY2F0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTdWJzY3Jp -cHRpb25BY2tub3dsZWRnZW1lbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VxdWVuY2VOdW1iZXIiIHR5cGU9Inhz -OnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uQWNrbm93bGVk -Z2VtZW50IiB0eXBlPSJ0bnM6U3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50IiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiPg0K -ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbkFj -a25vd2xlZGdlbWVudCIgdHlwZT0idG5zOlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudCIgbWlu -T2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -TGlzdE9mU3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50IiB0eXBlPSJ0bnM6TGlzdE9mU3Vic2Ny -aXB0aW9uQWNrbm93bGVkZ2VtZW50IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJQdWJsaXNoUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVl -c3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnRzIiB0eXBlPSJ0bnM6TGlzdE9m -U3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9IlB1Ymxpc2hSZXF1ZXN0IiB0eXBlPSJ0bnM6UHVibGlzaFJlcXVlc3QiIC8+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlB1Ymxpc2hSZXNwb25zZSI+DQogICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpS -ZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXZhaWxhYmxlU2VxdWVuY2VO -dW1iZXJzIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb3JlTm90aWZpY2F0aW9ucyIgdHlwZT0i -eHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm90 -aWZpY2F0aW9uTWVzc2FnZSIgdHlwZT0idG5zOk5vdGlmaWNhdGlvbk1lc3NhZ2UiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRz -IiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpM -aXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJQdWJsaXNoUmVzcG9uc2UiIHR5cGU9InRuczpQdWJsaXNoUmVzcG9uc2UiIC8+DQoNCiAgPHhz -OmNvbXBsZXhUeXBlIG5hbWU9IlJlcHVibGlzaFJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0 -SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXRyYW5zbWl0U2VxdWVuY2VOdW1iZXIi -IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVwdWJsaXNoUmVx -dWVzdCIgdHlwZT0idG5zOlJlcHVibGlzaFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9IlJlcHVibGlzaFJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -Tm90aWZpY2F0aW9uTWVzc2FnZSIgdHlwZT0idG5zOk5vdGlmaWNhdGlvbk1lc3NhZ2UiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVwdWJsaXNoUmVzcG9uc2UiIHR5cGU9 -InRuczpSZXB1Ymxpc2hSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVHJh -bnNmZXJSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlN0YXR1c0NvZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IkF2YWlsYWJsZVNlcXVlbmNlTnVtYmVycyIgdHlwZT0idWE6TGlz -dE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRyYW5zZmVy -UmVzdWx0IiB0eXBlPSJ0bnM6VHJhbnNmZXJSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9Ikxpc3RPZlRyYW5zZmVyUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2ZlclJlc3VsdCIgdHlwZT0idG5zOlRyYW5zZmVyUmVzdWx0 -IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJMaXN0T2ZUcmFuc2ZlclJlc3VsdCIgdHlwZT0idG5zOkxpc3RPZlRyYW5zZmVyUmVzdWx0 -IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJUcmFuc2ZlclN1YnNjcmlwdGlvbnNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRl -ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlN1YnNjcmlwdGlvbklkcyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VuZEluaXRpYWxW -YWx1ZXMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVl -bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2ZlclN1 -YnNjcmlwdGlvbnNSZXF1ZXN0IiB0eXBlPSJ0bnM6VHJhbnNmZXJTdWJzY3JpcHRpb25zUmVxdWVz -dCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVHJhbnNmZXJTdWJzY3JpcHRpb25zUmVz -cG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3Bv -bnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ0bnM6 -TGlzdE9mVHJhbnNmZXJSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRp -YWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 -c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRyYW5z -ZmVyU3Vic2NyaXB0aW9uc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6VHJhbnNmZXJTdWJzY3JpcHRpb25z -UmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZVN1YnNjcmlwdGlv -bnNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS -ZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkcyIg -dHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9IkRlbGV0ZVN1YnNjcmlwdGlvbnNSZXF1ZXN0IiB0eXBlPSJ0bnM6RGVsZXRlU3Vic2NyaXB0 -aW9uc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZVN1YnNjcmlw -dGlvbnNSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5 -cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RP -ZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv -eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRl -bGV0ZVN1YnNjcmlwdGlvbnNSZXNwb25zZSIgdHlwZT0idG5zOkRlbGV0ZVN1YnNjcmlwdGlvbnNS -ZXNwb25zZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iRW51bWVyYXRlZFRlc3RUeXBl -Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgc2ltcGxl -IGVudW1lcmF0ZWQgdHlwZSB1c2VkIGZvciB0ZXN0aW5nLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAg -ICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlZF8xIiAvPg0KICAgICAgPHhzOmVudW1l -cmF0aW9uIHZhbHVlPSJZZWxsb3dfNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i -R3JlZW5fNSIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9IkVudW1lcmF0ZWRUZXN0VHlwZSIgdHlwZT0idG5zOkVudW1lcmF0 -ZWRUZXN0VHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRW51bWVyYXRl -ZFRlc3RUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJF -bnVtZXJhdGVkVGVzdFR5cGUiIHR5cGU9InRuczpFbnVtZXJhdGVkVGVzdFR5cGUiIG1pbk9jY3Vy -cz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRW51bWVyYXRlZFRlc3RU -eXBlIiB0eXBlPSJ0bnM6TGlzdE9mRW51bWVyYXRlZFRlc3RUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+ -PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCdWlsZEluZm8iPg0KICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlByb2R1Y3RVcmkiIHR5cGU9 -InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9Ik1hbnVmYWN0dXJlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlByb2R1Y3RO -YW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTb2Z0d2FyZVZlcnNpb24iIHR5cGU9InhzOnN0cmluZyIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkJ1aWxkTnVtYmVyIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCdWlsZERhdGUiIHR5cGU9InhzOmRhdGVU -aW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnVpbGRJbmZvIiB0eXBlPSJ0bnM6QnVpbGRJbmZv -IiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJSZWR1bmRhbmN5U3VwcG9ydCI+DQogICAg -PHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24g -dmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ29sZF8xIiAv -Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJXYXJtXzIiIC8+DQogICAgICA8eHM6ZW51 -bWVyYXRpb24gdmFsdWU9IkhvdF8zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJU -cmFuc3BhcmVudF80IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJIb3RBbmRNaXJy -b3JlZF81IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iUmVkdW5kYW5jeVN1cHBvcnQiIHR5cGU9InRuczpSZWR1bmRhbmN5 -U3VwcG9ydCIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iU2VydmVyU3RhdGUiPg0KICAg -IDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9u -IHZhbHVlPSJSdW5uaW5nXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkZhaWxl -ZF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb0NvbmZpZ3VyYXRpb25fMiIg -Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU3VzcGVuZGVkXzMiIC8+DQogICAgICA8 -eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNodXRkb3duXzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp -b24gdmFsdWU9IlRlc3RfNSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ29tbXVu -aWNhdGlvbkZhdWx0XzYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVua25vd25f -NyIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9IlNlcnZlclN0YXRlIiB0eXBlPSJ0bnM6U2VydmVyU3RhdGUiIC8+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZHVuZGFudFNlcnZlckRhdGFUeXBlIj4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJJZCIgdHlwZT0ieHM6c3Ry -aW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iU2VydmljZUxldmVsIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlclN0YXRlIiB0eXBlPSJ0bnM6U2VydmVy -U3RhdGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIgdHlw -ZT0idG5zOlJlZHVuZGFudFNlcnZlckRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJMaXN0T2ZSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVkdW5kYW50U2VydmVyRGF0YVR5cGUiIHR5cGU9InRu -czpSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91 -bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUmVkdW5kYW50U2VydmVyRGF0YVR5 -cGUiIHR5cGU9InRuczpMaXN0T2ZSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIgbmlsbGFibGU9InRy -dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRW5kcG9pbnRVcmxM -aXN0RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkVuZHBvaW50VXJsTGlzdCIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIiB0eXBlPSJ0bnM6 -RW5kcG9pbnRVcmxMaXN0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxp -c3RPZkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVybExpc3REYXRhVHlwZSIgdHlwZT0idG5zOkVuZHBv -aW50VXJsTGlzdERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbmRwb2ludFVybExpc3REYXRhVHlwZSIgdHlw -ZT0idG5zOkxpc3RPZkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94 -czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJOZXR3b3JrR3JvdXBEYXRhVHlw -ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVXJp -IiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJOZXR3b3JrUGF0aHMiIHR5cGU9InRuczpMaXN0T2ZFbmRwb2lu -dFVybExpc3REYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJO -ZXR3b3JrR3JvdXBEYXRhVHlwZSIgdHlwZT0idG5zOk5ldHdvcmtHcm91cERhdGFUeXBlIiAvPg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZOZXR3b3JrR3JvdXBEYXRhVHlwZSI+DQog -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmV0d29ya0dyb3VwRGF0 -YVR5cGUiIHR5cGU9InRuczpOZXR3b3JrR3JvdXBEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhP -Y2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTmV0d29ya0dy -b3VwRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZOZXR3b3JrR3JvdXBEYXRhVHlwZSIgbmlsbGFi -bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2FtcGxp -bmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlNhbXBsaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUNvdW50 -IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iTWF4TW9uaXRvcmVkSXRlbUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzYWJsZWRNb25pdG9yZWRJ -dGVtQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94 -czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2Ft -cGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTYW1wbGluZ0ludGVy -dmFsRGlhZ25vc3RpY3NEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlz -dE9mU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5j -ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNhbXBsaW5nSW50ZXJ2YWxEaWFnbm9zdGljc0Rh -dGFUeXBlIiB0eXBlPSJ0bnM6U2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiIG1p -bk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -Ikxpc3RPZlNhbXBsaW5nSW50ZXJ2YWxEaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6TGlz -dE9mU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48 -L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlcnZlckRpYWdub3N0aWNz -U3VtbWFyeURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJTZXJ2ZXJWaWV3Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50U2Vzc2lvbkNvdW50IiB0eXBlPSJ4 -czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -Q3VtdWxhdGVkU2Vzc2lvbkNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlSZWplY3RlZFNlc3Npb25Db3Vu -dCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlJlamVjdGVkU2Vzc2lvbkNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvblRpbWVvdXRDb3Vu -dCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlNlc3Npb25BYm9ydENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudFN1YnNjcmlwdGlvbkNv -dW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iQ3VtdWxhdGVkU3Vic2NyaXB0aW9uQ291bnQiIHR5cGU9InhzOnVuc2lnbmVk -SW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoaW5n -SW50ZXJ2YWxDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5UmVqZWN0ZWRSZXF1ZXN0c0NvdW50IiB0eXBl -PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iUmVqZWN0ZWRSZXF1ZXN0c0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz -PSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9IlNlcnZlckRpYWdub3N0aWNzU3VtbWFyeURhdGFUeXBlIiB0eXBlPSJ0bnM6 -U2VydmVyRGlhZ25vc3RpY3NTdW1tYXJ5RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9IlNlcnZlclN0YXR1c0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJTdGFydFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50VGltZSIgdHlwZT0ieHM6ZGF0 -ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXRlIiB0 -eXBlPSJ0bnM6U2VydmVyU3RhdGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IkJ1aWxkSW5mbyIgdHlwZT0idG5zOkJ1aWxkSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY29uZHNUaWxsU2h1dGRv -d24iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJTaHV0ZG93blJlYXNvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJTdGF0dXNEYXRhVHlwZSIgdHlw -ZT0idG5zOlNlcnZlclN0YXR1c0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJTZXNzaW9uRGlhZ25vc3RpY3NEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbklkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uTmFt -ZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50RGVzY3JpcHRpb24iIHR5cGU9InRuczpBcHBsaWNh -dGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVy -bCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJB -Y3R1YWxTZXNzaW9uVGltZW91dCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhSZXNwb25zZU1lc3NhZ2VTaXplIiB0eXBlPSJ4czp1 -bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xp -ZW50Q29ubmVjdGlvblRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRMYXN0Q29udGFjdFRpbWUiIHR5cGU9InhzOmRh -dGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50 -U3Vic2NyaXB0aW9uc0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudE1vbml0b3JlZEl0ZW1zQ291bnQiIHR5 -cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJDdXJyZW50UHVibGlzaFJlcXVlc3RzSW5RdWV1ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRvdGFsUmVxdWVzdENv -dW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVuYXV0aG9yaXplZFJlcXVl -c3RDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlJlYWRDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5 -cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJIaXN0b3J5UmVhZENvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IldyaXRlQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVVw -ZGF0ZUNvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNhbGxDb3VudCIg -dHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVNb25pdG9yZWRJdGVtc0Nv -dW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmeU1vbml0b3JlZEl0 -ZW1zQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0TW9uaXRvcmlu -Z01vZGVDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRUcmlnZ2Vy -aW5nQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlTW9uaXRv -cmVkSXRlbXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVT -dWJzY3JpcHRpb25Db3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb2Rp -ZnlTdWJzY3JpcHRpb25Db3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJT -ZXRQdWJsaXNoaW5nTW9kZUNvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlB1Ymxpc2hDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXB1Ymxp -c2hDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2ZlclN1YnNj -cmlwdGlvbnNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVT -dWJzY3JpcHRpb25zQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWRk -Tm9kZXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRSZWZlcmVu -Y2VzQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlTm9kZXND -b3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVSZWZlcmVuY2Vz -Q291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlQ291bnQiIHR5 -cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlTmV4dENvdW50IiB0eXBlPSJ0 -bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRz -Q291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlGaXJzdENvdW50 -IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5TmV4dENvdW50IiB0eXBl -PSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyTm9kZXNDb3VudCIgdHlwZT0i -dG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbnJlZ2lzdGVyTm9kZXNDb3VudCIgdHlwZT0i -dG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTZXNzaW9uRGlh -Z25vc3RpY3NEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU2Vz -c2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlNlc3Npb25EaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U2Vzc2lv -bkRpYWdub3N0aWNzRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlNlc3Npb25EaWFnbm9zdGljc0RhdGFUeXBl -IiB0eXBlPSJ0bnM6TGlzdE9mU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIG5pbGxhYmxlPSJ0 -cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlc3Npb25TZWN1 -cml0eURpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlNlc3Npb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50VXNlcklkT2ZT -ZXNzaW9uIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRVc2VySWRIaXN0b3J5IiB0eXBlPSJ1YTpM -aXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJBdXRoZW50aWNhdGlvbk1lY2hhbmlzbSIgdHlwZT0ieHM6c3RyaW5nIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -RW5jb2RpbmciIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zcG9ydFByb3RvY29sIiB0eXBlPSJ4czpz -dHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVBvbGljeVVyaSIg -dHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50Q2VydGlmaWNhdGUiIHR5cGU9InhzOmJhc2U2NEJpbmFy -eSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uU2VjdXJpdHlE -aWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U2Vzc2lvblNlY3VyaXR5RGlhZ25vc3RpY3NE -YXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU2Vzc2lvblNlY3Vy -aXR5RGlhZ25vc3RpY3NEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iU2Vzc2lvblNlY3VyaXR5RGlhZ25vc3RpY3NEYXRhVHlwZSIgdHlwZT0idG5z -OlNlc3Npb25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2Nj -dXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog -IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlNlc3Npb25TZWN1 -cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZTZXNzaW9uU2VjdXJpdHlE -aWFnbm9zdGljc0RhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJTZXJ2aWNlQ291bnRlckRhdGFUeXBlIj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUb3RhbENvdW50IiB0eXBlPSJ4czp1bnNp -Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXJyb3JD -b3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2aWNl -Q291bnRlckRhdGFUeXBlIiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCg0K -ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU3RhdHVzUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2Rl -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5m -byIgdHlwZT0idWE6RGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iU3RhdHVzUmVzdWx0IiB0eXBlPSJ0bnM6U3RhdHVzUmVzdWx0IiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTdGF0dXNSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5j -ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c1Jlc3VsdCIgdHlwZT0idG5zOlN0YXR1 -c1Jlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iTGlzdE9mU3RhdHVzUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mU3RhdHVzUmVz -dWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJTdWJzY3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uSWQiIHR5cGU9InVhOk5vZGVJZCIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1 -YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJpb3JpdHkiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGluZ0ludGVydmFs -IiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9Ik1heEtlZXBBbGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4TGlmZXRpbWVDb3VudCIgdHlwZT0ieHM6 -dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1h -eE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGluZ0VuYWJsZWQiIHR5cGU9 -InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1v -ZGlmeUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iRW5hYmxlQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNhYmxlQ291bnQiIHR5cGU9 -InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJSZXB1Ymxpc2hSZXF1ZXN0Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXB1Ymxpc2hNZXNzYWdlUmVxdWVzdENv -dW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVwdWJsaXNoTWVzc2FnZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNmZXJSZXF1ZXN0 -Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJUcmFuc2ZlcnJlZFRvQWx0Q2xpZW50Q291bnQiIHR5cGU9InhzOnVuc2ln -bmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2Zl -cnJlZFRvU2FtZUNsaWVudENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaFJlcXVlc3RDb3VudCIgdHlwZT0i -eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkRhdGFDaGFuZ2VOb3RpZmljYXRpb25zQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudE5vdGlmaWNhdGlvbnND -b3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9Ik5vdGlmaWNhdGlvbnNDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1p -bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkxhdGVQdWJsaXNoUmVxdWVz -dENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iQ3VycmVudEtlZXBBbGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZElu -dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudExpZmV0 -aW1lQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJVbmFja25vd2xlZGdlZE1lc3NhZ2VDb3VudCIgdHlwZT0ieHM6dW5z -aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2Nh -cmRlZE1lc3NhZ2VDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1Db3VudCIgdHlwZT0ieHM6dW5z -aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2Fi -bGVkTW9uaXRvcmVkSXRlbUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ1F1ZXVlT3ZlcmZsb3dDb3Vu -dCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9Ik5leHRTZXF1ZW5jZU51bWJlciIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50UXVldWVPdmVyRmxvd0Nv -dW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlw -dGlvbkRpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTdWJzY3JpcHRpb25EaWFnbm9zdGlj -c0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTdWJzY3JpcHRp -b25EaWFnbm9zdGljc0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJTdWJzY3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U3Vi -c2NyaXB0aW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu -Ym91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU3Vic2NyaXB0aW9uRGlhZ25v -c3RpY3NEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlN1YnNjcmlwdGlvbkRpYWdub3N0aWNzRGF0 -YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUg -IG5hbWU9Ik1vZGVsQ2hhbmdlU3RydWN0dXJlVmVyYk1hc2siPg0KICAgIDx4czpyZXN0cmljdGlv -biBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb2RlQWRk -ZWRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9kZURlbGV0ZWRfMiIgLz4N -CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVmZXJlbmNlQWRkZWRfNCIgLz4NCiAgICAg -IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVmZXJlbmNlRGVsZXRlZF84IiAvPg0KICAgICAgPHhz -OmVudW1lcmF0aW9uIHZhbHVlPSJEYXRhVHlwZUNoYW5nZWRfMTYiIC8+DQogICAgPC94czpyZXN0 -cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RlbENo -YW5nZVN0cnVjdHVyZVZlcmJNYXNrIiB0eXBlPSJ0bnM6TW9kZWxDaGFuZ2VTdHJ1Y3R1cmVWZXJi -TWFzayIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVE -YXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWZm -ZWN0ZWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFmZmVjdGVkVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -VmVyYiIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpz -ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kZWxD -aGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgdHlwZT0idG5zOk1vZGVsQ2hhbmdlU3RydWN0dXJlRGF0 -YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk1vZGVsQ2hhbmdlU3Ry -dWN0dXJlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9Ik1vZGVsQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIHR5cGU9InRuczpNb2RlbENoYW5nZVN0 -cnVjdHVyZURhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZNb2RlbENoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiB0 -eXBlPSJ0bnM6TGlzdE9mTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgbmlsbGFibGU9InRy -dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2VtYW50aWNDaGFu -Z2VTdHJ1Y3R1cmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iQWZmZWN0ZWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFmZmVjdGVkVHlwZSIgdHlwZT0i -dWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNlbWFudGlj -Q2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIHR5cGU9InRuczpTZW1hbnRpY0NoYW5nZVN0cnVjdHVy -ZURhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTZW1hbnRpY0No -YW5nZVN0cnVjdHVyZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJTZW1hbnRpY0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiB0eXBlPSJ0bnM6U2Vt -YW50aWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu -Ym91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU2VtYW50aWNDaGFuZ2VTdHJ1 -Y3R1cmVEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlNlbWFudGljQ2hhbmdlU3RydWN0dXJlRGF0 -YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9IlJhbmdlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJMb3ciIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iSGlnaCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94 -czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmFu -Z2UiIHR5cGU9InRuczpSYW5nZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRVVJbmZv -cm1hdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFt -ZXNwYWNlVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbml0SWQiIHR5cGU9InhzOmludCIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzcGxheU5hbWUiIHR5cGU9InVh -OkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFVUluZm9ybWF0aW9uIiB0eXBlPSJ0 -bnM6RVVJbmZvcm1hdGlvbiIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iQXhpc1NjYWxl -RW51bWVyYXRpb24iPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAg -ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJMaW5lYXJfMCIgLz4NCiAgICAgIDx4czplbnVtZXJh -dGlvbiB2YWx1ZT0iTG9nXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkxuXzIi -IC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJBeGlzU2NhbGVFbnVtZXJhdGlvbiIgdHlwZT0idG5zOkF4aXNTY2FsZUVudW1l -cmF0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDb21wbGV4TnVtYmVyVHlwZSI+ -DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhbCIgdHlwZT0i -eHM6ZmxvYXQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkltYWdp -bmFyeSIgdHlwZT0ieHM6ZmxvYXQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNl -Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb21wbGV4TnVtYmVy -VHlwZSIgdHlwZT0idG5zOkNvbXBsZXhOdW1iZXJUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJEb3VibGVDb21wbGV4TnVtYmVyVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbWFnaW5hcnkiIHR5cGU9InhzOmRvdWJsZSIg -bWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9IkRvdWJsZUNvbXBsZXhOdW1iZXJUeXBlIiB0eXBlPSJ0bnM6 -RG91YmxlQ29tcGxleE51bWJlclR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkF4 -aXNJbmZvcm1hdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iRW5naW5lZXJpbmdVbml0cyIgdHlwZT0idG5zOkVVSW5mb3JtYXRpb24iIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFVVJhbmdlIiB0 -eXBlPSJ0bnM6UmFuZ2UiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJUaXRsZSIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkF4aXNTY2Fs -ZVR5cGUiIHR5cGU9InRuczpBeGlzU2NhbGVFbnVtZXJhdGlvbiIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXhpc1N0ZXBzIiB0eXBlPSJ1YTpMaXN0T2ZEb3VibGUi -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg -PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXhpc0luZm9ybWF0aW9uIiB0 -eXBlPSJ0bnM6QXhpc0luZm9ybWF0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJY -VlR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlgiIHR5 -cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -VmFsdWUiIHR5cGU9InhzOmZsb2F0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iWFZUeXBlIiB0eXBl -PSJ0bnM6WFZUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJQcm9ncmFtRGlhZ25v -c3RpY0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJDcmVhdGVTZXNzaW9uSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZUNsaWVudE5hbWUiIHR5 -cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9Ikludm9jYXRpb25DcmVhdGlvblRpbWUiIHR5cGU9InhzOmRhdGVUaW1l -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0VHJhbnNpdGlv -blRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJMYXN0TWV0aG9kQ2FsbCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1ldGhvZFNl -c3Npb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1ldGhvZElucHV0QXJndW1lbnRzIiB0eXBl -PSJ0bnM6TGlzdE9mQXJndW1lbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kT3V0cHV0QXJndW1lbnRzIiB0eXBlPSJ0 -bnM6TGlzdE9mQXJndW1lbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kQ2FsbFRpbWUiIHR5cGU9InhzOmRhdGVUaW1l -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kUmV0 -dXJuU3RhdHVzIiB0eXBlPSJ0bnM6U3RhdHVzUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9IlByb2dyYW1EaWFnbm9zdGljRGF0YVR5cGUiIHR5cGU9InRuczpQcm9n -cmFtRGlhZ25vc3RpY0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBbm5v -dGF0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXNz -YWdlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQW5ub3Rh -dGlvblRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpz -ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQW5ub3Rh -dGlvbiIgdHlwZT0idG5zOkFubm90YXRpb24iIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9 -IkV4Y2VwdGlvbkRldmlhdGlvbkZvcm1hdCI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9Inhz -OnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFic29sdXRlVmFsdWVfMCIg -Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mVmFsdWVfMSIgLz4NCiAg -ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mUmFuZ2VfMiIgLz4NCiAgICAgIDx4 -czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mRVVSYW5nZV8zIiAvPg0KICAgICAgPHhzOmVu -dW1lcmF0aW9uIHZhbHVlPSJVbmtub3duXzQiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAg -PC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFeGNlcHRpb25EZXZpYXRpb25G -b3JtYXQiIHR5cGU9InRuczpFeGNlcHRpb25EZXZpYXRpb25Gb3JtYXQiIC8+DQoNCjwveHM6c2No -ZW1hPg== - - - - NamespaceUri - A URI that uniquely identifies the dictionary. - - i=68 - i=8252 - - - http://opcfoundation.org/UA/2008/02/Types.xsd - - - - TrustListDataType - - i=69 - i=8252 - - - //xs:element[@name='TrustListDataType'] - - - - Argument - - i=69 - i=8252 - - - //xs:element[@name='Argument'] - - - - EnumValueType - - i=69 - i=8252 - - - //xs:element[@name='EnumValueType'] - - - - OptionSet - - i=69 - i=8252 - - - //xs:element[@name='OptionSet'] - - - - Union - - i=69 - i=8252 - - - //xs:element[@name='Union'] - - - - 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'] - - - - KerberosIdentityToken - - i=69 - i=8252 - - - //xs:element[@name='KerberosIdentityToken'] - - - - 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'] - - - - SupportedProfile - - i=69 - i=8252 - - - //xs:element[@name='SupportedProfile'] - - - - SoftwareCertificate - - i=69 - i=8252 - - - //xs:element[@name='SoftwareCertificate'] - - - - 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'] - - - - Annotation - - i=69 - i=8252 - - - //xs:element[@name='Annotation'] - - - - 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 - - - - Opc.Ua - - i=7619 - i=12681 - i=7650 - i=7656 - i=12767 - i=12770 - 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=12510 - i=7683 - i=7728 - i=7731 - i=7734 - i=7737 - i=12718 - i=12721 - i=7686 - i=7689 - i=7695 - 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=8244 - i=93 - i=72 - - - PG9wYzpUeXBlRGljdGlvbmFyeQ0KICB4bWxuczpvcGM9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9y -Zy9CaW5hcnlTY2hlbWEvIg0KICB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1M -U2NoZW1hLWluc3RhbmNlIg0KICB4bWxuczp1YT0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VB -LyINCiAgeG1sbnM6dG5zPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvIg0KICBEZWZhdWx0 -Qnl0ZU9yZGVyPSJMaXR0bGVFbmRpYW4iDQogIFRhcmdldE5hbWVzcGFjZT0iaHR0cDovL29wY2Zv -dW5kYXRpb24ub3JnL1VBLyINCj4NCiAgPCEtLSBUaGlzIEZpbGUgd2FzIGdlbmVyYXRlZCBvbiAy -MDE1LTA4LTE4IGFuZCBzdXBwb3J0cyB0aGUgc3BlY2lmaWNhdGlvbnMgc3VwcG9ydGVkIGJ5IHZl -cnNpb24gMS4xLjMzNS4xIG9mIHRoZSBPUEMgVUEgZGVsaXZlcmFibGVzLiAtLT4NCg0KICA8b3Bj -OkltcG9ydCBOYW1lc3BhY2U9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9CaW5hcnlTY2hlbWEv -IiAvPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iWG1sRWxlbWVudCI+DQogICAgPG9w -YzpEb2N1bWVudGF0aW9uPkFuIFhNTCBlbGVtZW50IGVuY29kZWQgYXMgYSBVVEYtOCBzdHJpbmcu -PC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxlbmd0aCIgVHlwZU5h -bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0i -b3BjOkNoYXIiIExlbmd0aEZpZWxkPSJMZW5ndGgiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl -Pg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iTm9kZUlkVHlwZSIgTGVuZ3RoSW5CaXRz -PSI2Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHBvc3NpYmxlIGVuY29kaW5ncyBmb3Ig -YSBOb2RlSWQgdmFsdWUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJUd29CeXRlIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJGb3VyQnl0ZSIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iTnVtZXJpYyIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt -ZT0iU3RyaW5nIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJH -dWlkIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCeXRlU3Ry -aW5nIiBWYWx1ZT0iNSIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 -Y3R1cmVkVHlwZSBOYW1lPSJUd29CeXRlTm9kZUlkIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Iklk -ZW50aWZpZXIiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJGb3VyQnl0ZU5vZGVJZCI+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJOYW1lc3BhY2VJbmRleCIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iSWRlbnRpZmllciIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTnVt -ZXJpY05vZGVJZCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lc3BhY2VJbmRleCIgVHlwZU5h -bWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJZGVudGlmaWVyIiBUeXBl -TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT -dHJ1Y3R1cmVkVHlwZSBOYW1lPSJTdHJpbmdOb2RlSWQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -TmFtZXNwYWNlSW5kZXgiIFR5cGVOYW1lPSJvcGM6VUludDE2IiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iSWRlbnRpZmllciIgVHlwZU5hbWU9Im9wYzpDaGFyQXJyYXkiIC8+DQogIDwvb3BjOlN0 -cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iR3VpZE5vZGVJZCI+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lc3BhY2VJbmRleCIgVHlwZU5hbWU9Im9wYzpVSW50 -MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJZGVudGlmaWVyIiBUeXBlTmFtZT0ib3BjOkd1 -aWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg -TmFtZT0iQnl0ZVN0cmluZ05vZGVJZCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lc3BhY2VJ -bmRleCIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJZGVu -dGlmaWVyIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm9kZUlkIj4NCiAgICA8b3BjOkRv -Y3VtZW50YXRpb24+QW4gaWRlbnRpZmllciBmb3IgYSBub2RlIGluIGEgVUEgc2VydmVyIGFkZHJl -c3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJ -ZFR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWRUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UmVzZXJ2ZWQxIiBUeXBlTmFtZT0ib3BjOkJpdCIgTGVuZ3RoPSIyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iVHdvQnl0ZSIgVHlwZU5hbWU9InVhOlR3b0J5dGVOb2RlSWQiIFN3aXRjaEZpZWxk -PSJOb2RlSWRUeXBlIiBTd2l0Y2hWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZv -dXJCeXRlIiBUeXBlTmFtZT0idWE6Rm91ckJ5dGVOb2RlSWQiIFN3aXRjaEZpZWxkPSJOb2RlSWRU -eXBlIiBTd2l0Y2hWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik51bWVyaWMiIFR5 -cGVOYW1lPSJ1YTpOdW1lcmljTm9kZUlkIiBTd2l0Y2hGaWVsZD0iTm9kZUlkVHlwZSIgU3dpdGNo -VmFsdWU9IjIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdHJpbmciIFR5cGVOYW1lPSJ1YTpT -dHJpbmdOb2RlSWQiIFN3aXRjaEZpZWxkPSJOb2RlSWRUeXBlIiBTd2l0Y2hWYWx1ZT0iMyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ikd1aWQiIFR5cGVOYW1lPSJ1YTpHdWlkTm9kZUlkIiBTd2l0 -Y2hGaWVsZD0iTm9kZUlkVHlwZSIgU3dpdGNoVmFsdWU9IjQiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJCeXRlU3RyaW5nIiBUeXBlTmFtZT0idWE6Qnl0ZVN0cmluZ05vZGVJZCIgU3dpdGNoRmll -bGQ9Ik5vZGVJZFR5cGUiIFN3aXRjaFZhbHVlPSI1IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw -ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkV4cGFuZGVkTm9kZUlkIj4NCiAgICA8 -b3BjOkRvY3VtZW50YXRpb24+QW4gaWRlbnRpZmllciBmb3IgYSBub2RlIGluIGEgVUEgc2VydmVy -IGFkZHJlc3Mgc3BhY2UgcXVhbGlmaWVkIHdpdGggYSBjb21wbGV0ZSBuYW1lc3BhY2Ugc3RyaW5n -Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWRUeXBlIiBU -eXBlTmFtZT0idWE6Tm9kZUlkVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlcklu -ZGV4U3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -Ik5hbWVzcGFjZVVSSVNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJUd29CeXRlIiBUeXBlTmFtZT0idWE6VHdvQnl0ZU5vZGVJZCIgU3dpdGNoRmll -bGQ9Ik5vZGVJZFR5cGUiIFN3aXRjaFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Rm91ckJ5dGUiIFR5cGVOYW1lPSJ1YTpGb3VyQnl0ZU5vZGVJZCIgU3dpdGNoRmllbGQ9Ik5vZGVJ -ZFR5cGUiIFN3aXRjaFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTnVtZXJpYyIg -VHlwZU5hbWU9InVhOk51bWVyaWNOb2RlSWQiIFN3aXRjaEZpZWxkPSJOb2RlSWRUeXBlIiBTd2l0 -Y2hWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0cmluZyIgVHlwZU5hbWU9InVh -OlN0cmluZ05vZGVJZCIgU3dpdGNoRmllbGQ9Ik5vZGVJZFR5cGUiIFN3aXRjaFZhbHVlPSIzIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iR3VpZCIgVHlwZU5hbWU9InVhOkd1aWROb2RlSWQiIFN3 -aXRjaEZpZWxkPSJOb2RlSWRUeXBlIiBTd2l0Y2hWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkJ5dGVTdHJpbmciIFR5cGVOYW1lPSJ1YTpCeXRlU3RyaW5nTm9kZUlkIiBTd2l0Y2hG -aWVsZD0iTm9kZUlkVHlwZSIgU3dpdGNoVmFsdWU9IjUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJOYW1lc3BhY2VVUkkiIFR5cGVOYW1lPSJvcGM6Q2hhckFycmF5IiBTd2l0Y2hGaWVsZD0iTmFt -ZXNwYWNlVVJJU3BlY2lmaWVkIi8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJJbmRleCIg -VHlwZU5hbWU9Im9wYzpVSW50MzIiIFN3aXRjaEZpZWxkPSJTZXJ2ZXJJbmRleFNwZWNpZmllZCIv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iU3Rh -dHVzQ29kZSIgTGVuZ3RoSW5CaXRzPSIzMiIgQnl0ZU9yZGVyU2lnbmlmaWNhbnQ9InRydWUiPg0K -ICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIDMyLWJpdCBzdGF0dXMgY29kZSB2YWx1ZS48L29wYzpE -b2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iRGlhZ25vc3RpY0luZm8iPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHJlY3Vy -c2l2ZSBzdHJ1Y3R1cmUgY29udGFpbmluZyBkaWFnbm9zdGljIGluZm9ybWF0aW9uIGFzc29jaWF0 -ZWQgd2l0aCBhIHN0YXR1cyBjb2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJTeW1ib2xpY0lkU3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5hbWVzcGFjZVVSSVNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMb2NhbGVTcGVjaWZpZWQiIFR5cGVOYW1lPSJvcGM6 -Qml0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTG9jYWxpemVkVGV4dFNwZWNpZmllZCIgVHlw -ZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGRpdGlvbmFsSW5mb1Nw -ZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbm5l -clN0YXR1c0NvZGVTcGVjaWZpZWQiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iSW5uZXJEaWFnbm9zdGljSW5mb1NwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNlcnZlZDEiIFR5cGVOYW1lPSJvcGM6Qml0IiBM -ZW5ndGg9IjIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTeW1ib2xpY0lkIiBUeXBlTmFtZT0i -b3BjOkludDMyIiBTd2l0Y2hGaWVsZD0iU3ltYm9saWNJZFNwZWNpZmllZCIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5hbWVzcGFjZVVSSSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgU3dpdGNoRmll -bGQ9Ik5hbWVzcGFjZVVSSVNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2Fs -ZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgU3dpdGNoRmllbGQ9IkxvY2FsZVNwZWNpZmllZCIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsaXplZFRleHQiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IFN3aXRjaEZpZWxkPSJMb2NhbGl6ZWRUZXh0U3BlY2lmaWVkIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iQWRkaXRpb25hbEluZm8iIFR5cGVOYW1lPSJvcGM6Q2hhckFycmF5IiBTd2l0Y2hGaWVs -ZD0iQWRkaXRpb25hbEluZm9TcGVjaWZpZWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbm5l -clN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBTd2l0Y2hGaWVsZD0iSW5uZXJT -dGF0dXNDb2RlU3BlY2lmaWVkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5uZXJEaWFnbm9z -dGljSW5mbyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBTd2l0Y2hGaWVsZD0iSW5uZXJE -aWFnbm9zdGljSW5mb1NwZWNpZmllZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg -PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJRdWFsaWZpZWROYW1lIj4NCiAgICA8b3BjOkRvY3Vt -ZW50YXRpb24+QSBzdHJpbmcgcXVhbGlmaWVkIHdpdGggYSBuYW1lc3BhY2UgaW5kZXguPC9vcGM6 -RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWVzcGFjZUluZGV4IiBUeXBl -TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmFtZSIgVHlwZU5hbWU9 -Im9wYzpDaGFyQXJyYXkiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry -dWN0dXJlZFR5cGUgTmFtZT0iTG9jYWxpemVkVGV4dCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u -PkEgc3RyaW5nIHF1YWxpZmllZCB3aXRoIGEgbmFtZXNwYWNlIGluZGV4Ljwvb3BjOkRvY3VtZW50 -YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMb2NhbGVTcGVjaWZpZWQiIFR5cGVOYW1lPSJv -cGM6Qml0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGV4dFNwZWNpZmllZCIgVHlwZU5hbWU9 -Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNlcnZlZDEiIFR5cGVOYW1lPSJv -cGM6Qml0IiBMZW5ndGg9IjYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMb2NhbGUiIFR5cGVO -YW1lPSJvcGM6Q2hhckFycmF5IiBTd2l0Y2hGaWVsZD0iTG9jYWxlU3BlY2lmaWVkIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iVGV4dCIgVHlwZU5hbWU9Im9wYzpDaGFyQXJyYXkiIFN3aXRjaEZp -ZWxkPSJUZXh0U3BlY2lmaWVkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -OlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFWYWx1ZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u -PkEgdmFsdWUgd2l0aCBhbiBhc3NvY2lhdGVkIHRpbWVzdGFtcCwgYW5kIHF1YWxpdHkuPC9vcGM6 -RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlU3BlY2lmaWVkIiBUeXBl -TmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGVTcGVjaWZp -ZWQiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU291cmNlVGlt -ZXN0YW1wU3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlNvdXJjZVBpY29zZWNvbmRzU3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclRpbWVzdGFtcFNwZWNpZmllZCIgVHlwZU5hbWU9Im9w -YzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJQaWNvc2Vjb25kc1NwZWNpZmll -ZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNlcnZlZDEi -IFR5cGVOYW1lPSJvcGM6Qml0IiBMZW5ndGg9IjIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJW -YWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIFN3aXRjaEZpZWxkPSJWYWx1ZVNwZWNpZmllZCIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXND -b2RlIiBTd2l0Y2hGaWVsZD0iU3RhdHVzQ29kZVNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlNvdXJjZVRpbWVzdGFtcCIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgU3dpdGNoRmll -bGQ9IlNvdXJjZVRpbWVzdGFtcFNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNv -dXJjZVBpY29zZWNvbmRzIiBUeXBlTmFtZT0ib3BjOlVJbnQxNiIgU3dpdGNoRmllbGQ9IlNvdXJj -ZVBpY29zZWNvbmRzU3BlY2lmaWVkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyVGlt -ZXN0YW1wIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiBTd2l0Y2hGaWVsZD0iU2VydmVyVGltZXN0 -YW1wU3BlY2lmaWVkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyUGljb3NlY29uZHMi -IFR5cGVOYW1lPSJvcGM6VUludDE2IiBTd2l0Y2hGaWVsZD0iU2VydmVyUGljb3NlY29uZHNTcGVj -aWZpZWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iRXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBzZXJp -YWxpemVkIG9iamVjdCBwcmVmaXhlZCB3aXRoIGl0cyBkYXRhIHR5cGUgaWRlbnRpZmllci48L29w -YzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHlwZUlkU3BlY2lmaWVkIiBU -eXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJpbmFyeUJvZHkiIFR5 -cGVOYW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iWG1sQm9keSIgVHlwZU5h -bWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNlcnZlZDEiIFR5cGVOYW1l -PSJvcGM6Qml0IiBMZW5ndGg9IjUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUeXBlSWQiIFR5 -cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgU3dpdGNoRmllbGQ9IlR5cGVJZFNwZWNpZmllZCIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJvZHlMZW5ndGgiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCb2R5IiBUeXBlTmFtZT0ib3BjOkJ5dGUiIExlbmd0 -aEZpZWxkPSJCb2R5TGVuZ3RoIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -OlN0cnVjdHVyZWRUeXBlIE5hbWU9IlZhcmlhbnQiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5B -IHVuaW9uIG9mIHNldmVyYWwgdHlwZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlZhcmlhbnRUeXBlIiBUeXBlTmFtZT0ib3BjOkJpdCIgTGVuZ3RoPSI2IiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iQXJyYXlEaW1lbnNpb25zU3BlY2lmaWVkIiBUeXBlTmFtZT0i -b3BjOkJpdCIgTGVuZ3RoPSIxIi8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBcnJheUxlbmd0aFNw -ZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIExlbmd0aD0iMSIvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iQXJyYXlMZW5ndGgiIFR5cGVOYW1lPSJvcGM6SW50MzIiIFN3aXRjaEZpZWxkPSJBcnJh -eUxlbmd0aFNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJvb2xlYW4iIFR5cGVO -YW1lPSJvcGM6Qm9vbGVhbiIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0i -VmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU0J5 -dGUiIFR5cGVOYW1lPSJvcGM6U0J5dGUiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNo -RmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkJ5dGUiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBT -d2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iSW50MTYiIFR5cGVOYW1lPSJvcGM6SW50MTYiIExlbmd0aEZpZWxkPSJBcnJheUxl -bmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iNCIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlVJbnQxNiIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIExlbmd0aEZpZWxk -PSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iNSIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkludDMyIiBUeXBlTmFtZT0ib3BjOkludDMyIiBMZW5n -dGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFs -dWU9IjYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVSW50MzIiIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIg -U3dpdGNoVmFsdWU9IjciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbnQ2NCIgVHlwZU5hbWU9 -Im9wYzpJbnQ2NCIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFu -dFR5cGUiIFN3aXRjaFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVUludDY0IiBU -eXBlTmFtZT0ib3BjOlVJbnQ2NCIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVs -ZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSI5IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -RmxvYXQiIFR5cGVOYW1lPSJvcGM6RmxvYXQiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dp -dGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMTAiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJEb3VibGUiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiBMZW5ndGhGaWVsZD0iQXJyYXlM -ZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjExIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iU3RyaW5nIiBUeXBlTmFtZT0ib3BjOkNoYXJBcnJheSIgTGVuZ3Ro -RmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVl -PSIxMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGVUaW1lIiBUeXBlTmFtZT0ib3BjOkRh -dGVUaW1lIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlw -ZSIgU3dpdGNoVmFsdWU9IjEzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iR3VpZCIgVHlwZU5h -bWU9Im9wYzpHdWlkIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJp -YW50VHlwZSIgU3dpdGNoVmFsdWU9IjE0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnl0ZVN0 -cmluZyIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgi -IFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjE1IiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iWG1sRWxlbWVudCIgVHlwZU5hbWU9InVhOlhtbEVsZW1lbnQiIExlbmd0aEZp -ZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0i -MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQi -IExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0 -Y2hWYWx1ZT0iMTciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFeHBhbmRlZE5vZGVJZCIgVHlw -ZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRj -aEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjE4IiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJB -cnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMTkiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJRdWFsaWZpZWROYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlm -aWVkTmFtZSIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5 -cGUiIFN3aXRjaFZhbHVlPSIyMCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsaXplZFRl -eHQiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgi -IFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjIxIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iRXh0ZW5zaW9uT2JqZWN0IiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0 -IiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dp -dGNoVmFsdWU9IjIyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVZhbHVlIiBUeXBlTmFt -ZT0idWE6RGF0YVZhbHVlIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJW -YXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjIzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFy -aWFudCIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dp -dGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMjQiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJEaWFnbm9zdGljSW5mbyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5n -dGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFs -dWU9IjI1IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkFycmF5RGltZW5zaW9ucyIgVHlw -ZU5hbWU9Im9wYzpJbnQzMiIgU3dpdGNoRmllbGQ9IkFycmF5RGltZW5zaW9uc1NwZWNpZmllZCIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpJ -bnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIFN3aXRjaEZpZWxkPSJBcnJh -eURpbWVuc2lvbnNTcGVjaWZpZWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv -cGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iTmFtaW5nUnVsZVR5cGUiIExlbmd0aEluQml0cz0iMzIi -Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik1hbmRhdG9yeSIgVmFsdWU9IjEiIC8+ -DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iT3B0aW9uYWwiIFZhbHVlPSIyIiAvPg0K -ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkNvbnN0cmFpbnQiIFZhbHVlPSIzIiAvPg0K -ICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCiAgICANCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0i -SW1hZ2VCTVAiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBpbWFnZSBlbmNvZGVkIGluIEJN -UCBmb3JtYXQuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8 -b3BjOk9wYXF1ZVR5cGUgTmFtZT0iSW1hZ2VHSUYiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5B -biBpbWFnZSBlbmNvZGVkIGluIEdJRiBmb3JtYXQuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9v -cGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iSW1hZ2VKUEciPg0KICAg -IDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBpbWFnZSBlbmNvZGVkIGluIEpQRUcgZm9ybWF0Ljwvb3Bj -OkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBl -IE5hbWU9IkltYWdlUE5HIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QW4gaW1hZ2UgZW5jb2Rl -ZCBpbiBQTkcgZm9ybWF0Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+ -DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkJpdEZpZWxkTWFza0RhdGFUeXBlIj4NCiAgICA8 -b3BjOkRvY3VtZW50YXRpb24+QSBtYXNrIG9mIDMyIGJpdHMgdGhhdCBjYW4gYmUgdXBkYXRlZCBp -bmRpdmlkdWFsbHkgYnkgdXNpbmcgdGhlIHRvcCAzMiBiaXRzIGFzIGEgbWFzay48L29wYzpEb2N1 -bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUg -TmFtZT0iT3BlbkZpbGVNb2RlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0 -ZWRWYWx1ZSBOYW1lPSJSZWFkIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJXcml0ZSIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt -ZT0iRXJhc2VFeGlzdGluZyIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iQXBwZW5kIiBWYWx1ZT0iOCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAg -PG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJUcnVzdExpc3RNYXNrcyIgTGVuZ3RoSW5CaXRzPSIz -MiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQog -ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVHJ1c3RlZENlcnRpZmljYXRlcyIgVmFsdWU9 -IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVHJ1c3RlZENybHMiIFZhbHVl -PSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Iklzc3VlckNlcnRpZmljYXRl -cyIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNzdWVyQ3Js -cyIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQWxsIiBWYWx1 -ZT0iMTUiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iVHJ1c3RMaXN0RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3BlY2lmaWVkTGlzdHMiIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlRydXN0ZWRDZXJ0aWZpY2F0ZXMiIFR5 -cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcnVzdGVkQ2VydGlm -aWNhdGVzIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mVHJ1c3Rl -ZENlcnRpZmljYXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZUcnVzdGVkQ3JscyIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRydXN0ZWRDcmxz -IiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mVHJ1c3RlZENybHMi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mSXNzdWVyQ2VydGlmaWNhdGVzIiBUeXBlTmFt -ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNzdWVyQ2VydGlmaWNhdGVz -IiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mSXNzdWVyQ2VydGlm -aWNhdGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZklzc3VlckNybHMiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc3N1ZXJDcmxzIiBUeXBlTmFt -ZT0ib3BjOkJ5dGVTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mSXNzdWVyQ3JscyIgLz4NCiAgPC9v -cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJJZFR5cGUi -IExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgdHlwZSBvZiBp -ZGVudGlmaWVyIHVzZWQgaW4gYSBub2RlIGlkLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9w -YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTnVtZXJpYyIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpF -bnVtZXJhdGVkVmFsdWUgTmFtZT0iU3RyaW5nIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1l -cmF0ZWRWYWx1ZSBOYW1lPSJHdWlkIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJPcGFxdWUiIFZhbHVlPSIzIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4N -Cg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9Ik5vZGVDbGFzcyIgTGVuZ3RoSW5CaXRzPSIz -MiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgbWFzayBzcGVjaWZ5aW5nIHRoZSBjbGFzcyBv -ZiB0aGUgbm9kZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9IlVuc3BlY2lmaWVkIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJPYmplY3QiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9IlZhcmlhYmxlIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l -PSJNZXRob2QiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik9i -amVjdFR5cGUiIFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZh -cmlhYmxlVHlwZSIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 -IlJlZmVyZW5jZVR5cGUiIFZhbHVlPSIzMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO -YW1lPSJEYXRhVHlwZSIgVmFsdWU9IjY0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9IlZpZXciIFZhbHVlPSIxMjgiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxv -cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm9kZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj -dCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0cmlidXRlcyB3aGlj -aCBiZWxvbmcgdG8gYWxsIG5vZGVzLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNzIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2Fs -aXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJv -cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5h -bWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlcyIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXMi -IFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlTm9kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2Vz -IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9Ikluc3RhbmNlTm9kZSIgQmFzZVR5cGU9InRuczpOb2RlIj4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNz -IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5h -bWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVk -VGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNj -cmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2Rl -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQz -MiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3Jp -dGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJ0bnM6UmVmZXJl -bmNlTm9kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2VzIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlR5cGVOb2RlIiBCYXNlVHlw -ZT0idG5zOk5vZGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6 -Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v -ZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmll -ZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlz -cGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9k -ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9j -YWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZS -ZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9P -ZlJlZmVyZW5jZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 -dXJlZFR5cGUgTmFtZT0iT2JqZWN0Tm9kZSIgQmFzZVR5cGU9InRuczpJbnN0YW5jZU5vZGUiPg0K -ICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVs -b25nIHRvIG9iamVjdCBub2Rlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xh -c3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3Nl -TmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6 -ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRl -c2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5v -ZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJX -cml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZl -cmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJFdmVudE5vdGlmaWVyIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0 -cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iT2JqZWN0VHlwZU5v -ZGUiIEJhc2VUeXBlPSJ0bnM6VHlwZU5vZGUiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5TcGVj -aWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIG9iamVjdCB0eXBlIG5vZGVzLjwv -b3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1l -PSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgU291cmNlVHlwZT0idG5zOk5v -ZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVh -bGlmaWVkTmFtZSIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRu -czpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1 -YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpO -b2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9w -YzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Tm9PZlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJSZWZlcmVuY2VzIiBUeXBlTmFtZT0idG5zOlJlZmVyZW5jZU5vZGUiIExlbmd0aEZpZWxk -PSJOb09mUmVmZXJlbmNlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5 -cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w -YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJWYXJpYWJsZU5vZGUiIEJhc2VUeXBlPSJ0bnM6SW5zdGFu -Y2VOb2RlIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+U3BlY2lmaWVzIHRoZSBhdHRyaWJ1dGVz -IHdoaWNoIGJlbG9uZyB0byB2YXJpYWJsZSBub2Rlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBl -PSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9 -InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9 -InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1l -PSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNl -VHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVO -YW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0 -bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFt -ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5h -bWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlZhbHVlUmFuayIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6 -VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkFycmF5RGltZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkFjY2Vzc0xldmVsIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJVc2VyQWNjZXNzTGV2ZWwiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik1pbmltdW1TYW1wbGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRv -dWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikhpc3Rvcml6aW5nIiBUeXBlTmFtZT0ib3Bj -OkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl -ZFR5cGUgTmFtZT0iVmFyaWFibGVUeXBlTm9kZSIgQmFzZVR5cGU9InRuczpUeXBlTm9kZSI+DQog -ICAgPG9wYzpEb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBiZWxv -bmcgdG8gdmFyaWFibGUgdHlwZSBub2Rlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6 -Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpO -b2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -QnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpO -b2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpM -b2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0i -dG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJv -cGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9k -ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3Bj -OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRu -czpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJEYXRhVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlZhbHVlUmFuayIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6VUludDMy -IiBMZW5ndGhGaWVsZD0iTm9PZkFycmF5RGltZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IklzQWJzdHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0 -dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWZlcmVuY2VUeXBlTm9k -ZSIgQmFzZVR5cGU9InRuczpUeXBlTm9kZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlNwZWNp -ZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gcmVmZXJlbmNlIHR5cGUgbm9kZXMu -PC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5h -bWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNzIiBTb3VyY2VUeXBlPSJ0bnM6 -Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpR -dWFsaWZpZWROYW1lIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0i -dG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9 -InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5z -Ok5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0i -b3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJOb09mUmVmZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlTm9kZSIgTGVuZ3RoRmll -bGQ9Ik5vT2ZSZWZlcmVuY2VzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNBYnN0cmFjdCIg -VHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3ltbWV0cmlj -IiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbnZlcnNl -TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTWV0aG9kTm9kZSIgQmFzZVR5cGU9 -InRuczpJbnN0YW5jZU5vZGUiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhl -IGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIG1ldGhvZCBub2Rlcy48L29wYzpEb2N1bWVudGF0 -aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBT -b3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIg -VHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNv -dXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUi -IFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4 -dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1h -c2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3Vy -Y2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2Vz -IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNl -cyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5j -ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFeGVjdXRhYmxlIiBUeXBlTmFtZT0ib3BjOkJv -b2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyRXhlY3V0YWJsZSIgVHlwZU5hbWU9 -Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj -dHVyZWRUeXBlIE5hbWU9IlZpZXdOb2RlIiBCYXNlVHlwZT0idG5zOkluc3RhbmNlTm9kZSI+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5 -cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFt -ZT0idG5zOk5vZGVDbGFzcyIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgU291cmNlVHlw -ZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5h -bWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3Vy -Y2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlw -ZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9 -InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVO -YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBl -TmFtZT0idG5zOlJlZmVyZW5jZU5vZGUiIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlcyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbnRhaW5zTm9Mb29wcyIgVHlwZU5hbWU9Im9wYzpCb29s -ZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnROb3RpZmllciIgVHlwZU5hbWU9Im9w -YzpCeXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU -eXBlIE5hbWU9IkRhdGFUeXBlTm9kZSIgQmFzZVR5cGU9InRuczpUeXBlTm9kZSI+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRu -czpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5z -Ok5vZGVDbGFzcyIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgU291cmNlVHlwZT0idG5z -Ok5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVh -OkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBl -PSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9 -Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpO -b2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJv -cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBlTmFtZT0i -dG5zOlJlZmVyZW5jZU5vZGUiIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlcyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAg -PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWZl -cmVuY2VOb2RlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3Vt -ZW50YXRpb24+U3BlY2lmaWVzIGEgcmVmZXJlbmNlIHdoaWNoIGJlbG9uZ3MgdG8gYSBub2RlLjwv -b3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBlSWQi -IFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0ludmVyc2Ui -IFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldElk -IiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl -Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQXJndW1lbnQiIEJhc2VUeXBlPSJ1YTpF -eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBhcmd1bWVudCBmb3Ig -YSBtZXRob2QuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUi -IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5cGUi -IFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZVJhbmsi -IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXJyYXlE -aW1lbnNpb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -QXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZB -cnJheURpbWVuc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlw -ZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog -IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRW51bVZhbHVlVHlwZSIgQmFzZVR5cGU9InVhOkV4 -dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgbWFwcGluZyBiZXR3ZWVu -IGEgdmFsdWUgb2YgYW4gZW51bWVyYXRlZCB0eXBlIGFuZCBhIG5hbWUgYW5kIGRlc2NyaXB0aW9u -Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5h -bWU9Im9wYzpJbnQ2NCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBl -TmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0 -aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJPcHRpb25TZXQiIEJhc2VUeXBlPSJ1 -YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGlzIGFic3RyYWN0 -IFN0cnVjdHVyZWQgRGF0YVR5cGUgaXMgdGhlIGJhc2UgRGF0YVR5cGUgZm9yIGFsbCBEYXRhVHlw -ZXMgcmVwcmVzZW50aW5nIGEgYml0IG1hc2suPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJWYWxpZEJpdHMiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAg -PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVbmlv -biIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u -PlRoaXMgYWJzdHJhY3QgRGF0YVR5cGUgaXMgdGhlIGJhc2UgRGF0YVR5cGUgZm9yIGFsbCB1bmlv -biBEYXRhVHlwZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ -DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9Ik5vcm1hbGl6ZWRTdHJpbmciPg0KICAgIDxvcGM6 -RG9jdW1lbnRhdGlvbj5BIHN0cmluZyBub3JtYWxpemVkIGJhc2VkIG9uIHRoZSBydWxlcyBpbiB0 -aGUgdW5pY29kZSBzcGVjaWZpY2F0aW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9w -YXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkRlY2ltYWxTdHJpbmciPg0KICAg -IDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBhcmJpdHJhdHkgbnVtZXJpYyB2YWx1ZS48L29wYzpEb2N1 -bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1l -PSJEdXJhdGlvblN0cmluZyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgcGVyaW9kIG9mIHRp -bWUgZm9ybWF0dGVkIGFzIGRlZmluZWQgaW4gSVNPIDg2MDEtMjAwMC48L29wYzpEb2N1bWVudGF0 -aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJUaW1l -U3RyaW5nIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSB0aW1lIGZvcm1hdHRlZCBhcyBkZWZp -bmVkIGluIElTTyA4NjAxLTIwMDAuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVl -VHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iRGF0ZVN0cmluZyI+DQogICAgPG9wYzpE -b2N1bWVudGF0aW9uPkEgZGF0ZSBmb3JtYXR0ZWQgYXMgZGVmaW5lZCBpbiBJU08gODYwMS0yMDAw -Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFx -dWVUeXBlIE5hbWU9IkR1cmF0aW9uIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBwZXJpb2Qg -b2YgdGltZSBtZWFzdXJlZCBpbiBtaWxsaXNlY29uZHMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAg -PC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iVXRjVGltZSI+DQog -ICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgZGF0ZS90aW1lIHZhbHVlIHNwZWNpZmllZCBpbiBVbml2 -ZXJzYWwgQ29vcmRpbmF0ZWQgVGltZSAoVVRDKS48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29w -YzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJMb2NhbGVJZCI+DQogICAg -PG9wYzpEb2N1bWVudGF0aW9uPkFuIGlkZW50aWZpZXIgZm9yIGEgdXNlciBsb2NhbGUuPC9vcGM6 -RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU -eXBlIE5hbWU9IlRpbWVab25lRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iT2Zmc2V0IiBUeXBlTmFtZT0ib3BjOkludDE2IiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iRGF5bGlnaHRTYXZpbmdJbk9mZnNldCIgVHlwZU5hbWU9Im9w -YzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5 -cGUgTmFtZT0iSW50ZWdlcklkIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBudW1lcmljIGlk -ZW50aWZpZXIgZm9yIGFuIG9iamVjdC48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFx -dWVUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iQXBwbGljYXRpb25UeXBlIiBM -ZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHR5cGVzIG9mIGFw -cGxpY2F0aW9ucy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9IlNlcnZlciIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt -ZT0iQ2xpZW50IiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJD -bGllbnRBbmRTZXJ2ZXIiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9IkRpc2NvdmVyeVNlcnZlciIgVmFsdWU9IjMiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBl -Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQXBwbGljYXRpb25EZXNjcmlwdGlvbiIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkRl -c2NyaWJlcyBhbiBhcHBsaWNhdGlvbiBhbmQgaG93IHRvIGZpbmQgaXQuPC9vcGM6RG9jdW1lbnRh -dGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFwcGxpY2F0aW9uVXJpIiBUeXBlTmFtZT0ib3Bj -OlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByb2R1Y3RVcmkiIFR5cGVOYW1lPSJv -cGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXBwbGljYXRpb25OYW1lIiBUeXBl -TmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFwcGxpY2F0 -aW9uVHlwZSIgVHlwZU5hbWU9InRuczpBcHBsaWNhdGlvblR5cGUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJHYXRld2F5U2VydmVyVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IkRpc2NvdmVyeVByb2ZpbGVVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5n -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpc2NvdmVyeVVybHMiIFR5cGVOYW1lPSJv -cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNjb3ZlcnlVcmxzIiBUeXBlTmFt -ZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaXNjb3ZlcnlVcmxzIiAvPg0KICA8L29w -YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlcXVlc3RI -ZWFkZXIiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRh -dGlvbj5UaGUgaGVhZGVyIHBhc3NlZCB3aXRoIGV2ZXJ5IHNlcnZlciByZXF1ZXN0Ljwvb3BjOkRv -Y3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdXRoZW50aWNhdGlvblRva2VuIiBU -eXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGltZXN0YW1wIiBU -eXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhh -bmRsZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXR1 -cm5EaWFnbm9zdGljcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJBdWRpdEVudHJ5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iVGltZW91dEhpbnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iQWRkaXRpb25hbEhlYWRlciIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVj -dCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJSZXNwb25zZUhlYWRlciIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg -PG9wYzpEb2N1bWVudGF0aW9uPlRoZSBoZWFkZXIgcGFzc2VkIHdpdGggZXZlcnkgc2VydmVyIHJl -c3BvbnNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lc3Rh -bXAiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 -ZXN0SGFuZGxlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlNlcnZpY2VSZXN1bHQiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iU2VydmljZURpYWdub3N0aWNzIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8i -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU3RyaW5nVGFibGUiIFR5cGVOYW1lPSJvcGM6 -SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdHJpbmdUYWJsZSIgVHlwZU5hbWU9Im9w -YzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mU3RyaW5nVGFibGUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJBZGRpdGlvbmFsSGVhZGVyIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -IlNlcnZpY2VGYXVsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpE -b2N1bWVudGF0aW9uPlRoZSByZXNwb25zZSByZXR1cm5lZCBieSBhbGwgc2VydmljZXMgd2hlbiB0 -aGVyZSBpcyBhIHNlcnZpY2UgbGV2ZWwgZXJyb3IuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVh -ZGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl -IE5hbWU9IkZpbmRTZXJ2ZXJzUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkZpbmRzIHRoZSBzZXJ2ZXJzIGtub3duIHRvIHRoZSBk -aXNjb3Zlcnkgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJOb09mTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVu -Z3RoRmllbGQ9Ik5vT2ZMb2NhbGVJZHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2Vy -dmVyVXJpcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNl -cnZlclVyaXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlclVy -aXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg -TmFtZT0iRmluZFNlcnZlcnNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkZpbmRzIHRoZSBzZXJ2ZXJzIGtub3duIHRvIHRoZSBk -aXNjb3Zlcnkgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iU2VydmVycyIgVHlwZU5hbWU9InRuczpBcHBsaWNhdGlvbkRlc2Ny -aXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlcnMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2VydmVyT25OZXR3b3JrIiBCYXNl -VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlY29yZElk -IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlck5h -bWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY292 -ZXJ5VXJsIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v -T2ZTZXJ2ZXJDYXBhYmlsaXRpZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJTZXJ2ZXJDYXBhYmlsaXRpZXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5n -dGhGaWVsZD0iTm9PZlNlcnZlckNhcGFiaWxpdGllcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJGaW5kU2VydmVyc09uTmV0d29ya1Jl -cXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iU3RhcnRpbmdSZWNvcmRJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhSZWNvcmRzVG9SZXR1cm4iIFR5cGVOYW1lPSJvcGM6 -VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlcnZlckNhcGFiaWxpdHlGaWx0 -ZXIiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJD -YXBhYmlsaXR5RmlsdGVyIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZT -ZXJ2ZXJDYXBhYmlsaXR5RmlsdGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 -b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVzcG9uc2UiIEJh -c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9u -c2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJMYXN0Q291bnRlclJlc2V0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVycyIgVHlwZU5hbWU9InRuczpTZXJ2ZXJPbk5l -dHdvcmsiIExlbmd0aEZpZWxkPSJOb09mU2VydmVycyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkFwcGxpY2F0aW9uSW5zdGFuY2VDZXJ0aWZp -Y2F0ZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgY2VydGlmaWNhdGUgZm9yIGFuIGluc3Rh -bmNlIG9mIGFuIGFwcGxpY2F0aW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1 -ZVR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJNZXNzYWdlU2VjdXJpdHlNb2Rl -IiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHR5cGUgb2Yg -c2VjdXJpdHkgdG8gdXNlIG9uIGEgbWVzc2FnZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkludmFsaWQiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6 -RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVy -YXRlZFZhbHVlIE5hbWU9IlNpZ24iIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh -bHVlIE5hbWU9IlNpZ25BbmRFbmNyeXB0IiBWYWx1ZT0iMyIgLz4NCiAgPC9vcGM6RW51bWVyYXRl -ZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJVc2VyVG9rZW5UeXBlIiBMZW5n -dGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHBvc3NpYmxlIHVzZXIg -dG9rZW4gdHlwZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJBbm9ueW1vdXMiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9IlVzZXJOYW1lIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO -YW1lPSJDZXJ0aWZpY2F0ZSIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iSXNzdWVkVG9rZW4iIFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9IktlcmJlcm9zIiBWYWx1ZT0iNCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVc2VyVG9rZW5Qb2xpY3kiIEJhc2VUeXBlPSJ1 -YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5EZXNjcmliZXMgYSB1 -c2VyIHRva2VuIHRoYXQgY2FuIGJlIHVzZWQgd2l0aCBhIHNlcnZlci48L29wYzpEb2N1bWVudGF0 -aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUG9saWN5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5n -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVG9rZW5UeXBlIiBUeXBlTmFtZT0idG5zOlVzZXJU -b2tlblR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc3N1ZWRUb2tlblR5cGUiIFR5cGVO -YW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNzdWVyRW5kcG9pbnRV -cmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJp -dHlQb2xpY3lVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkVuZHBvaW50RGVzY3JpcHRpb24i -IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5U -aGUgZGVzY3JpcHRpb24gb2YgYSBlbmRwb2ludCB0aGF0IGNhbiBiZSB1c2VkIHRvIGFjY2VzcyBh -IHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kcG9p -bnRVcmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vy -dmVyIiBUeXBlTmFtZT0idG5zOkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJTZXJ2ZXJDZXJ0aWZpY2F0ZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlNb2RlIiBUeXBlTmFtZT0idG5zOk1lc3Nh -Z2VTZWN1cml0eU1vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eVBvbGljeVVy -aSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVXNl -cklkZW50aXR5VG9rZW5zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iVXNlcklkZW50aXR5VG9rZW5zIiBUeXBlTmFtZT0idG5zOlVzZXJUb2tlblBvbGljeSIg -TGVuZ3RoRmllbGQ9Ik5vT2ZVc2VySWRlbnRpdHlUb2tlbnMiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJUcmFuc3BvcnRQcm9maWxlVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TGV2ZWwiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAg -PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJHZXRF -bmRwb2ludHNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj -OkRvY3VtZW50YXRpb24+R2V0cyB0aGUgZW5kcG9pbnRzIHVzZWQgYnkgdGhlIHNlcnZlci48L29w -YzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlw -ZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kcG9p -bnRVcmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P -ZkxvY2FsZUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkxvY2FsZUlkcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mTG9jYWxl -SWRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlByb2ZpbGVVcmlzIiBUeXBlTmFtZT0i -b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJvZmlsZVVyaXMiIFR5cGVOYW1l -PSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlByb2ZpbGVVcmlzIiAvPg0KICA8L29wYzpT -dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkdldEVuZHBvaW50 -c1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3Vt -ZW50YXRpb24+R2V0cyB0aGUgZW5kcG9pbnRzIHVzZWQgYnkgdGhlIHNlcnZlci48L29wYzpEb2N1 -bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1l -PSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRW5kcG9p -bnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kcG9p -bnRzIiBUeXBlTmFtZT0idG5zOkVuZHBvaW50RGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09m -RW5kcG9pbnRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy -ZWRUeXBlIE5hbWU9IlJlZ2lzdGVyZWRTZXJ2ZXIiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl -Y3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgaW5mb3JtYXRpb24gcmVxdWlyZWQgdG8g -cmVnaXN0ZXIgYSBzZXJ2ZXIgd2l0aCBhIGRpc2NvdmVyeSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRh -dGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclVyaSIgVHlwZU5hbWU9Im9wYzpTdHJp -bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcm9kdWN0VXJpIiBUeXBlTmFtZT0ib3BjOlN0 -cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJOYW1lcyIgVHlwZU5hbWU9 -Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlck5hbWVzIiBUeXBlTmFt -ZT0idWE6TG9jYWxpemVkVGV4dCIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJOYW1lcyIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclR5cGUiIFR5cGVOYW1lPSJ0bnM6QXBwbGljYXRpb25U -eXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iR2F0ZXdheVNlcnZlclVyaSIgVHlwZU5hbWU9 -Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlzY292ZXJ5VXJscyIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2NvdmVyeVVy -bHMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZkRpc2NvdmVyeVVybHMi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZW1hcGhvcmVGaWxlUGF0aCIgVHlwZU5hbWU9Im9w -YzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc09ubGluZSIgVHlwZU5hbWU9Im9w -YzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy -ZWRUeXBlIE5hbWU9IlJlZ2lzdGVyU2VydmVyUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lv -bk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlJlZ2lzdGVycyBhIHNlcnZlciB3aXRo -IHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXIiIFR5cGVOYW1lPSJ0bnM6UmVnaXN0ZXJlZFNlcnZl -ciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJSZWdpc3RlclNlcnZlclJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 -Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+UmVnaXN0ZXJzIGEgc2VydmVyIHdpdGggdGhlIGRp -c2NvdmVyeSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICA8L29w -YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRpc2NvdmVy -eUNvbmZpZ3VyYXRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 -RG9jdW1lbnRhdGlvbj5BIGJhc2UgdHlwZSBmb3IgZGlzY292ZXJ5IGNvbmZpZ3VyYXRpb24gaW5m -b3JtYXRpb24uPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNZG5zRGlzY292ZXJ5Q29uZmlndXJhdGlvbiIg -QmFzZVR5cGU9InRuczpEaXNjb3ZlcnlDb25maWd1cmF0aW9uIj4NCiAgICA8b3BjOkRvY3VtZW50 -YXRpb24+VGhlIGRpc2NvdmVyeSBpbmZvcm1hdGlvbiBuZWVkZWQgZm9yIG1ETlMgcmVnaXN0cmF0 -aW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZG5zU2VydmVy -TmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m -U2VydmVyQ2FwYWJpbGl0aWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iU2VydmVyQ2FwYWJpbGl0aWVzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3Ro -RmllbGQ9Ik5vT2ZTZXJ2ZXJDYXBhYmlsaXRpZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl -Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVnaXN0ZXJTZXJ2ZXIyUmVxdWVzdCIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 -ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJTZXJ2ZXIiIFR5cGVOYW1lPSJ0bnM6UmVnaXN0ZXJlZFNlcnZlciIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiBUeXBlTmFtZT0ib3Bj -OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY292ZXJ5Q29uZmlndXJhdGlvbiIg -VHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaXNjb3ZlcnlD -b25maWd1cmF0aW9uIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj -dHVyZWRUeXBlIE5hbWU9IlJlZ2lzdGVyU2VydmVyMlJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0 -ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBl -TmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkNv -bmZpZ3VyYXRpb25SZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iQ29uZmlndXJhdGlvblJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBM -ZW5ndGhGaWVsZD0iTm9PZkNvbmZpZ3VyYXRpb25SZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJ -bmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0 -dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJTZWN1cml0eVRva2VuUmVx -dWVzdFR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5JbmRp -Y2F0ZXMgd2hldGhlciBhIHRva2VuIGlmIGJlaW5nIGNyZWF0ZWQgb3IgcmVuZXdlZC48L29wYzpE -b2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Iklzc3VlIiBWYWx1 -ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZW5ldyIgVmFsdWU9IjEi -IC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt -ZT0iQ2hhbm5lbFNlY3VyaXR5VG9rZW4iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K -ICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgdG9rZW4gdGhhdCBpZGVudGlmaWVzIGEgc2V0IG9m -IGtleXMgZm9yIGFuIGFjdGl2ZSBzZWN1cmUgY2hhbm5lbC48L29wYzpEb2N1bWVudGF0aW9uPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iQ2hhbm5lbElkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlRva2VuSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iQ3JlYXRlZEF0IiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZExpZmV0aW1lIiBUeXBlTmFtZT0ib3BjOlVJ -bnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJPcGVuU2VjdXJlQ2hhbm5lbFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P -YmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5DcmVhdGVzIGEgc2VjdXJlIGNoYW5uZWwg -d2l0aCBhIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iQ2xpZW50UHJvdG9jb2xWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RUeXBlIiBUeXBlTmFtZT0idG5zOlNlY3Vy -aXR5VG9rZW5SZXF1ZXN0VHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TW9k -ZSIgVHlwZU5hbWU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iQ2xpZW50Tm9uY2UiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlJlcXVlc3RlZExpZmV0aW1lIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJP -cGVuU2VjdXJlQ2hhbm5lbFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q3JlYXRlcyBhIHNlY3VyZSBjaGFubmVsIHdpdGggYSBz -ZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNl -SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iU2VydmVyUHJvdG9jb2xWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5VG9rZW4iIFR5cGVOYW1lPSJ0bnM6Q2hhbm5lbFNl -Y3VyaXR5VG9rZW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJOb25jZSIgVHlwZU5h -bWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -OlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNsb3NlU2VjdXJlQ2hhbm5lbFJlcXVlc3QiIEJhc2VUeXBl -PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5DbG9zZXMgYSBz -ZWN1cmUgY2hhbm5lbC48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICA8L29wYzpT -dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNsb3NlU2VjdXJl -Q2hhbm5lbFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj -OkRvY3VtZW50YXRpb24+Q2xvc2VzIGEgc2VjdXJlIGNoYW5uZWwuPC9vcGM6RG9jdW1lbnRhdGlv -bj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJl -c3BvbnNlSGVhZGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj -dHVyZWRUeXBlIE5hbWU9IlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiIEJhc2VUeXBlPSJ1YTpF -eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHNvZnR3YXJlIGNlcnRp -ZmljYXRlIHdpdGggYSBkaWdpdGFsIHNpZ25hdHVyZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iQ2VydGlmaWNhdGVEYXRhIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJp -bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTaWduYXR1cmUiIFR5cGVOYW1lPSJvcGM6Qnl0 -ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBl -IE5hbWU9IlNlc3Npb25BdXRoZW50aWNhdGlvblRva2VuIj4NCiAgICA8b3BjOkRvY3VtZW50YXRp -b24+QSB1bmlxdWUgaWRlbnRpZmllciBmb3IgYSBzZXNzaW9uIHVzZWQgdG8gYXV0aGVudGljYXRl -IHJlcXVlc3RzLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAg -PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTaWduYXR1cmVEYXRhIiBCYXNlVHlwZT0idWE6RXh0 -ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBkaWdpdGFsIHNpZ25hdHVy -ZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWxnb3JpdGhtIiBU -eXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNpZ25hdHVyZSIg -VHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNyZWF0ZVNlc3Npb25SZXF1ZXN0IiBCYXNlVHlw -ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q3JlYXRlcyBh -IG5ldyBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50RGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ0 -bnM6QXBwbGljYXRpb25EZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZl -clVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRw -b2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT -ZXNzaW9uTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJDbGllbnROb25jZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iQ2xpZW50Q2VydGlmaWNhdGUiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZFNlc3Npb25UaW1lb3V0IiBUeXBlTmFtZT0i -b3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heFJlc3BvbnNlTWVzc2FnZVNp -emUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNyZWF0ZVNlc3Npb25SZXNwb25zZSIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkNyZWF0ZXMg -YSBuZXcgc2Vzc2lvbiB3aXRoIHRoZSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVh -ZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6Tm9k -ZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXV0aGVudGljYXRpb25Ub2tlbiIgVHlwZU5h -bWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRTZXNzaW9uVGlt -ZW91dCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2 -ZXJOb25jZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iU2VydmVyQ2VydGlmaWNhdGUiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJFbmRwb2ludHMiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJFbmRwb2ludHMiIFR5cGVOYW1lPSJ0bnM6 -RW5kcG9pbnREZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJFbmRwb2ludHMiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VydmVyU29mdHdhcmVDZXJ0aWZpY2F0ZXMiIFR5 -cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJTb2Z0d2Fy -ZUNlcnRpZmljYXRlcyIgVHlwZU5hbWU9InRuczpTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiBM -ZW5ndGhGaWVsZD0iTm9PZlNlcnZlclNvZnR3YXJlQ2VydGlmaWNhdGVzIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iU2VydmVyU2lnbmF0dXJlIiBUeXBlTmFtZT0idG5zOlNpZ25hdHVyZURhdGEi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhSZXF1ZXN0TWVzc2FnZVNpemUiIFR5cGVOYW1l -PSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj -dHVyZWRUeXBlIE5hbWU9IlVzZXJJZGVudGl0eVRva2VuIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u -T2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBiYXNlIHR5cGUgZm9yIGEgdXNlciBp -ZGVudGl0eSB0b2tlbi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UG9saWN5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw -ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFub255bW91c0lkZW50aXR5VG9rZW4i -IEJhc2VUeXBlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlv -bj5BIHRva2VuIHJlcHJlc2VudGluZyBhbiBhbm9ueW1vdXMgdXNlci48L29wYzpEb2N1bWVudGF0 -aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUG9saWN5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5n -IiBTb3VyY2VUeXBlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVXNlck5hbWVJZGVudGl0eVRv -a2VuIiBCYXNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIj4NCiAgICA8b3BjOkRvY3VtZW50 -YXRpb24+QSB0b2tlbiByZXByZXNlbnRpbmcgYSB1c2VyIGlkZW50aWZpZWQgYnkgYSB1c2VyIG5h -bWUgYW5kIHBhc3N3b3JkLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJQb2xpY3lJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIFNvdXJjZVR5cGU9InRuczpVc2VySWRl -bnRpdHlUb2tlbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJOYW1lIiBUeXBlTmFtZT0i -b3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBhc3N3b3JkIiBUeXBlTmFtZT0i -b3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmNyeXB0aW9uQWxnb3Jp -dGhtIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJYNTA5SWRlbnRpdHlUb2tlbiIgQmFzZVR5cGU9 -InRuczpVc2VySWRlbnRpdHlUb2tlbiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgdG9rZW4g -cmVwcmVzZW50aW5nIGEgdXNlciBpZGVudGlmaWVkIGJ5IGFuIFg1MDkgY2VydGlmaWNhdGUuPC9v -cGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBvbGljeUlkIiBUeXBlTmFt -ZT0ib3BjOlN0cmluZyIgU291cmNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iQ2VydGlmaWNhdGVEYXRhIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJp -bmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg -TmFtZT0iS2VyYmVyb3NJZGVudGl0eVRva2VuIiBCYXNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRv -a2VuIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBvbGljeUlkIiBUeXBlTmFtZT0ib3BjOlN0cmlu -ZyIgU291cmNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iVGlja2V0RGF0YSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpT -dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Iklzc3VlZElkZW50 -aXR5VG9rZW4iIEJhc2VUeXBlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgIDxvcGM6RG9j -dW1lbnRhdGlvbj5BIHRva2VuIHJlcHJlc2VudGluZyBhIHVzZXIgaWRlbnRpZmllZCBieSBhIFdT -LVNlY3VyaXR5IFhNTCB0b2tlbi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iUG9saWN5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBTb3VyY2VUeXBlPSJ0bnM6VXNl -cklkZW50aXR5VG9rZW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUb2tlbkRhdGEiIFR5cGVO -YW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuY3J5cHRpb25B -bGdvcml0aG0iIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw -ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFjdGl2YXRlU2Vzc2lvblJlcXVlc3Qi -IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5B -Y3RpdmF0ZXMgYSBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0 -SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50U2lnbmF0dXJlIiBUeXBlTmFt -ZT0idG5zOlNpZ25hdHVyZURhdGEiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQ2xpZW50 -U29mdHdhcmVDZXJ0aWZpY2F0ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJDbGllbnRTb2Z0d2FyZUNlcnRpZmljYXRlcyIgVHlwZU5hbWU9InRuczpTaWdu -ZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiBMZW5ndGhGaWVsZD0iTm9PZkNsaWVudFNvZnR3YXJlQ2Vy -dGlmaWNhdGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxvY2FsZUlkcyIgVHlwZU5h -bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsZUlkcyIgVHlwZU5h -bWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mTG9jYWxlSWRzIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iVXNlcklkZW50aXR5VG9rZW4iIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmpl -Y3QiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyVG9rZW5TaWduYXR1cmUiIFR5cGVOYW1l -PSJ0bnM6U2lnbmF0dXJlRGF0YSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w -YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBY3RpdmF0ZVNlc3Npb25SZXNwb25zZSIgQmFzZVR5cGU9 -InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkFjdGl2YXRlcyBh -IHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlck5vbmNlIiBUeXBlTmFtZT0ib3BjOkJ5dGVT -dHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9w -YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpT -dGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0lu -Zm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNsb3NlU2Vzc2lvblJlcXVl -c3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlv -bj5DbG9zZXMgYSBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0 -SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVsZXRlU3Vic2NyaXB0aW9ucyIgVHlw -ZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -OlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNsb3NlU2Vzc2lvblJlc3BvbnNlIiBCYXNlVHlwZT0idWE6 -RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q2xvc2VzIGEgc2Vzc2lv -biB3aXRoIHRoZSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICA8 -L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNhbmNl -bFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1l -bnRhdGlvbj5DYW5jZWxzIGFuIG91dHN0YW5kaW5nIHJlcXVlc3QuPC9vcGM6RG9jdW1lbnRhdGlv -bj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVx -dWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIYW5kbGUiIFR5cGVO -YW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 -cnVjdHVyZWRUeXBlIE5hbWU9IkNhbmNlbFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u -T2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q2FuY2VscyBhbiBvdXRzdGFuZGluZyBy -ZXF1ZXN0Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25z -ZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkNhbmNlbENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJOb2RlQXR0cmlidXRl -c01hc2siIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYml0 -cyB1c2VkIHRvIHNwZWNpZnkgZGVmYXVsdCBhdHRyaWJ1dGVzIGZvciBhIG5ldyBub2RlLjwvb3Bj -OkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFs -dWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQWNjZXNzTGV2ZWwiIFZh -bHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFycmF5RGltZW5zaW9u -cyIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQnJvd3NlTmFt -ZSIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ29udGFpbnNO -b0xvb3BzIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEYXRh -VHlwZSIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRlc2Ny -aXB0aW9uIiBWYWx1ZT0iMzIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGlz -cGxheU5hbWUiIFZhbHVlPSI2NCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJF -dmVudE5vdGlmaWVyIiBWYWx1ZT0iMTI4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9IkV4ZWN1dGFibGUiIFZhbHVlPSIyNTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iSGlzdG9yaXppbmciIFZhbHVlPSI1MTIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs -dWUgTmFtZT0iSW52ZXJzZU5hbWUiIFZhbHVlPSIxMDI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRl -ZFZhbHVlIE5hbWU9IklzQWJzdHJhY3QiIFZhbHVlPSIyMDQ4IiAvPg0KICAgIDxvcGM6RW51bWVy -YXRlZFZhbHVlIE5hbWU9Ik1pbmltdW1TYW1wbGluZ0ludGVydmFsIiBWYWx1ZT0iNDA5NiIgLz4N -CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlQ2xhc3MiIFZhbHVlPSI4MTkyIiAv -Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vZGVJZCIgVmFsdWU9IjE2Mzg0IiAv -Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN5bW1ldHJpYyIgVmFsdWU9IjMyNzY4 -IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVzZXJBY2Nlc3NMZXZlbCIgVmFs -dWU9IjY1NTM2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVzZXJFeGVjdXRh -YmxlIiBWYWx1ZT0iMTMxMDcyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVz -ZXJXcml0ZU1hc2siIFZhbHVlPSIyNjIxNDQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iVmFsdWVSYW5rIiBWYWx1ZT0iNTI0Mjg4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh -bHVlIE5hbWU9IldyaXRlTWFzayIgVmFsdWU9IjEwNDg1NzYiIC8+DQogICAgPG9wYzpFbnVtZXJh -dGVkVmFsdWUgTmFtZT0iVmFsdWUiIFZhbHVlPSIyMDk3MTUyIiAvPg0KICAgIDxvcGM6RW51bWVy -YXRlZFZhbHVlIE5hbWU9IkFsbCIgVmFsdWU9IjQxOTQzMDMiIC8+DQogICAgPG9wYzpFbnVtZXJh -dGVkVmFsdWUgTmFtZT0iQmFzZU5vZGUiIFZhbHVlPSIxMzM1Mzk2IiAvPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9Ik9iamVjdCIgVmFsdWU9IjEzMzU1MjQiIC8+DQogICAgPG9wYzpF -bnVtZXJhdGVkVmFsdWUgTmFtZT0iT2JqZWN0VHlwZU9yRGF0YVR5cGUiIFZhbHVlPSIxMzM3NDQ0 -IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZhcmlhYmxlIiBWYWx1ZT0iNDAy -Njk5OSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJWYXJpYWJsZVR5cGUiIFZh -bHVlPSIzOTU4OTAyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik1ldGhvZCIg -VmFsdWU9IjE0NjY3MjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJl -bmNlVHlwZSIgVmFsdWU9IjEzNzEyMzYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt -ZT0iVmlldyIgVmFsdWU9IjEzMzU1MzIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQog -IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm9kZUF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ1YTpF -eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYmFzZSBhdHRyaWJ1 -dGVzIGZvciBhbGwgbm9kZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6 -ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3Bj -OlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1l -PSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj -dHVyZWRUeXBlIE5hbWU9Ik9iamVjdEF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0dHJp -YnV0ZXMiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYW4gb2Jq -ZWN0IG5vZGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNwZWNp -ZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9k -ZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5h -bWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVk -VGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5v -ZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlw -ZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50Tm90aWZpZXIiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJW -YXJpYWJsZUF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgIDxv -cGM6RG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSB2YXJpYWJsZSBub2RlLjwvb3Bj -OkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVz -IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6 -ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5 -cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFz -ayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJEYXRhVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlZhbHVlUmFuayIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -Ik5vT2ZBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhG -aWVsZD0iTm9PZkFycmF5RGltZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFjY2Vz -c0xldmVsIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2Vy -QWNjZXNzTGV2ZWwiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -Ik1pbmltdW1TYW1wbGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ikhpc3Rvcml6aW5nIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTWV0 -aG9kQXR0cmlidXRlcyIgQmFzZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpE -b2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVzIGZvciBhIG1ldGhvZCBub2RlLjwvb3BjOkRvY3Vt -ZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiBUeXBl -TmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0 -IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRu -czpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlw -ZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBT -b3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJF -eGVjdXRhYmxlIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJVc2VyRXhlY3V0YWJsZSIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik9iamVjdFR5cGVBdHRy -aWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICA8b3BjOkRvY3VtZW50 -YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGFuIG9iamVjdCB0eXBlIG5vZGUuPC9vcGM6RG9jdW1l -bnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVO -YW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQi -IFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5z -Ok5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBl -TmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNv -dXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Iklz -QWJzdHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJWYXJpYWJsZVR5cGVBdHRyaWJ1dGVz -IiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+ -VGhlIGF0dHJpYnV0ZXMgZm9yIGEgdmFyaWFibGUgdHlwZSBub2RlLjwvb3BjOkRvY3VtZW50YXRp -b24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0i -b3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3Vy -Y2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNj -cmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2Rl -QXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9 -Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VU -eXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIg -VHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZSIg -VHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlUmFuayIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBcnJheURp -bWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJB -cnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkFy -cmF5RGltZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5cGVO -YW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT -dHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWZlcmVuY2VUeXBlQXR0cmlidXRlcyIgQmFzZVR5cGU9InRu -czpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVz -IGZvciBhIHJlZmVyZW5jZSB0eXBlIG5vZGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBT -b3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE -aXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpO -b2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBl -TmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg -U291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -VXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2Rl -QXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5cGVOYW1l -PSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN5bW1ldHJpYyIgVHlwZU5h -bWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW52ZXJzZU5hbWUiIFR5 -cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFUeXBlQXR0cmlidXRlcyIgQmFzZVR5cGU9 -InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1 -dGVzIGZvciBhIGRhdGEgdHlwZSBub2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291 -cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlz -cGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9k -ZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5h -bWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNv -dXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVz -ZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0 -dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0Fic3RyYWN0IiBUeXBlTmFtZT0i -b3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 -dXJlZFR5cGUgTmFtZT0iVmlld0F0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0 -ZXMiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSB2aWV3IG5v -ZGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNwZWNpZmllZEF0 -dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJp -YnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVh -OkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIg -U291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -V3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRy -aWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9 -Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IkNvbnRhaW5zTm9Mb29wcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnROb3RpZmllciIgVHlwZU5hbWU9Im9wYzpCeXRlIiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -IkFkZE5vZGVzSXRlbSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpE -b2N1bWVudGF0aW9uPkEgcmVxdWVzdCB0byBhZGQgYSBub2RlIHRvIHRoZSBzZXJ2ZXIgYWRkcmVz -cyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGFyZW50 -Tm9kZUlkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJSZWZlcmVuY2VUeXBlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJSZXF1ZXN0ZWROZXdOb2RlSWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJ -ZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFs -aWZpZWROYW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0i -dG5zOk5vZGVDbGFzcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVBdHRyaWJ1dGVzIiBU -eXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHlw -ZURlZmluaXRpb24iIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBZGROb2Rlc1Jlc3Vs -dCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u -PkEgcmVzdWx0IG9mIGFuIGFkZCBub2RlIG9wZXJhdGlvbi48L29wYzpEb2N1bWVudGF0aW9uPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGRlZE5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJ -ZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJBZGROb2Rlc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg -IDxvcGM6RG9jdW1lbnRhdGlvbj5BZGRzIG9uZSBvciBtb3JlIG5vZGVzIHRvIHRoZSBzZXJ2ZXIg -YWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iTm9PZk5vZGVzVG9BZGQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJOb2Rlc1RvQWRkIiBUeXBlTmFtZT0idG5zOkFkZE5vZGVzSXRlbSIg -TGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvQWRkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N -Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFkZE5vZGVzUmVzcG9uc2UiIEJhc2VUeXBl -PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BZGRzIG9uZSBv -ciBtb3JlIG5vZGVzIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0 -aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6 -UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlw -ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVO -YW1lPSJ0bnM6QWRkTm9kZXNSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50 -MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1 -YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWRk -UmVmZXJlbmNlc0l0ZW0iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 -RG9jdW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8gYWRkIGEgcmVmZXJlbmNlIHRvIHRoZSBzZXJ2ZXIg -YWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -U291cmNlTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iUmVmZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iSXNGb3J3YXJkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJUYXJnZXRTZXJ2ZXJVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iVGFyZ2V0Tm9kZUlkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2Rl -SWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUYXJnZXROb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0 -bnM6Tm9kZUNsYXNzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj -dHVyZWRUeXBlIE5hbWU9IkFkZFJlZmVyZW5jZXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5z -aW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QWRkcyBvbmUgb3IgbW9yZSByZWZl -cmVuY2VzIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0 -SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXNUb0FkZCIgVHlw -ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXNUb0Fk -ZCIgVHlwZU5hbWU9InRuczpBZGRSZWZlcmVuY2VzSXRlbSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZl -cmVuY2VzVG9BZGQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 -dXJlZFR5cGUgTmFtZT0iQWRkUmVmZXJlbmNlc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5z -aW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QWRkcyBvbmUgb3IgbW9yZSByZWZl -cmVuY2VzIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9u -c2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9 -Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1 -YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3Rp -Y0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZU5vZGVzSXRl -bSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u -PkEgcmVxdWVzdCB0byBkZWxldGUgYSBub2RlIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48 -L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFt -ZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVsZXRlVGFyZ2V0UmVmZXJl -bmNlcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N -Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZU5vZGVzUmVxdWVzdCIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkRlbGV0ZSBv -bmUgb3IgbW9yZSBub2RlcyBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1 -bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9 -InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVzVG9E -ZWxldGUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rl -c1RvRGVsZXRlIiBUeXBlTmFtZT0idG5zOkRlbGV0ZU5vZGVzSXRlbSIgTGVuZ3RoRmllbGQ9Ik5v -T2ZOb2Rlc1RvRGVsZXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 -cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZU5vZGVzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRl -bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5EZWxldGUgb25lIG9yIG1vcmUg -bm9kZXMgZnJvbSB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3Bv -bnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0i -dWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0 -aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVSZWZlcmVu -Y2VzSXRlbSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVu -dGF0aW9uPkEgcmVxdWVzdCB0byBkZWxldGUgYSBub2RlIGZyb20gdGhlIHNlcnZlciBhZGRyZXNz -IHNwYWNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTb3VyY2VO -b2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZl -cmVuY2VUeXBlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJJc0ZvcndhcmQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlRhcmdldE5vZGVJZCIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iRGVsZXRlQmlkaXJlY3Rpb25hbCIgVHlwZU5hbWU9Im9wYzpCb29sZWFu -IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9IkRlbGV0ZVJlZmVyZW5jZXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 -Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+RGVsZXRlIG9uZSBvciBtb3JlIHJlZmVyZW5jZXMg -ZnJvbSB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRl -ciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzVG9EZWxldGUiIFR5cGVO -YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzVG9EZWxl -dGUiIFR5cGVOYW1lPSJ0bnM6RGVsZXRlUmVmZXJlbmNlc0l0ZW0iIExlbmd0aEZpZWxkPSJOb09m -UmVmZXJlbmNlc1RvRGVsZXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -OlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNSZXNwb25zZSIgQmFzZVR5cGU9 -InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkRlbGV0ZSBvbmUg -b3IgbW9yZSByZWZlcmVuY2VzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRv -Y3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5h -bWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1 -bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0 -cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6 -SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1l -PSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+ -DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0i -QXR0cmlidXRlV3JpdGVNYXNrIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50 -YXRpb24+RGVmaW5lIGJpdHMgdXNlZCB0byBpbmRpY2F0ZSB3aGljaCBhdHRyaWJ1dGVzIGFyZSB3 -cml0YWJsZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFj -Y2Vzc0xldmVsIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJB -cnJheURpbWVuc2lvbnMiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9IkJyb3dzZU5hbWUiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9IkNvbnRhaW5zTm9Mb29wcyIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs -dWUgTmFtZT0iRGF0YVR5cGUiIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJEZXNjcmlwdGlvbiIgVmFsdWU9IjMyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh -bHVlIE5hbWU9IkRpc3BsYXlOYW1lIiBWYWx1ZT0iNjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk -VmFsdWUgTmFtZT0iRXZlbnROb3RpZmllciIgVmFsdWU9IjEyOCIgLz4NCiAgICA8b3BjOkVudW1l -cmF0ZWRWYWx1ZSBOYW1lPSJFeGVjdXRhYmxlIiBWYWx1ZT0iMjU2IiAvPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9Ikhpc3Rvcml6aW5nIiBWYWx1ZT0iNTEyIiAvPg0KICAgIDxvcGM6 -RW51bWVyYXRlZFZhbHVlIE5hbWU9IkludmVyc2VOYW1lIiBWYWx1ZT0iMTAyNCIgLz4NCiAgICA8 -b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJc0Fic3RyYWN0IiBWYWx1ZT0iMjA0OCIgLz4NCiAg -ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbCIgVmFs -dWU9IjQwOTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9kZUNsYXNzIiBW -YWx1ZT0iODE5MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlSWQiIFZh -bHVlPSIxNjM4NCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTeW1tZXRyaWMi -IFZhbHVlPSIzMjc2OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVc2VyQWNj -ZXNzTGV2ZWwiIFZhbHVlPSI2NTUzNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l -PSJVc2VyRXhlY3V0YWJsZSIgVmFsdWU9IjEzMTA3MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJVc2VyV3JpdGVNYXNrIiBWYWx1ZT0iMjYyMTQ0IiAvPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9IlZhbHVlUmFuayIgVmFsdWU9IjUyNDI4OCIgLz4NCiAgICA8b3Bj -OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJXcml0ZU1hc2siIFZhbHVlPSIxMDQ4NTc2IiAvPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZhbHVlRm9yVmFyaWFibGVUeXBlIiBWYWx1ZT0i -MjA5NzE1MiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVk -VHlwZSBOYW1lPSJCcm93c2VEaXJlY3Rpb24iIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6 -RG9jdW1lbnRhdGlvbj5UaGUgZGlyZWN0aW9ucyBvZiB0aGUgcmVmZXJlbmNlcyB0byByZXR1cm4u -PC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJGb3J3 -YXJkIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnZlcnNl -IiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCb3RoIiBWYWx1 -ZT0iMiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJWaWV3RGVzY3JpcHRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K -ICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgdmlldyB0byBicm93c2UuPC9vcGM6RG9jdW1lbnRh -dGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZpZXdJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRpbWVzdGFtcCIgVHlwZU5hbWU9Im9wYzpEYXRlVGlt -ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZpZXdWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlVJ -bnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJCcm93c2VEZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgcmVxdWVzdCB0byBicm93c2UgdGhlIHRoZSByZWZl -cmVuY2VzIGZyb20gYSBub2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJCcm93c2VEaXJlY3Rpb24iIFR5cGVOYW1lPSJ0bnM6QnJvd3NlRGlyZWN0aW9uIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5jbHVkZVN1YnR5cGVzIiBUeXBlTmFtZT0ib3BjOkJv -b2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3NNYXNrIiBUeXBlTmFtZT0i -b3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdE1hc2siIFR5cGVOYW1l -PSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1l -cmF0ZWRUeXBlIE5hbWU9IkJyb3dzZVJlc3VsdE1hc2siIExlbmd0aEluQml0cz0iMzIiPg0KICAg -IDxvcGM6RG9jdW1lbnRhdGlvbj5BIGJpdCBtYXNrIHdoaWNoIHNwZWNpZmllcyB3aGF0IHNob3Vs -ZCBiZSByZXR1cm5lZCBpbiBhIGJyb3dzZSByZXNwb25zZS48L29wYzpEb2N1bWVudGF0aW9uPg0K -ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgVmFsdWU9IjEiIC8+DQog -ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNGb3J3YXJkIiBWYWx1ZT0iMiIgLz4NCiAg -ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlQ2xhc3MiIFZhbHVlPSI0IiAvPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJyb3dzZU5hbWUiIFZhbHVlPSI4IiAvPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRpc3BsYXlOYW1lIiBWYWx1ZT0iMTYiIC8+DQog -ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVHlwZURlZmluaXRpb24iIFZhbHVlPSIzMiIg -Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBbGwiIFZhbHVlPSI2MyIgLz4NCiAg -ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWZlcmVuY2VUeXBlSW5mbyIgVmFsdWU9IjMi -IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVGFyZ2V0SW5mbyIgVmFsdWU9IjYw -IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9IlJlZmVyZW5jZURlc2NyaXB0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIGRlc2NyaXB0aW9uIG9mIGEgcmVmZXJlbmNlLjwv -b3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBlSWQi -IFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0ZvcndhcmQi -IFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIg -VHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJv -d3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNzIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iVHlwZURlZmluaXRpb24iIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5v -ZGVJZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5h -bWU9IkNvbnRpbnVhdGlvblBvaW50Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QW4gaWRlbnRp -ZmllciBmb3IgYSBzdXNwZW5kZWQgcXVlcnkgb3IgYnJvd3NlIG9wZXJhdGlvbi48L29wYzpEb2N1 -bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg -TmFtZT0iQnJvd3NlUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8 -b3BjOkRvY3VtZW50YXRpb24+VGhlIHJlc3VsdCBvZiBhIGJyb3dzZSBvcGVyYXRpb24uPC9vcGM6 -RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1l -PSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29udGludWF0aW9uUG9p -bnQiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v -T2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VEZXNjcmlwdGlvbiIgTGVuZ3Ro -RmllbGQ9Ik5vT2ZSZWZlcmVuY2VzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 -b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb3dzZVJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRl -bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5Ccm93c2UgdGhlIHJlZmVyZW5j -ZXMgZm9yIG9uZSBvciBtb3JlIG5vZGVzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwv -b3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBU -eXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWaWV3 -IiBUeXBlTmFtZT0idG5zOlZpZXdEZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlJlcXVlc3RlZE1heFJlZmVyZW5jZXNQZXJOb2RlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOb2Rlc1RvQnJvd3NlIiBUeXBlTmFtZT0ib3BjOklu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZXNUb0Jyb3dzZSIgVHlwZU5hbWU9InRu -czpCcm93c2VEZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvQnJvd3NlIiAvPg0K -ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJy -b3dzZVJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRv -Y3VtZW50YXRpb24+QnJvd3NlIHRoZSByZWZlcmVuY2VzIGZvciBvbmUgb3IgbW9yZSBub2RlcyBm -cm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFk -ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJ -bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6QnJv -d3NlUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0lu -Zm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb3dzZU5leHRSZXF1ZXN0 -IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+ -Q29udGludWVzIG9uZSBvciBtb3JlIGJyb3dzZSBvcGVyYXRpb25zLjwvb3BjOkRvY3VtZW50YXRp -b24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJl -cXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWxlYXNlQ29udGludWF0aW9u -UG9pbnRzIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO -b09mQ29udGludWF0aW9uUG9pbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iQ29udGludWF0aW9uUG9pbnRzIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmci -IExlbmd0aEZpZWxkPSJOb09mQ29udGludWF0aW9uUG9pbnRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb3dzZU5leHRSZXNwb25z -ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u -PkNvbnRpbnVlcyBvbmUgb3IgbW9yZSBicm93c2Ugb3BlcmF0aW9ucy48L29wYzpEb2N1bWVudGF0 -aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6 -UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlw -ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVO -YW1lPSJ0bnM6QnJvd3NlUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6 -RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8 -L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlbGF0 -aXZlUGF0aEVsZW1lbnQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 -RG9jdW1lbnRhdGlvbj5BbiBlbGVtZW50IGluIGEgcmVsYXRpdmUgcGF0aC48L29wYzpEb2N1bWVu -dGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0i -dWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNJbnZlcnNlIiBUeXBlTmFtZT0i -b3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbmNsdWRlU3VidHlwZXMiIFR5 -cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldE5hbWUi -IFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N -Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlbGF0aXZlUGF0aCIgQmFzZVR5cGU9InVh -OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgcmVsYXRpdmUgcGF0 -aCBjb25zdHJ1Y3RlZCBmcm9tIHJlZmVyZW5jZSB0eXBlcyBhbmQgYnJvd3NlIG5hbWVzLjwvb3Bj -OkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRWxlbWVudHMiIFR5cGVO -YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbGVtZW50cyIgVHlwZU5h -bWU9InRuczpSZWxhdGl2ZVBhdGhFbGVtZW50IiBMZW5ndGhGaWVsZD0iTm9PZkVsZW1lbnRzIiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -IkJyb3dzZVBhdGgiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9j -dW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8gdHJhbnNsYXRlIGEgcGF0aCBpbnRvIGEgbm9kZSBpZC48 -L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhcnRpbmdOb2RlIiBU -eXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVsYXRpdmVQYXRo -IiBUeXBlTmFtZT0idG5zOlJlbGF0aXZlUGF0aCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm93c2VQYXRoVGFyZ2V0IiBCYXNlVHlw -ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHRhcmdl -dCBvZiB0aGUgdHJhbnNsYXRlZCBwYXRoLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJUYXJnZXRJZCIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iUmVtYWluaW5nUGF0aEluZGV4IiBUeXBlTmFtZT0ib3BjOlVJbnQz -MiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJCcm93c2VQYXRoUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg -ICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHJlc3VsdCBvZiBhIHRyYW5zbGF0ZSBvcGVhcmF0aW9u -Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBU -eXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZUYXJn -ZXRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGFyZ2V0 -cyIgVHlwZU5hbWU9InRuczpCcm93c2VQYXRoVGFyZ2V0IiBMZW5ndGhGaWVsZD0iTm9PZlRhcmdl -dHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg -TmFtZT0iVHJhbnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6 -RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VHJhbnNsYXRlcyBvbmUg -b3IgbW9yZSBwYXRocyBpbiB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRh -dGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6 -UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZCcm93c2VQYXRocyIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZVBhdGhz -IiBUeXBlTmFtZT0idG5zOkJyb3dzZVBhdGgiIExlbmd0aEZpZWxkPSJOb09mQnJvd3NlUGF0aHMi -IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt -ZT0iVHJhbnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4 -dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRyYW5zbGF0ZXMgb25lIG9y -IG1vcmUgcGF0aHMgaW4gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRvY3VtZW50YXRp -b24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpS -ZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBl -TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5h -bWU9InRuczpCcm93c2VQYXRoUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOklu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0i -dWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0K -ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJl -Z2lzdGVyTm9kZXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8 -b3BjOkRvY3VtZW50YXRpb24+UmVnaXN0ZXJzIG9uZSBvciBtb3JlIG5vZGVzIGZvciByZXBlYXRl -ZCB1c2Ugd2l0aGluIGEgc2Vzc2lvbi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVzVG9SZWdpc3RlciIgVHlwZU5hbWU9Im9wYzpJ -bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVzVG9SZWdpc3RlciIgVHlwZU5hbWU9 -InVhOk5vZGVJZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvUmVnaXN0ZXIiIC8+DQogIDwvb3Bj -OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVnaXN0ZXJO -b2Rlc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRv -Y3VtZW50YXRpb24+UmVnaXN0ZXJzIG9uZSBvciBtb3JlIG5vZGVzIGZvciByZXBlYXRlZCB1c2Ug -d2l0aGluIGEgc2Vzc2lvbi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJOb09mUmVnaXN0ZXJlZE5vZGVJZHMiIFR5cGVOYW1lPSJvcGM6SW50 -MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWdpc3RlcmVkTm9kZUlkcyIgVHlwZU5hbWU9 -InVhOk5vZGVJZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWdpc3RlcmVkTm9kZUlkcyIgLz4NCiAgPC9v -cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVbnJlZ2lz -dGVyTm9kZXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj -OkRvY3VtZW50YXRpb24+VW5yZWdpc3RlcnMgb25lIG9yIG1vcmUgcHJldmlvdXNseSByZWdpc3Rl -cmVkIG5vZGVzLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 -ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOb09mTm9kZXNUb1VucmVnaXN0ZXIiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rlc1RvVW5yZWdpc3RlciIgVHlwZU5hbWU9InVhOk5vZGVJ -ZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvVW5yZWdpc3RlciIgLz4NCiAgPC9vcGM6U3RydWN0 -dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVbnJlZ2lzdGVyTm9kZXNS -ZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVu -dGF0aW9uPlVucmVnaXN0ZXJzIG9uZSBvciBtb3JlIHByZXZpb3VzbHkgcmVnaXN0ZXJlZCBub2Rl -cy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFk -ZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJDb3VudGVyIj4NCiAgICA8b3BjOkRvY3Vt -ZW50YXRpb24+QSBtb25vdG9uaWNhbGx5IGluY3JlYXNpbmcgdmFsdWUuPC9vcGM6RG9jdW1lbnRh -dGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iTnVt -ZXJpY1JhbmdlIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+U3BlY2lmaWVzIGEgcmFuZ2Ugb2Yg -YXJyYXkgaW5kZXhlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0K -DQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJUaW1lIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+ -QSB0aW1lIHZhbHVlIHNwZWNpZmllZCBhcyBISDpNTTpTUy5TU1MuPC9vcGM6RG9jdW1lbnRhdGlv -bj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iRGF0ZSI+ -DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgZGF0ZSB2YWx1ZS48L29wYzpEb2N1bWVudGF0aW9u -Pg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRW5k -cG9pbnRDb25maWd1cmF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik9wZXJhdGlvblRpbWVvdXQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VCaW5hcnlFbmNvZGluZyIgVHlwZU5hbWU9Im9wYzpC -b29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4U3RyaW5nTGVuZ3RoIiBUeXBlTmFt -ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4Qnl0ZVN0cmluZ0xlbmd0 -aCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heEFycmF5 -TGVuZ3RoIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4 -TWVzc2FnZVNpemUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJNYXhCdWZmZXJTaXplIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iQ2hhbm5lbExpZmV0aW1lIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iU2VjdXJpdHlUb2tlbkxpZmV0aW1lIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9 -IkNvbXBsaWFuY2VMZXZlbCIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVk -VmFsdWUgTmFtZT0iVW50ZXN0ZWQiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh -bHVlIE5hbWU9IlBhcnRpYWwiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9IlNlbGZUZXN0ZWQiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9IkNlcnRpZmllZCIgVmFsdWU9IjMiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0K -DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3VwcG9ydGVkUHJvZmlsZSIgQmFzZVR5cGU9 -InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJPcmdhbml6YXRpb25V -cmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJvZmls -ZUlkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbXBs -aWFuY2VUb29sIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkNvbXBsaWFuY2VEYXRlIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iQ29tcGxpYW5jZUxldmVsIiBUeXBlTmFtZT0idG5zOkNvbXBsaWFuY2VMZXZlbCIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZVbnN1cHBvcnRlZFVuaXRJZHMiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVbnN1cHBvcnRlZFVuaXRJZHMi -IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlVuc3VwcG9ydGVkVW5pdElk -cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJTb2Z0d2FyZUNlcnRpZmljYXRlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlByb2R1Y3ROYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByb2R1Y3RVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5n -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmVuZG9yTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJp -bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWZW5kb3JQcm9kdWN0Q2VydGlmaWNhdGUiIFR5 -cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvZnR3YXJl -VmVyc2lvbiIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJC -dWlsZE51bWJlciIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJCdWlsZERhdGUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJJc3N1ZWRCeSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJJc3N1ZURhdGUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOb09mU3VwcG9ydGVkUHJvZmlsZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJTdXBwb3J0ZWRQcm9maWxlcyIgVHlwZU5hbWU9InRuczpTdXBw -b3J0ZWRQcm9maWxlIiBMZW5ndGhGaWVsZD0iTm9PZlN1cHBvcnRlZFByb2ZpbGVzIiAvPg0KICA8 -L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlF1ZXJ5 -RGF0YURlc2NyaXB0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlJlbGF0aXZlUGF0aCIgVHlwZU5hbWU9InRuczpSZWxhdGl2ZVBhdGgiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdHRyaWJ1dGVJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbmRleFJhbmdlIiBUeXBlTmFtZT0ib3BjOlN0cmlu -ZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJOb2RlVHlwZURlc2NyaXB0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlR5cGVEZWZpbml0aW9uTm9kZSIgVHlwZU5hbWU9InVhOkV4 -cGFuZGVkTm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5jbHVkZVN1YlR5cGVzIiBU -eXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGF0YVRv -UmV0dXJuIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0 -YVRvUmV0dXJuIiBUeXBlTmFtZT0idG5zOlF1ZXJ5RGF0YURlc2NyaXB0aW9uIiBMZW5ndGhGaWVs -ZD0iTm9PZkRhdGFUb1JldHVybiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w -YzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJGaWx0ZXJPcGVyYXRvciIgTGVuZ3RoSW5CaXRzPSIzMiI+ -DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRXF1YWxzIiBWYWx1ZT0iMCIgLz4NCiAg -ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJc051bGwiIFZhbHVlPSIxIiAvPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkdyZWF0ZXJUaGFuIiBWYWx1ZT0iMiIgLz4NCiAgICA8 -b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJMZXNzVGhhbiIgVmFsdWU9IjMiIC8+DQogICAgPG9w -YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iR3JlYXRlclRoYW5PckVxdWFsIiBWYWx1ZT0iNCIgLz4N -CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJMZXNzVGhhbk9yRXF1YWwiIFZhbHVlPSI1 -IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikxpa2UiIFZhbHVlPSI2IiAvPg0K -ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vdCIgVmFsdWU9IjciIC8+DQogICAgPG9w -YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQmV0d2VlbiIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpF -bnVtZXJhdGVkVmFsdWUgTmFtZT0iSW5MaXN0IiBWYWx1ZT0iOSIgLz4NCiAgICA8b3BjOkVudW1l -cmF0ZWRWYWx1ZSBOYW1lPSJBbmQiIFZhbHVlPSIxMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJPciIgVmFsdWU9IjExIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9IkNhc3QiIFZhbHVlPSIxMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJ -blZpZXciIFZhbHVlPSIxMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJPZlR5 -cGUiIFZhbHVlPSIxNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWxhdGVk -VG8iIFZhbHVlPSIxNSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCaXR3aXNl -QW5kIiBWYWx1ZT0iMTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQml0d2lz -ZU9yIiBWYWx1ZT0iMTciIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3Ry -dWN0dXJlZFR5cGUgTmFtZT0iUXVlcnlEYXRhU2V0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq -ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOkV4cGFuZGVk -Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHlwZURlZmluaXRpb25Ob2RlIiBUeXBl -TmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVmFs -dWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWVz -IiBUeXBlTmFtZT0idWE6VmFyaWFudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZWYWx1ZXMiIC8+DQogIDwv -b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm9kZVJl -ZmVyZW5jZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJSZWZlcmVuY2VUeXBlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJJc0ZvcndhcmQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VkTm9kZUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZWROb2RlSWRzIiBUeXBlTmFtZT0idWE6Tm9k -ZUlkIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZWROb2RlSWRzIiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNvbnRlbnRGaWx0ZXJF -bGVtZW50IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkZpbHRlck9wZXJhdG9yIiBUeXBlTmFtZT0idG5zOkZpbHRlck9wZXJhdG9yIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTm9PZkZpbHRlck9wZXJhbmRzIiBUeXBlTmFtZT0ib3BjOkludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmlsdGVyT3BlcmFuZHMiIFR5cGVOYW1lPSJ1YTpF -eHRlbnNpb25PYmplY3QiIExlbmd0aEZpZWxkPSJOb09mRmlsdGVyT3BlcmFuZHMiIC8+DQogIDwv -b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ29udGVu -dEZpbHRlciIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb09mRWxlbWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJFbGVtZW50cyIgVHlwZU5hbWU9InRuczpDb250ZW50RmlsdGVyRWxlbWVudCIgTGVu -Z3RoRmllbGQ9Ik5vT2ZFbGVtZW50cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg -PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJGaWx0ZXJPcGVyYW5kIiBCYXNlVHlwZT0idWE6RXh0 -ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJFbGVtZW50T3BlcmFuZCIgQmFzZVR5cGU9InRuczpGaWx0ZXJPcGVyYW5k -Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkluZGV4IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJM -aXRlcmFsT3BlcmFuZCIgQmFzZVR5cGU9InRuczpGaWx0ZXJPcGVyYW5kIj4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgLz4NCiAgPC9vcGM6U3RydWN0 -dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBdHRyaWJ1dGVPcGVyYW5k -IiBCYXNlVHlwZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9k -ZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWxpYXMi -IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlUGF0 -aCIgVHlwZU5hbWU9InRuczpSZWxhdGl2ZVBhdGgiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJB -dHRyaWJ1dGVJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJJbmRleFJhbmdlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl -ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTaW1wbGVBdHRyaWJ1dGVPcGVy -YW5kIiBCYXNlVHlwZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -VHlwZURlZmluaXRpb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vT2ZCcm93c2VQYXRoIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iQnJvd3NlUGF0aCIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIExlbmd0 -aEZpZWxkPSJOb09mQnJvd3NlUGF0aCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF0dHJpYnV0 -ZUlkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkluZGV4 -UmFuZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N -Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0 -IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0 -YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iTm9PZk9wZXJhbmRTdGF0dXNDb2RlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik9wZXJhbmRTdGF0dXNDb2RlcyIgVHlwZU5hbWU9InVhOlN0YXR1c0Nv -ZGUiIExlbmd0aEZpZWxkPSJOb09mT3BlcmFuZFN0YXR1c0NvZGVzIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9PZk9wZXJhbmREaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJPcGVyYW5kRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFt -ZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mT3BlcmFuZERpYWdub3N0aWNJ -bmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJDb250ZW50RmlsdGVyUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 -Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFbGVtZW50UmVzdWx0cyIgVHlwZU5hbWU9Im9w -YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVsZW1lbnRSZXN1bHRzIiBUeXBlTmFt -ZT0idG5zOkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZkVsZW1l -bnRSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkVsZW1lbnREaWFnbm9zdGlj -SW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbGVt -ZW50RGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZp -ZWxkPSJOb09mRWxlbWVudERpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJQYXJzaW5nUmVzdWx0IiBCYXNlVHlw -ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUi -IFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRh -dGFTdGF0dXNDb2RlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkRhdGFTdGF0dXNDb2RlcyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxk -PSJOb09mRGF0YVN0YXR1c0NvZGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRhdGFE -aWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJEYXRhRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExl -bmd0aEZpZWxkPSJOb09mRGF0YURpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl -ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJRdWVyeUZpcnN0UmVxdWVzdCIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 -ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJWaWV3IiBUeXBlTmFtZT0idG5zOlZpZXdEZXNjcmlwdGlvbiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vT2ZOb2RlVHlwZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJOb2RlVHlwZXMiIFR5cGVOYW1lPSJ0bnM6Tm9kZVR5cGVEZXNjcmlw -dGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2RlVHlwZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJGaWx0ZXIiIFR5cGVOYW1lPSJ0bnM6Q29udGVudEZpbHRlciIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik1heERhdGFTZXRzVG9SZXR1cm4iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTWF4UmVmZXJlbmNlc1RvUmV0dXJuIiBUeXBlTmFtZT0ib3BjOlVJ -bnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJRdWVyeUZpcnN0UmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVz -cG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUXVlcnlEYXRhU2V0cyIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlF1ZXJ5RGF0YVNl -dHMiIFR5cGVOYW1lPSJ0bnM6UXVlcnlEYXRhU2V0IiBMZW5ndGhGaWVsZD0iTm9PZlF1ZXJ5RGF0 -YVNldHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb250aW51YXRpb25Qb2ludCIgVHlwZU5h -bWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlBhcnNpbmdS -ZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGFy -c2luZ1Jlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6UGFyc2luZ1Jlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5v -T2ZQYXJzaW5nUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGlj -SW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFn -bm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5v -T2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXJSZXN1bHQi -IFR5cGVOYW1lPSJ0bnM6Q29udGVudEZpbHRlclJlc3VsdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJl -ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJRdWVyeU5leHRSZXF1ZXN0IiBC -YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVl -c3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlJlbGVhc2VDb250aW51YXRpb25Qb2ludCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29udGludWF0aW9uUG9pbnQiIFR5cGVOYW1lPSJvcGM6 -Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJRdWVyeU5leHRSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i -amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRu -czpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZRdWVyeURhdGFT -ZXRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVlcnlE -YXRhU2V0cyIgVHlwZU5hbWU9InRuczpRdWVyeURhdGFTZXQiIExlbmd0aEZpZWxkPSJOb09mUXVl -cnlEYXRhU2V0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRDb250aW51YXRpb25Q -b2ludCIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw -ZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlRpbWVzdGFtcHNUb1JldHVybiIgTGVu -Z3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU291cmNlIiBW -YWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTZXJ2ZXIiIFZhbHVl -PSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJvdGgiIFZhbHVlPSIyIiAv -Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5laXRoZXIiIFZhbHVlPSIzIiAvPg0K -ICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJl -YWRWYWx1ZUlkIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkF0dHJpYnV0ZUlkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkluZGV4UmFuZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iRGF0YUVuY29kaW5nIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgLz4NCiAg -PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWFk -UmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJNYXhBZ2UiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiBUeXBlTmFtZT0idG5zOlRpbWVzdGFt -cHNUb1JldHVybiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOb2Rlc1RvUmVhZCIgVHlw -ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVzVG9SZWFkIiBU -eXBlTmFtZT0idG5zOlJlYWRWYWx1ZUlkIiBMZW5ndGhGaWVsZD0iTm9PZk5vZGVzVG9SZWFkIiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -IlJlYWRSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOkRhdGFWYWx1 -ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P -ZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5n -dGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5UmVhZFZhbHVlSWQiIEJhc2VU -eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBU -eXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5kZXhSYW5nZSIg -VHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhRW5jb2Rp -bmciIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Q29udGludWF0aW9uUG9pbnQiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6 -U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5UmVh -ZFJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJIaXN0b3J5RGF0YSIgVHlwZU5hbWU9InVhOkV4dGVuc2lv -bk9iamVjdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk -VHlwZSBOYW1lPSJIaXN0b3J5UmVhZERldGFpbHMiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl -Y3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9IlJlYWRFdmVudERldGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik51bVZhbHVlc1Blck5vZGUiIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhcnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRh -dGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kVGltZSIgVHlwZU5hbWU9Im9wYzpE -YXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRlciIgVHlwZU5hbWU9InRuczpF -dmVudEZpbHRlciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJSZWFkUmF3TW9kaWZpZWREZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3Rv -cnlSZWFkRGV0YWlscyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc1JlYWRNb2RpZmllZCIgVHlw -ZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhcnRUaW1lIiBU -eXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kVGltZSIg -VHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik51bVZhbHVl -c1Blck5vZGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UmV0dXJuQm91bmRzIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVhZFByb2Nlc3NlZERldGFp -bHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlN0YXJ0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkVuZFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJQcm9jZXNzaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTm9PZkFnZ3JlZ2F0ZVR5cGUiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZ2dyZWdhdGVUeXBlIiBUeXBlTmFtZT0idWE6Tm9k -ZUlkIiBMZW5ndGhGaWVsZD0iTm9PZkFnZ3JlZ2F0ZVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBUeXBlTmFtZT0idG5zOkFnZ3JlZ2F0ZUNvbmZp -Z3VyYXRpb24iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl -ZFR5cGUgTmFtZT0iUmVhZEF0VGltZURldGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVJlYWRE -ZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXFUaW1lcyIgVHlwZU5hbWU9Im9w -YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcVRpbWVzIiBUeXBlTmFtZT0ib3Bj -OkRhdGVUaW1lIiBMZW5ndGhGaWVsZD0iTm9PZlJlcVRpbWVzIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iVXNlU2ltcGxlQm91bmRzIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3Bj -OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeURh -dGEiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Tm9PZkRhdGFWYWx1ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJEYXRhVmFsdWVzIiBUeXBlTmFtZT0idWE6RGF0YVZhbHVlIiBMZW5ndGhGaWVsZD0iTm9P -ZkRhdGFWYWx1ZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 -dXJlZFR5cGUgTmFtZT0iTW9kaWZpY2F0aW9uSW5mbyIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i -amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb2RpZmljYXRpb25UaW1lIiBUeXBlTmFtZT0i -b3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXBkYXRlVHlwZSIgVHlwZU5h -bWU9InRuczpIaXN0b3J5VXBkYXRlVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJO -YW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5TW9kaWZpZWREYXRhIiBCYXNlVHlw -ZT0idG5zOkhpc3RvcnlEYXRhIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEYXRhVmFsdWVz -IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVZhbHVl -cyIgVHlwZU5hbWU9InVhOkRhdGFWYWx1ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZEYXRhVmFsdWVzIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk1vZGlmaWNhdGlvbkluZm9zIiBUeXBlTmFtZT0i -b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9kaWZpY2F0aW9uSW5mb3MiIFR5 -cGVOYW1lPSJ0bnM6TW9kaWZpY2F0aW9uSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZNb2RpZmljYXRp -b25JbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk -VHlwZSBOYW1lPSJIaXN0b3J5RXZlbnQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkV2ZW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50cyIgVHlwZU5hbWU9InRuczpIaXN0b3J5RXZlbnRG -aWVsZExpc3QiIExlbmd0aEZpZWxkPSJOb09mRXZlbnRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlSZWFkUmVxdWVzdCIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 -ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJIaXN0b3J5UmVhZERldGFpbHMiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3Qi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iIFR5cGVOYW1lPSJ0 -bnM6VGltZXN0YW1wc1RvUmV0dXJuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVsZWFzZUNv -bnRpbnVhdGlvblBvaW50cyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9PZk5vZGVzVG9SZWFkIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iTm9kZXNUb1JlYWQiIFR5cGVOYW1lPSJ0bnM6SGlzdG9yeVJlYWRWYWx1 -ZUlkIiBMZW5ndGhGaWVsZD0iTm9PZk5vZGVzVG9SZWFkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlSZWFkUmVzcG9uc2Ui -IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVz -cG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6SGlzdG9yeVJlYWRSZXN1bHQiIExl -bmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFn -bm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmll -bGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog -IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iV3JpdGVWYWx1ZSIgQmFzZVR5cGU9InVhOkV4dGVu -c2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpO -b2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdHRyaWJ1dGVJZCIgVHlwZU5hbWU9Im9w -YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbmRleFJhbmdlIiBUeXBlTmFtZT0i -b3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0idWE6 -RGF0YVZhbHVlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy -ZWRUeXBlIE5hbWU9IldyaXRlUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVl -c3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTm9kZXNUb1dyaXRlIiBUeXBl -TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZXNUb1dyaXRlIiBU -eXBlTmFtZT0idG5zOldyaXRlVmFsdWUiIExlbmd0aEZpZWxkPSJOb09mTm9kZXNUb1dyaXRlIiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -IldyaXRlUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXND -b2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO -b09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExl -bmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw -ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlVcGRhdGVEZXRhaWxzIiBC -YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJ -ZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg -PG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJIaXN0b3J5VXBkYXRlVHlwZSIgTGVuZ3RoSW5CaXRz -PSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW5zZXJ0IiBWYWx1ZT0iMSIg -Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZXBsYWNlIiBWYWx1ZT0iMiIgLz4N -CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVcGRhdGUiIFZhbHVlPSIzIiAvPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRlbGV0ZSIgVmFsdWU9IjQiIC8+DQogIDwvb3Bj -OkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iUGVyZm9ybVVw -ZGF0ZVR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9Ikluc2VydCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i -UmVwbGFjZSIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVXBk -YXRlIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZW1vdmUi -IFZhbHVlPSI0IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy -ZWRUeXBlIE5hbWU9IlVwZGF0ZURhdGFEZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlVcGRh -dGVEZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5v -ZGVJZCIgU291cmNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iUGVyZm9ybUluc2VydFJlcGxhY2UiIFR5cGVOYW1lPSJ0bnM6UGVyZm9ybVVw -ZGF0ZVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVXBkYXRlVmFsdWVzIiBUeXBl -TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXBkYXRlVmFsdWVzIiBU -eXBlTmFtZT0idWE6RGF0YVZhbHVlIiBMZW5ndGhGaWVsZD0iTm9PZlVwZGF0ZVZhbHVlcyIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJV -cGRhdGVTdHJ1Y3R1cmVEYXRhRGV0YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0 -YWlscyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQi -IFNvdXJjZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlBlcmZvcm1JbnNlcnRSZXBsYWNlIiBUeXBlTmFtZT0idG5zOlBlcmZvcm1VcGRhdGVU -eXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlVwZGF0ZVZhbHVlcyIgVHlwZU5hbWU9 -Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVwZGF0ZVZhbHVlcyIgVHlwZU5h -bWU9InVhOkRhdGFWYWx1ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZVcGRhdGVWYWx1ZXMiIC8+DQogIDwv -b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVXBkYXRl -RXZlbnREZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0i -dG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGVyZm9y -bUluc2VydFJlcGxhY2UiIFR5cGVOYW1lPSJ0bnM6UGVyZm9ybVVwZGF0ZVR5cGUiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXIiIFR5cGVOYW1lPSJ0bnM6RXZlbnRGaWx0ZXIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRXZlbnREYXRhIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnREYXRhIiBUeXBlTmFtZT0idG5zOkhpc3RvcnlF -dmVudEZpZWxkTGlzdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZFdmVudERhdGEiIC8+DQogIDwvb3BjOlN0 -cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlUmF3TW9k -aWZpZWREZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0i -dG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNEZWxl -dGVNb2RpZmllZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iU3RhcnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iRW5kVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgPC9vcGM6U3RydWN0 -dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVBdFRpbWVEZXRh -aWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOkhpc3Rv -cnlVcGRhdGVEZXRhaWxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlcVRpbWVzIiBU -eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxVGltZXMiIFR5 -cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIExlbmd0aEZpZWxkPSJOb09mUmVxVGltZXMiIC8+DQogIDwv -b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRl -RXZlbnREZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0i -dG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkV2 -ZW50SWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZl -bnRJZHMiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZFdmVudElk -cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJIaXN0b3J5VXBkYXRlUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2Rl -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk9wZXJhdGlvblJlc3VsdHMiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJPcGVyYXRpb25SZXN1bHRzIiBU -eXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZPcGVyYXRpb25SZXN1bHRz -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9 -Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlw -ZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZv -cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJIaXN0b3J5VXBkYXRlUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVl -c3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mSGlzdG9yeVVwZGF0ZURldGFp -bHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJIaXN0b3J5 -VXBkYXRlRGV0YWlscyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgTGVuZ3RoRmllbGQ9 -Ik5vT2ZIaXN0b3J5VXBkYXRlRGV0YWlscyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5VXBkYXRlUmVzcG9uc2UiIEJhc2VU -eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VI -ZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6SGlzdG9yeVVwZGF0ZVJlc3VsdCIgTGVuZ3Ro -RmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0 -aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRp -YWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0i -Tm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w -YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDYWxsTWV0aG9kUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4 -dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJPYmplY3RJZCIgVHlwZU5hbWU9 -InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1ldGhvZElkIiBUeXBlTmFtZT0i -dWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZklucHV0QXJndW1lbnRzIiBU -eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5wdXRBcmd1bWVu -dHMiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiBMZW5ndGhGaWVsZD0iTm9PZklucHV0QXJndW1lbnRz -IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9IkNhbGxNZXRob2RSZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mSW5wdXRBcmd1bWVudFJlc3VsdHMiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbnB1dEFyZ3VtZW50UmVzdWx0 -cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mSW5wdXRBcmd1bWVu -dFJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mSW5wdXRBcmd1bWVudERpYWdu -b3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IklucHV0QXJndW1lbnREaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5m -byIgTGVuZ3RoRmllbGQ9Ik5vT2ZJbnB1dEFyZ3VtZW50RGlhZ25vc3RpY0luZm9zIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTm9PZk91dHB1dEFyZ3VtZW50cyIgVHlwZU5hbWU9Im9wYzpJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik91dHB1dEFyZ3VtZW50cyIgVHlwZU5hbWU9InVh -OlZhcmlhbnQiIExlbmd0aEZpZWxkPSJOb09mT3V0cHV0QXJndW1lbnRzIiAvPg0KICA8L29wYzpT -dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNhbGxSZXF1ZXN0 -IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl -cXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZNZXRob2RzVG9DYWxsIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTWV0aG9kc1RvQ2FsbCIgVHlwZU5hbWU9InRuczpDYWxsTWV0aG9k -UmVxdWVzdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZNZXRob2RzVG9DYWxsIiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNhbGxSZXNwb25zZSIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNw -b25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InRuczpDYWxsTWV0aG9kUmVzdWx0IiBMZW5n -dGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25v -c3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -RGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxk -PSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 -b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9Ik1vbml0b3JpbmdNb2RlIiBMZW5ndGhJbkJpdHM9IjMy -Ij4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEaXNhYmxlZCIgVmFsdWU9IjAiIC8+ -DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU2FtcGxpbmciIFZhbHVlPSIxIiAvPg0K -ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlcG9ydGluZyIgVmFsdWU9IjIiIC8+DQog -IDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRGF0 -YUNoYW5nZVRyaWdnZXIiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh -bHVlIE5hbWU9IlN0YXR1cyIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iU3RhdHVzVmFsdWUiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9IlN0YXR1c1ZhbHVlVGltZXN0YW1wIiBWYWx1ZT0iMiIgLz4NCiAgPC9vcGM6RW51bWVy -YXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJEZWFkYmFuZFR5cGUiIExl -bmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZh -bHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFic29sdXRlIiBWYWx1 -ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJQZXJjZW50IiBWYWx1ZT0i -MiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJNb25pdG9yaW5nRmlsdGVyIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg -PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRh -Q2hhbmdlRmlsdGVyIiBCYXNlVHlwZT0idG5zOk1vbml0b3JpbmdGaWx0ZXIiPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iVHJpZ2dlciIgVHlwZU5hbWU9InRuczpEYXRhQ2hhbmdlVHJpZ2dlciIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlYWRiYW5kVHlwZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZWFkYmFuZFZhbHVlIiBUeXBlTmFtZT0ib3BjOkRv -dWJsZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJFdmVudEZpbHRlciIgQmFzZVR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVyIj4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZWxlY3RDbGF1c2VzIiBUeXBlTmFtZT0ib3BjOkludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VsZWN0Q2xhdXNlcyIgVHlwZU5hbWU9InRuczpT -aW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiBMZW5ndGhGaWVsZD0iTm9PZlNlbGVjdENsYXVzZXMiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXaGVyZUNsYXVzZSIgVHlwZU5hbWU9InRuczpDb250ZW50 -RmlsdGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU -eXBlIE5hbWU9IkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P -YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlU2VydmVyQ2FwYWJpbGl0aWVzRGVmYXVs -dHMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyZWF0 -VW5jZXJ0YWluQXNCYWQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlBlcmNlbnREYXRhQmFkIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJQZXJjZW50RGF0YUdvb2QiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlVzZVNsb3BlZEV4dHJhcG9sYXRpb24iIFR5cGVOYW1lPSJvcGM6Qm9v -bGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJBZ2dyZWdhdGVGaWx0ZXIiIEJhc2VUeXBlPSJ0bnM6TW9uaXRvcmluZ0ZpbHRlciI+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGFydFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZ2dyZWdhdGVUeXBlIiBUeXBlTmFtZT0idWE6Tm9k -ZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJvY2Vzc2luZ0ludGVydmFsIiBUeXBlTmFt -ZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFnZ3JlZ2F0ZUNvbmZpZ3Vy -YXRpb24iIFR5cGVOYW1lPSJ0bnM6QWdncmVnYXRlQ29uZmlndXJhdGlvbiIgLz4NCiAgPC9vcGM6 -U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb25pdG9yaW5n -RmlsdGVyUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFdmVudEZpbHRlclJl -c3VsdCIgQmFzZVR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVyUmVzdWx0Ij4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZTZWxlY3RDbGF1c2VSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VsZWN0Q2xhdXNlUmVzdWx0cyIgVHlwZU5hbWU9InVh -OlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mU2VsZWN0Q2xhdXNlUmVzdWx0cyIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZWxlY3RDbGF1c2VEaWFnbm9zdGljSW5mb3MiIFR5cGVO -YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWxlY3RDbGF1c2VEaWFn -bm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5v -T2ZTZWxlY3RDbGF1c2VEaWFnbm9zdGljSW5mb3MiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJX -aGVyZUNsYXVzZVJlc3VsdCIgVHlwZU5hbWU9InRuczpDb250ZW50RmlsdGVyUmVzdWx0IiAvPg0K -ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFn -Z3JlZ2F0ZUZpbHRlclJlc3VsdCIgQmFzZVR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVyUmVzdWx0 -Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRTdGFydFRpbWUiIFR5cGVOYW1lPSJvcGM6 -RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkUHJvY2Vzc2luZ0ludGVy -dmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlz -ZWRBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBUeXBlTmFtZT0idG5zOkFnZ3JlZ2F0ZUNvbmZpZ3Vy -YXRpb24iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iTW9uaXRvcmluZ1BhcmFtZXRlcnMiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl -Y3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50SGFuZGxlIiBUeXBlTmFtZT0ib3BjOlVJ -bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNhbXBsaW5nSW50ZXJ2YWwiIFR5cGVOYW1l -PSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmlsdGVyIiBUeXBlTmFtZT0i -dWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVldWVTaXplIiBU -eXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2NhcmRPbGRl -c3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJdGVt -VG9Nb25pdG9yIiBUeXBlTmFtZT0idG5zOlJlYWRWYWx1ZUlkIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTW9uaXRvcmluZ01vZGUiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmluZ01vZGUiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRQYXJhbWV0ZXJzIiBUeXBlTmFtZT0idG5zOk1v -bml0b3JpbmdQYXJhbWV0ZXJzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -OlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIEJhc2VUeXBl -PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIg -VHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb25pdG9y -ZWRJdGVtSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UmV2aXNlZFNhbXBsaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iUmV2aXNlZFF1ZXVlU2l6ZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXJSZXN1bHQiIFR5cGVOYW1lPSJ1YTpFeHRlbnNp -b25PYmplY3QiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl -ZFR5cGUgTmFtZT0iQ3JlYXRlTW9uaXRvcmVkSXRlbXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0 -ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVO -YW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlw -dGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRp -bWVzdGFtcHNUb1JldHVybiIgVHlwZU5hbWU9InRuczpUaW1lc3RhbXBzVG9SZXR1cm4iIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mSXRlbXNUb0NyZWF0ZSIgVHlwZU5hbWU9Im9wYzpJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikl0ZW1zVG9DcmVhdGUiIFR5cGVOYW1lPSJ0bnM6 -TW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIExlbmd0aEZpZWxkPSJOb09mSXRlbXNUb0NyZWF0 -ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJDcmVhdGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u -T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0i -dG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMi -IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBU -eXBlTmFtZT0idG5zOk1vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09m -UmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5 -cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5m -b3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9z -dGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl -ZFR5cGUgTmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRl -bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmVkSXRlbUlkIiBUeXBl -TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZFBhcmFt -ZXRlcnMiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmluZ1BhcmFtZXRlcnMiIC8+DQogIDwvb3BjOlN0 -cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9uaXRvcmVkSXRl -bU1vZGlmeVJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRTYW1wbGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRv -dWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRRdWV1ZVNpemUiIFR5cGVOYW1l -PSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmlsdGVyUmVzdWx0IiBUeXBl -TmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vZGlmeU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 -ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iIFR5cGVOYW1lPSJ0bnM6VGltZXN0YW1w -c1RvUmV0dXJuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkl0ZW1zVG9Nb2RpZnkiIFR5 -cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJdGVtc1RvTW9kaWZ5 -IiBUeXBlTmFtZT0idG5zOk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiBMZW5ndGhGaWVsZD0i -Tm9PZkl0ZW1zVG9Nb2RpZnkiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 -U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhl -YWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InRuczpNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0IiBM -ZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlh -Z25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZp -ZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNldE1vbml0b3JpbmdNb2RlUmVxdWVzdCIgQmFz -ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0 -SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJNb25pdG9yaW5nTW9kZSIgVHlwZU5hbWU9InRuczpNb25pdG9yaW5nTW9kZSIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZNb25pdG9yZWRJdGVtSWRzIiBUeXBlTmFtZT0i -b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmVkSXRlbUlkcyIgVHlw -ZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mTW9uaXRvcmVkSXRlbUlkcyIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJT -ZXRNb25pdG9yaW5nTW9kZVJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3Bv -bnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0i -dWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0 -aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXRUcmlnZ2VyaW5n -UmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmlnZ2VyaW5nSXRlbUlkIiBUeXBlTmFtZT0ib3BjOlVJ -bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZMaW5rc1RvQWRkIiBUeXBlTmFtZT0i -b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGlua3NUb0FkZCIgVHlwZU5hbWU9 -Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mTGlua3NUb0FkZCIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZMaW5rc1RvUmVtb3ZlIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTGlua3NUb1JlbW92ZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIExl -bmd0aEZpZWxkPSJOb09mTGlua3NUb1JlbW92ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXRUcmlnZ2VyaW5nUmVzcG9uc2UiIEJh -c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9u -c2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOb09mQWRkUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IkFkZFJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhG -aWVsZD0iTm9PZkFkZFJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQWRkRGlh -Z25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iQWRkRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0 -aEZpZWxkPSJOb09mQWRkRGlhZ25vc3RpY0luZm9zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Tm9PZlJlbW92ZVJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJSZW1vdmVSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmll -bGQ9Ik5vT2ZSZW1vdmVSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlbW92 -ZURpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlJlbW92ZURpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZv -IiBMZW5ndGhGaWVsZD0iTm9PZlJlbW92ZURpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVNb25pdG9y -ZWRJdGVtc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk1vbml0b3JlZEl0ZW1JZHMiIFR5cGVO -YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb25pdG9yZWRJdGVtSWRz -IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZNb25pdG9yZWRJdGVtSWRz -IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P -YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0 -bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5 -cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6 -RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8 -L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNyZWF0 -ZVN1YnNjcmlwdGlvblJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVh -ZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFs -IiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3Rl -ZExpZmV0aW1lQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iUmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2giIFR5cGVO -YW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaGluZ0VuYWJs -ZWQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByaW9y -aXR5IiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog -IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ3JlYXRlU3Vic2NyaXB0aW9uUmVzcG9uc2UiIEJh -c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9u -c2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJSZXZpc2VkUHVibGlzaGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRv -dWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRMaWZldGltZUNvdW50IiBUeXBl -TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRNYXhLZWVw -QWxpdmVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9kaWZ5U3Vic2NyaXB0aW9uUmVx -dWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWwiIFR5cGVOYW1l -PSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkTGlmZXRpbWVD -b3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 -ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJNYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaCIgVHlwZU5hbWU9Im9wYzpV -SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcmlvcml0eSIgVHlwZU5hbWU9Im9wYzpC -eXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl -IE5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvblJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u -T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0i -dG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZFB1Ymxp -c2hpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJSZXZpc2VkTGlmZXRpbWVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkTWF4S2VlcEFsaXZlQ291bnQiIFR5cGVOYW1lPSJvcGM6 -VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU -eXBlIE5hbWU9IlNldFB1Ymxpc2hpbmdNb2RlUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lv -bk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0i -dG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nRW5h -YmxlZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P -ZlN1YnNjcmlwdGlvbklkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlN1YnNjcmlwdGlvbklkcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxk -PSJOb09mU3Vic2NyaXB0aW9uSWRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 -b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNldFB1Ymxpc2hpbmdNb2RlUmVzcG9uc2UiIEJhc2VU -eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VI -ZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9P -ZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBU -eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0lu -Zm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25v -c3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy -ZWRUeXBlIE5hbWU9Ik5vdGlmaWNhdGlvbk1lc3NhZ2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P -YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VxdWVuY2VOdW1iZXIiIFR5cGVOYW1lPSJv -cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaFRpbWUiIFR5cGVOYW1l -PSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTm90aWZpY2F0aW9u -RGF0YSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vdGlm -aWNhdGlvbkRhdGEiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIExlbmd0aEZpZWxkPSJO -b09mTm90aWZpY2F0aW9uRGF0YSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w -YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJOb3RpZmljYXRpb25EYXRhIiBCYXNlVHlwZT0idWE6RXh0 -ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJEYXRhQ2hhbmdlTm90aWZpY2F0aW9uIiBCYXNlVHlwZT0idG5zOk5vdGlm -aWNhdGlvbkRhdGEiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk1vbml0b3JlZEl0ZW1zIiBU -eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmVkSXRl -bXMiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiIgTGVuZ3RoRmllbGQ9 -Ik5vT2ZNb25pdG9yZWRJdGVtcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9z -dGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE -aWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9 -Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv -cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnRIYW5k -bGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWUi -IFR5cGVOYW1lPSJ1YTpEYXRhVmFsdWUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog -IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRXZlbnROb3RpZmljYXRpb25MaXN0IiBCYXNlVHlw -ZT0idG5zOk5vdGlmaWNhdGlvbkRhdGEiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkV2ZW50 -cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50cyIg -VHlwZU5hbWU9InRuczpFdmVudEZpZWxkTGlzdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZFdmVudHMiIC8+ -DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i -RXZlbnRGaWVsZExpc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iQ2xpZW50SGFuZGxlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFdmVudEZpZWxkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50RmllbGRzIiBUeXBlTmFtZT0idWE6VmFyaWFudCIg -TGVuZ3RoRmllbGQ9Ik5vT2ZFdmVudEZpZWxkcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5RXZlbnRGaWVsZExpc3QiIEJh -c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkV2 -ZW50RmllbGRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -RXZlbnRGaWVsZHMiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiBMZW5ndGhGaWVsZD0iTm9PZkV2ZW50 -RmllbGRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU -eXBlIE5hbWU9IlN0YXR1c0NoYW5nZU5vdGlmaWNhdGlvbiIgQmFzZVR5cGU9InRuczpOb3RpZmlj -YXRpb25EYXRhIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1cyIgVHlwZU5hbWU9InVhOlN0 -YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mbyIgVHlwZU5h -bWU9InVhOkRpYWdub3N0aWNJbmZvIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 -b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudCIgQmFz -ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3Jp -cHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT -ZXF1ZW5jZU51bWJlciIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUHVibGlzaFJlcXVlc3QiIEJh -c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVz -dEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTm9PZlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudHMiIFR5cGVOYW1lPSJvcGM6SW50 -MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnRz -IiBUeXBlTmFtZT0idG5zOlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudCIgTGVuZ3RoRmllbGQ9 -Ik5vT2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlB1Ymxpc2hSZXNwb25zZSIgQmFz -ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25z -ZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vT2ZBdmFpbGFibGVTZXF1ZW5jZU51bWJlcnMiIFR5cGVOYW1lPSJvcGM6 -SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdmFpbGFibGVTZXF1ZW5jZU51bWJlcnMi -IFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkF2YWlsYWJsZVNlcXVlbmNl -TnVtYmVycyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vcmVOb3RpZmljYXRpb25zIiBUeXBl -TmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb3RpZmljYXRpb25N -ZXNzYWdlIiBUeXBlTmFtZT0idG5zOk5vdGlmaWNhdGlvbk1lc3NhZ2UiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVs -ZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0lu -Zm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25v -c3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09m -RGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 -cnVjdHVyZWRUeXBlIE5hbWU9IlJlcHVibGlzaFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp -b25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9 -InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9u -SWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV0cmFu -c21pdFNlcXVlbmNlTnVtYmVyIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZXB1Ymxpc2hSZXNw -b25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vdGlmaWNhdGlvbk1lc3NhZ2UiIFR5cGVOYW1lPSJ0bnM6Tm90aWZp -Y2F0aW9uTWVzc2FnZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 -Y3R1cmVkVHlwZSBOYW1lPSJUcmFuc2ZlclJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i -amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3Rh -dHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBdmFpbGFibGVTZXF1ZW5jZU51 -bWJlcnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdmFp -bGFibGVTZXF1ZW5jZU51bWJlcnMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0i -Tm9PZkF2YWlsYWJsZVNlcXVlbmNlTnVtYmVycyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJUcmFuc2ZlclN1YnNjcmlwdGlvbnNSZXF1 -ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vT2ZTdWJzY3JpcHRpb25JZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZHMiIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiBMZW5ndGhGaWVsZD0iTm9PZlN1YnNjcmlwdGlvbklkcyIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlNlbmRJbml0aWFsVmFsdWVzIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwv -b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVHJhbnNm -ZXJTdWJzY3JpcHRpb25zUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9u -c2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9 -Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0 -bnM6VHJhbnNmZXJSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFn -bm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3Bj -OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlU3Vi -c2NyaXB0aW9uc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlN1YnNjcmlwdGlvbklkcyIgVHlwZU5hbWU9 -Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkcyIgVHlw -ZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mU3Vic2NyaXB0aW9uSWRzIiAvPg0K -ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRl -bGV0ZVN1YnNjcmlwdGlvbnNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNw -b25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFt -ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9 -InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9z -dGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0 -cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRW51bWVyYXRlZFRl -c3RUeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBzaW1w -bGUgZW51bWVyYXRlZCB0eXBlIHVzZWQgZm9yIHRlc3RpbmcuPC9vcGM6RG9jdW1lbnRhdGlvbj4N -CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWQiIFZhbHVlPSIxIiAvPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlllbGxvdyIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpF -bnVtZXJhdGVkVmFsdWUgTmFtZT0iR3JlZW4iIFZhbHVlPSI1IiAvPg0KICA8L29wYzpFbnVtZXJh -dGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJ1aWxkSW5mbyIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcm9kdWN0VXJp -IiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1hbnVmYWN0 -dXJlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UHJvZHVjdE5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iU29mdHdhcmVWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkJ1aWxkTnVtYmVyIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IkJ1aWxkRGF0ZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgPC9v -cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJSZWR1bmRh -bmN5U3VwcG9ydCIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i -Q29sZCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iV2FybSIg -VmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSG90IiBWYWx1ZT0i -MyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJUcmFuc3BhcmVudCIgVmFsdWU9 -IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSG90QW5kTWlycm9yZWQiIFZh -bHVlPSI1IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRU -eXBlIE5hbWU9IlNlcnZlclN0YXRlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1l -cmF0ZWRWYWx1ZSBOYW1lPSJSdW5uaW5nIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0 -ZWRWYWx1ZSBOYW1lPSJGYWlsZWQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh -bHVlIE5hbWU9Ik5vQ29uZmlndXJhdGlvbiIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJh -dGVkVmFsdWUgTmFtZT0iU3VzcGVuZGVkIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0 -ZWRWYWx1ZSBOYW1lPSJTaHV0ZG93biIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk -VmFsdWUgTmFtZT0iVGVzdCIgVmFsdWU9IjUiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iQ29tbXVuaWNhdGlvbkZhdWx0IiBWYWx1ZT0iNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0 -ZWRWYWx1ZSBOYW1lPSJVbmtub3duIiBWYWx1ZT0iNyIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlw -ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT -ZXJ2ZXJJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT -ZXJ2aWNlTGV2ZWwiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlNlcnZlclN0YXRlIiBUeXBlTmFtZT0idG5zOlNlcnZlclN0YXRlIiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkVuZHBvaW50VXJsTGlz -dERhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vT2ZFbmRwb2ludFVybExpc3QiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybExpc3QiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBM -ZW5ndGhGaWVsZD0iTm9PZkVuZHBvaW50VXJsTGlzdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJOZXR3b3JrR3JvdXBEYXRhVHlwZSIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2 -ZXJVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P -Zk5ldHdvcmtQYXRocyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ik5ldHdvcmtQYXRocyIgVHlwZU5hbWU9InRuczpFbmRwb2ludFVybExpc3REYXRhVHlwZSIg -TGVuZ3RoRmllbGQ9Ik5vT2ZOZXR3b3JrUGF0aHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl -Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0 -aWNzRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iU2FtcGxpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJNb25pdG9yZWRJdGVtQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4TW9uaXRvcmVkSXRlbUNvdW50IiBUeXBlTmFt -ZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2FibGVkTW9uaXRvcmVk -SXRlbUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXJ2ZXJEaWFnbm9zdGljc1N1bW1h -cnlEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJTZXJ2ZXJWaWV3Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iQ3VycmVudFNlc3Npb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdW11bGF0ZWRTZXNzaW9uQ291bnQiIFR5cGVOYW1l -PSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlSZWplY3RlZFNl -c3Npb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJSZWplY3RlZFNlc3Npb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJTZXNzaW9uVGltZW91dENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlc3Npb25BYm9ydENvdW50IiBUeXBlTmFtZT0ib3Bj -OlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1cnJlbnRTdWJzY3JpcHRpb25Db3Vu -dCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdW11bGF0 -ZWRTdWJzY3JpcHRpb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJQdWJsaXNoaW5nSW50ZXJ2YWxDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eVJlamVjdGVkUmVxdWVzdHNDb3VudCIg -VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWplY3RlZFJl -cXVlc3RzQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNlcnZlclN0YXR1c0RhdGFUeXBl -IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0 -YXJ0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkN1cnJlbnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iU3RhdGUiIFR5cGVOYW1lPSJ0bnM6U2VydmVyU3RhdGUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJCdWlsZEluZm8iIFR5cGVOYW1lPSJ0bnM6QnVpbGRJbmZvIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iU2Vjb25kc1RpbGxTaHV0ZG93biIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTaHV0ZG93blJlYXNvbiIgVHlwZU5hbWU9InVhOkxvY2Fs -aXplZFRleHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl -ZFR5cGUgTmFtZT0iU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRl -bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvbklkIiBUeXBlTmFtZT0i -dWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvbk5hbWUiIFR5cGVOYW1l -PSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50RGVzY3JpcHRpb24i -IFR5cGVOYW1lPSJ0bnM6QXBwbGljYXRpb25EZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlNlcnZlclVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJFbmRwb2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJOb09mTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmll -bGQ9Ik5vT2ZMb2NhbGVJZHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBY3R1YWxTZXNzaW9u -VGltZW91dCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJN -YXhSZXNwb25zZU1lc3NhZ2VTaXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IkNsaWVudENvbm5lY3Rpb25UaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1l -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50TGFzdENvbnRhY3RUaW1lIiBUeXBlTmFt -ZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3VycmVudFN1YnNjcmlw -dGlvbnNDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJDdXJyZW50TW9uaXRvcmVkSXRlbXNDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJDdXJyZW50UHVibGlzaFJlcXVlc3RzSW5RdWV1ZSIgVHlwZU5h -bWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUb3RhbFJlcXVlc3RDb3Vu -dCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iVW5hdXRob3JpemVkUmVxdWVzdENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlYWRDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNl -Q291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSGlzdG9yeVJlYWRDb3Vu -dCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iV3JpdGVDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBl -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSGlzdG9yeVVwZGF0ZUNvdW50IiBUeXBlTmFtZT0i -dG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDYWxs -Q291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2Vy -dmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vZGlmeU1vbml0 -b3JlZEl0ZW1zQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNldE1vbml0b3JpbmdNb2RlQ291bnQiIFR5cGVOYW1lPSJ0 -bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNldFRy -aWdnZXJpbmdDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iRGVsZXRlTW9uaXRvcmVkSXRlbXNDb3VudCIgVHlwZU5hbWU9 -InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3Jl -YXRlU3Vic2NyaXB0aW9uQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlw -ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvbkNvdW50IiBUeXBl -TmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJTZXRQdWJsaXNoaW5nTW9kZUNvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0 -YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoQ291bnQiIFR5cGVOYW1lPSJ0 -bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcHVi -bGlzaENvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJUcmFuc2ZlclN1YnNjcmlwdGlvbnNDb3VudCIgVHlwZU5hbWU9InRu -czpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVsZXRl -U3Vic2NyaXB0aW9uc0NvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGROb2Rlc0NvdW50IiBUeXBlTmFtZT0idG5zOlNl -cnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGRSZWZlcmVu -Y2VzQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IkRlbGV0ZU5vZGVzQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNv -dW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlbGV0ZVJlZmVyZW5jZXND -b3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iQnJvd3NlQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRh -VHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5leHRDb3VudCIgVHlwZU5hbWU9 -InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJh -bnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291 -bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVlcnlGaXJzdENvdW50IiBU -eXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJRdWVyeU5leHRDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBl -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVnaXN0ZXJOb2Rlc0NvdW50IiBUeXBlTmFtZT0i -dG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVbnJl -Z2lzdGVyTm9kZXNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -IlNlc3Npb25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp -b25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6 -Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50VXNlcklkT2ZTZXNzaW9uIiBU -eXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZDbGllbnRV -c2VySWRIaXN0b3J5IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iQ2xpZW50VXNlcklkSGlzdG9yeSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxk -PSJOb09mQ2xpZW50VXNlcklkSGlzdG9yeSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF1dGhl -bnRpY2F0aW9uTWVjaGFuaXNtIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkVuY29kaW5nIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlRyYW5zcG9ydFByb3RvY29sIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TW9kZSIgVHlwZU5hbWU9InRuczpNZXNzYWdlU2Vj -dXJpdHlNb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlQb2xpY3lVcmkiIFR5 -cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50Q2VydGlm -aWNhdGUiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXJ2aWNlQ291bnRlckRhdGFUeXBl -IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRv -dGFsQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -RXJyb3JDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3RhdHVzUmVzdWx0IiBCYXNlVHlw -ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUi -IFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25v -c3RpY0luZm8iIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgLz4NCiAgPC9vcGM6U3RydWN0 -dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTdWJzY3JpcHRpb25EaWFn -bm9zdGljc0RhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlByaW9yaXR5IiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91Ymxl -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4S2VlcEFsaXZlQ291bnQiIFR5cGVOYW1lPSJv -cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4TGlmZXRpbWVDb3VudCIgVHlw -ZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhOb3RpZmljYXRp -b25zUGVyUHVibGlzaCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJQdWJsaXNoaW5nRW5hYmxlZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iTW9kaWZ5Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iRW5hYmxlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzYWJsZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcHVibGlzaFJlcXVlc3RDb3VudCIgVHlwZU5hbWU9 -Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXB1Ymxpc2hNZXNzYWdlUmVx -dWVzdENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlJlcHVibGlzaE1lc3NhZ2VDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJUcmFuc2ZlclJlcXVlc3RDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc2ZlcnJlZFRvQWx0Q2xpZW50Q291bnQiIFR5 -cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNmZXJyZWRU -b1NhbWVDbGllbnRDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJQdWJsaXNoUmVxdWVzdENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFDaGFuZ2VOb3RpZmljYXRpb25zQ291bnQiIFR5cGVOYW1l -PSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnROb3RpZmljYXRpb25z -Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm90 -aWZpY2F0aW9uc0NvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkxhdGVQdWJsaXNoUmVxdWVzdENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1cnJlbnRLZWVwQWxpdmVDb3VudCIgVHlwZU5hbWU9Im9w -YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdXJyZW50TGlmZXRpbWVDb3VudCIg -VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVbmFja25vd2xl -ZGdlZE1lc3NhZ2VDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJEaXNjYXJkZWRNZXNzYWdlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmVkSXRlbUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJ -bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2FibGVkTW9uaXRvcmVkSXRlbUNvdW50 -IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3Jp -bmdRdWV1ZU92ZXJmbG93Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iTmV4dFNlcXVlbmNlTnVtYmVyIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50UXVldWVPdmVyRmxvd0NvdW50IiBUeXBlTmFtZT0i -b3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJh -dGVkVHlwZSBOYW1lPSJNb2RlbENoYW5nZVN0cnVjdHVyZVZlcmJNYXNrIiBMZW5ndGhJbkJpdHM9 -IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlQWRkZWQiIFZhbHVlPSIx -IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vZGVEZWxldGVkIiBWYWx1ZT0i -MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWZlcmVuY2VBZGRlZCIgVmFs -dWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlRGVsZXRl -ZCIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGF0YVR5cGVD -aGFuZ2VkIiBWYWx1ZT0iMTYiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6 -U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZmZlY3RlZCIg -VHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFmZmVjdGVkVHlw -ZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZlcmIiIFR5 -cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT -dHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZW1hbnRpY0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiBCYXNl -VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFmZmVjdGVk -IiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWZmZWN0ZWRU -eXBlIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJhbmdlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u -T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvdyIgVHlwZU5hbWU9Im9wYzpEb3VibGUi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJIaWdoIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJF -VUluZm9ybWF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5hbWVzcGFjZVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJVbml0SWQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRl -eHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUg -TmFtZT0iQXhpc1NjYWxlRW51bWVyYXRpb24iIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6 -RW51bWVyYXRlZFZhbHVlIE5hbWU9IkxpbmVhciIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVt -ZXJhdGVkVmFsdWUgTmFtZT0iTG9nIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJMbiIgVmFsdWU9IjIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQog -IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ29tcGxleE51bWJlclR5cGUiIEJhc2VUeXBlPSJ1 -YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVhbCIgVHlwZU5hbWU9 -Im9wYzpGbG9hdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkltYWdpbmFyeSIgVHlwZU5hbWU9 -Im9wYzpGbG9hdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJEb3VibGVDb21wbGV4TnVtYmVyVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVu -c2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWFsIiBUeXBlTmFtZT0ib3BjOkRv -dWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkltYWdpbmFyeSIgVHlwZU5hbWU9Im9wYzpE -b3VibGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iQXhpc0luZm9ybWF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZ2luZWVyaW5nVW5pdHMiIFR5cGVOYW1lPSJ0bnM6RVVJ -bmZvcm1hdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVVUmFuZ2UiIFR5cGVOYW1lPSJ0 -bnM6UmFuZ2UiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaXRsZSIgVHlwZU5hbWU9InVhOkxv -Y2FsaXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBeGlzU2NhbGVUeXBlIiBUeXBl -TmFtZT0idG5zOkF4aXNTY2FsZUVudW1lcmF0aW9uIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Tm9PZkF4aXNTdGVwcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkF4aXNTdGVwcyIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIExlbmd0aEZpZWxkPSJOb09mQXhp -c1N0ZXBzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU -eXBlIE5hbWU9IlhWVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJYIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0ib3BjOkZsb2F0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlByb2dyYW1EaWFnbm9zdGljRGF0 -YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iQ3JlYXRlU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iQ3JlYXRlQ2xpZW50TmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJJbnZvY2F0aW9uQ3JlYXRpb25UaW1lIiBUeXBlTmFtZT0ib3BjOkRh -dGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdFRyYW5zaXRpb25UaW1lIiBUeXBl -TmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZENh -bGwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1l -dGhvZFNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ik5vT2ZMYXN0TWV0aG9kSW5wdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kSW5wdXRBcmd1bWVudHMiIFR5cGVOYW1l -PSJ0bnM6QXJndW1lbnQiIExlbmd0aEZpZWxkPSJOb09mTGFzdE1ldGhvZElucHV0QXJndW1lbnRz -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxhc3RNZXRob2RPdXRwdXRBcmd1bWVudHMi -IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9k -T3V0cHV0QXJndW1lbnRzIiBUeXBlTmFtZT0idG5zOkFyZ3VtZW50IiBMZW5ndGhGaWVsZD0iTm9P -Zkxhc3RNZXRob2RPdXRwdXRBcmd1bWVudHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0 -TWV0aG9kQ2FsbFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJMYXN0TWV0aG9kUmV0dXJuU3RhdHVzIiBUeXBlTmFtZT0idG5zOlN0YXR1c1Jlc3Vs -dCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJBbm5vdGF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik1lc3NhZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iVXNlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iQW5ub3RhdGlvblRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRXhj -ZXB0aW9uRGV2aWF0aW9uRm9ybWF0IiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1l -cmF0ZWRWYWx1ZSBOYW1lPSJBYnNvbHV0ZVZhbHVlIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVu -dW1lcmF0ZWRWYWx1ZSBOYW1lPSJQZXJjZW50T2ZWYWx1ZSIgVmFsdWU9IjEiIC8+DQogICAgPG9w -YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUGVyY2VudE9mUmFuZ2UiIFZhbHVlPSIyIiAvPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlBlcmNlbnRPZkVVUmFuZ2UiIFZhbHVlPSIzIiAv -Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVua25vd24iIFZhbHVlPSI0IiAvPg0K -ICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KPC9vcGM6VHlwZURpY3Rpb25hcnk+ - - - - NamespaceUri - A URI that uniquely identifies the dictionary. - - i=68 - i=7617 - - - http://opcfoundation.org/UA/ - - - - TrustListDataType - - i=69 - i=7617 - - - TrustListDataType - - - - Argument - - i=69 - i=7617 - - - Argument - - - - EnumValueType - - i=69 - i=7617 - - - EnumValueType - - - - OptionSet - - i=69 - i=7617 - - - OptionSet - - - - Union - - i=69 - i=7617 - - - Union - - - - 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 - - - - KerberosIdentityToken - - i=69 - i=7617 - - - KerberosIdentityToken - - - - 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 - - - - SupportedProfile - - i=69 - i=7617 - - - SupportedProfile - - - - SoftwareCertificate - - i=69 - i=7617 - - - SoftwareCertificate - - - - 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 - - - - Annotation - - i=69 - i=7617 - - - Annotation - - - \ No newline at end of file + + + + + + + + + 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 + + + FromState + The type for a reference to the state before a transition. + + i=32 + + ToTransition + + + ToState + The type for a reference to the state after a transition. + + i=32 + + FromTransition + + + HasCause + The type for a reference to a method that can cause a transition to occur. + + i=32 + + MayBeCausedBy + + + HasEffect + The type for a reference to an event that may be raised when a transition occurs. + + i=32 + + MayBeEffectedBy + + + HasSubStateMachine + The type for a reference to a substate for a state. + + i=32 + + SubStateMachineOf + + + BaseObjectType + The base type for all object nodes. + + + + FolderType + The type for objects that organize other nodes. + + i=58 + + + + BaseVariableType + The abstract base type for all variable nodes. + + + + BaseDataVariableType + The type for variable that represents a process value. + + i=62 + + + + PropertyType + The type for variable that represents a property of another node. + + i=62 + + + + DataTypeDescriptionType + The type for variable that represents the description of a data type encoding. + + i=104 + i=105 + i=63 + + + + DataTypeVersion + The version number for the data type description. + + i=68 + i=80 + i=69 + + + + DictionaryFragment + A fragment of a data type dictionary that defines the data type. + + i=68 + i=80 + i=69 + + + + DataTypeDictionaryType + The type for variable that represents the collection of data type decriptions. + + i=106 + i=107 + i=63 + + + + DataTypeVersion + The version number for the data type dictionary. + + i=68 + i=80 + i=72 + + + + NamespaceUri + A URI that uniquely identifies the dictionary. + + i=68 + i=80 + i=72 + + + + DataTypeSystemType + + i=58 + + + + DataTypeEncodingType + + i=58 + + + + ModellingRuleType + The type for an object that describes how an instance declaration is used when a type is instantiated. + + i=111 + i=58 + + + + NamingRule + Specified the significances of the BrowseName when a type is instantiated. + + i=68 + i=78 + i=77 + + + 1 + + + + Mandatory + Specifies that an instance with the attributes and references of the instance declaration must appear when a type is instantiated. + + i=112 + i=77 + + + + NamingRule + Specified the significances of the BrowseName when a type is instantiated. + + i=68 + i=78 + + + 1 + + + + Optional + Specifies that an instance with the attributes and references of the instance declaration may appear when a type is instantiated. + + i=113 + i=77 + + + + NamingRule + Specified the significances of the BrowseName when a type is instantiated. + + i=68 + i=80 + + + 2 + + + + ExposesItsArray + Specifies that an instance appears for each element of the containing array variable. + + i=114 + i=77 + + + + NamingRule + Specified the significances of the BrowseName when a type is instantiated. + + i=68 + i=83 + + + 3 + + + + MandatoryShared + Specifies that a reference to a shared instance must appear in when a type is instantiated. + + i=116 + i=77 + + + + NamingRule + Specified the significances of the BrowseName when a type is instantiated. + + i=68 + i=79 + + + 1 + + + + OptionalPlaceholder + Specifies that zero or more instances with the attributes and references of the instance declaration may appear when a type is instantiated. + + i=11509 + i=77 + + + + NamingRule + Specified the significances of the BrowseName when a type is instantiated. + + i=68 + i=11508 + + + 2 + + + + MandatoryPlaceholder + Specifies that one or more instances with the attributes and references of the instance declaration must appear when a type is instantiated. + + i=11511 + i=77 + + + + NamingRule + Specified the significances of the BrowseName when a type is instantiated. + + i=68 + i=11510 + + + 1 + + + + Root + The root of the server address space. + + i=61 + + + + Objects + The browse entry point when looking for objects in the server address space. + + i=84 + i=61 + + + + Types + The browse entry point when looking for types in the server address space. + + i=84 + i=61 + + + + Views + The browse entry point when looking for views in the server address space. + + i=84 + i=61 + + + + ObjectTypes + The browse entry point when looking for object types in the server address space. + + i=86 + i=58 + i=61 + + + + VariableTypes + The browse entry point when looking for variable types in the server address space. + + i=86 + i=62 + i=61 + + + + DataTypes + The browse entry point when looking for data types in the server address space. + + i=86 + i=24 + i=61 + + + + ReferenceTypes + The browse entry point when looking for reference types in the server address space. + + i=86 + i=31 + i=61 + + + + XML Schema + A type system which uses XML schema to describe the encoding of data types. + + i=90 + i=75 + + + + OPC Binary + A type system which uses OPC binary schema to describe the encoding of data types. + + i=90 + i=75 + + + + ServerType + Specifies the current status and capabilities of the server. + + i=2005 + i=2006 + i=2007 + i=2008 + i=2742 + i=12882 + i=2009 + i=2010 + i=2011 + i=2012 + i=11527 + i=11489 + i=12871 + i=12746 + i=12883 + i=58 + + + + ServerArray + The list of server URIs used by the server. + + i=68 + i=78 + i=2004 + + + + NamespaceArray + The list of namespace URIs used by the server. + + i=68 + i=78 + i=2004 + + + + ServerStatus + The current status of the server. + + 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 + A value indicating the level of service the server can provide. 255 indicates the best. + + i=68 + i=78 + i=2004 + + + + Auditing + A flag indicating whether the server is currently generating audit events. + + i=68 + i=78 + i=2004 + + + + EstimatedReturnTime + Indicates the time at which the Server is expected to be available in the state RUNNING. + + i=68 + i=80 + i=2004 + + + + ServerCapabilities + Describes capabilities supported by the server. + + 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 + A list of profiles supported by the server. + + i=68 + i=78 + i=2009 + + + + LocaleIdArray + A list of locales supported by the server. + + i=68 + i=78 + i=2009 + + + + MinSupportedSampleRate + The minimum sampling interval supported by the server. + + i=68 + i=78 + i=2009 + + + + MaxBrowseContinuationPoints + The maximum number of continuation points for Browse operations per session. + + i=68 + i=78 + i=2009 + + + + MaxQueryContinuationPoints + The maximum number of continuation points for Query operations per session. + + i=68 + i=78 + i=2009 + + + + MaxHistoryContinuationPoints + The maximum number of continuation points for ReadHistory operations per session. + + i=68 + i=78 + i=2009 + + + + SoftwareCertificates + The software certificates owned by the server. + + i=68 + i=78 + i=2009 + + + + ModellingRules + A folder for the modelling rules supported by the server. + + i=61 + i=78 + i=2009 + + + + AggregateFunctions + A folder for the real time aggregates supported by the server. + + i=61 + i=78 + i=2009 + + + + ServerDiagnostics + Reports diagnostics about the server. + + i=3095 + i=3110 + i=3111 + i=3114 + i=2020 + i=78 + i=2004 + + + + ServerDiagnosticsSummary + A summary of server level diagnostics. + + 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 + A list of diagnostics for each active subscription. + + i=2171 + i=78 + i=2010 + + + + SessionsDiagnosticsSummary + A summary of session level diagnostics. + + i=3112 + i=3113 + i=2026 + i=78 + i=2010 + + + + SessionDiagnosticsArray + A list of diagnostics for each active session. + + i=2196 + i=78 + i=3111 + + + + SessionSecurityDiagnosticsArray + A list of security related diagnostics for each active session. + + i=2243 + i=78 + i=3111 + + + + EnabledFlag + If TRUE the diagnostics collection is enabled. + + i=68 + i=78 + i=2010 + + + + VendorServerInfo + Server information provided by the vendor. + + i=2033 + i=78 + i=2004 + + + + ServerRedundancy + Describes the redundancy capabilities of the server. + + i=3115 + i=2034 + i=78 + i=2004 + + + + RedundancySupport + Indicates what style of redundancy is supported by the server. + + i=68 + i=78 + i=2012 + + + + Namespaces + Describes the namespaces supported by the server. + + 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 + + + + + + + + i=297 + + + + ClientHandles + + i=7 + + 1 + + + + + + + + + + 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 + Describes the capabilities supported by the server. + + 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=58 + + + + ServerProfileArray + A list of profiles supported by the server. + + i=68 + i=78 + i=2013 + + + + LocaleIdArray + A list of locales supported by the server. + + i=68 + i=78 + i=2013 + + + + MinSupportedSampleRate + The minimum sampling interval supported by the server. + + i=68 + i=78 + i=2013 + + + + MaxBrowseContinuationPoints + The maximum number of continuation points for Browse operations per session. + + i=68 + i=78 + i=2013 + + + + MaxQueryContinuationPoints + The maximum number of continuation points for Query operations per session. + + i=68 + i=78 + i=2013 + + + + MaxHistoryContinuationPoints + The maximum number of continuation points for ReadHistory operations per session. + + i=68 + i=78 + i=2013 + + + + SoftwareCertificates + The software certificates owned by the server. + + i=68 + i=78 + i=2013 + + + + MaxArrayLength + The maximum length for an array value supported by the server. + + i=68 + i=80 + i=2013 + + + + MaxStringLength + The maximum length for a string value supported by the server. + + i=68 + i=80 + i=2013 + + + + MaxByteStringLength + The maximum length for a byte string value supported by the server. + + i=68 + i=80 + i=2013 + + + + OperationLimits + Defines the limits supported by the server for different operations. + + i=11564 + i=80 + i=2013 + + + + ModellingRules + A folder for the modelling rules supported by the server. + + i=61 + i=78 + i=2013 + + + + AggregateFunctions + A folder for the real time aggregates supported by the server. + + i=61 + i=78 + i=2013 + + + + <VendorCapability> + + i=2137 + i=11508 + i=2013 + + + + ServerDiagnosticsType + The diagnostics information for a server. + + i=2021 + i=2022 + i=2023 + i=2744 + i=2025 + i=58 + + + + ServerDiagnosticsSummary + A summary of server level diagnostics. + + 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 + A list of diagnostics for each sampling interval supported by the server. + + i=2164 + i=80 + i=2020 + + + + SubscriptionDiagnosticsArray + A list of diagnostics for each active subscription. + + i=2171 + i=78 + i=2020 + + + + SessionsDiagnosticsSummary + A summary of session level diagnostics. + + i=3129 + i=3130 + i=2026 + i=78 + i=2020 + + + + SessionDiagnosticsArray + A list of diagnostics for each active session. + + i=2196 + i=78 + i=2744 + + + + SessionSecurityDiagnosticsArray + A list of security related diagnostics for each active session. + + i=2243 + i=78 + i=2744 + + + + EnabledFlag + If TRUE the diagnostics collection is enabled. + + i=68 + i=78 + i=2020 + + + + SessionsDiagnosticsSummaryType + Provides a summary of session level diagnostics. + + i=2027 + i=2028 + i=12097 + i=58 + + + + SessionDiagnosticsArray + A list of diagnostics for each active session. + + i=2196 + i=78 + i=2026 + + + + SessionSecurityDiagnosticsArray + A list of security related diagnostics for each active session. + + i=2243 + i=78 + i=2026 + + + + <ClientName> + + i=12098 + i=12142 + i=12152 + i=2029 + i=11508 + i=2026 + + + + SessionDiagnostics + Diagnostics information for an active session. + + 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 + Security related diagnostics information for an active session. + + 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 + A list of diagnostics for each subscription owned by the session. + + i=2171 + i=78 + i=12097 + + + + SessionDiagnosticsObjectType + A container for session level diagnostics information. + + i=2030 + i=2031 + i=2032 + i=58 + + + + SessionDiagnostics + Diagnostics information for an active session. + + 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 + Security related diagnostics information for an active session. + + 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 + A list of diagnostics for each subscription owned by the session. + + i=2171 + i=78 + i=2029 + + + + VendorServerInfoType + A base type for vendor specific server information. + + i=58 + + + + ServerRedundancyType + A base type for an object that describe how a server supports redundancy. + + i=2035 + i=58 + + + + RedundancySupport + Indicates what style of redundancy is supported by the server. + + i=68 + i=78 + i=2034 + + + + TransparentRedundancyType + Identifies the capabilties of server that supports transparent redundancy. + + i=2037 + i=2038 + i=2034 + + + + CurrentServerId + The ID of the server that is currently in use. + + i=68 + i=78 + i=2036 + + + + RedundantServerArray + A list of servers in the same redundant set. + + i=68 + i=78 + i=2036 + + + + NonTransparentRedundancyType + Identifies the capabilties of server that supports non-transparent redundancy. + + i=2040 + i=2034 + + + + ServerUriArray + A list of servers in the same redundant set. + + i=68 + i=78 + i=2039 + + + + NonTransparentNetworkRedundancyType + + i=11948 + i=2039 + + + + ServerNetworkGroups + + i=68 + i=78 + i=11945 + + + + OperationLimitsType + Identifies the operation limits imposed by the server. + + 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 + The maximum number of operations in a single Read request. + + i=68 + i=80 + i=11564 + + + + MaxNodesPerHistoryReadData + The maximum number of operations in a single data HistoryRead request. + + i=68 + i=80 + i=11564 + + + + MaxNodesPerHistoryReadEvents + The maximum number of operations in a single event HistoryRead request. + + i=68 + i=80 + i=11564 + + + + MaxNodesPerWrite + The maximum number of operations in a single Write request. + + i=68 + i=80 + i=11564 + + + + MaxNodesPerHistoryUpdateData + The maximum number of operations in a single data HistoryUpdate request. + + i=68 + i=80 + i=11564 + + + + MaxNodesPerHistoryUpdateEvents + The maximum number of operations in a single event HistoryUpdate request. + + i=68 + i=80 + i=11564 + + + + MaxNodesPerMethodCall + The maximum number of operations in a single Call request. + + i=68 + i=80 + i=11564 + + + + MaxNodesPerBrowse + The maximum number of operations in a single Browse request. + + i=68 + i=80 + i=11564 + + + + MaxNodesPerRegisterNodes + The maximum number of operations in a single RegisterNodes request. + + i=68 + i=80 + i=11564 + + + + MaxNodesPerTranslateBrowsePathsToNodeIds + The maximum number of operations in a single TranslateBrowsePathsToNodeIds request. + + i=68 + i=80 + i=11564 + + + + MaxNodesPerNodeManagement + The maximum number of operations in a single AddNodes, AddReferences, DeleteNodes or DeleteReferences request. + + i=68 + i=80 + i=11564 + + + + MaxMonitoredItemsPerCall + The maximum number of operations in a single MonitoredItem related request. + + i=68 + i=80 + i=11564 + + + + FileType + An object that represents a file that can be accessed via the server. + + i=11576 + i=12686 + i=12687 + i=11579 + i=13341 + i=11580 + i=11583 + i=11585 + i=11588 + i=11590 + i=11593 + i=58 + + + + Size + The size of the file in bytes. + + i=68 + i=78 + i=11575 + + + + Writable + Whether the file is writable. + + i=68 + i=78 + i=11575 + + + + UserWritable + Whether the file is writable by the current user. + + i=68 + i=78 + i=11575 + + + + OpenCount + The current number of open file handles. + + i=68 + i=78 + i=11575 + + + + MimeType + The content of the file. + + 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 + + + + + + + + + + FileDirectoryType + + i=13354 + i=13366 + i=13387 + i=13390 + i=13393 + i=13395 + i=61 + + + + <FileDirectoryName> + + i=13355 + i=13358 + i=13361 + 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=13362 + i=78 + i=13354 + + + + InputArguments + + i=68 + i=78 + i=13361 + + + + + + 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 + The size of the file in bytes. + + i=68 + i=78 + i=13366 + + + + Writable + Whether the file is writable. + + i=68 + i=78 + i=13366 + + + + UserWritable + Whether the file is writable by the current user. + + i=68 + i=78 + i=13366 + + + + OpenCount + The current number of open file handles. + + 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 + + + + + + + + + + AddressSpaceFileType + A file used to store a namespace exported from the server. + + i=11615 + i=11575 + + + + ExportNamespace + Updates the file by exporting the server namespace. + + i=80 + i=11595 + + + + NamespaceMetadataType + Provides the metadata for a namespace used by the server. + + i=11617 + i=11618 + i=11619 + i=11620 + i=11621 + i=11622 + i=11623 + i=11624 + i=58 + + + + NamespaceUri + The URI of the namespace. + + i=68 + i=78 + i=11616 + + + + NamespaceVersion + The human readable string representing version of the namespace. + + i=68 + i=78 + i=11616 + + + + NamespacePublicationDate + The publication date for the namespace. + + i=68 + i=78 + i=11616 + + + + IsNamespaceSubset + If TRUE then the server only supports a subset of the namespace. + + i=68 + i=78 + i=11616 + + + + StaticNodeIdTypes + A list of IdTypes for nodes which are the same in every server that exposes them. + + i=68 + i=78 + i=11616 + + + + StaticNumericNodeIdRange + A list of ranges for numeric node ids which are the same in every server that exposes them. + + i=68 + i=78 + i=11616 + + + + StaticStringNodeIdPattern + A regular expression which matches string node ids are the same in every server that exposes them. + + i=68 + i=78 + i=11616 + + + + NamespaceFile + A file containing the nodes of the namespace. + + 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 + The size of the file in bytes. + + i=68 + i=78 + i=11624 + + + + Writable + Whether the file is writable. + + i=68 + i=78 + i=11624 + + + + UserWritable + Whether the file is writable by the current user. + + i=68 + i=78 + i=11624 + + + + OpenCount + The current number of open file handles. + + 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 + + + + + + + + + + NamespacesType + A container for the namespace metadata provided by the server. + + i=11646 + i=11675 + i=58 + + + + <NamespaceIdentifier> + + i=11647 + i=11648 + i=11649 + i=11650 + i=11651 + i=11652 + i=11653 + i=11616 + i=11508 + i=11645 + + + + NamespaceUri + The URI of the namespace. + + i=68 + i=78 + i=11646 + + + + NamespaceVersion + The human readable string representing version of the namespace. + + i=68 + i=78 + i=11646 + + + + NamespacePublicationDate + The publication date for the namespace. + + i=68 + i=78 + i=11646 + + + + IsNamespaceSubset + If TRUE then the server only supports a subset of the namespace. + + i=68 + i=78 + i=11646 + + + + StaticNodeIdTypes + A list of IdTypes for nodes which are the same in every server that exposes them. + + i=68 + i=78 + i=11646 + + + + StaticNumericNodeIdRange + A list of ranges for numeric node ids which are the same in every server that exposes them. + + i=68 + i=78 + i=11646 + + + + StaticStringNodeIdPattern + A regular expression which matches string node ids are the same in every server that exposes them. + + i=68 + i=78 + i=11646 + + + + AddressSpaceFile + A file containing the nodes of the namespace. + + i=11676 + i=12694 + i=12695 + i=11679 + i=11680 + i=11683 + i=11685 + i=11688 + i=11690 + i=11693 + i=11595 + i=80 + i=11645 + + + + Size + The size of the file in bytes. + + i=68 + i=78 + i=11675 + + + + Writable + Whether the file is writable. + + i=68 + i=78 + i=11675 + + + + UserWritable + Whether the file is writable by the current user. + + i=68 + i=78 + i=11675 + + + + OpenCount + The current number of open file handles. + + i=68 + i=78 + i=11675 + + + + Open + + i=11681 + i=11682 + i=78 + i=11675 + + + + InputArguments + + i=68 + i=78 + i=11680 + + + + + + i=297 + + + + Mode + + i=3 + + -1 + + + + + + + + + + OutputArguments + + i=68 + i=78 + i=11680 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + + Close + + i=11684 + i=78 + i=11675 + + + + InputArguments + + i=68 + i=78 + i=11683 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + + Read + + i=11686 + i=11687 + i=78 + i=11675 + + + + InputArguments + + i=68 + i=78 + i=11685 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + i=297 + + + + Length + + i=6 + + -1 + + + + + + + + + + OutputArguments + + i=68 + i=78 + i=11685 + + + + + + i=297 + + + + Data + + i=15 + + -1 + + + + + + + + + + Write + + i=11689 + i=78 + i=11675 + + + + InputArguments + + i=68 + i=78 + i=11688 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + i=297 + + + + Data + + i=15 + + -1 + + + + + + + + + + GetPosition + + i=11691 + i=11692 + i=78 + i=11675 + + + + InputArguments + + i=68 + i=78 + i=11690 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + + OutputArguments + + i=68 + i=78 + i=11690 + + + + + + i=297 + + + + Position + + i=9 + + -1 + + + + + + + + + + SetPosition + + i=11694 + i=78 + i=11675 + + + + InputArguments + + i=68 + i=78 + i=11693 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + i=297 + + + + Position + + i=9 + + -1 + + + + + + + + + + BaseEventType + The base type for all events. + + i=2042 + i=2043 + i=2044 + i=2045 + i=2046 + i=2047 + i=3190 + i=2050 + i=2051 + i=58 + + + + EventId + A globally unique identifier for the event. + + i=68 + i=78 + i=2041 + + + + EventType + The identifier for the event type. + + i=68 + i=78 + i=2041 + + + + SourceNode + The source of the event. + + i=68 + i=78 + i=2041 + + + + SourceName + A description of the source of the event. + + i=68 + i=78 + i=2041 + + + + Time + When the event occurred. + + i=68 + i=78 + i=2041 + + + + ReceiveTime + When the server received the event from the underlying system. + + i=68 + i=78 + i=2041 + + + + LocalTime + Information about the local time where the event originated. + + i=68 + i=78 + i=2041 + + + + Message + A localized description of the event. + + i=68 + i=78 + i=2041 + + + + Severity + Indicates how urgent an event is. + + i=68 + i=78 + i=2041 + + + + AuditEventType + A base type for events used to track client initiated changes to the server state. + + i=2053 + i=2054 + i=2055 + i=2056 + i=2057 + i=2041 + + + + ActionTimeStamp + When the action triggering the event occurred. + + i=68 + i=78 + i=2052 + + + + Status + If TRUE the action was performed. If FALSE the action failed and the server state did not change. + + i=68 + i=78 + i=2052 + + + + ServerId + The unique identifier for the server generating the event. + + i=68 + i=78 + i=2052 + + + + ClientAuditEntryId + The log entry id provided in the request that initiated the action. + + i=68 + i=78 + i=2052 + + + + ClientUserId + The user identity associated with the session that initiated the action. + + i=68 + i=78 + i=2052 + + + + AuditSecurityEventType + A base type for events used to track security related changes. + + i=2052 + + + + AuditChannelEventType + A base type for events used to track related changes to a secure channel. + + i=2745 + i=2058 + + + + SecureChannelId + The identifier for the secure channel that was changed. + + i=68 + i=78 + i=2059 + + + + AuditOpenSecureChannelEventType + An event that is raised when a secure channel is opened. + + i=2061 + i=2746 + i=2062 + i=2063 + i=2065 + i=2066 + i=2059 + + + + ClientCertificate + The certificate provided by the client. + + i=68 + i=78 + i=2060 + + + + ClientCertificateThumbprint + The thumbprint for certificate provided by the client. + + i=68 + i=78 + i=2060 + + + + RequestType + The type of request (NEW or RENEW). + + i=68 + i=78 + i=2060 + + + + SecurityPolicyUri + The security policy used by the channel. + + i=68 + i=78 + i=2060 + + + + SecurityMode + The security mode used by the channel. + + i=68 + i=78 + i=2060 + + + + RequestedLifetime + The lifetime of the channel requested by the client. + + i=68 + i=78 + i=2060 + + + + AuditSessionEventType + A base type for events used to track related changes to a session. + + i=2070 + i=2058 + + + + SessionId + The unique identifier for the session,. + + i=68 + i=78 + i=2069 + + + + AuditCreateSessionEventType + An event that is raised when a session is created. + + i=2072 + i=2073 + i=2747 + i=2074 + i=2069 + + + + SecureChannelId + The secure channel associated with the session. + + i=68 + i=78 + i=2071 + + + + ClientCertificate + The certificate provided by the client. + + i=68 + i=78 + i=2071 + + + + ClientCertificateThumbprint + The thumbprint of the certificate provided by the client. + + i=68 + i=78 + i=2071 + + + + RevisedSessionTimeout + The timeout for the session. + + i=68 + i=78 + i=2071 + + + + AuditUrlMismatchEventType + + i=2749 + i=2071 + + + + EndpointUrl + + i=68 + i=78 + i=2748 + + + + AuditActivateSessionEventType + + 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 + + i=2079 + i=2069 + + + + RequestHandle + + i=68 + i=78 + i=2078 + + + + AuditCertificateEventType + + i=2081 + i=2058 + + + + Certificate + + i=68 + i=78 + i=2080 + + + + AuditCertificateDataMismatchEventType + + i=2083 + i=2084 + i=2080 + + + + InvalidHostname + + i=68 + i=78 + i=2082 + + + + InvalidUri + + i=68 + i=78 + i=2082 + + + + AuditCertificateExpiredEventType + + i=2080 + + + + AuditCertificateInvalidEventType + + i=2080 + + + + AuditCertificateUntrustedEventType + + i=2080 + + + + AuditCertificateRevokedEventType + + i=2080 + + + + AuditCertificateMismatchEventType + + i=2080 + + + + AuditNodeManagementEventType + + i=2052 + + + + AuditAddNodesEventType + + i=2092 + i=2090 + + + + NodesToAdd + + i=68 + i=78 + i=2091 + + + + AuditDeleteNodesEventType + + i=2094 + i=2090 + + + + NodesToDelete + + i=68 + i=78 + i=2093 + + + + AuditAddReferencesEventType + + i=2096 + i=2090 + + + + ReferencesToAdd + + i=68 + i=78 + i=2095 + + + + AuditDeleteReferencesEventType + + i=2098 + i=2090 + + + + ReferencesToDelete + + i=68 + i=78 + i=2097 + + + + AuditUpdateEventType + + i=2052 + + + + AuditWriteUpdateEventType + + 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 + + i=2751 + i=2099 + + + + ParameterDataTypeId + + i=68 + i=78 + i=2104 + + + + AuditUpdateMethodEventType + + i=2128 + i=2129 + i=2052 + + + + MethodId + + i=68 + i=78 + i=2127 + + + + InputArguments + + i=68 + i=78 + i=2127 + + + + SystemEventType + + i=2041 + + + + DeviceFailureEventType + + i=2130 + + + + SystemStatusChangeEventType + + i=11696 + i=2130 + + + + SystemState + + i=68 + i=78 + i=11446 + + + + BaseModelChangeEventType + + i=2041 + + + + GeneralModelChangeEventType + + i=2134 + i=2132 + + + + Changes + + i=68 + i=78 + i=2133 + + + + SemanticChangeEventType + + i=2739 + i=2132 + + + + Changes + + i=68 + i=78 + i=2738 + + + + EventQueueOverflowEventType + + i=2041 + + + + ProgressEventType + + i=12502 + i=12503 + i=2041 + + + + Context + + i=68 + i=78 + i=11436 + + + + Progress + + i=68 + i=78 + i=11436 + + + + AggregateFunctionType + + i=58 + + + + ServerVendorCapabilityType + + i=63 + + + + ServerStatusType + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + i=11488 + i=11701 + i=63 + + + + OptionSetValues + + i=68 + i=78 + i=11487 + + + + BitMask + + i=68 + i=80 + i=11487 + + + + EventTypes + + i=86 + i=2041 + i=61 + + + + Server + + i=2254 + i=2255 + i=2256 + i=2267 + i=2994 + i=12885 + i=2268 + i=2274 + i=2295 + i=2296 + i=11715 + i=11492 + i=12873 + i=12749 + i=12886 + i=85 + i=2004 + + + + ServerArray + The list of server URIs used by the server. + + i=68 + i=2253 + + + + NamespaceArray + The list of namespace URIs used by the server. + + i=68 + i=2253 + + + + ServerStatus + The current status of the server. + + 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 + A value indicating the level of service the server can provide. 255 indicates the best. + + i=68 + i=2253 + + + + Auditing + A flag indicating whether the server is currently generating audit events. + + i=68 + i=2253 + + + + EstimatedReturnTime + Indicates the time at which the Server is expected to be available in the state RUNNING. + + i=68 + i=2253 + + + + ServerCapabilities + Describes capabilities supported by the server. + + 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=2013 + i=2253 + + + + ServerProfileArray + A list of profiles supported by the server. + + i=68 + i=2268 + + + + LocaleIdArray + A list of locales supported by the server. + + i=68 + i=2268 + + + + MinSupportedSampleRate + The minimum sampling interval supported by the server. + + i=68 + i=2268 + + + + MaxBrowseContinuationPoints + The maximum number of continuation points for Browse operations per session. + + i=68 + i=2268 + + + + MaxQueryContinuationPoints + The maximum number of continuation points for Query operations per session. + + i=68 + i=2268 + + + + MaxHistoryContinuationPoints + The maximum number of continuation points for ReadHistory operations per session. + + i=68 + i=2268 + + + + SoftwareCertificates + The software certificates owned by the server. + + i=68 + i=2268 + + + + MaxArrayLength + The maximum length for an array value supported by the server. + + i=68 + i=2268 + + + + MaxStringLength + The maximum length for a string value supported by the server. + + i=68 + i=2268 + + + + MaxByteStringLength + The maximum length for a byte string value supported by the server. + + i=68 + i=2268 + + + + OperationLimits + Defines the limits supported by the server for different operations. + + 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 + The maximum number of operations in a single Read request. + + i=68 + i=11704 + + + + MaxNodesPerHistoryReadData + The maximum number of operations in a single data HistoryRead request. + + i=68 + i=11704 + + + + MaxNodesPerHistoryReadEvents + The maximum number of operations in a single event HistoryRead request. + + i=68 + i=11704 + + + + MaxNodesPerWrite + The maximum number of operations in a single Write request. + + i=68 + i=11704 + + + + MaxNodesPerHistoryUpdateData + The maximum number of operations in a single data HistoryUpdate request. + + i=68 + i=11704 + + + + MaxNodesPerHistoryUpdateEvents + The maximum number of operations in a single event HistoryUpdate request. + + i=68 + i=11704 + + + + MaxNodesPerMethodCall + The maximum number of operations in a single Call request. + + i=68 + i=11704 + + + + MaxNodesPerBrowse + The maximum number of operations in a single Browse request. + + i=68 + i=11704 + + + + MaxNodesPerRegisterNodes + The maximum number of operations in a single RegisterNodes request. + + i=68 + i=11704 + + + + MaxNodesPerTranslateBrowsePathsToNodeIds + The maximum number of operations in a single TranslateBrowsePathsToNodeIds request. + + i=68 + i=11704 + + + + MaxNodesPerNodeManagement + The maximum number of operations in a single AddNodes, AddReferences, DeleteNodes or DeleteReferences request. + + i=68 + i=11704 + + + + MaxMonitoredItemsPerCall + The maximum number of operations in a single MonitoredItem related request. + + i=68 + i=11704 + + + + ModellingRules + A folder for the modelling rules supported by the server. + + i=61 + i=2268 + + + + AggregateFunctions + A folder for the real time aggregates supported by the server. + + i=61 + i=2268 + + + + ServerDiagnostics + Reports diagnostics about the server. + + i=2275 + i=2289 + i=2290 + i=3706 + i=2294 + i=2020 + i=2253 + + + + ServerDiagnosticsSummary + A summary of server level diagnostics. + + 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 + A list of diagnostics for each sampling interval supported by the server. + + i=2164 + i=2274 + + + + SubscriptionDiagnosticsArray + A list of diagnostics for each active subscription. + + i=2171 + i=2274 + + + + SessionsDiagnosticsSummary + A summary of session level diagnostics. + + i=3707 + i=3708 + i=2026 + i=2274 + + + + SessionDiagnosticsArray + A list of diagnostics for each active session. + + i=2196 + i=3706 + + + + SessionSecurityDiagnosticsArray + A list of security related diagnostics for each active session. + + i=2243 + i=3706 + + + + EnabledFlag + If TRUE the diagnostics collection is enabled. + + i=68 + i=2274 + + + + VendorServerInfo + Server information provided by the vendor. + + i=2033 + i=2253 + + + + ServerRedundancy + Describes the redundancy capabilities of the server. + + i=3709 + i=11312 + i=11313 + i=11314 + i=14415 + i=2034 + i=2253 + + + + RedundancySupport + Indicates what style of redundancy is supported by the server. + + i=68 + i=2296 + + + + CurrentServerId + + i=68 + i=2296 + + + + RedundantServerArray + + i=68 + i=2296 + + + + ServerUriArray + + i=68 + i=2296 + + + + ServerNetworkGroups + + i=68 + i=2296 + + + + Namespaces + Describes the namespaces supported by the server. + + i=15182 + i=11645 + i=2253 + + + + http://opcfoundation.org/UA/ + + i=15183 + i=15184 + i=15185 + i=15186 + i=15187 + i=15188 + i=15189 + i=11616 + i=11715 + + + + NamespaceUri + The URI of the namespace. + + i=68 + i=15182 + + + http://opcfoundation.org/UA/ + + + + NamespaceVersion + The human readable string representing version of the namespace. + + i=68 + i=15182 + + + 1.03 + + + + NamespacePublicationDate + The publication date for the namespace. + + i=68 + i=15182 + + + 2016-04-15 + + + + IsNamespaceSubset + If TRUE then the server only supports a subset of the namespace. + + i=68 + i=15182 + + + false + + + + StaticNodeIdTypes + A list of IdTypes for nodes which are the same in every server that exposes them. + + i=68 + i=15182 + + + + StaticNumericNodeIdRange + A list of ranges for numeric node ids which are the same in every server that exposes them. + + i=68 + i=15182 + + + + StaticStringNodeIdPattern + A regular expression which matches string node ids are the same in every server that exposes them. + + i=68 + i=15182 + + + + GetMonitoredItems + + 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 + + + + + + + + i=297 + + + + ClientHandles + + i=7 + + 1 + + + + + + + + + + ResendData + + i=12874 + i=2253 + + + + InputArguments + + i=68 + i=12873 + + + + + + i=297 + + + + SubscriptionId + + i=7 + + -1 + + + + + + + + + + SetSubscriptionDurable + + 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 + + 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 + + + + + + + + + + BitFieldMaskDataType + A mask of 32 bits that can be updated individually by using the top 32 bits as a mask. + + i=9 + + + + StateMachineType + + 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 + + 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 + + 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 + + i=2772 + i=2773 + 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 + + + + FiniteStateVariableType + + i=2761 + i=2755 + + + + Id + + i=68 + i=78 + i=2760 + + + + FiniteTransitionVariableType + + i=2768 + i=2762 + + + + Id + + i=68 + i=78 + i=2767 + + + + StateType + + i=2308 + i=58 + + + + StateNumber + + i=68 + i=78 + i=2307 + + + + InitialStateType + + i=2307 + + + + TransitionType + + i=2312 + i=58 + + + + TransitionNumber + + i=68 + i=78 + i=2310 + + + + TransitionEventType + + 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 + + i=2777 + i=2778 + i=2127 + + + + OldStateId + + i=68 + i=78 + i=2315 + + + + NewStateId + + i=68 + i=78 + i=2315 + + + + BuildInfo + + i=22 + + + + + + + + + + + + RedundancySupport + + i=7611 + i=29 + + + + + + + + + + + + EnumStrings + + i=68 + i=78 + i=851 + + + + + + + None + + + + + Cold + + + + + Warm + + + + + Hot + + + + + Transparent + + + + + HotAndMirrored + + + + + + ServerState + + i=7612 + i=29 + + + + + + + + + + + + + + EnumStrings + + i=68 + i=78 + i=852 + + + + + + + Running + + + + + Failed + + + + + NoConfiguration + + + + + Suspended + + + + + Shutdown + + + + + Test + + + + + CommunicationFault + + + + + Unknown + + + + + + RedundantServerDataType + + i=22 + + + + + + + + + EndpointUrlListDataType + + i=22 + + + + + + + NetworkGroupDataType + + i=22 + + + + + + + + SamplingIntervalDiagnosticsDataType + + i=22 + + + + + + + + + + ServerDiagnosticsSummaryDataType + + i=22 + + + + + + + + + + + + + + + + + + ServerStatusDataType + + i=22 + + + + + + + + + + + + SessionDiagnosticsDataType + + i=22 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SessionSecurityDiagnosticsDataType + + i=22 + + + + + + + + + + + + + + + ServiceCounterDataType + + i=22 + + + + + + + + StatusResult + + i=22 + + + + + + + + SubscriptionDiagnosticsDataType + + i=22 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ModelChangeStructureDataType + + i=22 + + + + + + + + + SemanticChangeStructureDataType + + i=22 + + + + + + + + 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 + + + + Opc.Ua + + i=8254 + i=12677 + i=8285 + i=8291 + i=12759 + i=12762 + 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=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 +ZT0ieHM6YmFzZTY0QmluYXJ5IiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkJpdEZpZWxkTWFz +a0RhdGFUeXBlIiB0eXBlPSJ4czp1bnNpZ25lZExvbmciIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUg +IG5hbWU9Ik9wZW5GaWxlTW9kZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmlu +ZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlYWRfMSIgLz4NCiAgICAgIDx4czpl +bnVtZXJhdGlvbiB2YWx1ZT0iV3JpdGVfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 +ZT0iRXJhc2VFeGlzdGluZ180IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBcHBl +bmRfOCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9Ik9wZW5GaWxlTW9kZSIgdHlwZT0idG5zOk9wZW5GaWxlTW9kZSIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mT3BlbkZpbGVNb2RlIj4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPcGVuRmlsZU1vZGUiIHR5cGU9InRu +czpPcGVuRmlsZU1vZGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQog +ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iTGlzdE9mT3BlbkZpbGVNb2RlIiB0eXBlPSJ0bnM6TGlzdE9mT3BlbkZpbGVNb2RlIiBuaWxs +YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJUcnVz +dExpc3RNYXNrcyI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAg +ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv +biB2YWx1ZT0iVHJ1c3RlZENlcnRpZmljYXRlc18xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u +IHZhbHVlPSJUcnVzdGVkQ3Jsc18yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJ +c3N1ZXJDZXJ0aWZpY2F0ZXNfNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNz +dWVyQ3Jsc184IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBbGxfMTUiIC8+DQog +ICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJUcnVzdExpc3RNYXNrcyIgdHlwZT0idG5zOlRydXN0TGlzdE1hc2tzIiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJUcnVzdExpc3REYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3BlY2lmaWVkTGlzdHMiIHR5cGU9InhzOnVuc2ln +bmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcnVzdGVk +Q2VydGlmaWNhdGVzIiB0eXBlPSJ1YTpMaXN0T2ZCeXRlU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJ1c3RlZENybHMiIHR5 +cGU9InVhOkxpc3RPZkJ5dGVTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc3N1ZXJDZXJ0aWZpY2F0ZXMiIHR5cGU9InVhOkxp +c3RPZkJ5dGVTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJJc3N1ZXJDcmxzIiB0eXBlPSJ1YTpMaXN0T2ZCeXRlU3RyaW5nIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv +eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRydXN0TGlzdERhdGFUeXBlIiB0 +eXBlPSJ0bnM6VHJ1c3RMaXN0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +Ikxpc3RPZlRydXN0TGlzdERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJUcnVzdExpc3REYXRhVHlwZSIgdHlwZT0idG5zOlRydXN0TGlzdERhdGFU +eXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJMaXN0T2ZUcnVzdExpc3REYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlRydXN0TGlz +dERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVU +eXBlICBuYW1lPSJJZFR5cGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3Vt +ZW50YXRpb24+VGhlIHR5cGUgb2YgaWRlbnRpZmllciB1c2VkIGluIGEgbm9kZSBpZC48L3hzOmRv +Y3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpyZXN0cmljdGlvbiBi +YXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOdW1lcmljXzAi +IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN0cmluZ18xIiAvPg0KICAgICAgPHhz +OmVudW1lcmF0aW9uIHZhbHVlPSJHdWlkXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs +dWU9Ik9wYXF1ZV8zIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSWRUeXBlIiB0eXBlPSJ0bnM6SWRUeXBlIiAvPg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZJZFR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IklkVHlwZSIgdHlwZT0idG5zOklkVHlwZSIgbWluT2Nj +dXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZJZFR5cGUiIHR5cGU9 +InRuczpMaXN0T2ZJZFR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhz +OnNpbXBsZVR5cGUgIG5hbWU9Ik5vZGVDbGFzcyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg +ICA8eHM6ZG9jdW1lbnRhdGlvbj5BIG1hc2sgc3BlY2lmeWluZyB0aGUgY2xhc3Mgb2YgdGhlIG5v +ZGUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6cmVz +dHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i +VW5zcGVjaWZpZWRfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iT2JqZWN0XzEi +IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZhcmlhYmxlXzIiIC8+DQogICAgICA8 +eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik1ldGhvZF80IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u +IHZhbHVlPSJPYmplY3RUeXBlXzgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZh +cmlhYmxlVHlwZV8xNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVmZXJlbmNl +VHlwZV8zMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGF0YVR5cGVfNjQiIC8+ +DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZpZXdfMTI4IiAvPg0KICAgIDwveHM6cmVz +dHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUNs +YXNzIiB0eXBlPSJ0bnM6Tm9kZUNsYXNzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJO +b2RlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlNwZWNp +ZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gYWxsIG5vZGVzLjwveHM6ZG9jdW1l +bnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlQ2xhc3MiIHR5 +cGU9InRuczpOb2RlQ2xhc3MiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IkJyb3dzZU5hbWUiIHR5cGU9InVhOlF1YWxpZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNwbGF5TmFtZSIgdHlw +ZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IkRlc2NyaXB0aW9uIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0 +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iV3JpdGVNYXNrIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlcldyaXRlTWFzayIgdHlwZT0ieHM6dW5zaWduZWRJbnQi +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZXMiIHR5 +cGU9InRuczpMaXN0T2ZSZWZlcmVuY2VOb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9Ik5vZGUiIHR5cGU9InRuczpOb2RlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu +YW1lPSJMaXN0T2ZOb2RlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJOb2RlIiB0eXBlPSJ0bnM6Tm9kZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91 +bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w +bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTm9kZSIgdHlwZT0idG5zOkxpc3RP +Zk5vZGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9Ikluc3RhbmNlTm9kZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxz +ZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlIj4NCiAgICAgICAgPHhzOnNl +cXVlbmNlPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQog +ICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iSW5zdGFuY2VOb2RlIiB0eXBlPSJ0bnM6SW5zdGFuY2VOb2RlIiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJUeXBlTm9kZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1p +eGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlIj4NCiAgICAg +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRl +bnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iVHlwZU5vZGUiIHR5cGU9InRuczpUeXBlTm9kZSIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iT2JqZWN0Tm9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQog +ICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVs +b25nIHRvIG9iamVjdCBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 +aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4 +dGVuc2lvbiBiYXNlPSJ0bnM6SW5zdGFuY2VOb2RlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50Tm90aWZpZXIiIHR5cGU9InhzOnVuc2ln +bmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAg +PC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT2JqZWN0Tm9kZSIgdHlwZT0idG5zOk9iamVjdE5v +ZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik9iamVjdFR5cGVOb2RlIj4NCiAgICA8 +eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0 +cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gb2JqZWN0IHR5cGUgbm9kZXMuPC94czpkb2N1bWVudGF0 +aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9 +ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOlR5cGVOb2RlIj4NCiAgICAg +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IklzQWJzdHJhY3Qi +IHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5j +ZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwv +eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9iamVjdFR5cGVOb2RlIiB0eXBl +PSJ0bnM6T2JqZWN0VHlwZU5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlh +YmxlTm9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5T +cGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIHZhcmlhYmxlIG5vZGVzLjwv +eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhD +b250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpJbnN0 +YW5jZU5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iVmFsdWUiIHR5cGU9InVhOlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVl +UmFuayIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iQXJyYXlEaW1lbnNpb25zIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWNj +ZXNzTGV2ZWwiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJBY2Nlc3NMZXZlbCIgdHlwZT0ieHM6dW5zaWduZWRC +eXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWluaW11 +bVNhbXBsaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3Rvcml6aW5nIiB0eXBlPSJ4czpib29sZWFuIiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVu +c2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJWYXJpYWJsZU5vZGUiIHR5cGU9InRuczpWYXJpYWJsZU5vZGUiIC8+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhYmxlVHlwZU5vZGUiPg0KICAgIDx4czph +bm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+U3BlY2lmaWVzIHRoZSBhdHRyaWJ1 +dGVzIHdoaWNoIGJlbG9uZyB0byB2YXJpYWJsZSB0eXBlIG5vZGVzLjwveHM6ZG9jdW1lbnRhdGlv +bj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJm +YWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpUeXBlTm9kZSI+DQogICAgICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0i +dWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkRhdGFUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czppbnQi +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcnJheURpbWVu +c2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpi +b29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8 +L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWYXJpYWJsZVR5cGVOb2RlIiB0eXBlPSJ0bnM6VmFy +aWFibGVUeXBlTm9kZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVmZXJlbmNlVHlw +ZU5vZGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+U3Bl +Y2lmaWVzIHRoZSBhdHRyaWJ1dGVzIHdoaWNoIGJlbG9uZyB0byByZWZlcmVuY2UgdHlwZSBub2Rl +cy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21w +bGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6 +VHlwZU5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iSXNBYnN0cmFjdCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN5bW1ldHJpYyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkludmVyc2VOYW1lIiB0 +eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpj +b21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +UmVmZXJlbmNlVHlwZU5vZGUiIHR5cGU9InRuczpSZWZlcmVuY2VUeXBlTm9kZSIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iTWV0aG9kTm9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQog +ICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVs +b25nIHRvIG1ldGhvZCBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 +aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4 +dGVuc2lvbiBiYXNlPSJ0bnM6SW5zdGFuY2VOb2RlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV4ZWN1dGFibGUiIHR5cGU9InhzOmJvb2xlYW4i +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyRXhlY3V0 +YWJsZSIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNl +cXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTWV0aG9kTm9kZSIgdHlw +ZT0idG5zOk1ldGhvZE5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZpZXdOb2Rl +Ij4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRl +bnNpb24gYmFzZT0idG5zOkluc3RhbmNlTm9kZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250YWluc05vTG9vcHMiIHR5cGU9InhzOmJvb2xl +YW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudE5v +dGlmaWVyIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg +PC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENv +bnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlZpZXdOb2Rl +IiB0eXBlPSJ0bnM6Vmlld05vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFU +eXBlTm9kZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8 +eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpUeXBlTm9kZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpib29sZWFu +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4 +dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZU5vZGUiIHR5cGU9InRuczpEYXRhVHlwZU5vZGUi +IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZmVyZW5jZU5vZGUiPg0KICAgIDx4czph +bm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+U3BlY2lmaWVzIGEgcmVmZXJlbmNl +IHdoaWNoIGJlbG9uZ3MgdG8gYSBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu +bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVm +ZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ludmVyc2UiIHR5cGU9InhzOmJvb2xl +YW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdldElkIiB0 +eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJSZWZlcmVuY2VOb2RlIiB0eXBlPSJ0bnM6UmVmZXJlbmNlTm9kZSIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUmVmZXJlbmNlTm9kZSI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlTm9kZSIgdHlwZT0idG5zOlJlZmVy +ZW5jZU5vZGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl +bGVtZW50IG5hbWU9Ikxpc3RPZlJlZmVyZW5jZU5vZGUiIHR5cGU9InRuczpMaXN0T2ZSZWZlcmVu +Y2VOb2RlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJBcmd1bWVudCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l +bnRhdGlvbj5BbiBhcmd1bWVudCBmb3IgYSBtZXRob2QuPC94czpkb2N1bWVudGF0aW9uPg0KICAg +IDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +VmFsdWVSYW5rIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IkFycmF5RGltZW5zaW9ucyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVzY3Jp +cHRpb24iIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iQXJndW1lbnQiIHR5cGU9InRuczpBcmd1bWVudCIgLz4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iTGlzdE9mQXJndW1lbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IkFyZ3VtZW50IiB0eXBlPSJ0bnM6QXJndW1lbnQiIG1pbk9jY3Vy +cz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 +c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RP +ZkFyZ3VtZW50IiB0eXBlPSJ0bnM6TGlzdE9mQXJndW1lbnQiIG5pbGxhYmxlPSJ0cnVlIj48L3hz +OmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVudW1WYWx1ZVR5cGUiPg0KICAg +IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBtYXBwaW5nIGJldHdl +ZW4gYSB2YWx1ZSBvZiBhbiBlbnVtZXJhdGVkIHR5cGUgYW5kIGEgbmFtZSBhbmQgZGVzY3JpcHRp +b24uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0ieHM6bG9uZyIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzcGxheU5hbWUiIHR5cGU9 +InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFbnVtVmFsdWVUeXBlIiB0eXBl +PSJ0bnM6RW51bVZhbHVlVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m +RW51bVZhbHVlVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iRW51bVZhbHVlVHlwZSIgdHlwZT0idG5zOkVudW1WYWx1ZVR5cGUiIG1pbk9jY3Vycz0iMCIg +bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkVudW1W +YWx1ZVR5cGUiIHR5cGU9InRuczpMaXN0T2ZFbnVtVmFsdWVUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+ +PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJPcHRpb25TZXQiPg0KICAg +IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhpcyBhYnN0cmFjdCBT +dHJ1Y3R1cmVkIERhdGFUeXBlIGlzIHRoZSBiYXNlIERhdGFUeXBlIGZvciBhbGwgRGF0YVR5cGVz +IHJlcHJlc2VudGluZyBhIGJpdCBtYXNrLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu +bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFs +dWUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbGlkQml0cyIgdHlwZT0ieHM6YmFzZTY0Qmlu +YXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9wdGlvblNldCIgdHlw +ZT0idG5zOk9wdGlvblNldCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mT3B0 +aW9uU2V0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPcHRp +b25TZXQiIHR5cGU9InRuczpPcHRpb25TZXQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJv +dW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk9wdGlvblNldCIgdHlwZT0idG5z +Okxpc3RPZk9wdGlvblNldCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iVW5pb24iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhz +OmRvY3VtZW50YXRpb24+VGhpcyBhYnN0cmFjdCBEYXRhVHlwZSBpcyB0aGUgYmFzZSBEYXRhVHlw +ZSBmb3IgYWxsIHVuaW9uIERhdGFUeXBlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czph +bm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz +OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVbmlvbiIgdHlwZT0idG5zOlVuaW9u +IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZVbmlvbiI+DQogICAgPHhzOnNl +cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVW5pb24iIHR5cGU9InRuczpVbmlvbiIg +bWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iTGlzdE9mVW5pb24iIHR5cGU9InRuczpMaXN0T2ZVbmlvbiIgbmlsbGFibGU9InRydWUiPjwv +eHM6ZWxlbWVudD4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOb3JtYWxpemVkU3RyaW5nIiB0eXBl +PSJ4czpzdHJpbmciIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVjaW1hbFN0cmluZyIgdHlw +ZT0ieHM6c3RyaW5nIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkR1cmF0aW9uU3RyaW5nIiB0 +eXBlPSJ4czpzdHJpbmciIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZVN0cmluZyIgdHlw +ZT0ieHM6c3RyaW5nIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkRhdGVTdHJpbmciIHR5cGU9 +InhzOnN0cmluZyIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEdXJhdGlvbiIgdHlwZT0ieHM6 +ZG91YmxlIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IlV0Y1RpbWUiIHR5cGU9InhzOmRhdGVU +aW1lIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkxvY2FsZUlkIiB0eXBlPSJ4czpzdHJpbmci +IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlRpbWVab25lRGF0YVR5cGUiPg0KICAgIDx4 +czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik9mZnNldCIgdHlwZT0ieHM6c2hv +cnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRheWxpZ2h0U2F2 +aW5nSW5PZmZzZXQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1l +Wm9uZURhdGFUeXBlIiB0eXBlPSJ0bnM6VGltZVpvbmVEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iTGlzdE9mVGltZVpvbmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZVpvbmVEYXRhVHlwZSIgdHlwZT0idG5zOlRp +bWVab25lRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlRpbWVab25lRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0 +T2ZUaW1lWm9uZURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4 +czplbGVtZW50IG5hbWU9IkludGVnZXJJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIC8+DQoNCiAg +PHhzOnNpbXBsZVR5cGUgIG5hbWU9IkFwcGxpY2F0aW9uVHlwZSI+DQogICAgPHhzOmFubm90YXRp +b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgdHlwZXMgb2YgYXBwbGljYXRpb25zLjwv +eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0 +aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNlcnZl +cl8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDbGllbnRfMSIgLz4NCiAgICAg +IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ2xpZW50QW5kU2VydmVyXzIiIC8+DQogICAgICA8eHM6 +ZW51bWVyYXRpb24gdmFsdWU9IkRpc2NvdmVyeVNlcnZlcl8zIiAvPg0KICAgIDwveHM6cmVzdHJp +Y3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRp +b25UeXBlIiB0eXBlPSJ0bnM6QXBwbGljYXRpb25UeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg +ICAgIDx4czpkb2N1bWVudGF0aW9uPkRlc2NyaWJlcyBhbiBhcHBsaWNhdGlvbiBhbmQgaG93IHRv +IGZpbmQgaXQuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcHBsaWNhdGlvblVyaSIgdHlw +ZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iUHJvZHVjdFVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25O +YW1lIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25UeXBlIiB0eXBlPSJ0bnM6 +QXBwbGljYXRpb25UeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJHYXRld2F5U2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjb3ZlcnlQcm9maWxlVXJp +IiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjb3ZlcnlVcmxzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmci +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25EZXNjcmlw +dGlvbiIgdHlwZT0idG5zOkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9Ikxpc3RPZkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIHR5 +cGU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0i +dW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz +OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZBcHBsaWNhdGlvbkRlc2Ny +aXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mQXBwbGljYXRpb25EZXNjcmlwdGlvbiIgbmlsbGFibGU9 +InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVxdWVzdEhl +YWRlciI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUg +aGVhZGVyIHBhc3NlZCB3aXRoIGV2ZXJ5IHNlcnZlciByZXF1ZXN0LjwveHM6ZG9jdW1lbnRhdGlv +bj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iQXV0aGVudGljYXRpb25Ub2tlbiIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0 +YW1wIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUmVxdWVzdEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i +MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldHVybkRpYWdub3N0aWNzIiB0eXBlPSJ4 +czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +QXVkaXRFbnRyeUlkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lb3V0SGludCIgdHlwZT0ieHM6dW5z +aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZGl0 +aW9uYWxIZWFkZXIiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRl +ciIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVzcG9uc2VIZWFkZXIiPg0KICAgIDx4 +czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGhlYWRlciBwYXNzZWQg +d2l0aCBldmVyeSBzZXJ2ZXIgcmVzcG9uc2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6 +YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJU +aW1lc3RhbXAiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGFuZGxlIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmljZVJlc3VsdCIgdHlwZT0i +dWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +U2VydmljZURpYWdub3N0aWNzIiB0eXBlPSJ1YTpEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0cmluZ1RhYmxl +IiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRpdGlvbmFsSGVhZGVyIiB0eXBlPSJ1YTpFeHRl +bnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz +ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9u +c2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iU2VydmljZUZhdWx0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpk +b2N1bWVudGF0aW9uPlRoZSByZXNwb25zZSByZXR1cm5lZCBieSBhbGwgc2VydmljZXMgd2hlbiB0 +aGVyZSBpcyBhIHNlcnZpY2UgbGV2ZWwgZXJyb3IuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwv +eHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNlcnZpY2VGYXVsdCIgdHlwZT0idG5zOlNlcnZpY2VG +YXVsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRmluZFNlcnZlcnNSZXF1ZXN0Ij4N +CiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkZpbmRzIHRoZSBz +ZXJ2ZXJzIGtub3duIHRvIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4N +CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2lu +dFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmci +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJTZXJ2ZXJVcmlzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iRmluZFNlcnZlcnNSZXF1ZXN0IiB0eXBlPSJ0bnM6RmluZFNlcnZl +cnNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJGaW5kU2VydmVyc1Jlc3Bv +bnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkZpbmRz +IHRoZSBzZXJ2ZXJzIGtub3duIHRvIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwveHM6ZG9jdW1lbnRh +dGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlNlcnZlcnMiIHR5cGU9InRuczpMaXN0T2ZBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkZpbmRTZXJ2ZXJzUmVzcG9uc2UiIHR5cGU9 +InRuczpGaW5kU2VydmVyc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJT +ZXJ2ZXJPbk5ldHdvcmsiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlJlY29yZElkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzY292 +ZXJ5VXJsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJDYXBhYmlsaXRpZXMiIHR5cGU9InVhOkxp +c3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl +cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJP +bk5ldHdvcmsiIHR5cGU9InRuczpTZXJ2ZXJPbk5ldHdvcmsiIC8+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9Ikxpc3RPZlNlcnZlck9uTmV0d29yayI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyT25OZXR3b3JrIiB0eXBlPSJ0bnM6U2VydmVyT25O +ZXR3b3JrIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl +bWVudCBuYW1lPSJMaXN0T2ZTZXJ2ZXJPbk5ldHdvcmsiIHR5cGU9InRuczpMaXN0T2ZTZXJ2ZXJP +bk5ldHdvcmsiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9IkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVl +c3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJTdGFydGluZ1JlY29yZElkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4UmVjb3Jkc1RvUmV0dXJuIiB0 +eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iU2VydmVyQ2FwYWJpbGl0eUZpbHRlciIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVx +dWVzdCIgdHlwZT0idG5zOkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVxdWVzdCIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iRmluZFNlcnZlcnNPbk5ldHdvcmtSZXNwb25zZSI+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9 +InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9Ikxhc3RDb3VudGVyUmVzZXRUaW1lIiB0eXBlPSJ4czpkYXRl +VGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVycyIg +dHlwZT0idG5zOkxpc3RPZlNlcnZlck9uTmV0d29yayIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJGaW5kU2VydmVyc09uTmV0d29ya1Jlc3BvbnNlIiB0eXBlPSJ0bnM6Rmlu +ZFNlcnZlcnNPbk5ldHdvcmtSZXNwb25zZSIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBcHBs +aWNhdGlvbkluc3RhbmNlQ2VydGlmaWNhdGUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgLz4NCg0K +ICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iTWVzc2FnZVNlY3VyaXR5TW9kZSI+DQogICAgPHhzOmFu +bm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgdHlwZSBvZiBzZWN1cml0eSB0 +byB1c2Ugb24gYSBtZXNzYWdlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRp +b24+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51 +bWVyYXRpb24gdmFsdWU9IkludmFsaWRfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 +ZT0iTm9uZV8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTaWduXzIiIC8+DQog +ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNpZ25BbmRFbmNyeXB0XzMiIC8+DQogICAgPC94 +czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJN +ZXNzYWdlU2VjdXJpdHlNb2RlIiB0eXBlPSJ0bnM6TWVzc2FnZVNlY3VyaXR5TW9kZSIgLz4NCg0K +ICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iVXNlclRva2VuVHlwZSI+DQogICAgPHhzOmFubm90YXRp +b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgcG9zc2libGUgdXNlciB0b2tlbiB0eXBl +cy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpyZXN0 +cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJB +bm9ueW1vdXNfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVXNlck5hbWVfMSIg +Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ2VydGlmaWNhdGVfMiIgLz4NCiAgICAg +IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNzdWVkVG9rZW5fMyIgLz4NCiAgICA8L3hzOnJlc3Ry +aWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVzZXJUb2tl +blR5cGUiIHR5cGU9InRuczpVc2VyVG9rZW5UeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu +YW1lPSJVc2VyVG9rZW5Qb2xpY3kiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRv +Y3VtZW50YXRpb24+RGVzY3JpYmVzIGEgdXNlciB0b2tlbiB0aGF0IGNhbiBiZSB1c2VkIHdpdGgg +YSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQb2xpY3lJZCIgdHlwZT0ieHM6 +c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iVG9rZW5UeXBlIiB0eXBlPSJ0bnM6VXNlclRva2VuVHlwZSIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNzdWVkVG9rZW5UeXBlIiB0eXBlPSJ4czpz +dHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJJc3N1ZXJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlQb2xp +Y3lVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJVc2VyVG9rZW5Qb2xpY3kiIHR5cGU9InRuczpVc2VyVG9rZW5Qb2xpY3kiIC8+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlVzZXJUb2tlblBvbGljeSI+DQogICAgPHhzOnNl +cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlclRva2VuUG9saWN5IiB0eXBlPSJ0 +bnM6VXNlclRva2VuUG9saWN5IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZVc2VyVG9rZW5Qb2xpY3kiIHR5cGU9InRuczpM +aXN0T2ZVc2VyVG9rZW5Qb2xpY3kiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVuZHBvaW50RGVzY3JpcHRpb24iPg0KICAgIDx4czphbm5v +dGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGRlc2NyaXB0aW9uIG9mIGEgZW5k +cG9pbnQgdGhhdCBjYW4gYmUgdXNlZCB0byBhY2Nlc3MgYSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0 +aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyIiB0eXBl +PSJ0bnM6QXBwbGljYXRpb25EZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlckNlcnRpZmljYXRlIiB0eXBlPSJ4 +czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlN +b2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVBv +bGljeVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlcklkZW50aXR5VG9rZW5zIiB0eXBlPSJ0bnM6 +TGlzdE9mVXNlclRva2VuUG9saWN5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNwb3J0UHJvZmlsZVVyaSIgdHlwZT0ieHM6c3Ry +aW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iU2VjdXJpdHlMZXZlbCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAi +IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iRW5kcG9pbnREZXNjcmlwdGlvbiIgdHlwZT0idG5zOkVuZHBvaW50RGVzY3JpcHRp +b24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkVuZHBvaW50RGVzY3JpcHRp +b24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50 +RGVzY3JpcHRpb24iIHR5cGU9InRuczpFbmRwb2ludERlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAi +IG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl +bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbmRw +b2ludERlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mRW5kcG9pbnREZXNjcmlwdGlvbiIgbmls +bGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iR2V0 +RW5kcG9pbnRzUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l +bnRhdGlvbj5HZXRzIHRoZSBlbmRwb2ludHMgdXNlZCBieSB0aGUgc2VydmVyLjwveHM6ZG9jdW1l +bnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIi +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0 +T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJQcm9maWxlVXJpcyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkdldEVuZHBvaW50c1JlcXVlc3QiIHR5cGU9InRu +czpHZXRFbmRwb2ludHNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJHZXRF +bmRwb2ludHNSZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l +bnRhdGlvbj5HZXRzIHRoZSBlbmRwb2ludHMgdXNlZCBieSB0aGUgc2VydmVyLjwveHM6ZG9jdW1l +bnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRl +ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IkVuZHBvaW50cyIgdHlwZT0idG5zOkxpc3RPZkVuZHBvaW50RGVzY3JpcHRpb24iIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj +b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iR2V0RW5kcG9pbnRzUmVzcG9uc2UiIHR5 +cGU9InRuczpHZXRFbmRwb2ludHNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iUmVnaXN0ZXJlZFNlcnZlciI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9j +dW1lbnRhdGlvbj5UaGUgaW5mb3JtYXRpb24gcmVxdWlyZWQgdG8gcmVnaXN0ZXIgYSBzZXJ2ZXIg +d2l0aCBhIGRpc2NvdmVyeSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5u +b3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2 +ZXJVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlByb2R1Y3RVcmkiIHR5cGU9InhzOnN0cmluZyIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNl +cnZlck5hbWVzIiB0eXBlPSJ1YTpMaXN0T2ZMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVHlwZSIgdHlw +ZT0idG5zOkFwcGxpY2F0aW9uVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iR2F0ZXdheVNlcnZlclVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzY292ZXJ5VXJs +cyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VtYXBob3JlRmlsZVBhdGgiIHR5cGU9InhzOnN0 +cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IklzT25saW5lIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +UmVnaXN0ZXJlZFNlcnZlciIgdHlwZT0idG5zOlJlZ2lzdGVyZWRTZXJ2ZXIiIC8+DQoNCiAgPHhz +OmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlJlZ2lzdGVyZWRTZXJ2ZXIiPg0KICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyZWRTZXJ2ZXIiIHR5cGU9InRu +czpSZWdpc3RlcmVkU2VydmVyIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZSZWdpc3RlcmVkU2VydmVyIiB0eXBlPSJ0bnM6 +TGlzdE9mUmVnaXN0ZXJlZFNlcnZlciIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXF1ZXN0Ij4NCiAgICA8eHM6 +YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlJlZ2lzdGVycyBhIHNlcnZlciB3 +aXRoIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu +bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVx +dWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXIiIHR5cGU9InRuczpS +ZWdpc3RlcmVkU2VydmVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJl +Z2lzdGVyU2VydmVyUmVxdWVzdCIgdHlwZT0idG5zOlJlZ2lzdGVyU2VydmVyUmVxdWVzdCIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXNwb25zZSI+DQogICAg +PHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5SZWdpc3RlcnMgYSBzZXJ2 +ZXIgd2l0aCB0aGUgZGlzY292ZXJ5IHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94 +czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXNwb25zZSIgdHlwZT0idG5z +OlJlZ2lzdGVyU2VydmVyUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRp +c2NvdmVyeUNvbmZpZ3VyYXRpb24iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRv +Y3VtZW50YXRpb24+QSBiYXNlIHR5cGUgZm9yIGRpc2NvdmVyeSBjb25maWd1cmF0aW9uIGluZm9y +bWF0aW9uLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9IkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpEaXNjb3Zl +cnlDb25maWd1cmF0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNZG5zRGlzY292 +ZXJ5Q29uZmlndXJhdGlvbiI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l +bnRhdGlvbj5UaGUgZGlzY292ZXJ5IGluZm9ybWF0aW9uIG5lZWRlZCBmb3IgbUROUyByZWdpc3Ry +YXRpb24uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6 +Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0i +dG5zOkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWRuc1NlcnZlck5hbWUiIHR5cGU9InhzOnN0cmluZyIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJTZXJ2ZXJDYXBhYmlsaXRpZXMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwv +eHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1kbnNEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiB0eXBl +PSJ0bnM6TWRuc0Rpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9IlJlZ2lzdGVyU2VydmVyMlJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVy +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iU2VydmVyIiB0eXBlPSJ0bnM6UmVnaXN0ZXJlZFNlcnZlciIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2NvdmVyeUNvbmZpZ3Vy +YXRpb24iIHR5cGU9InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJSZWdpc3RlclNlcnZlcjJSZXF1ZXN0IiB0eXBlPSJ0bnM6UmVn +aXN0ZXJTZXJ2ZXIyUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0 +ZXJTZXJ2ZXIyUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb25maWd1 +cmF0aW9uUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZv +cyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXIyUmVzcG9uc2UiIHR5cGU9InRuczpSZWdpc3Rl +clNlcnZlcjJSZXNwb25zZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iU2VjdXJpdHlU +b2tlblJlcXVlc3RUeXBlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVu +dGF0aW9uPkluZGljYXRlcyB3aGV0aGVyIGEgdG9rZW4gaWYgYmVpbmcgY3JlYXRlZCBvciByZW5l +d2VkLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJl +c3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +Iklzc3VlXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlbmV3XzEiIC8+DQog +ICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJTZWN1cml0eVRva2VuUmVxdWVzdFR5cGUiIHR5cGU9InRuczpTZWN1cml0eVRva2VuUmVx +dWVzdFR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNoYW5uZWxTZWN1cml0eVRv +a2VuIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSB0 +b2tlbiB0aGF0IGlkZW50aWZpZXMgYSBzZXQgb2Yga2V5cyBmb3IgYW4gYWN0aXZlIHNlY3VyZSBj +aGFubmVsLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2hhbm5lbElkIiB0eXBlPSJ4czp1 +bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVG9r +ZW5JZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkNyZWF0ZWRBdCIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRMaWZldGltZSIgdHlwZT0ieHM6dW5z +aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDaGFubmVsU2VjdXJpdHlUb2tlbiIgdHlw +ZT0idG5zOkNoYW5uZWxTZWN1cml0eVRva2VuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJPcGVuU2VjdXJlQ2hhbm5lbFJlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAg +PHhzOmRvY3VtZW50YXRpb24+Q3JlYXRlcyBhIHNlY3VyZSBjaGFubmVsIHdpdGggYSBzZXJ2ZXIu +PC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVu +Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVx +dWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkNsaWVudFByb3RvY29sVmVyc2lvbiIgdHlwZT0ieHM6dW5zaWduZWRJbnQi +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RUeXBlIiB0 +eXBlPSJ0bnM6U2VjdXJpdHlUb2tlblJlcXVlc3RUeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJp +dHlNb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRO +b25jZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTGlmZXRpbWUiIHR5cGU9Inhz +OnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT3BlblNlY3VyZUNoYW5uZWxSZXF1 +ZXN0IiB0eXBlPSJ0bnM6T3BlblNlY3VyZUNoYW5uZWxSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJPcGVuU2VjdXJlQ2hhbm5lbFJlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3Rh +dGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNyZWF0ZXMgYSBzZWN1cmUgY2hhbm5lbCB3 +aXRoIGEgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQog +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIi +IHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlclByb3RvY29sVmVyc2lvbiIgdHlwZT0i +eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlNlY3VyaXR5VG9rZW4iIHR5cGU9InRuczpDaGFubmVsU2VjdXJpdHlUb2tlbiIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlck5v +bmNlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iT3BlblNlY3VyZUNoYW5uZWxSZXNwb25zZSIgdHlwZT0idG5zOk9wZW5TZWN1cmVD +aGFubmVsUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNsb3NlU2VjdXJl +Q2hhbm5lbFJlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50 +YXRpb24+Q2xvc2VzIGEgc2VjdXJlIGNoYW5uZWwuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwv +eHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDbG9zZVNlY3VyZUNoYW5uZWxSZXF1ZXN0IiB0eXBlPSJ0 +bnM6Q2xvc2VTZWN1cmVDaGFubmVsUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iQ2xvc2VTZWN1cmVDaGFubmVsUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAg +ICAgPHhzOmRvY3VtZW50YXRpb24+Q2xvc2VzIGEgc2VjdXJlIGNoYW5uZWwuPC94czpkb2N1bWVu +dGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVy +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNsb3NlU2VjdXJlQ2hhbm5l +bFJlc3BvbnNlIiB0eXBlPSJ0bnM6Q2xvc2VTZWN1cmVDaGFubmVsUmVzcG9uc2UiIC8+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiPg0KICAgIDx4 +czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBzb2Z0d2FyZSBjZXJ0aWZp +Y2F0ZSB3aXRoIGEgZGlnaXRhbCBzaWduYXR1cmUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwv +eHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJDZXJ0aWZpY2F0ZURhdGEiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNpZ25hdHVyZSIgdHlw +ZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +IlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiIHR5cGU9InRuczpTaWduZWRTb2Z0d2FyZUNlcnRp +ZmljYXRlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTaWduZWRTb2Z0d2Fy +ZUNlcnRpZmljYXRlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiB0eXBlPSJ0bnM6U2lnbmVkU29mdHdhcmVDZXJ0 +aWZpY2F0ZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iTGlzdE9mU2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgdHlwZT0idG5zOkxp +c3RPZlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1l +bnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbkF1dGhlbnRpY2F0aW9uVG9rZW4iIHR5 +cGU9InVhOk5vZGVJZCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2lnbmF0dXJlRGF0 +YSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIGRpZ2l0 +YWwgc2lnbmF0dXJlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQog +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWxnb3JpdGhtIiB0eXBl +PSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJTaWduYXR1cmUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTaWduYXR1cmVEYXRhIiB0eXBlPSJ0bnM6U2ln +bmF0dXJlRGF0YSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ3JlYXRlU2Vzc2lvblJl +cXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q3Jl +YXRlcyBhIG5ldyBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQog +ICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50RGVz +Y3JpcHRpb24iIHR5cGU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVXJpIiB0 +eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbk5h +bWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVudE5vbmNlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnki +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJDbGllbnRDZXJ0aWZpY2F0ZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkU2Vz +c2lvblRpbWVvdXQiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iTWF4UmVzcG9uc2VNZXNzYWdlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJ +bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVTZXNzaW9uUmVxdWVzdCIgdHlwZT0idG5z +OkNyZWF0ZVNlc3Npb25SZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDcmVh +dGVTZXNzaW9uUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3Vt +ZW50YXRpb24+Q3JlYXRlcyBhIG5ldyBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L3hzOmRvY3Vt +ZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFk +ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJTZXNzaW9uSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkF1dGhlbnRpY2F0aW9uVG9rZW4iIHR5 +cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlJldmlzZWRTZXNzaW9uVGltZW91dCIgdHlwZT0ieHM6ZG91YmxlIiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJOb25jZSIgdHlw +ZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyQ2VydGlmaWNhdGUiIHR5cGU9InhzOmJhc2U2NEJp +bmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlNlcnZlckVuZHBvaW50cyIgdHlwZT0idG5zOkxpc3RPZkVuZHBvaW50RGVzY3JpcHRp +b24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJTZXJ2ZXJTb2Z0d2FyZUNlcnRpZmljYXRlcyIgdHlwZT0idG5zOkxpc3RPZlNpZ25lZFNv +ZnR3YXJlQ2VydGlmaWNhdGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJTaWduYXR1cmUiIHR5cGU9InRuczpTaWduYXR1cmVE +YXRhIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iTWF4UmVxdWVzdE1lc3NhZ2VTaXplIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9IkNyZWF0ZVNlc3Npb25SZXNwb25zZSIgdHlwZT0idG5zOkNyZWF0ZVNl +c3Npb25SZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVXNlcklkZW50aXR5 +VG9rZW4iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBi +YXNlIHR5cGUgZm9yIGEgdXNlciBpZGVudGl0eSB0b2tlbi48L3hzOmRvY3VtZW50YXRpb24+DQog +ICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlBvbGljeUlkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iVXNlcklkZW50aXR5VG9rZW4iIHR5cGU9InRuczpVc2VySWRlbnRpdHlU +b2tlbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQW5vbnltb3VzSWRlbnRpdHlUb2tl +biI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHRva2Vu +IHJlcHJlc2VudGluZyBhbiBhbm9ueW1vdXMgdXNlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAg +PC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0K +ICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgICAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVu +c2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJBbm9ueW1vdXNJZGVudGl0eVRva2VuIiB0eXBlPSJ0bnM6QW5vbnlt +b3VzSWRlbnRpdHlUb2tlbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVXNlck5hbWVJ +ZGVudGl0eVRva2VuIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0 +aW9uPkEgdG9rZW4gcmVwcmVzZW50aW5nIGEgdXNlciBpZGVudGlmaWVkIGJ5IGEgdXNlciBuYW1l +IGFuZCBwYXNzd29yZC48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0K +ICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lv +biBiYXNlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQog +ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJQYXNzd29yZCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuY3J5cHRpb25BbGdvcml0 +aG0iIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29t +cGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVz +ZXJOYW1lSWRlbnRpdHlUb2tlbiIgdHlwZT0idG5zOlVzZXJOYW1lSWRlbnRpdHlUb2tlbiIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iWDUwOUlkZW50aXR5VG9rZW4iPg0KICAgIDx4czph +bm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSB0b2tlbiByZXByZXNlbnRpbmcg +YSB1c2VyIGlkZW50aWZpZWQgYnkgYW4gWDUwOSBjZXJ0aWZpY2F0ZS48L3hzOmRvY3VtZW50YXRp +b24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0i +ZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4i +Pg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2Vy +dGlmaWNhdGVEYXRhIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lv +bj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJYNTA5SWRlbnRpdHlUb2tlbiIgdHlwZT0idG5zOlg1MDlJZGVudGl0eVRv +a2VuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJJc3N1ZWRJZGVudGl0eVRva2VuIj4N +CiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgdG9rZW4gcmVw +cmVzZW50aW5nIGEgdXNlciBpZGVudGlmaWVkIGJ5IGEgV1MtU2VjdXJpdHkgWE1MIHRva2VuLjwv +eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhD +b250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpVc2Vy +SWRlbnRpdHlUb2tlbiI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJUb2tlbkRhdGEiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmNyeXB0 +aW9uQWxnb3JpdGhtIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAg +ICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJJc3N1ZWRJZGVudGl0eVRva2VuIiB0eXBlPSJ0bnM6SXNzdWVkSWRlbnRpdHlUb2tl +biIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWN0aXZhdGVTZXNzaW9uUmVxdWVzdCI+ +DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BY3RpdmF0ZXMg +YSBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czph +bm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJl +cXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50U2lnbmF0dXJlIiB0 +eXBlPSJ0bnM6U2lnbmF0dXJlRGF0YSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVudFNvZnR3YXJlQ2VydGlmaWNhdGVzIiB0eXBl +PSJ0bnM6TGlzdE9mU2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkxvY2FsZUlkcyIgdHlwZT0i +dWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iVXNlcklkZW50aXR5VG9rZW4iIHR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlVzZXJUb2tlblNpZ25hdHVyZSIgdHlwZT0idG5zOlNpZ25hdHVyZURhdGEiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj +b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWN0aXZhdGVTZXNzaW9uUmVxdWVzdCIg +dHlwZT0idG5zOkFjdGl2YXRlU2Vzc2lvblJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9IkFjdGl2YXRlU2Vzc2lvblJlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg +ICAgIDx4czpkb2N1bWVudGF0aW9uPkFjdGl2YXRlcyBhIHNlc3Npb24gd2l0aCB0aGUgc2VydmVy +LjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpS +ZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlNlcnZlck5vbmNlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1 +bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1 +YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJBY3RpdmF0ZVNlc3Npb25SZXNwb25zZSIgdHlwZT0idG5zOkFjdGl2YXRlU2Vzc2lvblJl +c3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDbG9zZVNlc3Npb25SZXF1ZXN0 +Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNsb3NlcyBh +IHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu +bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVx +dWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVTdWJzY3JpcHRpb25z +IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xvc2VTZXNzaW9uUmVx +dWVzdCIgdHlwZT0idG5zOkNsb3NlU2Vzc2lvblJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9IkNsb3NlU2Vzc2lvblJlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg +ICAgIDx4czpkb2N1bWVudGF0aW9uPkNsb3NlcyBhIHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwv +eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNw +b25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl +cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDbG9zZVNl +c3Npb25SZXNwb25zZSIgdHlwZT0idG5zOkNsb3NlU2Vzc2lvblJlc3BvbnNlIiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJDYW5jZWxSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4N +CiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNhbmNlbHMgYW4gb3V0c3RhbmRpbmcgcmVxdWVzdC48 +L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1 +ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iUmVxdWVzdEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vy +cz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJDYW5jZWxSZXF1ZXN0IiB0eXBlPSJ0bnM6Q2FuY2VsUmVxdWVzdCIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2FuY2VsUmVzcG9uc2UiPg0KICAgIDx4czphbm5v +dGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q2FuY2VscyBhbiBvdXRzdGFuZGluZyBy +ZXF1ZXN0LjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9 +InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IkNhbmNlbENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIg +bWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9IkNhbmNlbFJlc3BvbnNlIiB0eXBlPSJ0bnM6Q2FuY2VsUmVz +cG9uc2UiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9Ik5vZGVBdHRyaWJ1dGVzTWFzayI+ +DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYml0cyB1 +c2VkIHRvIHNwZWNpZnkgZGVmYXVsdCBhdHRyaWJ1dGVzIGZvciBhIG5ldyBub2RlLjwveHM6ZG9j +dW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJh +c2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4N +CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQWNjZXNzTGV2ZWxfMSIgLz4NCiAgICAgIDx4 +czplbnVtZXJhdGlvbiB2YWx1ZT0iQXJyYXlEaW1lbnNpb25zXzIiIC8+DQogICAgICA8eHM6ZW51 +bWVyYXRpb24gdmFsdWU9IkJyb3dzZU5hbWVfNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 +YWx1ZT0iQ29udGFpbnNOb0xvb3BzXzgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +IkRhdGFUeXBlXzE2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEZXNjcmlwdGlv +bl8zMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGlzcGxheU5hbWVfNjQiIC8+ +DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkV2ZW50Tm90aWZpZXJfMTI4IiAvPg0KICAg +ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJFeGVjdXRhYmxlXzI1NiIgLz4NCiAgICAgIDx4czpl +bnVtZXJhdGlvbiB2YWx1ZT0iSGlzdG9yaXppbmdfNTEyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0 +aW9uIHZhbHVlPSJJbnZlcnNlTmFtZV8xMDI0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh +bHVlPSJJc0Fic3RyYWN0XzIwNDgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik1p +bmltdW1TYW1wbGluZ0ludGVydmFsXzQwOTYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs +dWU9Ik5vZGVDbGFzc184MTkyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb2Rl +SWRfMTYzODQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN5bW1ldHJpY18zMjc2 +OCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVXNlckFjY2Vzc0xldmVsXzY1NTM2 +IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVc2VyRXhlY3V0YWJsZV8xMzEwNzIi +IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVzZXJXcml0ZU1hc2tfMjYyMTQ0IiAv +Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJWYWx1ZVJhbmtfNTI0Mjg4IiAvPg0KICAg +ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJXcml0ZU1hc2tfMTA0ODU3NiIgLz4NCiAgICAgIDx4 +czplbnVtZXJhdGlvbiB2YWx1ZT0iVmFsdWVfMjA5NzE1MiIgLz4NCiAgICAgIDx4czplbnVtZXJh +dGlvbiB2YWx1ZT0iQWxsXzQxOTQzMDMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +IkJhc2VOb2RlXzEzMzUzOTYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik9iamVj +dF8xMzM1NTI0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJPYmplY3RUeXBlT3JE +YXRhVHlwZV8xMzM3NDQ0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJWYXJpYWJs +ZV80MDI2OTk5IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJWYXJpYWJsZVR5cGVf +Mzk1ODkwMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTWV0aG9kXzE0NjY3MjQi +IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlZmVyZW5jZVR5cGVfMTM3MTIzNiIg +Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVmlld18xMzM1NTMyIiAvPg0KICAgIDwv +eHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +Tm9kZUF0dHJpYnV0ZXNNYXNrIiB0eXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXNNYXNrIiAvPg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJOb2RlQXR0cmlidXRlcyI+DQogICAgPHhzOmFubm90YXRp +b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYmFzZSBhdHRyaWJ1dGVzIGZvciBhbGwg +bm9kZXMuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiB0 +eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iRGlzcGxheU5hbWUiIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIg +dHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IldyaXRlTWFzayIgdHlwZT0ieHM6dW5zaWduZWRJbnQi +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJXcml0ZU1hc2si +IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5j +ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUF0dHJpYnV0 +ZXMiIHR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iT2JqZWN0QXR0cmlidXRlcyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9j +dW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYW4gb2JqZWN0IG5vZGUuPC94czpkb2N1bWVu +dGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4 +ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk5vZGVBdHRyaWJ1dGVz +Ij4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2 +ZW50Tm90aWZpZXIiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21w +bGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT2Jq +ZWN0QXR0cmlidXRlcyIgdHlwZT0idG5zOk9iamVjdEF0dHJpYnV0ZXMiIC8+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9IlZhcmlhYmxlQXR0cmlidXRlcyI+DQogICAgPHhzOmFubm90YXRpb24+ +DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSB2YXJpYWJsZSBu +b2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNv +bXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRu +czpOb2RlQXR0cmlidXRlcyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0idWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0K +ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJBcnJheURpbWVuc2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJBY2Nlc3NMZXZlbCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlckFjY2Vzc0xldmVsIiB0eXBlPSJ4czp1 +bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAi +IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yaXppbmciIHR5cGU9InhzOmJv +b2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwv +eHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlZhcmlhYmxlQXR0cmlidXRlcyIgdHlwZT0idG5zOlZh +cmlhYmxlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTWV0aG9kQXR0 +cmlidXRlcyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5U +aGUgYXR0cmlidXRlcyBmb3IgYSBtZXRob2Qgbm9kZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAg +PC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0K +ICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXhlY3V0YWJsZSIgdHlw +ZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h +bWU9IlVzZXJFeGVjdXRhYmxlIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNv +bXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJN +ZXRob2RBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6TWV0aG9kQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iT2JqZWN0VHlwZUF0dHJpYnV0ZXMiPg0KICAgIDx4czphbm5vdGF0 +aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGFuIG9iamVj +dCB0eXBlIG5vZGUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAg +ICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24g +YmFzZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +ICAgIDx4czplbGVtZW50IG5hbWU9IklzQWJzdHJhY3QiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9j +Y3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9u +Pg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl +bGVtZW50IG5hbWU9Ik9iamVjdFR5cGVBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6T2JqZWN0VHlwZUF0 +dHJpYnV0ZXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhYmxlVHlwZUF0dHJp +YnV0ZXMiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhl +IGF0dHJpYnV0ZXMgZm9yIGEgdmFyaWFibGUgdHlwZSBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4N +CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxz +ZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAg +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlw +ZT0idWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h +bWU9IkRhdGFUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czpp +bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcnJheURp +bWVuc2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4 +czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAg +ICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWYXJpYWJsZVR5cGVBdHRyaWJ1dGVzIiB0eXBl +PSJ0bnM6VmFyaWFibGVUeXBlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iUmVmZXJlbmNlVHlwZUF0dHJpYnV0ZXMiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAg +PHhzOmRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGEgcmVmZXJlbmNlIHR5cGUgbm9k +ZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21w +bGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6 +Tm9kZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iSXNBYnN0cmFjdCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN5bW1ldHJpYyIgdHlwZT0ieHM6Ym9vbGVh +biIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkludmVyc2VO +YW1lIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAg +PC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg +bmFtZT0iUmVmZXJlbmNlVHlwZUF0dHJpYnV0ZXMiIHR5cGU9InRuczpSZWZlcmVuY2VUeXBlQXR0 +cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGF0YVR5cGVBdHRyaWJ1dGVz +Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBhdHRy +aWJ1dGVzIGZvciBhIGRhdGEgdHlwZSBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hz +OmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAg +ICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4 +czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAg +ICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZUF0dHJpYnV0ZXMiIHR5cGU9InRu +czpEYXRhVHlwZUF0dHJpYnV0ZXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZpZXdB +dHRyaWJ1dGVzIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9u +PlRoZSBhdHRyaWJ1dGVzIGZvciBhIHZpZXcgbm9kZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAg +PC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0K +ICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGFpbnNOb0xvb3Bz +IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iRXZlbnROb3RpZmllciIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9 +IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAg +ICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJWaWV3QXR0cmlidXRlcyIgdHlwZT0idG5zOlZpZXdBdHRyaWJ1dGVzIiAvPg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZGROb2Rlc0l0ZW0iPg0KICAgIDx4czphbm5vdGF0aW9u +Pg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSByZXF1ZXN0IHRvIGFkZCBhIG5vZGUgdG8gdGhl +IHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90 +YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUGFyZW50 +Tm9kZUlkIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgdHlwZT0i +dWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iUmVxdWVzdGVkTmV3Tm9kZUlkIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkJyb3dzZU5hbWUiIHR5cGU9InVhOlF1YWxpZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlQ2xhc3MiIHR5cGU9InRu +czpOb2RlQ2xhc3MiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5v +ZGVBdHRyaWJ1dGVzIiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUeXBlRGVmaW5pdGlvbiIg +dHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg +bmFtZT0iQWRkTm9kZXNJdGVtIiB0eXBlPSJ0bnM6QWRkTm9kZXNJdGVtIiAvPg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZBZGROb2Rlc0l0ZW0iPg0KICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZE5vZGVzSXRlbSIgdHlwZT0idG5zOkFkZE5vZGVz +SXRlbSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iTGlzdE9mQWRkTm9kZXNJdGVtIiB0eXBlPSJ0bnM6TGlzdE9mQWRkTm9kZXNJdGVt +IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJBZGROb2Rlc1Jlc3VsdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l +bnRhdGlvbj5BIHJlc3VsdCBvZiBhbiBhZGQgbm9kZSBvcGVyYXRpb24uPC94czpkb2N1bWVudGF0 +aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9 +IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRlZE5vZGVJZCIgdHlwZT0idWE6Tm9k +ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFkZE5vZGVzUmVzdWx0 +IiB0eXBlPSJ0bnM6QWRkTm9kZXNSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +Ikxpc3RPZkFkZE5vZGVzUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJBZGROb2Rlc1Jlc3VsdCIgdHlwZT0idG5zOkFkZE5vZGVzUmVzdWx0IiBtaW5P +Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM +aXN0T2ZBZGROb2Rlc1Jlc3VsdCIgdHlwZT0idG5zOkxpc3RPZkFkZE5vZGVzUmVzdWx0IiBuaWxs +YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZGRO +b2Rlc1JlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRp +b24+QWRkcyBvbmUgb3IgbW9yZSBub2RlcyB0byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94 +czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVz +dEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9Ik5vZGVzVG9BZGQiIHR5cGU9InRuczpMaXN0T2ZBZGROb2Rlc0l0ZW0iIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj +b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkTm9kZXNSZXF1ZXN0IiB0eXBlPSJ0 +bnM6QWRkTm9kZXNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZGROb2Rl +c1Jlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9u +PkFkZHMgb25lIG9yIG1vcmUgbm9kZXMgdG8gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6 +ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25z +ZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZBZGROb2Rlc1Jlc3VsdCIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdu +b3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkTm9kZXNSZXNwb25zZSIgdHlwZT0idG5zOkFkZE5v +ZGVzUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFkZFJlZmVyZW5jZXNJ +dGVtIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgcmVx +dWVzdCB0byBhZGQgYSByZWZlcmVuY2UgdG8gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6 +ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU291cmNlTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS +ZWZlcmVuY2VUeXBlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IklzRm9yd2FyZCIgdHlwZT0ieHM6Ym9v +bGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0U2Vy +dmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXROb2RlSWQiIHR5cGU9InVhOkV4cGFuZGVk +Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iVGFyZ2V0Tm9kZUNsYXNzIiB0eXBlPSJ0bnM6Tm9kZUNsYXNzIiBtaW5PY2N1cnM9 +IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iQWRkUmVmZXJlbmNlc0l0ZW0iIHR5cGU9InRuczpBZGRSZWZlcmVuY2VzSXRl +bSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQWRkUmVmZXJlbmNlc0l0ZW0i +Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZFJlZmVyZW5j +ZXNJdGVtIiB0eXBlPSJ0bnM6QWRkUmVmZXJlbmNlc0l0ZW0iIG1pbk9jY3Vycz0iMCIgbWF4T2Nj +dXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkFkZFJlZmVyZW5j +ZXNJdGVtIiB0eXBlPSJ0bnM6TGlzdE9mQWRkUmVmZXJlbmNlc0l0ZW0iIG5pbGxhYmxlPSJ0cnVl +Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFkZFJlZmVyZW5jZXNS +ZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkFk +ZHMgb25lIG9yIG1vcmUgcmVmZXJlbmNlcyB0byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94 +czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVz +dEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlJlZmVyZW5jZXNUb0FkZCIgdHlwZT0idG5zOkxpc3RPZkFkZFJlZmVyZW5jZXNJ +dGVtIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFkZFJlZmVyZW5jZXNS +ZXF1ZXN0IiB0eXBlPSJ0bnM6QWRkUmVmZXJlbmNlc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9IkFkZFJlZmVyZW5jZXNSZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRpb24+ +DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BZGRzIG9uZSBvciBtb3JlIHJlZmVyZW5jZXMgdG8g +dGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu +bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVz +cG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVh +Okxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdu +b3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx +dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFkZFJlZmVy +ZW5jZXNSZXNwb25zZSIgdHlwZT0idG5zOkFkZFJlZmVyZW5jZXNSZXNwb25zZSIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlTm9kZXNJdGVtIj4NCiAgICA8eHM6YW5ub3RhdGlv +bj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgcmVxdWVzdCB0byBkZWxldGUgYSBub2RlIHRv +IHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czph +bm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5v +ZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlVGFyZ2V0UmVmZXJlbmNlcyIgdHlwZT0ieHM6 +Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZU5vZGVzSXRlbSIgdHlwZT0idG5z +OkRlbGV0ZU5vZGVzSXRlbSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGVs +ZXRlTm9kZXNJdGVtIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJEZWxldGVOb2Rlc0l0ZW0iIHR5cGU9InRuczpEZWxldGVOb2Rlc0l0ZW0iIG1pbk9jY3Vycz0i +MCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx +dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRl +bGV0ZU5vZGVzSXRlbSIgdHlwZT0idG5zOkxpc3RPZkRlbGV0ZU5vZGVzSXRlbSIgbmlsbGFibGU9 +InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlTm9k +ZXNSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9u +PkRlbGV0ZSBvbmUgb3IgbW9yZSBub2RlcyBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48 +L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1 +ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iTm9kZXNUb0RlbGV0ZSIgdHlwZT0idG5zOkxpc3RPZkRlbGV0ZU5vZGVzSXRl +bSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVOb2Rlc1JlcXVl +c3QiIHR5cGU9InRuczpEZWxldGVOb2Rlc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9IkRlbGV0ZU5vZGVzUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAg +PHhzOmRvY3VtZW50YXRpb24+RGVsZXRlIG9uZSBvciBtb3JlIG5vZGVzIGZyb20gdGhlIHNlcnZl +ciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+ +DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFk +ZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0 +YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZv +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZU5vZGVzUmVzcG9u +c2UiIHR5cGU9InRuczpEZWxldGVOb2Rlc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJEZWxldGVSZWZlcmVuY2VzSXRlbSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg +ICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8gZGVsZXRlIGEgbm9kZSBmcm9tIHRoZSBz +ZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 +aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNvdXJjZU5v +ZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQi +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJJc0ZvcndhcmQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlRhcmdldE5vZGVJZCIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJE +ZWxldGVCaWRpcmVjdGlvbmFsIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iRGVsZXRlUmVmZXJlbmNlc0l0ZW0iIHR5cGU9InRuczpEZWxldGVSZWZlcmVuY2VzSXRlbSIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGVsZXRlUmVmZXJlbmNlc0l0ZW0i +Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZVJlZmVy +ZW5jZXNJdGVtIiB0eXBlPSJ0bnM6RGVsZXRlUmVmZXJlbmNlc0l0ZW0iIG1pbk9jY3Vycz0iMCIg +bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRlbGV0 +ZVJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0bnM6TGlzdE9mRGVsZXRlUmVmZXJlbmNlc0l0ZW0iIG5p +bGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRl +bGV0ZVJlZmVyZW5jZXNSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpk +b2N1bWVudGF0aW9uPkRlbGV0ZSBvbmUgb3IgbW9yZSByZWZlcmVuY2VzIGZyb20gdGhlIHNlcnZl +ciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+ +DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRl +ciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VzVG9EZWxldGUiIHR5cGU9InRu +czpMaXN0T2ZEZWxldGVSZWZlcmVuY2VzSXRlbSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl +bWVudCBuYW1lPSJEZWxldGVSZWZlcmVuY2VzUmVxdWVzdCIgdHlwZT0idG5zOkRlbGV0ZVJlZmVy +ZW5jZXNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEZWxldGVSZWZlcmVu +Y2VzUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRp +b24+RGVsZXRlIG9uZSBvciBtb3JlIHJlZmVyZW5jZXMgZnJvbSB0aGUgc2VydmVyIGFkZHJlc3Mg +c3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0i +dG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w +bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlUmVmZXJlbmNlc1Jlc3BvbnNlIiB0 +eXBlPSJ0bnM6RGVsZXRlUmVmZXJlbmNlc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpzaW1wbGVUeXBl +ICBuYW1lPSJBdHRyaWJ1dGVXcml0ZU1hc2siPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAg +PHhzOmRvY3VtZW50YXRpb24+RGVmaW5lIGJpdHMgdXNlZCB0byBpbmRpY2F0ZSB3aGljaCBhdHRy +aWJ1dGVzIGFyZSB3cml0YWJsZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 +aW9uPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVu +dW1lcmF0aW9uIHZhbHVlPSJOb25lXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +IkFjY2Vzc0xldmVsXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFycmF5RGlt +ZW5zaW9uc18yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJCcm93c2VOYW1lXzQi +IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkNvbnRhaW5zTm9Mb29wc184IiAvPg0K +ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEYXRhVHlwZV8xNiIgLz4NCiAgICAgIDx4czpl +bnVtZXJhdGlvbiB2YWx1ZT0iRGVzY3JpcHRpb25fMzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp +b24gdmFsdWU9IkRpc3BsYXlOYW1lXzY0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl +PSJFdmVudE5vdGlmaWVyXzEyOCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRXhl +Y3V0YWJsZV8yNTYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ikhpc3Rvcml6aW5n +XzUxMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW52ZXJzZU5hbWVfMTAyNCIg +Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNBYnN0cmFjdF8yMDQ4IiAvPg0KICAg +ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbF80MDk2IiAv +Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb2RlQ2xhc3NfODE5MiIgLz4NCiAgICAg +IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9kZUlkXzE2Mzg0IiAvPg0KICAgICAgPHhzOmVudW1l +cmF0aW9uIHZhbHVlPSJTeW1tZXRyaWNfMzI3NjgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g +dmFsdWU9IlVzZXJBY2Nlc3NMZXZlbF82NTUzNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 +YWx1ZT0iVXNlckV4ZWN1dGFibGVfMTMxMDcyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh +bHVlPSJVc2VyV3JpdGVNYXNrXzI2MjE0NCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 +ZT0iVmFsdWVSYW5rXzUyNDI4OCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iV3Jp +dGVNYXNrXzEwNDg1NzYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZhbHVlRm9y +VmFyaWFibGVUeXBlXzIwOTcxNTIiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpz +aW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBdHRyaWJ1dGVXcml0ZU1hc2siIHR5cGU9 +InRuczpBdHRyaWJ1dGVXcml0ZU1hc2siIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkJy +b3dzZURpcmVjdGlvbiI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRh +dGlvbj5UaGUgZGlyZWN0aW9ucyBvZiB0aGUgcmVmZXJlbmNlcyB0byByZXR1cm4uPC94czpkb2N1 +bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFz +ZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRm9yd2FyZF8wIiAv +Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJbnZlcnNlXzEiIC8+DQogICAgICA8eHM6 +ZW51bWVyYXRpb24gdmFsdWU9IkJvdGhfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 +ZT0iSW52YWxpZF8zIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlRGlyZWN0aW9uIiB0eXBlPSJ0bnM6QnJvd3Nl +RGlyZWN0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJWaWV3RGVzY3JpcHRpb24i +Pg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIHZpZXcg +dG8gYnJvd3NlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmlld0lkIiB0eXBlPSJ1YTpO +b2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJUaW1lc3RhbXAiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWaWV3VmVyc2lvbiIgdHlwZT0ieHM6dW5zaWduZWRJbnQi +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWaWV3RGVzY3JpcHRpb24iIHR5cGU9InRuczpWaWV3RGVz +Y3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb3dzZURlc2NyaXB0aW9u +Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgcmVxdWVz +dCB0byBicm93c2UgdGhlIHRoZSByZWZlcmVuY2VzIGZyb20gYSBub2RlLjwveHM6ZG9jdW1lbnRh +dGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VEaXJlY3Rpb24i +IHR5cGU9InRuczpCcm93c2VEaXJlY3Rpb24iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5jbHVkZVN1 +YnR5cGVzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJOb2RlQ2xhc3NNYXNrIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz +PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0TWFzayIgdHlwZT0ieHM6dW5z +aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VEZXNjcmlwdGlvbiIgdHlwZT0i +dG5zOkJyb3dzZURlc2NyaXB0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0 +T2ZCcm93c2VEZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iQnJvd3NlRGVzY3JpcHRpb24iIHR5cGU9InRuczpCcm93c2VEZXNjcmlwdGlvbiIg +bWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iTGlzdE9mQnJvd3NlRGVzY3JpcHRpb24iIHR5cGU9InRuczpMaXN0T2ZCcm93c2VEZXNjcmlw +dGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAg +bmFtZT0iQnJvd3NlUmVzdWx0TWFzayI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6 +ZG9jdW1lbnRhdGlvbj5BIGJpdCBtYXNrIHdoaWNoIHNwZWNpZmllcyB3aGF0IHNob3VsZCBiZSBy +ZXR1cm5lZCBpbiBhIGJyb3dzZSByZXNwb25zZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94 +czphbm5vdGF0aW9uPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAg +ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb25lXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp +b24gdmFsdWU9IlJlZmVyZW5jZVR5cGVJZF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh +bHVlPSJJc0ZvcndhcmRfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9kZUNs +YXNzXzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJyb3dzZU5hbWVfOCIgLz4N +CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGlzcGxheU5hbWVfMTYiIC8+DQogICAgICA8 +eHM6ZW51bWVyYXRpb24gdmFsdWU9IlR5cGVEZWZpbml0aW9uXzMyIiAvPg0KICAgICAgPHhzOmVu +dW1lcmF0aW9uIHZhbHVlPSJBbGxfNjMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +IlJlZmVyZW5jZVR5cGVJbmZvXzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlRh +cmdldEluZm9fNjAiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VSZXN1bHRNYXNrIiB0eXBlPSJ0bnM6QnJvd3Nl +UmVzdWx0TWFzayIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVmZXJlbmNlRGVzY3Jp +cHRpb24iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhl +IGRlc2NyaXB0aW9uIG9mIGEgcmVmZXJlbmNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hz +OmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +UmVmZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ZvcndhcmQiIHR5cGU9InhzOmJv +b2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIg +dHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VOYW1lIiB0eXBlPSJ1YTpRdWFsaWZpZWRO +YW1lIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iRGlzcGxheU5hbWUiIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlQ2xhc3MiIHR5 +cGU9InRuczpOb2RlQ2xhc3MiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlR5cGVEZWZpbml0aW9uIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VEZXNjcmlwdGlvbiIgdHlwZT0idG5z +OlJlZmVyZW5jZURlc2NyaXB0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0 +T2ZSZWZlcmVuY2VEZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iUmVmZXJlbmNlRGVzY3JpcHRpb24iIHR5cGU9InRuczpSZWZlcmVuY2VEZXNj +cmlwdGlvbiIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iTGlzdE9mUmVmZXJlbmNlRGVzY3JpcHRpb24iIHR5cGU9InRuczpMaXN0T2ZS +ZWZlcmVuY2VEZXNjcmlwdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJDb250aW51YXRpb25Qb2ludCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5 +IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VSZXN1bHQiPg0KICAgIDx4czph +bm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIHJlc3VsdCBvZiBhIGJyb3dz +ZSBvcGVyYXRpb24uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBl +PSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJDb250aW51YXRpb25Qb2ludCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlcyIg +dHlwZT0idG5zOkxpc3RPZlJlZmVyZW5jZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVJlc3VsdCIgdHlwZT0idG5zOkJyb3dzZVJlc3VsdCIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJvd3NlUmVzdWx0Ij4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VSZXN1bHQiIHR5cGU9 +InRuczpCcm93c2VSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb3dzZVJlc3VsdCIgdHlwZT0idG5zOkxpc3RP +ZkJyb3dzZVJlc3VsdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iQnJvd3NlUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg +ICA8eHM6ZG9jdW1lbnRhdGlvbj5Ccm93c2UgdGhlIHJlZmVyZW5jZXMgZm9yIG9uZSBvciBtb3Jl +IG5vZGVzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4N +CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWaWV3IiB0 +eXBlPSJ0bnM6Vmlld0Rlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTWF4UmVmZXJlbmNlc1Blck5vZGUi +IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJOb2Rlc1RvQnJvd3NlIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlRGVzY3JpcHRpb24i +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUmVxdWVzdCIgdHlw +ZT0idG5zOkJyb3dzZVJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb3dz +ZVJlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9u +PkJyb3dzZSB0aGUgcmVmZXJlbmNlcyBmb3Igb25lIG9yIG1vcmUgbm9kZXMgZnJvbSB0aGUgc2Vy +dmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlv +bj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhl +YWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RP +ZkJyb3dzZVJlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3Rp +Y0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j +ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUmVzcG9u +c2UiIHR5cGU9InRuczpCcm93c2VSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iQnJvd3NlTmV4dFJlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRv +Y3VtZW50YXRpb24+Q29udGludWVzIG9uZSBvciBtb3JlIGJyb3dzZSBvcGVyYXRpb25zLjwveHM6 +ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RI +ZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJSZWxlYXNlQ29udGludWF0aW9uUG9pbnRzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250aW51YXRpb25Qb2ludHMi +IHR5cGU9InVhOkxpc3RPZkJ5dGVTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iQnJvd3NlTmV4dFJlcXVlc3QiIHR5cGU9InRuczpCcm93c2VOZXh0UmVxdWVzdCIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQnJvd3NlTmV4dFJlc3BvbnNlIj4NCiAgICA8 +eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNvbnRpbnVlcyBvbmUgb3Ig +bW9yZSBicm93c2Ugb3BlcmF0aW9ucy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v +dGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3Bv +bnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ0bnM6 +TGlzdE9mQnJvd3NlUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFn +bm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl +cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VO +ZXh0UmVzcG9uc2UiIHR5cGU9InRuczpCcm93c2VOZXh0UmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9IlJlbGF0aXZlUGF0aEVsZW1lbnQiPg0KICAgIDx4czphbm5vdGF0aW9u +Pg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QW4gZWxlbWVudCBpbiBhIHJlbGF0aXZlIHBhdGgu +PC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVu +Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VUeXBlSWQiIHR5cGU9InVhOk5v +ZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IklzSW52ZXJzZSIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5jbHVkZVN1YnR5cGVzIiB0eXBlPSJ4czpib29sZWFuIiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXROYW1lIiB0eXBl +PSJ1YTpRdWFsaWZpZWROYW1lIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +IlJlbGF0aXZlUGF0aEVsZW1lbnQiIHR5cGU9InRuczpSZWxhdGl2ZVBhdGhFbGVtZW50IiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZSZWxhdGl2ZVBhdGhFbGVtZW50Ij4NCiAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWxhdGl2ZVBhdGhFbGVt +ZW50IiB0eXBlPSJ0bnM6UmVsYXRpdmVQYXRoRWxlbWVudCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1 +cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUmVsYXRpdmVQYXRo +RWxlbWVudCIgdHlwZT0idG5zOkxpc3RPZlJlbGF0aXZlUGF0aEVsZW1lbnQiIG5pbGxhYmxlPSJ0 +cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlbGF0aXZlUGF0 +aCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHJlbGF0 +aXZlIHBhdGggY29uc3RydWN0ZWQgZnJvbSByZWZlcmVuY2UgdHlwZXMgYW5kIGJyb3dzZSBuYW1l +cy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVsZW1lbnRzIiB0eXBlPSJ0bnM6TGlzdE9m +UmVsYXRpdmVQYXRoRWxlbWVudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJSZWxhdGl2ZVBhdGgiIHR5cGU9InRuczpSZWxhdGl2ZVBhdGgiIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9IkJyb3dzZVBhdGgiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhz +OmRvY3VtZW50YXRpb24+QSByZXF1ZXN0IHRvIHRyYW5zbGF0ZSBhIHBhdGggaW50byBhIG5vZGUg +aWQuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFydGluZ05vZGUiIHR5cGU9InVhOk5v +ZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlJlbGF0aXZlUGF0aCIgdHlwZT0idG5zOlJlbGF0aXZlUGF0aCIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VQYXRoIiB0eXBlPSJ0bnM6QnJvd3NlUGF0 +aCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJvd3NlUGF0aCI+DQogICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUGF0aCIgdHlwZT0i +dG5zOkJyb3dzZVBhdGgiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGgiIHR5cGU9InRuczpMaXN0T2ZCcm93 +c2VQYXRoIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJCcm93c2VQYXRoVGFyZ2V0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4 +czpkb2N1bWVudGF0aW9uPlRoZSB0YXJnZXQgb2YgdGhlIHRyYW5zbGF0ZWQgcGF0aC48L3hzOmRv +Y3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdldElkIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlJlbWFpbmluZ1BhdGhJbmRleCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJCcm93c2VQYXRoVGFyZ2V0IiB0eXBlPSJ0bnM6QnJvd3NlUGF0aFRhcmdldCIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJvd3NlUGF0aFRhcmdldCI+DQogICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUGF0aFRhcmdldCIg +dHlwZT0idG5zOkJyb3dzZVBhdGhUYXJnZXQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJv +dW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGhUYXJnZXQiIHR5 +cGU9InRuczpMaXN0T2ZCcm93c2VQYXRoVGFyZ2V0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVt +ZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VQYXRoUmVzdWx0Ij4NCiAgICA8 +eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSByZXN1bHQgb2YgYSB0 +cmFuc2xhdGUgb3BlYXJhdGlvbi48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 +aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c0Nv +ZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlRhcmdldHMiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VQYXRoVGFyZ2V0IiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGhSZXN1bHQiIHR5cGU9 +InRuczpCcm93c2VQYXRoUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0 +T2ZCcm93c2VQYXRoUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJCcm93c2VQYXRoUmVzdWx0IiB0eXBlPSJ0bnM6QnJvd3NlUGF0aFJlc3VsdCIgbWlu +T2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +TGlzdE9mQnJvd3NlUGF0aFJlc3VsdCIgdHlwZT0idG5zOkxpc3RPZkJyb3dzZVBhdGhSZXN1bHQi +IG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +IlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRp +b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UcmFuc2xhdGVzIG9uZSBvciBtb3JlIHBhdGhz +IGluIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94 +czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUGF0aHMiIHR5 +cGU9InRuczpMaXN0T2ZCcm93c2VQYXRoIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9IlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVxdWVzdCIgdHlwZT0idG5zOlRy +YW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iVHJhbnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNSZXNwb25zZSI+DQogICAgPHhz +OmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UcmFuc2xhdGVzIG9uZSBvciBt +b3JlIHBhdGhzIGluIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+ +DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1 +bHRzIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlUGF0aFJlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIg +dHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iVHJhbnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNSZXNwb25zZSIgdHlwZT0i +dG5zOlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9IlJlZ2lzdGVyTm9kZXNSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlv +bj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlJlZ2lzdGVycyBvbmUgb3IgbW9yZSBub2RlcyBm +b3IgcmVwZWF0ZWQgdXNlIHdpdGhpbiBhIHNlc3Npb24uPC94czpkb2N1bWVudGF0aW9uPg0KICAg +IDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVzVG9SZWdp +c3RlciIgdHlwZT0idWE6TGlzdE9mTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9IlJlZ2lzdGVyTm9kZXNSZXF1ZXN0IiB0eXBlPSJ0bnM6UmVnaXN0ZXJOb2Rlc1Jl +cXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZ2lzdGVyTm9kZXNSZXNwb25z +ZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5SZWdpc3Rl +cnMgb25lIG9yIG1vcmUgbm9kZXMgZm9yIHJlcGVhdGVkIHVzZSB3aXRoaW4gYSBzZXNzaW9uLjwv +eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNw +b25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlJlZ2lzdGVyZWROb2RlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZOb2RlSWQiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJOb2Rlc1Jlc3BvbnNl +IiB0eXBlPSJ0bnM6UmVnaXN0ZXJOb2Rlc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJVbnJlZ2lzdGVyTm9kZXNSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg +ICAgIDx4czpkb2N1bWVudGF0aW9uPlVucmVnaXN0ZXJzIG9uZSBvciBtb3JlIHByZXZpb3VzbHkg +cmVnaXN0ZXJlZCBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9u +Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFk +ZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb1VucmVnaXN0ZXIiIHR5cGU9InVh +Okxpc3RPZk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVbnJl +Z2lzdGVyTm9kZXNSZXF1ZXN0IiB0eXBlPSJ0bnM6VW5yZWdpc3Rlck5vZGVzUmVxdWVzdCIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVW5yZWdpc3Rlck5vZGVzUmVzcG9uc2UiPg0KICAg +IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VW5yZWdpc3RlcnMgb25l +IG9yIG1vcmUgcHJldmlvdXNseSByZWdpc3RlcmVkIG5vZGVzLjwveHM6ZG9jdW1lbnRhdGlvbj4N +CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVbnJlZ2lzdGVyTm9kZXNSZXNwb25zZSIg +dHlwZT0idG5zOlVucmVnaXN0ZXJOb2Rlc1Jlc3BvbnNlIiAvPg0KDQogIDx4czplbGVtZW50IG5h +bWU9IkNvdW50ZXIiIHR5cGU9InhzOnVuc2lnbmVkSW50IiAvPg0KDQogIDx4czplbGVtZW50IG5h +bWU9Ik51bWVyaWNSYW5nZSIgdHlwZT0ieHM6c3RyaW5nIiAvPg0KDQogIDx4czplbGVtZW50IG5h +bWU9IlRpbWUiIHR5cGU9InhzOnN0cmluZyIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRl +IiB0eXBlPSJ4czpkYXRlVGltZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRW5kcG9p +bnRDb25maWd1cmF0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJPcGVyYXRpb25UaW1lb3V0IiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlVzZUJpbmFyeUVuY29kaW5nIiB0eXBlPSJ4czpib29sZWFu +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhTdHJpbmdMZW5n +dGgiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iTWF4Qnl0ZVN0cmluZ0xlbmd0aCIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhBcnJheUxlbmd0aCIgdHlwZT0ieHM6aW50IiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhNZXNzYWdlU2l6ZSIgdHlw +ZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhC +dWZmZXJTaXplIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IkNoYW5uZWxMaWZldGltZSIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVRva2VuTGlmZXRpbWUiIHR5cGU9Inhz +OmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50Q29uZmlndXJhdGlvbiIgdHlwZT0i +dG5zOkVuZHBvaW50Q29uZmlndXJhdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i +TGlzdE9mRW5kcG9pbnRDb25maWd1cmF0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludENvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpFbmRwb2lu +dENvbmZpZ3VyYXRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkVuZHBvaW50Q29uZmlndXJhdGlvbiIgdHlwZT0idG5z +Okxpc3RPZkVuZHBvaW50Q29uZmlndXJhdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVu +dD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUXVlcnlEYXRhRGVzY3JpcHRpb24iPg0KICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlbGF0aXZlUGF0aCIgdHlw +ZT0idG5zOlJlbGF0aXZlUGF0aCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXhSYW5nZSIgdHlw +ZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 +c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5 +RGF0YURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6UXVlcnlEYXRhRGVzY3JpcHRpb24iIC8+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlF1ZXJ5RGF0YURlc2NyaXB0aW9uIj4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeURhdGFEZXNjcmlwdGlv +biIgdHlwZT0idG5zOlF1ZXJ5RGF0YURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vy +cz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZRdWVyeURhdGFEZXNj +cmlwdGlvbiIgdHlwZT0idG5zOkxpc3RPZlF1ZXJ5RGF0YURlc2NyaXB0aW9uIiBuaWxsYWJsZT0i +dHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJOb2RlVHlwZURl +c2NyaXB0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJU +eXBlRGVmaW5pdGlvbk5vZGUiIHR5cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5jbHVkZVN1YlR5 +cGVzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJEYXRhVG9SZXR1cm4iIHR5cGU9InRuczpMaXN0T2ZRdWVyeURhdGFEZXNjcmlwdGlv +biIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlVHlwZURlc2NyaXB0 +aW9uIiB0eXBlPSJ0bnM6Tm9kZVR5cGVEZXNjcmlwdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iTGlzdE9mTm9kZVR5cGVEZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZVR5cGVEZXNjcmlwdGlvbiIgdHlwZT0idG5zOk5v +ZGVUeXBlRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk5vZGVUeXBlRGVzY3JpcHRpb24iIHR5cGU9InRu +czpMaXN0T2ZOb2RlVHlwZURlc2NyaXB0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50 +Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJGaWx0ZXJPcGVyYXRvciI+DQogICAgPHhzOnJl +c3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +IkVxdWFsc18wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJc051bGxfMSIgLz4N +CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iR3JlYXRlclRoYW5fMiIgLz4NCiAgICAgIDx4 +czplbnVtZXJhdGlvbiB2YWx1ZT0iTGVzc1RoYW5fMyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv +biB2YWx1ZT0iR3JlYXRlclRoYW5PckVxdWFsXzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g +dmFsdWU9Ikxlc3NUaGFuT3JFcXVhbF81IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl +PSJMaWtlXzYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vdF83IiAvPg0KICAg +ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJCZXR3ZWVuXzgiIC8+DQogICAgICA8eHM6ZW51bWVy +YXRpb24gdmFsdWU9IkluTGlzdF85IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJB +bmRfMTAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik9yXzExIiAvPg0KICAgICAg +PHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDYXN0XzEyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u +IHZhbHVlPSJJblZpZXdfMTMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik9mVHlw +ZV8xNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVsYXRlZFRvXzE1IiAvPg0K +ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJCaXR3aXNlQW5kXzE2IiAvPg0KICAgICAgPHhz +OmVudW1lcmF0aW9uIHZhbHVlPSJCaXR3aXNlT3JfMTciIC8+DQogICAgPC94czpyZXN0cmljdGlv +bj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXJPcGVyYXRv +ciIgdHlwZT0idG5zOkZpbHRlck9wZXJhdG9yIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJRdWVyeURhdGFTZXQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9Ik5vZGVJZCIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUeXBlRGVmaW5pdGlvbk5vZGUi +IHR5cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVzIiB0eXBlPSJ1YTpMaXN0T2ZWYXJpYW50 +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5RGF0YVNldCIgdHlw +ZT0idG5zOlF1ZXJ5RGF0YVNldCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m +UXVlcnlEYXRhU2V0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJRdWVyeURhdGFTZXQiIHR5cGU9InRuczpRdWVyeURhdGFTZXQiIG1pbk9jY3Vycz0iMCIgbWF4 +T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlF1ZXJ5RGF0 +YVNldCIgdHlwZT0idG5zOkxpc3RPZlF1ZXJ5RGF0YVNldCIgbmlsbGFibGU9InRydWUiPjwveHM6 +ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTm9kZVJlZmVyZW5jZSI+DQogICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpO +b2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJSZWZlcmVuY2VUeXBlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IklzRm9yd2FyZCIgdHlw +ZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +UmVmZXJlbmNlZE5vZGVJZHMiIHR5cGU9InVhOkxpc3RPZk5vZGVJZCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlUmVmZXJlbmNlIiB0eXBlPSJ0bnM6Tm9kZVJlZmVy +ZW5jZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTm9kZVJlZmVyZW5jZSI+ +DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZVJlZmVyZW5j +ZSIgdHlwZT0idG5zOk5vZGVSZWZlcmVuY2UiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJv +dW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk5vZGVSZWZlcmVuY2UiIHR5cGU9 +InRuczpMaXN0T2ZOb2RlUmVmZXJlbmNlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDb250ZW50RmlsdGVyRWxlbWVudCI+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyT3BlcmF0b3IiIHR5cGU9 +InRuczpGaWx0ZXJPcGVyYXRvciIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iRmlsdGVyT3BlcmFuZHMiIHR5cGU9InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz +OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb250ZW50RmlsdGVyRWxlbWVudCIg +dHlwZT0idG5zOkNvbnRlbnRGaWx0ZXJFbGVtZW50IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu +YW1lPSJMaXN0T2ZDb250ZW50RmlsdGVyRWxlbWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGVudEZpbHRlckVsZW1lbnQiIHR5cGU9InRuczpDb250 +ZW50RmlsdGVyRWxlbWVudCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N +CiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQ29udGVudEZpbHRlckVsZW1lbnQiIHR5cGU9InRu +czpMaXN0T2ZDb250ZW50RmlsdGVyRWxlbWVudCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVu +dD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ29udGVudEZpbHRlciI+DQogICAgPHhzOnNl +cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRWxlbWVudHMiIHR5cGU9InRuczpMaXN0 +T2ZDb250ZW50RmlsdGVyRWxlbWVudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJDb250ZW50RmlsdGVyIiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlciIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQ29udGVudEZpbHRlciI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGVudEZpbHRlciIgdHlwZT0idG5zOkNvbnRl +bnRGaWx0ZXIiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl +bGVtZW50IG5hbWU9Ikxpc3RPZkNvbnRlbnRGaWx0ZXIiIHR5cGU9InRuczpMaXN0T2ZDb250ZW50 +RmlsdGVyIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJGaWx0ZXJPcGVyYW5kIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyT3Bl +cmFuZCIgdHlwZT0idG5zOkZpbHRlck9wZXJhbmQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9IkVsZW1lbnRPcGVyYW5kIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNl +Ij4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgICAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXgiIHR5cGU9 +InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+ +DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hz +OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFbGVtZW50T3BlcmFuZCIgdHlwZT0i +dG5zOkVsZW1lbnRPcGVyYW5kIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXRlcmFs +T3BlcmFuZCI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8 +eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpGaWx0ZXJPcGVyYW5kIj4NCiAgICAgICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlIiB0eXBlPSJ1YTpWYXJpYW50 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4 +dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJMaXRlcmFsT3BlcmFuZCIgdHlwZT0idG5zOkxpdGVyYWxPcGVy +YW5kIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBdHRyaWJ1dGVPcGVyYW5kIj4NCiAg +ICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24g +YmFzZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWxpYXMi +IHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VQYXRoIiB0eXBlPSJ0bnM6UmVsYXRpdmVQYXRo +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmlu +ZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5j +ZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwv +eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkF0dHJpYnV0ZU9wZXJhbmQiIHR5 +cGU9InRuczpBdHRyaWJ1dGVPcGVyYW5kIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJT +aW1wbGVBdHRyaWJ1dGVPcGVyYW5kIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZh +bHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAg +ICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHlwZURlZmlu +aXRpb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGgiIHR5cGU9InVhOkxpc3RP +ZlF1YWxpZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iQXR0cmlidXRlSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXhSYW5nZSIg +dHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +ICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4 +Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2ltcGxl +QXR0cmlidXRlT3BlcmFuZCIgdHlwZT0idG5zOlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIC8+DQoN +CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiPg0K +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNpbXBsZUF0dHJpYnV0 +ZU9wZXJhbmQiIHR5cGU9InRuczpTaW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiBtaW5PY2N1cnM9IjAi +IG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl +bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTaW1w +bGVBdHRyaWJ1dGVPcGVyYW5kIiB0eXBlPSJ0bnM6TGlzdE9mU2ltcGxlQXR0cmlidXRlT3BlcmFu +ZCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iQ29udGVudEZpbHRlckVsZW1lbnRSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlN0YXR1c0NvZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9j +Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik9wZXJhbmRTdGF0dXNDb2RlcyIg +dHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik9wZXJhbmREaWFnbm9zdGljSW5mb3MiIHR5cGU9 +InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9IkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiB0eXBlPSJ0bnM6Q29udGVudEZpbHRl +ckVsZW1lbnRSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkNvbnRl +bnRGaWx0ZXJFbGVtZW50UmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIgdHlwZT0idG5zOkNvbnRlbnRG +aWx0ZXJFbGVtZW50UmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIg +dHlwZT0idG5zOkxpc3RPZkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiBuaWxsYWJsZT0idHJ1 +ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDb250ZW50RmlsdGVy +UmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbGVt +ZW50UmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +RWxlbWVudERpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGVudEZpbHRlclJlc3VsdCIg +dHlwZT0idG5zOkNvbnRlbnRGaWx0ZXJSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9IlBhcnNpbmdSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlN0YXR1c0NvZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTdGF0dXNDb2RlcyIgdHlwZT0idWE6TGlzdE9m +U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkRhdGFEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0 +aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlBhcnNpbmdSZXN1 +bHQiIHR5cGU9InRuczpQYXJzaW5nUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJMaXN0T2ZQYXJzaW5nUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJQYXJzaW5nUmVzdWx0IiB0eXBlPSJ0bnM6UGFyc2luZ1Jlc3VsdCIgbWluT2Nj +dXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 +czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlz +dE9mUGFyc2luZ1Jlc3VsdCIgdHlwZT0idG5zOkxpc3RPZlBhcnNpbmdSZXN1bHQiIG5pbGxhYmxl +PSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlF1ZXJ5Rmly +c3RSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS +ZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZpZXciIHR5cGU9InRuczpW +aWV3RGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJOb2RlVHlwZXMiIHR5cGU9InRuczpMaXN0T2ZOb2RlVHlwZURlc2Ny +aXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iRmlsdGVyIiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlciIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heERhdGFTZXRzVG9S +ZXR1cm4iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJNYXhSZWZlcmVuY2VzVG9SZXR1cm4iIHR5cGU9InhzOnVuc2lnbmVkSW50 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlGaXJzdFJlcXVlc3QiIHR5cGU9InRuczpRdWVy +eUZpcnN0UmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUXVlcnlGaXJzdFJl +c3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNw +b25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlEYXRhU2V0cyIgdHlw +ZT0idG5zOkxpc3RPZlF1ZXJ5RGF0YVNldCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpi +YXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJQYXJzaW5nUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZlBhcnNpbmdSZXN1 +bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmls +dGVyUmVzdWx0IiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlclJlc3VsdCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeUZpcnN0UmVzcG9uc2UiIHR5cGU9InRuczpRdWVy +eUZpcnN0UmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlF1ZXJ5TmV4dFJl +cXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVl +c3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsZWFzZUNvbnRpbnVhdGlvblBv +aW50IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJDb250aW51YXRpb25Qb2ludCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5TmV4dFJlcXVlc3QiIHR5cGU9InRu +czpRdWVyeU5leHRSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJRdWVyeU5l +eHRSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +UmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5RGF0YVNldHMi +IHR5cGU9InRuczpMaXN0T2ZRdWVyeURhdGFTZXQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkQ29udGludWF0aW9uUG9pbnQi +IHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJRdWVyeU5leHRSZXNwb25zZSIgdHlwZT0idG5zOlF1ZXJ5TmV4dFJlc3BvbnNlIiAvPg0K +DQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iPg0KICAgIDx4czpy +ZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl +PSJTb3VyY2VfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU2VydmVyXzEiIC8+ +DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJvdGhfMiIgLz4NCiAgICAgIDx4czplbnVt +ZXJhdGlvbiB2YWx1ZT0iTmVpdGhlcl8zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl +PSJJbnZhbGlkXzQiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iIHR5cGU9InRuczpUaW1l +c3RhbXBzVG9SZXR1cm4iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlYWRWYWx1ZUlk +Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5 +cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXhSYW5nZSIgdHlwZT0ieHM6 +c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iRGF0YUVuY29kaW5nIiB0eXBlPSJ1YTpRdWFsaWZpZWROYW1lIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlYWRWYWx1ZUlkIiB0eXBlPSJ0bnM6UmVhZFZh +bHVlSWQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlJlYWRWYWx1ZUlkIj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWFkVmFsdWVJZCIg +dHlwZT0idG5zOlJlYWRWYWx1ZUlkIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVk +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZSZWFkVmFsdWVJZCIgdHlwZT0idG5zOkxp +c3RPZlJlYWRWYWx1ZUlkIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJSZWFkUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIi +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJNYXhBZ2UiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiB0eXBlPSJ0bnM6VGltZXN0YW1wc1RvUmV0 +dXJuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2Rlc1RvUmVh +ZCIgdHlwZT0idG5zOkxpc3RPZlJlYWRWYWx1ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl +bGVtZW50IG5hbWU9IlJlYWRSZXF1ZXN0IiB0eXBlPSJ0bnM6UmVhZFJlcXVlc3QiIC8+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlYWRSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25z +ZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZkRhdGFWYWx1ZSIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJ +bmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iUmVhZFJlc3BvbnNlIiB0eXBlPSJ0bnM6UmVhZFJlc3BvbnNlIiAv +Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5UmVhZFZhbHVlSWQiPg0KICAgIDx4 +czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6Tm9k +ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iSW5kZXhSYW5nZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YUVuY29kaW5nIiB0eXBlPSJ1 +YTpRdWFsaWZpZWROYW1lIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9uUG9pbnQiIHR5cGU9InhzOmJhc2U2NEJpbmFy +eSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5UmVhZFZhbHVl +SWQiIHR5cGU9InRuczpIaXN0b3J5UmVhZFZhbHVlSWQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9Ikxpc3RPZkhpc3RvcnlSZWFkVmFsdWVJZCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRWYWx1ZUlkIiB0eXBlPSJ0bnM6SGlzdG9y +eVJlYWRWYWx1ZUlkIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZIaXN0b3J5UmVhZFZhbHVlSWQiIHR5cGU9InRuczpMaXN0 +T2ZIaXN0b3J5UmVhZFZhbHVlSWQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlSZWFkUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVu +Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXND +b2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250aW51YXRp +b25Qb2ludCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeURhdGEiIHR5cGU9InVhOkV4 +dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0 +b3J5UmVhZFJlc3VsdCIgdHlwZT0idG5zOkhpc3RvcnlSZWFkUmVzdWx0IiAvPg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZIaXN0b3J5UmVhZFJlc3VsdCI+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRSZXN1bHQiIHR5cGU9InRu +czpIaXN0b3J5UmVhZFJlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mSGlzdG9yeVJlYWRSZXN1bHQiIHR5cGU9InRu +czpMaXN0T2ZIaXN0b3J5UmVhZFJlc3VsdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWREZXRhaWxzIiB0eXBlPSJ0bnM6SGlzdG9yeVJlYWRE +ZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWFkRXZlbnREZXRhaWxzIj4N +CiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNp +b24gYmFzZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOdW1WYWx1ZXNQZXJOb2RlIiB0eXBlPSJ4czp1 +bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlN0YXJ0VGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJz +PSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlciIgdHlwZT0idG5zOkV2 +ZW50RmlsdGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hz +OnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVu +dD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZEV2ZW50RGV0 +YWlscyIgdHlwZT0idG5zOlJlYWRFdmVudERldGFpbHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9IlJlYWRSYXdNb2RpZmllZERldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBt +aXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVJlYWRE +ZXRhaWxzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h +bWU9IklzUmVhZE1vZGlmaWVkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhcnRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZFRpbWUiIHR5 +cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iTnVtVmFsdWVzUGVyTm9kZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i +MCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXR1cm5Cb3VuZHMiIHR5cGU9Inhz +OmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAg +IDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlYWRSYXdNb2RpZmllZERldGFpbHMiIHR5cGU9 +InRuczpSZWFkUmF3TW9kaWZpZWREZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJSZWFkUHJvY2Vzc2VkRGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJm +YWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5UmVhZERldGFpbHMi +Pg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Rh +cnRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4 +czplbGVtZW50IG5hbWU9IkVuZFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAi +IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJvY2Vzc2luZ0ludGVydmFsIiB0eXBl +PSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJBZ2dyZWdhdGVUeXBlIiB0eXBlPSJ1YTpMaXN0T2ZOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWdncmVnYXRlQ29u +ZmlndXJhdGlvbiIgdHlwZT0idG5zOkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hz +OmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWFkUHJvY2Vzc2VkRGV0YWlscyIgdHlwZT0idG5zOlJl +YWRQcm9jZXNzZWREZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWFkQXRU +aW1lRGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAg +ICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5UmVhZERldGFpbHMiPg0KICAgICAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxVGltZXMiIHR5cGU9 +InVhOkxpc3RPZkRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZVNpbXBsZUJvdW5kcyIgdHlwZT0ieHM6Ym9vbGVh +biIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpl +eHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4N +CiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZEF0VGltZURldGFpbHMiIHR5cGU9InRuczpSZWFkQXRU +aW1lRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeURhdGEiPg0K +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFWYWx1ZXMiIHR5 +cGU9InVhOkxpc3RPZkRhdGFWYWx1ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJIaXN0b3J5RGF0YSIgdHlwZT0idG5zOkhpc3RvcnlEYXRhIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJNb2RpZmljYXRpb25JbmZvIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZmljYXRpb25UaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXBkYXRlVHlwZSIgdHlw +ZT0idG5zOkhpc3RvcnlVcGRhdGVUeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJVc2VyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9Ik1vZGlmaWNhdGlvbkluZm8iIHR5cGU9InRuczpNb2RpZmljYXRp +b25JbmZvIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb2RpZmljYXRpb25J +bmZvIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZmlj +YXRpb25JbmZvIiB0eXBlPSJ0bnM6TW9kaWZpY2F0aW9uSW5mbyIgbWluT2NjdXJzPSIwIiBtYXhP +Y2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTW9kaWZpY2F0 +aW9uSW5mbyIgdHlwZT0idG5zOkxpc3RPZk1vZGlmaWNhdGlvbkluZm8iIG5pbGxhYmxlPSJ0cnVl +Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlNb2RpZmll +ZERhdGEiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhz +OmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeURhdGEiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+ +DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZpY2F0aW9uSW5mb3MiIHR5cGU9InRu +czpMaXN0T2ZNb2RpZmljYXRpb25JbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94 +czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iSGlzdG9yeU1vZGlmaWVkRGF0YSIgdHlwZT0idG5zOkhpc3RvcnlNb2RpZmllZERhdGEiIC8+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlFdmVudCI+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnRzIiB0eXBlPSJ0bnM6TGlzdE9mSGlz +dG9yeUV2ZW50RmllbGRMaXN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +Ikhpc3RvcnlFdmVudCIgdHlwZT0idG5zOkhpc3RvcnlFdmVudCIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iSGlzdG9yeVJlYWRSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRl +ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9Ikhpc3RvcnlSZWFkRGV0YWlscyIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0 +YW1wc1RvUmV0dXJuIiB0eXBlPSJ0bnM6VGltZXN0YW1wc1RvUmV0dXJuIiBtaW5PY2N1cnM9IjAi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWxlYXNlQ29udGludWF0aW9uUG9pbnRzIiB0 +eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJOb2Rlc1RvUmVhZCIgdHlwZT0idG5zOkxpc3RPZkhpc3RvcnlSZWFkVmFsdWVJZCIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5UmVhZFJlcXVlc3QiIHR5cGU9 +InRuczpIaXN0b3J5UmVhZFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhp +c3RvcnlSZWFkUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRz +IiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeVJlYWRSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5 +cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9Ikhpc3RvcnlSZWFkUmVzcG9uc2UiIHR5cGU9InRuczpIaXN0b3J5UmVhZFJlc3Bv +bnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJXcml0ZVZhbHVlIj4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5vZGVJ +ZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXhSYW5nZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFs +dWUiIHR5cGU9InVhOkRhdGFWYWx1ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJXcml0ZVZhbHVlIiB0eXBlPSJ0bnM6V3JpdGVWYWx1ZSIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iTGlzdE9mV3JpdGVWYWx1ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVWYWx1ZSIgdHlwZT0idG5zOldyaXRlVmFsdWUiIG1pbk9j +Y3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxp +c3RPZldyaXRlVmFsdWUiIHR5cGU9InRuczpMaXN0T2ZXcml0ZVZhbHVlIiBuaWxsYWJsZT0idHJ1 +ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJXcml0ZVJlcXVlc3Qi +Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFk +ZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb1dyaXRlIiB0eXBlPSJ0bnM6TGlz +dE9mV3JpdGVWYWx1ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJXcml0 +ZVJlcXVlc3QiIHR5cGU9InRuczpXcml0ZVJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9IldyaXRlUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1 +bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1 +YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJXcml0ZVJlc3BvbnNlIiB0eXBlPSJ0bnM6V3JpdGVSZXNwb25zZSIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlVcGRhdGVEZXRhaWxzIiB0 +eXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5h +bWU9Ikhpc3RvcnlVcGRhdGVUeXBlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3Ry +aW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW5zZXJ0XzEiIC8+DQogICAgICA8 +eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlcGxhY2VfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv +biB2YWx1ZT0iVXBkYXRlXzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRlbGV0 +ZV80IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iSGlzdG9yeVVwZGF0ZVR5cGUiIHR5cGU9InRuczpIaXN0b3J5VXBkYXRl +VHlwZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iUGVyZm9ybVVwZGF0ZVR5cGUiPg0K +ICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0 +aW9uIHZhbHVlPSJJbnNlcnRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVw +bGFjZV8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVcGRhdGVfMyIgLz4NCiAg +ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVtb3ZlXzQiIC8+DQogICAgPC94czpyZXN0cmlj +dGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJQZXJmb3JtVXBk +YXRlVHlwZSIgdHlwZT0idG5zOlBlcmZvcm1VcGRhdGVUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJVcGRhdGVEYXRhRGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1p +eGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5VXBkYXRl +RGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJQZXJmb3JtSW5zZXJ0UmVwbGFjZSIgdHlwZT0idG5zOlBlcmZvcm1VcGRhdGVUeXBlIiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXBkYXRlVmFsdWVz +IiB0eXBlPSJ1YTpMaXN0T2ZEYXRhVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8 +L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJVcGRhdGVEYXRhRGV0YWlscyIgdHlwZT0idG5zOlVwZGF0ZURhdGFEZXRhaWxzIiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJVcGRhdGVTdHJ1Y3R1cmVEYXRhRGV0YWlscyI+DQog +ICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9u +IGJhc2U9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQZXJmb3JtSW5zZXJ0UmVwbGFjZSIgdHlwZT0i +dG5zOlBlcmZvcm1VcGRhdGVUeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iVXBkYXRlVmFsdWVzIiB0eXBlPSJ1YTpMaXN0T2ZEYXRhVmFsdWUiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAg +ICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVcGRhdGVTdHJ1Y3R1cmVEYXRhRGV0YWlscyIg +dHlwZT0idG5zOlVwZGF0ZVN0cnVjdHVyZURhdGFEZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJVcGRhdGVFdmVudERldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBt +aXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVVwZGF0 +ZURldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iUGVyZm9ybUluc2VydFJlcGxhY2UiIHR5cGU9InRuczpQZXJmb3JtVXBkYXRlVHlwZSIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlciIgdHlw +ZT0idG5zOkV2ZW50RmlsdGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50RGF0YSIgdHlwZT0idG5zOkxpc3RPZkhpc3Rv +cnlFdmVudEZpZWxkTGlzdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +ICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxl +eENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVwZGF0 +ZUV2ZW50RGV0YWlscyIgdHlwZT0idG5zOlVwZGF0ZUV2ZW50RGV0YWlscyIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlUmF3TW9kaWZpZWREZXRhaWxzIj4NCiAgICA8eHM6Y29t +cGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5z +Okhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAg +IDx4czplbGVtZW50IG5hbWU9IklzRGVsZXRlTW9kaWZpZWQiIHR5cGU9InhzOmJvb2xlYW4iIG1p +bk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFydFRpbWUiIHR5 +cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iRW5kVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg +ICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxl +eENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0 +ZVJhd01vZGlmaWVkRGV0YWlscyIgdHlwZT0idG5zOkRlbGV0ZVJhd01vZGlmaWVkRGV0YWlscyIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlQXRUaW1lRGV0YWlscyI+DQogICAg +PHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJh +c2U9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXFUaW1lcyIgdHlwZT0idWE6TGlzdE9mRGF0ZVRp +bWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVu +Y2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVBdFRpbWVEZXRhaWxz +IiB0eXBlPSJ0bnM6RGVsZXRlQXRUaW1lRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iRGVsZXRlRXZlbnREZXRhaWxzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9 +ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRh +aWxzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkV2ZW50SWRzIiB0eXBlPSJ1YTpMaXN0T2ZCeXRlU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNp +b24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iRGVsZXRlRXZlbnREZXRhaWxzIiB0eXBlPSJ0bnM6RGVsZXRlRXZlbnRE +ZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5VXBkYXRlUmVzdWx0 +Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2Rl +IiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJPcGVyYXRpb25SZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlh +Z25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5VXBkYXRlUmVzdWx0IiB0eXBlPSJ0bnM6 +SGlzdG9yeVVwZGF0ZVJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m +SGlzdG9yeVVwZGF0ZVJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3VsdCIgdHlwZT0idG5zOkhpc3RvcnlVcGRhdGVSZXN1 +bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9Ikxpc3RPZkhpc3RvcnlVcGRhdGVSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZIaXN0b3J5 +VXBkYXRlUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJIaXN0b3J5VXBkYXRlUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RI +ZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJIaXN0b3J5VXBkYXRlRGV0YWlscyIgdHlwZT0idWE6TGlzdE9mRXh0ZW5zaW9uT2Jq +ZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlVcGRhdGVS +ZXF1ZXN0IiB0eXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZVJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9Ikhpc3RvcnlVcGRhdGVSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25z +ZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZIaXN0b3J5VXBkYXRlUmVzdWx0IiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +RGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5VXBkYXRlUmVzcG9uc2UiIHR5cGU9 +InRuczpIaXN0b3J5VXBkYXRlUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +IkNhbGxNZXRob2RSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJPYmplY3RJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWV0aG9kSWQiIHR5cGU9InVhOk5v +ZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IklucHV0QXJndW1lbnRzIiB0eXBlPSJ1YTpMaXN0T2ZWYXJpYW50IiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNhbGxNZXRob2RSZXF1ZXN0IiB0eXBlPSJ0bnM6 +Q2FsbE1ldGhvZFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkNh +bGxNZXRob2RSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJDYWxsTWV0aG9kUmVxdWVzdCIgdHlwZT0idG5zOkNhbGxNZXRob2RSZXF1ZXN0IiBtaW5P +Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM +aXN0T2ZDYWxsTWV0aG9kUmVxdWVzdCIgdHlwZT0idG5zOkxpc3RPZkNhbGxNZXRob2RSZXF1ZXN0 +IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJDYWxsTWV0aG9kUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbnB1dEFyZ3VtZW50UmVzdWx0cyIgdHlwZT0idWE6 +TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IklucHV0QXJndW1lbnREaWFnbm9zdGljSW5mb3MiIHR5cGU9InVh +Okxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT3V0cHV0QXJndW1lbnRzIiB0eXBlPSJ1YTpMaXN0T2ZW +YXJpYW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNhbGxNZXRob2RS +ZXN1bHQiIHR5cGU9InRuczpDYWxsTWV0aG9kUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJMaXN0T2ZDYWxsTWV0aG9kUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJDYWxsTWV0aG9kUmVzdWx0IiB0eXBlPSJ0bnM6Q2FsbE1ldGhv +ZFJlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iTGlzdE9mQ2FsbE1ldGhvZFJlc3VsdCIgdHlwZT0idG5zOkxpc3RPZkNhbGxN +ZXRob2RSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9IkNhbGxSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1l +dGhvZHNUb0NhbGwiIHR5cGU9InRuczpMaXN0T2ZDYWxsTWV0aG9kUmVxdWVzdCIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDYWxsUmVxdWVzdCIgdHlwZT0idG5zOkNhbGxS +ZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDYWxsUmVzcG9uc2UiPg0KICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0 +eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ0bnM6TGlzdE9mQ2FsbE1l +dGhvZFJlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0lu +Zm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ2FsbFJlc3BvbnNlIiB0 +eXBlPSJ0bnM6Q2FsbFJlc3BvbnNlIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJNb25p +dG9yaW5nTW9kZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAg +ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRpc2FibGVkXzAiIC8+DQogICAgICA8eHM6ZW51bWVy +YXRpb24gdmFsdWU9IlNhbXBsaW5nXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +IlJlcG9ydGluZ18yIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ01vZGUiIHR5cGU9InRuczpNb25pdG9y +aW5nTW9kZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iRGF0YUNoYW5nZVRyaWdnZXIi +Pg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1l +cmF0aW9uIHZhbHVlPSJTdGF0dXNfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i +U3RhdHVzVmFsdWVfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU3RhdHVzVmFs +dWVUaW1lc3RhbXBfMiIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRhdGFDaGFuZ2VUcmlnZ2VyIiB0eXBlPSJ0bnM6RGF0 +YUNoYW5nZVRyaWdnZXIiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkRlYWRiYW5kVHlw +ZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51 +bWVyYXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i +QWJzb2x1dGVfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudF8yIiAv +Pg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iRGVhZGJhbmRUeXBlIiB0eXBlPSJ0bnM6RGVhZGJhbmRUeXBlIiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJNb25pdG9yaW5nRmlsdGVyIj4NCiAgICA8eHM6c2VxdWVuY2U+ +DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg +bmFtZT0iTW9uaXRvcmluZ0ZpbHRlciIgdHlwZT0idG5zOk1vbml0b3JpbmdGaWx0ZXIiIC8+DQoN +CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFDaGFuZ2VGaWx0ZXIiPg0KICAgIDx4czpjb21w +bGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6 +TW9uaXRvcmluZ0ZpbHRlciI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJUcmlnZ2VyIiB0eXBlPSJ0bnM6RGF0YUNoYW5nZVRyaWdnZXIiIG1pbk9j +Y3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWFkYmFuZFR5cGUiIHR5 +cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iRGVhZGJhbmRWYWx1ZSIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hz +OmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJEYXRhQ2hhbmdlRmlsdGVyIiB0eXBlPSJ0bnM6RGF0YUNoYW5nZUZpbHRlciIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iRXZlbnRGaWx0ZXIiPg0KICAgIDx4czpjb21wbGV4Q29udGVu +dCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6TW9uaXRvcmlu +Z0ZpbHRlciI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJTZWxlY3RDbGF1c2VzIiB0eXBlPSJ0bnM6TGlzdE9mU2ltcGxlQXR0cmlidXRlT3BlcmFu +ZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJXaGVyZUNsYXVzZSIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXIiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hz +OmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudEZpbHRlciIgdHlwZT0idG5zOkV2ZW50RmlsdGVy +IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZ2dyZWdhdGVDb25maWd1cmF0aW9uIj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VTZXJ2ZXJDYXBh +YmlsaXRpZXNEZWZhdWx0cyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJlYXRVbmNlcnRhaW5Bc0JhZCIgdHlwZT0ieHM6Ym9vbGVh +biIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUGVyY2VudERhdGFC +YWQiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iUGVyY2VudERhdGFHb29kIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9j +Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZVNsb3BlZEV4dHJhcG9sYXRp +b24iIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNl +Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBZ2dyZWdhdGVDb25m +aWd1cmF0aW9uIiB0eXBlPSJ0bnM6QWdncmVnYXRlQ29uZmlndXJhdGlvbiIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iQWdncmVnYXRlRmlsdGVyIj4NCiAgICA8eHM6Y29tcGxleENvbnRl +bnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk1vbml0b3Jp +bmdGaWx0ZXIiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iU3RhcnRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFnZ3JlZ2F0ZVR5cGUiIHR5cGU9InVhOk5vZGVJZCIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJQcm9jZXNzaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIHR5 +cGU9InRuczpBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQog +ICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iQWdncmVnYXRlRmlsdGVyIiB0eXBlPSJ0bnM6QWdncmVnYXRlRmlsdGVyIiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb25pdG9yaW5nRmlsdGVyUmVzdWx0Ij4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ0ZpbHRlclJlc3VsdCIgdHlwZT0idG5zOk1vbml0 +b3JpbmdGaWx0ZXJSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkV2ZW50Rmls +dGVyUmVzdWx0Ij4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAg +IDx4czpleHRlbnNpb24gYmFzZT0idG5zOk1vbml0b3JpbmdGaWx0ZXJSZXN1bHQiPg0KICAgICAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VsZWN0Q2xhdXNl +UmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWxlY3RDbGF1c2VEaWFn +bm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IldoZXJlQ2xh +dXNlUmVzdWx0IiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlclJlc3VsdCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0 +ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9IkV2ZW50RmlsdGVyUmVzdWx0IiB0eXBlPSJ0bnM6RXZlbnRGaWx0 +ZXJSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFnZ3JlZ2F0ZUZpbHRlclJl +c3VsdCI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6 +ZXh0ZW5zaW9uIGJhc2U9InRuczpNb25pdG9yaW5nRmlsdGVyUmVzdWx0Ij4NCiAgICAgICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRTdGFydFRpbWUi +IHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUmV2aXNlZFByb2Nlc3NpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZEFnZ3JlZ2F0 +ZUNvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAg +PC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWdncmVnYXRlRmlsdGVyUmVzdWx0IiB0eXBlPSJ0 +bnM6QWdncmVnYXRlRmlsdGVyUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJN +b25pdG9yaW5nUGFyYW1ldGVycyI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iQ2xpZW50SGFuZGxlIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2FtcGxpbmdJbnRlcnZhbCIgdHlwZT0ieHM6 +ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXIi +IHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXVlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJ +bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2NhcmRPbGRl +c3QiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNl +Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yaW5nUGFy +YW1ldGVycyIgdHlwZT0idG5zOk1vbml0b3JpbmdQYXJhbWV0ZXJzIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCI+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXRlbVRvTW9uaXRvciIgdHlwZT0idG5zOlJl +YWRWYWx1ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iTW9uaXRvcmluZ01vZGUiIHR5cGU9InRuczpNb25pdG9yaW5nTW9kZSIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkUGFyYW1ldGVy +cyIgdHlwZT0idG5zOk1vbml0b3JpbmdQYXJhbWV0ZXJzIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0IiB0eXBlPSJ0bnM6TW9u +aXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxp +c3RPZk1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIgdHlwZT0idG5z +Ok1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5i +b3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVtQ3JlYXRl +UmVxdWVzdCIgdHlwZT0idG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0IiBuaWxs +YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb25p +dG9yZWRJdGVtQ3JlYXRlUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtSWQiIHR5cGU9InhzOnVu +c2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZp +c2VkU2FtcGxpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkUXVldWVTaXplIiB0eXBlPSJ4czp1bnNpZ25l +ZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyUmVz +dWx0IiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUNyZWF0ZVJlc3VsdCIgdHlwZT0idG5zOk1vbml0b3Jl +ZEl0ZW1DcmVhdGVSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk1v +bml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIHR5cGU9InRuczpNb25pdG9y +ZWRJdGVtQ3JlYXRlUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0IiB0 +eXBlPSJ0bnM6TGlzdE9mTW9uaXRvcmVkSXRlbUNyZWF0ZVJlc3VsdCIgbmlsbGFibGU9InRydWUi +PjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ3JlYXRlTW9uaXRvcmVk +SXRlbXNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklk +IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiB0eXBlPSJ0bnM6VGltZXN0YW1wc1RvUmV0dXJu +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJdGVtc1RvQ3JlYXRl +IiB0eXBlPSJ0bnM6TGlzdE9mTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ3JlYXRlTW9uaXRvcmVkSXRlbXNSZXF1ZXN0IiB0 +eXBlPSJ0bnM6Q3JlYXRlTW9uaXRvcmVkSXRlbXNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJDcmVhdGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVu +Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJl +c3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1DcmVh +dGVSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZv +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0 +ZW1zUmVzcG9uc2UiIHR5cGU9InRuczpDcmVhdGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCI+DQog +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUlk +IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUmVxdWVzdGVkUGFyYW1ldGVycyIgdHlwZT0idG5zOk1vbml0b3JpbmdQYXJhbWV0 +ZXJzIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1N +b2RpZnlSZXF1ZXN0IiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVlc3QiIC8+DQoN +CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0 +Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJ +dGVtTW9kaWZ5UmVxdWVzdCIgdHlwZT0idG5zOk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiBt +aW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJMaXN0T2ZNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCIgdHlwZT0idG5zOkxpc3RPZk1vbml0 +b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0Ij4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1 +YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS +ZXZpc2VkU2FtcGxpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkUXVldWVTaXplIiB0eXBlPSJ4czp1bnNp +Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVy +UmVzdWx0IiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCIgdHlwZT0idG5zOk1vbml0 +b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RP +Zk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIHR5cGU9InRuczpNb25p +dG9yZWRJdGVtTW9kaWZ5UmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVk +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0 +IiB0eXBlPSJ0bnM6TGlzdE9mTW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCIgbmlsbGFibGU9InRy +dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9kaWZ5TW9uaXRv +cmVkSXRlbXNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlv +bklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiB0eXBlPSJ0bnM6VGltZXN0YW1wc1RvUmV0 +dXJuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJdGVtc1RvTW9k +aWZ5IiB0eXBlPSJ0bnM6TGlzdE9mTW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVlc3QiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w +bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXF1ZXN0 +IiB0eXBlPSJ0bnM6TW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJNb2RpZnlNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5z +OlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1N +b2RpZnlSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJ +bmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmeU1vbml0b3Jl +ZEl0ZW1zUmVzcG9uc2UiIHR5cGU9InRuczpNb2RpZnlNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiAv +Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXRNb25pdG9yaW5nTW9kZVJlcXVlc3QiPg0K +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIi +IHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9InhzOnVuc2ln +bmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9y +aW5nTW9kZSIgdHlwZT0idG5zOk1vbml0b3JpbmdNb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtSWRzIiB0eXBlPSJ1YTpMaXN0T2ZVSW50 +MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0TW9uaXRvcmluZ01v +ZGVSZXF1ZXN0IiB0eXBlPSJ0bnM6U2V0TW9uaXRvcmluZ01vZGVSZXF1ZXN0IiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJTZXRNb25pdG9yaW5nTW9kZVJlc3BvbnNlIj4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0i +dG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w +bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0TW9uaXRvcmluZ01vZGVSZXNwb25zZSIg +dHlwZT0idG5zOlNldE1vbml0b3JpbmdNb2RlUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9IlNldFRyaWdnZXJpbmdSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRl +ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJpZ2dlcmluZ0l0ZW1JZCIgdHlwZT0ieHM6dW5z +aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxpbmtz +VG9BZGQiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkxpbmtzVG9SZW1vdmUiIHR5cGU9InVhOkxp +c3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl +cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRUcmln +Z2VyaW5nUmVxdWVzdCIgdHlwZT0idG5zOlNldFRyaWdnZXJpbmdSZXF1ZXN0IiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJTZXRUcmlnZ2VyaW5nUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6 +UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJBZGRSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +QWRkRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlbW92 +ZVJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZW1vdmVEaWFnbm9zdGljSW5m +b3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9IlNldFRyaWdnZXJpbmdSZXNwb25zZSIgdHlwZT0idG5zOlNldFRyaWdn +ZXJpbmdSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlTW9uaXRv +cmVkSXRlbXNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlv +bklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUlkcyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVx +dWVzdCIgdHlwZT0idG5zOkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSI+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9 +InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUi +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVzcG9u +c2UiIHR5cGU9InRuczpEZWxldGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJDcmVhdGVTdWJzY3JpcHRpb25SZXF1ZXN0Ij4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6 +UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91 +YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWRM +aWZldGltZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnQiIHR5cGU9Inhz +OnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJN +YXhOb3RpZmljYXRpb25zUGVyUHVibGlzaCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vy +cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hpbmdFbmFibGVkIiB0eXBl +PSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQ +cmlvcml0eSIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94 +czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ3Jl +YXRlU3Vic2NyaXB0aW9uUmVxdWVzdCIgdHlwZT0idG5zOkNyZWF0ZVN1YnNjcmlwdGlvblJlcXVl +c3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNyZWF0ZVN1YnNjcmlwdGlvblJlc3Bv +bnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25z +ZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9 +InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJSZXZpc2VkUHVibGlzaGluZ0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0i +MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRMaWZldGltZUNvdW50IiB0eXBl +PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iUmV2aXNlZE1heEtlZXBBbGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9IkNyZWF0ZVN1YnNjcmlwdGlvblJlc3BvbnNlIiB0eXBlPSJ0bnM6Q3Jl +YXRlU3Vic2NyaXB0aW9uUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1v +ZGlmeVN1YnNjcmlwdGlvblJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vi +c2NyaXB0aW9uSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWwiIHR5cGU9Inhz +OmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVz +dGVkTGlmZXRpbWVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50IiB0eXBl +PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iTWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2giIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQcmlvcml0eSIgdHlwZT0ieHM6 +dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZ5U3Vic2NyaXB0aW9uUmVx +dWVzdCIgdHlwZT0idG5zOk1vZGlmeVN1YnNjcmlwdGlvblJlcXVlc3QiIC8+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvblJlc3BvbnNlIj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5z +OlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFB1Ymxpc2hpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91 +YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkTGlm +ZXRpbWVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRNYXhLZWVwQWxpdmVDb3VudCIgdHlwZT0ieHM6dW5z +aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZnlTdWJzY3JpcHRpb25SZXNwb25z +ZSIgdHlwZT0idG5zOk1vZGlmeVN1YnNjcmlwdGlvblJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJTZXRQdWJsaXNoaW5nTW9kZVJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1 +ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iUHVibGlzaGluZ0VuYWJsZWQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vy +cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkcyIgdHlwZT0i +dWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNl +dFB1Ymxpc2hpbmdNb2RlUmVxdWVzdCIgdHlwZT0idG5zOlNldFB1Ymxpc2hpbmdNb2RlUmVxdWVz +dCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2V0UHVibGlzaGluZ01vZGVSZXNwb25z +ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VI +ZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RP +ZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJ +bmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNldFB1Ymxpc2hpbmdN +b2RlUmVzcG9uc2UiIHR5cGU9InRuczpTZXRQdWJsaXNoaW5nTW9kZVJlc3BvbnNlIiAvPg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJOb3RpZmljYXRpb25NZXNzYWdlIj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXF1ZW5jZU51bWJlciIgdHlwZT0ieHM6 +dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1 +Ymxpc2hUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iTm90aWZpY2F0aW9uRGF0YSIgdHlwZT0idWE6TGlzdE9mRXh0ZW5zaW9u +T2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik5vdGlmaWNhdGlv +bk1lc3NhZ2UiIHR5cGU9InRuczpOb3RpZmljYXRpb25NZXNzYWdlIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJOb3RpZmljYXRpb25EYXRhIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +Tm90aWZpY2F0aW9uRGF0YSIgdHlwZT0idG5zOk5vdGlmaWNhdGlvbkRhdGEiIC8+DQoNCiAgPHhz +OmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFDaGFuZ2VOb3RpZmljYXRpb24iPg0KICAgIDx4czpjb21w +bGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6 +Tm90aWZpY2F0aW9uRGF0YSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtcyIgdHlwZT0idG5zOkxpc3RPZk1vbml0b3JlZEl0 +ZW1Ob3RpZmljYXRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFn +bm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94 +czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRl +bnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRhdGFDaGFuZ2VO +b3RpZmljYXRpb24iIHR5cGU9InRuczpEYXRhQ2hhbmdlTm90aWZpY2F0aW9uIiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJNb25pdG9yZWRJdGVtTm90aWZpY2F0aW9uIj4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRIYW5kbGUiIHR5cGU9Inhz +OnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJW +YWx1ZSIgdHlwZT0idWE6RGF0YVZhbHVlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9Ik1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iIHR5cGU9InRuczpNb25pdG9yZWRJdGVt +Tm90aWZpY2F0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb25pdG9y +ZWRJdGVtTm90aWZpY2F0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJNb25pdG9yZWRJdGVtTm90aWZpY2F0aW9uIiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRl +bU5vdGlmaWNhdGlvbiIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiIgdHlwZT0i +dG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hz +OmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkV2ZW50Tm90aWZpY2F0aW9uTGlz +dCI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0 +ZW5zaW9uIGJhc2U9InRuczpOb3RpZmljYXRpb25EYXRhIj4NCiAgICAgICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50cyIgdHlwZT0idG5zOkxpc3RPZkV2 +ZW50RmllbGRMaXN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8 +L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29u +dGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnROb3Rp +ZmljYXRpb25MaXN0IiB0eXBlPSJ0bnM6RXZlbnROb3RpZmljYXRpb25MaXN0IiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJFdmVudEZpZWxkTGlzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50SGFuZGxlIiB0eXBlPSJ4czp1bnNpZ25lZElu +dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnRGaWVsZHMi +IHR5cGU9InVhOkxpc3RPZlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg +bmFtZT0iRXZlbnRGaWVsZExpc3QiIHR5cGU9InRuczpFdmVudEZpZWxkTGlzdCIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRXZlbnRGaWVsZExpc3QiPg0KICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50RmllbGRMaXN0IiB0eXBlPSJ0bnM6 +RXZlbnRGaWVsZExpc3QiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkV2ZW50RmllbGRMaXN0IiB0eXBlPSJ0bnM6TGlzdE9m +RXZlbnRGaWVsZExpc3QiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlFdmVudEZpZWxkTGlzdCI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnRGaWVsZHMiIHR5cGU9InVhOkxpc3RPZlZh +cmlhbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j +ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeUV2ZW50 +RmllbGRMaXN0IiB0eXBlPSJ0bnM6SGlzdG9yeUV2ZW50RmllbGRMaXN0IiAvPg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZIaXN0b3J5RXZlbnRGaWVsZExpc3QiPg0KICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlFdmVudEZpZWxkTGlzdCIg +dHlwZT0idG5zOkhpc3RvcnlFdmVudEZpZWxkTGlzdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9 +InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mSGlzdG9yeUV2ZW50Rmll +bGRMaXN0IiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeUV2ZW50RmllbGRMaXN0IiBuaWxsYWJsZT0i +dHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTdGF0dXNDaGFu +Z2VOb3RpZmljYXRpb24iPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0K +ICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm90aWZpY2F0aW9uRGF0YSI+DQogICAgICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXMiIHR5cGU9 +InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJEaWFnbm9zdGljSW5mbyIgdHlwZT0idWE6RGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hz +OmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDaGFuZ2VOb3RpZmljYXRpb24iIHR5cGU9InRu +czpTdGF0dXNDaGFuZ2VOb3RpZmljYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +IlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXF1ZW5jZU51bWJlciIg +dHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNl +Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25B +Y2tub3dsZWRnZW1lbnQiIHR5cGU9InRuczpTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiIC8+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlN1YnNjcmlwdGlvbkFja25vd2xlZGdl +bWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2Ny +aXB0aW9uQWNrbm93bGVkZ2VtZW50IiB0eXBlPSJ0bnM6U3Vic2NyaXB0aW9uQWNrbm93bGVkZ2Vt +ZW50IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJMaXN0T2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiIHR5cGU9InRuczpMaXN0 +T2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1l +bnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlB1Ymxpc2hSZXF1ZXN0Ij4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0 +bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudHMiIHR5cGU9InRu +czpMaXN0T2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaFJlcXVlc3QiIHR5cGU9InRuczpQdWJsaXNoUmVxdWVz +dCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUHVibGlzaFJlc3BvbnNlIj4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlw +ZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9InhzOnVuc2lnbmVk +SW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdmFpbGFibGVT +ZXF1ZW5jZU51bWJlcnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vcmVOb3RpZmljYXRpb25z +IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJOb3RpZmljYXRpb25NZXNzYWdlIiB0eXBlPSJ0bnM6Tm90aWZpY2F0aW9uTWVzc2FnZSIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5 +cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9IlB1Ymxpc2hSZXNwb25zZSIgdHlwZT0idG5zOlB1Ymxpc2hSZXNwb25zZSIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVwdWJsaXNoUmVxdWVzdCI+DQogICAgPHhzOnNl +cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5z +OlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1p +bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldHJhbnNtaXRTZXF1ZW5j +ZU51bWJlciIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZXB1 +Ymxpc2hSZXF1ZXN0IiB0eXBlPSJ0bnM6UmVwdWJsaXNoUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iUmVwdWJsaXNoUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VI +ZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJOb3RpZmljYXRpb25NZXNzYWdlIiB0eXBlPSJ0bnM6Tm90aWZpY2F0aW9uTWVzc2Fn +ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZXB1Ymxpc2hSZXNwb25z +ZSIgdHlwZT0idG5zOlJlcHVibGlzaFJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu +YW1lPSJUcmFuc2ZlclJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXZhaWxhYmxlU2VxdWVuY2VOdW1iZXJzIiB0eXBl +PSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +VHJhbnNmZXJSZXN1bHQiIHR5cGU9InRuczpUcmFuc2ZlclJlc3VsdCIgLz4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iTGlzdE9mVHJhbnNmZXJSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zZmVyUmVzdWx0IiB0eXBlPSJ0bnM6VHJhbnNm +ZXJSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl +bGVtZW50IG5hbWU9Ikxpc3RPZlRyYW5zZmVyUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mVHJhbnNm +ZXJSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9IlRyYW5zZmVyU3Vic2NyaXB0aW9uc1JlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1 +ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWRzIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZW5k +SW5pdGlhbFZhbHVlcyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRy +YW5zZmVyU3Vic2NyaXB0aW9uc1JlcXVlc3QiIHR5cGU9InRuczpUcmFuc2ZlclN1YnNjcmlwdGlv +bnNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJUcmFuc2ZlclN1YnNjcmlw +dGlvbnNSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5 +cGU9InRuczpMaXN0T2ZUcmFuc2ZlclJlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6 +TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iVHJhbnNmZXJTdWJzY3JpcHRpb25zUmVzcG9uc2UiIHR5cGU9InRuczpUcmFuc2ZlclN1YnNj +cmlwdGlvbnNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlU3Vi +c2NyaXB0aW9uc1JlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0 +aW9uSWRzIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iRGVsZXRlU3Vic2NyaXB0aW9uc1JlcXVlc3QiIHR5cGU9InRuczpEZWxldGVT +dWJzY3JpcHRpb25zUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRl +U3Vic2NyaXB0aW9uc1Jlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVz +dWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0i +dWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg +bmFtZT0iRGVsZXRlU3Vic2NyaXB0aW9uc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6RGVsZXRlU3Vic2Ny +aXB0aW9uc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCdWlsZEluZm8i +Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlByb2R1Y3RVcmki +IHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9Ik1hbnVmYWN0dXJlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBy +b2R1Y3ROYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTb2Z0d2FyZVZlcnNpb24iIHR5cGU9InhzOnN0 +cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkJ1aWxkTnVtYmVyIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCdWlsZERhdGUiIHR5cGU9Inhz +OmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj +b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnVpbGRJbmZvIiB0eXBlPSJ0bnM6QnVp +bGRJbmZvIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJSZWR1bmRhbmN5U3VwcG9ydCI+ +DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVy +YXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ29s +ZF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJXYXJtXzIiIC8+DQogICAgICA8 +eHM6ZW51bWVyYXRpb24gdmFsdWU9IkhvdF8zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh +bHVlPSJUcmFuc3BhcmVudF80IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJIb3RB +bmRNaXJyb3JlZF81IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVkdW5kYW5jeVN1cHBvcnQiIHR5cGU9InRuczpSZWR1 +bmRhbmN5U3VwcG9ydCIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iU2VydmVyU3RhdGUi +Pg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1l +cmF0aW9uIHZhbHVlPSJSdW5uaW5nXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +IkZhaWxlZF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb0NvbmZpZ3VyYXRp +b25fMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU3VzcGVuZGVkXzMiIC8+DQog +ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNodXRkb3duXzQiIC8+DQogICAgICA8eHM6ZW51 +bWVyYXRpb24gdmFsdWU9IlRlc3RfNSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i +Q29tbXVuaWNhdGlvbkZhdWx0XzYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVu +a25vd25fNyIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9IlNlcnZlclN0YXRlIiB0eXBlPSJ0bnM6U2VydmVyU3RhdGUiIC8+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZHVuZGFudFNlcnZlckRhdGFUeXBlIj4NCiAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJJZCIgdHlwZT0i +eHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iU2VydmljZUxldmVsIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vy +cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlclN0YXRlIiB0eXBlPSJ0bnM6 +U2VydmVyU3RhdGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz +OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlw +ZSIgdHlwZT0idG5zOlJlZHVuZGFudFNlcnZlckRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJMaXN0T2ZSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVkdW5kYW50U2VydmVyRGF0YVR5cGUiIHR5 +cGU9InRuczpSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9 +InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUmVkdW5kYW50U2VydmVy +RGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIgbmlsbGFi +bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRW5kcG9p +bnRVcmxMaXN0RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkVuZHBvaW50VXJsTGlzdCIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIiB0eXBl +PSJ0bnM6RW5kcG9pbnRVcmxMaXN0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9Ikxpc3RPZkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVybExpc3REYXRhVHlwZSIgdHlwZT0idG5z +OkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3Vu +ZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbmRwb2ludFVybExpc3REYXRhVHlw +ZSIgdHlwZT0idG5zOkxpc3RPZkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1 +ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJOZXR3b3JrR3JvdXBE +YXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vy +dmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOZXR3b3JrUGF0aHMiIHR5cGU9InRuczpMaXN0T2ZF +bmRwb2ludFVybExpc3REYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJOZXR3b3JrR3JvdXBEYXRhVHlwZSIgdHlwZT0idG5zOk5ldHdvcmtHcm91cERhdGFUeXBl +IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZOZXR3b3JrR3JvdXBEYXRhVHlw +ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmV0d29ya0dy +b3VwRGF0YVR5cGUiIHR5cGU9InRuczpOZXR3b3JrR3JvdXBEYXRhVHlwZSIgbWluT2NjdXJzPSIw +IiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTmV0 +d29ya0dyb3VwRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZOZXR3b3JrR3JvdXBEYXRhVHlwZSIg +bmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i +U2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNhbXBsaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJs +ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRl +bUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iTWF4TW9uaXRvcmVkSXRlbUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZElu +dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzYWJsZWRNb25p +dG9yZWRJdGVtQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTYW1wbGlu +Z0ludGVydmFsRGlhZ25vc3RpY3NEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iTGlzdE9mU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNhbXBsaW5nSW50ZXJ2YWxEaWFnbm9z +dGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5 +cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9Ikxpc3RPZlNhbXBsaW5nSW50ZXJ2YWxEaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0 +bnM6TGlzdE9mU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiIG5pbGxhYmxlPSJ0 +cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlcnZlckRpYWdu +b3N0aWNzU3VtbWFyeURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJTZXJ2ZXJWaWV3Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1 +cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50U2Vzc2lvbkNvdW50IiB0 +eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iQ3VtdWxhdGVkU2Vzc2lvbkNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlSZWplY3RlZFNlc3Np +b25Db3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlJlamVjdGVkU2Vzc2lvbkNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZElu +dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvblRpbWVv +dXRDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlNlc3Npb25BYm9ydENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudFN1YnNjcmlw +dGlvbkNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iQ3VtdWxhdGVkU3Vic2NyaXB0aW9uQ291bnQiIHR5cGU9InhzOnVu +c2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJs +aXNoaW5nSW50ZXJ2YWxDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5UmVqZWN0ZWRSZXF1ZXN0c0NvdW50 +IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUmVqZWN0ZWRSZXF1ZXN0c0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9IlNlcnZlckRpYWdub3N0aWNzU3VtbWFyeURhdGFUeXBlIiB0eXBl +PSJ0bnM6U2VydmVyRGlhZ25vc3RpY3NTdW1tYXJ5RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9IlNlcnZlclN0YXR1c0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFydFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50VGltZSIgdHlwZT0i +eHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0 +YXRlIiB0eXBlPSJ0bnM6U2VydmVyU3RhdGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkJ1aWxkSW5mbyIgdHlwZT0idG5zOkJ1aWxkSW5mbyIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY29uZHNUaWxs +U2h1dGRvd24iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJTaHV0ZG93blJlYXNvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJTdGF0dXNEYXRhVHlw +ZSIgdHlwZT0idG5zOlNlcnZlclN0YXR1c0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJTZXNzaW9uRGlhZ25vc3RpY3NEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbklkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNz +aW9uTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50RGVzY3JpcHRpb24iIHR5cGU9InRuczpB +cHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRw +b2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJp +bmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJBY3R1YWxTZXNzaW9uVGltZW91dCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhSZXNwb25zZU1lc3NhZ2VTaXplIiB0eXBl +PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iQ2xpZW50Q29ubmVjdGlvblRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRMYXN0Q29udGFjdFRpbWUiIHR5cGU9 +InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJD +dXJyZW50U3Vic2NyaXB0aW9uc0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz +PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudE1vbml0b3JlZEl0ZW1zQ291 +bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJDdXJyZW50UHVibGlzaFJlcXVlc3RzSW5RdWV1ZSIgdHlwZT0ieHM6dW5zaWdu +ZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRvdGFsUmVx +dWVzdENvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVuYXV0aG9yaXpl +ZFJlcXVlc3RDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlJlYWRDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVy +RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJIaXN0b3J5UmVhZENvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRh +VHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IldyaXRlQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlz +dG9yeVVwZGF0ZUNvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNhbGxD +b3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVNb25pdG9yZWRJ +dGVtc0NvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmeU1vbml0 +b3JlZEl0ZW1zQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0TW9u +aXRvcmluZ01vZGVDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRU +cmlnZ2VyaW5nQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRl +TW9uaXRvcmVkSXRlbXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJD +cmVhdGVTdWJzY3JpcHRpb25Db3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUi +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJNb2RpZnlTdWJzY3JpcHRpb25Db3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5 +cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJTZXRQdWJsaXNoaW5nTW9kZUNvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRh +VHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlB1Ymxpc2hDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS +ZXB1Ymxpc2hDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2Zl +clN1YnNjcmlwdGlvbnNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJE +ZWxldGVTdWJzY3JpcHRpb25zQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBl +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iQWRkTm9kZXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRS +ZWZlcmVuY2VzQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRl +Tm9kZXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVSZWZl +cmVuY2VzQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlQ291 +bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlTmV4dENvdW50IiB0 +eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9O +b2RlSWRzQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlGaXJz +dENvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5TmV4dENvdW50 +IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyTm9kZXNDb3VudCIg +dHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbnJlZ2lzdGVyTm9kZXNDb3VudCIg +dHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTZXNz +aW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlz +dE9mU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlNlc3Npb25EaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6 +U2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJv +dW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlNlc3Npb25EaWFnbm9zdGljc0Rh +dGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIG5pbGxh +YmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlc3Np +b25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlNlc3Npb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50VXNl +cklkT2ZTZXNzaW9uIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRVc2VySWRIaXN0b3J5IiB0eXBl +PSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJBdXRoZW50aWNhdGlvbk1lY2hhbmlzbSIgdHlwZT0ieHM6c3Ry +aW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iRW5jb2RpbmciIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zcG9ydFByb3RvY29sIiB0eXBl +PSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2Rl +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVBvbGlj +eVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50Q2VydGlmaWNhdGUiIHR5cGU9InhzOmJhc2U2 +NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl +bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uU2Vj +dXJpdHlEaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U2Vzc2lvblNlY3VyaXR5RGlhZ25v +c3RpY3NEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU2Vzc2lv +blNlY3VyaXR5RGlhZ25vc3RpY3NEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvblNlY3VyaXR5RGlhZ25vc3RpY3NEYXRhVHlwZSIgdHlw +ZT0idG5zOlNlc3Npb25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIg +bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlNlc3Np +b25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZTZXNzaW9uU2Vj +dXJpdHlEaWFnbm9zdGljc0RhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXJ2aWNlQ291bnRlckRhdGFUeXBlIj4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUb3RhbENvdW50IiB0eXBlPSJ4 +czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +RXJyb3JDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJT +ZXJ2aWNlQ291bnRlckRhdGFUeXBlIiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU3RhdHVzUmVzdWx0Ij4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0 +dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9z +dGljSW5mbyIgdHlwZT0idWE6RGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iU3RhdHVzUmVzdWx0IiB0eXBlPSJ0bnM6U3RhdHVzUmVzdWx0IiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTdGF0dXNSZXN1bHQiPg0KICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c1Jlc3VsdCIgdHlwZT0idG5z +OlN0YXR1c1Jlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU3RhdHVzUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mU3Rh +dHVzUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJTdWJzY3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uSWQiIHR5cGU9InVhOk5vZGVJ +ZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJpb3JpdHkiIHR5cGU9InhzOnVuc2lnbmVkQnl0 +ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGluZ0lu +dGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9Ik1heEtlZXBBbGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4TGlmZXRpbWVDb3VudCIgdHlw +ZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9Ik1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGluZ0VuYWJsZWQi +IHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9Ik1vZGlmeUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5hYmxlQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNhYmxlQ291bnQi +IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJSZXB1Ymxpc2hSZXF1ZXN0Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXB1Ymxpc2hNZXNzYWdlUmVx +dWVzdENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iUmVwdWJsaXNoTWVzc2FnZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25l +ZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNmZXJS +ZXF1ZXN0Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2ZlcnJlZFRvQWx0Q2xpZW50Q291bnQiIHR5cGU9Inhz +OnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJU +cmFuc2ZlcnJlZFRvU2FtZUNsaWVudENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaFJlcXVlc3RDb3VudCIg +dHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkRhdGFDaGFuZ2VOb3RpZmljYXRpb25zQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudE5vdGlmaWNh +dGlvbnNDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9Ik5vdGlmaWNhdGlvbnNDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJ +bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkxhdGVQdWJsaXNo +UmVxdWVzdENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudEtlZXBBbGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNp +Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVu +dExpZmV0aW1lQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbmFja25vd2xlZGdlZE1lc3NhZ2VDb3VudCIgdHlwZT0i +eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkRpc2NhcmRlZE1lc3NhZ2VDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i +MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1Db3VudCIgdHlwZT0i +eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkRpc2FibGVkTW9uaXRvcmVkSXRlbUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ1F1ZXVlT3ZlcmZs +b3dDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9Ik5leHRTZXF1ZW5jZU51bWJlciIgdHlwZT0ieHM6dW5zaWduZWRJbnQi +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50UXVldWVPdmVy +Rmxvd0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlN1 +YnNjcmlwdGlvbkRpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTdWJzY3JpcHRpb25EaWFn +bm9zdGljc0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTdWJz +Y3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0 +bnM6U3Vic2NyaXB0aW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1 +cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU3Vic2NyaXB0aW9u +RGlhZ25vc3RpY3NEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlN1YnNjcmlwdGlvbkRpYWdub3N0 +aWNzRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBs +ZVR5cGUgIG5hbWU9Ik1vZGVsQ2hhbmdlU3RydWN0dXJlVmVyYk1hc2siPg0KICAgIDx4czpyZXN0 +cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJO +b2RlQWRkZWRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9kZURlbGV0ZWRf +MiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVmZXJlbmNlQWRkZWRfNCIgLz4N +CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVmZXJlbmNlRGVsZXRlZF84IiAvPg0KICAg +ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEYXRhVHlwZUNoYW5nZWRfMTYiIC8+DQogICAgPC94 +czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJN +b2RlbENoYW5nZVN0cnVjdHVyZVZlcmJNYXNrIiB0eXBlPSJ0bnM6TW9kZWxDaGFuZ2VTdHJ1Y3R1 +cmVWZXJiTWFzayIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9kZWxDaGFuZ2VTdHJ1 +Y3R1cmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iQWZmZWN0ZWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFmZmVjdGVkVHlwZSIgdHlwZT0idWE6Tm9k +ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iVmVyYiIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +TW9kZWxDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgdHlwZT0idG5zOk1vZGVsQ2hhbmdlU3RydWN0 +dXJlRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk1vZGVsQ2hh +bmdlU3RydWN0dXJlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9Ik1vZGVsQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIHR5cGU9InRuczpNb2RlbENo +YW5nZVN0cnVjdHVyZURhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVk +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZNb2RlbENoYW5nZVN0cnVjdHVyZURhdGFU +eXBlIiB0eXBlPSJ0bnM6TGlzdE9mTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgbmlsbGFi +bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2VtYW50 +aWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iQWZmZWN0ZWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFmZmVjdGVkVHlwZSIg +dHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNl +bWFudGljQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIHR5cGU9InRuczpTZW1hbnRpY0NoYW5nZVN0 +cnVjdHVyZURhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTZW1h +bnRpY0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJTZW1hbnRpY0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiB0eXBlPSJ0 +bnM6U2VtYW50aWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1 +cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU2VtYW50aWNDaGFu +Z2VTdHJ1Y3R1cmVEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlNlbWFudGljQ2hhbmdlU3RydWN0 +dXJlRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9IlJhbmdlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJMb3ciIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iSGlnaCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iUmFuZ2UiIHR5cGU9InRuczpSYW5nZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i +RVVJbmZvcm1hdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iTmFtZXNwYWNlVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbml0SWQiIHR5cGU9InhzOmludCIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzcGxheU5hbWUiIHR5 +cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4 +dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFVUluZm9ybWF0aW9uIiB0 +eXBlPSJ0bnM6RVVJbmZvcm1hdGlvbiIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iQXhp +c1NjYWxlRW51bWVyYXRpb24iPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmci +Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJMaW5lYXJfMCIgLz4NCiAgICAgIDx4czpl +bnVtZXJhdGlvbiB2YWx1ZT0iTG9nXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +IkxuXzIiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJBeGlzU2NhbGVFbnVtZXJhdGlvbiIgdHlwZT0idG5zOkF4aXNTY2Fs +ZUVudW1lcmF0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDb21wbGV4TnVtYmVy +VHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhbCIg +dHlwZT0ieHM6ZmxvYXQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkltYWdpbmFyeSIgdHlwZT0ieHM6ZmxvYXQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNl +cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb21wbGV4 +TnVtYmVyVHlwZSIgdHlwZT0idG5zOkNvbXBsZXhOdW1iZXJUeXBlIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJEb3VibGVDb21wbGV4TnVtYmVyVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1 +cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbWFnaW5hcnkiIHR5cGU9InhzOmRv +dWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRvdWJsZUNvbXBsZXhOdW1iZXJUeXBlIiB0eXBl +PSJ0bnM6RG91YmxlQ29tcGxleE51bWJlclR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9IkF4aXNJbmZvcm1hdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iRW5naW5lZXJpbmdVbml0cyIgdHlwZT0idG5zOkVVSW5mb3JtYXRpb24iIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFVVJh +bmdlIiB0eXBlPSJ0bnM6UmFuZ2UiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaXRsZSIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkF4 +aXNTY2FsZVR5cGUiIHR5cGU9InRuczpBeGlzU2NhbGVFbnVtZXJhdGlvbiIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXhpc1N0ZXBzIiB0eXBlPSJ1YTpMaXN0T2ZE +b3VibGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j +ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXhpc0luZm9ybWF0 +aW9uIiB0eXBlPSJ0bnM6QXhpc0luZm9ybWF0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu +YW1lPSJYVlR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlgiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iVmFsdWUiIHR5cGU9InhzOmZsb2F0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpz +ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iWFZUeXBl +IiB0eXBlPSJ0bnM6WFZUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJQcm9ncmFt +RGlhZ25vc3RpY0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJDcmVhdGVTZXNzaW9uSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZUNsaWVudE5h +bWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9Ikludm9jYXRpb25DcmVhdGlvblRpbWUiIHR5cGU9InhzOmRh +dGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0VHJh +bnNpdGlvblRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kQ2FsbCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1l +dGhvZFNlc3Npb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1ldGhvZElucHV0QXJndW1lbnRz +IiB0eXBlPSJ0bnM6TGlzdE9mQXJndW1lbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kT3V0cHV0QXJndW1lbnRzIiB0 +eXBlPSJ0bnM6TGlzdE9mQXJndW1lbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kQ2FsbFRpbWUiIHR5cGU9InhzOmRh +dGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0 +aG9kUmV0dXJuU3RhdHVzIiB0eXBlPSJ0bnM6U3RhdHVzUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9IlByb2dyYW1EaWFnbm9zdGljRGF0YVR5cGUiIHR5cGU9InRu +czpQcm9ncmFtRGlhZ25vc3RpY0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJBbm5vdGF0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJNZXNzYWdlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +QW5ub3RhdGlvblRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +QW5ub3RhdGlvbiIgdHlwZT0idG5zOkFubm90YXRpb24iIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUg +IG5hbWU9IkV4Y2VwdGlvbkRldmlhdGlvbkZvcm1hdCI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJh +c2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFic29sdXRlVmFs +dWVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mVmFsdWVfMSIg +Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mUmFuZ2VfMiIgLz4NCiAg +ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mRVVSYW5nZV8zIiAvPg0KICAgICAg +PHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVbmtub3duXzQiIC8+DQogICAgPC94czpyZXN0cmljdGlv +bj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFeGNlcHRpb25EZXZp +YXRpb25Gb3JtYXQiIHR5cGU9InRuczpFeGNlcHRpb25EZXZpYXRpb25Gb3JtYXQiIC8+DQoNCjwv +eHM6c2NoZW1hPg== + + + + NamespaceUri + A URI that uniquely identifies the dictionary. + + i=68 + i=8252 + + + http://opcfoundation.org/UA/2008/02/Types.xsd + + + + TrustListDataType + + i=69 + i=8252 + + + //xs:element[@name='TrustListDataType'] + + + + Argument + + i=69 + i=8252 + + + //xs:element[@name='Argument'] + + + + EnumValueType + + i=69 + i=8252 + + + //xs:element[@name='EnumValueType'] + + + + OptionSet + + i=69 + i=8252 + + + //xs:element[@name='OptionSet'] + + + + Union + + i=69 + i=8252 + + + //xs:element[@name='Union'] + + + + 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'] + + + + Annotation + + i=69 + i=8252 + + + //xs:element[@name='Annotation'] + + + + 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 + + + + Opc.Ua + + i=7619 + i=12681 + i=7650 + i=7656 + i=12767 + i=12770 + 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=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 +b2NhbGVTcGVjaWZpZWQiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTG9jYWxpemVkVGV4dFNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJBZGRpdGlvbmFsSW5mb1NwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbm5lclN0YXR1c0NvZGVTcGVjaWZpZWQiIFR5cGVO +YW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5uZXJEaWFnbm9zdGljSW5m +b1NwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS +ZXNlcnZlZDEiIFR5cGVOYW1lPSJvcGM6Qml0IiBMZW5ndGg9IjIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJTeW1ib2xpY0lkIiBUeXBlTmFtZT0ib3BjOkludDMyIiBTd2l0Y2hGaWVsZD0iU3lt +Ym9saWNJZFNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWVzcGFjZVVSSSIg +VHlwZU5hbWU9Im9wYzpJbnQzMiIgU3dpdGNoRmllbGQ9Ik5hbWVzcGFjZVVSSVNwZWNpZmllZCIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgU3dp +dGNoRmllbGQ9IkxvY2FsZVNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2Fs +aXplZFRleHQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIFN3aXRjaEZpZWxkPSJMb2NhbGl6ZWRUZXh0 +U3BlY2lmaWVkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWRkaXRpb25hbEluZm8iIFR5cGVO +YW1lPSJvcGM6Q2hhckFycmF5IiBTd2l0Y2hGaWVsZD0iQWRkaXRpb25hbEluZm9TcGVjaWZpZWQi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbm5lclN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpT +dGF0dXNDb2RlIiBTd2l0Y2hGaWVsZD0iSW5uZXJTdGF0dXNDb2RlU3BlY2lmaWVkIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iSW5uZXJEaWFnbm9zdGljSW5mbyIgVHlwZU5hbWU9InVhOkRpYWdu +b3N0aWNJbmZvIiBTd2l0Y2hGaWVsZD0iSW5uZXJEaWFnbm9zdGljSW5mb1NwZWNpZmllZCIgLz4N +CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJR +dWFsaWZpZWROYW1lIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBzdHJpbmcgcXVhbGlmaWVk +IHdpdGggYSBuYW1lc3BhY2UgaW5kZXguPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5hbWVzcGFjZUluZGV4IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTmFtZSIgVHlwZU5hbWU9Im9wYzpDaGFyQXJyYXkiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTG9jYWxpemVk +VGV4dCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgc3RyaW5nIHF1YWxpZmllZCB3aXRoIGEg +bmFtZXNwYWNlIGluZGV4Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJMb2NhbGVTcGVjaWZpZWQiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iVGV4dFNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZXNlcnZlZDEiIFR5cGVOYW1lPSJvcGM6Qml0IiBMZW5ndGg9IjYiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJMb2NhbGUiIFR5cGVOYW1lPSJvcGM6Q2hhckFycmF5IiBTd2l0Y2hG +aWVsZD0iTG9jYWxlU3BlY2lmaWVkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGV4dCIgVHlw +ZU5hbWU9Im9wYzpDaGFyQXJyYXkiIFN3aXRjaEZpZWxkPSJUZXh0U3BlY2lmaWVkIiAvPg0KICA8 +L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFW +YWx1ZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgdmFsdWUgd2l0aCBhbiBhc3NvY2lhdGVk +IHRpbWVzdGFtcCwgYW5kIHF1YWxpdHkuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlZhbHVlU3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlN0YXR1c0NvZGVTcGVjaWZpZWQiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iU291cmNlVGltZXN0YW1wU3BlY2lmaWVkIiBUeXBlTmFtZT0i +b3BjOkJpdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvdXJjZVBpY29zZWNvbmRzU3BlY2lm +aWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclRp +bWVzdGFtcFNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJTZXJ2ZXJQaWNvc2Vjb25kc1NwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNlcnZlZDEiIFR5cGVOYW1lPSJvcGM6Qml0IiBMZW5ndGg9 +IjIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQi +IFN3aXRjaEZpZWxkPSJWYWx1ZVNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0 +YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBTd2l0Y2hGaWVsZD0iU3RhdHVzQ29k +ZVNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvdXJjZVRpbWVzdGFtcCIgVHlw +ZU5hbWU9Im9wYzpEYXRlVGltZSIgU3dpdGNoRmllbGQ9IlNvdXJjZVRpbWVzdGFtcFNwZWNpZmll +ZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvdXJjZVBpY29zZWNvbmRzIiBUeXBlTmFtZT0i +b3BjOlVJbnQxNiIgU3dpdGNoRmllbGQ9IlNvdXJjZVBpY29zZWNvbmRzU3BlY2lmaWVkIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyVGltZXN0YW1wIiBUeXBlTmFtZT0ib3BjOkRhdGVU +aW1lIiBTd2l0Y2hGaWVsZD0iU2VydmVyVGltZXN0YW1wU3BlY2lmaWVkIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iU2VydmVyUGljb3NlY29uZHMiIFR5cGVOYW1lPSJvcGM6VUludDE2IiBTd2l0 +Y2hGaWVsZD0iU2VydmVyUGljb3NlY29uZHNTcGVjaWZpZWQiIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRXh0ZW5zaW9uT2JqZWN0Ij4N +CiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBzZXJpYWxpemVkIG9iamVjdCBwcmVmaXhlZCB3aXRo +IGl0cyBkYXRhIHR5cGUgaWRlbnRpZmllci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iVHlwZUlkU3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkJpbmFyeUJvZHkiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iWG1sQm9keSIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJSZXNlcnZlZDEiIFR5cGVOYW1lPSJvcGM6Qml0IiBMZW5ndGg9IjUiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJUeXBlSWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIg +U3dpdGNoRmllbGQ9IlR5cGVJZFNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJv +ZHlMZW5ndGgiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJC +b2R5IiBUeXBlTmFtZT0ib3BjOkJ5dGUiIExlbmd0aEZpZWxkPSJCb2R5TGVuZ3RoIiAvPg0KICA8 +L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlZhcmlh +bnQiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHVuaW9uIG9mIHNldmVyYWwgdHlwZXMuPC9v +cGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhcmlhbnRUeXBlIiBUeXBl +TmFtZT0ib3BjOkJpdCIgTGVuZ3RoPSI2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXJyYXlE +aW1lbnNpb25zU3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgTGVuZ3RoPSIxIi8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJBcnJheUxlbmd0aFNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQi +IExlbmd0aD0iMSIvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXJyYXlMZW5ndGgiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIFN3aXRjaEZpZWxkPSJBcnJheUxlbmd0aFNwZWNpZmllZCIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkJvb2xlYW4iIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgTGVuZ3RoRmll +bGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSIx +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU0J5dGUiIFR5cGVOYW1lPSJvcGM6U0J5dGUiIExl +bmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hW +YWx1ZT0iMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJ5dGUiIFR5cGVOYW1lPSJvcGM6Qnl0 +ZSIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3 +aXRjaFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW50MTYiIFR5cGVOYW1lPSJv +cGM6SW50MTYiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRU +eXBlIiBTd2l0Y2hWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVJbnQxNiIgVHlw +ZU5hbWU9Im9wYzpVSW50MTYiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9 +IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iNSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Iklu +dDMyIiBUeXBlTmFtZT0ib3BjOkludDMyIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRj +aEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjYiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJVSW50MzIiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5n +dGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjciIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJJbnQ2NCIgVHlwZU5hbWU9Im9wYzpJbnQ2NCIgTGVuZ3RoRmllbGQ9IkFy +cmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSI4IiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iVUludDY0IiBUeXBlTmFtZT0ib3BjOlVJbnQ2NCIgTGVuZ3Ro +RmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVl +PSI5IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmxvYXQiIFR5cGVOYW1lPSJvcGM6RmxvYXQi +IExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0 +Y2hWYWx1ZT0iMTAiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEb3VibGUiIFR5cGVOYW1lPSJv +cGM6RG91YmxlIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50 +VHlwZSIgU3dpdGNoVmFsdWU9IjExIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RyaW5nIiBU +eXBlTmFtZT0ib3BjOkNoYXJBcnJheSIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hG +aWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSIxMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkRhdGVUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiBMZW5ndGhGaWVsZD0iQXJyYXlM +ZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjEzIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iR3VpZCIgVHlwZU5hbWU9Im9wYzpHdWlkIiBMZW5ndGhGaWVsZD0i +QXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjE0IiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnl0ZVN0cmluZyIgVHlwZU5hbWU9Im9wYzpCeXRlU3Ry +aW5nIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIg +U3dpdGNoVmFsdWU9IjE1IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iWG1sRWxlbWVudCIgVHlw +ZU5hbWU9InVhOlhtbEVsZW1lbnQiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmll +bGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIg +U3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMTciIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJFeHBhbmRlZE5vZGVJZCIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiBM +ZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNo +VmFsdWU9IjE4IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9 +InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZh +cmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMTkiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJRdWFs +aWZpZWROYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgTGVuZ3RoRmllbGQ9IkFycmF5 +TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSIyMCIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsaXplZFRleHQiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRU +ZXh0IiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIg +U3dpdGNoVmFsdWU9IjIxIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXh0ZW5zaW9uT2JqZWN0 +IiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgi +IFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjIyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iRGF0YVZhbHVlIiBUeXBlTmFtZT0idWE6RGF0YVZhbHVlIiBMZW5ndGhGaWVs +ZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjIz +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFyaWFudCIgVHlwZU5hbWU9InVhOlZhcmlhbnQi +IExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0 +Y2hWYWx1ZT0iMjQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mbyIgVHlw +ZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRj +aEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjI1IiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTm9PZkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgU3dpdGNoRmll +bGQ9IkFycmF5RGltZW5zaW9uc1NwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFy +cmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBcnJh +eURpbWVuc2lvbnMiIFN3aXRjaEZpZWxkPSJBcnJheURpbWVuc2lvbnNTcGVjaWZpZWQiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iTmFt +aW5nUnVsZVR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9Ik1hbmRhdG9yeSIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg +TmFtZT0iT3B0aW9uYWwiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h +bWU9IkNvbnN0cmFpbnQiIFZhbHVlPSIzIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCiAg +ICANCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iSW1hZ2VCTVAiPg0KICAgIDxvcGM6RG9jdW1l +bnRhdGlvbj5BbiBpbWFnZSBlbmNvZGVkIGluIEJNUCBmb3JtYXQuPC9vcGM6RG9jdW1lbnRhdGlv +bj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iSW1hZ2VH +SUYiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBpbWFnZSBlbmNvZGVkIGluIEdJRiBmb3Jt +YXQuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9w +YXF1ZVR5cGUgTmFtZT0iSW1hZ2VKUEciPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBpbWFn +ZSBlbmNvZGVkIGluIEpQRUcgZm9ybWF0Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9w +YXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkltYWdlUE5HIj4NCiAgICA8b3Bj +OkRvY3VtZW50YXRpb24+QW4gaW1hZ2UgZW5jb2RlZCBpbiBQTkcgZm9ybWF0Ljwvb3BjOkRvY3Vt +ZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9 +IkJpdEZpZWxkTWFza0RhdGFUeXBlIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBtYXNrIG9m +IDMyIGJpdHMgdGhhdCBjYW4gYmUgdXBkYXRlZCBpbmRpdmlkdWFsbHkgYnkgdXNpbmcgdGhlIHRv +cCAzMiBiaXRzIGFzIGEgbWFzay48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVU +eXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iT3BlbkZpbGVNb2RlIiBMZW5ndGhJ +bkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWFkIiBWYWx1ZT0i +MSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJXcml0ZSIgVmFsdWU9IjIiIC8+ +DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRXJhc2VFeGlzdGluZyIgVmFsdWU9IjQi +IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQXBwZW5kIiBWYWx1ZT0iOCIgLz4N +CiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJU +cnVzdExpc3RNYXNrcyIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs +dWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt +ZT0iVHJ1c3RlZENlcnRpZmljYXRlcyIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk +VmFsdWUgTmFtZT0iVHJ1c3RlZENybHMiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRl +ZFZhbHVlIE5hbWU9Iklzc3VlckNlcnRpZmljYXRlcyIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNzdWVyQ3JscyIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iQWxsIiBWYWx1ZT0iMTUiIC8+DQogIDwvb3BjOkVudW1lcmF0 +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVHJ1c3RMaXN0RGF0YVR5cGUi +IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Bl +Y2lmaWVkTGlzdHMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTm9PZlRydXN0ZWRDZXJ0aWZpY2F0ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJUcnVzdGVkQ2VydGlmaWNhdGVzIiBUeXBlTmFtZT0ib3BjOkJ5dGVT +dHJpbmciIExlbmd0aEZpZWxkPSJOb09mVHJ1c3RlZENlcnRpZmljYXRlcyIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vT2ZUcnVzdGVkQ3JscyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlRydXN0ZWRDcmxzIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmci +IExlbmd0aEZpZWxkPSJOb09mVHJ1c3RlZENybHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO +b09mSXNzdWVyQ2VydGlmaWNhdGVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iSXNzdWVyQ2VydGlmaWNhdGVzIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmci +IExlbmd0aEZpZWxkPSJOb09mSXNzdWVyQ2VydGlmaWNhdGVzIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTm9PZklzc3VlckNybHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJJc3N1ZXJDcmxzIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIExlbmd0aEZp +ZWxkPSJOb09mSXNzdWVyQ3JscyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w +YzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJJZFR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxv +cGM6RG9jdW1lbnRhdGlvbj5UaGUgdHlwZSBvZiBpZGVudGlmaWVyIHVzZWQgaW4gYSBub2RlIGlk +Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTnVt +ZXJpYyIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3RyaW5n +IiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJHdWlkIiBWYWx1 +ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJPcGFxdWUiIFZhbHVlPSIz +IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5h +bWU9Ik5vZGVDbGFzcyIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u +PkEgbWFzayBzcGVjaWZ5aW5nIHRoZSBjbGFzcyBvZiB0aGUgbm9kZS48L29wYzpEb2N1bWVudGF0 +aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVuc3BlY2lmaWVkIiBWYWx1ZT0i +MCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJPYmplY3QiIFZhbHVlPSIxIiAv +Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZhcmlhYmxlIiBWYWx1ZT0iMiIgLz4N +CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJNZXRob2QiIFZhbHVlPSI0IiAvPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik9iamVjdFR5cGUiIFZhbHVlPSI4IiAvPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZhcmlhYmxlVHlwZSIgVmFsdWU9IjE2IiAvPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlZmVyZW5jZVR5cGUiIFZhbHVlPSIzMiIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEYXRhVHlwZSIgVmFsdWU9IjY0IiAv +Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZpZXciIFZhbHVlPSIxMjgiIC8+DQog +IDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm9k +ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u +PlNwZWNpZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gYWxsIG5vZGVzLjwvb3Bj +OkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1 +YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0 +bnM6Tm9kZUNsYXNzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5h +bWU9InVhOlF1YWxpZmllZE5hbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFt +ZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE +ZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlTm9k +ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2VzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikluc3RhbmNlTm9kZSIgQmFzZVR5cGU9 +InRuczpOb2RlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5v +ZGVJZCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rl +Q2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNzIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWRO +YW1lIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3Bs +YXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2Fs +aXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +V3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQz +MiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVm +ZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl +ZmVyZW5jZXMiIFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlTm9kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZS +ZWZlcmVuY2VzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy +ZWRUeXBlIE5hbWU9IlR5cGVOb2RlIiBCYXNlVHlwZT0idG5zOk5vZGUiPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9k +ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2Rl +Q2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJv +d3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2Rl +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2Nh +bGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5z +Ok5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6 +VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVz +ZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpS +ZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogIDwvb3BjOlN0 +cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iT2JqZWN0Tm9kZSIg +QmFzZVR5cGU9InRuczpJbnN0YW5jZU5vZGUiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5TcGVj +aWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIG9iamVjdCBub2Rlcy48L29wYzpE +b2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6 +Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v +ZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmll +ZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlz +cGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9k +ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9j +YWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUlu +dDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZS +ZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +UmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9P +ZlJlZmVyZW5jZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVudE5vdGlmaWVyIiBUeXBl +TmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry +dWN0dXJlZFR5cGUgTmFtZT0iT2JqZWN0VHlwZU5vZGUiIEJhc2VUeXBlPSJ0bnM6VHlwZU5vZGUi +Pg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2gg +YmVsb25nIHRvIG9iamVjdCB0eXBlIG5vZGVzLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRu +czpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5z +Ok5vZGVDbGFzcyIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgU291cmNlVHlwZT0idG5z +Ok5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVh +OkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBl +PSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9 +Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpO +b2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJv +cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBlTmFtZT0i +dG5zOlJlZmVyZW5jZU5vZGUiIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlcyIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAg +PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJWYXJp +YWJsZU5vZGUiIEJhc2VUeXBlPSJ0bnM6SW5zdGFuY2VOb2RlIj4NCiAgICA8b3BjOkRvY3VtZW50 +YXRpb24+U3BlY2lmaWVzIHRoZSBhdHRyaWJ1dGVzIHdoaWNoIGJlbG9uZyB0byB2YXJpYWJsZSBu +b2Rlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBU +eXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9 +InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9 +InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VU +eXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBl +TmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBl +PSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVO +YW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5n +dGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIg +VHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZSIg +VHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlUmFuayIg +VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBcnJheURp +bWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJB +cnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkFy +cmF5RGltZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFjY2Vzc0xldmVsIiBUeXBl +TmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyQWNjZXNzTGV2ZWwi +IFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1pbmltdW1TYW1w +bGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ikhpc3Rvcml6aW5nIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVj +dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVmFyaWFibGVUeXBlTm9k +ZSIgQmFzZVR5cGU9InRuczpUeXBlTm9kZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlNwZWNp +ZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gdmFyaWFibGUgdHlwZSBub2Rlcy48 +L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFt +ZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpO +b2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1 +YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0 +bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0i +dWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6 +Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJv +cGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVs +ZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5h +bWU9InVhOlZhcmlhbnQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZSIgVHlwZU5h +bWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlUmFuayIgVHlwZU5h +bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBcnJheURpbWVuc2lv +bnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBcnJheURp +bWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkFycmF5RGlt +ZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5cGVOYW1lPSJv +cGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 +cmVkVHlwZSBOYW1lPSJSZWZlcmVuY2VUeXBlTm9kZSIgQmFzZVR5cGU9InRuczpUeXBlTm9kZSI+ +DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBi +ZWxvbmcgdG8gcmVmZXJlbmNlIHR5cGUgbm9kZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0i +dG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0 +bnM6Tm9kZUNsYXNzIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBTb3VyY2VUeXBlPSJ0 +bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0i +dWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5 +cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFt +ZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5z +Ok5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlcyIgVHlwZU5hbWU9 +Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXMiIFR5cGVOYW1l +PSJ0bnM6UmVmZXJlbmNlTm9kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2VzIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iSXNBYnN0cmFjdCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iU3ltbWV0cmljIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbnZlcnNlTmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXpl +ZFRleHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iTWV0aG9kTm9kZSIgQmFzZVR5cGU9InRuczpJbnN0YW5jZU5vZGUiPg0KICAgIDxv +cGM6RG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRv +IG1ldGhvZCBub2Rlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +Tm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNv +dXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIg +VHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0 +IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0 +aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBT +b3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1h +c2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VO +b2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJFeGVjdXRhYmxlIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJVc2VyRXhlY3V0YWJsZSIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlZpZXdOb2RlIiBC +YXNlVHlwZT0idG5zOkluc3RhbmNlTm9kZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQi +IFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgU291cmNlVHlw +ZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFt +ZT0idWE6UXVhbGlmaWVkTmFtZSIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJj +ZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5 +cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5 +cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlw +ZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBlTmFtZT0idG5zOlJlZmVyZW5jZU5vZGUiIExl +bmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbnRh +aW5zTm9Mb29wcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iRXZlbnROb3RpZmllciIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFUeXBlTm9kZSIgQmFz +ZVR5cGU9InRuczpUeXBlTm9kZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVO +YW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgU291cmNlVHlwZT0idG5z +Ok5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6 +UXVhbGlmaWVkTmFtZSIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9 +InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1l +PSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRu +czpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9 +Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBlTmFtZT0idG5zOlJlZmVyZW5jZU5vZGUiIExlbmd0aEZp +ZWxkPSJOb09mUmVmZXJlbmNlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3Qi +IFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg +PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWZlcmVuY2VOb2RlIiBCYXNlVHlwZT0idWE6RXh0 +ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+U3BlY2lmaWVzIGEgcmVmZXJl +bmNlIHdoaWNoIGJlbG9uZ3MgdG8gYSBub2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJJc0ludmVyc2UiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldElkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2Rl +SWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iQXJndW1lbnQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 +RG9jdW1lbnRhdGlvbj5BbiBhcmd1bWVudCBmb3IgYSBtZXRob2QuPC9vcGM6RG9jdW1lbnRhdGlv +bj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZVJhbmsiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0i +b3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+ +DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i +RW51bVZhbHVlVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpE +b2N1bWVudGF0aW9uPkEgbWFwcGluZyBiZXR3ZWVuIGEgdmFsdWUgb2YgYW4gZW51bWVyYXRlZCB0 +eXBlIGFuZCBhIG5hbWUgYW5kIGRlc2NyaXB0aW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9Im9wYzpJbnQ2NCIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVk +VGV4dCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw +ZSBOYW1lPSJPcHRpb25TZXQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv +cGM6RG9jdW1lbnRhdGlvbj5UaGlzIGFic3RyYWN0IFN0cnVjdHVyZWQgRGF0YVR5cGUgaXMgdGhl +IGJhc2UgRGF0YVR5cGUgZm9yIGFsbCBEYXRhVHlwZXMgcmVwcmVzZW50aW5nIGEgYml0IG1hc2su +PC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFt +ZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWxpZEJpdHMiIFR5 +cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg +PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVbmlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoaXMgYWJzdHJhY3QgRGF0YVR5cGUgaXMg +dGhlIGJhc2UgRGF0YVR5cGUgZm9yIGFsbCB1bmlvbiBEYXRhVHlwZXMuPC9vcGM6RG9jdW1lbnRh +dGlvbj4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9 +Ik5vcm1hbGl6ZWRTdHJpbmciPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHN0cmluZyBub3Jt +YWxpemVkIGJhc2VkIG9uIHRoZSBydWxlcyBpbiB0aGUgdW5pY29kZSBzcGVjaWZpY2F0aW9uLjwv +b3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVU +eXBlIE5hbWU9IkRlY2ltYWxTdHJpbmciPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBhcmJp +dHJhdHkgbnVtZXJpYyB2YWx1ZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVU +eXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJEdXJhdGlvblN0cmluZyI+DQogICAgPG9w +YzpEb2N1bWVudGF0aW9uPkEgcGVyaW9kIG9mIHRpbWUgZm9ybWF0dGVkIGFzIGRlZmluZWQgaW4g +SVNPIDg2MDEtMjAwMC48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0K +DQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJUaW1lU3RyaW5nIj4NCiAgICA8b3BjOkRvY3VtZW50 +YXRpb24+QSB0aW1lIGZvcm1hdHRlZCBhcyBkZWZpbmVkIGluIElTTyA4NjAxLTIwMDAuPC9vcGM6 +RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUg +TmFtZT0iRGF0ZVN0cmluZyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgZGF0ZSBmb3JtYXR0 +ZWQgYXMgZGVmaW5lZCBpbiBJU08gODYwMS0yMDAwLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwv +b3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkR1cmF0aW9uIj4NCiAg +ICA8b3BjOkRvY3VtZW50YXRpb24+QSBwZXJpb2Qgb2YgdGltZSBtZWFzdXJlZCBpbiBtaWxsaXNl +Y29uZHMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3Bj +Ok9wYXF1ZVR5cGUgTmFtZT0iVXRjVGltZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgZGF0 +ZS90aW1lIHZhbHVlIHNwZWNpZmllZCBpbiBVbml2ZXJzYWwgQ29vcmRpbmF0ZWQgVGltZSAoVVRD +KS48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3Bh +cXVlVHlwZSBOYW1lPSJMb2NhbGVJZCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkFuIGlkZW50 +aWZpZXIgZm9yIGEgdXNlciBsb2NhbGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3Bh +cXVlVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRpbWVab25lRGF0YVR5cGUi +IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iT2Zm +c2V0IiBUeXBlTmFtZT0ib3BjOkludDE2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF5bGln +aHRTYXZpbmdJbk9mZnNldCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iSW50ZWdlcklkIj4NCiAgICA8 +b3BjOkRvY3VtZW50YXRpb24+QSBudW1lcmljIGlkZW50aWZpZXIgZm9yIGFuIG9iamVjdC48L29w +YzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRl +ZFR5cGUgTmFtZT0iQXBwbGljYXRpb25UeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3Bj +OkRvY3VtZW50YXRpb24+VGhlIHR5cGVzIG9mIGFwcGxpY2F0aW9ucy48L29wYzpEb2N1bWVudGF0 +aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNlcnZlciIgVmFsdWU9IjAiIC8+ +DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ2xpZW50IiBWYWx1ZT0iMSIgLz4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDbGllbnRBbmRTZXJ2ZXIiIFZhbHVlPSIyIiAv +Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRpc2NvdmVyeVNlcnZlciIgVmFsdWU9 +IjMiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iQXBwbGljYXRpb25EZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj +dCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkRlc2NyaWJlcyBhbiBhcHBsaWNhdGlvbiBhbmQg +aG93IHRvIGZpbmQgaXQuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkFwcGxpY2F0aW9uVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlByb2R1Y3RVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iQXBwbGljYXRpb25OYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkFwcGxpY2F0aW9uVHlwZSIgVHlwZU5hbWU9InRuczpBcHBs +aWNhdGlvblR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJHYXRld2F5U2VydmVyVXJpIiBU +eXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2NvdmVyeVBy +b2ZpbGVVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +Tm9PZkRpc2NvdmVyeVVybHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJEaXNjb3ZlcnlVcmxzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9 +Ik5vT2ZEaXNjb3ZlcnlVcmxzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj +OlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlcXVlc3RIZWFkZXIiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp +b25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgaGVhZGVyIHBhc3NlZCB3aXRo +IGV2ZXJ5IHNlcnZlciByZXF1ZXN0Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJBdXRoZW50aWNhdGlvblRva2VuIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iVGltZXN0YW1wIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhhbmRsZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXR1cm5EaWFnbm9zdGljcyIgVHlwZU5hbWU9Im9w +YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdWRpdEVudHJ5SWQiIFR5cGVOYW1l +PSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGltZW91dEhpbnQiIFR5cGVO +YW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWRkaXRpb25hbEhlYWRl +ciIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 +cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZXNwb25zZUhlYWRlciIgQmFzZVR5 +cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSBoZWFk +ZXIgcGFzc2VkIHdpdGggZXZlcnkgc2VydmVyIHJlc3BvbnNlLjwvb3BjOkRvY3VtZW50YXRpb24+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lc3RhbXAiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGFuZGxlIiBUeXBlTmFtZT0ib3BjOlVJ +bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZpY2VSZXN1bHQiIFR5cGVOYW1lPSJ1 +YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmljZURpYWdub3N0aWNz +IiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO +b09mU3RyaW5nVGFibGUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJTdHJpbmdUYWJsZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09m +U3RyaW5nVGFibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGRpdGlvbmFsSGVhZGVyIiBU +eXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N +Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNlcnZpY2VGYXVsdCIgQmFzZVR5cGU9InVh +OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSByZXNwb25zZSBy +ZXR1cm5lZCBieSBhbGwgc2VydmljZXMgd2hlbiB0aGVyZSBpcyBhIHNlcnZpY2UgbGV2ZWwgZXJy +b3IuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVh +ZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk +VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkZpbmRTZXJ2ZXJzUmVxdWVzdCIg +QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkZp +bmRzIHRoZSBzZXJ2ZXJzIGtub3duIHRvIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwvb3BjOkRvY3Vt +ZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0i +dG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybCIg +VHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTG9jYWxl +SWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTG9jYWxl +SWRzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZMb2NhbGVJZHMiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VydmVyVXJpcyIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclVyaXMiIFR5cGVOYW1lPSJvcGM6U3Ry +aW5nIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlclVyaXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRmluZFNlcnZlcnNSZXNwb25zZSIg +QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkZp +bmRzIHRoZSBzZXJ2ZXJzIGtub3duIHRvIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwvb3BjOkRvY3Vt +ZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9 +InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJz +IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVycyIg +VHlwZU5hbWU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZlNl +cnZlcnMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iU2VydmVyT25OZXR3b3JrIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlY29yZElkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY292ZXJ5VXJsIiBUeXBlTmFtZT0ib3BjOlN0cmlu +ZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJDYXBhYmlsaXRpZXMiIFR5cGVO +YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJDYXBhYmlsaXRp +ZXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlckNhcGFiaWxp +dGllcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw +ZSBOYW1lPSJGaW5kU2VydmVyc09uTmV0d29ya1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp +b25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9 +InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhcnRpbmdSZWNv +cmRJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhS +ZWNvcmRzVG9SZXR1cm4iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTm9PZlNlcnZlckNhcGFiaWxpdHlGaWx0ZXIiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJDYXBhYmlsaXR5RmlsdGVyIiBUeXBlTmFtZT0i +b3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJDYXBhYmlsaXR5RmlsdGVyIiAvPg0K +ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkZp +bmRTZXJ2ZXJzT25OZXR3b3JrUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVz +cG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0Q291bnRlclJlc2V0VGlt +ZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZT +ZXJ2ZXJzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vy +dmVycyIgVHlwZU5hbWU9InRuczpTZXJ2ZXJPbk5ldHdvcmsiIExlbmd0aEZpZWxkPSJOb09mU2Vy +dmVycyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5h +bWU9IkFwcGxpY2F0aW9uSW5zdGFuY2VDZXJ0aWZpY2F0ZSI+DQogICAgPG9wYzpEb2N1bWVudGF0 +aW9uPkEgY2VydGlmaWNhdGUgZm9yIGFuIGluc3RhbmNlIG9mIGFuIGFwcGxpY2F0aW9uLjwvb3Bj +OkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVk +VHlwZSBOYW1lPSJNZXNzYWdlU2VjdXJpdHlNb2RlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8 +b3BjOkRvY3VtZW50YXRpb24+VGhlIHR5cGUgb2Ygc2VjdXJpdHkgdG8gdXNlIG9uIGEgbWVzc2Fn +ZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Iklu +dmFsaWQiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUi +IFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNpZ24iIFZhbHVl +PSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNpZ25BbmRFbmNyeXB0IiBW +YWx1ZT0iMyIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVk +VHlwZSBOYW1lPSJVc2VyVG9rZW5UeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRv +Y3VtZW50YXRpb24+VGhlIHBvc3NpYmxlIHVzZXIgdG9rZW4gdHlwZXMuPC9vcGM6RG9jdW1lbnRh +dGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBbm9ueW1vdXMiIFZhbHVlPSIw +IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVzZXJOYW1lIiBWYWx1ZT0iMSIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDZXJ0aWZpY2F0ZSIgVmFsdWU9IjIi +IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNzdWVkVG9rZW4iIFZhbHVlPSIz +IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9IlVzZXJUb2tlblBvbGljeSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg +PG9wYzpEb2N1bWVudGF0aW9uPkRlc2NyaWJlcyBhIHVzZXIgdG9rZW4gdGhhdCBjYW4gYmUgdXNl +ZCB3aXRoIGEgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJQb2xpY3lJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJUb2tlblR5cGUiIFR5cGVOYW1lPSJ0bnM6VXNlclRva2VuVHlwZSIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Iklzc3VlZFRva2VuVHlwZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJJc3N1ZXJFbmRwb2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJpbmci +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eVBvbGljeVVyaSIgVHlwZU5hbWU9Im9w +YzpTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl +ZFR5cGUgTmFtZT0iRW5kcG9pbnREZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSBkZXNjcmlwdGlvbiBvZiBhIGVuZHBv +aW50IHRoYXQgY2FuIGJlIHVzZWQgdG8gYWNjZXNzIGEgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRp +b24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJp +bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXIiIFR5cGVOYW1lPSJ0bnM6QXBwbGlj +YXRpb25EZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlckNlcnRpZmlj +YXRlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT +ZWN1cml0eU1vZGUiIFR5cGVOYW1lPSJ0bnM6TWVzc2FnZVNlY3VyaXR5TW9kZSIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5UG9saWN5VXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZVc2VySWRlbnRpdHlUb2tlbnMiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VySWRlbnRpdHlUb2tlbnMi +IFR5cGVOYW1lPSJ0bnM6VXNlclRva2VuUG9saWN5IiBMZW5ndGhGaWVsZD0iTm9PZlVzZXJJZGVu +dGl0eVRva2VucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyYW5zcG9ydFByb2ZpbGVVcmki +IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlM +ZXZlbCIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K +ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkdldEVuZHBvaW50c1JlcXVlc3QiIEJhc2VUeXBl +PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5HZXRzIHRoZSBl +bmRwb2ludHMgdXNlZCBieSB0aGUgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJp +bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3Bj +OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3Bj +OlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZMb2NhbGVJZHMiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJOb09mUHJvZmlsZVVyaXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJQcm9maWxlVXJpcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxk +PSJOb09mUHJvZmlsZVVyaXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iR2V0RW5kcG9pbnRzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpF +eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5HZXRzIHRoZSBlbmRwb2lu +dHMgdXNlZCBieSB0aGUgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFbmRwb2ludHMiIFR5cGVOYW1lPSJvcGM6SW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRwb2ludHMiIFR5cGVOYW1lPSJ0bnM6RW5kcG9p +bnREZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZFbmRwb2ludHMiIC8+DQogIDwvb3BjOlN0 +cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVnaXN0ZXJlZFNl +cnZlciIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0 +aW9uPlRoZSBpbmZvcm1hdGlvbiByZXF1aXJlZCB0byByZWdpc3RlciBhIHNlcnZlciB3aXRoIGEg +ZGlzY292ZXJ5IHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iU2VydmVyVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlByb2R1Y3RVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTm9PZlNlcnZlck5hbWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iU2VydmVyTmFtZXMiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBMZW5n +dGhGaWVsZD0iTm9PZlNlcnZlck5hbWVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVy +VHlwZSIgVHlwZU5hbWU9InRuczpBcHBsaWNhdGlvblR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJHYXRld2F5U2VydmVyVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vT2ZEaXNjb3ZlcnlVcmxzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY292ZXJ5VXJscyIgVHlwZU5hbWU9Im9wYzpTdHJpbmci +IExlbmd0aEZpZWxkPSJOb09mRGlzY292ZXJ5VXJscyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlNlbWFwaG9yZUZpbGVQYXRoIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IklzT25saW5lIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0 +cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVnaXN0ZXJTZXJ2 +ZXJSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3Vt +ZW50YXRpb24+UmVnaXN0ZXJzIGEgc2VydmVyIHdpdGggdGhlIGRpc2NvdmVyeSBzZXJ2ZXIuPC9v +cGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5 +cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZl +ciIgVHlwZU5hbWU9InRuczpSZWdpc3RlcmVkU2VydmVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk +VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlZ2lzdGVyU2VydmVyUmVzcG9u +c2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlv +bj5SZWdpc3RlcnMgYSBzZXJ2ZXIgd2l0aCB0aGUgZGlzY292ZXJ5IHNlcnZlci48L29wYzpEb2N1 +bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1l +PSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv +cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGlzY292ZXJ5Q29uZmlndXJhdGlvbiIgQmFzZVR5cGU9 +InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgYmFzZSB0eXBl +IGZvciBkaXNjb3ZlcnkgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbi48L29wYzpEb2N1bWVudGF0 +aW9uPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9Ik1kbnNEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiBCYXNlVHlwZT0idG5zOkRpc2NvdmVyeUNv +bmZpZ3VyYXRpb24iPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgZGlzY292ZXJ5IGluZm9y +bWF0aW9uIG5lZWRlZCBmb3IgbUROUyByZWdpc3RyYXRpb24uPC9vcGM6RG9jdW1lbnRhdGlvbj4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1kbnNTZXJ2ZXJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmlu +ZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJDYXBhYmlsaXRpZXMiIFR5cGVO +YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJDYXBhYmlsaXRp +ZXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlckNhcGFiaWxp +dGllcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw +ZSBOYW1lPSJSZWdpc3RlclNlcnZlcjJSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6 +UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlciIgVHlwZU5hbWU9 +InRuczpSZWdpc3RlcmVkU2VydmVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpc2Nv +dmVyeUNvbmZpZ3VyYXRpb24iIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0IiBMZW5ndGhGaWVsZD0iTm9PZkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVnaXN0ZXJT +ZXJ2ZXIyUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQ29uZmlndXJhdGlvblJlc3VsdHMiIFR5cGVO +YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb25maWd1cmF0aW9uUmVz +dWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mQ29uZmlndXJh +dGlvblJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9z +IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3Rp +Y0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlh +Z25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1l +cmF0ZWRUeXBlIE5hbWU9IlNlY3VyaXR5VG9rZW5SZXF1ZXN0VHlwZSIgTGVuZ3RoSW5CaXRzPSIz +MiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkluZGljYXRlcyB3aGV0aGVyIGEgdG9rZW4gaWYg +YmVpbmcgY3JlYXRlZCBvciByZW5ld2VkLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNzdWUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVy +YXRlZFZhbHVlIE5hbWU9IlJlbmV3IiBWYWx1ZT0iMSIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5 +cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDaGFubmVsU2VjdXJpdHlUb2tlbiIg +QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRo +ZSB0b2tlbiB0aGF0IGlkZW50aWZpZXMgYSBzZXQgb2Yga2V5cyBmb3IgYW4gYWN0aXZlIHNlY3Vy +ZSBjaGFubmVsLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDaGFu +bmVsSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVG9r +ZW5JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDcmVh +dGVkQXQiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS +ZXZpc2VkTGlmZXRpbWUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik9wZW5TZWN1cmVDaGFubmVs +UmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVu +dGF0aW9uPkNyZWF0ZXMgYSBzZWN1cmUgY2hhbm5lbCB3aXRoIGEgc2VydmVyLjwvb3BjOkRvY3Vt +ZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0i +dG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnRQcm90b2Nv +bFZlcnNpb24iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +UmVxdWVzdFR5cGUiIFR5cGVOYW1lPSJ0bnM6U2VjdXJpdHlUb2tlblJlcXVlc3RUeXBlIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlNb2RlIiBUeXBlTmFtZT0idG5zOk1lc3NhZ2VT +ZWN1cml0eU1vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnROb25jZSIgVHlwZU5h +bWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkTGlm +ZXRpbWUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N +Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik9wZW5TZWN1cmVDaGFubmVsUmVzcG9uc2Ui +IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5D +cmVhdGVzIGEgc2VjdXJlIGNoYW5uZWwgd2l0aCBhIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9u +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVz +cG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJQcm90b2NvbFZlcnNp +b24iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJp +dHlUb2tlbiIgVHlwZU5hbWU9InRuczpDaGFubmVsU2VjdXJpdHlUb2tlbiIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlNlcnZlck5vbmNlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ2xv +c2VTZWN1cmVDaGFubmVsUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog +ICAgPG9wYzpEb2N1bWVudGF0aW9uPkNsb3NlcyBhIHNlY3VyZSBjaGFubmVsLjwvb3BjOkRvY3Vt +ZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0i +dG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iQ2xvc2VTZWN1cmVDaGFubmVsUmVzcG9uc2UiIEJhc2VUeXBl +PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5DbG9zZXMgYSBz +ZWN1cmUgY2hhbm5lbC48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +UmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2lnbmVkU29m +dHdhcmVDZXJ0aWZpY2F0ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w +YzpEb2N1bWVudGF0aW9uPkEgc29mdHdhcmUgY2VydGlmaWNhdGUgd2l0aCBhIGRpZ2l0YWwgc2ln +bmF0dXJlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDZXJ0aWZp +Y2F0ZURhdGEiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlNpZ25hdHVyZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iU2Vzc2lvbkF1dGhlbnRpY2F0 +aW9uVG9rZW4iPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHVuaXF1ZSBpZGVudGlmaWVyIGZv +ciBhIHNlc3Npb24gdXNlZCB0byBhdXRoZW50aWNhdGUgcmVxdWVzdHMuPC9vcGM6RG9jdW1lbnRh +dGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 +IlNpZ25hdHVyZURhdGEiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 +RG9jdW1lbnRhdGlvbj5BIGRpZ2l0YWwgc2lnbmF0dXJlLjwvb3BjOkRvY3VtZW50YXRpb24+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJBbGdvcml0aG0iIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iU2lnbmF0dXJlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmci +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt +ZT0iQ3JlYXRlU2Vzc2lvblJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K +ICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5DcmVhdGVzIGEgbmV3IHNlc3Npb24gd2l0aCB0aGUgc2Vy +dmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVh +ZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJDbGllbnREZXNjcmlwdGlvbiIgVHlwZU5hbWU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9u +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmlu +ZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZHBvaW50VXJsIiBUeXBlTmFtZT0ib3BjOlN0 +cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlc3Npb25OYW1lIiBUeXBlTmFtZT0ib3Bj +OlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudE5vbmNlIiBUeXBlTmFtZT0i +b3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnRDZXJ0aWZpY2F0 +ZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVx +dWVzdGVkU2Vzc2lvblRpbWVvdXQiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTWF4UmVzcG9uc2VNZXNzYWdlU2l6ZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIi +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt +ZT0iQ3JlYXRlU2Vzc2lvblJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N +CiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q3JlYXRlcyBhIG5ldyBzZXNzaW9uIHdpdGggdGhlIHNl +cnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VI +ZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJTZXNzaW9uSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJBdXRoZW50aWNhdGlvblRva2VuIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUmV2aXNlZFNlc3Npb25UaW1lb3V0IiBUeXBlTmFtZT0ib3BjOkRvdWJs +ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlck5vbmNlIiBUeXBlTmFtZT0ib3BjOkJ5 +dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJDZXJ0aWZpY2F0ZSIgVHlw +ZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlcnZl +ckVuZHBvaW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlNlcnZlckVuZHBvaW50cyIgVHlwZU5hbWU9InRuczpFbmRwb2ludERlc2NyaXB0aW9uIiBMZW5n +dGhGaWVsZD0iTm9PZlNlcnZlckVuZHBvaW50cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v +T2ZTZXJ2ZXJTb2Z0d2FyZUNlcnRpZmljYXRlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclNvZnR3YXJlQ2VydGlmaWNhdGVzIiBUeXBlTmFtZT0i +dG5zOlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiIExlbmd0aEZpZWxkPSJOb09mU2VydmVyU29m +dHdhcmVDZXJ0aWZpY2F0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJTaWduYXR1 +cmUiIFR5cGVOYW1lPSJ0bnM6U2lnbmF0dXJlRGF0YSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik1heFJlcXVlc3RNZXNzYWdlU2l6ZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVXNlcklkZW50 +aXR5VG9rZW4iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1l +bnRhdGlvbj5BIGJhc2UgdHlwZSBmb3IgYSB1c2VyIGlkZW50aXR5IHRva2VuLjwvb3BjOkRvY3Vt +ZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQb2xpY3lJZCIgVHlwZU5hbWU9Im9wYzpT +dHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iQW5vbnltb3VzSWRlbnRpdHlUb2tlbiIgQmFzZVR5cGU9InRuczpVc2VySWRlbnRp +dHlUb2tlbiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgdG9rZW4gcmVwcmVzZW50aW5nIGFu +IGFub255bW91cyB1c2VyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJQb2xpY3lJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIFNvdXJjZVR5cGU9InRuczpVc2VySWRl +bnRpdHlUb2tlbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 +cmVkVHlwZSBOYW1lPSJVc2VyTmFtZUlkZW50aXR5VG9rZW4iIEJhc2VUeXBlPSJ0bnM6VXNlcklk +ZW50aXR5VG9rZW4iPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHRva2VuIHJlcHJlc2VudGlu +ZyBhIHVzZXIgaWRlbnRpZmllZCBieSBhIHVzZXIgbmFtZSBhbmQgcGFzc3dvcmQuPC9vcGM6RG9j +dW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBvbGljeUlkIiBUeXBlTmFtZT0ib3Bj +OlN0cmluZyIgU291cmNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iVXNlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iUGFzc3dvcmQiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkVuY3J5cHRpb25BbGdvcml0aG0iIFR5cGVOYW1lPSJvcGM6U3RyaW5n +IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9Ilg1MDlJZGVudGl0eVRva2VuIiBCYXNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIj4N +CiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSB0b2tlbiByZXByZXNlbnRpbmcgYSB1c2VyIGlkZW50 +aWZpZWQgYnkgYW4gWDUwOSBjZXJ0aWZpY2F0ZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUG9saWN5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBTb3VyY2VUeXBl +PSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDZXJ0aWZp +Y2F0ZURhdGEiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl +ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJJc3N1ZWRJZGVudGl0eVRva2Vu +IiBCYXNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIj4NCiAgICA8b3BjOkRvY3VtZW50YXRp +b24+QSB0b2tlbiByZXByZXNlbnRpbmcgYSB1c2VyIGlkZW50aWZpZWQgYnkgYSBXUy1TZWN1cml0 +eSBYTUwgdG9rZW4uPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBv +bGljeUlkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgU291cmNlVHlwZT0idG5zOlVzZXJJZGVudGl0 +eVRva2VuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVG9rZW5EYXRhIiBUeXBlTmFtZT0ib3Bj +OkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmNyeXB0aW9uQWxnb3JpdGht +IiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg +PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBY3RpdmF0ZVNlc3Npb25SZXF1ZXN0IiBCYXNlVHlw +ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QWN0aXZhdGVz +IGEgc2Vzc2lvbiB3aXRoIHRoZSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudFNpZ25hdHVyZSIgVHlwZU5hbWU9InRuczpT +aWduYXR1cmVEYXRhIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkNsaWVudFNvZnR3YXJl +Q2VydGlmaWNhdGVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iQ2xpZW50U29mdHdhcmVDZXJ0aWZpY2F0ZXMiIFR5cGVOYW1lPSJ0bnM6U2lnbmVkU29mdHdh +cmVDZXJ0aWZpY2F0ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZDbGllbnRTb2Z0d2FyZUNlcnRpZmljYXRl +cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZMb2NhbGVJZHMiIFR5cGVOYW1lPSJvcGM6 +SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMb2NhbGVJZHMiIFR5cGVOYW1lPSJvcGM6 +U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZkxvY2FsZUlkcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlVzZXJJZGVudGl0eVRva2VuIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlclRva2VuU2lnbmF0dXJlIiBUeXBlTmFtZT0idG5zOlNp +Z25hdHVyZURhdGEiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 +dXJlZFR5cGUgTmFtZT0iQWN0aXZhdGVTZXNzaW9uUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRl +bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BY3RpdmF0ZXMgYSBzZXNzaW9u +IHdpdGggdGhlIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJOb25jZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29k +ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P +ZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5n +dGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ +DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDbG9zZVNlc3Npb25SZXF1ZXN0IiBCYXNl +VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q2xvc2Vz +IGEgc2Vzc2lvbiB3aXRoIHRoZSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlbGV0ZVN1YnNjcmlwdGlvbnMiIFR5cGVOYW1lPSJv +cGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 +cmVkVHlwZSBOYW1lPSJDbG9zZVNlc3Npb25SZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lv +bk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkNsb3NlcyBhIHNlc3Npb24gd2l0aCB0 +aGUgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNw +b25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgPC9vcGM6U3Ry +dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDYW5jZWxSZXF1ZXN0 +IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+ +Q2FuY2VscyBhbiBvdXRzdGFuZGluZyByZXF1ZXN0Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFk +ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGFuZGxlIiBUeXBlTmFtZT0ib3Bj +OlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk +VHlwZSBOYW1lPSJDYW5jZWxSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ +DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkNhbmNlbHMgYW4gb3V0c3RhbmRpbmcgcmVxdWVzdC48 +L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIi +IFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJD +YW5jZWxDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iTm9kZUF0dHJpYnV0ZXNNYXNrIiBM +ZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIGJpdHMgdXNlZCB0 +byBzcGVjaWZ5IGRlZmF1bHQgYXR0cmlidXRlcyBmb3IgYSBuZXcgbm9kZS48L29wYzpEb2N1bWVu +dGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAv +Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFjY2Vzc0xldmVsIiBWYWx1ZT0iMSIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBcnJheURpbWVuc2lvbnMiIFZhbHVl +PSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJyb3dzZU5hbWUiIFZhbHVl +PSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkNvbnRhaW5zTm9Mb29wcyIg +VmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGF0YVR5cGUiIFZh +bHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEZXNjcmlwdGlvbiIg +VmFsdWU9IjMyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRpc3BsYXlOYW1l +IiBWYWx1ZT0iNjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRXZlbnROb3Rp +ZmllciIgVmFsdWU9IjEyOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJFeGVj +dXRhYmxlIiBWYWx1ZT0iMjU2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikhp +c3Rvcml6aW5nIiBWYWx1ZT0iNTEyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 +IkludmVyc2VOYW1lIiBWYWx1ZT0iMTAyNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO +YW1lPSJJc0Fic3RyYWN0IiBWYWx1ZT0iMjA0OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 +ZSBOYW1lPSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbCIgVmFsdWU9IjQwOTYiIC8+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9kZUNsYXNzIiBWYWx1ZT0iODE5MiIgLz4NCiAgICA8 +b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlSWQiIFZhbHVlPSIxNjM4NCIgLz4NCiAgICA8 +b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTeW1tZXRyaWMiIFZhbHVlPSIzMjc2OCIgLz4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVc2VyQWNjZXNzTGV2ZWwiIFZhbHVlPSI2NTUz +NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVc2VyRXhlY3V0YWJsZSIgVmFs +dWU9IjEzMTA3MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVc2VyV3JpdGVN +YXNrIiBWYWx1ZT0iMjYyMTQ0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZh +bHVlUmFuayIgVmFsdWU9IjUyNDI4OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l +PSJXcml0ZU1hc2siIFZhbHVlPSIxMDQ4NTc2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9IlZhbHVlIiBWYWx1ZT0iMjA5NzE1MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 +ZSBOYW1lPSJBbGwiIFZhbHVlPSI0MTk0MzAzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9IkJhc2VOb2RlIiBWYWx1ZT0iMTMzNTM5NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJPYmplY3QiIFZhbHVlPSIxMzM1NTI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRl +ZFZhbHVlIE5hbWU9Ik9iamVjdFR5cGVPckRhdGFUeXBlIiBWYWx1ZT0iMTMzNzQ0NCIgLz4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJWYXJpYWJsZSIgVmFsdWU9IjQwMjY5OTkiIC8+ +DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVmFyaWFibGVUeXBlIiBWYWx1ZT0iMzk1 +ODkwMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJNZXRob2QiIFZhbHVlPSIx +NDY2NzI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlZmVyZW5jZVR5cGUi +IFZhbHVlPSIxMzcxMjM2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZpZXci +IFZhbHVlPSIxMzM1NTMyIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9Ik5vZGVBdHRyaWJ1dGVzIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u +T2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIGJhc2UgYXR0cmlidXRlcyBmb3Ig +YWxsIG5vZGVzLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVj +aWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJ +bnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw +ZSBOYW1lPSJPYmplY3RBdHRyaWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4N +CiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGFuIG9iamVjdCBub2Rl +Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRy +aWJ1dGVzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1 +dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpM +b2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNv +dXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ildy +aXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmli +dXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJv +cGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJFdmVudE5vdGlmaWVyIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVmFyaWFibGVB +dHRyaWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICA8b3BjOkRvY3Vt +ZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGEgdmFyaWFibGUgbm9kZS48L29wYzpEb2N1bWVu +dGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3BlY2lmaWVkQXR0cmlidXRlcyIgVHlwZU5h +bWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIg +U291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +RGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6 +Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVO +YW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291 +cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFs +dWUiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5 +cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZVJh +bmsiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXJy +YXlEaW1lbnNpb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5v +T2ZBcnJheURpbWVuc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBY2Nlc3NMZXZlbCIg +VHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlckFjY2Vzc0xl +dmVsIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNaW5pbXVt +U2FtcGxpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJIaXN0b3JpemluZyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1ldGhvZEF0dHJp +YnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgIDxvcGM6RG9jdW1lbnRh +dGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSBtZXRob2Qgbm9kZS48L29wYzpEb2N1bWVudGF0aW9u +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3BlY2lmaWVkQXR0cmlidXRlcyIgVHlwZU5hbWU9Im9w +YzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNl +VHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3Jp +cHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0 +dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJv +cGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlw +ZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXhlY3V0YWJs +ZSIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlckV4 +ZWN1dGFibGUiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 +cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJPYmplY3RUeXBlQXR0cmlidXRlcyIg +QmFzZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRo +ZSBhdHRyaWJ1dGVzIGZvciBhbiBvYmplY3QgdHlwZSBub2RlLjwvb3BjOkRvY3VtZW50YXRpb24+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0ib3Bj +OlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VU +eXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlw +dGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0 +cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9w +YzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBl +PSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0Fic3RyYWN0 +IiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog +IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVmFyaWFibGVUeXBlQXR0cmlidXRlcyIgQmFzZVR5 +cGU9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSBhdHRy +aWJ1dGVzIGZvciBhIHZhcmlhYmxlIHR5cGUgbm9kZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iU3BlY2lmaWVkQXR0cmlidXRlcyIgVHlwZU5hbWU9Im9wYzpVSW50 +MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0i +dG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24i +IFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0 +ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUlu +dDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5z +Ok5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWUiIFR5cGVOYW1l +PSJ1YTpWYXJpYW50IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5cGUiIFR5cGVOYW1l +PSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZVJhbmsiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXJyYXlEaW1lbnNpb25z +IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXJyYXlEaW1l +bnNpb25zIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBcnJheURpbWVu +c2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0Fic3RyYWN0IiBUeXBlTmFtZT0ib3Bj +OkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl +ZFR5cGUgTmFtZT0iUmVmZXJlbmNlVHlwZUF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0 +dHJpYnV0ZXMiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSBy +ZWZlcmVuY2UgdHlwZSBub2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlw +ZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5h +bWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJp +YnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVh +OkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5 +cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0 +ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0 +ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0Fic3RyYWN0IiBUeXBlTmFtZT0ib3BjOkJv +b2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTeW1tZXRyaWMiIFR5cGVOYW1lPSJvcGM6 +Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkludmVyc2VOYW1lIiBUeXBlTmFtZT0i +dWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT +dHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRhVHlwZUF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9k +ZUF0dHJpYnV0ZXMiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3Ig +YSBkYXRhIHR5cGUgbm9kZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iU3BlY2lmaWVkQXR0cmlidXRlcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9 +InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1l +IiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1 +dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpM +b2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBl +PSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVN +YXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVz +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNBYnN0cmFjdCIgVHlwZU5hbWU9Im9wYzpCb29s +ZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl +IE5hbWU9IlZpZXdBdHRyaWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAg +ICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGEgdmlldyBub2RlLjwvb3Bj +OkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVz +IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6 +ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5 +cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFz +ayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUlu +dDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJDb250YWluc05vTG9vcHMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IkV2ZW50Tm90aWZpZXIiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgPC9v +cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBZGROb2Rl +c0l0ZW0iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRh +dGlvbj5BIHJlcXVlc3QgdG8gYWRkIGEgbm9kZSB0byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2Uu +PC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBhcmVudE5vZGVJZCIg +VHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVm +ZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iUmVxdWVzdGVkTmV3Tm9kZUlkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFt +ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2Rl +Q2xhc3MiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQXR0cmlidXRlcyIgVHlwZU5hbWU9 +InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlR5cGVEZWZpbml0 +aW9uIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWRkTm9kZXNSZXN1bHQiIEJhc2VU +eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHJlc3Vs +dCBvZiBhbiBhZGQgbm9kZSBvcGVyYXRpb24uPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iQWRkZWROb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWRk +Tm9kZXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRv +Y3VtZW50YXRpb24+QWRkcyBvbmUgb3IgbW9yZSBub2RlcyB0byB0aGUgc2VydmVyIGFkZHJlc3Mg +c3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RI +ZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ik5vT2ZOb2Rlc1RvQWRkIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9kZXNUb0FkZCIgVHlwZU5hbWU9InRuczpBZGROb2Rlc0l0ZW0iIExlbmd0aEZp +ZWxkPSJOb09mTm9kZXNUb0FkZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w +YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBZGROb2Rlc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0 +ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QWRkcyBvbmUgb3IgbW9yZSBu +b2RlcyB0byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNl +SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJv +cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idG5z +OkFkZE5vZGVzUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25v +c3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFkZFJlZmVyZW5j +ZXNJdGVtIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50 +YXRpb24+QSByZXF1ZXN0IHRvIGFkZCBhIHJlZmVyZW5jZSB0byB0aGUgc2VydmVyIGFkZHJlc3Mg +c3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvdXJjZU5v +ZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVy +ZW5jZVR5cGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IklzRm9yd2FyZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iVGFyZ2V0U2VydmVyVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlRhcmdldE5vZGVJZCIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iVGFyZ2V0Tm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVD +bGFzcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw +ZSBOYW1lPSJBZGRSZWZlcmVuY2VzUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj +dCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkFkZHMgb25lIG9yIG1vcmUgcmVmZXJlbmNlcyB0 +byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzVG9BZGQiIFR5cGVOYW1lPSJv +cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzVG9BZGQiIFR5cGVO +YW1lPSJ0bnM6QWRkUmVmZXJlbmNlc0l0ZW0iIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlc1Rv +QWRkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl +IE5hbWU9IkFkZFJlZmVyZW5jZXNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj +dCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkFkZHMgb25lIG9yIG1vcmUgcmVmZXJlbmNlcyB0 +byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVz +Q29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +Tm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBM +ZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 +cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVOb2Rlc0l0ZW0iIEJhc2VU +eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHJlcXVl +c3QgdG8gZGVsZXRlIGEgbm9kZSB0byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9j +dW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5v +ZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlbGV0ZVRhcmdldFJlZmVyZW5jZXMiIFR5 +cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w +YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVOb2Rlc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpF +eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5EZWxldGUgb25lIG9yIG1v +cmUgbm9kZXMgZnJvbSB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlv +bj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVx +dWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOb2Rlc1RvRGVsZXRlIiBU +eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZXNUb0RlbGV0 +ZSIgVHlwZU5hbWU9InRuczpEZWxldGVOb2Rlc0l0ZW0iIExlbmd0aEZpZWxkPSJOb09mTm9kZXNU +b0RlbGV0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk +VHlwZSBOYW1lPSJEZWxldGVOb2Rlc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+RGVsZXRlIG9uZSBvciBtb3JlIG5vZGVzIGZy +b20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRl +ciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1 +c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIg +TGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlUmVmZXJlbmNlc0l0ZW0i +IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5B +IHJlcXVlc3QgdG8gZGVsZXRlIGEgbm9kZSBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48 +L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU291cmNlTm9kZUlkIiBU +eXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlVHlw +ZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNGb3J3 +YXJkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUYXJn +ZXROb2RlSWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkRlbGV0ZUJpZGlyZWN0aW9uYWwiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAg +PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxl +dGVSZWZlcmVuY2VzUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg +PG9wYzpEb2N1bWVudGF0aW9uPkRlbGV0ZSBvbmUgb3IgbW9yZSByZWZlcmVuY2VzIGZyb20gdGhl +IHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlc1RvRGVsZXRlIiBUeXBlTmFtZT0ib3Bj +OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlc1RvRGVsZXRlIiBUeXBl +TmFtZT0idG5zOkRlbGV0ZVJlZmVyZW5jZXNJdGVtIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5j +ZXNUb0RlbGV0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 +cmVkVHlwZSBOYW1lPSJEZWxldGVSZWZlcmVuY2VzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRl +bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5EZWxldGUgb25lIG9yIG1vcmUg +cmVmZXJlbmNlcyBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0 +aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6 +UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlw +ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVO +YW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlh +Z25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29w +YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkF0dHJpYnV0 +ZVdyaXRlTWFzayIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkRl +ZmluZSBiaXRzIHVzZWQgdG8gaW5kaWNhdGUgd2hpY2ggYXR0cmlidXRlcyBhcmUgd3JpdGFibGUu +PC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25l +IiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBY2Nlc3NMZXZl +bCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQXJyYXlEaW1l +bnNpb25zIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCcm93 +c2VOYW1lIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDb250 +YWluc05vTG9vcHMiIFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 +IkRhdGFUeXBlIiBWYWx1ZT0iMTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i +RGVzY3JpcHRpb24iIFZhbHVlPSIzMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l +PSJEaXNwbGF5TmFtZSIgVmFsdWU9IjY0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h +bWU9IkV2ZW50Tm90aWZpZXIiIFZhbHVlPSIxMjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs +dWUgTmFtZT0iRXhlY3V0YWJsZSIgVmFsdWU9IjI1NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJIaXN0b3JpemluZyIgVmFsdWU9IjUxMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0 +ZWRWYWx1ZSBOYW1lPSJJbnZlcnNlTmFtZSIgVmFsdWU9IjEwMjQiIC8+DQogICAgPG9wYzpFbnVt +ZXJhdGVkVmFsdWUgTmFtZT0iSXNBYnN0cmFjdCIgVmFsdWU9IjIwNDgiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iTWluaW11bVNhbXBsaW5nSW50ZXJ2YWwiIFZhbHVlPSI0MDk2 +IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vZGVDbGFzcyIgVmFsdWU9Ijgx +OTIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9kZUlkIiBWYWx1ZT0iMTYz +ODQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3ltbWV0cmljIiBWYWx1ZT0i +MzI3NjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVXNlckFjY2Vzc0xldmVs +IiBWYWx1ZT0iNjU1MzYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVXNlckV4 +ZWN1dGFibGUiIFZhbHVlPSIxMzEwNzIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt +ZT0iVXNlcldyaXRlTWFzayIgVmFsdWU9IjI2MjE0NCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJWYWx1ZVJhbmsiIFZhbHVlPSI1MjQyODgiIC8+DQogICAgPG9wYzpFbnVtZXJh +dGVkVmFsdWUgTmFtZT0iV3JpdGVNYXNrIiBWYWx1ZT0iMTA0ODU3NiIgLz4NCiAgICA8b3BjOkVu +dW1lcmF0ZWRWYWx1ZSBOYW1lPSJWYWx1ZUZvclZhcmlhYmxlVHlwZSIgVmFsdWU9IjIwOTcxNTIi +IC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFt +ZT0iQnJvd3NlRGlyZWN0aW9uIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50 +YXRpb24+VGhlIGRpcmVjdGlvbnMgb2YgdGhlIHJlZmVyZW5jZXMgdG8gcmV0dXJuLjwvb3BjOkRv +Y3VtZW50YXRpb24+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRm9yd2FyZCIgVmFs +dWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW52ZXJzZSIgVmFsdWU9 +IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQm90aCIgVmFsdWU9IjIiIC8+ +DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW52YWxpZCIgVmFsdWU9IjMiIC8+DQog +IDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVmll +d0Rlc2NyaXB0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRv +Y3VtZW50YXRpb24+VGhlIHZpZXcgdG8gYnJvd3NlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJWaWV3SWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJUaW1lc3RhbXAiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJWaWV3VmVyc2lvbiIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJv +d3NlRGVzY3JpcHRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 +RG9jdW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8gYnJvd3NlIHRoZSB0aGUgcmVmZXJlbmNlcyBmcm9t +IGEgbm9kZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlk +IiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlRGly +ZWN0aW9uIiBUeXBlTmFtZT0idG5zOkJyb3dzZURpcmVjdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IkluY2x1ZGVTdWJ0eXBlcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNsYXNzTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQz +MiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBO +YW1lPSJCcm93c2VSZXN1bHRNYXNrIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3Vt +ZW50YXRpb24+QSBiaXQgbWFzayB3aGljaCBzcGVjaWZpZXMgd2hhdCBzaG91bGQgYmUgcmV0dXJu +ZWQgaW4gYSBicm93c2UgcmVzcG9uc2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkVu +dW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25lIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0 +ZWRWYWx1ZSBOYW1lPSJSZWZlcmVuY2VUeXBlSWQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IklzRm9yd2FyZCIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVt +ZXJhdGVkVmFsdWUgTmFtZT0iTm9kZUNsYXNzIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1l +cmF0ZWRWYWx1ZSBOYW1lPSJCcm93c2VOYW1lIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1l +cmF0ZWRWYWx1ZSBOYW1lPSJEaXNwbGF5TmFtZSIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IlR5cGVEZWZpbml0aW9uIiBWYWx1ZT0iMzIiIC8+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQWxsIiBWYWx1ZT0iNjMiIC8+DQogICAgPG9wYzpFbnVt +ZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlVHlwZUluZm8iIFZhbHVlPSIzIiAvPg0KICAgIDxv +cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlRhcmdldEluZm8iIFZhbHVlPSI2MCIgLz4NCiAgPC9v +cGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWZlcmVu +Y2VEZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpE +b2N1bWVudGF0aW9uPlRoZSBkZXNjcmlwdGlvbiBvZiBhIHJlZmVyZW5jZS48L29wYzpEb2N1bWVu +dGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0i +dWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNGb3J3YXJkIiBUeXBlTmFtZT0i +b3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1 +YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5hbWUiIFR5 +cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxh +eU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlR5cGVEZWZpbml0aW9uIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJDb250aW51 +YXRpb25Qb2ludCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkFuIGlkZW50aWZpZXIgZm9yIGEg +c3VzcGVuZGVkIHF1ZXJ5IG9yIGJyb3dzZSBvcGVyYXRpb24uPC9vcGM6RG9jdW1lbnRhdGlvbj4N +CiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb3dz +ZVJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVu +dGF0aW9uPlRoZSByZXN1bHQgb2YgYSBicm93c2Ugb3BlcmF0aW9uLjwvb3BjOkRvY3VtZW50YXRp +b24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVz +Q29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiBUeXBlTmFt +ZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNl +cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5j +ZXMiIFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlRGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09m +UmVmZXJlbmNlcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 +cmVkVHlwZSBOYW1lPSJCcm93c2VSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QnJvd3NlIHRoZSByZWZlcmVuY2VzIGZvciBvbmUg +b3IgbW9yZSBub2RlcyBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVu +dGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRu +czpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmlldyIgVHlwZU5hbWU9 +InRuczpWaWV3RGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRN +YXhSZWZlcmVuY2VzUGVyTm9kZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJOb09mTm9kZXNUb0Jyb3dzZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVzVG9Ccm93c2UiIFR5cGVOYW1lPSJ0bnM6QnJvd3NlRGVz +Y3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mTm9kZXNUb0Jyb3dzZSIgLz4NCiAgPC9vcGM6U3Ry +dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm93c2VSZXNwb25z +ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u +PkJyb3dzZSB0aGUgcmVmZXJlbmNlcyBmb3Igb25lIG9yIG1vcmUgbm9kZXMgZnJvbSB0aGUgc2Vy +dmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idG5zOkJyb3dzZVJlc3VsdCIg +TGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRp +YWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhG +aWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm93c2VOZXh0UmVxdWVzdCIgQmFzZVR5cGU9 +InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkNvbnRpbnVlcyBv +bmUgb3IgbW9yZSBicm93c2Ugb3BlcmF0aW9ucy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVsZWFzZUNvbnRpbnVhdGlvblBvaW50cyIgVHlw +ZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkNvbnRpbnVh +dGlvblBvaW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkNvbnRpbnVhdGlvblBvaW50cyIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiBMZW5ndGhGaWVs +ZD0iTm9PZkNvbnRpbnVhdGlvblBvaW50cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm93c2VOZXh0UmVzcG9uc2UiIEJhc2VUeXBl +PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5Db250aW51ZXMg +b25lIG9yIG1vcmUgYnJvd3NlIG9wZXJhdGlvbnMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVh +ZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6 +SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idG5zOkJy +b3dzZVJlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJ +bmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0 +dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWxhdGl2ZVBhdGhFbGVt +ZW50IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRp +b24+QW4gZWxlbWVudCBpbiBhIHJlbGF0aXZlIHBhdGguPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzSW52ZXJzZSIgVHlwZU5hbWU9Im9wYzpCb29sZWFu +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5jbHVkZVN1YnR5cGVzIiBUeXBlTmFtZT0ib3Bj +OkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUYXJnZXROYW1lIiBUeXBlTmFtZT0i +dWE6UXVhbGlmaWVkTmFtZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT +dHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWxhdGl2ZVBhdGgiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P +YmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHJlbGF0aXZlIHBhdGggY29uc3RydWN0 +ZWQgZnJvbSByZWZlcmVuY2UgdHlwZXMgYW5kIGJyb3dzZSBuYW1lcy48L29wYzpEb2N1bWVudGF0 +aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkVsZW1lbnRzIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRWxlbWVudHMiIFR5cGVOYW1lPSJ0bnM6UmVs +YXRpdmVQYXRoRWxlbWVudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZFbGVtZW50cyIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm93c2VQYXRo +IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+ +QSByZXF1ZXN0IHRvIHRyYW5zbGF0ZSBhIHBhdGggaW50byBhIG5vZGUgaWQuPC9vcGM6RG9jdW1l +bnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXJ0aW5nTm9kZSIgVHlwZU5hbWU9InVh +Ok5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlbGF0aXZlUGF0aCIgVHlwZU5hbWU9 +InRuczpSZWxhdGl2ZVBhdGgiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJvd3NlUGF0aFRhcmdldCIgQmFzZVR5cGU9InVhOkV4dGVu +c2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSB0YXJnZXQgb2YgdGhlIHRy +YW5zbGF0ZWQgcGF0aC48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +VGFyZ2V0SWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlJlbWFpbmluZ1BhdGhJbmRleCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwv +b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJvd3Nl +UGF0aFJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1 +bWVudGF0aW9uPlRoZSByZXN1bHQgb2YgYSB0cmFuc2xhdGUgb3BlYXJhdGlvbi48L29wYzpEb2N1 +bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVh +OlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVGFyZ2V0cyIgVHlwZU5h +bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldHMiIFR5cGVOYW1l +PSJ0bnM6QnJvd3NlUGF0aFRhcmdldCIgTGVuZ3RoRmllbGQ9Ik5vT2ZUYXJnZXRzIiAvPg0KICA8 +L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRyYW5z +bGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRyYW5zbGF0ZXMgb25lIG9yIG1vcmUgcGF0 +aHMgaW4gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFk +ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQnJvd3NlUGF0aHMiIFR5cGVOYW1lPSJv +cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VQYXRocyIgVHlwZU5hbWU9 +InRuczpCcm93c2VQYXRoIiBMZW5ndGhGaWVsZD0iTm9PZkJyb3dzZVBhdGhzIiAvPg0KICA8L29w +YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRyYW5zbGF0 +ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl +Y3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UcmFuc2xhdGVzIG9uZSBvciBtb3JlIHBhdGhz +IGluIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFk +ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJ +bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6QnJv +d3NlUGF0aFJlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0 +aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3Ry +dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWdpc3Rlck5vZGVz +UmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVu +dGF0aW9uPlJlZ2lzdGVycyBvbmUgb3IgbW9yZSBub2RlcyBmb3IgcmVwZWF0ZWQgdXNlIHdpdGhp +biBhIHNlc3Npb24uPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl +cXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vT2ZOb2Rlc1RvUmVnaXN0ZXIiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rlc1RvUmVnaXN0ZXIiIFR5cGVOYW1lPSJ1YTpOb2RlSWQi +IExlbmd0aEZpZWxkPSJOb09mTm9kZXNUb1JlZ2lzdGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk +VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlZ2lzdGVyTm9kZXNSZXNwb25z +ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u +PlJlZ2lzdGVycyBvbmUgb3IgbW9yZSBub2RlcyBmb3IgcmVwZWF0ZWQgdXNlIHdpdGhpbiBhIHNl +c3Npb24uPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNl +SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTm9PZlJlZ2lzdGVyZWROb2RlSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iUmVnaXN0ZXJlZE5vZGVJZHMiIFR5cGVOYW1lPSJ1YTpOb2RlSWQi +IExlbmd0aEZpZWxkPSJOb09mUmVnaXN0ZXJlZE5vZGVJZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVW5yZWdpc3Rlck5vZGVzUmVx +dWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0 +aW9uPlVucmVnaXN0ZXJzIG9uZSBvciBtb3JlIHByZXZpb3VzbHkgcmVnaXN0ZXJlZCBub2Rlcy48 +L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIg +VHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P +Zk5vZGVzVG9VbnJlZ2lzdGVyIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9kZXNUb1VucmVnaXN0ZXIiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIExlbmd0aEZp +ZWxkPSJOb09mTm9kZXNUb1VucmVnaXN0ZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K +DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVW5yZWdpc3Rlck5vZGVzUmVzcG9uc2UiIEJh +c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5VbnJl +Z2lzdGVycyBvbmUgb3IgbW9yZSBwcmV2aW91c2x5IHJlZ2lzdGVyZWQgbm9kZXMuPC9vcGM6RG9j +dW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFt +ZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 +b3BjOk9wYXF1ZVR5cGUgTmFtZT0iQ291bnRlciI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEg +bW9ub3RvbmljYWxseSBpbmNyZWFzaW5nIHZhbHVlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwv +b3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9Ik51bWVyaWNSYW5nZSI+ +DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlNwZWNpZmllcyBhIHJhbmdlIG9mIGFycmF5IGluZGV4 +ZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9w +YXF1ZVR5cGUgTmFtZT0iVGltZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgdGltZSB2YWx1 +ZSBzcGVjaWZpZWQgYXMgSEg6TU06U1MuU1NTLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3Bj +Ok9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkRhdGUiPg0KICAgIDxvcGM6 +RG9jdW1lbnRhdGlvbj5BIGRhdGUgdmFsdWUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6 +T3BhcXVlVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkVuZHBvaW50Q29uZmln +dXJhdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJPcGVyYXRpb25UaW1lb3V0IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iVXNlQmluYXJ5RW5jb2RpbmciIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heFN0cmluZ0xlbmd0aCIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heEJ5dGVTdHJpbmdMZW5ndGgiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhBcnJheUxlbmd0aCIgVHlw +ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heE1lc3NhZ2VTaXpl +IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4QnVmZmVy +U2l6ZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNoYW5u +ZWxMaWZldGltZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlNlY3VyaXR5VG9rZW5MaWZldGltZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJRdWVyeURhdGFE +ZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZWxhdGl2ZVBhdGgiIFR5cGVOYW1lPSJ0bnM6UmVsYXRpdmVQYXRoIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iQXR0cmlidXRlSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iSW5kZXhSYW5nZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+ +DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i +Tm9kZVR5cGVEZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJUeXBlRGVmaW5pdGlvbk5vZGUiIFR5cGVOYW1lPSJ1YTpFeHBhbmRl +ZE5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkluY2x1ZGVTdWJUeXBlcyIgVHlwZU5h +bWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRhdGFUb1JldHVy +biIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFUb1Jl +dHVybiIgVHlwZU5hbWU9InRuczpRdWVyeURhdGFEZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5v +T2ZEYXRhVG9SZXR1cm4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51 +bWVyYXRlZFR5cGUgTmFtZT0iRmlsdGVyT3BlcmF0b3IiIExlbmd0aEluQml0cz0iMzIiPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkVxdWFscyIgVmFsdWU9IjAiIC8+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNOdWxsIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVu +dW1lcmF0ZWRWYWx1ZSBOYW1lPSJHcmVhdGVyVGhhbiIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iTGVzc1RoYW4iIFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IkdyZWF0ZXJUaGFuT3JFcXVhbCIgVmFsdWU9IjQiIC8+DQogICAg +PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTGVzc1RoYW5PckVxdWFsIiBWYWx1ZT0iNSIgLz4N +CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJMaWtlIiBWYWx1ZT0iNiIgLz4NCiAgICA8 +b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb3QiIFZhbHVlPSI3IiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IkJldHdlZW4iIFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6RW51bWVy +YXRlZFZhbHVlIE5hbWU9IkluTGlzdCIgVmFsdWU9IjkiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk +VmFsdWUgTmFtZT0iQW5kIiBWYWx1ZT0iMTAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg +TmFtZT0iT3IiIFZhbHVlPSIxMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJD +YXN0IiBWYWx1ZT0iMTIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW5WaWV3 +IiBWYWx1ZT0iMTMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iT2ZUeXBlIiBW +YWx1ZT0iMTQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVsYXRlZFRvIiBW +YWx1ZT0iMTUiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQml0d2lzZUFuZCIg +VmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJpdHdpc2VPciIg +VmFsdWU9IjE3IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy +ZWRUeXBlIE5hbWU9IlF1ZXJ5RGF0YVNldCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJ +ZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlR5cGVEZWZpbml0aW9uTm9kZSIgVHlwZU5hbWU9 +InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlZhbHVlcyIg +VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlcyIgVHlw +ZU5hbWU9InVhOlZhcmlhbnQiIExlbmd0aEZpZWxkPSJOb09mVmFsdWVzIiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik5vZGVSZWZlcmVu +Y2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +Tm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVm +ZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iSXNGb3J3YXJkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJOb09mUmVmZXJlbmNlZE5vZGVJZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VkTm9kZUlkcyIgVHlwZU5hbWU9InVhOk5vZGVJZCIg +TGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2VkTm9kZUlkcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl +ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDb250ZW50RmlsdGVyRWxlbWVu +dCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJG +aWx0ZXJPcGVyYXRvciIgVHlwZU5hbWU9InRuczpGaWx0ZXJPcGVyYXRvciIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vT2ZGaWx0ZXJPcGVyYW5kcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRlck9wZXJhbmRzIiBUeXBlTmFtZT0idWE6RXh0ZW5z +aW9uT2JqZWN0IiBMZW5ndGhGaWVsZD0iTm9PZkZpbHRlck9wZXJhbmRzIiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNvbnRlbnRGaWx0 +ZXIiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +Tm9PZkVsZW1lbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iRWxlbWVudHMiIFR5cGVOYW1lPSJ0bnM6Q29udGVudEZpbHRlckVsZW1lbnQiIExlbmd0aEZp +ZWxkPSJOb09mRWxlbWVudHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iRmlsdGVyT3BlcmFuZCIgQmFzZVR5cGU9InVhOkV4dGVuc2lv +bk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iRWxlbWVudE9wZXJhbmQiIEJhc2VUeXBlPSJ0bnM6RmlsdGVyT3BlcmFuZCI+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJJbmRleCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwv +b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTGl0ZXJh +bE9wZXJhbmQiIEJhc2VUeXBlPSJ0bnM6RmlsdGVyT3BlcmFuZCI+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQXR0cmlidXRlT3BlcmFuZCIgQmFz +ZVR5cGU9InRuczpGaWx0ZXJPcGVyYW5kIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIg +VHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFsaWFzIiBUeXBl +TmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZVBhdGgiIFR5 +cGVOYW1lPSJ0bnM6UmVsYXRpdmVQYXRoIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXR0cmli +dXRlSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5k +ZXhSYW5nZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2ltcGxlQXR0cmlidXRlT3BlcmFuZCIg +QmFzZVR5cGU9InRuczpGaWx0ZXJPcGVyYW5kIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlR5cGVE +ZWZpbml0aW9uSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mQnJvd3NlUGF0aCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkJyb3dzZVBhdGgiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBMZW5ndGhGaWVs +ZD0iTm9PZkJyb3dzZVBhdGgiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdHRyaWJ1dGVJZCIg +VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbmRleFJhbmdl +IiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg +PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIgQmFz +ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXND +b2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v +T2ZPcGVyYW5kU3RhdHVzQ29kZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJPcGVyYW5kU3RhdHVzQ29kZXMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBM +ZW5ndGhGaWVsZD0iTm9PZk9wZXJhbmRTdGF0dXNDb2RlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ik5vT2ZPcGVyYW5kRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iT3BlcmFuZERpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVh +OkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZk9wZXJhbmREaWFnbm9zdGljSW5mb3Mi +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt +ZT0iQ29udGVudEZpbHRlclJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRWxlbWVudFJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbGVtZW50UmVzdWx0cyIgVHlwZU5hbWU9InRu +czpDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZFbGVtZW50UmVz +dWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFbGVtZW50RGlhZ25vc3RpY0luZm9z +IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRWxlbWVudERp +YWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0i +Tm9PZkVsZW1lbnREaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K +DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUGFyc2luZ1Jlc3VsdCIgQmFzZVR5cGU9InVh +OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBl +TmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEYXRhU3Rh +dHVzQ29kZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE +YXRhU3RhdHVzQ29kZXMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9P +ZkRhdGFTdGF0dXNDb2RlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEYXRhRGlhZ25v +c3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +RGF0YURpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhG +aWVsZD0iTm9PZkRhdGFEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUXVlcnlGaXJzdFJlcXVlc3QiIEJhc2VU +eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhl +YWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iVmlldyIgVHlwZU5hbWU9InRuczpWaWV3RGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb09mTm9kZVR5cGVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9kZVR5cGVzIiBUeXBlTmFtZT0idG5zOk5vZGVUeXBlRGVzY3JpcHRpb24i +IExlbmd0aEZpZWxkPSJOb09mTm9kZVR5cGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmls +dGVyIiBUeXBlTmFtZT0idG5zOkNvbnRlbnRGaWx0ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJNYXhEYXRhU2V0c1RvUmV0dXJuIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik1heFJlZmVyZW5jZXNUb1JldHVybiIgVHlwZU5hbWU9Im9wYzpVSW50MzIi +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt +ZT0iUXVlcnlGaXJzdFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNl +SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlF1ZXJ5RGF0YVNldHMiIFR5cGVO +YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJRdWVyeURhdGFTZXRzIiBU +eXBlTmFtZT0idG5zOlF1ZXJ5RGF0YVNldCIgTGVuZ3RoRmllbGQ9Ik5vT2ZRdWVyeURhdGFTZXRz +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29udGludWF0aW9uUG9pbnQiIFR5cGVOYW1lPSJv +cGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZQYXJzaW5nUmVzdWx0 +cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBhcnNpbmdS +ZXN1bHRzIiBUeXBlTmFtZT0idG5zOlBhcnNpbmdSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUGFy +c2luZ1Jlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9z +IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3Rp +Y0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlh +Z25vc3RpY0luZm9zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmlsdGVyUmVzdWx0IiBUeXBl +TmFtZT0idG5zOkNvbnRlbnRGaWx0ZXJSZXN1bHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUXVlcnlOZXh0UmVxdWVzdCIgQmFzZVR5 +cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVh +ZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJSZWxlYXNlQ29udGludWF0aW9uUG9pbnQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiBUeXBlTmFtZT0ib3BjOkJ5dGVT +dHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iUXVlcnlOZXh0UmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVz +cG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUXVlcnlEYXRhU2V0cyIg +VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlF1ZXJ5RGF0YVNl +dHMiIFR5cGVOYW1lPSJ0bnM6UXVlcnlEYXRhU2V0IiBMZW5ndGhGaWVsZD0iTm9PZlF1ZXJ5RGF0 +YVNldHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkQ29udGludWF0aW9uUG9pbnQi +IFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iIExlbmd0aElu +Qml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNvdXJjZSIgVmFsdWU9 +IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU2VydmVyIiBWYWx1ZT0iMSIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCb3RoIiBWYWx1ZT0iMiIgLz4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOZWl0aGVyIiBWYWx1ZT0iMyIgLz4NCiAgICA8 +b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnZhbGlkIiBWYWx1ZT0iNCIgLz4NCiAgPC9vcGM6 +RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWFkVmFsdWVJ +ZCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO +b2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdHRy +aWJ1dGVJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJ +bmRleFJhbmdlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkRhdGFFbmNvZGluZyIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIC8+DQogIDwvb3BjOlN0 +cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVhZFJlcXVlc3Qi +IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVx +dWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTWF4QWdlIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlRpbWVzdGFtcHNUb1JldHVybiIgVHlwZU5hbWU9InRuczpUaW1lc3RhbXBzVG9SZXR1 +cm4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTm9kZXNUb1JlYWQiIFR5cGVOYW1lPSJv +cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rlc1RvUmVhZCIgVHlwZU5hbWU9 +InRuczpSZWFkVmFsdWVJZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvUmVhZCIgLz4NCiAgPC9v +cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWFkUmVz +cG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpEYXRhVmFsdWUiIExlbmd0 +aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9z +dGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE +aWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9 +Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv +cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeVJlYWRWYWx1ZUlkIiBCYXNlVHlwZT0idWE6 +RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9 +InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkluZGV4UmFuZ2UiIFR5cGVOYW1l +PSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YUVuY29kaW5nIiBUeXBl +TmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbnRpbnVh +dGlvblBvaW50IiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeVJlYWRSZXN1bHQi +IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Rh +dHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJDb250aW51YXRpb25Qb2ludCIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iSGlzdG9yeURhdGEiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3Qi +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt +ZT0iSGlzdG9yeVJlYWREZXRhaWxzIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg +PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWFk +RXZlbnREZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyI+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOdW1WYWx1ZXNQZXJOb2RlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXJ0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXIiIFR5cGVOYW1lPSJ0bnM6RXZlbnRGaWx0 +ZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iUmVhZFJhd01vZGlmaWVkRGV0YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5UmVhZERl +dGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNSZWFkTW9kaWZpZWQiIFR5cGVOYW1lPSJv +cGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXJ0VGltZSIgVHlwZU5hbWU9 +Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZFRpbWUiIFR5cGVOYW1l +PSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOdW1WYWx1ZXNQZXJOb2Rl +IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldHVybkJv +dW5kcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N +Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlYWRQcm9jZXNzZWREZXRhaWxzIiBCYXNl +VHlwZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGFy +dFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJF +bmRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +UHJvY2Vzc2luZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vT2ZBZ2dyZWdhdGVUeXBlIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iQWdncmVnYXRlVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgTGVu +Z3RoRmllbGQ9Ik5vT2ZBZ2dyZWdhdGVUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWdn +cmVnYXRlQ29uZmlndXJhdGlvbiIgVHlwZU5hbWU9InRuczpBZ2dyZWdhdGVDb25maWd1cmF0aW9u +IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9IlJlYWRBdFRpbWVEZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyI+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVxVGltZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXFUaW1lcyIgVHlwZU5hbWU9Im9wYzpEYXRlVGlt +ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXFUaW1lcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVz +ZVNpbXBsZUJvdW5kcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlEYXRhIiBCYXNl +VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEYXRh +VmFsdWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0 +YVZhbHVlcyIgVHlwZU5hbWU9InVhOkRhdGFWYWx1ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZEYXRhVmFs +dWVzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl +IE5hbWU9Ik1vZGlmaWNhdGlvbkluZm8iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iTW9kaWZpY2F0aW9uVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRl +VGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVwZGF0ZVR5cGUiIFR5cGVOYW1lPSJ0bnM6 +SGlzdG9yeVVwZGF0ZVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyTmFtZSIgVHlw +ZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeU1vZGlmaWVkRGF0YSIgQmFzZVR5cGU9InRuczpI +aXN0b3J5RGF0YSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGF0YVZhbHVlcyIgVHlwZU5h +bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFWYWx1ZXMiIFR5cGVO +YW1lPSJ1YTpEYXRhVmFsdWUiIExlbmd0aEZpZWxkPSJOb09mRGF0YVZhbHVlcyIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik5vT2ZNb2RpZmljYXRpb25JbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vZGlmaWNhdGlvbkluZm9zIiBUeXBlTmFtZT0i +dG5zOk1vZGlmaWNhdGlvbkluZm8iIExlbmd0aEZpZWxkPSJOb09mTW9kaWZpY2F0aW9uSW5mb3Mi +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt +ZT0iSGlzdG9yeUV2ZW50IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vT2ZFdmVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJFdmVudHMiIFR5cGVOYW1lPSJ0bnM6SGlzdG9yeUV2ZW50RmllbGRMaXN0 +IiBMZW5ndGhGaWVsZD0iTm9PZkV2ZW50cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5UmVhZFJlcXVlc3QiIEJhc2VUeXBl +PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRl +ciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +SGlzdG9yeVJlYWREZXRhaWxzIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiBUeXBlTmFtZT0idG5zOlRpbWVz +dGFtcHNUb1JldHVybiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlbGVhc2VDb250aW51YXRp +b25Qb2ludHMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5vT2ZOb2Rlc1RvUmVhZCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vZGVzVG9SZWFkIiBUeXBlTmFtZT0idG5zOkhpc3RvcnlSZWFkVmFsdWVJZCIgTGVu +Z3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvUmVhZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5UmVhZFJlc3BvbnNlIiBCYXNlVHlw +ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVh +ZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idG5zOkhpc3RvcnlSZWFkUmVzdWx0IiBMZW5ndGhGaWVs +ZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0lu +Zm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25v +c3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09m +RGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9IldyaXRlVmFsdWUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl +Y3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXR0cmlidXRlSWQiIFR5cGVOYW1lPSJvcGM6VUludDMy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5kZXhSYW5nZSIgVHlwZU5hbWU9Im9wYzpTdHJp +bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOkRhdGFWYWx1 +ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO +YW1lPSJXcml0ZVJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVzVG9Xcml0ZSIgVHlwZU5hbWU9Im9w +YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVzVG9Xcml0ZSIgVHlwZU5hbWU9 +InRuczpXcml0ZVZhbHVlIiBMZW5ndGhGaWVsZD0iTm9PZk5vZGVzVG9Xcml0ZSIgLz4NCiAgPC9v +cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJXcml0ZVJl +c3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVu +Z3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdu +b3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVs +ZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg +PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5VXBkYXRlRGV0YWlscyIgQmFzZVR5cGU9 +InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVO +YW1lPSJ1YTpOb2RlSWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51 +bWVyYXRlZFR5cGUgTmFtZT0iSGlzdG9yeVVwZGF0ZVR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikluc2VydCIgVmFsdWU9IjEiIC8+DQogICAg +PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVwbGFjZSIgVmFsdWU9IjIiIC8+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVXBkYXRlIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVu +dW1lcmF0ZWRWYWx1ZSBOYW1lPSJEZWxldGUiIFZhbHVlPSI0IiAvPg0KICA8L29wYzpFbnVtZXJh +dGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlBlcmZvcm1VcGRhdGVUeXBl +IiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnNl +cnQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlcGxhY2Ui +IFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVwZGF0ZSIgVmFs +dWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVtb3ZlIiBWYWx1ZT0i +NCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO +YW1lPSJVcGRhdGVEYXRhRGV0YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0YWls +cyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNv +dXJjZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlBlcmZvcm1JbnNlcnRSZXBsYWNlIiBUeXBlTmFtZT0idG5zOlBlcmZvcm1VcGRhdGVUeXBl +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlVwZGF0ZVZhbHVlcyIgVHlwZU5hbWU9Im9w +YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVwZGF0ZVZhbHVlcyIgVHlwZU5hbWU9 +InVhOkRhdGFWYWx1ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZVcGRhdGVWYWx1ZXMiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVXBkYXRlU3Ry +dWN0dXJlRGF0YURldGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VU +eXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQ +ZXJmb3JtSW5zZXJ0UmVwbGFjZSIgVHlwZU5hbWU9InRuczpQZXJmb3JtVXBkYXRlVHlwZSIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZVcGRhdGVWYWx1ZXMiIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVcGRhdGVWYWx1ZXMiIFR5cGVOYW1lPSJ1YTpE +YXRhVmFsdWUiIExlbmd0aEZpZWxkPSJOb09mVXBkYXRlVmFsdWVzIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlVwZGF0ZUV2ZW50RGV0 +YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpIaXN0 +b3J5VXBkYXRlRGV0YWlscyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBlcmZvcm1JbnNlcnRS +ZXBsYWNlIiBUeXBlTmFtZT0idG5zOlBlcmZvcm1VcGRhdGVUeXBlIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iRmlsdGVyIiBUeXBlTmFtZT0idG5zOkV2ZW50RmlsdGVyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9PZkV2ZW50RGF0YSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkV2ZW50RGF0YSIgVHlwZU5hbWU9InRuczpIaXN0b3J5RXZlbnRGaWVs +ZExpc3QiIExlbmd0aEZpZWxkPSJOb09mRXZlbnREYXRhIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk +VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZVJhd01vZGlmaWVkRGV0 +YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpIaXN0 +b3J5VXBkYXRlRGV0YWlscyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzRGVsZXRlTW9kaWZp +ZWQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXJ0 +VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVu +ZFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlQXRUaW1lRGV0YWlscyIgQmFz +ZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO +b2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpIaXN0b3J5VXBkYXRl +RGV0YWlscyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXFUaW1lcyIgVHlwZU5hbWU9 +Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcVRpbWVzIiBUeXBlTmFtZT0i +b3BjOkRhdGVUaW1lIiBMZW5ndGhGaWVsZD0iTm9PZlJlcVRpbWVzIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZUV2ZW50RGV0 +YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpIaXN0 +b3J5VXBkYXRlRGV0YWlscyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFdmVudElkcyIg +VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50SWRzIiBU +eXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mRXZlbnRJZHMiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlz +dG9yeVVwZGF0ZVJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZPcGVyYXRpb25SZXN1bHRzIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iT3BlcmF0aW9uUmVzdWx0cyIgVHlwZU5hbWU9 +InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mT3BlcmF0aW9uUmVzdWx0cyIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1 +YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlz +dG9yeVVwZGF0ZVJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkhpc3RvcnlVcGRhdGVEZXRhaWxzIiBUeXBl +TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSGlzdG9yeVVwZGF0ZURl +dGFpbHMiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIExlbmd0aEZpZWxkPSJOb09mSGlz +dG9yeVVwZGF0ZURldGFpbHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3BvbnNlIiBCYXNlVHlwZT0idWE6 +RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBU +eXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P +ZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS +ZXN1bHRzIiBUeXBlTmFtZT0idG5zOkhpc3RvcnlVcGRhdGVSZXN1bHQiIExlbmd0aEZpZWxkPSJO +b09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3Mi +IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGlj +SW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFn +bm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 +dXJlZFR5cGUgTmFtZT0iQ2FsbE1ldGhvZFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P +YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iT2JqZWN0SWQiIFR5cGVOYW1lPSJ1YTpOb2Rl +SWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXRob2RJZCIgVHlwZU5hbWU9InVhOk5vZGVJ +ZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZJbnB1dEFyZ3VtZW50cyIgVHlwZU5hbWU9 +Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklucHV0QXJndW1lbnRzIiBUeXBl +TmFtZT0idWE6VmFyaWFudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZJbnB1dEFyZ3VtZW50cyIgLz4NCiAg +PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDYWxs +TWV0aG9kUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTm9PZklucHV0QXJndW1lbnRSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5wdXRBcmd1bWVudFJlc3VsdHMiIFR5cGVO +YW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZklucHV0QXJndW1lbnRSZXN1bHRz +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZklucHV0QXJndW1lbnREaWFnbm9zdGljSW5m +b3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbnB1dEFy +Z3VtZW50RGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0 +aEZpZWxkPSJOb09mSW5wdXRBcmd1bWVudERpYWdub3N0aWNJbmZvcyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vT2ZPdXRwdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJPdXRwdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJ1YTpWYXJpYW50 +IiBMZW5ndGhGaWVsZD0iTm9PZk91dHB1dEFyZ3VtZW50cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl +ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDYWxsUmVxdWVzdCIgQmFzZVR5 +cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVh +ZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mTWV0aG9kc1RvQ2FsbCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik1ldGhvZHNUb0NhbGwiIFR5cGVOYW1lPSJ0bnM6Q2FsbE1ldGhvZFJlcXVlc3Qi +IExlbmd0aEZpZWxkPSJOb09mTWV0aG9kc1RvQ2FsbCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 +cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDYWxsUmVzcG9uc2UiIEJhc2VUeXBl +PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFk +ZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6Q2FsbE1ldGhvZFJlc3VsdCIgTGVuZ3RoRmllbGQ9 +Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZv +cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0 +aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRp +YWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVt +ZXJhdGVkVHlwZSBOYW1lPSJNb25pdG9yaW5nTW9kZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAg +PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGlzYWJsZWQiIFZhbHVlPSIwIiAvPg0KICAgIDxv +cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNhbXBsaW5nIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3Bj +OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZXBvcnRpbmciIFZhbHVlPSIyIiAvPg0KICA8L29wYzpF +bnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkRhdGFDaGFuZ2VU +cmlnZ2VyIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l +PSJTdGF0dXMiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN0 +YXR1c1ZhbHVlIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJT +dGF0dXNWYWx1ZVRpbWVzdGFtcCIgVmFsdWU9IjIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBl +Pg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRGVhZGJhbmRUeXBlIiBMZW5ndGhJbkJp +dHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25lIiBWYWx1ZT0iMCIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBYnNvbHV0ZSIgVmFsdWU9IjEiIC8+ +DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUGVyY2VudCIgVmFsdWU9IjIiIC8+DQog +IDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9u +aXRvcmluZ0ZpbHRlciIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0 +cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGF0YUNoYW5nZUZp +bHRlciIgQmFzZVR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVyIj4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlRyaWdnZXIiIFR5cGVOYW1lPSJ0bnM6RGF0YUNoYW5nZVRyaWdnZXIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJEZWFkYmFuZFR5cGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iRGVhZGJhbmRWYWx1ZSIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+ +DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i +RXZlbnRGaWx0ZXIiIEJhc2VUeXBlPSJ0bnM6TW9uaXRvcmluZ0ZpbHRlciI+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJOb09mU2VsZWN0Q2xhdXNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlNlbGVjdENsYXVzZXMiIFR5cGVOYW1lPSJ0bnM6U2ltcGxlQXR0 +cmlidXRlT3BlcmFuZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZWxlY3RDbGF1c2VzIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iV2hlcmVDbGF1c2UiIFR5cGVOYW1lPSJ0bnM6Q29udGVudEZpbHRlciIg +Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l +PSJBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZVNlcnZlckNhcGFiaWxpdGllc0RlZmF1bHRzIiBUeXBl +TmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmVhdFVuY2VydGFp +bkFzQmFkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQ +ZXJjZW50RGF0YUJhZCIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iUGVyY2VudERhdGFHb29kIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJVc2VTbG9wZWRFeHRyYXBvbGF0aW9uIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+ +DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i +QWdncmVnYXRlRmlsdGVyIiBCYXNlVHlwZT0idG5zOk1vbml0b3JpbmdGaWx0ZXIiPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iU3RhcnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iQWdncmVnYXRlVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlByb2Nlc3NpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpE +b3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBU +eXBlTmFtZT0idG5zOkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9uaXRvcmluZ0ZpbHRlclJl +c3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRXZlbnRGaWx0ZXJSZXN1bHQiIEJh +c2VUeXBlPSJ0bnM6TW9uaXRvcmluZ0ZpbHRlclJlc3VsdCI+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mU2VsZWN0Q2xhdXNlUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlNlbGVjdENsYXVzZVJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXND +b2RlIiBMZW5ndGhGaWVsZD0iTm9PZlNlbGVjdENsYXVzZVJlc3VsdHMiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJOb09mU2VsZWN0Q2xhdXNlRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3Bj +OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VsZWN0Q2xhdXNlRGlhZ25vc3RpY0lu +Zm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mU2VsZWN0 +Q2xhdXNlRGlhZ25vc3RpY0luZm9zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV2hlcmVDbGF1 +c2VSZXN1bHQiIFR5cGVOYW1lPSJ0bnM6Q29udGVudEZpbHRlclJlc3VsdCIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBZ2dyZWdhdGVG +aWx0ZXJSZXN1bHQiIEJhc2VUeXBlPSJ0bnM6TW9uaXRvcmluZ0ZpbHRlclJlc3VsdCI+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkU3RhcnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1l +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZFByb2Nlc3NpbmdJbnRlcnZhbCIgVHlw +ZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkQWdncmVn +YXRlQ29uZmlndXJhdGlvbiIgVHlwZU5hbWU9InRuczpBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiAv +Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 +Ik1vbml0b3JpbmdQYXJhbWV0ZXJzIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudEhhbmRsZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTYW1wbGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRv +dWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRlciIgVHlwZU5hbWU9InVhOkV4dGVu +c2lvbk9iamVjdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlF1ZXVlU2l6ZSIgVHlwZU5hbWU9 +Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNjYXJkT2xkZXN0IiBUeXBl +TmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIEJhc2VUeXBl +PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXRlbVRvTW9uaXRv +ciIgVHlwZU5hbWU9InRuczpSZWFkVmFsdWVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1v +bml0b3JpbmdNb2RlIiBUeXBlTmFtZT0idG5zOk1vbml0b3JpbmdNb2RlIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iUmVxdWVzdGVkUGFyYW1ldGVycyIgVHlwZU5hbWU9InRuczpNb25pdG9yaW5n +UGFyYW1ldGVycyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 +cmVkVHlwZSBOYW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0 +ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1l +PSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmVkSXRlbUlk +IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRT +YW1wbGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlJldmlzZWRRdWV1ZVNpemUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iRmlsdGVyUmVzdWx0IiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5z +OlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIg +VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lc3RhbXBz +VG9SZXR1cm4iIFR5cGVOYW1lPSJ0bnM6VGltZXN0YW1wc1RvUmV0dXJuIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9PZkl0ZW1zVG9DcmVhdGUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJJdGVtc1RvQ3JlYXRlIiBUeXBlTmFtZT0idG5zOk1vbml0b3Jl +ZEl0ZW1DcmVhdGVSZXF1ZXN0IiBMZW5ndGhGaWVsZD0iTm9PZkl0ZW1zVG9DcmVhdGUiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ3Jl +YXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNw +b25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFt +ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9 +InRuczpNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0i +b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBl +TmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9z +IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9Ik1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3JlZEl0ZW1JZCIgVHlwZU5hbWU9Im9w +YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRQYXJhbWV0ZXJzIiBU +eXBlTmFtZT0idG5zOk1vbml0b3JpbmdQYXJhbWV0ZXJzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk +VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vbml0b3JlZEl0ZW1Nb2RpZnlS +ZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZXZpc2VkU2FtcGxpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkUXVldWVTaXplIiBUeXBlTmFtZT0ib3BjOlVJ +bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRlclJlc3VsdCIgVHlwZU5hbWU9InVh +OkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT +dHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb2RpZnlNb25pdG9yZWRJdGVtc1JlcXVlc3QiIEJhc2VUeXBl +PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRl +ciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +U3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiBUeXBlTmFtZT0idG5zOlRpbWVzdGFtcHNUb1JldHVy +biIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZJdGVtc1RvTW9kaWZ5IiBUeXBlTmFtZT0i +b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXRlbXNUb01vZGlmeSIgVHlwZU5h +bWU9InRuczpNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZJdGVt +c1RvTW9kaWZ5IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy +ZWRUeXBlIE5hbWU9Ik1vZGlmeU1vbml0b3JlZEl0ZW1zUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpF +eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5 +cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m +UmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl +c3VsdHMiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCIgTGVuZ3RoRmll +bGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJ +bmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdu +b3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9P +ZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT +dHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXRNb25pdG9yaW5nTW9kZVJlcXVlc3QiIEJhc2VUeXBlPSJ1 +YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIg +VHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vi +c2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTW9uaXRvcmluZ01vZGUiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmluZ01vZGUiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJOb09mTW9uaXRvcmVkSXRlbUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3JlZEl0ZW1JZHMiIFR5cGVOYW1lPSJv +cGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZk1vbml0b3JlZEl0ZW1JZHMiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2V0TW9uaXRv +cmluZ01vZGVSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRl +ciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1 +c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIg +TGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2V0VHJpZ2dlcmluZ1JlcXVlc3Qi +IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVx +dWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iU3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iVHJpZ2dlcmluZ0l0ZW1JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTGlua3NUb0FkZCIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxpbmtzVG9BZGQiIFR5cGVOYW1lPSJvcGM6VUlu +dDMyIiBMZW5ndGhGaWVsZD0iTm9PZkxpbmtzVG9BZGQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mTGlua3NUb1JlbW92ZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkxpbmtzVG9SZW1vdmUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVs +ZD0iTm9PZkxpbmtzVG9SZW1vdmUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv +cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2V0VHJpZ2dlcmluZ1Jlc3BvbnNlIiBCYXNlVHlwZT0i +dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVy +IiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +Tm9PZkFkZFJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJBZGRSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5v +T2ZBZGRSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkFkZERpYWdub3N0aWNJ +bmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFkZERp +YWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0i +Tm9PZkFkZERpYWdub3N0aWNJbmZvcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZW1v +dmVSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +UmVtb3ZlUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09m +UmVtb3ZlUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZW1vdmVEaWFnbm9z +dGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS +ZW1vdmVEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3Ro +RmllbGQ9Ik5vT2ZSZW1vdmVEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlTW9uaXRvcmVkSXRlbXNS +ZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZNb25pdG9yZWRJdGVtSWRzIiBUeXBlTmFtZT0ib3Bj +OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmVkSXRlbUlkcyIgVHlwZU5h +bWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mTW9uaXRvcmVkSXRlbUlkcyIgLz4NCiAg +PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxl +dGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3Bv +bnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0i +dWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0 +aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3Ry +dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDcmVhdGVTdWJzY3Jp +cHRpb25SZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbCIgVHlwZU5h +bWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRMaWZldGlt +ZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl +cXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoIiBUeXBlTmFtZT0ib3Bj +OlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hpbmdFbmFibGVkIiBUeXBl +TmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcmlvcml0eSIgVHlw +ZU5hbWU9Im9wYzpCeXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9IkNyZWF0ZVN1YnNjcmlwdGlvblJlc3BvbnNlIiBCYXNlVHlwZT0i +dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVy +IiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +U3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iUmV2aXNlZFB1Ymxpc2hpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkTGlmZXRpbWVDb3VudCIgVHlwZU5hbWU9Im9w +YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkTWF4S2VlcEFsaXZlQ291 +bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K +ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvblJlcXVlc3QiIEJh +c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVz +dEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iU3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iUmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRv +dWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZExpZmV0aW1lQ291bnQiIFR5 +cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkTWF4 +S2VlcEFsaXZlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2giIFR5cGVOYW1lPSJvcGM6VUludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJpb3JpdHkiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4N +CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJN +b2RpZnlTdWJzY3JpcHRpb25SZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNw +b25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRQdWJsaXNoaW5nSW50 +ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2 +aXNlZExpZmV0aW1lQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iUmV2aXNlZE1heEtlZXBBbGl2ZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg +Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l +PSJTZXRQdWJsaXNoaW5nTW9kZVJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1 +ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaGluZ0VuYWJsZWQiIFR5 +cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTdWJzY3Jp +cHRpb25JZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT +dWJzY3JpcHRpb25JZHMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZlN1 +YnNjcmlwdGlvbklkcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 +Y3R1cmVkVHlwZSBOYW1lPSJTZXRQdWJsaXNoaW5nTW9kZVJlc3BvbnNlIiBCYXNlVHlwZT0idWE6 +RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBU +eXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P +ZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS +ZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRz +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9 +Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlw +ZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZv +cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO +YW1lPSJOb3RpZmljYXRpb25NZXNzYWdlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcXVlbmNlTnVtYmVyIiBUeXBlTmFtZT0ib3BjOlVJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hUaW1lIiBUeXBlTmFtZT0ib3BjOkRh +dGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vdGlmaWNhdGlvbkRhdGEiIFR5 +cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb3RpZmljYXRpb25E +YXRhIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBMZW5ndGhGaWVsZD0iTm9PZk5vdGlm +aWNhdGlvbkRhdGEiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 +dXJlZFR5cGUgTmFtZT0iTm90aWZpY2F0aW9uRGF0YSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iRGF0YUNoYW5nZU5vdGlmaWNhdGlvbiIgQmFzZVR5cGU9InRuczpOb3RpZmljYXRpb25E +YXRhIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZNb25pdG9yZWRJdGVtcyIgVHlwZU5hbWU9 +Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3JlZEl0ZW1zIiBUeXBl +TmFtZT0idG5zOk1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iIExlbmd0aEZpZWxkPSJOb09mTW9u +aXRvcmVkSXRlbXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9z +IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3Rp +Y0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlh +Z25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj +dHVyZWRUeXBlIE5hbWU9Ik1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iIEJhc2VUeXBlPSJ1YTpF +eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50SGFuZGxlIiBUeXBl +TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFt +ZT0idWE6RGF0YVZhbHVlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9IkV2ZW50Tm90aWZpY2F0aW9uTGlzdCIgQmFzZVR5cGU9InRuczpO +b3RpZmljYXRpb25EYXRhIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFdmVudHMiIFR5cGVO +YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVudHMiIFR5cGVOYW1l +PSJ0bnM6RXZlbnRGaWVsZExpc3QiIExlbmd0aEZpZWxkPSJOb09mRXZlbnRzIiAvPg0KICA8L29w +YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkV2ZW50Rmll +bGRMaXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkNsaWVudEhhbmRsZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb09mRXZlbnRGaWVsZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJFdmVudEZpZWxkcyIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIExlbmd0aEZp +ZWxkPSJOb09mRXZlbnRGaWVsZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv +cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeUV2ZW50RmllbGRMaXN0IiBCYXNlVHlwZT0i +dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFdmVudEZpZWxk +cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50Rmll +bGRzIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZFdmVudEZpZWxkcyIg +Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l +PSJTdGF0dXNDaGFuZ2VOb3RpZmljYXRpb24iIEJhc2VUeXBlPSJ0bnM6Tm90aWZpY2F0aW9uRGF0 +YSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2Rl +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm8iIFR5cGVOYW1lPSJ1YTpE +aWFnbm9zdGljSW5mbyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 +Y3R1cmVkVHlwZSBOYW1lPSJTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiIEJhc2VUeXBlPSJ1 +YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWQi +IFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VxdWVuY2VO +dW1iZXIiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N +Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlB1Ymxpc2hSZXF1ZXN0IiBCYXNlVHlwZT0i +dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIi +IFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v +T2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50cyIgVHlwZU5h +bWU9InRuczpTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiIExlbmd0aEZpZWxkPSJOb09mU3Vi +c2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJQdWJsaXNoUmVzcG9uc2UiIEJhc2VUeXBlPSJ1 +YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIi +IFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT +dWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJOb09mQXZhaWxhYmxlU2VxdWVuY2VOdW1iZXJzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXZhaWxhYmxlU2VxdWVuY2VOdW1iZXJzIiBUeXBlTmFt +ZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBdmFpbGFibGVTZXF1ZW5jZU51bWJlcnMi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb3JlTm90aWZpY2F0aW9ucyIgVHlwZU5hbWU9Im9w +YzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm90aWZpY2F0aW9uTWVzc2FnZSIg +VHlwZU5hbWU9InRuczpOb3RpZmljYXRpb25NZXNzYWdlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZS +ZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlw +ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZv +cyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0 +aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk +VHlwZSBOYW1lPSJSZXB1Ymxpc2hSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVx +dWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBl +TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldHJhbnNtaXRTZXF1 +ZW5jZU51bWJlciIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVwdWJsaXNoUmVzcG9uc2UiIEJh +c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9u +c2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb3RpZmljYXRpb25NZXNzYWdlIiBUeXBlTmFtZT0idG5zOk5vdGlmaWNhdGlvbk1l +c3NhZ2UiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iVHJhbnNmZXJSZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXZhaWxhYmxlU2VxdWVuY2VOdW1iZXJzIiBU +eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXZhaWxhYmxlU2Vx +dWVuY2VOdW1iZXJzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBdmFp +bGFibGVTZXF1ZW5jZU51bWJlcnMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv +cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVHJhbnNmZXJTdWJzY3JpcHRpb25zUmVxdWVzdCIgQmFz +ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0 +SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJOb09mU3Vic2NyaXB0aW9uSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWRzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVu +Z3RoRmllbGQ9Ik5vT2ZTdWJzY3JpcHRpb25JZHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT +ZW5kSW5pdGlhbFZhbHVlcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRyYW5zZmVyU3Vic2Ny +aXB0aW9uc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idG5zOlRyYW5z +ZmVyUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0lu +Zm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZVN1YnNjcmlwdGlv +bnNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTdWJzY3JpcHRpb25JZHMiIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZHMiIFR5cGVOYW1lPSJv +cGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZlN1YnNjcmlwdGlvbklkcyIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVTdWJz +Y3JpcHRpb25zUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFk +ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJ +bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0 +dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8i +IExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk +VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJ1aWxkSW5mbyIgQmFzZVR5cGU9 +InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcm9kdWN0VXJpIiBU +eXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1hbnVmYWN0dXJl +ck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJv +ZHVjdE5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +U29mdHdhcmVWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkJ1aWxkTnVtYmVyIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkJ1aWxkRGF0ZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJSZWR1bmRhbmN5 +U3VwcG9ydCIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt +ZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ29s +ZCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iV2FybSIgVmFs +dWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSG90IiBWYWx1ZT0iMyIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJUcmFuc3BhcmVudCIgVmFsdWU9IjQi +IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSG90QW5kTWlycm9yZWQiIFZhbHVl +PSI1IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBl +IE5hbWU9IlNlcnZlclN0YXRlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0 +ZWRWYWx1ZSBOYW1lPSJSdW5uaW5nIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJGYWlsZWQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9Ik5vQ29uZmlndXJhdGlvbiIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk +VmFsdWUgTmFtZT0iU3VzcGVuZGVkIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJTaHV0ZG93biIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs +dWUgTmFtZT0iVGVzdCIgVmFsdWU9IjUiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt +ZT0iQ29tbXVuaWNhdGlvbkZhdWx0IiBWYWx1ZT0iNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJVbmtub3duIiBWYWx1ZT0iNyIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+ +DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIg +QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2 +ZXJJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2 +aWNlTGV2ZWwiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNl +cnZlclN0YXRlIiBUeXBlTmFtZT0idG5zOlNlcnZlclN0YXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkVuZHBvaW50VXJsTGlzdERh +dGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ik5vT2ZFbmRwb2ludFVybExpc3QiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybExpc3QiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5n +dGhGaWVsZD0iTm9PZkVuZHBvaW50VXJsTGlzdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ +DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJOZXR3b3JrR3JvdXBEYXRhVHlwZSIgQmFz +ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJV +cmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5l +dHdvcmtQYXRocyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5ldHdvcmtQYXRocyIgVHlwZU5hbWU9InRuczpFbmRwb2ludFVybExpc3REYXRhVHlwZSIgTGVu +Z3RoRmllbGQ9Ik5vT2ZOZXR3b3JrUGF0aHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K +DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNz +RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iU2FtcGxpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJNb25pdG9yZWRJdGVtQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4TW9uaXRvcmVkSXRlbUNvdW50IiBUeXBlTmFtZT0i +b3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2FibGVkTW9uaXRvcmVkSXRl +bUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ +DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXJ2ZXJEaWFnbm9zdGljc1N1bW1hcnlE +YXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJTZXJ2ZXJWaWV3Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iQ3VycmVudFNlc3Npb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdW11bGF0ZWRTZXNzaW9uQ291bnQiIFR5cGVOYW1lPSJv +cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlSZWplY3RlZFNlc3Np +b25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS +ZWplY3RlZFNlc3Npb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJTZXNzaW9uVGltZW91dENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlc3Npb25BYm9ydENvdW50IiBUeXBlTmFtZT0ib3BjOlVJ +bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1cnJlbnRTdWJzY3JpcHRpb25Db3VudCIg +VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdW11bGF0ZWRT +dWJzY3JpcHRpb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJQdWJsaXNoaW5nSW50ZXJ2YWxDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eVJlamVjdGVkUmVxdWVzdHNDb3VudCIgVHlw +ZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWplY3RlZFJlcXVl +c3RzQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNlcnZlclN0YXR1c0RhdGFUeXBlIiBC +YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXJ0 +VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1 +cnJlbnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iU3RhdGUiIFR5cGVOYW1lPSJ0bnM6U2VydmVyU3RhdGUiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJCdWlsZEluZm8iIFR5cGVOYW1lPSJ0bnM6QnVpbGRJbmZvIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iU2Vjb25kc1RpbGxTaHV0ZG93biIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJTaHV0ZG93blJlYXNvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXpl +ZFRleHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp +b25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6 +Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvbk5hbWUiIFR5cGVOYW1lPSJv +cGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50RGVzY3JpcHRpb24iIFR5 +cGVOYW1lPSJ0bnM6QXBwbGljYXRpb25EZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlNlcnZlclVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJFbmRwb2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb09mTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9 +Ik5vT2ZMb2NhbGVJZHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBY3R1YWxTZXNzaW9uVGlt +ZW91dCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhS +ZXNwb25zZU1lc3NhZ2VTaXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkNsaWVudENvbm5lY3Rpb25UaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50TGFzdENvbnRhY3RUaW1lIiBUeXBlTmFtZT0i +b3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3VycmVudFN1YnNjcmlwdGlv +bnNDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJD +dXJyZW50TW9uaXRvcmVkSXRlbXNDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJDdXJyZW50UHVibGlzaFJlcXVlc3RzSW5RdWV1ZSIgVHlwZU5hbWU9 +Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUb3RhbFJlcXVlc3RDb3VudCIg +VHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iVW5hdXRob3JpemVkUmVxdWVzdENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlYWRDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291 +bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSGlzdG9yeVJlYWRDb3VudCIg +VHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iV3JpdGVDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSGlzdG9yeVVwZGF0ZUNvdW50IiBUeXBlTmFtZT0idG5z +OlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDYWxsQ291 +bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2Vydmlj +ZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vZGlmeU1vbml0b3Jl +ZEl0ZW1zQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlNldE1vbml0b3JpbmdNb2RlQ291bnQiIFR5cGVOYW1lPSJ0bnM6 +U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNldFRyaWdn +ZXJpbmdDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iRGVsZXRlTW9uaXRvcmVkSXRlbXNDb3VudCIgVHlwZU5hbWU9InRu +czpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3JlYXRl +U3Vic2NyaXB0aW9uQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvbkNvdW50IiBUeXBlTmFt +ZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT +ZXRQdWJsaXNoaW5nTW9kZUNvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5 +cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoQ291bnQiIFR5cGVOYW1lPSJ0bnM6 +U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcHVibGlz +aENvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJUcmFuc2ZlclN1YnNjcmlwdGlvbnNDb3VudCIgVHlwZU5hbWU9InRuczpT +ZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVsZXRlU3Vi +c2NyaXB0aW9uc0NvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGROb2Rlc0NvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZp +Y2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGRSZWZlcmVuY2Vz +Q291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IkRlbGV0ZU5vZGVzQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50 +ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNDb3Vu +dCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iQnJvd3NlQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlw +ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5leHRDb3VudCIgVHlwZU5hbWU9InRu +czpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNs +YXRlQnJvd3NlUGF0aHNUb05vZGVJZHNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRl +ckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVlcnlGaXJzdENvdW50IiBUeXBl +TmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJRdWVyeU5leHRDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVnaXN0ZXJOb2Rlc0NvdW50IiBUeXBlTmFtZT0idG5z +OlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVbnJlZ2lz +dGVyTm9kZXNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0K +ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNl +c3Npb25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P +YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6Tm9k +ZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50VXNlcklkT2ZTZXNzaW9uIiBUeXBl +TmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZDbGllbnRVc2Vy +SWRIaXN0b3J5IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +Q2xpZW50VXNlcklkSGlzdG9yeSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJO +b09mQ2xpZW50VXNlcklkSGlzdG9yeSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF1dGhlbnRp +Y2F0aW9uTWVjaGFuaXNtIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkVuY29kaW5nIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlRyYW5zcG9ydFByb3RvY29sIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TW9kZSIgVHlwZU5hbWU9InRuczpNZXNzYWdlU2VjdXJp +dHlNb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlQb2xpY3lVcmkiIFR5cGVO +YW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50Q2VydGlmaWNh +dGUiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ +DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBC +YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRvdGFs +Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXJy +b3JDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3RhdHVzUmVzdWx0IiBCYXNlVHlwZT0i +dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5 +cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3Rp +Y0luZm8iIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl +ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTdWJzY3JpcHRpb25EaWFnbm9z +dGljc0RhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlByaW9yaXR5IiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4S2VlcEFsaXZlQ291bnQiIFR5cGVOYW1lPSJvcGM6 +VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4TGlmZXRpbWVDb3VudCIgVHlwZU5h +bWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhOb3RpZmljYXRpb25z +UGVyUHVibGlzaCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJQdWJsaXNoaW5nRW5hYmxlZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTW9kaWZ5Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iRW5hYmxlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iRGlzYWJsZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcHVibGlzaFJlcXVlc3RDb3VudCIgVHlwZU5hbWU9Im9w +YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXB1Ymxpc2hNZXNzYWdlUmVxdWVz +dENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl +cHVibGlzaE1lc3NhZ2VDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJUcmFuc2ZlclJlcXVlc3RDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc2ZlcnJlZFRvQWx0Q2xpZW50Q291bnQiIFR5cGVO +YW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNmZXJyZWRUb1Nh +bWVDbGllbnRDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJQdWJsaXNoUmVxdWVzdENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkRhdGFDaGFuZ2VOb3RpZmljYXRpb25zQ291bnQiIFR5cGVOYW1lPSJv +cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnROb3RpZmljYXRpb25zQ291 +bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm90aWZp +Y2F0aW9uc0NvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkxhdGVQdWJsaXNoUmVxdWVzdENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkN1cnJlbnRLZWVwQWxpdmVDb3VudCIgVHlwZU5hbWU9Im9wYzpV +SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdXJyZW50TGlmZXRpbWVDb3VudCIgVHlw +ZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVbmFja25vd2xlZGdl +ZE1lc3NhZ2VDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJEaXNjYXJkZWRNZXNzYWdlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmVkSXRlbUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2FibGVkTW9uaXRvcmVkSXRlbUNvdW50IiBU +eXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3JpbmdR +dWV1ZU92ZXJmbG93Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTmV4dFNlcXVlbmNlTnVtYmVyIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50UXVldWVPdmVyRmxvd0NvdW50IiBUeXBlTmFtZT0ib3Bj +OlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVk +VHlwZSBOYW1lPSJNb2RlbENoYW5nZVN0cnVjdHVyZVZlcmJNYXNrIiBMZW5ndGhJbkJpdHM9IjMy +Ij4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlQWRkZWQiIFZhbHVlPSIxIiAv +Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vZGVEZWxldGVkIiBWYWx1ZT0iMiIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWZlcmVuY2VBZGRlZCIgVmFsdWU9 +IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlRGVsZXRlZCIg +VmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGF0YVR5cGVDaGFu +Z2VkIiBWYWx1ZT0iMTYiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3Ry +dWN0dXJlZFR5cGUgTmFtZT0iTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgQmFzZVR5cGU9 +InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZmZlY3RlZCIgVHlw +ZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFmZmVjdGVkVHlwZSIg +VHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZlcmIiIFR5cGVO +YW1lPSJvcGM6Qnl0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 +Y3R1cmVkVHlwZSBOYW1lPSJTZW1hbnRpY0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiBCYXNlVHlw +ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFmZmVjdGVkIiBU +eXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWZmZWN0ZWRUeXBl +IiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 +b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJhbmdlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvdyIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJIaWdoIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAg +PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFVUlu +Zm9ybWF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5hbWVzcGFjZVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJVbml0SWQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQi +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFt +ZT0iQXhpc1NjYWxlRW51bWVyYXRpb24iIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IkxpbmVhciIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJh +dGVkVmFsdWUgTmFtZT0iTG9nIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 +ZSBOYW1lPSJMbiIgVmFsdWU9IjIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxv +cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ29tcGxleE51bWJlclR5cGUiIEJhc2VUeXBlPSJ1YTpF +eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVhbCIgVHlwZU5hbWU9Im9w +YzpGbG9hdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkltYWdpbmFyeSIgVHlwZU5hbWU9Im9w +YzpGbG9hdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk +VHlwZSBOYW1lPSJEb3VibGVDb21wbGV4TnVtYmVyVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lv +bk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWFsIiBUeXBlTmFtZT0ib3BjOkRvdWJs +ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkltYWdpbmFyeSIgVHlwZU5hbWU9Im9wYzpEb3Vi +bGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iQXhpc0luZm9ybWF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkVuZ2luZWVyaW5nVW5pdHMiIFR5cGVOYW1lPSJ0bnM6RVVJbmZv +cm1hdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVVUmFuZ2UiIFR5cGVOYW1lPSJ0bnM6 +UmFuZ2UiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaXRsZSIgVHlwZU5hbWU9InVhOkxvY2Fs +aXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBeGlzU2NhbGVUeXBlIiBUeXBlTmFt +ZT0idG5zOkF4aXNTY2FsZUVudW1lcmF0aW9uIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P +ZkF4aXNTdGVwcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkF4aXNTdGVwcyIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIExlbmd0aEZpZWxkPSJOb09mQXhpc1N0 +ZXBzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl +IE5hbWU9IlhWVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJYIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlZhbHVlIiBUeXBlTmFtZT0ib3BjOkZsb2F0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlByb2dyYW1EaWFnbm9zdGljRGF0YVR5 +cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +Q3JlYXRlU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iQ3JlYXRlQ2xpZW50TmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJJbnZvY2F0aW9uQ3JlYXRpb25UaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVU +aW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdFRyYW5zaXRpb25UaW1lIiBUeXBlTmFt +ZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZENhbGwi +IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhv +ZFNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5vT2ZMYXN0TWV0aG9kSW5wdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kSW5wdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJ0 +bnM6QXJndW1lbnQiIExlbmd0aEZpZWxkPSJOb09mTGFzdE1ldGhvZElucHV0QXJndW1lbnRzIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxhc3RNZXRob2RPdXRwdXRBcmd1bWVudHMiIFR5 +cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kT3V0 +cHV0QXJndW1lbnRzIiBUeXBlTmFtZT0idG5zOkFyZ3VtZW50IiBMZW5ndGhGaWVsZD0iTm9PZkxh +c3RNZXRob2RPdXRwdXRBcmd1bWVudHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0 +aG9kQ2FsbFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJMYXN0TWV0aG9kUmV0dXJuU3RhdHVzIiBUeXBlTmFtZT0idG5zOlN0YXR1c1Jlc3VsdCIg +Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l +PSJBbm5vdGF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik1lc3NhZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iVXNlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iQW5ub3RhdGlvblRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogIDwv +b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRXhjZXB0 +aW9uRGV2aWF0aW9uRm9ybWF0IiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0 +ZWRWYWx1ZSBOYW1lPSJBYnNvbHV0ZVZhbHVlIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1l +cmF0ZWRWYWx1ZSBOYW1lPSJQZXJjZW50T2ZWYWx1ZSIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iUGVyY2VudE9mUmFuZ2UiIFZhbHVlPSIyIiAvPg0KICAgIDxv +cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlBlcmNlbnRPZkVVUmFuZ2UiIFZhbHVlPSIzIiAvPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVua25vd24iIFZhbHVlPSI0IiAvPg0KICA8 +L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KPC9vcGM6VHlwZURpY3Rpb25hcnk+ + + + + NamespaceUri + A URI that uniquely identifies the dictionary. + + i=68 + i=7617 + + + http://opcfoundation.org/UA/ + + + + TrustListDataType + + i=69 + i=7617 + + + TrustListDataType + + + + Argument + + i=69 + i=7617 + + + Argument + + + + EnumValueType + + i=69 + i=7617 + + + EnumValueType + + + + OptionSet + + i=69 + i=7617 + + + OptionSet + + + + Union + + i=69 + i=7617 + + + Union + + + + 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 + + + + Annotation + + i=69 + i=7617 + + + Annotation + + + diff --git a/schemas/Opc.Ua.NodeSet2.Part8.xml b/schemas/Opc.Ua.NodeSet2.Part8.xml index a28b68646..f48a1ec3d 100644 --- a/schemas/Opc.Ua.NodeSet2.Part8.xml +++ b/schemas/Opc.Ua.NodeSet2.Part8.xml @@ -1,525 +1,596 @@ - - - - - - - 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 - - - DataItemType - A variable that contains live automation data. - - i=2366 - i=2367 - i=63 - - - - Definition - A vendor-specific, human readable string that specifies how the value of this DataItem is calculated. - - i=68 - i=80 - i=2365 - - - - ValuePrecision - The maximum precision that the server can maintain for the item based on restrictions in the target environment. - - i=68 - i=80 - i=2365 - - - - AnalogItemType - - i=2370 - i=2369 - i=2371 - i=2365 - - - - InstrumentRange - - i=68 - i=80 - i=2368 - - - - EURange - - i=68 - i=78 - i=2368 - - - - EngineeringUnits - - i=68 - i=80 - i=2368 - - - - DiscreteItemType - - i=2365 - - - - TwoStateDiscreteType - - i=2374 - i=2375 - i=2372 - - - - FalseState - - i=68 - i=78 - i=2373 - - - - TrueState - - i=68 - i=78 - i=2373 - - - - MultiStateDiscreteType - - i=2377 - i=2372 - - - - EnumStrings - - i=68 - i=78 - i=2376 - - - - MultiStateValueDiscreteType - - i=11241 - i=11461 - i=2372 - - - - EnumValues - - i=68 - i=78 - i=11238 - - - - ValueAsText - - i=68 - i=78 - i=11238 - - - - ArrayItemType - - 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 - - i=12037 - i=12021 - - - - XAxisDefinition - - i=68 - i=78 - i=12029 - - - - XYArrayItemType - - i=12046 - i=12021 - - - - XAxisDefinition - - i=68 - i=78 - i=12038 - - - - ImageItemType - - i=12055 - i=12056 - i=12021 - - - - XAxisDefinition - - i=68 - i=78 - i=12047 - - - - YAxisDefinition - - i=68 - i=78 - i=12047 - - - - CubeItemType - - 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 - - i=12076 - i=12021 - - - - AxisDefinition - - i=68 - i=78 - i=12068 - - - - Range - - i=22 - - - - - - - - EUInformation - - i=22 - - - - - - - - - - AxisScaleEnumeration - - i=12078 - i=29 - - - - - - - - - EnumStrings - - i=68 - i=78 - i=12077 - - - - - - - Linear - - - - - Log - - - - - Ln - - - - - - ComplexNumberType - - i=22 - - - - - - - - DoubleComplexNumberType - - i=22 - - - - - - - - AxisInformation - - i=22 - - - - - - - - - - - XVType - - i=22 - - - - - - - - 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 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 - - - \ No newline at end of file + + + + + + + + + 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 + + + DataItemType + A variable that contains live automation data. + + i=2366 + i=2367 + i=63 + + + + Definition + A vendor-specific, human readable string that specifies how the value of this DataItem is calculated. + + i=68 + i=80 + i=2365 + + + + ValuePrecision + The maximum precision that the server can maintain for the item based on restrictions in the target environment. + + i=68 + i=80 + i=2365 + + + + AnalogItemType + + i=2370 + i=2369 + i=2371 + i=2365 + + + + InstrumentRange + + i=68 + i=80 + i=2368 + + + + EURange + + i=68 + i=78 + i=2368 + + + + EngineeringUnits + + i=68 + i=80 + i=2368 + + + + DiscreteItemType + + i=2365 + + + + TwoStateDiscreteType + + i=2374 + i=2375 + i=2372 + + + + FalseState + + i=68 + i=78 + i=2373 + + + + TrueState + + i=68 + i=78 + i=2373 + + + + MultiStateDiscreteType + + i=2377 + i=2372 + + + + EnumStrings + + i=68 + i=78 + i=2376 + + + + MultiStateValueDiscreteType + + i=11241 + i=11461 + i=2372 + + + + EnumValues + + i=68 + i=78 + i=11238 + + + + ValueAsText + + i=68 + i=78 + i=11238 + + + + ArrayItemType + + 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 + + i=12037 + i=12021 + + + + XAxisDefinition + + i=68 + i=78 + i=12029 + + + + XYArrayItemType + + i=12046 + i=12021 + + + + XAxisDefinition + + i=68 + i=78 + i=12038 + + + + ImageItemType + + i=12055 + i=12056 + i=12021 + + + + XAxisDefinition + + i=68 + i=78 + i=12047 + + + + YAxisDefinition + + i=68 + i=78 + i=12047 + + + + CubeItemType + + 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 + + i=12076 + i=12021 + + + + AxisDefinition + + i=68 + i=78 + i=12068 + + + + Range + + i=22 + + + + + + + + EUInformation + + i=22 + + + + + + + + + + AxisScaleEnumeration + + i=12078 + i=29 + + + + + + + + + EnumStrings + + i=68 + i=78 + i=12077 + + + + + + + Linear + + + + + Log + + + + + Ln + + + + + + ComplexNumberType + + i=22 + + + + + + + + DoubleComplexNumberType + + i=22 + + + + + + + + AxisInformation + + i=22 + + + + + + + + + + + XVType + + i=22 + + + + + + + + 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 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 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 + + + diff --git a/schemas/Opc.Ua.NodeSet2.Part9.xml b/schemas/Opc.Ua.NodeSet2.Part9.xml index 3ae9ba60d..c441cc98e 100644 --- a/schemas/Opc.Ua.NodeSet2.Part9.xml +++ b/schemas/Opc.Ua.NodeSet2.Part9.xml @@ -1,2049 +1,2087 @@ - - - - - - - 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 - - - TwoStateVariableType - - 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 - - i=9003 - i=63 - - - - SourceTimestamp - - i=68 - i=78 - i=9002 - - - - HasTrueSubState - - i=32 - - IsTrueSubStateOf - - - HasFalseSubState - - i=32 - - IsFalseSubStateOf - - - ConditionType - - i=11112 - i=11113 - 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 - - - - 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=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 - - - - 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 - - i=2803 - i=78 - i=2782 - - - - Enable - - i=2803 - i=78 - i=2782 - - - - AddComment - - 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 - - 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 suscription to refresh. - - - - - - - - - ConditionRefresh2 - - 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 suscription to refresh. - - - - - - - i=297 - - - - MonitoredItemId - - i=288 - - -1 - - - - - The identifier for the monitored item to refresh. - - - - - - - - - DialogConditionType - - 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=9035 - i=8995 - i=78 - i=2830 - - - - Id - - i=68 - i=78 - i=9055 - - - - TransitionTime - - i=68 - i=80 - i=9055 - - - - 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 - - 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 - - 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=9073 - i=8995 - i=78 - i=2881 - - - - Id - - i=68 - i=78 - i=9093 - - - - TransitionTime - - i=68 - i=80 - i=9093 - - - - ConfirmedState - - i=9103 - i=9107 - i=9073 - i=8995 - i=80 - i=2881 - - - - Id - - i=68 - i=78 - i=9102 - - - - TransitionTime - - i=68 - i=80 - i=9102 - - - - Acknowledge - - 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 - - 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 - - i=9118 - i=9160 - i=11120 - i=9169 - i=9178 - i=9215 - i=9216 - 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=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 - - - - InputNode - - i=68 - i=78 - i=2915 - - - - SuppressedState - - i=9170 - i=9174 - i=9118 - i=8995 - i=80 - i=2915 - - - - Id - - i=68 - i=78 - i=9169 - - - - TransitionTime - - i=68 - i=80 - i=9169 - - - - ShelvingState - - i=9179 - i=9184 - i=9189 - i=9211 - i=9212 - i=9213 - 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 - - - - Unshelve - - i=11093 - i=78 - i=9178 - - - - OneShotShelve - - i=11093 - 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. - - - - - - - - - SuppressedOrShelved - - i=68 - i=78 - i=2915 - - - - MaxTimeShelved - - i=68 - i=80 - i=2915 - - - - ShelvedStateMachineType - - i=9115 - i=2930 - i=2932 - i=2933 - i=2935 - i=2936 - i=2940 - i=2942 - i=2943 - i=2945 - i=2947 - i=2948 - i=2949 - 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 - - - - TimedShelved - - i=6100 - i=2935 - i=2940 - i=2942 - i=2945 - i=2307 - i=2929 - - - - StateNumber - - i=68 - i=78 - i=2932 - - - - OneShotShelved - - i=6101 - i=2936 - i=2942 - i=2943 - i=2945 - i=2307 - i=2929 - - - - StateNumber - - i=68 - i=78 - i=2933 - - - - UnshelvedToTimedShelved - - i=11322 - i=2930 - i=2932 - i=2915 - i=2949 - i=2310 - i=2929 - - - - TransitionNumber - - i=68 - i=78 - i=2935 - - - - UnshelvedToOneShotShelved - - i=11323 - i=2930 - i=2933 - i=2915 - i=2948 - i=2310 - i=2929 - - - - TransitionNumber - - i=68 - i=78 - i=2936 - - - - TimedShelvedToUnshelved - - i=11324 - i=2932 - i=2930 - i=2915 - i=2947 - i=2310 - i=2929 - - - - TransitionNumber - - i=68 - i=78 - i=2940 - - - - TimedShelvedToOneShotShelved - - i=11325 - i=2932 - i=2933 - i=2915 - i=2948 - i=2310 - i=2929 - - - - TransitionNumber - - i=68 - i=78 - i=2942 - - - - OneShotShelvedToUnshelved - - i=11326 - i=2933 - i=2930 - i=2915 - i=2947 - i=2310 - i=2929 - - - - TransitionNumber - - i=68 - i=78 - i=2943 - - - - OneShotShelvedToTimedShelved - - i=11327 - i=2933 - i=2932 - i=2915 - i=2949 - i=2310 - i=2929 - - - - TransitionNumber - - i=68 - i=78 - i=2945 - - - - Unshelve - - i=2940 - i=2943 - i=11093 - i=78 - i=2929 - - - - OneShotShelve - - i=2936 - i=2942 - i=11093 - i=78 - i=2929 - - - - TimedShelve - - 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. - - - - - - - - - LimitAlarmType - - i=11124 - i=11125 - i=11126 - i=11127 - 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 - - - - ExclusiveLimitStateMachineType - - 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 - - - - High - - i=9332 - i=9339 - i=9340 - i=2307 - i=9318 - - - - StateNumber - - i=68 - i=78 - i=9331 - - - - Low - - i=9334 - i=9337 - i=9338 - i=2307 - i=9318 - - - - StateNumber - - i=68 - i=78 - i=9333 - - - - LowLow - - i=9336 - i=9337 - i=9338 - i=2307 - i=9318 - - - - StateNumber - - i=68 - i=78 - i=9335 - - - - LowLowToLow - - i=11340 - i=9335 - i=9333 - i=2310 - i=9318 - - - - TransitionNumber - - i=68 - i=78 - i=9337 - - - - LowToLowLow - - i=11341 - i=9333 - i=9335 - i=2310 - i=9318 - - - - TransitionNumber - - i=68 - i=78 - i=9338 - - - - HighHighToHigh - - i=11342 - i=9329 - i=9331 - i=2310 - i=9318 - - - - TransitionNumber - - i=68 - i=78 - i=9339 - - - - HighToHighHigh - - i=11343 - i=9331 - i=9329 - i=2310 - i=9318 - - - - TransitionNumber - - i=68 - i=78 - i=9340 - - - - ExclusiveLimitAlarmType - - 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 - - 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=9963 - i=8995 - i=80 - i=9906 - - - - Id - - i=68 - i=78 - i=10020 - - - - TransitionTime - - i=68 - i=80 - i=10020 - - - - HighState - - i=10030 - i=10034 - i=9963 - i=8995 - i=80 - i=9906 - - - - Id - - i=68 - i=78 - i=10029 - - - - TransitionTime - - i=68 - i=80 - i=10029 - - - - LowState - - i=10039 - i=10043 - i=9963 - i=8995 - i=80 - i=9906 - - - - Id - - i=68 - i=78 - i=10038 - - - - TransitionTime - - i=68 - i=80 - i=10038 - - - - LowLowState - - i=10048 - i=10052 - i=9963 - i=8995 - i=80 - i=9906 - - - - Id - - i=68 - i=78 - i=10047 - - - - TransitionTime - - i=68 - i=80 - i=10047 - - - - NonExclusiveLevelAlarmType - - i=9906 - - - - ExclusiveLevelAlarmType - - i=9341 - - - - NonExclusiveDeviationAlarmType - - i=10522 - i=9906 - - - - SetpointNode - - i=68 - i=78 - i=10368 - - - - ExclusiveDeviationAlarmType - - i=9905 - i=9341 - - - - SetpointNode - - i=68 - i=78 - i=9764 - - - - NonExclusiveRateOfChangeAlarmType - - i=9906 - - - - ExclusiveRateOfChangeAlarmType - - i=9341 - - - - DiscreteAlarmType - - i=2915 - - - - OffNormalAlarmType - - i=11158 - i=10523 - - - - NormalState - - i=68 - i=78 - i=10637 - - - - SystemOffNormalAlarmType - - i=10637 - - - - CertificateExpirationAlarmType - - i=13325 - i=13326 - i=13327 - i=11753 - - - - ExpirationDate - - i=68 - i=78 - i=13225 - - - - CertificateType - - i=68 - i=78 - i=13225 - - - - Certificate - - i=68 - i=78 - i=13225 - - - - TripAlarmType - - i=10637 - - - - BaseConditionClassType - - i=58 - - - - ProcessConditionClassType - - i=11163 - - - - MaintenanceConditionClassType - - i=11163 - - - - SystemConditionClassType - - i=11163 - - - - AuditConditionEventType - - i=2127 - - - - AuditConditionEnableEventType - - i=2790 - - - - AuditConditionCommentEventType - - i=4170 - i=11851 - i=2790 - - - - EventId - A globally unique identifier for the event. - - i=68 - i=78 - i=2829 - - - - Comment - - i=68 - i=78 - i=2829 - - - - AuditConditionRespondEventType - - i=11852 - i=2790 - - - - SelectedResponse - - i=68 - i=78 - i=8927 - - - - AuditConditionAcknowledgeEventType - - i=8945 - i=11853 - i=2790 - - - - EventId - A globally unique identifier for the event. - - i=68 - i=78 - i=8944 - - - - Comment - - i=68 - i=78 - i=8944 - - - - AuditConditionConfirmEventType - - i=8962 - i=11854 - i=2790 - - - - EventId - A globally unique identifier for the event. - - i=68 - i=78 - i=8961 - - - - Comment - - i=68 - i=78 - i=8961 - - - - AuditConditionShelvingEventType - - i=11855 - i=2790 - - - - ShelvingTime - - i=68 - i=78 - i=11093 - - - - RefreshStartEventType - - i=2130 - - - - RefreshEndEventType - - i=2130 - - - - RefreshRequiredEventType - - i=2130 - - - - HasCondition - - i=32 - - IsConditionOf - - \ No newline at end of file + + + + + + + + + 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 + + + TwoStateVariableType + + 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 + + i=9003 + i=63 + + + + SourceTimestamp + + i=68 + i=78 + i=9002 + + + + HasTrueSubState + + i=32 + + IsTrueSubStateOf + + + HasFalseSubState + + i=32 + + IsFalseSubStateOf + + + ConditionType + + i=11112 + i=11113 + 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 + + + + 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=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 + + + + 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 + + i=2803 + i=78 + i=2782 + + + + Enable + + i=2803 + i=78 + i=2782 + + + + AddComment + + 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 + + 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 suscription to refresh. + + + + + + + + + ConditionRefresh2 + + 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 suscription to refresh. + + + + + + + i=297 + + + + MonitoredItemId + + i=288 + + -1 + + + + + The identifier for the monitored item to refresh. + + + + + + + + + DialogConditionType + + 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=9035 + i=8995 + i=78 + i=2830 + + + + Id + + i=68 + i=78 + i=9055 + + + + TransitionTime + + i=68 + i=80 + i=9055 + + + + 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 + + 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 + + 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=9073 + i=8995 + i=78 + i=2881 + + + + Id + + i=68 + i=78 + i=9093 + + + + TransitionTime + + i=68 + i=80 + i=9093 + + + + ConfirmedState + + i=9103 + i=9107 + i=9073 + i=8995 + i=80 + i=2881 + + + + Id + + i=68 + i=78 + i=9102 + + + + TransitionTime + + i=68 + i=80 + i=9102 + + + + Acknowledge + + 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 + + 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 + + i=9118 + i=9160 + i=11120 + i=9169 + i=9178 + i=9215 + i=9216 + 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=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 + + + + InputNode + + i=68 + i=78 + i=2915 + + + + SuppressedState + + i=9170 + i=9174 + i=9118 + i=8995 + i=80 + i=2915 + + + + Id + + i=68 + i=78 + i=9169 + + + + TransitionTime + + i=68 + i=80 + i=9169 + + + + ShelvingState + + i=9179 + i=9184 + i=9189 + i=9211 + i=9212 + i=9213 + 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 + + + + Unshelve + + i=11093 + i=78 + i=9178 + + + + OneShotShelve + + i=11093 + 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. + + + + + + + + + SuppressedOrShelved + + i=68 + i=78 + i=2915 + + + + MaxTimeShelved + + i=68 + i=80 + i=2915 + + + + ShelvedStateMachineType + + i=9115 + i=2930 + i=2932 + i=2933 + i=2935 + i=2936 + i=2940 + i=2942 + i=2943 + i=2945 + i=2947 + i=2948 + i=2949 + 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 + + + + TimedShelved + + i=6100 + i=2935 + i=2940 + i=2942 + i=2945 + i=2307 + i=2929 + + + + StateNumber + + i=68 + i=78 + i=2932 + + + + OneShotShelved + + i=6101 + i=2936 + i=2942 + i=2943 + i=2945 + i=2307 + i=2929 + + + + StateNumber + + i=68 + i=78 + i=2933 + + + + UnshelvedToTimedShelved + + i=11322 + i=2930 + i=2932 + i=2915 + i=2949 + i=2310 + i=2929 + + + + TransitionNumber + + i=68 + i=78 + i=2935 + + + + UnshelvedToOneShotShelved + + i=11323 + i=2930 + i=2933 + i=2915 + i=2948 + i=2310 + i=2929 + + + + TransitionNumber + + i=68 + i=78 + i=2936 + + + + TimedShelvedToUnshelved + + i=11324 + i=2932 + i=2930 + i=2915 + i=2947 + i=2310 + i=2929 + + + + TransitionNumber + + i=68 + i=78 + i=2940 + + + + TimedShelvedToOneShotShelved + + i=11325 + i=2932 + i=2933 + i=2915 + i=2948 + i=2310 + i=2929 + + + + TransitionNumber + + i=68 + i=78 + i=2942 + + + + OneShotShelvedToUnshelved + + i=11326 + i=2933 + i=2930 + i=2915 + i=2947 + i=2310 + i=2929 + + + + TransitionNumber + + i=68 + i=78 + i=2943 + + + + OneShotShelvedToTimedShelved + + i=11327 + i=2933 + i=2932 + i=2915 + i=2949 + i=2310 + i=2929 + + + + TransitionNumber + + i=68 + i=78 + i=2945 + + + + Unshelve + + i=2940 + i=2943 + i=11093 + i=78 + i=2929 + + + + OneShotShelve + + i=2936 + i=2942 + i=11093 + i=78 + i=2929 + + + + TimedShelve + + 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. + + + + + + + + + LimitAlarmType + + i=11124 + i=11125 + i=11126 + i=11127 + 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 + + + + ExclusiveLimitStateMachineType + + 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 + + + + High + + i=9332 + i=9339 + i=9340 + i=2307 + i=9318 + + + + StateNumber + + i=68 + i=78 + i=9331 + + + + Low + + i=9334 + i=9337 + i=9338 + i=2307 + i=9318 + + + + StateNumber + + i=68 + i=78 + i=9333 + + + + LowLow + + i=9336 + i=9337 + i=9338 + i=2307 + i=9318 + + + + StateNumber + + i=68 + i=78 + i=9335 + + + + LowLowToLow + + i=11340 + i=9335 + i=9333 + i=2310 + i=9318 + + + + TransitionNumber + + i=68 + i=78 + i=9337 + + + + LowToLowLow + + i=11341 + i=9333 + i=9335 + i=2310 + i=9318 + + + + TransitionNumber + + i=68 + i=78 + i=9338 + + + + HighHighToHigh + + i=11342 + i=9329 + i=9331 + i=2310 + i=9318 + + + + TransitionNumber + + i=68 + i=78 + i=9339 + + + + HighToHighHigh + + i=11343 + i=9331 + i=9329 + i=2310 + i=9318 + + + + TransitionNumber + + i=68 + i=78 + i=9340 + + + + ExclusiveLimitAlarmType + + 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 + + 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=9963 + i=8995 + i=80 + i=9906 + + + + Id + + i=68 + i=78 + i=10020 + + + + TransitionTime + + i=68 + i=80 + i=10020 + + + + HighState + + i=10030 + i=10034 + i=9963 + i=8995 + i=80 + i=9906 + + + + Id + + i=68 + i=78 + i=10029 + + + + TransitionTime + + i=68 + i=80 + i=10029 + + + + LowState + + i=10039 + i=10043 + i=9963 + i=8995 + i=80 + i=9906 + + + + Id + + i=68 + i=78 + i=10038 + + + + TransitionTime + + i=68 + i=80 + i=10038 + + + + LowLowState + + i=10048 + i=10052 + i=9963 + i=8995 + i=80 + i=9906 + + + + Id + + i=68 + i=78 + i=10047 + + + + TransitionTime + + i=68 + i=80 + i=10047 + + + + NonExclusiveLevelAlarmType + + i=9906 + + + + ExclusiveLevelAlarmType + + i=9341 + + + + NonExclusiveDeviationAlarmType + + i=10522 + i=9906 + + + + SetpointNode + + i=68 + i=78 + i=10368 + + + + ExclusiveDeviationAlarmType + + i=9905 + i=9341 + + + + SetpointNode + + i=68 + i=78 + i=9764 + + + + NonExclusiveRateOfChangeAlarmType + + i=9906 + + + + ExclusiveRateOfChangeAlarmType + + i=9341 + + + + DiscreteAlarmType + + i=2915 + + + + OffNormalAlarmType + + i=11158 + i=10523 + + + + NormalState + + i=68 + i=78 + i=10637 + + + + SystemOffNormalAlarmType + + i=10637 + + + + CertificateExpirationAlarmType + + 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 + + + + TripAlarmType + + i=10637 + + + + BaseConditionClassType + + i=58 + + + + ProcessConditionClassType + + i=11163 + + + + MaintenanceConditionClassType + + i=11163 + + + + SystemConditionClassType + + i=11163 + + + + AuditConditionEventType + + i=2127 + + + + AuditConditionEnableEventType + + i=2790 + + + + AuditConditionCommentEventType + + i=4170 + i=11851 + i=2790 + + + + EventId + A globally unique identifier for the event. + + i=68 + i=78 + i=2829 + + + + Comment + + i=68 + i=78 + i=2829 + + + + AuditConditionRespondEventType + + i=11852 + i=2790 + + + + SelectedResponse + + i=68 + i=78 + i=8927 + + + + AuditConditionAcknowledgeEventType + + i=8945 + i=11853 + i=2790 + + + + EventId + A globally unique identifier for the event. + + i=68 + i=78 + i=8944 + + + + Comment + + i=68 + i=78 + i=8944 + + + + AuditConditionConfirmEventType + + i=8962 + i=11854 + i=2790 + + + + EventId + A globally unique identifier for the event. + + i=68 + i=78 + i=8961 + + + + Comment + + i=68 + i=78 + i=8961 + + + + AuditConditionShelvingEventType + + i=11855 + i=2790 + + + + ShelvingTime + + i=68 + i=78 + i=11093 + + + + RefreshStartEventType + + i=2130 + + + + RefreshEndEventType + + i=2130 + + + + RefreshRequiredEventType + + i=2130 + + + + HasCondition + + i=32 + + IsConditionOf + + diff --git a/schemas/Opc.Ua.NodeSet2.xml b/schemas/Opc.Ua.NodeSet2.xml index 545211d7e..3759d1b74 100644 --- a/schemas/Opc.Ua.NodeSet2.xml +++ b/schemas/Opc.Ua.NodeSet2.xml @@ -1,31815 +1,31528 @@ - - - - - - - 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 - - - Default Binary - The default binary encoding for a data type. - - i=58 - - - - Default XML - The default XML encoding for a data type. - - i=58 - - - - BaseDataType - Describes a value that can have any valid DataType. - - - - Number - Describes a value that can have any numeric DataType. - - i=24 - - - - Integer - Describes a value that can have any integer DataType. - - i=26 - - - - UInteger - Describes a value that can have any unsigned integer DataType. - - i=26 - - - - Enumeration - Describes a value that is an enumerated DataType. - - i=24 - - - - Boolean - Describes a value that is either TRUE or FALSE. - - i=24 - - - - SByte - Describes a value that is an integer between -128 and 127. - - i=27 - - - - Byte - Describes a value that is an integer between 0 and 255. - - i=28 - - - - Int16 - Describes a value that is an integer between −32,768 and 32,767. - - i=27 - - - - UInt16 - Describes a value that is an integer between 0 and 65535. - - i=28 - - - - Int32 - Describes a value that is an integer between −2,147,483,648 and 2,147,483,647. - - i=27 - - - - UInt32 - Describes a value that is an integer between 0 and 4,294,967,295. - - i=28 - - - - Int64 - Describes a value that is an integer between −9,223,372,036,854,775,808 and 9,223,372,036,854,775,807. - - i=27 - - - - UInt64 - Describes a value that is an integer between 0 and 18,446,744,073,709,551,615. - - i=28 - - - - Float - Describes a value that is an IEEE 754-1985 single precision floating point number. - - i=26 - - - - Double - Describes a value that is an IEEE 754-1985 double precision floating point number. - - i=26 - - - - String - Describes a value that is a sequence of printable Unicode characters. - - i=24 - - - - DateTime - Describes a value that is a Gregorian calender date and time. - - i=24 - - - - Guid - Describes a value that is a 128-bit globally unique identifier. - - i=24 - - - - ByteString - Describes a value that is a sequence of bytes. - - i=24 - - - - XmlElement - Describes a value that is an XML element. - - i=24 - - - - NodeId - Describes a value that is an identifier for a node within a Server address space. - - i=24 - - - - ExpandedNodeId - Describes a value that is an absolute identifier for a node. - - i=24 - - - - StatusCode - Describes a value that is a code representing the outcome of an operation by a Server. - - i=24 - - - - QualifiedName - Describes a value that is a name qualified by a namespace. - - i=24 - - - - LocalizedText - Describes a value that is human readable Unicode text with a locale identifier. - - i=24 - - - - Structure - Describes a value that is any type of structure that can be described with a data encoding. - - i=24 - - - - DataValue - Describes a value that is a structure containing a value, a status code and timestamps. - - i=24 - - - - DiagnosticInfo - Describes a value that is a structure containing diagnostics associated with a StatusCode. - - i=24 - - - - Image - Describes a value that is an image encoded as a string of bytes. - - i=15 - - - - Decimal128 - Describes a 128-bit decimal value. - - i=26 - - - - References - The abstract base type for all references. - - References - - - NonHierarchicalReferences - The abstract base type for all non-hierarchical references. - - i=31 - - NonHierarchicalReferences - - - HierarchicalReferences - The abstract base type for all hierarchical references. - - i=31 - - HierarchicalReferences - - - HasChild - The abstract base type for all non-looping hierarchical references. - - i=33 - - ChildOf - - - Organizes - The type for hierarchical references that are used to organize nodes. - - i=33 - - OrganizedBy - - - HasEventSource - The type for non-looping hierarchical references that are used to organize event sources. - - i=33 - - EventSourceOf - - - HasModellingRule - The type for references from instance declarations to modelling rule nodes. - - i=32 - - ModellingRuleOf - - - HasEncoding - The type for references from data type nodes to to data type encoding nodes. - - i=32 - - EncodingOf - - - HasDescription - The type for references from data type encoding nodes to data type description nodes. - - i=32 - - DescriptionOf - - - HasTypeDefinition - The type for references from a instance node its type defintion node. - - i=32 - - TypeDefinitionOf - - - GeneratesEvent - The type for references from a node to an event type that is raised by node. - - i=32 - - GeneratesEvent - - - AlwaysGeneratesEvent - The type for references from a node to an event type that is always raised by node. - - i=32 - - AlwaysGeneratesEvent - - - Aggregates - The type for non-looping hierarchical references that are used to aggregate nodes into complex types. - - i=34 - - AggregatedBy - - - HasSubtype - The type for non-looping hierarchical references that are used to define sub types. - - i=34 - - HasSupertype - - - HasProperty - The type for non-looping hierarchical reference from a node to its property. - - i=44 - - PropertyOf - - - HasComponent - The type for non-looping hierarchical reference from a node to its component. - - i=44 - - ComponentOf - - - HasNotifier - The type for non-looping hierarchical references that are used to indicate how events propagate from node to node. - - i=36 - - NotifierOf - - - HasOrderedComponent - The type for non-looping hierarchical reference from a node to its component when the order of references matters. - - i=47 - - OrderedComponentOf - - - FromState - The type for a reference to the state before a transition. - - i=32 - - ToTransition - - - ToState - The type for a reference to the state after a transition. - - i=32 - - FromTransition - - - HasCause - The type for a reference to a method that can cause a transition to occur. - - i=32 - - MayBeCausedBy - - - HasEffect - The type for a reference to an event that may be raised when a transition occurs. - - i=32 - - MayBeEffectedBy - - - HasSubStateMachine - The type for a reference to a substate for a state. - - i=32 - - SubStateMachineOf - - - HasHistoricalConfiguration - The type for a reference to the historical configuration for a data variable. - - i=44 - - HistoricalConfigurationOf - - - BaseObjectType - The base type for all object nodes. - - - - FolderType - The type for objects that organize other nodes. - - i=58 - - - - BaseVariableType - The abstract base type for all variable nodes. - - - - BaseDataVariableType - The type for variable that represents a process value. - - i=62 - - - - PropertyType - The type for variable that represents a property of another node. - - i=62 - - - - DataTypeDescriptionType - The type for variable that represents the description of a data type encoding. - - i=104 - i=105 - i=63 - - - - DataTypeVersion - The version number for the data type description. - - i=68 - i=80 - i=69 - - - - DictionaryFragment - A fragment of a data type dictionary that defines the data type. - - i=68 - i=80 - i=69 - - - - DataTypeDictionaryType - The type for variable that represents the collection of data type decriptions. - - i=106 - i=107 - i=63 - - - - DataTypeVersion - The version number for the data type dictionary. - - i=68 - i=80 - i=72 - - - - NamespaceUri - A URI that uniquely identifies the dictionary. - - i=68 - i=80 - i=72 - - - - DataTypeSystemType - - i=58 - - - - DataTypeEncodingType - - i=58 - - - - NamingRuleType - Describes a value that specifies the significance of the BrowseName for an instance declaration. - - 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=78 - 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 - The type for an object that describes how an instance declaration is used when a type is instantiated. - - i=111 - i=58 - - - - NamingRule - Specified the significances of the BrowseName when a type is instantiated. - - i=68 - i=78 - i=77 - - - 1 - - - - Mandatory - Specifies that an instance with the attributes and references of the instance declaration must appear when a type is instantiated. - - i=112 - i=77 - - - - NamingRule - Specified the significances of the BrowseName when a type is instantiated. - - i=68 - i=78 - - - 1 - - - - Optional - Specifies that an instance with the attributes and references of the instance declaration may appear when a type is instantiated. - - i=113 - i=77 - - - - NamingRule - Specified the significances of the BrowseName when a type is instantiated. - - i=68 - i=80 - - - 2 - - - - ExposesItsArray - Specifies that an instance appears for each element of the containing array variable. - - i=114 - i=77 - - - - NamingRule - Specified the significances of the BrowseName when a type is instantiated. - - i=68 - i=83 - - - 3 - - - - MandatoryShared - Specifies that a reference to a shared instance must appear in when a type is instantiated. - - i=116 - i=77 - - - - NamingRule - Specified the significances of the BrowseName when a type is instantiated. - - i=68 - i=79 - - - 1 - - - - OptionalPlaceholder - Specifies that zero or more instances with the attributes and references of the instance declaration may appear when a type is instantiated. - - i=11509 - i=77 - - - - NamingRule - Specified the significances of the BrowseName when a type is instantiated. - - i=68 - i=11508 - - - 2 - - - - MandatoryPlaceholder - Specifies that one or more instances with the attributes and references of the instance declaration must appear when a type is instantiated. - - i=11511 - i=77 - - - - NamingRule - Specified the significances of the BrowseName when a type is instantiated. - - i=68 - i=11510 - - - 1 - - - - Root - The root of the server address space. - - i=61 - - - - Objects - The browse entry point when looking for objects in the server address space. - - i=84 - i=61 - - - - Types - The browse entry point when looking for types in the server address space. - - i=84 - i=61 - - - - Views - The browse entry point when looking for views in the server address space. - - i=84 - i=61 - - - - ObjectTypes - The browse entry point when looking for object types in the server address space. - - i=86 - i=58 - i=61 - - - - VariableTypes - The browse entry point when looking for variable types in the server address space. - - i=86 - i=62 - i=61 - - - - DataTypes - The browse entry point when looking for data types in the server address space. - - i=86 - i=24 - i=61 - - - - ReferenceTypes - The browse entry point when looking for reference types in the server address space. - - i=86 - i=31 - i=61 - - - - XML Schema - A type system which uses XML schema to describe the encoding of data types. - - i=90 - i=75 - - - - OPC Binary - A type system which uses OPC binary schema to describe the encoding of data types. - - i=90 - i=75 - - - - NodeVersion - The version number of the node (used to indicate changes to references of the owning node). - - i=68 - - - - ViewVersion - The version number of the view. - - i=68 - - - - Icon - A small image representing the object. - - i=68 - - - - LocalTime - The local time where the owning variable value was collected. - - i=68 - - - - AllowNulls - Whether the value of the owning variable is allowed to be null. - - i=68 - - - - ValueAsText - The string representation of the current value for a variable with an enumerated data type. - - i=68 - - - - MaxStringLength - The maximum length for a string that can be stored in the owning variable. - - i=68 - - - - MaxByteStringLength - The maximum length for a byte string that can be stored in the owning variable. - - i=68 - - - - MaxArrayLength - The maximum length for an array that can be stored in the owning variable. - - i=68 - - - - EngineeringUnits - The engineering units for the value of the owning variable. - - i=68 - - - - EnumStrings - The human readable strings associated with the values of an enumerated value (when values are sequential). - - i=68 - - - - EnumValues - The human readable strings associated with the values of an enumerated value (when values have no sequence). - - i=68 - - - - OptionSetValues - Contains the human-readable representation for each bit of the bit mask. - - i=68 - - - - InputArguments - The input arguments for a method. - - i=68 - - - - OutputArguments - The output arguments for a method. - - i=68 - - - - ImageBMP - An image encoded in BMP format. - - i=30 - - - - ImageGIF - An image encoded in GIF format. - - i=30 - - - - ImageJPG - An image encoded in JPEG format. - - i=30 - - - - ImagePNG - An image encoded in PNG format. - - i=30 - - - - ServerType - Specifies the current status and capabilities of the server. - - i=2005 - i=2006 - i=2007 - i=2008 - i=2742 - i=12882 - i=2009 - i=2010 - i=2011 - i=2012 - i=11527 - i=11489 - i=12871 - i=12746 - i=12883 - i=58 - - - - ServerArray - The list of server URIs used by the server. - - i=68 - i=78 - i=2004 - - - - NamespaceArray - The list of namespace URIs used by the server. - - i=68 - i=78 - i=2004 - - - - ServerStatus - The current status of the server. - - 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 - A value indicating the level of service the server can provide. 255 indicates the best. - - i=68 - i=78 - i=2004 - - - - Auditing - A flag indicating whether the server is currently generating audit events. - - i=68 - i=78 - i=2004 - - - - EstimatedReturnTime - Indicates the time at which the Server is expected to be available in the state RUNNING. - - i=68 - i=80 - i=2004 - - - - ServerCapabilities - Describes capabilities supported by the server. - - 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 - A list of profiles supported by the server. - - i=68 - i=78 - i=2009 - - - - LocaleIdArray - A list of locales supported by the server. - - i=68 - i=78 - i=2009 - - - - MinSupportedSampleRate - The minimum sampling interval supported by the server. - - i=68 - i=78 - i=2009 - - - - MaxBrowseContinuationPoints - The maximum number of continuation points for Browse operations per session. - - i=68 - i=78 - i=2009 - - - - MaxQueryContinuationPoints - The maximum number of continuation points for Query operations per session. - - i=68 - i=78 - i=2009 - - - - MaxHistoryContinuationPoints - The maximum number of continuation points for ReadHistory operations per session. - - i=68 - i=78 - i=2009 - - - - SoftwareCertificates - The software certificates owned by the server. - - i=68 - i=78 - i=2009 - - - - ModellingRules - A folder for the modelling rules supported by the server. - - i=61 - i=78 - i=2009 - - - - AggregateFunctions - A folder for the real time aggregates supported by the server. - - i=61 - i=78 - i=2009 - - - - ServerDiagnostics - Reports diagnostics about the server. - - i=3095 - i=3110 - i=3111 - i=3114 - i=2020 - i=78 - i=2004 - - - - ServerDiagnosticsSummary - A summary of server level diagnostics. - - 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 - A list of diagnostics for each active subscription. - - i=2171 - i=78 - i=2010 - - - - SessionsDiagnosticsSummary - A summary of session level diagnostics. - - i=3112 - i=3113 - i=2026 - i=78 - i=2010 - - - - SessionDiagnosticsArray - A list of diagnostics for each active session. - - i=2196 - i=78 - i=3111 - - - - SessionSecurityDiagnosticsArray - A list of security related diagnostics for each active session. - - i=2243 - i=78 - i=3111 - - - - EnabledFlag - If TRUE the diagnostics collection is enabled. - - i=68 - i=78 - i=2010 - - - - VendorServerInfo - Server information provided by the vendor. - - i=2033 - i=78 - i=2004 - - - - ServerRedundancy - Describes the redundancy capabilities of the server. - - i=3115 - i=2034 - i=78 - i=2004 - - - - RedundancySupport - Indicates what style of redundancy is supported by the server. - - i=68 - i=78 - i=2012 - - - - Namespaces - Describes the namespaces supported by the server. - - 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 - - - - - - - - i=297 - - - - ClientHandles - - i=7 - - 1 - - - - - - - - - - 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 - Describes the capabilities supported by the server. - - 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=58 - - - - ServerProfileArray - A list of profiles supported by the server. - - i=68 - i=78 - i=2013 - - - - LocaleIdArray - A list of locales supported by the server. - - i=68 - i=78 - i=2013 - - - - MinSupportedSampleRate - The minimum sampling interval supported by the server. - - i=68 - i=78 - i=2013 - - - - MaxBrowseContinuationPoints - The maximum number of continuation points for Browse operations per session. - - i=68 - i=78 - i=2013 - - - - MaxQueryContinuationPoints - The maximum number of continuation points for Query operations per session. - - i=68 - i=78 - i=2013 - - - - MaxHistoryContinuationPoints - The maximum number of continuation points for ReadHistory operations per session. - - i=68 - i=78 - i=2013 - - - - SoftwareCertificates - The software certificates owned by the server. - - i=68 - i=78 - i=2013 - - - - MaxArrayLength - The maximum length for an array value supported by the server. - - i=68 - i=80 - i=2013 - - - - MaxStringLength - The maximum length for a string value supported by the server. - - i=68 - i=80 - i=2013 - - - - MaxByteStringLength - The maximum length for a byte string value supported by the server. - - i=68 - i=80 - i=2013 - - - - OperationLimits - Defines the limits supported by the server for different operations. - - i=11564 - i=80 - i=2013 - - - - ModellingRules - A folder for the modelling rules supported by the server. - - i=61 - i=78 - i=2013 - - - - AggregateFunctions - A folder for the real time aggregates supported by the server. - - i=61 - i=78 - i=2013 - - - - <VendorCapability> - - i=2137 - i=11508 - i=2013 - - - - ServerDiagnosticsType - The diagnostics information for a server. - - i=2021 - i=2022 - i=2023 - i=2744 - i=2025 - i=58 - - - - ServerDiagnosticsSummary - A summary of server level diagnostics. - - 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 - A list of diagnostics for each sampling interval supported by the server. - - i=2164 - i=80 - i=2020 - - - - SubscriptionDiagnosticsArray - A list of diagnostics for each active subscription. - - i=2171 - i=78 - i=2020 - - - - SessionsDiagnosticsSummary - A summary of session level diagnostics. - - i=3129 - i=3130 - i=2026 - i=78 - i=2020 - - - - SessionDiagnosticsArray - A list of diagnostics for each active session. - - i=2196 - i=78 - i=2744 - - - - SessionSecurityDiagnosticsArray - A list of security related diagnostics for each active session. - - i=2243 - i=78 - i=2744 - - - - EnabledFlag - If TRUE the diagnostics collection is enabled. - - i=68 - i=78 - i=2020 - - - - SessionsDiagnosticsSummaryType - Provides a summary of session level diagnostics. - - i=2027 - i=2028 - i=12097 - i=58 - - - - SessionDiagnosticsArray - A list of diagnostics for each active session. - - i=2196 - i=78 - i=2026 - - - - SessionSecurityDiagnosticsArray - A list of security related diagnostics for each active session. - - i=2243 - i=78 - i=2026 - - - - <SessionPlaceholder> - - i=12098 - i=12142 - i=12152 - i=2029 - i=11508 - i=2026 - - - - SessionDiagnostics - Diagnostics information for an active session. - - 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 - Security related diagnostics information for an active session. - - 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 - A list of diagnostics for each subscription owned by the session. - - i=2171 - i=78 - i=12097 - - - - SessionDiagnosticsObjectType - A container for session level diagnostics information. - - i=2030 - i=2031 - i=2032 - i=58 - - - - SessionDiagnostics - Diagnostics information for an active session. - - 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 - Security related diagnostics information for an active session. - - 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 - A list of diagnostics for each subscription owned by the session. - - i=2171 - i=78 - i=2029 - - - - VendorServerInfoType - A base type for vendor specific server information. - - i=58 - - - - ServerRedundancyType - A base type for an object that describe how a server supports redundancy. - - i=2035 - i=58 - - - - RedundancySupport - Indicates what style of redundancy is supported by the server. - - i=68 - i=78 - i=2034 - - - - TransparentRedundancyType - Identifies the capabilties of server that supports transparent redundancy. - - i=2037 - i=2038 - i=2034 - - - - CurrentServerId - The ID of the server that is currently in use. - - i=68 - i=78 - i=2036 - - - - RedundantServerArray - A list of servers in the same redundant set. - - i=68 - i=78 - i=2036 - - - - NonTransparentRedundancyType - Identifies the capabilties of server that supports non-transparent redundancy. - - i=2040 - i=2034 - - - - ServerUriArray - A list of servers in the same redundant set. - - i=68 - i=78 - i=2039 - - - - NonTransparentNetworkRedundancyType - - i=11948 - i=2039 - - - - ServerNetworkGroups - - i=68 - i=78 - i=11945 - - - - OperationLimitsType - Identifies the operation limits imposed by the server. - - 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=58 - - - - MaxNodesPerRead - The maximum number of operations in a single Read request. - - i=68 - i=80 - i=11564 - - - - MaxNodesPerHistoryReadData - The maximum number of operations in a single data HistoryRead request. - - i=68 - i=80 - i=11564 - - - - MaxNodesPerHistoryReadEvents - The maximum number of operations in a single event HistoryRead request. - - i=68 - i=80 - i=11564 - - - - MaxNodesPerWrite - The maximum number of operations in a single Write request. - - i=68 - i=80 - i=11564 - - - - MaxNodesPerHistoryUpdateData - The maximum number of operations in a single data HistoryUpdate request. - - i=68 - i=80 - i=11564 - - - - MaxNodesPerHistoryUpdateEvents - The maximum number of operations in a single event HistoryUpdate request. - - i=68 - i=80 - i=11564 - - - - MaxNodesPerMethodCall - The maximum number of operations in a single Call request. - - i=68 - i=80 - i=11564 - - - - MaxNodesPerBrowse - The maximum number of operations in a single Browse request. - - i=68 - i=80 - i=11564 - - - - MaxNodesPerRegisterNodes - The maximum number of operations in a single RegisterNodes request. - - i=68 - i=80 - i=11564 - - - - MaxNodesPerTranslateBrowsePathsToNodeIds - The maximum number of operations in a single TranslateBrowsePathsToNodeIds request. - - i=68 - i=80 - i=11564 - - - - MaxNodesPerNodeManagement - The maximum number of operations in a single AddNodes, AddReferences, DeleteNodes or DeleteReferences request. - - i=68 - i=80 - i=11564 - - - - MaxMonitoredItemsPerCall - The maximum number of operations in a single MonitoredItem related request. - - i=68 - i=80 - i=11564 - - - - FileType - An object that represents a file that can be accessed via the server. - - i=11576 - i=12686 - i=12687 - i=11579 - i=13341 - i=11580 - i=11583 - i=11585 - i=11588 - i=11590 - i=11593 - i=58 - - - - Size - The size of the file in bytes. - - i=68 - i=78 - i=11575 - - - - Writable - Whether the file is writable. - - i=68 - i=78 - i=11575 - - - - UserWritable - Whether the file is writable by the current user. - - i=68 - i=78 - i=11575 - - - - OpenCount - The current number of open file handles. - - i=68 - i=78 - i=11575 - - - - MimeType - The content of the file. - - 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 - - - - - - - - - - FileDirectoryType - - i=13354 - i=13366 - i=13387 - i=13390 - i=13393 - i=13395 - i=61 - - - - <FileDirectoryName> - - i=13355 - i=13358 - i=13361 - 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=13362 - i=78 - i=13354 - - - - InputArguments - - i=68 - i=78 - i=13361 - - - - - - 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 - The size of the file in bytes. - - i=68 - i=78 - i=13366 - - - - Writable - Whether the file is writable. - - i=68 - i=78 - i=13366 - - - - UserWritable - Whether the file is writable by the current user. - - i=68 - i=78 - i=13366 - - - - OpenCount - The current number of open file handles. - - 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 - - - - - - - - - - AddressSpaceFileType - A file used to store a namespace exported from the server. - - i=11615 - i=11575 - - - - ExportNamespace - Updates the file by exporting the server namespace. - - i=80 - i=11595 - - - - NamespaceMetadataType - Provides the metadata for a namespace used by the server. - - i=11617 - i=11618 - i=11619 - i=11620 - i=11621 - i=11622 - i=11623 - i=11624 - i=58 - - - - NamespaceUri - The URI of the namespace. - - i=68 - i=78 - i=11616 - - - - NamespaceVersion - The human readable string representing version of the namespace. - - i=68 - i=78 - i=11616 - - - - NamespacePublicationDate - The publication date for the namespace. - - i=68 - i=78 - i=11616 - - - - IsNamespaceSubset - If TRUE then the server only supports a subset of the namespace. - - i=68 - i=78 - i=11616 - - - - StaticNodeIdIdentifierTypes - A list of IdTypes for nodes which are the same in every server that exposes them. - - i=68 - i=78 - i=11616 - - - - StaticNumericNodeIdRange - A list of ranges for numeric node ids which are the same in every server that exposes them. - - i=68 - i=78 - i=11616 - - - - StaticStringNodeIdPattern - A regular expression which matches string node ids are the same in every server that exposes them. - - i=68 - i=78 - i=11616 - - - - NamespaceFile - A file containing the nodes of the namespace. - - 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 - The size of the file in bytes. - - i=68 - i=78 - i=11624 - - - - Writable - Whether the file is writable. - - i=68 - i=78 - i=11624 - - - - UserWritable - Whether the file is writable by the current user. - - i=68 - i=78 - i=11624 - - - - OpenCount - The current number of open file handles. - - 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 - - - - - - - - - - NamespacesType - A container for the namespace metadata provided by the server. - - i=11646 - i=11675 - i=58 - - - - <NamespaceIdentifier> - - i=11647 - i=11648 - i=11649 - i=11650 - i=11651 - i=11652 - i=11653 - i=11616 - i=11508 - i=11645 - - - - NamespaceUri - The URI of the namespace. - - i=68 - i=78 - i=11646 - - - - NamespaceVersion - The human readable string representing version of the namespace. - - i=68 - i=78 - i=11646 - - - - NamespacePublicationDate - The publication date for the namespace. - - i=68 - i=78 - i=11646 - - - - IsNamespaceSubset - If TRUE then the server only supports a subset of the namespace. - - i=68 - i=78 - i=11646 - - - - StaticNodeIdIdentifierTypes - A list of IdTypes for nodes which are the same in every server that exposes them. - - i=68 - i=78 - i=11646 - - - - StaticNumericNodeIdRange - A list of ranges for numeric node ids which are the same in every server that exposes them. - - i=68 - i=78 - i=11646 - - - - StaticStringNodeIdPattern - A regular expression which matches string node ids are the same in every server that exposes them. - - i=68 - i=78 - i=11646 - - - - AddressSpaceFile - A file containing the nodes of the namespace. - - i=11676 - i=12694 - i=12695 - i=11679 - i=11680 - i=11683 - i=11685 - i=11688 - i=11690 - i=11693 - i=11595 - i=80 - i=11645 - - - - Size - The size of the file in bytes. - - i=68 - i=78 - i=11675 - - - - Writable - Whether the file is writable. - - i=68 - i=78 - i=11675 - - - - UserWritable - Whether the file is writable by the current user. - - i=68 - i=78 - i=11675 - - - - OpenCount - The current number of open file handles. - - i=68 - i=78 - i=11675 - - - - Open - - i=11681 - i=11682 - i=78 - i=11675 - - - - InputArguments - - i=68 - i=78 - i=11680 - - - - - - i=297 - - - - Mode - - i=3 - - -1 - - - - - - - - - - OutputArguments - - i=68 - i=78 - i=11680 - - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - - Close - - i=11684 - i=78 - i=11675 - - - - InputArguments - - i=68 - i=78 - i=11683 - - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - - Read - - i=11686 - i=11687 - i=78 - i=11675 - - - - InputArguments - - i=68 - i=78 - i=11685 - - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Length - - i=6 - - -1 - - - - - - - - - - OutputArguments - - i=68 - i=78 - i=11685 - - - - - - i=297 - - - - Data - - i=15 - - -1 - - - - - - - - - - Write - - i=11689 - i=78 - i=11675 - - - - InputArguments - - i=68 - i=78 - i=11688 - - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Data - - i=15 - - -1 - - - - - - - - - - GetPosition - - i=11691 - i=11692 - i=78 - i=11675 - - - - InputArguments - - i=68 - i=78 - i=11690 - - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - - OutputArguments - - i=68 - i=78 - i=11690 - - - - - - i=297 - - - - Position - - i=9 - - -1 - - - - - - - - - - SetPosition - - i=11694 - i=78 - i=11675 - - - - InputArguments - - i=68 - i=78 - i=11693 - - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Position - - i=9 - - -1 - - - - - - - - - - BaseEventType - The base type for all events. - - i=2042 - i=2043 - i=2044 - i=2045 - i=2046 - i=2047 - i=3190 - i=2050 - i=2051 - i=58 - - - - EventId - A globally unique identifier for the event. - - i=68 - i=78 - i=2041 - - - - EventType - The identifier for the event type. - - i=68 - i=78 - i=2041 - - - - SourceNode - The source of the event. - - i=68 - i=78 - i=2041 - - - - SourceName - A description of the source of the event. - - i=68 - i=78 - i=2041 - - - - Time - When the event occurred. - - i=68 - i=78 - i=2041 - - - - ReceiveTime - When the server received the event from the underlying system. - - i=68 - i=78 - i=2041 - - - - LocalTime - Information about the local time where the event originated. - - i=68 - i=78 - i=2041 - - - - Message - A localized description of the event. - - i=68 - i=78 - i=2041 - - - - Severity - Indicates how urgent an event is. - - i=68 - i=78 - i=2041 - - - - AuditEventType - A base type for events used to track client initiated changes to the server state. - - i=2053 - i=2054 - i=2055 - i=2056 - i=2057 - i=2041 - - - - ActionTimeStamp - When the action triggering the event occurred. - - i=68 - i=78 - i=2052 - - - - Status - If TRUE the action was performed. If FALSE the action failed and the server state did not change. - - i=68 - i=78 - i=2052 - - - - ServerId - The unique identifier for the server generating the event. - - i=68 - i=78 - i=2052 - - - - ClientAuditEntryId - The log entry id provided in the request that initiated the action. - - i=68 - i=78 - i=2052 - - - - ClientUserId - The user identity associated with the session that initiated the action. - - i=68 - i=78 - i=2052 - - - - AuditSecurityEventType - A base type for events used to track security related changes. - - i=2052 - - - - AuditChannelEventType - A base type for events used to track related changes to a secure channel. - - i=2745 - i=2058 - - - - SecureChannelId - The identifier for the secure channel that was changed. - - i=68 - i=78 - i=2059 - - - - AuditOpenSecureChannelEventType - An event that is raised when a secure channel is opened. - - i=2061 - i=2746 - i=2062 - i=2063 - i=2065 - i=2066 - i=2059 - - - - ClientCertificate - The certificate provided by the client. - - i=68 - i=78 - i=2060 - - - - ClientCertificateThumbprint - The thumbprint for certificate provided by the client. - - i=68 - i=78 - i=2060 - - - - RequestType - The type of request (NEW or RENEW). - - i=68 - i=78 - i=2060 - - - - SecurityPolicyUri - The security policy used by the channel. - - i=68 - i=78 - i=2060 - - - - SecurityMode - The security mode used by the channel. - - i=68 - i=78 - i=2060 - - - - RequestedLifetime - The lifetime of the channel requested by the client. - - i=68 - i=78 - i=2060 - - - - AuditSessionEventType - A base type for events used to track related changes to a session. - - i=2070 - i=2058 - - - - SessionId - The unique identifier for the session,. - - i=68 - i=78 - i=2069 - - - - AuditCreateSessionEventType - An event that is raised when a session is created. - - i=2072 - i=2073 - i=2747 - i=2074 - i=2069 - - - - SecureChannelId - The secure channel associated with the session. - - i=68 - i=78 - i=2071 - - - - ClientCertificate - The certificate provided by the client. - - i=68 - i=78 - i=2071 - - - - ClientCertificateThumbprint - The thumbprint of the certificate provided by the client. - - i=68 - i=78 - i=2071 - - - - RevisedSessionTimeout - The timeout for the session. - - i=68 - i=78 - i=2071 - - - - AuditUrlMismatchEventType - - i=2749 - i=2071 - - - - EndpointUrl - - i=68 - i=78 - i=2748 - - - - AuditActivateSessionEventType - - 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 - - i=2079 - i=2069 - - - - RequestHandle - - i=68 - i=78 - i=2078 - - - - AuditCertificateEventType - - i=2081 - i=2058 - - - - Certificate - - i=68 - i=78 - i=2080 - - - - AuditCertificateDataMismatchEventType - - i=2083 - i=2084 - i=2080 - - - - InvalidHostname - - i=68 - i=78 - i=2082 - - - - InvalidUri - - i=68 - i=78 - i=2082 - - - - AuditCertificateExpiredEventType - - i=2080 - - - - AuditCertificateInvalidEventType - - i=2080 - - - - AuditCertificateUntrustedEventType - - i=2080 - - - - AuditCertificateRevokedEventType - - i=2080 - - - - AuditCertificateMismatchEventType - - i=2080 - - - - AuditNodeManagementEventType - - i=2052 - - - - AuditAddNodesEventType - - i=2092 - i=2090 - - - - NodesToAdd - - i=68 - i=78 - i=2091 - - - - AuditDeleteNodesEventType - - i=2094 - i=2090 - - - - NodesToDelete - - i=68 - i=78 - i=2093 - - - - AuditAddReferencesEventType - - i=2096 - i=2090 - - - - ReferencesToAdd - - i=68 - i=78 - i=2095 - - - - AuditDeleteReferencesEventType - - i=2098 - i=2090 - - - - ReferencesToDelete - - i=68 - i=78 - i=2097 - - - - AuditUpdateEventType - - i=2052 - - - - AuditWriteUpdateEventType - - 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 - - i=2751 - i=2099 - - - - ParameterDataTypeId - - i=68 - i=78 - i=2104 - - - - AuditUpdateMethodEventType - - i=2128 - i=2129 - i=2052 - - - - MethodId - - i=68 - i=78 - i=2127 - - - - InputArguments - - i=68 - i=78 - i=2127 - - - - SystemEventType - - i=2041 - - - - DeviceFailureEventType - - i=2130 - - - - SystemStatusChangeEventType - - i=11696 - i=2130 - - - - SystemState - - i=68 - i=78 - i=11446 - - - - BaseModelChangeEventType - - i=2041 - - - - GeneralModelChangeEventType - - i=2134 - i=2132 - - - - Changes - - i=68 - i=78 - i=2133 - - - - SemanticChangeEventType - - i=2739 - i=2132 - - - - Changes - - i=68 - i=78 - i=2738 - - - - EventQueueOverflowEventType - - i=2041 - - - - ProgressEventType - - i=12502 - i=12503 - i=2041 - - - - Context - - i=68 - i=78 - i=11436 - - - - Progress - - i=68 - i=78 - i=11436 - - - - AggregateFunctionType - - i=58 - - - - ServerVendorCapabilityType - - i=63 - - - - ServerStatusType - - 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 - - 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 - - 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 - - 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 - - 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 - - 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 - - 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 - - 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 - - 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 - - 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 - - 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 - - i=11488 - i=11701 - i=63 - - - - OptionSetValues - - i=68 - i=78 - i=11487 - - - - BitMask - - i=68 - i=80 - i=11487 - - - - EventTypes - - i=86 - i=2041 - i=61 - - - - Server - - i=2254 - i=2255 - i=2256 - i=2267 - i=2994 - i=12885 - i=2268 - i=2274 - i=2295 - i=2296 - i=11715 - i=11492 - i=12873 - i=12749 - i=12886 - i=85 - i=2004 - - - - ServerArray - The list of server URIs used by the server. - - i=68 - i=2253 - - - - NamespaceArray - The list of namespace URIs used by the server. - - i=68 - i=2253 - - - - ServerStatus - The current status of the server. - - 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 - A value indicating the level of service the server can provide. 255 indicates the best. - - i=68 - i=2253 - - - - Auditing - A flag indicating whether the server is currently generating audit events. - - i=68 - i=2253 - - - - EstimatedReturnTime - Indicates the time at which the Server is expected to be available in the state RUNNING. - - i=68 - i=2253 - - - - ServerCapabilities - Describes capabilities supported by the server. - - 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=2013 - i=2253 - - - - ServerProfileArray - A list of profiles supported by the server. - - i=68 - i=2268 - - - - LocaleIdArray - A list of locales supported by the server. - - i=68 - i=2268 - - - - MinSupportedSampleRate - The minimum sampling interval supported by the server. - - i=68 - i=2268 - - - - MaxBrowseContinuationPoints - The maximum number of continuation points for Browse operations per session. - - i=68 - i=2268 - - - - MaxQueryContinuationPoints - The maximum number of continuation points for Query operations per session. - - i=68 - i=2268 - - - - MaxHistoryContinuationPoints - The maximum number of continuation points for ReadHistory operations per session. - - i=68 - i=2268 - - - - SoftwareCertificates - The software certificates owned by the server. - - i=68 - i=2268 - - - - MaxArrayLength - The maximum length for an array value supported by the server. - - i=68 - i=2268 - - - - MaxStringLength - The maximum length for a string value supported by the server. - - i=68 - i=2268 - - - - MaxByteStringLength - The maximum length for a byte string value supported by the server. - - i=68 - i=2268 - - - - OperationLimits - Defines the limits supported by the server for different operations. - - 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 - The maximum number of operations in a single Read request. - - i=68 - i=11704 - - - - MaxNodesPerHistoryReadData - The maximum number of operations in a single data HistoryRead request. - - i=68 - i=11704 - - - - MaxNodesPerHistoryReadEvents - The maximum number of operations in a single event HistoryRead request. - - i=68 - i=11704 - - - - MaxNodesPerWrite - The maximum number of operations in a single Write request. - - i=68 - i=11704 - - - - MaxNodesPerHistoryUpdateData - The maximum number of operations in a single data HistoryUpdate request. - - i=68 - i=11704 - - - - MaxNodesPerHistoryUpdateEvents - The maximum number of operations in a single event HistoryUpdate request. - - i=68 - i=11704 - - - - MaxNodesPerMethodCall - The maximum number of operations in a single Call request. - - i=68 - i=11704 - - - - MaxNodesPerBrowse - The maximum number of operations in a single Browse request. - - i=68 - i=11704 - - - - MaxNodesPerRegisterNodes - The maximum number of operations in a single RegisterNodes request. - - i=68 - i=11704 - - - - MaxNodesPerTranslateBrowsePathsToNodeIds - The maximum number of operations in a single TranslateBrowsePathsToNodeIds request. - - i=68 - i=11704 - - - - MaxNodesPerNodeManagement - The maximum number of operations in a single AddNodes, AddReferences, DeleteNodes or DeleteReferences request. - - i=68 - i=11704 - - - - MaxMonitoredItemsPerCall - The maximum number of operations in a single MonitoredItem related request. - - i=68 - i=11704 - - - - ModellingRules - A folder for the modelling rules supported by the server. - - i=61 - i=2268 - - - - AggregateFunctions - A folder for the real time aggregates supported by the server. - - i=61 - i=2268 - - - - ServerDiagnostics - Reports diagnostics about the server. - - i=2275 - i=2289 - i=2290 - i=3706 - i=2294 - i=2020 - i=2253 - - - - ServerDiagnosticsSummary - A summary of server level diagnostics. - - 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 - A list of diagnostics for each sampling interval supported by the server. - - i=2164 - i=2274 - - - - SubscriptionDiagnosticsArray - A list of diagnostics for each active subscription. - - i=2171 - i=2274 - - - - SessionsDiagnosticsSummary - A summary of session level diagnostics. - - i=3707 - i=3708 - i=2026 - i=2274 - - - - SessionDiagnosticsArray - A list of diagnostics for each active session. - - i=2196 - i=3706 - - - - SessionSecurityDiagnosticsArray - A list of security related diagnostics for each active session. - - i=2243 - i=3706 - - - - EnabledFlag - If TRUE the diagnostics collection is enabled. - - i=68 - i=2274 - - - - VendorServerInfo - Server information provided by the vendor. - - i=2033 - i=2253 - - - - ServerRedundancy - Describes the redundancy capabilities of the server. - - i=3709 - i=11312 - i=11313 - i=11314 - i=14415 - i=2034 - i=2253 - - - - RedundancySupport - Indicates what style of redundancy is supported by the server. - - i=68 - i=2296 - - - - CurrentServerId - - i=68 - i=2296 - - - - RedundantServerArray - - i=68 - i=2296 - - - - ServerUriArray - - i=68 - i=2296 - - - - ServerNetworkGroups - - i=68 - i=2296 - - - - Namespaces - Describes the namespaces supported by the server. - - i=11645 - i=2253 - - - - GetMonitoredItems - - 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 - - - - - - - - i=297 - - - - ClientHandles - - i=7 - - 1 - - - - - - - - - - ResendData - - i=12874 - i=2253 - - - - InputArguments - - i=68 - i=12873 - - - - - - i=297 - - - - SubscriptionId - - i=7 - - -1 - - - - - - - - - - SetSubscriptionDurable - - 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 - - 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 - - - - - - - - - - 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=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 - - - - BitFieldMaskDataType - A mask of 32 bits that can be updated individually by using the top 32 bits as a mask. - - i=9 - - - - StateMachineType - - 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 - - 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 - - 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 - - i=2772 - i=2773 - 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 - - - - FiniteStateVariableType - - i=2761 - i=2755 - - - - Id - - i=68 - i=78 - i=2760 - - - - FiniteTransitionVariableType - - i=2768 - i=2762 - - - - Id - - i=68 - i=78 - i=2767 - - - - StateType - - i=2308 - i=58 - - - - StateNumber - - i=68 - i=78 - i=2307 - - - - InitialStateType - - i=2307 - - - - TransitionType - - i=2312 - i=58 - - - - TransitionNumber - - i=68 - i=78 - i=2310 - - - - TransitionEventType - - 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 - - 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=78 - i=11939 - - - - - - i=7616 - - - - 1 - - - - Read - - - - - - - - i=7616 - - - - 2 - - - - Write - - - - - - - - i=7616 - - - - 4 - - - - EraseExisting - - - - - - - - i=7616 - - - - 8 - - - - Append - - - - - - - - - - DataItemType - A variable that contains live automation data. - - i=2366 - i=2367 - i=63 - - - - Definition - A vendor-specific, human readable string that specifies how the value of this DataItem is calculated. - - i=68 - i=80 - i=2365 - - - - ValuePrecision - The maximum precision that the server can maintain for the item based on restrictions in the target environment. - - i=68 - i=80 - i=2365 - - - - AnalogItemType - - i=2370 - i=2369 - i=2371 - i=2365 - - - - InstrumentRange - - i=68 - i=80 - i=2368 - - - - EURange - - i=68 - i=78 - i=2368 - - - - EngineeringUnits - - i=68 - i=80 - i=2368 - - - - DiscreteItemType - - i=2365 - - - - TwoStateDiscreteType - - i=2374 - i=2375 - i=2372 - - - - FalseState - - i=68 - i=78 - i=2373 - - - - TrueState - - i=68 - i=78 - i=2373 - - - - MultiStateDiscreteType - - i=2377 - i=2372 - - - - EnumStrings - - i=68 - i=78 - i=2376 - - - - MultiStateValueDiscreteType - - i=11241 - i=11461 - i=2372 - - - - EnumValues - - i=68 - i=78 - i=11238 - - - - ValueAsText - - i=68 - i=78 - i=11238 - - - - ArrayItemType - - 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 - - i=12037 - i=12021 - - - - XAxisDefinition - - i=68 - i=78 - i=12029 - - - - XYArrayItemType - - i=12046 - i=12021 - - - - XAxisDefinition - - i=68 - i=78 - i=12038 - - - - ImageItemType - - i=12055 - i=12056 - i=12021 - - - - XAxisDefinition - - i=68 - i=78 - i=12047 - - - - YAxisDefinition - - i=68 - i=78 - i=12047 - - - - CubeItemType - - 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 - - i=12076 - i=12021 - - - - AxisDefinition - - i=68 - i=78 - i=12068 - - - - TwoStateVariableType - - 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 - - i=9003 - i=63 - - - - SourceTimestamp - - i=68 - i=78 - i=9002 - - - - HasTrueSubState - - i=32 - - IsTrueSubStateOf - - - HasFalseSubState - - i=32 - - IsFalseSubStateOf - - - ConditionType - - i=11112 - i=11113 - 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 - - - - 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=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 - - - - 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 - - i=2803 - i=78 - i=2782 - - - - Enable - - i=2803 - i=78 - i=2782 - - - - AddComment - - 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 - - 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 suscription to refresh. - - - - - - - - - ConditionRefresh2 - - 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 suscription to refresh. - - - - - - - i=297 - - - - MonitoredItemId - - i=288 - - -1 - - - - - The identifier for the monitored item to refresh. - - - - - - - - - DialogConditionType - - 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=9035 - i=8995 - i=78 - i=2830 - - - - Id - - i=68 - i=78 - i=9055 - - - - TransitionTime - - i=68 - i=80 - i=9055 - - - - 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 - - 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 - - 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=9073 - i=8995 - i=78 - i=2881 - - - - Id - - i=68 - i=78 - i=9093 - - - - TransitionTime - - i=68 - i=80 - i=9093 - - - - ConfirmedState - - i=9103 - i=9107 - i=9073 - i=8995 - i=80 - i=2881 - - - - Id - - i=68 - i=78 - i=9102 - - - - TransitionTime - - i=68 - i=80 - i=9102 - - - - Acknowledge - - 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 - - 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 - - i=9118 - i=9160 - i=11120 - i=9169 - i=9178 - i=9215 - i=9216 - 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=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 - - - - InputNode - - i=68 - i=78 - i=2915 - - - - SuppressedState - - i=9170 - i=9174 - i=9118 - i=8995 - i=80 - i=2915 - - - - Id - - i=68 - i=78 - i=9169 - - - - TransitionTime - - i=68 - i=80 - i=9169 - - - - ShelvingState - - i=9179 - i=9184 - i=9189 - i=9211 - i=9212 - i=9213 - 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 - - - - Unshelve - - i=11093 - i=78 - i=9178 - - - - OneShotShelve - - i=11093 - 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. - - - - - - - - - SuppressedOrShelved - - i=68 - i=78 - i=2915 - - - - MaxTimeShelved - - i=68 - i=80 - i=2915 - - - - ShelvedStateMachineType - - i=9115 - i=2930 - i=2932 - i=2933 - i=2935 - i=2936 - i=2940 - i=2942 - i=2943 - i=2945 - i=2947 - i=2948 - i=2949 - 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 - - - - TimedShelved - - i=6100 - i=2935 - i=2940 - i=2942 - i=2945 - i=2307 - i=2929 - - - - StateNumber - - i=68 - i=78 - i=2932 - - - - OneShotShelved - - i=6101 - i=2936 - i=2942 - i=2943 - i=2945 - i=2307 - i=2929 - - - - StateNumber - - i=68 - i=78 - i=2933 - - - - UnshelvedToTimedShelved - - i=11322 - i=2930 - i=2932 - i=2915 - i=2949 - i=2310 - i=2929 - - - - TransitionNumber - - i=68 - i=78 - i=2935 - - - - UnshelvedToOneShotShelved - - i=11323 - i=2930 - i=2933 - i=2915 - i=2948 - i=2310 - i=2929 - - - - TransitionNumber - - i=68 - i=78 - i=2936 - - - - TimedShelvedToUnshelved - - i=11324 - i=2932 - i=2930 - i=2915 - i=2947 - i=2310 - i=2929 - - - - TransitionNumber - - i=68 - i=78 - i=2940 - - - - TimedShelvedToOneShotShelved - - i=11325 - i=2932 - i=2933 - i=2915 - i=2948 - i=2310 - i=2929 - - - - TransitionNumber - - i=68 - i=78 - i=2942 - - - - OneShotShelvedToUnshelved - - i=11326 - i=2933 - i=2930 - i=2915 - i=2947 - i=2310 - i=2929 - - - - TransitionNumber - - i=68 - i=78 - i=2943 - - - - OneShotShelvedToTimedShelved - - i=11327 - i=2933 - i=2932 - i=2915 - i=2949 - i=2310 - i=2929 - - - - TransitionNumber - - i=68 - i=78 - i=2945 - - - - Unshelve - - i=2940 - i=2943 - i=11093 - i=78 - i=2929 - - - - OneShotShelve - - i=2936 - i=2942 - i=11093 - i=78 - i=2929 - - - - TimedShelve - - 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. - - - - - - - - - LimitAlarmType - - i=11124 - i=11125 - i=11126 - i=11127 - 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 - - - - ExclusiveLimitStateMachineType - - 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 - - - - High - - i=9332 - i=9339 - i=9340 - i=2307 - i=9318 - - - - StateNumber - - i=68 - i=78 - i=9331 - - - - Low - - i=9334 - i=9337 - i=9338 - i=2307 - i=9318 - - - - StateNumber - - i=68 - i=78 - i=9333 - - - - LowLow - - i=9336 - i=9337 - i=9338 - i=2307 - i=9318 - - - - StateNumber - - i=68 - i=78 - i=9335 - - - - LowLowToLow - - i=11340 - i=9335 - i=9333 - i=2310 - i=9318 - - - - TransitionNumber - - i=68 - i=78 - i=9337 - - - - LowToLowLow - - i=11341 - i=9333 - i=9335 - i=2310 - i=9318 - - - - TransitionNumber - - i=68 - i=78 - i=9338 - - - - HighHighToHigh - - i=11342 - i=9329 - i=9331 - i=2310 - i=9318 - - - - TransitionNumber - - i=68 - i=78 - i=9339 - - - - HighToHighHigh - - i=11343 - i=9331 - i=9329 - i=2310 - i=9318 - - - - TransitionNumber - - i=68 - i=78 - i=9340 - - - - ExclusiveLimitAlarmType - - 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 - - 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=9963 - i=8995 - i=80 - i=9906 - - - - Id - - i=68 - i=78 - i=10020 - - - - TransitionTime - - i=68 - i=80 - i=10020 - - - - HighState - - i=10030 - i=10034 - i=9963 - i=8995 - i=80 - i=9906 - - - - Id - - i=68 - i=78 - i=10029 - - - - TransitionTime - - i=68 - i=80 - i=10029 - - - - LowState - - i=10039 - i=10043 - i=9963 - i=8995 - i=80 - i=9906 - - - - Id - - i=68 - i=78 - i=10038 - - - - TransitionTime - - i=68 - i=80 - i=10038 - - - - LowLowState - - i=10048 - i=10052 - i=9963 - i=8995 - i=80 - i=9906 - - - - Id - - i=68 - i=78 - i=10047 - - - - TransitionTime - - i=68 - i=80 - i=10047 - - - - NonExclusiveLevelAlarmType - - i=9906 - - - - ExclusiveLevelAlarmType - - i=9341 - - - - NonExclusiveDeviationAlarmType - - i=10522 - i=9906 - - - - SetpointNode - - i=68 - i=78 - i=10368 - - - - ExclusiveDeviationAlarmType - - i=9905 - i=9341 - - - - SetpointNode - - i=68 - i=78 - i=9764 - - - - NonExclusiveRateOfChangeAlarmType - - i=9906 - - - - ExclusiveRateOfChangeAlarmType - - i=9341 - - - - DiscreteAlarmType - - i=2915 - - - - OffNormalAlarmType - - i=11158 - i=10523 - - - - NormalState - - i=68 - i=78 - i=10637 - - - - SystemOffNormalAlarmType - - i=10637 - - - - CertificateExpirationAlarmType - - i=13325 - i=13326 - i=13327 - i=11753 - - - - ExpirationDate - - i=68 - i=78 - i=13225 - - - - CertificateType - - i=68 - i=78 - i=13225 - - - - Certificate - - i=68 - i=78 - i=13225 - - - - TripAlarmType - - i=10637 - - - - BaseConditionClassType - - i=58 - - - - ProcessConditionClassType - - i=11163 - - - - MaintenanceConditionClassType - - i=11163 - - - - SystemConditionClassType - - i=11163 - - - - AuditConditionEventType - - i=2127 - - - - AuditConditionEnableEventType - - i=2790 - - - - AuditConditionCommentEventType - - i=4170 - i=11851 - i=2790 - - - - EventId - A globally unique identifier for the event. - - i=68 - i=78 - i=2829 - - - - Comment - - i=68 - i=78 - i=2829 - - - - AuditConditionRespondEventType - - i=11852 - i=2790 - - - - SelectedResponse - - i=68 - i=78 - i=8927 - - - - AuditConditionAcknowledgeEventType - - i=8945 - i=11853 - i=2790 - - - - EventId - A globally unique identifier for the event. - - i=68 - i=78 - i=8944 - - - - Comment - - i=68 - i=78 - i=8944 - - - - AuditConditionConfirmEventType - - i=8962 - i=11854 - i=2790 - - - - EventId - A globally unique identifier for the event. - - i=68 - i=78 - i=8961 - - - - Comment - - i=68 - i=78 - i=8961 - - - - AuditConditionShelvingEventType - - i=11855 - i=2790 - - - - ShelvingTime - - i=68 - i=78 - i=11093 - - - - RefreshStartEventType - - i=2130 - - - - RefreshEndEventType - - i=2130 - - - - RefreshRequiredEventType - - i=2130 - - - - HasCondition - - i=32 - - IsConditionOf - - - ProgramStateMachineType - A state machine for a program. - - i=3830 - i=3835 - i=2392 - i=2393 - i=2394 - i=2395 - i=2396 - i=2397 - i=2398 - i=2399 - i=3850 - i=2400 - i=2402 - i=2404 - i=2406 - 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=79 - i=2391 - - - - RecycleCount - - i=68 - i=78 - i=2391 - - - - InstanceCount - - i=68 - i=2391 - - - - MaxInstanceCount - - i=68 - i=2391 - - - - MaxRecycleCount - - i=68 - i=2391 - - - - ProgramDiagnostics - - i=3840 - i=3841 - i=3842 - i=3843 - i=3844 - i=3845 - i=3846 - i=3847 - i=3848 - i=3849 - i=2380 - i=80 - i=2391 - - - - CreateSessionId - - i=68 - i=78 - i=2399 - - - - CreateClientName - - i=68 - i=78 - i=2399 - - - - InvocationCreationTime - - i=68 - i=78 - i=2399 - - - - LastTransitionTime - - i=68 - i=78 - i=2399 - - - - LastMethodCall - - i=68 - i=78 - i=2399 - - - - LastMethodSessionId - - i=68 - i=78 - i=2399 - - - - LastMethodInputArguments - - i=68 - i=78 - i=2399 - - - - LastMethodOutputArguments - - i=68 - i=78 - i=2399 - - - - LastMethodCallTime - - i=68 - i=78 - i=2399 - - - - LastMethodReturnStatus - - i=68 - i=78 - i=2399 - - - - FinalResultData - - i=58 - i=80 - i=2391 - - - - Ready - The Program is properly initialized and may be started. - - i=2401 - i=2408 - i=2410 - i=2414 - i=2422 - i=2424 - i=2307 - i=2391 - - - - StateNumber - - i=68 - i=78 - i=2400 - - - 1 - - - - Running - The Program is executing making progress towards completion. - - i=2403 - i=2410 - i=2412 - i=2414 - i=2416 - i=2418 - i=2307 - i=2391 - - - - StateNumber - - i=68 - i=78 - i=2402 - - - 2 - - - - Suspended - The Program has been stopped prior to reaching a terminal state but may be resumed. - - i=2405 - i=2416 - i=2418 - i=2420 - i=2422 - i=2307 - i=2391 - - - - StateNumber - - i=68 - i=78 - i=2404 - - - 3 - - - - Halted - The Program is in a terminal or failed state, and it cannot be started or resumed without being reset. - - i=2407 - i=2408 - i=2412 - i=2420 - i=2424 - i=2307 - i=2391 - - - - StateNumber - - i=68 - i=78 - i=2406 - - - 4 - - - - 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 - Causes the Program to transition from the Ready state to the Running state. - - i=2410 - i=78 - i=2391 - - - - Suspend - Causes the Program to transition from the Running state to the Suspended state. - - i=2416 - i=78 - i=2391 - - - - Resume - Causes the Program to transition from the Suspended state to the Running state. - - i=2418 - i=78 - i=2391 - - - - Halt - Causes the Program to transition from the Ready, Running or Suspended state to the Halted state. - - i=2412 - i=2420 - i=2424 - i=78 - i=2391 - - - - Reset - Causes the Program to transition from the Halted state to the Ready state. - - i=2408 - i=78 - i=2391 - - - - ProgramTransitionEventType - - i=2379 - i=2311 - - - - IntermediateResult - - i=68 - i=78 - i=2378 - - - - AuditProgramTransitionEventType - - 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 - - - - Annotations - - i=68 - - - - HistoricalDataConfigurationType - - i=3059 - i=11876 - i=2323 - i=2324 - i=2325 - i=2326 - i=2327 - i=2328 - i=11499 - i=11500 - 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 - - - - HA Configuration - - 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 - - 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=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 - - - - AuditHistoryEventUpdateEventType - - 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 - - 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 - - - - AuditHistoryDeleteEventType - - i=3027 - i=2104 - - - - UpdatedNode - - i=68 - i=78 - i=3012 - - - - AuditHistoryRawModifyDeleteEventType - - 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 - - i=3020 - i=3021 - i=3012 - - - - ReqTimes - - i=68 - i=78 - i=3019 - - - - OldValues - - i=68 - i=78 - i=3019 - - - - AuditHistoryEventDeleteEventType - - i=3023 - i=3024 - i=3012 - - - - EventIds - - i=68 - i=78 - i=3022 - - - - OldValues - - i=68 - i=78 - i=3022 - - - - TrustListType - - i=12542 - i=12543 - i=12546 - i=12548 - i=12550 - i=11575 - - - - LastUpdateTime - - i=68 - i=78 - 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=78 - 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 - - - - - - - - - - - CertificateGroupType - - i=13599 - i=13631 - 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 - The size of the file in bytes. - - i=68 - i=78 - i=13599 - - - - Writable - Whether the file is writable. - - i=68 - i=78 - i=13599 - - - - UserWritable - Whether the file is writable by the current user. - - i=68 - i=78 - i=13599 - - - - OpenCount - The current number of open file handles. - - 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 - - - - 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 - The size of the file in bytes. - - i=68 - i=78 - i=13815 - - - - Writable - Whether the file is writable. - - i=68 - i=78 - i=13815 - - - - UserWritable - Whether the file is writable by the current user. - - i=68 - i=78 - i=13815 - - - - OpenCount - The current number of open file handles. - - 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 - The size of the file in bytes. - - i=68 - i=78 - i=13849 - - - - Writable - Whether the file is writable. - - i=68 - i=78 - i=13849 - - - - UserWritable - Whether the file is writable by the current user. - - i=68 - i=78 - i=13849 - - - - OpenCount - The current number of open file handles. - - 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 - The size of the file in bytes. - - i=68 - i=78 - i=13883 - - - - Writable - Whether the file is writable. - - i=68 - i=78 - i=13883 - - - - UserWritable - Whether the file is writable by the current user. - - i=68 - i=78 - i=13883 - - - - OpenCount - The current number of open file handles. - - 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 - - - - <CertificateGroup> - - i=13917 - i=13949 - i=12555 - i=11510 - 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 - The size of the file in bytes. - - i=68 - i=78 - i=13917 - - - - Writable - Whether the file is writable. - - i=68 - i=78 - i=13917 - - - - UserWritable - Whether the file is writable by the current user. - - i=68 - i=78 - i=13917 - - - - OpenCount - The current number of open file handles. - - 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 - - - - RsaMinApplicationCertificateType - - i=12557 - - - - RsaSha256ApplicationCertificateType - - i=12557 - - - - 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 - The size of the file in bytes. - - i=68 - i=78 - i=13952 - - - - Writable - Whether the file is writable. - - i=68 - i=78 - i=13952 - - - - UserWritable - Whether the file is writable by the current user. - - i=68 - i=78 - i=13952 - - - - OpenCount - The current number of open file handles. - - 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 - - - - - - - - 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 - - - - - - - - - - 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 - The size of the file in bytes. - - i=68 - i=12642 - - - - Writable - Whether the file is writable. - - i=68 - i=12642 - - - - UserWritable - Whether the file is writable by the current user. - - i=68 - i=12642 - - - - OpenCount - The current number of open file handles. - - i=68 - i=12642 - - - - Open - - 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 - - i=12651 - i=12642 - - - - InputArguments - - i=68 - i=12650 - - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - - Read - - 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 - - i=12656 - i=12642 - - - - InputArguments - - i=68 - i=12655 - - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Data - - i=15 - - -1 - - - - - - - - - - GetPosition - - 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 - - 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 - The size of the file in bytes. - - i=68 - i=14089 - - - - Writable - Whether the file is writable. - - i=68 - i=14089 - - - - UserWritable - Whether the file is writable by the current user. - - i=68 - i=14089 - - - - OpenCount - The current number of open file handles. - - 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 - The size of the file in bytes. - - i=68 - i=14123 - - - - Writable - Whether the file is writable. - - i=68 - i=14123 - - - - UserWritable - Whether the file is writable by the current user. - - i=68 - i=14123 - - - - OpenCount - The current number of open file handles. - - 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 - - - - - - - - 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 - - - - - - - - - - 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 - At the beginning of each interval, retrieve the calculated value from the data points on either side of the requested timestamp. - - i=2340 - - - - Average - Retrieve the average value of the data over the interval. - - i=2340 - - - - TimeAverage - Retrieve the time weighted average data over the interval using Interpolated Bounding Values. - - i=2340 - - - - TimeAverage2 - Retrieve the time weighted average data over the interval using Simple Bounding Values. - - i=2340 - - - - Total - Retrieve the total (time integral) of the data over the interval using Interpolated Bounding Values. - - i=2340 - - - - Total2 - Retrieve the total (time integral) of the data over the interval using Simple Bounding Values. - - i=2340 - - - - Minimum - Retrieve the minimum raw value in the interval with the timestamp of the start of the interval. - - i=2340 - - - - Maximum - Retrieve the maximum raw value in the interval with the timestamp of the start of the interval. - - i=2340 - - - - MinimumActualTime - Retrieve the minimum value in the interval and the Timestamp of the minimum value. - - i=2340 - - - - MaximumActualTime - Retrieve the maximum value in the interval and the Timestamp of the maximum value. - - i=2340 - - - - Range - Retrieve the difference between the minimum and maximum Value over the interval. - - i=2340 - - - - Minimum2 - Retrieve the minimum value in the interval including the Simple Bounding Values. - - i=2340 - - - - Maximum2 - Retrieve the maximum value in the interval including the Simple Bounding Values. - - i=2340 - - - - MinimumActualTime2 - Retrieve the minimum value with the actual timestamp including the Simple Bounding Values. - - i=2340 - - - - MaximumActualTime2 - Retrieve the maximum value with the actual timestamp including the Simple Bounding Values. - - i=2340 - - - - Range2 - Retrieve the difference between the Minimum2 and Maximum2 value over the interval. - - i=2340 - - - - AnnotationCount - Retrieve the number of Annotations in the interval. - - i=2340 - - - - Count - Retrieve the number of raw values over the interval. - - i=2340 - - - - DurationInStateZero - Retrieve the time a Boolean or numeric was in a zero state using Simple Bounding Values. - - i=2340 - - - - DurationInStateNonZero - Retrieve the time a Boolean or numeric was in a non-zero state using Simple Bounding Values. - - i=2340 - - - - NumberOfTransitions - Retrieve the number of changes between zero and non-zero that a Boolean or Numeric value experienced in the interval. - - i=2340 - - - - Start - Retrieve the value at the beginning of the interval using Interpolated Bounding Values. - - i=2340 - - - - End - Retrieve the value at the end of the interval using Interpolated Bounding Values. - - i=2340 - - - - Delta - Retrieve the difference between the Start and End value in the interval. - - i=2340 - - - - StartBound - Retrieve the value at the beginning of the interval using Simple Bounding Values. - - i=2340 - - - - EndBound - Retrieve the value at the end of the interval using Simple Bounding Values. - - i=2340 - - - - DeltaBounds - Retrieve the difference between the StartBound and EndBound value in the interval. - - i=2340 - - - - DurationGood - Retrieve the total duration of time in the interval during which the data is good. - - i=2340 - - - - DurationBad - Retrieve the total duration of time in the interval during which the data is bad. - - i=2340 - - - - PercentGood - Retrieve the percent of data (0 to 100) in the interval which has a good StatusCode. - - i=2340 - - - - PercentBad - Retrieve the percent of data (0 to 100) in the interval which has a bad StatusCode. - - i=2340 - - - - WorstQuality - Retrieve the worst StatusCode of data in the interval. - - i=2340 - - - - WorstQuality2 - Retrieve the worst StatusCode of data in the interval including the Simple Bounding Values. - - i=2340 - - - - StandardDeviationSample - Retrieve the standard deviation for the interval for a sample of the population (n-1). - - i=2340 - - - - StandardDeviationPopulation - Retrieve the standard deviation for the interval for a complete population (n) which includes Simple Bounding Values. - - i=2340 - - - - VarianceSample - Retrieve the variance for the interval as calculated by the StandardDeviationSample. - - i=2340 - - - - VariancePopulation - Retrieve the variance for the interval as calculated by the StandardDeviationPopulation which includes Simple Bounding Values. - - i=2340 - - - - IdType - The type of identifier used in a node id. - - i=7591 - i=29 - - - - The identifier is a numeric value. 0 is a null value. - - - The identifier is a string value. An empty string is a null value. - - - The identifier is a 16 byte structure. 16 zero bytes is a null value. - - - The identifier is an array of bytes. A zero length array is a null value. - - - - - EnumStrings - - i=68 - i=78 - i=256 - - - - - - - Numeric - - - - - String - - - - - Guid - - - - - Opaque - - - - - - NodeClass - A mask specifying the class of the node. - - i=11878 - i=29 - - - - No classes are selected. - - - The node is an object. - - - The node is a variable. - - - The node is a method. - - - The node is an object type. - - - The node is an variable type. - - - The node is a reference type. - - - The node is a data type. - - - The node is a view. - - - - - EnumValues - - i=68 - i=78 - i=257 - - - - - - i=7616 - - - - 0 - - - - Unspecified - - - - - No classes are selected. - - - - - - - i=7616 - - - - 1 - - - - Object - - - - - The node is an object. - - - - - - - i=7616 - - - - 2 - - - - Variable - - - - - The node is a variable. - - - - - - - i=7616 - - - - 4 - - - - Method - - - - - The node is a method. - - - - - - - i=7616 - - - - 8 - - - - ObjectType - - - - - The node is an object type. - - - - - - - i=7616 - - - - 16 - - - - VariableType - - - - - The node is an variable type. - - - - - - - i=7616 - - - - 32 - - - - ReferenceType - - - - - The node is a reference type. - - - - - - - i=7616 - - - - 64 - - - - DataType - - - - - The node is a data type. - - - - - - - i=7616 - - - - 128 - - - - View - - - - - The node is a view. - - - - - - - - - Argument - An argument for a method. - - i=22 - - - - The name of the argument. - - - The data type of the argument. - - - Whether the argument is an array type and the rank of the array if it is. - - - The number of dimensions if the argument is an array type and one or more dimensions have a fixed length. - - - The description for the argument. - - - - - EnumValueType - A mapping between a value of an enumerated type and a name and description. - - i=22 - - - - The value of the enumeration. - - - Human readable name for the value. - - - A description of the value. - - - - - OptionSet - This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask. - - i=22 - - - - Array of bytes representing the bits in the option set. - - - Array of bytes with same size as value representing the valid bits in the value parameter. - - - - - Union - This abstract DataType is the base DataType for all union DataTypes. - - i=22 - - - - NormalizedString - A string normalized based on the rules in the unicode specification. - - i=12 - - - - DecimalString - An arbitraty numeric value. - - i=12 - - - - DurationString - A period of time formatted as defined in ISO 8601-2000. - - i=12 - - - - TimeString - A time formatted as defined in ISO 8601-2000. - - i=12 - - - - DateString - A date formatted as defined in ISO 8601-2000. - - i=12 - - - - Duration - A period of time measured in milliseconds. - - i=11 - - - - UtcTime - A date/time value specified in Universal Coordinated Time (UTC). - - i=13 - - - - LocaleId - An identifier for a user locale. - - i=12 - - - - TimeZoneDataType - - i=22 - - - - - - - - IntegerId - A numeric identifier for an object. - - i=7 - - - - ApplicationType - The types of applications. - - i=7597 - i=29 - - - - The application is a server. - - - The application is a client. - - - The application is a client and a server. - - - The application is a discovery server. - - - - - EnumStrings - - i=68 - i=78 - i=307 - - - - - - - Server - - - - - Client - - - - - ClientAndServer - - - - - DiscoveryServer - - - - - - ApplicationDescription - Describes an application and how to find it. - - i=22 - - - - The globally unique identifier for the application. - - - The globally unique identifier for the product. - - - The name of application. - - - The type of application. - - - The globally unique identifier for the server that is acting as a gateway for the server. - - - The globally unique identifier for the discovery profile supported by the server. - - - The URLs for the server's discovery endpoints. - - - - - ServerOnNetwork - - i=22 - - - - - - - - - - ApplicationInstanceCertificate - A certificate for an instance of an application. - - i=15 - - - - MessageSecurityMode - The type of security to use on a message. - - i=7595 - i=29 - - - - An invalid mode. - - - No security is used. - - - The message is signed. - - - The message is signed and encrypted. - - - - - EnumStrings - - i=68 - i=78 - i=302 - - - - - - - Invalid - - - - - None - - - - - Sign - - - - - SignAndEncrypt - - - - - - UserTokenType - The possible user token types. - - i=7596 - i=29 - - - - An anonymous user. - - - A user identified by a user name and password. - - - A user identified by an X509 certificate. - - - A user identified by WS-Security XML token. - - - A user identified by Kerberos ticket. - - - - - EnumStrings - - i=68 - i=78 - i=303 - - - - - - - Anonymous - - - - - UserName - - - - - Certificate - - - - - IssuedToken - - - - - Kerberos - - - - - - UserTokenPolicy - Describes a user token that can be used with a server. - - i=22 - - - - A identifier for the policy assigned by the server. - - - The type of user token. - - - The type of issued token. - - - The endpoint or any other information need to contruct an issued token URL. - - - The security policy to use when encrypting or signing the user token. - - - - - EndpointDescription - The description of a endpoint that can be used to access a server. - - i=22 - - - - The network endpoint to use when connecting to the server. - - - The description of the server. - - - The server's application certificate. - - - The security mode that must be used when connecting to the endpoint. - - - The security policy to use when connecting to the endpoint. - - - The user identity tokens that can be used with this endpoint. - - - The transport profile to use when connecting to the endpoint. - - - A server assigned value that indicates how secure the endpoint is relative to other server endpoints. - - - - - RegisteredServer - The information required to register a server with a discovery server. - - i=22 - - - - The globally unique identifier for the server. - - - The globally unique identifier for the product. - - - The name of server in multiple lcoales. - - - The type of server. - - - The globally unique identifier for the server that is acting as a gateway for the server. - - - The URLs for the server's discovery endpoints. - - - A path to a file that is deleted when the server is no longer accepting connections. - - - If FALSE the server will save the registration information to a persistent datastore. - - - - - DiscoveryConfiguration - A base type for discovery configuration information. - - i=22 - - - - MdnsDiscoveryConfiguration - The discovery information needed for mDNS registration. - - i=12890 - - - - The name for server that is broadcast via mDNS. - - - The server capabilities that are broadcast via mDNS. - - - - - SecurityTokenRequestType - Indicates whether a token if being created or renewed. - - i=7598 - i=29 - - - - The channel is being created. - - - The channel is being renewed. - - - - - EnumStrings - - i=68 - i=78 - i=315 - - - - - - - Issue - - - - - Renew - - - - - - SignedSoftwareCertificate - A software certificate with a digital signature. - - i=22 - - - - The data of the certificate. - - - The digital signature. - - - - - SessionAuthenticationToken - A unique identifier for a session used to authenticate requests. - - i=17 - - - - UserIdentityToken - A base type for a user identity token. - - i=22 - - - - The policy id specified in a user token policy for the endpoint being used. - - - - - AnonymousIdentityToken - A token representing an anonymous user. - - i=316 - - - - UserNameIdentityToken - A token representing a user identified by a user name and password. - - i=316 - - - - The user name. - - - The password encrypted with the server certificate. - - - The algorithm used to encrypt the password. - - - - - X509IdentityToken - A token representing a user identified by an X509 certificate. - - i=316 - - - - The certificate. - - - - - KerberosIdentityToken - - i=316 - - - - - - - IssuedIdentityToken - A token representing a user identified by a WS-Security XML token. - - i=316 - - - - The XML token encrypted with the server certificate. - - - The algorithm used to encrypt the certificate. - - - - - NodeAttributesMask - The bits used to specify default attributes for a new node. - - i=11881 - i=29 - - - - No attribuites provided. - - - The access level attribute is specified. - - - The array dimensions attribute is specified. - - - The browse name attribute is specified. - - - The contains no loops attribute is specified. - - - The data type attribute is specified. - - - The description attribute is specified. - - - The display name attribute is specified. - - - The event notifier attribute is specified. - - - The executable attribute is specified. - - - The historizing attribute is specified. - - - The inverse name attribute is specified. - - - The is abstract attribute is specified. - - - The minimum sampling interval attribute is specified. - - - The node class attribute is specified. - - - The node id attribute is specified. - - - The symmetric attribute is specified. - - - The user access level attribute is specified. - - - The user executable attribute is specified. - - - The user write mask attribute is specified. - - - The value rank attribute is specified. - - - The write mask attribute is specified. - - - The value attribute is specified. - - - All attributes are specified. - - - All base attributes are specified. - - - All object attributes are specified. - - - All object type or data type attributes are specified. - - - All variable attributes are specified. - - - All variable type attributes are specified. - - - All method attributes are specified. - - - All reference type attributes are specified. - - - All view attributes are specified. - - - - - EnumValues - - i=68 - i=78 - i=348 - - - - - - i=7616 - - - - 0 - - - - None - - - - - No attribuites provided. - - - - - - - i=7616 - - - - 1 - - - - AccessLevel - - - - - The access level attribute is specified. - - - - - - - i=7616 - - - - 2 - - - - ArrayDimensions - - - - - The array dimensions attribute is specified. - - - - - - - i=7616 - - - - 4 - - - - BrowseName - - - - - The browse name attribute is specified. - - - - - - - i=7616 - - - - 8 - - - - ContainsNoLoops - - - - - The contains no loops attribute is specified. - - - - - - - i=7616 - - - - 16 - - - - DataType - - - - - The data type attribute is specified. - - - - - - - i=7616 - - - - 32 - - - - Description - - - - - The description attribute is specified. - - - - - - - i=7616 - - - - 64 - - - - DisplayName - - - - - The display name attribute is specified. - - - - - - - i=7616 - - - - 128 - - - - EventNotifier - - - - - The event notifier attribute is specified. - - - - - - - i=7616 - - - - 256 - - - - Executable - - - - - The executable attribute is specified. - - - - - - - i=7616 - - - - 512 - - - - Historizing - - - - - The historizing attribute is specified. - - - - - - - i=7616 - - - - 1024 - - - - InverseName - - - - - The inverse name attribute is specified. - - - - - - - i=7616 - - - - 2048 - - - - IsAbstract - - - - - The is abstract attribute is specified. - - - - - - - i=7616 - - - - 4096 - - - - MinimumSamplingInterval - - - - - The minimum sampling interval attribute is specified. - - - - - - - i=7616 - - - - 8192 - - - - NodeClass - - - - - The node class attribute is specified. - - - - - - - i=7616 - - - - 16384 - - - - NodeId - - - - - The node id attribute is specified. - - - - - - - i=7616 - - - - 32768 - - - - Symmetric - - - - - The symmetric attribute is specified. - - - - - - - i=7616 - - - - 65536 - - - - UserAccessLevel - - - - - The user access level attribute is specified. - - - - - - - i=7616 - - - - 131072 - - - - UserExecutable - - - - - The user executable attribute is specified. - - - - - - - i=7616 - - - - 262144 - - - - UserWriteMask - - - - - The user write mask attribute is specified. - - - - - - - i=7616 - - - - 524288 - - - - ValueRank - - - - - The value rank attribute is specified. - - - - - - - i=7616 - - - - 1048576 - - - - WriteMask - - - - - The write mask attribute is specified. - - - - - - - i=7616 - - - - 2097152 - - - - Value - - - - - The value attribute is specified. - - - - - - - i=7616 - - - - 4194303 - - - - All - - - - - All attributes are specified. - - - - - - - i=7616 - - - - 1335396 - - - - BaseNode - - - - - All base attributes are specified. - - - - - - - i=7616 - - - - 1335524 - - - - Object - - - - - All object attributes are specified. - - - - - - - i=7616 - - - - 1337444 - - - - ObjectTypeOrDataType - - - - - All object type or data type attributes are specified. - - - - - - - i=7616 - - - - 4026999 - - - - Variable - - - - - All variable attributes are specified. - - - - - - - i=7616 - - - - 3958902 - - - - VariableType - - - - - All variable type attributes are specified. - - - - - - - i=7616 - - - - 1466724 - - - - Method - - - - - All method attributes are specified. - - - - - - - i=7616 - - - - 1371236 - - - - ReferenceType - - - - - All reference type attributes are specified. - - - - - - - i=7616 - - - - 1335532 - - - - View - - - - - All view attributes are specified. - - - - - - - - - AddNodesItem - A request to add a node to the server address space. - - i=22 - - - - The node id for the parent node. - - - The type of reference from the parent to the new node. - - - The node id requested by the client. If null the server must provide one. - - - The browse name for the new node. - - - The class of the new node. - - - The default attributes for the new node. - - - The type definition for the new node. - - - - - AddReferencesItem - A request to add a reference to the server address space. - - i=22 - - - - The source of the reference. - - - The type of reference. - - - If TRUE the reference is a forward reference. - - - The URI of the server containing the target (if in another server). - - - The target of the reference. - - - The node class of the target (if known). - - - - - DeleteNodesItem - A request to delete a node to the server address space. - - i=22 - - - - The id of the node to delete. - - - If TRUE all references to the are deleted as well. - - - - - DeleteReferencesItem - A request to delete a node from the server address space. - - i=22 - - - - The source of the reference to delete. - - - The type of reference to delete. - - - If TRUE the a forward reference is deleted. - - - The target of the reference to delete. - - - If TRUE the reference is deleted in both directions. - - - - - AttributeWriteMask - Define bits used to indicate which attributes are writable. - - i=11882 - i=29 - - - - No attributes are writable. - - - The access level attribute is writable. - - - The array dimensions attribute is writable. - - - The browse name attribute is writable. - - - The contains no loops attribute is writable. - - - The data type attribute is writable. - - - The description attribute is writable. - - - The display name attribute is writable. - - - The event notifier attribute is writable. - - - The executable attribute is writable. - - - The historizing attribute is writable. - - - The inverse name attribute is writable. - - - The is abstract attribute is writable. - - - The minimum sampling interval attribute is writable. - - - The node class attribute is writable. - - - The node id attribute is writable. - - - The symmetric attribute is writable. - - - The user access level attribute is writable. - - - The user executable attribute is writable. - - - The user write mask attribute is writable. - - - The value rank attribute is writable. - - - The write mask attribute is writable. - - - The value attribute is writable. - - - - - EnumValues - - i=68 - i=78 - i=347 - - - - - - i=7616 - - - - 0 - - - - None - - - - - No attributes are writable. - - - - - - - i=7616 - - - - 1 - - - - AccessLevel - - - - - The access level attribute is writable. - - - - - - - i=7616 - - - - 2 - - - - ArrayDimensions - - - - - The array dimensions attribute is writable. - - - - - - - i=7616 - - - - 4 - - - - BrowseName - - - - - The browse name attribute is writable. - - - - - - - i=7616 - - - - 8 - - - - ContainsNoLoops - - - - - The contains no loops attribute is writable. - - - - - - - i=7616 - - - - 16 - - - - DataType - - - - - The data type attribute is writable. - - - - - - - i=7616 - - - - 32 - - - - Description - - - - - The description attribute is writable. - - - - - - - i=7616 - - - - 64 - - - - DisplayName - - - - - The display name attribute is writable. - - - - - - - i=7616 - - - - 128 - - - - EventNotifier - - - - - The event notifier attribute is writable. - - - - - - - i=7616 - - - - 256 - - - - Executable - - - - - The executable attribute is writable. - - - - - - - i=7616 - - - - 512 - - - - Historizing - - - - - The historizing attribute is writable. - - - - - - - i=7616 - - - - 1024 - - - - InverseName - - - - - The inverse name attribute is writable. - - - - - - - i=7616 - - - - 2048 - - - - IsAbstract - - - - - The is abstract attribute is writable. - - - - - - - i=7616 - - - - 4096 - - - - MinimumSamplingInterval - - - - - The minimum sampling interval attribute is writable. - - - - - - - i=7616 - - - - 8192 - - - - NodeClass - - - - - The node class attribute is writable. - - - - - - - i=7616 - - - - 16384 - - - - NodeId - - - - - The node id attribute is writable. - - - - - - - i=7616 - - - - 32768 - - - - Symmetric - - - - - The symmetric attribute is writable. - - - - - - - i=7616 - - - - 65536 - - - - UserAccessLevel - - - - - The user access level attribute is writable. - - - - - - - i=7616 - - - - 131072 - - - - UserExecutable - - - - - The user executable attribute is writable. - - - - - - - i=7616 - - - - 262144 - - - - UserWriteMask - - - - - The user write mask attribute is writable. - - - - - - - i=7616 - - - - 524288 - - - - ValueRank - - - - - The value rank attribute is writable. - - - - - - - i=7616 - - - - 1048576 - - - - WriteMask - - - - - The write mask attribute is writable. - - - - - - - i=7616 - - - - 2097152 - - - - ValueForVariableType - - - - - The value attribute is writable. - - - - - - - - - ContinuationPoint - An identifier for a suspended query or browse operation. - - i=15 - - - - RelativePathElement - An element in a relative path. - - i=22 - - - - The type of reference to follow. - - - If TRUE the reverse reference is followed. - - - If TRUE then subtypes of the reference type are followed. - - - The browse name of the target. - - - - - RelativePath - A relative path constructed from reference types and browse names. - - i=22 - - - - A list of elements in the path. - - - - - Counter - A monotonically increasing value. - - i=7 - - - - NumericRange - Specifies a range of array indexes. - - i=12 - - - - Time - A time value specified as HH:MM:SS.SSS. - - i=12 - - - - Date - A date value. - - i=13 - - - - EndpointConfiguration - - i=22 - - - - - - - - - - - - - - - ComplianceLevel - - i=7599 - i=29 - - - - - - - - - - EnumStrings - - i=68 - i=78 - i=334 - - - - - - - Untested - - - - - Partial - - - - - SelfTested - - - - - Certified - - - - - - SupportedProfile - - i=22 - - - - - - - - - - - - SoftwareCertificate - - i=22 - - - - - - - - - - - - - - - - FilterOperator - - i=7605 - i=29 - - - - - - - - - - - - - - - - - - - - - - - - EnumStrings - - i=68 - i=78 - i=576 - - - - - - - Equals - - - - - IsNull - - - - - GreaterThan - - - - - LessThan - - - - - GreaterThanOrEqual - - - - - LessThanOrEqual - - - - - Like - - - - - Not - - - - - Between - - - - - InList - - - - - And - - - - - Or - - - - - Cast - - - - - InView - - - - - OfType - - - - - RelatedTo - - - - - BitwiseAnd - - - - - BitwiseOr - - - - - - ContentFilterElement - - i=22 - - - - - - - - ContentFilter - - i=22 - - - - - - - FilterOperand - - i=22 - - - - ElementOperand - - i=589 - - - - - - - LiteralOperand - - i=589 - - - - - - - AttributeOperand - - i=589 - - - - - - - - - - - SimpleAttributeOperand - - i=589 - - - - - - - - - - HistoryEvent - - i=22 - - - - - - - HistoryUpdateType - - i=11884 - i=29 - - - - - - - - - - EnumValues - - i=68 - i=78 - i=11234 - - - - - - i=7616 - - - - 1 - - - - Insert - - - - - - - - i=7616 - - - - 2 - - - - Replace - - - - - - - - i=7616 - - - - 3 - - - - Update - - - - - - - - i=7616 - - - - 4 - - - - Delete - - - - - - - - - - PerformUpdateType - - i=11885 - i=29 - - - - - - - - - - EnumValues - - i=68 - i=78 - i=11293 - - - - - - i=7616 - - - - 1 - - - - Insert - - - - - - - - i=7616 - - - - 2 - - - - Replace - - - - - - - - i=7616 - - - - 3 - - - - Update - - - - - - - - i=7616 - - - - 4 - - - - Remove - - - - - - - - - - MonitoringFilter - - i=22 - - - - EventFilter - - i=719 - - - - - - - - AggregateConfiguration - - i=22 - - - - - - - - - - - HistoryEventFieldList - - i=22 - - - - - - - EnumeratedTestType - A simple enumerated type used for testing. - - i=11886 - i=29 - - - - Operation has halted. - - - Operation is proceeding with caution. - - - Operation is proceeding normally. - - - - - EnumValues - - i=68 - i=78 - i=398 - - - - - - i=7616 - - - - 1 - - - - Red - - - - - Operation has halted. - - - - - - - i=7616 - - - - 4 - - - - Yellow - - - - - Operation is proceeding with caution. - - - - - - - i=7616 - - - - 5 - - - - Green - - - - - Operation is proceeding normally. - - - - - - - - - BuildInfo - - i=22 - - - - - - - - - - - - RedundancySupport - - i=7611 - i=29 - - - - - - - - - - - - EnumStrings - - i=68 - i=78 - i=851 - - - - - - - None - - - - - Cold - - - - - Warm - - - - - Hot - - - - - Transparent - - - - - HotAndMirrored - - - - - - ServerState - - i=7612 - i=29 - - - - - - - - - - - - - - EnumStrings - - i=68 - i=78 - i=852 - - - - - - - Running - - - - - Failed - - - - - NoConfiguration - - - - - Suspended - - - - - Shutdown - - - - - Test - - - - - CommunicationFault - - - - - Unknown - - - - - - RedundantServerDataType - - i=22 - - - - - - - - - EndpointUrlListDataType - - i=22 - - - - - - - NetworkGroupDataType - - i=22 - - - - - - - - SamplingIntervalDiagnosticsDataType - - i=22 - - - - - - - - - - ServerDiagnosticsSummaryDataType - - i=22 - - - - - - - - - - - - - - - - - - ServerStatusDataType - - i=22 - - - - - - - - - - - - SessionDiagnosticsDataType - - i=22 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SessionSecurityDiagnosticsDataType - - i=22 - - - - - - - - - - - - - - - ServiceCounterDataType - - i=22 - - - - - - - - StatusResult - - i=22 - - - - - - - - SubscriptionDiagnosticsDataType - - i=22 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ModelChangeStructureDataType - - i=22 - - - - - - - - - SemanticChangeStructureDataType - - i=22 - - - - - - - - Range - - i=22 - - - - - - - - EUInformation - - i=22 - - - - - - - - - - AxisScaleEnumeration - - i=12078 - i=29 - - - - - - - - - EnumStrings - - i=68 - i=78 - i=12077 - - - - - - - Linear - - - - - Log - - - - - Ln - - - - - - ComplexNumberType - - i=22 - - - - - - - - DoubleComplexNumberType - - i=22 - - - - - - - - AxisInformation - - i=22 - - - - - - - - - - - XVType - - i=22 - - - - - - - - ProgramDiagnosticDataType - - i=22 - - - - - - - - - - - - - - - - Annotation - - i=22 - - - - - - - - - ExceptionDeviationFormat - - i=7614 - i=29 - - - - - - - - - - - EnumStrings - - i=68 - i=78 - i=890 - - - - - - - AbsoluteValue - - - - - PercentOfValue - - - - - PercentOfRange - - - - - PercentOfEURange - - - - - Unknown - - - - - - Default XML - - i=12554 - i=12677 - i=76 - - - - Default XML - - i=296 - i=8285 - i=76 - - - - Default XML - - i=7594 - i=8291 - i=76 - - - - Default XML - - i=12755 - i=12759 - i=76 - - - - Default XML - - i=12756 - i=12762 - i=76 - - - - Default XML - - i=8912 - i=8918 - i=76 - - - - Default XML - - i=308 - i=8300 - i=76 - - - - Default XML - - i=12189 - i=12201 - i=76 - - - - Default XML - - i=304 - i=8297 - i=76 - - - - Default XML - - i=312 - i=8303 - i=76 - - - - Default XML - - i=432 - i=8417 - i=76 - - - - Default XML - - i=12890 - i=12894 - i=76 - - - - Default XML - - i=12891 - i=12897 - i=76 - - - - Default XML - - i=344 - i=8333 - 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=12504 - i=12506 - i=76 - - - - Default XML - - i=938 - i=8318 - i=76 - - - - Default XML - - i=376 - i=8363 - i=76 - - - - Default XML - - i=379 - i=8366 - i=76 - - - - Default XML - - i=382 - i=8369 - i=76 - - - - Default XML - - i=385 - i=8372 - i=76 - - - - Default XML - - i=537 - i=12712 - i=76 - - - - Default XML - - i=540 - i=12715 - i=76 - - - - Default XML - - i=331 - i=8321 - i=76 - - - - Default XML - - i=335 - i=8324 - i=76 - - - - Default XML - - i=341 - i=8330 - 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=659 - i=8639 - i=76 - - - - Default XML - - i=719 - i=8702 - i=76 - - - - Default XML - - i=725 - i=8708 - i=76 - - - - Default XML - - i=948 - i=8711 - i=76 - - - - Default XML - - i=920 - i=8807 - 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=891 - i=8879 - i=76 - - - - Opc.Ua - - i=8254 - i=12677 - i=8285 - i=8291 - i=12759 - i=12762 - 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=12506 - i=8318 - i=8363 - i=8366 - i=8369 - i=8372 - i=12712 - i=12715 - i=8321 - i=8324 - i=8330 - 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=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 -ZT0ieHM6YmFzZTY0QmluYXJ5IiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkJpdEZpZWxkTWFz -a0RhdGFUeXBlIiB0eXBlPSJ4czp1bnNpZ25lZExvbmciIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUg -IG5hbWU9Ik9wZW5GaWxlTW9kZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmlu -ZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlYWRfMSIgLz4NCiAgICAgIDx4czpl -bnVtZXJhdGlvbiB2YWx1ZT0iV3JpdGVfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 -ZT0iRXJhc2VFeGlzdGluZ180IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBcHBl -bmRfOCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9Ik9wZW5GaWxlTW9kZSIgdHlwZT0idG5zOk9wZW5GaWxlTW9kZSIgLz4N -Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mT3BlbkZpbGVNb2RlIj4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPcGVuRmlsZU1vZGUiIHR5cGU9InRu -czpPcGVuRmlsZU1vZGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iTGlzdE9mT3BlbkZpbGVNb2RlIiB0eXBlPSJ0bnM6TGlzdE9mT3BlbkZpbGVNb2RlIiBuaWxs -YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJUcnVz -dExpc3RNYXNrcyI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAg -ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv -biB2YWx1ZT0iVHJ1c3RlZENlcnRpZmljYXRlc18xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u -IHZhbHVlPSJUcnVzdGVkQ3Jsc18yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJ -c3N1ZXJDZXJ0aWZpY2F0ZXNfNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNz -dWVyQ3Jsc184IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBbGxfMTUiIC8+DQog -ICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJUcnVzdExpc3RNYXNrcyIgdHlwZT0idG5zOlRydXN0TGlzdE1hc2tzIiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJUcnVzdExpc3REYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3BlY2lmaWVkTGlzdHMiIHR5cGU9InhzOnVuc2ln -bmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcnVzdGVk -Q2VydGlmaWNhdGVzIiB0eXBlPSJ1YTpMaXN0T2ZCeXRlU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJ1c3RlZENybHMiIHR5 -cGU9InVhOkxpc3RPZkJ5dGVTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc3N1ZXJDZXJ0aWZpY2F0ZXMiIHR5cGU9InVhOkxp -c3RPZkJ5dGVTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJJc3N1ZXJDcmxzIiB0eXBlPSJ1YTpMaXN0T2ZCeXRlU3RyaW5nIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRydXN0TGlzdERhdGFUeXBlIiB0 -eXBlPSJ0bnM6VHJ1c3RMaXN0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 -Ikxpc3RPZlRydXN0TGlzdERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJUcnVzdExpc3REYXRhVHlwZSIgdHlwZT0idG5zOlRydXN0TGlzdERhdGFU -eXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJMaXN0T2ZUcnVzdExpc3REYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlRydXN0TGlz -dERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVU -eXBlICBuYW1lPSJJZFR5cGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3Vt -ZW50YXRpb24+VGhlIHR5cGUgb2YgaWRlbnRpZmllciB1c2VkIGluIGEgbm9kZSBpZC48L3hzOmRv -Y3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpyZXN0cmljdGlvbiBi -YXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOdW1lcmljXzAi -IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN0cmluZ18xIiAvPg0KICAgICAgPHhz -OmVudW1lcmF0aW9uIHZhbHVlPSJHdWlkXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs -dWU9Ik9wYXF1ZV8zIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSWRUeXBlIiB0eXBlPSJ0bnM6SWRUeXBlIiAvPg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZJZFR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IklkVHlwZSIgdHlwZT0idG5zOklkVHlwZSIgbWluT2Nj -dXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZJZFR5cGUiIHR5cGU9 -InRuczpMaXN0T2ZJZFR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhz -OnNpbXBsZVR5cGUgIG5hbWU9Ik5vZGVDbGFzcyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg -ICA8eHM6ZG9jdW1lbnRhdGlvbj5BIG1hc2sgc3BlY2lmeWluZyB0aGUgY2xhc3Mgb2YgdGhlIG5v -ZGUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6cmVz -dHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i -VW5zcGVjaWZpZWRfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iT2JqZWN0XzEi -IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZhcmlhYmxlXzIiIC8+DQogICAgICA8 -eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik1ldGhvZF80IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u -IHZhbHVlPSJPYmplY3RUeXBlXzgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZh -cmlhYmxlVHlwZV8xNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVmZXJlbmNl -VHlwZV8zMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGF0YVR5cGVfNjQiIC8+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZpZXdfMTI4IiAvPg0KICAgIDwveHM6cmVz -dHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUNs -YXNzIiB0eXBlPSJ0bnM6Tm9kZUNsYXNzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJO -b2RlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlNwZWNp -ZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gYWxsIG5vZGVzLjwveHM6ZG9jdW1l -bnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlQ2xhc3MiIHR5 -cGU9InRuczpOb2RlQ2xhc3MiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IkJyb3dzZU5hbWUiIHR5cGU9InVhOlF1YWxpZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNwbGF5TmFtZSIgdHlw -ZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IkRlc2NyaXB0aW9uIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0 -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iV3JpdGVNYXNrIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlcldyaXRlTWFzayIgdHlwZT0ieHM6dW5zaWduZWRJbnQi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZXMiIHR5 -cGU9InRuczpMaXN0T2ZSZWZlcmVuY2VOb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9Ik5vZGUiIHR5cGU9InRuczpOb2RlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJMaXN0T2ZOb2RlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJOb2RlIiB0eXBlPSJ0bnM6Tm9kZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91 -bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTm9kZSIgdHlwZT0idG5zOkxpc3RP -Zk5vZGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9Ikluc3RhbmNlTm9kZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxz -ZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlIj4NCiAgICAgICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQog -ICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iSW5zdGFuY2VOb2RlIiB0eXBlPSJ0bnM6SW5zdGFuY2VOb2RlIiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJUeXBlTm9kZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1p -eGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlIj4NCiAgICAg -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRl -bnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iVHlwZU5vZGUiIHR5cGU9InRuczpUeXBlTm9kZSIgLz4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iT2JqZWN0Tm9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQog -ICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVs -b25nIHRvIG9iamVjdCBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 -aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4 -dGVuc2lvbiBiYXNlPSJ0bnM6SW5zdGFuY2VOb2RlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50Tm90aWZpZXIiIHR5cGU9InhzOnVuc2ln -bmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAg -PC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT2JqZWN0Tm9kZSIgdHlwZT0idG5zOk9iamVjdE5v -ZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik9iamVjdFR5cGVOb2RlIj4NCiAgICA8 -eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0 -cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gb2JqZWN0IHR5cGUgbm9kZXMuPC94czpkb2N1bWVudGF0 -aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9 -ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOlR5cGVOb2RlIj4NCiAgICAg -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IklzQWJzdHJhY3Qi -IHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5j -ZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9iamVjdFR5cGVOb2RlIiB0eXBl -PSJ0bnM6T2JqZWN0VHlwZU5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlh -YmxlTm9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5T -cGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIHZhcmlhYmxlIG5vZGVzLjwv -eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhD -b250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpJbnN0 -YW5jZU5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iVmFsdWUiIHR5cGU9InVhOlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVl -UmFuayIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iQXJyYXlEaW1lbnNpb25zIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWNj -ZXNzTGV2ZWwiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJBY2Nlc3NMZXZlbCIgdHlwZT0ieHM6dW5zaWduZWRC -eXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWluaW11 -bVNhbXBsaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3Rvcml6aW5nIiB0eXBlPSJ4czpib29sZWFuIiBt -aW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVu -c2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJWYXJpYWJsZU5vZGUiIHR5cGU9InRuczpWYXJpYWJsZU5vZGUiIC8+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhYmxlVHlwZU5vZGUiPg0KICAgIDx4czph -bm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+U3BlY2lmaWVzIHRoZSBhdHRyaWJ1 -dGVzIHdoaWNoIGJlbG9uZyB0byB2YXJpYWJsZSB0eXBlIG5vZGVzLjwveHM6ZG9jdW1lbnRhdGlv -bj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJm -YWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpUeXBlTm9kZSI+DQogICAgICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0i -dWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkRhdGFUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czppbnQi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcnJheURpbWVu -c2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpi -b29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8 -L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWYXJpYWJsZVR5cGVOb2RlIiB0eXBlPSJ0bnM6VmFy -aWFibGVUeXBlTm9kZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVmZXJlbmNlVHlw -ZU5vZGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+U3Bl -Y2lmaWVzIHRoZSBhdHRyaWJ1dGVzIHdoaWNoIGJlbG9uZyB0byByZWZlcmVuY2UgdHlwZSBub2Rl -cy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21w -bGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6 -VHlwZU5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iSXNBYnN0cmFjdCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN5bW1ldHJpYyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkludmVyc2VOYW1lIiB0 -eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpj -b21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -UmVmZXJlbmNlVHlwZU5vZGUiIHR5cGU9InRuczpSZWZlcmVuY2VUeXBlTm9kZSIgLz4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iTWV0aG9kTm9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQog -ICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVs -b25nIHRvIG1ldGhvZCBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 -aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4 -dGVuc2lvbiBiYXNlPSJ0bnM6SW5zdGFuY2VOb2RlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV4ZWN1dGFibGUiIHR5cGU9InhzOmJvb2xlYW4i -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyRXhlY3V0 -YWJsZSIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNl -cXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTWV0aG9kTm9kZSIgdHlw -ZT0idG5zOk1ldGhvZE5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZpZXdOb2Rl -Ij4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRl -bnNpb24gYmFzZT0idG5zOkluc3RhbmNlTm9kZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250YWluc05vTG9vcHMiIHR5cGU9InhzOmJvb2xl -YW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudE5v -dGlmaWVyIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg -PC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENv -bnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlZpZXdOb2Rl -IiB0eXBlPSJ0bnM6Vmlld05vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFU -eXBlTm9kZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8 -eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpUeXBlTm9kZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpib29sZWFu -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4 -dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZU5vZGUiIHR5cGU9InRuczpEYXRhVHlwZU5vZGUi -IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZmVyZW5jZU5vZGUiPg0KICAgIDx4czph -bm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+U3BlY2lmaWVzIGEgcmVmZXJlbmNl -IHdoaWNoIGJlbG9uZ3MgdG8gYSBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu -bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVm -ZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ludmVyc2UiIHR5cGU9InhzOmJvb2xl -YW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdldElkIiB0 -eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJSZWZlcmVuY2VOb2RlIiB0eXBlPSJ0bnM6UmVmZXJlbmNlTm9kZSIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUmVmZXJlbmNlTm9kZSI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlTm9kZSIgdHlwZT0idG5zOlJlZmVy -ZW5jZU5vZGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9Ikxpc3RPZlJlZmVyZW5jZU5vZGUiIHR5cGU9InRuczpMaXN0T2ZSZWZlcmVu -Y2VOb2RlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJBcmd1bWVudCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l -bnRhdGlvbj5BbiBhcmd1bWVudCBmb3IgYSBtZXRob2QuPC94czpkb2N1bWVudGF0aW9uPg0KICAg -IDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -VmFsdWVSYW5rIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkFycmF5RGltZW5zaW9ucyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVzY3Jp -cHRpb24iIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iQXJndW1lbnQiIHR5cGU9InRuczpBcmd1bWVudCIgLz4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iTGlzdE9mQXJndW1lbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IkFyZ3VtZW50IiB0eXBlPSJ0bnM6QXJndW1lbnQiIG1pbk9jY3Vy -cz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 -c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RP -ZkFyZ3VtZW50IiB0eXBlPSJ0bnM6TGlzdE9mQXJndW1lbnQiIG5pbGxhYmxlPSJ0cnVlIj48L3hz -OmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVudW1WYWx1ZVR5cGUiPg0KICAg -IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBtYXBwaW5nIGJldHdl -ZW4gYSB2YWx1ZSBvZiBhbiBlbnVtZXJhdGVkIHR5cGUgYW5kIGEgbmFtZSBhbmQgZGVzY3JpcHRp -b24uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0ieHM6bG9uZyIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzcGxheU5hbWUiIHR5cGU9 -InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFbnVtVmFsdWVUeXBlIiB0eXBl -PSJ0bnM6RW51bVZhbHVlVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m -RW51bVZhbHVlVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iRW51bVZhbHVlVHlwZSIgdHlwZT0idG5zOkVudW1WYWx1ZVR5cGUiIG1pbk9jY3Vycz0iMCIg -bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu -Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkVudW1W -YWx1ZVR5cGUiIHR5cGU9InRuczpMaXN0T2ZFbnVtVmFsdWVUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+ -PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJPcHRpb25TZXQiPg0KICAg -IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhpcyBhYnN0cmFjdCBT -dHJ1Y3R1cmVkIERhdGFUeXBlIGlzIHRoZSBiYXNlIERhdGFUeXBlIGZvciBhbGwgRGF0YVR5cGVz -IHJlcHJlc2VudGluZyBhIGJpdCBtYXNrLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu -bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFs -dWUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbGlkQml0cyIgdHlwZT0ieHM6YmFzZTY0Qmlu -YXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9wdGlvblNldCIgdHlw -ZT0idG5zOk9wdGlvblNldCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mT3B0 -aW9uU2V0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPcHRp -b25TZXQiIHR5cGU9InRuczpPcHRpb25TZXQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJv -dW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk9wdGlvblNldCIgdHlwZT0idG5z -Okxpc3RPZk9wdGlvblNldCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iVW5pb24iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhz -OmRvY3VtZW50YXRpb24+VGhpcyBhYnN0cmFjdCBEYXRhVHlwZSBpcyB0aGUgYmFzZSBEYXRhVHlw -ZSBmb3IgYWxsIHVuaW9uIERhdGFUeXBlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czph -bm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVbmlvbiIgdHlwZT0idG5zOlVuaW9u -IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZVbmlvbiI+DQogICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVW5pb24iIHR5cGU9InRuczpVbmlvbiIg -bWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iTGlzdE9mVW5pb24iIHR5cGU9InRuczpMaXN0T2ZVbmlvbiIgbmlsbGFibGU9InRydWUiPjwv -eHM6ZWxlbWVudD4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOb3JtYWxpemVkU3RyaW5nIiB0eXBl -PSJ4czpzdHJpbmciIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVjaW1hbFN0cmluZyIgdHlw -ZT0ieHM6c3RyaW5nIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkR1cmF0aW9uU3RyaW5nIiB0 -eXBlPSJ4czpzdHJpbmciIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZVN0cmluZyIgdHlw -ZT0ieHM6c3RyaW5nIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkRhdGVTdHJpbmciIHR5cGU9 -InhzOnN0cmluZyIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEdXJhdGlvbiIgdHlwZT0ieHM6 -ZG91YmxlIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IlV0Y1RpbWUiIHR5cGU9InhzOmRhdGVU -aW1lIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkxvY2FsZUlkIiB0eXBlPSJ4czpzdHJpbmci -IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlRpbWVab25lRGF0YVR5cGUiPg0KICAgIDx4 -czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik9mZnNldCIgdHlwZT0ieHM6c2hv -cnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRheWxpZ2h0U2F2 -aW5nSW5PZmZzZXQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hz -OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1l -Wm9uZURhdGFUeXBlIiB0eXBlPSJ0bnM6VGltZVpvbmVEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iTGlzdE9mVGltZVpvbmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZVpvbmVEYXRhVHlwZSIgdHlwZT0idG5zOlRp -bWVab25lRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlRpbWVab25lRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0 -T2ZUaW1lWm9uZURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4 -czplbGVtZW50IG5hbWU9IkludGVnZXJJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIC8+DQoNCiAg -PHhzOnNpbXBsZVR5cGUgIG5hbWU9IkFwcGxpY2F0aW9uVHlwZSI+DQogICAgPHhzOmFubm90YXRp -b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgdHlwZXMgb2YgYXBwbGljYXRpb25zLjwv -eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0 -aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNlcnZl -cl8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDbGllbnRfMSIgLz4NCiAgICAg -IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ2xpZW50QW5kU2VydmVyXzIiIC8+DQogICAgICA8eHM6 -ZW51bWVyYXRpb24gdmFsdWU9IkRpc2NvdmVyeVNlcnZlcl8zIiAvPg0KICAgIDwveHM6cmVzdHJp -Y3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRp -b25UeXBlIiB0eXBlPSJ0bnM6QXBwbGljYXRpb25UeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg -ICAgIDx4czpkb2N1bWVudGF0aW9uPkRlc2NyaWJlcyBhbiBhcHBsaWNhdGlvbiBhbmQgaG93IHRv -IGZpbmQgaXQuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcHBsaWNhdGlvblVyaSIgdHlw -ZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iUHJvZHVjdFVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25O -YW1lIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25UeXBlIiB0eXBlPSJ0bnM6 -QXBwbGljYXRpb25UeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJHYXRld2F5U2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjb3ZlcnlQcm9maWxlVXJp -IiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjb3ZlcnlVcmxzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmci -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg -PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25EZXNjcmlw -dGlvbiIgdHlwZT0idG5zOkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9Ikxpc3RPZkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1 -ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIHR5 -cGU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0i -dW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZBcHBsaWNhdGlvbkRlc2Ny -aXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mQXBwbGljYXRpb25EZXNjcmlwdGlvbiIgbmlsbGFibGU9 -InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVxdWVzdEhl -YWRlciI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUg -aGVhZGVyIHBhc3NlZCB3aXRoIGV2ZXJ5IHNlcnZlciByZXF1ZXN0LjwveHM6ZG9jdW1lbnRhdGlv -bj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iQXV0aGVudGljYXRpb25Ub2tlbiIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0 -YW1wIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iUmVxdWVzdEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldHVybkRpYWdub3N0aWNzIiB0eXBlPSJ4 -czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -QXVkaXRFbnRyeUlkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lb3V0SGludCIgdHlwZT0ieHM6dW5z -aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZGl0 -aW9uYWxIZWFkZXIiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRl -ciIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVzcG9uc2VIZWFkZXIiPg0KICAgIDx4 -czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGhlYWRlciBwYXNzZWQg -d2l0aCBldmVyeSBzZXJ2ZXIgcmVzcG9uc2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6 -YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJU -aW1lc3RhbXAiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGFuZGxlIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmljZVJlc3VsdCIgdHlwZT0i -dWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -U2VydmljZURpYWdub3N0aWNzIiB0eXBlPSJ1YTpEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0cmluZ1RhYmxl -IiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRpdGlvbmFsSGVhZGVyIiB0eXBlPSJ1YTpFeHRl -bnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz -ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9u -c2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iU2VydmljZUZhdWx0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpk -b2N1bWVudGF0aW9uPlRoZSByZXNwb25zZSByZXR1cm5lZCBieSBhbGwgc2VydmljZXMgd2hlbiB0 -aGVyZSBpcyBhIHNlcnZpY2UgbGV2ZWwgZXJyb3IuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwv -eHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNlcnZpY2VGYXVsdCIgdHlwZT0idG5zOlNlcnZpY2VG -YXVsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRmluZFNlcnZlcnNSZXF1ZXN0Ij4N -CiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkZpbmRzIHRoZSBz -ZXJ2ZXJzIGtub3duIHRvIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4N -CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2lu -dFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmci -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJTZXJ2ZXJVcmlzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iRmluZFNlcnZlcnNSZXF1ZXN0IiB0eXBlPSJ0bnM6RmluZFNlcnZl -cnNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJGaW5kU2VydmVyc1Jlc3Bv -bnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkZpbmRz -IHRoZSBzZXJ2ZXJzIGtub3duIHRvIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwveHM6ZG9jdW1lbnRh -dGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlNlcnZlcnMiIHR5cGU9InRuczpMaXN0T2ZBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkZpbmRTZXJ2ZXJzUmVzcG9uc2UiIHR5cGU9 -InRuczpGaW5kU2VydmVyc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJT -ZXJ2ZXJPbk5ldHdvcmsiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlJlY29yZElkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzY292 -ZXJ5VXJsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJDYXBhYmlsaXRpZXMiIHR5cGU9InVhOkxp -c3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJP -bk5ldHdvcmsiIHR5cGU9InRuczpTZXJ2ZXJPbk5ldHdvcmsiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9Ikxpc3RPZlNlcnZlck9uTmV0d29yayI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyT25OZXR3b3JrIiB0eXBlPSJ0bnM6U2VydmVyT25O -ZXR3b3JrIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJMaXN0T2ZTZXJ2ZXJPbk5ldHdvcmsiIHR5cGU9InRuczpMaXN0T2ZTZXJ2ZXJP -bk5ldHdvcmsiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVl -c3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJTdGFydGluZ1JlY29yZElkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4UmVjb3Jkc1RvUmV0dXJuIiB0 -eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iU2VydmVyQ2FwYWJpbGl0eUZpbHRlciIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVx -dWVzdCIgdHlwZT0idG5zOkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVxdWVzdCIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iRmluZFNlcnZlcnNPbk5ldHdvcmtSZXNwb25zZSI+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9 -InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ikxhc3RDb3VudGVyUmVzZXRUaW1lIiB0eXBlPSJ4czpkYXRl -VGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVycyIg -dHlwZT0idG5zOkxpc3RPZlNlcnZlck9uTmV0d29yayIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJGaW5kU2VydmVyc09uTmV0d29ya1Jlc3BvbnNlIiB0eXBlPSJ0bnM6Rmlu -ZFNlcnZlcnNPbk5ldHdvcmtSZXNwb25zZSIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBcHBs -aWNhdGlvbkluc3RhbmNlQ2VydGlmaWNhdGUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgLz4NCg0K -ICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iTWVzc2FnZVNlY3VyaXR5TW9kZSI+DQogICAgPHhzOmFu -bm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgdHlwZSBvZiBzZWN1cml0eSB0 -byB1c2Ugb24gYSBtZXNzYWdlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRp -b24+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51 -bWVyYXRpb24gdmFsdWU9IkludmFsaWRfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 -ZT0iTm9uZV8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTaWduXzIiIC8+DQog -ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNpZ25BbmRFbmNyeXB0XzMiIC8+DQogICAgPC94 -czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJN -ZXNzYWdlU2VjdXJpdHlNb2RlIiB0eXBlPSJ0bnM6TWVzc2FnZVNlY3VyaXR5TW9kZSIgLz4NCg0K -ICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iVXNlclRva2VuVHlwZSI+DQogICAgPHhzOmFubm90YXRp -b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgcG9zc2libGUgdXNlciB0b2tlbiB0eXBl -cy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpyZXN0 -cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJB -bm9ueW1vdXNfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVXNlck5hbWVfMSIg -Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ2VydGlmaWNhdGVfMiIgLz4NCiAgICAg -IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNzdWVkVG9rZW5fMyIgLz4NCiAgICAgIDx4czplbnVt -ZXJhdGlvbiB2YWx1ZT0iS2VyYmVyb3NfNCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8 -L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVzZXJUb2tlblR5cGUiIHR5cGU9 -InRuczpVc2VyVG9rZW5UeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJVc2VyVG9r -ZW5Qb2xpY3kiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+ -RGVzY3JpYmVzIGEgdXNlciB0b2tlbiB0aGF0IGNhbiBiZSB1c2VkIHdpdGggYSBzZXJ2ZXIuPC94 -czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQb2xpY3lJZCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVG9r -ZW5UeXBlIiB0eXBlPSJ0bnM6VXNlclRva2VuVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iSXNzdWVkVG9rZW5UeXBlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc3N1 -ZXJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlQb2xpY3lVcmkiIHR5cGU9 -InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyVG9r -ZW5Qb2xpY3kiIHR5cGU9InRuczpVc2VyVG9rZW5Qb2xpY3kiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9Ikxpc3RPZlVzZXJUb2tlblBvbGljeSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlclRva2VuUG9saWN5IiB0eXBlPSJ0bnM6VXNlclRva2Vu -UG9saWN5IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJMaXN0T2ZVc2VyVG9rZW5Qb2xpY3kiIHR5cGU9InRuczpMaXN0T2ZVc2VyVG9r -ZW5Qb2xpY3kiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IkVuZHBvaW50RGVzY3JpcHRpb24iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAg -ICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGRlc2NyaXB0aW9uIG9mIGEgZW5kcG9pbnQgdGhhdCBj -YW4gYmUgdXNlZCB0byBhY2Nlc3MgYSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwv -eHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyIiB0eXBlPSJ0bnM6QXBwbGlj -YXRpb25EZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlNlcnZlckNlcnRpZmljYXRlIiB0eXBlPSJ4czpiYXNlNjRCaW5h -cnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiBtaW5PY2N1 -cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVBvbGljeVVyaSIgdHlw -ZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iVXNlcklkZW50aXR5VG9rZW5zIiB0eXBlPSJ0bnM6TGlzdE9mVXNlclRv -a2VuUG9saWN5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iVHJhbnNwb3J0UHJvZmlsZVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJp -dHlMZXZlbCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94 -czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRW5k -cG9pbnREZXNjcmlwdGlvbiIgdHlwZT0idG5zOkVuZHBvaW50RGVzY3JpcHRpb24iIC8+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkVuZHBvaW50RGVzY3JpcHRpb24iPg0KICAgIDx4 -czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50RGVzY3JpcHRpb24i -IHR5cGU9InRuczpFbmRwb2ludERlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0i -dW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbmRwb2ludERlc2NyaXB0 -aW9uIiB0eXBlPSJ0bnM6TGlzdE9mRW5kcG9pbnREZXNjcmlwdGlvbiIgbmlsbGFibGU9InRydWUi -PjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iR2V0RW5kcG9pbnRzUmVx -dWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5HZXRz -IHRoZSBlbmRwb2ludHMgdXNlZCBieSB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAg -ICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVy -bCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQ -cm9maWxlVXJpcyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9IkdldEVuZHBvaW50c1JlcXVlc3QiIHR5cGU9InRuczpHZXRFbmRwb2lu -dHNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJHZXRFbmRwb2ludHNSZXNw -b25zZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5HZXRz -IHRoZSBlbmRwb2ludHMgdXNlZCBieSB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAg -ICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50 -cyIgdHlwZT0idG5zOkxpc3RPZkVuZHBvaW50RGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iR2V0RW5kcG9pbnRzUmVzcG9uc2UiIHR5cGU9InRuczpHZXRF -bmRwb2ludHNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJl -ZFNlcnZlciI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5U -aGUgaW5mb3JtYXRpb24gcmVxdWlyZWQgdG8gcmVnaXN0ZXIgYSBzZXJ2ZXIgd2l0aCBhIGRpc2Nv -dmVyeSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAg -ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJVcmkiIHR5cGU9 -InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlByb2R1Y3RVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlck5hbWVzIiB0 -eXBlPSJ1YTpMaXN0T2ZMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVHlwZSIgdHlwZT0idG5zOkFwcGxp -Y2F0aW9uVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iR2F0 -ZXdheVNlcnZlclVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzY292ZXJ5VXJscyIgdHlwZT0idWE6 -TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iU2VtYXBob3JlRmlsZVBhdGgiIHR5cGU9InhzOnN0cmluZyIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IklzT25s -aW5lIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJlZFNl -cnZlciIgdHlwZT0idG5zOlJlZ2lzdGVyZWRTZXJ2ZXIiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9Ikxpc3RPZlJlZ2lzdGVyZWRTZXJ2ZXIiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyZWRTZXJ2ZXIiIHR5cGU9InRuczpSZWdpc3RlcmVk -U2VydmVyIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJMaXN0T2ZSZWdpc3RlcmVkU2VydmVyIiB0eXBlPSJ0bnM6TGlzdE9mUmVnaXN0 -ZXJlZFNlcnZlciIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4N -CiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlJlZ2lzdGVycyBhIHNlcnZlciB3aXRoIHRoZSBkaXNj -b3Zlcnkgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQog -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIg -dHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXIiIHR5cGU9InRuczpSZWdpc3RlcmVkU2Vy -dmVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyU2VydmVy -UmVxdWVzdCIgdHlwZT0idG5zOlJlZ2lzdGVyU2VydmVyUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRp -b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5SZWdpc3RlcnMgYSBzZXJ2ZXIgd2l0aCB0aGUg -ZGlzY292ZXJ5IHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9u -Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVh -ZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXNwb25zZSIgdHlwZT0idG5zOlJlZ2lzdGVyU2Vy -dmVyUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRpc2NvdmVyeUNvbmZp -Z3VyYXRpb24iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+ -QSBiYXNlIHR5cGUgZm9yIGRpc2NvdmVyeSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uLjwveHM6 -ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9IkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpEaXNjb3ZlcnlDb25maWd1cmF0 -aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNZG5zRGlzY292ZXJ5Q29uZmlndXJh -dGlvbiI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUg -ZGlzY292ZXJ5IGluZm9ybWF0aW9uIG5lZWRlZCBmb3IgbUROUyByZWdpc3RyYXRpb24uPC94czpk -b2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRl -bnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkRpc2NvdmVy -eUNvbmZpZ3VyYXRpb24iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iTWRuc1NlcnZlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJD -YXBhYmlsaXRpZXMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9u -Pg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9Ik1kbnNEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiB0eXBlPSJ0bnM6TWRuc0Rp -c2NvdmVyeUNvbmZpZ3VyYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZ2lz -dGVyU2VydmVyMlJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyIiB0 -eXBlPSJ0bnM6UmVnaXN0ZXJlZFNlcnZlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIHR5cGU9 -InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJSZWdpc3RlclNlcnZlcjJSZXF1ZXN0IiB0eXBlPSJ0bnM6UmVnaXN0ZXJTZXJ2ZXIy -UmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXIyUmVz -cG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3Bv -bnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb25maWd1cmF0aW9uUmVzdWx0 -cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6 -TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iUmVnaXN0ZXJTZXJ2ZXIyUmVzcG9uc2UiIHR5cGU9InRuczpSZWdpc3RlclNlcnZlcjJSZXNw -b25zZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iU2VjdXJpdHlUb2tlblJlcXVlc3RU -eXBlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkluZGlj -YXRlcyB3aGV0aGVyIGEgdG9rZW4gaWYgYmVpbmcgY3JlYXRlZCBvciByZW5ld2VkLjwveHM6ZG9j -dW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJh -c2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Iklzc3VlXzAiIC8+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlbmV3XzEiIC8+DQogICAgPC94czpyZXN0 -cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0 -eVRva2VuUmVxdWVzdFR5cGUiIHR5cGU9InRuczpTZWN1cml0eVRva2VuUmVxdWVzdFR5cGUiIC8+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNoYW5uZWxTZWN1cml0eVRva2VuIj4NCiAgICA8 -eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSB0b2tlbiB0aGF0IGlk -ZW50aWZpZXMgYSBzZXQgb2Yga2V5cyBmb3IgYW4gYWN0aXZlIHNlY3VyZSBjaGFubmVsLjwveHM6 -ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2hhbm5lbElkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVG9rZW5JZCIgdHlwZT0i -eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkNyZWF0ZWRBdCIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlJldmlzZWRMaWZldGltZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1p -bk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJDaGFubmVsU2VjdXJpdHlUb2tlbiIgdHlwZT0idG5zOkNoYW5u -ZWxTZWN1cml0eVRva2VuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJPcGVuU2VjdXJl -Q2hhbm5lbFJlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50 -YXRpb24+Q3JlYXRlcyBhIHNlY3VyZSBjaGFubmVsIHdpdGggYSBzZXJ2ZXIuPC94czpkb2N1bWVu -dGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkNsaWVudFByb3RvY29sVmVyc2lvbiIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RUeXBlIiB0eXBlPSJ0bnM6U2Vj -dXJpdHlUb2tlblJlcXVlc3RUeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnROb25jZSIgdHlwZT0i -eHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTGlmZXRpbWUiIHR5cGU9InhzOnVuc2lnbmVkSW50 -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT3BlblNlY3VyZUNoYW5uZWxSZXF1ZXN0IiB0eXBlPSJ0 -bnM6T3BlblNlY3VyZUNoYW5uZWxSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJPcGVuU2VjdXJlQ2hhbm5lbFJlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAg -IDx4czpkb2N1bWVudGF0aW9uPkNyZWF0ZXMgYSBzZWN1cmUgY2hhbm5lbCB3aXRoIGEgc2VydmVy -LjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpS -ZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlNlcnZlclByb3RvY29sVmVyc2lvbiIgdHlwZT0ieHM6dW5zaWduZWRJ -bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5VG9r -ZW4iIHR5cGU9InRuczpDaGFubmVsU2VjdXJpdHlUb2tlbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlck5vbmNlIiB0eXBlPSJ4 -czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 -czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT3Bl -blNlY3VyZUNoYW5uZWxSZXNwb25zZSIgdHlwZT0idG5zOk9wZW5TZWN1cmVDaGFubmVsUmVzcG9u -c2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNsb3NlU2VjdXJlQ2hhbm5lbFJlcXVl -c3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q2xvc2Vz -IGEgc2VjdXJlIGNoYW5uZWwuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlv -bj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVh -ZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJDbG9zZVNlY3VyZUNoYW5uZWxSZXF1ZXN0IiB0eXBlPSJ0bnM6Q2xvc2VTZWN1 -cmVDaGFubmVsUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2xvc2VTZWN1 -cmVDaGFubmVsUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3Vt -ZW50YXRpb24+Q2xvc2VzIGEgc2VjdXJlIGNoYW5uZWwuPC94czpkb2N1bWVudGF0aW9uPg0KICAg -IDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNsb3NlU2VjdXJlQ2hhbm5lbFJlc3BvbnNlIiB0 -eXBlPSJ0bnM6Q2xvc2VTZWN1cmVDaGFubmVsUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiPg0KICAgIDx4czphbm5vdGF0aW9u -Pg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBzb2Z0d2FyZSBjZXJ0aWZpY2F0ZSB3aXRoIGEg -ZGlnaXRhbCBzaWduYXR1cmUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlv -bj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDZXJ0aWZpY2F0 -ZURhdGEiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNpZ25hdHVyZSIgdHlwZT0ieHM6YmFzZTY0 -QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu -Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNpZ25lZFNvZnR3 -YXJlQ2VydGlmaWNhdGUiIHR5cGU9InRuczpTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiAvPg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRl -Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTaWduZWRTb2Z0 -d2FyZUNlcnRpZmljYXRlIiB0eXBlPSJ0bnM6U2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgbWlu -T2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -TGlzdE9mU2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgdHlwZT0idG5zOkxpc3RPZlNpZ25lZFNv -ZnR3YXJlQ2VydGlmaWNhdGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhz -OmVsZW1lbnQgbmFtZT0iU2Vzc2lvbkF1dGhlbnRpY2F0aW9uVG9rZW4iIHR5cGU9InVhOk5vZGVJ -ZCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2lnbmF0dXJlRGF0YSI+DQogICAgPHhz -OmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIGRpZ2l0YWwgc2lnbmF0dXJl -LjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWxnb3JpdGhtIiB0eXBlPSJ4czpzdHJpbmci -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJTaWduYXR1cmUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJTaWduYXR1cmVEYXRhIiB0eXBlPSJ0bnM6U2lnbmF0dXJlRGF0YSIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ3JlYXRlU2Vzc2lvblJlcXVlc3QiPg0KICAg -IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q3JlYXRlcyBhIG5ldyBz -ZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v -dGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVl -c3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50RGVzY3JpcHRpb24iIHR5 -cGU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVXJpIiB0eXBlPSJ4czpzdHJp -bmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbk5hbWUiIHR5cGU9Inhz -OnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkNsaWVudE5vbmNlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRDZXJ0 -aWZpY2F0ZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkU2Vzc2lvblRpbWVvdXQi -IHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iTWF4UmVzcG9uc2VNZXNzYWdlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vy -cz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJDcmVhdGVTZXNzaW9uUmVxdWVzdCIgdHlwZT0idG5zOkNyZWF0ZVNlc3Np -b25SZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDcmVhdGVTZXNzaW9uUmVz -cG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q3Jl -YXRlcyBhIG5ldyBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQog -ICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9u -SWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IkF1dGhlbnRpY2F0aW9uVG9rZW4iIHR5cGU9InVhOk5vZGVJ -ZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlJldmlzZWRTZXNzaW9uVGltZW91dCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJOb25jZSIgdHlwZT0ieHM6YmFzZTY0 -QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iU2VydmVyQ2VydGlmaWNhdGUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZl -ckVuZHBvaW50cyIgdHlwZT0idG5zOkxpc3RPZkVuZHBvaW50RGVzY3JpcHRpb24iIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJT -b2Z0d2FyZUNlcnRpZmljYXRlcyIgdHlwZT0idG5zOkxpc3RPZlNpZ25lZFNvZnR3YXJlQ2VydGlm -aWNhdGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJTZXJ2ZXJTaWduYXR1cmUiIHR5cGU9InRuczpTaWduYXR1cmVEYXRhIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4UmVx -dWVzdE1lc3NhZ2VTaXplIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9IkNyZWF0ZVNlc3Npb25SZXNwb25zZSIgdHlwZT0idG5zOkNyZWF0ZVNlc3Npb25SZXNwb25z -ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVXNlcklkZW50aXR5VG9rZW4iPg0KICAg -IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBiYXNlIHR5cGUgZm9y -IGEgdXNlciBpZGVudGl0eSB0b2tlbi48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v -dGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBvbGlj -eUlkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iVXNlcklkZW50aXR5VG9rZW4iIHR5cGU9InRuczpVc2VySWRlbnRpdHlUb2tlbiIgLz4NCg0K -ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQW5vbnltb3VzSWRlbnRpdHlUb2tlbiI+DQogICAgPHhz -OmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHRva2VuIHJlcHJlc2VudGlu -ZyBhbiBhbm9ueW1vdXMgdXNlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 -aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4 -dGVuc2lvbiBiYXNlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgICAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8 -L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJBbm9ueW1vdXNJZGVudGl0eVRva2VuIiB0eXBlPSJ0bnM6QW5vbnltb3VzSWRlbnRpdHlU -b2tlbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVXNlck5hbWVJZGVudGl0eVRva2Vu -Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgdG9rZW4g -cmVwcmVzZW50aW5nIGEgdXNlciBpZGVudGlmaWVkIGJ5IGEgdXNlciBuYW1lIGFuZCBwYXNzd29y -ZC48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21w -bGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6 -VXNlcklkZW50aXR5VG9rZW4iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iVXNlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQYXNzd29yZCIg -dHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuY3J5cHRpb25BbGdvcml0aG0iIHR5cGU9Inhz -OnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpz -ZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVzZXJOYW1lSWRlbnRp -dHlUb2tlbiIgdHlwZT0idG5zOlVzZXJOYW1lSWRlbnRpdHlUb2tlbiIgLz4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iWDUwOUlkZW50aXR5VG9rZW4iPg0KICAgIDx4czphbm5vdGF0aW9uPg0K -ICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSB0b2tlbiByZXByZXNlbnRpbmcgYSB1c2VyIGlkZW50 -aWZpZWQgYnkgYW4gWDUwOSBjZXJ0aWZpY2F0ZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94 -czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAg -ICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgICAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2VydGlmaWNhdGVEYXRh -IiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hz -OmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJYNTA5SWRlbnRpdHlUb2tlbiIgdHlwZT0idG5zOlg1MDlJZGVudGl0eVRva2VuIiAvPg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJLZXJiZXJvc0lkZW50aXR5VG9rZW4iPg0KICAgIDx4czpj -b21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0 -bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iVGlja2V0RGF0YSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAg -ICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iS2VyYmVyb3NJZGVudGl0eVRva2VuIiB0eXBl -PSJ0bnM6S2VyYmVyb3NJZGVudGl0eVRva2VuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJJc3N1ZWRJZGVudGl0eVRva2VuIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpk -b2N1bWVudGF0aW9uPkEgdG9rZW4gcmVwcmVzZW50aW5nIGEgdXNlciBpZGVudGlmaWVkIGJ5IGEg -V1MtU2VjdXJpdHkgWE1MIHRva2VuLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90 -YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6 -ZXh0ZW5zaW9uIGJhc2U9InRuczpVc2VySWRlbnRpdHlUb2tlbiI+DQogICAgICAgIDx4czpzZXF1 -ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUb2tlbkRhdGEiIHR5cGU9InhzOmJh -c2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJFbmNyeXB0aW9uQWxnb3JpdGhtIiB0eXBlPSJ4czpzdHJpbmciIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQog -ICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJJc3N1ZWRJZGVudGl0eVRva2VuIiB0eXBl -PSJ0bnM6SXNzdWVkSWRlbnRpdHlUb2tlbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -QWN0aXZhdGVTZXNzaW9uUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6 -ZG9jdW1lbnRhdGlvbj5BY3RpdmF0ZXMgYSBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L3hzOmRv -Y3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVh -ZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iQ2xpZW50U2lnbmF0dXJlIiB0eXBlPSJ0bnM6U2lnbmF0dXJlRGF0YSIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVudFNv -ZnR3YXJlQ2VydGlmaWNhdGVzIiB0eXBlPSJ0bnM6TGlzdE9mU2lnbmVkU29mdHdhcmVDZXJ0aWZp -Y2F0ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IkxvY2FsZUlkcyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlcklkZW50aXR5VG9r -ZW4iIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJUb2tlblNpZ25hdHVyZSIgdHlwZT0i -dG5zOlNpZ25hdHVyZURhdGEiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -QWN0aXZhdGVTZXNzaW9uUmVxdWVzdCIgdHlwZT0idG5zOkFjdGl2YXRlU2Vzc2lvblJlcXVlc3Qi -IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFjdGl2YXRlU2Vzc2lvblJlc3BvbnNlIj4N -CiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkFjdGl2YXRlcyBh -IHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu -bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVz -cG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlck5vbmNlIiB0eXBl -PSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -RGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBY3RpdmF0ZVNlc3Npb25SZXNwb25zZSIgdHlw -ZT0idG5zOkFjdGl2YXRlU2Vzc2lvblJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJDbG9zZVNlc3Npb25SZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4 -czpkb2N1bWVudGF0aW9uPkNsb3NlcyBhIHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwveHM6ZG9j -dW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFk -ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJEZWxldGVTdWJzY3JpcHRpb25zIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iQ2xvc2VTZXNzaW9uUmVxdWVzdCIgdHlwZT0idG5zOkNsb3NlU2Vzc2lvblJlcXVl -c3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNsb3NlU2Vzc2lvblJlc3BvbnNlIj4N -CiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNsb3NlcyBhIHNl -c3Npb24gd2l0aCB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90 -YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9u -c2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJDbG9zZVNlc3Npb25SZXNwb25zZSIgdHlwZT0idG5zOkNsb3NlU2Vz -c2lvblJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDYW5jZWxSZXF1ZXN0 -Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNhbmNlbHMg -YW4gb3V0c3RhbmRpbmcgcmVxdWVzdC48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v -dGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVl -c3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhhbmRsZSIgdHlwZT0i -eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDYW5jZWxSZXF1ZXN0IiB0eXBl -PSJ0bnM6Q2FuY2VsUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2FuY2Vs -UmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+ -Q2FuY2VscyBhbiBvdXRzdGFuZGluZyByZXF1ZXN0LjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8 -L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNhbmNlbENvdW50 -IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVu -Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNhbmNlbFJlc3Bv -bnNlIiB0eXBlPSJ0bnM6Q2FuY2VsUmVzcG9uc2UiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5h -bWU9Ik5vZGVBdHRyaWJ1dGVzTWFzayI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6 -ZG9jdW1lbnRhdGlvbj5UaGUgYml0cyB1c2VkIHRvIHNwZWNpZnkgZGVmYXVsdCBhdHRyaWJ1dGVz -IGZvciBhIG5ldyBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+ -DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVy -YXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQWNj -ZXNzTGV2ZWxfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQXJyYXlEaW1lbnNp -b25zXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJyb3dzZU5hbWVfNCIgLz4N -CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ29udGFpbnNOb0xvb3BzXzgiIC8+DQogICAg -ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRhdGFUeXBlXzE2IiAvPg0KICAgICAgPHhzOmVudW1l -cmF0aW9uIHZhbHVlPSJEZXNjcmlwdGlvbl8zMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 -YWx1ZT0iRGlzcGxheU5hbWVfNjQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkV2 -ZW50Tm90aWZpZXJfMTI4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJFeGVjdXRh -YmxlXzI1NiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSGlzdG9yaXppbmdfNTEy -IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJbnZlcnNlTmFtZV8xMDI0IiAvPg0K -ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJc0Fic3RyYWN0XzIwNDgiIC8+DQogICAgICA8 -eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik1pbmltdW1TYW1wbGluZ0ludGVydmFsXzQwOTYiIC8+DQog -ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vZGVDbGFzc184MTkyIiAvPg0KICAgICAgPHhz -OmVudW1lcmF0aW9uIHZhbHVlPSJOb2RlSWRfMTYzODQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp -b24gdmFsdWU9IlN5bW1ldHJpY18zMjc2OCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 -ZT0iVXNlckFjY2Vzc0xldmVsXzY1NTM2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl -PSJVc2VyRXhlY3V0YWJsZV8xMzEwNzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 -IlVzZXJXcml0ZU1hc2tfMjYyMTQ0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJW -YWx1ZVJhbmtfNTI0Mjg4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJXcml0ZU1h -c2tfMTA0ODU3NiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVmFsdWVfMjA5NzE1 -MiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQWxsXzQxOTQzMDMiIC8+DQogICAg -ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJhc2VOb2RlXzEzMzUzOTYiIC8+DQogICAgICA8eHM6 -ZW51bWVyYXRpb24gdmFsdWU9Ik9iamVjdF8xMzM1NTI0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0 -aW9uIHZhbHVlPSJPYmplY3RUeXBlT3JEYXRhVHlwZV8xMzM3NDQ0IiAvPg0KICAgICAgPHhzOmVu -dW1lcmF0aW9uIHZhbHVlPSJWYXJpYWJsZV80MDI2OTk5IiAvPg0KICAgICAgPHhzOmVudW1lcmF0 -aW9uIHZhbHVlPSJWYXJpYWJsZVR5cGVfMzk1ODkwMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv -biB2YWx1ZT0iTWV0aG9kXzE0NjY3MjQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 -IlJlZmVyZW5jZVR5cGVfMTM3MTIzNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i -Vmlld18xMzM1NTMyIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUF0dHJpYnV0ZXNNYXNrIiB0eXBlPSJ0bnM6Tm9k -ZUF0dHJpYnV0ZXNNYXNrIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJOb2RlQXR0cmli -dXRlcyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUg -YmFzZSBhdHRyaWJ1dGVzIGZvciBhbGwgbm9kZXMuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwv -eHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzcGxheU5hbWUiIHR5cGU9InVhOkxvY2Fs -aXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IldyaXRlTWFz -ayIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlVzZXJXcml0ZU1hc2siIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iTm9kZUF0dHJpYnV0ZXMiIHR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4N -Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iT2JqZWN0QXR0cmlidXRlcyI+DQogICAgPHhzOmFu -bm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYW4g -b2JqZWN0IG5vZGUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAg -ICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24g -YmFzZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -ICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50Tm90aWZpZXIiIHR5cGU9InhzOnVuc2lnbmVkQnl0 -ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpl -eHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iT2JqZWN0QXR0cmlidXRlcyIgdHlwZT0idG5zOk9iamVjdEF0 -dHJpYnV0ZXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhYmxlQXR0cmlidXRl -cyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYXR0 -cmlidXRlcyBmb3IgYSB2YXJpYWJsZSBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hz -OmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAg -ICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgICAgIDx4czpz -ZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0idWE6VmFy -aWFudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFU -eXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czppbnQiIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcnJheURpbWVuc2lvbnMi -IHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBY2Nlc3NMZXZlbCIgdHlwZT0ieHM6dW5zaWdu -ZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNl -ckFjY2Vzc0xldmVsIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbCIgdHlwZT0i -eHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -SGlzdG9yaXppbmciIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg -PC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENv -bnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlZhcmlhYmxl -QXR0cmlidXRlcyIgdHlwZT0idG5zOlZhcmlhYmxlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iTWV0aG9kQXR0cmlidXRlcyI+DQogICAgPHhzOmFubm90YXRpb24+DQog -ICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSBtZXRob2Qgbm9kZS48 -L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4 -Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9k -ZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iRXhlY3V0YWJsZSIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJFeGVjdXRhYmxlIiB0eXBlPSJ4czpib29s -ZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hz -OmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNZXRob2RBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6TWV0aG9k -QXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iT2JqZWN0VHlwZUF0dHJp -YnV0ZXMiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhl -IGF0dHJpYnV0ZXMgZm9yIGFuIG9iamVjdCB0eXBlIG5vZGUuPC94czpkb2N1bWVudGF0aW9uPg0K -ICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNl -Ij4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICAg -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IklzQWJzdHJhY3Qi -IHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5j -ZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9iamVjdFR5cGVBdHRyaWJ1dGVz -IiB0eXBlPSJ0bnM6T2JqZWN0VHlwZUF0dHJpYnV0ZXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9IlZhcmlhYmxlVHlwZUF0dHJpYnV0ZXMiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAg -ICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGEgdmFyaWFibGUgdHlwZSBu -b2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNv -bXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRu -czpOb2RlQXR0cmlidXRlcyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0idWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJBcnJheURpbWVuc2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg -ICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBs -ZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWYXJp -YWJsZVR5cGVBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6VmFyaWFibGVUeXBlQXR0cmlidXRlcyIgLz4N -Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVmZXJlbmNlVHlwZUF0dHJpYnV0ZXMiPg0KICAg -IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMg -Zm9yIGEgcmVmZXJlbmNlIHR5cGUgbm9kZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czph -bm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAg -PHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNBYnN0cmFjdCIgdHlwZT0ieHM6 -Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN5 -bW1ldHJpYyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4 -czplbGVtZW50IG5hbWU9IkludmVyc2VOYW1lIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAg -ICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlVHlwZUF0dHJpYnV0ZXMiIHR5 -cGU9InRuczpSZWZlcmVuY2VUeXBlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iRGF0YVR5cGVBdHRyaWJ1dGVzIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4 -czpkb2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVzIGZvciBhIGRhdGEgdHlwZSBub2RlLjwveHM6 -ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250 -ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0 -cmlidXRlcyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg -ICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBs -ZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRh -VHlwZUF0dHJpYnV0ZXMiIHR5cGU9InRuczpEYXRhVHlwZUF0dHJpYnV0ZXMiIC8+DQoNCiAgPHhz -OmNvbXBsZXhUeXBlIG5hbWU9IlZpZXdBdHRyaWJ1dGVzIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4N -CiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVzIGZvciBhIHZpZXcgbm9kZS48 -L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4 -Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9k -ZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iQ29udGFpbnNOb0xvb3BzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnROb3RpZmllciIgdHlwZT0ieHM6 -dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQog -ICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWaWV3QXR0cmlidXRlcyIgdHlwZT0idG5z -OlZpZXdBdHRyaWJ1dGVzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZGROb2Rlc0l0 -ZW0iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSByZXF1 -ZXN0IHRvIGFkZCBhIG5vZGUgdG8gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1l -bnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUGFyZW50Tm9kZUlkIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlJlZmVyZW5jZVR5cGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTmV3Tm9kZUlkIiB0 -eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZU5hbWUiIHR5cGU9InVhOlF1YWxpZmllZE5h -bWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJOb2RlQ2xhc3MiIHR5cGU9InRuczpOb2RlQ2xhc3MiIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVBdHRyaWJ1dGVzIiB0eXBlPSJ1YTpFeHRlbnNpb25P -YmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJUeXBlRGVmaW5pdGlvbiIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkTm9kZXNJdGVtIiB0eXBlPSJ0bnM6QWRk -Tm9kZXNJdGVtIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZBZGROb2Rlc0l0 -ZW0iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZE5vZGVz -SXRlbSIgdHlwZT0idG5zOkFkZE5vZGVzSXRlbSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu -Ym91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQWRkTm9kZXNJdGVtIiB0eXBl -PSJ0bnM6TGlzdE9mQWRkTm9kZXNJdGVtIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZGROb2Rlc1Jlc3VsdCI+DQogICAgPHhzOmFubm90 -YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHJlc3VsdCBvZiBhbiBhZGQgbm9kZSBv -cGVyYXRpb24uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1 -YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJB -ZGRlZE5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9IkFkZE5vZGVzUmVzdWx0IiB0eXBlPSJ0bnM6QWRkTm9kZXNSZXN1bHQiIC8+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkFkZE5vZGVzUmVzdWx0Ij4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGROb2Rlc1Jlc3VsdCIgdHlwZT0i -dG5zOkFkZE5vZGVzUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZBZGROb2Rlc1Jlc3VsdCIgdHlwZT0idG5zOkxp -c3RPZkFkZE5vZGVzUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJBZGROb2Rlc1JlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9u -Pg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QWRkcyBvbmUgb3IgbW9yZSBub2RlcyB0byB0aGUg -c2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3Rh -dGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0 -SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVzVG9BZGQiIHR5cGU9InRuczpM -aXN0T2ZBZGROb2Rlc0l0ZW0iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -QWRkTm9kZXNSZXF1ZXN0IiB0eXBlPSJ0bnM6QWRkTm9kZXNSZXF1ZXN0IiAvPg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJBZGROb2Rlc1Jlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4N -CiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkFkZHMgb25lIG9yIG1vcmUgbm9kZXMgdG8gdGhlIHNl -cnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRp -b24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VI -ZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0 -T2ZBZGROb2Rlc1Jlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25v -c3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 -ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkTm9kZXNS -ZXNwb25zZSIgdHlwZT0idG5zOkFkZE5vZGVzUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IkFkZFJlZmVyZW5jZXNJdGVtIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAg -IDx4czpkb2N1bWVudGF0aW9uPkEgcmVxdWVzdCB0byBhZGQgYSByZWZlcmVuY2UgdG8gdGhlIHNl -cnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRp -b24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU291cmNlTm9k -ZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VUeXBlSWQiIHR5cGU9InVhOk5vZGVJZCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IklzRm9yd2FyZCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iVGFyZ2V0U2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXRO -b2RlSWQiIHR5cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0Tm9kZUNsYXNzIiB0eXBlPSJ0 -bnM6Tm9kZUNsYXNzIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkUmVmZXJlbmNlc0l0ZW0iIHR5 -cGU9InRuczpBZGRSZWZlcmVuY2VzSXRlbSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -TGlzdE9mQWRkUmVmZXJlbmNlc0l0ZW0iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IkFkZFJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0bnM6QWRkUmVmZXJlbmNlc0l0 -ZW0iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9Ikxpc3RPZkFkZFJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0bnM6TGlzdE9mQWRkUmVmZXJl -bmNlc0l0ZW0iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IkFkZFJlZmVyZW5jZXNSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg -ICAgIDx4czpkb2N1bWVudGF0aW9uPkFkZHMgb25lIG9yIG1vcmUgcmVmZXJlbmNlcyB0byB0aGUg -c2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3Rh -dGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0 -SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZXNUb0FkZCIgdHlwZT0i -dG5zOkxpc3RPZkFkZFJlZmVyZW5jZXNJdGVtIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9IkFkZFJlZmVyZW5jZXNSZXF1ZXN0IiB0eXBlPSJ0bnM6QWRkUmVmZXJlbmNlc1Jl -cXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFkZFJlZmVyZW5jZXNSZXNwb25z -ZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BZGRzIG9u -ZSBvciBtb3JlIHJlZmVyZW5jZXMgdG8gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9j -dW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhl -YWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5m -b3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9IkFkZFJlZmVyZW5jZXNSZXNwb25zZSIgdHlwZT0idG5zOkFkZFJlZmVy -ZW5jZXNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlTm9kZXNJ -dGVtIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgcmVx -dWVzdCB0byBkZWxldGUgYSBub2RlIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRv -Y3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlVGFy -Z2V0UmVmZXJlbmNlcyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwv -eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRl -bGV0ZU5vZGVzSXRlbSIgdHlwZT0idG5zOkRlbGV0ZU5vZGVzSXRlbSIgLz4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iTGlzdE9mRGVsZXRlTm9kZXNJdGVtIj4NCiAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVOb2Rlc0l0ZW0iIHR5cGU9InRuczpEZWxl -dGVOb2Rlc0l0ZW0iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9Ikxpc3RPZkRlbGV0ZU5vZGVzSXRlbSIgdHlwZT0idG5zOkxpc3RPZkRl -bGV0ZU5vZGVzSXRlbSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iRGVsZXRlTm9kZXNSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4N -CiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkRlbGV0ZSBvbmUgb3IgbW9yZSBub2RlcyBmcm9tIHRo -ZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v -dGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVl -c3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb0RlbGV0ZSIgdHlwZT0i -dG5zOkxpc3RPZkRlbGV0ZU5vZGVzSXRlbSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJEZWxldGVOb2Rlc1JlcXVlc3QiIHR5cGU9InRuczpEZWxldGVOb2Rlc1JlcXVlc3Qi -IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZU5vZGVzUmVzcG9uc2UiPg0KICAg -IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+RGVsZXRlIG9uZSBvciBt -b3JlIG5vZGVzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlv -bj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJl -c3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9 -InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9IkRlbGV0ZU5vZGVzUmVzcG9uc2UiIHR5cGU9InRuczpEZWxldGVOb2Rlc1Jlc3BvbnNl -IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEZWxldGVSZWZlcmVuY2VzSXRlbSI+DQog -ICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8g -ZGVsZXRlIGEgbm9kZSBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50 -YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlNvdXJjZU5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNl -VHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ZvcndhcmQiIHR5cGU9InhzOmJvb2xlYW4iIG1p -bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdldE5vZGVJZCIgdHlw -ZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVCaWRpcmVjdGlvbmFsIiB0eXBlPSJ4czpib29s -ZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlUmVmZXJlbmNlc0l0ZW0iIHR5cGU9InRu -czpEZWxldGVSZWZlcmVuY2VzSXRlbSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlz -dE9mRGVsZXRlUmVmZXJlbmNlc0l0ZW0iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0bnM6RGVsZXRlUmVmZXJl -bmNlc0l0ZW0iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9Ikxpc3RPZkRlbGV0ZVJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0bnM6TGlzdE9m -RGVsZXRlUmVmZXJlbmNlc0l0ZW0iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNSZXF1ZXN0Ij4NCiAgICA8eHM6 -YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkRlbGV0ZSBvbmUgb3IgbW9yZSBy -ZWZlcmVuY2VzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlv -bj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZl -cmVuY2VzVG9EZWxldGUiIHR5cGU9InRuczpMaXN0T2ZEZWxldGVSZWZlcmVuY2VzSXRlbSIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVSZWZlcmVuY2VzUmVxdWVz -dCIgdHlwZT0idG5zOkRlbGV0ZVJlZmVyZW5jZXNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4 -VHlwZSBuYW1lPSJEZWxldGVSZWZlcmVuY2VzUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9u -Pg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+RGVsZXRlIG9uZSBvciBtb3JlIHJlZmVyZW5jZXMg -ZnJvbSB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwv -eHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlw -ZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9m -RGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 -czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVs -ZXRlUmVmZXJlbmNlc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6RGVsZXRlUmVmZXJlbmNlc1Jlc3BvbnNl -IiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJBdHRyaWJ1dGVXcml0ZU1hc2siPg0KICAg -IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+RGVmaW5lIGJpdHMgdXNl -ZCB0byBpbmRpY2F0ZSB3aGljaCBhdHRyaWJ1dGVzIGFyZSB3cml0YWJsZS48L3hzOmRvY3VtZW50 -YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4 -czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb25lXzAiIC8+DQogICAg -ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFjY2Vzc0xldmVsXzEiIC8+DQogICAgICA8eHM6ZW51 -bWVyYXRpb24gdmFsdWU9IkFycmF5RGltZW5zaW9uc18yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0 -aW9uIHZhbHVlPSJCcm93c2VOYW1lXzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 -IkNvbnRhaW5zTm9Mb29wc184IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEYXRh -VHlwZV8xNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGVzY3JpcHRpb25fMzIi -IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRpc3BsYXlOYW1lXzY0IiAvPg0KICAg -ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJFdmVudE5vdGlmaWVyXzEyOCIgLz4NCiAgICAgIDx4 -czplbnVtZXJhdGlvbiB2YWx1ZT0iRXhlY3V0YWJsZV8yNTYiIC8+DQogICAgICA8eHM6ZW51bWVy -YXRpb24gdmFsdWU9Ikhpc3Rvcml6aW5nXzUxMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 -YWx1ZT0iSW52ZXJzZU5hbWVfMTAyNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i -SXNBYnN0cmFjdF8yMDQ4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJNaW5pbXVt -U2FtcGxpbmdJbnRlcnZhbF80MDk2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJO -b2RlQ2xhc3NfODE5MiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9kZUlkXzE2 -Mzg0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTeW1tZXRyaWNfMzI3NjgiIC8+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVzZXJBY2Nlc3NMZXZlbF82NTUzNiIgLz4N -CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVXNlckV4ZWN1dGFibGVfMTMxMDcyIiAvPg0K -ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVc2VyV3JpdGVNYXNrXzI2MjE0NCIgLz4NCiAg -ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVmFsdWVSYW5rXzUyNDI4OCIgLz4NCiAgICAgIDx4 -czplbnVtZXJhdGlvbiB2YWx1ZT0iV3JpdGVNYXNrXzEwNDg1NzYiIC8+DQogICAgICA8eHM6ZW51 -bWVyYXRpb24gdmFsdWU9IlZhbHVlRm9yVmFyaWFibGVUeXBlXzIwOTcxNTIiIC8+DQogICAgPC94 -czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJB -dHRyaWJ1dGVXcml0ZU1hc2siIHR5cGU9InRuczpBdHRyaWJ1dGVXcml0ZU1hc2siIC8+DQoNCiAg -PHhzOnNpbXBsZVR5cGUgIG5hbWU9IkJyb3dzZURpcmVjdGlvbiI+DQogICAgPHhzOmFubm90YXRp -b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgZGlyZWN0aW9ucyBvZiB0aGUgcmVmZXJl -bmNlcyB0byByZXR1cm4uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4N -CiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJh -dGlvbiB2YWx1ZT0iRm9yd2FyZF8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJ -bnZlcnNlXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJvdGhfMiIgLz4NCiAg -ICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9IkJyb3dzZURpcmVjdGlvbiIgdHlwZT0idG5zOkJyb3dzZURpcmVjdGlvbiIgLz4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iVmlld0Rlc2NyaXB0aW9uIj4NCiAgICA8eHM6YW5ub3RhdGlv -bj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSB2aWV3IHRvIGJyb3dzZS48L3hzOmRvY3Vt -ZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlZpZXdJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0YW1wIiB0 -eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iVmlld1ZlcnNpb24iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iVmlld0Rlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6Vmlld0Rlc2NyaXB0aW9uIiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VEZXNjcmlwdGlvbiI+DQogICAgPHhzOmFubm90YXRp -b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8gYnJvd3NlIHRoZSB0aGUg -cmVmZXJlbmNlcyBmcm9tIGEgbm9kZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v -dGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJ -ZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlRGlyZWN0aW9uIiB0eXBlPSJ0bnM6QnJvd3NlRGly -ZWN0aW9uIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVu -Y2VUeXBlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkluY2x1ZGVTdWJ0eXBlcyIgdHlwZT0ieHM6Ym9v -bGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUNsYXNz -TWFzayIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlJlc3VsdE1hc2siIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iQnJvd3NlRGVzY3JpcHRpb24iIHR5cGU9InRuczpCcm93c2VEZXNjcmlwdGlv -biIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJvd3NlRGVzY3JpcHRpb24i -Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZURlc2Ny -aXB0aW9uIiB0eXBlPSJ0bnM6QnJvd3NlRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2Nj -dXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog -IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb3dzZURlc2Ny -aXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlRGVzY3JpcHRpb24iIG5pbGxhYmxlPSJ0cnVl -Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkJyb3dzZVJlc3VsdE1h -c2siPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBiaXQg -bWFzayB3aGljaCBzcGVjaWZpZXMgd2hhdCBzaG91bGQgYmUgcmV0dXJuZWQgaW4gYSBicm93c2Ug -cmVzcG9uc2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 -eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 -YWx1ZT0iTm9uZV8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZWZlcmVuY2VU -eXBlSWRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNGb3J3YXJkXzIiIC8+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vZGVDbGFzc180IiAvPg0KICAgICAgPHhz -OmVudW1lcmF0aW9uIHZhbHVlPSJCcm93c2VOYW1lXzgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp -b24gdmFsdWU9IkRpc3BsYXlOYW1lXzE2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl -PSJUeXBlRGVmaW5pdGlvbl8zMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQWxs -XzYzIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZWZlcmVuY2VUeXBlSW5mb18z -IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJUYXJnZXRJbmZvXzYwIiAvPg0KICAg -IDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iQnJvd3NlUmVzdWx0TWFzayIgdHlwZT0idG5zOkJyb3dzZVJlc3VsdE1hc2siIC8+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZmVyZW5jZURlc2NyaXB0aW9uIj4NCiAgICA8eHM6YW5u -b3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBkZXNjcmlwdGlvbiBvZiBhIHJl -ZmVyZW5jZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4 -czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgdHlw -ZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iSXNGb3J3YXJkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOkV4cGFuZGVkTm9k -ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iQnJvd3NlTmFtZSIgdHlwZT0idWE6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc3BsYXlOYW1lIiB0 -eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUNsYXNzIiB0eXBlPSJ0bnM6Tm9kZUNsYXNzIiBt -aW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUeXBlRGVmaW5pdGlvbiIg -dHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg -bmFtZT0iUmVmZXJlbmNlRGVzY3JpcHRpb24iIHR5cGU9InRuczpSZWZlcmVuY2VEZXNjcmlwdGlv -biIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUmVmZXJlbmNlRGVzY3JpcHRp -b24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5j -ZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6UmVmZXJlbmNlRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0i -MCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlJl -ZmVyZW5jZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mUmVmZXJlbmNlRGVzY3JpcHRpb24i -IG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ29u -dGludWF0aW9uUG9pbnQiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iQnJvd3NlUmVzdWx0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4 -czpkb2N1bWVudGF0aW9uPlRoZSByZXN1bHQgb2YgYSBicm93c2Ugb3BlcmF0aW9uLjwveHM6ZG9j -dW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9uUG9pbnQi -IHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZXMiIHR5cGU9InRuczpMaXN0T2ZSZWZl -cmVuY2VEZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJC -cm93c2VSZXN1bHQiIHR5cGU9InRuczpCcm93c2VSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9Ikxpc3RPZkJyb3dzZVJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUmVzdWx0IiB0eXBlPSJ0bnM6QnJvd3NlUmVzdWx0IiBt -aW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJMaXN0T2ZCcm93c2VSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VSZXN1bHQiIG5pbGxh -YmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb3dz -ZVJlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+ -QnJvd3NlIHRoZSByZWZlcmVuY2VzIGZvciBvbmUgb3IgbW9yZSBub2RlcyBmcm9tIHRoZSBzZXJ2 -ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9u -Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFk -ZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmlldyIgdHlwZT0idG5zOlZpZXdEZXNjcmlw -dGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlJlcXVlc3RlZE1heFJlZmVyZW5jZXNQZXJOb2RlIiB0eXBlPSJ4czp1bnNpZ25lZElu -dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb0Jyb3dz -ZSIgdHlwZT0idG5zOkxpc3RPZkJyb3dzZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVJlcXVlc3QiIHR5cGU9InRuczpCcm93c2VSZXF1ZXN0 -IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VSZXNwb25zZSI+DQogICAgPHhz -OmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5Ccm93c2UgdGhlIHJlZmVyZW5j -ZXMgZm9yIG9uZSBvciBtb3JlIG5vZGVzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwv -eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNw -b25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VSZXN1bHQiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFn -bm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVJlc3BvbnNlIiB0eXBlPSJ0bnM6QnJvd3Nl -UmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb3dzZU5leHRSZXF1ZXN0 -Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNvbnRpbnVl -cyBvbmUgb3IgbW9yZSBicm93c2Ugb3BlcmF0aW9ucy48L3hzOmRvY3VtZW50YXRpb24+DQogICAg -PC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsZWFzZUNvbnRp -bnVhdGlvblBvaW50cyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9uUG9pbnRzIiB0eXBlPSJ1YTpMaXN0T2ZCeXRl -U3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu -Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZU5leHRS -ZXF1ZXN0IiB0eXBlPSJ0bnM6QnJvd3NlTmV4dFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IkJyb3dzZU5leHRSZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg -ICA8eHM6ZG9jdW1lbnRhdGlvbj5Db250aW51ZXMgb25lIG9yIG1vcmUgYnJvd3NlIG9wZXJhdGlv -bnMuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5z -OlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZkJyb3dzZVJlc3VsdCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlTmV4dFJlc3BvbnNlIiB0eXBlPSJ0 -bnM6QnJvd3NlTmV4dFJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWxh -dGl2ZVBhdGhFbGVtZW50Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVu -dGF0aW9uPkFuIGVsZW1lbnQgaW4gYSByZWxhdGl2ZSBwYXRoLjwveHM6ZG9jdW1lbnRhdGlvbj4N -CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iUmVmZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ludmVyc2UiIHR5 -cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkluY2x1ZGVTdWJ0eXBlcyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0TmFtZSIgdHlwZT0idWE6UXVhbGlmaWVkTmFtZSIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWxhdGl2ZVBhdGhFbGVtZW50 -IiB0eXBlPSJ0bnM6UmVsYXRpdmVQYXRoRWxlbWVudCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iTGlzdE9mUmVsYXRpdmVQYXRoRWxlbWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsYXRpdmVQYXRoRWxlbWVudCIgdHlwZT0idG5zOlJlbGF0 -aXZlUGF0aEVsZW1lbnQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlJlbGF0aXZlUGF0aEVsZW1lbnQiIHR5cGU9InRuczpM -aXN0T2ZSZWxhdGl2ZVBhdGhFbGVtZW50IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWxhdGl2ZVBhdGgiPg0KICAgIDx4czphbm5vdGF0 -aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSByZWxhdGl2ZSBwYXRoIGNvbnN0cnVjdGVk -IGZyb20gcmVmZXJlbmNlIHR5cGVzIGFuZCBicm93c2UgbmFtZXMuPC94czpkb2N1bWVudGF0aW9u -Pg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJFbGVtZW50cyIgdHlwZT0idG5zOkxpc3RPZlJlbGF0aXZlUGF0aEVsZW1lbnQi -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg -PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsYXRpdmVQYXRoIiB0eXBl -PSJ0bnM6UmVsYXRpdmVQYXRoIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VQ -YXRoIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgcmVx -dWVzdCB0byB0cmFuc2xhdGUgYSBwYXRoIGludG8gYSBub2RlIGlkLjwveHM6ZG9jdW1lbnRhdGlv -bj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iU3RhcnRpbmdOb2RlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWxhdGl2ZVBhdGgi -IHR5cGU9InRuczpSZWxhdGl2ZVBhdGgiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg -bmFtZT0iQnJvd3NlUGF0aCIgdHlwZT0idG5zOkJyb3dzZVBhdGgiIC8+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGgiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGgiIHR5cGU9InRuczpCcm93c2VQYXRoIiBtaW5P -Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM -aXN0T2ZCcm93c2VQYXRoIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlUGF0aCIgbmlsbGFibGU9InRy -dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQnJvd3NlUGF0aFRh -cmdldCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUg -dGFyZ2V0IG9mIHRoZSB0cmFuc2xhdGVkIHBhdGguPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwv -eHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJUYXJnZXRJZCIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZW1haW5pbmdQYXRoSW5kZXgi -IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUGF0aFRh -cmdldCIgdHlwZT0idG5zOkJyb3dzZVBhdGhUYXJnZXQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGhUYXJnZXQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGhUYXJnZXQiIHR5cGU9InRuczpCcm93c2VQYXRo -VGFyZ2V0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJMaXN0T2ZCcm93c2VQYXRoVGFyZ2V0IiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3Nl -UGF0aFRhcmdldCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iQnJvd3NlUGF0aFJlc3VsdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg -ICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgcmVzdWx0IG9mIGEgdHJhbnNsYXRlIG9wZWFyYXRpb24u -PC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXND -b2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXRzIiB0 -eXBlPSJ0bnM6TGlzdE9mQnJvd3NlUGF0aFRhcmdldCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJCcm93c2VQYXRoUmVzdWx0IiB0eXBlPSJ0bnM6QnJvd3NlUGF0aFJlc3Vs -dCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJvd3NlUGF0aFJlc3VsdCI+ -DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUGF0aFJl -c3VsdCIgdHlwZT0idG5zOkJyb3dzZVBhdGhSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJz -PSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGhSZXN1 -bHQiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VQYXRoUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94 -czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJUcmFuc2xhdGVCcm93c2VQYXRo -c1RvTm9kZUlkc1JlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3Vt -ZW50YXRpb24+VHJhbnNsYXRlcyBvbmUgb3IgbW9yZSBwYXRocyBpbiB0aGUgc2VydmVyIGFkZHJl -c3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBl -PSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGhzIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3Nl -UGF0aCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl -Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2xhdGVCcm93 -c2VQYXRoc1RvTm9kZUlkc1JlcXVlc3QiIHR5cGU9InRuczpUcmFuc2xhdGVCcm93c2VQYXRoc1Rv -Tm9kZUlkc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlRyYW5zbGF0ZUJy -b3dzZVBhdGhzVG9Ob2RlSWRzUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAg -PHhzOmRvY3VtZW50YXRpb24+VHJhbnNsYXRlcyBvbmUgb3IgbW9yZSBwYXRocyBpbiB0aGUgc2Vy -dmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlv -bj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhl -YWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RP -ZkJyb3dzZVBhdGhSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdu -b3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRyYW5zbGF0 -ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVzcG9uc2UiIHR5cGU9InRuczpUcmFuc2xhdGVCcm93c2VQ -YXRoc1RvTm9kZUlkc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWdp -c3Rlck5vZGVzUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l -bnRhdGlvbj5SZWdpc3RlcnMgb25lIG9yIG1vcmUgbm9kZXMgZm9yIHJlcGVhdGVkIHVzZSB3aXRo -aW4gYSBzZXNzaW9uLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQog -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIg -dHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2Rlc1RvUmVnaXN0ZXIiIHR5cGU9InVhOkxpc3RP -Zk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl -bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWdpc3Rlck5v -ZGVzUmVxdWVzdCIgdHlwZT0idG5zOlJlZ2lzdGVyTm9kZXNSZXF1ZXN0IiAvPg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJSZWdpc3Rlck5vZGVzUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0 -aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+UmVnaXN0ZXJzIG9uZSBvciBtb3JlIG5vZGVz -IGZvciByZXBlYXRlZCB1c2Ugd2l0aGluIGEgc2Vzc2lvbi48L3hzOmRvY3VtZW50YXRpb24+DQog -ICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWdpc3Rl -cmVkTm9kZUlkcyIgdHlwZT0idWE6TGlzdE9mTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyTm9kZXNSZXNwb25zZSIgdHlwZT0idG5zOlJlZ2lzdGVy -Tm9kZXNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVW5yZWdpc3Rlck5v -ZGVzUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlv -bj5VbnJlZ2lzdGVycyBvbmUgb3IgbW9yZSBwcmV2aW91c2x5IHJlZ2lzdGVyZWQgbm9kZXMuPC94 -czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVz -dEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9Ik5vZGVzVG9VbnJlZ2lzdGVyIiB0eXBlPSJ1YTpMaXN0T2ZOb2RlSWQiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVW5yZWdpc3Rlck5vZGVzUmVxdWVzdCIg -dHlwZT0idG5zOlVucmVnaXN0ZXJOb2Rlc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9IlVucmVnaXN0ZXJOb2Rlc1Jlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg -ICAgIDx4czpkb2N1bWVudGF0aW9uPlVucmVnaXN0ZXJzIG9uZSBvciBtb3JlIHByZXZpb3VzbHkg -cmVnaXN0ZXJlZCBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9u -Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVh -ZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iVW5yZWdpc3Rlck5vZGVzUmVzcG9uc2UiIHR5cGU9InRuczpVbnJlZ2lzdGVy -Tm9kZXNSZXNwb25zZSIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb3VudGVyIiB0eXBlPSJ4 -czp1bnNpZ25lZEludCIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOdW1lcmljUmFuZ2UiIHR5 -cGU9InhzOnN0cmluZyIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lIiB0eXBlPSJ4czpz -dHJpbmciIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0ZSIgdHlwZT0ieHM6ZGF0ZVRpbWUi -IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVuZHBvaW50Q29uZmlndXJhdGlvbiI+DQog -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT3BlcmF0aW9uVGltZW91 -dCIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJVc2VCaW5hcnlFbmNvZGluZyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4U3RyaW5nTGVuZ3RoIiB0eXBlPSJ4czppbnQiIG1p -bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heEJ5dGVTdHJpbmdMZW5n -dGgiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iTWF4QXJyYXlMZW5ndGgiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iTWF4TWVzc2FnZVNpemUiIHR5cGU9InhzOmludCIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4QnVmZmVyU2l6ZSIgdHlwZT0ieHM6 -aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDaGFubmVsTGlm -ZXRpbWUiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iU2VjdXJpdHlUb2tlbkxpZmV0aW1lIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJFbmRwb2ludENvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpFbmRwb2ludENvbmZpZ3Vy -YXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkVuZHBvaW50Q29uZmln -dXJhdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5k -cG9pbnRDb25maWd1cmF0aW9uIiB0eXBlPSJ0bnM6RW5kcG9pbnRDb25maWd1cmF0aW9uIiBtaW5P -Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM -aXN0T2ZFbmRwb2ludENvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpMaXN0T2ZFbmRwb2ludENvbmZp -Z3VyYXRpb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5 -cGUgIG5hbWU9IkNvbXBsaWFuY2VMZXZlbCI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9Inhz -OnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVudGVzdGVkXzAiIC8+DQog -ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlBhcnRpYWxfMSIgLz4NCiAgICAgIDx4czplbnVt -ZXJhdGlvbiB2YWx1ZT0iU2VsZlRlc3RlZF8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh -bHVlPSJDZXJ0aWZpZWRfMyIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBs -ZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNvbXBsaWFuY2VMZXZlbCIgdHlwZT0idG5zOkNv -bXBsaWFuY2VMZXZlbCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU3VwcG9ydGVkUHJv -ZmlsZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT3JnYW5p -emF0aW9uVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQcm9maWxlSWQiIHR5cGU9InhzOnN0cmluZyIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkNvbXBsaWFuY2VUb29sIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb21wbGlhbmNlRGF0ZSIgdHlwZT0i -eHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNv -bXBsaWFuY2VMZXZlbCIgdHlwZT0idG5zOkNvbXBsaWFuY2VMZXZlbCIgbWluT2NjdXJzPSIwIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVW5zdXBwb3J0ZWRVbml0SWRzIiB0eXBlPSJ1YTpM -aXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz -ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU3VwcG9y -dGVkUHJvZmlsZSIgdHlwZT0idG5zOlN1cHBvcnRlZFByb2ZpbGUiIC8+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9Ikxpc3RPZlN1cHBvcnRlZFByb2ZpbGUiPg0KICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1cHBvcnRlZFByb2ZpbGUiIHR5cGU9InRuczpTdXBw -b3J0ZWRQcm9maWxlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTdXBwb3J0ZWRQcm9maWxlIiB0eXBlPSJ0bnM6TGlzdE9m -U3VwcG9ydGVkUHJvZmlsZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iU29mdHdhcmVDZXJ0aWZpY2F0ZSI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJvZHVjdE5hbWUiIHR5cGU9InhzOnN0cmluZyIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlByb2R1Y3RVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZlbmRvck5hbWUiIHR5cGU9InhzOnN0cmlu -ZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlZlbmRvclByb2R1Y3RDZXJ0aWZpY2F0ZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU29m -dHdhcmVWZXJzaW9uIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCdWlsZE51bWJlciIgdHlwZT0ieHM6c3Ry -aW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iQnVpbGREYXRlIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNzdWVkQnkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Iklzc3VlRGF0 -ZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlN1cHBvcnRlZFByb2ZpbGVzIiB0eXBlPSJ0bnM6TGlzdE9mU3VwcG9ydGVkUHJvZmls -ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTb2Z0d2FyZUNlcnRpZmlj -YXRlIiB0eXBlPSJ0bnM6U29mdHdhcmVDZXJ0aWZpY2F0ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iUXVlcnlEYXRhRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlJlbGF0aXZlUGF0aCIgdHlwZT0idG5zOlJlbGF0aXZlUGF0aCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXhSYW5nZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5RGF0YURlc2NyaXB0aW9uIiB0eXBl -PSJ0bnM6UXVlcnlEYXRhRGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 -Ikxpc3RPZlF1ZXJ5RGF0YURlc2NyaXB0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJRdWVyeURhdGFEZXNjcmlwdGlvbiIgdHlwZT0idG5zOlF1ZXJ5RGF0 -YURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZRdWVyeURhdGFEZXNjcmlwdGlvbiIgdHlwZT0idG5zOkxp -c3RPZlF1ZXJ5RGF0YURlc2NyaXB0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJOb2RlVHlwZURlc2NyaXB0aW9uIj4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUeXBlRGVmaW5pdGlvbk5vZGUiIHR5 -cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5jbHVkZVN1YlR5cGVzIiB0eXBlPSJ4czpib29sZWFu -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVG9SZXR1cm4i -IHR5cGU9InRuczpMaXN0T2ZRdWVyeURhdGFEZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlVHlwZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6Tm9kZVR5 -cGVEZXNjcmlwdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTm9kZVR5 -cGVEZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iTm9kZVR5cGVEZXNjcmlwdGlvbiIgdHlwZT0idG5zOk5vZGVUeXBlRGVzY3JpcHRpb24iIG1p -bk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -Ikxpc3RPZk5vZGVUeXBlRGVzY3JpcHRpb24iIHR5cGU9InRuczpMaXN0T2ZOb2RlVHlwZURlc2Ny -aXB0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBl -ICBuYW1lPSJGaWx0ZXJPcGVyYXRvciI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0 -cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkVxdWFsc18wIiAvPg0KICAgICAg -PHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJc051bGxfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv -biB2YWx1ZT0iR3JlYXRlclRoYW5fMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i -TGVzc1RoYW5fMyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iR3JlYXRlclRoYW5P -ckVxdWFsXzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ikxlc3NUaGFuT3JFcXVh -bF81IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJMaWtlXzYiIC8+DQogICAgICA8 -eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vdF83IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh -bHVlPSJCZXR3ZWVuXzgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkluTGlzdF85 -IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBbmRfMTAiIC8+DQogICAgICA8eHM6 -ZW51bWVyYXRpb24gdmFsdWU9Ik9yXzExIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl -PSJDYXN0XzEyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJblZpZXdfMTMiIC8+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik9mVHlwZV8xNCIgLz4NCiAgICAgIDx4czpl -bnVtZXJhdGlvbiB2YWx1ZT0iUmVsYXRlZFRvXzE1IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u -IHZhbHVlPSJCaXR3aXNlQW5kXzE2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJC -aXR3aXNlT3JfMTciIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXJPcGVyYXRvciIgdHlwZT0idG5zOkZpbHRlck9w -ZXJhdG9yIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJRdWVyeURhdGFTZXQiPg0KICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6 -RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJUeXBlRGVmaW5pdGlvbk5vZGUiIHR5cGU9InVhOkV4cGFuZGVkTm9k -ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iVmFsdWVzIiB0eXBlPSJ1YTpMaXN0T2ZWYXJpYW50IiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5RGF0YVNldCIgdHlwZT0idG5zOlF1ZXJ5RGF0YVNldCIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUXVlcnlEYXRhU2V0Ij4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeURhdGFTZXQiIHR5cGU9 -InRuczpRdWVyeURhdGFTZXQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlF1ZXJ5RGF0YVNldCIgdHlwZT0idG5zOkxpc3RP -ZlF1ZXJ5RGF0YVNldCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iTm9kZVJlZmVyZW5jZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VUeXBl -SWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IklzRm9yd2FyZCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlZE5vZGVJZHMiIHR5 -cGU9InVhOkxpc3RPZk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJOb2RlUmVmZXJlbmNlIiB0eXBlPSJ0bnM6Tm9kZVJlZmVyZW5jZSIgLz4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iTGlzdE9mTm9kZVJlZmVyZW5jZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZVJlZmVyZW5jZSIgdHlwZT0idG5zOk5vZGVSZWZl -cmVuY2UiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9Ikxpc3RPZk5vZGVSZWZlcmVuY2UiIHR5cGU9InRuczpMaXN0T2ZOb2RlUmVmZXJl -bmNlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJDb250ZW50RmlsdGVyRWxlbWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iRmlsdGVyT3BlcmF0b3IiIHR5cGU9InRuczpGaWx0ZXJPcGVyYXRvciIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyT3BlcmFuZHMi -IHR5cGU9InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJDb250ZW50RmlsdGVyRWxlbWVudCIgdHlwZT0idG5zOkNvbnRlbnRGaWx0 -ZXJFbGVtZW50IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZDb250ZW50Rmls -dGVyRWxlbWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -Q29udGVudEZpbHRlckVsZW1lbnQiIHR5cGU9InRuczpDb250ZW50RmlsdGVyRWxlbWVudCIgbWlu -T2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -TGlzdE9mQ29udGVudEZpbHRlckVsZW1lbnQiIHR5cGU9InRuczpMaXN0T2ZDb250ZW50RmlsdGVy -RWxlbWVudCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iQ29udGVudEZpbHRlciI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iRWxlbWVudHMiIHR5cGU9InRuczpMaXN0T2ZDb250ZW50RmlsdGVyRWxlbWVu -dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb250ZW50RmlsdGVyIiB0 -eXBlPSJ0bnM6Q29udGVudEZpbHRlciIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlz -dE9mQ29udGVudEZpbHRlciI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iQ29udGVudEZpbHRlciIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXIiIG1pbk9jY3Vycz0i -MCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkNv -bnRlbnRGaWx0ZXIiIHR5cGU9InRuczpMaXN0T2ZDb250ZW50RmlsdGVyIiBuaWxsYWJsZT0idHJ1 -ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJGaWx0ZXJPcGVyYW5k -Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyT3BlcmFuZCIgdHlwZT0idG5zOkZpbHRl -ck9wZXJhbmQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVsZW1lbnRPcGVyYW5kIj4N -CiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNp -b24gYmFzZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXgiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lv -bj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJFbGVtZW50T3BlcmFuZCIgdHlwZT0idG5zOkVsZW1lbnRPcGVyYW5kIiAv -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXRlcmFsT3BlcmFuZCI+DQogICAgPHhzOmNv -bXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRu -czpGaWx0ZXJPcGVyYW5kIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlZhbHVlIiB0eXBlPSJ1YTpWYXJpYW50IiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNv -bXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM -aXRlcmFsT3BlcmFuZCIgdHlwZT0idG5zOkxpdGVyYWxPcGVyYW5kIiAvPg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJBdHRyaWJ1dGVPcGVyYW5kIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQg -bWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkZpbHRlck9wZXJh -bmQiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -Tm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWxpYXMiIHR5cGU9InhzOnN0cmluZyIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJCcm93c2VQYXRoIiB0eXBlPSJ0bnM6UmVsYXRpdmVQYXRoIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkF0dHJpYnV0ZUlkIiB0 -eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5z -aW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9IkF0dHJpYnV0ZU9wZXJhbmQiIHR5cGU9InRuczpBdHRyaWJ1dGVPcGVy -YW5kIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTaW1wbGVBdHRyaWJ1dGVPcGVyYW5k -Ij4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRl -bnNpb24gYmFzZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQog -ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHlwZURlZmluaXRpb25JZCIgdHlwZT0idWE6Tm9k -ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkJyb3dzZVBhdGgiIHR5cGU9InVhOkxpc3RPZlF1YWxpZmllZE5hbWUiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -QXR0cmlidXRlSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXhSYW5nZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAg -ICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2ltcGxlQXR0cmlidXRlT3BlcmFuZCIgdHlw -ZT0idG5zOlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h -bWU9Ikxpc3RPZlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIHR5cGU9InRuczpT -aW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVk -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTaW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiB0 -eXBlPSJ0bnM6TGlzdE9mU2ltcGxlQXR0cmlidXRlT3BlcmFuZCIgbmlsbGFibGU9InRydWUiPjwv -eHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ29udGVudEZpbHRlckVsZW1l -bnRSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0 -YXR1c0NvZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9Ik9wZXJhbmRTdGF0dXNDb2RlcyIgdHlwZT0idWE6TGlzdE9mU3RhdHVz -Q29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9Ik9wZXJhbmREaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJ -bmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNvbnRlbnRGaWx0ZXJF -bGVtZW50UmVzdWx0IiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlckVsZW1lbnRSZXN1bHQiIC8+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0 -Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250ZW50Rmls -dGVyRWxlbWVudFJlc3VsdCIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiBt -aW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJMaXN0T2ZDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIgdHlwZT0idG5zOkxpc3RPZkNvbnRl -bnRGaWx0ZXJFbGVtZW50UmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJDb250ZW50RmlsdGVyUmVzdWx0Ij4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbGVtZW50UmVzdWx0cyIgdHlwZT0idG5z -Okxpc3RPZkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRWxlbWVudERpYWdub3N0aWNJbmZv -cyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iQ29udGVudEZpbHRlclJlc3VsdCIgdHlwZT0idG5zOkNvbnRlbnRGaWx0 -ZXJSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlBhcnNpbmdSZXN1bHQiPg0K -ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c0NvZGUiIHR5 -cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IkRhdGFTdGF0dXNDb2RlcyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFEaWFn -bm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlBhcnNpbmdSZXN1bHQiIHR5cGU9InRuczpQYXJzaW5n -UmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZQYXJzaW5nUmVzdWx0 -Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQYXJzaW5nUmVz -dWx0IiB0eXBlPSJ0bnM6UGFyc2luZ1Jlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu -Ym91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUGFyc2luZ1Jlc3VsdCIgdHlw -ZT0idG5zOkxpc3RPZlBhcnNpbmdSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlF1ZXJ5Rmlyc3RSZXF1ZXN0Ij4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0 -bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlZpZXciIHR5cGU9InRuczpWaWV3RGVzY3JpcHRpb24iIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2Rl -VHlwZXMiIHR5cGU9InRuczpMaXN0T2ZOb2RlVHlwZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyIiB0eXBl -PSJ0bnM6Q29udGVudEZpbHRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ik1heERhdGFTZXRzVG9SZXR1cm4iIHR5cGU9InhzOnVuc2ln -bmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhSZWZl -cmVuY2VzVG9SZXR1cm4iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iUXVlcnlGaXJzdFJlcXVlc3QiIHR5cGU9InRuczpRdWVyeUZpcnN0UmVxdWVzdCIgLz4NCg0K -ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUXVlcnlGaXJzdFJlc3BvbnNlIj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5z -OlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlEYXRhU2V0cyIgdHlwZT0idG5zOkxpc3RPZlF1ZXJ5RGF0 -YVNldCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQYXJzaW5n -UmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZlBhcnNpbmdSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3Mi -IHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyUmVzdWx0IiB0eXBlPSJ0bnM6 -Q29udGVudEZpbHRlclJlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJRdWVyeUZpcnN0UmVzcG9uc2UiIHR5cGU9InRuczpRdWVyeUZpcnN0UmVzcG9uc2UiIC8+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlF1ZXJ5TmV4dFJlcXVlc3QiPg0KICAgIDx4czpzZXF1 -ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpS -ZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iUmVsZWFzZUNvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpib29sZWFu -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250aW51YXRpb25Q -b2ludCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9IlF1ZXJ5TmV4dFJlcXVlc3QiIHR5cGU9InRuczpRdWVyeU5leHRSZXF1ZXN0IiAv -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJRdWVyeU5leHRSZXNwb25zZSI+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9 -InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5RGF0YVNldHMiIHR5cGU9InRuczpMaXN0T2ZRdWVy -eURhdGFTZXQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJSZXZpc2VkQ29udGludWF0aW9uUG9pbnQiIHR5cGU9InhzOmJhc2U2NEJpbmFy -eSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeU5leHRSZXNwb25z -ZSIgdHlwZT0idG5zOlF1ZXJ5TmV4dFJlc3BvbnNlIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBu -YW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpz -dHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTb3VyY2VfMCIgLz4NCiAgICAg -IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU2VydmVyXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp -b24gdmFsdWU9IkJvdGhfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTmVpdGhl -cl8zIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiB0eXBlPSJ0bnM6VGltZXN0YW1wc1Rv -UmV0dXJuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWFkVmFsdWVJZCI+DQogICAg -PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpO -b2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJBdHRyaWJ1dGVJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkRhdGFFbmNvZGluZyIgdHlwZT0idWE6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZWFkVmFsdWVJZCIgdHlwZT0idG5zOlJlYWRWYWx1ZUlkIiAv -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZSZWFkVmFsdWVJZCI+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZFZhbHVlSWQiIHR5cGU9InRu -czpSZWFkVmFsdWVJZCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUmVhZFZhbHVlSWQiIHR5cGU9InRuczpMaXN0T2ZSZWFk -VmFsdWVJZCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iUmVhZFJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4QWdl -IiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlRpbWVzdGFtcHNUb1JldHVybiIgdHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb1JlYWQiIHR5cGU9 -InRuczpMaXN0T2ZSZWFkVmFsdWVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJSZWFkUmVxdWVzdCIgdHlwZT0idG5zOlJlYWRSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJSZWFkUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIi -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZEYXRhVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5 -cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9IlJlYWRSZXNwb25zZSIgdHlwZT0idG5zOlJlYWRSZXNwb25zZSIgLz4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeVJlYWRWYWx1ZUlkIj4NCiAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Iklu -ZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFFbmNvZGluZyIgdHlwZT0idWE6UXVhbGlm -aWVkTmFtZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRWYWx1ZUlkIiB0eXBl -PSJ0bnM6SGlzdG9yeVJlYWRWYWx1ZUlkIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJM -aXN0T2ZIaXN0b3J5UmVhZFZhbHVlSWQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9Ikhpc3RvcnlSZWFkVmFsdWVJZCIgdHlwZT0idG5zOkhpc3RvcnlSZWFkVmFs -dWVJZCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iTGlzdE9mSGlzdG9yeVJlYWRWYWx1ZUlkIiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9y -eVJlYWRWYWx1ZUlkIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJIaXN0b3J5UmVhZFJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9uUG9pbnQi -IHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlEYXRhIiB0eXBlPSJ1YTpFeHRlbnNpb25P -YmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRS -ZXN1bHQiIHR5cGU9InRuczpIaXN0b3J5UmVhZFJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iTGlzdE9mSGlzdG9yeVJlYWRSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlSZWFkUmVzdWx0IiB0eXBlPSJ0bnM6SGlzdG9y -eVJlYWRSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9Ikxpc3RPZkhpc3RvcnlSZWFkUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9m -SGlzdG9yeVJlYWRSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhz -OmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlSZWFkRGV0YWlscyI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9Ikhpc3RvcnlSZWFkRGV0YWlscyIgdHlwZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZEV2ZW50RGV0YWlscyI+DQogICAgPHhz -OmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9 -InRuczpIaXN0b3J5UmVhZERldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iTnVtVmFsdWVzUGVyTm9kZSIgdHlwZT0ieHM6dW5zaWduZWRJ -bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFydFRp -bWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iRW5kVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4N -CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXIiIHR5cGU9InRuczpFdmVudEZpbHRl -ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5j -ZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlYWRFdmVudERldGFpbHMiIHR5 -cGU9InRuczpSZWFkRXZlbnREZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJS -ZWFkUmF3TW9kaWZpZWREZXRhaWxzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZh -bHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyI+ -DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc1Jl -YWRNb2RpZmllZCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAg -IDx4czplbGVtZW50IG5hbWU9IlN0YXJ0VGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vy -cz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRUaW1lIiB0eXBlPSJ4czpk -YXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik51 -bVZhbHVlc1Blck5vZGUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV0dXJuQm91bmRzIiB0eXBlPSJ4czpib29sZWFu -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4 -dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZWFkUmF3TW9kaWZpZWREZXRhaWxzIiB0eXBlPSJ0bnM6UmVh -ZFJhd01vZGlmaWVkRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZFBy -b2Nlc3NlZERldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0K -ICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICAg -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXJ0VGltZSIg -dHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJFbmRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgICAgIDx4czplbGVtZW50IG5hbWU9IlByb2Nlc3NpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91 -YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWdncmVn -YXRlVHlwZSIgdHlwZT0idWE6TGlzdE9mTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRp -b24iIHR5cGU9InRuczpBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNp -b24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iUmVhZFByb2Nlc3NlZERldGFpbHMiIHR5cGU9InRuczpSZWFkUHJvY2Vz -c2VkRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZEF0VGltZURldGFp -bHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4 -dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICAgICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcVRpbWVzIiB0eXBlPSJ1YTpMaXN0 -T2ZEYXRlVGltZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJVc2VTaW1wbGVCb3VuZHMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9u -Pg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9IlJlYWRBdFRpbWVEZXRhaWxzIiB0eXBlPSJ0bnM6UmVhZEF0VGltZURldGFp -bHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlEYXRhIj4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVmFsdWVzIiB0eXBlPSJ1YTpM -aXN0T2ZEYXRhVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 -czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlz -dG9yeURhdGEiIHR5cGU9InRuczpIaXN0b3J5RGF0YSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iTW9kaWZpY2F0aW9uSW5mbyI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iTW9kaWZpY2F0aW9uVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vy -cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVwZGF0ZVR5cGUiIHR5cGU9InRuczpI -aXN0b3J5VXBkYXRlVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iVXNlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJNb2RpZmljYXRpb25JbmZvIiB0eXBlPSJ0bnM6TW9kaWZpY2F0aW9uSW5mbyIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTW9kaWZpY2F0aW9uSW5mbyI+DQog -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZpY2F0aW9uSW5m -byIgdHlwZT0idG5zOk1vZGlmaWNhdGlvbkluZm8iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1 -bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk1vZGlmaWNhdGlvbkluZm8i -IHR5cGU9InRuczpMaXN0T2ZNb2RpZmljYXRpb25JbmZvIiBuaWxsYWJsZT0idHJ1ZSI+PC94czpl -bGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5TW9kaWZpZWREYXRhIj4N -CiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNp -b24gYmFzZT0idG5zOkhpc3RvcnlEYXRhIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmaWNhdGlvbkluZm9zIiB0eXBlPSJ0bnM6TGlzdE9m -TW9kaWZpY2F0aW9uSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -ICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxl -eENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3Rv -cnlNb2RpZmllZERhdGEiIHR5cGU9InRuczpIaXN0b3J5TW9kaWZpZWREYXRhIiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5RXZlbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50cyIgdHlwZT0idG5zOkxpc3RPZkhpc3RvcnlFdmVu -dEZpZWxkTGlzdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5 -RXZlbnQiIHR5cGU9InRuczpIaXN0b3J5RXZlbnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h -bWU9Ikhpc3RvcnlSZWFkUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0 -b3J5UmVhZERldGFpbHMiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRpbWVzdGFtcHNUb1Jl -dHVybiIgdHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsZWFzZUNvbnRpbnVhdGlvblBvaW50cyIgdHlwZT0ieHM6 -Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNU -b1JlYWQiIHR5cGU9InRuczpMaXN0T2ZIaXN0b3J5UmVhZFZhbHVlSWQiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRSZXF1ZXN0IiB0eXBlPSJ0bnM6SGlz -dG9yeVJlYWRSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5UmVh -ZFJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS -ZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0i -dG5zOkxpc3RPZkhpc3RvcnlSZWFkUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpM -aXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJIaXN0b3J5UmVhZFJlc3BvbnNlIiB0eXBlPSJ0bnM6SGlzdG9yeVJlYWRSZXNwb25zZSIgLz4N -Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iV3JpdGVWYWx1ZSI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdHRy -aWJ1dGVJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlIiB0eXBl -PSJ1YTpEYXRhVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 -czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iV3Jp -dGVWYWx1ZSIgdHlwZT0idG5zOldyaXRlVmFsdWUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h -bWU9Ikxpc3RPZldyaXRlVmFsdWUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IldyaXRlVmFsdWUiIHR5cGU9InRuczpXcml0ZVZhbHVlIiBtaW5PY2N1cnM9IjAi -IG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl -bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZXcml0 -ZVZhbHVlIiB0eXBlPSJ0bnM6TGlzdE9mV3JpdGVWYWx1ZSIgbmlsbGFibGU9InRydWUiPjwveHM6 -ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iV3JpdGVSZXF1ZXN0Ij4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBl -PSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVzVG9Xcml0ZSIgdHlwZT0idG5zOkxpc3RPZldyaXRl -VmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVSZXF1ZXN0 -IiB0eXBlPSJ0bnM6V3JpdGVSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJX -cml0ZVJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlw -ZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9m -RGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 -czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iV3Jp -dGVSZXNwb25zZSIgdHlwZT0idG5zOldyaXRlUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9Ikhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5VXBkYXRlRGV0YWlscyIgdHlwZT0idG5z -Okhpc3RvcnlVcGRhdGVEZXRhaWxzIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJIaXN0 -b3J5VXBkYXRlVHlwZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQog -ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ikluc2VydF8xIiAvPg0KICAgICAgPHhzOmVudW1l -cmF0aW9uIHZhbHVlPSJSZXBsYWNlXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 -IlVwZGF0ZV8zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEZWxldGVfNCIgLz4N -CiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9Ikhpc3RvcnlVcGRhdGVUeXBlIiB0eXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZVR5cGUiIC8+ -DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IlBlcmZvcm1VcGRhdGVUeXBlIj4NCiAgICA8eHM6 -cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 -ZT0iSW5zZXJ0XzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlcGxhY2VfMiIg -Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVXBkYXRlXzMiIC8+DQogICAgICA8eHM6 -ZW51bWVyYXRpb24gdmFsdWU9IlJlbW92ZV80IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQog -IDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUGVyZm9ybVVwZGF0ZVR5cGUi -IHR5cGU9InRuczpQZXJmb3JtVXBkYXRlVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt -ZT0iVXBkYXRlRGF0YURldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFs -c2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMi -Pg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUGVy -Zm9ybUluc2VydFJlcGxhY2UiIHR5cGU9InRuczpQZXJmb3JtVXBkYXRlVHlwZSIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlVwZGF0ZVZhbHVlcyIgdHlwZT0i -dWE6TGlzdE9mRGF0YVZhbHVlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21w -bGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVXBk -YXRlRGF0YURldGFpbHMiIHR5cGU9InRuczpVcGRhdGVEYXRhRGV0YWlscyIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iVXBkYXRlU3RydWN0dXJlRGF0YURldGFpbHMiPg0KICAgIDx4czpj -b21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0 -bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUGVyZm9ybUluc2VydFJlcGxhY2UiIHR5cGU9InRuczpQZXJm -b3JtVXBkYXRlVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h -bWU9IlVwZGF0ZVZhbHVlcyIgdHlwZT0idWE6TGlzdE9mRGF0YVZhbHVlIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpl -eHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iVXBkYXRlU3RydWN0dXJlRGF0YURldGFpbHMiIHR5cGU9InRu -czpVcGRhdGVTdHJ1Y3R1cmVEYXRhRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt -ZT0iVXBkYXRlRXZlbnREZXRhaWxzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZh -bHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxz -Ij4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlBl -cmZvcm1JbnNlcnRSZXBsYWNlIiB0eXBlPSJ0bnM6UGVyZm9ybVVwZGF0ZVR5cGUiIG1pbk9jY3Vy -cz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXIiIHR5cGU9InRuczpF -dmVudEZpbHRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJFdmVudERhdGEiIHR5cGU9InRuczpMaXN0T2ZIaXN0b3J5RXZlbnRG -aWVsZExpc3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6 -c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50 -Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVcGRhdGVFdmVudERl -dGFpbHMiIHR5cGU9InRuczpVcGRhdGVFdmVudERldGFpbHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IkRlbGV0ZVJhd01vZGlmaWVkRGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250 -ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5 -VXBkYXRlRGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJJc0RlbGV0ZU1vZGlmaWVkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhcnRUaW1lIiB0eXBlPSJ4czpk -YXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkVu -ZFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6 -c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50 -Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVSYXdNb2Rp -ZmllZERldGFpbHMiIHR5cGU9InRuczpEZWxldGVSYXdNb2RpZmllZERldGFpbHMiIC8+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZUF0VGltZURldGFpbHMiPg0KICAgIDx4czpjb21w -bGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6 -SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUmVxVGltZXMiIHR5cGU9InVhOkxpc3RPZkRhdGVUaW1lIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAg -ICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlQXRUaW1lRGV0YWlscyIgdHlwZT0i -dG5zOkRlbGV0ZUF0VGltZURldGFpbHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRl -bGV0ZUV2ZW50RGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+ -DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQog -ICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudElk -cyIgdHlwZT0idWE6TGlzdE9mQnl0ZVN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAg -IDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9IkRlbGV0ZUV2ZW50RGV0YWlscyIgdHlwZT0idG5zOkRlbGV0ZUV2ZW50RGV0YWlscyIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3VsdCI+DQogICAg -PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0i -dWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -T3BlcmF0aW9uUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJ -bmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3VsdCIgdHlwZT0idG5zOkhpc3RvcnlV -cGRhdGVSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkhpc3RvcnlV -cGRhdGVSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -Ikhpc3RvcnlVcGRhdGVSZXN1bHQiIHR5cGU9InRuczpIaXN0b3J5VXBkYXRlUmVzdWx0IiBtaW5P -Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM -aXN0T2ZIaXN0b3J5VXBkYXRlUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeVVwZGF0ZVJl -c3VsdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iSGlzdG9yeVVwZGF0ZVJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -SGlzdG9yeVVwZGF0ZURldGFpbHMiIHR5cGU9InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5VXBkYXRlUmVxdWVzdCIg -dHlwZT0idG5zOkhpc3RvcnlVcGRhdGVSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJIaXN0b3J5VXBkYXRlUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIi -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJSZXN1bHRzIiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeVVwZGF0ZVJlc3VsdCIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0 -aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3BvbnNlIiB0eXBlPSJ0bnM6SGlz -dG9yeVVwZGF0ZVJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDYWxsTWV0 -aG9kUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -T2JqZWN0SWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1ldGhvZElkIiB0eXBlPSJ1YTpOb2RlSWQiIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJ -bnB1dEFyZ3VtZW50cyIgdHlwZT0idWE6TGlzdE9mVmFyaWFudCIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJDYWxsTWV0aG9kUmVxdWVzdCIgdHlwZT0idG5zOkNhbGxNZXRo -b2RSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZDYWxsTWV0aG9k -UmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2Fs -bE1ldGhvZFJlcXVlc3QiIHR5cGU9InRuczpDYWxsTWV0aG9kUmVxdWVzdCIgbWluT2NjdXJzPSIw -IiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 -ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQ2Fs -bE1ldGhvZFJlcXVlc3QiIHR5cGU9InRuczpMaXN0T2ZDYWxsTWV0aG9kUmVxdWVzdCIgbmlsbGFi -bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2FsbE1l -dGhvZFJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -U3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iSW5wdXRBcmd1bWVudFJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0 -YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJJbnB1dEFyZ3VtZW50RGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZE -aWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9Ik91dHB1dEFyZ3VtZW50cyIgdHlwZT0idWE6TGlzdE9mVmFyaWFudCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDYWxsTWV0aG9kUmVzdWx0IiB0 -eXBlPSJ0bnM6Q2FsbE1ldGhvZFJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -TGlzdE9mQ2FsbE1ldGhvZFJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iQ2FsbE1ldGhvZFJlc3VsdCIgdHlwZT0idG5zOkNhbGxNZXRob2RSZXN1bHQi -IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9Ikxpc3RPZkNhbGxNZXRob2RSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZDYWxsTWV0aG9kUmVz -dWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJDYWxsUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXRob2RzVG9D -YWxsIiB0eXBlPSJ0bnM6TGlzdE9mQ2FsbE1ldGhvZFJlcXVlc3QiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iQ2FsbFJlcXVlc3QiIHR5cGU9InRuczpDYWxsUmVxdWVzdCIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2FsbFJlc3BvbnNlIj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5z -OlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZkNhbGxNZXRob2RSZXN1 -bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNhbGxSZXNwb25zZSIgdHlwZT0idG5z -OkNhbGxSZXNwb25zZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iTW9uaXRvcmluZ01v -ZGUiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVu -dW1lcmF0aW9uIHZhbHVlPSJEaXNhYmxlZF8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh -bHVlPSJTYW1wbGluZ18xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZXBvcnRp -bmdfMiIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9Ik1vbml0b3JpbmdNb2RlIiB0eXBlPSJ0bnM6TW9uaXRvcmluZ01vZGUi -IC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkRhdGFDaGFuZ2VUcmlnZ2VyIj4NCiAgICA8 -eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 -YWx1ZT0iU3RhdHVzXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN0YXR1c1Zh -bHVlXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN0YXR1c1ZhbHVlVGltZXN0 -YW1wXzIiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJEYXRhQ2hhbmdlVHJpZ2dlciIgdHlwZT0idG5zOkRhdGFDaGFuZ2VU -cmlnZ2VyIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJEZWFkYmFuZFR5cGUiPg0KICAg -IDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9u -IHZhbHVlPSJOb25lXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFic29sdXRl -XzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlBlcmNlbnRfMiIgLz4NCiAgICA8 -L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -IkRlYWRiYW5kVHlwZSIgdHlwZT0idG5zOkRlYWRiYW5kVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iTW9uaXRvcmluZ0ZpbHRlciI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwv -eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1v -bml0b3JpbmdGaWx0ZXIiIHR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVyIiAvPg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJEYXRhQ2hhbmdlRmlsdGVyIj4NCiAgICA8eHM6Y29tcGxleENvbnRl -bnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk1vbml0b3Jp -bmdGaWx0ZXIiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iVHJpZ2dlciIgdHlwZT0idG5zOkRhdGFDaGFuZ2VUcmlnZ2VyIiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVhZGJhbmRUeXBlIiB0eXBlPSJ4czp1 -bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkRlYWRiYW5kVmFsdWUiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg -ICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4 -Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YUNo -YW5nZUZpbHRlciIgdHlwZT0idG5zOkRhdGFDaGFuZ2VGaWx0ZXIiIC8+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9IkV2ZW50RmlsdGVyIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9 -ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk1vbml0b3JpbmdGaWx0ZXIi -Pg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vs -ZWN0Q2xhdXNlcyIgdHlwZT0idG5zOkxpc3RPZlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -V2hlcmVDbGF1c2UiIHR5cGU9InRuczpDb250ZW50RmlsdGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNp -b24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iRXZlbnRGaWx0ZXIiIHR5cGU9InRuczpFdmVudEZpbHRlciIgLz4NCg0K -ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWdncmVnYXRlQ29uZmlndXJhdGlvbiI+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlU2VydmVyQ2FwYWJpbGl0aWVz -RGVmYXVsdHMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlRyZWF0VW5jZXJ0YWluQXNCYWQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBlcmNlbnREYXRhQmFkIiB0eXBl -PSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlBlcmNlbnREYXRhR29vZCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VTbG9wZWRFeHRyYXBvbGF0aW9uIiB0eXBl -PSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWdncmVnYXRlQ29uZmlndXJhdGlv -biIgdHlwZT0idG5zOkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IkFnZ3JlZ2F0ZUZpbHRlciI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVk -PSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpNb25pdG9yaW5nRmlsdGVy -Ij4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0 -YXJ0VGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJBZ2dyZWdhdGVUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJv -Y2Vzc2luZ0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiB0eXBlPSJ0bnM6 -QWdncmVnYXRlQ29uZmlndXJhdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6 -Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -IkFnZ3JlZ2F0ZUZpbHRlciIgdHlwZT0idG5zOkFnZ3JlZ2F0ZUZpbHRlciIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iTW9uaXRvcmluZ0ZpbHRlclJlc3VsdCI+DQogICAgPHhzOnNlcXVl -bmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9Ik1vbml0b3JpbmdGaWx0ZXJSZXN1bHQiIHR5cGU9InRuczpNb25pdG9yaW5nRmls -dGVyUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFdmVudEZpbHRlclJlc3Vs -dCI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0 -ZW5zaW9uIGJhc2U9InRuczpNb25pdG9yaW5nRmlsdGVyUmVzdWx0Ij4NCiAgICAgICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlbGVjdENsYXVzZVJlc3VsdHMi -IHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VsZWN0Q2xhdXNlRGlhZ25vc3RpY0lu -Zm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJXaGVyZUNsYXVzZVJlc3Vs -dCIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXJSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4N -CiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJFdmVudEZpbHRlclJlc3VsdCIgdHlwZT0idG5zOkV2ZW50RmlsdGVyUmVzdWx0 -IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZ2dyZWdhdGVGaWx0ZXJSZXN1bHQiPg0K -ICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lv -biBiYXNlPSJ0bnM6TW9uaXRvcmluZ0ZpbHRlclJlc3VsdCI+DQogICAgICAgIDx4czpzZXF1ZW5j -ZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkU3RhcnRUaW1lIiB0eXBlPSJ4 -czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlJldmlzZWRQcm9jZXNzaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRBZ2dyZWdhdGVDb25maWd1 -cmF0aW9uIiB0eXBlPSJ0bnM6QWdncmVnYXRlQ29uZmlndXJhdGlvbiIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0 -ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9IkFnZ3JlZ2F0ZUZpbHRlclJlc3VsdCIgdHlwZT0idG5zOkFnZ3Jl -Z2F0ZUZpbHRlclJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9uaXRvcmlu -Z1BhcmFtZXRlcnMiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkNsaWVudEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlNhbXBsaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyIiB0eXBlPSJ1 -YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJRdWV1ZVNpemUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjYXJkT2xkZXN0IiB0eXBl -PSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ1BhcmFtZXRlcnMi -IHR5cGU9InRuczpNb25pdG9yaW5nUGFyYW1ldGVycyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ikl0ZW1Ub01vbml0b3IiIHR5cGU9InRuczpSZWFkVmFsdWVJ -ZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9Ik1vbml0b3JpbmdNb2RlIiB0eXBlPSJ0bnM6TW9uaXRvcmluZ01vZGUiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZFBhcmFtZXRlcnMiIHR5cGU9 -InRuczpNb25pdG9yaW5nUGFyYW1ldGVycyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIgdHlwZT0idG5zOk1vbml0b3JlZEl0 -ZW1DcmVhdGVSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb25p -dG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIHR5cGU9InRuczpNb25pdG9y -ZWRJdGVtQ3JlYXRlUmVxdWVzdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3Qi -IHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIgbmlsbGFibGU9InRy -dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9uaXRvcmVkSXRl -bUNyZWF0ZVJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUlkIiB0eXBlPSJ4czp1bnNpZ25lZElu -dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFNhbXBs -aW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iUmV2aXNlZFF1ZXVlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1p -bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlclJlc3VsdCIgdHlw -ZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9Ik1vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIHR5cGU9InRuczpNb25pdG9yZWRJdGVtQ3Jl -YXRlUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJ -dGVtQ3JlYXRlUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0IiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRlbUNy -ZWF0ZVJlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbUNyZWF0ZVJlc3VsdCIgdHlwZT0idG5z -Okxpc3RPZk1vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVs -ZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zUmVx -dWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVz -dEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlwZT0i -eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlRpbWVzdGFtcHNUb1JldHVybiIgdHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXRlbXNUb0NyZWF0ZSIgdHlwZT0i -dG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0IiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgdHlwZT0idG5z -OkNyZWF0ZU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt -ZT0iQ3JlYXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhl -YWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0 -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVNb25pdG9yZWRJdGVtc1Jlc3Bv -bnNlIiB0eXBlPSJ0bnM6Q3JlYXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVlc3QiPg0KICAgIDx4czpz -ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1JZCIgdHlwZT0i -eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlJlcXVlc3RlZFBhcmFtZXRlcnMiIHR5cGU9InRuczpNb25pdG9yaW5nUGFyYW1ldGVycyIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtTW9kaWZ5UmVx -dWVzdCIgdHlwZT0idG5zOk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiAvPg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCI+DQogICAg -PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlm -eVJlcXVlc3QiIHR5cGU9InRuczpNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCIgbWluT2NjdXJz -PSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz -ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9m -TW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVlc3QiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVt -TW9kaWZ5UmVxdWVzdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCI+DQogICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVz -Q29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFNh -bXBsaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFF1ZXVlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlclJlc3VsdCIg -dHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9Ik1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIHR5cGU9InRuczpNb25pdG9yZWRJdGVt -TW9kaWZ5UmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb25pdG9y -ZWRJdGVtTW9kaWZ5UmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0IiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRl -bU1vZGlmeVJlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCIgdHlwZT0i -dG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hz -OmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1vZGlmeU1vbml0b3JlZEl0ZW1z -UmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVx -dWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlw -ZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlRpbWVzdGFtcHNUb1JldHVybiIgdHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXRlbXNUb01vZGlmeSIgdHlw -ZT0idG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmeU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgdHlwZT0i -dG5zOk1vZGlmeU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iTW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25z -ZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtTW9kaWZ5UmVz -dWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZnlNb25pdG9yZWRJdGVtc1Jl -c3BvbnNlIiB0eXBlPSJ0bnM6TW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgLz4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iU2V0TW9uaXRvcmluZ01vZGVSZXF1ZXN0Ij4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0 -bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ01vZGUi -IHR5cGU9InRuczpNb25pdG9yaW5nTW9kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUlkcyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNldE1vbml0b3JpbmdNb2RlUmVxdWVz -dCIgdHlwZT0idG5zOlNldE1vbml0b3JpbmdNb2RlUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iU2V0TW9uaXRvcmluZ01vZGVSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNw -b25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9z -dGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9IlNldE1vbml0b3JpbmdNb2RlUmVzcG9uc2UiIHR5cGU9InRu -czpTZXRNb25pdG9yaW5nTW9kZVJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJTZXRUcmlnZ2VyaW5nUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJz -Y3JpcHRpb25JZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlRyaWdnZXJpbmdJdGVtSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50 -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaW5rc1RvQWRkIiB0 -eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaW5rc1RvUmVtb3ZlIiB0eXBlPSJ1YTpMaXN0T2ZVSW50 -MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0VHJpZ2dlcmluZ1Jl -cXVlc3QiIHR5cGU9InRuczpTZXRUcmlnZ2VyaW5nUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iU2V0VHJpZ2dlcmluZ1Jlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNl -SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iQWRkUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZERpYWdu -b3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZW1vdmVSZXN1bHRz -IiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVtb3ZlRGlhZ25vc3RpY0luZm9zIiB0eXBl -PSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJTZXRUcmlnZ2VyaW5nUmVzcG9uc2UiIHR5cGU9InRuczpTZXRUcmlnZ2VyaW5nUmVz -cG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1z -UmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVx -dWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlw -ZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9Ik1vbml0b3JlZEl0ZW1JZHMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVNb25pdG9yZWRJdGVtc1JlcXVlc3QiIHR5 -cGU9InRuczpEZWxldGVNb25pdG9yZWRJdGVtc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5j -ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVz -cG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25v -c3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiB0eXBl -PSJ0bnM6RGVsZXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iQ3JlYXRlU3Vic2NyaXB0aW9uUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RI -ZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJSZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTGlmZXRpbWVD -b3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25l -ZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4Tm90aWZp -Y2F0aW9uc1BlclB1Ymxpc2giIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoaW5nRW5hYmxlZCIgdHlwZT0ieHM6Ym9v -bGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJpb3JpdHki -IHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVu -Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZVN1YnNj -cmlwdGlvblJlcXVlc3QiIHR5cGU9InRuczpDcmVhdGVTdWJzY3JpcHRpb25SZXF1ZXN0IiAvPg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDcmVhdGVTdWJzY3JpcHRpb25SZXNwb25zZSI+DQog -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIi -IHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNp -Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNl -ZFB1Ymxpc2hpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkTGlmZXRpbWVDb3VudCIgdHlwZT0ieHM6dW5z -aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlz -ZWRNYXhLZWVwQWxpdmVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJDcmVhdGVTdWJzY3JpcHRpb25SZXNwb25zZSIgdHlwZT0idG5zOkNyZWF0ZVN1YnNj -cmlwdGlvblJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb2RpZnlTdWJz -Y3JpcHRpb25SZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlv -bklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZExpZmV0 -aW1lQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudCIgdHlwZT0ieHM6dW5z -aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heE5v -dGlmaWNhdGlvbnNQZXJQdWJsaXNoIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJpb3JpdHkiIHR5cGU9InhzOnVuc2lnbmVk -Qnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvblJlcXVlc3QiIHR5 -cGU9InRuczpNb2RpZnlTdWJzY3JpcHRpb25SZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJNb2RpZnlTdWJzY3JpcHRpb25SZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25z -ZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlJldmlzZWRQdWJsaXNoaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZExpZmV0aW1lQ291 -bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJSZXZpc2VkTWF4S2VlcEFsaXZlQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50 -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZ5U3Vic2NyaXB0aW9uUmVzcG9uc2UiIHR5cGU9 -InRuczpNb2RpZnlTdWJzY3JpcHRpb25SZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iU2V0UHVibGlzaGluZ01vZGVSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRl -ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlB1Ymxpc2hpbmdFbmFibGVkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZHMiIHR5cGU9InVhOkxpc3RP -ZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl -bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRQdWJsaXNo -aW5nTW9kZVJlcXVlc3QiIHR5cGU9InRuczpTZXRQdWJsaXNoaW5nTW9kZVJlcXVlc3QiIC8+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNldFB1Ymxpc2hpbmdNb2RlUmVzcG9uc2UiPg0KICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0 -eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXND -b2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRQdWJsaXNoaW5nTW9kZVJlc3Bv -bnNlIiB0eXBlPSJ0bnM6U2V0UHVibGlzaGluZ01vZGVSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iTm90aWZpY2F0aW9uTWVzc2FnZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VxdWVuY2VOdW1iZXIiIHR5cGU9InhzOnVuc2lnbmVk -SW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoVGlt -ZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9Ik5vdGlmaWNhdGlvbkRhdGEiIHR5cGU9InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOb3RpZmljYXRpb25NZXNzYWdl -IiB0eXBlPSJ0bnM6Tm90aWZpY2F0aW9uTWVzc2FnZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iTm90aWZpY2F0aW9uRGF0YSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik5vdGlmaWNh -dGlvbkRhdGEiIHR5cGU9InRuczpOb3RpZmljYXRpb25EYXRhIiAvPg0KDQogIDx4czpjb21wbGV4 -VHlwZSBuYW1lPSJEYXRhQ2hhbmdlTm90aWZpY2F0aW9uIj4NCiAgICA8eHM6Y29tcGxleENvbnRl -bnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk5vdGlmaWNh -dGlvbkRhdGEiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iTW9uaXRvcmVkSXRlbXMiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtTm90aWZp -Y2F0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czpl -bGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0lu -Zm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVu -Y2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhQ2hhbmdlTm90aWZpY2F0 -aW9uIiB0eXBlPSJ0bnM6RGF0YUNoYW5nZU5vdGlmaWNhdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iTW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50SGFuZGxlIiB0eXBlPSJ4czp1bnNpZ25l -ZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUiIHR5 -cGU9InVhOkRhdGFWYWx1ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJN -b25pdG9yZWRJdGVtTm90aWZpY2F0aW9uIiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRlbU5vdGlmaWNh -dGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbU5v -dGlmaWNhdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -TW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiIgdHlwZT0idG5zOk1vbml0b3JlZEl0ZW1Ob3RpZmlj -YXRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9Ikxpc3RPZk1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iIHR5cGU9InRuczpMaXN0 -T2ZNb25pdG9yZWRJdGVtTm90aWZpY2F0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50 -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFdmVudE5vdGlmaWNhdGlvbkxpc3QiPg0KICAg -IDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBi -YXNlPSJ0bnM6Tm90aWZpY2F0aW9uRGF0YSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudHMiIHR5cGU9InRuczpMaXN0T2ZFdmVudEZpZWxk -TGlzdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1 -ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQog -IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkV2ZW50Tm90aWZpY2F0aW9u -TGlzdCIgdHlwZT0idG5zOkV2ZW50Tm90aWZpY2F0aW9uTGlzdCIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iRXZlbnRGaWVsZExpc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IkNsaWVudEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50RmllbGRzIiB0eXBlPSJ1 -YTpMaXN0T2ZWYXJpYW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv -eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkV2 -ZW50RmllbGRMaXN0IiB0eXBlPSJ0bnM6RXZlbnRGaWVsZExpc3QiIC8+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9Ikxpc3RPZkV2ZW50RmllbGRMaXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudEZpZWxkTGlzdCIgdHlwZT0idG5zOkV2ZW50Rmll -bGRMaXN0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJMaXN0T2ZFdmVudEZpZWxkTGlzdCIgdHlwZT0idG5zOkxpc3RPZkV2ZW50Rmll -bGRMaXN0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJIaXN0b3J5RXZlbnRGaWVsZExpc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IkV2ZW50RmllbGRzIiB0eXBlPSJ1YTpMaXN0T2ZWYXJpYW50IiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlFdmVudEZpZWxkTGlz -dCIgdHlwZT0idG5zOkhpc3RvcnlFdmVudEZpZWxkTGlzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iTGlzdE9mSGlzdG9yeUV2ZW50RmllbGRMaXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5RXZlbnRGaWVsZExpc3QiIHR5cGU9InRu -czpIaXN0b3J5RXZlbnRGaWVsZExpc3QiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5k -ZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkhpc3RvcnlFdmVudEZpZWxkTGlzdCIg -dHlwZT0idG5zOkxpc3RPZkhpc3RvcnlFdmVudEZpZWxkTGlzdCIgbmlsbGFibGU9InRydWUiPjwv -eHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU3RhdHVzQ2hhbmdlTm90aWZp -Y2F0aW9uIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4 -czpleHRlbnNpb24gYmFzZT0idG5zOk5vdGlmaWNhdGlvbkRhdGEiPg0KICAgICAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzIiB0eXBlPSJ1YTpTdGF0 -dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlh -Z25vc3RpY0luZm8iIHR5cGU9InVhOkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNp -b24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iU3RhdHVzQ2hhbmdlTm90aWZpY2F0aW9uIiB0eXBlPSJ0bnM6U3RhdHVz -Q2hhbmdlTm90aWZpY2F0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTdWJzY3Jp -cHRpb25BY2tub3dsZWRnZW1lbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VxdWVuY2VOdW1iZXIiIHR5cGU9Inhz -OnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uQWNrbm93bGVk -Z2VtZW50IiB0eXBlPSJ0bnM6U3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50IiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiPg0K -ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbkFj -a25vd2xlZGdlbWVudCIgdHlwZT0idG5zOlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudCIgbWlu -T2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -TGlzdE9mU3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50IiB0eXBlPSJ0bnM6TGlzdE9mU3Vic2Ny -aXB0aW9uQWNrbm93bGVkZ2VtZW50IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJQdWJsaXNoUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVl -c3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnRzIiB0eXBlPSJ0bnM6TGlzdE9m -U3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9IlB1Ymxpc2hSZXF1ZXN0IiB0eXBlPSJ0bnM6UHVibGlzaFJlcXVlc3QiIC8+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlB1Ymxpc2hSZXNwb25zZSI+DQogICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpS -ZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXZhaWxhYmxlU2VxdWVuY2VO -dW1iZXJzIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb3JlTm90aWZpY2F0aW9ucyIgdHlwZT0i -eHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm90 -aWZpY2F0aW9uTWVzc2FnZSIgdHlwZT0idG5zOk5vdGlmaWNhdGlvbk1lc3NhZ2UiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRz -IiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpM -aXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJQdWJsaXNoUmVzcG9uc2UiIHR5cGU9InRuczpQdWJsaXNoUmVzcG9uc2UiIC8+DQoNCiAgPHhz -OmNvbXBsZXhUeXBlIG5hbWU9IlJlcHVibGlzaFJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0 -SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXRyYW5zbWl0U2VxdWVuY2VOdW1iZXIi -IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVwdWJsaXNoUmVx -dWVzdCIgdHlwZT0idG5zOlJlcHVibGlzaFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9IlJlcHVibGlzaFJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -Tm90aWZpY2F0aW9uTWVzc2FnZSIgdHlwZT0idG5zOk5vdGlmaWNhdGlvbk1lc3NhZ2UiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVwdWJsaXNoUmVzcG9uc2UiIHR5cGU9 -InRuczpSZXB1Ymxpc2hSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVHJh -bnNmZXJSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlN0YXR1c0NvZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IkF2YWlsYWJsZVNlcXVlbmNlTnVtYmVycyIgdHlwZT0idWE6TGlz -dE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRyYW5zZmVy -UmVzdWx0IiB0eXBlPSJ0bnM6VHJhbnNmZXJSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9Ikxpc3RPZlRyYW5zZmVyUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2ZlclJlc3VsdCIgdHlwZT0idG5zOlRyYW5zZmVyUmVzdWx0 -IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJMaXN0T2ZUcmFuc2ZlclJlc3VsdCIgdHlwZT0idG5zOkxpc3RPZlRyYW5zZmVyUmVzdWx0 -IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJUcmFuc2ZlclN1YnNjcmlwdGlvbnNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRl -ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlN1YnNjcmlwdGlvbklkcyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VuZEluaXRpYWxW -YWx1ZXMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVl -bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2ZlclN1 -YnNjcmlwdGlvbnNSZXF1ZXN0IiB0eXBlPSJ0bnM6VHJhbnNmZXJTdWJzY3JpcHRpb25zUmVxdWVz -dCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVHJhbnNmZXJTdWJzY3JpcHRpb25zUmVz -cG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3Bv -bnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ0bnM6 -TGlzdE9mVHJhbnNmZXJSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRp -YWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 -c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRyYW5z -ZmVyU3Vic2NyaXB0aW9uc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6VHJhbnNmZXJTdWJzY3JpcHRpb25z -UmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZVN1YnNjcmlwdGlv -bnNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS -ZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkcyIg -dHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9IkRlbGV0ZVN1YnNjcmlwdGlvbnNSZXF1ZXN0IiB0eXBlPSJ0bnM6RGVsZXRlU3Vic2NyaXB0 -aW9uc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZVN1YnNjcmlw -dGlvbnNSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5 -cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RP -ZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv -eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRl -bGV0ZVN1YnNjcmlwdGlvbnNSZXNwb25zZSIgdHlwZT0idG5zOkRlbGV0ZVN1YnNjcmlwdGlvbnNS -ZXNwb25zZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iRW51bWVyYXRlZFRlc3RUeXBl -Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgc2ltcGxl -IGVudW1lcmF0ZWQgdHlwZSB1c2VkIGZvciB0ZXN0aW5nLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAg -ICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlZF8xIiAvPg0KICAgICAgPHhzOmVudW1l -cmF0aW9uIHZhbHVlPSJZZWxsb3dfNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i -R3JlZW5fNSIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9IkVudW1lcmF0ZWRUZXN0VHlwZSIgdHlwZT0idG5zOkVudW1lcmF0 -ZWRUZXN0VHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRW51bWVyYXRl -ZFRlc3RUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJF -bnVtZXJhdGVkVGVzdFR5cGUiIHR5cGU9InRuczpFbnVtZXJhdGVkVGVzdFR5cGUiIG1pbk9jY3Vy -cz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRW51bWVyYXRlZFRlc3RU -eXBlIiB0eXBlPSJ0bnM6TGlzdE9mRW51bWVyYXRlZFRlc3RUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+ -PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCdWlsZEluZm8iPg0KICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlByb2R1Y3RVcmkiIHR5cGU9 -InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9Ik1hbnVmYWN0dXJlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlByb2R1Y3RO -YW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTb2Z0d2FyZVZlcnNpb24iIHR5cGU9InhzOnN0cmluZyIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkJ1aWxkTnVtYmVyIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCdWlsZERhdGUiIHR5cGU9InhzOmRhdGVU -aW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnVpbGRJbmZvIiB0eXBlPSJ0bnM6QnVpbGRJbmZv -IiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJSZWR1bmRhbmN5U3VwcG9ydCI+DQogICAg -PHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24g -dmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ29sZF8xIiAv -Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJXYXJtXzIiIC8+DQogICAgICA8eHM6ZW51 -bWVyYXRpb24gdmFsdWU9IkhvdF8zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJU -cmFuc3BhcmVudF80IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJIb3RBbmRNaXJy -b3JlZF81IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iUmVkdW5kYW5jeVN1cHBvcnQiIHR5cGU9InRuczpSZWR1bmRhbmN5 -U3VwcG9ydCIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iU2VydmVyU3RhdGUiPg0KICAg -IDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9u -IHZhbHVlPSJSdW5uaW5nXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkZhaWxl -ZF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb0NvbmZpZ3VyYXRpb25fMiIg -Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU3VzcGVuZGVkXzMiIC8+DQogICAgICA8 -eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNodXRkb3duXzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp -b24gdmFsdWU9IlRlc3RfNSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ29tbXVu -aWNhdGlvbkZhdWx0XzYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVua25vd25f -NyIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9IlNlcnZlclN0YXRlIiB0eXBlPSJ0bnM6U2VydmVyU3RhdGUiIC8+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZHVuZGFudFNlcnZlckRhdGFUeXBlIj4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJJZCIgdHlwZT0ieHM6c3Ry -aW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iU2VydmljZUxldmVsIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlclN0YXRlIiB0eXBlPSJ0bnM6U2VydmVy -U3RhdGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIgdHlw -ZT0idG5zOlJlZHVuZGFudFNlcnZlckRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJMaXN0T2ZSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVkdW5kYW50U2VydmVyRGF0YVR5cGUiIHR5cGU9InRu -czpSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91 -bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUmVkdW5kYW50U2VydmVyRGF0YVR5 -cGUiIHR5cGU9InRuczpMaXN0T2ZSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIgbmlsbGFibGU9InRy -dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRW5kcG9pbnRVcmxM -aXN0RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkVuZHBvaW50VXJsTGlzdCIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIiB0eXBlPSJ0bnM6 -RW5kcG9pbnRVcmxMaXN0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxp -c3RPZkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVybExpc3REYXRhVHlwZSIgdHlwZT0idG5zOkVuZHBv -aW50VXJsTGlzdERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbmRwb2ludFVybExpc3REYXRhVHlwZSIgdHlw -ZT0idG5zOkxpc3RPZkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94 -czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJOZXR3b3JrR3JvdXBEYXRhVHlw -ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVXJp -IiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJOZXR3b3JrUGF0aHMiIHR5cGU9InRuczpMaXN0T2ZFbmRwb2lu -dFVybExpc3REYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJO -ZXR3b3JrR3JvdXBEYXRhVHlwZSIgdHlwZT0idG5zOk5ldHdvcmtHcm91cERhdGFUeXBlIiAvPg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZOZXR3b3JrR3JvdXBEYXRhVHlwZSI+DQog -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmV0d29ya0dyb3VwRGF0 -YVR5cGUiIHR5cGU9InRuczpOZXR3b3JrR3JvdXBEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhP -Y2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTmV0d29ya0dy -b3VwRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZOZXR3b3JrR3JvdXBEYXRhVHlwZSIgbmlsbGFi -bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2FtcGxp -bmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlNhbXBsaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUNvdW50 -IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iTWF4TW9uaXRvcmVkSXRlbUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzYWJsZWRNb25pdG9yZWRJ -dGVtQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94 -czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2Ft -cGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTYW1wbGluZ0ludGVy -dmFsRGlhZ25vc3RpY3NEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlz -dE9mU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5j -ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNhbXBsaW5nSW50ZXJ2YWxEaWFnbm9zdGljc0Rh -dGFUeXBlIiB0eXBlPSJ0bnM6U2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiIG1p -bk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -Ikxpc3RPZlNhbXBsaW5nSW50ZXJ2YWxEaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6TGlz -dE9mU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48 -L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlcnZlckRpYWdub3N0aWNz -U3VtbWFyeURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJTZXJ2ZXJWaWV3Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50U2Vzc2lvbkNvdW50IiB0eXBlPSJ4 -czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -Q3VtdWxhdGVkU2Vzc2lvbkNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlSZWplY3RlZFNlc3Npb25Db3Vu -dCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlJlamVjdGVkU2Vzc2lvbkNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvblRpbWVvdXRDb3Vu -dCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlNlc3Npb25BYm9ydENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudFN1YnNjcmlwdGlvbkNv -dW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iQ3VtdWxhdGVkU3Vic2NyaXB0aW9uQ291bnQiIHR5cGU9InhzOnVuc2lnbmVk -SW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoaW5n -SW50ZXJ2YWxDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5UmVqZWN0ZWRSZXF1ZXN0c0NvdW50IiB0eXBl -PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iUmVqZWN0ZWRSZXF1ZXN0c0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz -PSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9IlNlcnZlckRpYWdub3N0aWNzU3VtbWFyeURhdGFUeXBlIiB0eXBlPSJ0bnM6 -U2VydmVyRGlhZ25vc3RpY3NTdW1tYXJ5RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9IlNlcnZlclN0YXR1c0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJTdGFydFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50VGltZSIgdHlwZT0ieHM6ZGF0 -ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXRlIiB0 -eXBlPSJ0bnM6U2VydmVyU3RhdGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IkJ1aWxkSW5mbyIgdHlwZT0idG5zOkJ1aWxkSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY29uZHNUaWxsU2h1dGRv -d24iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJTaHV0ZG93blJlYXNvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJTdGF0dXNEYXRhVHlwZSIgdHlw -ZT0idG5zOlNlcnZlclN0YXR1c0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJTZXNzaW9uRGlhZ25vc3RpY3NEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbklkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uTmFt -ZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50RGVzY3JpcHRpb24iIHR5cGU9InRuczpBcHBsaWNh -dGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVy -bCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJB -Y3R1YWxTZXNzaW9uVGltZW91dCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhSZXNwb25zZU1lc3NhZ2VTaXplIiB0eXBlPSJ4czp1 -bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xp -ZW50Q29ubmVjdGlvblRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRMYXN0Q29udGFjdFRpbWUiIHR5cGU9InhzOmRh -dGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50 -U3Vic2NyaXB0aW9uc0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudE1vbml0b3JlZEl0ZW1zQ291bnQiIHR5 -cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJDdXJyZW50UHVibGlzaFJlcXVlc3RzSW5RdWV1ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRvdGFsUmVxdWVzdENv -dW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVuYXV0aG9yaXplZFJlcXVl -c3RDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlJlYWRDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5 -cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJIaXN0b3J5UmVhZENvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IldyaXRlQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVVw -ZGF0ZUNvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNhbGxDb3VudCIg -dHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVNb25pdG9yZWRJdGVtc0Nv -dW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmeU1vbml0b3JlZEl0 -ZW1zQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0TW9uaXRvcmlu -Z01vZGVDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRUcmlnZ2Vy -aW5nQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlTW9uaXRv -cmVkSXRlbXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVT -dWJzY3JpcHRpb25Db3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb2Rp -ZnlTdWJzY3JpcHRpb25Db3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJT -ZXRQdWJsaXNoaW5nTW9kZUNvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlB1Ymxpc2hDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXB1Ymxp -c2hDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2ZlclN1YnNj -cmlwdGlvbnNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVT -dWJzY3JpcHRpb25zQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWRk -Tm9kZXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRSZWZlcmVu -Y2VzQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlTm9kZXND -b3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVSZWZlcmVuY2Vz -Q291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlQ291bnQiIHR5 -cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlTmV4dENvdW50IiB0eXBlPSJ0 -bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRz -Q291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlGaXJzdENvdW50 -IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5TmV4dENvdW50IiB0eXBl -PSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyTm9kZXNDb3VudCIgdHlwZT0i -dG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbnJlZ2lzdGVyTm9kZXNDb3VudCIgdHlwZT0i -dG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTZXNzaW9uRGlh -Z25vc3RpY3NEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU2Vz -c2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlNlc3Npb25EaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U2Vzc2lv -bkRpYWdub3N0aWNzRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlNlc3Npb25EaWFnbm9zdGljc0RhdGFUeXBl -IiB0eXBlPSJ0bnM6TGlzdE9mU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIG5pbGxhYmxlPSJ0 -cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlc3Npb25TZWN1 -cml0eURpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlNlc3Npb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50VXNlcklkT2ZT -ZXNzaW9uIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRVc2VySWRIaXN0b3J5IiB0eXBlPSJ1YTpM -aXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJBdXRoZW50aWNhdGlvbk1lY2hhbmlzbSIgdHlwZT0ieHM6c3RyaW5nIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -RW5jb2RpbmciIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zcG9ydFByb3RvY29sIiB0eXBlPSJ4czpz -dHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVBvbGljeVVyaSIg -dHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50Q2VydGlmaWNhdGUiIHR5cGU9InhzOmJhc2U2NEJpbmFy -eSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uU2VjdXJpdHlE -aWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U2Vzc2lvblNlY3VyaXR5RGlhZ25vc3RpY3NE -YXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU2Vzc2lvblNlY3Vy -aXR5RGlhZ25vc3RpY3NEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iU2Vzc2lvblNlY3VyaXR5RGlhZ25vc3RpY3NEYXRhVHlwZSIgdHlwZT0idG5z -OlNlc3Npb25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2Nj -dXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog -IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlNlc3Npb25TZWN1 -cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZTZXNzaW9uU2VjdXJpdHlE -aWFnbm9zdGljc0RhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJTZXJ2aWNlQ291bnRlckRhdGFUeXBlIj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUb3RhbENvdW50IiB0eXBlPSJ4czp1bnNp -Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXJyb3JD -b3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2aWNl -Q291bnRlckRhdGFUeXBlIiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCg0K -ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU3RhdHVzUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2Rl -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5m -byIgdHlwZT0idWE6RGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iU3RhdHVzUmVzdWx0IiB0eXBlPSJ0bnM6U3RhdHVzUmVzdWx0IiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTdGF0dXNSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5j -ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c1Jlc3VsdCIgdHlwZT0idG5zOlN0YXR1 -c1Jlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iTGlzdE9mU3RhdHVzUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mU3RhdHVzUmVz -dWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJTdWJzY3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uSWQiIHR5cGU9InVhOk5vZGVJZCIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1 -YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJpb3JpdHkiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGluZ0ludGVydmFs -IiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9Ik1heEtlZXBBbGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4TGlmZXRpbWVDb3VudCIgdHlwZT0ieHM6 -dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1h -eE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGluZ0VuYWJsZWQiIHR5cGU9 -InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1v -ZGlmeUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iRW5hYmxlQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNhYmxlQ291bnQiIHR5cGU9 -InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJSZXB1Ymxpc2hSZXF1ZXN0Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXB1Ymxpc2hNZXNzYWdlUmVxdWVzdENv -dW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVwdWJsaXNoTWVzc2FnZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNmZXJSZXF1ZXN0 -Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJUcmFuc2ZlcnJlZFRvQWx0Q2xpZW50Q291bnQiIHR5cGU9InhzOnVuc2ln -bmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2Zl -cnJlZFRvU2FtZUNsaWVudENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaFJlcXVlc3RDb3VudCIgdHlwZT0i -eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkRhdGFDaGFuZ2VOb3RpZmljYXRpb25zQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudE5vdGlmaWNhdGlvbnND -b3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9Ik5vdGlmaWNhdGlvbnNDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1p -bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkxhdGVQdWJsaXNoUmVxdWVz -dENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iQ3VycmVudEtlZXBBbGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZElu -dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudExpZmV0 -aW1lQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJVbmFja25vd2xlZGdlZE1lc3NhZ2VDb3VudCIgdHlwZT0ieHM6dW5z -aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2Nh -cmRlZE1lc3NhZ2VDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1Db3VudCIgdHlwZT0ieHM6dW5z -aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2Fi -bGVkTW9uaXRvcmVkSXRlbUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ1F1ZXVlT3ZlcmZsb3dDb3Vu -dCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9Ik5leHRTZXF1ZW5jZU51bWJlciIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50UXVldWVPdmVyRmxvd0Nv -dW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlw -dGlvbkRpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTdWJzY3JpcHRpb25EaWFnbm9zdGlj -c0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTdWJzY3JpcHRp -b25EaWFnbm9zdGljc0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJTdWJzY3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U3Vi -c2NyaXB0aW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu -Ym91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU3Vic2NyaXB0aW9uRGlhZ25v -c3RpY3NEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlN1YnNjcmlwdGlvbkRpYWdub3N0aWNzRGF0 -YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUg -IG5hbWU9Ik1vZGVsQ2hhbmdlU3RydWN0dXJlVmVyYk1hc2siPg0KICAgIDx4czpyZXN0cmljdGlv -biBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb2RlQWRk -ZWRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9kZURlbGV0ZWRfMiIgLz4N -CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVmZXJlbmNlQWRkZWRfNCIgLz4NCiAgICAg -IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVmZXJlbmNlRGVsZXRlZF84IiAvPg0KICAgICAgPHhz -OmVudW1lcmF0aW9uIHZhbHVlPSJEYXRhVHlwZUNoYW5nZWRfMTYiIC8+DQogICAgPC94czpyZXN0 -cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RlbENo -YW5nZVN0cnVjdHVyZVZlcmJNYXNrIiB0eXBlPSJ0bnM6TW9kZWxDaGFuZ2VTdHJ1Y3R1cmVWZXJi -TWFzayIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVE -YXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWZm -ZWN0ZWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFmZmVjdGVkVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -VmVyYiIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpz -ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kZWxD -aGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgdHlwZT0idG5zOk1vZGVsQ2hhbmdlU3RydWN0dXJlRGF0 -YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk1vZGVsQ2hhbmdlU3Ry -dWN0dXJlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9Ik1vZGVsQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIHR5cGU9InRuczpNb2RlbENoYW5nZVN0 -cnVjdHVyZURhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZNb2RlbENoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiB0 -eXBlPSJ0bnM6TGlzdE9mTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgbmlsbGFibGU9InRy -dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2VtYW50aWNDaGFu -Z2VTdHJ1Y3R1cmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iQWZmZWN0ZWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFmZmVjdGVkVHlwZSIgdHlwZT0i -dWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNlbWFudGlj -Q2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIHR5cGU9InRuczpTZW1hbnRpY0NoYW5nZVN0cnVjdHVy -ZURhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTZW1hbnRpY0No -YW5nZVN0cnVjdHVyZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJTZW1hbnRpY0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiB0eXBlPSJ0bnM6U2Vt -YW50aWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu -Ym91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU2VtYW50aWNDaGFuZ2VTdHJ1 -Y3R1cmVEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlNlbWFudGljQ2hhbmdlU3RydWN0dXJlRGF0 -YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9IlJhbmdlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJMb3ciIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iSGlnaCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94 -czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmFu -Z2UiIHR5cGU9InRuczpSYW5nZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRVVJbmZv -cm1hdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFt -ZXNwYWNlVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbml0SWQiIHR5cGU9InhzOmludCIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzcGxheU5hbWUiIHR5cGU9InVh -OkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFVUluZm9ybWF0aW9uIiB0eXBlPSJ0 -bnM6RVVJbmZvcm1hdGlvbiIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iQXhpc1NjYWxl -RW51bWVyYXRpb24iPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAg -ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJMaW5lYXJfMCIgLz4NCiAgICAgIDx4czplbnVtZXJh -dGlvbiB2YWx1ZT0iTG9nXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkxuXzIi -IC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJBeGlzU2NhbGVFbnVtZXJhdGlvbiIgdHlwZT0idG5zOkF4aXNTY2FsZUVudW1l -cmF0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDb21wbGV4TnVtYmVyVHlwZSI+ -DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhbCIgdHlwZT0i -eHM6ZmxvYXQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkltYWdp -bmFyeSIgdHlwZT0ieHM6ZmxvYXQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNl -Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb21wbGV4TnVtYmVy -VHlwZSIgdHlwZT0idG5zOkNvbXBsZXhOdW1iZXJUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJEb3VibGVDb21wbGV4TnVtYmVyVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbWFnaW5hcnkiIHR5cGU9InhzOmRvdWJsZSIg -bWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9IkRvdWJsZUNvbXBsZXhOdW1iZXJUeXBlIiB0eXBlPSJ0bnM6 -RG91YmxlQ29tcGxleE51bWJlclR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkF4 -aXNJbmZvcm1hdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iRW5naW5lZXJpbmdVbml0cyIgdHlwZT0idG5zOkVVSW5mb3JtYXRpb24iIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFVVJhbmdlIiB0 -eXBlPSJ0bnM6UmFuZ2UiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJUaXRsZSIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkF4aXNTY2Fs -ZVR5cGUiIHR5cGU9InRuczpBeGlzU2NhbGVFbnVtZXJhdGlvbiIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXhpc1N0ZXBzIiB0eXBlPSJ1YTpMaXN0T2ZEb3VibGUi -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg -PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXhpc0luZm9ybWF0aW9uIiB0 -eXBlPSJ0bnM6QXhpc0luZm9ybWF0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJY -VlR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlgiIHR5 -cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -VmFsdWUiIHR5cGU9InhzOmZsb2F0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iWFZUeXBlIiB0eXBl -PSJ0bnM6WFZUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJQcm9ncmFtRGlhZ25v -c3RpY0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJDcmVhdGVTZXNzaW9uSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZUNsaWVudE5hbWUiIHR5 -cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9Ikludm9jYXRpb25DcmVhdGlvblRpbWUiIHR5cGU9InhzOmRhdGVUaW1l -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0VHJhbnNpdGlv -blRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJMYXN0TWV0aG9kQ2FsbCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1ldGhvZFNl -c3Npb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1ldGhvZElucHV0QXJndW1lbnRzIiB0eXBl -PSJ0bnM6TGlzdE9mQXJndW1lbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kT3V0cHV0QXJndW1lbnRzIiB0eXBlPSJ0 -bnM6TGlzdE9mQXJndW1lbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kQ2FsbFRpbWUiIHR5cGU9InhzOmRhdGVUaW1l -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kUmV0 -dXJuU3RhdHVzIiB0eXBlPSJ0bnM6U3RhdHVzUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9IlByb2dyYW1EaWFnbm9zdGljRGF0YVR5cGUiIHR5cGU9InRuczpQcm9n -cmFtRGlhZ25vc3RpY0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBbm5v -dGF0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXNz -YWdlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQW5ub3Rh -dGlvblRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpz -ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQW5ub3Rh -dGlvbiIgdHlwZT0idG5zOkFubm90YXRpb24iIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9 -IkV4Y2VwdGlvbkRldmlhdGlvbkZvcm1hdCI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9Inhz -OnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFic29sdXRlVmFsdWVfMCIg -Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mVmFsdWVfMSIgLz4NCiAg -ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mUmFuZ2VfMiIgLz4NCiAgICAgIDx4 -czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mRVVSYW5nZV8zIiAvPg0KICAgICAgPHhzOmVu -dW1lcmF0aW9uIHZhbHVlPSJVbmtub3duXzQiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAg -PC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFeGNlcHRpb25EZXZpYXRpb25G -b3JtYXQiIHR5cGU9InRuczpFeGNlcHRpb25EZXZpYXRpb25Gb3JtYXQiIC8+DQoNCjwveHM6c2No -ZW1hPg== - - - - NamespaceUri - A URI that uniquely identifies the dictionary. - - i=68 - i=8252 - - - http://opcfoundation.org/UA/2008/02/Types.xsd - - - - TrustListDataType - - i=69 - i=8252 - - - //xs:element[@name='TrustListDataType'] - - - - Argument - - i=69 - i=8252 - - - //xs:element[@name='Argument'] - - - - EnumValueType - - i=69 - i=8252 - - - //xs:element[@name='EnumValueType'] - - - - OptionSet - - i=69 - i=8252 - - - //xs:element[@name='OptionSet'] - - - - Union - - i=69 - i=8252 - - - //xs:element[@name='Union'] - - - - 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'] - - - - KerberosIdentityToken - - i=69 - i=8252 - - - //xs:element[@name='KerberosIdentityToken'] - - - - 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'] - - - - SupportedProfile - - i=69 - i=8252 - - - //xs:element[@name='SupportedProfile'] - - - - SoftwareCertificate - - i=69 - i=8252 - - - //xs:element[@name='SoftwareCertificate'] - - - - 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'] - - - - Annotation - - i=69 - i=8252 - - - //xs:element[@name='Annotation'] - - - - Default Binary - - i=12554 - i=12681 - i=76 - - - - Default Binary - - i=296 - i=7650 - i=76 - - - - Default Binary - - i=7594 - i=7656 - i=76 - - - - Default Binary - - i=12755 - i=12767 - i=76 - - - - Default Binary - - i=12756 - i=12770 - i=76 - - - - Default Binary - - i=8912 - i=8914 - i=76 - - - - Default Binary - - i=308 - i=7665 - i=76 - - - - Default Binary - - i=12189 - i=12213 - i=76 - - - - Default Binary - - i=304 - i=7662 - i=76 - - - - Default Binary - - i=312 - i=7668 - i=76 - - - - Default Binary - - i=432 - i=7782 - i=76 - - - - Default Binary - - i=12890 - i=12902 - i=76 - - - - Default Binary - - i=12891 - i=12905 - i=76 - - - - Default Binary - - i=344 - i=7698 - 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=12504 - i=12510 - i=76 - - - - Default Binary - - i=938 - i=7683 - i=76 - - - - Default Binary - - i=376 - i=7728 - i=76 - - - - Default Binary - - i=379 - i=7731 - i=76 - - - - Default Binary - - i=382 - i=7734 - i=76 - - - - Default Binary - - i=385 - i=7737 - i=76 - - - - Default Binary - - i=537 - i=12718 - i=76 - - - - Default Binary - - i=540 - i=12721 - i=76 - - - - Default Binary - - i=331 - i=7686 - i=76 - - - - Default Binary - - i=335 - i=7689 - i=76 - - - - Default Binary - - i=341 - i=7695 - 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=659 - i=8004 - i=76 - - - - Default Binary - - i=719 - i=8067 - i=76 - - - - Default Binary - - i=725 - i=8073 - i=76 - - - - Default Binary - - i=948 - i=8076 - i=76 - - - - Default Binary - - i=920 - i=8172 - 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=891 - i=8244 - i=76 - - - - Opc.Ua - - i=7619 - i=12681 - i=7650 - i=7656 - i=12767 - i=12770 - 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=12510 - i=7683 - i=7728 - i=7731 - i=7734 - i=7737 - i=12718 - i=12721 - i=7686 - i=7689 - i=7695 - 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=8244 - i=93 - i=72 - - - PG9wYzpUeXBlRGljdGlvbmFyeQ0KICB4bWxuczpvcGM9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9y -Zy9CaW5hcnlTY2hlbWEvIg0KICB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1M -U2NoZW1hLWluc3RhbmNlIg0KICB4bWxuczp1YT0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VB -LyINCiAgeG1sbnM6dG5zPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvIg0KICBEZWZhdWx0 -Qnl0ZU9yZGVyPSJMaXR0bGVFbmRpYW4iDQogIFRhcmdldE5hbWVzcGFjZT0iaHR0cDovL29wY2Zv -dW5kYXRpb24ub3JnL1VBLyINCj4NCiAgPCEtLSBUaGlzIEZpbGUgd2FzIGdlbmVyYXRlZCBvbiAy -MDE1LTA4LTE4IGFuZCBzdXBwb3J0cyB0aGUgc3BlY2lmaWNhdGlvbnMgc3VwcG9ydGVkIGJ5IHZl -cnNpb24gMS4xLjMzNS4xIG9mIHRoZSBPUEMgVUEgZGVsaXZlcmFibGVzLiAtLT4NCg0KICA8b3Bj -OkltcG9ydCBOYW1lc3BhY2U9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9CaW5hcnlTY2hlbWEv -IiAvPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iWG1sRWxlbWVudCI+DQogICAgPG9w -YzpEb2N1bWVudGF0aW9uPkFuIFhNTCBlbGVtZW50IGVuY29kZWQgYXMgYSBVVEYtOCBzdHJpbmcu -PC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxlbmd0aCIgVHlwZU5h -bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0i -b3BjOkNoYXIiIExlbmd0aEZpZWxkPSJMZW5ndGgiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl -Pg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iTm9kZUlkVHlwZSIgTGVuZ3RoSW5CaXRz -PSI2Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHBvc3NpYmxlIGVuY29kaW5ncyBmb3Ig -YSBOb2RlSWQgdmFsdWUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJUd29CeXRlIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJGb3VyQnl0ZSIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iTnVtZXJpYyIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt -ZT0iU3RyaW5nIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJH -dWlkIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCeXRlU3Ry -aW5nIiBWYWx1ZT0iNSIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 -Y3R1cmVkVHlwZSBOYW1lPSJUd29CeXRlTm9kZUlkIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Iklk -ZW50aWZpZXIiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJGb3VyQnl0ZU5vZGVJZCI+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJOYW1lc3BhY2VJbmRleCIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iSWRlbnRpZmllciIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTnVt -ZXJpY05vZGVJZCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lc3BhY2VJbmRleCIgVHlwZU5h -bWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJZGVudGlmaWVyIiBUeXBl -TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT -dHJ1Y3R1cmVkVHlwZSBOYW1lPSJTdHJpbmdOb2RlSWQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -TmFtZXNwYWNlSW5kZXgiIFR5cGVOYW1lPSJvcGM6VUludDE2IiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iSWRlbnRpZmllciIgVHlwZU5hbWU9Im9wYzpDaGFyQXJyYXkiIC8+DQogIDwvb3BjOlN0 -cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iR3VpZE5vZGVJZCI+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lc3BhY2VJbmRleCIgVHlwZU5hbWU9Im9wYzpVSW50 -MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJZGVudGlmaWVyIiBUeXBlTmFtZT0ib3BjOkd1 -aWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg -TmFtZT0iQnl0ZVN0cmluZ05vZGVJZCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lc3BhY2VJ -bmRleCIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJZGVu -dGlmaWVyIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm9kZUlkIj4NCiAgICA8b3BjOkRv -Y3VtZW50YXRpb24+QW4gaWRlbnRpZmllciBmb3IgYSBub2RlIGluIGEgVUEgc2VydmVyIGFkZHJl -c3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJ -ZFR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWRUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UmVzZXJ2ZWQxIiBUeXBlTmFtZT0ib3BjOkJpdCIgTGVuZ3RoPSIyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iVHdvQnl0ZSIgVHlwZU5hbWU9InVhOlR3b0J5dGVOb2RlSWQiIFN3aXRjaEZpZWxk -PSJOb2RlSWRUeXBlIiBTd2l0Y2hWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZv -dXJCeXRlIiBUeXBlTmFtZT0idWE6Rm91ckJ5dGVOb2RlSWQiIFN3aXRjaEZpZWxkPSJOb2RlSWRU -eXBlIiBTd2l0Y2hWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik51bWVyaWMiIFR5 -cGVOYW1lPSJ1YTpOdW1lcmljTm9kZUlkIiBTd2l0Y2hGaWVsZD0iTm9kZUlkVHlwZSIgU3dpdGNo -VmFsdWU9IjIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdHJpbmciIFR5cGVOYW1lPSJ1YTpT -dHJpbmdOb2RlSWQiIFN3aXRjaEZpZWxkPSJOb2RlSWRUeXBlIiBTd2l0Y2hWYWx1ZT0iMyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ikd1aWQiIFR5cGVOYW1lPSJ1YTpHdWlkTm9kZUlkIiBTd2l0 -Y2hGaWVsZD0iTm9kZUlkVHlwZSIgU3dpdGNoVmFsdWU9IjQiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJCeXRlU3RyaW5nIiBUeXBlTmFtZT0idWE6Qnl0ZVN0cmluZ05vZGVJZCIgU3dpdGNoRmll -bGQ9Ik5vZGVJZFR5cGUiIFN3aXRjaFZhbHVlPSI1IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw -ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkV4cGFuZGVkTm9kZUlkIj4NCiAgICA8 -b3BjOkRvY3VtZW50YXRpb24+QW4gaWRlbnRpZmllciBmb3IgYSBub2RlIGluIGEgVUEgc2VydmVy -IGFkZHJlc3Mgc3BhY2UgcXVhbGlmaWVkIHdpdGggYSBjb21wbGV0ZSBuYW1lc3BhY2Ugc3RyaW5n -Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWRUeXBlIiBU -eXBlTmFtZT0idWE6Tm9kZUlkVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlcklu -ZGV4U3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -Ik5hbWVzcGFjZVVSSVNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJUd29CeXRlIiBUeXBlTmFtZT0idWE6VHdvQnl0ZU5vZGVJZCIgU3dpdGNoRmll -bGQ9Ik5vZGVJZFR5cGUiIFN3aXRjaFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Rm91ckJ5dGUiIFR5cGVOYW1lPSJ1YTpGb3VyQnl0ZU5vZGVJZCIgU3dpdGNoRmllbGQ9Ik5vZGVJ -ZFR5cGUiIFN3aXRjaFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTnVtZXJpYyIg -VHlwZU5hbWU9InVhOk51bWVyaWNOb2RlSWQiIFN3aXRjaEZpZWxkPSJOb2RlSWRUeXBlIiBTd2l0 -Y2hWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0cmluZyIgVHlwZU5hbWU9InVh -OlN0cmluZ05vZGVJZCIgU3dpdGNoRmllbGQ9Ik5vZGVJZFR5cGUiIFN3aXRjaFZhbHVlPSIzIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iR3VpZCIgVHlwZU5hbWU9InVhOkd1aWROb2RlSWQiIFN3 -aXRjaEZpZWxkPSJOb2RlSWRUeXBlIiBTd2l0Y2hWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkJ5dGVTdHJpbmciIFR5cGVOYW1lPSJ1YTpCeXRlU3RyaW5nTm9kZUlkIiBTd2l0Y2hG -aWVsZD0iTm9kZUlkVHlwZSIgU3dpdGNoVmFsdWU9IjUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJOYW1lc3BhY2VVUkkiIFR5cGVOYW1lPSJvcGM6Q2hhckFycmF5IiBTd2l0Y2hGaWVsZD0iTmFt -ZXNwYWNlVVJJU3BlY2lmaWVkIi8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJJbmRleCIg -VHlwZU5hbWU9Im9wYzpVSW50MzIiIFN3aXRjaEZpZWxkPSJTZXJ2ZXJJbmRleFNwZWNpZmllZCIv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iU3Rh -dHVzQ29kZSIgTGVuZ3RoSW5CaXRzPSIzMiIgQnl0ZU9yZGVyU2lnbmlmaWNhbnQ9InRydWUiPg0K -ICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIDMyLWJpdCBzdGF0dXMgY29kZSB2YWx1ZS48L29wYzpE -b2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iRGlhZ25vc3RpY0luZm8iPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHJlY3Vy -c2l2ZSBzdHJ1Y3R1cmUgY29udGFpbmluZyBkaWFnbm9zdGljIGluZm9ybWF0aW9uIGFzc29jaWF0 -ZWQgd2l0aCBhIHN0YXR1cyBjb2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJTeW1ib2xpY0lkU3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5hbWVzcGFjZVVSSVNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMb2NhbGVTcGVjaWZpZWQiIFR5cGVOYW1lPSJvcGM6 -Qml0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTG9jYWxpemVkVGV4dFNwZWNpZmllZCIgVHlw -ZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGRpdGlvbmFsSW5mb1Nw -ZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbm5l -clN0YXR1c0NvZGVTcGVjaWZpZWQiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iSW5uZXJEaWFnbm9zdGljSW5mb1NwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNlcnZlZDEiIFR5cGVOYW1lPSJvcGM6Qml0IiBM -ZW5ndGg9IjIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTeW1ib2xpY0lkIiBUeXBlTmFtZT0i -b3BjOkludDMyIiBTd2l0Y2hGaWVsZD0iU3ltYm9saWNJZFNwZWNpZmllZCIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5hbWVzcGFjZVVSSSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgU3dpdGNoRmll -bGQ9Ik5hbWVzcGFjZVVSSVNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2Fs -ZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgU3dpdGNoRmllbGQ9IkxvY2FsZVNwZWNpZmllZCIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsaXplZFRleHQiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IFN3aXRjaEZpZWxkPSJMb2NhbGl6ZWRUZXh0U3BlY2lmaWVkIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iQWRkaXRpb25hbEluZm8iIFR5cGVOYW1lPSJvcGM6Q2hhckFycmF5IiBTd2l0Y2hGaWVs -ZD0iQWRkaXRpb25hbEluZm9TcGVjaWZpZWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbm5l -clN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBTd2l0Y2hGaWVsZD0iSW5uZXJT -dGF0dXNDb2RlU3BlY2lmaWVkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5uZXJEaWFnbm9z -dGljSW5mbyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBTd2l0Y2hGaWVsZD0iSW5uZXJE -aWFnbm9zdGljSW5mb1NwZWNpZmllZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg -PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJRdWFsaWZpZWROYW1lIj4NCiAgICA8b3BjOkRvY3Vt -ZW50YXRpb24+QSBzdHJpbmcgcXVhbGlmaWVkIHdpdGggYSBuYW1lc3BhY2UgaW5kZXguPC9vcGM6 -RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWVzcGFjZUluZGV4IiBUeXBl -TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmFtZSIgVHlwZU5hbWU9 -Im9wYzpDaGFyQXJyYXkiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry -dWN0dXJlZFR5cGUgTmFtZT0iTG9jYWxpemVkVGV4dCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u -PkEgc3RyaW5nIHF1YWxpZmllZCB3aXRoIGEgbmFtZXNwYWNlIGluZGV4Ljwvb3BjOkRvY3VtZW50 -YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMb2NhbGVTcGVjaWZpZWQiIFR5cGVOYW1lPSJv -cGM6Qml0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGV4dFNwZWNpZmllZCIgVHlwZU5hbWU9 -Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNlcnZlZDEiIFR5cGVOYW1lPSJv -cGM6Qml0IiBMZW5ndGg9IjYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMb2NhbGUiIFR5cGVO -YW1lPSJvcGM6Q2hhckFycmF5IiBTd2l0Y2hGaWVsZD0iTG9jYWxlU3BlY2lmaWVkIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iVGV4dCIgVHlwZU5hbWU9Im9wYzpDaGFyQXJyYXkiIFN3aXRjaEZp -ZWxkPSJUZXh0U3BlY2lmaWVkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -OlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFWYWx1ZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u -PkEgdmFsdWUgd2l0aCBhbiBhc3NvY2lhdGVkIHRpbWVzdGFtcCwgYW5kIHF1YWxpdHkuPC9vcGM6 -RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlU3BlY2lmaWVkIiBUeXBl -TmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGVTcGVjaWZp -ZWQiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU291cmNlVGlt -ZXN0YW1wU3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlNvdXJjZVBpY29zZWNvbmRzU3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclRpbWVzdGFtcFNwZWNpZmllZCIgVHlwZU5hbWU9Im9w -YzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJQaWNvc2Vjb25kc1NwZWNpZmll -ZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNlcnZlZDEi -IFR5cGVOYW1lPSJvcGM6Qml0IiBMZW5ndGg9IjIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJW -YWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIFN3aXRjaEZpZWxkPSJWYWx1ZVNwZWNpZmllZCIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXND -b2RlIiBTd2l0Y2hGaWVsZD0iU3RhdHVzQ29kZVNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlNvdXJjZVRpbWVzdGFtcCIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgU3dpdGNoRmll -bGQ9IlNvdXJjZVRpbWVzdGFtcFNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNv -dXJjZVBpY29zZWNvbmRzIiBUeXBlTmFtZT0ib3BjOlVJbnQxNiIgU3dpdGNoRmllbGQ9IlNvdXJj -ZVBpY29zZWNvbmRzU3BlY2lmaWVkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyVGlt -ZXN0YW1wIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiBTd2l0Y2hGaWVsZD0iU2VydmVyVGltZXN0 -YW1wU3BlY2lmaWVkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyUGljb3NlY29uZHMi -IFR5cGVOYW1lPSJvcGM6VUludDE2IiBTd2l0Y2hGaWVsZD0iU2VydmVyUGljb3NlY29uZHNTcGVj -aWZpZWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iRXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBzZXJp -YWxpemVkIG9iamVjdCBwcmVmaXhlZCB3aXRoIGl0cyBkYXRhIHR5cGUgaWRlbnRpZmllci48L29w -YzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHlwZUlkU3BlY2lmaWVkIiBU -eXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJpbmFyeUJvZHkiIFR5 -cGVOYW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iWG1sQm9keSIgVHlwZU5h -bWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNlcnZlZDEiIFR5cGVOYW1l -PSJvcGM6Qml0IiBMZW5ndGg9IjUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUeXBlSWQiIFR5 -cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgU3dpdGNoRmllbGQ9IlR5cGVJZFNwZWNpZmllZCIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJvZHlMZW5ndGgiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCb2R5IiBUeXBlTmFtZT0ib3BjOkJ5dGUiIExlbmd0 -aEZpZWxkPSJCb2R5TGVuZ3RoIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -OlN0cnVjdHVyZWRUeXBlIE5hbWU9IlZhcmlhbnQiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5B -IHVuaW9uIG9mIHNldmVyYWwgdHlwZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlZhcmlhbnRUeXBlIiBUeXBlTmFtZT0ib3BjOkJpdCIgTGVuZ3RoPSI2IiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iQXJyYXlEaW1lbnNpb25zU3BlY2lmaWVkIiBUeXBlTmFtZT0i -b3BjOkJpdCIgTGVuZ3RoPSIxIi8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBcnJheUxlbmd0aFNw -ZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIExlbmd0aD0iMSIvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iQXJyYXlMZW5ndGgiIFR5cGVOYW1lPSJvcGM6SW50MzIiIFN3aXRjaEZpZWxkPSJBcnJh -eUxlbmd0aFNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJvb2xlYW4iIFR5cGVO -YW1lPSJvcGM6Qm9vbGVhbiIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0i -VmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU0J5 -dGUiIFR5cGVOYW1lPSJvcGM6U0J5dGUiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNo -RmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkJ5dGUiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBT -d2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iSW50MTYiIFR5cGVOYW1lPSJvcGM6SW50MTYiIExlbmd0aEZpZWxkPSJBcnJheUxl -bmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iNCIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlVJbnQxNiIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIExlbmd0aEZpZWxk -PSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iNSIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkludDMyIiBUeXBlTmFtZT0ib3BjOkludDMyIiBMZW5n -dGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFs -dWU9IjYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVSW50MzIiIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIg -U3dpdGNoVmFsdWU9IjciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbnQ2NCIgVHlwZU5hbWU9 -Im9wYzpJbnQ2NCIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFu -dFR5cGUiIFN3aXRjaFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVUludDY0IiBU -eXBlTmFtZT0ib3BjOlVJbnQ2NCIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVs -ZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSI5IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -RmxvYXQiIFR5cGVOYW1lPSJvcGM6RmxvYXQiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dp -dGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMTAiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJEb3VibGUiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiBMZW5ndGhGaWVsZD0iQXJyYXlM -ZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjExIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iU3RyaW5nIiBUeXBlTmFtZT0ib3BjOkNoYXJBcnJheSIgTGVuZ3Ro -RmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVl -PSIxMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGVUaW1lIiBUeXBlTmFtZT0ib3BjOkRh -dGVUaW1lIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlw -ZSIgU3dpdGNoVmFsdWU9IjEzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iR3VpZCIgVHlwZU5h -bWU9Im9wYzpHdWlkIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJp -YW50VHlwZSIgU3dpdGNoVmFsdWU9IjE0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnl0ZVN0 -cmluZyIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgi -IFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjE1IiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iWG1sRWxlbWVudCIgVHlwZU5hbWU9InVhOlhtbEVsZW1lbnQiIExlbmd0aEZp -ZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0i -MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQi -IExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0 -Y2hWYWx1ZT0iMTciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFeHBhbmRlZE5vZGVJZCIgVHlw -ZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRj -aEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjE4IiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJB -cnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMTkiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJRdWFsaWZpZWROYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlm -aWVkTmFtZSIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5 -cGUiIFN3aXRjaFZhbHVlPSIyMCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsaXplZFRl -eHQiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgi -IFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjIxIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iRXh0ZW5zaW9uT2JqZWN0IiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0 -IiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dp -dGNoVmFsdWU9IjIyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVZhbHVlIiBUeXBlTmFt -ZT0idWE6RGF0YVZhbHVlIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJW -YXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjIzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFy -aWFudCIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dp -dGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMjQiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJEaWFnbm9zdGljSW5mbyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5n -dGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFs -dWU9IjI1IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkFycmF5RGltZW5zaW9ucyIgVHlw -ZU5hbWU9Im9wYzpJbnQzMiIgU3dpdGNoRmllbGQ9IkFycmF5RGltZW5zaW9uc1NwZWNpZmllZCIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpJ -bnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIFN3aXRjaEZpZWxkPSJBcnJh -eURpbWVuc2lvbnNTcGVjaWZpZWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv -cGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iTmFtaW5nUnVsZVR5cGUiIExlbmd0aEluQml0cz0iMzIi -Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik1hbmRhdG9yeSIgVmFsdWU9IjEiIC8+ -DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iT3B0aW9uYWwiIFZhbHVlPSIyIiAvPg0K -ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkNvbnN0cmFpbnQiIFZhbHVlPSIzIiAvPg0K -ICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCiAgICANCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0i -SW1hZ2VCTVAiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBpbWFnZSBlbmNvZGVkIGluIEJN -UCBmb3JtYXQuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8 -b3BjOk9wYXF1ZVR5cGUgTmFtZT0iSW1hZ2VHSUYiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5B -biBpbWFnZSBlbmNvZGVkIGluIEdJRiBmb3JtYXQuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9v -cGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iSW1hZ2VKUEciPg0KICAg -IDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBpbWFnZSBlbmNvZGVkIGluIEpQRUcgZm9ybWF0Ljwvb3Bj -OkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBl -IE5hbWU9IkltYWdlUE5HIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QW4gaW1hZ2UgZW5jb2Rl -ZCBpbiBQTkcgZm9ybWF0Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+ -DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkJpdEZpZWxkTWFza0RhdGFUeXBlIj4NCiAgICA8 -b3BjOkRvY3VtZW50YXRpb24+QSBtYXNrIG9mIDMyIGJpdHMgdGhhdCBjYW4gYmUgdXBkYXRlZCBp -bmRpdmlkdWFsbHkgYnkgdXNpbmcgdGhlIHRvcCAzMiBiaXRzIGFzIGEgbWFzay48L29wYzpEb2N1 -bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUg -TmFtZT0iT3BlbkZpbGVNb2RlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0 -ZWRWYWx1ZSBOYW1lPSJSZWFkIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJXcml0ZSIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt -ZT0iRXJhc2VFeGlzdGluZyIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iQXBwZW5kIiBWYWx1ZT0iOCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAg -PG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJUcnVzdExpc3RNYXNrcyIgTGVuZ3RoSW5CaXRzPSIz -MiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQog -ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVHJ1c3RlZENlcnRpZmljYXRlcyIgVmFsdWU9 -IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVHJ1c3RlZENybHMiIFZhbHVl -PSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Iklzc3VlckNlcnRpZmljYXRl -cyIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNzdWVyQ3Js -cyIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQWxsIiBWYWx1 -ZT0iMTUiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iVHJ1c3RMaXN0RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3BlY2lmaWVkTGlzdHMiIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlRydXN0ZWRDZXJ0aWZpY2F0ZXMiIFR5 -cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcnVzdGVkQ2VydGlm -aWNhdGVzIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mVHJ1c3Rl -ZENlcnRpZmljYXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZUcnVzdGVkQ3JscyIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRydXN0ZWRDcmxz -IiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mVHJ1c3RlZENybHMi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mSXNzdWVyQ2VydGlmaWNhdGVzIiBUeXBlTmFt -ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNzdWVyQ2VydGlmaWNhdGVz -IiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mSXNzdWVyQ2VydGlm -aWNhdGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZklzc3VlckNybHMiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc3N1ZXJDcmxzIiBUeXBlTmFt -ZT0ib3BjOkJ5dGVTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mSXNzdWVyQ3JscyIgLz4NCiAgPC9v -cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJJZFR5cGUi -IExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgdHlwZSBvZiBp -ZGVudGlmaWVyIHVzZWQgaW4gYSBub2RlIGlkLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9w -YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTnVtZXJpYyIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpF -bnVtZXJhdGVkVmFsdWUgTmFtZT0iU3RyaW5nIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1l -cmF0ZWRWYWx1ZSBOYW1lPSJHdWlkIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJPcGFxdWUiIFZhbHVlPSIzIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4N -Cg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9Ik5vZGVDbGFzcyIgTGVuZ3RoSW5CaXRzPSIz -MiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgbWFzayBzcGVjaWZ5aW5nIHRoZSBjbGFzcyBv -ZiB0aGUgbm9kZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9IlVuc3BlY2lmaWVkIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJPYmplY3QiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9IlZhcmlhYmxlIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l -PSJNZXRob2QiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik9i -amVjdFR5cGUiIFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZh -cmlhYmxlVHlwZSIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 -IlJlZmVyZW5jZVR5cGUiIFZhbHVlPSIzMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO -YW1lPSJEYXRhVHlwZSIgVmFsdWU9IjY0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9IlZpZXciIFZhbHVlPSIxMjgiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxv -cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm9kZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj -dCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0cmlidXRlcyB3aGlj -aCBiZWxvbmcgdG8gYWxsIG5vZGVzLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNzIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2Fs -aXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJv -cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5h -bWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlcyIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXMi -IFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlTm9kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2Vz -IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9Ikluc3RhbmNlTm9kZSIgQmFzZVR5cGU9InRuczpOb2RlIj4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNz -IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5h -bWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVk -VGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNj -cmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2Rl -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQz -MiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3Jp -dGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJ0bnM6UmVmZXJl -bmNlTm9kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2VzIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlR5cGVOb2RlIiBCYXNlVHlw -ZT0idG5zOk5vZGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6 -Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v -ZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmll -ZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlz -cGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9k -ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9j -YWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZS -ZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9P -ZlJlZmVyZW5jZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 -dXJlZFR5cGUgTmFtZT0iT2JqZWN0Tm9kZSIgQmFzZVR5cGU9InRuczpJbnN0YW5jZU5vZGUiPg0K -ICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVs -b25nIHRvIG9iamVjdCBub2Rlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xh -c3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3Nl -TmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6 -ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRl -c2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5v -ZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJX -cml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZl -cmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJFdmVudE5vdGlmaWVyIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0 -cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iT2JqZWN0VHlwZU5v -ZGUiIEJhc2VUeXBlPSJ0bnM6VHlwZU5vZGUiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5TcGVj -aWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIG9iamVjdCB0eXBlIG5vZGVzLjwv -b3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1l -PSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgU291cmNlVHlwZT0idG5zOk5v -ZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVh -bGlmaWVkTmFtZSIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRu -czpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1 -YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpO -b2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9w -YzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Tm9PZlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJSZWZlcmVuY2VzIiBUeXBlTmFtZT0idG5zOlJlZmVyZW5jZU5vZGUiIExlbmd0aEZpZWxk -PSJOb09mUmVmZXJlbmNlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5 -cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w -YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJWYXJpYWJsZU5vZGUiIEJhc2VUeXBlPSJ0bnM6SW5zdGFu -Y2VOb2RlIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+U3BlY2lmaWVzIHRoZSBhdHRyaWJ1dGVz -IHdoaWNoIGJlbG9uZyB0byB2YXJpYWJsZSBub2Rlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBl -PSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9 -InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9 -InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1l -PSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNl -VHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVO -YW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0 -bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFt -ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5h -bWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlZhbHVlUmFuayIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6 -VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkFycmF5RGltZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkFjY2Vzc0xldmVsIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJVc2VyQWNjZXNzTGV2ZWwiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik1pbmltdW1TYW1wbGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRv -dWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikhpc3Rvcml6aW5nIiBUeXBlTmFtZT0ib3Bj -OkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl -ZFR5cGUgTmFtZT0iVmFyaWFibGVUeXBlTm9kZSIgQmFzZVR5cGU9InRuczpUeXBlTm9kZSI+DQog -ICAgPG9wYzpEb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBiZWxv -bmcgdG8gdmFyaWFibGUgdHlwZSBub2Rlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6 -Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpO -b2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -QnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpO -b2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpM -b2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0i -dG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJv -cGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9k -ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3Bj -OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRu -czpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJEYXRhVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlZhbHVlUmFuayIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6VUludDMy -IiBMZW5ndGhGaWVsZD0iTm9PZkFycmF5RGltZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IklzQWJzdHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0 -dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWZlcmVuY2VUeXBlTm9k -ZSIgQmFzZVR5cGU9InRuczpUeXBlTm9kZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlNwZWNp -ZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gcmVmZXJlbmNlIHR5cGUgbm9kZXMu -PC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5h -bWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNzIiBTb3VyY2VUeXBlPSJ0bnM6 -Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpR -dWFsaWZpZWROYW1lIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0i -dG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9 -InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5z -Ok5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0i -b3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJOb09mUmVmZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlTm9kZSIgTGVuZ3RoRmll -bGQ9Ik5vT2ZSZWZlcmVuY2VzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNBYnN0cmFjdCIg -VHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3ltbWV0cmlj -IiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbnZlcnNl -TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTWV0aG9kTm9kZSIgQmFzZVR5cGU9 -InRuczpJbnN0YW5jZU5vZGUiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhl -IGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIG1ldGhvZCBub2Rlcy48L29wYzpEb2N1bWVudGF0 -aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBT -b3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIg -VHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNv -dXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUi -IFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4 -dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1h -c2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3Vy -Y2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2Vz -IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNl -cyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5j -ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFeGVjdXRhYmxlIiBUeXBlTmFtZT0ib3BjOkJv -b2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyRXhlY3V0YWJsZSIgVHlwZU5hbWU9 -Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj -dHVyZWRUeXBlIE5hbWU9IlZpZXdOb2RlIiBCYXNlVHlwZT0idG5zOkluc3RhbmNlTm9kZSI+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5 -cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFt -ZT0idG5zOk5vZGVDbGFzcyIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgU291cmNlVHlw -ZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5h -bWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3Vy -Y2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlw -ZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9 -InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVO -YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBl -TmFtZT0idG5zOlJlZmVyZW5jZU5vZGUiIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlcyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbnRhaW5zTm9Mb29wcyIgVHlwZU5hbWU9Im9wYzpCb29s -ZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnROb3RpZmllciIgVHlwZU5hbWU9Im9w -YzpCeXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU -eXBlIE5hbWU9IkRhdGFUeXBlTm9kZSIgQmFzZVR5cGU9InRuczpUeXBlTm9kZSI+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRu -czpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5z -Ok5vZGVDbGFzcyIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgU291cmNlVHlwZT0idG5z -Ok5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVh -OkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBl -PSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9 -Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpO -b2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJv -cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBlTmFtZT0i -dG5zOlJlZmVyZW5jZU5vZGUiIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlcyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAg -PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWZl -cmVuY2VOb2RlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3Vt -ZW50YXRpb24+U3BlY2lmaWVzIGEgcmVmZXJlbmNlIHdoaWNoIGJlbG9uZ3MgdG8gYSBub2RlLjwv -b3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBlSWQi -IFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0ludmVyc2Ui -IFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldElk -IiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl -Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQXJndW1lbnQiIEJhc2VUeXBlPSJ1YTpF -eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBhcmd1bWVudCBmb3Ig -YSBtZXRob2QuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUi -IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5cGUi -IFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZVJhbmsi -IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXJyYXlE -aW1lbnNpb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -QXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZB -cnJheURpbWVuc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlw -ZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog -IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRW51bVZhbHVlVHlwZSIgQmFzZVR5cGU9InVhOkV4 -dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgbWFwcGluZyBiZXR3ZWVu -IGEgdmFsdWUgb2YgYW4gZW51bWVyYXRlZCB0eXBlIGFuZCBhIG5hbWUgYW5kIGRlc2NyaXB0aW9u -Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5h -bWU9Im9wYzpJbnQ2NCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBl -TmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0 -aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJPcHRpb25TZXQiIEJhc2VUeXBlPSJ1 -YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGlzIGFic3RyYWN0 -IFN0cnVjdHVyZWQgRGF0YVR5cGUgaXMgdGhlIGJhc2UgRGF0YVR5cGUgZm9yIGFsbCBEYXRhVHlw -ZXMgcmVwcmVzZW50aW5nIGEgYml0IG1hc2suPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJWYWxpZEJpdHMiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAg -PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVbmlv -biIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u -PlRoaXMgYWJzdHJhY3QgRGF0YVR5cGUgaXMgdGhlIGJhc2UgRGF0YVR5cGUgZm9yIGFsbCB1bmlv -biBEYXRhVHlwZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ -DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9Ik5vcm1hbGl6ZWRTdHJpbmciPg0KICAgIDxvcGM6 -RG9jdW1lbnRhdGlvbj5BIHN0cmluZyBub3JtYWxpemVkIGJhc2VkIG9uIHRoZSBydWxlcyBpbiB0 -aGUgdW5pY29kZSBzcGVjaWZpY2F0aW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9w -YXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkRlY2ltYWxTdHJpbmciPg0KICAg -IDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBhcmJpdHJhdHkgbnVtZXJpYyB2YWx1ZS48L29wYzpEb2N1 -bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1l -PSJEdXJhdGlvblN0cmluZyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgcGVyaW9kIG9mIHRp -bWUgZm9ybWF0dGVkIGFzIGRlZmluZWQgaW4gSVNPIDg2MDEtMjAwMC48L29wYzpEb2N1bWVudGF0 -aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJUaW1l -U3RyaW5nIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSB0aW1lIGZvcm1hdHRlZCBhcyBkZWZp -bmVkIGluIElTTyA4NjAxLTIwMDAuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVl -VHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iRGF0ZVN0cmluZyI+DQogICAgPG9wYzpE -b2N1bWVudGF0aW9uPkEgZGF0ZSBmb3JtYXR0ZWQgYXMgZGVmaW5lZCBpbiBJU08gODYwMS0yMDAw -Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFx -dWVUeXBlIE5hbWU9IkR1cmF0aW9uIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBwZXJpb2Qg -b2YgdGltZSBtZWFzdXJlZCBpbiBtaWxsaXNlY29uZHMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAg -PC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iVXRjVGltZSI+DQog -ICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgZGF0ZS90aW1lIHZhbHVlIHNwZWNpZmllZCBpbiBVbml2 -ZXJzYWwgQ29vcmRpbmF0ZWQgVGltZSAoVVRDKS48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29w -YzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJMb2NhbGVJZCI+DQogICAg -PG9wYzpEb2N1bWVudGF0aW9uPkFuIGlkZW50aWZpZXIgZm9yIGEgdXNlciBsb2NhbGUuPC9vcGM6 -RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU -eXBlIE5hbWU9IlRpbWVab25lRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iT2Zmc2V0IiBUeXBlTmFtZT0ib3BjOkludDE2IiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iRGF5bGlnaHRTYXZpbmdJbk9mZnNldCIgVHlwZU5hbWU9Im9w -YzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5 -cGUgTmFtZT0iSW50ZWdlcklkIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBudW1lcmljIGlk -ZW50aWZpZXIgZm9yIGFuIG9iamVjdC48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFx -dWVUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iQXBwbGljYXRpb25UeXBlIiBM -ZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHR5cGVzIG9mIGFw -cGxpY2F0aW9ucy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9IlNlcnZlciIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt -ZT0iQ2xpZW50IiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJD -bGllbnRBbmRTZXJ2ZXIiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9IkRpc2NvdmVyeVNlcnZlciIgVmFsdWU9IjMiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBl -Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQXBwbGljYXRpb25EZXNjcmlwdGlvbiIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkRl -c2NyaWJlcyBhbiBhcHBsaWNhdGlvbiBhbmQgaG93IHRvIGZpbmQgaXQuPC9vcGM6RG9jdW1lbnRh -dGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFwcGxpY2F0aW9uVXJpIiBUeXBlTmFtZT0ib3Bj -OlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByb2R1Y3RVcmkiIFR5cGVOYW1lPSJv -cGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXBwbGljYXRpb25OYW1lIiBUeXBl -TmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFwcGxpY2F0 -aW9uVHlwZSIgVHlwZU5hbWU9InRuczpBcHBsaWNhdGlvblR5cGUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJHYXRld2F5U2VydmVyVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IkRpc2NvdmVyeVByb2ZpbGVVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5n -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpc2NvdmVyeVVybHMiIFR5cGVOYW1lPSJv -cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNjb3ZlcnlVcmxzIiBUeXBlTmFt -ZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaXNjb3ZlcnlVcmxzIiAvPg0KICA8L29w -YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlcXVlc3RI -ZWFkZXIiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRh -dGlvbj5UaGUgaGVhZGVyIHBhc3NlZCB3aXRoIGV2ZXJ5IHNlcnZlciByZXF1ZXN0Ljwvb3BjOkRv -Y3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdXRoZW50aWNhdGlvblRva2VuIiBU -eXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGltZXN0YW1wIiBU -eXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhh -bmRsZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXR1 -cm5EaWFnbm9zdGljcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJBdWRpdEVudHJ5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iVGltZW91dEhpbnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iQWRkaXRpb25hbEhlYWRlciIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVj -dCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJSZXNwb25zZUhlYWRlciIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg -PG9wYzpEb2N1bWVudGF0aW9uPlRoZSBoZWFkZXIgcGFzc2VkIHdpdGggZXZlcnkgc2VydmVyIHJl -c3BvbnNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lc3Rh -bXAiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 -ZXN0SGFuZGxlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlNlcnZpY2VSZXN1bHQiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iU2VydmljZURpYWdub3N0aWNzIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8i -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU3RyaW5nVGFibGUiIFR5cGVOYW1lPSJvcGM6 -SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdHJpbmdUYWJsZSIgVHlwZU5hbWU9Im9w -YzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mU3RyaW5nVGFibGUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJBZGRpdGlvbmFsSGVhZGVyIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -IlNlcnZpY2VGYXVsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpE -b2N1bWVudGF0aW9uPlRoZSByZXNwb25zZSByZXR1cm5lZCBieSBhbGwgc2VydmljZXMgd2hlbiB0 -aGVyZSBpcyBhIHNlcnZpY2UgbGV2ZWwgZXJyb3IuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVh -ZGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl -IE5hbWU9IkZpbmRTZXJ2ZXJzUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkZpbmRzIHRoZSBzZXJ2ZXJzIGtub3duIHRvIHRoZSBk -aXNjb3Zlcnkgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJOb09mTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVu -Z3RoRmllbGQ9Ik5vT2ZMb2NhbGVJZHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2Vy -dmVyVXJpcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNl -cnZlclVyaXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlclVy -aXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg -TmFtZT0iRmluZFNlcnZlcnNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkZpbmRzIHRoZSBzZXJ2ZXJzIGtub3duIHRvIHRoZSBk -aXNjb3Zlcnkgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iU2VydmVycyIgVHlwZU5hbWU9InRuczpBcHBsaWNhdGlvbkRlc2Ny -aXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlcnMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2VydmVyT25OZXR3b3JrIiBCYXNl -VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlY29yZElk -IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlck5h -bWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY292 -ZXJ5VXJsIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v -T2ZTZXJ2ZXJDYXBhYmlsaXRpZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJTZXJ2ZXJDYXBhYmlsaXRpZXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5n -dGhGaWVsZD0iTm9PZlNlcnZlckNhcGFiaWxpdGllcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJGaW5kU2VydmVyc09uTmV0d29ya1Jl -cXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iU3RhcnRpbmdSZWNvcmRJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhSZWNvcmRzVG9SZXR1cm4iIFR5cGVOYW1lPSJvcGM6 -VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlcnZlckNhcGFiaWxpdHlGaWx0 -ZXIiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJD -YXBhYmlsaXR5RmlsdGVyIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZT -ZXJ2ZXJDYXBhYmlsaXR5RmlsdGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 -b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVzcG9uc2UiIEJh -c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9u -c2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJMYXN0Q291bnRlclJlc2V0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVycyIgVHlwZU5hbWU9InRuczpTZXJ2ZXJPbk5l -dHdvcmsiIExlbmd0aEZpZWxkPSJOb09mU2VydmVycyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkFwcGxpY2F0aW9uSW5zdGFuY2VDZXJ0aWZp -Y2F0ZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgY2VydGlmaWNhdGUgZm9yIGFuIGluc3Rh -bmNlIG9mIGFuIGFwcGxpY2F0aW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1 -ZVR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJNZXNzYWdlU2VjdXJpdHlNb2Rl -IiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHR5cGUgb2Yg -c2VjdXJpdHkgdG8gdXNlIG9uIGEgbWVzc2FnZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkludmFsaWQiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6 -RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVy -YXRlZFZhbHVlIE5hbWU9IlNpZ24iIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh -bHVlIE5hbWU9IlNpZ25BbmRFbmNyeXB0IiBWYWx1ZT0iMyIgLz4NCiAgPC9vcGM6RW51bWVyYXRl -ZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJVc2VyVG9rZW5UeXBlIiBMZW5n -dGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHBvc3NpYmxlIHVzZXIg -dG9rZW4gdHlwZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJBbm9ueW1vdXMiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9IlVzZXJOYW1lIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO -YW1lPSJDZXJ0aWZpY2F0ZSIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iSXNzdWVkVG9rZW4iIFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9IktlcmJlcm9zIiBWYWx1ZT0iNCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVc2VyVG9rZW5Qb2xpY3kiIEJhc2VUeXBlPSJ1 -YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5EZXNjcmliZXMgYSB1 -c2VyIHRva2VuIHRoYXQgY2FuIGJlIHVzZWQgd2l0aCBhIHNlcnZlci48L29wYzpEb2N1bWVudGF0 -aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUG9saWN5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5n -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVG9rZW5UeXBlIiBUeXBlTmFtZT0idG5zOlVzZXJU -b2tlblR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc3N1ZWRUb2tlblR5cGUiIFR5cGVO -YW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNzdWVyRW5kcG9pbnRV -cmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJp -dHlQb2xpY3lVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkVuZHBvaW50RGVzY3JpcHRpb24i -IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5U -aGUgZGVzY3JpcHRpb24gb2YgYSBlbmRwb2ludCB0aGF0IGNhbiBiZSB1c2VkIHRvIGFjY2VzcyBh -IHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kcG9p -bnRVcmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vy -dmVyIiBUeXBlTmFtZT0idG5zOkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJTZXJ2ZXJDZXJ0aWZpY2F0ZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlNb2RlIiBUeXBlTmFtZT0idG5zOk1lc3Nh -Z2VTZWN1cml0eU1vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eVBvbGljeVVy -aSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVXNl -cklkZW50aXR5VG9rZW5zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iVXNlcklkZW50aXR5VG9rZW5zIiBUeXBlTmFtZT0idG5zOlVzZXJUb2tlblBvbGljeSIg -TGVuZ3RoRmllbGQ9Ik5vT2ZVc2VySWRlbnRpdHlUb2tlbnMiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJUcmFuc3BvcnRQcm9maWxlVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TGV2ZWwiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAg -PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJHZXRF -bmRwb2ludHNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj -OkRvY3VtZW50YXRpb24+R2V0cyB0aGUgZW5kcG9pbnRzIHVzZWQgYnkgdGhlIHNlcnZlci48L29w -YzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlw -ZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kcG9p -bnRVcmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P -ZkxvY2FsZUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkxvY2FsZUlkcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mTG9jYWxl -SWRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlByb2ZpbGVVcmlzIiBUeXBlTmFtZT0i -b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJvZmlsZVVyaXMiIFR5cGVOYW1l -PSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlByb2ZpbGVVcmlzIiAvPg0KICA8L29wYzpT -dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkdldEVuZHBvaW50 -c1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3Vt -ZW50YXRpb24+R2V0cyB0aGUgZW5kcG9pbnRzIHVzZWQgYnkgdGhlIHNlcnZlci48L29wYzpEb2N1 -bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1l -PSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRW5kcG9p -bnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kcG9p -bnRzIiBUeXBlTmFtZT0idG5zOkVuZHBvaW50RGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09m -RW5kcG9pbnRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy -ZWRUeXBlIE5hbWU9IlJlZ2lzdGVyZWRTZXJ2ZXIiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl -Y3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgaW5mb3JtYXRpb24gcmVxdWlyZWQgdG8g -cmVnaXN0ZXIgYSBzZXJ2ZXIgd2l0aCBhIGRpc2NvdmVyeSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRh -dGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclVyaSIgVHlwZU5hbWU9Im9wYzpTdHJp -bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcm9kdWN0VXJpIiBUeXBlTmFtZT0ib3BjOlN0 -cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJOYW1lcyIgVHlwZU5hbWU9 -Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlck5hbWVzIiBUeXBlTmFt -ZT0idWE6TG9jYWxpemVkVGV4dCIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJOYW1lcyIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclR5cGUiIFR5cGVOYW1lPSJ0bnM6QXBwbGljYXRpb25U -eXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iR2F0ZXdheVNlcnZlclVyaSIgVHlwZU5hbWU9 -Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlzY292ZXJ5VXJscyIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2NvdmVyeVVy -bHMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZkRpc2NvdmVyeVVybHMi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZW1hcGhvcmVGaWxlUGF0aCIgVHlwZU5hbWU9Im9w -YzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc09ubGluZSIgVHlwZU5hbWU9Im9w -YzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy -ZWRUeXBlIE5hbWU9IlJlZ2lzdGVyU2VydmVyUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lv -bk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlJlZ2lzdGVycyBhIHNlcnZlciB3aXRo -IHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXIiIFR5cGVOYW1lPSJ0bnM6UmVnaXN0ZXJlZFNlcnZl -ciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJSZWdpc3RlclNlcnZlclJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 -Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+UmVnaXN0ZXJzIGEgc2VydmVyIHdpdGggdGhlIGRp -c2NvdmVyeSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICA8L29w -YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRpc2NvdmVy -eUNvbmZpZ3VyYXRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 -RG9jdW1lbnRhdGlvbj5BIGJhc2UgdHlwZSBmb3IgZGlzY292ZXJ5IGNvbmZpZ3VyYXRpb24gaW5m -b3JtYXRpb24uPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNZG5zRGlzY292ZXJ5Q29uZmlndXJhdGlvbiIg -QmFzZVR5cGU9InRuczpEaXNjb3ZlcnlDb25maWd1cmF0aW9uIj4NCiAgICA8b3BjOkRvY3VtZW50 -YXRpb24+VGhlIGRpc2NvdmVyeSBpbmZvcm1hdGlvbiBuZWVkZWQgZm9yIG1ETlMgcmVnaXN0cmF0 -aW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZG5zU2VydmVy -TmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m -U2VydmVyQ2FwYWJpbGl0aWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iU2VydmVyQ2FwYWJpbGl0aWVzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3Ro -RmllbGQ9Ik5vT2ZTZXJ2ZXJDYXBhYmlsaXRpZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl -Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVnaXN0ZXJTZXJ2ZXIyUmVxdWVzdCIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 -ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJTZXJ2ZXIiIFR5cGVOYW1lPSJ0bnM6UmVnaXN0ZXJlZFNlcnZlciIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiBUeXBlTmFtZT0ib3Bj -OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY292ZXJ5Q29uZmlndXJhdGlvbiIg -VHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaXNjb3ZlcnlD -b25maWd1cmF0aW9uIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj -dHVyZWRUeXBlIE5hbWU9IlJlZ2lzdGVyU2VydmVyMlJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0 -ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBl -TmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkNv -bmZpZ3VyYXRpb25SZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iQ29uZmlndXJhdGlvblJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBM -ZW5ndGhGaWVsZD0iTm9PZkNvbmZpZ3VyYXRpb25SZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJ -bmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0 -dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJTZWN1cml0eVRva2VuUmVx -dWVzdFR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5JbmRp -Y2F0ZXMgd2hldGhlciBhIHRva2VuIGlmIGJlaW5nIGNyZWF0ZWQgb3IgcmVuZXdlZC48L29wYzpE -b2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Iklzc3VlIiBWYWx1 -ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZW5ldyIgVmFsdWU9IjEi -IC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt -ZT0iQ2hhbm5lbFNlY3VyaXR5VG9rZW4iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K -ICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgdG9rZW4gdGhhdCBpZGVudGlmaWVzIGEgc2V0IG9m -IGtleXMgZm9yIGFuIGFjdGl2ZSBzZWN1cmUgY2hhbm5lbC48L29wYzpEb2N1bWVudGF0aW9uPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iQ2hhbm5lbElkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlRva2VuSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iQ3JlYXRlZEF0IiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZExpZmV0aW1lIiBUeXBlTmFtZT0ib3BjOlVJ -bnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJPcGVuU2VjdXJlQ2hhbm5lbFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P -YmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5DcmVhdGVzIGEgc2VjdXJlIGNoYW5uZWwg -d2l0aCBhIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iQ2xpZW50UHJvdG9jb2xWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RUeXBlIiBUeXBlTmFtZT0idG5zOlNlY3Vy -aXR5VG9rZW5SZXF1ZXN0VHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TW9k -ZSIgVHlwZU5hbWU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iQ2xpZW50Tm9uY2UiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlJlcXVlc3RlZExpZmV0aW1lIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJP -cGVuU2VjdXJlQ2hhbm5lbFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q3JlYXRlcyBhIHNlY3VyZSBjaGFubmVsIHdpdGggYSBz -ZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNl -SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iU2VydmVyUHJvdG9jb2xWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5VG9rZW4iIFR5cGVOYW1lPSJ0bnM6Q2hhbm5lbFNl -Y3VyaXR5VG9rZW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJOb25jZSIgVHlwZU5h -bWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -OlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNsb3NlU2VjdXJlQ2hhbm5lbFJlcXVlc3QiIEJhc2VUeXBl -PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5DbG9zZXMgYSBz -ZWN1cmUgY2hhbm5lbC48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICA8L29wYzpT -dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNsb3NlU2VjdXJl -Q2hhbm5lbFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj -OkRvY3VtZW50YXRpb24+Q2xvc2VzIGEgc2VjdXJlIGNoYW5uZWwuPC9vcGM6RG9jdW1lbnRhdGlv -bj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJl -c3BvbnNlSGVhZGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj -dHVyZWRUeXBlIE5hbWU9IlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiIEJhc2VUeXBlPSJ1YTpF -eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHNvZnR3YXJlIGNlcnRp -ZmljYXRlIHdpdGggYSBkaWdpdGFsIHNpZ25hdHVyZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iQ2VydGlmaWNhdGVEYXRhIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJp -bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTaWduYXR1cmUiIFR5cGVOYW1lPSJvcGM6Qnl0 -ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBl -IE5hbWU9IlNlc3Npb25BdXRoZW50aWNhdGlvblRva2VuIj4NCiAgICA8b3BjOkRvY3VtZW50YXRp -b24+QSB1bmlxdWUgaWRlbnRpZmllciBmb3IgYSBzZXNzaW9uIHVzZWQgdG8gYXV0aGVudGljYXRl -IHJlcXVlc3RzLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAg -PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTaWduYXR1cmVEYXRhIiBCYXNlVHlwZT0idWE6RXh0 -ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBkaWdpdGFsIHNpZ25hdHVy -ZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWxnb3JpdGhtIiBU -eXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNpZ25hdHVyZSIg -VHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNyZWF0ZVNlc3Npb25SZXF1ZXN0IiBCYXNlVHlw -ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q3JlYXRlcyBh -IG5ldyBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50RGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ0 -bnM6QXBwbGljYXRpb25EZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZl -clVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRw -b2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT -ZXNzaW9uTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJDbGllbnROb25jZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iQ2xpZW50Q2VydGlmaWNhdGUiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZFNlc3Npb25UaW1lb3V0IiBUeXBlTmFtZT0i -b3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heFJlc3BvbnNlTWVzc2FnZVNp -emUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNyZWF0ZVNlc3Npb25SZXNwb25zZSIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkNyZWF0ZXMg -YSBuZXcgc2Vzc2lvbiB3aXRoIHRoZSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVh -ZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6Tm9k -ZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXV0aGVudGljYXRpb25Ub2tlbiIgVHlwZU5h -bWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRTZXNzaW9uVGlt -ZW91dCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2 -ZXJOb25jZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iU2VydmVyQ2VydGlmaWNhdGUiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJFbmRwb2ludHMiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJFbmRwb2ludHMiIFR5cGVOYW1lPSJ0bnM6 -RW5kcG9pbnREZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJFbmRwb2ludHMiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VydmVyU29mdHdhcmVDZXJ0aWZpY2F0ZXMiIFR5 -cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJTb2Z0d2Fy -ZUNlcnRpZmljYXRlcyIgVHlwZU5hbWU9InRuczpTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiBM -ZW5ndGhGaWVsZD0iTm9PZlNlcnZlclNvZnR3YXJlQ2VydGlmaWNhdGVzIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iU2VydmVyU2lnbmF0dXJlIiBUeXBlTmFtZT0idG5zOlNpZ25hdHVyZURhdGEi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhSZXF1ZXN0TWVzc2FnZVNpemUiIFR5cGVOYW1l -PSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj -dHVyZWRUeXBlIE5hbWU9IlVzZXJJZGVudGl0eVRva2VuIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u -T2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBiYXNlIHR5cGUgZm9yIGEgdXNlciBp -ZGVudGl0eSB0b2tlbi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UG9saWN5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw -ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFub255bW91c0lkZW50aXR5VG9rZW4i -IEJhc2VUeXBlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlv -bj5BIHRva2VuIHJlcHJlc2VudGluZyBhbiBhbm9ueW1vdXMgdXNlci48L29wYzpEb2N1bWVudGF0 -aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUG9saWN5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5n -IiBTb3VyY2VUeXBlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVXNlck5hbWVJZGVudGl0eVRv -a2VuIiBCYXNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIj4NCiAgICA8b3BjOkRvY3VtZW50 -YXRpb24+QSB0b2tlbiByZXByZXNlbnRpbmcgYSB1c2VyIGlkZW50aWZpZWQgYnkgYSB1c2VyIG5h -bWUgYW5kIHBhc3N3b3JkLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJQb2xpY3lJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIFNvdXJjZVR5cGU9InRuczpVc2VySWRl -bnRpdHlUb2tlbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJOYW1lIiBUeXBlTmFtZT0i -b3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBhc3N3b3JkIiBUeXBlTmFtZT0i -b3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmNyeXB0aW9uQWxnb3Jp -dGhtIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJYNTA5SWRlbnRpdHlUb2tlbiIgQmFzZVR5cGU9 -InRuczpVc2VySWRlbnRpdHlUb2tlbiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgdG9rZW4g -cmVwcmVzZW50aW5nIGEgdXNlciBpZGVudGlmaWVkIGJ5IGFuIFg1MDkgY2VydGlmaWNhdGUuPC9v -cGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBvbGljeUlkIiBUeXBlTmFt -ZT0ib3BjOlN0cmluZyIgU291cmNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iQ2VydGlmaWNhdGVEYXRhIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJp -bmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg -TmFtZT0iS2VyYmVyb3NJZGVudGl0eVRva2VuIiBCYXNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRv -a2VuIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBvbGljeUlkIiBUeXBlTmFtZT0ib3BjOlN0cmlu -ZyIgU291cmNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iVGlja2V0RGF0YSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpT -dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Iklzc3VlZElkZW50 -aXR5VG9rZW4iIEJhc2VUeXBlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgIDxvcGM6RG9j -dW1lbnRhdGlvbj5BIHRva2VuIHJlcHJlc2VudGluZyBhIHVzZXIgaWRlbnRpZmllZCBieSBhIFdT -LVNlY3VyaXR5IFhNTCB0b2tlbi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iUG9saWN5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBTb3VyY2VUeXBlPSJ0bnM6VXNl -cklkZW50aXR5VG9rZW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUb2tlbkRhdGEiIFR5cGVO -YW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuY3J5cHRpb25B -bGdvcml0aG0iIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw -ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFjdGl2YXRlU2Vzc2lvblJlcXVlc3Qi -IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5B -Y3RpdmF0ZXMgYSBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0 -SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50U2lnbmF0dXJlIiBUeXBlTmFt -ZT0idG5zOlNpZ25hdHVyZURhdGEiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQ2xpZW50 -U29mdHdhcmVDZXJ0aWZpY2F0ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJDbGllbnRTb2Z0d2FyZUNlcnRpZmljYXRlcyIgVHlwZU5hbWU9InRuczpTaWdu -ZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiBMZW5ndGhGaWVsZD0iTm9PZkNsaWVudFNvZnR3YXJlQ2Vy -dGlmaWNhdGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxvY2FsZUlkcyIgVHlwZU5h -bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsZUlkcyIgVHlwZU5h -bWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mTG9jYWxlSWRzIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iVXNlcklkZW50aXR5VG9rZW4iIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmpl -Y3QiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyVG9rZW5TaWduYXR1cmUiIFR5cGVOYW1l -PSJ0bnM6U2lnbmF0dXJlRGF0YSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w -YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBY3RpdmF0ZVNlc3Npb25SZXNwb25zZSIgQmFzZVR5cGU9 -InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkFjdGl2YXRlcyBh -IHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlck5vbmNlIiBUeXBlTmFtZT0ib3BjOkJ5dGVT -dHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9w -YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpT -dGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0lu -Zm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNsb3NlU2Vzc2lvblJlcXVl -c3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlv -bj5DbG9zZXMgYSBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0 -SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVsZXRlU3Vic2NyaXB0aW9ucyIgVHlw -ZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -OlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNsb3NlU2Vzc2lvblJlc3BvbnNlIiBCYXNlVHlwZT0idWE6 -RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q2xvc2VzIGEgc2Vzc2lv -biB3aXRoIHRoZSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICA8 -L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNhbmNl -bFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1l -bnRhdGlvbj5DYW5jZWxzIGFuIG91dHN0YW5kaW5nIHJlcXVlc3QuPC9vcGM6RG9jdW1lbnRhdGlv -bj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVx -dWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIYW5kbGUiIFR5cGVO -YW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 -cnVjdHVyZWRUeXBlIE5hbWU9IkNhbmNlbFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u -T2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q2FuY2VscyBhbiBvdXRzdGFuZGluZyBy -ZXF1ZXN0Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25z -ZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkNhbmNlbENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJOb2RlQXR0cmlidXRl -c01hc2siIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYml0 -cyB1c2VkIHRvIHNwZWNpZnkgZGVmYXVsdCBhdHRyaWJ1dGVzIGZvciBhIG5ldyBub2RlLjwvb3Bj -OkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFs -dWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQWNjZXNzTGV2ZWwiIFZh -bHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFycmF5RGltZW5zaW9u -cyIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQnJvd3NlTmFt -ZSIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ29udGFpbnNO -b0xvb3BzIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEYXRh -VHlwZSIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRlc2Ny -aXB0aW9uIiBWYWx1ZT0iMzIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGlz -cGxheU5hbWUiIFZhbHVlPSI2NCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJF -dmVudE5vdGlmaWVyIiBWYWx1ZT0iMTI4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9IkV4ZWN1dGFibGUiIFZhbHVlPSIyNTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iSGlzdG9yaXppbmciIFZhbHVlPSI1MTIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs -dWUgTmFtZT0iSW52ZXJzZU5hbWUiIFZhbHVlPSIxMDI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRl -ZFZhbHVlIE5hbWU9IklzQWJzdHJhY3QiIFZhbHVlPSIyMDQ4IiAvPg0KICAgIDxvcGM6RW51bWVy -YXRlZFZhbHVlIE5hbWU9Ik1pbmltdW1TYW1wbGluZ0ludGVydmFsIiBWYWx1ZT0iNDA5NiIgLz4N -CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlQ2xhc3MiIFZhbHVlPSI4MTkyIiAv -Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vZGVJZCIgVmFsdWU9IjE2Mzg0IiAv -Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN5bW1ldHJpYyIgVmFsdWU9IjMyNzY4 -IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVzZXJBY2Nlc3NMZXZlbCIgVmFs -dWU9IjY1NTM2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVzZXJFeGVjdXRh -YmxlIiBWYWx1ZT0iMTMxMDcyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVz -ZXJXcml0ZU1hc2siIFZhbHVlPSIyNjIxNDQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iVmFsdWVSYW5rIiBWYWx1ZT0iNTI0Mjg4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh -bHVlIE5hbWU9IldyaXRlTWFzayIgVmFsdWU9IjEwNDg1NzYiIC8+DQogICAgPG9wYzpFbnVtZXJh -dGVkVmFsdWUgTmFtZT0iVmFsdWUiIFZhbHVlPSIyMDk3MTUyIiAvPg0KICAgIDxvcGM6RW51bWVy -YXRlZFZhbHVlIE5hbWU9IkFsbCIgVmFsdWU9IjQxOTQzMDMiIC8+DQogICAgPG9wYzpFbnVtZXJh -dGVkVmFsdWUgTmFtZT0iQmFzZU5vZGUiIFZhbHVlPSIxMzM1Mzk2IiAvPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9Ik9iamVjdCIgVmFsdWU9IjEzMzU1MjQiIC8+DQogICAgPG9wYzpF -bnVtZXJhdGVkVmFsdWUgTmFtZT0iT2JqZWN0VHlwZU9yRGF0YVR5cGUiIFZhbHVlPSIxMzM3NDQ0 -IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZhcmlhYmxlIiBWYWx1ZT0iNDAy -Njk5OSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJWYXJpYWJsZVR5cGUiIFZh -bHVlPSIzOTU4OTAyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik1ldGhvZCIg -VmFsdWU9IjE0NjY3MjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJl -bmNlVHlwZSIgVmFsdWU9IjEzNzEyMzYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt -ZT0iVmlldyIgVmFsdWU9IjEzMzU1MzIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQog -IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm9kZUF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ1YTpF -eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYmFzZSBhdHRyaWJ1 -dGVzIGZvciBhbGwgbm9kZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6 -ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3Bj -OlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1l -PSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj -dHVyZWRUeXBlIE5hbWU9Ik9iamVjdEF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0dHJp -YnV0ZXMiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYW4gb2Jq -ZWN0IG5vZGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNwZWNp -ZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9k -ZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5h -bWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVk -VGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5v -ZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlw -ZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50Tm90aWZpZXIiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJW -YXJpYWJsZUF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgIDxv -cGM6RG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSB2YXJpYWJsZSBub2RlLjwvb3Bj -OkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVz -IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6 -ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5 -cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFz -ayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJEYXRhVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlZhbHVlUmFuayIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -Ik5vT2ZBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhG -aWVsZD0iTm9PZkFycmF5RGltZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFjY2Vz -c0xldmVsIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2Vy -QWNjZXNzTGV2ZWwiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -Ik1pbmltdW1TYW1wbGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ikhpc3Rvcml6aW5nIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTWV0 -aG9kQXR0cmlidXRlcyIgQmFzZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpE -b2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVzIGZvciBhIG1ldGhvZCBub2RlLjwvb3BjOkRvY3Vt -ZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiBUeXBl -TmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0 -IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRu -czpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlw -ZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBT -b3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJF -eGVjdXRhYmxlIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJVc2VyRXhlY3V0YWJsZSIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik9iamVjdFR5cGVBdHRy -aWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICA8b3BjOkRvY3VtZW50 -YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGFuIG9iamVjdCB0eXBlIG5vZGUuPC9vcGM6RG9jdW1l -bnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVO -YW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQi -IFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5z -Ok5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBl -TmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNv -dXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Iklz -QWJzdHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJWYXJpYWJsZVR5cGVBdHRyaWJ1dGVz -IiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+ -VGhlIGF0dHJpYnV0ZXMgZm9yIGEgdmFyaWFibGUgdHlwZSBub2RlLjwvb3BjOkRvY3VtZW50YXRp -b24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0i -b3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3Vy -Y2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNj -cmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2Rl -QXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9 -Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VU -eXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIg -VHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZSIg -VHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlUmFuayIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBcnJheURp -bWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJB -cnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkFy -cmF5RGltZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5cGVO -YW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT -dHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWZlcmVuY2VUeXBlQXR0cmlidXRlcyIgQmFzZVR5cGU9InRu -czpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVz -IGZvciBhIHJlZmVyZW5jZSB0eXBlIG5vZGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBT -b3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE -aXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpO -b2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBl -TmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg -U291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -VXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2Rl -QXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5cGVOYW1l -PSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN5bW1ldHJpYyIgVHlwZU5h -bWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW52ZXJzZU5hbWUiIFR5 -cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFUeXBlQXR0cmlidXRlcyIgQmFzZVR5cGU9 -InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1 -dGVzIGZvciBhIGRhdGEgdHlwZSBub2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291 -cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlz -cGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9k -ZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5h -bWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNv -dXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVz -ZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0 -dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0Fic3RyYWN0IiBUeXBlTmFtZT0i -b3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 -dXJlZFR5cGUgTmFtZT0iVmlld0F0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0 -ZXMiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSB2aWV3IG5v -ZGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNwZWNpZmllZEF0 -dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJp -YnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVh -OkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIg -U291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -V3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRy -aWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9 -Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IkNvbnRhaW5zTm9Mb29wcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnROb3RpZmllciIgVHlwZU5hbWU9Im9wYzpCeXRlIiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -IkFkZE5vZGVzSXRlbSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpE -b2N1bWVudGF0aW9uPkEgcmVxdWVzdCB0byBhZGQgYSBub2RlIHRvIHRoZSBzZXJ2ZXIgYWRkcmVz -cyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGFyZW50 -Tm9kZUlkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJSZWZlcmVuY2VUeXBlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJSZXF1ZXN0ZWROZXdOb2RlSWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJ -ZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFs -aWZpZWROYW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0i -dG5zOk5vZGVDbGFzcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVBdHRyaWJ1dGVzIiBU -eXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHlw -ZURlZmluaXRpb24iIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBZGROb2Rlc1Jlc3Vs -dCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u -PkEgcmVzdWx0IG9mIGFuIGFkZCBub2RlIG9wZXJhdGlvbi48L29wYzpEb2N1bWVudGF0aW9uPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGRlZE5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJ -ZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJBZGROb2Rlc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg -IDxvcGM6RG9jdW1lbnRhdGlvbj5BZGRzIG9uZSBvciBtb3JlIG5vZGVzIHRvIHRoZSBzZXJ2ZXIg -YWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iTm9PZk5vZGVzVG9BZGQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJOb2Rlc1RvQWRkIiBUeXBlTmFtZT0idG5zOkFkZE5vZGVzSXRlbSIg -TGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvQWRkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N -Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFkZE5vZGVzUmVzcG9uc2UiIEJhc2VUeXBl -PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BZGRzIG9uZSBv -ciBtb3JlIG5vZGVzIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0 -aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6 -UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlw -ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVO -YW1lPSJ0bnM6QWRkTm9kZXNSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50 -MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1 -YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWRk -UmVmZXJlbmNlc0l0ZW0iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 -RG9jdW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8gYWRkIGEgcmVmZXJlbmNlIHRvIHRoZSBzZXJ2ZXIg -YWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -U291cmNlTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iUmVmZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iSXNGb3J3YXJkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJUYXJnZXRTZXJ2ZXJVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iVGFyZ2V0Tm9kZUlkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2Rl -SWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUYXJnZXROb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0 -bnM6Tm9kZUNsYXNzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj -dHVyZWRUeXBlIE5hbWU9IkFkZFJlZmVyZW5jZXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5z -aW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QWRkcyBvbmUgb3IgbW9yZSByZWZl -cmVuY2VzIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0 -SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXNUb0FkZCIgVHlw -ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXNUb0Fk -ZCIgVHlwZU5hbWU9InRuczpBZGRSZWZlcmVuY2VzSXRlbSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZl -cmVuY2VzVG9BZGQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 -dXJlZFR5cGUgTmFtZT0iQWRkUmVmZXJlbmNlc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5z -aW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QWRkcyBvbmUgb3IgbW9yZSByZWZl -cmVuY2VzIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9u -c2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9 -Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1 -YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3Rp -Y0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZU5vZGVzSXRl -bSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u -PkEgcmVxdWVzdCB0byBkZWxldGUgYSBub2RlIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48 -L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFt -ZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVsZXRlVGFyZ2V0UmVmZXJl -bmNlcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N -Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZU5vZGVzUmVxdWVzdCIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkRlbGV0ZSBv -bmUgb3IgbW9yZSBub2RlcyBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1 -bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9 -InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVzVG9E -ZWxldGUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rl -c1RvRGVsZXRlIiBUeXBlTmFtZT0idG5zOkRlbGV0ZU5vZGVzSXRlbSIgTGVuZ3RoRmllbGQ9Ik5v -T2ZOb2Rlc1RvRGVsZXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 -cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZU5vZGVzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRl -bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5EZWxldGUgb25lIG9yIG1vcmUg -bm9kZXMgZnJvbSB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3Bv -bnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0i -dWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0 -aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVSZWZlcmVu -Y2VzSXRlbSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVu -dGF0aW9uPkEgcmVxdWVzdCB0byBkZWxldGUgYSBub2RlIGZyb20gdGhlIHNlcnZlciBhZGRyZXNz -IHNwYWNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTb3VyY2VO -b2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZl -cmVuY2VUeXBlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJJc0ZvcndhcmQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlRhcmdldE5vZGVJZCIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iRGVsZXRlQmlkaXJlY3Rpb25hbCIgVHlwZU5hbWU9Im9wYzpCb29sZWFu -IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9IkRlbGV0ZVJlZmVyZW5jZXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 -Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+RGVsZXRlIG9uZSBvciBtb3JlIHJlZmVyZW5jZXMg -ZnJvbSB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRl -ciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzVG9EZWxldGUiIFR5cGVO -YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzVG9EZWxl -dGUiIFR5cGVOYW1lPSJ0bnM6RGVsZXRlUmVmZXJlbmNlc0l0ZW0iIExlbmd0aEZpZWxkPSJOb09m -UmVmZXJlbmNlc1RvRGVsZXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -OlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNSZXNwb25zZSIgQmFzZVR5cGU9 -InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkRlbGV0ZSBvbmUg -b3IgbW9yZSByZWZlcmVuY2VzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRv -Y3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5h -bWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1 -bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0 -cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6 -SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1l -PSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+ -DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0i -QXR0cmlidXRlV3JpdGVNYXNrIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50 -YXRpb24+RGVmaW5lIGJpdHMgdXNlZCB0byBpbmRpY2F0ZSB3aGljaCBhdHRyaWJ1dGVzIGFyZSB3 -cml0YWJsZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFj -Y2Vzc0xldmVsIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJB -cnJheURpbWVuc2lvbnMiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9IkJyb3dzZU5hbWUiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9IkNvbnRhaW5zTm9Mb29wcyIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs -dWUgTmFtZT0iRGF0YVR5cGUiIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJEZXNjcmlwdGlvbiIgVmFsdWU9IjMyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh -bHVlIE5hbWU9IkRpc3BsYXlOYW1lIiBWYWx1ZT0iNjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk -VmFsdWUgTmFtZT0iRXZlbnROb3RpZmllciIgVmFsdWU9IjEyOCIgLz4NCiAgICA8b3BjOkVudW1l -cmF0ZWRWYWx1ZSBOYW1lPSJFeGVjdXRhYmxlIiBWYWx1ZT0iMjU2IiAvPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9Ikhpc3Rvcml6aW5nIiBWYWx1ZT0iNTEyIiAvPg0KICAgIDxvcGM6 -RW51bWVyYXRlZFZhbHVlIE5hbWU9IkludmVyc2VOYW1lIiBWYWx1ZT0iMTAyNCIgLz4NCiAgICA8 -b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJc0Fic3RyYWN0IiBWYWx1ZT0iMjA0OCIgLz4NCiAg -ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbCIgVmFs -dWU9IjQwOTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9kZUNsYXNzIiBW -YWx1ZT0iODE5MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlSWQiIFZh -bHVlPSIxNjM4NCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTeW1tZXRyaWMi -IFZhbHVlPSIzMjc2OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVc2VyQWNj -ZXNzTGV2ZWwiIFZhbHVlPSI2NTUzNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l -PSJVc2VyRXhlY3V0YWJsZSIgVmFsdWU9IjEzMTA3MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJVc2VyV3JpdGVNYXNrIiBWYWx1ZT0iMjYyMTQ0IiAvPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9IlZhbHVlUmFuayIgVmFsdWU9IjUyNDI4OCIgLz4NCiAgICA8b3Bj -OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJXcml0ZU1hc2siIFZhbHVlPSIxMDQ4NTc2IiAvPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZhbHVlRm9yVmFyaWFibGVUeXBlIiBWYWx1ZT0i -MjA5NzE1MiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVk -VHlwZSBOYW1lPSJCcm93c2VEaXJlY3Rpb24iIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6 -RG9jdW1lbnRhdGlvbj5UaGUgZGlyZWN0aW9ucyBvZiB0aGUgcmVmZXJlbmNlcyB0byByZXR1cm4u -PC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJGb3J3 -YXJkIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnZlcnNl -IiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCb3RoIiBWYWx1 -ZT0iMiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJWaWV3RGVzY3JpcHRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K -ICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgdmlldyB0byBicm93c2UuPC9vcGM6RG9jdW1lbnRh -dGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZpZXdJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRpbWVzdGFtcCIgVHlwZU5hbWU9Im9wYzpEYXRlVGlt -ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZpZXdWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlVJ -bnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJCcm93c2VEZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgcmVxdWVzdCB0byBicm93c2UgdGhlIHRoZSByZWZl -cmVuY2VzIGZyb20gYSBub2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJCcm93c2VEaXJlY3Rpb24iIFR5cGVOYW1lPSJ0bnM6QnJvd3NlRGlyZWN0aW9uIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5jbHVkZVN1YnR5cGVzIiBUeXBlTmFtZT0ib3BjOkJv -b2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3NNYXNrIiBUeXBlTmFtZT0i -b3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdE1hc2siIFR5cGVOYW1l -PSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1l -cmF0ZWRUeXBlIE5hbWU9IkJyb3dzZVJlc3VsdE1hc2siIExlbmd0aEluQml0cz0iMzIiPg0KICAg -IDxvcGM6RG9jdW1lbnRhdGlvbj5BIGJpdCBtYXNrIHdoaWNoIHNwZWNpZmllcyB3aGF0IHNob3Vs -ZCBiZSByZXR1cm5lZCBpbiBhIGJyb3dzZSByZXNwb25zZS48L29wYzpEb2N1bWVudGF0aW9uPg0K -ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgVmFsdWU9IjEiIC8+DQog -ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNGb3J3YXJkIiBWYWx1ZT0iMiIgLz4NCiAg -ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlQ2xhc3MiIFZhbHVlPSI0IiAvPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJyb3dzZU5hbWUiIFZhbHVlPSI4IiAvPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRpc3BsYXlOYW1lIiBWYWx1ZT0iMTYiIC8+DQog -ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVHlwZURlZmluaXRpb24iIFZhbHVlPSIzMiIg -Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBbGwiIFZhbHVlPSI2MyIgLz4NCiAg -ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWZlcmVuY2VUeXBlSW5mbyIgVmFsdWU9IjMi -IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVGFyZ2V0SW5mbyIgVmFsdWU9IjYw -IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9IlJlZmVyZW5jZURlc2NyaXB0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIGRlc2NyaXB0aW9uIG9mIGEgcmVmZXJlbmNlLjwv -b3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBlSWQi -IFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0ZvcndhcmQi -IFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIg -VHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJv -d3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNzIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iVHlwZURlZmluaXRpb24iIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5v -ZGVJZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5h -bWU9IkNvbnRpbnVhdGlvblBvaW50Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QW4gaWRlbnRp -ZmllciBmb3IgYSBzdXNwZW5kZWQgcXVlcnkgb3IgYnJvd3NlIG9wZXJhdGlvbi48L29wYzpEb2N1 -bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg -TmFtZT0iQnJvd3NlUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8 -b3BjOkRvY3VtZW50YXRpb24+VGhlIHJlc3VsdCBvZiBhIGJyb3dzZSBvcGVyYXRpb24uPC9vcGM6 -RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1l -PSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29udGludWF0aW9uUG9p -bnQiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v -T2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VEZXNjcmlwdGlvbiIgTGVuZ3Ro -RmllbGQ9Ik5vT2ZSZWZlcmVuY2VzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 -b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb3dzZVJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRl -bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5Ccm93c2UgdGhlIHJlZmVyZW5j -ZXMgZm9yIG9uZSBvciBtb3JlIG5vZGVzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwv -b3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBU -eXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWaWV3 -IiBUeXBlTmFtZT0idG5zOlZpZXdEZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlJlcXVlc3RlZE1heFJlZmVyZW5jZXNQZXJOb2RlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOb2Rlc1RvQnJvd3NlIiBUeXBlTmFtZT0ib3BjOklu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZXNUb0Jyb3dzZSIgVHlwZU5hbWU9InRu -czpCcm93c2VEZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvQnJvd3NlIiAvPg0K -ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJy -b3dzZVJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRv -Y3VtZW50YXRpb24+QnJvd3NlIHRoZSByZWZlcmVuY2VzIGZvciBvbmUgb3IgbW9yZSBub2RlcyBm -cm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFk -ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJ -bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6QnJv -d3NlUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0lu -Zm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb3dzZU5leHRSZXF1ZXN0 -IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+ -Q29udGludWVzIG9uZSBvciBtb3JlIGJyb3dzZSBvcGVyYXRpb25zLjwvb3BjOkRvY3VtZW50YXRp -b24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJl -cXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWxlYXNlQ29udGludWF0aW9u -UG9pbnRzIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO -b09mQ29udGludWF0aW9uUG9pbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iQ29udGludWF0aW9uUG9pbnRzIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmci -IExlbmd0aEZpZWxkPSJOb09mQ29udGludWF0aW9uUG9pbnRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb3dzZU5leHRSZXNwb25z -ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u -PkNvbnRpbnVlcyBvbmUgb3IgbW9yZSBicm93c2Ugb3BlcmF0aW9ucy48L29wYzpEb2N1bWVudGF0 -aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6 -UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlw -ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVO -YW1lPSJ0bnM6QnJvd3NlUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6 -RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8 -L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlbGF0 -aXZlUGF0aEVsZW1lbnQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 -RG9jdW1lbnRhdGlvbj5BbiBlbGVtZW50IGluIGEgcmVsYXRpdmUgcGF0aC48L29wYzpEb2N1bWVu -dGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0i -dWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNJbnZlcnNlIiBUeXBlTmFtZT0i -b3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbmNsdWRlU3VidHlwZXMiIFR5 -cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldE5hbWUi -IFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N -Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlbGF0aXZlUGF0aCIgQmFzZVR5cGU9InVh -OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgcmVsYXRpdmUgcGF0 -aCBjb25zdHJ1Y3RlZCBmcm9tIHJlZmVyZW5jZSB0eXBlcyBhbmQgYnJvd3NlIG5hbWVzLjwvb3Bj -OkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRWxlbWVudHMiIFR5cGVO -YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbGVtZW50cyIgVHlwZU5h -bWU9InRuczpSZWxhdGl2ZVBhdGhFbGVtZW50IiBMZW5ndGhGaWVsZD0iTm9PZkVsZW1lbnRzIiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -IkJyb3dzZVBhdGgiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9j -dW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8gdHJhbnNsYXRlIGEgcGF0aCBpbnRvIGEgbm9kZSBpZC48 -L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhcnRpbmdOb2RlIiBU -eXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVsYXRpdmVQYXRo -IiBUeXBlTmFtZT0idG5zOlJlbGF0aXZlUGF0aCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm93c2VQYXRoVGFyZ2V0IiBCYXNlVHlw -ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHRhcmdl -dCBvZiB0aGUgdHJhbnNsYXRlZCBwYXRoLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJUYXJnZXRJZCIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iUmVtYWluaW5nUGF0aEluZGV4IiBUeXBlTmFtZT0ib3BjOlVJbnQz -MiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJCcm93c2VQYXRoUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg -ICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHJlc3VsdCBvZiBhIHRyYW5zbGF0ZSBvcGVhcmF0aW9u -Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBU -eXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZUYXJn -ZXRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGFyZ2V0 -cyIgVHlwZU5hbWU9InRuczpCcm93c2VQYXRoVGFyZ2V0IiBMZW5ndGhGaWVsZD0iTm9PZlRhcmdl -dHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg -TmFtZT0iVHJhbnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6 -RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VHJhbnNsYXRlcyBvbmUg -b3IgbW9yZSBwYXRocyBpbiB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRh -dGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6 -UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZCcm93c2VQYXRocyIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZVBhdGhz -IiBUeXBlTmFtZT0idG5zOkJyb3dzZVBhdGgiIExlbmd0aEZpZWxkPSJOb09mQnJvd3NlUGF0aHMi -IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt -ZT0iVHJhbnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4 -dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRyYW5zbGF0ZXMgb25lIG9y -IG1vcmUgcGF0aHMgaW4gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRvY3VtZW50YXRp -b24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpS -ZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBl -TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5h -bWU9InRuczpCcm93c2VQYXRoUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOklu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0i -dWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0K -ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJl -Z2lzdGVyTm9kZXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8 -b3BjOkRvY3VtZW50YXRpb24+UmVnaXN0ZXJzIG9uZSBvciBtb3JlIG5vZGVzIGZvciByZXBlYXRl -ZCB1c2Ugd2l0aGluIGEgc2Vzc2lvbi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVzVG9SZWdpc3RlciIgVHlwZU5hbWU9Im9wYzpJ -bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVzVG9SZWdpc3RlciIgVHlwZU5hbWU9 -InVhOk5vZGVJZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvUmVnaXN0ZXIiIC8+DQogIDwvb3Bj -OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVnaXN0ZXJO -b2Rlc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRv -Y3VtZW50YXRpb24+UmVnaXN0ZXJzIG9uZSBvciBtb3JlIG5vZGVzIGZvciByZXBlYXRlZCB1c2Ug -d2l0aGluIGEgc2Vzc2lvbi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJOb09mUmVnaXN0ZXJlZE5vZGVJZHMiIFR5cGVOYW1lPSJvcGM6SW50 -MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWdpc3RlcmVkTm9kZUlkcyIgVHlwZU5hbWU9 -InVhOk5vZGVJZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWdpc3RlcmVkTm9kZUlkcyIgLz4NCiAgPC9v -cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVbnJlZ2lz -dGVyTm9kZXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj -OkRvY3VtZW50YXRpb24+VW5yZWdpc3RlcnMgb25lIG9yIG1vcmUgcHJldmlvdXNseSByZWdpc3Rl -cmVkIG5vZGVzLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 -ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOb09mTm9kZXNUb1VucmVnaXN0ZXIiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rlc1RvVW5yZWdpc3RlciIgVHlwZU5hbWU9InVhOk5vZGVJ -ZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvVW5yZWdpc3RlciIgLz4NCiAgPC9vcGM6U3RydWN0 -dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVbnJlZ2lzdGVyTm9kZXNS -ZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVu -dGF0aW9uPlVucmVnaXN0ZXJzIG9uZSBvciBtb3JlIHByZXZpb3VzbHkgcmVnaXN0ZXJlZCBub2Rl -cy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFk -ZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJDb3VudGVyIj4NCiAgICA8b3BjOkRvY3Vt -ZW50YXRpb24+QSBtb25vdG9uaWNhbGx5IGluY3JlYXNpbmcgdmFsdWUuPC9vcGM6RG9jdW1lbnRh -dGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iTnVt -ZXJpY1JhbmdlIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+U3BlY2lmaWVzIGEgcmFuZ2Ugb2Yg -YXJyYXkgaW5kZXhlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0K -DQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJUaW1lIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+ -QSB0aW1lIHZhbHVlIHNwZWNpZmllZCBhcyBISDpNTTpTUy5TU1MuPC9vcGM6RG9jdW1lbnRhdGlv -bj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iRGF0ZSI+ -DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgZGF0ZSB2YWx1ZS48L29wYzpEb2N1bWVudGF0aW9u -Pg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRW5k -cG9pbnRDb25maWd1cmF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik9wZXJhdGlvblRpbWVvdXQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VCaW5hcnlFbmNvZGluZyIgVHlwZU5hbWU9Im9wYzpC -b29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4U3RyaW5nTGVuZ3RoIiBUeXBlTmFt -ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4Qnl0ZVN0cmluZ0xlbmd0 -aCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heEFycmF5 -TGVuZ3RoIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4 -TWVzc2FnZVNpemUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJNYXhCdWZmZXJTaXplIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iQ2hhbm5lbExpZmV0aW1lIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iU2VjdXJpdHlUb2tlbkxpZmV0aW1lIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9 -IkNvbXBsaWFuY2VMZXZlbCIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVk -VmFsdWUgTmFtZT0iVW50ZXN0ZWQiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh -bHVlIE5hbWU9IlBhcnRpYWwiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9IlNlbGZUZXN0ZWQiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9IkNlcnRpZmllZCIgVmFsdWU9IjMiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0K -DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3VwcG9ydGVkUHJvZmlsZSIgQmFzZVR5cGU9 -InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJPcmdhbml6YXRpb25V -cmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJvZmls -ZUlkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbXBs -aWFuY2VUb29sIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkNvbXBsaWFuY2VEYXRlIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iQ29tcGxpYW5jZUxldmVsIiBUeXBlTmFtZT0idG5zOkNvbXBsaWFuY2VMZXZlbCIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZVbnN1cHBvcnRlZFVuaXRJZHMiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVbnN1cHBvcnRlZFVuaXRJZHMi -IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlVuc3VwcG9ydGVkVW5pdElk -cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJTb2Z0d2FyZUNlcnRpZmljYXRlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlByb2R1Y3ROYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByb2R1Y3RVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5n -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmVuZG9yTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJp -bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWZW5kb3JQcm9kdWN0Q2VydGlmaWNhdGUiIFR5 -cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvZnR3YXJl -VmVyc2lvbiIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJC -dWlsZE51bWJlciIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJCdWlsZERhdGUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJJc3N1ZWRCeSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJJc3N1ZURhdGUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOb09mU3VwcG9ydGVkUHJvZmlsZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJTdXBwb3J0ZWRQcm9maWxlcyIgVHlwZU5hbWU9InRuczpTdXBw -b3J0ZWRQcm9maWxlIiBMZW5ndGhGaWVsZD0iTm9PZlN1cHBvcnRlZFByb2ZpbGVzIiAvPg0KICA8 -L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlF1ZXJ5 -RGF0YURlc2NyaXB0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlJlbGF0aXZlUGF0aCIgVHlwZU5hbWU9InRuczpSZWxhdGl2ZVBhdGgiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdHRyaWJ1dGVJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbmRleFJhbmdlIiBUeXBlTmFtZT0ib3BjOlN0cmlu -ZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJOb2RlVHlwZURlc2NyaXB0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlR5cGVEZWZpbml0aW9uTm9kZSIgVHlwZU5hbWU9InVhOkV4 -cGFuZGVkTm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5jbHVkZVN1YlR5cGVzIiBU -eXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGF0YVRv -UmV0dXJuIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0 -YVRvUmV0dXJuIiBUeXBlTmFtZT0idG5zOlF1ZXJ5RGF0YURlc2NyaXB0aW9uIiBMZW5ndGhGaWVs -ZD0iTm9PZkRhdGFUb1JldHVybiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w -YzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJGaWx0ZXJPcGVyYXRvciIgTGVuZ3RoSW5CaXRzPSIzMiI+ -DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRXF1YWxzIiBWYWx1ZT0iMCIgLz4NCiAg -ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJc051bGwiIFZhbHVlPSIxIiAvPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkdyZWF0ZXJUaGFuIiBWYWx1ZT0iMiIgLz4NCiAgICA8 -b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJMZXNzVGhhbiIgVmFsdWU9IjMiIC8+DQogICAgPG9w -YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iR3JlYXRlclRoYW5PckVxdWFsIiBWYWx1ZT0iNCIgLz4N -CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJMZXNzVGhhbk9yRXF1YWwiIFZhbHVlPSI1 -IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikxpa2UiIFZhbHVlPSI2IiAvPg0K -ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vdCIgVmFsdWU9IjciIC8+DQogICAgPG9w -YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQmV0d2VlbiIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpF -bnVtZXJhdGVkVmFsdWUgTmFtZT0iSW5MaXN0IiBWYWx1ZT0iOSIgLz4NCiAgICA8b3BjOkVudW1l -cmF0ZWRWYWx1ZSBOYW1lPSJBbmQiIFZhbHVlPSIxMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJPciIgVmFsdWU9IjExIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9IkNhc3QiIFZhbHVlPSIxMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJ -blZpZXciIFZhbHVlPSIxMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJPZlR5 -cGUiIFZhbHVlPSIxNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWxhdGVk -VG8iIFZhbHVlPSIxNSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCaXR3aXNl -QW5kIiBWYWx1ZT0iMTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQml0d2lz -ZU9yIiBWYWx1ZT0iMTciIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3Ry -dWN0dXJlZFR5cGUgTmFtZT0iUXVlcnlEYXRhU2V0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq -ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOkV4cGFuZGVk -Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHlwZURlZmluaXRpb25Ob2RlIiBUeXBl -TmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVmFs -dWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWVz -IiBUeXBlTmFtZT0idWE6VmFyaWFudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZWYWx1ZXMiIC8+DQogIDwv -b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm9kZVJl -ZmVyZW5jZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJSZWZlcmVuY2VUeXBlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJJc0ZvcndhcmQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VkTm9kZUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZWROb2RlSWRzIiBUeXBlTmFtZT0idWE6Tm9k -ZUlkIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZWROb2RlSWRzIiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNvbnRlbnRGaWx0ZXJF -bGVtZW50IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkZpbHRlck9wZXJhdG9yIiBUeXBlTmFtZT0idG5zOkZpbHRlck9wZXJhdG9yIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTm9PZkZpbHRlck9wZXJhbmRzIiBUeXBlTmFtZT0ib3BjOkludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmlsdGVyT3BlcmFuZHMiIFR5cGVOYW1lPSJ1YTpF -eHRlbnNpb25PYmplY3QiIExlbmd0aEZpZWxkPSJOb09mRmlsdGVyT3BlcmFuZHMiIC8+DQogIDwv -b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ29udGVu -dEZpbHRlciIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb09mRWxlbWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJFbGVtZW50cyIgVHlwZU5hbWU9InRuczpDb250ZW50RmlsdGVyRWxlbWVudCIgTGVu -Z3RoRmllbGQ9Ik5vT2ZFbGVtZW50cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg -PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJGaWx0ZXJPcGVyYW5kIiBCYXNlVHlwZT0idWE6RXh0 -ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJFbGVtZW50T3BlcmFuZCIgQmFzZVR5cGU9InRuczpGaWx0ZXJPcGVyYW5k -Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkluZGV4IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJM -aXRlcmFsT3BlcmFuZCIgQmFzZVR5cGU9InRuczpGaWx0ZXJPcGVyYW5kIj4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgLz4NCiAgPC9vcGM6U3RydWN0 -dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBdHRyaWJ1dGVPcGVyYW5k -IiBCYXNlVHlwZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9k -ZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWxpYXMi -IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlUGF0 -aCIgVHlwZU5hbWU9InRuczpSZWxhdGl2ZVBhdGgiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJB -dHRyaWJ1dGVJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJJbmRleFJhbmdlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl -ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTaW1wbGVBdHRyaWJ1dGVPcGVy -YW5kIiBCYXNlVHlwZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -VHlwZURlZmluaXRpb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vT2ZCcm93c2VQYXRoIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iQnJvd3NlUGF0aCIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIExlbmd0 -aEZpZWxkPSJOb09mQnJvd3NlUGF0aCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF0dHJpYnV0 -ZUlkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkluZGV4 -UmFuZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N -Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0 -IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0 -YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iTm9PZk9wZXJhbmRTdGF0dXNDb2RlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik9wZXJhbmRTdGF0dXNDb2RlcyIgVHlwZU5hbWU9InVhOlN0YXR1c0Nv -ZGUiIExlbmd0aEZpZWxkPSJOb09mT3BlcmFuZFN0YXR1c0NvZGVzIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9PZk9wZXJhbmREaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJPcGVyYW5kRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFt -ZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mT3BlcmFuZERpYWdub3N0aWNJ -bmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJDb250ZW50RmlsdGVyUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 -Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFbGVtZW50UmVzdWx0cyIgVHlwZU5hbWU9Im9w -YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVsZW1lbnRSZXN1bHRzIiBUeXBlTmFt -ZT0idG5zOkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZkVsZW1l -bnRSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkVsZW1lbnREaWFnbm9zdGlj -SW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbGVt -ZW50RGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZp -ZWxkPSJOb09mRWxlbWVudERpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJQYXJzaW5nUmVzdWx0IiBCYXNlVHlw -ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUi -IFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRh -dGFTdGF0dXNDb2RlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkRhdGFTdGF0dXNDb2RlcyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxk -PSJOb09mRGF0YVN0YXR1c0NvZGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRhdGFE -aWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJEYXRhRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExl -bmd0aEZpZWxkPSJOb09mRGF0YURpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl -ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJRdWVyeUZpcnN0UmVxdWVzdCIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 -ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJWaWV3IiBUeXBlTmFtZT0idG5zOlZpZXdEZXNjcmlwdGlvbiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vT2ZOb2RlVHlwZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJOb2RlVHlwZXMiIFR5cGVOYW1lPSJ0bnM6Tm9kZVR5cGVEZXNjcmlw -dGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2RlVHlwZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJGaWx0ZXIiIFR5cGVOYW1lPSJ0bnM6Q29udGVudEZpbHRlciIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik1heERhdGFTZXRzVG9SZXR1cm4iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTWF4UmVmZXJlbmNlc1RvUmV0dXJuIiBUeXBlTmFtZT0ib3BjOlVJ -bnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJRdWVyeUZpcnN0UmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVz -cG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUXVlcnlEYXRhU2V0cyIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlF1ZXJ5RGF0YVNl -dHMiIFR5cGVOYW1lPSJ0bnM6UXVlcnlEYXRhU2V0IiBMZW5ndGhGaWVsZD0iTm9PZlF1ZXJ5RGF0 -YVNldHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb250aW51YXRpb25Qb2ludCIgVHlwZU5h -bWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlBhcnNpbmdS -ZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGFy -c2luZ1Jlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6UGFyc2luZ1Jlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5v -T2ZQYXJzaW5nUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGlj -SW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFn -bm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5v -T2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXJSZXN1bHQi -IFR5cGVOYW1lPSJ0bnM6Q29udGVudEZpbHRlclJlc3VsdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJl -ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJRdWVyeU5leHRSZXF1ZXN0IiBC -YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVl -c3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlJlbGVhc2VDb250aW51YXRpb25Qb2ludCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29udGludWF0aW9uUG9pbnQiIFR5cGVOYW1lPSJvcGM6 -Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJRdWVyeU5leHRSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i -amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRu -czpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZRdWVyeURhdGFT -ZXRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVlcnlE -YXRhU2V0cyIgVHlwZU5hbWU9InRuczpRdWVyeURhdGFTZXQiIExlbmd0aEZpZWxkPSJOb09mUXVl -cnlEYXRhU2V0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRDb250aW51YXRpb25Q -b2ludCIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw -ZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlRpbWVzdGFtcHNUb1JldHVybiIgTGVu -Z3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU291cmNlIiBW -YWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTZXJ2ZXIiIFZhbHVl -PSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJvdGgiIFZhbHVlPSIyIiAv -Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5laXRoZXIiIFZhbHVlPSIzIiAvPg0K -ICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJl -YWRWYWx1ZUlkIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkF0dHJpYnV0ZUlkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkluZGV4UmFuZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iRGF0YUVuY29kaW5nIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgLz4NCiAg -PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWFk -UmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJNYXhBZ2UiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiBUeXBlTmFtZT0idG5zOlRpbWVzdGFt -cHNUb1JldHVybiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOb2Rlc1RvUmVhZCIgVHlw -ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVzVG9SZWFkIiBU -eXBlTmFtZT0idG5zOlJlYWRWYWx1ZUlkIiBMZW5ndGhGaWVsZD0iTm9PZk5vZGVzVG9SZWFkIiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -IlJlYWRSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOkRhdGFWYWx1 -ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P -ZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5n -dGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5UmVhZFZhbHVlSWQiIEJhc2VU -eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBU -eXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5kZXhSYW5nZSIg -VHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhRW5jb2Rp -bmciIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Q29udGludWF0aW9uUG9pbnQiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6 -U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5UmVh -ZFJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJIaXN0b3J5RGF0YSIgVHlwZU5hbWU9InVhOkV4dGVuc2lv -bk9iamVjdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk -VHlwZSBOYW1lPSJIaXN0b3J5UmVhZERldGFpbHMiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl -Y3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9IlJlYWRFdmVudERldGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik51bVZhbHVlc1Blck5vZGUiIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhcnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRh -dGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kVGltZSIgVHlwZU5hbWU9Im9wYzpE -YXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRlciIgVHlwZU5hbWU9InRuczpF -dmVudEZpbHRlciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJSZWFkUmF3TW9kaWZpZWREZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3Rv -cnlSZWFkRGV0YWlscyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc1JlYWRNb2RpZmllZCIgVHlw -ZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhcnRUaW1lIiBU -eXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kVGltZSIg -VHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik51bVZhbHVl -c1Blck5vZGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UmV0dXJuQm91bmRzIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVhZFByb2Nlc3NlZERldGFp -bHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlN0YXJ0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkVuZFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJQcm9jZXNzaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTm9PZkFnZ3JlZ2F0ZVR5cGUiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZ2dyZWdhdGVUeXBlIiBUeXBlTmFtZT0idWE6Tm9k -ZUlkIiBMZW5ndGhGaWVsZD0iTm9PZkFnZ3JlZ2F0ZVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBUeXBlTmFtZT0idG5zOkFnZ3JlZ2F0ZUNvbmZp -Z3VyYXRpb24iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl -ZFR5cGUgTmFtZT0iUmVhZEF0VGltZURldGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVJlYWRE -ZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXFUaW1lcyIgVHlwZU5hbWU9Im9w -YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcVRpbWVzIiBUeXBlTmFtZT0ib3Bj -OkRhdGVUaW1lIiBMZW5ndGhGaWVsZD0iTm9PZlJlcVRpbWVzIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iVXNlU2ltcGxlQm91bmRzIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3Bj -OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeURh -dGEiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Tm9PZkRhdGFWYWx1ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJEYXRhVmFsdWVzIiBUeXBlTmFtZT0idWE6RGF0YVZhbHVlIiBMZW5ndGhGaWVsZD0iTm9P -ZkRhdGFWYWx1ZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 -dXJlZFR5cGUgTmFtZT0iTW9kaWZpY2F0aW9uSW5mbyIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i -amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb2RpZmljYXRpb25UaW1lIiBUeXBlTmFtZT0i -b3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXBkYXRlVHlwZSIgVHlwZU5h -bWU9InRuczpIaXN0b3J5VXBkYXRlVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJO -YW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5TW9kaWZpZWREYXRhIiBCYXNlVHlw -ZT0idG5zOkhpc3RvcnlEYXRhIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEYXRhVmFsdWVz -IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVZhbHVl -cyIgVHlwZU5hbWU9InVhOkRhdGFWYWx1ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZEYXRhVmFsdWVzIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk1vZGlmaWNhdGlvbkluZm9zIiBUeXBlTmFtZT0i -b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9kaWZpY2F0aW9uSW5mb3MiIFR5 -cGVOYW1lPSJ0bnM6TW9kaWZpY2F0aW9uSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZNb2RpZmljYXRp -b25JbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk -VHlwZSBOYW1lPSJIaXN0b3J5RXZlbnQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkV2ZW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50cyIgVHlwZU5hbWU9InRuczpIaXN0b3J5RXZlbnRG -aWVsZExpc3QiIExlbmd0aEZpZWxkPSJOb09mRXZlbnRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlSZWFkUmVxdWVzdCIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 -ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJIaXN0b3J5UmVhZERldGFpbHMiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3Qi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iIFR5cGVOYW1lPSJ0 -bnM6VGltZXN0YW1wc1RvUmV0dXJuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVsZWFzZUNv -bnRpbnVhdGlvblBvaW50cyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9PZk5vZGVzVG9SZWFkIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iTm9kZXNUb1JlYWQiIFR5cGVOYW1lPSJ0bnM6SGlzdG9yeVJlYWRWYWx1 -ZUlkIiBMZW5ndGhGaWVsZD0iTm9PZk5vZGVzVG9SZWFkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlSZWFkUmVzcG9uc2Ui -IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVz -cG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6SGlzdG9yeVJlYWRSZXN1bHQiIExl -bmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFn -bm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmll -bGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog -IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iV3JpdGVWYWx1ZSIgQmFzZVR5cGU9InVhOkV4dGVu -c2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpO -b2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdHRyaWJ1dGVJZCIgVHlwZU5hbWU9Im9w -YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbmRleFJhbmdlIiBUeXBlTmFtZT0i -b3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0idWE6 -RGF0YVZhbHVlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy -ZWRUeXBlIE5hbWU9IldyaXRlUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVl -c3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTm9kZXNUb1dyaXRlIiBUeXBl -TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZXNUb1dyaXRlIiBU -eXBlTmFtZT0idG5zOldyaXRlVmFsdWUiIExlbmd0aEZpZWxkPSJOb09mTm9kZXNUb1dyaXRlIiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -IldyaXRlUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXND -b2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO -b09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExl -bmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw -ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlVcGRhdGVEZXRhaWxzIiBC -YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJ -ZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg -PG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJIaXN0b3J5VXBkYXRlVHlwZSIgTGVuZ3RoSW5CaXRz -PSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW5zZXJ0IiBWYWx1ZT0iMSIg -Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZXBsYWNlIiBWYWx1ZT0iMiIgLz4N -CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVcGRhdGUiIFZhbHVlPSIzIiAvPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRlbGV0ZSIgVmFsdWU9IjQiIC8+DQogIDwvb3Bj -OkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iUGVyZm9ybVVw -ZGF0ZVR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9Ikluc2VydCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i -UmVwbGFjZSIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVXBk -YXRlIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZW1vdmUi -IFZhbHVlPSI0IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy -ZWRUeXBlIE5hbWU9IlVwZGF0ZURhdGFEZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlVcGRh -dGVEZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5v -ZGVJZCIgU291cmNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iUGVyZm9ybUluc2VydFJlcGxhY2UiIFR5cGVOYW1lPSJ0bnM6UGVyZm9ybVVw -ZGF0ZVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVXBkYXRlVmFsdWVzIiBUeXBl -TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXBkYXRlVmFsdWVzIiBU -eXBlTmFtZT0idWE6RGF0YVZhbHVlIiBMZW5ndGhGaWVsZD0iTm9PZlVwZGF0ZVZhbHVlcyIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJV -cGRhdGVTdHJ1Y3R1cmVEYXRhRGV0YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0 -YWlscyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQi -IFNvdXJjZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlBlcmZvcm1JbnNlcnRSZXBsYWNlIiBUeXBlTmFtZT0idG5zOlBlcmZvcm1VcGRhdGVU -eXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlVwZGF0ZVZhbHVlcyIgVHlwZU5hbWU9 -Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVwZGF0ZVZhbHVlcyIgVHlwZU5h -bWU9InVhOkRhdGFWYWx1ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZVcGRhdGVWYWx1ZXMiIC8+DQogIDwv -b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVXBkYXRl -RXZlbnREZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0i -dG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGVyZm9y -bUluc2VydFJlcGxhY2UiIFR5cGVOYW1lPSJ0bnM6UGVyZm9ybVVwZGF0ZVR5cGUiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXIiIFR5cGVOYW1lPSJ0bnM6RXZlbnRGaWx0ZXIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRXZlbnREYXRhIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnREYXRhIiBUeXBlTmFtZT0idG5zOkhpc3RvcnlF -dmVudEZpZWxkTGlzdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZFdmVudERhdGEiIC8+DQogIDwvb3BjOlN0 -cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlUmF3TW9k -aWZpZWREZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0i -dG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNEZWxl -dGVNb2RpZmllZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iU3RhcnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iRW5kVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgPC9vcGM6U3RydWN0 -dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVBdFRpbWVEZXRh -aWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOkhpc3Rv -cnlVcGRhdGVEZXRhaWxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlcVRpbWVzIiBU -eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxVGltZXMiIFR5 -cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIExlbmd0aEZpZWxkPSJOb09mUmVxVGltZXMiIC8+DQogIDwv -b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRl -RXZlbnREZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0i -dG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkV2 -ZW50SWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZl -bnRJZHMiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZFdmVudElk -cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJIaXN0b3J5VXBkYXRlUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2Rl -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk9wZXJhdGlvblJlc3VsdHMiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJPcGVyYXRpb25SZXN1bHRzIiBU -eXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZPcGVyYXRpb25SZXN1bHRz -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9 -Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlw -ZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZv -cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJIaXN0b3J5VXBkYXRlUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVl -c3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mSGlzdG9yeVVwZGF0ZURldGFp -bHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJIaXN0b3J5 -VXBkYXRlRGV0YWlscyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgTGVuZ3RoRmllbGQ9 -Ik5vT2ZIaXN0b3J5VXBkYXRlRGV0YWlscyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5VXBkYXRlUmVzcG9uc2UiIEJhc2VU -eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VI -ZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6SGlzdG9yeVVwZGF0ZVJlc3VsdCIgTGVuZ3Ro -RmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0 -aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRp -YWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0i -Tm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w -YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDYWxsTWV0aG9kUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4 -dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJPYmplY3RJZCIgVHlwZU5hbWU9 -InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1ldGhvZElkIiBUeXBlTmFtZT0i -dWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZklucHV0QXJndW1lbnRzIiBU -eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5wdXRBcmd1bWVu -dHMiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiBMZW5ndGhGaWVsZD0iTm9PZklucHV0QXJndW1lbnRz -IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9IkNhbGxNZXRob2RSZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mSW5wdXRBcmd1bWVudFJlc3VsdHMiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbnB1dEFyZ3VtZW50UmVzdWx0 -cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mSW5wdXRBcmd1bWVu -dFJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mSW5wdXRBcmd1bWVudERpYWdu -b3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IklucHV0QXJndW1lbnREaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5m -byIgTGVuZ3RoRmllbGQ9Ik5vT2ZJbnB1dEFyZ3VtZW50RGlhZ25vc3RpY0luZm9zIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTm9PZk91dHB1dEFyZ3VtZW50cyIgVHlwZU5hbWU9Im9wYzpJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik91dHB1dEFyZ3VtZW50cyIgVHlwZU5hbWU9InVh -OlZhcmlhbnQiIExlbmd0aEZpZWxkPSJOb09mT3V0cHV0QXJndW1lbnRzIiAvPg0KICA8L29wYzpT -dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNhbGxSZXF1ZXN0 -IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl -cXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZNZXRob2RzVG9DYWxsIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTWV0aG9kc1RvQ2FsbCIgVHlwZU5hbWU9InRuczpDYWxsTWV0aG9k -UmVxdWVzdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZNZXRob2RzVG9DYWxsIiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNhbGxSZXNwb25zZSIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNw -b25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InRuczpDYWxsTWV0aG9kUmVzdWx0IiBMZW5n -dGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25v -c3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -RGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxk -PSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 -b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9Ik1vbml0b3JpbmdNb2RlIiBMZW5ndGhJbkJpdHM9IjMy -Ij4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEaXNhYmxlZCIgVmFsdWU9IjAiIC8+ -DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU2FtcGxpbmciIFZhbHVlPSIxIiAvPg0K -ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlcG9ydGluZyIgVmFsdWU9IjIiIC8+DQog -IDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRGF0 -YUNoYW5nZVRyaWdnZXIiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh -bHVlIE5hbWU9IlN0YXR1cyIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iU3RhdHVzVmFsdWUiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9IlN0YXR1c1ZhbHVlVGltZXN0YW1wIiBWYWx1ZT0iMiIgLz4NCiAgPC9vcGM6RW51bWVy -YXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJEZWFkYmFuZFR5cGUiIExl -bmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZh -bHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFic29sdXRlIiBWYWx1 -ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJQZXJjZW50IiBWYWx1ZT0i -MiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJNb25pdG9yaW5nRmlsdGVyIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg -PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRh -Q2hhbmdlRmlsdGVyIiBCYXNlVHlwZT0idG5zOk1vbml0b3JpbmdGaWx0ZXIiPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iVHJpZ2dlciIgVHlwZU5hbWU9InRuczpEYXRhQ2hhbmdlVHJpZ2dlciIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlYWRiYW5kVHlwZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZWFkYmFuZFZhbHVlIiBUeXBlTmFtZT0ib3BjOkRv -dWJsZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJFdmVudEZpbHRlciIgQmFzZVR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVyIj4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZWxlY3RDbGF1c2VzIiBUeXBlTmFtZT0ib3BjOkludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VsZWN0Q2xhdXNlcyIgVHlwZU5hbWU9InRuczpT -aW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiBMZW5ndGhGaWVsZD0iTm9PZlNlbGVjdENsYXVzZXMiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXaGVyZUNsYXVzZSIgVHlwZU5hbWU9InRuczpDb250ZW50 -RmlsdGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU -eXBlIE5hbWU9IkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P -YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlU2VydmVyQ2FwYWJpbGl0aWVzRGVmYXVs -dHMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyZWF0 -VW5jZXJ0YWluQXNCYWQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlBlcmNlbnREYXRhQmFkIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJQZXJjZW50RGF0YUdvb2QiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlVzZVNsb3BlZEV4dHJhcG9sYXRpb24iIFR5cGVOYW1lPSJvcGM6Qm9v -bGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJBZ2dyZWdhdGVGaWx0ZXIiIEJhc2VUeXBlPSJ0bnM6TW9uaXRvcmluZ0ZpbHRlciI+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGFydFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZ2dyZWdhdGVUeXBlIiBUeXBlTmFtZT0idWE6Tm9k -ZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJvY2Vzc2luZ0ludGVydmFsIiBUeXBlTmFt -ZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFnZ3JlZ2F0ZUNvbmZpZ3Vy -YXRpb24iIFR5cGVOYW1lPSJ0bnM6QWdncmVnYXRlQ29uZmlndXJhdGlvbiIgLz4NCiAgPC9vcGM6 -U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb25pdG9yaW5n -RmlsdGVyUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFdmVudEZpbHRlclJl -c3VsdCIgQmFzZVR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVyUmVzdWx0Ij4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZTZWxlY3RDbGF1c2VSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VsZWN0Q2xhdXNlUmVzdWx0cyIgVHlwZU5hbWU9InVh -OlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mU2VsZWN0Q2xhdXNlUmVzdWx0cyIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZWxlY3RDbGF1c2VEaWFnbm9zdGljSW5mb3MiIFR5cGVO -YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWxlY3RDbGF1c2VEaWFn -bm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5v -T2ZTZWxlY3RDbGF1c2VEaWFnbm9zdGljSW5mb3MiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJX -aGVyZUNsYXVzZVJlc3VsdCIgVHlwZU5hbWU9InRuczpDb250ZW50RmlsdGVyUmVzdWx0IiAvPg0K -ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFn -Z3JlZ2F0ZUZpbHRlclJlc3VsdCIgQmFzZVR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVyUmVzdWx0 -Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRTdGFydFRpbWUiIFR5cGVOYW1lPSJvcGM6 -RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkUHJvY2Vzc2luZ0ludGVy -dmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlz -ZWRBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBUeXBlTmFtZT0idG5zOkFnZ3JlZ2F0ZUNvbmZpZ3Vy -YXRpb24iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iTW9uaXRvcmluZ1BhcmFtZXRlcnMiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl -Y3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50SGFuZGxlIiBUeXBlTmFtZT0ib3BjOlVJ -bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNhbXBsaW5nSW50ZXJ2YWwiIFR5cGVOYW1l -PSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmlsdGVyIiBUeXBlTmFtZT0i -dWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVldWVTaXplIiBU -eXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2NhcmRPbGRl -c3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJdGVt -VG9Nb25pdG9yIiBUeXBlTmFtZT0idG5zOlJlYWRWYWx1ZUlkIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTW9uaXRvcmluZ01vZGUiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmluZ01vZGUiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRQYXJhbWV0ZXJzIiBUeXBlTmFtZT0idG5zOk1v -bml0b3JpbmdQYXJhbWV0ZXJzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -OlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIEJhc2VUeXBl -PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIg -VHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb25pdG9y -ZWRJdGVtSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UmV2aXNlZFNhbXBsaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iUmV2aXNlZFF1ZXVlU2l6ZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXJSZXN1bHQiIFR5cGVOYW1lPSJ1YTpFeHRlbnNp -b25PYmplY3QiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl -ZFR5cGUgTmFtZT0iQ3JlYXRlTW9uaXRvcmVkSXRlbXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0 -ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVO -YW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlw -dGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRp -bWVzdGFtcHNUb1JldHVybiIgVHlwZU5hbWU9InRuczpUaW1lc3RhbXBzVG9SZXR1cm4iIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mSXRlbXNUb0NyZWF0ZSIgVHlwZU5hbWU9Im9wYzpJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikl0ZW1zVG9DcmVhdGUiIFR5cGVOYW1lPSJ0bnM6 -TW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIExlbmd0aEZpZWxkPSJOb09mSXRlbXNUb0NyZWF0 -ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJDcmVhdGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u -T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0i -dG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMi -IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBU -eXBlTmFtZT0idG5zOk1vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09m -UmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5 -cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5m -b3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9z -dGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl -ZFR5cGUgTmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRl -bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmVkSXRlbUlkIiBUeXBl -TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZFBhcmFt -ZXRlcnMiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmluZ1BhcmFtZXRlcnMiIC8+DQogIDwvb3BjOlN0 -cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9uaXRvcmVkSXRl -bU1vZGlmeVJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRTYW1wbGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRv -dWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRRdWV1ZVNpemUiIFR5cGVOYW1l -PSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmlsdGVyUmVzdWx0IiBUeXBl -TmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vZGlmeU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 -ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iIFR5cGVOYW1lPSJ0bnM6VGltZXN0YW1w -c1RvUmV0dXJuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkl0ZW1zVG9Nb2RpZnkiIFR5 -cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJdGVtc1RvTW9kaWZ5 -IiBUeXBlTmFtZT0idG5zOk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiBMZW5ndGhGaWVsZD0i -Tm9PZkl0ZW1zVG9Nb2RpZnkiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 -U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhl -YWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InRuczpNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0IiBM -ZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlh -Z25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZp -ZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNldE1vbml0b3JpbmdNb2RlUmVxdWVzdCIgQmFz -ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0 -SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJNb25pdG9yaW5nTW9kZSIgVHlwZU5hbWU9InRuczpNb25pdG9yaW5nTW9kZSIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZNb25pdG9yZWRJdGVtSWRzIiBUeXBlTmFtZT0i -b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmVkSXRlbUlkcyIgVHlw -ZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mTW9uaXRvcmVkSXRlbUlkcyIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJT -ZXRNb25pdG9yaW5nTW9kZVJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3Bv -bnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0i -dWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0 -aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXRUcmlnZ2VyaW5n -UmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmlnZ2VyaW5nSXRlbUlkIiBUeXBlTmFtZT0ib3BjOlVJ -bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZMaW5rc1RvQWRkIiBUeXBlTmFtZT0i -b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGlua3NUb0FkZCIgVHlwZU5hbWU9 -Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mTGlua3NUb0FkZCIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZMaW5rc1RvUmVtb3ZlIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTGlua3NUb1JlbW92ZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIExl -bmd0aEZpZWxkPSJOb09mTGlua3NUb1JlbW92ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXRUcmlnZ2VyaW5nUmVzcG9uc2UiIEJh -c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9u -c2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOb09mQWRkUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IkFkZFJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhG -aWVsZD0iTm9PZkFkZFJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQWRkRGlh -Z25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iQWRkRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0 -aEZpZWxkPSJOb09mQWRkRGlhZ25vc3RpY0luZm9zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Tm9PZlJlbW92ZVJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJSZW1vdmVSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmll -bGQ9Ik5vT2ZSZW1vdmVSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlbW92 -ZURpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlJlbW92ZURpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZv -IiBMZW5ndGhGaWVsZD0iTm9PZlJlbW92ZURpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVNb25pdG9y -ZWRJdGVtc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk1vbml0b3JlZEl0ZW1JZHMiIFR5cGVO -YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb25pdG9yZWRJdGVtSWRz -IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZNb25pdG9yZWRJdGVtSWRz -IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P -YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0 -bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5 -cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6 -RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8 -L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNyZWF0 -ZVN1YnNjcmlwdGlvblJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVh -ZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFs -IiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3Rl -ZExpZmV0aW1lQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iUmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2giIFR5cGVO -YW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaGluZ0VuYWJs -ZWQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByaW9y -aXR5IiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog -IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ3JlYXRlU3Vic2NyaXB0aW9uUmVzcG9uc2UiIEJh -c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9u -c2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJSZXZpc2VkUHVibGlzaGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRv -dWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRMaWZldGltZUNvdW50IiBUeXBl -TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRNYXhLZWVw -QWxpdmVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9kaWZ5U3Vic2NyaXB0aW9uUmVx -dWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWwiIFR5cGVOYW1l -PSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkTGlmZXRpbWVD -b3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 -ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJNYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaCIgVHlwZU5hbWU9Im9wYzpV -SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcmlvcml0eSIgVHlwZU5hbWU9Im9wYzpC -eXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl -IE5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvblJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u -T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0i -dG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZFB1Ymxp -c2hpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJSZXZpc2VkTGlmZXRpbWVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkTWF4S2VlcEFsaXZlQ291bnQiIFR5cGVOYW1lPSJvcGM6 -VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU -eXBlIE5hbWU9IlNldFB1Ymxpc2hpbmdNb2RlUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lv -bk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0i -dG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nRW5h -YmxlZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P -ZlN1YnNjcmlwdGlvbklkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlN1YnNjcmlwdGlvbklkcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxk -PSJOb09mU3Vic2NyaXB0aW9uSWRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 -b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNldFB1Ymxpc2hpbmdNb2RlUmVzcG9uc2UiIEJhc2VU -eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VI -ZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9P -ZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBU -eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0lu -Zm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25v -c3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy -ZWRUeXBlIE5hbWU9Ik5vdGlmaWNhdGlvbk1lc3NhZ2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P -YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VxdWVuY2VOdW1iZXIiIFR5cGVOYW1lPSJv -cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaFRpbWUiIFR5cGVOYW1l -PSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTm90aWZpY2F0aW9u -RGF0YSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vdGlm -aWNhdGlvbkRhdGEiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIExlbmd0aEZpZWxkPSJO -b09mTm90aWZpY2F0aW9uRGF0YSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w -YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJOb3RpZmljYXRpb25EYXRhIiBCYXNlVHlwZT0idWE6RXh0 -ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJEYXRhQ2hhbmdlTm90aWZpY2F0aW9uIiBCYXNlVHlwZT0idG5zOk5vdGlm -aWNhdGlvbkRhdGEiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk1vbml0b3JlZEl0ZW1zIiBU -eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmVkSXRl -bXMiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiIgTGVuZ3RoRmllbGQ9 -Ik5vT2ZNb25pdG9yZWRJdGVtcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9z -dGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE -aWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9 -Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv -cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnRIYW5k -bGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWUi -IFR5cGVOYW1lPSJ1YTpEYXRhVmFsdWUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog -IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRXZlbnROb3RpZmljYXRpb25MaXN0IiBCYXNlVHlw -ZT0idG5zOk5vdGlmaWNhdGlvbkRhdGEiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkV2ZW50 -cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50cyIg -VHlwZU5hbWU9InRuczpFdmVudEZpZWxkTGlzdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZFdmVudHMiIC8+ -DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i -RXZlbnRGaWVsZExpc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iQ2xpZW50SGFuZGxlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFdmVudEZpZWxkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50RmllbGRzIiBUeXBlTmFtZT0idWE6VmFyaWFudCIg -TGVuZ3RoRmllbGQ9Ik5vT2ZFdmVudEZpZWxkcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5RXZlbnRGaWVsZExpc3QiIEJh -c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkV2 -ZW50RmllbGRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -RXZlbnRGaWVsZHMiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiBMZW5ndGhGaWVsZD0iTm9PZkV2ZW50 -RmllbGRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU -eXBlIE5hbWU9IlN0YXR1c0NoYW5nZU5vdGlmaWNhdGlvbiIgQmFzZVR5cGU9InRuczpOb3RpZmlj -YXRpb25EYXRhIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1cyIgVHlwZU5hbWU9InVhOlN0 -YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mbyIgVHlwZU5h -bWU9InVhOkRpYWdub3N0aWNJbmZvIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 -b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudCIgQmFz -ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3Jp -cHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT -ZXF1ZW5jZU51bWJlciIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUHVibGlzaFJlcXVlc3QiIEJh -c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVz -dEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTm9PZlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudHMiIFR5cGVOYW1lPSJvcGM6SW50 -MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnRz -IiBUeXBlTmFtZT0idG5zOlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudCIgTGVuZ3RoRmllbGQ9 -Ik5vT2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlB1Ymxpc2hSZXNwb25zZSIgQmFz -ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25z -ZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vT2ZBdmFpbGFibGVTZXF1ZW5jZU51bWJlcnMiIFR5cGVOYW1lPSJvcGM6 -SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdmFpbGFibGVTZXF1ZW5jZU51bWJlcnMi -IFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkF2YWlsYWJsZVNlcXVlbmNl -TnVtYmVycyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vcmVOb3RpZmljYXRpb25zIiBUeXBl -TmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb3RpZmljYXRpb25N -ZXNzYWdlIiBUeXBlTmFtZT0idG5zOk5vdGlmaWNhdGlvbk1lc3NhZ2UiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVs -ZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0lu -Zm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25v -c3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09m -RGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 -cnVjdHVyZWRUeXBlIE5hbWU9IlJlcHVibGlzaFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp -b25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9 -InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9u -SWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV0cmFu -c21pdFNlcXVlbmNlTnVtYmVyIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZXB1Ymxpc2hSZXNw -b25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vdGlmaWNhdGlvbk1lc3NhZ2UiIFR5cGVOYW1lPSJ0bnM6Tm90aWZp -Y2F0aW9uTWVzc2FnZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 -Y3R1cmVkVHlwZSBOYW1lPSJUcmFuc2ZlclJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i -amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3Rh -dHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBdmFpbGFibGVTZXF1ZW5jZU51 -bWJlcnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdmFp -bGFibGVTZXF1ZW5jZU51bWJlcnMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0i -Tm9PZkF2YWlsYWJsZVNlcXVlbmNlTnVtYmVycyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJUcmFuc2ZlclN1YnNjcmlwdGlvbnNSZXF1 -ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vT2ZTdWJzY3JpcHRpb25JZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZHMiIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiBMZW5ndGhGaWVsZD0iTm9PZlN1YnNjcmlwdGlvbklkcyIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlNlbmRJbml0aWFsVmFsdWVzIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwv -b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVHJhbnNm -ZXJTdWJzY3JpcHRpb25zUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9u -c2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9 -Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0 -bnM6VHJhbnNmZXJSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFn -bm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3Bj -OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlU3Vi -c2NyaXB0aW9uc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlN1YnNjcmlwdGlvbklkcyIgVHlwZU5hbWU9 -Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkcyIgVHlw -ZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mU3Vic2NyaXB0aW9uSWRzIiAvPg0K -ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRl -bGV0ZVN1YnNjcmlwdGlvbnNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNw -b25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFt -ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9 -InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9z -dGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0 -cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRW51bWVyYXRlZFRl -c3RUeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBzaW1w -bGUgZW51bWVyYXRlZCB0eXBlIHVzZWQgZm9yIHRlc3RpbmcuPC9vcGM6RG9jdW1lbnRhdGlvbj4N -CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWQiIFZhbHVlPSIxIiAvPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlllbGxvdyIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpF -bnVtZXJhdGVkVmFsdWUgTmFtZT0iR3JlZW4iIFZhbHVlPSI1IiAvPg0KICA8L29wYzpFbnVtZXJh -dGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJ1aWxkSW5mbyIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcm9kdWN0VXJp -IiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1hbnVmYWN0 -dXJlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UHJvZHVjdE5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iU29mdHdhcmVWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkJ1aWxkTnVtYmVyIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IkJ1aWxkRGF0ZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgPC9v -cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJSZWR1bmRh -bmN5U3VwcG9ydCIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i -Q29sZCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iV2FybSIg -VmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSG90IiBWYWx1ZT0i -MyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJUcmFuc3BhcmVudCIgVmFsdWU9 -IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSG90QW5kTWlycm9yZWQiIFZh -bHVlPSI1IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRU -eXBlIE5hbWU9IlNlcnZlclN0YXRlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1l -cmF0ZWRWYWx1ZSBOYW1lPSJSdW5uaW5nIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0 -ZWRWYWx1ZSBOYW1lPSJGYWlsZWQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh -bHVlIE5hbWU9Ik5vQ29uZmlndXJhdGlvbiIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJh -dGVkVmFsdWUgTmFtZT0iU3VzcGVuZGVkIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0 -ZWRWYWx1ZSBOYW1lPSJTaHV0ZG93biIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk -VmFsdWUgTmFtZT0iVGVzdCIgVmFsdWU9IjUiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iQ29tbXVuaWNhdGlvbkZhdWx0IiBWYWx1ZT0iNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0 -ZWRWYWx1ZSBOYW1lPSJVbmtub3duIiBWYWx1ZT0iNyIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlw -ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT -ZXJ2ZXJJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT -ZXJ2aWNlTGV2ZWwiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlNlcnZlclN0YXRlIiBUeXBlTmFtZT0idG5zOlNlcnZlclN0YXRlIiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkVuZHBvaW50VXJsTGlz -dERhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vT2ZFbmRwb2ludFVybExpc3QiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybExpc3QiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBM -ZW5ndGhGaWVsZD0iTm9PZkVuZHBvaW50VXJsTGlzdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJOZXR3b3JrR3JvdXBEYXRhVHlwZSIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2 -ZXJVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P -Zk5ldHdvcmtQYXRocyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ik5ldHdvcmtQYXRocyIgVHlwZU5hbWU9InRuczpFbmRwb2ludFVybExpc3REYXRhVHlwZSIg -TGVuZ3RoRmllbGQ9Ik5vT2ZOZXR3b3JrUGF0aHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl -Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0 -aWNzRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iU2FtcGxpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJNb25pdG9yZWRJdGVtQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4TW9uaXRvcmVkSXRlbUNvdW50IiBUeXBlTmFt -ZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2FibGVkTW9uaXRvcmVk -SXRlbUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXJ2ZXJEaWFnbm9zdGljc1N1bW1h -cnlEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJTZXJ2ZXJWaWV3Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iQ3VycmVudFNlc3Npb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdW11bGF0ZWRTZXNzaW9uQ291bnQiIFR5cGVOYW1l -PSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlSZWplY3RlZFNl -c3Npb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJSZWplY3RlZFNlc3Npb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJTZXNzaW9uVGltZW91dENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlc3Npb25BYm9ydENvdW50IiBUeXBlTmFtZT0ib3Bj -OlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1cnJlbnRTdWJzY3JpcHRpb25Db3Vu -dCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdW11bGF0 -ZWRTdWJzY3JpcHRpb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJQdWJsaXNoaW5nSW50ZXJ2YWxDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eVJlamVjdGVkUmVxdWVzdHNDb3VudCIg -VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWplY3RlZFJl -cXVlc3RzQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNlcnZlclN0YXR1c0RhdGFUeXBl -IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0 -YXJ0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkN1cnJlbnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iU3RhdGUiIFR5cGVOYW1lPSJ0bnM6U2VydmVyU3RhdGUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJCdWlsZEluZm8iIFR5cGVOYW1lPSJ0bnM6QnVpbGRJbmZvIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iU2Vjb25kc1RpbGxTaHV0ZG93biIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTaHV0ZG93blJlYXNvbiIgVHlwZU5hbWU9InVhOkxvY2Fs -aXplZFRleHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl -ZFR5cGUgTmFtZT0iU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRl -bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvbklkIiBUeXBlTmFtZT0i -dWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvbk5hbWUiIFR5cGVOYW1l -PSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50RGVzY3JpcHRpb24i -IFR5cGVOYW1lPSJ0bnM6QXBwbGljYXRpb25EZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlNlcnZlclVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJFbmRwb2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJOb09mTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmll -bGQ9Ik5vT2ZMb2NhbGVJZHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBY3R1YWxTZXNzaW9u -VGltZW91dCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJN -YXhSZXNwb25zZU1lc3NhZ2VTaXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IkNsaWVudENvbm5lY3Rpb25UaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1l -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50TGFzdENvbnRhY3RUaW1lIiBUeXBlTmFt -ZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3VycmVudFN1YnNjcmlw -dGlvbnNDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJDdXJyZW50TW9uaXRvcmVkSXRlbXNDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJDdXJyZW50UHVibGlzaFJlcXVlc3RzSW5RdWV1ZSIgVHlwZU5h -bWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUb3RhbFJlcXVlc3RDb3Vu -dCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iVW5hdXRob3JpemVkUmVxdWVzdENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlYWRDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNl -Q291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSGlzdG9yeVJlYWRDb3Vu -dCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iV3JpdGVDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBl -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSGlzdG9yeVVwZGF0ZUNvdW50IiBUeXBlTmFtZT0i -dG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDYWxs -Q291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2Vy -dmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vZGlmeU1vbml0 -b3JlZEl0ZW1zQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNldE1vbml0b3JpbmdNb2RlQ291bnQiIFR5cGVOYW1lPSJ0 -bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNldFRy -aWdnZXJpbmdDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iRGVsZXRlTW9uaXRvcmVkSXRlbXNDb3VudCIgVHlwZU5hbWU9 -InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3Jl -YXRlU3Vic2NyaXB0aW9uQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlw -ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvbkNvdW50IiBUeXBl -TmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJTZXRQdWJsaXNoaW5nTW9kZUNvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0 -YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoQ291bnQiIFR5cGVOYW1lPSJ0 -bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcHVi -bGlzaENvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJUcmFuc2ZlclN1YnNjcmlwdGlvbnNDb3VudCIgVHlwZU5hbWU9InRu -czpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVsZXRl -U3Vic2NyaXB0aW9uc0NvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGROb2Rlc0NvdW50IiBUeXBlTmFtZT0idG5zOlNl -cnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGRSZWZlcmVu -Y2VzQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IkRlbGV0ZU5vZGVzQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNv -dW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlbGV0ZVJlZmVyZW5jZXND -b3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iQnJvd3NlQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRh -VHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5leHRDb3VudCIgVHlwZU5hbWU9 -InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJh -bnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291 -bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVlcnlGaXJzdENvdW50IiBU -eXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJRdWVyeU5leHRDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBl -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVnaXN0ZXJOb2Rlc0NvdW50IiBUeXBlTmFtZT0i -dG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVbnJl -Z2lzdGVyTm9kZXNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -IlNlc3Npb25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp -b25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6 -Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50VXNlcklkT2ZTZXNzaW9uIiBU -eXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZDbGllbnRV -c2VySWRIaXN0b3J5IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iQ2xpZW50VXNlcklkSGlzdG9yeSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxk -PSJOb09mQ2xpZW50VXNlcklkSGlzdG9yeSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF1dGhl -bnRpY2F0aW9uTWVjaGFuaXNtIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkVuY29kaW5nIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlRyYW5zcG9ydFByb3RvY29sIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TW9kZSIgVHlwZU5hbWU9InRuczpNZXNzYWdlU2Vj -dXJpdHlNb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlQb2xpY3lVcmkiIFR5 -cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50Q2VydGlm -aWNhdGUiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXJ2aWNlQ291bnRlckRhdGFUeXBl -IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRv -dGFsQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -RXJyb3JDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3RhdHVzUmVzdWx0IiBCYXNlVHlw -ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUi -IFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25v -c3RpY0luZm8iIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgLz4NCiAgPC9vcGM6U3RydWN0 -dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTdWJzY3JpcHRpb25EaWFn -bm9zdGljc0RhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlByaW9yaXR5IiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91Ymxl -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4S2VlcEFsaXZlQ291bnQiIFR5cGVOYW1lPSJv -cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4TGlmZXRpbWVDb3VudCIgVHlw -ZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhOb3RpZmljYXRp -b25zUGVyUHVibGlzaCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJQdWJsaXNoaW5nRW5hYmxlZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iTW9kaWZ5Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iRW5hYmxlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzYWJsZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcHVibGlzaFJlcXVlc3RDb3VudCIgVHlwZU5hbWU9 -Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXB1Ymxpc2hNZXNzYWdlUmVx -dWVzdENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlJlcHVibGlzaE1lc3NhZ2VDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJUcmFuc2ZlclJlcXVlc3RDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc2ZlcnJlZFRvQWx0Q2xpZW50Q291bnQiIFR5 -cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNmZXJyZWRU -b1NhbWVDbGllbnRDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJQdWJsaXNoUmVxdWVzdENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFDaGFuZ2VOb3RpZmljYXRpb25zQ291bnQiIFR5cGVOYW1l -PSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnROb3RpZmljYXRpb25z -Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm90 -aWZpY2F0aW9uc0NvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkxhdGVQdWJsaXNoUmVxdWVzdENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1cnJlbnRLZWVwQWxpdmVDb3VudCIgVHlwZU5hbWU9Im9w -YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdXJyZW50TGlmZXRpbWVDb3VudCIg -VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVbmFja25vd2xl -ZGdlZE1lc3NhZ2VDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJEaXNjYXJkZWRNZXNzYWdlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmVkSXRlbUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJ -bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2FibGVkTW9uaXRvcmVkSXRlbUNvdW50 -IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3Jp -bmdRdWV1ZU92ZXJmbG93Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iTmV4dFNlcXVlbmNlTnVtYmVyIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50UXVldWVPdmVyRmxvd0NvdW50IiBUeXBlTmFtZT0i -b3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJh -dGVkVHlwZSBOYW1lPSJNb2RlbENoYW5nZVN0cnVjdHVyZVZlcmJNYXNrIiBMZW5ndGhJbkJpdHM9 -IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlQWRkZWQiIFZhbHVlPSIx -IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vZGVEZWxldGVkIiBWYWx1ZT0i -MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWZlcmVuY2VBZGRlZCIgVmFs -dWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlRGVsZXRl -ZCIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGF0YVR5cGVD -aGFuZ2VkIiBWYWx1ZT0iMTYiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6 -U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZmZlY3RlZCIg -VHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFmZmVjdGVkVHlw -ZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZlcmIiIFR5 -cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT -dHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZW1hbnRpY0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiBCYXNl -VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFmZmVjdGVk -IiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWZmZWN0ZWRU -eXBlIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJhbmdlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u -T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvdyIgVHlwZU5hbWU9Im9wYzpEb3VibGUi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJIaWdoIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJF -VUluZm9ybWF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5hbWVzcGFjZVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJVbml0SWQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRl -eHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUg -TmFtZT0iQXhpc1NjYWxlRW51bWVyYXRpb24iIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6 -RW51bWVyYXRlZFZhbHVlIE5hbWU9IkxpbmVhciIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVt -ZXJhdGVkVmFsdWUgTmFtZT0iTG9nIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJMbiIgVmFsdWU9IjIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQog -IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ29tcGxleE51bWJlclR5cGUiIEJhc2VUeXBlPSJ1 -YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVhbCIgVHlwZU5hbWU9 -Im9wYzpGbG9hdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkltYWdpbmFyeSIgVHlwZU5hbWU9 -Im9wYzpGbG9hdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJEb3VibGVDb21wbGV4TnVtYmVyVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVu -c2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWFsIiBUeXBlTmFtZT0ib3BjOkRv -dWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkltYWdpbmFyeSIgVHlwZU5hbWU9Im9wYzpE -b3VibGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iQXhpc0luZm9ybWF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZ2luZWVyaW5nVW5pdHMiIFR5cGVOYW1lPSJ0bnM6RVVJ -bmZvcm1hdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVVUmFuZ2UiIFR5cGVOYW1lPSJ0 -bnM6UmFuZ2UiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaXRsZSIgVHlwZU5hbWU9InVhOkxv -Y2FsaXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBeGlzU2NhbGVUeXBlIiBUeXBl -TmFtZT0idG5zOkF4aXNTY2FsZUVudW1lcmF0aW9uIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Tm9PZkF4aXNTdGVwcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkF4aXNTdGVwcyIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIExlbmd0aEZpZWxkPSJOb09mQXhp -c1N0ZXBzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU -eXBlIE5hbWU9IlhWVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJYIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0ib3BjOkZsb2F0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlByb2dyYW1EaWFnbm9zdGljRGF0 -YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iQ3JlYXRlU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iQ3JlYXRlQ2xpZW50TmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJJbnZvY2F0aW9uQ3JlYXRpb25UaW1lIiBUeXBlTmFtZT0ib3BjOkRh -dGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdFRyYW5zaXRpb25UaW1lIiBUeXBl -TmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZENh -bGwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1l -dGhvZFNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ik5vT2ZMYXN0TWV0aG9kSW5wdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kSW5wdXRBcmd1bWVudHMiIFR5cGVOYW1l -PSJ0bnM6QXJndW1lbnQiIExlbmd0aEZpZWxkPSJOb09mTGFzdE1ldGhvZElucHV0QXJndW1lbnRz -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxhc3RNZXRob2RPdXRwdXRBcmd1bWVudHMi -IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9k -T3V0cHV0QXJndW1lbnRzIiBUeXBlTmFtZT0idG5zOkFyZ3VtZW50IiBMZW5ndGhGaWVsZD0iTm9P -Zkxhc3RNZXRob2RPdXRwdXRBcmd1bWVudHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0 -TWV0aG9kQ2FsbFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJMYXN0TWV0aG9kUmV0dXJuU3RhdHVzIiBUeXBlTmFtZT0idG5zOlN0YXR1c1Jlc3Vs -dCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJBbm5vdGF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik1lc3NhZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iVXNlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iQW5ub3RhdGlvblRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRXhj -ZXB0aW9uRGV2aWF0aW9uRm9ybWF0IiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1l -cmF0ZWRWYWx1ZSBOYW1lPSJBYnNvbHV0ZVZhbHVlIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVu -dW1lcmF0ZWRWYWx1ZSBOYW1lPSJQZXJjZW50T2ZWYWx1ZSIgVmFsdWU9IjEiIC8+DQogICAgPG9w -YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUGVyY2VudE9mUmFuZ2UiIFZhbHVlPSIyIiAvPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlBlcmNlbnRPZkVVUmFuZ2UiIFZhbHVlPSIzIiAv -Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVua25vd24iIFZhbHVlPSI0IiAvPg0K -ICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KPC9vcGM6VHlwZURpY3Rpb25hcnk+ - - - - NamespaceUri - A URI that uniquely identifies the dictionary. - - i=68 - i=7617 - - - http://opcfoundation.org/UA/ - - - - TrustListDataType - - i=69 - i=7617 - - - TrustListDataType - - - - Argument - - i=69 - i=7617 - - - Argument - - - - EnumValueType - - i=69 - i=7617 - - - EnumValueType - - - - OptionSet - - i=69 - i=7617 - - - OptionSet - - - - Union - - i=69 - i=7617 - - - Union - - - - 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 - - - - KerberosIdentityToken - - i=69 - i=7617 - - - KerberosIdentityToken - - - - 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 - - - - SupportedProfile - - i=69 - i=7617 - - - SupportedProfile - - - - SoftwareCertificate - - i=69 - i=7617 - - - SoftwareCertificate - - - - 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 - - - - Annotation - - i=69 - i=7617 - - - Annotation - - - \ No newline at end of file + + + + + + + + + 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 + + + Default Binary + The default binary encoding for a data type. + + i=58 + + + + Default XML + The default XML encoding for a data type. + + i=58 + + + + BaseDataType + Describes a value that can have any valid DataType. + + + + Number + Describes a value that can have any numeric DataType. + + i=24 + + + + Integer + Describes a value that can have any integer DataType. + + i=26 + + + + UInteger + Describes a value that can have any unsigned integer DataType. + + i=26 + + + + Enumeration + Describes a value that is an enumerated DataType. + + i=24 + + + + Boolean + Describes a value that is either TRUE or FALSE. + + i=24 + + + + SByte + Describes a value that is an integer between -128 and 127. + + i=27 + + + + Byte + Describes a value that is an integer between 0 and 255. + + i=28 + + + + Int16 + Describes a value that is an integer between −32,768 and 32,767. + + i=27 + + + + UInt16 + Describes a value that is an integer between 0 and 65535. + + i=28 + + + + Int32 + Describes a value that is an integer between −2,147,483,648 and 2,147,483,647. + + i=27 + + + + UInt32 + Describes a value that is an integer between 0 and 4,294,967,295. + + i=28 + + + + Int64 + Describes a value that is an integer between −9,223,372,036,854,775,808 and 9,223,372,036,854,775,807. + + i=27 + + + + UInt64 + Describes a value that is an integer between 0 and 18,446,744,073,709,551,615. + + i=28 + + + + Float + Describes a value that is an IEEE 754-1985 single precision floating point number. + + i=26 + + + + Double + Describes a value that is an IEEE 754-1985 double precision floating point number. + + i=26 + + + + String + Describes a value that is a sequence of printable Unicode characters. + + i=24 + + + + DateTime + Describes a value that is a Gregorian calender date and time. + + i=24 + + + + Guid + Describes a value that is a 128-bit globally unique identifier. + + i=24 + + + + ByteString + Describes a value that is a sequence of bytes. + + i=24 + + + + XmlElement + Describes a value that is an XML element. + + i=24 + + + + NodeId + Describes a value that is an identifier for a node within a Server address space. + + i=24 + + + + ExpandedNodeId + Describes a value that is an absolute identifier for a node. + + i=24 + + + + StatusCode + Describes a value that is a code representing the outcome of an operation by a Server. + + i=24 + + + + QualifiedName + Describes a value that is a name qualified by a namespace. + + i=24 + + + + LocalizedText + Describes a value that is human readable Unicode text with a locale identifier. + + i=24 + + + + Structure + Describes a value that is any type of structure that can be described with a data encoding. + + i=24 + + + + DataValue + Describes a value that is a structure containing a value, a status code and timestamps. + + i=24 + + + + DiagnosticInfo + Describes a value that is a structure containing diagnostics associated with a StatusCode. + + i=24 + + + + Image + Describes a value that is an image encoded as a string of bytes. + + i=15 + + + + Decimal128 + Describes a 128-bit decimal value. + + i=26 + + + + References + The abstract base type for all references. + + + + NonHierarchicalReferences + The abstract base type for all non-hierarchical references. + + i=31 + + NonHierarchicalReferences + + + HierarchicalReferences + The abstract base type for all hierarchical references. + + i=31 + + HierarchicalReferences + + + HasChild + The abstract base type for all non-looping hierarchical references. + + i=33 + + ChildOf + + + Organizes + The type for hierarchical references that are used to organize nodes. + + i=33 + + OrganizedBy + + + HasEventSource + The type for non-looping hierarchical references that are used to organize event sources. + + i=33 + + EventSourceOf + + + HasModellingRule + The type for references from instance declarations to modelling rule nodes. + + i=32 + + ModellingRuleOf + + + HasEncoding + The type for references from data type nodes to to data type encoding nodes. + + i=32 + + EncodingOf + + + HasDescription + The type for references from data type encoding nodes to data type description nodes. + + i=32 + + DescriptionOf + + + HasTypeDefinition + The type for references from a instance node its type defintion node. + + i=32 + + TypeDefinitionOf + + + GeneratesEvent + The type for references from a node to an event type that is raised by node. + + i=32 + + GeneratesEvent + + + AlwaysGeneratesEvent + The type for references from a node to an event type that is always raised by node. + + i=41 + + AlwaysGeneratesEvent + + + Aggregates + The type for non-looping hierarchical references that are used to aggregate nodes into complex types. + + i=34 + + AggregatedBy + + + HasSubtype + The type for non-looping hierarchical references that are used to define sub types. + + i=34 + + SubtypeOf + + + HasProperty + The type for non-looping hierarchical reference from a node to its property. + + i=44 + + PropertyOf + + + HasComponent + The type for non-looping hierarchical reference from a node to its component. + + i=44 + + ComponentOf + + + HasNotifier + The type for non-looping hierarchical references that are used to indicate how events propagate from node to node. + + i=36 + + NotifierOf + + + HasOrderedComponent + The type for non-looping hierarchical reference from a node to its component when the order of references matters. + + i=47 + + OrderedComponentOf + + + FromState + The type for a reference to the state before a transition. + + i=32 + + ToTransition + + + ToState + The type for a reference to the state after a transition. + + i=32 + + FromTransition + + + HasCause + The type for a reference to a method that can cause a transition to occur. + + i=32 + + MayBeCausedBy + + + HasEffect + The type for a reference to an event that may be raised when a transition occurs. + + i=32 + + MayBeEffectedBy + + + HasSubStateMachine + The type for a reference to a substate for a state. + + i=32 + + SubStateMachineOf + + + HasHistoricalConfiguration + The type for a reference to the historical configuration for a data variable. + + i=44 + + HistoricalConfigurationOf + + + BaseObjectType + The base type for all object nodes. + + + + FolderType + The type for objects that organize other nodes. + + i=58 + + + + BaseVariableType + The abstract base type for all variable nodes. + + + + BaseDataVariableType + The type for variable that represents a process value. + + i=62 + + + + PropertyType + The type for variable that represents a property of another node. + + i=62 + + + + DataTypeDescriptionType + The type for variable that represents the description of a data type encoding. + + i=104 + i=105 + i=63 + + + + DataTypeVersion + The version number for the data type description. + + i=68 + i=80 + i=69 + + + + DictionaryFragment + A fragment of a data type dictionary that defines the data type. + + i=68 + i=80 + i=69 + + + + DataTypeDictionaryType + The type for variable that represents the collection of data type decriptions. + + i=106 + i=107 + i=63 + + + + DataTypeVersion + The version number for the data type dictionary. + + i=68 + i=80 + i=72 + + + + NamespaceUri + A URI that uniquely identifies the dictionary. + + i=68 + i=80 + i=72 + + + + DataTypeSystemType + + i=58 + + + + DataTypeEncodingType + + i=58 + + + + NamingRuleType + Describes a value that specifies the significance of the BrowseName for an instance declaration. + + 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=78 + 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 + The type for an object that describes how an instance declaration is used when a type is instantiated. + + i=111 + i=58 + + + + NamingRule + Specified the significances of the BrowseName when a type is instantiated. + + i=68 + i=78 + i=77 + + + 1 + + + + Mandatory + Specifies that an instance with the attributes and references of the instance declaration must appear when a type is instantiated. + + i=112 + i=77 + + + + NamingRule + Specified the significances of the BrowseName when a type is instantiated. + + i=68 + i=78 + + + 1 + + + + Optional + Specifies that an instance with the attributes and references of the instance declaration may appear when a type is instantiated. + + i=113 + i=77 + + + + NamingRule + Specified the significances of the BrowseName when a type is instantiated. + + i=68 + i=80 + + + 2 + + + + ExposesItsArray + Specifies that an instance appears for each element of the containing array variable. + + i=114 + i=77 + + + + NamingRule + Specified the significances of the BrowseName when a type is instantiated. + + i=68 + i=83 + + + 3 + + + + MandatoryShared + Specifies that a reference to a shared instance must appear in when a type is instantiated. + + i=116 + i=77 + + + + NamingRule + Specified the significances of the BrowseName when a type is instantiated. + + i=68 + i=79 + + + 1 + + + + OptionalPlaceholder + Specifies that zero or more instances with the attributes and references of the instance declaration may appear when a type is instantiated. + + i=11509 + i=77 + + + + NamingRule + Specified the significances of the BrowseName when a type is instantiated. + + i=68 + i=11508 + + + 2 + + + + MandatoryPlaceholder + Specifies that one or more instances with the attributes and references of the instance declaration must appear when a type is instantiated. + + i=11511 + i=77 + + + + NamingRule + Specified the significances of the BrowseName when a type is instantiated. + + i=68 + i=11510 + + + 1 + + + + Root + The root of the server address space. + + i=61 + + + + Objects + The browse entry point when looking for objects in the server address space. + + i=84 + i=61 + + + + Types + The browse entry point when looking for types in the server address space. + + i=84 + i=61 + + + + Views + The browse entry point when looking for views in the server address space. + + i=84 + i=61 + + + + ObjectTypes + The browse entry point when looking for object types in the server address space. + + i=86 + i=58 + i=61 + + + + VariableTypes + The browse entry point when looking for variable types in the server address space. + + i=86 + i=62 + i=61 + + + + DataTypes + The browse entry point when looking for data types in the server address space. + + i=86 + i=24 + i=61 + + + + ReferenceTypes + The browse entry point when looking for reference types in the server address space. + + i=86 + i=31 + i=61 + + + + XML Schema + A type system which uses XML schema to describe the encoding of data types. + + i=90 + i=75 + + + + OPC Binary + A type system which uses OPC binary schema to describe the encoding of data types. + + i=90 + i=75 + + + + NodeVersion + The version number of the node (used to indicate changes to references of the owning node). + + i=68 + + + + ViewVersion + The version number of the view. + + i=68 + + + + Icon + A small image representing the object. + + i=68 + + + + LocalTime + The local time where the owning variable value was collected. + + i=68 + + + + AllowNulls + Whether the value of the owning variable is allowed to be null. + + i=68 + + + + ValueAsText + The string representation of the current value for a variable with an enumerated data type. + + i=68 + + + + MaxStringLength + The maximum length for a string that can be stored in the owning variable. + + i=68 + + + + MaxByteStringLength + The maximum length for a byte string that can be stored in the owning variable. + + i=68 + + + + MaxArrayLength + The maximum length for an array that can be stored in the owning variable. + + i=68 + + + + EngineeringUnits + The engineering units for the value of the owning variable. + + i=68 + + + + EnumStrings + The human readable strings associated with the values of an enumerated value (when values are sequential). + + i=68 + + + + EnumValues + The human readable strings associated with the values of an enumerated value (when values have no sequence). + + i=68 + + + + OptionSetValues + Contains the human-readable representation for each bit of the bit mask. + + i=68 + + + + InputArguments + The input arguments for a method. + + i=68 + + + + OutputArguments + The output arguments for a method. + + i=68 + + + + ImageBMP + An image encoded in BMP format. + + i=30 + + + + ImageGIF + An image encoded in GIF format. + + i=30 + + + + ImageJPG + An image encoded in JPEG format. + + i=30 + + + + ImagePNG + An image encoded in PNG format. + + i=30 + + + + ServerType + Specifies the current status and capabilities of the server. + + i=2005 + i=2006 + i=2007 + i=2008 + i=2742 + i=12882 + i=2009 + i=2010 + i=2011 + i=2012 + i=11527 + i=11489 + i=12871 + i=12746 + i=12883 + i=58 + + + + ServerArray + The list of server URIs used by the server. + + i=68 + i=78 + i=2004 + + + + NamespaceArray + The list of namespace URIs used by the server. + + i=68 + i=78 + i=2004 + + + + ServerStatus + The current status of the server. + + 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 + A value indicating the level of service the server can provide. 255 indicates the best. + + i=68 + i=78 + i=2004 + + + + Auditing + A flag indicating whether the server is currently generating audit events. + + i=68 + i=78 + i=2004 + + + + EstimatedReturnTime + Indicates the time at which the Server is expected to be available in the state RUNNING. + + i=68 + i=80 + i=2004 + + + + ServerCapabilities + Describes capabilities supported by the server. + + 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 + A list of profiles supported by the server. + + i=68 + i=78 + i=2009 + + + + LocaleIdArray + A list of locales supported by the server. + + i=68 + i=78 + i=2009 + + + + MinSupportedSampleRate + The minimum sampling interval supported by the server. + + i=68 + i=78 + i=2009 + + + + MaxBrowseContinuationPoints + The maximum number of continuation points for Browse operations per session. + + i=68 + i=78 + i=2009 + + + + MaxQueryContinuationPoints + The maximum number of continuation points for Query operations per session. + + i=68 + i=78 + i=2009 + + + + MaxHistoryContinuationPoints + The maximum number of continuation points for ReadHistory operations per session. + + i=68 + i=78 + i=2009 + + + + SoftwareCertificates + The software certificates owned by the server. + + i=68 + i=78 + i=2009 + + + + ModellingRules + A folder for the modelling rules supported by the server. + + i=61 + i=78 + i=2009 + + + + AggregateFunctions + A folder for the real time aggregates supported by the server. + + i=61 + i=78 + i=2009 + + + + ServerDiagnostics + Reports diagnostics about the server. + + i=3095 + i=3110 + i=3111 + i=3114 + i=2020 + i=78 + i=2004 + + + + ServerDiagnosticsSummary + A summary of server level diagnostics. + + 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 + A list of diagnostics for each active subscription. + + i=2171 + i=78 + i=2010 + + + + SessionsDiagnosticsSummary + A summary of session level diagnostics. + + i=3112 + i=3113 + i=2026 + i=78 + i=2010 + + + + SessionDiagnosticsArray + A list of diagnostics for each active session. + + i=2196 + i=78 + i=3111 + + + + SessionSecurityDiagnosticsArray + A list of security related diagnostics for each active session. + + i=2243 + i=78 + i=3111 + + + + EnabledFlag + If TRUE the diagnostics collection is enabled. + + i=68 + i=78 + i=2010 + + + + VendorServerInfo + Server information provided by the vendor. + + i=2033 + i=78 + i=2004 + + + + ServerRedundancy + Describes the redundancy capabilities of the server. + + i=3115 + i=2034 + i=78 + i=2004 + + + + RedundancySupport + Indicates what style of redundancy is supported by the server. + + i=68 + i=78 + i=2012 + + + + Namespaces + Describes the namespaces supported by the server. + + 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 + + + + + + + + i=297 + + + + ClientHandles + + i=7 + + 1 + + + + + + + + + + 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 + Describes the capabilities supported by the server. + + 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=58 + + + + ServerProfileArray + A list of profiles supported by the server. + + i=68 + i=78 + i=2013 + + + + LocaleIdArray + A list of locales supported by the server. + + i=68 + i=78 + i=2013 + + + + MinSupportedSampleRate + The minimum sampling interval supported by the server. + + i=68 + i=78 + i=2013 + + + + MaxBrowseContinuationPoints + The maximum number of continuation points for Browse operations per session. + + i=68 + i=78 + i=2013 + + + + MaxQueryContinuationPoints + The maximum number of continuation points for Query operations per session. + + i=68 + i=78 + i=2013 + + + + MaxHistoryContinuationPoints + The maximum number of continuation points for ReadHistory operations per session. + + i=68 + i=78 + i=2013 + + + + SoftwareCertificates + The software certificates owned by the server. + + i=68 + i=78 + i=2013 + + + + MaxArrayLength + The maximum length for an array value supported by the server. + + i=68 + i=80 + i=2013 + + + + MaxStringLength + The maximum length for a string value supported by the server. + + i=68 + i=80 + i=2013 + + + + MaxByteStringLength + The maximum length for a byte string value supported by the server. + + i=68 + i=80 + i=2013 + + + + OperationLimits + Defines the limits supported by the server for different operations. + + i=11564 + i=80 + i=2013 + + + + ModellingRules + A folder for the modelling rules supported by the server. + + i=61 + i=78 + i=2013 + + + + AggregateFunctions + A folder for the real time aggregates supported by the server. + + i=61 + i=78 + i=2013 + + + + <VendorCapability> + + i=2137 + i=11508 + i=2013 + + + + ServerDiagnosticsType + The diagnostics information for a server. + + i=2021 + i=2022 + i=2023 + i=2744 + i=2025 + i=58 + + + + ServerDiagnosticsSummary + A summary of server level diagnostics. + + 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 + A list of diagnostics for each sampling interval supported by the server. + + i=2164 + i=80 + i=2020 + + + + SubscriptionDiagnosticsArray + A list of diagnostics for each active subscription. + + i=2171 + i=78 + i=2020 + + + + SessionsDiagnosticsSummary + A summary of session level diagnostics. + + i=3129 + i=3130 + i=2026 + i=78 + i=2020 + + + + SessionDiagnosticsArray + A list of diagnostics for each active session. + + i=2196 + i=78 + i=2744 + + + + SessionSecurityDiagnosticsArray + A list of security related diagnostics for each active session. + + i=2243 + i=78 + i=2744 + + + + EnabledFlag + If TRUE the diagnostics collection is enabled. + + i=68 + i=78 + i=2020 + + + + SessionsDiagnosticsSummaryType + Provides a summary of session level diagnostics. + + i=2027 + i=2028 + i=12097 + i=58 + + + + SessionDiagnosticsArray + A list of diagnostics for each active session. + + i=2196 + i=78 + i=2026 + + + + SessionSecurityDiagnosticsArray + A list of security related diagnostics for each active session. + + i=2243 + i=78 + i=2026 + + + + <ClientName> + + i=12098 + i=12142 + i=12152 + i=2029 + i=11508 + i=2026 + + + + SessionDiagnostics + Diagnostics information for an active session. + + 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 + Security related diagnostics information for an active session. + + 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 + A list of diagnostics for each subscription owned by the session. + + i=2171 + i=78 + i=12097 + + + + SessionDiagnosticsObjectType + A container for session level diagnostics information. + + i=2030 + i=2031 + i=2032 + i=58 + + + + SessionDiagnostics + Diagnostics information for an active session. + + 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 + Security related diagnostics information for an active session. + + 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 + A list of diagnostics for each subscription owned by the session. + + i=2171 + i=78 + i=2029 + + + + VendorServerInfoType + A base type for vendor specific server information. + + i=58 + + + + ServerRedundancyType + A base type for an object that describe how a server supports redundancy. + + i=2035 + i=58 + + + + RedundancySupport + Indicates what style of redundancy is supported by the server. + + i=68 + i=78 + i=2034 + + + + TransparentRedundancyType + Identifies the capabilties of server that supports transparent redundancy. + + i=2037 + i=2038 + i=2034 + + + + CurrentServerId + The ID of the server that is currently in use. + + i=68 + i=78 + i=2036 + + + + RedundantServerArray + A list of servers in the same redundant set. + + i=68 + i=78 + i=2036 + + + + NonTransparentRedundancyType + Identifies the capabilties of server that supports non-transparent redundancy. + + i=2040 + i=2034 + + + + ServerUriArray + A list of servers in the same redundant set. + + i=68 + i=78 + i=2039 + + + + NonTransparentNetworkRedundancyType + + i=11948 + i=2039 + + + + ServerNetworkGroups + + i=68 + i=78 + i=11945 + + + + OperationLimitsType + Identifies the operation limits imposed by the server. + + 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 + The maximum number of operations in a single Read request. + + i=68 + i=80 + i=11564 + + + + MaxNodesPerHistoryReadData + The maximum number of operations in a single data HistoryRead request. + + i=68 + i=80 + i=11564 + + + + MaxNodesPerHistoryReadEvents + The maximum number of operations in a single event HistoryRead request. + + i=68 + i=80 + i=11564 + + + + MaxNodesPerWrite + The maximum number of operations in a single Write request. + + i=68 + i=80 + i=11564 + + + + MaxNodesPerHistoryUpdateData + The maximum number of operations in a single data HistoryUpdate request. + + i=68 + i=80 + i=11564 + + + + MaxNodesPerHistoryUpdateEvents + The maximum number of operations in a single event HistoryUpdate request. + + i=68 + i=80 + i=11564 + + + + MaxNodesPerMethodCall + The maximum number of operations in a single Call request. + + i=68 + i=80 + i=11564 + + + + MaxNodesPerBrowse + The maximum number of operations in a single Browse request. + + i=68 + i=80 + i=11564 + + + + MaxNodesPerRegisterNodes + The maximum number of operations in a single RegisterNodes request. + + i=68 + i=80 + i=11564 + + + + MaxNodesPerTranslateBrowsePathsToNodeIds + The maximum number of operations in a single TranslateBrowsePathsToNodeIds request. + + i=68 + i=80 + i=11564 + + + + MaxNodesPerNodeManagement + The maximum number of operations in a single AddNodes, AddReferences, DeleteNodes or DeleteReferences request. + + i=68 + i=80 + i=11564 + + + + MaxMonitoredItemsPerCall + The maximum number of operations in a single MonitoredItem related request. + + i=68 + i=80 + i=11564 + + + + FileType + An object that represents a file that can be accessed via the server. + + i=11576 + i=12686 + i=12687 + i=11579 + i=13341 + i=11580 + i=11583 + i=11585 + i=11588 + i=11590 + i=11593 + i=58 + + + + Size + The size of the file in bytes. + + i=68 + i=78 + i=11575 + + + + Writable + Whether the file is writable. + + i=68 + i=78 + i=11575 + + + + UserWritable + Whether the file is writable by the current user. + + i=68 + i=78 + i=11575 + + + + OpenCount + The current number of open file handles. + + i=68 + i=78 + i=11575 + + + + MimeType + The content of the file. + + 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 + + + + + + + + + + FileDirectoryType + + i=13354 + i=13366 + i=13387 + i=13390 + i=13393 + i=13395 + i=61 + + + + <FileDirectoryName> + + i=13355 + i=13358 + i=13361 + 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=13362 + i=78 + i=13354 + + + + InputArguments + + i=68 + i=78 + i=13361 + + + + + + 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 + The size of the file in bytes. + + i=68 + i=78 + i=13366 + + + + Writable + Whether the file is writable. + + i=68 + i=78 + i=13366 + + + + UserWritable + Whether the file is writable by the current user. + + i=68 + i=78 + i=13366 + + + + OpenCount + The current number of open file handles. + + 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 + + + + + + + + + + AddressSpaceFileType + A file used to store a namespace exported from the server. + + i=11615 + i=11575 + + + + ExportNamespace + Updates the file by exporting the server namespace. + + i=80 + i=11595 + + + + NamespaceMetadataType + Provides the metadata for a namespace used by the server. + + i=11617 + i=11618 + i=11619 + i=11620 + i=11621 + i=11622 + i=11623 + i=11624 + i=58 + + + + NamespaceUri + The URI of the namespace. + + i=68 + i=78 + i=11616 + + + + NamespaceVersion + The human readable string representing version of the namespace. + + i=68 + i=78 + i=11616 + + + + NamespacePublicationDate + The publication date for the namespace. + + i=68 + i=78 + i=11616 + + + + IsNamespaceSubset + If TRUE then the server only supports a subset of the namespace. + + i=68 + i=78 + i=11616 + + + + StaticNodeIdTypes + A list of IdTypes for nodes which are the same in every server that exposes them. + + i=68 + i=78 + i=11616 + + + + StaticNumericNodeIdRange + A list of ranges for numeric node ids which are the same in every server that exposes them. + + i=68 + i=78 + i=11616 + + + + StaticStringNodeIdPattern + A regular expression which matches string node ids are the same in every server that exposes them. + + i=68 + i=78 + i=11616 + + + + NamespaceFile + A file containing the nodes of the namespace. + + 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 + The size of the file in bytes. + + i=68 + i=78 + i=11624 + + + + Writable + Whether the file is writable. + + i=68 + i=78 + i=11624 + + + + UserWritable + Whether the file is writable by the current user. + + i=68 + i=78 + i=11624 + + + + OpenCount + The current number of open file handles. + + 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 + + + + + + + + + + NamespacesType + A container for the namespace metadata provided by the server. + + i=11646 + i=11675 + i=58 + + + + <NamespaceIdentifier> + + i=11647 + i=11648 + i=11649 + i=11650 + i=11651 + i=11652 + i=11653 + i=11616 + i=11508 + i=11645 + + + + NamespaceUri + The URI of the namespace. + + i=68 + i=78 + i=11646 + + + + NamespaceVersion + The human readable string representing version of the namespace. + + i=68 + i=78 + i=11646 + + + + NamespacePublicationDate + The publication date for the namespace. + + i=68 + i=78 + i=11646 + + + + IsNamespaceSubset + If TRUE then the server only supports a subset of the namespace. + + i=68 + i=78 + i=11646 + + + + StaticNodeIdTypes + A list of IdTypes for nodes which are the same in every server that exposes them. + + i=68 + i=78 + i=11646 + + + + StaticNumericNodeIdRange + A list of ranges for numeric node ids which are the same in every server that exposes them. + + i=68 + i=78 + i=11646 + + + + StaticStringNodeIdPattern + A regular expression which matches string node ids are the same in every server that exposes them. + + i=68 + i=78 + i=11646 + + + + AddressSpaceFile + A file containing the nodes of the namespace. + + i=11676 + i=12694 + i=12695 + i=11679 + i=11680 + i=11683 + i=11685 + i=11688 + i=11690 + i=11693 + i=11595 + i=80 + i=11645 + + + + Size + The size of the file in bytes. + + i=68 + i=78 + i=11675 + + + + Writable + Whether the file is writable. + + i=68 + i=78 + i=11675 + + + + UserWritable + Whether the file is writable by the current user. + + i=68 + i=78 + i=11675 + + + + OpenCount + The current number of open file handles. + + i=68 + i=78 + i=11675 + + + + Open + + i=11681 + i=11682 + i=78 + i=11675 + + + + InputArguments + + i=68 + i=78 + i=11680 + + + + + + i=297 + + + + Mode + + i=3 + + -1 + + + + + + + + + + OutputArguments + + i=68 + i=78 + i=11680 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + + Close + + i=11684 + i=78 + i=11675 + + + + InputArguments + + i=68 + i=78 + i=11683 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + + Read + + i=11686 + i=11687 + i=78 + i=11675 + + + + InputArguments + + i=68 + i=78 + i=11685 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + i=297 + + + + Length + + i=6 + + -1 + + + + + + + + + + OutputArguments + + i=68 + i=78 + i=11685 + + + + + + i=297 + + + + Data + + i=15 + + -1 + + + + + + + + + + Write + + i=11689 + i=78 + i=11675 + + + + InputArguments + + i=68 + i=78 + i=11688 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + i=297 + + + + Data + + i=15 + + -1 + + + + + + + + + + GetPosition + + i=11691 + i=11692 + i=78 + i=11675 + + + + InputArguments + + i=68 + i=78 + i=11690 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + + OutputArguments + + i=68 + i=78 + i=11690 + + + + + + i=297 + + + + Position + + i=9 + + -1 + + + + + + + + + + SetPosition + + i=11694 + i=78 + i=11675 + + + + InputArguments + + i=68 + i=78 + i=11693 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + i=297 + + + + Position + + i=9 + + -1 + + + + + + + + + + BaseEventType + The base type for all events. + + i=2042 + i=2043 + i=2044 + i=2045 + i=2046 + i=2047 + i=3190 + i=2050 + i=2051 + i=58 + + + + EventId + A globally unique identifier for the event. + + i=68 + i=78 + i=2041 + + + + EventType + The identifier for the event type. + + i=68 + i=78 + i=2041 + + + + SourceNode + The source of the event. + + i=68 + i=78 + i=2041 + + + + SourceName + A description of the source of the event. + + i=68 + i=78 + i=2041 + + + + Time + When the event occurred. + + i=68 + i=78 + i=2041 + + + + ReceiveTime + When the server received the event from the underlying system. + + i=68 + i=78 + i=2041 + + + + LocalTime + Information about the local time where the event originated. + + i=68 + i=78 + i=2041 + + + + Message + A localized description of the event. + + i=68 + i=78 + i=2041 + + + + Severity + Indicates how urgent an event is. + + i=68 + i=78 + i=2041 + + + + AuditEventType + A base type for events used to track client initiated changes to the server state. + + i=2053 + i=2054 + i=2055 + i=2056 + i=2057 + i=2041 + + + + ActionTimeStamp + When the action triggering the event occurred. + + i=68 + i=78 + i=2052 + + + + Status + If TRUE the action was performed. If FALSE the action failed and the server state did not change. + + i=68 + i=78 + i=2052 + + + + ServerId + The unique identifier for the server generating the event. + + i=68 + i=78 + i=2052 + + + + ClientAuditEntryId + The log entry id provided in the request that initiated the action. + + i=68 + i=78 + i=2052 + + + + ClientUserId + The user identity associated with the session that initiated the action. + + i=68 + i=78 + i=2052 + + + + AuditSecurityEventType + A base type for events used to track security related changes. + + i=2052 + + + + AuditChannelEventType + A base type for events used to track related changes to a secure channel. + + i=2745 + i=2058 + + + + SecureChannelId + The identifier for the secure channel that was changed. + + i=68 + i=78 + i=2059 + + + + AuditOpenSecureChannelEventType + An event that is raised when a secure channel is opened. + + i=2061 + i=2746 + i=2062 + i=2063 + i=2065 + i=2066 + i=2059 + + + + ClientCertificate + The certificate provided by the client. + + i=68 + i=78 + i=2060 + + + + ClientCertificateThumbprint + The thumbprint for certificate provided by the client. + + i=68 + i=78 + i=2060 + + + + RequestType + The type of request (NEW or RENEW). + + i=68 + i=78 + i=2060 + + + + SecurityPolicyUri + The security policy used by the channel. + + i=68 + i=78 + i=2060 + + + + SecurityMode + The security mode used by the channel. + + i=68 + i=78 + i=2060 + + + + RequestedLifetime + The lifetime of the channel requested by the client. + + i=68 + i=78 + i=2060 + + + + AuditSessionEventType + A base type for events used to track related changes to a session. + + i=2070 + i=2058 + + + + SessionId + The unique identifier for the session,. + + i=68 + i=78 + i=2069 + + + + AuditCreateSessionEventType + An event that is raised when a session is created. + + i=2072 + i=2073 + i=2747 + i=2074 + i=2069 + + + + SecureChannelId + The secure channel associated with the session. + + i=68 + i=78 + i=2071 + + + + ClientCertificate + The certificate provided by the client. + + i=68 + i=78 + i=2071 + + + + ClientCertificateThumbprint + The thumbprint of the certificate provided by the client. + + i=68 + i=78 + i=2071 + + + + RevisedSessionTimeout + The timeout for the session. + + i=68 + i=78 + i=2071 + + + + AuditUrlMismatchEventType + + i=2749 + i=2071 + + + + EndpointUrl + + i=68 + i=78 + i=2748 + + + + AuditActivateSessionEventType + + 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 + + i=2079 + i=2069 + + + + RequestHandle + + i=68 + i=78 + i=2078 + + + + AuditCertificateEventType + + i=2081 + i=2058 + + + + Certificate + + i=68 + i=78 + i=2080 + + + + AuditCertificateDataMismatchEventType + + i=2083 + i=2084 + i=2080 + + + + InvalidHostname + + i=68 + i=78 + i=2082 + + + + InvalidUri + + i=68 + i=78 + i=2082 + + + + AuditCertificateExpiredEventType + + i=2080 + + + + AuditCertificateInvalidEventType + + i=2080 + + + + AuditCertificateUntrustedEventType + + i=2080 + + + + AuditCertificateRevokedEventType + + i=2080 + + + + AuditCertificateMismatchEventType + + i=2080 + + + + AuditNodeManagementEventType + + i=2052 + + + + AuditAddNodesEventType + + i=2092 + i=2090 + + + + NodesToAdd + + i=68 + i=78 + i=2091 + + + + AuditDeleteNodesEventType + + i=2094 + i=2090 + + + + NodesToDelete + + i=68 + i=78 + i=2093 + + + + AuditAddReferencesEventType + + i=2096 + i=2090 + + + + ReferencesToAdd + + i=68 + i=78 + i=2095 + + + + AuditDeleteReferencesEventType + + i=2098 + i=2090 + + + + ReferencesToDelete + + i=68 + i=78 + i=2097 + + + + AuditUpdateEventType + + i=2052 + + + + AuditWriteUpdateEventType + + 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 + + i=2751 + i=2099 + + + + ParameterDataTypeId + + i=68 + i=78 + i=2104 + + + + AuditUpdateMethodEventType + + i=2128 + i=2129 + i=2052 + + + + MethodId + + i=68 + i=78 + i=2127 + + + + InputArguments + + i=68 + i=78 + i=2127 + + + + SystemEventType + + i=2041 + + + + DeviceFailureEventType + + i=2130 + + + + SystemStatusChangeEventType + + i=11696 + i=2130 + + + + SystemState + + i=68 + i=78 + i=11446 + + + + BaseModelChangeEventType + + i=2041 + + + + GeneralModelChangeEventType + + i=2134 + i=2132 + + + + Changes + + i=68 + i=78 + i=2133 + + + + SemanticChangeEventType + + i=2739 + i=2132 + + + + Changes + + i=68 + i=78 + i=2738 + + + + EventQueueOverflowEventType + + i=2041 + + + + ProgressEventType + + i=12502 + i=12503 + i=2041 + + + + Context + + i=68 + i=78 + i=11436 + + + + Progress + + i=68 + i=78 + i=11436 + + + + AggregateFunctionType + + i=58 + + + + ServerVendorCapabilityType + + i=63 + + + + ServerStatusType + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + i=11488 + i=11701 + i=63 + + + + OptionSetValues + + i=68 + i=78 + i=11487 + + + + BitMask + + i=68 + i=80 + i=11487 + + + + EventTypes + + i=86 + i=2041 + i=61 + + + + Server + + i=2254 + i=2255 + i=2256 + i=2267 + i=2994 + i=12885 + i=2268 + i=2274 + i=2295 + i=2296 + i=11715 + i=11492 + i=12873 + i=12749 + i=12886 + i=85 + i=2004 + + + + ServerArray + The list of server URIs used by the server. + + i=68 + i=2253 + + + + NamespaceArray + The list of namespace URIs used by the server. + + i=68 + i=2253 + + + + ServerStatus + The current status of the server. + + 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 + A value indicating the level of service the server can provide. 255 indicates the best. + + i=68 + i=2253 + + + + Auditing + A flag indicating whether the server is currently generating audit events. + + i=68 + i=2253 + + + + EstimatedReturnTime + Indicates the time at which the Server is expected to be available in the state RUNNING. + + i=68 + i=2253 + + + + ServerCapabilities + Describes capabilities supported by the server. + + 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=2013 + i=2253 + + + + ServerProfileArray + A list of profiles supported by the server. + + i=68 + i=2268 + + + + LocaleIdArray + A list of locales supported by the server. + + i=68 + i=2268 + + + + MinSupportedSampleRate + The minimum sampling interval supported by the server. + + i=68 + i=2268 + + + + MaxBrowseContinuationPoints + The maximum number of continuation points for Browse operations per session. + + i=68 + i=2268 + + + + MaxQueryContinuationPoints + The maximum number of continuation points for Query operations per session. + + i=68 + i=2268 + + + + MaxHistoryContinuationPoints + The maximum number of continuation points for ReadHistory operations per session. + + i=68 + i=2268 + + + + SoftwareCertificates + The software certificates owned by the server. + + i=68 + i=2268 + + + + MaxArrayLength + The maximum length for an array value supported by the server. + + i=68 + i=2268 + + + + MaxStringLength + The maximum length for a string value supported by the server. + + i=68 + i=2268 + + + + MaxByteStringLength + The maximum length for a byte string value supported by the server. + + i=68 + i=2268 + + + + OperationLimits + Defines the limits supported by the server for different operations. + + 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 + The maximum number of operations in a single Read request. + + i=68 + i=11704 + + + + MaxNodesPerHistoryReadData + The maximum number of operations in a single data HistoryRead request. + + i=68 + i=11704 + + + + MaxNodesPerHistoryReadEvents + The maximum number of operations in a single event HistoryRead request. + + i=68 + i=11704 + + + + MaxNodesPerWrite + The maximum number of operations in a single Write request. + + i=68 + i=11704 + + + + MaxNodesPerHistoryUpdateData + The maximum number of operations in a single data HistoryUpdate request. + + i=68 + i=11704 + + + + MaxNodesPerHistoryUpdateEvents + The maximum number of operations in a single event HistoryUpdate request. + + i=68 + i=11704 + + + + MaxNodesPerMethodCall + The maximum number of operations in a single Call request. + + i=68 + i=11704 + + + + MaxNodesPerBrowse + The maximum number of operations in a single Browse request. + + i=68 + i=11704 + + + + MaxNodesPerRegisterNodes + The maximum number of operations in a single RegisterNodes request. + + i=68 + i=11704 + + + + MaxNodesPerTranslateBrowsePathsToNodeIds + The maximum number of operations in a single TranslateBrowsePathsToNodeIds request. + + i=68 + i=11704 + + + + MaxNodesPerNodeManagement + The maximum number of operations in a single AddNodes, AddReferences, DeleteNodes or DeleteReferences request. + + i=68 + i=11704 + + + + MaxMonitoredItemsPerCall + The maximum number of operations in a single MonitoredItem related request. + + i=68 + i=11704 + + + + ModellingRules + A folder for the modelling rules supported by the server. + + i=61 + i=2268 + + + + AggregateFunctions + A folder for the real time aggregates supported by the server. + + i=61 + i=2268 + + + + ServerDiagnostics + Reports diagnostics about the server. + + i=2275 + i=2289 + i=2290 + i=3706 + i=2294 + i=2020 + i=2253 + + + + ServerDiagnosticsSummary + A summary of server level diagnostics. + + 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 + A list of diagnostics for each sampling interval supported by the server. + + i=2164 + i=2274 + + + + SubscriptionDiagnosticsArray + A list of diagnostics for each active subscription. + + i=2171 + i=2274 + + + + SessionsDiagnosticsSummary + A summary of session level diagnostics. + + i=3707 + i=3708 + i=2026 + i=2274 + + + + SessionDiagnosticsArray + A list of diagnostics for each active session. + + i=2196 + i=3706 + + + + SessionSecurityDiagnosticsArray + A list of security related diagnostics for each active session. + + i=2243 + i=3706 + + + + EnabledFlag + If TRUE the diagnostics collection is enabled. + + i=68 + i=2274 + + + + VendorServerInfo + Server information provided by the vendor. + + i=2033 + i=2253 + + + + ServerRedundancy + Describes the redundancy capabilities of the server. + + i=3709 + i=11312 + i=11313 + i=11314 + i=14415 + i=2034 + i=2253 + + + + RedundancySupport + Indicates what style of redundancy is supported by the server. + + i=68 + i=2296 + + + + CurrentServerId + + i=68 + i=2296 + + + + RedundantServerArray + + i=68 + i=2296 + + + + ServerUriArray + + i=68 + i=2296 + + + + ServerNetworkGroups + + i=68 + i=2296 + + + + Namespaces + Describes the namespaces supported by the server. + + i=15182 + i=11645 + i=2253 + + + + http://opcfoundation.org/UA/ + + i=15183 + i=15184 + i=15185 + i=15186 + i=15187 + i=15188 + i=15189 + i=11616 + i=11715 + + + + NamespaceUri + The URI of the namespace. + + i=68 + i=15182 + + + http://opcfoundation.org/UA/ + + + + NamespaceVersion + The human readable string representing version of the namespace. + + i=68 + i=15182 + + + 1.03 + + + + NamespacePublicationDate + The publication date for the namespace. + + i=68 + i=15182 + + + 2016-04-15 + + + + IsNamespaceSubset + If TRUE then the server only supports a subset of the namespace. + + i=68 + i=15182 + + + false + + + + StaticNodeIdTypes + A list of IdTypes for nodes which are the same in every server that exposes them. + + i=68 + i=15182 + + + + StaticNumericNodeIdRange + A list of ranges for numeric node ids which are the same in every server that exposes them. + + i=68 + i=15182 + + + + StaticStringNodeIdPattern + A regular expression which matches string node ids are the same in every server that exposes them. + + i=68 + i=15182 + + + + GetMonitoredItems + + 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 + + + + + + + + i=297 + + + + ClientHandles + + i=7 + + 1 + + + + + + + + + + ResendData + + i=12874 + i=2253 + + + + InputArguments + + i=68 + i=12873 + + + + + + i=297 + + + + SubscriptionId + + i=7 + + -1 + + + + + + + + + + SetSubscriptionDurable + + 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 + + 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 + + + + + + + + + + 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=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 + + + + BitFieldMaskDataType + A mask of 32 bits that can be updated individually by using the top 32 bits as a mask. + + i=9 + + + + StateMachineType + + 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 + + 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 + + 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 + + i=2772 + i=2773 + 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 + + + + FiniteStateVariableType + + i=2761 + i=2755 + + + + Id + + i=68 + i=78 + i=2760 + + + + FiniteTransitionVariableType + + i=2768 + i=2762 + + + + Id + + i=68 + i=78 + i=2767 + + + + StateType + + i=2308 + i=58 + + + + StateNumber + + i=68 + i=78 + i=2307 + + + + InitialStateType + + i=2307 + + + + TransitionType + + i=2312 + i=58 + + + + TransitionNumber + + i=68 + i=78 + i=2310 + + + + TransitionEventType + + 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 + + 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=78 + i=11939 + + + + + + i=7616 + + + + 1 + + + + Read + + + + + + + + i=7616 + + + + 2 + + + + Write + + + + + + + + i=7616 + + + + 4 + + + + EraseExisting + + + + + + + + i=7616 + + + + 8 + + + + Append + + + + + + + + + + DataItemType + A variable that contains live automation data. + + i=2366 + i=2367 + i=63 + + + + Definition + A vendor-specific, human readable string that specifies how the value of this DataItem is calculated. + + i=68 + i=80 + i=2365 + + + + ValuePrecision + The maximum precision that the server can maintain for the item based on restrictions in the target environment. + + i=68 + i=80 + i=2365 + + + + AnalogItemType + + i=2370 + i=2369 + i=2371 + i=2365 + + + + InstrumentRange + + i=68 + i=80 + i=2368 + + + + EURange + + i=68 + i=78 + i=2368 + + + + EngineeringUnits + + i=68 + i=80 + i=2368 + + + + DiscreteItemType + + i=2365 + + + + TwoStateDiscreteType + + i=2374 + i=2375 + i=2372 + + + + FalseState + + i=68 + i=78 + i=2373 + + + + TrueState + + i=68 + i=78 + i=2373 + + + + MultiStateDiscreteType + + i=2377 + i=2372 + + + + EnumStrings + + i=68 + i=78 + i=2376 + + + + MultiStateValueDiscreteType + + i=11241 + i=11461 + i=2372 + + + + EnumValues + + i=68 + i=78 + i=11238 + + + + ValueAsText + + i=68 + i=78 + i=11238 + + + + ArrayItemType + + 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 + + i=12037 + i=12021 + + + + XAxisDefinition + + i=68 + i=78 + i=12029 + + + + XYArrayItemType + + i=12046 + i=12021 + + + + XAxisDefinition + + i=68 + i=78 + i=12038 + + + + ImageItemType + + i=12055 + i=12056 + i=12021 + + + + XAxisDefinition + + i=68 + i=78 + i=12047 + + + + YAxisDefinition + + i=68 + i=78 + i=12047 + + + + CubeItemType + + 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 + + i=12076 + i=12021 + + + + AxisDefinition + + i=68 + i=78 + i=12068 + + + + TwoStateVariableType + + 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 + + i=9003 + i=63 + + + + SourceTimestamp + + i=68 + i=78 + i=9002 + + + + HasTrueSubState + + i=32 + + IsTrueSubStateOf + + + HasFalseSubState + + i=32 + + IsFalseSubStateOf + + + ConditionType + + i=11112 + i=11113 + 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 + + + + 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=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 + + + + 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 + + i=2803 + i=78 + i=2782 + + + + Enable + + i=2803 + i=78 + i=2782 + + + + AddComment + + 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 + + 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 suscription to refresh. + + + + + + + + + ConditionRefresh2 + + 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 suscription to refresh. + + + + + + + i=297 + + + + MonitoredItemId + + i=288 + + -1 + + + + + The identifier for the monitored item to refresh. + + + + + + + + + DialogConditionType + + 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=9035 + i=8995 + i=78 + i=2830 + + + + Id + + i=68 + i=78 + i=9055 + + + + TransitionTime + + i=68 + i=80 + i=9055 + + + + 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 + + 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 + + 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=9073 + i=8995 + i=78 + i=2881 + + + + Id + + i=68 + i=78 + i=9093 + + + + TransitionTime + + i=68 + i=80 + i=9093 + + + + ConfirmedState + + i=9103 + i=9107 + i=9073 + i=8995 + i=80 + i=2881 + + + + Id + + i=68 + i=78 + i=9102 + + + + TransitionTime + + i=68 + i=80 + i=9102 + + + + Acknowledge + + 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 + + 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 + + i=9118 + i=9160 + i=11120 + i=9169 + i=9178 + i=9215 + i=9216 + 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=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 + + + + InputNode + + i=68 + i=78 + i=2915 + + + + SuppressedState + + i=9170 + i=9174 + i=9118 + i=8995 + i=80 + i=2915 + + + + Id + + i=68 + i=78 + i=9169 + + + + TransitionTime + + i=68 + i=80 + i=9169 + + + + ShelvingState + + i=9179 + i=9184 + i=9189 + i=9211 + i=9212 + i=9213 + 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 + + + + Unshelve + + i=11093 + i=78 + i=9178 + + + + OneShotShelve + + i=11093 + 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. + + + + + + + + + SuppressedOrShelved + + i=68 + i=78 + i=2915 + + + + MaxTimeShelved + + i=68 + i=80 + i=2915 + + + + ShelvedStateMachineType + + i=9115 + i=2930 + i=2932 + i=2933 + i=2935 + i=2936 + i=2940 + i=2942 + i=2943 + i=2945 + i=2947 + i=2948 + i=2949 + 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 + + + + TimedShelved + + i=6100 + i=2935 + i=2940 + i=2942 + i=2945 + i=2307 + i=2929 + + + + StateNumber + + i=68 + i=78 + i=2932 + + + + OneShotShelved + + i=6101 + i=2936 + i=2942 + i=2943 + i=2945 + i=2307 + i=2929 + + + + StateNumber + + i=68 + i=78 + i=2933 + + + + UnshelvedToTimedShelved + + i=11322 + i=2930 + i=2932 + i=2915 + i=2949 + i=2310 + i=2929 + + + + TransitionNumber + + i=68 + i=78 + i=2935 + + + + UnshelvedToOneShotShelved + + i=11323 + i=2930 + i=2933 + i=2915 + i=2948 + i=2310 + i=2929 + + + + TransitionNumber + + i=68 + i=78 + i=2936 + + + + TimedShelvedToUnshelved + + i=11324 + i=2932 + i=2930 + i=2915 + i=2947 + i=2310 + i=2929 + + + + TransitionNumber + + i=68 + i=78 + i=2940 + + + + TimedShelvedToOneShotShelved + + i=11325 + i=2932 + i=2933 + i=2915 + i=2948 + i=2310 + i=2929 + + + + TransitionNumber + + i=68 + i=78 + i=2942 + + + + OneShotShelvedToUnshelved + + i=11326 + i=2933 + i=2930 + i=2915 + i=2947 + i=2310 + i=2929 + + + + TransitionNumber + + i=68 + i=78 + i=2943 + + + + OneShotShelvedToTimedShelved + + i=11327 + i=2933 + i=2932 + i=2915 + i=2949 + i=2310 + i=2929 + + + + TransitionNumber + + i=68 + i=78 + i=2945 + + + + Unshelve + + i=2940 + i=2943 + i=11093 + i=78 + i=2929 + + + + OneShotShelve + + i=2936 + i=2942 + i=11093 + i=78 + i=2929 + + + + TimedShelve + + 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. + + + + + + + + + LimitAlarmType + + i=11124 + i=11125 + i=11126 + i=11127 + 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 + + + + ExclusiveLimitStateMachineType + + 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 + + + + High + + i=9332 + i=9339 + i=9340 + i=2307 + i=9318 + + + + StateNumber + + i=68 + i=78 + i=9331 + + + + Low + + i=9334 + i=9337 + i=9338 + i=2307 + i=9318 + + + + StateNumber + + i=68 + i=78 + i=9333 + + + + LowLow + + i=9336 + i=9337 + i=9338 + i=2307 + i=9318 + + + + StateNumber + + i=68 + i=78 + i=9335 + + + + LowLowToLow + + i=11340 + i=9335 + i=9333 + i=2310 + i=9318 + + + + TransitionNumber + + i=68 + i=78 + i=9337 + + + + LowToLowLow + + i=11341 + i=9333 + i=9335 + i=2310 + i=9318 + + + + TransitionNumber + + i=68 + i=78 + i=9338 + + + + HighHighToHigh + + i=11342 + i=9329 + i=9331 + i=2310 + i=9318 + + + + TransitionNumber + + i=68 + i=78 + i=9339 + + + + HighToHighHigh + + i=11343 + i=9331 + i=9329 + i=2310 + i=9318 + + + + TransitionNumber + + i=68 + i=78 + i=9340 + + + + ExclusiveLimitAlarmType + + 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 + + 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=9963 + i=8995 + i=80 + i=9906 + + + + Id + + i=68 + i=78 + i=10020 + + + + TransitionTime + + i=68 + i=80 + i=10020 + + + + HighState + + i=10030 + i=10034 + i=9963 + i=8995 + i=80 + i=9906 + + + + Id + + i=68 + i=78 + i=10029 + + + + TransitionTime + + i=68 + i=80 + i=10029 + + + + LowState + + i=10039 + i=10043 + i=9963 + i=8995 + i=80 + i=9906 + + + + Id + + i=68 + i=78 + i=10038 + + + + TransitionTime + + i=68 + i=80 + i=10038 + + + + LowLowState + + i=10048 + i=10052 + i=9963 + i=8995 + i=80 + i=9906 + + + + Id + + i=68 + i=78 + i=10047 + + + + TransitionTime + + i=68 + i=80 + i=10047 + + + + NonExclusiveLevelAlarmType + + i=9906 + + + + ExclusiveLevelAlarmType + + i=9341 + + + + NonExclusiveDeviationAlarmType + + i=10522 + i=9906 + + + + SetpointNode + + i=68 + i=78 + i=10368 + + + + ExclusiveDeviationAlarmType + + i=9905 + i=9341 + + + + SetpointNode + + i=68 + i=78 + i=9764 + + + + NonExclusiveRateOfChangeAlarmType + + i=9906 + + + + ExclusiveRateOfChangeAlarmType + + i=9341 + + + + DiscreteAlarmType + + i=2915 + + + + OffNormalAlarmType + + i=11158 + i=10523 + + + + NormalState + + i=68 + i=78 + i=10637 + + + + SystemOffNormalAlarmType + + i=10637 + + + + CertificateExpirationAlarmType + + 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 + + + + TripAlarmType + + i=10637 + + + + BaseConditionClassType + + i=58 + + + + ProcessConditionClassType + + i=11163 + + + + MaintenanceConditionClassType + + i=11163 + + + + SystemConditionClassType + + i=11163 + + + + AuditConditionEventType + + i=2127 + + + + AuditConditionEnableEventType + + i=2790 + + + + AuditConditionCommentEventType + + i=4170 + i=11851 + i=2790 + + + + EventId + A globally unique identifier for the event. + + i=68 + i=78 + i=2829 + + + + Comment + + i=68 + i=78 + i=2829 + + + + AuditConditionRespondEventType + + i=11852 + i=2790 + + + + SelectedResponse + + i=68 + i=78 + i=8927 + + + + AuditConditionAcknowledgeEventType + + i=8945 + i=11853 + i=2790 + + + + EventId + A globally unique identifier for the event. + + i=68 + i=78 + i=8944 + + + + Comment + + i=68 + i=78 + i=8944 + + + + AuditConditionConfirmEventType + + i=8962 + i=11854 + i=2790 + + + + EventId + A globally unique identifier for the event. + + i=68 + i=78 + i=8961 + + + + Comment + + i=68 + i=78 + i=8961 + + + + AuditConditionShelvingEventType + + i=11855 + i=2790 + + + + ShelvingTime + + i=68 + i=78 + i=11093 + + + + RefreshStartEventType + + i=2130 + + + + RefreshEndEventType + + i=2130 + + + + RefreshRequiredEventType + + i=2130 + + + + HasCondition + + i=32 + + IsConditionOf + + + ProgramStateMachineType + A state machine for a program. + + i=3830 + i=3835 + i=2392 + i=2393 + i=2394 + i=2395 + i=2396 + i=2397 + i=2398 + i=2399 + i=3850 + i=2400 + i=2402 + i=2404 + i=2406 + 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=79 + i=2391 + + + + RecycleCount + + i=68 + i=78 + i=2391 + + + + InstanceCount + + i=68 + i=2391 + + + + MaxInstanceCount + + i=68 + i=2391 + + + + MaxRecycleCount + + i=68 + i=2391 + + + + ProgramDiagnostics + + i=3840 + i=3841 + i=3842 + i=3843 + i=3844 + i=3845 + i=3846 + i=3847 + i=3848 + i=3849 + i=2380 + i=80 + i=2391 + + + + CreateSessionId + + i=68 + i=78 + i=2399 + + + + CreateClientName + + i=68 + i=78 + i=2399 + + + + InvocationCreationTime + + i=68 + i=78 + i=2399 + + + + LastTransitionTime + + i=68 + i=78 + i=2399 + + + + LastMethodCall + + i=68 + i=78 + i=2399 + + + + LastMethodSessionId + + i=68 + i=78 + i=2399 + + + + LastMethodInputArguments + + i=68 + i=78 + i=2399 + + + + LastMethodOutputArguments + + i=68 + i=78 + i=2399 + + + + LastMethodCallTime + + i=68 + i=78 + i=2399 + + + + LastMethodReturnStatus + + i=68 + i=78 + i=2399 + + + + FinalResultData + + i=58 + i=80 + i=2391 + + + + Ready + The Program is properly initialized and may be started. + + i=2401 + i=2408 + i=2410 + i=2414 + i=2422 + i=2424 + i=2307 + i=2391 + + + + StateNumber + + i=68 + i=78 + i=2400 + + + 1 + + + + Running + The Program is executing making progress towards completion. + + i=2403 + i=2410 + i=2412 + i=2414 + i=2416 + i=2418 + i=2307 + i=2391 + + + + StateNumber + + i=68 + i=78 + i=2402 + + + 2 + + + + Suspended + The Program has been stopped prior to reaching a terminal state but may be resumed. + + i=2405 + i=2416 + i=2418 + i=2420 + i=2422 + i=2307 + i=2391 + + + + StateNumber + + i=68 + i=78 + i=2404 + + + 3 + + + + Halted + The Program is in a terminal or failed state, and it cannot be started or resumed without being reset. + + i=2407 + i=2408 + i=2412 + i=2420 + i=2424 + i=2307 + i=2391 + + + + StateNumber + + i=68 + i=78 + i=2406 + + + 4 + + + + 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 + Causes the Program to transition from the Ready state to the Running state. + + i=2410 + i=78 + i=2391 + + + + Suspend + Causes the Program to transition from the Running state to the Suspended state. + + i=2416 + i=78 + i=2391 + + + + Resume + Causes the Program to transition from the Suspended state to the Running state. + + i=2418 + i=78 + i=2391 + + + + Halt + Causes the Program to transition from the Ready, Running or Suspended state to the Halted state. + + i=2412 + i=2420 + i=2424 + i=78 + i=2391 + + + + Reset + Causes the Program to transition from the Halted state to the Ready state. + + i=2408 + i=78 + i=2391 + + + + ProgramTransitionEventType + + i=2379 + i=2311 + + + + IntermediateResult + + i=68 + i=78 + i=2378 + + + + AuditProgramTransitionEventType + + 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 + + + + Annotations + + i=68 + + + + HistoricalDataConfigurationType + + i=3059 + i=11876 + i=2323 + i=2324 + i=2325 + i=2326 + i=2327 + i=2328 + i=11499 + i=11500 + 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 + + + + HA Configuration + + 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 + + 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=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 + + + + AuditHistoryEventUpdateEventType + + 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 + + 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 + + + + AuditHistoryDeleteEventType + + i=3027 + i=2104 + + + + UpdatedNode + + i=68 + i=78 + i=3012 + + + + AuditHistoryRawModifyDeleteEventType + + 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 + + i=3020 + i=3021 + i=3012 + + + + ReqTimes + + i=68 + i=78 + i=3019 + + + + OldValues + + i=68 + i=78 + i=3019 + + + + AuditHistoryEventDeleteEventType + + i=3023 + i=3024 + i=3012 + + + + EventIds + + i=68 + i=78 + i=3022 + + + + OldValues + + i=68 + i=78 + i=3022 + + + + TrustListType + + i=12542 + i=12543 + i=12546 + i=12548 + i=12550 + i=11575 + + + + LastUpdateTime + + i=68 + i=78 + 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=78 + 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 + + + + + + + + + + + CertificateGroupType + + i=13599 + i=13631 + 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 + The size of the file in bytes. + + i=68 + i=78 + i=13599 + + + + Writable + Whether the file is writable. + + i=68 + i=78 + i=13599 + + + + UserWritable + Whether the file is writable by the current user. + + i=68 + i=78 + i=13599 + + + + OpenCount + The current number of open file handles. + + 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 + + + + 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 + The size of the file in bytes. + + i=68 + i=78 + i=13815 + + + + Writable + Whether the file is writable. + + i=68 + i=78 + i=13815 + + + + UserWritable + Whether the file is writable by the current user. + + i=68 + i=78 + i=13815 + + + + OpenCount + The current number of open file handles. + + 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 + The size of the file in bytes. + + i=68 + i=78 + i=13849 + + + + Writable + Whether the file is writable. + + i=68 + i=78 + i=13849 + + + + UserWritable + Whether the file is writable by the current user. + + i=68 + i=78 + i=13849 + + + + OpenCount + The current number of open file handles. + + 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 + The size of the file in bytes. + + i=68 + i=78 + i=13883 + + + + Writable + Whether the file is writable. + + i=68 + i=78 + i=13883 + + + + UserWritable + Whether the file is writable by the current user. + + i=68 + i=78 + i=13883 + + + + OpenCount + The current number of open file handles. + + 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 + The size of the file in bytes. + + i=68 + i=78 + i=13917 + + + + Writable + Whether the file is writable. + + i=68 + i=78 + i=13917 + + + + UserWritable + Whether the file is writable by the current user. + + i=68 + i=78 + i=13917 + + + + OpenCount + The current number of open file handles. + + 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 + + + + RsaMinApplicationCertificateType + + i=12557 + + + + RsaSha256ApplicationCertificateType + + i=12557 + + + + 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 + The size of the file in bytes. + + i=68 + i=78 + i=13952 + + + + Writable + Whether the file is writable. + + i=68 + i=78 + i=13952 + + + + UserWritable + Whether the file is writable by the current user. + + i=68 + i=78 + i=13952 + + + + OpenCount + The current number of open file handles. + + 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 + + + + + + + + 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 + + + + + + + + + + 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 + The size of the file in bytes. + + i=68 + i=12642 + + + + Writable + Whether the file is writable. + + i=68 + i=12642 + + + + UserWritable + Whether the file is writable by the current user. + + i=68 + i=12642 + + + + OpenCount + The current number of open file handles. + + i=68 + i=12642 + + + + Open + + 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 + + i=12651 + i=12642 + + + + InputArguments + + i=68 + i=12650 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + + Read + + 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 + + i=12656 + i=12642 + + + + InputArguments + + i=68 + i=12655 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + i=297 + + + + Data + + i=15 + + -1 + + + + + + + + + + GetPosition + + 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 + + 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 + The size of the file in bytes. + + i=68 + i=14089 + + + + Writable + Whether the file is writable. + + i=68 + i=14089 + + + + UserWritable + Whether the file is writable by the current user. + + i=68 + i=14089 + + + + OpenCount + The current number of open file handles. + + 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 + The size of the file in bytes. + + i=68 + i=14123 + + + + Writable + Whether the file is writable. + + i=68 + i=14123 + + + + UserWritable + Whether the file is writable by the current user. + + i=68 + i=14123 + + + + OpenCount + The current number of open file handles. + + 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 + + + + + + + + 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 + + + + + + + + + + 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 + At the beginning of each interval, retrieve the calculated value from the data points on either side of the requested timestamp. + + i=2340 + + + + Average + Retrieve the average value of the data over the interval. + + i=2340 + + + + TimeAverage + Retrieve the time weighted average data over the interval using Interpolated Bounding Values. + + i=2340 + + + + TimeAverage2 + Retrieve the time weighted average data over the interval using Simple Bounding Values. + + i=2340 + + + + Total + Retrieve the total (time integral) of the data over the interval using Interpolated Bounding Values. + + i=2340 + + + + Total2 + Retrieve the total (time integral) of the data over the interval using Simple Bounding Values. + + i=2340 + + + + Minimum + Retrieve the minimum raw value in the interval with the timestamp of the start of the interval. + + i=2340 + + + + Maximum + Retrieve the maximum raw value in the interval with the timestamp of the start of the interval. + + i=2340 + + + + MinimumActualTime + Retrieve the minimum value in the interval and the Timestamp of the minimum value. + + i=2340 + + + + MaximumActualTime + Retrieve the maximum value in the interval and the Timestamp of the maximum value. + + i=2340 + + + + Range + Retrieve the difference between the minimum and maximum Value over the interval. + + i=2340 + + + + Minimum2 + Retrieve the minimum value in the interval including the Simple Bounding Values. + + i=2340 + + + + Maximum2 + Retrieve the maximum value in the interval including the Simple Bounding Values. + + i=2340 + + + + MinimumActualTime2 + Retrieve the minimum value with the actual timestamp including the Simple Bounding Values. + + i=2340 + + + + MaximumActualTime2 + Retrieve the maximum value with the actual timestamp including the Simple Bounding Values. + + i=2340 + + + + Range2 + Retrieve the difference between the Minimum2 and Maximum2 value over the interval. + + i=2340 + + + + AnnotationCount + Retrieve the number of Annotations in the interval. + + i=2340 + + + + Count + Retrieve the number of raw values over the interval. + + i=2340 + + + + DurationInStateZero + Retrieve the time a Boolean or numeric was in a zero state using Simple Bounding Values. + + i=2340 + + + + DurationInStateNonZero + Retrieve the time a Boolean or numeric was in a non-zero state using Simple Bounding Values. + + i=2340 + + + + NumberOfTransitions + Retrieve the number of changes between zero and non-zero that a Boolean or Numeric value experienced in the interval. + + i=2340 + + + + Start + Retrieve the value at the beginning of the interval using Interpolated Bounding Values. + + i=2340 + + + + End + Retrieve the value at the end of the interval using Interpolated Bounding Values. + + i=2340 + + + + Delta + Retrieve the difference between the Start and End value in the interval. + + i=2340 + + + + StartBound + Retrieve the value at the beginning of the interval using Simple Bounding Values. + + i=2340 + + + + EndBound + Retrieve the value at the end of the interval using Simple Bounding Values. + + i=2340 + + + + DeltaBounds + Retrieve the difference between the StartBound and EndBound value in the interval. + + i=2340 + + + + DurationGood + Retrieve the total duration of time in the interval during which the data is good. + + i=2340 + + + + DurationBad + Retrieve the total duration of time in the interval during which the data is bad. + + i=2340 + + + + PercentGood + Retrieve the percent of data (0 to 100) in the interval which has a good StatusCode. + + i=2340 + + + + PercentBad + Retrieve the percent of data (0 to 100) in the interval which has a bad StatusCode. + + i=2340 + + + + WorstQuality + Retrieve the worst StatusCode of data in the interval. + + i=2340 + + + + WorstQuality2 + Retrieve the worst StatusCode of data in the interval including the Simple Bounding Values. + + i=2340 + + + + StandardDeviationSample + Retrieve the standard deviation for the interval for a sample of the population (n-1). + + i=2340 + + + + StandardDeviationPopulation + Retrieve the standard deviation for the interval for a complete population (n) which includes Simple Bounding Values. + + i=2340 + + + + VarianceSample + Retrieve the variance for the interval as calculated by the StandardDeviationSample. + + i=2340 + + + + VariancePopulation + Retrieve the variance for the interval as calculated by the StandardDeviationPopulation which includes Simple Bounding Values. + + i=2340 + + + + IdType + The type of identifier used in a node id. + + i=7591 + i=29 + + + + The identifier is a numeric value. 0 is a null value. + + + The identifier is a string value. An empty string is a null value. + + + The identifier is a 16 byte structure. 16 zero bytes is a null value. + + + The identifier is an array of bytes. A zero length array is a null value. + + + + + EnumStrings + + i=68 + i=78 + i=256 + + + + + + + Numeric + + + + + String + + + + + Guid + + + + + Opaque + + + + + + NodeClass + A mask specifying the class of the node. + + i=11878 + i=29 + + + + No classes are selected. + + + The node is an object. + + + The node is a variable. + + + The node is a method. + + + The node is an object type. + + + The node is an variable type. + + + The node is a reference type. + + + The node is a data type. + + + The node is a view. + + + + + EnumValues + + i=68 + i=78 + i=257 + + + + + + i=7616 + + + + 0 + + + + Unspecified + + + + + No classes are selected. + + + + + + + i=7616 + + + + 1 + + + + Object + + + + + The node is an object. + + + + + + + i=7616 + + + + 2 + + + + Variable + + + + + The node is a variable. + + + + + + + i=7616 + + + + 4 + + + + Method + + + + + The node is a method. + + + + + + + i=7616 + + + + 8 + + + + ObjectType + + + + + The node is an object type. + + + + + + + i=7616 + + + + 16 + + + + VariableType + + + + + The node is an variable type. + + + + + + + i=7616 + + + + 32 + + + + ReferenceType + + + + + The node is a reference type. + + + + + + + i=7616 + + + + 64 + + + + DataType + + + + + The node is a data type. + + + + + + + i=7616 + + + + 128 + + + + View + + + + + The node is a view. + + + + + + + + + Argument + An argument for a method. + + i=22 + + + + The name of the argument. + + + The data type of the argument. + + + Whether the argument is an array type and the rank of the array if it is. + + + The number of dimensions if the argument is an array type and one or more dimensions have a fixed length. + + + The description for the argument. + + + + + EnumValueType + A mapping between a value of an enumerated type and a name and description. + + i=22 + + + + The value of the enumeration. + + + Human readable name for the value. + + + A description of the value. + + + + + OptionSet + This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask. + + i=22 + + + + Array of bytes representing the bits in the option set. + + + Array of bytes with same size as value representing the valid bits in the value parameter. + + + + + Union + This abstract DataType is the base DataType for all union DataTypes. + + i=22 + + + + NormalizedString + A string normalized based on the rules in the unicode specification. + + i=12 + + + + DecimalString + An arbitraty numeric value. + + i=12 + + + + DurationString + A period of time formatted as defined in ISO 8601-2000. + + i=12 + + + + TimeString + A time formatted as defined in ISO 8601-2000. + + i=12 + + + + DateString + A date formatted as defined in ISO 8601-2000. + + i=12 + + + + Duration + A period of time measured in milliseconds. + + i=11 + + + + UtcTime + A date/time value specified in Universal Coordinated Time (UTC). + + i=13 + + + + LocaleId + An identifier for a user locale. + + i=12 + + + + TimeZoneDataType + + i=22 + + + + + + + + IntegerId + A numeric identifier for an object. + + i=7 + + + + ApplicationType + The types of applications. + + i=7597 + i=29 + + + + The application is a server. + + + The application is a client. + + + The application is a client and a server. + + + The application is a discovery server. + + + + + EnumStrings + + i=68 + i=78 + i=307 + + + + + + + Server + + + + + Client + + + + + ClientAndServer + + + + + DiscoveryServer + + + + + + ApplicationDescription + Describes an application and how to find it. + + i=22 + + + + The globally unique identifier for the application. + + + The globally unique identifier for the product. + + + The name of application. + + + The type of application. + + + The globally unique identifier for the server that is acting as a gateway for the server. + + + The globally unique identifier for the discovery profile supported by the server. + + + The URLs for the server's discovery endpoints. + + + + + ServerOnNetwork + + i=22 + + + + + + + + + + ApplicationInstanceCertificate + A certificate for an instance of an application. + + i=15 + + + + MessageSecurityMode + The type of security to use on a message. + + i=7595 + i=29 + + + + An invalid mode. + + + No security is used. + + + The message is signed. + + + The message is signed and encrypted. + + + + + EnumStrings + + i=68 + i=78 + i=302 + + + + + + + Invalid + + + + + None + + + + + Sign + + + + + SignAndEncrypt + + + + + + UserTokenType + The possible user token types. + + i=7596 + i=29 + + + + An anonymous user. + + + A user identified by a user name and password. + + + A user identified by an X509 certificate. + + + A user identified by WS-Security XML token. + + + + + EnumStrings + + i=68 + i=78 + i=303 + + + + + + + Anonymous + + + + + UserName + + + + + Certificate + + + + + IssuedToken + + + + + + UserTokenPolicy + Describes a user token that can be used with a server. + + i=22 + + + + A identifier for the policy assigned by the server. + + + The type of user token. + + + The type of issued token. + + + The endpoint or any other information need to contruct an issued token URL. + + + The security policy to use when encrypting or signing the user token. + + + + + EndpointDescription + The description of a endpoint that can be used to access a server. + + i=22 + + + + The network endpoint to use when connecting to the server. + + + The description of the server. + + + The server's application certificate. + + + The security mode that must be used when connecting to the endpoint. + + + The security policy to use when connecting to the endpoint. + + + The user identity tokens that can be used with this endpoint. + + + The transport profile to use when connecting to the endpoint. + + + A server assigned value that indicates how secure the endpoint is relative to other server endpoints. + + + + + RegisteredServer + The information required to register a server with a discovery server. + + i=22 + + + + The globally unique identifier for the server. + + + The globally unique identifier for the product. + + + The name of server in multiple lcoales. + + + The type of server. + + + The globally unique identifier for the server that is acting as a gateway for the server. + + + The URLs for the server's discovery endpoints. + + + A path to a file that is deleted when the server is no longer accepting connections. + + + If FALSE the server will save the registration information to a persistent datastore. + + + + + DiscoveryConfiguration + A base type for discovery configuration information. + + i=22 + + + + MdnsDiscoveryConfiguration + The discovery information needed for mDNS registration. + + i=12890 + + + + The name for server that is broadcast via mDNS. + + + The server capabilities that are broadcast via mDNS. + + + + + SecurityTokenRequestType + Indicates whether a token if being created or renewed. + + i=7598 + i=29 + + + + The channel is being created. + + + The channel is being renewed. + + + + + EnumStrings + + i=68 + i=78 + i=315 + + + + + + + Issue + + + + + Renew + + + + + + SignedSoftwareCertificate + A software certificate with a digital signature. + + i=22 + + + + The data of the certificate. + + + The digital signature. + + + + + SessionAuthenticationToken + A unique identifier for a session used to authenticate requests. + + i=17 + + + + UserIdentityToken + A base type for a user identity token. + + i=22 + + + + The policy id specified in a user token policy for the endpoint being used. + + + + + AnonymousIdentityToken + A token representing an anonymous user. + + i=316 + + + + UserNameIdentityToken + A token representing a user identified by a user name and password. + + i=316 + + + + The user name. + + + The password encrypted with the server certificate. + + + The algorithm used to encrypt the password. + + + + + X509IdentityToken + A token representing a user identified by an X509 certificate. + + i=316 + + + + The certificate. + + + + + IssuedIdentityToken + A token representing a user identified by a WS-Security XML token. + + i=316 + + + + The XML token encrypted with the server certificate. + + + The algorithm used to encrypt the certificate. + + + + + NodeAttributesMask + The bits used to specify default attributes for a new node. + + i=11881 + i=29 + + + + No attribuites provided. + + + The access level attribute is specified. + + + The array dimensions attribute is specified. + + + The browse name attribute is specified. + + + The contains no loops attribute is specified. + + + The data type attribute is specified. + + + The description attribute is specified. + + + The display name attribute is specified. + + + The event notifier attribute is specified. + + + The executable attribute is specified. + + + The historizing attribute is specified. + + + The inverse name attribute is specified. + + + The is abstract attribute is specified. + + + The minimum sampling interval attribute is specified. + + + The node class attribute is specified. + + + The node id attribute is specified. + + + The symmetric attribute is specified. + + + The user access level attribute is specified. + + + The user executable attribute is specified. + + + The user write mask attribute is specified. + + + The value rank attribute is specified. + + + The write mask attribute is specified. + + + The value attribute is specified. + + + All attributes are specified. + + + All base attributes are specified. + + + All object attributes are specified. + + + All object type or data type attributes are specified. + + + All variable attributes are specified. + + + All variable type attributes are specified. + + + All method attributes are specified. + + + All reference type attributes are specified. + + + All view attributes are specified. + + + + + EnumValues + + i=68 + i=78 + i=348 + + + + + + i=7616 + + + + 0 + + + + None + + + + + No attribuites provided. + + + + + + + i=7616 + + + + 1 + + + + AccessLevel + + + + + The access level attribute is specified. + + + + + + + i=7616 + + + + 2 + + + + ArrayDimensions + + + + + The array dimensions attribute is specified. + + + + + + + i=7616 + + + + 4 + + + + BrowseName + + + + + The browse name attribute is specified. + + + + + + + i=7616 + + + + 8 + + + + ContainsNoLoops + + + + + The contains no loops attribute is specified. + + + + + + + i=7616 + + + + 16 + + + + DataType + + + + + The data type attribute is specified. + + + + + + + i=7616 + + + + 32 + + + + Description + + + + + The description attribute is specified. + + + + + + + i=7616 + + + + 64 + + + + DisplayName + + + + + The display name attribute is specified. + + + + + + + i=7616 + + + + 128 + + + + EventNotifier + + + + + The event notifier attribute is specified. + + + + + + + i=7616 + + + + 256 + + + + Executable + + + + + The executable attribute is specified. + + + + + + + i=7616 + + + + 512 + + + + Historizing + + + + + The historizing attribute is specified. + + + + + + + i=7616 + + + + 1024 + + + + InverseName + + + + + The inverse name attribute is specified. + + + + + + + i=7616 + + + + 2048 + + + + IsAbstract + + + + + The is abstract attribute is specified. + + + + + + + i=7616 + + + + 4096 + + + + MinimumSamplingInterval + + + + + The minimum sampling interval attribute is specified. + + + + + + + i=7616 + + + + 8192 + + + + NodeClass + + + + + The node class attribute is specified. + + + + + + + i=7616 + + + + 16384 + + + + NodeId + + + + + The node id attribute is specified. + + + + + + + i=7616 + + + + 32768 + + + + Symmetric + + + + + The symmetric attribute is specified. + + + + + + + i=7616 + + + + 65536 + + + + UserAccessLevel + + + + + The user access level attribute is specified. + + + + + + + i=7616 + + + + 131072 + + + + UserExecutable + + + + + The user executable attribute is specified. + + + + + + + i=7616 + + + + 262144 + + + + UserWriteMask + + + + + The user write mask attribute is specified. + + + + + + + i=7616 + + + + 524288 + + + + ValueRank + + + + + The value rank attribute is specified. + + + + + + + i=7616 + + + + 1048576 + + + + WriteMask + + + + + The write mask attribute is specified. + + + + + + + i=7616 + + + + 2097152 + + + + Value + + + + + The value attribute is specified. + + + + + + + i=7616 + + + + 4194303 + + + + All + + + + + All attributes are specified. + + + + + + + i=7616 + + + + 1335396 + + + + BaseNode + + + + + All base attributes are specified. + + + + + + + i=7616 + + + + 1335524 + + + + Object + + + + + All object attributes are specified. + + + + + + + i=7616 + + + + 1337444 + + + + ObjectTypeOrDataType + + + + + All object type or data type attributes are specified. + + + + + + + i=7616 + + + + 4026999 + + + + Variable + + + + + All variable attributes are specified. + + + + + + + i=7616 + + + + 3958902 + + + + VariableType + + + + + All variable type attributes are specified. + + + + + + + i=7616 + + + + 1466724 + + + + Method + + + + + All method attributes are specified. + + + + + + + i=7616 + + + + 1371236 + + + + ReferenceType + + + + + All reference type attributes are specified. + + + + + + + i=7616 + + + + 1335532 + + + + View + + + + + All view attributes are specified. + + + + + + + + + AddNodesItem + A request to add a node to the server address space. + + i=22 + + + + The node id for the parent node. + + + The type of reference from the parent to the new node. + + + The node id requested by the client. If null the server must provide one. + + + The browse name for the new node. + + + The class of the new node. + + + The default attributes for the new node. + + + The type definition for the new node. + + + + + AddReferencesItem + A request to add a reference to the server address space. + + i=22 + + + + The source of the reference. + + + The type of reference. + + + If TRUE the reference is a forward reference. + + + The URI of the server containing the target (if in another server). + + + The target of the reference. + + + The node class of the target (if known). + + + + + DeleteNodesItem + A request to delete a node to the server address space. + + i=22 + + + + The id of the node to delete. + + + If TRUE all references to the are deleted as well. + + + + + DeleteReferencesItem + A request to delete a node from the server address space. + + i=22 + + + + The source of the reference to delete. + + + The type of reference to delete. + + + If TRUE the a forward reference is deleted. + + + The target of the reference to delete. + + + If TRUE the reference is deleted in both directions. + + + + + AttributeWriteMask + Define bits used to indicate which attributes are writable. + + i=11882 + i=29 + + + + No attributes are writable. + + + The access level attribute is writable. + + + The array dimensions attribute is writable. + + + The browse name attribute is writable. + + + The contains no loops attribute is writable. + + + The data type attribute is writable. + + + The description attribute is writable. + + + The display name attribute is writable. + + + The event notifier attribute is writable. + + + The executable attribute is writable. + + + The historizing attribute is writable. + + + The inverse name attribute is writable. + + + The is abstract attribute is writable. + + + The minimum sampling interval attribute is writable. + + + The node class attribute is writable. + + + The node id attribute is writable. + + + The symmetric attribute is writable. + + + The user access level attribute is writable. + + + The user executable attribute is writable. + + + The user write mask attribute is writable. + + + The value rank attribute is writable. + + + The write mask attribute is writable. + + + The value attribute is writable. + + + + + EnumValues + + i=68 + i=78 + i=347 + + + + + + i=7616 + + + + 0 + + + + None + + + + + No attributes are writable. + + + + + + + i=7616 + + + + 1 + + + + AccessLevel + + + + + The access level attribute is writable. + + + + + + + i=7616 + + + + 2 + + + + ArrayDimensions + + + + + The array dimensions attribute is writable. + + + + + + + i=7616 + + + + 4 + + + + BrowseName + + + + + The browse name attribute is writable. + + + + + + + i=7616 + + + + 8 + + + + ContainsNoLoops + + + + + The contains no loops attribute is writable. + + + + + + + i=7616 + + + + 16 + + + + DataType + + + + + The data type attribute is writable. + + + + + + + i=7616 + + + + 32 + + + + Description + + + + + The description attribute is writable. + + + + + + + i=7616 + + + + 64 + + + + DisplayName + + + + + The display name attribute is writable. + + + + + + + i=7616 + + + + 128 + + + + EventNotifier + + + + + The event notifier attribute is writable. + + + + + + + i=7616 + + + + 256 + + + + Executable + + + + + The executable attribute is writable. + + + + + + + i=7616 + + + + 512 + + + + Historizing + + + + + The historizing attribute is writable. + + + + + + + i=7616 + + + + 1024 + + + + InverseName + + + + + The inverse name attribute is writable. + + + + + + + i=7616 + + + + 2048 + + + + IsAbstract + + + + + The is abstract attribute is writable. + + + + + + + i=7616 + + + + 4096 + + + + MinimumSamplingInterval + + + + + The minimum sampling interval attribute is writable. + + + + + + + i=7616 + + + + 8192 + + + + NodeClass + + + + + The node class attribute is writable. + + + + + + + i=7616 + + + + 16384 + + + + NodeId + + + + + The node id attribute is writable. + + + + + + + i=7616 + + + + 32768 + + + + Symmetric + + + + + The symmetric attribute is writable. + + + + + + + i=7616 + + + + 65536 + + + + UserAccessLevel + + + + + The user access level attribute is writable. + + + + + + + i=7616 + + + + 131072 + + + + UserExecutable + + + + + The user executable attribute is writable. + + + + + + + i=7616 + + + + 262144 + + + + UserWriteMask + + + + + The user write mask attribute is writable. + + + + + + + i=7616 + + + + 524288 + + + + ValueRank + + + + + The value rank attribute is writable. + + + + + + + i=7616 + + + + 1048576 + + + + WriteMask + + + + + The write mask attribute is writable. + + + + + + + i=7616 + + + + 2097152 + + + + ValueForVariableType + + + + + The value attribute is writable. + + + + + + + + + ContinuationPoint + An identifier for a suspended query or browse operation. + + i=15 + + + + RelativePathElement + An element in a relative path. + + i=22 + + + + The type of reference to follow. + + + If TRUE the reverse reference is followed. + + + If TRUE then subtypes of the reference type are followed. + + + The browse name of the target. + + + + + RelativePath + A relative path constructed from reference types and browse names. + + i=22 + + + + A list of elements in the path. + + + + + Counter + A monotonically increasing value. + + i=7 + + + + NumericRange + Specifies a range of array indexes. + + i=12 + + + + Time + A time value specified as HH:MM:SS.SSS. + + i=12 + + + + Date + A date value. + + i=13 + + + + EndpointConfiguration + + i=22 + + + + + + + + + + + + + + + FilterOperator + + i=7605 + i=29 + + + + + + + + + + + + + + + + + + + + + + + + EnumStrings + + i=68 + i=78 + i=576 + + + + + + + Equals + + + + + IsNull + + + + + GreaterThan + + + + + LessThan + + + + + GreaterThanOrEqual + + + + + LessThanOrEqual + + + + + Like + + + + + Not + + + + + Between + + + + + InList + + + + + And + + + + + Or + + + + + Cast + + + + + InView + + + + + OfType + + + + + RelatedTo + + + + + BitwiseAnd + + + + + BitwiseOr + + + + + + ContentFilterElement + + i=22 + + + + + + + + ContentFilter + + i=22 + + + + + + + FilterOperand + + i=22 + + + + ElementOperand + + i=589 + + + + + + + LiteralOperand + + i=589 + + + + + + + AttributeOperand + + i=589 + + + + + + + + + + + SimpleAttributeOperand + + i=589 + + + + + + + + + + HistoryEvent + + i=22 + + + + + + + HistoryUpdateType + + i=11884 + i=29 + + + + + + + + + + EnumValues + + i=68 + i=78 + i=11234 + + + + + + i=7616 + + + + 1 + + + + Insert + + + + + + + + i=7616 + + + + 2 + + + + Replace + + + + + + + + i=7616 + + + + 3 + + + + Update + + + + + + + + i=7616 + + + + 4 + + + + Delete + + + + + + + + + + PerformUpdateType + + i=11885 + i=29 + + + + + + + + + + EnumValues + + i=68 + i=78 + i=11293 + + + + + + i=7616 + + + + 1 + + + + Insert + + + + + + + + i=7616 + + + + 2 + + + + Replace + + + + + + + + i=7616 + + + + 3 + + + + Update + + + + + + + + i=7616 + + + + 4 + + + + Remove + + + + + + + + + + MonitoringFilter + + i=22 + + + + EventFilter + + i=719 + + + + + + + + AggregateConfiguration + + i=22 + + + + + + + + + + + HistoryEventFieldList + + i=22 + + + + + + + BuildInfo + + i=22 + + + + + + + + + + + + RedundancySupport + + i=7611 + i=29 + + + + + + + + + + + + EnumStrings + + i=68 + i=78 + i=851 + + + + + + + None + + + + + Cold + + + + + Warm + + + + + Hot + + + + + Transparent + + + + + HotAndMirrored + + + + + + ServerState + + i=7612 + i=29 + + + + + + + + + + + + + + EnumStrings + + i=68 + i=78 + i=852 + + + + + + + Running + + + + + Failed + + + + + NoConfiguration + + + + + Suspended + + + + + Shutdown + + + + + Test + + + + + CommunicationFault + + + + + Unknown + + + + + + RedundantServerDataType + + i=22 + + + + + + + + + EndpointUrlListDataType + + i=22 + + + + + + + NetworkGroupDataType + + i=22 + + + + + + + + SamplingIntervalDiagnosticsDataType + + i=22 + + + + + + + + + + ServerDiagnosticsSummaryDataType + + i=22 + + + + + + + + + + + + + + + + + + ServerStatusDataType + + i=22 + + + + + + + + + + + + SessionDiagnosticsDataType + + i=22 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SessionSecurityDiagnosticsDataType + + i=22 + + + + + + + + + + + + + + + ServiceCounterDataType + + i=22 + + + + + + + + StatusResult + + i=22 + + + + + + + + SubscriptionDiagnosticsDataType + + i=22 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ModelChangeStructureDataType + + i=22 + + + + + + + + + SemanticChangeStructureDataType + + i=22 + + + + + + + + Range + + i=22 + + + + + + + + EUInformation + + i=22 + + + + + + + + + + AxisScaleEnumeration + + i=12078 + i=29 + + + + + + + + + EnumStrings + + i=68 + i=78 + i=12077 + + + + + + + Linear + + + + + Log + + + + + Ln + + + + + + ComplexNumberType + + i=22 + + + + + + + + DoubleComplexNumberType + + i=22 + + + + + + + + AxisInformation + + i=22 + + + + + + + + + + + XVType + + i=22 + + + + + + + + ProgramDiagnosticDataType + + i=22 + + + + + + + + + + + + + + + + Annotation + + i=22 + + + + + + + + + ExceptionDeviationFormat + + i=7614 + i=29 + + + + + + + + + + + EnumStrings + + i=68 + i=78 + i=890 + + + + + + + AbsoluteValue + + + + + PercentOfValue + + + + + PercentOfRange + + + + + PercentOfEURange + + + + + Unknown + + + + + + Default XML + + i=12554 + i=12677 + i=76 + + + + Default XML + + i=296 + i=8285 + i=76 + + + + Default XML + + i=7594 + i=8291 + i=76 + + + + Default XML + + i=12755 + i=12759 + i=76 + + + + Default XML + + i=12756 + i=12762 + i=76 + + + + Default XML + + i=8912 + i=8918 + i=76 + + + + Default XML + + i=308 + i=8300 + i=76 + + + + Default XML + + i=12189 + i=12201 + i=76 + + + + Default XML + + i=304 + i=8297 + i=76 + + + + Default XML + + i=312 + i=8303 + i=76 + + + + Default XML + + i=432 + i=8417 + i=76 + + + + Default XML + + i=12890 + i=12894 + i=76 + + + + Default XML + + i=12891 + i=12897 + i=76 + + + + Default XML + + i=344 + i=8333 + 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=376 + i=8363 + i=76 + + + + Default XML + + i=379 + i=8366 + i=76 + + + + Default XML + + i=382 + i=8369 + i=76 + + + + Default XML + + i=385 + i=8372 + i=76 + + + + Default XML + + i=537 + i=12712 + i=76 + + + + Default XML + + i=540 + i=12715 + i=76 + + + + Default XML + + i=331 + i=8321 + 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=659 + i=8639 + i=76 + + + + Default XML + + i=719 + i=8702 + i=76 + + + + Default XML + + i=725 + i=8708 + i=76 + + + + Default XML + + i=948 + i=8711 + i=76 + + + + Default XML + + i=920 + i=8807 + 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=891 + i=8879 + i=76 + + + + Opc.Ua + + i=8254 + i=12677 + i=8285 + i=8291 + i=12759 + i=12762 + 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=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 +ZT0ieHM6YmFzZTY0QmluYXJ5IiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkJpdEZpZWxkTWFz +a0RhdGFUeXBlIiB0eXBlPSJ4czp1bnNpZ25lZExvbmciIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUg +IG5hbWU9Ik9wZW5GaWxlTW9kZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmlu +ZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlYWRfMSIgLz4NCiAgICAgIDx4czpl +bnVtZXJhdGlvbiB2YWx1ZT0iV3JpdGVfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 +ZT0iRXJhc2VFeGlzdGluZ180IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBcHBl +bmRfOCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9Ik9wZW5GaWxlTW9kZSIgdHlwZT0idG5zOk9wZW5GaWxlTW9kZSIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mT3BlbkZpbGVNb2RlIj4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPcGVuRmlsZU1vZGUiIHR5cGU9InRu +czpPcGVuRmlsZU1vZGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQog +ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iTGlzdE9mT3BlbkZpbGVNb2RlIiB0eXBlPSJ0bnM6TGlzdE9mT3BlbkZpbGVNb2RlIiBuaWxs +YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJUcnVz +dExpc3RNYXNrcyI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAg +ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv +biB2YWx1ZT0iVHJ1c3RlZENlcnRpZmljYXRlc18xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u +IHZhbHVlPSJUcnVzdGVkQ3Jsc18yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJ +c3N1ZXJDZXJ0aWZpY2F0ZXNfNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNz +dWVyQ3Jsc184IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBbGxfMTUiIC8+DQog +ICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJUcnVzdExpc3RNYXNrcyIgdHlwZT0idG5zOlRydXN0TGlzdE1hc2tzIiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJUcnVzdExpc3REYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3BlY2lmaWVkTGlzdHMiIHR5cGU9InhzOnVuc2ln +bmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcnVzdGVk +Q2VydGlmaWNhdGVzIiB0eXBlPSJ1YTpMaXN0T2ZCeXRlU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJ1c3RlZENybHMiIHR5 +cGU9InVhOkxpc3RPZkJ5dGVTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc3N1ZXJDZXJ0aWZpY2F0ZXMiIHR5cGU9InVhOkxp +c3RPZkJ5dGVTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJJc3N1ZXJDcmxzIiB0eXBlPSJ1YTpMaXN0T2ZCeXRlU3RyaW5nIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv +eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRydXN0TGlzdERhdGFUeXBlIiB0 +eXBlPSJ0bnM6VHJ1c3RMaXN0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +Ikxpc3RPZlRydXN0TGlzdERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJUcnVzdExpc3REYXRhVHlwZSIgdHlwZT0idG5zOlRydXN0TGlzdERhdGFU +eXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJMaXN0T2ZUcnVzdExpc3REYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlRydXN0TGlz +dERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVU +eXBlICBuYW1lPSJJZFR5cGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3Vt +ZW50YXRpb24+VGhlIHR5cGUgb2YgaWRlbnRpZmllciB1c2VkIGluIGEgbm9kZSBpZC48L3hzOmRv +Y3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpyZXN0cmljdGlvbiBi +YXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOdW1lcmljXzAi +IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN0cmluZ18xIiAvPg0KICAgICAgPHhz +OmVudW1lcmF0aW9uIHZhbHVlPSJHdWlkXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs +dWU9Ik9wYXF1ZV8zIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSWRUeXBlIiB0eXBlPSJ0bnM6SWRUeXBlIiAvPg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZJZFR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IklkVHlwZSIgdHlwZT0idG5zOklkVHlwZSIgbWluT2Nj +dXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZJZFR5cGUiIHR5cGU9 +InRuczpMaXN0T2ZJZFR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhz +OnNpbXBsZVR5cGUgIG5hbWU9Ik5vZGVDbGFzcyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg +ICA8eHM6ZG9jdW1lbnRhdGlvbj5BIG1hc2sgc3BlY2lmeWluZyB0aGUgY2xhc3Mgb2YgdGhlIG5v +ZGUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6cmVz +dHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i +VW5zcGVjaWZpZWRfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iT2JqZWN0XzEi +IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZhcmlhYmxlXzIiIC8+DQogICAgICA8 +eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik1ldGhvZF80IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u +IHZhbHVlPSJPYmplY3RUeXBlXzgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZh +cmlhYmxlVHlwZV8xNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVmZXJlbmNl +VHlwZV8zMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGF0YVR5cGVfNjQiIC8+ +DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZpZXdfMTI4IiAvPg0KICAgIDwveHM6cmVz +dHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUNs +YXNzIiB0eXBlPSJ0bnM6Tm9kZUNsYXNzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJO +b2RlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlNwZWNp +ZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gYWxsIG5vZGVzLjwveHM6ZG9jdW1l +bnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlQ2xhc3MiIHR5 +cGU9InRuczpOb2RlQ2xhc3MiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IkJyb3dzZU5hbWUiIHR5cGU9InVhOlF1YWxpZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNwbGF5TmFtZSIgdHlw +ZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IkRlc2NyaXB0aW9uIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0 +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iV3JpdGVNYXNrIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlcldyaXRlTWFzayIgdHlwZT0ieHM6dW5zaWduZWRJbnQi +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZXMiIHR5 +cGU9InRuczpMaXN0T2ZSZWZlcmVuY2VOb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9Ik5vZGUiIHR5cGU9InRuczpOb2RlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu +YW1lPSJMaXN0T2ZOb2RlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJOb2RlIiB0eXBlPSJ0bnM6Tm9kZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91 +bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w +bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTm9kZSIgdHlwZT0idG5zOkxpc3RP +Zk5vZGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9Ikluc3RhbmNlTm9kZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxz +ZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlIj4NCiAgICAgICAgPHhzOnNl +cXVlbmNlPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQog +ICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iSW5zdGFuY2VOb2RlIiB0eXBlPSJ0bnM6SW5zdGFuY2VOb2RlIiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJUeXBlTm9kZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1p +eGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlIj4NCiAgICAg +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRl +bnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iVHlwZU5vZGUiIHR5cGU9InRuczpUeXBlTm9kZSIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iT2JqZWN0Tm9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQog +ICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVs +b25nIHRvIG9iamVjdCBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 +aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4 +dGVuc2lvbiBiYXNlPSJ0bnM6SW5zdGFuY2VOb2RlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50Tm90aWZpZXIiIHR5cGU9InhzOnVuc2ln +bmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAg +PC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT2JqZWN0Tm9kZSIgdHlwZT0idG5zOk9iamVjdE5v +ZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik9iamVjdFR5cGVOb2RlIj4NCiAgICA8 +eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0 +cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gb2JqZWN0IHR5cGUgbm9kZXMuPC94czpkb2N1bWVudGF0 +aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9 +ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOlR5cGVOb2RlIj4NCiAgICAg +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IklzQWJzdHJhY3Qi +IHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5j +ZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwv +eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9iamVjdFR5cGVOb2RlIiB0eXBl +PSJ0bnM6T2JqZWN0VHlwZU5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlh +YmxlTm9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5T +cGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIHZhcmlhYmxlIG5vZGVzLjwv +eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhD +b250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpJbnN0 +YW5jZU5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iVmFsdWUiIHR5cGU9InVhOlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVl +UmFuayIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iQXJyYXlEaW1lbnNpb25zIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWNj +ZXNzTGV2ZWwiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJBY2Nlc3NMZXZlbCIgdHlwZT0ieHM6dW5zaWduZWRC +eXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWluaW11 +bVNhbXBsaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3Rvcml6aW5nIiB0eXBlPSJ4czpib29sZWFuIiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVu +c2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJWYXJpYWJsZU5vZGUiIHR5cGU9InRuczpWYXJpYWJsZU5vZGUiIC8+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhYmxlVHlwZU5vZGUiPg0KICAgIDx4czph +bm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+U3BlY2lmaWVzIHRoZSBhdHRyaWJ1 +dGVzIHdoaWNoIGJlbG9uZyB0byB2YXJpYWJsZSB0eXBlIG5vZGVzLjwveHM6ZG9jdW1lbnRhdGlv +bj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJm +YWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpUeXBlTm9kZSI+DQogICAgICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0i +dWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkRhdGFUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czppbnQi +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcnJheURpbWVu +c2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpi +b29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8 +L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWYXJpYWJsZVR5cGVOb2RlIiB0eXBlPSJ0bnM6VmFy +aWFibGVUeXBlTm9kZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVmZXJlbmNlVHlw +ZU5vZGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+U3Bl +Y2lmaWVzIHRoZSBhdHRyaWJ1dGVzIHdoaWNoIGJlbG9uZyB0byByZWZlcmVuY2UgdHlwZSBub2Rl +cy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21w +bGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6 +VHlwZU5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iSXNBYnN0cmFjdCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN5bW1ldHJpYyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkludmVyc2VOYW1lIiB0 +eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpj +b21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +UmVmZXJlbmNlVHlwZU5vZGUiIHR5cGU9InRuczpSZWZlcmVuY2VUeXBlTm9kZSIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iTWV0aG9kTm9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQog +ICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVs +b25nIHRvIG1ldGhvZCBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 +aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4 +dGVuc2lvbiBiYXNlPSJ0bnM6SW5zdGFuY2VOb2RlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV4ZWN1dGFibGUiIHR5cGU9InhzOmJvb2xlYW4i +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyRXhlY3V0 +YWJsZSIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNl +cXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTWV0aG9kTm9kZSIgdHlw +ZT0idG5zOk1ldGhvZE5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZpZXdOb2Rl +Ij4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRl +bnNpb24gYmFzZT0idG5zOkluc3RhbmNlTm9kZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250YWluc05vTG9vcHMiIHR5cGU9InhzOmJvb2xl +YW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudE5v +dGlmaWVyIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg +PC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENv +bnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlZpZXdOb2Rl +IiB0eXBlPSJ0bnM6Vmlld05vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFU +eXBlTm9kZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8 +eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpUeXBlTm9kZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpib29sZWFu +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4 +dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZU5vZGUiIHR5cGU9InRuczpEYXRhVHlwZU5vZGUi +IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZmVyZW5jZU5vZGUiPg0KICAgIDx4czph +bm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+U3BlY2lmaWVzIGEgcmVmZXJlbmNl +IHdoaWNoIGJlbG9uZ3MgdG8gYSBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu +bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVm +ZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ludmVyc2UiIHR5cGU9InhzOmJvb2xl +YW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdldElkIiB0 +eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJSZWZlcmVuY2VOb2RlIiB0eXBlPSJ0bnM6UmVmZXJlbmNlTm9kZSIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUmVmZXJlbmNlTm9kZSI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlTm9kZSIgdHlwZT0idG5zOlJlZmVy +ZW5jZU5vZGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl +bGVtZW50IG5hbWU9Ikxpc3RPZlJlZmVyZW5jZU5vZGUiIHR5cGU9InRuczpMaXN0T2ZSZWZlcmVu +Y2VOb2RlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJBcmd1bWVudCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l +bnRhdGlvbj5BbiBhcmd1bWVudCBmb3IgYSBtZXRob2QuPC94czpkb2N1bWVudGF0aW9uPg0KICAg +IDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +VmFsdWVSYW5rIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IkFycmF5RGltZW5zaW9ucyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVzY3Jp +cHRpb24iIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iQXJndW1lbnQiIHR5cGU9InRuczpBcmd1bWVudCIgLz4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iTGlzdE9mQXJndW1lbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IkFyZ3VtZW50IiB0eXBlPSJ0bnM6QXJndW1lbnQiIG1pbk9jY3Vy +cz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 +c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RP +ZkFyZ3VtZW50IiB0eXBlPSJ0bnM6TGlzdE9mQXJndW1lbnQiIG5pbGxhYmxlPSJ0cnVlIj48L3hz +OmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVudW1WYWx1ZVR5cGUiPg0KICAg +IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBtYXBwaW5nIGJldHdl +ZW4gYSB2YWx1ZSBvZiBhbiBlbnVtZXJhdGVkIHR5cGUgYW5kIGEgbmFtZSBhbmQgZGVzY3JpcHRp +b24uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0ieHM6bG9uZyIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzcGxheU5hbWUiIHR5cGU9 +InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFbnVtVmFsdWVUeXBlIiB0eXBl +PSJ0bnM6RW51bVZhbHVlVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m +RW51bVZhbHVlVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iRW51bVZhbHVlVHlwZSIgdHlwZT0idG5zOkVudW1WYWx1ZVR5cGUiIG1pbk9jY3Vycz0iMCIg +bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkVudW1W +YWx1ZVR5cGUiIHR5cGU9InRuczpMaXN0T2ZFbnVtVmFsdWVUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+ +PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJPcHRpb25TZXQiPg0KICAg +IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhpcyBhYnN0cmFjdCBT +dHJ1Y3R1cmVkIERhdGFUeXBlIGlzIHRoZSBiYXNlIERhdGFUeXBlIGZvciBhbGwgRGF0YVR5cGVz +IHJlcHJlc2VudGluZyBhIGJpdCBtYXNrLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu +bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFs +dWUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbGlkQml0cyIgdHlwZT0ieHM6YmFzZTY0Qmlu +YXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9wdGlvblNldCIgdHlw +ZT0idG5zOk9wdGlvblNldCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mT3B0 +aW9uU2V0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPcHRp +b25TZXQiIHR5cGU9InRuczpPcHRpb25TZXQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJv +dW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk9wdGlvblNldCIgdHlwZT0idG5z +Okxpc3RPZk9wdGlvblNldCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iVW5pb24iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhz +OmRvY3VtZW50YXRpb24+VGhpcyBhYnN0cmFjdCBEYXRhVHlwZSBpcyB0aGUgYmFzZSBEYXRhVHlw +ZSBmb3IgYWxsIHVuaW9uIERhdGFUeXBlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czph +bm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz +OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVbmlvbiIgdHlwZT0idG5zOlVuaW9u +IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZVbmlvbiI+DQogICAgPHhzOnNl +cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVW5pb24iIHR5cGU9InRuczpVbmlvbiIg +bWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iTGlzdE9mVW5pb24iIHR5cGU9InRuczpMaXN0T2ZVbmlvbiIgbmlsbGFibGU9InRydWUiPjwv +eHM6ZWxlbWVudD4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOb3JtYWxpemVkU3RyaW5nIiB0eXBl +PSJ4czpzdHJpbmciIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVjaW1hbFN0cmluZyIgdHlw +ZT0ieHM6c3RyaW5nIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkR1cmF0aW9uU3RyaW5nIiB0 +eXBlPSJ4czpzdHJpbmciIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZVN0cmluZyIgdHlw +ZT0ieHM6c3RyaW5nIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkRhdGVTdHJpbmciIHR5cGU9 +InhzOnN0cmluZyIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEdXJhdGlvbiIgdHlwZT0ieHM6 +ZG91YmxlIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IlV0Y1RpbWUiIHR5cGU9InhzOmRhdGVU +aW1lIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkxvY2FsZUlkIiB0eXBlPSJ4czpzdHJpbmci +IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlRpbWVab25lRGF0YVR5cGUiPg0KICAgIDx4 +czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik9mZnNldCIgdHlwZT0ieHM6c2hv +cnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRheWxpZ2h0U2F2 +aW5nSW5PZmZzZXQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1l +Wm9uZURhdGFUeXBlIiB0eXBlPSJ0bnM6VGltZVpvbmVEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iTGlzdE9mVGltZVpvbmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZVpvbmVEYXRhVHlwZSIgdHlwZT0idG5zOlRp +bWVab25lRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlRpbWVab25lRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0 +T2ZUaW1lWm9uZURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4 +czplbGVtZW50IG5hbWU9IkludGVnZXJJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIC8+DQoNCiAg +PHhzOnNpbXBsZVR5cGUgIG5hbWU9IkFwcGxpY2F0aW9uVHlwZSI+DQogICAgPHhzOmFubm90YXRp +b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgdHlwZXMgb2YgYXBwbGljYXRpb25zLjwv +eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0 +aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNlcnZl +cl8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDbGllbnRfMSIgLz4NCiAgICAg +IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ2xpZW50QW5kU2VydmVyXzIiIC8+DQogICAgICA8eHM6 +ZW51bWVyYXRpb24gdmFsdWU9IkRpc2NvdmVyeVNlcnZlcl8zIiAvPg0KICAgIDwveHM6cmVzdHJp +Y3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRp +b25UeXBlIiB0eXBlPSJ0bnM6QXBwbGljYXRpb25UeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg +ICAgIDx4czpkb2N1bWVudGF0aW9uPkRlc2NyaWJlcyBhbiBhcHBsaWNhdGlvbiBhbmQgaG93IHRv +IGZpbmQgaXQuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcHBsaWNhdGlvblVyaSIgdHlw +ZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iUHJvZHVjdFVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25O +YW1lIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25UeXBlIiB0eXBlPSJ0bnM6 +QXBwbGljYXRpb25UeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJHYXRld2F5U2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjb3ZlcnlQcm9maWxlVXJp +IiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjb3ZlcnlVcmxzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmci +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25EZXNjcmlw +dGlvbiIgdHlwZT0idG5zOkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9Ikxpc3RPZkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIHR5 +cGU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0i +dW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz +OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZBcHBsaWNhdGlvbkRlc2Ny +aXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mQXBwbGljYXRpb25EZXNjcmlwdGlvbiIgbmlsbGFibGU9 +InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVxdWVzdEhl +YWRlciI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUg +aGVhZGVyIHBhc3NlZCB3aXRoIGV2ZXJ5IHNlcnZlciByZXF1ZXN0LjwveHM6ZG9jdW1lbnRhdGlv +bj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iQXV0aGVudGljYXRpb25Ub2tlbiIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0 +YW1wIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUmVxdWVzdEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i +MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldHVybkRpYWdub3N0aWNzIiB0eXBlPSJ4 +czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +QXVkaXRFbnRyeUlkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lb3V0SGludCIgdHlwZT0ieHM6dW5z +aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZGl0 +aW9uYWxIZWFkZXIiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRl +ciIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVzcG9uc2VIZWFkZXIiPg0KICAgIDx4 +czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGhlYWRlciBwYXNzZWQg +d2l0aCBldmVyeSBzZXJ2ZXIgcmVzcG9uc2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6 +YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJU +aW1lc3RhbXAiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGFuZGxlIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmljZVJlc3VsdCIgdHlwZT0i +dWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +U2VydmljZURpYWdub3N0aWNzIiB0eXBlPSJ1YTpEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0cmluZ1RhYmxl +IiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRpdGlvbmFsSGVhZGVyIiB0eXBlPSJ1YTpFeHRl +bnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz +ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9u +c2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iU2VydmljZUZhdWx0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpk +b2N1bWVudGF0aW9uPlRoZSByZXNwb25zZSByZXR1cm5lZCBieSBhbGwgc2VydmljZXMgd2hlbiB0 +aGVyZSBpcyBhIHNlcnZpY2UgbGV2ZWwgZXJyb3IuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwv +eHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNlcnZpY2VGYXVsdCIgdHlwZT0idG5zOlNlcnZpY2VG +YXVsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRmluZFNlcnZlcnNSZXF1ZXN0Ij4N +CiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkZpbmRzIHRoZSBz +ZXJ2ZXJzIGtub3duIHRvIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4N +CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2lu +dFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmci +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJTZXJ2ZXJVcmlzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iRmluZFNlcnZlcnNSZXF1ZXN0IiB0eXBlPSJ0bnM6RmluZFNlcnZl +cnNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJGaW5kU2VydmVyc1Jlc3Bv +bnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkZpbmRz +IHRoZSBzZXJ2ZXJzIGtub3duIHRvIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwveHM6ZG9jdW1lbnRh +dGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlNlcnZlcnMiIHR5cGU9InRuczpMaXN0T2ZBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkZpbmRTZXJ2ZXJzUmVzcG9uc2UiIHR5cGU9 +InRuczpGaW5kU2VydmVyc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJT +ZXJ2ZXJPbk5ldHdvcmsiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlJlY29yZElkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzY292 +ZXJ5VXJsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJDYXBhYmlsaXRpZXMiIHR5cGU9InVhOkxp +c3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl +cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJP +bk5ldHdvcmsiIHR5cGU9InRuczpTZXJ2ZXJPbk5ldHdvcmsiIC8+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9Ikxpc3RPZlNlcnZlck9uTmV0d29yayI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyT25OZXR3b3JrIiB0eXBlPSJ0bnM6U2VydmVyT25O +ZXR3b3JrIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl +bWVudCBuYW1lPSJMaXN0T2ZTZXJ2ZXJPbk5ldHdvcmsiIHR5cGU9InRuczpMaXN0T2ZTZXJ2ZXJP +bk5ldHdvcmsiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9IkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVl +c3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJTdGFydGluZ1JlY29yZElkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4UmVjb3Jkc1RvUmV0dXJuIiB0 +eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iU2VydmVyQ2FwYWJpbGl0eUZpbHRlciIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVx +dWVzdCIgdHlwZT0idG5zOkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVxdWVzdCIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iRmluZFNlcnZlcnNPbk5ldHdvcmtSZXNwb25zZSI+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9 +InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9Ikxhc3RDb3VudGVyUmVzZXRUaW1lIiB0eXBlPSJ4czpkYXRl +VGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVycyIg +dHlwZT0idG5zOkxpc3RPZlNlcnZlck9uTmV0d29yayIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJGaW5kU2VydmVyc09uTmV0d29ya1Jlc3BvbnNlIiB0eXBlPSJ0bnM6Rmlu +ZFNlcnZlcnNPbk5ldHdvcmtSZXNwb25zZSIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBcHBs +aWNhdGlvbkluc3RhbmNlQ2VydGlmaWNhdGUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgLz4NCg0K +ICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iTWVzc2FnZVNlY3VyaXR5TW9kZSI+DQogICAgPHhzOmFu +bm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgdHlwZSBvZiBzZWN1cml0eSB0 +byB1c2Ugb24gYSBtZXNzYWdlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRp +b24+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51 +bWVyYXRpb24gdmFsdWU9IkludmFsaWRfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 +ZT0iTm9uZV8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTaWduXzIiIC8+DQog +ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNpZ25BbmRFbmNyeXB0XzMiIC8+DQogICAgPC94 +czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJN +ZXNzYWdlU2VjdXJpdHlNb2RlIiB0eXBlPSJ0bnM6TWVzc2FnZVNlY3VyaXR5TW9kZSIgLz4NCg0K +ICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iVXNlclRva2VuVHlwZSI+DQogICAgPHhzOmFubm90YXRp +b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgcG9zc2libGUgdXNlciB0b2tlbiB0eXBl +cy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpyZXN0 +cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJB +bm9ueW1vdXNfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVXNlck5hbWVfMSIg +Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ2VydGlmaWNhdGVfMiIgLz4NCiAgICAg +IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNzdWVkVG9rZW5fMyIgLz4NCiAgICA8L3hzOnJlc3Ry +aWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVzZXJUb2tl +blR5cGUiIHR5cGU9InRuczpVc2VyVG9rZW5UeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu +YW1lPSJVc2VyVG9rZW5Qb2xpY3kiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRv +Y3VtZW50YXRpb24+RGVzY3JpYmVzIGEgdXNlciB0b2tlbiB0aGF0IGNhbiBiZSB1c2VkIHdpdGgg +YSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQb2xpY3lJZCIgdHlwZT0ieHM6 +c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iVG9rZW5UeXBlIiB0eXBlPSJ0bnM6VXNlclRva2VuVHlwZSIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNzdWVkVG9rZW5UeXBlIiB0eXBlPSJ4czpz +dHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJJc3N1ZXJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlQb2xp +Y3lVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJVc2VyVG9rZW5Qb2xpY3kiIHR5cGU9InRuczpVc2VyVG9rZW5Qb2xpY3kiIC8+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlVzZXJUb2tlblBvbGljeSI+DQogICAgPHhzOnNl +cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlclRva2VuUG9saWN5IiB0eXBlPSJ0 +bnM6VXNlclRva2VuUG9saWN5IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZVc2VyVG9rZW5Qb2xpY3kiIHR5cGU9InRuczpM +aXN0T2ZVc2VyVG9rZW5Qb2xpY3kiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVuZHBvaW50RGVzY3JpcHRpb24iPg0KICAgIDx4czphbm5v +dGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGRlc2NyaXB0aW9uIG9mIGEgZW5k +cG9pbnQgdGhhdCBjYW4gYmUgdXNlZCB0byBhY2Nlc3MgYSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0 +aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyIiB0eXBl +PSJ0bnM6QXBwbGljYXRpb25EZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlckNlcnRpZmljYXRlIiB0eXBlPSJ4 +czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlN +b2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVBv +bGljeVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlcklkZW50aXR5VG9rZW5zIiB0eXBlPSJ0bnM6 +TGlzdE9mVXNlclRva2VuUG9saWN5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNwb3J0UHJvZmlsZVVyaSIgdHlwZT0ieHM6c3Ry +aW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iU2VjdXJpdHlMZXZlbCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAi +IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iRW5kcG9pbnREZXNjcmlwdGlvbiIgdHlwZT0idG5zOkVuZHBvaW50RGVzY3JpcHRp +b24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkVuZHBvaW50RGVzY3JpcHRp +b24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50 +RGVzY3JpcHRpb24iIHR5cGU9InRuczpFbmRwb2ludERlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAi +IG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl +bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbmRw +b2ludERlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mRW5kcG9pbnREZXNjcmlwdGlvbiIgbmls +bGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iR2V0 +RW5kcG9pbnRzUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l +bnRhdGlvbj5HZXRzIHRoZSBlbmRwb2ludHMgdXNlZCBieSB0aGUgc2VydmVyLjwveHM6ZG9jdW1l +bnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIi +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0 +T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJQcm9maWxlVXJpcyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkdldEVuZHBvaW50c1JlcXVlc3QiIHR5cGU9InRu +czpHZXRFbmRwb2ludHNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJHZXRF +bmRwb2ludHNSZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l +bnRhdGlvbj5HZXRzIHRoZSBlbmRwb2ludHMgdXNlZCBieSB0aGUgc2VydmVyLjwveHM6ZG9jdW1l +bnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRl +ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IkVuZHBvaW50cyIgdHlwZT0idG5zOkxpc3RPZkVuZHBvaW50RGVzY3JpcHRpb24iIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj +b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iR2V0RW5kcG9pbnRzUmVzcG9uc2UiIHR5 +cGU9InRuczpHZXRFbmRwb2ludHNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iUmVnaXN0ZXJlZFNlcnZlciI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9j +dW1lbnRhdGlvbj5UaGUgaW5mb3JtYXRpb24gcmVxdWlyZWQgdG8gcmVnaXN0ZXIgYSBzZXJ2ZXIg +d2l0aCBhIGRpc2NvdmVyeSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5u +b3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2 +ZXJVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlByb2R1Y3RVcmkiIHR5cGU9InhzOnN0cmluZyIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNl +cnZlck5hbWVzIiB0eXBlPSJ1YTpMaXN0T2ZMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVHlwZSIgdHlw +ZT0idG5zOkFwcGxpY2F0aW9uVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iR2F0ZXdheVNlcnZlclVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzY292ZXJ5VXJs +cyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VtYXBob3JlRmlsZVBhdGgiIHR5cGU9InhzOnN0 +cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IklzT25saW5lIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +UmVnaXN0ZXJlZFNlcnZlciIgdHlwZT0idG5zOlJlZ2lzdGVyZWRTZXJ2ZXIiIC8+DQoNCiAgPHhz +OmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlJlZ2lzdGVyZWRTZXJ2ZXIiPg0KICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyZWRTZXJ2ZXIiIHR5cGU9InRu +czpSZWdpc3RlcmVkU2VydmVyIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZSZWdpc3RlcmVkU2VydmVyIiB0eXBlPSJ0bnM6 +TGlzdE9mUmVnaXN0ZXJlZFNlcnZlciIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXF1ZXN0Ij4NCiAgICA8eHM6 +YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlJlZ2lzdGVycyBhIHNlcnZlciB3 +aXRoIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu +bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVx +dWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXIiIHR5cGU9InRuczpS +ZWdpc3RlcmVkU2VydmVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJl +Z2lzdGVyU2VydmVyUmVxdWVzdCIgdHlwZT0idG5zOlJlZ2lzdGVyU2VydmVyUmVxdWVzdCIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXNwb25zZSI+DQogICAg +PHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5SZWdpc3RlcnMgYSBzZXJ2 +ZXIgd2l0aCB0aGUgZGlzY292ZXJ5IHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94 +czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXNwb25zZSIgdHlwZT0idG5z +OlJlZ2lzdGVyU2VydmVyUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRp +c2NvdmVyeUNvbmZpZ3VyYXRpb24iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRv +Y3VtZW50YXRpb24+QSBiYXNlIHR5cGUgZm9yIGRpc2NvdmVyeSBjb25maWd1cmF0aW9uIGluZm9y +bWF0aW9uLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9IkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpEaXNjb3Zl +cnlDb25maWd1cmF0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNZG5zRGlzY292 +ZXJ5Q29uZmlndXJhdGlvbiI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l +bnRhdGlvbj5UaGUgZGlzY292ZXJ5IGluZm9ybWF0aW9uIG5lZWRlZCBmb3IgbUROUyByZWdpc3Ry +YXRpb24uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6 +Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0i +dG5zOkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWRuc1NlcnZlck5hbWUiIHR5cGU9InhzOnN0cmluZyIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJTZXJ2ZXJDYXBhYmlsaXRpZXMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwv +eHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1kbnNEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiB0eXBl +PSJ0bnM6TWRuc0Rpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9IlJlZ2lzdGVyU2VydmVyMlJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVy +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iU2VydmVyIiB0eXBlPSJ0bnM6UmVnaXN0ZXJlZFNlcnZlciIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2NvdmVyeUNvbmZpZ3Vy +YXRpb24iIHR5cGU9InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJSZWdpc3RlclNlcnZlcjJSZXF1ZXN0IiB0eXBlPSJ0bnM6UmVn +aXN0ZXJTZXJ2ZXIyUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0 +ZXJTZXJ2ZXIyUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb25maWd1 +cmF0aW9uUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZv +cyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXIyUmVzcG9uc2UiIHR5cGU9InRuczpSZWdpc3Rl +clNlcnZlcjJSZXNwb25zZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iU2VjdXJpdHlU +b2tlblJlcXVlc3RUeXBlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVu +dGF0aW9uPkluZGljYXRlcyB3aGV0aGVyIGEgdG9rZW4gaWYgYmVpbmcgY3JlYXRlZCBvciByZW5l +d2VkLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJl +c3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +Iklzc3VlXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlbmV3XzEiIC8+DQog +ICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJTZWN1cml0eVRva2VuUmVxdWVzdFR5cGUiIHR5cGU9InRuczpTZWN1cml0eVRva2VuUmVx +dWVzdFR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNoYW5uZWxTZWN1cml0eVRv +a2VuIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSB0 +b2tlbiB0aGF0IGlkZW50aWZpZXMgYSBzZXQgb2Yga2V5cyBmb3IgYW4gYWN0aXZlIHNlY3VyZSBj +aGFubmVsLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2hhbm5lbElkIiB0eXBlPSJ4czp1 +bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVG9r +ZW5JZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkNyZWF0ZWRBdCIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRMaWZldGltZSIgdHlwZT0ieHM6dW5z +aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDaGFubmVsU2VjdXJpdHlUb2tlbiIgdHlw +ZT0idG5zOkNoYW5uZWxTZWN1cml0eVRva2VuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJPcGVuU2VjdXJlQ2hhbm5lbFJlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAg +PHhzOmRvY3VtZW50YXRpb24+Q3JlYXRlcyBhIHNlY3VyZSBjaGFubmVsIHdpdGggYSBzZXJ2ZXIu +PC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVu +Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVx +dWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkNsaWVudFByb3RvY29sVmVyc2lvbiIgdHlwZT0ieHM6dW5zaWduZWRJbnQi +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RUeXBlIiB0 +eXBlPSJ0bnM6U2VjdXJpdHlUb2tlblJlcXVlc3RUeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJp +dHlNb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRO +b25jZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTGlmZXRpbWUiIHR5cGU9Inhz +OnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT3BlblNlY3VyZUNoYW5uZWxSZXF1 +ZXN0IiB0eXBlPSJ0bnM6T3BlblNlY3VyZUNoYW5uZWxSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJPcGVuU2VjdXJlQ2hhbm5lbFJlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3Rh +dGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNyZWF0ZXMgYSBzZWN1cmUgY2hhbm5lbCB3 +aXRoIGEgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQog +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIi +IHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlclByb3RvY29sVmVyc2lvbiIgdHlwZT0i +eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlNlY3VyaXR5VG9rZW4iIHR5cGU9InRuczpDaGFubmVsU2VjdXJpdHlUb2tlbiIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlck5v +bmNlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iT3BlblNlY3VyZUNoYW5uZWxSZXNwb25zZSIgdHlwZT0idG5zOk9wZW5TZWN1cmVD +aGFubmVsUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNsb3NlU2VjdXJl +Q2hhbm5lbFJlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50 +YXRpb24+Q2xvc2VzIGEgc2VjdXJlIGNoYW5uZWwuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwv +eHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDbG9zZVNlY3VyZUNoYW5uZWxSZXF1ZXN0IiB0eXBlPSJ0 +bnM6Q2xvc2VTZWN1cmVDaGFubmVsUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iQ2xvc2VTZWN1cmVDaGFubmVsUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAg +ICAgPHhzOmRvY3VtZW50YXRpb24+Q2xvc2VzIGEgc2VjdXJlIGNoYW5uZWwuPC94czpkb2N1bWVu +dGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVy +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNsb3NlU2VjdXJlQ2hhbm5l +bFJlc3BvbnNlIiB0eXBlPSJ0bnM6Q2xvc2VTZWN1cmVDaGFubmVsUmVzcG9uc2UiIC8+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiPg0KICAgIDx4 +czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBzb2Z0d2FyZSBjZXJ0aWZp +Y2F0ZSB3aXRoIGEgZGlnaXRhbCBzaWduYXR1cmUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwv +eHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJDZXJ0aWZpY2F0ZURhdGEiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNpZ25hdHVyZSIgdHlw +ZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +IlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiIHR5cGU9InRuczpTaWduZWRTb2Z0d2FyZUNlcnRp +ZmljYXRlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTaWduZWRTb2Z0d2Fy +ZUNlcnRpZmljYXRlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiB0eXBlPSJ0bnM6U2lnbmVkU29mdHdhcmVDZXJ0 +aWZpY2F0ZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iTGlzdE9mU2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgdHlwZT0idG5zOkxp +c3RPZlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1l +bnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbkF1dGhlbnRpY2F0aW9uVG9rZW4iIHR5 +cGU9InVhOk5vZGVJZCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2lnbmF0dXJlRGF0 +YSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIGRpZ2l0 +YWwgc2lnbmF0dXJlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQog +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWxnb3JpdGhtIiB0eXBl +PSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJTaWduYXR1cmUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTaWduYXR1cmVEYXRhIiB0eXBlPSJ0bnM6U2ln +bmF0dXJlRGF0YSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ3JlYXRlU2Vzc2lvblJl +cXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q3Jl +YXRlcyBhIG5ldyBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQog +ICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50RGVz +Y3JpcHRpb24iIHR5cGU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVXJpIiB0 +eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbk5h +bWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVudE5vbmNlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnki +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJDbGllbnRDZXJ0aWZpY2F0ZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkU2Vz +c2lvblRpbWVvdXQiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iTWF4UmVzcG9uc2VNZXNzYWdlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJ +bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVTZXNzaW9uUmVxdWVzdCIgdHlwZT0idG5z +OkNyZWF0ZVNlc3Npb25SZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDcmVh +dGVTZXNzaW9uUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3Vt +ZW50YXRpb24+Q3JlYXRlcyBhIG5ldyBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L3hzOmRvY3Vt +ZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFk +ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJTZXNzaW9uSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkF1dGhlbnRpY2F0aW9uVG9rZW4iIHR5 +cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlJldmlzZWRTZXNzaW9uVGltZW91dCIgdHlwZT0ieHM6ZG91YmxlIiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJOb25jZSIgdHlw +ZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyQ2VydGlmaWNhdGUiIHR5cGU9InhzOmJhc2U2NEJp +bmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlNlcnZlckVuZHBvaW50cyIgdHlwZT0idG5zOkxpc3RPZkVuZHBvaW50RGVzY3JpcHRp +b24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJTZXJ2ZXJTb2Z0d2FyZUNlcnRpZmljYXRlcyIgdHlwZT0idG5zOkxpc3RPZlNpZ25lZFNv +ZnR3YXJlQ2VydGlmaWNhdGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJTaWduYXR1cmUiIHR5cGU9InRuczpTaWduYXR1cmVE +YXRhIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iTWF4UmVxdWVzdE1lc3NhZ2VTaXplIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9IkNyZWF0ZVNlc3Npb25SZXNwb25zZSIgdHlwZT0idG5zOkNyZWF0ZVNl +c3Npb25SZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVXNlcklkZW50aXR5 +VG9rZW4iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBi +YXNlIHR5cGUgZm9yIGEgdXNlciBpZGVudGl0eSB0b2tlbi48L3hzOmRvY3VtZW50YXRpb24+DQog +ICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlBvbGljeUlkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iVXNlcklkZW50aXR5VG9rZW4iIHR5cGU9InRuczpVc2VySWRlbnRpdHlU +b2tlbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQW5vbnltb3VzSWRlbnRpdHlUb2tl +biI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHRva2Vu +IHJlcHJlc2VudGluZyBhbiBhbm9ueW1vdXMgdXNlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAg +PC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0K +ICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgICAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVu +c2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJBbm9ueW1vdXNJZGVudGl0eVRva2VuIiB0eXBlPSJ0bnM6QW5vbnlt +b3VzSWRlbnRpdHlUb2tlbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVXNlck5hbWVJ +ZGVudGl0eVRva2VuIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0 +aW9uPkEgdG9rZW4gcmVwcmVzZW50aW5nIGEgdXNlciBpZGVudGlmaWVkIGJ5IGEgdXNlciBuYW1l +IGFuZCBwYXNzd29yZC48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0K +ICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lv +biBiYXNlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQog +ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJQYXNzd29yZCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuY3J5cHRpb25BbGdvcml0 +aG0iIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29t +cGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVz +ZXJOYW1lSWRlbnRpdHlUb2tlbiIgdHlwZT0idG5zOlVzZXJOYW1lSWRlbnRpdHlUb2tlbiIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iWDUwOUlkZW50aXR5VG9rZW4iPg0KICAgIDx4czph +bm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSB0b2tlbiByZXByZXNlbnRpbmcg +YSB1c2VyIGlkZW50aWZpZWQgYnkgYW4gWDUwOSBjZXJ0aWZpY2F0ZS48L3hzOmRvY3VtZW50YXRp +b24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0i +ZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4i +Pg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2Vy +dGlmaWNhdGVEYXRhIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lv +bj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJYNTA5SWRlbnRpdHlUb2tlbiIgdHlwZT0idG5zOlg1MDlJZGVudGl0eVRv +a2VuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJJc3N1ZWRJZGVudGl0eVRva2VuIj4N +CiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgdG9rZW4gcmVw +cmVzZW50aW5nIGEgdXNlciBpZGVudGlmaWVkIGJ5IGEgV1MtU2VjdXJpdHkgWE1MIHRva2VuLjwv +eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhD +b250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpVc2Vy +SWRlbnRpdHlUb2tlbiI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJUb2tlbkRhdGEiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmNyeXB0 +aW9uQWxnb3JpdGhtIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAg +ICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJJc3N1ZWRJZGVudGl0eVRva2VuIiB0eXBlPSJ0bnM6SXNzdWVkSWRlbnRpdHlUb2tl +biIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWN0aXZhdGVTZXNzaW9uUmVxdWVzdCI+ +DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BY3RpdmF0ZXMg +YSBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czph +bm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJl +cXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50U2lnbmF0dXJlIiB0 +eXBlPSJ0bnM6U2lnbmF0dXJlRGF0YSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVudFNvZnR3YXJlQ2VydGlmaWNhdGVzIiB0eXBl +PSJ0bnM6TGlzdE9mU2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkxvY2FsZUlkcyIgdHlwZT0i +dWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iVXNlcklkZW50aXR5VG9rZW4iIHR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlVzZXJUb2tlblNpZ25hdHVyZSIgdHlwZT0idG5zOlNpZ25hdHVyZURhdGEiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj +b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWN0aXZhdGVTZXNzaW9uUmVxdWVzdCIg +dHlwZT0idG5zOkFjdGl2YXRlU2Vzc2lvblJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9IkFjdGl2YXRlU2Vzc2lvblJlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg +ICAgIDx4czpkb2N1bWVudGF0aW9uPkFjdGl2YXRlcyBhIHNlc3Npb24gd2l0aCB0aGUgc2VydmVy +LjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpS +ZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlNlcnZlck5vbmNlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1 +bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1 +YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJBY3RpdmF0ZVNlc3Npb25SZXNwb25zZSIgdHlwZT0idG5zOkFjdGl2YXRlU2Vzc2lvblJl +c3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDbG9zZVNlc3Npb25SZXF1ZXN0 +Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNsb3NlcyBh +IHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu +bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVx +dWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVTdWJzY3JpcHRpb25z +IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xvc2VTZXNzaW9uUmVx +dWVzdCIgdHlwZT0idG5zOkNsb3NlU2Vzc2lvblJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9IkNsb3NlU2Vzc2lvblJlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg +ICAgIDx4czpkb2N1bWVudGF0aW9uPkNsb3NlcyBhIHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwv +eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNw +b25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl +cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDbG9zZVNl +c3Npb25SZXNwb25zZSIgdHlwZT0idG5zOkNsb3NlU2Vzc2lvblJlc3BvbnNlIiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJDYW5jZWxSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4N +CiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNhbmNlbHMgYW4gb3V0c3RhbmRpbmcgcmVxdWVzdC48 +L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1 +ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iUmVxdWVzdEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vy +cz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJDYW5jZWxSZXF1ZXN0IiB0eXBlPSJ0bnM6Q2FuY2VsUmVxdWVzdCIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2FuY2VsUmVzcG9uc2UiPg0KICAgIDx4czphbm5v +dGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q2FuY2VscyBhbiBvdXRzdGFuZGluZyBy +ZXF1ZXN0LjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9 +InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IkNhbmNlbENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIg +bWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9IkNhbmNlbFJlc3BvbnNlIiB0eXBlPSJ0bnM6Q2FuY2VsUmVz +cG9uc2UiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9Ik5vZGVBdHRyaWJ1dGVzTWFzayI+ +DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYml0cyB1 +c2VkIHRvIHNwZWNpZnkgZGVmYXVsdCBhdHRyaWJ1dGVzIGZvciBhIG5ldyBub2RlLjwveHM6ZG9j +dW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJh +c2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4N +CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQWNjZXNzTGV2ZWxfMSIgLz4NCiAgICAgIDx4 +czplbnVtZXJhdGlvbiB2YWx1ZT0iQXJyYXlEaW1lbnNpb25zXzIiIC8+DQogICAgICA8eHM6ZW51 +bWVyYXRpb24gdmFsdWU9IkJyb3dzZU5hbWVfNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 +YWx1ZT0iQ29udGFpbnNOb0xvb3BzXzgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +IkRhdGFUeXBlXzE2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEZXNjcmlwdGlv +bl8zMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGlzcGxheU5hbWVfNjQiIC8+ +DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkV2ZW50Tm90aWZpZXJfMTI4IiAvPg0KICAg +ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJFeGVjdXRhYmxlXzI1NiIgLz4NCiAgICAgIDx4czpl +bnVtZXJhdGlvbiB2YWx1ZT0iSGlzdG9yaXppbmdfNTEyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0 +aW9uIHZhbHVlPSJJbnZlcnNlTmFtZV8xMDI0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh +bHVlPSJJc0Fic3RyYWN0XzIwNDgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik1p +bmltdW1TYW1wbGluZ0ludGVydmFsXzQwOTYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs +dWU9Ik5vZGVDbGFzc184MTkyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb2Rl +SWRfMTYzODQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN5bW1ldHJpY18zMjc2 +OCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVXNlckFjY2Vzc0xldmVsXzY1NTM2 +IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVc2VyRXhlY3V0YWJsZV8xMzEwNzIi +IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVzZXJXcml0ZU1hc2tfMjYyMTQ0IiAv +Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJWYWx1ZVJhbmtfNTI0Mjg4IiAvPg0KICAg +ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJXcml0ZU1hc2tfMTA0ODU3NiIgLz4NCiAgICAgIDx4 +czplbnVtZXJhdGlvbiB2YWx1ZT0iVmFsdWVfMjA5NzE1MiIgLz4NCiAgICAgIDx4czplbnVtZXJh +dGlvbiB2YWx1ZT0iQWxsXzQxOTQzMDMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +IkJhc2VOb2RlXzEzMzUzOTYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik9iamVj +dF8xMzM1NTI0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJPYmplY3RUeXBlT3JE +YXRhVHlwZV8xMzM3NDQ0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJWYXJpYWJs +ZV80MDI2OTk5IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJWYXJpYWJsZVR5cGVf +Mzk1ODkwMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTWV0aG9kXzE0NjY3MjQi +IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlZmVyZW5jZVR5cGVfMTM3MTIzNiIg +Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVmlld18xMzM1NTMyIiAvPg0KICAgIDwv +eHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +Tm9kZUF0dHJpYnV0ZXNNYXNrIiB0eXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXNNYXNrIiAvPg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJOb2RlQXR0cmlidXRlcyI+DQogICAgPHhzOmFubm90YXRp +b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYmFzZSBhdHRyaWJ1dGVzIGZvciBhbGwg +bm9kZXMuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiB0 +eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iRGlzcGxheU5hbWUiIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIg +dHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IldyaXRlTWFzayIgdHlwZT0ieHM6dW5zaWduZWRJbnQi +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJXcml0ZU1hc2si +IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5j +ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUF0dHJpYnV0 +ZXMiIHR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iT2JqZWN0QXR0cmlidXRlcyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9j +dW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYW4gb2JqZWN0IG5vZGUuPC94czpkb2N1bWVu +dGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4 +ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk5vZGVBdHRyaWJ1dGVz +Ij4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2 +ZW50Tm90aWZpZXIiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21w +bGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT2Jq +ZWN0QXR0cmlidXRlcyIgdHlwZT0idG5zOk9iamVjdEF0dHJpYnV0ZXMiIC8+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9IlZhcmlhYmxlQXR0cmlidXRlcyI+DQogICAgPHhzOmFubm90YXRpb24+ +DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSB2YXJpYWJsZSBu +b2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNv +bXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRu +czpOb2RlQXR0cmlidXRlcyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0idWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0K +ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJBcnJheURpbWVuc2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJBY2Nlc3NMZXZlbCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlckFjY2Vzc0xldmVsIiB0eXBlPSJ4czp1 +bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAi +IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yaXppbmciIHR5cGU9InhzOmJv +b2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwv +eHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlZhcmlhYmxlQXR0cmlidXRlcyIgdHlwZT0idG5zOlZh +cmlhYmxlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTWV0aG9kQXR0 +cmlidXRlcyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5U +aGUgYXR0cmlidXRlcyBmb3IgYSBtZXRob2Qgbm9kZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAg +PC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0K +ICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXhlY3V0YWJsZSIgdHlw +ZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h +bWU9IlVzZXJFeGVjdXRhYmxlIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNv +bXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJN +ZXRob2RBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6TWV0aG9kQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iT2JqZWN0VHlwZUF0dHJpYnV0ZXMiPg0KICAgIDx4czphbm5vdGF0 +aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGFuIG9iamVj +dCB0eXBlIG5vZGUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAg +ICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24g +YmFzZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +ICAgIDx4czplbGVtZW50IG5hbWU9IklzQWJzdHJhY3QiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9j +Y3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9u +Pg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl +bGVtZW50IG5hbWU9Ik9iamVjdFR5cGVBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6T2JqZWN0VHlwZUF0 +dHJpYnV0ZXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhYmxlVHlwZUF0dHJp +YnV0ZXMiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhl +IGF0dHJpYnV0ZXMgZm9yIGEgdmFyaWFibGUgdHlwZSBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4N +CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxz +ZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAg +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlw +ZT0idWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h +bWU9IkRhdGFUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czpp +bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcnJheURp +bWVuc2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4 +czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAg +ICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWYXJpYWJsZVR5cGVBdHRyaWJ1dGVzIiB0eXBl +PSJ0bnM6VmFyaWFibGVUeXBlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iUmVmZXJlbmNlVHlwZUF0dHJpYnV0ZXMiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAg +PHhzOmRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGEgcmVmZXJlbmNlIHR5cGUgbm9k +ZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21w +bGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6 +Tm9kZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iSXNBYnN0cmFjdCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN5bW1ldHJpYyIgdHlwZT0ieHM6Ym9vbGVh +biIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkludmVyc2VO +YW1lIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAg +PC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg +bmFtZT0iUmVmZXJlbmNlVHlwZUF0dHJpYnV0ZXMiIHR5cGU9InRuczpSZWZlcmVuY2VUeXBlQXR0 +cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGF0YVR5cGVBdHRyaWJ1dGVz +Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBhdHRy +aWJ1dGVzIGZvciBhIGRhdGEgdHlwZSBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hz +OmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAg +ICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4 +czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAg +ICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZUF0dHJpYnV0ZXMiIHR5cGU9InRu +czpEYXRhVHlwZUF0dHJpYnV0ZXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZpZXdB +dHRyaWJ1dGVzIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9u +PlRoZSBhdHRyaWJ1dGVzIGZvciBhIHZpZXcgbm9kZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAg +PC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0K +ICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGFpbnNOb0xvb3Bz +IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iRXZlbnROb3RpZmllciIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9 +IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAg +ICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJWaWV3QXR0cmlidXRlcyIgdHlwZT0idG5zOlZpZXdBdHRyaWJ1dGVzIiAvPg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZGROb2Rlc0l0ZW0iPg0KICAgIDx4czphbm5vdGF0aW9u +Pg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSByZXF1ZXN0IHRvIGFkZCBhIG5vZGUgdG8gdGhl +IHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90 +YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUGFyZW50 +Tm9kZUlkIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgdHlwZT0i +dWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iUmVxdWVzdGVkTmV3Tm9kZUlkIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkJyb3dzZU5hbWUiIHR5cGU9InVhOlF1YWxpZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlQ2xhc3MiIHR5cGU9InRu +czpOb2RlQ2xhc3MiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5v +ZGVBdHRyaWJ1dGVzIiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUeXBlRGVmaW5pdGlvbiIg +dHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg +bmFtZT0iQWRkTm9kZXNJdGVtIiB0eXBlPSJ0bnM6QWRkTm9kZXNJdGVtIiAvPg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZBZGROb2Rlc0l0ZW0iPg0KICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZE5vZGVzSXRlbSIgdHlwZT0idG5zOkFkZE5vZGVz +SXRlbSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iTGlzdE9mQWRkTm9kZXNJdGVtIiB0eXBlPSJ0bnM6TGlzdE9mQWRkTm9kZXNJdGVt +IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJBZGROb2Rlc1Jlc3VsdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l +bnRhdGlvbj5BIHJlc3VsdCBvZiBhbiBhZGQgbm9kZSBvcGVyYXRpb24uPC94czpkb2N1bWVudGF0 +aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9 +IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRlZE5vZGVJZCIgdHlwZT0idWE6Tm9k +ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFkZE5vZGVzUmVzdWx0 +IiB0eXBlPSJ0bnM6QWRkTm9kZXNSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +Ikxpc3RPZkFkZE5vZGVzUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJBZGROb2Rlc1Jlc3VsdCIgdHlwZT0idG5zOkFkZE5vZGVzUmVzdWx0IiBtaW5P +Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM +aXN0T2ZBZGROb2Rlc1Jlc3VsdCIgdHlwZT0idG5zOkxpc3RPZkFkZE5vZGVzUmVzdWx0IiBuaWxs +YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZGRO +b2Rlc1JlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRp +b24+QWRkcyBvbmUgb3IgbW9yZSBub2RlcyB0byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94 +czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVz +dEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9Ik5vZGVzVG9BZGQiIHR5cGU9InRuczpMaXN0T2ZBZGROb2Rlc0l0ZW0iIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj +b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkTm9kZXNSZXF1ZXN0IiB0eXBlPSJ0 +bnM6QWRkTm9kZXNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZGROb2Rl +c1Jlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9u +PkFkZHMgb25lIG9yIG1vcmUgbm9kZXMgdG8gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6 +ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25z +ZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZBZGROb2Rlc1Jlc3VsdCIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdu +b3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkTm9kZXNSZXNwb25zZSIgdHlwZT0idG5zOkFkZE5v +ZGVzUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFkZFJlZmVyZW5jZXNJ +dGVtIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgcmVx +dWVzdCB0byBhZGQgYSByZWZlcmVuY2UgdG8gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6 +ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU291cmNlTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS +ZWZlcmVuY2VUeXBlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IklzRm9yd2FyZCIgdHlwZT0ieHM6Ym9v +bGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0U2Vy +dmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXROb2RlSWQiIHR5cGU9InVhOkV4cGFuZGVk +Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iVGFyZ2V0Tm9kZUNsYXNzIiB0eXBlPSJ0bnM6Tm9kZUNsYXNzIiBtaW5PY2N1cnM9 +IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iQWRkUmVmZXJlbmNlc0l0ZW0iIHR5cGU9InRuczpBZGRSZWZlcmVuY2VzSXRl +bSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQWRkUmVmZXJlbmNlc0l0ZW0i +Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZFJlZmVyZW5j +ZXNJdGVtIiB0eXBlPSJ0bnM6QWRkUmVmZXJlbmNlc0l0ZW0iIG1pbk9jY3Vycz0iMCIgbWF4T2Nj +dXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkFkZFJlZmVyZW5j +ZXNJdGVtIiB0eXBlPSJ0bnM6TGlzdE9mQWRkUmVmZXJlbmNlc0l0ZW0iIG5pbGxhYmxlPSJ0cnVl +Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFkZFJlZmVyZW5jZXNS +ZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkFk +ZHMgb25lIG9yIG1vcmUgcmVmZXJlbmNlcyB0byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94 +czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVz +dEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlJlZmVyZW5jZXNUb0FkZCIgdHlwZT0idG5zOkxpc3RPZkFkZFJlZmVyZW5jZXNJ +dGVtIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFkZFJlZmVyZW5jZXNS +ZXF1ZXN0IiB0eXBlPSJ0bnM6QWRkUmVmZXJlbmNlc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9IkFkZFJlZmVyZW5jZXNSZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRpb24+ +DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BZGRzIG9uZSBvciBtb3JlIHJlZmVyZW5jZXMgdG8g +dGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu +bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVz +cG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVh +Okxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdu +b3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx +dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFkZFJlZmVy +ZW5jZXNSZXNwb25zZSIgdHlwZT0idG5zOkFkZFJlZmVyZW5jZXNSZXNwb25zZSIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlTm9kZXNJdGVtIj4NCiAgICA8eHM6YW5ub3RhdGlv +bj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgcmVxdWVzdCB0byBkZWxldGUgYSBub2RlIHRv +IHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czph +bm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5v +ZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlVGFyZ2V0UmVmZXJlbmNlcyIgdHlwZT0ieHM6 +Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZU5vZGVzSXRlbSIgdHlwZT0idG5z +OkRlbGV0ZU5vZGVzSXRlbSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGVs +ZXRlTm9kZXNJdGVtIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJEZWxldGVOb2Rlc0l0ZW0iIHR5cGU9InRuczpEZWxldGVOb2Rlc0l0ZW0iIG1pbk9jY3Vycz0i +MCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx +dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRl +bGV0ZU5vZGVzSXRlbSIgdHlwZT0idG5zOkxpc3RPZkRlbGV0ZU5vZGVzSXRlbSIgbmlsbGFibGU9 +InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlTm9k +ZXNSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9u +PkRlbGV0ZSBvbmUgb3IgbW9yZSBub2RlcyBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48 +L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1 +ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iTm9kZXNUb0RlbGV0ZSIgdHlwZT0idG5zOkxpc3RPZkRlbGV0ZU5vZGVzSXRl +bSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVOb2Rlc1JlcXVl +c3QiIHR5cGU9InRuczpEZWxldGVOb2Rlc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9IkRlbGV0ZU5vZGVzUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAg +PHhzOmRvY3VtZW50YXRpb24+RGVsZXRlIG9uZSBvciBtb3JlIG5vZGVzIGZyb20gdGhlIHNlcnZl +ciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+ +DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFk +ZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0 +YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZv +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZU5vZGVzUmVzcG9u +c2UiIHR5cGU9InRuczpEZWxldGVOb2Rlc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJEZWxldGVSZWZlcmVuY2VzSXRlbSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg +ICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8gZGVsZXRlIGEgbm9kZSBmcm9tIHRoZSBz +ZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 +aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNvdXJjZU5v +ZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQi +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJJc0ZvcndhcmQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlRhcmdldE5vZGVJZCIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJE +ZWxldGVCaWRpcmVjdGlvbmFsIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iRGVsZXRlUmVmZXJlbmNlc0l0ZW0iIHR5cGU9InRuczpEZWxldGVSZWZlcmVuY2VzSXRlbSIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGVsZXRlUmVmZXJlbmNlc0l0ZW0i +Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZVJlZmVy +ZW5jZXNJdGVtIiB0eXBlPSJ0bnM6RGVsZXRlUmVmZXJlbmNlc0l0ZW0iIG1pbk9jY3Vycz0iMCIg +bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRlbGV0 +ZVJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0bnM6TGlzdE9mRGVsZXRlUmVmZXJlbmNlc0l0ZW0iIG5p +bGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRl +bGV0ZVJlZmVyZW5jZXNSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpk +b2N1bWVudGF0aW9uPkRlbGV0ZSBvbmUgb3IgbW9yZSByZWZlcmVuY2VzIGZyb20gdGhlIHNlcnZl +ciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+ +DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRl +ciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VzVG9EZWxldGUiIHR5cGU9InRu +czpMaXN0T2ZEZWxldGVSZWZlcmVuY2VzSXRlbSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl +bWVudCBuYW1lPSJEZWxldGVSZWZlcmVuY2VzUmVxdWVzdCIgdHlwZT0idG5zOkRlbGV0ZVJlZmVy +ZW5jZXNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEZWxldGVSZWZlcmVu +Y2VzUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRp +b24+RGVsZXRlIG9uZSBvciBtb3JlIHJlZmVyZW5jZXMgZnJvbSB0aGUgc2VydmVyIGFkZHJlc3Mg +c3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0i +dG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w +bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlUmVmZXJlbmNlc1Jlc3BvbnNlIiB0 +eXBlPSJ0bnM6RGVsZXRlUmVmZXJlbmNlc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpzaW1wbGVUeXBl +ICBuYW1lPSJBdHRyaWJ1dGVXcml0ZU1hc2siPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAg +PHhzOmRvY3VtZW50YXRpb24+RGVmaW5lIGJpdHMgdXNlZCB0byBpbmRpY2F0ZSB3aGljaCBhdHRy +aWJ1dGVzIGFyZSB3cml0YWJsZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 +aW9uPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVu +dW1lcmF0aW9uIHZhbHVlPSJOb25lXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +IkFjY2Vzc0xldmVsXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFycmF5RGlt +ZW5zaW9uc18yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJCcm93c2VOYW1lXzQi +IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkNvbnRhaW5zTm9Mb29wc184IiAvPg0K +ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEYXRhVHlwZV8xNiIgLz4NCiAgICAgIDx4czpl +bnVtZXJhdGlvbiB2YWx1ZT0iRGVzY3JpcHRpb25fMzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp +b24gdmFsdWU9IkRpc3BsYXlOYW1lXzY0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl +PSJFdmVudE5vdGlmaWVyXzEyOCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRXhl +Y3V0YWJsZV8yNTYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ikhpc3Rvcml6aW5n +XzUxMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW52ZXJzZU5hbWVfMTAyNCIg +Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNBYnN0cmFjdF8yMDQ4IiAvPg0KICAg +ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbF80MDk2IiAv +Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb2RlQ2xhc3NfODE5MiIgLz4NCiAgICAg +IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9kZUlkXzE2Mzg0IiAvPg0KICAgICAgPHhzOmVudW1l +cmF0aW9uIHZhbHVlPSJTeW1tZXRyaWNfMzI3NjgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g +dmFsdWU9IlVzZXJBY2Nlc3NMZXZlbF82NTUzNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 +YWx1ZT0iVXNlckV4ZWN1dGFibGVfMTMxMDcyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh +bHVlPSJVc2VyV3JpdGVNYXNrXzI2MjE0NCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 +ZT0iVmFsdWVSYW5rXzUyNDI4OCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iV3Jp +dGVNYXNrXzEwNDg1NzYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZhbHVlRm9y +VmFyaWFibGVUeXBlXzIwOTcxNTIiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpz +aW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBdHRyaWJ1dGVXcml0ZU1hc2siIHR5cGU9 +InRuczpBdHRyaWJ1dGVXcml0ZU1hc2siIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkJy +b3dzZURpcmVjdGlvbiI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRh +dGlvbj5UaGUgZGlyZWN0aW9ucyBvZiB0aGUgcmVmZXJlbmNlcyB0byByZXR1cm4uPC94czpkb2N1 +bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFz +ZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRm9yd2FyZF8wIiAv +Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJbnZlcnNlXzEiIC8+DQogICAgICA8eHM6 +ZW51bWVyYXRpb24gdmFsdWU9IkJvdGhfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 +ZT0iSW52YWxpZF8zIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlRGlyZWN0aW9uIiB0eXBlPSJ0bnM6QnJvd3Nl +RGlyZWN0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJWaWV3RGVzY3JpcHRpb24i +Pg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIHZpZXcg +dG8gYnJvd3NlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmlld0lkIiB0eXBlPSJ1YTpO +b2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJUaW1lc3RhbXAiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWaWV3VmVyc2lvbiIgdHlwZT0ieHM6dW5zaWduZWRJbnQi +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWaWV3RGVzY3JpcHRpb24iIHR5cGU9InRuczpWaWV3RGVz +Y3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb3dzZURlc2NyaXB0aW9u +Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgcmVxdWVz +dCB0byBicm93c2UgdGhlIHRoZSByZWZlcmVuY2VzIGZyb20gYSBub2RlLjwveHM6ZG9jdW1lbnRh +dGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VEaXJlY3Rpb24i +IHR5cGU9InRuczpCcm93c2VEaXJlY3Rpb24iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5jbHVkZVN1 +YnR5cGVzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJOb2RlQ2xhc3NNYXNrIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz +PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0TWFzayIgdHlwZT0ieHM6dW5z +aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VEZXNjcmlwdGlvbiIgdHlwZT0i +dG5zOkJyb3dzZURlc2NyaXB0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0 +T2ZCcm93c2VEZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iQnJvd3NlRGVzY3JpcHRpb24iIHR5cGU9InRuczpCcm93c2VEZXNjcmlwdGlvbiIg +bWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iTGlzdE9mQnJvd3NlRGVzY3JpcHRpb24iIHR5cGU9InRuczpMaXN0T2ZCcm93c2VEZXNjcmlw +dGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAg +bmFtZT0iQnJvd3NlUmVzdWx0TWFzayI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6 +ZG9jdW1lbnRhdGlvbj5BIGJpdCBtYXNrIHdoaWNoIHNwZWNpZmllcyB3aGF0IHNob3VsZCBiZSBy +ZXR1cm5lZCBpbiBhIGJyb3dzZSByZXNwb25zZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94 +czphbm5vdGF0aW9uPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAg +ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb25lXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp +b24gdmFsdWU9IlJlZmVyZW5jZVR5cGVJZF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh +bHVlPSJJc0ZvcndhcmRfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9kZUNs +YXNzXzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJyb3dzZU5hbWVfOCIgLz4N +CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGlzcGxheU5hbWVfMTYiIC8+DQogICAgICA8 +eHM6ZW51bWVyYXRpb24gdmFsdWU9IlR5cGVEZWZpbml0aW9uXzMyIiAvPg0KICAgICAgPHhzOmVu +dW1lcmF0aW9uIHZhbHVlPSJBbGxfNjMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +IlJlZmVyZW5jZVR5cGVJbmZvXzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlRh +cmdldEluZm9fNjAiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VSZXN1bHRNYXNrIiB0eXBlPSJ0bnM6QnJvd3Nl +UmVzdWx0TWFzayIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVmZXJlbmNlRGVzY3Jp +cHRpb24iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhl +IGRlc2NyaXB0aW9uIG9mIGEgcmVmZXJlbmNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hz +OmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +UmVmZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ZvcndhcmQiIHR5cGU9InhzOmJv +b2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIg +dHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VOYW1lIiB0eXBlPSJ1YTpRdWFsaWZpZWRO +YW1lIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iRGlzcGxheU5hbWUiIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlQ2xhc3MiIHR5 +cGU9InRuczpOb2RlQ2xhc3MiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlR5cGVEZWZpbml0aW9uIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VEZXNjcmlwdGlvbiIgdHlwZT0idG5z +OlJlZmVyZW5jZURlc2NyaXB0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0 +T2ZSZWZlcmVuY2VEZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iUmVmZXJlbmNlRGVzY3JpcHRpb24iIHR5cGU9InRuczpSZWZlcmVuY2VEZXNj +cmlwdGlvbiIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iTGlzdE9mUmVmZXJlbmNlRGVzY3JpcHRpb24iIHR5cGU9InRuczpMaXN0T2ZS +ZWZlcmVuY2VEZXNjcmlwdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJDb250aW51YXRpb25Qb2ludCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5 +IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VSZXN1bHQiPg0KICAgIDx4czph +bm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIHJlc3VsdCBvZiBhIGJyb3dz +ZSBvcGVyYXRpb24uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBl +PSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJDb250aW51YXRpb25Qb2ludCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlcyIg +dHlwZT0idG5zOkxpc3RPZlJlZmVyZW5jZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVJlc3VsdCIgdHlwZT0idG5zOkJyb3dzZVJlc3VsdCIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJvd3NlUmVzdWx0Ij4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VSZXN1bHQiIHR5cGU9 +InRuczpCcm93c2VSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb3dzZVJlc3VsdCIgdHlwZT0idG5zOkxpc3RP +ZkJyb3dzZVJlc3VsdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iQnJvd3NlUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg +ICA8eHM6ZG9jdW1lbnRhdGlvbj5Ccm93c2UgdGhlIHJlZmVyZW5jZXMgZm9yIG9uZSBvciBtb3Jl +IG5vZGVzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4N +CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWaWV3IiB0 +eXBlPSJ0bnM6Vmlld0Rlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTWF4UmVmZXJlbmNlc1Blck5vZGUi +IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJOb2Rlc1RvQnJvd3NlIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlRGVzY3JpcHRpb24i +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUmVxdWVzdCIgdHlw +ZT0idG5zOkJyb3dzZVJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb3dz +ZVJlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9u +PkJyb3dzZSB0aGUgcmVmZXJlbmNlcyBmb3Igb25lIG9yIG1vcmUgbm9kZXMgZnJvbSB0aGUgc2Vy +dmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlv +bj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhl +YWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RP +ZkJyb3dzZVJlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3Rp +Y0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j +ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUmVzcG9u +c2UiIHR5cGU9InRuczpCcm93c2VSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iQnJvd3NlTmV4dFJlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRv +Y3VtZW50YXRpb24+Q29udGludWVzIG9uZSBvciBtb3JlIGJyb3dzZSBvcGVyYXRpb25zLjwveHM6 +ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RI +ZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJSZWxlYXNlQ29udGludWF0aW9uUG9pbnRzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250aW51YXRpb25Qb2ludHMi +IHR5cGU9InVhOkxpc3RPZkJ5dGVTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iQnJvd3NlTmV4dFJlcXVlc3QiIHR5cGU9InRuczpCcm93c2VOZXh0UmVxdWVzdCIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQnJvd3NlTmV4dFJlc3BvbnNlIj4NCiAgICA8 +eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNvbnRpbnVlcyBvbmUgb3Ig +bW9yZSBicm93c2Ugb3BlcmF0aW9ucy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v +dGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3Bv +bnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ0bnM6 +TGlzdE9mQnJvd3NlUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFn +bm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl +cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VO +ZXh0UmVzcG9uc2UiIHR5cGU9InRuczpCcm93c2VOZXh0UmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9IlJlbGF0aXZlUGF0aEVsZW1lbnQiPg0KICAgIDx4czphbm5vdGF0aW9u +Pg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QW4gZWxlbWVudCBpbiBhIHJlbGF0aXZlIHBhdGgu +PC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVu +Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VUeXBlSWQiIHR5cGU9InVhOk5v +ZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IklzSW52ZXJzZSIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5jbHVkZVN1YnR5cGVzIiB0eXBlPSJ4czpib29sZWFuIiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXROYW1lIiB0eXBl +PSJ1YTpRdWFsaWZpZWROYW1lIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +IlJlbGF0aXZlUGF0aEVsZW1lbnQiIHR5cGU9InRuczpSZWxhdGl2ZVBhdGhFbGVtZW50IiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZSZWxhdGl2ZVBhdGhFbGVtZW50Ij4NCiAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWxhdGl2ZVBhdGhFbGVt +ZW50IiB0eXBlPSJ0bnM6UmVsYXRpdmVQYXRoRWxlbWVudCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1 +cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUmVsYXRpdmVQYXRo +RWxlbWVudCIgdHlwZT0idG5zOkxpc3RPZlJlbGF0aXZlUGF0aEVsZW1lbnQiIG5pbGxhYmxlPSJ0 +cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlbGF0aXZlUGF0 +aCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHJlbGF0 +aXZlIHBhdGggY29uc3RydWN0ZWQgZnJvbSByZWZlcmVuY2UgdHlwZXMgYW5kIGJyb3dzZSBuYW1l +cy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVsZW1lbnRzIiB0eXBlPSJ0bnM6TGlzdE9m +UmVsYXRpdmVQYXRoRWxlbWVudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJSZWxhdGl2ZVBhdGgiIHR5cGU9InRuczpSZWxhdGl2ZVBhdGgiIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9IkJyb3dzZVBhdGgiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhz +OmRvY3VtZW50YXRpb24+QSByZXF1ZXN0IHRvIHRyYW5zbGF0ZSBhIHBhdGggaW50byBhIG5vZGUg +aWQuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFydGluZ05vZGUiIHR5cGU9InVhOk5v +ZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlJlbGF0aXZlUGF0aCIgdHlwZT0idG5zOlJlbGF0aXZlUGF0aCIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VQYXRoIiB0eXBlPSJ0bnM6QnJvd3NlUGF0 +aCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJvd3NlUGF0aCI+DQogICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUGF0aCIgdHlwZT0i +dG5zOkJyb3dzZVBhdGgiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGgiIHR5cGU9InRuczpMaXN0T2ZCcm93 +c2VQYXRoIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJCcm93c2VQYXRoVGFyZ2V0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4 +czpkb2N1bWVudGF0aW9uPlRoZSB0YXJnZXQgb2YgdGhlIHRyYW5zbGF0ZWQgcGF0aC48L3hzOmRv +Y3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdldElkIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlJlbWFpbmluZ1BhdGhJbmRleCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJCcm93c2VQYXRoVGFyZ2V0IiB0eXBlPSJ0bnM6QnJvd3NlUGF0aFRhcmdldCIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJvd3NlUGF0aFRhcmdldCI+DQogICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUGF0aFRhcmdldCIg +dHlwZT0idG5zOkJyb3dzZVBhdGhUYXJnZXQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJv +dW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGhUYXJnZXQiIHR5 +cGU9InRuczpMaXN0T2ZCcm93c2VQYXRoVGFyZ2V0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVt +ZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VQYXRoUmVzdWx0Ij4NCiAgICA8 +eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSByZXN1bHQgb2YgYSB0 +cmFuc2xhdGUgb3BlYXJhdGlvbi48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 +aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c0Nv +ZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlRhcmdldHMiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VQYXRoVGFyZ2V0IiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGhSZXN1bHQiIHR5cGU9 +InRuczpCcm93c2VQYXRoUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0 +T2ZCcm93c2VQYXRoUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJCcm93c2VQYXRoUmVzdWx0IiB0eXBlPSJ0bnM6QnJvd3NlUGF0aFJlc3VsdCIgbWlu +T2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +TGlzdE9mQnJvd3NlUGF0aFJlc3VsdCIgdHlwZT0idG5zOkxpc3RPZkJyb3dzZVBhdGhSZXN1bHQi +IG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +IlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRp +b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UcmFuc2xhdGVzIG9uZSBvciBtb3JlIHBhdGhz +IGluIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94 +czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUGF0aHMiIHR5 +cGU9InRuczpMaXN0T2ZCcm93c2VQYXRoIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9IlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVxdWVzdCIgdHlwZT0idG5zOlRy +YW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iVHJhbnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNSZXNwb25zZSI+DQogICAgPHhz +OmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UcmFuc2xhdGVzIG9uZSBvciBt +b3JlIHBhdGhzIGluIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+ +DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1 +bHRzIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlUGF0aFJlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIg +dHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iVHJhbnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNSZXNwb25zZSIgdHlwZT0i +dG5zOlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9IlJlZ2lzdGVyTm9kZXNSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlv +bj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlJlZ2lzdGVycyBvbmUgb3IgbW9yZSBub2RlcyBm +b3IgcmVwZWF0ZWQgdXNlIHdpdGhpbiBhIHNlc3Npb24uPC94czpkb2N1bWVudGF0aW9uPg0KICAg +IDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVzVG9SZWdp +c3RlciIgdHlwZT0idWE6TGlzdE9mTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9IlJlZ2lzdGVyTm9kZXNSZXF1ZXN0IiB0eXBlPSJ0bnM6UmVnaXN0ZXJOb2Rlc1Jl +cXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZ2lzdGVyTm9kZXNSZXNwb25z +ZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5SZWdpc3Rl +cnMgb25lIG9yIG1vcmUgbm9kZXMgZm9yIHJlcGVhdGVkIHVzZSB3aXRoaW4gYSBzZXNzaW9uLjwv +eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNw +b25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlJlZ2lzdGVyZWROb2RlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZOb2RlSWQiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJOb2Rlc1Jlc3BvbnNl +IiB0eXBlPSJ0bnM6UmVnaXN0ZXJOb2Rlc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJVbnJlZ2lzdGVyTm9kZXNSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg +ICAgIDx4czpkb2N1bWVudGF0aW9uPlVucmVnaXN0ZXJzIG9uZSBvciBtb3JlIHByZXZpb3VzbHkg +cmVnaXN0ZXJlZCBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9u +Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFk +ZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb1VucmVnaXN0ZXIiIHR5cGU9InVh +Okxpc3RPZk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVbnJl +Z2lzdGVyTm9kZXNSZXF1ZXN0IiB0eXBlPSJ0bnM6VW5yZWdpc3Rlck5vZGVzUmVxdWVzdCIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVW5yZWdpc3Rlck5vZGVzUmVzcG9uc2UiPg0KICAg +IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VW5yZWdpc3RlcnMgb25l +IG9yIG1vcmUgcHJldmlvdXNseSByZWdpc3RlcmVkIG5vZGVzLjwveHM6ZG9jdW1lbnRhdGlvbj4N +CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVbnJlZ2lzdGVyTm9kZXNSZXNwb25zZSIg +dHlwZT0idG5zOlVucmVnaXN0ZXJOb2Rlc1Jlc3BvbnNlIiAvPg0KDQogIDx4czplbGVtZW50IG5h +bWU9IkNvdW50ZXIiIHR5cGU9InhzOnVuc2lnbmVkSW50IiAvPg0KDQogIDx4czplbGVtZW50IG5h +bWU9Ik51bWVyaWNSYW5nZSIgdHlwZT0ieHM6c3RyaW5nIiAvPg0KDQogIDx4czplbGVtZW50IG5h +bWU9IlRpbWUiIHR5cGU9InhzOnN0cmluZyIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRl +IiB0eXBlPSJ4czpkYXRlVGltZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRW5kcG9p +bnRDb25maWd1cmF0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJPcGVyYXRpb25UaW1lb3V0IiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlVzZUJpbmFyeUVuY29kaW5nIiB0eXBlPSJ4czpib29sZWFu +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhTdHJpbmdMZW5n +dGgiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iTWF4Qnl0ZVN0cmluZ0xlbmd0aCIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhBcnJheUxlbmd0aCIgdHlwZT0ieHM6aW50IiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhNZXNzYWdlU2l6ZSIgdHlw +ZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhC +dWZmZXJTaXplIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IkNoYW5uZWxMaWZldGltZSIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVRva2VuTGlmZXRpbWUiIHR5cGU9Inhz +OmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50Q29uZmlndXJhdGlvbiIgdHlwZT0i +dG5zOkVuZHBvaW50Q29uZmlndXJhdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i +TGlzdE9mRW5kcG9pbnRDb25maWd1cmF0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludENvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpFbmRwb2lu +dENvbmZpZ3VyYXRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkVuZHBvaW50Q29uZmlndXJhdGlvbiIgdHlwZT0idG5z +Okxpc3RPZkVuZHBvaW50Q29uZmlndXJhdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVu +dD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUXVlcnlEYXRhRGVzY3JpcHRpb24iPg0KICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlbGF0aXZlUGF0aCIgdHlw +ZT0idG5zOlJlbGF0aXZlUGF0aCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXhSYW5nZSIgdHlw +ZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 +c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5 +RGF0YURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6UXVlcnlEYXRhRGVzY3JpcHRpb24iIC8+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlF1ZXJ5RGF0YURlc2NyaXB0aW9uIj4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeURhdGFEZXNjcmlwdGlv +biIgdHlwZT0idG5zOlF1ZXJ5RGF0YURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vy +cz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZRdWVyeURhdGFEZXNj +cmlwdGlvbiIgdHlwZT0idG5zOkxpc3RPZlF1ZXJ5RGF0YURlc2NyaXB0aW9uIiBuaWxsYWJsZT0i +dHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJOb2RlVHlwZURl +c2NyaXB0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJU +eXBlRGVmaW5pdGlvbk5vZGUiIHR5cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5jbHVkZVN1YlR5 +cGVzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJEYXRhVG9SZXR1cm4iIHR5cGU9InRuczpMaXN0T2ZRdWVyeURhdGFEZXNjcmlwdGlv +biIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlVHlwZURlc2NyaXB0 +aW9uIiB0eXBlPSJ0bnM6Tm9kZVR5cGVEZXNjcmlwdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iTGlzdE9mTm9kZVR5cGVEZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZVR5cGVEZXNjcmlwdGlvbiIgdHlwZT0idG5zOk5v +ZGVUeXBlRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk5vZGVUeXBlRGVzY3JpcHRpb24iIHR5cGU9InRu +czpMaXN0T2ZOb2RlVHlwZURlc2NyaXB0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50 +Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJGaWx0ZXJPcGVyYXRvciI+DQogICAgPHhzOnJl +c3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +IkVxdWFsc18wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJc051bGxfMSIgLz4N +CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iR3JlYXRlclRoYW5fMiIgLz4NCiAgICAgIDx4 +czplbnVtZXJhdGlvbiB2YWx1ZT0iTGVzc1RoYW5fMyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv +biB2YWx1ZT0iR3JlYXRlclRoYW5PckVxdWFsXzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g +dmFsdWU9Ikxlc3NUaGFuT3JFcXVhbF81IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl +PSJMaWtlXzYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vdF83IiAvPg0KICAg +ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJCZXR3ZWVuXzgiIC8+DQogICAgICA8eHM6ZW51bWVy +YXRpb24gdmFsdWU9IkluTGlzdF85IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJB +bmRfMTAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik9yXzExIiAvPg0KICAgICAg +PHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDYXN0XzEyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u +IHZhbHVlPSJJblZpZXdfMTMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik9mVHlw +ZV8xNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVsYXRlZFRvXzE1IiAvPg0K +ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJCaXR3aXNlQW5kXzE2IiAvPg0KICAgICAgPHhz +OmVudW1lcmF0aW9uIHZhbHVlPSJCaXR3aXNlT3JfMTciIC8+DQogICAgPC94czpyZXN0cmljdGlv +bj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXJPcGVyYXRv +ciIgdHlwZT0idG5zOkZpbHRlck9wZXJhdG9yIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJRdWVyeURhdGFTZXQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9Ik5vZGVJZCIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUeXBlRGVmaW5pdGlvbk5vZGUi +IHR5cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVzIiB0eXBlPSJ1YTpMaXN0T2ZWYXJpYW50 +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5RGF0YVNldCIgdHlw +ZT0idG5zOlF1ZXJ5RGF0YVNldCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m +UXVlcnlEYXRhU2V0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJRdWVyeURhdGFTZXQiIHR5cGU9InRuczpRdWVyeURhdGFTZXQiIG1pbk9jY3Vycz0iMCIgbWF4 +T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlF1ZXJ5RGF0 +YVNldCIgdHlwZT0idG5zOkxpc3RPZlF1ZXJ5RGF0YVNldCIgbmlsbGFibGU9InRydWUiPjwveHM6 +ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTm9kZVJlZmVyZW5jZSI+DQogICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpO +b2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJSZWZlcmVuY2VUeXBlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IklzRm9yd2FyZCIgdHlw +ZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +UmVmZXJlbmNlZE5vZGVJZHMiIHR5cGU9InVhOkxpc3RPZk5vZGVJZCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlUmVmZXJlbmNlIiB0eXBlPSJ0bnM6Tm9kZVJlZmVy +ZW5jZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTm9kZVJlZmVyZW5jZSI+ +DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZVJlZmVyZW5j +ZSIgdHlwZT0idG5zOk5vZGVSZWZlcmVuY2UiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJv +dW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk5vZGVSZWZlcmVuY2UiIHR5cGU9 +InRuczpMaXN0T2ZOb2RlUmVmZXJlbmNlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDb250ZW50RmlsdGVyRWxlbWVudCI+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyT3BlcmF0b3IiIHR5cGU9 +InRuczpGaWx0ZXJPcGVyYXRvciIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iRmlsdGVyT3BlcmFuZHMiIHR5cGU9InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz +OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb250ZW50RmlsdGVyRWxlbWVudCIg +dHlwZT0idG5zOkNvbnRlbnRGaWx0ZXJFbGVtZW50IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu +YW1lPSJMaXN0T2ZDb250ZW50RmlsdGVyRWxlbWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGVudEZpbHRlckVsZW1lbnQiIHR5cGU9InRuczpDb250 +ZW50RmlsdGVyRWxlbWVudCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N +CiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQ29udGVudEZpbHRlckVsZW1lbnQiIHR5cGU9InRu +czpMaXN0T2ZDb250ZW50RmlsdGVyRWxlbWVudCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVu +dD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ29udGVudEZpbHRlciI+DQogICAgPHhzOnNl +cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRWxlbWVudHMiIHR5cGU9InRuczpMaXN0 +T2ZDb250ZW50RmlsdGVyRWxlbWVudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJDb250ZW50RmlsdGVyIiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlciIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQ29udGVudEZpbHRlciI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGVudEZpbHRlciIgdHlwZT0idG5zOkNvbnRl +bnRGaWx0ZXIiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl +bGVtZW50IG5hbWU9Ikxpc3RPZkNvbnRlbnRGaWx0ZXIiIHR5cGU9InRuczpMaXN0T2ZDb250ZW50 +RmlsdGVyIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJGaWx0ZXJPcGVyYW5kIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyT3Bl +cmFuZCIgdHlwZT0idG5zOkZpbHRlck9wZXJhbmQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9IkVsZW1lbnRPcGVyYW5kIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNl +Ij4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgICAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXgiIHR5cGU9 +InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+ +DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hz +OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFbGVtZW50T3BlcmFuZCIgdHlwZT0i +dG5zOkVsZW1lbnRPcGVyYW5kIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXRlcmFs +T3BlcmFuZCI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8 +eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpGaWx0ZXJPcGVyYW5kIj4NCiAgICAgICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlIiB0eXBlPSJ1YTpWYXJpYW50 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4 +dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJMaXRlcmFsT3BlcmFuZCIgdHlwZT0idG5zOkxpdGVyYWxPcGVy +YW5kIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBdHRyaWJ1dGVPcGVyYW5kIj4NCiAg +ICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24g +YmFzZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWxpYXMi +IHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VQYXRoIiB0eXBlPSJ0bnM6UmVsYXRpdmVQYXRo +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmlu +ZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5j +ZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwv +eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkF0dHJpYnV0ZU9wZXJhbmQiIHR5 +cGU9InRuczpBdHRyaWJ1dGVPcGVyYW5kIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJT +aW1wbGVBdHRyaWJ1dGVPcGVyYW5kIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZh +bHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAg +ICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHlwZURlZmlu +aXRpb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGgiIHR5cGU9InVhOkxpc3RP +ZlF1YWxpZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iQXR0cmlidXRlSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXhSYW5nZSIg +dHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +ICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4 +Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2ltcGxl +QXR0cmlidXRlT3BlcmFuZCIgdHlwZT0idG5zOlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIC8+DQoN +CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiPg0K +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNpbXBsZUF0dHJpYnV0 +ZU9wZXJhbmQiIHR5cGU9InRuczpTaW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiBtaW5PY2N1cnM9IjAi +IG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl +bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTaW1w +bGVBdHRyaWJ1dGVPcGVyYW5kIiB0eXBlPSJ0bnM6TGlzdE9mU2ltcGxlQXR0cmlidXRlT3BlcmFu +ZCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iQ29udGVudEZpbHRlckVsZW1lbnRSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlN0YXR1c0NvZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9j +Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik9wZXJhbmRTdGF0dXNDb2RlcyIg +dHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik9wZXJhbmREaWFnbm9zdGljSW5mb3MiIHR5cGU9 +InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9IkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiB0eXBlPSJ0bnM6Q29udGVudEZpbHRl +ckVsZW1lbnRSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkNvbnRl +bnRGaWx0ZXJFbGVtZW50UmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIgdHlwZT0idG5zOkNvbnRlbnRG +aWx0ZXJFbGVtZW50UmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIg +dHlwZT0idG5zOkxpc3RPZkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiBuaWxsYWJsZT0idHJ1 +ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDb250ZW50RmlsdGVy +UmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbGVt +ZW50UmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +RWxlbWVudERpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGVudEZpbHRlclJlc3VsdCIg +dHlwZT0idG5zOkNvbnRlbnRGaWx0ZXJSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9IlBhcnNpbmdSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlN0YXR1c0NvZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTdGF0dXNDb2RlcyIgdHlwZT0idWE6TGlzdE9m +U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkRhdGFEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0 +aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlBhcnNpbmdSZXN1 +bHQiIHR5cGU9InRuczpQYXJzaW5nUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJMaXN0T2ZQYXJzaW5nUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJQYXJzaW5nUmVzdWx0IiB0eXBlPSJ0bnM6UGFyc2luZ1Jlc3VsdCIgbWluT2Nj +dXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 +czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlz +dE9mUGFyc2luZ1Jlc3VsdCIgdHlwZT0idG5zOkxpc3RPZlBhcnNpbmdSZXN1bHQiIG5pbGxhYmxl +PSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlF1ZXJ5Rmly +c3RSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS +ZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZpZXciIHR5cGU9InRuczpW +aWV3RGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJOb2RlVHlwZXMiIHR5cGU9InRuczpMaXN0T2ZOb2RlVHlwZURlc2Ny +aXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iRmlsdGVyIiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlciIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heERhdGFTZXRzVG9S +ZXR1cm4iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJNYXhSZWZlcmVuY2VzVG9SZXR1cm4iIHR5cGU9InhzOnVuc2lnbmVkSW50 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlGaXJzdFJlcXVlc3QiIHR5cGU9InRuczpRdWVy +eUZpcnN0UmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUXVlcnlGaXJzdFJl +c3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNw +b25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlEYXRhU2V0cyIgdHlw +ZT0idG5zOkxpc3RPZlF1ZXJ5RGF0YVNldCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpi +YXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJQYXJzaW5nUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZlBhcnNpbmdSZXN1 +bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmls +dGVyUmVzdWx0IiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlclJlc3VsdCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeUZpcnN0UmVzcG9uc2UiIHR5cGU9InRuczpRdWVy +eUZpcnN0UmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlF1ZXJ5TmV4dFJl +cXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVl +c3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsZWFzZUNvbnRpbnVhdGlvblBv +aW50IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJDb250aW51YXRpb25Qb2ludCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5TmV4dFJlcXVlc3QiIHR5cGU9InRu +czpRdWVyeU5leHRSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJRdWVyeU5l +eHRSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +UmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5RGF0YVNldHMi +IHR5cGU9InRuczpMaXN0T2ZRdWVyeURhdGFTZXQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkQ29udGludWF0aW9uUG9pbnQi +IHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJRdWVyeU5leHRSZXNwb25zZSIgdHlwZT0idG5zOlF1ZXJ5TmV4dFJlc3BvbnNlIiAvPg0K +DQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iPg0KICAgIDx4czpy +ZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl +PSJTb3VyY2VfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU2VydmVyXzEiIC8+ +DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJvdGhfMiIgLz4NCiAgICAgIDx4czplbnVt +ZXJhdGlvbiB2YWx1ZT0iTmVpdGhlcl8zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl +PSJJbnZhbGlkXzQiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iIHR5cGU9InRuczpUaW1l +c3RhbXBzVG9SZXR1cm4iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlYWRWYWx1ZUlk +Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5 +cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXhSYW5nZSIgdHlwZT0ieHM6 +c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iRGF0YUVuY29kaW5nIiB0eXBlPSJ1YTpRdWFsaWZpZWROYW1lIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlYWRWYWx1ZUlkIiB0eXBlPSJ0bnM6UmVhZFZh +bHVlSWQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlJlYWRWYWx1ZUlkIj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWFkVmFsdWVJZCIg +dHlwZT0idG5zOlJlYWRWYWx1ZUlkIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVk +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZSZWFkVmFsdWVJZCIgdHlwZT0idG5zOkxp +c3RPZlJlYWRWYWx1ZUlkIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJSZWFkUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIi +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJNYXhBZ2UiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiB0eXBlPSJ0bnM6VGltZXN0YW1wc1RvUmV0 +dXJuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2Rlc1RvUmVh +ZCIgdHlwZT0idG5zOkxpc3RPZlJlYWRWYWx1ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl +bGVtZW50IG5hbWU9IlJlYWRSZXF1ZXN0IiB0eXBlPSJ0bnM6UmVhZFJlcXVlc3QiIC8+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlYWRSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25z +ZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZkRhdGFWYWx1ZSIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJ +bmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iUmVhZFJlc3BvbnNlIiB0eXBlPSJ0bnM6UmVhZFJlc3BvbnNlIiAv +Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5UmVhZFZhbHVlSWQiPg0KICAgIDx4 +czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6Tm9k +ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iSW5kZXhSYW5nZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YUVuY29kaW5nIiB0eXBlPSJ1 +YTpRdWFsaWZpZWROYW1lIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9uUG9pbnQiIHR5cGU9InhzOmJhc2U2NEJpbmFy +eSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5UmVhZFZhbHVl +SWQiIHR5cGU9InRuczpIaXN0b3J5UmVhZFZhbHVlSWQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9Ikxpc3RPZkhpc3RvcnlSZWFkVmFsdWVJZCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRWYWx1ZUlkIiB0eXBlPSJ0bnM6SGlzdG9y +eVJlYWRWYWx1ZUlkIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZIaXN0b3J5UmVhZFZhbHVlSWQiIHR5cGU9InRuczpMaXN0 +T2ZIaXN0b3J5UmVhZFZhbHVlSWQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlSZWFkUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVu +Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXND +b2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250aW51YXRp +b25Qb2ludCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeURhdGEiIHR5cGU9InVhOkV4 +dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0 +b3J5UmVhZFJlc3VsdCIgdHlwZT0idG5zOkhpc3RvcnlSZWFkUmVzdWx0IiAvPg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZIaXN0b3J5UmVhZFJlc3VsdCI+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRSZXN1bHQiIHR5cGU9InRu +czpIaXN0b3J5UmVhZFJlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mSGlzdG9yeVJlYWRSZXN1bHQiIHR5cGU9InRu +czpMaXN0T2ZIaXN0b3J5UmVhZFJlc3VsdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWREZXRhaWxzIiB0eXBlPSJ0bnM6SGlzdG9yeVJlYWRE +ZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWFkRXZlbnREZXRhaWxzIj4N +CiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNp +b24gYmFzZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOdW1WYWx1ZXNQZXJOb2RlIiB0eXBlPSJ4czp1 +bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlN0YXJ0VGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJz +PSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlciIgdHlwZT0idG5zOkV2 +ZW50RmlsdGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hz +OnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVu +dD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZEV2ZW50RGV0 +YWlscyIgdHlwZT0idG5zOlJlYWRFdmVudERldGFpbHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9IlJlYWRSYXdNb2RpZmllZERldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBt +aXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVJlYWRE +ZXRhaWxzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h +bWU9IklzUmVhZE1vZGlmaWVkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhcnRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZFRpbWUiIHR5 +cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iTnVtVmFsdWVzUGVyTm9kZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i +MCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXR1cm5Cb3VuZHMiIHR5cGU9Inhz +OmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAg +IDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlYWRSYXdNb2RpZmllZERldGFpbHMiIHR5cGU9 +InRuczpSZWFkUmF3TW9kaWZpZWREZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJSZWFkUHJvY2Vzc2VkRGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJm +YWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5UmVhZERldGFpbHMi +Pg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Rh +cnRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4 +czplbGVtZW50IG5hbWU9IkVuZFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAi +IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJvY2Vzc2luZ0ludGVydmFsIiB0eXBl +PSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJBZ2dyZWdhdGVUeXBlIiB0eXBlPSJ1YTpMaXN0T2ZOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWdncmVnYXRlQ29u +ZmlndXJhdGlvbiIgdHlwZT0idG5zOkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hz +OmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWFkUHJvY2Vzc2VkRGV0YWlscyIgdHlwZT0idG5zOlJl +YWRQcm9jZXNzZWREZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWFkQXRU +aW1lRGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAg +ICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5UmVhZERldGFpbHMiPg0KICAgICAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxVGltZXMiIHR5cGU9 +InVhOkxpc3RPZkRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZVNpbXBsZUJvdW5kcyIgdHlwZT0ieHM6Ym9vbGVh +biIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpl +eHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4N +CiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZEF0VGltZURldGFpbHMiIHR5cGU9InRuczpSZWFkQXRU +aW1lRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeURhdGEiPg0K +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFWYWx1ZXMiIHR5 +cGU9InVhOkxpc3RPZkRhdGFWYWx1ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJIaXN0b3J5RGF0YSIgdHlwZT0idG5zOkhpc3RvcnlEYXRhIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJNb2RpZmljYXRpb25JbmZvIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZmljYXRpb25UaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXBkYXRlVHlwZSIgdHlw +ZT0idG5zOkhpc3RvcnlVcGRhdGVUeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJVc2VyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9Ik1vZGlmaWNhdGlvbkluZm8iIHR5cGU9InRuczpNb2RpZmljYXRp +b25JbmZvIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb2RpZmljYXRpb25J +bmZvIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZmlj +YXRpb25JbmZvIiB0eXBlPSJ0bnM6TW9kaWZpY2F0aW9uSW5mbyIgbWluT2NjdXJzPSIwIiBtYXhP +Y2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTW9kaWZpY2F0 +aW9uSW5mbyIgdHlwZT0idG5zOkxpc3RPZk1vZGlmaWNhdGlvbkluZm8iIG5pbGxhYmxlPSJ0cnVl +Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlNb2RpZmll +ZERhdGEiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhz +OmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeURhdGEiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+ +DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZpY2F0aW9uSW5mb3MiIHR5cGU9InRu +czpMaXN0T2ZNb2RpZmljYXRpb25JbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94 +czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iSGlzdG9yeU1vZGlmaWVkRGF0YSIgdHlwZT0idG5zOkhpc3RvcnlNb2RpZmllZERhdGEiIC8+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlFdmVudCI+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnRzIiB0eXBlPSJ0bnM6TGlzdE9mSGlz +dG9yeUV2ZW50RmllbGRMaXN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +Ikhpc3RvcnlFdmVudCIgdHlwZT0idG5zOkhpc3RvcnlFdmVudCIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iSGlzdG9yeVJlYWRSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRl +ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9Ikhpc3RvcnlSZWFkRGV0YWlscyIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0 +YW1wc1RvUmV0dXJuIiB0eXBlPSJ0bnM6VGltZXN0YW1wc1RvUmV0dXJuIiBtaW5PY2N1cnM9IjAi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWxlYXNlQ29udGludWF0aW9uUG9pbnRzIiB0 +eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJOb2Rlc1RvUmVhZCIgdHlwZT0idG5zOkxpc3RPZkhpc3RvcnlSZWFkVmFsdWVJZCIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5UmVhZFJlcXVlc3QiIHR5cGU9 +InRuczpIaXN0b3J5UmVhZFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhp +c3RvcnlSZWFkUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRz +IiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeVJlYWRSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5 +cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9Ikhpc3RvcnlSZWFkUmVzcG9uc2UiIHR5cGU9InRuczpIaXN0b3J5UmVhZFJlc3Bv +bnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJXcml0ZVZhbHVlIj4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5vZGVJ +ZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXhSYW5nZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFs +dWUiIHR5cGU9InVhOkRhdGFWYWx1ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJXcml0ZVZhbHVlIiB0eXBlPSJ0bnM6V3JpdGVWYWx1ZSIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iTGlzdE9mV3JpdGVWYWx1ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVWYWx1ZSIgdHlwZT0idG5zOldyaXRlVmFsdWUiIG1pbk9j +Y3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxp +c3RPZldyaXRlVmFsdWUiIHR5cGU9InRuczpMaXN0T2ZXcml0ZVZhbHVlIiBuaWxsYWJsZT0idHJ1 +ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJXcml0ZVJlcXVlc3Qi +Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFk +ZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb1dyaXRlIiB0eXBlPSJ0bnM6TGlz +dE9mV3JpdGVWYWx1ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJXcml0 +ZVJlcXVlc3QiIHR5cGU9InRuczpXcml0ZVJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9IldyaXRlUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1 +bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1 +YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJXcml0ZVJlc3BvbnNlIiB0eXBlPSJ0bnM6V3JpdGVSZXNwb25zZSIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlVcGRhdGVEZXRhaWxzIiB0 +eXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5h +bWU9Ikhpc3RvcnlVcGRhdGVUeXBlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3Ry +aW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW5zZXJ0XzEiIC8+DQogICAgICA8 +eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlcGxhY2VfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv +biB2YWx1ZT0iVXBkYXRlXzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRlbGV0 +ZV80IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iSGlzdG9yeVVwZGF0ZVR5cGUiIHR5cGU9InRuczpIaXN0b3J5VXBkYXRl +VHlwZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iUGVyZm9ybVVwZGF0ZVR5cGUiPg0K +ICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0 +aW9uIHZhbHVlPSJJbnNlcnRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVw +bGFjZV8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVcGRhdGVfMyIgLz4NCiAg +ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVtb3ZlXzQiIC8+DQogICAgPC94czpyZXN0cmlj +dGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJQZXJmb3JtVXBk +YXRlVHlwZSIgdHlwZT0idG5zOlBlcmZvcm1VcGRhdGVUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJVcGRhdGVEYXRhRGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1p +eGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5VXBkYXRl +RGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJQZXJmb3JtSW5zZXJ0UmVwbGFjZSIgdHlwZT0idG5zOlBlcmZvcm1VcGRhdGVUeXBlIiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXBkYXRlVmFsdWVz +IiB0eXBlPSJ1YTpMaXN0T2ZEYXRhVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8 +L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJVcGRhdGVEYXRhRGV0YWlscyIgdHlwZT0idG5zOlVwZGF0ZURhdGFEZXRhaWxzIiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJVcGRhdGVTdHJ1Y3R1cmVEYXRhRGV0YWlscyI+DQog +ICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9u +IGJhc2U9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQZXJmb3JtSW5zZXJ0UmVwbGFjZSIgdHlwZT0i +dG5zOlBlcmZvcm1VcGRhdGVUeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iVXBkYXRlVmFsdWVzIiB0eXBlPSJ1YTpMaXN0T2ZEYXRhVmFsdWUiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAg +ICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVcGRhdGVTdHJ1Y3R1cmVEYXRhRGV0YWlscyIg +dHlwZT0idG5zOlVwZGF0ZVN0cnVjdHVyZURhdGFEZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJVcGRhdGVFdmVudERldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBt +aXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVVwZGF0 +ZURldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iUGVyZm9ybUluc2VydFJlcGxhY2UiIHR5cGU9InRuczpQZXJmb3JtVXBkYXRlVHlwZSIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlciIgdHlw +ZT0idG5zOkV2ZW50RmlsdGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50RGF0YSIgdHlwZT0idG5zOkxpc3RPZkhpc3Rv +cnlFdmVudEZpZWxkTGlzdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +ICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxl +eENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVwZGF0 +ZUV2ZW50RGV0YWlscyIgdHlwZT0idG5zOlVwZGF0ZUV2ZW50RGV0YWlscyIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlUmF3TW9kaWZpZWREZXRhaWxzIj4NCiAgICA8eHM6Y29t +cGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5z +Okhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAg +IDx4czplbGVtZW50IG5hbWU9IklzRGVsZXRlTW9kaWZpZWQiIHR5cGU9InhzOmJvb2xlYW4iIG1p +bk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFydFRpbWUiIHR5 +cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iRW5kVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg +ICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxl +eENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0 +ZVJhd01vZGlmaWVkRGV0YWlscyIgdHlwZT0idG5zOkRlbGV0ZVJhd01vZGlmaWVkRGV0YWlscyIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlQXRUaW1lRGV0YWlscyI+DQogICAg +PHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJh +c2U9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXFUaW1lcyIgdHlwZT0idWE6TGlzdE9mRGF0ZVRp +bWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVu +Y2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVBdFRpbWVEZXRhaWxz +IiB0eXBlPSJ0bnM6RGVsZXRlQXRUaW1lRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iRGVsZXRlRXZlbnREZXRhaWxzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9 +ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRh +aWxzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkV2ZW50SWRzIiB0eXBlPSJ1YTpMaXN0T2ZCeXRlU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNp +b24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iRGVsZXRlRXZlbnREZXRhaWxzIiB0eXBlPSJ0bnM6RGVsZXRlRXZlbnRE +ZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5VXBkYXRlUmVzdWx0 +Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2Rl +IiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJPcGVyYXRpb25SZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlh +Z25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5VXBkYXRlUmVzdWx0IiB0eXBlPSJ0bnM6 +SGlzdG9yeVVwZGF0ZVJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m +SGlzdG9yeVVwZGF0ZVJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3VsdCIgdHlwZT0idG5zOkhpc3RvcnlVcGRhdGVSZXN1 +bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9Ikxpc3RPZkhpc3RvcnlVcGRhdGVSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZIaXN0b3J5 +VXBkYXRlUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJIaXN0b3J5VXBkYXRlUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RI +ZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJIaXN0b3J5VXBkYXRlRGV0YWlscyIgdHlwZT0idWE6TGlzdE9mRXh0ZW5zaW9uT2Jq +ZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlVcGRhdGVS +ZXF1ZXN0IiB0eXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZVJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9Ikhpc3RvcnlVcGRhdGVSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25z +ZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZIaXN0b3J5VXBkYXRlUmVzdWx0IiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +RGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5VXBkYXRlUmVzcG9uc2UiIHR5cGU9 +InRuczpIaXN0b3J5VXBkYXRlUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +IkNhbGxNZXRob2RSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJPYmplY3RJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWV0aG9kSWQiIHR5cGU9InVhOk5v +ZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IklucHV0QXJndW1lbnRzIiB0eXBlPSJ1YTpMaXN0T2ZWYXJpYW50IiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNhbGxNZXRob2RSZXF1ZXN0IiB0eXBlPSJ0bnM6 +Q2FsbE1ldGhvZFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkNh +bGxNZXRob2RSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJDYWxsTWV0aG9kUmVxdWVzdCIgdHlwZT0idG5zOkNhbGxNZXRob2RSZXF1ZXN0IiBtaW5P +Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM +aXN0T2ZDYWxsTWV0aG9kUmVxdWVzdCIgdHlwZT0idG5zOkxpc3RPZkNhbGxNZXRob2RSZXF1ZXN0 +IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJDYWxsTWV0aG9kUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbnB1dEFyZ3VtZW50UmVzdWx0cyIgdHlwZT0idWE6 +TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IklucHV0QXJndW1lbnREaWFnbm9zdGljSW5mb3MiIHR5cGU9InVh +Okxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT3V0cHV0QXJndW1lbnRzIiB0eXBlPSJ1YTpMaXN0T2ZW +YXJpYW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNhbGxNZXRob2RS +ZXN1bHQiIHR5cGU9InRuczpDYWxsTWV0aG9kUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJMaXN0T2ZDYWxsTWV0aG9kUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJDYWxsTWV0aG9kUmVzdWx0IiB0eXBlPSJ0bnM6Q2FsbE1ldGhv +ZFJlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iTGlzdE9mQ2FsbE1ldGhvZFJlc3VsdCIgdHlwZT0idG5zOkxpc3RPZkNhbGxN +ZXRob2RSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9IkNhbGxSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1l +dGhvZHNUb0NhbGwiIHR5cGU9InRuczpMaXN0T2ZDYWxsTWV0aG9kUmVxdWVzdCIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDYWxsUmVxdWVzdCIgdHlwZT0idG5zOkNhbGxS +ZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDYWxsUmVzcG9uc2UiPg0KICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0 +eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ0bnM6TGlzdE9mQ2FsbE1l +dGhvZFJlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0lu +Zm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ2FsbFJlc3BvbnNlIiB0 +eXBlPSJ0bnM6Q2FsbFJlc3BvbnNlIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJNb25p +dG9yaW5nTW9kZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAg +ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRpc2FibGVkXzAiIC8+DQogICAgICA8eHM6ZW51bWVy +YXRpb24gdmFsdWU9IlNhbXBsaW5nXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +IlJlcG9ydGluZ18yIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ01vZGUiIHR5cGU9InRuczpNb25pdG9y +aW5nTW9kZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iRGF0YUNoYW5nZVRyaWdnZXIi +Pg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1l +cmF0aW9uIHZhbHVlPSJTdGF0dXNfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i +U3RhdHVzVmFsdWVfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU3RhdHVzVmFs +dWVUaW1lc3RhbXBfMiIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRhdGFDaGFuZ2VUcmlnZ2VyIiB0eXBlPSJ0bnM6RGF0 +YUNoYW5nZVRyaWdnZXIiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkRlYWRiYW5kVHlw +ZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51 +bWVyYXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i +QWJzb2x1dGVfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudF8yIiAv +Pg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iRGVhZGJhbmRUeXBlIiB0eXBlPSJ0bnM6RGVhZGJhbmRUeXBlIiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJNb25pdG9yaW5nRmlsdGVyIj4NCiAgICA8eHM6c2VxdWVuY2U+ +DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg +bmFtZT0iTW9uaXRvcmluZ0ZpbHRlciIgdHlwZT0idG5zOk1vbml0b3JpbmdGaWx0ZXIiIC8+DQoN +CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFDaGFuZ2VGaWx0ZXIiPg0KICAgIDx4czpjb21w +bGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6 +TW9uaXRvcmluZ0ZpbHRlciI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJUcmlnZ2VyIiB0eXBlPSJ0bnM6RGF0YUNoYW5nZVRyaWdnZXIiIG1pbk9j +Y3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWFkYmFuZFR5cGUiIHR5 +cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iRGVhZGJhbmRWYWx1ZSIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hz +OmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJEYXRhQ2hhbmdlRmlsdGVyIiB0eXBlPSJ0bnM6RGF0YUNoYW5nZUZpbHRlciIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iRXZlbnRGaWx0ZXIiPg0KICAgIDx4czpjb21wbGV4Q29udGVu +dCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6TW9uaXRvcmlu +Z0ZpbHRlciI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJTZWxlY3RDbGF1c2VzIiB0eXBlPSJ0bnM6TGlzdE9mU2ltcGxlQXR0cmlidXRlT3BlcmFu +ZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJXaGVyZUNsYXVzZSIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXIiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hz +OmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudEZpbHRlciIgdHlwZT0idG5zOkV2ZW50RmlsdGVy +IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZ2dyZWdhdGVDb25maWd1cmF0aW9uIj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VTZXJ2ZXJDYXBh +YmlsaXRpZXNEZWZhdWx0cyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJlYXRVbmNlcnRhaW5Bc0JhZCIgdHlwZT0ieHM6Ym9vbGVh +biIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUGVyY2VudERhdGFC +YWQiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iUGVyY2VudERhdGFHb29kIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9j +Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZVNsb3BlZEV4dHJhcG9sYXRp +b24iIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNl +Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBZ2dyZWdhdGVDb25m +aWd1cmF0aW9uIiB0eXBlPSJ0bnM6QWdncmVnYXRlQ29uZmlndXJhdGlvbiIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iQWdncmVnYXRlRmlsdGVyIj4NCiAgICA8eHM6Y29tcGxleENvbnRl +bnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk1vbml0b3Jp +bmdGaWx0ZXIiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iU3RhcnRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFnZ3JlZ2F0ZVR5cGUiIHR5cGU9InVhOk5vZGVJZCIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJQcm9jZXNzaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIHR5 +cGU9InRuczpBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQog +ICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iQWdncmVnYXRlRmlsdGVyIiB0eXBlPSJ0bnM6QWdncmVnYXRlRmlsdGVyIiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb25pdG9yaW5nRmlsdGVyUmVzdWx0Ij4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ0ZpbHRlclJlc3VsdCIgdHlwZT0idG5zOk1vbml0 +b3JpbmdGaWx0ZXJSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkV2ZW50Rmls +dGVyUmVzdWx0Ij4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAg +IDx4czpleHRlbnNpb24gYmFzZT0idG5zOk1vbml0b3JpbmdGaWx0ZXJSZXN1bHQiPg0KICAgICAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VsZWN0Q2xhdXNl +UmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWxlY3RDbGF1c2VEaWFn +bm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IldoZXJlQ2xh +dXNlUmVzdWx0IiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlclJlc3VsdCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0 +ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9IkV2ZW50RmlsdGVyUmVzdWx0IiB0eXBlPSJ0bnM6RXZlbnRGaWx0 +ZXJSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFnZ3JlZ2F0ZUZpbHRlclJl +c3VsdCI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6 +ZXh0ZW5zaW9uIGJhc2U9InRuczpNb25pdG9yaW5nRmlsdGVyUmVzdWx0Ij4NCiAgICAgICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRTdGFydFRpbWUi +IHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUmV2aXNlZFByb2Nlc3NpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZEFnZ3JlZ2F0 +ZUNvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAg +PC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWdncmVnYXRlRmlsdGVyUmVzdWx0IiB0eXBlPSJ0 +bnM6QWdncmVnYXRlRmlsdGVyUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJN +b25pdG9yaW5nUGFyYW1ldGVycyI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iQ2xpZW50SGFuZGxlIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2FtcGxpbmdJbnRlcnZhbCIgdHlwZT0ieHM6 +ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXIi +IHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXVlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJ +bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2NhcmRPbGRl +c3QiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNl +Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yaW5nUGFy +YW1ldGVycyIgdHlwZT0idG5zOk1vbml0b3JpbmdQYXJhbWV0ZXJzIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCI+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXRlbVRvTW9uaXRvciIgdHlwZT0idG5zOlJl +YWRWYWx1ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iTW9uaXRvcmluZ01vZGUiIHR5cGU9InRuczpNb25pdG9yaW5nTW9kZSIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkUGFyYW1ldGVy +cyIgdHlwZT0idG5zOk1vbml0b3JpbmdQYXJhbWV0ZXJzIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0IiB0eXBlPSJ0bnM6TW9u +aXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxp +c3RPZk1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIgdHlwZT0idG5z +Ok1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5i +b3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVtQ3JlYXRl +UmVxdWVzdCIgdHlwZT0idG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0IiBuaWxs +YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb25p +dG9yZWRJdGVtQ3JlYXRlUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtSWQiIHR5cGU9InhzOnVu +c2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZp +c2VkU2FtcGxpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkUXVldWVTaXplIiB0eXBlPSJ4czp1bnNpZ25l +ZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyUmVz +dWx0IiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUNyZWF0ZVJlc3VsdCIgdHlwZT0idG5zOk1vbml0b3Jl +ZEl0ZW1DcmVhdGVSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk1v +bml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIHR5cGU9InRuczpNb25pdG9y +ZWRJdGVtQ3JlYXRlUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0IiB0 +eXBlPSJ0bnM6TGlzdE9mTW9uaXRvcmVkSXRlbUNyZWF0ZVJlc3VsdCIgbmlsbGFibGU9InRydWUi +PjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ3JlYXRlTW9uaXRvcmVk +SXRlbXNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklk +IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiB0eXBlPSJ0bnM6VGltZXN0YW1wc1RvUmV0dXJu +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJdGVtc1RvQ3JlYXRl +IiB0eXBlPSJ0bnM6TGlzdE9mTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ3JlYXRlTW9uaXRvcmVkSXRlbXNSZXF1ZXN0IiB0 +eXBlPSJ0bnM6Q3JlYXRlTW9uaXRvcmVkSXRlbXNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJDcmVhdGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVu +Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJl +c3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1DcmVh +dGVSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZv +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0 +ZW1zUmVzcG9uc2UiIHR5cGU9InRuczpDcmVhdGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCI+DQog +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUlk +IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUmVxdWVzdGVkUGFyYW1ldGVycyIgdHlwZT0idG5zOk1vbml0b3JpbmdQYXJhbWV0 +ZXJzIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1N +b2RpZnlSZXF1ZXN0IiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVlc3QiIC8+DQoN +CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0 +Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJ +dGVtTW9kaWZ5UmVxdWVzdCIgdHlwZT0idG5zOk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiBt +aW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJMaXN0T2ZNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCIgdHlwZT0idG5zOkxpc3RPZk1vbml0 +b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0Ij4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1 +YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS +ZXZpc2VkU2FtcGxpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkUXVldWVTaXplIiB0eXBlPSJ4czp1bnNp +Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVy +UmVzdWx0IiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCIgdHlwZT0idG5zOk1vbml0 +b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RP +Zk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIHR5cGU9InRuczpNb25p +dG9yZWRJdGVtTW9kaWZ5UmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVk +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0 +IiB0eXBlPSJ0bnM6TGlzdE9mTW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCIgbmlsbGFibGU9InRy +dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9kaWZ5TW9uaXRv +cmVkSXRlbXNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlv +bklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiB0eXBlPSJ0bnM6VGltZXN0YW1wc1RvUmV0 +dXJuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJdGVtc1RvTW9k +aWZ5IiB0eXBlPSJ0bnM6TGlzdE9mTW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVlc3QiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w +bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXF1ZXN0 +IiB0eXBlPSJ0bnM6TW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJNb2RpZnlNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5z +OlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1N +b2RpZnlSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJ +bmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmeU1vbml0b3Jl +ZEl0ZW1zUmVzcG9uc2UiIHR5cGU9InRuczpNb2RpZnlNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiAv +Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXRNb25pdG9yaW5nTW9kZVJlcXVlc3QiPg0K +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIi +IHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9InhzOnVuc2ln +bmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9y +aW5nTW9kZSIgdHlwZT0idG5zOk1vbml0b3JpbmdNb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtSWRzIiB0eXBlPSJ1YTpMaXN0T2ZVSW50 +MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0TW9uaXRvcmluZ01v +ZGVSZXF1ZXN0IiB0eXBlPSJ0bnM6U2V0TW9uaXRvcmluZ01vZGVSZXF1ZXN0IiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJTZXRNb25pdG9yaW5nTW9kZVJlc3BvbnNlIj4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0i +dG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w +bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0TW9uaXRvcmluZ01vZGVSZXNwb25zZSIg +dHlwZT0idG5zOlNldE1vbml0b3JpbmdNb2RlUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9IlNldFRyaWdnZXJpbmdSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRl +ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJpZ2dlcmluZ0l0ZW1JZCIgdHlwZT0ieHM6dW5z +aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxpbmtz +VG9BZGQiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkxpbmtzVG9SZW1vdmUiIHR5cGU9InVhOkxp +c3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl +cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRUcmln +Z2VyaW5nUmVxdWVzdCIgdHlwZT0idG5zOlNldFRyaWdnZXJpbmdSZXF1ZXN0IiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJTZXRUcmlnZ2VyaW5nUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6 +UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJBZGRSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +QWRkRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlbW92 +ZVJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZW1vdmVEaWFnbm9zdGljSW5m +b3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9IlNldFRyaWdnZXJpbmdSZXNwb25zZSIgdHlwZT0idG5zOlNldFRyaWdn +ZXJpbmdSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlTW9uaXRv +cmVkSXRlbXNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlv +bklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUlkcyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVx +dWVzdCIgdHlwZT0idG5zOkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSI+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9 +InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUi +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVzcG9u +c2UiIHR5cGU9InRuczpEZWxldGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJDcmVhdGVTdWJzY3JpcHRpb25SZXF1ZXN0Ij4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6 +UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91 +YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWRM +aWZldGltZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnQiIHR5cGU9Inhz +OnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJN +YXhOb3RpZmljYXRpb25zUGVyUHVibGlzaCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vy +cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hpbmdFbmFibGVkIiB0eXBl +PSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQ +cmlvcml0eSIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94 +czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ3Jl +YXRlU3Vic2NyaXB0aW9uUmVxdWVzdCIgdHlwZT0idG5zOkNyZWF0ZVN1YnNjcmlwdGlvblJlcXVl +c3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNyZWF0ZVN1YnNjcmlwdGlvblJlc3Bv +bnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25z +ZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9 +InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJSZXZpc2VkUHVibGlzaGluZ0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0i +MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRMaWZldGltZUNvdW50IiB0eXBl +PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iUmV2aXNlZE1heEtlZXBBbGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9IkNyZWF0ZVN1YnNjcmlwdGlvblJlc3BvbnNlIiB0eXBlPSJ0bnM6Q3Jl +YXRlU3Vic2NyaXB0aW9uUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1v +ZGlmeVN1YnNjcmlwdGlvblJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vi +c2NyaXB0aW9uSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWwiIHR5cGU9Inhz +OmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVz +dGVkTGlmZXRpbWVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50IiB0eXBl +PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iTWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2giIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQcmlvcml0eSIgdHlwZT0ieHM6 +dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZ5U3Vic2NyaXB0aW9uUmVx +dWVzdCIgdHlwZT0idG5zOk1vZGlmeVN1YnNjcmlwdGlvblJlcXVlc3QiIC8+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvblJlc3BvbnNlIj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5z +OlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFB1Ymxpc2hpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91 +YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkTGlm +ZXRpbWVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRNYXhLZWVwQWxpdmVDb3VudCIgdHlwZT0ieHM6dW5z +aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZnlTdWJzY3JpcHRpb25SZXNwb25z +ZSIgdHlwZT0idG5zOk1vZGlmeVN1YnNjcmlwdGlvblJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJTZXRQdWJsaXNoaW5nTW9kZVJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1 +ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iUHVibGlzaGluZ0VuYWJsZWQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vy +cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkcyIgdHlwZT0i +dWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNl +dFB1Ymxpc2hpbmdNb2RlUmVxdWVzdCIgdHlwZT0idG5zOlNldFB1Ymxpc2hpbmdNb2RlUmVxdWVz +dCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2V0UHVibGlzaGluZ01vZGVSZXNwb25z +ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VI +ZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RP +ZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJ +bmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNldFB1Ymxpc2hpbmdN +b2RlUmVzcG9uc2UiIHR5cGU9InRuczpTZXRQdWJsaXNoaW5nTW9kZVJlc3BvbnNlIiAvPg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJOb3RpZmljYXRpb25NZXNzYWdlIj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXF1ZW5jZU51bWJlciIgdHlwZT0ieHM6 +dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1 +Ymxpc2hUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iTm90aWZpY2F0aW9uRGF0YSIgdHlwZT0idWE6TGlzdE9mRXh0ZW5zaW9u +T2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik5vdGlmaWNhdGlv +bk1lc3NhZ2UiIHR5cGU9InRuczpOb3RpZmljYXRpb25NZXNzYWdlIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJOb3RpZmljYXRpb25EYXRhIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +Tm90aWZpY2F0aW9uRGF0YSIgdHlwZT0idG5zOk5vdGlmaWNhdGlvbkRhdGEiIC8+DQoNCiAgPHhz +OmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFDaGFuZ2VOb3RpZmljYXRpb24iPg0KICAgIDx4czpjb21w +bGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6 +Tm90aWZpY2F0aW9uRGF0YSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtcyIgdHlwZT0idG5zOkxpc3RPZk1vbml0b3JlZEl0 +ZW1Ob3RpZmljYXRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFn +bm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94 +czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRl +bnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRhdGFDaGFuZ2VO +b3RpZmljYXRpb24iIHR5cGU9InRuczpEYXRhQ2hhbmdlTm90aWZpY2F0aW9uIiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJNb25pdG9yZWRJdGVtTm90aWZpY2F0aW9uIj4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRIYW5kbGUiIHR5cGU9Inhz +OnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJW +YWx1ZSIgdHlwZT0idWE6RGF0YVZhbHVlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9Ik1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iIHR5cGU9InRuczpNb25pdG9yZWRJdGVt +Tm90aWZpY2F0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb25pdG9y +ZWRJdGVtTm90aWZpY2F0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJNb25pdG9yZWRJdGVtTm90aWZpY2F0aW9uIiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRl +bU5vdGlmaWNhdGlvbiIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiIgdHlwZT0i +dG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hz +OmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkV2ZW50Tm90aWZpY2F0aW9uTGlz +dCI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0 +ZW5zaW9uIGJhc2U9InRuczpOb3RpZmljYXRpb25EYXRhIj4NCiAgICAgICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50cyIgdHlwZT0idG5zOkxpc3RPZkV2 +ZW50RmllbGRMaXN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8 +L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29u +dGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnROb3Rp +ZmljYXRpb25MaXN0IiB0eXBlPSJ0bnM6RXZlbnROb3RpZmljYXRpb25MaXN0IiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJFdmVudEZpZWxkTGlzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50SGFuZGxlIiB0eXBlPSJ4czp1bnNpZ25lZElu +dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnRGaWVsZHMi +IHR5cGU9InVhOkxpc3RPZlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg +bmFtZT0iRXZlbnRGaWVsZExpc3QiIHR5cGU9InRuczpFdmVudEZpZWxkTGlzdCIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRXZlbnRGaWVsZExpc3QiPg0KICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50RmllbGRMaXN0IiB0eXBlPSJ0bnM6 +RXZlbnRGaWVsZExpc3QiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkV2ZW50RmllbGRMaXN0IiB0eXBlPSJ0bnM6TGlzdE9m +RXZlbnRGaWVsZExpc3QiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlFdmVudEZpZWxkTGlzdCI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnRGaWVsZHMiIHR5cGU9InVhOkxpc3RPZlZh +cmlhbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j +ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeUV2ZW50 +RmllbGRMaXN0IiB0eXBlPSJ0bnM6SGlzdG9yeUV2ZW50RmllbGRMaXN0IiAvPg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZIaXN0b3J5RXZlbnRGaWVsZExpc3QiPg0KICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlFdmVudEZpZWxkTGlzdCIg +dHlwZT0idG5zOkhpc3RvcnlFdmVudEZpZWxkTGlzdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9 +InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mSGlzdG9yeUV2ZW50Rmll +bGRMaXN0IiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeUV2ZW50RmllbGRMaXN0IiBuaWxsYWJsZT0i +dHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTdGF0dXNDaGFu +Z2VOb3RpZmljYXRpb24iPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0K +ICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm90aWZpY2F0aW9uRGF0YSI+DQogICAgICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXMiIHR5cGU9 +InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJEaWFnbm9zdGljSW5mbyIgdHlwZT0idWE6RGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hz +OmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDaGFuZ2VOb3RpZmljYXRpb24iIHR5cGU9InRu +czpTdGF0dXNDaGFuZ2VOb3RpZmljYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +IlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXF1ZW5jZU51bWJlciIg +dHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNl +Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25B +Y2tub3dsZWRnZW1lbnQiIHR5cGU9InRuczpTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiIC8+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlN1YnNjcmlwdGlvbkFja25vd2xlZGdl +bWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2Ny +aXB0aW9uQWNrbm93bGVkZ2VtZW50IiB0eXBlPSJ0bnM6U3Vic2NyaXB0aW9uQWNrbm93bGVkZ2Vt +ZW50IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJMaXN0T2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiIHR5cGU9InRuczpMaXN0 +T2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1l +bnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlB1Ymxpc2hSZXF1ZXN0Ij4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0 +bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudHMiIHR5cGU9InRu +czpMaXN0T2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaFJlcXVlc3QiIHR5cGU9InRuczpQdWJsaXNoUmVxdWVz +dCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUHVibGlzaFJlc3BvbnNlIj4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlw +ZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9InhzOnVuc2lnbmVk +SW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdmFpbGFibGVT +ZXF1ZW5jZU51bWJlcnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vcmVOb3RpZmljYXRpb25z +IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJOb3RpZmljYXRpb25NZXNzYWdlIiB0eXBlPSJ0bnM6Tm90aWZpY2F0aW9uTWVzc2FnZSIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5 +cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9IlB1Ymxpc2hSZXNwb25zZSIgdHlwZT0idG5zOlB1Ymxpc2hSZXNwb25zZSIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVwdWJsaXNoUmVxdWVzdCI+DQogICAgPHhzOnNl +cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5z +OlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1p +bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldHJhbnNtaXRTZXF1ZW5j +ZU51bWJlciIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZXB1 +Ymxpc2hSZXF1ZXN0IiB0eXBlPSJ0bnM6UmVwdWJsaXNoUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iUmVwdWJsaXNoUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VI +ZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJOb3RpZmljYXRpb25NZXNzYWdlIiB0eXBlPSJ0bnM6Tm90aWZpY2F0aW9uTWVzc2Fn +ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZXB1Ymxpc2hSZXNwb25z +ZSIgdHlwZT0idG5zOlJlcHVibGlzaFJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu +YW1lPSJUcmFuc2ZlclJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXZhaWxhYmxlU2VxdWVuY2VOdW1iZXJzIiB0eXBl +PSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +VHJhbnNmZXJSZXN1bHQiIHR5cGU9InRuczpUcmFuc2ZlclJlc3VsdCIgLz4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iTGlzdE9mVHJhbnNmZXJSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zZmVyUmVzdWx0IiB0eXBlPSJ0bnM6VHJhbnNm +ZXJSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl +bGVtZW50IG5hbWU9Ikxpc3RPZlRyYW5zZmVyUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mVHJhbnNm +ZXJSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9IlRyYW5zZmVyU3Vic2NyaXB0aW9uc1JlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1 +ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWRzIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZW5k +SW5pdGlhbFZhbHVlcyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRy +YW5zZmVyU3Vic2NyaXB0aW9uc1JlcXVlc3QiIHR5cGU9InRuczpUcmFuc2ZlclN1YnNjcmlwdGlv +bnNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJUcmFuc2ZlclN1YnNjcmlw +dGlvbnNSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5 +cGU9InRuczpMaXN0T2ZUcmFuc2ZlclJlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6 +TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iVHJhbnNmZXJTdWJzY3JpcHRpb25zUmVzcG9uc2UiIHR5cGU9InRuczpUcmFuc2ZlclN1YnNj +cmlwdGlvbnNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlU3Vi +c2NyaXB0aW9uc1JlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0 +aW9uSWRzIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iRGVsZXRlU3Vic2NyaXB0aW9uc1JlcXVlc3QiIHR5cGU9InRuczpEZWxldGVT +dWJzY3JpcHRpb25zUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRl +U3Vic2NyaXB0aW9uc1Jlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVz +dWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0i +dWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg +bmFtZT0iRGVsZXRlU3Vic2NyaXB0aW9uc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6RGVsZXRlU3Vic2Ny +aXB0aW9uc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCdWlsZEluZm8i +Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlByb2R1Y3RVcmki +IHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9Ik1hbnVmYWN0dXJlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBy +b2R1Y3ROYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTb2Z0d2FyZVZlcnNpb24iIHR5cGU9InhzOnN0 +cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkJ1aWxkTnVtYmVyIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCdWlsZERhdGUiIHR5cGU9Inhz +OmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj +b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnVpbGRJbmZvIiB0eXBlPSJ0bnM6QnVp +bGRJbmZvIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJSZWR1bmRhbmN5U3VwcG9ydCI+ +DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVy +YXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ29s +ZF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJXYXJtXzIiIC8+DQogICAgICA8 +eHM6ZW51bWVyYXRpb24gdmFsdWU9IkhvdF8zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh +bHVlPSJUcmFuc3BhcmVudF80IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJIb3RB +bmRNaXJyb3JlZF81IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVkdW5kYW5jeVN1cHBvcnQiIHR5cGU9InRuczpSZWR1 +bmRhbmN5U3VwcG9ydCIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iU2VydmVyU3RhdGUi +Pg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1l +cmF0aW9uIHZhbHVlPSJSdW5uaW5nXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +IkZhaWxlZF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb0NvbmZpZ3VyYXRp +b25fMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU3VzcGVuZGVkXzMiIC8+DQog +ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNodXRkb3duXzQiIC8+DQogICAgICA8eHM6ZW51 +bWVyYXRpb24gdmFsdWU9IlRlc3RfNSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i +Q29tbXVuaWNhdGlvbkZhdWx0XzYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVu +a25vd25fNyIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9IlNlcnZlclN0YXRlIiB0eXBlPSJ0bnM6U2VydmVyU3RhdGUiIC8+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZHVuZGFudFNlcnZlckRhdGFUeXBlIj4NCiAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJJZCIgdHlwZT0i +eHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iU2VydmljZUxldmVsIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vy +cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlclN0YXRlIiB0eXBlPSJ0bnM6 +U2VydmVyU3RhdGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz +OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlw +ZSIgdHlwZT0idG5zOlJlZHVuZGFudFNlcnZlckRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJMaXN0T2ZSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVkdW5kYW50U2VydmVyRGF0YVR5cGUiIHR5 +cGU9InRuczpSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9 +InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUmVkdW5kYW50U2VydmVy +RGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIgbmlsbGFi +bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRW5kcG9p +bnRVcmxMaXN0RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkVuZHBvaW50VXJsTGlzdCIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIiB0eXBl +PSJ0bnM6RW5kcG9pbnRVcmxMaXN0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9Ikxpc3RPZkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVybExpc3REYXRhVHlwZSIgdHlwZT0idG5z +OkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3Vu +ZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbmRwb2ludFVybExpc3REYXRhVHlw +ZSIgdHlwZT0idG5zOkxpc3RPZkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1 +ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJOZXR3b3JrR3JvdXBE +YXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vy +dmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOZXR3b3JrUGF0aHMiIHR5cGU9InRuczpMaXN0T2ZF +bmRwb2ludFVybExpc3REYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJOZXR3b3JrR3JvdXBEYXRhVHlwZSIgdHlwZT0idG5zOk5ldHdvcmtHcm91cERhdGFUeXBl +IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZOZXR3b3JrR3JvdXBEYXRhVHlw +ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmV0d29ya0dy +b3VwRGF0YVR5cGUiIHR5cGU9InRuczpOZXR3b3JrR3JvdXBEYXRhVHlwZSIgbWluT2NjdXJzPSIw +IiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTmV0 +d29ya0dyb3VwRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZOZXR3b3JrR3JvdXBEYXRhVHlwZSIg +bmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i +U2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNhbXBsaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJs +ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRl +bUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iTWF4TW9uaXRvcmVkSXRlbUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZElu +dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzYWJsZWRNb25p +dG9yZWRJdGVtQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTYW1wbGlu +Z0ludGVydmFsRGlhZ25vc3RpY3NEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iTGlzdE9mU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNhbXBsaW5nSW50ZXJ2YWxEaWFnbm9z +dGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5 +cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9Ikxpc3RPZlNhbXBsaW5nSW50ZXJ2YWxEaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0 +bnM6TGlzdE9mU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiIG5pbGxhYmxlPSJ0 +cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlcnZlckRpYWdu +b3N0aWNzU3VtbWFyeURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJTZXJ2ZXJWaWV3Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1 +cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50U2Vzc2lvbkNvdW50IiB0 +eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iQ3VtdWxhdGVkU2Vzc2lvbkNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlSZWplY3RlZFNlc3Np +b25Db3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlJlamVjdGVkU2Vzc2lvbkNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZElu +dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvblRpbWVv +dXRDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlNlc3Npb25BYm9ydENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudFN1YnNjcmlw +dGlvbkNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iQ3VtdWxhdGVkU3Vic2NyaXB0aW9uQ291bnQiIHR5cGU9InhzOnVu +c2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJs +aXNoaW5nSW50ZXJ2YWxDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5UmVqZWN0ZWRSZXF1ZXN0c0NvdW50 +IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUmVqZWN0ZWRSZXF1ZXN0c0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9IlNlcnZlckRpYWdub3N0aWNzU3VtbWFyeURhdGFUeXBlIiB0eXBl +PSJ0bnM6U2VydmVyRGlhZ25vc3RpY3NTdW1tYXJ5RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9IlNlcnZlclN0YXR1c0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFydFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50VGltZSIgdHlwZT0i +eHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0 +YXRlIiB0eXBlPSJ0bnM6U2VydmVyU3RhdGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkJ1aWxkSW5mbyIgdHlwZT0idG5zOkJ1aWxkSW5mbyIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY29uZHNUaWxs +U2h1dGRvd24iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJTaHV0ZG93blJlYXNvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJTdGF0dXNEYXRhVHlw +ZSIgdHlwZT0idG5zOlNlcnZlclN0YXR1c0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJTZXNzaW9uRGlhZ25vc3RpY3NEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbklkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNz +aW9uTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50RGVzY3JpcHRpb24iIHR5cGU9InRuczpB +cHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRw +b2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJp +bmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJBY3R1YWxTZXNzaW9uVGltZW91dCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhSZXNwb25zZU1lc3NhZ2VTaXplIiB0eXBl +PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iQ2xpZW50Q29ubmVjdGlvblRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRMYXN0Q29udGFjdFRpbWUiIHR5cGU9 +InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJD +dXJyZW50U3Vic2NyaXB0aW9uc0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz +PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudE1vbml0b3JlZEl0ZW1zQ291 +bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJDdXJyZW50UHVibGlzaFJlcXVlc3RzSW5RdWV1ZSIgdHlwZT0ieHM6dW5zaWdu +ZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRvdGFsUmVx +dWVzdENvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVuYXV0aG9yaXpl +ZFJlcXVlc3RDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlJlYWRDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVy +RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJIaXN0b3J5UmVhZENvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRh +VHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IldyaXRlQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlz +dG9yeVVwZGF0ZUNvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNhbGxD +b3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVNb25pdG9yZWRJ +dGVtc0NvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmeU1vbml0 +b3JlZEl0ZW1zQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0TW9u +aXRvcmluZ01vZGVDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRU +cmlnZ2VyaW5nQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRl +TW9uaXRvcmVkSXRlbXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJD +cmVhdGVTdWJzY3JpcHRpb25Db3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUi +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJNb2RpZnlTdWJzY3JpcHRpb25Db3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5 +cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJTZXRQdWJsaXNoaW5nTW9kZUNvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRh +VHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlB1Ymxpc2hDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS +ZXB1Ymxpc2hDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2Zl +clN1YnNjcmlwdGlvbnNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJE +ZWxldGVTdWJzY3JpcHRpb25zQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBl +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iQWRkTm9kZXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRS +ZWZlcmVuY2VzQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRl +Tm9kZXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVSZWZl +cmVuY2VzQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlQ291 +bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlTmV4dENvdW50IiB0 +eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9O +b2RlSWRzQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlGaXJz +dENvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5TmV4dENvdW50 +IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyTm9kZXNDb3VudCIg +dHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbnJlZ2lzdGVyTm9kZXNDb3VudCIg +dHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTZXNz +aW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlz +dE9mU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlNlc3Npb25EaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6 +U2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJv +dW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlNlc3Npb25EaWFnbm9zdGljc0Rh +dGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIG5pbGxh +YmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlc3Np +b25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlNlc3Npb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50VXNl +cklkT2ZTZXNzaW9uIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRVc2VySWRIaXN0b3J5IiB0eXBl +PSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJBdXRoZW50aWNhdGlvbk1lY2hhbmlzbSIgdHlwZT0ieHM6c3Ry +aW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iRW5jb2RpbmciIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zcG9ydFByb3RvY29sIiB0eXBl +PSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2Rl +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVBvbGlj +eVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50Q2VydGlmaWNhdGUiIHR5cGU9InhzOmJhc2U2 +NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl +bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uU2Vj +dXJpdHlEaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U2Vzc2lvblNlY3VyaXR5RGlhZ25v +c3RpY3NEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU2Vzc2lv +blNlY3VyaXR5RGlhZ25vc3RpY3NEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvblNlY3VyaXR5RGlhZ25vc3RpY3NEYXRhVHlwZSIgdHlw +ZT0idG5zOlNlc3Npb25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIg +bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlNlc3Np +b25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZTZXNzaW9uU2Vj +dXJpdHlEaWFnbm9zdGljc0RhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXJ2aWNlQ291bnRlckRhdGFUeXBlIj4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUb3RhbENvdW50IiB0eXBlPSJ4 +czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +RXJyb3JDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJT +ZXJ2aWNlQ291bnRlckRhdGFUeXBlIiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU3RhdHVzUmVzdWx0Ij4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0 +dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9z +dGljSW5mbyIgdHlwZT0idWE6RGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iU3RhdHVzUmVzdWx0IiB0eXBlPSJ0bnM6U3RhdHVzUmVzdWx0IiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTdGF0dXNSZXN1bHQiPg0KICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c1Jlc3VsdCIgdHlwZT0idG5z +OlN0YXR1c1Jlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU3RhdHVzUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mU3Rh +dHVzUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJTdWJzY3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uSWQiIHR5cGU9InVhOk5vZGVJ +ZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJpb3JpdHkiIHR5cGU9InhzOnVuc2lnbmVkQnl0 +ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGluZ0lu +dGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9Ik1heEtlZXBBbGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4TGlmZXRpbWVDb3VudCIgdHlw +ZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9Ik1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGluZ0VuYWJsZWQi +IHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9Ik1vZGlmeUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5hYmxlQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNhYmxlQ291bnQi +IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJSZXB1Ymxpc2hSZXF1ZXN0Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXB1Ymxpc2hNZXNzYWdlUmVx +dWVzdENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iUmVwdWJsaXNoTWVzc2FnZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25l +ZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNmZXJS +ZXF1ZXN0Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2ZlcnJlZFRvQWx0Q2xpZW50Q291bnQiIHR5cGU9Inhz +OnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJU +cmFuc2ZlcnJlZFRvU2FtZUNsaWVudENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaFJlcXVlc3RDb3VudCIg +dHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkRhdGFDaGFuZ2VOb3RpZmljYXRpb25zQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudE5vdGlmaWNh +dGlvbnNDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9Ik5vdGlmaWNhdGlvbnNDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJ +bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkxhdGVQdWJsaXNo +UmVxdWVzdENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudEtlZXBBbGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNp +Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVu +dExpZmV0aW1lQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbmFja25vd2xlZGdlZE1lc3NhZ2VDb3VudCIgdHlwZT0i +eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkRpc2NhcmRlZE1lc3NhZ2VDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i +MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1Db3VudCIgdHlwZT0i +eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkRpc2FibGVkTW9uaXRvcmVkSXRlbUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ1F1ZXVlT3ZlcmZs +b3dDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9Ik5leHRTZXF1ZW5jZU51bWJlciIgdHlwZT0ieHM6dW5zaWduZWRJbnQi +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50UXVldWVPdmVy +Rmxvd0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlN1 +YnNjcmlwdGlvbkRpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTdWJzY3JpcHRpb25EaWFn +bm9zdGljc0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTdWJz +Y3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0 +bnM6U3Vic2NyaXB0aW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1 +cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU3Vic2NyaXB0aW9u +RGlhZ25vc3RpY3NEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlN1YnNjcmlwdGlvbkRpYWdub3N0 +aWNzRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBs +ZVR5cGUgIG5hbWU9Ik1vZGVsQ2hhbmdlU3RydWN0dXJlVmVyYk1hc2siPg0KICAgIDx4czpyZXN0 +cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJO +b2RlQWRkZWRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9kZURlbGV0ZWRf +MiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVmZXJlbmNlQWRkZWRfNCIgLz4N +CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVmZXJlbmNlRGVsZXRlZF84IiAvPg0KICAg +ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEYXRhVHlwZUNoYW5nZWRfMTYiIC8+DQogICAgPC94 +czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJN +b2RlbENoYW5nZVN0cnVjdHVyZVZlcmJNYXNrIiB0eXBlPSJ0bnM6TW9kZWxDaGFuZ2VTdHJ1Y3R1 +cmVWZXJiTWFzayIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9kZWxDaGFuZ2VTdHJ1 +Y3R1cmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iQWZmZWN0ZWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFmZmVjdGVkVHlwZSIgdHlwZT0idWE6Tm9k +ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iVmVyYiIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +TW9kZWxDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgdHlwZT0idG5zOk1vZGVsQ2hhbmdlU3RydWN0 +dXJlRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk1vZGVsQ2hh +bmdlU3RydWN0dXJlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9Ik1vZGVsQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIHR5cGU9InRuczpNb2RlbENo +YW5nZVN0cnVjdHVyZURhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVk +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZNb2RlbENoYW5nZVN0cnVjdHVyZURhdGFU +eXBlIiB0eXBlPSJ0bnM6TGlzdE9mTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgbmlsbGFi +bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2VtYW50 +aWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iQWZmZWN0ZWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFmZmVjdGVkVHlwZSIg +dHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNl +bWFudGljQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIHR5cGU9InRuczpTZW1hbnRpY0NoYW5nZVN0 +cnVjdHVyZURhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTZW1h +bnRpY0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJTZW1hbnRpY0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiB0eXBlPSJ0 +bnM6U2VtYW50aWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1 +cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU2VtYW50aWNDaGFu +Z2VTdHJ1Y3R1cmVEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlNlbWFudGljQ2hhbmdlU3RydWN0 +dXJlRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9IlJhbmdlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJMb3ciIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iSGlnaCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iUmFuZ2UiIHR5cGU9InRuczpSYW5nZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i +RVVJbmZvcm1hdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iTmFtZXNwYWNlVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbml0SWQiIHR5cGU9InhzOmludCIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzcGxheU5hbWUiIHR5 +cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4 +dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFVUluZm9ybWF0aW9uIiB0 +eXBlPSJ0bnM6RVVJbmZvcm1hdGlvbiIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iQXhp +c1NjYWxlRW51bWVyYXRpb24iPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmci +Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJMaW5lYXJfMCIgLz4NCiAgICAgIDx4czpl +bnVtZXJhdGlvbiB2YWx1ZT0iTG9nXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +IkxuXzIiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJBeGlzU2NhbGVFbnVtZXJhdGlvbiIgdHlwZT0idG5zOkF4aXNTY2Fs +ZUVudW1lcmF0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDb21wbGV4TnVtYmVy +VHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhbCIg +dHlwZT0ieHM6ZmxvYXQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkltYWdpbmFyeSIgdHlwZT0ieHM6ZmxvYXQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNl +cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb21wbGV4 +TnVtYmVyVHlwZSIgdHlwZT0idG5zOkNvbXBsZXhOdW1iZXJUeXBlIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJEb3VibGVDb21wbGV4TnVtYmVyVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1 +cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbWFnaW5hcnkiIHR5cGU9InhzOmRv +dWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRvdWJsZUNvbXBsZXhOdW1iZXJUeXBlIiB0eXBl +PSJ0bnM6RG91YmxlQ29tcGxleE51bWJlclR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9IkF4aXNJbmZvcm1hdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iRW5naW5lZXJpbmdVbml0cyIgdHlwZT0idG5zOkVVSW5mb3JtYXRpb24iIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFVVJh +bmdlIiB0eXBlPSJ0bnM6UmFuZ2UiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaXRsZSIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkF4 +aXNTY2FsZVR5cGUiIHR5cGU9InRuczpBeGlzU2NhbGVFbnVtZXJhdGlvbiIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXhpc1N0ZXBzIiB0eXBlPSJ1YTpMaXN0T2ZE +b3VibGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j +ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXhpc0luZm9ybWF0 +aW9uIiB0eXBlPSJ0bnM6QXhpc0luZm9ybWF0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu +YW1lPSJYVlR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlgiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iVmFsdWUiIHR5cGU9InhzOmZsb2F0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpz +ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iWFZUeXBl +IiB0eXBlPSJ0bnM6WFZUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJQcm9ncmFt +RGlhZ25vc3RpY0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJDcmVhdGVTZXNzaW9uSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZUNsaWVudE5h +bWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9Ikludm9jYXRpb25DcmVhdGlvblRpbWUiIHR5cGU9InhzOmRh +dGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0VHJh +bnNpdGlvblRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kQ2FsbCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1l +dGhvZFNlc3Npb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1ldGhvZElucHV0QXJndW1lbnRz +IiB0eXBlPSJ0bnM6TGlzdE9mQXJndW1lbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kT3V0cHV0QXJndW1lbnRzIiB0 +eXBlPSJ0bnM6TGlzdE9mQXJndW1lbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kQ2FsbFRpbWUiIHR5cGU9InhzOmRh +dGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0 +aG9kUmV0dXJuU3RhdHVzIiB0eXBlPSJ0bnM6U3RhdHVzUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9IlByb2dyYW1EaWFnbm9zdGljRGF0YVR5cGUiIHR5cGU9InRu +czpQcm9ncmFtRGlhZ25vc3RpY0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJBbm5vdGF0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJNZXNzYWdlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +QW5ub3RhdGlvblRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +QW5ub3RhdGlvbiIgdHlwZT0idG5zOkFubm90YXRpb24iIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUg +IG5hbWU9IkV4Y2VwdGlvbkRldmlhdGlvbkZvcm1hdCI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJh +c2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFic29sdXRlVmFs +dWVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mVmFsdWVfMSIg +Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mUmFuZ2VfMiIgLz4NCiAg +ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mRVVSYW5nZV8zIiAvPg0KICAgICAg +PHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVbmtub3duXzQiIC8+DQogICAgPC94czpyZXN0cmljdGlv +bj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFeGNlcHRpb25EZXZp +YXRpb25Gb3JtYXQiIHR5cGU9InRuczpFeGNlcHRpb25EZXZpYXRpb25Gb3JtYXQiIC8+DQoNCjwv +eHM6c2NoZW1hPg== + + + + NamespaceUri + A URI that uniquely identifies the dictionary. + + i=68 + i=8252 + + + http://opcfoundation.org/UA/2008/02/Types.xsd + + + + TrustListDataType + + i=69 + i=8252 + + + //xs:element[@name='TrustListDataType'] + + + + Argument + + i=69 + i=8252 + + + //xs:element[@name='Argument'] + + + + EnumValueType + + i=69 + i=8252 + + + //xs:element[@name='EnumValueType'] + + + + OptionSet + + i=69 + i=8252 + + + //xs:element[@name='OptionSet'] + + + + Union + + i=69 + i=8252 + + + //xs:element[@name='Union'] + + + + 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'] + + + + Annotation + + i=69 + i=8252 + + + //xs:element[@name='Annotation'] + + + + Default Binary + + i=12554 + i=12681 + i=76 + + + + Default Binary + + i=296 + i=7650 + i=76 + + + + Default Binary + + i=7594 + i=7656 + i=76 + + + + Default Binary + + i=12755 + i=12767 + i=76 + + + + Default Binary + + i=12756 + i=12770 + i=76 + + + + Default Binary + + i=8912 + i=8914 + i=76 + + + + Default Binary + + i=308 + i=7665 + i=76 + + + + Default Binary + + i=12189 + i=12213 + i=76 + + + + Default Binary + + i=304 + i=7662 + i=76 + + + + Default Binary + + i=312 + i=7668 + i=76 + + + + Default Binary + + i=432 + i=7782 + i=76 + + + + Default Binary + + i=12890 + i=12902 + i=76 + + + + Default Binary + + i=12891 + i=12905 + i=76 + + + + Default Binary + + i=344 + i=7698 + 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=376 + i=7728 + i=76 + + + + Default Binary + + i=379 + i=7731 + i=76 + + + + Default Binary + + i=382 + i=7734 + i=76 + + + + Default Binary + + i=385 + i=7737 + i=76 + + + + Default Binary + + i=537 + i=12718 + i=76 + + + + Default Binary + + i=540 + i=12721 + i=76 + + + + Default Binary + + i=331 + i=7686 + 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=659 + i=8004 + i=76 + + + + Default Binary + + i=719 + i=8067 + i=76 + + + + Default Binary + + i=725 + i=8073 + i=76 + + + + Default Binary + + i=948 + i=8076 + i=76 + + + + Default Binary + + i=920 + i=8172 + 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=891 + i=8244 + i=76 + + + + Opc.Ua + + i=7619 + i=12681 + i=7650 + i=7656 + i=12767 + i=12770 + 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=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 +b2NhbGVTcGVjaWZpZWQiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTG9jYWxpemVkVGV4dFNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJBZGRpdGlvbmFsSW5mb1NwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbm5lclN0YXR1c0NvZGVTcGVjaWZpZWQiIFR5cGVO +YW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5uZXJEaWFnbm9zdGljSW5m +b1NwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS +ZXNlcnZlZDEiIFR5cGVOYW1lPSJvcGM6Qml0IiBMZW5ndGg9IjIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJTeW1ib2xpY0lkIiBUeXBlTmFtZT0ib3BjOkludDMyIiBTd2l0Y2hGaWVsZD0iU3lt +Ym9saWNJZFNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWVzcGFjZVVSSSIg +VHlwZU5hbWU9Im9wYzpJbnQzMiIgU3dpdGNoRmllbGQ9Ik5hbWVzcGFjZVVSSVNwZWNpZmllZCIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgU3dp +dGNoRmllbGQ9IkxvY2FsZVNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2Fs +aXplZFRleHQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIFN3aXRjaEZpZWxkPSJMb2NhbGl6ZWRUZXh0 +U3BlY2lmaWVkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWRkaXRpb25hbEluZm8iIFR5cGVO +YW1lPSJvcGM6Q2hhckFycmF5IiBTd2l0Y2hGaWVsZD0iQWRkaXRpb25hbEluZm9TcGVjaWZpZWQi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbm5lclN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpT +dGF0dXNDb2RlIiBTd2l0Y2hGaWVsZD0iSW5uZXJTdGF0dXNDb2RlU3BlY2lmaWVkIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iSW5uZXJEaWFnbm9zdGljSW5mbyIgVHlwZU5hbWU9InVhOkRpYWdu +b3N0aWNJbmZvIiBTd2l0Y2hGaWVsZD0iSW5uZXJEaWFnbm9zdGljSW5mb1NwZWNpZmllZCIgLz4N +CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJR +dWFsaWZpZWROYW1lIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBzdHJpbmcgcXVhbGlmaWVk +IHdpdGggYSBuYW1lc3BhY2UgaW5kZXguPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5hbWVzcGFjZUluZGV4IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTmFtZSIgVHlwZU5hbWU9Im9wYzpDaGFyQXJyYXkiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTG9jYWxpemVk +VGV4dCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgc3RyaW5nIHF1YWxpZmllZCB3aXRoIGEg +bmFtZXNwYWNlIGluZGV4Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJMb2NhbGVTcGVjaWZpZWQiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iVGV4dFNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZXNlcnZlZDEiIFR5cGVOYW1lPSJvcGM6Qml0IiBMZW5ndGg9IjYiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJMb2NhbGUiIFR5cGVOYW1lPSJvcGM6Q2hhckFycmF5IiBTd2l0Y2hG +aWVsZD0iTG9jYWxlU3BlY2lmaWVkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGV4dCIgVHlw +ZU5hbWU9Im9wYzpDaGFyQXJyYXkiIFN3aXRjaEZpZWxkPSJUZXh0U3BlY2lmaWVkIiAvPg0KICA8 +L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFW +YWx1ZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgdmFsdWUgd2l0aCBhbiBhc3NvY2lhdGVk +IHRpbWVzdGFtcCwgYW5kIHF1YWxpdHkuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlZhbHVlU3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlN0YXR1c0NvZGVTcGVjaWZpZWQiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iU291cmNlVGltZXN0YW1wU3BlY2lmaWVkIiBUeXBlTmFtZT0i +b3BjOkJpdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvdXJjZVBpY29zZWNvbmRzU3BlY2lm +aWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclRp +bWVzdGFtcFNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJTZXJ2ZXJQaWNvc2Vjb25kc1NwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNlcnZlZDEiIFR5cGVOYW1lPSJvcGM6Qml0IiBMZW5ndGg9 +IjIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQi +IFN3aXRjaEZpZWxkPSJWYWx1ZVNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0 +YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBTd2l0Y2hGaWVsZD0iU3RhdHVzQ29k +ZVNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvdXJjZVRpbWVzdGFtcCIgVHlw +ZU5hbWU9Im9wYzpEYXRlVGltZSIgU3dpdGNoRmllbGQ9IlNvdXJjZVRpbWVzdGFtcFNwZWNpZmll +ZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvdXJjZVBpY29zZWNvbmRzIiBUeXBlTmFtZT0i +b3BjOlVJbnQxNiIgU3dpdGNoRmllbGQ9IlNvdXJjZVBpY29zZWNvbmRzU3BlY2lmaWVkIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyVGltZXN0YW1wIiBUeXBlTmFtZT0ib3BjOkRhdGVU +aW1lIiBTd2l0Y2hGaWVsZD0iU2VydmVyVGltZXN0YW1wU3BlY2lmaWVkIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iU2VydmVyUGljb3NlY29uZHMiIFR5cGVOYW1lPSJvcGM6VUludDE2IiBTd2l0 +Y2hGaWVsZD0iU2VydmVyUGljb3NlY29uZHNTcGVjaWZpZWQiIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRXh0ZW5zaW9uT2JqZWN0Ij4N +CiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBzZXJpYWxpemVkIG9iamVjdCBwcmVmaXhlZCB3aXRo +IGl0cyBkYXRhIHR5cGUgaWRlbnRpZmllci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iVHlwZUlkU3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkJpbmFyeUJvZHkiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iWG1sQm9keSIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJSZXNlcnZlZDEiIFR5cGVOYW1lPSJvcGM6Qml0IiBMZW5ndGg9IjUiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJUeXBlSWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIg +U3dpdGNoRmllbGQ9IlR5cGVJZFNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJv +ZHlMZW5ndGgiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJC +b2R5IiBUeXBlTmFtZT0ib3BjOkJ5dGUiIExlbmd0aEZpZWxkPSJCb2R5TGVuZ3RoIiAvPg0KICA8 +L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlZhcmlh +bnQiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHVuaW9uIG9mIHNldmVyYWwgdHlwZXMuPC9v +cGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhcmlhbnRUeXBlIiBUeXBl +TmFtZT0ib3BjOkJpdCIgTGVuZ3RoPSI2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXJyYXlE +aW1lbnNpb25zU3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgTGVuZ3RoPSIxIi8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJBcnJheUxlbmd0aFNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQi +IExlbmd0aD0iMSIvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXJyYXlMZW5ndGgiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIFN3aXRjaEZpZWxkPSJBcnJheUxlbmd0aFNwZWNpZmllZCIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkJvb2xlYW4iIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgTGVuZ3RoRmll +bGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSIx +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU0J5dGUiIFR5cGVOYW1lPSJvcGM6U0J5dGUiIExl +bmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hW +YWx1ZT0iMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJ5dGUiIFR5cGVOYW1lPSJvcGM6Qnl0 +ZSIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3 +aXRjaFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW50MTYiIFR5cGVOYW1lPSJv +cGM6SW50MTYiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRU +eXBlIiBTd2l0Y2hWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVJbnQxNiIgVHlw +ZU5hbWU9Im9wYzpVSW50MTYiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9 +IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iNSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Iklu +dDMyIiBUeXBlTmFtZT0ib3BjOkludDMyIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRj +aEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjYiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJVSW50MzIiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5n +dGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjciIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJJbnQ2NCIgVHlwZU5hbWU9Im9wYzpJbnQ2NCIgTGVuZ3RoRmllbGQ9IkFy +cmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSI4IiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iVUludDY0IiBUeXBlTmFtZT0ib3BjOlVJbnQ2NCIgTGVuZ3Ro +RmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVl +PSI5IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmxvYXQiIFR5cGVOYW1lPSJvcGM6RmxvYXQi +IExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0 +Y2hWYWx1ZT0iMTAiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEb3VibGUiIFR5cGVOYW1lPSJv +cGM6RG91YmxlIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50 +VHlwZSIgU3dpdGNoVmFsdWU9IjExIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RyaW5nIiBU +eXBlTmFtZT0ib3BjOkNoYXJBcnJheSIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hG +aWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSIxMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkRhdGVUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiBMZW5ndGhGaWVsZD0iQXJyYXlM +ZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjEzIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iR3VpZCIgVHlwZU5hbWU9Im9wYzpHdWlkIiBMZW5ndGhGaWVsZD0i +QXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjE0IiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnl0ZVN0cmluZyIgVHlwZU5hbWU9Im9wYzpCeXRlU3Ry +aW5nIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIg +U3dpdGNoVmFsdWU9IjE1IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iWG1sRWxlbWVudCIgVHlw +ZU5hbWU9InVhOlhtbEVsZW1lbnQiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmll +bGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIg +U3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMTciIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJFeHBhbmRlZE5vZGVJZCIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiBM +ZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNo +VmFsdWU9IjE4IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9 +InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZh +cmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMTkiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJRdWFs +aWZpZWROYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgTGVuZ3RoRmllbGQ9IkFycmF5 +TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSIyMCIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsaXplZFRleHQiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRU +ZXh0IiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIg +U3dpdGNoVmFsdWU9IjIxIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXh0ZW5zaW9uT2JqZWN0 +IiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgi +IFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjIyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iRGF0YVZhbHVlIiBUeXBlTmFtZT0idWE6RGF0YVZhbHVlIiBMZW5ndGhGaWVs +ZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjIz +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFyaWFudCIgVHlwZU5hbWU9InVhOlZhcmlhbnQi +IExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0 +Y2hWYWx1ZT0iMjQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mbyIgVHlw +ZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRj +aEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjI1IiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTm9PZkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgU3dpdGNoRmll +bGQ9IkFycmF5RGltZW5zaW9uc1NwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFy +cmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBcnJh +eURpbWVuc2lvbnMiIFN3aXRjaEZpZWxkPSJBcnJheURpbWVuc2lvbnNTcGVjaWZpZWQiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iTmFt +aW5nUnVsZVR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9Ik1hbmRhdG9yeSIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg +TmFtZT0iT3B0aW9uYWwiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h +bWU9IkNvbnN0cmFpbnQiIFZhbHVlPSIzIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCiAg +ICANCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iSW1hZ2VCTVAiPg0KICAgIDxvcGM6RG9jdW1l +bnRhdGlvbj5BbiBpbWFnZSBlbmNvZGVkIGluIEJNUCBmb3JtYXQuPC9vcGM6RG9jdW1lbnRhdGlv +bj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iSW1hZ2VH +SUYiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBpbWFnZSBlbmNvZGVkIGluIEdJRiBmb3Jt +YXQuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9w +YXF1ZVR5cGUgTmFtZT0iSW1hZ2VKUEciPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBpbWFn +ZSBlbmNvZGVkIGluIEpQRUcgZm9ybWF0Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9w +YXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkltYWdlUE5HIj4NCiAgICA8b3Bj +OkRvY3VtZW50YXRpb24+QW4gaW1hZ2UgZW5jb2RlZCBpbiBQTkcgZm9ybWF0Ljwvb3BjOkRvY3Vt +ZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9 +IkJpdEZpZWxkTWFza0RhdGFUeXBlIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBtYXNrIG9m +IDMyIGJpdHMgdGhhdCBjYW4gYmUgdXBkYXRlZCBpbmRpdmlkdWFsbHkgYnkgdXNpbmcgdGhlIHRv +cCAzMiBiaXRzIGFzIGEgbWFzay48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVU +eXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iT3BlbkZpbGVNb2RlIiBMZW5ndGhJ +bkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWFkIiBWYWx1ZT0i +MSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJXcml0ZSIgVmFsdWU9IjIiIC8+ +DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRXJhc2VFeGlzdGluZyIgVmFsdWU9IjQi +IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQXBwZW5kIiBWYWx1ZT0iOCIgLz4N +CiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJU +cnVzdExpc3RNYXNrcyIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs +dWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt +ZT0iVHJ1c3RlZENlcnRpZmljYXRlcyIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk +VmFsdWUgTmFtZT0iVHJ1c3RlZENybHMiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRl +ZFZhbHVlIE5hbWU9Iklzc3VlckNlcnRpZmljYXRlcyIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNzdWVyQ3JscyIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iQWxsIiBWYWx1ZT0iMTUiIC8+DQogIDwvb3BjOkVudW1lcmF0 +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVHJ1c3RMaXN0RGF0YVR5cGUi +IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Bl +Y2lmaWVkTGlzdHMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTm9PZlRydXN0ZWRDZXJ0aWZpY2F0ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJUcnVzdGVkQ2VydGlmaWNhdGVzIiBUeXBlTmFtZT0ib3BjOkJ5dGVT +dHJpbmciIExlbmd0aEZpZWxkPSJOb09mVHJ1c3RlZENlcnRpZmljYXRlcyIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vT2ZUcnVzdGVkQ3JscyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlRydXN0ZWRDcmxzIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmci +IExlbmd0aEZpZWxkPSJOb09mVHJ1c3RlZENybHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO +b09mSXNzdWVyQ2VydGlmaWNhdGVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iSXNzdWVyQ2VydGlmaWNhdGVzIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmci +IExlbmd0aEZpZWxkPSJOb09mSXNzdWVyQ2VydGlmaWNhdGVzIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTm9PZklzc3VlckNybHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJJc3N1ZXJDcmxzIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIExlbmd0aEZp +ZWxkPSJOb09mSXNzdWVyQ3JscyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w +YzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJJZFR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxv +cGM6RG9jdW1lbnRhdGlvbj5UaGUgdHlwZSBvZiBpZGVudGlmaWVyIHVzZWQgaW4gYSBub2RlIGlk +Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTnVt +ZXJpYyIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3RyaW5n +IiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJHdWlkIiBWYWx1 +ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJPcGFxdWUiIFZhbHVlPSIz +IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5h +bWU9Ik5vZGVDbGFzcyIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u +PkEgbWFzayBzcGVjaWZ5aW5nIHRoZSBjbGFzcyBvZiB0aGUgbm9kZS48L29wYzpEb2N1bWVudGF0 +aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVuc3BlY2lmaWVkIiBWYWx1ZT0i +MCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJPYmplY3QiIFZhbHVlPSIxIiAv +Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZhcmlhYmxlIiBWYWx1ZT0iMiIgLz4N +CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJNZXRob2QiIFZhbHVlPSI0IiAvPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik9iamVjdFR5cGUiIFZhbHVlPSI4IiAvPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZhcmlhYmxlVHlwZSIgVmFsdWU9IjE2IiAvPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlZmVyZW5jZVR5cGUiIFZhbHVlPSIzMiIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEYXRhVHlwZSIgVmFsdWU9IjY0IiAv +Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZpZXciIFZhbHVlPSIxMjgiIC8+DQog +IDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm9k +ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u +PlNwZWNpZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gYWxsIG5vZGVzLjwvb3Bj +OkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1 +YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0 +bnM6Tm9kZUNsYXNzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5h +bWU9InVhOlF1YWxpZmllZE5hbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFt +ZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE +ZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlTm9k +ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2VzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikluc3RhbmNlTm9kZSIgQmFzZVR5cGU9 +InRuczpOb2RlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5v +ZGVJZCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rl +Q2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNzIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWRO +YW1lIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3Bs +YXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2Fs +aXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +V3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQz +MiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVm +ZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl +ZmVyZW5jZXMiIFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlTm9kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZS +ZWZlcmVuY2VzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy +ZWRUeXBlIE5hbWU9IlR5cGVOb2RlIiBCYXNlVHlwZT0idG5zOk5vZGUiPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9k +ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2Rl +Q2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJv +d3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2Rl +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2Nh +bGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5z +Ok5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6 +VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVz +ZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpS +ZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogIDwvb3BjOlN0 +cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iT2JqZWN0Tm9kZSIg +QmFzZVR5cGU9InRuczpJbnN0YW5jZU5vZGUiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5TcGVj +aWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIG9iamVjdCBub2Rlcy48L29wYzpE +b2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6 +Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v +ZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmll +ZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlz +cGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9k +ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9j +YWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUlu +dDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZS +ZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +UmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9P +ZlJlZmVyZW5jZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVudE5vdGlmaWVyIiBUeXBl +TmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry +dWN0dXJlZFR5cGUgTmFtZT0iT2JqZWN0VHlwZU5vZGUiIEJhc2VUeXBlPSJ0bnM6VHlwZU5vZGUi +Pg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2gg +YmVsb25nIHRvIG9iamVjdCB0eXBlIG5vZGVzLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRu +czpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5z +Ok5vZGVDbGFzcyIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgU291cmNlVHlwZT0idG5z +Ok5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVh +OkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBl +PSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9 +Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpO +b2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJv +cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBlTmFtZT0i +dG5zOlJlZmVyZW5jZU5vZGUiIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlcyIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAg +PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJWYXJp +YWJsZU5vZGUiIEJhc2VUeXBlPSJ0bnM6SW5zdGFuY2VOb2RlIj4NCiAgICA8b3BjOkRvY3VtZW50 +YXRpb24+U3BlY2lmaWVzIHRoZSBhdHRyaWJ1dGVzIHdoaWNoIGJlbG9uZyB0byB2YXJpYWJsZSBu +b2Rlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBU +eXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9 +InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9 +InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VU +eXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBl +TmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBl +PSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVO +YW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5n +dGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIg +VHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZSIg +VHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlUmFuayIg +VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBcnJheURp +bWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJB +cnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkFy +cmF5RGltZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFjY2Vzc0xldmVsIiBUeXBl +TmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyQWNjZXNzTGV2ZWwi +IFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1pbmltdW1TYW1w +bGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ikhpc3Rvcml6aW5nIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVj +dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVmFyaWFibGVUeXBlTm9k +ZSIgQmFzZVR5cGU9InRuczpUeXBlTm9kZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlNwZWNp +ZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gdmFyaWFibGUgdHlwZSBub2Rlcy48 +L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFt +ZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpO +b2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1 +YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0 +bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0i +dWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6 +Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJv +cGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVs +ZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5h +bWU9InVhOlZhcmlhbnQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZSIgVHlwZU5h +bWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlUmFuayIgVHlwZU5h +bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBcnJheURpbWVuc2lv +bnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBcnJheURp +bWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkFycmF5RGlt +ZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5cGVOYW1lPSJv +cGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 +cmVkVHlwZSBOYW1lPSJSZWZlcmVuY2VUeXBlTm9kZSIgQmFzZVR5cGU9InRuczpUeXBlTm9kZSI+ +DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBi +ZWxvbmcgdG8gcmVmZXJlbmNlIHR5cGUgbm9kZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0i +dG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0 +bnM6Tm9kZUNsYXNzIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBTb3VyY2VUeXBlPSJ0 +bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0i +dWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5 +cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFt +ZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5z +Ok5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlcyIgVHlwZU5hbWU9 +Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXMiIFR5cGVOYW1l +PSJ0bnM6UmVmZXJlbmNlTm9kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2VzIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iSXNBYnN0cmFjdCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iU3ltbWV0cmljIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbnZlcnNlTmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXpl +ZFRleHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iTWV0aG9kTm9kZSIgQmFzZVR5cGU9InRuczpJbnN0YW5jZU5vZGUiPg0KICAgIDxv +cGM6RG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRv +IG1ldGhvZCBub2Rlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +Tm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNv +dXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIg +VHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0 +IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0 +aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBT +b3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1h +c2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VO +b2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJFeGVjdXRhYmxlIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJVc2VyRXhlY3V0YWJsZSIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlZpZXdOb2RlIiBC +YXNlVHlwZT0idG5zOkluc3RhbmNlTm9kZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQi +IFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgU291cmNlVHlw +ZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFt +ZT0idWE6UXVhbGlmaWVkTmFtZSIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJj +ZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5 +cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5 +cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlw +ZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBlTmFtZT0idG5zOlJlZmVyZW5jZU5vZGUiIExl +bmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbnRh +aW5zTm9Mb29wcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iRXZlbnROb3RpZmllciIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFUeXBlTm9kZSIgQmFz +ZVR5cGU9InRuczpUeXBlTm9kZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVO +YW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgU291cmNlVHlwZT0idG5z +Ok5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6 +UXVhbGlmaWVkTmFtZSIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9 +InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1l +PSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRu +czpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9 +Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBlTmFtZT0idG5zOlJlZmVyZW5jZU5vZGUiIExlbmd0aEZp +ZWxkPSJOb09mUmVmZXJlbmNlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3Qi +IFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg +PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWZlcmVuY2VOb2RlIiBCYXNlVHlwZT0idWE6RXh0 +ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+U3BlY2lmaWVzIGEgcmVmZXJl +bmNlIHdoaWNoIGJlbG9uZ3MgdG8gYSBub2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJJc0ludmVyc2UiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldElkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2Rl +SWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iQXJndW1lbnQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 +RG9jdW1lbnRhdGlvbj5BbiBhcmd1bWVudCBmb3IgYSBtZXRob2QuPC9vcGM6RG9jdW1lbnRhdGlv +bj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZVJhbmsiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0i +b3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+ +DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i +RW51bVZhbHVlVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpE +b2N1bWVudGF0aW9uPkEgbWFwcGluZyBiZXR3ZWVuIGEgdmFsdWUgb2YgYW4gZW51bWVyYXRlZCB0 +eXBlIGFuZCBhIG5hbWUgYW5kIGRlc2NyaXB0aW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9Im9wYzpJbnQ2NCIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVk +VGV4dCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw +ZSBOYW1lPSJPcHRpb25TZXQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv +cGM6RG9jdW1lbnRhdGlvbj5UaGlzIGFic3RyYWN0IFN0cnVjdHVyZWQgRGF0YVR5cGUgaXMgdGhl +IGJhc2UgRGF0YVR5cGUgZm9yIGFsbCBEYXRhVHlwZXMgcmVwcmVzZW50aW5nIGEgYml0IG1hc2su +PC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFt +ZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWxpZEJpdHMiIFR5 +cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg +PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVbmlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoaXMgYWJzdHJhY3QgRGF0YVR5cGUgaXMg +dGhlIGJhc2UgRGF0YVR5cGUgZm9yIGFsbCB1bmlvbiBEYXRhVHlwZXMuPC9vcGM6RG9jdW1lbnRh +dGlvbj4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9 +Ik5vcm1hbGl6ZWRTdHJpbmciPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHN0cmluZyBub3Jt +YWxpemVkIGJhc2VkIG9uIHRoZSBydWxlcyBpbiB0aGUgdW5pY29kZSBzcGVjaWZpY2F0aW9uLjwv +b3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVU +eXBlIE5hbWU9IkRlY2ltYWxTdHJpbmciPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBhcmJp +dHJhdHkgbnVtZXJpYyB2YWx1ZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVU +eXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJEdXJhdGlvblN0cmluZyI+DQogICAgPG9w +YzpEb2N1bWVudGF0aW9uPkEgcGVyaW9kIG9mIHRpbWUgZm9ybWF0dGVkIGFzIGRlZmluZWQgaW4g +SVNPIDg2MDEtMjAwMC48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0K +DQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJUaW1lU3RyaW5nIj4NCiAgICA8b3BjOkRvY3VtZW50 +YXRpb24+QSB0aW1lIGZvcm1hdHRlZCBhcyBkZWZpbmVkIGluIElTTyA4NjAxLTIwMDAuPC9vcGM6 +RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUg +TmFtZT0iRGF0ZVN0cmluZyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgZGF0ZSBmb3JtYXR0 +ZWQgYXMgZGVmaW5lZCBpbiBJU08gODYwMS0yMDAwLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwv +b3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkR1cmF0aW9uIj4NCiAg +ICA8b3BjOkRvY3VtZW50YXRpb24+QSBwZXJpb2Qgb2YgdGltZSBtZWFzdXJlZCBpbiBtaWxsaXNl +Y29uZHMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3Bj +Ok9wYXF1ZVR5cGUgTmFtZT0iVXRjVGltZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgZGF0 +ZS90aW1lIHZhbHVlIHNwZWNpZmllZCBpbiBVbml2ZXJzYWwgQ29vcmRpbmF0ZWQgVGltZSAoVVRD +KS48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3Bh +cXVlVHlwZSBOYW1lPSJMb2NhbGVJZCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkFuIGlkZW50 +aWZpZXIgZm9yIGEgdXNlciBsb2NhbGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3Bh +cXVlVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRpbWVab25lRGF0YVR5cGUi +IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iT2Zm +c2V0IiBUeXBlTmFtZT0ib3BjOkludDE2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF5bGln +aHRTYXZpbmdJbk9mZnNldCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iSW50ZWdlcklkIj4NCiAgICA8 +b3BjOkRvY3VtZW50YXRpb24+QSBudW1lcmljIGlkZW50aWZpZXIgZm9yIGFuIG9iamVjdC48L29w +YzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRl +ZFR5cGUgTmFtZT0iQXBwbGljYXRpb25UeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3Bj +OkRvY3VtZW50YXRpb24+VGhlIHR5cGVzIG9mIGFwcGxpY2F0aW9ucy48L29wYzpEb2N1bWVudGF0 +aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNlcnZlciIgVmFsdWU9IjAiIC8+ +DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ2xpZW50IiBWYWx1ZT0iMSIgLz4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDbGllbnRBbmRTZXJ2ZXIiIFZhbHVlPSIyIiAv +Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRpc2NvdmVyeVNlcnZlciIgVmFsdWU9 +IjMiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iQXBwbGljYXRpb25EZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj +dCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkRlc2NyaWJlcyBhbiBhcHBsaWNhdGlvbiBhbmQg +aG93IHRvIGZpbmQgaXQuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkFwcGxpY2F0aW9uVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlByb2R1Y3RVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iQXBwbGljYXRpb25OYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkFwcGxpY2F0aW9uVHlwZSIgVHlwZU5hbWU9InRuczpBcHBs +aWNhdGlvblR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJHYXRld2F5U2VydmVyVXJpIiBU +eXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2NvdmVyeVBy +b2ZpbGVVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +Tm9PZkRpc2NvdmVyeVVybHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJEaXNjb3ZlcnlVcmxzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9 +Ik5vT2ZEaXNjb3ZlcnlVcmxzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj +OlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlcXVlc3RIZWFkZXIiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp +b25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgaGVhZGVyIHBhc3NlZCB3aXRo +IGV2ZXJ5IHNlcnZlciByZXF1ZXN0Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJBdXRoZW50aWNhdGlvblRva2VuIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iVGltZXN0YW1wIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhhbmRsZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXR1cm5EaWFnbm9zdGljcyIgVHlwZU5hbWU9Im9w +YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdWRpdEVudHJ5SWQiIFR5cGVOYW1l +PSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGltZW91dEhpbnQiIFR5cGVO +YW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWRkaXRpb25hbEhlYWRl +ciIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 +cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZXNwb25zZUhlYWRlciIgQmFzZVR5 +cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSBoZWFk +ZXIgcGFzc2VkIHdpdGggZXZlcnkgc2VydmVyIHJlc3BvbnNlLjwvb3BjOkRvY3VtZW50YXRpb24+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lc3RhbXAiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGFuZGxlIiBUeXBlTmFtZT0ib3BjOlVJ +bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZpY2VSZXN1bHQiIFR5cGVOYW1lPSJ1 +YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmljZURpYWdub3N0aWNz +IiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO +b09mU3RyaW5nVGFibGUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJTdHJpbmdUYWJsZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09m +U3RyaW5nVGFibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGRpdGlvbmFsSGVhZGVyIiBU +eXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N +Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNlcnZpY2VGYXVsdCIgQmFzZVR5cGU9InVh +OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSByZXNwb25zZSBy +ZXR1cm5lZCBieSBhbGwgc2VydmljZXMgd2hlbiB0aGVyZSBpcyBhIHNlcnZpY2UgbGV2ZWwgZXJy +b3IuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVh +ZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk +VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkZpbmRTZXJ2ZXJzUmVxdWVzdCIg +QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkZp +bmRzIHRoZSBzZXJ2ZXJzIGtub3duIHRvIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwvb3BjOkRvY3Vt +ZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0i +dG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybCIg +VHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTG9jYWxl +SWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTG9jYWxl +SWRzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZMb2NhbGVJZHMiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VydmVyVXJpcyIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclVyaXMiIFR5cGVOYW1lPSJvcGM6U3Ry +aW5nIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlclVyaXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRmluZFNlcnZlcnNSZXNwb25zZSIg +QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkZp +bmRzIHRoZSBzZXJ2ZXJzIGtub3duIHRvIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwvb3BjOkRvY3Vt +ZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9 +InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJz +IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVycyIg +VHlwZU5hbWU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZlNl +cnZlcnMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iU2VydmVyT25OZXR3b3JrIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlY29yZElkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY292ZXJ5VXJsIiBUeXBlTmFtZT0ib3BjOlN0cmlu +ZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJDYXBhYmlsaXRpZXMiIFR5cGVO +YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJDYXBhYmlsaXRp +ZXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlckNhcGFiaWxp +dGllcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw +ZSBOYW1lPSJGaW5kU2VydmVyc09uTmV0d29ya1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp +b25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9 +InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhcnRpbmdSZWNv +cmRJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhS +ZWNvcmRzVG9SZXR1cm4iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTm9PZlNlcnZlckNhcGFiaWxpdHlGaWx0ZXIiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJDYXBhYmlsaXR5RmlsdGVyIiBUeXBlTmFtZT0i +b3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJDYXBhYmlsaXR5RmlsdGVyIiAvPg0K +ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkZp +bmRTZXJ2ZXJzT25OZXR3b3JrUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVz +cG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0Q291bnRlclJlc2V0VGlt +ZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZT +ZXJ2ZXJzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vy +dmVycyIgVHlwZU5hbWU9InRuczpTZXJ2ZXJPbk5ldHdvcmsiIExlbmd0aEZpZWxkPSJOb09mU2Vy +dmVycyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5h +bWU9IkFwcGxpY2F0aW9uSW5zdGFuY2VDZXJ0aWZpY2F0ZSI+DQogICAgPG9wYzpEb2N1bWVudGF0 +aW9uPkEgY2VydGlmaWNhdGUgZm9yIGFuIGluc3RhbmNlIG9mIGFuIGFwcGxpY2F0aW9uLjwvb3Bj +OkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVk +VHlwZSBOYW1lPSJNZXNzYWdlU2VjdXJpdHlNb2RlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8 +b3BjOkRvY3VtZW50YXRpb24+VGhlIHR5cGUgb2Ygc2VjdXJpdHkgdG8gdXNlIG9uIGEgbWVzc2Fn +ZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Iklu +dmFsaWQiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUi +IFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNpZ24iIFZhbHVl +PSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNpZ25BbmRFbmNyeXB0IiBW +YWx1ZT0iMyIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVk +VHlwZSBOYW1lPSJVc2VyVG9rZW5UeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRv +Y3VtZW50YXRpb24+VGhlIHBvc3NpYmxlIHVzZXIgdG9rZW4gdHlwZXMuPC9vcGM6RG9jdW1lbnRh +dGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBbm9ueW1vdXMiIFZhbHVlPSIw +IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVzZXJOYW1lIiBWYWx1ZT0iMSIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDZXJ0aWZpY2F0ZSIgVmFsdWU9IjIi +IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNzdWVkVG9rZW4iIFZhbHVlPSIz +IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9IlVzZXJUb2tlblBvbGljeSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg +PG9wYzpEb2N1bWVudGF0aW9uPkRlc2NyaWJlcyBhIHVzZXIgdG9rZW4gdGhhdCBjYW4gYmUgdXNl +ZCB3aXRoIGEgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJQb2xpY3lJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJUb2tlblR5cGUiIFR5cGVOYW1lPSJ0bnM6VXNlclRva2VuVHlwZSIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Iklzc3VlZFRva2VuVHlwZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJJc3N1ZXJFbmRwb2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJpbmci +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eVBvbGljeVVyaSIgVHlwZU5hbWU9Im9w +YzpTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl +ZFR5cGUgTmFtZT0iRW5kcG9pbnREZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSBkZXNjcmlwdGlvbiBvZiBhIGVuZHBv +aW50IHRoYXQgY2FuIGJlIHVzZWQgdG8gYWNjZXNzIGEgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRp +b24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJp +bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXIiIFR5cGVOYW1lPSJ0bnM6QXBwbGlj +YXRpb25EZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlckNlcnRpZmlj +YXRlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT +ZWN1cml0eU1vZGUiIFR5cGVOYW1lPSJ0bnM6TWVzc2FnZVNlY3VyaXR5TW9kZSIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5UG9saWN5VXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZVc2VySWRlbnRpdHlUb2tlbnMiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VySWRlbnRpdHlUb2tlbnMi +IFR5cGVOYW1lPSJ0bnM6VXNlclRva2VuUG9saWN5IiBMZW5ndGhGaWVsZD0iTm9PZlVzZXJJZGVu +dGl0eVRva2VucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyYW5zcG9ydFByb2ZpbGVVcmki +IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlM +ZXZlbCIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K +ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkdldEVuZHBvaW50c1JlcXVlc3QiIEJhc2VUeXBl +PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5HZXRzIHRoZSBl +bmRwb2ludHMgdXNlZCBieSB0aGUgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJp +bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3Bj +OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3Bj +OlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZMb2NhbGVJZHMiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJOb09mUHJvZmlsZVVyaXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJQcm9maWxlVXJpcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxk +PSJOb09mUHJvZmlsZVVyaXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iR2V0RW5kcG9pbnRzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpF +eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5HZXRzIHRoZSBlbmRwb2lu +dHMgdXNlZCBieSB0aGUgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFbmRwb2ludHMiIFR5cGVOYW1lPSJvcGM6SW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRwb2ludHMiIFR5cGVOYW1lPSJ0bnM6RW5kcG9p +bnREZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZFbmRwb2ludHMiIC8+DQogIDwvb3BjOlN0 +cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVnaXN0ZXJlZFNl +cnZlciIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0 +aW9uPlRoZSBpbmZvcm1hdGlvbiByZXF1aXJlZCB0byByZWdpc3RlciBhIHNlcnZlciB3aXRoIGEg +ZGlzY292ZXJ5IHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iU2VydmVyVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlByb2R1Y3RVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTm9PZlNlcnZlck5hbWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iU2VydmVyTmFtZXMiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBMZW5n +dGhGaWVsZD0iTm9PZlNlcnZlck5hbWVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVy +VHlwZSIgVHlwZU5hbWU9InRuczpBcHBsaWNhdGlvblR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJHYXRld2F5U2VydmVyVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vT2ZEaXNjb3ZlcnlVcmxzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY292ZXJ5VXJscyIgVHlwZU5hbWU9Im9wYzpTdHJpbmci +IExlbmd0aEZpZWxkPSJOb09mRGlzY292ZXJ5VXJscyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlNlbWFwaG9yZUZpbGVQYXRoIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IklzT25saW5lIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0 +cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVnaXN0ZXJTZXJ2 +ZXJSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3Vt +ZW50YXRpb24+UmVnaXN0ZXJzIGEgc2VydmVyIHdpdGggdGhlIGRpc2NvdmVyeSBzZXJ2ZXIuPC9v +cGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5 +cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZl +ciIgVHlwZU5hbWU9InRuczpSZWdpc3RlcmVkU2VydmVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk +VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlZ2lzdGVyU2VydmVyUmVzcG9u +c2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlv +bj5SZWdpc3RlcnMgYSBzZXJ2ZXIgd2l0aCB0aGUgZGlzY292ZXJ5IHNlcnZlci48L29wYzpEb2N1 +bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1l +PSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv +cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGlzY292ZXJ5Q29uZmlndXJhdGlvbiIgQmFzZVR5cGU9 +InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgYmFzZSB0eXBl +IGZvciBkaXNjb3ZlcnkgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbi48L29wYzpEb2N1bWVudGF0 +aW9uPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9Ik1kbnNEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiBCYXNlVHlwZT0idG5zOkRpc2NvdmVyeUNv +bmZpZ3VyYXRpb24iPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgZGlzY292ZXJ5IGluZm9y +bWF0aW9uIG5lZWRlZCBmb3IgbUROUyByZWdpc3RyYXRpb24uPC9vcGM6RG9jdW1lbnRhdGlvbj4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1kbnNTZXJ2ZXJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmlu +ZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJDYXBhYmlsaXRpZXMiIFR5cGVO +YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJDYXBhYmlsaXRp +ZXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlckNhcGFiaWxp +dGllcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw +ZSBOYW1lPSJSZWdpc3RlclNlcnZlcjJSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6 +UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlciIgVHlwZU5hbWU9 +InRuczpSZWdpc3RlcmVkU2VydmVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpc2Nv +dmVyeUNvbmZpZ3VyYXRpb24iIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0IiBMZW5ndGhGaWVsZD0iTm9PZkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVnaXN0ZXJT +ZXJ2ZXIyUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQ29uZmlndXJhdGlvblJlc3VsdHMiIFR5cGVO +YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb25maWd1cmF0aW9uUmVz +dWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mQ29uZmlndXJh +dGlvblJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9z +IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3Rp +Y0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlh +Z25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1l +cmF0ZWRUeXBlIE5hbWU9IlNlY3VyaXR5VG9rZW5SZXF1ZXN0VHlwZSIgTGVuZ3RoSW5CaXRzPSIz +MiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkluZGljYXRlcyB3aGV0aGVyIGEgdG9rZW4gaWYg +YmVpbmcgY3JlYXRlZCBvciByZW5ld2VkLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNzdWUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVy +YXRlZFZhbHVlIE5hbWU9IlJlbmV3IiBWYWx1ZT0iMSIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5 +cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDaGFubmVsU2VjdXJpdHlUb2tlbiIg +QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRo +ZSB0b2tlbiB0aGF0IGlkZW50aWZpZXMgYSBzZXQgb2Yga2V5cyBmb3IgYW4gYWN0aXZlIHNlY3Vy +ZSBjaGFubmVsLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDaGFu +bmVsSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVG9r +ZW5JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDcmVh +dGVkQXQiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS +ZXZpc2VkTGlmZXRpbWUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik9wZW5TZWN1cmVDaGFubmVs +UmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVu +dGF0aW9uPkNyZWF0ZXMgYSBzZWN1cmUgY2hhbm5lbCB3aXRoIGEgc2VydmVyLjwvb3BjOkRvY3Vt +ZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0i +dG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnRQcm90b2Nv +bFZlcnNpb24iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +UmVxdWVzdFR5cGUiIFR5cGVOYW1lPSJ0bnM6U2VjdXJpdHlUb2tlblJlcXVlc3RUeXBlIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlNb2RlIiBUeXBlTmFtZT0idG5zOk1lc3NhZ2VT +ZWN1cml0eU1vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnROb25jZSIgVHlwZU5h +bWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkTGlm +ZXRpbWUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N +Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik9wZW5TZWN1cmVDaGFubmVsUmVzcG9uc2Ui +IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5D +cmVhdGVzIGEgc2VjdXJlIGNoYW5uZWwgd2l0aCBhIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9u +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVz +cG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJQcm90b2NvbFZlcnNp +b24iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJp +dHlUb2tlbiIgVHlwZU5hbWU9InRuczpDaGFubmVsU2VjdXJpdHlUb2tlbiIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlNlcnZlck5vbmNlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ2xv +c2VTZWN1cmVDaGFubmVsUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog +ICAgPG9wYzpEb2N1bWVudGF0aW9uPkNsb3NlcyBhIHNlY3VyZSBjaGFubmVsLjwvb3BjOkRvY3Vt +ZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0i +dG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iQ2xvc2VTZWN1cmVDaGFubmVsUmVzcG9uc2UiIEJhc2VUeXBl +PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5DbG9zZXMgYSBz +ZWN1cmUgY2hhbm5lbC48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +UmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2lnbmVkU29m +dHdhcmVDZXJ0aWZpY2F0ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w +YzpEb2N1bWVudGF0aW9uPkEgc29mdHdhcmUgY2VydGlmaWNhdGUgd2l0aCBhIGRpZ2l0YWwgc2ln +bmF0dXJlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDZXJ0aWZp +Y2F0ZURhdGEiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlNpZ25hdHVyZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iU2Vzc2lvbkF1dGhlbnRpY2F0 +aW9uVG9rZW4iPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHVuaXF1ZSBpZGVudGlmaWVyIGZv +ciBhIHNlc3Npb24gdXNlZCB0byBhdXRoZW50aWNhdGUgcmVxdWVzdHMuPC9vcGM6RG9jdW1lbnRh +dGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 +IlNpZ25hdHVyZURhdGEiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 +RG9jdW1lbnRhdGlvbj5BIGRpZ2l0YWwgc2lnbmF0dXJlLjwvb3BjOkRvY3VtZW50YXRpb24+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJBbGdvcml0aG0iIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iU2lnbmF0dXJlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmci +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt +ZT0iQ3JlYXRlU2Vzc2lvblJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K +ICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5DcmVhdGVzIGEgbmV3IHNlc3Npb24gd2l0aCB0aGUgc2Vy +dmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVh +ZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJDbGllbnREZXNjcmlwdGlvbiIgVHlwZU5hbWU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9u +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmlu +ZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZHBvaW50VXJsIiBUeXBlTmFtZT0ib3BjOlN0 +cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlc3Npb25OYW1lIiBUeXBlTmFtZT0ib3Bj +OlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudE5vbmNlIiBUeXBlTmFtZT0i +b3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnRDZXJ0aWZpY2F0 +ZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVx +dWVzdGVkU2Vzc2lvblRpbWVvdXQiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTWF4UmVzcG9uc2VNZXNzYWdlU2l6ZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIi +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt +ZT0iQ3JlYXRlU2Vzc2lvblJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N +CiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q3JlYXRlcyBhIG5ldyBzZXNzaW9uIHdpdGggdGhlIHNl +cnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VI +ZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJTZXNzaW9uSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJBdXRoZW50aWNhdGlvblRva2VuIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUmV2aXNlZFNlc3Npb25UaW1lb3V0IiBUeXBlTmFtZT0ib3BjOkRvdWJs +ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlck5vbmNlIiBUeXBlTmFtZT0ib3BjOkJ5 +dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJDZXJ0aWZpY2F0ZSIgVHlw +ZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlcnZl +ckVuZHBvaW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlNlcnZlckVuZHBvaW50cyIgVHlwZU5hbWU9InRuczpFbmRwb2ludERlc2NyaXB0aW9uIiBMZW5n +dGhGaWVsZD0iTm9PZlNlcnZlckVuZHBvaW50cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v +T2ZTZXJ2ZXJTb2Z0d2FyZUNlcnRpZmljYXRlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclNvZnR3YXJlQ2VydGlmaWNhdGVzIiBUeXBlTmFtZT0i +dG5zOlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiIExlbmd0aEZpZWxkPSJOb09mU2VydmVyU29m +dHdhcmVDZXJ0aWZpY2F0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJTaWduYXR1 +cmUiIFR5cGVOYW1lPSJ0bnM6U2lnbmF0dXJlRGF0YSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik1heFJlcXVlc3RNZXNzYWdlU2l6ZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVXNlcklkZW50 +aXR5VG9rZW4iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1l +bnRhdGlvbj5BIGJhc2UgdHlwZSBmb3IgYSB1c2VyIGlkZW50aXR5IHRva2VuLjwvb3BjOkRvY3Vt +ZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQb2xpY3lJZCIgVHlwZU5hbWU9Im9wYzpT +dHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iQW5vbnltb3VzSWRlbnRpdHlUb2tlbiIgQmFzZVR5cGU9InRuczpVc2VySWRlbnRp +dHlUb2tlbiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgdG9rZW4gcmVwcmVzZW50aW5nIGFu +IGFub255bW91cyB1c2VyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJQb2xpY3lJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIFNvdXJjZVR5cGU9InRuczpVc2VySWRl +bnRpdHlUb2tlbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 +cmVkVHlwZSBOYW1lPSJVc2VyTmFtZUlkZW50aXR5VG9rZW4iIEJhc2VUeXBlPSJ0bnM6VXNlcklk +ZW50aXR5VG9rZW4iPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHRva2VuIHJlcHJlc2VudGlu +ZyBhIHVzZXIgaWRlbnRpZmllZCBieSBhIHVzZXIgbmFtZSBhbmQgcGFzc3dvcmQuPC9vcGM6RG9j +dW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBvbGljeUlkIiBUeXBlTmFtZT0ib3Bj +OlN0cmluZyIgU291cmNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iVXNlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iUGFzc3dvcmQiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkVuY3J5cHRpb25BbGdvcml0aG0iIFR5cGVOYW1lPSJvcGM6U3RyaW5n +IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9Ilg1MDlJZGVudGl0eVRva2VuIiBCYXNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIj4N +CiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSB0b2tlbiByZXByZXNlbnRpbmcgYSB1c2VyIGlkZW50 +aWZpZWQgYnkgYW4gWDUwOSBjZXJ0aWZpY2F0ZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUG9saWN5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBTb3VyY2VUeXBl +PSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDZXJ0aWZp +Y2F0ZURhdGEiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl +ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJJc3N1ZWRJZGVudGl0eVRva2Vu +IiBCYXNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIj4NCiAgICA8b3BjOkRvY3VtZW50YXRp +b24+QSB0b2tlbiByZXByZXNlbnRpbmcgYSB1c2VyIGlkZW50aWZpZWQgYnkgYSBXUy1TZWN1cml0 +eSBYTUwgdG9rZW4uPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBv +bGljeUlkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgU291cmNlVHlwZT0idG5zOlVzZXJJZGVudGl0 +eVRva2VuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVG9rZW5EYXRhIiBUeXBlTmFtZT0ib3Bj +OkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmNyeXB0aW9uQWxnb3JpdGht +IiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg +PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBY3RpdmF0ZVNlc3Npb25SZXF1ZXN0IiBCYXNlVHlw +ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QWN0aXZhdGVz +IGEgc2Vzc2lvbiB3aXRoIHRoZSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudFNpZ25hdHVyZSIgVHlwZU5hbWU9InRuczpT +aWduYXR1cmVEYXRhIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkNsaWVudFNvZnR3YXJl +Q2VydGlmaWNhdGVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iQ2xpZW50U29mdHdhcmVDZXJ0aWZpY2F0ZXMiIFR5cGVOYW1lPSJ0bnM6U2lnbmVkU29mdHdh +cmVDZXJ0aWZpY2F0ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZDbGllbnRTb2Z0d2FyZUNlcnRpZmljYXRl +cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZMb2NhbGVJZHMiIFR5cGVOYW1lPSJvcGM6 +SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMb2NhbGVJZHMiIFR5cGVOYW1lPSJvcGM6 +U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZkxvY2FsZUlkcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlVzZXJJZGVudGl0eVRva2VuIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlclRva2VuU2lnbmF0dXJlIiBUeXBlTmFtZT0idG5zOlNp +Z25hdHVyZURhdGEiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 +dXJlZFR5cGUgTmFtZT0iQWN0aXZhdGVTZXNzaW9uUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRl +bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BY3RpdmF0ZXMgYSBzZXNzaW9u +IHdpdGggdGhlIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJOb25jZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29k +ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P +ZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5n +dGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ +DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDbG9zZVNlc3Npb25SZXF1ZXN0IiBCYXNl +VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q2xvc2Vz +IGEgc2Vzc2lvbiB3aXRoIHRoZSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlbGV0ZVN1YnNjcmlwdGlvbnMiIFR5cGVOYW1lPSJv +cGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 +cmVkVHlwZSBOYW1lPSJDbG9zZVNlc3Npb25SZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lv +bk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkNsb3NlcyBhIHNlc3Npb24gd2l0aCB0 +aGUgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNw +b25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgPC9vcGM6U3Ry +dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDYW5jZWxSZXF1ZXN0 +IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+ +Q2FuY2VscyBhbiBvdXRzdGFuZGluZyByZXF1ZXN0Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFk +ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGFuZGxlIiBUeXBlTmFtZT0ib3Bj +OlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk +VHlwZSBOYW1lPSJDYW5jZWxSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ +DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkNhbmNlbHMgYW4gb3V0c3RhbmRpbmcgcmVxdWVzdC48 +L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIi +IFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJD +YW5jZWxDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iTm9kZUF0dHJpYnV0ZXNNYXNrIiBM +ZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIGJpdHMgdXNlZCB0 +byBzcGVjaWZ5IGRlZmF1bHQgYXR0cmlidXRlcyBmb3IgYSBuZXcgbm9kZS48L29wYzpEb2N1bWVu +dGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAv +Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFjY2Vzc0xldmVsIiBWYWx1ZT0iMSIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBcnJheURpbWVuc2lvbnMiIFZhbHVl +PSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJyb3dzZU5hbWUiIFZhbHVl +PSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkNvbnRhaW5zTm9Mb29wcyIg +VmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGF0YVR5cGUiIFZh +bHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEZXNjcmlwdGlvbiIg +VmFsdWU9IjMyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRpc3BsYXlOYW1l +IiBWYWx1ZT0iNjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRXZlbnROb3Rp +ZmllciIgVmFsdWU9IjEyOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJFeGVj +dXRhYmxlIiBWYWx1ZT0iMjU2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikhp +c3Rvcml6aW5nIiBWYWx1ZT0iNTEyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 +IkludmVyc2VOYW1lIiBWYWx1ZT0iMTAyNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO +YW1lPSJJc0Fic3RyYWN0IiBWYWx1ZT0iMjA0OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 +ZSBOYW1lPSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbCIgVmFsdWU9IjQwOTYiIC8+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9kZUNsYXNzIiBWYWx1ZT0iODE5MiIgLz4NCiAgICA8 +b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlSWQiIFZhbHVlPSIxNjM4NCIgLz4NCiAgICA8 +b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTeW1tZXRyaWMiIFZhbHVlPSIzMjc2OCIgLz4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVc2VyQWNjZXNzTGV2ZWwiIFZhbHVlPSI2NTUz +NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVc2VyRXhlY3V0YWJsZSIgVmFs +dWU9IjEzMTA3MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVc2VyV3JpdGVN +YXNrIiBWYWx1ZT0iMjYyMTQ0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZh +bHVlUmFuayIgVmFsdWU9IjUyNDI4OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l +PSJXcml0ZU1hc2siIFZhbHVlPSIxMDQ4NTc2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9IlZhbHVlIiBWYWx1ZT0iMjA5NzE1MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 +ZSBOYW1lPSJBbGwiIFZhbHVlPSI0MTk0MzAzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9IkJhc2VOb2RlIiBWYWx1ZT0iMTMzNTM5NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJPYmplY3QiIFZhbHVlPSIxMzM1NTI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRl +ZFZhbHVlIE5hbWU9Ik9iamVjdFR5cGVPckRhdGFUeXBlIiBWYWx1ZT0iMTMzNzQ0NCIgLz4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJWYXJpYWJsZSIgVmFsdWU9IjQwMjY5OTkiIC8+ +DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVmFyaWFibGVUeXBlIiBWYWx1ZT0iMzk1 +ODkwMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJNZXRob2QiIFZhbHVlPSIx +NDY2NzI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlZmVyZW5jZVR5cGUi +IFZhbHVlPSIxMzcxMjM2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZpZXci +IFZhbHVlPSIxMzM1NTMyIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9Ik5vZGVBdHRyaWJ1dGVzIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u +T2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIGJhc2UgYXR0cmlidXRlcyBmb3Ig +YWxsIG5vZGVzLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVj +aWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJ +bnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw +ZSBOYW1lPSJPYmplY3RBdHRyaWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4N +CiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGFuIG9iamVjdCBub2Rl +Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRy +aWJ1dGVzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1 +dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpM +b2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNv +dXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ildy +aXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmli +dXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJv +cGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJFdmVudE5vdGlmaWVyIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVmFyaWFibGVB +dHRyaWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICA8b3BjOkRvY3Vt +ZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGEgdmFyaWFibGUgbm9kZS48L29wYzpEb2N1bWVu +dGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3BlY2lmaWVkQXR0cmlidXRlcyIgVHlwZU5h +bWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIg +U291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +RGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6 +Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVO +YW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291 +cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFs +dWUiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5 +cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZVJh +bmsiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXJy +YXlEaW1lbnNpb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5v +T2ZBcnJheURpbWVuc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBY2Nlc3NMZXZlbCIg +VHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlckFjY2Vzc0xl +dmVsIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNaW5pbXVt +U2FtcGxpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJIaXN0b3JpemluZyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1ldGhvZEF0dHJp +YnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgIDxvcGM6RG9jdW1lbnRh +dGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSBtZXRob2Qgbm9kZS48L29wYzpEb2N1bWVudGF0aW9u +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3BlY2lmaWVkQXR0cmlidXRlcyIgVHlwZU5hbWU9Im9w +YzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNl +VHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3Jp +cHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0 +dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJv +cGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlw +ZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXhlY3V0YWJs +ZSIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlckV4 +ZWN1dGFibGUiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 +cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJPYmplY3RUeXBlQXR0cmlidXRlcyIg +QmFzZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRo +ZSBhdHRyaWJ1dGVzIGZvciBhbiBvYmplY3QgdHlwZSBub2RlLjwvb3BjOkRvY3VtZW50YXRpb24+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0ib3Bj +OlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VU +eXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlw +dGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0 +cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9w +YzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBl +PSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0Fic3RyYWN0 +IiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog +IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVmFyaWFibGVUeXBlQXR0cmlidXRlcyIgQmFzZVR5 +cGU9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSBhdHRy +aWJ1dGVzIGZvciBhIHZhcmlhYmxlIHR5cGUgbm9kZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iU3BlY2lmaWVkQXR0cmlidXRlcyIgVHlwZU5hbWU9Im9wYzpVSW50 +MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0i +dG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24i +IFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0 +ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUlu +dDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5z +Ok5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWUiIFR5cGVOYW1l +PSJ1YTpWYXJpYW50IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5cGUiIFR5cGVOYW1l +PSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZVJhbmsiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXJyYXlEaW1lbnNpb25z +IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXJyYXlEaW1l +bnNpb25zIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBcnJheURpbWVu +c2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0Fic3RyYWN0IiBUeXBlTmFtZT0ib3Bj +OkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl +ZFR5cGUgTmFtZT0iUmVmZXJlbmNlVHlwZUF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0 +dHJpYnV0ZXMiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSBy +ZWZlcmVuY2UgdHlwZSBub2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlw +ZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5h +bWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJp +YnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVh +OkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5 +cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0 +ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0 +ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0Fic3RyYWN0IiBUeXBlTmFtZT0ib3BjOkJv +b2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTeW1tZXRyaWMiIFR5cGVOYW1lPSJvcGM6 +Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkludmVyc2VOYW1lIiBUeXBlTmFtZT0i +dWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT +dHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRhVHlwZUF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9k +ZUF0dHJpYnV0ZXMiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3Ig +YSBkYXRhIHR5cGUgbm9kZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iU3BlY2lmaWVkQXR0cmlidXRlcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9 +InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1l +IiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1 +dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpM +b2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBl +PSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVN +YXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVz +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNBYnN0cmFjdCIgVHlwZU5hbWU9Im9wYzpCb29s +ZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl +IE5hbWU9IlZpZXdBdHRyaWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAg +ICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGEgdmlldyBub2RlLjwvb3Bj +OkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVz +IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6 +ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5 +cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFz +ayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUlu +dDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJDb250YWluc05vTG9vcHMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IkV2ZW50Tm90aWZpZXIiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgPC9v +cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBZGROb2Rl +c0l0ZW0iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRh +dGlvbj5BIHJlcXVlc3QgdG8gYWRkIGEgbm9kZSB0byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2Uu +PC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBhcmVudE5vZGVJZCIg +VHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVm +ZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iUmVxdWVzdGVkTmV3Tm9kZUlkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFt +ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2Rl +Q2xhc3MiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQXR0cmlidXRlcyIgVHlwZU5hbWU9 +InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlR5cGVEZWZpbml0 +aW9uIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWRkTm9kZXNSZXN1bHQiIEJhc2VU +eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHJlc3Vs +dCBvZiBhbiBhZGQgbm9kZSBvcGVyYXRpb24uPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iQWRkZWROb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWRk +Tm9kZXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRv +Y3VtZW50YXRpb24+QWRkcyBvbmUgb3IgbW9yZSBub2RlcyB0byB0aGUgc2VydmVyIGFkZHJlc3Mg +c3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RI +ZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ik5vT2ZOb2Rlc1RvQWRkIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9kZXNUb0FkZCIgVHlwZU5hbWU9InRuczpBZGROb2Rlc0l0ZW0iIExlbmd0aEZp +ZWxkPSJOb09mTm9kZXNUb0FkZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w +YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBZGROb2Rlc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0 +ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QWRkcyBvbmUgb3IgbW9yZSBu +b2RlcyB0byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNl +SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJv +cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idG5z +OkFkZE5vZGVzUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25v +c3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFkZFJlZmVyZW5j +ZXNJdGVtIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50 +YXRpb24+QSByZXF1ZXN0IHRvIGFkZCBhIHJlZmVyZW5jZSB0byB0aGUgc2VydmVyIGFkZHJlc3Mg +c3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvdXJjZU5v +ZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVy +ZW5jZVR5cGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IklzRm9yd2FyZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iVGFyZ2V0U2VydmVyVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlRhcmdldE5vZGVJZCIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iVGFyZ2V0Tm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVD +bGFzcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw +ZSBOYW1lPSJBZGRSZWZlcmVuY2VzUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj +dCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkFkZHMgb25lIG9yIG1vcmUgcmVmZXJlbmNlcyB0 +byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzVG9BZGQiIFR5cGVOYW1lPSJv +cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzVG9BZGQiIFR5cGVO +YW1lPSJ0bnM6QWRkUmVmZXJlbmNlc0l0ZW0iIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlc1Rv +QWRkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl +IE5hbWU9IkFkZFJlZmVyZW5jZXNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj +dCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkFkZHMgb25lIG9yIG1vcmUgcmVmZXJlbmNlcyB0 +byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVz +Q29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +Tm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBM +ZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 +cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVOb2Rlc0l0ZW0iIEJhc2VU +eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHJlcXVl +c3QgdG8gZGVsZXRlIGEgbm9kZSB0byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9j +dW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5v +ZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlbGV0ZVRhcmdldFJlZmVyZW5jZXMiIFR5 +cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w +YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVOb2Rlc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpF +eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5EZWxldGUgb25lIG9yIG1v +cmUgbm9kZXMgZnJvbSB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlv +bj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVx +dWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOb2Rlc1RvRGVsZXRlIiBU +eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZXNUb0RlbGV0 +ZSIgVHlwZU5hbWU9InRuczpEZWxldGVOb2Rlc0l0ZW0iIExlbmd0aEZpZWxkPSJOb09mTm9kZXNU +b0RlbGV0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk +VHlwZSBOYW1lPSJEZWxldGVOb2Rlc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+RGVsZXRlIG9uZSBvciBtb3JlIG5vZGVzIGZy +b20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRl +ciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1 +c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIg +TGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlUmVmZXJlbmNlc0l0ZW0i +IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5B +IHJlcXVlc3QgdG8gZGVsZXRlIGEgbm9kZSBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48 +L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU291cmNlTm9kZUlkIiBU +eXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlVHlw +ZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNGb3J3 +YXJkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUYXJn +ZXROb2RlSWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkRlbGV0ZUJpZGlyZWN0aW9uYWwiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAg +PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxl +dGVSZWZlcmVuY2VzUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg +PG9wYzpEb2N1bWVudGF0aW9uPkRlbGV0ZSBvbmUgb3IgbW9yZSByZWZlcmVuY2VzIGZyb20gdGhl +IHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlc1RvRGVsZXRlIiBUeXBlTmFtZT0ib3Bj +OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlc1RvRGVsZXRlIiBUeXBl +TmFtZT0idG5zOkRlbGV0ZVJlZmVyZW5jZXNJdGVtIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5j +ZXNUb0RlbGV0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 +cmVkVHlwZSBOYW1lPSJEZWxldGVSZWZlcmVuY2VzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRl +bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5EZWxldGUgb25lIG9yIG1vcmUg +cmVmZXJlbmNlcyBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0 +aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6 +UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlw +ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVO +YW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlh +Z25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29w +YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkF0dHJpYnV0 +ZVdyaXRlTWFzayIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkRl +ZmluZSBiaXRzIHVzZWQgdG8gaW5kaWNhdGUgd2hpY2ggYXR0cmlidXRlcyBhcmUgd3JpdGFibGUu +PC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25l +IiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBY2Nlc3NMZXZl +bCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQXJyYXlEaW1l +bnNpb25zIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCcm93 +c2VOYW1lIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDb250 +YWluc05vTG9vcHMiIFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 +IkRhdGFUeXBlIiBWYWx1ZT0iMTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i +RGVzY3JpcHRpb24iIFZhbHVlPSIzMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l +PSJEaXNwbGF5TmFtZSIgVmFsdWU9IjY0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h +bWU9IkV2ZW50Tm90aWZpZXIiIFZhbHVlPSIxMjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs +dWUgTmFtZT0iRXhlY3V0YWJsZSIgVmFsdWU9IjI1NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJIaXN0b3JpemluZyIgVmFsdWU9IjUxMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0 +ZWRWYWx1ZSBOYW1lPSJJbnZlcnNlTmFtZSIgVmFsdWU9IjEwMjQiIC8+DQogICAgPG9wYzpFbnVt +ZXJhdGVkVmFsdWUgTmFtZT0iSXNBYnN0cmFjdCIgVmFsdWU9IjIwNDgiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iTWluaW11bVNhbXBsaW5nSW50ZXJ2YWwiIFZhbHVlPSI0MDk2 +IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vZGVDbGFzcyIgVmFsdWU9Ijgx +OTIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9kZUlkIiBWYWx1ZT0iMTYz +ODQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3ltbWV0cmljIiBWYWx1ZT0i +MzI3NjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVXNlckFjY2Vzc0xldmVs +IiBWYWx1ZT0iNjU1MzYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVXNlckV4 +ZWN1dGFibGUiIFZhbHVlPSIxMzEwNzIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt +ZT0iVXNlcldyaXRlTWFzayIgVmFsdWU9IjI2MjE0NCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJWYWx1ZVJhbmsiIFZhbHVlPSI1MjQyODgiIC8+DQogICAgPG9wYzpFbnVtZXJh +dGVkVmFsdWUgTmFtZT0iV3JpdGVNYXNrIiBWYWx1ZT0iMTA0ODU3NiIgLz4NCiAgICA8b3BjOkVu +dW1lcmF0ZWRWYWx1ZSBOYW1lPSJWYWx1ZUZvclZhcmlhYmxlVHlwZSIgVmFsdWU9IjIwOTcxNTIi +IC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFt +ZT0iQnJvd3NlRGlyZWN0aW9uIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50 +YXRpb24+VGhlIGRpcmVjdGlvbnMgb2YgdGhlIHJlZmVyZW5jZXMgdG8gcmV0dXJuLjwvb3BjOkRv +Y3VtZW50YXRpb24+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRm9yd2FyZCIgVmFs +dWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW52ZXJzZSIgVmFsdWU9 +IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQm90aCIgVmFsdWU9IjIiIC8+ +DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW52YWxpZCIgVmFsdWU9IjMiIC8+DQog +IDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVmll +d0Rlc2NyaXB0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRv +Y3VtZW50YXRpb24+VGhlIHZpZXcgdG8gYnJvd3NlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJWaWV3SWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJUaW1lc3RhbXAiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJWaWV3VmVyc2lvbiIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJv +d3NlRGVzY3JpcHRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 +RG9jdW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8gYnJvd3NlIHRoZSB0aGUgcmVmZXJlbmNlcyBmcm9t +IGEgbm9kZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlk +IiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlRGly +ZWN0aW9uIiBUeXBlTmFtZT0idG5zOkJyb3dzZURpcmVjdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IkluY2x1ZGVTdWJ0eXBlcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNsYXNzTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQz +MiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBO +YW1lPSJCcm93c2VSZXN1bHRNYXNrIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3Vt +ZW50YXRpb24+QSBiaXQgbWFzayB3aGljaCBzcGVjaWZpZXMgd2hhdCBzaG91bGQgYmUgcmV0dXJu +ZWQgaW4gYSBicm93c2UgcmVzcG9uc2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkVu +dW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25lIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0 +ZWRWYWx1ZSBOYW1lPSJSZWZlcmVuY2VUeXBlSWQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IklzRm9yd2FyZCIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVt +ZXJhdGVkVmFsdWUgTmFtZT0iTm9kZUNsYXNzIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1l +cmF0ZWRWYWx1ZSBOYW1lPSJCcm93c2VOYW1lIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1l +cmF0ZWRWYWx1ZSBOYW1lPSJEaXNwbGF5TmFtZSIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IlR5cGVEZWZpbml0aW9uIiBWYWx1ZT0iMzIiIC8+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQWxsIiBWYWx1ZT0iNjMiIC8+DQogICAgPG9wYzpFbnVt +ZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlVHlwZUluZm8iIFZhbHVlPSIzIiAvPg0KICAgIDxv +cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlRhcmdldEluZm8iIFZhbHVlPSI2MCIgLz4NCiAgPC9v +cGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWZlcmVu +Y2VEZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpE +b2N1bWVudGF0aW9uPlRoZSBkZXNjcmlwdGlvbiBvZiBhIHJlZmVyZW5jZS48L29wYzpEb2N1bWVu +dGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0i +dWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNGb3J3YXJkIiBUeXBlTmFtZT0i +b3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1 +YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5hbWUiIFR5 +cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxh +eU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlR5cGVEZWZpbml0aW9uIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJDb250aW51 +YXRpb25Qb2ludCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkFuIGlkZW50aWZpZXIgZm9yIGEg +c3VzcGVuZGVkIHF1ZXJ5IG9yIGJyb3dzZSBvcGVyYXRpb24uPC9vcGM6RG9jdW1lbnRhdGlvbj4N +CiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb3dz +ZVJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVu +dGF0aW9uPlRoZSByZXN1bHQgb2YgYSBicm93c2Ugb3BlcmF0aW9uLjwvb3BjOkRvY3VtZW50YXRp +b24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVz +Q29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiBUeXBlTmFt +ZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNl +cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5j +ZXMiIFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlRGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09m +UmVmZXJlbmNlcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 +cmVkVHlwZSBOYW1lPSJCcm93c2VSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QnJvd3NlIHRoZSByZWZlcmVuY2VzIGZvciBvbmUg +b3IgbW9yZSBub2RlcyBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVu +dGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRu +czpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmlldyIgVHlwZU5hbWU9 +InRuczpWaWV3RGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRN +YXhSZWZlcmVuY2VzUGVyTm9kZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJOb09mTm9kZXNUb0Jyb3dzZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVzVG9Ccm93c2UiIFR5cGVOYW1lPSJ0bnM6QnJvd3NlRGVz +Y3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mTm9kZXNUb0Jyb3dzZSIgLz4NCiAgPC9vcGM6U3Ry +dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm93c2VSZXNwb25z +ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u +PkJyb3dzZSB0aGUgcmVmZXJlbmNlcyBmb3Igb25lIG9yIG1vcmUgbm9kZXMgZnJvbSB0aGUgc2Vy +dmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idG5zOkJyb3dzZVJlc3VsdCIg +TGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRp +YWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhG +aWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm93c2VOZXh0UmVxdWVzdCIgQmFzZVR5cGU9 +InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkNvbnRpbnVlcyBv +bmUgb3IgbW9yZSBicm93c2Ugb3BlcmF0aW9ucy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVsZWFzZUNvbnRpbnVhdGlvblBvaW50cyIgVHlw +ZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkNvbnRpbnVh +dGlvblBvaW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkNvbnRpbnVhdGlvblBvaW50cyIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiBMZW5ndGhGaWVs +ZD0iTm9PZkNvbnRpbnVhdGlvblBvaW50cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm93c2VOZXh0UmVzcG9uc2UiIEJhc2VUeXBl +PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5Db250aW51ZXMg +b25lIG9yIG1vcmUgYnJvd3NlIG9wZXJhdGlvbnMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVh +ZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6 +SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idG5zOkJy +b3dzZVJlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJ +bmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0 +dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWxhdGl2ZVBhdGhFbGVt +ZW50IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRp +b24+QW4gZWxlbWVudCBpbiBhIHJlbGF0aXZlIHBhdGguPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzSW52ZXJzZSIgVHlwZU5hbWU9Im9wYzpCb29sZWFu +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5jbHVkZVN1YnR5cGVzIiBUeXBlTmFtZT0ib3Bj +OkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUYXJnZXROYW1lIiBUeXBlTmFtZT0i +dWE6UXVhbGlmaWVkTmFtZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT +dHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWxhdGl2ZVBhdGgiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P +YmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHJlbGF0aXZlIHBhdGggY29uc3RydWN0 +ZWQgZnJvbSByZWZlcmVuY2UgdHlwZXMgYW5kIGJyb3dzZSBuYW1lcy48L29wYzpEb2N1bWVudGF0 +aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkVsZW1lbnRzIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRWxlbWVudHMiIFR5cGVOYW1lPSJ0bnM6UmVs +YXRpdmVQYXRoRWxlbWVudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZFbGVtZW50cyIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm93c2VQYXRo +IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+ +QSByZXF1ZXN0IHRvIHRyYW5zbGF0ZSBhIHBhdGggaW50byBhIG5vZGUgaWQuPC9vcGM6RG9jdW1l +bnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXJ0aW5nTm9kZSIgVHlwZU5hbWU9InVh +Ok5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlbGF0aXZlUGF0aCIgVHlwZU5hbWU9 +InRuczpSZWxhdGl2ZVBhdGgiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJvd3NlUGF0aFRhcmdldCIgQmFzZVR5cGU9InVhOkV4dGVu +c2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSB0YXJnZXQgb2YgdGhlIHRy +YW5zbGF0ZWQgcGF0aC48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +VGFyZ2V0SWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlJlbWFpbmluZ1BhdGhJbmRleCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwv +b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJvd3Nl +UGF0aFJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1 +bWVudGF0aW9uPlRoZSByZXN1bHQgb2YgYSB0cmFuc2xhdGUgb3BlYXJhdGlvbi48L29wYzpEb2N1 +bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVh +OlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVGFyZ2V0cyIgVHlwZU5h +bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldHMiIFR5cGVOYW1l +PSJ0bnM6QnJvd3NlUGF0aFRhcmdldCIgTGVuZ3RoRmllbGQ9Ik5vT2ZUYXJnZXRzIiAvPg0KICA8 +L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRyYW5z +bGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRyYW5zbGF0ZXMgb25lIG9yIG1vcmUgcGF0 +aHMgaW4gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFk +ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQnJvd3NlUGF0aHMiIFR5cGVOYW1lPSJv +cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VQYXRocyIgVHlwZU5hbWU9 +InRuczpCcm93c2VQYXRoIiBMZW5ndGhGaWVsZD0iTm9PZkJyb3dzZVBhdGhzIiAvPg0KICA8L29w +YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRyYW5zbGF0 +ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl +Y3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UcmFuc2xhdGVzIG9uZSBvciBtb3JlIHBhdGhz +IGluIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFk +ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJ +bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6QnJv +d3NlUGF0aFJlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0 +aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3Ry +dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWdpc3Rlck5vZGVz +UmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVu +dGF0aW9uPlJlZ2lzdGVycyBvbmUgb3IgbW9yZSBub2RlcyBmb3IgcmVwZWF0ZWQgdXNlIHdpdGhp +biBhIHNlc3Npb24uPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl +cXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vT2ZOb2Rlc1RvUmVnaXN0ZXIiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rlc1RvUmVnaXN0ZXIiIFR5cGVOYW1lPSJ1YTpOb2RlSWQi +IExlbmd0aEZpZWxkPSJOb09mTm9kZXNUb1JlZ2lzdGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk +VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlZ2lzdGVyTm9kZXNSZXNwb25z +ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u +PlJlZ2lzdGVycyBvbmUgb3IgbW9yZSBub2RlcyBmb3IgcmVwZWF0ZWQgdXNlIHdpdGhpbiBhIHNl +c3Npb24uPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNl +SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTm9PZlJlZ2lzdGVyZWROb2RlSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iUmVnaXN0ZXJlZE5vZGVJZHMiIFR5cGVOYW1lPSJ1YTpOb2RlSWQi +IExlbmd0aEZpZWxkPSJOb09mUmVnaXN0ZXJlZE5vZGVJZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVW5yZWdpc3Rlck5vZGVzUmVx +dWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0 +aW9uPlVucmVnaXN0ZXJzIG9uZSBvciBtb3JlIHByZXZpb3VzbHkgcmVnaXN0ZXJlZCBub2Rlcy48 +L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIg +VHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P +Zk5vZGVzVG9VbnJlZ2lzdGVyIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9kZXNUb1VucmVnaXN0ZXIiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIExlbmd0aEZp +ZWxkPSJOb09mTm9kZXNUb1VucmVnaXN0ZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K +DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVW5yZWdpc3Rlck5vZGVzUmVzcG9uc2UiIEJh +c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5VbnJl +Z2lzdGVycyBvbmUgb3IgbW9yZSBwcmV2aW91c2x5IHJlZ2lzdGVyZWQgbm9kZXMuPC9vcGM6RG9j +dW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFt +ZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 +b3BjOk9wYXF1ZVR5cGUgTmFtZT0iQ291bnRlciI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEg +bW9ub3RvbmljYWxseSBpbmNyZWFzaW5nIHZhbHVlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwv +b3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9Ik51bWVyaWNSYW5nZSI+ +DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlNwZWNpZmllcyBhIHJhbmdlIG9mIGFycmF5IGluZGV4 +ZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9w +YXF1ZVR5cGUgTmFtZT0iVGltZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgdGltZSB2YWx1 +ZSBzcGVjaWZpZWQgYXMgSEg6TU06U1MuU1NTLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3Bj +Ok9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkRhdGUiPg0KICAgIDxvcGM6 +RG9jdW1lbnRhdGlvbj5BIGRhdGUgdmFsdWUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6 +T3BhcXVlVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkVuZHBvaW50Q29uZmln +dXJhdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJPcGVyYXRpb25UaW1lb3V0IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iVXNlQmluYXJ5RW5jb2RpbmciIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heFN0cmluZ0xlbmd0aCIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heEJ5dGVTdHJpbmdMZW5ndGgiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhBcnJheUxlbmd0aCIgVHlw +ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heE1lc3NhZ2VTaXpl +IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4QnVmZmVy +U2l6ZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNoYW5u +ZWxMaWZldGltZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlNlY3VyaXR5VG9rZW5MaWZldGltZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJRdWVyeURhdGFE +ZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZWxhdGl2ZVBhdGgiIFR5cGVOYW1lPSJ0bnM6UmVsYXRpdmVQYXRoIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iQXR0cmlidXRlSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iSW5kZXhSYW5nZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+ +DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i +Tm9kZVR5cGVEZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJUeXBlRGVmaW5pdGlvbk5vZGUiIFR5cGVOYW1lPSJ1YTpFeHBhbmRl +ZE5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkluY2x1ZGVTdWJUeXBlcyIgVHlwZU5h +bWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRhdGFUb1JldHVy +biIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFUb1Jl +dHVybiIgVHlwZU5hbWU9InRuczpRdWVyeURhdGFEZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5v +T2ZEYXRhVG9SZXR1cm4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51 +bWVyYXRlZFR5cGUgTmFtZT0iRmlsdGVyT3BlcmF0b3IiIExlbmd0aEluQml0cz0iMzIiPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkVxdWFscyIgVmFsdWU9IjAiIC8+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNOdWxsIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVu +dW1lcmF0ZWRWYWx1ZSBOYW1lPSJHcmVhdGVyVGhhbiIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iTGVzc1RoYW4iIFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IkdyZWF0ZXJUaGFuT3JFcXVhbCIgVmFsdWU9IjQiIC8+DQogICAg +PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTGVzc1RoYW5PckVxdWFsIiBWYWx1ZT0iNSIgLz4N +CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJMaWtlIiBWYWx1ZT0iNiIgLz4NCiAgICA8 +b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb3QiIFZhbHVlPSI3IiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IkJldHdlZW4iIFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6RW51bWVy +YXRlZFZhbHVlIE5hbWU9IkluTGlzdCIgVmFsdWU9IjkiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk +VmFsdWUgTmFtZT0iQW5kIiBWYWx1ZT0iMTAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg +TmFtZT0iT3IiIFZhbHVlPSIxMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJD +YXN0IiBWYWx1ZT0iMTIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW5WaWV3 +IiBWYWx1ZT0iMTMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iT2ZUeXBlIiBW +YWx1ZT0iMTQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVsYXRlZFRvIiBW +YWx1ZT0iMTUiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQml0d2lzZUFuZCIg +VmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJpdHdpc2VPciIg +VmFsdWU9IjE3IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy +ZWRUeXBlIE5hbWU9IlF1ZXJ5RGF0YVNldCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJ +ZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlR5cGVEZWZpbml0aW9uTm9kZSIgVHlwZU5hbWU9 +InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlZhbHVlcyIg +VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlcyIgVHlw +ZU5hbWU9InVhOlZhcmlhbnQiIExlbmd0aEZpZWxkPSJOb09mVmFsdWVzIiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik5vZGVSZWZlcmVu +Y2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +Tm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVm +ZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iSXNGb3J3YXJkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJOb09mUmVmZXJlbmNlZE5vZGVJZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VkTm9kZUlkcyIgVHlwZU5hbWU9InVhOk5vZGVJZCIg +TGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2VkTm9kZUlkcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl +ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDb250ZW50RmlsdGVyRWxlbWVu +dCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJG +aWx0ZXJPcGVyYXRvciIgVHlwZU5hbWU9InRuczpGaWx0ZXJPcGVyYXRvciIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vT2ZGaWx0ZXJPcGVyYW5kcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRlck9wZXJhbmRzIiBUeXBlTmFtZT0idWE6RXh0ZW5z +aW9uT2JqZWN0IiBMZW5ndGhGaWVsZD0iTm9PZkZpbHRlck9wZXJhbmRzIiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNvbnRlbnRGaWx0 +ZXIiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +Tm9PZkVsZW1lbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iRWxlbWVudHMiIFR5cGVOYW1lPSJ0bnM6Q29udGVudEZpbHRlckVsZW1lbnQiIExlbmd0aEZp +ZWxkPSJOb09mRWxlbWVudHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iRmlsdGVyT3BlcmFuZCIgQmFzZVR5cGU9InVhOkV4dGVuc2lv +bk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iRWxlbWVudE9wZXJhbmQiIEJhc2VUeXBlPSJ0bnM6RmlsdGVyT3BlcmFuZCI+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJJbmRleCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwv +b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTGl0ZXJh +bE9wZXJhbmQiIEJhc2VUeXBlPSJ0bnM6RmlsdGVyT3BlcmFuZCI+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQXR0cmlidXRlT3BlcmFuZCIgQmFz +ZVR5cGU9InRuczpGaWx0ZXJPcGVyYW5kIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIg +VHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFsaWFzIiBUeXBl +TmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZVBhdGgiIFR5 +cGVOYW1lPSJ0bnM6UmVsYXRpdmVQYXRoIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXR0cmli +dXRlSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5k +ZXhSYW5nZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2ltcGxlQXR0cmlidXRlT3BlcmFuZCIg +QmFzZVR5cGU9InRuczpGaWx0ZXJPcGVyYW5kIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlR5cGVE +ZWZpbml0aW9uSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mQnJvd3NlUGF0aCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkJyb3dzZVBhdGgiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBMZW5ndGhGaWVs +ZD0iTm9PZkJyb3dzZVBhdGgiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdHRyaWJ1dGVJZCIg +VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbmRleFJhbmdl +IiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg +PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIgQmFz +ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXND +b2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v +T2ZPcGVyYW5kU3RhdHVzQ29kZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJPcGVyYW5kU3RhdHVzQ29kZXMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBM +ZW5ndGhGaWVsZD0iTm9PZk9wZXJhbmRTdGF0dXNDb2RlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ik5vT2ZPcGVyYW5kRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iT3BlcmFuZERpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVh +OkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZk9wZXJhbmREaWFnbm9zdGljSW5mb3Mi +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt +ZT0iQ29udGVudEZpbHRlclJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRWxlbWVudFJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbGVtZW50UmVzdWx0cyIgVHlwZU5hbWU9InRu +czpDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZFbGVtZW50UmVz +dWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFbGVtZW50RGlhZ25vc3RpY0luZm9z +IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRWxlbWVudERp +YWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0i +Tm9PZkVsZW1lbnREaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K +DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUGFyc2luZ1Jlc3VsdCIgQmFzZVR5cGU9InVh +OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBl +TmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEYXRhU3Rh +dHVzQ29kZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE +YXRhU3RhdHVzQ29kZXMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9P +ZkRhdGFTdGF0dXNDb2RlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEYXRhRGlhZ25v +c3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +RGF0YURpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhG +aWVsZD0iTm9PZkRhdGFEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUXVlcnlGaXJzdFJlcXVlc3QiIEJhc2VU +eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhl +YWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iVmlldyIgVHlwZU5hbWU9InRuczpWaWV3RGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb09mTm9kZVR5cGVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9kZVR5cGVzIiBUeXBlTmFtZT0idG5zOk5vZGVUeXBlRGVzY3JpcHRpb24i +IExlbmd0aEZpZWxkPSJOb09mTm9kZVR5cGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmls +dGVyIiBUeXBlTmFtZT0idG5zOkNvbnRlbnRGaWx0ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJNYXhEYXRhU2V0c1RvUmV0dXJuIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik1heFJlZmVyZW5jZXNUb1JldHVybiIgVHlwZU5hbWU9Im9wYzpVSW50MzIi +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt +ZT0iUXVlcnlGaXJzdFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNl +SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlF1ZXJ5RGF0YVNldHMiIFR5cGVO +YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJRdWVyeURhdGFTZXRzIiBU +eXBlTmFtZT0idG5zOlF1ZXJ5RGF0YVNldCIgTGVuZ3RoRmllbGQ9Ik5vT2ZRdWVyeURhdGFTZXRz +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29udGludWF0aW9uUG9pbnQiIFR5cGVOYW1lPSJv +cGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZQYXJzaW5nUmVzdWx0 +cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBhcnNpbmdS +ZXN1bHRzIiBUeXBlTmFtZT0idG5zOlBhcnNpbmdSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUGFy +c2luZ1Jlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9z +IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3Rp +Y0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlh +Z25vc3RpY0luZm9zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmlsdGVyUmVzdWx0IiBUeXBl +TmFtZT0idG5zOkNvbnRlbnRGaWx0ZXJSZXN1bHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUXVlcnlOZXh0UmVxdWVzdCIgQmFzZVR5 +cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVh +ZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJSZWxlYXNlQ29udGludWF0aW9uUG9pbnQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiBUeXBlTmFtZT0ib3BjOkJ5dGVT +dHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iUXVlcnlOZXh0UmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVz +cG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUXVlcnlEYXRhU2V0cyIg +VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlF1ZXJ5RGF0YVNl +dHMiIFR5cGVOYW1lPSJ0bnM6UXVlcnlEYXRhU2V0IiBMZW5ndGhGaWVsZD0iTm9PZlF1ZXJ5RGF0 +YVNldHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkQ29udGludWF0aW9uUG9pbnQi +IFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iIExlbmd0aElu +Qml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNvdXJjZSIgVmFsdWU9 +IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU2VydmVyIiBWYWx1ZT0iMSIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCb3RoIiBWYWx1ZT0iMiIgLz4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOZWl0aGVyIiBWYWx1ZT0iMyIgLz4NCiAgICA8 +b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnZhbGlkIiBWYWx1ZT0iNCIgLz4NCiAgPC9vcGM6 +RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWFkVmFsdWVJ +ZCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO +b2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdHRy +aWJ1dGVJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJ +bmRleFJhbmdlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkRhdGFFbmNvZGluZyIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIC8+DQogIDwvb3BjOlN0 +cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVhZFJlcXVlc3Qi +IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVx +dWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTWF4QWdlIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlRpbWVzdGFtcHNUb1JldHVybiIgVHlwZU5hbWU9InRuczpUaW1lc3RhbXBzVG9SZXR1 +cm4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTm9kZXNUb1JlYWQiIFR5cGVOYW1lPSJv +cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rlc1RvUmVhZCIgVHlwZU5hbWU9 +InRuczpSZWFkVmFsdWVJZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvUmVhZCIgLz4NCiAgPC9v +cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWFkUmVz +cG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpEYXRhVmFsdWUiIExlbmd0 +aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9z +dGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE +aWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9 +Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv +cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeVJlYWRWYWx1ZUlkIiBCYXNlVHlwZT0idWE6 +RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9 +InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkluZGV4UmFuZ2UiIFR5cGVOYW1l +PSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YUVuY29kaW5nIiBUeXBl +TmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbnRpbnVh +dGlvblBvaW50IiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeVJlYWRSZXN1bHQi +IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Rh +dHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJDb250aW51YXRpb25Qb2ludCIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iSGlzdG9yeURhdGEiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3Qi +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt +ZT0iSGlzdG9yeVJlYWREZXRhaWxzIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg +PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWFk +RXZlbnREZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyI+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOdW1WYWx1ZXNQZXJOb2RlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXJ0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXIiIFR5cGVOYW1lPSJ0bnM6RXZlbnRGaWx0 +ZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iUmVhZFJhd01vZGlmaWVkRGV0YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5UmVhZERl +dGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNSZWFkTW9kaWZpZWQiIFR5cGVOYW1lPSJv +cGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXJ0VGltZSIgVHlwZU5hbWU9 +Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZFRpbWUiIFR5cGVOYW1l +PSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOdW1WYWx1ZXNQZXJOb2Rl +IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldHVybkJv +dW5kcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N +Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlYWRQcm9jZXNzZWREZXRhaWxzIiBCYXNl +VHlwZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGFy +dFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJF +bmRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +UHJvY2Vzc2luZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vT2ZBZ2dyZWdhdGVUeXBlIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iQWdncmVnYXRlVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgTGVu +Z3RoRmllbGQ9Ik5vT2ZBZ2dyZWdhdGVUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWdn +cmVnYXRlQ29uZmlndXJhdGlvbiIgVHlwZU5hbWU9InRuczpBZ2dyZWdhdGVDb25maWd1cmF0aW9u +IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9IlJlYWRBdFRpbWVEZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyI+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVxVGltZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXFUaW1lcyIgVHlwZU5hbWU9Im9wYzpEYXRlVGlt +ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXFUaW1lcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVz +ZVNpbXBsZUJvdW5kcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlEYXRhIiBCYXNl +VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEYXRh +VmFsdWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0 +YVZhbHVlcyIgVHlwZU5hbWU9InVhOkRhdGFWYWx1ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZEYXRhVmFs +dWVzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl +IE5hbWU9Ik1vZGlmaWNhdGlvbkluZm8iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iTW9kaWZpY2F0aW9uVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRl +VGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVwZGF0ZVR5cGUiIFR5cGVOYW1lPSJ0bnM6 +SGlzdG9yeVVwZGF0ZVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyTmFtZSIgVHlw +ZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeU1vZGlmaWVkRGF0YSIgQmFzZVR5cGU9InRuczpI +aXN0b3J5RGF0YSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGF0YVZhbHVlcyIgVHlwZU5h +bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFWYWx1ZXMiIFR5cGVO +YW1lPSJ1YTpEYXRhVmFsdWUiIExlbmd0aEZpZWxkPSJOb09mRGF0YVZhbHVlcyIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik5vT2ZNb2RpZmljYXRpb25JbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vZGlmaWNhdGlvbkluZm9zIiBUeXBlTmFtZT0i +dG5zOk1vZGlmaWNhdGlvbkluZm8iIExlbmd0aEZpZWxkPSJOb09mTW9kaWZpY2F0aW9uSW5mb3Mi +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt +ZT0iSGlzdG9yeUV2ZW50IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vT2ZFdmVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJFdmVudHMiIFR5cGVOYW1lPSJ0bnM6SGlzdG9yeUV2ZW50RmllbGRMaXN0 +IiBMZW5ndGhGaWVsZD0iTm9PZkV2ZW50cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5UmVhZFJlcXVlc3QiIEJhc2VUeXBl +PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRl +ciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +SGlzdG9yeVJlYWREZXRhaWxzIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiBUeXBlTmFtZT0idG5zOlRpbWVz +dGFtcHNUb1JldHVybiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlbGVhc2VDb250aW51YXRp +b25Qb2ludHMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5vT2ZOb2Rlc1RvUmVhZCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vZGVzVG9SZWFkIiBUeXBlTmFtZT0idG5zOkhpc3RvcnlSZWFkVmFsdWVJZCIgTGVu +Z3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvUmVhZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5UmVhZFJlc3BvbnNlIiBCYXNlVHlw +ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVh +ZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idG5zOkhpc3RvcnlSZWFkUmVzdWx0IiBMZW5ndGhGaWVs +ZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0lu +Zm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25v +c3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09m +RGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9IldyaXRlVmFsdWUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl +Y3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXR0cmlidXRlSWQiIFR5cGVOYW1lPSJvcGM6VUludDMy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5kZXhSYW5nZSIgVHlwZU5hbWU9Im9wYzpTdHJp +bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOkRhdGFWYWx1 +ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO +YW1lPSJXcml0ZVJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVzVG9Xcml0ZSIgVHlwZU5hbWU9Im9w +YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVzVG9Xcml0ZSIgVHlwZU5hbWU9 +InRuczpXcml0ZVZhbHVlIiBMZW5ndGhGaWVsZD0iTm9PZk5vZGVzVG9Xcml0ZSIgLz4NCiAgPC9v +cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJXcml0ZVJl +c3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVu +Z3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdu +b3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVs +ZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg +PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5VXBkYXRlRGV0YWlscyIgQmFzZVR5cGU9 +InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVO +YW1lPSJ1YTpOb2RlSWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51 +bWVyYXRlZFR5cGUgTmFtZT0iSGlzdG9yeVVwZGF0ZVR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikluc2VydCIgVmFsdWU9IjEiIC8+DQogICAg +PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVwbGFjZSIgVmFsdWU9IjIiIC8+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVXBkYXRlIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVu +dW1lcmF0ZWRWYWx1ZSBOYW1lPSJEZWxldGUiIFZhbHVlPSI0IiAvPg0KICA8L29wYzpFbnVtZXJh +dGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlBlcmZvcm1VcGRhdGVUeXBl +IiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnNl +cnQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlcGxhY2Ui +IFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVwZGF0ZSIgVmFs +dWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVtb3ZlIiBWYWx1ZT0i +NCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO +YW1lPSJVcGRhdGVEYXRhRGV0YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0YWls +cyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNv +dXJjZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlBlcmZvcm1JbnNlcnRSZXBsYWNlIiBUeXBlTmFtZT0idG5zOlBlcmZvcm1VcGRhdGVUeXBl +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlVwZGF0ZVZhbHVlcyIgVHlwZU5hbWU9Im9w +YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVwZGF0ZVZhbHVlcyIgVHlwZU5hbWU9 +InVhOkRhdGFWYWx1ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZVcGRhdGVWYWx1ZXMiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVXBkYXRlU3Ry +dWN0dXJlRGF0YURldGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VU +eXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQ +ZXJmb3JtSW5zZXJ0UmVwbGFjZSIgVHlwZU5hbWU9InRuczpQZXJmb3JtVXBkYXRlVHlwZSIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZVcGRhdGVWYWx1ZXMiIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVcGRhdGVWYWx1ZXMiIFR5cGVOYW1lPSJ1YTpE +YXRhVmFsdWUiIExlbmd0aEZpZWxkPSJOb09mVXBkYXRlVmFsdWVzIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlVwZGF0ZUV2ZW50RGV0 +YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpIaXN0 +b3J5VXBkYXRlRGV0YWlscyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBlcmZvcm1JbnNlcnRS +ZXBsYWNlIiBUeXBlTmFtZT0idG5zOlBlcmZvcm1VcGRhdGVUeXBlIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iRmlsdGVyIiBUeXBlTmFtZT0idG5zOkV2ZW50RmlsdGVyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9PZkV2ZW50RGF0YSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkV2ZW50RGF0YSIgVHlwZU5hbWU9InRuczpIaXN0b3J5RXZlbnRGaWVs +ZExpc3QiIExlbmd0aEZpZWxkPSJOb09mRXZlbnREYXRhIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk +VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZVJhd01vZGlmaWVkRGV0 +YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpIaXN0 +b3J5VXBkYXRlRGV0YWlscyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzRGVsZXRlTW9kaWZp +ZWQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXJ0 +VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVu +ZFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlQXRUaW1lRGV0YWlscyIgQmFz +ZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO +b2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpIaXN0b3J5VXBkYXRl +RGV0YWlscyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXFUaW1lcyIgVHlwZU5hbWU9 +Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcVRpbWVzIiBUeXBlTmFtZT0i +b3BjOkRhdGVUaW1lIiBMZW5ndGhGaWVsZD0iTm9PZlJlcVRpbWVzIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZUV2ZW50RGV0 +YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpIaXN0 +b3J5VXBkYXRlRGV0YWlscyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFdmVudElkcyIg +VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50SWRzIiBU +eXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mRXZlbnRJZHMiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlz +dG9yeVVwZGF0ZVJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZPcGVyYXRpb25SZXN1bHRzIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iT3BlcmF0aW9uUmVzdWx0cyIgVHlwZU5hbWU9 +InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mT3BlcmF0aW9uUmVzdWx0cyIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1 +YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlz +dG9yeVVwZGF0ZVJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkhpc3RvcnlVcGRhdGVEZXRhaWxzIiBUeXBl +TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSGlzdG9yeVVwZGF0ZURl +dGFpbHMiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIExlbmd0aEZpZWxkPSJOb09mSGlz +dG9yeVVwZGF0ZURldGFpbHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3BvbnNlIiBCYXNlVHlwZT0idWE6 +RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBU +eXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P +ZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS +ZXN1bHRzIiBUeXBlTmFtZT0idG5zOkhpc3RvcnlVcGRhdGVSZXN1bHQiIExlbmd0aEZpZWxkPSJO +b09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3Mi +IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGlj +SW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFn +bm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 +dXJlZFR5cGUgTmFtZT0iQ2FsbE1ldGhvZFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P +YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iT2JqZWN0SWQiIFR5cGVOYW1lPSJ1YTpOb2Rl +SWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXRob2RJZCIgVHlwZU5hbWU9InVhOk5vZGVJ +ZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZJbnB1dEFyZ3VtZW50cyIgVHlwZU5hbWU9 +Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklucHV0QXJndW1lbnRzIiBUeXBl +TmFtZT0idWE6VmFyaWFudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZJbnB1dEFyZ3VtZW50cyIgLz4NCiAg +PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDYWxs +TWV0aG9kUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTm9PZklucHV0QXJndW1lbnRSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5wdXRBcmd1bWVudFJlc3VsdHMiIFR5cGVO +YW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZklucHV0QXJndW1lbnRSZXN1bHRz +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZklucHV0QXJndW1lbnREaWFnbm9zdGljSW5m +b3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbnB1dEFy +Z3VtZW50RGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0 +aEZpZWxkPSJOb09mSW5wdXRBcmd1bWVudERpYWdub3N0aWNJbmZvcyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vT2ZPdXRwdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJPdXRwdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJ1YTpWYXJpYW50 +IiBMZW5ndGhGaWVsZD0iTm9PZk91dHB1dEFyZ3VtZW50cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl +ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDYWxsUmVxdWVzdCIgQmFzZVR5 +cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVh +ZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mTWV0aG9kc1RvQ2FsbCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik1ldGhvZHNUb0NhbGwiIFR5cGVOYW1lPSJ0bnM6Q2FsbE1ldGhvZFJlcXVlc3Qi +IExlbmd0aEZpZWxkPSJOb09mTWV0aG9kc1RvQ2FsbCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 +cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDYWxsUmVzcG9uc2UiIEJhc2VUeXBl +PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFk +ZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6Q2FsbE1ldGhvZFJlc3VsdCIgTGVuZ3RoRmllbGQ9 +Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZv +cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0 +aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRp +YWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVt +ZXJhdGVkVHlwZSBOYW1lPSJNb25pdG9yaW5nTW9kZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAg +PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGlzYWJsZWQiIFZhbHVlPSIwIiAvPg0KICAgIDxv +cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNhbXBsaW5nIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3Bj +OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZXBvcnRpbmciIFZhbHVlPSIyIiAvPg0KICA8L29wYzpF +bnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkRhdGFDaGFuZ2VU +cmlnZ2VyIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l +PSJTdGF0dXMiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN0 +YXR1c1ZhbHVlIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJT +dGF0dXNWYWx1ZVRpbWVzdGFtcCIgVmFsdWU9IjIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBl +Pg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRGVhZGJhbmRUeXBlIiBMZW5ndGhJbkJp +dHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25lIiBWYWx1ZT0iMCIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBYnNvbHV0ZSIgVmFsdWU9IjEiIC8+ +DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUGVyY2VudCIgVmFsdWU9IjIiIC8+DQog +IDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9u +aXRvcmluZ0ZpbHRlciIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0 +cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGF0YUNoYW5nZUZp +bHRlciIgQmFzZVR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVyIj4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlRyaWdnZXIiIFR5cGVOYW1lPSJ0bnM6RGF0YUNoYW5nZVRyaWdnZXIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJEZWFkYmFuZFR5cGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iRGVhZGJhbmRWYWx1ZSIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+ +DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i +RXZlbnRGaWx0ZXIiIEJhc2VUeXBlPSJ0bnM6TW9uaXRvcmluZ0ZpbHRlciI+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJOb09mU2VsZWN0Q2xhdXNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlNlbGVjdENsYXVzZXMiIFR5cGVOYW1lPSJ0bnM6U2ltcGxlQXR0 +cmlidXRlT3BlcmFuZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZWxlY3RDbGF1c2VzIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iV2hlcmVDbGF1c2UiIFR5cGVOYW1lPSJ0bnM6Q29udGVudEZpbHRlciIg +Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l +PSJBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZVNlcnZlckNhcGFiaWxpdGllc0RlZmF1bHRzIiBUeXBl +TmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmVhdFVuY2VydGFp +bkFzQmFkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQ +ZXJjZW50RGF0YUJhZCIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iUGVyY2VudERhdGFHb29kIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJVc2VTbG9wZWRFeHRyYXBvbGF0aW9uIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+ +DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i +QWdncmVnYXRlRmlsdGVyIiBCYXNlVHlwZT0idG5zOk1vbml0b3JpbmdGaWx0ZXIiPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iU3RhcnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iQWdncmVnYXRlVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlByb2Nlc3NpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpE +b3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBU +eXBlTmFtZT0idG5zOkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9uaXRvcmluZ0ZpbHRlclJl +c3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRXZlbnRGaWx0ZXJSZXN1bHQiIEJh +c2VUeXBlPSJ0bnM6TW9uaXRvcmluZ0ZpbHRlclJlc3VsdCI+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mU2VsZWN0Q2xhdXNlUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlNlbGVjdENsYXVzZVJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXND +b2RlIiBMZW5ndGhGaWVsZD0iTm9PZlNlbGVjdENsYXVzZVJlc3VsdHMiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJOb09mU2VsZWN0Q2xhdXNlRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3Bj +OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VsZWN0Q2xhdXNlRGlhZ25vc3RpY0lu +Zm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mU2VsZWN0 +Q2xhdXNlRGlhZ25vc3RpY0luZm9zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV2hlcmVDbGF1 +c2VSZXN1bHQiIFR5cGVOYW1lPSJ0bnM6Q29udGVudEZpbHRlclJlc3VsdCIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBZ2dyZWdhdGVG +aWx0ZXJSZXN1bHQiIEJhc2VUeXBlPSJ0bnM6TW9uaXRvcmluZ0ZpbHRlclJlc3VsdCI+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkU3RhcnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1l +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZFByb2Nlc3NpbmdJbnRlcnZhbCIgVHlw +ZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkQWdncmVn +YXRlQ29uZmlndXJhdGlvbiIgVHlwZU5hbWU9InRuczpBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiAv +Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 +Ik1vbml0b3JpbmdQYXJhbWV0ZXJzIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudEhhbmRsZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTYW1wbGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRv +dWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRlciIgVHlwZU5hbWU9InVhOkV4dGVu +c2lvbk9iamVjdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlF1ZXVlU2l6ZSIgVHlwZU5hbWU9 +Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNjYXJkT2xkZXN0IiBUeXBl +TmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIEJhc2VUeXBl +PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXRlbVRvTW9uaXRv +ciIgVHlwZU5hbWU9InRuczpSZWFkVmFsdWVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1v +bml0b3JpbmdNb2RlIiBUeXBlTmFtZT0idG5zOk1vbml0b3JpbmdNb2RlIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iUmVxdWVzdGVkUGFyYW1ldGVycyIgVHlwZU5hbWU9InRuczpNb25pdG9yaW5n +UGFyYW1ldGVycyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 +cmVkVHlwZSBOYW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0 +ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1l +PSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmVkSXRlbUlk +IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRT +YW1wbGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlJldmlzZWRRdWV1ZVNpemUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iRmlsdGVyUmVzdWx0IiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5z +OlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIg +VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lc3RhbXBz +VG9SZXR1cm4iIFR5cGVOYW1lPSJ0bnM6VGltZXN0YW1wc1RvUmV0dXJuIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9PZkl0ZW1zVG9DcmVhdGUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJJdGVtc1RvQ3JlYXRlIiBUeXBlTmFtZT0idG5zOk1vbml0b3Jl +ZEl0ZW1DcmVhdGVSZXF1ZXN0IiBMZW5ndGhGaWVsZD0iTm9PZkl0ZW1zVG9DcmVhdGUiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ3Jl +YXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNw +b25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFt +ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9 +InRuczpNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0i +b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBl +TmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9z +IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9Ik1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3JlZEl0ZW1JZCIgVHlwZU5hbWU9Im9w +YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRQYXJhbWV0ZXJzIiBU +eXBlTmFtZT0idG5zOk1vbml0b3JpbmdQYXJhbWV0ZXJzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk +VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vbml0b3JlZEl0ZW1Nb2RpZnlS +ZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZXZpc2VkU2FtcGxpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkUXVldWVTaXplIiBUeXBlTmFtZT0ib3BjOlVJ +bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRlclJlc3VsdCIgVHlwZU5hbWU9InVh +OkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT +dHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb2RpZnlNb25pdG9yZWRJdGVtc1JlcXVlc3QiIEJhc2VUeXBl +PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRl +ciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +U3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiBUeXBlTmFtZT0idG5zOlRpbWVzdGFtcHNUb1JldHVy +biIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZJdGVtc1RvTW9kaWZ5IiBUeXBlTmFtZT0i +b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXRlbXNUb01vZGlmeSIgVHlwZU5h +bWU9InRuczpNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZJdGVt +c1RvTW9kaWZ5IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy +ZWRUeXBlIE5hbWU9Ik1vZGlmeU1vbml0b3JlZEl0ZW1zUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpF +eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5 +cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m +UmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl +c3VsdHMiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCIgTGVuZ3RoRmll +bGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJ +bmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdu +b3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9P +ZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT +dHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXRNb25pdG9yaW5nTW9kZVJlcXVlc3QiIEJhc2VUeXBlPSJ1 +YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIg +VHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vi +c2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTW9uaXRvcmluZ01vZGUiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmluZ01vZGUiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJOb09mTW9uaXRvcmVkSXRlbUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3JlZEl0ZW1JZHMiIFR5cGVOYW1lPSJv +cGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZk1vbml0b3JlZEl0ZW1JZHMiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2V0TW9uaXRv +cmluZ01vZGVSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRl +ciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1 +c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIg +TGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2V0VHJpZ2dlcmluZ1JlcXVlc3Qi +IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVx +dWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iU3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iVHJpZ2dlcmluZ0l0ZW1JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTGlua3NUb0FkZCIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxpbmtzVG9BZGQiIFR5cGVOYW1lPSJvcGM6VUlu +dDMyIiBMZW5ndGhGaWVsZD0iTm9PZkxpbmtzVG9BZGQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mTGlua3NUb1JlbW92ZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkxpbmtzVG9SZW1vdmUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVs +ZD0iTm9PZkxpbmtzVG9SZW1vdmUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv +cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2V0VHJpZ2dlcmluZ1Jlc3BvbnNlIiBCYXNlVHlwZT0i +dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVy +IiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +Tm9PZkFkZFJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJBZGRSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5v +T2ZBZGRSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkFkZERpYWdub3N0aWNJ +bmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFkZERp +YWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0i +Tm9PZkFkZERpYWdub3N0aWNJbmZvcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZW1v +dmVSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +UmVtb3ZlUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09m +UmVtb3ZlUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZW1vdmVEaWFnbm9z +dGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS +ZW1vdmVEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3Ro +RmllbGQ9Ik5vT2ZSZW1vdmVEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlTW9uaXRvcmVkSXRlbXNS +ZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZNb25pdG9yZWRJdGVtSWRzIiBUeXBlTmFtZT0ib3Bj +OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmVkSXRlbUlkcyIgVHlwZU5h +bWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mTW9uaXRvcmVkSXRlbUlkcyIgLz4NCiAg +PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxl +dGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3Bv +bnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0i +dWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0 +aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3Ry +dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDcmVhdGVTdWJzY3Jp +cHRpb25SZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbCIgVHlwZU5h +bWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRMaWZldGlt +ZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl +cXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoIiBUeXBlTmFtZT0ib3Bj +OlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hpbmdFbmFibGVkIiBUeXBl +TmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcmlvcml0eSIgVHlw +ZU5hbWU9Im9wYzpCeXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9IkNyZWF0ZVN1YnNjcmlwdGlvblJlc3BvbnNlIiBCYXNlVHlwZT0i +dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVy +IiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +U3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iUmV2aXNlZFB1Ymxpc2hpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkTGlmZXRpbWVDb3VudCIgVHlwZU5hbWU9Im9w +YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkTWF4S2VlcEFsaXZlQ291 +bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K +ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvblJlcXVlc3QiIEJh +c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVz +dEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iU3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iUmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRv +dWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZExpZmV0aW1lQ291bnQiIFR5 +cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkTWF4 +S2VlcEFsaXZlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2giIFR5cGVOYW1lPSJvcGM6VUludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJpb3JpdHkiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4N +CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJN +b2RpZnlTdWJzY3JpcHRpb25SZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNw +b25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRQdWJsaXNoaW5nSW50 +ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2 +aXNlZExpZmV0aW1lQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iUmV2aXNlZE1heEtlZXBBbGl2ZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg +Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l +PSJTZXRQdWJsaXNoaW5nTW9kZVJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1 +ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaGluZ0VuYWJsZWQiIFR5 +cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTdWJzY3Jp +cHRpb25JZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT +dWJzY3JpcHRpb25JZHMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZlN1 +YnNjcmlwdGlvbklkcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 +Y3R1cmVkVHlwZSBOYW1lPSJTZXRQdWJsaXNoaW5nTW9kZVJlc3BvbnNlIiBCYXNlVHlwZT0idWE6 +RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBU +eXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P +ZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS +ZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRz +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9 +Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlw +ZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZv +cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO +YW1lPSJOb3RpZmljYXRpb25NZXNzYWdlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcXVlbmNlTnVtYmVyIiBUeXBlTmFtZT0ib3BjOlVJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hUaW1lIiBUeXBlTmFtZT0ib3BjOkRh +dGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vdGlmaWNhdGlvbkRhdGEiIFR5 +cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb3RpZmljYXRpb25E +YXRhIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBMZW5ndGhGaWVsZD0iTm9PZk5vdGlm +aWNhdGlvbkRhdGEiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 +dXJlZFR5cGUgTmFtZT0iTm90aWZpY2F0aW9uRGF0YSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iRGF0YUNoYW5nZU5vdGlmaWNhdGlvbiIgQmFzZVR5cGU9InRuczpOb3RpZmljYXRpb25E +YXRhIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZNb25pdG9yZWRJdGVtcyIgVHlwZU5hbWU9 +Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3JlZEl0ZW1zIiBUeXBl +TmFtZT0idG5zOk1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iIExlbmd0aEZpZWxkPSJOb09mTW9u +aXRvcmVkSXRlbXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9z +IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3Rp +Y0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlh +Z25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj +dHVyZWRUeXBlIE5hbWU9Ik1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iIEJhc2VUeXBlPSJ1YTpF +eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50SGFuZGxlIiBUeXBl +TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFt +ZT0idWE6RGF0YVZhbHVlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9IkV2ZW50Tm90aWZpY2F0aW9uTGlzdCIgQmFzZVR5cGU9InRuczpO +b3RpZmljYXRpb25EYXRhIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFdmVudHMiIFR5cGVO +YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVudHMiIFR5cGVOYW1l +PSJ0bnM6RXZlbnRGaWVsZExpc3QiIExlbmd0aEZpZWxkPSJOb09mRXZlbnRzIiAvPg0KICA8L29w +YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkV2ZW50Rmll +bGRMaXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkNsaWVudEhhbmRsZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb09mRXZlbnRGaWVsZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJFdmVudEZpZWxkcyIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIExlbmd0aEZp +ZWxkPSJOb09mRXZlbnRGaWVsZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv +cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeUV2ZW50RmllbGRMaXN0IiBCYXNlVHlwZT0i +dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFdmVudEZpZWxk +cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50Rmll +bGRzIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZFdmVudEZpZWxkcyIg +Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l +PSJTdGF0dXNDaGFuZ2VOb3RpZmljYXRpb24iIEJhc2VUeXBlPSJ0bnM6Tm90aWZpY2F0aW9uRGF0 +YSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2Rl +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm8iIFR5cGVOYW1lPSJ1YTpE +aWFnbm9zdGljSW5mbyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 +Y3R1cmVkVHlwZSBOYW1lPSJTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiIEJhc2VUeXBlPSJ1 +YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWQi +IFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VxdWVuY2VO +dW1iZXIiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N +Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlB1Ymxpc2hSZXF1ZXN0IiBCYXNlVHlwZT0i +dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIi +IFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v +T2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50cyIgVHlwZU5h +bWU9InRuczpTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiIExlbmd0aEZpZWxkPSJOb09mU3Vi +c2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJQdWJsaXNoUmVzcG9uc2UiIEJhc2VUeXBlPSJ1 +YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIi +IFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT +dWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJOb09mQXZhaWxhYmxlU2VxdWVuY2VOdW1iZXJzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXZhaWxhYmxlU2VxdWVuY2VOdW1iZXJzIiBUeXBlTmFt +ZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBdmFpbGFibGVTZXF1ZW5jZU51bWJlcnMi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb3JlTm90aWZpY2F0aW9ucyIgVHlwZU5hbWU9Im9w +YzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm90aWZpY2F0aW9uTWVzc2FnZSIg +VHlwZU5hbWU9InRuczpOb3RpZmljYXRpb25NZXNzYWdlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZS +ZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlw +ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZv +cyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0 +aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk +VHlwZSBOYW1lPSJSZXB1Ymxpc2hSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVx +dWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBl +TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldHJhbnNtaXRTZXF1 +ZW5jZU51bWJlciIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVwdWJsaXNoUmVzcG9uc2UiIEJh +c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9u +c2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb3RpZmljYXRpb25NZXNzYWdlIiBUeXBlTmFtZT0idG5zOk5vdGlmaWNhdGlvbk1l +c3NhZ2UiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iVHJhbnNmZXJSZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXZhaWxhYmxlU2VxdWVuY2VOdW1iZXJzIiBU +eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXZhaWxhYmxlU2Vx +dWVuY2VOdW1iZXJzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBdmFp +bGFibGVTZXF1ZW5jZU51bWJlcnMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv +cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVHJhbnNmZXJTdWJzY3JpcHRpb25zUmVxdWVzdCIgQmFz +ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0 +SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJOb09mU3Vic2NyaXB0aW9uSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWRzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVu +Z3RoRmllbGQ9Ik5vT2ZTdWJzY3JpcHRpb25JZHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT +ZW5kSW5pdGlhbFZhbHVlcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRyYW5zZmVyU3Vic2Ny +aXB0aW9uc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idG5zOlRyYW5z +ZmVyUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0lu +Zm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZVN1YnNjcmlwdGlv +bnNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTdWJzY3JpcHRpb25JZHMiIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZHMiIFR5cGVOYW1lPSJv +cGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZlN1YnNjcmlwdGlvbklkcyIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVTdWJz +Y3JpcHRpb25zUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFk +ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJ +bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0 +dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8i +IExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk +VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJ1aWxkSW5mbyIgQmFzZVR5cGU9 +InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcm9kdWN0VXJpIiBU +eXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1hbnVmYWN0dXJl +ck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJv +ZHVjdE5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +U29mdHdhcmVWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkJ1aWxkTnVtYmVyIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkJ1aWxkRGF0ZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJSZWR1bmRhbmN5 +U3VwcG9ydCIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt +ZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ29s +ZCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iV2FybSIgVmFs +dWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSG90IiBWYWx1ZT0iMyIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJUcmFuc3BhcmVudCIgVmFsdWU9IjQi +IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSG90QW5kTWlycm9yZWQiIFZhbHVl +PSI1IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBl +IE5hbWU9IlNlcnZlclN0YXRlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0 +ZWRWYWx1ZSBOYW1lPSJSdW5uaW5nIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJGYWlsZWQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9Ik5vQ29uZmlndXJhdGlvbiIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk +VmFsdWUgTmFtZT0iU3VzcGVuZGVkIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJTaHV0ZG93biIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs +dWUgTmFtZT0iVGVzdCIgVmFsdWU9IjUiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt +ZT0iQ29tbXVuaWNhdGlvbkZhdWx0IiBWYWx1ZT0iNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJVbmtub3duIiBWYWx1ZT0iNyIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+ +DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIg +QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2 +ZXJJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2 +aWNlTGV2ZWwiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNl +cnZlclN0YXRlIiBUeXBlTmFtZT0idG5zOlNlcnZlclN0YXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkVuZHBvaW50VXJsTGlzdERh +dGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ik5vT2ZFbmRwb2ludFVybExpc3QiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybExpc3QiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5n +dGhGaWVsZD0iTm9PZkVuZHBvaW50VXJsTGlzdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ +DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJOZXR3b3JrR3JvdXBEYXRhVHlwZSIgQmFz +ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJV +cmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5l +dHdvcmtQYXRocyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5ldHdvcmtQYXRocyIgVHlwZU5hbWU9InRuczpFbmRwb2ludFVybExpc3REYXRhVHlwZSIgTGVu +Z3RoRmllbGQ9Ik5vT2ZOZXR3b3JrUGF0aHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K +DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNz +RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iU2FtcGxpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJNb25pdG9yZWRJdGVtQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4TW9uaXRvcmVkSXRlbUNvdW50IiBUeXBlTmFtZT0i +b3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2FibGVkTW9uaXRvcmVkSXRl +bUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ +DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXJ2ZXJEaWFnbm9zdGljc1N1bW1hcnlE +YXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJTZXJ2ZXJWaWV3Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iQ3VycmVudFNlc3Npb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdW11bGF0ZWRTZXNzaW9uQ291bnQiIFR5cGVOYW1lPSJv +cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlSZWplY3RlZFNlc3Np +b25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS +ZWplY3RlZFNlc3Npb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJTZXNzaW9uVGltZW91dENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlc3Npb25BYm9ydENvdW50IiBUeXBlTmFtZT0ib3BjOlVJ +bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1cnJlbnRTdWJzY3JpcHRpb25Db3VudCIg +VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdW11bGF0ZWRT +dWJzY3JpcHRpb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJQdWJsaXNoaW5nSW50ZXJ2YWxDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eVJlamVjdGVkUmVxdWVzdHNDb3VudCIgVHlw +ZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWplY3RlZFJlcXVl +c3RzQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNlcnZlclN0YXR1c0RhdGFUeXBlIiBC +YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXJ0 +VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1 +cnJlbnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iU3RhdGUiIFR5cGVOYW1lPSJ0bnM6U2VydmVyU3RhdGUiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJCdWlsZEluZm8iIFR5cGVOYW1lPSJ0bnM6QnVpbGRJbmZvIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iU2Vjb25kc1RpbGxTaHV0ZG93biIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJTaHV0ZG93blJlYXNvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXpl +ZFRleHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp +b25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6 +Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvbk5hbWUiIFR5cGVOYW1lPSJv +cGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50RGVzY3JpcHRpb24iIFR5 +cGVOYW1lPSJ0bnM6QXBwbGljYXRpb25EZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlNlcnZlclVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJFbmRwb2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb09mTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9 +Ik5vT2ZMb2NhbGVJZHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBY3R1YWxTZXNzaW9uVGlt +ZW91dCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhS +ZXNwb25zZU1lc3NhZ2VTaXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkNsaWVudENvbm5lY3Rpb25UaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50TGFzdENvbnRhY3RUaW1lIiBUeXBlTmFtZT0i +b3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3VycmVudFN1YnNjcmlwdGlv +bnNDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJD +dXJyZW50TW9uaXRvcmVkSXRlbXNDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJDdXJyZW50UHVibGlzaFJlcXVlc3RzSW5RdWV1ZSIgVHlwZU5hbWU9 +Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUb3RhbFJlcXVlc3RDb3VudCIg +VHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iVW5hdXRob3JpemVkUmVxdWVzdENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlYWRDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291 +bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSGlzdG9yeVJlYWRDb3VudCIg +VHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iV3JpdGVDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSGlzdG9yeVVwZGF0ZUNvdW50IiBUeXBlTmFtZT0idG5z +OlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDYWxsQ291 +bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2Vydmlj +ZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vZGlmeU1vbml0b3Jl +ZEl0ZW1zQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlNldE1vbml0b3JpbmdNb2RlQ291bnQiIFR5cGVOYW1lPSJ0bnM6 +U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNldFRyaWdn +ZXJpbmdDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iRGVsZXRlTW9uaXRvcmVkSXRlbXNDb3VudCIgVHlwZU5hbWU9InRu +czpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3JlYXRl +U3Vic2NyaXB0aW9uQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvbkNvdW50IiBUeXBlTmFt +ZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT +ZXRQdWJsaXNoaW5nTW9kZUNvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5 +cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoQ291bnQiIFR5cGVOYW1lPSJ0bnM6 +U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcHVibGlz +aENvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJUcmFuc2ZlclN1YnNjcmlwdGlvbnNDb3VudCIgVHlwZU5hbWU9InRuczpT +ZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVsZXRlU3Vi +c2NyaXB0aW9uc0NvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGROb2Rlc0NvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZp +Y2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGRSZWZlcmVuY2Vz +Q291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IkRlbGV0ZU5vZGVzQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50 +ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNDb3Vu +dCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iQnJvd3NlQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlw +ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5leHRDb3VudCIgVHlwZU5hbWU9InRu +czpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNs +YXRlQnJvd3NlUGF0aHNUb05vZGVJZHNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRl +ckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVlcnlGaXJzdENvdW50IiBUeXBl +TmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJRdWVyeU5leHRDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVnaXN0ZXJOb2Rlc0NvdW50IiBUeXBlTmFtZT0idG5z +OlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVbnJlZ2lz +dGVyTm9kZXNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0K +ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNl +c3Npb25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P +YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6Tm9k +ZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50VXNlcklkT2ZTZXNzaW9uIiBUeXBl +TmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZDbGllbnRVc2Vy +SWRIaXN0b3J5IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +Q2xpZW50VXNlcklkSGlzdG9yeSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJO +b09mQ2xpZW50VXNlcklkSGlzdG9yeSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF1dGhlbnRp +Y2F0aW9uTWVjaGFuaXNtIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkVuY29kaW5nIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlRyYW5zcG9ydFByb3RvY29sIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TW9kZSIgVHlwZU5hbWU9InRuczpNZXNzYWdlU2VjdXJp +dHlNb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlQb2xpY3lVcmkiIFR5cGVO +YW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50Q2VydGlmaWNh +dGUiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ +DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBC +YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRvdGFs +Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXJy +b3JDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3RhdHVzUmVzdWx0IiBCYXNlVHlwZT0i +dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5 +cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3Rp +Y0luZm8iIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl +ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTdWJzY3JpcHRpb25EaWFnbm9z +dGljc0RhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlByaW9yaXR5IiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4S2VlcEFsaXZlQ291bnQiIFR5cGVOYW1lPSJvcGM6 +VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4TGlmZXRpbWVDb3VudCIgVHlwZU5h +bWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhOb3RpZmljYXRpb25z +UGVyUHVibGlzaCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJQdWJsaXNoaW5nRW5hYmxlZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTW9kaWZ5Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iRW5hYmxlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iRGlzYWJsZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcHVibGlzaFJlcXVlc3RDb3VudCIgVHlwZU5hbWU9Im9w +YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXB1Ymxpc2hNZXNzYWdlUmVxdWVz +dENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl +cHVibGlzaE1lc3NhZ2VDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJUcmFuc2ZlclJlcXVlc3RDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc2ZlcnJlZFRvQWx0Q2xpZW50Q291bnQiIFR5cGVO +YW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNmZXJyZWRUb1Nh +bWVDbGllbnRDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJQdWJsaXNoUmVxdWVzdENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkRhdGFDaGFuZ2VOb3RpZmljYXRpb25zQ291bnQiIFR5cGVOYW1lPSJv +cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnROb3RpZmljYXRpb25zQ291 +bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm90aWZp +Y2F0aW9uc0NvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkxhdGVQdWJsaXNoUmVxdWVzdENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkN1cnJlbnRLZWVwQWxpdmVDb3VudCIgVHlwZU5hbWU9Im9wYzpV +SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdXJyZW50TGlmZXRpbWVDb3VudCIgVHlw +ZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVbmFja25vd2xlZGdl +ZE1lc3NhZ2VDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJEaXNjYXJkZWRNZXNzYWdlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmVkSXRlbUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2FibGVkTW9uaXRvcmVkSXRlbUNvdW50IiBU +eXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3JpbmdR +dWV1ZU92ZXJmbG93Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTmV4dFNlcXVlbmNlTnVtYmVyIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50UXVldWVPdmVyRmxvd0NvdW50IiBUeXBlTmFtZT0ib3Bj +OlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVk +VHlwZSBOYW1lPSJNb2RlbENoYW5nZVN0cnVjdHVyZVZlcmJNYXNrIiBMZW5ndGhJbkJpdHM9IjMy +Ij4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlQWRkZWQiIFZhbHVlPSIxIiAv +Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vZGVEZWxldGVkIiBWYWx1ZT0iMiIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWZlcmVuY2VBZGRlZCIgVmFsdWU9 +IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlRGVsZXRlZCIg +VmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGF0YVR5cGVDaGFu +Z2VkIiBWYWx1ZT0iMTYiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3Ry +dWN0dXJlZFR5cGUgTmFtZT0iTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgQmFzZVR5cGU9 +InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZmZlY3RlZCIgVHlw +ZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFmZmVjdGVkVHlwZSIg +VHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZlcmIiIFR5cGVO +YW1lPSJvcGM6Qnl0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 +Y3R1cmVkVHlwZSBOYW1lPSJTZW1hbnRpY0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiBCYXNlVHlw +ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFmZmVjdGVkIiBU +eXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWZmZWN0ZWRUeXBl +IiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 +b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJhbmdlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvdyIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJIaWdoIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAg +PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFVUlu +Zm9ybWF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5hbWVzcGFjZVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJVbml0SWQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQi +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFt +ZT0iQXhpc1NjYWxlRW51bWVyYXRpb24iIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IkxpbmVhciIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJh +dGVkVmFsdWUgTmFtZT0iTG9nIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 +ZSBOYW1lPSJMbiIgVmFsdWU9IjIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxv +cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ29tcGxleE51bWJlclR5cGUiIEJhc2VUeXBlPSJ1YTpF +eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVhbCIgVHlwZU5hbWU9Im9w +YzpGbG9hdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkltYWdpbmFyeSIgVHlwZU5hbWU9Im9w +YzpGbG9hdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk +VHlwZSBOYW1lPSJEb3VibGVDb21wbGV4TnVtYmVyVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lv +bk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWFsIiBUeXBlTmFtZT0ib3BjOkRvdWJs +ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkltYWdpbmFyeSIgVHlwZU5hbWU9Im9wYzpEb3Vi +bGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iQXhpc0luZm9ybWF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkVuZ2luZWVyaW5nVW5pdHMiIFR5cGVOYW1lPSJ0bnM6RVVJbmZv +cm1hdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVVUmFuZ2UiIFR5cGVOYW1lPSJ0bnM6 +UmFuZ2UiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaXRsZSIgVHlwZU5hbWU9InVhOkxvY2Fs +aXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBeGlzU2NhbGVUeXBlIiBUeXBlTmFt +ZT0idG5zOkF4aXNTY2FsZUVudW1lcmF0aW9uIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P +ZkF4aXNTdGVwcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkF4aXNTdGVwcyIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIExlbmd0aEZpZWxkPSJOb09mQXhpc1N0 +ZXBzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl +IE5hbWU9IlhWVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJYIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlZhbHVlIiBUeXBlTmFtZT0ib3BjOkZsb2F0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlByb2dyYW1EaWFnbm9zdGljRGF0YVR5 +cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +Q3JlYXRlU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iQ3JlYXRlQ2xpZW50TmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJJbnZvY2F0aW9uQ3JlYXRpb25UaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVU +aW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdFRyYW5zaXRpb25UaW1lIiBUeXBlTmFt +ZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZENhbGwi +IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhv +ZFNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5vT2ZMYXN0TWV0aG9kSW5wdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kSW5wdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJ0 +bnM6QXJndW1lbnQiIExlbmd0aEZpZWxkPSJOb09mTGFzdE1ldGhvZElucHV0QXJndW1lbnRzIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxhc3RNZXRob2RPdXRwdXRBcmd1bWVudHMiIFR5 +cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kT3V0 +cHV0QXJndW1lbnRzIiBUeXBlTmFtZT0idG5zOkFyZ3VtZW50IiBMZW5ndGhGaWVsZD0iTm9PZkxh +c3RNZXRob2RPdXRwdXRBcmd1bWVudHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0 +aG9kQ2FsbFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJMYXN0TWV0aG9kUmV0dXJuU3RhdHVzIiBUeXBlTmFtZT0idG5zOlN0YXR1c1Jlc3VsdCIg +Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l +PSJBbm5vdGF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik1lc3NhZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iVXNlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iQW5ub3RhdGlvblRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogIDwv +b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRXhjZXB0 +aW9uRGV2aWF0aW9uRm9ybWF0IiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0 +ZWRWYWx1ZSBOYW1lPSJBYnNvbHV0ZVZhbHVlIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1l +cmF0ZWRWYWx1ZSBOYW1lPSJQZXJjZW50T2ZWYWx1ZSIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iUGVyY2VudE9mUmFuZ2UiIFZhbHVlPSIyIiAvPg0KICAgIDxv +cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlBlcmNlbnRPZkVVUmFuZ2UiIFZhbHVlPSIzIiAvPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVua25vd24iIFZhbHVlPSI0IiAvPg0KICA8 +L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KPC9vcGM6VHlwZURpY3Rpb25hcnk+ + + + + NamespaceUri + A URI that uniquely identifies the dictionary. + + i=68 + i=7617 + + + http://opcfoundation.org/UA/ + + + + TrustListDataType + + i=69 + i=7617 + + + TrustListDataType + + + + Argument + + i=69 + i=7617 + + + Argument + + + + EnumValueType + + i=69 + i=7617 + + + EnumValueType + + + + OptionSet + + i=69 + i=7617 + + + OptionSet + + + + Union + + i=69 + i=7617 + + + Union + + + + 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 + + + + Annotation + + i=69 + i=7617 + + + Annotation + + + diff --git a/schemas/Opc.Ua.Services.wsdl b/schemas/Opc.Ua.Services.wsdl index 08a531f4f..1adf15a0c 100644 --- a/schemas/Opc.Ua.Services.wsdl +++ b/schemas/Opc.Ua.Services.wsdl @@ -1,650 +1,650 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/schemas/Opc.Ua.Types.bsd b/schemas/Opc.Ua.Types.bsd index 03a59f521..696591e66 100644 --- a/schemas/Opc.Ua.Types.bsd +++ b/schemas/Opc.Ua.Types.bsd @@ -1,2391 +1,2378 @@ - - - - - - - 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. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - An image encoded in BMP format. - - - - An image encoded in GIF format. - - - - An image encoded in JPEG format. - - - - An image encoded in PNG format. - - - - A mask of 32 bits that can be updated individually by using the top 32 bits as a mask. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The type of identifier used in a node id. - - - - - - - - A mask specifying the class of the node. - - - - - - - - - - - - - Specifies the attributes which belong to all nodes. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Specifies the attributes which belong to object nodes. - - - - - - - - - - - - - - Specifies the attributes which belong to object type nodes. - - - - - - - - - - - - - - Specifies the attributes which belong to variable nodes. - - - - - - - - - - - - - - - - - - - - - - Specifies the attributes which belong to variable type nodes. - - - - - - - - - - - - - - - - - - - Specifies the attributes which belong to reference type nodes. - - - - - - - - - - - - - - - - Specifies the attributes which belong to method nodes. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Specifies a reference which belongs to a node. - - - - - - - An argument for a method. - - - - - - - - - - A mapping between a value of an enumerated type and a name and description. - - - - - - - This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask. - - - - - - This abstract DataType is the base DataType for all union DataTypes. - - - - A string normalized based on the rules in the unicode specification. - - - - An arbitraty numeric value. - - - - A period of time formatted as defined in ISO 8601-2000. - - - - A time formatted as defined in ISO 8601-2000. - - - - A date formatted as defined in ISO 8601-2000. - - - - A period of time measured in milliseconds. - - - - A date/time value specified in Universal Coordinated Time (UTC). - - - - An identifier for a user locale. - - - - - - - - - A numeric identifier for an object. - - - - The types of applications. - - - - - - - - Describes an application and how to find it. - - - - - - - - - - - - The header passed with every server request. - - - - - - - - - - - The header passed with every server response. - - - - - - - - - - - The response returned by all services when there is a service level error. - - - - - Finds the servers known to the discovery server. - - - - - - - - - - Finds the servers known to the discovery server. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A certificate for an instance of an application. - - - - The type of security to use on a message. - - - - - - - - The possible user token types. - - - - - - - - - Describes a user token that can be used with a server. - - - - - - - - - The description of a endpoint that can be used to access a server. - - - - - - - - - - - - - Gets the endpoints used by the server. - - - - - - - - - - Gets the endpoints used by the server. - - - - - - - The information required to register a server with a discovery server. - - - - - - - - - - - - - - Registers a server with the discovery server. - - - - - - Registers a server with the discovery server. - - - - - A base type for discovery configuration information. - - - - The discovery information needed for mDNS registration. - - - - - - - - - - - - - - - - - - - - - - Indicates whether a token if being created or renewed. - - - - - - The token that identifies a set of keys for an active secure channel. - - - - - - - - Creates a secure channel with a server. - - - - - - - - - - Creates a secure channel with a server. - - - - - - - - Closes a secure channel. - - - - - Closes a secure channel. - - - - - A software certificate with a digital signature. - - - - - - A unique identifier for a session used to authenticate requests. - - - - A digital signature. - - - - - - Creates a new session with the server. - - - - - - - - - - - - - Creates a new session with the server. - - - - - - - - - - - - - - - - A base type for a user identity token. - - - - - A token representing an anonymous user. - - - - - A token representing a user identified by a user name and password. - - - - - - - - A token representing a user identified by an X509 certificate. - - - - - - - - - - - A token representing a user identified by a WS-Security XML token. - - - - - - - Activates a session with the server. - - - - - - - - - - - - Activates a session with the server. - - - - - - - - - - Closes a session with the server. - - - - - - Closes a session with the server. - - - - - Cancels an outstanding request. - - - - - - Cancels an outstanding request. - - - - - - The bits used to specify default attributes for a new node. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The base attributes for all nodes. - - - - - - - - - The attributes for an object node. - - - - - - - - - - The attributes for a variable node. - - - - - - - - - - - - - - - - - - The attributes for a method node. - - - - - - - - - - - The attributes for an object type node. - - - - - - - - - - The attributes for a variable type node. - - - - - - - - - - - - - - - The attributes for a reference type node. - - - - - - - - - - - - The attributes for a data type node. - - - - - - - - - - The attributes for a view node. - - - - - - - - - - - A request to add a node to the server address space. - - - - - - - - - - - A result of an add node operation. - - - - - - Adds one or more nodes to the server address space. - - - - - - - Adds one or more nodes to the server address space. - - - - - - - - - A request to add a reference to the server address space. - - - - - - - - - - Adds one or more references to the server address space. - - - - - - - Adds one or more references to the server address space. - - - - - - - - - A request to delete a node to the server address space. - - - - - - Delete one or more nodes from the server address space. - - - - - - - Delete one or more nodes from the server address space. - - - - - - - - - A request to delete a node from the server address space. - - - - - - - - - Delete one or more references from the server address space. - - - - - - - Delete one or more references from the server address space. - - - - - - - - - Define bits used to indicate which attributes are writable. - - - - - - - - - - - - - - - - - - - - - - - - - - - The directions of the references to return. - - - - - - - The view to browse. - - - - - - - A request to browse the the references from a node. - - - - - - - - - - A bit mask which specifies what should be returned in a browse response. - - - - - - - - - - - - - - The description of a reference. - - - - - - - - - - - An identifier for a suspended query or browse operation. - - - - The result of a browse operation. - - - - - - - - Browse the references for one or more nodes from the server address space. - - - - - - - - - Browse the references for one or more nodes from the server address space. - - - - - - - - - Continues one or more browse operations. - - - - - - - - Continues one or more browse operations. - - - - - - - - - An element in a relative path. - - - - - - - - A relative path constructed from reference types and browse names. - - - - - - A request to translate a path into a node id. - - - - - - The target of the translated path. - - - - - - The result of a translate opearation. - - - - - - - Translates one or more paths in the server address space. - - - - - - - Translates one or more paths in the server address space. - - - - - - - - - Registers one or more nodes for repeated use within a session. - - - - - - - Registers one or more nodes for repeated use within a session. - - - - - - - Unregisters one or more previously registered nodes. - - - - - - - Unregisters one or more previously registered nodes. - - - - - A monotonically increasing value. - - - - Specifies a range of array indexes. - - - - A time value specified as HH:MM:SS.SSS. - - - - A date value. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A simple enumerated type used for testing. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + 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. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An image encoded in BMP format. + + + + An image encoded in GIF format. + + + + An image encoded in JPEG format. + + + + An image encoded in PNG format. + + + + A mask of 32 bits that can be updated individually by using the top 32 bits as a mask. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The type of identifier used in a node id. + + + + + + + + A mask specifying the class of the node. + + + + + + + + + + + + + Specifies the attributes which belong to all nodes. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Specifies the attributes which belong to object nodes. + + + + + + + + + + + + + + Specifies the attributes which belong to object type nodes. + + + + + + + + + + + + + + Specifies the attributes which belong to variable nodes. + + + + + + + + + + + + + + + + + + + + + + Specifies the attributes which belong to variable type nodes. + + + + + + + + + + + + + + + + + + + Specifies the attributes which belong to reference type nodes. + + + + + + + + + + + + + + + + Specifies the attributes which belong to method nodes. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Specifies a reference which belongs to a node. + + + + + + + An argument for a method. + + + + + + + + + + A mapping between a value of an enumerated type and a name and description. + + + + + + + This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask. + + + + + + This abstract DataType is the base DataType for all union DataTypes. + + + + A string normalized based on the rules in the unicode specification. + + + + An arbitraty numeric value. + + + + A period of time formatted as defined in ISO 8601-2000. + + + + A time formatted as defined in ISO 8601-2000. + + + + A date formatted as defined in ISO 8601-2000. + + + + A period of time measured in milliseconds. + + + + A date/time value specified in Universal Coordinated Time (UTC). + + + + An identifier for a user locale. + + + + + + + + + A numeric identifier for an object. + + + + The types of applications. + + + + + + + + Describes an application and how to find it. + + + + + + + + + + + + The header passed with every server request. + + + + + + + + + + + The header passed with every server response. + + + + + + + + + + + The response returned by all services when there is a service level error. + + + + + Finds the servers known to the discovery server. + + + + + + + + + + Finds the servers known to the discovery server. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A certificate for an instance of an application. + + + + The type of security to use on a message. + + + + + + + + The possible user token types. + + + + + + + + Describes a user token that can be used with a server. + + + + + + + + + The description of a endpoint that can be used to access a server. + + + + + + + + + + + + + Gets the endpoints used by the server. + + + + + + + + + + Gets the endpoints used by the server. + + + + + + + The information required to register a server with a discovery server. + + + + + + + + + + + + + + Registers a server with the discovery server. + + + + + + Registers a server with the discovery server. + + + + + A base type for discovery configuration information. + + + + The discovery information needed for mDNS registration. + + + + + + + + + + + + + + + + + + + + + + Indicates whether a token if being created or renewed. + + + + + + The token that identifies a set of keys for an active secure channel. + + + + + + + + Creates a secure channel with a server. + + + + + + + + + + Creates a secure channel with a server. + + + + + + + + Closes a secure channel. + + + + + Closes a secure channel. + + + + + A software certificate with a digital signature. + + + + + + A unique identifier for a session used to authenticate requests. + + + + A digital signature. + + + + + + Creates a new session with the server. + + + + + + + + + + + + + Creates a new session with the server. + + + + + + + + + + + + + + + + A base type for a user identity token. + + + + + A token representing an anonymous user. + + + + + A token representing a user identified by a user name and password. + + + + + + + + A token representing a user identified by an X509 certificate. + + + + + + A token representing a user identified by a WS-Security XML token. + + + + + + + Activates a session with the server. + + + + + + + + + + + + Activates a session with the server. + + + + + + + + + + Closes a session with the server. + + + + + + Closes a session with the server. + + + + + Cancels an outstanding request. + + + + + + Cancels an outstanding request. + + + + + + The bits used to specify default attributes for a new node. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The base attributes for all nodes. + + + + + + + + + The attributes for an object node. + + + + + + + + + + The attributes for a variable node. + + + + + + + + + + + + + + + + + + The attributes for a method node. + + + + + + + + + + + The attributes for an object type node. + + + + + + + + + + The attributes for a variable type node. + + + + + + + + + + + + + + + The attributes for a reference type node. + + + + + + + + + + + + The attributes for a data type node. + + + + + + + + + + The attributes for a view node. + + + + + + + + + + + A request to add a node to the server address space. + + + + + + + + + + + A result of an add node operation. + + + + + + Adds one or more nodes to the server address space. + + + + + + + Adds one or more nodes to the server address space. + + + + + + + + + A request to add a reference to the server address space. + + + + + + + + + + Adds one or more references to the server address space. + + + + + + + Adds one or more references to the server address space. + + + + + + + + + A request to delete a node to the server address space. + + + + + + Delete one or more nodes from the server address space. + + + + + + + Delete one or more nodes from the server address space. + + + + + + + + + A request to delete a node from the server address space. + + + + + + + + + Delete one or more references from the server address space. + + + + + + + Delete one or more references from the server address space. + + + + + + + + + Define bits used to indicate which attributes are writable. + + + + + + + + + + + + + + + + + + + + + + + + + + + The directions of the references to return. + + + + + + + + The view to browse. + + + + + + + A request to browse the the references from a node. + + + + + + + + + + A bit mask which specifies what should be returned in a browse response. + + + + + + + + + + + + + + The description of a reference. + + + + + + + + + + + An identifier for a suspended query or browse operation. + + + + The result of a browse operation. + + + + + + + + Browse the references for one or more nodes from the server address space. + + + + + + + + + Browse the references for one or more nodes from the server address space. + + + + + + + + + Continues one or more browse operations. + + + + + + + + Continues one or more browse operations. + + + + + + + + + An element in a relative path. + + + + + + + + A relative path constructed from reference types and browse names. + + + + + + A request to translate a path into a node id. + + + + + + The target of the translated path. + + + + + + The result of a translate opearation. + + + + + + + Translates one or more paths in the server address space. + + + + + + + Translates one or more paths in the server address space. + + + + + + + + + Registers one or more nodes for repeated use within a session. + + + + + + + Registers one or more nodes for repeated use within a session. + + + + + + + Unregisters one or more previously registered nodes. + + + + + + + Unregisters one or more previously registered nodes. + + + + + A monotonically increasing value. + + + + Specifies a range of array indexes. + + + + A time value specified as HH:MM:SS.SSS. + + + + A date value. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/schemas/Opc.Ua.Types.xsd b/schemas/Opc.Ua.Types.xsd index 8db824205..fe50bb4fd 100644 --- a/schemas/Opc.Ua.Types.xsd +++ b/schemas/Opc.Ua.Types.xsd @@ -1,3938 +1,3894 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The type of identifier used in a node id. - - - - - - - - - - - - - - - - - - - - A mask specifying the class of the node. - - - - - - - - - - - - - - - - - - Specifies the attributes which belong to all nodes. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Specifies the attributes which belong to object nodes. - - - - - - - - - - - - - - Specifies the attributes which belong to object type nodes. - - - - - - - - - - - - - - Specifies the attributes which belong to variable nodes. - - - - - - - - - - - - - - - - - - - - - Specifies the attributes which belong to variable type nodes. - - - - - - - - - - - - - - - - - - Specifies the attributes which belong to reference type nodes. - - - - - - - - - - - - - - - - Specifies the attributes which belong to method nodes. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Specifies a reference which belongs to a node. - - - - - - - - - - - - - - - - - - - An argument for a method. - - - - - - - - - - - - - - - - - - - - - A mapping between a value of an enumerated type and a name and description. - - - - - - - - - - - - - - - - - - - This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask. - - - - - - - - - - - - - - - - - - This abstract DataType is the base DataType for all union DataTypes. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The types of applications. - - - - - - - - - - - - - Describes an application and how to find it. - - - - - - - - - - - - - - - - - - - - - - - The header passed with every server request. - - - - - - - - - - - - - - - - The header passed with every server response. - - - - - - - - - - - - - - - The response returned by all services when there is a service level error. - - - - - - - - - - Finds the servers known to the discovery server. - - - - - - - - - - - - - Finds the servers known to the discovery server. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The type of security to use on a message. - - - - - - - - - - - - - The possible user token types. - - - - - - - - - - - - - - Describes a user token that can be used with a server. - - - - - - - - - - - - - - - - - - - - - The description of a endpoint that can be used to access a server. - - - - - - - - - - - - - - - - - - - - - - - - Gets the endpoints used by the server. - - - - - - - - - - - - - Gets the endpoints used by the server. - - - - - - - - - - - The information required to register a server with a discovery server. - - - - - - - - - - - - - - - - - - - - - - - - Registers a server with the discovery server. - - - - - - - - - - - Registers a server with the discovery server. - - - - - - - - - - A base type for discovery configuration information. - - - - - - - - - The discovery information needed for mDNS registration. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Indicates whether a token if being created or renewed. - - - - - - - - - - - The token that identifies a set of keys for an active secure channel. - - - - - - - - - - - - - Creates a secure channel with a server. - - - - - - - - - - - - - - - Creates a secure channel with a server. - - - - - - - - - - - - - Closes a secure channel. - - - - - - - - - - Closes a secure channel. - - - - - - - - - - A software certificate with a digital signature. - - - - - - - - - - - - - - - - - - - - A digital signature. - - - - - - - - - - - Creates a new session with the server. - - - - - - - - - - - - - - - - - - Creates a new session with the server. - - - - - - - - - - - - - - - - - - - A base type for a user identity token. - - - - - - - - - - A token representing an anonymous user. - - - - - - - - - - - - - A token representing a user identified by a user name and password. - - - - - - - - - - - - - - - - A token representing a user identified by an X509 certificate. - - - - - - - - - - - - - - - - - - - - - - - - - A token representing a user identified by a WS-Security XML token. - - - - - - - - - - - - - - - Activates a session with the server. - - - - - - - - - - - - - - - Activates a session with the server. - - - - - - - - - - - - - Closes a session with the server. - - - - - - - - - - - Closes a session with the server. - - - - - - - - - - Cancels an outstanding request. - - - - - - - - - - - Cancels an outstanding request. - - - - - - - - - - - The bits used to specify default attributes for a new node. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The base attributes for all nodes. - - - - - - - - - - - - - - The attributes for an object node. - - - - - - - - - - - - - - The attributes for a variable node. - - - - - - - - - - - - - - - - - - - - - The attributes for a method node. - - - - - - - - - - - - - - - The attributes for an object type node. - - - - - - - - - - - - - - The attributes for a variable type node. - - - - - - - - - - - - - - - - - - The attributes for a reference type node. - - - - - - - - - - - - - - - - The attributes for a data type node. - - - - - - - - - - - - - - The attributes for a view node. - - - - - - - - - - - - - - - A request to add a node to the server address space. - - - - - - - - - - - - - - - - - - - - - - - A result of an add node operation. - - - - - - - - - - - - - - - - - - Adds one or more nodes to the server address space. - - - - - - - - - - - Adds one or more nodes to the server address space. - - - - - - - - - - - - A request to add a reference to the server address space. - - - - - - - - - - - - - - - - - - - - - - Adds one or more references to the server address space. - - - - - - - - - - - Adds one or more references to the server address space. - - - - - - - - - - - - A request to delete a node to the server address space. - - - - - - - - - - - - - - - - - - Delete one or more nodes from the server address space. - - - - - - - - - - - Delete one or more nodes from the server address space. - - - - - - - - - - - - A request to delete a node from the server address space. - - - - - - - - - - - - - - - - - - - - - Delete one or more references from the server address space. - - - - - - - - - - - Delete one or more references from the server address space. - - - - - - - - - - - - Define bits used to indicate which attributes are writable. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The directions of the references to return. - - - - - - - - - - - - The view to browse. - - - - - - - - - - - - A request to browse the the references from a node. - - - - - - - - - - - - - - - - - - - - - - A bit mask which specifies what should be returned in a browse response. - - - - - - - - - - - - - - - - - - - The description of a reference. - - - - - - - - - - - - - - - - - - - - - - - - - The result of a browse operation. - - - - - - - - - - - - - - - - - - - Browse the references for one or more nodes from the server address space. - - - - - - - - - - - - - Browse the references for one or more nodes from the server address space. - - - - - - - - - - - - Continues one or more browse operations. - - - - - - - - - - - - Continues one or more browse operations. - - - - - - - - - - - - An element in a relative path. - - - - - - - - - - - - - - - - - - - - A relative path constructed from reference types and browse names. - - - - - - - - - - A request to translate a path into a node id. - - - - - - - - - - - - - - - - - - The target of the translated path. - - - - - - - - - - - - - - - - - - The result of a translate opearation. - - - - - - - - - - - - - - - - - - Translates one or more paths in the server address space. - - - - - - - - - - - Translates one or more paths in the server address space. - - - - - - - - - - - - Registers one or more nodes for repeated use within a session. - - - - - - - - - - - Registers one or more nodes for repeated use within a session. - - - - - - - - - - - Unregisters one or more previously registered nodes. - - - - - - - - - - - Unregisters one or more previously registered nodes. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A simple enumerated type used for testing. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The type of identifier used in a node id. + + + + + + + + + + + + + + + + + + + + A mask specifying the class of the node. + + + + + + + + + + + + + + + + + + Specifies the attributes which belong to all nodes. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Specifies the attributes which belong to object nodes. + + + + + + + + + + + + + + Specifies the attributes which belong to object type nodes. + + + + + + + + + + + + + + Specifies the attributes which belong to variable nodes. + + + + + + + + + + + + + + + + + + + + + Specifies the attributes which belong to variable type nodes. + + + + + + + + + + + + + + + + + + Specifies the attributes which belong to reference type nodes. + + + + + + + + + + + + + + + + Specifies the attributes which belong to method nodes. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Specifies a reference which belongs to a node. + + + + + + + + + + + + + + + + + + + An argument for a method. + + + + + + + + + + + + + + + + + + + + + A mapping between a value of an enumerated type and a name and description. + + + + + + + + + + + + + + + + + + + This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask. + + + + + + + + + + + + + + + + + + This abstract DataType is the base DataType for all union DataTypes. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The types of applications. + + + + + + + + + + + + + Describes an application and how to find it. + + + + + + + + + + + + + + + + + + + + + + + The header passed with every server request. + + + + + + + + + + + + + + + + The header passed with every server response. + + + + + + + + + + + + + + + The response returned by all services when there is a service level error. + + + + + + + + + + Finds the servers known to the discovery server. + + + + + + + + + + + + + Finds the servers known to the discovery server. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The type of security to use on a message. + + + + + + + + + + + + + The possible user token types. + + + + + + + + + + + + + Describes a user token that can be used with a server. + + + + + + + + + + + + + + + + + + + + + The description of a endpoint that can be used to access a server. + + + + + + + + + + + + + + + + + + + + + + + + Gets the endpoints used by the server. + + + + + + + + + + + + + Gets the endpoints used by the server. + + + + + + + + + + + The information required to register a server with a discovery server. + + + + + + + + + + + + + + + + + + + + + + + + Registers a server with the discovery server. + + + + + + + + + + + Registers a server with the discovery server. + + + + + + + + + + A base type for discovery configuration information. + + + + + + + + + The discovery information needed for mDNS registration. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Indicates whether a token if being created or renewed. + + + + + + + + + + + The token that identifies a set of keys for an active secure channel. + + + + + + + + + + + + + Creates a secure channel with a server. + + + + + + + + + + + + + + + Creates a secure channel with a server. + + + + + + + + + + + + + Closes a secure channel. + + + + + + + + + + Closes a secure channel. + + + + + + + + + + A software certificate with a digital signature. + + + + + + + + + + + + + + + + + + + + A digital signature. + + + + + + + + + + + Creates a new session with the server. + + + + + + + + + + + + + + + + + + Creates a new session with the server. + + + + + + + + + + + + + + + + + + + A base type for a user identity token. + + + + + + + + + + A token representing an anonymous user. + + + + + + + + + + + + + A token representing a user identified by a user name and password. + + + + + + + + + + + + + + + + A token representing a user identified by an X509 certificate. + + + + + + + + + + + + + + A token representing a user identified by a WS-Security XML token. + + + + + + + + + + + + + + + Activates a session with the server. + + + + + + + + + + + + + + + Activates a session with the server. + + + + + + + + + + + + + Closes a session with the server. + + + + + + + + + + + Closes a session with the server. + + + + + + + + + + Cancels an outstanding request. + + + + + + + + + + + Cancels an outstanding request. + + + + + + + + + + + The bits used to specify default attributes for a new node. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The base attributes for all nodes. + + + + + + + + + + + + + + The attributes for an object node. + + + + + + + + + + + + + + The attributes for a variable node. + + + + + + + + + + + + + + + + + + + + + The attributes for a method node. + + + + + + + + + + + + + + + The attributes for an object type node. + + + + + + + + + + + + + + The attributes for a variable type node. + + + + + + + + + + + + + + + + + + The attributes for a reference type node. + + + + + + + + + + + + + + + + The attributes for a data type node. + + + + + + + + + + + + + + The attributes for a view node. + + + + + + + + + + + + + + + A request to add a node to the server address space. + + + + + + + + + + + + + + + + + + + + + + + A result of an add node operation. + + + + + + + + + + + + + + + + + + Adds one or more nodes to the server address space. + + + + + + + + + + + Adds one or more nodes to the server address space. + + + + + + + + + + + + A request to add a reference to the server address space. + + + + + + + + + + + + + + + + + + + + + + Adds one or more references to the server address space. + + + + + + + + + + + Adds one or more references to the server address space. + + + + + + + + + + + + A request to delete a node to the server address space. + + + + + + + + + + + + + + + + + + Delete one or more nodes from the server address space. + + + + + + + + + + + Delete one or more nodes from the server address space. + + + + + + + + + + + + A request to delete a node from the server address space. + + + + + + + + + + + + + + + + + + + + + Delete one or more references from the server address space. + + + + + + + + + + + Delete one or more references from the server address space. + + + + + + + + + + + + Define bits used to indicate which attributes are writable. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The directions of the references to return. + + + + + + + + + + + + + The view to browse. + + + + + + + + + + + + A request to browse the the references from a node. + + + + + + + + + + + + + + + + + + + + + + A bit mask which specifies what should be returned in a browse response. + + + + + + + + + + + + + + + + + + + The description of a reference. + + + + + + + + + + + + + + + + + + + + + + + + + The result of a browse operation. + + + + + + + + + + + + + + + + + + + Browse the references for one or more nodes from the server address space. + + + + + + + + + + + + + Browse the references for one or more nodes from the server address space. + + + + + + + + + + + + Continues one or more browse operations. + + + + + + + + + + + + Continues one or more browse operations. + + + + + + + + + + + + An element in a relative path. + + + + + + + + + + + + + + + + + + + + A relative path constructed from reference types and browse names. + + + + + + + + + + A request to translate a path into a node id. + + + + + + + + + + + + + + + + + + The target of the translated path. + + + + + + + + + + + + + + + + + + The result of a translate opearation. + + + + + + + + + + + + + + + + + + Translates one or more paths in the server address space. + + + + + + + + + + + Translates one or more paths in the server address space. + + + + + + + + + + + + Registers one or more nodes for repeated use within a session. + + + + + + + + + + + Registers one or more nodes for repeated use within a session. + + + + + + + + + + + Unregisters one or more previously registered nodes. + + + + + + + + + + + Unregisters one or more previously registered nodes. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/schemas/SecuredApplication.xsd b/schemas/SecuredApplication.xsd index 787650b53..22f19f713 100644 --- a/schemas/SecuredApplication.xsd +++ b/schemas/SecuredApplication.xsd @@ -1,106 +1,135 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/schemas/StatusCodes.csv b/schemas/StatusCodes.csv index 69318bc35..325b672e8 100644 --- a/schemas/StatusCodes.csv +++ b/schemas/StatusCodes.csv @@ -1,227 +1,227 @@ -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. -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. -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 unregognized 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 operation could not be processed because all continuation points have been allocated. -BadBrowseDirectionInvalid,0x804D0000,The browse direction is not valid. -BadNodeNotInView,0x804E0000,The node is not part of the view. -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 not does 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. -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. -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. -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 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 pecifies 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. -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. -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. +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. +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. +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 unregognized 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 operation could not be processed because all continuation points have been allocated. +BadBrowseDirectionInvalid,0x804D0000,The browse direction is not valid. +BadNodeNotInView,0x804E0000,The node is not part of the view. +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 not does 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. +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. +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. +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 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 pecifies 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. +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. +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. \ No newline at end of file diff --git a/schemas/UANodeSet.xsd b/schemas/UANodeSet.xsd index e09cd45b0..356f31440 100644 --- a/schemas/UANodeSet.xsd +++ b/schemas/UANodeSet.xsd @@ -1,420 +1,447 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/schemas/download.py b/schemas/download.py index 726b08c35..718357df0 100755 --- a/schemas/download.py +++ b/schemas/download.py @@ -1,5 +1,6 @@ #! /usr/bin/env python -from __future__ import print_function +import os +from urllib.request import build_opener # https://opcfoundation.org/UA/schemas/OPC%20UA%20Schema%20Files%20Readme.xls @@ -36,25 +37,14 @@ 'https://opcfoundation.org/UA/schemas/1.03/NodeIds.csv', ] -import os - -try: - from urllib.request import urlopen - from urllib.parse import urlparse - from urllib.request import build_opener -except ImportError: - from urlparse import urlparse - from urllib import urlopen - from urllib2 import build_opener - opener = build_opener() opener.addheaders = [('User-agent', 'Mozilla/5.0')] for url in resources: - fname = os.path.basename(url) - print('downloading', fname, '... ', end='') + f_name = os.path.basename(url) + print('downloading', f_name, '... ', end='') try: - open(fname, 'wb+').write(opener.open(url).read()) + open(f_name, 'wb+').write(opener.open(url).read()) print('OK') except Exception as e: - print('FAILED ({0})'.format(e)) + print(f'FAILED ({e!r})') diff --git a/schemas/generate_address_space.py b/schemas/generate_address_space.py index e02926a3d..89a2c0344 100644 --- a/schemas/generate_address_space.py +++ b/schemas/generate_address_space.py @@ -1,12 +1,11 @@ """ -Generate address space c++ code from xml file specification +Generate address space code from xml file specification xmlparser.py is a requirement. it is in opcua folder but to avoid importing all code, developer can link xmlparser.py in current directory """ import sys import logging # sys.path.insert(0, "..") # load local freeopcua implementation -#from opcua import xmlparser -import xmlparser +from opcua.common import xmlparser def _to_val(objs, attr, val): @@ -23,14 +22,14 @@ def _get_uatype_name(cls, attname): for name, uat in cls.ua_types: if name == attname: return uat - raise Exception("Could not find attribute {} in obj {}".format(attname, cls)) + raise Exception(f"Could not find attribute {attname} in obj {cls}") def ua_type_to_python(val, uatype): - if uatype in ("String"): - return "'{0}'".format(val) + if uatype == "String": + return f"'{val}'" elif uatype in ("Bytes", "Bytes", "ByteString", "ByteArray"): - return "b'{0}'".format(val) + return f"b'{val}'" else: return val @@ -45,8 +44,8 @@ def __init__(self, input_path, output_path): self.parser = None def run(self): - sys.stderr.write("Generating Python code {0} for XML file {1}".format(self.output_path, self.input_path) + "\n") - self.output_file = open(self.output_path, "w") + sys.stderr.write(f"Generating Python code {self.output_path} for XML file {self.input_path}\n") + self.output_file = open(self.output_path, 'w', encoding='utf-8') self.make_header() self.parser = xmlparser.XMLParser(self.input_path) for node in self.parser.get_node_datas(): @@ -65,14 +64,14 @@ def run(self): elif node.nodetype == 'UAMethod': self.make_method_code(node) else: - sys.stderr.write("Not implemented node type: " + node.nodetype + "\n") + sys.stderr.write(f"Not implemented node type: {node.nodetype}\n") self.output_file.close() def writecode(self, *args): - self.output_file.write(" ".join(args) + "\n") + self.output_file.write(f'{" ".join(args)}\n') def make_header(self, ): - self.writecode(''' + self.writecode(f''' # -*- coding: utf-8 -*- """ DO NOT EDIT THIS FILE! @@ -82,32 +81,32 @@ def make_header(self, ): from opcua import ua -def create_standard_address_space_{0!s}(server): - '''.format((self.part))) +def create_standard_address_space_{self.part!s}(server): + ''') def make_node_code(self, obj, indent): self.writecode(indent, 'node = ua.AddNodesItem()') - self.writecode(indent, 'node.RequestedNewNodeId = ua.NodeId.from_string("{0}")'.format(obj.nodeid)) - self.writecode(indent, 'node.BrowseName = ua.QualifiedName.from_string("{0}")'.format(obj.browsename)) - self.writecode(indent, 'node.NodeClass = ua.NodeClass.{0}'.format(obj.nodetype[2:])) + self.writecode(indent, f'node.RequestedNewNodeId = ua.NodeId.from_string("{obj.nodeid}")') + self.writecode(indent, f'node.BrowseName = ua.QualifiedName.from_string("{obj.browsename}")') + self.writecode(indent, f'node.NodeClass = ua.NodeClass.{obj.nodetype[2:]}') if obj.parent and obj.parentlink: - self.writecode(indent, 'node.ParentNodeId = ua.NodeId.from_string("{0}")'.format(obj.parent)) - self.writecode(indent, 'node.ReferenceTypeId = {0}'.format(self.to_ref_type(obj.parentlink))) + self.writecode(indent, f'node.ParentNodeId = ua.NodeId.from_string("{obj.parent}")') + self.writecode(indent, f'node.ReferenceTypeId = {self.to_ref_type(obj.parentlink)}') if obj.typedef: - self.writecode(indent, 'node.TypeDefinition = ua.NodeId.from_string("{0}")'.format(obj.typedef)) + self.writecode(indent, f'node.TypeDefinition = ua.NodeId.from_string("{obj.typedef}")') def to_data_type(self, nodeid): if not nodeid: return "ua.NodeId(ua.ObjectIds.String)" if "=" in nodeid: - return 'ua.NodeId.from_string("{0}")'.format(nodeid) + return f'ua.NodeId.from_string("{nodeid}")' else: - return 'ua.NodeId(ua.ObjectIds.{0})'.format(nodeid) + return f'ua.NodeId(ua.ObjectIds.{nodeid})' def to_ref_type(self, nodeid): - if not "=" in nodeid: + if "=" not in nodeid: nodeid = self.parser.get_aliases()[nodeid] - return 'ua.NodeId.from_string("{0}")'.format(nodeid) + return f'ua.NodeId.from_string("{nodeid}")' def make_object_code(self, obj): indent = " " @@ -115,9 +114,9 @@ def make_object_code(self, obj): self.make_node_code(obj, indent) self.writecode(indent, 'attrs = ua.ObjectAttributes()') if obj.desc: - self.writecode(indent, 'attrs.Description = ua.LocalizedText("{0}")'.format(obj.desc)) - self.writecode(indent, 'attrs.DisplayName = ua.LocalizedText("{0}")'.format(obj.displayname)) - self.writecode(indent, 'attrs.EventNotifier = {0}'.format(obj.eventnotifier)) + self.writecode(indent, f'attrs.Description = ua.LocalizedText("{obj.desc}")') + self.writecode(indent, f'attrs.DisplayName = ua.LocalizedText("{obj.displayname}")') + self.writecode(indent, f'attrs.EventNotifier = {obj.eventnotifier}') self.writecode(indent, 'node.NodeAttributes = attrs') self.writecode(indent, 'server.add_nodes([node])') self.make_refs_code(obj, indent) @@ -128,18 +127,18 @@ def make_object_type_code(self, obj): self.make_node_code(obj, indent) self.writecode(indent, 'attrs = ua.ObjectTypeAttributes()') if obj.desc: - self.writecode(indent, 'attrs.Description = ua.LocalizedText("{0}")'.format(obj.desc)) - self.writecode(indent, 'attrs.DisplayName = ua.LocalizedText("{0}")'.format(obj.displayname)) - self.writecode(indent, 'attrs.IsAbstract = {0}'.format(obj.abstract)) + self.writecode(indent, f'attrs.Description = ua.LocalizedText("{obj.desc}")') + self.writecode(indent, f'attrs.DisplayName = ua.LocalizedText("{obj.displayname}")') + self.writecode(indent, f'attrs.IsAbstract = {obj.abstract}') self.writecode(indent, 'node.NodeAttributes = attrs') self.writecode(indent, 'server.add_nodes([node])') self.make_refs_code(obj, indent) def make_common_variable_code(self, indent, obj): if obj.desc: - self.writecode(indent, 'attrs.Description = ua.LocalizedText("{0}")'.format(obj.desc)) - self.writecode(indent, 'attrs.DisplayName = ua.LocalizedText("{0}")'.format(obj.displayname)) - self.writecode(indent, 'attrs.DataType = {0}'.format(self.to_data_type(obj.datatype))) + self.writecode(indent, f'attrs.Description = ua.LocalizedText("{obj.desc}")') + self.writecode(indent, f'attrs.DisplayName = ua.LocalizedText("{obj.displayname}")') + self.writecode(indent, f'attrs.DataType = {self.to_data_type(obj.datatype)}') if obj.value is not None: if obj.valuetype == "ListOfExtensionObject": self.writecode(indent, 'value = []') @@ -152,35 +151,38 @@ def make_common_variable_code(self, indent, obj): self.writecode(indent, 'value = extobj') self.writecode(indent, 'attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject)') elif obj.valuetype == "ListOfLocalizedText": - value = ['ua.LocalizedText({0})'.format(self.to_value(text)) for text in obj.value] - self.writecode(indent, 'attrs.Value = [{}]'.format(','.join(value))) + value = [f'ua.LocalizedText({self.to_value(text)})' for text in obj.value] + self.writecode(indent, f'attrs.Value = [{",".join(value)}]') else: if obj.valuetype.startswith("ListOf"): obj.valuetype = obj.valuetype[6:] - self.writecode(indent, 'attrs.Value = ua.Variant({0}, ua.VariantType.{1})'.format(self.to_value(obj.value), obj.valuetype)) + self.writecode( + indent, + f'attrs.Value = ua.Variant({self.to_value(obj.value)}, ua.VariantType.{obj.valuetype})' + ) if obj.rank: - self.writecode(indent, 'attrs.ValueRank = {0}'.format(obj.rank)) + self.writecode(indent, f'attrs.ValueRank = {obj.rank}') if obj.accesslevel: - self.writecode(indent, 'attrs.AccessLevel = {0}'.format(obj.accesslevel)) + self.writecode(indent, f'attrs.AccessLevel = {obj.accesslevel}') if obj.useraccesslevel: - self.writecode(indent, 'attrs.UserAccessLevel = {0}'.format(obj.useraccesslevel)) + self.writecode(indent, f'attrs.UserAccessLevel = {obj.useraccesslevel}') if obj.dimensions: - self.writecode(indent, 'attrs.ArrayDimensions = {0}'.format(obj.dimensions)) - + self.writecode(indent, f'attrs.ArrayDimensions = {obj.dimensions}') + def make_ext_obj_code(self, indent, extobj): - self.writecode(indent, 'extobj = ua.{0}()'.format(extobj.objname)) + self.writecode(indent, f'extobj = ua.{extobj.objname}()') for name, val in extobj.body: for k, v in val: if type(v) is str: val = _to_val([extobj.objname], k, v) - self.writecode(indent, 'extobj.{0} = {1}'.format(k, val)) + self.writecode(indent, f'extobj.{k} = {v}') else: - if k == "DataType": #hack for strange nodeid xml format - self.writecode(indent, 'extobj.{0} = ua.NodeId.from_string("{1}")'.format(k, v[0][1])) + if k == "DataType": # hack for strange nodeid xml format + self.writecode(indent, f'extobj.{k} = ua.NodeId.from_string("{v[0][1]}")') continue for k2, v2 in v: val2 = _to_val([extobj.objname, k], k2, v2) - self.writecode(indent, 'extobj.{0}.{1} = {2}'.format(k, k2, val2)) + self.writecode(indent, f'extobj.{k}.{k2} = {val2}') def make_variable_code(self, obj): indent = " " @@ -188,7 +190,7 @@ def make_variable_code(self, obj): self.make_node_code(obj, indent) self.writecode(indent, 'attrs = ua.VariableAttributes()') if obj.minsample: - self.writecode(indent, 'attrs.MinimumSamplingInterval = {0}'.format(obj.minsample)) + self.writecode(indent, f'attrs.MinimumSamplingInterval = {obj.minsample}') self.make_common_variable_code(indent, obj) self.writecode(indent, 'node.NodeAttributes = attrs') self.writecode(indent, 'server.add_nodes([node])') @@ -200,10 +202,10 @@ def make_variable_type_code(self, obj): self.make_node_code(obj, indent) self.writecode(indent, 'attrs = ua.VariableTypeAttributes()') if obj.desc: - self.writecode(indent, 'attrs.Description = ua.LocalizedText("{0}")'.format(obj.desc)) - self.writecode(indent, 'attrs.DisplayName = ua.LocalizedText("{0}")'.format(obj.displayname)) + self.writecode(indent, f'attrs.Description = ua.LocalizedText("{obj.desc}")') + self.writecode(indent, f'attrs.DisplayName = ua.LocalizedText("{obj.displayname}")') if obj.abstract: - self.writecode(indent, 'attrs.IsAbstract = {0}'.format(obj.abstract)) + self.writecode(indent, f'attrs.IsAbstract = {obj.abstract}') self.make_common_variable_code(indent, obj) self.writecode(indent, 'node.NodeAttributes = attrs') self.writecode(indent, 'server.add_nodes([node])') @@ -212,7 +214,7 @@ def make_variable_type_code(self, obj): def to_value(self, val): # if type(val) in (str, unicode): if isinstance(val, str): - return '"' + val + '"' + return f'"{val}"' else: return val @@ -222,8 +224,8 @@ def make_method_code(self, obj): self.make_node_code(obj, indent) self.writecode(indent, 'attrs = ua.MethodAttributes()') if obj.desc: - self.writecode(indent, 'attrs.Description = ua.LocalizedText("{0}")'.format(obj.desc)) - self.writecode(indent, 'attrs.DisplayName = ua.LocalizedText("{0}")'.format(obj.displayname)) + self.writecode(indent, f'attrs.Description = ua.LocalizedText("{obj.desc}")') + self.writecode(indent, f'attrs.DisplayName = ua.LocalizedText("{obj.displayname}")') self.writecode(indent, 'node.NodeAttributes = attrs') self.writecode(indent, 'server.add_nodes([node])') self.make_refs_code(obj, indent) @@ -234,14 +236,14 @@ def make_reference_code(self, obj): self.make_node_code(obj, indent) self.writecode(indent, 'attrs = ua.ReferenceTypeAttributes()') if obj.desc: - self.writecode(indent, 'attrs.Description = ua.LocalizedText("{0}")'.format(obj.desc)) - self.writecode(indent, 'attrs.DisplayName = ua.LocalizedText("{0}")'.format(obj.displayname)) - if obj. inversename: - self.writecode(indent, 'attrs.InverseName = ua.LocalizedText("{0}")'.format(obj.inversename)) + self.writecode(indent, f'attrs.Description = ua.LocalizedText("{obj.desc}")') + self.writecode(indent, f'attrs.DisplayName = ua.LocalizedText("{obj.displayname}")') + if obj.inversename: + self.writecode(indent, f'attrs.InverseName = ua.LocalizedText("{obj.inversename}")') if obj.abstract: - self.writecode(indent, 'attrs.IsAbstract = {0}'.format(obj.abstract)) + self.writecode(indent, f'attrs.IsAbstract = {obj.abstract}') if obj.symmetric: - self.writecode(indent, 'attrs.Symmetric = {0}'.format(obj.symmetric)) + self.writecode(indent, f'attrs.Symmetric = {obj.symmetric}') self.writecode(indent, 'node.NodeAttributes = attrs') self.writecode(indent, 'server.add_nodes([node])') self.make_refs_code(obj, indent) @@ -252,10 +254,10 @@ def make_datatype_code(self, obj): self.make_node_code(obj, indent) self.writecode(indent, 'attrs = ua.DataTypeAttributes()') if obj.desc: - self.writecode(indent, u'attrs.Description = ua.LocalizedText("{0}")'.format(obj.desc)) - self.writecode(indent, 'attrs.DisplayName = ua.LocalizedText("{0}")'.format(obj.displayname)) + self.writecode(indent, f'attrs.Description = ua.LocalizedText("{obj.desc}")') + self.writecode(indent, f'attrs.DisplayName = ua.LocalizedText("{obj.displayname}")') if obj.abstract: - self.writecode(indent, 'attrs.IsAbstract = {0}'.format(obj.abstract)) + self.writecode(indent, f'attrs.IsAbstract = {obj.abstract}') self.writecode(indent, 'node.NodeAttributes = attrs') self.writecode(indent, 'server.add_nodes([node])') self.make_refs_code(obj, indent) @@ -266,32 +268,31 @@ def make_refs_code(self, obj, indent): self.writecode(indent, "refs = []") for ref in obj.refs: self.writecode(indent, 'ref = ua.AddReferencesItem()') - self.writecode(indent, 'ref.IsForward = {0}'.format(ref.forward)) - self.writecode(indent, 'ref.ReferenceTypeId = {0}'.format(self.to_ref_type(ref.reftype))) - self.writecode(indent, 'ref.SourceNodeId = ua.NodeId.from_string("{0}")'.format(obj.nodeid)) + self.writecode(indent, f'ref.IsForward = {ref.forward}') + self.writecode(indent, f'ref.ReferenceTypeId = {self.to_ref_type(ref.reftype)}') + self.writecode(indent, f'ref.SourceNodeId = ua.NodeId.from_string("{obj.nodeid}")') self.writecode(indent, 'ref.TargetNodeClass = ua.NodeClass.DataType') - self.writecode(indent, 'ref.TargetNodeId = ua.NodeId.from_string("{0}")'.format(ref.target)) + self.writecode(indent, f'ref.TargetNodeId = ua.NodeId.from_string("{ref.target}")') self.writecode(indent, "refs.append(ref)") self.writecode(indent, 'server.add_references(refs)') def save_aspace_to_disk(): import os.path - path = os.path.join("..", "opcua", "binary_address_space.pickle") - print("Savind standard address space to:", path) - sys.path.append("..") + path = os.path.join('..', 'opcua', 'binary_address_space.pickle') + print('Savind standard address space to:', path) + sys.path.append('..') from opcua.server.standard_address_space import standard_address_space from opcua.server.address_space import NodeManagementService, AddressSpace - aspace = AddressSpace() - standard_address_space.fill_address_space(NodeManagementService(aspace)) - aspace.dump(path) + a_space = AddressSpace() + standard_address_space.fill_address_space(NodeManagementService(a_space)) + a_space.dump(path) + -if __name__ == "__main__": +if __name__ == '__main__': logging.basicConfig(level=logging.WARN) for i in (3, 4, 5, 8, 9, 10, 11, 13): - xmlpath = "Opc.Ua.NodeSet2.Part{0}.xml".format(str(i)) - cpppath = "../opcua/server/standard_address_space/standard_address_space_part{0}.py".format(str(i)) - c = CodeGenerator(xmlpath, cpppath) - c.run() - + xml_path = f'Opc.Ua.NodeSet2.Part{i}.xml' + py_path = f'../opcua/server/standard_address_space/standard_address_space_part{i}.py' + CodeGenerator(xml_path, py_path).run() save_aspace_to_disk() diff --git a/schemas/generate_model.py b/schemas/generate_model.py index c1df9bd97..e2f26d14d 100644 --- a/schemas/generate_model.py +++ b/schemas/generate_model.py @@ -1,28 +1,33 @@ """ -Generate address space c++ code from xml file specification +Generate address space code from xml file specification """ -import sys from copy import copy - -import xml.etree.ElementTree as ET - -# from IPython import embed +from xml.etree import ElementTree NeedOverride = [] -NeedConstructor = []#["RelativePathElement", "ReadValueId", "OpenSecureChannelParameters", "UserIdentityToken", "RequestHeader", "ResponseHeader", "ReadParameters", "UserIdentityToken", "BrowseDescription", "ReferenceDescription", "CreateSubscriptionParameters", "PublishResult", "NotificationMessage", "SetPublishingModeParameters"] -IgnoredEnums = []#["IdType", "NodeIdType"] -#we want to implement som struct by hand, to make better interface or simply because they are too complicated -IgnoredStructs = []#["NodeId", "ExpandedNodeId", "Variant", "QualifiedName", "DataValue", "LocalizedText"]#, "ExtensionObject"] -#by default we split requests and respons in header and parameters, but some are so simple we do not split them -NoSplitStruct = ["GetEndpointsResponse", "CloseSessionRequest", "AddNodesResponse", "DeleteNodesResponse", "BrowseResponse", "HistoryReadResponse", "HistoryUpdateResponse", "RegisterServerResponse", "CloseSecureChannelRequest", "CloseSecureChannelResponse", "CloseSessionRequest", "CloseSessionResponse", "UnregisterNodesResponse", "MonitoredItemModifyRequest", "MonitoredItemsCreateRequest", "ReadResponse", "WriteResponse", "TranslateBrowsePathsToNodeIdsResponse", "DeleteSubscriptionsResponse", "DeleteMonitoredItemsResponse", "CreateMonitoredItemsResponse", "ServiceFault", "AddReferencesResponse", "ModifyMonitoredItemsResponse", "RepublishResponse", "CallResponse", "FindServersResponse", "RegisterServerRequest", "RegisterServer2Response"] -#structs that end with Request or Response but are not +NeedConstructor = [] # ["RelativePathElement", "ReadValueId", "OpenSecureChannelParameters", "UserIdentityToken", "RequestHeader", "ResponseHeader", "ReadParameters", "UserIdentityToken", "BrowseDescription", "ReferenceDescription", "CreateSubscriptionParameters", "PublishResult", "NotificationMessage", "SetPublishingModeParameters"] +IgnoredEnums = [] # ["IdType", "NodeIdType"] +# we want to implement som struct by hand, to make better interface or simply because they are too complicated +IgnoredStructs = [] # ["NodeId", "ExpandedNodeId", "Variant", "QualifiedName", "DataValue", "LocalizedText"]#, "ExtensionObject"] +# by default we split requests and respons in header and parameters, but some are so simple we do not split them +NoSplitStruct = ["GetEndpointsResponse", "CloseSessionRequest", "AddNodesResponse", "DeleteNodesResponse", + "BrowseResponse", "HistoryReadResponse", "HistoryUpdateResponse", "RegisterServerResponse", + "CloseSecureChannelRequest", "CloseSecureChannelResponse", "CloseSessionRequest", + "CloseSessionResponse", "UnregisterNodesResponse", "MonitoredItemModifyRequest", + "MonitoredItemsCreateRequest", "ReadResponse", "WriteResponse", + "TranslateBrowsePathsToNodeIdsResponse", "DeleteSubscriptionsResponse", "DeleteMonitoredItemsResponse", + "CreateMonitoredItemsResponse", "ServiceFault", "AddReferencesResponse", + "ModifyMonitoredItemsResponse", "RepublishResponse", "CallResponse", "FindServersResponse", + "RegisterServerRequest", "RegisterServer2Response"] +# structs that end with Request or Response but are not NotRequest = ["MonitoredItemCreateRequest", "MonitoredItemModifyRequest", "CallMethodRequest"] -OverrideTypes = {}#AttributeId": "AttributeID", "ResultMask": "BrowseResultMask", "NodeClassMask": "NodeClass", "AccessLevel": "VariableAccessLevel", "UserAccessLevel": "VariableAccessLevel", "NotificationData": "NotificationData"} -OverrideNames = {}#{"RequestHeader": "Header", "ResponseHeader": "Header", "StatusCode": "Status", "NodesToRead": "AttributesToRead"} # "MonitoringMode": "Mode",, "NotificationMessage": "Notification", "NodeIdType": "Type"} +OverrideTypes = {} # AttributeId": "AttributeID", "ResultMask": "BrowseResultMask", "NodeClassMask": "NodeClass", "AccessLevel": "VariableAccessLevel", "UserAccessLevel": "VariableAccessLevel", "NotificationData": "NotificationData"} +OverrideNames = {} # {"RequestHeader": "Header", "ResponseHeader": "Header", "StatusCode": "Status", "NodesToRead": "AttributesToRead"} # "MonitoringMode": "Mode",, "NotificationMessage": "Notification", "NodeIdType": "Type"} -#some object are defined in extensionobjects in spec but seems not to be in reality -#in addition to this list all request and response and descriptions will not inherit -#NoInherit = ["RequestHeader", "ResponseHeader", "ChannelSecurityToken", "UserTokenPolicy", "SignatureData", "BrowseResult", "ReadValueId", "WriteValue", "BrowsePath", "BrowsePathTarget", "RelativePath", "RelativePathElement", "BrowsePathResult"]#, "ApplicationDescription", "EndpointDescription" + +# some object are defined in extensionobjects in spec but seems not to be in reality +# in addition to this list all request and response and descriptions will not inherit +# NoInherit = ["RequestHeader", "ResponseHeader", "ChannelSecurityToken", "UserTokenPolicy", "SignatureData", "BrowseResult", "ReadValueId", "WriteValue", "BrowsePath", "BrowsePathTarget", "RelativePath", "RelativePathElement", "BrowsePathResult"]#, "ApplicationDescription", "EndpointDescription" class Bit(object): @@ -33,7 +38,8 @@ def __init__(self): self.length = 1 def __str__(self): - return "(Bit: {0}, container:{1}, idx:{2})".format(self.name, self.container, self.idx) + return f'(Bit: {self.name}, container:{self.container}, idx:{self.idx})' + __repr__ = __str__ @@ -48,16 +54,16 @@ def __init__(self): self.needoverride = False self.children = [] self.parents = [] - self.extensionobject = False #used for struct which are not pure extension objects + self.extensionobject = False # used for struct which are not pure extension objects def get_field(self, name): for f in self.fields: if f.name == name: return f - raise Exception("field not found: " + name) + raise Exception(f'field not found: {name}') def __str__(self): - return "Struct {0}:{1}".format(self.name, self.basetype) + return f'Struct {self.name}:{self.basetype}' __repr__ = __str__ @@ -73,12 +79,14 @@ def __init__(self): self.bitlength = 1 def __str__(self): - return "Field {0}({1})".format(self.name, self.uatype) + return f'Field {self.name}({self.uatype})' __repr__ = __str__ def is_native_type(self): - if self.uatype in ("Char", "SByte", "Int16", "Int32", "Int64", "UInt16", "UInt32", "UInt64", "Boolean", "Double", "Float", "Byte", "String", "CharArray", "ByteString", "DateTime"): + if self.uatype in ( + 'Char', 'SByte', 'Int16', 'Int32', 'Int64', 'UInt16', 'UInt32', 'UInt64', 'Boolean', 'Double', 'Float', 'Byte', + 'String', 'CharArray', 'ByteString', 'DateTime'): return True return False @@ -91,13 +99,15 @@ def __init__(self): self.doc = "" def get_ctype(self): - return "uint{0}_t".format(self.uatype) + return f'uint{self.uatype}_t' + class EnumValue(object): def __init__(self): self.name = None self.value = None + class Model(object): def __init__(self): self.structs = [] @@ -118,10 +128,12 @@ def get_enum(self, name): raise Exception("No enum named: " + str(name)) - - def reorder_structs(model): - types = IgnoredStructs + IgnoredEnums + ["Bit", "Char", "CharArray", "Guid", "SByte", "Int16", "Int32", "Int64", "UInt16", "UInt32", "UInt64", "DateTime", "Boolean", "Double", "Float", "ByteString", "Byte", "StatusCode", "DiagnosticInfo", "String", "AttributeID"] + [enum.name for enum in model.enums] + ["VariableAccessLevel"] + types = IgnoredStructs + IgnoredEnums + [ + 'Bit', 'Char', 'CharArray', 'Guid', 'SByte', 'Int16', 'Int32', 'Int64', 'UInt16', 'UInt32', 'UInt64', + 'DateTime', 'Boolean', 'Double', 'Float', 'ByteString', 'Byte', 'StatusCode', 'DiagnosticInfo', 'String', + 'AttributeID' + ] + [enum.name for enum in model.enums] + ['VariableAccessLevel'] waiting = {} newstructs = [] for s in model.structs: @@ -146,23 +158,25 @@ def reorder_structs(model): if not s2.waitingfor: newstructs.append(s2) if len(model.structs) != len(newstructs): - print("Error while reordering structs, some structs could not be reinserted, had {0} structs, we now have {1} structs".format(len(model.structs), len(newstructs))) + print(f'Error while reordering structs, some structs could not be reinserted, had {len(model.structs)} structs, we now have {len(newstructs)} structs') s1 = set(model.structs) s2 = set(newstructs) - rest = s1 -s2 - print("Variant" in types) - for s in s1-s2: - print("{0} is waiting for: {1}".format(s, s.waitingfor)) - #print(s1 -s2) - #print(waiting) + rest = s1 - s2 + print('Variant' in types) + for s in s1 - s2: + print(f'{s} is waiting for: {s.waitingfor}') + # print(s1 -s2) + # print(waiting) model.structs = newstructs + def override_types(model): for struct in model.structs: for field in struct.fields: if field.name in OverrideTypes.keys(): field.uatype = OverrideTypes[field.name] + def remove_duplicates(model): for struct in model.structs: fields = [] @@ -173,13 +187,14 @@ def remove_duplicates(model): fields.append(field) struct.fields = fields + def add_encoding_field(model): for struct in model.structs: newfields = [] container = None idx = 0 for field in struct.fields: - if field.uatype in ("UInt6", "NodeIdType"): + if field.uatype in ('UInt6', 'NodeIdType'): container = field.name b = Bit() b.name = field.name @@ -189,14 +204,14 @@ def add_encoding_field(model): idx = b.length struct.bits[b.name] = b - if field.uatype == "Bit": + if field.uatype == 'Bit': if not container or idx > 7: - container = "Encoding" + container = 'Encoding' idx = 0 f = Field() f.sourcetype = field.sourcetype - f.name = "Encoding" - f.uatype = "Byte" + f.name = 'Encoding' + f.uatype = 'Byte' newfields.append(f) b = Bit() @@ -215,7 +230,7 @@ def remove_vector_length(model): for struct in model.structs: new = [] for field in struct.fields: - if not field.name.startswith("NoOf") and field.name != "Length": + if not field.name.startswith('NoOf') and field.name != 'Length': new.append(field) struct.fields = new @@ -224,7 +239,7 @@ def remove_body_length(model): for struct in model.structs: new = [] for field in struct.fields: - if not field.name == "BodyLength": + if not field.name == 'BodyLength': new.append(field) struct.fields = new @@ -232,51 +247,51 @@ def remove_body_length(model): def remove_duplicate_types(model): for struct in model.structs: for field in struct.fields: - if field.uatype == "CharArray": - field.uatype = "String" + if field.uatype == 'CharArray': + field.uatype = 'String' -#def remove_extensionobject_fields(model): - #for obj in model.structs: - #if obj.name.endswith("Request") or obj.name.endswith("Response"): - #obj.fields = [el for el in obj.fields if el.name not in ("TypeId", "Body", "Encoding")] +# def remove_extensionobject_fields(model): +# for obj in model.structs: +# if obj.name.endswith("Request") or obj.name.endswith("Response"): +# obj.fields = [el for el in obj.fields if el.name not in ("TypeId", "Body", "Encoding")] def split_requests(model): structs = [] for struct in model.structs: structtype = None - if struct.name.endswith("Request") and not struct.name in NotRequest: - structtype = "Request" - elif struct.name.endswith("Response") or struct.name == "ServiceFault": - structtype = "Response" + if struct.name.endswith('Request') and not struct.name in NotRequest: + structtype = 'Request' + elif struct.name.endswith('Response') or struct.name == 'ServiceFault': + structtype = 'Response' if structtype: - #for field in struct.fields: - #if field.name == "Encoding": - #struct.fields.remove(field) - #break - #for field in struct.fields: - #if field.name == "BodyLength": - #struct.fields.remove(field) - #break + # for field in struct.fields: + # if field.name == "Encoding": + # struct.fields.remove(field) + # break + # for field in struct.fields: + # if field.name == "BodyLength": + # struct.fields.remove(field) + # break struct.needconstructor = True field = Field() - field.name = "TypeId" - field.uatype = "NodeId" + field.name = 'TypeId' + field.uatype = 'NodeId' struct.fields.insert(0, field) if structtype and not struct.name in NoSplitStruct: paramstruct = Struct() - if structtype == "Request": - basename = struct.name.replace("Request", "") + "Parameters" + if structtype == 'Request': + basename = struct.name.replace('Request', '') + 'Parameters' paramstruct.name = basename else: - basename = struct.name.replace("Response", "") + "Result" + basename = struct.name.replace('Response', '') + 'Result' paramstruct.name = basename paramstruct.fields = struct.fields[2:] paramstruct.bits = struct.bits struct.fields = struct.fields[:2] - #struct.bits = {} + # struct.bits = {} structs.append(paramstruct) typeid = Field() @@ -295,43 +310,43 @@ def __init__(self, path): def parse(self): print("Parsing: ", self.path) self.model = Model() - tree = ET.parse(self.path) + tree = ElementTree.parse(self.path) root = tree.getroot() self.add_extension_object() for child in root: tag = child.tag[40:] - if tag == "StructuredType": + if tag == 'StructuredType': struct = self.parse_struct(child) - if struct.name != "ExtensionObject": + if struct.name != 'ExtensionObject': self.model.structs.append(struct) self.model.struct_list.append(struct.name) - elif tag == "EnumeratedType": + elif tag == 'EnumeratedType': enum = self.parse_enum(child) self.model.enums.append(enum) self.model.enum_list.append(enum.name) - #else: - #print("Not implemented node type: " + tag + "\n") + # else: + # print("Not implemented node type: " + tag + "\n") return self.model def add_extension_object(self): obj = Struct() - obj.name = "ExtensionObject" + obj.name = 'ExtensionObject' f = Field() - f.name = "TypeId" - f.uatype = "NodeId" + f.name = 'TypeId' + f.uatype = 'NodeId' obj.fields.append(f) f = Field() - f.name = "BinaryBody" - f.uatype = "Bit" + f.name = 'BinaryBody' + f.uatype = 'Bit' obj.fields.append(f) f = Field() - f.name = "XmlBody" - f.uatype = "Bit" + f.name = 'XmlBody' + f.uatype = 'Bit' obj.fields.append(f) f = Field() - f.name = "Body" - f.uatype = "ByteString" - f.switchfield = "BinaryBody" + f.name = 'Body' + f.uatype = 'ByteString' + f.switchfield = 'BinaryBody' obj.fields.append(f) self.model.struct_list.append(obj.name) @@ -341,45 +356,45 @@ def parse_struct(self, child): tag = child.tag[40:] struct = Struct() for key, val in child.attrib.items(): - if key == "Name": + if key == 'Name': struct.name = val - elif key == "BaseType": - if ":" in val: - prefix, val = val.split(":") + elif key == 'BaseType': + if ':' in val: + prefix, val = val.split(':') struct.basetype = val tmp = struct while tmp.basetype: struct.parents.append(tmp.basetype) tmp = self.model.get_struct(tmp.basetype) else: - print("Error unknown key: ", key) + print(f'Error unknown key: {key}') for el in child: tag = el.tag[40:] - if tag == "Field": + if tag == 'Field': field = Field() for key, val in el.attrib.items(): - if key == "Name": + if key == 'Name': field.name = val - elif key == "TypeName": - field.uatype = val.split(":")[1] - elif key == "LengthField": + elif key == 'TypeName': + field.uatype = val.split(':')[1] + elif key == 'LengthField': field.length = val - elif key == "SourceType": + elif key == 'SourceType': field.sourcetype = val - elif key == "SwitchField": + elif key == 'SwitchField': field.switchfield = val - elif key == "SwitchValue": + elif key == 'SwitchValue': field.switchvalue = val - elif key == "Length": + elif key == 'Length': field.bitlength = int(val) else: - print("Unknown field item: ", struct.name, key) + print(f'Unknown field item: {struct.name} {key}') struct.fields.append(field) - elif tag == "Documentation": + elif tag == 'Documentation': struct.doc = el.text else: - print("Unknown tag: ", tag) + print(f'Unknown tag: {tag}') return struct @@ -387,37 +402,37 @@ def parse_enum(self, child): tag = child.tag[40:] enum = Enum() for k, v in child.items(): - if k == "Name": + if k == 'Name': enum.name = v - elif k == "LengthInBits": - enum.uatype = "UInt" + v + elif k == 'LengthInBits': + enum.uatype = f'UIntv{v}' else: - print("Unknown attr for enum: ", k) + print(f'Unknown attr for enum: {k}') for el in child: tag = el.tag[40:] - if tag == "EnumeratedValue": + if tag == 'EnumeratedValue': ev = EnumValue() for k, v in el.attrib.items(): - if k == "Name": + if k == 'Name': ev.name = v - elif k == "Value": + elif k == 'Value': ev.value = v else: - print("Unknown field attrib: ", k) + print(f'Unknown field attrib: {k}') enum.values.append(ev) - elif tag == "Documentation": + elif tag == 'Documentation': enum.doc = el.text else: - print("Unknown enum tag: ", tag) + print(f'Unknown enum tag: {tag}') return enum -#"def reorder_extobjects(model): - #ext = model.get_struct("ExtensionObject") - #print(ext) - #typeid = ext.fields[4] - #ext.fields.remove(typeid) - #ext.fields.insert(0, typeid) +# "def reorder_extobjects(model): +# ext = model.get_struct("ExtensionObject") +# print(ext) +# typeid = ext.fields[4] +# ext.fields.remove(typeid) +# ext.fields.insert(0, typeid) def add_basetype_members(model): for struct in model.structs: @@ -426,42 +441,42 @@ def add_basetype_members(model): emptystruct = False if len(struct.fields) == 0: emptystruct = True - if struct.basetype in ("ExtensionObject"): + if struct.basetype in ('ExtensionObject'): struct.basetype = None continue base = model.get_struct(struct.basetype) - #if struct.basetype == "ExtensionObject" and len(struct.fields) != 0: - #if struct.basetype == "ExtensionObject" and len(struct.fields) != 0: - #if struc - #for f in base.fields: - #if f.name == "TypeId": - #f2 = copy(f) - #f2.switchfield = None - #struct.fields.insert(0, f2) - #break - #continue + # if struct.basetype == "ExtensionObject" and len(struct.fields) != 0: + # if struct.basetype == "ExtensionObject" and len(struct.fields) != 0: + # if struc + # for f in base.fields: + # if f.name == "TypeId": + # f2 = copy(f) + # f2.switchfield = None + # struct.fields.insert(0, f2) + # break + # continue for name, bit in base.bits.items(): struct.bits[name] = bit for idx, field in enumerate(base.fields): field = copy(field) - if field.name == "Body" and not emptystruct: - #print("Field is names Body", struct.name, field.name) + if field.name == 'Body' and not emptystruct: + # print('Field is names Body', struct.name, field.name) struct.extensionobject = True - field.name = "BodyLength" - field.uatype = "Int32" + field.name = 'BodyLength' + field.uatype = 'Int32' field.length = None field.switchfield = None - #print("Field is names Body 2", struct.name, field.name) - #HACK EXTENSIONOBJECT - #if base.name == "ExtensionObject": - #continue - #if field.uatype == "Bit": - #continue - #if field.name == "Body": - #continue - #if field.name == "TypeId": - #field.switchfield = None - #END HACK + # print("Field is names Body 2", struct.name, field.name) + # HACK EXTENSIONOBJECT + # if base.name == "ExtensionObject": + # continue + # if field.uatype == "Bit": + # continue + # if field.name == "Body": + # continue + # if field.name == "TypeId": + # field.switchfield = None + # END HACK if not field.sourcetype: field.sourcetype = base.name struct.fields.insert(idx, field) @@ -470,9 +485,5 @@ def add_basetype_members(model): def fix_names(model): for s in model.enums: for f in s.values: - if f.name == "None": - f.name = "None_" - - - - + if f.name == 'None': + f.name = 'None_' diff --git a/schemas/generate_protocol_python.py b/schemas/generate_protocol_python.py index 6d7b9e899..c8e626492 100644 --- a/schemas/generate_protocol_python.py +++ b/schemas/generate_protocol_python.py @@ -27,7 +27,7 @@ class Primitives(Primitives1): DateTime = 0 -class CodeGenerator(object): +class CodeGenerator: def __init__(self, model, output): self.model = model @@ -38,7 +38,7 @@ def __init__(self, model, output): def run(self): print('Writting python protocol code to ', self.output_path) - self.output_file = open(self.output_path, 'w') + self.output_file = open(self.output_path, 'w', encoding='utf-8') self.make_header() for enum in self.model.enums: if enum.name not in IgnoredEnums: @@ -65,8 +65,8 @@ def run(self): def write(self, line): if line: - line = self.indent * self.iidx + line - self.output_file.write(line + "\n") + line = f'{self.indent * self.iidx}{line}' + self.output_file.write(f'{line}\n') def make_header(self): self.write('"""') From 33ae4d70e9f27f6b4b77e46dc5da43267bbeb5a1 Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Wed, 28 Mar 2018 17:12:56 +0200 Subject: [PATCH 017/113] [ADD] wip --- examples/client-minimal-auth.py | 7 ++- opcua/common/structures.py | 24 +++++----- opcua/ua/ua_binary.py | 85 ++++++++++++++++----------------- 3 files changed, 58 insertions(+), 58 deletions(-) diff --git a/examples/client-minimal-auth.py b/examples/client-minimal-auth.py index 55b00a667..39ccf1a0d 100644 --- a/examples/client-minimal-auth.py +++ b/examples/client-minimal-auth.py @@ -1,9 +1,12 @@ +import os +os.environ['PYOPCUA_NO_TYPO_CHECK'] = 'True' + import asyncio import logging from opcua import Client, Node, ua -logging.basicConfig(level=logging.INFO) +logging.basicConfig(level=logging.WARNING) _logger = logging.getLogger('opcua') @@ -24,7 +27,7 @@ async def browse_nodes(node: Node): try: var_type = (await node.get_data_type_as_variant_type()).value except ua.UaError: - _logger.warning('Node Variable Type coudl not be determined for %r', node) + _logger.warning('Node Variable Type could not be determined for %r', node) var_type = None return { 'id': node.nodeid.to_string(), diff --git a/opcua/common/structures.py b/opcua/common/structures.py index d51a72d42..67226668a 100644 --- a/opcua/common/structures.py +++ b/opcua/common/structures.py @@ -43,24 +43,22 @@ def __init__(self, name): self.typeid = None def get_code(self): - code = """ + code = f""" -class {0}(object): +class {self.name}(object): ''' - {0} structure autogenerated from xml + {self.name} structure autogenerated from xml ''' -""".format(self.name) - - code += " ua_types = [\n" +""" + code += ' ua_types = [\n' for field in self.fields: - prefix = "ListOf" if field.array else "" + prefix = 'ListOf' if field.array else '' uatype = prefix + field.uatype - if uatype == "ListOfChar": - uatype = "String" - code += " ('{}', '{}'),\n".format(field.name, uatype) - + if uatype == 'ListOfChar': + uatype = 'String' + code += f" ('{field.name}', '{uatype}'),\n" code += " ]" code += """ @@ -69,7 +67,7 @@ def __init__(self): if not self.fields: code += " pass" for field in self.fields: - code += " self.{} = {}\n".format(field.name, field.value) + code += f" self.{field.name} = {field.value}\n" return code @@ -128,7 +126,7 @@ def save_to_file(self, path, register=False): def _make_registration(self): code = "\n\n" for struct in self.model: - code += "ua.register_extension_object('{name}', ua.NodeId.from_string('{nodeid}'), {name})\n".format(name=struct.name, nodeid=struct.typeid) + code += f"ua.register_extension_object('{struct.name}', ua.NodeId.from_string('{struct.typeid}'), {struct.name})\n" return code def get_python_classes(self, env=None): diff --git a/opcua/ua/ua_binary.py b/opcua/ua/ua_binary.py index cd83fdf10..14b7ba6db 100644 --- a/opcua/ua/ua_binary.py +++ b/opcua/ua/ua_binary.py @@ -79,7 +79,7 @@ def unpack(data): class _Null(object): @staticmethod def pack(data): - return b"" + return b'' @staticmethod def unpack(data): @@ -131,8 +131,8 @@ def unpack(self, data): def pack_array(self, data): if data is None: return Primitives.Int32.pack(-1) - sizedata = Primitives.Int32.pack(len(data)) - return sizedata + struct.pack(self._fmt.format(len(data)), *data) + size_data = Primitives.Int32.pack(len(data)) + return size_data + struct.pack(self._fmt.format(len(data)), *data) def unpack_array(self, data, length): if length == -1: @@ -143,18 +143,18 @@ def unpack_array(self, data, length): class Primitives1(object): - SByte = _Primitive1("<{:d}b") - Int16 = _Primitive1("<{:d}h") - Int32 = _Primitive1("<{:d}i") - Int64 = _Primitive1("<{:d}q") - Byte = _Primitive1("<{:d}B") + SByte = _Primitive1('<{:d}b') + Int16 = _Primitive1('<{:d}h') + Int32 = _Primitive1('<{:d}i') + Int64 = _Primitive1('<{:d}q') + Byte = _Primitive1('<{:d}B') Char = Byte - UInt16 = _Primitive1("<{:d}H") - UInt32 = _Primitive1("<{:d}I") - UInt64 = _Primitive1("<{:d}Q") - Boolean = _Primitive1("<{:d}?") - Double = _Primitive1("<{:d}d") - Float = _Primitive1("<{:d}f") + UInt16 = _Primitive1('<{:d}H') + UInt32 = _Primitive1('<{:d}I') + UInt64 = _Primitive1('<{:d}Q') + Boolean = _Primitive1('<{:d}?') + Double = _Primitive1('<{:d}d') + Float = _Primitive1('<{:d}f') class Primitives(Primitives1): @@ -196,16 +196,16 @@ def unpack_uatype(vtype, data): return variant_from_binary(data) else: if hasattr(ua, vtype.name): - klass = getattr(ua, vtype.name) - return struct_from_binary(klass, data) + cls = getattr(ua, vtype.name) + return struct_from_binary(cls, data) else: - raise UaError("Cannot unpack unknown variant type {0!s}".format(vtype)) + raise UaError(f'Cannot unpack unknown variant type {vtype}') def pack_uatype_array(vtype, array): if hasattr(Primitives1, vtype.name): - dataType = getattr(Primitives1, vtype.name) - return dataType.pack_array(array) + data_type = getattr(Primitives1, vtype.name) + return data_type.pack_array(array) if array is None: return b'\xff\xff\xff\xff' length = len(array) @@ -219,9 +219,9 @@ def unpack_uatype_array(vtype, data): if length == -1: return None elif hasattr(Primitives1, vtype.name): - dataType = getattr(Primitives1, vtype.name) + data_type = getattr(Primitives1, vtype.name) # Remark: works without tuple conversion to list. - return list(dataType.unpack_array(data, length)) + return list(data_type.unpack_array(data, length)) else: # Revert to slow serial unpacking. return [unpack_uatype(vtype, data) for _ in range(length)] @@ -254,7 +254,7 @@ def to_binary(uatype, val): """ Pack a python object to binary given a string defining its type """ - if uatype.startswith("ListOf"): + if uatype.startswith('ListOf'): #if isinstance(val, (list, tuple)): return list_to_binary(uatype[6:], val) elif type(uatype) is str and hasattr(ua.VariantType, uatype): @@ -268,43 +268,42 @@ def to_binary(uatype, val): return nodeid_to_binary(val) elif isinstance(val, ua.Variant): return variant_to_binary(val) - elif hasattr(val, "ua_types"): + elif hasattr(val, 'ua_types'): return struct_to_binary(val) else: - raise UaError("No known way to pack {} of type {} to ua binary".format(val, uatype)) + raise UaError(f'No known way to pack {val} of type {uatype} to ua binary' def list_to_binary(uatype, val): if val is None: return Primitives.Int32.pack(-1) if hasattr(Primitives1, uatype): - dataType = getattr(Primitives1, uatype) - return dataType.pack_array(val) - datasize = Primitives.Int32.pack(len(val)) + data_type = getattr(Primitives1, uatype) + return data_type.pack_array(val) + data_size = Primitives.Int32.pack(len(val)) pack = [to_binary(uatype, el) for el in val] - pack.insert(0, datasize) + pack.insert(0, data_size) return b''.join(pack) def nodeid_to_binary(nodeid): - data = None if nodeid.NodeIdType == ua.NodeIdType.TwoByte: - data = struct.pack(" Date: Wed, 28 Mar 2018 17:13:25 +0200 Subject: [PATCH 018/113] [ADD] wip --- opcua/ua/ua_binary.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/opcua/ua/ua_binary.py b/opcua/ua/ua_binary.py index 14b7ba6db..5c16de728 100644 --- a/opcua/ua/ua_binary.py +++ b/opcua/ua/ua_binary.py @@ -271,7 +271,7 @@ def to_binary(uatype, val): elif hasattr(val, 'ua_types'): return struct_to_binary(val) else: - raise UaError(f'No known way to pack {val} of type {uatype} to ua binary' + raise UaError(f'No known way to pack {val} of type {uatype} to ua binary') def list_to_binary(uatype, val): @@ -418,7 +418,7 @@ def extensionobject_from_binary(data): elif typeid in ua.extension_object_classes: cls = ua.extension_object_classes[typeid] if body is None: - raise UaError(f'parsing ExtensionObject {cls.__name__)} without data' + raise UaError(f'parsing ExtensionObject {cls.__name__)} without data') return from_binary(cls, body) else: e = ua.ExtensionObject() From e3ff54004ec13536d9daaf4d925133d6406a0673 Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Thu, 29 Mar 2018 09:51:59 +0200 Subject: [PATCH 019/113] [FIX] missing parens --- opcua/ua/ua_binary.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opcua/ua/ua_binary.py b/opcua/ua/ua_binary.py index 5c16de728..8df7e9d62 100644 --- a/opcua/ua/ua_binary.py +++ b/opcua/ua/ua_binary.py @@ -418,7 +418,7 @@ def extensionobject_from_binary(data): elif typeid in ua.extension_object_classes: cls = ua.extension_object_classes[typeid] if body is None: - raise UaError(f'parsing ExtensionObject {cls.__name__)} without data') + raise UaError(f'parsing ExtensionObject {cls.__name__} without data') return from_binary(cls, body) else: e = ua.ExtensionObject() From 1a863e9b24f2d604fc5dc2a9b1d6aeb896c440b6 Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Thu, 12 Apr 2018 10:21:20 +0200 Subject: [PATCH 020/113] [ADD] client subscription examplpe --- examples/client-minimal-auth.py | 2 +- examples/client-subscription.py | 50 +++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 examples/client-subscription.py diff --git a/examples/client-minimal-auth.py b/examples/client-minimal-auth.py index 39ccf1a0d..472796640 100644 --- a/examples/client-minimal-auth.py +++ b/examples/client-minimal-auth.py @@ -6,7 +6,7 @@ from opcua import Client, Node, ua -logging.basicConfig(level=logging.WARNING) +logging.basicConfig(level=logging.INFO) _logger = logging.getLogger('opcua') diff --git a/examples/client-subscription.py b/examples/client-subscription.py new file mode 100644 index 000000000..e4225a08d --- /dev/null +++ b/examples/client-subscription.py @@ -0,0 +1,50 @@ +import os +# os.environ['PYOPCUA_NO_TYPO_CHECK'] = 'True' + +import asyncio +import logging + +from opcua import Client, Node, ua + +logging.basicConfig(level=logging.INFO) +_logger = logging.getLogger('opcua') + + +class SubscriptionHandler: + def datachange_notification(self, node: Node, val, data): + """Callback for opcua Subscription""" + _logger.info('datachange_notification %r %s', node, val) + + +async def task(loop): + url = 'opc.tcp://192.168.2.213:4840' + # url = 'opc.tcp://localhost:4840/freeopcua/server/' + client = Client(url=url) + client.set_user('test') + client.set_password('test') + # client.set_security_string() + await client.connect() + # Client has a few methods to get proxy to UA nodes that should always be in address space such as Root or Objects + root = client.get_root_node() + _logger.info('Objects node is: %r', root) + + # Node objects have methods to read and write node attributes as well as browse or populate address space + _logger.info('Children of root are: %r', await root.get_children()) + handler = SubscriptionHandler() + subscription = await client.create_subscription(500, handler) + nodes = [ + client.get_node('ns=1;i=6') + ] + await subscription.subscribe_data_change(nodes) + + +def main(): + loop = asyncio.get_event_loop() + loop.set_debug(True) + loop.create_task(task(loop)) + loop.run_forever() + loop.close() + + +if __name__ == "__main__": + main() From 4cdcfb7bbf82900918deea10f683043601028316 Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Tue, 29 May 2018 09:42:35 +0200 Subject: [PATCH 021/113] [FIX] Subscription publish on init without waiting --- opcua/common/subscription.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/opcua/common/subscription.py b/opcua/common/subscription.py index 9cbd95103..5c9ce4e73 100644 --- a/opcua/common/subscription.py +++ b/opcua/common/subscription.py @@ -93,8 +93,8 @@ async def init(self): # Launching two publish requests is a heuristic. We try to ensure # that the server always has at least one publish request in the queue, # even after it just replied to a publish request. - await self.server.publish() - await self.server.publish() + self.loop.create_task(self.server.publish()) + self.loop.create_task(self.server.publish()) def delete(self): """ From a45556b1b0f632f3db7d3146731336e0753bf0d7 Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Sun, 28 Jan 2018 17:58:12 +0100 Subject: [PATCH 022/113] [ADD] async modules wip --- opcua/client/async_client.py | 557 ++++++++++++++++++++++++++++++ opcua/client/async_ua_client.py | 575 +++++++++++++++++++++++++++++++ opcua/common/async_connection.py | 29 ++ opcua/ua/async_ua_binary.py | 14 + 4 files changed, 1175 insertions(+) create mode 100644 opcua/client/async_client.py create mode 100644 opcua/client/async_ua_client.py create mode 100644 opcua/common/async_connection.py create mode 100644 opcua/ua/async_ua_binary.py diff --git a/opcua/client/async_client.py b/opcua/client/async_client.py new file mode 100644 index 000000000..116967b28 --- /dev/null +++ b/opcua/client/async_client.py @@ -0,0 +1,557 @@ + +import logging +from urllib.parse import urlparse + +from opcua import ua +from opcua.client.async_ua_client import UaClient +from opcua.common.xmlimporter import XmlImporter +from opcua.common.xmlexporter import XmlExporter +from opcua.common.node import Node +from opcua.common.manage_nodes import delete_nodes +from opcua.common.subscription import Subscription +from opcua.common import utils +from opcua.crypto import security_policies +from opcua.common.shortcuts import Shortcuts +from opcua.common.structures import load_type_definitions +use_crypto = True +try: + from opcua.crypto import uacrypto +except ImportError: + logging.getLogger(__name__).warning("cryptography is not installed, use of crypto disabled") + use_crypto = False + + +class KeepAlive(Thread): + + """ + Used by Client to keep the session open. + OPCUA defines timeout both for sessions and secure channel + """ + + def __init__(self, client, timeout): + """ + :param session_timeout: Timeout to re-new the session + in milliseconds. + """ + Thread.__init__(self) + self.logger = logging.getLogger(__name__) + + self.client = client + self._dostop = False + self._cond = Condition() + self.timeout = timeout + + # some server support no timeout, but we do not trust them + if self.timeout == 0: + self.timeout = 3600000 # 1 hour + + def run(self): + self.logger.debug("starting keepalive thread with period of %s milliseconds", self.timeout) + server_state = self.client.get_node(ua.FourByteNodeId(ua.ObjectIds.Server_ServerStatus_State)) + while not self._dostop: + with self._cond: + self._cond.wait(self.timeout / 1000) + if self._dostop: + break + self.logger.debug("renewing channel") + self.client.open_secure_channel(renew=True) + val = server_state.get_value() + self.logger.debug("server state is: %s ", val) + self.logger.debug("keepalive thread has stopped") + + def stop(self): + self.logger.debug("stoping keepalive thread") + self._dostop = True + with self._cond: + self._cond.notify_all() + + +class Client(object): + + """ + High level client to connect to an OPC-UA server. + + This class makes it easy to connect and browse address space. + It attemps to expose as much functionality as possible + but if you want more flexibility it is possible and adviced to + use UaClient object, available as self.uaclient + which offers the raw OPC-UA services interface. + """ + + def __init__(self, url, timeout=4): + """ + + :param url: url of the server. + if you are unsure of url, write at least hostname + and port and call get_endpoints + + :param timeout: + Each request sent to the server expects an answer within this + time. The timeout is specified in seconds. + """ + self.logger = logging.getLogger(__name__) + self.server_url = urlparse(url) + #take initial username and password from the url + self._username = self.server_url.username + self._password = self.server_url.password + self.name = "Pure Python Client" + self.description = self.name + self.application_uri = "urn:freeopcua:client" + self.product_uri = "urn:freeopcua.github.no:client" + self.security_policy = ua.SecurityPolicy() + self.secure_channel_id = None + self.secure_channel_timeout = 3600000 # 1 hour + self.session_timeout = 3600000 # 1 hour + self._policy_ids = [] + self.uaclient = UaClient(timeout) + self.user_certificate = None + self.user_private_key = None + self._server_nonce = None + self._session_counter = 1 + self.keepalive = None + self.nodes = Shortcuts(self.uaclient) + self.max_messagesize = 0 # No limits + self.max_chunkcount = 0 # No limits + + def __enter__(self): + self.connect() + return self + + def __exit__(self, exc_type, exc_value, traceback): + self.disconnect() + + @staticmethod + def find_endpoint(endpoints, security_mode, policy_uri): + """ + Find endpoint with required security mode and policy URI + """ + for ep in endpoints: + if (ep.EndpointUrl.startswith(ua.OPC_TCP_SCHEME) and + ep.SecurityMode == security_mode and + ep.SecurityPolicyUri == policy_uri): + return ep + raise ua.UaError("No matching endpoints: {0}, {1}".format(security_mode, policy_uri)) + + def set_user(self, username): + """ + Set user name for the connection. + initial user from the URL will be overwritten + """ + self._username = username + + def set_password(self, pwd): + """ + Set user password for the connection. + initial password from the URL will be overwritten + """ + self._password = pwd + + def set_security_string(self, string): + """ + Set SecureConnection mode. String format: + Policy,Mode,certificate,private_key[,server_private_key] + where Policy is Basic128Rsa15 or Basic256, + Mode is Sign or SignAndEncrypt + certificate, private_key and server_private_key are + paths to .pem or .der files + Call this before connect() + """ + if not string: + return + parts = string.split(',') + if len(parts) < 4: + raise ua.UaError('Wrong format: `{0}`, expected at least 4 comma-separated values'.format(string)) + policy_class = getattr(security_policies, 'SecurityPolicy' + parts[0]) + mode = getattr(ua.MessageSecurityMode, parts[1]) + return self.set_security(policy_class, parts[2], parts[3], + parts[4] if len(parts) >= 5 else None, mode) + + def set_security(self, policy, certificate_path, private_key_path, + server_certificate_path=None, + mode=ua.MessageSecurityMode.SignAndEncrypt): + """ + Set SecureConnection mode. + Call this before connect() + """ + if server_certificate_path is None: + # load certificate from server's list of endpoints + endpoints = self.connect_and_get_server_endpoints() + endpoint = Client.find_endpoint(endpoints, mode, policy.URI) + server_cert = uacrypto.x509_from_der(endpoint.ServerCertificate) + else: + server_cert = uacrypto.load_certificate(server_certificate_path) + cert = uacrypto.load_certificate(certificate_path) + pk = uacrypto.load_private_key(private_key_path) + self.security_policy = policy(server_cert, cert, pk, mode) + self.uaclient.set_security(self.security_policy) + + def load_client_certificate(self, path): + """ + load our certificate from file, either pem or der + """ + self.user_certificate = uacrypto.load_certificate(path) + + def load_private_key(self, path): + """ + Load user private key. This is used for authenticating using certificate + """ + self.user_private_key = uacrypto.load_private_key(path) + + def connect_and_get_server_endpoints(self): + """ + Connect, ask server for endpoints, and disconnect + """ + self.connect_socket() + self.send_hello() + self.open_secure_channel() + endpoints = self.get_endpoints() + self.close_secure_channel() + self.disconnect_socket() + return endpoints + + def connect_and_find_servers(self): + """ + Connect, ask server for a list of known servers, and disconnect + """ + self.connect_socket() + self.send_hello() + self.open_secure_channel() # spec says it should not be necessary to open channel + servers = self.find_servers() + self.close_secure_channel() + self.disconnect_socket() + return servers + + def connect_and_find_servers_on_network(self): + """ + Connect, ask server for a list of known servers on network, and disconnect + """ + self.connect_socket() + self.send_hello() + self.open_secure_channel() + servers = self.find_servers_on_network() + self.close_secure_channel() + self.disconnect_socket() + return servers + + def connect(self): + """ + High level method + Connect, create and activate session + """ + self.connect_socket() + self.send_hello() + self.open_secure_channel() + self.create_session() + self.activate_session(username=self._username, password=self._password, certificate=self.user_certificate) + + def disconnect(self): + """ + High level method + Close session, secure channel and socket + """ + try: + self.close_session() + self.close_secure_channel() + finally: + self.disconnect_socket() + + def connect_socket(self): + """ + connect to socket defined in url + """ + self.uaclient.connect_socket(self.server_url.hostname, self.server_url.port) + + def disconnect_socket(self): + self.uaclient.disconnect_socket() + + def send_hello(self): + """ + Send OPC-UA hello to server + """ + ack = self.uaclient.send_hello(self.server_url.geturl(), self.max_messagesize, self.max_chunkcount) + # FIXME check ack + + def open_secure_channel(self, renew=False): + """ + Open secure channel, if renew is True, renew channel + """ + params = ua.OpenSecureChannelParameters() + params.ClientProtocolVersion = 0 + params.RequestType = ua.SecurityTokenRequestType.Issue + if renew: + params.RequestType = ua.SecurityTokenRequestType.Renew + params.SecurityMode = self.security_policy.Mode + params.RequestedLifetime = self.secure_channel_timeout + nonce = utils.create_nonce(self.security_policy.symmetric_key_size) # length should be equal to the length of key of symmetric encryption + params.ClientNonce = nonce # this nonce is used to create a symmetric key + result = self.uaclient.open_secure_channel(params) + self.security_policy.make_symmetric_key(nonce, result.ServerNonce) + self.secure_channel_timeout = result.SecurityToken.RevisedLifetime + + def close_secure_channel(self): + return self.uaclient.close_secure_channel() + + async def get_endpoints(self): + params = ua.GetEndpointsParameters() + params.EndpointUrl = self.server_url.geturl() + return await self.uaclient.get_endpoints(params) + + def register_server(self, server, discovery_configuration=None): + """ + register a server to discovery server + if discovery_configuration is provided, the newer register_server2 service call is used + """ + serv = ua.RegisteredServer() + serv.ServerUri = server.application_uri + serv.ProductUri = server.product_uri + serv.DiscoveryUrls = [server.endpoint.geturl()] + serv.ServerType = server.application_type + serv.ServerNames = [ua.LocalizedText(server.name)] + serv.IsOnline = True + if discovery_configuration: + params = ua.RegisterServer2Parameters() + params.Server = serv + params.DiscoveryConfiguration = discovery_configuration + return self.uaclient.register_server2(params) + else: + return self.uaclient.register_server(serv) + + def find_servers(self, uris=None): + """ + send a FindServer request to the server. The answer should be a list of + servers the server knows about + A list of uris can be provided, only server having matching uris will be returned + """ + if uris is None: + uris = [] + params = ua.FindServersParameters() + params.EndpointUrl = self.server_url.geturl() + params.ServerUris = uris + return self.uaclient.find_servers(params) + + def find_servers_on_network(self): + params = ua.FindServersOnNetworkParameters() + return self.uaclient.find_servers_on_network(params) + + def create_session(self): + """ + send a CreateSessionRequest to server with reasonable parameters. + If you want o modify settings look at code of this methods + and make your own + """ + desc = ua.ApplicationDescription() + desc.ApplicationUri = self.application_uri + desc.ProductUri = self.product_uri + desc.ApplicationName = ua.LocalizedText(self.name) + desc.ApplicationType = ua.ApplicationType.Client + + params = ua.CreateSessionParameters() + nonce = utils.create_nonce(32) # at least 32 random bytes for server to prove possession of private key (specs part 4, 5.6.2.2) + params.ClientNonce = nonce + params.ClientCertificate = self.security_policy.client_certificate + params.ClientDescription = desc + params.EndpointUrl = self.server_url.geturl() + params.SessionName = self.description + " Session" + str(self._session_counter) + params.RequestedSessionTimeout = 3600000 + params.MaxResponseMessageSize = 0 # means no max size + response = self.uaclient.create_session(params) + if self.security_policy.client_certificate is None: + data = nonce + else: + data = self.security_policy.client_certificate + nonce + self.security_policy.asymmetric_cryptography.verify(data, response.ServerSignature.Signature) + self._server_nonce = response.ServerNonce + if not self.security_policy.server_certificate: + self.security_policy.server_certificate = response.ServerCertificate + elif self.security_policy.server_certificate != response.ServerCertificate: + raise ua.UaError("Server certificate mismatch") + # remember PolicyId's: we will use them in activate_session() + ep = Client.find_endpoint(response.ServerEndpoints, self.security_policy.Mode, self.security_policy.URI) + self._policy_ids = ep.UserIdentityTokens + self.session_timeout = response.RevisedSessionTimeout + self.keepalive = KeepAlive(self, min(self.session_timeout, self.secure_channel_timeout) * 0.7) # 0.7 is from spec + self.keepalive.start() + return response + + def server_policy_id(self, token_type, default): + """ + Find PolicyId of server's UserTokenPolicy by token_type. + Return default if there's no matching UserTokenPolicy. + """ + for policy in self._policy_ids: + if policy.TokenType == token_type: + return policy.PolicyId + return default + + def server_policy_uri(self, token_type): + """ + Find SecurityPolicyUri of server's UserTokenPolicy by token_type. + If SecurityPolicyUri is empty, use default SecurityPolicyUri + of the endpoint + """ + for policy in self._policy_ids: + if policy.TokenType == token_type: + if policy.SecurityPolicyUri: + return policy.SecurityPolicyUri + else: # empty URI means "use this endpoint's policy URI" + return self.security_policy.URI + return self.security_policy.URI + + def activate_session(self, username=None, password=None, certificate=None): + """ + Activate session using either username and password or private_key + """ + params = ua.ActivateSessionParameters() + challenge = b"" + if self.security_policy.server_certificate is not None: + challenge += self.security_policy.server_certificate + if self._server_nonce is not None: + challenge += self._server_nonce + params.ClientSignature.Algorithm = "http://www.w3.org/2000/09/xmldsig#rsa-sha1" + params.ClientSignature.Signature = self.security_policy.asymmetric_cryptography.signature(challenge) + params.LocaleIds.append("en") + if not username and not certificate: + self._add_anonymous_auth(params) + elif certificate: + self._add_certificate_auth(params, certificate, challenge) + else: + self._add_user_auth(params, username, password) + return self.uaclient.activate_session(params) + + def _add_anonymous_auth(self, params): + params.UserIdentityToken = ua.AnonymousIdentityToken() + params.UserIdentityToken.PolicyId = self.server_policy_id(ua.UserTokenType.Anonymous, b"anonymous") + + def _add_certificate_auth(self, params, certificate, challenge): + params.UserIdentityToken = ua.X509IdentityToken() + params.UserIdentityToken.PolicyId = self.server_policy_id(ua.UserTokenType.Certificate, b"certificate_basic256") + params.UserIdentityToken.CertificateData = uacrypto.der_from_x509(certificate) + # specs part 4, 5.6.3.1: the data to sign is created by appending + # the last serverNonce to the serverCertificate + sig = uacrypto.sign_sha1(self.user_private_key, challenge) + params.UserTokenSignature = ua.SignatureData() + params.UserTokenSignature.Algorithm = "http://www.w3.org/2000/09/xmldsig#rsa-sha1" + params.UserTokenSignature.Signature = sig + + def _add_user_auth(self, params, username, password): + params.UserIdentityToken = ua.UserNameIdentityToken() + params.UserIdentityToken.UserName = username + policy_uri = self.server_policy_uri(ua.UserTokenType.UserName) + if not policy_uri or policy_uri == security_policies.POLICY_NONE_URI: + # see specs part 4, 7.36.3: if the token is NOT encrypted, + # then the password only contains UTF-8 encoded password + # and EncryptionAlgorithm is null + if self._password: + self.logger.warning("Sending plain-text password") + params.UserIdentityToken.Password = password + params.UserIdentityToken.EncryptionAlgorithm = None + elif self._password: + data, uri = self._encrypt_password(password, policy_uri) + params.UserIdentityToken.Password = data + params.UserIdentityToken.EncryptionAlgorithm = uri + params.UserIdentityToken.PolicyId = self.server_policy_id(ua.UserTokenType.UserName, b"username_basic256") + + def _encrypt_password(self, password, policy_uri): + pubkey = uacrypto.x509_from_der(self.security_policy.server_certificate).public_key() + # see specs part 4, 7.36.3: if the token is encrypted, password + # shall be converted to UTF-8 and serialized with server nonce + passwd = password.encode("utf8") + if self._server_nonce is not None: + passwd += self._server_nonce + etoken = ua.ua_binary.Primitives.Bytes.pack(passwd) + data, uri = security_policies.encrypt_asymmetric(pubkey, etoken, policy_uri) + return data, uri + + def close_session(self): + """ + Close session + """ + if self.keepalive: + self.keepalive.stop() + return self.uaclient.close_session(True) + + def get_root_node(self): + return self.get_node(ua.TwoByteNodeId(ua.ObjectIds.RootFolder)) + + def get_objects_node(self): + return self.get_node(ua.TwoByteNodeId(ua.ObjectIds.ObjectsFolder)) + + def get_server_node(self): + return self.get_node(ua.FourByteNodeId(ua.ObjectIds.Server)) + + def get_node(self, nodeid): + """ + Get node using NodeId object or a string representing a NodeId + """ + return Node(self.uaclient, nodeid) + + def create_subscription(self, period, handler): + """ + Create a subscription. + returns a Subscription object which allow + to subscribe to events or data on server + handler argument is a class with data_change and/or event methods. + period argument is either a publishing interval in milliseconds or a + CreateSubscriptionParameters instance. The second option should be used, + if the opcua-server has problems with the default options. + These methods will be called when notfication from server are received. + See example-client.py. + Do not do expensive/slow or network operation from these methods + since they are called directly from receiving thread. This is a design choice, + start another thread if you need to do such a thing. + """ + + if isinstance(period, ua.CreateSubscriptionParameters): + return Subscription(self.uaclient, period, handler) + params = ua.CreateSubscriptionParameters() + params.RequestedPublishingInterval = period + params.RequestedLifetimeCount = 10000 + params.RequestedMaxKeepAliveCount = 3000 + params.MaxNotificationsPerPublish = 10000 + params.PublishingEnabled = True + params.Priority = 0 + return Subscription(self.uaclient, params, handler) + + def get_namespace_array(self): + ns_node = self.get_node(ua.NodeId(ua.ObjectIds.Server_NamespaceArray)) + return ns_node.get_value() + + def get_namespace_index(self, uri): + uries = self.get_namespace_array() + return uries.index(uri) + + def delete_nodes(self, nodes, recursive=False): + return delete_nodes(self.uaclient, nodes, recursive) + + def import_xml(self, path): + """ + Import nodes defined in xml + """ + importer = XmlImporter(self) + return importer.import_xml(path) + + def export_xml(self, nodes, path): + """ + Export defined nodes to xml + """ + exp = XmlExporter(self) + exp.build_etree(nodes) + return exp.write_xml(path) + + def register_namespace(self, uri): + """ + Register a new namespace. Nodes should in custom namespace, not 0. + This method is mainly implemented for symetry with server + """ + ns_node = self.get_node(ua.NodeId(ua.ObjectIds.Server_NamespaceArray)) + uries = ns_node.get_value() + if uri in uries: + return uries.index(uri) + uries.append(uri) + ns_node.set_value(uries) + return len(uries) - 1 + + def load_type_definitions(self, nodes=None): + return load_type_definitions(self, nodes) + + diff --git a/opcua/client/async_ua_client.py b/opcua/client/async_ua_client.py new file mode 100644 index 000000000..3afce95a3 --- /dev/null +++ b/opcua/client/async_ua_client.py @@ -0,0 +1,575 @@ +""" +Low level binary client +""" +import asyncio +import logging +from functools import partial + +from opcua import ua +from opcua.ua.ua_binary import struct_from_binary, uatcp_to_binary, struct_to_binary, nodeid_from_binary +from opcua.ua.uaerrors import UaError, BadTimeout, BadNoSubscription, BadSessionClosed +from opcua.common.async_connection import AsyncSecureConnection + + +class UASocketProtocol(asyncio.Protocol): + """ + handle socket connection and send ua messages + timeout is the timeout used while waiting for an ua answer from server + """ + + def __init__(self, timeout=1, security_policy=ua.SecurityPolicy()): + self.logger = logging.getLogger(__name__ + ".Socket") + self.loop = asyncio.get_event_loop() + self.transport = None + self.receive_buffer = asyncio.Queue() + self.is_receiving = False + self.timeout = timeout + self.authentication_token = ua.NodeId() + self._request_id = 0 + self._request_handle = 0 + self._callbackmap = {} + self._connection = AsyncSecureConnection(security_policy) + self._leftover_chunk = None + + def connection_made(self, transport): + self.transport = transport + + def connection_lost(self, exc): + self.logger.info("Socket has closed connection") + self.transport = None + + def data_received(self, data): + self.receive_buffer.put(data) + if not self.is_receiving: + self.is_receiving = True + self.loop.create_task(self._receive()) + + async def read(self, size): + """Receive up to size bytes from socket.""" + data = b'' + while size > 0: + # ToDo: abort on timeout, socket close + # raise SocketClosedException("Server socket has closed") + if self._leftover_chunk: + # use leftover chunk first + chunk = self._leftover_chunk + self._leftover_chunk = None + else: + chunk = await self.receive_buffer.get() + needed_length = size - len(data) + if len(chunk) <= needed_length: + _chunk = chunk + else: + # chunk is too big + _chunk = chunk[:needed_length] + self._leftover_chunk = chunk[needed_length:] + data += _chunk + size -= len(_chunk) + return data + + def _send_request(self, request, callback=None, timeout=1000, message_type=ua.MessageType.SecureMessage): + """ + send request to server, lower-level method + timeout is the timeout written in ua header + returns future + """ + request.RequestHeader = self._create_request_header(timeout) + self.logger.debug("Sending: %s", request) + try: + binreq = struct_to_binary(request) + except: + # reset reqeust handle if any error + # see self._create_request_header + self._request_handle -= 1 + raise + self._request_id += 1 + future = asyncio.Future() + if callback: + future.add_done_callback(callback) + self._callbackmap[self._request_id] = future + msg = self._connection.message_to_binary(binreq, message_type=message_type, request_id=self._request_id) + self.transport.write(msg) + return future + + async def send_request(self, request, callback=None, timeout=1000, message_type=ua.MessageType.SecureMessage): + """ + send request to server. + timeout is the timeout written in ua header + returns response object if no callback is provided + """ + future = self._send_request(request, callback, timeout, message_type) + if not callback: + data = await asyncio.wait_for(future.result(), self.timeout) + self.check_answer(data, " in response to " + request.__class__.__name__) + return data + + def check_answer(self, data, context): + data = data.copy() + typeid = nodeid_from_binary(data) + if typeid == ua.FourByteNodeId(ua.ObjectIds.ServiceFault_Encoding_DefaultBinary): + self.logger.warning("ServiceFault from server received %s", context) + hdr = struct_from_binary(ua.ResponseHeader, data) + hdr.ServiceResult.check() + return False + return True + + async def _receive(self): + msg = await self._connection.receive_from_socket(self) + if msg is None: + return + elif isinstance(msg, ua.Message): + self._call_callback(msg.request_id(), msg.body()) + elif isinstance(msg, ua.Acknowledge): + self._call_callback(0, msg) + elif isinstance(msg, ua.ErrorMessage): + self.logger.warning("Received an error: %s", msg) + else: + raise ua.UaError("Unsupported message type: %s", msg) + + def _call_callback(self, request_id, body): + future = self._callbackmap.pop(request_id, None) + if future is None: + raise ua.UaError("No future object found for request: {0}, callbacks in list are {1}".format( + request_id, self._callbackmap.keys())) + future.set_result(body) + + def _create_request_header(self, timeout=1000): + hdr = ua.RequestHeader() + hdr.AuthenticationToken = self.authentication_token + self._request_handle += 1 + hdr.RequestHandle = self._request_handle + hdr.TimeoutHint = timeout + return hdr + + def disconnect_socket(self): + self.logger.info("stop request") + self.transport.close() + + async def send_hello(self, url, max_messagesize=0, max_chunkcount=0): + hello = ua.Hello() + hello.EndpointUrl = url + hello.MaxMessageSize = max_messagesize + hello.MaxChunkCount = max_chunkcount + future = asyncio.Future() + self._callbackmap[0] = future + binmsg = uatcp_to_binary(ua.MessageType.Hello, hello) + self.transport.write(binmsg) + await asyncio.wait_for(future, self.timeout) + ack = future.result() + return ack + + async def open_secure_channel(self, params): + self.logger.info("open_secure_channel") + request = ua.OpenSecureChannelRequest() + request.Parameters = params + future = self._send_request(request, message_type=ua.MessageType.SecureOpen) + await asyncio.wait_for(future, self.timeout) + result = future.result() + # FIXME: we have a race condition here + # we can get a packet with the new token id before we reach to store it.. + response = struct_from_binary(ua.OpenSecureChannelResponse, result) + response.ResponseHeader.ServiceResult.check() + self._connection.set_channel(response.Parameters) + return response.Parameters + + async def close_secure_channel(self): + """ + close secure channel. It seems to trigger a shutdown of socket + in most servers, so be prepare to reconnect. + OPC UA specs Part 6, 7.1.4 say that Server does not send a CloseSecureChannel response and should just close socket + """ + self.logger.info("close_secure_channel") + request = ua.CloseSecureChannelRequest() + future = self._send_request(request, message_type=ua.MessageType.SecureClose) + # don't expect any more answers + future.cancel() + self._callbackmap.clear() + # some servers send a response here, most do not ... so we ignore + + +class UaClient: + """ + low level OPC-UA client. + + It implements (almost) all methods defined in opcua spec + taking in argument the structures defined in opcua spec. + + In this Python implementation most of the structures are defined in + uaprotocol_auto.py and uaprotocol_hand.py available under opcua.ua + """ + + def __init__(self, timeout=1): + self.logger = logging.getLogger(__name__) + # _publishcallbacks should be accessed in recv thread only + self.loop = asyncio.get_event_loop() + self._publishcallbacks = {} + self._timeout = timeout + self.security_policy = ua.SecurityPolicy() + self.protocol = None + + def set_security(self, policy): + self.security_policy = policy + + def _make_protocol(self): + self.protocol = UASocketProtocol(self._timeout, security_policy=self.security_policy) + return self.protocol + + async def connect_socket(self, host, port): + """ + connect to server socket and start receiving thread + """ + self.logger.info("opening connection") + # nodelay ncessary to avoid packing in one frame, some servers do not like it + # ToDo: TCP_NODELAY is set by default, but only since 3.6 + await self.loop.create_connection(self._make_protocol, host, port) + + def disconnect_socket(self): + return self.protocol.disconnect_socket() + + async def send_hello(self, url, max_messagesize=0, max_chunkcount=0): + await self.protocol.send_hello(url, max_messagesize, max_chunkcount) + + async def open_secure_channel(self, params): + return await self.protocol.open_secure_channel(params) + + async def close_secure_channel(self): + """ + close secure channel. It seems to trigger a shutdown of socket + in most servers, so be prepare to reconnect + """ + return await self.protocol.close_secure_channel() + + async def create_session(self, parameters): + self.logger.info("create_session") + request = ua.CreateSessionRequest() + request.Parameters = parameters + data = self.protocol.send_request(request) + response = struct_from_binary(ua.CreateSessionResponse, data) + self.logger.debug(response) + response.ResponseHeader.ServiceResult.check() + self.protocol.authentication_token = response.Parameters.AuthenticationToken + return response.Parameters + + async def activate_session(self, parameters): + self.logger.info("activate_session") + request = ua.ActivateSessionRequest() + request.Parameters = parameters + data = await self.protocol.send_request(request) + response = struct_from_binary(ua.ActivateSessionResponse, data) + self.logger.debug(response) + response.ResponseHeader.ServiceResult.check() + return response.Parameters + + async def close_session(self, deletesubscriptions): + self.logger.info("close_session") + request = ua.CloseSessionRequest() + request.DeleteSubscriptions = deletesubscriptions + data = await self.protocol.send_request(request) + response = struct_from_binary(ua.CloseSessionResponse, data) + try: + response.ResponseHeader.ServiceResult.check() + except BadSessionClosed: + # Problem: closing the session with open publish requests leads to BadSessionClosed responses + # we can just ignore it therefore. + # Alternatively we could make sure that there are no publish requests in flight when + # closing the session. + pass + + async def browse(self, parameters): + self.logger.info("browse") + request = ua.BrowseRequest() + request.Parameters = parameters + data = await self.protocol.send_request(request) + response = struct_from_binary(ua.BrowseResponse, data) + self.logger.debug(response) + response.ResponseHeader.ServiceResult.check() + return response.Results + + async def browse_next(self, parameters): + self.logger.info("browse next") + request = ua.BrowseNextRequest() + request.Parameters = parameters + data = await self.protocol.send_request(request) + response = struct_from_binary(ua.BrowseNextResponse, data) + self.logger.debug(response) + response.ResponseHeader.ServiceResult.check() + return response.Parameters.Results + + async def read(self, parameters): + self.logger.info("read") + request = ua.ReadRequest() + request.Parameters = parameters + data = await self.protocol.send_request(request) + response = struct_from_binary(ua.ReadResponse, data) + self.logger.debug(response) + response.ResponseHeader.ServiceResult.check() + # cast to Enum attributes that need to + for idx, rv in enumerate(parameters.NodesToRead): + if rv.AttributeId == ua.AttributeIds.NodeClass: + dv = response.Results[idx] + if dv.StatusCode.is_good(): + dv.Value.Value = ua.NodeClass(dv.Value.Value) + elif rv.AttributeId == ua.AttributeIds.ValueRank: + dv = response.Results[idx] + if dv.StatusCode.is_good() and dv.Value.Value in (-3, -2, -1, 0, 1, 2, 3, 4): + dv.Value.Value = ua.ValueRank(dv.Value.Value) + return response.Results + + async def write(self, params): + self.logger.info("read") + request = ua.WriteRequest() + request.Parameters = params + data = await self.protocol.send_request(request) + response = struct_from_binary(ua.WriteResponse, data) + self.logger.debug(response) + response.ResponseHeader.ServiceResult.check() + return response.Results + + async def get_endpoints(self, params): + self.logger.info("get_endpoint") + request = ua.GetEndpointsRequest() + request.Parameters = params + data = await self.protocol.send_request(request) + response = struct_from_binary(ua.GetEndpointsResponse, data) + self.logger.debug(response) + response.ResponseHeader.ServiceResult.check() + return response.Endpoints + + async def find_servers(self, params): + self.logger.info("find_servers") + request = ua.FindServersRequest() + request.Parameters = params + data = await self.protocol.send_request(request) + response = struct_from_binary(ua.FindServersResponse, data) + self.logger.debug(response) + response.ResponseHeader.ServiceResult.check() + return response.Servers + + async def find_servers_on_network(self, params): + self.logger.info("find_servers_on_network") + request = ua.FindServersOnNetworkRequest() + request.Parameters = params + data = await self.protocol.send_request(request) + response = struct_from_binary(ua.FindServersOnNetworkResponse, data) + self.logger.debug(response) + response.ResponseHeader.ServiceResult.check() + return response.Parameters + + async def register_server(self, registered_server): + self.logger.info("register_server") + request = ua.RegisterServerRequest() + request.Server = registered_server + data = await self.protocol.send_request(request) + response = struct_from_binary(ua.RegisterServerResponse, data) + self.logger.debug(response) + response.ResponseHeader.ServiceResult.check() + # nothing to return for this service + + async def register_server2(self, params): + self.logger.info("register_server2") + request = ua.RegisterServer2Request() + request.Parameters = params + data = await self.protocol.send_request(request) + response = struct_from_binary(ua.RegisterServer2Response, data) + self.logger.debug(response) + response.ResponseHeader.ServiceResult.check() + return response.ConfigurationResults + + async def translate_browsepaths_to_nodeids(self, browsepaths): + self.logger.info("translate_browsepath_to_nodeid") + request = ua.TranslateBrowsePathsToNodeIdsRequest() + request.Parameters.BrowsePaths = browsepaths + data = await self.protocol.send_request(request) + response = struct_from_binary(ua.TranslateBrowsePathsToNodeIdsResponse, data) + self.logger.debug(response) + response.ResponseHeader.ServiceResult.check() + return response.Results + + async def create_subscription(self, params, callback): + self.logger.info("create_subscription") + request = ua.CreateSubscriptionRequest() + request.Parameters = params + resp_fut = asyncio.Future() + mycallbak = partial(self._create_subscription_callback, callback, resp_fut) + await self.protocol.send_request(request, mycallbak) + await asyncio.wait_for(resp_fut, self._timeout) + return resp_fut.result() + + def _create_subscription_callback(self, pub_callback, resp_fut, data_fut): + self.logger.info("_create_subscription_callback") + data = data_fut.result() + response = struct_from_binary(ua.CreateSubscriptionResponse, data) + self.logger.debug(response) + response.ResponseHeader.ServiceResult.check() + self._publishcallbacks[response.Parameters.SubscriptionId] = pub_callback + resp_fut.set_result(response.Parameters) + + async def delete_subscriptions(self, subscriptionids): + self.logger.info("delete_subscription") + request = ua.DeleteSubscriptionsRequest() + request.Parameters.SubscriptionIds = subscriptionids + resp_fut = asyncio.Future() + mycallbak = partial(self._delete_subscriptions_callback, subscriptionids, resp_fut) + self.protocol.send_request(request, mycallbak) + await asyncio.wait_for(resp_fut, self._timeout) + return resp_fut.result() + + def _delete_subscriptions_callback(self, subscriptionids, resp_fut, data_fut): + # ToDo: this has to be a coro + self.logger.info("_delete_subscriptions_callback") + data = data_fut.result() + response = struct_from_binary(ua.DeleteSubscriptionsResponse, data) + self.logger.debug(response) + response.ResponseHeader.ServiceResult.check() + for sid in subscriptionids: + self._publishcallbacks.pop(sid) + resp_fut.set_result(response.Results) + + async def publish(self, acks=None): + self.logger.info("publish") + if acks is None: + acks = [] + request = ua.PublishRequest() + request.Parameters.SubscriptionAcknowledgements = acks + await self.protocol.send_request(request, self._call_publish_callback, timeout=0) + + async def _call_publish_callback(self, future): + self.logger.info("call_publish_callback") + await future + data = future.result() + # check if answer looks ok + try: + self.protocol.check_answer(data, "while waiting for publish response") + except BadTimeout: # Spec Part 4, 7.28 + self.publish() + return + except BadNoSubscription: # Spec Part 5, 13.8.1 + # BadNoSubscription is expected after deleting the last subscription. + # + # We should therefore also check for len(self._publishcallbacks) == 0, but + # this gets us into trouble if a Publish response arrives before the + # DeleteSubscription response. + # + # We could remove the callback already when sending the DeleteSubscription request, + # but there are some legitimate reasons to keep them around, such as when the server + # responds with "BadTimeout" and we should try again later instead of just removing + # the subscription client-side. + # + # There are a variety of ways to act correctly, but the most practical solution seems + # to be to just ignore any BadNoSubscription responses. + self.logger.info("BadNoSubscription received, ignoring because it's probably valid.") + return + + # parse publish response + try: + response = struct_from_binary(ua.PublishResponse, data) + self.logger.debug(response) + except Exception: + # INFO: catching the exception here might be obsolete because we already + # catch BadTimeout above. However, it's not really clear what this code + # does so it stays in, doesn't seem to hurt. + self.logger.exception("Error parsing notificatipn from server") + self.publish([]) # send publish request ot server so he does stop sending notifications + return + + # look for callback + try: + callback = self._publishcallbacks[response.Parameters.SubscriptionId] + except KeyError: + self.logger.warning("Received data for unknown subscription: %s ", response.Parameters.SubscriptionId) + return + + # do callback + try: + callback(response.Parameters) + except Exception: # we call client code, catch everything! + self.logger.exception("Exception while calling user callback: %s") + + async def create_monitored_items(self, params): + self.logger.info("create_monitored_items") + request = ua.CreateMonitoredItemsRequest() + request.Parameters = params + data = await self.protocol.send_request(request) + response = struct_from_binary(ua.CreateMonitoredItemsResponse, data) + self.logger.debug(response) + response.ResponseHeader.ServiceResult.check() + return response.Results + + async def delete_monitored_items(self, params): + self.logger.info("delete_monitored_items") + request = ua.DeleteMonitoredItemsRequest() + request.Parameters = params + data = await self.protocol.send_request(request) + response = struct_from_binary(ua.DeleteMonitoredItemsResponse, data) + self.logger.debug(response) + response.ResponseHeader.ServiceResult.check() + return response.Results + + async def add_nodes(self, nodestoadd): + self.logger.info("add_nodes") + request = ua.AddNodesRequest() + request.Parameters.NodesToAdd = nodestoadd + data = await self.protocol.send_request(request) + response = struct_from_binary(ua.AddNodesResponse, data) + self.logger.debug(response) + response.ResponseHeader.ServiceResult.check() + return response.Results + + async def add_references(self, refs): + self.logger.info("add_references") + request = ua.AddReferencesRequest() + request.Parameters.ReferencesToAdd = refs + data = await self.protocol.send_request(request) + response = struct_from_binary(ua.AddReferencesResponse, data) + self.logger.debug(response) + response.ResponseHeader.ServiceResult.check() + return response.Results + + async def delete_references(self, refs): + self.logger.info("delete") + request = ua.DeleteReferencesRequest() + request.Parameters.ReferencesToDelete = refs + data = await self.protocol.send_request(request) + response = struct_from_binary(ua.DeleteReferencesResponse, data) + self.logger.debug(response) + response.ResponseHeader.ServiceResult.check() + return response.Parameters.Results + + async def delete_nodes(self, params): + self.logger.info("delete_nodes") + request = ua.DeleteNodesRequest() + request.Parameters = params + data = await self.protocol.send_request(request) + response = struct_from_binary(ua.DeleteNodesResponse, data) + self.logger.debug(response) + response.ResponseHeader.ServiceResult.check() + return response.Results + + async def call(self, methodstocall): + request = ua.CallRequest() + request.Parameters.MethodsToCall = methodstocall + data = await self.protocol.send_request(request) + response = struct_from_binary(ua.CallResponse, data) + self.logger.debug(response) + response.ResponseHeader.ServiceResult.check() + return response.Results + + async def history_read(self, params): + self.logger.info("history_read") + request = ua.HistoryReadRequest() + request.Parameters = params + data = await self.protocol.send_request(request) + response = struct_from_binary(ua.HistoryReadResponse, data) + self.logger.debug(response) + response.ResponseHeader.ServiceResult.check() + return response.Results + + async def modify_monitored_items(self, params): + self.logger.info("modify_monitored_items") + request = ua.ModifyMonitoredItemsRequest() + request.Parameters = params + data = await self.protocol.send_request(request) + response = struct_from_binary(ua.ModifyMonitoredItemsResponse, data) + self.logger.debug(response) + response.ResponseHeader.ServiceResult.check() + return response.Results diff --git a/opcua/common/async_connection.py b/opcua/common/async_connection.py new file mode 100644 index 000000000..1d28c2862 --- /dev/null +++ b/opcua/common/async_connection.py @@ -0,0 +1,29 @@ + +import asyncio +import logging +from opcua.common.connection import SecureConnection +from opcua.ua.async_ua_binary import header_from_binary +from opcua import ua + +logger = logging.getLogger('opcua.uaprotocol') + + +class AsyncSecureConnection(SecureConnection): + """ + Async version of SecureConnection + """ + + async def receive_from_socket(self, protocol): + """ + Convert binary stream to OPC UA TCP message (see OPC UA + specs Part 6, 7.1: Hello, Acknowledge or ErrorMessage), or a Message + object, or None (if intermediate chunk is received) + """ + logger.debug("Waiting for header") + header = await header_from_binary(protocol) + logger.info("received header: %s", header) + body = await protocol.read(header.body_size) + if len(body) != header.body_size: + # ToDo: should never happen since UASocketProtocol.read() waits until `size` bytes are received. Remove? + raise ua.UaError("{0} bytes expected, {1} available".format(header.body_size, len(body))) + return self.receive_from_header_and_body(header, ua.utils.Buffer(body)) diff --git a/opcua/ua/async_ua_binary.py b/opcua/ua/async_ua_binary.py new file mode 100644 index 000000000..9d12845f2 --- /dev/null +++ b/opcua/ua/async_ua_binary.py @@ -0,0 +1,14 @@ + +import struct +from opcua import ua +from opcua.ua.ua_binary import Primitives + + +async def header_from_binary(data): + hdr = ua.Header() + hdr.MessageType, hdr.ChunkType, hdr.packet_size = struct.unpack("<3scI", await data.read(8)) + hdr.body_size = hdr.packet_size - 8 + if hdr.MessageType in (ua.MessageType.SecureOpen, ua.MessageType.SecureClose, ua.MessageType.SecureMessage): + hdr.body_size -= 4 + hdr.ChannelId = Primitives.UInt32.unpack(ua.utils.Buffer(await data.read(4))) + return hdr From c67c8aa4eb1b7926a42ce0acc7ff33c05c82da10 Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Sun, 28 Jan 2018 22:21:18 +0100 Subject: [PATCH 023/113] [ADD] async refactoring of ua client wip --- opcua/client/async_ua_client.py | 119 ++++++++++++++------------------ 1 file changed, 53 insertions(+), 66 deletions(-) diff --git a/opcua/client/async_ua_client.py b/opcua/client/async_ua_client.py index 3afce95a3..bdf264d82 100644 --- a/opcua/client/async_ua_client.py +++ b/opcua/client/async_ua_client.py @@ -13,8 +13,8 @@ class UASocketProtocol(asyncio.Protocol): """ - handle socket connection and send ua messages - timeout is the timeout used while waiting for an ua answer from server + Handle socket connection and send ua messages. + Timeout is the timeout used while waiting for an ua answer from server. """ def __init__(self, timeout=1, security_policy=ua.SecurityPolicy()): @@ -39,7 +39,7 @@ def connection_lost(self, exc): self.transport = None def data_received(self, data): - self.receive_buffer.put(data) + self.receive_buffer.put_nowait(data) if not self.is_receiving: self.is_receiving = True self.loop.create_task(self._receive()) @@ -69,16 +69,16 @@ async def read(self, size): def _send_request(self, request, callback=None, timeout=1000, message_type=ua.MessageType.SecureMessage): """ - send request to server, lower-level method - timeout is the timeout written in ua header - returns future + Send request to server, lower-level method. + Timeout is the timeout written in ua header. + Returns future """ request.RequestHeader = self._create_request_header(timeout) self.logger.debug("Sending: %s", request) try: binreq = struct_to_binary(request) except: - # reset reqeust handle if any error + # reset request handle if any error # see self._create_request_header self._request_handle -= 1 raise @@ -93,9 +93,9 @@ def _send_request(self, request, callback=None, timeout=1000, message_type=ua.Me async def send_request(self, request, callback=None, timeout=1000, message_type=ua.MessageType.SecureMessage): """ - send request to server. - timeout is the timeout written in ua header - returns response object if no callback is provided + Send a request to the server. + Timeout is the timeout written in ua header. + Returns response object if no callback is provided. """ future = self._send_request(request, callback, timeout, message_type) if not callback: @@ -116,7 +116,7 @@ def check_answer(self, data, context): async def _receive(self): msg = await self._connection.receive_from_socket(self) if msg is None: - return + pass elif isinstance(msg, ua.Message): self._call_callback(msg.request_id(), msg.body()) elif isinstance(msg, ua.Acknowledge): @@ -125,6 +125,11 @@ async def _receive(self): self.logger.warning("Received an error: %s", msg) else: raise ua.UaError("Unsupported message type: %s", msg) + if self._leftover_chunk or not self.receive_buffer.empty(): + # keep receiving + self.loop.create_task(self._receive()) + else: + self.is_receiving = False def _call_callback(self, request_id, body): future = self._callbackmap.pop(request_id, None) @@ -174,9 +179,10 @@ async def open_secure_channel(self, params): async def close_secure_channel(self): """ - close secure channel. It seems to trigger a shutdown of socket - in most servers, so be prepare to reconnect. - OPC UA specs Part 6, 7.1.4 say that Server does not send a CloseSecureChannel response and should just close socket + Close secure channel. + It seems to trigger a shutdown of socket in most servers, so be prepare to reconnect. + OPC UA specs Part 6, 7.1.4 say that Server does not send a CloseSecureChannel response + and should just close socket. """ self.logger.info("close_secure_channel") request = ua.CloseSecureChannelRequest() @@ -200,9 +206,8 @@ class UaClient: def __init__(self, timeout=1): self.logger = logging.getLogger(__name__) - # _publishcallbacks should be accessed in recv thread only self.loop = asyncio.get_event_loop() - self._publishcallbacks = {} + self._publish_callbacks = {} self._timeout = timeout self.security_policy = ua.SecurityPolicy() self.protocol = None @@ -215,9 +220,7 @@ def _make_protocol(self): return self.protocol async def connect_socket(self, host, port): - """ - connect to server socket and start receiving thread - """ + """Connect to server socket.""" self.logger.info("opening connection") # nodelay ncessary to avoid packing in one frame, some servers do not like it # ToDo: TCP_NODELAY is set by default, but only since 3.6 @@ -260,10 +263,10 @@ async def activate_session(self, parameters): response.ResponseHeader.ServiceResult.check() return response.Parameters - async def close_session(self, deletesubscriptions): + async def close_session(self, delete_subscriptions): self.logger.info("close_session") request = ua.CloseSessionRequest() - request.DeleteSubscriptions = deletesubscriptions + request.DeleteSubscriptions = delete_subscriptions data = await self.protocol.send_request(request) response = struct_from_binary(ua.CloseSessionResponse, data) try: @@ -375,10 +378,10 @@ async def register_server2(self, params): response.ResponseHeader.ServiceResult.check() return response.ConfigurationResults - async def translate_browsepaths_to_nodeids(self, browsepaths): + async def translate_browsepaths_to_nodeids(self, browse_paths): self.logger.info("translate_browsepath_to_nodeid") request = ua.TranslateBrowsePathsToNodeIdsRequest() - request.Parameters.BrowsePaths = browsepaths + request.Parameters.BrowsePaths = browse_paths data = await self.protocol.send_request(request) response = struct_from_binary(ua.TranslateBrowsePathsToNodeIdsResponse, data) self.logger.debug(response) @@ -389,41 +392,30 @@ async def create_subscription(self, params, callback): self.logger.info("create_subscription") request = ua.CreateSubscriptionRequest() request.Parameters = params - resp_fut = asyncio.Future() - mycallbak = partial(self._create_subscription_callback, callback, resp_fut) - await self.protocol.send_request(request, mycallbak) - await asyncio.wait_for(resp_fut, self._timeout) - return resp_fut.result() - - def _create_subscription_callback(self, pub_callback, resp_fut, data_fut): - self.logger.info("_create_subscription_callback") - data = data_fut.result() - response = struct_from_binary(ua.CreateSubscriptionResponse, data) + response = struct_from_binary( + ua.CreateSubscriptionResponse, + await self.protocol.send_request(request) + ) + self.logger.info("create subscription callback") self.logger.debug(response) response.ResponseHeader.ServiceResult.check() - self._publishcallbacks[response.Parameters.SubscriptionId] = pub_callback - resp_fut.set_result(response.Parameters) + self._publish_callbacks[response.Parameters.SubscriptionId] = callback + return response.Parameters - async def delete_subscriptions(self, subscriptionids): + async def delete_subscriptions(self, subscription_ids): self.logger.info("delete_subscription") request = ua.DeleteSubscriptionsRequest() - request.Parameters.SubscriptionIds = subscriptionids - resp_fut = asyncio.Future() - mycallbak = partial(self._delete_subscriptions_callback, subscriptionids, resp_fut) - self.protocol.send_request(request, mycallbak) - await asyncio.wait_for(resp_fut, self._timeout) - return resp_fut.result() - - def _delete_subscriptions_callback(self, subscriptionids, resp_fut, data_fut): - # ToDo: this has to be a coro - self.logger.info("_delete_subscriptions_callback") - data = data_fut.result() - response = struct_from_binary(ua.DeleteSubscriptionsResponse, data) + request.Parameters.SubscriptionIds = subscription_ids + response = struct_from_binary( + ua.DeleteSubscriptionsResponse, + await self.protocol.send_request(request) + ) + self.logger.info("delete subscriptions callback") self.logger.debug(response) response.ResponseHeader.ServiceResult.check() - for sid in subscriptionids: - self._publishcallbacks.pop(sid) - resp_fut.set_result(response.Results) + for sid in subscription_ids: + self._publish_callbacks.pop(sid) + return response.Results async def publish(self, acks=None): self.logger.info("publish") @@ -431,17 +423,13 @@ async def publish(self, acks=None): acks = [] request = ua.PublishRequest() request.Parameters.SubscriptionAcknowledgements = acks - await self.protocol.send_request(request, self._call_publish_callback, timeout=0) - - async def _call_publish_callback(self, future): - self.logger.info("call_publish_callback") - await future - data = future.result() + data = await self.protocol.send_request(request, timeout=0) # check if answer looks ok try: self.protocol.check_answer(data, "while waiting for publish response") - except BadTimeout: # Spec Part 4, 7.28 - self.publish() + except BadTimeout: + # Spec Part 4, 7.28 + self.loop.create_task(self.publish()) return except BadNoSubscription: # Spec Part 5, 13.8.1 # BadNoSubscription is expected after deleting the last subscription. @@ -459,7 +447,6 @@ async def _call_publish_callback(self, future): # to be to just ignore any BadNoSubscription responses. self.logger.info("BadNoSubscription received, ignoring because it's probably valid.") return - # parse publish response try: response = struct_from_binary(ua.PublishResponse, data) @@ -468,21 +455,21 @@ async def _call_publish_callback(self, future): # INFO: catching the exception here might be obsolete because we already # catch BadTimeout above. However, it's not really clear what this code # does so it stays in, doesn't seem to hurt. - self.logger.exception("Error parsing notificatipn from server") - self.publish([]) # send publish request ot server so he does stop sending notifications + self.logger.exception("Error parsing notification from server") + # send publish request ot server so he does stop sending notifications + self.loop.create_task(self.publish([])) return - # look for callback try: - callback = self._publishcallbacks[response.Parameters.SubscriptionId] + callback = self._publish_callbacks[response.Parameters.SubscriptionId] except KeyError: self.logger.warning("Received data for unknown subscription: %s ", response.Parameters.SubscriptionId) return - # do callback try: callback(response.Parameters) - except Exception: # we call client code, catch everything! + except Exception: + # we call client code, catch everything! self.logger.exception("Exception while calling user callback: %s") async def create_monitored_items(self, params): From b67034b66d00a1440a4256e56ddf95024f1c0197 Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Mon, 29 Jan 2018 14:20:29 +0100 Subject: [PATCH 024/113] [ADD] wip --- examples/async_client.py | 50 +++++++++ opcua/client/async_client.py | 175 ++++++++++++++++---------------- opcua/client/async_ua_client.py | 16 +-- 3 files changed, 148 insertions(+), 93 deletions(-) create mode 100644 examples/async_client.py diff --git a/examples/async_client.py b/examples/async_client.py new file mode 100644 index 000000000..f21002bcd --- /dev/null +++ b/examples/async_client.py @@ -0,0 +1,50 @@ + +import asyncio +import logging + +from opcua.client.async_client import AsyncClient + +logging.basicConfig(level=logging.INFO) +_logger = logging.getLogger('opcua') + + +async def browse_nodes(node, level=0): + node_class = node.get_node_class() + return { + 'id': node.nodeid.to_string(), + 'name': node.get_display_name().Text.decode('utf8'), + 'cls': node_class.value, + 'children': [ + browse_nodes(child, level=level + 1) for child in node.get_children(nodeclassmask=objects_and_variables) + ], + 'type': node.get_data_type_as_variant_type().value if node_class == ua.NodeClass.Variable else None, + } + + +async def task(loop): + try: + client = AsyncClient(url='opc.tcp://commsvr.com:51234/UA/CAS_UA_Server') + await client.connect() + obj_node = client.get_objects_node() + _logger.info('Objects Node: %r', obj_node) + tree = await browse_nodes(obj_node) + _logger.info('Tree: %r', tree) + except Exception: + _logger.exception('Task error') + loop.stop() + + +def main(): + loop = asyncio.get_event_loop() + loop.set_debug(True) + loop.create_task(task(loop)) + try: + loop.run_forever() + except Exception: + _logger.exception('Event loop error') + loop.run_until_complete(loop.shutdown_asyncgens()) + loop.close() + + +if __name__ == '__main__': + main() diff --git a/opcua/client/async_client.py b/opcua/client/async_client.py index 116967b28..8e6093681 100644 --- a/opcua/client/async_client.py +++ b/opcua/client/async_client.py @@ -1,4 +1,4 @@ - +import asyncio import logging from urllib.parse import urlparse @@ -13,6 +13,7 @@ from opcua.crypto import security_policies from opcua.common.shortcuts import Shortcuts from opcua.common.structures import load_type_definitions + use_crypto = True try: from opcua.crypto import uacrypto @@ -21,11 +22,11 @@ use_crypto = False -class KeepAlive(Thread): - +class KeepAlive: """ Used by Client to keep the session open. OPCUA defines timeout both for sessions and secure channel + ToDo: remove """ def __init__(self, client, timeout): @@ -33,25 +34,24 @@ def __init__(self, client, timeout): :param session_timeout: Timeout to re-new the session in milliseconds. """ - Thread.__init__(self) self.logger = logging.getLogger(__name__) - + self.loop = asyncio.get_event_loop() self.client = client - self._dostop = False + self._do_stop = False self._cond = Condition() self.timeout = timeout # some server support no timeout, but we do not trust them if self.timeout == 0: - self.timeout = 3600000 # 1 hour + self.timeout = 3600000 # 1 hour def run(self): self.logger.debug("starting keepalive thread with period of %s milliseconds", self.timeout) server_state = self.client.get_node(ua.FourByteNodeId(ua.ObjectIds.Server_ServerStatus_State)) - while not self._dostop: + while not self._do_stop: with self._cond: self._cond.wait(self.timeout / 1000) - if self._dostop: + if self._do_stop: break self.logger.debug("renewing channel") self.client.open_secure_channel(renew=True) @@ -61,19 +61,18 @@ def run(self): def stop(self): self.logger.debug("stoping keepalive thread") - self._dostop = True + self._do_stop = True with self._cond: self._cond.notify_all() -class Client(object): - +class AsyncClient(object): """ High level client to connect to an OPC-UA server. This class makes it easy to connect and browse address space. - It attemps to expose as much functionality as possible - but if you want more flexibility it is possible and adviced to + It attempts to expose as much functionality as possible + but if you want more flexibility it is possible and advised to use UaClient object, available as self.uaclient which offers the raw OPC-UA services interface. """ @@ -91,17 +90,17 @@ def __init__(self, url, timeout=4): """ self.logger = logging.getLogger(__name__) self.server_url = urlparse(url) - #take initial username and password from the url + # take initial username and password from the url self._username = self.server_url.username self._password = self.server_url.password - self.name = "Pure Python Client" + self.name = "Pure Python Async. Client" self.description = self.name self.application_uri = "urn:freeopcua:client" self.product_uri = "urn:freeopcua.github.no:client" self.security_policy = ua.SecurityPolicy() self.secure_channel_id = None - self.secure_channel_timeout = 3600000 # 1 hour - self.session_timeout = 3600000 # 1 hour + self.secure_channel_timeout = 3600000 # 1 hour + self.session_timeout = 3600000 # 1 hour self._policy_ids = [] self.uaclient = UaClient(timeout) self.user_certificate = None @@ -110,14 +109,14 @@ def __init__(self, url, timeout=4): self._session_counter = 1 self.keepalive = None self.nodes = Shortcuts(self.uaclient) - self.max_messagesize = 0 # No limits - self.max_chunkcount = 0 # No limits + self.max_messagesize = 0 # No limits + self.max_chunkcount = 0 # No limits - def __enter__(self): - self.connect() + async def __aenter__(self): + await self.connect() return self - def __exit__(self, exc_type, exc_value, traceback): + async def __aexit__(self, exc_type, exc_value, traceback): self.disconnect() @staticmethod @@ -163,20 +162,20 @@ def set_security_string(self, string): raise ua.UaError('Wrong format: `{0}`, expected at least 4 comma-separated values'.format(string)) policy_class = getattr(security_policies, 'SecurityPolicy' + parts[0]) mode = getattr(ua.MessageSecurityMode, parts[1]) - return self.set_security(policy_class, parts[2], parts[3], - parts[4] if len(parts) >= 5 else None, mode) + return self.set_security( + policy_class, parts[2], parts[3], parts[4] if len(parts) >= 5 else None, mode + ) - def set_security(self, policy, certificate_path, private_key_path, - server_certificate_path=None, - mode=ua.MessageSecurityMode.SignAndEncrypt): + async def set_security(self, policy, certificate_path, private_key_path, + server_certificate_path=None, mode=ua.MessageSecurityMode.SignAndEncrypt): """ Set SecureConnection mode. Call this before connect() """ if server_certificate_path is None: # load certificate from server's list of endpoints - endpoints = self.connect_and_get_server_endpoints() - endpoint = Client.find_endpoint(endpoints, mode, policy.URI) + endpoints = await self.connect_and_get_server_endpoints() + endpoint = AsyncClient.find_endpoint(endpoints, mode, policy.URI) server_cert = uacrypto.x509_from_der(endpoint.ServerCertificate) else: server_cert = uacrypto.load_certificate(server_certificate_path) @@ -197,81 +196,81 @@ def load_private_key(self, path): """ self.user_private_key = uacrypto.load_private_key(path) - def connect_and_get_server_endpoints(self): + async def connect_and_get_server_endpoints(self): """ Connect, ask server for endpoints, and disconnect """ - self.connect_socket() - self.send_hello() - self.open_secure_channel() - endpoints = self.get_endpoints() - self.close_secure_channel() + await self.connect_socket() + await self.send_hello() + await self.open_secure_channel() + endpoints = await self.get_endpoints() + await self.close_secure_channel() self.disconnect_socket() return endpoints - def connect_and_find_servers(self): + async def connect_and_find_servers(self): """ Connect, ask server for a list of known servers, and disconnect """ - self.connect_socket() - self.send_hello() - self.open_secure_channel() # spec says it should not be necessary to open channel - servers = self.find_servers() - self.close_secure_channel() + await self.connect_socket() + await self.send_hello() + await self.open_secure_channel() # spec says it should not be necessary to open channel + servers = await self.find_servers() + await self.close_secure_channel() self.disconnect_socket() return servers - def connect_and_find_servers_on_network(self): + async def connect_and_find_servers_on_network(self): """ Connect, ask server for a list of known servers on network, and disconnect """ - self.connect_socket() - self.send_hello() - self.open_secure_channel() - servers = self.find_servers_on_network() - self.close_secure_channel() + await self.connect_socket() + await self.send_hello() + await self.open_secure_channel() + servers = await self.find_servers_on_network() + await self.close_secure_channel() self.disconnect_socket() return servers - def connect(self): + async def connect(self): """ High level method Connect, create and activate session """ - self.connect_socket() - self.send_hello() - self.open_secure_channel() - self.create_session() - self.activate_session(username=self._username, password=self._password, certificate=self.user_certificate) + await self.connect_socket() + await self.send_hello() + await self.open_secure_channel() + await self.create_session() + await self.activate_session(username=self._username, password=self._password, certificate=self.user_certificate) - def disconnect(self): + async def disconnect(self): """ High level method Close session, secure channel and socket """ try: - self.close_session() - self.close_secure_channel() + await self.close_session() + await self.close_secure_channel() finally: self.disconnect_socket() - def connect_socket(self): + async def connect_socket(self): """ connect to socket defined in url """ - self.uaclient.connect_socket(self.server_url.hostname, self.server_url.port) + await self.uaclient.connect_socket(self.server_url.hostname, self.server_url.port) def disconnect_socket(self): self.uaclient.disconnect_socket() - def send_hello(self): + async def send_hello(self): """ Send OPC-UA hello to server """ - ack = self.uaclient.send_hello(self.server_url.geturl(), self.max_messagesize, self.max_chunkcount) + ack = await self.uaclient.send_hello(self.server_url.geturl(), self.max_messagesize, self.max_chunkcount) # FIXME check ack - def open_secure_channel(self, renew=False): + async def open_secure_channel(self, renew=False): """ Open secure channel, if renew is True, renew channel """ @@ -282,21 +281,22 @@ def open_secure_channel(self, renew=False): params.RequestType = ua.SecurityTokenRequestType.Renew params.SecurityMode = self.security_policy.Mode params.RequestedLifetime = self.secure_channel_timeout - nonce = utils.create_nonce(self.security_policy.symmetric_key_size) # length should be equal to the length of key of symmetric encryption - params.ClientNonce = nonce # this nonce is used to create a symmetric key - result = self.uaclient.open_secure_channel(params) + # length should be equal to the length of key of symmetric encryption + nonce = utils.create_nonce(self.security_policy.symmetric_key_size) + params.ClientNonce = nonce # this nonce is used to create a symmetric key + result = await self.uaclient.open_secure_channel(params) self.security_policy.make_symmetric_key(nonce, result.ServerNonce) self.secure_channel_timeout = result.SecurityToken.RevisedLifetime - def close_secure_channel(self): - return self.uaclient.close_secure_channel() + async def close_secure_channel(self): + return await self.uaclient.close_secure_channel() async def get_endpoints(self): params = ua.GetEndpointsParameters() params.EndpointUrl = self.server_url.geturl() return await self.uaclient.get_endpoints(params) - def register_server(self, server, discovery_configuration=None): + async def register_server(self, server, discovery_configuration=None): """ register a server to discovery server if discovery_configuration is provided, the newer register_server2 service call is used @@ -312,11 +312,11 @@ def register_server(self, server, discovery_configuration=None): params = ua.RegisterServer2Parameters() params.Server = serv params.DiscoveryConfiguration = discovery_configuration - return self.uaclient.register_server2(params) + return await self.uaclient.register_server2(params) else: - return self.uaclient.register_server(serv) + return await self.uaclient.register_server(serv) - def find_servers(self, uris=None): + async def find_servers(self, uris=None): """ send a FindServer request to the server. The answer should be a list of servers the server knows about @@ -327,13 +327,13 @@ def find_servers(self, uris=None): params = ua.FindServersParameters() params.EndpointUrl = self.server_url.geturl() params.ServerUris = uris - return self.uaclient.find_servers(params) + return await self.uaclient.find_servers(params) - def find_servers_on_network(self): + async def find_servers_on_network(self): params = ua.FindServersOnNetworkParameters() - return self.uaclient.find_servers_on_network(params) + return await self.uaclient.find_servers_on_network(params) - def create_session(self): + async def create_session(self): """ send a CreateSessionRequest to server with reasonable parameters. If you want o modify settings look at code of this methods @@ -346,7 +346,8 @@ def create_session(self): desc.ApplicationType = ua.ApplicationType.Client params = ua.CreateSessionParameters() - nonce = utils.create_nonce(32) # at least 32 random bytes for server to prove possession of private key (specs part 4, 5.6.2.2) + # at least 32 random bytes for server to prove possession of private key (specs part 4, 5.6.2.2) + nonce = utils.create_nonce(32) params.ClientNonce = nonce params.ClientCertificate = self.security_policy.client_certificate params.ClientDescription = desc @@ -354,7 +355,7 @@ def create_session(self): params.SessionName = self.description + " Session" + str(self._session_counter) params.RequestedSessionTimeout = 3600000 params.MaxResponseMessageSize = 0 # means no max size - response = self.uaclient.create_session(params) + response = await self.uaclient.create_session(params) if self.security_policy.client_certificate is None: data = nonce else: @@ -366,11 +367,13 @@ def create_session(self): elif self.security_policy.server_certificate != response.ServerCertificate: raise ua.UaError("Server certificate mismatch") # remember PolicyId's: we will use them in activate_session() - ep = Client.find_endpoint(response.ServerEndpoints, self.security_policy.Mode, self.security_policy.URI) + ep = AsyncClient.find_endpoint(response.ServerEndpoints, self.security_policy.Mode, self.security_policy.URI) self._policy_ids = ep.UserIdentityTokens self.session_timeout = response.RevisedSessionTimeout - self.keepalive = KeepAlive(self, min(self.session_timeout, self.secure_channel_timeout) * 0.7) # 0.7 is from spec - self.keepalive.start() + # 0.7 is from spec + # ToDo: refactor with callback_later + # self.keepalive = KeepAlive(self, min(self.session_timeout, self.secure_channel_timeout) * 0.7) + # self.keepalive.start() return response def server_policy_id(self, token_type, default): @@ -393,11 +396,11 @@ def server_policy_uri(self, token_type): if policy.TokenType == token_type: if policy.SecurityPolicyUri: return policy.SecurityPolicyUri - else: # empty URI means "use this endpoint's policy URI" + else: # empty URI means "use this endpoint's policy URI" return self.security_policy.URI return self.security_policy.URI - def activate_session(self, username=None, password=None, certificate=None): + async def activate_session(self, username=None, password=None, certificate=None): """ Activate session using either username and password or private_key """ @@ -416,7 +419,7 @@ def activate_session(self, username=None, password=None, certificate=None): self._add_certificate_auth(params, certificate, challenge) else: self._add_user_auth(params, username, password) - return self.uaclient.activate_session(params) + return await self.uaclient.activate_session(params) def _add_anonymous_auth(self, params): params.UserIdentityToken = ua.AnonymousIdentityToken() @@ -462,13 +465,13 @@ def _encrypt_password(self, password, policy_uri): data, uri = security_policies.encrypt_asymmetric(pubkey, etoken, policy_uri) return data, uri - def close_session(self): + async def close_session(self): """ Close session """ if self.keepalive: self.keepalive.stop() - return self.uaclient.close_session(True) + return await self.uaclient.close_session(True) def get_root_node(self): return self.get_node(ua.TwoByteNodeId(ua.ObjectIds.RootFolder)) @@ -553,5 +556,3 @@ def register_namespace(self, uri): def load_type_definitions(self, nodes=None): return load_type_definitions(self, nodes) - - diff --git a/opcua/client/async_ua_client.py b/opcua/client/async_ua_client.py index bdf264d82..f520ea4c8 100644 --- a/opcua/client/async_ua_client.py +++ b/opcua/client/async_ua_client.py @@ -47,22 +47,25 @@ def data_received(self, data): async def read(self, size): """Receive up to size bytes from socket.""" data = b'' + self.logger.debug('read %s bytes from socket', size) while size > 0: + self.logger.debug('data is now %s, waiting for %s bytes', len(data), size) # ToDo: abort on timeout, socket close # raise SocketClosedException("Server socket has closed") if self._leftover_chunk: + self.logger.debug('leftover bytes %s', len(self._leftover_chunk)) # use leftover chunk first chunk = self._leftover_chunk self._leftover_chunk = None else: chunk = await self.receive_buffer.get() - needed_length = size - len(data) - if len(chunk) <= needed_length: + self.logger.debug('got chunk %s needed_length is %s', len(chunk), size) + if len(chunk) <= size: _chunk = chunk else: # chunk is too big - _chunk = chunk[:needed_length] - self._leftover_chunk = chunk[needed_length:] + _chunk = chunk[:size] + self._leftover_chunk = chunk[size:] data += _chunk size -= len(_chunk) return data @@ -99,7 +102,8 @@ async def send_request(self, request, callback=None, timeout=1000, message_type= """ future = self._send_request(request, callback, timeout, message_type) if not callback: - data = await asyncio.wait_for(future.result(), self.timeout) + await asyncio.wait_for(future, self.timeout) + data = future.result() self.check_answer(data, " in response to " + request.__class__.__name__) return data @@ -246,7 +250,7 @@ async def create_session(self, parameters): self.logger.info("create_session") request = ua.CreateSessionRequest() request.Parameters = parameters - data = self.protocol.send_request(request) + data = await self.protocol.send_request(request) response = struct_from_binary(ua.CreateSessionResponse, data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() From 8447da1b7f7030ce160ede06a1a0144c71033b98 Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Mon, 29 Jan 2018 17:18:18 +0100 Subject: [PATCH 025/113] [ADD] replaced code (sync with async) --- examples/async_client.py | 19 +- opcua/client/async_client.py | 558 ----------------------------- opcua/client/async_ua_client.py | 566 ------------------------------ opcua/client/client.py | 217 ++++++------ opcua/client/ua_client.py | 409 +++++++++++---------- opcua/common/async_connection.py | 29 -- opcua/common/connection.py | 27 +- opcua/common/node.py | 145 ++++---- opcua/common/ua_utils.py | 53 ++- opcua/crypto/security_policies.py | 2 +- opcua/crypto/uacrypto.py | 26 +- opcua/server/server.py | 8 +- opcua/ua/async_ua_binary.py | 14 - opcua/ua/ua_binary.py | 8 +- 14 files changed, 450 insertions(+), 1631 deletions(-) delete mode 100644 opcua/client/async_client.py delete mode 100644 opcua/client/async_ua_client.py delete mode 100644 opcua/common/async_connection.py delete mode 100644 opcua/ua/async_ua_binary.py diff --git a/examples/async_client.py b/examples/async_client.py index f21002bcd..741743170 100644 --- a/examples/async_client.py +++ b/examples/async_client.py @@ -2,28 +2,31 @@ import asyncio import logging -from opcua.client.async_client import AsyncClient +from opcua.client.client import Client +from opcua import ua logging.basicConfig(level=logging.INFO) _logger = logging.getLogger('opcua') +OBJECTS_AND_VARIABLES = ua.NodeClass.Object | ua.NodeClass.Variable async def browse_nodes(node, level=0): - node_class = node.get_node_class() + node_class = await node.get_node_class() + children = [] + for child in await node.get_children(nodeclassmask=OBJECTS_AND_VARIABLES): + children.append(await browse_nodes(child, level=level + 1)) return { 'id': node.nodeid.to_string(), - 'name': node.get_display_name().Text.decode('utf8'), + 'name': (await node.get_display_name()).Text, 'cls': node_class.value, - 'children': [ - browse_nodes(child, level=level + 1) for child in node.get_children(nodeclassmask=objects_and_variables) - ], - 'type': node.get_data_type_as_variant_type().value if node_class == ua.NodeClass.Variable else None, + 'children': children, + 'type': (await node.get_data_type_as_variant_type()).value if node_class == ua.NodeClass.Variable else None, } async def task(loop): try: - client = AsyncClient(url='opc.tcp://commsvr.com:51234/UA/CAS_UA_Server') + client = Client(url='opc.tcp://commsvr.com:51234/UA/CAS_UA_Server') await client.connect() obj_node = client.get_objects_node() _logger.info('Objects Node: %r', obj_node) diff --git a/opcua/client/async_client.py b/opcua/client/async_client.py deleted file mode 100644 index 8e6093681..000000000 --- a/opcua/client/async_client.py +++ /dev/null @@ -1,558 +0,0 @@ -import asyncio -import logging -from urllib.parse import urlparse - -from opcua import ua -from opcua.client.async_ua_client import UaClient -from opcua.common.xmlimporter import XmlImporter -from opcua.common.xmlexporter import XmlExporter -from opcua.common.node import Node -from opcua.common.manage_nodes import delete_nodes -from opcua.common.subscription import Subscription -from opcua.common import utils -from opcua.crypto import security_policies -from opcua.common.shortcuts import Shortcuts -from opcua.common.structures import load_type_definitions - -use_crypto = True -try: - from opcua.crypto import uacrypto -except ImportError: - logging.getLogger(__name__).warning("cryptography is not installed, use of crypto disabled") - use_crypto = False - - -class KeepAlive: - """ - Used by Client to keep the session open. - OPCUA defines timeout both for sessions and secure channel - ToDo: remove - """ - - def __init__(self, client, timeout): - """ - :param session_timeout: Timeout to re-new the session - in milliseconds. - """ - self.logger = logging.getLogger(__name__) - self.loop = asyncio.get_event_loop() - self.client = client - self._do_stop = False - self._cond = Condition() - self.timeout = timeout - - # some server support no timeout, but we do not trust them - if self.timeout == 0: - self.timeout = 3600000 # 1 hour - - def run(self): - self.logger.debug("starting keepalive thread with period of %s milliseconds", self.timeout) - server_state = self.client.get_node(ua.FourByteNodeId(ua.ObjectIds.Server_ServerStatus_State)) - while not self._do_stop: - with self._cond: - self._cond.wait(self.timeout / 1000) - if self._do_stop: - break - self.logger.debug("renewing channel") - self.client.open_secure_channel(renew=True) - val = server_state.get_value() - self.logger.debug("server state is: %s ", val) - self.logger.debug("keepalive thread has stopped") - - def stop(self): - self.logger.debug("stoping keepalive thread") - self._do_stop = True - with self._cond: - self._cond.notify_all() - - -class AsyncClient(object): - """ - High level client to connect to an OPC-UA server. - - This class makes it easy to connect and browse address space. - It attempts to expose as much functionality as possible - but if you want more flexibility it is possible and advised to - use UaClient object, available as self.uaclient - which offers the raw OPC-UA services interface. - """ - - def __init__(self, url, timeout=4): - """ - - :param url: url of the server. - if you are unsure of url, write at least hostname - and port and call get_endpoints - - :param timeout: - Each request sent to the server expects an answer within this - time. The timeout is specified in seconds. - """ - self.logger = logging.getLogger(__name__) - self.server_url = urlparse(url) - # take initial username and password from the url - self._username = self.server_url.username - self._password = self.server_url.password - self.name = "Pure Python Async. Client" - self.description = self.name - self.application_uri = "urn:freeopcua:client" - self.product_uri = "urn:freeopcua.github.no:client" - self.security_policy = ua.SecurityPolicy() - self.secure_channel_id = None - self.secure_channel_timeout = 3600000 # 1 hour - self.session_timeout = 3600000 # 1 hour - self._policy_ids = [] - self.uaclient = UaClient(timeout) - self.user_certificate = None - self.user_private_key = None - self._server_nonce = None - self._session_counter = 1 - self.keepalive = None - self.nodes = Shortcuts(self.uaclient) - self.max_messagesize = 0 # No limits - self.max_chunkcount = 0 # No limits - - async def __aenter__(self): - await self.connect() - return self - - async def __aexit__(self, exc_type, exc_value, traceback): - self.disconnect() - - @staticmethod - def find_endpoint(endpoints, security_mode, policy_uri): - """ - Find endpoint with required security mode and policy URI - """ - for ep in endpoints: - if (ep.EndpointUrl.startswith(ua.OPC_TCP_SCHEME) and - ep.SecurityMode == security_mode and - ep.SecurityPolicyUri == policy_uri): - return ep - raise ua.UaError("No matching endpoints: {0}, {1}".format(security_mode, policy_uri)) - - def set_user(self, username): - """ - Set user name for the connection. - initial user from the URL will be overwritten - """ - self._username = username - - def set_password(self, pwd): - """ - Set user password for the connection. - initial password from the URL will be overwritten - """ - self._password = pwd - - def set_security_string(self, string): - """ - Set SecureConnection mode. String format: - Policy,Mode,certificate,private_key[,server_private_key] - where Policy is Basic128Rsa15 or Basic256, - Mode is Sign or SignAndEncrypt - certificate, private_key and server_private_key are - paths to .pem or .der files - Call this before connect() - """ - if not string: - return - parts = string.split(',') - if len(parts) < 4: - raise ua.UaError('Wrong format: `{0}`, expected at least 4 comma-separated values'.format(string)) - policy_class = getattr(security_policies, 'SecurityPolicy' + parts[0]) - mode = getattr(ua.MessageSecurityMode, parts[1]) - return self.set_security( - policy_class, parts[2], parts[3], parts[4] if len(parts) >= 5 else None, mode - ) - - async def set_security(self, policy, certificate_path, private_key_path, - server_certificate_path=None, mode=ua.MessageSecurityMode.SignAndEncrypt): - """ - Set SecureConnection mode. - Call this before connect() - """ - if server_certificate_path is None: - # load certificate from server's list of endpoints - endpoints = await self.connect_and_get_server_endpoints() - endpoint = AsyncClient.find_endpoint(endpoints, mode, policy.URI) - server_cert = uacrypto.x509_from_der(endpoint.ServerCertificate) - else: - server_cert = uacrypto.load_certificate(server_certificate_path) - cert = uacrypto.load_certificate(certificate_path) - pk = uacrypto.load_private_key(private_key_path) - self.security_policy = policy(server_cert, cert, pk, mode) - self.uaclient.set_security(self.security_policy) - - def load_client_certificate(self, path): - """ - load our certificate from file, either pem or der - """ - self.user_certificate = uacrypto.load_certificate(path) - - def load_private_key(self, path): - """ - Load user private key. This is used for authenticating using certificate - """ - self.user_private_key = uacrypto.load_private_key(path) - - async def connect_and_get_server_endpoints(self): - """ - Connect, ask server for endpoints, and disconnect - """ - await self.connect_socket() - await self.send_hello() - await self.open_secure_channel() - endpoints = await self.get_endpoints() - await self.close_secure_channel() - self.disconnect_socket() - return endpoints - - async def connect_and_find_servers(self): - """ - Connect, ask server for a list of known servers, and disconnect - """ - await self.connect_socket() - await self.send_hello() - await self.open_secure_channel() # spec says it should not be necessary to open channel - servers = await self.find_servers() - await self.close_secure_channel() - self.disconnect_socket() - return servers - - async def connect_and_find_servers_on_network(self): - """ - Connect, ask server for a list of known servers on network, and disconnect - """ - await self.connect_socket() - await self.send_hello() - await self.open_secure_channel() - servers = await self.find_servers_on_network() - await self.close_secure_channel() - self.disconnect_socket() - return servers - - async def connect(self): - """ - High level method - Connect, create and activate session - """ - await self.connect_socket() - await self.send_hello() - await self.open_secure_channel() - await self.create_session() - await self.activate_session(username=self._username, password=self._password, certificate=self.user_certificate) - - async def disconnect(self): - """ - High level method - Close session, secure channel and socket - """ - try: - await self.close_session() - await self.close_secure_channel() - finally: - self.disconnect_socket() - - async def connect_socket(self): - """ - connect to socket defined in url - """ - await self.uaclient.connect_socket(self.server_url.hostname, self.server_url.port) - - def disconnect_socket(self): - self.uaclient.disconnect_socket() - - async def send_hello(self): - """ - Send OPC-UA hello to server - """ - ack = await self.uaclient.send_hello(self.server_url.geturl(), self.max_messagesize, self.max_chunkcount) - # FIXME check ack - - async def open_secure_channel(self, renew=False): - """ - Open secure channel, if renew is True, renew channel - """ - params = ua.OpenSecureChannelParameters() - params.ClientProtocolVersion = 0 - params.RequestType = ua.SecurityTokenRequestType.Issue - if renew: - params.RequestType = ua.SecurityTokenRequestType.Renew - params.SecurityMode = self.security_policy.Mode - params.RequestedLifetime = self.secure_channel_timeout - # length should be equal to the length of key of symmetric encryption - nonce = utils.create_nonce(self.security_policy.symmetric_key_size) - params.ClientNonce = nonce # this nonce is used to create a symmetric key - result = await self.uaclient.open_secure_channel(params) - self.security_policy.make_symmetric_key(nonce, result.ServerNonce) - self.secure_channel_timeout = result.SecurityToken.RevisedLifetime - - async def close_secure_channel(self): - return await self.uaclient.close_secure_channel() - - async def get_endpoints(self): - params = ua.GetEndpointsParameters() - params.EndpointUrl = self.server_url.geturl() - return await self.uaclient.get_endpoints(params) - - async def register_server(self, server, discovery_configuration=None): - """ - register a server to discovery server - if discovery_configuration is provided, the newer register_server2 service call is used - """ - serv = ua.RegisteredServer() - serv.ServerUri = server.application_uri - serv.ProductUri = server.product_uri - serv.DiscoveryUrls = [server.endpoint.geturl()] - serv.ServerType = server.application_type - serv.ServerNames = [ua.LocalizedText(server.name)] - serv.IsOnline = True - if discovery_configuration: - params = ua.RegisterServer2Parameters() - params.Server = serv - params.DiscoveryConfiguration = discovery_configuration - return await self.uaclient.register_server2(params) - else: - return await self.uaclient.register_server(serv) - - async def find_servers(self, uris=None): - """ - send a FindServer request to the server. The answer should be a list of - servers the server knows about - A list of uris can be provided, only server having matching uris will be returned - """ - if uris is None: - uris = [] - params = ua.FindServersParameters() - params.EndpointUrl = self.server_url.geturl() - params.ServerUris = uris - return await self.uaclient.find_servers(params) - - async def find_servers_on_network(self): - params = ua.FindServersOnNetworkParameters() - return await self.uaclient.find_servers_on_network(params) - - async def create_session(self): - """ - send a CreateSessionRequest to server with reasonable parameters. - If you want o modify settings look at code of this methods - and make your own - """ - desc = ua.ApplicationDescription() - desc.ApplicationUri = self.application_uri - desc.ProductUri = self.product_uri - desc.ApplicationName = ua.LocalizedText(self.name) - desc.ApplicationType = ua.ApplicationType.Client - - params = ua.CreateSessionParameters() - # at least 32 random bytes for server to prove possession of private key (specs part 4, 5.6.2.2) - nonce = utils.create_nonce(32) - params.ClientNonce = nonce - params.ClientCertificate = self.security_policy.client_certificate - params.ClientDescription = desc - params.EndpointUrl = self.server_url.geturl() - params.SessionName = self.description + " Session" + str(self._session_counter) - params.RequestedSessionTimeout = 3600000 - params.MaxResponseMessageSize = 0 # means no max size - response = await self.uaclient.create_session(params) - if self.security_policy.client_certificate is None: - data = nonce - else: - data = self.security_policy.client_certificate + nonce - self.security_policy.asymmetric_cryptography.verify(data, response.ServerSignature.Signature) - self._server_nonce = response.ServerNonce - if not self.security_policy.server_certificate: - self.security_policy.server_certificate = response.ServerCertificate - elif self.security_policy.server_certificate != response.ServerCertificate: - raise ua.UaError("Server certificate mismatch") - # remember PolicyId's: we will use them in activate_session() - ep = AsyncClient.find_endpoint(response.ServerEndpoints, self.security_policy.Mode, self.security_policy.URI) - self._policy_ids = ep.UserIdentityTokens - self.session_timeout = response.RevisedSessionTimeout - # 0.7 is from spec - # ToDo: refactor with callback_later - # self.keepalive = KeepAlive(self, min(self.session_timeout, self.secure_channel_timeout) * 0.7) - # self.keepalive.start() - return response - - def server_policy_id(self, token_type, default): - """ - Find PolicyId of server's UserTokenPolicy by token_type. - Return default if there's no matching UserTokenPolicy. - """ - for policy in self._policy_ids: - if policy.TokenType == token_type: - return policy.PolicyId - return default - - def server_policy_uri(self, token_type): - """ - Find SecurityPolicyUri of server's UserTokenPolicy by token_type. - If SecurityPolicyUri is empty, use default SecurityPolicyUri - of the endpoint - """ - for policy in self._policy_ids: - if policy.TokenType == token_type: - if policy.SecurityPolicyUri: - return policy.SecurityPolicyUri - else: # empty URI means "use this endpoint's policy URI" - return self.security_policy.URI - return self.security_policy.URI - - async def activate_session(self, username=None, password=None, certificate=None): - """ - Activate session using either username and password or private_key - """ - params = ua.ActivateSessionParameters() - challenge = b"" - if self.security_policy.server_certificate is not None: - challenge += self.security_policy.server_certificate - if self._server_nonce is not None: - challenge += self._server_nonce - params.ClientSignature.Algorithm = "http://www.w3.org/2000/09/xmldsig#rsa-sha1" - params.ClientSignature.Signature = self.security_policy.asymmetric_cryptography.signature(challenge) - params.LocaleIds.append("en") - if not username and not certificate: - self._add_anonymous_auth(params) - elif certificate: - self._add_certificate_auth(params, certificate, challenge) - else: - self._add_user_auth(params, username, password) - return await self.uaclient.activate_session(params) - - def _add_anonymous_auth(self, params): - params.UserIdentityToken = ua.AnonymousIdentityToken() - params.UserIdentityToken.PolicyId = self.server_policy_id(ua.UserTokenType.Anonymous, b"anonymous") - - def _add_certificate_auth(self, params, certificate, challenge): - params.UserIdentityToken = ua.X509IdentityToken() - params.UserIdentityToken.PolicyId = self.server_policy_id(ua.UserTokenType.Certificate, b"certificate_basic256") - params.UserIdentityToken.CertificateData = uacrypto.der_from_x509(certificate) - # specs part 4, 5.6.3.1: the data to sign is created by appending - # the last serverNonce to the serverCertificate - sig = uacrypto.sign_sha1(self.user_private_key, challenge) - params.UserTokenSignature = ua.SignatureData() - params.UserTokenSignature.Algorithm = "http://www.w3.org/2000/09/xmldsig#rsa-sha1" - params.UserTokenSignature.Signature = sig - - def _add_user_auth(self, params, username, password): - params.UserIdentityToken = ua.UserNameIdentityToken() - params.UserIdentityToken.UserName = username - policy_uri = self.server_policy_uri(ua.UserTokenType.UserName) - if not policy_uri or policy_uri == security_policies.POLICY_NONE_URI: - # see specs part 4, 7.36.3: if the token is NOT encrypted, - # then the password only contains UTF-8 encoded password - # and EncryptionAlgorithm is null - if self._password: - self.logger.warning("Sending plain-text password") - params.UserIdentityToken.Password = password - params.UserIdentityToken.EncryptionAlgorithm = None - elif self._password: - data, uri = self._encrypt_password(password, policy_uri) - params.UserIdentityToken.Password = data - params.UserIdentityToken.EncryptionAlgorithm = uri - params.UserIdentityToken.PolicyId = self.server_policy_id(ua.UserTokenType.UserName, b"username_basic256") - - def _encrypt_password(self, password, policy_uri): - pubkey = uacrypto.x509_from_der(self.security_policy.server_certificate).public_key() - # see specs part 4, 7.36.3: if the token is encrypted, password - # shall be converted to UTF-8 and serialized with server nonce - passwd = password.encode("utf8") - if self._server_nonce is not None: - passwd += self._server_nonce - etoken = ua.ua_binary.Primitives.Bytes.pack(passwd) - data, uri = security_policies.encrypt_asymmetric(pubkey, etoken, policy_uri) - return data, uri - - async def close_session(self): - """ - Close session - """ - if self.keepalive: - self.keepalive.stop() - return await self.uaclient.close_session(True) - - def get_root_node(self): - return self.get_node(ua.TwoByteNodeId(ua.ObjectIds.RootFolder)) - - def get_objects_node(self): - return self.get_node(ua.TwoByteNodeId(ua.ObjectIds.ObjectsFolder)) - - def get_server_node(self): - return self.get_node(ua.FourByteNodeId(ua.ObjectIds.Server)) - - def get_node(self, nodeid): - """ - Get node using NodeId object or a string representing a NodeId - """ - return Node(self.uaclient, nodeid) - - def create_subscription(self, period, handler): - """ - Create a subscription. - returns a Subscription object which allow - to subscribe to events or data on server - handler argument is a class with data_change and/or event methods. - period argument is either a publishing interval in milliseconds or a - CreateSubscriptionParameters instance. The second option should be used, - if the opcua-server has problems with the default options. - These methods will be called when notfication from server are received. - See example-client.py. - Do not do expensive/slow or network operation from these methods - since they are called directly from receiving thread. This is a design choice, - start another thread if you need to do such a thing. - """ - - if isinstance(period, ua.CreateSubscriptionParameters): - return Subscription(self.uaclient, period, handler) - params = ua.CreateSubscriptionParameters() - params.RequestedPublishingInterval = period - params.RequestedLifetimeCount = 10000 - params.RequestedMaxKeepAliveCount = 3000 - params.MaxNotificationsPerPublish = 10000 - params.PublishingEnabled = True - params.Priority = 0 - return Subscription(self.uaclient, params, handler) - - def get_namespace_array(self): - ns_node = self.get_node(ua.NodeId(ua.ObjectIds.Server_NamespaceArray)) - return ns_node.get_value() - - def get_namespace_index(self, uri): - uries = self.get_namespace_array() - return uries.index(uri) - - def delete_nodes(self, nodes, recursive=False): - return delete_nodes(self.uaclient, nodes, recursive) - - def import_xml(self, path): - """ - Import nodes defined in xml - """ - importer = XmlImporter(self) - return importer.import_xml(path) - - def export_xml(self, nodes, path): - """ - Export defined nodes to xml - """ - exp = XmlExporter(self) - exp.build_etree(nodes) - return exp.write_xml(path) - - def register_namespace(self, uri): - """ - Register a new namespace. Nodes should in custom namespace, not 0. - This method is mainly implemented for symetry with server - """ - ns_node = self.get_node(ua.NodeId(ua.ObjectIds.Server_NamespaceArray)) - uries = ns_node.get_value() - if uri in uries: - return uries.index(uri) - uries.append(uri) - ns_node.set_value(uries) - return len(uries) - 1 - - def load_type_definitions(self, nodes=None): - return load_type_definitions(self, nodes) diff --git a/opcua/client/async_ua_client.py b/opcua/client/async_ua_client.py deleted file mode 100644 index f520ea4c8..000000000 --- a/opcua/client/async_ua_client.py +++ /dev/null @@ -1,566 +0,0 @@ -""" -Low level binary client -""" -import asyncio -import logging -from functools import partial - -from opcua import ua -from opcua.ua.ua_binary import struct_from_binary, uatcp_to_binary, struct_to_binary, nodeid_from_binary -from opcua.ua.uaerrors import UaError, BadTimeout, BadNoSubscription, BadSessionClosed -from opcua.common.async_connection import AsyncSecureConnection - - -class UASocketProtocol(asyncio.Protocol): - """ - Handle socket connection and send ua messages. - Timeout is the timeout used while waiting for an ua answer from server. - """ - - def __init__(self, timeout=1, security_policy=ua.SecurityPolicy()): - self.logger = logging.getLogger(__name__ + ".Socket") - self.loop = asyncio.get_event_loop() - self.transport = None - self.receive_buffer = asyncio.Queue() - self.is_receiving = False - self.timeout = timeout - self.authentication_token = ua.NodeId() - self._request_id = 0 - self._request_handle = 0 - self._callbackmap = {} - self._connection = AsyncSecureConnection(security_policy) - self._leftover_chunk = None - - def connection_made(self, transport): - self.transport = transport - - def connection_lost(self, exc): - self.logger.info("Socket has closed connection") - self.transport = None - - def data_received(self, data): - self.receive_buffer.put_nowait(data) - if not self.is_receiving: - self.is_receiving = True - self.loop.create_task(self._receive()) - - async def read(self, size): - """Receive up to size bytes from socket.""" - data = b'' - self.logger.debug('read %s bytes from socket', size) - while size > 0: - self.logger.debug('data is now %s, waiting for %s bytes', len(data), size) - # ToDo: abort on timeout, socket close - # raise SocketClosedException("Server socket has closed") - if self._leftover_chunk: - self.logger.debug('leftover bytes %s', len(self._leftover_chunk)) - # use leftover chunk first - chunk = self._leftover_chunk - self._leftover_chunk = None - else: - chunk = await self.receive_buffer.get() - self.logger.debug('got chunk %s needed_length is %s', len(chunk), size) - if len(chunk) <= size: - _chunk = chunk - else: - # chunk is too big - _chunk = chunk[:size] - self._leftover_chunk = chunk[size:] - data += _chunk - size -= len(_chunk) - return data - - def _send_request(self, request, callback=None, timeout=1000, message_type=ua.MessageType.SecureMessage): - """ - Send request to server, lower-level method. - Timeout is the timeout written in ua header. - Returns future - """ - request.RequestHeader = self._create_request_header(timeout) - self.logger.debug("Sending: %s", request) - try: - binreq = struct_to_binary(request) - except: - # reset request handle if any error - # see self._create_request_header - self._request_handle -= 1 - raise - self._request_id += 1 - future = asyncio.Future() - if callback: - future.add_done_callback(callback) - self._callbackmap[self._request_id] = future - msg = self._connection.message_to_binary(binreq, message_type=message_type, request_id=self._request_id) - self.transport.write(msg) - return future - - async def send_request(self, request, callback=None, timeout=1000, message_type=ua.MessageType.SecureMessage): - """ - Send a request to the server. - Timeout is the timeout written in ua header. - Returns response object if no callback is provided. - """ - future = self._send_request(request, callback, timeout, message_type) - if not callback: - await asyncio.wait_for(future, self.timeout) - data = future.result() - self.check_answer(data, " in response to " + request.__class__.__name__) - return data - - def check_answer(self, data, context): - data = data.copy() - typeid = nodeid_from_binary(data) - if typeid == ua.FourByteNodeId(ua.ObjectIds.ServiceFault_Encoding_DefaultBinary): - self.logger.warning("ServiceFault from server received %s", context) - hdr = struct_from_binary(ua.ResponseHeader, data) - hdr.ServiceResult.check() - return False - return True - - async def _receive(self): - msg = await self._connection.receive_from_socket(self) - if msg is None: - pass - elif isinstance(msg, ua.Message): - self._call_callback(msg.request_id(), msg.body()) - elif isinstance(msg, ua.Acknowledge): - self._call_callback(0, msg) - elif isinstance(msg, ua.ErrorMessage): - self.logger.warning("Received an error: %s", msg) - else: - raise ua.UaError("Unsupported message type: %s", msg) - if self._leftover_chunk or not self.receive_buffer.empty(): - # keep receiving - self.loop.create_task(self._receive()) - else: - self.is_receiving = False - - def _call_callback(self, request_id, body): - future = self._callbackmap.pop(request_id, None) - if future is None: - raise ua.UaError("No future object found for request: {0}, callbacks in list are {1}".format( - request_id, self._callbackmap.keys())) - future.set_result(body) - - def _create_request_header(self, timeout=1000): - hdr = ua.RequestHeader() - hdr.AuthenticationToken = self.authentication_token - self._request_handle += 1 - hdr.RequestHandle = self._request_handle - hdr.TimeoutHint = timeout - return hdr - - def disconnect_socket(self): - self.logger.info("stop request") - self.transport.close() - - async def send_hello(self, url, max_messagesize=0, max_chunkcount=0): - hello = ua.Hello() - hello.EndpointUrl = url - hello.MaxMessageSize = max_messagesize - hello.MaxChunkCount = max_chunkcount - future = asyncio.Future() - self._callbackmap[0] = future - binmsg = uatcp_to_binary(ua.MessageType.Hello, hello) - self.transport.write(binmsg) - await asyncio.wait_for(future, self.timeout) - ack = future.result() - return ack - - async def open_secure_channel(self, params): - self.logger.info("open_secure_channel") - request = ua.OpenSecureChannelRequest() - request.Parameters = params - future = self._send_request(request, message_type=ua.MessageType.SecureOpen) - await asyncio.wait_for(future, self.timeout) - result = future.result() - # FIXME: we have a race condition here - # we can get a packet with the new token id before we reach to store it.. - response = struct_from_binary(ua.OpenSecureChannelResponse, result) - response.ResponseHeader.ServiceResult.check() - self._connection.set_channel(response.Parameters) - return response.Parameters - - async def close_secure_channel(self): - """ - Close secure channel. - It seems to trigger a shutdown of socket in most servers, so be prepare to reconnect. - OPC UA specs Part 6, 7.1.4 say that Server does not send a CloseSecureChannel response - and should just close socket. - """ - self.logger.info("close_secure_channel") - request = ua.CloseSecureChannelRequest() - future = self._send_request(request, message_type=ua.MessageType.SecureClose) - # don't expect any more answers - future.cancel() - self._callbackmap.clear() - # some servers send a response here, most do not ... so we ignore - - -class UaClient: - """ - low level OPC-UA client. - - It implements (almost) all methods defined in opcua spec - taking in argument the structures defined in opcua spec. - - In this Python implementation most of the structures are defined in - uaprotocol_auto.py and uaprotocol_hand.py available under opcua.ua - """ - - def __init__(self, timeout=1): - self.logger = logging.getLogger(__name__) - self.loop = asyncio.get_event_loop() - self._publish_callbacks = {} - self._timeout = timeout - self.security_policy = ua.SecurityPolicy() - self.protocol = None - - def set_security(self, policy): - self.security_policy = policy - - def _make_protocol(self): - self.protocol = UASocketProtocol(self._timeout, security_policy=self.security_policy) - return self.protocol - - async def connect_socket(self, host, port): - """Connect to server socket.""" - self.logger.info("opening connection") - # nodelay ncessary to avoid packing in one frame, some servers do not like it - # ToDo: TCP_NODELAY is set by default, but only since 3.6 - await self.loop.create_connection(self._make_protocol, host, port) - - def disconnect_socket(self): - return self.protocol.disconnect_socket() - - async def send_hello(self, url, max_messagesize=0, max_chunkcount=0): - await self.protocol.send_hello(url, max_messagesize, max_chunkcount) - - async def open_secure_channel(self, params): - return await self.protocol.open_secure_channel(params) - - async def close_secure_channel(self): - """ - close secure channel. It seems to trigger a shutdown of socket - in most servers, so be prepare to reconnect - """ - return await self.protocol.close_secure_channel() - - async def create_session(self, parameters): - self.logger.info("create_session") - request = ua.CreateSessionRequest() - request.Parameters = parameters - data = await self.protocol.send_request(request) - response = struct_from_binary(ua.CreateSessionResponse, data) - self.logger.debug(response) - response.ResponseHeader.ServiceResult.check() - self.protocol.authentication_token = response.Parameters.AuthenticationToken - return response.Parameters - - async def activate_session(self, parameters): - self.logger.info("activate_session") - request = ua.ActivateSessionRequest() - request.Parameters = parameters - data = await self.protocol.send_request(request) - response = struct_from_binary(ua.ActivateSessionResponse, data) - self.logger.debug(response) - response.ResponseHeader.ServiceResult.check() - return response.Parameters - - async def close_session(self, delete_subscriptions): - self.logger.info("close_session") - request = ua.CloseSessionRequest() - request.DeleteSubscriptions = delete_subscriptions - data = await self.protocol.send_request(request) - response = struct_from_binary(ua.CloseSessionResponse, data) - try: - response.ResponseHeader.ServiceResult.check() - except BadSessionClosed: - # Problem: closing the session with open publish requests leads to BadSessionClosed responses - # we can just ignore it therefore. - # Alternatively we could make sure that there are no publish requests in flight when - # closing the session. - pass - - async def browse(self, parameters): - self.logger.info("browse") - request = ua.BrowseRequest() - request.Parameters = parameters - data = await self.protocol.send_request(request) - response = struct_from_binary(ua.BrowseResponse, data) - self.logger.debug(response) - response.ResponseHeader.ServiceResult.check() - return response.Results - - async def browse_next(self, parameters): - self.logger.info("browse next") - request = ua.BrowseNextRequest() - request.Parameters = parameters - data = await self.protocol.send_request(request) - response = struct_from_binary(ua.BrowseNextResponse, data) - self.logger.debug(response) - response.ResponseHeader.ServiceResult.check() - return response.Parameters.Results - - async def read(self, parameters): - self.logger.info("read") - request = ua.ReadRequest() - request.Parameters = parameters - data = await self.protocol.send_request(request) - response = struct_from_binary(ua.ReadResponse, data) - self.logger.debug(response) - response.ResponseHeader.ServiceResult.check() - # cast to Enum attributes that need to - for idx, rv in enumerate(parameters.NodesToRead): - if rv.AttributeId == ua.AttributeIds.NodeClass: - dv = response.Results[idx] - if dv.StatusCode.is_good(): - dv.Value.Value = ua.NodeClass(dv.Value.Value) - elif rv.AttributeId == ua.AttributeIds.ValueRank: - dv = response.Results[idx] - if dv.StatusCode.is_good() and dv.Value.Value in (-3, -2, -1, 0, 1, 2, 3, 4): - dv.Value.Value = ua.ValueRank(dv.Value.Value) - return response.Results - - async def write(self, params): - self.logger.info("read") - request = ua.WriteRequest() - request.Parameters = params - data = await self.protocol.send_request(request) - response = struct_from_binary(ua.WriteResponse, data) - self.logger.debug(response) - response.ResponseHeader.ServiceResult.check() - return response.Results - - async def get_endpoints(self, params): - self.logger.info("get_endpoint") - request = ua.GetEndpointsRequest() - request.Parameters = params - data = await self.protocol.send_request(request) - response = struct_from_binary(ua.GetEndpointsResponse, data) - self.logger.debug(response) - response.ResponseHeader.ServiceResult.check() - return response.Endpoints - - async def find_servers(self, params): - self.logger.info("find_servers") - request = ua.FindServersRequest() - request.Parameters = params - data = await self.protocol.send_request(request) - response = struct_from_binary(ua.FindServersResponse, data) - self.logger.debug(response) - response.ResponseHeader.ServiceResult.check() - return response.Servers - - async def find_servers_on_network(self, params): - self.logger.info("find_servers_on_network") - request = ua.FindServersOnNetworkRequest() - request.Parameters = params - data = await self.protocol.send_request(request) - response = struct_from_binary(ua.FindServersOnNetworkResponse, data) - self.logger.debug(response) - response.ResponseHeader.ServiceResult.check() - return response.Parameters - - async def register_server(self, registered_server): - self.logger.info("register_server") - request = ua.RegisterServerRequest() - request.Server = registered_server - data = await self.protocol.send_request(request) - response = struct_from_binary(ua.RegisterServerResponse, data) - self.logger.debug(response) - response.ResponseHeader.ServiceResult.check() - # nothing to return for this service - - async def register_server2(self, params): - self.logger.info("register_server2") - request = ua.RegisterServer2Request() - request.Parameters = params - data = await self.protocol.send_request(request) - response = struct_from_binary(ua.RegisterServer2Response, data) - self.logger.debug(response) - response.ResponseHeader.ServiceResult.check() - return response.ConfigurationResults - - async def translate_browsepaths_to_nodeids(self, browse_paths): - self.logger.info("translate_browsepath_to_nodeid") - request = ua.TranslateBrowsePathsToNodeIdsRequest() - request.Parameters.BrowsePaths = browse_paths - data = await self.protocol.send_request(request) - response = struct_from_binary(ua.TranslateBrowsePathsToNodeIdsResponse, data) - self.logger.debug(response) - response.ResponseHeader.ServiceResult.check() - return response.Results - - async def create_subscription(self, params, callback): - self.logger.info("create_subscription") - request = ua.CreateSubscriptionRequest() - request.Parameters = params - response = struct_from_binary( - ua.CreateSubscriptionResponse, - await self.protocol.send_request(request) - ) - self.logger.info("create subscription callback") - self.logger.debug(response) - response.ResponseHeader.ServiceResult.check() - self._publish_callbacks[response.Parameters.SubscriptionId] = callback - return response.Parameters - - async def delete_subscriptions(self, subscription_ids): - self.logger.info("delete_subscription") - request = ua.DeleteSubscriptionsRequest() - request.Parameters.SubscriptionIds = subscription_ids - response = struct_from_binary( - ua.DeleteSubscriptionsResponse, - await self.protocol.send_request(request) - ) - self.logger.info("delete subscriptions callback") - self.logger.debug(response) - response.ResponseHeader.ServiceResult.check() - for sid in subscription_ids: - self._publish_callbacks.pop(sid) - return response.Results - - async def publish(self, acks=None): - self.logger.info("publish") - if acks is None: - acks = [] - request = ua.PublishRequest() - request.Parameters.SubscriptionAcknowledgements = acks - data = await self.protocol.send_request(request, timeout=0) - # check if answer looks ok - try: - self.protocol.check_answer(data, "while waiting for publish response") - except BadTimeout: - # Spec Part 4, 7.28 - self.loop.create_task(self.publish()) - return - except BadNoSubscription: # Spec Part 5, 13.8.1 - # BadNoSubscription is expected after deleting the last subscription. - # - # We should therefore also check for len(self._publishcallbacks) == 0, but - # this gets us into trouble if a Publish response arrives before the - # DeleteSubscription response. - # - # We could remove the callback already when sending the DeleteSubscription request, - # but there are some legitimate reasons to keep them around, such as when the server - # responds with "BadTimeout" and we should try again later instead of just removing - # the subscription client-side. - # - # There are a variety of ways to act correctly, but the most practical solution seems - # to be to just ignore any BadNoSubscription responses. - self.logger.info("BadNoSubscription received, ignoring because it's probably valid.") - return - # parse publish response - try: - response = struct_from_binary(ua.PublishResponse, data) - self.logger.debug(response) - except Exception: - # INFO: catching the exception here might be obsolete because we already - # catch BadTimeout above. However, it's not really clear what this code - # does so it stays in, doesn't seem to hurt. - self.logger.exception("Error parsing notification from server") - # send publish request ot server so he does stop sending notifications - self.loop.create_task(self.publish([])) - return - # look for callback - try: - callback = self._publish_callbacks[response.Parameters.SubscriptionId] - except KeyError: - self.logger.warning("Received data for unknown subscription: %s ", response.Parameters.SubscriptionId) - return - # do callback - try: - callback(response.Parameters) - except Exception: - # we call client code, catch everything! - self.logger.exception("Exception while calling user callback: %s") - - async def create_monitored_items(self, params): - self.logger.info("create_monitored_items") - request = ua.CreateMonitoredItemsRequest() - request.Parameters = params - data = await self.protocol.send_request(request) - response = struct_from_binary(ua.CreateMonitoredItemsResponse, data) - self.logger.debug(response) - response.ResponseHeader.ServiceResult.check() - return response.Results - - async def delete_monitored_items(self, params): - self.logger.info("delete_monitored_items") - request = ua.DeleteMonitoredItemsRequest() - request.Parameters = params - data = await self.protocol.send_request(request) - response = struct_from_binary(ua.DeleteMonitoredItemsResponse, data) - self.logger.debug(response) - response.ResponseHeader.ServiceResult.check() - return response.Results - - async def add_nodes(self, nodestoadd): - self.logger.info("add_nodes") - request = ua.AddNodesRequest() - request.Parameters.NodesToAdd = nodestoadd - data = await self.protocol.send_request(request) - response = struct_from_binary(ua.AddNodesResponse, data) - self.logger.debug(response) - response.ResponseHeader.ServiceResult.check() - return response.Results - - async def add_references(self, refs): - self.logger.info("add_references") - request = ua.AddReferencesRequest() - request.Parameters.ReferencesToAdd = refs - data = await self.protocol.send_request(request) - response = struct_from_binary(ua.AddReferencesResponse, data) - self.logger.debug(response) - response.ResponseHeader.ServiceResult.check() - return response.Results - - async def delete_references(self, refs): - self.logger.info("delete") - request = ua.DeleteReferencesRequest() - request.Parameters.ReferencesToDelete = refs - data = await self.protocol.send_request(request) - response = struct_from_binary(ua.DeleteReferencesResponse, data) - self.logger.debug(response) - response.ResponseHeader.ServiceResult.check() - return response.Parameters.Results - - async def delete_nodes(self, params): - self.logger.info("delete_nodes") - request = ua.DeleteNodesRequest() - request.Parameters = params - data = await self.protocol.send_request(request) - response = struct_from_binary(ua.DeleteNodesResponse, data) - self.logger.debug(response) - response.ResponseHeader.ServiceResult.check() - return response.Results - - async def call(self, methodstocall): - request = ua.CallRequest() - request.Parameters.MethodsToCall = methodstocall - data = await self.protocol.send_request(request) - response = struct_from_binary(ua.CallResponse, data) - self.logger.debug(response) - response.ResponseHeader.ServiceResult.check() - return response.Results - - async def history_read(self, params): - self.logger.info("history_read") - request = ua.HistoryReadRequest() - request.Parameters = params - data = await self.protocol.send_request(request) - response = struct_from_binary(ua.HistoryReadResponse, data) - self.logger.debug(response) - response.ResponseHeader.ServiceResult.check() - return response.Results - - async def modify_monitored_items(self, params): - self.logger.info("modify_monitored_items") - request = ua.ModifyMonitoredItemsRequest() - request.Parameters = params - data = await self.protocol.send_request(request) - response = struct_from_binary(ua.ModifyMonitoredItemsResponse, data) - self.logger.debug(response) - response.ResponseHeader.ServiceResult.check() - return response.Results diff --git a/opcua/client/client.py b/opcua/client/client.py index 0a5e46156..f468ebec7 100644 --- a/opcua/client/client.py +++ b/opcua/client/client.py @@ -1,10 +1,6 @@ -from __future__ import division # support for python2 -from threading import Thread, Condition +import asyncio import logging -try: - from urllib.parse import urlparse -except ImportError: # support for python2 - from urlparse import urlparse +from urllib.parse import urlparse from opcua import ua from opcua.client.ua_client import UaClient @@ -14,22 +10,16 @@ from opcua.common.manage_nodes import delete_nodes from opcua.common.subscription import Subscription from opcua.common import utils -from opcua.crypto import security_policies from opcua.common.shortcuts import Shortcuts from opcua.common.structures import load_type_definitions -use_crypto = True -try: - from opcua.crypto import uacrypto -except ImportError: - logging.getLogger(__name__).warning("cryptography is not installed, use of crypto disabled") - use_crypto = False +from opcua.crypto import uacrypto, security_policies -class KeepAlive(Thread): - +class KeepAlive: """ Used by Client to keep the session open. OPCUA defines timeout both for sessions and secure channel + ToDo: remove """ def __init__(self, client, timeout): @@ -37,25 +27,24 @@ def __init__(self, client, timeout): :param session_timeout: Timeout to re-new the session in milliseconds. """ - Thread.__init__(self) self.logger = logging.getLogger(__name__) - + self.loop = asyncio.get_event_loop() self.client = client - self._dostop = False + self._do_stop = False self._cond = Condition() self.timeout = timeout # some server support no timeout, but we do not trust them if self.timeout == 0: - self.timeout = 3600000 # 1 hour + self.timeout = 3600000 # 1 hour def run(self): self.logger.debug("starting keepalive thread with period of %s milliseconds", self.timeout) server_state = self.client.get_node(ua.FourByteNodeId(ua.ObjectIds.Server_ServerStatus_State)) - while not self._dostop: + while not self._do_stop: with self._cond: self._cond.wait(self.timeout / 1000) - if self._dostop: + if self._do_stop: break self.logger.debug("renewing channel") self.client.open_secure_channel(renew=True) @@ -65,19 +54,18 @@ def run(self): def stop(self): self.logger.debug("stoping keepalive thread") - self._dostop = True + self._do_stop = True with self._cond: self._cond.notify_all() class Client(object): - """ High level client to connect to an OPC-UA server. This class makes it easy to connect and browse address space. - It attemps to expose as much functionality as possible - but if you want more flexibility it is possible and adviced to + It attempts to expose as much functionality as possible + but if you want more flexibility it is possible and advised to use UaClient object, available as self.uaclient which offers the raw OPC-UA services interface. """ @@ -95,17 +83,17 @@ def __init__(self, url, timeout=4): """ self.logger = logging.getLogger(__name__) self.server_url = urlparse(url) - #take initial username and password from the url + # take initial username and password from the url self._username = self.server_url.username self._password = self.server_url.password - self.name = "Pure Python Client" + self.name = "Pure Python Async. Client" self.description = self.name self.application_uri = "urn:freeopcua:client" self.product_uri = "urn:freeopcua.github.no:client" self.security_policy = ua.SecurityPolicy() self.secure_channel_id = None - self.secure_channel_timeout = 3600000 # 1 hour - self.session_timeout = 3600000 # 1 hour + self.secure_channel_timeout = 3600000 # 1 hour + self.session_timeout = 3600000 # 1 hour self._policy_ids = [] self.uaclient = UaClient(timeout) self.user_certificate = None @@ -114,15 +102,14 @@ def __init__(self, url, timeout=4): self._session_counter = 1 self.keepalive = None self.nodes = Shortcuts(self.uaclient) - self.max_messagesize = 0 # No limits - self.max_chunkcount = 0 # No limits + self.max_messagesize = 0 # No limits + self.max_chunkcount = 0 # No limits - - def __enter__(self): - self.connect() + async def __aenter__(self): + await self.connect() return self - def __exit__(self, exc_type, exc_value, traceback): + async def __aexit__(self, exc_type, exc_value, traceback): self.disconnect() @staticmethod @@ -135,7 +122,7 @@ def find_endpoint(endpoints, security_mode, policy_uri): ep.SecurityMode == security_mode and ep.SecurityPolicyUri == policy_uri): return ep - raise ua.UaError("No matching endpoints: {0}, {1}".format(security_mode, policy_uri)) + raise ua.UaError('No matching endpoints: {0}, {1}'.format(security_mode, policy_uri)) def set_user(self, username): """ @@ -149,9 +136,9 @@ def set_password(self, pwd): Set user password for the connection. initial password from the URL will be overwritten """ - self._password = pwd + self._password = pwd - def set_security_string(self, string): + async def set_security_string(self, string): """ Set SecureConnection mode. String format: Policy,Mode,certificate,private_key[,server_private_key] @@ -168,115 +155,115 @@ def set_security_string(self, string): raise ua.UaError('Wrong format: `{0}`, expected at least 4 comma-separated values'.format(string)) policy_class = getattr(security_policies, 'SecurityPolicy' + parts[0]) mode = getattr(ua.MessageSecurityMode, parts[1]) - return self.set_security(policy_class, parts[2], parts[3], - parts[4] if len(parts) >= 5 else None, mode) + return await self.set_security( + policy_class, parts[2], parts[3], parts[4] if len(parts) >= 5 else None, mode + ) - def set_security(self, policy, certificate_path, private_key_path, - server_certificate_path=None, - mode=ua.MessageSecurityMode.SignAndEncrypt): + async def set_security(self, policy, certificate_path, private_key_path, + server_certificate_path=None, mode=ua.MessageSecurityMode.SignAndEncrypt): """ Set SecureConnection mode. Call this before connect() """ if server_certificate_path is None: # load certificate from server's list of endpoints - endpoints = self.connect_and_get_server_endpoints() + endpoints = await self.connect_and_get_server_endpoints() endpoint = Client.find_endpoint(endpoints, mode, policy.URI) server_cert = uacrypto.x509_from_der(endpoint.ServerCertificate) else: - server_cert = uacrypto.load_certificate(server_certificate_path) - cert = uacrypto.load_certificate(certificate_path) - pk = uacrypto.load_private_key(private_key_path) + server_cert = await uacrypto.load_certificate(server_certificate_path) + cert = await uacrypto.load_certificate(certificate_path) + pk = await uacrypto.load_private_key(private_key_path) self.security_policy = policy(server_cert, cert, pk, mode) self.uaclient.set_security(self.security_policy) - def load_client_certificate(self, path): + async def load_client_certificate(self, path): """ load our certificate from file, either pem or der """ - self.user_certificate = uacrypto.load_certificate(path) + self.user_certificate = await uacrypto.load_certificate(path) - def load_private_key(self, path): + async def load_private_key(self, path): """ Load user private key. This is used for authenticating using certificate """ - self.user_private_key = uacrypto.load_private_key(path) + self.user_private_key = await uacrypto.load_private_key(path) - def connect_and_get_server_endpoints(self): + async def connect_and_get_server_endpoints(self): """ Connect, ask server for endpoints, and disconnect """ - self.connect_socket() - self.send_hello() - self.open_secure_channel() - endpoints = self.get_endpoints() - self.close_secure_channel() + await self.connect_socket() + await self.send_hello() + await self.open_secure_channel() + endpoints = await self.get_endpoints() + await self.close_secure_channel() self.disconnect_socket() return endpoints - def connect_and_find_servers(self): + async def connect_and_find_servers(self): """ Connect, ask server for a list of known servers, and disconnect """ - self.connect_socket() - self.send_hello() - self.open_secure_channel() # spec says it should not be necessary to open channel - servers = self.find_servers() - self.close_secure_channel() + await self.connect_socket() + await self.send_hello() + await self.open_secure_channel() # spec says it should not be necessary to open channel + servers = await self.find_servers() + await self.close_secure_channel() self.disconnect_socket() return servers - def connect_and_find_servers_on_network(self): + async def connect_and_find_servers_on_network(self): """ Connect, ask server for a list of known servers on network, and disconnect """ - self.connect_socket() - self.send_hello() - self.open_secure_channel() - servers = self.find_servers_on_network() - self.close_secure_channel() + await self.connect_socket() + await self.send_hello() + await self.open_secure_channel() + servers = await self.find_servers_on_network() + await self.close_secure_channel() self.disconnect_socket() return servers - def connect(self): + async def connect(self): """ High level method Connect, create and activate session """ - self.connect_socket() - self.send_hello() - self.open_secure_channel() - self.create_session() - self.activate_session(username=self._username, password=self._password, certificate=self.user_certificate) + await self.connect_socket() + await self.send_hello() + await self.open_secure_channel() + await self.create_session() + await self.activate_session(username=self._username, password=self._password, certificate=self.user_certificate) - def disconnect(self): + async def disconnect(self): """ High level method Close session, secure channel and socket """ try: - self.close_session() - self.close_secure_channel() + await self.close_session() + await self.close_secure_channel() finally: self.disconnect_socket() - def connect_socket(self): + async def connect_socket(self): """ connect to socket defined in url """ - self.uaclient.connect_socket(self.server_url.hostname, self.server_url.port) + await self.uaclient.connect_socket(self.server_url.hostname, self.server_url.port) def disconnect_socket(self): self.uaclient.disconnect_socket() - def send_hello(self): + async def send_hello(self): """ Send OPC-UA hello to server """ - ack = self.uaclient.send_hello(self.server_url.geturl(), self.max_messagesize, self.max_chunkcount) + ack = await self.uaclient.send_hello(self.server_url.geturl(), self.max_messagesize, self.max_chunkcount) # FIXME check ack - def open_secure_channel(self, renew=False): + async def open_secure_channel(self, renew=False): """ Open secure channel, if renew is True, renew channel """ @@ -287,21 +274,22 @@ def open_secure_channel(self, renew=False): params.RequestType = ua.SecurityTokenRequestType.Renew params.SecurityMode = self.security_policy.Mode params.RequestedLifetime = self.secure_channel_timeout - nonce = utils.create_nonce(self.security_policy.symmetric_key_size) # length should be equal to the length of key of symmetric encryption - params.ClientNonce = nonce # this nonce is used to create a symmetric key - result = self.uaclient.open_secure_channel(params) + # length should be equal to the length of key of symmetric encryption + nonce = utils.create_nonce(self.security_policy.symmetric_key_size) + params.ClientNonce = nonce # this nonce is used to create a symmetric key + result = await self.uaclient.open_secure_channel(params) self.security_policy.make_symmetric_key(nonce, result.ServerNonce) self.secure_channel_timeout = result.SecurityToken.RevisedLifetime - def close_secure_channel(self): - return self.uaclient.close_secure_channel() + async def close_secure_channel(self): + return await self.uaclient.close_secure_channel() - def get_endpoints(self): + async def get_endpoints(self): params = ua.GetEndpointsParameters() params.EndpointUrl = self.server_url.geturl() - return self.uaclient.get_endpoints(params) + return await self.uaclient.get_endpoints(params) - def register_server(self, server, discovery_configuration=None): + async def register_server(self, server, discovery_configuration=None): """ register a server to discovery server if discovery_configuration is provided, the newer register_server2 service call is used @@ -317,11 +305,11 @@ def register_server(self, server, discovery_configuration=None): params = ua.RegisterServer2Parameters() params.Server = serv params.DiscoveryConfiguration = discovery_configuration - return self.uaclient.register_server2(params) + return await self.uaclient.register_server2(params) else: - return self.uaclient.register_server(serv) + return await self.uaclient.register_server(serv) - def find_servers(self, uris=None): + async def find_servers(self, uris=None): """ send a FindServer request to the server. The answer should be a list of servers the server knows about @@ -332,13 +320,13 @@ def find_servers(self, uris=None): params = ua.FindServersParameters() params.EndpointUrl = self.server_url.geturl() params.ServerUris = uris - return self.uaclient.find_servers(params) + return await self.uaclient.find_servers(params) - def find_servers_on_network(self): + async def find_servers_on_network(self): params = ua.FindServersOnNetworkParameters() - return self.uaclient.find_servers_on_network(params) + return await self.uaclient.find_servers_on_network(params) - def create_session(self): + async def create_session(self): """ send a CreateSessionRequest to server with reasonable parameters. If you want o modify settings look at code of this methods @@ -351,7 +339,8 @@ def create_session(self): desc.ApplicationType = ua.ApplicationType.Client params = ua.CreateSessionParameters() - nonce = utils.create_nonce(32) # at least 32 random bytes for server to prove possession of private key (specs part 4, 5.6.2.2) + # at least 32 random bytes for server to prove possession of private key (specs part 4, 5.6.2.2) + nonce = utils.create_nonce(32) params.ClientNonce = nonce params.ClientCertificate = self.security_policy.client_certificate params.ClientDescription = desc @@ -359,7 +348,7 @@ def create_session(self): params.SessionName = self.description + " Session" + str(self._session_counter) params.RequestedSessionTimeout = 3600000 params.MaxResponseMessageSize = 0 # means no max size - response = self.uaclient.create_session(params) + response = await self.uaclient.create_session(params) if self.security_policy.client_certificate is None: data = nonce else: @@ -374,8 +363,10 @@ def create_session(self): ep = Client.find_endpoint(response.ServerEndpoints, self.security_policy.Mode, self.security_policy.URI) self._policy_ids = ep.UserIdentityTokens self.session_timeout = response.RevisedSessionTimeout - self.keepalive = KeepAlive(self, min(self.session_timeout, self.secure_channel_timeout) * 0.7) # 0.7 is from spec - self.keepalive.start() + # 0.7 is from spec + # ToDo: refactor with callback_later + # self.keepalive = KeepAlive(self, min(self.session_timeout, self.secure_channel_timeout) * 0.7) + # self.keepalive.start() return response def server_policy_id(self, token_type, default): @@ -398,11 +389,11 @@ def server_policy_uri(self, token_type): if policy.TokenType == token_type: if policy.SecurityPolicyUri: return policy.SecurityPolicyUri - else: # empty URI means "use this endpoint's policy URI" + else: # empty URI means "use this endpoint's policy URI" return self.security_policy.URI return self.security_policy.URI - def activate_session(self, username=None, password=None, certificate=None): + async def activate_session(self, username=None, password=None, certificate=None): """ Activate session using either username and password or private_key """ @@ -421,7 +412,7 @@ def activate_session(self, username=None, password=None, certificate=None): self._add_certificate_auth(params, certificate, challenge) else: self._add_user_auth(params, username, password) - return self.uaclient.activate_session(params) + return await self.uaclient.activate_session(params) def _add_anonymous_auth(self, params): params.UserIdentityToken = ua.AnonymousIdentityToken() @@ -467,13 +458,13 @@ def _encrypt_password(self, password, policy_uri): data, uri = security_policies.encrypt_asymmetric(pubkey, etoken, policy_uri) return data, uri - def close_session(self): + async def close_session(self): """ Close session """ if self.keepalive: self.keepalive.stop() - return self.uaclient.close_session(True) + return await self.uaclient.close_session(True) def get_root_node(self): return self.get_node(ua.TwoByteNodeId(ua.ObjectIds.RootFolder)) @@ -521,8 +512,8 @@ def get_namespace_array(self): ns_node = self.get_node(ua.NodeId(ua.ObjectIds.Server_NamespaceArray)) return ns_node.get_value() - def get_namespace_index(self, uri): - uries = self.get_namespace_array() + async def get_namespace_index(self, uri): + uries = await self.get_namespace_array() return uries.index(uri) def delete_nodes(self, nodes, recursive=False): @@ -543,20 +534,18 @@ def export_xml(self, nodes, path): exp.build_etree(nodes) return exp.write_xml(path) - def register_namespace(self, uri): + async def register_namespace(self, uri): """ Register a new namespace. Nodes should in custom namespace, not 0. This method is mainly implemented for symetry with server """ ns_node = self.get_node(ua.NodeId(ua.ObjectIds.Server_NamespaceArray)) - uries = ns_node.get_value() + uries = await ns_node.get_value() if uri in uries: return uries.index(uri) uries.append(uri) - ns_node.set_value(uries) + await ns_node.set_value(uries) return len(uries) - 1 def load_type_definitions(self, nodes=None): return load_type_definitions(self, nodes) - - diff --git a/opcua/client/ua_client.py b/opcua/client/ua_client.py index 3fc7c6faa..afae0b55b 100644 --- a/opcua/client/ua_client.py +++ b/opcua/client/ua_client.py @@ -1,11 +1,8 @@ """ Low level binary client """ - +import asyncio import logging -import socket -from threading import Thread, Lock -from concurrent.futures import Future from functools import partial from opcua import ua @@ -14,67 +11,99 @@ from opcua.common.connection import SecureConnection -class UASocketClient(object): +class UASocketProtocol(asyncio.Protocol): """ - handle socket connection and send ua messages - timeout is the timeout used while waiting for an ua answer from server + Handle socket connection and send ua messages. + Timeout is the timeout used while waiting for an ua answer from server. """ + def __init__(self, timeout=1, security_policy=ua.SecurityPolicy()): self.logger = logging.getLogger(__name__ + ".Socket") - self._thread = None - self._lock = Lock() + self.loop = asyncio.get_event_loop() + self.transport = None + self.receive_buffer = asyncio.Queue() + self.is_receiving = False self.timeout = timeout - self._socket = None - self._do_stop = False self.authentication_token = ua.NodeId() self._request_id = 0 self._request_handle = 0 self._callbackmap = {} self._connection = SecureConnection(security_policy) - - def start(self): - """ - Start receiving thread. - this is called automatically in connect and - should not be necessary to call directly - """ - self._thread = Thread(target=self._run) - self._thread.start() + self._leftover_chunk = None + + def connection_made(self, transport: asyncio.Transport): + self.transport = transport + + def connection_lost(self, exc): + self.logger.info("Socket has closed connection") + self.transport = None + + def data_received(self, data: bytes): + self.receive_buffer.put_nowait(data) + if not self.is_receiving: + self.is_receiving = True + self.loop.create_task(self._receive()) + + async def read(self, size: int): + """Receive up to size bytes from socket.""" + data = b'' + self.logger.debug('read %s bytes from socket', size) + while size > 0: + self.logger.debug('data is now %s, waiting for %s bytes', len(data), size) + # ToDo: abort on timeout, socket close + # raise SocketClosedException("Server socket has closed") + if self._leftover_chunk: + self.logger.debug('leftover bytes %s', len(self._leftover_chunk)) + # use leftover chunk first + chunk = self._leftover_chunk + self._leftover_chunk = None + else: + chunk = await self.receive_buffer.get() + self.logger.debug('got chunk %s needed_length is %s', len(chunk), size) + if len(chunk) <= size: + _chunk = chunk + else: + # chunk is too big + _chunk = chunk[:size] + self._leftover_chunk = chunk[size:] + data += _chunk + size -= len(_chunk) + return data def _send_request(self, request, callback=None, timeout=1000, message_type=ua.MessageType.SecureMessage): """ - send request to server, lower-level method - timeout is the timeout written in ua header - returns future + Send request to server, lower-level method. + Timeout is the timeout written in ua header. + Returns future """ - with self._lock: - request.RequestHeader = self._create_request_header(timeout) - self.logger.debug("Sending: %s", request) - try: - binreq = struct_to_binary(request) - except: - # reset reqeust handle if any error - # see self._create_request_header - self._request_handle -= 1 - raise - self._request_id += 1 - future = Future() - if callback: - future.add_done_callback(callback) - self._callbackmap[self._request_id] = future - msg = self._connection.message_to_binary(binreq, message_type=message_type, request_id=self._request_id) - self._socket.write(msg) + request.RequestHeader = self._create_request_header(timeout) + self.logger.debug("Sending: %s", request) + try: + binreq = struct_to_binary(request) + except Exception: + # reset request handle if any error + # see self._create_request_header + self._request_handle -= 1 + raise + self._request_id += 1 + future = asyncio.Future() + if callback: + future.add_done_callback(callback) + self._callbackmap[self._request_id] = future + msg = self._connection.message_to_binary(binreq, message_type=message_type, request_id=self._request_id) + self.transport.write(msg) return future - def send_request(self, request, callback=None, timeout=1000, message_type=ua.MessageType.SecureMessage): + async def send_request(self, request, callback=None, timeout=1000, message_type=ua.MessageType.SecureMessage): """ - send request to server. - timeout is the timeout written in ua header - returns response object if no callback is provided + Send a request to the server. + Timeout is the timeout written in ua header. + Returns response object if no callback is provided. """ future = self._send_request(request, callback, timeout, message_type) if not callback: - data = future.result(self.timeout) + await asyncio.wait_for(future, self.timeout) + data = future.result() self.check_answer(data, " in response to " + request.__class__.__name__) return data @@ -88,22 +117,10 @@ def check_answer(self, data, context): return False return True - def _run(self): - self.logger.info("Thread started") - while not self._do_stop: - try: - self._receive() - except ua.utils.SocketClosedException: - self.logger.info("Socket has closed connection") - break - except UaError: - self.logger.exception("Protocol Error") - self.logger.info("Thread ended") - - def _receive(self): - msg = self._connection.receive_from_socket(self._socket) + async def _receive(self): + msg = await self._connection.receive_from_socket(self) if msg is None: - return + pass elif isinstance(msg, ua.Message): self._call_callback(msg.request_id(), msg.body()) elif isinstance(msg, ua.Acknowledge): @@ -112,12 +129,17 @@ def _receive(self): self.logger.warning("Received an error: %s", msg) else: raise ua.UaError("Unsupported message type: %s", msg) + if self._leftover_chunk or not self.receive_buffer.empty(): + # keep receiving + self.loop.create_task(self._receive()) + else: + self.is_receiving = False def _call_callback(self, request_id, body): - with self._lock: - future = self._callbackmap.pop(request_id, None) - if future is None: - raise ua.UaError("No future object found for request: {0}, callbacks in list are {1}".format(request_id, self._callbackmap.keys())) + future = self._callbackmap.pop(request_id, None) + if future is None: + raise ua.UaError("No future object found for request: {0}, callbacks in list are {1}".format( + request_id, self._callbackmap.keys())) future.set_result(body) def _create_request_header(self, timeout=1000): @@ -128,67 +150,54 @@ def _create_request_header(self, timeout=1000): hdr.TimeoutHint = timeout return hdr - def connect_socket(self, host, port): - """ - connect to server socket and start receiving thread - """ - self.logger.info("opening connection") - sock = socket.create_connection((host, port)) - sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) # nodelay ncessary to avoid packing in one frame, some servers do not like it - self._socket = ua.utils.SocketWrapper(sock) - self.start() - def disconnect_socket(self): self.logger.info("stop request") - self._do_stop = True - self._socket.socket.shutdown(socket.SHUT_RDWR) - self._socket.socket.close() + self.transport.close() - def send_hello(self, url, max_messagesize = 0, max_chunkcount = 0): + async def send_hello(self, url, max_messagesize=0, max_chunkcount=0): hello = ua.Hello() hello.EndpointUrl = url hello.MaxMessageSize = max_messagesize hello.MaxChunkCount = max_chunkcount - future = Future() - with self._lock: - self._callbackmap[0] = future + future = asyncio.Future() + self._callbackmap[0] = future binmsg = uatcp_to_binary(ua.MessageType.Hello, hello) - self._socket.write(binmsg) - ack = future.result(self.timeout) + self.transport.write(binmsg) + await asyncio.wait_for(future, self.timeout) + ack = future.result() return ack - def open_secure_channel(self, params): + async def open_secure_channel(self, params): self.logger.info("open_secure_channel") request = ua.OpenSecureChannelRequest() request.Parameters = params future = self._send_request(request, message_type=ua.MessageType.SecureOpen) - + await asyncio.wait_for(future, self.timeout) + result = future.result() # FIXME: we have a race condition here # we can get a packet with the new token id before we reach to store it.. - response = struct_from_binary(ua.OpenSecureChannelResponse, future.result(self.timeout)) + response = struct_from_binary(ua.OpenSecureChannelResponse, result) response.ResponseHeader.ServiceResult.check() self._connection.set_channel(response.Parameters) return response.Parameters - def close_secure_channel(self): + async def close_secure_channel(self): """ - close secure channel. It seems to trigger a shutdown of socket - in most servers, so be prepare to reconnect. - OPC UA specs Part 6, 7.1.4 say that Server does not send a CloseSecureChannel response and should just close socket + Close secure channel. + It seems to trigger a shutdown of socket in most servers, so be prepare to reconnect. + OPC UA specs Part 6, 7.1.4 say that Server does not send a CloseSecureChannel response + and should just close socket. """ self.logger.info("close_secure_channel") request = ua.CloseSecureChannelRequest() future = self._send_request(request, message_type=ua.MessageType.SecureClose) - with self._lock: - # don't expect any more answers - future.cancel() - self._callbackmap.clear() - + # don't expect any more answers + future.cancel() + self._callbackmap.clear() # some servers send a response here, most do not ... so we ignore -class UaClient(object): - +class UaClient: """ low level OPC-UA client. @@ -201,64 +210,68 @@ class UaClient(object): def __init__(self, timeout=1): self.logger = logging.getLogger(__name__) - # _publishcallbacks should be accessed in recv thread only - self._publishcallbacks = {} + self.loop = asyncio.get_event_loop() + self._publish_callbacks = {} self._timeout = timeout - self._uasocket = None self.security_policy = ua.SecurityPolicy() + self.protocol = None def set_security(self, policy): self.security_policy = policy - def connect_socket(self, host, port): - """ - connect to server socket and start receiving thread - """ - self._uasocket = UASocketClient(self._timeout, security_policy=self.security_policy) - return self._uasocket.connect_socket(host, port) + def _make_protocol(self): + self.protocol = UASocketProtocol(self._timeout, security_policy=self.security_policy) + return self.protocol + + async def connect_socket(self, host, port): + """Connect to server socket.""" + self.logger.info("opening connection") + # nodelay ncessary to avoid packing in one frame, some servers do not like it + # ToDo: TCP_NODELAY is set by default, but only since 3.6 + await self.loop.create_connection(self._make_protocol, host, port) def disconnect_socket(self): - return self._uasocket.disconnect_socket() + return self.protocol.disconnect_socket() - def send_hello(self, url, max_messagesize = 0, max_chunkcount = 0): - return self._uasocket.send_hello(url, max_messagesize, max_chunkcount) + async def send_hello(self, url, max_messagesize=0, max_chunkcount=0): + await self.protocol.send_hello(url, max_messagesize, max_chunkcount) - def open_secure_channel(self, params): - return self._uasocket.open_secure_channel(params) + async def open_secure_channel(self, params): + return await self.protocol.open_secure_channel(params) - def close_secure_channel(self): + async def close_secure_channel(self): """ close secure channel. It seems to trigger a shutdown of socket in most servers, so be prepare to reconnect """ - return self._uasocket.close_secure_channel() + return await self.protocol.close_secure_channel() - def create_session(self, parameters): + async def create_session(self, parameters): self.logger.info("create_session") request = ua.CreateSessionRequest() request.Parameters = parameters - data = self._uasocket.send_request(request) + data = await self.protocol.send_request(request) response = struct_from_binary(ua.CreateSessionResponse, data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() - self._uasocket.authentication_token = response.Parameters.AuthenticationToken + self.protocol.authentication_token = response.Parameters.AuthenticationToken return response.Parameters - def activate_session(self, parameters): + async def activate_session(self, parameters): self.logger.info("activate_session") request = ua.ActivateSessionRequest() request.Parameters = parameters - data = self._uasocket.send_request(request) + data = await self.protocol.send_request(request) response = struct_from_binary(ua.ActivateSessionResponse, data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.Parameters - def close_session(self, deletesubscriptions): + async def close_session(self, delete_subscriptions): self.logger.info("close_session") request = ua.CloseSessionRequest() - request.DeleteSubscriptions = deletesubscriptions - data = self._uasocket.send_request(request) + request.DeleteSubscriptions = delete_subscriptions + data = await self.protocol.send_request(request) response = struct_from_binary(ua.CloseSessionResponse, data) try: response.ResponseHeader.ServiceResult.check() @@ -269,31 +282,31 @@ def close_session(self, deletesubscriptions): # closing the session. pass - def browse(self, parameters): + async def browse(self, parameters): self.logger.info("browse") request = ua.BrowseRequest() request.Parameters = parameters - data = self._uasocket.send_request(request) + data = await self.protocol.send_request(request) response = struct_from_binary(ua.BrowseResponse, data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.Results - def browse_next(self, parameters): + async def browse_next(self, parameters): self.logger.info("browse next") request = ua.BrowseNextRequest() request.Parameters = parameters - data = self._uasocket.send_request(request) + data = await self.protocol.send_request(request) response = struct_from_binary(ua.BrowseNextResponse, data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.Parameters.Results - def read(self, parameters): + async def read(self, parameters): self.logger.info("read") request = ua.ReadRequest() request.Parameters = parameters - data = self._uasocket.send_request(request) + data = await self.protocol.send_request(request) response = struct_from_binary(ua.ReadResponse, data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() @@ -309,132 +322,120 @@ def read(self, parameters): dv.Value.Value = ua.ValueRank(dv.Value.Value) return response.Results - def write(self, params): + async def write(self, params): self.logger.info("read") request = ua.WriteRequest() request.Parameters = params - data = self._uasocket.send_request(request) + data = await self.protocol.send_request(request) response = struct_from_binary(ua.WriteResponse, data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.Results - def get_endpoints(self, params): + async def get_endpoints(self, params): self.logger.info("get_endpoint") request = ua.GetEndpointsRequest() request.Parameters = params - data = self._uasocket.send_request(request) + data = await self.protocol.send_request(request) response = struct_from_binary(ua.GetEndpointsResponse, data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.Endpoints - def find_servers(self, params): + async def find_servers(self, params): self.logger.info("find_servers") request = ua.FindServersRequest() request.Parameters = params - data = self._uasocket.send_request(request) + data = await self.protocol.send_request(request) response = struct_from_binary(ua.FindServersResponse, data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.Servers - def find_servers_on_network(self, params): + async def find_servers_on_network(self, params): self.logger.info("find_servers_on_network") request = ua.FindServersOnNetworkRequest() request.Parameters = params - data = self._uasocket.send_request(request) + data = await self.protocol.send_request(request) response = struct_from_binary(ua.FindServersOnNetworkResponse, data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.Parameters - def register_server(self, registered_server): + async def register_server(self, registered_server): self.logger.info("register_server") request = ua.RegisterServerRequest() request.Server = registered_server - data = self._uasocket.send_request(request) + data = await self.protocol.send_request(request) response = struct_from_binary(ua.RegisterServerResponse, data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() # nothing to return for this service - def register_server2(self, params): + async def register_server2(self, params): self.logger.info("register_server2") request = ua.RegisterServer2Request() request.Parameters = params - data = self._uasocket.send_request(request) + data = await self.protocol.send_request(request) response = struct_from_binary(ua.RegisterServer2Response, data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.ConfigurationResults - def translate_browsepaths_to_nodeids(self, browsepaths): + async def translate_browsepaths_to_nodeids(self, browse_paths): self.logger.info("translate_browsepath_to_nodeid") request = ua.TranslateBrowsePathsToNodeIdsRequest() - request.Parameters.BrowsePaths = browsepaths - data = self._uasocket.send_request(request) + request.Parameters.BrowsePaths = browse_paths + data = await self.protocol.send_request(request) response = struct_from_binary(ua.TranslateBrowsePathsToNodeIdsResponse, data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.Results - def create_subscription(self, params, callback): + async def create_subscription(self, params, callback): self.logger.info("create_subscription") request = ua.CreateSubscriptionRequest() request.Parameters = params - resp_fut = Future() - mycallbak = partial(self._create_subscription_callback, callback, resp_fut) - self._uasocket.send_request(request, mycallbak) - return resp_fut.result(self._timeout) - - def _create_subscription_callback(self, pub_callback, resp_fut, data_fut): - self.logger.info("_create_subscription_callback") - data = data_fut.result() - response = struct_from_binary(ua.CreateSubscriptionResponse, data) + response = struct_from_binary( + ua.CreateSubscriptionResponse, + await self.protocol.send_request(request) + ) + self.logger.info("create subscription callback") self.logger.debug(response) response.ResponseHeader.ServiceResult.check() - self._publishcallbacks[response.Parameters.SubscriptionId] = pub_callback - resp_fut.set_result(response.Parameters) + self._publish_callbacks[response.Parameters.SubscriptionId] = callback + return response.Parameters - def delete_subscriptions(self, subscriptionids): + async def delete_subscriptions(self, subscription_ids): self.logger.info("delete_subscription") request = ua.DeleteSubscriptionsRequest() - request.Parameters.SubscriptionIds = subscriptionids - resp_fut = Future() - mycallbak = partial(self._delete_subscriptions_callback, subscriptionids, resp_fut) - self._uasocket.send_request(request, mycallbak) - return resp_fut.result(self._timeout) - - def _delete_subscriptions_callback(self, subscriptionids, resp_fut, data_fut): - self.logger.info("_delete_subscriptions_callback") - data = data_fut.result() - response = struct_from_binary(ua.DeleteSubscriptionsResponse, data) + request.Parameters.SubscriptionIds = subscription_ids + response = struct_from_binary( + ua.DeleteSubscriptionsResponse, + await self.protocol.send_request(request) + ) + self.logger.info("delete subscriptions callback") self.logger.debug(response) response.ResponseHeader.ServiceResult.check() - for sid in subscriptionids: - self._publishcallbacks.pop(sid) - resp_fut.set_result(response.Results) + for sid in subscription_ids: + self._publish_callbacks.pop(sid) + return response.Results - def publish(self, acks=None): + async def publish(self, acks=None): self.logger.info("publish") if acks is None: acks = [] request = ua.PublishRequest() request.Parameters.SubscriptionAcknowledgements = acks - self._uasocket.send_request(request, self._call_publish_callback, timeout=0) - - def _call_publish_callback(self, future): - self.logger.info("call_publish_callback") - data = future.result() - + data = await self.protocol.send_request(request, timeout=0) # check if answer looks ok try: - self._uasocket.check_answer(data, "while waiting for publish response") - except BadTimeout: # Spec Part 4, 7.28 - self.publish() + self.protocol.check_answer(data, "while waiting for publish response") + except BadTimeout: + # Spec Part 4, 7.28 + self.loop.create_task(self.publish()) return - except BadNoSubscription: # Spec Part 5, 13.8.1 + except BadNoSubscription: # Spec Part 5, 13.8.1 # BadNoSubscription is expected after deleting the last subscription. # # We should therefore also check for len(self._publishcallbacks) == 0, but @@ -450,7 +451,6 @@ def _call_publish_callback(self, future): # to be to just ignore any BadNoSubscription responses. self.logger.info("BadNoSubscription received, ignoring because it's probably valid.") return - # parse publish response try: response = struct_from_binary(ua.PublishResponse, data) @@ -459,108 +459,107 @@ def _call_publish_callback(self, future): # INFO: catching the exception here might be obsolete because we already # catch BadTimeout above. However, it's not really clear what this code # does so it stays in, doesn't seem to hurt. - self.logger.exception("Error parsing notificatipn from server") - self.publish([]) #send publish request ot server so he does stop sending notifications + self.logger.exception("Error parsing notification from server") + # send publish request ot server so he does stop sending notifications + self.loop.create_task(self.publish([])) return - # look for callback try: - callback = self._publishcallbacks[response.Parameters.SubscriptionId] + callback = self._publish_callbacks[response.Parameters.SubscriptionId] except KeyError: self.logger.warning("Received data for unknown subscription: %s ", response.Parameters.SubscriptionId) return - # do callback try: callback(response.Parameters) - except Exception: # we call client code, catch everything! + except Exception: + # we call client code, catch everything! self.logger.exception("Exception while calling user callback: %s") - def create_monitored_items(self, params): + async def create_monitored_items(self, params): self.logger.info("create_monitored_items") request = ua.CreateMonitoredItemsRequest() request.Parameters = params - data = self._uasocket.send_request(request) + data = await self.protocol.send_request(request) response = struct_from_binary(ua.CreateMonitoredItemsResponse, data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.Results - def delete_monitored_items(self, params): + async def delete_monitored_items(self, params): self.logger.info("delete_monitored_items") request = ua.DeleteMonitoredItemsRequest() request.Parameters = params - data = self._uasocket.send_request(request) + data = await self.protocol.send_request(request) response = struct_from_binary(ua.DeleteMonitoredItemsResponse, data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.Results - def add_nodes(self, nodestoadd): + async def add_nodes(self, nodestoadd): self.logger.info("add_nodes") request = ua.AddNodesRequest() request.Parameters.NodesToAdd = nodestoadd - data = self._uasocket.send_request(request) + data = await self.protocol.send_request(request) response = struct_from_binary(ua.AddNodesResponse, data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.Results - def add_references(self, refs): + async def add_references(self, refs): self.logger.info("add_references") request = ua.AddReferencesRequest() request.Parameters.ReferencesToAdd = refs - data = self._uasocket.send_request(request) + data = await self.protocol.send_request(request) response = struct_from_binary(ua.AddReferencesResponse, data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.Results - def delete_references(self, refs): + async def delete_references(self, refs): self.logger.info("delete") request = ua.DeleteReferencesRequest() request.Parameters.ReferencesToDelete = refs - data = self._uasocket.send_request(request) + data = await self.protocol.send_request(request) response = struct_from_binary(ua.DeleteReferencesResponse, data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.Parameters.Results - - def delete_nodes(self, params): + async def delete_nodes(self, params): self.logger.info("delete_nodes") request = ua.DeleteNodesRequest() request.Parameters = params - data = self._uasocket.send_request(request) + data = await self.protocol.send_request(request) response = struct_from_binary(ua.DeleteNodesResponse, data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.Results - def call(self, methodstocall): + async def call(self, methodstocall): request = ua.CallRequest() request.Parameters.MethodsToCall = methodstocall - data = self._uasocket.send_request(request) + data = await self.protocol.send_request(request) response = struct_from_binary(ua.CallResponse, data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.Results - def history_read(self, params): + async def history_read(self, params): self.logger.info("history_read") request = ua.HistoryReadRequest() request.Parameters = params - data = self._uasocket.send_request(request) + data = await self.protocol.send_request(request) response = struct_from_binary(ua.HistoryReadResponse, data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() return response.Results - def modify_monitored_items(self, params): + async def modify_monitored_items(self, params): self.logger.info("modify_monitored_items") request = ua.ModifyMonitoredItemsRequest() request.Parameters = params - data = self._uasocket.send_request(request) + data = await self.protocol.send_request(request) response = struct_from_binary(ua.ModifyMonitoredItemsResponse, data) self.logger.debug(response) response.ResponseHeader.ServiceResult.check() diff --git a/opcua/common/async_connection.py b/opcua/common/async_connection.py deleted file mode 100644 index 1d28c2862..000000000 --- a/opcua/common/async_connection.py +++ /dev/null @@ -1,29 +0,0 @@ - -import asyncio -import logging -from opcua.common.connection import SecureConnection -from opcua.ua.async_ua_binary import header_from_binary -from opcua import ua - -logger = logging.getLogger('opcua.uaprotocol') - - -class AsyncSecureConnection(SecureConnection): - """ - Async version of SecureConnection - """ - - async def receive_from_socket(self, protocol): - """ - Convert binary stream to OPC UA TCP message (see OPC UA - specs Part 6, 7.1: Hello, Acknowledge or ErrorMessage), or a Message - object, or None (if intermediate chunk is received) - """ - logger.debug("Waiting for header") - header = await header_from_binary(protocol) - logger.info("received header: %s", header) - body = await protocol.read(header.body_size) - if len(body) != header.body_size: - # ToDo: should never happen since UASocketProtocol.read() waits until `size` bytes are received. Remove? - raise ua.UaError("{0} bytes expected, {1} available".format(header.body_size, len(body))) - return self.receive_from_header_and_body(header, ua.utils.Buffer(body)) diff --git a/opcua/common/connection.py b/opcua/common/connection.py index 18b251825..36ec10415 100644 --- a/opcua/common/connection.py +++ b/opcua/common/connection.py @@ -27,8 +27,8 @@ def __init__(self, security_policy, body=b'', msg_type=ua.MessageType.SecureMess self.security_policy = security_policy @staticmethod - def from_binary(security_policy, data): - h = header_from_binary(data) + async def from_binary(security_policy, data): + h = await header_from_binary(data) return MessageChunk.from_header_and_body(security_policy, h, data) @staticmethod @@ -190,11 +190,9 @@ def select_policy(self, uri, peer_certificate, mode=None): if policy.matches(uri, mode): self.security_policy = policy.create(peer_certificate) return - if self.security_policy.URI != uri or (mode is not None and - self.security_policy.Mode != mode): + if self.security_policy.URI != uri or (mode is not None and self.security_policy.Mode != mode): raise ua.UaError("No matching policy: {0}, {1}".format(uri, mode)) - def message_to_binary(self, message, message_type=ua.MessageType.SecureMessage, request_id=0, algohdr=None): """ Convert OPC UA secure message to binary. @@ -219,7 +217,6 @@ def message_to_binary(self, message, message_type=ua.MessageType.SecureMessage, chunk.SequenceHeader.SequenceNumber = self._sequence_number return b"".join([chunk.to_binary() for chunk in chunks]) - def _check_incoming_chunk(self, chunk): assert isinstance(chunk, MessageChunk), "Expected chunk, got: {0}".format(chunk) if chunk.MessageHeader.MessageType != ua.MessageType.SecureOpen: @@ -229,13 +226,14 @@ def _check_incoming_chunk(self, chunk): self.channel.SecurityToken.ChannelId)) if chunk.SecurityHeader.TokenId != self.channel.SecurityToken.TokenId: if chunk.SecurityHeader.TokenId not in self._old_tokens: - logger.warning("Received a chunk with wrong token id %s, expected %s", chunk.SecurityHeader.TokenId, self.channel.SecurityToken.TokenId) - + logger.warning( + "Received a chunk with wrong token id %s, expected %s", + chunk.SecurityHeader.TokenId, self.channel.SecurityToken.TokenId + ) #raise UaError("Wrong token id {}, expected {}, old tokens are {}".format( #chunk.SecurityHeader.TokenId, #self.channel.SecurityToken.TokenId, #self._old_tokens)) - else: # Do some cleanup, spec says we can remove old tokens when new one are used idx = self._old_tokens.index(chunk.SecurityHeader.TokenId) @@ -294,17 +292,18 @@ def receive_from_header_and_body(self, header, body): else: raise ua.UaError("Unsupported message type {0}".format(header.MessageType)) - def receive_from_socket(self, socket): + async def receive_from_socket(self, protocol): """ Convert binary stream to OPC UA TCP message (see OPC UA specs Part 6, 7.1: Hello, Acknowledge or ErrorMessage), or a Message object, or None (if intermediate chunk is received) """ logger.debug("Waiting for header") - header = header_from_binary(socket) - logger.info("received header: %s", header) - body = socket.read(header.body_size) + header = await header_from_binary(protocol) + logger.debug("Received header: %s", header) + body = await protocol.read(header.body_size) if len(body) != header.body_size: + # ToDo: should never happen since UASocketProtocol.read() waits until `size` bytes are received. Remove? raise ua.UaError("{0} bytes expected, {1} available".format(header.body_size, len(body))) return self.receive_from_header_and_body(header, ua.utils.Buffer(body)) @@ -326,5 +325,3 @@ def _receive(self, msg): return message else: raise ua.UaError("Unsupported chunk type: {0}".format(msg)) - - diff --git a/opcua/common/node.py b/opcua/common/node.py index 4249fccae..4290af133 100644 --- a/opcua/common/node.py +++ b/opcua/common/node.py @@ -63,127 +63,130 @@ def __str__(self): def __hash__(self): return self.nodeid.__hash__() - def get_browse_name(self): + async def get_browse_name(self): """ Get browse name of a node. A browse name is a QualifiedName object composed of a string(name) and a namespace index. """ - result = self.get_attribute(ua.AttributeIds.BrowseName) + result = await self.get_attribute(ua.AttributeIds.BrowseName) return result.Value.Value - def get_display_name(self): + async def get_display_name(self): """ get description attribute of node """ - result = self.get_attribute(ua.AttributeIds.DisplayName) + result = await self.get_attribute(ua.AttributeIds.DisplayName) return result.Value.Value - def get_data_type(self): + async def get_data_type(self): """ get data type of node as NodeId """ - result = self.get_attribute(ua.AttributeIds.DataType) + result = await self.get_attribute(ua.AttributeIds.DataType) return result.Value.Value - def get_data_type_as_variant_type(self): + async def get_data_type_as_variant_type(self): """ get data type of node as VariantType This only works if node is a variable, otherwise type may not be convertible to VariantType """ - result = self.get_attribute(ua.AttributeIds.DataType) - return opcua.common.ua_utils.data_type_to_variant_type(Node(self.server, result.Value.Value)) + result = await self.get_attribute(ua.AttributeIds.DataType) + return await opcua.common.ua_utils.data_type_to_variant_type(Node(self.server, result.Value.Value)) - def get_access_level(self): + async def get_access_level(self): """ Get the access level attribute of the node as a set of AccessLevel enum values. """ - result = self.get_attribute(ua.AttributeIds.AccessLevel) + result = await self.get_attribute(ua.AttributeIds.AccessLevel) return ua.AccessLevel.parse_bitfield(result.Value.Value) - def get_user_access_level(self): + async def get_user_access_level(self): """ Get the user access level attribute of the node as a set of AccessLevel enum values. """ - result = self.get_attribute(ua.AttributeIds.UserAccessLevel) + result = await self.get_attribute(ua.AttributeIds.UserAccessLevel) return ua.AccessLevel.parse_bitfield(result.Value.Value) - def get_event_notifier(self): + async def get_event_notifier(self): """ Get the event notifier attribute of the node as a set of EventNotifier enum values. """ - result = self.get_attribute(ua.AttributeIds.EventNotifier) + result = await self.get_attribute(ua.AttributeIds.EventNotifier) return ua.EventNotifier.parse_bitfield(result.Value.Value) - def set_event_notifier(self, values): + async def set_event_notifier(self, values): """ Set the event notifier attribute. :param values: an iterable of EventNotifier enum values. """ event_notifier_bitfield = ua.EventNotifier.to_bitfield(values) - self.set_attribute(ua.AttributeIds.EventNotifier, ua.DataValue(ua.Variant(event_notifier_bitfield, ua.VariantType.Byte))) + await self.set_attribute( + ua.AttributeIds.EventNotifier, + ua.DataValue(ua.Variant(event_notifier_bitfield, ua.VariantType.Byte)) + ) - def get_node_class(self): + async def get_node_class(self): """ get node class attribute of node """ - result = self.get_attribute(ua.AttributeIds.NodeClass) + result = await self.get_attribute(ua.AttributeIds.NodeClass) return result.Value.Value - def get_description(self): + async def get_description(self): """ get description attribute class of node """ - result = self.get_attribute(ua.AttributeIds.Description) + result = await self.get_attribute(ua.AttributeIds.Description) return result.Value.Value - def get_value(self): + async def get_value(self): """ Get value of a node as a python type. Only variables ( and properties) have values. An exception will be generated for other node types. """ - result = self.get_data_value() + result = await self.get_data_value() return result.Value.Value - def get_data_value(self): + async def get_data_value(self): """ Get value of a node as a DataValue object. Only variables (and properties) have values. An exception will be generated for other node types. DataValue contain a variable value as a variant as well as server and source timestamps """ - return self.get_attribute(ua.AttributeIds.Value) + return await self.get_attribute(ua.AttributeIds.Value) - def set_array_dimensions(self, value): + async def set_array_dimensions(self, value): """ Set attribute ArrayDimensions of node make sure it has the correct data type """ v = ua.Variant(value, ua.VariantType.UInt32) - self.set_attribute(ua.AttributeIds.ArrayDimensions, ua.DataValue(v)) + await self.set_attribute(ua.AttributeIds.ArrayDimensions, ua.DataValue(v)) - def get_array_dimensions(self): + async def get_array_dimensions(self): """ Read and return ArrayDimensions attribute of node """ - res = self.get_attribute(ua.AttributeIds.ArrayDimensions) + res = await self.get_attribute(ua.AttributeIds.ArrayDimensions) return res.Value.Value - def set_value_rank(self, value): + async def set_value_rank(self, value): """ Set attribute ArrayDimensions of node """ v = ua.Variant(value, ua.VariantType.Int32) - self.set_attribute(ua.AttributeIds.ValueRank, ua.DataValue(v)) + await self.set_attribute(ua.AttributeIds.ValueRank, ua.DataValue(v)) - def get_value_rank(self): + async def get_value_rank(self): """ Read and return ArrayDimensions attribute of node """ - res = self.get_attribute(ua.AttributeIds.ValueRank) + res = await self.get_attribute(ua.AttributeIds.ValueRank) return res.Value.Value - def set_value(self, value, varianttype=None): + async def set_value(self, value, varianttype=None): """ Set value of a node. Only variables(properties) have values. An exception will be generated for other node types. @@ -200,7 +203,7 @@ def set_value(self, value, varianttype=None): datavalue = ua.DataValue(value) else: datavalue = ua.DataValue(ua.Variant(value, varianttype)) - self.set_attribute(ua.AttributeIds.Value, datavalue) + await self.set_attribute(ua.AttributeIds.Value, datavalue) set_data_value = set_value @@ -216,15 +219,15 @@ def set_writable(self, writable=True): self.unset_attr_bit(ua.AttributeIds.AccessLevel, ua.AccessLevel.CurrentWrite) self.unset_attr_bit(ua.AttributeIds.UserAccessLevel, ua.AccessLevel.CurrentWrite) - def set_attr_bit(self, attr, bit): + async def set_attr_bit(self, attr, bit): val = self.get_attribute(attr) val.Value.Value = ua.ua_binary.set_bit(val.Value.Value, bit) - self.set_attribute(attr, val) + await self.set_attribute(attr, val) - def unset_attr_bit(self, attr, bit): + async def unset_attr_bit(self, attr, bit): val = self.get_attribute(attr) val.Value.Value = ua.ua_binary.unset_bit(val.Value.Value, bit) - self.set_attribute(attr, val) + await self.set_attribute(attr, val) def set_read_only(self): """ @@ -233,7 +236,7 @@ def set_read_only(self): """ return self.set_writable(False) - def set_attribute(self, attributeid, datavalue): + async def set_attribute(self, attributeid, datavalue): """ Set an attribute of a node attributeid is a member of ua.AttributeIds @@ -245,10 +248,10 @@ def set_attribute(self, attributeid, datavalue): attr.Value = datavalue params = ua.WriteParameters() params.NodesToWrite = [attr] - result = self.server.write(params) + result = await self.server.write(params) result[0].check() - def get_attribute(self, attr): + async def get_attribute(self, attr): """ Read one attribute of a node result code from server is checked and an exception is raised in case of error @@ -258,11 +261,11 @@ def get_attribute(self, attr): rv.AttributeId = attr params = ua.ReadParameters() params.NodesToRead.append(rv) - result = self.server.read(params) + result = await self.server.read(params) result[0].StatusCode.check() return result[0] - def get_attributes(self, attrs): + async def get_attributes(self, attrs): """ Read several attributes of a node list of DataValue is returned @@ -274,7 +277,7 @@ def get_attributes(self, attrs): rv.AttributeId = attr params.NodesToRead.append(rv) - results = self.server.read(params) + results = await self.server.read(params) return results def get_children(self, refs=ua.ObjectIds.HierarchicalReferences, nodeclassmask=ua.NodeClass.Unspecified): @@ -322,8 +325,8 @@ def get_methods(self): """ return self.get_children(refs=ua.ObjectIds.HasComponent, nodeclassmask=ua.NodeClass.Method) - def get_children_descriptions(self, refs=ua.ObjectIds.HierarchicalReferences, nodeclassmask=ua.NodeClass.Unspecified, includesubtypes=True): - return self.get_references(refs, ua.BrowseDirection.Forward, nodeclassmask, includesubtypes) + async def get_children_descriptions(self, refs=ua.ObjectIds.HierarchicalReferences, nodeclassmask=ua.NodeClass.Unspecified, includesubtypes=True): + return await self.get_references(refs, ua.BrowseDirection.Forward, nodeclassmask, includesubtypes) def get_encoding_refs(self): return self.get_referenced_nodes(ua.ObjectIds.HasEncoding, ua.BrowseDirection.Forward) @@ -331,7 +334,7 @@ def get_encoding_refs(self): def get_description_refs(self): return self.get_referenced_nodes(ua.ObjectIds.HasDescription, ua.BrowseDirection.Forward) - def get_references(self, refs=ua.ObjectIds.References, direction=ua.BrowseDirection.Both, nodeclassmask=ua.NodeClass.Unspecified, includesubtypes=True): + async def get_references(self, refs=ua.ObjectIds.References, direction=ua.BrowseDirection.Both, nodeclassmask=ua.NodeClass.Unspecified, includesubtypes=True): """ returns references of the node based on specific filter defined with: @@ -346,50 +349,48 @@ def get_references(self, refs=ua.ObjectIds.References, direction=ua.BrowseDirect desc.IncludeSubtypes = includesubtypes desc.NodeClassMask = nodeclassmask desc.ResultMask = ua.BrowseResultMask.All - desc.NodeId = self.nodeid params = ua.BrowseParameters() params.View.Timestamp = ua.get_win_epoch() params.NodesToBrowse.append(desc) params.RequestedMaxReferencesPerNode = 0 - results = self.server.browse(params) - - references = self._browse_next(results) + results = await self.server.browse(params) + references = await self._browse_next(results) return references - def _browse_next(self, results): + async def _browse_next(self, results): references = results[0].References while results[0].ContinuationPoint: params = ua.BrowseNextParameters() params.ContinuationPoints = [results[0].ContinuationPoint] params.ReleaseContinuationPoints = False - results = self.server.browse_next(params) + results = await self.server.browse_next(params) references.extend(results[0].References) return references - def get_referenced_nodes(self, refs=ua.ObjectIds.References, direction=ua.BrowseDirection.Both, nodeclassmask=ua.NodeClass.Unspecified, includesubtypes=True): + async def get_referenced_nodes(self, refs=ua.ObjectIds.References, direction=ua.BrowseDirection.Both, nodeclassmask=ua.NodeClass.Unspecified, includesubtypes=True): """ returns referenced nodes based on specific filter Paramters are the same as for get_references """ - references = self.get_references(refs, direction, nodeclassmask, includesubtypes) + references = await self.get_references(refs, direction, nodeclassmask, includesubtypes) nodes = [] for desc in references: node = Node(self.server, desc.NodeId) nodes.append(node) return nodes - def get_type_definition(self): + async def get_type_definition(self): """ returns type definition of the node. """ - references = self.get_references(refs=ua.ObjectIds.HasTypeDefinition, direction=ua.BrowseDirection.Forward) + references = await self.get_references(refs=ua.ObjectIds.HasTypeDefinition, direction=ua.BrowseDirection.Forward) if len(references) == 0: return None return references[0].NodeId - def get_path(self, max_length=20, as_string=False): + async def get_path(self, max_length=20, as_string=False): """ Attempt to find path of node from root node and return it as a list of Nodes. There might several possible paths to a node, this function will return one @@ -398,14 +399,18 @@ def get_path(self, max_length=20, as_string=False): Since address space may have circular references, a max length is specified """ - path = self._get_path(max_length) - path = [Node(self.server, ref.NodeId) for ref in path] + path = [] + for ref in await self._get_path(max_length): + path.append(Node(self.server, ref.NodeId)) path.append(self) if as_string: - path = [el.get_browse_name().to_string() for el in path] + str_path = [] + for el in path: + name = await el.get_browse_name() + str_path.append(name.to_string()) return path - def _get_path(self, max_length=20): + async def _get_path(self, max_length=20): """ Attempt to find path of node from root node and return it as a list of Nodes. There might several possible paths to a node, this function will return one @@ -417,29 +422,31 @@ def _get_path(self, max_length=20): path = [] node = self while True: - refs = node.get_references(refs=ua.ObjectIds.HierarchicalReferences, direction=ua.BrowseDirection.Inverse) + refs = await node.get_references( + refs=ua.ObjectIds.HierarchicalReferences, direction=ua.BrowseDirection.Inverse + ) if len(refs) > 0: path.insert(0, refs[0]) node = Node(self.server, refs[0].NodeId) - if len(path) >= (max_length -1): + if len(path) >= (max_length - 1): return path else: return path - def get_parent(self): + async def get_parent(self): """ returns parent of the node. A Node may have several parents, the first found is returned. This method uses reverse references, a node might be missing such a link, thus we will not find its parent. """ - refs = self.get_references(refs=ua.ObjectIds.HierarchicalReferences, direction=ua.BrowseDirection.Inverse) + refs = await self.get_references(refs=ua.ObjectIds.HierarchicalReferences, direction=ua.BrowseDirection.Inverse) if len(refs) > 0: return Node(self.server, refs[0].NodeId) else: return None - def get_child(self, path): + async def get_child(self, path): """ get a child specified by its path from this node. A path might be: @@ -454,7 +461,7 @@ def get_child(self, path): bpath = ua.BrowsePath() bpath.StartingNode = self.nodeid bpath.RelativePath = rpath - result = self.server.translate_browsepaths_to_nodeids([bpath]) + result = await self.server.translate_browsepaths_to_nodeids([bpath]) result = result[0] result.StatusCode.check() # FIXME: seems this method may return several nodes diff --git a/opcua/common/ua_utils.py b/opcua/common/ua_utils.py index 912e3180a..6ee84f211 100644 --- a/opcua/common/ua_utils.py +++ b/opcua/common/ua_utils.py @@ -117,28 +117,28 @@ def string_to_variant(string, vtype): return ua.Variant(string_to_val(string, vtype), vtype) -def get_node_children(node, nodes=None): +async def get_node_children(node, nodes=None): """ Get recursively all children of a node """ if nodes is None: nodes = [node] - for child in node.get_children(): + for child in await node.get_children(): nodes.append(child) - get_node_children(child, nodes) + await get_node_children(child, nodes) return nodes -def get_node_subtypes(node, nodes=None): +async def get_node_subtypes(node, nodes=None): if nodes is None: nodes = [node] - for child in node.get_children(refs=ua.ObjectIds.HasSubtype): + for child in await node.get_children(refs=ua.ObjectIds.HasSubtype): nodes.append(child) - get_node_subtypes(child, nodes) + await get_node_subtypes(child, nodes) return nodes -def get_node_supertypes(node, includeitself=False, skipbase=True): +async def get_node_supertypes(node, includeitself=False, skipbase=True): """ return get all subtype parents of node recursive :param node: can be a ua.Node or ua.NodeId @@ -149,47 +149,46 @@ def get_node_supertypes(node, includeitself=False, skipbase=True): parents = [] if includeitself: parents.append(node) - parents.extend(_get_node_supertypes(node)) + parents.extend(await _get_node_supertypes(node)) if skipbase and len(parents) > 1: parents = parents[:-1] - return parents -def _get_node_supertypes(node): +async def _get_node_supertypes(node): """ recursive implementation of get_node_derived_from_types """ basetypes = [] - parent = get_node_supertype(node) + parent = await get_node_supertype(node) if parent: basetypes.append(parent) - basetypes.extend(_get_node_supertypes(parent)) + basetypes.extend(await _get_node_supertypes(parent)) return basetypes -def get_node_supertype(node): +async def get_node_supertype(node): """ return node supertype or None """ - supertypes = node.get_referenced_nodes(refs=ua.ObjectIds.HasSubtype, - direction=ua.BrowseDirection.Inverse, - includesubtypes=True) + supertypes = await node.get_referenced_nodes( + refs=ua.ObjectIds.HasSubtype, direction=ua.BrowseDirection.Inverse, includesubtypes=True + ) if supertypes: return supertypes[0] else: return None -def is_child_present(node, browsename): +async def is_child_present(node, browsename): """ return if a browsename is present a child from the provide node :param node: node wherein to find the browsename :param browsename: browsename to search :returns returne True if the browsename is present else False """ - child_descs = node.get_children_descriptions() + child_descs = await node.get_children_descriptions() for child_desc in child_descs: if child_desc.BrowseName == browsename: return True @@ -197,20 +196,20 @@ def is_child_present(node, browsename): return False -def data_type_to_variant_type(dtype_node): +async def data_type_to_variant_type(dtype_node): """ Given a Node datatype, find out the variant type to encode data. This is not exactly straightforward... """ - base = get_base_data_type(dtype_node) - + base = await get_base_data_type(dtype_node) if base.nodeid.Identifier != 29: return ua.VariantType(base.nodeid.Identifier) else: # we have an enumeration, value is a Int32 return ua.VariantType.Int32 -def get_base_data_type(datatype): + +async def get_base_data_type(datatype): """ Looks up the base datatype of the provided datatype Node The base datatype is either: @@ -225,7 +224,7 @@ def get_base_data_type(datatype): while base: if base.nodeid.NamespaceIndex == 0 and isinstance(base.nodeid.Identifier, int) and base.nodeid.Identifier <= 30: return base - base = get_node_supertype(base) + base = await get_node_supertype(base) raise ua.UaError("Datatype must be a subtype of builtin types {0!s}".format(datatype)) @@ -251,8 +250,10 @@ def get_nodes_of_namespace(server, namespaces=None): namespace_indexes = [n if isinstance(n, int) else ns_available.index(n) for n in namespaces] # filter nodeis based on the provide namespaces and convert the nodeid to a node - nodes = [server.get_node(nodeid) for nodeid in server.iserver.aspace.keys() - if nodeid.NamespaceIndex != 0 and nodeid.NamespaceIndex in namespace_indexes] + nodes = [ + server.get_node(nodeid) for nodeid in server.iserver.aspace.keys() + if nodeid.NamespaceIndex != 0 and nodeid.NamespaceIndex in namespace_indexes + ] return nodes @@ -263,5 +264,3 @@ def get_default_value(uatype): return ua.get_default_value(getattr(ua.VariantType, uatype)) else: return getattr(ua, uatype)() - - diff --git a/opcua/crypto/security_policies.py b/opcua/crypto/security_policies.py index 82d66a6d8..2559a99f1 100644 --- a/opcua/crypto/security_policies.py +++ b/opcua/crypto/security_policies.py @@ -452,5 +452,5 @@ def encrypt_asymmetric(pubkey, data, policy_uri): return (cls.encrypt_asymmetric(pubkey, data), cls.AsymmetricEncryptionURI) if not policy_uri or policy_uri == POLICY_NONE_URI: - return (data, '') + return data, '' raise UaError("Unsupported security policy `{0}`".format(policy_uri)) diff --git a/opcua/crypto/uacrypto.py b/opcua/crypto/uacrypto.py index f7d68f7c0..890cbd9a7 100644 --- a/opcua/crypto/uacrypto.py +++ b/opcua/crypto/uacrypto.py @@ -1,5 +1,6 @@ import os +import aiofiles from cryptography import x509 from cryptography.exceptions import InvalidSignature from cryptography.hazmat.backends import default_backend @@ -12,13 +13,13 @@ from cryptography.hazmat.primitives.ciphers import modes -def load_certificate(path): +async def load_certificate(path): _, ext = os.path.splitext(path) - with open(path, "rb") as f: + async with aiofiles.open(path, mode='rb') as f: if ext == ".pem": - return x509.load_pem_x509_certificate(f.read(), default_backend()) + return x509.load_pem_x509_certificate(await f.read(), default_backend()) else: - return x509.load_der_x509_certificate(f.read(), default_backend()) + return x509.load_der_x509_certificate(await f.read(), default_backend()) def x509_from_der(data): @@ -27,13 +28,13 @@ def x509_from_der(data): return x509.load_der_x509_certificate(data, default_backend()) -def load_private_key(path): +async def load_private_key(path): _, ext = os.path.splitext(path) - with open(path, "rb") as f: + async with aiofiles.open(path, mode='rb') as f: if ext == ".pem": - return serialization.load_pem_private_key(f.read(), password=None, backend=default_backend()) + return serialization.load_pem_private_key(await f.read(), password=None, backend=default_backend()) else: - return serialization.load_der_private_key(f.read(), password=None, backend=default_backend()) + return serialization.load_der_private_key(await f.read(), password=None, backend=default_backend()) def der_from_x509(certificate): @@ -172,12 +173,3 @@ def x509_to_string(cert): # TODO: show more information return "{0}{1}, {2} - {3}".format(x509_name_to_string(cert.subject), issuer, cert.not_valid_before, cert.not_valid_after) - -if __name__ == "__main__": - # Convert from PEM to DER - cert = load_certificate("../examples/server_cert.pem") - #rsa_pubkey = pubkey_from_dercert(der) - rsa_privkey = load_private_key("../examples/mykey.pem") - - from IPython import embed - embed() diff --git a/opcua/server/server.py b/opcua/server/server.py index 726c5f0a7..8fd17c20e 100644 --- a/opcua/server/server.py +++ b/opcua/server/server.py @@ -107,14 +107,14 @@ def __enter__(self): def __exit__(self, exc_type, exc_value, traceback): self.stop() - def load_certificate(self, path): + async def load_certificate(self, path): """ load server certificate from file, either pem or der """ - self.certificate = uacrypto.load_certificate(path) + self.certificate = await uacrypto.load_certificate(path) - def load_private_key(self, path): - self.private_key = uacrypto.load_private_key(path) + async def load_private_key(self, path): + self.private_key = await uacrypto.load_private_key(path) def disable_clock(self, val=True): """ diff --git a/opcua/ua/async_ua_binary.py b/opcua/ua/async_ua_binary.py deleted file mode 100644 index 9d12845f2..000000000 --- a/opcua/ua/async_ua_binary.py +++ /dev/null @@ -1,14 +0,0 @@ - -import struct -from opcua import ua -from opcua.ua.ua_binary import Primitives - - -async def header_from_binary(data): - hdr = ua.Header() - hdr.MessageType, hdr.ChunkType, hdr.packet_size = struct.unpack("<3scI", await data.read(8)) - hdr.body_size = hdr.packet_size - 8 - if hdr.MessageType in (ua.MessageType.SecureOpen, ua.MessageType.SecureClose, ua.MessageType.SecureMessage): - hdr.body_size -= 4 - hdr.ChannelId = Primitives.UInt32.unpack(ua.utils.Buffer(await data.read(4))) - return hdr diff --git a/opcua/ua/ua_binary.py b/opcua/ua/ua_binary.py index 02d2f0361..741841a94 100644 --- a/opcua/ua/ua_binary.py +++ b/opcua/ua/ua_binary.py @@ -478,7 +478,7 @@ def from_binary(uatype, data): vtype = getattr(ua.VariantType, uatype) return unpack_uatype(vtype, data) elif isinstance(uatype, (str, unicode)) and hasattr(Primitives, uatype): - return getattr(Primitives, uatype).unpack(data) + return getattr(Primitives, uatype).unpack(data) else: return struct_from_binary(uatype, data) @@ -516,13 +516,13 @@ def header_to_binary(hdr): return b"".join(b) -def header_from_binary(data): +async def header_from_binary(data): hdr = ua.Header() - hdr.MessageType, hdr.ChunkType, hdr.packet_size = struct.unpack("<3scI", data.read(8)) + hdr.MessageType, hdr.ChunkType, hdr.packet_size = struct.unpack("<3scI", await data.read(8)) hdr.body_size = hdr.packet_size - 8 if hdr.MessageType in (ua.MessageType.SecureOpen, ua.MessageType.SecureClose, ua.MessageType.SecureMessage): hdr.body_size -= 4 - hdr.ChannelId = Primitives.UInt32.unpack(data) + hdr.ChannelId = Primitives.UInt32.unpack(ua.utils.Buffer(await data.read(4))) return hdr From a51fdea9e517082e175b8c48d788af7c06040eec Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Mon, 29 Jan 2018 19:55:50 +0100 Subject: [PATCH 026/113] [ADD] subscription wip --- opcua/client/client.py | 10 +++++--- opcua/client/ua_client.py | 2 +- opcua/common/node.py | 2 +- opcua/common/subscription.py | 48 +++++++++++++++++------------------- opcua/server/history.py | 6 +++-- opcua/server/server.py | 6 +++-- 6 files changed, 40 insertions(+), 34 deletions(-) diff --git a/opcua/client/client.py b/opcua/client/client.py index f468ebec7..f52e74ef0 100644 --- a/opcua/client/client.py +++ b/opcua/client/client.py @@ -481,7 +481,7 @@ def get_node(self, nodeid): """ return Node(self.uaclient, nodeid) - def create_subscription(self, period, handler): + async def create_subscription(self, period, handler): """ Create a subscription. returns a Subscription object which allow @@ -498,7 +498,9 @@ def create_subscription(self, period, handler): """ if isinstance(period, ua.CreateSubscriptionParameters): - return Subscription(self.uaclient, period, handler) + subscription = Subscription(self.uaclient, period, handler) + await subscription.init() + return subscription params = ua.CreateSubscriptionParameters() params.RequestedPublishingInterval = period params.RequestedLifetimeCount = 10000 @@ -506,7 +508,9 @@ def create_subscription(self, period, handler): params.MaxNotificationsPerPublish = 10000 params.PublishingEnabled = True params.Priority = 0 - return Subscription(self.uaclient, params, handler) + subscription = Subscription(self.uaclient, params, handler) + await subscription.init() + return subscription def get_namespace_array(self): ns_node = self.get_node(ua.NodeId(ua.ObjectIds.Server_NamespaceArray)) diff --git a/opcua/client/ua_client.py b/opcua/client/ua_client.py index afae0b55b..53013d71e 100644 --- a/opcua/client/ua_client.py +++ b/opcua/client/ua_client.py @@ -102,7 +102,7 @@ async def send_request(self, request, callback=None, timeout=1000, message_type= """ future = self._send_request(request, callback, timeout, message_type) if not callback: - await asyncio.wait_for(future, self.timeout) + await asyncio.wait_for(future, timeout if timeout else None) data = future.result() self.check_answer(data, " in response to " + request.__class__.__name__) return data diff --git a/opcua/common/node.py b/opcua/common/node.py index 4290af133..f033e9372 100644 --- a/opcua/common/node.py +++ b/opcua/common/node.py @@ -24,8 +24,8 @@ def _to_nodeid(nodeid): else: raise ua.UaError("Could not resolve '{0}' to a type id".format(nodeid)) -class Node(object): +class Node: """ High level node object, to access node attribute, browse and populate address space. diff --git a/opcua/common/subscription.py b/opcua/common/subscription.py index 0264256f5..fbdd05adc 100644 --- a/opcua/common/subscription.py +++ b/opcua/common/subscription.py @@ -2,6 +2,7 @@ high level interface to subscriptions """ import time +import asyncio import logging from threading import Lock import collections @@ -77,6 +78,7 @@ class Subscription(object): """ def __init__(self, server, params, handler): + self.loop = asyncio.get_event_loop() self.logger = logging.getLogger(__name__) self.server = server self._client_handle = 200 @@ -85,14 +87,16 @@ def __init__(self, server, params, handler): self._monitoreditems_map = {} self._lock = Lock() self.subscription_id = None - response = self.server.create_subscription(params, self.publish_callback) - self.subscription_id = response.SubscriptionId # move to data class + async def init(self): + response = await self.server.create_subscription(self.parameters, self.publish_callback) + self.subscription_id = response.SubscriptionId # move to data class + self.logger.info('Subscription created %s', self.subscription_id) # Launching two publish requests is a heuristic. We try to ensure # that the server always has at least one publish request in the queue, # even after it just replied to a publish request. - self.server.publish() - self.server.publish() + await self.server.publish() + await self.server.publish() def delete(self): """ @@ -103,9 +107,8 @@ def delete(self): def publish_callback(self, publishresult): self.logger.info("Publish callback called with result: %s", publishresult) - while self.subscription_id is None: - time.sleep(0.01) - + if self.subscription_id is None: + raise RuntimeError('publish_callback was called before subscription_id was set') for notif in publishresult.NotificationMessage.NotificationData: if isinstance(notif, ua.DataChangeNotification): self._call_datachange(notif) @@ -115,11 +118,10 @@ def publish_callback(self, publishresult): self._call_status(notif) else: self.logger.warning("Notification type not supported yet for notification %s", notif) - ack = ua.SubscriptionAcknowledgement() ack.SubscriptionId = self.subscription_id ack.SequenceNumber = publishresult.NotificationMessage.SequenceNumber - self.server.publish([ack]) + self.loop.create_task(self.server.publish([ack])) def _call_datachange(self, datachange): for item in datachange.MonitoredItems: @@ -168,16 +170,16 @@ def _call_status(self, status): except Exception: self.logger.exception("Exception calling status change handler") - def subscribe_data_change(self, nodes, attr=ua.AttributeIds.Value): + async def subscribe_data_change(self, nodes, attr=ua.AttributeIds.Value): """ Subscribe for data change events for a node or list of nodes. default attribute is Value. Return a handle which can be used to unsubscribe If more control is necessary use create_monitored_items method """ - return self._subscribe(nodes, attr, queuesize=0) + return await self._subscribe(nodes, attr, queuesize=0) - def subscribe_events(self, sourcenode=ua.ObjectIds.Server, evtypes=ua.ObjectIds.BaseEventType, evfilter=None, queuesize=0): + async def subscribe_events(self, sourcenode=ua.ObjectIds.Server, evtypes=ua.ObjectIds.BaseEventType, evfilter=None, queuesize=0): """ Subscribe to events from a node. Default node is Server node. In most servers the server node is the only one you can subscribe to. @@ -186,17 +188,14 @@ def subscribe_events(self, sourcenode=ua.ObjectIds.Server, evtypes=ua.ObjectIds. Return a handle which can be used to unsubscribe """ sourcenode = Node(self.server, sourcenode) - if evfilter is None: if not type(evtypes) in (list, tuple): evtypes = [evtypes] - evtypes = [Node(self.server, evtype) for evtype in evtypes] - evfilter = events.get_filter_from_event_type(evtypes) - return self._subscribe(sourcenode, ua.AttributeIds.EventNotifier, evfilter, queuesize=queuesize) + return await self._subscribe(sourcenode, ua.AttributeIds.EventNotifier, evfilter, queuesize=queuesize) - def _subscribe(self, nodes, attr, mfilter=None, queuesize=0): + async def _subscribe(self, nodes, attr, mfilter=None, queuesize=0): is_list = True if isinstance(nodes, collections.Iterable): nodes = list(nodes) @@ -207,8 +206,7 @@ def _subscribe(self, nodes, attr, mfilter=None, queuesize=0): for node in nodes: mir = self._make_monitored_item_request(node, attr, mfilter, queuesize) mirs.append(mir) - - mids = self.create_monitored_items(mirs) + mids = await self.create_monitored_items(mirs) if is_list: return mids if type(mids[0]) == ua.StatusCode: @@ -235,7 +233,7 @@ def _make_monitored_item_request(self, node, attr, mfilter, queuesize): mir.RequestedParameters = mparams return mir - def create_monitored_items(self, monitored_items): + async def create_monitored_items(self, monitored_items): """ low level method to have full control over subscription parameters Client handle must be unique since it will be used as key for internal registration of data @@ -256,7 +254,7 @@ def create_monitored_items(self, monitored_items): #TODO: Either use the filter from request or from response. Here it uses from request, in modify it uses from response data.mfilter = mi.RequestedParameters.Filter self._monitoreditems_map[mi.RequestedParameters.ClientHandle] = data - results = self.server.create_monitored_items(params) + results = await self.server.create_monitored_items(params) mids = [] # process result, add server_handle, or remove it if failed with self._lock: @@ -271,7 +269,7 @@ def create_monitored_items(self, monitored_items): mids.append(result.MonitoredItemId) return mids - def unsubscribe(self, handle): + async def unsubscribe(self, handle): """ unsubscribe to datachange or events using the handle returned while subscribing if you delete subscription, you do not need to unsubscribe @@ -279,7 +277,7 @@ def unsubscribe(self, handle): params = ua.DeleteMonitoredItemsParameters() params.SubscriptionId = self.subscription_id params.MonitoredItemIds = [handle] - results = self.server.delete_monitored_items(params) + results = await self.server.delete_monitored_items(params) results[0].check() with self._lock: for k, v in self._monitoreditems_map.items(): @@ -287,7 +285,7 @@ def unsubscribe(self, handle): del(self._monitoreditems_map[k]) return - def modify_monitored_item(self, handle, new_samp_time, new_queuesize=0, mod_filter_val=-1): + async def modify_monitored_item(self, handle, new_samp_time, new_queuesize=0, mod_filter_val=-1): """ Modify a monitored item. :param handle: Handle returned when originally subscribing @@ -316,7 +314,7 @@ def modify_monitored_item(self, handle, new_samp_time, new_queuesize=0, mod_filt params = ua.ModifyMonitoredItemsParameters() params.SubscriptionId = self.subscription_id params.ItemsToModify.append(modif_item) - results = self.server.modify_monitored_items(params) + results = await self.server.modify_monitored_items(params) item_to_change.mfilter = results[0].FilterResult return results diff --git a/opcua/server/history.py b/opcua/server/history.py index b99baf42d..aea678318 100644 --- a/opcua/server/history.py +++ b/opcua/server/history.py @@ -197,7 +197,7 @@ def set_storage(self, storage): """ self.storage = storage - def _create_subscription(self, handler): + async def _create_subscription(self, handler): params = ua.CreateSubscriptionParameters() params.RequestedPublishingInterval = 10 params.RequestedLifetimeCount = 3000 @@ -205,7 +205,9 @@ def _create_subscription(self, handler): params.MaxNotificationsPerPublish = 0 params.PublishingEnabled = True params.Priority = 0 - return Subscription(self.iserver.isession, params, handler) + subscription = Subscription(self.iserver.isession, params, handler) + await subscription.init() + return subscription def historize_data_change(self, node, period=timedelta(days=7), count=0): """ diff --git a/opcua/server/server.py b/opcua/server/server.py index 8fd17c20e..417f43b05 100644 --- a/opcua/server/server.py +++ b/opcua/server/server.py @@ -315,7 +315,7 @@ def get_node(self, nodeid): """ return Node(self.iserver.isession, nodeid) - def create_subscription(self, period, handler): + async def create_subscription(self, period, handler): """ Create a subscription. returns a Subscription object which allow @@ -328,7 +328,9 @@ def create_subscription(self, period, handler): params.MaxNotificationsPerPublish = 0 params.PublishingEnabled = True params.Priority = 0 - return Subscription(self.iserver.isession, params, handler) + subscription = Subscription(self.iserver.isession, params, handler) + await subscription.init() + return subscription def get_namespace_array(self): """ From 4e086e7cb5fa51e214cf6fc4cd279b39bf94ae6d Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Tue, 30 Jan 2018 17:25:48 +0100 Subject: [PATCH 027/113] [ADD] refactor tests, server, client, examples --- dev_requirements.txt | 3 + examples/async_client.py | 53 -------- examples/client-events.py | 71 ++++++----- examples/client-example.py | 129 ++++++++++---------- examples/client-minimal.py | 71 ++++++----- examples/server-minimal.py | 39 +++--- opcua/client/client.py | 86 ++++++------- opcua/client/ua_client.py | 6 +- opcua/common/methods.py | 1 + opcua/common/node.py | 7 +- opcua/common/subscription.py | 76 +++++------- opcua/common/utils.py | 87 ------------- opcua/crypto/uacrypto.py | 1 - opcua/server/binary_server_asyncio.py | 169 +++++++++++++------------- opcua/server/internal_server.py | 73 +++++------ opcua/server/server.py | 122 ++++++++++--------- tests/__init__.py | 0 tests/test_client.py | 119 ++++++++++++++++++ tests/tests.py | 25 ---- tests/tests_client.py | 111 ----------------- tests/tests_common.py | 104 ++++++++++------ 21 files changed, 601 insertions(+), 752 deletions(-) create mode 100644 dev_requirements.txt delete mode 100644 examples/async_client.py create mode 100644 tests/__init__.py create mode 100644 tests/test_client.py delete mode 100644 tests/tests.py delete mode 100644 tests/tests_client.py diff --git a/dev_requirements.txt b/dev_requirements.txt new file mode 100644 index 000000000..629777ea8 --- /dev/null +++ b/dev_requirements.txt @@ -0,0 +1,3 @@ +pytest +pytest-asyncio +coverage diff --git a/examples/async_client.py b/examples/async_client.py deleted file mode 100644 index 741743170..000000000 --- a/examples/async_client.py +++ /dev/null @@ -1,53 +0,0 @@ - -import asyncio -import logging - -from opcua.client.client import Client -from opcua import ua - -logging.basicConfig(level=logging.INFO) -_logger = logging.getLogger('opcua') -OBJECTS_AND_VARIABLES = ua.NodeClass.Object | ua.NodeClass.Variable - - -async def browse_nodes(node, level=0): - node_class = await node.get_node_class() - children = [] - for child in await node.get_children(nodeclassmask=OBJECTS_AND_VARIABLES): - children.append(await browse_nodes(child, level=level + 1)) - return { - 'id': node.nodeid.to_string(), - 'name': (await node.get_display_name()).Text, - 'cls': node_class.value, - 'children': children, - 'type': (await node.get_data_type_as_variant_type()).value if node_class == ua.NodeClass.Variable else None, - } - - -async def task(loop): - try: - client = Client(url='opc.tcp://commsvr.com:51234/UA/CAS_UA_Server') - await client.connect() - obj_node = client.get_objects_node() - _logger.info('Objects Node: %r', obj_node) - tree = await browse_nodes(obj_node) - _logger.info('Tree: %r', tree) - except Exception: - _logger.exception('Task error') - loop.stop() - - -def main(): - loop = asyncio.get_event_loop() - loop.set_debug(True) - loop.create_task(task(loop)) - try: - loop.run_forever() - except Exception: - _logger.exception('Event loop error') - loop.run_until_complete(loop.shutdown_asyncgens()) - loop.close() - - -if __name__ == '__main__': - main() diff --git a/examples/client-events.py b/examples/client-events.py index 4428c3074..ec40aa60d 100644 --- a/examples/client-events.py +++ b/examples/client-events.py @@ -1,23 +1,13 @@ -import sys -sys.path.insert(0, "..") - -try: - from IPython import embed -except ImportError: - import code - - def embed(): - vars = globals() - vars.update(locals()) - shell = code.InteractiveConsole(vars) - shell.interact() - +import asyncio +import logging from opcua import Client +logging.basicConfig(level=logging.INFO) +_logger = logging.getLogger('opcua') -class SubHandler(object): +class SubHandler(object): """ Subscription Handler. To receive events from server for a subscription data_change and event methods are called directly from receiving thread. @@ -28,30 +18,39 @@ def event_notification(self, event): print("New event recived: ", event) -if __name__ == "__main__": - - client = Client("opc.tcp://localhost:4840/freeopcua/server/") - # client = Client("opc.tcp://admin@localhost:4840/freeopcua/server/") #connect using a user +async def task(loop): + # url = "opc.tcp://commsvr.com:51234/UA/CAS_UA_Server" + url = "opc.tcp://localhost:4840/freeopcua/server/" + # url = "opc.tcp://admin@localhost:4840/freeopcua/server/" #connect using a user try: - client.connect() + async with Client(url=url) as client: + # Client has a few methods to get proxy to UA nodes that should always be in address space such as Root or Objects + root = client.get_root_node() + _logger.info("Objects node is: %r", root) + + # Now getting a variable node using its browse path + obj = await root.get_child(["0:Objects", "2:MyObject"]) + _logger.info("MyObject is: %r", obj) - # Client has a few methods to get proxy to UA nodes that should always be in address space such as Root or Objects - root = client.get_root_node() - print("Objects node is: ", root) + myevent = await root.get_child(["0:Types", "0:EventTypes", "0:BaseEventType", "2:MyFirstEvent"]) + _logger.info("MyFirstEventType is: %r", myevent) - # Now getting a variable node using its browse path - obj = root.get_child(["0:Objects", "2:MyObject"]) - print("MyObject is: ", obj) + msclt = SubHandler() + sub = await client.create_subscription(100, msclt) + handle = await sub.subscribe_events(obj, myevent) + await sub.unsubscribe(handle) + await sub.delete() + except Exception: + _logger.exception('Error') + loop.stop() - myevent = root.get_child(["0:Types", "0:EventTypes", "0:BaseEventType", "2:MyFirstEvent"]) - print("MyFirstEventType is: ", myevent) - msclt = SubHandler() - sub = client.create_subscription(100, msclt) - handle = sub.subscribe_events(obj, myevent) +def main(): + loop = asyncio.get_event_loop() + loop.set_debug(True) + loop.run_until_complete(task(loop)) + loop.close() - embed() - sub.unsubscribe(handle) - sub.delete() - finally: - client.disconnect() + +if __name__ == "__main__": + main() diff --git a/examples/client-example.py b/examples/client-example.py index eadbcbd40..072c1f82c 100644 --- a/examples/client-example.py +++ b/examples/client-example.py @@ -1,22 +1,12 @@ -import sys -sys.path.insert(0, "..") -import logging -import time - -try: - from IPython import embed -except ImportError: - import code - - def embed(): - vars = globals() - vars.update(locals()) - shell = code.InteractiveConsole(vars) - shell.interact() +import time +import asyncio +import logging from opcua import Client -from opcua import ua + +logging.basicConfig(level=logging.INFO) +_logger = logging.getLogger('opcua') class SubHandler(object): @@ -29,60 +19,63 @@ class SubHandler(object): """ def datachange_notification(self, node, val, data): - print("Python: New data change event", node, val) + print("New data change event", node, val) def event_notification(self, event): - print("Python: New event", event) - + print("New event", event) -if __name__ == "__main__": - logging.basicConfig(level=logging.WARN) - #logger = logging.getLogger("KeepAlive") - #logger.setLevel(logging.DEBUG) - client = Client("opc.tcp://localhost:4840/freeopcua/server/") - # client = Client("opc.tcp://admin@localhost:4840/freeopcua/server/") #connect using a user +async def task(loop): + url = "opc.tcp://commsvr.com:51234/UA/CAS_UA_Server" + # url = "opc.tcp://localhost:4840/freeopcua/server/" try: - client.connect() - - # Client has a few methods to get proxy to UA nodes that should always be in address space such as Root or Objects - root = client.get_root_node() - print("Root node is: ", root) - objects = client.get_objects_node() - print("Objects node is: ", objects) - - # Node objects have methods to read and write node attributes as well as browse or populate address space - print("Children of root are: ", root.get_children()) - - # get a specific node knowing its node id - #var = client.get_node(ua.NodeId(1002, 2)) - #var = client.get_node("ns=3;i=2002") - #print(var) - #var.get_data_value() # get value of node as a DataValue object - #var.get_value() # get value of node as a python builtin - #var.set_value(ua.Variant([23], ua.VariantType.Int64)) #set node value using explicit data type - #var.set_value(3.9) # set node value using implicit data type - - # Now getting a variable node using its browse path - myvar = root.get_child(["0:Objects", "2:MyObject", "2:MyVariable"]) - obj = root.get_child(["0:Objects", "2:MyObject"]) - print("myvar is: ", myvar) - - # subscribing to a variable node - handler = SubHandler() - sub = client.create_subscription(500, handler) - handle = sub.subscribe_data_change(myvar) - time.sleep(0.1) - - # we can also subscribe to events from server - sub.subscribe_events() - # sub.unsubscribe(handle) - # sub.delete() - - # calling a method on server - res = obj.call_method("2:multiply", 3, "klk") - print("method result is: ", res) - - embed() - finally: - client.disconnect() + async with Client(url=url) as client: + root = client.get_root_node() + _logger.info("Root node is: %r", root) + objects = client.get_objects_node() + _logger.info("Objects node is: %r", objects) + + # Node objects have methods to read and write node attributes as well as browse or populate address space + _logger.info("Children of root are: %r", await root.get_children()) + + # get a specific node knowing its node id + #var = client.get_node(ua.NodeId(1002, 2)) + #var = client.get_node("ns=3;i=2002") + #print(var) + #var.get_data_value() # get value of node as a DataValue object + #var.get_value() # get value of node as a python builtin + #var.set_value(ua.Variant([23], ua.VariantType.Int64)) #set node value using explicit data type + #var.set_value(3.9) # set node value using implicit data type + + # Now getting a variable node using its browse path + myvar = await root.get_child(["0:Objects", "2:MyObject", "2:MyVariable"]) + obj = await root.get_child(["0:Objects", "2:MyObject"]) + _logger.info("myvar is: %r", myvar) + + # subscribing to a variable node + handler = SubHandler() + sub = await client.create_subscription(500, handler) + handle = await sub.subscribe_data_change(myvar) + await asyncio.sleep(0.1) + + # we can also subscribe to events from server + await sub.subscribe_events() + # await sub.unsubscribe(handle) + # await sub.delete() + + # calling a method on server + res = obj.call_method("2:multiply", 3, "klk") + _logger.info("method result is: %r", res) + except Exception: + _logger.exception('error') + + +def main(): + loop = asyncio.get_event_loop() + loop.set_debug(True) + loop.run_until_complete(task(loop)) + loop.close() + + +if __name__ == "__main__": + main() diff --git a/examples/client-minimal.py b/examples/client-minimal.py index f24a3e96c..b52ee35f2 100644 --- a/examples/client-minimal.py +++ b/examples/client-minimal.py @@ -1,37 +1,48 @@ -import sys -sys.path.insert(0, "..") +import asyncio +import logging from opcua import Client +logging.basicConfig(level=logging.INFO) +_logger = logging.getLogger('opcua') -if __name__ == "__main__": - client = Client("opc.tcp://localhost:4840/freeopcua/server/") - # client = Client("opc.tcp://admin@localhost:4840/freeopcua/server/") #connect using a user +async def task(loop): + url = "opc.tcp://commsvr.com:51234/UA/CAS_UA_Server" + # url = "opc.tcp://localhost:4840/freeopcua/server/" try: - client.connect() - - # Client has a few methods to get proxy to UA nodes that should always be in address space such as Root or Objects - root = client.get_root_node() - print("Objects node is: ", root) - - # Node objects have methods to read and write node attributes as well as browse or populate address space - print("Children of root are: ", root.get_children()) - - # get a specific node knowing its node id - #var = client.get_node(ua.NodeId(1002, 2)) - #var = client.get_node("ns=3;i=2002") - #print(var) - #var.get_data_value() # get value of node as a DataValue object - #var.get_value() # get value of node as a python builtin - #var.set_value(ua.Variant([23], ua.VariantType.Int64)) #set node value using explicit data type - #var.set_value(3.9) # set node value using implicit data type - - # Now getting a variable node using its browse path - myvar = root.get_child(["0:Objects", "2:MyObject", "2:MyVariable"]) - obj = root.get_child(["0:Objects", "2:MyObject"]) - print("myvar is: ", myvar) - - finally: - client.disconnect() + async with Client(url=url) as client: + # Client has a few methods to get proxy to UA nodes that should always be in address space such as Root or Objects + root = client.get_root_node() + _logger.info("Objects node is: %r", root) + + # Node objects have methods to read and write node attributes as well as browse or populate address space + _logger.info("Children of root are: %r", await root.get_children()) + + # get a specific node knowing its node id + # var = client.get_node(ua.NodeId(1002, 2)) + # var = client.get_node("ns=3;i=2002") + # print(var) + # var.get_data_value() # get value of node as a DataValue object + # var.get_value() # get value of node as a python builtin + # var.set_value(ua.Variant([23], ua.VariantType.Int64)) #set node value using explicit data type + # var.set_value(3.9) # set node value using implicit data type + + # Now getting a variable node using its browse path + myvar = await root.get_child(["0:Objects", "2:MyObject", "2:MyVariable"]) + obj = await root.get_child(["0:Objects", "2:MyObject"]) + _logger.info("myvar is: %r", myvar) + except Exception: + _logger.exception('error') + + +def main(): + loop = asyncio.get_event_loop() + loop.set_debug(True) + loop.run_until_complete(task(loop)) + loop.close() + + +if __name__ == "__main__": + main() diff --git a/examples/server-minimal.py b/examples/server-minimal.py index 4df4e0db0..3e1d6673c 100644 --- a/examples/server-minimal.py +++ b/examples/server-minimal.py @@ -1,38 +1,45 @@ -import sys -sys.path.insert(0, "..") -import time - +import asyncio from opcua import ua, Server -if __name__ == "__main__": - +async def task(loop): # setup our server server = Server() - server.set_endpoint("opc.tcp://0.0.0.0:4840/freeopcua/server/") + server.set_endpoint('opc.tcp://0.0.0.0:4840/freeopcua/server/') # setup our own namespace, not really necessary but should as spec - uri = "http://examples.freeopcua.github.io" - idx = server.register_namespace(uri) + uri = 'http://examples.freeopcua.github.io' + idx = await server.register_namespace(uri) # get Objects node, this is where we should put our nodes objects = server.get_objects_node() # populating our address space - myobj = objects.add_object(idx, "MyObject") - myvar = myobj.add_variable(idx, "MyVariable", 6.7) - myvar.set_writable() # Set MyVariable to be writable by clients + myobj = objects.add_object(idx, 'MyObject') + myvar = myobj.add_variable(idx, 'MyVariable', 6.7) + myvar.set_writable() # Set MyVariable to be writable by clients # starting! - server.start() - + await server.start() + try: count = 0 while True: - time.sleep(1) + await asyncio.sleep(1) count += 0.1 myvar.set_value(count) finally: - #close connection, remove subcsriptions, etc + # close connection, remove subcsriptions, etc server.stop() + + +def main(): + loop = asyncio.get_event_loop() + loop.set_debug(True) + loop.run_until_complete(task(loop)) + loop.close() + + +if __name__ == '__main__': + main() diff --git a/opcua/client/client.py b/opcua/client/client.py index f52e74ef0..3a7fcf07c 100644 --- a/opcua/client/client.py +++ b/opcua/client/client.py @@ -15,48 +15,7 @@ from opcua.crypto import uacrypto, security_policies -class KeepAlive: - """ - Used by Client to keep the session open. - OPCUA defines timeout both for sessions and secure channel - ToDo: remove - """ - - def __init__(self, client, timeout): - """ - :param session_timeout: Timeout to re-new the session - in milliseconds. - """ - self.logger = logging.getLogger(__name__) - self.loop = asyncio.get_event_loop() - self.client = client - self._do_stop = False - self._cond = Condition() - self.timeout = timeout - - # some server support no timeout, but we do not trust them - if self.timeout == 0: - self.timeout = 3600000 # 1 hour - - def run(self): - self.logger.debug("starting keepalive thread with period of %s milliseconds", self.timeout) - server_state = self.client.get_node(ua.FourByteNodeId(ua.ObjectIds.Server_ServerStatus_State)) - while not self._do_stop: - with self._cond: - self._cond.wait(self.timeout / 1000) - if self._do_stop: - break - self.logger.debug("renewing channel") - self.client.open_secure_channel(renew=True) - val = server_state.get_value() - self.logger.debug("server state is: %s ", val) - self.logger.debug("keepalive thread has stopped") - - def stop(self): - self.logger.debug("stoping keepalive thread") - self._do_stop = True - with self._cond: - self._cond.notify_all() +_logger = logging.getLogger(__name__) class Client(object): @@ -82,6 +41,7 @@ def __init__(self, url, timeout=4): time. The timeout is specified in seconds. """ self.logger = logging.getLogger(__name__) + self.loop = asyncio.get_event_loop() self.server_url = urlparse(url) # take initial username and password from the url self._username = self.server_url.username @@ -100,7 +60,7 @@ def __init__(self, url, timeout=4): self.user_private_key = None self._server_nonce = None self._session_counter = 1 - self.keepalive = None + self.keep_alive = None self.nodes = Shortcuts(self.uaclient) self.max_messagesize = 0 # No limits self.max_chunkcount = 0 # No limits @@ -110,7 +70,7 @@ async def __aenter__(self): return self async def __aexit__(self, exc_type, exc_value, traceback): - self.disconnect() + await self.disconnect() @staticmethod def find_endpoint(endpoints, security_mode, policy_uri): @@ -230,6 +190,7 @@ async def connect(self): High level method Connect, create and activate session """ + _logger.info('connect') await self.connect_socket() await self.send_hello() await self.open_secure_channel() @@ -241,6 +202,7 @@ async def disconnect(self): High level method Close session, secure channel and socket """ + _logger.info('disconnect') try: await self.close_session() await self.close_secure_channel() @@ -337,7 +299,6 @@ async def create_session(self): desc.ProductUri = self.product_uri desc.ApplicationName = ua.LocalizedText(self.name) desc.ApplicationType = ua.ApplicationType.Client - params = ua.CreateSessionParameters() # at least 32 random bytes for server to prove possession of private key (specs part 4, 5.6.2.2) nonce = utils.create_nonce(32) @@ -346,7 +307,8 @@ async def create_session(self): params.ClientDescription = desc params.EndpointUrl = self.server_url.geturl() params.SessionName = self.description + " Session" + str(self._session_counter) - params.RequestedSessionTimeout = 3600000 + # Requested maximum number of milliseconds that a Session should remain open without activity + params.RequestedSessionTimeout = 60 * 60 * 1000 params.MaxResponseMessageSize = 0 # means no max size response = await self.uaclient.create_session(params) if self.security_policy.client_certificate is None: @@ -362,13 +324,33 @@ async def create_session(self): # remember PolicyId's: we will use them in activate_session() ep = Client.find_endpoint(response.ServerEndpoints, self.security_policy.Mode, self.security_policy.URI) self._policy_ids = ep.UserIdentityTokens + # Actual maximum number of milliseconds that a Session shall remain open without activity self.session_timeout = response.RevisedSessionTimeout - # 0.7 is from spec - # ToDo: refactor with callback_later - # self.keepalive = KeepAlive(self, min(self.session_timeout, self.secure_channel_timeout) * 0.7) - # self.keepalive.start() + self.keep_alive = self.loop.create_task(self._renew_session()) + # ToDo: subscribe to ServerStatus + """ + The preferred mechanism for a Client to monitor the connection status is through the keep-alive of the + Subscription. A Client should subscribe for the State Variable in the ServerStatus to detect shutdown or other + failure states. If no Subscription is created or the Server does not support Subscriptions, + the connection can be monitored by periodically reading the State Variable + """ return response + async def _renew_session(self): + """ + Renew the SecureChannel before the SessionTimeout will happen. + ToDo: shouldn't this only be done if there was no session activity? + """ + # 0.7 is from spec + await asyncio.sleep(min(self.session_timeout, self.secure_channel_timeout) * 0.7) + server_state = self.get_node(ua.FourByteNodeId(ua.ObjectIds.Server_ServerStatus_State)) + self.logger.debug("renewing channel") + await self.open_secure_channel(renew=True) + val = await server_state.get_value() + self.logger.debug("server state is: %s ", val) + # create new keep-alive task + self.keep_alive = self.loop.create_task(self._renew_session()) + def server_policy_id(self, token_type, default): """ Find PolicyId of server's UserTokenPolicy by token_type. @@ -462,8 +444,8 @@ async def close_session(self): """ Close session """ - if self.keepalive: - self.keepalive.stop() + if self.keep_alive: + self.keep_alive.cancel() return await self.uaclient.close_session(True) def get_root_node(self): diff --git a/opcua/client/ua_client.py b/opcua/client/ua_client.py index 53013d71e..29c865ede 100644 --- a/opcua/client/ua_client.py +++ b/opcua/client/ua_client.py @@ -18,7 +18,7 @@ class UASocketProtocol(asyncio.Protocol): """ def __init__(self, timeout=1, security_policy=ua.SecurityPolicy()): - self.logger = logging.getLogger(__name__ + ".Socket") + self.logger = logging.getLogger(__name__ + ".UASocketProtocol") self.loop = asyncio.get_event_loop() self.transport = None self.receive_buffer = asyncio.Queue() @@ -126,7 +126,7 @@ async def _receive(self): elif isinstance(msg, ua.Acknowledge): self._call_callback(0, msg) elif isinstance(msg, ua.ErrorMessage): - self.logger.warning("Received an error: %s", msg) + self.logger.warning("Received an error: %r", msg) else: raise ua.UaError("Unsupported message type: %s", msg) if self._leftover_chunk or not self.receive_buffer.empty(): @@ -209,7 +209,7 @@ class UaClient: """ def __init__(self, timeout=1): - self.logger = logging.getLogger(__name__) + self.logger = logging.getLogger(__name__ + '.UaClient') self.loop = asyncio.get_event_loop() self._publish_callbacks = {} self._timeout = timeout diff --git a/opcua/common/methods.py b/opcua/common/methods.py index d22eea936..9c5f015d1 100644 --- a/opcua/common/methods.py +++ b/opcua/common/methods.py @@ -41,6 +41,7 @@ def call_method_full(parent, methodid, *args): result.OutputArguments = [var.Value for var in result.OutputArguments] return result + def _call_method(server, parentnodeid, methodid, arguments): request = ua.CallMethodRequest() request.ObjectId = parentnodeid diff --git a/opcua/common/node.py b/opcua/common/node.py index f033e9372..590f29e6e 100644 --- a/opcua/common/node.py +++ b/opcua/common/node.py @@ -3,15 +3,20 @@ and browse address space """ +import logging from opcua import ua from opcua.common import events import opcua.common -def _check_results(results, reqlen = 1): +_logger = logging.getLogger(__name__) + + +def _check_results(results, reqlen=1): assert len(results) == reqlen, results for r in results: r.check() + def _to_nodeid(nodeid): if isinstance(nodeid, int): return ua.TwoByteNodeId(nodeid) diff --git a/opcua/common/subscription.py b/opcua/common/subscription.py index fbdd05adc..e7e79a3c5 100644 --- a/opcua/common/subscription.py +++ b/opcua/common/subscription.py @@ -4,7 +4,6 @@ import time import asyncio import logging -from threading import Lock import collections from opcua import ua @@ -84,8 +83,7 @@ def __init__(self, server, params, handler): self._client_handle = 200 self._handler = handler self.parameters = params # move to data class - self._monitoreditems_map = {} - self._lock = Lock() + self._monitored_items = {} self.subscription_id = None async def init(self): @@ -125,11 +123,10 @@ def publish_callback(self, publishresult): def _call_datachange(self, datachange): for item in datachange.MonitoredItems: - with self._lock: - if item.ClientHandle not in self._monitoreditems_map: - self.logger.warning("Received a notification for unknown handle: %s", item.ClientHandle) - continue - data = self._monitoreditems_map[item.ClientHandle] + if item.ClientHandle not in self._monitored_items: + self.logger.warning("Received a notification for unknown handle: %s", item.ClientHandle) + continue + data = self._monitored_items[item.ClientHandle] if hasattr(self._handler, "datachange_notification"): event_data = DataChangeNotif(data, item) try: @@ -147,8 +144,7 @@ def _call_datachange(self, datachange): def _call_event(self, eventlist): for event in eventlist.Events: - with self._lock: - data = self._monitoreditems_map[event.ClientHandle] + data = self._monitored_items[event.ClientHandle] result = events.Event.from_event_fields(data.mfilter.SelectClauses, event.EventFields) result.server_handle = data.server_handle if hasattr(self._handler, "event_notification"): @@ -219,9 +215,8 @@ def _make_monitored_item_request(self, node, attr, mfilter, queuesize): rv.AttributeId = attr # rv.IndexRange //We leave it null, then the entire array is returned mparams = ua.MonitoringParameters() - with self._lock: - self._client_handle += 1 - mparams.ClientHandle = self._client_handle + self._client_handle += 1 + mparams.ClientHandle = self._client_handle mparams.SamplingInterval = self.parameters.RequestedPublishingInterval mparams.QueueSize = queuesize mparams.DiscardOldest = True @@ -242,31 +237,28 @@ async def create_monitored_items(self, monitored_items): params.SubscriptionId = self.subscription_id params.ItemsToCreate = monitored_items params.TimestampsToReturn = ua.TimestampsToReturn.Both - # insert monitored item into map to avoid notification arrive before result return # server_handle is left as None in purpose as we don't get it yet. - with self._lock: - for mi in monitored_items: - data = SubscriptionItemData() - data.client_handle = mi.RequestedParameters.ClientHandle - data.node = Node(self.server, mi.ItemToMonitor.NodeId) - data.attribute = mi.ItemToMonitor.AttributeId - #TODO: Either use the filter from request or from response. Here it uses from request, in modify it uses from response - data.mfilter = mi.RequestedParameters.Filter - self._monitoreditems_map[mi.RequestedParameters.ClientHandle] = data + for mi in monitored_items: + data = SubscriptionItemData() + data.client_handle = mi.RequestedParameters.ClientHandle + data.node = Node(self.server, mi.ItemToMonitor.NodeId) + data.attribute = mi.ItemToMonitor.AttributeId + #TODO: Either use the filter from request or from response. Here it uses from request, in modify it uses from response + data.mfilter = mi.RequestedParameters.Filter + self._monitored_items[mi.RequestedParameters.ClientHandle] = data results = await self.server.create_monitored_items(params) mids = [] # process result, add server_handle, or remove it if failed - with self._lock: - for idx, result in enumerate(results): - mi = params.ItemsToCreate[idx] - if not result.StatusCode.is_good(): - del self._monitoreditems_map[mi.RequestedParameters.ClientHandle] - mids.append(result.StatusCode) - continue - data = self._monitoreditems_map[mi.RequestedParameters.ClientHandle] - data.server_handle = result.MonitoredItemId - mids.append(result.MonitoredItemId) + for idx, result in enumerate(results): + mi = params.ItemsToCreate[idx] + if not result.StatusCode.is_good(): + del self._monitored_items[mi.RequestedParameters.ClientHandle] + mids.append(result.StatusCode) + continue + data = self._monitored_items[mi.RequestedParameters.ClientHandle] + data.server_handle = result.MonitoredItemId + mids.append(result.MonitoredItemId) return mids async def unsubscribe(self, handle): @@ -279,11 +271,10 @@ async def unsubscribe(self, handle): params.MonitoredItemIds = [handle] results = await self.server.delete_monitored_items(params) results[0].check() - with self._lock: - for k, v in self._monitoreditems_map.items(): - if v.server_handle == handle: - del(self._monitoreditems_map[k]) - return + for k, v in self._monitored_items.items(): + if v.server_handle == handle: + del(self._monitored_items[k]) + return async def modify_monitored_item(self, handle, new_samp_time, new_queuesize=0, mod_filter_val=-1): """ @@ -294,9 +285,9 @@ async def modify_monitored_item(self, handle, new_samp_time, new_queuesize=0, mo :param mod_filter_val: New deadband filter value :return: Return a Modify Monitored Item Result """ - for monitored_item_index in self._monitoreditems_map: - if self._monitoreditems_map[monitored_item_index].server_handle == handle: - item_to_change = self._monitoreditems_map[monitored_item_index] + for monitored_item_index in self._monitored_items: + if self._monitored_items[monitored_item_index].server_handle == handle: + item_to_change = self._monitored_items[monitored_item_index] break if mod_filter_val is None: mod_filter = None @@ -320,8 +311,7 @@ async def modify_monitored_item(self, handle, new_samp_time, new_queuesize=0, mo def _modify_monitored_item_request(self, new_queuesize, new_samp_time, mod_filter, client_handle): req_params = ua.MonitoringParameters() - with self._lock: - req_params.ClientHandle = client_handle + req_params.ClientHandle = client_handle req_params.QueueSize = new_queuesize req_params.Filter = mod_filter req_params.SamplingInterval = new_samp_time diff --git a/opcua/common/utils.py b/opcua/common/utils.py index 6a1be0fb6..464fc09fc 100644 --- a/opcua/common/utils.py +++ b/opcua/common/utils.py @@ -120,90 +120,3 @@ def write(self, data): def create_nonce(size=32): return os.urandom(size) - - -class ThreadLoop(threading.Thread): - """ - run an asyncio loop in a thread - """ - - def __init__(self): - threading.Thread.__init__(self) - self.logger = logging.getLogger(__name__) - self.loop = None - self._cond = threading.Condition() - - def start(self): - with self._cond: - threading.Thread.start(self) - self._cond.wait() - - def run(self): - self.logger.debug("Starting subscription thread") - self.loop = asyncio.new_event_loop() - asyncio.set_event_loop(self.loop) - with self._cond: - self._cond.notify_all() - self.loop.run_forever() - self.logger.debug("subscription thread ended") - - def create_server(self, proto, hostname, port): - return self.loop.create_server(proto, hostname, port) - - def stop(self): - """ - stop subscription loop, thus the subscription thread - """ - self.loop.call_soon_threadsafe(self.loop.stop) - - def call_soon(self, callback): - self.loop.call_soon_threadsafe(callback) - - def call_later(self, delay, callback): - """ - threadsafe call_later from asyncio - """ - p = functools.partial(self.loop.call_later, delay, callback) - self.loop.call_soon_threadsafe(p) - - def _create_task(self, future, coro, cb=None): - #task = self.loop.create_task(coro) - task = asyncio.async(coro, loop=self.loop) - if cb: - task.add_done_callback(cb) - future.set_result(task) - - def create_task(self, coro, cb=None): - """ - threadsafe create_task from asyncio - """ - future = Future() - p = functools.partial(self._create_task, future, coro, cb) - self.loop.call_soon_threadsafe(p) - return future.result() - - def run_coro_and_wait(self, coro): - cond = threading.Condition() - def cb(_): - with cond: - cond.notify_all() - with cond: - task = self.create_task(coro, cb) - cond.wait() - return task.result() - - def _run_until_complete(self, future, coro): - task = self.loop.run_until_complete(coro) - future.set_result(task) - - def run_until_complete(self, coro): - """ - threadsafe run_until_completed from asyncio - """ - future = Future() - p = functools.partial(self._run_until_complete, future, coro) - self.loop.call_soon_threadsafe(p) - return future.result() - - - diff --git a/opcua/crypto/uacrypto.py b/opcua/crypto/uacrypto.py index 890cbd9a7..22783bd02 100644 --- a/opcua/crypto/uacrypto.py +++ b/opcua/crypto/uacrypto.py @@ -172,4 +172,3 @@ def x509_to_string(cert): issuer = ', issuer: {0}'.format(x509_name_to_string(cert.issuer)) # TODO: show more information return "{0}{1}, {2} - {3}".format(x509_name_to_string(cert.subject), issuer, cert.not_valid_before, cert.not_valid_after) - diff --git a/opcua/server/binary_server_asyncio.py b/opcua/server/binary_server_asyncio.py index e5c4c295a..565917792 100644 --- a/opcua/server/binary_server_asyncio.py +++ b/opcua/server/binary_server_asyncio.py @@ -2,12 +2,7 @@ Socket server forwarding request to internal server """ import logging -try: - # we prefer to use bundles asyncio version, otherwise fallback to trollius - import asyncio -except ImportError: - import trollius as asyncio - +import asyncio from opcua import ua import opcua.ua.ua_binary as uabin @@ -16,14 +11,86 @@ logger = logging.getLogger(__name__) -class BinaryServer(object): +class OPCUAProtocol(asyncio.Protocol): + """ + instanciated for every connection + defined as internal class since it needs access + to the internal server object + FIXME: find another solution + """ + def __init__(self, iserver=None, policies=None, clients=None): + self.peer_name = None + self.transport = None + self.processor = None + self.data = b'' + self.iserver = iserver + self.policies = policies + self.clients = clients + + def __str__(self): + return 'OPCUAProtocol({}, {})'.format(self.peer_name, self.processor.session) + + __repr__ = __str__ + + def connection_made(self, transport): + self.peer_name = transport.get_extra_info('peername') + logger.info('New connection from %s', self.peer_name) + self.transport = transport + self.processor = UaProcessor(self.iserver, self.transport) + self.processor.set_policies(self.policies) + self.iserver.asyncio_transports.append(transport) + self.clients.append(self) + + def connection_lost(self, ex): + logger.info('Lost connection from %s, %s', self.peer_name, ex) + self.transport.close() + self.iserver.asyncio_transports.remove(self.transport) + self.processor.close() + if self in self.clients: + self.clients.remove(self) + + def data_received(self, data): + logger.debug('received %s bytes from socket', len(data)) + if self.data: + data = self.data + data + self.data = b'' + self._process_data(data) + + def _process_data(self, data): + buf = ua.utils.Buffer(data) + while True: + try: + backup_buf = buf.copy() + try: + hdr = uabin.header_from_binary(buf) + except ua.utils.NotEnoughData: + logger.info('We did not receive enough data from client, waiting for more') + self.data = backup_buf.read(len(backup_buf)) + return + if len(buf) < hdr.body_size: + logger.info('We did not receive enough data from client, waiting for more') + self.data = backup_buf.read(len(backup_buf)) + return + ret = self.processor.process(hdr, buf) + if not ret: + logger.info('processor returned False, we close connection from %s', self.peer_name) + self.transport.close() + return + if len(buf) == 0: + return + except Exception: + logger.exception('Exception raised while parsing message from client, closing') + return + + +class BinaryServer: def __init__(self, internal_server, hostname, port): self.logger = logging.getLogger(__name__) self.hostname = hostname self.port = port self.iserver = internal_server - self.loop = internal_server.loop + self.loop = asyncio.get_event_loop() self._server = None self._policies = [] self.clients = [] @@ -31,80 +98,12 @@ def __init__(self, internal_server, hostname, port): def set_policies(self, policies): self._policies = policies - def start(self): - - class OPCUAProtocol(asyncio.Protocol): - - """ - instanciated for every connection - defined as internal class since it needs access - to the internal server object - FIXME: find another solution - """ - - iserver = self.iserver - loop = self.loop - logger = self.logger - policies = self._policies - clients = self.clients - - def __str__(self): - return "OPCUAProtocol({}, {})".format(self.peername, self.processor.session) - __repr__ = __str__ - - def connection_made(self, transport): - self.peername = transport.get_extra_info('peername') - self.logger.info('New connection from %s', self.peername) - self.transport = transport - self.processor = UaProcessor(self.iserver, self.transport) - self.processor.set_policies(self.policies) - self.data = b"" - self.iserver.asyncio_transports.append(transport) - self.clients.append(self) - - def connection_lost(self, ex): - self.logger.info('Lost connection from %s, %s', self.peername, ex) - self.transport.close() - self.iserver.asyncio_transports.remove(self.transport) - self.processor.close() - if self in self.clients: - self.clients.remove(self) - - def data_received(self, data): - logger.debug("received %s bytes from socket", len(data)) - if self.data: - data = self.data + data - self.data = b"" - self._process_data(data) - - def _process_data(self, data): - buf = ua.utils.Buffer(data) - while True: - try: - backup_buf = buf.copy() - try: - hdr = uabin.header_from_binary(buf) - except ua.utils.NotEnoughData: - logger.info("We did not receive enough data from client, waiting for more") - self.data = backup_buf.read(len(backup_buf)) - return - if len(buf) < hdr.body_size: - logger.info("We did not receive enough data from client, waiting for more") - self.data = backup_buf.read(len(backup_buf)) - return - ret = self.processor.process(hdr, buf) - if not ret: - logger.info("processor returned False, we close connection from %s", self.peername) - self.transport.close() - return - if len(buf) == 0: - return - except Exception: - logger.exception("Exception raised while parsing message from client, closing") - return - - coro = self.loop.create_server(OPCUAProtocol, self.hostname, self.port) - self._server = self.loop.run_coro_and_wait(coro) + def _make_protocol(self): + """Protocol Factory""" + return OPCUAProtocol(iserver=self.iserver, policies=self._policies, clients=self.clients) + + async def start(self): + self._server = await self.loop.create_server(self._make_protocol, self.hostname, self.port) # get the port and the hostname from the created server socket # only relevant for dynamic port asignment (when self.port == 0) if self.port == 0 and len(self._server.sockets) == 1: @@ -115,10 +114,10 @@ def _process_data(self, data): self.port = sockname[1] self.logger.warning('Listening on {0}:{1}'.format(self.hostname, self.port)) - def stop(self): - self.logger.info("Closing asyncio socket server") + async def stop(self): + self.logger.info('Closing asyncio socket server') for transport in self.iserver.asyncio_transports: transport.close() if self._server: self.loop.call_soon(self._server.close) - self.loop.run_coro_and_wait(self._server.wait_closed()) + await self._server.wait_closed() diff --git a/opcua/server/internal_server.py b/opcua/server/internal_server.py index 56556edf2..2cd2ec5cc 100644 --- a/opcua/server/internal_server.py +++ b/opcua/server/internal_server.py @@ -3,22 +3,18 @@ Can be used on server side or to implement binary/https opc-ua servers """ -from datetime import datetime, timedelta -from copy import copy, deepcopy + import os +import asyncio import logging -from threading import Lock from enum import Enum -try: - from urllib.parse import urlparse -except ImportError: - from urlparse import urlparse - +from copy import copy, deepcopy +from urllib.parse import urlparse +from datetime import datetime, timedelta from opcua import ua from opcua.common import utils -from opcua.common.callback import (CallbackType, ServerItemCallback, - CallbackDispatcher) +from opcua.common.callback import CallbackType, ServerItemCallback, CallbackDispatcher from opcua.common.node import Node from opcua.server.history import HistoryManager from opcua.server.address_space import AddressSpace @@ -29,7 +25,6 @@ from opcua.server.subscription_service import SubscriptionService from opcua.server.standard_address_space import standard_address_space from opcua.server.users import User -#from opcua.common import xmlimporter class SessionState(Enum): @@ -48,27 +43,21 @@ class InternalServer(object): def __init__(self, shelffile=None): self.logger = logging.getLogger(__name__) - self.server_callback_dispatcher = CallbackDispatcher() - self.endpoints = [] self._channel_id_counter = 5 self.allow_remote_admin = True self.disabled_clock = False # for debugging we may want to disable clock that writes too much in log self._known_servers = {} # used if we are a discovery server - self.aspace = AddressSpace() self.attribute_service = AttributeService(self.aspace) self.view_service = ViewService(self.aspace) self.method_service = MethodService(self.aspace) self.node_mgt_service = NodeManagementService(self.aspace) - self.load_standard_address_space(shelffile) - - self.loop = utils.ThreadLoop() + self.loop = asyncio.get_event_loop() self.asyncio_transports = [] self.subscription_service = SubscriptionService(self.loop, self.aspace) - self.history_manager = HistoryManager(self) # create a session to use on server side @@ -78,13 +67,16 @@ def __init__(self, shelffile=None): self._address_space_fixes() self.setup_nodes() - def setup_nodes(self): + async def init(self): + pass + + async def setup_nodes(self): """ Set up some nodes as defined by spec """ - uries = ["http://opcfoundation.org/UA/"] + uries = ['http://opcfoundation.org/UA/'] ns_node = Node(self.isession, ua.NodeId(ua.ObjectIds.Server_NamespaceArray)) - ns_node.set_value(uries) + await ns_node.set_value(uries) def load_standard_address_space(self, shelffile=None): if shelffile is not None and os.path.isfile(shelffile): @@ -128,19 +120,17 @@ def dump_address_space(self, path): self.aspace.dump(path) def start(self): - self.logger.info("starting internal server") + self.logger.info('starting internal server') for edp in self.endpoints: self._known_servers[edp.Server.ApplicationUri] = ServerDesc(edp.Server) - self.loop.start() Node(self.isession, ua.NodeId(ua.ObjectIds.Server_ServerStatus_State)).set_value(0, ua.VariantType.Int32) Node(self.isession, ua.NodeId(ua.ObjectIds.Server_ServerStatus_StartTime)).set_value(datetime.utcnow()) if not self.disabled_clock: self._set_current_time() def stop(self): - self.logger.info("stopping internal server") + self.logger.info('stopping internal server') self.isession.close_session() - self.loop.stop() self.history_manager.stop() def _set_current_time(self): @@ -155,14 +145,14 @@ def add_endpoint(self, endpoint): self.endpoints.append(endpoint) def get_endpoints(self, params=None, sockname=None): - self.logger.info("get endpoint") + self.logger.info('get endpoint') if sockname: # return to client the ip address it has access to edps = [] for edp in self.endpoints: edp1 = copy(edp) url = urlparse(edp1.EndpointUrl) - url = url._replace(netloc=sockname[0] + ":" + str(sockname[1])) + url = url._replace(netloc=sockname[0] + ':' + str(sockname[1])) edp1.EndpointUrl = url.geturl() edps.append(edp1) return edps @@ -173,9 +163,9 @@ def find_servers(self, params): return [desc.Server for desc in self._known_servers.values()] servers = [] for serv in self._known_servers.values(): - serv_uri = serv.Server.ApplicationUri.split(":") + serv_uri = serv.Server.ApplicationUri.split(':') for uri in params.ServerUris: - uri = uri.split(":") + uri = uri.split(':') if serv_uri[:len(uri)] == uri: servers.append(serv.Server) break @@ -223,7 +213,7 @@ def enable_history_event(self, source, period=timedelta(days=7), count=0): """ event_notifier = source.get_event_notifier() if ua.EventNotifier.SubscribeToEvents not in event_notifier: - raise ua.UaError("Node does not generate events", event_notifier) + raise ua.UaError('Node does not generate events', event_notifier) if ua.EventNotifier.HistoryRead not in event_notifier: event_notifier.add(ua.EventNotifier.HistoryRead) @@ -270,18 +260,17 @@ def __init__(self, internal_server, aspace, submgr, name, user=User.Anonymous, e self.authentication_token = ua.NodeId(self._auth_counter) InternalSession._auth_counter += 1 self.subscriptions = [] - self.logger.info("Created internal session %s", self.name) - self._lock = Lock() + self.logger.info('Created internal session %s', self.name) def __str__(self): - return "InternalSession(name:{0}, user:{1}, id:{2}, auth_token:{3})".format( + return 'InternalSession(name:{0}, user:{1}, id:{2}, auth_token:{3})'.format( self.name, self.user, self.session_id, self.authentication_token) def get_endpoints(self, params=None, sockname=None): return self.iserver.get_endpoints(params, sockname) def create_session(self, params, sockname=None): - self.logger.info("Create session request") + self.logger.info('Create session request') result = ua.CreateSessionResult() result.SessionId = self.session_id @@ -295,12 +284,12 @@ def create_session(self, params, sockname=None): return result def close_session(self, delete_subs=True): - self.logger.info("close session %s with subscriptions %s", self, self.subscriptions) + self.logger.info('close session %s with subscriptions %s', self, self.subscriptions) self.state = SessionState.Closed self.delete_subscriptions(self.subscriptions[:]) def activate_session(self, params): - self.logger.info("activate session") + self.logger.info('activate session') result = ua.ActivateSessionResult() if self.state != SessionState.Created: raise utils.ServiceError(ua.StatusCodes.BadSessionIdInvalid) @@ -311,9 +300,9 @@ def activate_session(self, params): self.state = SessionState.Activated id_token = params.UserIdentityToken if isinstance(id_token, ua.UserNameIdentityToken): - if self.iserver.allow_remote_admin and id_token.UserName in ("admin", "Admin"): + if self.iserver.allow_remote_admin and id_token.UserName in ('admin', 'Admin'): self.user = User.Admin - self.logger.info("Activated internal session %s for user %s", self.name, self.user) + self.logger.info('Activated internal session %s for user %s', self.name, self.user) return result def read(self, params): @@ -358,8 +347,7 @@ def call(self, params): def create_subscription(self, params, callback): result = self.subscription_service.create_subscription(params, callback) - with self._lock: - self.subscriptions.append(result.SubscriptionId) + self.subscriptions.append(result.SubscriptionId) return result def create_monitored_items(self, params): @@ -379,9 +367,8 @@ def republish(self, params): def delete_subscriptions(self, ids): for i in ids: - with self._lock: - if i in self.subscriptions: - self.subscriptions.remove(i) + if i in self.subscriptions: + self.subscriptions.remove(i) return self.subscription_service.delete_subscriptions(ids) def delete_monitored_items(self, params): diff --git a/opcua/server/server.py b/opcua/server/server.py index 417f43b05..ba4bc5193 100644 --- a/opcua/server/server.py +++ b/opcua/server/server.py @@ -2,13 +2,10 @@ High level interface to pure python OPC-UA server """ +import asyncio import logging from datetime import timedelta -try: - from urllib.parse import urlparse -except ImportError: - from urlparse import urlparse - +from urllib.parse import urlparse from opcua import ua # from opcua.binary_server import BinaryServer @@ -26,6 +23,7 @@ from opcua.common.xmlexporter import XmlExporter from opcua.common.xmlimporter import XmlImporter from opcua.common.ua_utils import get_nodes_of_namespace + use_crypto = True try: from opcua.crypto import uacrypto @@ -34,8 +32,7 @@ use_crypto = False -class Server(object): - +class Server: """ High level Server class @@ -73,17 +70,16 @@ class Server(object): :vartype bserver: BinaryServer :ivar nodes: shortcuts to common nodes :vartype nodes: Shortcuts - """ def __init__(self, shelffile=None, iserver=None): self.logger = logging.getLogger(__name__) - self.endpoint = urlparse("opc.tcp://0.0.0.0:4840/freeopcua/server/") - self.application_uri = "urn:freeopcua:python:server" - self.product_uri = "urn:freeopcua.github.no:python:server" - self.name = "FreeOpcUa Python Server" + self.endpoint = urlparse('opc.tcp://0.0.0.0:4840/freeopcua/server/') + self.application_uri = 'urn:freeopcua:python:server' + self.product_uri = 'urn:freeopcua.github.no:python:server' + self.name = 'FreeOpcUa Python Server' self.application_type = ua.ApplicationType.ClientAndServer - self.default_timeout = 3600000 + self.default_timeout = 60 * 60 * 1000 if iserver is not None: self.iserver = iserver else: @@ -95,16 +91,15 @@ def __init__(self, shelffile=None, iserver=None): self.private_key = None self._policies = [] self.nodes = Shortcuts(self.iserver.isession) - # setup some expected values sa_node = self.get_node(ua.NodeId(ua.ObjectIds.Server_ServerArray)) sa_node.set_value([self.application_uri]) - def __enter__(self): + def __aenter__(self): self.start() return self - def __exit__(self, exc_type, exc_value, traceback): + def __aexit__(self, exc_type, exc_value, traceback): self.stop() async def load_certificate(self, path): @@ -199,34 +194,43 @@ def _setup_server_nodes(self): self._set_endpoints() self._policies = [ua.SecurityPolicyFactory()] if self.certificate and self.private_key: - self._set_endpoints(security_policies.SecurityPolicyBasic128Rsa15, - ua.MessageSecurityMode.SignAndEncrypt) - self._policies.append(ua.SecurityPolicyFactory(security_policies.SecurityPolicyBasic128Rsa15, - ua.MessageSecurityMode.SignAndEncrypt, - self.certificate, - self.private_key) - ) - self._set_endpoints(security_policies.SecurityPolicyBasic128Rsa15, - ua.MessageSecurityMode.Sign) - self._policies.append(ua.SecurityPolicyFactory(security_policies.SecurityPolicyBasic128Rsa15, - ua.MessageSecurityMode.Sign, - self.certificate, - self.private_key) - ) - self._set_endpoints(security_policies.SecurityPolicyBasic256, - ua.MessageSecurityMode.SignAndEncrypt) - self._policies.append(ua.SecurityPolicyFactory(security_policies.SecurityPolicyBasic256, - ua.MessageSecurityMode.SignAndEncrypt, - self.certificate, - self.private_key) - ) - self._set_endpoints(security_policies.SecurityPolicyBasic256, - ua.MessageSecurityMode.Sign) - self._policies.append(ua.SecurityPolicyFactory(security_policies.SecurityPolicyBasic256, - ua.MessageSecurityMode.Sign, - self.certificate, - self.private_key) - ) + self._set_endpoints( + security_policies.SecurityPolicyBasic128Rsa15, ua.MessageSecurityMode.SignAndEncrypt + ) + self._policies.append( + ua.SecurityPolicyFactory( + security_policies.SecurityPolicyBasic128Rsa15, + ua.MessageSecurityMode.SignAndEncrypt, + self.certificate, + self.private_key) + ) + self._set_endpoints(security_policies.SecurityPolicyBasic128Rsa15, ua.MessageSecurityMode.Sign) + self._policies.append( + ua.SecurityPolicyFactory( + security_policies.SecurityPolicyBasic128Rsa15, + ua.MessageSecurityMode.Sign, + self.certificate, + self.private_key + ) + ) + self._set_endpoints(security_policies.SecurityPolicyBasic256, ua.MessageSecurityMode.SignAndEncrypt) + self._policies.append( + ua.SecurityPolicyFactory( + security_policies.SecurityPolicyBasic256, + ua.MessageSecurityMode.SignAndEncrypt, + self.certificate, + self.private_key + ) + ) + self._set_endpoints(security_policies.SecurityPolicyBasic256, ua.MessageSecurityMode.Sign) + self._policies.append( + ua.SecurityPolicyFactory( + security_policies.SecurityPolicyBasic256, + ua.MessageSecurityMode.Sign, + self.certificate, + self.private_key + ) + ) def _set_endpoints(self, policy=ua.SecurityPolicy, mode=ua.MessageSecurityMode.None_): idtoken = ua.UserTokenPolicy() @@ -267,7 +271,7 @@ def _set_endpoints(self, policy=ua.SecurityPolicy, mode=ua.MessageSecurityMode.N def set_server_name(self, name): self.name = name - def start(self): + async def start(self): """ Start to listen on network """ @@ -276,12 +280,11 @@ def start(self): try: self.bserver = BinaryServer(self.iserver, self.endpoint.hostname, self.endpoint.port) self.bserver.set_policies(self._policies) - self.bserver.start() + await self.bserver.start() except Exception as exp: self.iserver.stop() raise exp - def stop(self): """ Stop server @@ -332,30 +335,30 @@ async def create_subscription(self, period, handler): await subscription.init() return subscription - def get_namespace_array(self): + async def get_namespace_array(self): """ get all namespace defined in server """ ns_node = self.get_node(ua.NodeId(ua.ObjectIds.Server_NamespaceArray)) - return ns_node.get_value() + return await ns_node.get_value() - def register_namespace(self, uri): + async def register_namespace(self, uri): """ Register a new namespace. Nodes should in custom namespace, not 0. """ ns_node = self.get_node(ua.NodeId(ua.ObjectIds.Server_NamespaceArray)) - uries = ns_node.get_value() + uries = await ns_node.get_value() if uri in uries: return uries.index(uri) uries.append(uri) ns_node.set_value(uries) return len(uries) - 1 - def get_namespace_index(self, uri): + async def get_namespace_index(self, uri): """ get index of a namespace using its uri """ - uries = self.get_namespace_array() + uries = await self.get_namespace_array() return uries.index(uri) def get_event_generator(self, etype=None, source=ua.ObjectIds.Server): @@ -377,7 +380,8 @@ def create_custom_event_type(self, idx, name, basetype=ua.ObjectIds.BaseEventTyp properties = [] return self._create_custom_type(idx, name, basetype, properties, [], []) - def create_custom_object_type(self, idx, name, basetype=ua.ObjectIds.BaseObjectType, properties=None, variables=None, methods=None): + def create_custom_object_type(self, idx, name, basetype=ua.ObjectIds.BaseObjectType, properties=None, + variables=None, methods=None): if properties is None: properties = [] if variables is None: @@ -387,9 +391,10 @@ def create_custom_object_type(self, idx, name, basetype=ua.ObjectIds.BaseObjectT return self._create_custom_type(idx, name, basetype, properties, variables, methods) # def create_custom_reference_type(self, idx, name, basetype=ua.ObjectIds.BaseReferenceType, properties=[]): - # return self._create_custom_type(idx, name, basetype, properties) + # return self._create_custom_type(idx, name, basetype, properties) - def create_custom_variable_type(self, idx, name, basetype=ua.ObjectIds.BaseVariableType, properties=None, variables=None, methods=None): + def create_custom_variable_type(self, idx, name, basetype=ua.ObjectIds.BaseVariableType, properties=None, + variables=None, methods=None): if properties is None: properties = [] if variables is None: @@ -416,10 +421,11 @@ def _create_custom_type(self, idx, name, basetype, properties, variables, method datatype = None if len(variable) > 2: datatype = variable[2] - custom_t.add_variable(idx, variable[0], ua.get_default_value(variable[1]), varianttype=variable[1], datatype=datatype) + custom_t.add_variable( + idx, variable[0], ua.get_default_value(variable[1]), varianttype=variable[1], datatype=datatype + ) for method in methods: custom_t.add_method(idx, method[0], method[1], method[2], method[3]) - return custom_t def import_xml(self, path): diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/test_client.py b/tests/test_client.py new file mode 100644 index 000000000..7256a589b --- /dev/null +++ b/tests/test_client.py @@ -0,0 +1,119 @@ +import pytest + +from opcua import Client +from opcua import Server +from opcua import ua + +from .tests_subscriptions import SubscriptionTests +from .tests_common import CommonTests, add_server_methods +from .tests_xml import XmlTests + +port_num1 = 48510 + + +@pytest.yield_fixture() +async def admin_client(): + # start admin client + # long timeout since travis (automated testing) can be really slow + clt = Client(f'opc.tcp://admin@127.0.0.1:{port_num1}', timeout=10) + await clt.connect() + yield clt + await clt.disconnect() + + +@pytest.yield_fixture() +async def client(): + # start anonymous client + ro_clt = Client(f'opc.tcp://127.0.0.1:{port_num1}') + await ro_clt.connect() + yield ro_clt + await ro_clt.disconnect() + + +@pytest.yield_fixture() +async def server(): + # start our own server + srv = Server() + await srv.set_endpoint(f'opc.tcp://127.0.0.1:{port_num1}') + add_server_methods(srv) + await srv.start() + yield srv + # stop the server + await srv.stop() + + +@pytest.mark.asyncio +async def test_service_fault(server, admin_client): + request = ua.ReadRequest() + request.TypeId = ua.FourByteNodeId(999) # bad type! + with pytest.raises(ua.UaStatusCodeError): + await admin_client.uaclient.protocol.send_request(request) + + +@pytest.mark.asyncio +async def test_objects_anonymous(server, client): + objects = client.get_objects_node() + with pytest.raises(ua.UaStatusCodeError): + objects.set_attribute(ua.AttributeIds.WriteMask, ua.DataValue(999)) + with pytest.raises(ua.UaStatusCodeError): + f = objects.add_folder(3, 'MyFolder') + + +@pytest.mark.asyncio +async def test_folder_anonymous(server, client): + objects = client.get_objects_node() + f = objects.add_folder(3, 'MyFolderRO') + f_ro = client.get_node(f.nodeid) + assert f == f_ro + with pytest.raises(ua.UaStatusCodeError): + f2 = f_ro.add_folder(3, 'MyFolder2') + + +@pytest.mark.asyncio +async def test_variable_anonymous(server, admin_client, client): + objects = admin_client.get_objects_node() + v = objects.add_variable(3, 'MyROVariable', 6) + v.set_value(4) # this should work + v_ro = client.get_node(v.nodeid) + with pytest.raises(ua.UaStatusCodeError): + v_ro.set_value(2) + assert await v_ro.get_value() == 4 + v.set_writable(True) + v_ro.set_value(2) # now it should work + assert await v_ro.get_value() == 2 + v.set_writable(False) + with pytest.raises(ua.UaStatusCodeError): + v_ro.set_value(9) + assert await v_ro.get_value() == 2 + + +@pytest.mark.asyncio +async def test_context_manager(server): + """Context manager calls connect() and disconnect()""" + state = [0] + + def increment_state(*args, **kwargs): + state[0] += 1 + + # create client and replace instance methods with dummy methods + client = Client('opc.tcp://dummy_address:10000') + client.connect = increment_state.__get__(client) + client.disconnect = increment_state.__get__(client) + + assert state[0] == 0 + with client: + # test if client connected + assert state[0] == 1 + # test if client disconnected + assert state[0] == 2 + + +@pytest.mark.asyncio +async def test_enumstrings_getvalue(server, client): + """ + The real exception is server side, but is detected by using a client. + All due the server trace is also visible on the console. + The client only 'sees' an TimeoutError + """ + nenumstrings = client.get_node(ua.ObjectIds.AxisScaleEnumeration_EnumStrings) + value = ua.Variant(nenumstrings.get_value()) diff --git a/tests/tests.py b/tests/tests.py deleted file mode 100644 index 677116897..000000000 --- a/tests/tests.py +++ /dev/null @@ -1,25 +0,0 @@ -import unittest -import logging -import sys -sys.path.insert(0, "..") -sys.path.insert(0, ".") - - -from tests_cmd_lines import TestCmdLines -from tests_server import TestServer, TestServerCaching, TestServerStartError -from tests_client import TestClient -from tests_standard_address_space import StandardAddressSpaceTests -from tests_unit import TestUnit, TestMaskEnum -from tests_history import TestHistory, TestHistorySQL, TestHistoryLimits, TestHistorySQLLimits -from tests_crypto_connect import TestCryptoConnect -from tests_uaerrors import TestUaErrors - - -if __name__ == '__main__': - logging.basicConfig(level=logging.WARNING) - #l = logging.getLogger("opcua.server.internal_subscription") - #l.setLevel(logging.DEBUG) - #l = logging.getLogger("opcua.server.internal_server") - #l.setLevel(logging.DEBUG) - - unittest.main(verbosity=3) diff --git a/tests/tests_client.py b/tests/tests_client.py deleted file mode 100644 index a5b79dfb0..000000000 --- a/tests/tests_client.py +++ /dev/null @@ -1,111 +0,0 @@ -import unittest - -from opcua import Client -from opcua import Server -from opcua import ua - -from tests_subscriptions import SubscriptionTests -from tests_common import CommonTests, add_server_methods -from tests_xml import XmlTests - -port_num1 = 48510 - - -class TestClient(unittest.TestCase, CommonTests, SubscriptionTests, XmlTests): - - ''' - Run common tests on client side - Of course we need a server so we start also start a server - Tests that can only be run on client side must be defined in this class - ''' - @classmethod - def setUpClass(cls): - # start our own server - cls.srv = Server() - cls.srv.set_endpoint('opc.tcp://127.0.0.1:{0:d}'.format(port_num1)) - add_server_methods(cls.srv) - cls.srv.start() - - # start admin client - # long timeout since travis (automated testing) can be really slow - cls.clt = Client('opc.tcp://admin@127.0.0.1:{0:d}'.format(port_num1), timeout=10) - cls.clt.connect() - cls.opc = cls.clt - - # start anonymous client - cls.ro_clt = Client('opc.tcp://127.0.0.1:{0:d}'.format(port_num1)) - cls.ro_clt.connect() - - @classmethod - def tearDownClass(cls): - #stop our clients - cls.ro_clt.disconnect() - cls.clt.disconnect() - # stop the server - cls.srv.stop() - - def test_service_fault(self): - request = ua.ReadRequest() - request.TypeId = ua.FourByteNodeId(999) # bad type! - with self.assertRaises(ua.UaStatusCodeError): - self.clt.uaclient._uasocket.send_request(request) - - def test_objects_anonymous(self): - objects = self.ro_clt.get_objects_node() - with self.assertRaises(ua.UaStatusCodeError): - objects.set_attribute(ua.AttributeIds.WriteMask, ua.DataValue(999)) - with self.assertRaises(ua.UaStatusCodeError): - f = objects.add_folder(3, 'MyFolder') - - def test_folder_anonymous(self): - objects = self.clt.get_objects_node() - f = objects.add_folder(3, 'MyFolderRO') - f_ro = self.ro_clt.get_node(f.nodeid) - self.assertEqual(f, f_ro) - with self.assertRaises(ua.UaStatusCodeError): - f2 = f_ro.add_folder(3, 'MyFolder2') - - def test_variable_anonymous(self): - objects = self.clt.get_objects_node() - v = objects.add_variable(3, 'MyROVariable', 6) - v.set_value(4) #this should work - v_ro = self.ro_clt.get_node(v.nodeid) - with self.assertRaises(ua.UaStatusCodeError): - v_ro.set_value(2) - self.assertEqual(v_ro.get_value(), 4) - v.set_writable(True) - v_ro.set_value(2) #now it should work - self.assertEqual(v_ro.get_value(), 2) - v.set_writable(False) - with self.assertRaises(ua.UaStatusCodeError): - v_ro.set_value(9) - self.assertEqual(v_ro.get_value(), 2) - - def test_context_manager(self): - """ Context manager calls connect() and disconnect() - """ - state = [0] - def increment_state(self, *args, **kwargs): - state[0] += 1 - - # create client and replace instance methods with dummy methods - client = Client('opc.tcp://dummy_address:10000') - client.connect = increment_state.__get__(client) - client.disconnect = increment_state.__get__(client) - - assert state[0] == 0 - with client: - # test if client connected - self.assertEqual(state[0], 1) - # test if client disconnected - self.assertEqual(state[0], 2) - - def test_enumstrings_getvalue(self): - ''' The real exception is server side, but is detected by using a client. - Alldue the server trace is also visible on the console. - The client only 'sees' an TimeoutError - ''' - nenumstrings = self.opc.get_node(ua.ObjectIds.AxisScaleEnumeration_EnumStrings) - with self.assertNotRaises(Exception): - value = ua.Variant(nenumstrings.get_value()) - diff --git a/tests/tests_common.py b/tests/tests_common.py index 9a4049b05..e51f95fe0 100644 --- a/tests/tests_common.py +++ b/tests/tests_common.py @@ -14,13 +14,15 @@ from opcua.common import ua_utils from opcua.common.methods import call_method_full + def add_server_methods(srv): @uamethod def func(parent, value): return value * 2 o = srv.get_objects_node() - v = o.add_method(ua.NodeId("ServerMethod", 2), ua.QualifiedName('ServerMethod', 2), func, [ua.VariantType.Int64], [ua.VariantType.Int64]) + v = o.add_method(ua.NodeId("ServerMethod", 2), ua.QualifiedName('ServerMethod', 2), func, [ua.VariantType.Int64], + [ua.VariantType.Int64]) @uamethod def func2(parent, methodname, value): @@ -34,20 +36,22 @@ def func2(parent, methodname, value): return math.sin(value) o = srv.get_objects_node() - v = o.add_method(ua.NodeId("ServerMethodArray", 2), ua.QualifiedName('ServerMethodArray', 2), func2, [ua.VariantType.String, ua.VariantType.Int64], [ua.VariantType.Int64]) + v = o.add_method(ua.NodeId("ServerMethodArray", 2), ua.QualifiedName('ServerMethodArray', 2), func2, + [ua.VariantType.String, ua.VariantType.Int64], [ua.VariantType.Int64]) @uamethod def func3(parent, mylist): return [i * 2 for i in mylist] o = srv.get_objects_node() - v = o.add_method(ua.NodeId("ServerMethodArray2", 2), ua.QualifiedName('ServerMethodArray2', 2), func3, [ua.VariantType.Int64], [ua.VariantType.Int64]) + v = o.add_method(ua.NodeId("ServerMethodArray2", 2), ua.QualifiedName('ServerMethodArray2', 2), func3, + [ua.VariantType.Int64], [ua.VariantType.Int64]) @uamethod def func4(parent): return None - base_otype= srv.get_node(ua.ObjectIds.BaseObjectType) + base_otype = srv.get_node(ua.ObjectIds.BaseObjectType) custom_otype = base_otype.add_object_type(2, 'ObjectWithMethodsType') custom_otype.add_method(2, 'ServerMethodDefault', func4) custom_otype.add_method(2, 'ServerMethodMandatory', func4).set_modelling_rule(True) @@ -57,9 +61,12 @@ def func4(parent): @uamethod def func5(parent): - return 1,2,3 + return 1, 2, 3 + o = srv.get_objects_node() - v = o.add_method(ua.NodeId("ServerMethodTuple", 2), ua.QualifiedName('ServerMethodTuple', 2), func5, [], [ua.VariantType.Int64, ua.VariantType.Int64, ua.VariantType.Int64]) + v = o.add_method(ua.NodeId("ServerMethodTuple", 2), ua.QualifiedName('ServerMethodTuple', 2), func5, [], + [ua.VariantType.Int64, ua.VariantType.Int64, ua.VariantType.Int64]) + def _test_modelling_rules(test, parent, mandatory, result): f = parent.add_folder(3, 'MyFolder') @@ -80,7 +87,6 @@ def _test_modelling_rules(test, parent, mandatory, result): class CommonTests(object): - ''' Tests that will be run twice. Once on server side and once on client side since we have been carefull to have the exact @@ -191,7 +197,6 @@ def test_delete_references(self): self.assertEqual(var.get_referenced_nodes(newtype), []) self.assertEqual(fold.get_referenced_nodes(newtype), []) - var.add_reference(fold, newtype, forward=False, bidirectional=False) self.assertEqual(var.get_referenced_nodes(newtype), [fold]) @@ -268,19 +273,24 @@ def test_browse_references(self): objects = self.opc.get_objects_node() folder = objects.add_folder(4, "folder") - childs = objects.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Forward, includesubtypes=False) + childs = objects.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Forward, + includesubtypes=False) self.assertTrue(folder in childs) - childs = objects.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Both, includesubtypes=False) + childs = objects.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Both, + includesubtypes=False) self.assertTrue(folder in childs) - childs = objects.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Inverse, includesubtypes=False) + childs = objects.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Inverse, + includesubtypes=False) self.assertFalse(folder in childs) - parents = folder.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Inverse, includesubtypes=False) + parents = folder.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Inverse, + includesubtypes=False) self.assertTrue(objects in parents) - parents = folder.get_referenced_nodes(refs=ua.ObjectIds.HierarchicalReferences, direction=ua.BrowseDirection.Inverse, includesubtypes=False) + parents = folder.get_referenced_nodes(refs=ua.ObjectIds.HierarchicalReferences, + direction=ua.BrowseDirection.Inverse, includesubtypes=False) self.assertTrue(objects in parents) parent = folder.get_parent() @@ -325,7 +335,8 @@ def test_datetime_write(self): def test_variant_array_dim(self): objects = self.opc.get_objects_node() - l = [[[1.0, 1.0, 1.0, 1.0], [2.0, 2.0, 2.0, 2.0], [3.0, 3.0, 3.0, 3.0]],[[5.0, 5.0, 5.0, 5.0], [7.0, 8.0, 9.0, 01.0], [1.0, 1.0, 1.0, 1.0]]] + l = [[[1.0, 1.0, 1.0, 1.0], [2.0, 2.0, 2.0, 2.0], [3.0, 3.0, 3.0, 3.0]], + [[5.0, 5.0, 5.0, 5.0], [7.0, 8.0, 9.0, 01.0], [1.0, 1.0, 1.0, 1.0]]] v = objects.add_variable(3, 'variableWithDims', l) v.set_array_dimensions([0, 0, 0]) @@ -339,7 +350,7 @@ def test_variant_array_dim(self): v2 = v.get_value() self.assertEqual(v2, l) dv = v.get_data_value() - self.assertEqual(dv.Value.Dimensions, [2,3,4]) + self.assertEqual(dv.Value.Dimensions, [2, 3, 4]) l = [[[], [], []], [[], [], []]] variant = ua.Variant(l, ua.VariantType.UInt32) @@ -347,7 +358,7 @@ def test_variant_array_dim(self): v2 = v.get_value() self.assertEqual(v2, l) dv = v.get_data_value() - self.assertEqual(dv.Value.Dimensions, [2,3,0]) + self.assertEqual(dv.Value.Dimensions, [2, 3, 0]) def test_add_numeric_variable(self): objects = self.opc.get_objects_node() @@ -608,7 +619,7 @@ def test_add_nodes(self): self.assertTrue(p in childs) def test_add_nodes_modelling_rules_type_default(self): - base_otype= self.opc.get_node(ua.ObjectIds.BaseObjectType) + base_otype = self.opc.get_node(ua.ObjectIds.BaseObjectType) custom_otype = base_otype.add_object_type(2, 'MyFooObjectType') result = [self.opc.get_node(ua.ObjectIds.ModellingRule_Mandatory)] @@ -632,7 +643,7 @@ def test_add_nodes_modelling_rules_type_default(self): c = objects.get_child(['2:ObjectWithMethods', '2:ServerMethodDefault']) def test_add_nodes_modelling_rules_type_true(self): - base_otype= self.opc.get_node(ua.ObjectIds.BaseObjectType) + base_otype = self.opc.get_node(ua.ObjectIds.BaseObjectType) custom_otype = base_otype.add_object_type(2, 'MyFooObjectType') result = [self.opc.get_node(ua.ObjectIds.ModellingRule_Mandatory)] @@ -644,9 +655,8 @@ def test_add_nodes_modelling_rules_type_true(self): objects = self.opc.get_objects_node() objects.get_child(['2:ObjectWithMethods', '2:ServerMethodMandatory']) - def test_add_nodes_modelling_rules_type_false(self): - base_otype= self.opc.get_node(ua.ObjectIds.BaseObjectType) + base_otype = self.opc.get_node(ua.ObjectIds.BaseObjectType) custom_otype = base_otype.add_object_type(2, 'MyFooObjectType') result = [self.opc.get_node(ua.ObjectIds.ModellingRule_Optional)] @@ -656,7 +666,7 @@ def test_add_nodes_modelling_rules_type_false(self): self.assertEqual(m.get_referenced_nodes(ua.ObjectIds.HasModellingRule), result) def test_add_nodes_modelling_rules_type_none(self): - base_otype= self.opc.get_node(ua.ObjectIds.BaseObjectType) + base_otype = self.opc.get_node(ua.ObjectIds.BaseObjectType) custom_otype = base_otype.add_object_type(2, 'MyFooObjectType') result = [] @@ -697,7 +707,7 @@ def test_add_node_with_type(self): o = f.add_object(3, 'MyObject2', ua.NodeId(ua.ObjectIds.BaseObjectType, 0)) self.assertEqual(o.get_type_definition().Identifier, ua.ObjectIds.BaseObjectType) - base_otype= self.opc.get_node(ua.ObjectIds.BaseObjectType) + base_otype = self.opc.get_node(ua.ObjectIds.BaseObjectType) custom_otype = base_otype.add_object_type(2, 'MyFooObjectType') o = f.add_object(3, 'MyObject3', custom_otype.nodeid) @@ -710,36 +720,44 @@ def test_add_node_with_type(self): def test_references_for_added_nodes(self): objects = self.opc.get_objects_node() o = objects.add_object(3, 'MyObject') - nodes = objects.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Forward, includesubtypes=False) + nodes = objects.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Forward, + includesubtypes=False) self.assertTrue(o in nodes) - nodes = o.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Inverse, includesubtypes=False) + nodes = o.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Inverse, + includesubtypes=False) self.assertTrue(objects in nodes) self.assertEqual(o.get_parent(), objects) self.assertEqual(o.get_type_definition().Identifier, ua.ObjectIds.BaseObjectType) self.assertEqual(o.get_references(ua.ObjectIds.HasModellingRule), []) o2 = o.add_object(3, 'MySecondObject') - nodes = o.get_referenced_nodes(refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Forward, includesubtypes=False) + nodes = o.get_referenced_nodes(refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Forward, + includesubtypes=False) self.assertTrue(o2 in nodes) - nodes = o2.get_referenced_nodes(refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Inverse, includesubtypes=False) + nodes = o2.get_referenced_nodes(refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Inverse, + includesubtypes=False) self.assertTrue(o in nodes) self.assertEqual(o2.get_parent(), o) self.assertEqual(o2.get_type_definition().Identifier, ua.ObjectIds.BaseObjectType) self.assertEqual(o2.get_references(ua.ObjectIds.HasModellingRule), []) v = o.add_variable(3, 'MyVariable', 6) - nodes = o.get_referenced_nodes(refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Forward, includesubtypes=False) + nodes = o.get_referenced_nodes(refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Forward, + includesubtypes=False) self.assertTrue(v in nodes) - nodes = v.get_referenced_nodes(refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Inverse, includesubtypes=False) + nodes = v.get_referenced_nodes(refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Inverse, + includesubtypes=False) self.assertTrue(o in nodes) self.assertEqual(v.get_parent(), o) self.assertEqual(v.get_type_definition().Identifier, ua.ObjectIds.BaseDataVariableType) self.assertEqual(v.get_references(ua.ObjectIds.HasModellingRule), []) p = o.add_property(3, 'MyProperty', 2) - nodes = o.get_referenced_nodes(refs=ua.ObjectIds.HasProperty, direction=ua.BrowseDirection.Forward, includesubtypes=False) + nodes = o.get_referenced_nodes(refs=ua.ObjectIds.HasProperty, direction=ua.BrowseDirection.Forward, + includesubtypes=False) self.assertTrue(p in nodes) - nodes = p.get_referenced_nodes(refs=ua.ObjectIds.HasProperty, direction=ua.BrowseDirection.Inverse, includesubtypes=False) + nodes = p.get_referenced_nodes(refs=ua.ObjectIds.HasProperty, direction=ua.BrowseDirection.Inverse, + includesubtypes=False) self.assertTrue(o in nodes) self.assertEqual(p.get_parent(), o) self.assertEqual(p.get_type_definition().Identifier, ua.ObjectIds.PropertyType) @@ -764,7 +782,9 @@ def test_path(self): self.assertEqual([of, op], path) target = self.opc.get_node("i=13387") path = target.get_path() - self.assertEqual([self.opc.nodes.root, self.opc.nodes.types, self.opc.nodes.object_types, self.opc.nodes.base_object_type, self.opc.nodes.folder_type, self.opc.get_node(ua.ObjectIds.FileDirectoryType), target], path) + self.assertEqual( + [self.opc.nodes.root, self.opc.nodes.types, self.opc.nodes.object_types, self.opc.nodes.base_object_type, + self.opc.nodes.folder_type, self.opc.get_node(ua.ObjectIds.FileDirectoryType), target], path) def test_get_endpoints(self): endpoints = self.opc.get_endpoints() @@ -782,7 +802,6 @@ def test_copy_node(self): v_t = devd_t.add_variable(0, "childparam", 1.0) p_t = devd_t.add_property(0, "sensorx_id", "0340") - nodes = copy_node(self.opc.nodes.objects, dev_t) mydevice = nodes[0] @@ -845,7 +864,8 @@ def test_instantiate_string_nodeid(self): prop_t = ctrl_t.add_property(0, "state", "Running") # instanciate device - nodes = instantiate(self.opc.nodes.objects, dev_t, nodeid=ua.NodeId("InstDevice", 2, ua.NodeIdType.String), bname="2:InstDevice") + nodes = instantiate(self.opc.nodes.objects, dev_t, nodeid=ua.NodeId("InstDevice", 2, ua.NodeIdType.String), + bname="2:InstDevice") mydevice = nodes[0] self.assertEqual(mydevice.get_node_class(), ua.NodeClass.Object) @@ -859,24 +879,28 @@ def test_instantiate_string_nodeid(self): self.assertNotEqual(prop.nodeid, prop_t.nodeid) def test_variable_with_datatype(self): - v1 = self.opc.nodes.objects.add_variable(3, 'VariableEnumType1', ua.ApplicationType.ClientAndServer, datatype=ua.NodeId(ua.ObjectIds.ApplicationType)) + v1 = self.opc.nodes.objects.add_variable(3, 'VariableEnumType1', ua.ApplicationType.ClientAndServer, + datatype=ua.NodeId(ua.ObjectIds.ApplicationType)) tp1 = v1.get_data_type() self.assertEqual(ua.NodeId(ua.ObjectIds.ApplicationType), tp1) - v2 = self.opc.nodes.objects.add_variable(3, 'VariableEnumType2', ua.ApplicationType.ClientAndServer, datatype=ua.NodeId(ua.ObjectIds.ApplicationType) ) + v2 = self.opc.nodes.objects.add_variable(3, 'VariableEnumType2', ua.ApplicationType.ClientAndServer, + datatype=ua.NodeId(ua.ObjectIds.ApplicationType)) tp2 = v2.get_data_type() - self.assertEqual( ua.NodeId(ua.ObjectIds.ApplicationType), tp2) + self.assertEqual(ua.NodeId(ua.ObjectIds.ApplicationType), tp2) def test_enum(self): # create enum type enums = self.opc.get_root_node().get_child(["0:Types", "0:DataTypes", "0:BaseDataType", "0:Enumeration"]) myenum_type = enums.add_data_type(0, "MyEnum") - es = myenum_type.add_variable(0, "EnumStrings", [ua.LocalizedText("String0"), ua.LocalizedText("String1"), ua.LocalizedText("String2")], ua.VariantType.LocalizedText) - #es.set_value_rank(1) + es = myenum_type.add_variable(0, "EnumStrings", + [ua.LocalizedText("String0"), ua.LocalizedText("String1"), ua.LocalizedText("String2")], + ua.VariantType.LocalizedText) + # es.set_value_rank(1) # instantiate o = self.opc.get_objects_node() myvar = o.add_variable(2, "MyEnumVar", ua.LocalizedText("String1"), datatype=myenum_type.nodeid) - #myvar.set_writable(True) + # myvar.set_writable(True) # tests self.assertEqual(myvar.get_data_type(), myenum_type.nodeid) myvar.set_value(ua.LocalizedText("String2")) @@ -926,6 +950,6 @@ def test_data_type_to_variant_type(self): ua.ObjectIds.Enumeration: ua.VariantType.Int32, # enumeration ua.ObjectIds.AttributeWriteMask: ua.VariantType.Int32, # enumeration ua.ObjectIds.AxisScaleEnumeration: ua.VariantType.Int32 # enumeration - } + } for dt, vdt in test_data.items(): self.assertEqual(ua_utils.data_type_to_variant_type(self.opc.get_node(ua.NodeId(dt))), vdt) From a85b89ae8fc8b34bcf09db22a499f90cec86e32a Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Tue, 30 Jan 2018 20:48:16 +0100 Subject: [PATCH 028/113] [ADD] wip --- examples/server-minimal.py | 20 +++---- opcua/common/manage_nodes.py | 66 +++++++++++++---------- opcua/common/node.py | 95 +++++++++++++++------------------ opcua/server/address_space.py | 22 ++++---- opcua/server/internal_server.py | 79 +++++++++++++-------------- opcua/server/server.py | 51 ++++++++---------- tests/test_client.py | 4 +- tests/tests_common.py | 77 ++++++++++++++------------ 8 files changed, 203 insertions(+), 211 deletions(-) diff --git a/examples/server-minimal.py b/examples/server-minimal.py index 3e1d6673c..d4dab347b 100644 --- a/examples/server-minimal.py +++ b/examples/server-minimal.py @@ -6,32 +6,24 @@ async def task(loop): # setup our server server = Server() + await server.init() server.set_endpoint('opc.tcp://0.0.0.0:4840/freeopcua/server/') - # setup our own namespace, not really necessary but should as spec uri = 'http://examples.freeopcua.github.io' idx = await server.register_namespace(uri) - # get Objects node, this is where we should put our nodes objects = server.get_objects_node() - # populating our address space - myobj = objects.add_object(idx, 'MyObject') - myvar = myobj.add_variable(idx, 'MyVariable', 6.7) - myvar.set_writable() # Set MyVariable to be writable by clients - + myobj = await objects.add_object(idx, 'MyObject') + myvar = await myobj.add_variable(idx, 'MyVariable', 6.7) + await myvar.set_writable() # Set MyVariable to be writable by clients # starting! - await server.start() - - try: + async with server: count = 0 while True: await asyncio.sleep(1) count += 0.1 - myvar.set_value(count) - finally: - # close connection, remove subcsriptions, etc - server.stop() + await myvar.set_value(count) def main(): diff --git a/opcua/common/manage_nodes.py b/opcua/common/manage_nodes.py index 503b64754..16a294307 100644 --- a/opcua/common/manage_nodes.py +++ b/opcua/common/manage_nodes.py @@ -31,17 +31,20 @@ def _parse_nodeid_qname(*args): raise TypeError("This method takes either a namespace index and a string as argument or a nodeid and a qualifiedname. Received arguments {0} and got exception {1}".format(args, ex)) -def create_folder(parent, nodeid, bname): +async def create_folder(parent, nodeid, bname): """ create a child node folder arguments are nodeid, browsename or namespace index, name """ nodeid, qname = _parse_nodeid_qname(nodeid, bname) - return node.Node(parent.server, _create_object(parent.server, parent.nodeid, nodeid, qname, ua.ObjectIds.FolderType)) + return node.Node( + parent.server, + await _create_object(parent.server, parent.nodeid, nodeid, qname, ua.ObjectIds.FolderType) + ) -def create_object(parent, nodeid, bname, objecttype=None): +async def create_object(parent, nodeid, bname, objecttype=None): """ create a child node object arguments are nodeid, browsename, [objecttype] @@ -55,7 +58,10 @@ def create_object(parent, nodeid, bname, objecttype=None): nodes = instantiate(parent, objecttype, nodeid, bname=qname, dname=dname)[0] return nodes else: - return node.Node(parent.server, _create_object(parent.server, parent.nodeid, nodeid, qname, ua.ObjectIds.BaseObjectType)) + return node.Node( + parent.server, + await _create_object(parent.server, parent.nodeid, nodeid, qname, ua.ObjectIds.BaseObjectType) + ) def create_property(parent, nodeid, bname, val, varianttype=None, datatype=None): @@ -73,7 +79,7 @@ def create_property(parent, nodeid, bname, val, varianttype=None, datatype=None) return node.Node(parent.server, _create_variable(parent.server, parent.nodeid, nodeid, qname, var, datatype=datatype, isproperty=True)) -def create_variable(parent, nodeid, bname, val, varianttype=None, datatype=None): +async def create_variable(parent, nodeid, bname, val, varianttype=None, datatype=None): """ create a child node variable args are nodeid, browsename, value, [variant type], [data type] @@ -86,10 +92,13 @@ def create_variable(parent, nodeid, bname, val, varianttype=None, datatype=None) if datatype and not isinstance(datatype, ua.NodeId): raise RuntimeError("datatype argument must be a nodeid or an int refering to a nodeid") - return node.Node(parent.server, _create_variable(parent.server, parent.nodeid, nodeid, qname, var, datatype=datatype, isproperty=False)) + return node.Node( + parent.server, + await _create_variable(parent.server, parent.nodeid, nodeid, qname, var, datatype=datatype, isproperty=False) + ) -def create_variable_type(parent, nodeid, bname, datatype): +async def create_variable_type(parent, nodeid, bname, datatype): """ Create a new variable type args are nodeid, browsename and datatype @@ -100,7 +109,10 @@ def create_variable_type(parent, nodeid, bname, datatype): datatype = ua.NodeId(datatype, 0) if datatype and not isinstance(datatype, ua.NodeId): raise RuntimeError("Data type argument must be a nodeid or an int refering to a nodeid, received: {}".format(datatype)) - return node.Node(parent.server, _create_variable_type(parent.server, parent.nodeid, nodeid, qname, datatype)) + return node.Node( + parent.server, + await _create_variable_type(parent.server, parent.nodeid, nodeid, qname, datatype) + ) def create_reference_type(parent, nodeid, bname, symmetric=True, inversename=None): @@ -113,17 +125,17 @@ def create_reference_type(parent, nodeid, bname, symmetric=True, inversename=Non return node.Node(parent.server, _create_reference_type(parent.server, parent.nodeid, nodeid, qname, symmetric, inversename)) -def create_object_type(parent, nodeid, bname): +async def create_object_type(parent, nodeid, bname): """ Create a new object type to be instanciated in address space. arguments are nodeid, browsename or namespace index, name """ nodeid, qname = _parse_nodeid_qname(nodeid, bname) - return node.Node(parent.server, _create_object_type(parent.server, parent.nodeid, nodeid, qname)) + return node.Node(parent.server, await _create_object_type(parent.server, parent.nodeid, nodeid, qname)) -def create_method(parent, *args): +async def create_method(parent, *args): """ create a child method object This is only possible on server side!! @@ -142,15 +154,15 @@ def create_method(parent, *args): outputs = args[4] else: outputs = [] - return node.Node(parent.server, _create_method(parent, nodeid, qname, callback, inputs, outputs)) + return node.Node(parent.server, await _create_method(parent, nodeid, qname, callback, inputs, outputs)) -def _create_object(server, parentnodeid, nodeid, qname, objecttype): +async def _create_object(server, parentnodeid, nodeid, qname, objecttype): addnode = ua.AddNodesItem() addnode.RequestedNewNodeId = nodeid addnode.BrowseName = qname addnode.ParentNodeId = parentnodeid - if node.Node(server, parentnodeid).get_type_definition() == ua.NodeId(ua.ObjectIds.FolderType): + if await node.Node(server, parentnodeid).get_type_definition() == ua.NodeId(ua.ObjectIds.FolderType): addnode.ReferenceTypeId = ua.NodeId(ua.ObjectIds.Organizes) else: addnode.ReferenceTypeId = ua.NodeId(ua.ObjectIds.HasComponent) @@ -161,13 +173,12 @@ def _create_object(server, parentnodeid, nodeid, qname, objecttype): addnode.TypeDefinition = objecttype attrs = ua.ObjectAttributes() attrs.EventNotifier = 0 - attrs.Description = ua.LocalizedText(qname.Name) attrs.DisplayName = ua.LocalizedText(qname.Name) attrs.WriteMask = 0 attrs.UserWriteMask = 0 addnode.NodeAttributes = attrs - results = server.add_nodes([addnode]) + results = await server.add_nodes([addnode]) results[0].StatusCode.check() return results[0].AddedNodeId @@ -192,7 +203,8 @@ def _create_reference_type(server, parentnodeid, nodeid, qname, symmetric, inver results[0].StatusCode.check() return results[0].AddedNodeId -def _create_object_type(server, parentnodeid, nodeid, qname): + +async def _create_object_type(server, parentnodeid, nodeid, qname): addnode = ua.AddNodesItem() addnode.RequestedNewNodeId = nodeid addnode.BrowseName = qname @@ -206,12 +218,12 @@ def _create_object_type(server, parentnodeid, nodeid, qname): attrs.WriteMask = 0 attrs.UserWriteMask = 0 addnode.NodeAttributes = attrs - results = server.add_nodes([addnode]) + results = await server.add_nodes([addnode]) results[0].StatusCode.check() return results[0].AddedNodeId -def _create_variable(server, parentnodeid, nodeid, qname, var, datatype=None, isproperty=False): +async def _create_variable(server, parentnodeid, nodeid, qname, var, datatype=None, isproperty=False): addnode = ua.AddNodesItem() addnode.RequestedNewNodeId = nodeid addnode.BrowseName = qname @@ -244,12 +256,12 @@ def _create_variable(server, parentnodeid, nodeid, qname, var, datatype=None, is attrs.AccessLevel = ua.AccessLevel.CurrentRead.mask attrs.UserAccessLevel = ua.AccessLevel.CurrentRead.mask addnode.NodeAttributes = attrs - results = server.add_nodes([addnode]) + results = await server.add_nodes([addnode]) results[0].StatusCode.check() return results[0].AddedNodeId -def _create_variable_type(server, parentnodeid, nodeid, qname, datatype, value=None): +async def _create_variable_type(server, parentnodeid, nodeid, qname, datatype, value=None): addnode = ua.AddNodesItem() addnode.RequestedNewNodeId = nodeid addnode.BrowseName = qname @@ -272,12 +284,12 @@ def _create_variable_type(server, parentnodeid, nodeid, qname, datatype, value=N attrs.WriteMask = 0 attrs.UserWriteMask = 0 addnode.NodeAttributes = attrs - results = server.add_nodes([addnode]) + results = await server.add_nodes([addnode]) results[0].StatusCode.check() return results[0].AddedNodeId -def create_data_type(parent, nodeid, bname, description=None): +async def create_data_type(parent, nodeid, bname, description=None): """ Create a new data type to be used in new variables, etc .. arguments are nodeid, browsename @@ -302,12 +314,12 @@ def create_data_type(parent, nodeid, bname, description=None): attrs.UserWriteMask = 0 attrs.IsAbstract = False # True mean they cannot be instanciated addnode.NodeAttributes = attrs - results = parent.server.add_nodes([addnode]) + results = await parent.server.add_nodes([addnode]) results[0].StatusCode.check() return node.Node(parent.server, results[0].AddedNodeId) -def _create_method(parent, nodeid, qname, callback, inputs, outputs): +async def _create_method(parent, nodeid, qname, callback, inputs, outputs): addnode = ua.AddNodesItem() addnode.RequestedNewNodeId = nodeid addnode.BrowseName = qname @@ -323,7 +335,7 @@ def _create_method(parent, nodeid, qname, callback, inputs, outputs): attrs.Executable = True attrs.UserExecutable = True addnode.NodeAttributes = attrs - results = parent.server.add_nodes([addnode]) + results = await parent.server.add_nodes([addnode]) results[0].StatusCode.check() method = node.Node(parent.server, results[0].AddedNodeId) if inputs: @@ -341,7 +353,7 @@ def _create_method(parent, nodeid, qname, callback, inputs, outputs): varianttype=ua.VariantType.ExtensionObject, datatype=ua.ObjectIds.Argument) if hasattr(parent.server, "add_method_callback"): - parent.server.add_method_callback(method.nodeid, callback) + await parent.server.add_method_callback(method.nodeid, callback) return results[0].AddedNodeId diff --git a/opcua/common/node.py b/opcua/common/node.py index 590f29e6e..ca7970f32 100644 --- a/opcua/common/node.py +++ b/opcua/common/node.py @@ -212,25 +212,25 @@ async def set_value(self, value, varianttype=None): set_data_value = set_value - def set_writable(self, writable=True): + async def set_writable(self, writable=True): """ Set node as writable by clients. A node is always writable on server side. """ if writable: - self.set_attr_bit(ua.AttributeIds.AccessLevel, ua.AccessLevel.CurrentWrite) - self.set_attr_bit(ua.AttributeIds.UserAccessLevel, ua.AccessLevel.CurrentWrite) + await self.set_attr_bit(ua.AttributeIds.AccessLevel, ua.AccessLevel.CurrentWrite) + await self.set_attr_bit(ua.AttributeIds.UserAccessLevel, ua.AccessLevel.CurrentWrite) else: - self.unset_attr_bit(ua.AttributeIds.AccessLevel, ua.AccessLevel.CurrentWrite) - self.unset_attr_bit(ua.AttributeIds.UserAccessLevel, ua.AccessLevel.CurrentWrite) + await self.unset_attr_bit(ua.AttributeIds.AccessLevel, ua.AccessLevel.CurrentWrite) + await self.unset_attr_bit(ua.AttributeIds.UserAccessLevel, ua.AccessLevel.CurrentWrite) async def set_attr_bit(self, attr, bit): - val = self.get_attribute(attr) + val = await self.get_attribute(attr) val.Value.Value = ua.ua_binary.set_bit(val.Value.Value, bit) await self.set_attribute(attr, val) async def unset_attr_bit(self, attr, bit): - val = self.get_attribute(attr) + val = await self.get_attribute(attr) val.Value.Value = ua.ua_binary.unset_bit(val.Value.Value, bit) await self.set_attribute(attr, val) @@ -486,7 +486,7 @@ def _make_relative_path(self, path): rpath.Elements.append(el) return rpath - def read_raw_history(self, starttime=None, endtime=None, numvalues=0): + async def read_raw_history(self, starttime=None, endtime=None, numvalues=0): """ Read raw history of a node result code from server is checked and an exception is raised in case of error @@ -505,7 +505,7 @@ def read_raw_history(self, starttime=None, endtime=None, numvalues=0): details.EndTime = ua.get_win_epoch() details.NumValuesPerNode = numvalues details.ReturnBounds = True - result = self.history_read(details) + result = await self.history_read(details) return result.HistoryData.DataValues def history_read(self, details): @@ -516,23 +516,20 @@ def history_read(self, details): valueid = ua.HistoryReadValueId() valueid.NodeId = self.nodeid valueid.IndexRange = '' - params = ua.HistoryReadParameters() params.HistoryReadDetails = details params.TimestampsToReturn = ua.TimestampsToReturn.Both params.ReleaseContinuationPoints = False params.NodesToRead.append(valueid) - result = self.server.history_read(params)[0] - return result + return self.server.history_read(params)[0] - def read_event_history(self, starttime=None, endtime=None, numvalues=0, evtypes=ua.ObjectIds.BaseEventType): + async def read_event_history(self, starttime=None, endtime=None, numvalues=0, evtypes=ua.ObjectIds.BaseEventType): """ Read event history of a source node result code from server is checked and an exception is raised in case of error If numvalues is > 0 and number of events in period is > numvalues then result will be truncated """ - details = ua.ReadEventDetails() if starttime: details.StartTime = starttime @@ -543,16 +540,12 @@ def read_event_history(self, starttime=None, endtime=None, numvalues=0, evtypes= else: details.EndTime = ua.get_win_epoch() details.NumValuesPerNode = numvalues - if not isinstance(evtypes, (list, tuple)): evtypes = [evtypes] - evtypes = [Node(self.server, evtype) for evtype in evtypes] - evfilter = events.get_filter_from_event_type(evtypes) details.Filter = evfilter - - result = self.history_read_events(details) + result = await self.history_read_events(details) event_res = [] for res in result.HistoryData.Events: event_res.append(events.Event.from_event_fields(evfilter.SelectClauses, res.EventFields)) @@ -566,20 +559,18 @@ def history_read_events(self, details): valueid = ua.HistoryReadValueId() valueid.NodeId = self.nodeid valueid.IndexRange = '' - params = ua.HistoryReadParameters() params.HistoryReadDetails = details params.TimestampsToReturn = ua.TimestampsToReturn.Both params.ReleaseContinuationPoints = False params.NodesToRead.append(valueid) - result = self.server.history_read(params)[0] - return result + return self.server.history_read(params)[0] - def delete(self, delete_references=True, recursive=False): + async def delete(self, delete_references=True, recursive=False): """ Delete node from address space """ - results = opcua.common.manage_nodes.delete_nodes(self.server, [self], recursive, delete_references) + results = await opcua.common.manage_nodes.delete_nodes(self.server, [self], recursive, delete_references) _check_results(results) def _fill_delete_reference_item(self, rdesc, bidirectional = False): @@ -591,36 +582,31 @@ def _fill_delete_reference_item(self, rdesc, bidirectional = False): ditem.DeleteBidirectional = bidirectional return ditem - def delete_reference(self, target, reftype, forward=True, bidirectional=True): + async def delete_reference(self, target, reftype, forward=True, bidirectional=True): """ Delete given node's references from address space """ - known_refs = self.get_references(reftype, includesubtypes=False) + known_refs = await self.get_references(reftype, includesubtypes=False) targetid = _to_nodeid(target) - for r in known_refs: if r.NodeId == targetid and r.IsForward == forward: rdesc = r break else: raise ua.UaStatusCodeError(ua.StatusCodes.BadNotFound) - ditem = self._fill_delete_reference_item(rdesc, bidirectional) - self.server.delete_references([ditem])[0].check() + await self.server.delete_references([ditem])[0].check() - def add_reference(self, target, reftype, forward=True, bidirectional=True): + async def add_reference(self, target, reftype, forward=True, bidirectional=True): """ Add reference to node """ - aitem = ua.AddReferencesItem() aitem.SourceNodeId = self.nodeid aitem.TargetNodeId = _to_nodeid(target) aitem.ReferenceTypeId = _to_nodeid(reftype) aitem.IsForward = forward - params = [aitem] - if bidirectional: aitem2 = ua.AddReferencesItem() aitem2.SourceNodeId = aitem.TargetNodeId @@ -628,37 +614,38 @@ def add_reference(self, target, reftype, forward=True, bidirectional=True): aitem2.ReferenceTypeId = aitem.ReferenceTypeId aitem2.IsForward = not forward params.append(aitem2) - - results = self.server.add_references(params) + results = await self.server.add_references(params) _check_results(results, len(params)) - def _add_modelling_rule(self, parent, mandatory=True): - if mandatory is not None and parent.get_node_class() == ua.NodeClass.ObjectType: + async def _add_modelling_rule(self, parent, mandatory=True): + if mandatory is not None and await parent.get_node_class() == ua.NodeClass.ObjectType: rule=ua.ObjectIds.ModellingRule_Mandatory if mandatory else ua.ObjectIds.ModellingRule_Optional - self.add_reference(rule, ua.ObjectIds.HasModellingRule, True, False) + await self.add_reference(rule, ua.ObjectIds.HasModellingRule, True, False) return self - def set_modelling_rule(self, mandatory): - parent = self.get_parent() + async def set_modelling_rule(self, mandatory): + parent = await self.get_parent() if parent is None: return ua.StatusCode(ua.StatusCodes.BadParentNodeIdInvalid) - if parent.get_node_class() != ua.NodeClass.ObjectType: + if await parent.get_node_class() != ua.NodeClass.ObjectType: return ua.StatusCode(ua.StatusCodes.BadTypeMismatch) # remove all existing modelling rule rules = self.get_references(ua.ObjectIds.HasModellingRule) - self.server.delete_references(list(map(self._fill_delete_reference_item, rules))) - + await self.server.delete_references(list(map(self._fill_delete_reference_item, rules))) self._add_modelling_rule(parent, mandatory) return ua.StatusCode() - def add_folder(self, nodeid, bname): - return opcua.common.manage_nodes.create_folder(self, nodeid, bname)._add_modelling_rule(self) + async def add_folder(self, nodeid, bname): + folder = await opcua.common.manage_nodes.create_folder(self, nodeid, bname) + return await folder._add_modelling_rule(self) - def add_object(self, nodeid, bname, objecttype=None): - return opcua.common.manage_nodes.create_object(self, nodeid, bname, objecttype)._add_modelling_rule(self) + async def add_object(self, nodeid, bname, objecttype=None): + obj = await opcua.common.manage_nodes.create_object(self, nodeid, bname, objecttype) + return await obj._add_modelling_rule(self) - def add_variable(self, nodeid, bname, val, varianttype=None, datatype=None): - return opcua.common.manage_nodes.create_variable(self, nodeid, bname, val, varianttype, datatype)._add_modelling_rule(self) + async def add_variable(self, nodeid, bname, val, varianttype=None, datatype=None): + var = await opcua.common.manage_nodes.create_variable(self, nodeid, bname, val, varianttype, datatype) + return await var._add_modelling_rule(self) def add_object_type(self, nodeid, bname): return opcua.common.manage_nodes.create_object_type(self, nodeid, bname) @@ -669,11 +656,13 @@ def add_variable_type(self, nodeid, bname, datatype): def add_data_type(self, nodeid, bname, description=None): return opcua.common.manage_nodes.create_data_type(self, nodeid, bname, description=None) - def add_property(self, nodeid, bname, val, varianttype=None, datatype=None): - return opcua.common.manage_nodes.create_property(self, nodeid, bname, val, varianttype, datatype)._add_modelling_rule(self) + async def add_property(self, nodeid, bname, val, varianttype=None, datatype=None): + prop = await opcua.common.manage_nodes.create_property(self, nodeid, bname, val, varianttype, datatype) + return await prop._add_modelling_rule(self) - def add_method(self, *args): - return opcua.common.manage_nodes.create_method(self, *args)._add_modelling_rule(self) + async def add_method(self, *args): + method = await opcua.common.manage_nodes.create_method(self, *args) + return await method._add_modelling_rule(self) def add_reference_type(self, nodeid, bname, symmetric=True, inversename=None): return opcua.common.manage_nodes.create_reference_type(self, nodeid, bname, symmetric, inversename) diff --git a/opcua/server/address_space.py b/opcua/server/address_space.py index f40425c62..05872a3ea 100644 --- a/opcua/server/address_space.py +++ b/opcua/server/address_space.py @@ -1,12 +1,11 @@ -from threading import RLock + +import pickle +import shelve +import asyncio import logging -from datetime import datetime import collections -import shelve -try: - import cPickle as pickle -except: - import pickle +from threading import RLock +from datetime import datetime from opcua import ua from opcua.server.users import User @@ -550,10 +549,9 @@ def make_aspace_shelf(self, path): Note: Intended for slow devices, such as Raspberry Pi, to greatly improve start up time """ - s = shelve.open(path, "n", protocol=pickle.HIGHEST_PROTOCOL) - for nodeid, ndata in self._nodes.items(): - s[nodeid.to_string()] = ndata - s.close() + with shelve.open(path, 'n', protocol=pickle.HIGHEST_PROTOCOL) as s: + for nodeid, ndata in self._nodes.items(): + s[nodeid.to_string()] = ndata def load_aspace_shelf(self, path): """ @@ -562,6 +560,8 @@ def load_aspace_shelf(self, path): Note: Intended for slow devices, such as Raspberry Pi, to greatly improve start up time """ + raise NotImplementedError + # ToDo: async friendly implementation - load all at once? class LazyLoadingDict(collections.MutableMapping): """ Special dict that only loads nodes as they are accessed. If a node is accessed it gets copied from the diff --git a/opcua/server/internal_server.py b/opcua/server/internal_server.py index 2cd2ec5cc..05ce84a37 100644 --- a/opcua/server/internal_server.py +++ b/opcua/server/internal_server.py @@ -3,7 +3,6 @@ Can be used on server side or to implement binary/https opc-ua servers """ - import os import asyncio import logging @@ -41,7 +40,7 @@ def __init__(self, serv, cap=None): class InternalServer(object): - def __init__(self, shelffile=None): + def __init__(self): self.logger = logging.getLogger(__name__) self.server_callback_dispatcher = CallbackDispatcher() self.endpoints = [] @@ -54,21 +53,18 @@ def __init__(self, shelffile=None): self.view_service = ViewService(self.aspace) self.method_service = MethodService(self.aspace) self.node_mgt_service = NodeManagementService(self.aspace) - self.load_standard_address_space(shelffile) self.loop = asyncio.get_event_loop() self.asyncio_transports = [] self.subscription_service = SubscriptionService(self.loop, self.aspace) self.history_manager = HistoryManager(self) - # create a session to use on server side self.isession = InternalSession(self, self.aspace, self.subscription_service, "Internal", user=User.Admin) - self.current_time_node = Node(self.isession, ua.NodeId(ua.ObjectIds.Server_ServerStatus_CurrentTime)) - self._address_space_fixes() - self.setup_nodes() - async def init(self): - pass + async def init(self, shelffile=None): + await self.load_standard_address_space(shelffile) + await self._address_space_fixes() + await self.setup_nodes() async def setup_nodes(self): """ @@ -78,35 +74,34 @@ async def setup_nodes(self): ns_node = Node(self.isession, ua.NodeId(ua.ObjectIds.Server_NamespaceArray)) await ns_node.set_value(uries) - def load_standard_address_space(self, shelffile=None): - if shelffile is not None and os.path.isfile(shelffile): - # import address space from shelf - self.aspace.load_aspace_shelf(shelffile) - else: - # import address space from code generated from xml - standard_address_space.fill_address_space(self.node_mgt_service) - # import address space directly from xml, this has performance impact so disabled - # importer = xmlimporter.XmlImporter(self.node_mgt_service) - # importer.import_xml("/path/to/python-opcua/schemas/Opc.Ua.NodeSet2.xml", self) - - # if a cache file was supplied a shelve of the standard address space can now be built for next start up - if shelffile: - self.aspace.make_aspace_shelf(shelffile) + async def load_standard_address_space(self, shelf_file=None): + if shelf_file is not None: + is_file = await self.loop.run_in_executor(None, os.path.isfile, shelf_file) + if is_file: + # import address space from shelf + await self.loop.run_in_executor(None, self.aspace.load_aspace_shelf, shelf_file) + return + # import address space from code generated from xml + standard_address_space.fill_address_space(self.node_mgt_service) + # import address space directly from xml, this has performance impact so disabled + # importer = xmlimporter.XmlImporter(self.node_mgt_service) + # importer.import_xml("/path/to/python-opcua/schemas/Opc.Ua.NodeSet2.xml", self) + if shelf_file: + # path was supplied, but file doesn't exist - create one for next start up + await self.loop.run_in_executor(None, self.aspace.make_aspace_shelf, shelf_file) def _address_space_fixes(self): """ Looks like the xml definition of address space has some error. This is a good place to fix them """ - it = ua.AddReferencesItem() it.SourceNodeId = ua.NodeId(ua.ObjectIds.BaseObjectType) it.ReferenceTypeId = ua.NodeId(ua.ObjectIds.Organizes) it.IsForward = False it.TargetNodeId = ua.NodeId(ua.ObjectIds.ObjectTypesFolder) it.TargetNodeClass = ua.NodeClass.Object + return self.isession.add_references([it]) - results = self.isession.add_references([it]) - def load_address_space(self, path): """ Load address space from path @@ -119,12 +114,12 @@ def dump_address_space(self, path): """ self.aspace.dump(path) - def start(self): + async def start(self): self.logger.info('starting internal server') for edp in self.endpoints: self._known_servers[edp.Server.ApplicationUri] = ServerDesc(edp.Server) - Node(self.isession, ua.NodeId(ua.ObjectIds.Server_ServerStatus_State)).set_value(0, ua.VariantType.Int32) - Node(self.isession, ua.NodeId(ua.ObjectIds.Server_ServerStatus_StartTime)).set_value(datetime.utcnow()) + await Node(self.isession, ua.NodeId(ua.ObjectIds.Server_ServerStatus_State)).set_value(0, ua.VariantType.Int32) + await Node(self.isession, ua.NodeId(ua.ObjectIds.Server_ServerStatus_StartTime)).set_value(datetime.utcnow()) if not self.disabled_clock: self._set_current_time() @@ -134,7 +129,9 @@ def stop(self): self.history_manager.stop() def _set_current_time(self): - self.current_time_node.set_value(datetime.utcnow()) + self.loop.create_task( + self.current_time_node.set_value(datetime.utcnow()) + ) self.loop.call_later(1, self._set_current_time) def get_new_channel_id(self): @@ -305,47 +302,47 @@ def activate_session(self, params): self.logger.info('Activated internal session %s for user %s', self.name, self.user) return result - def read(self, params): + async def read(self, params): results = self.iserver.attribute_service.read(params) if self.external: return results return [deepcopy(dv) for dv in results] - def history_read(self, params): + async def history_read(self, params): return self.iserver.history_manager.read_history(params) - def write(self, params): + async def write(self, params): if not self.external: # If session is internal we need to store a copy og object, not a reference, # otherwise users may change it and we will not generate expected events params.NodesToWrite = [deepcopy(ntw) for ntw in params.NodesToWrite] return self.iserver.attribute_service.write(params, self.user) - def browse(self, params): + async def browse(self, params): return self.iserver.view_service.browse(params) - def translate_browsepaths_to_nodeids(self, params): + async def translate_browsepaths_to_nodeids(self, params): return self.iserver.view_service.translate_browsepaths_to_nodeids(params) - def add_nodes(self, params): + async def add_nodes(self, params): return self.iserver.node_mgt_service.add_nodes(params, self.user) - def delete_nodes(self, params): + async def delete_nodes(self, params): return self.iserver.node_mgt_service.delete_nodes(params, self.user) - def add_references(self, params): + async def add_references(self, params): return self.iserver.node_mgt_service.add_references(params, self.user) - def delete_references(self, params): + async def delete_references(self, params): return self.iserver.node_mgt_service.delete_references(params, self.user) - def add_method_callback(self, methodid, callback): + async def add_method_callback(self, methodid, callback): return self.aspace.add_method_callback(methodid, callback) def call(self, params): return self.iserver.method_service.call(params) - def create_subscription(self, params, callback): + async def create_subscription(self, params, callback): result = self.subscription_service.create_subscription(params, callback) self.subscriptions.append(result.SubscriptionId) return result diff --git a/opcua/server/server.py b/opcua/server/server.py index ba4bc5193..de265690d 100644 --- a/opcua/server/server.py +++ b/opcua/server/server.py @@ -72,7 +72,8 @@ class Server: :vartype nodes: Shortcuts """ - def __init__(self, shelffile=None, iserver=None): + def __init__(self, iserver=None): + self.loop = asyncio.get_event_loop() self.logger = logging.getLogger(__name__) self.endpoint = urlparse('opc.tcp://0.0.0.0:4840/freeopcua/server/') self.application_uri = 'urn:freeopcua:python:server' @@ -83,7 +84,7 @@ def __init__(self, shelffile=None, iserver=None): if iserver is not None: self.iserver = iserver else: - self.iserver = InternalServer(shelffile) + self.iserver = InternalServer() self.bserver = None self._discovery_clients = {} self._discovery_period = 60 @@ -91,16 +92,19 @@ def __init__(self, shelffile=None, iserver=None): self.private_key = None self._policies = [] self.nodes = Shortcuts(self.iserver.isession) + + async def init(self, shelf_file=None): + await self.iserver.init(shelf_file) # setup some expected values sa_node = self.get_node(ua.NodeId(ua.ObjectIds.Server_ServerArray)) - sa_node.set_value([self.application_uri]) + await sa_node.set_value([self.application_uri]) - def __aenter__(self): - self.start() + async def __aenter__(self): + await self.start() return self - def __aexit__(self, exc_type, exc_value, traceback): - self.stop() + async def __aexit__(self, exc_type, exc_value, traceback): + await self.stop() async def load_certificate(self, path): """ @@ -154,7 +158,7 @@ def register_to_discovery(self, url="opc.tcp://localhost:4840", period=60): self._discovery_clients[url].register_server(self) self._discovery_period = period if period: - self.iserver.loop.call_soon(self._renew_registration) + self.loop.call_soon(self._renew_registration) def unregister_to_discovery(self, url="opc.tcp://localhost:4840"): """ @@ -166,15 +170,7 @@ def unregister_to_discovery(self, url="opc.tcp://localhost:4840"): def _renew_registration(self): for client in self._discovery_clients.values(): client.register_server(self) - self.iserver.loop.call_later(self._discovery_period, self._renew_registration) - - def get_client_to_discovery(self, url="opc.tcp://localhost:4840"): - """ - Create a client to discovery server and return it - """ - client = Client(url) - client.connect() - return client + self.loop.call_later(self._discovery_period, self._renew_registration) def allow_remote_admin(self, allow): """ @@ -188,9 +184,9 @@ def set_endpoint(self, url): def get_endpoints(self): return self.iserver.get_endpoints() - def _setup_server_nodes(self): + async def _setup_server_nodes(self): # to be called just before starting server since it needs all parameters to be setup - self.register_namespace(self.application_uri) + await self.register_namespace(self.application_uri) self._set_endpoints() self._policies = [ua.SecurityPolicyFactory()] if self.certificate and self.private_key: @@ -275,8 +271,8 @@ async def start(self): """ Start to listen on network """ - self._setup_server_nodes() - self.iserver.start() + await self._setup_server_nodes() + await self.iserver.start() try: self.bserver = BinaryServer(self.iserver, self.endpoint.hostname, self.endpoint.port) self.bserver.set_policies(self._policies) @@ -351,7 +347,7 @@ async def register_namespace(self, uri): if uri in uries: return uries.index(uri) uries.append(uri) - ns_node.set_value(uries) + await ns_node.set_value(uries) return len(uries) - 1 async def get_namespace_index(self, uri): @@ -403,29 +399,28 @@ def create_custom_variable_type(self, idx, name, basetype=ua.ObjectIds.BaseVaria methods = [] return self._create_custom_type(idx, name, basetype, properties, variables, methods) - def _create_custom_type(self, idx, name, basetype, properties, variables, methods): + async def _create_custom_type(self, idx, name, basetype, properties, variables, methods): if isinstance(basetype, Node): base_t = basetype elif isinstance(basetype, ua.NodeId): base_t = Node(self.iserver.isession, basetype) else: base_t = Node(self.iserver.isession, ua.NodeId(basetype)) - - custom_t = base_t.add_object_type(idx, name) + custom_t = await base_t.add_object_type(idx, name) for prop in properties: datatype = None if len(prop) > 2: datatype = prop[2] - custom_t.add_property(idx, prop[0], ua.get_default_value(prop[1]), varianttype=prop[1], datatype=datatype) + await custom_t.add_property(idx, prop[0], ua.get_default_value(prop[1]), varianttype=prop[1], datatype=datatype) for variable in variables: datatype = None if len(variable) > 2: datatype = variable[2] - custom_t.add_variable( + await custom_t.add_variable( idx, variable[0], ua.get_default_value(variable[1]), varianttype=variable[1], datatype=datatype ) for method in methods: - custom_t.add_method(idx, method[0], method[1], method[2], method[3]) + await custom_t.add_method(idx, method[0], method[1], method[2], method[3]) return custom_t def import_xml(self, path): diff --git a/tests/test_client.py b/tests/test_client.py index 7256a589b..0573a67c3 100644 --- a/tests/test_client.py +++ b/tests/test_client.py @@ -34,8 +34,8 @@ async def client(): async def server(): # start our own server srv = Server() - await srv.set_endpoint(f'opc.tcp://127.0.0.1:{port_num1}') - add_server_methods(srv) + srv.set_endpoint(f'opc.tcp://127.0.0.1:{port_num1}') + await add_server_methods(srv) await srv.start() yield srv # stop the server diff --git a/tests/tests_common.py b/tests/tests_common.py index e51f95fe0..66e452681 100644 --- a/tests/tests_common.py +++ b/tests/tests_common.py @@ -15,14 +15,16 @@ from opcua.common.methods import call_method_full -def add_server_methods(srv): +async def add_server_methods(srv): @uamethod def func(parent, value): return value * 2 o = srv.get_objects_node() - v = o.add_method(ua.NodeId("ServerMethod", 2), ua.QualifiedName('ServerMethod', 2), func, [ua.VariantType.Int64], - [ua.VariantType.Int64]) + await o.add_method( + ua.NodeId("ServerMethod", 2), ua.QualifiedName('ServerMethod', 2), + func, [ua.VariantType.Int64], [ua.VariantType.Int64] + ) @uamethod def func2(parent, methodname, value): @@ -36,36 +38,40 @@ def func2(parent, methodname, value): return math.sin(value) o = srv.get_objects_node() - v = o.add_method(ua.NodeId("ServerMethodArray", 2), ua.QualifiedName('ServerMethodArray', 2), func2, - [ua.VariantType.String, ua.VariantType.Int64], [ua.VariantType.Int64]) + await o.add_method( + ua.NodeId("ServerMethodArray", 2), ua.QualifiedName('ServerMethodArray', 2), func2, + [ua.VariantType.String, ua.VariantType.Int64], [ua.VariantType.Int64] + ) @uamethod def func3(parent, mylist): return [i * 2 for i in mylist] o = srv.get_objects_node() - v = o.add_method(ua.NodeId("ServerMethodArray2", 2), ua.QualifiedName('ServerMethodArray2', 2), func3, - [ua.VariantType.Int64], [ua.VariantType.Int64]) + await o.add_method( + ua.NodeId("ServerMethodArray2", 2), ua.QualifiedName('ServerMethodArray2', 2), func3, + [ua.VariantType.Int64], [ua.VariantType.Int64] + ) @uamethod def func4(parent): return None base_otype = srv.get_node(ua.ObjectIds.BaseObjectType) - custom_otype = base_otype.add_object_type(2, 'ObjectWithMethodsType') - custom_otype.add_method(2, 'ServerMethodDefault', func4) - custom_otype.add_method(2, 'ServerMethodMandatory', func4).set_modelling_rule(True) - custom_otype.add_method(2, 'ServerMethodOptional', func4).set_modelling_rule(False) - custom_otype.add_method(2, 'ServerMethodNone', func4).set_modelling_rule(None) - o.add_object(2, 'ObjectWithMethods', custom_otype) + custom_otype = await base_otype.add_object_type(2, 'ObjectWithMethodsType') + await custom_otype.add_method(2, 'ServerMethodDefault', func4) + await custom_otype.add_method(2, 'ServerMethodMandatory', func4).set_modelling_rule(True) + await custom_otype.add_method(2, 'ServerMethodOptional', func4).set_modelling_rule(False) + await custom_otype.add_method(2, 'ServerMethodNone', func4).set_modelling_rule(None) + await o.add_object(2, 'ObjectWithMethods', custom_otype) @uamethod def func5(parent): return 1, 2, 3 o = srv.get_objects_node() - v = o.add_method(ua.NodeId("ServerMethodTuple", 2), ua.QualifiedName('ServerMethodTuple', 2), func5, [], - [ua.VariantType.Int64, ua.VariantType.Int64, ua.VariantType.Int64]) + await o.add_method(ua.NodeId("ServerMethodTuple", 2), ua.QualifiedName('ServerMethodTuple', 2), func5, [], + [ua.VariantType.Int64, ua.VariantType.Int64, ua.VariantType.Int64]) def _test_modelling_rules(test, parent, mandatory, result): @@ -274,23 +280,23 @@ def test_browse_references(self): folder = objects.add_folder(4, "folder") childs = objects.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Forward, - includesubtypes=False) + includesubtypes=False) self.assertTrue(folder in childs) childs = objects.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Both, - includesubtypes=False) + includesubtypes=False) self.assertTrue(folder in childs) childs = objects.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Inverse, - includesubtypes=False) + includesubtypes=False) self.assertFalse(folder in childs) parents = folder.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Inverse, - includesubtypes=False) + includesubtypes=False) self.assertTrue(objects in parents) parents = folder.get_referenced_nodes(refs=ua.ObjectIds.HierarchicalReferences, - direction=ua.BrowseDirection.Inverse, includesubtypes=False) + direction=ua.BrowseDirection.Inverse, includesubtypes=False) self.assertTrue(objects in parents) parent = folder.get_parent() @@ -336,7 +342,7 @@ def test_datetime_write(self): def test_variant_array_dim(self): objects = self.opc.get_objects_node() l = [[[1.0, 1.0, 1.0, 1.0], [2.0, 2.0, 2.0, 2.0], [3.0, 3.0, 3.0, 3.0]], - [[5.0, 5.0, 5.0, 5.0], [7.0, 8.0, 9.0, 01.0], [1.0, 1.0, 1.0, 1.0]]] + [[5.0, 5.0, 5.0, 5.0], [7.0, 8.0, 9.0, 01.0], [1.0, 1.0, 1.0, 1.0]]] v = objects.add_variable(3, 'variableWithDims', l) v.set_array_dimensions([0, 0, 0]) @@ -721,10 +727,10 @@ def test_references_for_added_nodes(self): objects = self.opc.get_objects_node() o = objects.add_object(3, 'MyObject') nodes = objects.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Forward, - includesubtypes=False) + includesubtypes=False) self.assertTrue(o in nodes) nodes = o.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Inverse, - includesubtypes=False) + includesubtypes=False) self.assertTrue(objects in nodes) self.assertEqual(o.get_parent(), objects) self.assertEqual(o.get_type_definition().Identifier, ua.ObjectIds.BaseObjectType) @@ -732,10 +738,10 @@ def test_references_for_added_nodes(self): o2 = o.add_object(3, 'MySecondObject') nodes = o.get_referenced_nodes(refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Forward, - includesubtypes=False) + includesubtypes=False) self.assertTrue(o2 in nodes) nodes = o2.get_referenced_nodes(refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Inverse, - includesubtypes=False) + includesubtypes=False) self.assertTrue(o in nodes) self.assertEqual(o2.get_parent(), o) self.assertEqual(o2.get_type_definition().Identifier, ua.ObjectIds.BaseObjectType) @@ -743,10 +749,10 @@ def test_references_for_added_nodes(self): v = o.add_variable(3, 'MyVariable', 6) nodes = o.get_referenced_nodes(refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Forward, - includesubtypes=False) + includesubtypes=False) self.assertTrue(v in nodes) nodes = v.get_referenced_nodes(refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Inverse, - includesubtypes=False) + includesubtypes=False) self.assertTrue(o in nodes) self.assertEqual(v.get_parent(), o) self.assertEqual(v.get_type_definition().Identifier, ua.ObjectIds.BaseDataVariableType) @@ -754,10 +760,10 @@ def test_references_for_added_nodes(self): p = o.add_property(3, 'MyProperty', 2) nodes = o.get_referenced_nodes(refs=ua.ObjectIds.HasProperty, direction=ua.BrowseDirection.Forward, - includesubtypes=False) + includesubtypes=False) self.assertTrue(p in nodes) nodes = p.get_referenced_nodes(refs=ua.ObjectIds.HasProperty, direction=ua.BrowseDirection.Inverse, - includesubtypes=False) + includesubtypes=False) self.assertTrue(o in nodes) self.assertEqual(p.get_parent(), o) self.assertEqual(p.get_type_definition().Identifier, ua.ObjectIds.PropertyType) @@ -784,7 +790,7 @@ def test_path(self): path = target.get_path() self.assertEqual( [self.opc.nodes.root, self.opc.nodes.types, self.opc.nodes.object_types, self.opc.nodes.base_object_type, - self.opc.nodes.folder_type, self.opc.get_node(ua.ObjectIds.FileDirectoryType), target], path) + self.opc.nodes.folder_type, self.opc.get_node(ua.ObjectIds.FileDirectoryType), target], path) def test_get_endpoints(self): endpoints = self.opc.get_endpoints() @@ -865,7 +871,7 @@ def test_instantiate_string_nodeid(self): # instanciate device nodes = instantiate(self.opc.nodes.objects, dev_t, nodeid=ua.NodeId("InstDevice", 2, ua.NodeIdType.String), - bname="2:InstDevice") + bname="2:InstDevice") mydevice = nodes[0] self.assertEqual(mydevice.get_node_class(), ua.NodeClass.Object) @@ -880,12 +886,12 @@ def test_instantiate_string_nodeid(self): def test_variable_with_datatype(self): v1 = self.opc.nodes.objects.add_variable(3, 'VariableEnumType1', ua.ApplicationType.ClientAndServer, - datatype=ua.NodeId(ua.ObjectIds.ApplicationType)) + datatype=ua.NodeId(ua.ObjectIds.ApplicationType)) tp1 = v1.get_data_type() self.assertEqual(ua.NodeId(ua.ObjectIds.ApplicationType), tp1) v2 = self.opc.nodes.objects.add_variable(3, 'VariableEnumType2', ua.ApplicationType.ClientAndServer, - datatype=ua.NodeId(ua.ObjectIds.ApplicationType)) + datatype=ua.NodeId(ua.ObjectIds.ApplicationType)) tp2 = v2.get_data_type() self.assertEqual(ua.NodeId(ua.ObjectIds.ApplicationType), tp2) @@ -894,8 +900,9 @@ def test_enum(self): enums = self.opc.get_root_node().get_child(["0:Types", "0:DataTypes", "0:BaseDataType", "0:Enumeration"]) myenum_type = enums.add_data_type(0, "MyEnum") es = myenum_type.add_variable(0, "EnumStrings", - [ua.LocalizedText("String0"), ua.LocalizedText("String1"), ua.LocalizedText("String2")], - ua.VariantType.LocalizedText) + [ua.LocalizedText("String0"), ua.LocalizedText("String1"), + ua.LocalizedText("String2")], + ua.VariantType.LocalizedText) # es.set_value_rank(1) # instantiate o = self.opc.get_objects_node() From b0168f54ccb12e41c535bd5f6bf4af0a4d831e56 Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Wed, 31 Jan 2018 17:29:59 +0100 Subject: [PATCH 029/113] [ADD] refactor server --- examples/server-minimal.py | 15 +++++- opcua/common/copy_node.py | 39 +++++++------- opcua/common/instantiate.py | 44 +++++++++------- opcua/common/manage_nodes.py | 76 +++++++++++++++++---------- opcua/common/node.py | 8 +-- opcua/common/protocol.py | 62 ++++++++++++++++++++++ opcua/common/ua_utils.py | 1 - opcua/server/binary_server_asyncio.py | 7 +-- opcua/server/server.py | 7 ++- opcua/ua/ua_binary.py | 3 +- pytest.ini | 4 ++ tests/test_client.py | 1 + tests/tests_common.py | 6 +-- 13 files changed, 187 insertions(+), 86 deletions(-) create mode 100644 opcua/common/protocol.py create mode 100644 pytest.ini diff --git a/examples/server-minimal.py b/examples/server-minimal.py index d4dab347b..d837dfc83 100644 --- a/examples/server-minimal.py +++ b/examples/server-minimal.py @@ -1,22 +1,35 @@ import asyncio from opcua import ua, Server +from opcua.common.methods import uamethod + + +@uamethod +def func(parent, value): + return value * 2 async def task(loop): # setup our server server = Server() await server.init() - server.set_endpoint('opc.tcp://0.0.0.0:4840/freeopcua/server/') + server.set_endpoint('opc.tcp://127.0.0.1:8080/freeopcua/server/') #4840 # setup our own namespace, not really necessary but should as spec uri = 'http://examples.freeopcua.github.io' idx = await server.register_namespace(uri) # get Objects node, this is where we should put our nodes objects = server.get_objects_node() + # populating our address space myobj = await objects.add_object(idx, 'MyObject') myvar = await myobj.add_variable(idx, 'MyVariable', 6.7) await myvar.set_writable() # Set MyVariable to be writable by clients + + await objects.add_method( + ua.NodeId("ServerMethod", 2), ua.QualifiedName('ServerMethod', 2), + func, [ua.VariantType.Int64], [ua.VariantType.Int64] + ) + # starting! async with server: count = 0 diff --git a/opcua/common/copy_node.py b/opcua/common/copy_node.py index 216005797..d66129d17 100644 --- a/opcua/common/copy_node.py +++ b/opcua/common/copy_node.py @@ -7,19 +7,18 @@ logger = logging.getLogger(__name__) -def copy_node(parent, node, nodeid=None, recursive=True): +async def copy_node(parent, node, nodeid=None, recursive=True): """ Copy a node or node tree as child of parent node """ - rdesc = _rdesc_from_node(parent, node) - + rdesc = await _rdesc_from_node(parent, node) if nodeid is None: nodeid = ua.NodeId(namespaceidx=node.nodeid.NamespaceIndex) added_nodeids = _copy_node(parent.server, parent.nodeid, rdesc, nodeid, recursive) return [Node(parent.server, nid) for nid in added_nodeids] -def _copy_node(server, parent_nodeid, rdesc, nodeid, recursive): +async def _copy_node(server, parent_nodeid, rdesc, nodeid, recursive): addnode = ua.AddNodesItem() addnode.RequestedNewNodeId = nodeid addnode.BrowseName = rdesc.BrowseName @@ -27,18 +26,13 @@ def _copy_node(server, parent_nodeid, rdesc, nodeid, recursive): addnode.ReferenceTypeId = rdesc.ReferenceTypeId addnode.TypeDefinition = rdesc.TypeDefinition addnode.NodeClass = rdesc.NodeClass - node_to_copy = Node(server, rdesc.NodeId) - - attrObj = getattr(ua, rdesc.NodeClass.name + "Attributes") - _read_and_copy_attrs(node_to_copy, attrObj(), addnode) - - res = server.add_nodes([addnode])[0] - + attr_obj = getattr(ua, rdesc.NodeClass.name + "Attributes") + await _read_and_copy_attrs(node_to_copy, attr_obj(), addnode) + res = await server.add_nodes([addnode])[0] added_nodes = [res.AddedNodeId] - if recursive: - descs = node_to_copy.get_children_descriptions() + descs = await node_to_copy.get_children_descriptions() for desc in descs: nodes = _copy_node(server, res.AddedNodeId, desc, nodeid=ua.NodeId(namespaceidx=desc.NodeId.NamespaceIndex), recursive=True) added_nodes.extend(nodes) @@ -46,30 +40,33 @@ def _copy_node(server, parent_nodeid, rdesc, nodeid, recursive): return added_nodes -def _rdesc_from_node(parent, node): - results = node.get_attributes([ua.AttributeIds.NodeClass, ua.AttributeIds.BrowseName, ua.AttributeIds.DisplayName]) +async def _rdesc_from_node(parent, node): + results = await node.get_attributes([ + ua.AttributeIds.NodeClass, ua.AttributeIds.BrowseName, ua.AttributeIds.DisplayName, + ]) nclass, qname, dname = [res.Value.Value for res in results] - rdesc = ua.ReferenceDescription() rdesc.NodeId = node.nodeid rdesc.BrowseName = qname rdesc.DisplayName = dname rdesc.NodeClass = nclass - if parent.get_type_definition() == ua.NodeId(ua.ObjectIds.FolderType): + if await parent.get_type_definition() == ua.NodeId(ua.ObjectIds.FolderType): rdesc.ReferenceTypeId = ua.NodeId(ua.ObjectIds.Organizes) else: rdesc.ReferenceTypeId = ua.NodeId(ua.ObjectIds.HasComponent) - typedef = node.get_type_definition() + typedef = await node.get_type_definition() if typedef: rdesc.TypeDefinition = typedef return rdesc -def _read_and_copy_attrs(node_type, struct, addnode): - names = [name for name in struct.__dict__.keys() if not name.startswith("_") and name not in ("BodyLength", "TypeId", "SpecifiedAttributes", "Encoding", "IsAbstract", "EventNotifier")] +async def _read_and_copy_attrs(node_type, struct, addnode): + names = [name for name in struct.__dict__.keys() if not name.startswith("_") and name not in ( + "BodyLength", "TypeId", "SpecifiedAttributes", "Encoding", "IsAbstract", "EventNotifier", + )] attrs = [getattr(ua.AttributeIds, name) for name in names] for name in names: - results = node_type.get_attributes(attrs) + results = await node_type.get_attributes(attrs) for idx, name in enumerate(names): if results[idx].StatusCode.is_good(): if name == "Value": diff --git a/opcua/common/instantiate.py b/opcua/common/instantiate.py index 5eb54e411..1ac37b2ed 100644 --- a/opcua/common/instantiate.py +++ b/opcua/common/instantiate.py @@ -14,14 +14,14 @@ logger = logging.getLogger(__name__) -def instantiate(parent, node_type, nodeid=None, bname=None, dname=None, idx=0): +async def instantiate(parent, node_type, nodeid=None, bname=None, dname=None, idx=0): """ instantiate a node type under a parent node. nodeid and browse name of new node can be specified, or just namespace index If they exists children of the node type, such as components, variables and properties are also instantiated """ - rdesc = _rdesc_from_node(parent, node_type) + rdesc = await _rdesc_from_node(parent, node_type) rdesc.TypeDefinition = node_type.nodeid if nodeid is None: @@ -31,11 +31,14 @@ def instantiate(parent, node_type, nodeid=None, bname=None, dname=None, idx=0): elif isinstance(bname, str): bname = ua.QualifiedName.from_string(bname) - nodeids = _instantiate_node(parent.server, Node(parent.server, rdesc.NodeId), parent.nodeid, rdesc, nodeid, bname, dname=dname, toplevel=True) + nodeids = await _instantiate_node( + parent.server, + Node(parent.server, rdesc.NodeId), parent.nodeid, rdesc, nodeid, bname, dname=dname, toplevel=True + ) return [Node(parent.server, nid) for nid in nodeids] -def _instantiate_node(server, node_type, parentid, rdesc, nodeid, bname, dname=None, recursive=True, toplevel=False): +async def _instantiate_node(server, node_type, parentid, rdesc, nodeid, bname, dname=None, recursive=True, toplevel=False): """ instantiate a node type under parent """ @@ -48,38 +51,36 @@ def _instantiate_node(server, node_type, parentid, rdesc, nodeid, bname, dname=N if rdesc.NodeClass in (ua.NodeClass.Object, ua.NodeClass.ObjectType): addnode.NodeClass = ua.NodeClass.Object - _read_and_copy_attrs(node_type, ua.ObjectAttributes(), addnode) + await _read_and_copy_attrs(node_type, ua.ObjectAttributes(), addnode) elif rdesc.NodeClass in (ua.NodeClass.Variable, ua.NodeClass.VariableType): addnode.NodeClass = ua.NodeClass.Variable - _read_and_copy_attrs(node_type, ua.VariableAttributes(), addnode) + await _read_and_copy_attrs(node_type, ua.VariableAttributes(), addnode) elif rdesc.NodeClass in (ua.NodeClass.Method,): addnode.NodeClass = ua.NodeClass.Method - _read_and_copy_attrs(node_type, ua.MethodAttributes(), addnode) + await _read_and_copy_attrs(node_type, ua.MethodAttributes(), addnode) elif rdesc.NodeClass in (ua.NodeClass.DataType,): addnode.NodeClass = ua.NodeClass.DataType - _read_and_copy_attrs(node_type, ua.DataTypeAttributes(), addnode) + await _read_and_copy_attrs(node_type, ua.DataTypeAttributes(), addnode) else: logger.error("Instantiate: Node class not supported: %s", rdesc.NodeClass) raise RuntimeError("Instantiate: Node class not supported") - return if dname is not None: addnode.NodeAttributes.DisplayName = dname - res = server.add_nodes([addnode])[0] + res = (await server.add_nodes([addnode]))[0] added_nodes = [res.AddedNodeId] if recursive: - parents = ua_utils.get_node_supertypes(node_type, includeitself=True) + parents = await ua_utils.get_node_supertypes(node_type, includeitself=True) node = Node(server, res.AddedNodeId) for parent in parents: - descs = parent.get_children_descriptions(includesubtypes=False) + descs = await parent.get_children_descriptions(includesubtypes=False) for c_rdesc in descs: # skip items that already exists, prefer the 'lowest' one in object hierarchy - if not ua_utils.is_child_present(node, c_rdesc.BrowseName): - + if not await ua_utils.is_child_present(node, c_rdesc.BrowseName): c_node_type = Node(server, c_rdesc.NodeId) - refs = c_node_type.get_referenced_nodes(refs=ua.ObjectIds.HasModellingRule) + refs = await c_node_type.get_referenced_nodes(refs=ua.ObjectIds.HasModellingRule) # exclude nodes without ModellingRule at top-level if toplevel and len(refs) == 0: continue @@ -87,13 +88,18 @@ def _instantiate_node(server, node_type, parentid, rdesc, nodeid, bname, dname=N if len(refs) == 1 and refs[0].nodeid == ua.NodeId(ua.ObjectIds.ModellingRule_Optional): logger.info("Will not instantiate optional node %s as part of %s", c_rdesc.BrowseName, addnode.BrowseName) continue - # if root node being instantiated has a String NodeId, create the children with a String NodeId if res.AddedNodeId.NodeIdType is ua.NodeIdType.String: inst_nodeid = res.AddedNodeId.Identifier + "." + c_rdesc.BrowseName.Name - nodeids = _instantiate_node(server, c_node_type, res.AddedNodeId, c_rdesc, nodeid=ua.NodeId(identifier=inst_nodeid, namespaceidx=res.AddedNodeId.NamespaceIndex), bname=c_rdesc.BrowseName) + nodeids = await _instantiate_node( + server, c_node_type, res.AddedNodeId, c_rdesc, + nodeid=ua.NodeId(identifier=inst_nodeid, namespaceidx=res.AddedNodeId.NamespaceIndex), + bname=c_rdesc.BrowseName + ) else: - nodeids = _instantiate_node(server, c_node_type, res.AddedNodeId, c_rdesc, nodeid=ua.NodeId(namespaceidx=res.AddedNodeId.NamespaceIndex), bname=c_rdesc.BrowseName) + nodeids = await _instantiate_node( + server, c_node_type, res.AddedNodeId, c_rdesc, + nodeid=ua.NodeId(namespaceidx=res.AddedNodeId.NamespaceIndex), bname=c_rdesc.BrowseName + ) added_nodes.extend(nodeids) - return added_nodes diff --git a/opcua/common/manage_nodes.py b/opcua/common/manage_nodes.py index 16a294307..e28506f94 100644 --- a/opcua/common/manage_nodes.py +++ b/opcua/common/manage_nodes.py @@ -1,10 +1,17 @@ """ High level functions to create nodes """ +import logging from opcua import ua from opcua.common import node from opcua.common.instantiate import instantiate +_logger = logging.getLogger(__name__) +__all__ = [ + 'create_folder', 'create_object', 'create_property', 'create_variable', 'create_variable_type', + 'create_reference_type', 'create_object_type', 'create_method', 'create_data_type', 'delete_nodes' +] + def _parse_nodeid_qname(*args): try: @@ -28,7 +35,10 @@ def _parse_nodeid_qname(*args): except ua.UaError: raise except Exception as ex: - raise TypeError("This method takes either a namespace index and a string as argument or a nodeid and a qualifiedname. Received arguments {0} and got exception {1}".format(args, ex)) + raise TypeError( + "This method takes either a namespace index and a string as argument or a nodeid and a qualifiedname. Received arguments {0} and got exception {1}".format( + args, ex) + ) async def create_folder(parent, nodeid, bname): @@ -55,8 +65,8 @@ async def create_object(parent, nodeid, bname, objecttype=None): if objecttype is not None: objecttype = node.Node(parent.server, objecttype) dname = ua.LocalizedText(bname) - nodes = instantiate(parent, objecttype, nodeid, bname=qname, dname=dname)[0] - return nodes + nodes = await instantiate(parent, objecttype, nodeid, bname=qname, dname=dname) + return nodes[0] else: return node.Node( parent.server, @@ -64,7 +74,7 @@ async def create_object(parent, nodeid, bname, objecttype=None): ) -def create_property(parent, nodeid, bname, val, varianttype=None, datatype=None): +async def create_property(parent, nodeid, bname, val, varianttype=None, datatype=None): """ create a child node property args are nodeid, browsename, value, [variant type] @@ -76,7 +86,10 @@ def create_property(parent, nodeid, bname, val, varianttype=None, datatype=None) datatype = ua.NodeId(datatype, 0) if datatype and not isinstance(datatype, ua.NodeId): raise RuntimeError("datatype argument must be a nodeid or an int refering to a nodeid") - return node.Node(parent.server, _create_variable(parent.server, parent.nodeid, nodeid, qname, var, datatype=datatype, isproperty=True)) + return node.Node( + parent.server, + await _create_variable(parent.server, parent.nodeid, nodeid, qname, var, datatype=datatype, isproperty=True) + ) async def create_variable(parent, nodeid, bname, val, varianttype=None, datatype=None): @@ -108,21 +121,25 @@ async def create_variable_type(parent, nodeid, bname, datatype): if datatype and isinstance(datatype, int): datatype = ua.NodeId(datatype, 0) if datatype and not isinstance(datatype, ua.NodeId): - raise RuntimeError("Data type argument must be a nodeid or an int refering to a nodeid, received: {}".format(datatype)) + raise RuntimeError( + "Data type argument must be a nodeid or an int refering to a nodeid, received: {}".format(datatype)) return node.Node( parent.server, await _create_variable_type(parent.server, parent.nodeid, nodeid, qname, datatype) ) -def create_reference_type(parent, nodeid, bname, symmetric=True, inversename=None): +async def create_reference_type(parent, nodeid, bname, symmetric=True, inversename=None): """ Create a new reference type args are nodeid and browsename or idx and name """ nodeid, qname = _parse_nodeid_qname(nodeid, bname) - return node.Node(parent.server, _create_reference_type(parent.server, parent.nodeid, nodeid, qname, symmetric, inversename)) + return node.Node( + parent.server, + await _create_reference_type(parent.server, parent.nodeid, nodeid, qname, symmetric, inversename) + ) async def create_object_type(parent, nodeid, bname): @@ -144,6 +161,7 @@ async def create_method(parent, *args): if argument types is specified, child nodes advertising what arguments the method uses and returns will be created a callback is a method accepting the nodeid of the parent as first argument and variants after. returns a list of variants """ + _logger.info('create_method %r', parent) nodeid, qname = _parse_nodeid_qname(*args[:2]) callback = args[2] if len(args) > 3: @@ -183,7 +201,7 @@ async def _create_object(server, parentnodeid, nodeid, qname, objecttype): return results[0].AddedNodeId -def _create_reference_type(server, parentnodeid, nodeid, qname, symmetric, inversename): +async def _create_reference_type(server, parentnodeid, nodeid, qname, symmetric, inversename): addnode = ua.AddNodesItem() addnode.RequestedNewNodeId = nodeid addnode.BrowseName = qname @@ -199,7 +217,7 @@ def _create_reference_type(server, parentnodeid, nodeid, qname, symmetric, inver attrs.UserWriteMask = 0 addnode.NodeAttributes = attrs - results = server.add_nodes([addnode]) + results = await server.add_nodes([addnode]) results[0].StatusCode.check() return results[0].AddedNodeId @@ -268,7 +286,7 @@ async def _create_variable_type(server, parentnodeid, nodeid, qname, datatype, v addnode.NodeClass = ua.NodeClass.VariableType addnode.ParentNodeId = parentnodeid addnode.ReferenceTypeId = ua.NodeId(ua.ObjectIds.HasSubtype) - #addnode.TypeDefinition = ua.NodeId(ua.ObjectIds.BaseDataVariableType) + # addnode.TypeDefinition = ua.NodeId(ua.ObjectIds.BaseDataVariableType) attrs = ua.VariableTypeAttributes() attrs.Description = ua.LocalizedText(qname.Name) attrs.DisplayName = ua.LocalizedText(qname.Name) @@ -280,7 +298,7 @@ async def _create_variable_type(server, parentnodeid, nodeid, qname, datatype, v attrs.ValueRank = ua.ValueRank.OneDimension else: attrs.ValueRank = ua.ValueRank.Scalar - #attrs.ArrayDimensions = None + # attrs.ArrayDimensions = None attrs.WriteMask = 0 attrs.UserWriteMask = 0 addnode.NodeAttributes = attrs @@ -303,7 +321,7 @@ async def create_data_type(parent, nodeid, bname, description=None): addnode.NodeClass = ua.NodeClass.DataType addnode.ParentNodeId = parent.nodeid addnode.ReferenceTypeId = ua.NodeId(ua.ObjectIds.HasSubtype) - #addnode.TypeDefinition = ua.NodeId(ua.ObjectIds.BaseDataVariableType) # No type definition for types + # addnode.TypeDefinition = ua.NodeId(ua.ObjectIds.BaseDataVariableType) # No type definition for types attrs = ua.DataTypeAttributes() if description is None: attrs.Description = ua.LocalizedText(qname.Name) @@ -326,7 +344,7 @@ async def _create_method(parent, nodeid, qname, callback, inputs, outputs): addnode.NodeClass = ua.NodeClass.Method addnode.ParentNodeId = parent.nodeid addnode.ReferenceTypeId = ua.NodeId(ua.ObjectIds.HasComponent) - #node.TypeDefinition = ua.NodeId(ua.ObjectIds.BaseObjectType) + # node.TypeDefinition = ua.NodeId(ua.ObjectIds.BaseObjectType) attrs = ua.MethodAttributes() attrs.Description = ua.LocalizedText(qname.Name) attrs.DisplayName = ua.LocalizedText(qname.Name) @@ -339,19 +357,23 @@ async def _create_method(parent, nodeid, qname, callback, inputs, outputs): results[0].StatusCode.check() method = node.Node(parent.server, results[0].AddedNodeId) if inputs: - create_property(method, - ua.NodeId(namespaceidx=method.nodeid.NamespaceIndex), - ua.QualifiedName("InputArguments", 0), - [_vtype_to_argument(vtype) for vtype in inputs], - varianttype=ua.VariantType.ExtensionObject, - datatype=ua.ObjectIds.Argument) + await create_property( + method, + ua.NodeId(namespaceidx=method.nodeid.NamespaceIndex), + ua.QualifiedName("InputArguments", 0), + [_vtype_to_argument(vtype) for vtype in inputs], + varianttype=ua.VariantType.ExtensionObject, + datatype=ua.ObjectIds.Argument + ) if outputs: - create_property(method, - ua.NodeId(namespaceidx=method.nodeid.NamespaceIndex), - ua.QualifiedName("OutputArguments", 0), - [_vtype_to_argument(vtype) for vtype in outputs], - varianttype=ua.VariantType.ExtensionObject, - datatype=ua.ObjectIds.Argument) + await create_property( + method, + ua.NodeId(namespaceidx=method.nodeid.NamespaceIndex), + ua.QualifiedName("OutputArguments", 0), + [_vtype_to_argument(vtype) for vtype in outputs], + varianttype=ua.VariantType.ExtensionObject, + datatype=ua.ObjectIds.Argument + ) if hasattr(parent.server, "add_method_callback"): await parent.server.add_method_callback(method.nodeid, callback) return results[0].AddedNodeId @@ -407,5 +429,3 @@ def _add_childs(nodes): for mynode in nodes[:]: results += mynode.get_children() return results - - diff --git a/opcua/common/node.py b/opcua/common/node.py index ca7970f32..b26dcc7f9 100644 --- a/opcua/common/node.py +++ b/opcua/common/node.py @@ -573,7 +573,7 @@ async def delete(self, delete_references=True, recursive=False): results = await opcua.common.manage_nodes.delete_nodes(self.server, [self], recursive, delete_references) _check_results(results) - def _fill_delete_reference_item(self, rdesc, bidirectional = False): + def _fill_delete_reference_item(self, rdesc, bidirectional=False): ditem = ua.DeleteReferencesItem() ditem.SourceNodeId = self.nodeid ditem.TargetNodeId = rdesc.NodeId @@ -619,7 +619,7 @@ async def add_reference(self, target, reftype, forward=True, bidirectional=True) async def _add_modelling_rule(self, parent, mandatory=True): if mandatory is not None and await parent.get_node_class() == ua.NodeClass.ObjectType: - rule=ua.ObjectIds.ModellingRule_Mandatory if mandatory else ua.ObjectIds.ModellingRule_Optional + rule = ua.ObjectIds.ModellingRule_Mandatory if mandatory else ua.ObjectIds.ModellingRule_Optional await self.add_reference(rule, ua.ObjectIds.HasModellingRule, True, False) return self @@ -630,9 +630,9 @@ async def set_modelling_rule(self, mandatory): if await parent.get_node_class() != ua.NodeClass.ObjectType: return ua.StatusCode(ua.StatusCodes.BadTypeMismatch) # remove all existing modelling rule - rules = self.get_references(ua.ObjectIds.HasModellingRule) + rules = await self.get_references(ua.ObjectIds.HasModellingRule) await self.server.delete_references(list(map(self._fill_delete_reference_item, rules))) - self._add_modelling_rule(parent, mandatory) + await self._add_modelling_rule(parent, mandatory) return ua.StatusCode() async def add_folder(self, nodeid, bname): diff --git a/opcua/common/protocol.py b/opcua/common/protocol.py new file mode 100644 index 000000000..de65d6c6c --- /dev/null +++ b/opcua/common/protocol.py @@ -0,0 +1,62 @@ + +import asyncio + + +class UASocketProtocol(asyncio.Protocol): + """ + Handle socket connection and send ua messages. + Timeout is the timeout used while waiting for an ua answer from server. + """ + + def __init__(self, timeout=1, security_policy=ua.SecurityPolicy()): + self.logger = logging.getLogger(__name__ + ".UASocketProtocol") + self.loop = asyncio.get_event_loop() + self.transport = None + self.receive_buffer = asyncio.Queue() + self.is_receiving = False + self.timeout = timeout + self.authentication_token = ua.NodeId() + self._request_id = 0 + self._request_handle = 0 + self._callbackmap = {} + self._connection = SecureConnection(security_policy) + self._leftover_chunk = None + + def connection_made(self, transport: asyncio.Transport): + self.transport = transport + + def connection_lost(self, exc): + self.logger.info("Socket has closed connection") + self.transport = None + + def data_received(self, data: bytes): + self.receive_buffer.put_nowait(data) + if not self.is_receiving: + self.is_receiving = True + self.loop.create_task(self._receive()) + + async def read(self, size: int): + """Receive up to size bytes from socket.""" + data = b'' + self.logger.debug('read %s bytes from socket', size) + while size > 0: + self.logger.debug('data is now %s, waiting for %s bytes', len(data), size) + # ToDo: abort on timeout, socket close + # raise SocketClosedException("Server socket has closed") + if self._leftover_chunk: + self.logger.debug('leftover bytes %s', len(self._leftover_chunk)) + # use leftover chunk first + chunk = self._leftover_chunk + self._leftover_chunk = None + else: + chunk = await self.receive_buffer.get() + self.logger.debug('got chunk %s needed_length is %s', len(chunk), size) + if len(chunk) <= size: + _chunk = chunk + else: + # chunk is too big + _chunk = chunk[:size] + self._leftover_chunk = chunk[size:] + data += _chunk + size -= len(_chunk) + return data diff --git a/opcua/common/ua_utils.py b/opcua/common/ua_utils.py index 6ee84f211..05c58c756 100644 --- a/opcua/common/ua_utils.py +++ b/opcua/common/ua_utils.py @@ -192,7 +192,6 @@ async def is_child_present(node, browsename): for child_desc in child_descs: if child_desc.BrowseName == browsename: return True - return False diff --git a/opcua/server/binary_server_asyncio.py b/opcua/server/binary_server_asyncio.py index 565917792..89f34496a 100644 --- a/opcua/server/binary_server_asyncio.py +++ b/opcua/server/binary_server_asyncio.py @@ -19,6 +19,7 @@ class OPCUAProtocol(asyncio.Protocol): FIXME: find another solution """ def __init__(self, iserver=None, policies=None, clients=None): + self.loop = asyncio.get_event_loop() self.peer_name = None self.transport = None self.processor = None @@ -54,15 +55,15 @@ def data_received(self, data): if self.data: data = self.data + data self.data = b'' - self._process_data(data) + self.loop.create_task(self._process_data(data)) - def _process_data(self, data): + async def _process_data(self, data): buf = ua.utils.Buffer(data) while True: try: backup_buf = buf.copy() try: - hdr = uabin.header_from_binary(buf) + hdr = await uabin.header_from_binary(buf) except ua.utils.NotEnoughData: logger.info('We did not receive enough data from client, waiting for more') self.data = backup_buf.read(len(backup_buf)) diff --git a/opcua/server/server.py b/opcua/server/server.py index de265690d..731706e46 100644 --- a/opcua/server/server.py +++ b/opcua/server/server.py @@ -281,13 +281,12 @@ async def start(self): self.iserver.stop() raise exp - def stop(self): + async def stop(self): """ Stop server """ - for client in self._discovery_clients.values(): - client.disconnect() - self.bserver.stop() + await asyncio.wait([client.disconnect() for client in self._discovery_clients.values()]) + await self.bserver.stop() self.iserver.stop() def get_root_node(self): diff --git a/opcua/ua/ua_binary.py b/opcua/ua/ua_binary.py index 741841a94..dccb8af3f 100644 --- a/opcua/ua/ua_binary.py +++ b/opcua/ua/ua_binary.py @@ -505,8 +505,7 @@ def struct_from_binary(objtype, data): def header_to_binary(hdr): - b = [] - b.append(struct.pack("<3ss", hdr.MessageType, hdr.ChunkType)) + b = [struct.pack("<3ss", hdr.MessageType, hdr.ChunkType)] size = hdr.body_size + 8 if hdr.MessageType in (ua.MessageType.SecureOpen, ua.MessageType.SecureClose, ua.MessageType.SecureMessage): size += 4 diff --git a/pytest.ini b/pytest.ini new file mode 100644 index 000000000..78385b2ba --- /dev/null +++ b/pytest.ini @@ -0,0 +1,4 @@ +[pytest] +log_cli=False +log_print=True +log_level=INFO diff --git a/tests/test_client.py b/tests/test_client.py index 0573a67c3..90093d5ea 100644 --- a/tests/test_client.py +++ b/tests/test_client.py @@ -34,6 +34,7 @@ async def client(): async def server(): # start our own server srv = Server() + await srv.init() srv.set_endpoint(f'opc.tcp://127.0.0.1:{port_num1}') await add_server_methods(srv) await srv.start() diff --git a/tests/tests_common.py b/tests/tests_common.py index 66e452681..540539d5e 100644 --- a/tests/tests_common.py +++ b/tests/tests_common.py @@ -60,9 +60,9 @@ def func4(parent): base_otype = srv.get_node(ua.ObjectIds.BaseObjectType) custom_otype = await base_otype.add_object_type(2, 'ObjectWithMethodsType') await custom_otype.add_method(2, 'ServerMethodDefault', func4) - await custom_otype.add_method(2, 'ServerMethodMandatory', func4).set_modelling_rule(True) - await custom_otype.add_method(2, 'ServerMethodOptional', func4).set_modelling_rule(False) - await custom_otype.add_method(2, 'ServerMethodNone', func4).set_modelling_rule(None) + await (await custom_otype.add_method(2, 'ServerMethodMandatory', func4)).set_modelling_rule(True) + await (await custom_otype.add_method(2, 'ServerMethodOptional', func4)).set_modelling_rule(False) + await (await custom_otype.add_method(2, 'ServerMethodNone', func4)).set_modelling_rule(None) await o.add_object(2, 'ObjectWithMethods', custom_otype) @uamethod From 4606b79c6ea1599016317098a14198803ea993c7 Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Sat, 3 Feb 2018 14:53:47 +0100 Subject: [PATCH 030/113] [ADD] refactored client receive buffer [ADD] wip --- opcua/client/client.py | 1 + opcua/client/ua_client.py | 92 ++++++++--------- opcua/common/connection.py | 15 --- opcua/server/address_space.py | 137 ++++++++++++-------------- opcua/server/binary_server_asyncio.py | 63 ++++++------ opcua/server/server.py | 3 +- opcua/server/uaprocessor.py | 131 +++++------------------- opcua/ua/ua_binary.py | 6 +- pytest.ini | 2 +- tests/test_client.py | 45 ++++----- tests/tests_server.py | 9 +- 11 files changed, 192 insertions(+), 312 deletions(-) diff --git a/opcua/client/client.py b/opcua/client/client.py index 3a7fcf07c..79669e0ea 100644 --- a/opcua/client/client.py +++ b/opcua/client/client.py @@ -452,6 +452,7 @@ def get_root_node(self): return self.get_node(ua.TwoByteNodeId(ua.ObjectIds.RootFolder)) def get_objects_node(self): + self.logger.info('get_objects_node') return self.get_node(ua.TwoByteNodeId(ua.ObjectIds.ObjectsFolder)) def get_server_node(self): diff --git a/opcua/client/ua_client.py b/opcua/client/ua_client.py index 29c865ede..31c8881cc 100644 --- a/opcua/client/ua_client.py +++ b/opcua/client/ua_client.py @@ -6,7 +6,7 @@ from functools import partial from opcua import ua -from opcua.ua.ua_binary import struct_from_binary, uatcp_to_binary, struct_to_binary, nodeid_from_binary +from opcua.ua.ua_binary import struct_from_binary, uatcp_to_binary, struct_to_binary, nodeid_from_binary, header_from_binary from opcua.ua.uaerrors import UaError, BadTimeout, BadNoSubscription, BadSessionClosed from opcua.common.connection import SecureConnection @@ -21,7 +21,7 @@ def __init__(self, timeout=1, security_policy=ua.SecurityPolicy()): self.logger = logging.getLogger(__name__ + ".UASocketProtocol") self.loop = asyncio.get_event_loop() self.transport = None - self.receive_buffer = asyncio.Queue() + self.receive_buffer: bytes = None self.is_receiving = False self.timeout = timeout self.authentication_token = ua.NodeId() @@ -29,7 +29,6 @@ def __init__(self, timeout=1, security_policy=ua.SecurityPolicy()): self._request_handle = 0 self._callbackmap = {} self._connection = SecureConnection(security_policy) - self._leftover_chunk = None def connection_made(self, transport: asyncio.Transport): self.transport = transport @@ -39,36 +38,45 @@ def connection_lost(self, exc): self.transport = None def data_received(self, data: bytes): - self.receive_buffer.put_nowait(data) - if not self.is_receiving: - self.is_receiving = True - self.loop.create_task(self._receive()) - - async def read(self, size: int): - """Receive up to size bytes from socket.""" - data = b'' - self.logger.debug('read %s bytes from socket', size) - while size > 0: - self.logger.debug('data is now %s, waiting for %s bytes', len(data), size) - # ToDo: abort on timeout, socket close - # raise SocketClosedException("Server socket has closed") - if self._leftover_chunk: - self.logger.debug('leftover bytes %s', len(self._leftover_chunk)) - # use leftover chunk first - chunk = self._leftover_chunk - self._leftover_chunk = None - else: - chunk = await self.receive_buffer.get() - self.logger.debug('got chunk %s needed_length is %s', len(chunk), size) - if len(chunk) <= size: - _chunk = chunk - else: - # chunk is too big - _chunk = chunk[:size] - self._leftover_chunk = chunk[size:] - data += _chunk - size -= len(_chunk) - return data + if self.receive_buffer: + data = self.receive_buffer + data + self.receive_buffer = None + self._process_received_data(data) + + def _process_received_data(self, data: bytes): + """Try to parse a opcua message""" + buf = ua.utils.Buffer(data) + while True: + try: + try: + header = header_from_binary(buf) + except ua.utils.NotEnoughData: + self.logger.debug('Not enough data while parsing header from server, waiting for more') + self.receive_buffer = data + return + if len(buf) < header.body_size: + self.logger.debug('We did not receive enough data from server. Need %s got %s', header.body_size, len(buf)) + self.receive_buffer = data + return + msg = self._connection.receive_from_header_and_body(header, buf) + self._process_received_message(msg) + if len(buf) == 0: + return + except Exception: + self.logger.exception('Exception raised while parsing message from client') + return + + def _process_received_message(self, msg): + if msg is None: + pass + elif isinstance(msg, ua.Message): + self._call_callback(msg.request_id(), msg.body()) + elif isinstance(msg, ua.Acknowledge): + self._call_callback(0, msg) + elif isinstance(msg, ua.ErrorMessage): + self.logger.warning("Received an error: %r", msg) + else: + raise ua.UaError("Unsupported message type: %s", msg) def _send_request(self, request, callback=None, timeout=1000, message_type=ua.MessageType.SecureMessage): """ @@ -117,24 +125,6 @@ def check_answer(self, data, context): return False return True - async def _receive(self): - msg = await self._connection.receive_from_socket(self) - if msg is None: - pass - elif isinstance(msg, ua.Message): - self._call_callback(msg.request_id(), msg.body()) - elif isinstance(msg, ua.Acknowledge): - self._call_callback(0, msg) - elif isinstance(msg, ua.ErrorMessage): - self.logger.warning("Received an error: %r", msg) - else: - raise ua.UaError("Unsupported message type: %s", msg) - if self._leftover_chunk or not self.receive_buffer.empty(): - # keep receiving - self.loop.create_task(self._receive()) - else: - self.is_receiving = False - def _call_callback(self, request_id, body): future = self._callbackmap.pop(request_id, None) if future is None: diff --git a/opcua/common/connection.py b/opcua/common/connection.py index 36ec10415..ce105d86e 100644 --- a/opcua/common/connection.py +++ b/opcua/common/connection.py @@ -292,21 +292,6 @@ def receive_from_header_and_body(self, header, body): else: raise ua.UaError("Unsupported message type {0}".format(header.MessageType)) - async def receive_from_socket(self, protocol): - """ - Convert binary stream to OPC UA TCP message (see OPC UA - specs Part 6, 7.1: Hello, Acknowledge or ErrorMessage), or a Message - object, or None (if intermediate chunk is received) - """ - logger.debug("Waiting for header") - header = await header_from_binary(protocol) - logger.debug("Received header: %s", header) - body = await protocol.read(header.body_size) - if len(body) != header.body_size: - # ToDo: should never happen since UASocketProtocol.read() waits until `size` bytes are received. Remove? - raise ua.UaError("{0} bytes expected, {1} available".format(header.body_size, len(body))) - return self.receive_from_header_and_body(header, ua.utils.Buffer(body)) - def _receive(self, msg): self._check_incoming_chunk(msg) self._incoming_parts.append(msg) diff --git a/opcua/server/address_space.py b/opcua/server/address_space.py index 05872a3ea..a5f946eb2 100644 --- a/opcua/server/address_space.py +++ b/opcua/server/address_space.py @@ -470,28 +470,23 @@ class AddressSpace(object): def __init__(self): self.logger = logging.getLogger(__name__) self._nodes = {} - self._lock = RLock() # FIXME: should use multiple reader, one writter pattern self._datachange_callback_counter = 200 self._handle_to_attribute_map = {} self._default_idx = 2 self._nodeid_counter = {0: 20000, 1: 2000} def __getitem__(self, nodeid): - with self._lock: - if nodeid in self._nodes: - return self._nodes.__getitem__(nodeid) + if nodeid in self._nodes: + return self._nodes.__getitem__(nodeid) def __setitem__(self, nodeid, value): - with self._lock: - return self._nodes.__setitem__(nodeid, value) + return self._nodes.__setitem__(nodeid, value) def __contains__(self, nodeid): - with self._lock: - return self._nodes.__contains__(nodeid) + return self._nodes.__contains__(nodeid) def __delitem__(self, nodeid): - with self._lock: - self._nodes.__delitem__(nodeid) + self._nodes.__delitem__(nodeid) def generate_nodeid(self, idx=None): if idx is None: @@ -501,23 +496,18 @@ def generate_nodeid(self, idx=None): else: self._nodeid_counter[idx] = 1 nodeid = ua.NodeId(self._nodeid_counter[idx], idx) - with self._lock: # OK since reentrant lock - while True: - if nodeid in self._nodes: - nodeid = self.generate_nodeid(idx) - else: - return nodeid + while True: + if nodeid in self._nodes: + nodeid = self.generate_nodeid(idx) + else: + return nodeid def keys(self): - with self._lock: - return self._nodes.keys() + return self._nodes.keys() def empty(self): - """ - Delete all nodes in address space - """ - with self._lock: - self._nodes = {} + """Delete all nodes in address space""" + self._nodes = {} def dump(self, path): """ @@ -602,41 +592,39 @@ def __len__(self): self._nodes = LazyLoadingDict(shelve.open(path, "r")) def get_attribute_value(self, nodeid, attr): - with self._lock: - self.logger.debug("get attr val: %s %s", nodeid, attr) - if nodeid not in self._nodes: - dv = ua.DataValue() - dv.StatusCode = ua.StatusCode(ua.StatusCodes.BadNodeIdUnknown) - return dv - node = self._nodes[nodeid] - if attr not in node.attributes: - dv = ua.DataValue() - dv.StatusCode = ua.StatusCode(ua.StatusCodes.BadAttributeIdInvalid) - return dv - attval = node.attributes[attr] - if attval.value_callback: - return attval.value_callback() - return attval.value + # self.logger.debug("get attr val: %s %s", nodeid, attr) + if nodeid not in self._nodes: + dv = ua.DataValue() + dv.StatusCode = ua.StatusCode(ua.StatusCodes.BadNodeIdUnknown) + return dv + node = self._nodes[nodeid] + if attr not in node.attributes: + dv = ua.DataValue() + dv.StatusCode = ua.StatusCode(ua.StatusCodes.BadAttributeIdInvalid) + return dv + attval = node.attributes[attr] + if attval.value_callback: + return attval.value_callback() + return attval.value def set_attribute_value(self, nodeid, attr, value): - with self._lock: - self.logger.debug("set attr val: %s %s %s", nodeid, attr, value) - if nodeid not in self._nodes: - return ua.StatusCode(ua.StatusCodes.BadNodeIdUnknown) - node = self._nodes[nodeid] - if attr not in node.attributes: - return ua.StatusCode(ua.StatusCodes.BadAttributeIdInvalid) - if not value.SourceTimestamp: - value.SourceTimestamp = datetime.utcnow() - if not value.ServerTimestamp: - value.ServerTimestamp = datetime.utcnow() - - attval = node.attributes[attr] - old = attval.value - attval.value = value - cbs = [] - if old.Value != value.Value: # only send call callback when a value change has happend - cbs = list(attval.datachange_callbacks.items()) + # self.logger.debug("set attr val: %s %s %s", nodeid, attr, value) + if nodeid not in self._nodes: + return ua.StatusCode(ua.StatusCodes.BadNodeIdUnknown) + node = self._nodes[nodeid] + if attr not in node.attributes: + return ua.StatusCode(ua.StatusCodes.BadAttributeIdInvalid) + if not value.SourceTimestamp: + value.SourceTimestamp = datetime.utcnow() + if not value.ServerTimestamp: + value.ServerTimestamp = datetime.utcnow() + + attval = node.attributes[attr] + old = attval.value + attval.value = value + cbs = [] + if old.Value != value.Value: # only send call callback when a value change has happend + cbs = list(attval.datachange_callbacks.items()) for k, v in cbs: try: @@ -647,27 +635,24 @@ def set_attribute_value(self, nodeid, attr, value): return ua.StatusCode() def add_datachange_callback(self, nodeid, attr, callback): - with self._lock: - self.logger.debug("set attr callback: %s %s %s", nodeid, attr, callback) - if nodeid not in self._nodes: - return ua.StatusCode(ua.StatusCodes.BadNodeIdUnknown), 0 - node = self._nodes[nodeid] - if attr not in node.attributes: - return ua.StatusCode(ua.StatusCodes.BadAttributeIdInvalid), 0 - attval = node.attributes[attr] - self._datachange_callback_counter += 1 - handle = self._datachange_callback_counter - attval.datachange_callbacks[handle] = callback - self._handle_to_attribute_map[handle] = (nodeid, attr) - return ua.StatusCode(), handle + self.logger.debug("set attr callback: %s %s %s", nodeid, attr, callback) + if nodeid not in self._nodes: + return ua.StatusCode(ua.StatusCodes.BadNodeIdUnknown), 0 + node = self._nodes[nodeid] + if attr not in node.attributes: + return ua.StatusCode(ua.StatusCodes.BadAttributeIdInvalid), 0 + attval = node.attributes[attr] + self._datachange_callback_counter += 1 + handle = self._datachange_callback_counter + attval.datachange_callbacks[handle] = callback + self._handle_to_attribute_map[handle] = (nodeid, attr) + return ua.StatusCode(), handle def delete_datachange_callback(self, handle): - with self._lock: - if handle in self._handle_to_attribute_map: - nodeid, attr = self._handle_to_attribute_map.pop(handle) - self._nodes[nodeid].attributes[attr].datachange_callbacks.pop(handle) + if handle in self._handle_to_attribute_map: + nodeid, attr = self._handle_to_attribute_map.pop(handle) + self._nodes[nodeid].attributes[attr].datachange_callbacks.pop(handle) def add_method_callback(self, methodid, callback): - with self._lock: - node = self._nodes[methodid] - node.call = callback + node = self._nodes[methodid] + node.call = callback diff --git a/opcua/server/binary_server_asyncio.py b/opcua/server/binary_server_asyncio.py index 89f34496a..c2040b5f2 100644 --- a/opcua/server/binary_server_asyncio.py +++ b/opcua/server/binary_server_asyncio.py @@ -18,12 +18,13 @@ class OPCUAProtocol(asyncio.Protocol): to the internal server object FIXME: find another solution """ + def __init__(self, iserver=None, policies=None, clients=None): self.loop = asyncio.get_event_loop() self.peer_name = None self.transport = None self.processor = None - self.data = b'' + self.receive_buffer = b'' self.iserver = iserver self.policies = policies self.clients = clients @@ -51,38 +52,40 @@ def connection_lost(self, ex): self.clients.remove(self) def data_received(self, data): - logger.debug('received %s bytes from socket', len(data)) - if self.data: - data = self.data + data - self.data = b'' - self.loop.create_task(self._process_data(data)) + if self.receive_buffer: + data = self.receive_buffer + data + self.receive_buffer = b'' + self._process_received_data(data) - async def _process_data(self, data): + def _process_received_data(self, data: bytes): + logger.info('_process_received_data %s', len(data)) buf = ua.utils.Buffer(data) - while True: + try: try: - backup_buf = buf.copy() - try: - hdr = await uabin.header_from_binary(buf) - except ua.utils.NotEnoughData: - logger.info('We did not receive enough data from client, waiting for more') - self.data = backup_buf.read(len(backup_buf)) - return - if len(buf) < hdr.body_size: - logger.info('We did not receive enough data from client, waiting for more') - self.data = backup_buf.read(len(backup_buf)) - return - ret = self.processor.process(hdr, buf) - if not ret: - logger.info('processor returned False, we close connection from %s', self.peer_name) - self.transport.close() - return - if len(buf) == 0: - return - except Exception: - logger.exception('Exception raised while parsing message from client, closing') + header = uabin.header_from_binary(buf) + except ua.utils.NotEnoughData: + logger.debug('Not enough data while parsing header from client, waiting for more') + self.receive_buffer = data + self.receive_buffer return - + if len(buf) < header.body_size: + logger.debug('We did not receive enough data from client. Need %s got %s', header.body_size, len(buf)) + self.receive_buffer = data + self.receive_buffer + return + self.loop.create_task(self._process_received_message(header, buf)) + except Exception: + logger.exception('Exception raised while parsing message from client') + return + + async def _process_received_message(self, header, buf): + logger.debug('_process_received_message %s %s', header.body_size, len(buf)) + ret = await self.processor.process(header, buf) + if not ret: + logger.info('processor returned False, we close connection from %s', self.peer_name) + self.transport.close() + return + if len(buf) != 0: + # There is data left in the buffer - process it + self._process_received_data(buf) class BinaryServer: @@ -113,7 +116,7 @@ async def start(self): sockname = self._server.sockets[0].getsockname() self.hostname = sockname[0] self.port = sockname[1] - self.logger.warning('Listening on {0}:{1}'.format(self.hostname, self.port)) + self.logger.info('Listening on {0}:{1}'.format(self.hostname, self.port)) async def stop(self): self.logger.info('Closing asyncio socket server') diff --git a/opcua/server/server.py b/opcua/server/server.py index 731706e46..22b58c894 100644 --- a/opcua/server/server.py +++ b/opcua/server/server.py @@ -285,7 +285,8 @@ async def stop(self): """ Stop server """ - await asyncio.wait([client.disconnect() for client in self._discovery_clients.values()]) + if self._discovery_clients: + await asyncio.wait([client.disconnect() for client in self._discovery_clients.values()]) await self.bserver.stop() self.iserver.stop() diff --git a/opcua/server/uaprocessor.py b/opcua/server/uaprocessor.py index 8e4775776..74cd328fc 100644 --- a/opcua/server/uaprocessor.py +++ b/opcua/server/uaprocessor.py @@ -28,7 +28,6 @@ def __init__(self, internal_server, socket): self.sockname = socket.get_extra_info('sockname') self.session = None self.socket = socket - self._socketlock = Lock() self._datalock = RLock() self._publishdata_queue = [] self._publish_result_queue = [] # used when we need to wait for PublishRequest @@ -38,12 +37,11 @@ def set_policies(self, policies): self._connection.set_policy_factories(policies) def send_response(self, requesthandle, algohdr, seqhdr, response, msgtype=ua.MessageType.SecureMessage): - with self._socketlock: - response.ResponseHeader.RequestHandle = requesthandle - data = self._connection.message_to_binary( - struct_to_binary(response), message_type=msgtype, request_id=seqhdr.RequestId, algohdr=algohdr) - - self.socket.write(data) + response.ResponseHeader.RequestHandle = requesthandle + data = self._connection.message_to_binary( + struct_to_binary(response), message_type=msgtype, request_id=seqhdr.RequestId, algohdr=algohdr + ) + self.socket.write(data) def open_secure_channel(self, algohdr, seqhdr, body): request = struct_from_binary(ua.OpenSecureChannelRequest, body) @@ -76,18 +74,16 @@ def forward_publish_response(self, result): self.send_response(requestdata.requesthdr.RequestHandle, requestdata.algohdr, requestdata.seqhdr, response) - def process(self, header, body): + async def process(self, header, body): msg = self._connection.receive_from_header_and_body(header, body) if isinstance(msg, ua.Message): if header.MessageType == ua.MessageType.SecureOpen: self.open_secure_channel(msg.SecurityHeader(), msg.SequenceHeader(), msg.body()) - elif header.MessageType == ua.MessageType.SecureClose: self._connection.close() return False - elif header.MessageType == ua.MessageType.SecureMessage: - return self.process_message(msg.SecurityHeader(), msg.SequenceHeader(), msg.body()) + return await self.process_message(msg.SecurityHeader(), msg.SequenceHeader(), msg.body()) elif isinstance(msg, ua.Hello): ack = ua.Acknowledge() ack.ReceiveBufferSize = msg.ReceiveBufferSize @@ -103,11 +99,11 @@ def process(self, header, body): raise utils.ServiceError(ua.StatusCodes.BadTcpMessageTypeInvalid) return True - def process_message(self, algohdr, seqhdr, body): + async def process_message(self, algohdr, seqhdr, body): typeid = nodeid_from_binary(body) requesthdr = struct_from_binary(ua.RequestHeader, body) try: - return self._process_message(typeid, requesthdr, algohdr, seqhdr, body) + return await self._process_message(typeid, requesthdr, algohdr, seqhdr, body) except utils.ServiceError as e: status = ua.StatusCode(e.code) response = ua.ServiceFault() @@ -116,16 +112,14 @@ def process_message(self, algohdr, seqhdr, body): self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) return True - def _process_message(self, typeid, requesthdr, algohdr, seqhdr, body): + async def _process_message(self, typeid, requesthdr, algohdr, seqhdr, body): if typeid == ua.NodeId(ua.ObjectIds.CreateSessionRequest_Encoding_DefaultBinary): self.logger.info("Create session request") params = struct_from_binary(ua.CreateSessionParameters, body) - # create the session on server self.session = self.iserver.create_session(self.name, external=True) # get a session creation result to send back sessiondata = self.session.create_session(params, sockname=self.sockname) - response = ua.CreateSessionResponse() response.Parameters = sessiondata response.Parameters.ServerCertificate = self._connection.security_policy.client_certificate @@ -135,18 +129,14 @@ def _process_message(self, typeid, requesthdr, algohdr, seqhdr, body): data = self._connection.security_policy.server_certificate + params.ClientNonce response.Parameters.ServerSignature.Signature = \ self._connection.security_policy.asymmetric_cryptography.signature(data) - response.Parameters.ServerSignature.Algorithm = "http://www.w3.org/2000/09/xmldsig#rsa-sha1" - self.logger.info("sending create session response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.CloseSessionRequest_Encoding_DefaultBinary): self.logger.info("Close session request") deletesubs = ua.ua_binary.Primitives.Boolean.unpack(body) - self.session.close_session(deletesubs) - response = ua.CloseSessionResponse() self.logger.info("sending close session response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) @@ -154,236 +144,178 @@ def _process_message(self, typeid, requesthdr, algohdr, seqhdr, body): elif typeid == ua.NodeId(ua.ObjectIds.ActivateSessionRequest_Encoding_DefaultBinary): self.logger.info("Activate session request") params = struct_from_binary(ua.ActivateSessionParameters, body) - if not self.session: self.logger.info("request to activate non-existing session") raise utils.ServiceError(ua.StatusCodes.BadSessionIdInvalid) - if self._connection.security_policy.client_certificate is None: data = self.session.nonce else: data = self._connection.security_policy.client_certificate + self.session.nonce self._connection.security_policy.asymmetric_cryptography.verify(data, params.ClientSignature.Signature) - result = self.session.activate_session(params) - response = ua.ActivateSessionResponse() response.Parameters = result - self.logger.info("sending read response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.ReadRequest_Encoding_DefaultBinary): self.logger.info("Read request") params = struct_from_binary(ua.ReadParameters, body) - - results = self.session.read(params) - + results = await self.session.read(params) response = ua.ReadResponse() response.Results = results - self.logger.info("sending read response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.WriteRequest_Encoding_DefaultBinary): self.logger.info("Write request") params = struct_from_binary(ua.WriteParameters, body) - - results = self.session.write(params) - + results = await self.session.write(params) response = ua.WriteResponse() response.Results = results - self.logger.info("sending write response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.BrowseRequest_Encoding_DefaultBinary): self.logger.info("Browse request") params = struct_from_binary(ua.BrowseParameters, body) - - results = self.session.browse(params) - + results = await self.session.browse(params) response = ua.BrowseResponse() response.Results = results - self.logger.info("sending browse response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.GetEndpointsRequest_Encoding_DefaultBinary): self.logger.info("get endpoints request") params = struct_from_binary(ua.GetEndpointsParameters, body) - endpoints = self.iserver.get_endpoints(params, sockname=self.sockname) - response = ua.GetEndpointsResponse() response.Endpoints = endpoints - self.logger.info("sending get endpoints response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.FindServersRequest_Encoding_DefaultBinary): self.logger.info("find servers request") params = struct_from_binary(ua.FindServersParameters, body) - servers = self.iserver.find_servers(params) - response = ua.FindServersResponse() response.Servers = servers - self.logger.info("sending find servers response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.RegisterServerRequest_Encoding_DefaultBinary): self.logger.info("register server request") serv = struct_from_binary(ua.RegisteredServer, body) - self.iserver.register_server(serv) - response = ua.RegisterServerResponse() - self.logger.info("sending register server response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.RegisterServer2Request_Encoding_DefaultBinary): self.logger.info("register server 2 request") params = struct_from_binary(ua.RegisterServer2Parameters, body) - results = self.iserver.register_server2(params) - response = ua.RegisterServer2Response() response.ConfigurationResults = results - self.logger.info("sending register server 2 response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultBinary): self.logger.info("translate browsepaths to nodeids request") params = struct_from_binary(ua.TranslateBrowsePathsToNodeIdsParameters, body) - - paths = self.session.translate_browsepaths_to_nodeids(params.BrowsePaths) - + paths = await self.session.translate_browsepaths_to_nodeids(params.BrowsePaths) response = ua.TranslateBrowsePathsToNodeIdsResponse() response.Results = paths - self.logger.info("sending translate browsepaths to nodeids response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.AddNodesRequest_Encoding_DefaultBinary): self.logger.info("add nodes request") params = struct_from_binary(ua.AddNodesParameters, body) - - results = self.session.add_nodes(params.NodesToAdd) - + results = await self.session.add_nodes(params.NodesToAdd) response = ua.AddNodesResponse() response.Results = results - self.logger.info("sending add node response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.DeleteNodesRequest_Encoding_DefaultBinary): self.logger.info("delete nodes request") params = struct_from_binary(ua.DeleteNodesParameters, body) - - results = self.session.delete_nodes(params) - + results = await self.session.delete_nodes(params) response = ua.DeleteNodesResponse() response.Results = results - self.logger.info("sending delete node response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.AddReferencesRequest_Encoding_DefaultBinary): self.logger.info("add references request") params = struct_from_binary(ua.AddReferencesParameters, body) - - results = self.session.add_references(params.ReferencesToAdd) - + results = await self.session.add_references(params.ReferencesToAdd) response = ua.AddReferencesResponse() response.Results = results - self.logger.info("sending add references response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.DeleteReferencesRequest_Encoding_DefaultBinary): self.logger.info("delete references request") params = struct_from_binary(ua.DeleteReferencesParameters, body) - - results = self.session.delete_references(params.ReferencesToDelete) - + results = await self.session.delete_references(params.ReferencesToDelete) response = ua.DeleteReferencesResponse() response.Parameters.Results = results - self.logger.info("sending delete references response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) - elif typeid == ua.NodeId(ua.ObjectIds.CreateSubscriptionRequest_Encoding_DefaultBinary): self.logger.info("create subscription request") params = struct_from_binary(ua.CreateSubscriptionParameters, body) - - result = self.session.create_subscription(params, self.forward_publish_response) - + result = await self.session.create_subscription(params, self.forward_publish_response) response = ua.CreateSubscriptionResponse() response.Parameters = result - self.logger.info("sending create subscription response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.DeleteSubscriptionsRequest_Encoding_DefaultBinary): self.logger.info("delete subscriptions request") params = struct_from_binary(ua.DeleteSubscriptionsParameters, body) - - results = self.session.delete_subscriptions(params.SubscriptionIds) - + results = await self.session.delete_subscriptions(params.SubscriptionIds) response = ua.DeleteSubscriptionsResponse() response.Results = results - self.logger.info("sending delte subscription response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.CreateMonitoredItemsRequest_Encoding_DefaultBinary): self.logger.info("create monitored items request") params = struct_from_binary(ua.CreateMonitoredItemsParameters, body) - results = self.session.create_monitored_items(params) - + results = await self.session.create_monitored_items(params) response = ua.CreateMonitoredItemsResponse() response.Results = results - self.logger.info("sending create monitored items response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.ModifyMonitoredItemsRequest_Encoding_DefaultBinary): self.logger.info("modify monitored items request") params = struct_from_binary(ua.ModifyMonitoredItemsParameters, body) - results = self.session.modify_monitored_items(params) - + results = await self.session.modify_monitored_items(params) response = ua.ModifyMonitoredItemsResponse() response.Results = results - self.logger.info("sending modify monitored items response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.DeleteMonitoredItemsRequest_Encoding_DefaultBinary): self.logger.info("delete monitored items request") params = struct_from_binary(ua.DeleteMonitoredItemsParameters, body) - - results = self.session.delete_monitored_items(params) - + results = await self.session.delete_monitored_items(params) response = ua.DeleteMonitoredItemsResponse() response.Results = results - self.logger.info("sending delete monitored items response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.HistoryReadRequest_Encoding_DefaultBinary): self.logger.info("history read request") params = struct_from_binary(ua.HistoryReadParameters, body) - - results = self.session.history_read(params) - + results = await self.session.history_read(params) response = ua.HistoryReadResponse() response.Results = results - self.logger.info("sending history read response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) @@ -391,30 +323,23 @@ def _process_message(self, typeid, requesthdr, algohdr, seqhdr, body): self.logger.info("register nodes request") params = struct_from_binary(ua.RegisterNodesParameters, body) self.logger.info("Node registration not implemented") - response = ua.RegisterNodesResponse() response.Parameters.RegisteredNodeIds = params.NodesToRegister - self.logger.info("sending register nodes response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.UnregisterNodesRequest_Encoding_DefaultBinary): self.logger.info("unregister nodes request") params = struct_from_binary(ua.UnregisterNodesParameters, body) - response = ua.UnregisterNodesResponse() - self.logger.info("sending unregister nodes response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.PublishRequest_Encoding_DefaultBinary): self.logger.info("publish request") - if not self.session: return False - params = struct_from_binary(ua.PublishParameters, body) - data = PublishRequestData() data.requesthdr = requesthdr data.seqhdr = seqhdr @@ -429,13 +354,10 @@ def _process_message(self, typeid, requesthdr, algohdr, seqhdr, body): elif typeid == ua.NodeId(ua.ObjectIds.RepublishRequest_Encoding_DefaultBinary): self.logger.info("re-publish request") - params = struct_from_binary(ua.RepublishParameters, body) msg = self.session.republish(params) - response = ua.RepublishResponse() response.NotificationMessage = msg - self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.CloseSecureChannelRequest_Encoding_DefaultBinary): @@ -447,16 +369,11 @@ def _process_message(self, typeid, requesthdr, algohdr, seqhdr, body): elif typeid == ua.NodeId(ua.ObjectIds.CallRequest_Encoding_DefaultBinary): self.logger.info("call request") - params = struct_from_binary(ua.CallParameters, body) - results = self.session.call(params.MethodsToCall) - response = ua.CallResponse() response.Results = results - self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) - else: self.logger.warning("Unknown message received %s", typeid) raise utils.ServiceError(ua.StatusCodes.BadNotImplemented) diff --git a/opcua/ua/ua_binary.py b/opcua/ua/ua_binary.py index dccb8af3f..c74512b2b 100644 --- a/opcua/ua/ua_binary.py +++ b/opcua/ua/ua_binary.py @@ -515,13 +515,13 @@ def header_to_binary(hdr): return b"".join(b) -async def header_from_binary(data): +def header_from_binary(data): hdr = ua.Header() - hdr.MessageType, hdr.ChunkType, hdr.packet_size = struct.unpack("<3scI", await data.read(8)) + hdr.MessageType, hdr.ChunkType, hdr.packet_size = struct.unpack("<3scI", data.read(8)) hdr.body_size = hdr.packet_size - 8 if hdr.MessageType in (ua.MessageType.SecureOpen, ua.MessageType.SecureClose, ua.MessageType.SecureMessage): hdr.body_size -= 4 - hdr.ChannelId = Primitives.UInt32.unpack(ua.utils.Buffer(await data.read(4))) + hdr.ChannelId = Primitives.UInt32.unpack(data) return hdr diff --git a/pytest.ini b/pytest.ini index 78385b2ba..e03329e11 100644 --- a/pytest.ini +++ b/pytest.ini @@ -1,4 +1,4 @@ [pytest] log_cli=False log_print=True -log_level=INFO +log_level=DEBUG diff --git a/tests/test_client.py b/tests/test_client.py index 90093d5ea..640319219 100644 --- a/tests/test_client.py +++ b/tests/test_client.py @@ -1,3 +1,5 @@ + +import logging import pytest from opcua import Client @@ -9,9 +11,10 @@ from .tests_xml import XmlTests port_num1 = 48510 +_logger = logging.getLogger(__name__) +pytestmark = pytest.mark.asyncio - -@pytest.yield_fixture() +@pytest.fixture() async def admin_client(): # start admin client # long timeout since travis (automated testing) can be really slow @@ -21,7 +24,7 @@ async def admin_client(): await clt.disconnect() -@pytest.yield_fixture() +@pytest.fixture() async def client(): # start anonymous client ro_clt = Client(f'opc.tcp://127.0.0.1:{port_num1}') @@ -30,7 +33,7 @@ async def client(): await ro_clt.disconnect() -@pytest.yield_fixture() +@pytest.fixture() async def server(): # start our own server srv = Server() @@ -43,7 +46,6 @@ async def server(): await srv.stop() -@pytest.mark.asyncio async def test_service_fault(server, admin_client): request = ua.ReadRequest() request.TypeId = ua.FourByteNodeId(999) # bad type! @@ -51,49 +53,45 @@ async def test_service_fault(server, admin_client): await admin_client.uaclient.protocol.send_request(request) -@pytest.mark.asyncio async def test_objects_anonymous(server, client): objects = client.get_objects_node() with pytest.raises(ua.UaStatusCodeError): - objects.set_attribute(ua.AttributeIds.WriteMask, ua.DataValue(999)) + await objects.set_attribute(ua.AttributeIds.WriteMask, ua.DataValue(999)) with pytest.raises(ua.UaStatusCodeError): - f = objects.add_folder(3, 'MyFolder') + await objects.add_folder(3, 'MyFolder') -@pytest.mark.asyncio async def test_folder_anonymous(server, client): objects = client.get_objects_node() - f = objects.add_folder(3, 'MyFolderRO') + f = await objects.add_folder(3, 'MyFolderRO') f_ro = client.get_node(f.nodeid) assert f == f_ro with pytest.raises(ua.UaStatusCodeError): - f2 = f_ro.add_folder(3, 'MyFolder2') + await f_ro.add_folder(3, 'MyFolder2') -@pytest.mark.asyncio async def test_variable_anonymous(server, admin_client, client): objects = admin_client.get_objects_node() - v = objects.add_variable(3, 'MyROVariable', 6) - v.set_value(4) # this should work + v = await objects.add_variable(3, 'MyROVariable', 6) + await v.set_value(4) # this should work v_ro = client.get_node(v.nodeid) with pytest.raises(ua.UaStatusCodeError): - v_ro.set_value(2) + await v_ro.set_value(2) assert await v_ro.get_value() == 4 - v.set_writable(True) - v_ro.set_value(2) # now it should work + await v.set_writable(True) + await v_ro.set_value(2) # now it should work assert await v_ro.get_value() == 2 - v.set_writable(False) + await v.set_writable(False) with pytest.raises(ua.UaStatusCodeError): - v_ro.set_value(9) + await v_ro.set_value(9) assert await v_ro.get_value() == 2 -@pytest.mark.asyncio async def test_context_manager(server): """Context manager calls connect() and disconnect()""" state = [0] - def increment_state(*args, **kwargs): + async def increment_state(*args, **kwargs): state[0] += 1 # create client and replace instance methods with dummy methods @@ -102,14 +100,13 @@ def increment_state(*args, **kwargs): client.disconnect = increment_state.__get__(client) assert state[0] == 0 - with client: + async with client: # test if client connected assert state[0] == 1 # test if client disconnected assert state[0] == 2 -@pytest.mark.asyncio async def test_enumstrings_getvalue(server, client): """ The real exception is server side, but is detected by using a client. @@ -117,4 +114,4 @@ async def test_enumstrings_getvalue(server, client): The client only 'sees' an TimeoutError """ nenumstrings = client.get_node(ua.ObjectIds.AxisScaleEnumeration_EnumStrings) - value = ua.Variant(nenumstrings.get_value()) + value = ua.Variant(await nenumstrings.get_value()) diff --git a/tests/tests_server.py b/tests/tests_server.py index 2ae49dc3c..7b618443c 100644 --- a/tests/tests_server.py +++ b/tests/tests_server.py @@ -1,11 +1,12 @@ -import unittest + +import pytest import os import shelve import time -from tests_common import CommonTests, add_server_methods -from tests_xml import XmlTests -from tests_subscriptions import SubscriptionTests +from .tests_common import CommonTests, add_server_methods +from .tests_xml import XmlTests +from .tests_subscriptions import SubscriptionTests from datetime import timedelta, datetime from tempfile import NamedTemporaryFile From fd5678eff8c31d9b7ac8840a6e9773db64990a92 Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Sun, 4 Feb 2018 18:05:52 +0100 Subject: [PATCH 031/113] [ADD] Server wip --- opcua/client/client.py | 27 +- opcua/client/ua_client.py | 5 +- opcua/common/subscription.py | 2 +- opcua/server/binary_server_asyncio.py | 1 - opcua/server/event_generator.py | 17 +- opcua/server/history.py | 14 +- opcua/server/internal_server.py | 36 +- opcua/server/server.py | 33 +- pytest.ini | 2 +- tests/test_server.py | 624 ++++++++++++++++++++++++++ tests/tests_server.py | 582 ------------------------ 11 files changed, 695 insertions(+), 648 deletions(-) create mode 100644 tests/test_server.py delete mode 100644 tests/tests_server.py diff --git a/opcua/client/client.py b/opcua/client/client.py index 79669e0ea..e3f942d21 100644 --- a/opcua/client/client.py +++ b/opcua/client/client.py @@ -16,6 +16,7 @@ _logger = logging.getLogger(__name__) +asyncio.get_event_loop().set_debug(True) class Client(object): @@ -46,10 +47,10 @@ def __init__(self, url, timeout=4): # take initial username and password from the url self._username = self.server_url.username self._password = self.server_url.password - self.name = "Pure Python Async. Client" + self.name = 'Pure Python Async. Client' self.description = self.name - self.application_uri = "urn:freeopcua:client" - self.product_uri = "urn:freeopcua.github.no:client" + self.application_uri = 'urn:freeopcua:client' + self.product_uri = 'urn:freeopcua.github.no:client' self.security_policy = ua.SecurityPolicy() self.secure_channel_id = None self.secure_channel_timeout = 3600000 # 1 hour @@ -60,7 +61,6 @@ def __init__(self, url, timeout=4): self.user_private_key = None self._server_nonce = None self._session_counter = 1 - self.keep_alive = None self.nodes = Shortcuts(self.uaclient) self.max_messagesize = 0 # No limits self.max_chunkcount = 0 # No limits @@ -326,7 +326,7 @@ async def create_session(self): self._policy_ids = ep.UserIdentityTokens # Actual maximum number of milliseconds that a Session shall remain open without activity self.session_timeout = response.RevisedSessionTimeout - self.keep_alive = self.loop.create_task(self._renew_session()) + self._schedule_renew_session() # ToDo: subscribe to ServerStatus """ The preferred mechanism for a Client to monitor the connection status is through the keep-alive of the @@ -336,20 +336,26 @@ async def create_session(self): """ return response + def _schedule_renew_session(self, renew_session=False): + # if the session was intentionally closed `session_timeout` will be None + if renew_session and self.session_timeout: + self.loop.create_task(self._renew_session()) + self.loop.call_later( + # 0.7 is from spec + min(self.session_timeout, self.secure_channel_timeout) * 0.7, + self._schedule_renew_session, True + ) + async def _renew_session(self): """ Renew the SecureChannel before the SessionTimeout will happen. ToDo: shouldn't this only be done if there was no session activity? """ - # 0.7 is from spec - await asyncio.sleep(min(self.session_timeout, self.secure_channel_timeout) * 0.7) server_state = self.get_node(ua.FourByteNodeId(ua.ObjectIds.Server_ServerStatus_State)) self.logger.debug("renewing channel") await self.open_secure_channel(renew=True) val = await server_state.get_value() self.logger.debug("server state is: %s ", val) - # create new keep-alive task - self.keep_alive = self.loop.create_task(self._renew_session()) def server_policy_id(self, token_type, default): """ @@ -444,8 +450,7 @@ async def close_session(self): """ Close session """ - if self.keep_alive: - self.keep_alive.cancel() + self.session_timeout = None return await self.uaclient.close_session(True) def get_root_node(self): diff --git a/opcua/client/ua_client.py b/opcua/client/ua_client.py index 31c8881cc..337469d29 100644 --- a/opcua/client/ua_client.py +++ b/opcua/client/ua_client.py @@ -142,7 +142,10 @@ def _create_request_header(self, timeout=1000): def disconnect_socket(self): self.logger.info("stop request") - self.transport.close() + if self.transport: + self.transport.close() + else: + self.logger.warning('disconnect_socket was called but transport is None') async def send_hello(self, url, max_messagesize=0, max_chunkcount=0): hello = ua.Hello() diff --git a/opcua/common/subscription.py b/opcua/common/subscription.py index e7e79a3c5..f00e73db4 100644 --- a/opcua/common/subscription.py +++ b/opcua/common/subscription.py @@ -247,7 +247,7 @@ async def create_monitored_items(self, monitored_items): #TODO: Either use the filter from request or from response. Here it uses from request, in modify it uses from response data.mfilter = mi.RequestedParameters.Filter self._monitored_items[mi.RequestedParameters.ClientHandle] = data - results = await self.server.create_monitored_items(params) + results = self.server.create_monitored_items(params) mids = [] # process result, add server_handle, or remove it if failed for idx, result in enumerate(results): diff --git a/opcua/server/binary_server_asyncio.py b/opcua/server/binary_server_asyncio.py index c2040b5f2..b3d0e0239 100644 --- a/opcua/server/binary_server_asyncio.py +++ b/opcua/server/binary_server_asyncio.py @@ -58,7 +58,6 @@ def data_received(self, data): self._process_received_data(data) def _process_received_data(self, data: bytes): - logger.info('_process_received_data %s', len(data)) buf = ua.utils.Buffer(data) try: try: diff --git a/opcua/server/event_generator.py b/opcua/server/event_generator.py index 30d3ae580..d2a6804bd 100644 --- a/opcua/server/event_generator.py +++ b/opcua/server/event_generator.py @@ -16,23 +16,18 @@ class EventGenerator(object): client when evebt is triggered (see example code in source) Arguments to constructor are: - server: The InternalSession object to use for query and event triggering - source: The emiting source for the node, either an objectId, NodeId or a Node - etype: The event type, either an objectId, a NodeId or a Node object """ - def __init__(self, isession, etype=None, source=ua.ObjectIds.Server): + def __init__(self, isession, etype=None): if not etype: etype = event_objects.BaseEvent() - self.logger = logging.getLogger(__name__) self.isession = isession self.event = None node = None - if isinstance(etype, event_objects.BaseEvent): self.event = etype elif isinstance(etype, Node): @@ -41,16 +36,16 @@ def __init__(self, isession, etype=None, source=ua.ObjectIds.Server): node = Node(self.isession, etype) else: node = Node(self.isession, ua.NodeId(etype)) - if node: self.event = events.get_event_obj_from_type_node(node) + async def set_source(self, source=ua.ObjectIds.Server): if isinstance(source, Node): pass elif isinstance(source, ua.NodeId): - source = Node(isession, source) + source = Node(self.isession, source) else: - source = Node(isession, ua.NodeId(source)) + source = Node(self.isession, ua.NodeId(source)) if self.event.SourceNode: if source.nodeid != self.event.SourceNode: @@ -60,7 +55,7 @@ def __init__(self, isession, etype=None, source=ua.ObjectIds.Server): source = Node(self.isession, self.event.SourceNode) self.event.SourceNode = source.nodeid - self.event.SourceName = source.get_browse_name().Name + self.event.SourceName = (await source.get_browse_name()).Name source.set_event_notifier([ua.EventNotifier.SubscribeToEvents]) refs = [] @@ -71,7 +66,7 @@ def __init__(self, isession, etype=None, source=ua.ObjectIds.Server): ref.TargetNodeClass = ua.NodeClass.ObjectType ref.TargetNodeId = self.event.EventType refs.append(ref) - results = self.isession.add_references(refs) + results = await self.isession.add_references(refs) # result.StatusCode.check() def __str__(self): diff --git a/opcua/server/history.py b/opcua/server/history.py index aea678318..9be427e9d 100644 --- a/opcua/server/history.py +++ b/opcua/server/history.py @@ -209,19 +209,19 @@ async def _create_subscription(self, handler): await subscription.init() return subscription - def historize_data_change(self, node, period=timedelta(days=7), count=0): + async def historize_data_change(self, node, period=timedelta(days=7), count=0): """ Subscribe to the nodes' data changes and store the data in the active storage. """ if not self._sub: - self._sub = self._create_subscription(SubHandler(self.storage)) + self._sub = await self._create_subscription(SubHandler(self.storage)) if node in self._handlers: raise ua.UaError("Node {0} is already historized".format(node)) self.storage.new_historized_node(node.nodeid, period, count) - handler = self._sub.subscribe_data_change(node) + handler = await self._sub.subscribe_data_change(node) self._handlers[node] = handler - def historize_event(self, source, period=timedelta(days=7), count=0): + async def historize_event(self, source, period=timedelta(days=7), count=0): """ Subscribe to the source nodes' events and store the data in the active storage. @@ -235,7 +235,7 @@ def historize_event(self, source, period=timedelta(days=7), count=0): must be deleted manually so that a new table with the custom event fields can be created. """ if not self._sub: - self._sub = self._create_subscription(SubHandler(self.storage)) + self._sub = await self._create_subscription(SubHandler(self.storage)) if source in self._handlers: raise ua.UaError("Events from {0} are already historized".format(source)) @@ -247,7 +247,7 @@ def historize_event(self, source, period=timedelta(days=7), count=0): handler = self._sub.subscribe_events(source, event_types) self._handlers[source] = handler - def dehistorize(self, node): + async def dehistorize(self, node): """ Remove subscription to the node/source which is being historized @@ -255,7 +255,7 @@ def dehistorize(self, node): Only the subscriptions is removed. The historical data remains. """ if node in self._handlers: - self._sub.unsubscribe(self._handlers[node]) + await self._sub.unsubscribe(self._handlers[node]) del(self._handlers[node]) else: self.logger.error("History Manager isn't subscribed to %s", node) diff --git a/opcua/server/internal_server.py b/opcua/server/internal_server.py index 05ce84a37..f223ddf6d 100644 --- a/opcua/server/internal_server.py +++ b/opcua/server/internal_server.py @@ -186,44 +186,42 @@ def register_server2(self, params): def create_session(self, name, user=User.Anonymous, external=False): return InternalSession(self, self.aspace, self.subscription_service, name, user=user, external=external) - def enable_history_data_change(self, node, period=timedelta(days=7), count=0): + async def enable_history_data_change(self, node, period=timedelta(days=7), count=0): """ Set attribute Historizing of node to True and start storing data for history """ - node.set_attribute(ua.AttributeIds.Historizing, ua.DataValue(True)) - node.set_attr_bit(ua.AttributeIds.AccessLevel, ua.AccessLevel.HistoryRead) - node.set_attr_bit(ua.AttributeIds.UserAccessLevel, ua.AccessLevel.HistoryRead) - self.history_manager.historize_data_change(node, period, count) + await node.set_attribute(ua.AttributeIds.Historizing, ua.DataValue(True)) + await node.set_attr_bit(ua.AttributeIds.AccessLevel, ua.AccessLevel.HistoryRead) + await node.set_attr_bit(ua.AttributeIds.UserAccessLevel, ua.AccessLevel.HistoryRead) + await self.history_manager.historize_data_change(node, period, count) - def disable_history_data_change(self, node): + async def disable_history_data_change(self, node): """ Set attribute Historizing of node to False and stop storing data for history """ - node.set_attribute(ua.AttributeIds.Historizing, ua.DataValue(False)) - node.unset_attr_bit(ua.AttributeIds.AccessLevel, ua.AccessLevel.HistoryRead) - node.unset_attr_bit(ua.AttributeIds.UserAccessLevel, ua.AccessLevel.HistoryRead) - self.history_manager.dehistorize(node) + await node.set_attribute(ua.AttributeIds.Historizing, ua.DataValue(False)) + await node.unset_attr_bit(ua.AttributeIds.AccessLevel, ua.AccessLevel.HistoryRead) + await node.unset_attr_bit(ua.AttributeIds.UserAccessLevel, ua.AccessLevel.HistoryRead) + await self.history_manager.dehistorize(node) - def enable_history_event(self, source, period=timedelta(days=7), count=0): + async def enable_history_event(self, source, period=timedelta(days=7), count=0): """ Set attribute History Read of object events to True and start storing data for history """ - event_notifier = source.get_event_notifier() + event_notifier = await source.get_event_notifier() if ua.EventNotifier.SubscribeToEvents not in event_notifier: raise ua.UaError('Node does not generate events', event_notifier) - if ua.EventNotifier.HistoryRead not in event_notifier: event_notifier.add(ua.EventNotifier.HistoryRead) - source.set_event_notifier(event_notifier) - - self.history_manager.historize_event(source, period, count) + await source.set_event_notifier(event_notifier) + await self.history_manager.historize_event(source, period, count) - def disable_history_event(self, source): + async def disable_history_event(self, source): """ Set attribute History Read of node to False and stop storing data for history """ source.unset_attr_bit(ua.AttributeIds.EventNotifier, ua.EventNotifier.HistoryRead) - self.history_manager.dehistorize(source) + await self.history_manager.dehistorize(source) def subscribe_server_callback(self, event, handle): """ @@ -374,7 +372,7 @@ def delete_monitored_items(self, params): CallbackType.ItemSubscriptionDeleted, ServerItemCallback(params, subscription_result)) return subscription_result - def publish(self, acks=None): + async def publish(self, acks=None): if acks is None: acks = [] return self.subscription_service.publish(acks) diff --git a/opcua/server/server.py b/opcua/server/server.py index 22b58c894..6a7f8dead 100644 --- a/opcua/server/server.py +++ b/opcua/server/server.py @@ -143,7 +143,7 @@ def find_servers(self, uris=None): params.ServerUris = uris return self.iserver.find_servers(params) - def register_to_discovery(self, url="opc.tcp://localhost:4840", period=60): + async def register_to_discovery(self, url="opc.tcp://localhost:4840", period=60): """ Register to an OPC-UA Discovery server. Registering must be renewed at least every 10 minutes, so this method will use our asyncio thread to @@ -152,13 +152,13 @@ def register_to_discovery(self, url="opc.tcp://localhost:4840", period=60): """ # FIXME: have a period per discovery if url in self._discovery_clients: - self._discovery_clients[url].disconnect() + await self._discovery_clients[url].disconnect() self._discovery_clients[url] = Client(url) - self._discovery_clients[url].connect() - self._discovery_clients[url].register_server(self) + await self._discovery_clients[url].connect() + await self._discovery_clients[url].register_server(self) self._discovery_period = period if period: - self.loop.call_soon(self._renew_registration) + self.loop.call_soon(self._schedule_renew_registration) def unregister_to_discovery(self, url="opc.tcp://localhost:4840"): """ @@ -167,10 +167,13 @@ def unregister_to_discovery(self, url="opc.tcp://localhost:4840"): # FIXME: is there really no way to deregister? self._discovery_clients[url].disconnect() - def _renew_registration(self): + def _schedule_renew_registration(self): + self.loop.create_task(self._renew_registration()) + self.loop.call_later(self._discovery_period, self._schedule_renew_registration) + + async def _renew_registration(self): for client in self._discovery_clients.values(): - client.register_server(self) - self.loop.call_later(self._discovery_period, self._renew_registration) + await client.register_server(self) def allow_remote_admin(self, allow): """ @@ -357,14 +360,16 @@ async def get_namespace_index(self, uri): uries = await self.get_namespace_array() return uries.index(uri) - def get_event_generator(self, etype=None, source=ua.ObjectIds.Server): + async def get_event_generator(self, etype=None, source=ua.ObjectIds.Server): """ Returns an event object using an event type from address space. Use this object to fire events """ if not etype: etype = BaseEvent() - return EventGenerator(self.iserver.isession, etype, source) + ev_gen = EventGenerator(self.iserver.isession, etype) + await ev_gen.set_source(source) + return ev_gen def create_custom_data_type(self, idx, name, basetype=ua.ObjectIds.BaseDataType, properties=None): if properties is None: @@ -457,7 +462,7 @@ def export_xml_by_ns(self, path, namespaces=None): def delete_nodes(self, nodes, recursive=False): return delete_nodes(self.iserver.isession, nodes, recursive) - def historize_node_data_change(self, node, period=timedelta(days=7), count=0): + async def historize_node_data_change(self, node, period=timedelta(days=7), count=0): """ Start historizing supplied nodes; see history module Args: @@ -469,7 +474,7 @@ def historize_node_data_change(self, node, period=timedelta(days=7), count=0): """ nodes = node if isinstance(node, (list, tuple)) else [node] for node in nodes: - self.iserver.enable_history_data_change(node, period, count) + await self.iserver.enable_history_data_change(node, period, count) def dehistorize_node_data_change(self, node): """ @@ -497,7 +502,7 @@ def historize_node_event(self, node, period=timedelta(days=7), count=0): for node in nodes: self.iserver.enable_history_event(node, period, count) - def dehistorize_node_event(self, node): + async def dehistorize_node_event(self, node): """ Stop historizing events from node (typically a UA object); see history module Args: @@ -507,7 +512,7 @@ def dehistorize_node_event(self, node): """ nodes = node if isinstance(node, (list, tuple)) else [node] for node in nodes: - self.iserver.disable_history_event(node) + await self.iserver.disable_history_event(node) def subscribe_server_callback(self, event, handle): self.iserver.subscribe_server_callback(event, handle) diff --git a/pytest.ini b/pytest.ini index e03329e11..78385b2ba 100644 --- a/pytest.ini +++ b/pytest.ini @@ -1,4 +1,4 @@ [pytest] log_cli=False log_print=True -log_level=DEBUG +log_level=INFO diff --git a/tests/test_server.py b/tests/test_server.py new file mode 100644 index 000000000..560654a06 --- /dev/null +++ b/tests/test_server.py @@ -0,0 +1,624 @@ +""" +Run common tests on server side +Tests that can only be run on server side must be defined here +""" +import asyncio +import pytest +import logging +import os +import shelve + +from .tests_common import CommonTests, add_server_methods +from .tests_xml import XmlTests +from .tests_subscriptions import SubscriptionTests +from datetime import timedelta, datetime +from tempfile import NamedTemporaryFile + +import opcua +from opcua import Server +from opcua import Client +from opcua import ua +from opcua import uamethod +from opcua.common.event_objects import BaseEvent, AuditEvent, AuditChannelEvent, AuditSecurityEvent, \ + AuditOpenSecureChannelEvent +from opcua.common import ua_utils + +port_num = 48540 +port_discovery = 48550 +pytestmark = pytest.mark.asyncio +_logger = logging.getLogger(__name__) + + +@pytest.fixture() +async def server(): + # start our own server + srv = Server() + await srv.init() + srv.set_endpoint(f'opc.tcp://127.0.0.1:{port_num}') + await add_server_methods(srv) + await srv.start() + yield srv + # stop the server + await srv.stop() + + +@pytest.fixture() +async def discovery_server(): + # start our own server + srv = Server() + await srv.init() + srv.set_application_uri('urn:freeopcua:python:discovery') + srv.set_endpoint(f'opc.tcp://127.0.0.1:{port_discovery}') + await srv.start() + yield srv + # stop the server + await srv.stop() + + +async def test_discovery(server, discovery_server): + client = Client(discovery_server.endpoint.geturl()) + async with client: + servers = await client.find_servers() + new_app_uri = 'urn:freeopcua:python:server:test_discovery' + server.application_uri = new_app_uri + await server.register_to_discovery(discovery_server.endpoint.geturl(), 0) + # let server register registration + await asyncio.sleep(0.1) + new_servers = await client.find_servers() + assert len(new_servers) - len(servers) == 1 + assert new_app_uri not in [s.ApplicationUri for s in servers] + assert new_app_uri in [s.ApplicationUri for s in new_servers] + + +async def test_find_servers2(server, discovery_server): + client = Client(discovery_server.endpoint.geturl()) + async with client: + servers = await client.find_servers() + new_app_uri1 = 'urn:freeopcua:python:server:test_discovery1' + server.application_uri = new_app_uri1 + await server.register_to_discovery(discovery_server.endpoint.geturl(), period=0) + new_app_uri2 = 'urn:freeopcua:python:test_discovery2' + server.application_uri = new_app_uri2 + await server.register_to_discovery(discovery_server.endpoint.geturl(), period=0) + await asyncio.sleep(0.1) # let server register registration + new_servers = await client.find_servers() + assert len(new_servers) - len(servers) == 2 + assert new_app_uri1 not in [s.ApplicationUri for s in servers] + assert new_app_uri2 not in [s.ApplicationUri for s in servers] + assert new_app_uri1 in [s.ApplicationUri for s in new_servers] + assert new_app_uri2 in [s.ApplicationUri for s in new_servers] + # now do a query with filer + new_servers = await client.find_servers(['urn:freeopcua:python:server']) + assert len(new_servers) - len(servers) == 0 + assert new_app_uri1 in [s.ApplicationUri for s in new_servers] + assert new_app_uri2 not in [s.ApplicationUri for s in new_servers] + # now do a query with filer + new_servers = await client.find_servers(['urn:freeopcua:python']) + assert len(new_servers) - len(servers) == 2 + assert new_app_uri1 in [s.ApplicationUri for s in new_servers] + assert new_app_uri2 in [s.ApplicationUri for s in new_servers] + + +async def test_register_namespace(server): + uri = 'http://mycustom.Namespace.com' + idx1 = await server.register_namespace(uri) + idx2 = await server.get_namespace_index(uri) + assert idx1 == idx2 + + +async def test_register_existing_namespace(server): + uri = 'http://mycustom.Namespace.com' + idx1 = await server.register_namespace(uri) + idx2 = await server.register_namespace(uri) + idx3 = await server.get_namespace_index(uri) + assert idx1 == idx2 + assert idx1 == idx3 + + +async def test_register_use_namespace(server): + uri = 'http://my_very_custom.Namespace.com' + idx = await server.register_namespace(uri) + root = server.get_root_node() + myvar = await root.add_variable(idx, 'var_in_custom_namespace', [5]) + myid = myvar.nodeid + assert idx == myid.NamespaceIndex + + +async def test_server_method(server): + def func(parent, variant): + variant.Value *= 2 + return [variant] + + o = server.get_objects_node() + v = await o.add_method(3, 'Method1', func, [ua.VariantType.Int64], [ua.VariantType.Int64]) + result = o.call_method(v, ua.Variant(2.1)) + assert result == 4.2 + + +async def test_historize_variable(server): + o = server.get_objects_node() + var = await o.add_variable(3, "test_hist", 1.0) + await server.iserver.enable_history_data_change(var, timedelta(days=1)) + await asyncio.sleep(1) + await var.set_value(2.0) + await var.set_value(3.0) + await server.iserver.disable_history_data_change(var) + + +async def test_historize_events(server): + srv_node = server.get_node(ua.ObjectIds.Server) + assert await srv_node.get_event_notifier() == {ua.EventNotifier.SubscribeToEvents} + srvevgen = await server.get_event_generator() + await server.iserver.enable_history_event(srv_node, period=None) + assert await srv_node.get_event_notifier() == {ua.EventNotifier.SubscribeToEvents, ua.EventNotifier.HistoryRead} + srvevgen.trigger(message='Message') + server.iserver.disable_history_event(srv_node) + + +async def test_references_for_added_nodes_method(server): + objects = server.get_objects_node() + o = await objects.add_object(3, 'MyObject') + nodes = await objects.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Forward, + includesubtypes=False) + assert o in nodes + nodes = await o.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Inverse, + includesubtypes=False) + assert objects in nodes + assert await o.get_parent() == objects + assert (await o.get_type_definition()).Identifier == ua.ObjectIds.BaseObjectType + + @uamethod + def callback(parent): + return + + m = await o.add_method(3, 'MyMethod', callback) + nodes = await o.get_referenced_nodes(refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Forward, + includesubtypes=False) + assert m in nodes + nodes = await m.get_referenced_nodes(refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Inverse, + includesubtypes=False) + assert o in nodes + assert await m.get_parent() == o + + +async def test_get_event_from_type_node_BaseEvent(server): + """ + This should work for following BaseEvent tests to work + (maybe to write it a bit differentlly since they are not independent) + """ + ev = opcua.common.events.get_event_obj_from_type_node( + opcua.Node(server.iserver.isession, ua.NodeId(ua.ObjectIds.BaseEventType)) + ) + check_base_event(ev) + + +async def test_get_event_from_type_node_Inhereted_AuditEvent(server): + ev = opcua.common.events.get_event_obj_from_type_node( + opcua.Node(server.iserver.isession, ua.NodeId(ua.ObjectIds.AuditEventType)) + ) + # we did not receive event + assert ev is not None + assert isinstance(ev, BaseEvent) + assert isinstance(ev, AuditEvent) + assert ev.EventType == ua.NodeId(ua.ObjectIds.AuditEventType) + assert ev.Severity == 1 + assert ev.ActionTimeStamp is None + assert ev.Status == False + assert ev.ServerId is None + assert ev.ClientAuditEntryId is None + assert ev.ClientUserId is None + + +async def test_get_event_from_type_node_MultiInhereted_AuditOpenSecureChannelEvent(server): + ev = opcua.common.events.get_event_obj_from_type_node( + opcua.Node(server.iserver.isession, ua.NodeId(ua.ObjectIds.AuditOpenSecureChannelEventType)) + ) + assert ev is not None + assert isinstance(ev, BaseEvent) + assert isinstance(ev, AuditEvent) + assert isinstance(ev, AuditSecurityEvent) + assert isinstance(ev, AuditChannelEvent) + assert isinstance(ev, AuditOpenSecureChannelEvent) + assert ev.EventType == ua.NodeId(ua.ObjectIds.AuditOpenSecureChannelEventType) + assert ev.Severity == 1 + assert ev.ClientCertificate is None + assert ev.ClientCertificateThumbprint is None + assert ev.RequestType is None + assert ev.SecurityPolicyUri is None + assert ev.SecurityMode is None + assert ev.RequestedLifetime is None + + +async def test_eventgenerator_default(server): + evgen = await server.get_event_generator() + await check_eventgenerator_BaseEvent(evgen, server) + await check_eventgenerator_SourceServer(evgen, server) + + +async def test_eventgenerator_BaseEvent_object(server): + evgen = await server.get_event_generator(BaseEvent()) + await check_eventgenerator_BaseEvent(evgen, server) + await check_eventgenerator_SourceServer(evgen, server) + +""" +class TestServer(unittest.TestCase, CommonTests, SubscriptionTests, XmlTests): + + + @classmethod + def setUpClass(cls): + cls.srv = Server() + cls.srv.set_endpoint('opc.tcp://127.0.0.1:{0:d}'.format(port_num)) + add_server_methods(cls.srv) + cls.srv.start() + cls.opc = cls.srv + cls.discovery = Server() + cls.discovery.set_application_uri("urn:freeopcua:python:discovery") + cls.discovery.set_endpoint('opc.tcp://127.0.0.1:{0:d}'.format(port_discovery)) + cls.discovery.start() + + @classmethod + def tearDownClass(cls): + cls.srv.stop() + cls.discovery.stop() + + # def test_register_server2(self): + # servers = server.register_server() + + def test_eventgenerator_BaseEvent_Node(self): + evgen = server.get_event_generator(opcua.Node(server.iserver.isession, ua.NodeId(ua.ObjectIds.BaseEventType))) + check_eventgenerator_BaseEvent(self, evgen) + check_eventgenerator_SourceServer(self, evgen) + + def test_eventgenerator_BaseEvent_NodeId(self): + evgen = server.get_event_generator(ua.NodeId(ua.ObjectIds.BaseEventType)) + check_eventgenerator_BaseEvent(self, evgen) + check_eventgenerator_SourceServer(self, evgen) + + def test_eventgenerator_BaseEvent_ObjectIds(self): + evgen = server.get_event_generator(ua.ObjectIds.BaseEventType) + check_eventgenerator_BaseEvent(self, evgen) + check_eventgenerator_SourceServer(self, evgen) + + def test_eventgenerator_BaseEvent_Identifier(self): + evgen = server.get_event_generator(2041) + check_eventgenerator_BaseEvent(self, evgen) + check_eventgenerator_SourceServer(self, evgen) + + def test_eventgenerator_sourceServer_Node(self): + evgen = server.get_event_generator(source=opcua.Node(server.iserver.isession, ua.NodeId(ua.ObjectIds.Server))) + check_eventgenerator_BaseEvent(self, evgen) + check_eventgenerator_SourceServer(self, evgen) + + def test_eventgenerator_sourceServer_NodeId(self): + evgen = server.get_event_generator(source=ua.NodeId(ua.ObjectIds.Server)) + check_eventgenerator_BaseEvent(self, evgen) + check_eventgenerator_SourceServer(self, evgen) + + def test_eventgenerator_sourceServer_ObjectIds(self): + evgen = server.get_event_generator(source=ua.ObjectIds.Server) + check_eventgenerator_BaseEvent(self, evgen) + check_eventgenerator_SourceServer(self, evgen) + + def test_eventgenerator_sourceMyObject(self): + objects = server.get_objects_node() + o = objects.add_object(3, 'MyObject') + evgen = server.get_event_generator(source=o) + check_eventgenerator_BaseEvent(self, evgen) + check_event_generator_object(self, evgen, o) + + def test_eventgenerator_source_collision(self): + objects = server.get_objects_node() + o = objects.add_object(3, 'MyObject') + event = BaseEvent(sourcenode=o.nodeid) + evgen = server.get_event_generator(event, ua.ObjectIds.Server) + check_eventgenerator_BaseEvent(self, evgen) + check_event_generator_object(self, evgen, o) + + def test_eventgenerator_InheritedEvent(self): + evgen = server.get_event_generator(ua.ObjectIds.AuditEventType) + check_eventgenerator_SourceServer(self, evgen) + + ev = evgen.event + self.assertIsNot(ev, None) # we did not receive event + self.assertIsInstance(ev, BaseEvent) + self.assertIsInstance(ev, AuditEvent) + self.assertEqual(ev.EventType, ua.NodeId(ua.ObjectIds.AuditEventType)) + self.assertEqual(ev.Severity, 1) + self.assertEqual(ev.ActionTimeStamp, None) + self.assertEqual(ev.Status, False) + self.assertEqual(ev.ServerId, None) + self.assertEqual(ev.ClientAuditEntryId, None) + self.assertEqual(ev.ClientUserId, None) + + def test_eventgenerator_MultiInheritedEvent(self): + evgen = server.get_event_generator(ua.ObjectIds.AuditOpenSecureChannelEventType) + check_eventgenerator_SourceServer(self, evgen) + + ev = evgen.event + self.assertIsNot(ev, None) # we did not receive event + self.assertIsInstance(ev, BaseEvent) + self.assertIsInstance(ev, AuditEvent) + self.assertIsInstance(ev, AuditSecurityEvent) + self.assertIsInstance(ev, AuditChannelEvent) + self.assertIsInstance(ev, AuditOpenSecureChannelEvent) + self.assertEqual(ev.EventType, ua.NodeId(ua.ObjectIds.AuditOpenSecureChannelEventType)) + self.assertEqual(ev.Severity, 1), + self.assertEqual(ev.ClientCertificate, None) + self.assertEqual(ev.ClientCertificateThumbprint, None) + self.assertEqual(ev.RequestType, None) + self.assertEqual(ev.SecurityPolicyUri, None) + self.assertEqual(ev.SecurityMode, None) + self.assertEqual(ev.RequestedLifetime, None) + + # For the custom events all posibilites are tested. For other custom types only one test case is done since they are using the same code + def test_create_custom_data_type_ObjectId(self): + type = server.create_custom_data_type(2, 'MyDataType', ua.ObjectIds.BaseDataType, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) + check_custom_type(self, type, ua.ObjectIds.BaseDataType) + + def test_create_custom_event_type_ObjectId(self): + type = server.create_custom_event_type(2, 'MyEvent', ua.ObjectIds.BaseEventType, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) + check_custom_type(self, type, ua.ObjectIds.BaseEventType) + + def test_create_custom_object_type_ObjectId(self): + def func(parent, variant): + return [ua.Variant(ret, ua.VariantType.Boolean)] + + properties = [('PropertyNum', ua.VariantType.Int32), + ('PropertyString', ua.VariantType.String)] + variables = [('VariableString', ua.VariantType.String), + ('MyEnumVar', ua.VariantType.Int32, ua.NodeId(ua.ObjectIds.ApplicationType))] + methods = [('MyMethod', func, [ua.VariantType.Int64], [ua.VariantType.Boolean])] + + node_type = server.create_custom_object_type(2, 'MyObjectType', ua.ObjectIds.BaseObjectType, properties, variables, methods) + + check_custom_type(self, node_type, ua.ObjectIds.BaseObjectType) + variables = node_type.get_variables() + self.assertTrue(node_type.get_child("2:VariableString") in variables) + self.assertEqual(node_type.get_child("2:VariableString").get_data_value().Value.VariantType, ua.VariantType.String) + self.assertTrue(node_type.get_child("2:MyEnumVar") in variables) + self.assertEqual(node_type.get_child("2:MyEnumVar").get_data_value().Value.VariantType, ua.VariantType.Int32) + self.assertEqual(node_type.get_child("2:MyEnumVar").get_data_type(), ua.NodeId(ua.ObjectIds.ApplicationType)) + methods = node_type.get_methods() + self.assertTrue(node_type.get_child("2:MyMethod") in methods) + + # def test_create_custom_refrence_type_ObjectId(self): + # type = server.create_custom_reference_type(2, 'MyEvent', ua.ObjectIds.Base, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) + # check_custom_type(self, type, ua.ObjectIds.BaseObjectType) + + def test_create_custom_variable_type_ObjectId(self): + type = server.create_custom_variable_type(2, 'MyVariableType', ua.ObjectIds.BaseVariableType, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) + check_custom_type(self, type, ua.ObjectIds.BaseVariableType) + + def test_create_custom_event_type_NodeId(self): + etype = server.create_custom_event_type(2, 'MyEvent', ua.NodeId(ua.ObjectIds.BaseEventType), [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) + check_custom_type(self, etype, ua.ObjectIds.BaseEventType) + + def test_create_custom_event_type_Node(self): + etype = server.create_custom_event_type(2, 'MyEvent', opcua.Node(server.iserver.isession, ua.NodeId(ua.ObjectIds.BaseEventType)), [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) + check_custom_type(self, etype, ua.ObjectIds.BaseEventType) + + def test_get_event_from_type_node_CustomEvent(self): + etype = server.create_custom_event_type(2, 'MyEvent', ua.ObjectIds.BaseEventType, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) + + ev = opcua.common.events.get_event_obj_from_type_node(etype) + check_custom_event(self, ev, etype) + self.assertEqual(ev.PropertyNum, 0) + self.assertEqual(ev.PropertyString, None) + + def test_eventgenerator_customEvent(self): + etype = server.create_custom_event_type(2, 'MyEvent', ua.ObjectIds.BaseEventType, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) + + evgen = server.get_event_generator(etype, ua.ObjectIds.Server) + check_eventgenerator_CustomEvent(self, evgen, etype) + check_eventgenerator_SourceServer(self, evgen) + + self.assertEqual(evgen.event.PropertyNum, 0) + self.assertEqual(evgen.event.PropertyString, None) + + def test_eventgenerator_double_customEvent(self): + event1 = server.create_custom_event_type(3, 'MyEvent1', ua.ObjectIds.BaseEventType, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) + + event2 = server.create_custom_event_type(4, 'MyEvent2', event1, [('PropertyBool', ua.VariantType.Boolean), ('PropertyInt', ua.VariantType.Int32)]) + + evgen = server.get_event_generator(event2, ua.ObjectIds.Server) + check_eventgenerator_CustomEvent(self, evgen, event2) + check_eventgenerator_SourceServer(self, evgen) + + # Properties from MyEvent1 + self.assertEqual(evgen.event.PropertyNum, 0) + self.assertEqual(evgen.event.PropertyString, None) + + # Properties from MyEvent2 + self.assertEqual(evgen.event.PropertyBool, False) + self.assertEqual(evgen.event.PropertyInt, 0) + + def test_eventgenerator_customEvent_MyObject(self): + objects = server.get_objects_node() + o = objects.add_object(3, 'MyObject') + etype = server.create_custom_event_type(2, 'MyEvent', ua.ObjectIds.BaseEventType, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) + + evgen = server.get_event_generator(etype, o) + check_eventgenerator_CustomEvent(self, evgen, etype) + check_event_generator_object(self, evgen, o) + + self.assertEqual(evgen.event.PropertyNum, 0) + self.assertEqual(evgen.event.PropertyString, None) + + def test_context_manager(self): + # Context manager calls start() and stop() + state = [0] + def increment_state(self, *args, **kwargs): + state[0] += 1 + + # create server and replace instance methods with dummy methods + server = Server() + server.start = increment_state.__get__(server) + server.stop = increment_state.__get__(server) + + assert state[0] == 0 + with server: + # test if server started + self.assertEqual(state[0], 1) + # test if server stopped + self.assertEqual(state[0], 2) + + def test_get_node_by_ns(self): + + def get_ns_of_nodes(nodes): + ns_list = set() + for node in nodes: + ns_list.add(node.nodeid.NamespaceIndex) + return ns_list + + # incase other testss created nodes in unregistered namespace + _idx_d = server.register_namespace('dummy1') + _idx_d = server.register_namespace('dummy2') + _idx_d = server.register_namespace('dummy3') + + # create the test namespaces and vars + idx_a = server.register_namespace('a') + idx_b = server.register_namespace('b') + idx_c = server.register_namespace('c') + o = server.get_objects_node() + _myvar2 = o.add_variable(idx_a, "MyBoolVar2", True) + _myvar3 = o.add_variable(idx_b, "MyBoolVar3", True) + _myvar4 = o.add_variable(idx_c, "MyBoolVar4", True) + + # the tests + nodes = ua_utils.get_nodes_of_namespace(server, namespaces=[idx_a, idx_b, idx_c]) + self.assertEqual(len(nodes), 3) + self.assertEqual(get_ns_of_nodes(nodes), set([idx_a, idx_b, idx_c])) + + nodes = ua_utils.get_nodes_of_namespace(server, namespaces=[idx_a]) + self.assertEqual(len(nodes), 1) + self.assertEqual(get_ns_of_nodes(nodes), set([idx_a])) + + nodes = ua_utils.get_nodes_of_namespace(server, namespaces=[idx_b]) + self.assertEqual(len(nodes), 1) + self.assertEqual(get_ns_of_nodes(nodes), set([idx_b])) + + nodes = ua_utils.get_nodes_of_namespace(server, namespaces=['a']) + self.assertEqual(len(nodes), 1) + self.assertEqual(get_ns_of_nodes(nodes), set([idx_a])) + + nodes = ua_utils.get_nodes_of_namespace(server, namespaces=['a', 'c']) + self.assertEqual(len(nodes), 2) + self.assertEqual(get_ns_of_nodes(nodes), set([idx_a, idx_c])) + + nodes = ua_utils.get_nodes_of_namespace(server, namespaces='b') + self.assertEqual(len(nodes), 1) + self.assertEqual(get_ns_of_nodes(nodes), set([idx_b])) + + nodes = ua_utils.get_nodes_of_namespace(server, namespaces=idx_b) + self.assertEqual(len(nodes), 1) + self.assertEqual(get_ns_of_nodes(nodes), set([idx_b])) + + self.assertRaises(ValueError, ua_utils.get_nodes_of_namespace, server, namespaces='non_existing_ns') +""" + + +async def check_eventgenerator_SourceServer(evgen, server: Server): + server_node = server.get_server_node() + assert evgen.event.SourceName == (await server_node.get_browse_name()).Name + assert evgen.event.SourceNode == ua.NodeId(ua.ObjectIds.Server) + assert await server_node.get_event_notifier() == {ua.EventNotifier.SubscribeToEvents} + refs = await server_node.get_referenced_nodes(ua.ObjectIds.GeneratesEvent, ua.BrowseDirection.Forward, + ua.NodeClass.ObjectType, False) + assert len(refs) >= 1 + + +async def check_event_generator_object(evgen, obj): + assert evgen.event.SourceName == obj.get_browse_name().Name + assert evgen.event.SourceNode == obj.nodeid + assert await obj.get_event_notifier() == {ua.EventNotifier.SubscribeToEvents} + refs = await obj.get_referenced_nodes(ua.ObjectIds.GeneratesEvent, ua.BrowseDirection.Forward, + ua.NodeClass.ObjectType, False) + assert len(refs) == 1 + assert refs[0].nodeid == evgen.event.EventType + + +async def check_eventgenerator_BaseEvent(evgen, server: Server): + # we did not receive event generator + assert evgen is not None + assert evgen.isession is server.iserver.isession + check_base_event(evgen.event) + + +def check_base_event(ev): + # we did not receive event + assert ev is not None + assert isinstance(ev, BaseEvent) + assert ev.EventType == ua.NodeId(ua.ObjectIds.BaseEventType) + assert ev.Severity == 1 + + +def check_eventgenerator_CustomEvent(evgen, etype, server: Server): + # we did not receive event generator + assert evgen is not None + assert evgen.isession is server.iserver.isession + check_custom_event(evgen.event, etype) + + +def check_custom_event(ev, etype): + # we did not receive event + assert ev is not None + assert isinstance(ev, BaseEvent) + assert ev.EventType == etype.nodeid + assert ev.Severity == 1 + + +async def check_custom_type(type, base_type, server: Server): + base = opcua.Node(server.iserver.isession, ua.NodeId(base_type)) + assert type in await base.get_children() + nodes = await type.get_referenced_nodes(refs=ua.ObjectIds.HasSubtype, direction=ua.BrowseDirection.Inverse, + includesubtypes=True) + assert base == nodes[0] + properties = type.get_properties() + assert properties is not None + assert len(properties) == 2 + assert type.get_child("2:PropertyNum") in properties + assert type.get_child("2:PropertyNum").get_data_value().Value.VariantType == ua.VariantType.Int32 + assert type.get_child("2:PropertyString") in properties + assert type.get_child("2:PropertyString").get_data_value().Value.VariantType == ua.VariantType.String + +""" +class TestServerCaching(unittest.TestCase): + def runTest(self): + return # FIXME broken + tmpfile = NamedTemporaryFile() + path = tmpfile.name + tmpfile.close() + + # create cache file + server = Server(shelffile=path) + + # modify cache content + id = ua.NodeId(ua.ObjectIds.Server_ServerStatus_SecondsTillShutdown) + s = shelve.open(path, "w", writeback=True) + s[id.to_string()].attributes[ua.AttributeIds.Value].value = ua.DataValue(123) + s.close() + + # ensure that we are actually loading from the cache + server = Server(shelffile=path) + self.assertEqual(server.get_node(id).get_value(), 123) + + os.remove(path) + +class TestServerStartError(unittest.TestCase): + + def test_port_in_use(self): + + server1 = Server() + server1.set_endpoint('opc.tcp://127.0.0.1:{0:d}'.format(port_num + 1)) + server1.start() + + server2 = Server() + server2.set_endpoint('opc.tcp://127.0.0.1:{0:d}'.format(port_num + 1)) + try: + server2.start() + except Exception: + pass + + server1.stop() + server2.stop() +""" \ No newline at end of file diff --git a/tests/tests_server.py b/tests/tests_server.py deleted file mode 100644 index 7b618443c..000000000 --- a/tests/tests_server.py +++ /dev/null @@ -1,582 +0,0 @@ - -import pytest -import os -import shelve -import time - -from .tests_common import CommonTests, add_server_methods -from .tests_xml import XmlTests -from .tests_subscriptions import SubscriptionTests -from datetime import timedelta, datetime -from tempfile import NamedTemporaryFile - -import opcua -from opcua import Server -from opcua import Client -from opcua import ua -from opcua import uamethod -from opcua.common.event_objects import BaseEvent, AuditEvent, AuditChannelEvent, AuditSecurityEvent, AuditOpenSecureChannelEvent -from opcua.common import ua_utils - - -port_num = 48540 -port_discovery = 48550 - - -class TestServer(unittest.TestCase, CommonTests, SubscriptionTests, XmlTests): - - ''' - Run common tests on server side - Tests that can only be run on server side must be defined here - ''' - @classmethod - def setUpClass(cls): - cls.srv = Server() - cls.srv.set_endpoint('opc.tcp://127.0.0.1:{0:d}'.format(port_num)) - add_server_methods(cls.srv) - cls.srv.start() - cls.opc = cls.srv - cls.discovery = Server() - cls.discovery.set_application_uri("urn:freeopcua:python:discovery") - cls.discovery.set_endpoint('opc.tcp://127.0.0.1:{0:d}'.format(port_discovery)) - cls.discovery.start() - - @classmethod - def tearDownClass(cls): - cls.srv.stop() - cls.discovery.stop() - - def test_discovery(self): - client = Client(self.discovery.endpoint.geturl()) - client.connect() - try: - servers = client.find_servers() - new_app_uri = "urn:freeopcua:python:server:test_discovery" - self.srv.application_uri = new_app_uri - self.srv.register_to_discovery(self.discovery.endpoint.geturl(), 0) - time.sleep(0.1) # let server register registration - new_servers = client.find_servers() - self.assertEqual(len(new_servers) - len(servers) , 1) - self.assertFalse(new_app_uri in [s.ApplicationUri for s in servers]) - self.assertTrue(new_app_uri in [s.ApplicationUri for s in new_servers]) - finally: - client.disconnect() - - def test_find_servers2(self): - client = Client(self.discovery.endpoint.geturl()) - client.connect() - try: - servers = client.find_servers() - new_app_uri1 = "urn:freeopcua:python:server:test_discovery1" - self.srv.application_uri = new_app_uri1 - self.srv.register_to_discovery(self.discovery.endpoint.geturl(), period=0) - new_app_uri2 = "urn:freeopcua:python:test_discovery2" - self.srv.application_uri = new_app_uri2 - self.srv.register_to_discovery(self.discovery.endpoint.geturl(), period=0) - time.sleep(0.1) # let server register registration - new_servers = client.find_servers() - self.assertEqual(len(new_servers) - len(servers) , 2) - self.assertFalse(new_app_uri1 in [s.ApplicationUri for s in servers]) - self.assertFalse(new_app_uri2 in [s.ApplicationUri for s in servers]) - self.assertTrue(new_app_uri1 in [s.ApplicationUri for s in new_servers]) - self.assertTrue(new_app_uri2 in [s.ApplicationUri for s in new_servers]) - # now do a query with filer - new_servers = client.find_servers(["urn:freeopcua:python:server"]) - self.assertEqual(len(new_servers) - len(servers) , 0) - self.assertTrue(new_app_uri1 in [s.ApplicationUri for s in new_servers]) - self.assertFalse(new_app_uri2 in [s.ApplicationUri for s in new_servers]) - # now do a query with filer - new_servers = client.find_servers(["urn:freeopcua:python"]) - self.assertEqual(len(new_servers) - len(servers) , 2) - self.assertTrue(new_app_uri1 in [s.ApplicationUri for s in new_servers]) - self.assertTrue(new_app_uri2 in [s.ApplicationUri for s in new_servers]) - finally: - client.disconnect() - - - """ - # not sure if this test is necessary, and there is a lot repetition with previous test - def test_discovery_server_side(self): - servers = self.discovery.find_servers() - self.assertEqual(len(servers), 1) - self.srv.register_to_discovery(self.discovery.endpoint.geturl(), 1) - time.sleep(1) # let server register registration - servers = self.discovery.find_servers() - print("SERVERS 2", servers) - self.assertEqual(len(servers), 2) - """ - # def test_register_server2(self): - # servers = self.opc.register_server() - - def test_register_namespace(self): - uri = 'http://mycustom.Namespace.com' - idx1 = self.opc.register_namespace(uri) - idx2 = self.opc.get_namespace_index(uri) - self.assertEqual(idx1, idx2) - - def test_register_existing_namespace(self): - uri = 'http://mycustom.Namespace.com' - idx1 = self.opc.register_namespace(uri) - idx2 = self.opc.register_namespace(uri) - idx3 = self.opc.get_namespace_index(uri) - self.assertEqual(idx1, idx2) - self.assertEqual(idx1, idx3) - - def test_register_use_namespace(self): - uri = 'http://my_very_custom.Namespace.com' - idx = self.opc.register_namespace(uri) - root = self.opc.get_root_node() - myvar = root.add_variable(idx, 'var_in_custom_namespace', [5]) - myid = myvar.nodeid - self.assertEqual(idx, myid.NamespaceIndex) - - def test_server_method(self): - def func(parent, variant): - variant.Value *= 2 - return [variant] - o = self.opc.get_objects_node() - v = o.add_method(3, 'Method1', func, [ua.VariantType.Int64], [ua.VariantType.Int64]) - result = o.call_method(v, ua.Variant(2.1)) - self.assertEqual(result, 4.2) - - def test_historize_variable(self): - o = self.opc.get_objects_node() - var = o.add_variable(3, "test_hist", 1.0) - self.srv.iserver.enable_history_data_change(var, timedelta(days=1)) - time.sleep(1) - var.set_value(2.0) - var.set_value(3.0) - self.srv.iserver.disable_history_data_change(var) - - def test_historize_events(self): - srv_node = self.srv.get_node(ua.ObjectIds.Server) - self.assertEqual( - srv_node.get_event_notifier(), - {ua.EventNotifier.SubscribeToEvents} - ) - srvevgen = self.srv.get_event_generator() - self.srv.iserver.enable_history_event(srv_node, period=None) - self.assertEqual( - srv_node.get_event_notifier(), - {ua.EventNotifier.SubscribeToEvents, ua.EventNotifier.HistoryRead} - ) - srvevgen.trigger(message="Message") - self.srv.iserver.disable_history_event(srv_node) - - def test_references_for_added_nodes_method(self): - objects = self.opc.get_objects_node() - o = objects.add_object(3, 'MyObject') - nodes = objects.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Forward, includesubtypes=False) - self.assertTrue(o in nodes) - nodes = o.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Inverse, includesubtypes=False) - self.assertTrue(objects in nodes) - self.assertEqual(o.get_parent(), objects) - self.assertEqual(o.get_type_definition().Identifier, ua.ObjectIds.BaseObjectType) - - @uamethod - def callback(parent): - return - - m = o.add_method(3, 'MyMethod', callback) - nodes = o.get_referenced_nodes(refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Forward, includesubtypes=False) - self.assertTrue(m in nodes) - nodes = m.get_referenced_nodes(refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Inverse, includesubtypes=False) - self.assertTrue(o in nodes) - self.assertEqual(m.get_parent(), o) - - # This should work for following BaseEvent tests to work (maybe to write it a bit differentlly since they are not independent) - def test_get_event_from_type_node_BaseEvent(self): - ev = opcua.common.events.get_event_obj_from_type_node(opcua.Node(self.opc.iserver.isession, ua.NodeId(ua.ObjectIds.BaseEventType))) - check_base_event(self, ev) - - def test_get_event_from_type_node_Inhereted_AuditEvent(self): - ev = opcua.common.events.get_event_obj_from_type_node(opcua.Node(self.opc.iserver.isession, ua.NodeId(ua.ObjectIds.AuditEventType))) - self.assertIsNot(ev, None) # we did not receive event - self.assertIsInstance(ev, BaseEvent) - self.assertIsInstance(ev, AuditEvent) - self.assertEqual(ev.EventType, ua.NodeId(ua.ObjectIds.AuditEventType)) - self.assertEqual(ev.Severity, 1) - self.assertEqual(ev.ActionTimeStamp, None) - self.assertEqual(ev.Status, False) - self.assertEqual(ev.ServerId, None) - self.assertEqual(ev.ClientAuditEntryId, None) - self.assertEqual(ev.ClientUserId, None) - - def test_get_event_from_type_node_MultiInhereted_AuditOpenSecureChannelEvent(self): - ev = opcua.common.events.get_event_obj_from_type_node(opcua.Node(self.opc.iserver.isession, ua.NodeId(ua.ObjectIds.AuditOpenSecureChannelEventType))) - self.assertIsNot(ev, None) - self.assertIsInstance(ev, BaseEvent) - self.assertIsInstance(ev, AuditEvent) - self.assertIsInstance(ev, AuditSecurityEvent) - self.assertIsInstance(ev, AuditChannelEvent) - self.assertIsInstance(ev, AuditOpenSecureChannelEvent) - self.assertEqual(ev.EventType, ua.NodeId(ua.ObjectIds.AuditOpenSecureChannelEventType)) - self.assertEqual(ev.Severity, 1), - self.assertEqual(ev.ClientCertificate, None) - self.assertEqual(ev.ClientCertificateThumbprint, None) - self.assertEqual(ev.RequestType, None) - self.assertEqual(ev.SecurityPolicyUri, None) - self.assertEqual(ev.SecurityMode, None) - self.assertEqual(ev.RequestedLifetime, None) - - def test_eventgenerator_default(self): - evgen = self.opc.get_event_generator() - check_eventgenerator_BaseEvent(self, evgen) - check_eventgenerator_SourceServer(self, evgen) - - def test_eventgenerator_BaseEvent_object(self): - evgen = self.opc.get_event_generator(BaseEvent()) - check_eventgenerator_BaseEvent(self, evgen) - check_eventgenerator_SourceServer(self, evgen) - - def test_eventgenerator_BaseEvent_Node(self): - evgen = self.opc.get_event_generator(opcua.Node(self.opc.iserver.isession, ua.NodeId(ua.ObjectIds.BaseEventType))) - check_eventgenerator_BaseEvent(self, evgen) - check_eventgenerator_SourceServer(self, evgen) - - def test_eventgenerator_BaseEvent_NodeId(self): - evgen = self.opc.get_event_generator(ua.NodeId(ua.ObjectIds.BaseEventType)) - check_eventgenerator_BaseEvent(self, evgen) - check_eventgenerator_SourceServer(self, evgen) - - def test_eventgenerator_BaseEvent_ObjectIds(self): - evgen = self.opc.get_event_generator(ua.ObjectIds.BaseEventType) - check_eventgenerator_BaseEvent(self, evgen) - check_eventgenerator_SourceServer(self, evgen) - - def test_eventgenerator_BaseEvent_Identifier(self): - evgen = self.opc.get_event_generator(2041) - check_eventgenerator_BaseEvent(self, evgen) - check_eventgenerator_SourceServer(self, evgen) - - def test_eventgenerator_sourceServer_Node(self): - evgen = self.opc.get_event_generator(source=opcua.Node(self.opc.iserver.isession, ua.NodeId(ua.ObjectIds.Server))) - check_eventgenerator_BaseEvent(self, evgen) - check_eventgenerator_SourceServer(self, evgen) - - def test_eventgenerator_sourceServer_NodeId(self): - evgen = self.opc.get_event_generator(source=ua.NodeId(ua.ObjectIds.Server)) - check_eventgenerator_BaseEvent(self, evgen) - check_eventgenerator_SourceServer(self, evgen) - - def test_eventgenerator_sourceServer_ObjectIds(self): - evgen = self.opc.get_event_generator(source=ua.ObjectIds.Server) - check_eventgenerator_BaseEvent(self, evgen) - check_eventgenerator_SourceServer(self, evgen) - - def test_eventgenerator_sourceMyObject(self): - objects = self.opc.get_objects_node() - o = objects.add_object(3, 'MyObject') - evgen = self.opc.get_event_generator(source=o) - check_eventgenerator_BaseEvent(self, evgen) - check_event_generator_object(self, evgen, o) - - def test_eventgenerator_source_collision(self): - objects = self.opc.get_objects_node() - o = objects.add_object(3, 'MyObject') - event = BaseEvent(sourcenode=o.nodeid) - evgen = self.opc.get_event_generator(event, ua.ObjectIds.Server) - check_eventgenerator_BaseEvent(self, evgen) - check_event_generator_object(self, evgen, o) - - def test_eventgenerator_InheritedEvent(self): - evgen = self.opc.get_event_generator(ua.ObjectIds.AuditEventType) - check_eventgenerator_SourceServer(self, evgen) - - ev = evgen.event - self.assertIsNot(ev, None) # we did not receive event - self.assertIsInstance(ev, BaseEvent) - self.assertIsInstance(ev, AuditEvent) - self.assertEqual(ev.EventType, ua.NodeId(ua.ObjectIds.AuditEventType)) - self.assertEqual(ev.Severity, 1) - self.assertEqual(ev.ActionTimeStamp, None) - self.assertEqual(ev.Status, False) - self.assertEqual(ev.ServerId, None) - self.assertEqual(ev.ClientAuditEntryId, None) - self.assertEqual(ev.ClientUserId, None) - - def test_eventgenerator_MultiInheritedEvent(self): - evgen = self.opc.get_event_generator(ua.ObjectIds.AuditOpenSecureChannelEventType) - check_eventgenerator_SourceServer(self, evgen) - - ev = evgen.event - self.assertIsNot(ev, None) # we did not receive event - self.assertIsInstance(ev, BaseEvent) - self.assertIsInstance(ev, AuditEvent) - self.assertIsInstance(ev, AuditSecurityEvent) - self.assertIsInstance(ev, AuditChannelEvent) - self.assertIsInstance(ev, AuditOpenSecureChannelEvent) - self.assertEqual(ev.EventType, ua.NodeId(ua.ObjectIds.AuditOpenSecureChannelEventType)) - self.assertEqual(ev.Severity, 1), - self.assertEqual(ev.ClientCertificate, None) - self.assertEqual(ev.ClientCertificateThumbprint, None) - self.assertEqual(ev.RequestType, None) - self.assertEqual(ev.SecurityPolicyUri, None) - self.assertEqual(ev.SecurityMode, None) - self.assertEqual(ev.RequestedLifetime, None) - - # For the custom events all posibilites are tested. For other custom types only one test case is done since they are using the same code - def test_create_custom_data_type_ObjectId(self): - type = self.opc.create_custom_data_type(2, 'MyDataType', ua.ObjectIds.BaseDataType, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) - check_custom_type(self, type, ua.ObjectIds.BaseDataType) - - def test_create_custom_event_type_ObjectId(self): - type = self.opc.create_custom_event_type(2, 'MyEvent', ua.ObjectIds.BaseEventType, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) - check_custom_type(self, type, ua.ObjectIds.BaseEventType) - - def test_create_custom_object_type_ObjectId(self): - def func(parent, variant): - return [ua.Variant(ret, ua.VariantType.Boolean)] - - properties = [('PropertyNum', ua.VariantType.Int32), - ('PropertyString', ua.VariantType.String)] - variables = [('VariableString', ua.VariantType.String), - ('MyEnumVar', ua.VariantType.Int32, ua.NodeId(ua.ObjectIds.ApplicationType))] - methods = [('MyMethod', func, [ua.VariantType.Int64], [ua.VariantType.Boolean])] - - node_type = self.opc.create_custom_object_type(2, 'MyObjectType', ua.ObjectIds.BaseObjectType, properties, variables, methods) - - check_custom_type(self, node_type, ua.ObjectIds.BaseObjectType) - variables = node_type.get_variables() - self.assertTrue(node_type.get_child("2:VariableString") in variables) - self.assertEqual(node_type.get_child("2:VariableString").get_data_value().Value.VariantType, ua.VariantType.String) - self.assertTrue(node_type.get_child("2:MyEnumVar") in variables) - self.assertEqual(node_type.get_child("2:MyEnumVar").get_data_value().Value.VariantType, ua.VariantType.Int32) - self.assertEqual(node_type.get_child("2:MyEnumVar").get_data_type(), ua.NodeId(ua.ObjectIds.ApplicationType)) - methods = node_type.get_methods() - self.assertTrue(node_type.get_child("2:MyMethod") in methods) - - # def test_create_custom_refrence_type_ObjectId(self): - # type = self.opc.create_custom_reference_type(2, 'MyEvent', ua.ObjectIds.Base, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) - # check_custom_type(self, type, ua.ObjectIds.BaseObjectType) - - def test_create_custom_variable_type_ObjectId(self): - type = self.opc.create_custom_variable_type(2, 'MyVariableType', ua.ObjectIds.BaseVariableType, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) - check_custom_type(self, type, ua.ObjectIds.BaseVariableType) - - def test_create_custom_event_type_NodeId(self): - etype = self.opc.create_custom_event_type(2, 'MyEvent', ua.NodeId(ua.ObjectIds.BaseEventType), [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) - check_custom_type(self, etype, ua.ObjectIds.BaseEventType) - - def test_create_custom_event_type_Node(self): - etype = self.opc.create_custom_event_type(2, 'MyEvent', opcua.Node(self.opc.iserver.isession, ua.NodeId(ua.ObjectIds.BaseEventType)), [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) - check_custom_type(self, etype, ua.ObjectIds.BaseEventType) - - def test_get_event_from_type_node_CustomEvent(self): - etype = self.opc.create_custom_event_type(2, 'MyEvent', ua.ObjectIds.BaseEventType, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) - - ev = opcua.common.events.get_event_obj_from_type_node(etype) - check_custom_event(self, ev, etype) - self.assertEqual(ev.PropertyNum, 0) - self.assertEqual(ev.PropertyString, None) - - def test_eventgenerator_customEvent(self): - etype = self.opc.create_custom_event_type(2, 'MyEvent', ua.ObjectIds.BaseEventType, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) - - evgen = self.opc.get_event_generator(etype, ua.ObjectIds.Server) - check_eventgenerator_CustomEvent(self, evgen, etype) - check_eventgenerator_SourceServer(self, evgen) - - self.assertEqual(evgen.event.PropertyNum, 0) - self.assertEqual(evgen.event.PropertyString, None) - - def test_eventgenerator_double_customEvent(self): - event1 = self.opc.create_custom_event_type(3, 'MyEvent1', ua.ObjectIds.BaseEventType, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) - - event2 = self.opc.create_custom_event_type(4, 'MyEvent2', event1, [('PropertyBool', ua.VariantType.Boolean), ('PropertyInt', ua.VariantType.Int32)]) - - evgen = self.opc.get_event_generator(event2, ua.ObjectIds.Server) - check_eventgenerator_CustomEvent(self, evgen, event2) - check_eventgenerator_SourceServer(self, evgen) - - # Properties from MyEvent1 - self.assertEqual(evgen.event.PropertyNum, 0) - self.assertEqual(evgen.event.PropertyString, None) - - # Properties from MyEvent2 - self.assertEqual(evgen.event.PropertyBool, False) - self.assertEqual(evgen.event.PropertyInt, 0) - - def test_eventgenerator_customEvent_MyObject(self): - objects = self.opc.get_objects_node() - o = objects.add_object(3, 'MyObject') - etype = self.opc.create_custom_event_type(2, 'MyEvent', ua.ObjectIds.BaseEventType, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) - - evgen = self.opc.get_event_generator(etype, o) - check_eventgenerator_CustomEvent(self, evgen, etype) - check_event_generator_object(self, evgen, o) - - self.assertEqual(evgen.event.PropertyNum, 0) - self.assertEqual(evgen.event.PropertyString, None) - - def test_context_manager(self): - """ Context manager calls start() and stop() - """ - state = [0] - def increment_state(self, *args, **kwargs): - state[0] += 1 - - # create server and replace instance methods with dummy methods - server = Server() - server.start = increment_state.__get__(server) - server.stop = increment_state.__get__(server) - - assert state[0] == 0 - with server: - # test if server started - self.assertEqual(state[0], 1) - # test if server stopped - self.assertEqual(state[0], 2) - - def test_get_node_by_ns(self): - - def get_ns_of_nodes(nodes): - ns_list = set() - for node in nodes: - ns_list.add(node.nodeid.NamespaceIndex) - return ns_list - - # incase other testss created nodes in unregistered namespace - _idx_d = self.opc.register_namespace('dummy1') - _idx_d = self.opc.register_namespace('dummy2') - _idx_d = self.opc.register_namespace('dummy3') - - # create the test namespaces and vars - idx_a = self.opc.register_namespace('a') - idx_b = self.opc.register_namespace('b') - idx_c = self.opc.register_namespace('c') - o = self.opc.get_objects_node() - _myvar2 = o.add_variable(idx_a, "MyBoolVar2", True) - _myvar3 = o.add_variable(idx_b, "MyBoolVar3", True) - _myvar4 = o.add_variable(idx_c, "MyBoolVar4", True) - - # the tests - nodes = ua_utils.get_nodes_of_namespace(self.opc, namespaces=[idx_a, idx_b, idx_c]) - self.assertEqual(len(nodes), 3) - self.assertEqual(get_ns_of_nodes(nodes), set([idx_a, idx_b, idx_c])) - - nodes = ua_utils.get_nodes_of_namespace(self.opc, namespaces=[idx_a]) - self.assertEqual(len(nodes), 1) - self.assertEqual(get_ns_of_nodes(nodes), set([idx_a])) - - nodes = ua_utils.get_nodes_of_namespace(self.opc, namespaces=[idx_b]) - self.assertEqual(len(nodes), 1) - self.assertEqual(get_ns_of_nodes(nodes), set([idx_b])) - - nodes = ua_utils.get_nodes_of_namespace(self.opc, namespaces=['a']) - self.assertEqual(len(nodes), 1) - self.assertEqual(get_ns_of_nodes(nodes), set([idx_a])) - - nodes = ua_utils.get_nodes_of_namespace(self.opc, namespaces=['a', 'c']) - self.assertEqual(len(nodes), 2) - self.assertEqual(get_ns_of_nodes(nodes), set([idx_a, idx_c])) - - nodes = ua_utils.get_nodes_of_namespace(self.opc, namespaces='b') - self.assertEqual(len(nodes), 1) - self.assertEqual(get_ns_of_nodes(nodes), set([idx_b])) - - nodes = ua_utils.get_nodes_of_namespace(self.opc, namespaces=idx_b) - self.assertEqual(len(nodes), 1) - self.assertEqual(get_ns_of_nodes(nodes), set([idx_b])) - - self.assertRaises(ValueError, ua_utils.get_nodes_of_namespace, self.opc, namespaces='non_existing_ns') - -def check_eventgenerator_SourceServer(test, evgen): - server = test.opc.get_server_node() - test.assertEqual(evgen.event.SourceName, server.get_browse_name().Name) - test.assertEqual(evgen.event.SourceNode, ua.NodeId(ua.ObjectIds.Server)) - test.assertEqual(server.get_event_notifier(), {ua.EventNotifier.SubscribeToEvents}) - - refs = server.get_referenced_nodes(ua.ObjectIds.GeneratesEvent, ua.BrowseDirection.Forward, ua.NodeClass.ObjectType, False) - test.assertGreaterEqual(len(refs), 1) - - -def check_event_generator_object(test, evgen, obj): - test.assertEqual(evgen.event.SourceName, obj.get_browse_name().Name) - test.assertEqual(evgen.event.SourceNode, obj.nodeid) - test.assertEqual(obj.get_event_notifier(), {ua.EventNotifier.SubscribeToEvents}) - - refs = obj.get_referenced_nodes(ua.ObjectIds.GeneratesEvent, ua.BrowseDirection.Forward, ua.NodeClass.ObjectType, False) - test.assertEqual(len(refs), 1) - test.assertEqual(refs[0].nodeid, evgen.event.EventType) - - -def check_eventgenerator_BaseEvent(test, evgen): - test.assertIsNot(evgen, None) # we did not receive event generator - test.assertIs(evgen.isession, test.opc.iserver.isession) - check_base_event(test, evgen.event) - - -def check_base_event(test, ev): - test.assertIsNot(ev, None) # we did not receive event - test.assertIsInstance(ev, BaseEvent) - test.assertEqual(ev.EventType, ua.NodeId(ua.ObjectIds.BaseEventType)) - test.assertEqual(ev.Severity, 1) - - -def check_eventgenerator_CustomEvent(test, evgen, etype): - test.assertIsNot(evgen, None) # we did not receive event generator - test.assertIs(evgen.isession, test.opc.iserver.isession) - check_custom_event(test, evgen.event, etype) - - -def check_custom_event(test, ev, etype): - test.assertIsNot(ev, None) # we did not receive event - test.assertIsInstance(ev, BaseEvent) - test.assertEqual(ev.EventType, etype.nodeid) - test.assertEqual(ev.Severity, 1) - - -def check_custom_type(test, type, base_type): - base = opcua.Node(test.opc.iserver.isession, ua.NodeId(base_type)) - test.assertTrue(type in base.get_children()) - nodes = type.get_referenced_nodes(refs=ua.ObjectIds.HasSubtype, direction=ua.BrowseDirection.Inverse, includesubtypes=True) - test.assertEqual(base, nodes[0]) - properties = type.get_properties() - test.assertIsNot(properties, None) - test.assertEqual(len(properties), 2) - test.assertTrue(type.get_child("2:PropertyNum") in properties) - test.assertEqual(type.get_child("2:PropertyNum").get_data_value().Value.VariantType, ua.VariantType.Int32) - test.assertTrue(type.get_child("2:PropertyString") in properties) - test.assertEqual(type.get_child("2:PropertyString").get_data_value().Value.VariantType, ua.VariantType.String) - - -class TestServerCaching(unittest.TestCase): - def runTest(self): - return # FIXME broken - tmpfile = NamedTemporaryFile() - path = tmpfile.name - tmpfile.close() - - # create cache file - server = Server(shelffile=path) - - # modify cache content - id = ua.NodeId(ua.ObjectIds.Server_ServerStatus_SecondsTillShutdown) - s = shelve.open(path, "w", writeback=True) - s[id.to_string()].attributes[ua.AttributeIds.Value].value = ua.DataValue(123) - s.close() - - # ensure that we are actually loading from the cache - server = Server(shelffile=path) - self.assertEqual(server.get_node(id).get_value(), 123) - - os.remove(path) - -class TestServerStartError(unittest.TestCase): - - def test_port_in_use(self): - - server1 = Server() - server1.set_endpoint('opc.tcp://127.0.0.1:{0:d}'.format(port_num + 1)) - server1.start() - - server2 = Server() - server2.set_endpoint('opc.tcp://127.0.0.1:{0:d}'.format(port_num + 1)) - try: - server2.start() - except Exception: - pass - - server1.stop() - server2.stop() From b28ae404ac07349d4cab5f70fa1bb3efd707aa13 Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Mon, 5 Feb 2018 17:30:00 +0100 Subject: [PATCH 032/113] [ADD] refactor server wip --- opcua/common/events.py | 20 ++++++++------------ opcua/common/node.py | 6 ++++-- opcua/common/subscription.py | 7 ++++--- opcua/server/binary_server_asyncio.py | 1 + opcua/server/event_generator.py | 2 +- opcua/server/internal_server.py | 2 +- tests/test_server.py | 2 +- 7 files changed, 20 insertions(+), 20 deletions(-) diff --git a/opcua/common/events.py b/opcua/common/events.py index 4723056fd..8261291fe 100644 --- a/opcua/common/events.py +++ b/opcua/common/events.py @@ -109,19 +109,18 @@ def from_event_fields(select_clauses, fields): return ev -def get_filter_from_event_type(eventtypes): +async def get_filter_from_event_type(eventtypes): evfilter = ua.EventFilter() - evfilter.SelectClauses = select_clauses_from_evtype(eventtypes) + evfilter.SelectClauses = await select_clauses_from_evtype(eventtypes) evfilter.WhereClause = where_clause_from_evtype(eventtypes) return evfilter -def select_clauses_from_evtype(evtypes): +async def select_clauses_from_evtype(evtypes): clauses = [] - selected_paths = [] for evtype in evtypes: - for prop in get_event_properties_from_type_node(evtype): + for prop in await get_event_properties_from_type_node(evtype): if prop.get_browse_name() not in selected_paths: op = ua.SimpleAttributeOperand() op.AttributeId = ua.AttributeIds.Value @@ -162,21 +161,19 @@ def where_clause_from_evtype(evtypes): return cf -def get_event_properties_from_type_node(node): +async def get_event_properties_from_type_node(node): properties = [] curr_node = node - while True: properties.extend(curr_node.get_properties()) - if curr_node.nodeid.Identifier == ua.ObjectIds.BaseEventType: break - - parents = curr_node.get_referenced_nodes(refs=ua.ObjectIds.HasSubtype, direction=ua.BrowseDirection.Inverse, includesubtypes=True) + parents = await curr_node.get_referenced_nodes( + refs=ua.ObjectIds.HasSubtype, direction=ua.BrowseDirection.Inverse, includesubtypes=True + ) if len(parents) != 1: # Something went wrong return None curr_node = parents[0] - return properties @@ -223,4 +220,3 @@ def _find_parent_eventtype(node): return parents[0].nodeid.Identifier, opcua.common.event_objects.IMPLEMENTED_EVENTS[parents[0].nodeid.Identifier] else: return _find_parent_eventtype(parents[0]) - diff --git a/opcua/common/node.py b/opcua/common/node.py index b26dcc7f9..a3ee2853b 100644 --- a/opcua/common/node.py +++ b/opcua/common/node.py @@ -543,12 +543,14 @@ async def read_event_history(self, starttime=None, endtime=None, numvalues=0, ev if not isinstance(evtypes, (list, tuple)): evtypes = [evtypes] evtypes = [Node(self.server, evtype) for evtype in evtypes] - evfilter = events.get_filter_from_event_type(evtypes) + evfilter = await events.get_filter_from_event_type(evtypes) details.Filter = evfilter result = await self.history_read_events(details) event_res = [] for res in result.HistoryData.Events: - event_res.append(events.Event.from_event_fields(evfilter.SelectClauses, res.EventFields)) + event_res.append( + await events.Event.from_event_fields(evfilter.SelectClauses, res.EventFields) + ) return event_res def history_read_events(self, details): diff --git a/opcua/common/subscription.py b/opcua/common/subscription.py index f00e73db4..bb1b96f8b 100644 --- a/opcua/common/subscription.py +++ b/opcua/common/subscription.py @@ -175,7 +175,8 @@ async def subscribe_data_change(self, nodes, attr=ua.AttributeIds.Value): """ return await self._subscribe(nodes, attr, queuesize=0) - async def subscribe_events(self, sourcenode=ua.ObjectIds.Server, evtypes=ua.ObjectIds.BaseEventType, evfilter=None, queuesize=0): + async def subscribe_events(self, sourcenode=ua.ObjectIds.Server, evtypes=ua.ObjectIds.BaseEventType, evfilter=None, + queuesize=0): """ Subscribe to events from a node. Default node is Server node. In most servers the server node is the only one you can subscribe to. @@ -188,7 +189,7 @@ async def subscribe_events(self, sourcenode=ua.ObjectIds.Server, evtypes=ua.Obje if not type(evtypes) in (list, tuple): evtypes = [evtypes] evtypes = [Node(self.server, evtype) for evtype in evtypes] - evfilter = events.get_filter_from_event_type(evtypes) + evfilter = await events.get_filter_from_event_type(evtypes) return await self._subscribe(sourcenode, ua.AttributeIds.EventNotifier, evfilter, queuesize=queuesize) async def _subscribe(self, nodes, attr, mfilter=None, queuesize=0): @@ -269,7 +270,7 @@ async def unsubscribe(self, handle): params = ua.DeleteMonitoredItemsParameters() params.SubscriptionId = self.subscription_id params.MonitoredItemIds = [handle] - results = await self.server.delete_monitored_items(params) + results = self.server.delete_monitored_items(params) results[0].check() for k, v in self._monitored_items.items(): if v.server_handle == handle: diff --git a/opcua/server/binary_server_asyncio.py b/opcua/server/binary_server_asyncio.py index b3d0e0239..6c25ecb6f 100644 --- a/opcua/server/binary_server_asyncio.py +++ b/opcua/server/binary_server_asyncio.py @@ -86,6 +86,7 @@ async def _process_received_message(self, header, buf): # There is data left in the buffer - process it self._process_received_data(buf) + class BinaryServer: def __init__(self, internal_server, hostname, port): diff --git a/opcua/server/event_generator.py b/opcua/server/event_generator.py index d2a6804bd..90cc469ce 100644 --- a/opcua/server/event_generator.py +++ b/opcua/server/event_generator.py @@ -57,7 +57,7 @@ async def set_source(self, source=ua.ObjectIds.Server): self.event.SourceNode = source.nodeid self.event.SourceName = (await source.get_browse_name()).Name - source.set_event_notifier([ua.EventNotifier.SubscribeToEvents]) + await source.set_event_notifier([ua.EventNotifier.SubscribeToEvents]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True diff --git a/opcua/server/internal_server.py b/opcua/server/internal_server.py index f223ddf6d..d84b7cdd6 100644 --- a/opcua/server/internal_server.py +++ b/opcua/server/internal_server.py @@ -220,7 +220,7 @@ async def disable_history_event(self, source): """ Set attribute History Read of node to False and stop storing data for history """ - source.unset_attr_bit(ua.AttributeIds.EventNotifier, ua.EventNotifier.HistoryRead) + await source.unset_attr_bit(ua.AttributeIds.EventNotifier, ua.EventNotifier.HistoryRead) await self.history_manager.dehistorize(source) def subscribe_server_callback(self, event, handle): diff --git a/tests/test_server.py b/tests/test_server.py index 560654a06..1d4cfee01 100644 --- a/tests/test_server.py +++ b/tests/test_server.py @@ -152,7 +152,7 @@ async def test_historize_events(server): await server.iserver.enable_history_event(srv_node, period=None) assert await srv_node.get_event_notifier() == {ua.EventNotifier.SubscribeToEvents, ua.EventNotifier.HistoryRead} srvevgen.trigger(message='Message') - server.iserver.disable_history_event(srv_node) + await server.iserver.disable_history_event(srv_node) async def test_references_for_added_nodes_method(server): From 59850766d121613f2eab5010a8ea2db54c9ed769 Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Wed, 7 Feb 2018 16:38:30 +0100 Subject: [PATCH 033/113] [ADD] wip --- opcua/client/ua_client.py | 3 ++- opcua/common/connection.py | 20 ++++++++++---------- opcua/common/subscription.py | 7 ++++--- opcua/server/internal_server.py | 1 + 4 files changed, 17 insertions(+), 14 deletions(-) diff --git a/opcua/client/ua_client.py b/opcua/client/ua_client.py index 337469d29..9dff3da79 100644 --- a/opcua/client/ua_client.py +++ b/opcua/client/ua_client.py @@ -63,7 +63,8 @@ def _process_received_data(self, data: bytes): if len(buf) == 0: return except Exception: - self.logger.exception('Exception raised while parsing message from client') + self.logger.exception('Exception raised while parsing message from server') + self.disconnect_socket() return def _process_received_message(self, msg): diff --git a/opcua/common/connection.py b/opcua/common/connection.py index ce105d86e..75213cfb8 100644 --- a/opcua/common/connection.py +++ b/opcua/common/connection.py @@ -218,16 +218,16 @@ def message_to_binary(self, message, message_type=ua.MessageType.SecureMessage, return b"".join([chunk.to_binary() for chunk in chunks]) def _check_incoming_chunk(self, chunk): - assert isinstance(chunk, MessageChunk), "Expected chunk, got: {0}".format(chunk) + assert isinstance(chunk, MessageChunk), 'Expected chunk, got: {0}'.format(chunk) if chunk.MessageHeader.MessageType != ua.MessageType.SecureOpen: if chunk.MessageHeader.ChannelId != self.channel.SecurityToken.ChannelId: - raise ua.UaError("Wrong channel id {0}, expected {1}".format( + raise ua.UaError('Wrong channel id {0}, expected {1}'.format( chunk.MessageHeader.ChannelId, self.channel.SecurityToken.ChannelId)) if chunk.SecurityHeader.TokenId != self.channel.SecurityToken.TokenId: if chunk.SecurityHeader.TokenId not in self._old_tokens: logger.warning( - "Received a chunk with wrong token id %s, expected %s", + 'Received a chunk with wrong token id %s, expected %s', chunk.SecurityHeader.TokenId, self.channel.SecurityToken.TokenId ) #raise UaError("Wrong token id {}, expected {}, old tokens are {}".format( @@ -241,10 +241,10 @@ def _check_incoming_chunk(self, chunk): self._old_tokens = self._old_tokens[idx:] if self._incoming_parts: if self._incoming_parts[0].SequenceHeader.RequestId != chunk.SequenceHeader.RequestId: - raise ua.UaError("Wrong request id {0}, expected {1}".format( + raise ua.UaError('Wrong request id {0}, expected {1}'.format( chunk.SequenceHeader.RequestId, - self._incoming_parts[0].SequenceHeader.RequestId)) - + self._incoming_parts[0].SequenceHeader.RequestId) + ) # sequence number must be incremented or wrapped num = chunk.SequenceHeader.SequenceNumber if self._peer_sequence_number is not None: @@ -252,12 +252,12 @@ def _check_incoming_chunk(self, chunk): wrap = (1 << 32) - 1024 if num < 1024 and self._peer_sequence_number >= wrap: # specs Part 6, 6.7.2 - logger.debug("Sequence number wrapped: %d -> %d", - self._peer_sequence_number, num) + logger.debug('Sequence number wrapped: %d -> %d', self._peer_sequence_number, num) else: raise ua.UaError( - "Wrong sequence {0} -> {1} (server bug or replay attack)" - .format(self._peer_sequence_number, num)) + 'Wrong sequence {0} -> {1} (server bug or replay attack)' + .format(self._peer_sequence_number, num) + ) self._peer_sequence_number = num def receive_from_header_and_body(self, header, body): diff --git a/opcua/common/subscription.py b/opcua/common/subscription.py index bb1b96f8b..9cbd95103 100644 --- a/opcua/common/subscription.py +++ b/opcua/common/subscription.py @@ -166,14 +166,15 @@ def _call_status(self, status): except Exception: self.logger.exception("Exception calling status change handler") - async def subscribe_data_change(self, nodes, attr=ua.AttributeIds.Value): + def subscribe_data_change(self, nodes, attr=ua.AttributeIds.Value): """ + Coroutine Subscribe for data change events for a node or list of nodes. default attribute is Value. Return a handle which can be used to unsubscribe If more control is necessary use create_monitored_items method """ - return await self._subscribe(nodes, attr, queuesize=0) + return self._subscribe(nodes, attr, queuesize=0) async def subscribe_events(self, sourcenode=ua.ObjectIds.Server, evtypes=ua.ObjectIds.BaseEventType, evfilter=None, queuesize=0): @@ -248,7 +249,7 @@ async def create_monitored_items(self, monitored_items): #TODO: Either use the filter from request or from response. Here it uses from request, in modify it uses from response data.mfilter = mi.RequestedParameters.Filter self._monitored_items[mi.RequestedParameters.ClientHandle] = data - results = self.server.create_monitored_items(params) + results = await self.server.create_monitored_items(params) mids = [] # process result, add server_handle, or remove it if failed for idx, result in enumerate(results): diff --git a/opcua/server/internal_server.py b/opcua/server/internal_server.py index d84b7cdd6..5e23cd8ca 100644 --- a/opcua/server/internal_server.py +++ b/opcua/server/internal_server.py @@ -346,6 +346,7 @@ async def create_subscription(self, params, callback): return result def create_monitored_items(self, params): + """Returns Future""" subscription_result = self.subscription_service.create_monitored_items(params) self.iserver.server_callback_dispatcher.dispatch( CallbackType.ItemSubscriptionCreated, ServerItemCallback(params, subscription_result)) From 7418fbbd210ec8ba5edfea8673682853f4bb7772 Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Fri, 23 Mar 2018 15:41:31 +0100 Subject: [PATCH 034/113] [ADD] wip --- examples/client-minimal-auth.py | 75 +++++++++++++++++++++++++++++++++ examples/client-minimal.py | 4 +- opcua/client/client.py | 6 ++- opcua/common/ua_utils.py | 3 ++ opcua/ua/ua_binary.py | 42 ++++++++---------- opcua/ua/uaprotocol_auto.py | 26 ++++++------ 6 files changed, 114 insertions(+), 42 deletions(-) create mode 100644 examples/client-minimal-auth.py diff --git a/examples/client-minimal-auth.py b/examples/client-minimal-auth.py new file mode 100644 index 000000000..934fe0acb --- /dev/null +++ b/examples/client-minimal-auth.py @@ -0,0 +1,75 @@ +import asyncio +import logging + +from opcua import Client, Node, ua + +logging.basicConfig(level=logging.INFO) +_logger = logging.getLogger('opcua') + + +async def _browse_nodes(node: Node): + """ + Build a nested node tree dict by recursion (filtered by OPC UA objects and variables). + """ + node_class = await node.get_node_class() + children = [] + for child in await node.get_children(): + if await child.get_node_class() in [ua.NodeClass.Object, ua.NodeClass.Variable]: + children.append( + await _browse_nodes(child) + ) + if node_class != ua.NodeClass.Variable: + var_type = None + else: + try: + var_type = (await node.get_data_type_as_variant_type()).value + except ua.UaError: + _logger.warning('Node Variable Type coudl not be determined for %r', node) + var_type = None + return { + 'id': node.nodeid.to_string(), + 'name': (await node.get_display_name()).Text, + 'cls': node_class.value, + 'children': children, + 'type': var_type, + } + + +async def create_node_tree(client): + """coroutine""" + return await _browse_nodes(client.get_objects_node()) + + +async def task(loop): + url = "opc.tcp://192.168.2.213:4840" + # url = "opc.tcp://localhost:4840/freeopcua/server/" + try: + client = Client(url=url) + client.set_user('test') + client.set_password('test') + # client.set_security_string() + await client.connect() + # Client has a few methods to get proxy to UA nodes that should always be in address space such as Root or Objects + root = client.get_root_node() + _logger.info("Objects node is: %r", root) + + # Node objects have methods to read and write node attributes as well as browse or populate address space + _logger.info("Children of root are: %r", await root.get_children()) + + tree = await create_node_tree(client) + _logger.info('Node tree: %r', tree) + except Exception: + _logger.exception('error') + finally: + await client.disconnect() + + +def main(): + loop = asyncio.get_event_loop() + loop.set_debug(True) + loop.run_until_complete(task(loop)) + loop.close() + + +if __name__ == "__main__": + main() diff --git a/examples/client-minimal.py b/examples/client-minimal.py index b52ee35f2..608b90957 100644 --- a/examples/client-minimal.py +++ b/examples/client-minimal.py @@ -4,12 +4,12 @@ from opcua import Client -logging.basicConfig(level=logging.INFO) +logging.basicConfig(level=logging.DEBUG) _logger = logging.getLogger('opcua') async def task(loop): - url = "opc.tcp://commsvr.com:51234/UA/CAS_UA_Server" + url = "opc.tcp://192.168.2.213:4840" # url = "opc.tcp://localhost:4840/freeopcua/server/" try: async with Client(url=url) as client: diff --git a/opcua/client/client.py b/opcua/client/client.py index e3f942d21..06255e14e 100644 --- a/opcua/client/client.py +++ b/opcua/client/client.py @@ -96,6 +96,8 @@ def set_password(self, pwd): Set user password for the connection. initial password from the URL will be overwritten """ + if type(pwd) is not str: + raise TypeError('Password must be a string, got %s', type(pwd)) self._password = pwd async def set_security_string(self, string): @@ -404,7 +406,7 @@ async def activate_session(self, username=None, password=None, certificate=None) def _add_anonymous_auth(self, params): params.UserIdentityToken = ua.AnonymousIdentityToken() - params.UserIdentityToken.PolicyId = self.server_policy_id(ua.UserTokenType.Anonymous, b"anonymous") + params.UserIdentityToken.PolicyId = self.server_policy_id(ua.UserTokenType.Anonymous, 'anonymous') def _add_certificate_auth(self, params, certificate, challenge): params.UserIdentityToken = ua.X509IdentityToken() @@ -427,7 +429,7 @@ def _add_user_auth(self, params, username, password): # and EncryptionAlgorithm is null if self._password: self.logger.warning("Sending plain-text password") - params.UserIdentityToken.Password = password + params.UserIdentityToken.Password = password.encode('utf8') params.UserIdentityToken.EncryptionAlgorithm = None elif self._password: data, uri = self._encrypt_password(password, policy_uri) diff --git a/opcua/common/ua_utils.py b/opcua/common/ua_utils.py index 05c58c756..4f0927257 100644 --- a/opcua/common/ua_utils.py +++ b/opcua/common/ua_utils.py @@ -6,10 +6,13 @@ from datetime import datetime from enum import Enum, IntEnum import uuid +import logging from opcua import ua from opcua.ua.uaerrors import UaError +logger = logging.getLogger('__name__') + def val_to_string(val): """ diff --git a/opcua/ua/ua_binary.py b/opcua/ua/ua_binary.py index c74512b2b..bb8e06baf 100644 --- a/opcua/ua/ua_binary.py +++ b/opcua/ua/ua_binary.py @@ -65,24 +65,15 @@ class _String(object): @staticmethod def pack(string): if string is not None: - if sys.version_info.major > 2: - string = string.encode('utf-8') - else: - # we do not want this test to happen with python3 - if isinstance(string, unicode): - string = string.encode('utf-8') + string = string.encode('utf-8') return _Bytes.pack(string) @staticmethod def unpack(data): b = _Bytes.unpack(data) - if sys.version_info.major < 3: - # return unicode(b) #might be correct for python2 but would complicate tests for python3 + if b is None: return b - else: - if b is None: - return b - return b.decode("utf-8") + return b.decode('utf-8') class _Null(object): @@ -266,10 +257,10 @@ def to_binary(uatype, val): if uatype.startswith("ListOf"): #if isinstance(val, (list, tuple)): return list_to_binary(uatype[6:], val) - elif isinstance(uatype, (str, unicode)) and hasattr(ua.VariantType, uatype): + elif type(uatype) is str and hasattr(ua.VariantType, uatype): vtype = getattr(ua.VariantType, uatype) return pack_uatype(vtype, val) - elif isinstance(uatype, (str, unicode)) and hasattr(Primitives, uatype): + elif type(uatype) is str and hasattr(Primitives, uatype): return getattr(Primitives, uatype).pack(val) elif isinstance(val, (IntEnum, Enum)): return Primitives.UInt32.pack(val.value) @@ -448,18 +439,19 @@ def extensionobject_to_binary(obj): if isinstance(obj, ua.ExtensionObject): return struct_to_binary(obj) if obj is None: - TypeId = ua.NodeId() - Encoding = 0 - Body = None + type_id = ua.NodeId() + encoding = 0 + body = None else: - TypeId = ua.extension_object_ids[obj.__class__.__name__] - Encoding = 0x01 - Body = struct_to_binary(obj) - packet = [] - packet.append(nodeid_to_binary(TypeId)) - packet.append(Primitives.Byte.pack(Encoding)) - if Body: - packet.append(Primitives.Bytes.pack(Body)) + type_id = ua.extension_object_ids[obj.__class__.__name__] + encoding = 0x01 + body = struct_to_binary(obj) + packet = [ + nodeid_to_binary(type_id), + Primitives.Byte.pack(encoding), + ] + if body: + packet.append(Primitives.Bytes.pack(body)) return b''.join(packet) diff --git a/opcua/ua/uaprotocol_auto.py b/opcua/ua/uaprotocol_auto.py index e985d373b..a7dffb872 100644 --- a/opcua/ua/uaprotocol_auto.py +++ b/opcua/ua/uaprotocol_auto.py @@ -2359,10 +2359,10 @@ def __init__(self): self._freeze = True def __str__(self): - return 'UserNameIdentityToken(' + 'PolicyId:' + str(self.PolicyId) + ', ' + \ - 'UserName:' + str(self.UserName) + ', ' + \ - 'Password:' + str(self.Password) + ', ' + \ - 'EncryptionAlgorithm:' + str(self.EncryptionAlgorithm) + ')' + return f'UserNameIdentityToken(PolicyId:{self.PolicyId}, ' + \ + f'UserName:{self.UserName}, ' + \ + f'Password:{self.Password}, ' + \ + f'EncryptionAlgorithm:{self.EncryptionAlgorithm})' __repr__ = __str__ @@ -2482,11 +2482,11 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ActivateSessionParameters(' + 'ClientSignature:' + str(self.ClientSignature) + ', ' + \ - 'ClientSoftwareCertificates:' + str(self.ClientSoftwareCertificates) + ', ' + \ - 'LocaleIds:' + str(self.LocaleIds) + ', ' + \ - 'UserIdentityToken:' + str(self.UserIdentityToken) + ', ' + \ - 'UserTokenSignature:' + str(self.UserTokenSignature) + ')' + return f'ActivateSessionParameters(ClientSignature:{self.ClientSignature}, ' + \ + f'ClientSoftwareCertificates:{self.ClientSoftwareCertificates}, ' + \ + f'LocaleIds:{self.LocaleIds}, ' + \ + f'UserIdentityToken:{self.UserIdentityToken}, ' + \ + f'UserTokenSignature:{self.UserTokenSignature})' __repr__ = __str__ @@ -2516,9 +2516,9 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ActivateSessionRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'ActivateSessionRequest(TypeId:{self.TypeId}, ' + \ + f'RequestHeader:{self.RequestHeader}, ' + \ + f'Parameters:{self.Parameters})' __repr__ = __str__ @@ -2546,7 +2546,7 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ActivateSessionResult(' + 'ServerNonce:' + str(self.ServerNonce) + ', ' + \ + return 'ActivateSessionResult(ServerNonce:' + str(self.ServerNonce) + ', ' + \ 'Results:' + str(self.Results) + ', ' + \ 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' From 68214cb86d22a59a675fb59795be39983e12afbd Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Sat, 24 Mar 2018 19:04:20 +0100 Subject: [PATCH 035/113] [ADD] uaprotocol f-string refactoring --- examples/client-minimal.py | 18 +- opcua/client/ua_client.py | 2 +- opcua/ua/ua_binary.py | 4 +- opcua/ua/uaprotocol_auto.py | 3937 +++++++++++++++++++---------------- 4 files changed, 2149 insertions(+), 1812 deletions(-) diff --git a/examples/client-minimal.py b/examples/client-minimal.py index 608b90957..18c745f51 100644 --- a/examples/client-minimal.py +++ b/examples/client-minimal.py @@ -4,21 +4,22 @@ from opcua import Client -logging.basicConfig(level=logging.DEBUG) +logging.basicConfig(level=logging.INFO) _logger = logging.getLogger('opcua') async def task(loop): - url = "opc.tcp://192.168.2.213:4840" - # url = "opc.tcp://localhost:4840/freeopcua/server/" + # url = 'opc.tcp://192.168.2.213:4840' + # url = 'opc.tcp://localhost:4840/freeopcua/server/' + url = 'opc.tcp://commsvr.com:51234/UA/CAS_UA_Server' try: async with Client(url=url) as client: # Client has a few methods to get proxy to UA nodes that should always be in address space such as Root or Objects root = client.get_root_node() - _logger.info("Objects node is: %r", root) + _logger.info('Objects node is: %r', root) # Node objects have methods to read and write node attributes as well as browse or populate address space - _logger.info("Children of root are: %r", await root.get_children()) + _logger.info('Children of root are: %r', await root.get_children()) # get a specific node knowing its node id # var = client.get_node(ua.NodeId(1002, 2)) @@ -30,9 +31,8 @@ async def task(loop): # var.set_value(3.9) # set node value using implicit data type # Now getting a variable node using its browse path - myvar = await root.get_child(["0:Objects", "2:MyObject", "2:MyVariable"]) - obj = await root.get_child(["0:Objects", "2:MyObject"]) - _logger.info("myvar is: %r", myvar) + myvar = await root.get_child(['0:Objects', '2:MyObject', '2:MyVariable']) + _logger.info('myvar is: %r', myvar) except Exception: _logger.exception('error') @@ -44,5 +44,5 @@ def main(): loop.close() -if __name__ == "__main__": +if __name__ == '__main__': main() diff --git a/opcua/client/ua_client.py b/opcua/client/ua_client.py index 9dff3da79..898a411e9 100644 --- a/opcua/client/ua_client.py +++ b/opcua/client/ua_client.py @@ -86,7 +86,7 @@ def _send_request(self, request, callback=None, timeout=1000, message_type=ua.Me Returns future """ request.RequestHeader = self._create_request_header(timeout) - self.logger.debug("Sending: %s", request) + self.logger.debug('Sending: %s', request) try: binreq = struct_to_binary(request) except Exception: diff --git a/opcua/ua/ua_binary.py b/opcua/ua/ua_binary.py index bb8e06baf..cd83fdf10 100644 --- a/opcua/ua/ua_binary.py +++ b/opcua/ua/ua_binary.py @@ -229,7 +229,7 @@ def unpack_uatype_array(vtype, data): def struct_to_binary(obj): packet = [] - has_switch = hasattr(obj, "ua_switches") + has_switch = hasattr(obj, 'ua_switches') if has_switch: for name, switch in obj.ua_switches.items(): member = getattr(obj, name) @@ -240,7 +240,7 @@ def struct_to_binary(obj): setattr(obj, container_name, container_val) for name, uatype in obj.ua_types: val = getattr(obj, name) - if uatype.startswith("ListOf"): + if uatype.startswith('ListOf'): packet.append(list_to_binary(uatype[6:], val)) else: if has_switch and val is None and name in obj.ua_switches: diff --git a/opcua/ua/uaprotocol_auto.py b/opcua/ua/uaprotocol_auto.py index a7dffb872..78e5b6a86 100644 --- a/opcua/ua/uaprotocol_auto.py +++ b/opcua/ua/uaprotocol_auto.py @@ -1,6 +1,6 @@ -''' +""" Autogenerate code from xml spec -''' +""" from datetime import datetime from enum import IntEnum @@ -10,21 +10,21 @@ class NamingRuleType(IntEnum): - ''' + """ :ivar Mandatory: :vartype Mandatory: 1 :ivar Optional: :vartype Optional: 2 :ivar Constraint: :vartype Constraint: 3 - ''' + """ Mandatory = 1 Optional = 2 Constraint = 3 class OpenFileMode(IntEnum): - ''' + """ :ivar Read: :vartype Read: 1 :ivar Write: @@ -33,7 +33,7 @@ class OpenFileMode(IntEnum): :vartype EraseExisting: 4 :ivar Append: :vartype Append: 8 - ''' + """ Read = 1 Write = 2 EraseExisting = 4 @@ -41,7 +41,7 @@ class OpenFileMode(IntEnum): class TrustListMasks(IntEnum): - ''' + """ :ivar None_: :vartype None_: 0 :ivar TrustedCertificates: @@ -54,7 +54,7 @@ class TrustListMasks(IntEnum): :vartype IssuerCrls: 8 :ivar All: :vartype All: 15 - ''' + """ None_ = 0 TrustedCertificates = 1 TrustedCrls = 2 @@ -64,7 +64,7 @@ class TrustListMasks(IntEnum): class IdType(IntEnum): - ''' + """ The type of identifier used in a node id. :ivar Numeric: @@ -75,7 +75,7 @@ class IdType(IntEnum): :vartype Guid: 2 :ivar Opaque: :vartype Opaque: 3 - ''' + """ Numeric = 0 String = 1 Guid = 2 @@ -83,7 +83,7 @@ class IdType(IntEnum): class NodeClass(IntEnum): - ''' + """ A mask specifying the class of the node. :ivar Unspecified: @@ -104,7 +104,7 @@ class NodeClass(IntEnum): :vartype DataType: 64 :ivar View: :vartype View: 128 - ''' + """ Unspecified = 0 Object = 1 Variable = 2 @@ -117,7 +117,7 @@ class NodeClass(IntEnum): class ApplicationType(IntEnum): - ''' + """ The types of applications. :ivar Server: @@ -128,7 +128,7 @@ class ApplicationType(IntEnum): :vartype ClientAndServer: 2 :ivar DiscoveryServer: :vartype DiscoveryServer: 3 - ''' + """ Server = 0 Client = 1 ClientAndServer = 2 @@ -136,7 +136,7 @@ class ApplicationType(IntEnum): class MessageSecurityMode(IntEnum): - ''' + """ The type of security to use on a message. :ivar Invalid: @@ -147,7 +147,7 @@ class MessageSecurityMode(IntEnum): :vartype Sign: 2 :ivar SignAndEncrypt: :vartype SignAndEncrypt: 3 - ''' + """ Invalid = 0 None_ = 1 Sign = 2 @@ -155,7 +155,7 @@ class MessageSecurityMode(IntEnum): class UserTokenType(IntEnum): - ''' + """ The possible user token types. :ivar Anonymous: @@ -168,7 +168,7 @@ class UserTokenType(IntEnum): :vartype IssuedToken: 3 :ivar Kerberos: :vartype Kerberos: 4 - ''' + """ Anonymous = 0 UserName = 1 Certificate = 2 @@ -177,20 +177,20 @@ class UserTokenType(IntEnum): class SecurityTokenRequestType(IntEnum): - ''' + """ Indicates whether a token if being created or renewed. :ivar Issue: :vartype Issue: 0 :ivar Renew: :vartype Renew: 1 - ''' + """ Issue = 0 Renew = 1 class NodeAttributesMask(IntEnum): - ''' + """ The bits used to specify default attributes for a new node. :ivar None_: @@ -257,7 +257,7 @@ class NodeAttributesMask(IntEnum): :vartype ReferenceType: 1371236 :ivar View: :vartype View: 1335532 - ''' + """ None_ = 0 AccessLevel = 1 ArrayDimensions = 2 @@ -293,7 +293,7 @@ class NodeAttributesMask(IntEnum): class AttributeWriteMask(IntEnum): - ''' + """ Define bits used to indicate which attributes are writable. :ivar None_: @@ -342,7 +342,7 @@ class AttributeWriteMask(IntEnum): :vartype WriteMask: 1048576 :ivar ValueForVariableType: :vartype ValueForVariableType: 2097152 - ''' + """ None_ = 0 AccessLevel = 1 ArrayDimensions = 2 @@ -369,7 +369,7 @@ class AttributeWriteMask(IntEnum): class BrowseDirection(IntEnum): - ''' + """ The directions of the references to return. :ivar Forward: @@ -378,14 +378,14 @@ class BrowseDirection(IntEnum): :vartype Inverse: 1 :ivar Both: :vartype Both: 2 - ''' + """ Forward = 0 Inverse = 1 Both = 2 class BrowseResultMask(IntEnum): - ''' + """ A bit mask which specifies what should be returned in a browse response. :ivar None_: @@ -408,7 +408,7 @@ class BrowseResultMask(IntEnum): :vartype ReferenceTypeInfo: 3 :ivar TargetInfo: :vartype TargetInfo: 60 - ''' + """ None_ = 0 ReferenceTypeId = 1 IsForward = 2 @@ -422,7 +422,7 @@ class BrowseResultMask(IntEnum): class ComplianceLevel(IntEnum): - ''' + """ :ivar Untested: :vartype Untested: 0 :ivar Partial: @@ -431,7 +431,7 @@ class ComplianceLevel(IntEnum): :vartype SelfTested: 2 :ivar Certified: :vartype Certified: 3 - ''' + """ Untested = 0 Partial = 1 SelfTested = 2 @@ -439,7 +439,7 @@ class ComplianceLevel(IntEnum): class FilterOperator(IntEnum): - ''' + """ :ivar Equals: :vartype Equals: 0 :ivar IsNull: @@ -476,7 +476,7 @@ class FilterOperator(IntEnum): :vartype BitwiseAnd: 16 :ivar BitwiseOr: :vartype BitwiseOr: 17 - ''' + """ Equals = 0 IsNull = 1 GreaterThan = 2 @@ -498,7 +498,7 @@ class FilterOperator(IntEnum): class TimestampsToReturn(IntEnum): - ''' + """ :ivar Source: :vartype Source: 0 :ivar Server: @@ -507,7 +507,7 @@ class TimestampsToReturn(IntEnum): :vartype Both: 2 :ivar Neither: :vartype Neither: 3 - ''' + """ Source = 0 Server = 1 Both = 2 @@ -515,7 +515,7 @@ class TimestampsToReturn(IntEnum): class HistoryUpdateType(IntEnum): - ''' + """ :ivar Insert: :vartype Insert: 1 :ivar Replace: @@ -524,7 +524,7 @@ class HistoryUpdateType(IntEnum): :vartype Update: 3 :ivar Delete: :vartype Delete: 4 - ''' + """ Insert = 1 Replace = 2 Update = 3 @@ -532,7 +532,7 @@ class HistoryUpdateType(IntEnum): class PerformUpdateType(IntEnum): - ''' + """ :ivar Insert: :vartype Insert: 1 :ivar Replace: @@ -541,7 +541,7 @@ class PerformUpdateType(IntEnum): :vartype Update: 3 :ivar Remove: :vartype Remove: 4 - ''' + """ Insert = 1 Replace = 2 Update = 3 @@ -549,49 +549,49 @@ class PerformUpdateType(IntEnum): class MonitoringMode(IntEnum): - ''' + """ :ivar Disabled: :vartype Disabled: 0 :ivar Sampling: :vartype Sampling: 1 :ivar Reporting: :vartype Reporting: 2 - ''' + """ Disabled = 0 Sampling = 1 Reporting = 2 class DataChangeTrigger(IntEnum): - ''' + """ :ivar Status: :vartype Status: 0 :ivar StatusValue: :vartype StatusValue: 1 :ivar StatusValueTimestamp: :vartype StatusValueTimestamp: 2 - ''' + """ Status = 0 StatusValue = 1 StatusValueTimestamp = 2 class DeadbandType(IntEnum): - ''' + """ :ivar None_: :vartype None_: 0 :ivar Absolute: :vartype Absolute: 1 :ivar Percent: :vartype Percent: 2 - ''' + """ None_ = 0 Absolute = 1 Percent = 2 class EnumeratedTestType(IntEnum): - ''' + """ A simple enumerated type used for testing. :ivar Red: @@ -600,14 +600,14 @@ class EnumeratedTestType(IntEnum): :vartype Yellow: 4 :ivar Green: :vartype Green: 5 - ''' + """ Red = 1 Yellow = 4 Green = 5 class RedundancySupport(IntEnum): - ''' + """ :ivar None_: :vartype None_: 0 :ivar Cold: @@ -620,7 +620,7 @@ class RedundancySupport(IntEnum): :vartype Transparent: 4 :ivar HotAndMirrored: :vartype HotAndMirrored: 5 - ''' + """ None_ = 0 Cold = 1 Warm = 2 @@ -630,7 +630,7 @@ class RedundancySupport(IntEnum): class ServerState(IntEnum): - ''' + """ :ivar Running: :vartype Running: 0 :ivar Failed: @@ -647,7 +647,7 @@ class ServerState(IntEnum): :vartype CommunicationFault: 6 :ivar Unknown: :vartype Unknown: 7 - ''' + """ Running = 0 Failed = 1 NoConfiguration = 2 @@ -659,7 +659,7 @@ class ServerState(IntEnum): class ModelChangeStructureVerbMask(IntEnum): - ''' + """ :ivar NodeAdded: :vartype NodeAdded: 1 :ivar NodeDeleted: @@ -670,7 +670,7 @@ class ModelChangeStructureVerbMask(IntEnum): :vartype ReferenceDeleted: 8 :ivar DataTypeChanged: :vartype DataTypeChanged: 16 - ''' + """ NodeAdded = 1 NodeDeleted = 2 ReferenceAdded = 4 @@ -679,21 +679,21 @@ class ModelChangeStructureVerbMask(IntEnum): class AxisScaleEnumeration(IntEnum): - ''' + """ :ivar Linear: :vartype Linear: 0 :ivar Log: :vartype Log: 1 :ivar Ln: :vartype Ln: 2 - ''' + """ Linear = 0 Log = 1 Ln = 2 class ExceptionDeviationFormat(IntEnum): - ''' + """ :ivar AbsoluteValue: :vartype AbsoluteValue: 0 :ivar PercentOfValue: @@ -704,7 +704,7 @@ class ExceptionDeviationFormat(IntEnum): :vartype PercentOfEURange: 3 :ivar Unknown: :vartype Unknown: 4 - ''' + """ AbsoluteValue = 0 PercentOfValue = 1 PercentOfRange = 2 @@ -713,7 +713,7 @@ class ExceptionDeviationFormat(IntEnum): class DiagnosticInfo(FrozenClass): - ''' + """ A recursive structure containing diagnostic information associated with a status code. :ivar Encoding: @@ -732,7 +732,7 @@ class DiagnosticInfo(FrozenClass): :vartype InnerStatusCode: StatusCode :ivar InnerDiagnosticInfo: :vartype InnerDiagnosticInfo: DiagnosticInfo - ''' + """ ua_switches = { 'SymbolicId': ('Encoding', 0), @@ -742,7 +742,7 @@ class DiagnosticInfo(FrozenClass): 'AdditionalInfo': ('Encoding', 4), 'InnerStatusCode': ('Encoding', 5), 'InnerDiagnosticInfo': ('Encoding', 6), - } + } ua_types = [ ('Encoding', 'Byte'), ('SymbolicId', 'Int32'), @@ -752,7 +752,7 @@ class DiagnosticInfo(FrozenClass): ('AdditionalInfo', 'String'), ('InnerStatusCode', 'StatusCode'), ('InnerDiagnosticInfo', 'DiagnosticInfo'), - ] + ] def __init__(self): self.Encoding = 0 @@ -766,20 +766,22 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DiagnosticInfo(' + 'Encoding:' + str(self.Encoding) + ', ' + \ - 'SymbolicId:' + str(self.SymbolicId) + ', ' + \ - 'NamespaceURI:' + str(self.NamespaceURI) + ', ' + \ - 'Locale:' + str(self.Locale) + ', ' + \ - 'LocalizedText:' + str(self.LocalizedText) + ', ' + \ - 'AdditionalInfo:' + str(self.AdditionalInfo) + ', ' + \ - 'InnerStatusCode:' + str(self.InnerStatusCode) + ', ' + \ - 'InnerDiagnosticInfo:' + str(self.InnerDiagnosticInfo) + ')' + return ', '.join(( + f'DiagnosticInfo(Encoding:{self.Encoding}', + f'SymbolicId:{self.SymbolicId}', + f'NamespaceURI:{self.NamespaceURI}', + f'Locale:{self.Locale}', + f'LocalizedText:{self.LocalizedText}', + f'AdditionalInfo:{self.AdditionalInfo}', + f'InnerStatusCode:{self.InnerStatusCode}', + f'InnerDiagnosticInfo:{self.InnerDiagnosticInfo})' + )) __repr__ = __str__ class TrustListDataType(FrozenClass): - ''' + """ :ivar SpecifiedLists: :vartype SpecifiedLists: UInt32 :ivar TrustedCertificates: @@ -790,7 +792,7 @@ class TrustListDataType(FrozenClass): :vartype IssuerCertificates: ByteString :ivar IssuerCrls: :vartype IssuerCrls: ByteString - ''' + """ ua_types = [ ('SpecifiedLists', 'UInt32'), @@ -798,7 +800,7 @@ class TrustListDataType(FrozenClass): ('TrustedCrls', 'ListOfByteString'), ('IssuerCertificates', 'ListOfByteString'), ('IssuerCrls', 'ListOfByteString'), - ] + ] def __init__(self): self.SpecifiedLists = 0 @@ -809,17 +811,19 @@ def __init__(self): self._freeze = True def __str__(self): - return 'TrustListDataType(' + 'SpecifiedLists:' + str(self.SpecifiedLists) + ', ' + \ - 'TrustedCertificates:' + str(self.TrustedCertificates) + ', ' + \ - 'TrustedCrls:' + str(self.TrustedCrls) + ', ' + \ - 'IssuerCertificates:' + str(self.IssuerCertificates) + ', ' + \ - 'IssuerCrls:' + str(self.IssuerCrls) + ')' + return ', '.join(( + f'TrustListDataType(SpecifiedLists:{self.SpecifiedLists}', + f'TrustedCertificates:{self.TrustedCertificates}', + f'TrustedCrls:{self.TrustedCrls}', + f'IssuerCertificates:{self.IssuerCertificates}', + f'IssuerCrls:{self.IssuerCrls})' + )) __repr__ = __str__ class Argument(FrozenClass): - ''' + """ An argument for a method. :ivar Name: @@ -832,7 +836,7 @@ class Argument(FrozenClass): :vartype ArrayDimensions: UInt32 :ivar Description: :vartype Description: LocalizedText - ''' + """ ua_types = [ ('Name', 'String'), @@ -840,7 +844,7 @@ class Argument(FrozenClass): ('ValueRank', 'Int32'), ('ArrayDimensions', 'ListOfUInt32'), ('Description', 'LocalizedText'), - ] + ] def __init__(self): self.Name = None @@ -851,17 +855,19 @@ def __init__(self): self._freeze = True def __str__(self): - return 'Argument(' + 'Name:' + str(self.Name) + ', ' + \ - 'DataType:' + str(self.DataType) + ', ' + \ - 'ValueRank:' + str(self.ValueRank) + ', ' + \ - 'ArrayDimensions:' + str(self.ArrayDimensions) + ', ' + \ - 'Description:' + str(self.Description) + ')' + return ', '.join(( + f'Argument(Name:{self.Name}', + f'DataType:{self.DataType}', + f'ValueRank:{self.ValueRank}', + f'ArrayDimensions:{self.ArrayDimensions}', + f'Description:{self.Description})' + )) __repr__ = __str__ class EnumValueType(FrozenClass): - ''' + """ A mapping between a value of an enumerated type and a name and description. :ivar Value: @@ -870,13 +876,13 @@ class EnumValueType(FrozenClass): :vartype DisplayName: LocalizedText :ivar Description: :vartype Description: LocalizedText - ''' + """ ua_types = [ ('Value', 'Int64'), ('DisplayName', 'LocalizedText'), ('Description', 'LocalizedText'), - ] + ] def __init__(self): self.Value = 0 @@ -885,27 +891,29 @@ def __init__(self): self._freeze = True def __str__(self): - return 'EnumValueType(' + 'Value:' + str(self.Value) + ', ' + \ - 'DisplayName:' + str(self.DisplayName) + ', ' + \ - 'Description:' + str(self.Description) + ')' + return ', '.join(( + f'EnumValueType(Value:{self.Value}', + f'DisplayName:{self.DisplayName}', + f'Description:{self.Description})' + )) __repr__ = __str__ class OptionSet(FrozenClass): - ''' + """ This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask. :ivar Value: :vartype Value: ByteString :ivar ValidBits: :vartype ValidBits: ByteString - ''' + """ ua_types = [ ('Value', 'ByteString'), ('ValidBits', 'ByteString'), - ] + ] def __init__(self): self.Value = None @@ -913,42 +921,41 @@ def __init__(self): self._freeze = True def __str__(self): - return 'OptionSet(' + 'Value:' + str(self.Value) + ', ' + \ - 'ValidBits:' + str(self.ValidBits) + ')' + return f'OptionSet(Value:{self.Value}, ValidBits:{self.ValidBits})' __repr__ = __str__ class Union(FrozenClass): - ''' + """ This abstract DataType is the base DataType for all union DataTypes. - ''' + """ ua_types = [ - ] + ] def __init__(self): self._freeze = True def __str__(self): - return 'Union(' + + ')' + return 'Union()' __repr__ = __str__ class TimeZoneDataType(FrozenClass): - ''' + """ :ivar Offset: :vartype Offset: Int16 :ivar DaylightSavingInOffset: :vartype DaylightSavingInOffset: Boolean - ''' + """ ua_types = [ ('Offset', 'Int16'), ('DaylightSavingInOffset', 'Boolean'), - ] + ] def __init__(self): self.Offset = 0 @@ -956,14 +963,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'TimeZoneDataType(' + 'Offset:' + str(self.Offset) + ', ' + \ - 'DaylightSavingInOffset:' + str(self.DaylightSavingInOffset) + ')' + return f'TimeZoneDataType(Offset:{self.Offset}, DaylightSavingInOffset:{self.DaylightSavingInOffset})' __repr__ = __str__ class ApplicationDescription(FrozenClass): - ''' + """ Describes an application and how to find it. :ivar ApplicationUri: @@ -980,7 +986,7 @@ class ApplicationDescription(FrozenClass): :vartype DiscoveryProfileUri: String :ivar DiscoveryUrls: :vartype DiscoveryUrls: String - ''' + """ ua_types = [ ('ApplicationUri', 'String'), @@ -990,7 +996,7 @@ class ApplicationDescription(FrozenClass): ('GatewayServerUri', 'String'), ('DiscoveryProfileUri', 'String'), ('DiscoveryUrls', 'ListOfString'), - ] + ] def __init__(self): self.ApplicationUri = None @@ -1003,19 +1009,21 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ApplicationDescription(' + 'ApplicationUri:' + str(self.ApplicationUri) + ', ' + \ - 'ProductUri:' + str(self.ProductUri) + ', ' + \ - 'ApplicationName:' + str(self.ApplicationName) + ', ' + \ - 'ApplicationType:' + str(self.ApplicationType) + ', ' + \ - 'GatewayServerUri:' + str(self.GatewayServerUri) + ', ' + \ - 'DiscoveryProfileUri:' + str(self.DiscoveryProfileUri) + ', ' + \ - 'DiscoveryUrls:' + str(self.DiscoveryUrls) + ')' + return ', '.join(( + f'ApplicationDescription(ApplicationUri:{self.ApplicationUri}', + f'ProductUri:{self.ProductUri}', + f'ApplicationName:{self.ApplicationName}', + f'ApplicationType:{self.ApplicationType}', + f'GatewayServerUri:{self.GatewayServerUri}', + f'DiscoveryProfileUri:{self.DiscoveryProfileUri}', + f'DiscoveryUrls:{self.DiscoveryUrls})' + )) __repr__ = __str__ class RequestHeader(FrozenClass): - ''' + """ The header passed with every server request. :ivar AuthenticationToken: @@ -1032,7 +1040,7 @@ class RequestHeader(FrozenClass): :vartype TimeoutHint: UInt32 :ivar AdditionalHeader: :vartype AdditionalHeader: ExtensionObject - ''' + """ ua_types = [ ('AuthenticationToken', 'NodeId'), @@ -1042,7 +1050,7 @@ class RequestHeader(FrozenClass): ('AuditEntryId', 'String'), ('TimeoutHint', 'UInt32'), ('AdditionalHeader', 'ExtensionObject'), - ] + ] def __init__(self): self.AuthenticationToken = NodeId() @@ -1055,19 +1063,21 @@ def __init__(self): self._freeze = True def __str__(self): - return 'RequestHeader(' + 'AuthenticationToken:' + str(self.AuthenticationToken) + ', ' + \ - 'Timestamp:' + str(self.Timestamp) + ', ' + \ - 'RequestHandle:' + str(self.RequestHandle) + ', ' + \ - 'ReturnDiagnostics:' + str(self.ReturnDiagnostics) + ', ' + \ - 'AuditEntryId:' + str(self.AuditEntryId) + ', ' + \ - 'TimeoutHint:' + str(self.TimeoutHint) + ', ' + \ - 'AdditionalHeader:' + str(self.AdditionalHeader) + ')' + return ', '.join(( + f'RequestHeader(AuthenticationToken:{self.AuthenticationToken}', + f'Timestamp:{self.Timestamp}', + f'RequestHandle:{self.RequestHandle}', + f'ReturnDiagnostics:{self.ReturnDiagnostics}', + f'AuditEntryId:{self.AuditEntryId}', + f'TimeoutHint:{self.TimeoutHint}', + f'AdditionalHeader:{self.AdditionalHeader})' + )) __repr__ = __str__ class ResponseHeader(FrozenClass): - ''' + """ The header passed with every server response. :ivar Timestamp: @@ -1082,7 +1092,7 @@ class ResponseHeader(FrozenClass): :vartype StringTable: String :ivar AdditionalHeader: :vartype AdditionalHeader: ExtensionObject - ''' + """ ua_types = [ ('Timestamp', 'DateTime'), @@ -1091,7 +1101,7 @@ class ResponseHeader(FrozenClass): ('ServiceDiagnostics', 'DiagnosticInfo'), ('StringTable', 'ListOfString'), ('AdditionalHeader', 'ExtensionObject'), - ] + ] def __init__(self): self.Timestamp = datetime.utcnow() @@ -1103,30 +1113,32 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ResponseHeader(' + 'Timestamp:' + str(self.Timestamp) + ', ' + \ - 'RequestHandle:' + str(self.RequestHandle) + ', ' + \ - 'ServiceResult:' + str(self.ServiceResult) + ', ' + \ - 'ServiceDiagnostics:' + str(self.ServiceDiagnostics) + ', ' + \ - 'StringTable:' + str(self.StringTable) + ', ' + \ - 'AdditionalHeader:' + str(self.AdditionalHeader) + ')' + return ', '.join(( + f'ResponseHeader(Timestamp:{self.Timestamp}', + f'RequestHandle:{self.RequestHandle}', + f'ServiceResult:{self.ServiceResult}', + f'ServiceDiagnostics:{self.ServiceDiagnostics}', + f'StringTable:{self.StringTable}', + f'AdditionalHeader:{self.AdditionalHeader})' + )) __repr__ = __str__ class ServiceFault(FrozenClass): - ''' + """ The response returned by all services when there is a service level error. :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.ServiceFault_Encoding_DefaultBinary) @@ -1134,27 +1146,26 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ServiceFault(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ')' + return f'ServiceFault(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader})' __repr__ = __str__ class FindServersParameters(FrozenClass): - ''' + """ :ivar EndpointUrl: :vartype EndpointUrl: String :ivar LocaleIds: :vartype LocaleIds: String :ivar ServerUris: :vartype ServerUris: String - ''' + """ ua_types = [ ('EndpointUrl', 'String'), ('LocaleIds', 'ListOfString'), ('ServerUris', 'ListOfString'), - ] + ] def __init__(self): self.EndpointUrl = None @@ -1163,15 +1174,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'FindServersParameters(' + 'EndpointUrl:' + str(self.EndpointUrl) + ', ' + \ - 'LocaleIds:' + str(self.LocaleIds) + ', ' + \ - 'ServerUris:' + str(self.ServerUris) + ')' + return ', '.join(( + f'FindServersParameters(EndpointUrl:{self.EndpointUrl}', + f'LocaleIds:{self.LocaleIds}', + f'ServerUris:{self.ServerUris})' + )) __repr__ = __str__ class FindServersRequest(FrozenClass): - ''' + """ Finds the servers known to the discovery server. :ivar TypeId: @@ -1180,13 +1193,13 @@ class FindServersRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: FindServersParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'FindServersParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.FindServersRequest_Encoding_DefaultBinary) @@ -1195,15 +1208,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'FindServersRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'FindServersRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class FindServersResponse(FrozenClass): - ''' + """ Finds the servers known to the discovery server. :ivar TypeId: @@ -1212,13 +1227,13 @@ class FindServersResponse(FrozenClass): :vartype ResponseHeader: ResponseHeader :ivar Servers: :vartype Servers: ApplicationDescription - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Servers', 'ListOfApplicationDescription'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.FindServersResponse_Encoding_DefaultBinary) @@ -1227,15 +1242,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'FindServersResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Servers:' + str(self.Servers) + ')' + return ', '.join(( + f'FindServersResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Servers:{self.Servers})' + )) __repr__ = __str__ class ServerOnNetwork(FrozenClass): - ''' + """ :ivar RecordId: :vartype RecordId: UInt32 :ivar ServerName: @@ -1244,14 +1261,14 @@ class ServerOnNetwork(FrozenClass): :vartype DiscoveryUrl: String :ivar ServerCapabilities: :vartype ServerCapabilities: String - ''' + """ ua_types = [ ('RecordId', 'UInt32'), ('ServerName', 'String'), ('DiscoveryUrl', 'String'), ('ServerCapabilities', 'ListOfString'), - ] + ] def __init__(self): self.RecordId = 0 @@ -1261,29 +1278,31 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ServerOnNetwork(' + 'RecordId:' + str(self.RecordId) + ', ' + \ - 'ServerName:' + str(self.ServerName) + ', ' + \ - 'DiscoveryUrl:' + str(self.DiscoveryUrl) + ', ' + \ - 'ServerCapabilities:' + str(self.ServerCapabilities) + ')' + return ', '.join(( + f'ServerOnNetwork(RecordId:{self.RecordId}', + f'ServerName:{self.ServerName}', + f'DiscoveryUrl:{self.DiscoveryUrl}', + f'ServerCapabilities:{self.ServerCapabilities})' + )) __repr__ = __str__ class FindServersOnNetworkParameters(FrozenClass): - ''' + """ :ivar StartingRecordId: :vartype StartingRecordId: UInt32 :ivar MaxRecordsToReturn: :vartype MaxRecordsToReturn: UInt32 :ivar ServerCapabilityFilter: :vartype ServerCapabilityFilter: String - ''' + """ ua_types = [ ('StartingRecordId', 'UInt32'), ('MaxRecordsToReturn', 'UInt32'), ('ServerCapabilityFilter', 'ListOfString'), - ] + ] def __init__(self): self.StartingRecordId = 0 @@ -1292,28 +1311,30 @@ def __init__(self): self._freeze = True def __str__(self): - return 'FindServersOnNetworkParameters(' + 'StartingRecordId:' + str(self.StartingRecordId) + ', ' + \ - 'MaxRecordsToReturn:' + str(self.MaxRecordsToReturn) + ', ' + \ - 'ServerCapabilityFilter:' + str(self.ServerCapabilityFilter) + ')' + return ', '.join(( + f'FindServersOnNetworkParameters(StartingRecordId:{self.StartingRecordId}', + f'MaxRecordsToReturn:{self.MaxRecordsToReturn}', + f'ServerCapabilityFilter:{self.ServerCapabilityFilter})' + )) __repr__ = __str__ class FindServersOnNetworkRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: FindServersOnNetworkParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'FindServersOnNetworkParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.FindServersOnNetworkRequest_Encoding_DefaultBinary) @@ -1322,25 +1343,27 @@ def __init__(self): self._freeze = True def __str__(self): - return 'FindServersOnNetworkRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'FindServersOnNetworkRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class FindServersOnNetworkResult(FrozenClass): - ''' + """ :ivar LastCounterResetTime: :vartype LastCounterResetTime: DateTime :ivar Servers: :vartype Servers: ServerOnNetwork - ''' + """ ua_types = [ ('LastCounterResetTime', 'DateTime'), ('Servers', 'ListOfServerOnNetwork'), - ] + ] def __init__(self): self.LastCounterResetTime = datetime.utcnow() @@ -1348,27 +1371,26 @@ def __init__(self): self._freeze = True def __str__(self): - return 'FindServersOnNetworkResult(' + 'LastCounterResetTime:' + str(self.LastCounterResetTime) + ', ' + \ - 'Servers:' + str(self.Servers) + ')' + return f'FindServersOnNetworkResult(LastCounterResetTime:{self.LastCounterResetTime}, Servers:{self.Servers})' __repr__ = __str__ class FindServersOnNetworkResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: FindServersOnNetworkResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'FindServersOnNetworkResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.FindServersOnNetworkResponse_Encoding_DefaultBinary) @@ -1377,15 +1399,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'FindServersOnNetworkResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'FindServersOnNetworkResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class UserTokenPolicy(FrozenClass): - ''' + """ Describes a user token that can be used with a server. :ivar PolicyId: @@ -1398,7 +1422,7 @@ class UserTokenPolicy(FrozenClass): :vartype IssuerEndpointUrl: String :ivar SecurityPolicyUri: :vartype SecurityPolicyUri: String - ''' + """ ua_types = [ ('PolicyId', 'String'), @@ -1406,7 +1430,7 @@ class UserTokenPolicy(FrozenClass): ('IssuedTokenType', 'String'), ('IssuerEndpointUrl', 'String'), ('SecurityPolicyUri', 'String'), - ] + ] def __init__(self): self.PolicyId = None @@ -1417,17 +1441,19 @@ def __init__(self): self._freeze = True def __str__(self): - return 'UserTokenPolicy(' + 'PolicyId:' + str(self.PolicyId) + ', ' + \ - 'TokenType:' + str(self.TokenType) + ', ' + \ - 'IssuedTokenType:' + str(self.IssuedTokenType) + ', ' + \ - 'IssuerEndpointUrl:' + str(self.IssuerEndpointUrl) + ', ' + \ - 'SecurityPolicyUri:' + str(self.SecurityPolicyUri) + ')' + return ', '.join(( + f'UserTokenPolicy(PolicyId:{self.PolicyId}', + f'TokenType:{self.TokenType}', + f'IssuedTokenType:{self.IssuedTokenType}', + f'IssuerEndpointUrl:{self.IssuerEndpointUrl}', + f'SecurityPolicyUri:{self.SecurityPolicyUri})' + )) __repr__ = __str__ class EndpointDescription(FrozenClass): - ''' + """ The description of a endpoint that can be used to access a server. :ivar EndpointUrl: @@ -1446,7 +1472,7 @@ class EndpointDescription(FrozenClass): :vartype TransportProfileUri: String :ivar SecurityLevel: :vartype SecurityLevel: Byte - ''' + """ ua_types = [ ('EndpointUrl', 'String'), @@ -1457,7 +1483,7 @@ class EndpointDescription(FrozenClass): ('UserIdentityTokens', 'ListOfUserTokenPolicy'), ('TransportProfileUri', 'String'), ('SecurityLevel', 'Byte'), - ] + ] def __init__(self): self.EndpointUrl = None @@ -1471,33 +1497,35 @@ def __init__(self): self._freeze = True def __str__(self): - return 'EndpointDescription(' + 'EndpointUrl:' + str(self.EndpointUrl) + ', ' + \ - 'Server:' + str(self.Server) + ', ' + \ - 'ServerCertificate:' + str(self.ServerCertificate) + ', ' + \ - 'SecurityMode:' + str(self.SecurityMode) + ', ' + \ - 'SecurityPolicyUri:' + str(self.SecurityPolicyUri) + ', ' + \ - 'UserIdentityTokens:' + str(self.UserIdentityTokens) + ', ' + \ - 'TransportProfileUri:' + str(self.TransportProfileUri) + ', ' + \ - 'SecurityLevel:' + str(self.SecurityLevel) + ')' + return ', '.join(( + f'EndpointDescription(EndpointUrl:{self.EndpointUrl}', + f'Server:{self.Server}', + f'ServerCertificate:{self.ServerCertificate}', + f'SecurityMode:{self.SecurityMode}', + f'SecurityPolicyUri:{self.SecurityPolicyUri}', + f'UserIdentityTokens:{self.UserIdentityTokens}', + f'TransportProfileUri:{self.TransportProfileUri}', + f'SecurityLevel:{self.SecurityLevel})' + )) __repr__ = __str__ class GetEndpointsParameters(FrozenClass): - ''' + """ :ivar EndpointUrl: :vartype EndpointUrl: String :ivar LocaleIds: :vartype LocaleIds: String :ivar ProfileUris: :vartype ProfileUris: String - ''' + """ ua_types = [ ('EndpointUrl', 'String'), ('LocaleIds', 'ListOfString'), ('ProfileUris', 'ListOfString'), - ] + ] def __init__(self): self.EndpointUrl = None @@ -1506,15 +1534,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'GetEndpointsParameters(' + 'EndpointUrl:' + str(self.EndpointUrl) + ', ' + \ - 'LocaleIds:' + str(self.LocaleIds) + ', ' + \ - 'ProfileUris:' + str(self.ProfileUris) + ')' + return ', '.join(( + f'GetEndpointsParameters(EndpointUrl:{self.EndpointUrl}', + f'LocaleIds:{self.LocaleIds}', + f'ProfileUris:{self.ProfileUris})' + )) __repr__ = __str__ class GetEndpointsRequest(FrozenClass): - ''' + """ Gets the endpoints used by the server. :ivar TypeId: @@ -1523,13 +1553,13 @@ class GetEndpointsRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: GetEndpointsParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'GetEndpointsParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.GetEndpointsRequest_Encoding_DefaultBinary) @@ -1538,15 +1568,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'GetEndpointsRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'GetEndpointsRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class GetEndpointsResponse(FrozenClass): - ''' + """ Gets the endpoints used by the server. :ivar TypeId: @@ -1555,13 +1587,13 @@ class GetEndpointsResponse(FrozenClass): :vartype ResponseHeader: ResponseHeader :ivar Endpoints: :vartype Endpoints: EndpointDescription - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Endpoints', 'ListOfEndpointDescription'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.GetEndpointsResponse_Encoding_DefaultBinary) @@ -1570,15 +1602,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'GetEndpointsResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Endpoints:' + str(self.Endpoints) + ')' + return ', '.join(( + f'GetEndpointsResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Endpoints:{self.Endpoints})' + )) __repr__ = __str__ class RegisteredServer(FrozenClass): - ''' + """ The information required to register a server with a discovery server. :ivar ServerUri: @@ -1597,7 +1631,7 @@ class RegisteredServer(FrozenClass): :vartype SemaphoreFilePath: String :ivar IsOnline: :vartype IsOnline: Boolean - ''' + """ ua_types = [ ('ServerUri', 'String'), @@ -1608,7 +1642,7 @@ class RegisteredServer(FrozenClass): ('DiscoveryUrls', 'ListOfString'), ('SemaphoreFilePath', 'String'), ('IsOnline', 'Boolean'), - ] + ] def __init__(self): self.ServerUri = None @@ -1622,20 +1656,22 @@ def __init__(self): self._freeze = True def __str__(self): - return 'RegisteredServer(' + 'ServerUri:' + str(self.ServerUri) + ', ' + \ - 'ProductUri:' + str(self.ProductUri) + ', ' + \ - 'ServerNames:' + str(self.ServerNames) + ', ' + \ - 'ServerType:' + str(self.ServerType) + ', ' + \ - 'GatewayServerUri:' + str(self.GatewayServerUri) + ', ' + \ - 'DiscoveryUrls:' + str(self.DiscoveryUrls) + ', ' + \ - 'SemaphoreFilePath:' + str(self.SemaphoreFilePath) + ', ' + \ - 'IsOnline:' + str(self.IsOnline) + ')' + return ', '.join(( + f'RegisteredServer(ServerUri:{self.ServerUri}', + f'ProductUri:{self.ProductUri}', + f'ServerNames:{self.ServerNames}', + f'ServerType:{self.ServerType}', + f'GatewayServerUri:{self.GatewayServerUri}', + f'DiscoveryUrls:{self.DiscoveryUrls}', + f'SemaphoreFilePath:{self.SemaphoreFilePath}', + f'IsOnline:{self.IsOnline})' + )) __repr__ = __str__ class RegisterServerRequest(FrozenClass): - ''' + """ Registers a server with the discovery server. :ivar TypeId: @@ -1644,13 +1680,13 @@ class RegisterServerRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Server: :vartype Server: RegisteredServer - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Server', 'RegisteredServer'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.RegisterServerRequest_Encoding_DefaultBinary) @@ -1659,27 +1695,29 @@ def __init__(self): self._freeze = True def __str__(self): - return 'RegisterServerRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Server:' + str(self.Server) + ')' + return ', '.join(( + f'RegisterServerRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Server:{self.Server})' + )) __repr__ = __str__ class RegisterServerResponse(FrozenClass): - ''' + """ Registers a server with the discovery server. :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.RegisterServerResponse_Encoding_DefaultBinary) @@ -1687,44 +1725,43 @@ def __init__(self): self._freeze = True def __str__(self): - return 'RegisterServerResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ')' + return f'RegisterServerResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader})' __repr__ = __str__ class DiscoveryConfiguration(FrozenClass): - ''' + """ A base type for discovery configuration information. - ''' + """ ua_types = [ - ] + ] def __init__(self): self._freeze = True def __str__(self): - return 'DiscoveryConfiguration(' + + ')' + return 'DiscoveryConfiguration()' __repr__ = __str__ class MdnsDiscoveryConfiguration(FrozenClass): - ''' + """ The discovery information needed for mDNS registration. :ivar MdnsServerName: :vartype MdnsServerName: String :ivar ServerCapabilities: :vartype ServerCapabilities: String - ''' + """ ua_types = [ ('MdnsServerName', 'String'), ('ServerCapabilities', 'ListOfString'), - ] + ] def __init__(self): self.MdnsServerName = None @@ -1732,24 +1769,26 @@ def __init__(self): self._freeze = True def __str__(self): - return 'MdnsDiscoveryConfiguration(' + 'MdnsServerName:' + str(self.MdnsServerName) + ', ' + \ - 'ServerCapabilities:' + str(self.ServerCapabilities) + ')' + return ', '.join(( + f'MdnsDiscoveryConfiguration(MdnsServerName:{self.MdnsServerName}', + f'ServerCapabilities:{self.ServerCapabilities})' + )) __repr__ = __str__ class RegisterServer2Parameters(FrozenClass): - ''' + """ :ivar Server: :vartype Server: RegisteredServer :ivar DiscoveryConfiguration: :vartype DiscoveryConfiguration: ExtensionObject - ''' + """ ua_types = [ ('Server', 'RegisteredServer'), ('DiscoveryConfiguration', 'ListOfExtensionObject'), - ] + ] def __init__(self): self.Server = RegisteredServer() @@ -1757,27 +1796,26 @@ def __init__(self): self._freeze = True def __str__(self): - return 'RegisterServer2Parameters(' + 'Server:' + str(self.Server) + ', ' + \ - 'DiscoveryConfiguration:' + str(self.DiscoveryConfiguration) + ')' + return f'RegisterServer2Parameters(Server:{self.Server}, DiscoveryConfiguration:{self.DiscoveryConfiguration})' __repr__ = __str__ class RegisterServer2Request(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: RegisterServer2Parameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'RegisterServer2Parameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.RegisterServer2Request_Encoding_DefaultBinary) @@ -1786,15 +1824,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'RegisterServer2Request(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'RegisterServer2Request(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class RegisterServer2Response(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: @@ -1803,14 +1843,14 @@ class RegisterServer2Response(FrozenClass): :vartype ConfigurationResults: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('ConfigurationResults', 'ListOfStatusCode'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.RegisterServer2Response_Encoding_DefaultBinary) @@ -1820,16 +1860,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'RegisterServer2Response(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'ConfigurationResults:' + str(self.ConfigurationResults) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return ', '.join(( + f'RegisterServer2Response(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'ConfigurationResults:{self.ConfigurationResults}', + f'DiagnosticInfos:{self.DiagnosticInfos})' + )) __repr__ = __str__ class ChannelSecurityToken(FrozenClass): - ''' + """ The token that identifies a set of keys for an active secure channel. :ivar ChannelId: @@ -1840,14 +1882,14 @@ class ChannelSecurityToken(FrozenClass): :vartype CreatedAt: DateTime :ivar RevisedLifetime: :vartype RevisedLifetime: UInt32 - ''' + """ ua_types = [ ('ChannelId', 'UInt32'), ('TokenId', 'UInt32'), ('CreatedAt', 'DateTime'), ('RevisedLifetime', 'UInt32'), - ] + ] def __init__(self): self.ChannelId = 0 @@ -1857,16 +1899,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ChannelSecurityToken(' + 'ChannelId:' + str(self.ChannelId) + ', ' + \ - 'TokenId:' + str(self.TokenId) + ', ' + \ - 'CreatedAt:' + str(self.CreatedAt) + ', ' + \ - 'RevisedLifetime:' + str(self.RevisedLifetime) + ')' + return ', '.join(( + f'ChannelSecurityToken(ChannelId:{self.ChannelId}', + f'TokenId:{self.TokenId}', + f'CreatedAt:{self.CreatedAt}', + f'RevisedLifetime:{self.RevisedLifetime})' + )) __repr__ = __str__ class OpenSecureChannelParameters(FrozenClass): - ''' + """ :ivar ClientProtocolVersion: :vartype ClientProtocolVersion: UInt32 :ivar RequestType: @@ -1877,7 +1921,7 @@ class OpenSecureChannelParameters(FrozenClass): :vartype ClientNonce: ByteString :ivar RequestedLifetime: :vartype RequestedLifetime: UInt32 - ''' + """ ua_types = [ ('ClientProtocolVersion', 'UInt32'), @@ -1885,7 +1929,7 @@ class OpenSecureChannelParameters(FrozenClass): ('SecurityMode', 'MessageSecurityMode'), ('ClientNonce', 'ByteString'), ('RequestedLifetime', 'UInt32'), - ] + ] def __init__(self): self.ClientProtocolVersion = 0 @@ -1896,17 +1940,19 @@ def __init__(self): self._freeze = True def __str__(self): - return 'OpenSecureChannelParameters(' + 'ClientProtocolVersion:' + str(self.ClientProtocolVersion) + ', ' + \ - 'RequestType:' + str(self.RequestType) + ', ' + \ - 'SecurityMode:' + str(self.SecurityMode) + ', ' + \ - 'ClientNonce:' + str(self.ClientNonce) + ', ' + \ - 'RequestedLifetime:' + str(self.RequestedLifetime) + ')' + return ', '.join(( + f'OpenSecureChannelParameters(ClientProtocolVersion:{self.ClientProtocolVersion}', + f'RequestType:{self.RequestType}', + f'SecurityMode:{self.SecurityMode}', + f'ClientNonce:{self.ClientNonce}', + f'RequestedLifetime:{self.RequestedLifetime})' + )) __repr__ = __str__ class OpenSecureChannelRequest(FrozenClass): - ''' + """ Creates a secure channel with a server. :ivar TypeId: @@ -1915,13 +1961,13 @@ class OpenSecureChannelRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: OpenSecureChannelParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'OpenSecureChannelParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.OpenSecureChannelRequest_Encoding_DefaultBinary) @@ -1930,28 +1976,30 @@ def __init__(self): self._freeze = True def __str__(self): - return 'OpenSecureChannelRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'OpenSecureChannelRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class OpenSecureChannelResult(FrozenClass): - ''' + """ :ivar ServerProtocolVersion: :vartype ServerProtocolVersion: UInt32 :ivar SecurityToken: :vartype SecurityToken: ChannelSecurityToken :ivar ServerNonce: :vartype ServerNonce: ByteString - ''' + """ ua_types = [ ('ServerProtocolVersion', 'UInt32'), ('SecurityToken', 'ChannelSecurityToken'), ('ServerNonce', 'ByteString'), - ] + ] def __init__(self): self.ServerProtocolVersion = 0 @@ -1960,15 +2008,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'OpenSecureChannelResult(' + 'ServerProtocolVersion:' + str(self.ServerProtocolVersion) + ', ' + \ - 'SecurityToken:' + str(self.SecurityToken) + ', ' + \ - 'ServerNonce:' + str(self.ServerNonce) + ')' + return ', '.join(( + f'OpenSecureChannelResult(ServerProtocolVersion:{self.ServerProtocolVersion}', + f'SecurityToken:{self.SecurityToken}', + f'ServerNonce:{self.ServerNonce})' + )) __repr__ = __str__ class OpenSecureChannelResponse(FrozenClass): - ''' + """ Creates a secure channel with a server. :ivar TypeId: @@ -1977,13 +2027,13 @@ class OpenSecureChannelResponse(FrozenClass): :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: OpenSecureChannelResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'OpenSecureChannelResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.OpenSecureChannelResponse_Encoding_DefaultBinary) @@ -1992,27 +2042,29 @@ def __init__(self): self._freeze = True def __str__(self): - return 'OpenSecureChannelResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'OpenSecureChannelResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class CloseSecureChannelRequest(FrozenClass): - ''' + """ Closes a secure channel. :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CloseSecureChannelRequest_Encoding_DefaultBinary) @@ -2020,26 +2072,25 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CloseSecureChannelRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ')' + return f'CloseSecureChannelRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader})' __repr__ = __str__ class CloseSecureChannelResponse(FrozenClass): - ''' + """ Closes a secure channel. :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CloseSecureChannelResponse_Encoding_DefaultBinary) @@ -2047,26 +2098,25 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CloseSecureChannelResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ')' + return f'CloseSecureChannelResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader})' __repr__ = __str__ class SignedSoftwareCertificate(FrozenClass): - ''' + """ A software certificate with a digital signature. :ivar CertificateData: :vartype CertificateData: ByteString :ivar Signature: :vartype Signature: ByteString - ''' + """ ua_types = [ ('CertificateData', 'ByteString'), ('Signature', 'ByteString'), - ] + ] def __init__(self): self.CertificateData = None @@ -2074,26 +2124,25 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SignedSoftwareCertificate(' + 'CertificateData:' + str(self.CertificateData) + ', ' + \ - 'Signature:' + str(self.Signature) + ')' + return f'SignedSoftwareCertificate(CertificateData:{self.CertificateData}, Signature:{self.Signature})' __repr__ = __str__ class SignatureData(FrozenClass): - ''' + """ A digital signature. :ivar Algorithm: :vartype Algorithm: String :ivar Signature: :vartype Signature: ByteString - ''' + """ ua_types = [ ('Algorithm', 'String'), ('Signature', 'ByteString'), - ] + ] def __init__(self): self.Algorithm = None @@ -2101,14 +2150,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SignatureData(' + 'Algorithm:' + str(self.Algorithm) + ', ' + \ - 'Signature:' + str(self.Signature) + ')' + return f'SignatureData(Algorithm:{self.Algorithm}, Signature:{self.Signature})' __repr__ = __str__ class CreateSessionParameters(FrozenClass): - ''' + """ :ivar ClientDescription: :vartype ClientDescription: ApplicationDescription :ivar ServerUri: @@ -2125,7 +2173,7 @@ class CreateSessionParameters(FrozenClass): :vartype RequestedSessionTimeout: Double :ivar MaxResponseMessageSize: :vartype MaxResponseMessageSize: UInt32 - ''' + """ ua_types = [ ('ClientDescription', 'ApplicationDescription'), @@ -2136,7 +2184,7 @@ class CreateSessionParameters(FrozenClass): ('ClientCertificate', 'ByteString'), ('RequestedSessionTimeout', 'Double'), ('MaxResponseMessageSize', 'UInt32'), - ] + ] def __init__(self): self.ClientDescription = ApplicationDescription() @@ -2150,20 +2198,22 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CreateSessionParameters(' + 'ClientDescription:' + str(self.ClientDescription) + ', ' + \ - 'ServerUri:' + str(self.ServerUri) + ', ' + \ - 'EndpointUrl:' + str(self.EndpointUrl) + ', ' + \ - 'SessionName:' + str(self.SessionName) + ', ' + \ - 'ClientNonce:' + str(self.ClientNonce) + ', ' + \ - 'ClientCertificate:' + str(self.ClientCertificate) + ', ' + \ - 'RequestedSessionTimeout:' + str(self.RequestedSessionTimeout) + ', ' + \ - 'MaxResponseMessageSize:' + str(self.MaxResponseMessageSize) + ')' + return ', '.join(( + f'CreateSessionParameters(ClientDescription:{self.ClientDescription}', + f'ServerUri:{self.ServerUri}', + f'EndpointUrl:{self.EndpointUrl}', + f'SessionName:{self.SessionName}', + f'ClientNonce:{self.ClientNonce}', + f'ClientCertificate:{self.ClientCertificate}', + f'RequestedSessionTimeout:{self.RequestedSessionTimeout}', + f'MaxResponseMessageSize:{self.MaxResponseMessageSize})' + )) __repr__ = __str__ class CreateSessionRequest(FrozenClass): - ''' + """ Creates a new session with the server. :ivar TypeId: @@ -2172,13 +2222,13 @@ class CreateSessionRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: CreateSessionParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'CreateSessionParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CreateSessionRequest_Encoding_DefaultBinary) @@ -2187,15 +2237,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CreateSessionRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'CreateSessionRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class CreateSessionResult(FrozenClass): - ''' + """ :ivar SessionId: :vartype SessionId: NodeId :ivar AuthenticationToken: @@ -2214,7 +2266,7 @@ class CreateSessionResult(FrozenClass): :vartype ServerSignature: SignatureData :ivar MaxRequestMessageSize: :vartype MaxRequestMessageSize: UInt32 - ''' + """ ua_types = [ ('SessionId', 'NodeId'), @@ -2226,7 +2278,7 @@ class CreateSessionResult(FrozenClass): ('ServerSoftwareCertificates', 'ListOfSignedSoftwareCertificate'), ('ServerSignature', 'SignatureData'), ('MaxRequestMessageSize', 'UInt32'), - ] + ] def __init__(self): self.SessionId = NodeId() @@ -2241,21 +2293,23 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CreateSessionResult(' + 'SessionId:' + str(self.SessionId) + ', ' + \ - 'AuthenticationToken:' + str(self.AuthenticationToken) + ', ' + \ - 'RevisedSessionTimeout:' + str(self.RevisedSessionTimeout) + ', ' + \ - 'ServerNonce:' + str(self.ServerNonce) + ', ' + \ - 'ServerCertificate:' + str(self.ServerCertificate) + ', ' + \ - 'ServerEndpoints:' + str(self.ServerEndpoints) + ', ' + \ - 'ServerSoftwareCertificates:' + str(self.ServerSoftwareCertificates) + ', ' + \ - 'ServerSignature:' + str(self.ServerSignature) + ', ' + \ - 'MaxRequestMessageSize:' + str(self.MaxRequestMessageSize) + ')' + return ', '.join(( + f'CreateSessionResult(SessionId:{self.SessionId}', + f'AuthenticationToken:{self.AuthenticationToken}', + f'RevisedSessionTimeout:{self.RevisedSessionTimeout}', + f'ServerNonce:{self.ServerNonce}', + f'ServerCertificate:{self.ServerCertificate}', + f'ServerEndpoints:{self.ServerEndpoints}', + f'ServerSoftwareCertificates:{self.ServerSoftwareCertificates}', + f'ServerSignature:{self.ServerSignature}', + f'MaxRequestMessageSize:{self.MaxRequestMessageSize})' + )) __repr__ = __str__ class CreateSessionResponse(FrozenClass): - ''' + """ Creates a new session with the server. :ivar TypeId: @@ -2264,13 +2318,13 @@ class CreateSessionResponse(FrozenClass): :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: CreateSessionResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'CreateSessionResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CreateSessionResponse_Encoding_DefaultBinary) @@ -2279,59 +2333,61 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CreateSessionResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'CreateSessionResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class UserIdentityToken(FrozenClass): - ''' + """ A base type for a user identity token. :ivar PolicyId: :vartype PolicyId: String - ''' + """ ua_types = [ ('PolicyId', 'String'), - ] + ] def __init__(self): self.PolicyId = None self._freeze = True def __str__(self): - return 'UserIdentityToken(' + 'PolicyId:' + str(self.PolicyId) + ')' + return f'UserIdentityToken(PolicyId:{self.PolicyId})' __repr__ = __str__ class AnonymousIdentityToken(FrozenClass): - ''' + """ A token representing an anonymous user. :ivar PolicyId: :vartype PolicyId: String - ''' + """ ua_types = [ ('PolicyId', 'String'), - ] + ] def __init__(self): self.PolicyId = None self._freeze = True def __str__(self): - return 'AnonymousIdentityToken(' + 'PolicyId:' + str(self.PolicyId) + ')' + return f'AnonymousIdentityToken(PolicyId:{self.PolicyId})', __repr__ = __str__ class UserNameIdentityToken(FrozenClass): - ''' + """ A token representing a user identified by a user name and password. :ivar PolicyId: @@ -2342,14 +2398,14 @@ class UserNameIdentityToken(FrozenClass): :vartype Password: ByteString :ivar EncryptionAlgorithm: :vartype EncryptionAlgorithm: String - ''' + """ ua_types = [ ('PolicyId', 'String'), ('UserName', 'String'), ('Password', 'ByteString'), ('EncryptionAlgorithm', 'String'), - ] + ] def __init__(self): self.PolicyId = None @@ -2359,28 +2415,30 @@ def __init__(self): self._freeze = True def __str__(self): - return f'UserNameIdentityToken(PolicyId:{self.PolicyId}, ' + \ - f'UserName:{self.UserName}, ' + \ - f'Password:{self.Password}, ' + \ - f'EncryptionAlgorithm:{self.EncryptionAlgorithm})' + return ', '.join(( + f'UserNameIdentityToken(PolicyId:{self.PolicyId}', + f'UserName:{self.UserName}', + f'Password:{self.Password}', + f'EncryptionAlgorithm:{self.EncryptionAlgorithm})' + )) __repr__ = __str__ class X509IdentityToken(FrozenClass): - ''' + """ A token representing a user identified by an X509 certificate. :ivar PolicyId: :vartype PolicyId: String :ivar CertificateData: :vartype CertificateData: ByteString - ''' + """ ua_types = [ ('PolicyId', 'String'), ('CertificateData', 'ByteString'), - ] + ] def __init__(self): self.PolicyId = None @@ -2388,24 +2446,23 @@ def __init__(self): self._freeze = True def __str__(self): - return 'X509IdentityToken(' + 'PolicyId:' + str(self.PolicyId) + ', ' + \ - 'CertificateData:' + str(self.CertificateData) + ')' + return f'X509IdentityToken(PolicyId:{self.PolicyId}, CertificateData:{self.CertificateData})' __repr__ = __str__ class KerberosIdentityToken(FrozenClass): - ''' + """ :ivar PolicyId: :vartype PolicyId: String :ivar TicketData: :vartype TicketData: ByteString - ''' + """ ua_types = [ ('PolicyId', 'String'), ('TicketData', 'ByteString'), - ] + ] def __init__(self): self.PolicyId = None @@ -2413,14 +2470,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'KerberosIdentityToken(' + 'PolicyId:' + str(self.PolicyId) + ', ' + \ - 'TicketData:' + str(self.TicketData) + ')' + return f'KerberosIdentityToken(PolicyId:{self.PolicyId}, TicketData:{self.TicketData})' __repr__ = __str__ class IssuedIdentityToken(FrozenClass): - ''' + """ A token representing a user identified by a WS-Security XML token. :ivar PolicyId: @@ -2429,13 +2485,13 @@ class IssuedIdentityToken(FrozenClass): :vartype TokenData: ByteString :ivar EncryptionAlgorithm: :vartype EncryptionAlgorithm: String - ''' + """ ua_types = [ ('PolicyId', 'String'), ('TokenData', 'ByteString'), ('EncryptionAlgorithm', 'String'), - ] + ] def __init__(self): self.PolicyId = None @@ -2444,15 +2500,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'IssuedIdentityToken(' + 'PolicyId:' + str(self.PolicyId) + ', ' + \ - 'TokenData:' + str(self.TokenData) + ', ' + \ - 'EncryptionAlgorithm:' + str(self.EncryptionAlgorithm) + ')' + return ', '.join(( + f'IssuedIdentityToken(PolicyId:{self.PolicyId}', + f'TokenData:{self.TokenData}', + f'EncryptionAlgorithm:{self.EncryptionAlgorithm})' + )) __repr__ = __str__ class ActivateSessionParameters(FrozenClass): - ''' + """ :ivar ClientSignature: :vartype ClientSignature: SignatureData :ivar ClientSoftwareCertificates: @@ -2463,7 +2521,7 @@ class ActivateSessionParameters(FrozenClass): :vartype UserIdentityToken: ExtensionObject :ivar UserTokenSignature: :vartype UserTokenSignature: SignatureData - ''' + """ ua_types = [ ('ClientSignature', 'SignatureData'), @@ -2471,7 +2529,7 @@ class ActivateSessionParameters(FrozenClass): ('LocaleIds', 'ListOfString'), ('UserIdentityToken', 'ExtensionObject'), ('UserTokenSignature', 'SignatureData'), - ] + ] def __init__(self): self.ClientSignature = SignatureData() @@ -2482,17 +2540,19 @@ def __init__(self): self._freeze = True def __str__(self): - return f'ActivateSessionParameters(ClientSignature:{self.ClientSignature}, ' + \ - f'ClientSoftwareCertificates:{self.ClientSoftwareCertificates}, ' + \ - f'LocaleIds:{self.LocaleIds}, ' + \ - f'UserIdentityToken:{self.UserIdentityToken}, ' + \ - f'UserTokenSignature:{self.UserTokenSignature})' + return ', '.join(( + f'ActivateSessionParameters(ClientSignature:{self.ClientSignature}', + f'ClientSoftwareCertificates:{self.ClientSoftwareCertificates}', + f'LocaleIds:{self.LocaleIds}', + f'UserIdentityToken:{self.UserIdentityToken}', + f'UserTokenSignature:{self.UserTokenSignature})' + )) __repr__ = __str__ class ActivateSessionRequest(FrozenClass): - ''' + """ Activates a session with the server. :ivar TypeId: @@ -2501,13 +2561,13 @@ class ActivateSessionRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: ActivateSessionParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'ActivateSessionParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.ActivateSessionRequest_Encoding_DefaultBinary) @@ -2516,28 +2576,30 @@ def __init__(self): self._freeze = True def __str__(self): - return f'ActivateSessionRequest(TypeId:{self.TypeId}, ' + \ - f'RequestHeader:{self.RequestHeader}, ' + \ - f'Parameters:{self.Parameters})' + return ', '.join(( + f'ActivateSessionRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class ActivateSessionResult(FrozenClass): - ''' + """ :ivar ServerNonce: :vartype ServerNonce: ByteString :ivar Results: :vartype Results: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('ServerNonce', 'ByteString'), ('Results', 'ListOfStatusCode'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.ServerNonce = None @@ -2546,15 +2608,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ActivateSessionResult(ServerNonce:' + str(self.ServerNonce) + ', ' + \ - 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return ', '.join(( + f'ActivateSessionResult(ServerNonce:{self.ServerNonce}', + f'Results:{self.Results}', + f'DiagnosticInfos:{self.DiagnosticInfos})' + )) __repr__ = __str__ class ActivateSessionResponse(FrozenClass): - ''' + """ Activates a session with the server. :ivar TypeId: @@ -2563,13 +2627,13 @@ class ActivateSessionResponse(FrozenClass): :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: ActivateSessionResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'ActivateSessionResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.ActivateSessionResponse_Encoding_DefaultBinary) @@ -2578,15 +2642,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ActivateSessionResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'ActivateSessionResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class CloseSessionRequest(FrozenClass): - ''' + """ Closes a session with the server. :ivar TypeId: @@ -2595,13 +2661,13 @@ class CloseSessionRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar DeleteSubscriptions: :vartype DeleteSubscriptions: Boolean - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('DeleteSubscriptions', 'Boolean'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CloseSessionRequest_Encoding_DefaultBinary) @@ -2610,27 +2676,29 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CloseSessionRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'DeleteSubscriptions:' + str(self.DeleteSubscriptions) + ')' + return ', '.join(( + f'CloseSessionRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'DeleteSubscriptions:{self.DeleteSubscriptions})' + )) __repr__ = __str__ class CloseSessionResponse(FrozenClass): - ''' + """ Closes a session with the server. :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CloseSessionResponse_Encoding_DefaultBinary) @@ -2638,34 +2706,33 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CloseSessionResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ')' + return f'CloseSessionResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader})' __repr__ = __str__ class CancelParameters(FrozenClass): - ''' + """ :ivar RequestHandle: :vartype RequestHandle: UInt32 - ''' + """ ua_types = [ ('RequestHandle', 'UInt32'), - ] + ] def __init__(self): self.RequestHandle = 0 self._freeze = True def __str__(self): - return 'CancelParameters(' + 'RequestHandle:' + str(self.RequestHandle) + ')' + return f'CancelParameters(RequestHandle:{self.RequestHandle})' __repr__ = __str__ class CancelRequest(FrozenClass): - ''' + """ Cancels an outstanding request. :ivar TypeId: @@ -2674,13 +2741,13 @@ class CancelRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: CancelParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'CancelParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CancelRequest_Encoding_DefaultBinary) @@ -2689,35 +2756,37 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CancelRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'CancelRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class CancelResult(FrozenClass): - ''' + """ :ivar CancelCount: :vartype CancelCount: UInt32 - ''' + """ ua_types = [ ('CancelCount', 'UInt32'), - ] + ] def __init__(self): self.CancelCount = 0 self._freeze = True def __str__(self): - return 'CancelResult(' + 'CancelCount:' + str(self.CancelCount) + ')' + return f'CancelResult(CancelCount:{self.CancelCount})' __repr__ = __str__ class CancelResponse(FrozenClass): - ''' + """ Cancels an outstanding request. :ivar TypeId: @@ -2726,13 +2795,13 @@ class CancelResponse(FrozenClass): :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: CancelResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'CancelResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CancelResponse_Encoding_DefaultBinary) @@ -2741,15 +2810,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CancelResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'CancelResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class NodeAttributes(FrozenClass): - ''' + """ The base attributes for all nodes. :ivar SpecifiedAttributes: @@ -2762,7 +2833,7 @@ class NodeAttributes(FrozenClass): :vartype WriteMask: UInt32 :ivar UserWriteMask: :vartype UserWriteMask: UInt32 - ''' + """ ua_types = [ ('SpecifiedAttributes', 'UInt32'), @@ -2770,7 +2841,7 @@ class NodeAttributes(FrozenClass): ('Description', 'LocalizedText'), ('WriteMask', 'UInt32'), ('UserWriteMask', 'UInt32'), - ] + ] def __init__(self): self.SpecifiedAttributes = 0 @@ -2781,17 +2852,19 @@ def __init__(self): self._freeze = True def __str__(self): - return 'NodeAttributes(' + 'SpecifiedAttributes:' + str(self.SpecifiedAttributes) + ', ' + \ - 'DisplayName:' + str(self.DisplayName) + ', ' + \ - 'Description:' + str(self.Description) + ', ' + \ - 'WriteMask:' + str(self.WriteMask) + ', ' + \ - 'UserWriteMask:' + str(self.UserWriteMask) + ')' + return ', '.join(( + f'NodeAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}', + f'DisplayName:{self.DisplayName}', + f'Description:{self.Description}', + f'WriteMask:{self.WriteMask}', + f'UserWriteMask:{self.UserWriteMask})' + )) __repr__ = __str__ class ObjectAttributes(FrozenClass): - ''' + """ The attributes for an object node. :ivar SpecifiedAttributes: @@ -2806,7 +2879,7 @@ class ObjectAttributes(FrozenClass): :vartype UserWriteMask: UInt32 :ivar EventNotifier: :vartype EventNotifier: Byte - ''' + """ ua_types = [ ('SpecifiedAttributes', 'UInt32'), @@ -2815,7 +2888,7 @@ class ObjectAttributes(FrozenClass): ('WriteMask', 'UInt32'), ('UserWriteMask', 'UInt32'), ('EventNotifier', 'Byte'), - ] + ] def __init__(self): self.SpecifiedAttributes = 0 @@ -2827,18 +2900,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ObjectAttributes(' + 'SpecifiedAttributes:' + str(self.SpecifiedAttributes) + ', ' + \ - 'DisplayName:' + str(self.DisplayName) + ', ' + \ - 'Description:' + str(self.Description) + ', ' + \ - 'WriteMask:' + str(self.WriteMask) + ', ' + \ - 'UserWriteMask:' + str(self.UserWriteMask) + ', ' + \ - 'EventNotifier:' + str(self.EventNotifier) + ')' + return ', '.join(( + f'ObjectAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}', + f'DisplayName:{self.DisplayName}', + f'Description:{self.Description}', + f'WriteMask:{self.WriteMask}', + f'UserWriteMask:{self.UserWriteMask}', + f'EventNotifier:{self.EventNotifier})' + )) __repr__ = __str__ class VariableAttributes(FrozenClass): - ''' + """ The attributes for a variable node. :ivar SpecifiedAttributes: @@ -2867,7 +2942,7 @@ class VariableAttributes(FrozenClass): :vartype MinimumSamplingInterval: Double :ivar Historizing: :vartype Historizing: Boolean - ''' + """ ua_types = [ ('SpecifiedAttributes', 'UInt32'), @@ -2883,7 +2958,7 @@ class VariableAttributes(FrozenClass): ('UserAccessLevel', 'Byte'), ('MinimumSamplingInterval', 'Double'), ('Historizing', 'Boolean'), - ] + ] def __init__(self): self.SpecifiedAttributes = 0 @@ -2902,25 +2977,27 @@ def __init__(self): self._freeze = True def __str__(self): - return 'VariableAttributes(' + 'SpecifiedAttributes:' + str(self.SpecifiedAttributes) + ', ' + \ - 'DisplayName:' + str(self.DisplayName) + ', ' + \ - 'Description:' + str(self.Description) + ', ' + \ - 'WriteMask:' + str(self.WriteMask) + ', ' + \ - 'UserWriteMask:' + str(self.UserWriteMask) + ', ' + \ - 'Value:' + str(self.Value) + ', ' + \ - 'DataType:' + str(self.DataType) + ', ' + \ - 'ValueRank:' + str(self.ValueRank) + ', ' + \ - 'ArrayDimensions:' + str(self.ArrayDimensions) + ', ' + \ - 'AccessLevel:' + str(self.AccessLevel) + ', ' + \ - 'UserAccessLevel:' + str(self.UserAccessLevel) + ', ' + \ - 'MinimumSamplingInterval:' + str(self.MinimumSamplingInterval) + ', ' + \ - 'Historizing:' + str(self.Historizing) + ')' + return ', '.join(( + f'VariableAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}', + f'DisplayName:{self.DisplayName}', + f'Description:{self.Description}', + f'WriteMask:{self.WriteMask}', + f'UserWriteMask:{self.UserWriteMask}', + f'Value:{self.Value}', + f'DataType:{self.DataType}', + f'ValueRank:{self.ValueRank}', + f'ArrayDimensions:{self.ArrayDimensions}', + f'AccessLevel:{self.AccessLevel}', + f'UserAccessLevel:{self.UserAccessLevel}', + f'MinimumSamplingInterval:{self.MinimumSamplingInterval}', + f'Historizing:{self.Historizing})' + )) __repr__ = __str__ class MethodAttributes(FrozenClass): - ''' + """ The attributes for a method node. :ivar SpecifiedAttributes: @@ -2937,7 +3014,7 @@ class MethodAttributes(FrozenClass): :vartype Executable: Boolean :ivar UserExecutable: :vartype UserExecutable: Boolean - ''' + """ ua_types = [ ('SpecifiedAttributes', 'UInt32'), @@ -2947,7 +3024,7 @@ class MethodAttributes(FrozenClass): ('UserWriteMask', 'UInt32'), ('Executable', 'Boolean'), ('UserExecutable', 'Boolean'), - ] + ] def __init__(self): self.SpecifiedAttributes = 0 @@ -2960,19 +3037,21 @@ def __init__(self): self._freeze = True def __str__(self): - return 'MethodAttributes(' + 'SpecifiedAttributes:' + str(self.SpecifiedAttributes) + ', ' + \ - 'DisplayName:' + str(self.DisplayName) + ', ' + \ - 'Description:' + str(self.Description) + ', ' + \ - 'WriteMask:' + str(self.WriteMask) + ', ' + \ - 'UserWriteMask:' + str(self.UserWriteMask) + ', ' + \ - 'Executable:' + str(self.Executable) + ', ' + \ - 'UserExecutable:' + str(self.UserExecutable) + ')' + return ', '.join(( + f'MethodAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}', + f'DisplayName:{self.DisplayName}', + f'Description:{self.Description}', + f'WriteMask:{self.WriteMask}', + f'UserWriteMask:{self.UserWriteMask}', + f'Executable:{self.Executable}', + f'UserExecutable:{self.UserExecutable})' + )) __repr__ = __str__ class ObjectTypeAttributes(FrozenClass): - ''' + """ The attributes for an object type node. :ivar SpecifiedAttributes: @@ -2987,7 +3066,7 @@ class ObjectTypeAttributes(FrozenClass): :vartype UserWriteMask: UInt32 :ivar IsAbstract: :vartype IsAbstract: Boolean - ''' + """ ua_types = [ ('SpecifiedAttributes', 'UInt32'), @@ -2996,7 +3075,7 @@ class ObjectTypeAttributes(FrozenClass): ('WriteMask', 'UInt32'), ('UserWriteMask', 'UInt32'), ('IsAbstract', 'Boolean'), - ] + ] def __init__(self): self.SpecifiedAttributes = 0 @@ -3008,18 +3087,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ObjectTypeAttributes(' + 'SpecifiedAttributes:' + str(self.SpecifiedAttributes) + ', ' + \ - 'DisplayName:' + str(self.DisplayName) + ', ' + \ - 'Description:' + str(self.Description) + ', ' + \ - 'WriteMask:' + str(self.WriteMask) + ', ' + \ - 'UserWriteMask:' + str(self.UserWriteMask) + ', ' + \ - 'IsAbstract:' + str(self.IsAbstract) + ')' + return ', '.join(( + f'ObjectTypeAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}', + f'DisplayName:{self.DisplayName}', + f'Description:{self.Description}', + f'WriteMask:{self.WriteMask}', + f'UserWriteMask:{self.UserWriteMask}', + f'IsAbstract:{self.IsAbstract})' + )) __repr__ = __str__ class VariableTypeAttributes(FrozenClass): - ''' + """ The attributes for a variable type node. :ivar SpecifiedAttributes: @@ -3042,7 +3123,7 @@ class VariableTypeAttributes(FrozenClass): :vartype ArrayDimensions: UInt32 :ivar IsAbstract: :vartype IsAbstract: Boolean - ''' + """ ua_types = [ ('SpecifiedAttributes', 'UInt32'), @@ -3055,7 +3136,7 @@ class VariableTypeAttributes(FrozenClass): ('ValueRank', 'Int32'), ('ArrayDimensions', 'ListOfUInt32'), ('IsAbstract', 'Boolean'), - ] + ] def __init__(self): self.SpecifiedAttributes = 0 @@ -3071,22 +3152,24 @@ def __init__(self): self._freeze = True def __str__(self): - return 'VariableTypeAttributes(' + 'SpecifiedAttributes:' + str(self.SpecifiedAttributes) + ', ' + \ - 'DisplayName:' + str(self.DisplayName) + ', ' + \ - 'Description:' + str(self.Description) + ', ' + \ - 'WriteMask:' + str(self.WriteMask) + ', ' + \ - 'UserWriteMask:' + str(self.UserWriteMask) + ', ' + \ - 'Value:' + str(self.Value) + ', ' + \ - 'DataType:' + str(self.DataType) + ', ' + \ - 'ValueRank:' + str(self.ValueRank) + ', ' + \ - 'ArrayDimensions:' + str(self.ArrayDimensions) + ', ' + \ - 'IsAbstract:' + str(self.IsAbstract) + ')' + return ', '.join(( + f'VariableTypeAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}', + f'DisplayName:{self.DisplayName}', + f'Description:{self.Description}', + f'WriteMask:{self.WriteMask}', + f'UserWriteMask:{self.UserWriteMask}', + f'Value:{self.Value}', + f'DataType:{self.DataType}', + f'ValueRank:{self.ValueRank}', + f'ArrayDimensions:{self.ArrayDimensions}', + f'IsAbstract:{self.IsAbstract})' + )) __repr__ = __str__ class ReferenceTypeAttributes(FrozenClass): - ''' + """ The attributes for a reference type node. :ivar SpecifiedAttributes: @@ -3105,7 +3188,7 @@ class ReferenceTypeAttributes(FrozenClass): :vartype Symmetric: Boolean :ivar InverseName: :vartype InverseName: LocalizedText - ''' + """ ua_types = [ ('SpecifiedAttributes', 'UInt32'), @@ -3116,7 +3199,7 @@ class ReferenceTypeAttributes(FrozenClass): ('IsAbstract', 'Boolean'), ('Symmetric', 'Boolean'), ('InverseName', 'LocalizedText'), - ] + ] def __init__(self): self.SpecifiedAttributes = 0 @@ -3130,20 +3213,22 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ReferenceTypeAttributes(' + 'SpecifiedAttributes:' + str(self.SpecifiedAttributes) + ', ' + \ - 'DisplayName:' + str(self.DisplayName) + ', ' + \ - 'Description:' + str(self.Description) + ', ' + \ - 'WriteMask:' + str(self.WriteMask) + ', ' + \ - 'UserWriteMask:' + str(self.UserWriteMask) + ', ' + \ - 'IsAbstract:' + str(self.IsAbstract) + ', ' + \ - 'Symmetric:' + str(self.Symmetric) + ', ' + \ - 'InverseName:' + str(self.InverseName) + ')' + return ', '.join(( + f'ReferenceTypeAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}', + f'DisplayName:{self.DisplayName}', + f'Description:{self.Description}', + f'WriteMask:{self.WriteMask}', + f'UserWriteMask:{self.UserWriteMask}', + f'IsAbstract:{self.IsAbstract}', + f'Symmetric:{self.Symmetric}', + f'InverseName:{self.InverseName})' + )) __repr__ = __str__ class DataTypeAttributes(FrozenClass): - ''' + """ The attributes for a data type node. :ivar SpecifiedAttributes: @@ -3158,7 +3243,7 @@ class DataTypeAttributes(FrozenClass): :vartype UserWriteMask: UInt32 :ivar IsAbstract: :vartype IsAbstract: Boolean - ''' + """ ua_types = [ ('SpecifiedAttributes', 'UInt32'), @@ -3167,7 +3252,7 @@ class DataTypeAttributes(FrozenClass): ('WriteMask', 'UInt32'), ('UserWriteMask', 'UInt32'), ('IsAbstract', 'Boolean'), - ] + ] def __init__(self): self.SpecifiedAttributes = 0 @@ -3179,18 +3264,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DataTypeAttributes(' + 'SpecifiedAttributes:' + str(self.SpecifiedAttributes) + ', ' + \ - 'DisplayName:' + str(self.DisplayName) + ', ' + \ - 'Description:' + str(self.Description) + ', ' + \ - 'WriteMask:' + str(self.WriteMask) + ', ' + \ - 'UserWriteMask:' + str(self.UserWriteMask) + ', ' + \ - 'IsAbstract:' + str(self.IsAbstract) + ')' + return ', '.join(( + f'DataTypeAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}', + f'DisplayName:{self.DisplayName}', + f'Description:{self.Description}', + f'WriteMask:{self.WriteMask}', + f'UserWriteMask:{self.UserWriteMask}', + f'IsAbstract:{self.IsAbstract})' + )) __repr__ = __str__ class ViewAttributes(FrozenClass): - ''' + """ The attributes for a view node. :ivar SpecifiedAttributes: @@ -3207,7 +3294,7 @@ class ViewAttributes(FrozenClass): :vartype ContainsNoLoops: Boolean :ivar EventNotifier: :vartype EventNotifier: Byte - ''' + """ ua_types = [ ('SpecifiedAttributes', 'UInt32'), @@ -3217,7 +3304,7 @@ class ViewAttributes(FrozenClass): ('UserWriteMask', 'UInt32'), ('ContainsNoLoops', 'Boolean'), ('EventNotifier', 'Byte'), - ] + ] def __init__(self): self.SpecifiedAttributes = 0 @@ -3230,19 +3317,21 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ViewAttributes(' + 'SpecifiedAttributes:' + str(self.SpecifiedAttributes) + ', ' + \ - 'DisplayName:' + str(self.DisplayName) + ', ' + \ - 'Description:' + str(self.Description) + ', ' + \ - 'WriteMask:' + str(self.WriteMask) + ', ' + \ - 'UserWriteMask:' + str(self.UserWriteMask) + ', ' + \ - 'ContainsNoLoops:' + str(self.ContainsNoLoops) + ', ' + \ - 'EventNotifier:' + str(self.EventNotifier) + ')' + return ', '.join(( + f'ViewAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}', + f'DisplayName:{self.DisplayName}', + f'Description:{self.Description}', + f'WriteMask:{self.WriteMask}', + f'UserWriteMask:{self.UserWriteMask}', + f'ContainsNoLoops:{self.ContainsNoLoops}', + f'EventNotifier:{self.EventNotifier})' + )) __repr__ = __str__ class AddNodesItem(FrozenClass): - ''' + """ A request to add a node to the server address space. :ivar ParentNodeId: @@ -3259,7 +3348,7 @@ class AddNodesItem(FrozenClass): :vartype NodeAttributes: ExtensionObject :ivar TypeDefinition: :vartype TypeDefinition: ExpandedNodeId - ''' + """ ua_types = [ ('ParentNodeId', 'ExpandedNodeId'), @@ -3269,7 +3358,7 @@ class AddNodesItem(FrozenClass): ('NodeClass', 'NodeClass'), ('NodeAttributes', 'ExtensionObject'), ('TypeDefinition', 'ExpandedNodeId'), - ] + ] def __init__(self): self.ParentNodeId = ExpandedNodeId() @@ -3282,31 +3371,33 @@ def __init__(self): self._freeze = True def __str__(self): - return 'AddNodesItem(' + 'ParentNodeId:' + str(self.ParentNodeId) + ', ' + \ - 'ReferenceTypeId:' + str(self.ReferenceTypeId) + ', ' + \ - 'RequestedNewNodeId:' + str(self.RequestedNewNodeId) + ', ' + \ - 'BrowseName:' + str(self.BrowseName) + ', ' + \ - 'NodeClass:' + str(self.NodeClass) + ', ' + \ - 'NodeAttributes:' + str(self.NodeAttributes) + ', ' + \ - 'TypeDefinition:' + str(self.TypeDefinition) + ')' + return ', '.join(( + f'AddNodesItem(ParentNodeId:{self.ParentNodeId}', + f'ReferenceTypeId:{self.ReferenceTypeId}', + f'RequestedNewNodeId:{self.RequestedNewNodeId}', + f'BrowseName:{self.BrowseName}', + f'NodeClass:{self.NodeClass}', + f'NodeAttributes:{self.NodeAttributes}', + f'TypeDefinition:{self.TypeDefinition})' + )) __repr__ = __str__ class AddNodesResult(FrozenClass): - ''' + """ A result of an add node operation. :ivar StatusCode: :vartype StatusCode: StatusCode :ivar AddedNodeId: :vartype AddedNodeId: NodeId - ''' + """ ua_types = [ ('StatusCode', 'StatusCode'), ('AddedNodeId', 'NodeId'), - ] + ] def __init__(self): self.StatusCode = StatusCode() @@ -3314,34 +3405,33 @@ def __init__(self): self._freeze = True def __str__(self): - return 'AddNodesResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ - 'AddedNodeId:' + str(self.AddedNodeId) + ')' + return f'AddNodesResult(StatusCode:{self.StatusCode}, AddedNodeId:{self.AddedNodeId})' __repr__ = __str__ class AddNodesParameters(FrozenClass): - ''' + """ :ivar NodesToAdd: :vartype NodesToAdd: AddNodesItem - ''' + """ ua_types = [ ('NodesToAdd', 'ListOfAddNodesItem'), - ] + ] def __init__(self): self.NodesToAdd = [] self._freeze = True def __str__(self): - return 'AddNodesParameters(' + 'NodesToAdd:' + str(self.NodesToAdd) + ')' + return f'AddNodesParameters(NodesToAdd:{self.NodesToAdd})' __repr__ = __str__ class AddNodesRequest(FrozenClass): - ''' + """ Adds one or more nodes to the server address space. :ivar TypeId: @@ -3350,13 +3440,13 @@ class AddNodesRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: AddNodesParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'AddNodesParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.AddNodesRequest_Encoding_DefaultBinary) @@ -3365,15 +3455,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'AddNodesRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'AddNodesRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class AddNodesResponse(FrozenClass): - ''' + """ Adds one or more nodes to the server address space. :ivar TypeId: @@ -3384,14 +3476,14 @@ class AddNodesResponse(FrozenClass): :vartype Results: AddNodesResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfAddNodesResult'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.AddNodesResponse_Encoding_DefaultBinary) @@ -3401,16 +3493,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'AddNodesResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return ', '.join(( + f'AddNodesResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Results:{self.Results}', + f'DiagnosticInfos:{self.DiagnosticInfos})' + )) __repr__ = __str__ class AddReferencesItem(FrozenClass): - ''' + """ A request to add a reference to the server address space. :ivar SourceNodeId: @@ -3425,7 +3519,7 @@ class AddReferencesItem(FrozenClass): :vartype TargetNodeId: ExpandedNodeId :ivar TargetNodeClass: :vartype TargetNodeClass: NodeClass - ''' + """ ua_types = [ ('SourceNodeId', 'NodeId'), @@ -3434,7 +3528,7 @@ class AddReferencesItem(FrozenClass): ('TargetServerUri', 'String'), ('TargetNodeId', 'ExpandedNodeId'), ('TargetNodeClass', 'NodeClass'), - ] + ] def __init__(self): self.SourceNodeId = NodeId() @@ -3446,38 +3540,40 @@ def __init__(self): self._freeze = True def __str__(self): - return 'AddReferencesItem(' + 'SourceNodeId:' + str(self.SourceNodeId) + ', ' + \ - 'ReferenceTypeId:' + str(self.ReferenceTypeId) + ', ' + \ - 'IsForward:' + str(self.IsForward) + ', ' + \ - 'TargetServerUri:' + str(self.TargetServerUri) + ', ' + \ - 'TargetNodeId:' + str(self.TargetNodeId) + ', ' + \ - 'TargetNodeClass:' + str(self.TargetNodeClass) + ')' + return ', '.join(( + f'AddReferencesItem(SourceNodeId:{self.SourceNodeId}', + f'ReferenceTypeId:{self.ReferenceTypeId}', + f'IsForward:{self.IsForward}', + f'TargetServerUri:{self.TargetServerUri}', + f'TargetNodeId:{self.TargetNodeId}', + f'TargetNodeClass:{self.TargetNodeClass})' + )) __repr__ = __str__ class AddReferencesParameters(FrozenClass): - ''' + """ :ivar ReferencesToAdd: :vartype ReferencesToAdd: AddReferencesItem - ''' + """ ua_types = [ ('ReferencesToAdd', 'ListOfAddReferencesItem'), - ] + ] def __init__(self): self.ReferencesToAdd = [] self._freeze = True def __str__(self): - return 'AddReferencesParameters(' + 'ReferencesToAdd:' + str(self.ReferencesToAdd) + ')' + return f'AddReferencesParameters(ReferencesToAdd:{self.ReferencesToAdd})' __repr__ = __str__ class AddReferencesRequest(FrozenClass): - ''' + """ Adds one or more references to the server address space. :ivar TypeId: @@ -3486,13 +3582,13 @@ class AddReferencesRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: AddReferencesParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'AddReferencesParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.AddReferencesRequest_Encoding_DefaultBinary) @@ -3501,15 +3597,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'AddReferencesRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'AddReferencesRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class AddReferencesResponse(FrozenClass): - ''' + """ Adds one or more references to the server address space. :ivar TypeId: @@ -3520,14 +3618,14 @@ class AddReferencesResponse(FrozenClass): :vartype Results: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfStatusCode'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.AddReferencesResponse_Encoding_DefaultBinary) @@ -3537,28 +3635,30 @@ def __init__(self): self._freeze = True def __str__(self): - return 'AddReferencesResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return ', '.join(( + f'AddReferencesResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Results:{self.Results}', + f'DiagnosticInfos:{self.DiagnosticInfos})' + )) __repr__ = __str__ class DeleteNodesItem(FrozenClass): - ''' + """ A request to delete a node to the server address space. :ivar NodeId: :vartype NodeId: NodeId :ivar DeleteTargetReferences: :vartype DeleteTargetReferences: Boolean - ''' + """ ua_types = [ ('NodeId', 'NodeId'), ('DeleteTargetReferences', 'Boolean'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -3566,34 +3666,33 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DeleteNodesItem(' + 'NodeId:' + str(self.NodeId) + ', ' + \ - 'DeleteTargetReferences:' + str(self.DeleteTargetReferences) + ')' + return f'DeleteNodesItem(NodeId:{self.NodeId}, DeleteTargetReferences:{self.DeleteTargetReferences})' __repr__ = __str__ class DeleteNodesParameters(FrozenClass): - ''' + """ :ivar NodesToDelete: :vartype NodesToDelete: DeleteNodesItem - ''' + """ ua_types = [ ('NodesToDelete', 'ListOfDeleteNodesItem'), - ] + ] def __init__(self): self.NodesToDelete = [] self._freeze = True def __str__(self): - return 'DeleteNodesParameters(' + 'NodesToDelete:' + str(self.NodesToDelete) + ')' + return f'DeleteNodesParameters(NodesToDelete:{self.NodesToDelete})' __repr__ = __str__ class DeleteNodesRequest(FrozenClass): - ''' + """ Delete one or more nodes from the server address space. :ivar TypeId: @@ -3602,13 +3701,13 @@ class DeleteNodesRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: DeleteNodesParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'DeleteNodesParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.DeleteNodesRequest_Encoding_DefaultBinary) @@ -3617,15 +3716,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DeleteNodesRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'DeleteNodesRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class DeleteNodesResponse(FrozenClass): - ''' + """ Delete one or more nodes from the server address space. :ivar TypeId: @@ -3636,14 +3737,14 @@ class DeleteNodesResponse(FrozenClass): :vartype Results: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfStatusCode'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.DeleteNodesResponse_Encoding_DefaultBinary) @@ -3653,16 +3754,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DeleteNodesResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return ', '.join(( + f'DeleteNodesResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Results:{self.Results}', + f'DiagnosticInfos:{self.DiagnosticInfos})' + )) __repr__ = __str__ class DeleteReferencesItem(FrozenClass): - ''' + """ A request to delete a node from the server address space. :ivar SourceNodeId: @@ -3675,7 +3778,7 @@ class DeleteReferencesItem(FrozenClass): :vartype TargetNodeId: ExpandedNodeId :ivar DeleteBidirectional: :vartype DeleteBidirectional: Boolean - ''' + """ ua_types = [ ('SourceNodeId', 'NodeId'), @@ -3683,7 +3786,7 @@ class DeleteReferencesItem(FrozenClass): ('IsForward', 'Boolean'), ('TargetNodeId', 'ExpandedNodeId'), ('DeleteBidirectional', 'Boolean'), - ] + ] def __init__(self): self.SourceNodeId = NodeId() @@ -3694,37 +3797,39 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DeleteReferencesItem(' + 'SourceNodeId:' + str(self.SourceNodeId) + ', ' + \ - 'ReferenceTypeId:' + str(self.ReferenceTypeId) + ', ' + \ - 'IsForward:' + str(self.IsForward) + ', ' + \ - 'TargetNodeId:' + str(self.TargetNodeId) + ', ' + \ - 'DeleteBidirectional:' + str(self.DeleteBidirectional) + ')' + return ', '.join(( + f'DeleteReferencesItem(SourceNodeId:{self.SourceNodeId}', + f'ReferenceTypeId:{self.ReferenceTypeId}', + f'IsForward:{self.IsForward}', + f'TargetNodeId:{self.TargetNodeId}', + f'DeleteBidirectional:{self.DeleteBidirectional})' + )) __repr__ = __str__ class DeleteReferencesParameters(FrozenClass): - ''' + """ :ivar ReferencesToDelete: :vartype ReferencesToDelete: DeleteReferencesItem - ''' + """ ua_types = [ ('ReferencesToDelete', 'ListOfDeleteReferencesItem'), - ] + ] def __init__(self): self.ReferencesToDelete = [] self._freeze = True def __str__(self): - return 'DeleteReferencesParameters(' + 'ReferencesToDelete:' + str(self.ReferencesToDelete) + ')' + return f'DeleteReferencesParameters(ReferencesToDelete:{self.ReferencesToDelete})' __repr__ = __str__ class DeleteReferencesRequest(FrozenClass): - ''' + """ Delete one or more references from the server address space. :ivar TypeId: @@ -3733,13 +3838,13 @@ class DeleteReferencesRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: DeleteReferencesParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'DeleteReferencesParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.DeleteReferencesRequest_Encoding_DefaultBinary) @@ -3748,25 +3853,27 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DeleteReferencesRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'DeleteReferencesRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class DeleteReferencesResult(FrozenClass): - ''' + """ :ivar Results: :vartype Results: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('Results', 'ListOfStatusCode'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.Results = [] @@ -3774,14 +3881,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DeleteReferencesResult(' + 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return f'DeleteReferencesResult(Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ class DeleteReferencesResponse(FrozenClass): - ''' + """ Delete one or more references from the server address space. :ivar TypeId: @@ -3790,13 +3896,13 @@ class DeleteReferencesResponse(FrozenClass): :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: DeleteReferencesResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'DeleteReferencesResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.DeleteReferencesResponse_Encoding_DefaultBinary) @@ -3805,15 +3911,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DeleteReferencesResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'DeleteReferencesResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class ViewDescription(FrozenClass): - ''' + """ The view to browse. :ivar ViewId: @@ -3822,13 +3930,13 @@ class ViewDescription(FrozenClass): :vartype Timestamp: DateTime :ivar ViewVersion: :vartype ViewVersion: UInt32 - ''' + """ ua_types = [ ('ViewId', 'NodeId'), ('Timestamp', 'DateTime'), ('ViewVersion', 'UInt32'), - ] + ] def __init__(self): self.ViewId = NodeId() @@ -3837,15 +3945,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ViewDescription(' + 'ViewId:' + str(self.ViewId) + ', ' + \ - 'Timestamp:' + str(self.Timestamp) + ', ' + \ - 'ViewVersion:' + str(self.ViewVersion) + ')' + return ', '.join(( + f'ViewDescription(ViewId:{self.ViewId}', + f'Timestamp:{self.Timestamp}', + f'ViewVersion:{self.ViewVersion})' + )) __repr__ = __str__ class BrowseDescription(FrozenClass): - ''' + """ A request to browse the the references from a node. :ivar NodeId: @@ -3860,7 +3970,7 @@ class BrowseDescription(FrozenClass): :vartype NodeClassMask: UInt32 :ivar ResultMask: :vartype ResultMask: UInt32 - ''' + """ ua_types = [ ('NodeId', 'NodeId'), @@ -3869,7 +3979,7 @@ class BrowseDescription(FrozenClass): ('IncludeSubtypes', 'Boolean'), ('NodeClassMask', 'UInt32'), ('ResultMask', 'UInt32'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -3881,18 +3991,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'BrowseDescription(' + 'NodeId:' + str(self.NodeId) + ', ' + \ - 'BrowseDirection:' + str(self.BrowseDirection) + ', ' + \ - 'ReferenceTypeId:' + str(self.ReferenceTypeId) + ', ' + \ - 'IncludeSubtypes:' + str(self.IncludeSubtypes) + ', ' + \ - 'NodeClassMask:' + str(self.NodeClassMask) + ', ' + \ - 'ResultMask:' + str(self.ResultMask) + ')' + return ', '.join(( + f'BrowseDescription(NodeId:{self.NodeId}', + f'BrowseDirection:{self.BrowseDirection}', + f'ReferenceTypeId:{self.ReferenceTypeId}', + f'IncludeSubtypes:{self.IncludeSubtypes}', + f'NodeClassMask:{self.NodeClassMask}', + f'ResultMask:{self.ResultMask})' + )) __repr__ = __str__ class ReferenceDescription(FrozenClass): - ''' + """ The description of a reference. :ivar ReferenceTypeId: @@ -3909,7 +4021,7 @@ class ReferenceDescription(FrozenClass): :vartype NodeClass: NodeClass :ivar TypeDefinition: :vartype TypeDefinition: ExpandedNodeId - ''' + """ ua_types = [ ('ReferenceTypeId', 'NodeId'), @@ -3919,7 +4031,7 @@ class ReferenceDescription(FrozenClass): ('DisplayName', 'LocalizedText'), ('NodeClass', 'NodeClass'), ('TypeDefinition', 'ExpandedNodeId'), - ] + ] def __init__(self): self.ReferenceTypeId = NodeId() @@ -3932,19 +4044,21 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ReferenceDescription(' + 'ReferenceTypeId:' + str(self.ReferenceTypeId) + ', ' + \ - 'IsForward:' + str(self.IsForward) + ', ' + \ - 'NodeId:' + str(self.NodeId) + ', ' + \ - 'BrowseName:' + str(self.BrowseName) + ', ' + \ - 'DisplayName:' + str(self.DisplayName) + ', ' + \ - 'NodeClass:' + str(self.NodeClass) + ', ' + \ - 'TypeDefinition:' + str(self.TypeDefinition) + ')' + return ', '.join(( + f'ReferenceDescription(ReferenceTypeId:{self.ReferenceTypeId}', + f'IsForward:{self.IsForward}', + f'NodeId:{self.NodeId}', + f'BrowseName:{self.BrowseName}', + f'DisplayName:{self.DisplayName}', + f'NodeClass:{self.NodeClass}', + f'TypeDefinition:{self.TypeDefinition})' + )) __repr__ = __str__ class BrowseResult(FrozenClass): - ''' + """ The result of a browse operation. :ivar StatusCode: @@ -3953,13 +4067,13 @@ class BrowseResult(FrozenClass): :vartype ContinuationPoint: ByteString :ivar References: :vartype References: ReferenceDescription - ''' + """ ua_types = [ ('StatusCode', 'StatusCode'), ('ContinuationPoint', 'ByteString'), ('References', 'ListOfReferenceDescription'), - ] + ] def __init__(self): self.StatusCode = StatusCode() @@ -3968,28 +4082,30 @@ def __init__(self): self._freeze = True def __str__(self): - return 'BrowseResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ - 'ContinuationPoint:' + str(self.ContinuationPoint) + ', ' + \ - 'References:' + str(self.References) + ')' + return ', '.join(( + f'BrowseResult(StatusCode:{self.StatusCode}', + f'ContinuationPoint:{self.ContinuationPoint}', + f'References:{self.References})' + )) __repr__ = __str__ class BrowseParameters(FrozenClass): - ''' + """ :ivar View: :vartype View: ViewDescription :ivar RequestedMaxReferencesPerNode: :vartype RequestedMaxReferencesPerNode: UInt32 :ivar NodesToBrowse: :vartype NodesToBrowse: BrowseDescription - ''' + """ ua_types = [ ('View', 'ViewDescription'), ('RequestedMaxReferencesPerNode', 'UInt32'), ('NodesToBrowse', 'ListOfBrowseDescription'), - ] + ] def __init__(self): self.View = ViewDescription() @@ -3998,15 +4114,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'BrowseParameters(' + 'View:' + str(self.View) + ', ' + \ - 'RequestedMaxReferencesPerNode:' + str(self.RequestedMaxReferencesPerNode) + ', ' + \ - 'NodesToBrowse:' + str(self.NodesToBrowse) + ')' + return ', '.join(( + f'BrowseParameters(View:{self.View}', + f'RequestedMaxReferencesPerNode:{self.RequestedMaxReferencesPerNode}', + f'NodesToBrowse:{self.NodesToBrowse})' + )) __repr__ = __str__ class BrowseRequest(FrozenClass): - ''' + """ Browse the references for one or more nodes from the server address space. :ivar TypeId: @@ -4015,13 +4133,13 @@ class BrowseRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: BrowseParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'BrowseParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.BrowseRequest_Encoding_DefaultBinary) @@ -4030,15 +4148,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'BrowseRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'BrowseRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class BrowseResponse(FrozenClass): - ''' + """ Browse the references for one or more nodes from the server address space. :ivar TypeId: @@ -4049,14 +4169,14 @@ class BrowseResponse(FrozenClass): :vartype Results: BrowseResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfBrowseResult'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.BrowseResponse_Encoding_DefaultBinary) @@ -4066,26 +4186,28 @@ def __init__(self): self._freeze = True def __str__(self): - return 'BrowseResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return ', '.join(( + f'BrowseResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Results:{self.Results}', + f'DiagnosticInfos:{self.DiagnosticInfos})' + )) __repr__ = __str__ class BrowseNextParameters(FrozenClass): - ''' + """ :ivar ReleaseContinuationPoints: :vartype ReleaseContinuationPoints: Boolean :ivar ContinuationPoints: :vartype ContinuationPoints: ByteString - ''' + """ ua_types = [ ('ReleaseContinuationPoints', 'Boolean'), ('ContinuationPoints', 'ListOfByteString'), - ] + ] def __init__(self): self.ReleaseContinuationPoints = True @@ -4093,14 +4215,16 @@ def __init__(self): self._freeze = True def __str__(self): - return 'BrowseNextParameters(' + 'ReleaseContinuationPoints:' + str(self.ReleaseContinuationPoints) + ', ' + \ - 'ContinuationPoints:' + str(self.ContinuationPoints) + ')' + return ', '.join(( + f'BrowseNextParameters(ReleaseContinuationPoints:{self.ReleaseContinuationPoints}', + f'ContinuationPoints:{self.ContinuationPoints})' + )) __repr__ = __str__ class BrowseNextRequest(FrozenClass): - ''' + """ Continues one or more browse operations. :ivar TypeId: @@ -4109,13 +4233,13 @@ class BrowseNextRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: BrowseNextParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'BrowseNextParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.BrowseNextRequest_Encoding_DefaultBinary) @@ -4124,25 +4248,27 @@ def __init__(self): self._freeze = True def __str__(self): - return 'BrowseNextRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'BrowseNextRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class BrowseNextResult(FrozenClass): - ''' + """ :ivar Results: :vartype Results: BrowseResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('Results', 'ListOfBrowseResult'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.Results = [] @@ -4150,14 +4276,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'BrowseNextResult(' + 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return f'BrowseNextResult(Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ class BrowseNextResponse(FrozenClass): - ''' + """ Continues one or more browse operations. :ivar TypeId: @@ -4166,13 +4291,13 @@ class BrowseNextResponse(FrozenClass): :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: BrowseNextResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'BrowseNextResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.BrowseNextResponse_Encoding_DefaultBinary) @@ -4181,15 +4306,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'BrowseNextResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'BrowseNextResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class RelativePathElement(FrozenClass): - ''' + """ An element in a relative path. :ivar ReferenceTypeId: @@ -4200,14 +4327,14 @@ class RelativePathElement(FrozenClass): :vartype IncludeSubtypes: Boolean :ivar TargetName: :vartype TargetName: QualifiedName - ''' + """ ua_types = [ ('ReferenceTypeId', 'NodeId'), ('IsInverse', 'Boolean'), ('IncludeSubtypes', 'Boolean'), ('TargetName', 'QualifiedName'), - ] + ] def __init__(self): self.ReferenceTypeId = NodeId() @@ -4217,50 +4344,52 @@ def __init__(self): self._freeze = True def __str__(self): - return 'RelativePathElement(' + 'ReferenceTypeId:' + str(self.ReferenceTypeId) + ', ' + \ - 'IsInverse:' + str(self.IsInverse) + ', ' + \ - 'IncludeSubtypes:' + str(self.IncludeSubtypes) + ', ' + \ - 'TargetName:' + str(self.TargetName) + ')' + return ', '.join(( + f'RelativePathElement(ReferenceTypeId:{self.ReferenceTypeId}', + f'IsInverse:{self.IsInverse}', + f'IncludeSubtypes:{self.IncludeSubtypes}', + f'TargetName:{self.TargetName})' + )) __repr__ = __str__ class RelativePath(FrozenClass): - ''' + """ A relative path constructed from reference types and browse names. :ivar Elements: :vartype Elements: RelativePathElement - ''' + """ ua_types = [ ('Elements', 'ListOfRelativePathElement'), - ] + ] def __init__(self): self.Elements = [] self._freeze = True def __str__(self): - return 'RelativePath(' + 'Elements:' + str(self.Elements) + ')' + return f'RelativePath(Elements:{self.Elements})' __repr__ = __str__ class BrowsePath(FrozenClass): - ''' + """ A request to translate a path into a node id. :ivar StartingNode: :vartype StartingNode: NodeId :ivar RelativePath: :vartype RelativePath: RelativePath - ''' + """ ua_types = [ ('StartingNode', 'NodeId'), ('RelativePath', 'RelativePath'), - ] + ] def __init__(self): self.StartingNode = NodeId() @@ -4268,26 +4397,25 @@ def __init__(self): self._freeze = True def __str__(self): - return 'BrowsePath(' + 'StartingNode:' + str(self.StartingNode) + ', ' + \ - 'RelativePath:' + str(self.RelativePath) + ')' + return f'BrowsePath(StartingNode:{self.StartingNode}, RelativePath:{self.RelativePath})' __repr__ = __str__ class BrowsePathTarget(FrozenClass): - ''' + """ The target of the translated path. :ivar TargetId: :vartype TargetId: ExpandedNodeId :ivar RemainingPathIndex: :vartype RemainingPathIndex: UInt32 - ''' + """ ua_types = [ ('TargetId', 'ExpandedNodeId'), ('RemainingPathIndex', 'UInt32'), - ] + ] def __init__(self): self.TargetId = ExpandedNodeId() @@ -4295,26 +4423,25 @@ def __init__(self): self._freeze = True def __str__(self): - return 'BrowsePathTarget(' + 'TargetId:' + str(self.TargetId) + ', ' + \ - 'RemainingPathIndex:' + str(self.RemainingPathIndex) + ')' + return f'BrowsePathTarget(TargetId:{self.TargetId}, RemainingPathIndex:{self.RemainingPathIndex})' __repr__ = __str__ class BrowsePathResult(FrozenClass): - ''' + """ The result of a translate opearation. :ivar StatusCode: :vartype StatusCode: StatusCode :ivar Targets: :vartype Targets: BrowsePathTarget - ''' + """ ua_types = [ ('StatusCode', 'StatusCode'), ('Targets', 'ListOfBrowsePathTarget'), - ] + ] def __init__(self): self.StatusCode = StatusCode() @@ -4322,34 +4449,33 @@ def __init__(self): self._freeze = True def __str__(self): - return 'BrowsePathResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ - 'Targets:' + str(self.Targets) + ')' + return f'BrowsePathResult(StatusCode:{self.StatusCode}, Targets:{self.Targets})' __repr__ = __str__ class TranslateBrowsePathsToNodeIdsParameters(FrozenClass): - ''' + """ :ivar BrowsePaths: :vartype BrowsePaths: BrowsePath - ''' + """ ua_types = [ ('BrowsePaths', 'ListOfBrowsePath'), - ] + ] def __init__(self): self.BrowsePaths = [] self._freeze = True def __str__(self): - return 'TranslateBrowsePathsToNodeIdsParameters(' + 'BrowsePaths:' + str(self.BrowsePaths) + ')' + return f'TranslateBrowsePathsToNodeIdsParameters(BrowsePaths:{self.BrowsePaths})' __repr__ = __str__ class TranslateBrowsePathsToNodeIdsRequest(FrozenClass): - ''' + """ Translates one or more paths in the server address space. :ivar TypeId: @@ -4358,13 +4484,13 @@ class TranslateBrowsePathsToNodeIdsRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: TranslateBrowsePathsToNodeIdsParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'TranslateBrowsePathsToNodeIdsParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultBinary) @@ -4373,15 +4499,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'TranslateBrowsePathsToNodeIdsRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'TranslateBrowsePathsToNodeIdsRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class TranslateBrowsePathsToNodeIdsResponse(FrozenClass): - ''' + """ Translates one or more paths in the server address space. :ivar TypeId: @@ -4392,14 +4520,14 @@ class TranslateBrowsePathsToNodeIdsResponse(FrozenClass): :vartype Results: BrowsePathResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfBrowsePathResult'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.TranslateBrowsePathsToNodeIdsResponse_Encoding_DefaultBinary) @@ -4409,36 +4537,38 @@ def __init__(self): self._freeze = True def __str__(self): - return 'TranslateBrowsePathsToNodeIdsResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return ', '.join(( + f'TranslateBrowsePathsToNodeIdsResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Results:{self.Results}', + f'DiagnosticInfos:{self.DiagnosticInfos})' + )) __repr__ = __str__ class RegisterNodesParameters(FrozenClass): - ''' + """ :ivar NodesToRegister: :vartype NodesToRegister: NodeId - ''' + """ ua_types = [ ('NodesToRegister', 'ListOfNodeId'), - ] + ] def __init__(self): self.NodesToRegister = [] self._freeze = True def __str__(self): - return 'RegisterNodesParameters(' + 'NodesToRegister:' + str(self.NodesToRegister) + ')' + return f'RegisterNodesParameters(NodesToRegister:{self.NodesToRegister})' __repr__ = __str__ class RegisterNodesRequest(FrozenClass): - ''' + """ Registers one or more nodes for repeated use within a session. :ivar TypeId: @@ -4447,13 +4577,13 @@ class RegisterNodesRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: RegisterNodesParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'RegisterNodesParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.RegisterNodesRequest_Encoding_DefaultBinary) @@ -4462,35 +4592,37 @@ def __init__(self): self._freeze = True def __str__(self): - return 'RegisterNodesRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'RegisterNodesRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class RegisterNodesResult(FrozenClass): - ''' + """ :ivar RegisteredNodeIds: :vartype RegisteredNodeIds: NodeId - ''' + """ ua_types = [ ('RegisteredNodeIds', 'ListOfNodeId'), - ] + ] def __init__(self): self.RegisteredNodeIds = [] self._freeze = True def __str__(self): - return 'RegisterNodesResult(' + 'RegisteredNodeIds:' + str(self.RegisteredNodeIds) + ')' + return f'RegisterNodesResult(RegisteredNodeIds:{self.RegisteredNodeIds})' __repr__ = __str__ class RegisterNodesResponse(FrozenClass): - ''' + """ Registers one or more nodes for repeated use within a session. :ivar TypeId: @@ -4499,13 +4631,13 @@ class RegisterNodesResponse(FrozenClass): :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: RegisterNodesResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'RegisterNodesResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.RegisterNodesResponse_Encoding_DefaultBinary) @@ -4514,35 +4646,37 @@ def __init__(self): self._freeze = True def __str__(self): - return 'RegisterNodesResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'RegisterNodesResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class UnregisterNodesParameters(FrozenClass): - ''' + """ :ivar NodesToUnregister: :vartype NodesToUnregister: NodeId - ''' + """ ua_types = [ ('NodesToUnregister', 'ListOfNodeId'), - ] + ] def __init__(self): self.NodesToUnregister = [] self._freeze = True def __str__(self): - return 'UnregisterNodesParameters(' + 'NodesToUnregister:' + str(self.NodesToUnregister) + ')' + return f'UnregisterNodesParameters(NodesToUnregister:{self.NodesToUnregister})' __repr__ = __str__ class UnregisterNodesRequest(FrozenClass): - ''' + """ Unregisters one or more previously registered nodes. :ivar TypeId: @@ -4551,13 +4685,13 @@ class UnregisterNodesRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: UnregisterNodesParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'UnregisterNodesParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.UnregisterNodesRequest_Encoding_DefaultBinary) @@ -4566,27 +4700,29 @@ def __init__(self): self._freeze = True def __str__(self): - return 'UnregisterNodesRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'UnregisterNodesRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class UnregisterNodesResponse(FrozenClass): - ''' + """ Unregisters one or more previously registered nodes. :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.UnregisterNodesResponse_Encoding_DefaultBinary) @@ -4594,14 +4730,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'UnregisterNodesResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ')' + return f'UnregisterNodesResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader})' __repr__ = __str__ class EndpointConfiguration(FrozenClass): - ''' + """ :ivar OperationTimeout: :vartype OperationTimeout: Int32 :ivar UseBinaryEncoding: @@ -4620,7 +4755,7 @@ class EndpointConfiguration(FrozenClass): :vartype ChannelLifetime: Int32 :ivar SecurityTokenLifetime: :vartype SecurityTokenLifetime: Int32 - ''' + """ ua_types = [ ('OperationTimeout', 'Int32'), @@ -4632,7 +4767,7 @@ class EndpointConfiguration(FrozenClass): ('MaxBufferSize', 'Int32'), ('ChannelLifetime', 'Int32'), ('SecurityTokenLifetime', 'Int32'), - ] + ] def __init__(self): self.OperationTimeout = 0 @@ -4647,21 +4782,23 @@ def __init__(self): self._freeze = True def __str__(self): - return 'EndpointConfiguration(' + 'OperationTimeout:' + str(self.OperationTimeout) + ', ' + \ - 'UseBinaryEncoding:' + str(self.UseBinaryEncoding) + ', ' + \ - 'MaxStringLength:' + str(self.MaxStringLength) + ', ' + \ - 'MaxByteStringLength:' + str(self.MaxByteStringLength) + ', ' + \ - 'MaxArrayLength:' + str(self.MaxArrayLength) + ', ' + \ - 'MaxMessageSize:' + str(self.MaxMessageSize) + ', ' + \ - 'MaxBufferSize:' + str(self.MaxBufferSize) + ', ' + \ - 'ChannelLifetime:' + str(self.ChannelLifetime) + ', ' + \ - 'SecurityTokenLifetime:' + str(self.SecurityTokenLifetime) + ')' + return ', '.join(( + f'EndpointConfiguration(OperationTimeout:{self.OperationTimeout}', + f'UseBinaryEncoding:{self.UseBinaryEncoding}', + f'MaxStringLength:{self.MaxStringLength}', + f'MaxByteStringLength:{self.MaxByteStringLength}', + f'MaxArrayLength:{self.MaxArrayLength}', + f'MaxMessageSize:{self.MaxMessageSize}', + f'MaxBufferSize:{self.MaxBufferSize}', + f'ChannelLifetime:{self.ChannelLifetime}', + f'SecurityTokenLifetime:{self.SecurityTokenLifetime})' + )) __repr__ = __str__ class SupportedProfile(FrozenClass): - ''' + """ :ivar OrganizationUri: :vartype OrganizationUri: String :ivar ProfileId: @@ -4674,7 +4811,7 @@ class SupportedProfile(FrozenClass): :vartype ComplianceLevel: ComplianceLevel :ivar UnsupportedUnitIds: :vartype UnsupportedUnitIds: String - ''' + """ ua_types = [ ('OrganizationUri', 'String'), @@ -4683,7 +4820,7 @@ class SupportedProfile(FrozenClass): ('ComplianceDate', 'DateTime'), ('ComplianceLevel', 'ComplianceLevel'), ('UnsupportedUnitIds', 'ListOfString'), - ] + ] def __init__(self): self.OrganizationUri = None @@ -4695,18 +4832,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SupportedProfile(' + 'OrganizationUri:' + str(self.OrganizationUri) + ', ' + \ - 'ProfileId:' + str(self.ProfileId) + ', ' + \ - 'ComplianceTool:' + str(self.ComplianceTool) + ', ' + \ - 'ComplianceDate:' + str(self.ComplianceDate) + ', ' + \ - 'ComplianceLevel:' + str(self.ComplianceLevel) + ', ' + \ - 'UnsupportedUnitIds:' + str(self.UnsupportedUnitIds) + ')' + return ', '.join(( + f'SupportedProfile(OrganizationUri:{self.OrganizationUri}', + f'ProfileId:{self.ProfileId}', + f'ComplianceTool:{self.ComplianceTool}', + f'ComplianceDate:{self.ComplianceDate}', + f'ComplianceLevel:{self.ComplianceLevel}', + f'UnsupportedUnitIds:{self.UnsupportedUnitIds})' + )) __repr__ = __str__ class SoftwareCertificate(FrozenClass): - ''' + """ :ivar ProductName: :vartype ProductName: String :ivar ProductUri: @@ -4727,7 +4866,7 @@ class SoftwareCertificate(FrozenClass): :vartype IssueDate: DateTime :ivar SupportedProfiles: :vartype SupportedProfiles: SupportedProfile - ''' + """ ua_types = [ ('ProductName', 'String'), @@ -4740,7 +4879,7 @@ class SoftwareCertificate(FrozenClass): ('IssuedBy', 'String'), ('IssueDate', 'DateTime'), ('SupportedProfiles', 'ListOfSupportedProfile'), - ] + ] def __init__(self): self.ProductName = None @@ -4756,35 +4895,37 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SoftwareCertificate(' + 'ProductName:' + str(self.ProductName) + ', ' + \ - 'ProductUri:' + str(self.ProductUri) + ', ' + \ - 'VendorName:' + str(self.VendorName) + ', ' + \ - 'VendorProductCertificate:' + str(self.VendorProductCertificate) + ', ' + \ - 'SoftwareVersion:' + str(self.SoftwareVersion) + ', ' + \ - 'BuildNumber:' + str(self.BuildNumber) + ', ' + \ - 'BuildDate:' + str(self.BuildDate) + ', ' + \ - 'IssuedBy:' + str(self.IssuedBy) + ', ' + \ - 'IssueDate:' + str(self.IssueDate) + ', ' + \ - 'SupportedProfiles:' + str(self.SupportedProfiles) + ')' + return ', '.join(( + f'SoftwareCertificate(ProductName:{self.ProductName}', + f'ProductUri:{self.ProductUri}', + f'VendorName:{self.VendorName}', + f'VendorProductCertificate:{self.VendorProductCertificate}', + f'SoftwareVersion:{self.SoftwareVersion}', + f'BuildNumber:{self.BuildNumber}', + f'BuildDate:{self.BuildDate}', + f'IssuedBy:{self.IssuedBy}', + f'IssueDate:{self.IssueDate}', + f'SupportedProfiles:{self.SupportedProfiles})' + )) __repr__ = __str__ class QueryDataDescription(FrozenClass): - ''' + """ :ivar RelativePath: :vartype RelativePath: RelativePath :ivar AttributeId: :vartype AttributeId: UInt32 :ivar IndexRange: :vartype IndexRange: String - ''' + """ ua_types = [ ('RelativePath', 'RelativePath'), ('AttributeId', 'UInt32'), ('IndexRange', 'String'), - ] + ] def __init__(self): self.RelativePath = RelativePath() @@ -4793,28 +4934,30 @@ def __init__(self): self._freeze = True def __str__(self): - return 'QueryDataDescription(' + 'RelativePath:' + str(self.RelativePath) + ', ' + \ - 'AttributeId:' + str(self.AttributeId) + ', ' + \ - 'IndexRange:' + str(self.IndexRange) + ')' + return ', '.join(( + f'QueryDataDescription(RelativePath:{self.RelativePath}', + f'AttributeId:{self.AttributeId}', + f'IndexRange:{self.IndexRange})' + )) __repr__ = __str__ class NodeTypeDescription(FrozenClass): - ''' + """ :ivar TypeDefinitionNode: :vartype TypeDefinitionNode: ExpandedNodeId :ivar IncludeSubTypes: :vartype IncludeSubTypes: Boolean :ivar DataToReturn: :vartype DataToReturn: QueryDataDescription - ''' + """ ua_types = [ ('TypeDefinitionNode', 'ExpandedNodeId'), ('IncludeSubTypes', 'Boolean'), ('DataToReturn', 'ListOfQueryDataDescription'), - ] + ] def __init__(self): self.TypeDefinitionNode = ExpandedNodeId() @@ -4823,28 +4966,30 @@ def __init__(self): self._freeze = True def __str__(self): - return 'NodeTypeDescription(' + 'TypeDefinitionNode:' + str(self.TypeDefinitionNode) + ', ' + \ - 'IncludeSubTypes:' + str(self.IncludeSubTypes) + ', ' + \ - 'DataToReturn:' + str(self.DataToReturn) + ')' + return ', '.join(( + f'NodeTypeDescription(TypeDefinitionNode:{self.TypeDefinitionNode}', + f'IncludeSubTypes:{self.IncludeSubTypes}', + f'DataToReturn:{self.DataToReturn})' + )) __repr__ = __str__ class QueryDataSet(FrozenClass): - ''' + """ :ivar NodeId: :vartype NodeId: ExpandedNodeId :ivar TypeDefinitionNode: :vartype TypeDefinitionNode: ExpandedNodeId :ivar Values: :vartype Values: Variant - ''' + """ ua_types = [ ('NodeId', 'ExpandedNodeId'), ('TypeDefinitionNode', 'ExpandedNodeId'), ('Values', 'ListOfVariant'), - ] + ] def __init__(self): self.NodeId = ExpandedNodeId() @@ -4853,15 +4998,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'QueryDataSet(' + 'NodeId:' + str(self.NodeId) + ', ' + \ - 'TypeDefinitionNode:' + str(self.TypeDefinitionNode) + ', ' + \ - 'Values:' + str(self.Values) + ')' + return ', '.join(( + f'QueryDataSet(NodeId:{self.NodeId}', + f'TypeDefinitionNode:{self.TypeDefinitionNode}', + f'Values:{self.Values})' + )) __repr__ = __str__ class NodeReference(FrozenClass): - ''' + """ :ivar NodeId: :vartype NodeId: NodeId :ivar ReferenceTypeId: @@ -4870,14 +5017,14 @@ class NodeReference(FrozenClass): :vartype IsForward: Boolean :ivar ReferencedNodeIds: :vartype ReferencedNodeIds: NodeId - ''' + """ ua_types = [ ('NodeId', 'NodeId'), ('ReferenceTypeId', 'NodeId'), ('IsForward', 'Boolean'), ('ReferencedNodeIds', 'ListOfNodeId'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -4887,26 +5034,28 @@ def __init__(self): self._freeze = True def __str__(self): - return 'NodeReference(' + 'NodeId:' + str(self.NodeId) + ', ' + \ - 'ReferenceTypeId:' + str(self.ReferenceTypeId) + ', ' + \ - 'IsForward:' + str(self.IsForward) + ', ' + \ - 'ReferencedNodeIds:' + str(self.ReferencedNodeIds) + ')' + return ', '.join(( + f'NodeReference(NodeId:{self.NodeId}', + f'ReferenceTypeId:{self.ReferenceTypeId}', + f'IsForward:{self.IsForward}', + f'ReferencedNodeIds:{self.ReferencedNodeIds})' + )) __repr__ = __str__ class ContentFilterElement(FrozenClass): - ''' + """ :ivar FilterOperator: :vartype FilterOperator: FilterOperator :ivar FilterOperands: :vartype FilterOperands: ExtensionObject - ''' + """ ua_types = [ ('FilterOperator', 'FilterOperator'), ('FilterOperands', 'ListOfExtensionObject'), - ] + ] def __init__(self): self.FilterOperator = FilterOperator(0) @@ -4914,74 +5063,73 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ContentFilterElement(' + 'FilterOperator:' + str(self.FilterOperator) + ', ' + \ - 'FilterOperands:' + str(self.FilterOperands) + ')' + return f'ContentFilterElement(FilterOperator:{self.FilterOperator}, FilterOperands:{self.FilterOperands})' __repr__ = __str__ class ContentFilter(FrozenClass): - ''' + """ :ivar Elements: :vartype Elements: ContentFilterElement - ''' + """ ua_types = [ ('Elements', 'ListOfContentFilterElement'), - ] + ] def __init__(self): self.Elements = [] self._freeze = True def __str__(self): - return 'ContentFilter(' + 'Elements:' + str(self.Elements) + ')' + return f'ContentFilter(Elements:{self.Elements})' __repr__ = __str__ class ElementOperand(FrozenClass): - ''' + """ :ivar Index: :vartype Index: UInt32 - ''' + """ ua_types = [ ('Index', 'UInt32'), - ] + ] def __init__(self): self.Index = 0 self._freeze = True def __str__(self): - return 'ElementOperand(' + 'Index:' + str(self.Index) + ')' + return f'ElementOperand(Index:{self.Index})' __repr__ = __str__ class LiteralOperand(FrozenClass): - ''' + """ :ivar Value: :vartype Value: Variant - ''' + """ ua_types = [ ('Value', 'Variant'), - ] + ] def __init__(self): self.Value = Variant() self._freeze = True def __str__(self): - return 'LiteralOperand(' + 'Value:' + str(self.Value) + ')' + return f'LiteralOperand(Value:{self.Value})' __repr__ = __str__ class AttributeOperand(FrozenClass): - ''' + """ :ivar NodeId: :vartype NodeId: NodeId :ivar Alias: @@ -4992,7 +5140,7 @@ class AttributeOperand(FrozenClass): :vartype AttributeId: UInt32 :ivar IndexRange: :vartype IndexRange: String - ''' + """ ua_types = [ ('NodeId', 'NodeId'), @@ -5000,7 +5148,7 @@ class AttributeOperand(FrozenClass): ('BrowsePath', 'RelativePath'), ('AttributeId', 'UInt32'), ('IndexRange', 'String'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -5011,17 +5159,19 @@ def __init__(self): self._freeze = True def __str__(self): - return 'AttributeOperand(' + 'NodeId:' + str(self.NodeId) + ', ' + \ - 'Alias:' + str(self.Alias) + ', ' + \ - 'BrowsePath:' + str(self.BrowsePath) + ', ' + \ - 'AttributeId:' + str(self.AttributeId) + ', ' + \ - 'IndexRange:' + str(self.IndexRange) + ')' + return ', '.join(( + f'AttributeOperand(NodeId:{self.NodeId}', + f'Alias:{self.Alias}', + f'BrowsePath:{self.BrowsePath}', + f'AttributeId:{self.AttributeId}', + f'IndexRange:{self.IndexRange})' + )) __repr__ = __str__ class SimpleAttributeOperand(FrozenClass): - ''' + """ :ivar TypeDefinitionId: :vartype TypeDefinitionId: NodeId :ivar BrowsePath: @@ -5030,14 +5180,14 @@ class SimpleAttributeOperand(FrozenClass): :vartype AttributeId: UInt32 :ivar IndexRange: :vartype IndexRange: String - ''' + """ ua_types = [ ('TypeDefinitionId', 'NodeId'), ('BrowsePath', 'ListOfQualifiedName'), ('AttributeId', 'UInt32'), ('IndexRange', 'String'), - ] + ] def __init__(self): self.TypeDefinitionId = NodeId() @@ -5047,29 +5197,31 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SimpleAttributeOperand(' + 'TypeDefinitionId:' + str(self.TypeDefinitionId) + ', ' + \ - 'BrowsePath:' + str(self.BrowsePath) + ', ' + \ - 'AttributeId:' + str(self.AttributeId) + ', ' + \ - 'IndexRange:' + str(self.IndexRange) + ')' + return ', '.join(( + f'SimpleAttributeOperand(TypeDefinitionId:{self.TypeDefinitionId}', + f'BrowsePath:{self.BrowsePath}', + f'AttributeId:{self.AttributeId}', + f'IndexRange:{self.IndexRange})' + )) __repr__ = __str__ class ContentFilterElementResult(FrozenClass): - ''' + """ :ivar StatusCode: :vartype StatusCode: StatusCode :ivar OperandStatusCodes: :vartype OperandStatusCodes: StatusCode :ivar OperandDiagnosticInfos: :vartype OperandDiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('StatusCode', 'StatusCode'), ('OperandStatusCodes', 'ListOfStatusCode'), ('OperandDiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.StatusCode = StatusCode() @@ -5078,25 +5230,27 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ContentFilterElementResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ - 'OperandStatusCodes:' + str(self.OperandStatusCodes) + ', ' + \ - 'OperandDiagnosticInfos:' + str(self.OperandDiagnosticInfos) + ')' + return ', '.join(( + f'ContentFilterElementResult(StatusCode:{self.StatusCode}', + f'OperandStatusCodes:{self.OperandStatusCodes}', + f'OperandDiagnosticInfos:{self.OperandDiagnosticInfos})' + )) __repr__ = __str__ class ContentFilterResult(FrozenClass): - ''' + """ :ivar ElementResults: :vartype ElementResults: ContentFilterElementResult :ivar ElementDiagnosticInfos: :vartype ElementDiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('ElementResults', 'ListOfContentFilterElementResult'), ('ElementDiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.ElementResults = [] @@ -5104,27 +5258,29 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ContentFilterResult(' + 'ElementResults:' + str(self.ElementResults) + ', ' + \ - 'ElementDiagnosticInfos:' + str(self.ElementDiagnosticInfos) + ')' + return ', '.join(( + f'ContentFilterResult(ElementResults:{self.ElementResults}', + f'ElementDiagnosticInfos:{self.ElementDiagnosticInfos})' + )) __repr__ = __str__ class ParsingResult(FrozenClass): - ''' + """ :ivar StatusCode: :vartype StatusCode: StatusCode :ivar DataStatusCodes: :vartype DataStatusCodes: StatusCode :ivar DataDiagnosticInfos: :vartype DataDiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('StatusCode', 'StatusCode'), ('DataStatusCodes', 'ListOfStatusCode'), ('DataDiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.StatusCode = StatusCode() @@ -5133,15 +5289,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ParsingResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ - 'DataStatusCodes:' + str(self.DataStatusCodes) + ', ' + \ - 'DataDiagnosticInfos:' + str(self.DataDiagnosticInfos) + ')' + return ', '.join(( + f'ParsingResult(StatusCode:{self.StatusCode}', + f'DataStatusCodes:{self.DataStatusCodes}', + f'DataDiagnosticInfos:{self.DataDiagnosticInfos})' + )) __repr__ = __str__ class QueryFirstParameters(FrozenClass): - ''' + """ :ivar View: :vartype View: ViewDescription :ivar NodeTypes: @@ -5152,7 +5310,7 @@ class QueryFirstParameters(FrozenClass): :vartype MaxDataSetsToReturn: UInt32 :ivar MaxReferencesToReturn: :vartype MaxReferencesToReturn: UInt32 - ''' + """ ua_types = [ ('View', 'ViewDescription'), @@ -5160,7 +5318,7 @@ class QueryFirstParameters(FrozenClass): ('Filter', 'ContentFilter'), ('MaxDataSetsToReturn', 'UInt32'), ('MaxReferencesToReturn', 'UInt32'), - ] + ] def __init__(self): self.View = ViewDescription() @@ -5171,30 +5329,32 @@ def __init__(self): self._freeze = True def __str__(self): - return 'QueryFirstParameters(' + 'View:' + str(self.View) + ', ' + \ - 'NodeTypes:' + str(self.NodeTypes) + ', ' + \ - 'Filter:' + str(self.Filter) + ', ' + \ - 'MaxDataSetsToReturn:' + str(self.MaxDataSetsToReturn) + ', ' + \ - 'MaxReferencesToReturn:' + str(self.MaxReferencesToReturn) + ')' + return ', '.join(( + f'QueryFirstParameters(View:{self.View}', + f'NodeTypes:{self.NodeTypes}', + f'Filter:{self.Filter}', + f'MaxDataSetsToReturn:{self.MaxDataSetsToReturn}', + f'MaxReferencesToReturn:{self.MaxReferencesToReturn})' + )) __repr__ = __str__ class QueryFirstRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: QueryFirstParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'QueryFirstParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.QueryFirstRequest_Encoding_DefaultBinary) @@ -5203,15 +5363,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'QueryFirstRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'QueryFirstRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class QueryFirstResult(FrozenClass): - ''' + """ :ivar QueryDataSets: :vartype QueryDataSets: QueryDataSet :ivar ContinuationPoint: @@ -5222,7 +5384,7 @@ class QueryFirstResult(FrozenClass): :vartype DiagnosticInfos: DiagnosticInfo :ivar FilterResult: :vartype FilterResult: ContentFilterResult - ''' + """ ua_types = [ ('QueryDataSets', 'ListOfQueryDataSet'), @@ -5230,7 +5392,7 @@ class QueryFirstResult(FrozenClass): ('ParsingResults', 'ListOfParsingResult'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), ('FilterResult', 'ContentFilterResult'), - ] + ] def __init__(self): self.QueryDataSets = [] @@ -5241,30 +5403,32 @@ def __init__(self): self._freeze = True def __str__(self): - return 'QueryFirstResult(' + 'QueryDataSets:' + str(self.QueryDataSets) + ', ' + \ - 'ContinuationPoint:' + str(self.ContinuationPoint) + ', ' + \ - 'ParsingResults:' + str(self.ParsingResults) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ', ' + \ - 'FilterResult:' + str(self.FilterResult) + ')' + return ', '.join(( + f'QueryFirstResult(QueryDataSets:{self.QueryDataSets}', + f'ContinuationPoint:{self.ContinuationPoint}', + f'ParsingResults:{self.ParsingResults}', + f'DiagnosticInfos:{self.DiagnosticInfos}', + f'FilterResult:{self.FilterResult})' + )) __repr__ = __str__ class QueryFirstResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: QueryFirstResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'QueryFirstResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.QueryFirstResponse_Encoding_DefaultBinary) @@ -5273,25 +5437,27 @@ def __init__(self): self._freeze = True def __str__(self): - return 'QueryFirstResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'QueryFirstResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class QueryNextParameters(FrozenClass): - ''' + """ :ivar ReleaseContinuationPoint: :vartype ReleaseContinuationPoint: Boolean :ivar ContinuationPoint: :vartype ContinuationPoint: ByteString - ''' + """ ua_types = [ ('ReleaseContinuationPoint', 'Boolean'), ('ContinuationPoint', 'ByteString'), - ] + ] def __init__(self): self.ReleaseContinuationPoint = True @@ -5299,27 +5465,29 @@ def __init__(self): self._freeze = True def __str__(self): - return 'QueryNextParameters(' + 'ReleaseContinuationPoint:' + str(self.ReleaseContinuationPoint) + ', ' + \ - 'ContinuationPoint:' + str(self.ContinuationPoint) + ')' + return ', '.join(( + f'QueryNextParameters(ReleaseContinuationPoint:{self.ReleaseContinuationPoint}', + f'ContinuationPoint:{self.ContinuationPoint})' + )) __repr__ = __str__ class QueryNextRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: QueryNextParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'QueryNextParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.QueryNextRequest_Encoding_DefaultBinary) @@ -5328,25 +5496,27 @@ def __init__(self): self._freeze = True def __str__(self): - return 'QueryNextRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'QueryNextRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class QueryNextResult(FrozenClass): - ''' + """ :ivar QueryDataSets: :vartype QueryDataSets: QueryDataSet :ivar RevisedContinuationPoint: :vartype RevisedContinuationPoint: ByteString - ''' + """ ua_types = [ ('QueryDataSets', 'ListOfQueryDataSet'), ('RevisedContinuationPoint', 'ByteString'), - ] + ] def __init__(self): self.QueryDataSets = [] @@ -5354,27 +5524,29 @@ def __init__(self): self._freeze = True def __str__(self): - return 'QueryNextResult(' + 'QueryDataSets:' + str(self.QueryDataSets) + ', ' + \ - 'RevisedContinuationPoint:' + str(self.RevisedContinuationPoint) + ')' + return ', '.join(( + f'QueryNextResult(QueryDataSets:{self.QueryDataSets}', + f'RevisedContinuationPoint:{self.RevisedContinuationPoint})' + )) __repr__ = __str__ class QueryNextResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: QueryNextResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'QueryNextResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.QueryNextResponse_Encoding_DefaultBinary) @@ -5383,15 +5555,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'QueryNextResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'QueryNextResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class ReadValueId(FrozenClass): - ''' + """ :ivar NodeId: :vartype NodeId: NodeId :ivar AttributeId: @@ -5400,14 +5574,14 @@ class ReadValueId(FrozenClass): :vartype IndexRange: String :ivar DataEncoding: :vartype DataEncoding: QualifiedName - ''' + """ ua_types = [ ('NodeId', 'NodeId'), ('AttributeId', 'UInt32'), ('IndexRange', 'String'), ('DataEncoding', 'QualifiedName'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -5417,29 +5591,31 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ReadValueId(' + 'NodeId:' + str(self.NodeId) + ', ' + \ - 'AttributeId:' + str(self.AttributeId) + ', ' + \ - 'IndexRange:' + str(self.IndexRange) + ', ' + \ - 'DataEncoding:' + str(self.DataEncoding) + ')' + return ', '.join(( + f'ReadValueId(NodeId:{self.NodeId}', + f'AttributeId:{self.AttributeId}', + f'IndexRange:{self.IndexRange}', + f'DataEncoding:{self.DataEncoding})' + )) __repr__ = __str__ class ReadParameters(FrozenClass): - ''' + """ :ivar MaxAge: :vartype MaxAge: Double :ivar TimestampsToReturn: :vartype TimestampsToReturn: TimestampsToReturn :ivar NodesToRead: :vartype NodesToRead: ReadValueId - ''' + """ ua_types = [ ('MaxAge', 'Double'), ('TimestampsToReturn', 'TimestampsToReturn'), ('NodesToRead', 'ListOfReadValueId'), - ] + ] def __init__(self): self.MaxAge = 0 @@ -5448,28 +5624,30 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ReadParameters(' + 'MaxAge:' + str(self.MaxAge) + ', ' + \ - 'TimestampsToReturn:' + str(self.TimestampsToReturn) + ', ' + \ - 'NodesToRead:' + str(self.NodesToRead) + ')' + return ', '.join(( + f'ReadParameters(MaxAge:{self.MaxAge}', + f'TimestampsToReturn:{self.TimestampsToReturn}', + f'NodesToRead:{self.NodesToRead})' + )) __repr__ = __str__ class ReadRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: ReadParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'ReadParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.ReadRequest_Encoding_DefaultBinary) @@ -5478,15 +5656,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ReadRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'ReadRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class ReadResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: @@ -5495,14 +5675,14 @@ class ReadResponse(FrozenClass): :vartype Results: DataValue :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfDataValue'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.ReadResponse_Encoding_DefaultBinary) @@ -5512,16 +5692,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ReadResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return ', '.join(( + f'ReadResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Results:{self.Results}', + f'DiagnosticInfos:{self.DiagnosticInfos})' + )) __repr__ = __str__ class HistoryReadValueId(FrozenClass): - ''' + """ :ivar NodeId: :vartype NodeId: NodeId :ivar IndexRange: @@ -5530,14 +5712,14 @@ class HistoryReadValueId(FrozenClass): :vartype DataEncoding: QualifiedName :ivar ContinuationPoint: :vartype ContinuationPoint: ByteString - ''' + """ ua_types = [ ('NodeId', 'NodeId'), ('IndexRange', 'String'), ('DataEncoding', 'QualifiedName'), ('ContinuationPoint', 'ByteString'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -5547,29 +5729,31 @@ def __init__(self): self._freeze = True def __str__(self): - return 'HistoryReadValueId(' + 'NodeId:' + str(self.NodeId) + ', ' + \ - 'IndexRange:' + str(self.IndexRange) + ', ' + \ - 'DataEncoding:' + str(self.DataEncoding) + ', ' + \ - 'ContinuationPoint:' + str(self.ContinuationPoint) + ')' + return ', '.join(( + f'HistoryReadValueId(NodeId:{self.NodeId}', + f'IndexRange:{self.IndexRange}', + f'DataEncoding:{self.DataEncoding}', + f'ContinuationPoint:{self.ContinuationPoint})' + )) __repr__ = __str__ class HistoryReadResult(FrozenClass): - ''' + """ :ivar StatusCode: :vartype StatusCode: StatusCode :ivar ContinuationPoint: :vartype ContinuationPoint: ByteString :ivar HistoryData: :vartype HistoryData: ExtensionObject - ''' + """ ua_types = [ ('StatusCode', 'StatusCode'), ('ContinuationPoint', 'ByteString'), ('HistoryData', 'ExtensionObject'), - ] + ] def __init__(self): self.StatusCode = StatusCode() @@ -5578,31 +5762,33 @@ def __init__(self): self._freeze = True def __str__(self): - return 'HistoryReadResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ - 'ContinuationPoint:' + str(self.ContinuationPoint) + ', ' + \ - 'HistoryData:' + str(self.HistoryData) + ')' + return ', '.join(( + f'HistoryReadResult(StatusCode:{self.StatusCode}', + f'ContinuationPoint:{self.ContinuationPoint}', + f'HistoryData:{self.HistoryData})' + )) __repr__ = __str__ class HistoryReadDetails(FrozenClass): - ''' - ''' + """ + """ ua_types = [ - ] + ] def __init__(self): self._freeze = True def __str__(self): - return 'HistoryReadDetails(' + + ')' + return 'HistoryReadDetails()' __repr__ = __str__ class ReadEventDetails(FrozenClass): - ''' + """ :ivar NumValuesPerNode: :vartype NumValuesPerNode: UInt32 :ivar StartTime: @@ -5611,14 +5797,14 @@ class ReadEventDetails(FrozenClass): :vartype EndTime: DateTime :ivar Filter: :vartype Filter: EventFilter - ''' + """ ua_types = [ ('NumValuesPerNode', 'UInt32'), ('StartTime', 'DateTime'), ('EndTime', 'DateTime'), ('Filter', 'EventFilter'), - ] + ] def __init__(self): self.NumValuesPerNode = 0 @@ -5628,16 +5814,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ReadEventDetails(' + 'NumValuesPerNode:' + str(self.NumValuesPerNode) + ', ' + \ - 'StartTime:' + str(self.StartTime) + ', ' + \ - 'EndTime:' + str(self.EndTime) + ', ' + \ - 'Filter:' + str(self.Filter) + ')' + return ', '.join(( + f'ReadEventDetails(NumValuesPerNode:{self.NumValuesPerNode}', + f'StartTime:{self.StartTime}', + f'EndTime:{self.EndTime}', + f'Filter:{self.Filter})' + )) __repr__ = __str__ class ReadRawModifiedDetails(FrozenClass): - ''' + """ :ivar IsReadModified: :vartype IsReadModified: Boolean :ivar StartTime: @@ -5648,7 +5836,7 @@ class ReadRawModifiedDetails(FrozenClass): :vartype NumValuesPerNode: UInt32 :ivar ReturnBounds: :vartype ReturnBounds: Boolean - ''' + """ ua_types = [ ('IsReadModified', 'Boolean'), @@ -5656,7 +5844,7 @@ class ReadRawModifiedDetails(FrozenClass): ('EndTime', 'DateTime'), ('NumValuesPerNode', 'UInt32'), ('ReturnBounds', 'Boolean'), - ] + ] def __init__(self): self.IsReadModified = True @@ -5667,17 +5855,19 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ReadRawModifiedDetails(' + 'IsReadModified:' + str(self.IsReadModified) + ', ' + \ - 'StartTime:' + str(self.StartTime) + ', ' + \ - 'EndTime:' + str(self.EndTime) + ', ' + \ - 'NumValuesPerNode:' + str(self.NumValuesPerNode) + ', ' + \ - 'ReturnBounds:' + str(self.ReturnBounds) + ')' + return ', '.join(( + f'ReadRawModifiedDetails(IsReadModified:{self.IsReadModified}', + f'StartTime:{self.StartTime}', + f'EndTime:{self.EndTime}', + f'NumValuesPerNode:{self.NumValuesPerNode}', + f'ReturnBounds:{self.ReturnBounds})' + )) __repr__ = __str__ class ReadProcessedDetails(FrozenClass): - ''' + """ :ivar StartTime: :vartype StartTime: DateTime :ivar EndTime: @@ -5688,7 +5878,7 @@ class ReadProcessedDetails(FrozenClass): :vartype AggregateType: NodeId :ivar AggregateConfiguration: :vartype AggregateConfiguration: AggregateConfiguration - ''' + """ ua_types = [ ('StartTime', 'DateTime'), @@ -5696,7 +5886,7 @@ class ReadProcessedDetails(FrozenClass): ('ProcessingInterval', 'Double'), ('AggregateType', 'ListOfNodeId'), ('AggregateConfiguration', 'AggregateConfiguration'), - ] + ] def __init__(self): self.StartTime = datetime.utcnow() @@ -5707,27 +5897,29 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ReadProcessedDetails(' + 'StartTime:' + str(self.StartTime) + ', ' + \ - 'EndTime:' + str(self.EndTime) + ', ' + \ - 'ProcessingInterval:' + str(self.ProcessingInterval) + ', ' + \ - 'AggregateType:' + str(self.AggregateType) + ', ' + \ - 'AggregateConfiguration:' + str(self.AggregateConfiguration) + ')' + return ', '.join(( + f'ReadProcessedDetails(StartTime:{self.StartTime}', + f'EndTime:{self.EndTime}', + f'ProcessingInterval:{self.ProcessingInterval}', + f'AggregateType:{self.AggregateType}', + f'AggregateConfiguration:{self.AggregateConfiguration})' + )) __repr__ = __str__ class ReadAtTimeDetails(FrozenClass): - ''' + """ :ivar ReqTimes: :vartype ReqTimes: DateTime :ivar UseSimpleBounds: :vartype UseSimpleBounds: Boolean - ''' + """ ua_types = [ ('ReqTimes', 'ListOfDateTime'), ('UseSimpleBounds', 'Boolean'), - ] + ] def __init__(self): self.ReqTimes = [] @@ -5735,47 +5927,46 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ReadAtTimeDetails(' + 'ReqTimes:' + str(self.ReqTimes) + ', ' + \ - 'UseSimpleBounds:' + str(self.UseSimpleBounds) + ')' + return f'ReadAtTimeDetails(ReqTimes:{self.ReqTimes}, UseSimpleBounds:{self.UseSimpleBounds})' __repr__ = __str__ class HistoryData(FrozenClass): - ''' + """ :ivar DataValues: :vartype DataValues: DataValue - ''' + """ ua_types = [ ('DataValues', 'ListOfDataValue'), - ] + ] def __init__(self): self.DataValues = [] self._freeze = True def __str__(self): - return 'HistoryData(' + 'DataValues:' + str(self.DataValues) + ')' + return f'HistoryData(DataValues:{self.DataValues})' __repr__ = __str__ class ModificationInfo(FrozenClass): - ''' + """ :ivar ModificationTime: :vartype ModificationTime: DateTime :ivar UpdateType: :vartype UpdateType: HistoryUpdateType :ivar UserName: :vartype UserName: String - ''' + """ ua_types = [ ('ModificationTime', 'DateTime'), ('UpdateType', 'HistoryUpdateType'), ('UserName', 'String'), - ] + ] def __init__(self): self.ModificationTime = datetime.utcnow() @@ -5784,25 +5975,27 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ModificationInfo(' + 'ModificationTime:' + str(self.ModificationTime) + ', ' + \ - 'UpdateType:' + str(self.UpdateType) + ', ' + \ - 'UserName:' + str(self.UserName) + ')' + return ', '.join(( + f'ModificationInfo(ModificationTime:{self.ModificationTime}', + f'UpdateType:{self.UpdateType}', + f'UserName:{self.UserName})' + )) __repr__ = __str__ class HistoryModifiedData(FrozenClass): - ''' + """ :ivar DataValues: :vartype DataValues: DataValue :ivar ModificationInfos: :vartype ModificationInfos: ModificationInfo - ''' + """ ua_types = [ ('DataValues', 'ListOfDataValue'), ('ModificationInfos', 'ListOfModificationInfo'), - ] + ] def __init__(self): self.DataValues = [] @@ -5810,34 +6003,33 @@ def __init__(self): self._freeze = True def __str__(self): - return 'HistoryModifiedData(' + 'DataValues:' + str(self.DataValues) + ', ' + \ - 'ModificationInfos:' + str(self.ModificationInfos) + ')' + return f'HistoryModifiedData(DataValues:{self.DataValues}, ModificationInfos:{self.ModificationInfos})' __repr__ = __str__ class HistoryEvent(FrozenClass): - ''' + """ :ivar Events: :vartype Events: HistoryEventFieldList - ''' + """ ua_types = [ ('Events', 'ListOfHistoryEventFieldList'), - ] + ] def __init__(self): self.Events = [] self._freeze = True def __str__(self): - return 'HistoryEvent(' + 'Events:' + str(self.Events) + ')' + return f'HistoryEvent(Events:{self.Events})' __repr__ = __str__ class HistoryReadParameters(FrozenClass): - ''' + """ :ivar HistoryReadDetails: :vartype HistoryReadDetails: ExtensionObject :ivar TimestampsToReturn: @@ -5846,14 +6038,14 @@ class HistoryReadParameters(FrozenClass): :vartype ReleaseContinuationPoints: Boolean :ivar NodesToRead: :vartype NodesToRead: HistoryReadValueId - ''' + """ ua_types = [ ('HistoryReadDetails', 'ExtensionObject'), ('TimestampsToReturn', 'TimestampsToReturn'), ('ReleaseContinuationPoints', 'Boolean'), ('NodesToRead', 'ListOfHistoryReadValueId'), - ] + ] def __init__(self): self.HistoryReadDetails = ExtensionObject() @@ -5863,29 +6055,31 @@ def __init__(self): self._freeze = True def __str__(self): - return 'HistoryReadParameters(' + 'HistoryReadDetails:' + str(self.HistoryReadDetails) + ', ' + \ - 'TimestampsToReturn:' + str(self.TimestampsToReturn) + ', ' + \ - 'ReleaseContinuationPoints:' + str(self.ReleaseContinuationPoints) + ', ' + \ - 'NodesToRead:' + str(self.NodesToRead) + ')' + return ', '.join(( + f'HistoryReadParameters(HistoryReadDetails:{self.HistoryReadDetails}', + f'TimestampsToReturn:{self.TimestampsToReturn}', + f'ReleaseContinuationPoints:{self.ReleaseContinuationPoints}', + f'NodesToRead:{self.NodesToRead})' + )) __repr__ = __str__ class HistoryReadRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: HistoryReadParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'HistoryReadParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.HistoryReadRequest_Encoding_DefaultBinary) @@ -5894,15 +6088,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'HistoryReadRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'HistoryReadRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class HistoryReadResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: @@ -5911,14 +6107,14 @@ class HistoryReadResponse(FrozenClass): :vartype Results: HistoryReadResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfHistoryReadResult'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.HistoryReadResponse_Encoding_DefaultBinary) @@ -5928,16 +6124,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'HistoryReadResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return ', '.join(( + f'HistoryReadResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Results:{self.Results}', + F'DiagnosticInfos:{self.DiagnosticInfos})' + )) __repr__ = __str__ class WriteValue(FrozenClass): - ''' + """ :ivar NodeId: :vartype NodeId: NodeId :ivar AttributeId: @@ -5946,14 +6144,14 @@ class WriteValue(FrozenClass): :vartype IndexRange: String :ivar Value: :vartype Value: DataValue - ''' + """ ua_types = [ ('NodeId', 'NodeId'), ('AttributeId', 'UInt32'), ('IndexRange', 'String'), ('Value', 'DataValue'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -5963,49 +6161,51 @@ def __init__(self): self._freeze = True def __str__(self): - return 'WriteValue(' + 'NodeId:' + str(self.NodeId) + ', ' + \ - 'AttributeId:' + str(self.AttributeId) + ', ' + \ - 'IndexRange:' + str(self.IndexRange) + ', ' + \ - 'Value:' + str(self.Value) + ')' + return ', '.join(( + f'WriteValue(NodeId:{self.NodeId}', + f'AttributeId:{self.AttributeId}', + f'IndexRange:{self.IndexRange}', + f'Value:{self.Value})' + )) __repr__ = __str__ class WriteParameters(FrozenClass): - ''' + """ :ivar NodesToWrite: :vartype NodesToWrite: WriteValue - ''' + """ ua_types = [ ('NodesToWrite', 'ListOfWriteValue'), - ] + ] def __init__(self): self.NodesToWrite = [] self._freeze = True def __str__(self): - return 'WriteParameters(' + 'NodesToWrite:' + str(self.NodesToWrite) + ')' + return f'WriteParameters(NodesToWrite:{self.NodesToWrite})' __repr__ = __str__ class WriteRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: WriteParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'WriteParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.WriteRequest_Encoding_DefaultBinary) @@ -6014,15 +6214,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'WriteRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'WriteRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class WriteResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: @@ -6031,14 +6233,14 @@ class WriteResponse(FrozenClass): :vartype Results: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfStatusCode'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.WriteResponse_Encoding_DefaultBinary) @@ -6048,49 +6250,51 @@ def __init__(self): self._freeze = True def __str__(self): - return 'WriteResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return ', '.join(( + f'WriteResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Results:{self.Results}', + f'DiagnosticInfos:{self.DiagnosticInfos})' + )) __repr__ = __str__ class HistoryUpdateDetails(FrozenClass): - ''' + """ :ivar NodeId: :vartype NodeId: NodeId - ''' + """ ua_types = [ ('NodeId', 'NodeId'), - ] + ] def __init__(self): self.NodeId = NodeId() self._freeze = True def __str__(self): - return 'HistoryUpdateDetails(' + 'NodeId:' + str(self.NodeId) + ')' + return f'HistoryUpdateDetails(NodeId:{self.NodeId})' __repr__ = __str__ class UpdateDataDetails(FrozenClass): - ''' + """ :ivar NodeId: :vartype NodeId: NodeId :ivar PerformInsertReplace: :vartype PerformInsertReplace: PerformUpdateType :ivar UpdateValues: :vartype UpdateValues: DataValue - ''' + """ ua_types = [ ('NodeId', 'NodeId'), ('PerformInsertReplace', 'PerformUpdateType'), ('UpdateValues', 'ListOfDataValue'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -6099,28 +6303,30 @@ def __init__(self): self._freeze = True def __str__(self): - return 'UpdateDataDetails(' + 'NodeId:' + str(self.NodeId) + ', ' + \ - 'PerformInsertReplace:' + str(self.PerformInsertReplace) + ', ' + \ - 'UpdateValues:' + str(self.UpdateValues) + ')' + return ', '.join(( + f'UpdateDataDetails(NodeId:{self.NodeId}', + f'PerformInsertReplace:{self.PerformInsertReplace}', + f'UpdateValues:{self.UpdateValues})' + )) __repr__ = __str__ class UpdateStructureDataDetails(FrozenClass): - ''' + """ :ivar NodeId: :vartype NodeId: NodeId :ivar PerformInsertReplace: :vartype PerformInsertReplace: PerformUpdateType :ivar UpdateValues: :vartype UpdateValues: DataValue - ''' + """ ua_types = [ ('NodeId', 'NodeId'), ('PerformInsertReplace', 'PerformUpdateType'), ('UpdateValues', 'ListOfDataValue'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -6129,15 +6335,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'UpdateStructureDataDetails(' + 'NodeId:' + str(self.NodeId) + ', ' + \ - 'PerformInsertReplace:' + str(self.PerformInsertReplace) + ', ' + \ - 'UpdateValues:' + str(self.UpdateValues) + ')' + return ', '.join(( + f'UpdateStructureDataDetails(NodeId:{self.NodeId}', + f'PerformInsertReplace:{self.PerformInsertReplace}', + f'UpdateValues:{self.UpdateValues})' + )) __repr__ = __str__ class UpdateEventDetails(FrozenClass): - ''' + """ :ivar NodeId: :vartype NodeId: NodeId :ivar PerformInsertReplace: @@ -6146,14 +6354,14 @@ class UpdateEventDetails(FrozenClass): :vartype Filter: EventFilter :ivar EventData: :vartype EventData: HistoryEventFieldList - ''' + """ ua_types = [ ('NodeId', 'NodeId'), ('PerformInsertReplace', 'PerformUpdateType'), ('Filter', 'EventFilter'), ('EventData', 'ListOfHistoryEventFieldList'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -6163,16 +6371,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'UpdateEventDetails(' + 'NodeId:' + str(self.NodeId) + ', ' + \ - 'PerformInsertReplace:' + str(self.PerformInsertReplace) + ', ' + \ - 'Filter:' + str(self.Filter) + ', ' + \ - 'EventData:' + str(self.EventData) + ')' + return ', '.join(( + f'UpdateEventDetails(NodeId:{self.NodeId}', + f'PerformInsertReplace:{self.PerformInsertReplace}', + f'Filter:{self.Filter}', + f'EventData:{self.EventData})' + )) __repr__ = __str__ class DeleteRawModifiedDetails(FrozenClass): - ''' + """ :ivar NodeId: :vartype NodeId: NodeId :ivar IsDeleteModified: @@ -6181,14 +6391,14 @@ class DeleteRawModifiedDetails(FrozenClass): :vartype StartTime: DateTime :ivar EndTime: :vartype EndTime: DateTime - ''' + """ ua_types = [ ('NodeId', 'NodeId'), ('IsDeleteModified', 'Boolean'), ('StartTime', 'DateTime'), ('EndTime', 'DateTime'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -6198,26 +6408,28 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DeleteRawModifiedDetails(' + 'NodeId:' + str(self.NodeId) + ', ' + \ - 'IsDeleteModified:' + str(self.IsDeleteModified) + ', ' + \ - 'StartTime:' + str(self.StartTime) + ', ' + \ - 'EndTime:' + str(self.EndTime) + ')' + return ', '.join(( + f'DeleteRawModifiedDetails(NodeId:{self.NodeId}', + f'IsDeleteModified:{self.IsDeleteModified}', + f'StartTime:{self.StartTime}', + f'EndTime:{self.EndTime})' + )) __repr__ = __str__ class DeleteAtTimeDetails(FrozenClass): - ''' + """ :ivar NodeId: :vartype NodeId: NodeId :ivar ReqTimes: :vartype ReqTimes: DateTime - ''' + """ ua_types = [ ('NodeId', 'NodeId'), ('ReqTimes', 'ListOfDateTime'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -6225,24 +6437,23 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DeleteAtTimeDetails(' + 'NodeId:' + str(self.NodeId) + ', ' + \ - 'ReqTimes:' + str(self.ReqTimes) + ')' + return f'DeleteAtTimeDetails(NodeId:{self.NodeId}, ReqTimes:{self.ReqTimes})' __repr__ = __str__ class DeleteEventDetails(FrozenClass): - ''' + """ :ivar NodeId: :vartype NodeId: NodeId :ivar EventIds: :vartype EventIds: ByteString - ''' + """ ua_types = [ ('NodeId', 'NodeId'), ('EventIds', 'ListOfByteString'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -6250,27 +6461,26 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DeleteEventDetails(' + 'NodeId:' + str(self.NodeId) + ', ' + \ - 'EventIds:' + str(self.EventIds) + ')' + return f'DeleteEventDetails(NodeId:{self.NodeId}, EventIds:{self.EventIds})' __repr__ = __str__ class HistoryUpdateResult(FrozenClass): - ''' + """ :ivar StatusCode: :vartype StatusCode: StatusCode :ivar OperationResults: :vartype OperationResults: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('StatusCode', 'StatusCode'), ('OperationResults', 'ListOfStatusCode'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.StatusCode = StatusCode() @@ -6279,48 +6489,50 @@ def __init__(self): self._freeze = True def __str__(self): - return 'HistoryUpdateResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ - 'OperationResults:' + str(self.OperationResults) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return ', '.join(( + f'HistoryUpdateResult(StatusCode:{self.StatusCode}', + f'OperationResults:{self.OperationResults}', + f'DiagnosticInfos:{self.DiagnosticInfos})' + )) __repr__ = __str__ class HistoryUpdateParameters(FrozenClass): - ''' + """ :ivar HistoryUpdateDetails: :vartype HistoryUpdateDetails: ExtensionObject - ''' + """ ua_types = [ ('HistoryUpdateDetails', 'ListOfExtensionObject'), - ] + ] def __init__(self): self.HistoryUpdateDetails = [] self._freeze = True def __str__(self): - return 'HistoryUpdateParameters(' + 'HistoryUpdateDetails:' + str(self.HistoryUpdateDetails) + ')' + return f'HistoryUpdateParameters(HistoryUpdateDetails:{self.HistoryUpdateDetails})' __repr__ = __str__ class HistoryUpdateRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: HistoryUpdateParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'HistoryUpdateParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.HistoryUpdateRequest_Encoding_DefaultBinary) @@ -6329,15 +6541,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'HistoryUpdateRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'HistoryUpdateRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class HistoryUpdateResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: @@ -6346,14 +6560,14 @@ class HistoryUpdateResponse(FrozenClass): :vartype Results: HistoryUpdateResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfHistoryUpdateResult'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.HistoryUpdateResponse_Encoding_DefaultBinary) @@ -6363,29 +6577,31 @@ def __init__(self): self._freeze = True def __str__(self): - return 'HistoryUpdateResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return ', '.join(( + f'HistoryUpdateResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Results:{self.Results}', + f'DiagnosticInfos:{self.DiagnosticInfos})' + )) __repr__ = __str__ class CallMethodRequest(FrozenClass): - ''' + """ :ivar ObjectId: :vartype ObjectId: NodeId :ivar MethodId: :vartype MethodId: NodeId :ivar InputArguments: :vartype InputArguments: Variant - ''' + """ ua_types = [ ('ObjectId', 'NodeId'), ('MethodId', 'NodeId'), ('InputArguments', 'ListOfVariant'), - ] + ] def __init__(self): self.ObjectId = NodeId() @@ -6394,15 +6610,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CallMethodRequest(' + 'ObjectId:' + str(self.ObjectId) + ', ' + \ - 'MethodId:' + str(self.MethodId) + ', ' + \ - 'InputArguments:' + str(self.InputArguments) + ')' + return ', '.join(( + f'CallMethodRequest(ObjectId:{self.ObjectId}', + f'MethodId:{self.MethodId}', + f'InputArguments:{self.InputArguments})' + )) __repr__ = __str__ class CallMethodResult(FrozenClass): - ''' + """ :ivar StatusCode: :vartype StatusCode: StatusCode :ivar InputArgumentResults: @@ -6411,14 +6629,14 @@ class CallMethodResult(FrozenClass): :vartype InputArgumentDiagnosticInfos: DiagnosticInfo :ivar OutputArguments: :vartype OutputArguments: Variant - ''' + """ ua_types = [ ('StatusCode', 'StatusCode'), ('InputArgumentResults', 'ListOfStatusCode'), ('InputArgumentDiagnosticInfos', 'ListOfDiagnosticInfo'), ('OutputArguments', 'ListOfVariant'), - ] + ] def __init__(self): self.StatusCode = StatusCode() @@ -6428,49 +6646,51 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CallMethodResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ - 'InputArgumentResults:' + str(self.InputArgumentResults) + ', ' + \ - 'InputArgumentDiagnosticInfos:' + str(self.InputArgumentDiagnosticInfos) + ', ' + \ - 'OutputArguments:' + str(self.OutputArguments) + ')' + return ', '.join(( + f'CallMethodResult(StatusCode:{self.StatusCode}', + f'InputArgumentResults:{self.InputArgumentResults}', + f'InputArgumentDiagnosticInfos:{self.InputArgumentDiagnosticInfos}', + f'OutputArguments:{self.OutputArguments})' + )) __repr__ = __str__ class CallParameters(FrozenClass): - ''' + """ :ivar MethodsToCall: :vartype MethodsToCall: CallMethodRequest - ''' + """ ua_types = [ ('MethodsToCall', 'ListOfCallMethodRequest'), - ] + ] def __init__(self): self.MethodsToCall = [] self._freeze = True def __str__(self): - return 'CallParameters(' + 'MethodsToCall:' + str(self.MethodsToCall) + ')' + return f'CallParameters(MethodsToCall:{self.MethodsToCall})' __repr__ = __str__ class CallRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: CallParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'CallParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CallRequest_Encoding_DefaultBinary) @@ -6479,15 +6699,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CallRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'CallRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class CallResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: @@ -6496,14 +6718,14 @@ class CallResponse(FrozenClass): :vartype Results: CallMethodResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfCallMethodResult'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CallResponse_Encoding_DefaultBinary) @@ -6513,45 +6735,47 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CallResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return ', '.join(( + f'CallResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Results:{self.Results}', + f'DiagnosticInfos:{self.DiagnosticInfos})' + )) __repr__ = __str__ class MonitoringFilter(FrozenClass): - ''' - ''' + """ + """ ua_types = [ - ] + ] def __init__(self): self._freeze = True def __str__(self): - return 'MonitoringFilter(' + + ')' + return 'MonitoringFilter()' __repr__ = __str__ class DataChangeFilter(FrozenClass): - ''' + """ :ivar Trigger: :vartype Trigger: DataChangeTrigger :ivar DeadbandType: :vartype DeadbandType: UInt32 :ivar DeadbandValue: :vartype DeadbandValue: Double - ''' + """ ua_types = [ ('Trigger', 'DataChangeTrigger'), ('DeadbandType', 'UInt32'), ('DeadbandValue', 'Double'), - ] + ] def __init__(self): self.Trigger = DataChangeTrigger(0) @@ -6560,25 +6784,27 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DataChangeFilter(' + 'Trigger:' + str(self.Trigger) + ', ' + \ - 'DeadbandType:' + str(self.DeadbandType) + ', ' + \ - 'DeadbandValue:' + str(self.DeadbandValue) + ')' + return ', '.join(( + f'DataChangeFilter(Trigger:{self.Trigger}', + f'DeadbandType:{self.DeadbandType}', + f'DeadbandValue:{self.DeadbandValue})' + )) __repr__ = __str__ class EventFilter(FrozenClass): - ''' + """ :ivar SelectClauses: :vartype SelectClauses: SimpleAttributeOperand :ivar WhereClause: :vartype WhereClause: ContentFilter - ''' + """ ua_types = [ ('SelectClauses', 'ListOfSimpleAttributeOperand'), ('WhereClause', 'ContentFilter'), - ] + ] def __init__(self): self.SelectClauses = [] @@ -6586,14 +6812,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'EventFilter(' + 'SelectClauses:' + str(self.SelectClauses) + ', ' + \ - 'WhereClause:' + str(self.WhereClause) + ')' + return f'EventFilter(SelectClauses:{self.SelectClauses}, WhereClause:{self.WhereClause})' __repr__ = __str__ class AggregateConfiguration(FrozenClass): - ''' + """ :ivar UseServerCapabilitiesDefaults: :vartype UseServerCapabilitiesDefaults: Boolean :ivar TreatUncertainAsBad: @@ -6604,7 +6829,7 @@ class AggregateConfiguration(FrozenClass): :vartype PercentDataGood: Byte :ivar UseSlopedExtrapolation: :vartype UseSlopedExtrapolation: Boolean - ''' + """ ua_types = [ ('UseServerCapabilitiesDefaults', 'Boolean'), @@ -6612,7 +6837,7 @@ class AggregateConfiguration(FrozenClass): ('PercentDataBad', 'Byte'), ('PercentDataGood', 'Byte'), ('UseSlopedExtrapolation', 'Boolean'), - ] + ] def __init__(self): self.UseServerCapabilitiesDefaults = True @@ -6623,17 +6848,19 @@ def __init__(self): self._freeze = True def __str__(self): - return 'AggregateConfiguration(' + 'UseServerCapabilitiesDefaults:' + str(self.UseServerCapabilitiesDefaults) + ', ' + \ - 'TreatUncertainAsBad:' + str(self.TreatUncertainAsBad) + ', ' + \ - 'PercentDataBad:' + str(self.PercentDataBad) + ', ' + \ - 'PercentDataGood:' + str(self.PercentDataGood) + ', ' + \ - 'UseSlopedExtrapolation:' + str(self.UseSlopedExtrapolation) + ')' + return ', '.join(( + f'AggregateConfiguration(UseServerCapabilitiesDefaults:{self.UseServerCapabilitiesDefaults}', + f'TreatUncertainAsBad:{self.TreatUncertainAsBad}', + f'PercentDataBad:{self.PercentDataBad}', + f'PercentDataGood:{self.PercentDataGood}', + f'UseSlopedExtrapolation:{self.UseSlopedExtrapolation})' + )) __repr__ = __str__ class AggregateFilter(FrozenClass): - ''' + """ :ivar StartTime: :vartype StartTime: DateTime :ivar AggregateType: @@ -6642,14 +6869,14 @@ class AggregateFilter(FrozenClass): :vartype ProcessingInterval: Double :ivar AggregateConfiguration: :vartype AggregateConfiguration: AggregateConfiguration - ''' + """ ua_types = [ ('StartTime', 'DateTime'), ('AggregateType', 'NodeId'), ('ProcessingInterval', 'Double'), ('AggregateConfiguration', 'AggregateConfiguration'), - ] + ] def __init__(self): self.StartTime = datetime.utcnow() @@ -6659,45 +6886,47 @@ def __init__(self): self._freeze = True def __str__(self): - return 'AggregateFilter(' + 'StartTime:' + str(self.StartTime) + ', ' + \ - 'AggregateType:' + str(self.AggregateType) + ', ' + \ - 'ProcessingInterval:' + str(self.ProcessingInterval) + ', ' + \ - 'AggregateConfiguration:' + str(self.AggregateConfiguration) + ')' + return ', '.join(( + f'AggregateFilter(StartTime:{self.StartTime}', + f'AggregateType:{self.AggregateType}', + f'ProcessingInterval:{self.ProcessingInterval}', + f'AggregateConfiguration:{self.AggregateConfiguration})' + )) __repr__ = __str__ class MonitoringFilterResult(FrozenClass): - ''' - ''' + """ + """ ua_types = [ - ] + ] def __init__(self): self._freeze = True def __str__(self): - return 'MonitoringFilterResult(' + + ')' + return 'MonitoringFilterResult()' __repr__ = __str__ class EventFilterResult(FrozenClass): - ''' + """ :ivar SelectClauseResults: :vartype SelectClauseResults: StatusCode :ivar SelectClauseDiagnosticInfos: :vartype SelectClauseDiagnosticInfos: DiagnosticInfo :ivar WhereClauseResult: :vartype WhereClauseResult: ContentFilterResult - ''' + """ ua_types = [ ('SelectClauseResults', 'ListOfStatusCode'), ('SelectClauseDiagnosticInfos', 'ListOfDiagnosticInfo'), ('WhereClauseResult', 'ContentFilterResult'), - ] + ] def __init__(self): self.SelectClauseResults = [] @@ -6706,28 +6935,30 @@ def __init__(self): self._freeze = True def __str__(self): - return 'EventFilterResult(' + 'SelectClauseResults:' + str(self.SelectClauseResults) + ', ' + \ - 'SelectClauseDiagnosticInfos:' + str(self.SelectClauseDiagnosticInfos) + ', ' + \ - 'WhereClauseResult:' + str(self.WhereClauseResult) + ')' + return ', '.join(( + f'EventFilterResult(SelectClauseResults:{self.SelectClauseResults}', + f'SelectClauseDiagnosticInfos:{self.SelectClauseDiagnosticInfos}', + f'WhereClauseResult:{self.WhereClauseResult})' + )) __repr__ = __str__ class AggregateFilterResult(FrozenClass): - ''' + """ :ivar RevisedStartTime: :vartype RevisedStartTime: DateTime :ivar RevisedProcessingInterval: :vartype RevisedProcessingInterval: Double :ivar RevisedAggregateConfiguration: :vartype RevisedAggregateConfiguration: AggregateConfiguration - ''' + """ ua_types = [ ('RevisedStartTime', 'DateTime'), ('RevisedProcessingInterval', 'Double'), ('RevisedAggregateConfiguration', 'AggregateConfiguration'), - ] + ] def __init__(self): self.RevisedStartTime = datetime.utcnow() @@ -6736,15 +6967,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'AggregateFilterResult(' + 'RevisedStartTime:' + str(self.RevisedStartTime) + ', ' + \ - 'RevisedProcessingInterval:' + str(self.RevisedProcessingInterval) + ', ' + \ - 'RevisedAggregateConfiguration:' + str(self.RevisedAggregateConfiguration) + ')' + return ', '.join(( + f'AggregateFilterResult(RevisedStartTime:{self.RevisedStartTime}', + f'RevisedProcessingInterval:{self.RevisedProcessingInterval}', + f'RevisedAggregateConfiguration:{self.RevisedAggregateConfiguration})' + )) __repr__ = __str__ class MonitoringParameters(FrozenClass): - ''' + """ :ivar ClientHandle: :vartype ClientHandle: UInt32 :ivar SamplingInterval: @@ -6755,7 +6988,7 @@ class MonitoringParameters(FrozenClass): :vartype QueueSize: UInt32 :ivar DiscardOldest: :vartype DiscardOldest: Boolean - ''' + """ ua_types = [ ('ClientHandle', 'UInt32'), @@ -6763,7 +6996,7 @@ class MonitoringParameters(FrozenClass): ('Filter', 'ExtensionObject'), ('QueueSize', 'UInt32'), ('DiscardOldest', 'Boolean'), - ] + ] def __init__(self): self.ClientHandle = 0 @@ -6774,30 +7007,32 @@ def __init__(self): self._freeze = True def __str__(self): - return 'MonitoringParameters(' + 'ClientHandle:' + str(self.ClientHandle) + ', ' + \ - 'SamplingInterval:' + str(self.SamplingInterval) + ', ' + \ - 'Filter:' + str(self.Filter) + ', ' + \ - 'QueueSize:' + str(self.QueueSize) + ', ' + \ - 'DiscardOldest:' + str(self.DiscardOldest) + ')' + return ', '.join(( + f'MonitoringParameters(ClientHandle:{self.ClientHandle}', + f'SamplingInterval:{self.SamplingInterval}', + f'Filter:{self.Filter}', + f'QueueSize:{self.QueueSize}', + f'DiscardOldest:{self.DiscardOldest})' + )) __repr__ = __str__ class MonitoredItemCreateRequest(FrozenClass): - ''' + """ :ivar ItemToMonitor: :vartype ItemToMonitor: ReadValueId :ivar MonitoringMode: :vartype MonitoringMode: MonitoringMode :ivar RequestedParameters: :vartype RequestedParameters: MonitoringParameters - ''' + """ ua_types = [ ('ItemToMonitor', 'ReadValueId'), ('MonitoringMode', 'MonitoringMode'), ('RequestedParameters', 'MonitoringParameters'), - ] + ] def __init__(self): self.ItemToMonitor = ReadValueId() @@ -6806,15 +7041,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'MonitoredItemCreateRequest(' + 'ItemToMonitor:' + str(self.ItemToMonitor) + ', ' + \ - 'MonitoringMode:' + str(self.MonitoringMode) + ', ' + \ - 'RequestedParameters:' + str(self.RequestedParameters) + ')' + return ', '.join(( + f'MonitoredItemCreateRequest(ItemToMonitor:{self.ItemToMonitor}', + f'MonitoringMode:{self.MonitoringMode}', + f'RequestedParameters:{self.RequestedParameters})' + )) __repr__ = __str__ class MonitoredItemCreateResult(FrozenClass): - ''' + """ :ivar StatusCode: :vartype StatusCode: StatusCode :ivar MonitoredItemId: @@ -6825,7 +7062,7 @@ class MonitoredItemCreateResult(FrozenClass): :vartype RevisedQueueSize: UInt32 :ivar FilterResult: :vartype FilterResult: ExtensionObject - ''' + """ ua_types = [ ('StatusCode', 'StatusCode'), @@ -6833,7 +7070,7 @@ class MonitoredItemCreateResult(FrozenClass): ('RevisedSamplingInterval', 'Double'), ('RevisedQueueSize', 'UInt32'), ('FilterResult', 'ExtensionObject'), - ] + ] def __init__(self): self.StatusCode = StatusCode() @@ -6844,30 +7081,32 @@ def __init__(self): self._freeze = True def __str__(self): - return 'MonitoredItemCreateResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ - 'MonitoredItemId:' + str(self.MonitoredItemId) + ', ' + \ - 'RevisedSamplingInterval:' + str(self.RevisedSamplingInterval) + ', ' + \ - 'RevisedQueueSize:' + str(self.RevisedQueueSize) + ', ' + \ - 'FilterResult:' + str(self.FilterResult) + ')' + return ', '.join(( + f'MonitoredItemCreateResult(StatusCode:{self.StatusCode}', + f'MonitoredItemId:{self.MonitoredItemId}', + f'RevisedSamplingInterval:{self.RevisedSamplingInterval}', + f'RevisedQueueSize:{self.RevisedQueueSize}', + f'FilterResult:{self.FilterResult})' + )) __repr__ = __str__ class CreateMonitoredItemsParameters(FrozenClass): - ''' + """ :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar TimestampsToReturn: :vartype TimestampsToReturn: TimestampsToReturn :ivar ItemsToCreate: :vartype ItemsToCreate: MonitoredItemCreateRequest - ''' + """ ua_types = [ ('SubscriptionId', 'UInt32'), ('TimestampsToReturn', 'TimestampsToReturn'), ('ItemsToCreate', 'ListOfMonitoredItemCreateRequest'), - ] + ] def __init__(self): self.SubscriptionId = 0 @@ -6876,28 +7115,30 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CreateMonitoredItemsParameters(' + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ - 'TimestampsToReturn:' + str(self.TimestampsToReturn) + ', ' + \ - 'ItemsToCreate:' + str(self.ItemsToCreate) + ')' + return ', '.join(( + f'CreateMonitoredItemsParameters(SubscriptionId:{self.SubscriptionId}', + f'TimestampsToReturn:{self.TimestampsToReturn}', + f'ItemsToCreate:{self.ItemsToCreate})' + )) __repr__ = __str__ class CreateMonitoredItemsRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: CreateMonitoredItemsParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'CreateMonitoredItemsParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CreateMonitoredItemsRequest_Encoding_DefaultBinary) @@ -6906,15 +7147,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CreateMonitoredItemsRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'CreateMonitoredItemsRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class CreateMonitoredItemsResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: @@ -6923,14 +7166,14 @@ class CreateMonitoredItemsResponse(FrozenClass): :vartype Results: MonitoredItemCreateResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfMonitoredItemCreateResult'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CreateMonitoredItemsResponse_Encoding_DefaultBinary) @@ -6940,26 +7183,28 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CreateMonitoredItemsResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return ', '.join(( + f'CreateMonitoredItemsResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Results:{self.Results}', + f'DiagnosticInfos:{self.DiagnosticInfos})' + )) __repr__ = __str__ class MonitoredItemModifyRequest(FrozenClass): - ''' + """ :ivar MonitoredItemId: :vartype MonitoredItemId: UInt32 :ivar RequestedParameters: :vartype RequestedParameters: MonitoringParameters - ''' + """ ua_types = [ ('MonitoredItemId', 'UInt32'), ('RequestedParameters', 'MonitoringParameters'), - ] + ] def __init__(self): self.MonitoredItemId = 0 @@ -6967,14 +7212,16 @@ def __init__(self): self._freeze = True def __str__(self): - return 'MonitoredItemModifyRequest(' + 'MonitoredItemId:' + str(self.MonitoredItemId) + ', ' + \ - 'RequestedParameters:' + str(self.RequestedParameters) + ')' + return ', '.join(( + f'MonitoredItemModifyRequest(MonitoredItemId:{self.MonitoredItemId}', + f'RequestedParameters:{self.RequestedParameters})' + )) __repr__ = __str__ class MonitoredItemModifyResult(FrozenClass): - ''' + """ :ivar StatusCode: :vartype StatusCode: StatusCode :ivar RevisedSamplingInterval: @@ -6983,14 +7230,14 @@ class MonitoredItemModifyResult(FrozenClass): :vartype RevisedQueueSize: UInt32 :ivar FilterResult: :vartype FilterResult: ExtensionObject - ''' + """ ua_types = [ ('StatusCode', 'StatusCode'), ('RevisedSamplingInterval', 'Double'), ('RevisedQueueSize', 'UInt32'), ('FilterResult', 'ExtensionObject'), - ] + ] def __init__(self): self.StatusCode = StatusCode() @@ -7000,29 +7247,31 @@ def __init__(self): self._freeze = True def __str__(self): - return 'MonitoredItemModifyResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ - 'RevisedSamplingInterval:' + str(self.RevisedSamplingInterval) + ', ' + \ - 'RevisedQueueSize:' + str(self.RevisedQueueSize) + ', ' + \ - 'FilterResult:' + str(self.FilterResult) + ')' + return ', '.join(( + f'MonitoredItemModifyResult(StatusCode:{self.StatusCode}', + f'RevisedSamplingInterval:{self.RevisedSamplingInterval}', + f'RevisedQueueSize:{self.RevisedQueueSize}', + f'FilterResult:{self.FilterResult})' + )) __repr__ = __str__ class ModifyMonitoredItemsParameters(FrozenClass): - ''' + """ :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar TimestampsToReturn: :vartype TimestampsToReturn: TimestampsToReturn :ivar ItemsToModify: :vartype ItemsToModify: MonitoredItemModifyRequest - ''' + """ ua_types = [ ('SubscriptionId', 'UInt32'), ('TimestampsToReturn', 'TimestampsToReturn'), ('ItemsToModify', 'ListOfMonitoredItemModifyRequest'), - ] + ] def __init__(self): self.SubscriptionId = 0 @@ -7031,28 +7280,30 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ModifyMonitoredItemsParameters(' + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ - 'TimestampsToReturn:' + str(self.TimestampsToReturn) + ', ' + \ - 'ItemsToModify:' + str(self.ItemsToModify) + ')' + return ', '.join(( + f'ModifyMonitoredItemsParameters(SubscriptionId:{self.SubscriptionId}', + f'TimestampsToReturn:{self.TimestampsToReturn}', + f'ItemsToModify:{self.ItemsToModify})' + )) __repr__ = __str__ class ModifyMonitoredItemsRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: ModifyMonitoredItemsParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'ModifyMonitoredItemsParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.ModifyMonitoredItemsRequest_Encoding_DefaultBinary) @@ -7061,15 +7312,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ModifyMonitoredItemsRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'ModifyMonitoredItemsRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class ModifyMonitoredItemsResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: @@ -7078,14 +7331,14 @@ class ModifyMonitoredItemsResponse(FrozenClass): :vartype Results: MonitoredItemModifyResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfMonitoredItemModifyResult'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.ModifyMonitoredItemsResponse_Encoding_DefaultBinary) @@ -7095,29 +7348,31 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ModifyMonitoredItemsResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return ', '.join(( + f'ModifyMonitoredItemsResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Results:{self.Results}', + f'DiagnosticInfos:{self.DiagnosticInfos})' + )) __repr__ = __str__ class SetMonitoringModeParameters(FrozenClass): - ''' + """ :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar MonitoringMode: :vartype MonitoringMode: MonitoringMode :ivar MonitoredItemIds: :vartype MonitoredItemIds: UInt32 - ''' + """ ua_types = [ ('SubscriptionId', 'UInt32'), ('MonitoringMode', 'MonitoringMode'), ('MonitoredItemIds', 'ListOfUInt32'), - ] + ] def __init__(self): self.SubscriptionId = 0 @@ -7126,28 +7381,30 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SetMonitoringModeParameters(' + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ - 'MonitoringMode:' + str(self.MonitoringMode) + ', ' + \ - 'MonitoredItemIds:' + str(self.MonitoredItemIds) + ')' + return ', '.join(( + f'SetMonitoringModeParameters(SubscriptionId:{self.SubscriptionId}', + f'MonitoringMode:{self.MonitoringMode}', + f'MonitoredItemIds:{self.MonitoredItemIds})' + )) __repr__ = __str__ class SetMonitoringModeRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: SetMonitoringModeParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'SetMonitoringModeParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.SetMonitoringModeRequest_Encoding_DefaultBinary) @@ -7156,25 +7413,27 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SetMonitoringModeRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'SetMonitoringModeRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class SetMonitoringModeResult(FrozenClass): - ''' + """ :ivar Results: :vartype Results: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('Results', 'ListOfStatusCode'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.Results = [] @@ -7182,27 +7441,26 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SetMonitoringModeResult(' + 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return f'SetMonitoringModeResult(Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ class SetMonitoringModeResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: SetMonitoringModeResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'SetMonitoringModeResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.SetMonitoringModeResponse_Encoding_DefaultBinary) @@ -7211,15 +7469,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SetMonitoringModeResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'SetMonitoringModeResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class SetTriggeringParameters(FrozenClass): - ''' + """ :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar TriggeringItemId: @@ -7228,14 +7488,14 @@ class SetTriggeringParameters(FrozenClass): :vartype LinksToAdd: UInt32 :ivar LinksToRemove: :vartype LinksToRemove: UInt32 - ''' + """ ua_types = [ ('SubscriptionId', 'UInt32'), ('TriggeringItemId', 'UInt32'), ('LinksToAdd', 'ListOfUInt32'), ('LinksToRemove', 'ListOfUInt32'), - ] + ] def __init__(self): self.SubscriptionId = 0 @@ -7245,29 +7505,31 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SetTriggeringParameters(' + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ - 'TriggeringItemId:' + str(self.TriggeringItemId) + ', ' + \ - 'LinksToAdd:' + str(self.LinksToAdd) + ', ' + \ - 'LinksToRemove:' + str(self.LinksToRemove) + ')' + return ', '.join(( + f'SetTriggeringParameters(SubscriptionId:{self.SubscriptionId}', + f'TriggeringItemId:{self.TriggeringItemId}', + f'LinksToAdd:{self.LinksToAdd}', + f'LinksToRemove:{self.LinksToRemove})' + )) __repr__ = __str__ class SetTriggeringRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: SetTriggeringParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'SetTriggeringParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.SetTriggeringRequest_Encoding_DefaultBinary) @@ -7276,15 +7538,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SetTriggeringRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'SetTriggeringRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class SetTriggeringResult(FrozenClass): - ''' + """ :ivar AddResults: :vartype AddResults: StatusCode :ivar AddDiagnosticInfos: @@ -7293,14 +7557,14 @@ class SetTriggeringResult(FrozenClass): :vartype RemoveResults: StatusCode :ivar RemoveDiagnosticInfos: :vartype RemoveDiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('AddResults', 'ListOfStatusCode'), ('AddDiagnosticInfos', 'ListOfDiagnosticInfo'), ('RemoveResults', 'ListOfStatusCode'), ('RemoveDiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.AddResults = [] @@ -7310,29 +7574,31 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SetTriggeringResult(' + 'AddResults:' + str(self.AddResults) + ', ' + \ - 'AddDiagnosticInfos:' + str(self.AddDiagnosticInfos) + ', ' + \ - 'RemoveResults:' + str(self.RemoveResults) + ', ' + \ - 'RemoveDiagnosticInfos:' + str(self.RemoveDiagnosticInfos) + ')' + return ', '.join(( + f'SetTriggeringResult(AddResults:{self.AddResults}', + f'AddDiagnosticInfos:{self.AddDiagnosticInfos}', + f'RemoveResults:{self.RemoveResults}', + f'RemoveDiagnosticInfos:{self.RemoveDiagnosticInfos})' + )) __repr__ = __str__ class SetTriggeringResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: SetTriggeringResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'SetTriggeringResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.SetTriggeringResponse_Encoding_DefaultBinary) @@ -7341,25 +7607,27 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SetTriggeringResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'SetTriggeringResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class DeleteMonitoredItemsParameters(FrozenClass): - ''' + """ :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar MonitoredItemIds: :vartype MonitoredItemIds: UInt32 - ''' + """ ua_types = [ ('SubscriptionId', 'UInt32'), ('MonitoredItemIds', 'ListOfUInt32'), - ] + ] def __init__(self): self.SubscriptionId = 0 @@ -7367,27 +7635,29 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DeleteMonitoredItemsParameters(' + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ - 'MonitoredItemIds:' + str(self.MonitoredItemIds) + ')' + return ', '.join(( + f'DeleteMonitoredItemsParameters(SubscriptionId:{self.SubscriptionId}', + f'MonitoredItemIds:{self.MonitoredItemIds})' + )) __repr__ = __str__ class DeleteMonitoredItemsRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: DeleteMonitoredItemsParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'DeleteMonitoredItemsParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.DeleteMonitoredItemsRequest_Encoding_DefaultBinary) @@ -7396,15 +7666,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DeleteMonitoredItemsRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'DeleteMonitoredItemsRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class DeleteMonitoredItemsResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: @@ -7413,14 +7685,14 @@ class DeleteMonitoredItemsResponse(FrozenClass): :vartype Results: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfStatusCode'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.DeleteMonitoredItemsResponse_Encoding_DefaultBinary) @@ -7430,16 +7702,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DeleteMonitoredItemsResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return ', '.join(( + f'DeleteMonitoredItemsResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Results:{self.Results}', + f'DiagnosticInfos:{self.DiagnosticInfos})' + )) __repr__ = __str__ class CreateSubscriptionParameters(FrozenClass): - ''' + """ :ivar RequestedPublishingInterval: :vartype RequestedPublishingInterval: Double :ivar RequestedLifetimeCount: @@ -7452,7 +7726,7 @@ class CreateSubscriptionParameters(FrozenClass): :vartype PublishingEnabled: Boolean :ivar Priority: :vartype Priority: Byte - ''' + """ ua_types = [ ('RequestedPublishingInterval', 'Double'), @@ -7461,7 +7735,7 @@ class CreateSubscriptionParameters(FrozenClass): ('MaxNotificationsPerPublish', 'UInt32'), ('PublishingEnabled', 'Boolean'), ('Priority', 'Byte'), - ] + ] def __init__(self): self.RequestedPublishingInterval = 0 @@ -7473,31 +7747,33 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CreateSubscriptionParameters(' + 'RequestedPublishingInterval:' + str(self.RequestedPublishingInterval) + ', ' + \ - 'RequestedLifetimeCount:' + str(self.RequestedLifetimeCount) + ', ' + \ - 'RequestedMaxKeepAliveCount:' + str(self.RequestedMaxKeepAliveCount) + ', ' + \ - 'MaxNotificationsPerPublish:' + str(self.MaxNotificationsPerPublish) + ', ' + \ - 'PublishingEnabled:' + str(self.PublishingEnabled) + ', ' + \ - 'Priority:' + str(self.Priority) + ')' + return ', '.join(( + f'CreateSubscriptionParameters(RequestedPublishingInterval:{self.RequestedPublishingInterval}', + f'RequestedLifetimeCount:{self.RequestedLifetimeCount}', + f'RequestedMaxKeepAliveCount:{self.RequestedMaxKeepAliveCount}', + f'MaxNotificationsPerPublish:{self.MaxNotificationsPerPublish}', + f'PublishingEnabled:{self.PublishingEnabled}', + f'Priority:{self.Priority})' + )) __repr__ = __str__ class CreateSubscriptionRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: CreateSubscriptionParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'CreateSubscriptionParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CreateSubscriptionRequest_Encoding_DefaultBinary) @@ -7506,15 +7782,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CreateSubscriptionRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'CreateSubscriptionRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class CreateSubscriptionResult(FrozenClass): - ''' + """ :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar RevisedPublishingInterval: @@ -7523,14 +7801,14 @@ class CreateSubscriptionResult(FrozenClass): :vartype RevisedLifetimeCount: UInt32 :ivar RevisedMaxKeepAliveCount: :vartype RevisedMaxKeepAliveCount: UInt32 - ''' + """ ua_types = [ ('SubscriptionId', 'UInt32'), ('RevisedPublishingInterval', 'Double'), ('RevisedLifetimeCount', 'UInt32'), ('RevisedMaxKeepAliveCount', 'UInt32'), - ] + ] def __init__(self): self.SubscriptionId = 0 @@ -7540,29 +7818,31 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CreateSubscriptionResult(' + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ - 'RevisedPublishingInterval:' + str(self.RevisedPublishingInterval) + ', ' + \ - 'RevisedLifetimeCount:' + str(self.RevisedLifetimeCount) + ', ' + \ - 'RevisedMaxKeepAliveCount:' + str(self.RevisedMaxKeepAliveCount) + ')' + return ', '.join(( + f'CreateSubscriptionResult(SubscriptionId:{self.SubscriptionId}', + f'RevisedPublishingInterval:{self.RevisedPublishingInterval}', + f'RevisedLifetimeCount:{self.RevisedLifetimeCount}', + f'RevisedMaxKeepAliveCount:{self.RevisedMaxKeepAliveCount})' + )) __repr__ = __str__ class CreateSubscriptionResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: CreateSubscriptionResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'CreateSubscriptionResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CreateSubscriptionResponse_Encoding_DefaultBinary) @@ -7571,15 +7851,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CreateSubscriptionResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'CreateSubscriptionResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class ModifySubscriptionParameters(FrozenClass): - ''' + """ :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar RequestedPublishingInterval: @@ -7592,7 +7874,7 @@ class ModifySubscriptionParameters(FrozenClass): :vartype MaxNotificationsPerPublish: UInt32 :ivar Priority: :vartype Priority: Byte - ''' + """ ua_types = [ ('SubscriptionId', 'UInt32'), @@ -7601,7 +7883,7 @@ class ModifySubscriptionParameters(FrozenClass): ('RequestedMaxKeepAliveCount', 'UInt32'), ('MaxNotificationsPerPublish', 'UInt32'), ('Priority', 'Byte'), - ] + ] def __init__(self): self.SubscriptionId = 0 @@ -7613,31 +7895,33 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ModifySubscriptionParameters(' + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ - 'RequestedPublishingInterval:' + str(self.RequestedPublishingInterval) + ', ' + \ - 'RequestedLifetimeCount:' + str(self.RequestedLifetimeCount) + ', ' + \ - 'RequestedMaxKeepAliveCount:' + str(self.RequestedMaxKeepAliveCount) + ', ' + \ - 'MaxNotificationsPerPublish:' + str(self.MaxNotificationsPerPublish) + ', ' + \ - 'Priority:' + str(self.Priority) + ')' + return ', '.join(( + f'ModifySubscriptionParameters(SubscriptionId:{self.SubscriptionId}', + f'RequestedPublishingInterval:{self.RequestedPublishingInterval}', + f'RequestedLifetimeCount:{self.RequestedLifetimeCount}', + f'RequestedMaxKeepAliveCount:{self.RequestedMaxKeepAliveCount}', + f'MaxNotificationsPerPublish:{self.MaxNotificationsPerPublish}', + f'Priority:{self.Priority})' + )) __repr__ = __str__ class ModifySubscriptionRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: ModifySubscriptionParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'ModifySubscriptionParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.ModifySubscriptionRequest_Encoding_DefaultBinary) @@ -7646,28 +7930,30 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ModifySubscriptionRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'ModifySubscriptionRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class ModifySubscriptionResult(FrozenClass): - ''' + """ :ivar RevisedPublishingInterval: :vartype RevisedPublishingInterval: Double :ivar RevisedLifetimeCount: :vartype RevisedLifetimeCount: UInt32 :ivar RevisedMaxKeepAliveCount: :vartype RevisedMaxKeepAliveCount: UInt32 - ''' + """ ua_types = [ ('RevisedPublishingInterval', 'Double'), ('RevisedLifetimeCount', 'UInt32'), ('RevisedMaxKeepAliveCount', 'UInt32'), - ] + ] def __init__(self): self.RevisedPublishingInterval = 0 @@ -7676,28 +7962,30 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ModifySubscriptionResult(' + 'RevisedPublishingInterval:' + str(self.RevisedPublishingInterval) + ', ' + \ - 'RevisedLifetimeCount:' + str(self.RevisedLifetimeCount) + ', ' + \ - 'RevisedMaxKeepAliveCount:' + str(self.RevisedMaxKeepAliveCount) + ')' + return ', '.join(( + f'ModifySubscriptionResult(RevisedPublishingInterval:{self.RevisedPublishingInterval}', + f'RevisedLifetimeCount:{self.RevisedLifetimeCount}', + f'RevisedMaxKeepAliveCount:{self.RevisedMaxKeepAliveCount})' + )) __repr__ = __str__ class ModifySubscriptionResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: ModifySubscriptionResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'ModifySubscriptionResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.ModifySubscriptionResponse_Encoding_DefaultBinary) @@ -7706,25 +7994,27 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ModifySubscriptionResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'ModifySubscriptionResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class SetPublishingModeParameters(FrozenClass): - ''' + """ :ivar PublishingEnabled: :vartype PublishingEnabled: Boolean :ivar SubscriptionIds: :vartype SubscriptionIds: UInt32 - ''' + """ ua_types = [ ('PublishingEnabled', 'Boolean'), ('SubscriptionIds', 'ListOfUInt32'), - ] + ] def __init__(self): self.PublishingEnabled = True @@ -7732,27 +8022,29 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SetPublishingModeParameters(' + 'PublishingEnabled:' + str(self.PublishingEnabled) + ', ' + \ - 'SubscriptionIds:' + str(self.SubscriptionIds) + ')' + return ', '.join(( + f'SetPublishingModeParameters(PublishingEnabled:{self.PublishingEnabled}', + f'SubscriptionIds:{self.SubscriptionIds})' + )) __repr__ = __str__ class SetPublishingModeRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: SetPublishingModeParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'SetPublishingModeParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.SetPublishingModeRequest_Encoding_DefaultBinary) @@ -7761,25 +8053,27 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SetPublishingModeRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'SetPublishingModeRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class SetPublishingModeResult(FrozenClass): - ''' + """ :ivar Results: :vartype Results: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('Results', 'ListOfStatusCode'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.Results = [] @@ -7787,27 +8081,26 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SetPublishingModeResult(' + 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return f'SetPublishingModeResult(Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ class SetPublishingModeResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: SetPublishingModeResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'SetPublishingModeResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.SetPublishingModeResponse_Encoding_DefaultBinary) @@ -7816,28 +8109,30 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SetPublishingModeResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'SetPublishingModeResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class NotificationMessage(FrozenClass): - ''' + """ :ivar SequenceNumber: :vartype SequenceNumber: UInt32 :ivar PublishTime: :vartype PublishTime: DateTime :ivar NotificationData: :vartype NotificationData: ExtensionObject - ''' + """ ua_types = [ ('SequenceNumber', 'UInt32'), ('PublishTime', 'DateTime'), ('NotificationData', 'ListOfExtensionObject'), - ] + ] def __init__(self): self.SequenceNumber = 0 @@ -7846,41 +8141,44 @@ def __init__(self): self._freeze = True def __str__(self): - return 'NotificationMessage(' + 'SequenceNumber:' + str(self.SequenceNumber) + ', ' + \ - 'PublishTime:' + str(self.PublishTime) + ', ' + \ - 'NotificationData:' + str(self.NotificationData) + ')' + return ', '.join(( + f'NotificationMessage(SequenceNumber:{self.SequenceNumber}', + f'PublishTime:{self.PublishTime}', + f'NotificationData:{self.NotificationData})' + + )) __repr__ = __str__ class NotificationData(FrozenClass): - ''' - ''' + """ + """ ua_types = [ - ] + ] def __init__(self): self._freeze = True def __str__(self): - return 'NotificationData(' + + ')' + return 'NotificationData()' __repr__ = __str__ class DataChangeNotification(FrozenClass): - ''' + """ :ivar MonitoredItems: :vartype MonitoredItems: MonitoredItemNotification :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('MonitoredItems', 'ListOfMonitoredItemNotification'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.MonitoredItems = [] @@ -7888,24 +8186,23 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DataChangeNotification(' + 'MonitoredItems:' + str(self.MonitoredItems) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return f'DataChangeNotification(MonitoredItems:{self.MonitoredItems}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ class MonitoredItemNotification(FrozenClass): - ''' + """ :ivar ClientHandle: :vartype ClientHandle: UInt32 :ivar Value: :vartype Value: DataValue - ''' + """ ua_types = [ ('ClientHandle', 'UInt32'), ('Value', 'DataValue'), - ] + ] def __init__(self): self.ClientHandle = 0 @@ -7913,44 +8210,43 @@ def __init__(self): self._freeze = True def __str__(self): - return 'MonitoredItemNotification(' + 'ClientHandle:' + str(self.ClientHandle) + ', ' + \ - 'Value:' + str(self.Value) + ')' + return f'MonitoredItemNotification(ClientHandle:{self.ClientHandle}, Value:{self.Value})' __repr__ = __str__ class EventNotificationList(FrozenClass): - ''' + """ :ivar Events: :vartype Events: EventFieldList - ''' + """ ua_types = [ ('Events', 'ListOfEventFieldList'), - ] + ] def __init__(self): self.Events = [] self._freeze = True def __str__(self): - return 'EventNotificationList(' + 'Events:' + str(self.Events) + ')' + return f'EventNotificationList(Events:{self.Events})' __repr__ = __str__ class EventFieldList(FrozenClass): - ''' + """ :ivar ClientHandle: :vartype ClientHandle: UInt32 :ivar EventFields: :vartype EventFields: Variant - ''' + """ ua_types = [ ('ClientHandle', 'UInt32'), ('EventFields', 'ListOfVariant'), - ] + ] def __init__(self): self.ClientHandle = 0 @@ -7958,44 +8254,43 @@ def __init__(self): self._freeze = True def __str__(self): - return 'EventFieldList(' + 'ClientHandle:' + str(self.ClientHandle) + ', ' + \ - 'EventFields:' + str(self.EventFields) + ')' + return f'EventFieldList(ClientHandle:{self.ClientHandle}, EventFields:{self.EventFields})' __repr__ = __str__ class HistoryEventFieldList(FrozenClass): - ''' + """ :ivar EventFields: :vartype EventFields: Variant - ''' + """ ua_types = [ ('EventFields', 'ListOfVariant'), - ] + ] def __init__(self): self.EventFields = [] self._freeze = True def __str__(self): - return 'HistoryEventFieldList(' + 'EventFields:' + str(self.EventFields) + ')' + return f'HistoryEventFieldList(EventFields:{self.EventFields})' __repr__ = __str__ class StatusChangeNotification(FrozenClass): - ''' + """ :ivar Status: :vartype Status: StatusCode :ivar DiagnosticInfo: :vartype DiagnosticInfo: DiagnosticInfo - ''' + """ ua_types = [ ('Status', 'StatusCode'), ('DiagnosticInfo', 'DiagnosticInfo'), - ] + ] def __init__(self): self.Status = StatusCode() @@ -8003,24 +8298,23 @@ def __init__(self): self._freeze = True def __str__(self): - return 'StatusChangeNotification(' + 'Status:' + str(self.Status) + ', ' + \ - 'DiagnosticInfo:' + str(self.DiagnosticInfo) + ')' + return f'StatusChangeNotification(Status:{self.Status}, DiagnosticInfo:{self.DiagnosticInfo})' __repr__ = __str__ class SubscriptionAcknowledgement(FrozenClass): - ''' + """ :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar SequenceNumber: :vartype SequenceNumber: UInt32 - ''' + """ ua_types = [ ('SubscriptionId', 'UInt32'), ('SequenceNumber', 'UInt32'), - ] + ] def __init__(self): self.SubscriptionId = 0 @@ -8028,47 +8322,49 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SubscriptionAcknowledgement(' + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ - 'SequenceNumber:' + str(self.SequenceNumber) + ')' + return ', '.join(( + f'SubscriptionAcknowledgement(SubscriptionId:{self.SubscriptionId}', + f'SequenceNumber:{self.SequenceNumber})' + )) __repr__ = __str__ class PublishParameters(FrozenClass): - ''' + """ :ivar SubscriptionAcknowledgements: :vartype SubscriptionAcknowledgements: SubscriptionAcknowledgement - ''' + """ ua_types = [ ('SubscriptionAcknowledgements', 'ListOfSubscriptionAcknowledgement'), - ] + ] def __init__(self): self.SubscriptionAcknowledgements = [] self._freeze = True def __str__(self): - return 'PublishParameters(' + 'SubscriptionAcknowledgements:' + str(self.SubscriptionAcknowledgements) + ')' + return f'PublishParameters(SubscriptionAcknowledgements:{self.SubscriptionAcknowledgements})' __repr__ = __str__ class PublishRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: PublishParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'PublishParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.PublishRequest_Encoding_DefaultBinary) @@ -8077,15 +8373,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'PublishRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'PublishRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class PublishResult(FrozenClass): - ''' + """ :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar AvailableSequenceNumbers: @@ -8098,7 +8396,7 @@ class PublishResult(FrozenClass): :vartype Results: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('SubscriptionId', 'UInt32'), @@ -8107,7 +8405,7 @@ class PublishResult(FrozenClass): ('NotificationMessage', 'NotificationMessage'), ('Results', 'ListOfStatusCode'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.SubscriptionId = 0 @@ -8119,31 +8417,33 @@ def __init__(self): self._freeze = True def __str__(self): - return 'PublishResult(' + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ - 'AvailableSequenceNumbers:' + str(self.AvailableSequenceNumbers) + ', ' + \ - 'MoreNotifications:' + str(self.MoreNotifications) + ', ' + \ - 'NotificationMessage:' + str(self.NotificationMessage) + ', ' + \ - 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return ', '.join(( + f'PublishResult(SubscriptionId:{self.SubscriptionId}', + f'AvailableSequenceNumbers:{self.AvailableSequenceNumbers}', + f'MoreNotifications:{self.MoreNotifications}', + f'NotificationMessage:{self.NotificationMessage}', + f'Results:{self.Results}', + f'DiagnosticInfos:{self.DiagnosticInfos})' + )) __repr__ = __str__ class PublishResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: PublishResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'PublishResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.PublishResponse_Encoding_DefaultBinary) @@ -8152,25 +8452,27 @@ def __init__(self): self._freeze = True def __str__(self): - return 'PublishResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'PublishResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class RepublishParameters(FrozenClass): - ''' + """ :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar RetransmitSequenceNumber: :vartype RetransmitSequenceNumber: UInt32 - ''' + """ ua_types = [ ('SubscriptionId', 'UInt32'), ('RetransmitSequenceNumber', 'UInt32'), - ] + ] def __init__(self): self.SubscriptionId = 0 @@ -8178,27 +8480,29 @@ def __init__(self): self._freeze = True def __str__(self): - return 'RepublishParameters(' + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ - 'RetransmitSequenceNumber:' + str(self.RetransmitSequenceNumber) + ')' + return ', '.join(( + f'RepublishParameters(SubscriptionId:{self.SubscriptionId}', + f'RetransmitSequenceNumber:{self.RetransmitSequenceNumber})' + )) __repr__ = __str__ class RepublishRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: RepublishParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'RepublishParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.RepublishRequest_Encoding_DefaultBinary) @@ -8207,28 +8511,30 @@ def __init__(self): self._freeze = True def __str__(self): - return 'RepublishRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'RepublishRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class RepublishResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar NotificationMessage: :vartype NotificationMessage: NotificationMessage - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('NotificationMessage', 'NotificationMessage'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.RepublishResponse_Encoding_DefaultBinary) @@ -8237,25 +8543,27 @@ def __init__(self): self._freeze = True def __str__(self): - return 'RepublishResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'NotificationMessage:' + str(self.NotificationMessage) + ')' + return ', '.join(( + f'RepublishResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'NotificationMessage:{self.NotificationMessage})' + )) __repr__ = __str__ class TransferResult(FrozenClass): - ''' + """ :ivar StatusCode: :vartype StatusCode: StatusCode :ivar AvailableSequenceNumbers: :vartype AvailableSequenceNumbers: UInt32 - ''' + """ ua_types = [ ('StatusCode', 'StatusCode'), ('AvailableSequenceNumbers', 'ListOfUInt32'), - ] + ] def __init__(self): self.StatusCode = StatusCode() @@ -8263,24 +8571,26 @@ def __init__(self): self._freeze = True def __str__(self): - return 'TransferResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ - 'AvailableSequenceNumbers:' + str(self.AvailableSequenceNumbers) + ')' + return ', '.join(( + f'TransferResult(StatusCode:{self.StatusCode}', + f'AvailableSequenceNumbers:{self.AvailableSequenceNumbers})' + )) __repr__ = __str__ class TransferSubscriptionsParameters(FrozenClass): - ''' + """ :ivar SubscriptionIds: :vartype SubscriptionIds: UInt32 :ivar SendInitialValues: :vartype SendInitialValues: Boolean - ''' + """ ua_types = [ ('SubscriptionIds', 'ListOfUInt32'), ('SendInitialValues', 'Boolean'), - ] + ] def __init__(self): self.SubscriptionIds = [] @@ -8288,27 +8598,29 @@ def __init__(self): self._freeze = True def __str__(self): - return 'TransferSubscriptionsParameters(' + 'SubscriptionIds:' + str(self.SubscriptionIds) + ', ' + \ - 'SendInitialValues:' + str(self.SendInitialValues) + ')' + return ', '.join(( + f'TransferSubscriptionsParameters(SubscriptionIds:{self.SubscriptionIds}', + f'SendInitialValues:{self.SendInitialValues})' + )) __repr__ = __str__ class TransferSubscriptionsRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: TransferSubscriptionsParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'TransferSubscriptionsParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.TransferSubscriptionsRequest_Encoding_DefaultBinary) @@ -8317,25 +8629,27 @@ def __init__(self): self._freeze = True def __str__(self): - return 'TransferSubscriptionsRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'TransferSubscriptionsRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class TransferSubscriptionsResult(FrozenClass): - ''' + """ :ivar Results: :vartype Results: TransferResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('Results', 'ListOfTransferResult'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.Results = [] @@ -8343,27 +8657,26 @@ def __init__(self): self._freeze = True def __str__(self): - return 'TransferSubscriptionsResult(' + 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return f'TransferSubscriptionsResult(Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ class TransferSubscriptionsResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: TransferSubscriptionsResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'TransferSubscriptionsResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.TransferSubscriptionsResponse_Encoding_DefaultBinary) @@ -8372,48 +8685,50 @@ def __init__(self): self._freeze = True def __str__(self): - return 'TransferSubscriptionsResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'TransferSubscriptionsResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class DeleteSubscriptionsParameters(FrozenClass): - ''' + """ :ivar SubscriptionIds: :vartype SubscriptionIds: UInt32 - ''' + """ ua_types = [ ('SubscriptionIds', 'ListOfUInt32'), - ] + ] def __init__(self): self.SubscriptionIds = [] self._freeze = True def __str__(self): - return 'DeleteSubscriptionsParameters(' + 'SubscriptionIds:' + str(self.SubscriptionIds) + ')' + return f'DeleteSubscriptionsParameters(SubscriptionIds:{self.SubscriptionIds})' __repr__ = __str__ class DeleteSubscriptionsRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: DeleteSubscriptionsParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'DeleteSubscriptionsParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.DeleteSubscriptionsRequest_Encoding_DefaultBinary) @@ -8422,15 +8737,17 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DeleteSubscriptionsRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return ', '.join(( + f'DeleteSubscriptionsRequest(TypeId:{self.TypeId}', + f'RequestHeader:{self.RequestHeader}', + f'Parameters:{self.Parameters})' + )) __repr__ = __str__ class DeleteSubscriptionsResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: @@ -8439,14 +8756,14 @@ class DeleteSubscriptionsResponse(FrozenClass): :vartype Results: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfStatusCode'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.DeleteSubscriptionsResponse_Encoding_DefaultBinary) @@ -8456,16 +8773,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DeleteSubscriptionsResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return ', '.join(( + f'DeleteSubscriptionsResponse(TypeId:{self.TypeId}', + f'ResponseHeader:{self.ResponseHeader}', + f'Results:{self.Results}', + f'DiagnosticInfos:{self.DiagnosticInfos})' + )) __repr__ = __str__ class BuildInfo(FrozenClass): - ''' + """ :ivar ProductUri: :vartype ProductUri: String :ivar ManufacturerName: @@ -8478,7 +8797,7 @@ class BuildInfo(FrozenClass): :vartype BuildNumber: String :ivar BuildDate: :vartype BuildDate: DateTime - ''' + """ ua_types = [ ('ProductUri', 'String'), @@ -8487,7 +8806,7 @@ class BuildInfo(FrozenClass): ('SoftwareVersion', 'String'), ('BuildNumber', 'String'), ('BuildDate', 'DateTime'), - ] + ] def __init__(self): self.ProductUri = None @@ -8499,31 +8818,33 @@ def __init__(self): self._freeze = True def __str__(self): - return 'BuildInfo(' + 'ProductUri:' + str(self.ProductUri) + ', ' + \ - 'ManufacturerName:' + str(self.ManufacturerName) + ', ' + \ - 'ProductName:' + str(self.ProductName) + ', ' + \ - 'SoftwareVersion:' + str(self.SoftwareVersion) + ', ' + \ - 'BuildNumber:' + str(self.BuildNumber) + ', ' + \ - 'BuildDate:' + str(self.BuildDate) + ')' + return ', '.join(( + f'BuildInfo(ProductUri:{self.ProductUri}', + f'ManufacturerName:{self.ManufacturerName}', + f'ProductName:{self.ProductName}', + f'SoftwareVersion:{self.SoftwareVersion}', + f'BuildNumber:{self.BuildNumber}', + f'BuildDate:{self.BuildDate})' + )) __repr__ = __str__ class RedundantServerDataType(FrozenClass): - ''' + """ :ivar ServerId: :vartype ServerId: String :ivar ServiceLevel: :vartype ServiceLevel: Byte :ivar ServerState: :vartype ServerState: ServerState - ''' + """ ua_types = [ ('ServerId', 'String'), ('ServiceLevel', 'Byte'), ('ServerState', 'ServerState'), - ] + ] def __init__(self): self.ServerId = None @@ -8532,45 +8853,47 @@ def __init__(self): self._freeze = True def __str__(self): - return 'RedundantServerDataType(' + 'ServerId:' + str(self.ServerId) + ', ' + \ - 'ServiceLevel:' + str(self.ServiceLevel) + ', ' + \ - 'ServerState:' + str(self.ServerState) + ')' + return ', '.join(( + f'RedundantServerDataType(ServerId:{self.ServerId}', + f'ServiceLevel:{self.ServiceLevel}', + f'ServerState:{self.ServerState})' + )) __repr__ = __str__ class EndpointUrlListDataType(FrozenClass): - ''' + """ :ivar EndpointUrlList: :vartype EndpointUrlList: String - ''' + """ ua_types = [ ('EndpointUrlList', 'ListOfString'), - ] + ] def __init__(self): self.EndpointUrlList = [] self._freeze = True def __str__(self): - return 'EndpointUrlListDataType(' + 'EndpointUrlList:' + str(self.EndpointUrlList) + ')' + return f'EndpointUrlListDataType(EndpointUrlList:{self.EndpointUrlList})' __repr__ = __str__ class NetworkGroupDataType(FrozenClass): - ''' + """ :ivar ServerUri: :vartype ServerUri: String :ivar NetworkPaths: :vartype NetworkPaths: EndpointUrlListDataType - ''' + """ ua_types = [ ('ServerUri', 'String'), ('NetworkPaths', 'ListOfEndpointUrlListDataType'), - ] + ] def __init__(self): self.ServerUri = None @@ -8578,14 +8901,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'NetworkGroupDataType(' + 'ServerUri:' + str(self.ServerUri) + ', ' + \ - 'NetworkPaths:' + str(self.NetworkPaths) + ')' + return f'NetworkGroupDataType(ServerUri:{self.ServerUri}, NetworkPaths:{self.NetworkPaths})' __repr__ = __str__ class SamplingIntervalDiagnosticsDataType(FrozenClass): - ''' + """ :ivar SamplingInterval: :vartype SamplingInterval: Double :ivar MonitoredItemCount: @@ -8594,14 +8916,14 @@ class SamplingIntervalDiagnosticsDataType(FrozenClass): :vartype MaxMonitoredItemCount: UInt32 :ivar DisabledMonitoredItemCount: :vartype DisabledMonitoredItemCount: UInt32 - ''' + """ ua_types = [ ('SamplingInterval', 'Double'), ('MonitoredItemCount', 'UInt32'), ('MaxMonitoredItemCount', 'UInt32'), ('DisabledMonitoredItemCount', 'UInt32'), - ] + ] def __init__(self): self.SamplingInterval = 0 @@ -8611,16 +8933,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SamplingIntervalDiagnosticsDataType(' + 'SamplingInterval:' + str(self.SamplingInterval) + ', ' + \ - 'MonitoredItemCount:' + str(self.MonitoredItemCount) + ', ' + \ - 'MaxMonitoredItemCount:' + str(self.MaxMonitoredItemCount) + ', ' + \ - 'DisabledMonitoredItemCount:' + str(self.DisabledMonitoredItemCount) + ')' + return ', '.join(( + f'SamplingIntervalDiagnosticsDataType(SamplingInterval:{self.SamplingInterval}', + f'MonitoredItemCount:{self.MonitoredItemCount}', + f'MaxMonitoredItemCount:{self.MaxMonitoredItemCount}', + f'DisabledMonitoredItemCount:{self.DisabledMonitoredItemCount})' + )) __repr__ = __str__ class ServerDiagnosticsSummaryDataType(FrozenClass): - ''' + """ :ivar ServerViewCount: :vartype ServerViewCount: UInt32 :ivar CurrentSessionCount: @@ -8645,7 +8969,7 @@ class ServerDiagnosticsSummaryDataType(FrozenClass): :vartype SecurityRejectedRequestsCount: UInt32 :ivar RejectedRequestsCount: :vartype RejectedRequestsCount: UInt32 - ''' + """ ua_types = [ ('ServerViewCount', 'UInt32'), @@ -8660,7 +8984,7 @@ class ServerDiagnosticsSummaryDataType(FrozenClass): ('PublishingIntervalCount', 'UInt32'), ('SecurityRejectedRequestsCount', 'UInt32'), ('RejectedRequestsCount', 'UInt32'), - ] + ] def __init__(self): self.ServerViewCount = 0 @@ -8678,24 +9002,26 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ServerDiagnosticsSummaryDataType(' + 'ServerViewCount:' + str(self.ServerViewCount) + ', ' + \ - 'CurrentSessionCount:' + str(self.CurrentSessionCount) + ', ' + \ - 'CumulatedSessionCount:' + str(self.CumulatedSessionCount) + ', ' + \ - 'SecurityRejectedSessionCount:' + str(self.SecurityRejectedSessionCount) + ', ' + \ - 'RejectedSessionCount:' + str(self.RejectedSessionCount) + ', ' + \ - 'SessionTimeoutCount:' + str(self.SessionTimeoutCount) + ', ' + \ - 'SessionAbortCount:' + str(self.SessionAbortCount) + ', ' + \ - 'CurrentSubscriptionCount:' + str(self.CurrentSubscriptionCount) + ', ' + \ - 'CumulatedSubscriptionCount:' + str(self.CumulatedSubscriptionCount) + ', ' + \ - 'PublishingIntervalCount:' + str(self.PublishingIntervalCount) + ', ' + \ - 'SecurityRejectedRequestsCount:' + str(self.SecurityRejectedRequestsCount) + ', ' + \ - 'RejectedRequestsCount:' + str(self.RejectedRequestsCount) + ')' + return ', '.join(( + f'ServerDiagnosticsSummaryDataType(ServerViewCount:{self.ServerViewCount}', + f'CurrentSessionCount:{self.CurrentSessionCount}', + f'CumulatedSessionCount:{self.CumulatedSessionCount}', + f'SecurityRejectedSessionCount:{self.SecurityRejectedSessionCount}', + f'RejectedSessionCount:{self.RejectedSessionCount}', + f'SessionTimeoutCount:{self.SessionTimeoutCount}', + f'SessionAbortCount:{self.SessionAbortCount}', + f'CurrentSubscriptionCount:{self.CurrentSubscriptionCount}', + f'CumulatedSubscriptionCount:{self.CumulatedSubscriptionCount}', + f'PublishingIntervalCount:{self.PublishingIntervalCount}', + f'SecurityRejectedRequestsCount:{self.SecurityRejectedRequestsCount}', + f'RejectedRequestsCount:{self.RejectedRequestsCount})' + )) __repr__ = __str__ class ServerStatusDataType(FrozenClass): - ''' + """ :ivar StartTime: :vartype StartTime: DateTime :ivar CurrentTime: @@ -8708,7 +9034,7 @@ class ServerStatusDataType(FrozenClass): :vartype SecondsTillShutdown: UInt32 :ivar ShutdownReason: :vartype ShutdownReason: LocalizedText - ''' + """ ua_types = [ ('StartTime', 'DateTime'), @@ -8717,7 +9043,7 @@ class ServerStatusDataType(FrozenClass): ('BuildInfo', 'BuildInfo'), ('SecondsTillShutdown', 'UInt32'), ('ShutdownReason', 'LocalizedText'), - ] + ] def __init__(self): self.StartTime = datetime.utcnow() @@ -8729,18 +9055,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ServerStatusDataType(' + 'StartTime:' + str(self.StartTime) + ', ' + \ - 'CurrentTime:' + str(self.CurrentTime) + ', ' + \ - 'State:' + str(self.State) + ', ' + \ - 'BuildInfo:' + str(self.BuildInfo) + ', ' + \ - 'SecondsTillShutdown:' + str(self.SecondsTillShutdown) + ', ' + \ - 'ShutdownReason:' + str(self.ShutdownReason) + ')' + return ', '.join(( + f'ServerStatusDataType(StartTime:{self.StartTime}', + f'CurrentTime:{self.CurrentTime}', + f'State:{self.State}', + f'BuildInfo:{self.BuildInfo}', + f'SecondsTillShutdown:{self.SecondsTillShutdown}', + f'ShutdownReason:{self.ShutdownReason})' + )) __repr__ = __str__ class SessionDiagnosticsDataType(FrozenClass): - ''' + """ :ivar SessionId: :vartype SessionId: NodeId :ivar SessionName: @@ -8827,7 +9155,7 @@ class SessionDiagnosticsDataType(FrozenClass): :vartype RegisterNodesCount: ServiceCounterDataType :ivar UnregisterNodesCount: :vartype UnregisterNodesCount: ServiceCounterDataType - ''' + """ ua_types = [ ('SessionId', 'NodeId'), @@ -8873,7 +9201,7 @@ class SessionDiagnosticsDataType(FrozenClass): ('QueryNextCount', 'ServiceCounterDataType'), ('RegisterNodesCount', 'ServiceCounterDataType'), ('UnregisterNodesCount', 'ServiceCounterDataType'), - ] + ] def __init__(self): self.SessionId = NodeId() @@ -8922,55 +9250,57 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SessionDiagnosticsDataType(' + 'SessionId:' + str(self.SessionId) + ', ' + \ - 'SessionName:' + str(self.SessionName) + ', ' + \ - 'ClientDescription:' + str(self.ClientDescription) + ', ' + \ - 'ServerUri:' + str(self.ServerUri) + ', ' + \ - 'EndpointUrl:' + str(self.EndpointUrl) + ', ' + \ - 'LocaleIds:' + str(self.LocaleIds) + ', ' + \ - 'ActualSessionTimeout:' + str(self.ActualSessionTimeout) + ', ' + \ - 'MaxResponseMessageSize:' + str(self.MaxResponseMessageSize) + ', ' + \ - 'ClientConnectionTime:' + str(self.ClientConnectionTime) + ', ' + \ - 'ClientLastContactTime:' + str(self.ClientLastContactTime) + ', ' + \ - 'CurrentSubscriptionsCount:' + str(self.CurrentSubscriptionsCount) + ', ' + \ - 'CurrentMonitoredItemsCount:' + str(self.CurrentMonitoredItemsCount) + ', ' + \ - 'CurrentPublishRequestsInQueue:' + str(self.CurrentPublishRequestsInQueue) + ', ' + \ - 'TotalRequestCount:' + str(self.TotalRequestCount) + ', ' + \ - 'UnauthorizedRequestCount:' + str(self.UnauthorizedRequestCount) + ', ' + \ - 'ReadCount:' + str(self.ReadCount) + ', ' + \ - 'HistoryReadCount:' + str(self.HistoryReadCount) + ', ' + \ - 'WriteCount:' + str(self.WriteCount) + ', ' + \ - 'HistoryUpdateCount:' + str(self.HistoryUpdateCount) + ', ' + \ - 'CallCount:' + str(self.CallCount) + ', ' + \ - 'CreateMonitoredItemsCount:' + str(self.CreateMonitoredItemsCount) + ', ' + \ - 'ModifyMonitoredItemsCount:' + str(self.ModifyMonitoredItemsCount) + ', ' + \ - 'SetMonitoringModeCount:' + str(self.SetMonitoringModeCount) + ', ' + \ - 'SetTriggeringCount:' + str(self.SetTriggeringCount) + ', ' + \ - 'DeleteMonitoredItemsCount:' + str(self.DeleteMonitoredItemsCount) + ', ' + \ - 'CreateSubscriptionCount:' + str(self.CreateSubscriptionCount) + ', ' + \ - 'ModifySubscriptionCount:' + str(self.ModifySubscriptionCount) + ', ' + \ - 'SetPublishingModeCount:' + str(self.SetPublishingModeCount) + ', ' + \ - 'PublishCount:' + str(self.PublishCount) + ', ' + \ - 'RepublishCount:' + str(self.RepublishCount) + ', ' + \ - 'TransferSubscriptionsCount:' + str(self.TransferSubscriptionsCount) + ', ' + \ - 'DeleteSubscriptionsCount:' + str(self.DeleteSubscriptionsCount) + ', ' + \ - 'AddNodesCount:' + str(self.AddNodesCount) + ', ' + \ - 'AddReferencesCount:' + str(self.AddReferencesCount) + ', ' + \ - 'DeleteNodesCount:' + str(self.DeleteNodesCount) + ', ' + \ - 'DeleteReferencesCount:' + str(self.DeleteReferencesCount) + ', ' + \ - 'BrowseCount:' + str(self.BrowseCount) + ', ' + \ - 'BrowseNextCount:' + str(self.BrowseNextCount) + ', ' + \ - 'TranslateBrowsePathsToNodeIdsCount:' + str(self.TranslateBrowsePathsToNodeIdsCount) + ', ' + \ - 'QueryFirstCount:' + str(self.QueryFirstCount) + ', ' + \ - 'QueryNextCount:' + str(self.QueryNextCount) + ', ' + \ - 'RegisterNodesCount:' + str(self.RegisterNodesCount) + ', ' + \ - 'UnregisterNodesCount:' + str(self.UnregisterNodesCount) + ')' + return ', '.join(( + f'SessionDiagnosticsDataType(SessionId:{self.SessionId}', + f'SessionName:{self.SessionName}', + f'ClientDescription:{self.ClientDescription}', + f'ServerUri:{self.ServerUri}', + f'EndpointUrl:{self.EndpointUrl}', + f'LocaleIds:{self.LocaleIds}', + f'ActualSessionTimeout:{self.ActualSessionTimeout}', + f'MaxResponseMessageSize:{self.MaxResponseMessageSize}', + f'ClientConnectionTime:{self.ClientConnectionTime}', + f'ClientLastContactTime:{self.ClientLastContactTime}', + f'CurrentSubscriptionsCount:{self.CurrentSubscriptionsCount}', + f'CurrentMonitoredItemsCount:{self.CurrentMonitoredItemsCount}', + f'CurrentPublishRequestsInQueue:{self.CurrentPublishRequestsInQueue}', + f'TotalRequestCount:{self.TotalRequestCount}', + f'UnauthorizedRequestCount:{self.UnauthorizedRequestCount}', + f'ReadCount:{self.ReadCount}', + f'HistoryReadCount:{self.HistoryReadCount}', + f'WriteCount:{self.WriteCount}', + f'HistoryUpdateCount:{self.HistoryUpdateCount}', + f'CallCount:{self.CallCount}', + f'CreateMonitoredItemsCount:{self.CreateMonitoredItemsCount}', + f'ModifyMonitoredItemsCount:{self.ModifyMonitoredItemsCount}', + f'SetMonitoringModeCount:{self.SetMonitoringModeCount}', + f'SetTriggeringCount:{self.SetTriggeringCount}', + f'DeleteMonitoredItemsCount:{self.DeleteMonitoredItemsCount}', + f'CreateSubscriptionCount:{self.CreateSubscriptionCount}', + f'ModifySubscriptionCount:{self.ModifySubscriptionCount}', + f'SetPublishingModeCount:{self.SetPublishingModeCount}', + f'PublishCount:{self.PublishCount}', + f'RepublishCount:{self.RepublishCount}', + f'TransferSubscriptionsCount:{self.TransferSubscriptionsCount}', + f'DeleteSubscriptionsCount:{self.DeleteSubscriptionsCount}', + f'AddNodesCount:{self.AddNodesCount}', + f'AddReferencesCount:{self.AddReferencesCount}', + f'DeleteNodesCount:{self.DeleteNodesCount}', + f'DeleteReferencesCount:{self.DeleteReferencesCount}', + f'BrowseCount:{self.BrowseCount}', + f'BrowseNextCount:{self.BrowseNextCount}', + f'TranslateBrowsePathsToNodeIdsCount:{self.TranslateBrowsePathsToNodeIdsCount}', + f'QueryFirstCount:{self.QueryFirstCount}', + f'QueryNextCount:{self.QueryNextCount}', + f'RegisterNodesCount:{self.RegisterNodesCount}', + f'UnregisterNodesCount:{self.UnregisterNodesCount})' + )) __repr__ = __str__ class SessionSecurityDiagnosticsDataType(FrozenClass): - ''' + """ :ivar SessionId: :vartype SessionId: NodeId :ivar ClientUserIdOfSession: @@ -8989,7 +9319,7 @@ class SessionSecurityDiagnosticsDataType(FrozenClass): :vartype SecurityPolicyUri: String :ivar ClientCertificate: :vartype ClientCertificate: ByteString - ''' + """ ua_types = [ ('SessionId', 'NodeId'), @@ -9001,7 +9331,7 @@ class SessionSecurityDiagnosticsDataType(FrozenClass): ('SecurityMode', 'MessageSecurityMode'), ('SecurityPolicyUri', 'String'), ('ClientCertificate', 'ByteString'), - ] + ] def __init__(self): self.SessionId = NodeId() @@ -9016,31 +9346,33 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SessionSecurityDiagnosticsDataType(' + 'SessionId:' + str(self.SessionId) + ', ' + \ - 'ClientUserIdOfSession:' + str(self.ClientUserIdOfSession) + ', ' + \ - 'ClientUserIdHistory:' + str(self.ClientUserIdHistory) + ', ' + \ - 'AuthenticationMechanism:' + str(self.AuthenticationMechanism) + ', ' + \ - 'Encoding:' + str(self.Encoding) + ', ' + \ - 'TransportProtocol:' + str(self.TransportProtocol) + ', ' + \ - 'SecurityMode:' + str(self.SecurityMode) + ', ' + \ - 'SecurityPolicyUri:' + str(self.SecurityPolicyUri) + ', ' + \ - 'ClientCertificate:' + str(self.ClientCertificate) + ')' + return ', '.join(( + f'SessionSecurityDiagnosticsDataType(SessionId:{self.SessionId}', + f'ClientUserIdOfSession:{self.ClientUserIdOfSession}', + f'ClientUserIdHistory:{self.ClientUserIdHistory}', + f'AuthenticationMechanism:{self.AuthenticationMechanism}', + f'Encoding:{self.Encoding}', + f'TransportProtocol:{self.TransportProtocol}', + f'SecurityMode:{self.SecurityMode}', + f'SecurityPolicyUri:{self.SecurityPolicyUri}', + f'ClientCertificate:{self.ClientCertificate})' + )) __repr__ = __str__ class ServiceCounterDataType(FrozenClass): - ''' + """ :ivar TotalCount: :vartype TotalCount: UInt32 :ivar ErrorCount: :vartype ErrorCount: UInt32 - ''' + """ ua_types = [ ('TotalCount', 'UInt32'), ('ErrorCount', 'UInt32'), - ] + ] def __init__(self): self.TotalCount = 0 @@ -9048,24 +9380,23 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ServiceCounterDataType(' + 'TotalCount:' + str(self.TotalCount) + ', ' + \ - 'ErrorCount:' + str(self.ErrorCount) + ')' + return f'ServiceCounterDataType(TotalCount:{self.TotalCount}, ErrorCount:{self.ErrorCount})' __repr__ = __str__ class StatusResult(FrozenClass): - ''' + """ :ivar StatusCode: :vartype StatusCode: StatusCode :ivar DiagnosticInfo: :vartype DiagnosticInfo: DiagnosticInfo - ''' + """ ua_types = [ ('StatusCode', 'StatusCode'), ('DiagnosticInfo', 'DiagnosticInfo'), - ] + ] def __init__(self): self.StatusCode = StatusCode() @@ -9073,14 +9404,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'StatusResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ - 'DiagnosticInfo:' + str(self.DiagnosticInfo) + ')' + return f'StatusResult(StatusCode:{self.StatusCode}, DiagnosticInfo:{self.DiagnosticInfo})' __repr__ = __str__ class SubscriptionDiagnosticsDataType(FrozenClass): - ''' + """ :ivar SessionId: :vartype SessionId: NodeId :ivar SubscriptionId: @@ -9143,7 +9473,7 @@ class SubscriptionDiagnosticsDataType(FrozenClass): :vartype NextSequenceNumber: UInt32 :ivar EventQueueOverFlowCount: :vartype EventQueueOverFlowCount: UInt32 - ''' + """ ua_types = [ ('SessionId', 'NodeId'), @@ -9177,7 +9507,7 @@ class SubscriptionDiagnosticsDataType(FrozenClass): ('MonitoringQueueOverflowCount', 'UInt32'), ('NextSequenceNumber', 'UInt32'), ('EventQueueOverFlowCount', 'UInt32'), - ] + ] def __init__(self): self.SessionId = NodeId() @@ -9214,56 +9544,58 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SubscriptionDiagnosticsDataType(' + 'SessionId:' + str(self.SessionId) + ', ' + \ - 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ - 'Priority:' + str(self.Priority) + ', ' + \ - 'PublishingInterval:' + str(self.PublishingInterval) + ', ' + \ - 'MaxKeepAliveCount:' + str(self.MaxKeepAliveCount) + ', ' + \ - 'MaxLifetimeCount:' + str(self.MaxLifetimeCount) + ', ' + \ - 'MaxNotificationsPerPublish:' + str(self.MaxNotificationsPerPublish) + ', ' + \ - 'PublishingEnabled:' + str(self.PublishingEnabled) + ', ' + \ - 'ModifyCount:' + str(self.ModifyCount) + ', ' + \ - 'EnableCount:' + str(self.EnableCount) + ', ' + \ - 'DisableCount:' + str(self.DisableCount) + ', ' + \ - 'RepublishRequestCount:' + str(self.RepublishRequestCount) + ', ' + \ - 'RepublishMessageRequestCount:' + str(self.RepublishMessageRequestCount) + ', ' + \ - 'RepublishMessageCount:' + str(self.RepublishMessageCount) + ', ' + \ - 'TransferRequestCount:' + str(self.TransferRequestCount) + ', ' + \ - 'TransferredToAltClientCount:' + str(self.TransferredToAltClientCount) + ', ' + \ - 'TransferredToSameClientCount:' + str(self.TransferredToSameClientCount) + ', ' + \ - 'PublishRequestCount:' + str(self.PublishRequestCount) + ', ' + \ - 'DataChangeNotificationsCount:' + str(self.DataChangeNotificationsCount) + ', ' + \ - 'EventNotificationsCount:' + str(self.EventNotificationsCount) + ', ' + \ - 'NotificationsCount:' + str(self.NotificationsCount) + ', ' + \ - 'LatePublishRequestCount:' + str(self.LatePublishRequestCount) + ', ' + \ - 'CurrentKeepAliveCount:' + str(self.CurrentKeepAliveCount) + ', ' + \ - 'CurrentLifetimeCount:' + str(self.CurrentLifetimeCount) + ', ' + \ - 'UnacknowledgedMessageCount:' + str(self.UnacknowledgedMessageCount) + ', ' + \ - 'DiscardedMessageCount:' + str(self.DiscardedMessageCount) + ', ' + \ - 'MonitoredItemCount:' + str(self.MonitoredItemCount) + ', ' + \ - 'DisabledMonitoredItemCount:' + str(self.DisabledMonitoredItemCount) + ', ' + \ - 'MonitoringQueueOverflowCount:' + str(self.MonitoringQueueOverflowCount) + ', ' + \ - 'NextSequenceNumber:' + str(self.NextSequenceNumber) + ', ' + \ - 'EventQueueOverFlowCount:' + str(self.EventQueueOverFlowCount) + ')' + return ', '.join(( + f'SubscriptionDiagnosticsDataType(SessionId:{self.SessionId}', + f'SubscriptionId:{self.SubscriptionId}', + f'Priority:{self.Priority}', + f'PublishingInterval:{self.PublishingInterval}', + f'MaxKeepAliveCount:{self.MaxKeepAliveCount}', + f'MaxLifetimeCount:{self.MaxLifetimeCount}', + f'MaxNotificationsPerPublish:{self.MaxNotificationsPerPublish}', + f'PublishingEnabled:{self.PublishingEnabled}', + f'ModifyCount:{self.ModifyCount}', + f'EnableCount:{self.EnableCount}', + f'DisableCount:{self.DisableCount}', + f'RepublishRequestCount:{self.RepublishRequestCount}', + f'RepublishMessageRequestCount:{self.RepublishMessageRequestCount}', + f'RepublishMessageCount:{self.RepublishMessageCount}', + f'TransferRequestCount:{self.TransferRequestCount}', + f'TransferredToAltClientCount:{self.TransferredToAltClientCount}', + f'TransferredToSameClientCount:{self.TransferredToSameClientCount}', + f'PublishRequestCount:{self.PublishRequestCount}', + f'DataChangeNotificationsCount:{self.DataChangeNotificationsCount}', + f'EventNotificationsCount:{self.EventNotificationsCount}', + f'NotificationsCount:{self.NotificationsCount}', + f'LatePublishRequestCount:{self.LatePublishRequestCount}', + f'CurrentKeepAliveCount:{self.CurrentKeepAliveCount}', + f'CurrentLifetimeCount:{self.CurrentLifetimeCount}', + f'UnacknowledgedMessageCount:{self.UnacknowledgedMessageCount}', + f'DiscardedMessageCount:{self.DiscardedMessageCount}', + f'MonitoredItemCount:{self.MonitoredItemCount}', + f'DisabledMonitoredItemCount:{self.DisabledMonitoredItemCount}', + f'MonitoringQueueOverflowCount:{self.MonitoringQueueOverflowCount}', + f'NextSequenceNumber:{self.NextSequenceNumber}', + f'EventQueueOverFlowCount:{self.EventQueueOverFlowCount})' + )) __repr__ = __str__ class ModelChangeStructureDataType(FrozenClass): - ''' + """ :ivar Affected: :vartype Affected: NodeId :ivar AffectedType: :vartype AffectedType: NodeId :ivar Verb: :vartype Verb: Byte - ''' + """ ua_types = [ ('Affected', 'NodeId'), ('AffectedType', 'NodeId'), ('Verb', 'Byte'), - ] + ] def __init__(self): self.Affected = NodeId() @@ -9272,25 +9604,27 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ModelChangeStructureDataType(' + 'Affected:' + str(self.Affected) + ', ' + \ - 'AffectedType:' + str(self.AffectedType) + ', ' + \ - 'Verb:' + str(self.Verb) + ')' + return ', '.join(( + f'ModelChangeStructureDataType(Affected:{self.Affected}', + f'AffectedType:{self.AffectedType}', + f'Verb:{self.Verb})' + )) __repr__ = __str__ class SemanticChangeStructureDataType(FrozenClass): - ''' + """ :ivar Affected: :vartype Affected: NodeId :ivar AffectedType: :vartype AffectedType: NodeId - ''' + """ ua_types = [ ('Affected', 'NodeId'), ('AffectedType', 'NodeId'), - ] + ] def __init__(self): self.Affected = NodeId() @@ -9298,24 +9632,23 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SemanticChangeStructureDataType(' + 'Affected:' + str(self.Affected) + ', ' + \ - 'AffectedType:' + str(self.AffectedType) + ')' + return f'SemanticChangeStructureDataType(Affected:{self.Affected}, AffectedType:{self.AffectedType})' __repr__ = __str__ class Range(FrozenClass): - ''' + """ :ivar Low: :vartype Low: Double :ivar High: :vartype High: Double - ''' + """ ua_types = [ ('Low', 'Double'), ('High', 'Double'), - ] + ] def __init__(self): self.Low = 0 @@ -9323,14 +9656,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'Range(' + 'Low:' + str(self.Low) + ', ' + \ - 'High:' + str(self.High) + ')' + return f'Range(Low:{self.Low}, High:{self.High})' __repr__ = __str__ class EUInformation(FrozenClass): - ''' + """ :ivar NamespaceUri: :vartype NamespaceUri: String :ivar UnitId: @@ -9339,14 +9671,14 @@ class EUInformation(FrozenClass): :vartype DisplayName: LocalizedText :ivar Description: :vartype Description: LocalizedText - ''' + """ ua_types = [ ('NamespaceUri', 'String'), ('UnitId', 'Int32'), ('DisplayName', 'LocalizedText'), ('Description', 'LocalizedText'), - ] + ] def __init__(self): self.NamespaceUri = None @@ -9356,26 +9688,28 @@ def __init__(self): self._freeze = True def __str__(self): - return 'EUInformation(' + 'NamespaceUri:' + str(self.NamespaceUri) + ', ' + \ - 'UnitId:' + str(self.UnitId) + ', ' + \ - 'DisplayName:' + str(self.DisplayName) + ', ' + \ - 'Description:' + str(self.Description) + ')' + return ', '.join(( + f'EUInformation(NamespaceUri:{self.NamespaceUri}', + f'UnitId:{self.UnitId}', + f'DisplayName:{self.DisplayName}', + f'Description:{self.Description})' + )) __repr__ = __str__ class ComplexNumberType(FrozenClass): - ''' + """ :ivar Real: :vartype Real: Float :ivar Imaginary: :vartype Imaginary: Float - ''' + """ ua_types = [ ('Real', 'Float'), ('Imaginary', 'Float'), - ] + ] def __init__(self): self.Real = 0 @@ -9383,24 +9717,23 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ComplexNumberType(' + 'Real:' + str(self.Real) + ', ' + \ - 'Imaginary:' + str(self.Imaginary) + ')' + return f'ComplexNumberType(Real:{self.Real}, Imaginary:{self.Imaginary})' __repr__ = __str__ class DoubleComplexNumberType(FrozenClass): - ''' + """ :ivar Real: :vartype Real: Double :ivar Imaginary: :vartype Imaginary: Double - ''' + """ ua_types = [ ('Real', 'Double'), ('Imaginary', 'Double'), - ] + ] def __init__(self): self.Real = 0 @@ -9408,14 +9741,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DoubleComplexNumberType(' + 'Real:' + str(self.Real) + ', ' + \ - 'Imaginary:' + str(self.Imaginary) + ')' + return f'DoubleComplexNumberType(Real:{self.Real}, Imaginary:{self.Imaginary})' __repr__ = __str__ class AxisInformation(FrozenClass): - ''' + """ :ivar EngineeringUnits: :vartype EngineeringUnits: EUInformation :ivar EURange: @@ -9426,7 +9758,7 @@ class AxisInformation(FrozenClass): :vartype AxisScaleType: AxisScaleEnumeration :ivar AxisSteps: :vartype AxisSteps: Double - ''' + """ ua_types = [ ('EngineeringUnits', 'EUInformation'), @@ -9434,7 +9766,7 @@ class AxisInformation(FrozenClass): ('Title', 'LocalizedText'), ('AxisScaleType', 'AxisScaleEnumeration'), ('AxisSteps', 'ListOfDouble'), - ] + ] def __init__(self): self.EngineeringUnits = EUInformation() @@ -9445,27 +9777,29 @@ def __init__(self): self._freeze = True def __str__(self): - return 'AxisInformation(' + 'EngineeringUnits:' + str(self.EngineeringUnits) + ', ' + \ - 'EURange:' + str(self.EURange) + ', ' + \ - 'Title:' + str(self.Title) + ', ' + \ - 'AxisScaleType:' + str(self.AxisScaleType) + ', ' + \ - 'AxisSteps:' + str(self.AxisSteps) + ')' + return ', '.join(( + f'AxisInformation(EngineeringUnits:{self.EngineeringUnits}', + f'EURange:{self.EURange}', + f'Title:{self.Title}', + f'AxisScaleType:{self.AxisScaleType}', + f'AxisSteps:{self.AxisSteps})' + )) __repr__ = __str__ class XVType(FrozenClass): - ''' + """ :ivar X: :vartype X: Double :ivar Value: :vartype Value: Float - ''' + """ ua_types = [ ('X', 'Double'), ('Value', 'Float'), - ] + ] def __init__(self): self.X = 0 @@ -9473,14 +9807,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'XVType(' + 'X:' + str(self.X) + ', ' + \ - 'Value:' + str(self.Value) + ')' + return f'XVType(X:{self.X}, Value:{self.Value})' __repr__ = __str__ class ProgramDiagnosticDataType(FrozenClass): - ''' + """ :ivar CreateSessionId: :vartype CreateSessionId: NodeId :ivar CreateClientName: @@ -9501,7 +9834,7 @@ class ProgramDiagnosticDataType(FrozenClass): :vartype LastMethodCallTime: DateTime :ivar LastMethodReturnStatus: :vartype LastMethodReturnStatus: StatusResult - ''' + """ ua_types = [ ('CreateSessionId', 'NodeId'), @@ -9514,7 +9847,7 @@ class ProgramDiagnosticDataType(FrozenClass): ('LastMethodOutputArguments', 'ListOfArgument'), ('LastMethodCallTime', 'DateTime'), ('LastMethodReturnStatus', 'StatusResult'), - ] + ] def __init__(self): self.CreateSessionId = NodeId() @@ -9530,35 +9863,37 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ProgramDiagnosticDataType(' + 'CreateSessionId:' + str(self.CreateSessionId) + ', ' + \ - 'CreateClientName:' + str(self.CreateClientName) + ', ' + \ - 'InvocationCreationTime:' + str(self.InvocationCreationTime) + ', ' + \ - 'LastTransitionTime:' + str(self.LastTransitionTime) + ', ' + \ - 'LastMethodCall:' + str(self.LastMethodCall) + ', ' + \ - 'LastMethodSessionId:' + str(self.LastMethodSessionId) + ', ' + \ - 'LastMethodInputArguments:' + str(self.LastMethodInputArguments) + ', ' + \ - 'LastMethodOutputArguments:' + str(self.LastMethodOutputArguments) + ', ' + \ - 'LastMethodCallTime:' + str(self.LastMethodCallTime) + ', ' + \ - 'LastMethodReturnStatus:' + str(self.LastMethodReturnStatus) + ')' + return ', '.join(( + f'ProgramDiagnosticDataType(CreateSessionId:{self.CreateSessionId}', + f'CreateClientName:{self.CreateClientName}', + f'InvocationCreationTime:{self.InvocationCreationTime}', + f'LastTransitionTime:{self.LastTransitionTime}', + f'LastMethodCall:{self.LastMethodCall}', + f'LastMethodSessionId:{self.LastMethodSessionId}', + f'LastMethodInputArguments:{self.LastMethodInputArguments}', + f'LastMethodOutputArguments:{self.LastMethodOutputArguments}', + f'LastMethodCallTime:{self.LastMethodCallTime}', + f'LastMethodReturnStatus:{self.LastMethodReturnStatus})' + )) __repr__ = __str__ class Annotation(FrozenClass): - ''' + """ :ivar Message: :vartype Message: String :ivar UserName: :vartype UserName: String :ivar AnnotationTime: :vartype AnnotationTime: DateTime - ''' + """ ua_types = [ ('Message', 'String'), ('UserName', 'String'), ('AnnotationTime', 'DateTime'), - ] + ] def __init__(self): self.Message = None @@ -9567,9 +9902,11 @@ def __init__(self): self._freeze = True def __str__(self): - return 'Annotation(' + 'Message:' + str(self.Message) + ', ' + \ - 'UserName:' + str(self.UserName) + ', ' + \ - 'AnnotationTime:' + str(self.AnnotationTime) + ')' + return ', '.join(( + f'Annotation(Message:{self.Message}', + f'UserName:{self.UserName}', + f'AnnotationTime:{self.AnnotationTime})' + )) __repr__ = __str__ From 63456b2739cc33ba21cf8b4753ea0c68b84c34c6 Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Sun, 25 Mar 2018 09:18:10 +0200 Subject: [PATCH 036/113] [ADD] refactor auto protocol generation --- examples/client-minimal-auth.py | 11 +- examples/client-minimal.py | 34 +- opcua/ua/uaprotocol_auto.py | 1934 +++++++-------------------- schemas/generate_protocol_python.py | 139 +- 4 files changed, 561 insertions(+), 1557 deletions(-) diff --git a/examples/client-minimal-auth.py b/examples/client-minimal-auth.py index 934fe0acb..55b00a667 100644 --- a/examples/client-minimal-auth.py +++ b/examples/client-minimal-auth.py @@ -7,7 +7,7 @@ _logger = logging.getLogger('opcua') -async def _browse_nodes(node: Node): +async def browse_nodes(node: Node): """ Build a nested node tree dict by recursion (filtered by OPC UA objects and variables). """ @@ -16,7 +16,7 @@ async def _browse_nodes(node: Node): for child in await node.get_children(): if await child.get_node_class() in [ua.NodeClass.Object, ua.NodeClass.Variable]: children.append( - await _browse_nodes(child) + await browse_nodes(child) ) if node_class != ua.NodeClass.Variable: var_type = None @@ -35,11 +35,6 @@ async def _browse_nodes(node: Node): } -async def create_node_tree(client): - """coroutine""" - return await _browse_nodes(client.get_objects_node()) - - async def task(loop): url = "opc.tcp://192.168.2.213:4840" # url = "opc.tcp://localhost:4840/freeopcua/server/" @@ -56,7 +51,7 @@ async def task(loop): # Node objects have methods to read and write node attributes as well as browse or populate address space _logger.info("Children of root are: %r", await root.get_children()) - tree = await create_node_tree(client) + tree = await browse_nodes(client.get_objects_node()) _logger.info('Node tree: %r', tree) except Exception: _logger.exception('error') diff --git a/examples/client-minimal.py b/examples/client-minimal.py index 18c745f51..d1271e6f9 100644 --- a/examples/client-minimal.py +++ b/examples/client-minimal.py @@ -2,12 +2,40 @@ import asyncio import logging -from opcua import Client +from opcua import Client, Node, ua logging.basicConfig(level=logging.INFO) _logger = logging.getLogger('opcua') +async def browse_nodes(node: Node): + """ + Build a nested node tree dict by recursion (filtered by OPC UA objects and variables). + """ + node_class = await node.get_node_class() + children = [] + for child in await node.get_children(): + if await child.get_node_class() in [ua.NodeClass.Object, ua.NodeClass.Variable]: + children.append( + await browse_nodes(child) + ) + if node_class != ua.NodeClass.Variable: + var_type = None + else: + try: + var_type = (await node.get_data_type_as_variant_type()).value + except ua.UaError: + _logger.warning('Node Variable Type coudl not be determined for %r', node) + var_type = None + return { + 'id': node.nodeid.to_string(), + 'name': (await node.get_display_name()).Text, + 'cls': node_class.value, + 'children': children, + 'type': var_type, + } + + async def task(loop): # url = 'opc.tcp://192.168.2.213:4840' # url = 'opc.tcp://localhost:4840/freeopcua/server/' @@ -31,8 +59,8 @@ async def task(loop): # var.set_value(3.9) # set node value using implicit data type # Now getting a variable node using its browse path - myvar = await root.get_child(['0:Objects', '2:MyObject', '2:MyVariable']) - _logger.info('myvar is: %r', myvar) + tree = await browse_nodes(client.get_objects_node()) + _logger.info('Node tree: %r', tree) except Exception: _logger.exception('error') diff --git a/opcua/ua/uaprotocol_auto.py b/opcua/ua/uaprotocol_auto.py index 78e5b6a86..ea5d04309 100644 --- a/opcua/ua/uaprotocol_auto.py +++ b/opcua/ua/uaprotocol_auto.py @@ -742,7 +742,7 @@ class DiagnosticInfo(FrozenClass): 'AdditionalInfo': ('Encoding', 4), 'InnerStatusCode': ('Encoding', 5), 'InnerDiagnosticInfo': ('Encoding', 6), - } + } ua_types = [ ('Encoding', 'Byte'), ('SymbolicId', 'Int32'), @@ -752,7 +752,7 @@ class DiagnosticInfo(FrozenClass): ('AdditionalInfo', 'String'), ('InnerStatusCode', 'StatusCode'), ('InnerDiagnosticInfo', 'DiagnosticInfo'), - ] + ] def __init__(self): self.Encoding = 0 @@ -766,16 +766,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'DiagnosticInfo(Encoding:{self.Encoding}', - f'SymbolicId:{self.SymbolicId}', - f'NamespaceURI:{self.NamespaceURI}', - f'Locale:{self.Locale}', - f'LocalizedText:{self.LocalizedText}', - f'AdditionalInfo:{self.AdditionalInfo}', - f'InnerStatusCode:{self.InnerStatusCode}', - f'InnerDiagnosticInfo:{self.InnerDiagnosticInfo})' - )) + return f'DiagnosticInfo(Encoding:{self.Encoding}, SymbolicId:{self.SymbolicId}, NamespaceURI:{self.NamespaceURI}, Locale:{self.Locale}, LocalizedText:{self.LocalizedText}, AdditionalInfo:{self.AdditionalInfo}, InnerStatusCode:{self.InnerStatusCode}, InnerDiagnosticInfo:{self.InnerDiagnosticInfo})' __repr__ = __str__ @@ -800,7 +791,7 @@ class TrustListDataType(FrozenClass): ('TrustedCrls', 'ListOfByteString'), ('IssuerCertificates', 'ListOfByteString'), ('IssuerCrls', 'ListOfByteString'), - ] + ] def __init__(self): self.SpecifiedLists = 0 @@ -811,13 +802,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'TrustListDataType(SpecifiedLists:{self.SpecifiedLists}', - f'TrustedCertificates:{self.TrustedCertificates}', - f'TrustedCrls:{self.TrustedCrls}', - f'IssuerCertificates:{self.IssuerCertificates}', - f'IssuerCrls:{self.IssuerCrls})' - )) + return f'TrustListDataType(SpecifiedLists:{self.SpecifiedLists}, TrustedCertificates:{self.TrustedCertificates}, TrustedCrls:{self.TrustedCrls}, IssuerCertificates:{self.IssuerCertificates}, IssuerCrls:{self.IssuerCrls})' __repr__ = __str__ @@ -844,7 +829,7 @@ class Argument(FrozenClass): ('ValueRank', 'Int32'), ('ArrayDimensions', 'ListOfUInt32'), ('Description', 'LocalizedText'), - ] + ] def __init__(self): self.Name = None @@ -855,13 +840,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'Argument(Name:{self.Name}', - f'DataType:{self.DataType}', - f'ValueRank:{self.ValueRank}', - f'ArrayDimensions:{self.ArrayDimensions}', - f'Description:{self.Description})' - )) + return f'Argument(Name:{self.Name}, DataType:{self.DataType}, ValueRank:{self.ValueRank}, ArrayDimensions:{self.ArrayDimensions}, Description:{self.Description})' __repr__ = __str__ @@ -882,7 +861,7 @@ class EnumValueType(FrozenClass): ('Value', 'Int64'), ('DisplayName', 'LocalizedText'), ('Description', 'LocalizedText'), - ] + ] def __init__(self): self.Value = 0 @@ -891,11 +870,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'EnumValueType(Value:{self.Value}', - f'DisplayName:{self.DisplayName}', - f'Description:{self.Description})' - )) + return f'EnumValueType(Value:{self.Value}, DisplayName:{self.DisplayName}, Description:{self.Description})' __repr__ = __str__ @@ -913,7 +888,7 @@ class OptionSet(FrozenClass): ua_types = [ ('Value', 'ByteString'), ('ValidBits', 'ByteString'), - ] + ] def __init__(self): self.Value = None @@ -933,7 +908,7 @@ class Union(FrozenClass): """ ua_types = [ - ] + ] def __init__(self): self._freeze = True @@ -955,7 +930,7 @@ class TimeZoneDataType(FrozenClass): ua_types = [ ('Offset', 'Int16'), ('DaylightSavingInOffset', 'Boolean'), - ] + ] def __init__(self): self.Offset = 0 @@ -996,7 +971,7 @@ class ApplicationDescription(FrozenClass): ('GatewayServerUri', 'String'), ('DiscoveryProfileUri', 'String'), ('DiscoveryUrls', 'ListOfString'), - ] + ] def __init__(self): self.ApplicationUri = None @@ -1009,15 +984,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ApplicationDescription(ApplicationUri:{self.ApplicationUri}', - f'ProductUri:{self.ProductUri}', - f'ApplicationName:{self.ApplicationName}', - f'ApplicationType:{self.ApplicationType}', - f'GatewayServerUri:{self.GatewayServerUri}', - f'DiscoveryProfileUri:{self.DiscoveryProfileUri}', - f'DiscoveryUrls:{self.DiscoveryUrls})' - )) + return f'ApplicationDescription(ApplicationUri:{self.ApplicationUri}, ProductUri:{self.ProductUri}, ApplicationName:{self.ApplicationName}, ApplicationType:{self.ApplicationType}, GatewayServerUri:{self.GatewayServerUri}, DiscoveryProfileUri:{self.DiscoveryProfileUri}, DiscoveryUrls:{self.DiscoveryUrls})' __repr__ = __str__ @@ -1050,7 +1017,7 @@ class RequestHeader(FrozenClass): ('AuditEntryId', 'String'), ('TimeoutHint', 'UInt32'), ('AdditionalHeader', 'ExtensionObject'), - ] + ] def __init__(self): self.AuthenticationToken = NodeId() @@ -1063,15 +1030,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'RequestHeader(AuthenticationToken:{self.AuthenticationToken}', - f'Timestamp:{self.Timestamp}', - f'RequestHandle:{self.RequestHandle}', - f'ReturnDiagnostics:{self.ReturnDiagnostics}', - f'AuditEntryId:{self.AuditEntryId}', - f'TimeoutHint:{self.TimeoutHint}', - f'AdditionalHeader:{self.AdditionalHeader})' - )) + return f'RequestHeader(AuthenticationToken:{self.AuthenticationToken}, Timestamp:{self.Timestamp}, RequestHandle:{self.RequestHandle}, ReturnDiagnostics:{self.ReturnDiagnostics}, AuditEntryId:{self.AuditEntryId}, TimeoutHint:{self.TimeoutHint}, AdditionalHeader:{self.AdditionalHeader})' __repr__ = __str__ @@ -1101,7 +1060,7 @@ class ResponseHeader(FrozenClass): ('ServiceDiagnostics', 'DiagnosticInfo'), ('StringTable', 'ListOfString'), ('AdditionalHeader', 'ExtensionObject'), - ] + ] def __init__(self): self.Timestamp = datetime.utcnow() @@ -1113,14 +1072,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ResponseHeader(Timestamp:{self.Timestamp}', - f'RequestHandle:{self.RequestHandle}', - f'ServiceResult:{self.ServiceResult}', - f'ServiceDiagnostics:{self.ServiceDiagnostics}', - f'StringTable:{self.StringTable}', - f'AdditionalHeader:{self.AdditionalHeader})' - )) + return f'ResponseHeader(Timestamp:{self.Timestamp}, RequestHandle:{self.RequestHandle}, ServiceResult:{self.ServiceResult}, ServiceDiagnostics:{self.ServiceDiagnostics}, StringTable:{self.StringTable}, AdditionalHeader:{self.AdditionalHeader})' __repr__ = __str__ @@ -1138,7 +1090,7 @@ class ServiceFault(FrozenClass): ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.ServiceFault_Encoding_DefaultBinary) @@ -1165,7 +1117,7 @@ class FindServersParameters(FrozenClass): ('EndpointUrl', 'String'), ('LocaleIds', 'ListOfString'), ('ServerUris', 'ListOfString'), - ] + ] def __init__(self): self.EndpointUrl = None @@ -1174,11 +1126,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'FindServersParameters(EndpointUrl:{self.EndpointUrl}', - f'LocaleIds:{self.LocaleIds}', - f'ServerUris:{self.ServerUris})' - )) + return f'FindServersParameters(EndpointUrl:{self.EndpointUrl}, LocaleIds:{self.LocaleIds}, ServerUris:{self.ServerUris})' __repr__ = __str__ @@ -1199,7 +1147,7 @@ class FindServersRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'FindServersParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.FindServersRequest_Encoding_DefaultBinary) @@ -1208,11 +1156,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'FindServersRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'FindServersRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -1233,7 +1177,7 @@ class FindServersResponse(FrozenClass): ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Servers', 'ListOfApplicationDescription'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.FindServersResponse_Encoding_DefaultBinary) @@ -1242,11 +1186,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'FindServersResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Servers:{self.Servers})' - )) + return f'FindServersResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Servers:{self.Servers})' __repr__ = __str__ @@ -1268,7 +1208,7 @@ class ServerOnNetwork(FrozenClass): ('ServerName', 'String'), ('DiscoveryUrl', 'String'), ('ServerCapabilities', 'ListOfString'), - ] + ] def __init__(self): self.RecordId = 0 @@ -1278,12 +1218,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ServerOnNetwork(RecordId:{self.RecordId}', - f'ServerName:{self.ServerName}', - f'DiscoveryUrl:{self.DiscoveryUrl}', - f'ServerCapabilities:{self.ServerCapabilities})' - )) + return f'ServerOnNetwork(RecordId:{self.RecordId}, ServerName:{self.ServerName}, DiscoveryUrl:{self.DiscoveryUrl}, ServerCapabilities:{self.ServerCapabilities})' __repr__ = __str__ @@ -1302,7 +1237,7 @@ class FindServersOnNetworkParameters(FrozenClass): ('StartingRecordId', 'UInt32'), ('MaxRecordsToReturn', 'UInt32'), ('ServerCapabilityFilter', 'ListOfString'), - ] + ] def __init__(self): self.StartingRecordId = 0 @@ -1311,11 +1246,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'FindServersOnNetworkParameters(StartingRecordId:{self.StartingRecordId}', - f'MaxRecordsToReturn:{self.MaxRecordsToReturn}', - f'ServerCapabilityFilter:{self.ServerCapabilityFilter})' - )) + return f'FindServersOnNetworkParameters(StartingRecordId:{self.StartingRecordId}, MaxRecordsToReturn:{self.MaxRecordsToReturn}, ServerCapabilityFilter:{self.ServerCapabilityFilter})' __repr__ = __str__ @@ -1334,7 +1265,7 @@ class FindServersOnNetworkRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'FindServersOnNetworkParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.FindServersOnNetworkRequest_Encoding_DefaultBinary) @@ -1343,11 +1274,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'FindServersOnNetworkRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'FindServersOnNetworkRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -1363,7 +1290,7 @@ class FindServersOnNetworkResult(FrozenClass): ua_types = [ ('LastCounterResetTime', 'DateTime'), ('Servers', 'ListOfServerOnNetwork'), - ] + ] def __init__(self): self.LastCounterResetTime = datetime.utcnow() @@ -1390,7 +1317,7 @@ class FindServersOnNetworkResponse(FrozenClass): ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'FindServersOnNetworkResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.FindServersOnNetworkResponse_Encoding_DefaultBinary) @@ -1399,11 +1326,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'FindServersOnNetworkResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Parameters:{self.Parameters})' - )) + return f'FindServersOnNetworkResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -1430,7 +1353,7 @@ class UserTokenPolicy(FrozenClass): ('IssuedTokenType', 'String'), ('IssuerEndpointUrl', 'String'), ('SecurityPolicyUri', 'String'), - ] + ] def __init__(self): self.PolicyId = None @@ -1441,13 +1364,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'UserTokenPolicy(PolicyId:{self.PolicyId}', - f'TokenType:{self.TokenType}', - f'IssuedTokenType:{self.IssuedTokenType}', - f'IssuerEndpointUrl:{self.IssuerEndpointUrl}', - f'SecurityPolicyUri:{self.SecurityPolicyUri})' - )) + return f'UserTokenPolicy(PolicyId:{self.PolicyId}, TokenType:{self.TokenType}, IssuedTokenType:{self.IssuedTokenType}, IssuerEndpointUrl:{self.IssuerEndpointUrl}, SecurityPolicyUri:{self.SecurityPolicyUri})' __repr__ = __str__ @@ -1483,7 +1400,7 @@ class EndpointDescription(FrozenClass): ('UserIdentityTokens', 'ListOfUserTokenPolicy'), ('TransportProfileUri', 'String'), ('SecurityLevel', 'Byte'), - ] + ] def __init__(self): self.EndpointUrl = None @@ -1497,16 +1414,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'EndpointDescription(EndpointUrl:{self.EndpointUrl}', - f'Server:{self.Server}', - f'ServerCertificate:{self.ServerCertificate}', - f'SecurityMode:{self.SecurityMode}', - f'SecurityPolicyUri:{self.SecurityPolicyUri}', - f'UserIdentityTokens:{self.UserIdentityTokens}', - f'TransportProfileUri:{self.TransportProfileUri}', - f'SecurityLevel:{self.SecurityLevel})' - )) + return f'EndpointDescription(EndpointUrl:{self.EndpointUrl}, Server:{self.Server}, ServerCertificate:{self.ServerCertificate}, SecurityMode:{self.SecurityMode}, SecurityPolicyUri:{self.SecurityPolicyUri}, UserIdentityTokens:{self.UserIdentityTokens}, TransportProfileUri:{self.TransportProfileUri}, SecurityLevel:{self.SecurityLevel})' __repr__ = __str__ @@ -1525,7 +1433,7 @@ class GetEndpointsParameters(FrozenClass): ('EndpointUrl', 'String'), ('LocaleIds', 'ListOfString'), ('ProfileUris', 'ListOfString'), - ] + ] def __init__(self): self.EndpointUrl = None @@ -1534,11 +1442,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'GetEndpointsParameters(EndpointUrl:{self.EndpointUrl}', - f'LocaleIds:{self.LocaleIds}', - f'ProfileUris:{self.ProfileUris})' - )) + return f'GetEndpointsParameters(EndpointUrl:{self.EndpointUrl}, LocaleIds:{self.LocaleIds}, ProfileUris:{self.ProfileUris})' __repr__ = __str__ @@ -1559,7 +1463,7 @@ class GetEndpointsRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'GetEndpointsParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.GetEndpointsRequest_Encoding_DefaultBinary) @@ -1568,11 +1472,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'GetEndpointsRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'GetEndpointsRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -1593,7 +1493,7 @@ class GetEndpointsResponse(FrozenClass): ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Endpoints', 'ListOfEndpointDescription'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.GetEndpointsResponse_Encoding_DefaultBinary) @@ -1602,11 +1502,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'GetEndpointsResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Endpoints:{self.Endpoints})' - )) + return f'GetEndpointsResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Endpoints:{self.Endpoints})' __repr__ = __str__ @@ -1642,7 +1538,7 @@ class RegisteredServer(FrozenClass): ('DiscoveryUrls', 'ListOfString'), ('SemaphoreFilePath', 'String'), ('IsOnline', 'Boolean'), - ] + ] def __init__(self): self.ServerUri = None @@ -1656,16 +1552,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'RegisteredServer(ServerUri:{self.ServerUri}', - f'ProductUri:{self.ProductUri}', - f'ServerNames:{self.ServerNames}', - f'ServerType:{self.ServerType}', - f'GatewayServerUri:{self.GatewayServerUri}', - f'DiscoveryUrls:{self.DiscoveryUrls}', - f'SemaphoreFilePath:{self.SemaphoreFilePath}', - f'IsOnline:{self.IsOnline})' - )) + return f'RegisteredServer(ServerUri:{self.ServerUri}, ProductUri:{self.ProductUri}, ServerNames:{self.ServerNames}, ServerType:{self.ServerType}, GatewayServerUri:{self.GatewayServerUri}, DiscoveryUrls:{self.DiscoveryUrls}, SemaphoreFilePath:{self.SemaphoreFilePath}, IsOnline:{self.IsOnline})' __repr__ = __str__ @@ -1686,7 +1573,7 @@ class RegisterServerRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Server', 'RegisteredServer'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.RegisterServerRequest_Encoding_DefaultBinary) @@ -1695,11 +1582,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'RegisterServerRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Server:{self.Server})' - )) + return f'RegisterServerRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Server:{self.Server})' __repr__ = __str__ @@ -1717,7 +1600,7 @@ class RegisterServerResponse(FrozenClass): ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.RegisterServerResponse_Encoding_DefaultBinary) @@ -1737,7 +1620,7 @@ class DiscoveryConfiguration(FrozenClass): """ ua_types = [ - ] + ] def __init__(self): self._freeze = True @@ -1761,7 +1644,7 @@ class MdnsDiscoveryConfiguration(FrozenClass): ua_types = [ ('MdnsServerName', 'String'), ('ServerCapabilities', 'ListOfString'), - ] + ] def __init__(self): self.MdnsServerName = None @@ -1769,10 +1652,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'MdnsDiscoveryConfiguration(MdnsServerName:{self.MdnsServerName}', - f'ServerCapabilities:{self.ServerCapabilities})' - )) + return f'MdnsDiscoveryConfiguration(MdnsServerName:{self.MdnsServerName}, ServerCapabilities:{self.ServerCapabilities})' __repr__ = __str__ @@ -1788,7 +1668,7 @@ class RegisterServer2Parameters(FrozenClass): ua_types = [ ('Server', 'RegisteredServer'), ('DiscoveryConfiguration', 'ListOfExtensionObject'), - ] + ] def __init__(self): self.Server = RegisteredServer() @@ -1815,7 +1695,7 @@ class RegisterServer2Request(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'RegisterServer2Parameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.RegisterServer2Request_Encoding_DefaultBinary) @@ -1824,11 +1704,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'RegisterServer2Request(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'RegisterServer2Request(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -1850,7 +1726,7 @@ class RegisterServer2Response(FrozenClass): ('ResponseHeader', 'ResponseHeader'), ('ConfigurationResults', 'ListOfStatusCode'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.RegisterServer2Response_Encoding_DefaultBinary) @@ -1860,12 +1736,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'RegisterServer2Response(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'ConfigurationResults:{self.ConfigurationResults}', - f'DiagnosticInfos:{self.DiagnosticInfos})' - )) + return f'RegisterServer2Response(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, ConfigurationResults:{self.ConfigurationResults}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ @@ -1889,7 +1760,7 @@ class ChannelSecurityToken(FrozenClass): ('TokenId', 'UInt32'), ('CreatedAt', 'DateTime'), ('RevisedLifetime', 'UInt32'), - ] + ] def __init__(self): self.ChannelId = 0 @@ -1899,12 +1770,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ChannelSecurityToken(ChannelId:{self.ChannelId}', - f'TokenId:{self.TokenId}', - f'CreatedAt:{self.CreatedAt}', - f'RevisedLifetime:{self.RevisedLifetime})' - )) + return f'ChannelSecurityToken(ChannelId:{self.ChannelId}, TokenId:{self.TokenId}, CreatedAt:{self.CreatedAt}, RevisedLifetime:{self.RevisedLifetime})' __repr__ = __str__ @@ -1929,7 +1795,7 @@ class OpenSecureChannelParameters(FrozenClass): ('SecurityMode', 'MessageSecurityMode'), ('ClientNonce', 'ByteString'), ('RequestedLifetime', 'UInt32'), - ] + ] def __init__(self): self.ClientProtocolVersion = 0 @@ -1940,13 +1806,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'OpenSecureChannelParameters(ClientProtocolVersion:{self.ClientProtocolVersion}', - f'RequestType:{self.RequestType}', - f'SecurityMode:{self.SecurityMode}', - f'ClientNonce:{self.ClientNonce}', - f'RequestedLifetime:{self.RequestedLifetime})' - )) + return f'OpenSecureChannelParameters(ClientProtocolVersion:{self.ClientProtocolVersion}, RequestType:{self.RequestType}, SecurityMode:{self.SecurityMode}, ClientNonce:{self.ClientNonce}, RequestedLifetime:{self.RequestedLifetime})' __repr__ = __str__ @@ -1967,7 +1827,7 @@ class OpenSecureChannelRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'OpenSecureChannelParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.OpenSecureChannelRequest_Encoding_DefaultBinary) @@ -1976,11 +1836,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'OpenSecureChannelRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'OpenSecureChannelRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -1999,7 +1855,7 @@ class OpenSecureChannelResult(FrozenClass): ('ServerProtocolVersion', 'UInt32'), ('SecurityToken', 'ChannelSecurityToken'), ('ServerNonce', 'ByteString'), - ] + ] def __init__(self): self.ServerProtocolVersion = 0 @@ -2008,11 +1864,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'OpenSecureChannelResult(ServerProtocolVersion:{self.ServerProtocolVersion}', - f'SecurityToken:{self.SecurityToken}', - f'ServerNonce:{self.ServerNonce})' - )) + return f'OpenSecureChannelResult(ServerProtocolVersion:{self.ServerProtocolVersion}, SecurityToken:{self.SecurityToken}, ServerNonce:{self.ServerNonce})' __repr__ = __str__ @@ -2033,7 +1885,7 @@ class OpenSecureChannelResponse(FrozenClass): ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'OpenSecureChannelResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.OpenSecureChannelResponse_Encoding_DefaultBinary) @@ -2042,11 +1894,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'OpenSecureChannelResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Parameters:{self.Parameters})' - )) + return f'OpenSecureChannelResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -2064,7 +1912,7 @@ class CloseSecureChannelRequest(FrozenClass): ua_types = [ ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CloseSecureChannelRequest_Encoding_DefaultBinary) @@ -2090,7 +1938,7 @@ class CloseSecureChannelResponse(FrozenClass): ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CloseSecureChannelResponse_Encoding_DefaultBinary) @@ -2116,7 +1964,7 @@ class SignedSoftwareCertificate(FrozenClass): ua_types = [ ('CertificateData', 'ByteString'), ('Signature', 'ByteString'), - ] + ] def __init__(self): self.CertificateData = None @@ -2142,7 +1990,7 @@ class SignatureData(FrozenClass): ua_types = [ ('Algorithm', 'String'), ('Signature', 'ByteString'), - ] + ] def __init__(self): self.Algorithm = None @@ -2184,7 +2032,7 @@ class CreateSessionParameters(FrozenClass): ('ClientCertificate', 'ByteString'), ('RequestedSessionTimeout', 'Double'), ('MaxResponseMessageSize', 'UInt32'), - ] + ] def __init__(self): self.ClientDescription = ApplicationDescription() @@ -2198,16 +2046,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'CreateSessionParameters(ClientDescription:{self.ClientDescription}', - f'ServerUri:{self.ServerUri}', - f'EndpointUrl:{self.EndpointUrl}', - f'SessionName:{self.SessionName}', - f'ClientNonce:{self.ClientNonce}', - f'ClientCertificate:{self.ClientCertificate}', - f'RequestedSessionTimeout:{self.RequestedSessionTimeout}', - f'MaxResponseMessageSize:{self.MaxResponseMessageSize})' - )) + return f'CreateSessionParameters(ClientDescription:{self.ClientDescription}, ServerUri:{self.ServerUri}, EndpointUrl:{self.EndpointUrl}, SessionName:{self.SessionName}, ClientNonce:{self.ClientNonce}, ClientCertificate:{self.ClientCertificate}, RequestedSessionTimeout:{self.RequestedSessionTimeout}, MaxResponseMessageSize:{self.MaxResponseMessageSize})' __repr__ = __str__ @@ -2228,7 +2067,7 @@ class CreateSessionRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'CreateSessionParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CreateSessionRequest_Encoding_DefaultBinary) @@ -2237,11 +2076,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'CreateSessionRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'CreateSessionRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -2278,7 +2113,7 @@ class CreateSessionResult(FrozenClass): ('ServerSoftwareCertificates', 'ListOfSignedSoftwareCertificate'), ('ServerSignature', 'SignatureData'), ('MaxRequestMessageSize', 'UInt32'), - ] + ] def __init__(self): self.SessionId = NodeId() @@ -2293,17 +2128,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'CreateSessionResult(SessionId:{self.SessionId}', - f'AuthenticationToken:{self.AuthenticationToken}', - f'RevisedSessionTimeout:{self.RevisedSessionTimeout}', - f'ServerNonce:{self.ServerNonce}', - f'ServerCertificate:{self.ServerCertificate}', - f'ServerEndpoints:{self.ServerEndpoints}', - f'ServerSoftwareCertificates:{self.ServerSoftwareCertificates}', - f'ServerSignature:{self.ServerSignature}', - f'MaxRequestMessageSize:{self.MaxRequestMessageSize})' - )) + return f'CreateSessionResult(SessionId:{self.SessionId}, AuthenticationToken:{self.AuthenticationToken}, RevisedSessionTimeout:{self.RevisedSessionTimeout}, ServerNonce:{self.ServerNonce}, ServerCertificate:{self.ServerCertificate}, ServerEndpoints:{self.ServerEndpoints}, ServerSoftwareCertificates:{self.ServerSoftwareCertificates}, ServerSignature:{self.ServerSignature}, MaxRequestMessageSize:{self.MaxRequestMessageSize})' __repr__ = __str__ @@ -2324,7 +2149,7 @@ class CreateSessionResponse(FrozenClass): ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'CreateSessionResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CreateSessionResponse_Encoding_DefaultBinary) @@ -2333,11 +2158,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'CreateSessionResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Parameters:{self.Parameters})' - )) + return f'CreateSessionResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -2352,7 +2173,7 @@ class UserIdentityToken(FrozenClass): ua_types = [ ('PolicyId', 'String'), - ] + ] def __init__(self): self.PolicyId = None @@ -2374,14 +2195,14 @@ class AnonymousIdentityToken(FrozenClass): ua_types = [ ('PolicyId', 'String'), - ] + ] def __init__(self): self.PolicyId = None self._freeze = True def __str__(self): - return f'AnonymousIdentityToken(PolicyId:{self.PolicyId})', + return f'AnonymousIdentityToken(PolicyId:{self.PolicyId})' __repr__ = __str__ @@ -2405,7 +2226,7 @@ class UserNameIdentityToken(FrozenClass): ('UserName', 'String'), ('Password', 'ByteString'), ('EncryptionAlgorithm', 'String'), - ] + ] def __init__(self): self.PolicyId = None @@ -2415,12 +2236,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'UserNameIdentityToken(PolicyId:{self.PolicyId}', - f'UserName:{self.UserName}', - f'Password:{self.Password}', - f'EncryptionAlgorithm:{self.EncryptionAlgorithm})' - )) + return f'UserNameIdentityToken(PolicyId:{self.PolicyId}, UserName:{self.UserName}, Password:{self.Password}, EncryptionAlgorithm:{self.EncryptionAlgorithm})' __repr__ = __str__ @@ -2438,7 +2254,7 @@ class X509IdentityToken(FrozenClass): ua_types = [ ('PolicyId', 'String'), ('CertificateData', 'ByteString'), - ] + ] def __init__(self): self.PolicyId = None @@ -2462,7 +2278,7 @@ class KerberosIdentityToken(FrozenClass): ua_types = [ ('PolicyId', 'String'), ('TicketData', 'ByteString'), - ] + ] def __init__(self): self.PolicyId = None @@ -2491,7 +2307,7 @@ class IssuedIdentityToken(FrozenClass): ('PolicyId', 'String'), ('TokenData', 'ByteString'), ('EncryptionAlgorithm', 'String'), - ] + ] def __init__(self): self.PolicyId = None @@ -2500,11 +2316,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'IssuedIdentityToken(PolicyId:{self.PolicyId}', - f'TokenData:{self.TokenData}', - f'EncryptionAlgorithm:{self.EncryptionAlgorithm})' - )) + return f'IssuedIdentityToken(PolicyId:{self.PolicyId}, TokenData:{self.TokenData}, EncryptionAlgorithm:{self.EncryptionAlgorithm})' __repr__ = __str__ @@ -2529,7 +2341,7 @@ class ActivateSessionParameters(FrozenClass): ('LocaleIds', 'ListOfString'), ('UserIdentityToken', 'ExtensionObject'), ('UserTokenSignature', 'SignatureData'), - ] + ] def __init__(self): self.ClientSignature = SignatureData() @@ -2540,13 +2352,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ActivateSessionParameters(ClientSignature:{self.ClientSignature}', - f'ClientSoftwareCertificates:{self.ClientSoftwareCertificates}', - f'LocaleIds:{self.LocaleIds}', - f'UserIdentityToken:{self.UserIdentityToken}', - f'UserTokenSignature:{self.UserTokenSignature})' - )) + return f'ActivateSessionParameters(ClientSignature:{self.ClientSignature}, ClientSoftwareCertificates:{self.ClientSoftwareCertificates}, LocaleIds:{self.LocaleIds}, UserIdentityToken:{self.UserIdentityToken}, UserTokenSignature:{self.UserTokenSignature})' __repr__ = __str__ @@ -2567,7 +2373,7 @@ class ActivateSessionRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'ActivateSessionParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.ActivateSessionRequest_Encoding_DefaultBinary) @@ -2576,11 +2382,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ActivateSessionRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'ActivateSessionRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -2599,7 +2401,7 @@ class ActivateSessionResult(FrozenClass): ('ServerNonce', 'ByteString'), ('Results', 'ListOfStatusCode'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.ServerNonce = None @@ -2608,11 +2410,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ActivateSessionResult(ServerNonce:{self.ServerNonce}', - f'Results:{self.Results}', - f'DiagnosticInfos:{self.DiagnosticInfos})' - )) + return f'ActivateSessionResult(ServerNonce:{self.ServerNonce}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ @@ -2633,7 +2431,7 @@ class ActivateSessionResponse(FrozenClass): ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'ActivateSessionResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.ActivateSessionResponse_Encoding_DefaultBinary) @@ -2642,11 +2440,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ActivateSessionResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Parameters:{self.Parameters})' - )) + return f'ActivateSessionResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -2667,7 +2461,7 @@ class CloseSessionRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('DeleteSubscriptions', 'Boolean'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CloseSessionRequest_Encoding_DefaultBinary) @@ -2676,11 +2470,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'CloseSessionRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'DeleteSubscriptions:{self.DeleteSubscriptions})' - )) + return f'CloseSessionRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, DeleteSubscriptions:{self.DeleteSubscriptions})' __repr__ = __str__ @@ -2698,7 +2488,7 @@ class CloseSessionResponse(FrozenClass): ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CloseSessionResponse_Encoding_DefaultBinary) @@ -2719,7 +2509,7 @@ class CancelParameters(FrozenClass): ua_types = [ ('RequestHandle', 'UInt32'), - ] + ] def __init__(self): self.RequestHandle = 0 @@ -2747,7 +2537,7 @@ class CancelRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'CancelParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CancelRequest_Encoding_DefaultBinary) @@ -2756,11 +2546,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'CancelRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'CancelRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -2773,7 +2559,7 @@ class CancelResult(FrozenClass): ua_types = [ ('CancelCount', 'UInt32'), - ] + ] def __init__(self): self.CancelCount = 0 @@ -2801,7 +2587,7 @@ class CancelResponse(FrozenClass): ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'CancelResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CancelResponse_Encoding_DefaultBinary) @@ -2810,11 +2596,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'CancelResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Parameters:{self.Parameters})' - )) + return f'CancelResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -2841,7 +2623,7 @@ class NodeAttributes(FrozenClass): ('Description', 'LocalizedText'), ('WriteMask', 'UInt32'), ('UserWriteMask', 'UInt32'), - ] + ] def __init__(self): self.SpecifiedAttributes = 0 @@ -2852,13 +2634,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'NodeAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}', - f'DisplayName:{self.DisplayName}', - f'Description:{self.Description}', - f'WriteMask:{self.WriteMask}', - f'UserWriteMask:{self.UserWriteMask})' - )) + return f'NodeAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}, DisplayName:{self.DisplayName}, Description:{self.Description}, WriteMask:{self.WriteMask}, UserWriteMask:{self.UserWriteMask})' __repr__ = __str__ @@ -2888,7 +2664,7 @@ class ObjectAttributes(FrozenClass): ('WriteMask', 'UInt32'), ('UserWriteMask', 'UInt32'), ('EventNotifier', 'Byte'), - ] + ] def __init__(self): self.SpecifiedAttributes = 0 @@ -2900,14 +2676,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ObjectAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}', - f'DisplayName:{self.DisplayName}', - f'Description:{self.Description}', - f'WriteMask:{self.WriteMask}', - f'UserWriteMask:{self.UserWriteMask}', - f'EventNotifier:{self.EventNotifier})' - )) + return f'ObjectAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}, DisplayName:{self.DisplayName}, Description:{self.Description}, WriteMask:{self.WriteMask}, UserWriteMask:{self.UserWriteMask}, EventNotifier:{self.EventNotifier})' __repr__ = __str__ @@ -2958,7 +2727,7 @@ class VariableAttributes(FrozenClass): ('UserAccessLevel', 'Byte'), ('MinimumSamplingInterval', 'Double'), ('Historizing', 'Boolean'), - ] + ] def __init__(self): self.SpecifiedAttributes = 0 @@ -2977,21 +2746,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'VariableAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}', - f'DisplayName:{self.DisplayName}', - f'Description:{self.Description}', - f'WriteMask:{self.WriteMask}', - f'UserWriteMask:{self.UserWriteMask}', - f'Value:{self.Value}', - f'DataType:{self.DataType}', - f'ValueRank:{self.ValueRank}', - f'ArrayDimensions:{self.ArrayDimensions}', - f'AccessLevel:{self.AccessLevel}', - f'UserAccessLevel:{self.UserAccessLevel}', - f'MinimumSamplingInterval:{self.MinimumSamplingInterval}', - f'Historizing:{self.Historizing})' - )) + return f'VariableAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}, DisplayName:{self.DisplayName}, Description:{self.Description}, WriteMask:{self.WriteMask}, UserWriteMask:{self.UserWriteMask}, Value:{self.Value}, DataType:{self.DataType}, ValueRank:{self.ValueRank}, ArrayDimensions:{self.ArrayDimensions}, AccessLevel:{self.AccessLevel}, UserAccessLevel:{self.UserAccessLevel}, MinimumSamplingInterval:{self.MinimumSamplingInterval}, Historizing:{self.Historizing})' __repr__ = __str__ @@ -3024,7 +2779,7 @@ class MethodAttributes(FrozenClass): ('UserWriteMask', 'UInt32'), ('Executable', 'Boolean'), ('UserExecutable', 'Boolean'), - ] + ] def __init__(self): self.SpecifiedAttributes = 0 @@ -3037,15 +2792,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'MethodAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}', - f'DisplayName:{self.DisplayName}', - f'Description:{self.Description}', - f'WriteMask:{self.WriteMask}', - f'UserWriteMask:{self.UserWriteMask}', - f'Executable:{self.Executable}', - f'UserExecutable:{self.UserExecutable})' - )) + return f'MethodAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}, DisplayName:{self.DisplayName}, Description:{self.Description}, WriteMask:{self.WriteMask}, UserWriteMask:{self.UserWriteMask}, Executable:{self.Executable}, UserExecutable:{self.UserExecutable})' __repr__ = __str__ @@ -3075,7 +2822,7 @@ class ObjectTypeAttributes(FrozenClass): ('WriteMask', 'UInt32'), ('UserWriteMask', 'UInt32'), ('IsAbstract', 'Boolean'), - ] + ] def __init__(self): self.SpecifiedAttributes = 0 @@ -3087,14 +2834,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ObjectTypeAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}', - f'DisplayName:{self.DisplayName}', - f'Description:{self.Description}', - f'WriteMask:{self.WriteMask}', - f'UserWriteMask:{self.UserWriteMask}', - f'IsAbstract:{self.IsAbstract})' - )) + return f'ObjectTypeAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}, DisplayName:{self.DisplayName}, Description:{self.Description}, WriteMask:{self.WriteMask}, UserWriteMask:{self.UserWriteMask}, IsAbstract:{self.IsAbstract})' __repr__ = __str__ @@ -3136,7 +2876,7 @@ class VariableTypeAttributes(FrozenClass): ('ValueRank', 'Int32'), ('ArrayDimensions', 'ListOfUInt32'), ('IsAbstract', 'Boolean'), - ] + ] def __init__(self): self.SpecifiedAttributes = 0 @@ -3152,18 +2892,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'VariableTypeAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}', - f'DisplayName:{self.DisplayName}', - f'Description:{self.Description}', - f'WriteMask:{self.WriteMask}', - f'UserWriteMask:{self.UserWriteMask}', - f'Value:{self.Value}', - f'DataType:{self.DataType}', - f'ValueRank:{self.ValueRank}', - f'ArrayDimensions:{self.ArrayDimensions}', - f'IsAbstract:{self.IsAbstract})' - )) + return f'VariableTypeAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}, DisplayName:{self.DisplayName}, Description:{self.Description}, WriteMask:{self.WriteMask}, UserWriteMask:{self.UserWriteMask}, Value:{self.Value}, DataType:{self.DataType}, ValueRank:{self.ValueRank}, ArrayDimensions:{self.ArrayDimensions}, IsAbstract:{self.IsAbstract})' __repr__ = __str__ @@ -3199,7 +2928,7 @@ class ReferenceTypeAttributes(FrozenClass): ('IsAbstract', 'Boolean'), ('Symmetric', 'Boolean'), ('InverseName', 'LocalizedText'), - ] + ] def __init__(self): self.SpecifiedAttributes = 0 @@ -3213,16 +2942,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ReferenceTypeAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}', - f'DisplayName:{self.DisplayName}', - f'Description:{self.Description}', - f'WriteMask:{self.WriteMask}', - f'UserWriteMask:{self.UserWriteMask}', - f'IsAbstract:{self.IsAbstract}', - f'Symmetric:{self.Symmetric}', - f'InverseName:{self.InverseName})' - )) + return f'ReferenceTypeAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}, DisplayName:{self.DisplayName}, Description:{self.Description}, WriteMask:{self.WriteMask}, UserWriteMask:{self.UserWriteMask}, IsAbstract:{self.IsAbstract}, Symmetric:{self.Symmetric}, InverseName:{self.InverseName})' __repr__ = __str__ @@ -3252,7 +2972,7 @@ class DataTypeAttributes(FrozenClass): ('WriteMask', 'UInt32'), ('UserWriteMask', 'UInt32'), ('IsAbstract', 'Boolean'), - ] + ] def __init__(self): self.SpecifiedAttributes = 0 @@ -3264,14 +2984,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'DataTypeAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}', - f'DisplayName:{self.DisplayName}', - f'Description:{self.Description}', - f'WriteMask:{self.WriteMask}', - f'UserWriteMask:{self.UserWriteMask}', - f'IsAbstract:{self.IsAbstract})' - )) + return f'DataTypeAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}, DisplayName:{self.DisplayName}, Description:{self.Description}, WriteMask:{self.WriteMask}, UserWriteMask:{self.UserWriteMask}, IsAbstract:{self.IsAbstract})' __repr__ = __str__ @@ -3304,7 +3017,7 @@ class ViewAttributes(FrozenClass): ('UserWriteMask', 'UInt32'), ('ContainsNoLoops', 'Boolean'), ('EventNotifier', 'Byte'), - ] + ] def __init__(self): self.SpecifiedAttributes = 0 @@ -3317,15 +3030,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ViewAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}', - f'DisplayName:{self.DisplayName}', - f'Description:{self.Description}', - f'WriteMask:{self.WriteMask}', - f'UserWriteMask:{self.UserWriteMask}', - f'ContainsNoLoops:{self.ContainsNoLoops}', - f'EventNotifier:{self.EventNotifier})' - )) + return f'ViewAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}, DisplayName:{self.DisplayName}, Description:{self.Description}, WriteMask:{self.WriteMask}, UserWriteMask:{self.UserWriteMask}, ContainsNoLoops:{self.ContainsNoLoops}, EventNotifier:{self.EventNotifier})' __repr__ = __str__ @@ -3358,7 +3063,7 @@ class AddNodesItem(FrozenClass): ('NodeClass', 'NodeClass'), ('NodeAttributes', 'ExtensionObject'), ('TypeDefinition', 'ExpandedNodeId'), - ] + ] def __init__(self): self.ParentNodeId = ExpandedNodeId() @@ -3371,15 +3076,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'AddNodesItem(ParentNodeId:{self.ParentNodeId}', - f'ReferenceTypeId:{self.ReferenceTypeId}', - f'RequestedNewNodeId:{self.RequestedNewNodeId}', - f'BrowseName:{self.BrowseName}', - f'NodeClass:{self.NodeClass}', - f'NodeAttributes:{self.NodeAttributes}', - f'TypeDefinition:{self.TypeDefinition})' - )) + return f'AddNodesItem(ParentNodeId:{self.ParentNodeId}, ReferenceTypeId:{self.ReferenceTypeId}, RequestedNewNodeId:{self.RequestedNewNodeId}, BrowseName:{self.BrowseName}, NodeClass:{self.NodeClass}, NodeAttributes:{self.NodeAttributes}, TypeDefinition:{self.TypeDefinition})' __repr__ = __str__ @@ -3397,7 +3094,7 @@ class AddNodesResult(FrozenClass): ua_types = [ ('StatusCode', 'StatusCode'), ('AddedNodeId', 'NodeId'), - ] + ] def __init__(self): self.StatusCode = StatusCode() @@ -3418,7 +3115,7 @@ class AddNodesParameters(FrozenClass): ua_types = [ ('NodesToAdd', 'ListOfAddNodesItem'), - ] + ] def __init__(self): self.NodesToAdd = [] @@ -3446,7 +3143,7 @@ class AddNodesRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'AddNodesParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.AddNodesRequest_Encoding_DefaultBinary) @@ -3455,11 +3152,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'AddNodesRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'AddNodesRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -3483,7 +3176,7 @@ class AddNodesResponse(FrozenClass): ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfAddNodesResult'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.AddNodesResponse_Encoding_DefaultBinary) @@ -3493,12 +3186,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'AddNodesResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Results:{self.Results}', - f'DiagnosticInfos:{self.DiagnosticInfos})' - )) + return f'AddNodesResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ @@ -3528,7 +3216,7 @@ class AddReferencesItem(FrozenClass): ('TargetServerUri', 'String'), ('TargetNodeId', 'ExpandedNodeId'), ('TargetNodeClass', 'NodeClass'), - ] + ] def __init__(self): self.SourceNodeId = NodeId() @@ -3540,14 +3228,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'AddReferencesItem(SourceNodeId:{self.SourceNodeId}', - f'ReferenceTypeId:{self.ReferenceTypeId}', - f'IsForward:{self.IsForward}', - f'TargetServerUri:{self.TargetServerUri}', - f'TargetNodeId:{self.TargetNodeId}', - f'TargetNodeClass:{self.TargetNodeClass})' - )) + return f'AddReferencesItem(SourceNodeId:{self.SourceNodeId}, ReferenceTypeId:{self.ReferenceTypeId}, IsForward:{self.IsForward}, TargetServerUri:{self.TargetServerUri}, TargetNodeId:{self.TargetNodeId}, TargetNodeClass:{self.TargetNodeClass})' __repr__ = __str__ @@ -3560,7 +3241,7 @@ class AddReferencesParameters(FrozenClass): ua_types = [ ('ReferencesToAdd', 'ListOfAddReferencesItem'), - ] + ] def __init__(self): self.ReferencesToAdd = [] @@ -3588,7 +3269,7 @@ class AddReferencesRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'AddReferencesParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.AddReferencesRequest_Encoding_DefaultBinary) @@ -3597,11 +3278,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'AddReferencesRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'AddReferencesRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -3625,7 +3302,7 @@ class AddReferencesResponse(FrozenClass): ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfStatusCode'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.AddReferencesResponse_Encoding_DefaultBinary) @@ -3635,12 +3312,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'AddReferencesResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Results:{self.Results}', - f'DiagnosticInfos:{self.DiagnosticInfos})' - )) + return f'AddReferencesResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ @@ -3658,7 +3330,7 @@ class DeleteNodesItem(FrozenClass): ua_types = [ ('NodeId', 'NodeId'), ('DeleteTargetReferences', 'Boolean'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -3679,7 +3351,7 @@ class DeleteNodesParameters(FrozenClass): ua_types = [ ('NodesToDelete', 'ListOfDeleteNodesItem'), - ] + ] def __init__(self): self.NodesToDelete = [] @@ -3707,7 +3379,7 @@ class DeleteNodesRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'DeleteNodesParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.DeleteNodesRequest_Encoding_DefaultBinary) @@ -3716,11 +3388,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'DeleteNodesRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'DeleteNodesRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -3744,7 +3412,7 @@ class DeleteNodesResponse(FrozenClass): ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfStatusCode'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.DeleteNodesResponse_Encoding_DefaultBinary) @@ -3754,12 +3422,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'DeleteNodesResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Results:{self.Results}', - f'DiagnosticInfos:{self.DiagnosticInfos})' - )) + return f'DeleteNodesResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ @@ -3786,7 +3449,7 @@ class DeleteReferencesItem(FrozenClass): ('IsForward', 'Boolean'), ('TargetNodeId', 'ExpandedNodeId'), ('DeleteBidirectional', 'Boolean'), - ] + ] def __init__(self): self.SourceNodeId = NodeId() @@ -3797,13 +3460,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'DeleteReferencesItem(SourceNodeId:{self.SourceNodeId}', - f'ReferenceTypeId:{self.ReferenceTypeId}', - f'IsForward:{self.IsForward}', - f'TargetNodeId:{self.TargetNodeId}', - f'DeleteBidirectional:{self.DeleteBidirectional})' - )) + return f'DeleteReferencesItem(SourceNodeId:{self.SourceNodeId}, ReferenceTypeId:{self.ReferenceTypeId}, IsForward:{self.IsForward}, TargetNodeId:{self.TargetNodeId}, DeleteBidirectional:{self.DeleteBidirectional})' __repr__ = __str__ @@ -3816,7 +3473,7 @@ class DeleteReferencesParameters(FrozenClass): ua_types = [ ('ReferencesToDelete', 'ListOfDeleteReferencesItem'), - ] + ] def __init__(self): self.ReferencesToDelete = [] @@ -3844,7 +3501,7 @@ class DeleteReferencesRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'DeleteReferencesParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.DeleteReferencesRequest_Encoding_DefaultBinary) @@ -3853,11 +3510,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'DeleteReferencesRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'DeleteReferencesRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -3873,7 +3526,7 @@ class DeleteReferencesResult(FrozenClass): ua_types = [ ('Results', 'ListOfStatusCode'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.Results = [] @@ -3902,7 +3555,7 @@ class DeleteReferencesResponse(FrozenClass): ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'DeleteReferencesResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.DeleteReferencesResponse_Encoding_DefaultBinary) @@ -3911,11 +3564,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'DeleteReferencesResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Parameters:{self.Parameters})' - )) + return f'DeleteReferencesResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -3936,7 +3585,7 @@ class ViewDescription(FrozenClass): ('ViewId', 'NodeId'), ('Timestamp', 'DateTime'), ('ViewVersion', 'UInt32'), - ] + ] def __init__(self): self.ViewId = NodeId() @@ -3945,11 +3594,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ViewDescription(ViewId:{self.ViewId}', - f'Timestamp:{self.Timestamp}', - f'ViewVersion:{self.ViewVersion})' - )) + return f'ViewDescription(ViewId:{self.ViewId}, Timestamp:{self.Timestamp}, ViewVersion:{self.ViewVersion})' __repr__ = __str__ @@ -3979,7 +3624,7 @@ class BrowseDescription(FrozenClass): ('IncludeSubtypes', 'Boolean'), ('NodeClassMask', 'UInt32'), ('ResultMask', 'UInt32'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -3991,14 +3636,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'BrowseDescription(NodeId:{self.NodeId}', - f'BrowseDirection:{self.BrowseDirection}', - f'ReferenceTypeId:{self.ReferenceTypeId}', - f'IncludeSubtypes:{self.IncludeSubtypes}', - f'NodeClassMask:{self.NodeClassMask}', - f'ResultMask:{self.ResultMask})' - )) + return f'BrowseDescription(NodeId:{self.NodeId}, BrowseDirection:{self.BrowseDirection}, ReferenceTypeId:{self.ReferenceTypeId}, IncludeSubtypes:{self.IncludeSubtypes}, NodeClassMask:{self.NodeClassMask}, ResultMask:{self.ResultMask})' __repr__ = __str__ @@ -4031,7 +3669,7 @@ class ReferenceDescription(FrozenClass): ('DisplayName', 'LocalizedText'), ('NodeClass', 'NodeClass'), ('TypeDefinition', 'ExpandedNodeId'), - ] + ] def __init__(self): self.ReferenceTypeId = NodeId() @@ -4044,15 +3682,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ReferenceDescription(ReferenceTypeId:{self.ReferenceTypeId}', - f'IsForward:{self.IsForward}', - f'NodeId:{self.NodeId}', - f'BrowseName:{self.BrowseName}', - f'DisplayName:{self.DisplayName}', - f'NodeClass:{self.NodeClass}', - f'TypeDefinition:{self.TypeDefinition})' - )) + return f'ReferenceDescription(ReferenceTypeId:{self.ReferenceTypeId}, IsForward:{self.IsForward}, NodeId:{self.NodeId}, BrowseName:{self.BrowseName}, DisplayName:{self.DisplayName}, NodeClass:{self.NodeClass}, TypeDefinition:{self.TypeDefinition})' __repr__ = __str__ @@ -4073,7 +3703,7 @@ class BrowseResult(FrozenClass): ('StatusCode', 'StatusCode'), ('ContinuationPoint', 'ByteString'), ('References', 'ListOfReferenceDescription'), - ] + ] def __init__(self): self.StatusCode = StatusCode() @@ -4082,11 +3712,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'BrowseResult(StatusCode:{self.StatusCode}', - f'ContinuationPoint:{self.ContinuationPoint}', - f'References:{self.References})' - )) + return f'BrowseResult(StatusCode:{self.StatusCode}, ContinuationPoint:{self.ContinuationPoint}, References:{self.References})' __repr__ = __str__ @@ -4105,7 +3731,7 @@ class BrowseParameters(FrozenClass): ('View', 'ViewDescription'), ('RequestedMaxReferencesPerNode', 'UInt32'), ('NodesToBrowse', 'ListOfBrowseDescription'), - ] + ] def __init__(self): self.View = ViewDescription() @@ -4114,11 +3740,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'BrowseParameters(View:{self.View}', - f'RequestedMaxReferencesPerNode:{self.RequestedMaxReferencesPerNode}', - f'NodesToBrowse:{self.NodesToBrowse})' - )) + return f'BrowseParameters(View:{self.View}, RequestedMaxReferencesPerNode:{self.RequestedMaxReferencesPerNode}, NodesToBrowse:{self.NodesToBrowse})' __repr__ = __str__ @@ -4139,7 +3761,7 @@ class BrowseRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'BrowseParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.BrowseRequest_Encoding_DefaultBinary) @@ -4148,11 +3770,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'BrowseRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'BrowseRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -4176,7 +3794,7 @@ class BrowseResponse(FrozenClass): ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfBrowseResult'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.BrowseResponse_Encoding_DefaultBinary) @@ -4186,12 +3804,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'BrowseResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Results:{self.Results}', - f'DiagnosticInfos:{self.DiagnosticInfos})' - )) + return f'BrowseResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ @@ -4207,7 +3820,7 @@ class BrowseNextParameters(FrozenClass): ua_types = [ ('ReleaseContinuationPoints', 'Boolean'), ('ContinuationPoints', 'ListOfByteString'), - ] + ] def __init__(self): self.ReleaseContinuationPoints = True @@ -4215,10 +3828,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'BrowseNextParameters(ReleaseContinuationPoints:{self.ReleaseContinuationPoints}', - f'ContinuationPoints:{self.ContinuationPoints})' - )) + return f'BrowseNextParameters(ReleaseContinuationPoints:{self.ReleaseContinuationPoints}, ContinuationPoints:{self.ContinuationPoints})' __repr__ = __str__ @@ -4239,7 +3849,7 @@ class BrowseNextRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'BrowseNextParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.BrowseNextRequest_Encoding_DefaultBinary) @@ -4248,11 +3858,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'BrowseNextRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'BrowseNextRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -4268,7 +3874,7 @@ class BrowseNextResult(FrozenClass): ua_types = [ ('Results', 'ListOfBrowseResult'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.Results = [] @@ -4297,7 +3903,7 @@ class BrowseNextResponse(FrozenClass): ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'BrowseNextResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.BrowseNextResponse_Encoding_DefaultBinary) @@ -4306,11 +3912,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'BrowseNextResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Parameters:{self.Parameters})' - )) + return f'BrowseNextResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -4334,7 +3936,7 @@ class RelativePathElement(FrozenClass): ('IsInverse', 'Boolean'), ('IncludeSubtypes', 'Boolean'), ('TargetName', 'QualifiedName'), - ] + ] def __init__(self): self.ReferenceTypeId = NodeId() @@ -4344,12 +3946,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'RelativePathElement(ReferenceTypeId:{self.ReferenceTypeId}', - f'IsInverse:{self.IsInverse}', - f'IncludeSubtypes:{self.IncludeSubtypes}', - f'TargetName:{self.TargetName})' - )) + return f'RelativePathElement(ReferenceTypeId:{self.ReferenceTypeId}, IsInverse:{self.IsInverse}, IncludeSubtypes:{self.IncludeSubtypes}, TargetName:{self.TargetName})' __repr__ = __str__ @@ -4364,7 +3961,7 @@ class RelativePath(FrozenClass): ua_types = [ ('Elements', 'ListOfRelativePathElement'), - ] + ] def __init__(self): self.Elements = [] @@ -4389,7 +3986,7 @@ class BrowsePath(FrozenClass): ua_types = [ ('StartingNode', 'NodeId'), ('RelativePath', 'RelativePath'), - ] + ] def __init__(self): self.StartingNode = NodeId() @@ -4415,7 +4012,7 @@ class BrowsePathTarget(FrozenClass): ua_types = [ ('TargetId', 'ExpandedNodeId'), ('RemainingPathIndex', 'UInt32'), - ] + ] def __init__(self): self.TargetId = ExpandedNodeId() @@ -4441,7 +4038,7 @@ class BrowsePathResult(FrozenClass): ua_types = [ ('StatusCode', 'StatusCode'), ('Targets', 'ListOfBrowsePathTarget'), - ] + ] def __init__(self): self.StatusCode = StatusCode() @@ -4462,7 +4059,7 @@ class TranslateBrowsePathsToNodeIdsParameters(FrozenClass): ua_types = [ ('BrowsePaths', 'ListOfBrowsePath'), - ] + ] def __init__(self): self.BrowsePaths = [] @@ -4490,7 +4087,7 @@ class TranslateBrowsePathsToNodeIdsRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'TranslateBrowsePathsToNodeIdsParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultBinary) @@ -4499,11 +4096,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'TranslateBrowsePathsToNodeIdsRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'TranslateBrowsePathsToNodeIdsRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -4527,7 +4120,7 @@ class TranslateBrowsePathsToNodeIdsResponse(FrozenClass): ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfBrowsePathResult'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.TranslateBrowsePathsToNodeIdsResponse_Encoding_DefaultBinary) @@ -4537,12 +4130,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'TranslateBrowsePathsToNodeIdsResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Results:{self.Results}', - f'DiagnosticInfos:{self.DiagnosticInfos})' - )) + return f'TranslateBrowsePathsToNodeIdsResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ @@ -4555,7 +4143,7 @@ class RegisterNodesParameters(FrozenClass): ua_types = [ ('NodesToRegister', 'ListOfNodeId'), - ] + ] def __init__(self): self.NodesToRegister = [] @@ -4583,7 +4171,7 @@ class RegisterNodesRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'RegisterNodesParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.RegisterNodesRequest_Encoding_DefaultBinary) @@ -4592,11 +4180,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'RegisterNodesRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'RegisterNodesRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -4609,7 +4193,7 @@ class RegisterNodesResult(FrozenClass): ua_types = [ ('RegisteredNodeIds', 'ListOfNodeId'), - ] + ] def __init__(self): self.RegisteredNodeIds = [] @@ -4637,7 +4221,7 @@ class RegisterNodesResponse(FrozenClass): ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'RegisterNodesResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.RegisterNodesResponse_Encoding_DefaultBinary) @@ -4646,11 +4230,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'RegisterNodesResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Parameters:{self.Parameters})' - )) + return f'RegisterNodesResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -4663,7 +4243,7 @@ class UnregisterNodesParameters(FrozenClass): ua_types = [ ('NodesToUnregister', 'ListOfNodeId'), - ] + ] def __init__(self): self.NodesToUnregister = [] @@ -4691,7 +4271,7 @@ class UnregisterNodesRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'UnregisterNodesParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.UnregisterNodesRequest_Encoding_DefaultBinary) @@ -4700,11 +4280,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'UnregisterNodesRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'UnregisterNodesRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -4722,7 +4298,7 @@ class UnregisterNodesResponse(FrozenClass): ua_types = [ ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.UnregisterNodesResponse_Encoding_DefaultBinary) @@ -4767,7 +4343,7 @@ class EndpointConfiguration(FrozenClass): ('MaxBufferSize', 'Int32'), ('ChannelLifetime', 'Int32'), ('SecurityTokenLifetime', 'Int32'), - ] + ] def __init__(self): self.OperationTimeout = 0 @@ -4782,17 +4358,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'EndpointConfiguration(OperationTimeout:{self.OperationTimeout}', - f'UseBinaryEncoding:{self.UseBinaryEncoding}', - f'MaxStringLength:{self.MaxStringLength}', - f'MaxByteStringLength:{self.MaxByteStringLength}', - f'MaxArrayLength:{self.MaxArrayLength}', - f'MaxMessageSize:{self.MaxMessageSize}', - f'MaxBufferSize:{self.MaxBufferSize}', - f'ChannelLifetime:{self.ChannelLifetime}', - f'SecurityTokenLifetime:{self.SecurityTokenLifetime})' - )) + return f'EndpointConfiguration(OperationTimeout:{self.OperationTimeout}, UseBinaryEncoding:{self.UseBinaryEncoding}, MaxStringLength:{self.MaxStringLength}, MaxByteStringLength:{self.MaxByteStringLength}, MaxArrayLength:{self.MaxArrayLength}, MaxMessageSize:{self.MaxMessageSize}, MaxBufferSize:{self.MaxBufferSize}, ChannelLifetime:{self.ChannelLifetime}, SecurityTokenLifetime:{self.SecurityTokenLifetime})' __repr__ = __str__ @@ -4820,7 +4386,7 @@ class SupportedProfile(FrozenClass): ('ComplianceDate', 'DateTime'), ('ComplianceLevel', 'ComplianceLevel'), ('UnsupportedUnitIds', 'ListOfString'), - ] + ] def __init__(self): self.OrganizationUri = None @@ -4832,14 +4398,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'SupportedProfile(OrganizationUri:{self.OrganizationUri}', - f'ProfileId:{self.ProfileId}', - f'ComplianceTool:{self.ComplianceTool}', - f'ComplianceDate:{self.ComplianceDate}', - f'ComplianceLevel:{self.ComplianceLevel}', - f'UnsupportedUnitIds:{self.UnsupportedUnitIds})' - )) + return f'SupportedProfile(OrganizationUri:{self.OrganizationUri}, ProfileId:{self.ProfileId}, ComplianceTool:{self.ComplianceTool}, ComplianceDate:{self.ComplianceDate}, ComplianceLevel:{self.ComplianceLevel}, UnsupportedUnitIds:{self.UnsupportedUnitIds})' __repr__ = __str__ @@ -4879,7 +4438,7 @@ class SoftwareCertificate(FrozenClass): ('IssuedBy', 'String'), ('IssueDate', 'DateTime'), ('SupportedProfiles', 'ListOfSupportedProfile'), - ] + ] def __init__(self): self.ProductName = None @@ -4895,18 +4454,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'SoftwareCertificate(ProductName:{self.ProductName}', - f'ProductUri:{self.ProductUri}', - f'VendorName:{self.VendorName}', - f'VendorProductCertificate:{self.VendorProductCertificate}', - f'SoftwareVersion:{self.SoftwareVersion}', - f'BuildNumber:{self.BuildNumber}', - f'BuildDate:{self.BuildDate}', - f'IssuedBy:{self.IssuedBy}', - f'IssueDate:{self.IssueDate}', - f'SupportedProfiles:{self.SupportedProfiles})' - )) + return f'SoftwareCertificate(ProductName:{self.ProductName}, ProductUri:{self.ProductUri}, VendorName:{self.VendorName}, VendorProductCertificate:{self.VendorProductCertificate}, SoftwareVersion:{self.SoftwareVersion}, BuildNumber:{self.BuildNumber}, BuildDate:{self.BuildDate}, IssuedBy:{self.IssuedBy}, IssueDate:{self.IssueDate}, SupportedProfiles:{self.SupportedProfiles})' __repr__ = __str__ @@ -4925,7 +4473,7 @@ class QueryDataDescription(FrozenClass): ('RelativePath', 'RelativePath'), ('AttributeId', 'UInt32'), ('IndexRange', 'String'), - ] + ] def __init__(self): self.RelativePath = RelativePath() @@ -4934,11 +4482,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'QueryDataDescription(RelativePath:{self.RelativePath}', - f'AttributeId:{self.AttributeId}', - f'IndexRange:{self.IndexRange})' - )) + return f'QueryDataDescription(RelativePath:{self.RelativePath}, AttributeId:{self.AttributeId}, IndexRange:{self.IndexRange})' __repr__ = __str__ @@ -4957,7 +4501,7 @@ class NodeTypeDescription(FrozenClass): ('TypeDefinitionNode', 'ExpandedNodeId'), ('IncludeSubTypes', 'Boolean'), ('DataToReturn', 'ListOfQueryDataDescription'), - ] + ] def __init__(self): self.TypeDefinitionNode = ExpandedNodeId() @@ -4966,11 +4510,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'NodeTypeDescription(TypeDefinitionNode:{self.TypeDefinitionNode}', - f'IncludeSubTypes:{self.IncludeSubTypes}', - f'DataToReturn:{self.DataToReturn})' - )) + return f'NodeTypeDescription(TypeDefinitionNode:{self.TypeDefinitionNode}, IncludeSubTypes:{self.IncludeSubTypes}, DataToReturn:{self.DataToReturn})' __repr__ = __str__ @@ -4989,7 +4529,7 @@ class QueryDataSet(FrozenClass): ('NodeId', 'ExpandedNodeId'), ('TypeDefinitionNode', 'ExpandedNodeId'), ('Values', 'ListOfVariant'), - ] + ] def __init__(self): self.NodeId = ExpandedNodeId() @@ -4998,11 +4538,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'QueryDataSet(NodeId:{self.NodeId}', - f'TypeDefinitionNode:{self.TypeDefinitionNode}', - f'Values:{self.Values})' - )) + return f'QueryDataSet(NodeId:{self.NodeId}, TypeDefinitionNode:{self.TypeDefinitionNode}, Values:{self.Values})' __repr__ = __str__ @@ -5024,7 +4560,7 @@ class NodeReference(FrozenClass): ('ReferenceTypeId', 'NodeId'), ('IsForward', 'Boolean'), ('ReferencedNodeIds', 'ListOfNodeId'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -5034,12 +4570,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'NodeReference(NodeId:{self.NodeId}', - f'ReferenceTypeId:{self.ReferenceTypeId}', - f'IsForward:{self.IsForward}', - f'ReferencedNodeIds:{self.ReferencedNodeIds})' - )) + return f'NodeReference(NodeId:{self.NodeId}, ReferenceTypeId:{self.ReferenceTypeId}, IsForward:{self.IsForward}, ReferencedNodeIds:{self.ReferencedNodeIds})' __repr__ = __str__ @@ -5055,7 +4586,7 @@ class ContentFilterElement(FrozenClass): ua_types = [ ('FilterOperator', 'FilterOperator'), ('FilterOperands', 'ListOfExtensionObject'), - ] + ] def __init__(self): self.FilterOperator = FilterOperator(0) @@ -5076,7 +4607,7 @@ class ContentFilter(FrozenClass): ua_types = [ ('Elements', 'ListOfContentFilterElement'), - ] + ] def __init__(self): self.Elements = [] @@ -5096,7 +4627,7 @@ class ElementOperand(FrozenClass): ua_types = [ ('Index', 'UInt32'), - ] + ] def __init__(self): self.Index = 0 @@ -5116,7 +4647,7 @@ class LiteralOperand(FrozenClass): ua_types = [ ('Value', 'Variant'), - ] + ] def __init__(self): self.Value = Variant() @@ -5148,7 +4679,7 @@ class AttributeOperand(FrozenClass): ('BrowsePath', 'RelativePath'), ('AttributeId', 'UInt32'), ('IndexRange', 'String'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -5159,13 +4690,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'AttributeOperand(NodeId:{self.NodeId}', - f'Alias:{self.Alias}', - f'BrowsePath:{self.BrowsePath}', - f'AttributeId:{self.AttributeId}', - f'IndexRange:{self.IndexRange})' - )) + return f'AttributeOperand(NodeId:{self.NodeId}, Alias:{self.Alias}, BrowsePath:{self.BrowsePath}, AttributeId:{self.AttributeId}, IndexRange:{self.IndexRange})' __repr__ = __str__ @@ -5187,7 +4712,7 @@ class SimpleAttributeOperand(FrozenClass): ('BrowsePath', 'ListOfQualifiedName'), ('AttributeId', 'UInt32'), ('IndexRange', 'String'), - ] + ] def __init__(self): self.TypeDefinitionId = NodeId() @@ -5197,12 +4722,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'SimpleAttributeOperand(TypeDefinitionId:{self.TypeDefinitionId}', - f'BrowsePath:{self.BrowsePath}', - f'AttributeId:{self.AttributeId}', - f'IndexRange:{self.IndexRange})' - )) + return f'SimpleAttributeOperand(TypeDefinitionId:{self.TypeDefinitionId}, BrowsePath:{self.BrowsePath}, AttributeId:{self.AttributeId}, IndexRange:{self.IndexRange})' __repr__ = __str__ @@ -5221,7 +4741,7 @@ class ContentFilterElementResult(FrozenClass): ('StatusCode', 'StatusCode'), ('OperandStatusCodes', 'ListOfStatusCode'), ('OperandDiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.StatusCode = StatusCode() @@ -5230,11 +4750,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ContentFilterElementResult(StatusCode:{self.StatusCode}', - f'OperandStatusCodes:{self.OperandStatusCodes}', - f'OperandDiagnosticInfos:{self.OperandDiagnosticInfos})' - )) + return f'ContentFilterElementResult(StatusCode:{self.StatusCode}, OperandStatusCodes:{self.OperandStatusCodes}, OperandDiagnosticInfos:{self.OperandDiagnosticInfos})' __repr__ = __str__ @@ -5250,7 +4766,7 @@ class ContentFilterResult(FrozenClass): ua_types = [ ('ElementResults', 'ListOfContentFilterElementResult'), ('ElementDiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.ElementResults = [] @@ -5258,10 +4774,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ContentFilterResult(ElementResults:{self.ElementResults}', - f'ElementDiagnosticInfos:{self.ElementDiagnosticInfos})' - )) + return f'ContentFilterResult(ElementResults:{self.ElementResults}, ElementDiagnosticInfos:{self.ElementDiagnosticInfos})' __repr__ = __str__ @@ -5280,7 +4793,7 @@ class ParsingResult(FrozenClass): ('StatusCode', 'StatusCode'), ('DataStatusCodes', 'ListOfStatusCode'), ('DataDiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.StatusCode = StatusCode() @@ -5289,11 +4802,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ParsingResult(StatusCode:{self.StatusCode}', - f'DataStatusCodes:{self.DataStatusCodes}', - f'DataDiagnosticInfos:{self.DataDiagnosticInfos})' - )) + return f'ParsingResult(StatusCode:{self.StatusCode}, DataStatusCodes:{self.DataStatusCodes}, DataDiagnosticInfos:{self.DataDiagnosticInfos})' __repr__ = __str__ @@ -5318,7 +4827,7 @@ class QueryFirstParameters(FrozenClass): ('Filter', 'ContentFilter'), ('MaxDataSetsToReturn', 'UInt32'), ('MaxReferencesToReturn', 'UInt32'), - ] + ] def __init__(self): self.View = ViewDescription() @@ -5329,13 +4838,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'QueryFirstParameters(View:{self.View}', - f'NodeTypes:{self.NodeTypes}', - f'Filter:{self.Filter}', - f'MaxDataSetsToReturn:{self.MaxDataSetsToReturn}', - f'MaxReferencesToReturn:{self.MaxReferencesToReturn})' - )) + return f'QueryFirstParameters(View:{self.View}, NodeTypes:{self.NodeTypes}, Filter:{self.Filter}, MaxDataSetsToReturn:{self.MaxDataSetsToReturn}, MaxReferencesToReturn:{self.MaxReferencesToReturn})' __repr__ = __str__ @@ -5354,7 +4857,7 @@ class QueryFirstRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'QueryFirstParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.QueryFirstRequest_Encoding_DefaultBinary) @@ -5363,11 +4866,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'QueryFirstRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'QueryFirstRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -5392,7 +4891,7 @@ class QueryFirstResult(FrozenClass): ('ParsingResults', 'ListOfParsingResult'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), ('FilterResult', 'ContentFilterResult'), - ] + ] def __init__(self): self.QueryDataSets = [] @@ -5403,13 +4902,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'QueryFirstResult(QueryDataSets:{self.QueryDataSets}', - f'ContinuationPoint:{self.ContinuationPoint}', - f'ParsingResults:{self.ParsingResults}', - f'DiagnosticInfos:{self.DiagnosticInfos}', - f'FilterResult:{self.FilterResult})' - )) + return f'QueryFirstResult(QueryDataSets:{self.QueryDataSets}, ContinuationPoint:{self.ContinuationPoint}, ParsingResults:{self.ParsingResults}, DiagnosticInfos:{self.DiagnosticInfos}, FilterResult:{self.FilterResult})' __repr__ = __str__ @@ -5428,7 +4921,7 @@ class QueryFirstResponse(FrozenClass): ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'QueryFirstResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.QueryFirstResponse_Encoding_DefaultBinary) @@ -5437,11 +4930,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'QueryFirstResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Parameters:{self.Parameters})' - )) + return f'QueryFirstResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -5457,7 +4946,7 @@ class QueryNextParameters(FrozenClass): ua_types = [ ('ReleaseContinuationPoint', 'Boolean'), ('ContinuationPoint', 'ByteString'), - ] + ] def __init__(self): self.ReleaseContinuationPoint = True @@ -5465,10 +4954,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'QueryNextParameters(ReleaseContinuationPoint:{self.ReleaseContinuationPoint}', - f'ContinuationPoint:{self.ContinuationPoint})' - )) + return f'QueryNextParameters(ReleaseContinuationPoint:{self.ReleaseContinuationPoint}, ContinuationPoint:{self.ContinuationPoint})' __repr__ = __str__ @@ -5487,7 +4973,7 @@ class QueryNextRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'QueryNextParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.QueryNextRequest_Encoding_DefaultBinary) @@ -5496,11 +4982,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'QueryNextRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'QueryNextRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -5516,7 +4998,7 @@ class QueryNextResult(FrozenClass): ua_types = [ ('QueryDataSets', 'ListOfQueryDataSet'), ('RevisedContinuationPoint', 'ByteString'), - ] + ] def __init__(self): self.QueryDataSets = [] @@ -5524,10 +5006,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'QueryNextResult(QueryDataSets:{self.QueryDataSets}', - f'RevisedContinuationPoint:{self.RevisedContinuationPoint})' - )) + return f'QueryNextResult(QueryDataSets:{self.QueryDataSets}, RevisedContinuationPoint:{self.RevisedContinuationPoint})' __repr__ = __str__ @@ -5546,7 +5025,7 @@ class QueryNextResponse(FrozenClass): ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'QueryNextResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.QueryNextResponse_Encoding_DefaultBinary) @@ -5555,11 +5034,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'QueryNextResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Parameters:{self.Parameters})' - )) + return f'QueryNextResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -5581,7 +5056,7 @@ class ReadValueId(FrozenClass): ('AttributeId', 'UInt32'), ('IndexRange', 'String'), ('DataEncoding', 'QualifiedName'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -5591,12 +5066,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ReadValueId(NodeId:{self.NodeId}', - f'AttributeId:{self.AttributeId}', - f'IndexRange:{self.IndexRange}', - f'DataEncoding:{self.DataEncoding})' - )) + return f'ReadValueId(NodeId:{self.NodeId}, AttributeId:{self.AttributeId}, IndexRange:{self.IndexRange}, DataEncoding:{self.DataEncoding})' __repr__ = __str__ @@ -5615,7 +5085,7 @@ class ReadParameters(FrozenClass): ('MaxAge', 'Double'), ('TimestampsToReturn', 'TimestampsToReturn'), ('NodesToRead', 'ListOfReadValueId'), - ] + ] def __init__(self): self.MaxAge = 0 @@ -5624,11 +5094,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ReadParameters(MaxAge:{self.MaxAge}', - f'TimestampsToReturn:{self.TimestampsToReturn}', - f'NodesToRead:{self.NodesToRead})' - )) + return f'ReadParameters(MaxAge:{self.MaxAge}, TimestampsToReturn:{self.TimestampsToReturn}, NodesToRead:{self.NodesToRead})' __repr__ = __str__ @@ -5647,7 +5113,7 @@ class ReadRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'ReadParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.ReadRequest_Encoding_DefaultBinary) @@ -5656,11 +5122,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ReadRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'ReadRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -5682,7 +5144,7 @@ class ReadResponse(FrozenClass): ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfDataValue'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.ReadResponse_Encoding_DefaultBinary) @@ -5692,12 +5154,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ReadResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Results:{self.Results}', - f'DiagnosticInfos:{self.DiagnosticInfos})' - )) + return f'ReadResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ @@ -5719,7 +5176,7 @@ class HistoryReadValueId(FrozenClass): ('IndexRange', 'String'), ('DataEncoding', 'QualifiedName'), ('ContinuationPoint', 'ByteString'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -5729,12 +5186,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'HistoryReadValueId(NodeId:{self.NodeId}', - f'IndexRange:{self.IndexRange}', - f'DataEncoding:{self.DataEncoding}', - f'ContinuationPoint:{self.ContinuationPoint})' - )) + return f'HistoryReadValueId(NodeId:{self.NodeId}, IndexRange:{self.IndexRange}, DataEncoding:{self.DataEncoding}, ContinuationPoint:{self.ContinuationPoint})' __repr__ = __str__ @@ -5753,7 +5205,7 @@ class HistoryReadResult(FrozenClass): ('StatusCode', 'StatusCode'), ('ContinuationPoint', 'ByteString'), ('HistoryData', 'ExtensionObject'), - ] + ] def __init__(self): self.StatusCode = StatusCode() @@ -5762,11 +5214,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'HistoryReadResult(StatusCode:{self.StatusCode}', - f'ContinuationPoint:{self.ContinuationPoint}', - f'HistoryData:{self.HistoryData})' - )) + return f'HistoryReadResult(StatusCode:{self.StatusCode}, ContinuationPoint:{self.ContinuationPoint}, HistoryData:{self.HistoryData})' __repr__ = __str__ @@ -5776,7 +5224,7 @@ class HistoryReadDetails(FrozenClass): """ ua_types = [ - ] + ] def __init__(self): self._freeze = True @@ -5804,7 +5252,7 @@ class ReadEventDetails(FrozenClass): ('StartTime', 'DateTime'), ('EndTime', 'DateTime'), ('Filter', 'EventFilter'), - ] + ] def __init__(self): self.NumValuesPerNode = 0 @@ -5814,12 +5262,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ReadEventDetails(NumValuesPerNode:{self.NumValuesPerNode}', - f'StartTime:{self.StartTime}', - f'EndTime:{self.EndTime}', - f'Filter:{self.Filter})' - )) + return f'ReadEventDetails(NumValuesPerNode:{self.NumValuesPerNode}, StartTime:{self.StartTime}, EndTime:{self.EndTime}, Filter:{self.Filter})' __repr__ = __str__ @@ -5844,7 +5287,7 @@ class ReadRawModifiedDetails(FrozenClass): ('EndTime', 'DateTime'), ('NumValuesPerNode', 'UInt32'), ('ReturnBounds', 'Boolean'), - ] + ] def __init__(self): self.IsReadModified = True @@ -5855,13 +5298,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ReadRawModifiedDetails(IsReadModified:{self.IsReadModified}', - f'StartTime:{self.StartTime}', - f'EndTime:{self.EndTime}', - f'NumValuesPerNode:{self.NumValuesPerNode}', - f'ReturnBounds:{self.ReturnBounds})' - )) + return f'ReadRawModifiedDetails(IsReadModified:{self.IsReadModified}, StartTime:{self.StartTime}, EndTime:{self.EndTime}, NumValuesPerNode:{self.NumValuesPerNode}, ReturnBounds:{self.ReturnBounds})' __repr__ = __str__ @@ -5886,7 +5323,7 @@ class ReadProcessedDetails(FrozenClass): ('ProcessingInterval', 'Double'), ('AggregateType', 'ListOfNodeId'), ('AggregateConfiguration', 'AggregateConfiguration'), - ] + ] def __init__(self): self.StartTime = datetime.utcnow() @@ -5897,13 +5334,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ReadProcessedDetails(StartTime:{self.StartTime}', - f'EndTime:{self.EndTime}', - f'ProcessingInterval:{self.ProcessingInterval}', - f'AggregateType:{self.AggregateType}', - f'AggregateConfiguration:{self.AggregateConfiguration})' - )) + return f'ReadProcessedDetails(StartTime:{self.StartTime}, EndTime:{self.EndTime}, ProcessingInterval:{self.ProcessingInterval}, AggregateType:{self.AggregateType}, AggregateConfiguration:{self.AggregateConfiguration})' __repr__ = __str__ @@ -5919,7 +5350,7 @@ class ReadAtTimeDetails(FrozenClass): ua_types = [ ('ReqTimes', 'ListOfDateTime'), ('UseSimpleBounds', 'Boolean'), - ] + ] def __init__(self): self.ReqTimes = [] @@ -5940,7 +5371,7 @@ class HistoryData(FrozenClass): ua_types = [ ('DataValues', 'ListOfDataValue'), - ] + ] def __init__(self): self.DataValues = [] @@ -5966,7 +5397,7 @@ class ModificationInfo(FrozenClass): ('ModificationTime', 'DateTime'), ('UpdateType', 'HistoryUpdateType'), ('UserName', 'String'), - ] + ] def __init__(self): self.ModificationTime = datetime.utcnow() @@ -5975,11 +5406,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ModificationInfo(ModificationTime:{self.ModificationTime}', - f'UpdateType:{self.UpdateType}', - f'UserName:{self.UserName})' - )) + return f'ModificationInfo(ModificationTime:{self.ModificationTime}, UpdateType:{self.UpdateType}, UserName:{self.UserName})' __repr__ = __str__ @@ -5995,7 +5422,7 @@ class HistoryModifiedData(FrozenClass): ua_types = [ ('DataValues', 'ListOfDataValue'), ('ModificationInfos', 'ListOfModificationInfo'), - ] + ] def __init__(self): self.DataValues = [] @@ -6016,7 +5443,7 @@ class HistoryEvent(FrozenClass): ua_types = [ ('Events', 'ListOfHistoryEventFieldList'), - ] + ] def __init__(self): self.Events = [] @@ -6045,7 +5472,7 @@ class HistoryReadParameters(FrozenClass): ('TimestampsToReturn', 'TimestampsToReturn'), ('ReleaseContinuationPoints', 'Boolean'), ('NodesToRead', 'ListOfHistoryReadValueId'), - ] + ] def __init__(self): self.HistoryReadDetails = ExtensionObject() @@ -6055,12 +5482,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'HistoryReadParameters(HistoryReadDetails:{self.HistoryReadDetails}', - f'TimestampsToReturn:{self.TimestampsToReturn}', - f'ReleaseContinuationPoints:{self.ReleaseContinuationPoints}', - f'NodesToRead:{self.NodesToRead})' - )) + return f'HistoryReadParameters(HistoryReadDetails:{self.HistoryReadDetails}, TimestampsToReturn:{self.TimestampsToReturn}, ReleaseContinuationPoints:{self.ReleaseContinuationPoints}, NodesToRead:{self.NodesToRead})' __repr__ = __str__ @@ -6079,7 +5501,7 @@ class HistoryReadRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'HistoryReadParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.HistoryReadRequest_Encoding_DefaultBinary) @@ -6088,11 +5510,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'HistoryReadRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'HistoryReadRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -6114,7 +5532,7 @@ class HistoryReadResponse(FrozenClass): ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfHistoryReadResult'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.HistoryReadResponse_Encoding_DefaultBinary) @@ -6124,12 +5542,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'HistoryReadResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Results:{self.Results}', - F'DiagnosticInfos:{self.DiagnosticInfos})' - )) + return f'HistoryReadResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ @@ -6151,7 +5564,7 @@ class WriteValue(FrozenClass): ('AttributeId', 'UInt32'), ('IndexRange', 'String'), ('Value', 'DataValue'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -6161,12 +5574,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'WriteValue(NodeId:{self.NodeId}', - f'AttributeId:{self.AttributeId}', - f'IndexRange:{self.IndexRange}', - f'Value:{self.Value})' - )) + return f'WriteValue(NodeId:{self.NodeId}, AttributeId:{self.AttributeId}, IndexRange:{self.IndexRange}, Value:{self.Value})' __repr__ = __str__ @@ -6179,7 +5587,7 @@ class WriteParameters(FrozenClass): ua_types = [ ('NodesToWrite', 'ListOfWriteValue'), - ] + ] def __init__(self): self.NodesToWrite = [] @@ -6205,7 +5613,7 @@ class WriteRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'WriteParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.WriteRequest_Encoding_DefaultBinary) @@ -6214,11 +5622,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'WriteRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'WriteRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -6240,7 +5644,7 @@ class WriteResponse(FrozenClass): ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfStatusCode'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.WriteResponse_Encoding_DefaultBinary) @@ -6250,12 +5654,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'WriteResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Results:{self.Results}', - f'DiagnosticInfos:{self.DiagnosticInfos})' - )) + return f'WriteResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ @@ -6268,7 +5667,7 @@ class HistoryUpdateDetails(FrozenClass): ua_types = [ ('NodeId', 'NodeId'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -6294,7 +5693,7 @@ class UpdateDataDetails(FrozenClass): ('NodeId', 'NodeId'), ('PerformInsertReplace', 'PerformUpdateType'), ('UpdateValues', 'ListOfDataValue'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -6303,11 +5702,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'UpdateDataDetails(NodeId:{self.NodeId}', - f'PerformInsertReplace:{self.PerformInsertReplace}', - f'UpdateValues:{self.UpdateValues})' - )) + return f'UpdateDataDetails(NodeId:{self.NodeId}, PerformInsertReplace:{self.PerformInsertReplace}, UpdateValues:{self.UpdateValues})' __repr__ = __str__ @@ -6326,7 +5721,7 @@ class UpdateStructureDataDetails(FrozenClass): ('NodeId', 'NodeId'), ('PerformInsertReplace', 'PerformUpdateType'), ('UpdateValues', 'ListOfDataValue'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -6335,11 +5730,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'UpdateStructureDataDetails(NodeId:{self.NodeId}', - f'PerformInsertReplace:{self.PerformInsertReplace}', - f'UpdateValues:{self.UpdateValues})' - )) + return f'UpdateStructureDataDetails(NodeId:{self.NodeId}, PerformInsertReplace:{self.PerformInsertReplace}, UpdateValues:{self.UpdateValues})' __repr__ = __str__ @@ -6361,7 +5752,7 @@ class UpdateEventDetails(FrozenClass): ('PerformInsertReplace', 'PerformUpdateType'), ('Filter', 'EventFilter'), ('EventData', 'ListOfHistoryEventFieldList'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -6371,12 +5762,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'UpdateEventDetails(NodeId:{self.NodeId}', - f'PerformInsertReplace:{self.PerformInsertReplace}', - f'Filter:{self.Filter}', - f'EventData:{self.EventData})' - )) + return f'UpdateEventDetails(NodeId:{self.NodeId}, PerformInsertReplace:{self.PerformInsertReplace}, Filter:{self.Filter}, EventData:{self.EventData})' __repr__ = __str__ @@ -6398,7 +5784,7 @@ class DeleteRawModifiedDetails(FrozenClass): ('IsDeleteModified', 'Boolean'), ('StartTime', 'DateTime'), ('EndTime', 'DateTime'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -6408,12 +5794,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'DeleteRawModifiedDetails(NodeId:{self.NodeId}', - f'IsDeleteModified:{self.IsDeleteModified}', - f'StartTime:{self.StartTime}', - f'EndTime:{self.EndTime})' - )) + return f'DeleteRawModifiedDetails(NodeId:{self.NodeId}, IsDeleteModified:{self.IsDeleteModified}, StartTime:{self.StartTime}, EndTime:{self.EndTime})' __repr__ = __str__ @@ -6429,7 +5810,7 @@ class DeleteAtTimeDetails(FrozenClass): ua_types = [ ('NodeId', 'NodeId'), ('ReqTimes', 'ListOfDateTime'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -6453,7 +5834,7 @@ class DeleteEventDetails(FrozenClass): ua_types = [ ('NodeId', 'NodeId'), ('EventIds', 'ListOfByteString'), - ] + ] def __init__(self): self.NodeId = NodeId() @@ -6480,7 +5861,7 @@ class HistoryUpdateResult(FrozenClass): ('StatusCode', 'StatusCode'), ('OperationResults', 'ListOfStatusCode'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.StatusCode = StatusCode() @@ -6489,11 +5870,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'HistoryUpdateResult(StatusCode:{self.StatusCode}', - f'OperationResults:{self.OperationResults}', - f'DiagnosticInfos:{self.DiagnosticInfos})' - )) + return f'HistoryUpdateResult(StatusCode:{self.StatusCode}, OperationResults:{self.OperationResults}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ @@ -6506,7 +5883,7 @@ class HistoryUpdateParameters(FrozenClass): ua_types = [ ('HistoryUpdateDetails', 'ListOfExtensionObject'), - ] + ] def __init__(self): self.HistoryUpdateDetails = [] @@ -6532,7 +5909,7 @@ class HistoryUpdateRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'HistoryUpdateParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.HistoryUpdateRequest_Encoding_DefaultBinary) @@ -6541,11 +5918,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'HistoryUpdateRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'HistoryUpdateRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -6567,7 +5940,7 @@ class HistoryUpdateResponse(FrozenClass): ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfHistoryUpdateResult'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.HistoryUpdateResponse_Encoding_DefaultBinary) @@ -6577,12 +5950,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'HistoryUpdateResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Results:{self.Results}', - f'DiagnosticInfos:{self.DiagnosticInfos})' - )) + return f'HistoryUpdateResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ @@ -6601,7 +5969,7 @@ class CallMethodRequest(FrozenClass): ('ObjectId', 'NodeId'), ('MethodId', 'NodeId'), ('InputArguments', 'ListOfVariant'), - ] + ] def __init__(self): self.ObjectId = NodeId() @@ -6610,11 +5978,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'CallMethodRequest(ObjectId:{self.ObjectId}', - f'MethodId:{self.MethodId}', - f'InputArguments:{self.InputArguments})' - )) + return f'CallMethodRequest(ObjectId:{self.ObjectId}, MethodId:{self.MethodId}, InputArguments:{self.InputArguments})' __repr__ = __str__ @@ -6636,7 +6000,7 @@ class CallMethodResult(FrozenClass): ('InputArgumentResults', 'ListOfStatusCode'), ('InputArgumentDiagnosticInfos', 'ListOfDiagnosticInfo'), ('OutputArguments', 'ListOfVariant'), - ] + ] def __init__(self): self.StatusCode = StatusCode() @@ -6646,12 +6010,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'CallMethodResult(StatusCode:{self.StatusCode}', - f'InputArgumentResults:{self.InputArgumentResults}', - f'InputArgumentDiagnosticInfos:{self.InputArgumentDiagnosticInfos}', - f'OutputArguments:{self.OutputArguments})' - )) + return f'CallMethodResult(StatusCode:{self.StatusCode}, InputArgumentResults:{self.InputArgumentResults}, InputArgumentDiagnosticInfos:{self.InputArgumentDiagnosticInfos}, OutputArguments:{self.OutputArguments})' __repr__ = __str__ @@ -6664,7 +6023,7 @@ class CallParameters(FrozenClass): ua_types = [ ('MethodsToCall', 'ListOfCallMethodRequest'), - ] + ] def __init__(self): self.MethodsToCall = [] @@ -6690,7 +6049,7 @@ class CallRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'CallParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CallRequest_Encoding_DefaultBinary) @@ -6699,11 +6058,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'CallRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'CallRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -6725,7 +6080,7 @@ class CallResponse(FrozenClass): ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfCallMethodResult'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CallResponse_Encoding_DefaultBinary) @@ -6735,12 +6090,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'CallResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Results:{self.Results}', - f'DiagnosticInfos:{self.DiagnosticInfos})' - )) + return f'CallResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ @@ -6750,7 +6100,7 @@ class MonitoringFilter(FrozenClass): """ ua_types = [ - ] + ] def __init__(self): self._freeze = True @@ -6775,7 +6125,7 @@ class DataChangeFilter(FrozenClass): ('Trigger', 'DataChangeTrigger'), ('DeadbandType', 'UInt32'), ('DeadbandValue', 'Double'), - ] + ] def __init__(self): self.Trigger = DataChangeTrigger(0) @@ -6784,11 +6134,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'DataChangeFilter(Trigger:{self.Trigger}', - f'DeadbandType:{self.DeadbandType}', - f'DeadbandValue:{self.DeadbandValue})' - )) + return f'DataChangeFilter(Trigger:{self.Trigger}, DeadbandType:{self.DeadbandType}, DeadbandValue:{self.DeadbandValue})' __repr__ = __str__ @@ -6804,7 +6150,7 @@ class EventFilter(FrozenClass): ua_types = [ ('SelectClauses', 'ListOfSimpleAttributeOperand'), ('WhereClause', 'ContentFilter'), - ] + ] def __init__(self): self.SelectClauses = [] @@ -6837,7 +6183,7 @@ class AggregateConfiguration(FrozenClass): ('PercentDataBad', 'Byte'), ('PercentDataGood', 'Byte'), ('UseSlopedExtrapolation', 'Boolean'), - ] + ] def __init__(self): self.UseServerCapabilitiesDefaults = True @@ -6848,13 +6194,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'AggregateConfiguration(UseServerCapabilitiesDefaults:{self.UseServerCapabilitiesDefaults}', - f'TreatUncertainAsBad:{self.TreatUncertainAsBad}', - f'PercentDataBad:{self.PercentDataBad}', - f'PercentDataGood:{self.PercentDataGood}', - f'UseSlopedExtrapolation:{self.UseSlopedExtrapolation})' - )) + return f'AggregateConfiguration(UseServerCapabilitiesDefaults:{self.UseServerCapabilitiesDefaults}, TreatUncertainAsBad:{self.TreatUncertainAsBad}, PercentDataBad:{self.PercentDataBad}, PercentDataGood:{self.PercentDataGood}, UseSlopedExtrapolation:{self.UseSlopedExtrapolation})' __repr__ = __str__ @@ -6876,7 +6216,7 @@ class AggregateFilter(FrozenClass): ('AggregateType', 'NodeId'), ('ProcessingInterval', 'Double'), ('AggregateConfiguration', 'AggregateConfiguration'), - ] + ] def __init__(self): self.StartTime = datetime.utcnow() @@ -6886,12 +6226,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'AggregateFilter(StartTime:{self.StartTime}', - f'AggregateType:{self.AggregateType}', - f'ProcessingInterval:{self.ProcessingInterval}', - f'AggregateConfiguration:{self.AggregateConfiguration})' - )) + return f'AggregateFilter(StartTime:{self.StartTime}, AggregateType:{self.AggregateType}, ProcessingInterval:{self.ProcessingInterval}, AggregateConfiguration:{self.AggregateConfiguration})' __repr__ = __str__ @@ -6901,7 +6236,7 @@ class MonitoringFilterResult(FrozenClass): """ ua_types = [ - ] + ] def __init__(self): self._freeze = True @@ -6926,7 +6261,7 @@ class EventFilterResult(FrozenClass): ('SelectClauseResults', 'ListOfStatusCode'), ('SelectClauseDiagnosticInfos', 'ListOfDiagnosticInfo'), ('WhereClauseResult', 'ContentFilterResult'), - ] + ] def __init__(self): self.SelectClauseResults = [] @@ -6935,11 +6270,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'EventFilterResult(SelectClauseResults:{self.SelectClauseResults}', - f'SelectClauseDiagnosticInfos:{self.SelectClauseDiagnosticInfos}', - f'WhereClauseResult:{self.WhereClauseResult})' - )) + return f'EventFilterResult(SelectClauseResults:{self.SelectClauseResults}, SelectClauseDiagnosticInfos:{self.SelectClauseDiagnosticInfos}, WhereClauseResult:{self.WhereClauseResult})' __repr__ = __str__ @@ -6958,7 +6289,7 @@ class AggregateFilterResult(FrozenClass): ('RevisedStartTime', 'DateTime'), ('RevisedProcessingInterval', 'Double'), ('RevisedAggregateConfiguration', 'AggregateConfiguration'), - ] + ] def __init__(self): self.RevisedStartTime = datetime.utcnow() @@ -6967,11 +6298,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'AggregateFilterResult(RevisedStartTime:{self.RevisedStartTime}', - f'RevisedProcessingInterval:{self.RevisedProcessingInterval}', - f'RevisedAggregateConfiguration:{self.RevisedAggregateConfiguration})' - )) + return f'AggregateFilterResult(RevisedStartTime:{self.RevisedStartTime}, RevisedProcessingInterval:{self.RevisedProcessingInterval}, RevisedAggregateConfiguration:{self.RevisedAggregateConfiguration})' __repr__ = __str__ @@ -6996,7 +6323,7 @@ class MonitoringParameters(FrozenClass): ('Filter', 'ExtensionObject'), ('QueueSize', 'UInt32'), ('DiscardOldest', 'Boolean'), - ] + ] def __init__(self): self.ClientHandle = 0 @@ -7007,13 +6334,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'MonitoringParameters(ClientHandle:{self.ClientHandle}', - f'SamplingInterval:{self.SamplingInterval}', - f'Filter:{self.Filter}', - f'QueueSize:{self.QueueSize}', - f'DiscardOldest:{self.DiscardOldest})' - )) + return f'MonitoringParameters(ClientHandle:{self.ClientHandle}, SamplingInterval:{self.SamplingInterval}, Filter:{self.Filter}, QueueSize:{self.QueueSize}, DiscardOldest:{self.DiscardOldest})' __repr__ = __str__ @@ -7032,7 +6353,7 @@ class MonitoredItemCreateRequest(FrozenClass): ('ItemToMonitor', 'ReadValueId'), ('MonitoringMode', 'MonitoringMode'), ('RequestedParameters', 'MonitoringParameters'), - ] + ] def __init__(self): self.ItemToMonitor = ReadValueId() @@ -7041,11 +6362,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'MonitoredItemCreateRequest(ItemToMonitor:{self.ItemToMonitor}', - f'MonitoringMode:{self.MonitoringMode}', - f'RequestedParameters:{self.RequestedParameters})' - )) + return f'MonitoredItemCreateRequest(ItemToMonitor:{self.ItemToMonitor}, MonitoringMode:{self.MonitoringMode}, RequestedParameters:{self.RequestedParameters})' __repr__ = __str__ @@ -7070,7 +6387,7 @@ class MonitoredItemCreateResult(FrozenClass): ('RevisedSamplingInterval', 'Double'), ('RevisedQueueSize', 'UInt32'), ('FilterResult', 'ExtensionObject'), - ] + ] def __init__(self): self.StatusCode = StatusCode() @@ -7081,13 +6398,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'MonitoredItemCreateResult(StatusCode:{self.StatusCode}', - f'MonitoredItemId:{self.MonitoredItemId}', - f'RevisedSamplingInterval:{self.RevisedSamplingInterval}', - f'RevisedQueueSize:{self.RevisedQueueSize}', - f'FilterResult:{self.FilterResult})' - )) + return f'MonitoredItemCreateResult(StatusCode:{self.StatusCode}, MonitoredItemId:{self.MonitoredItemId}, RevisedSamplingInterval:{self.RevisedSamplingInterval}, RevisedQueueSize:{self.RevisedQueueSize}, FilterResult:{self.FilterResult})' __repr__ = __str__ @@ -7106,7 +6417,7 @@ class CreateMonitoredItemsParameters(FrozenClass): ('SubscriptionId', 'UInt32'), ('TimestampsToReturn', 'TimestampsToReturn'), ('ItemsToCreate', 'ListOfMonitoredItemCreateRequest'), - ] + ] def __init__(self): self.SubscriptionId = 0 @@ -7115,11 +6426,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'CreateMonitoredItemsParameters(SubscriptionId:{self.SubscriptionId}', - f'TimestampsToReturn:{self.TimestampsToReturn}', - f'ItemsToCreate:{self.ItemsToCreate})' - )) + return f'CreateMonitoredItemsParameters(SubscriptionId:{self.SubscriptionId}, TimestampsToReturn:{self.TimestampsToReturn}, ItemsToCreate:{self.ItemsToCreate})' __repr__ = __str__ @@ -7138,7 +6445,7 @@ class CreateMonitoredItemsRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'CreateMonitoredItemsParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CreateMonitoredItemsRequest_Encoding_DefaultBinary) @@ -7147,11 +6454,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'CreateMonitoredItemsRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'CreateMonitoredItemsRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -7173,7 +6476,7 @@ class CreateMonitoredItemsResponse(FrozenClass): ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfMonitoredItemCreateResult'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CreateMonitoredItemsResponse_Encoding_DefaultBinary) @@ -7183,12 +6486,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'CreateMonitoredItemsResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Results:{self.Results}', - f'DiagnosticInfos:{self.DiagnosticInfos})' - )) + return f'CreateMonitoredItemsResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ @@ -7204,7 +6502,7 @@ class MonitoredItemModifyRequest(FrozenClass): ua_types = [ ('MonitoredItemId', 'UInt32'), ('RequestedParameters', 'MonitoringParameters'), - ] + ] def __init__(self): self.MonitoredItemId = 0 @@ -7212,10 +6510,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'MonitoredItemModifyRequest(MonitoredItemId:{self.MonitoredItemId}', - f'RequestedParameters:{self.RequestedParameters})' - )) + return f'MonitoredItemModifyRequest(MonitoredItemId:{self.MonitoredItemId}, RequestedParameters:{self.RequestedParameters})' __repr__ = __str__ @@ -7237,7 +6532,7 @@ class MonitoredItemModifyResult(FrozenClass): ('RevisedSamplingInterval', 'Double'), ('RevisedQueueSize', 'UInt32'), ('FilterResult', 'ExtensionObject'), - ] + ] def __init__(self): self.StatusCode = StatusCode() @@ -7247,12 +6542,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'MonitoredItemModifyResult(StatusCode:{self.StatusCode}', - f'RevisedSamplingInterval:{self.RevisedSamplingInterval}', - f'RevisedQueueSize:{self.RevisedQueueSize}', - f'FilterResult:{self.FilterResult})' - )) + return f'MonitoredItemModifyResult(StatusCode:{self.StatusCode}, RevisedSamplingInterval:{self.RevisedSamplingInterval}, RevisedQueueSize:{self.RevisedQueueSize}, FilterResult:{self.FilterResult})' __repr__ = __str__ @@ -7271,7 +6561,7 @@ class ModifyMonitoredItemsParameters(FrozenClass): ('SubscriptionId', 'UInt32'), ('TimestampsToReturn', 'TimestampsToReturn'), ('ItemsToModify', 'ListOfMonitoredItemModifyRequest'), - ] + ] def __init__(self): self.SubscriptionId = 0 @@ -7280,11 +6570,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ModifyMonitoredItemsParameters(SubscriptionId:{self.SubscriptionId}', - f'TimestampsToReturn:{self.TimestampsToReturn}', - f'ItemsToModify:{self.ItemsToModify})' - )) + return f'ModifyMonitoredItemsParameters(SubscriptionId:{self.SubscriptionId}, TimestampsToReturn:{self.TimestampsToReturn}, ItemsToModify:{self.ItemsToModify})' __repr__ = __str__ @@ -7303,7 +6589,7 @@ class ModifyMonitoredItemsRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'ModifyMonitoredItemsParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.ModifyMonitoredItemsRequest_Encoding_DefaultBinary) @@ -7312,11 +6598,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ModifyMonitoredItemsRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'ModifyMonitoredItemsRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -7338,7 +6620,7 @@ class ModifyMonitoredItemsResponse(FrozenClass): ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfMonitoredItemModifyResult'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.ModifyMonitoredItemsResponse_Encoding_DefaultBinary) @@ -7348,12 +6630,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ModifyMonitoredItemsResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Results:{self.Results}', - f'DiagnosticInfos:{self.DiagnosticInfos})' - )) + return f'ModifyMonitoredItemsResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ @@ -7372,7 +6649,7 @@ class SetMonitoringModeParameters(FrozenClass): ('SubscriptionId', 'UInt32'), ('MonitoringMode', 'MonitoringMode'), ('MonitoredItemIds', 'ListOfUInt32'), - ] + ] def __init__(self): self.SubscriptionId = 0 @@ -7381,11 +6658,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'SetMonitoringModeParameters(SubscriptionId:{self.SubscriptionId}', - f'MonitoringMode:{self.MonitoringMode}', - f'MonitoredItemIds:{self.MonitoredItemIds})' - )) + return f'SetMonitoringModeParameters(SubscriptionId:{self.SubscriptionId}, MonitoringMode:{self.MonitoringMode}, MonitoredItemIds:{self.MonitoredItemIds})' __repr__ = __str__ @@ -7404,7 +6677,7 @@ class SetMonitoringModeRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'SetMonitoringModeParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.SetMonitoringModeRequest_Encoding_DefaultBinary) @@ -7413,11 +6686,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'SetMonitoringModeRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'SetMonitoringModeRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -7433,7 +6702,7 @@ class SetMonitoringModeResult(FrozenClass): ua_types = [ ('Results', 'ListOfStatusCode'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.Results = [] @@ -7460,7 +6729,7 @@ class SetMonitoringModeResponse(FrozenClass): ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'SetMonitoringModeResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.SetMonitoringModeResponse_Encoding_DefaultBinary) @@ -7469,11 +6738,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'SetMonitoringModeResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Parameters:{self.Parameters})' - )) + return f'SetMonitoringModeResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -7495,7 +6760,7 @@ class SetTriggeringParameters(FrozenClass): ('TriggeringItemId', 'UInt32'), ('LinksToAdd', 'ListOfUInt32'), ('LinksToRemove', 'ListOfUInt32'), - ] + ] def __init__(self): self.SubscriptionId = 0 @@ -7505,12 +6770,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'SetTriggeringParameters(SubscriptionId:{self.SubscriptionId}', - f'TriggeringItemId:{self.TriggeringItemId}', - f'LinksToAdd:{self.LinksToAdd}', - f'LinksToRemove:{self.LinksToRemove})' - )) + return f'SetTriggeringParameters(SubscriptionId:{self.SubscriptionId}, TriggeringItemId:{self.TriggeringItemId}, LinksToAdd:{self.LinksToAdd}, LinksToRemove:{self.LinksToRemove})' __repr__ = __str__ @@ -7529,7 +6789,7 @@ class SetTriggeringRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'SetTriggeringParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.SetTriggeringRequest_Encoding_DefaultBinary) @@ -7538,11 +6798,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'SetTriggeringRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'SetTriggeringRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -7564,7 +6820,7 @@ class SetTriggeringResult(FrozenClass): ('AddDiagnosticInfos', 'ListOfDiagnosticInfo'), ('RemoveResults', 'ListOfStatusCode'), ('RemoveDiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.AddResults = [] @@ -7574,12 +6830,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'SetTriggeringResult(AddResults:{self.AddResults}', - f'AddDiagnosticInfos:{self.AddDiagnosticInfos}', - f'RemoveResults:{self.RemoveResults}', - f'RemoveDiagnosticInfos:{self.RemoveDiagnosticInfos})' - )) + return f'SetTriggeringResult(AddResults:{self.AddResults}, AddDiagnosticInfos:{self.AddDiagnosticInfos}, RemoveResults:{self.RemoveResults}, RemoveDiagnosticInfos:{self.RemoveDiagnosticInfos})' __repr__ = __str__ @@ -7598,7 +6849,7 @@ class SetTriggeringResponse(FrozenClass): ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'SetTriggeringResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.SetTriggeringResponse_Encoding_DefaultBinary) @@ -7607,11 +6858,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'SetTriggeringResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Parameters:{self.Parameters})' - )) + return f'SetTriggeringResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -7627,7 +6874,7 @@ class DeleteMonitoredItemsParameters(FrozenClass): ua_types = [ ('SubscriptionId', 'UInt32'), ('MonitoredItemIds', 'ListOfUInt32'), - ] + ] def __init__(self): self.SubscriptionId = 0 @@ -7635,10 +6882,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'DeleteMonitoredItemsParameters(SubscriptionId:{self.SubscriptionId}', - f'MonitoredItemIds:{self.MonitoredItemIds})' - )) + return f'DeleteMonitoredItemsParameters(SubscriptionId:{self.SubscriptionId}, MonitoredItemIds:{self.MonitoredItemIds})' __repr__ = __str__ @@ -7657,7 +6901,7 @@ class DeleteMonitoredItemsRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'DeleteMonitoredItemsParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.DeleteMonitoredItemsRequest_Encoding_DefaultBinary) @@ -7666,11 +6910,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'DeleteMonitoredItemsRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'DeleteMonitoredItemsRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -7692,7 +6932,7 @@ class DeleteMonitoredItemsResponse(FrozenClass): ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfStatusCode'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.DeleteMonitoredItemsResponse_Encoding_DefaultBinary) @@ -7702,12 +6942,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'DeleteMonitoredItemsResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Results:{self.Results}', - f'DiagnosticInfos:{self.DiagnosticInfos})' - )) + return f'DeleteMonitoredItemsResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ @@ -7735,7 +6970,7 @@ class CreateSubscriptionParameters(FrozenClass): ('MaxNotificationsPerPublish', 'UInt32'), ('PublishingEnabled', 'Boolean'), ('Priority', 'Byte'), - ] + ] def __init__(self): self.RequestedPublishingInterval = 0 @@ -7747,14 +6982,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'CreateSubscriptionParameters(RequestedPublishingInterval:{self.RequestedPublishingInterval}', - f'RequestedLifetimeCount:{self.RequestedLifetimeCount}', - f'RequestedMaxKeepAliveCount:{self.RequestedMaxKeepAliveCount}', - f'MaxNotificationsPerPublish:{self.MaxNotificationsPerPublish}', - f'PublishingEnabled:{self.PublishingEnabled}', - f'Priority:{self.Priority})' - )) + return f'CreateSubscriptionParameters(RequestedPublishingInterval:{self.RequestedPublishingInterval}, RequestedLifetimeCount:{self.RequestedLifetimeCount}, RequestedMaxKeepAliveCount:{self.RequestedMaxKeepAliveCount}, MaxNotificationsPerPublish:{self.MaxNotificationsPerPublish}, PublishingEnabled:{self.PublishingEnabled}, Priority:{self.Priority})' __repr__ = __str__ @@ -7773,7 +7001,7 @@ class CreateSubscriptionRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'CreateSubscriptionParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CreateSubscriptionRequest_Encoding_DefaultBinary) @@ -7782,11 +7010,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'CreateSubscriptionRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'CreateSubscriptionRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -7808,7 +7032,7 @@ class CreateSubscriptionResult(FrozenClass): ('RevisedPublishingInterval', 'Double'), ('RevisedLifetimeCount', 'UInt32'), ('RevisedMaxKeepAliveCount', 'UInt32'), - ] + ] def __init__(self): self.SubscriptionId = 0 @@ -7818,12 +7042,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'CreateSubscriptionResult(SubscriptionId:{self.SubscriptionId}', - f'RevisedPublishingInterval:{self.RevisedPublishingInterval}', - f'RevisedLifetimeCount:{self.RevisedLifetimeCount}', - f'RevisedMaxKeepAliveCount:{self.RevisedMaxKeepAliveCount})' - )) + return f'CreateSubscriptionResult(SubscriptionId:{self.SubscriptionId}, RevisedPublishingInterval:{self.RevisedPublishingInterval}, RevisedLifetimeCount:{self.RevisedLifetimeCount}, RevisedMaxKeepAliveCount:{self.RevisedMaxKeepAliveCount})' __repr__ = __str__ @@ -7842,7 +7061,7 @@ class CreateSubscriptionResponse(FrozenClass): ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'CreateSubscriptionResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.CreateSubscriptionResponse_Encoding_DefaultBinary) @@ -7851,11 +7070,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'CreateSubscriptionResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Parameters:{self.Parameters})' - )) + return f'CreateSubscriptionResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -7883,7 +7098,7 @@ class ModifySubscriptionParameters(FrozenClass): ('RequestedMaxKeepAliveCount', 'UInt32'), ('MaxNotificationsPerPublish', 'UInt32'), ('Priority', 'Byte'), - ] + ] def __init__(self): self.SubscriptionId = 0 @@ -7895,14 +7110,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ModifySubscriptionParameters(SubscriptionId:{self.SubscriptionId}', - f'RequestedPublishingInterval:{self.RequestedPublishingInterval}', - f'RequestedLifetimeCount:{self.RequestedLifetimeCount}', - f'RequestedMaxKeepAliveCount:{self.RequestedMaxKeepAliveCount}', - f'MaxNotificationsPerPublish:{self.MaxNotificationsPerPublish}', - f'Priority:{self.Priority})' - )) + return f'ModifySubscriptionParameters(SubscriptionId:{self.SubscriptionId}, RequestedPublishingInterval:{self.RequestedPublishingInterval}, RequestedLifetimeCount:{self.RequestedLifetimeCount}, RequestedMaxKeepAliveCount:{self.RequestedMaxKeepAliveCount}, MaxNotificationsPerPublish:{self.MaxNotificationsPerPublish}, Priority:{self.Priority})' __repr__ = __str__ @@ -7921,7 +7129,7 @@ class ModifySubscriptionRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'ModifySubscriptionParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.ModifySubscriptionRequest_Encoding_DefaultBinary) @@ -7930,11 +7138,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ModifySubscriptionRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'ModifySubscriptionRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -7953,7 +7157,7 @@ class ModifySubscriptionResult(FrozenClass): ('RevisedPublishingInterval', 'Double'), ('RevisedLifetimeCount', 'UInt32'), ('RevisedMaxKeepAliveCount', 'UInt32'), - ] + ] def __init__(self): self.RevisedPublishingInterval = 0 @@ -7962,11 +7166,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ModifySubscriptionResult(RevisedPublishingInterval:{self.RevisedPublishingInterval}', - f'RevisedLifetimeCount:{self.RevisedLifetimeCount}', - f'RevisedMaxKeepAliveCount:{self.RevisedMaxKeepAliveCount})' - )) + return f'ModifySubscriptionResult(RevisedPublishingInterval:{self.RevisedPublishingInterval}, RevisedLifetimeCount:{self.RevisedLifetimeCount}, RevisedMaxKeepAliveCount:{self.RevisedMaxKeepAliveCount})' __repr__ = __str__ @@ -7985,7 +7185,7 @@ class ModifySubscriptionResponse(FrozenClass): ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'ModifySubscriptionResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.ModifySubscriptionResponse_Encoding_DefaultBinary) @@ -7994,11 +7194,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ModifySubscriptionResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Parameters:{self.Parameters})' - )) + return f'ModifySubscriptionResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -8014,7 +7210,7 @@ class SetPublishingModeParameters(FrozenClass): ua_types = [ ('PublishingEnabled', 'Boolean'), ('SubscriptionIds', 'ListOfUInt32'), - ] + ] def __init__(self): self.PublishingEnabled = True @@ -8022,10 +7218,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'SetPublishingModeParameters(PublishingEnabled:{self.PublishingEnabled}', - f'SubscriptionIds:{self.SubscriptionIds})' - )) + return f'SetPublishingModeParameters(PublishingEnabled:{self.PublishingEnabled}, SubscriptionIds:{self.SubscriptionIds})' __repr__ = __str__ @@ -8044,7 +7237,7 @@ class SetPublishingModeRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'SetPublishingModeParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.SetPublishingModeRequest_Encoding_DefaultBinary) @@ -8053,11 +7246,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'SetPublishingModeRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'SetPublishingModeRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -8073,7 +7262,7 @@ class SetPublishingModeResult(FrozenClass): ua_types = [ ('Results', 'ListOfStatusCode'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.Results = [] @@ -8100,7 +7289,7 @@ class SetPublishingModeResponse(FrozenClass): ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'SetPublishingModeResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.SetPublishingModeResponse_Encoding_DefaultBinary) @@ -8109,11 +7298,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'SetPublishingModeResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Parameters:{self.Parameters})' - )) + return f'SetPublishingModeResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -8132,7 +7317,7 @@ class NotificationMessage(FrozenClass): ('SequenceNumber', 'UInt32'), ('PublishTime', 'DateTime'), ('NotificationData', 'ListOfExtensionObject'), - ] + ] def __init__(self): self.SequenceNumber = 0 @@ -8141,12 +7326,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'NotificationMessage(SequenceNumber:{self.SequenceNumber}', - f'PublishTime:{self.PublishTime}', - f'NotificationData:{self.NotificationData})' - - )) + return f'NotificationMessage(SequenceNumber:{self.SequenceNumber}, PublishTime:{self.PublishTime}, NotificationData:{self.NotificationData})' __repr__ = __str__ @@ -8156,7 +7336,7 @@ class NotificationData(FrozenClass): """ ua_types = [ - ] + ] def __init__(self): self._freeze = True @@ -8178,7 +7358,7 @@ class DataChangeNotification(FrozenClass): ua_types = [ ('MonitoredItems', 'ListOfMonitoredItemNotification'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.MonitoredItems = [] @@ -8202,7 +7382,7 @@ class MonitoredItemNotification(FrozenClass): ua_types = [ ('ClientHandle', 'UInt32'), ('Value', 'DataValue'), - ] + ] def __init__(self): self.ClientHandle = 0 @@ -8223,7 +7403,7 @@ class EventNotificationList(FrozenClass): ua_types = [ ('Events', 'ListOfEventFieldList'), - ] + ] def __init__(self): self.Events = [] @@ -8246,7 +7426,7 @@ class EventFieldList(FrozenClass): ua_types = [ ('ClientHandle', 'UInt32'), ('EventFields', 'ListOfVariant'), - ] + ] def __init__(self): self.ClientHandle = 0 @@ -8267,7 +7447,7 @@ class HistoryEventFieldList(FrozenClass): ua_types = [ ('EventFields', 'ListOfVariant'), - ] + ] def __init__(self): self.EventFields = [] @@ -8290,7 +7470,7 @@ class StatusChangeNotification(FrozenClass): ua_types = [ ('Status', 'StatusCode'), ('DiagnosticInfo', 'DiagnosticInfo'), - ] + ] def __init__(self): self.Status = StatusCode() @@ -8314,7 +7494,7 @@ class SubscriptionAcknowledgement(FrozenClass): ua_types = [ ('SubscriptionId', 'UInt32'), ('SequenceNumber', 'UInt32'), - ] + ] def __init__(self): self.SubscriptionId = 0 @@ -8322,10 +7502,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'SubscriptionAcknowledgement(SubscriptionId:{self.SubscriptionId}', - f'SequenceNumber:{self.SequenceNumber})' - )) + return f'SubscriptionAcknowledgement(SubscriptionId:{self.SubscriptionId}, SequenceNumber:{self.SequenceNumber})' __repr__ = __str__ @@ -8338,7 +7515,7 @@ class PublishParameters(FrozenClass): ua_types = [ ('SubscriptionAcknowledgements', 'ListOfSubscriptionAcknowledgement'), - ] + ] def __init__(self): self.SubscriptionAcknowledgements = [] @@ -8364,7 +7541,7 @@ class PublishRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'PublishParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.PublishRequest_Encoding_DefaultBinary) @@ -8373,11 +7550,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'PublishRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'PublishRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -8405,7 +7578,7 @@ class PublishResult(FrozenClass): ('NotificationMessage', 'NotificationMessage'), ('Results', 'ListOfStatusCode'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.SubscriptionId = 0 @@ -8417,14 +7590,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'PublishResult(SubscriptionId:{self.SubscriptionId}', - f'AvailableSequenceNumbers:{self.AvailableSequenceNumbers}', - f'MoreNotifications:{self.MoreNotifications}', - f'NotificationMessage:{self.NotificationMessage}', - f'Results:{self.Results}', - f'DiagnosticInfos:{self.DiagnosticInfos})' - )) + return f'PublishResult(SubscriptionId:{self.SubscriptionId}, AvailableSequenceNumbers:{self.AvailableSequenceNumbers}, MoreNotifications:{self.MoreNotifications}, NotificationMessage:{self.NotificationMessage}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ @@ -8443,7 +7609,7 @@ class PublishResponse(FrozenClass): ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'PublishResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.PublishResponse_Encoding_DefaultBinary) @@ -8452,11 +7618,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'PublishResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Parameters:{self.Parameters})' - )) + return f'PublishResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -8472,7 +7634,7 @@ class RepublishParameters(FrozenClass): ua_types = [ ('SubscriptionId', 'UInt32'), ('RetransmitSequenceNumber', 'UInt32'), - ] + ] def __init__(self): self.SubscriptionId = 0 @@ -8480,10 +7642,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'RepublishParameters(SubscriptionId:{self.SubscriptionId}', - f'RetransmitSequenceNumber:{self.RetransmitSequenceNumber})' - )) + return f'RepublishParameters(SubscriptionId:{self.SubscriptionId}, RetransmitSequenceNumber:{self.RetransmitSequenceNumber})' __repr__ = __str__ @@ -8502,7 +7661,7 @@ class RepublishRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'RepublishParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.RepublishRequest_Encoding_DefaultBinary) @@ -8511,11 +7670,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'RepublishRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'RepublishRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -8534,7 +7689,7 @@ class RepublishResponse(FrozenClass): ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('NotificationMessage', 'NotificationMessage'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.RepublishResponse_Encoding_DefaultBinary) @@ -8543,11 +7698,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'RepublishResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'NotificationMessage:{self.NotificationMessage})' - )) + return f'RepublishResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, NotificationMessage:{self.NotificationMessage})' __repr__ = __str__ @@ -8563,7 +7714,7 @@ class TransferResult(FrozenClass): ua_types = [ ('StatusCode', 'StatusCode'), ('AvailableSequenceNumbers', 'ListOfUInt32'), - ] + ] def __init__(self): self.StatusCode = StatusCode() @@ -8571,10 +7722,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'TransferResult(StatusCode:{self.StatusCode}', - f'AvailableSequenceNumbers:{self.AvailableSequenceNumbers})' - )) + return f'TransferResult(StatusCode:{self.StatusCode}, AvailableSequenceNumbers:{self.AvailableSequenceNumbers})' __repr__ = __str__ @@ -8590,7 +7738,7 @@ class TransferSubscriptionsParameters(FrozenClass): ua_types = [ ('SubscriptionIds', 'ListOfUInt32'), ('SendInitialValues', 'Boolean'), - ] + ] def __init__(self): self.SubscriptionIds = [] @@ -8598,10 +7746,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'TransferSubscriptionsParameters(SubscriptionIds:{self.SubscriptionIds}', - f'SendInitialValues:{self.SendInitialValues})' - )) + return f'TransferSubscriptionsParameters(SubscriptionIds:{self.SubscriptionIds}, SendInitialValues:{self.SendInitialValues})' __repr__ = __str__ @@ -8620,7 +7765,7 @@ class TransferSubscriptionsRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'TransferSubscriptionsParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.TransferSubscriptionsRequest_Encoding_DefaultBinary) @@ -8629,11 +7774,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'TransferSubscriptionsRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'TransferSubscriptionsRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -8649,7 +7790,7 @@ class TransferSubscriptionsResult(FrozenClass): ua_types = [ ('Results', 'ListOfTransferResult'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.Results = [] @@ -8676,7 +7817,7 @@ class TransferSubscriptionsResponse(FrozenClass): ('TypeId', 'NodeId'), ('ResponseHeader', 'ResponseHeader'), ('Parameters', 'TransferSubscriptionsResult'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.TransferSubscriptionsResponse_Encoding_DefaultBinary) @@ -8685,11 +7826,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'TransferSubscriptionsResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Parameters:{self.Parameters})' - )) + return f'TransferSubscriptionsResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -8702,7 +7839,7 @@ class DeleteSubscriptionsParameters(FrozenClass): ua_types = [ ('SubscriptionIds', 'ListOfUInt32'), - ] + ] def __init__(self): self.SubscriptionIds = [] @@ -8728,7 +7865,7 @@ class DeleteSubscriptionsRequest(FrozenClass): ('TypeId', 'NodeId'), ('RequestHeader', 'RequestHeader'), ('Parameters', 'DeleteSubscriptionsParameters'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.DeleteSubscriptionsRequest_Encoding_DefaultBinary) @@ -8737,11 +7874,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'DeleteSubscriptionsRequest(TypeId:{self.TypeId}', - f'RequestHeader:{self.RequestHeader}', - f'Parameters:{self.Parameters})' - )) + return f'DeleteSubscriptionsRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ @@ -8763,7 +7896,7 @@ class DeleteSubscriptionsResponse(FrozenClass): ('ResponseHeader', 'ResponseHeader'), ('Results', 'ListOfStatusCode'), ('DiagnosticInfos', 'ListOfDiagnosticInfo'), - ] + ] def __init__(self): self.TypeId = FourByteNodeId(ObjectIds.DeleteSubscriptionsResponse_Encoding_DefaultBinary) @@ -8773,12 +7906,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'DeleteSubscriptionsResponse(TypeId:{self.TypeId}', - f'ResponseHeader:{self.ResponseHeader}', - f'Results:{self.Results}', - f'DiagnosticInfos:{self.DiagnosticInfos})' - )) + return f'DeleteSubscriptionsResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ @@ -8806,7 +7934,7 @@ class BuildInfo(FrozenClass): ('SoftwareVersion', 'String'), ('BuildNumber', 'String'), ('BuildDate', 'DateTime'), - ] + ] def __init__(self): self.ProductUri = None @@ -8818,14 +7946,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'BuildInfo(ProductUri:{self.ProductUri}', - f'ManufacturerName:{self.ManufacturerName}', - f'ProductName:{self.ProductName}', - f'SoftwareVersion:{self.SoftwareVersion}', - f'BuildNumber:{self.BuildNumber}', - f'BuildDate:{self.BuildDate})' - )) + return f'BuildInfo(ProductUri:{self.ProductUri}, ManufacturerName:{self.ManufacturerName}, ProductName:{self.ProductName}, SoftwareVersion:{self.SoftwareVersion}, BuildNumber:{self.BuildNumber}, BuildDate:{self.BuildDate})' __repr__ = __str__ @@ -8844,7 +7965,7 @@ class RedundantServerDataType(FrozenClass): ('ServerId', 'String'), ('ServiceLevel', 'Byte'), ('ServerState', 'ServerState'), - ] + ] def __init__(self): self.ServerId = None @@ -8853,11 +7974,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'RedundantServerDataType(ServerId:{self.ServerId}', - f'ServiceLevel:{self.ServiceLevel}', - f'ServerState:{self.ServerState})' - )) + return f'RedundantServerDataType(ServerId:{self.ServerId}, ServiceLevel:{self.ServiceLevel}, ServerState:{self.ServerState})' __repr__ = __str__ @@ -8870,7 +7987,7 @@ class EndpointUrlListDataType(FrozenClass): ua_types = [ ('EndpointUrlList', 'ListOfString'), - ] + ] def __init__(self): self.EndpointUrlList = [] @@ -8893,7 +8010,7 @@ class NetworkGroupDataType(FrozenClass): ua_types = [ ('ServerUri', 'String'), ('NetworkPaths', 'ListOfEndpointUrlListDataType'), - ] + ] def __init__(self): self.ServerUri = None @@ -8923,7 +8040,7 @@ class SamplingIntervalDiagnosticsDataType(FrozenClass): ('MonitoredItemCount', 'UInt32'), ('MaxMonitoredItemCount', 'UInt32'), ('DisabledMonitoredItemCount', 'UInt32'), - ] + ] def __init__(self): self.SamplingInterval = 0 @@ -8933,12 +8050,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'SamplingIntervalDiagnosticsDataType(SamplingInterval:{self.SamplingInterval}', - f'MonitoredItemCount:{self.MonitoredItemCount}', - f'MaxMonitoredItemCount:{self.MaxMonitoredItemCount}', - f'DisabledMonitoredItemCount:{self.DisabledMonitoredItemCount})' - )) + return f'SamplingIntervalDiagnosticsDataType(SamplingInterval:{self.SamplingInterval}, MonitoredItemCount:{self.MonitoredItemCount}, MaxMonitoredItemCount:{self.MaxMonitoredItemCount}, DisabledMonitoredItemCount:{self.DisabledMonitoredItemCount})' __repr__ = __str__ @@ -8984,7 +8096,7 @@ class ServerDiagnosticsSummaryDataType(FrozenClass): ('PublishingIntervalCount', 'UInt32'), ('SecurityRejectedRequestsCount', 'UInt32'), ('RejectedRequestsCount', 'UInt32'), - ] + ] def __init__(self): self.ServerViewCount = 0 @@ -9002,20 +8114,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ServerDiagnosticsSummaryDataType(ServerViewCount:{self.ServerViewCount}', - f'CurrentSessionCount:{self.CurrentSessionCount}', - f'CumulatedSessionCount:{self.CumulatedSessionCount}', - f'SecurityRejectedSessionCount:{self.SecurityRejectedSessionCount}', - f'RejectedSessionCount:{self.RejectedSessionCount}', - f'SessionTimeoutCount:{self.SessionTimeoutCount}', - f'SessionAbortCount:{self.SessionAbortCount}', - f'CurrentSubscriptionCount:{self.CurrentSubscriptionCount}', - f'CumulatedSubscriptionCount:{self.CumulatedSubscriptionCount}', - f'PublishingIntervalCount:{self.PublishingIntervalCount}', - f'SecurityRejectedRequestsCount:{self.SecurityRejectedRequestsCount}', - f'RejectedRequestsCount:{self.RejectedRequestsCount})' - )) + return f'ServerDiagnosticsSummaryDataType(ServerViewCount:{self.ServerViewCount}, CurrentSessionCount:{self.CurrentSessionCount}, CumulatedSessionCount:{self.CumulatedSessionCount}, SecurityRejectedSessionCount:{self.SecurityRejectedSessionCount}, RejectedSessionCount:{self.RejectedSessionCount}, SessionTimeoutCount:{self.SessionTimeoutCount}, SessionAbortCount:{self.SessionAbortCount}, CurrentSubscriptionCount:{self.CurrentSubscriptionCount}, CumulatedSubscriptionCount:{self.CumulatedSubscriptionCount}, PublishingIntervalCount:{self.PublishingIntervalCount}, SecurityRejectedRequestsCount:{self.SecurityRejectedRequestsCount}, RejectedRequestsCount:{self.RejectedRequestsCount})' __repr__ = __str__ @@ -9043,7 +8142,7 @@ class ServerStatusDataType(FrozenClass): ('BuildInfo', 'BuildInfo'), ('SecondsTillShutdown', 'UInt32'), ('ShutdownReason', 'LocalizedText'), - ] + ] def __init__(self): self.StartTime = datetime.utcnow() @@ -9055,14 +8154,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ServerStatusDataType(StartTime:{self.StartTime}', - f'CurrentTime:{self.CurrentTime}', - f'State:{self.State}', - f'BuildInfo:{self.BuildInfo}', - f'SecondsTillShutdown:{self.SecondsTillShutdown}', - f'ShutdownReason:{self.ShutdownReason})' - )) + return f'ServerStatusDataType(StartTime:{self.StartTime}, CurrentTime:{self.CurrentTime}, State:{self.State}, BuildInfo:{self.BuildInfo}, SecondsTillShutdown:{self.SecondsTillShutdown}, ShutdownReason:{self.ShutdownReason})' __repr__ = __str__ @@ -9201,7 +8293,7 @@ class SessionDiagnosticsDataType(FrozenClass): ('QueryNextCount', 'ServiceCounterDataType'), ('RegisterNodesCount', 'ServiceCounterDataType'), ('UnregisterNodesCount', 'ServiceCounterDataType'), - ] + ] def __init__(self): self.SessionId = NodeId() @@ -9250,51 +8342,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'SessionDiagnosticsDataType(SessionId:{self.SessionId}', - f'SessionName:{self.SessionName}', - f'ClientDescription:{self.ClientDescription}', - f'ServerUri:{self.ServerUri}', - f'EndpointUrl:{self.EndpointUrl}', - f'LocaleIds:{self.LocaleIds}', - f'ActualSessionTimeout:{self.ActualSessionTimeout}', - f'MaxResponseMessageSize:{self.MaxResponseMessageSize}', - f'ClientConnectionTime:{self.ClientConnectionTime}', - f'ClientLastContactTime:{self.ClientLastContactTime}', - f'CurrentSubscriptionsCount:{self.CurrentSubscriptionsCount}', - f'CurrentMonitoredItemsCount:{self.CurrentMonitoredItemsCount}', - f'CurrentPublishRequestsInQueue:{self.CurrentPublishRequestsInQueue}', - f'TotalRequestCount:{self.TotalRequestCount}', - f'UnauthorizedRequestCount:{self.UnauthorizedRequestCount}', - f'ReadCount:{self.ReadCount}', - f'HistoryReadCount:{self.HistoryReadCount}', - f'WriteCount:{self.WriteCount}', - f'HistoryUpdateCount:{self.HistoryUpdateCount}', - f'CallCount:{self.CallCount}', - f'CreateMonitoredItemsCount:{self.CreateMonitoredItemsCount}', - f'ModifyMonitoredItemsCount:{self.ModifyMonitoredItemsCount}', - f'SetMonitoringModeCount:{self.SetMonitoringModeCount}', - f'SetTriggeringCount:{self.SetTriggeringCount}', - f'DeleteMonitoredItemsCount:{self.DeleteMonitoredItemsCount}', - f'CreateSubscriptionCount:{self.CreateSubscriptionCount}', - f'ModifySubscriptionCount:{self.ModifySubscriptionCount}', - f'SetPublishingModeCount:{self.SetPublishingModeCount}', - f'PublishCount:{self.PublishCount}', - f'RepublishCount:{self.RepublishCount}', - f'TransferSubscriptionsCount:{self.TransferSubscriptionsCount}', - f'DeleteSubscriptionsCount:{self.DeleteSubscriptionsCount}', - f'AddNodesCount:{self.AddNodesCount}', - f'AddReferencesCount:{self.AddReferencesCount}', - f'DeleteNodesCount:{self.DeleteNodesCount}', - f'DeleteReferencesCount:{self.DeleteReferencesCount}', - f'BrowseCount:{self.BrowseCount}', - f'BrowseNextCount:{self.BrowseNextCount}', - f'TranslateBrowsePathsToNodeIdsCount:{self.TranslateBrowsePathsToNodeIdsCount}', - f'QueryFirstCount:{self.QueryFirstCount}', - f'QueryNextCount:{self.QueryNextCount}', - f'RegisterNodesCount:{self.RegisterNodesCount}', - f'UnregisterNodesCount:{self.UnregisterNodesCount})' - )) + return f'SessionDiagnosticsDataType(SessionId:{self.SessionId}, SessionName:{self.SessionName}, ClientDescription:{self.ClientDescription}, ServerUri:{self.ServerUri}, EndpointUrl:{self.EndpointUrl}, LocaleIds:{self.LocaleIds}, ActualSessionTimeout:{self.ActualSessionTimeout}, MaxResponseMessageSize:{self.MaxResponseMessageSize}, ClientConnectionTime:{self.ClientConnectionTime}, ClientLastContactTime:{self.ClientLastContactTime}, CurrentSubscriptionsCount:{self.CurrentSubscriptionsCount}, CurrentMonitoredItemsCount:{self.CurrentMonitoredItemsCount}, CurrentPublishRequestsInQueue:{self.CurrentPublishRequestsInQueue}, TotalRequestCount:{self.TotalRequestCount}, UnauthorizedRequestCount:{self.UnauthorizedRequestCount}, ReadCount:{self.ReadCount}, HistoryReadCount:{self.HistoryReadCount}, WriteCount:{self.WriteCount}, HistoryUpdateCount:{self.HistoryUpdateCount}, CallCount:{self.CallCount}, CreateMonitoredItemsCount:{self.CreateMonitoredItemsCount}, ModifyMonitoredItemsCount:{self.ModifyMonitoredItemsCount}, SetMonitoringModeCount:{self.SetMonitoringModeCount}, SetTriggeringCount:{self.SetTriggeringCount}, DeleteMonitoredItemsCount:{self.DeleteMonitoredItemsCount}, CreateSubscriptionCount:{self.CreateSubscriptionCount}, ModifySubscriptionCount:{self.ModifySubscriptionCount}, SetPublishingModeCount:{self.SetPublishingModeCount}, PublishCount:{self.PublishCount}, RepublishCount:{self.RepublishCount}, TransferSubscriptionsCount:{self.TransferSubscriptionsCount}, DeleteSubscriptionsCount:{self.DeleteSubscriptionsCount}, AddNodesCount:{self.AddNodesCount}, AddReferencesCount:{self.AddReferencesCount}, DeleteNodesCount:{self.DeleteNodesCount}, DeleteReferencesCount:{self.DeleteReferencesCount}, BrowseCount:{self.BrowseCount}, BrowseNextCount:{self.BrowseNextCount}, TranslateBrowsePathsToNodeIdsCount:{self.TranslateBrowsePathsToNodeIdsCount}, QueryFirstCount:{self.QueryFirstCount}, QueryNextCount:{self.QueryNextCount}, RegisterNodesCount:{self.RegisterNodesCount}, UnregisterNodesCount:{self.UnregisterNodesCount})' __repr__ = __str__ @@ -9331,7 +8379,7 @@ class SessionSecurityDiagnosticsDataType(FrozenClass): ('SecurityMode', 'MessageSecurityMode'), ('SecurityPolicyUri', 'String'), ('ClientCertificate', 'ByteString'), - ] + ] def __init__(self): self.SessionId = NodeId() @@ -9346,17 +8394,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'SessionSecurityDiagnosticsDataType(SessionId:{self.SessionId}', - f'ClientUserIdOfSession:{self.ClientUserIdOfSession}', - f'ClientUserIdHistory:{self.ClientUserIdHistory}', - f'AuthenticationMechanism:{self.AuthenticationMechanism}', - f'Encoding:{self.Encoding}', - f'TransportProtocol:{self.TransportProtocol}', - f'SecurityMode:{self.SecurityMode}', - f'SecurityPolicyUri:{self.SecurityPolicyUri}', - f'ClientCertificate:{self.ClientCertificate})' - )) + return f'SessionSecurityDiagnosticsDataType(SessionId:{self.SessionId}, ClientUserIdOfSession:{self.ClientUserIdOfSession}, ClientUserIdHistory:{self.ClientUserIdHistory}, AuthenticationMechanism:{self.AuthenticationMechanism}, Encoding:{self.Encoding}, TransportProtocol:{self.TransportProtocol}, SecurityMode:{self.SecurityMode}, SecurityPolicyUri:{self.SecurityPolicyUri}, ClientCertificate:{self.ClientCertificate})' __repr__ = __str__ @@ -9372,7 +8410,7 @@ class ServiceCounterDataType(FrozenClass): ua_types = [ ('TotalCount', 'UInt32'), ('ErrorCount', 'UInt32'), - ] + ] def __init__(self): self.TotalCount = 0 @@ -9396,7 +8434,7 @@ class StatusResult(FrozenClass): ua_types = [ ('StatusCode', 'StatusCode'), ('DiagnosticInfo', 'DiagnosticInfo'), - ] + ] def __init__(self): self.StatusCode = StatusCode() @@ -9507,7 +8545,7 @@ class SubscriptionDiagnosticsDataType(FrozenClass): ('MonitoringQueueOverflowCount', 'UInt32'), ('NextSequenceNumber', 'UInt32'), ('EventQueueOverFlowCount', 'UInt32'), - ] + ] def __init__(self): self.SessionId = NodeId() @@ -9544,39 +8582,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'SubscriptionDiagnosticsDataType(SessionId:{self.SessionId}', - f'SubscriptionId:{self.SubscriptionId}', - f'Priority:{self.Priority}', - f'PublishingInterval:{self.PublishingInterval}', - f'MaxKeepAliveCount:{self.MaxKeepAliveCount}', - f'MaxLifetimeCount:{self.MaxLifetimeCount}', - f'MaxNotificationsPerPublish:{self.MaxNotificationsPerPublish}', - f'PublishingEnabled:{self.PublishingEnabled}', - f'ModifyCount:{self.ModifyCount}', - f'EnableCount:{self.EnableCount}', - f'DisableCount:{self.DisableCount}', - f'RepublishRequestCount:{self.RepublishRequestCount}', - f'RepublishMessageRequestCount:{self.RepublishMessageRequestCount}', - f'RepublishMessageCount:{self.RepublishMessageCount}', - f'TransferRequestCount:{self.TransferRequestCount}', - f'TransferredToAltClientCount:{self.TransferredToAltClientCount}', - f'TransferredToSameClientCount:{self.TransferredToSameClientCount}', - f'PublishRequestCount:{self.PublishRequestCount}', - f'DataChangeNotificationsCount:{self.DataChangeNotificationsCount}', - f'EventNotificationsCount:{self.EventNotificationsCount}', - f'NotificationsCount:{self.NotificationsCount}', - f'LatePublishRequestCount:{self.LatePublishRequestCount}', - f'CurrentKeepAliveCount:{self.CurrentKeepAliveCount}', - f'CurrentLifetimeCount:{self.CurrentLifetimeCount}', - f'UnacknowledgedMessageCount:{self.UnacknowledgedMessageCount}', - f'DiscardedMessageCount:{self.DiscardedMessageCount}', - f'MonitoredItemCount:{self.MonitoredItemCount}', - f'DisabledMonitoredItemCount:{self.DisabledMonitoredItemCount}', - f'MonitoringQueueOverflowCount:{self.MonitoringQueueOverflowCount}', - f'NextSequenceNumber:{self.NextSequenceNumber}', - f'EventQueueOverFlowCount:{self.EventQueueOverFlowCount})' - )) + return f'SubscriptionDiagnosticsDataType(SessionId:{self.SessionId}, SubscriptionId:{self.SubscriptionId}, Priority:{self.Priority}, PublishingInterval:{self.PublishingInterval}, MaxKeepAliveCount:{self.MaxKeepAliveCount}, MaxLifetimeCount:{self.MaxLifetimeCount}, MaxNotificationsPerPublish:{self.MaxNotificationsPerPublish}, PublishingEnabled:{self.PublishingEnabled}, ModifyCount:{self.ModifyCount}, EnableCount:{self.EnableCount}, DisableCount:{self.DisableCount}, RepublishRequestCount:{self.RepublishRequestCount}, RepublishMessageRequestCount:{self.RepublishMessageRequestCount}, RepublishMessageCount:{self.RepublishMessageCount}, TransferRequestCount:{self.TransferRequestCount}, TransferredToAltClientCount:{self.TransferredToAltClientCount}, TransferredToSameClientCount:{self.TransferredToSameClientCount}, PublishRequestCount:{self.PublishRequestCount}, DataChangeNotificationsCount:{self.DataChangeNotificationsCount}, EventNotificationsCount:{self.EventNotificationsCount}, NotificationsCount:{self.NotificationsCount}, LatePublishRequestCount:{self.LatePublishRequestCount}, CurrentKeepAliveCount:{self.CurrentKeepAliveCount}, CurrentLifetimeCount:{self.CurrentLifetimeCount}, UnacknowledgedMessageCount:{self.UnacknowledgedMessageCount}, DiscardedMessageCount:{self.DiscardedMessageCount}, MonitoredItemCount:{self.MonitoredItemCount}, DisabledMonitoredItemCount:{self.DisabledMonitoredItemCount}, MonitoringQueueOverflowCount:{self.MonitoringQueueOverflowCount}, NextSequenceNumber:{self.NextSequenceNumber}, EventQueueOverFlowCount:{self.EventQueueOverFlowCount})' __repr__ = __str__ @@ -9595,7 +8601,7 @@ class ModelChangeStructureDataType(FrozenClass): ('Affected', 'NodeId'), ('AffectedType', 'NodeId'), ('Verb', 'Byte'), - ] + ] def __init__(self): self.Affected = NodeId() @@ -9604,11 +8610,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ModelChangeStructureDataType(Affected:{self.Affected}', - f'AffectedType:{self.AffectedType}', - f'Verb:{self.Verb})' - )) + return f'ModelChangeStructureDataType(Affected:{self.Affected}, AffectedType:{self.AffectedType}, Verb:{self.Verb})' __repr__ = __str__ @@ -9624,7 +8626,7 @@ class SemanticChangeStructureDataType(FrozenClass): ua_types = [ ('Affected', 'NodeId'), ('AffectedType', 'NodeId'), - ] + ] def __init__(self): self.Affected = NodeId() @@ -9648,7 +8650,7 @@ class Range(FrozenClass): ua_types = [ ('Low', 'Double'), ('High', 'Double'), - ] + ] def __init__(self): self.Low = 0 @@ -9678,7 +8680,7 @@ class EUInformation(FrozenClass): ('UnitId', 'Int32'), ('DisplayName', 'LocalizedText'), ('Description', 'LocalizedText'), - ] + ] def __init__(self): self.NamespaceUri = None @@ -9688,12 +8690,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'EUInformation(NamespaceUri:{self.NamespaceUri}', - f'UnitId:{self.UnitId}', - f'DisplayName:{self.DisplayName}', - f'Description:{self.Description})' - )) + return f'EUInformation(NamespaceUri:{self.NamespaceUri}, UnitId:{self.UnitId}, DisplayName:{self.DisplayName}, Description:{self.Description})' __repr__ = __str__ @@ -9709,7 +8706,7 @@ class ComplexNumberType(FrozenClass): ua_types = [ ('Real', 'Float'), ('Imaginary', 'Float'), - ] + ] def __init__(self): self.Real = 0 @@ -9733,7 +8730,7 @@ class DoubleComplexNumberType(FrozenClass): ua_types = [ ('Real', 'Double'), ('Imaginary', 'Double'), - ] + ] def __init__(self): self.Real = 0 @@ -9766,7 +8763,7 @@ class AxisInformation(FrozenClass): ('Title', 'LocalizedText'), ('AxisScaleType', 'AxisScaleEnumeration'), ('AxisSteps', 'ListOfDouble'), - ] + ] def __init__(self): self.EngineeringUnits = EUInformation() @@ -9777,13 +8774,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'AxisInformation(EngineeringUnits:{self.EngineeringUnits}', - f'EURange:{self.EURange}', - f'Title:{self.Title}', - f'AxisScaleType:{self.AxisScaleType}', - f'AxisSteps:{self.AxisSteps})' - )) + return f'AxisInformation(EngineeringUnits:{self.EngineeringUnits}, EURange:{self.EURange}, Title:{self.Title}, AxisScaleType:{self.AxisScaleType}, AxisSteps:{self.AxisSteps})' __repr__ = __str__ @@ -9799,7 +8790,7 @@ class XVType(FrozenClass): ua_types = [ ('X', 'Double'), ('Value', 'Float'), - ] + ] def __init__(self): self.X = 0 @@ -9847,7 +8838,7 @@ class ProgramDiagnosticDataType(FrozenClass): ('LastMethodOutputArguments', 'ListOfArgument'), ('LastMethodCallTime', 'DateTime'), ('LastMethodReturnStatus', 'StatusResult'), - ] + ] def __init__(self): self.CreateSessionId = NodeId() @@ -9863,18 +8854,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'ProgramDiagnosticDataType(CreateSessionId:{self.CreateSessionId}', - f'CreateClientName:{self.CreateClientName}', - f'InvocationCreationTime:{self.InvocationCreationTime}', - f'LastTransitionTime:{self.LastTransitionTime}', - f'LastMethodCall:{self.LastMethodCall}', - f'LastMethodSessionId:{self.LastMethodSessionId}', - f'LastMethodInputArguments:{self.LastMethodInputArguments}', - f'LastMethodOutputArguments:{self.LastMethodOutputArguments}', - f'LastMethodCallTime:{self.LastMethodCallTime}', - f'LastMethodReturnStatus:{self.LastMethodReturnStatus})' - )) + return f'ProgramDiagnosticDataType(CreateSessionId:{self.CreateSessionId}, CreateClientName:{self.CreateClientName}, InvocationCreationTime:{self.InvocationCreationTime}, LastTransitionTime:{self.LastTransitionTime}, LastMethodCall:{self.LastMethodCall}, LastMethodSessionId:{self.LastMethodSessionId}, LastMethodInputArguments:{self.LastMethodInputArguments}, LastMethodOutputArguments:{self.LastMethodOutputArguments}, LastMethodCallTime:{self.LastMethodCallTime}, LastMethodReturnStatus:{self.LastMethodReturnStatus})' __repr__ = __str__ @@ -9893,7 +8873,7 @@ class Annotation(FrozenClass): ('Message', 'String'), ('UserName', 'String'), ('AnnotationTime', 'DateTime'), - ] + ] def __init__(self): self.Message = None @@ -9902,11 +8882,7 @@ def __init__(self): self._freeze = True def __str__(self): - return ', '.join(( - f'Annotation(Message:{self.Message}', - f'UserName:{self.UserName}', - f'AnnotationTime:{self.AnnotationTime})' - )) + return f'Annotation(Message:{self.Message}, UserName:{self.UserName}, AnnotationTime:{self.AnnotationTime})' __repr__ = __str__ diff --git a/schemas/generate_protocol_python.py b/schemas/generate_protocol_python.py index 7dd41868d..6d7b9e899 100644 --- a/schemas/generate_protocol_python.py +++ b/schemas/generate_protocol_python.py @@ -2,6 +2,7 @@ IgnoredEnums = ["NodeIdType"] IgnoredStructs = ["QualifiedName", "NodeId", "ExpandedNodeId", "FilterOperand", "Variant", "DataValue", "ExtensionObject", "XmlElement", "LocalizedText"] + class Primitives1(object): SByte = 0 Int16 = 0 @@ -26,18 +27,18 @@ class Primitives(Primitives1): DateTime = 0 - class CodeGenerator(object): def __init__(self, model, output): self.model = model self.output_path = output - self.indent = " " + self.output_file = None + self.indent = ' ' self.iidx = 0 # indent index def run(self): - print("Writting python protocol code to ", self.output_path) - self.output_file = open(self.output_path, "w") + print('Writting python protocol code to ', self.output_path) + self.output_file = open(self.output_path, 'w') self.make_header() for enum in self.model.enums: if enum.name not in IgnoredEnums: @@ -45,7 +46,7 @@ def run(self): for struct in self.model.structs: if struct.name in IgnoredStructs: continue - if struct.name.endswith("Node") or struct.name.endswith("NodeId"): + if struct.name.endswith('Node') or struct.name.endswith('NodeId'): continue self.generate_struct_code(struct) @@ -55,12 +56,12 @@ def run(self): for struct in self.model.structs: if struct.name in IgnoredStructs: continue - if struct.name.endswith("Node") or struct.name.endswith("NodeId"): + if struct.name.endswith('Node') or struct.name.endswith('NodeId'): continue - if "ExtensionObject" in struct.parents: - self.write("nid = FourByteNodeId(ObjectIds.{0}_Encoding_DefaultBinary)".format(struct.name)) - self.write("extension_object_classes[nid] = {0}".format(struct.name)) - self.write("extension_object_ids['{0}'] = nid".format(struct.name)) + if 'ExtensionObject' in struct.parents: + self.write(f"nid = FourByteNodeId(ObjectIds.{struct.name}_Encoding_DefaultBinary)") + self.write(f"extension_object_classes[nid] = {struct.name}") + self.write(f"extension_object_ids['{struct.name}'] = nid") def write(self, line): if line: @@ -68,59 +69,59 @@ def write(self, line): self.output_file.write(line + "\n") def make_header(self): - self.write("'''") - self.write("Autogenerate code from xml spec") - self.write("'''") - self.write("") - self.write("from datetime import datetime") - self.write("from enum import IntEnum") - self.write("") - #self.write("from opcua.ua.uaerrors import UaError") - self.write("from opcua.ua.uatypes import *") - self.write("from opcua.ua.object_ids import ObjectIds") + self.write('"""') + self.write('Autogenerate code from xml spec') + self.write('"""') + self.write('') + self.write('from datetime import datetime') + self.write('from enum import IntEnum') + self.write('') + #self.write('from opcua.ua.uaerrors import UaError') + self.write('from opcua.ua.uatypes import *') + self.write('from opcua.ua.object_ids import ObjectIds') def generate_enum_code(self, enum): - self.write("") - self.write("") - self.write("class {}(IntEnum):".format(enum.name)) + self.write('') + self.write('') + self.write(f'class {enum.name}(IntEnum):') self.iidx = 1 - self.write("'''") + self.write('"""') if enum.doc: self.write(enum.doc) self.write("") for val in enum.values: - self.write(":ivar {}:".format(val.name)) - self.write(":vartype {}: {}".format(val.name, val.value)) - self.write("'''") + self.write(f':ivar {val.name}:') + self.write(f':vartype {val.name}: {val.value}') + self.write('"""') for val in enum.values: - self.write("{} = {}".format(val.name, val.value)) + self.write(f'{val.name} = {val.value}') self.iidx = 0 def generate_struct_code(self, obj): - self.write("") - self.write("") + self.write('') + self.write('') self.iidx = 0 - self.write("class {}(FrozenClass):".format(obj.name)) + self.write(f'class {obj.name}(FrozenClass):') self.iidx += 1 - self.write("'''") + self.write('"""') if obj.doc: self.write(obj.doc) self.write("") for field in obj.fields: - self.write(":ivar {}:".format(field.name)) - self.write(":vartype {}: {}".format(field.name, field.uatype)) - self.write("'''") + self.write(f':ivar {field.name}:') + self.write(f':vartype {field.name}: {field.uatype}') + self.write('"""') - self.write("") + self.write('') switch_written = False for field in obj.fields: if field.switchfield is not None: if not switch_written: - self.write("ua_switches = {") + self.write('ua_switches = {') switch_written = True bit = obj.bits[field.switchfield] - self.write(" '{}': ('{}', {}),".format(field.name, bit.container, bit.idx)) + self.write(f" '{field.name}': ('{bit.container}', {bit.idx}),") #if field.switchvalue is not None: Not sure we need to handle that one if switch_written: self.write(" }") @@ -130,7 +131,7 @@ def generate_struct_code(self, obj): uatype = prefix + field.uatype if uatype == "ListOfChar": uatype = "String" - self.write(" ('{}', '{}'),".format(field.name, uatype)) + self.write(f" ('{field.name}', '{uatype}'),") self.write(" ]") self.write("") @@ -148,9 +149,9 @@ def generate_struct_code(self, obj): elif field.uatype == obj.name: # help!!! selv referencing class self.write("self.{} = None".format(field.name)) elif not obj.name in ("ExtensionObject") and field.name == "TypeId": # and ( obj.name.endswith("Request") or obj.name.endswith("Response")): - self.write("self.TypeId = FourByteNodeId(ObjectIds.{}_Encoding_DefaultBinary)".format(obj.name)) + self.write(f"self.TypeId = FourByteNodeId(ObjectIds.{obj.name}_Encoding_DefaultBinary)") else: - self.write("self.{} = {}".format(field.name, "[]" if field.length else self.get_default_value(field))) + self.write(f"self.{field.name} = {'[]' if field.length else self.get_default_value(field)}") self.write("self._freeze = True") self.iidx = 1 @@ -158,9 +159,12 @@ def generate_struct_code(self, obj): self.write("") self.write("def __str__(self):") self.iidx += 1 - tmp = ["'{name}:' + str(self.{name})".format(name=f.name) for f in obj.fields] - tmp = " + ', ' + \\\n ".join(tmp) - self.write("return '{}(' + {} + ')'".format(obj.name, tmp)) + tmp = [f"{f.name}:{{self.{f.name}}}" for f in obj.fields] + tmp = ", ".join(tmp) + if tmp: + self.write(f"return f'{obj.name}({tmp})'") + else: + self.write(f"return '{obj.name}()'") self.iidx -= 1 self.write("") self.write("__repr__ = __str__") @@ -168,7 +172,7 @@ def generate_struct_code(self, obj): self.iix = 0 def write_unpack_enum(self, name, enum): - self.write("self.{} = {}(uabin.Primitives.{}.unpack(data))".format(name, enum.name, enum.uatype)) + self.write(f"self.{name} = {enum.name}(uabin.Primitives.{enum.uatype}.unpack(data))") def get_size_from_uatype(self, uatype): if uatype in ("Sbyte", "Byte", "Char", "Boolean"): @@ -180,22 +184,22 @@ def get_size_from_uatype(self, uatype): elif uatype in ("Int64", "UInt64", "Double"): return 8 else: - raise Exception("Cannot get size from type {}".format(uatype)) + raise Exception(f"Cannot get size from type {uatype}") def write_unpack_uatype(self, name, uatype): if hasattr(Primitives, uatype): - self.write("self.{} = uabin.Primitives.{}.unpack(data)".format(name, uatype)) + self.write(f"self.{name} = uabin.Primitives.{uatype}.unpack(data)") else: - self.write("self.{} = {}.from_binary(data))".format(name, uatype)) + self.write(f"self.{name} = {uatype}.from_binary(data))") def write_pack_enum(self, listname, name, enum): - self.write("{}.append(uabin.Primitives.{}.pack({}.value))".format(listname, enum.uatype, name)) + self.write(f"{listname}.append(uabin.Primitives.{enum.uatype}.pack({name}.value))") def write_pack_uatype(self, listname, name, uatype): if hasattr(Primitives, uatype): - self.write("{}.append(uabin.Primitives.{}.pack({}))".format(listname, uatype, name)) + self.write(f"{listname}.append(uabin.Primitives.{uatype}.pack({name}))") else: - self.write("{}.append({}.to_binary(}))".format(listname, name)) + self.write(f"{listname}.append({name}.to_binary())") return def get_default_value(self, field): @@ -203,27 +207,28 @@ def get_default_value(self, field): return None if field.uatype in self.model.enum_list: enum = self.model.get_enum(field.uatype) - return enum.name + "(0)" - if field.uatype in ("String"): + return f'{enum.name}(0)' + if field.uatype == 'String': return None - elif field.uatype in ("ByteString", "CharArray", "Char"): + elif field.uatype in ('ByteString', 'CharArray', 'Char'): return None - elif field.uatype in ("Boolean"): - return "True" - elif field.uatype in ("DateTime"): - return "datetime.utcnow()" - elif field.uatype in ("Int16", "Int32", "Int64", "UInt16", "UInt32", "UInt64", "Double", "Float", "Byte"): + elif field.uatype == 'Boolean': + return 'True' + elif field.uatype == 'DateTime': + return 'datetime.utcnow()' + elif field.uatype in ('Int16', 'Int32', 'Int64', 'UInt16', 'UInt32', 'UInt64', 'Double', 'Float', 'Byte'): return 0 - elif field.uatype in ("ExtensionObject"): - return "ExtensionObject()" + elif field.uatype in 'ExtensionObject': + return 'ExtensionObject()' else: - return field.uatype + "()" + return f'{field.uatype}()' + -if __name__ == "__main__": +if __name__ == '__main__': import generate_model as gm - xmlpath = "Opc.Ua.Types.bsd" - protocolpath = "../opcua/ua/uaprotocol_auto.py" - p = gm.Parser(xmlpath) + xml_path = 'Opc.Ua.Types.bsd' + protocol_path = '../opcua/ua/uaprotocol_auto.py' + p = gm.Parser(xml_path) model = p.parse() gm.add_basetype_members(model) gm.add_encoding_field(model) @@ -232,5 +237,5 @@ def get_default_value(self, field): gm.split_requests(model) gm.fix_names(model) gm.remove_duplicate_types(model) - c = CodeGenerator(model, protocolpath) + c = CodeGenerator(model, protocol_path) c.run() From 43da5a7bd97c25b5c8183cbe97bfbbd8bf45b223 Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Sun, 25 Mar 2018 11:51:29 +0200 Subject: [PATCH 037/113] [ADD] refactor auto code generation --- examples/client-minimal.py | 3 + opcua/common/xmlparser.py | 4 +- .../standard_address_space_part3.py | 7 +- .../standard_address_space_part4.py | 343 +- .../standard_address_space_part5.py | 752 +- .../standard_address_space_part8.py | 318 +- .../standard_address_space_part9.py | 68 +- opcua/ua/uaprotocol_auto.py | 171 +- opcua/ua/uaprotocol_hand.py | 95 +- opcua/ua/uatypes.py | 68 +- schemas/AttributeIds.csv | 44 +- schemas/NodeIds.csv | 11492 +-- schemas/OPCBinarySchema.xsd | 267 +- schemas/Opc.Ua.Adi.NodeSet2.xml | 35 +- schemas/Opc.Ua.Adi.Types.bsd | 32 +- schemas/Opc.Ua.Adi.Types.xsd | 32 +- schemas/Opc.Ua.Di.NodeSet2.xml | 711 +- schemas/Opc.Ua.Di.Types.bsd | 52 +- schemas/Opc.Ua.Di.Types.xsd | 50 +- schemas/Opc.Ua.Endpoints.wsdl | 1140 +- schemas/Opc.Ua.NodeSet2.Part10.xml | 1693 +- schemas/Opc.Ua.NodeSet2.Part11.xml | 1615 +- schemas/Opc.Ua.NodeSet2.Part13.xml | 717 +- schemas/Opc.Ua.NodeSet2.Part3.xml | 2234 +- schemas/Opc.Ua.NodeSet2.Part4.xml | 6069 +- schemas/Opc.Ua.NodeSet2.Part5.xml | 34122 +++++---- schemas/Opc.Ua.NodeSet2.Part8.xml | 1121 +- schemas/Opc.Ua.NodeSet2.Part9.xml | 4136 +- schemas/Opc.Ua.NodeSet2.xml | 63343 ++++++++-------- schemas/Opc.Ua.Services.wsdl | 1298 +- schemas/Opc.Ua.Types.bsd | 4769 +- schemas/Opc.Ua.Types.xsd | 7832 +- schemas/SecuredApplication.xsd | 241 +- schemas/StatusCodes.csv | 452 +- schemas/UANodeSet.xsd | 867 +- schemas/download.py | 22 +- schemas/generate_address_space.py | 157 +- schemas/generate_model.py | 305 +- schemas/generate_protocol_python.py | 8 +- 39 files changed, 73220 insertions(+), 73465 deletions(-) diff --git a/examples/client-minimal.py b/examples/client-minimal.py index d1271e6f9..3a9b79c82 100644 --- a/examples/client-minimal.py +++ b/examples/client-minimal.py @@ -1,3 +1,5 @@ +import os +#os.environ['PYOPCUA_NO_TYPO_CHECK'] = 'True' import asyncio import logging @@ -8,6 +10,7 @@ _logger = logging.getLogger('opcua') + async def browse_nodes(node: Node): """ Build a nested node tree dict by recursion (filtered by OPC UA objects and variables). diff --git a/opcua/common/xmlparser.py b/opcua/common/xmlparser.py index f679d349f..b934a2a84 100644 --- a/opcua/common/xmlparser.py +++ b/opcua/common/xmlparser.py @@ -62,7 +62,7 @@ def __init__(self): self.definition = [] def __str__(self): - return "NodeData(nodeid:{0})".format(self.nodeid) + return f"NodeData(nodeid:{self.nodeid})" __repr__ = __str__ @@ -83,7 +83,7 @@ def __init__(self): self.body = {} def __str__(self): - return "ExtObj({0}, {1})".format(self.objname, self.body) + return f"ExtObj({self.objname}, {self.body})" __repr__ = __str__ diff --git a/opcua/server/standard_address_space/standard_address_space_part3.py b/opcua/server/standard_address_space/standard_address_space_part3.py index 3791312b6..af01cbccd 100644 --- a/opcua/server/standard_address_space/standard_address_space_part3.py +++ b/opcua/server/standard_address_space/standard_address_space_part3.py @@ -622,7 +622,6 @@ def create_standard_address_space_Part3(server): attrs = ua.ReferenceTypeAttributes() attrs.Description = ua.LocalizedText("The abstract base type for all references.") attrs.DisplayName = ua.LocalizedText("References") - attrs.InverseName = ua.LocalizedText("References") attrs.IsAbstract = True attrs.Symmetric = True node.NodeAttributes = attrs @@ -854,7 +853,7 @@ def create_standard_address_space_Part3(server): node.RequestedNewNodeId = ua.NodeId.from_string("i=3065") node.BrowseName = ua.QualifiedName.from_string("AlwaysGeneratesEvent") node.NodeClass = ua.NodeClass.ReferenceType - node.ParentNodeId = ua.NodeId.from_string("i=32") + node.ParentNodeId = ua.NodeId.from_string("i=41") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ReferenceTypeAttributes() attrs.Description = ua.LocalizedText("The type for references from a node to an event type that is always raised by node.") @@ -868,7 +867,7 @@ def create_standard_address_space_Part3(server): ref.ReferenceTypeId = ua.NodeId.from_string("i=45") ref.SourceNodeId = ua.NodeId.from_string("i=3065") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=32") + ref.TargetNodeId = ua.NodeId.from_string("i=41") refs.append(ref) server.add_references(refs) @@ -903,7 +902,7 @@ def create_standard_address_space_Part3(server): attrs = ua.ReferenceTypeAttributes() attrs.Description = ua.LocalizedText("The type for non-looping hierarchical references that are used to define sub types.") attrs.DisplayName = ua.LocalizedText("HasSubtype") - attrs.InverseName = ua.LocalizedText("HasSupertype") + attrs.InverseName = ua.LocalizedText("SubtypeOf") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] diff --git a/opcua/server/standard_address_space/standard_address_space_part4.py b/opcua/server/standard_address_space/standard_address_space_part4.py index 36ba82ae0..de982be26 100644 --- a/opcua/server/standard_address_space/standard_address_space_part4.py +++ b/opcua/server/standard_address_space/standard_address_space_part4.py @@ -348,7 +348,7 @@ def create_standard_address_space_Part4(server): attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EnumStrings") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.Value = [ua.LocalizedText("Anonymous"),ua.LocalizedText("UserName"),ua.LocalizedText("Certificate"),ua.LocalizedText("IssuedToken"),ua.LocalizedText("Kerberos")] + attrs.Value = [ua.LocalizedText("Anonymous"),ua.LocalizedText("UserName"),ua.LocalizedText("Certificate"),ua.LocalizedText("IssuedToken")] attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -673,26 +673,6 @@ def create_standard_address_space_Part4(server): refs.append(ref) server.add_references(refs) - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12504") - node.BrowseName = ua.QualifiedName.from_string("KerberosIdentityToken") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=316") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("KerberosIdentityToken") - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=12504") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=316") - refs.append(ref) - server.add_references(refs) - node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=938") node.BrowseName = ua.QualifiedName.from_string("IssuedIdentityToken") @@ -1374,111 +1354,6 @@ def create_standard_address_space_Part4(server): refs.append(ref) server.add_references(refs) - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=334") - node.BrowseName = ua.QualifiedName.from_string("ComplianceLevel") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=29") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ComplianceLevel") - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=334") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7599") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=334") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=29") - refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7599") - node.BrowseName = ua.QualifiedName.from_string("EnumStrings") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=334") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EnumStrings") - attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.Value = [ua.LocalizedText("Untested"),ua.LocalizedText("Partial"),ua.LocalizedText("SelfTested"),ua.LocalizedText("Certified")] - attrs.ValueRank = 1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7599") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=7599") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=7599") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=334") - refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=335") - node.BrowseName = ua.QualifiedName.from_string("SupportedProfile") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("SupportedProfile") - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=335") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") - refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=341") - node.BrowseName = ua.QualifiedName.from_string("SoftwareCertificate") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("SoftwareCertificate") - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=341") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") - refs.append(ref) - server.add_references(refs) - node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=576") node.BrowseName = ua.QualifiedName.from_string("FilterOperator") @@ -2380,42 +2255,6 @@ def create_standard_address_space_Part4(server): refs.append(ref) server.add_references(refs) - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12505") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=12504") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") - attrs.EventNotifier = 0 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=12505") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12504") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=12505") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12506") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12505") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") - refs.append(ref) - server.add_references(refs) - node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=939") node.BrowseName = ua.QualifiedName.from_string("Default XML") @@ -2704,78 +2543,6 @@ def create_standard_address_space_Part4(server): refs.append(ref) server.add_references(refs) - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=336") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=335") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") - attrs.EventNotifier = 0 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=336") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=335") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=336") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8324") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=336") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") - refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=342") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=341") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") - attrs.EventNotifier = 0 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=342") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=341") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=342") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8330") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=342") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") - refs.append(ref) - server.add_references(refs) - node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=584") node.BrowseName = ua.QualifiedName.from_string("Default XML") @@ -3640,42 +3407,6 @@ def create_standard_address_space_Part4(server): refs.append(ref) server.add_references(refs) - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12509") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=12504") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") - attrs.EventNotifier = 0 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=12509") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12504") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=12509") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12510") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12509") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") - refs.append(ref) - server.add_references(refs) - node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=940") node.BrowseName = ua.QualifiedName.from_string("Default Binary") @@ -3964,78 +3695,6 @@ def create_standard_address_space_Part4(server): refs.append(ref) server.add_references(refs) - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=337") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=335") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") - attrs.EventNotifier = 0 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=337") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=335") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=337") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7689") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=337") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") - refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=343") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=341") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") - attrs.EventNotifier = 0 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=343") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=341") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=343") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7695") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=343") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") - refs.append(ref) - server.add_references(refs) - node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=585") node.BrowseName = ua.QualifiedName.from_string("Default Binary") diff --git a/opcua/server/standard_address_space/standard_address_space_part5.py b/opcua/server/standard_address_space/standard_address_space_part5.py index 856ee91a6..7ce0e5b08 100644 --- a/opcua/server/standard_address_space/standard_address_space_part5.py +++ b/opcua/server/standard_address_space/standard_address_space_part5.py @@ -3618,7 +3618,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'SubscriptionId' + extobj.Name = SubscriptionId extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -3662,12 +3662,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'ServerHandles' + extobj.Name = ServerHandles extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = 1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'ClientHandles' + extobj.Name = ClientHandles extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = 1 value.append(extobj) @@ -3745,7 +3745,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'SubscriptionId' + extobj.Name = SubscriptionId extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -3830,12 +3830,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'SubscriptionId' + extobj.Name = SubscriptionId extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'LifetimeInHours' + extobj.Name = LifetimeInHours extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -3879,7 +3879,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'RevisedLifetimeInHours' + extobj.Name = RevisedLifetimeInHours extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -3957,27 +3957,27 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'State' + extobj.Name = State extobj.DataType = ua.NodeId.from_string("i=852") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'EstimatedReturnTime' + extobj.Name = EstimatedReturnTime extobj.DataType = ua.NodeId.from_string("i=13") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'SecondsTillShutdown' + extobj.Name = SecondsTillShutdown extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Reason' + extobj.Name = Reason extobj.DataType = ua.NodeId.from_string("i=21") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Restart' + extobj.Name = Restart extobj.DataType = ua.NodeId.from_string("i=1") extobj.ValueRank = -1 value.append(extobj) @@ -5644,13 +5644,13 @@ def create_standard_address_space_Part5(server): node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12097") - node.BrowseName = ua.QualifiedName.from_string("") + node.BrowseName = ua.QualifiedName.from_string("") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2026") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=2029") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("") + attrs.DisplayName = ua.LocalizedText("") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -10883,7 +10883,7 @@ def create_standard_address_space_Part5(server): node.RequestedNewNodeId = ua.NodeId.from_string("i=11564") node.BrowseName = ua.QualifiedName.from_string("OperationLimitsType") node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=58") + node.ParentNodeId = ua.NodeId.from_string("i=61") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.Description = ua.LocalizedText("Identifies the operation limits imposed by the server.") @@ -10981,7 +10981,7 @@ def create_standard_address_space_Part5(server): ref.ReferenceTypeId = ua.NodeId.from_string("i=45") ref.SourceNodeId = ua.NodeId.from_string("i=11564") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=58") + ref.TargetNodeId = ua.NodeId.from_string("i=61") refs.append(ref) server.add_references(refs) @@ -11783,7 +11783,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'Mode' + extobj.Name = Mode extobj.DataType = ua.NodeId.from_string("i=3") extobj.ValueRank = -1 value.append(extobj) @@ -11827,7 +11827,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -11905,7 +11905,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -11990,12 +11990,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Length' + extobj.Name = Length extobj.DataType = ua.NodeId.from_string("i=6") extobj.ValueRank = -1 value.append(extobj) @@ -12039,7 +12039,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'Data' + extobj.Name = Data extobj.DataType = ua.NodeId.from_string("i=15") extobj.ValueRank = -1 value.append(extobj) @@ -12117,12 +12117,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Data' + extobj.Name = Data extobj.DataType = ua.NodeId.from_string("i=15") extobj.ValueRank = -1 value.append(extobj) @@ -12207,7 +12207,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -12251,7 +12251,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'Position' + extobj.Name = Position extobj.DataType = ua.NodeId.from_string("i=9") extobj.ValueRank = -1 value.append(extobj) @@ -12329,12 +12329,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Position' + extobj.Name = Position extobj.DataType = ua.NodeId.from_string("i=9") extobj.ValueRank = -1 value.append(extobj) @@ -12546,7 +12546,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'DirectoryName' + extobj.Name = DirectoryName extobj.DataType = ua.NodeId.from_string("i=12") extobj.ValueRank = -1 value.append(extobj) @@ -12590,7 +12590,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'DirectoryNodeId' + extobj.Name = DirectoryNodeId extobj.DataType = ua.NodeId.from_string("i=17") extobj.ValueRank = -1 value.append(extobj) @@ -12675,12 +12675,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileName' + extobj.Name = FileName extobj.DataType = ua.NodeId.from_string("i=12") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'RequestFileOpen' + extobj.Name = RequestFileOpen extobj.DataType = ua.NodeId.from_string("i=1") extobj.ValueRank = -1 value.append(extobj) @@ -12724,12 +12724,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileNodeId' + extobj.Name = FileNodeId extobj.DataType = ua.NodeId.from_string("i=17") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -12807,7 +12807,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'ObjectToDelete' + extobj.Name = ObjectToDelete extobj.DataType = ua.NodeId.from_string("i=17") extobj.ValueRank = -1 value.append(extobj) @@ -12892,22 +12892,22 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'ObjectToMoveOrCopy' + extobj.Name = ObjectToMoveOrCopy extobj.DataType = ua.NodeId.from_string("i=17") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'TargetDirectory' + extobj.Name = TargetDirectory extobj.DataType = ua.NodeId.from_string("i=17") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'CreateCopy' + extobj.Name = CreateCopy extobj.DataType = ua.NodeId.from_string("i=1") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'NewName' + extobj.Name = NewName extobj.DataType = ua.NodeId.from_string("i=12") extobj.ValueRank = -1 value.append(extobj) @@ -12951,7 +12951,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'NewNodeId' + extobj.Name = NewNodeId extobj.DataType = ua.NodeId.from_string("i=17") extobj.ValueRank = -1 value.append(extobj) @@ -13294,7 +13294,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'Mode' + extobj.Name = Mode extobj.DataType = ua.NodeId.from_string("i=3") extobj.ValueRank = -1 value.append(extobj) @@ -13338,7 +13338,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -13416,7 +13416,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -13501,12 +13501,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Length' + extobj.Name = Length extobj.DataType = ua.NodeId.from_string("i=6") extobj.ValueRank = -1 value.append(extobj) @@ -13550,7 +13550,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'Data' + extobj.Name = Data extobj.DataType = ua.NodeId.from_string("i=15") extobj.ValueRank = -1 value.append(extobj) @@ -13628,12 +13628,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Data' + extobj.Name = Data extobj.DataType = ua.NodeId.from_string("i=15") extobj.ValueRank = -1 value.append(extobj) @@ -13718,7 +13718,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -13762,7 +13762,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'Position' + extobj.Name = Position extobj.DataType = ua.NodeId.from_string("i=9") extobj.ValueRank = -1 value.append(extobj) @@ -13840,12 +13840,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Position' + extobj.Name = Position extobj.DataType = ua.NodeId.from_string("i=9") extobj.ValueRank = -1 value.append(extobj) @@ -13930,7 +13930,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'DirectoryName' + extobj.Name = DirectoryName extobj.DataType = ua.NodeId.from_string("i=12") extobj.ValueRank = -1 value.append(extobj) @@ -13974,7 +13974,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'DirectoryNodeId' + extobj.Name = DirectoryNodeId extobj.DataType = ua.NodeId.from_string("i=17") extobj.ValueRank = -1 value.append(extobj) @@ -14059,12 +14059,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileName' + extobj.Name = FileName extobj.DataType = ua.NodeId.from_string("i=12") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'RequestFileOpen' + extobj.Name = RequestFileOpen extobj.DataType = ua.NodeId.from_string("i=1") extobj.ValueRank = -1 value.append(extobj) @@ -14108,12 +14108,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileNodeId' + extobj.Name = FileNodeId extobj.DataType = ua.NodeId.from_string("i=17") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -14191,7 +14191,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'ObjectToDelete' + extobj.Name = ObjectToDelete extobj.DataType = ua.NodeId.from_string("i=17") extobj.ValueRank = -1 value.append(extobj) @@ -14276,22 +14276,22 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'ObjectToMoveOrCopy' + extobj.Name = ObjectToMoveOrCopy extobj.DataType = ua.NodeId.from_string("i=17") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'TargetDirectory' + extobj.Name = TargetDirectory extobj.DataType = ua.NodeId.from_string("i=17") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'CreateCopy' + extobj.Name = CreateCopy extobj.DataType = ua.NodeId.from_string("i=1") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'NewName' + extobj.Name = NewName extobj.DataType = ua.NodeId.from_string("i=12") extobj.ValueRank = -1 value.append(extobj) @@ -14335,7 +14335,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'NewNodeId' + extobj.Name = NewNodeId extobj.DataType = ua.NodeId.from_string("i=17") extobj.ValueRank = -1 value.append(extobj) @@ -14656,14 +14656,14 @@ def create_standard_address_space_Part5(server): node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11621") - node.BrowseName = ua.QualifiedName.from_string("StaticNodeIdIdentifierTypes") + node.BrowseName = ua.QualifiedName.from_string("StaticNodeIdTypes") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11616") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("A list of IdTypes for nodes which are the same in every server that exposes them.") - attrs.DisplayName = ua.LocalizedText("StaticNodeIdIdentifierTypes") + attrs.DisplayName = ua.LocalizedText("StaticNodeIdTypes") attrs.DataType = ua.NodeId.from_string("i=256") attrs.ValueRank = 1 node.NodeAttributes = attrs @@ -14741,7 +14741,7 @@ def create_standard_address_space_Part5(server): attrs.Description = ua.LocalizedText("A regular expression which matches string node ids are the same in every server that exposes them.") attrs.DisplayName = ua.LocalizedText("StaticStringNodeIdPattern") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.ValueRank = 1 + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] @@ -15080,7 +15080,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'Mode' + extobj.Name = Mode extobj.DataType = ua.NodeId.from_string("i=3") extobj.ValueRank = -1 value.append(extobj) @@ -15124,7 +15124,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -15202,7 +15202,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -15287,12 +15287,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Length' + extobj.Name = Length extobj.DataType = ua.NodeId.from_string("i=6") extobj.ValueRank = -1 value.append(extobj) @@ -15336,7 +15336,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'Data' + extobj.Name = Data extobj.DataType = ua.NodeId.from_string("i=15") extobj.ValueRank = -1 value.append(extobj) @@ -15414,12 +15414,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Data' + extobj.Name = Data extobj.DataType = ua.NodeId.from_string("i=15") extobj.ValueRank = -1 value.append(extobj) @@ -15504,7 +15504,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -15548,7 +15548,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'Position' + extobj.Name = Position extobj.DataType = ua.NodeId.from_string("i=9") extobj.ValueRank = -1 value.append(extobj) @@ -15626,12 +15626,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Position' + extobj.Name = Position extobj.DataType = ua.NodeId.from_string("i=9") extobj.ValueRank = -1 value.append(extobj) @@ -15938,14 +15938,14 @@ def create_standard_address_space_Part5(server): node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11651") - node.BrowseName = ua.QualifiedName.from_string("StaticNodeIdIdentifierTypes") + node.BrowseName = ua.QualifiedName.from_string("StaticNodeIdTypes") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=11646") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.Description = ua.LocalizedText("A list of IdTypes for nodes which are the same in every server that exposes them.") - attrs.DisplayName = ua.LocalizedText("StaticNodeIdIdentifierTypes") + attrs.DisplayName = ua.LocalizedText("StaticNodeIdTypes") attrs.DataType = ua.NodeId.from_string("i=256") attrs.ValueRank = 1 node.NodeAttributes = attrs @@ -16023,7 +16023,7 @@ def create_standard_address_space_Part5(server): attrs.Description = ua.LocalizedText("A regular expression which matches string node ids are the same in every server that exposes them.") attrs.DisplayName = ua.LocalizedText("StaticStringNodeIdPattern") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.ValueRank = 1 + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] @@ -16362,7 +16362,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'Mode' + extobj.Name = Mode extobj.DataType = ua.NodeId.from_string("i=3") extobj.ValueRank = -1 value.append(extobj) @@ -16406,7 +16406,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -16484,7 +16484,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -16569,12 +16569,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Length' + extobj.Name = Length extobj.DataType = ua.NodeId.from_string("i=6") extobj.ValueRank = -1 value.append(extobj) @@ -16618,7 +16618,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'Data' + extobj.Name = Data extobj.DataType = ua.NodeId.from_string("i=15") extobj.ValueRank = -1 value.append(extobj) @@ -16696,12 +16696,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Data' + extobj.Name = Data extobj.DataType = ua.NodeId.from_string("i=15") extobj.ValueRank = -1 value.append(extobj) @@ -16786,7 +16786,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -16830,7 +16830,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'Position' + extobj.Name = Position extobj.DataType = ua.NodeId.from_string("i=9") extobj.ValueRank = -1 value.append(extobj) @@ -16908,12 +16908,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Position' + extobj.Name = Position extobj.DataType = ua.NodeId.from_string("i=9") extobj.ValueRank = -1 value.append(extobj) @@ -32257,6 +32257,13 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=11715") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15182") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") ref.SourceNodeId = ua.NodeId.from_string("i=11715") ref.TargetNodeClass = ua.NodeClass.DataType @@ -32271,6 +32278,305 @@ def create_standard_address_space_Part5(server): refs.append(ref) server.add_references(refs) + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15182") + node.BrowseName = ua.QualifiedName.from_string("0:http://opcfoundation.org/UA/") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=11715") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=11616") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("http://opcfoundation.org/UA/") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15182") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15183") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15182") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15184") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15182") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15185") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15182") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15186") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15182") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15187") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15182") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15188") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15182") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15189") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15182") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11616") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15182") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11715") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15183") + node.BrowseName = ua.QualifiedName.from_string("NamespaceUri") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15182") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.Description = ua.LocalizedText("The URI of the namespace.") + attrs.DisplayName = ua.LocalizedText("NamespaceUri") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("http://opcfoundation.org/UA/", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15183") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15183") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15182") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15184") + node.BrowseName = ua.QualifiedName.from_string("NamespaceVersion") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15182") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.Description = ua.LocalizedText("The human readable string representing version of the namespace.") + attrs.DisplayName = ua.LocalizedText("NamespaceVersion") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("1.03", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15184") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15184") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15182") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15185") + node.BrowseName = ua.QualifiedName.from_string("NamespacePublicationDate") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15182") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.Description = ua.LocalizedText("The publication date for the namespace.") + attrs.DisplayName = ua.LocalizedText("NamespacePublicationDate") + attrs.DataType = ua.NodeId(ua.ObjectIds.DateTime) + attrs.Value = ua.Variant("2016-04-15", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15185") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15185") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15182") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15186") + node.BrowseName = ua.QualifiedName.from_string("IsNamespaceSubset") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15182") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.Description = ua.LocalizedText("If TRUE then the server only supports a subset of the namespace.") + attrs.DisplayName = ua.LocalizedText("IsNamespaceSubset") + attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) + attrs.Value = ua.Variant(False, ua.VariantType.Boolean) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15186") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15186") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15182") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15187") + node.BrowseName = ua.QualifiedName.from_string("StaticNodeIdTypes") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15182") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.Description = ua.LocalizedText("A list of IdTypes for nodes which are the same in every server that exposes them.") + attrs.DisplayName = ua.LocalizedText("StaticNodeIdTypes") + attrs.DataType = ua.NodeId.from_string("i=256") + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15187") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15187") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15182") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15188") + node.BrowseName = ua.QualifiedName.from_string("StaticNumericNodeIdRange") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15182") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.Description = ua.LocalizedText("A list of ranges for numeric node ids which are the same in every server that exposes them.") + attrs.DisplayName = ua.LocalizedText("StaticNumericNodeIdRange") + attrs.DataType = ua.NodeId.from_string("i=291") + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15188") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15188") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15182") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15189") + node.BrowseName = ua.QualifiedName.from_string("StaticStringNodeIdPattern") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15182") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.Description = ua.LocalizedText("A regular expression which matches string node ids are the same in every server that exposes them.") + attrs.DisplayName = ua.LocalizedText("StaticStringNodeIdPattern") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15189") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15189") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15182") + refs.append(ref) + server.add_references(refs) + node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11492") node.BrowseName = ua.QualifiedName.from_string("GetMonitoredItems") @@ -32317,7 +32623,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'SubscriptionId' + extobj.Name = SubscriptionId extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -32354,12 +32660,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'ServerHandles' + extobj.Name = ServerHandles extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = 1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'ClientHandles' + extobj.Name = ClientHandles extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = 1 value.append(extobj) @@ -32423,7 +32729,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'SubscriptionId' + extobj.Name = SubscriptionId extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -32494,12 +32800,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'SubscriptionId' + extobj.Name = SubscriptionId extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'LifetimeInHours' + extobj.Name = LifetimeInHours extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -32536,7 +32842,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'RevisedLifetimeInHours' + extobj.Name = RevisedLifetimeInHours extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -32600,27 +32906,27 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'State' + extobj.Name = State extobj.DataType = ua.NodeId.from_string("i=852") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'EstimatedReturnTime' + extobj.Name = EstimatedReturnTime extobj.DataType = ua.NodeId.from_string("i=13") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'SecondsTillShutdown' + extobj.Name = SecondsTillShutdown extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Reason' + extobj.Name = Reason extobj.DataType = ua.NodeId.from_string("i=21") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Restart' + extobj.Name = Restart extobj.DataType = ua.NodeId.from_string("i=1") extobj.ValueRank = -1 value.append(extobj) @@ -33313,7 +33619,7 @@ def create_standard_address_space_Part5(server): node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() attrs.DisplayName = ua.LocalizedText("FiniteStateMachineType") - attrs.IsAbstract = False + attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] @@ -35105,7 +35411,7 @@ def create_standard_address_space_Part5(server): attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Opc.Ua") attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) - attrs.Value = ua.Variant(b'\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n true\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n true\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n true\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The type of identifier used in a node id.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A mask specifying the class of the node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to all nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to object nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to object type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to variable nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to variable type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to reference type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to method nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies a reference which belongs to a node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n An argument for a method.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A mapping between a value of an enumerated type and a name and description.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n This abstract DataType is the base DataType for all union DataTypes.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n The types of applications.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Describes an application and how to find it.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The header passed with every server request.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The header passed with every server response.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The response returned by all services when there is a service level error.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Finds the servers known to the discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Finds the servers known to the discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n The type of security to use on a message.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The possible user token types.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Describes a user token that can be used with a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The description of a endpoint that can be used to access a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Gets the endpoints used by the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Gets the endpoints used by the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The information required to register a server with a discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Registers a server with the discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Registers a server with the discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A base type for discovery configuration information.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The discovery information needed for mDNS registration.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Indicates whether a token if being created or renewed.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The token that identifies a set of keys for an active secure channel.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Creates a secure channel with a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Creates a secure channel with a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Closes a secure channel.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Closes a secure channel.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A software certificate with a digital signature.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n A digital signature.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Creates a new session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Creates a new session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A base type for a user identity token.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A token representing an anonymous user.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A token representing a user identified by a user name and password.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A token representing a user identified by an X509 certificate.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A token representing a user identified by a WS-Security XML token.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Activates a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Activates a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Closes a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Closes a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Cancels an outstanding request.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Cancels an outstanding request.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The bits used to specify default attributes for a new node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The base attributes for all nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for an object node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a variable node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a method node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for an object type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a variable type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a reference type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a data type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a view node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to add a node to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A result of an add node operation.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Adds one or more nodes to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Adds one or more nodes to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to add a reference to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Adds one or more references to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Adds one or more references to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to delete a node to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Delete one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Delete one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to delete a node from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Delete one or more references from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Delete one or more references from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Define bits used to indicate which attributes are writable.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The directions of the references to return.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The view to browse.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to browse the the references from a node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A bit mask which specifies what should be returned in a browse response.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The description of a reference.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n The result of a browse operation.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Browse the references for one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Browse the references for one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Continues one or more browse operations.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Continues one or more browse operations.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n An element in a relative path.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A relative path constructed from reference types and browse names.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to translate a path into a node id.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The target of the translated path.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The result of a translate opearation.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Translates one or more paths in the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Translates one or more paths in the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Registers one or more nodes for repeated use within a session.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Registers one or more nodes for repeated use within a session.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Unregisters one or more previously registered nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Unregisters one or more previously registered nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A simple enumerated type used for testing.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n', ua.VariantType.ByteString) + attrs.Value = ua.Variant(b'\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n true\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n true\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n true\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The type of identifier used in a node id.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A mask specifying the class of the node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to all nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to object nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to object type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to variable nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to variable type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to reference type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to method nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies a reference which belongs to a node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n An argument for a method.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A mapping between a value of an enumerated type and a name and description.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n This abstract DataType is the base DataType for all union DataTypes.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n The types of applications.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Describes an application and how to find it.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The header passed with every server request.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The header passed with every server response.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The response returned by all services when there is a service level error.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Finds the servers known to the discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Finds the servers known to the discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n The type of security to use on a message.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The possible user token types.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Describes a user token that can be used with a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The description of a endpoint that can be used to access a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Gets the endpoints used by the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Gets the endpoints used by the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The information required to register a server with a discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Registers a server with the discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Registers a server with the discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A base type for discovery configuration information.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The discovery information needed for mDNS registration.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Indicates whether a token if being created or renewed.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The token that identifies a set of keys for an active secure channel.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Creates a secure channel with a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Creates a secure channel with a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Closes a secure channel.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Closes a secure channel.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A software certificate with a digital signature.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n A digital signature.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Creates a new session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Creates a new session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A base type for a user identity token.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A token representing an anonymous user.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A token representing a user identified by a user name and password.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A token representing a user identified by an X509 certificate.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A token representing a user identified by a WS-Security XML token.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Activates a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Activates a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Closes a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Closes a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Cancels an outstanding request.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Cancels an outstanding request.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The bits used to specify default attributes for a new node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The base attributes for all nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for an object node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a variable node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a method node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for an object type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a variable type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a reference type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a data type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a view node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to add a node to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A result of an add node operation.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Adds one or more nodes to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Adds one or more nodes to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to add a reference to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Adds one or more references to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Adds one or more references to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to delete a node to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Delete one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Delete one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to delete a node from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Delete one or more references from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Delete one or more references from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Define bits used to indicate which attributes are writable.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The directions of the references to return.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The view to browse.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to browse the the references from a node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A bit mask which specifies what should be returned in a browse response.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The description of a reference.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n The result of a browse operation.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Browse the references for one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Browse the references for one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Continues one or more browse operations.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Continues one or more browse operations.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n An element in a relative path.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A relative path constructed from reference types and browse names.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to translate a path into a node id.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The target of the translated path.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The result of a translate opearation.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Translates one or more paths in the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Translates one or more paths in the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Registers one or more nodes for repeated use within a session.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Registers one or more nodes for repeated use within a session.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Unregisters one or more previously registered nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Unregisters one or more previously registered nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n', ua.VariantType.ByteString) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -35248,13 +35554,6 @@ def create_standard_address_space_Part5(server): ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12506") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8318") refs.append(ref) ref = ua.AddReferencesItem() @@ -35311,20 +35610,6 @@ def create_standard_address_space_Part5(server): ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=8252") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8324") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8330") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8564") refs.append(ref) ref = ua.AddReferencesItem() @@ -36164,37 +36449,6 @@ def create_standard_address_space_Part5(server): refs.append(ref) server.add_references(refs) - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12506") - node.BrowseName = ua.QualifiedName.from_string("KerberosIdentityToken") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("KerberosIdentityToken") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='KerberosIdentityToken']", ua.VariantType.String) - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12506") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12506") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") - refs.append(ref) - server.add_references(refs) - node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8318") node.BrowseName = ua.QualifiedName.from_string("IssuedIdentityToken") @@ -36443,68 +36697,6 @@ def create_standard_address_space_Part5(server): refs.append(ref) server.add_references(refs) - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8324") - node.BrowseName = ua.QualifiedName.from_string("SupportedProfile") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SupportedProfile") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='SupportedProfile']", ua.VariantType.String) - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8324") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8324") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") - refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8330") - node.BrowseName = ua.QualifiedName.from_string("SoftwareCertificate") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SoftwareCertificate") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='SoftwareCertificate']", ua.VariantType.String) - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8330") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8330") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") - refs.append(ref) - server.add_references(refs) - node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=8564") node.BrowseName = ua.QualifiedName.from_string("ContentFilterElement") @@ -38073,7 +38265,7 @@ def create_standard_address_space_Part5(server): attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("Opc.Ua") attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) - attrs.Value = ua.Variant(b'\r\n \r\n\r\n \r\n\r\n \r\n An XML element encoded as a UTF-8 string.\r\n \r\n \r\n \r\n\r\n \r\n The possible encodings for a NodeId value.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n An identifier for a node in a UA server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n An identifier for a node in a UA server address space qualified with a complete namespace string.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A 32-bit status code value.\r\n \r\n\r\n \r\n A recursive structure containing diagnostic information associated with a status code.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A string qualified with a namespace index.\r\n \r\n \r\n \r\n\r\n \r\n A string qualified with a namespace index.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A value with an associated timestamp, and quality.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A serialized object prefixed with its data type identifier.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A union of several types.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n An image encoded in BMP format.\r\n \r\n\r\n \r\n An image encoded in GIF format.\r\n \r\n\r\n \r\n An image encoded in JPEG format.\r\n \r\n\r\n \r\n An image encoded in PNG format.\r\n \r\n\r\n \r\n A mask of 32 bits that can be updated individually by using the top 32 bits as a mask.\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The type of identifier used in a node id.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A mask specifying the class of the node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to all nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to object nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to object type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to variable nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to variable type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to reference type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to method nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies a reference which belongs to a node.\r\n \r\n \r\n \r\n \r\n\r\n \r\n An argument for a method.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A mapping between a value of an enumerated type and a name and description.\r\n \r\n \r\n \r\n \r\n\r\n \r\n This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask.\r\n \r\n \r\n \r\n\r\n \r\n This abstract DataType is the base DataType for all union DataTypes.\r\n \r\n\r\n \r\n A string normalized based on the rules in the unicode specification.\r\n \r\n\r\n \r\n An arbitraty numeric value.\r\n \r\n\r\n \r\n A period of time formatted as defined in ISO 8601-2000.\r\n \r\n\r\n \r\n A time formatted as defined in ISO 8601-2000.\r\n \r\n\r\n \r\n A date formatted as defined in ISO 8601-2000.\r\n \r\n\r\n \r\n A period of time measured in milliseconds.\r\n \r\n\r\n \r\n A date/time value specified in Universal Coordinated Time (UTC).\r\n \r\n\r\n \r\n An identifier for a user locale.\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n A numeric identifier for an object.\r\n \r\n\r\n \r\n The types of applications.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Describes an application and how to find it.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The header passed with every server request.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The header passed with every server response.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The response returned by all services when there is a service level error.\r\n \r\n \r\n\r\n \r\n Finds the servers known to the discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Finds the servers known to the discovery server.\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A certificate for an instance of an application.\r\n \r\n\r\n \r\n The type of security to use on a message.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The possible user token types.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Describes a user token that can be used with a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The description of a endpoint that can be used to access a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Gets the endpoints used by the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Gets the endpoints used by the server.\r\n \r\n \r\n \r\n \r\n\r\n \r\n The information required to register a server with a discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Registers a server with the discovery server.\r\n \r\n \r\n \r\n\r\n \r\n Registers a server with the discovery server.\r\n \r\n \r\n\r\n \r\n A base type for discovery configuration information.\r\n \r\n\r\n \r\n The discovery information needed for mDNS registration.\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Indicates whether a token if being created or renewed.\r\n \r\n \r\n \r\n\r\n \r\n The token that identifies a set of keys for an active secure channel.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Creates a secure channel with a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Creates a secure channel with a server.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Closes a secure channel.\r\n \r\n \r\n\r\n \r\n Closes a secure channel.\r\n \r\n \r\n\r\n \r\n A software certificate with a digital signature.\r\n \r\n \r\n \r\n\r\n \r\n A unique identifier for a session used to authenticate requests.\r\n \r\n\r\n \r\n A digital signature.\r\n \r\n \r\n \r\n\r\n \r\n Creates a new session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Creates a new session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A base type for a user identity token.\r\n \r\n \r\n\r\n \r\n A token representing an anonymous user.\r\n \r\n \r\n\r\n \r\n A token representing a user identified by a user name and password.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A token representing a user identified by an X509 certificate.\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n A token representing a user identified by a WS-Security XML token.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Activates a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Activates a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Closes a session with the server.\r\n \r\n \r\n \r\n\r\n \r\n Closes a session with the server.\r\n \r\n \r\n\r\n \r\n Cancels an outstanding request.\r\n \r\n \r\n \r\n\r\n \r\n Cancels an outstanding request.\r\n \r\n \r\n \r\n\r\n \r\n The bits used to specify default attributes for a new node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The base attributes for all nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for an object node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a variable node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a method node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for an object type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a variable type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a reference type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a data type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a view node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A request to add a node to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A result of an add node operation.\r\n \r\n \r\n \r\n\r\n \r\n Adds one or more nodes to the server address space.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Adds one or more nodes to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A request to add a reference to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Adds one or more references to the server address space.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Adds one or more references to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A request to delete a node to the server address space.\r\n \r\n \r\n \r\n\r\n \r\n Delete one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Delete one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A request to delete a node from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Delete one or more references from the server address space.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Delete one or more references from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Define bits used to indicate which attributes are writable.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The directions of the references to return.\r\n \r\n \r\n \r\n \r\n\r\n \r\n The view to browse.\r\n \r\n \r\n \r\n \r\n\r\n \r\n A request to browse the the references from a node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A bit mask which specifies what should be returned in a browse response.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The description of a reference.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n An identifier for a suspended query or browse operation.\r\n \r\n\r\n \r\n The result of a browse operation.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Browse the references for one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Browse the references for one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Continues one or more browse operations.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Continues one or more browse operations.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n An element in a relative path.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A relative path constructed from reference types and browse names.\r\n \r\n \r\n \r\n\r\n \r\n A request to translate a path into a node id.\r\n \r\n \r\n \r\n\r\n \r\n The target of the translated path.\r\n \r\n \r\n \r\n\r\n \r\n The result of a translate opearation.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Translates one or more paths in the server address space.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Translates one or more paths in the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Registers one or more nodes for repeated use within a session.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Registers one or more nodes for repeated use within a session.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Unregisters one or more previously registered nodes.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Unregisters one or more previously registered nodes.\r\n \r\n \r\n\r\n \r\n A monotonically increasing value.\r\n \r\n\r\n \r\n Specifies a range of array indexes.\r\n \r\n\r\n \r\n A time value specified as HH:MM:SS.SSS.\r\n \r\n\r\n \r\n A date value.\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A simple enumerated type used for testing.\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n', ua.VariantType.ByteString) + attrs.Value = ua.Variant(b'\r\n\r\n \r\n\r\n \r\n An XML element encoded as a UTF-8 string.\r\n \r\n \r\n \r\n\r\n \r\n The possible encodings for a NodeId value.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n An identifier for a node in a UA server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n An identifier for a node in a UA server address space qualified with a complete namespace string.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A 32-bit status code value.\r\n \r\n\r\n \r\n A recursive structure containing diagnostic information associated with a status code.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A string qualified with a namespace index.\r\n \r\n \r\n \r\n\r\n \r\n A string qualified with a namespace index.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A value with an associated timestamp, and quality.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A serialized object prefixed with its data type identifier.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A union of several types.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n An image encoded in BMP format.\r\n \r\n\r\n \r\n An image encoded in GIF format.\r\n \r\n\r\n \r\n An image encoded in JPEG format.\r\n \r\n\r\n \r\n An image encoded in PNG format.\r\n \r\n\r\n \r\n A mask of 32 bits that can be updated individually by using the top 32 bits as a mask.\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The type of identifier used in a node id.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A mask specifying the class of the node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to all nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to object nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to object type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to variable nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to variable type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to reference type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to method nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies a reference which belongs to a node.\r\n \r\n \r\n \r\n \r\n\r\n \r\n An argument for a method.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A mapping between a value of an enumerated type and a name and description.\r\n \r\n \r\n \r\n \r\n\r\n \r\n This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask.\r\n \r\n \r\n \r\n\r\n \r\n This abstract DataType is the base DataType for all union DataTypes.\r\n \r\n\r\n \r\n A string normalized based on the rules in the unicode specification.\r\n \r\n\r\n \r\n An arbitraty numeric value.\r\n \r\n\r\n \r\n A period of time formatted as defined in ISO 8601-2000.\r\n \r\n\r\n \r\n A time formatted as defined in ISO 8601-2000.\r\n \r\n\r\n \r\n A date formatted as defined in ISO 8601-2000.\r\n \r\n\r\n \r\n A period of time measured in milliseconds.\r\n \r\n\r\n \r\n A date/time value specified in Universal Coordinated Time (UTC).\r\n \r\n\r\n \r\n An identifier for a user locale.\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n A numeric identifier for an object.\r\n \r\n\r\n \r\n The types of applications.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Describes an application and how to find it.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The header passed with every server request.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The header passed with every server response.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The response returned by all services when there is a service level error.\r\n \r\n \r\n\r\n \r\n Finds the servers known to the discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Finds the servers known to the discovery server.\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A certificate for an instance of an application.\r\n \r\n\r\n \r\n The type of security to use on a message.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The possible user token types.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Describes a user token that can be used with a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The description of a endpoint that can be used to access a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Gets the endpoints used by the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Gets the endpoints used by the server.\r\n \r\n \r\n \r\n \r\n\r\n \r\n The information required to register a server with a discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Registers a server with the discovery server.\r\n \r\n \r\n \r\n\r\n \r\n Registers a server with the discovery server.\r\n \r\n \r\n\r\n \r\n A base type for discovery configuration information.\r\n \r\n\r\n \r\n The discovery information needed for mDNS registration.\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Indicates whether a token if being created or renewed.\r\n \r\n \r\n \r\n\r\n \r\n The token that identifies a set of keys for an active secure channel.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Creates a secure channel with a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Creates a secure channel with a server.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Closes a secure channel.\r\n \r\n \r\n\r\n \r\n Closes a secure channel.\r\n \r\n \r\n\r\n \r\n A software certificate with a digital signature.\r\n \r\n \r\n \r\n\r\n \r\n A unique identifier for a session used to authenticate requests.\r\n \r\n\r\n \r\n A digital signature.\r\n \r\n \r\n \r\n\r\n \r\n Creates a new session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Creates a new session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A base type for a user identity token.\r\n \r\n \r\n\r\n \r\n A token representing an anonymous user.\r\n \r\n \r\n\r\n \r\n A token representing a user identified by a user name and password.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A token representing a user identified by an X509 certificate.\r\n \r\n \r\n \r\n\r\n \r\n A token representing a user identified by a WS-Security XML token.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Activates a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Activates a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Closes a session with the server.\r\n \r\n \r\n \r\n\r\n \r\n Closes a session with the server.\r\n \r\n \r\n\r\n \r\n Cancels an outstanding request.\r\n \r\n \r\n \r\n\r\n \r\n Cancels an outstanding request.\r\n \r\n \r\n \r\n\r\n \r\n The bits used to specify default attributes for a new node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The base attributes for all nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for an object node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a variable node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a method node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for an object type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a variable type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a reference type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a data type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a view node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A request to add a node to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A result of an add node operation.\r\n \r\n \r\n \r\n\r\n \r\n Adds one or more nodes to the server address space.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Adds one or more nodes to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A request to add a reference to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Adds one or more references to the server address space.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Adds one or more references to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A request to delete a node to the server address space.\r\n \r\n \r\n \r\n\r\n \r\n Delete one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Delete one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A request to delete a node from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Delete one or more references from the server address space.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Delete one or more references from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Define bits used to indicate which attributes are writable.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The directions of the references to return.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The view to browse.\r\n \r\n \r\n \r\n \r\n\r\n \r\n A request to browse the the references from a node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A bit mask which specifies what should be returned in a browse response.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The description of a reference.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n An identifier for a suspended query or browse operation.\r\n \r\n\r\n \r\n The result of a browse operation.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Browse the references for one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Browse the references for one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Continues one or more browse operations.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Continues one or more browse operations.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n An element in a relative path.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A relative path constructed from reference types and browse names.\r\n \r\n \r\n \r\n\r\n \r\n A request to translate a path into a node id.\r\n \r\n \r\n \r\n\r\n \r\n The target of the translated path.\r\n \r\n \r\n \r\n\r\n \r\n The result of a translate opearation.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Translates one or more paths in the server address space.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Translates one or more paths in the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Registers one or more nodes for repeated use within a session.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Registers one or more nodes for repeated use within a session.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Unregisters one or more previously registered nodes.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Unregisters one or more previously registered nodes.\r\n \r\n \r\n\r\n \r\n A monotonically increasing value.\r\n \r\n\r\n \r\n Specifies a range of array indexes.\r\n \r\n\r\n \r\n A time value specified as HH:MM:SS.SSS.\r\n \r\n\r\n \r\n A date value.\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n', ua.VariantType.ByteString) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -38216,13 +38408,6 @@ def create_standard_address_space_Part5(server): ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12510") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7683") refs.append(ref) ref = ua.AddReferencesItem() @@ -38279,20 +38464,6 @@ def create_standard_address_space_Part5(server): ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=7617") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7689") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7695") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=7929") refs.append(ref) ref = ua.AddReferencesItem() @@ -39132,37 +39303,6 @@ def create_standard_address_space_Part5(server): refs.append(ref) server.add_references(refs) - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12510") - node.BrowseName = ua.QualifiedName.from_string("KerberosIdentityToken") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("KerberosIdentityToken") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("KerberosIdentityToken", ua.VariantType.String) - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12510") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12510") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") - refs.append(ref) - server.add_references(refs) - node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=7683") node.BrowseName = ua.QualifiedName.from_string("IssuedIdentityToken") @@ -39411,68 +39551,6 @@ def create_standard_address_space_Part5(server): refs.append(ref) server.add_references(refs) - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7689") - node.BrowseName = ua.QualifiedName.from_string("SupportedProfile") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SupportedProfile") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("SupportedProfile", ua.VariantType.String) - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7689") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7689") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") - refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7695") - node.BrowseName = ua.QualifiedName.from_string("SoftwareCertificate") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SoftwareCertificate") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("SoftwareCertificate", ua.VariantType.String) - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7695") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7695") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") - refs.append(ref) - server.add_references(refs) - node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=7929") node.BrowseName = ua.QualifiedName.from_string("ContentFilterElement") diff --git a/opcua/server/standard_address_space/standard_address_space_part8.py b/opcua/server/standard_address_space/standard_address_space_part8.py index 60616e4e9..a5ad4efb4 100644 --- a/opcua/server/standard_address_space/standard_address_space_part8.py +++ b/opcua/server/standard_address_space/standard_address_space_part8.py @@ -1492,6 +1492,222 @@ def create_standard_address_space_Part8(server): refs.append(ref) server.add_references(refs) + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=886") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=884") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=886") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=884") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=886") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8238") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=886") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=889") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=887") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=889") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=887") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=889") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8241") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=889") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12181") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=12171") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=12181") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12171") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=12181") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12183") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12181") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12182") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=12172") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=12182") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12172") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=12182") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12186") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12182") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12089") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=12079") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=12089") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12079") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=12089") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12091") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12089") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12090") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=12080") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=12090") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12080") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=12090") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12094") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12090") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=885") node.BrowseName = ua.QualifiedName.from_string("Default XML") @@ -1709,14 +1925,14 @@ def create_standard_address_space_Part8(server): server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=886") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15375") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=884") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = ua.LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -1724,35 +1940,28 @@ def create_standard_address_space_Part8(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=886") + ref.SourceNodeId = ua.NodeId.from_string("i=15375") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=884") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=886") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8238") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=886") + ref.SourceNodeId = ua.NodeId.from_string("i=15375") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=889") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15376") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=887") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = ua.LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -1760,35 +1969,28 @@ def create_standard_address_space_Part8(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=889") + ref.SourceNodeId = ua.NodeId.from_string("i=15376") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=887") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=889") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8241") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=889") + ref.SourceNodeId = ua.NodeId.from_string("i=15376") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12181") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15377") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=12171") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = ua.LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -1796,35 +1998,28 @@ def create_standard_address_space_Part8(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=12181") + ref.SourceNodeId = ua.NodeId.from_string("i=15377") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12171") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=12181") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12183") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12181") + ref.SourceNodeId = ua.NodeId.from_string("i=15377") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12182") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15378") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=12172") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = ua.LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -1832,35 +2027,28 @@ def create_standard_address_space_Part8(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=12182") + ref.SourceNodeId = ua.NodeId.from_string("i=15378") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12172") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=12182") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12186") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12182") + ref.SourceNodeId = ua.NodeId.from_string("i=15378") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12089") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15379") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=12079") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = ua.LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -1868,35 +2056,28 @@ def create_standard_address_space_Part8(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=12089") + ref.SourceNodeId = ua.NodeId.from_string("i=15379") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12079") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=12089") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12091") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12089") + ref.SourceNodeId = ua.NodeId.from_string("i=15379") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12090") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15380") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=12080") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = ua.LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -1904,21 +2085,14 @@ def create_standard_address_space_Part8(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=12090") + ref.SourceNodeId = ua.NodeId.from_string("i=15380") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12080") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=12090") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12094") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12090") + ref.SourceNodeId = ua.NodeId.from_string("i=15380") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) diff --git a/opcua/server/standard_address_space/standard_address_space_part9.py b/opcua/server/standard_address_space/standard_address_space_part9.py index c00a0b2f1..3fedcd27b 100644 --- a/opcua/server/standard_address_space/standard_address_space_part9.py +++ b/opcua/server/standard_address_space/standard_address_space_part9.py @@ -1288,13 +1288,13 @@ def create_standard_address_space_Part9(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'EventId' + extobj.Name = EventId extobj.DataType = ua.NodeId.from_string("i=15") extobj.ValueRank = -1 extobj.Description.Text = 'The identifier for the event to comment.' value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Comment' + extobj.Name = Comment extobj.DataType = ua.NodeId.from_string("i=21") extobj.ValueRank = -1 extobj.Description.Text = 'The comment to add to the condition.' @@ -1380,7 +1380,7 @@ def create_standard_address_space_Part9(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'SubscriptionId' + extobj.Name = SubscriptionId extobj.DataType = ua.NodeId.from_string("i=288") extobj.ValueRank = -1 extobj.Description.Text = 'The identifier for the suscription to refresh.' @@ -1466,13 +1466,13 @@ def create_standard_address_space_Part9(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'SubscriptionId' + extobj.Name = SubscriptionId extobj.DataType = ua.NodeId.from_string("i=288") extobj.ValueRank = -1 extobj.Description.Text = 'The identifier for the suscription to refresh.' value.append(extobj) extobj = ua.Argument() - extobj.Name = 'MonitoredItemId' + extobj.Name = MonitoredItemId extobj.DataType = ua.NodeId.from_string("i=288") extobj.ValueRank = -1 extobj.Description.Text = 'The identifier for the monitored item to refresh.' @@ -2084,7 +2084,7 @@ def create_standard_address_space_Part9(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'SelectedResponse' + extobj.Name = SelectedResponse extobj.DataType = ua.NodeId.from_string("i=6") extobj.ValueRank = -1 extobj.Description.Text = 'The response to the dialog condition.' @@ -2585,13 +2585,13 @@ def create_standard_address_space_Part9(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'EventId' + extobj.Name = EventId extobj.DataType = ua.NodeId.from_string("i=15") extobj.ValueRank = -1 extobj.Description.Text = 'The identifier for the event to comment.' value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Comment' + extobj.Name = Comment extobj.DataType = ua.NodeId.from_string("i=21") extobj.ValueRank = -1 extobj.Description.Text = 'The comment to add to the condition.' @@ -2677,13 +2677,13 @@ def create_standard_address_space_Part9(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'EventId' + extobj.Name = EventId extobj.DataType = ua.NodeId.from_string("i=15") extobj.ValueRank = -1 extobj.Description.Text = 'The identifier for the event to comment.' value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Comment' + extobj.Name = Comment extobj.DataType = ua.NodeId.from_string("i=21") extobj.ValueRank = -1 extobj.Description.Text = 'The comment to add to the condition.' @@ -3726,7 +3726,7 @@ def create_standard_address_space_Part9(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'ShelvingTime' + extobj.Name = ShelvingTime extobj.DataType = ua.NodeId.from_string("i=290") extobj.ValueRank = -1 extobj.Description.Text = 'If not 0, this parameter specifies a fixed time for which the Alarm is to be shelved.' @@ -5054,7 +5054,7 @@ def create_standard_address_space_Part9(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = 'ShelvingTime' + extobj.Name = ShelvingTime extobj.DataType = ua.NodeId.from_string("i=290") extobj.ValueRank = -1 extobj.Description.Text = 'If not 0, this parameter specifies a fixed time for which the Alarm is to be shelved.' @@ -7481,6 +7481,13 @@ def create_standard_address_space_Part9(server): ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=13225") ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=14900") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=13225") + ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=13326") refs.append(ref) ref = ua.AddReferencesItem() @@ -7536,6 +7543,43 @@ def create_standard_address_space_Part9(server): refs.append(ref) server.add_references(refs) + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=14900") + node.BrowseName = ua.QualifiedName.from_string("ExpirationLimit") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=13225") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("ExpirationLimit") + attrs.DataType = ua.NodeId.from_string("i=290") + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=14900") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=14900") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=14900") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=13225") + refs.append(ref) + server.add_references(refs) + node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=13326") node.BrowseName = ua.QualifiedName.from_string("CertificateType") diff --git a/opcua/ua/uaprotocol_auto.py b/opcua/ua/uaprotocol_auto.py index ea5d04309..2b226c6fe 100644 --- a/opcua/ua/uaprotocol_auto.py +++ b/opcua/ua/uaprotocol_auto.py @@ -166,14 +166,11 @@ class UserTokenType(IntEnum): :vartype Certificate: 2 :ivar IssuedToken: :vartype IssuedToken: 3 - :ivar Kerberos: - :vartype Kerberos: 4 """ Anonymous = 0 UserName = 1 Certificate = 2 IssuedToken = 3 - Kerberos = 4 class SecurityTokenRequestType(IntEnum): @@ -378,10 +375,13 @@ class BrowseDirection(IntEnum): :vartype Inverse: 1 :ivar Both: :vartype Both: 2 + :ivar Invalid: + :vartype Invalid: 3 """ Forward = 0 Inverse = 1 Both = 2 + Invalid = 3 class BrowseResultMask(IntEnum): @@ -421,23 +421,6 @@ class BrowseResultMask(IntEnum): TargetInfo = 60 -class ComplianceLevel(IntEnum): - """ - :ivar Untested: - :vartype Untested: 0 - :ivar Partial: - :vartype Partial: 1 - :ivar SelfTested: - :vartype SelfTested: 2 - :ivar Certified: - :vartype Certified: 3 - """ - Untested = 0 - Partial = 1 - SelfTested = 2 - Certified = 3 - - class FilterOperator(IntEnum): """ :ivar Equals: @@ -507,11 +490,14 @@ class TimestampsToReturn(IntEnum): :vartype Both: 2 :ivar Neither: :vartype Neither: 3 + :ivar Invalid: + :vartype Invalid: 4 """ Source = 0 Server = 1 Both = 2 Neither = 3 + Invalid = 4 class HistoryUpdateType(IntEnum): @@ -590,22 +576,6 @@ class DeadbandType(IntEnum): Percent = 2 -class EnumeratedTestType(IntEnum): - """ - A simple enumerated type used for testing. - - :ivar Red: - :vartype Red: 1 - :ivar Yellow: - :vartype Yellow: 4 - :ivar Green: - :vartype Green: 5 - """ - Red = 1 - Yellow = 4 - Green = 5 - - class RedundancySupport(IntEnum): """ :ivar None_: @@ -2267,30 +2237,6 @@ def __str__(self): __repr__ = __str__ -class KerberosIdentityToken(FrozenClass): - """ - :ivar PolicyId: - :vartype PolicyId: String - :ivar TicketData: - :vartype TicketData: ByteString - """ - - ua_types = [ - ('PolicyId', 'String'), - ('TicketData', 'ByteString'), - ] - - def __init__(self): - self.PolicyId = None - self.TicketData = None - self._freeze = True - - def __str__(self): - return f'KerberosIdentityToken(PolicyId:{self.PolicyId}, TicketData:{self.TicketData})' - - __repr__ = __str__ - - class IssuedIdentityToken(FrozenClass): """ A token representing a user identified by a WS-Security XML token. @@ -4363,102 +4309,6 @@ def __str__(self): __repr__ = __str__ -class SupportedProfile(FrozenClass): - """ - :ivar OrganizationUri: - :vartype OrganizationUri: String - :ivar ProfileId: - :vartype ProfileId: String - :ivar ComplianceTool: - :vartype ComplianceTool: String - :ivar ComplianceDate: - :vartype ComplianceDate: DateTime - :ivar ComplianceLevel: - :vartype ComplianceLevel: ComplianceLevel - :ivar UnsupportedUnitIds: - :vartype UnsupportedUnitIds: String - """ - - ua_types = [ - ('OrganizationUri', 'String'), - ('ProfileId', 'String'), - ('ComplianceTool', 'String'), - ('ComplianceDate', 'DateTime'), - ('ComplianceLevel', 'ComplianceLevel'), - ('UnsupportedUnitIds', 'ListOfString'), - ] - - def __init__(self): - self.OrganizationUri = None - self.ProfileId = None - self.ComplianceTool = None - self.ComplianceDate = datetime.utcnow() - self.ComplianceLevel = ComplianceLevel(0) - self.UnsupportedUnitIds = [] - self._freeze = True - - def __str__(self): - return f'SupportedProfile(OrganizationUri:{self.OrganizationUri}, ProfileId:{self.ProfileId}, ComplianceTool:{self.ComplianceTool}, ComplianceDate:{self.ComplianceDate}, ComplianceLevel:{self.ComplianceLevel}, UnsupportedUnitIds:{self.UnsupportedUnitIds})' - - __repr__ = __str__ - - -class SoftwareCertificate(FrozenClass): - """ - :ivar ProductName: - :vartype ProductName: String - :ivar ProductUri: - :vartype ProductUri: String - :ivar VendorName: - :vartype VendorName: String - :ivar VendorProductCertificate: - :vartype VendorProductCertificate: ByteString - :ivar SoftwareVersion: - :vartype SoftwareVersion: String - :ivar BuildNumber: - :vartype BuildNumber: String - :ivar BuildDate: - :vartype BuildDate: DateTime - :ivar IssuedBy: - :vartype IssuedBy: String - :ivar IssueDate: - :vartype IssueDate: DateTime - :ivar SupportedProfiles: - :vartype SupportedProfiles: SupportedProfile - """ - - ua_types = [ - ('ProductName', 'String'), - ('ProductUri', 'String'), - ('VendorName', 'String'), - ('VendorProductCertificate', 'ByteString'), - ('SoftwareVersion', 'String'), - ('BuildNumber', 'String'), - ('BuildDate', 'DateTime'), - ('IssuedBy', 'String'), - ('IssueDate', 'DateTime'), - ('SupportedProfiles', 'ListOfSupportedProfile'), - ] - - def __init__(self): - self.ProductName = None - self.ProductUri = None - self.VendorName = None - self.VendorProductCertificate = None - self.SoftwareVersion = None - self.BuildNumber = None - self.BuildDate = datetime.utcnow() - self.IssuedBy = None - self.IssueDate = datetime.utcnow() - self.SupportedProfiles = [] - self._freeze = True - - def __str__(self): - return f'SoftwareCertificate(ProductName:{self.ProductName}, ProductUri:{self.ProductUri}, VendorName:{self.VendorName}, VendorProductCertificate:{self.VendorProductCertificate}, SoftwareVersion:{self.SoftwareVersion}, BuildNumber:{self.BuildNumber}, BuildDate:{self.BuildDate}, IssuedBy:{self.IssuedBy}, IssueDate:{self.IssueDate}, SupportedProfiles:{self.SupportedProfiles})' - - __repr__ = __str__ - - class QueryDataDescription(FrozenClass): """ :ivar RelativePath: @@ -9004,9 +8854,6 @@ def __str__(self): nid = FourByteNodeId(ObjectIds.X509IdentityToken_Encoding_DefaultBinary) extension_object_classes[nid] = X509IdentityToken extension_object_ids['X509IdentityToken'] = nid -nid = FourByteNodeId(ObjectIds.KerberosIdentityToken_Encoding_DefaultBinary) -extension_object_classes[nid] = KerberosIdentityToken -extension_object_ids['KerberosIdentityToken'] = nid nid = FourByteNodeId(ObjectIds.IssuedIdentityToken_Encoding_DefaultBinary) extension_object_classes[nid] = IssuedIdentityToken extension_object_ids['IssuedIdentityToken'] = nid @@ -9154,12 +9001,6 @@ def __str__(self): nid = FourByteNodeId(ObjectIds.EndpointConfiguration_Encoding_DefaultBinary) extension_object_classes[nid] = EndpointConfiguration extension_object_ids['EndpointConfiguration'] = nid -nid = FourByteNodeId(ObjectIds.SupportedProfile_Encoding_DefaultBinary) -extension_object_classes[nid] = SupportedProfile -extension_object_ids['SupportedProfile'] = nid -nid = FourByteNodeId(ObjectIds.SoftwareCertificate_Encoding_DefaultBinary) -extension_object_classes[nid] = SoftwareCertificate -extension_object_ids['SoftwareCertificate'] = nid nid = FourByteNodeId(ObjectIds.QueryDataDescription_Encoding_DefaultBinary) extension_object_classes[nid] = QueryDataDescription extension_object_ids['QueryDataDescription'] = nid diff --git a/opcua/ua/uaprotocol_hand.py b/opcua/ua/uaprotocol_hand.py index dc1f76b75..c36b41931 100644 --- a/opcua/ua/uaprotocol_hand.py +++ b/opcua/ua/uaprotocol_hand.py @@ -9,35 +9,36 @@ class Hello(uatypes.FrozenClass): - - ua_types = (('ProtocolVersion', 'UInt32'), ('ReceiveBufferSize', 'UInt32'), ('SendBufferSize', 'UInt32'), - ('MaxMessageSize', 'UInt32'), ('MaxChunkCount', 'UInt32'), ('EndpointUrl', 'String'), ) + ua_types = ( + ('ProtocolVersion', 'UInt32'), ('ReceiveBufferSize', 'UInt32'), ('SendBufferSize', 'UInt32'), + ('MaxMessageSize', 'UInt32'), ('MaxChunkCount', 'UInt32'), ('EndpointUrl', 'String'), + ) def __init__(self): self.ProtocolVersion = 0 self.ReceiveBufferSize = 65536 self.SendBufferSize = 65536 - self.MaxMessageSize = 0 # No limits - self.MaxChunkCount = 0 # No limits + self.MaxMessageSize = 0 # No limits + self.MaxChunkCount = 0 # No limits self.EndpointUrl = "" self._freeze = True -class MessageType(object): - Invalid = b"INV" # FIXME: check value - Hello = b"HEL" - Acknowledge = b"ACK" - Error = b"ERR" - SecureOpen = b"OPN" - SecureClose = b"CLO" - SecureMessage = b"MSG" +class MessageType: + Invalid = b'INV' # FIXME: check value + Hello = b'HEL' + Acknowledge = b'ACK' + Error = b'ERR' + SecureOpen = b'OPN' + SecureClose = b'CLO' + SecureMessage = b'MSG' -class ChunkType(object): - Invalid = b"0" # FIXME check - Single = b"F" - Intermediate = b"C" - Abort = b"A" # when an error occurred and the Message is aborted (body is ErrorMessage) +class ChunkType: + Invalid = b'0' # FIXME check + Single = b'F' + Intermediate = b'C' + Abort = b'A' # when an error occurred and the Message is aborted (body is ErrorMessage) class Header(uatypes.FrozenClass): @@ -57,15 +58,13 @@ def max_size(): return struct.calcsize("<3scII") def __str__(self): - return "Header(type:{0}, chunk_type:{1}, body_size:{2}, channel:{3})".format( - self.MessageType, self.ChunkType, self.body_size, self.ChannelId) + return f'Header(type:{self.MessageType}, chunk_type:{self.ChunkType}, body_size:{self.body_size}, channel:{self.ChannelId})' __repr__ = __str__ class ErrorMessage(uatypes.FrozenClass): - - ua_types = (('Error', 'StatusCode'), ('Reason', 'String'), ) + ua_types = (('Error', 'StatusCode'), ('Reason', 'String'),) def __init__(self): self.Error = uatypes.StatusCode() @@ -73,19 +72,18 @@ def __init__(self): self._freeze = True def __str__(self): - return "MessageAbort(error:{0}, reason:{1})".format(self.Error, self.Reason) + return f'MessageAbort(error:{self.Error}, reason:{self.Reason})' __repr__ = __str__ class Acknowledge(uatypes.FrozenClass): - ua_types = [ - ("ProtocolVersion", "UInt32"), - ("ReceiveBufferSize", "UInt32"), - ("SendBufferSize", "UInt32"), - ("MaxMessageSize", "UInt32"), - ("MaxChunkCount", "UInt32"), + ('ProtocolVersion', 'UInt32'), + ('ReceiveBufferSize', 'UInt32'), + ('SendBufferSize', 'UInt32'), + ('MaxMessageSize', 'UInt32'), + ('MaxChunkCount', 'UInt32'), ] def __init__(self): @@ -98,15 +96,14 @@ def __init__(self): class AsymmetricAlgorithmHeader(uatypes.FrozenClass): - ua_types = [ - ("SecurityPolicyURI", "String"), - ("SenderCertificate", "ByteString"), - ("ReceiverCertificateThumbPrint", "ByteString"), + ('SecurityPolicyURI', 'String'), + ('SenderCertificate', 'ByteString'), + ('ReceiverCertificateThumbPrint', 'ByteString'), ] def __init__(self): - self.SecurityPolicyURI = "http://opcfoundation.org/UA/SecurityPolicy#None" + self.SecurityPolicyURI = 'http://opcfoundation.org/UA/SecurityPolicy#None' self.SenderCertificate = None self.ReceiverCertificateThumbPrint = None self._freeze = True @@ -114,16 +111,14 @@ def __init__(self): def __str__(self): size1 = len(self.SenderCertificate) if self.SenderCertificate is not None else None size2 = len(self.ReceiverCertificateThumbPrint) if self.ReceiverCertificateThumbPrint is not None else None - return "{0}(SecurityPolicy:{1}, certificatesize:{2}, receiverCertificatesize:{3} )".format( - self.__class__.__name__, self.SecurityPolicyURI, size1, size2) + return f'{self.__class__.__name__}(SecurityPolicy:{self.SecurityPolicyURI}, certificatesize:{size2}, receiverCertificatesize:{size2} )' __repr__ = __str__ class SymmetricAlgorithmHeader(uatypes.FrozenClass): - ua_types = [ - ("TokenId", "UInt32"), + ('TokenId', 'UInt32'), ] def __init__(self): @@ -132,19 +127,18 @@ def __init__(self): @staticmethod def max_size(): - return struct.calcsize(" sample code def datetime_to_win_epoch(dt): + """method copied from David Buxton sample code""" if (dt.tzinfo is None) or (dt.tzinfo.utcoffset(dt) is None): dt = dt.replace(tzinfo=UTC()) ft = EPOCH_AS_FILETIME + (timegm(dt.timetuple()) * HUNDREDS_OF_NANOSECONDS) @@ -62,7 +61,7 @@ def win_epoch_to_datetime(epch): return FILETIME_EPOCH_AS_DATETIME + timedelta(microseconds=epch // 10) except OverflowError: # FILETIMEs after 31 Dec 9999 can't be converted to datetime - logger.warning("datetime overflow: %s", epch) + logger.warning('datetime overflow: %s', epch) return datetime(MAXYEAR, 12, 31, 23, 59, 59, 999999) @@ -76,18 +75,18 @@ class _FrozenClass(object): def __setattr__(self, key, value): if self._freeze and not hasattr(self, key): - raise TypeError("Error adding member '{0}' to class '{1}', class is frozen, members are {2}".format( - key, self.__class__.__name__, self.__dict__.keys())) + raise TypeError(f"Error adding member '{key}' to class '{self.__class__.__name__}', class is frozen, members are {self.__dict__.keys()}") object.__setattr__(self, key, value) -if "PYOPCUA_NO_TYPO_CHECK" in os.environ: +if 'PYOPCUA_NO_TYPO_CHECK' in os.environ: # typo check is cpu consuming, but it will make debug easy. # if typo check is not need (in production), please set env PYOPCUA_NO_TYPO_CHECK. - # this will make all uatype class inherit from object intead of _FrozenClass + # this will make all uatype class inherit from object instead of _FrozenClass # and skip the typo check. FrozenClass = object else: + logger.warning('uaypes typo checking is active') FrozenClass = _FrozenClass @@ -113,7 +112,7 @@ class _MaskEnum(IntEnum): def parse_bitfield(cls, the_int): """ Take an integer and interpret it as a set of enum values. """ if not isinstance(the_int, int): - raise ValueError("Argument should be an int, we received {} fo type {}".format(the_int, type(the_int))) + raise ValueError(f"Argument should be an int, we received {the_int} fo type {type(the_int)}") return {cls(b) for b in cls._bits(the_int)} @@ -245,7 +244,7 @@ def is_good(self): return True def __str__(self): - return 'StatusCode({0})'.format(self.name) + return f'StatusCode({self.name})' __repr__ = __str__ @@ -348,7 +347,7 @@ def from_string(string): try: return NodeId._from_string(string) except ValueError as ex: - raise UaStringParsingError("Error parsing string {0}".format(string), ex) + raise UaStringParsingError(f"Error parsing string {string}", ex) @staticmethod def _from_string(string): @@ -383,7 +382,7 @@ def _from_string(string): elif k == "nsu": nsu = v if identifier is None: - raise UaStringParsingError("Could not find identifier in string: " + string) + raise UaStringParsingError(f"Could not find identifier in string: {string}") nodeid = NodeId(identifier, namespace, ntype) nodeid.NamespaceUri = nsu nodeid.ServerIndex = srv @@ -414,7 +413,7 @@ def to_string(self): return ";".join(string) def __str__(self): - return "{0}NodeId({1})".format(self.NodeIdType.name, self.to_string()) + return f"{self.NodeIdType.name}NodeId({self.to_string()})" __repr__ = __str__ @@ -483,7 +482,7 @@ def from_string(string): idx, name = string.split(":", 1) idx = int(idx) except (TypeError, ValueError) as ex: - raise UaStringParsingError("Error parsing string {0}".format(string), ex) + raise UaStringParsingError(f"Error parsing string {string}", ex) else: idx = 0 name = string @@ -498,14 +497,14 @@ def __ne__(self, other): def __lt__(self, other): if not isinstance(other, QualifiedName): - raise TypeError("Cannot compare QualifiedName and {0}".format(other)) + raise TypeError(f"Cannot compare QualifiedName and {other}") if self.NamespaceIndex == other.NamespaceIndex: return self.Name < other.Name else: return self.NamespaceIndex < other.NamespaceIndex def __str__(self): - return 'QualifiedName({0}:{1})'.format(self.NamespaceIndex, self.Name) + return f'QualifiedName({self.NamespaceIndex}:{self.Name})' __repr__ = __str__ @@ -528,7 +527,7 @@ class LocalizedText(FrozenClass): def __init__(self, text=None): self.Encoding = 0 if text is not None and not isinstance(text, str): - raise ValueError("A LocalizedText object takes a string as argument, not a {}, {}".format(text, type(text))) + raise ValueError(f"A LocalizedText object takes a string as argument, not a {text}, {type(text)}") self.Text = text if self.Text: self.Encoding |= (1 << 1) @@ -542,9 +541,7 @@ def to_string(self): return self.Text def __str__(self): - return 'LocalizedText(' + 'Encoding:' + str(self.Encoding) + ', ' + \ - 'Locale:' + str(self.Locale) + ', ' + \ - 'Text:' + str(self.Text) +')' + return f'LocalizedText(Encoding:{self.Encoding}, Locale:{self.Locale}, Text:{self.Text})' __repr__ = __str__ @@ -588,8 +585,7 @@ def __bool__(self): def __str__(self): size = len(self.Body) if self.Body is not None else None - return 'ExtensionObject(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'Encoding:' + str(self.Encoding) + ', ' + str(size) + ' bytes)' + return f'ExtensionObject(TypeId:{self.TypeId}, Encoding:{self.Encoding}, {size} bytes)' __repr__ = __str__ @@ -666,11 +662,10 @@ def __init__(self, val): self.name = "Custom" self.value = val if self.value > 0b00111111: - raise UaError( - "Cannot create VariantType. VariantType must be {0} > x > {1}, received {2}".format(0b111111, 25, val)) + raise UaError(f"Cannot create VariantType. VariantType must be {0b111111} > x > {25}, received {val}") def __str__(self): - return "VariantType.Custom:{0}".format(self.value) + return f"VariantType.Custom:{self.value}" __repr__ = __str__ @@ -713,7 +708,7 @@ def __init__(self, value=None, varianttype=None, dimensions=None, is_array=None) self.VariantType = self._guess_type(self.Value) if self.Value is None and not self.is_array and self.VariantType not in (VariantType.Null, VariantType.String, VariantType.DateTime): - raise UaError("Non array Variant of type {0} cannot have value None".format(self.VariantType)) + raise UaError(f"Non array Variant of type {self.VariantType} cannot have value None") if self.Dimensions is None and isinstance(self.Value, (list, tuple)): dims = get_shape(self.Value) if len(dims) > 1: @@ -732,7 +727,7 @@ def _guess_type(self, val): error_val = val while isinstance(val, (list, tuple)): if len(val) == 0: - raise UaError("could not guess UA type of variable {0}".format(error_val)) + raise UaError(f"could not guess UA type of variable {error_val}") val = val[0] if val is None: return VariantType.Null @@ -759,10 +754,10 @@ def _guess_type(self, val): except AttributeError: return VariantType.ExtensionObject else: - raise UaError("Could not guess UA type of {0} with type {1}, specify UA type".format(val, type(val))) + raise UaError(f"Could not guess UA type of {val} with type {type(val)}, specify UA type") def __str__(self): - return "Variant(val:{0!s},type:{1})".format(self.Value, self.VariantType) + return f"Variant(val:{self.Value!s},type:{self.VariantType})" __repr__ = __str__ @@ -863,19 +858,18 @@ def __init__(self, variant=None, status=None): self._freeze = True def __str__(self): - s = 'DataValue(Value:{0}'.format(self.Value) + s = [] if self.StatusCode is not None: - s += ', StatusCode:{0}'.format(self.StatusCode) + s.append(f', StatusCode:{self.StatusCode}') if self.SourceTimestamp is not None: - s += ', SourceTimestamp:{0}'.format(self.SourceTimestamp) + s.append(f', SourceTimestamp:{self.SourceTimestamp}') if self.ServerTimestamp is not None: - s += ', ServerTimestamp:{0}'.format(self.ServerTimestamp) + s.append(f', ServerTimestamp:{self.ServerTimestamp}') if self.SourcePicoseconds is not None: - s += ', SourcePicoseconds:{0}'.format(self.SourcePicoseconds) + s.append(f', SourcePicoseconds:{self.SourcePicoseconds}') if self.ServerPicoseconds is not None: - s += ', ServerPicoseconds:{0}'.format(self.ServerPicoseconds) - s += ')' - return s + s.append(f', ServerPicoseconds:{self.ServerPicoseconds}') + return f'DataValue(Value:{self.Value}{"".join(s)})' __repr__ = __str__ @@ -937,7 +931,7 @@ def get_default_value(vtype): elif vtype == VariantType.Variant: return Variant() else: - raise RuntimeError("function take a uatype as argument, got:", vtype) + raise RuntimeError(f"function take a uatype as argument, got: {vtype}") # These dictionnaries are used to register extensions classes for automatic diff --git a/schemas/AttributeIds.csv b/schemas/AttributeIds.csv index 784fccbcb..7272ff5c6 100644 --- a/schemas/AttributeIds.csv +++ b/schemas/AttributeIds.csv @@ -1,22 +1,22 @@ -NodeId,1 -NodeClass,2 -BrowseName,3 -DisplayName,4 -Description,5 -WriteMask,6 -UserWriteMask,7 -IsAbstract,8 -Symmetric,9 -InverseName,10 -ContainsNoLoops,11 -EventNotifier,12 -Value,13 -DataType,14 -ValueRank,15 -ArrayDimensions,16 -AccessLevel,17 -UserAccessLevel,18 -MinimumSamplingInterval,19 -Historizing,20 -Executable,21 -UserExecutable,22 +NodeId,1 +NodeClass,2 +BrowseName,3 +DisplayName,4 +Description,5 +WriteMask,6 +UserWriteMask,7 +IsAbstract,8 +Symmetric,9 +InverseName,10 +ContainsNoLoops,11 +EventNotifier,12 +Value,13 +DataType,14 +ValueRank,15 +ArrayDimensions,16 +AccessLevel,17 +UserAccessLevel,18 +MinimumSamplingInterval,19 +Historizing,20 +Executable,21 +UserExecutable,22 diff --git a/schemas/NodeIds.csv b/schemas/NodeIds.csv index 419dd862e..3306b5f94 100644 --- a/schemas/NodeIds.csv +++ b/schemas/NodeIds.csv @@ -1,5746 +1,5746 @@ -Boolean,1,DataType -SByte,2,DataType -Byte,3,DataType -Int16,4,DataType -UInt16,5,DataType -Int32,6,DataType -UInt32,7,DataType -Int64,8,DataType -UInt64,9,DataType -Float,10,DataType -Double,11,DataType -String,12,DataType -DateTime,13,DataType -Guid,14,DataType -ByteString,15,DataType -XmlElement,16,DataType -NodeId,17,DataType -ExpandedNodeId,18,DataType -StatusCode,19,DataType -QualifiedName,20,DataType -LocalizedText,21,DataType -Structure,22,DataType -DataValue,23,DataType -BaseDataType,24,DataType -DiagnosticInfo,25,DataType -Number,26,DataType -Integer,27,DataType -UInteger,28,DataType -Enumeration,29,DataType -Image,30,DataType -References,31,ReferenceType -NonHierarchicalReferences,32,ReferenceType -HierarchicalReferences,33,ReferenceType -HasChild,34,ReferenceType -Organizes,35,ReferenceType -HasEventSource,36,ReferenceType -HasModellingRule,37,ReferenceType -HasEncoding,38,ReferenceType -HasDescription,39,ReferenceType -HasTypeDefinition,40,ReferenceType -GeneratesEvent,41,ReferenceType -Aggregates,44,ReferenceType -HasSubtype,45,ReferenceType -HasProperty,46,ReferenceType -HasComponent,47,ReferenceType -HasNotifier,48,ReferenceType -HasOrderedComponent,49,ReferenceType -FromState,51,ReferenceType -ToState,52,ReferenceType -HasCause,53,ReferenceType -HasEffect,54,ReferenceType -HasHistoricalConfiguration,56,ReferenceType -BaseObjectType,58,ObjectType -FolderType,61,ObjectType -BaseVariableType,62,VariableType -BaseDataVariableType,63,VariableType -PropertyType,68,VariableType -DataTypeDescriptionType,69,VariableType -DataTypeDictionaryType,72,VariableType -DataTypeSystemType,75,ObjectType -DataTypeEncodingType,76,ObjectType -ModellingRuleType,77,ObjectType -ModellingRule_Mandatory,78,Object -ModellingRule_MandatoryShared,79,Object -ModellingRule_Optional,80,Object -ModellingRule_ExposesItsArray,83,Object -RootFolder,84,Object -ObjectsFolder,85,Object -TypesFolder,86,Object -ViewsFolder,87,Object -ObjectTypesFolder,88,Object -VariableTypesFolder,89,Object -DataTypesFolder,90,Object -ReferenceTypesFolder,91,Object -XmlSchema_TypeSystem,92,Object -OPCBinarySchema_TypeSystem,93,Object -DataTypeDescriptionType_DataTypeVersion,104,Variable -DataTypeDescriptionType_DictionaryFragment,105,Variable -DataTypeDictionaryType_DataTypeVersion,106,Variable -DataTypeDictionaryType_NamespaceUri,107,Variable -ModellingRuleType_NamingRule,111,Variable -ModellingRule_Mandatory_NamingRule,112,Variable -ModellingRule_Optional_NamingRule,113,Variable -ModellingRule_ExposesItsArray_NamingRule,114,Variable -ModellingRule_MandatoryShared_NamingRule,116,Variable -HasSubStateMachine,117,ReferenceType -NamingRuleType,120,DataType -Decimal128,121,DataType -IdType,256,DataType -NodeClass,257,DataType -Node,258,DataType -Node_Encoding_DefaultXml,259,Object -Node_Encoding_DefaultBinary,260,Object -ObjectNode,261,DataType -ObjectNode_Encoding_DefaultXml,262,Object -ObjectNode_Encoding_DefaultBinary,263,Object -ObjectTypeNode,264,DataType -ObjectTypeNode_Encoding_DefaultXml,265,Object -ObjectTypeNode_Encoding_DefaultBinary,266,Object -VariableNode,267,DataType -VariableNode_Encoding_DefaultXml,268,Object -VariableNode_Encoding_DefaultBinary,269,Object -VariableTypeNode,270,DataType -VariableTypeNode_Encoding_DefaultXml,271,Object -VariableTypeNode_Encoding_DefaultBinary,272,Object -ReferenceTypeNode,273,DataType -ReferenceTypeNode_Encoding_DefaultXml,274,Object -ReferenceTypeNode_Encoding_DefaultBinary,275,Object -MethodNode,276,DataType -MethodNode_Encoding_DefaultXml,277,Object -MethodNode_Encoding_DefaultBinary,278,Object -ViewNode,279,DataType -ViewNode_Encoding_DefaultXml,280,Object -ViewNode_Encoding_DefaultBinary,281,Object -DataTypeNode,282,DataType -DataTypeNode_Encoding_DefaultXml,283,Object -DataTypeNode_Encoding_DefaultBinary,284,Object -ReferenceNode,285,DataType -ReferenceNode_Encoding_DefaultXml,286,Object -ReferenceNode_Encoding_DefaultBinary,287,Object -IntegerId,288,DataType -Counter,289,DataType -Duration,290,DataType -NumericRange,291,DataType -Time,292,DataType -Date,293,DataType -UtcTime,294,DataType -LocaleId,295,DataType -Argument,296,DataType -Argument_Encoding_DefaultXml,297,Object -Argument_Encoding_DefaultBinary,298,Object -StatusResult,299,DataType -StatusResult_Encoding_DefaultXml,300,Object -StatusResult_Encoding_DefaultBinary,301,Object -MessageSecurityMode,302,DataType -UserTokenType,303,DataType -UserTokenPolicy,304,DataType -UserTokenPolicy_Encoding_DefaultXml,305,Object -UserTokenPolicy_Encoding_DefaultBinary,306,Object -ApplicationType,307,DataType -ApplicationDescription,308,DataType -ApplicationDescription_Encoding_DefaultXml,309,Object -ApplicationDescription_Encoding_DefaultBinary,310,Object -ApplicationInstanceCertificate,311,DataType -EndpointDescription,312,DataType -EndpointDescription_Encoding_DefaultXml,313,Object -EndpointDescription_Encoding_DefaultBinary,314,Object -SecurityTokenRequestType,315,DataType -UserIdentityToken,316,DataType -UserIdentityToken_Encoding_DefaultXml,317,Object -UserIdentityToken_Encoding_DefaultBinary,318,Object -AnonymousIdentityToken,319,DataType -AnonymousIdentityToken_Encoding_DefaultXml,320,Object -AnonymousIdentityToken_Encoding_DefaultBinary,321,Object -UserNameIdentityToken,322,DataType -UserNameIdentityToken_Encoding_DefaultXml,323,Object -UserNameIdentityToken_Encoding_DefaultBinary,324,Object -X509IdentityToken,325,DataType -X509IdentityToken_Encoding_DefaultXml,326,Object -X509IdentityToken_Encoding_DefaultBinary,327,Object -EndpointConfiguration,331,DataType -EndpointConfiguration_Encoding_DefaultXml,332,Object -EndpointConfiguration_Encoding_DefaultBinary,333,Object -ComplianceLevel,334,DataType -SupportedProfile,335,DataType -SupportedProfile_Encoding_DefaultXml,336,Object -SupportedProfile_Encoding_DefaultBinary,337,Object -BuildInfo,338,DataType -BuildInfo_Encoding_DefaultXml,339,Object -BuildInfo_Encoding_DefaultBinary,340,Object -SoftwareCertificate,341,DataType -SoftwareCertificate_Encoding_DefaultXml,342,Object -SoftwareCertificate_Encoding_DefaultBinary,343,Object -SignedSoftwareCertificate,344,DataType -SignedSoftwareCertificate_Encoding_DefaultXml,345,Object -SignedSoftwareCertificate_Encoding_DefaultBinary,346,Object -AttributeWriteMask,347,DataType -NodeAttributesMask,348,DataType -NodeAttributes,349,DataType -NodeAttributes_Encoding_DefaultXml,350,Object -NodeAttributes_Encoding_DefaultBinary,351,Object -ObjectAttributes,352,DataType -ObjectAttributes_Encoding_DefaultXml,353,Object -ObjectAttributes_Encoding_DefaultBinary,354,Object -VariableAttributes,355,DataType -VariableAttributes_Encoding_DefaultXml,356,Object -VariableAttributes_Encoding_DefaultBinary,357,Object -MethodAttributes,358,DataType -MethodAttributes_Encoding_DefaultXml,359,Object -MethodAttributes_Encoding_DefaultBinary,360,Object -ObjectTypeAttributes,361,DataType -ObjectTypeAttributes_Encoding_DefaultXml,362,Object -ObjectTypeAttributes_Encoding_DefaultBinary,363,Object -VariableTypeAttributes,364,DataType -VariableTypeAttributes_Encoding_DefaultXml,365,Object -VariableTypeAttributes_Encoding_DefaultBinary,366,Object -ReferenceTypeAttributes,367,DataType -ReferenceTypeAttributes_Encoding_DefaultXml,368,Object -ReferenceTypeAttributes_Encoding_DefaultBinary,369,Object -DataTypeAttributes,370,DataType -DataTypeAttributes_Encoding_DefaultXml,371,Object -DataTypeAttributes_Encoding_DefaultBinary,372,Object -ViewAttributes,373,DataType -ViewAttributes_Encoding_DefaultXml,374,Object -ViewAttributes_Encoding_DefaultBinary,375,Object -AddNodesItem,376,DataType -AddNodesItem_Encoding_DefaultXml,377,Object -AddNodesItem_Encoding_DefaultBinary,378,Object -AddReferencesItem,379,DataType -AddReferencesItem_Encoding_DefaultXml,380,Object -AddReferencesItem_Encoding_DefaultBinary,381,Object -DeleteNodesItem,382,DataType -DeleteNodesItem_Encoding_DefaultXml,383,Object -DeleteNodesItem_Encoding_DefaultBinary,384,Object -DeleteReferencesItem,385,DataType -DeleteReferencesItem_Encoding_DefaultXml,386,Object -DeleteReferencesItem_Encoding_DefaultBinary,387,Object -SessionAuthenticationToken,388,DataType -RequestHeader,389,DataType -RequestHeader_Encoding_DefaultXml,390,Object -RequestHeader_Encoding_DefaultBinary,391,Object -ResponseHeader,392,DataType -ResponseHeader_Encoding_DefaultXml,393,Object -ResponseHeader_Encoding_DefaultBinary,394,Object -ServiceFault,395,DataType -ServiceFault_Encoding_DefaultXml,396,Object -ServiceFault_Encoding_DefaultBinary,397,Object -EnumeratedTestType,398,DataType -FindServersRequest,420,DataType -FindServersRequest_Encoding_DefaultXml,421,Object -FindServersRequest_Encoding_DefaultBinary,422,Object -FindServersResponse,423,DataType -FindServersResponse_Encoding_DefaultXml,424,Object -FindServersResponse_Encoding_DefaultBinary,425,Object -GetEndpointsRequest,426,DataType -GetEndpointsRequest_Encoding_DefaultXml,427,Object -GetEndpointsRequest_Encoding_DefaultBinary,428,Object -GetEndpointsResponse,429,DataType -GetEndpointsResponse_Encoding_DefaultXml,430,Object -GetEndpointsResponse_Encoding_DefaultBinary,431,Object -RegisteredServer,432,DataType -RegisteredServer_Encoding_DefaultXml,433,Object -RegisteredServer_Encoding_DefaultBinary,434,Object -RegisterServerRequest,435,DataType -RegisterServerRequest_Encoding_DefaultXml,436,Object -RegisterServerRequest_Encoding_DefaultBinary,437,Object -RegisterServerResponse,438,DataType -RegisterServerResponse_Encoding_DefaultXml,439,Object -RegisterServerResponse_Encoding_DefaultBinary,440,Object -ChannelSecurityToken,441,DataType -ChannelSecurityToken_Encoding_DefaultXml,442,Object -ChannelSecurityToken_Encoding_DefaultBinary,443,Object -OpenSecureChannelRequest,444,DataType -OpenSecureChannelRequest_Encoding_DefaultXml,445,Object -OpenSecureChannelRequest_Encoding_DefaultBinary,446,Object -OpenSecureChannelResponse,447,DataType -OpenSecureChannelResponse_Encoding_DefaultXml,448,Object -OpenSecureChannelResponse_Encoding_DefaultBinary,449,Object -CloseSecureChannelRequest,450,DataType -CloseSecureChannelRequest_Encoding_DefaultXml,451,Object -CloseSecureChannelRequest_Encoding_DefaultBinary,452,Object -CloseSecureChannelResponse,453,DataType -CloseSecureChannelResponse_Encoding_DefaultXml,454,Object -CloseSecureChannelResponse_Encoding_DefaultBinary,455,Object -SignatureData,456,DataType -SignatureData_Encoding_DefaultXml,457,Object -SignatureData_Encoding_DefaultBinary,458,Object -CreateSessionRequest,459,DataType -CreateSessionRequest_Encoding_DefaultXml,460,Object -CreateSessionRequest_Encoding_DefaultBinary,461,Object -CreateSessionResponse,462,DataType -CreateSessionResponse_Encoding_DefaultXml,463,Object -CreateSessionResponse_Encoding_DefaultBinary,464,Object -ActivateSessionRequest,465,DataType -ActivateSessionRequest_Encoding_DefaultXml,466,Object -ActivateSessionRequest_Encoding_DefaultBinary,467,Object -ActivateSessionResponse,468,DataType -ActivateSessionResponse_Encoding_DefaultXml,469,Object -ActivateSessionResponse_Encoding_DefaultBinary,470,Object -CloseSessionRequest,471,DataType -CloseSessionRequest_Encoding_DefaultXml,472,Object -CloseSessionRequest_Encoding_DefaultBinary,473,Object -CloseSessionResponse,474,DataType -CloseSessionResponse_Encoding_DefaultXml,475,Object -CloseSessionResponse_Encoding_DefaultBinary,476,Object -CancelRequest,477,DataType -CancelRequest_Encoding_DefaultXml,478,Object -CancelRequest_Encoding_DefaultBinary,479,Object -CancelResponse,480,DataType -CancelResponse_Encoding_DefaultXml,481,Object -CancelResponse_Encoding_DefaultBinary,482,Object -AddNodesResult,483,DataType -AddNodesResult_Encoding_DefaultXml,484,Object -AddNodesResult_Encoding_DefaultBinary,485,Object -AddNodesRequest,486,DataType -AddNodesRequest_Encoding_DefaultXml,487,Object -AddNodesRequest_Encoding_DefaultBinary,488,Object -AddNodesResponse,489,DataType -AddNodesResponse_Encoding_DefaultXml,490,Object -AddNodesResponse_Encoding_DefaultBinary,491,Object -AddReferencesRequest,492,DataType -AddReferencesRequest_Encoding_DefaultXml,493,Object -AddReferencesRequest_Encoding_DefaultBinary,494,Object -AddReferencesResponse,495,DataType -AddReferencesResponse_Encoding_DefaultXml,496,Object -AddReferencesResponse_Encoding_DefaultBinary,497,Object -DeleteNodesRequest,498,DataType -DeleteNodesRequest_Encoding_DefaultXml,499,Object -DeleteNodesRequest_Encoding_DefaultBinary,500,Object -DeleteNodesResponse,501,DataType -DeleteNodesResponse_Encoding_DefaultXml,502,Object -DeleteNodesResponse_Encoding_DefaultBinary,503,Object -DeleteReferencesRequest,504,DataType -DeleteReferencesRequest_Encoding_DefaultXml,505,Object -DeleteReferencesRequest_Encoding_DefaultBinary,506,Object -DeleteReferencesResponse,507,DataType -DeleteReferencesResponse_Encoding_DefaultXml,508,Object -DeleteReferencesResponse_Encoding_DefaultBinary,509,Object -BrowseDirection,510,DataType -ViewDescription,511,DataType -ViewDescription_Encoding_DefaultXml,512,Object -ViewDescription_Encoding_DefaultBinary,513,Object -BrowseDescription,514,DataType -BrowseDescription_Encoding_DefaultXml,515,Object -BrowseDescription_Encoding_DefaultBinary,516,Object -BrowseResultMask,517,DataType -ReferenceDescription,518,DataType -ReferenceDescription_Encoding_DefaultXml,519,Object -ReferenceDescription_Encoding_DefaultBinary,520,Object -ContinuationPoint,521,DataType -BrowseResult,522,DataType -BrowseResult_Encoding_DefaultXml,523,Object -BrowseResult_Encoding_DefaultBinary,524,Object -BrowseRequest,525,DataType -BrowseRequest_Encoding_DefaultXml,526,Object -BrowseRequest_Encoding_DefaultBinary,527,Object -BrowseResponse,528,DataType -BrowseResponse_Encoding_DefaultXml,529,Object -BrowseResponse_Encoding_DefaultBinary,530,Object -BrowseNextRequest,531,DataType -BrowseNextRequest_Encoding_DefaultXml,532,Object -BrowseNextRequest_Encoding_DefaultBinary,533,Object -BrowseNextResponse,534,DataType -BrowseNextResponse_Encoding_DefaultXml,535,Object -BrowseNextResponse_Encoding_DefaultBinary,536,Object -RelativePathElement,537,DataType -RelativePathElement_Encoding_DefaultXml,538,Object -RelativePathElement_Encoding_DefaultBinary,539,Object -RelativePath,540,DataType -RelativePath_Encoding_DefaultXml,541,Object -RelativePath_Encoding_DefaultBinary,542,Object -BrowsePath,543,DataType -BrowsePath_Encoding_DefaultXml,544,Object -BrowsePath_Encoding_DefaultBinary,545,Object -BrowsePathTarget,546,DataType -BrowsePathTarget_Encoding_DefaultXml,547,Object -BrowsePathTarget_Encoding_DefaultBinary,548,Object -BrowsePathResult,549,DataType -BrowsePathResult_Encoding_DefaultXml,550,Object -BrowsePathResult_Encoding_DefaultBinary,551,Object -TranslateBrowsePathsToNodeIdsRequest,552,DataType -TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultXml,553,Object -TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultBinary,554,Object -TranslateBrowsePathsToNodeIdsResponse,555,DataType -TranslateBrowsePathsToNodeIdsResponse_Encoding_DefaultXml,556,Object -TranslateBrowsePathsToNodeIdsResponse_Encoding_DefaultBinary,557,Object -RegisterNodesRequest,558,DataType -RegisterNodesRequest_Encoding_DefaultXml,559,Object -RegisterNodesRequest_Encoding_DefaultBinary,560,Object -RegisterNodesResponse,561,DataType -RegisterNodesResponse_Encoding_DefaultXml,562,Object -RegisterNodesResponse_Encoding_DefaultBinary,563,Object -UnregisterNodesRequest,564,DataType -UnregisterNodesRequest_Encoding_DefaultXml,565,Object -UnregisterNodesRequest_Encoding_DefaultBinary,566,Object -UnregisterNodesResponse,567,DataType -UnregisterNodesResponse_Encoding_DefaultXml,568,Object -UnregisterNodesResponse_Encoding_DefaultBinary,569,Object -QueryDataDescription,570,DataType -QueryDataDescription_Encoding_DefaultXml,571,Object -QueryDataDescription_Encoding_DefaultBinary,572,Object -NodeTypeDescription,573,DataType -NodeTypeDescription_Encoding_DefaultXml,574,Object -NodeTypeDescription_Encoding_DefaultBinary,575,Object -FilterOperator,576,DataType -QueryDataSet,577,DataType -QueryDataSet_Encoding_DefaultXml,578,Object -QueryDataSet_Encoding_DefaultBinary,579,Object -NodeReference,580,DataType -NodeReference_Encoding_DefaultXml,581,Object -NodeReference_Encoding_DefaultBinary,582,Object -ContentFilterElement,583,DataType -ContentFilterElement_Encoding_DefaultXml,584,Object -ContentFilterElement_Encoding_DefaultBinary,585,Object -ContentFilter,586,DataType -ContentFilter_Encoding_DefaultXml,587,Object -ContentFilter_Encoding_DefaultBinary,588,Object -FilterOperand,589,DataType -FilterOperand_Encoding_DefaultXml,590,Object -FilterOperand_Encoding_DefaultBinary,591,Object -ElementOperand,592,DataType -ElementOperand_Encoding_DefaultXml,593,Object -ElementOperand_Encoding_DefaultBinary,594,Object -LiteralOperand,595,DataType -LiteralOperand_Encoding_DefaultXml,596,Object -LiteralOperand_Encoding_DefaultBinary,597,Object -AttributeOperand,598,DataType -AttributeOperand_Encoding_DefaultXml,599,Object -AttributeOperand_Encoding_DefaultBinary,600,Object -SimpleAttributeOperand,601,DataType -SimpleAttributeOperand_Encoding_DefaultXml,602,Object -SimpleAttributeOperand_Encoding_DefaultBinary,603,Object -ContentFilterElementResult,604,DataType -ContentFilterElementResult_Encoding_DefaultXml,605,Object -ContentFilterElementResult_Encoding_DefaultBinary,606,Object -ContentFilterResult,607,DataType -ContentFilterResult_Encoding_DefaultXml,608,Object -ContentFilterResult_Encoding_DefaultBinary,609,Object -ParsingResult,610,DataType -ParsingResult_Encoding_DefaultXml,611,Object -ParsingResult_Encoding_DefaultBinary,612,Object -QueryFirstRequest,613,DataType -QueryFirstRequest_Encoding_DefaultXml,614,Object -QueryFirstRequest_Encoding_DefaultBinary,615,Object -QueryFirstResponse,616,DataType -QueryFirstResponse_Encoding_DefaultXml,617,Object -QueryFirstResponse_Encoding_DefaultBinary,618,Object -QueryNextRequest,619,DataType -QueryNextRequest_Encoding_DefaultXml,620,Object -QueryNextRequest_Encoding_DefaultBinary,621,Object -QueryNextResponse,622,DataType -QueryNextResponse_Encoding_DefaultXml,623,Object -QueryNextResponse_Encoding_DefaultBinary,624,Object -TimestampsToReturn,625,DataType -ReadValueId,626,DataType -ReadValueId_Encoding_DefaultXml,627,Object -ReadValueId_Encoding_DefaultBinary,628,Object -ReadRequest,629,DataType -ReadRequest_Encoding_DefaultXml,630,Object -ReadRequest_Encoding_DefaultBinary,631,Object -ReadResponse,632,DataType -ReadResponse_Encoding_DefaultXml,633,Object -ReadResponse_Encoding_DefaultBinary,634,Object -HistoryReadValueId,635,DataType -HistoryReadValueId_Encoding_DefaultXml,636,Object -HistoryReadValueId_Encoding_DefaultBinary,637,Object -HistoryReadResult,638,DataType -HistoryReadResult_Encoding_DefaultXml,639,Object -HistoryReadResult_Encoding_DefaultBinary,640,Object -HistoryReadDetails,641,DataType -HistoryReadDetails_Encoding_DefaultXml,642,Object -HistoryReadDetails_Encoding_DefaultBinary,643,Object -ReadEventDetails,644,DataType -ReadEventDetails_Encoding_DefaultXml,645,Object -ReadEventDetails_Encoding_DefaultBinary,646,Object -ReadRawModifiedDetails,647,DataType -ReadRawModifiedDetails_Encoding_DefaultXml,648,Object -ReadRawModifiedDetails_Encoding_DefaultBinary,649,Object -ReadProcessedDetails,650,DataType -ReadProcessedDetails_Encoding_DefaultXml,651,Object -ReadProcessedDetails_Encoding_DefaultBinary,652,Object -ReadAtTimeDetails,653,DataType -ReadAtTimeDetails_Encoding_DefaultXml,654,Object -ReadAtTimeDetails_Encoding_DefaultBinary,655,Object -HistoryData,656,DataType -HistoryData_Encoding_DefaultXml,657,Object -HistoryData_Encoding_DefaultBinary,658,Object -HistoryEvent,659,DataType -HistoryEvent_Encoding_DefaultXml,660,Object -HistoryEvent_Encoding_DefaultBinary,661,Object -HistoryReadRequest,662,DataType -HistoryReadRequest_Encoding_DefaultXml,663,Object -HistoryReadRequest_Encoding_DefaultBinary,664,Object -HistoryReadResponse,665,DataType -HistoryReadResponse_Encoding_DefaultXml,666,Object -HistoryReadResponse_Encoding_DefaultBinary,667,Object -WriteValue,668,DataType -WriteValue_Encoding_DefaultXml,669,Object -WriteValue_Encoding_DefaultBinary,670,Object -WriteRequest,671,DataType -WriteRequest_Encoding_DefaultXml,672,Object -WriteRequest_Encoding_DefaultBinary,673,Object -WriteResponse,674,DataType -WriteResponse_Encoding_DefaultXml,675,Object -WriteResponse_Encoding_DefaultBinary,676,Object -HistoryUpdateDetails,677,DataType -HistoryUpdateDetails_Encoding_DefaultXml,678,Object -HistoryUpdateDetails_Encoding_DefaultBinary,679,Object -UpdateDataDetails,680,DataType -UpdateDataDetails_Encoding_DefaultXml,681,Object -UpdateDataDetails_Encoding_DefaultBinary,682,Object -UpdateEventDetails,683,DataType -UpdateEventDetails_Encoding_DefaultXml,684,Object -UpdateEventDetails_Encoding_DefaultBinary,685,Object -DeleteRawModifiedDetails,686,DataType -DeleteRawModifiedDetails_Encoding_DefaultXml,687,Object -DeleteRawModifiedDetails_Encoding_DefaultBinary,688,Object -DeleteAtTimeDetails,689,DataType -DeleteAtTimeDetails_Encoding_DefaultXml,690,Object -DeleteAtTimeDetails_Encoding_DefaultBinary,691,Object -DeleteEventDetails,692,DataType -DeleteEventDetails_Encoding_DefaultXml,693,Object -DeleteEventDetails_Encoding_DefaultBinary,694,Object -HistoryUpdateResult,695,DataType -HistoryUpdateResult_Encoding_DefaultXml,696,Object -HistoryUpdateResult_Encoding_DefaultBinary,697,Object -HistoryUpdateRequest,698,DataType -HistoryUpdateRequest_Encoding_DefaultXml,699,Object -HistoryUpdateRequest_Encoding_DefaultBinary,700,Object -HistoryUpdateResponse,701,DataType -HistoryUpdateResponse_Encoding_DefaultXml,702,Object -HistoryUpdateResponse_Encoding_DefaultBinary,703,Object -CallMethodRequest,704,DataType -CallMethodRequest_Encoding_DefaultXml,705,Object -CallMethodRequest_Encoding_DefaultBinary,706,Object -CallMethodResult,707,DataType -CallMethodResult_Encoding_DefaultXml,708,Object -CallMethodResult_Encoding_DefaultBinary,709,Object -CallRequest,710,DataType -CallRequest_Encoding_DefaultXml,711,Object -CallRequest_Encoding_DefaultBinary,712,Object -CallResponse,713,DataType -CallResponse_Encoding_DefaultXml,714,Object -CallResponse_Encoding_DefaultBinary,715,Object -MonitoringMode,716,DataType -DataChangeTrigger,717,DataType -DeadbandType,718,DataType -MonitoringFilter,719,DataType -MonitoringFilter_Encoding_DefaultXml,720,Object -MonitoringFilter_Encoding_DefaultBinary,721,Object -DataChangeFilter,722,DataType -DataChangeFilter_Encoding_DefaultXml,723,Object -DataChangeFilter_Encoding_DefaultBinary,724,Object -EventFilter,725,DataType -EventFilter_Encoding_DefaultXml,726,Object -EventFilter_Encoding_DefaultBinary,727,Object -AggregateFilter,728,DataType -AggregateFilter_Encoding_DefaultXml,729,Object -AggregateFilter_Encoding_DefaultBinary,730,Object -MonitoringFilterResult,731,DataType -MonitoringFilterResult_Encoding_DefaultXml,732,Object -MonitoringFilterResult_Encoding_DefaultBinary,733,Object -EventFilterResult,734,DataType -EventFilterResult_Encoding_DefaultXml,735,Object -EventFilterResult_Encoding_DefaultBinary,736,Object -AggregateFilterResult,737,DataType -AggregateFilterResult_Encoding_DefaultXml,738,Object -AggregateFilterResult_Encoding_DefaultBinary,739,Object -MonitoringParameters,740,DataType -MonitoringParameters_Encoding_DefaultXml,741,Object -MonitoringParameters_Encoding_DefaultBinary,742,Object -MonitoredItemCreateRequest,743,DataType -MonitoredItemCreateRequest_Encoding_DefaultXml,744,Object -MonitoredItemCreateRequest_Encoding_DefaultBinary,745,Object -MonitoredItemCreateResult,746,DataType -MonitoredItemCreateResult_Encoding_DefaultXml,747,Object -MonitoredItemCreateResult_Encoding_DefaultBinary,748,Object -CreateMonitoredItemsRequest,749,DataType -CreateMonitoredItemsRequest_Encoding_DefaultXml,750,Object -CreateMonitoredItemsRequest_Encoding_DefaultBinary,751,Object -CreateMonitoredItemsResponse,752,DataType -CreateMonitoredItemsResponse_Encoding_DefaultXml,753,Object -CreateMonitoredItemsResponse_Encoding_DefaultBinary,754,Object -MonitoredItemModifyRequest,755,DataType -MonitoredItemModifyRequest_Encoding_DefaultXml,756,Object -MonitoredItemModifyRequest_Encoding_DefaultBinary,757,Object -MonitoredItemModifyResult,758,DataType -MonitoredItemModifyResult_Encoding_DefaultXml,759,Object -MonitoredItemModifyResult_Encoding_DefaultBinary,760,Object -ModifyMonitoredItemsRequest,761,DataType -ModifyMonitoredItemsRequest_Encoding_DefaultXml,762,Object -ModifyMonitoredItemsRequest_Encoding_DefaultBinary,763,Object -ModifyMonitoredItemsResponse,764,DataType -ModifyMonitoredItemsResponse_Encoding_DefaultXml,765,Object -ModifyMonitoredItemsResponse_Encoding_DefaultBinary,766,Object -SetMonitoringModeRequest,767,DataType -SetMonitoringModeRequest_Encoding_DefaultXml,768,Object -SetMonitoringModeRequest_Encoding_DefaultBinary,769,Object -SetMonitoringModeResponse,770,DataType -SetMonitoringModeResponse_Encoding_DefaultXml,771,Object -SetMonitoringModeResponse_Encoding_DefaultBinary,772,Object -SetTriggeringRequest,773,DataType -SetTriggeringRequest_Encoding_DefaultXml,774,Object -SetTriggeringRequest_Encoding_DefaultBinary,775,Object -SetTriggeringResponse,776,DataType -SetTriggeringResponse_Encoding_DefaultXml,777,Object -SetTriggeringResponse_Encoding_DefaultBinary,778,Object -DeleteMonitoredItemsRequest,779,DataType -DeleteMonitoredItemsRequest_Encoding_DefaultXml,780,Object -DeleteMonitoredItemsRequest_Encoding_DefaultBinary,781,Object -DeleteMonitoredItemsResponse,782,DataType -DeleteMonitoredItemsResponse_Encoding_DefaultXml,783,Object -DeleteMonitoredItemsResponse_Encoding_DefaultBinary,784,Object -CreateSubscriptionRequest,785,DataType -CreateSubscriptionRequest_Encoding_DefaultXml,786,Object -CreateSubscriptionRequest_Encoding_DefaultBinary,787,Object -CreateSubscriptionResponse,788,DataType -CreateSubscriptionResponse_Encoding_DefaultXml,789,Object -CreateSubscriptionResponse_Encoding_DefaultBinary,790,Object -ModifySubscriptionRequest,791,DataType -ModifySubscriptionRequest_Encoding_DefaultXml,792,Object -ModifySubscriptionRequest_Encoding_DefaultBinary,793,Object -ModifySubscriptionResponse,794,DataType -ModifySubscriptionResponse_Encoding_DefaultXml,795,Object -ModifySubscriptionResponse_Encoding_DefaultBinary,796,Object -SetPublishingModeRequest,797,DataType -SetPublishingModeRequest_Encoding_DefaultXml,798,Object -SetPublishingModeRequest_Encoding_DefaultBinary,799,Object -SetPublishingModeResponse,800,DataType -SetPublishingModeResponse_Encoding_DefaultXml,801,Object -SetPublishingModeResponse_Encoding_DefaultBinary,802,Object -NotificationMessage,803,DataType -NotificationMessage_Encoding_DefaultXml,804,Object -NotificationMessage_Encoding_DefaultBinary,805,Object -MonitoredItemNotification,806,DataType -MonitoredItemNotification_Encoding_DefaultXml,807,Object -MonitoredItemNotification_Encoding_DefaultBinary,808,Object -DataChangeNotification,809,DataType -DataChangeNotification_Encoding_DefaultXml,810,Object -DataChangeNotification_Encoding_DefaultBinary,811,Object -StatusChangeNotification,818,DataType -StatusChangeNotification_Encoding_DefaultXml,819,Object -StatusChangeNotification_Encoding_DefaultBinary,820,Object -SubscriptionAcknowledgement,821,DataType -SubscriptionAcknowledgement_Encoding_DefaultXml,822,Object -SubscriptionAcknowledgement_Encoding_DefaultBinary,823,Object -PublishRequest,824,DataType -PublishRequest_Encoding_DefaultXml,825,Object -PublishRequest_Encoding_DefaultBinary,826,Object -PublishResponse,827,DataType -PublishResponse_Encoding_DefaultXml,828,Object -PublishResponse_Encoding_DefaultBinary,829,Object -RepublishRequest,830,DataType -RepublishRequest_Encoding_DefaultXml,831,Object -RepublishRequest_Encoding_DefaultBinary,832,Object -RepublishResponse,833,DataType -RepublishResponse_Encoding_DefaultXml,834,Object -RepublishResponse_Encoding_DefaultBinary,835,Object -TransferResult,836,DataType -TransferResult_Encoding_DefaultXml,837,Object -TransferResult_Encoding_DefaultBinary,838,Object -TransferSubscriptionsRequest,839,DataType -TransferSubscriptionsRequest_Encoding_DefaultXml,840,Object -TransferSubscriptionsRequest_Encoding_DefaultBinary,841,Object -TransferSubscriptionsResponse,842,DataType -TransferSubscriptionsResponse_Encoding_DefaultXml,843,Object -TransferSubscriptionsResponse_Encoding_DefaultBinary,844,Object -DeleteSubscriptionsRequest,845,DataType -DeleteSubscriptionsRequest_Encoding_DefaultXml,846,Object -DeleteSubscriptionsRequest_Encoding_DefaultBinary,847,Object -DeleteSubscriptionsResponse,848,DataType -DeleteSubscriptionsResponse_Encoding_DefaultXml,849,Object -DeleteSubscriptionsResponse_Encoding_DefaultBinary,850,Object -RedundancySupport,851,DataType -ServerState,852,DataType -RedundantServerDataType,853,DataType -RedundantServerDataType_Encoding_DefaultXml,854,Object -RedundantServerDataType_Encoding_DefaultBinary,855,Object -SamplingIntervalDiagnosticsDataType,856,DataType -SamplingIntervalDiagnosticsDataType_Encoding_DefaultXml,857,Object -SamplingIntervalDiagnosticsDataType_Encoding_DefaultBinary,858,Object -ServerDiagnosticsSummaryDataType,859,DataType -ServerDiagnosticsSummaryDataType_Encoding_DefaultXml,860,Object -ServerDiagnosticsSummaryDataType_Encoding_DefaultBinary,861,Object -ServerStatusDataType,862,DataType -ServerStatusDataType_Encoding_DefaultXml,863,Object -ServerStatusDataType_Encoding_DefaultBinary,864,Object -SessionDiagnosticsDataType,865,DataType -SessionDiagnosticsDataType_Encoding_DefaultXml,866,Object -SessionDiagnosticsDataType_Encoding_DefaultBinary,867,Object -SessionSecurityDiagnosticsDataType,868,DataType -SessionSecurityDiagnosticsDataType_Encoding_DefaultXml,869,Object -SessionSecurityDiagnosticsDataType_Encoding_DefaultBinary,870,Object -ServiceCounterDataType,871,DataType -ServiceCounterDataType_Encoding_DefaultXml,872,Object -ServiceCounterDataType_Encoding_DefaultBinary,873,Object -SubscriptionDiagnosticsDataType,874,DataType -SubscriptionDiagnosticsDataType_Encoding_DefaultXml,875,Object -SubscriptionDiagnosticsDataType_Encoding_DefaultBinary,876,Object -ModelChangeStructureDataType,877,DataType -ModelChangeStructureDataType_Encoding_DefaultXml,878,Object -ModelChangeStructureDataType_Encoding_DefaultBinary,879,Object -Range,884,DataType -Range_Encoding_DefaultXml,885,Object -Range_Encoding_DefaultBinary,886,Object -EUInformation,887,DataType -EUInformation_Encoding_DefaultXml,888,Object -EUInformation_Encoding_DefaultBinary,889,Object -ExceptionDeviationFormat,890,DataType -Annotation,891,DataType -Annotation_Encoding_DefaultXml,892,Object -Annotation_Encoding_DefaultBinary,893,Object -ProgramDiagnosticDataType,894,DataType -ProgramDiagnosticDataType_Encoding_DefaultXml,895,Object -ProgramDiagnosticDataType_Encoding_DefaultBinary,896,Object -SemanticChangeStructureDataType,897,DataType -SemanticChangeStructureDataType_Encoding_DefaultXml,898,Object -SemanticChangeStructureDataType_Encoding_DefaultBinary,899,Object -EventNotificationList,914,DataType -EventNotificationList_Encoding_DefaultXml,915,Object -EventNotificationList_Encoding_DefaultBinary,916,Object -EventFieldList,917,DataType -EventFieldList_Encoding_DefaultXml,918,Object -EventFieldList_Encoding_DefaultBinary,919,Object -HistoryEventFieldList,920,DataType -HistoryEventFieldList_Encoding_DefaultXml,921,Object -HistoryEventFieldList_Encoding_DefaultBinary,922,Object -IssuedIdentityToken,938,DataType -IssuedIdentityToken_Encoding_DefaultXml,939,Object -IssuedIdentityToken_Encoding_DefaultBinary,940,Object -NotificationData,945,DataType -NotificationData_Encoding_DefaultXml,946,Object -NotificationData_Encoding_DefaultBinary,947,Object -AggregateConfiguration,948,DataType -AggregateConfiguration_Encoding_DefaultXml,949,Object -AggregateConfiguration_Encoding_DefaultBinary,950,Object -ImageBMP,2000,DataType -ImageGIF,2001,DataType -ImageJPG,2002,DataType -ImagePNG,2003,DataType -ServerType,2004,ObjectType -ServerType_ServerArray,2005,Variable -ServerType_NamespaceArray,2006,Variable -ServerType_ServerStatus,2007,Variable -ServerType_ServiceLevel,2008,Variable -ServerType_ServerCapabilities,2009,Object -ServerType_ServerDiagnostics,2010,Object -ServerType_VendorServerInfo,2011,Object -ServerType_ServerRedundancy,2012,Object -ServerCapabilitiesType,2013,ObjectType -ServerCapabilitiesType_ServerProfileArray,2014,Variable -ServerCapabilitiesType_LocaleIdArray,2016,Variable -ServerCapabilitiesType_MinSupportedSampleRate,2017,Variable -ServerCapabilitiesType_ModellingRules,2019,Object -ServerDiagnosticsType,2020,ObjectType -ServerDiagnosticsType_ServerDiagnosticsSummary,2021,Variable -ServerDiagnosticsType_SamplingIntervalDiagnosticsArray,2022,Variable -ServerDiagnosticsType_SubscriptionDiagnosticsArray,2023,Variable -ServerDiagnosticsType_EnabledFlag,2025,Variable -SessionsDiagnosticsSummaryType,2026,ObjectType -SessionsDiagnosticsSummaryType_SessionDiagnosticsArray,2027,Variable -SessionsDiagnosticsSummaryType_SessionSecurityDiagnosticsArray,2028,Variable -SessionDiagnosticsObjectType,2029,ObjectType -SessionDiagnosticsObjectType_SessionDiagnostics,2030,Variable -SessionDiagnosticsObjectType_SessionSecurityDiagnostics,2031,Variable -SessionDiagnosticsObjectType_SubscriptionDiagnosticsArray,2032,Variable -VendorServerInfoType,2033,ObjectType -ServerRedundancyType,2034,ObjectType -ServerRedundancyType_RedundancySupport,2035,Variable -TransparentRedundancyType,2036,ObjectType -TransparentRedundancyType_CurrentServerId,2037,Variable -TransparentRedundancyType_RedundantServerArray,2038,Variable -NonTransparentRedundancyType,2039,ObjectType -NonTransparentRedundancyType_ServerUriArray,2040,Variable -BaseEventType,2041,ObjectType -BaseEventType_EventId,2042,Variable -BaseEventType_EventType,2043,Variable -BaseEventType_SourceNode,2044,Variable -BaseEventType_SourceName,2045,Variable -BaseEventType_Time,2046,Variable -BaseEventType_ReceiveTime,2047,Variable -BaseEventType_Message,2050,Variable -BaseEventType_Severity,2051,Variable -AuditEventType,2052,ObjectType -AuditEventType_ActionTimeStamp,2053,Variable -AuditEventType_Status,2054,Variable -AuditEventType_ServerId,2055,Variable -AuditEventType_ClientAuditEntryId,2056,Variable -AuditEventType_ClientUserId,2057,Variable -AuditSecurityEventType,2058,ObjectType -AuditChannelEventType,2059,ObjectType -AuditOpenSecureChannelEventType,2060,ObjectType -AuditOpenSecureChannelEventType_ClientCertificate,2061,Variable -AuditOpenSecureChannelEventType_RequestType,2062,Variable -AuditOpenSecureChannelEventType_SecurityPolicyUri,2063,Variable -AuditOpenSecureChannelEventType_SecurityMode,2065,Variable -AuditOpenSecureChannelEventType_RequestedLifetime,2066,Variable -AuditSessionEventType,2069,ObjectType -AuditSessionEventType_SessionId,2070,Variable -AuditCreateSessionEventType,2071,ObjectType -AuditCreateSessionEventType_SecureChannelId,2072,Variable -AuditCreateSessionEventType_ClientCertificate,2073,Variable -AuditCreateSessionEventType_RevisedSessionTimeout,2074,Variable -AuditActivateSessionEventType,2075,ObjectType -AuditActivateSessionEventType_ClientSoftwareCertificates,2076,Variable -AuditActivateSessionEventType_UserIdentityToken,2077,Variable -AuditCancelEventType,2078,ObjectType -AuditCancelEventType_RequestHandle,2079,Variable -AuditCertificateEventType,2080,ObjectType -AuditCertificateEventType_Certificate,2081,Variable -AuditCertificateDataMismatchEventType,2082,ObjectType -AuditCertificateDataMismatchEventType_InvalidHostname,2083,Variable -AuditCertificateDataMismatchEventType_InvalidUri,2084,Variable -AuditCertificateExpiredEventType,2085,ObjectType -AuditCertificateInvalidEventType,2086,ObjectType -AuditCertificateUntrustedEventType,2087,ObjectType -AuditCertificateRevokedEventType,2088,ObjectType -AuditCertificateMismatchEventType,2089,ObjectType -AuditNodeManagementEventType,2090,ObjectType -AuditAddNodesEventType,2091,ObjectType -AuditAddNodesEventType_NodesToAdd,2092,Variable -AuditDeleteNodesEventType,2093,ObjectType -AuditDeleteNodesEventType_NodesToDelete,2094,Variable -AuditAddReferencesEventType,2095,ObjectType -AuditAddReferencesEventType_ReferencesToAdd,2096,Variable -AuditDeleteReferencesEventType,2097,ObjectType -AuditDeleteReferencesEventType_ReferencesToDelete,2098,Variable -AuditUpdateEventType,2099,ObjectType -AuditWriteUpdateEventType,2100,ObjectType -AuditWriteUpdateEventType_IndexRange,2101,Variable -AuditWriteUpdateEventType_OldValue,2102,Variable -AuditWriteUpdateEventType_NewValue,2103,Variable -AuditHistoryUpdateEventType,2104,ObjectType -AuditUpdateMethodEventType,2127,ObjectType -AuditUpdateMethodEventType_MethodId,2128,Variable -AuditUpdateMethodEventType_InputArguments,2129,Variable -SystemEventType,2130,ObjectType -DeviceFailureEventType,2131,ObjectType -BaseModelChangeEventType,2132,ObjectType -GeneralModelChangeEventType,2133,ObjectType -GeneralModelChangeEventType_Changes,2134,Variable -ServerVendorCapabilityType,2137,VariableType -ServerStatusType,2138,VariableType -ServerStatusType_StartTime,2139,Variable -ServerStatusType_CurrentTime,2140,Variable -ServerStatusType_State,2141,Variable -ServerStatusType_BuildInfo,2142,Variable -ServerDiagnosticsSummaryType,2150,VariableType -ServerDiagnosticsSummaryType_ServerViewCount,2151,Variable -ServerDiagnosticsSummaryType_CurrentSessionCount,2152,Variable -ServerDiagnosticsSummaryType_CumulatedSessionCount,2153,Variable -ServerDiagnosticsSummaryType_SecurityRejectedSessionCount,2154,Variable -ServerDiagnosticsSummaryType_RejectedSessionCount,2155,Variable -ServerDiagnosticsSummaryType_SessionTimeoutCount,2156,Variable -ServerDiagnosticsSummaryType_SessionAbortCount,2157,Variable -ServerDiagnosticsSummaryType_PublishingIntervalCount,2159,Variable -ServerDiagnosticsSummaryType_CurrentSubscriptionCount,2160,Variable -ServerDiagnosticsSummaryType_CumulatedSubscriptionCount,2161,Variable -ServerDiagnosticsSummaryType_SecurityRejectedRequestsCount,2162,Variable -ServerDiagnosticsSummaryType_RejectedRequestsCount,2163,Variable -SamplingIntervalDiagnosticsArrayType,2164,VariableType -SamplingIntervalDiagnosticsType,2165,VariableType -SamplingIntervalDiagnosticsType_SamplingInterval,2166,Variable -SubscriptionDiagnosticsArrayType,2171,VariableType -SubscriptionDiagnosticsType,2172,VariableType -SubscriptionDiagnosticsType_SessionId,2173,Variable -SubscriptionDiagnosticsType_SubscriptionId,2174,Variable -SubscriptionDiagnosticsType_Priority,2175,Variable -SubscriptionDiagnosticsType_PublishingInterval,2176,Variable -SubscriptionDiagnosticsType_MaxKeepAliveCount,2177,Variable -SubscriptionDiagnosticsType_MaxNotificationsPerPublish,2179,Variable -SubscriptionDiagnosticsType_PublishingEnabled,2180,Variable -SubscriptionDiagnosticsType_ModifyCount,2181,Variable -SubscriptionDiagnosticsType_EnableCount,2182,Variable -SubscriptionDiagnosticsType_DisableCount,2183,Variable -SubscriptionDiagnosticsType_RepublishRequestCount,2184,Variable -SubscriptionDiagnosticsType_RepublishMessageRequestCount,2185,Variable -SubscriptionDiagnosticsType_RepublishMessageCount,2186,Variable -SubscriptionDiagnosticsType_TransferRequestCount,2187,Variable -SubscriptionDiagnosticsType_TransferredToAltClientCount,2188,Variable -SubscriptionDiagnosticsType_TransferredToSameClientCount,2189,Variable -SubscriptionDiagnosticsType_PublishRequestCount,2190,Variable -SubscriptionDiagnosticsType_DataChangeNotificationsCount,2191,Variable -SubscriptionDiagnosticsType_NotificationsCount,2193,Variable -SessionDiagnosticsArrayType,2196,VariableType -SessionDiagnosticsVariableType,2197,VariableType -SessionDiagnosticsVariableType_SessionId,2198,Variable -SessionDiagnosticsVariableType_SessionName,2199,Variable -SessionDiagnosticsVariableType_ClientDescription,2200,Variable -SessionDiagnosticsVariableType_ServerUri,2201,Variable -SessionDiagnosticsVariableType_EndpointUrl,2202,Variable -SessionDiagnosticsVariableType_LocaleIds,2203,Variable -SessionDiagnosticsVariableType_ActualSessionTimeout,2204,Variable -SessionDiagnosticsVariableType_ClientConnectionTime,2205,Variable -SessionDiagnosticsVariableType_ClientLastContactTime,2206,Variable -SessionDiagnosticsVariableType_CurrentSubscriptionsCount,2207,Variable -SessionDiagnosticsVariableType_CurrentMonitoredItemsCount,2208,Variable -SessionDiagnosticsVariableType_CurrentPublishRequestsInQueue,2209,Variable -SessionDiagnosticsVariableType_ReadCount,2217,Variable -SessionDiagnosticsVariableType_HistoryReadCount,2218,Variable -SessionDiagnosticsVariableType_WriteCount,2219,Variable -SessionDiagnosticsVariableType_HistoryUpdateCount,2220,Variable -SessionDiagnosticsVariableType_CallCount,2221,Variable -SessionDiagnosticsVariableType_CreateMonitoredItemsCount,2222,Variable -SessionDiagnosticsVariableType_ModifyMonitoredItemsCount,2223,Variable -SessionDiagnosticsVariableType_SetMonitoringModeCount,2224,Variable -SessionDiagnosticsVariableType_SetTriggeringCount,2225,Variable -SessionDiagnosticsVariableType_DeleteMonitoredItemsCount,2226,Variable -SessionDiagnosticsVariableType_CreateSubscriptionCount,2227,Variable -SessionDiagnosticsVariableType_ModifySubscriptionCount,2228,Variable -SessionDiagnosticsVariableType_SetPublishingModeCount,2229,Variable -SessionDiagnosticsVariableType_PublishCount,2230,Variable -SessionDiagnosticsVariableType_RepublishCount,2231,Variable -SessionDiagnosticsVariableType_TransferSubscriptionsCount,2232,Variable -SessionDiagnosticsVariableType_DeleteSubscriptionsCount,2233,Variable -SessionDiagnosticsVariableType_AddNodesCount,2234,Variable -SessionDiagnosticsVariableType_AddReferencesCount,2235,Variable -SessionDiagnosticsVariableType_DeleteNodesCount,2236,Variable -SessionDiagnosticsVariableType_DeleteReferencesCount,2237,Variable -SessionDiagnosticsVariableType_BrowseCount,2238,Variable -SessionDiagnosticsVariableType_BrowseNextCount,2239,Variable -SessionDiagnosticsVariableType_TranslateBrowsePathsToNodeIdsCount,2240,Variable -SessionDiagnosticsVariableType_QueryFirstCount,2241,Variable -SessionDiagnosticsVariableType_QueryNextCount,2242,Variable -SessionSecurityDiagnosticsArrayType,2243,VariableType -SessionSecurityDiagnosticsType,2244,VariableType -SessionSecurityDiagnosticsType_SessionId,2245,Variable -SessionSecurityDiagnosticsType_ClientUserIdOfSession,2246,Variable -SessionSecurityDiagnosticsType_ClientUserIdHistory,2247,Variable -SessionSecurityDiagnosticsType_AuthenticationMechanism,2248,Variable -SessionSecurityDiagnosticsType_Encoding,2249,Variable -SessionSecurityDiagnosticsType_TransportProtocol,2250,Variable -SessionSecurityDiagnosticsType_SecurityMode,2251,Variable -SessionSecurityDiagnosticsType_SecurityPolicyUri,2252,Variable -Server,2253,Object -Server_ServerArray,2254,Variable -Server_NamespaceArray,2255,Variable -Server_ServerStatus,2256,Variable -Server_ServerStatus_StartTime,2257,Variable -Server_ServerStatus_CurrentTime,2258,Variable -Server_ServerStatus_State,2259,Variable -Server_ServerStatus_BuildInfo,2260,Variable -Server_ServerStatus_BuildInfo_ProductName,2261,Variable -Server_ServerStatus_BuildInfo_ProductUri,2262,Variable -Server_ServerStatus_BuildInfo_ManufacturerName,2263,Variable -Server_ServerStatus_BuildInfo_SoftwareVersion,2264,Variable -Server_ServerStatus_BuildInfo_BuildNumber,2265,Variable -Server_ServerStatus_BuildInfo_BuildDate,2266,Variable -Server_ServiceLevel,2267,Variable -Server_ServerCapabilities,2268,Object -Server_ServerCapabilities_ServerProfileArray,2269,Variable -Server_ServerCapabilities_LocaleIdArray,2271,Variable -Server_ServerCapabilities_MinSupportedSampleRate,2272,Variable -Server_ServerDiagnostics,2274,Object -Server_ServerDiagnostics_ServerDiagnosticsSummary,2275,Variable -Server_ServerDiagnostics_ServerDiagnosticsSummary_ServerViewCount,2276,Variable -Server_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSessionCount,2277,Variable -Server_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSessionCount,2278,Variable -Server_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedSessionCount,2279,Variable -Server_ServerDiagnostics_ServerDiagnosticsSummary_SessionTimeoutCount,2281,Variable -Server_ServerDiagnostics_ServerDiagnosticsSummary_SessionAbortCount,2282,Variable -Server_ServerDiagnostics_ServerDiagnosticsSummary_PublishingIntervalCount,2284,Variable -Server_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSubscriptionCount,2285,Variable -Server_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSubscriptionCount,2286,Variable -Server_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedRequestsCount,2287,Variable -Server_ServerDiagnostics_ServerDiagnosticsSummary_RejectedRequestsCount,2288,Variable -Server_ServerDiagnostics_SamplingIntervalDiagnosticsArray,2289,Variable -Server_ServerDiagnostics_SubscriptionDiagnosticsArray,2290,Variable -Server_ServerDiagnostics_EnabledFlag,2294,Variable -Server_VendorServerInfo,2295,Object -Server_ServerRedundancy,2296,Object -StateMachineType,2299,ObjectType -StateType,2307,ObjectType -StateType_StateNumber,2308,Variable -InitialStateType,2309,ObjectType -TransitionType,2310,ObjectType -TransitionEventType,2311,ObjectType -TransitionType_TransitionNumber,2312,Variable -AuditUpdateStateEventType,2315,ObjectType -HistoricalDataConfigurationType,2318,ObjectType -HistoricalDataConfigurationType_Stepped,2323,Variable -HistoricalDataConfigurationType_Definition,2324,Variable -HistoricalDataConfigurationType_MaxTimeInterval,2325,Variable -HistoricalDataConfigurationType_MinTimeInterval,2326,Variable -HistoricalDataConfigurationType_ExceptionDeviation,2327,Variable -HistoricalDataConfigurationType_ExceptionDeviationFormat,2328,Variable -HistoryServerCapabilitiesType,2330,ObjectType -HistoryServerCapabilitiesType_AccessHistoryDataCapability,2331,Variable -HistoryServerCapabilitiesType_AccessHistoryEventsCapability,2332,Variable -HistoryServerCapabilitiesType_InsertDataCapability,2334,Variable -HistoryServerCapabilitiesType_ReplaceDataCapability,2335,Variable -HistoryServerCapabilitiesType_UpdateDataCapability,2336,Variable -HistoryServerCapabilitiesType_DeleteRawCapability,2337,Variable -HistoryServerCapabilitiesType_DeleteAtTimeCapability,2338,Variable -AggregateFunctionType,2340,ObjectType -AggregateFunction_Interpolative,2341,Object -AggregateFunction_Average,2342,Object -AggregateFunction_TimeAverage,2343,Object -AggregateFunction_Total,2344,Object -AggregateFunction_Minimum,2346,Object -AggregateFunction_Maximum,2347,Object -AggregateFunction_MinimumActualTime,2348,Object -AggregateFunction_MaximumActualTime,2349,Object -AggregateFunction_Range,2350,Object -AggregateFunction_AnnotationCount,2351,Object -AggregateFunction_Count,2352,Object -AggregateFunction_NumberOfTransitions,2355,Object -AggregateFunction_Start,2357,Object -AggregateFunction_End,2358,Object -AggregateFunction_Delta,2359,Object -AggregateFunction_DurationGood,2360,Object -AggregateFunction_DurationBad,2361,Object -AggregateFunction_PercentGood,2362,Object -AggregateFunction_PercentBad,2363,Object -AggregateFunction_WorstQuality,2364,Object -DataItemType,2365,VariableType -DataItemType_Definition,2366,Variable -DataItemType_ValuePrecision,2367,Variable -AnalogItemType,2368,VariableType -AnalogItemType_EURange,2369,Variable -AnalogItemType_InstrumentRange,2370,Variable -AnalogItemType_EngineeringUnits,2371,Variable -DiscreteItemType,2372,VariableType -TwoStateDiscreteType,2373,VariableType -TwoStateDiscreteType_FalseState,2374,Variable -TwoStateDiscreteType_TrueState,2375,Variable -MultiStateDiscreteType,2376,VariableType -MultiStateDiscreteType_EnumStrings,2377,Variable -ProgramTransitionEventType,2378,ObjectType -ProgramTransitionEventType_IntermediateResult,2379,Variable -ProgramDiagnosticType,2380,VariableType -ProgramDiagnosticType_CreateSessionId,2381,Variable -ProgramDiagnosticType_CreateClientName,2382,Variable -ProgramDiagnosticType_InvocationCreationTime,2383,Variable -ProgramDiagnosticType_LastTransitionTime,2384,Variable -ProgramDiagnosticType_LastMethodCall,2385,Variable -ProgramDiagnosticType_LastMethodSessionId,2386,Variable -ProgramDiagnosticType_LastMethodInputArguments,2387,Variable -ProgramDiagnosticType_LastMethodOutputArguments,2388,Variable -ProgramDiagnosticType_LastMethodCallTime,2389,Variable -ProgramDiagnosticType_LastMethodReturnStatus,2390,Variable -ProgramStateMachineType,2391,ObjectType -ProgramStateMachineType_Creatable,2392,Variable -ProgramStateMachineType_Deletable,2393,Variable -ProgramStateMachineType_AutoDelete,2394,Variable -ProgramStateMachineType_RecycleCount,2395,Variable -ProgramStateMachineType_InstanceCount,2396,Variable -ProgramStateMachineType_MaxInstanceCount,2397,Variable -ProgramStateMachineType_MaxRecycleCount,2398,Variable -ProgramStateMachineType_ProgramDiagnostics,2399,Variable -ProgramStateMachineType_Ready,2400,Object -ProgramStateMachineType_Ready_StateNumber,2401,Variable -ProgramStateMachineType_Running,2402,Object -ProgramStateMachineType_Running_StateNumber,2403,Variable -ProgramStateMachineType_Suspended,2404,Object -ProgramStateMachineType_Suspended_StateNumber,2405,Variable -ProgramStateMachineType_Halted,2406,Object -ProgramStateMachineType_Halted_StateNumber,2407,Variable -ProgramStateMachineType_HaltedToReady,2408,Object -ProgramStateMachineType_HaltedToReady_TransitionNumber,2409,Variable -ProgramStateMachineType_ReadyToRunning,2410,Object -ProgramStateMachineType_ReadyToRunning_TransitionNumber,2411,Variable -ProgramStateMachineType_RunningToHalted,2412,Object -ProgramStateMachineType_RunningToHalted_TransitionNumber,2413,Variable -ProgramStateMachineType_RunningToReady,2414,Object -ProgramStateMachineType_RunningToReady_TransitionNumber,2415,Variable -ProgramStateMachineType_RunningToSuspended,2416,Object -ProgramStateMachineType_RunningToSuspended_TransitionNumber,2417,Variable -ProgramStateMachineType_SuspendedToRunning,2418,Object -ProgramStateMachineType_SuspendedToRunning_TransitionNumber,2419,Variable -ProgramStateMachineType_SuspendedToHalted,2420,Object -ProgramStateMachineType_SuspendedToHalted_TransitionNumber,2421,Variable -ProgramStateMachineType_SuspendedToReady,2422,Object -ProgramStateMachineType_SuspendedToReady_TransitionNumber,2423,Variable -ProgramStateMachineType_ReadyToHalted,2424,Object -ProgramStateMachineType_ReadyToHalted_TransitionNumber,2425,Variable -ProgramStateMachineType_Start,2426,Method -ProgramStateMachineType_Suspend,2427,Method -ProgramStateMachineType_Resume,2428,Method -ProgramStateMachineType_Halt,2429,Method -ProgramStateMachineType_Reset,2430,Method -SessionDiagnosticsVariableType_RegisterNodesCount,2730,Variable -SessionDiagnosticsVariableType_UnregisterNodesCount,2731,Variable -ServerCapabilitiesType_MaxBrowseContinuationPoints,2732,Variable -ServerCapabilitiesType_MaxQueryContinuationPoints,2733,Variable -ServerCapabilitiesType_MaxHistoryContinuationPoints,2734,Variable -Server_ServerCapabilities_MaxBrowseContinuationPoints,2735,Variable -Server_ServerCapabilities_MaxQueryContinuationPoints,2736,Variable -Server_ServerCapabilities_MaxHistoryContinuationPoints,2737,Variable -SemanticChangeEventType,2738,ObjectType -SemanticChangeEventType_Changes,2739,Variable -ServerType_Auditing,2742,Variable -ServerDiagnosticsType_SessionsDiagnosticsSummary,2744,Object -AuditChannelEventType_SecureChannelId,2745,Variable -AuditOpenSecureChannelEventType_ClientCertificateThumbprint,2746,Variable -AuditCreateSessionEventType_ClientCertificateThumbprint,2747,Variable -AuditUrlMismatchEventType,2748,ObjectType -AuditUrlMismatchEventType_EndpointUrl,2749,Variable -AuditWriteUpdateEventType_AttributeId,2750,Variable -AuditHistoryUpdateEventType_ParameterDataTypeId,2751,Variable -ServerStatusType_SecondsTillShutdown,2752,Variable -ServerStatusType_ShutdownReason,2753,Variable -ServerCapabilitiesType_AggregateFunctions,2754,Object -StateVariableType,2755,VariableType -StateVariableType_Id,2756,Variable -StateVariableType_Name,2757,Variable -StateVariableType_Number,2758,Variable -StateVariableType_EffectiveDisplayName,2759,Variable -FiniteStateVariableType,2760,VariableType -FiniteStateVariableType_Id,2761,Variable -TransitionVariableType,2762,VariableType -TransitionVariableType_Id,2763,Variable -TransitionVariableType_Name,2764,Variable -TransitionVariableType_Number,2765,Variable -TransitionVariableType_TransitionTime,2766,Variable -FiniteTransitionVariableType,2767,VariableType -FiniteTransitionVariableType_Id,2768,Variable -StateMachineType_CurrentState,2769,Variable -StateMachineType_LastTransition,2770,Variable -FiniteStateMachineType,2771,ObjectType -FiniteStateMachineType_CurrentState,2772,Variable -FiniteStateMachineType_LastTransition,2773,Variable -TransitionEventType_Transition,2774,Variable -TransitionEventType_FromState,2775,Variable -TransitionEventType_ToState,2776,Variable -AuditUpdateStateEventType_OldStateId,2777,Variable -AuditUpdateStateEventType_NewStateId,2778,Variable -ConditionType,2782,ObjectType -RefreshStartEventType,2787,ObjectType -RefreshEndEventType,2788,ObjectType -RefreshRequiredEventType,2789,ObjectType -AuditConditionEventType,2790,ObjectType -AuditConditionEnableEventType,2803,ObjectType -AuditConditionCommentEventType,2829,ObjectType -DialogConditionType,2830,ObjectType -DialogConditionType_Prompt,2831,Variable -AcknowledgeableConditionType,2881,ObjectType -AlarmConditionType,2915,ObjectType -ShelvedStateMachineType,2929,ObjectType -ShelvedStateMachineType_Unshelved,2930,Object -ShelvedStateMachineType_TimedShelved,2932,Object -ShelvedStateMachineType_OneShotShelved,2933,Object -ShelvedStateMachineType_UnshelvedToTimedShelved,2935,Object -ShelvedStateMachineType_UnshelvedToOneShotShelved,2936,Object -ShelvedStateMachineType_TimedShelvedToUnshelved,2940,Object -ShelvedStateMachineType_TimedShelvedToOneShotShelved,2942,Object -ShelvedStateMachineType_OneShotShelvedToUnshelved,2943,Object -ShelvedStateMachineType_OneShotShelvedToTimedShelved,2945,Object -ShelvedStateMachineType_Unshelve,2947,Method -ShelvedStateMachineType_OneShotShelve,2948,Method -ShelvedStateMachineType_TimedShelve,2949,Method -LimitAlarmType,2955,ObjectType -ShelvedStateMachineType_TimedShelve_InputArguments,2991,Variable -Server_ServerStatus_SecondsTillShutdown,2992,Variable -Server_ServerStatus_ShutdownReason,2993,Variable -Server_Auditing,2994,Variable -Server_ServerCapabilities_ModellingRules,2996,Object -Server_ServerCapabilities_AggregateFunctions,2997,Object -SubscriptionDiagnosticsType_EventNotificationsCount,2998,Variable -AuditHistoryEventUpdateEventType,2999,ObjectType -AuditHistoryEventUpdateEventType_Filter,3003,Variable -AuditHistoryValueUpdateEventType,3006,ObjectType -AuditHistoryDeleteEventType,3012,ObjectType -AuditHistoryRawModifyDeleteEventType,3014,ObjectType -AuditHistoryRawModifyDeleteEventType_IsDeleteModified,3015,Variable -AuditHistoryRawModifyDeleteEventType_StartTime,3016,Variable -AuditHistoryRawModifyDeleteEventType_EndTime,3017,Variable -AuditHistoryAtTimeDeleteEventType,3019,ObjectType -AuditHistoryAtTimeDeleteEventType_ReqTimes,3020,Variable -AuditHistoryAtTimeDeleteEventType_OldValues,3021,Variable -AuditHistoryEventDeleteEventType,3022,ObjectType -AuditHistoryEventDeleteEventType_EventIds,3023,Variable -AuditHistoryEventDeleteEventType_OldValues,3024,Variable -AuditHistoryEventUpdateEventType_UpdatedNode,3025,Variable -AuditHistoryValueUpdateEventType_UpdatedNode,3026,Variable -AuditHistoryDeleteEventType_UpdatedNode,3027,Variable -AuditHistoryEventUpdateEventType_PerformInsertReplace,3028,Variable -AuditHistoryEventUpdateEventType_NewValues,3029,Variable -AuditHistoryEventUpdateEventType_OldValues,3030,Variable -AuditHistoryValueUpdateEventType_PerformInsertReplace,3031,Variable -AuditHistoryValueUpdateEventType_NewValues,3032,Variable -AuditHistoryValueUpdateEventType_OldValues,3033,Variable -AuditHistoryRawModifyDeleteEventType_OldValues,3034,Variable -EventQueueOverflowEventType,3035,ObjectType -EventTypesFolder,3048,Object -ServerCapabilitiesType_SoftwareCertificates,3049,Variable -SessionDiagnosticsVariableType_MaxResponseMessageSize,3050,Variable -BuildInfoType,3051,VariableType -BuildInfoType_ProductUri,3052,Variable -BuildInfoType_ManufacturerName,3053,Variable -BuildInfoType_ProductName,3054,Variable -BuildInfoType_SoftwareVersion,3055,Variable -BuildInfoType_BuildNumber,3056,Variable -BuildInfoType_BuildDate,3057,Variable -SessionSecurityDiagnosticsType_ClientCertificate,3058,Variable -HistoricalDataConfigurationType_AggregateConfiguration,3059,Object -DefaultBinary,3062,Object -DefaultXml,3063,Object -AlwaysGeneratesEvent,3065,ReferenceType -Icon,3067,Variable -NodeVersion,3068,Variable -LocalTime,3069,Variable -AllowNulls,3070,Variable -EnumValues,3071,Variable -InputArguments,3072,Variable -OutputArguments,3073,Variable -ServerType_ServerStatus_StartTime,3074,Variable -ServerType_ServerStatus_CurrentTime,3075,Variable -ServerType_ServerStatus_State,3076,Variable -ServerType_ServerStatus_BuildInfo,3077,Variable -ServerType_ServerStatus_BuildInfo_ProductUri,3078,Variable -ServerType_ServerStatus_BuildInfo_ManufacturerName,3079,Variable -ServerType_ServerStatus_BuildInfo_ProductName,3080,Variable -ServerType_ServerStatus_BuildInfo_SoftwareVersion,3081,Variable -ServerType_ServerStatus_BuildInfo_BuildNumber,3082,Variable -ServerType_ServerStatus_BuildInfo_BuildDate,3083,Variable -ServerType_ServerStatus_SecondsTillShutdown,3084,Variable -ServerType_ServerStatus_ShutdownReason,3085,Variable -ServerType_ServerCapabilities_ServerProfileArray,3086,Variable -ServerType_ServerCapabilities_LocaleIdArray,3087,Variable -ServerType_ServerCapabilities_MinSupportedSampleRate,3088,Variable -ServerType_ServerCapabilities_MaxBrowseContinuationPoints,3089,Variable -ServerType_ServerCapabilities_MaxQueryContinuationPoints,3090,Variable -ServerType_ServerCapabilities_MaxHistoryContinuationPoints,3091,Variable -ServerType_ServerCapabilities_SoftwareCertificates,3092,Variable -ServerType_ServerCapabilities_ModellingRules,3093,Object -ServerType_ServerCapabilities_AggregateFunctions,3094,Object -ServerType_ServerDiagnostics_ServerDiagnosticsSummary,3095,Variable -ServerType_ServerDiagnostics_ServerDiagnosticsSummary_ServerViewCount,3096,Variable -ServerType_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSessionCount,3097,Variable -ServerType_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSessionCount,3098,Variable -ServerType_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedSessionCount,3099,Variable -ServerType_ServerDiagnostics_ServerDiagnosticsSummary_RejectedSessionCount,3100,Variable -ServerType_ServerDiagnostics_ServerDiagnosticsSummary_SessionTimeoutCount,3101,Variable -ServerType_ServerDiagnostics_ServerDiagnosticsSummary_SessionAbortCount,3102,Variable -ServerType_ServerDiagnostics_ServerDiagnosticsSummary_PublishingIntervalCount,3104,Variable -ServerType_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSubscriptionCount,3105,Variable -ServerType_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSubscriptionCount,3106,Variable -ServerType_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedRequestsCount,3107,Variable -ServerType_ServerDiagnostics_ServerDiagnosticsSummary_RejectedRequestsCount,3108,Variable -ServerType_ServerDiagnostics_SamplingIntervalDiagnosticsArray,3109,Variable -ServerType_ServerDiagnostics_SubscriptionDiagnosticsArray,3110,Variable -ServerType_ServerDiagnostics_SessionsDiagnosticsSummary,3111,Object -ServerType_ServerDiagnostics_SessionsDiagnosticsSummary_SessionDiagnosticsArray,3112,Variable -ServerType_ServerDiagnostics_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray,3113,Variable -ServerType_ServerDiagnostics_EnabledFlag,3114,Variable -ServerType_ServerRedundancy_RedundancySupport,3115,Variable -ServerDiagnosticsType_ServerDiagnosticsSummary_ServerViewCount,3116,Variable -ServerDiagnosticsType_ServerDiagnosticsSummary_CurrentSessionCount,3117,Variable -ServerDiagnosticsType_ServerDiagnosticsSummary_CumulatedSessionCount,3118,Variable -ServerDiagnosticsType_ServerDiagnosticsSummary_SecurityRejectedSessionCount,3119,Variable -ServerDiagnosticsType_ServerDiagnosticsSummary_RejectedSessionCount,3120,Variable -ServerDiagnosticsType_ServerDiagnosticsSummary_SessionTimeoutCount,3121,Variable -ServerDiagnosticsType_ServerDiagnosticsSummary_SessionAbortCount,3122,Variable -ServerDiagnosticsType_ServerDiagnosticsSummary_PublishingIntervalCount,3124,Variable -ServerDiagnosticsType_ServerDiagnosticsSummary_CurrentSubscriptionCount,3125,Variable -ServerDiagnosticsType_ServerDiagnosticsSummary_CumulatedSubscriptionCount,3126,Variable -ServerDiagnosticsType_ServerDiagnosticsSummary_SecurityRejectedRequestsCount,3127,Variable -ServerDiagnosticsType_ServerDiagnosticsSummary_RejectedRequestsCount,3128,Variable -ServerDiagnosticsType_SessionsDiagnosticsSummary_SessionDiagnosticsArray,3129,Variable -ServerDiagnosticsType_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray,3130,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_SessionId,3131,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_SessionName,3132,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_ClientDescription,3133,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_ServerUri,3134,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_EndpointUrl,3135,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_LocaleIds,3136,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_ActualSessionTimeout,3137,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_MaxResponseMessageSize,3138,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_ClientConnectionTime,3139,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_ClientLastContactTime,3140,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_CurrentSubscriptionsCount,3141,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_CurrentMonitoredItemsCount,3142,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_CurrentPublishRequestsInQueue,3143,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_ReadCount,3151,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_HistoryReadCount,3152,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_WriteCount,3153,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_HistoryUpdateCount,3154,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_CallCount,3155,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_CreateMonitoredItemsCount,3156,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_ModifyMonitoredItemsCount,3157,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_SetMonitoringModeCount,3158,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_SetTriggeringCount,3159,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_DeleteMonitoredItemsCount,3160,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_CreateSubscriptionCount,3161,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_ModifySubscriptionCount,3162,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_SetPublishingModeCount,3163,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_PublishCount,3164,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_RepublishCount,3165,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_TransferSubscriptionsCount,3166,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_DeleteSubscriptionsCount,3167,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_AddNodesCount,3168,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_AddReferencesCount,3169,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_DeleteNodesCount,3170,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_DeleteReferencesCount,3171,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_BrowseCount,3172,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_BrowseNextCount,3173,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_TranslateBrowsePathsToNodeIdsCount,3174,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_QueryFirstCount,3175,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_QueryNextCount,3176,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_RegisterNodesCount,3177,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_UnregisterNodesCount,3178,Variable -SessionDiagnosticsObjectType_SessionSecurityDiagnostics_SessionId,3179,Variable -SessionDiagnosticsObjectType_SessionSecurityDiagnostics_ClientUserIdOfSession,3180,Variable -SessionDiagnosticsObjectType_SessionSecurityDiagnostics_ClientUserIdHistory,3181,Variable -SessionDiagnosticsObjectType_SessionSecurityDiagnostics_AuthenticationMechanism,3182,Variable -SessionDiagnosticsObjectType_SessionSecurityDiagnostics_Encoding,3183,Variable -SessionDiagnosticsObjectType_SessionSecurityDiagnostics_TransportProtocol,3184,Variable -SessionDiagnosticsObjectType_SessionSecurityDiagnostics_SecurityMode,3185,Variable -SessionDiagnosticsObjectType_SessionSecurityDiagnostics_SecurityPolicyUri,3186,Variable -SessionDiagnosticsObjectType_SessionSecurityDiagnostics_ClientCertificate,3187,Variable -TransparentRedundancyType_RedundancySupport,3188,Variable -NonTransparentRedundancyType_RedundancySupport,3189,Variable -BaseEventType_LocalTime,3190,Variable -EventQueueOverflowEventType_EventId,3191,Variable -EventQueueOverflowEventType_EventType,3192,Variable -EventQueueOverflowEventType_SourceNode,3193,Variable -EventQueueOverflowEventType_SourceName,3194,Variable -EventQueueOverflowEventType_Time,3195,Variable -EventQueueOverflowEventType_ReceiveTime,3196,Variable -EventQueueOverflowEventType_LocalTime,3197,Variable -EventQueueOverflowEventType_Message,3198,Variable -EventQueueOverflowEventType_Severity,3199,Variable -AuditEventType_EventId,3200,Variable -AuditEventType_EventType,3201,Variable -AuditEventType_SourceNode,3202,Variable -AuditEventType_SourceName,3203,Variable -AuditEventType_Time,3204,Variable -AuditEventType_ReceiveTime,3205,Variable -AuditEventType_LocalTime,3206,Variable -AuditEventType_Message,3207,Variable -AuditEventType_Severity,3208,Variable -AuditSecurityEventType_EventId,3209,Variable -AuditSecurityEventType_EventType,3210,Variable -AuditSecurityEventType_SourceNode,3211,Variable -AuditSecurityEventType_SourceName,3212,Variable -AuditSecurityEventType_Time,3213,Variable -AuditSecurityEventType_ReceiveTime,3214,Variable -AuditSecurityEventType_LocalTime,3215,Variable -AuditSecurityEventType_Message,3216,Variable -AuditSecurityEventType_Severity,3217,Variable -AuditSecurityEventType_ActionTimeStamp,3218,Variable -AuditSecurityEventType_Status,3219,Variable -AuditSecurityEventType_ServerId,3220,Variable -AuditSecurityEventType_ClientAuditEntryId,3221,Variable -AuditSecurityEventType_ClientUserId,3222,Variable -AuditChannelEventType_EventId,3223,Variable -AuditChannelEventType_EventType,3224,Variable -AuditChannelEventType_SourceNode,3225,Variable -AuditChannelEventType_SourceName,3226,Variable -AuditChannelEventType_Time,3227,Variable -AuditChannelEventType_ReceiveTime,3228,Variable -AuditChannelEventType_LocalTime,3229,Variable -AuditChannelEventType_Message,3230,Variable -AuditChannelEventType_Severity,3231,Variable -AuditChannelEventType_ActionTimeStamp,3232,Variable -AuditChannelEventType_Status,3233,Variable -AuditChannelEventType_ServerId,3234,Variable -AuditChannelEventType_ClientAuditEntryId,3235,Variable -AuditChannelEventType_ClientUserId,3236,Variable -AuditOpenSecureChannelEventType_EventId,3237,Variable -AuditOpenSecureChannelEventType_EventType,3238,Variable -AuditOpenSecureChannelEventType_SourceNode,3239,Variable -AuditOpenSecureChannelEventType_SourceName,3240,Variable -AuditOpenSecureChannelEventType_Time,3241,Variable -AuditOpenSecureChannelEventType_ReceiveTime,3242,Variable -AuditOpenSecureChannelEventType_LocalTime,3243,Variable -AuditOpenSecureChannelEventType_Message,3244,Variable -AuditOpenSecureChannelEventType_Severity,3245,Variable -AuditOpenSecureChannelEventType_ActionTimeStamp,3246,Variable -AuditOpenSecureChannelEventType_Status,3247,Variable -AuditOpenSecureChannelEventType_ServerId,3248,Variable -AuditOpenSecureChannelEventType_ClientAuditEntryId,3249,Variable -AuditOpenSecureChannelEventType_ClientUserId,3250,Variable -AuditOpenSecureChannelEventType_SecureChannelId,3251,Variable -AuditSessionEventType_EventId,3252,Variable -AuditSessionEventType_EventType,3253,Variable -AuditSessionEventType_SourceNode,3254,Variable -AuditSessionEventType_SourceName,3255,Variable -AuditSessionEventType_Time,3256,Variable -AuditSessionEventType_ReceiveTime,3257,Variable -AuditSessionEventType_LocalTime,3258,Variable -AuditSessionEventType_Message,3259,Variable -AuditSessionEventType_Severity,3260,Variable -AuditSessionEventType_ActionTimeStamp,3261,Variable -AuditSessionEventType_Status,3262,Variable -AuditSessionEventType_ServerId,3263,Variable -AuditSessionEventType_ClientAuditEntryId,3264,Variable -AuditSessionEventType_ClientUserId,3265,Variable -AuditCreateSessionEventType_EventId,3266,Variable -AuditCreateSessionEventType_EventType,3267,Variable -AuditCreateSessionEventType_SourceNode,3268,Variable -AuditCreateSessionEventType_SourceName,3269,Variable -AuditCreateSessionEventType_Time,3270,Variable -AuditCreateSessionEventType_ReceiveTime,3271,Variable -AuditCreateSessionEventType_LocalTime,3272,Variable -AuditCreateSessionEventType_Message,3273,Variable -AuditCreateSessionEventType_Severity,3274,Variable -AuditCreateSessionEventType_ActionTimeStamp,3275,Variable -AuditCreateSessionEventType_Status,3276,Variable -AuditCreateSessionEventType_ServerId,3277,Variable -AuditCreateSessionEventType_ClientAuditEntryId,3278,Variable -AuditCreateSessionEventType_ClientUserId,3279,Variable -AuditUrlMismatchEventType_EventId,3281,Variable -AuditUrlMismatchEventType_EventType,3282,Variable -AuditUrlMismatchEventType_SourceNode,3283,Variable -AuditUrlMismatchEventType_SourceName,3284,Variable -AuditUrlMismatchEventType_Time,3285,Variable -AuditUrlMismatchEventType_ReceiveTime,3286,Variable -AuditUrlMismatchEventType_LocalTime,3287,Variable -AuditUrlMismatchEventType_Message,3288,Variable -AuditUrlMismatchEventType_Severity,3289,Variable -AuditUrlMismatchEventType_ActionTimeStamp,3290,Variable -AuditUrlMismatchEventType_Status,3291,Variable -AuditUrlMismatchEventType_ServerId,3292,Variable -AuditUrlMismatchEventType_ClientAuditEntryId,3293,Variable -AuditUrlMismatchEventType_ClientUserId,3294,Variable -AuditUrlMismatchEventType_SecureChannelId,3296,Variable -AuditUrlMismatchEventType_ClientCertificate,3297,Variable -AuditUrlMismatchEventType_ClientCertificateThumbprint,3298,Variable -AuditUrlMismatchEventType_RevisedSessionTimeout,3299,Variable -AuditActivateSessionEventType_EventId,3300,Variable -AuditActivateSessionEventType_EventType,3301,Variable -AuditActivateSessionEventType_SourceNode,3302,Variable -AuditActivateSessionEventType_SourceName,3303,Variable -AuditActivateSessionEventType_Time,3304,Variable -AuditActivateSessionEventType_ReceiveTime,3305,Variable -AuditActivateSessionEventType_LocalTime,3306,Variable -AuditActivateSessionEventType_Message,3307,Variable -AuditActivateSessionEventType_Severity,3308,Variable -AuditActivateSessionEventType_ActionTimeStamp,3309,Variable -AuditActivateSessionEventType_Status,3310,Variable -AuditActivateSessionEventType_ServerId,3311,Variable -AuditActivateSessionEventType_ClientAuditEntryId,3312,Variable -AuditActivateSessionEventType_ClientUserId,3313,Variable -AuditActivateSessionEventType_SessionId,3314,Variable -AuditCancelEventType_EventId,3315,Variable -AuditCancelEventType_EventType,3316,Variable -AuditCancelEventType_SourceNode,3317,Variable -AuditCancelEventType_SourceName,3318,Variable -AuditCancelEventType_Time,3319,Variable -AuditCancelEventType_ReceiveTime,3320,Variable -AuditCancelEventType_LocalTime,3321,Variable -AuditCancelEventType_Message,3322,Variable -AuditCancelEventType_Severity,3323,Variable -AuditCancelEventType_ActionTimeStamp,3324,Variable -AuditCancelEventType_Status,3325,Variable -AuditCancelEventType_ServerId,3326,Variable -AuditCancelEventType_ClientAuditEntryId,3327,Variable -AuditCancelEventType_ClientUserId,3328,Variable -AuditCancelEventType_SessionId,3329,Variable -AuditCertificateEventType_EventId,3330,Variable -AuditCertificateEventType_EventType,3331,Variable -AuditCertificateEventType_SourceNode,3332,Variable -AuditCertificateEventType_SourceName,3333,Variable -AuditCertificateEventType_Time,3334,Variable -AuditCertificateEventType_ReceiveTime,3335,Variable -AuditCertificateEventType_LocalTime,3336,Variable -AuditCertificateEventType_Message,3337,Variable -AuditCertificateEventType_Severity,3338,Variable -AuditCertificateEventType_ActionTimeStamp,3339,Variable -AuditCertificateEventType_Status,3340,Variable -AuditCertificateEventType_ServerId,3341,Variable -AuditCertificateEventType_ClientAuditEntryId,3342,Variable -AuditCertificateEventType_ClientUserId,3343,Variable -AuditCertificateDataMismatchEventType_EventId,3344,Variable -AuditCertificateDataMismatchEventType_EventType,3345,Variable -AuditCertificateDataMismatchEventType_SourceNode,3346,Variable -AuditCertificateDataMismatchEventType_SourceName,3347,Variable -AuditCertificateDataMismatchEventType_Time,3348,Variable -AuditCertificateDataMismatchEventType_ReceiveTime,3349,Variable -AuditCertificateDataMismatchEventType_LocalTime,3350,Variable -AuditCertificateDataMismatchEventType_Message,3351,Variable -AuditCertificateDataMismatchEventType_Severity,3352,Variable -AuditCertificateDataMismatchEventType_ActionTimeStamp,3353,Variable -AuditCertificateDataMismatchEventType_Status,3354,Variable -AuditCertificateDataMismatchEventType_ServerId,3355,Variable -AuditCertificateDataMismatchEventType_ClientAuditEntryId,3356,Variable -AuditCertificateDataMismatchEventType_ClientUserId,3357,Variable -AuditCertificateDataMismatchEventType_Certificate,3358,Variable -AuditCertificateExpiredEventType_EventId,3359,Variable -AuditCertificateExpiredEventType_EventType,3360,Variable -AuditCertificateExpiredEventType_SourceNode,3361,Variable -AuditCertificateExpiredEventType_SourceName,3362,Variable -AuditCertificateExpiredEventType_Time,3363,Variable -AuditCertificateExpiredEventType_ReceiveTime,3364,Variable -AuditCertificateExpiredEventType_LocalTime,3365,Variable -AuditCertificateExpiredEventType_Message,3366,Variable -AuditCertificateExpiredEventType_Severity,3367,Variable -AuditCertificateExpiredEventType_ActionTimeStamp,3368,Variable -AuditCertificateExpiredEventType_Status,3369,Variable -AuditCertificateExpiredEventType_ServerId,3370,Variable -AuditCertificateExpiredEventType_ClientAuditEntryId,3371,Variable -AuditCertificateExpiredEventType_ClientUserId,3372,Variable -AuditCertificateExpiredEventType_Certificate,3373,Variable -AuditCertificateInvalidEventType_EventId,3374,Variable -AuditCertificateInvalidEventType_EventType,3375,Variable -AuditCertificateInvalidEventType_SourceNode,3376,Variable -AuditCertificateInvalidEventType_SourceName,3377,Variable -AuditCertificateInvalidEventType_Time,3378,Variable -AuditCertificateInvalidEventType_ReceiveTime,3379,Variable -AuditCertificateInvalidEventType_LocalTime,3380,Variable -AuditCertificateInvalidEventType_Message,3381,Variable -AuditCertificateInvalidEventType_Severity,3382,Variable -AuditCertificateInvalidEventType_ActionTimeStamp,3383,Variable -AuditCertificateInvalidEventType_Status,3384,Variable -AuditCertificateInvalidEventType_ServerId,3385,Variable -AuditCertificateInvalidEventType_ClientAuditEntryId,3386,Variable -AuditCertificateInvalidEventType_ClientUserId,3387,Variable -AuditCertificateInvalidEventType_Certificate,3388,Variable -AuditCertificateUntrustedEventType_EventId,3389,Variable -AuditCertificateUntrustedEventType_EventType,3390,Variable -AuditCertificateUntrustedEventType_SourceNode,3391,Variable -AuditCertificateUntrustedEventType_SourceName,3392,Variable -AuditCertificateUntrustedEventType_Time,3393,Variable -AuditCertificateUntrustedEventType_ReceiveTime,3394,Variable -AuditCertificateUntrustedEventType_LocalTime,3395,Variable -AuditCertificateUntrustedEventType_Message,3396,Variable -AuditCertificateUntrustedEventType_Severity,3397,Variable -AuditCertificateUntrustedEventType_ActionTimeStamp,3398,Variable -AuditCertificateUntrustedEventType_Status,3399,Variable -AuditCertificateUntrustedEventType_ServerId,3400,Variable -AuditCertificateUntrustedEventType_ClientAuditEntryId,3401,Variable -AuditCertificateUntrustedEventType_ClientUserId,3402,Variable -AuditCertificateUntrustedEventType_Certificate,3403,Variable -AuditCertificateRevokedEventType_EventId,3404,Variable -AuditCertificateRevokedEventType_EventType,3405,Variable -AuditCertificateRevokedEventType_SourceNode,3406,Variable -AuditCertificateRevokedEventType_SourceName,3407,Variable -AuditCertificateRevokedEventType_Time,3408,Variable -AuditCertificateRevokedEventType_ReceiveTime,3409,Variable -AuditCertificateRevokedEventType_LocalTime,3410,Variable -AuditCertificateRevokedEventType_Message,3411,Variable -AuditCertificateRevokedEventType_Severity,3412,Variable -AuditCertificateRevokedEventType_ActionTimeStamp,3413,Variable -AuditCertificateRevokedEventType_Status,3414,Variable -AuditCertificateRevokedEventType_ServerId,3415,Variable -AuditCertificateRevokedEventType_ClientAuditEntryId,3416,Variable -AuditCertificateRevokedEventType_ClientUserId,3417,Variable -AuditCertificateRevokedEventType_Certificate,3418,Variable -AuditCertificateMismatchEventType_EventId,3419,Variable -AuditCertificateMismatchEventType_EventType,3420,Variable -AuditCertificateMismatchEventType_SourceNode,3421,Variable -AuditCertificateMismatchEventType_SourceName,3422,Variable -AuditCertificateMismatchEventType_Time,3423,Variable -AuditCertificateMismatchEventType_ReceiveTime,3424,Variable -AuditCertificateMismatchEventType_LocalTime,3425,Variable -AuditCertificateMismatchEventType_Message,3426,Variable -AuditCertificateMismatchEventType_Severity,3427,Variable -AuditCertificateMismatchEventType_ActionTimeStamp,3428,Variable -AuditCertificateMismatchEventType_Status,3429,Variable -AuditCertificateMismatchEventType_ServerId,3430,Variable -AuditCertificateMismatchEventType_ClientAuditEntryId,3431,Variable -AuditCertificateMismatchEventType_ClientUserId,3432,Variable -AuditCertificateMismatchEventType_Certificate,3433,Variable -AuditNodeManagementEventType_EventId,3434,Variable -AuditNodeManagementEventType_EventType,3435,Variable -AuditNodeManagementEventType_SourceNode,3436,Variable -AuditNodeManagementEventType_SourceName,3437,Variable -AuditNodeManagementEventType_Time,3438,Variable -AuditNodeManagementEventType_ReceiveTime,3439,Variable -AuditNodeManagementEventType_LocalTime,3440,Variable -AuditNodeManagementEventType_Message,3441,Variable -AuditNodeManagementEventType_Severity,3442,Variable -AuditNodeManagementEventType_ActionTimeStamp,3443,Variable -AuditNodeManagementEventType_Status,3444,Variable -AuditNodeManagementEventType_ServerId,3445,Variable -AuditNodeManagementEventType_ClientAuditEntryId,3446,Variable -AuditNodeManagementEventType_ClientUserId,3447,Variable -AuditAddNodesEventType_EventId,3448,Variable -AuditAddNodesEventType_EventType,3449,Variable -AuditAddNodesEventType_SourceNode,3450,Variable -AuditAddNodesEventType_SourceName,3451,Variable -AuditAddNodesEventType_Time,3452,Variable -AuditAddNodesEventType_ReceiveTime,3453,Variable -AuditAddNodesEventType_LocalTime,3454,Variable -AuditAddNodesEventType_Message,3455,Variable -AuditAddNodesEventType_Severity,3456,Variable -AuditAddNodesEventType_ActionTimeStamp,3457,Variable -AuditAddNodesEventType_Status,3458,Variable -AuditAddNodesEventType_ServerId,3459,Variable -AuditAddNodesEventType_ClientAuditEntryId,3460,Variable -AuditAddNodesEventType_ClientUserId,3461,Variable -AuditDeleteNodesEventType_EventId,3462,Variable -AuditDeleteNodesEventType_EventType,3463,Variable -AuditDeleteNodesEventType_SourceNode,3464,Variable -AuditDeleteNodesEventType_SourceName,3465,Variable -AuditDeleteNodesEventType_Time,3466,Variable -AuditDeleteNodesEventType_ReceiveTime,3467,Variable -AuditDeleteNodesEventType_LocalTime,3468,Variable -AuditDeleteNodesEventType_Message,3469,Variable -AuditDeleteNodesEventType_Severity,3470,Variable -AuditDeleteNodesEventType_ActionTimeStamp,3471,Variable -AuditDeleteNodesEventType_Status,3472,Variable -AuditDeleteNodesEventType_ServerId,3473,Variable -AuditDeleteNodesEventType_ClientAuditEntryId,3474,Variable -AuditDeleteNodesEventType_ClientUserId,3475,Variable -AuditAddReferencesEventType_EventId,3476,Variable -AuditAddReferencesEventType_EventType,3477,Variable -AuditAddReferencesEventType_SourceNode,3478,Variable -AuditAddReferencesEventType_SourceName,3479,Variable -AuditAddReferencesEventType_Time,3480,Variable -AuditAddReferencesEventType_ReceiveTime,3481,Variable -AuditAddReferencesEventType_LocalTime,3482,Variable -AuditAddReferencesEventType_Message,3483,Variable -AuditAddReferencesEventType_Severity,3484,Variable -AuditAddReferencesEventType_ActionTimeStamp,3485,Variable -AuditAddReferencesEventType_Status,3486,Variable -AuditAddReferencesEventType_ServerId,3487,Variable -AuditAddReferencesEventType_ClientAuditEntryId,3488,Variable -AuditAddReferencesEventType_ClientUserId,3489,Variable -AuditDeleteReferencesEventType_EventId,3490,Variable -AuditDeleteReferencesEventType_EventType,3491,Variable -AuditDeleteReferencesEventType_SourceNode,3492,Variable -AuditDeleteReferencesEventType_SourceName,3493,Variable -AuditDeleteReferencesEventType_Time,3494,Variable -AuditDeleteReferencesEventType_ReceiveTime,3495,Variable -AuditDeleteReferencesEventType_LocalTime,3496,Variable -AuditDeleteReferencesEventType_Message,3497,Variable -AuditDeleteReferencesEventType_Severity,3498,Variable -AuditDeleteReferencesEventType_ActionTimeStamp,3499,Variable -AuditDeleteReferencesEventType_Status,3500,Variable -AuditDeleteReferencesEventType_ServerId,3501,Variable -AuditDeleteReferencesEventType_ClientAuditEntryId,3502,Variable -AuditDeleteReferencesEventType_ClientUserId,3503,Variable -AuditUpdateEventType_EventId,3504,Variable -AuditUpdateEventType_EventType,3505,Variable -AuditUpdateEventType_SourceNode,3506,Variable -AuditUpdateEventType_SourceName,3507,Variable -AuditUpdateEventType_Time,3508,Variable -AuditUpdateEventType_ReceiveTime,3509,Variable -AuditUpdateEventType_LocalTime,3510,Variable -AuditUpdateEventType_Message,3511,Variable -AuditUpdateEventType_Severity,3512,Variable -AuditUpdateEventType_ActionTimeStamp,3513,Variable -AuditUpdateEventType_Status,3514,Variable -AuditUpdateEventType_ServerId,3515,Variable -AuditUpdateEventType_ClientAuditEntryId,3516,Variable -AuditUpdateEventType_ClientUserId,3517,Variable -AuditWriteUpdateEventType_EventId,3518,Variable -AuditWriteUpdateEventType_EventType,3519,Variable -AuditWriteUpdateEventType_SourceNode,3520,Variable -AuditWriteUpdateEventType_SourceName,3521,Variable -AuditWriteUpdateEventType_Time,3522,Variable -AuditWriteUpdateEventType_ReceiveTime,3523,Variable -AuditWriteUpdateEventType_LocalTime,3524,Variable -AuditWriteUpdateEventType_Message,3525,Variable -AuditWriteUpdateEventType_Severity,3526,Variable -AuditWriteUpdateEventType_ActionTimeStamp,3527,Variable -AuditWriteUpdateEventType_Status,3528,Variable -AuditWriteUpdateEventType_ServerId,3529,Variable -AuditWriteUpdateEventType_ClientAuditEntryId,3530,Variable -AuditWriteUpdateEventType_ClientUserId,3531,Variable -AuditHistoryUpdateEventType_EventId,3532,Variable -AuditHistoryUpdateEventType_EventType,3533,Variable -AuditHistoryUpdateEventType_SourceNode,3534,Variable -AuditHistoryUpdateEventType_SourceName,3535,Variable -AuditHistoryUpdateEventType_Time,3536,Variable -AuditHistoryUpdateEventType_ReceiveTime,3537,Variable -AuditHistoryUpdateEventType_LocalTime,3538,Variable -AuditHistoryUpdateEventType_Message,3539,Variable -AuditHistoryUpdateEventType_Severity,3540,Variable -AuditHistoryUpdateEventType_ActionTimeStamp,3541,Variable -AuditHistoryUpdateEventType_Status,3542,Variable -AuditHistoryUpdateEventType_ServerId,3543,Variable -AuditHistoryUpdateEventType_ClientAuditEntryId,3544,Variable -AuditHistoryUpdateEventType_ClientUserId,3545,Variable -AuditHistoryEventUpdateEventType_EventId,3546,Variable -AuditHistoryEventUpdateEventType_EventType,3547,Variable -AuditHistoryEventUpdateEventType_SourceNode,3548,Variable -AuditHistoryEventUpdateEventType_SourceName,3549,Variable -AuditHistoryEventUpdateEventType_Time,3550,Variable -AuditHistoryEventUpdateEventType_ReceiveTime,3551,Variable -AuditHistoryEventUpdateEventType_LocalTime,3552,Variable -AuditHistoryEventUpdateEventType_Message,3553,Variable -AuditHistoryEventUpdateEventType_Severity,3554,Variable -AuditHistoryEventUpdateEventType_ActionTimeStamp,3555,Variable -AuditHistoryEventUpdateEventType_Status,3556,Variable -AuditHistoryEventUpdateEventType_ServerId,3557,Variable -AuditHistoryEventUpdateEventType_ClientAuditEntryId,3558,Variable -AuditHistoryEventUpdateEventType_ClientUserId,3559,Variable -AuditHistoryEventUpdateEventType_ParameterDataTypeId,3560,Variable -AuditHistoryValueUpdateEventType_EventId,3561,Variable -AuditHistoryValueUpdateEventType_EventType,3562,Variable -AuditHistoryValueUpdateEventType_SourceNode,3563,Variable -AuditHistoryValueUpdateEventType_SourceName,3564,Variable -AuditHistoryValueUpdateEventType_Time,3565,Variable -AuditHistoryValueUpdateEventType_ReceiveTime,3566,Variable -AuditHistoryValueUpdateEventType_LocalTime,3567,Variable -AuditHistoryValueUpdateEventType_Message,3568,Variable -AuditHistoryValueUpdateEventType_Severity,3569,Variable -AuditHistoryValueUpdateEventType_ActionTimeStamp,3570,Variable -AuditHistoryValueUpdateEventType_Status,3571,Variable -AuditHistoryValueUpdateEventType_ServerId,3572,Variable -AuditHistoryValueUpdateEventType_ClientAuditEntryId,3573,Variable -AuditHistoryValueUpdateEventType_ClientUserId,3574,Variable -AuditHistoryValueUpdateEventType_ParameterDataTypeId,3575,Variable -AuditHistoryDeleteEventType_EventId,3576,Variable -AuditHistoryDeleteEventType_EventType,3577,Variable -AuditHistoryDeleteEventType_SourceNode,3578,Variable -AuditHistoryDeleteEventType_SourceName,3579,Variable -AuditHistoryDeleteEventType_Time,3580,Variable -AuditHistoryDeleteEventType_ReceiveTime,3581,Variable -AuditHistoryDeleteEventType_LocalTime,3582,Variable -AuditHistoryDeleteEventType_Message,3583,Variable -AuditHistoryDeleteEventType_Severity,3584,Variable -AuditHistoryDeleteEventType_ActionTimeStamp,3585,Variable -AuditHistoryDeleteEventType_Status,3586,Variable -AuditHistoryDeleteEventType_ServerId,3587,Variable -AuditHistoryDeleteEventType_ClientAuditEntryId,3588,Variable -AuditHistoryDeleteEventType_ClientUserId,3589,Variable -AuditHistoryDeleteEventType_ParameterDataTypeId,3590,Variable -AuditHistoryRawModifyDeleteEventType_EventId,3591,Variable -AuditHistoryRawModifyDeleteEventType_EventType,3592,Variable -AuditHistoryRawModifyDeleteEventType_SourceNode,3593,Variable -AuditHistoryRawModifyDeleteEventType_SourceName,3594,Variable -AuditHistoryRawModifyDeleteEventType_Time,3595,Variable -AuditHistoryRawModifyDeleteEventType_ReceiveTime,3596,Variable -AuditHistoryRawModifyDeleteEventType_LocalTime,3597,Variable -AuditHistoryRawModifyDeleteEventType_Message,3598,Variable -AuditHistoryRawModifyDeleteEventType_Severity,3599,Variable -AuditHistoryRawModifyDeleteEventType_ActionTimeStamp,3600,Variable -AuditHistoryRawModifyDeleteEventType_Status,3601,Variable -AuditHistoryRawModifyDeleteEventType_ServerId,3602,Variable -AuditHistoryRawModifyDeleteEventType_ClientAuditEntryId,3603,Variable -AuditHistoryRawModifyDeleteEventType_ClientUserId,3604,Variable -AuditHistoryRawModifyDeleteEventType_ParameterDataTypeId,3605,Variable -AuditHistoryRawModifyDeleteEventType_UpdatedNode,3606,Variable -AuditHistoryAtTimeDeleteEventType_EventId,3607,Variable -AuditHistoryAtTimeDeleteEventType_EventType,3608,Variable -AuditHistoryAtTimeDeleteEventType_SourceNode,3609,Variable -AuditHistoryAtTimeDeleteEventType_SourceName,3610,Variable -AuditHistoryAtTimeDeleteEventType_Time,3611,Variable -AuditHistoryAtTimeDeleteEventType_ReceiveTime,3612,Variable -AuditHistoryAtTimeDeleteEventType_LocalTime,3613,Variable -AuditHistoryAtTimeDeleteEventType_Message,3614,Variable -AuditHistoryAtTimeDeleteEventType_Severity,3615,Variable -AuditHistoryAtTimeDeleteEventType_ActionTimeStamp,3616,Variable -AuditHistoryAtTimeDeleteEventType_Status,3617,Variable -AuditHistoryAtTimeDeleteEventType_ServerId,3618,Variable -AuditHistoryAtTimeDeleteEventType_ClientAuditEntryId,3619,Variable -AuditHistoryAtTimeDeleteEventType_ClientUserId,3620,Variable -AuditHistoryAtTimeDeleteEventType_ParameterDataTypeId,3621,Variable -AuditHistoryAtTimeDeleteEventType_UpdatedNode,3622,Variable -AuditHistoryEventDeleteEventType_EventId,3623,Variable -AuditHistoryEventDeleteEventType_EventType,3624,Variable -AuditHistoryEventDeleteEventType_SourceNode,3625,Variable -AuditHistoryEventDeleteEventType_SourceName,3626,Variable -AuditHistoryEventDeleteEventType_Time,3627,Variable -AuditHistoryEventDeleteEventType_ReceiveTime,3628,Variable -AuditHistoryEventDeleteEventType_LocalTime,3629,Variable -AuditHistoryEventDeleteEventType_Message,3630,Variable -AuditHistoryEventDeleteEventType_Severity,3631,Variable -AuditHistoryEventDeleteEventType_ActionTimeStamp,3632,Variable -AuditHistoryEventDeleteEventType_Status,3633,Variable -AuditHistoryEventDeleteEventType_ServerId,3634,Variable -AuditHistoryEventDeleteEventType_ClientAuditEntryId,3635,Variable -AuditHistoryEventDeleteEventType_ClientUserId,3636,Variable -AuditHistoryEventDeleteEventType_ParameterDataTypeId,3637,Variable -AuditHistoryEventDeleteEventType_UpdatedNode,3638,Variable -AuditUpdateMethodEventType_EventId,3639,Variable -AuditUpdateMethodEventType_EventType,3640,Variable -AuditUpdateMethodEventType_SourceNode,3641,Variable -AuditUpdateMethodEventType_SourceName,3642,Variable -AuditUpdateMethodEventType_Time,3643,Variable -AuditUpdateMethodEventType_ReceiveTime,3644,Variable -AuditUpdateMethodEventType_LocalTime,3645,Variable -AuditUpdateMethodEventType_Message,3646,Variable -AuditUpdateMethodEventType_Severity,3647,Variable -AuditUpdateMethodEventType_ActionTimeStamp,3648,Variable -AuditUpdateMethodEventType_Status,3649,Variable -AuditUpdateMethodEventType_ServerId,3650,Variable -AuditUpdateMethodEventType_ClientAuditEntryId,3651,Variable -AuditUpdateMethodEventType_ClientUserId,3652,Variable -SystemEventType_EventId,3653,Variable -SystemEventType_EventType,3654,Variable -SystemEventType_SourceNode,3655,Variable -SystemEventType_SourceName,3656,Variable -SystemEventType_Time,3657,Variable -SystemEventType_ReceiveTime,3658,Variable -SystemEventType_LocalTime,3659,Variable -SystemEventType_Message,3660,Variable -SystemEventType_Severity,3661,Variable -DeviceFailureEventType_EventId,3662,Variable -DeviceFailureEventType_EventType,3663,Variable -DeviceFailureEventType_SourceNode,3664,Variable -DeviceFailureEventType_SourceName,3665,Variable -DeviceFailureEventType_Time,3666,Variable -DeviceFailureEventType_ReceiveTime,3667,Variable -DeviceFailureEventType_LocalTime,3668,Variable -DeviceFailureEventType_Message,3669,Variable -DeviceFailureEventType_Severity,3670,Variable -BaseModelChangeEventType_EventId,3671,Variable -BaseModelChangeEventType_EventType,3672,Variable -BaseModelChangeEventType_SourceNode,3673,Variable -BaseModelChangeEventType_SourceName,3674,Variable -BaseModelChangeEventType_Time,3675,Variable -BaseModelChangeEventType_ReceiveTime,3676,Variable -BaseModelChangeEventType_LocalTime,3677,Variable -BaseModelChangeEventType_Message,3678,Variable -BaseModelChangeEventType_Severity,3679,Variable -GeneralModelChangeEventType_EventId,3680,Variable -GeneralModelChangeEventType_EventType,3681,Variable -GeneralModelChangeEventType_SourceNode,3682,Variable -GeneralModelChangeEventType_SourceName,3683,Variable -GeneralModelChangeEventType_Time,3684,Variable -GeneralModelChangeEventType_ReceiveTime,3685,Variable -GeneralModelChangeEventType_LocalTime,3686,Variable -GeneralModelChangeEventType_Message,3687,Variable -GeneralModelChangeEventType_Severity,3688,Variable -SemanticChangeEventType_EventId,3689,Variable -SemanticChangeEventType_EventType,3690,Variable -SemanticChangeEventType_SourceNode,3691,Variable -SemanticChangeEventType_SourceName,3692,Variable -SemanticChangeEventType_Time,3693,Variable -SemanticChangeEventType_ReceiveTime,3694,Variable -SemanticChangeEventType_LocalTime,3695,Variable -SemanticChangeEventType_Message,3696,Variable -SemanticChangeEventType_Severity,3697,Variable -ServerStatusType_BuildInfo_ProductUri,3698,Variable -ServerStatusType_BuildInfo_ManufacturerName,3699,Variable -ServerStatusType_BuildInfo_ProductName,3700,Variable -ServerStatusType_BuildInfo_SoftwareVersion,3701,Variable -ServerStatusType_BuildInfo_BuildNumber,3702,Variable -ServerStatusType_BuildInfo_BuildDate,3703,Variable -Server_ServerCapabilities_SoftwareCertificates,3704,Variable -Server_ServerDiagnostics_ServerDiagnosticsSummary_RejectedSessionCount,3705,Variable -Server_ServerDiagnostics_SessionsDiagnosticsSummary,3706,Object -Server_ServerDiagnostics_SessionsDiagnosticsSummary_SessionDiagnosticsArray,3707,Variable -Server_ServerDiagnostics_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray,3708,Variable -Server_ServerRedundancy_RedundancySupport,3709,Variable -FiniteStateVariableType_Name,3714,Variable -FiniteStateVariableType_Number,3715,Variable -FiniteStateVariableType_EffectiveDisplayName,3716,Variable -FiniteTransitionVariableType_Name,3717,Variable -FiniteTransitionVariableType_Number,3718,Variable -FiniteTransitionVariableType_TransitionTime,3719,Variable -StateMachineType_CurrentState_Id,3720,Variable -StateMachineType_CurrentState_Name,3721,Variable -StateMachineType_CurrentState_Number,3722,Variable -StateMachineType_CurrentState_EffectiveDisplayName,3723,Variable -StateMachineType_LastTransition_Id,3724,Variable -StateMachineType_LastTransition_Name,3725,Variable -StateMachineType_LastTransition_Number,3726,Variable -StateMachineType_LastTransition_TransitionTime,3727,Variable -FiniteStateMachineType_CurrentState_Id,3728,Variable -FiniteStateMachineType_CurrentState_Name,3729,Variable -FiniteStateMachineType_CurrentState_Number,3730,Variable -FiniteStateMachineType_CurrentState_EffectiveDisplayName,3731,Variable -FiniteStateMachineType_LastTransition_Id,3732,Variable -FiniteStateMachineType_LastTransition_Name,3733,Variable -FiniteStateMachineType_LastTransition_Number,3734,Variable -FiniteStateMachineType_LastTransition_TransitionTime,3735,Variable -InitialStateType_StateNumber,3736,Variable -TransitionEventType_EventId,3737,Variable -TransitionEventType_EventType,3738,Variable -TransitionEventType_SourceNode,3739,Variable -TransitionEventType_SourceName,3740,Variable -TransitionEventType_Time,3741,Variable -TransitionEventType_ReceiveTime,3742,Variable -TransitionEventType_LocalTime,3743,Variable -TransitionEventType_Message,3744,Variable -TransitionEventType_Severity,3745,Variable -TransitionEventType_FromState_Id,3746,Variable -TransitionEventType_FromState_Name,3747,Variable -TransitionEventType_FromState_Number,3748,Variable -TransitionEventType_FromState_EffectiveDisplayName,3749,Variable -TransitionEventType_ToState_Id,3750,Variable -TransitionEventType_ToState_Name,3751,Variable -TransitionEventType_ToState_Number,3752,Variable -TransitionEventType_ToState_EffectiveDisplayName,3753,Variable -TransitionEventType_Transition_Id,3754,Variable -TransitionEventType_Transition_Name,3755,Variable -TransitionEventType_Transition_Number,3756,Variable -TransitionEventType_Transition_TransitionTime,3757,Variable -AuditUpdateStateEventType_EventId,3758,Variable -AuditUpdateStateEventType_EventType,3759,Variable -AuditUpdateStateEventType_SourceNode,3760,Variable -AuditUpdateStateEventType_SourceName,3761,Variable -AuditUpdateStateEventType_Time,3762,Variable -AuditUpdateStateEventType_ReceiveTime,3763,Variable -AuditUpdateStateEventType_LocalTime,3764,Variable -AuditUpdateStateEventType_Message,3765,Variable -AuditUpdateStateEventType_Severity,3766,Variable -AuditUpdateStateEventType_ActionTimeStamp,3767,Variable -AuditUpdateStateEventType_Status,3768,Variable -AuditUpdateStateEventType_ServerId,3769,Variable -AuditUpdateStateEventType_ClientAuditEntryId,3770,Variable -AuditUpdateStateEventType_ClientUserId,3771,Variable -AuditUpdateStateEventType_MethodId,3772,Variable -AuditUpdateStateEventType_InputArguments,3773,Variable -AnalogItemType_Definition,3774,Variable -AnalogItemType_ValuePrecision,3775,Variable -DiscreteItemType_Definition,3776,Variable -DiscreteItemType_ValuePrecision,3777,Variable -TwoStateDiscreteType_Definition,3778,Variable -TwoStateDiscreteType_ValuePrecision,3779,Variable -MultiStateDiscreteType_Definition,3780,Variable -MultiStateDiscreteType_ValuePrecision,3781,Variable -ProgramTransitionEventType_EventId,3782,Variable -ProgramTransitionEventType_EventType,3783,Variable -ProgramTransitionEventType_SourceNode,3784,Variable -ProgramTransitionEventType_SourceName,3785,Variable -ProgramTransitionEventType_Time,3786,Variable -ProgramTransitionEventType_ReceiveTime,3787,Variable -ProgramTransitionEventType_LocalTime,3788,Variable -ProgramTransitionEventType_Message,3789,Variable -ProgramTransitionEventType_Severity,3790,Variable -ProgramTransitionEventType_FromState,3791,Variable -ProgramTransitionEventType_FromState_Id,3792,Variable -ProgramTransitionEventType_FromState_Name,3793,Variable -ProgramTransitionEventType_FromState_Number,3794,Variable -ProgramTransitionEventType_FromState_EffectiveDisplayName,3795,Variable -ProgramTransitionEventType_ToState,3796,Variable -ProgramTransitionEventType_ToState_Id,3797,Variable -ProgramTransitionEventType_ToState_Name,3798,Variable -ProgramTransitionEventType_ToState_Number,3799,Variable -ProgramTransitionEventType_ToState_EffectiveDisplayName,3800,Variable -ProgramTransitionEventType_Transition,3801,Variable -ProgramTransitionEventType_Transition_Id,3802,Variable -ProgramTransitionEventType_Transition_Name,3803,Variable -ProgramTransitionEventType_Transition_Number,3804,Variable -ProgramTransitionEventType_Transition_TransitionTime,3805,Variable -ProgramTransitionAuditEventType,3806,ObjectType -ProgramTransitionAuditEventType_EventId,3807,Variable -ProgramTransitionAuditEventType_EventType,3808,Variable -ProgramTransitionAuditEventType_SourceNode,3809,Variable -ProgramTransitionAuditEventType_SourceName,3810,Variable -ProgramTransitionAuditEventType_Time,3811,Variable -ProgramTransitionAuditEventType_ReceiveTime,3812,Variable -ProgramTransitionAuditEventType_LocalTime,3813,Variable -ProgramTransitionAuditEventType_Message,3814,Variable -ProgramTransitionAuditEventType_Severity,3815,Variable -ProgramTransitionAuditEventType_ActionTimeStamp,3816,Variable -ProgramTransitionAuditEventType_Status,3817,Variable -ProgramTransitionAuditEventType_ServerId,3818,Variable -ProgramTransitionAuditEventType_ClientAuditEntryId,3819,Variable -ProgramTransitionAuditEventType_ClientUserId,3820,Variable -ProgramTransitionAuditEventType_MethodId,3821,Variable -ProgramTransitionAuditEventType_InputArguments,3822,Variable -ProgramTransitionAuditEventType_OldStateId,3823,Variable -ProgramTransitionAuditEventType_NewStateId,3824,Variable -ProgramTransitionAuditEventType_Transition,3825,Variable -ProgramTransitionAuditEventType_Transition_Id,3826,Variable -ProgramTransitionAuditEventType_Transition_Name,3827,Variable -ProgramTransitionAuditEventType_Transition_Number,3828,Variable -ProgramTransitionAuditEventType_Transition_TransitionTime,3829,Variable -ProgramStateMachineType_CurrentState,3830,Variable -ProgramStateMachineType_CurrentState_Id,3831,Variable -ProgramStateMachineType_CurrentState_Name,3832,Variable -ProgramStateMachineType_CurrentState_Number,3833,Variable -ProgramStateMachineType_CurrentState_EffectiveDisplayName,3834,Variable -ProgramStateMachineType_LastTransition,3835,Variable -ProgramStateMachineType_LastTransition_Id,3836,Variable -ProgramStateMachineType_LastTransition_Name,3837,Variable -ProgramStateMachineType_LastTransition_Number,3838,Variable -ProgramStateMachineType_LastTransition_TransitionTime,3839,Variable -ProgramStateMachineType_ProgramDiagnostics_CreateSessionId,3840,Variable -ProgramStateMachineType_ProgramDiagnostics_CreateClientName,3841,Variable -ProgramStateMachineType_ProgramDiagnostics_InvocationCreationTime,3842,Variable -ProgramStateMachineType_ProgramDiagnostics_LastTransitionTime,3843,Variable -ProgramStateMachineType_ProgramDiagnostics_LastMethodCall,3844,Variable -ProgramStateMachineType_ProgramDiagnostics_LastMethodSessionId,3845,Variable -ProgramStateMachineType_ProgramDiagnostics_LastMethodInputArguments,3846,Variable -ProgramStateMachineType_ProgramDiagnostics_LastMethodOutputArguments,3847,Variable -ProgramStateMachineType_ProgramDiagnostics_LastMethodCallTime,3848,Variable -ProgramStateMachineType_ProgramDiagnostics_LastMethodReturnStatus,3849,Variable -ProgramStateMachineType_FinalResultData,3850,Object -AddCommentMethodType,3863,Method -AddCommentMethodType_InputArguments,3864,Variable -ConditionType_EventId,3865,Variable -ConditionType_EventType,3866,Variable -ConditionType_SourceNode,3867,Variable -ConditionType_SourceName,3868,Variable -ConditionType_Time,3869,Variable -ConditionType_ReceiveTime,3870,Variable -ConditionType_LocalTime,3871,Variable -ConditionType_Message,3872,Variable -ConditionType_Severity,3873,Variable -ConditionType_Retain,3874,Variable -ConditionType_ConditionRefresh,3875,Method -ConditionType_ConditionRefresh_InputArguments,3876,Variable -RefreshStartEventType_EventId,3969,Variable -RefreshStartEventType_EventType,3970,Variable -RefreshStartEventType_SourceNode,3971,Variable -RefreshStartEventType_SourceName,3972,Variable -RefreshStartEventType_Time,3973,Variable -RefreshStartEventType_ReceiveTime,3974,Variable -RefreshStartEventType_LocalTime,3975,Variable -RefreshStartEventType_Message,3976,Variable -RefreshStartEventType_Severity,3977,Variable -RefreshEndEventType_EventId,3978,Variable -RefreshEndEventType_EventType,3979,Variable -RefreshEndEventType_SourceNode,3980,Variable -RefreshEndEventType_SourceName,3981,Variable -RefreshEndEventType_Time,3982,Variable -RefreshEndEventType_ReceiveTime,3983,Variable -RefreshEndEventType_LocalTime,3984,Variable -RefreshEndEventType_Message,3985,Variable -RefreshEndEventType_Severity,3986,Variable -RefreshRequiredEventType_EventId,3987,Variable -RefreshRequiredEventType_EventType,3988,Variable -RefreshRequiredEventType_SourceNode,3989,Variable -RefreshRequiredEventType_SourceName,3990,Variable -RefreshRequiredEventType_Time,3991,Variable -RefreshRequiredEventType_ReceiveTime,3992,Variable -RefreshRequiredEventType_LocalTime,3993,Variable -RefreshRequiredEventType_Message,3994,Variable -RefreshRequiredEventType_Severity,3995,Variable -AuditConditionEventType_EventId,3996,Variable -AuditConditionEventType_EventType,3997,Variable -AuditConditionEventType_SourceNode,3998,Variable -AuditConditionEventType_SourceName,3999,Variable -AuditConditionEventType_Time,4000,Variable -AuditConditionEventType_ReceiveTime,4001,Variable -AuditConditionEventType_LocalTime,4002,Variable -AuditConditionEventType_Message,4003,Variable -AuditConditionEventType_Severity,4004,Variable -AuditConditionEventType_ActionTimeStamp,4005,Variable -AuditConditionEventType_Status,4006,Variable -AuditConditionEventType_ServerId,4007,Variable -AuditConditionEventType_ClientAuditEntryId,4008,Variable -AuditConditionEventType_ClientUserId,4009,Variable -AuditConditionEventType_MethodId,4010,Variable -AuditConditionEventType_InputArguments,4011,Variable -AuditConditionEnableEventType_EventId,4106,Variable -AuditConditionEnableEventType_EventType,4107,Variable -AuditConditionEnableEventType_SourceNode,4108,Variable -AuditConditionEnableEventType_SourceName,4109,Variable -AuditConditionEnableEventType_Time,4110,Variable -AuditConditionEnableEventType_ReceiveTime,4111,Variable -AuditConditionEnableEventType_LocalTime,4112,Variable -AuditConditionEnableEventType_Message,4113,Variable -AuditConditionEnableEventType_Severity,4114,Variable -AuditConditionEnableEventType_ActionTimeStamp,4115,Variable -AuditConditionEnableEventType_Status,4116,Variable -AuditConditionEnableEventType_ServerId,4117,Variable -AuditConditionEnableEventType_ClientAuditEntryId,4118,Variable -AuditConditionEnableEventType_ClientUserId,4119,Variable -AuditConditionEnableEventType_MethodId,4120,Variable -AuditConditionEnableEventType_InputArguments,4121,Variable -AuditConditionCommentEventType_EventId,4170,Variable -AuditConditionCommentEventType_EventType,4171,Variable -AuditConditionCommentEventType_SourceNode,4172,Variable -AuditConditionCommentEventType_SourceName,4173,Variable -AuditConditionCommentEventType_Time,4174,Variable -AuditConditionCommentEventType_ReceiveTime,4175,Variable -AuditConditionCommentEventType_LocalTime,4176,Variable -AuditConditionCommentEventType_Message,4177,Variable -AuditConditionCommentEventType_Severity,4178,Variable -AuditConditionCommentEventType_ActionTimeStamp,4179,Variable -AuditConditionCommentEventType_Status,4180,Variable -AuditConditionCommentEventType_ServerId,4181,Variable -AuditConditionCommentEventType_ClientAuditEntryId,4182,Variable -AuditConditionCommentEventType_ClientUserId,4183,Variable -AuditConditionCommentEventType_MethodId,4184,Variable -AuditConditionCommentEventType_InputArguments,4185,Variable -DialogConditionType_EventId,4188,Variable -DialogConditionType_EventType,4189,Variable -DialogConditionType_SourceNode,4190,Variable -DialogConditionType_SourceName,4191,Variable -DialogConditionType_Time,4192,Variable -DialogConditionType_ReceiveTime,4193,Variable -DialogConditionType_LocalTime,4194,Variable -DialogConditionType_Message,4195,Variable -DialogConditionType_Severity,4196,Variable -DialogConditionType_Retain,4197,Variable -DialogConditionType_ConditionRefresh,4198,Method -DialogConditionType_ConditionRefresh_InputArguments,4199,Variable -AcknowledgeableConditionType_EventId,5113,Variable -AcknowledgeableConditionType_EventType,5114,Variable -AcknowledgeableConditionType_SourceNode,5115,Variable -AcknowledgeableConditionType_SourceName,5116,Variable -AcknowledgeableConditionType_Time,5117,Variable -AcknowledgeableConditionType_ReceiveTime,5118,Variable -AcknowledgeableConditionType_LocalTime,5119,Variable -AcknowledgeableConditionType_Message,5120,Variable -AcknowledgeableConditionType_Severity,5121,Variable -AcknowledgeableConditionType_Retain,5122,Variable -AcknowledgeableConditionType_ConditionRefresh,5123,Method -AcknowledgeableConditionType_ConditionRefresh_InputArguments,5124,Variable -AlarmConditionType_EventId,5540,Variable -AlarmConditionType_EventType,5541,Variable -AlarmConditionType_SourceNode,5542,Variable -AlarmConditionType_SourceName,5543,Variable -AlarmConditionType_Time,5544,Variable -AlarmConditionType_ReceiveTime,5545,Variable -AlarmConditionType_LocalTime,5546,Variable -AlarmConditionType_Message,5547,Variable -AlarmConditionType_Severity,5548,Variable -AlarmConditionType_Retain,5549,Variable -AlarmConditionType_ConditionRefresh,5550,Method -AlarmConditionType_ConditionRefresh_InputArguments,5551,Variable -ShelvedStateMachineType_CurrentState,6088,Variable -ShelvedStateMachineType_CurrentState_Id,6089,Variable -ShelvedStateMachineType_CurrentState_Name,6090,Variable -ShelvedStateMachineType_CurrentState_Number,6091,Variable -ShelvedStateMachineType_CurrentState_EffectiveDisplayName,6092,Variable -ShelvedStateMachineType_LastTransition,6093,Variable -ShelvedStateMachineType_LastTransition_Id,6094,Variable -ShelvedStateMachineType_LastTransition_Name,6095,Variable -ShelvedStateMachineType_LastTransition_Number,6096,Variable -ShelvedStateMachineType_LastTransition_TransitionTime,6097,Variable -ShelvedStateMachineType_Unshelved_StateNumber,6098,Variable -ShelvedStateMachineType_TimedShelved_StateNumber,6100,Variable -ShelvedStateMachineType_OneShotShelved_StateNumber,6101,Variable -TimedShelveMethodType,6102,Method -TimedShelveMethodType_InputArguments,6103,Variable -LimitAlarmType_EventId,6116,Variable -LimitAlarmType_EventType,6117,Variable -LimitAlarmType_SourceNode,6118,Variable -LimitAlarmType_SourceName,6119,Variable -LimitAlarmType_Time,6120,Variable -LimitAlarmType_ReceiveTime,6121,Variable -LimitAlarmType_LocalTime,6122,Variable -LimitAlarmType_Message,6123,Variable -LimitAlarmType_Severity,6124,Variable -LimitAlarmType_Retain,6125,Variable -LimitAlarmType_ConditionRefresh,6126,Method -LimitAlarmType_ConditionRefresh_InputArguments,6127,Variable -IdType_EnumStrings,7591,Variable -EnumValueType,7594,DataType -MessageSecurityMode_EnumStrings,7595,Variable -UserTokenType_EnumStrings,7596,Variable -ApplicationType_EnumStrings,7597,Variable -SecurityTokenRequestType_EnumStrings,7598,Variable -ComplianceLevel_EnumStrings,7599,Variable -BrowseDirection_EnumStrings,7603,Variable -FilterOperator_EnumStrings,7605,Variable -TimestampsToReturn_EnumStrings,7606,Variable -MonitoringMode_EnumStrings,7608,Variable -DataChangeTrigger_EnumStrings,7609,Variable -DeadbandType_EnumStrings,7610,Variable -RedundancySupport_EnumStrings,7611,Variable -ServerState_EnumStrings,7612,Variable -ExceptionDeviationFormat_EnumStrings,7614,Variable -EnumValueType_Encoding_DefaultXml,7616,Object -OpcUa_BinarySchema,7617,Variable -OpcUa_BinarySchema_DataTypeVersion,7618,Variable -OpcUa_BinarySchema_NamespaceUri,7619,Variable -OpcUa_BinarySchema_Argument,7650,Variable -OpcUa_BinarySchema_Argument_DataTypeVersion,7651,Variable -OpcUa_BinarySchema_Argument_DictionaryFragment,7652,Variable -OpcUa_BinarySchema_EnumValueType,7656,Variable -OpcUa_BinarySchema_EnumValueType_DataTypeVersion,7657,Variable -OpcUa_BinarySchema_EnumValueType_DictionaryFragment,7658,Variable -OpcUa_BinarySchema_StatusResult,7659,Variable -OpcUa_BinarySchema_StatusResult_DataTypeVersion,7660,Variable -OpcUa_BinarySchema_StatusResult_DictionaryFragment,7661,Variable -OpcUa_BinarySchema_UserTokenPolicy,7662,Variable -OpcUa_BinarySchema_UserTokenPolicy_DataTypeVersion,7663,Variable -OpcUa_BinarySchema_UserTokenPolicy_DictionaryFragment,7664,Variable -OpcUa_BinarySchema_ApplicationDescription,7665,Variable -OpcUa_BinarySchema_ApplicationDescription_DataTypeVersion,7666,Variable -OpcUa_BinarySchema_ApplicationDescription_DictionaryFragment,7667,Variable -OpcUa_BinarySchema_EndpointDescription,7668,Variable -OpcUa_BinarySchema_EndpointDescription_DataTypeVersion,7669,Variable -OpcUa_BinarySchema_EndpointDescription_DictionaryFragment,7670,Variable -OpcUa_BinarySchema_UserIdentityToken,7671,Variable -OpcUa_BinarySchema_UserIdentityToken_DataTypeVersion,7672,Variable -OpcUa_BinarySchema_UserIdentityToken_DictionaryFragment,7673,Variable -OpcUa_BinarySchema_AnonymousIdentityToken,7674,Variable -OpcUa_BinarySchema_AnonymousIdentityToken_DataTypeVersion,7675,Variable -OpcUa_BinarySchema_AnonymousIdentityToken_DictionaryFragment,7676,Variable -OpcUa_BinarySchema_UserNameIdentityToken,7677,Variable -OpcUa_BinarySchema_UserNameIdentityToken_DataTypeVersion,7678,Variable -OpcUa_BinarySchema_UserNameIdentityToken_DictionaryFragment,7679,Variable -OpcUa_BinarySchema_X509IdentityToken,7680,Variable -OpcUa_BinarySchema_X509IdentityToken_DataTypeVersion,7681,Variable -OpcUa_BinarySchema_X509IdentityToken_DictionaryFragment,7682,Variable -OpcUa_BinarySchema_IssuedIdentityToken,7683,Variable -OpcUa_BinarySchema_IssuedIdentityToken_DataTypeVersion,7684,Variable -OpcUa_BinarySchema_IssuedIdentityToken_DictionaryFragment,7685,Variable -OpcUa_BinarySchema_EndpointConfiguration,7686,Variable -OpcUa_BinarySchema_EndpointConfiguration_DataTypeVersion,7687,Variable -OpcUa_BinarySchema_EndpointConfiguration_DictionaryFragment,7688,Variable -OpcUa_BinarySchema_SupportedProfile,7689,Variable -OpcUa_BinarySchema_SupportedProfile_DataTypeVersion,7690,Variable -OpcUa_BinarySchema_SupportedProfile_DictionaryFragment,7691,Variable -OpcUa_BinarySchema_BuildInfo,7692,Variable -OpcUa_BinarySchema_BuildInfo_DataTypeVersion,7693,Variable -OpcUa_BinarySchema_BuildInfo_DictionaryFragment,7694,Variable -OpcUa_BinarySchema_SoftwareCertificate,7695,Variable -OpcUa_BinarySchema_SoftwareCertificate_DataTypeVersion,7696,Variable -OpcUa_BinarySchema_SoftwareCertificate_DictionaryFragment,7697,Variable -OpcUa_BinarySchema_SignedSoftwareCertificate,7698,Variable -OpcUa_BinarySchema_SignedSoftwareCertificate_DataTypeVersion,7699,Variable -OpcUa_BinarySchema_SignedSoftwareCertificate_DictionaryFragment,7700,Variable -OpcUa_BinarySchema_AddNodesItem,7728,Variable -OpcUa_BinarySchema_AddNodesItem_DataTypeVersion,7729,Variable -OpcUa_BinarySchema_AddNodesItem_DictionaryFragment,7730,Variable -OpcUa_BinarySchema_AddReferencesItem,7731,Variable -OpcUa_BinarySchema_AddReferencesItem_DataTypeVersion,7732,Variable -OpcUa_BinarySchema_AddReferencesItem_DictionaryFragment,7733,Variable -OpcUa_BinarySchema_DeleteNodesItem,7734,Variable -OpcUa_BinarySchema_DeleteNodesItem_DataTypeVersion,7735,Variable -OpcUa_BinarySchema_DeleteNodesItem_DictionaryFragment,7736,Variable -OpcUa_BinarySchema_DeleteReferencesItem,7737,Variable -OpcUa_BinarySchema_DeleteReferencesItem_DataTypeVersion,7738,Variable -OpcUa_BinarySchema_DeleteReferencesItem_DictionaryFragment,7739,Variable -OpcUa_BinarySchema_RegisteredServer,7782,Variable -OpcUa_BinarySchema_RegisteredServer_DataTypeVersion,7783,Variable -OpcUa_BinarySchema_RegisteredServer_DictionaryFragment,7784,Variable -OpcUa_BinarySchema_ContentFilterElement,7929,Variable -OpcUa_BinarySchema_ContentFilterElement_DataTypeVersion,7930,Variable -OpcUa_BinarySchema_ContentFilterElement_DictionaryFragment,7931,Variable -OpcUa_BinarySchema_ContentFilter,7932,Variable -OpcUa_BinarySchema_ContentFilter_DataTypeVersion,7933,Variable -OpcUa_BinarySchema_ContentFilter_DictionaryFragment,7934,Variable -OpcUa_BinarySchema_FilterOperand,7935,Variable -OpcUa_BinarySchema_FilterOperand_DataTypeVersion,7936,Variable -OpcUa_BinarySchema_FilterOperand_DictionaryFragment,7937,Variable -OpcUa_BinarySchema_ElementOperand,7938,Variable -OpcUa_BinarySchema_ElementOperand_DataTypeVersion,7939,Variable -OpcUa_BinarySchema_ElementOperand_DictionaryFragment,7940,Variable -OpcUa_BinarySchema_LiteralOperand,7941,Variable -OpcUa_BinarySchema_LiteralOperand_DataTypeVersion,7942,Variable -OpcUa_BinarySchema_LiteralOperand_DictionaryFragment,7943,Variable -OpcUa_BinarySchema_AttributeOperand,7944,Variable -OpcUa_BinarySchema_AttributeOperand_DataTypeVersion,7945,Variable -OpcUa_BinarySchema_AttributeOperand_DictionaryFragment,7946,Variable -OpcUa_BinarySchema_SimpleAttributeOperand,7947,Variable -OpcUa_BinarySchema_SimpleAttributeOperand_DataTypeVersion,7948,Variable -OpcUa_BinarySchema_SimpleAttributeOperand_DictionaryFragment,7949,Variable -OpcUa_BinarySchema_HistoryEvent,8004,Variable -OpcUa_BinarySchema_HistoryEvent_DataTypeVersion,8005,Variable -OpcUa_BinarySchema_HistoryEvent_DictionaryFragment,8006,Variable -OpcUa_BinarySchema_MonitoringFilter,8067,Variable -OpcUa_BinarySchema_MonitoringFilter_DataTypeVersion,8068,Variable -OpcUa_BinarySchema_MonitoringFilter_DictionaryFragment,8069,Variable -OpcUa_BinarySchema_EventFilter,8073,Variable -OpcUa_BinarySchema_EventFilter_DataTypeVersion,8074,Variable -OpcUa_BinarySchema_EventFilter_DictionaryFragment,8075,Variable -OpcUa_BinarySchema_AggregateConfiguration,8076,Variable -OpcUa_BinarySchema_AggregateConfiguration_DataTypeVersion,8077,Variable -OpcUa_BinarySchema_AggregateConfiguration_DictionaryFragment,8078,Variable -OpcUa_BinarySchema_HistoryEventFieldList,8172,Variable -OpcUa_BinarySchema_HistoryEventFieldList_DataTypeVersion,8173,Variable -OpcUa_BinarySchema_HistoryEventFieldList_DictionaryFragment,8174,Variable -OpcUa_BinarySchema_RedundantServerDataType,8208,Variable -OpcUa_BinarySchema_RedundantServerDataType_DataTypeVersion,8209,Variable -OpcUa_BinarySchema_RedundantServerDataType_DictionaryFragment,8210,Variable -OpcUa_BinarySchema_SamplingIntervalDiagnosticsDataType,8211,Variable -OpcUa_BinarySchema_SamplingIntervalDiagnosticsDataType_DataTypeVersion,8212,Variable -OpcUa_BinarySchema_SamplingIntervalDiagnosticsDataType_DictionaryFragment,8213,Variable -OpcUa_BinarySchema_ServerDiagnosticsSummaryDataType,8214,Variable -OpcUa_BinarySchema_ServerDiagnosticsSummaryDataType_DataTypeVersion,8215,Variable -OpcUa_BinarySchema_ServerDiagnosticsSummaryDataType_DictionaryFragment,8216,Variable -OpcUa_BinarySchema_ServerStatusDataType,8217,Variable -OpcUa_BinarySchema_ServerStatusDataType_DataTypeVersion,8218,Variable -OpcUa_BinarySchema_ServerStatusDataType_DictionaryFragment,8219,Variable -OpcUa_BinarySchema_SessionDiagnosticsDataType,8220,Variable -OpcUa_BinarySchema_SessionDiagnosticsDataType_DataTypeVersion,8221,Variable -OpcUa_BinarySchema_SessionDiagnosticsDataType_DictionaryFragment,8222,Variable -OpcUa_BinarySchema_SessionSecurityDiagnosticsDataType,8223,Variable -OpcUa_BinarySchema_SessionSecurityDiagnosticsDataType_DataTypeVersion,8224,Variable -OpcUa_BinarySchema_SessionSecurityDiagnosticsDataType_DictionaryFragment,8225,Variable -OpcUa_BinarySchema_ServiceCounterDataType,8226,Variable -OpcUa_BinarySchema_ServiceCounterDataType_DataTypeVersion,8227,Variable -OpcUa_BinarySchema_ServiceCounterDataType_DictionaryFragment,8228,Variable -OpcUa_BinarySchema_SubscriptionDiagnosticsDataType,8229,Variable -OpcUa_BinarySchema_SubscriptionDiagnosticsDataType_DataTypeVersion,8230,Variable -OpcUa_BinarySchema_SubscriptionDiagnosticsDataType_DictionaryFragment,8231,Variable -OpcUa_BinarySchema_ModelChangeStructureDataType,8232,Variable -OpcUa_BinarySchema_ModelChangeStructureDataType_DataTypeVersion,8233,Variable -OpcUa_BinarySchema_ModelChangeStructureDataType_DictionaryFragment,8234,Variable -OpcUa_BinarySchema_SemanticChangeStructureDataType,8235,Variable -OpcUa_BinarySchema_SemanticChangeStructureDataType_DataTypeVersion,8236,Variable -OpcUa_BinarySchema_SemanticChangeStructureDataType_DictionaryFragment,8237,Variable -OpcUa_BinarySchema_Range,8238,Variable -OpcUa_BinarySchema_Range_DataTypeVersion,8239,Variable -OpcUa_BinarySchema_Range_DictionaryFragment,8240,Variable -OpcUa_BinarySchema_EUInformation,8241,Variable -OpcUa_BinarySchema_EUInformation_DataTypeVersion,8242,Variable -OpcUa_BinarySchema_EUInformation_DictionaryFragment,8243,Variable -OpcUa_BinarySchema_Annotation,8244,Variable -OpcUa_BinarySchema_Annotation_DataTypeVersion,8245,Variable -OpcUa_BinarySchema_Annotation_DictionaryFragment,8246,Variable -OpcUa_BinarySchema_ProgramDiagnosticDataType,8247,Variable -OpcUa_BinarySchema_ProgramDiagnosticDataType_DataTypeVersion,8248,Variable -OpcUa_BinarySchema_ProgramDiagnosticDataType_DictionaryFragment,8249,Variable -EnumValueType_Encoding_DefaultBinary,8251,Object -OpcUa_XmlSchema,8252,Variable -OpcUa_XmlSchema_DataTypeVersion,8253,Variable -OpcUa_XmlSchema_NamespaceUri,8254,Variable -OpcUa_XmlSchema_Argument,8285,Variable -OpcUa_XmlSchema_Argument_DataTypeVersion,8286,Variable -OpcUa_XmlSchema_Argument_DictionaryFragment,8287,Variable -OpcUa_XmlSchema_EnumValueType,8291,Variable -OpcUa_XmlSchema_EnumValueType_DataTypeVersion,8292,Variable -OpcUa_XmlSchema_EnumValueType_DictionaryFragment,8293,Variable -OpcUa_XmlSchema_StatusResult,8294,Variable -OpcUa_XmlSchema_StatusResult_DataTypeVersion,8295,Variable -OpcUa_XmlSchema_StatusResult_DictionaryFragment,8296,Variable -OpcUa_XmlSchema_UserTokenPolicy,8297,Variable -OpcUa_XmlSchema_UserTokenPolicy_DataTypeVersion,8298,Variable -OpcUa_XmlSchema_UserTokenPolicy_DictionaryFragment,8299,Variable -OpcUa_XmlSchema_ApplicationDescription,8300,Variable -OpcUa_XmlSchema_ApplicationDescription_DataTypeVersion,8301,Variable -OpcUa_XmlSchema_ApplicationDescription_DictionaryFragment,8302,Variable -OpcUa_XmlSchema_EndpointDescription,8303,Variable -OpcUa_XmlSchema_EndpointDescription_DataTypeVersion,8304,Variable -OpcUa_XmlSchema_EndpointDescription_DictionaryFragment,8305,Variable -OpcUa_XmlSchema_UserIdentityToken,8306,Variable -OpcUa_XmlSchema_UserIdentityToken_DataTypeVersion,8307,Variable -OpcUa_XmlSchema_UserIdentityToken_DictionaryFragment,8308,Variable -OpcUa_XmlSchema_AnonymousIdentityToken,8309,Variable -OpcUa_XmlSchema_AnonymousIdentityToken_DataTypeVersion,8310,Variable -OpcUa_XmlSchema_AnonymousIdentityToken_DictionaryFragment,8311,Variable -OpcUa_XmlSchema_UserNameIdentityToken,8312,Variable -OpcUa_XmlSchema_UserNameIdentityToken_DataTypeVersion,8313,Variable -OpcUa_XmlSchema_UserNameIdentityToken_DictionaryFragment,8314,Variable -OpcUa_XmlSchema_X509IdentityToken,8315,Variable -OpcUa_XmlSchema_X509IdentityToken_DataTypeVersion,8316,Variable -OpcUa_XmlSchema_X509IdentityToken_DictionaryFragment,8317,Variable -OpcUa_XmlSchema_IssuedIdentityToken,8318,Variable -OpcUa_XmlSchema_IssuedIdentityToken_DataTypeVersion,8319,Variable -OpcUa_XmlSchema_IssuedIdentityToken_DictionaryFragment,8320,Variable -OpcUa_XmlSchema_EndpointConfiguration,8321,Variable -OpcUa_XmlSchema_EndpointConfiguration_DataTypeVersion,8322,Variable -OpcUa_XmlSchema_EndpointConfiguration_DictionaryFragment,8323,Variable -OpcUa_XmlSchema_SupportedProfile,8324,Variable -OpcUa_XmlSchema_SupportedProfile_DataTypeVersion,8325,Variable -OpcUa_XmlSchema_SupportedProfile_DictionaryFragment,8326,Variable -OpcUa_XmlSchema_BuildInfo,8327,Variable -OpcUa_XmlSchema_BuildInfo_DataTypeVersion,8328,Variable -OpcUa_XmlSchema_BuildInfo_DictionaryFragment,8329,Variable -OpcUa_XmlSchema_SoftwareCertificate,8330,Variable -OpcUa_XmlSchema_SoftwareCertificate_DataTypeVersion,8331,Variable -OpcUa_XmlSchema_SoftwareCertificate_DictionaryFragment,8332,Variable -OpcUa_XmlSchema_SignedSoftwareCertificate,8333,Variable -OpcUa_XmlSchema_SignedSoftwareCertificate_DataTypeVersion,8334,Variable -OpcUa_XmlSchema_SignedSoftwareCertificate_DictionaryFragment,8335,Variable -OpcUa_XmlSchema_AddNodesItem,8363,Variable -OpcUa_XmlSchema_AddNodesItem_DataTypeVersion,8364,Variable -OpcUa_XmlSchema_AddNodesItem_DictionaryFragment,8365,Variable -OpcUa_XmlSchema_AddReferencesItem,8366,Variable -OpcUa_XmlSchema_AddReferencesItem_DataTypeVersion,8367,Variable -OpcUa_XmlSchema_AddReferencesItem_DictionaryFragment,8368,Variable -OpcUa_XmlSchema_DeleteNodesItem,8369,Variable -OpcUa_XmlSchema_DeleteNodesItem_DataTypeVersion,8370,Variable -OpcUa_XmlSchema_DeleteNodesItem_DictionaryFragment,8371,Variable -OpcUa_XmlSchema_DeleteReferencesItem,8372,Variable -OpcUa_XmlSchema_DeleteReferencesItem_DataTypeVersion,8373,Variable -OpcUa_XmlSchema_DeleteReferencesItem_DictionaryFragment,8374,Variable -OpcUa_XmlSchema_RegisteredServer,8417,Variable -OpcUa_XmlSchema_RegisteredServer_DataTypeVersion,8418,Variable -OpcUa_XmlSchema_RegisteredServer_DictionaryFragment,8419,Variable -OpcUa_XmlSchema_ContentFilterElement,8564,Variable -OpcUa_XmlSchema_ContentFilterElement_DataTypeVersion,8565,Variable -OpcUa_XmlSchema_ContentFilterElement_DictionaryFragment,8566,Variable -OpcUa_XmlSchema_ContentFilter,8567,Variable -OpcUa_XmlSchema_ContentFilter_DataTypeVersion,8568,Variable -OpcUa_XmlSchema_ContentFilter_DictionaryFragment,8569,Variable -OpcUa_XmlSchema_FilterOperand,8570,Variable -OpcUa_XmlSchema_FilterOperand_DataTypeVersion,8571,Variable -OpcUa_XmlSchema_FilterOperand_DictionaryFragment,8572,Variable -OpcUa_XmlSchema_ElementOperand,8573,Variable -OpcUa_XmlSchema_ElementOperand_DataTypeVersion,8574,Variable -OpcUa_XmlSchema_ElementOperand_DictionaryFragment,8575,Variable -OpcUa_XmlSchema_LiteralOperand,8576,Variable -OpcUa_XmlSchema_LiteralOperand_DataTypeVersion,8577,Variable -OpcUa_XmlSchema_LiteralOperand_DictionaryFragment,8578,Variable -OpcUa_XmlSchema_AttributeOperand,8579,Variable -OpcUa_XmlSchema_AttributeOperand_DataTypeVersion,8580,Variable -OpcUa_XmlSchema_AttributeOperand_DictionaryFragment,8581,Variable -OpcUa_XmlSchema_SimpleAttributeOperand,8582,Variable -OpcUa_XmlSchema_SimpleAttributeOperand_DataTypeVersion,8583,Variable -OpcUa_XmlSchema_SimpleAttributeOperand_DictionaryFragment,8584,Variable -OpcUa_XmlSchema_HistoryEvent,8639,Variable -OpcUa_XmlSchema_HistoryEvent_DataTypeVersion,8640,Variable -OpcUa_XmlSchema_HistoryEvent_DictionaryFragment,8641,Variable -OpcUa_XmlSchema_MonitoringFilter,8702,Variable -OpcUa_XmlSchema_MonitoringFilter_DataTypeVersion,8703,Variable -OpcUa_XmlSchema_MonitoringFilter_DictionaryFragment,8704,Variable -OpcUa_XmlSchema_EventFilter,8708,Variable -OpcUa_XmlSchema_EventFilter_DataTypeVersion,8709,Variable -OpcUa_XmlSchema_EventFilter_DictionaryFragment,8710,Variable -OpcUa_XmlSchema_AggregateConfiguration,8711,Variable -OpcUa_XmlSchema_AggregateConfiguration_DataTypeVersion,8712,Variable -OpcUa_XmlSchema_AggregateConfiguration_DictionaryFragment,8713,Variable -OpcUa_XmlSchema_HistoryEventFieldList,8807,Variable -OpcUa_XmlSchema_HistoryEventFieldList_DataTypeVersion,8808,Variable -OpcUa_XmlSchema_HistoryEventFieldList_DictionaryFragment,8809,Variable -OpcUa_XmlSchema_RedundantServerDataType,8843,Variable -OpcUa_XmlSchema_RedundantServerDataType_DataTypeVersion,8844,Variable -OpcUa_XmlSchema_RedundantServerDataType_DictionaryFragment,8845,Variable -OpcUa_XmlSchema_SamplingIntervalDiagnosticsDataType,8846,Variable -OpcUa_XmlSchema_SamplingIntervalDiagnosticsDataType_DataTypeVersion,8847,Variable -OpcUa_XmlSchema_SamplingIntervalDiagnosticsDataType_DictionaryFragment,8848,Variable -OpcUa_XmlSchema_ServerDiagnosticsSummaryDataType,8849,Variable -OpcUa_XmlSchema_ServerDiagnosticsSummaryDataType_DataTypeVersion,8850,Variable -OpcUa_XmlSchema_ServerDiagnosticsSummaryDataType_DictionaryFragment,8851,Variable -OpcUa_XmlSchema_ServerStatusDataType,8852,Variable -OpcUa_XmlSchema_ServerStatusDataType_DataTypeVersion,8853,Variable -OpcUa_XmlSchema_ServerStatusDataType_DictionaryFragment,8854,Variable -OpcUa_XmlSchema_SessionDiagnosticsDataType,8855,Variable -OpcUa_XmlSchema_SessionDiagnosticsDataType_DataTypeVersion,8856,Variable -OpcUa_XmlSchema_SessionDiagnosticsDataType_DictionaryFragment,8857,Variable -OpcUa_XmlSchema_SessionSecurityDiagnosticsDataType,8858,Variable -OpcUa_XmlSchema_SessionSecurityDiagnosticsDataType_DataTypeVersion,8859,Variable -OpcUa_XmlSchema_SessionSecurityDiagnosticsDataType_DictionaryFragment,8860,Variable -OpcUa_XmlSchema_ServiceCounterDataType,8861,Variable -OpcUa_XmlSchema_ServiceCounterDataType_DataTypeVersion,8862,Variable -OpcUa_XmlSchema_ServiceCounterDataType_DictionaryFragment,8863,Variable -OpcUa_XmlSchema_SubscriptionDiagnosticsDataType,8864,Variable -OpcUa_XmlSchema_SubscriptionDiagnosticsDataType_DataTypeVersion,8865,Variable -OpcUa_XmlSchema_SubscriptionDiagnosticsDataType_DictionaryFragment,8866,Variable -OpcUa_XmlSchema_ModelChangeStructureDataType,8867,Variable -OpcUa_XmlSchema_ModelChangeStructureDataType_DataTypeVersion,8868,Variable -OpcUa_XmlSchema_ModelChangeStructureDataType_DictionaryFragment,8869,Variable -OpcUa_XmlSchema_SemanticChangeStructureDataType,8870,Variable -OpcUa_XmlSchema_SemanticChangeStructureDataType_DataTypeVersion,8871,Variable -OpcUa_XmlSchema_SemanticChangeStructureDataType_DictionaryFragment,8872,Variable -OpcUa_XmlSchema_Range,8873,Variable -OpcUa_XmlSchema_Range_DataTypeVersion,8874,Variable -OpcUa_XmlSchema_Range_DictionaryFragment,8875,Variable -OpcUa_XmlSchema_EUInformation,8876,Variable -OpcUa_XmlSchema_EUInformation_DataTypeVersion,8877,Variable -OpcUa_XmlSchema_EUInformation_DictionaryFragment,8878,Variable -OpcUa_XmlSchema_Annotation,8879,Variable -OpcUa_XmlSchema_Annotation_DataTypeVersion,8880,Variable -OpcUa_XmlSchema_Annotation_DictionaryFragment,8881,Variable -OpcUa_XmlSchema_ProgramDiagnosticDataType,8882,Variable -OpcUa_XmlSchema_ProgramDiagnosticDataType_DataTypeVersion,8883,Variable -OpcUa_XmlSchema_ProgramDiagnosticDataType_DictionaryFragment,8884,Variable -SubscriptionDiagnosticsType_MaxLifetimeCount,8888,Variable -SubscriptionDiagnosticsType_LatePublishRequestCount,8889,Variable -SubscriptionDiagnosticsType_CurrentKeepAliveCount,8890,Variable -SubscriptionDiagnosticsType_CurrentLifetimeCount,8891,Variable -SubscriptionDiagnosticsType_UnacknowledgedMessageCount,8892,Variable -SubscriptionDiagnosticsType_DiscardedMessageCount,8893,Variable -SubscriptionDiagnosticsType_MonitoredItemCount,8894,Variable -SubscriptionDiagnosticsType_DisabledMonitoredItemCount,8895,Variable -SubscriptionDiagnosticsType_MonitoringQueueOverflowCount,8896,Variable -SubscriptionDiagnosticsType_NextSequenceNumber,8897,Variable -SessionDiagnosticsObjectType_SessionDiagnostics_TotalRequestCount,8898,Variable -SessionDiagnosticsVariableType_TotalRequestCount,8900,Variable -SubscriptionDiagnosticsType_EventQueueOverFlowCount,8902,Variable -TimeZoneDataType,8912,DataType -TimeZoneDataType_Encoding_DefaultXml,8913,Object -OpcUa_BinarySchema_TimeZoneDataType,8914,Variable -OpcUa_BinarySchema_TimeZoneDataType_DataTypeVersion,8915,Variable -OpcUa_BinarySchema_TimeZoneDataType_DictionaryFragment,8916,Variable -TimeZoneDataType_Encoding_DefaultBinary,8917,Object -OpcUa_XmlSchema_TimeZoneDataType,8918,Variable -OpcUa_XmlSchema_TimeZoneDataType_DataTypeVersion,8919,Variable -OpcUa_XmlSchema_TimeZoneDataType_DictionaryFragment,8920,Variable -AuditConditionRespondEventType,8927,ObjectType -AuditConditionRespondEventType_EventId,8928,Variable -AuditConditionRespondEventType_EventType,8929,Variable -AuditConditionRespondEventType_SourceNode,8930,Variable -AuditConditionRespondEventType_SourceName,8931,Variable -AuditConditionRespondEventType_Time,8932,Variable -AuditConditionRespondEventType_ReceiveTime,8933,Variable -AuditConditionRespondEventType_LocalTime,8934,Variable -AuditConditionRespondEventType_Message,8935,Variable -AuditConditionRespondEventType_Severity,8936,Variable -AuditConditionRespondEventType_ActionTimeStamp,8937,Variable -AuditConditionRespondEventType_Status,8938,Variable -AuditConditionRespondEventType_ServerId,8939,Variable -AuditConditionRespondEventType_ClientAuditEntryId,8940,Variable -AuditConditionRespondEventType_ClientUserId,8941,Variable -AuditConditionRespondEventType_MethodId,8942,Variable -AuditConditionRespondEventType_InputArguments,8943,Variable -AuditConditionAcknowledgeEventType,8944,ObjectType -AuditConditionAcknowledgeEventType_EventId,8945,Variable -AuditConditionAcknowledgeEventType_EventType,8946,Variable -AuditConditionAcknowledgeEventType_SourceNode,8947,Variable -AuditConditionAcknowledgeEventType_SourceName,8948,Variable -AuditConditionAcknowledgeEventType_Time,8949,Variable -AuditConditionAcknowledgeEventType_ReceiveTime,8950,Variable -AuditConditionAcknowledgeEventType_LocalTime,8951,Variable -AuditConditionAcknowledgeEventType_Message,8952,Variable -AuditConditionAcknowledgeEventType_Severity,8953,Variable -AuditConditionAcknowledgeEventType_ActionTimeStamp,8954,Variable -AuditConditionAcknowledgeEventType_Status,8955,Variable -AuditConditionAcknowledgeEventType_ServerId,8956,Variable -AuditConditionAcknowledgeEventType_ClientAuditEntryId,8957,Variable -AuditConditionAcknowledgeEventType_ClientUserId,8958,Variable -AuditConditionAcknowledgeEventType_MethodId,8959,Variable -AuditConditionAcknowledgeEventType_InputArguments,8960,Variable -AuditConditionConfirmEventType,8961,ObjectType -AuditConditionConfirmEventType_EventId,8962,Variable -AuditConditionConfirmEventType_EventType,8963,Variable -AuditConditionConfirmEventType_SourceNode,8964,Variable -AuditConditionConfirmEventType_SourceName,8965,Variable -AuditConditionConfirmEventType_Time,8966,Variable -AuditConditionConfirmEventType_ReceiveTime,8967,Variable -AuditConditionConfirmEventType_LocalTime,8968,Variable -AuditConditionConfirmEventType_Message,8969,Variable -AuditConditionConfirmEventType_Severity,8970,Variable -AuditConditionConfirmEventType_ActionTimeStamp,8971,Variable -AuditConditionConfirmEventType_Status,8972,Variable -AuditConditionConfirmEventType_ServerId,8973,Variable -AuditConditionConfirmEventType_ClientAuditEntryId,8974,Variable -AuditConditionConfirmEventType_ClientUserId,8975,Variable -AuditConditionConfirmEventType_MethodId,8976,Variable -AuditConditionConfirmEventType_InputArguments,8977,Variable -TwoStateVariableType,8995,VariableType -TwoStateVariableType_Id,8996,Variable -TwoStateVariableType_Name,8997,Variable -TwoStateVariableType_Number,8998,Variable -TwoStateVariableType_EffectiveDisplayName,8999,Variable -TwoStateVariableType_TransitionTime,9000,Variable -TwoStateVariableType_EffectiveTransitionTime,9001,Variable -ConditionVariableType,9002,VariableType -ConditionVariableType_SourceTimestamp,9003,Variable -HasTrueSubState,9004,ReferenceType -HasFalseSubState,9005,ReferenceType -HasCondition,9006,ReferenceType -ConditionRefreshMethodType,9007,Method -ConditionRefreshMethodType_InputArguments,9008,Variable -ConditionType_ConditionName,9009,Variable -ConditionType_BranchId,9010,Variable -ConditionType_EnabledState,9011,Variable -ConditionType_EnabledState_Id,9012,Variable -ConditionType_EnabledState_Name,9013,Variable -ConditionType_EnabledState_Number,9014,Variable -ConditionType_EnabledState_EffectiveDisplayName,9015,Variable -ConditionType_EnabledState_TransitionTime,9016,Variable -ConditionType_EnabledState_EffectiveTransitionTime,9017,Variable -ConditionType_EnabledState_TrueState,9018,Variable -ConditionType_EnabledState_FalseState,9019,Variable -ConditionType_Quality,9020,Variable -ConditionType_Quality_SourceTimestamp,9021,Variable -ConditionType_LastSeverity,9022,Variable -ConditionType_LastSeverity_SourceTimestamp,9023,Variable -ConditionType_Comment,9024,Variable -ConditionType_Comment_SourceTimestamp,9025,Variable -ConditionType_ClientUserId,9026,Variable -ConditionType_Enable,9027,Method -ConditionType_Disable,9028,Method -ConditionType_AddComment,9029,Method -ConditionType_AddComment_InputArguments,9030,Variable -DialogResponseMethodType,9031,Method -DialogResponseMethodType_InputArguments,9032,Variable -DialogConditionType_ConditionName,9033,Variable -DialogConditionType_BranchId,9034,Variable -DialogConditionType_EnabledState,9035,Variable -DialogConditionType_EnabledState_Id,9036,Variable -DialogConditionType_EnabledState_Name,9037,Variable -DialogConditionType_EnabledState_Number,9038,Variable -DialogConditionType_EnabledState_EffectiveDisplayName,9039,Variable -DialogConditionType_EnabledState_TransitionTime,9040,Variable -DialogConditionType_EnabledState_EffectiveTransitionTime,9041,Variable -DialogConditionType_EnabledState_TrueState,9042,Variable -DialogConditionType_EnabledState_FalseState,9043,Variable -DialogConditionType_Quality,9044,Variable -DialogConditionType_Quality_SourceTimestamp,9045,Variable -DialogConditionType_LastSeverity,9046,Variable -DialogConditionType_LastSeverity_SourceTimestamp,9047,Variable -DialogConditionType_Comment,9048,Variable -DialogConditionType_Comment_SourceTimestamp,9049,Variable -DialogConditionType_ClientUserId,9050,Variable -DialogConditionType_Enable,9051,Method -DialogConditionType_Disable,9052,Method -DialogConditionType_AddComment,9053,Method -DialogConditionType_AddComment_InputArguments,9054,Variable -DialogConditionType_DialogState,9055,Variable -DialogConditionType_DialogState_Id,9056,Variable -DialogConditionType_DialogState_Name,9057,Variable -DialogConditionType_DialogState_Number,9058,Variable -DialogConditionType_DialogState_EffectiveDisplayName,9059,Variable -DialogConditionType_DialogState_TransitionTime,9060,Variable -DialogConditionType_DialogState_EffectiveTransitionTime,9061,Variable -DialogConditionType_DialogState_TrueState,9062,Variable -DialogConditionType_DialogState_FalseState,9063,Variable -DialogConditionType_ResponseOptionSet,9064,Variable -DialogConditionType_DefaultResponse,9065,Variable -DialogConditionType_OkResponse,9066,Variable -DialogConditionType_CancelResponse,9067,Variable -DialogConditionType_LastResponse,9068,Variable -DialogConditionType_Respond,9069,Method -DialogConditionType_Respond_InputArguments,9070,Variable -AcknowledgeableConditionType_ConditionName,9071,Variable -AcknowledgeableConditionType_BranchId,9072,Variable -AcknowledgeableConditionType_EnabledState,9073,Variable -AcknowledgeableConditionType_EnabledState_Id,9074,Variable -AcknowledgeableConditionType_EnabledState_Name,9075,Variable -AcknowledgeableConditionType_EnabledState_Number,9076,Variable -AcknowledgeableConditionType_EnabledState_EffectiveDisplayName,9077,Variable -AcknowledgeableConditionType_EnabledState_TransitionTime,9078,Variable -AcknowledgeableConditionType_EnabledState_EffectiveTransitionTime,9079,Variable -AcknowledgeableConditionType_EnabledState_TrueState,9080,Variable -AcknowledgeableConditionType_EnabledState_FalseState,9081,Variable -AcknowledgeableConditionType_Quality,9082,Variable -AcknowledgeableConditionType_Quality_SourceTimestamp,9083,Variable -AcknowledgeableConditionType_LastSeverity,9084,Variable -AcknowledgeableConditionType_LastSeverity_SourceTimestamp,9085,Variable -AcknowledgeableConditionType_Comment,9086,Variable -AcknowledgeableConditionType_Comment_SourceTimestamp,9087,Variable -AcknowledgeableConditionType_ClientUserId,9088,Variable -AcknowledgeableConditionType_Enable,9089,Method -AcknowledgeableConditionType_Disable,9090,Method -AcknowledgeableConditionType_AddComment,9091,Method -AcknowledgeableConditionType_AddComment_InputArguments,9092,Variable -AcknowledgeableConditionType_AckedState,9093,Variable -AcknowledgeableConditionType_AckedState_Id,9094,Variable -AcknowledgeableConditionType_AckedState_Name,9095,Variable -AcknowledgeableConditionType_AckedState_Number,9096,Variable -AcknowledgeableConditionType_AckedState_EffectiveDisplayName,9097,Variable -AcknowledgeableConditionType_AckedState_TransitionTime,9098,Variable -AcknowledgeableConditionType_AckedState_EffectiveTransitionTime,9099,Variable -AcknowledgeableConditionType_AckedState_TrueState,9100,Variable -AcknowledgeableConditionType_AckedState_FalseState,9101,Variable -AcknowledgeableConditionType_ConfirmedState,9102,Variable -AcknowledgeableConditionType_ConfirmedState_Id,9103,Variable -AcknowledgeableConditionType_ConfirmedState_Name,9104,Variable -AcknowledgeableConditionType_ConfirmedState_Number,9105,Variable -AcknowledgeableConditionType_ConfirmedState_EffectiveDisplayName,9106,Variable -AcknowledgeableConditionType_ConfirmedState_TransitionTime,9107,Variable -AcknowledgeableConditionType_ConfirmedState_EffectiveTransitionTime,9108,Variable -AcknowledgeableConditionType_ConfirmedState_TrueState,9109,Variable -AcknowledgeableConditionType_ConfirmedState_FalseState,9110,Variable -AcknowledgeableConditionType_Acknowledge,9111,Method -AcknowledgeableConditionType_Acknowledge_InputArguments,9112,Variable -AcknowledgeableConditionType_Confirm,9113,Method -AcknowledgeableConditionType_Confirm_InputArguments,9114,Variable -ShelvedStateMachineType_UnshelveTime,9115,Variable -AlarmConditionType_ConditionName,9116,Variable -AlarmConditionType_BranchId,9117,Variable -AlarmConditionType_EnabledState,9118,Variable -AlarmConditionType_EnabledState_Id,9119,Variable -AlarmConditionType_EnabledState_Name,9120,Variable -AlarmConditionType_EnabledState_Number,9121,Variable -AlarmConditionType_EnabledState_EffectiveDisplayName,9122,Variable -AlarmConditionType_EnabledState_TransitionTime,9123,Variable -AlarmConditionType_EnabledState_EffectiveTransitionTime,9124,Variable -AlarmConditionType_EnabledState_TrueState,9125,Variable -AlarmConditionType_EnabledState_FalseState,9126,Variable -AlarmConditionType_Quality,9127,Variable -AlarmConditionType_Quality_SourceTimestamp,9128,Variable -AlarmConditionType_LastSeverity,9129,Variable -AlarmConditionType_LastSeverity_SourceTimestamp,9130,Variable -AlarmConditionType_Comment,9131,Variable -AlarmConditionType_Comment_SourceTimestamp,9132,Variable -AlarmConditionType_ClientUserId,9133,Variable -AlarmConditionType_Enable,9134,Method -AlarmConditionType_Disable,9135,Method -AlarmConditionType_AddComment,9136,Method -AlarmConditionType_AddComment_InputArguments,9137,Variable -AlarmConditionType_AckedState,9138,Variable -AlarmConditionType_AckedState_Id,9139,Variable -AlarmConditionType_AckedState_Name,9140,Variable -AlarmConditionType_AckedState_Number,9141,Variable -AlarmConditionType_AckedState_EffectiveDisplayName,9142,Variable -AlarmConditionType_AckedState_TransitionTime,9143,Variable -AlarmConditionType_AckedState_EffectiveTransitionTime,9144,Variable -AlarmConditionType_AckedState_TrueState,9145,Variable -AlarmConditionType_AckedState_FalseState,9146,Variable -AlarmConditionType_ConfirmedState,9147,Variable -AlarmConditionType_ConfirmedState_Id,9148,Variable -AlarmConditionType_ConfirmedState_Name,9149,Variable -AlarmConditionType_ConfirmedState_Number,9150,Variable -AlarmConditionType_ConfirmedState_EffectiveDisplayName,9151,Variable -AlarmConditionType_ConfirmedState_TransitionTime,9152,Variable -AlarmConditionType_ConfirmedState_EffectiveTransitionTime,9153,Variable -AlarmConditionType_ConfirmedState_TrueState,9154,Variable -AlarmConditionType_ConfirmedState_FalseState,9155,Variable -AlarmConditionType_Acknowledge,9156,Method -AlarmConditionType_Acknowledge_InputArguments,9157,Variable -AlarmConditionType_Confirm,9158,Method -AlarmConditionType_Confirm_InputArguments,9159,Variable -AlarmConditionType_ActiveState,9160,Variable -AlarmConditionType_ActiveState_Id,9161,Variable -AlarmConditionType_ActiveState_Name,9162,Variable -AlarmConditionType_ActiveState_Number,9163,Variable -AlarmConditionType_ActiveState_EffectiveDisplayName,9164,Variable -AlarmConditionType_ActiveState_TransitionTime,9165,Variable -AlarmConditionType_ActiveState_EffectiveTransitionTime,9166,Variable -AlarmConditionType_ActiveState_TrueState,9167,Variable -AlarmConditionType_ActiveState_FalseState,9168,Variable -AlarmConditionType_SuppressedState,9169,Variable -AlarmConditionType_SuppressedState_Id,9170,Variable -AlarmConditionType_SuppressedState_Name,9171,Variable -AlarmConditionType_SuppressedState_Number,9172,Variable -AlarmConditionType_SuppressedState_EffectiveDisplayName,9173,Variable -AlarmConditionType_SuppressedState_TransitionTime,9174,Variable -AlarmConditionType_SuppressedState_EffectiveTransitionTime,9175,Variable -AlarmConditionType_SuppressedState_TrueState,9176,Variable -AlarmConditionType_SuppressedState_FalseState,9177,Variable -AlarmConditionType_ShelvingState,9178,Object -AlarmConditionType_ShelvingState_CurrentState,9179,Variable -AlarmConditionType_ShelvingState_CurrentState_Id,9180,Variable -AlarmConditionType_ShelvingState_CurrentState_Name,9181,Variable -AlarmConditionType_ShelvingState_CurrentState_Number,9182,Variable -AlarmConditionType_ShelvingState_CurrentState_EffectiveDisplayName,9183,Variable -AlarmConditionType_ShelvingState_LastTransition,9184,Variable -AlarmConditionType_ShelvingState_LastTransition_Id,9185,Variable -AlarmConditionType_ShelvingState_LastTransition_Name,9186,Variable -AlarmConditionType_ShelvingState_LastTransition_Number,9187,Variable -AlarmConditionType_ShelvingState_LastTransition_TransitionTime,9188,Variable -AlarmConditionType_ShelvingState_UnshelveTime,9189,Variable -AlarmConditionType_ShelvingState_Unshelve,9211,Method -AlarmConditionType_ShelvingState_OneShotShelve,9212,Method -AlarmConditionType_ShelvingState_TimedShelve,9213,Method -AlarmConditionType_ShelvingState_TimedShelve_InputArguments,9214,Variable -AlarmConditionType_SuppressedOrShelved,9215,Variable -AlarmConditionType_MaxTimeShelved,9216,Variable -LimitAlarmType_ConditionName,9217,Variable -LimitAlarmType_BranchId,9218,Variable -LimitAlarmType_EnabledState,9219,Variable -LimitAlarmType_EnabledState_Id,9220,Variable -LimitAlarmType_EnabledState_Name,9221,Variable -LimitAlarmType_EnabledState_Number,9222,Variable -LimitAlarmType_EnabledState_EffectiveDisplayName,9223,Variable -LimitAlarmType_EnabledState_TransitionTime,9224,Variable -LimitAlarmType_EnabledState_EffectiveTransitionTime,9225,Variable -LimitAlarmType_EnabledState_TrueState,9226,Variable -LimitAlarmType_EnabledState_FalseState,9227,Variable -LimitAlarmType_Quality,9228,Variable -LimitAlarmType_Quality_SourceTimestamp,9229,Variable -LimitAlarmType_LastSeverity,9230,Variable -LimitAlarmType_LastSeverity_SourceTimestamp,9231,Variable -LimitAlarmType_Comment,9232,Variable -LimitAlarmType_Comment_SourceTimestamp,9233,Variable -LimitAlarmType_ClientUserId,9234,Variable -LimitAlarmType_Enable,9235,Method -LimitAlarmType_Disable,9236,Method -LimitAlarmType_AddComment,9237,Method -LimitAlarmType_AddComment_InputArguments,9238,Variable -LimitAlarmType_AckedState,9239,Variable -LimitAlarmType_AckedState_Id,9240,Variable -LimitAlarmType_AckedState_Name,9241,Variable -LimitAlarmType_AckedState_Number,9242,Variable -LimitAlarmType_AckedState_EffectiveDisplayName,9243,Variable -LimitAlarmType_AckedState_TransitionTime,9244,Variable -LimitAlarmType_AckedState_EffectiveTransitionTime,9245,Variable -LimitAlarmType_AckedState_TrueState,9246,Variable -LimitAlarmType_AckedState_FalseState,9247,Variable -LimitAlarmType_ConfirmedState,9248,Variable -LimitAlarmType_ConfirmedState_Id,9249,Variable -LimitAlarmType_ConfirmedState_Name,9250,Variable -LimitAlarmType_ConfirmedState_Number,9251,Variable -LimitAlarmType_ConfirmedState_EffectiveDisplayName,9252,Variable -LimitAlarmType_ConfirmedState_TransitionTime,9253,Variable -LimitAlarmType_ConfirmedState_EffectiveTransitionTime,9254,Variable -LimitAlarmType_ConfirmedState_TrueState,9255,Variable -LimitAlarmType_ConfirmedState_FalseState,9256,Variable -LimitAlarmType_Acknowledge,9257,Method -LimitAlarmType_Acknowledge_InputArguments,9258,Variable -LimitAlarmType_Confirm,9259,Method -LimitAlarmType_Confirm_InputArguments,9260,Variable -LimitAlarmType_ActiveState,9261,Variable -LimitAlarmType_ActiveState_Id,9262,Variable -LimitAlarmType_ActiveState_Name,9263,Variable -LimitAlarmType_ActiveState_Number,9264,Variable -LimitAlarmType_ActiveState_EffectiveDisplayName,9265,Variable -LimitAlarmType_ActiveState_TransitionTime,9266,Variable -LimitAlarmType_ActiveState_EffectiveTransitionTime,9267,Variable -LimitAlarmType_ActiveState_TrueState,9268,Variable -LimitAlarmType_ActiveState_FalseState,9269,Variable -LimitAlarmType_SuppressedState,9270,Variable -LimitAlarmType_SuppressedState_Id,9271,Variable -LimitAlarmType_SuppressedState_Name,9272,Variable -LimitAlarmType_SuppressedState_Number,9273,Variable -LimitAlarmType_SuppressedState_EffectiveDisplayName,9274,Variable -LimitAlarmType_SuppressedState_TransitionTime,9275,Variable -LimitAlarmType_SuppressedState_EffectiveTransitionTime,9276,Variable -LimitAlarmType_SuppressedState_TrueState,9277,Variable -LimitAlarmType_SuppressedState_FalseState,9278,Variable -LimitAlarmType_ShelvingState,9279,Object -LimitAlarmType_ShelvingState_CurrentState,9280,Variable -LimitAlarmType_ShelvingState_CurrentState_Id,9281,Variable -LimitAlarmType_ShelvingState_CurrentState_Name,9282,Variable -LimitAlarmType_ShelvingState_CurrentState_Number,9283,Variable -LimitAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,9284,Variable -LimitAlarmType_ShelvingState_LastTransition,9285,Variable -LimitAlarmType_ShelvingState_LastTransition_Id,9286,Variable -LimitAlarmType_ShelvingState_LastTransition_Name,9287,Variable -LimitAlarmType_ShelvingState_LastTransition_Number,9288,Variable -LimitAlarmType_ShelvingState_LastTransition_TransitionTime,9289,Variable -LimitAlarmType_ShelvingState_UnshelveTime,9290,Variable -LimitAlarmType_ShelvingState_Unshelve,9312,Method -LimitAlarmType_ShelvingState_OneShotShelve,9313,Method -LimitAlarmType_ShelvingState_TimedShelve,9314,Method -LimitAlarmType_ShelvingState_TimedShelve_InputArguments,9315,Variable -LimitAlarmType_SuppressedOrShelved,9316,Variable -LimitAlarmType_MaxTimeShelved,9317,Variable -ExclusiveLimitStateMachineType,9318,ObjectType -ExclusiveLimitStateMachineType_CurrentState,9319,Variable -ExclusiveLimitStateMachineType_CurrentState_Id,9320,Variable -ExclusiveLimitStateMachineType_CurrentState_Name,9321,Variable -ExclusiveLimitStateMachineType_CurrentState_Number,9322,Variable -ExclusiveLimitStateMachineType_CurrentState_EffectiveDisplayName,9323,Variable -ExclusiveLimitStateMachineType_LastTransition,9324,Variable -ExclusiveLimitStateMachineType_LastTransition_Id,9325,Variable -ExclusiveLimitStateMachineType_LastTransition_Name,9326,Variable -ExclusiveLimitStateMachineType_LastTransition_Number,9327,Variable -ExclusiveLimitStateMachineType_LastTransition_TransitionTime,9328,Variable -ExclusiveLimitStateMachineType_HighHigh,9329,Object -ExclusiveLimitStateMachineType_HighHigh_StateNumber,9330,Variable -ExclusiveLimitStateMachineType_High,9331,Object -ExclusiveLimitStateMachineType_High_StateNumber,9332,Variable -ExclusiveLimitStateMachineType_Low,9333,Object -ExclusiveLimitStateMachineType_Low_StateNumber,9334,Variable -ExclusiveLimitStateMachineType_LowLow,9335,Object -ExclusiveLimitStateMachineType_LowLow_StateNumber,9336,Variable -ExclusiveLimitStateMachineType_LowLowToLow,9337,Object -ExclusiveLimitStateMachineType_LowToLowLow,9338,Object -ExclusiveLimitStateMachineType_HighHighToHigh,9339,Object -ExclusiveLimitStateMachineType_HighToHighHigh,9340,Object -ExclusiveLimitAlarmType,9341,ObjectType -ExclusiveLimitAlarmType_EventId,9342,Variable -ExclusiveLimitAlarmType_EventType,9343,Variable -ExclusiveLimitAlarmType_SourceNode,9344,Variable -ExclusiveLimitAlarmType_SourceName,9345,Variable -ExclusiveLimitAlarmType_Time,9346,Variable -ExclusiveLimitAlarmType_ReceiveTime,9347,Variable -ExclusiveLimitAlarmType_LocalTime,9348,Variable -ExclusiveLimitAlarmType_Message,9349,Variable -ExclusiveLimitAlarmType_Severity,9350,Variable -ExclusiveLimitAlarmType_ConditionName,9351,Variable -ExclusiveLimitAlarmType_BranchId,9352,Variable -ExclusiveLimitAlarmType_Retain,9353,Variable -ExclusiveLimitAlarmType_EnabledState,9354,Variable -ExclusiveLimitAlarmType_EnabledState_Id,9355,Variable -ExclusiveLimitAlarmType_EnabledState_Name,9356,Variable -ExclusiveLimitAlarmType_EnabledState_Number,9357,Variable -ExclusiveLimitAlarmType_EnabledState_EffectiveDisplayName,9358,Variable -ExclusiveLimitAlarmType_EnabledState_TransitionTime,9359,Variable -ExclusiveLimitAlarmType_EnabledState_EffectiveTransitionTime,9360,Variable -ExclusiveLimitAlarmType_EnabledState_TrueState,9361,Variable -ExclusiveLimitAlarmType_EnabledState_FalseState,9362,Variable -ExclusiveLimitAlarmType_Quality,9363,Variable -ExclusiveLimitAlarmType_Quality_SourceTimestamp,9364,Variable -ExclusiveLimitAlarmType_LastSeverity,9365,Variable -ExclusiveLimitAlarmType_LastSeverity_SourceTimestamp,9366,Variable -ExclusiveLimitAlarmType_Comment,9367,Variable -ExclusiveLimitAlarmType_Comment_SourceTimestamp,9368,Variable -ExclusiveLimitAlarmType_ClientUserId,9369,Variable -ExclusiveLimitAlarmType_Enable,9370,Method -ExclusiveLimitAlarmType_Disable,9371,Method -ExclusiveLimitAlarmType_AddComment,9372,Method -ExclusiveLimitAlarmType_AddComment_InputArguments,9373,Variable -ExclusiveLimitAlarmType_ConditionRefresh,9374,Method -ExclusiveLimitAlarmType_ConditionRefresh_InputArguments,9375,Variable -ExclusiveLimitAlarmType_AckedState,9376,Variable -ExclusiveLimitAlarmType_AckedState_Id,9377,Variable -ExclusiveLimitAlarmType_AckedState_Name,9378,Variable -ExclusiveLimitAlarmType_AckedState_Number,9379,Variable -ExclusiveLimitAlarmType_AckedState_EffectiveDisplayName,9380,Variable -ExclusiveLimitAlarmType_AckedState_TransitionTime,9381,Variable -ExclusiveLimitAlarmType_AckedState_EffectiveTransitionTime,9382,Variable -ExclusiveLimitAlarmType_AckedState_TrueState,9383,Variable -ExclusiveLimitAlarmType_AckedState_FalseState,9384,Variable -ExclusiveLimitAlarmType_ConfirmedState,9385,Variable -ExclusiveLimitAlarmType_ConfirmedState_Id,9386,Variable -ExclusiveLimitAlarmType_ConfirmedState_Name,9387,Variable -ExclusiveLimitAlarmType_ConfirmedState_Number,9388,Variable -ExclusiveLimitAlarmType_ConfirmedState_EffectiveDisplayName,9389,Variable -ExclusiveLimitAlarmType_ConfirmedState_TransitionTime,9390,Variable -ExclusiveLimitAlarmType_ConfirmedState_EffectiveTransitionTime,9391,Variable -ExclusiveLimitAlarmType_ConfirmedState_TrueState,9392,Variable -ExclusiveLimitAlarmType_ConfirmedState_FalseState,9393,Variable -ExclusiveLimitAlarmType_Acknowledge,9394,Method -ExclusiveLimitAlarmType_Acknowledge_InputArguments,9395,Variable -ExclusiveLimitAlarmType_Confirm,9396,Method -ExclusiveLimitAlarmType_Confirm_InputArguments,9397,Variable -ExclusiveLimitAlarmType_ActiveState,9398,Variable -ExclusiveLimitAlarmType_ActiveState_Id,9399,Variable -ExclusiveLimitAlarmType_ActiveState_Name,9400,Variable -ExclusiveLimitAlarmType_ActiveState_Number,9401,Variable -ExclusiveLimitAlarmType_ActiveState_EffectiveDisplayName,9402,Variable -ExclusiveLimitAlarmType_ActiveState_TransitionTime,9403,Variable -ExclusiveLimitAlarmType_ActiveState_EffectiveTransitionTime,9404,Variable -ExclusiveLimitAlarmType_ActiveState_TrueState,9405,Variable -ExclusiveLimitAlarmType_ActiveState_FalseState,9406,Variable -ExclusiveLimitAlarmType_SuppressedState,9407,Variable -ExclusiveLimitAlarmType_SuppressedState_Id,9408,Variable -ExclusiveLimitAlarmType_SuppressedState_Name,9409,Variable -ExclusiveLimitAlarmType_SuppressedState_Number,9410,Variable -ExclusiveLimitAlarmType_SuppressedState_EffectiveDisplayName,9411,Variable -ExclusiveLimitAlarmType_SuppressedState_TransitionTime,9412,Variable -ExclusiveLimitAlarmType_SuppressedState_EffectiveTransitionTime,9413,Variable -ExclusiveLimitAlarmType_SuppressedState_TrueState,9414,Variable -ExclusiveLimitAlarmType_SuppressedState_FalseState,9415,Variable -ExclusiveLimitAlarmType_ShelvingState,9416,Object -ExclusiveLimitAlarmType_ShelvingState_CurrentState,9417,Variable -ExclusiveLimitAlarmType_ShelvingState_CurrentState_Id,9418,Variable -ExclusiveLimitAlarmType_ShelvingState_CurrentState_Name,9419,Variable -ExclusiveLimitAlarmType_ShelvingState_CurrentState_Number,9420,Variable -ExclusiveLimitAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,9421,Variable -ExclusiveLimitAlarmType_ShelvingState_LastTransition,9422,Variable -ExclusiveLimitAlarmType_ShelvingState_LastTransition_Id,9423,Variable -ExclusiveLimitAlarmType_ShelvingState_LastTransition_Name,9424,Variable -ExclusiveLimitAlarmType_ShelvingState_LastTransition_Number,9425,Variable -ExclusiveLimitAlarmType_ShelvingState_LastTransition_TransitionTime,9426,Variable -ExclusiveLimitAlarmType_ShelvingState_UnshelveTime,9427,Variable -ExclusiveLimitAlarmType_ShelvingState_Unshelve,9449,Method -ExclusiveLimitAlarmType_ShelvingState_OneShotShelve,9450,Method -ExclusiveLimitAlarmType_ShelvingState_TimedShelve,9451,Method -ExclusiveLimitAlarmType_ShelvingState_TimedShelve_InputArguments,9452,Variable -ExclusiveLimitAlarmType_SuppressedOrShelved,9453,Variable -ExclusiveLimitAlarmType_MaxTimeShelved,9454,Variable -ExclusiveLimitAlarmType_LimitState,9455,Object -ExclusiveLimitAlarmType_LimitState_CurrentState,9456,Variable -ExclusiveLimitAlarmType_LimitState_CurrentState_Id,9457,Variable -ExclusiveLimitAlarmType_LimitState_CurrentState_Name,9458,Variable -ExclusiveLimitAlarmType_LimitState_CurrentState_Number,9459,Variable -ExclusiveLimitAlarmType_LimitState_CurrentState_EffectiveDisplayName,9460,Variable -ExclusiveLimitAlarmType_LimitState_LastTransition,9461,Variable -ExclusiveLimitAlarmType_LimitState_LastTransition_Id,9462,Variable -ExclusiveLimitAlarmType_LimitState_LastTransition_Name,9463,Variable -ExclusiveLimitAlarmType_LimitState_LastTransition_Number,9464,Variable -ExclusiveLimitAlarmType_LimitState_LastTransition_TransitionTime,9465,Variable -ExclusiveLimitAlarmType_HighHighLimit,9478,Variable -ExclusiveLimitAlarmType_HighLimit,9479,Variable -ExclusiveLimitAlarmType_LowLimit,9480,Variable -ExclusiveLimitAlarmType_LowLowLimit,9481,Variable -ExclusiveLevelAlarmType,9482,ObjectType -ExclusiveLevelAlarmType_EventId,9483,Variable -ExclusiveLevelAlarmType_EventType,9484,Variable -ExclusiveLevelAlarmType_SourceNode,9485,Variable -ExclusiveLevelAlarmType_SourceName,9486,Variable -ExclusiveLevelAlarmType_Time,9487,Variable -ExclusiveLevelAlarmType_ReceiveTime,9488,Variable -ExclusiveLevelAlarmType_LocalTime,9489,Variable -ExclusiveLevelAlarmType_Message,9490,Variable -ExclusiveLevelAlarmType_Severity,9491,Variable -ExclusiveLevelAlarmType_ConditionName,9492,Variable -ExclusiveLevelAlarmType_BranchId,9493,Variable -ExclusiveLevelAlarmType_Retain,9494,Variable -ExclusiveLevelAlarmType_EnabledState,9495,Variable -ExclusiveLevelAlarmType_EnabledState_Id,9496,Variable -ExclusiveLevelAlarmType_EnabledState_Name,9497,Variable -ExclusiveLevelAlarmType_EnabledState_Number,9498,Variable -ExclusiveLevelAlarmType_EnabledState_EffectiveDisplayName,9499,Variable -ExclusiveLevelAlarmType_EnabledState_TransitionTime,9500,Variable -ExclusiveLevelAlarmType_EnabledState_EffectiveTransitionTime,9501,Variable -ExclusiveLevelAlarmType_EnabledState_TrueState,9502,Variable -ExclusiveLevelAlarmType_EnabledState_FalseState,9503,Variable -ExclusiveLevelAlarmType_Quality,9504,Variable -ExclusiveLevelAlarmType_Quality_SourceTimestamp,9505,Variable -ExclusiveLevelAlarmType_LastSeverity,9506,Variable -ExclusiveLevelAlarmType_LastSeverity_SourceTimestamp,9507,Variable -ExclusiveLevelAlarmType_Comment,9508,Variable -ExclusiveLevelAlarmType_Comment_SourceTimestamp,9509,Variable -ExclusiveLevelAlarmType_ClientUserId,9510,Variable -ExclusiveLevelAlarmType_Enable,9511,Method -ExclusiveLevelAlarmType_Disable,9512,Method -ExclusiveLevelAlarmType_AddComment,9513,Method -ExclusiveLevelAlarmType_AddComment_InputArguments,9514,Variable -ExclusiveLevelAlarmType_ConditionRefresh,9515,Method -ExclusiveLevelAlarmType_ConditionRefresh_InputArguments,9516,Variable -ExclusiveLevelAlarmType_AckedState,9517,Variable -ExclusiveLevelAlarmType_AckedState_Id,9518,Variable -ExclusiveLevelAlarmType_AckedState_Name,9519,Variable -ExclusiveLevelAlarmType_AckedState_Number,9520,Variable -ExclusiveLevelAlarmType_AckedState_EffectiveDisplayName,9521,Variable -ExclusiveLevelAlarmType_AckedState_TransitionTime,9522,Variable -ExclusiveLevelAlarmType_AckedState_EffectiveTransitionTime,9523,Variable -ExclusiveLevelAlarmType_AckedState_TrueState,9524,Variable -ExclusiveLevelAlarmType_AckedState_FalseState,9525,Variable -ExclusiveLevelAlarmType_ConfirmedState,9526,Variable -ExclusiveLevelAlarmType_ConfirmedState_Id,9527,Variable -ExclusiveLevelAlarmType_ConfirmedState_Name,9528,Variable -ExclusiveLevelAlarmType_ConfirmedState_Number,9529,Variable -ExclusiveLevelAlarmType_ConfirmedState_EffectiveDisplayName,9530,Variable -ExclusiveLevelAlarmType_ConfirmedState_TransitionTime,9531,Variable -ExclusiveLevelAlarmType_ConfirmedState_EffectiveTransitionTime,9532,Variable -ExclusiveLevelAlarmType_ConfirmedState_TrueState,9533,Variable -ExclusiveLevelAlarmType_ConfirmedState_FalseState,9534,Variable -ExclusiveLevelAlarmType_Acknowledge,9535,Method -ExclusiveLevelAlarmType_Acknowledge_InputArguments,9536,Variable -ExclusiveLevelAlarmType_Confirm,9537,Method -ExclusiveLevelAlarmType_Confirm_InputArguments,9538,Variable -ExclusiveLevelAlarmType_ActiveState,9539,Variable -ExclusiveLevelAlarmType_ActiveState_Id,9540,Variable -ExclusiveLevelAlarmType_ActiveState_Name,9541,Variable -ExclusiveLevelAlarmType_ActiveState_Number,9542,Variable -ExclusiveLevelAlarmType_ActiveState_EffectiveDisplayName,9543,Variable -ExclusiveLevelAlarmType_ActiveState_TransitionTime,9544,Variable -ExclusiveLevelAlarmType_ActiveState_EffectiveTransitionTime,9545,Variable -ExclusiveLevelAlarmType_ActiveState_TrueState,9546,Variable -ExclusiveLevelAlarmType_ActiveState_FalseState,9547,Variable -ExclusiveLevelAlarmType_SuppressedState,9548,Variable -ExclusiveLevelAlarmType_SuppressedState_Id,9549,Variable -ExclusiveLevelAlarmType_SuppressedState_Name,9550,Variable -ExclusiveLevelAlarmType_SuppressedState_Number,9551,Variable -ExclusiveLevelAlarmType_SuppressedState_EffectiveDisplayName,9552,Variable -ExclusiveLevelAlarmType_SuppressedState_TransitionTime,9553,Variable -ExclusiveLevelAlarmType_SuppressedState_EffectiveTransitionTime,9554,Variable -ExclusiveLevelAlarmType_SuppressedState_TrueState,9555,Variable -ExclusiveLevelAlarmType_SuppressedState_FalseState,9556,Variable -ExclusiveLevelAlarmType_ShelvingState,9557,Object -ExclusiveLevelAlarmType_ShelvingState_CurrentState,9558,Variable -ExclusiveLevelAlarmType_ShelvingState_CurrentState_Id,9559,Variable -ExclusiveLevelAlarmType_ShelvingState_CurrentState_Name,9560,Variable -ExclusiveLevelAlarmType_ShelvingState_CurrentState_Number,9561,Variable -ExclusiveLevelAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,9562,Variable -ExclusiveLevelAlarmType_ShelvingState_LastTransition,9563,Variable -ExclusiveLevelAlarmType_ShelvingState_LastTransition_Id,9564,Variable -ExclusiveLevelAlarmType_ShelvingState_LastTransition_Name,9565,Variable -ExclusiveLevelAlarmType_ShelvingState_LastTransition_Number,9566,Variable -ExclusiveLevelAlarmType_ShelvingState_LastTransition_TransitionTime,9567,Variable -ExclusiveLevelAlarmType_ShelvingState_UnshelveTime,9568,Variable -ExclusiveLevelAlarmType_ShelvingState_Unshelve,9590,Method -ExclusiveLevelAlarmType_ShelvingState_OneShotShelve,9591,Method -ExclusiveLevelAlarmType_ShelvingState_TimedShelve,9592,Method -ExclusiveLevelAlarmType_ShelvingState_TimedShelve_InputArguments,9593,Variable -ExclusiveLevelAlarmType_SuppressedOrShelved,9594,Variable -ExclusiveLevelAlarmType_MaxTimeShelved,9595,Variable -ExclusiveLevelAlarmType_LimitState,9596,Object -ExclusiveLevelAlarmType_LimitState_CurrentState,9597,Variable -ExclusiveLevelAlarmType_LimitState_CurrentState_Id,9598,Variable -ExclusiveLevelAlarmType_LimitState_CurrentState_Name,9599,Variable -ExclusiveLevelAlarmType_LimitState_CurrentState_Number,9600,Variable -ExclusiveLevelAlarmType_LimitState_CurrentState_EffectiveDisplayName,9601,Variable -ExclusiveLevelAlarmType_LimitState_LastTransition,9602,Variable -ExclusiveLevelAlarmType_LimitState_LastTransition_Id,9603,Variable -ExclusiveLevelAlarmType_LimitState_LastTransition_Name,9604,Variable -ExclusiveLevelAlarmType_LimitState_LastTransition_Number,9605,Variable -ExclusiveLevelAlarmType_LimitState_LastTransition_TransitionTime,9606,Variable -ExclusiveLevelAlarmType_HighHighLimit,9619,Variable -ExclusiveLevelAlarmType_HighLimit,9620,Variable -ExclusiveLevelAlarmType_LowLimit,9621,Variable -ExclusiveLevelAlarmType_LowLowLimit,9622,Variable -ExclusiveRateOfChangeAlarmType,9623,ObjectType -ExclusiveRateOfChangeAlarmType_EventId,9624,Variable -ExclusiveRateOfChangeAlarmType_EventType,9625,Variable -ExclusiveRateOfChangeAlarmType_SourceNode,9626,Variable -ExclusiveRateOfChangeAlarmType_SourceName,9627,Variable -ExclusiveRateOfChangeAlarmType_Time,9628,Variable -ExclusiveRateOfChangeAlarmType_ReceiveTime,9629,Variable -ExclusiveRateOfChangeAlarmType_LocalTime,9630,Variable -ExclusiveRateOfChangeAlarmType_Message,9631,Variable -ExclusiveRateOfChangeAlarmType_Severity,9632,Variable -ExclusiveRateOfChangeAlarmType_ConditionName,9633,Variable -ExclusiveRateOfChangeAlarmType_BranchId,9634,Variable -ExclusiveRateOfChangeAlarmType_Retain,9635,Variable -ExclusiveRateOfChangeAlarmType_EnabledState,9636,Variable -ExclusiveRateOfChangeAlarmType_EnabledState_Id,9637,Variable -ExclusiveRateOfChangeAlarmType_EnabledState_Name,9638,Variable -ExclusiveRateOfChangeAlarmType_EnabledState_Number,9639,Variable -ExclusiveRateOfChangeAlarmType_EnabledState_EffectiveDisplayName,9640,Variable -ExclusiveRateOfChangeAlarmType_EnabledState_TransitionTime,9641,Variable -ExclusiveRateOfChangeAlarmType_EnabledState_EffectiveTransitionTime,9642,Variable -ExclusiveRateOfChangeAlarmType_EnabledState_TrueState,9643,Variable -ExclusiveRateOfChangeAlarmType_EnabledState_FalseState,9644,Variable -ExclusiveRateOfChangeAlarmType_Quality,9645,Variable -ExclusiveRateOfChangeAlarmType_Quality_SourceTimestamp,9646,Variable -ExclusiveRateOfChangeAlarmType_LastSeverity,9647,Variable -ExclusiveRateOfChangeAlarmType_LastSeverity_SourceTimestamp,9648,Variable -ExclusiveRateOfChangeAlarmType_Comment,9649,Variable -ExclusiveRateOfChangeAlarmType_Comment_SourceTimestamp,9650,Variable -ExclusiveRateOfChangeAlarmType_ClientUserId,9651,Variable -ExclusiveRateOfChangeAlarmType_Enable,9652,Method -ExclusiveRateOfChangeAlarmType_Disable,9653,Method -ExclusiveRateOfChangeAlarmType_AddComment,9654,Method -ExclusiveRateOfChangeAlarmType_AddComment_InputArguments,9655,Variable -ExclusiveRateOfChangeAlarmType_ConditionRefresh,9656,Method -ExclusiveRateOfChangeAlarmType_ConditionRefresh_InputArguments,9657,Variable -ExclusiveRateOfChangeAlarmType_AckedState,9658,Variable -ExclusiveRateOfChangeAlarmType_AckedState_Id,9659,Variable -ExclusiveRateOfChangeAlarmType_AckedState_Name,9660,Variable -ExclusiveRateOfChangeAlarmType_AckedState_Number,9661,Variable -ExclusiveRateOfChangeAlarmType_AckedState_EffectiveDisplayName,9662,Variable -ExclusiveRateOfChangeAlarmType_AckedState_TransitionTime,9663,Variable -ExclusiveRateOfChangeAlarmType_AckedState_EffectiveTransitionTime,9664,Variable -ExclusiveRateOfChangeAlarmType_AckedState_TrueState,9665,Variable -ExclusiveRateOfChangeAlarmType_AckedState_FalseState,9666,Variable -ExclusiveRateOfChangeAlarmType_ConfirmedState,9667,Variable -ExclusiveRateOfChangeAlarmType_ConfirmedState_Id,9668,Variable -ExclusiveRateOfChangeAlarmType_ConfirmedState_Name,9669,Variable -ExclusiveRateOfChangeAlarmType_ConfirmedState_Number,9670,Variable -ExclusiveRateOfChangeAlarmType_ConfirmedState_EffectiveDisplayName,9671,Variable -ExclusiveRateOfChangeAlarmType_ConfirmedState_TransitionTime,9672,Variable -ExclusiveRateOfChangeAlarmType_ConfirmedState_EffectiveTransitionTime,9673,Variable -ExclusiveRateOfChangeAlarmType_ConfirmedState_TrueState,9674,Variable -ExclusiveRateOfChangeAlarmType_ConfirmedState_FalseState,9675,Variable -ExclusiveRateOfChangeAlarmType_Acknowledge,9676,Method -ExclusiveRateOfChangeAlarmType_Acknowledge_InputArguments,9677,Variable -ExclusiveRateOfChangeAlarmType_Confirm,9678,Method -ExclusiveRateOfChangeAlarmType_Confirm_InputArguments,9679,Variable -ExclusiveRateOfChangeAlarmType_ActiveState,9680,Variable -ExclusiveRateOfChangeAlarmType_ActiveState_Id,9681,Variable -ExclusiveRateOfChangeAlarmType_ActiveState_Name,9682,Variable -ExclusiveRateOfChangeAlarmType_ActiveState_Number,9683,Variable -ExclusiveRateOfChangeAlarmType_ActiveState_EffectiveDisplayName,9684,Variable -ExclusiveRateOfChangeAlarmType_ActiveState_TransitionTime,9685,Variable -ExclusiveRateOfChangeAlarmType_ActiveState_EffectiveTransitionTime,9686,Variable -ExclusiveRateOfChangeAlarmType_ActiveState_TrueState,9687,Variable -ExclusiveRateOfChangeAlarmType_ActiveState_FalseState,9688,Variable -ExclusiveRateOfChangeAlarmType_SuppressedState,9689,Variable -ExclusiveRateOfChangeAlarmType_SuppressedState_Id,9690,Variable -ExclusiveRateOfChangeAlarmType_SuppressedState_Name,9691,Variable -ExclusiveRateOfChangeAlarmType_SuppressedState_Number,9692,Variable -ExclusiveRateOfChangeAlarmType_SuppressedState_EffectiveDisplayName,9693,Variable -ExclusiveRateOfChangeAlarmType_SuppressedState_TransitionTime,9694,Variable -ExclusiveRateOfChangeAlarmType_SuppressedState_EffectiveTransitionTime,9695,Variable -ExclusiveRateOfChangeAlarmType_SuppressedState_TrueState,9696,Variable -ExclusiveRateOfChangeAlarmType_SuppressedState_FalseState,9697,Variable -ExclusiveRateOfChangeAlarmType_ShelvingState,9698,Object -ExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState,9699,Variable -ExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_Id,9700,Variable -ExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_Name,9701,Variable -ExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_Number,9702,Variable -ExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,9703,Variable -ExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition,9704,Variable -ExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_Id,9705,Variable -ExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_Name,9706,Variable -ExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_Number,9707,Variable -ExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_TransitionTime,9708,Variable -ExclusiveRateOfChangeAlarmType_ShelvingState_UnshelveTime,9709,Variable -ExclusiveRateOfChangeAlarmType_ShelvingState_Unshelve,9731,Method -ExclusiveRateOfChangeAlarmType_ShelvingState_OneShotShelve,9732,Method -ExclusiveRateOfChangeAlarmType_ShelvingState_TimedShelve,9733,Method -ExclusiveRateOfChangeAlarmType_ShelvingState_TimedShelve_InputArguments,9734,Variable -ExclusiveRateOfChangeAlarmType_SuppressedOrShelved,9735,Variable -ExclusiveRateOfChangeAlarmType_MaxTimeShelved,9736,Variable -ExclusiveRateOfChangeAlarmType_LimitState,9737,Object -ExclusiveRateOfChangeAlarmType_LimitState_CurrentState,9738,Variable -ExclusiveRateOfChangeAlarmType_LimitState_CurrentState_Id,9739,Variable -ExclusiveRateOfChangeAlarmType_LimitState_CurrentState_Name,9740,Variable -ExclusiveRateOfChangeAlarmType_LimitState_CurrentState_Number,9741,Variable -ExclusiveRateOfChangeAlarmType_LimitState_CurrentState_EffectiveDisplayName,9742,Variable -ExclusiveRateOfChangeAlarmType_LimitState_LastTransition,9743,Variable -ExclusiveRateOfChangeAlarmType_LimitState_LastTransition_Id,9744,Variable -ExclusiveRateOfChangeAlarmType_LimitState_LastTransition_Name,9745,Variable -ExclusiveRateOfChangeAlarmType_LimitState_LastTransition_Number,9746,Variable -ExclusiveRateOfChangeAlarmType_LimitState_LastTransition_TransitionTime,9747,Variable -ExclusiveRateOfChangeAlarmType_HighHighLimit,9760,Variable -ExclusiveRateOfChangeAlarmType_HighLimit,9761,Variable -ExclusiveRateOfChangeAlarmType_LowLimit,9762,Variable -ExclusiveRateOfChangeAlarmType_LowLowLimit,9763,Variable -ExclusiveDeviationAlarmType,9764,ObjectType -ExclusiveDeviationAlarmType_EventId,9765,Variable -ExclusiveDeviationAlarmType_EventType,9766,Variable -ExclusiveDeviationAlarmType_SourceNode,9767,Variable -ExclusiveDeviationAlarmType_SourceName,9768,Variable -ExclusiveDeviationAlarmType_Time,9769,Variable -ExclusiveDeviationAlarmType_ReceiveTime,9770,Variable -ExclusiveDeviationAlarmType_LocalTime,9771,Variable -ExclusiveDeviationAlarmType_Message,9772,Variable -ExclusiveDeviationAlarmType_Severity,9773,Variable -ExclusiveDeviationAlarmType_ConditionName,9774,Variable -ExclusiveDeviationAlarmType_BranchId,9775,Variable -ExclusiveDeviationAlarmType_Retain,9776,Variable -ExclusiveDeviationAlarmType_EnabledState,9777,Variable -ExclusiveDeviationAlarmType_EnabledState_Id,9778,Variable -ExclusiveDeviationAlarmType_EnabledState_Name,9779,Variable -ExclusiveDeviationAlarmType_EnabledState_Number,9780,Variable -ExclusiveDeviationAlarmType_EnabledState_EffectiveDisplayName,9781,Variable -ExclusiveDeviationAlarmType_EnabledState_TransitionTime,9782,Variable -ExclusiveDeviationAlarmType_EnabledState_EffectiveTransitionTime,9783,Variable -ExclusiveDeviationAlarmType_EnabledState_TrueState,9784,Variable -ExclusiveDeviationAlarmType_EnabledState_FalseState,9785,Variable -ExclusiveDeviationAlarmType_Quality,9786,Variable -ExclusiveDeviationAlarmType_Quality_SourceTimestamp,9787,Variable -ExclusiveDeviationAlarmType_LastSeverity,9788,Variable -ExclusiveDeviationAlarmType_LastSeverity_SourceTimestamp,9789,Variable -ExclusiveDeviationAlarmType_Comment,9790,Variable -ExclusiveDeviationAlarmType_Comment_SourceTimestamp,9791,Variable -ExclusiveDeviationAlarmType_ClientUserId,9792,Variable -ExclusiveDeviationAlarmType_Enable,9793,Method -ExclusiveDeviationAlarmType_Disable,9794,Method -ExclusiveDeviationAlarmType_AddComment,9795,Method -ExclusiveDeviationAlarmType_AddComment_InputArguments,9796,Variable -ExclusiveDeviationAlarmType_ConditionRefresh,9797,Method -ExclusiveDeviationAlarmType_ConditionRefresh_InputArguments,9798,Variable -ExclusiveDeviationAlarmType_AckedState,9799,Variable -ExclusiveDeviationAlarmType_AckedState_Id,9800,Variable -ExclusiveDeviationAlarmType_AckedState_Name,9801,Variable -ExclusiveDeviationAlarmType_AckedState_Number,9802,Variable -ExclusiveDeviationAlarmType_AckedState_EffectiveDisplayName,9803,Variable -ExclusiveDeviationAlarmType_AckedState_TransitionTime,9804,Variable -ExclusiveDeviationAlarmType_AckedState_EffectiveTransitionTime,9805,Variable -ExclusiveDeviationAlarmType_AckedState_TrueState,9806,Variable -ExclusiveDeviationAlarmType_AckedState_FalseState,9807,Variable -ExclusiveDeviationAlarmType_ConfirmedState,9808,Variable -ExclusiveDeviationAlarmType_ConfirmedState_Id,9809,Variable -ExclusiveDeviationAlarmType_ConfirmedState_Name,9810,Variable -ExclusiveDeviationAlarmType_ConfirmedState_Number,9811,Variable -ExclusiveDeviationAlarmType_ConfirmedState_EffectiveDisplayName,9812,Variable -ExclusiveDeviationAlarmType_ConfirmedState_TransitionTime,9813,Variable -ExclusiveDeviationAlarmType_ConfirmedState_EffectiveTransitionTime,9814,Variable -ExclusiveDeviationAlarmType_ConfirmedState_TrueState,9815,Variable -ExclusiveDeviationAlarmType_ConfirmedState_FalseState,9816,Variable -ExclusiveDeviationAlarmType_Acknowledge,9817,Method -ExclusiveDeviationAlarmType_Acknowledge_InputArguments,9818,Variable -ExclusiveDeviationAlarmType_Confirm,9819,Method -ExclusiveDeviationAlarmType_Confirm_InputArguments,9820,Variable -ExclusiveDeviationAlarmType_ActiveState,9821,Variable -ExclusiveDeviationAlarmType_ActiveState_Id,9822,Variable -ExclusiveDeviationAlarmType_ActiveState_Name,9823,Variable -ExclusiveDeviationAlarmType_ActiveState_Number,9824,Variable -ExclusiveDeviationAlarmType_ActiveState_EffectiveDisplayName,9825,Variable -ExclusiveDeviationAlarmType_ActiveState_TransitionTime,9826,Variable -ExclusiveDeviationAlarmType_ActiveState_EffectiveTransitionTime,9827,Variable -ExclusiveDeviationAlarmType_ActiveState_TrueState,9828,Variable -ExclusiveDeviationAlarmType_ActiveState_FalseState,9829,Variable -ExclusiveDeviationAlarmType_SuppressedState,9830,Variable -ExclusiveDeviationAlarmType_SuppressedState_Id,9831,Variable -ExclusiveDeviationAlarmType_SuppressedState_Name,9832,Variable -ExclusiveDeviationAlarmType_SuppressedState_Number,9833,Variable -ExclusiveDeviationAlarmType_SuppressedState_EffectiveDisplayName,9834,Variable -ExclusiveDeviationAlarmType_SuppressedState_TransitionTime,9835,Variable -ExclusiveDeviationAlarmType_SuppressedState_EffectiveTransitionTime,9836,Variable -ExclusiveDeviationAlarmType_SuppressedState_TrueState,9837,Variable -ExclusiveDeviationAlarmType_SuppressedState_FalseState,9838,Variable -ExclusiveDeviationAlarmType_ShelvingState,9839,Object -ExclusiveDeviationAlarmType_ShelvingState_CurrentState,9840,Variable -ExclusiveDeviationAlarmType_ShelvingState_CurrentState_Id,9841,Variable -ExclusiveDeviationAlarmType_ShelvingState_CurrentState_Name,9842,Variable -ExclusiveDeviationAlarmType_ShelvingState_CurrentState_Number,9843,Variable -ExclusiveDeviationAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,9844,Variable -ExclusiveDeviationAlarmType_ShelvingState_LastTransition,9845,Variable -ExclusiveDeviationAlarmType_ShelvingState_LastTransition_Id,9846,Variable -ExclusiveDeviationAlarmType_ShelvingState_LastTransition_Name,9847,Variable -ExclusiveDeviationAlarmType_ShelvingState_LastTransition_Number,9848,Variable -ExclusiveDeviationAlarmType_ShelvingState_LastTransition_TransitionTime,9849,Variable -ExclusiveDeviationAlarmType_ShelvingState_UnshelveTime,9850,Variable -ExclusiveDeviationAlarmType_ShelvingState_Unshelve,9872,Method -ExclusiveDeviationAlarmType_ShelvingState_OneShotShelve,9873,Method -ExclusiveDeviationAlarmType_ShelvingState_TimedShelve,9874,Method -ExclusiveDeviationAlarmType_ShelvingState_TimedShelve_InputArguments,9875,Variable -ExclusiveDeviationAlarmType_SuppressedOrShelved,9876,Variable -ExclusiveDeviationAlarmType_MaxTimeShelved,9877,Variable -ExclusiveDeviationAlarmType_LimitState,9878,Object -ExclusiveDeviationAlarmType_LimitState_CurrentState,9879,Variable -ExclusiveDeviationAlarmType_LimitState_CurrentState_Id,9880,Variable -ExclusiveDeviationAlarmType_LimitState_CurrentState_Name,9881,Variable -ExclusiveDeviationAlarmType_LimitState_CurrentState_Number,9882,Variable -ExclusiveDeviationAlarmType_LimitState_CurrentState_EffectiveDisplayName,9883,Variable -ExclusiveDeviationAlarmType_LimitState_LastTransition,9884,Variable -ExclusiveDeviationAlarmType_LimitState_LastTransition_Id,9885,Variable -ExclusiveDeviationAlarmType_LimitState_LastTransition_Name,9886,Variable -ExclusiveDeviationAlarmType_LimitState_LastTransition_Number,9887,Variable -ExclusiveDeviationAlarmType_LimitState_LastTransition_TransitionTime,9888,Variable -ExclusiveDeviationAlarmType_HighHighLimit,9901,Variable -ExclusiveDeviationAlarmType_HighLimit,9902,Variable -ExclusiveDeviationAlarmType_LowLimit,9903,Variable -ExclusiveDeviationAlarmType_LowLowLimit,9904,Variable -ExclusiveDeviationAlarmType_SetpointNode,9905,Variable -NonExclusiveLimitAlarmType,9906,ObjectType -NonExclusiveLimitAlarmType_EventId,9907,Variable -NonExclusiveLimitAlarmType_EventType,9908,Variable -NonExclusiveLimitAlarmType_SourceNode,9909,Variable -NonExclusiveLimitAlarmType_SourceName,9910,Variable -NonExclusiveLimitAlarmType_Time,9911,Variable -NonExclusiveLimitAlarmType_ReceiveTime,9912,Variable -NonExclusiveLimitAlarmType_LocalTime,9913,Variable -NonExclusiveLimitAlarmType_Message,9914,Variable -NonExclusiveLimitAlarmType_Severity,9915,Variable -NonExclusiveLimitAlarmType_ConditionName,9916,Variable -NonExclusiveLimitAlarmType_BranchId,9917,Variable -NonExclusiveLimitAlarmType_Retain,9918,Variable -NonExclusiveLimitAlarmType_EnabledState,9919,Variable -NonExclusiveLimitAlarmType_EnabledState_Id,9920,Variable -NonExclusiveLimitAlarmType_EnabledState_Name,9921,Variable -NonExclusiveLimitAlarmType_EnabledState_Number,9922,Variable -NonExclusiveLimitAlarmType_EnabledState_EffectiveDisplayName,9923,Variable -NonExclusiveLimitAlarmType_EnabledState_TransitionTime,9924,Variable -NonExclusiveLimitAlarmType_EnabledState_EffectiveTransitionTime,9925,Variable -NonExclusiveLimitAlarmType_EnabledState_TrueState,9926,Variable -NonExclusiveLimitAlarmType_EnabledState_FalseState,9927,Variable -NonExclusiveLimitAlarmType_Quality,9928,Variable -NonExclusiveLimitAlarmType_Quality_SourceTimestamp,9929,Variable -NonExclusiveLimitAlarmType_LastSeverity,9930,Variable -NonExclusiveLimitAlarmType_LastSeverity_SourceTimestamp,9931,Variable -NonExclusiveLimitAlarmType_Comment,9932,Variable -NonExclusiveLimitAlarmType_Comment_SourceTimestamp,9933,Variable -NonExclusiveLimitAlarmType_ClientUserId,9934,Variable -NonExclusiveLimitAlarmType_Enable,9935,Method -NonExclusiveLimitAlarmType_Disable,9936,Method -NonExclusiveLimitAlarmType_AddComment,9937,Method -NonExclusiveLimitAlarmType_AddComment_InputArguments,9938,Variable -NonExclusiveLimitAlarmType_ConditionRefresh,9939,Method -NonExclusiveLimitAlarmType_ConditionRefresh_InputArguments,9940,Variable -NonExclusiveLimitAlarmType_AckedState,9941,Variable -NonExclusiveLimitAlarmType_AckedState_Id,9942,Variable -NonExclusiveLimitAlarmType_AckedState_Name,9943,Variable -NonExclusiveLimitAlarmType_AckedState_Number,9944,Variable -NonExclusiveLimitAlarmType_AckedState_EffectiveDisplayName,9945,Variable -NonExclusiveLimitAlarmType_AckedState_TransitionTime,9946,Variable -NonExclusiveLimitAlarmType_AckedState_EffectiveTransitionTime,9947,Variable -NonExclusiveLimitAlarmType_AckedState_TrueState,9948,Variable -NonExclusiveLimitAlarmType_AckedState_FalseState,9949,Variable -NonExclusiveLimitAlarmType_ConfirmedState,9950,Variable -NonExclusiveLimitAlarmType_ConfirmedState_Id,9951,Variable -NonExclusiveLimitAlarmType_ConfirmedState_Name,9952,Variable -NonExclusiveLimitAlarmType_ConfirmedState_Number,9953,Variable -NonExclusiveLimitAlarmType_ConfirmedState_EffectiveDisplayName,9954,Variable -NonExclusiveLimitAlarmType_ConfirmedState_TransitionTime,9955,Variable -NonExclusiveLimitAlarmType_ConfirmedState_EffectiveTransitionTime,9956,Variable -NonExclusiveLimitAlarmType_ConfirmedState_TrueState,9957,Variable -NonExclusiveLimitAlarmType_ConfirmedState_FalseState,9958,Variable -NonExclusiveLimitAlarmType_Acknowledge,9959,Method -NonExclusiveLimitAlarmType_Acknowledge_InputArguments,9960,Variable -NonExclusiveLimitAlarmType_Confirm,9961,Method -NonExclusiveLimitAlarmType_Confirm_InputArguments,9962,Variable -NonExclusiveLimitAlarmType_ActiveState,9963,Variable -NonExclusiveLimitAlarmType_ActiveState_Id,9964,Variable -NonExclusiveLimitAlarmType_ActiveState_Name,9965,Variable -NonExclusiveLimitAlarmType_ActiveState_Number,9966,Variable -NonExclusiveLimitAlarmType_ActiveState_EffectiveDisplayName,9967,Variable -NonExclusiveLimitAlarmType_ActiveState_TransitionTime,9968,Variable -NonExclusiveLimitAlarmType_ActiveState_EffectiveTransitionTime,9969,Variable -NonExclusiveLimitAlarmType_ActiveState_TrueState,9970,Variable -NonExclusiveLimitAlarmType_ActiveState_FalseState,9971,Variable -NonExclusiveLimitAlarmType_SuppressedState,9972,Variable -NonExclusiveLimitAlarmType_SuppressedState_Id,9973,Variable -NonExclusiveLimitAlarmType_SuppressedState_Name,9974,Variable -NonExclusiveLimitAlarmType_SuppressedState_Number,9975,Variable -NonExclusiveLimitAlarmType_SuppressedState_EffectiveDisplayName,9976,Variable -NonExclusiveLimitAlarmType_SuppressedState_TransitionTime,9977,Variable -NonExclusiveLimitAlarmType_SuppressedState_EffectiveTransitionTime,9978,Variable -NonExclusiveLimitAlarmType_SuppressedState_TrueState,9979,Variable -NonExclusiveLimitAlarmType_SuppressedState_FalseState,9980,Variable -NonExclusiveLimitAlarmType_ShelvingState,9981,Object -NonExclusiveLimitAlarmType_ShelvingState_CurrentState,9982,Variable -NonExclusiveLimitAlarmType_ShelvingState_CurrentState_Id,9983,Variable -NonExclusiveLimitAlarmType_ShelvingState_CurrentState_Name,9984,Variable -NonExclusiveLimitAlarmType_ShelvingState_CurrentState_Number,9985,Variable -NonExclusiveLimitAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,9986,Variable -NonExclusiveLimitAlarmType_ShelvingState_LastTransition,9987,Variable -NonExclusiveLimitAlarmType_ShelvingState_LastTransition_Id,9988,Variable -NonExclusiveLimitAlarmType_ShelvingState_LastTransition_Name,9989,Variable -NonExclusiveLimitAlarmType_ShelvingState_LastTransition_Number,9990,Variable -NonExclusiveLimitAlarmType_ShelvingState_LastTransition_TransitionTime,9991,Variable -NonExclusiveLimitAlarmType_ShelvingState_UnshelveTime,9992,Variable -NonExclusiveLimitAlarmType_ShelvingState_Unshelve,10014,Method -NonExclusiveLimitAlarmType_ShelvingState_OneShotShelve,10015,Method -NonExclusiveLimitAlarmType_ShelvingState_TimedShelve,10016,Method -NonExclusiveLimitAlarmType_ShelvingState_TimedShelve_InputArguments,10017,Variable -NonExclusiveLimitAlarmType_SuppressedOrShelved,10018,Variable -NonExclusiveLimitAlarmType_MaxTimeShelved,10019,Variable -NonExclusiveLimitAlarmType_HighHighState,10020,Variable -NonExclusiveLimitAlarmType_HighHighState_Id,10021,Variable -NonExclusiveLimitAlarmType_HighHighState_Name,10022,Variable -NonExclusiveLimitAlarmType_HighHighState_Number,10023,Variable -NonExclusiveLimitAlarmType_HighHighState_EffectiveDisplayName,10024,Variable -NonExclusiveLimitAlarmType_HighHighState_TransitionTime,10025,Variable -NonExclusiveLimitAlarmType_HighHighState_EffectiveTransitionTime,10026,Variable -NonExclusiveLimitAlarmType_HighHighState_TrueState,10027,Variable -NonExclusiveLimitAlarmType_HighHighState_FalseState,10028,Variable -NonExclusiveLimitAlarmType_HighState,10029,Variable -NonExclusiveLimitAlarmType_HighState_Id,10030,Variable -NonExclusiveLimitAlarmType_HighState_Name,10031,Variable -NonExclusiveLimitAlarmType_HighState_Number,10032,Variable -NonExclusiveLimitAlarmType_HighState_EffectiveDisplayName,10033,Variable -NonExclusiveLimitAlarmType_HighState_TransitionTime,10034,Variable -NonExclusiveLimitAlarmType_HighState_EffectiveTransitionTime,10035,Variable -NonExclusiveLimitAlarmType_HighState_TrueState,10036,Variable -NonExclusiveLimitAlarmType_HighState_FalseState,10037,Variable -NonExclusiveLimitAlarmType_LowState,10038,Variable -NonExclusiveLimitAlarmType_LowState_Id,10039,Variable -NonExclusiveLimitAlarmType_LowState_Name,10040,Variable -NonExclusiveLimitAlarmType_LowState_Number,10041,Variable -NonExclusiveLimitAlarmType_LowState_EffectiveDisplayName,10042,Variable -NonExclusiveLimitAlarmType_LowState_TransitionTime,10043,Variable -NonExclusiveLimitAlarmType_LowState_EffectiveTransitionTime,10044,Variable -NonExclusiveLimitAlarmType_LowState_TrueState,10045,Variable -NonExclusiveLimitAlarmType_LowState_FalseState,10046,Variable -NonExclusiveLimitAlarmType_LowLowState,10047,Variable -NonExclusiveLimitAlarmType_LowLowState_Id,10048,Variable -NonExclusiveLimitAlarmType_LowLowState_Name,10049,Variable -NonExclusiveLimitAlarmType_LowLowState_Number,10050,Variable -NonExclusiveLimitAlarmType_LowLowState_EffectiveDisplayName,10051,Variable -NonExclusiveLimitAlarmType_LowLowState_TransitionTime,10052,Variable -NonExclusiveLimitAlarmType_LowLowState_EffectiveTransitionTime,10053,Variable -NonExclusiveLimitAlarmType_LowLowState_TrueState,10054,Variable -NonExclusiveLimitAlarmType_LowLowState_FalseState,10055,Variable -NonExclusiveLimitAlarmType_HighHighLimit,10056,Variable -NonExclusiveLimitAlarmType_HighLimit,10057,Variable -NonExclusiveLimitAlarmType_LowLimit,10058,Variable -NonExclusiveLimitAlarmType_LowLowLimit,10059,Variable -NonExclusiveLevelAlarmType,10060,ObjectType -NonExclusiveLevelAlarmType_EventId,10061,Variable -NonExclusiveLevelAlarmType_EventType,10062,Variable -NonExclusiveLevelAlarmType_SourceNode,10063,Variable -NonExclusiveLevelAlarmType_SourceName,10064,Variable -NonExclusiveLevelAlarmType_Time,10065,Variable -NonExclusiveLevelAlarmType_ReceiveTime,10066,Variable -NonExclusiveLevelAlarmType_LocalTime,10067,Variable -NonExclusiveLevelAlarmType_Message,10068,Variable -NonExclusiveLevelAlarmType_Severity,10069,Variable -NonExclusiveLevelAlarmType_ConditionName,10070,Variable -NonExclusiveLevelAlarmType_BranchId,10071,Variable -NonExclusiveLevelAlarmType_Retain,10072,Variable -NonExclusiveLevelAlarmType_EnabledState,10073,Variable -NonExclusiveLevelAlarmType_EnabledState_Id,10074,Variable -NonExclusiveLevelAlarmType_EnabledState_Name,10075,Variable -NonExclusiveLevelAlarmType_EnabledState_Number,10076,Variable -NonExclusiveLevelAlarmType_EnabledState_EffectiveDisplayName,10077,Variable -NonExclusiveLevelAlarmType_EnabledState_TransitionTime,10078,Variable -NonExclusiveLevelAlarmType_EnabledState_EffectiveTransitionTime,10079,Variable -NonExclusiveLevelAlarmType_EnabledState_TrueState,10080,Variable -NonExclusiveLevelAlarmType_EnabledState_FalseState,10081,Variable -NonExclusiveLevelAlarmType_Quality,10082,Variable -NonExclusiveLevelAlarmType_Quality_SourceTimestamp,10083,Variable -NonExclusiveLevelAlarmType_LastSeverity,10084,Variable -NonExclusiveLevelAlarmType_LastSeverity_SourceTimestamp,10085,Variable -NonExclusiveLevelAlarmType_Comment,10086,Variable -NonExclusiveLevelAlarmType_Comment_SourceTimestamp,10087,Variable -NonExclusiveLevelAlarmType_ClientUserId,10088,Variable -NonExclusiveLevelAlarmType_Enable,10089,Method -NonExclusiveLevelAlarmType_Disable,10090,Method -NonExclusiveLevelAlarmType_AddComment,10091,Method -NonExclusiveLevelAlarmType_AddComment_InputArguments,10092,Variable -NonExclusiveLevelAlarmType_ConditionRefresh,10093,Method -NonExclusiveLevelAlarmType_ConditionRefresh_InputArguments,10094,Variable -NonExclusiveLevelAlarmType_AckedState,10095,Variable -NonExclusiveLevelAlarmType_AckedState_Id,10096,Variable -NonExclusiveLevelAlarmType_AckedState_Name,10097,Variable -NonExclusiveLevelAlarmType_AckedState_Number,10098,Variable -NonExclusiveLevelAlarmType_AckedState_EffectiveDisplayName,10099,Variable -NonExclusiveLevelAlarmType_AckedState_TransitionTime,10100,Variable -NonExclusiveLevelAlarmType_AckedState_EffectiveTransitionTime,10101,Variable -NonExclusiveLevelAlarmType_AckedState_TrueState,10102,Variable -NonExclusiveLevelAlarmType_AckedState_FalseState,10103,Variable -NonExclusiveLevelAlarmType_ConfirmedState,10104,Variable -NonExclusiveLevelAlarmType_ConfirmedState_Id,10105,Variable -NonExclusiveLevelAlarmType_ConfirmedState_Name,10106,Variable -NonExclusiveLevelAlarmType_ConfirmedState_Number,10107,Variable -NonExclusiveLevelAlarmType_ConfirmedState_EffectiveDisplayName,10108,Variable -NonExclusiveLevelAlarmType_ConfirmedState_TransitionTime,10109,Variable -NonExclusiveLevelAlarmType_ConfirmedState_EffectiveTransitionTime,10110,Variable -NonExclusiveLevelAlarmType_ConfirmedState_TrueState,10111,Variable -NonExclusiveLevelAlarmType_ConfirmedState_FalseState,10112,Variable -NonExclusiveLevelAlarmType_Acknowledge,10113,Method -NonExclusiveLevelAlarmType_Acknowledge_InputArguments,10114,Variable -NonExclusiveLevelAlarmType_Confirm,10115,Method -NonExclusiveLevelAlarmType_Confirm_InputArguments,10116,Variable -NonExclusiveLevelAlarmType_ActiveState,10117,Variable -NonExclusiveLevelAlarmType_ActiveState_Id,10118,Variable -NonExclusiveLevelAlarmType_ActiveState_Name,10119,Variable -NonExclusiveLevelAlarmType_ActiveState_Number,10120,Variable -NonExclusiveLevelAlarmType_ActiveState_EffectiveDisplayName,10121,Variable -NonExclusiveLevelAlarmType_ActiveState_TransitionTime,10122,Variable -NonExclusiveLevelAlarmType_ActiveState_EffectiveTransitionTime,10123,Variable -NonExclusiveLevelAlarmType_ActiveState_TrueState,10124,Variable -NonExclusiveLevelAlarmType_ActiveState_FalseState,10125,Variable -NonExclusiveLevelAlarmType_SuppressedState,10126,Variable -NonExclusiveLevelAlarmType_SuppressedState_Id,10127,Variable -NonExclusiveLevelAlarmType_SuppressedState_Name,10128,Variable -NonExclusiveLevelAlarmType_SuppressedState_Number,10129,Variable -NonExclusiveLevelAlarmType_SuppressedState_EffectiveDisplayName,10130,Variable -NonExclusiveLevelAlarmType_SuppressedState_TransitionTime,10131,Variable -NonExclusiveLevelAlarmType_SuppressedState_EffectiveTransitionTime,10132,Variable -NonExclusiveLevelAlarmType_SuppressedState_TrueState,10133,Variable -NonExclusiveLevelAlarmType_SuppressedState_FalseState,10134,Variable -NonExclusiveLevelAlarmType_ShelvingState,10135,Object -NonExclusiveLevelAlarmType_ShelvingState_CurrentState,10136,Variable -NonExclusiveLevelAlarmType_ShelvingState_CurrentState_Id,10137,Variable -NonExclusiveLevelAlarmType_ShelvingState_CurrentState_Name,10138,Variable -NonExclusiveLevelAlarmType_ShelvingState_CurrentState_Number,10139,Variable -NonExclusiveLevelAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,10140,Variable -NonExclusiveLevelAlarmType_ShelvingState_LastTransition,10141,Variable -NonExclusiveLevelAlarmType_ShelvingState_LastTransition_Id,10142,Variable -NonExclusiveLevelAlarmType_ShelvingState_LastTransition_Name,10143,Variable -NonExclusiveLevelAlarmType_ShelvingState_LastTransition_Number,10144,Variable -NonExclusiveLevelAlarmType_ShelvingState_LastTransition_TransitionTime,10145,Variable -NonExclusiveLevelAlarmType_ShelvingState_UnshelveTime,10146,Variable -NonExclusiveLevelAlarmType_ShelvingState_Unshelve,10168,Method -NonExclusiveLevelAlarmType_ShelvingState_OneShotShelve,10169,Method -NonExclusiveLevelAlarmType_ShelvingState_TimedShelve,10170,Method -NonExclusiveLevelAlarmType_ShelvingState_TimedShelve_InputArguments,10171,Variable -NonExclusiveLevelAlarmType_SuppressedOrShelved,10172,Variable -NonExclusiveLevelAlarmType_MaxTimeShelved,10173,Variable -NonExclusiveLevelAlarmType_HighHighState,10174,Variable -NonExclusiveLevelAlarmType_HighHighState_Id,10175,Variable -NonExclusiveLevelAlarmType_HighHighState_Name,10176,Variable -NonExclusiveLevelAlarmType_HighHighState_Number,10177,Variable -NonExclusiveLevelAlarmType_HighHighState_EffectiveDisplayName,10178,Variable -NonExclusiveLevelAlarmType_HighHighState_TransitionTime,10179,Variable -NonExclusiveLevelAlarmType_HighHighState_EffectiveTransitionTime,10180,Variable -NonExclusiveLevelAlarmType_HighHighState_TrueState,10181,Variable -NonExclusiveLevelAlarmType_HighHighState_FalseState,10182,Variable -NonExclusiveLevelAlarmType_HighState,10183,Variable -NonExclusiveLevelAlarmType_HighState_Id,10184,Variable -NonExclusiveLevelAlarmType_HighState_Name,10185,Variable -NonExclusiveLevelAlarmType_HighState_Number,10186,Variable -NonExclusiveLevelAlarmType_HighState_EffectiveDisplayName,10187,Variable -NonExclusiveLevelAlarmType_HighState_TransitionTime,10188,Variable -NonExclusiveLevelAlarmType_HighState_EffectiveTransitionTime,10189,Variable -NonExclusiveLevelAlarmType_HighState_TrueState,10190,Variable -NonExclusiveLevelAlarmType_HighState_FalseState,10191,Variable -NonExclusiveLevelAlarmType_LowState,10192,Variable -NonExclusiveLevelAlarmType_LowState_Id,10193,Variable -NonExclusiveLevelAlarmType_LowState_Name,10194,Variable -NonExclusiveLevelAlarmType_LowState_Number,10195,Variable -NonExclusiveLevelAlarmType_LowState_EffectiveDisplayName,10196,Variable -NonExclusiveLevelAlarmType_LowState_TransitionTime,10197,Variable -NonExclusiveLevelAlarmType_LowState_EffectiveTransitionTime,10198,Variable -NonExclusiveLevelAlarmType_LowState_TrueState,10199,Variable -NonExclusiveLevelAlarmType_LowState_FalseState,10200,Variable -NonExclusiveLevelAlarmType_LowLowState,10201,Variable -NonExclusiveLevelAlarmType_LowLowState_Id,10202,Variable -NonExclusiveLevelAlarmType_LowLowState_Name,10203,Variable -NonExclusiveLevelAlarmType_LowLowState_Number,10204,Variable -NonExclusiveLevelAlarmType_LowLowState_EffectiveDisplayName,10205,Variable -NonExclusiveLevelAlarmType_LowLowState_TransitionTime,10206,Variable -NonExclusiveLevelAlarmType_LowLowState_EffectiveTransitionTime,10207,Variable -NonExclusiveLevelAlarmType_LowLowState_TrueState,10208,Variable -NonExclusiveLevelAlarmType_LowLowState_FalseState,10209,Variable -NonExclusiveLevelAlarmType_HighHighLimit,10210,Variable -NonExclusiveLevelAlarmType_HighLimit,10211,Variable -NonExclusiveLevelAlarmType_LowLimit,10212,Variable -NonExclusiveLevelAlarmType_LowLowLimit,10213,Variable -NonExclusiveRateOfChangeAlarmType,10214,ObjectType -NonExclusiveRateOfChangeAlarmType_EventId,10215,Variable -NonExclusiveRateOfChangeAlarmType_EventType,10216,Variable -NonExclusiveRateOfChangeAlarmType_SourceNode,10217,Variable -NonExclusiveRateOfChangeAlarmType_SourceName,10218,Variable -NonExclusiveRateOfChangeAlarmType_Time,10219,Variable -NonExclusiveRateOfChangeAlarmType_ReceiveTime,10220,Variable -NonExclusiveRateOfChangeAlarmType_LocalTime,10221,Variable -NonExclusiveRateOfChangeAlarmType_Message,10222,Variable -NonExclusiveRateOfChangeAlarmType_Severity,10223,Variable -NonExclusiveRateOfChangeAlarmType_ConditionName,10224,Variable -NonExclusiveRateOfChangeAlarmType_BranchId,10225,Variable -NonExclusiveRateOfChangeAlarmType_Retain,10226,Variable -NonExclusiveRateOfChangeAlarmType_EnabledState,10227,Variable -NonExclusiveRateOfChangeAlarmType_EnabledState_Id,10228,Variable -NonExclusiveRateOfChangeAlarmType_EnabledState_Name,10229,Variable -NonExclusiveRateOfChangeAlarmType_EnabledState_Number,10230,Variable -NonExclusiveRateOfChangeAlarmType_EnabledState_EffectiveDisplayName,10231,Variable -NonExclusiveRateOfChangeAlarmType_EnabledState_TransitionTime,10232,Variable -NonExclusiveRateOfChangeAlarmType_EnabledState_EffectiveTransitionTime,10233,Variable -NonExclusiveRateOfChangeAlarmType_EnabledState_TrueState,10234,Variable -NonExclusiveRateOfChangeAlarmType_EnabledState_FalseState,10235,Variable -NonExclusiveRateOfChangeAlarmType_Quality,10236,Variable -NonExclusiveRateOfChangeAlarmType_Quality_SourceTimestamp,10237,Variable -NonExclusiveRateOfChangeAlarmType_LastSeverity,10238,Variable -NonExclusiveRateOfChangeAlarmType_LastSeverity_SourceTimestamp,10239,Variable -NonExclusiveRateOfChangeAlarmType_Comment,10240,Variable -NonExclusiveRateOfChangeAlarmType_Comment_SourceTimestamp,10241,Variable -NonExclusiveRateOfChangeAlarmType_ClientUserId,10242,Variable -NonExclusiveRateOfChangeAlarmType_Enable,10243,Method -NonExclusiveRateOfChangeAlarmType_Disable,10244,Method -NonExclusiveRateOfChangeAlarmType_AddComment,10245,Method -NonExclusiveRateOfChangeAlarmType_AddComment_InputArguments,10246,Variable -NonExclusiveRateOfChangeAlarmType_ConditionRefresh,10247,Method -NonExclusiveRateOfChangeAlarmType_ConditionRefresh_InputArguments,10248,Variable -NonExclusiveRateOfChangeAlarmType_AckedState,10249,Variable -NonExclusiveRateOfChangeAlarmType_AckedState_Id,10250,Variable -NonExclusiveRateOfChangeAlarmType_AckedState_Name,10251,Variable -NonExclusiveRateOfChangeAlarmType_AckedState_Number,10252,Variable -NonExclusiveRateOfChangeAlarmType_AckedState_EffectiveDisplayName,10253,Variable -NonExclusiveRateOfChangeAlarmType_AckedState_TransitionTime,10254,Variable -NonExclusiveRateOfChangeAlarmType_AckedState_EffectiveTransitionTime,10255,Variable -NonExclusiveRateOfChangeAlarmType_AckedState_TrueState,10256,Variable -NonExclusiveRateOfChangeAlarmType_AckedState_FalseState,10257,Variable -NonExclusiveRateOfChangeAlarmType_ConfirmedState,10258,Variable -NonExclusiveRateOfChangeAlarmType_ConfirmedState_Id,10259,Variable -NonExclusiveRateOfChangeAlarmType_ConfirmedState_Name,10260,Variable -NonExclusiveRateOfChangeAlarmType_ConfirmedState_Number,10261,Variable -NonExclusiveRateOfChangeAlarmType_ConfirmedState_EffectiveDisplayName,10262,Variable -NonExclusiveRateOfChangeAlarmType_ConfirmedState_TransitionTime,10263,Variable -NonExclusiveRateOfChangeAlarmType_ConfirmedState_EffectiveTransitionTime,10264,Variable -NonExclusiveRateOfChangeAlarmType_ConfirmedState_TrueState,10265,Variable -NonExclusiveRateOfChangeAlarmType_ConfirmedState_FalseState,10266,Variable -NonExclusiveRateOfChangeAlarmType_Acknowledge,10267,Method -NonExclusiveRateOfChangeAlarmType_Acknowledge_InputArguments,10268,Variable -NonExclusiveRateOfChangeAlarmType_Confirm,10269,Method -NonExclusiveRateOfChangeAlarmType_Confirm_InputArguments,10270,Variable -NonExclusiveRateOfChangeAlarmType_ActiveState,10271,Variable -NonExclusiveRateOfChangeAlarmType_ActiveState_Id,10272,Variable -NonExclusiveRateOfChangeAlarmType_ActiveState_Name,10273,Variable -NonExclusiveRateOfChangeAlarmType_ActiveState_Number,10274,Variable -NonExclusiveRateOfChangeAlarmType_ActiveState_EffectiveDisplayName,10275,Variable -NonExclusiveRateOfChangeAlarmType_ActiveState_TransitionTime,10276,Variable -NonExclusiveRateOfChangeAlarmType_ActiveState_EffectiveTransitionTime,10277,Variable -NonExclusiveRateOfChangeAlarmType_ActiveState_TrueState,10278,Variable -NonExclusiveRateOfChangeAlarmType_ActiveState_FalseState,10279,Variable -NonExclusiveRateOfChangeAlarmType_SuppressedState,10280,Variable -NonExclusiveRateOfChangeAlarmType_SuppressedState_Id,10281,Variable -NonExclusiveRateOfChangeAlarmType_SuppressedState_Name,10282,Variable -NonExclusiveRateOfChangeAlarmType_SuppressedState_Number,10283,Variable -NonExclusiveRateOfChangeAlarmType_SuppressedState_EffectiveDisplayName,10284,Variable -NonExclusiveRateOfChangeAlarmType_SuppressedState_TransitionTime,10285,Variable -NonExclusiveRateOfChangeAlarmType_SuppressedState_EffectiveTransitionTime,10286,Variable -NonExclusiveRateOfChangeAlarmType_SuppressedState_TrueState,10287,Variable -NonExclusiveRateOfChangeAlarmType_SuppressedState_FalseState,10288,Variable -NonExclusiveRateOfChangeAlarmType_ShelvingState,10289,Object -NonExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState,10290,Variable -NonExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_Id,10291,Variable -NonExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_Name,10292,Variable -NonExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_Number,10293,Variable -NonExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,10294,Variable -NonExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition,10295,Variable -NonExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_Id,10296,Variable -NonExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_Name,10297,Variable -NonExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_Number,10298,Variable -NonExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_TransitionTime,10299,Variable -NonExclusiveRateOfChangeAlarmType_ShelvingState_UnshelveTime,10300,Variable -NonExclusiveRateOfChangeAlarmType_ShelvingState_Unshelve,10322,Method -NonExclusiveRateOfChangeAlarmType_ShelvingState_OneShotShelve,10323,Method -NonExclusiveRateOfChangeAlarmType_ShelvingState_TimedShelve,10324,Method -NonExclusiveRateOfChangeAlarmType_ShelvingState_TimedShelve_InputArguments,10325,Variable -NonExclusiveRateOfChangeAlarmType_SuppressedOrShelved,10326,Variable -NonExclusiveRateOfChangeAlarmType_MaxTimeShelved,10327,Variable -NonExclusiveRateOfChangeAlarmType_HighHighState,10328,Variable -NonExclusiveRateOfChangeAlarmType_HighHighState_Id,10329,Variable -NonExclusiveRateOfChangeAlarmType_HighHighState_Name,10330,Variable -NonExclusiveRateOfChangeAlarmType_HighHighState_Number,10331,Variable -NonExclusiveRateOfChangeAlarmType_HighHighState_EffectiveDisplayName,10332,Variable -NonExclusiveRateOfChangeAlarmType_HighHighState_TransitionTime,10333,Variable -NonExclusiveRateOfChangeAlarmType_HighHighState_EffectiveTransitionTime,10334,Variable -NonExclusiveRateOfChangeAlarmType_HighHighState_TrueState,10335,Variable -NonExclusiveRateOfChangeAlarmType_HighHighState_FalseState,10336,Variable -NonExclusiveRateOfChangeAlarmType_HighState,10337,Variable -NonExclusiveRateOfChangeAlarmType_HighState_Id,10338,Variable -NonExclusiveRateOfChangeAlarmType_HighState_Name,10339,Variable -NonExclusiveRateOfChangeAlarmType_HighState_Number,10340,Variable -NonExclusiveRateOfChangeAlarmType_HighState_EffectiveDisplayName,10341,Variable -NonExclusiveRateOfChangeAlarmType_HighState_TransitionTime,10342,Variable -NonExclusiveRateOfChangeAlarmType_HighState_EffectiveTransitionTime,10343,Variable -NonExclusiveRateOfChangeAlarmType_HighState_TrueState,10344,Variable -NonExclusiveRateOfChangeAlarmType_HighState_FalseState,10345,Variable -NonExclusiveRateOfChangeAlarmType_LowState,10346,Variable -NonExclusiveRateOfChangeAlarmType_LowState_Id,10347,Variable -NonExclusiveRateOfChangeAlarmType_LowState_Name,10348,Variable -NonExclusiveRateOfChangeAlarmType_LowState_Number,10349,Variable -NonExclusiveRateOfChangeAlarmType_LowState_EffectiveDisplayName,10350,Variable -NonExclusiveRateOfChangeAlarmType_LowState_TransitionTime,10351,Variable -NonExclusiveRateOfChangeAlarmType_LowState_EffectiveTransitionTime,10352,Variable -NonExclusiveRateOfChangeAlarmType_LowState_TrueState,10353,Variable -NonExclusiveRateOfChangeAlarmType_LowState_FalseState,10354,Variable -NonExclusiveRateOfChangeAlarmType_LowLowState,10355,Variable -NonExclusiveRateOfChangeAlarmType_LowLowState_Id,10356,Variable -NonExclusiveRateOfChangeAlarmType_LowLowState_Name,10357,Variable -NonExclusiveRateOfChangeAlarmType_LowLowState_Number,10358,Variable -NonExclusiveRateOfChangeAlarmType_LowLowState_EffectiveDisplayName,10359,Variable -NonExclusiveRateOfChangeAlarmType_LowLowState_TransitionTime,10360,Variable -NonExclusiveRateOfChangeAlarmType_LowLowState_EffectiveTransitionTime,10361,Variable -NonExclusiveRateOfChangeAlarmType_LowLowState_TrueState,10362,Variable -NonExclusiveRateOfChangeAlarmType_LowLowState_FalseState,10363,Variable -NonExclusiveRateOfChangeAlarmType_HighHighLimit,10364,Variable -NonExclusiveRateOfChangeAlarmType_HighLimit,10365,Variable -NonExclusiveRateOfChangeAlarmType_LowLimit,10366,Variable -NonExclusiveRateOfChangeAlarmType_LowLowLimit,10367,Variable -NonExclusiveDeviationAlarmType,10368,ObjectType -NonExclusiveDeviationAlarmType_EventId,10369,Variable -NonExclusiveDeviationAlarmType_EventType,10370,Variable -NonExclusiveDeviationAlarmType_SourceNode,10371,Variable -NonExclusiveDeviationAlarmType_SourceName,10372,Variable -NonExclusiveDeviationAlarmType_Time,10373,Variable -NonExclusiveDeviationAlarmType_ReceiveTime,10374,Variable -NonExclusiveDeviationAlarmType_LocalTime,10375,Variable -NonExclusiveDeviationAlarmType_Message,10376,Variable -NonExclusiveDeviationAlarmType_Severity,10377,Variable -NonExclusiveDeviationAlarmType_ConditionName,10378,Variable -NonExclusiveDeviationAlarmType_BranchId,10379,Variable -NonExclusiveDeviationAlarmType_Retain,10380,Variable -NonExclusiveDeviationAlarmType_EnabledState,10381,Variable -NonExclusiveDeviationAlarmType_EnabledState_Id,10382,Variable -NonExclusiveDeviationAlarmType_EnabledState_Name,10383,Variable -NonExclusiveDeviationAlarmType_EnabledState_Number,10384,Variable -NonExclusiveDeviationAlarmType_EnabledState_EffectiveDisplayName,10385,Variable -NonExclusiveDeviationAlarmType_EnabledState_TransitionTime,10386,Variable -NonExclusiveDeviationAlarmType_EnabledState_EffectiveTransitionTime,10387,Variable -NonExclusiveDeviationAlarmType_EnabledState_TrueState,10388,Variable -NonExclusiveDeviationAlarmType_EnabledState_FalseState,10389,Variable -NonExclusiveDeviationAlarmType_Quality,10390,Variable -NonExclusiveDeviationAlarmType_Quality_SourceTimestamp,10391,Variable -NonExclusiveDeviationAlarmType_LastSeverity,10392,Variable -NonExclusiveDeviationAlarmType_LastSeverity_SourceTimestamp,10393,Variable -NonExclusiveDeviationAlarmType_Comment,10394,Variable -NonExclusiveDeviationAlarmType_Comment_SourceTimestamp,10395,Variable -NonExclusiveDeviationAlarmType_ClientUserId,10396,Variable -NonExclusiveDeviationAlarmType_Enable,10397,Method -NonExclusiveDeviationAlarmType_Disable,10398,Method -NonExclusiveDeviationAlarmType_AddComment,10399,Method -NonExclusiveDeviationAlarmType_AddComment_InputArguments,10400,Variable -NonExclusiveDeviationAlarmType_ConditionRefresh,10401,Method -NonExclusiveDeviationAlarmType_ConditionRefresh_InputArguments,10402,Variable -NonExclusiveDeviationAlarmType_AckedState,10403,Variable -NonExclusiveDeviationAlarmType_AckedState_Id,10404,Variable -NonExclusiveDeviationAlarmType_AckedState_Name,10405,Variable -NonExclusiveDeviationAlarmType_AckedState_Number,10406,Variable -NonExclusiveDeviationAlarmType_AckedState_EffectiveDisplayName,10407,Variable -NonExclusiveDeviationAlarmType_AckedState_TransitionTime,10408,Variable -NonExclusiveDeviationAlarmType_AckedState_EffectiveTransitionTime,10409,Variable -NonExclusiveDeviationAlarmType_AckedState_TrueState,10410,Variable -NonExclusiveDeviationAlarmType_AckedState_FalseState,10411,Variable -NonExclusiveDeviationAlarmType_ConfirmedState,10412,Variable -NonExclusiveDeviationAlarmType_ConfirmedState_Id,10413,Variable -NonExclusiveDeviationAlarmType_ConfirmedState_Name,10414,Variable -NonExclusiveDeviationAlarmType_ConfirmedState_Number,10415,Variable -NonExclusiveDeviationAlarmType_ConfirmedState_EffectiveDisplayName,10416,Variable -NonExclusiveDeviationAlarmType_ConfirmedState_TransitionTime,10417,Variable -NonExclusiveDeviationAlarmType_ConfirmedState_EffectiveTransitionTime,10418,Variable -NonExclusiveDeviationAlarmType_ConfirmedState_TrueState,10419,Variable -NonExclusiveDeviationAlarmType_ConfirmedState_FalseState,10420,Variable -NonExclusiveDeviationAlarmType_Acknowledge,10421,Method -NonExclusiveDeviationAlarmType_Acknowledge_InputArguments,10422,Variable -NonExclusiveDeviationAlarmType_Confirm,10423,Method -NonExclusiveDeviationAlarmType_Confirm_InputArguments,10424,Variable -NonExclusiveDeviationAlarmType_ActiveState,10425,Variable -NonExclusiveDeviationAlarmType_ActiveState_Id,10426,Variable -NonExclusiveDeviationAlarmType_ActiveState_Name,10427,Variable -NonExclusiveDeviationAlarmType_ActiveState_Number,10428,Variable -NonExclusiveDeviationAlarmType_ActiveState_EffectiveDisplayName,10429,Variable -NonExclusiveDeviationAlarmType_ActiveState_TransitionTime,10430,Variable -NonExclusiveDeviationAlarmType_ActiveState_EffectiveTransitionTime,10431,Variable -NonExclusiveDeviationAlarmType_ActiveState_TrueState,10432,Variable -NonExclusiveDeviationAlarmType_ActiveState_FalseState,10433,Variable -NonExclusiveDeviationAlarmType_SuppressedState,10434,Variable -NonExclusiveDeviationAlarmType_SuppressedState_Id,10435,Variable -NonExclusiveDeviationAlarmType_SuppressedState_Name,10436,Variable -NonExclusiveDeviationAlarmType_SuppressedState_Number,10437,Variable -NonExclusiveDeviationAlarmType_SuppressedState_EffectiveDisplayName,10438,Variable -NonExclusiveDeviationAlarmType_SuppressedState_TransitionTime,10439,Variable -NonExclusiveDeviationAlarmType_SuppressedState_EffectiveTransitionTime,10440,Variable -NonExclusiveDeviationAlarmType_SuppressedState_TrueState,10441,Variable -NonExclusiveDeviationAlarmType_SuppressedState_FalseState,10442,Variable -NonExclusiveDeviationAlarmType_ShelvingState,10443,Object -NonExclusiveDeviationAlarmType_ShelvingState_CurrentState,10444,Variable -NonExclusiveDeviationAlarmType_ShelvingState_CurrentState_Id,10445,Variable -NonExclusiveDeviationAlarmType_ShelvingState_CurrentState_Name,10446,Variable -NonExclusiveDeviationAlarmType_ShelvingState_CurrentState_Number,10447,Variable -NonExclusiveDeviationAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,10448,Variable -NonExclusiveDeviationAlarmType_ShelvingState_LastTransition,10449,Variable -NonExclusiveDeviationAlarmType_ShelvingState_LastTransition_Id,10450,Variable -NonExclusiveDeviationAlarmType_ShelvingState_LastTransition_Name,10451,Variable -NonExclusiveDeviationAlarmType_ShelvingState_LastTransition_Number,10452,Variable -NonExclusiveDeviationAlarmType_ShelvingState_LastTransition_TransitionTime,10453,Variable -NonExclusiveDeviationAlarmType_ShelvingState_UnshelveTime,10454,Variable -NonExclusiveDeviationAlarmType_ShelvingState_Unshelve,10476,Method -NonExclusiveDeviationAlarmType_ShelvingState_OneShotShelve,10477,Method -NonExclusiveDeviationAlarmType_ShelvingState_TimedShelve,10478,Method -NonExclusiveDeviationAlarmType_ShelvingState_TimedShelve_InputArguments,10479,Variable -NonExclusiveDeviationAlarmType_SuppressedOrShelved,10480,Variable -NonExclusiveDeviationAlarmType_MaxTimeShelved,10481,Variable -NonExclusiveDeviationAlarmType_HighHighState,10482,Variable -NonExclusiveDeviationAlarmType_HighHighState_Id,10483,Variable -NonExclusiveDeviationAlarmType_HighHighState_Name,10484,Variable -NonExclusiveDeviationAlarmType_HighHighState_Number,10485,Variable -NonExclusiveDeviationAlarmType_HighHighState_EffectiveDisplayName,10486,Variable -NonExclusiveDeviationAlarmType_HighHighState_TransitionTime,10487,Variable -NonExclusiveDeviationAlarmType_HighHighState_EffectiveTransitionTime,10488,Variable -NonExclusiveDeviationAlarmType_HighHighState_TrueState,10489,Variable -NonExclusiveDeviationAlarmType_HighHighState_FalseState,10490,Variable -NonExclusiveDeviationAlarmType_HighState,10491,Variable -NonExclusiveDeviationAlarmType_HighState_Id,10492,Variable -NonExclusiveDeviationAlarmType_HighState_Name,10493,Variable -NonExclusiveDeviationAlarmType_HighState_Number,10494,Variable -NonExclusiveDeviationAlarmType_HighState_EffectiveDisplayName,10495,Variable -NonExclusiveDeviationAlarmType_HighState_TransitionTime,10496,Variable -NonExclusiveDeviationAlarmType_HighState_EffectiveTransitionTime,10497,Variable -NonExclusiveDeviationAlarmType_HighState_TrueState,10498,Variable -NonExclusiveDeviationAlarmType_HighState_FalseState,10499,Variable -NonExclusiveDeviationAlarmType_LowState,10500,Variable -NonExclusiveDeviationAlarmType_LowState_Id,10501,Variable -NonExclusiveDeviationAlarmType_LowState_Name,10502,Variable -NonExclusiveDeviationAlarmType_LowState_Number,10503,Variable -NonExclusiveDeviationAlarmType_LowState_EffectiveDisplayName,10504,Variable -NonExclusiveDeviationAlarmType_LowState_TransitionTime,10505,Variable -NonExclusiveDeviationAlarmType_LowState_EffectiveTransitionTime,10506,Variable -NonExclusiveDeviationAlarmType_LowState_TrueState,10507,Variable -NonExclusiveDeviationAlarmType_LowState_FalseState,10508,Variable -NonExclusiveDeviationAlarmType_LowLowState,10509,Variable -NonExclusiveDeviationAlarmType_LowLowState_Id,10510,Variable -NonExclusiveDeviationAlarmType_LowLowState_Name,10511,Variable -NonExclusiveDeviationAlarmType_LowLowState_Number,10512,Variable -NonExclusiveDeviationAlarmType_LowLowState_EffectiveDisplayName,10513,Variable -NonExclusiveDeviationAlarmType_LowLowState_TransitionTime,10514,Variable -NonExclusiveDeviationAlarmType_LowLowState_EffectiveTransitionTime,10515,Variable -NonExclusiveDeviationAlarmType_LowLowState_TrueState,10516,Variable -NonExclusiveDeviationAlarmType_LowLowState_FalseState,10517,Variable -NonExclusiveDeviationAlarmType_HighHighLimit,10518,Variable -NonExclusiveDeviationAlarmType_HighLimit,10519,Variable -NonExclusiveDeviationAlarmType_LowLimit,10520,Variable -NonExclusiveDeviationAlarmType_LowLowLimit,10521,Variable -NonExclusiveDeviationAlarmType_SetpointNode,10522,Variable -DiscreteAlarmType,10523,ObjectType -DiscreteAlarmType_EventId,10524,Variable -DiscreteAlarmType_EventType,10525,Variable -DiscreteAlarmType_SourceNode,10526,Variable -DiscreteAlarmType_SourceName,10527,Variable -DiscreteAlarmType_Time,10528,Variable -DiscreteAlarmType_ReceiveTime,10529,Variable -DiscreteAlarmType_LocalTime,10530,Variable -DiscreteAlarmType_Message,10531,Variable -DiscreteAlarmType_Severity,10532,Variable -DiscreteAlarmType_ConditionName,10533,Variable -DiscreteAlarmType_BranchId,10534,Variable -DiscreteAlarmType_Retain,10535,Variable -DiscreteAlarmType_EnabledState,10536,Variable -DiscreteAlarmType_EnabledState_Id,10537,Variable -DiscreteAlarmType_EnabledState_Name,10538,Variable -DiscreteAlarmType_EnabledState_Number,10539,Variable -DiscreteAlarmType_EnabledState_EffectiveDisplayName,10540,Variable -DiscreteAlarmType_EnabledState_TransitionTime,10541,Variable -DiscreteAlarmType_EnabledState_EffectiveTransitionTime,10542,Variable -DiscreteAlarmType_EnabledState_TrueState,10543,Variable -DiscreteAlarmType_EnabledState_FalseState,10544,Variable -DiscreteAlarmType_Quality,10545,Variable -DiscreteAlarmType_Quality_SourceTimestamp,10546,Variable -DiscreteAlarmType_LastSeverity,10547,Variable -DiscreteAlarmType_LastSeverity_SourceTimestamp,10548,Variable -DiscreteAlarmType_Comment,10549,Variable -DiscreteAlarmType_Comment_SourceTimestamp,10550,Variable -DiscreteAlarmType_ClientUserId,10551,Variable -DiscreteAlarmType_Enable,10552,Method -DiscreteAlarmType_Disable,10553,Method -DiscreteAlarmType_AddComment,10554,Method -DiscreteAlarmType_AddComment_InputArguments,10555,Variable -DiscreteAlarmType_ConditionRefresh,10556,Method -DiscreteAlarmType_ConditionRefresh_InputArguments,10557,Variable -DiscreteAlarmType_AckedState,10558,Variable -DiscreteAlarmType_AckedState_Id,10559,Variable -DiscreteAlarmType_AckedState_Name,10560,Variable -DiscreteAlarmType_AckedState_Number,10561,Variable -DiscreteAlarmType_AckedState_EffectiveDisplayName,10562,Variable -DiscreteAlarmType_AckedState_TransitionTime,10563,Variable -DiscreteAlarmType_AckedState_EffectiveTransitionTime,10564,Variable -DiscreteAlarmType_AckedState_TrueState,10565,Variable -DiscreteAlarmType_AckedState_FalseState,10566,Variable -DiscreteAlarmType_ConfirmedState,10567,Variable -DiscreteAlarmType_ConfirmedState_Id,10568,Variable -DiscreteAlarmType_ConfirmedState_Name,10569,Variable -DiscreteAlarmType_ConfirmedState_Number,10570,Variable -DiscreteAlarmType_ConfirmedState_EffectiveDisplayName,10571,Variable -DiscreteAlarmType_ConfirmedState_TransitionTime,10572,Variable -DiscreteAlarmType_ConfirmedState_EffectiveTransitionTime,10573,Variable -DiscreteAlarmType_ConfirmedState_TrueState,10574,Variable -DiscreteAlarmType_ConfirmedState_FalseState,10575,Variable -DiscreteAlarmType_Acknowledge,10576,Method -DiscreteAlarmType_Acknowledge_InputArguments,10577,Variable -DiscreteAlarmType_Confirm,10578,Method -DiscreteAlarmType_Confirm_InputArguments,10579,Variable -DiscreteAlarmType_ActiveState,10580,Variable -DiscreteAlarmType_ActiveState_Id,10581,Variable -DiscreteAlarmType_ActiveState_Name,10582,Variable -DiscreteAlarmType_ActiveState_Number,10583,Variable -DiscreteAlarmType_ActiveState_EffectiveDisplayName,10584,Variable -DiscreteAlarmType_ActiveState_TransitionTime,10585,Variable -DiscreteAlarmType_ActiveState_EffectiveTransitionTime,10586,Variable -DiscreteAlarmType_ActiveState_TrueState,10587,Variable -DiscreteAlarmType_ActiveState_FalseState,10588,Variable -DiscreteAlarmType_SuppressedState,10589,Variable -DiscreteAlarmType_SuppressedState_Id,10590,Variable -DiscreteAlarmType_SuppressedState_Name,10591,Variable -DiscreteAlarmType_SuppressedState_Number,10592,Variable -DiscreteAlarmType_SuppressedState_EffectiveDisplayName,10593,Variable -DiscreteAlarmType_SuppressedState_TransitionTime,10594,Variable -DiscreteAlarmType_SuppressedState_EffectiveTransitionTime,10595,Variable -DiscreteAlarmType_SuppressedState_TrueState,10596,Variable -DiscreteAlarmType_SuppressedState_FalseState,10597,Variable -DiscreteAlarmType_ShelvingState,10598,Object -DiscreteAlarmType_ShelvingState_CurrentState,10599,Variable -DiscreteAlarmType_ShelvingState_CurrentState_Id,10600,Variable -DiscreteAlarmType_ShelvingState_CurrentState_Name,10601,Variable -DiscreteAlarmType_ShelvingState_CurrentState_Number,10602,Variable -DiscreteAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,10603,Variable -DiscreteAlarmType_ShelvingState_LastTransition,10604,Variable -DiscreteAlarmType_ShelvingState_LastTransition_Id,10605,Variable -DiscreteAlarmType_ShelvingState_LastTransition_Name,10606,Variable -DiscreteAlarmType_ShelvingState_LastTransition_Number,10607,Variable -DiscreteAlarmType_ShelvingState_LastTransition_TransitionTime,10608,Variable -DiscreteAlarmType_ShelvingState_UnshelveTime,10609,Variable -DiscreteAlarmType_ShelvingState_Unshelve,10631,Method -DiscreteAlarmType_ShelvingState_OneShotShelve,10632,Method -DiscreteAlarmType_ShelvingState_TimedShelve,10633,Method -DiscreteAlarmType_ShelvingState_TimedShelve_InputArguments,10634,Variable -DiscreteAlarmType_SuppressedOrShelved,10635,Variable -DiscreteAlarmType_MaxTimeShelved,10636,Variable -OffNormalAlarmType,10637,ObjectType -OffNormalAlarmType_EventId,10638,Variable -OffNormalAlarmType_EventType,10639,Variable -OffNormalAlarmType_SourceNode,10640,Variable -OffNormalAlarmType_SourceName,10641,Variable -OffNormalAlarmType_Time,10642,Variable -OffNormalAlarmType_ReceiveTime,10643,Variable -OffNormalAlarmType_LocalTime,10644,Variable -OffNormalAlarmType_Message,10645,Variable -OffNormalAlarmType_Severity,10646,Variable -OffNormalAlarmType_ConditionName,10647,Variable -OffNormalAlarmType_BranchId,10648,Variable -OffNormalAlarmType_Retain,10649,Variable -OffNormalAlarmType_EnabledState,10650,Variable -OffNormalAlarmType_EnabledState_Id,10651,Variable -OffNormalAlarmType_EnabledState_Name,10652,Variable -OffNormalAlarmType_EnabledState_Number,10653,Variable -OffNormalAlarmType_EnabledState_EffectiveDisplayName,10654,Variable -OffNormalAlarmType_EnabledState_TransitionTime,10655,Variable -OffNormalAlarmType_EnabledState_EffectiveTransitionTime,10656,Variable -OffNormalAlarmType_EnabledState_TrueState,10657,Variable -OffNormalAlarmType_EnabledState_FalseState,10658,Variable -OffNormalAlarmType_Quality,10659,Variable -OffNormalAlarmType_Quality_SourceTimestamp,10660,Variable -OffNormalAlarmType_LastSeverity,10661,Variable -OffNormalAlarmType_LastSeverity_SourceTimestamp,10662,Variable -OffNormalAlarmType_Comment,10663,Variable -OffNormalAlarmType_Comment_SourceTimestamp,10664,Variable -OffNormalAlarmType_ClientUserId,10665,Variable -OffNormalAlarmType_Enable,10666,Method -OffNormalAlarmType_Disable,10667,Method -OffNormalAlarmType_AddComment,10668,Method -OffNormalAlarmType_AddComment_InputArguments,10669,Variable -OffNormalAlarmType_ConditionRefresh,10670,Method -OffNormalAlarmType_ConditionRefresh_InputArguments,10671,Variable -OffNormalAlarmType_AckedState,10672,Variable -OffNormalAlarmType_AckedState_Id,10673,Variable -OffNormalAlarmType_AckedState_Name,10674,Variable -OffNormalAlarmType_AckedState_Number,10675,Variable -OffNormalAlarmType_AckedState_EffectiveDisplayName,10676,Variable -OffNormalAlarmType_AckedState_TransitionTime,10677,Variable -OffNormalAlarmType_AckedState_EffectiveTransitionTime,10678,Variable -OffNormalAlarmType_AckedState_TrueState,10679,Variable -OffNormalAlarmType_AckedState_FalseState,10680,Variable -OffNormalAlarmType_ConfirmedState,10681,Variable -OffNormalAlarmType_ConfirmedState_Id,10682,Variable -OffNormalAlarmType_ConfirmedState_Name,10683,Variable -OffNormalAlarmType_ConfirmedState_Number,10684,Variable -OffNormalAlarmType_ConfirmedState_EffectiveDisplayName,10685,Variable -OffNormalAlarmType_ConfirmedState_TransitionTime,10686,Variable -OffNormalAlarmType_ConfirmedState_EffectiveTransitionTime,10687,Variable -OffNormalAlarmType_ConfirmedState_TrueState,10688,Variable -OffNormalAlarmType_ConfirmedState_FalseState,10689,Variable -OffNormalAlarmType_Acknowledge,10690,Method -OffNormalAlarmType_Acknowledge_InputArguments,10691,Variable -OffNormalAlarmType_Confirm,10692,Method -OffNormalAlarmType_Confirm_InputArguments,10693,Variable -OffNormalAlarmType_ActiveState,10694,Variable -OffNormalAlarmType_ActiveState_Id,10695,Variable -OffNormalAlarmType_ActiveState_Name,10696,Variable -OffNormalAlarmType_ActiveState_Number,10697,Variable -OffNormalAlarmType_ActiveState_EffectiveDisplayName,10698,Variable -OffNormalAlarmType_ActiveState_TransitionTime,10699,Variable -OffNormalAlarmType_ActiveState_EffectiveTransitionTime,10700,Variable -OffNormalAlarmType_ActiveState_TrueState,10701,Variable -OffNormalAlarmType_ActiveState_FalseState,10702,Variable -OffNormalAlarmType_SuppressedState,10703,Variable -OffNormalAlarmType_SuppressedState_Id,10704,Variable -OffNormalAlarmType_SuppressedState_Name,10705,Variable -OffNormalAlarmType_SuppressedState_Number,10706,Variable -OffNormalAlarmType_SuppressedState_EffectiveDisplayName,10707,Variable -OffNormalAlarmType_SuppressedState_TransitionTime,10708,Variable -OffNormalAlarmType_SuppressedState_EffectiveTransitionTime,10709,Variable -OffNormalAlarmType_SuppressedState_TrueState,10710,Variable -OffNormalAlarmType_SuppressedState_FalseState,10711,Variable -OffNormalAlarmType_ShelvingState,10712,Object -OffNormalAlarmType_ShelvingState_CurrentState,10713,Variable -OffNormalAlarmType_ShelvingState_CurrentState_Id,10714,Variable -OffNormalAlarmType_ShelvingState_CurrentState_Name,10715,Variable -OffNormalAlarmType_ShelvingState_CurrentState_Number,10716,Variable -OffNormalAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,10717,Variable -OffNormalAlarmType_ShelvingState_LastTransition,10718,Variable -OffNormalAlarmType_ShelvingState_LastTransition_Id,10719,Variable -OffNormalAlarmType_ShelvingState_LastTransition_Name,10720,Variable -OffNormalAlarmType_ShelvingState_LastTransition_Number,10721,Variable -OffNormalAlarmType_ShelvingState_LastTransition_TransitionTime,10722,Variable -OffNormalAlarmType_ShelvingState_UnshelveTime,10723,Variable -OffNormalAlarmType_ShelvingState_Unshelve,10745,Method -OffNormalAlarmType_ShelvingState_OneShotShelve,10746,Method -OffNormalAlarmType_ShelvingState_TimedShelve,10747,Method -OffNormalAlarmType_ShelvingState_TimedShelve_InputArguments,10748,Variable -OffNormalAlarmType_SuppressedOrShelved,10749,Variable -OffNormalAlarmType_MaxTimeShelved,10750,Variable -TripAlarmType,10751,ObjectType -TripAlarmType_EventId,10752,Variable -TripAlarmType_EventType,10753,Variable -TripAlarmType_SourceNode,10754,Variable -TripAlarmType_SourceName,10755,Variable -TripAlarmType_Time,10756,Variable -TripAlarmType_ReceiveTime,10757,Variable -TripAlarmType_LocalTime,10758,Variable -TripAlarmType_Message,10759,Variable -TripAlarmType_Severity,10760,Variable -TripAlarmType_ConditionName,10761,Variable -TripAlarmType_BranchId,10762,Variable -TripAlarmType_Retain,10763,Variable -TripAlarmType_EnabledState,10764,Variable -TripAlarmType_EnabledState_Id,10765,Variable -TripAlarmType_EnabledState_Name,10766,Variable -TripAlarmType_EnabledState_Number,10767,Variable -TripAlarmType_EnabledState_EffectiveDisplayName,10768,Variable -TripAlarmType_EnabledState_TransitionTime,10769,Variable -TripAlarmType_EnabledState_EffectiveTransitionTime,10770,Variable -TripAlarmType_EnabledState_TrueState,10771,Variable -TripAlarmType_EnabledState_FalseState,10772,Variable -TripAlarmType_Quality,10773,Variable -TripAlarmType_Quality_SourceTimestamp,10774,Variable -TripAlarmType_LastSeverity,10775,Variable -TripAlarmType_LastSeverity_SourceTimestamp,10776,Variable -TripAlarmType_Comment,10777,Variable -TripAlarmType_Comment_SourceTimestamp,10778,Variable -TripAlarmType_ClientUserId,10779,Variable -TripAlarmType_Enable,10780,Method -TripAlarmType_Disable,10781,Method -TripAlarmType_AddComment,10782,Method -TripAlarmType_AddComment_InputArguments,10783,Variable -TripAlarmType_ConditionRefresh,10784,Method -TripAlarmType_ConditionRefresh_InputArguments,10785,Variable -TripAlarmType_AckedState,10786,Variable -TripAlarmType_AckedState_Id,10787,Variable -TripAlarmType_AckedState_Name,10788,Variable -TripAlarmType_AckedState_Number,10789,Variable -TripAlarmType_AckedState_EffectiveDisplayName,10790,Variable -TripAlarmType_AckedState_TransitionTime,10791,Variable -TripAlarmType_AckedState_EffectiveTransitionTime,10792,Variable -TripAlarmType_AckedState_TrueState,10793,Variable -TripAlarmType_AckedState_FalseState,10794,Variable -TripAlarmType_ConfirmedState,10795,Variable -TripAlarmType_ConfirmedState_Id,10796,Variable -TripAlarmType_ConfirmedState_Name,10797,Variable -TripAlarmType_ConfirmedState_Number,10798,Variable -TripAlarmType_ConfirmedState_EffectiveDisplayName,10799,Variable -TripAlarmType_ConfirmedState_TransitionTime,10800,Variable -TripAlarmType_ConfirmedState_EffectiveTransitionTime,10801,Variable -TripAlarmType_ConfirmedState_TrueState,10802,Variable -TripAlarmType_ConfirmedState_FalseState,10803,Variable -TripAlarmType_Acknowledge,10804,Method -TripAlarmType_Acknowledge_InputArguments,10805,Variable -TripAlarmType_Confirm,10806,Method -TripAlarmType_Confirm_InputArguments,10807,Variable -TripAlarmType_ActiveState,10808,Variable -TripAlarmType_ActiveState_Id,10809,Variable -TripAlarmType_ActiveState_Name,10810,Variable -TripAlarmType_ActiveState_Number,10811,Variable -TripAlarmType_ActiveState_EffectiveDisplayName,10812,Variable -TripAlarmType_ActiveState_TransitionTime,10813,Variable -TripAlarmType_ActiveState_EffectiveTransitionTime,10814,Variable -TripAlarmType_ActiveState_TrueState,10815,Variable -TripAlarmType_ActiveState_FalseState,10816,Variable -TripAlarmType_SuppressedState,10817,Variable -TripAlarmType_SuppressedState_Id,10818,Variable -TripAlarmType_SuppressedState_Name,10819,Variable -TripAlarmType_SuppressedState_Number,10820,Variable -TripAlarmType_SuppressedState_EffectiveDisplayName,10821,Variable -TripAlarmType_SuppressedState_TransitionTime,10822,Variable -TripAlarmType_SuppressedState_EffectiveTransitionTime,10823,Variable -TripAlarmType_SuppressedState_TrueState,10824,Variable -TripAlarmType_SuppressedState_FalseState,10825,Variable -TripAlarmType_ShelvingState,10826,Object -TripAlarmType_ShelvingState_CurrentState,10827,Variable -TripAlarmType_ShelvingState_CurrentState_Id,10828,Variable -TripAlarmType_ShelvingState_CurrentState_Name,10829,Variable -TripAlarmType_ShelvingState_CurrentState_Number,10830,Variable -TripAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,10831,Variable -TripAlarmType_ShelvingState_LastTransition,10832,Variable -TripAlarmType_ShelvingState_LastTransition_Id,10833,Variable -TripAlarmType_ShelvingState_LastTransition_Name,10834,Variable -TripAlarmType_ShelvingState_LastTransition_Number,10835,Variable -TripAlarmType_ShelvingState_LastTransition_TransitionTime,10836,Variable -TripAlarmType_ShelvingState_UnshelveTime,10837,Variable -TripAlarmType_ShelvingState_Unshelve,10859,Method -TripAlarmType_ShelvingState_OneShotShelve,10860,Method -TripAlarmType_ShelvingState_TimedShelve,10861,Method -TripAlarmType_ShelvingState_TimedShelve_InputArguments,10862,Variable -TripAlarmType_SuppressedOrShelved,10863,Variable -TripAlarmType_MaxTimeShelved,10864,Variable -AuditConditionShelvingEventType,11093,ObjectType -AuditConditionShelvingEventType_EventId,11094,Variable -AuditConditionShelvingEventType_EventType,11095,Variable -AuditConditionShelvingEventType_SourceNode,11096,Variable -AuditConditionShelvingEventType_SourceName,11097,Variable -AuditConditionShelvingEventType_Time,11098,Variable -AuditConditionShelvingEventType_ReceiveTime,11099,Variable -AuditConditionShelvingEventType_LocalTime,11100,Variable -AuditConditionShelvingEventType_Message,11101,Variable -AuditConditionShelvingEventType_Severity,11102,Variable -AuditConditionShelvingEventType_ActionTimeStamp,11103,Variable -AuditConditionShelvingEventType_Status,11104,Variable -AuditConditionShelvingEventType_ServerId,11105,Variable -AuditConditionShelvingEventType_ClientAuditEntryId,11106,Variable -AuditConditionShelvingEventType_ClientUserId,11107,Variable -AuditConditionShelvingEventType_MethodId,11108,Variable -AuditConditionShelvingEventType_InputArguments,11109,Variable -TwoStateVariableType_TrueState,11110,Variable -TwoStateVariableType_FalseState,11111,Variable -ConditionType_ConditionClassId,11112,Variable -ConditionType_ConditionClassName,11113,Variable -DialogConditionType_ConditionClassId,11114,Variable -DialogConditionType_ConditionClassName,11115,Variable -AcknowledgeableConditionType_ConditionClassId,11116,Variable -AcknowledgeableConditionType_ConditionClassName,11117,Variable -AlarmConditionType_ConditionClassId,11118,Variable -AlarmConditionType_ConditionClassName,11119,Variable -AlarmConditionType_InputNode,11120,Variable -LimitAlarmType_ConditionClassId,11121,Variable -LimitAlarmType_ConditionClassName,11122,Variable -LimitAlarmType_InputNode,11123,Variable -LimitAlarmType_HighHighLimit,11124,Variable -LimitAlarmType_HighLimit,11125,Variable -LimitAlarmType_LowLimit,11126,Variable -LimitAlarmType_LowLowLimit,11127,Variable -ExclusiveLimitAlarmType_ConditionClassId,11128,Variable -ExclusiveLimitAlarmType_ConditionClassName,11129,Variable -ExclusiveLimitAlarmType_InputNode,11130,Variable -ExclusiveLevelAlarmType_ConditionClassId,11131,Variable -ExclusiveLevelAlarmType_ConditionClassName,11132,Variable -ExclusiveLevelAlarmType_InputNode,11133,Variable -ExclusiveRateOfChangeAlarmType_ConditionClassId,11134,Variable -ExclusiveRateOfChangeAlarmType_ConditionClassName,11135,Variable -ExclusiveRateOfChangeAlarmType_InputNode,11136,Variable -ExclusiveDeviationAlarmType_ConditionClassId,11137,Variable -ExclusiveDeviationAlarmType_ConditionClassName,11138,Variable -ExclusiveDeviationAlarmType_InputNode,11139,Variable -NonExclusiveLimitAlarmType_ConditionClassId,11140,Variable -NonExclusiveLimitAlarmType_ConditionClassName,11141,Variable -NonExclusiveLimitAlarmType_InputNode,11142,Variable -NonExclusiveLevelAlarmType_ConditionClassId,11143,Variable -NonExclusiveLevelAlarmType_ConditionClassName,11144,Variable -NonExclusiveLevelAlarmType_InputNode,11145,Variable -NonExclusiveRateOfChangeAlarmType_ConditionClassId,11146,Variable -NonExclusiveRateOfChangeAlarmType_ConditionClassName,11147,Variable -NonExclusiveRateOfChangeAlarmType_InputNode,11148,Variable -NonExclusiveDeviationAlarmType_ConditionClassId,11149,Variable -NonExclusiveDeviationAlarmType_ConditionClassName,11150,Variable -NonExclusiveDeviationAlarmType_InputNode,11151,Variable -DiscreteAlarmType_ConditionClassId,11152,Variable -DiscreteAlarmType_ConditionClassName,11153,Variable -DiscreteAlarmType_InputNode,11154,Variable -OffNormalAlarmType_ConditionClassId,11155,Variable -OffNormalAlarmType_ConditionClassName,11156,Variable -OffNormalAlarmType_InputNode,11157,Variable -OffNormalAlarmType_NormalState,11158,Variable -TripAlarmType_ConditionClassId,11159,Variable -TripAlarmType_ConditionClassName,11160,Variable -TripAlarmType_InputNode,11161,Variable -TripAlarmType_NormalState,11162,Variable -BaseConditionClassType,11163,ObjectType -ProcessConditionClassType,11164,ObjectType -MaintenanceConditionClassType,11165,ObjectType -SystemConditionClassType,11166,ObjectType -HistoricalDataConfigurationType_AggregateConfiguration_TreatUncertainAsBad,11168,Variable -HistoricalDataConfigurationType_AggregateConfiguration_PercentDataBad,11169,Variable -HistoricalDataConfigurationType_AggregateConfiguration_PercentDataGood,11170,Variable -HistoricalDataConfigurationType_AggregateConfiguration_UseSlopedExtrapolation,11171,Variable -HistoryServerCapabilitiesType_AggregateFunctions,11172,Object -AggregateConfigurationType,11187,ObjectType -AggregateConfigurationType_TreatUncertainAsBad,11188,Variable -AggregateConfigurationType_PercentDataBad,11189,Variable -AggregateConfigurationType_PercentDataGood,11190,Variable -AggregateConfigurationType_UseSlopedExtrapolation,11191,Variable -HistoryServerCapabilities,11192,Object -HistoryServerCapabilities_AccessHistoryDataCapability,11193,Variable -HistoryServerCapabilities_InsertDataCapability,11196,Variable -HistoryServerCapabilities_ReplaceDataCapability,11197,Variable -HistoryServerCapabilities_UpdateDataCapability,11198,Variable -HistoryServerCapabilities_DeleteRawCapability,11199,Variable -HistoryServerCapabilities_DeleteAtTimeCapability,11200,Variable -HistoryServerCapabilities_AggregateFunctions,11201,Object -HAConfiguration,11202,Object -HAConfiguration_AggregateConfiguration,11203,Object -HAConfiguration_AggregateConfiguration_TreatUncertainAsBad,11204,Variable -HAConfiguration_AggregateConfiguration_PercentDataBad,11205,Variable -HAConfiguration_AggregateConfiguration_PercentDataGood,11206,Variable -HAConfiguration_AggregateConfiguration_UseSlopedExtrapolation,11207,Variable -HAConfiguration_Stepped,11208,Variable -HAConfiguration_Definition,11209,Variable -HAConfiguration_MaxTimeInterval,11210,Variable -HAConfiguration_MinTimeInterval,11211,Variable -HAConfiguration_ExceptionDeviation,11212,Variable -HAConfiguration_ExceptionDeviationFormat,11213,Variable -Annotations,11214,Variable -HistoricalEventFilter,11215,Variable -ModificationInfo,11216,DataType -HistoryModifiedData,11217,DataType -ModificationInfo_Encoding_DefaultXml,11218,Object -HistoryModifiedData_Encoding_DefaultXml,11219,Object -ModificationInfo_Encoding_DefaultBinary,11226,Object -HistoryModifiedData_Encoding_DefaultBinary,11227,Object -HistoryUpdateType,11234,DataType -MultiStateValueDiscreteType,11238,VariableType -MultiStateValueDiscreteType_Definition,11239,Variable -MultiStateValueDiscreteType_ValuePrecision,11240,Variable -MultiStateValueDiscreteType_EnumValues,11241,Variable -HistoryServerCapabilities_AccessHistoryEventsCapability,11242,Variable -HistoryServerCapabilitiesType_MaxReturnDataValues,11268,Variable -HistoryServerCapabilitiesType_MaxReturnEventValues,11269,Variable -HistoryServerCapabilitiesType_InsertAnnotationCapability,11270,Variable -HistoryServerCapabilities_MaxReturnDataValues,11273,Variable -HistoryServerCapabilities_MaxReturnEventValues,11274,Variable -HistoryServerCapabilities_InsertAnnotationCapability,11275,Variable -HistoryServerCapabilitiesType_InsertEventCapability,11278,Variable -HistoryServerCapabilitiesType_ReplaceEventCapability,11279,Variable -HistoryServerCapabilitiesType_UpdateEventCapability,11280,Variable -HistoryServerCapabilities_InsertEventCapability,11281,Variable -HistoryServerCapabilities_ReplaceEventCapability,11282,Variable -HistoryServerCapabilities_UpdateEventCapability,11283,Variable -AggregateFunction_TimeAverage2,11285,Object -AggregateFunction_Minimum2,11286,Object -AggregateFunction_Maximum2,11287,Object -AggregateFunction_Range2,11288,Object -AggregateFunction_WorstQuality2,11292,Object -PerformUpdateType,11293,DataType -UpdateStructureDataDetails,11295,DataType -UpdateStructureDataDetails_Encoding_DefaultXml,11296,Object -UpdateStructureDataDetails_Encoding_DefaultBinary,11300,Object -AggregateFunction_Total2,11304,Object -AggregateFunction_MinimumActualTime2,11305,Object -AggregateFunction_MaximumActualTime2,11306,Object -AggregateFunction_DurationInStateZero,11307,Object -AggregateFunction_DurationInStateNonZero,11308,Object -Server_ServerRedundancy_CurrentServerId,11312,Variable -Server_ServerRedundancy_RedundantServerArray,11313,Variable -Server_ServerRedundancy_ServerUriArray,11314,Variable -ShelvedStateMachineType_UnshelvedToTimedShelved_TransitionNumber,11322,Variable -ShelvedStateMachineType_UnshelvedToOneShotShelved_TransitionNumber,11323,Variable -ShelvedStateMachineType_TimedShelvedToUnshelved_TransitionNumber,11324,Variable -ShelvedStateMachineType_TimedShelvedToOneShotShelved_TransitionNumber,11325,Variable -ShelvedStateMachineType_OneShotShelvedToUnshelved_TransitionNumber,11326,Variable -ShelvedStateMachineType_OneShotShelvedToTimedShelved_TransitionNumber,11327,Variable -ExclusiveLimitStateMachineType_LowLowToLow_TransitionNumber,11340,Variable -ExclusiveLimitStateMachineType_LowToLowLow_TransitionNumber,11341,Variable -ExclusiveLimitStateMachineType_HighHighToHigh_TransitionNumber,11342,Variable -ExclusiveLimitStateMachineType_HighToHighHigh_TransitionNumber,11343,Variable -AggregateFunction_StandardDeviationSample,11426,Object -AggregateFunction_StandardDeviationPopulation,11427,Object -AggregateFunction_VarianceSample,11428,Object -AggregateFunction_VariancePopulation,11429,Object -EnumStrings,11432,Variable -ValueAsText,11433,Variable -ProgressEventType,11436,ObjectType -ProgressEventType_EventId,11437,Variable -ProgressEventType_EventType,11438,Variable -ProgressEventType_SourceNode,11439,Variable -ProgressEventType_SourceName,11440,Variable -ProgressEventType_Time,11441,Variable -ProgressEventType_ReceiveTime,11442,Variable -ProgressEventType_LocalTime,11443,Variable -ProgressEventType_Message,11444,Variable -ProgressEventType_Severity,11445,Variable -SystemStatusChangeEventType,11446,ObjectType -SystemStatusChangeEventType_EventId,11447,Variable -SystemStatusChangeEventType_EventType,11448,Variable -SystemStatusChangeEventType_SourceNode,11449,Variable -SystemStatusChangeEventType_SourceName,11450,Variable -SystemStatusChangeEventType_Time,11451,Variable -SystemStatusChangeEventType_ReceiveTime,11452,Variable -SystemStatusChangeEventType_LocalTime,11453,Variable -SystemStatusChangeEventType_Message,11454,Variable -SystemStatusChangeEventType_Severity,11455,Variable -TransitionVariableType_EffectiveTransitionTime,11456,Variable -FiniteTransitionVariableType_EffectiveTransitionTime,11457,Variable -StateMachineType_LastTransition_EffectiveTransitionTime,11458,Variable -FiniteStateMachineType_LastTransition_EffectiveTransitionTime,11459,Variable -TransitionEventType_Transition_EffectiveTransitionTime,11460,Variable -MultiStateValueDiscreteType_ValueAsText,11461,Variable -ProgramTransitionEventType_Transition_EffectiveTransitionTime,11462,Variable -ProgramTransitionAuditEventType_Transition_EffectiveTransitionTime,11463,Variable -ProgramStateMachineType_LastTransition_EffectiveTransitionTime,11464,Variable -ShelvedStateMachineType_LastTransition_EffectiveTransitionTime,11465,Variable -AlarmConditionType_ShelvingState_LastTransition_EffectiveTransitionTime,11466,Variable -LimitAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11467,Variable -ExclusiveLimitStateMachineType_LastTransition_EffectiveTransitionTime,11468,Variable -ExclusiveLimitAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11469,Variable -ExclusiveLimitAlarmType_LimitState_LastTransition_EffectiveTransitionTime,11470,Variable -ExclusiveLevelAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11471,Variable -ExclusiveLevelAlarmType_LimitState_LastTransition_EffectiveTransitionTime,11472,Variable -ExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11473,Variable -ExclusiveRateOfChangeAlarmType_LimitState_LastTransition_EffectiveTransitionTime,11474,Variable -ExclusiveDeviationAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11475,Variable -ExclusiveDeviationAlarmType_LimitState_LastTransition_EffectiveTransitionTime,11476,Variable -NonExclusiveLimitAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11477,Variable -NonExclusiveLevelAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11478,Variable -NonExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11479,Variable -NonExclusiveDeviationAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11480,Variable -DiscreteAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11481,Variable -OffNormalAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11482,Variable -TripAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11483,Variable -AuditActivateSessionEventType_SecureChannelId,11485,Variable -OptionSetType,11487,VariableType -OptionSetType_OptionSetValues,11488,Variable -ServerType_GetMonitoredItems,11489,Method -ServerType_GetMonitoredItems_InputArguments,11490,Variable -ServerType_GetMonitoredItems_OutputArguments,11491,Variable -Server_GetMonitoredItems,11492,Method -Server_GetMonitoredItems_InputArguments,11493,Variable -Server_GetMonitoredItems_OutputArguments,11494,Variable -GetMonitoredItemsMethodType,11495,Method -GetMonitoredItemsMethodType_InputArguments,11496,Variable -GetMonitoredItemsMethodType_OutputArguments,11497,Variable -MaxStringLength,11498,Variable -HistoricalDataConfigurationType_StartOfArchive,11499,Variable -HistoricalDataConfigurationType_StartOfOnlineArchive,11500,Variable -HistoryServerCapabilitiesType_DeleteEventCapability,11501,Variable -HistoryServerCapabilities_DeleteEventCapability,11502,Variable -HAConfiguration_StartOfArchive,11503,Variable -HAConfiguration_StartOfOnlineArchive,11504,Variable -AggregateFunction_StartBound,11505,Object -AggregateFunction_EndBound,11506,Object -AggregateFunction_DeltaBounds,11507,Object -ModellingRule_OptionalPlaceholder,11508,Object -ModellingRule_OptionalPlaceholder_NamingRule,11509,Variable -ModellingRule_MandatoryPlaceholder,11510,Object -ModellingRule_MandatoryPlaceholder_NamingRule,11511,Variable -MaxArrayLength,11512,Variable -EngineeringUnits,11513,Variable -ServerType_ServerCapabilities_MaxArrayLength,11514,Variable -ServerType_ServerCapabilities_MaxStringLength,11515,Variable -ServerType_ServerCapabilities_OperationLimits,11516,Object -ServerType_ServerCapabilities_OperationLimits_MaxNodesPerRead,11517,Variable -ServerType_ServerCapabilities_OperationLimits_MaxNodesPerWrite,11519,Variable -ServerType_ServerCapabilities_OperationLimits_MaxNodesPerMethodCall,11521,Variable -ServerType_ServerCapabilities_OperationLimits_MaxNodesPerBrowse,11522,Variable -ServerType_ServerCapabilities_OperationLimits_MaxNodesPerRegisterNodes,11523,Variable -ServerType_ServerCapabilities_OperationLimits_MaxNodesPerTranslateBrowsePathsToNodeIds,11524,Variable -ServerType_ServerCapabilities_OperationLimits_MaxNodesPerNodeManagement,11525,Variable -ServerType_ServerCapabilities_OperationLimits_MaxMonitoredItemsPerCall,11526,Variable -ServerType_Namespaces,11527,Object -ServerType_Namespaces_AddressSpaceFile,11528,Object -ServerType_Namespaces_AddressSpaceFile_Size,11529,Variable -ServerType_Namespaces_AddressSpaceFile_OpenCount,11532,Variable -ServerType_Namespaces_AddressSpaceFile_Open,11533,Method -ServerType_Namespaces_AddressSpaceFile_Open_InputArguments,11534,Variable -ServerType_Namespaces_AddressSpaceFile_Open_OutputArguments,11535,Variable -ServerType_Namespaces_AddressSpaceFile_Close,11536,Method -ServerType_Namespaces_AddressSpaceFile_Close_InputArguments,11537,Variable -ServerType_Namespaces_AddressSpaceFile_Read,11538,Method -ServerType_Namespaces_AddressSpaceFile_Read_InputArguments,11539,Variable -ServerType_Namespaces_AddressSpaceFile_Read_OutputArguments,11540,Variable -ServerType_Namespaces_AddressSpaceFile_Write,11541,Method -ServerType_Namespaces_AddressSpaceFile_Write_InputArguments,11542,Variable -ServerType_Namespaces_AddressSpaceFile_GetPosition,11543,Method -ServerType_Namespaces_AddressSpaceFile_GetPosition_InputArguments,11544,Variable -ServerType_Namespaces_AddressSpaceFile_GetPosition_OutputArguments,11545,Variable -ServerType_Namespaces_AddressSpaceFile_SetPosition,11546,Method -ServerType_Namespaces_AddressSpaceFile_SetPosition_InputArguments,11547,Variable -ServerType_Namespaces_AddressSpaceFile_ExportNamespace,11548,Method -ServerCapabilitiesType_MaxArrayLength,11549,Variable -ServerCapabilitiesType_MaxStringLength,11550,Variable -ServerCapabilitiesType_OperationLimits,11551,Object -ServerCapabilitiesType_OperationLimits_MaxNodesPerRead,11552,Variable -ServerCapabilitiesType_OperationLimits_MaxNodesPerWrite,11554,Variable -ServerCapabilitiesType_OperationLimits_MaxNodesPerMethodCall,11556,Variable -ServerCapabilitiesType_OperationLimits_MaxNodesPerBrowse,11557,Variable -ServerCapabilitiesType_OperationLimits_MaxNodesPerRegisterNodes,11558,Variable -ServerCapabilitiesType_OperationLimits_MaxNodesPerTranslateBrowsePathsToNodeIds,11559,Variable -ServerCapabilitiesType_OperationLimits_MaxNodesPerNodeManagement,11560,Variable -ServerCapabilitiesType_OperationLimits_MaxMonitoredItemsPerCall,11561,Variable -ServerCapabilitiesType_VendorCapability,11562,Variable -OperationLimitsType,11564,ObjectType -OperationLimitsType_MaxNodesPerRead,11565,Variable -OperationLimitsType_MaxNodesPerWrite,11567,Variable -OperationLimitsType_MaxNodesPerMethodCall,11569,Variable -OperationLimitsType_MaxNodesPerBrowse,11570,Variable -OperationLimitsType_MaxNodesPerRegisterNodes,11571,Variable -OperationLimitsType_MaxNodesPerTranslateBrowsePathsToNodeIds,11572,Variable -OperationLimitsType_MaxNodesPerNodeManagement,11573,Variable -OperationLimitsType_MaxMonitoredItemsPerCall,11574,Variable -FileType,11575,ObjectType -FileType_Size,11576,Variable -FileType_OpenCount,11579,Variable -FileType_Open,11580,Method -FileType_Open_InputArguments,11581,Variable -FileType_Open_OutputArguments,11582,Variable -FileType_Close,11583,Method -FileType_Close_InputArguments,11584,Variable -FileType_Read,11585,Method -FileType_Read_InputArguments,11586,Variable -FileType_Read_OutputArguments,11587,Variable -FileType_Write,11588,Method -FileType_Write_InputArguments,11589,Variable -FileType_GetPosition,11590,Method -FileType_GetPosition_InputArguments,11591,Variable -FileType_GetPosition_OutputArguments,11592,Variable -FileType_SetPosition,11593,Method -FileType_SetPosition_InputArguments,11594,Variable -AddressSpaceFileType,11595,ObjectType -AddressSpaceFileType_Size,11596,Variable -AddressSpaceFileType_OpenCount,11599,Variable -AddressSpaceFileType_Open,11600,Method -AddressSpaceFileType_Open_InputArguments,11601,Variable -AddressSpaceFileType_Open_OutputArguments,11602,Variable -AddressSpaceFileType_Close,11603,Method -AddressSpaceFileType_Close_InputArguments,11604,Variable -AddressSpaceFileType_Read,11605,Method -AddressSpaceFileType_Read_InputArguments,11606,Variable -AddressSpaceFileType_Read_OutputArguments,11607,Variable -AddressSpaceFileType_Write,11608,Method -AddressSpaceFileType_Write_InputArguments,11609,Variable -AddressSpaceFileType_GetPosition,11610,Method -AddressSpaceFileType_GetPosition_InputArguments,11611,Variable -AddressSpaceFileType_GetPosition_OutputArguments,11612,Variable -AddressSpaceFileType_SetPosition,11613,Method -AddressSpaceFileType_SetPosition_InputArguments,11614,Variable -AddressSpaceFileType_ExportNamespace,11615,Method -NamespaceMetadataType,11616,ObjectType -NamespaceMetadataType_NamespaceUri,11617,Variable -NamespaceMetadataType_NamespaceVersion,11618,Variable -NamespaceMetadataType_NamespacePublicationDate,11619,Variable -NamespaceMetadataType_IsNamespaceSubset,11620,Variable -NamespaceMetadataType_StaticNodeIdIdentifierTypes,11621,Variable -NamespaceMetadataType_StaticNumericNodeIdRange,11622,Variable -NamespaceMetadataType_StaticStringNodeIdPattern,11623,Variable -NamespaceMetadataType_NamespaceFile,11624,Object -NamespaceMetadataType_NamespaceFile_Size,11625,Variable -NamespaceMetadataType_NamespaceFile_OpenCount,11628,Variable -NamespaceMetadataType_NamespaceFile_Open,11629,Method -NamespaceMetadataType_NamespaceFile_Open_InputArguments,11630,Variable -NamespaceMetadataType_NamespaceFile_Open_OutputArguments,11631,Variable -NamespaceMetadataType_NamespaceFile_Close,11632,Method -NamespaceMetadataType_NamespaceFile_Close_InputArguments,11633,Variable -NamespaceMetadataType_NamespaceFile_Read,11634,Method -NamespaceMetadataType_NamespaceFile_Read_InputArguments,11635,Variable -NamespaceMetadataType_NamespaceFile_Read_OutputArguments,11636,Variable -NamespaceMetadataType_NamespaceFile_Write,11637,Method -NamespaceMetadataType_NamespaceFile_Write_InputArguments,11638,Variable -NamespaceMetadataType_NamespaceFile_GetPosition,11639,Method -NamespaceMetadataType_NamespaceFile_GetPosition_InputArguments,11640,Variable -NamespaceMetadataType_NamespaceFile_GetPosition_OutputArguments,11641,Variable -NamespaceMetadataType_NamespaceFile_SetPosition,11642,Method -NamespaceMetadataType_NamespaceFile_SetPosition_InputArguments,11643,Variable -NamespaceMetadataType_NamespaceFile_ExportNamespace,11644,Method -NamespacesType,11645,ObjectType -NamespacesType_NamespaceIdentifier,11646,Object -NamespacesType_NamespaceIdentifier_NamespaceUri,11647,Variable -NamespacesType_NamespaceIdentifier_NamespaceVersion,11648,Variable -NamespacesType_NamespaceIdentifier_NamespacePublicationDate,11649,Variable -NamespacesType_NamespaceIdentifier_IsNamespaceSubset,11650,Variable -NamespacesType_NamespaceIdentifier_StaticNodeIdIdentifierTypes,11651,Variable -NamespacesType_NamespaceIdentifier_StaticNumericNodeIdRange,11652,Variable -NamespacesType_NamespaceIdentifier_StaticStringNodeIdPattern,11653,Variable -NamespacesType_NamespaceIdentifier_NamespaceFile,11654,Object -NamespacesType_NamespaceIdentifier_NamespaceFile_Size,11655,Variable -NamespacesType_NamespaceIdentifier_NamespaceFile_OpenCount,11658,Variable -NamespacesType_NamespaceIdentifier_NamespaceFile_Open,11659,Method -NamespacesType_NamespaceIdentifier_NamespaceFile_Open_InputArguments,11660,Variable -NamespacesType_NamespaceIdentifier_NamespaceFile_Open_OutputArguments,11661,Variable -NamespacesType_NamespaceIdentifier_NamespaceFile_Close,11662,Method -NamespacesType_NamespaceIdentifier_NamespaceFile_Close_InputArguments,11663,Variable -NamespacesType_NamespaceIdentifier_NamespaceFile_Read,11664,Method -NamespacesType_NamespaceIdentifier_NamespaceFile_Read_InputArguments,11665,Variable -NamespacesType_NamespaceIdentifier_NamespaceFile_Read_OutputArguments,11666,Variable -NamespacesType_NamespaceIdentifier_NamespaceFile_Write,11667,Method -NamespacesType_NamespaceIdentifier_NamespaceFile_Write_InputArguments,11668,Variable -NamespacesType_NamespaceIdentifier_NamespaceFile_GetPosition,11669,Method -NamespacesType_NamespaceIdentifier_NamespaceFile_GetPosition_InputArguments,11670,Variable -NamespacesType_NamespaceIdentifier_NamespaceFile_GetPosition_OutputArguments,11671,Variable -NamespacesType_NamespaceIdentifier_NamespaceFile_SetPosition,11672,Method -NamespacesType_NamespaceIdentifier_NamespaceFile_SetPosition_InputArguments,11673,Variable -NamespacesType_NamespaceIdentifier_NamespaceFile_ExportNamespace,11674,Method -NamespacesType_AddressSpaceFile,11675,Object -NamespacesType_AddressSpaceFile_Size,11676,Variable -NamespacesType_AddressSpaceFile_OpenCount,11679,Variable -NamespacesType_AddressSpaceFile_Open,11680,Method -NamespacesType_AddressSpaceFile_Open_InputArguments,11681,Variable -NamespacesType_AddressSpaceFile_Open_OutputArguments,11682,Variable -NamespacesType_AddressSpaceFile_Close,11683,Method -NamespacesType_AddressSpaceFile_Close_InputArguments,11684,Variable -NamespacesType_AddressSpaceFile_Read,11685,Method -NamespacesType_AddressSpaceFile_Read_InputArguments,11686,Variable -NamespacesType_AddressSpaceFile_Read_OutputArguments,11687,Variable -NamespacesType_AddressSpaceFile_Write,11688,Method -NamespacesType_AddressSpaceFile_Write_InputArguments,11689,Variable -NamespacesType_AddressSpaceFile_GetPosition,11690,Method -NamespacesType_AddressSpaceFile_GetPosition_InputArguments,11691,Variable -NamespacesType_AddressSpaceFile_GetPosition_OutputArguments,11692,Variable -NamespacesType_AddressSpaceFile_SetPosition,11693,Method -NamespacesType_AddressSpaceFile_SetPosition_InputArguments,11694,Variable -NamespacesType_AddressSpaceFile_ExportNamespace,11695,Method -SystemStatusChangeEventType_SystemState,11696,Variable -SamplingIntervalDiagnosticsType_SampledMonitoredItemsCount,11697,Variable -SamplingIntervalDiagnosticsType_MaxSampledMonitoredItemsCount,11698,Variable -SamplingIntervalDiagnosticsType_DisabledMonitoredItemsSamplingCount,11699,Variable -OptionSetType_BitMask,11701,Variable -Server_ServerCapabilities_MaxArrayLength,11702,Variable -Server_ServerCapabilities_MaxStringLength,11703,Variable -Server_ServerCapabilities_OperationLimits,11704,Object -Server_ServerCapabilities_OperationLimits_MaxNodesPerRead,11705,Variable -Server_ServerCapabilities_OperationLimits_MaxNodesPerWrite,11707,Variable -Server_ServerCapabilities_OperationLimits_MaxNodesPerMethodCall,11709,Variable -Server_ServerCapabilities_OperationLimits_MaxNodesPerBrowse,11710,Variable -Server_ServerCapabilities_OperationLimits_MaxNodesPerRegisterNodes,11711,Variable -Server_ServerCapabilities_OperationLimits_MaxNodesPerTranslateBrowsePathsToNodeIds,11712,Variable -Server_ServerCapabilities_OperationLimits_MaxNodesPerNodeManagement,11713,Variable -Server_ServerCapabilities_OperationLimits_MaxMonitoredItemsPerCall,11714,Variable -Server_Namespaces,11715,Object -Server_Namespaces_AddressSpaceFile,11716,Object -Server_Namespaces_AddressSpaceFile_Size,11717,Variable -Server_Namespaces_AddressSpaceFile_OpenCount,11720,Variable -Server_Namespaces_AddressSpaceFile_Open,11721,Method -Server_Namespaces_AddressSpaceFile_Open_InputArguments,11722,Variable -Server_Namespaces_AddressSpaceFile_Open_OutputArguments,11723,Variable -Server_Namespaces_AddressSpaceFile_Close,11724,Method -Server_Namespaces_AddressSpaceFile_Close_InputArguments,11725,Variable -Server_Namespaces_AddressSpaceFile_Read,11726,Method -Server_Namespaces_AddressSpaceFile_Read_InputArguments,11727,Variable -Server_Namespaces_AddressSpaceFile_Read_OutputArguments,11728,Variable -Server_Namespaces_AddressSpaceFile_Write,11729,Method -Server_Namespaces_AddressSpaceFile_Write_InputArguments,11730,Variable -Server_Namespaces_AddressSpaceFile_GetPosition,11731,Method -Server_Namespaces_AddressSpaceFile_GetPosition_InputArguments,11732,Variable -Server_Namespaces_AddressSpaceFile_GetPosition_OutputArguments,11733,Variable -Server_Namespaces_AddressSpaceFile_SetPosition,11734,Method -Server_Namespaces_AddressSpaceFile_SetPosition_InputArguments,11735,Variable -Server_Namespaces_AddressSpaceFile_ExportNamespace,11736,Method -BitFieldMaskDataType,11737,DataType -OpenMethodType,11738,Method -OpenMethodType_InputArguments,11739,Variable -OpenMethodType_OutputArguments,11740,Variable -CloseMethodType,11741,Method -CloseMethodType_InputArguments,11742,Variable -ReadMethodType,11743,Method -ReadMethodType_InputArguments,11744,Variable -ReadMethodType_OutputArguments,11745,Variable -WriteMethodType,11746,Method -WriteMethodType_InputArguments,11747,Variable -GetPositionMethodType,11748,Method -GetPositionMethodType_InputArguments,11749,Variable -GetPositionMethodType_OutputArguments,11750,Variable -SetPositionMethodType,11751,Method -SetPositionMethodType_InputArguments,11752,Variable -SystemOffNormalAlarmType,11753,ObjectType -SystemOffNormalAlarmType_EventId,11754,Variable -SystemOffNormalAlarmType_EventType,11755,Variable -SystemOffNormalAlarmType_SourceNode,11756,Variable -SystemOffNormalAlarmType_SourceName,11757,Variable -SystemOffNormalAlarmType_Time,11758,Variable -SystemOffNormalAlarmType_ReceiveTime,11759,Variable -SystemOffNormalAlarmType_LocalTime,11760,Variable -SystemOffNormalAlarmType_Message,11761,Variable -SystemOffNormalAlarmType_Severity,11762,Variable -SystemOffNormalAlarmType_ConditionClassId,11763,Variable -SystemOffNormalAlarmType_ConditionClassName,11764,Variable -SystemOffNormalAlarmType_ConditionName,11765,Variable -SystemOffNormalAlarmType_BranchId,11766,Variable -SystemOffNormalAlarmType_Retain,11767,Variable -SystemOffNormalAlarmType_EnabledState,11768,Variable -SystemOffNormalAlarmType_EnabledState_Id,11769,Variable -SystemOffNormalAlarmType_EnabledState_Name,11770,Variable -SystemOffNormalAlarmType_EnabledState_Number,11771,Variable -SystemOffNormalAlarmType_EnabledState_EffectiveDisplayName,11772,Variable -SystemOffNormalAlarmType_EnabledState_TransitionTime,11773,Variable -SystemOffNormalAlarmType_EnabledState_EffectiveTransitionTime,11774,Variable -SystemOffNormalAlarmType_EnabledState_TrueState,11775,Variable -SystemOffNormalAlarmType_EnabledState_FalseState,11776,Variable -SystemOffNormalAlarmType_Quality,11777,Variable -SystemOffNormalAlarmType_Quality_SourceTimestamp,11778,Variable -SystemOffNormalAlarmType_LastSeverity,11779,Variable -SystemOffNormalAlarmType_LastSeverity_SourceTimestamp,11780,Variable -SystemOffNormalAlarmType_Comment,11781,Variable -SystemOffNormalAlarmType_Comment_SourceTimestamp,11782,Variable -SystemOffNormalAlarmType_ClientUserId,11783,Variable -SystemOffNormalAlarmType_Disable,11784,Method -SystemOffNormalAlarmType_Enable,11785,Method -SystemOffNormalAlarmType_AddComment,11786,Method -SystemOffNormalAlarmType_AddComment_InputArguments,11787,Variable -SystemOffNormalAlarmType_ConditionRefresh,11788,Method -SystemOffNormalAlarmType_ConditionRefresh_InputArguments,11789,Variable -SystemOffNormalAlarmType_AckedState,11790,Variable -SystemOffNormalAlarmType_AckedState_Id,11791,Variable -SystemOffNormalAlarmType_AckedState_Name,11792,Variable -SystemOffNormalAlarmType_AckedState_Number,11793,Variable -SystemOffNormalAlarmType_AckedState_EffectiveDisplayName,11794,Variable -SystemOffNormalAlarmType_AckedState_TransitionTime,11795,Variable -SystemOffNormalAlarmType_AckedState_EffectiveTransitionTime,11796,Variable -SystemOffNormalAlarmType_AckedState_TrueState,11797,Variable -SystemOffNormalAlarmType_AckedState_FalseState,11798,Variable -SystemOffNormalAlarmType_ConfirmedState,11799,Variable -SystemOffNormalAlarmType_ConfirmedState_Id,11800,Variable -SystemOffNormalAlarmType_ConfirmedState_Name,11801,Variable -SystemOffNormalAlarmType_ConfirmedState_Number,11802,Variable -SystemOffNormalAlarmType_ConfirmedState_EffectiveDisplayName,11803,Variable -SystemOffNormalAlarmType_ConfirmedState_TransitionTime,11804,Variable -SystemOffNormalAlarmType_ConfirmedState_EffectiveTransitionTime,11805,Variable -SystemOffNormalAlarmType_ConfirmedState_TrueState,11806,Variable -SystemOffNormalAlarmType_ConfirmedState_FalseState,11807,Variable -SystemOffNormalAlarmType_Acknowledge,11808,Method -SystemOffNormalAlarmType_Acknowledge_InputArguments,11809,Variable -SystemOffNormalAlarmType_Confirm,11810,Method -SystemOffNormalAlarmType_Confirm_InputArguments,11811,Variable -SystemOffNormalAlarmType_ActiveState,11812,Variable -SystemOffNormalAlarmType_ActiveState_Id,11813,Variable -SystemOffNormalAlarmType_ActiveState_Name,11814,Variable -SystemOffNormalAlarmType_ActiveState_Number,11815,Variable -SystemOffNormalAlarmType_ActiveState_EffectiveDisplayName,11816,Variable -SystemOffNormalAlarmType_ActiveState_TransitionTime,11817,Variable -SystemOffNormalAlarmType_ActiveState_EffectiveTransitionTime,11818,Variable -SystemOffNormalAlarmType_ActiveState_TrueState,11819,Variable -SystemOffNormalAlarmType_ActiveState_FalseState,11820,Variable -SystemOffNormalAlarmType_InputNode,11821,Variable -SystemOffNormalAlarmType_SuppressedState,11822,Variable -SystemOffNormalAlarmType_SuppressedState_Id,11823,Variable -SystemOffNormalAlarmType_SuppressedState_Name,11824,Variable -SystemOffNormalAlarmType_SuppressedState_Number,11825,Variable -SystemOffNormalAlarmType_SuppressedState_EffectiveDisplayName,11826,Variable -SystemOffNormalAlarmType_SuppressedState_TransitionTime,11827,Variable -SystemOffNormalAlarmType_SuppressedState_EffectiveTransitionTime,11828,Variable -SystemOffNormalAlarmType_SuppressedState_TrueState,11829,Variable -SystemOffNormalAlarmType_SuppressedState_FalseState,11830,Variable -SystemOffNormalAlarmType_ShelvingState,11831,Object -SystemOffNormalAlarmType_ShelvingState_CurrentState,11832,Variable -SystemOffNormalAlarmType_ShelvingState_CurrentState_Id,11833,Variable -SystemOffNormalAlarmType_ShelvingState_CurrentState_Name,11834,Variable -SystemOffNormalAlarmType_ShelvingState_CurrentState_Number,11835,Variable -SystemOffNormalAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,11836,Variable -SystemOffNormalAlarmType_ShelvingState_LastTransition,11837,Variable -SystemOffNormalAlarmType_ShelvingState_LastTransition_Id,11838,Variable -SystemOffNormalAlarmType_ShelvingState_LastTransition_Name,11839,Variable -SystemOffNormalAlarmType_ShelvingState_LastTransition_Number,11840,Variable -SystemOffNormalAlarmType_ShelvingState_LastTransition_TransitionTime,11841,Variable -SystemOffNormalAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11842,Variable -SystemOffNormalAlarmType_ShelvingState_UnshelveTime,11843,Variable -SystemOffNormalAlarmType_ShelvingState_Unshelve,11844,Method -SystemOffNormalAlarmType_ShelvingState_OneShotShelve,11845,Method -SystemOffNormalAlarmType_ShelvingState_TimedShelve,11846,Method -SystemOffNormalAlarmType_ShelvingState_TimedShelve_InputArguments,11847,Variable -SystemOffNormalAlarmType_SuppressedOrShelved,11848,Variable -SystemOffNormalAlarmType_MaxTimeShelved,11849,Variable -SystemOffNormalAlarmType_NormalState,11850,Variable -AuditConditionCommentEventType_Comment,11851,Variable -AuditConditionRespondEventType_SelectedResponse,11852,Variable -AuditConditionAcknowledgeEventType_Comment,11853,Variable -AuditConditionConfirmEventType_Comment,11854,Variable -AuditConditionShelvingEventType_ShelvingTime,11855,Variable -AuditProgramTransitionEventType,11856,ObjectType -AuditProgramTransitionEventType_EventId,11857,Variable -AuditProgramTransitionEventType_EventType,11858,Variable -AuditProgramTransitionEventType_SourceNode,11859,Variable -AuditProgramTransitionEventType_SourceName,11860,Variable -AuditProgramTransitionEventType_Time,11861,Variable -AuditProgramTransitionEventType_ReceiveTime,11862,Variable -AuditProgramTransitionEventType_LocalTime,11863,Variable -AuditProgramTransitionEventType_Message,11864,Variable -AuditProgramTransitionEventType_Severity,11865,Variable -AuditProgramTransitionEventType_ActionTimeStamp,11866,Variable -AuditProgramTransitionEventType_Status,11867,Variable -AuditProgramTransitionEventType_ServerId,11868,Variable -AuditProgramTransitionEventType_ClientAuditEntryId,11869,Variable -AuditProgramTransitionEventType_ClientUserId,11870,Variable -AuditProgramTransitionEventType_MethodId,11871,Variable -AuditProgramTransitionEventType_InputArguments,11872,Variable -AuditProgramTransitionEventType_OldStateId,11873,Variable -AuditProgramTransitionEventType_NewStateId,11874,Variable -AuditProgramTransitionEventType_TransitionNumber,11875,Variable -HistoricalDataConfigurationType_AggregateFunctions,11876,Object -HAConfiguration_AggregateFunctions,11877,Object -NodeClass_EnumValues,11878,Variable -InstanceNode,11879,DataType -TypeNode,11880,DataType -NodeAttributesMask_EnumValues,11881,Variable -AttributeWriteMask_EnumValues,11882,Variable -BrowseResultMask_EnumValues,11883,Variable -HistoryUpdateType_EnumValues,11884,Variable -PerformUpdateType_EnumValues,11885,Variable -EnumeratedTestType_EnumValues,11886,Variable -InstanceNode_Encoding_DefaultXml,11887,Object -TypeNode_Encoding_DefaultXml,11888,Object -InstanceNode_Encoding_DefaultBinary,11889,Object -TypeNode_Encoding_DefaultBinary,11890,Object -SessionDiagnosticsObjectType_SessionDiagnostics_UnauthorizedRequestCount,11891,Variable -SessionDiagnosticsVariableType_UnauthorizedRequestCount,11892,Variable -OpenFileMode,11939,DataType -OpenFileMode_EnumValues,11940,Variable -ModelChangeStructureVerbMask,11941,DataType -ModelChangeStructureVerbMask_EnumValues,11942,Variable -EndpointUrlListDataType,11943,DataType -NetworkGroupDataType,11944,DataType -NonTransparentNetworkRedundancyType,11945,ObjectType -NonTransparentNetworkRedundancyType_RedundancySupport,11946,Variable -NonTransparentNetworkRedundancyType_ServerUriArray,11947,Variable -NonTransparentNetworkRedundancyType_ServerNetworkGroups,11948,Variable -EndpointUrlListDataType_Encoding_DefaultXml,11949,Object -NetworkGroupDataType_Encoding_DefaultXml,11950,Object -OpcUa_XmlSchema_EndpointUrlListDataType,11951,Variable -OpcUa_XmlSchema_EndpointUrlListDataType_DataTypeVersion,11952,Variable -OpcUa_XmlSchema_EndpointUrlListDataType_DictionaryFragment,11953,Variable -OpcUa_XmlSchema_NetworkGroupDataType,11954,Variable -OpcUa_XmlSchema_NetworkGroupDataType_DataTypeVersion,11955,Variable -OpcUa_XmlSchema_NetworkGroupDataType_DictionaryFragment,11956,Variable -EndpointUrlListDataType_Encoding_DefaultBinary,11957,Object -NetworkGroupDataType_Encoding_DefaultBinary,11958,Object -OpcUa_BinarySchema_EndpointUrlListDataType,11959,Variable -OpcUa_BinarySchema_EndpointUrlListDataType_DataTypeVersion,11960,Variable -OpcUa_BinarySchema_EndpointUrlListDataType_DictionaryFragment,11961,Variable -OpcUa_BinarySchema_NetworkGroupDataType,11962,Variable -OpcUa_BinarySchema_NetworkGroupDataType_DataTypeVersion,11963,Variable -OpcUa_BinarySchema_NetworkGroupDataType_DictionaryFragment,11964,Variable -ArrayItemType,12021,VariableType -ArrayItemType_Definition,12022,Variable -ArrayItemType_ValuePrecision,12023,Variable -ArrayItemType_InstrumentRange,12024,Variable -ArrayItemType_EURange,12025,Variable -ArrayItemType_EngineeringUnits,12026,Variable -ArrayItemType_Title,12027,Variable -ArrayItemType_AxisScaleType,12028,Variable -YArrayItemType,12029,VariableType -YArrayItemType_Definition,12030,Variable -YArrayItemType_ValuePrecision,12031,Variable -YArrayItemType_InstrumentRange,12032,Variable -YArrayItemType_EURange,12033,Variable -YArrayItemType_EngineeringUnits,12034,Variable -YArrayItemType_Title,12035,Variable -YArrayItemType_AxisScaleType,12036,Variable -YArrayItemType_XAxisDefinition,12037,Variable -XYArrayItemType,12038,VariableType -XYArrayItemType_Definition,12039,Variable -XYArrayItemType_ValuePrecision,12040,Variable -XYArrayItemType_InstrumentRange,12041,Variable -XYArrayItemType_EURange,12042,Variable -XYArrayItemType_EngineeringUnits,12043,Variable -XYArrayItemType_Title,12044,Variable -XYArrayItemType_AxisScaleType,12045,Variable -XYArrayItemType_XAxisDefinition,12046,Variable -ImageItemType,12047,VariableType -ImageItemType_Definition,12048,Variable -ImageItemType_ValuePrecision,12049,Variable -ImageItemType_InstrumentRange,12050,Variable -ImageItemType_EURange,12051,Variable -ImageItemType_EngineeringUnits,12052,Variable -ImageItemType_Title,12053,Variable -ImageItemType_AxisScaleType,12054,Variable -ImageItemType_XAxisDefinition,12055,Variable -ImageItemType_YAxisDefinition,12056,Variable -CubeItemType,12057,VariableType -CubeItemType_Definition,12058,Variable -CubeItemType_ValuePrecision,12059,Variable -CubeItemType_InstrumentRange,12060,Variable -CubeItemType_EURange,12061,Variable -CubeItemType_EngineeringUnits,12062,Variable -CubeItemType_Title,12063,Variable -CubeItemType_AxisScaleType,12064,Variable -CubeItemType_XAxisDefinition,12065,Variable -CubeItemType_YAxisDefinition,12066,Variable -CubeItemType_ZAxisDefinition,12067,Variable -NDimensionArrayItemType,12068,VariableType -NDimensionArrayItemType_Definition,12069,Variable -NDimensionArrayItemType_ValuePrecision,12070,Variable -NDimensionArrayItemType_InstrumentRange,12071,Variable -NDimensionArrayItemType_EURange,12072,Variable -NDimensionArrayItemType_EngineeringUnits,12073,Variable -NDimensionArrayItemType_Title,12074,Variable -NDimensionArrayItemType_AxisScaleType,12075,Variable -NDimensionArrayItemType_AxisDefinition,12076,Variable -AxisScaleEnumeration,12077,DataType -AxisScaleEnumeration_EnumStrings,12078,Variable -AxisInformation,12079,DataType -XVType,12080,DataType -AxisInformation_Encoding_DefaultXml,12081,Object -XVType_Encoding_DefaultXml,12082,Object -OpcUa_XmlSchema_AxisInformation,12083,Variable -OpcUa_XmlSchema_AxisInformation_DataTypeVersion,12084,Variable -OpcUa_XmlSchema_AxisInformation_DictionaryFragment,12085,Variable -OpcUa_XmlSchema_XVType,12086,Variable -OpcUa_XmlSchema_XVType_DataTypeVersion,12087,Variable -OpcUa_XmlSchema_XVType_DictionaryFragment,12088,Variable -AxisInformation_Encoding_DefaultBinary,12089,Object -XVType_Encoding_DefaultBinary,12090,Object -OpcUa_BinarySchema_AxisInformation,12091,Variable -OpcUa_BinarySchema_AxisInformation_DataTypeVersion,12092,Variable -OpcUa_BinarySchema_AxisInformation_DictionaryFragment,12093,Variable -OpcUa_BinarySchema_XVType,12094,Variable -OpcUa_BinarySchema_XVType_DataTypeVersion,12095,Variable -OpcUa_BinarySchema_XVType_DictionaryFragment,12096,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder,12097,Object -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics,12098,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SessionId,12099,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SessionName,12100,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ClientDescription,12101,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ServerUri,12102,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_EndpointUrl,12103,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_LocaleIds,12104,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ActualSessionTimeout,12105,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_MaxResponseMessageSize,12106,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ClientConnectionTime,12107,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ClientLastContactTime,12108,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CurrentSubscriptionsCount,12109,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CurrentMonitoredItemsCount,12110,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CurrentPublishRequestsInQueue,12111,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_TotalRequestCount,12112,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_UnauthorizedRequestCount,12113,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ReadCount,12114,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_HistoryReadCount,12115,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_WriteCount,12116,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_HistoryUpdateCount,12117,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CallCount,12118,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CreateMonitoredItemsCount,12119,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ModifyMonitoredItemsCount,12120,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SetMonitoringModeCount,12121,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SetTriggeringCount,12122,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_DeleteMonitoredItemsCount,12123,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CreateSubscriptionCount,12124,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ModifySubscriptionCount,12125,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SetPublishingModeCount,12126,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_PublishCount,12127,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_RepublishCount,12128,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_TransferSubscriptionsCount,12129,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_DeleteSubscriptionsCount,12130,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_AddNodesCount,12131,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_AddReferencesCount,12132,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_DeleteNodesCount,12133,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_DeleteReferencesCount,12134,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_BrowseCount,12135,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_BrowseNextCount,12136,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_TranslateBrowsePathsToNodeIdsCount,12137,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_QueryFirstCount,12138,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_QueryNextCount,12139,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_RegisterNodesCount,12140,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_UnregisterNodesCount,12141,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics,12142,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_SessionId,12143,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_ClientUserIdOfSession,12144,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_ClientUserIdHistory,12145,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_AuthenticationMechanism,12146,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_Encoding,12147,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_TransportProtocol,12148,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_SecurityMode,12149,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_SecurityPolicyUri,12150,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_ClientCertificate,12151,Variable -SessionsDiagnosticsSummaryType_SessionPlaceholder_SubscriptionDiagnosticsArray,12152,Variable -ServerType_ServerCapabilities_OperationLimits_MaxNodesPerHistoryReadData,12153,Variable -ServerType_ServerCapabilities_OperationLimits_MaxNodesPerHistoryReadEvents,12154,Variable -ServerType_ServerCapabilities_OperationLimits_MaxNodesPerHistoryUpdateData,12155,Variable -ServerType_ServerCapabilities_OperationLimits_MaxNodesPerHistoryUpdateEvents,12156,Variable -ServerCapabilitiesType_OperationLimits_MaxNodesPerHistoryReadData,12157,Variable -ServerCapabilitiesType_OperationLimits_MaxNodesPerHistoryReadEvents,12158,Variable -ServerCapabilitiesType_OperationLimits_MaxNodesPerHistoryUpdateData,12159,Variable -ServerCapabilitiesType_OperationLimits_MaxNodesPerHistoryUpdateEvents,12160,Variable -OperationLimitsType_MaxNodesPerHistoryReadData,12161,Variable -OperationLimitsType_MaxNodesPerHistoryReadEvents,12162,Variable -OperationLimitsType_MaxNodesPerHistoryUpdateData,12163,Variable -OperationLimitsType_MaxNodesPerHistoryUpdateEvents,12164,Variable -Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryReadData,12165,Variable -Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryReadEvents,12166,Variable -Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryUpdateData,12167,Variable -Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryUpdateEvents,12168,Variable -NamingRuleType_EnumValues,12169,Variable -ViewVersion,12170,Variable -ComplexNumberType,12171,DataType -DoubleComplexNumberType,12172,DataType -ComplexNumberType_Encoding_DefaultXml,12173,Object -DoubleComplexNumberType_Encoding_DefaultXml,12174,Object -OpcUa_XmlSchema_ComplexNumberType,12175,Variable -OpcUa_XmlSchema_ComplexNumberType_DataTypeVersion,12176,Variable -OpcUa_XmlSchema_ComplexNumberType_DictionaryFragment,12177,Variable -OpcUa_XmlSchema_DoubleComplexNumberType,12178,Variable -OpcUa_XmlSchema_DoubleComplexNumberType_DataTypeVersion,12179,Variable -OpcUa_XmlSchema_DoubleComplexNumberType_DictionaryFragment,12180,Variable -ComplexNumberType_Encoding_DefaultBinary,12181,Object -DoubleComplexNumberType_Encoding_DefaultBinary,12182,Object -OpcUa_BinarySchema_ComplexNumberType,12183,Variable -OpcUa_BinarySchema_ComplexNumberType_DataTypeVersion,12184,Variable -OpcUa_BinarySchema_ComplexNumberType_DictionaryFragment,12185,Variable -OpcUa_BinarySchema_DoubleComplexNumberType,12186,Variable -OpcUa_BinarySchema_DoubleComplexNumberType_DataTypeVersion,12187,Variable -OpcUa_BinarySchema_DoubleComplexNumberType_DictionaryFragment,12188,Variable -ServerOnNetwork,12189,DataType -FindServersOnNetworkRequest,12190,DataType -FindServersOnNetworkResponse,12191,DataType -RegisterServer2Request,12193,DataType -RegisterServer2Response,12194,DataType -ServerOnNetwork_Encoding_DefaultXml,12195,Object -FindServersOnNetworkRequest_Encoding_DefaultXml,12196,Object -FindServersOnNetworkResponse_Encoding_DefaultXml,12197,Object -RegisterServer2Request_Encoding_DefaultXml,12199,Object -RegisterServer2Response_Encoding_DefaultXml,12200,Object -OpcUa_XmlSchema_ServerOnNetwork,12201,Variable -OpcUa_XmlSchema_ServerOnNetwork_DataTypeVersion,12202,Variable -OpcUa_XmlSchema_ServerOnNetwork_DictionaryFragment,12203,Variable -ServerOnNetwork_Encoding_DefaultBinary,12207,Object -FindServersOnNetworkRequest_Encoding_DefaultBinary,12208,Object -FindServersOnNetworkResponse_Encoding_DefaultBinary,12209,Object -RegisterServer2Request_Encoding_DefaultBinary,12211,Object -RegisterServer2Response_Encoding_DefaultBinary,12212,Object -OpcUa_BinarySchema_ServerOnNetwork,12213,Variable -OpcUa_BinarySchema_ServerOnNetwork_DataTypeVersion,12214,Variable -OpcUa_BinarySchema_ServerOnNetwork_DictionaryFragment,12215,Variable -ProgressEventType_Context,12502,Variable -ProgressEventType_Progress,12503,Variable -KerberosIdentityToken,12504,DataType -KerberosIdentityToken_Encoding_DefaultXml,12505,Object -OpcUa_XmlSchema_KerberosIdentityToken,12506,Variable -OpcUa_XmlSchema_KerberosIdentityToken_DataTypeVersion,12507,Variable -OpcUa_XmlSchema_KerberosIdentityToken_DictionaryFragment,12508,Variable -KerberosIdentityToken_Encoding_DefaultBinary,12509,Object -OpcUa_BinarySchema_KerberosIdentityToken,12510,Variable -OpcUa_BinarySchema_KerberosIdentityToken_DataTypeVersion,12511,Variable -OpcUa_BinarySchema_KerberosIdentityToken_DictionaryFragment,12512,Variable -OpenWithMasksMethodType,12513,Method -OpenWithMasksMethodType_InputArguments,12514,Variable -OpenWithMasksMethodType_OutputArguments,12515,Variable -CloseAndUpdateMethodType,12516,Method -CloseAndUpdateMethodType_OutputArguments,12517,Variable -AddCertificateMethodType,12518,Method -AddCertificateMethodType_InputArguments,12519,Variable -RemoveCertificateMethodType,12520,Method -RemoveCertificateMethodType_InputArguments,12521,Variable -TrustListType,12522,ObjectType -TrustListType_Size,12523,Variable -TrustListType_OpenCount,12526,Variable -TrustListType_Open,12527,Method -TrustListType_Open_InputArguments,12528,Variable -TrustListType_Open_OutputArguments,12529,Variable -TrustListType_Close,12530,Method -TrustListType_Close_InputArguments,12531,Variable -TrustListType_Read,12532,Method -TrustListType_Read_InputArguments,12533,Variable -TrustListType_Read_OutputArguments,12534,Variable -TrustListType_Write,12535,Method -TrustListType_Write_InputArguments,12536,Variable -TrustListType_GetPosition,12537,Method -TrustListType_GetPosition_InputArguments,12538,Variable -TrustListType_GetPosition_OutputArguments,12539,Variable -TrustListType_SetPosition,12540,Method -TrustListType_SetPosition_InputArguments,12541,Variable -TrustListType_LastUpdateTime,12542,Variable -TrustListType_OpenWithMasks,12543,Method -TrustListType_OpenWithMasks_InputArguments,12544,Variable -TrustListType_OpenWithMasks_OutputArguments,12545,Variable -TrustListType_CloseAndUpdate,12546,Method -TrustListType_CloseAndUpdate_OutputArguments,12547,Variable -TrustListType_AddCertificate,12548,Method -TrustListType_AddCertificate_InputArguments,12549,Variable -TrustListType_RemoveCertificate,12550,Method -TrustListType_RemoveCertificate_InputArguments,12551,Variable -TrustListMasks,12552,DataType -TrustListMasks_EnumValues,12553,Variable -TrustListDataType,12554,DataType -CertificateGroupType,12555,ObjectType -CertificateType,12556,ObjectType -ApplicationCertificateType,12557,ObjectType -HttpsCertificateType,12558,ObjectType -RsaMinApplicationCertificateType,12559,ObjectType -RsaSha256ApplicationCertificateType,12560,ObjectType -TrustListUpdatedAuditEventType,12561,ObjectType -TrustListUpdatedAuditEventType_EventId,12562,Variable -TrustListUpdatedAuditEventType_EventType,12563,Variable -TrustListUpdatedAuditEventType_SourceNode,12564,Variable -TrustListUpdatedAuditEventType_SourceName,12565,Variable -TrustListUpdatedAuditEventType_Time,12566,Variable -TrustListUpdatedAuditEventType_ReceiveTime,12567,Variable -TrustListUpdatedAuditEventType_LocalTime,12568,Variable -TrustListUpdatedAuditEventType_Message,12569,Variable -TrustListUpdatedAuditEventType_Severity,12570,Variable -TrustListUpdatedAuditEventType_ActionTimeStamp,12571,Variable -TrustListUpdatedAuditEventType_Status,12572,Variable -TrustListUpdatedAuditEventType_ServerId,12573,Variable -TrustListUpdatedAuditEventType_ClientAuditEntryId,12574,Variable -TrustListUpdatedAuditEventType_ClientUserId,12575,Variable -TrustListUpdatedAuditEventType_MethodId,12576,Variable -TrustListUpdatedAuditEventType_InputArguments,12577,Variable -UpdateCertificateMethodType,12578,Method -UpdateCertificateMethodType_InputArguments,12579,Variable -UpdateCertificateMethodType_OutputArguments,12580,Variable -ServerConfigurationType,12581,ObjectType -ServerConfigurationType_SupportedPrivateKeyFormats,12583,Variable -ServerConfigurationType_MaxTrustListSize,12584,Variable -ServerConfigurationType_MulticastDnsEnabled,12585,Variable -ServerConfigurationType_UpdateCertificate,12616,Method -ServerConfigurationType_UpdateCertificate_InputArguments,12617,Variable -ServerConfigurationType_UpdateCertificate_OutputArguments,12618,Variable -CertificateUpdatedAuditEventType,12620,ObjectType -CertificateUpdatedAuditEventType_EventId,12621,Variable -CertificateUpdatedAuditEventType_EventType,12622,Variable -CertificateUpdatedAuditEventType_SourceNode,12623,Variable -CertificateUpdatedAuditEventType_SourceName,12624,Variable -CertificateUpdatedAuditEventType_Time,12625,Variable -CertificateUpdatedAuditEventType_ReceiveTime,12626,Variable -CertificateUpdatedAuditEventType_LocalTime,12627,Variable -CertificateUpdatedAuditEventType_Message,12628,Variable -CertificateUpdatedAuditEventType_Severity,12629,Variable -CertificateUpdatedAuditEventType_ActionTimeStamp,12630,Variable -CertificateUpdatedAuditEventType_Status,12631,Variable -CertificateUpdatedAuditEventType_ServerId,12632,Variable -CertificateUpdatedAuditEventType_ClientAuditEntryId,12633,Variable -CertificateUpdatedAuditEventType_ClientUserId,12634,Variable -CertificateUpdatedAuditEventType_MethodId,12635,Variable -CertificateUpdatedAuditEventType_InputArguments,12636,Variable -ServerConfiguration,12637,Object -ServerConfiguration_SupportedPrivateKeyFormats,12639,Variable -ServerConfiguration_MaxTrustListSize,12640,Variable -ServerConfiguration_MulticastDnsEnabled,12641,Variable -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList,12642,Object -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Size,12643,Variable -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_OpenCount,12646,Variable -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Open,12647,Method -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Open_InputArguments,12648,Variable -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Open_OutputArguments,12649,Variable -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Close,12650,Method -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Close_InputArguments,12651,Variable -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Read,12652,Method -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Read_InputArguments,12653,Variable -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Read_OutputArguments,12654,Variable -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Write,12655,Method -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Write_InputArguments,12656,Variable -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_GetPosition,12657,Method -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_GetPosition_InputArguments,12658,Variable -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_GetPosition_OutputArguments,12659,Variable -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_SetPosition,12660,Method -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_SetPosition_InputArguments,12661,Variable -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_LastUpdateTime,12662,Variable -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_OpenWithMasks,12663,Method -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_OpenWithMasks_InputArguments,12664,Variable -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_OpenWithMasks_OutputArguments,12665,Variable -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_CloseAndUpdate,12666,Method -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_CloseAndUpdate_OutputArguments,12667,Variable -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_AddCertificate,12668,Method -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_AddCertificate_InputArguments,12669,Variable -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_RemoveCertificate,12670,Method -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_RemoveCertificate_InputArguments,12671,Variable -TrustListDataType_Encoding_DefaultXml,12676,Object -OpcUa_XmlSchema_TrustListDataType,12677,Variable -OpcUa_XmlSchema_TrustListDataType_DataTypeVersion,12678,Variable -OpcUa_XmlSchema_TrustListDataType_DictionaryFragment,12679,Variable -TrustListDataType_Encoding_DefaultBinary,12680,Object -OpcUa_BinarySchema_TrustListDataType,12681,Variable -OpcUa_BinarySchema_TrustListDataType_DataTypeVersion,12682,Variable -OpcUa_BinarySchema_TrustListDataType_DictionaryFragment,12683,Variable -ServerType_Namespaces_AddressSpaceFile_Writable,12684,Variable -ServerType_Namespaces_AddressSpaceFile_UserWritable,12685,Variable -FileType_Writable,12686,Variable -FileType_UserWritable,12687,Variable -AddressSpaceFileType_Writable,12688,Variable -AddressSpaceFileType_UserWritable,12689,Variable -NamespaceMetadataType_NamespaceFile_Writable,12690,Variable -NamespaceMetadataType_NamespaceFile_UserWritable,12691,Variable -NamespacesType_NamespaceIdentifier_NamespaceFile_Writable,12692,Variable -NamespacesType_NamespaceIdentifier_NamespaceFile_UserWritable,12693,Variable -NamespacesType_AddressSpaceFile_Writable,12694,Variable -NamespacesType_AddressSpaceFile_UserWritable,12695,Variable -Server_Namespaces_AddressSpaceFile_Writable,12696,Variable -Server_Namespaces_AddressSpaceFile_UserWritable,12697,Variable -TrustListType_Writable,12698,Variable -TrustListType_UserWritable,12699,Variable -CloseAndUpdateMethodType_InputArguments,12704,Variable -TrustListType_CloseAndUpdate_InputArguments,12705,Variable -ServerConfigurationType_ServerCapabilities,12708,Variable -ServerConfiguration_ServerCapabilities,12710,Variable -OpcUa_XmlSchema_RelativePathElement,12712,Variable -OpcUa_XmlSchema_RelativePathElement_DataTypeVersion,12713,Variable -OpcUa_XmlSchema_RelativePathElement_DictionaryFragment,12714,Variable -OpcUa_XmlSchema_RelativePath,12715,Variable -OpcUa_XmlSchema_RelativePath_DataTypeVersion,12716,Variable -OpcUa_XmlSchema_RelativePath_DictionaryFragment,12717,Variable -OpcUa_BinarySchema_RelativePathElement,12718,Variable -OpcUa_BinarySchema_RelativePathElement_DataTypeVersion,12719,Variable -OpcUa_BinarySchema_RelativePathElement_DictionaryFragment,12720,Variable -OpcUa_BinarySchema_RelativePath,12721,Variable -OpcUa_BinarySchema_RelativePath_DataTypeVersion,12722,Variable -OpcUa_BinarySchema_RelativePath_DictionaryFragment,12723,Variable -ServerConfigurationType_CreateSigningRequest,12731,Method -ServerConfigurationType_CreateSigningRequest_InputArguments,12732,Variable -ServerConfigurationType_CreateSigningRequest_OutputArguments,12733,Variable -ServerConfigurationType_ApplyChanges,12734,Method -ServerConfiguration_CreateSigningRequest,12737,Method -ServerConfiguration_CreateSigningRequest_InputArguments,12738,Variable -ServerConfiguration_CreateSigningRequest_OutputArguments,12739,Variable -ServerConfiguration_ApplyChanges,12740,Method -CreateSigningRequestMethodType,12741,Method -CreateSigningRequestMethodType_InputArguments,12742,Variable -CreateSigningRequestMethodType_OutputArguments,12743,Variable -OptionSetValues,12745,Variable -ServerType_SetSubscriptionDurable,12746,Method -ServerType_SetSubscriptionDurable_InputArguments,12747,Variable -ServerType_SetSubscriptionDurable_OutputArguments,12748,Variable -Server_SetSubscriptionDurable,12749,Method -Server_SetSubscriptionDurable_InputArguments,12750,Variable -Server_SetSubscriptionDurable_OutputArguments,12751,Variable -SetSubscriptionDurableMethodType,12752,Method -SetSubscriptionDurableMethodType_InputArguments,12753,Variable -SetSubscriptionDurableMethodType_OutputArguments,12754,Variable -OptionSet,12755,DataType -Union,12756,DataType -OptionSet_Encoding_DefaultXml,12757,Object -Union_Encoding_DefaultXml,12758,Object -OpcUa_XmlSchema_OptionSet,12759,Variable -OpcUa_XmlSchema_OptionSet_DataTypeVersion,12760,Variable -OpcUa_XmlSchema_OptionSet_DictionaryFragment,12761,Variable -OpcUa_XmlSchema_Union,12762,Variable -OpcUa_XmlSchema_Union_DataTypeVersion,12763,Variable -OpcUa_XmlSchema_Union_DictionaryFragment,12764,Variable -OptionSet_Encoding_DefaultBinary,12765,Object -Union_Encoding_DefaultBinary,12766,Object -OpcUa_BinarySchema_OptionSet,12767,Variable -OpcUa_BinarySchema_OptionSet_DataTypeVersion,12768,Variable -OpcUa_BinarySchema_OptionSet_DictionaryFragment,12769,Variable -OpcUa_BinarySchema_Union,12770,Variable -OpcUa_BinarySchema_Union_DataTypeVersion,12771,Variable -OpcUa_BinarySchema_Union_DictionaryFragment,12772,Variable -GetRejectedListMethodType,12773,Method -GetRejectedListMethodType_OutputArguments,12774,Variable -ServerConfigurationType_GetRejectedList,12775,Method -ServerConfigurationType_GetRejectedList_OutputArguments,12776,Variable -ServerConfiguration_GetRejectedList,12777,Method -ServerConfiguration_GetRejectedList_OutputArguments,12778,Variable -SamplingIntervalDiagnosticsArrayType_SamplingIntervalDiagnostics,12779,Variable -SamplingIntervalDiagnosticsArrayType_SamplingIntervalDiagnostics_SamplingInterval,12780,Variable -SamplingIntervalDiagnosticsArrayType_SamplingIntervalDiagnostics_SampledMonitoredItemsCount,12781,Variable -SamplingIntervalDiagnosticsArrayType_SamplingIntervalDiagnostics_MaxSampledMonitoredItemsCount,12782,Variable -SamplingIntervalDiagnosticsArrayType_SamplingIntervalDiagnostics_DisabledMonitoredItemsSamplingCount,12783,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics,12784,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_SessionId,12785,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_SubscriptionId,12786,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_Priority,12787,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_PublishingInterval,12788,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_MaxKeepAliveCount,12789,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_MaxLifetimeCount,12790,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_MaxNotificationsPerPublish,12791,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_PublishingEnabled,12792,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_ModifyCount,12793,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_EnableCount,12794,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_DisableCount,12795,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_RepublishRequestCount,12796,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_RepublishMessageRequestCount,12797,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_RepublishMessageCount,12798,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_TransferRequestCount,12799,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_TransferredToAltClientCount,12800,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_TransferredToSameClientCount,12801,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_PublishRequestCount,12802,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_DataChangeNotificationsCount,12803,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_EventNotificationsCount,12804,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_NotificationsCount,12805,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_LatePublishRequestCount,12806,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_CurrentKeepAliveCount,12807,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_CurrentLifetimeCount,12808,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_UnacknowledgedMessageCount,12809,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_DiscardedMessageCount,12810,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_MonitoredItemCount,12811,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_DisabledMonitoredItemCount,12812,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_MonitoringQueueOverflowCount,12813,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_NextSequenceNumber,12814,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_EventQueueOverFlowCount,12815,Variable -SessionDiagnosticsArrayType_SessionDiagnostics,12816,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_SessionId,12817,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_SessionName,12818,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_ClientDescription,12819,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_ServerUri,12820,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_EndpointUrl,12821,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_LocaleIds,12822,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_ActualSessionTimeout,12823,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_MaxResponseMessageSize,12824,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_ClientConnectionTime,12825,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_ClientLastContactTime,12826,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_CurrentSubscriptionsCount,12827,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_CurrentMonitoredItemsCount,12828,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_CurrentPublishRequestsInQueue,12829,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_TotalRequestCount,12830,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_UnauthorizedRequestCount,12831,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_ReadCount,12832,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_HistoryReadCount,12833,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_WriteCount,12834,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_HistoryUpdateCount,12835,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_CallCount,12836,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_CreateMonitoredItemsCount,12837,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_ModifyMonitoredItemsCount,12838,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_SetMonitoringModeCount,12839,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_SetTriggeringCount,12840,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_DeleteMonitoredItemsCount,12841,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_CreateSubscriptionCount,12842,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_ModifySubscriptionCount,12843,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_SetPublishingModeCount,12844,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_PublishCount,12845,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_RepublishCount,12846,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_TransferSubscriptionsCount,12847,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_DeleteSubscriptionsCount,12848,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_AddNodesCount,12849,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_AddReferencesCount,12850,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_DeleteNodesCount,12851,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_DeleteReferencesCount,12852,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_BrowseCount,12853,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_BrowseNextCount,12854,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_TranslateBrowsePathsToNodeIdsCount,12855,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_QueryFirstCount,12856,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_QueryNextCount,12857,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_RegisterNodesCount,12858,Variable -SessionDiagnosticsArrayType_SessionDiagnostics_UnregisterNodesCount,12859,Variable -SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics,12860,Variable -SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_SessionId,12861,Variable -SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_ClientUserIdOfSession,12862,Variable -SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_ClientUserIdHistory,12863,Variable -SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_AuthenticationMechanism,12864,Variable -SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_Encoding,12865,Variable -SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_TransportProtocol,12866,Variable -SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_SecurityMode,12867,Variable -SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_SecurityPolicyUri,12868,Variable -SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_ClientCertificate,12869,Variable -ServerType_ResendData,12871,Method -ServerType_ResendData_InputArguments,12872,Variable -Server_ResendData,12873,Method -Server_ResendData_InputArguments,12874,Variable -ResendDataMethodType,12875,Method -ResendDataMethodType_InputArguments,12876,Variable -NormalizedString,12877,DataType -DecimalString,12878,DataType -DurationString,12879,DataType -TimeString,12880,DataType -DateString,12881,DataType -ServerType_EstimatedReturnTime,12882,Variable -ServerType_RequestServerStateChange,12883,Method -ServerType_RequestServerStateChange_InputArguments,12884,Variable -Server_EstimatedReturnTime,12885,Variable -Server_RequestServerStateChange,12886,Method -Server_RequestServerStateChange_InputArguments,12887,Variable -RequestServerStateChangeMethodType,12888,Method -RequestServerStateChangeMethodType_InputArguments,12889,Variable -DiscoveryConfiguration,12890,DataType -MdnsDiscoveryConfiguration,12891,DataType -DiscoveryConfiguration_Encoding_DefaultXml,12892,Object -MdnsDiscoveryConfiguration_Encoding_DefaultXml,12893,Object -OpcUa_XmlSchema_DiscoveryConfiguration,12894,Variable -OpcUa_XmlSchema_DiscoveryConfiguration_DataTypeVersion,12895,Variable -OpcUa_XmlSchema_DiscoveryConfiguration_DictionaryFragment,12896,Variable -OpcUa_XmlSchema_MdnsDiscoveryConfiguration,12897,Variable -OpcUa_XmlSchema_MdnsDiscoveryConfiguration_DataTypeVersion,12898,Variable -OpcUa_XmlSchema_MdnsDiscoveryConfiguration_DictionaryFragment,12899,Variable -DiscoveryConfiguration_Encoding_DefaultBinary,12900,Object -MdnsDiscoveryConfiguration_Encoding_DefaultBinary,12901,Object -OpcUa_BinarySchema_DiscoveryConfiguration,12902,Variable -OpcUa_BinarySchema_DiscoveryConfiguration_DataTypeVersion,12903,Variable -OpcUa_BinarySchema_DiscoveryConfiguration_DictionaryFragment,12904,Variable -OpcUa_BinarySchema_MdnsDiscoveryConfiguration,12905,Variable -OpcUa_BinarySchema_MdnsDiscoveryConfiguration_DataTypeVersion,12906,Variable -OpcUa_BinarySchema_MdnsDiscoveryConfiguration_DictionaryFragment,12907,Variable -MaxByteStringLength,12908,Variable -ServerType_ServerCapabilities_MaxByteStringLength,12909,Variable -ServerCapabilitiesType_MaxByteStringLength,12910,Variable -Server_ServerCapabilities_MaxByteStringLength,12911,Variable -ConditionType_ConditionRefresh2,12912,Method -ConditionType_ConditionRefresh2_InputArguments,12913,Variable -ConditionRefresh2MethodType,12914,Method -ConditionRefresh2MethodType_InputArguments,12915,Variable -DialogConditionType_ConditionRefresh2,12916,Method -DialogConditionType_ConditionRefresh2_InputArguments,12917,Variable -AcknowledgeableConditionType_ConditionRefresh2,12918,Method -AcknowledgeableConditionType_ConditionRefresh2_InputArguments,12919,Variable -AlarmConditionType_ConditionRefresh2,12984,Method -AlarmConditionType_ConditionRefresh2_InputArguments,12985,Variable -LimitAlarmType_ConditionRefresh2,12986,Method -LimitAlarmType_ConditionRefresh2_InputArguments,12987,Variable -ExclusiveLimitAlarmType_ConditionRefresh2,12988,Method -ExclusiveLimitAlarmType_ConditionRefresh2_InputArguments,12989,Variable -NonExclusiveLimitAlarmType_ConditionRefresh2,12990,Method -NonExclusiveLimitAlarmType_ConditionRefresh2_InputArguments,12991,Variable -NonExclusiveLevelAlarmType_ConditionRefresh2,12992,Method -NonExclusiveLevelAlarmType_ConditionRefresh2_InputArguments,12993,Variable -ExclusiveLevelAlarmType_ConditionRefresh2,12994,Method -ExclusiveLevelAlarmType_ConditionRefresh2_InputArguments,12995,Variable -NonExclusiveDeviationAlarmType_ConditionRefresh2,12996,Method -NonExclusiveDeviationAlarmType_ConditionRefresh2_InputArguments,12997,Variable -ExclusiveDeviationAlarmType_ConditionRefresh2,12998,Method -ExclusiveDeviationAlarmType_ConditionRefresh2_InputArguments,12999,Variable -NonExclusiveRateOfChangeAlarmType_ConditionRefresh2,13000,Method -NonExclusiveRateOfChangeAlarmType_ConditionRefresh2_InputArguments,13001,Variable -ExclusiveRateOfChangeAlarmType_ConditionRefresh2,13002,Method -ExclusiveRateOfChangeAlarmType_ConditionRefresh2_InputArguments,13003,Variable -DiscreteAlarmType_ConditionRefresh2,13004,Method -DiscreteAlarmType_ConditionRefresh2_InputArguments,13005,Variable -OffNormalAlarmType_ConditionRefresh2,13006,Method -OffNormalAlarmType_ConditionRefresh2_InputArguments,13007,Variable -SystemOffNormalAlarmType_ConditionRefresh2,13008,Method -SystemOffNormalAlarmType_ConditionRefresh2_InputArguments,13009,Variable -TripAlarmType_ConditionRefresh2,13010,Method -TripAlarmType_ConditionRefresh2_InputArguments,13011,Variable -CertificateExpirationAlarmType,13225,ObjectType -CertificateExpirationAlarmType_EventId,13226,Variable -CertificateExpirationAlarmType_EventType,13227,Variable -CertificateExpirationAlarmType_SourceNode,13228,Variable -CertificateExpirationAlarmType_SourceName,13229,Variable -CertificateExpirationAlarmType_Time,13230,Variable -CertificateExpirationAlarmType_ReceiveTime,13231,Variable -CertificateExpirationAlarmType_LocalTime,13232,Variable -CertificateExpirationAlarmType_Message,13233,Variable -CertificateExpirationAlarmType_Severity,13234,Variable -CertificateExpirationAlarmType_ConditionClassId,13235,Variable -CertificateExpirationAlarmType_ConditionClassName,13236,Variable -CertificateExpirationAlarmType_ConditionName,13237,Variable -CertificateExpirationAlarmType_BranchId,13238,Variable -CertificateExpirationAlarmType_Retain,13239,Variable -CertificateExpirationAlarmType_EnabledState,13240,Variable -CertificateExpirationAlarmType_EnabledState_Id,13241,Variable -CertificateExpirationAlarmType_EnabledState_Name,13242,Variable -CertificateExpirationAlarmType_EnabledState_Number,13243,Variable -CertificateExpirationAlarmType_EnabledState_EffectiveDisplayName,13244,Variable -CertificateExpirationAlarmType_EnabledState_TransitionTime,13245,Variable -CertificateExpirationAlarmType_EnabledState_EffectiveTransitionTime,13246,Variable -CertificateExpirationAlarmType_EnabledState_TrueState,13247,Variable -CertificateExpirationAlarmType_EnabledState_FalseState,13248,Variable -CertificateExpirationAlarmType_Quality,13249,Variable -CertificateExpirationAlarmType_Quality_SourceTimestamp,13250,Variable -CertificateExpirationAlarmType_LastSeverity,13251,Variable -CertificateExpirationAlarmType_LastSeverity_SourceTimestamp,13252,Variable -CertificateExpirationAlarmType_Comment,13253,Variable -CertificateExpirationAlarmType_Comment_SourceTimestamp,13254,Variable -CertificateExpirationAlarmType_ClientUserId,13255,Variable -CertificateExpirationAlarmType_Disable,13256,Method -CertificateExpirationAlarmType_Enable,13257,Method -CertificateExpirationAlarmType_AddComment,13258,Method -CertificateExpirationAlarmType_AddComment_InputArguments,13259,Variable -CertificateExpirationAlarmType_ConditionRefresh,13260,Method -CertificateExpirationAlarmType_ConditionRefresh_InputArguments,13261,Variable -CertificateExpirationAlarmType_ConditionRefresh2,13262,Method -CertificateExpirationAlarmType_ConditionRefresh2_InputArguments,13263,Variable -CertificateExpirationAlarmType_AckedState,13264,Variable -CertificateExpirationAlarmType_AckedState_Id,13265,Variable -CertificateExpirationAlarmType_AckedState_Name,13266,Variable -CertificateExpirationAlarmType_AckedState_Number,13267,Variable -CertificateExpirationAlarmType_AckedState_EffectiveDisplayName,13268,Variable -CertificateExpirationAlarmType_AckedState_TransitionTime,13269,Variable -CertificateExpirationAlarmType_AckedState_EffectiveTransitionTime,13270,Variable -CertificateExpirationAlarmType_AckedState_TrueState,13271,Variable -CertificateExpirationAlarmType_AckedState_FalseState,13272,Variable -CertificateExpirationAlarmType_ConfirmedState,13273,Variable -CertificateExpirationAlarmType_ConfirmedState_Id,13274,Variable -CertificateExpirationAlarmType_ConfirmedState_Name,13275,Variable -CertificateExpirationAlarmType_ConfirmedState_Number,13276,Variable -CertificateExpirationAlarmType_ConfirmedState_EffectiveDisplayName,13277,Variable -CertificateExpirationAlarmType_ConfirmedState_TransitionTime,13278,Variable -CertificateExpirationAlarmType_ConfirmedState_EffectiveTransitionTime,13279,Variable -CertificateExpirationAlarmType_ConfirmedState_TrueState,13280,Variable -CertificateExpirationAlarmType_ConfirmedState_FalseState,13281,Variable -CertificateExpirationAlarmType_Acknowledge,13282,Method -CertificateExpirationAlarmType_Acknowledge_InputArguments,13283,Variable -CertificateExpirationAlarmType_Confirm,13284,Method -CertificateExpirationAlarmType_Confirm_InputArguments,13285,Variable -CertificateExpirationAlarmType_ActiveState,13286,Variable -CertificateExpirationAlarmType_ActiveState_Id,13287,Variable -CertificateExpirationAlarmType_ActiveState_Name,13288,Variable -CertificateExpirationAlarmType_ActiveState_Number,13289,Variable -CertificateExpirationAlarmType_ActiveState_EffectiveDisplayName,13290,Variable -CertificateExpirationAlarmType_ActiveState_TransitionTime,13291,Variable -CertificateExpirationAlarmType_ActiveState_EffectiveTransitionTime,13292,Variable -CertificateExpirationAlarmType_ActiveState_TrueState,13293,Variable -CertificateExpirationAlarmType_ActiveState_FalseState,13294,Variable -CertificateExpirationAlarmType_InputNode,13295,Variable -CertificateExpirationAlarmType_SuppressedState,13296,Variable -CertificateExpirationAlarmType_SuppressedState_Id,13297,Variable -CertificateExpirationAlarmType_SuppressedState_Name,13298,Variable -CertificateExpirationAlarmType_SuppressedState_Number,13299,Variable -CertificateExpirationAlarmType_SuppressedState_EffectiveDisplayName,13300,Variable -CertificateExpirationAlarmType_SuppressedState_TransitionTime,13301,Variable -CertificateExpirationAlarmType_SuppressedState_EffectiveTransitionTime,13302,Variable -CertificateExpirationAlarmType_SuppressedState_TrueState,13303,Variable -CertificateExpirationAlarmType_SuppressedState_FalseState,13304,Variable -CertificateExpirationAlarmType_ShelvingState,13305,Object -CertificateExpirationAlarmType_ShelvingState_CurrentState,13306,Variable -CertificateExpirationAlarmType_ShelvingState_CurrentState_Id,13307,Variable -CertificateExpirationAlarmType_ShelvingState_CurrentState_Name,13308,Variable -CertificateExpirationAlarmType_ShelvingState_CurrentState_Number,13309,Variable -CertificateExpirationAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,13310,Variable -CertificateExpirationAlarmType_ShelvingState_LastTransition,13311,Variable -CertificateExpirationAlarmType_ShelvingState_LastTransition_Id,13312,Variable -CertificateExpirationAlarmType_ShelvingState_LastTransition_Name,13313,Variable -CertificateExpirationAlarmType_ShelvingState_LastTransition_Number,13314,Variable -CertificateExpirationAlarmType_ShelvingState_LastTransition_TransitionTime,13315,Variable -CertificateExpirationAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,13316,Variable -CertificateExpirationAlarmType_ShelvingState_UnshelveTime,13317,Variable -CertificateExpirationAlarmType_ShelvingState_Unshelve,13318,Method -CertificateExpirationAlarmType_ShelvingState_OneShotShelve,13319,Method -CertificateExpirationAlarmType_ShelvingState_TimedShelve,13320,Method -CertificateExpirationAlarmType_ShelvingState_TimedShelve_InputArguments,13321,Variable -CertificateExpirationAlarmType_SuppressedOrShelved,13322,Variable -CertificateExpirationAlarmType_MaxTimeShelved,13323,Variable -CertificateExpirationAlarmType_NormalState,13324,Variable -CertificateExpirationAlarmType_ExpirationDate,13325,Variable -CertificateExpirationAlarmType_CertificateType,13326,Variable -CertificateExpirationAlarmType_Certificate,13327,Variable -ServerType_Namespaces_AddressSpaceFile_MimeType,13340,Variable -FileType_MimeType,13341,Variable -CreateDirectoryMethodType,13342,Method -CreateDirectoryMethodType_InputArguments,13343,Variable -CreateDirectoryMethodType_OutputArguments,13344,Variable -CreateFileMethodType,13345,Method -CreateFileMethodType_InputArguments,13346,Variable -CreateFileMethodType_OutputArguments,13347,Variable -DeleteFileMethodType,13348,Method -DeleteFileMethodType_InputArguments,13349,Variable -MoveOrCopyMethodType,13350,Method -MoveOrCopyMethodType_InputArguments,13351,Variable -MoveOrCopyMethodType_OutputArguments,13352,Variable -FileDirectoryType,13353,ObjectType -FileDirectoryType_xFileDirectoryNamex,13354,Object -FileDirectoryType_xFileDirectoryNamex_CreateDirectory,13355,Method -FileDirectoryType_xFileDirectoryNamex_CreateDirectory_InputArguments,13356,Variable -FileDirectoryType_xFileDirectoryNamex_CreateDirectory_OutputArguments,13357,Variable -FileDirectoryType_xFileDirectoryNamex_CreateFile,13358,Method -FileDirectoryType_xFileDirectoryNamex_CreateFile_InputArguments,13359,Variable -FileDirectoryType_xFileDirectoryNamex_CreateFile_OutputArguments,13360,Variable -FileDirectoryType_xFileDirectoryNamex_Delete,13361,Method -FileDirectoryType_xFileDirectoryNamex_Delete_InputArguments,13362,Variable -FileDirectoryType_xFileDirectoryNamex_MoveOrCopy,13363,Method -FileDirectoryType_xFileDirectoryNamex_MoveOrCopy_InputArguments,13364,Variable -FileDirectoryType_xFileDirectoryNamex_MoveOrCopy_OutputArguments,13365,Variable -FileDirectoryType_xFileNamex,13366,Object -FileDirectoryType_xFileNamex_Size,13367,Variable -FileDirectoryType_xFileNamex_Writable,13368,Variable -FileDirectoryType_xFileNamex_UserWritable,13369,Variable -FileDirectoryType_xFileNamex_OpenCount,13370,Variable -FileDirectoryType_xFileNamex_MimeType,13371,Variable -FileDirectoryType_xFileNamex_Open,13372,Method -FileDirectoryType_xFileNamex_Open_InputArguments,13373,Variable -FileDirectoryType_xFileNamex_Open_OutputArguments,13374,Variable -FileDirectoryType_xFileNamex_Close,13375,Method -FileDirectoryType_xFileNamex_Close_InputArguments,13376,Variable -FileDirectoryType_xFileNamex_Read,13377,Method -FileDirectoryType_xFileNamex_Read_InputArguments,13378,Variable -FileDirectoryType_xFileNamex_Read_OutputArguments,13379,Variable -FileDirectoryType_xFileNamex_Write,13380,Method -FileDirectoryType_xFileNamex_Write_InputArguments,13381,Variable -FileDirectoryType_xFileNamex_GetPosition,13382,Method -FileDirectoryType_xFileNamex_GetPosition_InputArguments,13383,Variable -FileDirectoryType_xFileNamex_GetPosition_OutputArguments,13384,Variable -FileDirectoryType_xFileNamex_SetPosition,13385,Method -FileDirectoryType_xFileNamex_SetPosition_InputArguments,13386,Variable -FileDirectoryType_CreateDirectory,13387,Method -FileDirectoryType_CreateDirectory_InputArguments,13388,Variable -FileDirectoryType_CreateDirectory_OutputArguments,13389,Variable -FileDirectoryType_CreateFile,13390,Method -FileDirectoryType_CreateFile_InputArguments,13391,Variable -FileDirectoryType_CreateFile_OutputArguments,13392,Variable -FileDirectoryType_Delete,13393,Method -FileDirectoryType_Delete_InputArguments,13394,Variable -FileDirectoryType_MoveOrCopy,13395,Method -FileDirectoryType_MoveOrCopy_InputArguments,13396,Variable -FileDirectoryType_MoveOrCopy_OutputArguments,13397,Variable -AddressSpaceFileType_MimeType,13398,Variable -NamespaceMetadataType_NamespaceFile_MimeType,13399,Variable -NamespacesType_NamespaceIdentifier_NamespaceFile_MimeType,13400,Variable -NamespacesType_AddressSpaceFile_MimeType,13401,Variable -Server_Namespaces_AddressSpaceFile_MimeType,13402,Variable -TrustListType_MimeType,13403,Variable -CertificateGroupType_TrustList,13599,Object -CertificateGroupType_TrustList_Size,13600,Variable -CertificateGroupType_TrustList_Writable,13601,Variable -CertificateGroupType_TrustList_UserWritable,13602,Variable -CertificateGroupType_TrustList_OpenCount,13603,Variable -CertificateGroupType_TrustList_MimeType,13604,Variable -CertificateGroupType_TrustList_Open,13605,Method -CertificateGroupType_TrustList_Open_InputArguments,13606,Variable -CertificateGroupType_TrustList_Open_OutputArguments,13607,Variable -CertificateGroupType_TrustList_Close,13608,Method -CertificateGroupType_TrustList_Close_InputArguments,13609,Variable -CertificateGroupType_TrustList_Read,13610,Method -CertificateGroupType_TrustList_Read_InputArguments,13611,Variable -CertificateGroupType_TrustList_Read_OutputArguments,13612,Variable -CertificateGroupType_TrustList_Write,13613,Method -CertificateGroupType_TrustList_Write_InputArguments,13614,Variable -CertificateGroupType_TrustList_GetPosition,13615,Method -CertificateGroupType_TrustList_GetPosition_InputArguments,13616,Variable -CertificateGroupType_TrustList_GetPosition_OutputArguments,13617,Variable -CertificateGroupType_TrustList_SetPosition,13618,Method -CertificateGroupType_TrustList_SetPosition_InputArguments,13619,Variable -CertificateGroupType_TrustList_LastUpdateTime,13620,Variable -CertificateGroupType_TrustList_OpenWithMasks,13621,Method -CertificateGroupType_TrustList_OpenWithMasks_InputArguments,13622,Variable -CertificateGroupType_TrustList_OpenWithMasks_OutputArguments,13623,Variable -CertificateGroupType_TrustList_CloseAndUpdate,13624,Method -CertificateGroupType_TrustList_CloseAndUpdate_InputArguments,13625,Variable -CertificateGroupType_TrustList_CloseAndUpdate_OutputArguments,13626,Variable -CertificateGroupType_TrustList_AddCertificate,13627,Method -CertificateGroupType_TrustList_AddCertificate_InputArguments,13628,Variable -CertificateGroupType_TrustList_RemoveCertificate,13629,Method -CertificateGroupType_TrustList_RemoveCertificate_InputArguments,13630,Variable -CertificateGroupType_CertificateTypes,13631,Variable -CertificateUpdatedAuditEventType_CertificateGroup,13735,Variable -CertificateUpdatedAuditEventType_CertificateType,13736,Variable -ServerConfiguration_UpdateCertificate,13737,Method -ServerConfiguration_UpdateCertificate_InputArguments,13738,Variable -ServerConfiguration_UpdateCertificate_OutputArguments,13739,Variable -CertificateGroupFolderType,13813,ObjectType -CertificateGroupFolderType_DefaultApplicationGroup,13814,Object -CertificateGroupFolderType_DefaultApplicationGroup_TrustList,13815,Object -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Size,13816,Variable -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Writable,13817,Variable -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_UserWritable,13818,Variable -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_OpenCount,13819,Variable -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_MimeType,13820,Variable -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Open,13821,Method -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Open_InputArguments,13822,Variable -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Open_OutputArguments,13823,Variable -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Close,13824,Method -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Close_InputArguments,13825,Variable -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Read,13826,Method -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Read_InputArguments,13827,Variable -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Read_OutputArguments,13828,Variable -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Write,13829,Method -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Write_InputArguments,13830,Variable -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_GetPosition,13831,Method -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_GetPosition_InputArguments,13832,Variable -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_GetPosition_OutputArguments,13833,Variable -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_SetPosition,13834,Method -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_SetPosition_InputArguments,13835,Variable -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_LastUpdateTime,13836,Variable -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_OpenWithMasks,13837,Method -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_OpenWithMasks_InputArguments,13838,Variable -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_OpenWithMasks_OutputArguments,13839,Variable -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_CloseAndUpdate,13840,Method -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_CloseAndUpdate_InputArguments,13841,Variable -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_CloseAndUpdate_OutputArguments,13842,Variable -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_AddCertificate,13843,Method -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_AddCertificate_InputArguments,13844,Variable -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_RemoveCertificate,13845,Method -CertificateGroupFolderType_DefaultApplicationGroup_TrustList_RemoveCertificate_InputArguments,13846,Variable -CertificateGroupFolderType_DefaultApplicationGroup_CertificateTypes,13847,Variable -CertificateGroupFolderType_DefaultHttpsGroup,13848,Object -CertificateGroupFolderType_DefaultHttpsGroup_TrustList,13849,Object -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Size,13850,Variable -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Writable,13851,Variable -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_UserWritable,13852,Variable -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_OpenCount,13853,Variable -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_MimeType,13854,Variable -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Open,13855,Method -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Open_InputArguments,13856,Variable -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Open_OutputArguments,13857,Variable -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Close,13858,Method -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Close_InputArguments,13859,Variable -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Read,13860,Method -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Read_InputArguments,13861,Variable -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Read_OutputArguments,13862,Variable -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Write,13863,Method -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Write_InputArguments,13864,Variable -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_GetPosition,13865,Method -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_GetPosition_InputArguments,13866,Variable -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_GetPosition_OutputArguments,13867,Variable -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_SetPosition,13868,Method -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_SetPosition_InputArguments,13869,Variable -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_LastUpdateTime,13870,Variable -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_OpenWithMasks,13871,Method -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_OpenWithMasks_InputArguments,13872,Variable -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_OpenWithMasks_OutputArguments,13873,Variable -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_CloseAndUpdate,13874,Method -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_CloseAndUpdate_InputArguments,13875,Variable -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_CloseAndUpdate_OutputArguments,13876,Variable -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_AddCertificate,13877,Method -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_AddCertificate_InputArguments,13878,Variable -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_RemoveCertificate,13879,Method -CertificateGroupFolderType_DefaultHttpsGroup_TrustList_RemoveCertificate_InputArguments,13880,Variable -CertificateGroupFolderType_DefaultHttpsGroup_CertificateTypes,13881,Variable -CertificateGroupFolderType_DefaultUserTokenGroup,13882,Object -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList,13883,Object -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Size,13884,Variable -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Writable,13885,Variable -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_UserWritable,13886,Variable -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_OpenCount,13887,Variable -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_MimeType,13888,Variable -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Open,13889,Method -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Open_InputArguments,13890,Variable -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Open_OutputArguments,13891,Variable -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Close,13892,Method -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Close_InputArguments,13893,Variable -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Read,13894,Method -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Read_InputArguments,13895,Variable -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Read_OutputArguments,13896,Variable -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Write,13897,Method -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Write_InputArguments,13898,Variable -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_GetPosition,13899,Method -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_GetPosition_InputArguments,13900,Variable -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_GetPosition_OutputArguments,13901,Variable -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_SetPosition,13902,Method -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_SetPosition_InputArguments,13903,Variable -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_LastUpdateTime,13904,Variable -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_OpenWithMasks,13905,Method -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_OpenWithMasks_InputArguments,13906,Variable -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_OpenWithMasks_OutputArguments,13907,Variable -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_CloseAndUpdate,13908,Method -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_CloseAndUpdate_InputArguments,13909,Variable -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_CloseAndUpdate_OutputArguments,13910,Variable -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_AddCertificate,13911,Method -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_AddCertificate_InputArguments,13912,Variable -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_RemoveCertificate,13913,Method -CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_RemoveCertificate_InputArguments,13914,Variable -CertificateGroupFolderType_DefaultUserTokenGroup_CertificateTypes,13915,Variable -CertificateGroupFolderType_xCertificateGroupx,13916,Object -CertificateGroupFolderType_xCertificateGroupx_TrustList,13917,Object -CertificateGroupFolderType_xCertificateGroupx_TrustList_Size,13918,Variable -CertificateGroupFolderType_xCertificateGroupx_TrustList_Writable,13919,Variable -CertificateGroupFolderType_xCertificateGroupx_TrustList_UserWritable,13920,Variable -CertificateGroupFolderType_xCertificateGroupx_TrustList_OpenCount,13921,Variable -CertificateGroupFolderType_xCertificateGroupx_TrustList_MimeType,13922,Variable -CertificateGroupFolderType_xCertificateGroupx_TrustList_Open,13923,Method -CertificateGroupFolderType_xCertificateGroupx_TrustList_Open_InputArguments,13924,Variable -CertificateGroupFolderType_xCertificateGroupx_TrustList_Open_OutputArguments,13925,Variable -CertificateGroupFolderType_xCertificateGroupx_TrustList_Close,13926,Method -CertificateGroupFolderType_xCertificateGroupx_TrustList_Close_InputArguments,13927,Variable -CertificateGroupFolderType_xCertificateGroupx_TrustList_Read,13928,Method -CertificateGroupFolderType_xCertificateGroupx_TrustList_Read_InputArguments,13929,Variable -CertificateGroupFolderType_xCertificateGroupx_TrustList_Read_OutputArguments,13930,Variable -CertificateGroupFolderType_xCertificateGroupx_TrustList_Write,13931,Method -CertificateGroupFolderType_xCertificateGroupx_TrustList_Write_InputArguments,13932,Variable -CertificateGroupFolderType_xCertificateGroupx_TrustList_GetPosition,13933,Method -CertificateGroupFolderType_xCertificateGroupx_TrustList_GetPosition_InputArguments,13934,Variable -CertificateGroupFolderType_xCertificateGroupx_TrustList_GetPosition_OutputArguments,13935,Variable -CertificateGroupFolderType_xCertificateGroupx_TrustList_SetPosition,13936,Method -CertificateGroupFolderType_xCertificateGroupx_TrustList_SetPosition_InputArguments,13937,Variable -CertificateGroupFolderType_xCertificateGroupx_TrustList_LastUpdateTime,13938,Variable -CertificateGroupFolderType_xCertificateGroupx_TrustList_OpenWithMasks,13939,Method -CertificateGroupFolderType_xCertificateGroupx_TrustList_OpenWithMasks_InputArguments,13940,Variable -CertificateGroupFolderType_xCertificateGroupx_TrustList_OpenWithMasks_OutputArguments,13941,Variable -CertificateGroupFolderType_xCertificateGroupx_TrustList_CloseAndUpdate,13942,Method -CertificateGroupFolderType_xCertificateGroupx_TrustList_CloseAndUpdate_InputArguments,13943,Variable -CertificateGroupFolderType_xCertificateGroupx_TrustList_CloseAndUpdate_OutputArguments,13944,Variable -CertificateGroupFolderType_xCertificateGroupx_TrustList_AddCertificate,13945,Method -CertificateGroupFolderType_xCertificateGroupx_TrustList_AddCertificate_InputArguments,13946,Variable -CertificateGroupFolderType_xCertificateGroupx_TrustList_RemoveCertificate,13947,Method -CertificateGroupFolderType_xCertificateGroupx_TrustList_RemoveCertificate_InputArguments,13948,Variable -CertificateGroupFolderType_xCertificateGroupx_CertificateTypes,13949,Variable -ServerConfigurationType_CertificateGroups,13950,Object -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup,13951,Object -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList,13952,Object -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Size,13953,Variable -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Writable,13954,Variable -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_UserWritable,13955,Variable -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_OpenCount,13956,Variable -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_MimeType,13957,Variable -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Open,13958,Method -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Open_InputArguments,13959,Variable -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Open_OutputArguments,13960,Variable -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Close,13961,Method -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Close_InputArguments,13962,Variable -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Read,13963,Method -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Read_InputArguments,13964,Variable -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Read_OutputArguments,13965,Variable -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Write,13966,Method -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Write_InputArguments,13967,Variable -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_GetPosition,13968,Method -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_GetPosition_InputArguments,13969,Variable -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_GetPosition_OutputArguments,13970,Variable -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_SetPosition,13971,Method -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_SetPosition_InputArguments,13972,Variable -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_LastUpdateTime,13973,Variable -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_OpenWithMasks,13974,Method -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_OpenWithMasks_InputArguments,13975,Variable -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_OpenWithMasks_OutputArguments,13976,Variable -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_CloseAndUpdate,13977,Method -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_CloseAndUpdate_InputArguments,13978,Variable -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_CloseAndUpdate_OutputArguments,13979,Variable -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_AddCertificate,13980,Method -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_AddCertificate_InputArguments,13981,Variable -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_RemoveCertificate,13982,Method -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_RemoveCertificate_InputArguments,13983,Variable -ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_CertificateTypes,13984,Variable -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup,13985,Object -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList,13986,Object -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Size,13987,Variable -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Writable,13988,Variable -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_UserWritable,13989,Variable -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_OpenCount,13990,Variable -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_MimeType,13991,Variable -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Open,13992,Method -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Open_InputArguments,13993,Variable -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Open_OutputArguments,13994,Variable -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Close,13995,Method -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Close_InputArguments,13996,Variable -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Read,13997,Method -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Read_InputArguments,13998,Variable -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Read_OutputArguments,13999,Variable -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Write,14000,Method -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Write_InputArguments,14001,Variable -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_GetPosition,14002,Method -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_GetPosition_InputArguments,14003,Variable -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_GetPosition_OutputArguments,14004,Variable -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_SetPosition,14005,Method -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_SetPosition_InputArguments,14006,Variable -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_LastUpdateTime,14007,Variable -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_OpenWithMasks,14008,Method -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_OpenWithMasks_InputArguments,14009,Variable -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_OpenWithMasks_OutputArguments,14010,Variable -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_CloseAndUpdate,14011,Method -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_CloseAndUpdate_InputArguments,14012,Variable -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_CloseAndUpdate_OutputArguments,14013,Variable -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_AddCertificate,14014,Method -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_AddCertificate_InputArguments,14015,Variable -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_RemoveCertificate,14016,Method -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_RemoveCertificate_InputArguments,14017,Variable -ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_CertificateTypes,14018,Variable -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup,14019,Object -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList,14020,Object -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Size,14021,Variable -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Writable,14022,Variable -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_UserWritable,14023,Variable -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenCount,14024,Variable -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_MimeType,14025,Variable -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Open,14026,Method -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Open_InputArguments,14027,Variable -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Open_OutputArguments,14028,Variable -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Close,14029,Method -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Close_InputArguments,14030,Variable -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Read,14031,Method -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Read_InputArguments,14032,Variable -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Read_OutputArguments,14033,Variable -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Write,14034,Method -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Write_InputArguments,14035,Variable -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_GetPosition,14036,Method -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_GetPosition_InputArguments,14037,Variable -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_GetPosition_OutputArguments,14038,Variable -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_SetPosition,14039,Method -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_SetPosition_InputArguments,14040,Variable -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_LastUpdateTime,14041,Variable -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenWithMasks,14042,Method -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenWithMasks_InputArguments,14043,Variable -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenWithMasks_OutputArguments,14044,Variable -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_CloseAndUpdate,14045,Method -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_CloseAndUpdate_InputArguments,14046,Variable -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_CloseAndUpdate_OutputArguments,14047,Variable -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_AddCertificate,14048,Method -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_AddCertificate_InputArguments,14049,Variable -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_RemoveCertificate,14050,Method -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_RemoveCertificate_InputArguments,14051,Variable -ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_CertificateTypes,14052,Variable -ServerConfiguration_CertificateGroups,14053,Object -ServerConfiguration_CertificateGroups_DefaultHttpsGroup,14088,Object -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList,14089,Object -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Size,14090,Variable -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Writable,14091,Variable -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_UserWritable,14092,Variable -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_OpenCount,14093,Variable -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_MimeType,14094,Variable -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Open,14095,Method -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Open_InputArguments,14096,Variable -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Open_OutputArguments,14097,Variable -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Close,14098,Method -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Close_InputArguments,14099,Variable -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Read,14100,Method -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Read_InputArguments,14101,Variable -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Read_OutputArguments,14102,Variable -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Write,14103,Method -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Write_InputArguments,14104,Variable -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_GetPosition,14105,Method -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_GetPosition_InputArguments,14106,Variable -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_GetPosition_OutputArguments,14107,Variable -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_SetPosition,14108,Method -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_SetPosition_InputArguments,14109,Variable -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_LastUpdateTime,14110,Variable -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_OpenWithMasks,14111,Method -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_OpenWithMasks_InputArguments,14112,Variable -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_OpenWithMasks_OutputArguments,14113,Variable -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_CloseAndUpdate,14114,Method -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_CloseAndUpdate_InputArguments,14115,Variable -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_CloseAndUpdate_OutputArguments,14116,Variable -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_AddCertificate,14117,Method -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_AddCertificate_InputArguments,14118,Variable -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_RemoveCertificate,14119,Method -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_RemoveCertificate_InputArguments,14120,Variable -ServerConfiguration_CertificateGroups_DefaultHttpsGroup_CertificateTypes,14121,Variable -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup,14122,Object -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList,14123,Object -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Size,14124,Variable -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Writable,14125,Variable -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_UserWritable,14126,Variable -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenCount,14127,Variable -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_MimeType,14128,Variable -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Open,14129,Method -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Open_InputArguments,14130,Variable -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Open_OutputArguments,14131,Variable -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Close,14132,Method -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Close_InputArguments,14133,Variable -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Read,14134,Method -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Read_InputArguments,14135,Variable -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Read_OutputArguments,14136,Variable -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Write,14137,Method -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Write_InputArguments,14138,Variable -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_GetPosition,14139,Method -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_GetPosition_InputArguments,14140,Variable -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_GetPosition_OutputArguments,14141,Variable -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_SetPosition,14142,Method -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_SetPosition_InputArguments,14143,Variable -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_LastUpdateTime,14144,Variable -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenWithMasks,14145,Method -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenWithMasks_InputArguments,14146,Variable -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenWithMasks_OutputArguments,14147,Variable -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_CloseAndUpdate,14148,Method -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_CloseAndUpdate_InputArguments,14149,Variable -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_CloseAndUpdate_OutputArguments,14150,Variable -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_AddCertificate,14151,Method -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_AddCertificate_InputArguments,14152,Variable -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_RemoveCertificate,14153,Method -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_RemoveCertificate_InputArguments,14154,Variable -ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_CertificateTypes,14155,Variable -ServerConfiguration_CertificateGroups_DefaultApplicationGroup,14156,Object -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Writable,14157,Variable -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_UserWritable,14158,Variable -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_MimeType,14159,Variable -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_CloseAndUpdate_InputArguments,14160,Variable -ServerConfiguration_CertificateGroups_DefaultApplicationGroup_CertificateTypes,14161,Variable -AuditCreateSessionEventType_SessionId,14413,Variable -AuditUrlMismatchEventType_SessionId,14414,Variable -Server_ServerRedundancy_ServerNetworkGroups,14415,Variable +Boolean,1,DataType +SByte,2,DataType +Byte,3,DataType +Int16,4,DataType +UInt16,5,DataType +Int32,6,DataType +UInt32,7,DataType +Int64,8,DataType +UInt64,9,DataType +Float,10,DataType +Double,11,DataType +String,12,DataType +DateTime,13,DataType +Guid,14,DataType +ByteString,15,DataType +XmlElement,16,DataType +NodeId,17,DataType +ExpandedNodeId,18,DataType +StatusCode,19,DataType +QualifiedName,20,DataType +LocalizedText,21,DataType +Structure,22,DataType +DataValue,23,DataType +BaseDataType,24,DataType +DiagnosticInfo,25,DataType +Number,26,DataType +Integer,27,DataType +UInteger,28,DataType +Enumeration,29,DataType +Image,30,DataType +References,31,ReferenceType +NonHierarchicalReferences,32,ReferenceType +HierarchicalReferences,33,ReferenceType +HasChild,34,ReferenceType +Organizes,35,ReferenceType +HasEventSource,36,ReferenceType +HasModellingRule,37,ReferenceType +HasEncoding,38,ReferenceType +HasDescription,39,ReferenceType +HasTypeDefinition,40,ReferenceType +GeneratesEvent,41,ReferenceType +Aggregates,44,ReferenceType +HasSubtype,45,ReferenceType +HasProperty,46,ReferenceType +HasComponent,47,ReferenceType +HasNotifier,48,ReferenceType +HasOrderedComponent,49,ReferenceType +FromState,51,ReferenceType +ToState,52,ReferenceType +HasCause,53,ReferenceType +HasEffect,54,ReferenceType +HasHistoricalConfiguration,56,ReferenceType +BaseObjectType,58,ObjectType +FolderType,61,ObjectType +BaseVariableType,62,VariableType +BaseDataVariableType,63,VariableType +PropertyType,68,VariableType +DataTypeDescriptionType,69,VariableType +DataTypeDictionaryType,72,VariableType +DataTypeSystemType,75,ObjectType +DataTypeEncodingType,76,ObjectType +ModellingRuleType,77,ObjectType +ModellingRule_Mandatory,78,Object +ModellingRule_MandatoryShared,79,Object +ModellingRule_Optional,80,Object +ModellingRule_ExposesItsArray,83,Object +RootFolder,84,Object +ObjectsFolder,85,Object +TypesFolder,86,Object +ViewsFolder,87,Object +ObjectTypesFolder,88,Object +VariableTypesFolder,89,Object +DataTypesFolder,90,Object +ReferenceTypesFolder,91,Object +XmlSchema_TypeSystem,92,Object +OPCBinarySchema_TypeSystem,93,Object +DataTypeDescriptionType_DataTypeVersion,104,Variable +DataTypeDescriptionType_DictionaryFragment,105,Variable +DataTypeDictionaryType_DataTypeVersion,106,Variable +DataTypeDictionaryType_NamespaceUri,107,Variable +ModellingRuleType_NamingRule,111,Variable +ModellingRule_Mandatory_NamingRule,112,Variable +ModellingRule_Optional_NamingRule,113,Variable +ModellingRule_ExposesItsArray_NamingRule,114,Variable +ModellingRule_MandatoryShared_NamingRule,116,Variable +HasSubStateMachine,117,ReferenceType +NamingRuleType,120,DataType +Decimal128,121,DataType +IdType,256,DataType +NodeClass,257,DataType +Node,258,DataType +Node_Encoding_DefaultXml,259,Object +Node_Encoding_DefaultBinary,260,Object +ObjectNode,261,DataType +ObjectNode_Encoding_DefaultXml,262,Object +ObjectNode_Encoding_DefaultBinary,263,Object +ObjectTypeNode,264,DataType +ObjectTypeNode_Encoding_DefaultXml,265,Object +ObjectTypeNode_Encoding_DefaultBinary,266,Object +VariableNode,267,DataType +VariableNode_Encoding_DefaultXml,268,Object +VariableNode_Encoding_DefaultBinary,269,Object +VariableTypeNode,270,DataType +VariableTypeNode_Encoding_DefaultXml,271,Object +VariableTypeNode_Encoding_DefaultBinary,272,Object +ReferenceTypeNode,273,DataType +ReferenceTypeNode_Encoding_DefaultXml,274,Object +ReferenceTypeNode_Encoding_DefaultBinary,275,Object +MethodNode,276,DataType +MethodNode_Encoding_DefaultXml,277,Object +MethodNode_Encoding_DefaultBinary,278,Object +ViewNode,279,DataType +ViewNode_Encoding_DefaultXml,280,Object +ViewNode_Encoding_DefaultBinary,281,Object +DataTypeNode,282,DataType +DataTypeNode_Encoding_DefaultXml,283,Object +DataTypeNode_Encoding_DefaultBinary,284,Object +ReferenceNode,285,DataType +ReferenceNode_Encoding_DefaultXml,286,Object +ReferenceNode_Encoding_DefaultBinary,287,Object +IntegerId,288,DataType +Counter,289,DataType +Duration,290,DataType +NumericRange,291,DataType +Time,292,DataType +Date,293,DataType +UtcTime,294,DataType +LocaleId,295,DataType +Argument,296,DataType +Argument_Encoding_DefaultXml,297,Object +Argument_Encoding_DefaultBinary,298,Object +StatusResult,299,DataType +StatusResult_Encoding_DefaultXml,300,Object +StatusResult_Encoding_DefaultBinary,301,Object +MessageSecurityMode,302,DataType +UserTokenType,303,DataType +UserTokenPolicy,304,DataType +UserTokenPolicy_Encoding_DefaultXml,305,Object +UserTokenPolicy_Encoding_DefaultBinary,306,Object +ApplicationType,307,DataType +ApplicationDescription,308,DataType +ApplicationDescription_Encoding_DefaultXml,309,Object +ApplicationDescription_Encoding_DefaultBinary,310,Object +ApplicationInstanceCertificate,311,DataType +EndpointDescription,312,DataType +EndpointDescription_Encoding_DefaultXml,313,Object +EndpointDescription_Encoding_DefaultBinary,314,Object +SecurityTokenRequestType,315,DataType +UserIdentityToken,316,DataType +UserIdentityToken_Encoding_DefaultXml,317,Object +UserIdentityToken_Encoding_DefaultBinary,318,Object +AnonymousIdentityToken,319,DataType +AnonymousIdentityToken_Encoding_DefaultXml,320,Object +AnonymousIdentityToken_Encoding_DefaultBinary,321,Object +UserNameIdentityToken,322,DataType +UserNameIdentityToken_Encoding_DefaultXml,323,Object +UserNameIdentityToken_Encoding_DefaultBinary,324,Object +X509IdentityToken,325,DataType +X509IdentityToken_Encoding_DefaultXml,326,Object +X509IdentityToken_Encoding_DefaultBinary,327,Object +EndpointConfiguration,331,DataType +EndpointConfiguration_Encoding_DefaultXml,332,Object +EndpointConfiguration_Encoding_DefaultBinary,333,Object +BuildInfo,338,DataType +BuildInfo_Encoding_DefaultXml,339,Object +BuildInfo_Encoding_DefaultBinary,340,Object +SignedSoftwareCertificate,344,DataType +SignedSoftwareCertificate_Encoding_DefaultXml,345,Object +SignedSoftwareCertificate_Encoding_DefaultBinary,346,Object +AttributeWriteMask,347,DataType +NodeAttributesMask,348,DataType +NodeAttributes,349,DataType +NodeAttributes_Encoding_DefaultXml,350,Object +NodeAttributes_Encoding_DefaultBinary,351,Object +ObjectAttributes,352,DataType +ObjectAttributes_Encoding_DefaultXml,353,Object +ObjectAttributes_Encoding_DefaultBinary,354,Object +VariableAttributes,355,DataType +VariableAttributes_Encoding_DefaultXml,356,Object +VariableAttributes_Encoding_DefaultBinary,357,Object +MethodAttributes,358,DataType +MethodAttributes_Encoding_DefaultXml,359,Object +MethodAttributes_Encoding_DefaultBinary,360,Object +ObjectTypeAttributes,361,DataType +ObjectTypeAttributes_Encoding_DefaultXml,362,Object +ObjectTypeAttributes_Encoding_DefaultBinary,363,Object +VariableTypeAttributes,364,DataType +VariableTypeAttributes_Encoding_DefaultXml,365,Object +VariableTypeAttributes_Encoding_DefaultBinary,366,Object +ReferenceTypeAttributes,367,DataType +ReferenceTypeAttributes_Encoding_DefaultXml,368,Object +ReferenceTypeAttributes_Encoding_DefaultBinary,369,Object +DataTypeAttributes,370,DataType +DataTypeAttributes_Encoding_DefaultXml,371,Object +DataTypeAttributes_Encoding_DefaultBinary,372,Object +ViewAttributes,373,DataType +ViewAttributes_Encoding_DefaultXml,374,Object +ViewAttributes_Encoding_DefaultBinary,375,Object +AddNodesItem,376,DataType +AddNodesItem_Encoding_DefaultXml,377,Object +AddNodesItem_Encoding_DefaultBinary,378,Object +AddReferencesItem,379,DataType +AddReferencesItem_Encoding_DefaultXml,380,Object +AddReferencesItem_Encoding_DefaultBinary,381,Object +DeleteNodesItem,382,DataType +DeleteNodesItem_Encoding_DefaultXml,383,Object +DeleteNodesItem_Encoding_DefaultBinary,384,Object +DeleteReferencesItem,385,DataType +DeleteReferencesItem_Encoding_DefaultXml,386,Object +DeleteReferencesItem_Encoding_DefaultBinary,387,Object +SessionAuthenticationToken,388,DataType +RequestHeader,389,DataType +RequestHeader_Encoding_DefaultXml,390,Object +RequestHeader_Encoding_DefaultBinary,391,Object +ResponseHeader,392,DataType +ResponseHeader_Encoding_DefaultXml,393,Object +ResponseHeader_Encoding_DefaultBinary,394,Object +ServiceFault,395,DataType +ServiceFault_Encoding_DefaultXml,396,Object +ServiceFault_Encoding_DefaultBinary,397,Object +FindServersRequest,420,DataType +FindServersRequest_Encoding_DefaultXml,421,Object +FindServersRequest_Encoding_DefaultBinary,422,Object +FindServersResponse,423,DataType +FindServersResponse_Encoding_DefaultXml,424,Object +FindServersResponse_Encoding_DefaultBinary,425,Object +GetEndpointsRequest,426,DataType +GetEndpointsRequest_Encoding_DefaultXml,427,Object +GetEndpointsRequest_Encoding_DefaultBinary,428,Object +GetEndpointsResponse,429,DataType +GetEndpointsResponse_Encoding_DefaultXml,430,Object +GetEndpointsResponse_Encoding_DefaultBinary,431,Object +RegisteredServer,432,DataType +RegisteredServer_Encoding_DefaultXml,433,Object +RegisteredServer_Encoding_DefaultBinary,434,Object +RegisterServerRequest,435,DataType +RegisterServerRequest_Encoding_DefaultXml,436,Object +RegisterServerRequest_Encoding_DefaultBinary,437,Object +RegisterServerResponse,438,DataType +RegisterServerResponse_Encoding_DefaultXml,439,Object +RegisterServerResponse_Encoding_DefaultBinary,440,Object +ChannelSecurityToken,441,DataType +ChannelSecurityToken_Encoding_DefaultXml,442,Object +ChannelSecurityToken_Encoding_DefaultBinary,443,Object +OpenSecureChannelRequest,444,DataType +OpenSecureChannelRequest_Encoding_DefaultXml,445,Object +OpenSecureChannelRequest_Encoding_DefaultBinary,446,Object +OpenSecureChannelResponse,447,DataType +OpenSecureChannelResponse_Encoding_DefaultXml,448,Object +OpenSecureChannelResponse_Encoding_DefaultBinary,449,Object +CloseSecureChannelRequest,450,DataType +CloseSecureChannelRequest_Encoding_DefaultXml,451,Object +CloseSecureChannelRequest_Encoding_DefaultBinary,452,Object +CloseSecureChannelResponse,453,DataType +CloseSecureChannelResponse_Encoding_DefaultXml,454,Object +CloseSecureChannelResponse_Encoding_DefaultBinary,455,Object +SignatureData,456,DataType +SignatureData_Encoding_DefaultXml,457,Object +SignatureData_Encoding_DefaultBinary,458,Object +CreateSessionRequest,459,DataType +CreateSessionRequest_Encoding_DefaultXml,460,Object +CreateSessionRequest_Encoding_DefaultBinary,461,Object +CreateSessionResponse,462,DataType +CreateSessionResponse_Encoding_DefaultXml,463,Object +CreateSessionResponse_Encoding_DefaultBinary,464,Object +ActivateSessionRequest,465,DataType +ActivateSessionRequest_Encoding_DefaultXml,466,Object +ActivateSessionRequest_Encoding_DefaultBinary,467,Object +ActivateSessionResponse,468,DataType +ActivateSessionResponse_Encoding_DefaultXml,469,Object +ActivateSessionResponse_Encoding_DefaultBinary,470,Object +CloseSessionRequest,471,DataType +CloseSessionRequest_Encoding_DefaultXml,472,Object +CloseSessionRequest_Encoding_DefaultBinary,473,Object +CloseSessionResponse,474,DataType +CloseSessionResponse_Encoding_DefaultXml,475,Object +CloseSessionResponse_Encoding_DefaultBinary,476,Object +CancelRequest,477,DataType +CancelRequest_Encoding_DefaultXml,478,Object +CancelRequest_Encoding_DefaultBinary,479,Object +CancelResponse,480,DataType +CancelResponse_Encoding_DefaultXml,481,Object +CancelResponse_Encoding_DefaultBinary,482,Object +AddNodesResult,483,DataType +AddNodesResult_Encoding_DefaultXml,484,Object +AddNodesResult_Encoding_DefaultBinary,485,Object +AddNodesRequest,486,DataType +AddNodesRequest_Encoding_DefaultXml,487,Object +AddNodesRequest_Encoding_DefaultBinary,488,Object +AddNodesResponse,489,DataType +AddNodesResponse_Encoding_DefaultXml,490,Object +AddNodesResponse_Encoding_DefaultBinary,491,Object +AddReferencesRequest,492,DataType +AddReferencesRequest_Encoding_DefaultXml,493,Object +AddReferencesRequest_Encoding_DefaultBinary,494,Object +AddReferencesResponse,495,DataType +AddReferencesResponse_Encoding_DefaultXml,496,Object +AddReferencesResponse_Encoding_DefaultBinary,497,Object +DeleteNodesRequest,498,DataType +DeleteNodesRequest_Encoding_DefaultXml,499,Object +DeleteNodesRequest_Encoding_DefaultBinary,500,Object +DeleteNodesResponse,501,DataType +DeleteNodesResponse_Encoding_DefaultXml,502,Object +DeleteNodesResponse_Encoding_DefaultBinary,503,Object +DeleteReferencesRequest,504,DataType +DeleteReferencesRequest_Encoding_DefaultXml,505,Object +DeleteReferencesRequest_Encoding_DefaultBinary,506,Object +DeleteReferencesResponse,507,DataType +DeleteReferencesResponse_Encoding_DefaultXml,508,Object +DeleteReferencesResponse_Encoding_DefaultBinary,509,Object +BrowseDirection,510,DataType +ViewDescription,511,DataType +ViewDescription_Encoding_DefaultXml,512,Object +ViewDescription_Encoding_DefaultBinary,513,Object +BrowseDescription,514,DataType +BrowseDescription_Encoding_DefaultXml,515,Object +BrowseDescription_Encoding_DefaultBinary,516,Object +BrowseResultMask,517,DataType +ReferenceDescription,518,DataType +ReferenceDescription_Encoding_DefaultXml,519,Object +ReferenceDescription_Encoding_DefaultBinary,520,Object +ContinuationPoint,521,DataType +BrowseResult,522,DataType +BrowseResult_Encoding_DefaultXml,523,Object +BrowseResult_Encoding_DefaultBinary,524,Object +BrowseRequest,525,DataType +BrowseRequest_Encoding_DefaultXml,526,Object +BrowseRequest_Encoding_DefaultBinary,527,Object +BrowseResponse,528,DataType +BrowseResponse_Encoding_DefaultXml,529,Object +BrowseResponse_Encoding_DefaultBinary,530,Object +BrowseNextRequest,531,DataType +BrowseNextRequest_Encoding_DefaultXml,532,Object +BrowseNextRequest_Encoding_DefaultBinary,533,Object +BrowseNextResponse,534,DataType +BrowseNextResponse_Encoding_DefaultXml,535,Object +BrowseNextResponse_Encoding_DefaultBinary,536,Object +RelativePathElement,537,DataType +RelativePathElement_Encoding_DefaultXml,538,Object +RelativePathElement_Encoding_DefaultBinary,539,Object +RelativePath,540,DataType +RelativePath_Encoding_DefaultXml,541,Object +RelativePath_Encoding_DefaultBinary,542,Object +BrowsePath,543,DataType +BrowsePath_Encoding_DefaultXml,544,Object +BrowsePath_Encoding_DefaultBinary,545,Object +BrowsePathTarget,546,DataType +BrowsePathTarget_Encoding_DefaultXml,547,Object +BrowsePathTarget_Encoding_DefaultBinary,548,Object +BrowsePathResult,549,DataType +BrowsePathResult_Encoding_DefaultXml,550,Object +BrowsePathResult_Encoding_DefaultBinary,551,Object +TranslateBrowsePathsToNodeIdsRequest,552,DataType +TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultXml,553,Object +TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultBinary,554,Object +TranslateBrowsePathsToNodeIdsResponse,555,DataType +TranslateBrowsePathsToNodeIdsResponse_Encoding_DefaultXml,556,Object +TranslateBrowsePathsToNodeIdsResponse_Encoding_DefaultBinary,557,Object +RegisterNodesRequest,558,DataType +RegisterNodesRequest_Encoding_DefaultXml,559,Object +RegisterNodesRequest_Encoding_DefaultBinary,560,Object +RegisterNodesResponse,561,DataType +RegisterNodesResponse_Encoding_DefaultXml,562,Object +RegisterNodesResponse_Encoding_DefaultBinary,563,Object +UnregisterNodesRequest,564,DataType +UnregisterNodesRequest_Encoding_DefaultXml,565,Object +UnregisterNodesRequest_Encoding_DefaultBinary,566,Object +UnregisterNodesResponse,567,DataType +UnregisterNodesResponse_Encoding_DefaultXml,568,Object +UnregisterNodesResponse_Encoding_DefaultBinary,569,Object +QueryDataDescription,570,DataType +QueryDataDescription_Encoding_DefaultXml,571,Object +QueryDataDescription_Encoding_DefaultBinary,572,Object +NodeTypeDescription,573,DataType +NodeTypeDescription_Encoding_DefaultXml,574,Object +NodeTypeDescription_Encoding_DefaultBinary,575,Object +FilterOperator,576,DataType +QueryDataSet,577,DataType +QueryDataSet_Encoding_DefaultXml,578,Object +QueryDataSet_Encoding_DefaultBinary,579,Object +NodeReference,580,DataType +NodeReference_Encoding_DefaultXml,581,Object +NodeReference_Encoding_DefaultBinary,582,Object +ContentFilterElement,583,DataType +ContentFilterElement_Encoding_DefaultXml,584,Object +ContentFilterElement_Encoding_DefaultBinary,585,Object +ContentFilter,586,DataType +ContentFilter_Encoding_DefaultXml,587,Object +ContentFilter_Encoding_DefaultBinary,588,Object +FilterOperand,589,DataType +FilterOperand_Encoding_DefaultXml,590,Object +FilterOperand_Encoding_DefaultBinary,591,Object +ElementOperand,592,DataType +ElementOperand_Encoding_DefaultXml,593,Object +ElementOperand_Encoding_DefaultBinary,594,Object +LiteralOperand,595,DataType +LiteralOperand_Encoding_DefaultXml,596,Object +LiteralOperand_Encoding_DefaultBinary,597,Object +AttributeOperand,598,DataType +AttributeOperand_Encoding_DefaultXml,599,Object +AttributeOperand_Encoding_DefaultBinary,600,Object +SimpleAttributeOperand,601,DataType +SimpleAttributeOperand_Encoding_DefaultXml,602,Object +SimpleAttributeOperand_Encoding_DefaultBinary,603,Object +ContentFilterElementResult,604,DataType +ContentFilterElementResult_Encoding_DefaultXml,605,Object +ContentFilterElementResult_Encoding_DefaultBinary,606,Object +ContentFilterResult,607,DataType +ContentFilterResult_Encoding_DefaultXml,608,Object +ContentFilterResult_Encoding_DefaultBinary,609,Object +ParsingResult,610,DataType +ParsingResult_Encoding_DefaultXml,611,Object +ParsingResult_Encoding_DefaultBinary,612,Object +QueryFirstRequest,613,DataType +QueryFirstRequest_Encoding_DefaultXml,614,Object +QueryFirstRequest_Encoding_DefaultBinary,615,Object +QueryFirstResponse,616,DataType +QueryFirstResponse_Encoding_DefaultXml,617,Object +QueryFirstResponse_Encoding_DefaultBinary,618,Object +QueryNextRequest,619,DataType +QueryNextRequest_Encoding_DefaultXml,620,Object +QueryNextRequest_Encoding_DefaultBinary,621,Object +QueryNextResponse,622,DataType +QueryNextResponse_Encoding_DefaultXml,623,Object +QueryNextResponse_Encoding_DefaultBinary,624,Object +TimestampsToReturn,625,DataType +ReadValueId,626,DataType +ReadValueId_Encoding_DefaultXml,627,Object +ReadValueId_Encoding_DefaultBinary,628,Object +ReadRequest,629,DataType +ReadRequest_Encoding_DefaultXml,630,Object +ReadRequest_Encoding_DefaultBinary,631,Object +ReadResponse,632,DataType +ReadResponse_Encoding_DefaultXml,633,Object +ReadResponse_Encoding_DefaultBinary,634,Object +HistoryReadValueId,635,DataType +HistoryReadValueId_Encoding_DefaultXml,636,Object +HistoryReadValueId_Encoding_DefaultBinary,637,Object +HistoryReadResult,638,DataType +HistoryReadResult_Encoding_DefaultXml,639,Object +HistoryReadResult_Encoding_DefaultBinary,640,Object +HistoryReadDetails,641,DataType +HistoryReadDetails_Encoding_DefaultXml,642,Object +HistoryReadDetails_Encoding_DefaultBinary,643,Object +ReadEventDetails,644,DataType +ReadEventDetails_Encoding_DefaultXml,645,Object +ReadEventDetails_Encoding_DefaultBinary,646,Object +ReadRawModifiedDetails,647,DataType +ReadRawModifiedDetails_Encoding_DefaultXml,648,Object +ReadRawModifiedDetails_Encoding_DefaultBinary,649,Object +ReadProcessedDetails,650,DataType +ReadProcessedDetails_Encoding_DefaultXml,651,Object +ReadProcessedDetails_Encoding_DefaultBinary,652,Object +ReadAtTimeDetails,653,DataType +ReadAtTimeDetails_Encoding_DefaultXml,654,Object +ReadAtTimeDetails_Encoding_DefaultBinary,655,Object +HistoryData,656,DataType +HistoryData_Encoding_DefaultXml,657,Object +HistoryData_Encoding_DefaultBinary,658,Object +HistoryEvent,659,DataType +HistoryEvent_Encoding_DefaultXml,660,Object +HistoryEvent_Encoding_DefaultBinary,661,Object +HistoryReadRequest,662,DataType +HistoryReadRequest_Encoding_DefaultXml,663,Object +HistoryReadRequest_Encoding_DefaultBinary,664,Object +HistoryReadResponse,665,DataType +HistoryReadResponse_Encoding_DefaultXml,666,Object +HistoryReadResponse_Encoding_DefaultBinary,667,Object +WriteValue,668,DataType +WriteValue_Encoding_DefaultXml,669,Object +WriteValue_Encoding_DefaultBinary,670,Object +WriteRequest,671,DataType +WriteRequest_Encoding_DefaultXml,672,Object +WriteRequest_Encoding_DefaultBinary,673,Object +WriteResponse,674,DataType +WriteResponse_Encoding_DefaultXml,675,Object +WriteResponse_Encoding_DefaultBinary,676,Object +HistoryUpdateDetails,677,DataType +HistoryUpdateDetails_Encoding_DefaultXml,678,Object +HistoryUpdateDetails_Encoding_DefaultBinary,679,Object +UpdateDataDetails,680,DataType +UpdateDataDetails_Encoding_DefaultXml,681,Object +UpdateDataDetails_Encoding_DefaultBinary,682,Object +UpdateEventDetails,683,DataType +UpdateEventDetails_Encoding_DefaultXml,684,Object +UpdateEventDetails_Encoding_DefaultBinary,685,Object +DeleteRawModifiedDetails,686,DataType +DeleteRawModifiedDetails_Encoding_DefaultXml,687,Object +DeleteRawModifiedDetails_Encoding_DefaultBinary,688,Object +DeleteAtTimeDetails,689,DataType +DeleteAtTimeDetails_Encoding_DefaultXml,690,Object +DeleteAtTimeDetails_Encoding_DefaultBinary,691,Object +DeleteEventDetails,692,DataType +DeleteEventDetails_Encoding_DefaultXml,693,Object +DeleteEventDetails_Encoding_DefaultBinary,694,Object +HistoryUpdateResult,695,DataType +HistoryUpdateResult_Encoding_DefaultXml,696,Object +HistoryUpdateResult_Encoding_DefaultBinary,697,Object +HistoryUpdateRequest,698,DataType +HistoryUpdateRequest_Encoding_DefaultXml,699,Object +HistoryUpdateRequest_Encoding_DefaultBinary,700,Object +HistoryUpdateResponse,701,DataType +HistoryUpdateResponse_Encoding_DefaultXml,702,Object +HistoryUpdateResponse_Encoding_DefaultBinary,703,Object +CallMethodRequest,704,DataType +CallMethodRequest_Encoding_DefaultXml,705,Object +CallMethodRequest_Encoding_DefaultBinary,706,Object +CallMethodResult,707,DataType +CallMethodResult_Encoding_DefaultXml,708,Object +CallMethodResult_Encoding_DefaultBinary,709,Object +CallRequest,710,DataType +CallRequest_Encoding_DefaultXml,711,Object +CallRequest_Encoding_DefaultBinary,712,Object +CallResponse,713,DataType +CallResponse_Encoding_DefaultXml,714,Object +CallResponse_Encoding_DefaultBinary,715,Object +MonitoringMode,716,DataType +DataChangeTrigger,717,DataType +DeadbandType,718,DataType +MonitoringFilter,719,DataType +MonitoringFilter_Encoding_DefaultXml,720,Object +MonitoringFilter_Encoding_DefaultBinary,721,Object +DataChangeFilter,722,DataType +DataChangeFilter_Encoding_DefaultXml,723,Object +DataChangeFilter_Encoding_DefaultBinary,724,Object +EventFilter,725,DataType +EventFilter_Encoding_DefaultXml,726,Object +EventFilter_Encoding_DefaultBinary,727,Object +AggregateFilter,728,DataType +AggregateFilter_Encoding_DefaultXml,729,Object +AggregateFilter_Encoding_DefaultBinary,730,Object +MonitoringFilterResult,731,DataType +MonitoringFilterResult_Encoding_DefaultXml,732,Object +MonitoringFilterResult_Encoding_DefaultBinary,733,Object +EventFilterResult,734,DataType +EventFilterResult_Encoding_DefaultXml,735,Object +EventFilterResult_Encoding_DefaultBinary,736,Object +AggregateFilterResult,737,DataType +AggregateFilterResult_Encoding_DefaultXml,738,Object +AggregateFilterResult_Encoding_DefaultBinary,739,Object +MonitoringParameters,740,DataType +MonitoringParameters_Encoding_DefaultXml,741,Object +MonitoringParameters_Encoding_DefaultBinary,742,Object +MonitoredItemCreateRequest,743,DataType +MonitoredItemCreateRequest_Encoding_DefaultXml,744,Object +MonitoredItemCreateRequest_Encoding_DefaultBinary,745,Object +MonitoredItemCreateResult,746,DataType +MonitoredItemCreateResult_Encoding_DefaultXml,747,Object +MonitoredItemCreateResult_Encoding_DefaultBinary,748,Object +CreateMonitoredItemsRequest,749,DataType +CreateMonitoredItemsRequest_Encoding_DefaultXml,750,Object +CreateMonitoredItemsRequest_Encoding_DefaultBinary,751,Object +CreateMonitoredItemsResponse,752,DataType +CreateMonitoredItemsResponse_Encoding_DefaultXml,753,Object +CreateMonitoredItemsResponse_Encoding_DefaultBinary,754,Object +MonitoredItemModifyRequest,755,DataType +MonitoredItemModifyRequest_Encoding_DefaultXml,756,Object +MonitoredItemModifyRequest_Encoding_DefaultBinary,757,Object +MonitoredItemModifyResult,758,DataType +MonitoredItemModifyResult_Encoding_DefaultXml,759,Object +MonitoredItemModifyResult_Encoding_DefaultBinary,760,Object +ModifyMonitoredItemsRequest,761,DataType +ModifyMonitoredItemsRequest_Encoding_DefaultXml,762,Object +ModifyMonitoredItemsRequest_Encoding_DefaultBinary,763,Object +ModifyMonitoredItemsResponse,764,DataType +ModifyMonitoredItemsResponse_Encoding_DefaultXml,765,Object +ModifyMonitoredItemsResponse_Encoding_DefaultBinary,766,Object +SetMonitoringModeRequest,767,DataType +SetMonitoringModeRequest_Encoding_DefaultXml,768,Object +SetMonitoringModeRequest_Encoding_DefaultBinary,769,Object +SetMonitoringModeResponse,770,DataType +SetMonitoringModeResponse_Encoding_DefaultXml,771,Object +SetMonitoringModeResponse_Encoding_DefaultBinary,772,Object +SetTriggeringRequest,773,DataType +SetTriggeringRequest_Encoding_DefaultXml,774,Object +SetTriggeringRequest_Encoding_DefaultBinary,775,Object +SetTriggeringResponse,776,DataType +SetTriggeringResponse_Encoding_DefaultXml,777,Object +SetTriggeringResponse_Encoding_DefaultBinary,778,Object +DeleteMonitoredItemsRequest,779,DataType +DeleteMonitoredItemsRequest_Encoding_DefaultXml,780,Object +DeleteMonitoredItemsRequest_Encoding_DefaultBinary,781,Object +DeleteMonitoredItemsResponse,782,DataType +DeleteMonitoredItemsResponse_Encoding_DefaultXml,783,Object +DeleteMonitoredItemsResponse_Encoding_DefaultBinary,784,Object +CreateSubscriptionRequest,785,DataType +CreateSubscriptionRequest_Encoding_DefaultXml,786,Object +CreateSubscriptionRequest_Encoding_DefaultBinary,787,Object +CreateSubscriptionResponse,788,DataType +CreateSubscriptionResponse_Encoding_DefaultXml,789,Object +CreateSubscriptionResponse_Encoding_DefaultBinary,790,Object +ModifySubscriptionRequest,791,DataType +ModifySubscriptionRequest_Encoding_DefaultXml,792,Object +ModifySubscriptionRequest_Encoding_DefaultBinary,793,Object +ModifySubscriptionResponse,794,DataType +ModifySubscriptionResponse_Encoding_DefaultXml,795,Object +ModifySubscriptionResponse_Encoding_DefaultBinary,796,Object +SetPublishingModeRequest,797,DataType +SetPublishingModeRequest_Encoding_DefaultXml,798,Object +SetPublishingModeRequest_Encoding_DefaultBinary,799,Object +SetPublishingModeResponse,800,DataType +SetPublishingModeResponse_Encoding_DefaultXml,801,Object +SetPublishingModeResponse_Encoding_DefaultBinary,802,Object +NotificationMessage,803,DataType +NotificationMessage_Encoding_DefaultXml,804,Object +NotificationMessage_Encoding_DefaultBinary,805,Object +MonitoredItemNotification,806,DataType +MonitoredItemNotification_Encoding_DefaultXml,807,Object +MonitoredItemNotification_Encoding_DefaultBinary,808,Object +DataChangeNotification,809,DataType +DataChangeNotification_Encoding_DefaultXml,810,Object +DataChangeNotification_Encoding_DefaultBinary,811,Object +StatusChangeNotification,818,DataType +StatusChangeNotification_Encoding_DefaultXml,819,Object +StatusChangeNotification_Encoding_DefaultBinary,820,Object +SubscriptionAcknowledgement,821,DataType +SubscriptionAcknowledgement_Encoding_DefaultXml,822,Object +SubscriptionAcknowledgement_Encoding_DefaultBinary,823,Object +PublishRequest,824,DataType +PublishRequest_Encoding_DefaultXml,825,Object +PublishRequest_Encoding_DefaultBinary,826,Object +PublishResponse,827,DataType +PublishResponse_Encoding_DefaultXml,828,Object +PublishResponse_Encoding_DefaultBinary,829,Object +RepublishRequest,830,DataType +RepublishRequest_Encoding_DefaultXml,831,Object +RepublishRequest_Encoding_DefaultBinary,832,Object +RepublishResponse,833,DataType +RepublishResponse_Encoding_DefaultXml,834,Object +RepublishResponse_Encoding_DefaultBinary,835,Object +TransferResult,836,DataType +TransferResult_Encoding_DefaultXml,837,Object +TransferResult_Encoding_DefaultBinary,838,Object +TransferSubscriptionsRequest,839,DataType +TransferSubscriptionsRequest_Encoding_DefaultXml,840,Object +TransferSubscriptionsRequest_Encoding_DefaultBinary,841,Object +TransferSubscriptionsResponse,842,DataType +TransferSubscriptionsResponse_Encoding_DefaultXml,843,Object +TransferSubscriptionsResponse_Encoding_DefaultBinary,844,Object +DeleteSubscriptionsRequest,845,DataType +DeleteSubscriptionsRequest_Encoding_DefaultXml,846,Object +DeleteSubscriptionsRequest_Encoding_DefaultBinary,847,Object +DeleteSubscriptionsResponse,848,DataType +DeleteSubscriptionsResponse_Encoding_DefaultXml,849,Object +DeleteSubscriptionsResponse_Encoding_DefaultBinary,850,Object +RedundancySupport,851,DataType +ServerState,852,DataType +RedundantServerDataType,853,DataType +RedundantServerDataType_Encoding_DefaultXml,854,Object +RedundantServerDataType_Encoding_DefaultBinary,855,Object +SamplingIntervalDiagnosticsDataType,856,DataType +SamplingIntervalDiagnosticsDataType_Encoding_DefaultXml,857,Object +SamplingIntervalDiagnosticsDataType_Encoding_DefaultBinary,858,Object +ServerDiagnosticsSummaryDataType,859,DataType +ServerDiagnosticsSummaryDataType_Encoding_DefaultXml,860,Object +ServerDiagnosticsSummaryDataType_Encoding_DefaultBinary,861,Object +ServerStatusDataType,862,DataType +ServerStatusDataType_Encoding_DefaultXml,863,Object +ServerStatusDataType_Encoding_DefaultBinary,864,Object +SessionDiagnosticsDataType,865,DataType +SessionDiagnosticsDataType_Encoding_DefaultXml,866,Object +SessionDiagnosticsDataType_Encoding_DefaultBinary,867,Object +SessionSecurityDiagnosticsDataType,868,DataType +SessionSecurityDiagnosticsDataType_Encoding_DefaultXml,869,Object +SessionSecurityDiagnosticsDataType_Encoding_DefaultBinary,870,Object +ServiceCounterDataType,871,DataType +ServiceCounterDataType_Encoding_DefaultXml,872,Object +ServiceCounterDataType_Encoding_DefaultBinary,873,Object +SubscriptionDiagnosticsDataType,874,DataType +SubscriptionDiagnosticsDataType_Encoding_DefaultXml,875,Object +SubscriptionDiagnosticsDataType_Encoding_DefaultBinary,876,Object +ModelChangeStructureDataType,877,DataType +ModelChangeStructureDataType_Encoding_DefaultXml,878,Object +ModelChangeStructureDataType_Encoding_DefaultBinary,879,Object +Range,884,DataType +Range_Encoding_DefaultXml,885,Object +Range_Encoding_DefaultBinary,886,Object +EUInformation,887,DataType +EUInformation_Encoding_DefaultXml,888,Object +EUInformation_Encoding_DefaultBinary,889,Object +ExceptionDeviationFormat,890,DataType +Annotation,891,DataType +Annotation_Encoding_DefaultXml,892,Object +Annotation_Encoding_DefaultBinary,893,Object +ProgramDiagnosticDataType,894,DataType +ProgramDiagnosticDataType_Encoding_DefaultXml,895,Object +ProgramDiagnosticDataType_Encoding_DefaultBinary,896,Object +SemanticChangeStructureDataType,897,DataType +SemanticChangeStructureDataType_Encoding_DefaultXml,898,Object +SemanticChangeStructureDataType_Encoding_DefaultBinary,899,Object +EventNotificationList,914,DataType +EventNotificationList_Encoding_DefaultXml,915,Object +EventNotificationList_Encoding_DefaultBinary,916,Object +EventFieldList,917,DataType +EventFieldList_Encoding_DefaultXml,918,Object +EventFieldList_Encoding_DefaultBinary,919,Object +HistoryEventFieldList,920,DataType +HistoryEventFieldList_Encoding_DefaultXml,921,Object +HistoryEventFieldList_Encoding_DefaultBinary,922,Object +IssuedIdentityToken,938,DataType +IssuedIdentityToken_Encoding_DefaultXml,939,Object +IssuedIdentityToken_Encoding_DefaultBinary,940,Object +NotificationData,945,DataType +NotificationData_Encoding_DefaultXml,946,Object +NotificationData_Encoding_DefaultBinary,947,Object +AggregateConfiguration,948,DataType +AggregateConfiguration_Encoding_DefaultXml,949,Object +AggregateConfiguration_Encoding_DefaultBinary,950,Object +ImageBMP,2000,DataType +ImageGIF,2001,DataType +ImageJPG,2002,DataType +ImagePNG,2003,DataType +ServerType,2004,ObjectType +ServerType_ServerArray,2005,Variable +ServerType_NamespaceArray,2006,Variable +ServerType_ServerStatus,2007,Variable +ServerType_ServiceLevel,2008,Variable +ServerType_ServerCapabilities,2009,Object +ServerType_ServerDiagnostics,2010,Object +ServerType_VendorServerInfo,2011,Object +ServerType_ServerRedundancy,2012,Object +ServerCapabilitiesType,2013,ObjectType +ServerCapabilitiesType_ServerProfileArray,2014,Variable +ServerCapabilitiesType_LocaleIdArray,2016,Variable +ServerCapabilitiesType_MinSupportedSampleRate,2017,Variable +ServerCapabilitiesType_ModellingRules,2019,Object +ServerDiagnosticsType,2020,ObjectType +ServerDiagnosticsType_ServerDiagnosticsSummary,2021,Variable +ServerDiagnosticsType_SamplingIntervalDiagnosticsArray,2022,Variable +ServerDiagnosticsType_SubscriptionDiagnosticsArray,2023,Variable +ServerDiagnosticsType_EnabledFlag,2025,Variable +SessionsDiagnosticsSummaryType,2026,ObjectType +SessionsDiagnosticsSummaryType_SessionDiagnosticsArray,2027,Variable +SessionsDiagnosticsSummaryType_SessionSecurityDiagnosticsArray,2028,Variable +SessionDiagnosticsObjectType,2029,ObjectType +SessionDiagnosticsObjectType_SessionDiagnostics,2030,Variable +SessionDiagnosticsObjectType_SessionSecurityDiagnostics,2031,Variable +SessionDiagnosticsObjectType_SubscriptionDiagnosticsArray,2032,Variable +VendorServerInfoType,2033,ObjectType +ServerRedundancyType,2034,ObjectType +ServerRedundancyType_RedundancySupport,2035,Variable +TransparentRedundancyType,2036,ObjectType +TransparentRedundancyType_CurrentServerId,2037,Variable +TransparentRedundancyType_RedundantServerArray,2038,Variable +NonTransparentRedundancyType,2039,ObjectType +NonTransparentRedundancyType_ServerUriArray,2040,Variable +BaseEventType,2041,ObjectType +BaseEventType_EventId,2042,Variable +BaseEventType_EventType,2043,Variable +BaseEventType_SourceNode,2044,Variable +BaseEventType_SourceName,2045,Variable +BaseEventType_Time,2046,Variable +BaseEventType_ReceiveTime,2047,Variable +BaseEventType_Message,2050,Variable +BaseEventType_Severity,2051,Variable +AuditEventType,2052,ObjectType +AuditEventType_ActionTimeStamp,2053,Variable +AuditEventType_Status,2054,Variable +AuditEventType_ServerId,2055,Variable +AuditEventType_ClientAuditEntryId,2056,Variable +AuditEventType_ClientUserId,2057,Variable +AuditSecurityEventType,2058,ObjectType +AuditChannelEventType,2059,ObjectType +AuditOpenSecureChannelEventType,2060,ObjectType +AuditOpenSecureChannelEventType_ClientCertificate,2061,Variable +AuditOpenSecureChannelEventType_RequestType,2062,Variable +AuditOpenSecureChannelEventType_SecurityPolicyUri,2063,Variable +AuditOpenSecureChannelEventType_SecurityMode,2065,Variable +AuditOpenSecureChannelEventType_RequestedLifetime,2066,Variable +AuditSessionEventType,2069,ObjectType +AuditSessionEventType_SessionId,2070,Variable +AuditCreateSessionEventType,2071,ObjectType +AuditCreateSessionEventType_SecureChannelId,2072,Variable +AuditCreateSessionEventType_ClientCertificate,2073,Variable +AuditCreateSessionEventType_RevisedSessionTimeout,2074,Variable +AuditActivateSessionEventType,2075,ObjectType +AuditActivateSessionEventType_ClientSoftwareCertificates,2076,Variable +AuditActivateSessionEventType_UserIdentityToken,2077,Variable +AuditCancelEventType,2078,ObjectType +AuditCancelEventType_RequestHandle,2079,Variable +AuditCertificateEventType,2080,ObjectType +AuditCertificateEventType_Certificate,2081,Variable +AuditCertificateDataMismatchEventType,2082,ObjectType +AuditCertificateDataMismatchEventType_InvalidHostname,2083,Variable +AuditCertificateDataMismatchEventType_InvalidUri,2084,Variable +AuditCertificateExpiredEventType,2085,ObjectType +AuditCertificateInvalidEventType,2086,ObjectType +AuditCertificateUntrustedEventType,2087,ObjectType +AuditCertificateRevokedEventType,2088,ObjectType +AuditCertificateMismatchEventType,2089,ObjectType +AuditNodeManagementEventType,2090,ObjectType +AuditAddNodesEventType,2091,ObjectType +AuditAddNodesEventType_NodesToAdd,2092,Variable +AuditDeleteNodesEventType,2093,ObjectType +AuditDeleteNodesEventType_NodesToDelete,2094,Variable +AuditAddReferencesEventType,2095,ObjectType +AuditAddReferencesEventType_ReferencesToAdd,2096,Variable +AuditDeleteReferencesEventType,2097,ObjectType +AuditDeleteReferencesEventType_ReferencesToDelete,2098,Variable +AuditUpdateEventType,2099,ObjectType +AuditWriteUpdateEventType,2100,ObjectType +AuditWriteUpdateEventType_IndexRange,2101,Variable +AuditWriteUpdateEventType_OldValue,2102,Variable +AuditWriteUpdateEventType_NewValue,2103,Variable +AuditHistoryUpdateEventType,2104,ObjectType +AuditUpdateMethodEventType,2127,ObjectType +AuditUpdateMethodEventType_MethodId,2128,Variable +AuditUpdateMethodEventType_InputArguments,2129,Variable +SystemEventType,2130,ObjectType +DeviceFailureEventType,2131,ObjectType +BaseModelChangeEventType,2132,ObjectType +GeneralModelChangeEventType,2133,ObjectType +GeneralModelChangeEventType_Changes,2134,Variable +ServerVendorCapabilityType,2137,VariableType +ServerStatusType,2138,VariableType +ServerStatusType_StartTime,2139,Variable +ServerStatusType_CurrentTime,2140,Variable +ServerStatusType_State,2141,Variable +ServerStatusType_BuildInfo,2142,Variable +ServerDiagnosticsSummaryType,2150,VariableType +ServerDiagnosticsSummaryType_ServerViewCount,2151,Variable +ServerDiagnosticsSummaryType_CurrentSessionCount,2152,Variable +ServerDiagnosticsSummaryType_CumulatedSessionCount,2153,Variable +ServerDiagnosticsSummaryType_SecurityRejectedSessionCount,2154,Variable +ServerDiagnosticsSummaryType_RejectedSessionCount,2155,Variable +ServerDiagnosticsSummaryType_SessionTimeoutCount,2156,Variable +ServerDiagnosticsSummaryType_SessionAbortCount,2157,Variable +ServerDiagnosticsSummaryType_PublishingIntervalCount,2159,Variable +ServerDiagnosticsSummaryType_CurrentSubscriptionCount,2160,Variable +ServerDiagnosticsSummaryType_CumulatedSubscriptionCount,2161,Variable +ServerDiagnosticsSummaryType_SecurityRejectedRequestsCount,2162,Variable +ServerDiagnosticsSummaryType_RejectedRequestsCount,2163,Variable +SamplingIntervalDiagnosticsArrayType,2164,VariableType +SamplingIntervalDiagnosticsType,2165,VariableType +SamplingIntervalDiagnosticsType_SamplingInterval,2166,Variable +SubscriptionDiagnosticsArrayType,2171,VariableType +SubscriptionDiagnosticsType,2172,VariableType +SubscriptionDiagnosticsType_SessionId,2173,Variable +SubscriptionDiagnosticsType_SubscriptionId,2174,Variable +SubscriptionDiagnosticsType_Priority,2175,Variable +SubscriptionDiagnosticsType_PublishingInterval,2176,Variable +SubscriptionDiagnosticsType_MaxKeepAliveCount,2177,Variable +SubscriptionDiagnosticsType_MaxNotificationsPerPublish,2179,Variable +SubscriptionDiagnosticsType_PublishingEnabled,2180,Variable +SubscriptionDiagnosticsType_ModifyCount,2181,Variable +SubscriptionDiagnosticsType_EnableCount,2182,Variable +SubscriptionDiagnosticsType_DisableCount,2183,Variable +SubscriptionDiagnosticsType_RepublishRequestCount,2184,Variable +SubscriptionDiagnosticsType_RepublishMessageRequestCount,2185,Variable +SubscriptionDiagnosticsType_RepublishMessageCount,2186,Variable +SubscriptionDiagnosticsType_TransferRequestCount,2187,Variable +SubscriptionDiagnosticsType_TransferredToAltClientCount,2188,Variable +SubscriptionDiagnosticsType_TransferredToSameClientCount,2189,Variable +SubscriptionDiagnosticsType_PublishRequestCount,2190,Variable +SubscriptionDiagnosticsType_DataChangeNotificationsCount,2191,Variable +SubscriptionDiagnosticsType_NotificationsCount,2193,Variable +SessionDiagnosticsArrayType,2196,VariableType +SessionDiagnosticsVariableType,2197,VariableType +SessionDiagnosticsVariableType_SessionId,2198,Variable +SessionDiagnosticsVariableType_SessionName,2199,Variable +SessionDiagnosticsVariableType_ClientDescription,2200,Variable +SessionDiagnosticsVariableType_ServerUri,2201,Variable +SessionDiagnosticsVariableType_EndpointUrl,2202,Variable +SessionDiagnosticsVariableType_LocaleIds,2203,Variable +SessionDiagnosticsVariableType_ActualSessionTimeout,2204,Variable +SessionDiagnosticsVariableType_ClientConnectionTime,2205,Variable +SessionDiagnosticsVariableType_ClientLastContactTime,2206,Variable +SessionDiagnosticsVariableType_CurrentSubscriptionsCount,2207,Variable +SessionDiagnosticsVariableType_CurrentMonitoredItemsCount,2208,Variable +SessionDiagnosticsVariableType_CurrentPublishRequestsInQueue,2209,Variable +SessionDiagnosticsVariableType_ReadCount,2217,Variable +SessionDiagnosticsVariableType_HistoryReadCount,2218,Variable +SessionDiagnosticsVariableType_WriteCount,2219,Variable +SessionDiagnosticsVariableType_HistoryUpdateCount,2220,Variable +SessionDiagnosticsVariableType_CallCount,2221,Variable +SessionDiagnosticsVariableType_CreateMonitoredItemsCount,2222,Variable +SessionDiagnosticsVariableType_ModifyMonitoredItemsCount,2223,Variable +SessionDiagnosticsVariableType_SetMonitoringModeCount,2224,Variable +SessionDiagnosticsVariableType_SetTriggeringCount,2225,Variable +SessionDiagnosticsVariableType_DeleteMonitoredItemsCount,2226,Variable +SessionDiagnosticsVariableType_CreateSubscriptionCount,2227,Variable +SessionDiagnosticsVariableType_ModifySubscriptionCount,2228,Variable +SessionDiagnosticsVariableType_SetPublishingModeCount,2229,Variable +SessionDiagnosticsVariableType_PublishCount,2230,Variable +SessionDiagnosticsVariableType_RepublishCount,2231,Variable +SessionDiagnosticsVariableType_TransferSubscriptionsCount,2232,Variable +SessionDiagnosticsVariableType_DeleteSubscriptionsCount,2233,Variable +SessionDiagnosticsVariableType_AddNodesCount,2234,Variable +SessionDiagnosticsVariableType_AddReferencesCount,2235,Variable +SessionDiagnosticsVariableType_DeleteNodesCount,2236,Variable +SessionDiagnosticsVariableType_DeleteReferencesCount,2237,Variable +SessionDiagnosticsVariableType_BrowseCount,2238,Variable +SessionDiagnosticsVariableType_BrowseNextCount,2239,Variable +SessionDiagnosticsVariableType_TranslateBrowsePathsToNodeIdsCount,2240,Variable +SessionDiagnosticsVariableType_QueryFirstCount,2241,Variable +SessionDiagnosticsVariableType_QueryNextCount,2242,Variable +SessionSecurityDiagnosticsArrayType,2243,VariableType +SessionSecurityDiagnosticsType,2244,VariableType +SessionSecurityDiagnosticsType_SessionId,2245,Variable +SessionSecurityDiagnosticsType_ClientUserIdOfSession,2246,Variable +SessionSecurityDiagnosticsType_ClientUserIdHistory,2247,Variable +SessionSecurityDiagnosticsType_AuthenticationMechanism,2248,Variable +SessionSecurityDiagnosticsType_Encoding,2249,Variable +SessionSecurityDiagnosticsType_TransportProtocol,2250,Variable +SessionSecurityDiagnosticsType_SecurityMode,2251,Variable +SessionSecurityDiagnosticsType_SecurityPolicyUri,2252,Variable +Server,2253,Object +Server_ServerArray,2254,Variable +Server_NamespaceArray,2255,Variable +Server_ServerStatus,2256,Variable +Server_ServerStatus_StartTime,2257,Variable +Server_ServerStatus_CurrentTime,2258,Variable +Server_ServerStatus_State,2259,Variable +Server_ServerStatus_BuildInfo,2260,Variable +Server_ServerStatus_BuildInfo_ProductName,2261,Variable +Server_ServerStatus_BuildInfo_ProductUri,2262,Variable +Server_ServerStatus_BuildInfo_ManufacturerName,2263,Variable +Server_ServerStatus_BuildInfo_SoftwareVersion,2264,Variable +Server_ServerStatus_BuildInfo_BuildNumber,2265,Variable +Server_ServerStatus_BuildInfo_BuildDate,2266,Variable +Server_ServiceLevel,2267,Variable +Server_ServerCapabilities,2268,Object +Server_ServerCapabilities_ServerProfileArray,2269,Variable +Server_ServerCapabilities_LocaleIdArray,2271,Variable +Server_ServerCapabilities_MinSupportedSampleRate,2272,Variable +Server_ServerDiagnostics,2274,Object +Server_ServerDiagnostics_ServerDiagnosticsSummary,2275,Variable +Server_ServerDiagnostics_ServerDiagnosticsSummary_ServerViewCount,2276,Variable +Server_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSessionCount,2277,Variable +Server_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSessionCount,2278,Variable +Server_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedSessionCount,2279,Variable +Server_ServerDiagnostics_ServerDiagnosticsSummary_SessionTimeoutCount,2281,Variable +Server_ServerDiagnostics_ServerDiagnosticsSummary_SessionAbortCount,2282,Variable +Server_ServerDiagnostics_ServerDiagnosticsSummary_PublishingIntervalCount,2284,Variable +Server_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSubscriptionCount,2285,Variable +Server_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSubscriptionCount,2286,Variable +Server_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedRequestsCount,2287,Variable +Server_ServerDiagnostics_ServerDiagnosticsSummary_RejectedRequestsCount,2288,Variable +Server_ServerDiagnostics_SamplingIntervalDiagnosticsArray,2289,Variable +Server_ServerDiagnostics_SubscriptionDiagnosticsArray,2290,Variable +Server_ServerDiagnostics_EnabledFlag,2294,Variable +Server_VendorServerInfo,2295,Object +Server_ServerRedundancy,2296,Object +StateMachineType,2299,ObjectType +StateType,2307,ObjectType +StateType_StateNumber,2308,Variable +InitialStateType,2309,ObjectType +TransitionType,2310,ObjectType +TransitionEventType,2311,ObjectType +TransitionType_TransitionNumber,2312,Variable +AuditUpdateStateEventType,2315,ObjectType +HistoricalDataConfigurationType,2318,ObjectType +HistoricalDataConfigurationType_Stepped,2323,Variable +HistoricalDataConfigurationType_Definition,2324,Variable +HistoricalDataConfigurationType_MaxTimeInterval,2325,Variable +HistoricalDataConfigurationType_MinTimeInterval,2326,Variable +HistoricalDataConfigurationType_ExceptionDeviation,2327,Variable +HistoricalDataConfigurationType_ExceptionDeviationFormat,2328,Variable +HistoryServerCapabilitiesType,2330,ObjectType +HistoryServerCapabilitiesType_AccessHistoryDataCapability,2331,Variable +HistoryServerCapabilitiesType_AccessHistoryEventsCapability,2332,Variable +HistoryServerCapabilitiesType_InsertDataCapability,2334,Variable +HistoryServerCapabilitiesType_ReplaceDataCapability,2335,Variable +HistoryServerCapabilitiesType_UpdateDataCapability,2336,Variable +HistoryServerCapabilitiesType_DeleteRawCapability,2337,Variable +HistoryServerCapabilitiesType_DeleteAtTimeCapability,2338,Variable +AggregateFunctionType,2340,ObjectType +AggregateFunction_Interpolative,2341,Object +AggregateFunction_Average,2342,Object +AggregateFunction_TimeAverage,2343,Object +AggregateFunction_Total,2344,Object +AggregateFunction_Minimum,2346,Object +AggregateFunction_Maximum,2347,Object +AggregateFunction_MinimumActualTime,2348,Object +AggregateFunction_MaximumActualTime,2349,Object +AggregateFunction_Range,2350,Object +AggregateFunction_AnnotationCount,2351,Object +AggregateFunction_Count,2352,Object +AggregateFunction_NumberOfTransitions,2355,Object +AggregateFunction_Start,2357,Object +AggregateFunction_End,2358,Object +AggregateFunction_Delta,2359,Object +AggregateFunction_DurationGood,2360,Object +AggregateFunction_DurationBad,2361,Object +AggregateFunction_PercentGood,2362,Object +AggregateFunction_PercentBad,2363,Object +AggregateFunction_WorstQuality,2364,Object +DataItemType,2365,VariableType +DataItemType_Definition,2366,Variable +DataItemType_ValuePrecision,2367,Variable +AnalogItemType,2368,VariableType +AnalogItemType_EURange,2369,Variable +AnalogItemType_InstrumentRange,2370,Variable +AnalogItemType_EngineeringUnits,2371,Variable +DiscreteItemType,2372,VariableType +TwoStateDiscreteType,2373,VariableType +TwoStateDiscreteType_FalseState,2374,Variable +TwoStateDiscreteType_TrueState,2375,Variable +MultiStateDiscreteType,2376,VariableType +MultiStateDiscreteType_EnumStrings,2377,Variable +ProgramTransitionEventType,2378,ObjectType +ProgramTransitionEventType_IntermediateResult,2379,Variable +ProgramDiagnosticType,2380,VariableType +ProgramDiagnosticType_CreateSessionId,2381,Variable +ProgramDiagnosticType_CreateClientName,2382,Variable +ProgramDiagnosticType_InvocationCreationTime,2383,Variable +ProgramDiagnosticType_LastTransitionTime,2384,Variable +ProgramDiagnosticType_LastMethodCall,2385,Variable +ProgramDiagnosticType_LastMethodSessionId,2386,Variable +ProgramDiagnosticType_LastMethodInputArguments,2387,Variable +ProgramDiagnosticType_LastMethodOutputArguments,2388,Variable +ProgramDiagnosticType_LastMethodCallTime,2389,Variable +ProgramDiagnosticType_LastMethodReturnStatus,2390,Variable +ProgramStateMachineType,2391,ObjectType +ProgramStateMachineType_Creatable,2392,Variable +ProgramStateMachineType_Deletable,2393,Variable +ProgramStateMachineType_AutoDelete,2394,Variable +ProgramStateMachineType_RecycleCount,2395,Variable +ProgramStateMachineType_InstanceCount,2396,Variable +ProgramStateMachineType_MaxInstanceCount,2397,Variable +ProgramStateMachineType_MaxRecycleCount,2398,Variable +ProgramStateMachineType_ProgramDiagnostics,2399,Variable +ProgramStateMachineType_Ready,2400,Object +ProgramStateMachineType_Ready_StateNumber,2401,Variable +ProgramStateMachineType_Running,2402,Object +ProgramStateMachineType_Running_StateNumber,2403,Variable +ProgramStateMachineType_Suspended,2404,Object +ProgramStateMachineType_Suspended_StateNumber,2405,Variable +ProgramStateMachineType_Halted,2406,Object +ProgramStateMachineType_Halted_StateNumber,2407,Variable +ProgramStateMachineType_HaltedToReady,2408,Object +ProgramStateMachineType_HaltedToReady_TransitionNumber,2409,Variable +ProgramStateMachineType_ReadyToRunning,2410,Object +ProgramStateMachineType_ReadyToRunning_TransitionNumber,2411,Variable +ProgramStateMachineType_RunningToHalted,2412,Object +ProgramStateMachineType_RunningToHalted_TransitionNumber,2413,Variable +ProgramStateMachineType_RunningToReady,2414,Object +ProgramStateMachineType_RunningToReady_TransitionNumber,2415,Variable +ProgramStateMachineType_RunningToSuspended,2416,Object +ProgramStateMachineType_RunningToSuspended_TransitionNumber,2417,Variable +ProgramStateMachineType_SuspendedToRunning,2418,Object +ProgramStateMachineType_SuspendedToRunning_TransitionNumber,2419,Variable +ProgramStateMachineType_SuspendedToHalted,2420,Object +ProgramStateMachineType_SuspendedToHalted_TransitionNumber,2421,Variable +ProgramStateMachineType_SuspendedToReady,2422,Object +ProgramStateMachineType_SuspendedToReady_TransitionNumber,2423,Variable +ProgramStateMachineType_ReadyToHalted,2424,Object +ProgramStateMachineType_ReadyToHalted_TransitionNumber,2425,Variable +ProgramStateMachineType_Start,2426,Method +ProgramStateMachineType_Suspend,2427,Method +ProgramStateMachineType_Resume,2428,Method +ProgramStateMachineType_Halt,2429,Method +ProgramStateMachineType_Reset,2430,Method +SessionDiagnosticsVariableType_RegisterNodesCount,2730,Variable +SessionDiagnosticsVariableType_UnregisterNodesCount,2731,Variable +ServerCapabilitiesType_MaxBrowseContinuationPoints,2732,Variable +ServerCapabilitiesType_MaxQueryContinuationPoints,2733,Variable +ServerCapabilitiesType_MaxHistoryContinuationPoints,2734,Variable +Server_ServerCapabilities_MaxBrowseContinuationPoints,2735,Variable +Server_ServerCapabilities_MaxQueryContinuationPoints,2736,Variable +Server_ServerCapabilities_MaxHistoryContinuationPoints,2737,Variable +SemanticChangeEventType,2738,ObjectType +SemanticChangeEventType_Changes,2739,Variable +ServerType_Auditing,2742,Variable +ServerDiagnosticsType_SessionsDiagnosticsSummary,2744,Object +AuditChannelEventType_SecureChannelId,2745,Variable +AuditOpenSecureChannelEventType_ClientCertificateThumbprint,2746,Variable +AuditCreateSessionEventType_ClientCertificateThumbprint,2747,Variable +AuditUrlMismatchEventType,2748,ObjectType +AuditUrlMismatchEventType_EndpointUrl,2749,Variable +AuditWriteUpdateEventType_AttributeId,2750,Variable +AuditHistoryUpdateEventType_ParameterDataTypeId,2751,Variable +ServerStatusType_SecondsTillShutdown,2752,Variable +ServerStatusType_ShutdownReason,2753,Variable +ServerCapabilitiesType_AggregateFunctions,2754,Object +StateVariableType,2755,VariableType +StateVariableType_Id,2756,Variable +StateVariableType_Name,2757,Variable +StateVariableType_Number,2758,Variable +StateVariableType_EffectiveDisplayName,2759,Variable +FiniteStateVariableType,2760,VariableType +FiniteStateVariableType_Id,2761,Variable +TransitionVariableType,2762,VariableType +TransitionVariableType_Id,2763,Variable +TransitionVariableType_Name,2764,Variable +TransitionVariableType_Number,2765,Variable +TransitionVariableType_TransitionTime,2766,Variable +FiniteTransitionVariableType,2767,VariableType +FiniteTransitionVariableType_Id,2768,Variable +StateMachineType_CurrentState,2769,Variable +StateMachineType_LastTransition,2770,Variable +FiniteStateMachineType,2771,ObjectType +FiniteStateMachineType_CurrentState,2772,Variable +FiniteStateMachineType_LastTransition,2773,Variable +TransitionEventType_Transition,2774,Variable +TransitionEventType_FromState,2775,Variable +TransitionEventType_ToState,2776,Variable +AuditUpdateStateEventType_OldStateId,2777,Variable +AuditUpdateStateEventType_NewStateId,2778,Variable +ConditionType,2782,ObjectType +RefreshStartEventType,2787,ObjectType +RefreshEndEventType,2788,ObjectType +RefreshRequiredEventType,2789,ObjectType +AuditConditionEventType,2790,ObjectType +AuditConditionEnableEventType,2803,ObjectType +AuditConditionCommentEventType,2829,ObjectType +DialogConditionType,2830,ObjectType +DialogConditionType_Prompt,2831,Variable +AcknowledgeableConditionType,2881,ObjectType +AlarmConditionType,2915,ObjectType +ShelvedStateMachineType,2929,ObjectType +ShelvedStateMachineType_Unshelved,2930,Object +ShelvedStateMachineType_TimedShelved,2932,Object +ShelvedStateMachineType_OneShotShelved,2933,Object +ShelvedStateMachineType_UnshelvedToTimedShelved,2935,Object +ShelvedStateMachineType_UnshelvedToOneShotShelved,2936,Object +ShelvedStateMachineType_TimedShelvedToUnshelved,2940,Object +ShelvedStateMachineType_TimedShelvedToOneShotShelved,2942,Object +ShelvedStateMachineType_OneShotShelvedToUnshelved,2943,Object +ShelvedStateMachineType_OneShotShelvedToTimedShelved,2945,Object +ShelvedStateMachineType_Unshelve,2947,Method +ShelvedStateMachineType_OneShotShelve,2948,Method +ShelvedStateMachineType_TimedShelve,2949,Method +LimitAlarmType,2955,ObjectType +ShelvedStateMachineType_TimedShelve_InputArguments,2991,Variable +Server_ServerStatus_SecondsTillShutdown,2992,Variable +Server_ServerStatus_ShutdownReason,2993,Variable +Server_Auditing,2994,Variable +Server_ServerCapabilities_ModellingRules,2996,Object +Server_ServerCapabilities_AggregateFunctions,2997,Object +SubscriptionDiagnosticsType_EventNotificationsCount,2998,Variable +AuditHistoryEventUpdateEventType,2999,ObjectType +AuditHistoryEventUpdateEventType_Filter,3003,Variable +AuditHistoryValueUpdateEventType,3006,ObjectType +AuditHistoryDeleteEventType,3012,ObjectType +AuditHistoryRawModifyDeleteEventType,3014,ObjectType +AuditHistoryRawModifyDeleteEventType_IsDeleteModified,3015,Variable +AuditHistoryRawModifyDeleteEventType_StartTime,3016,Variable +AuditHistoryRawModifyDeleteEventType_EndTime,3017,Variable +AuditHistoryAtTimeDeleteEventType,3019,ObjectType +AuditHistoryAtTimeDeleteEventType_ReqTimes,3020,Variable +AuditHistoryAtTimeDeleteEventType_OldValues,3021,Variable +AuditHistoryEventDeleteEventType,3022,ObjectType +AuditHistoryEventDeleteEventType_EventIds,3023,Variable +AuditHistoryEventDeleteEventType_OldValues,3024,Variable +AuditHistoryEventUpdateEventType_UpdatedNode,3025,Variable +AuditHistoryValueUpdateEventType_UpdatedNode,3026,Variable +AuditHistoryDeleteEventType_UpdatedNode,3027,Variable +AuditHistoryEventUpdateEventType_PerformInsertReplace,3028,Variable +AuditHistoryEventUpdateEventType_NewValues,3029,Variable +AuditHistoryEventUpdateEventType_OldValues,3030,Variable +AuditHistoryValueUpdateEventType_PerformInsertReplace,3031,Variable +AuditHistoryValueUpdateEventType_NewValues,3032,Variable +AuditHistoryValueUpdateEventType_OldValues,3033,Variable +AuditHistoryRawModifyDeleteEventType_OldValues,3034,Variable +EventQueueOverflowEventType,3035,ObjectType +EventTypesFolder,3048,Object +ServerCapabilitiesType_SoftwareCertificates,3049,Variable +SessionDiagnosticsVariableType_MaxResponseMessageSize,3050,Variable +BuildInfoType,3051,VariableType +BuildInfoType_ProductUri,3052,Variable +BuildInfoType_ManufacturerName,3053,Variable +BuildInfoType_ProductName,3054,Variable +BuildInfoType_SoftwareVersion,3055,Variable +BuildInfoType_BuildNumber,3056,Variable +BuildInfoType_BuildDate,3057,Variable +SessionSecurityDiagnosticsType_ClientCertificate,3058,Variable +HistoricalDataConfigurationType_AggregateConfiguration,3059,Object +DefaultBinary,3062,Object +DefaultXml,3063,Object +AlwaysGeneratesEvent,3065,ReferenceType +Icon,3067,Variable +NodeVersion,3068,Variable +LocalTime,3069,Variable +AllowNulls,3070,Variable +EnumValues,3071,Variable +InputArguments,3072,Variable +OutputArguments,3073,Variable +ServerType_ServerStatus_StartTime,3074,Variable +ServerType_ServerStatus_CurrentTime,3075,Variable +ServerType_ServerStatus_State,3076,Variable +ServerType_ServerStatus_BuildInfo,3077,Variable +ServerType_ServerStatus_BuildInfo_ProductUri,3078,Variable +ServerType_ServerStatus_BuildInfo_ManufacturerName,3079,Variable +ServerType_ServerStatus_BuildInfo_ProductName,3080,Variable +ServerType_ServerStatus_BuildInfo_SoftwareVersion,3081,Variable +ServerType_ServerStatus_BuildInfo_BuildNumber,3082,Variable +ServerType_ServerStatus_BuildInfo_BuildDate,3083,Variable +ServerType_ServerStatus_SecondsTillShutdown,3084,Variable +ServerType_ServerStatus_ShutdownReason,3085,Variable +ServerType_ServerCapabilities_ServerProfileArray,3086,Variable +ServerType_ServerCapabilities_LocaleIdArray,3087,Variable +ServerType_ServerCapabilities_MinSupportedSampleRate,3088,Variable +ServerType_ServerCapabilities_MaxBrowseContinuationPoints,3089,Variable +ServerType_ServerCapabilities_MaxQueryContinuationPoints,3090,Variable +ServerType_ServerCapabilities_MaxHistoryContinuationPoints,3091,Variable +ServerType_ServerCapabilities_SoftwareCertificates,3092,Variable +ServerType_ServerCapabilities_ModellingRules,3093,Object +ServerType_ServerCapabilities_AggregateFunctions,3094,Object +ServerType_ServerDiagnostics_ServerDiagnosticsSummary,3095,Variable +ServerType_ServerDiagnostics_ServerDiagnosticsSummary_ServerViewCount,3096,Variable +ServerType_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSessionCount,3097,Variable +ServerType_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSessionCount,3098,Variable +ServerType_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedSessionCount,3099,Variable +ServerType_ServerDiagnostics_ServerDiagnosticsSummary_RejectedSessionCount,3100,Variable +ServerType_ServerDiagnostics_ServerDiagnosticsSummary_SessionTimeoutCount,3101,Variable +ServerType_ServerDiagnostics_ServerDiagnosticsSummary_SessionAbortCount,3102,Variable +ServerType_ServerDiagnostics_ServerDiagnosticsSummary_PublishingIntervalCount,3104,Variable +ServerType_ServerDiagnostics_ServerDiagnosticsSummary_CurrentSubscriptionCount,3105,Variable +ServerType_ServerDiagnostics_ServerDiagnosticsSummary_CumulatedSubscriptionCount,3106,Variable +ServerType_ServerDiagnostics_ServerDiagnosticsSummary_SecurityRejectedRequestsCount,3107,Variable +ServerType_ServerDiagnostics_ServerDiagnosticsSummary_RejectedRequestsCount,3108,Variable +ServerType_ServerDiagnostics_SamplingIntervalDiagnosticsArray,3109,Variable +ServerType_ServerDiagnostics_SubscriptionDiagnosticsArray,3110,Variable +ServerType_ServerDiagnostics_SessionsDiagnosticsSummary,3111,Object +ServerType_ServerDiagnostics_SessionsDiagnosticsSummary_SessionDiagnosticsArray,3112,Variable +ServerType_ServerDiagnostics_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray,3113,Variable +ServerType_ServerDiagnostics_EnabledFlag,3114,Variable +ServerType_ServerRedundancy_RedundancySupport,3115,Variable +ServerDiagnosticsType_ServerDiagnosticsSummary_ServerViewCount,3116,Variable +ServerDiagnosticsType_ServerDiagnosticsSummary_CurrentSessionCount,3117,Variable +ServerDiagnosticsType_ServerDiagnosticsSummary_CumulatedSessionCount,3118,Variable +ServerDiagnosticsType_ServerDiagnosticsSummary_SecurityRejectedSessionCount,3119,Variable +ServerDiagnosticsType_ServerDiagnosticsSummary_RejectedSessionCount,3120,Variable +ServerDiagnosticsType_ServerDiagnosticsSummary_SessionTimeoutCount,3121,Variable +ServerDiagnosticsType_ServerDiagnosticsSummary_SessionAbortCount,3122,Variable +ServerDiagnosticsType_ServerDiagnosticsSummary_PublishingIntervalCount,3124,Variable +ServerDiagnosticsType_ServerDiagnosticsSummary_CurrentSubscriptionCount,3125,Variable +ServerDiagnosticsType_ServerDiagnosticsSummary_CumulatedSubscriptionCount,3126,Variable +ServerDiagnosticsType_ServerDiagnosticsSummary_SecurityRejectedRequestsCount,3127,Variable +ServerDiagnosticsType_ServerDiagnosticsSummary_RejectedRequestsCount,3128,Variable +ServerDiagnosticsType_SessionsDiagnosticsSummary_SessionDiagnosticsArray,3129,Variable +ServerDiagnosticsType_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray,3130,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_SessionId,3131,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_SessionName,3132,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_ClientDescription,3133,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_ServerUri,3134,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_EndpointUrl,3135,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_LocaleIds,3136,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_ActualSessionTimeout,3137,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_MaxResponseMessageSize,3138,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_ClientConnectionTime,3139,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_ClientLastContactTime,3140,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_CurrentSubscriptionsCount,3141,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_CurrentMonitoredItemsCount,3142,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_CurrentPublishRequestsInQueue,3143,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_ReadCount,3151,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_HistoryReadCount,3152,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_WriteCount,3153,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_HistoryUpdateCount,3154,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_CallCount,3155,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_CreateMonitoredItemsCount,3156,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_ModifyMonitoredItemsCount,3157,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_SetMonitoringModeCount,3158,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_SetTriggeringCount,3159,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_DeleteMonitoredItemsCount,3160,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_CreateSubscriptionCount,3161,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_ModifySubscriptionCount,3162,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_SetPublishingModeCount,3163,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_PublishCount,3164,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_RepublishCount,3165,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_TransferSubscriptionsCount,3166,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_DeleteSubscriptionsCount,3167,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_AddNodesCount,3168,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_AddReferencesCount,3169,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_DeleteNodesCount,3170,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_DeleteReferencesCount,3171,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_BrowseCount,3172,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_BrowseNextCount,3173,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_TranslateBrowsePathsToNodeIdsCount,3174,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_QueryFirstCount,3175,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_QueryNextCount,3176,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_RegisterNodesCount,3177,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_UnregisterNodesCount,3178,Variable +SessionDiagnosticsObjectType_SessionSecurityDiagnostics_SessionId,3179,Variable +SessionDiagnosticsObjectType_SessionSecurityDiagnostics_ClientUserIdOfSession,3180,Variable +SessionDiagnosticsObjectType_SessionSecurityDiagnostics_ClientUserIdHistory,3181,Variable +SessionDiagnosticsObjectType_SessionSecurityDiagnostics_AuthenticationMechanism,3182,Variable +SessionDiagnosticsObjectType_SessionSecurityDiagnostics_Encoding,3183,Variable +SessionDiagnosticsObjectType_SessionSecurityDiagnostics_TransportProtocol,3184,Variable +SessionDiagnosticsObjectType_SessionSecurityDiagnostics_SecurityMode,3185,Variable +SessionDiagnosticsObjectType_SessionSecurityDiagnostics_SecurityPolicyUri,3186,Variable +SessionDiagnosticsObjectType_SessionSecurityDiagnostics_ClientCertificate,3187,Variable +TransparentRedundancyType_RedundancySupport,3188,Variable +NonTransparentRedundancyType_RedundancySupport,3189,Variable +BaseEventType_LocalTime,3190,Variable +EventQueueOverflowEventType_EventId,3191,Variable +EventQueueOverflowEventType_EventType,3192,Variable +EventQueueOverflowEventType_SourceNode,3193,Variable +EventQueueOverflowEventType_SourceName,3194,Variable +EventQueueOverflowEventType_Time,3195,Variable +EventQueueOverflowEventType_ReceiveTime,3196,Variable +EventQueueOverflowEventType_LocalTime,3197,Variable +EventQueueOverflowEventType_Message,3198,Variable +EventQueueOverflowEventType_Severity,3199,Variable +AuditEventType_EventId,3200,Variable +AuditEventType_EventType,3201,Variable +AuditEventType_SourceNode,3202,Variable +AuditEventType_SourceName,3203,Variable +AuditEventType_Time,3204,Variable +AuditEventType_ReceiveTime,3205,Variable +AuditEventType_LocalTime,3206,Variable +AuditEventType_Message,3207,Variable +AuditEventType_Severity,3208,Variable +AuditSecurityEventType_EventId,3209,Variable +AuditSecurityEventType_EventType,3210,Variable +AuditSecurityEventType_SourceNode,3211,Variable +AuditSecurityEventType_SourceName,3212,Variable +AuditSecurityEventType_Time,3213,Variable +AuditSecurityEventType_ReceiveTime,3214,Variable +AuditSecurityEventType_LocalTime,3215,Variable +AuditSecurityEventType_Message,3216,Variable +AuditSecurityEventType_Severity,3217,Variable +AuditSecurityEventType_ActionTimeStamp,3218,Variable +AuditSecurityEventType_Status,3219,Variable +AuditSecurityEventType_ServerId,3220,Variable +AuditSecurityEventType_ClientAuditEntryId,3221,Variable +AuditSecurityEventType_ClientUserId,3222,Variable +AuditChannelEventType_EventId,3223,Variable +AuditChannelEventType_EventType,3224,Variable +AuditChannelEventType_SourceNode,3225,Variable +AuditChannelEventType_SourceName,3226,Variable +AuditChannelEventType_Time,3227,Variable +AuditChannelEventType_ReceiveTime,3228,Variable +AuditChannelEventType_LocalTime,3229,Variable +AuditChannelEventType_Message,3230,Variable +AuditChannelEventType_Severity,3231,Variable +AuditChannelEventType_ActionTimeStamp,3232,Variable +AuditChannelEventType_Status,3233,Variable +AuditChannelEventType_ServerId,3234,Variable +AuditChannelEventType_ClientAuditEntryId,3235,Variable +AuditChannelEventType_ClientUserId,3236,Variable +AuditOpenSecureChannelEventType_EventId,3237,Variable +AuditOpenSecureChannelEventType_EventType,3238,Variable +AuditOpenSecureChannelEventType_SourceNode,3239,Variable +AuditOpenSecureChannelEventType_SourceName,3240,Variable +AuditOpenSecureChannelEventType_Time,3241,Variable +AuditOpenSecureChannelEventType_ReceiveTime,3242,Variable +AuditOpenSecureChannelEventType_LocalTime,3243,Variable +AuditOpenSecureChannelEventType_Message,3244,Variable +AuditOpenSecureChannelEventType_Severity,3245,Variable +AuditOpenSecureChannelEventType_ActionTimeStamp,3246,Variable +AuditOpenSecureChannelEventType_Status,3247,Variable +AuditOpenSecureChannelEventType_ServerId,3248,Variable +AuditOpenSecureChannelEventType_ClientAuditEntryId,3249,Variable +AuditOpenSecureChannelEventType_ClientUserId,3250,Variable +AuditOpenSecureChannelEventType_SecureChannelId,3251,Variable +AuditSessionEventType_EventId,3252,Variable +AuditSessionEventType_EventType,3253,Variable +AuditSessionEventType_SourceNode,3254,Variable +AuditSessionEventType_SourceName,3255,Variable +AuditSessionEventType_Time,3256,Variable +AuditSessionEventType_ReceiveTime,3257,Variable +AuditSessionEventType_LocalTime,3258,Variable +AuditSessionEventType_Message,3259,Variable +AuditSessionEventType_Severity,3260,Variable +AuditSessionEventType_ActionTimeStamp,3261,Variable +AuditSessionEventType_Status,3262,Variable +AuditSessionEventType_ServerId,3263,Variable +AuditSessionEventType_ClientAuditEntryId,3264,Variable +AuditSessionEventType_ClientUserId,3265,Variable +AuditCreateSessionEventType_EventId,3266,Variable +AuditCreateSessionEventType_EventType,3267,Variable +AuditCreateSessionEventType_SourceNode,3268,Variable +AuditCreateSessionEventType_SourceName,3269,Variable +AuditCreateSessionEventType_Time,3270,Variable +AuditCreateSessionEventType_ReceiveTime,3271,Variable +AuditCreateSessionEventType_LocalTime,3272,Variable +AuditCreateSessionEventType_Message,3273,Variable +AuditCreateSessionEventType_Severity,3274,Variable +AuditCreateSessionEventType_ActionTimeStamp,3275,Variable +AuditCreateSessionEventType_Status,3276,Variable +AuditCreateSessionEventType_ServerId,3277,Variable +AuditCreateSessionEventType_ClientAuditEntryId,3278,Variable +AuditCreateSessionEventType_ClientUserId,3279,Variable +AuditUrlMismatchEventType_EventId,3281,Variable +AuditUrlMismatchEventType_EventType,3282,Variable +AuditUrlMismatchEventType_SourceNode,3283,Variable +AuditUrlMismatchEventType_SourceName,3284,Variable +AuditUrlMismatchEventType_Time,3285,Variable +AuditUrlMismatchEventType_ReceiveTime,3286,Variable +AuditUrlMismatchEventType_LocalTime,3287,Variable +AuditUrlMismatchEventType_Message,3288,Variable +AuditUrlMismatchEventType_Severity,3289,Variable +AuditUrlMismatchEventType_ActionTimeStamp,3290,Variable +AuditUrlMismatchEventType_Status,3291,Variable +AuditUrlMismatchEventType_ServerId,3292,Variable +AuditUrlMismatchEventType_ClientAuditEntryId,3293,Variable +AuditUrlMismatchEventType_ClientUserId,3294,Variable +AuditUrlMismatchEventType_SecureChannelId,3296,Variable +AuditUrlMismatchEventType_ClientCertificate,3297,Variable +AuditUrlMismatchEventType_ClientCertificateThumbprint,3298,Variable +AuditUrlMismatchEventType_RevisedSessionTimeout,3299,Variable +AuditActivateSessionEventType_EventId,3300,Variable +AuditActivateSessionEventType_EventType,3301,Variable +AuditActivateSessionEventType_SourceNode,3302,Variable +AuditActivateSessionEventType_SourceName,3303,Variable +AuditActivateSessionEventType_Time,3304,Variable +AuditActivateSessionEventType_ReceiveTime,3305,Variable +AuditActivateSessionEventType_LocalTime,3306,Variable +AuditActivateSessionEventType_Message,3307,Variable +AuditActivateSessionEventType_Severity,3308,Variable +AuditActivateSessionEventType_ActionTimeStamp,3309,Variable +AuditActivateSessionEventType_Status,3310,Variable +AuditActivateSessionEventType_ServerId,3311,Variable +AuditActivateSessionEventType_ClientAuditEntryId,3312,Variable +AuditActivateSessionEventType_ClientUserId,3313,Variable +AuditActivateSessionEventType_SessionId,3314,Variable +AuditCancelEventType_EventId,3315,Variable +AuditCancelEventType_EventType,3316,Variable +AuditCancelEventType_SourceNode,3317,Variable +AuditCancelEventType_SourceName,3318,Variable +AuditCancelEventType_Time,3319,Variable +AuditCancelEventType_ReceiveTime,3320,Variable +AuditCancelEventType_LocalTime,3321,Variable +AuditCancelEventType_Message,3322,Variable +AuditCancelEventType_Severity,3323,Variable +AuditCancelEventType_ActionTimeStamp,3324,Variable +AuditCancelEventType_Status,3325,Variable +AuditCancelEventType_ServerId,3326,Variable +AuditCancelEventType_ClientAuditEntryId,3327,Variable +AuditCancelEventType_ClientUserId,3328,Variable +AuditCancelEventType_SessionId,3329,Variable +AuditCertificateEventType_EventId,3330,Variable +AuditCertificateEventType_EventType,3331,Variable +AuditCertificateEventType_SourceNode,3332,Variable +AuditCertificateEventType_SourceName,3333,Variable +AuditCertificateEventType_Time,3334,Variable +AuditCertificateEventType_ReceiveTime,3335,Variable +AuditCertificateEventType_LocalTime,3336,Variable +AuditCertificateEventType_Message,3337,Variable +AuditCertificateEventType_Severity,3338,Variable +AuditCertificateEventType_ActionTimeStamp,3339,Variable +AuditCertificateEventType_Status,3340,Variable +AuditCertificateEventType_ServerId,3341,Variable +AuditCertificateEventType_ClientAuditEntryId,3342,Variable +AuditCertificateEventType_ClientUserId,3343,Variable +AuditCertificateDataMismatchEventType_EventId,3344,Variable +AuditCertificateDataMismatchEventType_EventType,3345,Variable +AuditCertificateDataMismatchEventType_SourceNode,3346,Variable +AuditCertificateDataMismatchEventType_SourceName,3347,Variable +AuditCertificateDataMismatchEventType_Time,3348,Variable +AuditCertificateDataMismatchEventType_ReceiveTime,3349,Variable +AuditCertificateDataMismatchEventType_LocalTime,3350,Variable +AuditCertificateDataMismatchEventType_Message,3351,Variable +AuditCertificateDataMismatchEventType_Severity,3352,Variable +AuditCertificateDataMismatchEventType_ActionTimeStamp,3353,Variable +AuditCertificateDataMismatchEventType_Status,3354,Variable +AuditCertificateDataMismatchEventType_ServerId,3355,Variable +AuditCertificateDataMismatchEventType_ClientAuditEntryId,3356,Variable +AuditCertificateDataMismatchEventType_ClientUserId,3357,Variable +AuditCertificateDataMismatchEventType_Certificate,3358,Variable +AuditCertificateExpiredEventType_EventId,3359,Variable +AuditCertificateExpiredEventType_EventType,3360,Variable +AuditCertificateExpiredEventType_SourceNode,3361,Variable +AuditCertificateExpiredEventType_SourceName,3362,Variable +AuditCertificateExpiredEventType_Time,3363,Variable +AuditCertificateExpiredEventType_ReceiveTime,3364,Variable +AuditCertificateExpiredEventType_LocalTime,3365,Variable +AuditCertificateExpiredEventType_Message,3366,Variable +AuditCertificateExpiredEventType_Severity,3367,Variable +AuditCertificateExpiredEventType_ActionTimeStamp,3368,Variable +AuditCertificateExpiredEventType_Status,3369,Variable +AuditCertificateExpiredEventType_ServerId,3370,Variable +AuditCertificateExpiredEventType_ClientAuditEntryId,3371,Variable +AuditCertificateExpiredEventType_ClientUserId,3372,Variable +AuditCertificateExpiredEventType_Certificate,3373,Variable +AuditCertificateInvalidEventType_EventId,3374,Variable +AuditCertificateInvalidEventType_EventType,3375,Variable +AuditCertificateInvalidEventType_SourceNode,3376,Variable +AuditCertificateInvalidEventType_SourceName,3377,Variable +AuditCertificateInvalidEventType_Time,3378,Variable +AuditCertificateInvalidEventType_ReceiveTime,3379,Variable +AuditCertificateInvalidEventType_LocalTime,3380,Variable +AuditCertificateInvalidEventType_Message,3381,Variable +AuditCertificateInvalidEventType_Severity,3382,Variable +AuditCertificateInvalidEventType_ActionTimeStamp,3383,Variable +AuditCertificateInvalidEventType_Status,3384,Variable +AuditCertificateInvalidEventType_ServerId,3385,Variable +AuditCertificateInvalidEventType_ClientAuditEntryId,3386,Variable +AuditCertificateInvalidEventType_ClientUserId,3387,Variable +AuditCertificateInvalidEventType_Certificate,3388,Variable +AuditCertificateUntrustedEventType_EventId,3389,Variable +AuditCertificateUntrustedEventType_EventType,3390,Variable +AuditCertificateUntrustedEventType_SourceNode,3391,Variable +AuditCertificateUntrustedEventType_SourceName,3392,Variable +AuditCertificateUntrustedEventType_Time,3393,Variable +AuditCertificateUntrustedEventType_ReceiveTime,3394,Variable +AuditCertificateUntrustedEventType_LocalTime,3395,Variable +AuditCertificateUntrustedEventType_Message,3396,Variable +AuditCertificateUntrustedEventType_Severity,3397,Variable +AuditCertificateUntrustedEventType_ActionTimeStamp,3398,Variable +AuditCertificateUntrustedEventType_Status,3399,Variable +AuditCertificateUntrustedEventType_ServerId,3400,Variable +AuditCertificateUntrustedEventType_ClientAuditEntryId,3401,Variable +AuditCertificateUntrustedEventType_ClientUserId,3402,Variable +AuditCertificateUntrustedEventType_Certificate,3403,Variable +AuditCertificateRevokedEventType_EventId,3404,Variable +AuditCertificateRevokedEventType_EventType,3405,Variable +AuditCertificateRevokedEventType_SourceNode,3406,Variable +AuditCertificateRevokedEventType_SourceName,3407,Variable +AuditCertificateRevokedEventType_Time,3408,Variable +AuditCertificateRevokedEventType_ReceiveTime,3409,Variable +AuditCertificateRevokedEventType_LocalTime,3410,Variable +AuditCertificateRevokedEventType_Message,3411,Variable +AuditCertificateRevokedEventType_Severity,3412,Variable +AuditCertificateRevokedEventType_ActionTimeStamp,3413,Variable +AuditCertificateRevokedEventType_Status,3414,Variable +AuditCertificateRevokedEventType_ServerId,3415,Variable +AuditCertificateRevokedEventType_ClientAuditEntryId,3416,Variable +AuditCertificateRevokedEventType_ClientUserId,3417,Variable +AuditCertificateRevokedEventType_Certificate,3418,Variable +AuditCertificateMismatchEventType_EventId,3419,Variable +AuditCertificateMismatchEventType_EventType,3420,Variable +AuditCertificateMismatchEventType_SourceNode,3421,Variable +AuditCertificateMismatchEventType_SourceName,3422,Variable +AuditCertificateMismatchEventType_Time,3423,Variable +AuditCertificateMismatchEventType_ReceiveTime,3424,Variable +AuditCertificateMismatchEventType_LocalTime,3425,Variable +AuditCertificateMismatchEventType_Message,3426,Variable +AuditCertificateMismatchEventType_Severity,3427,Variable +AuditCertificateMismatchEventType_ActionTimeStamp,3428,Variable +AuditCertificateMismatchEventType_Status,3429,Variable +AuditCertificateMismatchEventType_ServerId,3430,Variable +AuditCertificateMismatchEventType_ClientAuditEntryId,3431,Variable +AuditCertificateMismatchEventType_ClientUserId,3432,Variable +AuditCertificateMismatchEventType_Certificate,3433,Variable +AuditNodeManagementEventType_EventId,3434,Variable +AuditNodeManagementEventType_EventType,3435,Variable +AuditNodeManagementEventType_SourceNode,3436,Variable +AuditNodeManagementEventType_SourceName,3437,Variable +AuditNodeManagementEventType_Time,3438,Variable +AuditNodeManagementEventType_ReceiveTime,3439,Variable +AuditNodeManagementEventType_LocalTime,3440,Variable +AuditNodeManagementEventType_Message,3441,Variable +AuditNodeManagementEventType_Severity,3442,Variable +AuditNodeManagementEventType_ActionTimeStamp,3443,Variable +AuditNodeManagementEventType_Status,3444,Variable +AuditNodeManagementEventType_ServerId,3445,Variable +AuditNodeManagementEventType_ClientAuditEntryId,3446,Variable +AuditNodeManagementEventType_ClientUserId,3447,Variable +AuditAddNodesEventType_EventId,3448,Variable +AuditAddNodesEventType_EventType,3449,Variable +AuditAddNodesEventType_SourceNode,3450,Variable +AuditAddNodesEventType_SourceName,3451,Variable +AuditAddNodesEventType_Time,3452,Variable +AuditAddNodesEventType_ReceiveTime,3453,Variable +AuditAddNodesEventType_LocalTime,3454,Variable +AuditAddNodesEventType_Message,3455,Variable +AuditAddNodesEventType_Severity,3456,Variable +AuditAddNodesEventType_ActionTimeStamp,3457,Variable +AuditAddNodesEventType_Status,3458,Variable +AuditAddNodesEventType_ServerId,3459,Variable +AuditAddNodesEventType_ClientAuditEntryId,3460,Variable +AuditAddNodesEventType_ClientUserId,3461,Variable +AuditDeleteNodesEventType_EventId,3462,Variable +AuditDeleteNodesEventType_EventType,3463,Variable +AuditDeleteNodesEventType_SourceNode,3464,Variable +AuditDeleteNodesEventType_SourceName,3465,Variable +AuditDeleteNodesEventType_Time,3466,Variable +AuditDeleteNodesEventType_ReceiveTime,3467,Variable +AuditDeleteNodesEventType_LocalTime,3468,Variable +AuditDeleteNodesEventType_Message,3469,Variable +AuditDeleteNodesEventType_Severity,3470,Variable +AuditDeleteNodesEventType_ActionTimeStamp,3471,Variable +AuditDeleteNodesEventType_Status,3472,Variable +AuditDeleteNodesEventType_ServerId,3473,Variable +AuditDeleteNodesEventType_ClientAuditEntryId,3474,Variable +AuditDeleteNodesEventType_ClientUserId,3475,Variable +AuditAddReferencesEventType_EventId,3476,Variable +AuditAddReferencesEventType_EventType,3477,Variable +AuditAddReferencesEventType_SourceNode,3478,Variable +AuditAddReferencesEventType_SourceName,3479,Variable +AuditAddReferencesEventType_Time,3480,Variable +AuditAddReferencesEventType_ReceiveTime,3481,Variable +AuditAddReferencesEventType_LocalTime,3482,Variable +AuditAddReferencesEventType_Message,3483,Variable +AuditAddReferencesEventType_Severity,3484,Variable +AuditAddReferencesEventType_ActionTimeStamp,3485,Variable +AuditAddReferencesEventType_Status,3486,Variable +AuditAddReferencesEventType_ServerId,3487,Variable +AuditAddReferencesEventType_ClientAuditEntryId,3488,Variable +AuditAddReferencesEventType_ClientUserId,3489,Variable +AuditDeleteReferencesEventType_EventId,3490,Variable +AuditDeleteReferencesEventType_EventType,3491,Variable +AuditDeleteReferencesEventType_SourceNode,3492,Variable +AuditDeleteReferencesEventType_SourceName,3493,Variable +AuditDeleteReferencesEventType_Time,3494,Variable +AuditDeleteReferencesEventType_ReceiveTime,3495,Variable +AuditDeleteReferencesEventType_LocalTime,3496,Variable +AuditDeleteReferencesEventType_Message,3497,Variable +AuditDeleteReferencesEventType_Severity,3498,Variable +AuditDeleteReferencesEventType_ActionTimeStamp,3499,Variable +AuditDeleteReferencesEventType_Status,3500,Variable +AuditDeleteReferencesEventType_ServerId,3501,Variable +AuditDeleteReferencesEventType_ClientAuditEntryId,3502,Variable +AuditDeleteReferencesEventType_ClientUserId,3503,Variable +AuditUpdateEventType_EventId,3504,Variable +AuditUpdateEventType_EventType,3505,Variable +AuditUpdateEventType_SourceNode,3506,Variable +AuditUpdateEventType_SourceName,3507,Variable +AuditUpdateEventType_Time,3508,Variable +AuditUpdateEventType_ReceiveTime,3509,Variable +AuditUpdateEventType_LocalTime,3510,Variable +AuditUpdateEventType_Message,3511,Variable +AuditUpdateEventType_Severity,3512,Variable +AuditUpdateEventType_ActionTimeStamp,3513,Variable +AuditUpdateEventType_Status,3514,Variable +AuditUpdateEventType_ServerId,3515,Variable +AuditUpdateEventType_ClientAuditEntryId,3516,Variable +AuditUpdateEventType_ClientUserId,3517,Variable +AuditWriteUpdateEventType_EventId,3518,Variable +AuditWriteUpdateEventType_EventType,3519,Variable +AuditWriteUpdateEventType_SourceNode,3520,Variable +AuditWriteUpdateEventType_SourceName,3521,Variable +AuditWriteUpdateEventType_Time,3522,Variable +AuditWriteUpdateEventType_ReceiveTime,3523,Variable +AuditWriteUpdateEventType_LocalTime,3524,Variable +AuditWriteUpdateEventType_Message,3525,Variable +AuditWriteUpdateEventType_Severity,3526,Variable +AuditWriteUpdateEventType_ActionTimeStamp,3527,Variable +AuditWriteUpdateEventType_Status,3528,Variable +AuditWriteUpdateEventType_ServerId,3529,Variable +AuditWriteUpdateEventType_ClientAuditEntryId,3530,Variable +AuditWriteUpdateEventType_ClientUserId,3531,Variable +AuditHistoryUpdateEventType_EventId,3532,Variable +AuditHistoryUpdateEventType_EventType,3533,Variable +AuditHistoryUpdateEventType_SourceNode,3534,Variable +AuditHistoryUpdateEventType_SourceName,3535,Variable +AuditHistoryUpdateEventType_Time,3536,Variable +AuditHistoryUpdateEventType_ReceiveTime,3537,Variable +AuditHistoryUpdateEventType_LocalTime,3538,Variable +AuditHistoryUpdateEventType_Message,3539,Variable +AuditHistoryUpdateEventType_Severity,3540,Variable +AuditHistoryUpdateEventType_ActionTimeStamp,3541,Variable +AuditHistoryUpdateEventType_Status,3542,Variable +AuditHistoryUpdateEventType_ServerId,3543,Variable +AuditHistoryUpdateEventType_ClientAuditEntryId,3544,Variable +AuditHistoryUpdateEventType_ClientUserId,3545,Variable +AuditHistoryEventUpdateEventType_EventId,3546,Variable +AuditHistoryEventUpdateEventType_EventType,3547,Variable +AuditHistoryEventUpdateEventType_SourceNode,3548,Variable +AuditHistoryEventUpdateEventType_SourceName,3549,Variable +AuditHistoryEventUpdateEventType_Time,3550,Variable +AuditHistoryEventUpdateEventType_ReceiveTime,3551,Variable +AuditHistoryEventUpdateEventType_LocalTime,3552,Variable +AuditHistoryEventUpdateEventType_Message,3553,Variable +AuditHistoryEventUpdateEventType_Severity,3554,Variable +AuditHistoryEventUpdateEventType_ActionTimeStamp,3555,Variable +AuditHistoryEventUpdateEventType_Status,3556,Variable +AuditHistoryEventUpdateEventType_ServerId,3557,Variable +AuditHistoryEventUpdateEventType_ClientAuditEntryId,3558,Variable +AuditHistoryEventUpdateEventType_ClientUserId,3559,Variable +AuditHistoryEventUpdateEventType_ParameterDataTypeId,3560,Variable +AuditHistoryValueUpdateEventType_EventId,3561,Variable +AuditHistoryValueUpdateEventType_EventType,3562,Variable +AuditHistoryValueUpdateEventType_SourceNode,3563,Variable +AuditHistoryValueUpdateEventType_SourceName,3564,Variable +AuditHistoryValueUpdateEventType_Time,3565,Variable +AuditHistoryValueUpdateEventType_ReceiveTime,3566,Variable +AuditHistoryValueUpdateEventType_LocalTime,3567,Variable +AuditHistoryValueUpdateEventType_Message,3568,Variable +AuditHistoryValueUpdateEventType_Severity,3569,Variable +AuditHistoryValueUpdateEventType_ActionTimeStamp,3570,Variable +AuditHistoryValueUpdateEventType_Status,3571,Variable +AuditHistoryValueUpdateEventType_ServerId,3572,Variable +AuditHistoryValueUpdateEventType_ClientAuditEntryId,3573,Variable +AuditHistoryValueUpdateEventType_ClientUserId,3574,Variable +AuditHistoryValueUpdateEventType_ParameterDataTypeId,3575,Variable +AuditHistoryDeleteEventType_EventId,3576,Variable +AuditHistoryDeleteEventType_EventType,3577,Variable +AuditHistoryDeleteEventType_SourceNode,3578,Variable +AuditHistoryDeleteEventType_SourceName,3579,Variable +AuditHistoryDeleteEventType_Time,3580,Variable +AuditHistoryDeleteEventType_ReceiveTime,3581,Variable +AuditHistoryDeleteEventType_LocalTime,3582,Variable +AuditHistoryDeleteEventType_Message,3583,Variable +AuditHistoryDeleteEventType_Severity,3584,Variable +AuditHistoryDeleteEventType_ActionTimeStamp,3585,Variable +AuditHistoryDeleteEventType_Status,3586,Variable +AuditHistoryDeleteEventType_ServerId,3587,Variable +AuditHistoryDeleteEventType_ClientAuditEntryId,3588,Variable +AuditHistoryDeleteEventType_ClientUserId,3589,Variable +AuditHistoryDeleteEventType_ParameterDataTypeId,3590,Variable +AuditHistoryRawModifyDeleteEventType_EventId,3591,Variable +AuditHistoryRawModifyDeleteEventType_EventType,3592,Variable +AuditHistoryRawModifyDeleteEventType_SourceNode,3593,Variable +AuditHistoryRawModifyDeleteEventType_SourceName,3594,Variable +AuditHistoryRawModifyDeleteEventType_Time,3595,Variable +AuditHistoryRawModifyDeleteEventType_ReceiveTime,3596,Variable +AuditHistoryRawModifyDeleteEventType_LocalTime,3597,Variable +AuditHistoryRawModifyDeleteEventType_Message,3598,Variable +AuditHistoryRawModifyDeleteEventType_Severity,3599,Variable +AuditHistoryRawModifyDeleteEventType_ActionTimeStamp,3600,Variable +AuditHistoryRawModifyDeleteEventType_Status,3601,Variable +AuditHistoryRawModifyDeleteEventType_ServerId,3602,Variable +AuditHistoryRawModifyDeleteEventType_ClientAuditEntryId,3603,Variable +AuditHistoryRawModifyDeleteEventType_ClientUserId,3604,Variable +AuditHistoryRawModifyDeleteEventType_ParameterDataTypeId,3605,Variable +AuditHistoryRawModifyDeleteEventType_UpdatedNode,3606,Variable +AuditHistoryAtTimeDeleteEventType_EventId,3607,Variable +AuditHistoryAtTimeDeleteEventType_EventType,3608,Variable +AuditHistoryAtTimeDeleteEventType_SourceNode,3609,Variable +AuditHistoryAtTimeDeleteEventType_SourceName,3610,Variable +AuditHistoryAtTimeDeleteEventType_Time,3611,Variable +AuditHistoryAtTimeDeleteEventType_ReceiveTime,3612,Variable +AuditHistoryAtTimeDeleteEventType_LocalTime,3613,Variable +AuditHistoryAtTimeDeleteEventType_Message,3614,Variable +AuditHistoryAtTimeDeleteEventType_Severity,3615,Variable +AuditHistoryAtTimeDeleteEventType_ActionTimeStamp,3616,Variable +AuditHistoryAtTimeDeleteEventType_Status,3617,Variable +AuditHistoryAtTimeDeleteEventType_ServerId,3618,Variable +AuditHistoryAtTimeDeleteEventType_ClientAuditEntryId,3619,Variable +AuditHistoryAtTimeDeleteEventType_ClientUserId,3620,Variable +AuditHistoryAtTimeDeleteEventType_ParameterDataTypeId,3621,Variable +AuditHistoryAtTimeDeleteEventType_UpdatedNode,3622,Variable +AuditHistoryEventDeleteEventType_EventId,3623,Variable +AuditHistoryEventDeleteEventType_EventType,3624,Variable +AuditHistoryEventDeleteEventType_SourceNode,3625,Variable +AuditHistoryEventDeleteEventType_SourceName,3626,Variable +AuditHistoryEventDeleteEventType_Time,3627,Variable +AuditHistoryEventDeleteEventType_ReceiveTime,3628,Variable +AuditHistoryEventDeleteEventType_LocalTime,3629,Variable +AuditHistoryEventDeleteEventType_Message,3630,Variable +AuditHistoryEventDeleteEventType_Severity,3631,Variable +AuditHistoryEventDeleteEventType_ActionTimeStamp,3632,Variable +AuditHistoryEventDeleteEventType_Status,3633,Variable +AuditHistoryEventDeleteEventType_ServerId,3634,Variable +AuditHistoryEventDeleteEventType_ClientAuditEntryId,3635,Variable +AuditHistoryEventDeleteEventType_ClientUserId,3636,Variable +AuditHistoryEventDeleteEventType_ParameterDataTypeId,3637,Variable +AuditHistoryEventDeleteEventType_UpdatedNode,3638,Variable +AuditUpdateMethodEventType_EventId,3639,Variable +AuditUpdateMethodEventType_EventType,3640,Variable +AuditUpdateMethodEventType_SourceNode,3641,Variable +AuditUpdateMethodEventType_SourceName,3642,Variable +AuditUpdateMethodEventType_Time,3643,Variable +AuditUpdateMethodEventType_ReceiveTime,3644,Variable +AuditUpdateMethodEventType_LocalTime,3645,Variable +AuditUpdateMethodEventType_Message,3646,Variable +AuditUpdateMethodEventType_Severity,3647,Variable +AuditUpdateMethodEventType_ActionTimeStamp,3648,Variable +AuditUpdateMethodEventType_Status,3649,Variable +AuditUpdateMethodEventType_ServerId,3650,Variable +AuditUpdateMethodEventType_ClientAuditEntryId,3651,Variable +AuditUpdateMethodEventType_ClientUserId,3652,Variable +SystemEventType_EventId,3653,Variable +SystemEventType_EventType,3654,Variable +SystemEventType_SourceNode,3655,Variable +SystemEventType_SourceName,3656,Variable +SystemEventType_Time,3657,Variable +SystemEventType_ReceiveTime,3658,Variable +SystemEventType_LocalTime,3659,Variable +SystemEventType_Message,3660,Variable +SystemEventType_Severity,3661,Variable +DeviceFailureEventType_EventId,3662,Variable +DeviceFailureEventType_EventType,3663,Variable +DeviceFailureEventType_SourceNode,3664,Variable +DeviceFailureEventType_SourceName,3665,Variable +DeviceFailureEventType_Time,3666,Variable +DeviceFailureEventType_ReceiveTime,3667,Variable +DeviceFailureEventType_LocalTime,3668,Variable +DeviceFailureEventType_Message,3669,Variable +DeviceFailureEventType_Severity,3670,Variable +BaseModelChangeEventType_EventId,3671,Variable +BaseModelChangeEventType_EventType,3672,Variable +BaseModelChangeEventType_SourceNode,3673,Variable +BaseModelChangeEventType_SourceName,3674,Variable +BaseModelChangeEventType_Time,3675,Variable +BaseModelChangeEventType_ReceiveTime,3676,Variable +BaseModelChangeEventType_LocalTime,3677,Variable +BaseModelChangeEventType_Message,3678,Variable +BaseModelChangeEventType_Severity,3679,Variable +GeneralModelChangeEventType_EventId,3680,Variable +GeneralModelChangeEventType_EventType,3681,Variable +GeneralModelChangeEventType_SourceNode,3682,Variable +GeneralModelChangeEventType_SourceName,3683,Variable +GeneralModelChangeEventType_Time,3684,Variable +GeneralModelChangeEventType_ReceiveTime,3685,Variable +GeneralModelChangeEventType_LocalTime,3686,Variable +GeneralModelChangeEventType_Message,3687,Variable +GeneralModelChangeEventType_Severity,3688,Variable +SemanticChangeEventType_EventId,3689,Variable +SemanticChangeEventType_EventType,3690,Variable +SemanticChangeEventType_SourceNode,3691,Variable +SemanticChangeEventType_SourceName,3692,Variable +SemanticChangeEventType_Time,3693,Variable +SemanticChangeEventType_ReceiveTime,3694,Variable +SemanticChangeEventType_LocalTime,3695,Variable +SemanticChangeEventType_Message,3696,Variable +SemanticChangeEventType_Severity,3697,Variable +ServerStatusType_BuildInfo_ProductUri,3698,Variable +ServerStatusType_BuildInfo_ManufacturerName,3699,Variable +ServerStatusType_BuildInfo_ProductName,3700,Variable +ServerStatusType_BuildInfo_SoftwareVersion,3701,Variable +ServerStatusType_BuildInfo_BuildNumber,3702,Variable +ServerStatusType_BuildInfo_BuildDate,3703,Variable +Server_ServerCapabilities_SoftwareCertificates,3704,Variable +Server_ServerDiagnostics_ServerDiagnosticsSummary_RejectedSessionCount,3705,Variable +Server_ServerDiagnostics_SessionsDiagnosticsSummary,3706,Object +Server_ServerDiagnostics_SessionsDiagnosticsSummary_SessionDiagnosticsArray,3707,Variable +Server_ServerDiagnostics_SessionsDiagnosticsSummary_SessionSecurityDiagnosticsArray,3708,Variable +Server_ServerRedundancy_RedundancySupport,3709,Variable +FiniteStateVariableType_Name,3714,Variable +FiniteStateVariableType_Number,3715,Variable +FiniteStateVariableType_EffectiveDisplayName,3716,Variable +FiniteTransitionVariableType_Name,3717,Variable +FiniteTransitionVariableType_Number,3718,Variable +FiniteTransitionVariableType_TransitionTime,3719,Variable +StateMachineType_CurrentState_Id,3720,Variable +StateMachineType_CurrentState_Name,3721,Variable +StateMachineType_CurrentState_Number,3722,Variable +StateMachineType_CurrentState_EffectiveDisplayName,3723,Variable +StateMachineType_LastTransition_Id,3724,Variable +StateMachineType_LastTransition_Name,3725,Variable +StateMachineType_LastTransition_Number,3726,Variable +StateMachineType_LastTransition_TransitionTime,3727,Variable +FiniteStateMachineType_CurrentState_Id,3728,Variable +FiniteStateMachineType_CurrentState_Name,3729,Variable +FiniteStateMachineType_CurrentState_Number,3730,Variable +FiniteStateMachineType_CurrentState_EffectiveDisplayName,3731,Variable +FiniteStateMachineType_LastTransition_Id,3732,Variable +FiniteStateMachineType_LastTransition_Name,3733,Variable +FiniteStateMachineType_LastTransition_Number,3734,Variable +FiniteStateMachineType_LastTransition_TransitionTime,3735,Variable +InitialStateType_StateNumber,3736,Variable +TransitionEventType_EventId,3737,Variable +TransitionEventType_EventType,3738,Variable +TransitionEventType_SourceNode,3739,Variable +TransitionEventType_SourceName,3740,Variable +TransitionEventType_Time,3741,Variable +TransitionEventType_ReceiveTime,3742,Variable +TransitionEventType_LocalTime,3743,Variable +TransitionEventType_Message,3744,Variable +TransitionEventType_Severity,3745,Variable +TransitionEventType_FromState_Id,3746,Variable +TransitionEventType_FromState_Name,3747,Variable +TransitionEventType_FromState_Number,3748,Variable +TransitionEventType_FromState_EffectiveDisplayName,3749,Variable +TransitionEventType_ToState_Id,3750,Variable +TransitionEventType_ToState_Name,3751,Variable +TransitionEventType_ToState_Number,3752,Variable +TransitionEventType_ToState_EffectiveDisplayName,3753,Variable +TransitionEventType_Transition_Id,3754,Variable +TransitionEventType_Transition_Name,3755,Variable +TransitionEventType_Transition_Number,3756,Variable +TransitionEventType_Transition_TransitionTime,3757,Variable +AuditUpdateStateEventType_EventId,3758,Variable +AuditUpdateStateEventType_EventType,3759,Variable +AuditUpdateStateEventType_SourceNode,3760,Variable +AuditUpdateStateEventType_SourceName,3761,Variable +AuditUpdateStateEventType_Time,3762,Variable +AuditUpdateStateEventType_ReceiveTime,3763,Variable +AuditUpdateStateEventType_LocalTime,3764,Variable +AuditUpdateStateEventType_Message,3765,Variable +AuditUpdateStateEventType_Severity,3766,Variable +AuditUpdateStateEventType_ActionTimeStamp,3767,Variable +AuditUpdateStateEventType_Status,3768,Variable +AuditUpdateStateEventType_ServerId,3769,Variable +AuditUpdateStateEventType_ClientAuditEntryId,3770,Variable +AuditUpdateStateEventType_ClientUserId,3771,Variable +AuditUpdateStateEventType_MethodId,3772,Variable +AuditUpdateStateEventType_InputArguments,3773,Variable +AnalogItemType_Definition,3774,Variable +AnalogItemType_ValuePrecision,3775,Variable +DiscreteItemType_Definition,3776,Variable +DiscreteItemType_ValuePrecision,3777,Variable +TwoStateDiscreteType_Definition,3778,Variable +TwoStateDiscreteType_ValuePrecision,3779,Variable +MultiStateDiscreteType_Definition,3780,Variable +MultiStateDiscreteType_ValuePrecision,3781,Variable +ProgramTransitionEventType_EventId,3782,Variable +ProgramTransitionEventType_EventType,3783,Variable +ProgramTransitionEventType_SourceNode,3784,Variable +ProgramTransitionEventType_SourceName,3785,Variable +ProgramTransitionEventType_Time,3786,Variable +ProgramTransitionEventType_ReceiveTime,3787,Variable +ProgramTransitionEventType_LocalTime,3788,Variable +ProgramTransitionEventType_Message,3789,Variable +ProgramTransitionEventType_Severity,3790,Variable +ProgramTransitionEventType_FromState,3791,Variable +ProgramTransitionEventType_FromState_Id,3792,Variable +ProgramTransitionEventType_FromState_Name,3793,Variable +ProgramTransitionEventType_FromState_Number,3794,Variable +ProgramTransitionEventType_FromState_EffectiveDisplayName,3795,Variable +ProgramTransitionEventType_ToState,3796,Variable +ProgramTransitionEventType_ToState_Id,3797,Variable +ProgramTransitionEventType_ToState_Name,3798,Variable +ProgramTransitionEventType_ToState_Number,3799,Variable +ProgramTransitionEventType_ToState_EffectiveDisplayName,3800,Variable +ProgramTransitionEventType_Transition,3801,Variable +ProgramTransitionEventType_Transition_Id,3802,Variable +ProgramTransitionEventType_Transition_Name,3803,Variable +ProgramTransitionEventType_Transition_Number,3804,Variable +ProgramTransitionEventType_Transition_TransitionTime,3805,Variable +ProgramTransitionAuditEventType,3806,ObjectType +ProgramTransitionAuditEventType_EventId,3807,Variable +ProgramTransitionAuditEventType_EventType,3808,Variable +ProgramTransitionAuditEventType_SourceNode,3809,Variable +ProgramTransitionAuditEventType_SourceName,3810,Variable +ProgramTransitionAuditEventType_Time,3811,Variable +ProgramTransitionAuditEventType_ReceiveTime,3812,Variable +ProgramTransitionAuditEventType_LocalTime,3813,Variable +ProgramTransitionAuditEventType_Message,3814,Variable +ProgramTransitionAuditEventType_Severity,3815,Variable +ProgramTransitionAuditEventType_ActionTimeStamp,3816,Variable +ProgramTransitionAuditEventType_Status,3817,Variable +ProgramTransitionAuditEventType_ServerId,3818,Variable +ProgramTransitionAuditEventType_ClientAuditEntryId,3819,Variable +ProgramTransitionAuditEventType_ClientUserId,3820,Variable +ProgramTransitionAuditEventType_MethodId,3821,Variable +ProgramTransitionAuditEventType_InputArguments,3822,Variable +ProgramTransitionAuditEventType_OldStateId,3823,Variable +ProgramTransitionAuditEventType_NewStateId,3824,Variable +ProgramTransitionAuditEventType_Transition,3825,Variable +ProgramTransitionAuditEventType_Transition_Id,3826,Variable +ProgramTransitionAuditEventType_Transition_Name,3827,Variable +ProgramTransitionAuditEventType_Transition_Number,3828,Variable +ProgramTransitionAuditEventType_Transition_TransitionTime,3829,Variable +ProgramStateMachineType_CurrentState,3830,Variable +ProgramStateMachineType_CurrentState_Id,3831,Variable +ProgramStateMachineType_CurrentState_Name,3832,Variable +ProgramStateMachineType_CurrentState_Number,3833,Variable +ProgramStateMachineType_CurrentState_EffectiveDisplayName,3834,Variable +ProgramStateMachineType_LastTransition,3835,Variable +ProgramStateMachineType_LastTransition_Id,3836,Variable +ProgramStateMachineType_LastTransition_Name,3837,Variable +ProgramStateMachineType_LastTransition_Number,3838,Variable +ProgramStateMachineType_LastTransition_TransitionTime,3839,Variable +ProgramStateMachineType_ProgramDiagnostics_CreateSessionId,3840,Variable +ProgramStateMachineType_ProgramDiagnostics_CreateClientName,3841,Variable +ProgramStateMachineType_ProgramDiagnostics_InvocationCreationTime,3842,Variable +ProgramStateMachineType_ProgramDiagnostics_LastTransitionTime,3843,Variable +ProgramStateMachineType_ProgramDiagnostics_LastMethodCall,3844,Variable +ProgramStateMachineType_ProgramDiagnostics_LastMethodSessionId,3845,Variable +ProgramStateMachineType_ProgramDiagnostics_LastMethodInputArguments,3846,Variable +ProgramStateMachineType_ProgramDiagnostics_LastMethodOutputArguments,3847,Variable +ProgramStateMachineType_ProgramDiagnostics_LastMethodCallTime,3848,Variable +ProgramStateMachineType_ProgramDiagnostics_LastMethodReturnStatus,3849,Variable +ProgramStateMachineType_FinalResultData,3850,Object +AddCommentMethodType,3863,Method +AddCommentMethodType_InputArguments,3864,Variable +ConditionType_EventId,3865,Variable +ConditionType_EventType,3866,Variable +ConditionType_SourceNode,3867,Variable +ConditionType_SourceName,3868,Variable +ConditionType_Time,3869,Variable +ConditionType_ReceiveTime,3870,Variable +ConditionType_LocalTime,3871,Variable +ConditionType_Message,3872,Variable +ConditionType_Severity,3873,Variable +ConditionType_Retain,3874,Variable +ConditionType_ConditionRefresh,3875,Method +ConditionType_ConditionRefresh_InputArguments,3876,Variable +RefreshStartEventType_EventId,3969,Variable +RefreshStartEventType_EventType,3970,Variable +RefreshStartEventType_SourceNode,3971,Variable +RefreshStartEventType_SourceName,3972,Variable +RefreshStartEventType_Time,3973,Variable +RefreshStartEventType_ReceiveTime,3974,Variable +RefreshStartEventType_LocalTime,3975,Variable +RefreshStartEventType_Message,3976,Variable +RefreshStartEventType_Severity,3977,Variable +RefreshEndEventType_EventId,3978,Variable +RefreshEndEventType_EventType,3979,Variable +RefreshEndEventType_SourceNode,3980,Variable +RefreshEndEventType_SourceName,3981,Variable +RefreshEndEventType_Time,3982,Variable +RefreshEndEventType_ReceiveTime,3983,Variable +RefreshEndEventType_LocalTime,3984,Variable +RefreshEndEventType_Message,3985,Variable +RefreshEndEventType_Severity,3986,Variable +RefreshRequiredEventType_EventId,3987,Variable +RefreshRequiredEventType_EventType,3988,Variable +RefreshRequiredEventType_SourceNode,3989,Variable +RefreshRequiredEventType_SourceName,3990,Variable +RefreshRequiredEventType_Time,3991,Variable +RefreshRequiredEventType_ReceiveTime,3992,Variable +RefreshRequiredEventType_LocalTime,3993,Variable +RefreshRequiredEventType_Message,3994,Variable +RefreshRequiredEventType_Severity,3995,Variable +AuditConditionEventType_EventId,3996,Variable +AuditConditionEventType_EventType,3997,Variable +AuditConditionEventType_SourceNode,3998,Variable +AuditConditionEventType_SourceName,3999,Variable +AuditConditionEventType_Time,4000,Variable +AuditConditionEventType_ReceiveTime,4001,Variable +AuditConditionEventType_LocalTime,4002,Variable +AuditConditionEventType_Message,4003,Variable +AuditConditionEventType_Severity,4004,Variable +AuditConditionEventType_ActionTimeStamp,4005,Variable +AuditConditionEventType_Status,4006,Variable +AuditConditionEventType_ServerId,4007,Variable +AuditConditionEventType_ClientAuditEntryId,4008,Variable +AuditConditionEventType_ClientUserId,4009,Variable +AuditConditionEventType_MethodId,4010,Variable +AuditConditionEventType_InputArguments,4011,Variable +AuditConditionEnableEventType_EventId,4106,Variable +AuditConditionEnableEventType_EventType,4107,Variable +AuditConditionEnableEventType_SourceNode,4108,Variable +AuditConditionEnableEventType_SourceName,4109,Variable +AuditConditionEnableEventType_Time,4110,Variable +AuditConditionEnableEventType_ReceiveTime,4111,Variable +AuditConditionEnableEventType_LocalTime,4112,Variable +AuditConditionEnableEventType_Message,4113,Variable +AuditConditionEnableEventType_Severity,4114,Variable +AuditConditionEnableEventType_ActionTimeStamp,4115,Variable +AuditConditionEnableEventType_Status,4116,Variable +AuditConditionEnableEventType_ServerId,4117,Variable +AuditConditionEnableEventType_ClientAuditEntryId,4118,Variable +AuditConditionEnableEventType_ClientUserId,4119,Variable +AuditConditionEnableEventType_MethodId,4120,Variable +AuditConditionEnableEventType_InputArguments,4121,Variable +AuditConditionCommentEventType_EventId,4170,Variable +AuditConditionCommentEventType_EventType,4171,Variable +AuditConditionCommentEventType_SourceNode,4172,Variable +AuditConditionCommentEventType_SourceName,4173,Variable +AuditConditionCommentEventType_Time,4174,Variable +AuditConditionCommentEventType_ReceiveTime,4175,Variable +AuditConditionCommentEventType_LocalTime,4176,Variable +AuditConditionCommentEventType_Message,4177,Variable +AuditConditionCommentEventType_Severity,4178,Variable +AuditConditionCommentEventType_ActionTimeStamp,4179,Variable +AuditConditionCommentEventType_Status,4180,Variable +AuditConditionCommentEventType_ServerId,4181,Variable +AuditConditionCommentEventType_ClientAuditEntryId,4182,Variable +AuditConditionCommentEventType_ClientUserId,4183,Variable +AuditConditionCommentEventType_MethodId,4184,Variable +AuditConditionCommentEventType_InputArguments,4185,Variable +DialogConditionType_EventId,4188,Variable +DialogConditionType_EventType,4189,Variable +DialogConditionType_SourceNode,4190,Variable +DialogConditionType_SourceName,4191,Variable +DialogConditionType_Time,4192,Variable +DialogConditionType_ReceiveTime,4193,Variable +DialogConditionType_LocalTime,4194,Variable +DialogConditionType_Message,4195,Variable +DialogConditionType_Severity,4196,Variable +DialogConditionType_Retain,4197,Variable +DialogConditionType_ConditionRefresh,4198,Method +DialogConditionType_ConditionRefresh_InputArguments,4199,Variable +AcknowledgeableConditionType_EventId,5113,Variable +AcknowledgeableConditionType_EventType,5114,Variable +AcknowledgeableConditionType_SourceNode,5115,Variable +AcknowledgeableConditionType_SourceName,5116,Variable +AcknowledgeableConditionType_Time,5117,Variable +AcknowledgeableConditionType_ReceiveTime,5118,Variable +AcknowledgeableConditionType_LocalTime,5119,Variable +AcknowledgeableConditionType_Message,5120,Variable +AcknowledgeableConditionType_Severity,5121,Variable +AcknowledgeableConditionType_Retain,5122,Variable +AcknowledgeableConditionType_ConditionRefresh,5123,Method +AcknowledgeableConditionType_ConditionRefresh_InputArguments,5124,Variable +AlarmConditionType_EventId,5540,Variable +AlarmConditionType_EventType,5541,Variable +AlarmConditionType_SourceNode,5542,Variable +AlarmConditionType_SourceName,5543,Variable +AlarmConditionType_Time,5544,Variable +AlarmConditionType_ReceiveTime,5545,Variable +AlarmConditionType_LocalTime,5546,Variable +AlarmConditionType_Message,5547,Variable +AlarmConditionType_Severity,5548,Variable +AlarmConditionType_Retain,5549,Variable +AlarmConditionType_ConditionRefresh,5550,Method +AlarmConditionType_ConditionRefresh_InputArguments,5551,Variable +ShelvedStateMachineType_CurrentState,6088,Variable +ShelvedStateMachineType_CurrentState_Id,6089,Variable +ShelvedStateMachineType_CurrentState_Name,6090,Variable +ShelvedStateMachineType_CurrentState_Number,6091,Variable +ShelvedStateMachineType_CurrentState_EffectiveDisplayName,6092,Variable +ShelvedStateMachineType_LastTransition,6093,Variable +ShelvedStateMachineType_LastTransition_Id,6094,Variable +ShelvedStateMachineType_LastTransition_Name,6095,Variable +ShelvedStateMachineType_LastTransition_Number,6096,Variable +ShelvedStateMachineType_LastTransition_TransitionTime,6097,Variable +ShelvedStateMachineType_Unshelved_StateNumber,6098,Variable +ShelvedStateMachineType_TimedShelved_StateNumber,6100,Variable +ShelvedStateMachineType_OneShotShelved_StateNumber,6101,Variable +TimedShelveMethodType,6102,Method +TimedShelveMethodType_InputArguments,6103,Variable +LimitAlarmType_EventId,6116,Variable +LimitAlarmType_EventType,6117,Variable +LimitAlarmType_SourceNode,6118,Variable +LimitAlarmType_SourceName,6119,Variable +LimitAlarmType_Time,6120,Variable +LimitAlarmType_ReceiveTime,6121,Variable +LimitAlarmType_LocalTime,6122,Variable +LimitAlarmType_Message,6123,Variable +LimitAlarmType_Severity,6124,Variable +LimitAlarmType_Retain,6125,Variable +LimitAlarmType_ConditionRefresh,6126,Method +LimitAlarmType_ConditionRefresh_InputArguments,6127,Variable +IdType_EnumStrings,7591,Variable +EnumValueType,7594,DataType +MessageSecurityMode_EnumStrings,7595,Variable +UserTokenType_EnumStrings,7596,Variable +ApplicationType_EnumStrings,7597,Variable +SecurityTokenRequestType_EnumStrings,7598,Variable +BrowseDirection_EnumStrings,7603,Variable +FilterOperator_EnumStrings,7605,Variable +TimestampsToReturn_EnumStrings,7606,Variable +MonitoringMode_EnumStrings,7608,Variable +DataChangeTrigger_EnumStrings,7609,Variable +DeadbandType_EnumStrings,7610,Variable +RedundancySupport_EnumStrings,7611,Variable +ServerState_EnumStrings,7612,Variable +ExceptionDeviationFormat_EnumStrings,7614,Variable +EnumValueType_Encoding_DefaultXml,7616,Object +OpcUa_BinarySchema,7617,Variable +OpcUa_BinarySchema_DataTypeVersion,7618,Variable +OpcUa_BinarySchema_NamespaceUri,7619,Variable +OpcUa_BinarySchema_Argument,7650,Variable +OpcUa_BinarySchema_Argument_DataTypeVersion,7651,Variable +OpcUa_BinarySchema_Argument_DictionaryFragment,7652,Variable +OpcUa_BinarySchema_EnumValueType,7656,Variable +OpcUa_BinarySchema_EnumValueType_DataTypeVersion,7657,Variable +OpcUa_BinarySchema_EnumValueType_DictionaryFragment,7658,Variable +OpcUa_BinarySchema_StatusResult,7659,Variable +OpcUa_BinarySchema_StatusResult_DataTypeVersion,7660,Variable +OpcUa_BinarySchema_StatusResult_DictionaryFragment,7661,Variable +OpcUa_BinarySchema_UserTokenPolicy,7662,Variable +OpcUa_BinarySchema_UserTokenPolicy_DataTypeVersion,7663,Variable +OpcUa_BinarySchema_UserTokenPolicy_DictionaryFragment,7664,Variable +OpcUa_BinarySchema_ApplicationDescription,7665,Variable +OpcUa_BinarySchema_ApplicationDescription_DataTypeVersion,7666,Variable +OpcUa_BinarySchema_ApplicationDescription_DictionaryFragment,7667,Variable +OpcUa_BinarySchema_EndpointDescription,7668,Variable +OpcUa_BinarySchema_EndpointDescription_DataTypeVersion,7669,Variable +OpcUa_BinarySchema_EndpointDescription_DictionaryFragment,7670,Variable +OpcUa_BinarySchema_UserIdentityToken,7671,Variable +OpcUa_BinarySchema_UserIdentityToken_DataTypeVersion,7672,Variable +OpcUa_BinarySchema_UserIdentityToken_DictionaryFragment,7673,Variable +OpcUa_BinarySchema_AnonymousIdentityToken,7674,Variable +OpcUa_BinarySchema_AnonymousIdentityToken_DataTypeVersion,7675,Variable +OpcUa_BinarySchema_AnonymousIdentityToken_DictionaryFragment,7676,Variable +OpcUa_BinarySchema_UserNameIdentityToken,7677,Variable +OpcUa_BinarySchema_UserNameIdentityToken_DataTypeVersion,7678,Variable +OpcUa_BinarySchema_UserNameIdentityToken_DictionaryFragment,7679,Variable +OpcUa_BinarySchema_X509IdentityToken,7680,Variable +OpcUa_BinarySchema_X509IdentityToken_DataTypeVersion,7681,Variable +OpcUa_BinarySchema_X509IdentityToken_DictionaryFragment,7682,Variable +OpcUa_BinarySchema_IssuedIdentityToken,7683,Variable +OpcUa_BinarySchema_IssuedIdentityToken_DataTypeVersion,7684,Variable +OpcUa_BinarySchema_IssuedIdentityToken_DictionaryFragment,7685,Variable +OpcUa_BinarySchema_EndpointConfiguration,7686,Variable +OpcUa_BinarySchema_EndpointConfiguration_DataTypeVersion,7687,Variable +OpcUa_BinarySchema_EndpointConfiguration_DictionaryFragment,7688,Variable +OpcUa_BinarySchema_BuildInfo,7692,Variable +OpcUa_BinarySchema_BuildInfo_DataTypeVersion,7693,Variable +OpcUa_BinarySchema_BuildInfo_DictionaryFragment,7694,Variable +OpcUa_BinarySchema_SignedSoftwareCertificate,7698,Variable +OpcUa_BinarySchema_SignedSoftwareCertificate_DataTypeVersion,7699,Variable +OpcUa_BinarySchema_SignedSoftwareCertificate_DictionaryFragment,7700,Variable +OpcUa_BinarySchema_AddNodesItem,7728,Variable +OpcUa_BinarySchema_AddNodesItem_DataTypeVersion,7729,Variable +OpcUa_BinarySchema_AddNodesItem_DictionaryFragment,7730,Variable +OpcUa_BinarySchema_AddReferencesItem,7731,Variable +OpcUa_BinarySchema_AddReferencesItem_DataTypeVersion,7732,Variable +OpcUa_BinarySchema_AddReferencesItem_DictionaryFragment,7733,Variable +OpcUa_BinarySchema_DeleteNodesItem,7734,Variable +OpcUa_BinarySchema_DeleteNodesItem_DataTypeVersion,7735,Variable +OpcUa_BinarySchema_DeleteNodesItem_DictionaryFragment,7736,Variable +OpcUa_BinarySchema_DeleteReferencesItem,7737,Variable +OpcUa_BinarySchema_DeleteReferencesItem_DataTypeVersion,7738,Variable +OpcUa_BinarySchema_DeleteReferencesItem_DictionaryFragment,7739,Variable +OpcUa_BinarySchema_RegisteredServer,7782,Variable +OpcUa_BinarySchema_RegisteredServer_DataTypeVersion,7783,Variable +OpcUa_BinarySchema_RegisteredServer_DictionaryFragment,7784,Variable +OpcUa_BinarySchema_ContentFilterElement,7929,Variable +OpcUa_BinarySchema_ContentFilterElement_DataTypeVersion,7930,Variable +OpcUa_BinarySchema_ContentFilterElement_DictionaryFragment,7931,Variable +OpcUa_BinarySchema_ContentFilter,7932,Variable +OpcUa_BinarySchema_ContentFilter_DataTypeVersion,7933,Variable +OpcUa_BinarySchema_ContentFilter_DictionaryFragment,7934,Variable +OpcUa_BinarySchema_FilterOperand,7935,Variable +OpcUa_BinarySchema_FilterOperand_DataTypeVersion,7936,Variable +OpcUa_BinarySchema_FilterOperand_DictionaryFragment,7937,Variable +OpcUa_BinarySchema_ElementOperand,7938,Variable +OpcUa_BinarySchema_ElementOperand_DataTypeVersion,7939,Variable +OpcUa_BinarySchema_ElementOperand_DictionaryFragment,7940,Variable +OpcUa_BinarySchema_LiteralOperand,7941,Variable +OpcUa_BinarySchema_LiteralOperand_DataTypeVersion,7942,Variable +OpcUa_BinarySchema_LiteralOperand_DictionaryFragment,7943,Variable +OpcUa_BinarySchema_AttributeOperand,7944,Variable +OpcUa_BinarySchema_AttributeOperand_DataTypeVersion,7945,Variable +OpcUa_BinarySchema_AttributeOperand_DictionaryFragment,7946,Variable +OpcUa_BinarySchema_SimpleAttributeOperand,7947,Variable +OpcUa_BinarySchema_SimpleAttributeOperand_DataTypeVersion,7948,Variable +OpcUa_BinarySchema_SimpleAttributeOperand_DictionaryFragment,7949,Variable +OpcUa_BinarySchema_HistoryEvent,8004,Variable +OpcUa_BinarySchema_HistoryEvent_DataTypeVersion,8005,Variable +OpcUa_BinarySchema_HistoryEvent_DictionaryFragment,8006,Variable +OpcUa_BinarySchema_MonitoringFilter,8067,Variable +OpcUa_BinarySchema_MonitoringFilter_DataTypeVersion,8068,Variable +OpcUa_BinarySchema_MonitoringFilter_DictionaryFragment,8069,Variable +OpcUa_BinarySchema_EventFilter,8073,Variable +OpcUa_BinarySchema_EventFilter_DataTypeVersion,8074,Variable +OpcUa_BinarySchema_EventFilter_DictionaryFragment,8075,Variable +OpcUa_BinarySchema_AggregateConfiguration,8076,Variable +OpcUa_BinarySchema_AggregateConfiguration_DataTypeVersion,8077,Variable +OpcUa_BinarySchema_AggregateConfiguration_DictionaryFragment,8078,Variable +OpcUa_BinarySchema_HistoryEventFieldList,8172,Variable +OpcUa_BinarySchema_HistoryEventFieldList_DataTypeVersion,8173,Variable +OpcUa_BinarySchema_HistoryEventFieldList_DictionaryFragment,8174,Variable +OpcUa_BinarySchema_RedundantServerDataType,8208,Variable +OpcUa_BinarySchema_RedundantServerDataType_DataTypeVersion,8209,Variable +OpcUa_BinarySchema_RedundantServerDataType_DictionaryFragment,8210,Variable +OpcUa_BinarySchema_SamplingIntervalDiagnosticsDataType,8211,Variable +OpcUa_BinarySchema_SamplingIntervalDiagnosticsDataType_DataTypeVersion,8212,Variable +OpcUa_BinarySchema_SamplingIntervalDiagnosticsDataType_DictionaryFragment,8213,Variable +OpcUa_BinarySchema_ServerDiagnosticsSummaryDataType,8214,Variable +OpcUa_BinarySchema_ServerDiagnosticsSummaryDataType_DataTypeVersion,8215,Variable +OpcUa_BinarySchema_ServerDiagnosticsSummaryDataType_DictionaryFragment,8216,Variable +OpcUa_BinarySchema_ServerStatusDataType,8217,Variable +OpcUa_BinarySchema_ServerStatusDataType_DataTypeVersion,8218,Variable +OpcUa_BinarySchema_ServerStatusDataType_DictionaryFragment,8219,Variable +OpcUa_BinarySchema_SessionDiagnosticsDataType,8220,Variable +OpcUa_BinarySchema_SessionDiagnosticsDataType_DataTypeVersion,8221,Variable +OpcUa_BinarySchema_SessionDiagnosticsDataType_DictionaryFragment,8222,Variable +OpcUa_BinarySchema_SessionSecurityDiagnosticsDataType,8223,Variable +OpcUa_BinarySchema_SessionSecurityDiagnosticsDataType_DataTypeVersion,8224,Variable +OpcUa_BinarySchema_SessionSecurityDiagnosticsDataType_DictionaryFragment,8225,Variable +OpcUa_BinarySchema_ServiceCounterDataType,8226,Variable +OpcUa_BinarySchema_ServiceCounterDataType_DataTypeVersion,8227,Variable +OpcUa_BinarySchema_ServiceCounterDataType_DictionaryFragment,8228,Variable +OpcUa_BinarySchema_SubscriptionDiagnosticsDataType,8229,Variable +OpcUa_BinarySchema_SubscriptionDiagnosticsDataType_DataTypeVersion,8230,Variable +OpcUa_BinarySchema_SubscriptionDiagnosticsDataType_DictionaryFragment,8231,Variable +OpcUa_BinarySchema_ModelChangeStructureDataType,8232,Variable +OpcUa_BinarySchema_ModelChangeStructureDataType_DataTypeVersion,8233,Variable +OpcUa_BinarySchema_ModelChangeStructureDataType_DictionaryFragment,8234,Variable +OpcUa_BinarySchema_SemanticChangeStructureDataType,8235,Variable +OpcUa_BinarySchema_SemanticChangeStructureDataType_DataTypeVersion,8236,Variable +OpcUa_BinarySchema_SemanticChangeStructureDataType_DictionaryFragment,8237,Variable +OpcUa_BinarySchema_Range,8238,Variable +OpcUa_BinarySchema_Range_DataTypeVersion,8239,Variable +OpcUa_BinarySchema_Range_DictionaryFragment,8240,Variable +OpcUa_BinarySchema_EUInformation,8241,Variable +OpcUa_BinarySchema_EUInformation_DataTypeVersion,8242,Variable +OpcUa_BinarySchema_EUInformation_DictionaryFragment,8243,Variable +OpcUa_BinarySchema_Annotation,8244,Variable +OpcUa_BinarySchema_Annotation_DataTypeVersion,8245,Variable +OpcUa_BinarySchema_Annotation_DictionaryFragment,8246,Variable +OpcUa_BinarySchema_ProgramDiagnosticDataType,8247,Variable +OpcUa_BinarySchema_ProgramDiagnosticDataType_DataTypeVersion,8248,Variable +OpcUa_BinarySchema_ProgramDiagnosticDataType_DictionaryFragment,8249,Variable +EnumValueType_Encoding_DefaultBinary,8251,Object +OpcUa_XmlSchema,8252,Variable +OpcUa_XmlSchema_DataTypeVersion,8253,Variable +OpcUa_XmlSchema_NamespaceUri,8254,Variable +OpcUa_XmlSchema_Argument,8285,Variable +OpcUa_XmlSchema_Argument_DataTypeVersion,8286,Variable +OpcUa_XmlSchema_Argument_DictionaryFragment,8287,Variable +OpcUa_XmlSchema_EnumValueType,8291,Variable +OpcUa_XmlSchema_EnumValueType_DataTypeVersion,8292,Variable +OpcUa_XmlSchema_EnumValueType_DictionaryFragment,8293,Variable +OpcUa_XmlSchema_StatusResult,8294,Variable +OpcUa_XmlSchema_StatusResult_DataTypeVersion,8295,Variable +OpcUa_XmlSchema_StatusResult_DictionaryFragment,8296,Variable +OpcUa_XmlSchema_UserTokenPolicy,8297,Variable +OpcUa_XmlSchema_UserTokenPolicy_DataTypeVersion,8298,Variable +OpcUa_XmlSchema_UserTokenPolicy_DictionaryFragment,8299,Variable +OpcUa_XmlSchema_ApplicationDescription,8300,Variable +OpcUa_XmlSchema_ApplicationDescription_DataTypeVersion,8301,Variable +OpcUa_XmlSchema_ApplicationDescription_DictionaryFragment,8302,Variable +OpcUa_XmlSchema_EndpointDescription,8303,Variable +OpcUa_XmlSchema_EndpointDescription_DataTypeVersion,8304,Variable +OpcUa_XmlSchema_EndpointDescription_DictionaryFragment,8305,Variable +OpcUa_XmlSchema_UserIdentityToken,8306,Variable +OpcUa_XmlSchema_UserIdentityToken_DataTypeVersion,8307,Variable +OpcUa_XmlSchema_UserIdentityToken_DictionaryFragment,8308,Variable +OpcUa_XmlSchema_AnonymousIdentityToken,8309,Variable +OpcUa_XmlSchema_AnonymousIdentityToken_DataTypeVersion,8310,Variable +OpcUa_XmlSchema_AnonymousIdentityToken_DictionaryFragment,8311,Variable +OpcUa_XmlSchema_UserNameIdentityToken,8312,Variable +OpcUa_XmlSchema_UserNameIdentityToken_DataTypeVersion,8313,Variable +OpcUa_XmlSchema_UserNameIdentityToken_DictionaryFragment,8314,Variable +OpcUa_XmlSchema_X509IdentityToken,8315,Variable +OpcUa_XmlSchema_X509IdentityToken_DataTypeVersion,8316,Variable +OpcUa_XmlSchema_X509IdentityToken_DictionaryFragment,8317,Variable +OpcUa_XmlSchema_IssuedIdentityToken,8318,Variable +OpcUa_XmlSchema_IssuedIdentityToken_DataTypeVersion,8319,Variable +OpcUa_XmlSchema_IssuedIdentityToken_DictionaryFragment,8320,Variable +OpcUa_XmlSchema_EndpointConfiguration,8321,Variable +OpcUa_XmlSchema_EndpointConfiguration_DataTypeVersion,8322,Variable +OpcUa_XmlSchema_EndpointConfiguration_DictionaryFragment,8323,Variable +OpcUa_XmlSchema_BuildInfo,8327,Variable +OpcUa_XmlSchema_BuildInfo_DataTypeVersion,8328,Variable +OpcUa_XmlSchema_BuildInfo_DictionaryFragment,8329,Variable +OpcUa_XmlSchema_SignedSoftwareCertificate,8333,Variable +OpcUa_XmlSchema_SignedSoftwareCertificate_DataTypeVersion,8334,Variable +OpcUa_XmlSchema_SignedSoftwareCertificate_DictionaryFragment,8335,Variable +OpcUa_XmlSchema_AddNodesItem,8363,Variable +OpcUa_XmlSchema_AddNodesItem_DataTypeVersion,8364,Variable +OpcUa_XmlSchema_AddNodesItem_DictionaryFragment,8365,Variable +OpcUa_XmlSchema_AddReferencesItem,8366,Variable +OpcUa_XmlSchema_AddReferencesItem_DataTypeVersion,8367,Variable +OpcUa_XmlSchema_AddReferencesItem_DictionaryFragment,8368,Variable +OpcUa_XmlSchema_DeleteNodesItem,8369,Variable +OpcUa_XmlSchema_DeleteNodesItem_DataTypeVersion,8370,Variable +OpcUa_XmlSchema_DeleteNodesItem_DictionaryFragment,8371,Variable +OpcUa_XmlSchema_DeleteReferencesItem,8372,Variable +OpcUa_XmlSchema_DeleteReferencesItem_DataTypeVersion,8373,Variable +OpcUa_XmlSchema_DeleteReferencesItem_DictionaryFragment,8374,Variable +OpcUa_XmlSchema_RegisteredServer,8417,Variable +OpcUa_XmlSchema_RegisteredServer_DataTypeVersion,8418,Variable +OpcUa_XmlSchema_RegisteredServer_DictionaryFragment,8419,Variable +OpcUa_XmlSchema_ContentFilterElement,8564,Variable +OpcUa_XmlSchema_ContentFilterElement_DataTypeVersion,8565,Variable +OpcUa_XmlSchema_ContentFilterElement_DictionaryFragment,8566,Variable +OpcUa_XmlSchema_ContentFilter,8567,Variable +OpcUa_XmlSchema_ContentFilter_DataTypeVersion,8568,Variable +OpcUa_XmlSchema_ContentFilter_DictionaryFragment,8569,Variable +OpcUa_XmlSchema_FilterOperand,8570,Variable +OpcUa_XmlSchema_FilterOperand_DataTypeVersion,8571,Variable +OpcUa_XmlSchema_FilterOperand_DictionaryFragment,8572,Variable +OpcUa_XmlSchema_ElementOperand,8573,Variable +OpcUa_XmlSchema_ElementOperand_DataTypeVersion,8574,Variable +OpcUa_XmlSchema_ElementOperand_DictionaryFragment,8575,Variable +OpcUa_XmlSchema_LiteralOperand,8576,Variable +OpcUa_XmlSchema_LiteralOperand_DataTypeVersion,8577,Variable +OpcUa_XmlSchema_LiteralOperand_DictionaryFragment,8578,Variable +OpcUa_XmlSchema_AttributeOperand,8579,Variable +OpcUa_XmlSchema_AttributeOperand_DataTypeVersion,8580,Variable +OpcUa_XmlSchema_AttributeOperand_DictionaryFragment,8581,Variable +OpcUa_XmlSchema_SimpleAttributeOperand,8582,Variable +OpcUa_XmlSchema_SimpleAttributeOperand_DataTypeVersion,8583,Variable +OpcUa_XmlSchema_SimpleAttributeOperand_DictionaryFragment,8584,Variable +OpcUa_XmlSchema_HistoryEvent,8639,Variable +OpcUa_XmlSchema_HistoryEvent_DataTypeVersion,8640,Variable +OpcUa_XmlSchema_HistoryEvent_DictionaryFragment,8641,Variable +OpcUa_XmlSchema_MonitoringFilter,8702,Variable +OpcUa_XmlSchema_MonitoringFilter_DataTypeVersion,8703,Variable +OpcUa_XmlSchema_MonitoringFilter_DictionaryFragment,8704,Variable +OpcUa_XmlSchema_EventFilter,8708,Variable +OpcUa_XmlSchema_EventFilter_DataTypeVersion,8709,Variable +OpcUa_XmlSchema_EventFilter_DictionaryFragment,8710,Variable +OpcUa_XmlSchema_AggregateConfiguration,8711,Variable +OpcUa_XmlSchema_AggregateConfiguration_DataTypeVersion,8712,Variable +OpcUa_XmlSchema_AggregateConfiguration_DictionaryFragment,8713,Variable +OpcUa_XmlSchema_HistoryEventFieldList,8807,Variable +OpcUa_XmlSchema_HistoryEventFieldList_DataTypeVersion,8808,Variable +OpcUa_XmlSchema_HistoryEventFieldList_DictionaryFragment,8809,Variable +OpcUa_XmlSchema_RedundantServerDataType,8843,Variable +OpcUa_XmlSchema_RedundantServerDataType_DataTypeVersion,8844,Variable +OpcUa_XmlSchema_RedundantServerDataType_DictionaryFragment,8845,Variable +OpcUa_XmlSchema_SamplingIntervalDiagnosticsDataType,8846,Variable +OpcUa_XmlSchema_SamplingIntervalDiagnosticsDataType_DataTypeVersion,8847,Variable +OpcUa_XmlSchema_SamplingIntervalDiagnosticsDataType_DictionaryFragment,8848,Variable +OpcUa_XmlSchema_ServerDiagnosticsSummaryDataType,8849,Variable +OpcUa_XmlSchema_ServerDiagnosticsSummaryDataType_DataTypeVersion,8850,Variable +OpcUa_XmlSchema_ServerDiagnosticsSummaryDataType_DictionaryFragment,8851,Variable +OpcUa_XmlSchema_ServerStatusDataType,8852,Variable +OpcUa_XmlSchema_ServerStatusDataType_DataTypeVersion,8853,Variable +OpcUa_XmlSchema_ServerStatusDataType_DictionaryFragment,8854,Variable +OpcUa_XmlSchema_SessionDiagnosticsDataType,8855,Variable +OpcUa_XmlSchema_SessionDiagnosticsDataType_DataTypeVersion,8856,Variable +OpcUa_XmlSchema_SessionDiagnosticsDataType_DictionaryFragment,8857,Variable +OpcUa_XmlSchema_SessionSecurityDiagnosticsDataType,8858,Variable +OpcUa_XmlSchema_SessionSecurityDiagnosticsDataType_DataTypeVersion,8859,Variable +OpcUa_XmlSchema_SessionSecurityDiagnosticsDataType_DictionaryFragment,8860,Variable +OpcUa_XmlSchema_ServiceCounterDataType,8861,Variable +OpcUa_XmlSchema_ServiceCounterDataType_DataTypeVersion,8862,Variable +OpcUa_XmlSchema_ServiceCounterDataType_DictionaryFragment,8863,Variable +OpcUa_XmlSchema_SubscriptionDiagnosticsDataType,8864,Variable +OpcUa_XmlSchema_SubscriptionDiagnosticsDataType_DataTypeVersion,8865,Variable +OpcUa_XmlSchema_SubscriptionDiagnosticsDataType_DictionaryFragment,8866,Variable +OpcUa_XmlSchema_ModelChangeStructureDataType,8867,Variable +OpcUa_XmlSchema_ModelChangeStructureDataType_DataTypeVersion,8868,Variable +OpcUa_XmlSchema_ModelChangeStructureDataType_DictionaryFragment,8869,Variable +OpcUa_XmlSchema_SemanticChangeStructureDataType,8870,Variable +OpcUa_XmlSchema_SemanticChangeStructureDataType_DataTypeVersion,8871,Variable +OpcUa_XmlSchema_SemanticChangeStructureDataType_DictionaryFragment,8872,Variable +OpcUa_XmlSchema_Range,8873,Variable +OpcUa_XmlSchema_Range_DataTypeVersion,8874,Variable +OpcUa_XmlSchema_Range_DictionaryFragment,8875,Variable +OpcUa_XmlSchema_EUInformation,8876,Variable +OpcUa_XmlSchema_EUInformation_DataTypeVersion,8877,Variable +OpcUa_XmlSchema_EUInformation_DictionaryFragment,8878,Variable +OpcUa_XmlSchema_Annotation,8879,Variable +OpcUa_XmlSchema_Annotation_DataTypeVersion,8880,Variable +OpcUa_XmlSchema_Annotation_DictionaryFragment,8881,Variable +OpcUa_XmlSchema_ProgramDiagnosticDataType,8882,Variable +OpcUa_XmlSchema_ProgramDiagnosticDataType_DataTypeVersion,8883,Variable +OpcUa_XmlSchema_ProgramDiagnosticDataType_DictionaryFragment,8884,Variable +SubscriptionDiagnosticsType_MaxLifetimeCount,8888,Variable +SubscriptionDiagnosticsType_LatePublishRequestCount,8889,Variable +SubscriptionDiagnosticsType_CurrentKeepAliveCount,8890,Variable +SubscriptionDiagnosticsType_CurrentLifetimeCount,8891,Variable +SubscriptionDiagnosticsType_UnacknowledgedMessageCount,8892,Variable +SubscriptionDiagnosticsType_DiscardedMessageCount,8893,Variable +SubscriptionDiagnosticsType_MonitoredItemCount,8894,Variable +SubscriptionDiagnosticsType_DisabledMonitoredItemCount,8895,Variable +SubscriptionDiagnosticsType_MonitoringQueueOverflowCount,8896,Variable +SubscriptionDiagnosticsType_NextSequenceNumber,8897,Variable +SessionDiagnosticsObjectType_SessionDiagnostics_TotalRequestCount,8898,Variable +SessionDiagnosticsVariableType_TotalRequestCount,8900,Variable +SubscriptionDiagnosticsType_EventQueueOverFlowCount,8902,Variable +TimeZoneDataType,8912,DataType +TimeZoneDataType_Encoding_DefaultXml,8913,Object +OpcUa_BinarySchema_TimeZoneDataType,8914,Variable +OpcUa_BinarySchema_TimeZoneDataType_DataTypeVersion,8915,Variable +OpcUa_BinarySchema_TimeZoneDataType_DictionaryFragment,8916,Variable +TimeZoneDataType_Encoding_DefaultBinary,8917,Object +OpcUa_XmlSchema_TimeZoneDataType,8918,Variable +OpcUa_XmlSchema_TimeZoneDataType_DataTypeVersion,8919,Variable +OpcUa_XmlSchema_TimeZoneDataType_DictionaryFragment,8920,Variable +AuditConditionRespondEventType,8927,ObjectType +AuditConditionRespondEventType_EventId,8928,Variable +AuditConditionRespondEventType_EventType,8929,Variable +AuditConditionRespondEventType_SourceNode,8930,Variable +AuditConditionRespondEventType_SourceName,8931,Variable +AuditConditionRespondEventType_Time,8932,Variable +AuditConditionRespondEventType_ReceiveTime,8933,Variable +AuditConditionRespondEventType_LocalTime,8934,Variable +AuditConditionRespondEventType_Message,8935,Variable +AuditConditionRespondEventType_Severity,8936,Variable +AuditConditionRespondEventType_ActionTimeStamp,8937,Variable +AuditConditionRespondEventType_Status,8938,Variable +AuditConditionRespondEventType_ServerId,8939,Variable +AuditConditionRespondEventType_ClientAuditEntryId,8940,Variable +AuditConditionRespondEventType_ClientUserId,8941,Variable +AuditConditionRespondEventType_MethodId,8942,Variable +AuditConditionRespondEventType_InputArguments,8943,Variable +AuditConditionAcknowledgeEventType,8944,ObjectType +AuditConditionAcknowledgeEventType_EventId,8945,Variable +AuditConditionAcknowledgeEventType_EventType,8946,Variable +AuditConditionAcknowledgeEventType_SourceNode,8947,Variable +AuditConditionAcknowledgeEventType_SourceName,8948,Variable +AuditConditionAcknowledgeEventType_Time,8949,Variable +AuditConditionAcknowledgeEventType_ReceiveTime,8950,Variable +AuditConditionAcknowledgeEventType_LocalTime,8951,Variable +AuditConditionAcknowledgeEventType_Message,8952,Variable +AuditConditionAcknowledgeEventType_Severity,8953,Variable +AuditConditionAcknowledgeEventType_ActionTimeStamp,8954,Variable +AuditConditionAcknowledgeEventType_Status,8955,Variable +AuditConditionAcknowledgeEventType_ServerId,8956,Variable +AuditConditionAcknowledgeEventType_ClientAuditEntryId,8957,Variable +AuditConditionAcknowledgeEventType_ClientUserId,8958,Variable +AuditConditionAcknowledgeEventType_MethodId,8959,Variable +AuditConditionAcknowledgeEventType_InputArguments,8960,Variable +AuditConditionConfirmEventType,8961,ObjectType +AuditConditionConfirmEventType_EventId,8962,Variable +AuditConditionConfirmEventType_EventType,8963,Variable +AuditConditionConfirmEventType_SourceNode,8964,Variable +AuditConditionConfirmEventType_SourceName,8965,Variable +AuditConditionConfirmEventType_Time,8966,Variable +AuditConditionConfirmEventType_ReceiveTime,8967,Variable +AuditConditionConfirmEventType_LocalTime,8968,Variable +AuditConditionConfirmEventType_Message,8969,Variable +AuditConditionConfirmEventType_Severity,8970,Variable +AuditConditionConfirmEventType_ActionTimeStamp,8971,Variable +AuditConditionConfirmEventType_Status,8972,Variable +AuditConditionConfirmEventType_ServerId,8973,Variable +AuditConditionConfirmEventType_ClientAuditEntryId,8974,Variable +AuditConditionConfirmEventType_ClientUserId,8975,Variable +AuditConditionConfirmEventType_MethodId,8976,Variable +AuditConditionConfirmEventType_InputArguments,8977,Variable +TwoStateVariableType,8995,VariableType +TwoStateVariableType_Id,8996,Variable +TwoStateVariableType_Name,8997,Variable +TwoStateVariableType_Number,8998,Variable +TwoStateVariableType_EffectiveDisplayName,8999,Variable +TwoStateVariableType_TransitionTime,9000,Variable +TwoStateVariableType_EffectiveTransitionTime,9001,Variable +ConditionVariableType,9002,VariableType +ConditionVariableType_SourceTimestamp,9003,Variable +HasTrueSubState,9004,ReferenceType +HasFalseSubState,9005,ReferenceType +HasCondition,9006,ReferenceType +ConditionRefreshMethodType,9007,Method +ConditionRefreshMethodType_InputArguments,9008,Variable +ConditionType_ConditionName,9009,Variable +ConditionType_BranchId,9010,Variable +ConditionType_EnabledState,9011,Variable +ConditionType_EnabledState_Id,9012,Variable +ConditionType_EnabledState_Name,9013,Variable +ConditionType_EnabledState_Number,9014,Variable +ConditionType_EnabledState_EffectiveDisplayName,9015,Variable +ConditionType_EnabledState_TransitionTime,9016,Variable +ConditionType_EnabledState_EffectiveTransitionTime,9017,Variable +ConditionType_EnabledState_TrueState,9018,Variable +ConditionType_EnabledState_FalseState,9019,Variable +ConditionType_Quality,9020,Variable +ConditionType_Quality_SourceTimestamp,9021,Variable +ConditionType_LastSeverity,9022,Variable +ConditionType_LastSeverity_SourceTimestamp,9023,Variable +ConditionType_Comment,9024,Variable +ConditionType_Comment_SourceTimestamp,9025,Variable +ConditionType_ClientUserId,9026,Variable +ConditionType_Enable,9027,Method +ConditionType_Disable,9028,Method +ConditionType_AddComment,9029,Method +ConditionType_AddComment_InputArguments,9030,Variable +DialogResponseMethodType,9031,Method +DialogResponseMethodType_InputArguments,9032,Variable +DialogConditionType_ConditionName,9033,Variable +DialogConditionType_BranchId,9034,Variable +DialogConditionType_EnabledState,9035,Variable +DialogConditionType_EnabledState_Id,9036,Variable +DialogConditionType_EnabledState_Name,9037,Variable +DialogConditionType_EnabledState_Number,9038,Variable +DialogConditionType_EnabledState_EffectiveDisplayName,9039,Variable +DialogConditionType_EnabledState_TransitionTime,9040,Variable +DialogConditionType_EnabledState_EffectiveTransitionTime,9041,Variable +DialogConditionType_EnabledState_TrueState,9042,Variable +DialogConditionType_EnabledState_FalseState,9043,Variable +DialogConditionType_Quality,9044,Variable +DialogConditionType_Quality_SourceTimestamp,9045,Variable +DialogConditionType_LastSeverity,9046,Variable +DialogConditionType_LastSeverity_SourceTimestamp,9047,Variable +DialogConditionType_Comment,9048,Variable +DialogConditionType_Comment_SourceTimestamp,9049,Variable +DialogConditionType_ClientUserId,9050,Variable +DialogConditionType_Enable,9051,Method +DialogConditionType_Disable,9052,Method +DialogConditionType_AddComment,9053,Method +DialogConditionType_AddComment_InputArguments,9054,Variable +DialogConditionType_DialogState,9055,Variable +DialogConditionType_DialogState_Id,9056,Variable +DialogConditionType_DialogState_Name,9057,Variable +DialogConditionType_DialogState_Number,9058,Variable +DialogConditionType_DialogState_EffectiveDisplayName,9059,Variable +DialogConditionType_DialogState_TransitionTime,9060,Variable +DialogConditionType_DialogState_EffectiveTransitionTime,9061,Variable +DialogConditionType_DialogState_TrueState,9062,Variable +DialogConditionType_DialogState_FalseState,9063,Variable +DialogConditionType_ResponseOptionSet,9064,Variable +DialogConditionType_DefaultResponse,9065,Variable +DialogConditionType_OkResponse,9066,Variable +DialogConditionType_CancelResponse,9067,Variable +DialogConditionType_LastResponse,9068,Variable +DialogConditionType_Respond,9069,Method +DialogConditionType_Respond_InputArguments,9070,Variable +AcknowledgeableConditionType_ConditionName,9071,Variable +AcknowledgeableConditionType_BranchId,9072,Variable +AcknowledgeableConditionType_EnabledState,9073,Variable +AcknowledgeableConditionType_EnabledState_Id,9074,Variable +AcknowledgeableConditionType_EnabledState_Name,9075,Variable +AcknowledgeableConditionType_EnabledState_Number,9076,Variable +AcknowledgeableConditionType_EnabledState_EffectiveDisplayName,9077,Variable +AcknowledgeableConditionType_EnabledState_TransitionTime,9078,Variable +AcknowledgeableConditionType_EnabledState_EffectiveTransitionTime,9079,Variable +AcknowledgeableConditionType_EnabledState_TrueState,9080,Variable +AcknowledgeableConditionType_EnabledState_FalseState,9081,Variable +AcknowledgeableConditionType_Quality,9082,Variable +AcknowledgeableConditionType_Quality_SourceTimestamp,9083,Variable +AcknowledgeableConditionType_LastSeverity,9084,Variable +AcknowledgeableConditionType_LastSeverity_SourceTimestamp,9085,Variable +AcknowledgeableConditionType_Comment,9086,Variable +AcknowledgeableConditionType_Comment_SourceTimestamp,9087,Variable +AcknowledgeableConditionType_ClientUserId,9088,Variable +AcknowledgeableConditionType_Enable,9089,Method +AcknowledgeableConditionType_Disable,9090,Method +AcknowledgeableConditionType_AddComment,9091,Method +AcknowledgeableConditionType_AddComment_InputArguments,9092,Variable +AcknowledgeableConditionType_AckedState,9093,Variable +AcknowledgeableConditionType_AckedState_Id,9094,Variable +AcknowledgeableConditionType_AckedState_Name,9095,Variable +AcknowledgeableConditionType_AckedState_Number,9096,Variable +AcknowledgeableConditionType_AckedState_EffectiveDisplayName,9097,Variable +AcknowledgeableConditionType_AckedState_TransitionTime,9098,Variable +AcknowledgeableConditionType_AckedState_EffectiveTransitionTime,9099,Variable +AcknowledgeableConditionType_AckedState_TrueState,9100,Variable +AcknowledgeableConditionType_AckedState_FalseState,9101,Variable +AcknowledgeableConditionType_ConfirmedState,9102,Variable +AcknowledgeableConditionType_ConfirmedState_Id,9103,Variable +AcknowledgeableConditionType_ConfirmedState_Name,9104,Variable +AcknowledgeableConditionType_ConfirmedState_Number,9105,Variable +AcknowledgeableConditionType_ConfirmedState_EffectiveDisplayName,9106,Variable +AcknowledgeableConditionType_ConfirmedState_TransitionTime,9107,Variable +AcknowledgeableConditionType_ConfirmedState_EffectiveTransitionTime,9108,Variable +AcknowledgeableConditionType_ConfirmedState_TrueState,9109,Variable +AcknowledgeableConditionType_ConfirmedState_FalseState,9110,Variable +AcknowledgeableConditionType_Acknowledge,9111,Method +AcknowledgeableConditionType_Acknowledge_InputArguments,9112,Variable +AcknowledgeableConditionType_Confirm,9113,Method +AcknowledgeableConditionType_Confirm_InputArguments,9114,Variable +ShelvedStateMachineType_UnshelveTime,9115,Variable +AlarmConditionType_ConditionName,9116,Variable +AlarmConditionType_BranchId,9117,Variable +AlarmConditionType_EnabledState,9118,Variable +AlarmConditionType_EnabledState_Id,9119,Variable +AlarmConditionType_EnabledState_Name,9120,Variable +AlarmConditionType_EnabledState_Number,9121,Variable +AlarmConditionType_EnabledState_EffectiveDisplayName,9122,Variable +AlarmConditionType_EnabledState_TransitionTime,9123,Variable +AlarmConditionType_EnabledState_EffectiveTransitionTime,9124,Variable +AlarmConditionType_EnabledState_TrueState,9125,Variable +AlarmConditionType_EnabledState_FalseState,9126,Variable +AlarmConditionType_Quality,9127,Variable +AlarmConditionType_Quality_SourceTimestamp,9128,Variable +AlarmConditionType_LastSeverity,9129,Variable +AlarmConditionType_LastSeverity_SourceTimestamp,9130,Variable +AlarmConditionType_Comment,9131,Variable +AlarmConditionType_Comment_SourceTimestamp,9132,Variable +AlarmConditionType_ClientUserId,9133,Variable +AlarmConditionType_Enable,9134,Method +AlarmConditionType_Disable,9135,Method +AlarmConditionType_AddComment,9136,Method +AlarmConditionType_AddComment_InputArguments,9137,Variable +AlarmConditionType_AckedState,9138,Variable +AlarmConditionType_AckedState_Id,9139,Variable +AlarmConditionType_AckedState_Name,9140,Variable +AlarmConditionType_AckedState_Number,9141,Variable +AlarmConditionType_AckedState_EffectiveDisplayName,9142,Variable +AlarmConditionType_AckedState_TransitionTime,9143,Variable +AlarmConditionType_AckedState_EffectiveTransitionTime,9144,Variable +AlarmConditionType_AckedState_TrueState,9145,Variable +AlarmConditionType_AckedState_FalseState,9146,Variable +AlarmConditionType_ConfirmedState,9147,Variable +AlarmConditionType_ConfirmedState_Id,9148,Variable +AlarmConditionType_ConfirmedState_Name,9149,Variable +AlarmConditionType_ConfirmedState_Number,9150,Variable +AlarmConditionType_ConfirmedState_EffectiveDisplayName,9151,Variable +AlarmConditionType_ConfirmedState_TransitionTime,9152,Variable +AlarmConditionType_ConfirmedState_EffectiveTransitionTime,9153,Variable +AlarmConditionType_ConfirmedState_TrueState,9154,Variable +AlarmConditionType_ConfirmedState_FalseState,9155,Variable +AlarmConditionType_Acknowledge,9156,Method +AlarmConditionType_Acknowledge_InputArguments,9157,Variable +AlarmConditionType_Confirm,9158,Method +AlarmConditionType_Confirm_InputArguments,9159,Variable +AlarmConditionType_ActiveState,9160,Variable +AlarmConditionType_ActiveState_Id,9161,Variable +AlarmConditionType_ActiveState_Name,9162,Variable +AlarmConditionType_ActiveState_Number,9163,Variable +AlarmConditionType_ActiveState_EffectiveDisplayName,9164,Variable +AlarmConditionType_ActiveState_TransitionTime,9165,Variable +AlarmConditionType_ActiveState_EffectiveTransitionTime,9166,Variable +AlarmConditionType_ActiveState_TrueState,9167,Variable +AlarmConditionType_ActiveState_FalseState,9168,Variable +AlarmConditionType_SuppressedState,9169,Variable +AlarmConditionType_SuppressedState_Id,9170,Variable +AlarmConditionType_SuppressedState_Name,9171,Variable +AlarmConditionType_SuppressedState_Number,9172,Variable +AlarmConditionType_SuppressedState_EffectiveDisplayName,9173,Variable +AlarmConditionType_SuppressedState_TransitionTime,9174,Variable +AlarmConditionType_SuppressedState_EffectiveTransitionTime,9175,Variable +AlarmConditionType_SuppressedState_TrueState,9176,Variable +AlarmConditionType_SuppressedState_FalseState,9177,Variable +AlarmConditionType_ShelvingState,9178,Object +AlarmConditionType_ShelvingState_CurrentState,9179,Variable +AlarmConditionType_ShelvingState_CurrentState_Id,9180,Variable +AlarmConditionType_ShelvingState_CurrentState_Name,9181,Variable +AlarmConditionType_ShelvingState_CurrentState_Number,9182,Variable +AlarmConditionType_ShelvingState_CurrentState_EffectiveDisplayName,9183,Variable +AlarmConditionType_ShelvingState_LastTransition,9184,Variable +AlarmConditionType_ShelvingState_LastTransition_Id,9185,Variable +AlarmConditionType_ShelvingState_LastTransition_Name,9186,Variable +AlarmConditionType_ShelvingState_LastTransition_Number,9187,Variable +AlarmConditionType_ShelvingState_LastTransition_TransitionTime,9188,Variable +AlarmConditionType_ShelvingState_UnshelveTime,9189,Variable +AlarmConditionType_ShelvingState_Unshelve,9211,Method +AlarmConditionType_ShelvingState_OneShotShelve,9212,Method +AlarmConditionType_ShelvingState_TimedShelve,9213,Method +AlarmConditionType_ShelvingState_TimedShelve_InputArguments,9214,Variable +AlarmConditionType_SuppressedOrShelved,9215,Variable +AlarmConditionType_MaxTimeShelved,9216,Variable +LimitAlarmType_ConditionName,9217,Variable +LimitAlarmType_BranchId,9218,Variable +LimitAlarmType_EnabledState,9219,Variable +LimitAlarmType_EnabledState_Id,9220,Variable +LimitAlarmType_EnabledState_Name,9221,Variable +LimitAlarmType_EnabledState_Number,9222,Variable +LimitAlarmType_EnabledState_EffectiveDisplayName,9223,Variable +LimitAlarmType_EnabledState_TransitionTime,9224,Variable +LimitAlarmType_EnabledState_EffectiveTransitionTime,9225,Variable +LimitAlarmType_EnabledState_TrueState,9226,Variable +LimitAlarmType_EnabledState_FalseState,9227,Variable +LimitAlarmType_Quality,9228,Variable +LimitAlarmType_Quality_SourceTimestamp,9229,Variable +LimitAlarmType_LastSeverity,9230,Variable +LimitAlarmType_LastSeverity_SourceTimestamp,9231,Variable +LimitAlarmType_Comment,9232,Variable +LimitAlarmType_Comment_SourceTimestamp,9233,Variable +LimitAlarmType_ClientUserId,9234,Variable +LimitAlarmType_Enable,9235,Method +LimitAlarmType_Disable,9236,Method +LimitAlarmType_AddComment,9237,Method +LimitAlarmType_AddComment_InputArguments,9238,Variable +LimitAlarmType_AckedState,9239,Variable +LimitAlarmType_AckedState_Id,9240,Variable +LimitAlarmType_AckedState_Name,9241,Variable +LimitAlarmType_AckedState_Number,9242,Variable +LimitAlarmType_AckedState_EffectiveDisplayName,9243,Variable +LimitAlarmType_AckedState_TransitionTime,9244,Variable +LimitAlarmType_AckedState_EffectiveTransitionTime,9245,Variable +LimitAlarmType_AckedState_TrueState,9246,Variable +LimitAlarmType_AckedState_FalseState,9247,Variable +LimitAlarmType_ConfirmedState,9248,Variable +LimitAlarmType_ConfirmedState_Id,9249,Variable +LimitAlarmType_ConfirmedState_Name,9250,Variable +LimitAlarmType_ConfirmedState_Number,9251,Variable +LimitAlarmType_ConfirmedState_EffectiveDisplayName,9252,Variable +LimitAlarmType_ConfirmedState_TransitionTime,9253,Variable +LimitAlarmType_ConfirmedState_EffectiveTransitionTime,9254,Variable +LimitAlarmType_ConfirmedState_TrueState,9255,Variable +LimitAlarmType_ConfirmedState_FalseState,9256,Variable +LimitAlarmType_Acknowledge,9257,Method +LimitAlarmType_Acknowledge_InputArguments,9258,Variable +LimitAlarmType_Confirm,9259,Method +LimitAlarmType_Confirm_InputArguments,9260,Variable +LimitAlarmType_ActiveState,9261,Variable +LimitAlarmType_ActiveState_Id,9262,Variable +LimitAlarmType_ActiveState_Name,9263,Variable +LimitAlarmType_ActiveState_Number,9264,Variable +LimitAlarmType_ActiveState_EffectiveDisplayName,9265,Variable +LimitAlarmType_ActiveState_TransitionTime,9266,Variable +LimitAlarmType_ActiveState_EffectiveTransitionTime,9267,Variable +LimitAlarmType_ActiveState_TrueState,9268,Variable +LimitAlarmType_ActiveState_FalseState,9269,Variable +LimitAlarmType_SuppressedState,9270,Variable +LimitAlarmType_SuppressedState_Id,9271,Variable +LimitAlarmType_SuppressedState_Name,9272,Variable +LimitAlarmType_SuppressedState_Number,9273,Variable +LimitAlarmType_SuppressedState_EffectiveDisplayName,9274,Variable +LimitAlarmType_SuppressedState_TransitionTime,9275,Variable +LimitAlarmType_SuppressedState_EffectiveTransitionTime,9276,Variable +LimitAlarmType_SuppressedState_TrueState,9277,Variable +LimitAlarmType_SuppressedState_FalseState,9278,Variable +LimitAlarmType_ShelvingState,9279,Object +LimitAlarmType_ShelvingState_CurrentState,9280,Variable +LimitAlarmType_ShelvingState_CurrentState_Id,9281,Variable +LimitAlarmType_ShelvingState_CurrentState_Name,9282,Variable +LimitAlarmType_ShelvingState_CurrentState_Number,9283,Variable +LimitAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,9284,Variable +LimitAlarmType_ShelvingState_LastTransition,9285,Variable +LimitAlarmType_ShelvingState_LastTransition_Id,9286,Variable +LimitAlarmType_ShelvingState_LastTransition_Name,9287,Variable +LimitAlarmType_ShelvingState_LastTransition_Number,9288,Variable +LimitAlarmType_ShelvingState_LastTransition_TransitionTime,9289,Variable +LimitAlarmType_ShelvingState_UnshelveTime,9290,Variable +LimitAlarmType_ShelvingState_Unshelve,9312,Method +LimitAlarmType_ShelvingState_OneShotShelve,9313,Method +LimitAlarmType_ShelvingState_TimedShelve,9314,Method +LimitAlarmType_ShelvingState_TimedShelve_InputArguments,9315,Variable +LimitAlarmType_SuppressedOrShelved,9316,Variable +LimitAlarmType_MaxTimeShelved,9317,Variable +ExclusiveLimitStateMachineType,9318,ObjectType +ExclusiveLimitStateMachineType_CurrentState,9319,Variable +ExclusiveLimitStateMachineType_CurrentState_Id,9320,Variable +ExclusiveLimitStateMachineType_CurrentState_Name,9321,Variable +ExclusiveLimitStateMachineType_CurrentState_Number,9322,Variable +ExclusiveLimitStateMachineType_CurrentState_EffectiveDisplayName,9323,Variable +ExclusiveLimitStateMachineType_LastTransition,9324,Variable +ExclusiveLimitStateMachineType_LastTransition_Id,9325,Variable +ExclusiveLimitStateMachineType_LastTransition_Name,9326,Variable +ExclusiveLimitStateMachineType_LastTransition_Number,9327,Variable +ExclusiveLimitStateMachineType_LastTransition_TransitionTime,9328,Variable +ExclusiveLimitStateMachineType_HighHigh,9329,Object +ExclusiveLimitStateMachineType_HighHigh_StateNumber,9330,Variable +ExclusiveLimitStateMachineType_High,9331,Object +ExclusiveLimitStateMachineType_High_StateNumber,9332,Variable +ExclusiveLimitStateMachineType_Low,9333,Object +ExclusiveLimitStateMachineType_Low_StateNumber,9334,Variable +ExclusiveLimitStateMachineType_LowLow,9335,Object +ExclusiveLimitStateMachineType_LowLow_StateNumber,9336,Variable +ExclusiveLimitStateMachineType_LowLowToLow,9337,Object +ExclusiveLimitStateMachineType_LowToLowLow,9338,Object +ExclusiveLimitStateMachineType_HighHighToHigh,9339,Object +ExclusiveLimitStateMachineType_HighToHighHigh,9340,Object +ExclusiveLimitAlarmType,9341,ObjectType +ExclusiveLimitAlarmType_EventId,9342,Variable +ExclusiveLimitAlarmType_EventType,9343,Variable +ExclusiveLimitAlarmType_SourceNode,9344,Variable +ExclusiveLimitAlarmType_SourceName,9345,Variable +ExclusiveLimitAlarmType_Time,9346,Variable +ExclusiveLimitAlarmType_ReceiveTime,9347,Variable +ExclusiveLimitAlarmType_LocalTime,9348,Variable +ExclusiveLimitAlarmType_Message,9349,Variable +ExclusiveLimitAlarmType_Severity,9350,Variable +ExclusiveLimitAlarmType_ConditionName,9351,Variable +ExclusiveLimitAlarmType_BranchId,9352,Variable +ExclusiveLimitAlarmType_Retain,9353,Variable +ExclusiveLimitAlarmType_EnabledState,9354,Variable +ExclusiveLimitAlarmType_EnabledState_Id,9355,Variable +ExclusiveLimitAlarmType_EnabledState_Name,9356,Variable +ExclusiveLimitAlarmType_EnabledState_Number,9357,Variable +ExclusiveLimitAlarmType_EnabledState_EffectiveDisplayName,9358,Variable +ExclusiveLimitAlarmType_EnabledState_TransitionTime,9359,Variable +ExclusiveLimitAlarmType_EnabledState_EffectiveTransitionTime,9360,Variable +ExclusiveLimitAlarmType_EnabledState_TrueState,9361,Variable +ExclusiveLimitAlarmType_EnabledState_FalseState,9362,Variable +ExclusiveLimitAlarmType_Quality,9363,Variable +ExclusiveLimitAlarmType_Quality_SourceTimestamp,9364,Variable +ExclusiveLimitAlarmType_LastSeverity,9365,Variable +ExclusiveLimitAlarmType_LastSeverity_SourceTimestamp,9366,Variable +ExclusiveLimitAlarmType_Comment,9367,Variable +ExclusiveLimitAlarmType_Comment_SourceTimestamp,9368,Variable +ExclusiveLimitAlarmType_ClientUserId,9369,Variable +ExclusiveLimitAlarmType_Enable,9370,Method +ExclusiveLimitAlarmType_Disable,9371,Method +ExclusiveLimitAlarmType_AddComment,9372,Method +ExclusiveLimitAlarmType_AddComment_InputArguments,9373,Variable +ExclusiveLimitAlarmType_ConditionRefresh,9374,Method +ExclusiveLimitAlarmType_ConditionRefresh_InputArguments,9375,Variable +ExclusiveLimitAlarmType_AckedState,9376,Variable +ExclusiveLimitAlarmType_AckedState_Id,9377,Variable +ExclusiveLimitAlarmType_AckedState_Name,9378,Variable +ExclusiveLimitAlarmType_AckedState_Number,9379,Variable +ExclusiveLimitAlarmType_AckedState_EffectiveDisplayName,9380,Variable +ExclusiveLimitAlarmType_AckedState_TransitionTime,9381,Variable +ExclusiveLimitAlarmType_AckedState_EffectiveTransitionTime,9382,Variable +ExclusiveLimitAlarmType_AckedState_TrueState,9383,Variable +ExclusiveLimitAlarmType_AckedState_FalseState,9384,Variable +ExclusiveLimitAlarmType_ConfirmedState,9385,Variable +ExclusiveLimitAlarmType_ConfirmedState_Id,9386,Variable +ExclusiveLimitAlarmType_ConfirmedState_Name,9387,Variable +ExclusiveLimitAlarmType_ConfirmedState_Number,9388,Variable +ExclusiveLimitAlarmType_ConfirmedState_EffectiveDisplayName,9389,Variable +ExclusiveLimitAlarmType_ConfirmedState_TransitionTime,9390,Variable +ExclusiveLimitAlarmType_ConfirmedState_EffectiveTransitionTime,9391,Variable +ExclusiveLimitAlarmType_ConfirmedState_TrueState,9392,Variable +ExclusiveLimitAlarmType_ConfirmedState_FalseState,9393,Variable +ExclusiveLimitAlarmType_Acknowledge,9394,Method +ExclusiveLimitAlarmType_Acknowledge_InputArguments,9395,Variable +ExclusiveLimitAlarmType_Confirm,9396,Method +ExclusiveLimitAlarmType_Confirm_InputArguments,9397,Variable +ExclusiveLimitAlarmType_ActiveState,9398,Variable +ExclusiveLimitAlarmType_ActiveState_Id,9399,Variable +ExclusiveLimitAlarmType_ActiveState_Name,9400,Variable +ExclusiveLimitAlarmType_ActiveState_Number,9401,Variable +ExclusiveLimitAlarmType_ActiveState_EffectiveDisplayName,9402,Variable +ExclusiveLimitAlarmType_ActiveState_TransitionTime,9403,Variable +ExclusiveLimitAlarmType_ActiveState_EffectiveTransitionTime,9404,Variable +ExclusiveLimitAlarmType_ActiveState_TrueState,9405,Variable +ExclusiveLimitAlarmType_ActiveState_FalseState,9406,Variable +ExclusiveLimitAlarmType_SuppressedState,9407,Variable +ExclusiveLimitAlarmType_SuppressedState_Id,9408,Variable +ExclusiveLimitAlarmType_SuppressedState_Name,9409,Variable +ExclusiveLimitAlarmType_SuppressedState_Number,9410,Variable +ExclusiveLimitAlarmType_SuppressedState_EffectiveDisplayName,9411,Variable +ExclusiveLimitAlarmType_SuppressedState_TransitionTime,9412,Variable +ExclusiveLimitAlarmType_SuppressedState_EffectiveTransitionTime,9413,Variable +ExclusiveLimitAlarmType_SuppressedState_TrueState,9414,Variable +ExclusiveLimitAlarmType_SuppressedState_FalseState,9415,Variable +ExclusiveLimitAlarmType_ShelvingState,9416,Object +ExclusiveLimitAlarmType_ShelvingState_CurrentState,9417,Variable +ExclusiveLimitAlarmType_ShelvingState_CurrentState_Id,9418,Variable +ExclusiveLimitAlarmType_ShelvingState_CurrentState_Name,9419,Variable +ExclusiveLimitAlarmType_ShelvingState_CurrentState_Number,9420,Variable +ExclusiveLimitAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,9421,Variable +ExclusiveLimitAlarmType_ShelvingState_LastTransition,9422,Variable +ExclusiveLimitAlarmType_ShelvingState_LastTransition_Id,9423,Variable +ExclusiveLimitAlarmType_ShelvingState_LastTransition_Name,9424,Variable +ExclusiveLimitAlarmType_ShelvingState_LastTransition_Number,9425,Variable +ExclusiveLimitAlarmType_ShelvingState_LastTransition_TransitionTime,9426,Variable +ExclusiveLimitAlarmType_ShelvingState_UnshelveTime,9427,Variable +ExclusiveLimitAlarmType_ShelvingState_Unshelve,9449,Method +ExclusiveLimitAlarmType_ShelvingState_OneShotShelve,9450,Method +ExclusiveLimitAlarmType_ShelvingState_TimedShelve,9451,Method +ExclusiveLimitAlarmType_ShelvingState_TimedShelve_InputArguments,9452,Variable +ExclusiveLimitAlarmType_SuppressedOrShelved,9453,Variable +ExclusiveLimitAlarmType_MaxTimeShelved,9454,Variable +ExclusiveLimitAlarmType_LimitState,9455,Object +ExclusiveLimitAlarmType_LimitState_CurrentState,9456,Variable +ExclusiveLimitAlarmType_LimitState_CurrentState_Id,9457,Variable +ExclusiveLimitAlarmType_LimitState_CurrentState_Name,9458,Variable +ExclusiveLimitAlarmType_LimitState_CurrentState_Number,9459,Variable +ExclusiveLimitAlarmType_LimitState_CurrentState_EffectiveDisplayName,9460,Variable +ExclusiveLimitAlarmType_LimitState_LastTransition,9461,Variable +ExclusiveLimitAlarmType_LimitState_LastTransition_Id,9462,Variable +ExclusiveLimitAlarmType_LimitState_LastTransition_Name,9463,Variable +ExclusiveLimitAlarmType_LimitState_LastTransition_Number,9464,Variable +ExclusiveLimitAlarmType_LimitState_LastTransition_TransitionTime,9465,Variable +ExclusiveLimitAlarmType_HighHighLimit,9478,Variable +ExclusiveLimitAlarmType_HighLimit,9479,Variable +ExclusiveLimitAlarmType_LowLimit,9480,Variable +ExclusiveLimitAlarmType_LowLowLimit,9481,Variable +ExclusiveLevelAlarmType,9482,ObjectType +ExclusiveLevelAlarmType_EventId,9483,Variable +ExclusiveLevelAlarmType_EventType,9484,Variable +ExclusiveLevelAlarmType_SourceNode,9485,Variable +ExclusiveLevelAlarmType_SourceName,9486,Variable +ExclusiveLevelAlarmType_Time,9487,Variable +ExclusiveLevelAlarmType_ReceiveTime,9488,Variable +ExclusiveLevelAlarmType_LocalTime,9489,Variable +ExclusiveLevelAlarmType_Message,9490,Variable +ExclusiveLevelAlarmType_Severity,9491,Variable +ExclusiveLevelAlarmType_ConditionName,9492,Variable +ExclusiveLevelAlarmType_BranchId,9493,Variable +ExclusiveLevelAlarmType_Retain,9494,Variable +ExclusiveLevelAlarmType_EnabledState,9495,Variable +ExclusiveLevelAlarmType_EnabledState_Id,9496,Variable +ExclusiveLevelAlarmType_EnabledState_Name,9497,Variable +ExclusiveLevelAlarmType_EnabledState_Number,9498,Variable +ExclusiveLevelAlarmType_EnabledState_EffectiveDisplayName,9499,Variable +ExclusiveLevelAlarmType_EnabledState_TransitionTime,9500,Variable +ExclusiveLevelAlarmType_EnabledState_EffectiveTransitionTime,9501,Variable +ExclusiveLevelAlarmType_EnabledState_TrueState,9502,Variable +ExclusiveLevelAlarmType_EnabledState_FalseState,9503,Variable +ExclusiveLevelAlarmType_Quality,9504,Variable +ExclusiveLevelAlarmType_Quality_SourceTimestamp,9505,Variable +ExclusiveLevelAlarmType_LastSeverity,9506,Variable +ExclusiveLevelAlarmType_LastSeverity_SourceTimestamp,9507,Variable +ExclusiveLevelAlarmType_Comment,9508,Variable +ExclusiveLevelAlarmType_Comment_SourceTimestamp,9509,Variable +ExclusiveLevelAlarmType_ClientUserId,9510,Variable +ExclusiveLevelAlarmType_Enable,9511,Method +ExclusiveLevelAlarmType_Disable,9512,Method +ExclusiveLevelAlarmType_AddComment,9513,Method +ExclusiveLevelAlarmType_AddComment_InputArguments,9514,Variable +ExclusiveLevelAlarmType_ConditionRefresh,9515,Method +ExclusiveLevelAlarmType_ConditionRefresh_InputArguments,9516,Variable +ExclusiveLevelAlarmType_AckedState,9517,Variable +ExclusiveLevelAlarmType_AckedState_Id,9518,Variable +ExclusiveLevelAlarmType_AckedState_Name,9519,Variable +ExclusiveLevelAlarmType_AckedState_Number,9520,Variable +ExclusiveLevelAlarmType_AckedState_EffectiveDisplayName,9521,Variable +ExclusiveLevelAlarmType_AckedState_TransitionTime,9522,Variable +ExclusiveLevelAlarmType_AckedState_EffectiveTransitionTime,9523,Variable +ExclusiveLevelAlarmType_AckedState_TrueState,9524,Variable +ExclusiveLevelAlarmType_AckedState_FalseState,9525,Variable +ExclusiveLevelAlarmType_ConfirmedState,9526,Variable +ExclusiveLevelAlarmType_ConfirmedState_Id,9527,Variable +ExclusiveLevelAlarmType_ConfirmedState_Name,9528,Variable +ExclusiveLevelAlarmType_ConfirmedState_Number,9529,Variable +ExclusiveLevelAlarmType_ConfirmedState_EffectiveDisplayName,9530,Variable +ExclusiveLevelAlarmType_ConfirmedState_TransitionTime,9531,Variable +ExclusiveLevelAlarmType_ConfirmedState_EffectiveTransitionTime,9532,Variable +ExclusiveLevelAlarmType_ConfirmedState_TrueState,9533,Variable +ExclusiveLevelAlarmType_ConfirmedState_FalseState,9534,Variable +ExclusiveLevelAlarmType_Acknowledge,9535,Method +ExclusiveLevelAlarmType_Acknowledge_InputArguments,9536,Variable +ExclusiveLevelAlarmType_Confirm,9537,Method +ExclusiveLevelAlarmType_Confirm_InputArguments,9538,Variable +ExclusiveLevelAlarmType_ActiveState,9539,Variable +ExclusiveLevelAlarmType_ActiveState_Id,9540,Variable +ExclusiveLevelAlarmType_ActiveState_Name,9541,Variable +ExclusiveLevelAlarmType_ActiveState_Number,9542,Variable +ExclusiveLevelAlarmType_ActiveState_EffectiveDisplayName,9543,Variable +ExclusiveLevelAlarmType_ActiveState_TransitionTime,9544,Variable +ExclusiveLevelAlarmType_ActiveState_EffectiveTransitionTime,9545,Variable +ExclusiveLevelAlarmType_ActiveState_TrueState,9546,Variable +ExclusiveLevelAlarmType_ActiveState_FalseState,9547,Variable +ExclusiveLevelAlarmType_SuppressedState,9548,Variable +ExclusiveLevelAlarmType_SuppressedState_Id,9549,Variable +ExclusiveLevelAlarmType_SuppressedState_Name,9550,Variable +ExclusiveLevelAlarmType_SuppressedState_Number,9551,Variable +ExclusiveLevelAlarmType_SuppressedState_EffectiveDisplayName,9552,Variable +ExclusiveLevelAlarmType_SuppressedState_TransitionTime,9553,Variable +ExclusiveLevelAlarmType_SuppressedState_EffectiveTransitionTime,9554,Variable +ExclusiveLevelAlarmType_SuppressedState_TrueState,9555,Variable +ExclusiveLevelAlarmType_SuppressedState_FalseState,9556,Variable +ExclusiveLevelAlarmType_ShelvingState,9557,Object +ExclusiveLevelAlarmType_ShelvingState_CurrentState,9558,Variable +ExclusiveLevelAlarmType_ShelvingState_CurrentState_Id,9559,Variable +ExclusiveLevelAlarmType_ShelvingState_CurrentState_Name,9560,Variable +ExclusiveLevelAlarmType_ShelvingState_CurrentState_Number,9561,Variable +ExclusiveLevelAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,9562,Variable +ExclusiveLevelAlarmType_ShelvingState_LastTransition,9563,Variable +ExclusiveLevelAlarmType_ShelvingState_LastTransition_Id,9564,Variable +ExclusiveLevelAlarmType_ShelvingState_LastTransition_Name,9565,Variable +ExclusiveLevelAlarmType_ShelvingState_LastTransition_Number,9566,Variable +ExclusiveLevelAlarmType_ShelvingState_LastTransition_TransitionTime,9567,Variable +ExclusiveLevelAlarmType_ShelvingState_UnshelveTime,9568,Variable +ExclusiveLevelAlarmType_ShelvingState_Unshelve,9590,Method +ExclusiveLevelAlarmType_ShelvingState_OneShotShelve,9591,Method +ExclusiveLevelAlarmType_ShelvingState_TimedShelve,9592,Method +ExclusiveLevelAlarmType_ShelvingState_TimedShelve_InputArguments,9593,Variable +ExclusiveLevelAlarmType_SuppressedOrShelved,9594,Variable +ExclusiveLevelAlarmType_MaxTimeShelved,9595,Variable +ExclusiveLevelAlarmType_LimitState,9596,Object +ExclusiveLevelAlarmType_LimitState_CurrentState,9597,Variable +ExclusiveLevelAlarmType_LimitState_CurrentState_Id,9598,Variable +ExclusiveLevelAlarmType_LimitState_CurrentState_Name,9599,Variable +ExclusiveLevelAlarmType_LimitState_CurrentState_Number,9600,Variable +ExclusiveLevelAlarmType_LimitState_CurrentState_EffectiveDisplayName,9601,Variable +ExclusiveLevelAlarmType_LimitState_LastTransition,9602,Variable +ExclusiveLevelAlarmType_LimitState_LastTransition_Id,9603,Variable +ExclusiveLevelAlarmType_LimitState_LastTransition_Name,9604,Variable +ExclusiveLevelAlarmType_LimitState_LastTransition_Number,9605,Variable +ExclusiveLevelAlarmType_LimitState_LastTransition_TransitionTime,9606,Variable +ExclusiveLevelAlarmType_HighHighLimit,9619,Variable +ExclusiveLevelAlarmType_HighLimit,9620,Variable +ExclusiveLevelAlarmType_LowLimit,9621,Variable +ExclusiveLevelAlarmType_LowLowLimit,9622,Variable +ExclusiveRateOfChangeAlarmType,9623,ObjectType +ExclusiveRateOfChangeAlarmType_EventId,9624,Variable +ExclusiveRateOfChangeAlarmType_EventType,9625,Variable +ExclusiveRateOfChangeAlarmType_SourceNode,9626,Variable +ExclusiveRateOfChangeAlarmType_SourceName,9627,Variable +ExclusiveRateOfChangeAlarmType_Time,9628,Variable +ExclusiveRateOfChangeAlarmType_ReceiveTime,9629,Variable +ExclusiveRateOfChangeAlarmType_LocalTime,9630,Variable +ExclusiveRateOfChangeAlarmType_Message,9631,Variable +ExclusiveRateOfChangeAlarmType_Severity,9632,Variable +ExclusiveRateOfChangeAlarmType_ConditionName,9633,Variable +ExclusiveRateOfChangeAlarmType_BranchId,9634,Variable +ExclusiveRateOfChangeAlarmType_Retain,9635,Variable +ExclusiveRateOfChangeAlarmType_EnabledState,9636,Variable +ExclusiveRateOfChangeAlarmType_EnabledState_Id,9637,Variable +ExclusiveRateOfChangeAlarmType_EnabledState_Name,9638,Variable +ExclusiveRateOfChangeAlarmType_EnabledState_Number,9639,Variable +ExclusiveRateOfChangeAlarmType_EnabledState_EffectiveDisplayName,9640,Variable +ExclusiveRateOfChangeAlarmType_EnabledState_TransitionTime,9641,Variable +ExclusiveRateOfChangeAlarmType_EnabledState_EffectiveTransitionTime,9642,Variable +ExclusiveRateOfChangeAlarmType_EnabledState_TrueState,9643,Variable +ExclusiveRateOfChangeAlarmType_EnabledState_FalseState,9644,Variable +ExclusiveRateOfChangeAlarmType_Quality,9645,Variable +ExclusiveRateOfChangeAlarmType_Quality_SourceTimestamp,9646,Variable +ExclusiveRateOfChangeAlarmType_LastSeverity,9647,Variable +ExclusiveRateOfChangeAlarmType_LastSeverity_SourceTimestamp,9648,Variable +ExclusiveRateOfChangeAlarmType_Comment,9649,Variable +ExclusiveRateOfChangeAlarmType_Comment_SourceTimestamp,9650,Variable +ExclusiveRateOfChangeAlarmType_ClientUserId,9651,Variable +ExclusiveRateOfChangeAlarmType_Enable,9652,Method +ExclusiveRateOfChangeAlarmType_Disable,9653,Method +ExclusiveRateOfChangeAlarmType_AddComment,9654,Method +ExclusiveRateOfChangeAlarmType_AddComment_InputArguments,9655,Variable +ExclusiveRateOfChangeAlarmType_ConditionRefresh,9656,Method +ExclusiveRateOfChangeAlarmType_ConditionRefresh_InputArguments,9657,Variable +ExclusiveRateOfChangeAlarmType_AckedState,9658,Variable +ExclusiveRateOfChangeAlarmType_AckedState_Id,9659,Variable +ExclusiveRateOfChangeAlarmType_AckedState_Name,9660,Variable +ExclusiveRateOfChangeAlarmType_AckedState_Number,9661,Variable +ExclusiveRateOfChangeAlarmType_AckedState_EffectiveDisplayName,9662,Variable +ExclusiveRateOfChangeAlarmType_AckedState_TransitionTime,9663,Variable +ExclusiveRateOfChangeAlarmType_AckedState_EffectiveTransitionTime,9664,Variable +ExclusiveRateOfChangeAlarmType_AckedState_TrueState,9665,Variable +ExclusiveRateOfChangeAlarmType_AckedState_FalseState,9666,Variable +ExclusiveRateOfChangeAlarmType_ConfirmedState,9667,Variable +ExclusiveRateOfChangeAlarmType_ConfirmedState_Id,9668,Variable +ExclusiveRateOfChangeAlarmType_ConfirmedState_Name,9669,Variable +ExclusiveRateOfChangeAlarmType_ConfirmedState_Number,9670,Variable +ExclusiveRateOfChangeAlarmType_ConfirmedState_EffectiveDisplayName,9671,Variable +ExclusiveRateOfChangeAlarmType_ConfirmedState_TransitionTime,9672,Variable +ExclusiveRateOfChangeAlarmType_ConfirmedState_EffectiveTransitionTime,9673,Variable +ExclusiveRateOfChangeAlarmType_ConfirmedState_TrueState,9674,Variable +ExclusiveRateOfChangeAlarmType_ConfirmedState_FalseState,9675,Variable +ExclusiveRateOfChangeAlarmType_Acknowledge,9676,Method +ExclusiveRateOfChangeAlarmType_Acknowledge_InputArguments,9677,Variable +ExclusiveRateOfChangeAlarmType_Confirm,9678,Method +ExclusiveRateOfChangeAlarmType_Confirm_InputArguments,9679,Variable +ExclusiveRateOfChangeAlarmType_ActiveState,9680,Variable +ExclusiveRateOfChangeAlarmType_ActiveState_Id,9681,Variable +ExclusiveRateOfChangeAlarmType_ActiveState_Name,9682,Variable +ExclusiveRateOfChangeAlarmType_ActiveState_Number,9683,Variable +ExclusiveRateOfChangeAlarmType_ActiveState_EffectiveDisplayName,9684,Variable +ExclusiveRateOfChangeAlarmType_ActiveState_TransitionTime,9685,Variable +ExclusiveRateOfChangeAlarmType_ActiveState_EffectiveTransitionTime,9686,Variable +ExclusiveRateOfChangeAlarmType_ActiveState_TrueState,9687,Variable +ExclusiveRateOfChangeAlarmType_ActiveState_FalseState,9688,Variable +ExclusiveRateOfChangeAlarmType_SuppressedState,9689,Variable +ExclusiveRateOfChangeAlarmType_SuppressedState_Id,9690,Variable +ExclusiveRateOfChangeAlarmType_SuppressedState_Name,9691,Variable +ExclusiveRateOfChangeAlarmType_SuppressedState_Number,9692,Variable +ExclusiveRateOfChangeAlarmType_SuppressedState_EffectiveDisplayName,9693,Variable +ExclusiveRateOfChangeAlarmType_SuppressedState_TransitionTime,9694,Variable +ExclusiveRateOfChangeAlarmType_SuppressedState_EffectiveTransitionTime,9695,Variable +ExclusiveRateOfChangeAlarmType_SuppressedState_TrueState,9696,Variable +ExclusiveRateOfChangeAlarmType_SuppressedState_FalseState,9697,Variable +ExclusiveRateOfChangeAlarmType_ShelvingState,9698,Object +ExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState,9699,Variable +ExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_Id,9700,Variable +ExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_Name,9701,Variable +ExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_Number,9702,Variable +ExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,9703,Variable +ExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition,9704,Variable +ExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_Id,9705,Variable +ExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_Name,9706,Variable +ExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_Number,9707,Variable +ExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_TransitionTime,9708,Variable +ExclusiveRateOfChangeAlarmType_ShelvingState_UnshelveTime,9709,Variable +ExclusiveRateOfChangeAlarmType_ShelvingState_Unshelve,9731,Method +ExclusiveRateOfChangeAlarmType_ShelvingState_OneShotShelve,9732,Method +ExclusiveRateOfChangeAlarmType_ShelvingState_TimedShelve,9733,Method +ExclusiveRateOfChangeAlarmType_ShelvingState_TimedShelve_InputArguments,9734,Variable +ExclusiveRateOfChangeAlarmType_SuppressedOrShelved,9735,Variable +ExclusiveRateOfChangeAlarmType_MaxTimeShelved,9736,Variable +ExclusiveRateOfChangeAlarmType_LimitState,9737,Object +ExclusiveRateOfChangeAlarmType_LimitState_CurrentState,9738,Variable +ExclusiveRateOfChangeAlarmType_LimitState_CurrentState_Id,9739,Variable +ExclusiveRateOfChangeAlarmType_LimitState_CurrentState_Name,9740,Variable +ExclusiveRateOfChangeAlarmType_LimitState_CurrentState_Number,9741,Variable +ExclusiveRateOfChangeAlarmType_LimitState_CurrentState_EffectiveDisplayName,9742,Variable +ExclusiveRateOfChangeAlarmType_LimitState_LastTransition,9743,Variable +ExclusiveRateOfChangeAlarmType_LimitState_LastTransition_Id,9744,Variable +ExclusiveRateOfChangeAlarmType_LimitState_LastTransition_Name,9745,Variable +ExclusiveRateOfChangeAlarmType_LimitState_LastTransition_Number,9746,Variable +ExclusiveRateOfChangeAlarmType_LimitState_LastTransition_TransitionTime,9747,Variable +ExclusiveRateOfChangeAlarmType_HighHighLimit,9760,Variable +ExclusiveRateOfChangeAlarmType_HighLimit,9761,Variable +ExclusiveRateOfChangeAlarmType_LowLimit,9762,Variable +ExclusiveRateOfChangeAlarmType_LowLowLimit,9763,Variable +ExclusiveDeviationAlarmType,9764,ObjectType +ExclusiveDeviationAlarmType_EventId,9765,Variable +ExclusiveDeviationAlarmType_EventType,9766,Variable +ExclusiveDeviationAlarmType_SourceNode,9767,Variable +ExclusiveDeviationAlarmType_SourceName,9768,Variable +ExclusiveDeviationAlarmType_Time,9769,Variable +ExclusiveDeviationAlarmType_ReceiveTime,9770,Variable +ExclusiveDeviationAlarmType_LocalTime,9771,Variable +ExclusiveDeviationAlarmType_Message,9772,Variable +ExclusiveDeviationAlarmType_Severity,9773,Variable +ExclusiveDeviationAlarmType_ConditionName,9774,Variable +ExclusiveDeviationAlarmType_BranchId,9775,Variable +ExclusiveDeviationAlarmType_Retain,9776,Variable +ExclusiveDeviationAlarmType_EnabledState,9777,Variable +ExclusiveDeviationAlarmType_EnabledState_Id,9778,Variable +ExclusiveDeviationAlarmType_EnabledState_Name,9779,Variable +ExclusiveDeviationAlarmType_EnabledState_Number,9780,Variable +ExclusiveDeviationAlarmType_EnabledState_EffectiveDisplayName,9781,Variable +ExclusiveDeviationAlarmType_EnabledState_TransitionTime,9782,Variable +ExclusiveDeviationAlarmType_EnabledState_EffectiveTransitionTime,9783,Variable +ExclusiveDeviationAlarmType_EnabledState_TrueState,9784,Variable +ExclusiveDeviationAlarmType_EnabledState_FalseState,9785,Variable +ExclusiveDeviationAlarmType_Quality,9786,Variable +ExclusiveDeviationAlarmType_Quality_SourceTimestamp,9787,Variable +ExclusiveDeviationAlarmType_LastSeverity,9788,Variable +ExclusiveDeviationAlarmType_LastSeverity_SourceTimestamp,9789,Variable +ExclusiveDeviationAlarmType_Comment,9790,Variable +ExclusiveDeviationAlarmType_Comment_SourceTimestamp,9791,Variable +ExclusiveDeviationAlarmType_ClientUserId,9792,Variable +ExclusiveDeviationAlarmType_Enable,9793,Method +ExclusiveDeviationAlarmType_Disable,9794,Method +ExclusiveDeviationAlarmType_AddComment,9795,Method +ExclusiveDeviationAlarmType_AddComment_InputArguments,9796,Variable +ExclusiveDeviationAlarmType_ConditionRefresh,9797,Method +ExclusiveDeviationAlarmType_ConditionRefresh_InputArguments,9798,Variable +ExclusiveDeviationAlarmType_AckedState,9799,Variable +ExclusiveDeviationAlarmType_AckedState_Id,9800,Variable +ExclusiveDeviationAlarmType_AckedState_Name,9801,Variable +ExclusiveDeviationAlarmType_AckedState_Number,9802,Variable +ExclusiveDeviationAlarmType_AckedState_EffectiveDisplayName,9803,Variable +ExclusiveDeviationAlarmType_AckedState_TransitionTime,9804,Variable +ExclusiveDeviationAlarmType_AckedState_EffectiveTransitionTime,9805,Variable +ExclusiveDeviationAlarmType_AckedState_TrueState,9806,Variable +ExclusiveDeviationAlarmType_AckedState_FalseState,9807,Variable +ExclusiveDeviationAlarmType_ConfirmedState,9808,Variable +ExclusiveDeviationAlarmType_ConfirmedState_Id,9809,Variable +ExclusiveDeviationAlarmType_ConfirmedState_Name,9810,Variable +ExclusiveDeviationAlarmType_ConfirmedState_Number,9811,Variable +ExclusiveDeviationAlarmType_ConfirmedState_EffectiveDisplayName,9812,Variable +ExclusiveDeviationAlarmType_ConfirmedState_TransitionTime,9813,Variable +ExclusiveDeviationAlarmType_ConfirmedState_EffectiveTransitionTime,9814,Variable +ExclusiveDeviationAlarmType_ConfirmedState_TrueState,9815,Variable +ExclusiveDeviationAlarmType_ConfirmedState_FalseState,9816,Variable +ExclusiveDeviationAlarmType_Acknowledge,9817,Method +ExclusiveDeviationAlarmType_Acknowledge_InputArguments,9818,Variable +ExclusiveDeviationAlarmType_Confirm,9819,Method +ExclusiveDeviationAlarmType_Confirm_InputArguments,9820,Variable +ExclusiveDeviationAlarmType_ActiveState,9821,Variable +ExclusiveDeviationAlarmType_ActiveState_Id,9822,Variable +ExclusiveDeviationAlarmType_ActiveState_Name,9823,Variable +ExclusiveDeviationAlarmType_ActiveState_Number,9824,Variable +ExclusiveDeviationAlarmType_ActiveState_EffectiveDisplayName,9825,Variable +ExclusiveDeviationAlarmType_ActiveState_TransitionTime,9826,Variable +ExclusiveDeviationAlarmType_ActiveState_EffectiveTransitionTime,9827,Variable +ExclusiveDeviationAlarmType_ActiveState_TrueState,9828,Variable +ExclusiveDeviationAlarmType_ActiveState_FalseState,9829,Variable +ExclusiveDeviationAlarmType_SuppressedState,9830,Variable +ExclusiveDeviationAlarmType_SuppressedState_Id,9831,Variable +ExclusiveDeviationAlarmType_SuppressedState_Name,9832,Variable +ExclusiveDeviationAlarmType_SuppressedState_Number,9833,Variable +ExclusiveDeviationAlarmType_SuppressedState_EffectiveDisplayName,9834,Variable +ExclusiveDeviationAlarmType_SuppressedState_TransitionTime,9835,Variable +ExclusiveDeviationAlarmType_SuppressedState_EffectiveTransitionTime,9836,Variable +ExclusiveDeviationAlarmType_SuppressedState_TrueState,9837,Variable +ExclusiveDeviationAlarmType_SuppressedState_FalseState,9838,Variable +ExclusiveDeviationAlarmType_ShelvingState,9839,Object +ExclusiveDeviationAlarmType_ShelvingState_CurrentState,9840,Variable +ExclusiveDeviationAlarmType_ShelvingState_CurrentState_Id,9841,Variable +ExclusiveDeviationAlarmType_ShelvingState_CurrentState_Name,9842,Variable +ExclusiveDeviationAlarmType_ShelvingState_CurrentState_Number,9843,Variable +ExclusiveDeviationAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,9844,Variable +ExclusiveDeviationAlarmType_ShelvingState_LastTransition,9845,Variable +ExclusiveDeviationAlarmType_ShelvingState_LastTransition_Id,9846,Variable +ExclusiveDeviationAlarmType_ShelvingState_LastTransition_Name,9847,Variable +ExclusiveDeviationAlarmType_ShelvingState_LastTransition_Number,9848,Variable +ExclusiveDeviationAlarmType_ShelvingState_LastTransition_TransitionTime,9849,Variable +ExclusiveDeviationAlarmType_ShelvingState_UnshelveTime,9850,Variable +ExclusiveDeviationAlarmType_ShelvingState_Unshelve,9872,Method +ExclusiveDeviationAlarmType_ShelvingState_OneShotShelve,9873,Method +ExclusiveDeviationAlarmType_ShelvingState_TimedShelve,9874,Method +ExclusiveDeviationAlarmType_ShelvingState_TimedShelve_InputArguments,9875,Variable +ExclusiveDeviationAlarmType_SuppressedOrShelved,9876,Variable +ExclusiveDeviationAlarmType_MaxTimeShelved,9877,Variable +ExclusiveDeviationAlarmType_LimitState,9878,Object +ExclusiveDeviationAlarmType_LimitState_CurrentState,9879,Variable +ExclusiveDeviationAlarmType_LimitState_CurrentState_Id,9880,Variable +ExclusiveDeviationAlarmType_LimitState_CurrentState_Name,9881,Variable +ExclusiveDeviationAlarmType_LimitState_CurrentState_Number,9882,Variable +ExclusiveDeviationAlarmType_LimitState_CurrentState_EffectiveDisplayName,9883,Variable +ExclusiveDeviationAlarmType_LimitState_LastTransition,9884,Variable +ExclusiveDeviationAlarmType_LimitState_LastTransition_Id,9885,Variable +ExclusiveDeviationAlarmType_LimitState_LastTransition_Name,9886,Variable +ExclusiveDeviationAlarmType_LimitState_LastTransition_Number,9887,Variable +ExclusiveDeviationAlarmType_LimitState_LastTransition_TransitionTime,9888,Variable +ExclusiveDeviationAlarmType_HighHighLimit,9901,Variable +ExclusiveDeviationAlarmType_HighLimit,9902,Variable +ExclusiveDeviationAlarmType_LowLimit,9903,Variable +ExclusiveDeviationAlarmType_LowLowLimit,9904,Variable +ExclusiveDeviationAlarmType_SetpointNode,9905,Variable +NonExclusiveLimitAlarmType,9906,ObjectType +NonExclusiveLimitAlarmType_EventId,9907,Variable +NonExclusiveLimitAlarmType_EventType,9908,Variable +NonExclusiveLimitAlarmType_SourceNode,9909,Variable +NonExclusiveLimitAlarmType_SourceName,9910,Variable +NonExclusiveLimitAlarmType_Time,9911,Variable +NonExclusiveLimitAlarmType_ReceiveTime,9912,Variable +NonExclusiveLimitAlarmType_LocalTime,9913,Variable +NonExclusiveLimitAlarmType_Message,9914,Variable +NonExclusiveLimitAlarmType_Severity,9915,Variable +NonExclusiveLimitAlarmType_ConditionName,9916,Variable +NonExclusiveLimitAlarmType_BranchId,9917,Variable +NonExclusiveLimitAlarmType_Retain,9918,Variable +NonExclusiveLimitAlarmType_EnabledState,9919,Variable +NonExclusiveLimitAlarmType_EnabledState_Id,9920,Variable +NonExclusiveLimitAlarmType_EnabledState_Name,9921,Variable +NonExclusiveLimitAlarmType_EnabledState_Number,9922,Variable +NonExclusiveLimitAlarmType_EnabledState_EffectiveDisplayName,9923,Variable +NonExclusiveLimitAlarmType_EnabledState_TransitionTime,9924,Variable +NonExclusiveLimitAlarmType_EnabledState_EffectiveTransitionTime,9925,Variable +NonExclusiveLimitAlarmType_EnabledState_TrueState,9926,Variable +NonExclusiveLimitAlarmType_EnabledState_FalseState,9927,Variable +NonExclusiveLimitAlarmType_Quality,9928,Variable +NonExclusiveLimitAlarmType_Quality_SourceTimestamp,9929,Variable +NonExclusiveLimitAlarmType_LastSeverity,9930,Variable +NonExclusiveLimitAlarmType_LastSeverity_SourceTimestamp,9931,Variable +NonExclusiveLimitAlarmType_Comment,9932,Variable +NonExclusiveLimitAlarmType_Comment_SourceTimestamp,9933,Variable +NonExclusiveLimitAlarmType_ClientUserId,9934,Variable +NonExclusiveLimitAlarmType_Enable,9935,Method +NonExclusiveLimitAlarmType_Disable,9936,Method +NonExclusiveLimitAlarmType_AddComment,9937,Method +NonExclusiveLimitAlarmType_AddComment_InputArguments,9938,Variable +NonExclusiveLimitAlarmType_ConditionRefresh,9939,Method +NonExclusiveLimitAlarmType_ConditionRefresh_InputArguments,9940,Variable +NonExclusiveLimitAlarmType_AckedState,9941,Variable +NonExclusiveLimitAlarmType_AckedState_Id,9942,Variable +NonExclusiveLimitAlarmType_AckedState_Name,9943,Variable +NonExclusiveLimitAlarmType_AckedState_Number,9944,Variable +NonExclusiveLimitAlarmType_AckedState_EffectiveDisplayName,9945,Variable +NonExclusiveLimitAlarmType_AckedState_TransitionTime,9946,Variable +NonExclusiveLimitAlarmType_AckedState_EffectiveTransitionTime,9947,Variable +NonExclusiveLimitAlarmType_AckedState_TrueState,9948,Variable +NonExclusiveLimitAlarmType_AckedState_FalseState,9949,Variable +NonExclusiveLimitAlarmType_ConfirmedState,9950,Variable +NonExclusiveLimitAlarmType_ConfirmedState_Id,9951,Variable +NonExclusiveLimitAlarmType_ConfirmedState_Name,9952,Variable +NonExclusiveLimitAlarmType_ConfirmedState_Number,9953,Variable +NonExclusiveLimitAlarmType_ConfirmedState_EffectiveDisplayName,9954,Variable +NonExclusiveLimitAlarmType_ConfirmedState_TransitionTime,9955,Variable +NonExclusiveLimitAlarmType_ConfirmedState_EffectiveTransitionTime,9956,Variable +NonExclusiveLimitAlarmType_ConfirmedState_TrueState,9957,Variable +NonExclusiveLimitAlarmType_ConfirmedState_FalseState,9958,Variable +NonExclusiveLimitAlarmType_Acknowledge,9959,Method +NonExclusiveLimitAlarmType_Acknowledge_InputArguments,9960,Variable +NonExclusiveLimitAlarmType_Confirm,9961,Method +NonExclusiveLimitAlarmType_Confirm_InputArguments,9962,Variable +NonExclusiveLimitAlarmType_ActiveState,9963,Variable +NonExclusiveLimitAlarmType_ActiveState_Id,9964,Variable +NonExclusiveLimitAlarmType_ActiveState_Name,9965,Variable +NonExclusiveLimitAlarmType_ActiveState_Number,9966,Variable +NonExclusiveLimitAlarmType_ActiveState_EffectiveDisplayName,9967,Variable +NonExclusiveLimitAlarmType_ActiveState_TransitionTime,9968,Variable +NonExclusiveLimitAlarmType_ActiveState_EffectiveTransitionTime,9969,Variable +NonExclusiveLimitAlarmType_ActiveState_TrueState,9970,Variable +NonExclusiveLimitAlarmType_ActiveState_FalseState,9971,Variable +NonExclusiveLimitAlarmType_SuppressedState,9972,Variable +NonExclusiveLimitAlarmType_SuppressedState_Id,9973,Variable +NonExclusiveLimitAlarmType_SuppressedState_Name,9974,Variable +NonExclusiveLimitAlarmType_SuppressedState_Number,9975,Variable +NonExclusiveLimitAlarmType_SuppressedState_EffectiveDisplayName,9976,Variable +NonExclusiveLimitAlarmType_SuppressedState_TransitionTime,9977,Variable +NonExclusiveLimitAlarmType_SuppressedState_EffectiveTransitionTime,9978,Variable +NonExclusiveLimitAlarmType_SuppressedState_TrueState,9979,Variable +NonExclusiveLimitAlarmType_SuppressedState_FalseState,9980,Variable +NonExclusiveLimitAlarmType_ShelvingState,9981,Object +NonExclusiveLimitAlarmType_ShelvingState_CurrentState,9982,Variable +NonExclusiveLimitAlarmType_ShelvingState_CurrentState_Id,9983,Variable +NonExclusiveLimitAlarmType_ShelvingState_CurrentState_Name,9984,Variable +NonExclusiveLimitAlarmType_ShelvingState_CurrentState_Number,9985,Variable +NonExclusiveLimitAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,9986,Variable +NonExclusiveLimitAlarmType_ShelvingState_LastTransition,9987,Variable +NonExclusiveLimitAlarmType_ShelvingState_LastTransition_Id,9988,Variable +NonExclusiveLimitAlarmType_ShelvingState_LastTransition_Name,9989,Variable +NonExclusiveLimitAlarmType_ShelvingState_LastTransition_Number,9990,Variable +NonExclusiveLimitAlarmType_ShelvingState_LastTransition_TransitionTime,9991,Variable +NonExclusiveLimitAlarmType_ShelvingState_UnshelveTime,9992,Variable +NonExclusiveLimitAlarmType_ShelvingState_Unshelve,10014,Method +NonExclusiveLimitAlarmType_ShelvingState_OneShotShelve,10015,Method +NonExclusiveLimitAlarmType_ShelvingState_TimedShelve,10016,Method +NonExclusiveLimitAlarmType_ShelvingState_TimedShelve_InputArguments,10017,Variable +NonExclusiveLimitAlarmType_SuppressedOrShelved,10018,Variable +NonExclusiveLimitAlarmType_MaxTimeShelved,10019,Variable +NonExclusiveLimitAlarmType_HighHighState,10020,Variable +NonExclusiveLimitAlarmType_HighHighState_Id,10021,Variable +NonExclusiveLimitAlarmType_HighHighState_Name,10022,Variable +NonExclusiveLimitAlarmType_HighHighState_Number,10023,Variable +NonExclusiveLimitAlarmType_HighHighState_EffectiveDisplayName,10024,Variable +NonExclusiveLimitAlarmType_HighHighState_TransitionTime,10025,Variable +NonExclusiveLimitAlarmType_HighHighState_EffectiveTransitionTime,10026,Variable +NonExclusiveLimitAlarmType_HighHighState_TrueState,10027,Variable +NonExclusiveLimitAlarmType_HighHighState_FalseState,10028,Variable +NonExclusiveLimitAlarmType_HighState,10029,Variable +NonExclusiveLimitAlarmType_HighState_Id,10030,Variable +NonExclusiveLimitAlarmType_HighState_Name,10031,Variable +NonExclusiveLimitAlarmType_HighState_Number,10032,Variable +NonExclusiveLimitAlarmType_HighState_EffectiveDisplayName,10033,Variable +NonExclusiveLimitAlarmType_HighState_TransitionTime,10034,Variable +NonExclusiveLimitAlarmType_HighState_EffectiveTransitionTime,10035,Variable +NonExclusiveLimitAlarmType_HighState_TrueState,10036,Variable +NonExclusiveLimitAlarmType_HighState_FalseState,10037,Variable +NonExclusiveLimitAlarmType_LowState,10038,Variable +NonExclusiveLimitAlarmType_LowState_Id,10039,Variable +NonExclusiveLimitAlarmType_LowState_Name,10040,Variable +NonExclusiveLimitAlarmType_LowState_Number,10041,Variable +NonExclusiveLimitAlarmType_LowState_EffectiveDisplayName,10042,Variable +NonExclusiveLimitAlarmType_LowState_TransitionTime,10043,Variable +NonExclusiveLimitAlarmType_LowState_EffectiveTransitionTime,10044,Variable +NonExclusiveLimitAlarmType_LowState_TrueState,10045,Variable +NonExclusiveLimitAlarmType_LowState_FalseState,10046,Variable +NonExclusiveLimitAlarmType_LowLowState,10047,Variable +NonExclusiveLimitAlarmType_LowLowState_Id,10048,Variable +NonExclusiveLimitAlarmType_LowLowState_Name,10049,Variable +NonExclusiveLimitAlarmType_LowLowState_Number,10050,Variable +NonExclusiveLimitAlarmType_LowLowState_EffectiveDisplayName,10051,Variable +NonExclusiveLimitAlarmType_LowLowState_TransitionTime,10052,Variable +NonExclusiveLimitAlarmType_LowLowState_EffectiveTransitionTime,10053,Variable +NonExclusiveLimitAlarmType_LowLowState_TrueState,10054,Variable +NonExclusiveLimitAlarmType_LowLowState_FalseState,10055,Variable +NonExclusiveLimitAlarmType_HighHighLimit,10056,Variable +NonExclusiveLimitAlarmType_HighLimit,10057,Variable +NonExclusiveLimitAlarmType_LowLimit,10058,Variable +NonExclusiveLimitAlarmType_LowLowLimit,10059,Variable +NonExclusiveLevelAlarmType,10060,ObjectType +NonExclusiveLevelAlarmType_EventId,10061,Variable +NonExclusiveLevelAlarmType_EventType,10062,Variable +NonExclusiveLevelAlarmType_SourceNode,10063,Variable +NonExclusiveLevelAlarmType_SourceName,10064,Variable +NonExclusiveLevelAlarmType_Time,10065,Variable +NonExclusiveLevelAlarmType_ReceiveTime,10066,Variable +NonExclusiveLevelAlarmType_LocalTime,10067,Variable +NonExclusiveLevelAlarmType_Message,10068,Variable +NonExclusiveLevelAlarmType_Severity,10069,Variable +NonExclusiveLevelAlarmType_ConditionName,10070,Variable +NonExclusiveLevelAlarmType_BranchId,10071,Variable +NonExclusiveLevelAlarmType_Retain,10072,Variable +NonExclusiveLevelAlarmType_EnabledState,10073,Variable +NonExclusiveLevelAlarmType_EnabledState_Id,10074,Variable +NonExclusiveLevelAlarmType_EnabledState_Name,10075,Variable +NonExclusiveLevelAlarmType_EnabledState_Number,10076,Variable +NonExclusiveLevelAlarmType_EnabledState_EffectiveDisplayName,10077,Variable +NonExclusiveLevelAlarmType_EnabledState_TransitionTime,10078,Variable +NonExclusiveLevelAlarmType_EnabledState_EffectiveTransitionTime,10079,Variable +NonExclusiveLevelAlarmType_EnabledState_TrueState,10080,Variable +NonExclusiveLevelAlarmType_EnabledState_FalseState,10081,Variable +NonExclusiveLevelAlarmType_Quality,10082,Variable +NonExclusiveLevelAlarmType_Quality_SourceTimestamp,10083,Variable +NonExclusiveLevelAlarmType_LastSeverity,10084,Variable +NonExclusiveLevelAlarmType_LastSeverity_SourceTimestamp,10085,Variable +NonExclusiveLevelAlarmType_Comment,10086,Variable +NonExclusiveLevelAlarmType_Comment_SourceTimestamp,10087,Variable +NonExclusiveLevelAlarmType_ClientUserId,10088,Variable +NonExclusiveLevelAlarmType_Enable,10089,Method +NonExclusiveLevelAlarmType_Disable,10090,Method +NonExclusiveLevelAlarmType_AddComment,10091,Method +NonExclusiveLevelAlarmType_AddComment_InputArguments,10092,Variable +NonExclusiveLevelAlarmType_ConditionRefresh,10093,Method +NonExclusiveLevelAlarmType_ConditionRefresh_InputArguments,10094,Variable +NonExclusiveLevelAlarmType_AckedState,10095,Variable +NonExclusiveLevelAlarmType_AckedState_Id,10096,Variable +NonExclusiveLevelAlarmType_AckedState_Name,10097,Variable +NonExclusiveLevelAlarmType_AckedState_Number,10098,Variable +NonExclusiveLevelAlarmType_AckedState_EffectiveDisplayName,10099,Variable +NonExclusiveLevelAlarmType_AckedState_TransitionTime,10100,Variable +NonExclusiveLevelAlarmType_AckedState_EffectiveTransitionTime,10101,Variable +NonExclusiveLevelAlarmType_AckedState_TrueState,10102,Variable +NonExclusiveLevelAlarmType_AckedState_FalseState,10103,Variable +NonExclusiveLevelAlarmType_ConfirmedState,10104,Variable +NonExclusiveLevelAlarmType_ConfirmedState_Id,10105,Variable +NonExclusiveLevelAlarmType_ConfirmedState_Name,10106,Variable +NonExclusiveLevelAlarmType_ConfirmedState_Number,10107,Variable +NonExclusiveLevelAlarmType_ConfirmedState_EffectiveDisplayName,10108,Variable +NonExclusiveLevelAlarmType_ConfirmedState_TransitionTime,10109,Variable +NonExclusiveLevelAlarmType_ConfirmedState_EffectiveTransitionTime,10110,Variable +NonExclusiveLevelAlarmType_ConfirmedState_TrueState,10111,Variable +NonExclusiveLevelAlarmType_ConfirmedState_FalseState,10112,Variable +NonExclusiveLevelAlarmType_Acknowledge,10113,Method +NonExclusiveLevelAlarmType_Acknowledge_InputArguments,10114,Variable +NonExclusiveLevelAlarmType_Confirm,10115,Method +NonExclusiveLevelAlarmType_Confirm_InputArguments,10116,Variable +NonExclusiveLevelAlarmType_ActiveState,10117,Variable +NonExclusiveLevelAlarmType_ActiveState_Id,10118,Variable +NonExclusiveLevelAlarmType_ActiveState_Name,10119,Variable +NonExclusiveLevelAlarmType_ActiveState_Number,10120,Variable +NonExclusiveLevelAlarmType_ActiveState_EffectiveDisplayName,10121,Variable +NonExclusiveLevelAlarmType_ActiveState_TransitionTime,10122,Variable +NonExclusiveLevelAlarmType_ActiveState_EffectiveTransitionTime,10123,Variable +NonExclusiveLevelAlarmType_ActiveState_TrueState,10124,Variable +NonExclusiveLevelAlarmType_ActiveState_FalseState,10125,Variable +NonExclusiveLevelAlarmType_SuppressedState,10126,Variable +NonExclusiveLevelAlarmType_SuppressedState_Id,10127,Variable +NonExclusiveLevelAlarmType_SuppressedState_Name,10128,Variable +NonExclusiveLevelAlarmType_SuppressedState_Number,10129,Variable +NonExclusiveLevelAlarmType_SuppressedState_EffectiveDisplayName,10130,Variable +NonExclusiveLevelAlarmType_SuppressedState_TransitionTime,10131,Variable +NonExclusiveLevelAlarmType_SuppressedState_EffectiveTransitionTime,10132,Variable +NonExclusiveLevelAlarmType_SuppressedState_TrueState,10133,Variable +NonExclusiveLevelAlarmType_SuppressedState_FalseState,10134,Variable +NonExclusiveLevelAlarmType_ShelvingState,10135,Object +NonExclusiveLevelAlarmType_ShelvingState_CurrentState,10136,Variable +NonExclusiveLevelAlarmType_ShelvingState_CurrentState_Id,10137,Variable +NonExclusiveLevelAlarmType_ShelvingState_CurrentState_Name,10138,Variable +NonExclusiveLevelAlarmType_ShelvingState_CurrentState_Number,10139,Variable +NonExclusiveLevelAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,10140,Variable +NonExclusiveLevelAlarmType_ShelvingState_LastTransition,10141,Variable +NonExclusiveLevelAlarmType_ShelvingState_LastTransition_Id,10142,Variable +NonExclusiveLevelAlarmType_ShelvingState_LastTransition_Name,10143,Variable +NonExclusiveLevelAlarmType_ShelvingState_LastTransition_Number,10144,Variable +NonExclusiveLevelAlarmType_ShelvingState_LastTransition_TransitionTime,10145,Variable +NonExclusiveLevelAlarmType_ShelvingState_UnshelveTime,10146,Variable +NonExclusiveLevelAlarmType_ShelvingState_Unshelve,10168,Method +NonExclusiveLevelAlarmType_ShelvingState_OneShotShelve,10169,Method +NonExclusiveLevelAlarmType_ShelvingState_TimedShelve,10170,Method +NonExclusiveLevelAlarmType_ShelvingState_TimedShelve_InputArguments,10171,Variable +NonExclusiveLevelAlarmType_SuppressedOrShelved,10172,Variable +NonExclusiveLevelAlarmType_MaxTimeShelved,10173,Variable +NonExclusiveLevelAlarmType_HighHighState,10174,Variable +NonExclusiveLevelAlarmType_HighHighState_Id,10175,Variable +NonExclusiveLevelAlarmType_HighHighState_Name,10176,Variable +NonExclusiveLevelAlarmType_HighHighState_Number,10177,Variable +NonExclusiveLevelAlarmType_HighHighState_EffectiveDisplayName,10178,Variable +NonExclusiveLevelAlarmType_HighHighState_TransitionTime,10179,Variable +NonExclusiveLevelAlarmType_HighHighState_EffectiveTransitionTime,10180,Variable +NonExclusiveLevelAlarmType_HighHighState_TrueState,10181,Variable +NonExclusiveLevelAlarmType_HighHighState_FalseState,10182,Variable +NonExclusiveLevelAlarmType_HighState,10183,Variable +NonExclusiveLevelAlarmType_HighState_Id,10184,Variable +NonExclusiveLevelAlarmType_HighState_Name,10185,Variable +NonExclusiveLevelAlarmType_HighState_Number,10186,Variable +NonExclusiveLevelAlarmType_HighState_EffectiveDisplayName,10187,Variable +NonExclusiveLevelAlarmType_HighState_TransitionTime,10188,Variable +NonExclusiveLevelAlarmType_HighState_EffectiveTransitionTime,10189,Variable +NonExclusiveLevelAlarmType_HighState_TrueState,10190,Variable +NonExclusiveLevelAlarmType_HighState_FalseState,10191,Variable +NonExclusiveLevelAlarmType_LowState,10192,Variable +NonExclusiveLevelAlarmType_LowState_Id,10193,Variable +NonExclusiveLevelAlarmType_LowState_Name,10194,Variable +NonExclusiveLevelAlarmType_LowState_Number,10195,Variable +NonExclusiveLevelAlarmType_LowState_EffectiveDisplayName,10196,Variable +NonExclusiveLevelAlarmType_LowState_TransitionTime,10197,Variable +NonExclusiveLevelAlarmType_LowState_EffectiveTransitionTime,10198,Variable +NonExclusiveLevelAlarmType_LowState_TrueState,10199,Variable +NonExclusiveLevelAlarmType_LowState_FalseState,10200,Variable +NonExclusiveLevelAlarmType_LowLowState,10201,Variable +NonExclusiveLevelAlarmType_LowLowState_Id,10202,Variable +NonExclusiveLevelAlarmType_LowLowState_Name,10203,Variable +NonExclusiveLevelAlarmType_LowLowState_Number,10204,Variable +NonExclusiveLevelAlarmType_LowLowState_EffectiveDisplayName,10205,Variable +NonExclusiveLevelAlarmType_LowLowState_TransitionTime,10206,Variable +NonExclusiveLevelAlarmType_LowLowState_EffectiveTransitionTime,10207,Variable +NonExclusiveLevelAlarmType_LowLowState_TrueState,10208,Variable +NonExclusiveLevelAlarmType_LowLowState_FalseState,10209,Variable +NonExclusiveLevelAlarmType_HighHighLimit,10210,Variable +NonExclusiveLevelAlarmType_HighLimit,10211,Variable +NonExclusiveLevelAlarmType_LowLimit,10212,Variable +NonExclusiveLevelAlarmType_LowLowLimit,10213,Variable +NonExclusiveRateOfChangeAlarmType,10214,ObjectType +NonExclusiveRateOfChangeAlarmType_EventId,10215,Variable +NonExclusiveRateOfChangeAlarmType_EventType,10216,Variable +NonExclusiveRateOfChangeAlarmType_SourceNode,10217,Variable +NonExclusiveRateOfChangeAlarmType_SourceName,10218,Variable +NonExclusiveRateOfChangeAlarmType_Time,10219,Variable +NonExclusiveRateOfChangeAlarmType_ReceiveTime,10220,Variable +NonExclusiveRateOfChangeAlarmType_LocalTime,10221,Variable +NonExclusiveRateOfChangeAlarmType_Message,10222,Variable +NonExclusiveRateOfChangeAlarmType_Severity,10223,Variable +NonExclusiveRateOfChangeAlarmType_ConditionName,10224,Variable +NonExclusiveRateOfChangeAlarmType_BranchId,10225,Variable +NonExclusiveRateOfChangeAlarmType_Retain,10226,Variable +NonExclusiveRateOfChangeAlarmType_EnabledState,10227,Variable +NonExclusiveRateOfChangeAlarmType_EnabledState_Id,10228,Variable +NonExclusiveRateOfChangeAlarmType_EnabledState_Name,10229,Variable +NonExclusiveRateOfChangeAlarmType_EnabledState_Number,10230,Variable +NonExclusiveRateOfChangeAlarmType_EnabledState_EffectiveDisplayName,10231,Variable +NonExclusiveRateOfChangeAlarmType_EnabledState_TransitionTime,10232,Variable +NonExclusiveRateOfChangeAlarmType_EnabledState_EffectiveTransitionTime,10233,Variable +NonExclusiveRateOfChangeAlarmType_EnabledState_TrueState,10234,Variable +NonExclusiveRateOfChangeAlarmType_EnabledState_FalseState,10235,Variable +NonExclusiveRateOfChangeAlarmType_Quality,10236,Variable +NonExclusiveRateOfChangeAlarmType_Quality_SourceTimestamp,10237,Variable +NonExclusiveRateOfChangeAlarmType_LastSeverity,10238,Variable +NonExclusiveRateOfChangeAlarmType_LastSeverity_SourceTimestamp,10239,Variable +NonExclusiveRateOfChangeAlarmType_Comment,10240,Variable +NonExclusiveRateOfChangeAlarmType_Comment_SourceTimestamp,10241,Variable +NonExclusiveRateOfChangeAlarmType_ClientUserId,10242,Variable +NonExclusiveRateOfChangeAlarmType_Enable,10243,Method +NonExclusiveRateOfChangeAlarmType_Disable,10244,Method +NonExclusiveRateOfChangeAlarmType_AddComment,10245,Method +NonExclusiveRateOfChangeAlarmType_AddComment_InputArguments,10246,Variable +NonExclusiveRateOfChangeAlarmType_ConditionRefresh,10247,Method +NonExclusiveRateOfChangeAlarmType_ConditionRefresh_InputArguments,10248,Variable +NonExclusiveRateOfChangeAlarmType_AckedState,10249,Variable +NonExclusiveRateOfChangeAlarmType_AckedState_Id,10250,Variable +NonExclusiveRateOfChangeAlarmType_AckedState_Name,10251,Variable +NonExclusiveRateOfChangeAlarmType_AckedState_Number,10252,Variable +NonExclusiveRateOfChangeAlarmType_AckedState_EffectiveDisplayName,10253,Variable +NonExclusiveRateOfChangeAlarmType_AckedState_TransitionTime,10254,Variable +NonExclusiveRateOfChangeAlarmType_AckedState_EffectiveTransitionTime,10255,Variable +NonExclusiveRateOfChangeAlarmType_AckedState_TrueState,10256,Variable +NonExclusiveRateOfChangeAlarmType_AckedState_FalseState,10257,Variable +NonExclusiveRateOfChangeAlarmType_ConfirmedState,10258,Variable +NonExclusiveRateOfChangeAlarmType_ConfirmedState_Id,10259,Variable +NonExclusiveRateOfChangeAlarmType_ConfirmedState_Name,10260,Variable +NonExclusiveRateOfChangeAlarmType_ConfirmedState_Number,10261,Variable +NonExclusiveRateOfChangeAlarmType_ConfirmedState_EffectiveDisplayName,10262,Variable +NonExclusiveRateOfChangeAlarmType_ConfirmedState_TransitionTime,10263,Variable +NonExclusiveRateOfChangeAlarmType_ConfirmedState_EffectiveTransitionTime,10264,Variable +NonExclusiveRateOfChangeAlarmType_ConfirmedState_TrueState,10265,Variable +NonExclusiveRateOfChangeAlarmType_ConfirmedState_FalseState,10266,Variable +NonExclusiveRateOfChangeAlarmType_Acknowledge,10267,Method +NonExclusiveRateOfChangeAlarmType_Acknowledge_InputArguments,10268,Variable +NonExclusiveRateOfChangeAlarmType_Confirm,10269,Method +NonExclusiveRateOfChangeAlarmType_Confirm_InputArguments,10270,Variable +NonExclusiveRateOfChangeAlarmType_ActiveState,10271,Variable +NonExclusiveRateOfChangeAlarmType_ActiveState_Id,10272,Variable +NonExclusiveRateOfChangeAlarmType_ActiveState_Name,10273,Variable +NonExclusiveRateOfChangeAlarmType_ActiveState_Number,10274,Variable +NonExclusiveRateOfChangeAlarmType_ActiveState_EffectiveDisplayName,10275,Variable +NonExclusiveRateOfChangeAlarmType_ActiveState_TransitionTime,10276,Variable +NonExclusiveRateOfChangeAlarmType_ActiveState_EffectiveTransitionTime,10277,Variable +NonExclusiveRateOfChangeAlarmType_ActiveState_TrueState,10278,Variable +NonExclusiveRateOfChangeAlarmType_ActiveState_FalseState,10279,Variable +NonExclusiveRateOfChangeAlarmType_SuppressedState,10280,Variable +NonExclusiveRateOfChangeAlarmType_SuppressedState_Id,10281,Variable +NonExclusiveRateOfChangeAlarmType_SuppressedState_Name,10282,Variable +NonExclusiveRateOfChangeAlarmType_SuppressedState_Number,10283,Variable +NonExclusiveRateOfChangeAlarmType_SuppressedState_EffectiveDisplayName,10284,Variable +NonExclusiveRateOfChangeAlarmType_SuppressedState_TransitionTime,10285,Variable +NonExclusiveRateOfChangeAlarmType_SuppressedState_EffectiveTransitionTime,10286,Variable +NonExclusiveRateOfChangeAlarmType_SuppressedState_TrueState,10287,Variable +NonExclusiveRateOfChangeAlarmType_SuppressedState_FalseState,10288,Variable +NonExclusiveRateOfChangeAlarmType_ShelvingState,10289,Object +NonExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState,10290,Variable +NonExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_Id,10291,Variable +NonExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_Name,10292,Variable +NonExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_Number,10293,Variable +NonExclusiveRateOfChangeAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,10294,Variable +NonExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition,10295,Variable +NonExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_Id,10296,Variable +NonExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_Name,10297,Variable +NonExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_Number,10298,Variable +NonExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_TransitionTime,10299,Variable +NonExclusiveRateOfChangeAlarmType_ShelvingState_UnshelveTime,10300,Variable +NonExclusiveRateOfChangeAlarmType_ShelvingState_Unshelve,10322,Method +NonExclusiveRateOfChangeAlarmType_ShelvingState_OneShotShelve,10323,Method +NonExclusiveRateOfChangeAlarmType_ShelvingState_TimedShelve,10324,Method +NonExclusiveRateOfChangeAlarmType_ShelvingState_TimedShelve_InputArguments,10325,Variable +NonExclusiveRateOfChangeAlarmType_SuppressedOrShelved,10326,Variable +NonExclusiveRateOfChangeAlarmType_MaxTimeShelved,10327,Variable +NonExclusiveRateOfChangeAlarmType_HighHighState,10328,Variable +NonExclusiveRateOfChangeAlarmType_HighHighState_Id,10329,Variable +NonExclusiveRateOfChangeAlarmType_HighHighState_Name,10330,Variable +NonExclusiveRateOfChangeAlarmType_HighHighState_Number,10331,Variable +NonExclusiveRateOfChangeAlarmType_HighHighState_EffectiveDisplayName,10332,Variable +NonExclusiveRateOfChangeAlarmType_HighHighState_TransitionTime,10333,Variable +NonExclusiveRateOfChangeAlarmType_HighHighState_EffectiveTransitionTime,10334,Variable +NonExclusiveRateOfChangeAlarmType_HighHighState_TrueState,10335,Variable +NonExclusiveRateOfChangeAlarmType_HighHighState_FalseState,10336,Variable +NonExclusiveRateOfChangeAlarmType_HighState,10337,Variable +NonExclusiveRateOfChangeAlarmType_HighState_Id,10338,Variable +NonExclusiveRateOfChangeAlarmType_HighState_Name,10339,Variable +NonExclusiveRateOfChangeAlarmType_HighState_Number,10340,Variable +NonExclusiveRateOfChangeAlarmType_HighState_EffectiveDisplayName,10341,Variable +NonExclusiveRateOfChangeAlarmType_HighState_TransitionTime,10342,Variable +NonExclusiveRateOfChangeAlarmType_HighState_EffectiveTransitionTime,10343,Variable +NonExclusiveRateOfChangeAlarmType_HighState_TrueState,10344,Variable +NonExclusiveRateOfChangeAlarmType_HighState_FalseState,10345,Variable +NonExclusiveRateOfChangeAlarmType_LowState,10346,Variable +NonExclusiveRateOfChangeAlarmType_LowState_Id,10347,Variable +NonExclusiveRateOfChangeAlarmType_LowState_Name,10348,Variable +NonExclusiveRateOfChangeAlarmType_LowState_Number,10349,Variable +NonExclusiveRateOfChangeAlarmType_LowState_EffectiveDisplayName,10350,Variable +NonExclusiveRateOfChangeAlarmType_LowState_TransitionTime,10351,Variable +NonExclusiveRateOfChangeAlarmType_LowState_EffectiveTransitionTime,10352,Variable +NonExclusiveRateOfChangeAlarmType_LowState_TrueState,10353,Variable +NonExclusiveRateOfChangeAlarmType_LowState_FalseState,10354,Variable +NonExclusiveRateOfChangeAlarmType_LowLowState,10355,Variable +NonExclusiveRateOfChangeAlarmType_LowLowState_Id,10356,Variable +NonExclusiveRateOfChangeAlarmType_LowLowState_Name,10357,Variable +NonExclusiveRateOfChangeAlarmType_LowLowState_Number,10358,Variable +NonExclusiveRateOfChangeAlarmType_LowLowState_EffectiveDisplayName,10359,Variable +NonExclusiveRateOfChangeAlarmType_LowLowState_TransitionTime,10360,Variable +NonExclusiveRateOfChangeAlarmType_LowLowState_EffectiveTransitionTime,10361,Variable +NonExclusiveRateOfChangeAlarmType_LowLowState_TrueState,10362,Variable +NonExclusiveRateOfChangeAlarmType_LowLowState_FalseState,10363,Variable +NonExclusiveRateOfChangeAlarmType_HighHighLimit,10364,Variable +NonExclusiveRateOfChangeAlarmType_HighLimit,10365,Variable +NonExclusiveRateOfChangeAlarmType_LowLimit,10366,Variable +NonExclusiveRateOfChangeAlarmType_LowLowLimit,10367,Variable +NonExclusiveDeviationAlarmType,10368,ObjectType +NonExclusiveDeviationAlarmType_EventId,10369,Variable +NonExclusiveDeviationAlarmType_EventType,10370,Variable +NonExclusiveDeviationAlarmType_SourceNode,10371,Variable +NonExclusiveDeviationAlarmType_SourceName,10372,Variable +NonExclusiveDeviationAlarmType_Time,10373,Variable +NonExclusiveDeviationAlarmType_ReceiveTime,10374,Variable +NonExclusiveDeviationAlarmType_LocalTime,10375,Variable +NonExclusiveDeviationAlarmType_Message,10376,Variable +NonExclusiveDeviationAlarmType_Severity,10377,Variable +NonExclusiveDeviationAlarmType_ConditionName,10378,Variable +NonExclusiveDeviationAlarmType_BranchId,10379,Variable +NonExclusiveDeviationAlarmType_Retain,10380,Variable +NonExclusiveDeviationAlarmType_EnabledState,10381,Variable +NonExclusiveDeviationAlarmType_EnabledState_Id,10382,Variable +NonExclusiveDeviationAlarmType_EnabledState_Name,10383,Variable +NonExclusiveDeviationAlarmType_EnabledState_Number,10384,Variable +NonExclusiveDeviationAlarmType_EnabledState_EffectiveDisplayName,10385,Variable +NonExclusiveDeviationAlarmType_EnabledState_TransitionTime,10386,Variable +NonExclusiveDeviationAlarmType_EnabledState_EffectiveTransitionTime,10387,Variable +NonExclusiveDeviationAlarmType_EnabledState_TrueState,10388,Variable +NonExclusiveDeviationAlarmType_EnabledState_FalseState,10389,Variable +NonExclusiveDeviationAlarmType_Quality,10390,Variable +NonExclusiveDeviationAlarmType_Quality_SourceTimestamp,10391,Variable +NonExclusiveDeviationAlarmType_LastSeverity,10392,Variable +NonExclusiveDeviationAlarmType_LastSeverity_SourceTimestamp,10393,Variable +NonExclusiveDeviationAlarmType_Comment,10394,Variable +NonExclusiveDeviationAlarmType_Comment_SourceTimestamp,10395,Variable +NonExclusiveDeviationAlarmType_ClientUserId,10396,Variable +NonExclusiveDeviationAlarmType_Enable,10397,Method +NonExclusiveDeviationAlarmType_Disable,10398,Method +NonExclusiveDeviationAlarmType_AddComment,10399,Method +NonExclusiveDeviationAlarmType_AddComment_InputArguments,10400,Variable +NonExclusiveDeviationAlarmType_ConditionRefresh,10401,Method +NonExclusiveDeviationAlarmType_ConditionRefresh_InputArguments,10402,Variable +NonExclusiveDeviationAlarmType_AckedState,10403,Variable +NonExclusiveDeviationAlarmType_AckedState_Id,10404,Variable +NonExclusiveDeviationAlarmType_AckedState_Name,10405,Variable +NonExclusiveDeviationAlarmType_AckedState_Number,10406,Variable +NonExclusiveDeviationAlarmType_AckedState_EffectiveDisplayName,10407,Variable +NonExclusiveDeviationAlarmType_AckedState_TransitionTime,10408,Variable +NonExclusiveDeviationAlarmType_AckedState_EffectiveTransitionTime,10409,Variable +NonExclusiveDeviationAlarmType_AckedState_TrueState,10410,Variable +NonExclusiveDeviationAlarmType_AckedState_FalseState,10411,Variable +NonExclusiveDeviationAlarmType_ConfirmedState,10412,Variable +NonExclusiveDeviationAlarmType_ConfirmedState_Id,10413,Variable +NonExclusiveDeviationAlarmType_ConfirmedState_Name,10414,Variable +NonExclusiveDeviationAlarmType_ConfirmedState_Number,10415,Variable +NonExclusiveDeviationAlarmType_ConfirmedState_EffectiveDisplayName,10416,Variable +NonExclusiveDeviationAlarmType_ConfirmedState_TransitionTime,10417,Variable +NonExclusiveDeviationAlarmType_ConfirmedState_EffectiveTransitionTime,10418,Variable +NonExclusiveDeviationAlarmType_ConfirmedState_TrueState,10419,Variable +NonExclusiveDeviationAlarmType_ConfirmedState_FalseState,10420,Variable +NonExclusiveDeviationAlarmType_Acknowledge,10421,Method +NonExclusiveDeviationAlarmType_Acknowledge_InputArguments,10422,Variable +NonExclusiveDeviationAlarmType_Confirm,10423,Method +NonExclusiveDeviationAlarmType_Confirm_InputArguments,10424,Variable +NonExclusiveDeviationAlarmType_ActiveState,10425,Variable +NonExclusiveDeviationAlarmType_ActiveState_Id,10426,Variable +NonExclusiveDeviationAlarmType_ActiveState_Name,10427,Variable +NonExclusiveDeviationAlarmType_ActiveState_Number,10428,Variable +NonExclusiveDeviationAlarmType_ActiveState_EffectiveDisplayName,10429,Variable +NonExclusiveDeviationAlarmType_ActiveState_TransitionTime,10430,Variable +NonExclusiveDeviationAlarmType_ActiveState_EffectiveTransitionTime,10431,Variable +NonExclusiveDeviationAlarmType_ActiveState_TrueState,10432,Variable +NonExclusiveDeviationAlarmType_ActiveState_FalseState,10433,Variable +NonExclusiveDeviationAlarmType_SuppressedState,10434,Variable +NonExclusiveDeviationAlarmType_SuppressedState_Id,10435,Variable +NonExclusiveDeviationAlarmType_SuppressedState_Name,10436,Variable +NonExclusiveDeviationAlarmType_SuppressedState_Number,10437,Variable +NonExclusiveDeviationAlarmType_SuppressedState_EffectiveDisplayName,10438,Variable +NonExclusiveDeviationAlarmType_SuppressedState_TransitionTime,10439,Variable +NonExclusiveDeviationAlarmType_SuppressedState_EffectiveTransitionTime,10440,Variable +NonExclusiveDeviationAlarmType_SuppressedState_TrueState,10441,Variable +NonExclusiveDeviationAlarmType_SuppressedState_FalseState,10442,Variable +NonExclusiveDeviationAlarmType_ShelvingState,10443,Object +NonExclusiveDeviationAlarmType_ShelvingState_CurrentState,10444,Variable +NonExclusiveDeviationAlarmType_ShelvingState_CurrentState_Id,10445,Variable +NonExclusiveDeviationAlarmType_ShelvingState_CurrentState_Name,10446,Variable +NonExclusiveDeviationAlarmType_ShelvingState_CurrentState_Number,10447,Variable +NonExclusiveDeviationAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,10448,Variable +NonExclusiveDeviationAlarmType_ShelvingState_LastTransition,10449,Variable +NonExclusiveDeviationAlarmType_ShelvingState_LastTransition_Id,10450,Variable +NonExclusiveDeviationAlarmType_ShelvingState_LastTransition_Name,10451,Variable +NonExclusiveDeviationAlarmType_ShelvingState_LastTransition_Number,10452,Variable +NonExclusiveDeviationAlarmType_ShelvingState_LastTransition_TransitionTime,10453,Variable +NonExclusiveDeviationAlarmType_ShelvingState_UnshelveTime,10454,Variable +NonExclusiveDeviationAlarmType_ShelvingState_Unshelve,10476,Method +NonExclusiveDeviationAlarmType_ShelvingState_OneShotShelve,10477,Method +NonExclusiveDeviationAlarmType_ShelvingState_TimedShelve,10478,Method +NonExclusiveDeviationAlarmType_ShelvingState_TimedShelve_InputArguments,10479,Variable +NonExclusiveDeviationAlarmType_SuppressedOrShelved,10480,Variable +NonExclusiveDeviationAlarmType_MaxTimeShelved,10481,Variable +NonExclusiveDeviationAlarmType_HighHighState,10482,Variable +NonExclusiveDeviationAlarmType_HighHighState_Id,10483,Variable +NonExclusiveDeviationAlarmType_HighHighState_Name,10484,Variable +NonExclusiveDeviationAlarmType_HighHighState_Number,10485,Variable +NonExclusiveDeviationAlarmType_HighHighState_EffectiveDisplayName,10486,Variable +NonExclusiveDeviationAlarmType_HighHighState_TransitionTime,10487,Variable +NonExclusiveDeviationAlarmType_HighHighState_EffectiveTransitionTime,10488,Variable +NonExclusiveDeviationAlarmType_HighHighState_TrueState,10489,Variable +NonExclusiveDeviationAlarmType_HighHighState_FalseState,10490,Variable +NonExclusiveDeviationAlarmType_HighState,10491,Variable +NonExclusiveDeviationAlarmType_HighState_Id,10492,Variable +NonExclusiveDeviationAlarmType_HighState_Name,10493,Variable +NonExclusiveDeviationAlarmType_HighState_Number,10494,Variable +NonExclusiveDeviationAlarmType_HighState_EffectiveDisplayName,10495,Variable +NonExclusiveDeviationAlarmType_HighState_TransitionTime,10496,Variable +NonExclusiveDeviationAlarmType_HighState_EffectiveTransitionTime,10497,Variable +NonExclusiveDeviationAlarmType_HighState_TrueState,10498,Variable +NonExclusiveDeviationAlarmType_HighState_FalseState,10499,Variable +NonExclusiveDeviationAlarmType_LowState,10500,Variable +NonExclusiveDeviationAlarmType_LowState_Id,10501,Variable +NonExclusiveDeviationAlarmType_LowState_Name,10502,Variable +NonExclusiveDeviationAlarmType_LowState_Number,10503,Variable +NonExclusiveDeviationAlarmType_LowState_EffectiveDisplayName,10504,Variable +NonExclusiveDeviationAlarmType_LowState_TransitionTime,10505,Variable +NonExclusiveDeviationAlarmType_LowState_EffectiveTransitionTime,10506,Variable +NonExclusiveDeviationAlarmType_LowState_TrueState,10507,Variable +NonExclusiveDeviationAlarmType_LowState_FalseState,10508,Variable +NonExclusiveDeviationAlarmType_LowLowState,10509,Variable +NonExclusiveDeviationAlarmType_LowLowState_Id,10510,Variable +NonExclusiveDeviationAlarmType_LowLowState_Name,10511,Variable +NonExclusiveDeviationAlarmType_LowLowState_Number,10512,Variable +NonExclusiveDeviationAlarmType_LowLowState_EffectiveDisplayName,10513,Variable +NonExclusiveDeviationAlarmType_LowLowState_TransitionTime,10514,Variable +NonExclusiveDeviationAlarmType_LowLowState_EffectiveTransitionTime,10515,Variable +NonExclusiveDeviationAlarmType_LowLowState_TrueState,10516,Variable +NonExclusiveDeviationAlarmType_LowLowState_FalseState,10517,Variable +NonExclusiveDeviationAlarmType_HighHighLimit,10518,Variable +NonExclusiveDeviationAlarmType_HighLimit,10519,Variable +NonExclusiveDeviationAlarmType_LowLimit,10520,Variable +NonExclusiveDeviationAlarmType_LowLowLimit,10521,Variable +NonExclusiveDeviationAlarmType_SetpointNode,10522,Variable +DiscreteAlarmType,10523,ObjectType +DiscreteAlarmType_EventId,10524,Variable +DiscreteAlarmType_EventType,10525,Variable +DiscreteAlarmType_SourceNode,10526,Variable +DiscreteAlarmType_SourceName,10527,Variable +DiscreteAlarmType_Time,10528,Variable +DiscreteAlarmType_ReceiveTime,10529,Variable +DiscreteAlarmType_LocalTime,10530,Variable +DiscreteAlarmType_Message,10531,Variable +DiscreteAlarmType_Severity,10532,Variable +DiscreteAlarmType_ConditionName,10533,Variable +DiscreteAlarmType_BranchId,10534,Variable +DiscreteAlarmType_Retain,10535,Variable +DiscreteAlarmType_EnabledState,10536,Variable +DiscreteAlarmType_EnabledState_Id,10537,Variable +DiscreteAlarmType_EnabledState_Name,10538,Variable +DiscreteAlarmType_EnabledState_Number,10539,Variable +DiscreteAlarmType_EnabledState_EffectiveDisplayName,10540,Variable +DiscreteAlarmType_EnabledState_TransitionTime,10541,Variable +DiscreteAlarmType_EnabledState_EffectiveTransitionTime,10542,Variable +DiscreteAlarmType_EnabledState_TrueState,10543,Variable +DiscreteAlarmType_EnabledState_FalseState,10544,Variable +DiscreteAlarmType_Quality,10545,Variable +DiscreteAlarmType_Quality_SourceTimestamp,10546,Variable +DiscreteAlarmType_LastSeverity,10547,Variable +DiscreteAlarmType_LastSeverity_SourceTimestamp,10548,Variable +DiscreteAlarmType_Comment,10549,Variable +DiscreteAlarmType_Comment_SourceTimestamp,10550,Variable +DiscreteAlarmType_ClientUserId,10551,Variable +DiscreteAlarmType_Enable,10552,Method +DiscreteAlarmType_Disable,10553,Method +DiscreteAlarmType_AddComment,10554,Method +DiscreteAlarmType_AddComment_InputArguments,10555,Variable +DiscreteAlarmType_ConditionRefresh,10556,Method +DiscreteAlarmType_ConditionRefresh_InputArguments,10557,Variable +DiscreteAlarmType_AckedState,10558,Variable +DiscreteAlarmType_AckedState_Id,10559,Variable +DiscreteAlarmType_AckedState_Name,10560,Variable +DiscreteAlarmType_AckedState_Number,10561,Variable +DiscreteAlarmType_AckedState_EffectiveDisplayName,10562,Variable +DiscreteAlarmType_AckedState_TransitionTime,10563,Variable +DiscreteAlarmType_AckedState_EffectiveTransitionTime,10564,Variable +DiscreteAlarmType_AckedState_TrueState,10565,Variable +DiscreteAlarmType_AckedState_FalseState,10566,Variable +DiscreteAlarmType_ConfirmedState,10567,Variable +DiscreteAlarmType_ConfirmedState_Id,10568,Variable +DiscreteAlarmType_ConfirmedState_Name,10569,Variable +DiscreteAlarmType_ConfirmedState_Number,10570,Variable +DiscreteAlarmType_ConfirmedState_EffectiveDisplayName,10571,Variable +DiscreteAlarmType_ConfirmedState_TransitionTime,10572,Variable +DiscreteAlarmType_ConfirmedState_EffectiveTransitionTime,10573,Variable +DiscreteAlarmType_ConfirmedState_TrueState,10574,Variable +DiscreteAlarmType_ConfirmedState_FalseState,10575,Variable +DiscreteAlarmType_Acknowledge,10576,Method +DiscreteAlarmType_Acknowledge_InputArguments,10577,Variable +DiscreteAlarmType_Confirm,10578,Method +DiscreteAlarmType_Confirm_InputArguments,10579,Variable +DiscreteAlarmType_ActiveState,10580,Variable +DiscreteAlarmType_ActiveState_Id,10581,Variable +DiscreteAlarmType_ActiveState_Name,10582,Variable +DiscreteAlarmType_ActiveState_Number,10583,Variable +DiscreteAlarmType_ActiveState_EffectiveDisplayName,10584,Variable +DiscreteAlarmType_ActiveState_TransitionTime,10585,Variable +DiscreteAlarmType_ActiveState_EffectiveTransitionTime,10586,Variable +DiscreteAlarmType_ActiveState_TrueState,10587,Variable +DiscreteAlarmType_ActiveState_FalseState,10588,Variable +DiscreteAlarmType_SuppressedState,10589,Variable +DiscreteAlarmType_SuppressedState_Id,10590,Variable +DiscreteAlarmType_SuppressedState_Name,10591,Variable +DiscreteAlarmType_SuppressedState_Number,10592,Variable +DiscreteAlarmType_SuppressedState_EffectiveDisplayName,10593,Variable +DiscreteAlarmType_SuppressedState_TransitionTime,10594,Variable +DiscreteAlarmType_SuppressedState_EffectiveTransitionTime,10595,Variable +DiscreteAlarmType_SuppressedState_TrueState,10596,Variable +DiscreteAlarmType_SuppressedState_FalseState,10597,Variable +DiscreteAlarmType_ShelvingState,10598,Object +DiscreteAlarmType_ShelvingState_CurrentState,10599,Variable +DiscreteAlarmType_ShelvingState_CurrentState_Id,10600,Variable +DiscreteAlarmType_ShelvingState_CurrentState_Name,10601,Variable +DiscreteAlarmType_ShelvingState_CurrentState_Number,10602,Variable +DiscreteAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,10603,Variable +DiscreteAlarmType_ShelvingState_LastTransition,10604,Variable +DiscreteAlarmType_ShelvingState_LastTransition_Id,10605,Variable +DiscreteAlarmType_ShelvingState_LastTransition_Name,10606,Variable +DiscreteAlarmType_ShelvingState_LastTransition_Number,10607,Variable +DiscreteAlarmType_ShelvingState_LastTransition_TransitionTime,10608,Variable +DiscreteAlarmType_ShelvingState_UnshelveTime,10609,Variable +DiscreteAlarmType_ShelvingState_Unshelve,10631,Method +DiscreteAlarmType_ShelvingState_OneShotShelve,10632,Method +DiscreteAlarmType_ShelvingState_TimedShelve,10633,Method +DiscreteAlarmType_ShelvingState_TimedShelve_InputArguments,10634,Variable +DiscreteAlarmType_SuppressedOrShelved,10635,Variable +DiscreteAlarmType_MaxTimeShelved,10636,Variable +OffNormalAlarmType,10637,ObjectType +OffNormalAlarmType_EventId,10638,Variable +OffNormalAlarmType_EventType,10639,Variable +OffNormalAlarmType_SourceNode,10640,Variable +OffNormalAlarmType_SourceName,10641,Variable +OffNormalAlarmType_Time,10642,Variable +OffNormalAlarmType_ReceiveTime,10643,Variable +OffNormalAlarmType_LocalTime,10644,Variable +OffNormalAlarmType_Message,10645,Variable +OffNormalAlarmType_Severity,10646,Variable +OffNormalAlarmType_ConditionName,10647,Variable +OffNormalAlarmType_BranchId,10648,Variable +OffNormalAlarmType_Retain,10649,Variable +OffNormalAlarmType_EnabledState,10650,Variable +OffNormalAlarmType_EnabledState_Id,10651,Variable +OffNormalAlarmType_EnabledState_Name,10652,Variable +OffNormalAlarmType_EnabledState_Number,10653,Variable +OffNormalAlarmType_EnabledState_EffectiveDisplayName,10654,Variable +OffNormalAlarmType_EnabledState_TransitionTime,10655,Variable +OffNormalAlarmType_EnabledState_EffectiveTransitionTime,10656,Variable +OffNormalAlarmType_EnabledState_TrueState,10657,Variable +OffNormalAlarmType_EnabledState_FalseState,10658,Variable +OffNormalAlarmType_Quality,10659,Variable +OffNormalAlarmType_Quality_SourceTimestamp,10660,Variable +OffNormalAlarmType_LastSeverity,10661,Variable +OffNormalAlarmType_LastSeverity_SourceTimestamp,10662,Variable +OffNormalAlarmType_Comment,10663,Variable +OffNormalAlarmType_Comment_SourceTimestamp,10664,Variable +OffNormalAlarmType_ClientUserId,10665,Variable +OffNormalAlarmType_Enable,10666,Method +OffNormalAlarmType_Disable,10667,Method +OffNormalAlarmType_AddComment,10668,Method +OffNormalAlarmType_AddComment_InputArguments,10669,Variable +OffNormalAlarmType_ConditionRefresh,10670,Method +OffNormalAlarmType_ConditionRefresh_InputArguments,10671,Variable +OffNormalAlarmType_AckedState,10672,Variable +OffNormalAlarmType_AckedState_Id,10673,Variable +OffNormalAlarmType_AckedState_Name,10674,Variable +OffNormalAlarmType_AckedState_Number,10675,Variable +OffNormalAlarmType_AckedState_EffectiveDisplayName,10676,Variable +OffNormalAlarmType_AckedState_TransitionTime,10677,Variable +OffNormalAlarmType_AckedState_EffectiveTransitionTime,10678,Variable +OffNormalAlarmType_AckedState_TrueState,10679,Variable +OffNormalAlarmType_AckedState_FalseState,10680,Variable +OffNormalAlarmType_ConfirmedState,10681,Variable +OffNormalAlarmType_ConfirmedState_Id,10682,Variable +OffNormalAlarmType_ConfirmedState_Name,10683,Variable +OffNormalAlarmType_ConfirmedState_Number,10684,Variable +OffNormalAlarmType_ConfirmedState_EffectiveDisplayName,10685,Variable +OffNormalAlarmType_ConfirmedState_TransitionTime,10686,Variable +OffNormalAlarmType_ConfirmedState_EffectiveTransitionTime,10687,Variable +OffNormalAlarmType_ConfirmedState_TrueState,10688,Variable +OffNormalAlarmType_ConfirmedState_FalseState,10689,Variable +OffNormalAlarmType_Acknowledge,10690,Method +OffNormalAlarmType_Acknowledge_InputArguments,10691,Variable +OffNormalAlarmType_Confirm,10692,Method +OffNormalAlarmType_Confirm_InputArguments,10693,Variable +OffNormalAlarmType_ActiveState,10694,Variable +OffNormalAlarmType_ActiveState_Id,10695,Variable +OffNormalAlarmType_ActiveState_Name,10696,Variable +OffNormalAlarmType_ActiveState_Number,10697,Variable +OffNormalAlarmType_ActiveState_EffectiveDisplayName,10698,Variable +OffNormalAlarmType_ActiveState_TransitionTime,10699,Variable +OffNormalAlarmType_ActiveState_EffectiveTransitionTime,10700,Variable +OffNormalAlarmType_ActiveState_TrueState,10701,Variable +OffNormalAlarmType_ActiveState_FalseState,10702,Variable +OffNormalAlarmType_SuppressedState,10703,Variable +OffNormalAlarmType_SuppressedState_Id,10704,Variable +OffNormalAlarmType_SuppressedState_Name,10705,Variable +OffNormalAlarmType_SuppressedState_Number,10706,Variable +OffNormalAlarmType_SuppressedState_EffectiveDisplayName,10707,Variable +OffNormalAlarmType_SuppressedState_TransitionTime,10708,Variable +OffNormalAlarmType_SuppressedState_EffectiveTransitionTime,10709,Variable +OffNormalAlarmType_SuppressedState_TrueState,10710,Variable +OffNormalAlarmType_SuppressedState_FalseState,10711,Variable +OffNormalAlarmType_ShelvingState,10712,Object +OffNormalAlarmType_ShelvingState_CurrentState,10713,Variable +OffNormalAlarmType_ShelvingState_CurrentState_Id,10714,Variable +OffNormalAlarmType_ShelvingState_CurrentState_Name,10715,Variable +OffNormalAlarmType_ShelvingState_CurrentState_Number,10716,Variable +OffNormalAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,10717,Variable +OffNormalAlarmType_ShelvingState_LastTransition,10718,Variable +OffNormalAlarmType_ShelvingState_LastTransition_Id,10719,Variable +OffNormalAlarmType_ShelvingState_LastTransition_Name,10720,Variable +OffNormalAlarmType_ShelvingState_LastTransition_Number,10721,Variable +OffNormalAlarmType_ShelvingState_LastTransition_TransitionTime,10722,Variable +OffNormalAlarmType_ShelvingState_UnshelveTime,10723,Variable +OffNormalAlarmType_ShelvingState_Unshelve,10745,Method +OffNormalAlarmType_ShelvingState_OneShotShelve,10746,Method +OffNormalAlarmType_ShelvingState_TimedShelve,10747,Method +OffNormalAlarmType_ShelvingState_TimedShelve_InputArguments,10748,Variable +OffNormalAlarmType_SuppressedOrShelved,10749,Variable +OffNormalAlarmType_MaxTimeShelved,10750,Variable +TripAlarmType,10751,ObjectType +TripAlarmType_EventId,10752,Variable +TripAlarmType_EventType,10753,Variable +TripAlarmType_SourceNode,10754,Variable +TripAlarmType_SourceName,10755,Variable +TripAlarmType_Time,10756,Variable +TripAlarmType_ReceiveTime,10757,Variable +TripAlarmType_LocalTime,10758,Variable +TripAlarmType_Message,10759,Variable +TripAlarmType_Severity,10760,Variable +TripAlarmType_ConditionName,10761,Variable +TripAlarmType_BranchId,10762,Variable +TripAlarmType_Retain,10763,Variable +TripAlarmType_EnabledState,10764,Variable +TripAlarmType_EnabledState_Id,10765,Variable +TripAlarmType_EnabledState_Name,10766,Variable +TripAlarmType_EnabledState_Number,10767,Variable +TripAlarmType_EnabledState_EffectiveDisplayName,10768,Variable +TripAlarmType_EnabledState_TransitionTime,10769,Variable +TripAlarmType_EnabledState_EffectiveTransitionTime,10770,Variable +TripAlarmType_EnabledState_TrueState,10771,Variable +TripAlarmType_EnabledState_FalseState,10772,Variable +TripAlarmType_Quality,10773,Variable +TripAlarmType_Quality_SourceTimestamp,10774,Variable +TripAlarmType_LastSeverity,10775,Variable +TripAlarmType_LastSeverity_SourceTimestamp,10776,Variable +TripAlarmType_Comment,10777,Variable +TripAlarmType_Comment_SourceTimestamp,10778,Variable +TripAlarmType_ClientUserId,10779,Variable +TripAlarmType_Enable,10780,Method +TripAlarmType_Disable,10781,Method +TripAlarmType_AddComment,10782,Method +TripAlarmType_AddComment_InputArguments,10783,Variable +TripAlarmType_ConditionRefresh,10784,Method +TripAlarmType_ConditionRefresh_InputArguments,10785,Variable +TripAlarmType_AckedState,10786,Variable +TripAlarmType_AckedState_Id,10787,Variable +TripAlarmType_AckedState_Name,10788,Variable +TripAlarmType_AckedState_Number,10789,Variable +TripAlarmType_AckedState_EffectiveDisplayName,10790,Variable +TripAlarmType_AckedState_TransitionTime,10791,Variable +TripAlarmType_AckedState_EffectiveTransitionTime,10792,Variable +TripAlarmType_AckedState_TrueState,10793,Variable +TripAlarmType_AckedState_FalseState,10794,Variable +TripAlarmType_ConfirmedState,10795,Variable +TripAlarmType_ConfirmedState_Id,10796,Variable +TripAlarmType_ConfirmedState_Name,10797,Variable +TripAlarmType_ConfirmedState_Number,10798,Variable +TripAlarmType_ConfirmedState_EffectiveDisplayName,10799,Variable +TripAlarmType_ConfirmedState_TransitionTime,10800,Variable +TripAlarmType_ConfirmedState_EffectiveTransitionTime,10801,Variable +TripAlarmType_ConfirmedState_TrueState,10802,Variable +TripAlarmType_ConfirmedState_FalseState,10803,Variable +TripAlarmType_Acknowledge,10804,Method +TripAlarmType_Acknowledge_InputArguments,10805,Variable +TripAlarmType_Confirm,10806,Method +TripAlarmType_Confirm_InputArguments,10807,Variable +TripAlarmType_ActiveState,10808,Variable +TripAlarmType_ActiveState_Id,10809,Variable +TripAlarmType_ActiveState_Name,10810,Variable +TripAlarmType_ActiveState_Number,10811,Variable +TripAlarmType_ActiveState_EffectiveDisplayName,10812,Variable +TripAlarmType_ActiveState_TransitionTime,10813,Variable +TripAlarmType_ActiveState_EffectiveTransitionTime,10814,Variable +TripAlarmType_ActiveState_TrueState,10815,Variable +TripAlarmType_ActiveState_FalseState,10816,Variable +TripAlarmType_SuppressedState,10817,Variable +TripAlarmType_SuppressedState_Id,10818,Variable +TripAlarmType_SuppressedState_Name,10819,Variable +TripAlarmType_SuppressedState_Number,10820,Variable +TripAlarmType_SuppressedState_EffectiveDisplayName,10821,Variable +TripAlarmType_SuppressedState_TransitionTime,10822,Variable +TripAlarmType_SuppressedState_EffectiveTransitionTime,10823,Variable +TripAlarmType_SuppressedState_TrueState,10824,Variable +TripAlarmType_SuppressedState_FalseState,10825,Variable +TripAlarmType_ShelvingState,10826,Object +TripAlarmType_ShelvingState_CurrentState,10827,Variable +TripAlarmType_ShelvingState_CurrentState_Id,10828,Variable +TripAlarmType_ShelvingState_CurrentState_Name,10829,Variable +TripAlarmType_ShelvingState_CurrentState_Number,10830,Variable +TripAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,10831,Variable +TripAlarmType_ShelvingState_LastTransition,10832,Variable +TripAlarmType_ShelvingState_LastTransition_Id,10833,Variable +TripAlarmType_ShelvingState_LastTransition_Name,10834,Variable +TripAlarmType_ShelvingState_LastTransition_Number,10835,Variable +TripAlarmType_ShelvingState_LastTransition_TransitionTime,10836,Variable +TripAlarmType_ShelvingState_UnshelveTime,10837,Variable +TripAlarmType_ShelvingState_Unshelve,10859,Method +TripAlarmType_ShelvingState_OneShotShelve,10860,Method +TripAlarmType_ShelvingState_TimedShelve,10861,Method +TripAlarmType_ShelvingState_TimedShelve_InputArguments,10862,Variable +TripAlarmType_SuppressedOrShelved,10863,Variable +TripAlarmType_MaxTimeShelved,10864,Variable +AuditConditionShelvingEventType,11093,ObjectType +AuditConditionShelvingEventType_EventId,11094,Variable +AuditConditionShelvingEventType_EventType,11095,Variable +AuditConditionShelvingEventType_SourceNode,11096,Variable +AuditConditionShelvingEventType_SourceName,11097,Variable +AuditConditionShelvingEventType_Time,11098,Variable +AuditConditionShelvingEventType_ReceiveTime,11099,Variable +AuditConditionShelvingEventType_LocalTime,11100,Variable +AuditConditionShelvingEventType_Message,11101,Variable +AuditConditionShelvingEventType_Severity,11102,Variable +AuditConditionShelvingEventType_ActionTimeStamp,11103,Variable +AuditConditionShelvingEventType_Status,11104,Variable +AuditConditionShelvingEventType_ServerId,11105,Variable +AuditConditionShelvingEventType_ClientAuditEntryId,11106,Variable +AuditConditionShelvingEventType_ClientUserId,11107,Variable +AuditConditionShelvingEventType_MethodId,11108,Variable +AuditConditionShelvingEventType_InputArguments,11109,Variable +TwoStateVariableType_TrueState,11110,Variable +TwoStateVariableType_FalseState,11111,Variable +ConditionType_ConditionClassId,11112,Variable +ConditionType_ConditionClassName,11113,Variable +DialogConditionType_ConditionClassId,11114,Variable +DialogConditionType_ConditionClassName,11115,Variable +AcknowledgeableConditionType_ConditionClassId,11116,Variable +AcknowledgeableConditionType_ConditionClassName,11117,Variable +AlarmConditionType_ConditionClassId,11118,Variable +AlarmConditionType_ConditionClassName,11119,Variable +AlarmConditionType_InputNode,11120,Variable +LimitAlarmType_ConditionClassId,11121,Variable +LimitAlarmType_ConditionClassName,11122,Variable +LimitAlarmType_InputNode,11123,Variable +LimitAlarmType_HighHighLimit,11124,Variable +LimitAlarmType_HighLimit,11125,Variable +LimitAlarmType_LowLimit,11126,Variable +LimitAlarmType_LowLowLimit,11127,Variable +ExclusiveLimitAlarmType_ConditionClassId,11128,Variable +ExclusiveLimitAlarmType_ConditionClassName,11129,Variable +ExclusiveLimitAlarmType_InputNode,11130,Variable +ExclusiveLevelAlarmType_ConditionClassId,11131,Variable +ExclusiveLevelAlarmType_ConditionClassName,11132,Variable +ExclusiveLevelAlarmType_InputNode,11133,Variable +ExclusiveRateOfChangeAlarmType_ConditionClassId,11134,Variable +ExclusiveRateOfChangeAlarmType_ConditionClassName,11135,Variable +ExclusiveRateOfChangeAlarmType_InputNode,11136,Variable +ExclusiveDeviationAlarmType_ConditionClassId,11137,Variable +ExclusiveDeviationAlarmType_ConditionClassName,11138,Variable +ExclusiveDeviationAlarmType_InputNode,11139,Variable +NonExclusiveLimitAlarmType_ConditionClassId,11140,Variable +NonExclusiveLimitAlarmType_ConditionClassName,11141,Variable +NonExclusiveLimitAlarmType_InputNode,11142,Variable +NonExclusiveLevelAlarmType_ConditionClassId,11143,Variable +NonExclusiveLevelAlarmType_ConditionClassName,11144,Variable +NonExclusiveLevelAlarmType_InputNode,11145,Variable +NonExclusiveRateOfChangeAlarmType_ConditionClassId,11146,Variable +NonExclusiveRateOfChangeAlarmType_ConditionClassName,11147,Variable +NonExclusiveRateOfChangeAlarmType_InputNode,11148,Variable +NonExclusiveDeviationAlarmType_ConditionClassId,11149,Variable +NonExclusiveDeviationAlarmType_ConditionClassName,11150,Variable +NonExclusiveDeviationAlarmType_InputNode,11151,Variable +DiscreteAlarmType_ConditionClassId,11152,Variable +DiscreteAlarmType_ConditionClassName,11153,Variable +DiscreteAlarmType_InputNode,11154,Variable +OffNormalAlarmType_ConditionClassId,11155,Variable +OffNormalAlarmType_ConditionClassName,11156,Variable +OffNormalAlarmType_InputNode,11157,Variable +OffNormalAlarmType_NormalState,11158,Variable +TripAlarmType_ConditionClassId,11159,Variable +TripAlarmType_ConditionClassName,11160,Variable +TripAlarmType_InputNode,11161,Variable +TripAlarmType_NormalState,11162,Variable +BaseConditionClassType,11163,ObjectType +ProcessConditionClassType,11164,ObjectType +MaintenanceConditionClassType,11165,ObjectType +SystemConditionClassType,11166,ObjectType +HistoricalDataConfigurationType_AggregateConfiguration_TreatUncertainAsBad,11168,Variable +HistoricalDataConfigurationType_AggregateConfiguration_PercentDataBad,11169,Variable +HistoricalDataConfigurationType_AggregateConfiguration_PercentDataGood,11170,Variable +HistoricalDataConfigurationType_AggregateConfiguration_UseSlopedExtrapolation,11171,Variable +HistoryServerCapabilitiesType_AggregateFunctions,11172,Object +AggregateConfigurationType,11187,ObjectType +AggregateConfigurationType_TreatUncertainAsBad,11188,Variable +AggregateConfigurationType_PercentDataBad,11189,Variable +AggregateConfigurationType_PercentDataGood,11190,Variable +AggregateConfigurationType_UseSlopedExtrapolation,11191,Variable +HistoryServerCapabilities,11192,Object +HistoryServerCapabilities_AccessHistoryDataCapability,11193,Variable +HistoryServerCapabilities_InsertDataCapability,11196,Variable +HistoryServerCapabilities_ReplaceDataCapability,11197,Variable +HistoryServerCapabilities_UpdateDataCapability,11198,Variable +HistoryServerCapabilities_DeleteRawCapability,11199,Variable +HistoryServerCapabilities_DeleteAtTimeCapability,11200,Variable +HistoryServerCapabilities_AggregateFunctions,11201,Object +HAConfiguration,11202,Object +HAConfiguration_AggregateConfiguration,11203,Object +HAConfiguration_AggregateConfiguration_TreatUncertainAsBad,11204,Variable +HAConfiguration_AggregateConfiguration_PercentDataBad,11205,Variable +HAConfiguration_AggregateConfiguration_PercentDataGood,11206,Variable +HAConfiguration_AggregateConfiguration_UseSlopedExtrapolation,11207,Variable +HAConfiguration_Stepped,11208,Variable +HAConfiguration_Definition,11209,Variable +HAConfiguration_MaxTimeInterval,11210,Variable +HAConfiguration_MinTimeInterval,11211,Variable +HAConfiguration_ExceptionDeviation,11212,Variable +HAConfiguration_ExceptionDeviationFormat,11213,Variable +Annotations,11214,Variable +HistoricalEventFilter,11215,Variable +ModificationInfo,11216,DataType +HistoryModifiedData,11217,DataType +ModificationInfo_Encoding_DefaultXml,11218,Object +HistoryModifiedData_Encoding_DefaultXml,11219,Object +ModificationInfo_Encoding_DefaultBinary,11226,Object +HistoryModifiedData_Encoding_DefaultBinary,11227,Object +HistoryUpdateType,11234,DataType +MultiStateValueDiscreteType,11238,VariableType +MultiStateValueDiscreteType_Definition,11239,Variable +MultiStateValueDiscreteType_ValuePrecision,11240,Variable +MultiStateValueDiscreteType_EnumValues,11241,Variable +HistoryServerCapabilities_AccessHistoryEventsCapability,11242,Variable +HistoryServerCapabilitiesType_MaxReturnDataValues,11268,Variable +HistoryServerCapabilitiesType_MaxReturnEventValues,11269,Variable +HistoryServerCapabilitiesType_InsertAnnotationCapability,11270,Variable +HistoryServerCapabilities_MaxReturnDataValues,11273,Variable +HistoryServerCapabilities_MaxReturnEventValues,11274,Variable +HistoryServerCapabilities_InsertAnnotationCapability,11275,Variable +HistoryServerCapabilitiesType_InsertEventCapability,11278,Variable +HistoryServerCapabilitiesType_ReplaceEventCapability,11279,Variable +HistoryServerCapabilitiesType_UpdateEventCapability,11280,Variable +HistoryServerCapabilities_InsertEventCapability,11281,Variable +HistoryServerCapabilities_ReplaceEventCapability,11282,Variable +HistoryServerCapabilities_UpdateEventCapability,11283,Variable +AggregateFunction_TimeAverage2,11285,Object +AggregateFunction_Minimum2,11286,Object +AggregateFunction_Maximum2,11287,Object +AggregateFunction_Range2,11288,Object +AggregateFunction_WorstQuality2,11292,Object +PerformUpdateType,11293,DataType +UpdateStructureDataDetails,11295,DataType +UpdateStructureDataDetails_Encoding_DefaultXml,11296,Object +UpdateStructureDataDetails_Encoding_DefaultBinary,11300,Object +AggregateFunction_Total2,11304,Object +AggregateFunction_MinimumActualTime2,11305,Object +AggregateFunction_MaximumActualTime2,11306,Object +AggregateFunction_DurationInStateZero,11307,Object +AggregateFunction_DurationInStateNonZero,11308,Object +Server_ServerRedundancy_CurrentServerId,11312,Variable +Server_ServerRedundancy_RedundantServerArray,11313,Variable +Server_ServerRedundancy_ServerUriArray,11314,Variable +ShelvedStateMachineType_UnshelvedToTimedShelved_TransitionNumber,11322,Variable +ShelvedStateMachineType_UnshelvedToOneShotShelved_TransitionNumber,11323,Variable +ShelvedStateMachineType_TimedShelvedToUnshelved_TransitionNumber,11324,Variable +ShelvedStateMachineType_TimedShelvedToOneShotShelved_TransitionNumber,11325,Variable +ShelvedStateMachineType_OneShotShelvedToUnshelved_TransitionNumber,11326,Variable +ShelvedStateMachineType_OneShotShelvedToTimedShelved_TransitionNumber,11327,Variable +ExclusiveLimitStateMachineType_LowLowToLow_TransitionNumber,11340,Variable +ExclusiveLimitStateMachineType_LowToLowLow_TransitionNumber,11341,Variable +ExclusiveLimitStateMachineType_HighHighToHigh_TransitionNumber,11342,Variable +ExclusiveLimitStateMachineType_HighToHighHigh_TransitionNumber,11343,Variable +AggregateFunction_StandardDeviationSample,11426,Object +AggregateFunction_StandardDeviationPopulation,11427,Object +AggregateFunction_VarianceSample,11428,Object +AggregateFunction_VariancePopulation,11429,Object +EnumStrings,11432,Variable +ValueAsText,11433,Variable +ProgressEventType,11436,ObjectType +ProgressEventType_EventId,11437,Variable +ProgressEventType_EventType,11438,Variable +ProgressEventType_SourceNode,11439,Variable +ProgressEventType_SourceName,11440,Variable +ProgressEventType_Time,11441,Variable +ProgressEventType_ReceiveTime,11442,Variable +ProgressEventType_LocalTime,11443,Variable +ProgressEventType_Message,11444,Variable +ProgressEventType_Severity,11445,Variable +SystemStatusChangeEventType,11446,ObjectType +SystemStatusChangeEventType_EventId,11447,Variable +SystemStatusChangeEventType_EventType,11448,Variable +SystemStatusChangeEventType_SourceNode,11449,Variable +SystemStatusChangeEventType_SourceName,11450,Variable +SystemStatusChangeEventType_Time,11451,Variable +SystemStatusChangeEventType_ReceiveTime,11452,Variable +SystemStatusChangeEventType_LocalTime,11453,Variable +SystemStatusChangeEventType_Message,11454,Variable +SystemStatusChangeEventType_Severity,11455,Variable +TransitionVariableType_EffectiveTransitionTime,11456,Variable +FiniteTransitionVariableType_EffectiveTransitionTime,11457,Variable +StateMachineType_LastTransition_EffectiveTransitionTime,11458,Variable +FiniteStateMachineType_LastTransition_EffectiveTransitionTime,11459,Variable +TransitionEventType_Transition_EffectiveTransitionTime,11460,Variable +MultiStateValueDiscreteType_ValueAsText,11461,Variable +ProgramTransitionEventType_Transition_EffectiveTransitionTime,11462,Variable +ProgramTransitionAuditEventType_Transition_EffectiveTransitionTime,11463,Variable +ProgramStateMachineType_LastTransition_EffectiveTransitionTime,11464,Variable +ShelvedStateMachineType_LastTransition_EffectiveTransitionTime,11465,Variable +AlarmConditionType_ShelvingState_LastTransition_EffectiveTransitionTime,11466,Variable +LimitAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11467,Variable +ExclusiveLimitStateMachineType_LastTransition_EffectiveTransitionTime,11468,Variable +ExclusiveLimitAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11469,Variable +ExclusiveLimitAlarmType_LimitState_LastTransition_EffectiveTransitionTime,11470,Variable +ExclusiveLevelAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11471,Variable +ExclusiveLevelAlarmType_LimitState_LastTransition_EffectiveTransitionTime,11472,Variable +ExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11473,Variable +ExclusiveRateOfChangeAlarmType_LimitState_LastTransition_EffectiveTransitionTime,11474,Variable +ExclusiveDeviationAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11475,Variable +ExclusiveDeviationAlarmType_LimitState_LastTransition_EffectiveTransitionTime,11476,Variable +NonExclusiveLimitAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11477,Variable +NonExclusiveLevelAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11478,Variable +NonExclusiveRateOfChangeAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11479,Variable +NonExclusiveDeviationAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11480,Variable +DiscreteAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11481,Variable +OffNormalAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11482,Variable +TripAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11483,Variable +AuditActivateSessionEventType_SecureChannelId,11485,Variable +OptionSetType,11487,VariableType +OptionSetType_OptionSetValues,11488,Variable +ServerType_GetMonitoredItems,11489,Method +ServerType_GetMonitoredItems_InputArguments,11490,Variable +ServerType_GetMonitoredItems_OutputArguments,11491,Variable +Server_GetMonitoredItems,11492,Method +Server_GetMonitoredItems_InputArguments,11493,Variable +Server_GetMonitoredItems_OutputArguments,11494,Variable +GetMonitoredItemsMethodType,11495,Method +GetMonitoredItemsMethodType_InputArguments,11496,Variable +GetMonitoredItemsMethodType_OutputArguments,11497,Variable +MaxStringLength,11498,Variable +HistoricalDataConfigurationType_StartOfArchive,11499,Variable +HistoricalDataConfigurationType_StartOfOnlineArchive,11500,Variable +HistoryServerCapabilitiesType_DeleteEventCapability,11501,Variable +HistoryServerCapabilities_DeleteEventCapability,11502,Variable +HAConfiguration_StartOfArchive,11503,Variable +HAConfiguration_StartOfOnlineArchive,11504,Variable +AggregateFunction_StartBound,11505,Object +AggregateFunction_EndBound,11506,Object +AggregateFunction_DeltaBounds,11507,Object +ModellingRule_OptionalPlaceholder,11508,Object +ModellingRule_OptionalPlaceholder_NamingRule,11509,Variable +ModellingRule_MandatoryPlaceholder,11510,Object +ModellingRule_MandatoryPlaceholder_NamingRule,11511,Variable +MaxArrayLength,11512,Variable +EngineeringUnits,11513,Variable +ServerType_ServerCapabilities_MaxArrayLength,11514,Variable +ServerType_ServerCapabilities_MaxStringLength,11515,Variable +ServerType_ServerCapabilities_OperationLimits,11516,Object +ServerType_ServerCapabilities_OperationLimits_MaxNodesPerRead,11517,Variable +ServerType_ServerCapabilities_OperationLimits_MaxNodesPerWrite,11519,Variable +ServerType_ServerCapabilities_OperationLimits_MaxNodesPerMethodCall,11521,Variable +ServerType_ServerCapabilities_OperationLimits_MaxNodesPerBrowse,11522,Variable +ServerType_ServerCapabilities_OperationLimits_MaxNodesPerRegisterNodes,11523,Variable +ServerType_ServerCapabilities_OperationLimits_MaxNodesPerTranslateBrowsePathsToNodeIds,11524,Variable +ServerType_ServerCapabilities_OperationLimits_MaxNodesPerNodeManagement,11525,Variable +ServerType_ServerCapabilities_OperationLimits_MaxMonitoredItemsPerCall,11526,Variable +ServerType_Namespaces,11527,Object +ServerType_Namespaces_AddressSpaceFile,11528,Object +ServerType_Namespaces_AddressSpaceFile_Size,11529,Variable +ServerType_Namespaces_AddressSpaceFile_OpenCount,11532,Variable +ServerType_Namespaces_AddressSpaceFile_Open,11533,Method +ServerType_Namespaces_AddressSpaceFile_Open_InputArguments,11534,Variable +ServerType_Namespaces_AddressSpaceFile_Open_OutputArguments,11535,Variable +ServerType_Namespaces_AddressSpaceFile_Close,11536,Method +ServerType_Namespaces_AddressSpaceFile_Close_InputArguments,11537,Variable +ServerType_Namespaces_AddressSpaceFile_Read,11538,Method +ServerType_Namespaces_AddressSpaceFile_Read_InputArguments,11539,Variable +ServerType_Namespaces_AddressSpaceFile_Read_OutputArguments,11540,Variable +ServerType_Namespaces_AddressSpaceFile_Write,11541,Method +ServerType_Namespaces_AddressSpaceFile_Write_InputArguments,11542,Variable +ServerType_Namespaces_AddressSpaceFile_GetPosition,11543,Method +ServerType_Namespaces_AddressSpaceFile_GetPosition_InputArguments,11544,Variable +ServerType_Namespaces_AddressSpaceFile_GetPosition_OutputArguments,11545,Variable +ServerType_Namespaces_AddressSpaceFile_SetPosition,11546,Method +ServerType_Namespaces_AddressSpaceFile_SetPosition_InputArguments,11547,Variable +ServerType_Namespaces_AddressSpaceFile_ExportNamespace,11548,Method +ServerCapabilitiesType_MaxArrayLength,11549,Variable +ServerCapabilitiesType_MaxStringLength,11550,Variable +ServerCapabilitiesType_OperationLimits,11551,Object +ServerCapabilitiesType_OperationLimits_MaxNodesPerRead,11552,Variable +ServerCapabilitiesType_OperationLimits_MaxNodesPerWrite,11554,Variable +ServerCapabilitiesType_OperationLimits_MaxNodesPerMethodCall,11556,Variable +ServerCapabilitiesType_OperationLimits_MaxNodesPerBrowse,11557,Variable +ServerCapabilitiesType_OperationLimits_MaxNodesPerRegisterNodes,11558,Variable +ServerCapabilitiesType_OperationLimits_MaxNodesPerTranslateBrowsePathsToNodeIds,11559,Variable +ServerCapabilitiesType_OperationLimits_MaxNodesPerNodeManagement,11560,Variable +ServerCapabilitiesType_OperationLimits_MaxMonitoredItemsPerCall,11561,Variable +ServerCapabilitiesType_VendorCapability_Placeholder,11562,Variable +OperationLimitsType,11564,ObjectType +OperationLimitsType_MaxNodesPerRead,11565,Variable +OperationLimitsType_MaxNodesPerWrite,11567,Variable +OperationLimitsType_MaxNodesPerMethodCall,11569,Variable +OperationLimitsType_MaxNodesPerBrowse,11570,Variable +OperationLimitsType_MaxNodesPerRegisterNodes,11571,Variable +OperationLimitsType_MaxNodesPerTranslateBrowsePathsToNodeIds,11572,Variable +OperationLimitsType_MaxNodesPerNodeManagement,11573,Variable +OperationLimitsType_MaxMonitoredItemsPerCall,11574,Variable +FileType,11575,ObjectType +FileType_Size,11576,Variable +FileType_OpenCount,11579,Variable +FileType_Open,11580,Method +FileType_Open_InputArguments,11581,Variable +FileType_Open_OutputArguments,11582,Variable +FileType_Close,11583,Method +FileType_Close_InputArguments,11584,Variable +FileType_Read,11585,Method +FileType_Read_InputArguments,11586,Variable +FileType_Read_OutputArguments,11587,Variable +FileType_Write,11588,Method +FileType_Write_InputArguments,11589,Variable +FileType_GetPosition,11590,Method +FileType_GetPosition_InputArguments,11591,Variable +FileType_GetPosition_OutputArguments,11592,Variable +FileType_SetPosition,11593,Method +FileType_SetPosition_InputArguments,11594,Variable +AddressSpaceFileType,11595,ObjectType +AddressSpaceFileType_Size,11596,Variable +AddressSpaceFileType_OpenCount,11599,Variable +AddressSpaceFileType_Open,11600,Method +AddressSpaceFileType_Open_InputArguments,11601,Variable +AddressSpaceFileType_Open_OutputArguments,11602,Variable +AddressSpaceFileType_Close,11603,Method +AddressSpaceFileType_Close_InputArguments,11604,Variable +AddressSpaceFileType_Read,11605,Method +AddressSpaceFileType_Read_InputArguments,11606,Variable +AddressSpaceFileType_Read_OutputArguments,11607,Variable +AddressSpaceFileType_Write,11608,Method +AddressSpaceFileType_Write_InputArguments,11609,Variable +AddressSpaceFileType_GetPosition,11610,Method +AddressSpaceFileType_GetPosition_InputArguments,11611,Variable +AddressSpaceFileType_GetPosition_OutputArguments,11612,Variable +AddressSpaceFileType_SetPosition,11613,Method +AddressSpaceFileType_SetPosition_InputArguments,11614,Variable +AddressSpaceFileType_ExportNamespace,11615,Method +NamespaceMetadataType,11616,ObjectType +NamespaceMetadataType_NamespaceUri,11617,Variable +NamespaceMetadataType_NamespaceVersion,11618,Variable +NamespaceMetadataType_NamespacePublicationDate,11619,Variable +NamespaceMetadataType_IsNamespaceSubset,11620,Variable +NamespaceMetadataType_StaticNodeIdTypes,11621,Variable +NamespaceMetadataType_StaticNumericNodeIdRange,11622,Variable +NamespaceMetadataType_StaticStringNodeIdPattern,11623,Variable +NamespaceMetadataType_NamespaceFile,11624,Object +NamespaceMetadataType_NamespaceFile_Size,11625,Variable +NamespaceMetadataType_NamespaceFile_OpenCount,11628,Variable +NamespaceMetadataType_NamespaceFile_Open,11629,Method +NamespaceMetadataType_NamespaceFile_Open_InputArguments,11630,Variable +NamespaceMetadataType_NamespaceFile_Open_OutputArguments,11631,Variable +NamespaceMetadataType_NamespaceFile_Close,11632,Method +NamespaceMetadataType_NamespaceFile_Close_InputArguments,11633,Variable +NamespaceMetadataType_NamespaceFile_Read,11634,Method +NamespaceMetadataType_NamespaceFile_Read_InputArguments,11635,Variable +NamespaceMetadataType_NamespaceFile_Read_OutputArguments,11636,Variable +NamespaceMetadataType_NamespaceFile_Write,11637,Method +NamespaceMetadataType_NamespaceFile_Write_InputArguments,11638,Variable +NamespaceMetadataType_NamespaceFile_GetPosition,11639,Method +NamespaceMetadataType_NamespaceFile_GetPosition_InputArguments,11640,Variable +NamespaceMetadataType_NamespaceFile_GetPosition_OutputArguments,11641,Variable +NamespaceMetadataType_NamespaceFile_SetPosition,11642,Method +NamespaceMetadataType_NamespaceFile_SetPosition_InputArguments,11643,Variable +NamespaceMetadataType_NamespaceFile_ExportNamespace,11644,Method +NamespacesType,11645,ObjectType +NamespacesType_NamespaceIdentifier_Placeholder,11646,Object +NamespacesType_NamespaceIdentifier_Placeholder_NamespaceUri,11647,Variable +NamespacesType_NamespaceIdentifier_Placeholder_NamespaceVersion,11648,Variable +NamespacesType_NamespaceIdentifier_Placeholder_NamespacePublicationDate,11649,Variable +NamespacesType_NamespaceIdentifier_Placeholder_IsNamespaceSubset,11650,Variable +NamespacesType_NamespaceIdentifier_Placeholder_StaticNodeIdTypes,11651,Variable +NamespacesType_NamespaceIdentifier_Placeholder_StaticNumericNodeIdRange,11652,Variable +NamespacesType_NamespaceIdentifier_Placeholder_StaticStringNodeIdPattern,11653,Variable +NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile,11654,Object +NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_Size,11655,Variable +NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_OpenCount,11658,Variable +NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_Open,11659,Method +NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_Open_InputArguments,11660,Variable +NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_Open_OutputArguments,11661,Variable +NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_Close,11662,Method +NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_Close_InputArguments,11663,Variable +NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_Read,11664,Method +NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_Read_InputArguments,11665,Variable +NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_Read_OutputArguments,11666,Variable +NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_Write,11667,Method +NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_Write_InputArguments,11668,Variable +NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_GetPosition,11669,Method +NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_GetPosition_InputArguments,11670,Variable +NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_GetPosition_OutputArguments,11671,Variable +NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_SetPosition,11672,Method +NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_SetPosition_InputArguments,11673,Variable +NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_ExportNamespace,11674,Method +NamespacesType_AddressSpaceFile,11675,Object +NamespacesType_AddressSpaceFile_Size,11676,Variable +NamespacesType_AddressSpaceFile_OpenCount,11679,Variable +NamespacesType_AddressSpaceFile_Open,11680,Method +NamespacesType_AddressSpaceFile_Open_InputArguments,11681,Variable +NamespacesType_AddressSpaceFile_Open_OutputArguments,11682,Variable +NamespacesType_AddressSpaceFile_Close,11683,Method +NamespacesType_AddressSpaceFile_Close_InputArguments,11684,Variable +NamespacesType_AddressSpaceFile_Read,11685,Method +NamespacesType_AddressSpaceFile_Read_InputArguments,11686,Variable +NamespacesType_AddressSpaceFile_Read_OutputArguments,11687,Variable +NamespacesType_AddressSpaceFile_Write,11688,Method +NamespacesType_AddressSpaceFile_Write_InputArguments,11689,Variable +NamespacesType_AddressSpaceFile_GetPosition,11690,Method +NamespacesType_AddressSpaceFile_GetPosition_InputArguments,11691,Variable +NamespacesType_AddressSpaceFile_GetPosition_OutputArguments,11692,Variable +NamespacesType_AddressSpaceFile_SetPosition,11693,Method +NamespacesType_AddressSpaceFile_SetPosition_InputArguments,11694,Variable +NamespacesType_AddressSpaceFile_ExportNamespace,11695,Method +SystemStatusChangeEventType_SystemState,11696,Variable +SamplingIntervalDiagnosticsType_SampledMonitoredItemsCount,11697,Variable +SamplingIntervalDiagnosticsType_MaxSampledMonitoredItemsCount,11698,Variable +SamplingIntervalDiagnosticsType_DisabledMonitoredItemsSamplingCount,11699,Variable +OptionSetType_BitMask,11701,Variable +Server_ServerCapabilities_MaxArrayLength,11702,Variable +Server_ServerCapabilities_MaxStringLength,11703,Variable +Server_ServerCapabilities_OperationLimits,11704,Object +Server_ServerCapabilities_OperationLimits_MaxNodesPerRead,11705,Variable +Server_ServerCapabilities_OperationLimits_MaxNodesPerWrite,11707,Variable +Server_ServerCapabilities_OperationLimits_MaxNodesPerMethodCall,11709,Variable +Server_ServerCapabilities_OperationLimits_MaxNodesPerBrowse,11710,Variable +Server_ServerCapabilities_OperationLimits_MaxNodesPerRegisterNodes,11711,Variable +Server_ServerCapabilities_OperationLimits_MaxNodesPerTranslateBrowsePathsToNodeIds,11712,Variable +Server_ServerCapabilities_OperationLimits_MaxNodesPerNodeManagement,11713,Variable +Server_ServerCapabilities_OperationLimits_MaxMonitoredItemsPerCall,11714,Variable +Server_Namespaces,11715,Object +Server_Namespaces_AddressSpaceFile,11716,Object +Server_Namespaces_AddressSpaceFile_Size,11717,Variable +Server_Namespaces_AddressSpaceFile_OpenCount,11720,Variable +Server_Namespaces_AddressSpaceFile_Open,11721,Method +Server_Namespaces_AddressSpaceFile_Open_InputArguments,11722,Variable +Server_Namespaces_AddressSpaceFile_Open_OutputArguments,11723,Variable +Server_Namespaces_AddressSpaceFile_Close,11724,Method +Server_Namespaces_AddressSpaceFile_Close_InputArguments,11725,Variable +Server_Namespaces_AddressSpaceFile_Read,11726,Method +Server_Namespaces_AddressSpaceFile_Read_InputArguments,11727,Variable +Server_Namespaces_AddressSpaceFile_Read_OutputArguments,11728,Variable +Server_Namespaces_AddressSpaceFile_Write,11729,Method +Server_Namespaces_AddressSpaceFile_Write_InputArguments,11730,Variable +Server_Namespaces_AddressSpaceFile_GetPosition,11731,Method +Server_Namespaces_AddressSpaceFile_GetPosition_InputArguments,11732,Variable +Server_Namespaces_AddressSpaceFile_GetPosition_OutputArguments,11733,Variable +Server_Namespaces_AddressSpaceFile_SetPosition,11734,Method +Server_Namespaces_AddressSpaceFile_SetPosition_InputArguments,11735,Variable +Server_Namespaces_AddressSpaceFile_ExportNamespace,11736,Method +BitFieldMaskDataType,11737,DataType +OpenMethodType,11738,Method +OpenMethodType_InputArguments,11739,Variable +OpenMethodType_OutputArguments,11740,Variable +CloseMethodType,11741,Method +CloseMethodType_InputArguments,11742,Variable +ReadMethodType,11743,Method +ReadMethodType_InputArguments,11744,Variable +ReadMethodType_OutputArguments,11745,Variable +WriteMethodType,11746,Method +WriteMethodType_InputArguments,11747,Variable +GetPositionMethodType,11748,Method +GetPositionMethodType_InputArguments,11749,Variable +GetPositionMethodType_OutputArguments,11750,Variable +SetPositionMethodType,11751,Method +SetPositionMethodType_InputArguments,11752,Variable +SystemOffNormalAlarmType,11753,ObjectType +SystemOffNormalAlarmType_EventId,11754,Variable +SystemOffNormalAlarmType_EventType,11755,Variable +SystemOffNormalAlarmType_SourceNode,11756,Variable +SystemOffNormalAlarmType_SourceName,11757,Variable +SystemOffNormalAlarmType_Time,11758,Variable +SystemOffNormalAlarmType_ReceiveTime,11759,Variable +SystemOffNormalAlarmType_LocalTime,11760,Variable +SystemOffNormalAlarmType_Message,11761,Variable +SystemOffNormalAlarmType_Severity,11762,Variable +SystemOffNormalAlarmType_ConditionClassId,11763,Variable +SystemOffNormalAlarmType_ConditionClassName,11764,Variable +SystemOffNormalAlarmType_ConditionName,11765,Variable +SystemOffNormalAlarmType_BranchId,11766,Variable +SystemOffNormalAlarmType_Retain,11767,Variable +SystemOffNormalAlarmType_EnabledState,11768,Variable +SystemOffNormalAlarmType_EnabledState_Id,11769,Variable +SystemOffNormalAlarmType_EnabledState_Name,11770,Variable +SystemOffNormalAlarmType_EnabledState_Number,11771,Variable +SystemOffNormalAlarmType_EnabledState_EffectiveDisplayName,11772,Variable +SystemOffNormalAlarmType_EnabledState_TransitionTime,11773,Variable +SystemOffNormalAlarmType_EnabledState_EffectiveTransitionTime,11774,Variable +SystemOffNormalAlarmType_EnabledState_TrueState,11775,Variable +SystemOffNormalAlarmType_EnabledState_FalseState,11776,Variable +SystemOffNormalAlarmType_Quality,11777,Variable +SystemOffNormalAlarmType_Quality_SourceTimestamp,11778,Variable +SystemOffNormalAlarmType_LastSeverity,11779,Variable +SystemOffNormalAlarmType_LastSeverity_SourceTimestamp,11780,Variable +SystemOffNormalAlarmType_Comment,11781,Variable +SystemOffNormalAlarmType_Comment_SourceTimestamp,11782,Variable +SystemOffNormalAlarmType_ClientUserId,11783,Variable +SystemOffNormalAlarmType_Disable,11784,Method +SystemOffNormalAlarmType_Enable,11785,Method +SystemOffNormalAlarmType_AddComment,11786,Method +SystemOffNormalAlarmType_AddComment_InputArguments,11787,Variable +SystemOffNormalAlarmType_ConditionRefresh,11788,Method +SystemOffNormalAlarmType_ConditionRefresh_InputArguments,11789,Variable +SystemOffNormalAlarmType_AckedState,11790,Variable +SystemOffNormalAlarmType_AckedState_Id,11791,Variable +SystemOffNormalAlarmType_AckedState_Name,11792,Variable +SystemOffNormalAlarmType_AckedState_Number,11793,Variable +SystemOffNormalAlarmType_AckedState_EffectiveDisplayName,11794,Variable +SystemOffNormalAlarmType_AckedState_TransitionTime,11795,Variable +SystemOffNormalAlarmType_AckedState_EffectiveTransitionTime,11796,Variable +SystemOffNormalAlarmType_AckedState_TrueState,11797,Variable +SystemOffNormalAlarmType_AckedState_FalseState,11798,Variable +SystemOffNormalAlarmType_ConfirmedState,11799,Variable +SystemOffNormalAlarmType_ConfirmedState_Id,11800,Variable +SystemOffNormalAlarmType_ConfirmedState_Name,11801,Variable +SystemOffNormalAlarmType_ConfirmedState_Number,11802,Variable +SystemOffNormalAlarmType_ConfirmedState_EffectiveDisplayName,11803,Variable +SystemOffNormalAlarmType_ConfirmedState_TransitionTime,11804,Variable +SystemOffNormalAlarmType_ConfirmedState_EffectiveTransitionTime,11805,Variable +SystemOffNormalAlarmType_ConfirmedState_TrueState,11806,Variable +SystemOffNormalAlarmType_ConfirmedState_FalseState,11807,Variable +SystemOffNormalAlarmType_Acknowledge,11808,Method +SystemOffNormalAlarmType_Acknowledge_InputArguments,11809,Variable +SystemOffNormalAlarmType_Confirm,11810,Method +SystemOffNormalAlarmType_Confirm_InputArguments,11811,Variable +SystemOffNormalAlarmType_ActiveState,11812,Variable +SystemOffNormalAlarmType_ActiveState_Id,11813,Variable +SystemOffNormalAlarmType_ActiveState_Name,11814,Variable +SystemOffNormalAlarmType_ActiveState_Number,11815,Variable +SystemOffNormalAlarmType_ActiveState_EffectiveDisplayName,11816,Variable +SystemOffNormalAlarmType_ActiveState_TransitionTime,11817,Variable +SystemOffNormalAlarmType_ActiveState_EffectiveTransitionTime,11818,Variable +SystemOffNormalAlarmType_ActiveState_TrueState,11819,Variable +SystemOffNormalAlarmType_ActiveState_FalseState,11820,Variable +SystemOffNormalAlarmType_InputNode,11821,Variable +SystemOffNormalAlarmType_SuppressedState,11822,Variable +SystemOffNormalAlarmType_SuppressedState_Id,11823,Variable +SystemOffNormalAlarmType_SuppressedState_Name,11824,Variable +SystemOffNormalAlarmType_SuppressedState_Number,11825,Variable +SystemOffNormalAlarmType_SuppressedState_EffectiveDisplayName,11826,Variable +SystemOffNormalAlarmType_SuppressedState_TransitionTime,11827,Variable +SystemOffNormalAlarmType_SuppressedState_EffectiveTransitionTime,11828,Variable +SystemOffNormalAlarmType_SuppressedState_TrueState,11829,Variable +SystemOffNormalAlarmType_SuppressedState_FalseState,11830,Variable +SystemOffNormalAlarmType_ShelvingState,11831,Object +SystemOffNormalAlarmType_ShelvingState_CurrentState,11832,Variable +SystemOffNormalAlarmType_ShelvingState_CurrentState_Id,11833,Variable +SystemOffNormalAlarmType_ShelvingState_CurrentState_Name,11834,Variable +SystemOffNormalAlarmType_ShelvingState_CurrentState_Number,11835,Variable +SystemOffNormalAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,11836,Variable +SystemOffNormalAlarmType_ShelvingState_LastTransition,11837,Variable +SystemOffNormalAlarmType_ShelvingState_LastTransition_Id,11838,Variable +SystemOffNormalAlarmType_ShelvingState_LastTransition_Name,11839,Variable +SystemOffNormalAlarmType_ShelvingState_LastTransition_Number,11840,Variable +SystemOffNormalAlarmType_ShelvingState_LastTransition_TransitionTime,11841,Variable +SystemOffNormalAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,11842,Variable +SystemOffNormalAlarmType_ShelvingState_UnshelveTime,11843,Variable +SystemOffNormalAlarmType_ShelvingState_Unshelve,11844,Method +SystemOffNormalAlarmType_ShelvingState_OneShotShelve,11845,Method +SystemOffNormalAlarmType_ShelvingState_TimedShelve,11846,Method +SystemOffNormalAlarmType_ShelvingState_TimedShelve_InputArguments,11847,Variable +SystemOffNormalAlarmType_SuppressedOrShelved,11848,Variable +SystemOffNormalAlarmType_MaxTimeShelved,11849,Variable +SystemOffNormalAlarmType_NormalState,11850,Variable +AuditConditionCommentEventType_Comment,11851,Variable +AuditConditionRespondEventType_SelectedResponse,11852,Variable +AuditConditionAcknowledgeEventType_Comment,11853,Variable +AuditConditionConfirmEventType_Comment,11854,Variable +AuditConditionShelvingEventType_ShelvingTime,11855,Variable +AuditProgramTransitionEventType,11856,ObjectType +AuditProgramTransitionEventType_EventId,11857,Variable +AuditProgramTransitionEventType_EventType,11858,Variable +AuditProgramTransitionEventType_SourceNode,11859,Variable +AuditProgramTransitionEventType_SourceName,11860,Variable +AuditProgramTransitionEventType_Time,11861,Variable +AuditProgramTransitionEventType_ReceiveTime,11862,Variable +AuditProgramTransitionEventType_LocalTime,11863,Variable +AuditProgramTransitionEventType_Message,11864,Variable +AuditProgramTransitionEventType_Severity,11865,Variable +AuditProgramTransitionEventType_ActionTimeStamp,11866,Variable +AuditProgramTransitionEventType_Status,11867,Variable +AuditProgramTransitionEventType_ServerId,11868,Variable +AuditProgramTransitionEventType_ClientAuditEntryId,11869,Variable +AuditProgramTransitionEventType_ClientUserId,11870,Variable +AuditProgramTransitionEventType_MethodId,11871,Variable +AuditProgramTransitionEventType_InputArguments,11872,Variable +AuditProgramTransitionEventType_OldStateId,11873,Variable +AuditProgramTransitionEventType_NewStateId,11874,Variable +AuditProgramTransitionEventType_TransitionNumber,11875,Variable +HistoricalDataConfigurationType_AggregateFunctions,11876,Object +HAConfiguration_AggregateFunctions,11877,Object +NodeClass_EnumValues,11878,Variable +InstanceNode,11879,DataType +TypeNode,11880,DataType +NodeAttributesMask_EnumValues,11881,Variable +AttributeWriteMask_EnumValues,11882,Variable +BrowseResultMask_EnumValues,11883,Variable +HistoryUpdateType_EnumValues,11884,Variable +PerformUpdateType_EnumValues,11885,Variable +InstanceNode_Encoding_DefaultXml,11887,Object +TypeNode_Encoding_DefaultXml,11888,Object +InstanceNode_Encoding_DefaultBinary,11889,Object +TypeNode_Encoding_DefaultBinary,11890,Object +SessionDiagnosticsObjectType_SessionDiagnostics_UnauthorizedRequestCount,11891,Variable +SessionDiagnosticsVariableType_UnauthorizedRequestCount,11892,Variable +OpenFileMode,11939,DataType +OpenFileMode_EnumValues,11940,Variable +ModelChangeStructureVerbMask,11941,DataType +ModelChangeStructureVerbMask_EnumValues,11942,Variable +EndpointUrlListDataType,11943,DataType +NetworkGroupDataType,11944,DataType +NonTransparentNetworkRedundancyType,11945,ObjectType +NonTransparentNetworkRedundancyType_RedundancySupport,11946,Variable +NonTransparentNetworkRedundancyType_ServerUriArray,11947,Variable +NonTransparentNetworkRedundancyType_ServerNetworkGroups,11948,Variable +EndpointUrlListDataType_Encoding_DefaultXml,11949,Object +NetworkGroupDataType_Encoding_DefaultXml,11950,Object +OpcUa_XmlSchema_EndpointUrlListDataType,11951,Variable +OpcUa_XmlSchema_EndpointUrlListDataType_DataTypeVersion,11952,Variable +OpcUa_XmlSchema_EndpointUrlListDataType_DictionaryFragment,11953,Variable +OpcUa_XmlSchema_NetworkGroupDataType,11954,Variable +OpcUa_XmlSchema_NetworkGroupDataType_DataTypeVersion,11955,Variable +OpcUa_XmlSchema_NetworkGroupDataType_DictionaryFragment,11956,Variable +EndpointUrlListDataType_Encoding_DefaultBinary,11957,Object +NetworkGroupDataType_Encoding_DefaultBinary,11958,Object +OpcUa_BinarySchema_EndpointUrlListDataType,11959,Variable +OpcUa_BinarySchema_EndpointUrlListDataType_DataTypeVersion,11960,Variable +OpcUa_BinarySchema_EndpointUrlListDataType_DictionaryFragment,11961,Variable +OpcUa_BinarySchema_NetworkGroupDataType,11962,Variable +OpcUa_BinarySchema_NetworkGroupDataType_DataTypeVersion,11963,Variable +OpcUa_BinarySchema_NetworkGroupDataType_DictionaryFragment,11964,Variable +ArrayItemType,12021,VariableType +ArrayItemType_Definition,12022,Variable +ArrayItemType_ValuePrecision,12023,Variable +ArrayItemType_InstrumentRange,12024,Variable +ArrayItemType_EURange,12025,Variable +ArrayItemType_EngineeringUnits,12026,Variable +ArrayItemType_Title,12027,Variable +ArrayItemType_AxisScaleType,12028,Variable +YArrayItemType,12029,VariableType +YArrayItemType_Definition,12030,Variable +YArrayItemType_ValuePrecision,12031,Variable +YArrayItemType_InstrumentRange,12032,Variable +YArrayItemType_EURange,12033,Variable +YArrayItemType_EngineeringUnits,12034,Variable +YArrayItemType_Title,12035,Variable +YArrayItemType_AxisScaleType,12036,Variable +YArrayItemType_XAxisDefinition,12037,Variable +XYArrayItemType,12038,VariableType +XYArrayItemType_Definition,12039,Variable +XYArrayItemType_ValuePrecision,12040,Variable +XYArrayItemType_InstrumentRange,12041,Variable +XYArrayItemType_EURange,12042,Variable +XYArrayItemType_EngineeringUnits,12043,Variable +XYArrayItemType_Title,12044,Variable +XYArrayItemType_AxisScaleType,12045,Variable +XYArrayItemType_XAxisDefinition,12046,Variable +ImageItemType,12047,VariableType +ImageItemType_Definition,12048,Variable +ImageItemType_ValuePrecision,12049,Variable +ImageItemType_InstrumentRange,12050,Variable +ImageItemType_EURange,12051,Variable +ImageItemType_EngineeringUnits,12052,Variable +ImageItemType_Title,12053,Variable +ImageItemType_AxisScaleType,12054,Variable +ImageItemType_XAxisDefinition,12055,Variable +ImageItemType_YAxisDefinition,12056,Variable +CubeItemType,12057,VariableType +CubeItemType_Definition,12058,Variable +CubeItemType_ValuePrecision,12059,Variable +CubeItemType_InstrumentRange,12060,Variable +CubeItemType_EURange,12061,Variable +CubeItemType_EngineeringUnits,12062,Variable +CubeItemType_Title,12063,Variable +CubeItemType_AxisScaleType,12064,Variable +CubeItemType_XAxisDefinition,12065,Variable +CubeItemType_YAxisDefinition,12066,Variable +CubeItemType_ZAxisDefinition,12067,Variable +NDimensionArrayItemType,12068,VariableType +NDimensionArrayItemType_Definition,12069,Variable +NDimensionArrayItemType_ValuePrecision,12070,Variable +NDimensionArrayItemType_InstrumentRange,12071,Variable +NDimensionArrayItemType_EURange,12072,Variable +NDimensionArrayItemType_EngineeringUnits,12073,Variable +NDimensionArrayItemType_Title,12074,Variable +NDimensionArrayItemType_AxisScaleType,12075,Variable +NDimensionArrayItemType_AxisDefinition,12076,Variable +AxisScaleEnumeration,12077,DataType +AxisScaleEnumeration_EnumStrings,12078,Variable +AxisInformation,12079,DataType +XVType,12080,DataType +AxisInformation_Encoding_DefaultXml,12081,Object +XVType_Encoding_DefaultXml,12082,Object +OpcUa_XmlSchema_AxisInformation,12083,Variable +OpcUa_XmlSchema_AxisInformation_DataTypeVersion,12084,Variable +OpcUa_XmlSchema_AxisInformation_DictionaryFragment,12085,Variable +OpcUa_XmlSchema_XVType,12086,Variable +OpcUa_XmlSchema_XVType_DataTypeVersion,12087,Variable +OpcUa_XmlSchema_XVType_DictionaryFragment,12088,Variable +AxisInformation_Encoding_DefaultBinary,12089,Object +XVType_Encoding_DefaultBinary,12090,Object +OpcUa_BinarySchema_AxisInformation,12091,Variable +OpcUa_BinarySchema_AxisInformation_DataTypeVersion,12092,Variable +OpcUa_BinarySchema_AxisInformation_DictionaryFragment,12093,Variable +OpcUa_BinarySchema_XVType,12094,Variable +OpcUa_BinarySchema_XVType_DataTypeVersion,12095,Variable +OpcUa_BinarySchema_XVType_DictionaryFragment,12096,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder,12097,Object +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics,12098,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_SessionId,12099,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_SessionName,12100,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_ClientDescription,12101,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_ServerUri,12102,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_EndpointUrl,12103,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_LocaleIds,12104,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_ActualSessionTimeout,12105,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_MaxResponseMessageSize,12106,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_ClientConnectionTime,12107,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_ClientLastContactTime,12108,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_CurrentSubscriptionsCount,12109,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_CurrentMonitoredItemsCount,12110,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_CurrentPublishRequestsInQueue,12111,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_TotalRequestCount,12112,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_UnauthorizedRequestCount,12113,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_ReadCount,12114,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_HistoryReadCount,12115,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_WriteCount,12116,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_HistoryUpdateCount,12117,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_CallCount,12118,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_CreateMonitoredItemsCount,12119,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_ModifyMonitoredItemsCount,12120,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_SetMonitoringModeCount,12121,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_SetTriggeringCount,12122,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_DeleteMonitoredItemsCount,12123,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_CreateSubscriptionCount,12124,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_ModifySubscriptionCount,12125,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_SetPublishingModeCount,12126,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_PublishCount,12127,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_RepublishCount,12128,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_TransferSubscriptionsCount,12129,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_DeleteSubscriptionsCount,12130,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_AddNodesCount,12131,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_AddReferencesCount,12132,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_DeleteNodesCount,12133,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_DeleteReferencesCount,12134,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_BrowseCount,12135,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_BrowseNextCount,12136,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_TranslateBrowsePathsToNodeIdsCount,12137,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_QueryFirstCount,12138,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_QueryNextCount,12139,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_RegisterNodesCount,12140,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_UnregisterNodesCount,12141,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionSecurityDiagnostics,12142,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionSecurityDiagnostics_SessionId,12143,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionSecurityDiagnostics_ClientUserIdOfSession,12144,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionSecurityDiagnostics_ClientUserIdHistory,12145,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionSecurityDiagnostics_AuthenticationMechanism,12146,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionSecurityDiagnostics_Encoding,12147,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionSecurityDiagnostics_TransportProtocol,12148,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionSecurityDiagnostics_SecurityMode,12149,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionSecurityDiagnostics_SecurityPolicyUri,12150,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionSecurityDiagnostics_ClientCertificate,12151,Variable +SessionsDiagnosticsSummaryType_ClientName_Placeholder_SubscriptionDiagnosticsArray,12152,Variable +ServerType_ServerCapabilities_OperationLimits_MaxNodesPerHistoryReadData,12153,Variable +ServerType_ServerCapabilities_OperationLimits_MaxNodesPerHistoryReadEvents,12154,Variable +ServerType_ServerCapabilities_OperationLimits_MaxNodesPerHistoryUpdateData,12155,Variable +ServerType_ServerCapabilities_OperationLimits_MaxNodesPerHistoryUpdateEvents,12156,Variable +ServerCapabilitiesType_OperationLimits_MaxNodesPerHistoryReadData,12157,Variable +ServerCapabilitiesType_OperationLimits_MaxNodesPerHistoryReadEvents,12158,Variable +ServerCapabilitiesType_OperationLimits_MaxNodesPerHistoryUpdateData,12159,Variable +ServerCapabilitiesType_OperationLimits_MaxNodesPerHistoryUpdateEvents,12160,Variable +OperationLimitsType_MaxNodesPerHistoryReadData,12161,Variable +OperationLimitsType_MaxNodesPerHistoryReadEvents,12162,Variable +OperationLimitsType_MaxNodesPerHistoryUpdateData,12163,Variable +OperationLimitsType_MaxNodesPerHistoryUpdateEvents,12164,Variable +Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryReadData,12165,Variable +Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryReadEvents,12166,Variable +Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryUpdateData,12167,Variable +Server_ServerCapabilities_OperationLimits_MaxNodesPerHistoryUpdateEvents,12168,Variable +NamingRuleType_EnumValues,12169,Variable +ViewVersion,12170,Variable +ComplexNumberType,12171,DataType +DoubleComplexNumberType,12172,DataType +ComplexNumberType_Encoding_DefaultXml,12173,Object +DoubleComplexNumberType_Encoding_DefaultXml,12174,Object +OpcUa_XmlSchema_ComplexNumberType,12175,Variable +OpcUa_XmlSchema_ComplexNumberType_DataTypeVersion,12176,Variable +OpcUa_XmlSchema_ComplexNumberType_DictionaryFragment,12177,Variable +OpcUa_XmlSchema_DoubleComplexNumberType,12178,Variable +OpcUa_XmlSchema_DoubleComplexNumberType_DataTypeVersion,12179,Variable +OpcUa_XmlSchema_DoubleComplexNumberType_DictionaryFragment,12180,Variable +ComplexNumberType_Encoding_DefaultBinary,12181,Object +DoubleComplexNumberType_Encoding_DefaultBinary,12182,Object +OpcUa_BinarySchema_ComplexNumberType,12183,Variable +OpcUa_BinarySchema_ComplexNumberType_DataTypeVersion,12184,Variable +OpcUa_BinarySchema_ComplexNumberType_DictionaryFragment,12185,Variable +OpcUa_BinarySchema_DoubleComplexNumberType,12186,Variable +OpcUa_BinarySchema_DoubleComplexNumberType_DataTypeVersion,12187,Variable +OpcUa_BinarySchema_DoubleComplexNumberType_DictionaryFragment,12188,Variable +ServerOnNetwork,12189,DataType +FindServersOnNetworkRequest,12190,DataType +FindServersOnNetworkResponse,12191,DataType +RegisterServer2Request,12193,DataType +RegisterServer2Response,12194,DataType +ServerOnNetwork_Encoding_DefaultXml,12195,Object +FindServersOnNetworkRequest_Encoding_DefaultXml,12196,Object +FindServersOnNetworkResponse_Encoding_DefaultXml,12197,Object +RegisterServer2Request_Encoding_DefaultXml,12199,Object +RegisterServer2Response_Encoding_DefaultXml,12200,Object +OpcUa_XmlSchema_ServerOnNetwork,12201,Variable +OpcUa_XmlSchema_ServerOnNetwork_DataTypeVersion,12202,Variable +OpcUa_XmlSchema_ServerOnNetwork_DictionaryFragment,12203,Variable +ServerOnNetwork_Encoding_DefaultBinary,12207,Object +FindServersOnNetworkRequest_Encoding_DefaultBinary,12208,Object +FindServersOnNetworkResponse_Encoding_DefaultBinary,12209,Object +RegisterServer2Request_Encoding_DefaultBinary,12211,Object +RegisterServer2Response_Encoding_DefaultBinary,12212,Object +OpcUa_BinarySchema_ServerOnNetwork,12213,Variable +OpcUa_BinarySchema_ServerOnNetwork_DataTypeVersion,12214,Variable +OpcUa_BinarySchema_ServerOnNetwork_DictionaryFragment,12215,Variable +ProgressEventType_Context,12502,Variable +ProgressEventType_Progress,12503,Variable +OpenWithMasksMethodType,12513,Method +OpenWithMasksMethodType_InputArguments,12514,Variable +OpenWithMasksMethodType_OutputArguments,12515,Variable +CloseAndUpdateMethodType,12516,Method +CloseAndUpdateMethodType_OutputArguments,12517,Variable +AddCertificateMethodType,12518,Method +AddCertificateMethodType_InputArguments,12519,Variable +RemoveCertificateMethodType,12520,Method +RemoveCertificateMethodType_InputArguments,12521,Variable +TrustListType,12522,ObjectType +TrustListType_Size,12523,Variable +TrustListType_OpenCount,12526,Variable +TrustListType_Open,12527,Method +TrustListType_Open_InputArguments,12528,Variable +TrustListType_Open_OutputArguments,12529,Variable +TrustListType_Close,12530,Method +TrustListType_Close_InputArguments,12531,Variable +TrustListType_Read,12532,Method +TrustListType_Read_InputArguments,12533,Variable +TrustListType_Read_OutputArguments,12534,Variable +TrustListType_Write,12535,Method +TrustListType_Write_InputArguments,12536,Variable +TrustListType_GetPosition,12537,Method +TrustListType_GetPosition_InputArguments,12538,Variable +TrustListType_GetPosition_OutputArguments,12539,Variable +TrustListType_SetPosition,12540,Method +TrustListType_SetPosition_InputArguments,12541,Variable +TrustListType_LastUpdateTime,12542,Variable +TrustListType_OpenWithMasks,12543,Method +TrustListType_OpenWithMasks_InputArguments,12544,Variable +TrustListType_OpenWithMasks_OutputArguments,12545,Variable +TrustListType_CloseAndUpdate,12546,Method +TrustListType_CloseAndUpdate_OutputArguments,12547,Variable +TrustListType_AddCertificate,12548,Method +TrustListType_AddCertificate_InputArguments,12549,Variable +TrustListType_RemoveCertificate,12550,Method +TrustListType_RemoveCertificate_InputArguments,12551,Variable +TrustListMasks,12552,DataType +TrustListMasks_EnumValues,12553,Variable +TrustListDataType,12554,DataType +CertificateGroupType,12555,ObjectType +CertificateType,12556,ObjectType +ApplicationCertificateType,12557,ObjectType +HttpsCertificateType,12558,ObjectType +RsaMinApplicationCertificateType,12559,ObjectType +RsaSha256ApplicationCertificateType,12560,ObjectType +TrustListUpdatedAuditEventType,12561,ObjectType +TrustListUpdatedAuditEventType_EventId,12562,Variable +TrustListUpdatedAuditEventType_EventType,12563,Variable +TrustListUpdatedAuditEventType_SourceNode,12564,Variable +TrustListUpdatedAuditEventType_SourceName,12565,Variable +TrustListUpdatedAuditEventType_Time,12566,Variable +TrustListUpdatedAuditEventType_ReceiveTime,12567,Variable +TrustListUpdatedAuditEventType_LocalTime,12568,Variable +TrustListUpdatedAuditEventType_Message,12569,Variable +TrustListUpdatedAuditEventType_Severity,12570,Variable +TrustListUpdatedAuditEventType_ActionTimeStamp,12571,Variable +TrustListUpdatedAuditEventType_Status,12572,Variable +TrustListUpdatedAuditEventType_ServerId,12573,Variable +TrustListUpdatedAuditEventType_ClientAuditEntryId,12574,Variable +TrustListUpdatedAuditEventType_ClientUserId,12575,Variable +TrustListUpdatedAuditEventType_MethodId,12576,Variable +TrustListUpdatedAuditEventType_InputArguments,12577,Variable +UpdateCertificateMethodType,12578,Method +UpdateCertificateMethodType_InputArguments,12579,Variable +UpdateCertificateMethodType_OutputArguments,12580,Variable +ServerConfigurationType,12581,ObjectType +ServerConfigurationType_SupportedPrivateKeyFormats,12583,Variable +ServerConfigurationType_MaxTrustListSize,12584,Variable +ServerConfigurationType_MulticastDnsEnabled,12585,Variable +ServerConfigurationType_UpdateCertificate,12616,Method +ServerConfigurationType_UpdateCertificate_InputArguments,12617,Variable +ServerConfigurationType_UpdateCertificate_OutputArguments,12618,Variable +CertificateUpdatedAuditEventType,12620,ObjectType +CertificateUpdatedAuditEventType_EventId,12621,Variable +CertificateUpdatedAuditEventType_EventType,12622,Variable +CertificateUpdatedAuditEventType_SourceNode,12623,Variable +CertificateUpdatedAuditEventType_SourceName,12624,Variable +CertificateUpdatedAuditEventType_Time,12625,Variable +CertificateUpdatedAuditEventType_ReceiveTime,12626,Variable +CertificateUpdatedAuditEventType_LocalTime,12627,Variable +CertificateUpdatedAuditEventType_Message,12628,Variable +CertificateUpdatedAuditEventType_Severity,12629,Variable +CertificateUpdatedAuditEventType_ActionTimeStamp,12630,Variable +CertificateUpdatedAuditEventType_Status,12631,Variable +CertificateUpdatedAuditEventType_ServerId,12632,Variable +CertificateUpdatedAuditEventType_ClientAuditEntryId,12633,Variable +CertificateUpdatedAuditEventType_ClientUserId,12634,Variable +CertificateUpdatedAuditEventType_MethodId,12635,Variable +CertificateUpdatedAuditEventType_InputArguments,12636,Variable +ServerConfiguration,12637,Object +ServerConfiguration_SupportedPrivateKeyFormats,12639,Variable +ServerConfiguration_MaxTrustListSize,12640,Variable +ServerConfiguration_MulticastDnsEnabled,12641,Variable +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList,12642,Object +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Size,12643,Variable +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_OpenCount,12646,Variable +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Open,12647,Method +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Open_InputArguments,12648,Variable +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Open_OutputArguments,12649,Variable +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Close,12650,Method +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Close_InputArguments,12651,Variable +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Read,12652,Method +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Read_InputArguments,12653,Variable +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Read_OutputArguments,12654,Variable +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Write,12655,Method +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Write_InputArguments,12656,Variable +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_GetPosition,12657,Method +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_GetPosition_InputArguments,12658,Variable +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_GetPosition_OutputArguments,12659,Variable +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_SetPosition,12660,Method +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_SetPosition_InputArguments,12661,Variable +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_LastUpdateTime,12662,Variable +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_OpenWithMasks,12663,Method +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_OpenWithMasks_InputArguments,12664,Variable +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_OpenWithMasks_OutputArguments,12665,Variable +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_CloseAndUpdate,12666,Method +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_CloseAndUpdate_OutputArguments,12667,Variable +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_AddCertificate,12668,Method +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_AddCertificate_InputArguments,12669,Variable +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_RemoveCertificate,12670,Method +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_RemoveCertificate_InputArguments,12671,Variable +TrustListDataType_Encoding_DefaultXml,12676,Object +OpcUa_XmlSchema_TrustListDataType,12677,Variable +OpcUa_XmlSchema_TrustListDataType_DataTypeVersion,12678,Variable +OpcUa_XmlSchema_TrustListDataType_DictionaryFragment,12679,Variable +TrustListDataType_Encoding_DefaultBinary,12680,Object +OpcUa_BinarySchema_TrustListDataType,12681,Variable +OpcUa_BinarySchema_TrustListDataType_DataTypeVersion,12682,Variable +OpcUa_BinarySchema_TrustListDataType_DictionaryFragment,12683,Variable +ServerType_Namespaces_AddressSpaceFile_Writable,12684,Variable +ServerType_Namespaces_AddressSpaceFile_UserWritable,12685,Variable +FileType_Writable,12686,Variable +FileType_UserWritable,12687,Variable +AddressSpaceFileType_Writable,12688,Variable +AddressSpaceFileType_UserWritable,12689,Variable +NamespaceMetadataType_NamespaceFile_Writable,12690,Variable +NamespaceMetadataType_NamespaceFile_UserWritable,12691,Variable +NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_Writable,12692,Variable +NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_UserWritable,12693,Variable +NamespacesType_AddressSpaceFile_Writable,12694,Variable +NamespacesType_AddressSpaceFile_UserWritable,12695,Variable +Server_Namespaces_AddressSpaceFile_Writable,12696,Variable +Server_Namespaces_AddressSpaceFile_UserWritable,12697,Variable +TrustListType_Writable,12698,Variable +TrustListType_UserWritable,12699,Variable +CloseAndUpdateMethodType_InputArguments,12704,Variable +TrustListType_CloseAndUpdate_InputArguments,12705,Variable +ServerConfigurationType_ServerCapabilities,12708,Variable +ServerConfiguration_ServerCapabilities,12710,Variable +OpcUa_XmlSchema_RelativePathElement,12712,Variable +OpcUa_XmlSchema_RelativePathElement_DataTypeVersion,12713,Variable +OpcUa_XmlSchema_RelativePathElement_DictionaryFragment,12714,Variable +OpcUa_XmlSchema_RelativePath,12715,Variable +OpcUa_XmlSchema_RelativePath_DataTypeVersion,12716,Variable +OpcUa_XmlSchema_RelativePath_DictionaryFragment,12717,Variable +OpcUa_BinarySchema_RelativePathElement,12718,Variable +OpcUa_BinarySchema_RelativePathElement_DataTypeVersion,12719,Variable +OpcUa_BinarySchema_RelativePathElement_DictionaryFragment,12720,Variable +OpcUa_BinarySchema_RelativePath,12721,Variable +OpcUa_BinarySchema_RelativePath_DataTypeVersion,12722,Variable +OpcUa_BinarySchema_RelativePath_DictionaryFragment,12723,Variable +ServerConfigurationType_CreateSigningRequest,12731,Method +ServerConfigurationType_CreateSigningRequest_InputArguments,12732,Variable +ServerConfigurationType_CreateSigningRequest_OutputArguments,12733,Variable +ServerConfigurationType_ApplyChanges,12734,Method +ServerConfiguration_CreateSigningRequest,12737,Method +ServerConfiguration_CreateSigningRequest_InputArguments,12738,Variable +ServerConfiguration_CreateSigningRequest_OutputArguments,12739,Variable +ServerConfiguration_ApplyChanges,12740,Method +CreateSigningRequestMethodType,12741,Method +CreateSigningRequestMethodType_InputArguments,12742,Variable +CreateSigningRequestMethodType_OutputArguments,12743,Variable +OptionSetValues,12745,Variable +ServerType_SetSubscriptionDurable,12746,Method +ServerType_SetSubscriptionDurable_InputArguments,12747,Variable +ServerType_SetSubscriptionDurable_OutputArguments,12748,Variable +Server_SetSubscriptionDurable,12749,Method +Server_SetSubscriptionDurable_InputArguments,12750,Variable +Server_SetSubscriptionDurable_OutputArguments,12751,Variable +SetSubscriptionDurableMethodType,12752,Method +SetSubscriptionDurableMethodType_InputArguments,12753,Variable +SetSubscriptionDurableMethodType_OutputArguments,12754,Variable +OptionSet,12755,DataType +Union,12756,DataType +OptionSet_Encoding_DefaultXml,12757,Object +Union_Encoding_DefaultXml,12758,Object +OpcUa_XmlSchema_OptionSet,12759,Variable +OpcUa_XmlSchema_OptionSet_DataTypeVersion,12760,Variable +OpcUa_XmlSchema_OptionSet_DictionaryFragment,12761,Variable +OpcUa_XmlSchema_Union,12762,Variable +OpcUa_XmlSchema_Union_DataTypeVersion,12763,Variable +OpcUa_XmlSchema_Union_DictionaryFragment,12764,Variable +OptionSet_Encoding_DefaultBinary,12765,Object +Union_Encoding_DefaultBinary,12766,Object +OpcUa_BinarySchema_OptionSet,12767,Variable +OpcUa_BinarySchema_OptionSet_DataTypeVersion,12768,Variable +OpcUa_BinarySchema_OptionSet_DictionaryFragment,12769,Variable +OpcUa_BinarySchema_Union,12770,Variable +OpcUa_BinarySchema_Union_DataTypeVersion,12771,Variable +OpcUa_BinarySchema_Union_DictionaryFragment,12772,Variable +GetRejectedListMethodType,12773,Method +GetRejectedListMethodType_OutputArguments,12774,Variable +ServerConfigurationType_GetRejectedList,12775,Method +ServerConfigurationType_GetRejectedList_OutputArguments,12776,Variable +ServerConfiguration_GetRejectedList,12777,Method +ServerConfiguration_GetRejectedList_OutputArguments,12778,Variable +SamplingIntervalDiagnosticsArrayType_SamplingIntervalDiagnostics,12779,Variable +SamplingIntervalDiagnosticsArrayType_SamplingIntervalDiagnostics_SamplingInterval,12780,Variable +SamplingIntervalDiagnosticsArrayType_SamplingIntervalDiagnostics_SampledMonitoredItemsCount,12781,Variable +SamplingIntervalDiagnosticsArrayType_SamplingIntervalDiagnostics_MaxSampledMonitoredItemsCount,12782,Variable +SamplingIntervalDiagnosticsArrayType_SamplingIntervalDiagnostics_DisabledMonitoredItemsSamplingCount,12783,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics,12784,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_SessionId,12785,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_SubscriptionId,12786,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_Priority,12787,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_PublishingInterval,12788,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_MaxKeepAliveCount,12789,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_MaxLifetimeCount,12790,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_MaxNotificationsPerPublish,12791,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_PublishingEnabled,12792,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_ModifyCount,12793,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_EnableCount,12794,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_DisableCount,12795,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_RepublishRequestCount,12796,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_RepublishMessageRequestCount,12797,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_RepublishMessageCount,12798,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_TransferRequestCount,12799,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_TransferredToAltClientCount,12800,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_TransferredToSameClientCount,12801,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_PublishRequestCount,12802,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_DataChangeNotificationsCount,12803,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_EventNotificationsCount,12804,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_NotificationsCount,12805,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_LatePublishRequestCount,12806,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_CurrentKeepAliveCount,12807,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_CurrentLifetimeCount,12808,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_UnacknowledgedMessageCount,12809,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_DiscardedMessageCount,12810,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_MonitoredItemCount,12811,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_DisabledMonitoredItemCount,12812,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_MonitoringQueueOverflowCount,12813,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_NextSequenceNumber,12814,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_EventQueueOverFlowCount,12815,Variable +SessionDiagnosticsArrayType_SessionDiagnostics,12816,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_SessionId,12817,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_SessionName,12818,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_ClientDescription,12819,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_ServerUri,12820,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_EndpointUrl,12821,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_LocaleIds,12822,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_ActualSessionTimeout,12823,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_MaxResponseMessageSize,12824,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_ClientConnectionTime,12825,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_ClientLastContactTime,12826,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_CurrentSubscriptionsCount,12827,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_CurrentMonitoredItemsCount,12828,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_CurrentPublishRequestsInQueue,12829,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_TotalRequestCount,12830,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_UnauthorizedRequestCount,12831,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_ReadCount,12832,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_HistoryReadCount,12833,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_WriteCount,12834,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_HistoryUpdateCount,12835,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_CallCount,12836,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_CreateMonitoredItemsCount,12837,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_ModifyMonitoredItemsCount,12838,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_SetMonitoringModeCount,12839,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_SetTriggeringCount,12840,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_DeleteMonitoredItemsCount,12841,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_CreateSubscriptionCount,12842,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_ModifySubscriptionCount,12843,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_SetPublishingModeCount,12844,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_PublishCount,12845,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_RepublishCount,12846,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_TransferSubscriptionsCount,12847,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_DeleteSubscriptionsCount,12848,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_AddNodesCount,12849,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_AddReferencesCount,12850,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_DeleteNodesCount,12851,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_DeleteReferencesCount,12852,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_BrowseCount,12853,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_BrowseNextCount,12854,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_TranslateBrowsePathsToNodeIdsCount,12855,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_QueryFirstCount,12856,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_QueryNextCount,12857,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_RegisterNodesCount,12858,Variable +SessionDiagnosticsArrayType_SessionDiagnostics_UnregisterNodesCount,12859,Variable +SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics,12860,Variable +SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_SessionId,12861,Variable +SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_ClientUserIdOfSession,12862,Variable +SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_ClientUserIdHistory,12863,Variable +SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_AuthenticationMechanism,12864,Variable +SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_Encoding,12865,Variable +SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_TransportProtocol,12866,Variable +SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_SecurityMode,12867,Variable +SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_SecurityPolicyUri,12868,Variable +SessionSecurityDiagnosticsArrayType_SessionSecurityDiagnostics_ClientCertificate,12869,Variable +ServerType_ResendData,12871,Method +ServerType_ResendData_InputArguments,12872,Variable +Server_ResendData,12873,Method +Server_ResendData_InputArguments,12874,Variable +ResendDataMethodType,12875,Method +ResendDataMethodType_InputArguments,12876,Variable +NormalizedString,12877,DataType +DecimalString,12878,DataType +DurationString,12879,DataType +TimeString,12880,DataType +DateString,12881,DataType +ServerType_EstimatedReturnTime,12882,Variable +ServerType_RequestServerStateChange,12883,Method +ServerType_RequestServerStateChange_InputArguments,12884,Variable +Server_EstimatedReturnTime,12885,Variable +Server_RequestServerStateChange,12886,Method +Server_RequestServerStateChange_InputArguments,12887,Variable +RequestServerStateChangeMethodType,12888,Method +RequestServerStateChangeMethodType_InputArguments,12889,Variable +DiscoveryConfiguration,12890,DataType +MdnsDiscoveryConfiguration,12891,DataType +DiscoveryConfiguration_Encoding_DefaultXml,12892,Object +MdnsDiscoveryConfiguration_Encoding_DefaultXml,12893,Object +OpcUa_XmlSchema_DiscoveryConfiguration,12894,Variable +OpcUa_XmlSchema_DiscoveryConfiguration_DataTypeVersion,12895,Variable +OpcUa_XmlSchema_DiscoveryConfiguration_DictionaryFragment,12896,Variable +OpcUa_XmlSchema_MdnsDiscoveryConfiguration,12897,Variable +OpcUa_XmlSchema_MdnsDiscoveryConfiguration_DataTypeVersion,12898,Variable +OpcUa_XmlSchema_MdnsDiscoveryConfiguration_DictionaryFragment,12899,Variable +DiscoveryConfiguration_Encoding_DefaultBinary,12900,Object +MdnsDiscoveryConfiguration_Encoding_DefaultBinary,12901,Object +OpcUa_BinarySchema_DiscoveryConfiguration,12902,Variable +OpcUa_BinarySchema_DiscoveryConfiguration_DataTypeVersion,12903,Variable +OpcUa_BinarySchema_DiscoveryConfiguration_DictionaryFragment,12904,Variable +OpcUa_BinarySchema_MdnsDiscoveryConfiguration,12905,Variable +OpcUa_BinarySchema_MdnsDiscoveryConfiguration_DataTypeVersion,12906,Variable +OpcUa_BinarySchema_MdnsDiscoveryConfiguration_DictionaryFragment,12907,Variable +MaxByteStringLength,12908,Variable +ServerType_ServerCapabilities_MaxByteStringLength,12909,Variable +ServerCapabilitiesType_MaxByteStringLength,12910,Variable +Server_ServerCapabilities_MaxByteStringLength,12911,Variable +ConditionType_ConditionRefresh2,12912,Method +ConditionType_ConditionRefresh2_InputArguments,12913,Variable +ConditionRefresh2MethodType,12914,Method +ConditionRefresh2MethodType_InputArguments,12915,Variable +DialogConditionType_ConditionRefresh2,12916,Method +DialogConditionType_ConditionRefresh2_InputArguments,12917,Variable +AcknowledgeableConditionType_ConditionRefresh2,12918,Method +AcknowledgeableConditionType_ConditionRefresh2_InputArguments,12919,Variable +AlarmConditionType_ConditionRefresh2,12984,Method +AlarmConditionType_ConditionRefresh2_InputArguments,12985,Variable +LimitAlarmType_ConditionRefresh2,12986,Method +LimitAlarmType_ConditionRefresh2_InputArguments,12987,Variable +ExclusiveLimitAlarmType_ConditionRefresh2,12988,Method +ExclusiveLimitAlarmType_ConditionRefresh2_InputArguments,12989,Variable +NonExclusiveLimitAlarmType_ConditionRefresh2,12990,Method +NonExclusiveLimitAlarmType_ConditionRefresh2_InputArguments,12991,Variable +NonExclusiveLevelAlarmType_ConditionRefresh2,12992,Method +NonExclusiveLevelAlarmType_ConditionRefresh2_InputArguments,12993,Variable +ExclusiveLevelAlarmType_ConditionRefresh2,12994,Method +ExclusiveLevelAlarmType_ConditionRefresh2_InputArguments,12995,Variable +NonExclusiveDeviationAlarmType_ConditionRefresh2,12996,Method +NonExclusiveDeviationAlarmType_ConditionRefresh2_InputArguments,12997,Variable +ExclusiveDeviationAlarmType_ConditionRefresh2,12998,Method +ExclusiveDeviationAlarmType_ConditionRefresh2_InputArguments,12999,Variable +NonExclusiveRateOfChangeAlarmType_ConditionRefresh2,13000,Method +NonExclusiveRateOfChangeAlarmType_ConditionRefresh2_InputArguments,13001,Variable +ExclusiveRateOfChangeAlarmType_ConditionRefresh2,13002,Method +ExclusiveRateOfChangeAlarmType_ConditionRefresh2_InputArguments,13003,Variable +DiscreteAlarmType_ConditionRefresh2,13004,Method +DiscreteAlarmType_ConditionRefresh2_InputArguments,13005,Variable +OffNormalAlarmType_ConditionRefresh2,13006,Method +OffNormalAlarmType_ConditionRefresh2_InputArguments,13007,Variable +SystemOffNormalAlarmType_ConditionRefresh2,13008,Method +SystemOffNormalAlarmType_ConditionRefresh2_InputArguments,13009,Variable +TripAlarmType_ConditionRefresh2,13010,Method +TripAlarmType_ConditionRefresh2_InputArguments,13011,Variable +CertificateExpirationAlarmType,13225,ObjectType +CertificateExpirationAlarmType_EventId,13226,Variable +CertificateExpirationAlarmType_EventType,13227,Variable +CertificateExpirationAlarmType_SourceNode,13228,Variable +CertificateExpirationAlarmType_SourceName,13229,Variable +CertificateExpirationAlarmType_Time,13230,Variable +CertificateExpirationAlarmType_ReceiveTime,13231,Variable +CertificateExpirationAlarmType_LocalTime,13232,Variable +CertificateExpirationAlarmType_Message,13233,Variable +CertificateExpirationAlarmType_Severity,13234,Variable +CertificateExpirationAlarmType_ConditionClassId,13235,Variable +CertificateExpirationAlarmType_ConditionClassName,13236,Variable +CertificateExpirationAlarmType_ConditionName,13237,Variable +CertificateExpirationAlarmType_BranchId,13238,Variable +CertificateExpirationAlarmType_Retain,13239,Variable +CertificateExpirationAlarmType_EnabledState,13240,Variable +CertificateExpirationAlarmType_EnabledState_Id,13241,Variable +CertificateExpirationAlarmType_EnabledState_Name,13242,Variable +CertificateExpirationAlarmType_EnabledState_Number,13243,Variable +CertificateExpirationAlarmType_EnabledState_EffectiveDisplayName,13244,Variable +CertificateExpirationAlarmType_EnabledState_TransitionTime,13245,Variable +CertificateExpirationAlarmType_EnabledState_EffectiveTransitionTime,13246,Variable +CertificateExpirationAlarmType_EnabledState_TrueState,13247,Variable +CertificateExpirationAlarmType_EnabledState_FalseState,13248,Variable +CertificateExpirationAlarmType_Quality,13249,Variable +CertificateExpirationAlarmType_Quality_SourceTimestamp,13250,Variable +CertificateExpirationAlarmType_LastSeverity,13251,Variable +CertificateExpirationAlarmType_LastSeverity_SourceTimestamp,13252,Variable +CertificateExpirationAlarmType_Comment,13253,Variable +CertificateExpirationAlarmType_Comment_SourceTimestamp,13254,Variable +CertificateExpirationAlarmType_ClientUserId,13255,Variable +CertificateExpirationAlarmType_Disable,13256,Method +CertificateExpirationAlarmType_Enable,13257,Method +CertificateExpirationAlarmType_AddComment,13258,Method +CertificateExpirationAlarmType_AddComment_InputArguments,13259,Variable +CertificateExpirationAlarmType_ConditionRefresh,13260,Method +CertificateExpirationAlarmType_ConditionRefresh_InputArguments,13261,Variable +CertificateExpirationAlarmType_ConditionRefresh2,13262,Method +CertificateExpirationAlarmType_ConditionRefresh2_InputArguments,13263,Variable +CertificateExpirationAlarmType_AckedState,13264,Variable +CertificateExpirationAlarmType_AckedState_Id,13265,Variable +CertificateExpirationAlarmType_AckedState_Name,13266,Variable +CertificateExpirationAlarmType_AckedState_Number,13267,Variable +CertificateExpirationAlarmType_AckedState_EffectiveDisplayName,13268,Variable +CertificateExpirationAlarmType_AckedState_TransitionTime,13269,Variable +CertificateExpirationAlarmType_AckedState_EffectiveTransitionTime,13270,Variable +CertificateExpirationAlarmType_AckedState_TrueState,13271,Variable +CertificateExpirationAlarmType_AckedState_FalseState,13272,Variable +CertificateExpirationAlarmType_ConfirmedState,13273,Variable +CertificateExpirationAlarmType_ConfirmedState_Id,13274,Variable +CertificateExpirationAlarmType_ConfirmedState_Name,13275,Variable +CertificateExpirationAlarmType_ConfirmedState_Number,13276,Variable +CertificateExpirationAlarmType_ConfirmedState_EffectiveDisplayName,13277,Variable +CertificateExpirationAlarmType_ConfirmedState_TransitionTime,13278,Variable +CertificateExpirationAlarmType_ConfirmedState_EffectiveTransitionTime,13279,Variable +CertificateExpirationAlarmType_ConfirmedState_TrueState,13280,Variable +CertificateExpirationAlarmType_ConfirmedState_FalseState,13281,Variable +CertificateExpirationAlarmType_Acknowledge,13282,Method +CertificateExpirationAlarmType_Acknowledge_InputArguments,13283,Variable +CertificateExpirationAlarmType_Confirm,13284,Method +CertificateExpirationAlarmType_Confirm_InputArguments,13285,Variable +CertificateExpirationAlarmType_ActiveState,13286,Variable +CertificateExpirationAlarmType_ActiveState_Id,13287,Variable +CertificateExpirationAlarmType_ActiveState_Name,13288,Variable +CertificateExpirationAlarmType_ActiveState_Number,13289,Variable +CertificateExpirationAlarmType_ActiveState_EffectiveDisplayName,13290,Variable +CertificateExpirationAlarmType_ActiveState_TransitionTime,13291,Variable +CertificateExpirationAlarmType_ActiveState_EffectiveTransitionTime,13292,Variable +CertificateExpirationAlarmType_ActiveState_TrueState,13293,Variable +CertificateExpirationAlarmType_ActiveState_FalseState,13294,Variable +CertificateExpirationAlarmType_InputNode,13295,Variable +CertificateExpirationAlarmType_SuppressedState,13296,Variable +CertificateExpirationAlarmType_SuppressedState_Id,13297,Variable +CertificateExpirationAlarmType_SuppressedState_Name,13298,Variable +CertificateExpirationAlarmType_SuppressedState_Number,13299,Variable +CertificateExpirationAlarmType_SuppressedState_EffectiveDisplayName,13300,Variable +CertificateExpirationAlarmType_SuppressedState_TransitionTime,13301,Variable +CertificateExpirationAlarmType_SuppressedState_EffectiveTransitionTime,13302,Variable +CertificateExpirationAlarmType_SuppressedState_TrueState,13303,Variable +CertificateExpirationAlarmType_SuppressedState_FalseState,13304,Variable +CertificateExpirationAlarmType_ShelvingState,13305,Object +CertificateExpirationAlarmType_ShelvingState_CurrentState,13306,Variable +CertificateExpirationAlarmType_ShelvingState_CurrentState_Id,13307,Variable +CertificateExpirationAlarmType_ShelvingState_CurrentState_Name,13308,Variable +CertificateExpirationAlarmType_ShelvingState_CurrentState_Number,13309,Variable +CertificateExpirationAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,13310,Variable +CertificateExpirationAlarmType_ShelvingState_LastTransition,13311,Variable +CertificateExpirationAlarmType_ShelvingState_LastTransition_Id,13312,Variable +CertificateExpirationAlarmType_ShelvingState_LastTransition_Name,13313,Variable +CertificateExpirationAlarmType_ShelvingState_LastTransition_Number,13314,Variable +CertificateExpirationAlarmType_ShelvingState_LastTransition_TransitionTime,13315,Variable +CertificateExpirationAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,13316,Variable +CertificateExpirationAlarmType_ShelvingState_UnshelveTime,13317,Variable +CertificateExpirationAlarmType_ShelvingState_Unshelve,13318,Method +CertificateExpirationAlarmType_ShelvingState_OneShotShelve,13319,Method +CertificateExpirationAlarmType_ShelvingState_TimedShelve,13320,Method +CertificateExpirationAlarmType_ShelvingState_TimedShelve_InputArguments,13321,Variable +CertificateExpirationAlarmType_SuppressedOrShelved,13322,Variable +CertificateExpirationAlarmType_MaxTimeShelved,13323,Variable +CertificateExpirationAlarmType_NormalState,13324,Variable +CertificateExpirationAlarmType_ExpirationDate,13325,Variable +CertificateExpirationAlarmType_CertificateType,13326,Variable +CertificateExpirationAlarmType_Certificate,13327,Variable +ServerType_Namespaces_AddressSpaceFile_MimeType,13340,Variable +FileType_MimeType,13341,Variable +CreateDirectoryMethodType,13342,Method +CreateDirectoryMethodType_InputArguments,13343,Variable +CreateDirectoryMethodType_OutputArguments,13344,Variable +CreateFileMethodType,13345,Method +CreateFileMethodType_InputArguments,13346,Variable +CreateFileMethodType_OutputArguments,13347,Variable +DeleteFileMethodType,13348,Method +DeleteFileMethodType_InputArguments,13349,Variable +MoveOrCopyMethodType,13350,Method +MoveOrCopyMethodType_InputArguments,13351,Variable +MoveOrCopyMethodType_OutputArguments,13352,Variable +FileDirectoryType,13353,ObjectType +FileDirectoryType_FileDirectoryName_Placeholder,13354,Object +FileDirectoryType_FileDirectoryName_Placeholder_CreateDirectory,13355,Method +FileDirectoryType_FileDirectoryName_Placeholder_CreateDirectory_InputArguments,13356,Variable +FileDirectoryType_FileDirectoryName_Placeholder_CreateDirectory_OutputArguments,13357,Variable +FileDirectoryType_FileDirectoryName_Placeholder_CreateFile,13358,Method +FileDirectoryType_FileDirectoryName_Placeholder_CreateFile_InputArguments,13359,Variable +FileDirectoryType_FileDirectoryName_Placeholder_CreateFile_OutputArguments,13360,Variable +FileDirectoryType_FileDirectoryName_Placeholder_Delete,13361,Method +FileDirectoryType_FileDirectoryName_Placeholder_Delete_InputArguments,13362,Variable +FileDirectoryType_FileDirectoryName_Placeholder_MoveOrCopy,13363,Method +FileDirectoryType_FileDirectoryName_Placeholder_MoveOrCopy_InputArguments,13364,Variable +FileDirectoryType_FileDirectoryName_Placeholder_MoveOrCopy_OutputArguments,13365,Variable +FileDirectoryType_FileName_Placeholder,13366,Object +FileDirectoryType_FileName_Placeholder_Size,13367,Variable +FileDirectoryType_FileName_Placeholder_Writable,13368,Variable +FileDirectoryType_FileName_Placeholder_UserWritable,13369,Variable +FileDirectoryType_FileName_Placeholder_OpenCount,13370,Variable +FileDirectoryType_FileName_Placeholder_MimeType,13371,Variable +FileDirectoryType_FileName_Placeholder_Open,13372,Method +FileDirectoryType_FileName_Placeholder_Open_InputArguments,13373,Variable +FileDirectoryType_FileName_Placeholder_Open_OutputArguments,13374,Variable +FileDirectoryType_FileName_Placeholder_Close,13375,Method +FileDirectoryType_FileName_Placeholder_Close_InputArguments,13376,Variable +FileDirectoryType_FileName_Placeholder_Read,13377,Method +FileDirectoryType_FileName_Placeholder_Read_InputArguments,13378,Variable +FileDirectoryType_FileName_Placeholder_Read_OutputArguments,13379,Variable +FileDirectoryType_FileName_Placeholder_Write,13380,Method +FileDirectoryType_FileName_Placeholder_Write_InputArguments,13381,Variable +FileDirectoryType_FileName_Placeholder_GetPosition,13382,Method +FileDirectoryType_FileName_Placeholder_GetPosition_InputArguments,13383,Variable +FileDirectoryType_FileName_Placeholder_GetPosition_OutputArguments,13384,Variable +FileDirectoryType_FileName_Placeholder_SetPosition,13385,Method +FileDirectoryType_FileName_Placeholder_SetPosition_InputArguments,13386,Variable +FileDirectoryType_CreateDirectory,13387,Method +FileDirectoryType_CreateDirectory_InputArguments,13388,Variable +FileDirectoryType_CreateDirectory_OutputArguments,13389,Variable +FileDirectoryType_CreateFile,13390,Method +FileDirectoryType_CreateFile_InputArguments,13391,Variable +FileDirectoryType_CreateFile_OutputArguments,13392,Variable +FileDirectoryType_Delete,13393,Method +FileDirectoryType_Delete_InputArguments,13394,Variable +FileDirectoryType_MoveOrCopy,13395,Method +FileDirectoryType_MoveOrCopy_InputArguments,13396,Variable +FileDirectoryType_MoveOrCopy_OutputArguments,13397,Variable +AddressSpaceFileType_MimeType,13398,Variable +NamespaceMetadataType_NamespaceFile_MimeType,13399,Variable +NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_MimeType,13400,Variable +NamespacesType_AddressSpaceFile_MimeType,13401,Variable +Server_Namespaces_AddressSpaceFile_MimeType,13402,Variable +TrustListType_MimeType,13403,Variable +CertificateGroupType_TrustList,13599,Object +CertificateGroupType_TrustList_Size,13600,Variable +CertificateGroupType_TrustList_Writable,13601,Variable +CertificateGroupType_TrustList_UserWritable,13602,Variable +CertificateGroupType_TrustList_OpenCount,13603,Variable +CertificateGroupType_TrustList_MimeType,13604,Variable +CertificateGroupType_TrustList_Open,13605,Method +CertificateGroupType_TrustList_Open_InputArguments,13606,Variable +CertificateGroupType_TrustList_Open_OutputArguments,13607,Variable +CertificateGroupType_TrustList_Close,13608,Method +CertificateGroupType_TrustList_Close_InputArguments,13609,Variable +CertificateGroupType_TrustList_Read,13610,Method +CertificateGroupType_TrustList_Read_InputArguments,13611,Variable +CertificateGroupType_TrustList_Read_OutputArguments,13612,Variable +CertificateGroupType_TrustList_Write,13613,Method +CertificateGroupType_TrustList_Write_InputArguments,13614,Variable +CertificateGroupType_TrustList_GetPosition,13615,Method +CertificateGroupType_TrustList_GetPosition_InputArguments,13616,Variable +CertificateGroupType_TrustList_GetPosition_OutputArguments,13617,Variable +CertificateGroupType_TrustList_SetPosition,13618,Method +CertificateGroupType_TrustList_SetPosition_InputArguments,13619,Variable +CertificateGroupType_TrustList_LastUpdateTime,13620,Variable +CertificateGroupType_TrustList_OpenWithMasks,13621,Method +CertificateGroupType_TrustList_OpenWithMasks_InputArguments,13622,Variable +CertificateGroupType_TrustList_OpenWithMasks_OutputArguments,13623,Variable +CertificateGroupType_TrustList_CloseAndUpdate,13624,Method +CertificateGroupType_TrustList_CloseAndUpdate_InputArguments,13625,Variable +CertificateGroupType_TrustList_CloseAndUpdate_OutputArguments,13626,Variable +CertificateGroupType_TrustList_AddCertificate,13627,Method +CertificateGroupType_TrustList_AddCertificate_InputArguments,13628,Variable +CertificateGroupType_TrustList_RemoveCertificate,13629,Method +CertificateGroupType_TrustList_RemoveCertificate_InputArguments,13630,Variable +CertificateGroupType_CertificateTypes,13631,Variable +CertificateUpdatedAuditEventType_CertificateGroup,13735,Variable +CertificateUpdatedAuditEventType_CertificateType,13736,Variable +ServerConfiguration_UpdateCertificate,13737,Method +ServerConfiguration_UpdateCertificate_InputArguments,13738,Variable +ServerConfiguration_UpdateCertificate_OutputArguments,13739,Variable +CertificateGroupFolderType,13813,ObjectType +CertificateGroupFolderType_DefaultApplicationGroup,13814,Object +CertificateGroupFolderType_DefaultApplicationGroup_TrustList,13815,Object +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Size,13816,Variable +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Writable,13817,Variable +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_UserWritable,13818,Variable +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_OpenCount,13819,Variable +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_MimeType,13820,Variable +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Open,13821,Method +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Open_InputArguments,13822,Variable +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Open_OutputArguments,13823,Variable +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Close,13824,Method +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Close_InputArguments,13825,Variable +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Read,13826,Method +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Read_InputArguments,13827,Variable +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Read_OutputArguments,13828,Variable +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Write,13829,Method +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_Write_InputArguments,13830,Variable +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_GetPosition,13831,Method +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_GetPosition_InputArguments,13832,Variable +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_GetPosition_OutputArguments,13833,Variable +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_SetPosition,13834,Method +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_SetPosition_InputArguments,13835,Variable +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_LastUpdateTime,13836,Variable +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_OpenWithMasks,13837,Method +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_OpenWithMasks_InputArguments,13838,Variable +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_OpenWithMasks_OutputArguments,13839,Variable +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_CloseAndUpdate,13840,Method +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_CloseAndUpdate_InputArguments,13841,Variable +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_CloseAndUpdate_OutputArguments,13842,Variable +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_AddCertificate,13843,Method +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_AddCertificate_InputArguments,13844,Variable +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_RemoveCertificate,13845,Method +CertificateGroupFolderType_DefaultApplicationGroup_TrustList_RemoveCertificate_InputArguments,13846,Variable +CertificateGroupFolderType_DefaultApplicationGroup_CertificateTypes,13847,Variable +CertificateGroupFolderType_DefaultHttpsGroup,13848,Object +CertificateGroupFolderType_DefaultHttpsGroup_TrustList,13849,Object +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Size,13850,Variable +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Writable,13851,Variable +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_UserWritable,13852,Variable +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_OpenCount,13853,Variable +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_MimeType,13854,Variable +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Open,13855,Method +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Open_InputArguments,13856,Variable +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Open_OutputArguments,13857,Variable +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Close,13858,Method +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Close_InputArguments,13859,Variable +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Read,13860,Method +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Read_InputArguments,13861,Variable +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Read_OutputArguments,13862,Variable +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Write,13863,Method +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_Write_InputArguments,13864,Variable +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_GetPosition,13865,Method +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_GetPosition_InputArguments,13866,Variable +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_GetPosition_OutputArguments,13867,Variable +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_SetPosition,13868,Method +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_SetPosition_InputArguments,13869,Variable +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_LastUpdateTime,13870,Variable +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_OpenWithMasks,13871,Method +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_OpenWithMasks_InputArguments,13872,Variable +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_OpenWithMasks_OutputArguments,13873,Variable +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_CloseAndUpdate,13874,Method +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_CloseAndUpdate_InputArguments,13875,Variable +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_CloseAndUpdate_OutputArguments,13876,Variable +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_AddCertificate,13877,Method +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_AddCertificate_InputArguments,13878,Variable +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_RemoveCertificate,13879,Method +CertificateGroupFolderType_DefaultHttpsGroup_TrustList_RemoveCertificate_InputArguments,13880,Variable +CertificateGroupFolderType_DefaultHttpsGroup_CertificateTypes,13881,Variable +CertificateGroupFolderType_DefaultUserTokenGroup,13882,Object +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList,13883,Object +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Size,13884,Variable +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Writable,13885,Variable +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_UserWritable,13886,Variable +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_OpenCount,13887,Variable +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_MimeType,13888,Variable +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Open,13889,Method +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Open_InputArguments,13890,Variable +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Open_OutputArguments,13891,Variable +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Close,13892,Method +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Close_InputArguments,13893,Variable +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Read,13894,Method +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Read_InputArguments,13895,Variable +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Read_OutputArguments,13896,Variable +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Write,13897,Method +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_Write_InputArguments,13898,Variable +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_GetPosition,13899,Method +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_GetPosition_InputArguments,13900,Variable +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_GetPosition_OutputArguments,13901,Variable +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_SetPosition,13902,Method +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_SetPosition_InputArguments,13903,Variable +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_LastUpdateTime,13904,Variable +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_OpenWithMasks,13905,Method +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_OpenWithMasks_InputArguments,13906,Variable +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_OpenWithMasks_OutputArguments,13907,Variable +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_CloseAndUpdate,13908,Method +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_CloseAndUpdate_InputArguments,13909,Variable +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_CloseAndUpdate_OutputArguments,13910,Variable +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_AddCertificate,13911,Method +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_AddCertificate_InputArguments,13912,Variable +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_RemoveCertificate,13913,Method +CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_RemoveCertificate_InputArguments,13914,Variable +CertificateGroupFolderType_DefaultUserTokenGroup_CertificateTypes,13915,Variable +CertificateGroupFolderType_AdditionalGroup_Placeholder,13916,Object +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList,13917,Object +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Size,13918,Variable +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Writable,13919,Variable +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_UserWritable,13920,Variable +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_OpenCount,13921,Variable +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_MimeType,13922,Variable +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Open,13923,Method +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Open_InputArguments,13924,Variable +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Open_OutputArguments,13925,Variable +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Close,13926,Method +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Close_InputArguments,13927,Variable +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Read,13928,Method +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Read_InputArguments,13929,Variable +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Read_OutputArguments,13930,Variable +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Write,13931,Method +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Write_InputArguments,13932,Variable +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_GetPosition,13933,Method +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_GetPosition_InputArguments,13934,Variable +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_GetPosition_OutputArguments,13935,Variable +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_SetPosition,13936,Method +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_SetPosition_InputArguments,13937,Variable +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_LastUpdateTime,13938,Variable +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_OpenWithMasks,13939,Method +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_OpenWithMasks_InputArguments,13940,Variable +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_OpenWithMasks_OutputArguments,13941,Variable +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_CloseAndUpdate,13942,Method +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_CloseAndUpdate_InputArguments,13943,Variable +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_CloseAndUpdate_OutputArguments,13944,Variable +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_AddCertificate,13945,Method +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_AddCertificate_InputArguments,13946,Variable +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_RemoveCertificate,13947,Method +CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_RemoveCertificate_InputArguments,13948,Variable +CertificateGroupFolderType_AdditionalGroup_Placeholder_CertificateTypes,13949,Variable +ServerConfigurationType_CertificateGroups,13950,Object +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup,13951,Object +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList,13952,Object +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Size,13953,Variable +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Writable,13954,Variable +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_UserWritable,13955,Variable +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_OpenCount,13956,Variable +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_MimeType,13957,Variable +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Open,13958,Method +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Open_InputArguments,13959,Variable +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Open_OutputArguments,13960,Variable +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Close,13961,Method +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Close_InputArguments,13962,Variable +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Read,13963,Method +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Read_InputArguments,13964,Variable +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Read_OutputArguments,13965,Variable +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Write,13966,Method +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_Write_InputArguments,13967,Variable +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_GetPosition,13968,Method +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_GetPosition_InputArguments,13969,Variable +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_GetPosition_OutputArguments,13970,Variable +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_SetPosition,13971,Method +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_SetPosition_InputArguments,13972,Variable +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_LastUpdateTime,13973,Variable +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_OpenWithMasks,13974,Method +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_OpenWithMasks_InputArguments,13975,Variable +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_OpenWithMasks_OutputArguments,13976,Variable +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_CloseAndUpdate,13977,Method +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_CloseAndUpdate_InputArguments,13978,Variable +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_CloseAndUpdate_OutputArguments,13979,Variable +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_AddCertificate,13980,Method +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_AddCertificate_InputArguments,13981,Variable +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_RemoveCertificate,13982,Method +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList_RemoveCertificate_InputArguments,13983,Variable +ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_CertificateTypes,13984,Variable +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup,13985,Object +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList,13986,Object +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Size,13987,Variable +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Writable,13988,Variable +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_UserWritable,13989,Variable +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_OpenCount,13990,Variable +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_MimeType,13991,Variable +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Open,13992,Method +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Open_InputArguments,13993,Variable +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Open_OutputArguments,13994,Variable +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Close,13995,Method +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Close_InputArguments,13996,Variable +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Read,13997,Method +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Read_InputArguments,13998,Variable +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Read_OutputArguments,13999,Variable +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Write,14000,Method +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_Write_InputArguments,14001,Variable +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_GetPosition,14002,Method +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_GetPosition_InputArguments,14003,Variable +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_GetPosition_OutputArguments,14004,Variable +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_SetPosition,14005,Method +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_SetPosition_InputArguments,14006,Variable +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_LastUpdateTime,14007,Variable +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_OpenWithMasks,14008,Method +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_OpenWithMasks_InputArguments,14009,Variable +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_OpenWithMasks_OutputArguments,14010,Variable +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_CloseAndUpdate,14011,Method +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_CloseAndUpdate_InputArguments,14012,Variable +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_CloseAndUpdate_OutputArguments,14013,Variable +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_AddCertificate,14014,Method +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_AddCertificate_InputArguments,14015,Variable +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_RemoveCertificate,14016,Method +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_TrustList_RemoveCertificate_InputArguments,14017,Variable +ServerConfigurationType_CertificateGroups_DefaultHttpsGroup_CertificateTypes,14018,Variable +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup,14019,Object +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList,14020,Object +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Size,14021,Variable +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Writable,14022,Variable +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_UserWritable,14023,Variable +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenCount,14024,Variable +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_MimeType,14025,Variable +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Open,14026,Method +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Open_InputArguments,14027,Variable +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Open_OutputArguments,14028,Variable +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Close,14029,Method +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Close_InputArguments,14030,Variable +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Read,14031,Method +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Read_InputArguments,14032,Variable +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Read_OutputArguments,14033,Variable +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Write,14034,Method +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_Write_InputArguments,14035,Variable +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_GetPosition,14036,Method +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_GetPosition_InputArguments,14037,Variable +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_GetPosition_OutputArguments,14038,Variable +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_SetPosition,14039,Method +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_SetPosition_InputArguments,14040,Variable +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_LastUpdateTime,14041,Variable +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenWithMasks,14042,Method +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenWithMasks_InputArguments,14043,Variable +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenWithMasks_OutputArguments,14044,Variable +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_CloseAndUpdate,14045,Method +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_CloseAndUpdate_InputArguments,14046,Variable +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_CloseAndUpdate_OutputArguments,14047,Variable +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_AddCertificate,14048,Method +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_AddCertificate_InputArguments,14049,Variable +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_RemoveCertificate,14050,Method +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_TrustList_RemoveCertificate_InputArguments,14051,Variable +ServerConfigurationType_CertificateGroups_DefaultUserTokenGroup_CertificateTypes,14052,Variable +ServerConfiguration_CertificateGroups,14053,Object +ServerConfiguration_CertificateGroups_DefaultHttpsGroup,14088,Object +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList,14089,Object +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Size,14090,Variable +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Writable,14091,Variable +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_UserWritable,14092,Variable +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_OpenCount,14093,Variable +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_MimeType,14094,Variable +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Open,14095,Method +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Open_InputArguments,14096,Variable +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Open_OutputArguments,14097,Variable +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Close,14098,Method +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Close_InputArguments,14099,Variable +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Read,14100,Method +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Read_InputArguments,14101,Variable +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Read_OutputArguments,14102,Variable +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Write,14103,Method +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_Write_InputArguments,14104,Variable +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_GetPosition,14105,Method +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_GetPosition_InputArguments,14106,Variable +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_GetPosition_OutputArguments,14107,Variable +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_SetPosition,14108,Method +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_SetPosition_InputArguments,14109,Variable +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_LastUpdateTime,14110,Variable +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_OpenWithMasks,14111,Method +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_OpenWithMasks_InputArguments,14112,Variable +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_OpenWithMasks_OutputArguments,14113,Variable +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_CloseAndUpdate,14114,Method +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_CloseAndUpdate_InputArguments,14115,Variable +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_CloseAndUpdate_OutputArguments,14116,Variable +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_AddCertificate,14117,Method +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_AddCertificate_InputArguments,14118,Variable +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_RemoveCertificate,14119,Method +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_TrustList_RemoveCertificate_InputArguments,14120,Variable +ServerConfiguration_CertificateGroups_DefaultHttpsGroup_CertificateTypes,14121,Variable +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup,14122,Object +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList,14123,Object +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Size,14124,Variable +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Writable,14125,Variable +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_UserWritable,14126,Variable +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenCount,14127,Variable +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_MimeType,14128,Variable +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Open,14129,Method +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Open_InputArguments,14130,Variable +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Open_OutputArguments,14131,Variable +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Close,14132,Method +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Close_InputArguments,14133,Variable +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Read,14134,Method +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Read_InputArguments,14135,Variable +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Read_OutputArguments,14136,Variable +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Write,14137,Method +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_Write_InputArguments,14138,Variable +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_GetPosition,14139,Method +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_GetPosition_InputArguments,14140,Variable +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_GetPosition_OutputArguments,14141,Variable +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_SetPosition,14142,Method +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_SetPosition_InputArguments,14143,Variable +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_LastUpdateTime,14144,Variable +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenWithMasks,14145,Method +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenWithMasks_InputArguments,14146,Variable +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_OpenWithMasks_OutputArguments,14147,Variable +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_CloseAndUpdate,14148,Method +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_CloseAndUpdate_InputArguments,14149,Variable +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_CloseAndUpdate_OutputArguments,14150,Variable +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_AddCertificate,14151,Method +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_AddCertificate_InputArguments,14152,Variable +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_RemoveCertificate,14153,Method +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_TrustList_RemoveCertificate_InputArguments,14154,Variable +ServerConfiguration_CertificateGroups_DefaultUserTokenGroup_CertificateTypes,14155,Variable +ServerConfiguration_CertificateGroups_DefaultApplicationGroup,14156,Object +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_Writable,14157,Variable +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_UserWritable,14158,Variable +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_MimeType,14159,Variable +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_CloseAndUpdate_InputArguments,14160,Variable +ServerConfiguration_CertificateGroups_DefaultApplicationGroup_CertificateTypes,14161,Variable +AuditCreateSessionEventType_SessionId,14413,Variable +AuditUrlMismatchEventType_SessionId,14414,Variable +Server_ServerRedundancy_ServerNetworkGroups,14415,Variable +CertificateExpirationAlarmType_ExpirationLimit,14900,Variable +Server_Namespaces_OPCUANamespaceUri,15182,Object +Server_Namespaces_OPCUANamespaceUri_NamespaceUri,15183,Variable +Server_Namespaces_OPCUANamespaceUri_NamespaceVersion,15184,Variable +Server_Namespaces_OPCUANamespaceUri_NamespacePublicationDate,15185,Variable +Server_Namespaces_OPCUANamespaceUri_IsNamespaceSubset,15186,Variable +Server_Namespaces_OPCUANamespaceUri_StaticNodeIdTypes,15187,Variable +Server_Namespaces_OPCUANamespaceUri_StaticNumericNodeIdRange,15188,Variable +Server_Namespaces_OPCUANamespaceUri_StaticStringNodeIdPattern,15189,Variable +Server_Namespaces_OPCUANamespaceUri_NamespaceFile,15190,Object +Server_Namespaces_OPCUANamespaceUri_NamespaceFile_Size,15191,Variable +Server_Namespaces_OPCUANamespaceUri_NamespaceFile_Writable,15192,Variable +Server_Namespaces_OPCUANamespaceUri_NamespaceFile_UserWritable,15193,Variable +Server_Namespaces_OPCUANamespaceUri_NamespaceFile_OpenCount,15194,Variable +Server_Namespaces_OPCUANamespaceUri_NamespaceFile_MimeType,15195,Variable +Server_Namespaces_OPCUANamespaceUri_NamespaceFile_Open,15196,Method +Server_Namespaces_OPCUANamespaceUri_NamespaceFile_Open_InputArguments,15197,Variable +Server_Namespaces_OPCUANamespaceUri_NamespaceFile_Open_OutputArguments,15198,Variable +Server_Namespaces_OPCUANamespaceUri_NamespaceFile_Close,15199,Method +Server_Namespaces_OPCUANamespaceUri_NamespaceFile_Close_InputArguments,15200,Variable +Server_Namespaces_OPCUANamespaceUri_NamespaceFile_Read,15201,Method +Server_Namespaces_OPCUANamespaceUri_NamespaceFile_Read_InputArguments,15202,Variable +Server_Namespaces_OPCUANamespaceUri_NamespaceFile_Read_OutputArguments,15203,Variable +Server_Namespaces_OPCUANamespaceUri_NamespaceFile_Write,15204,Method +Server_Namespaces_OPCUANamespaceUri_NamespaceFile_Write_InputArguments,15205,Variable +Server_Namespaces_OPCUANamespaceUri_NamespaceFile_GetPosition,15206,Method +Server_Namespaces_OPCUANamespaceUri_NamespaceFile_GetPosition_InputArguments,15207,Variable +Server_Namespaces_OPCUANamespaceUri_NamespaceFile_GetPosition_OutputArguments,15208,Variable +Server_Namespaces_OPCUANamespaceUri_NamespaceFile_SetPosition,15209,Method +Server_Namespaces_OPCUANamespaceUri_NamespaceFile_SetPosition_InputArguments,15210,Variable +Server_Namespaces_OPCUANamespaceUri_NamespaceFile_ExportNamespace,15211,Method diff --git a/schemas/OPCBinarySchema.xsd b/schemas/OPCBinarySchema.xsd index 3337192cf..392fe7bff 100644 --- a/schemas/OPCBinarySchema.xsd +++ b/schemas/OPCBinarySchema.xsd @@ -1,119 +1,148 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/schemas/Opc.Ua.Adi.NodeSet2.xml b/schemas/Opc.Ua.Adi.NodeSet2.xml index f05584a73..09622e5d0 100644 --- a/schemas/Opc.Ua.Adi.NodeSet2.xml +++ b/schemas/Opc.Ua.Adi.NodeSet2.xml @@ -1,5 +1,34 @@ - - + + + + http://opcfoundation.org/UA/ADI/ http://opcfoundation.org/UA/DI/ @@ -15110,4 +15139,4 @@ DoubleComplexType - \ No newline at end of file + diff --git a/schemas/Opc.Ua.Adi.Types.bsd b/schemas/Opc.Ua.Adi.Types.bsd index 2462907e7..10944c050 100644 --- a/schemas/Opc.Ua.Adi.Types.bsd +++ b/schemas/Opc.Ua.Adi.Types.bsd @@ -1,3 +1,33 @@ + + + - \ No newline at end of file + diff --git a/schemas/Opc.Ua.Adi.Types.xsd b/schemas/Opc.Ua.Adi.Types.xsd index 59fa3ab05..c766c1afa 100644 --- a/schemas/Opc.Ua.Adi.Types.xsd +++ b/schemas/Opc.Ua.Adi.Types.xsd @@ -1,3 +1,33 @@ + + + - \ No newline at end of file + diff --git a/schemas/Opc.Ua.Di.NodeSet2.xml b/schemas/Opc.Ua.Di.NodeSet2.xml index d0fbcc753..8bca16c03 100644 --- a/schemas/Opc.Ua.Di.NodeSet2.xml +++ b/schemas/Opc.Ua.Di.NodeSet2.xml @@ -1,341 +1,370 @@ - - - - http://opcfoundation.org/UA/DI/ - - - 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 - - - Uses - The semantic is to indicate that the target Node is used for the source Node of the Reference - - i=35 - - UsedBy - - - DeviceSet - Contains all instances of devices - - i=85 - i=58 - - - - TopologyElementType - Defines the basic information components for all configurable elements in a device topology - - ns=1;i=5002 - ns=1;i=5003 - ns=1;i=6019 - ns=1;i=6014 - i=58 - - - - ParameterSet - Flat list of Parameters - - ns=1;i=6017 - i=58 - i=78 - ns=1;i=1001 - - - - <ParameterIdentifier> - A parameter which belongs to the topology element. - - i=63 - i=11508 - ns=1;i=5002 - - - - MethodSet - Flat list of Methods - - ns=1;i=6018 - i=58 - i=80 - ns=1;i=1001 - - - - <MethodIdentifier> - A method which belongs to the topology element. - - ns=1;i=6018 - i=11508 - ns=1;i=5003 - - - - <GroupIdentifier> - An application specific functional group used to organize parameters and methods. - - ns=1;i=1005 - i=11508 - ns=1;i=1001 - - - - Identification - Used to organize parameters for identification of this TopologyElement - - ns=1;i=1005 - i=80 - ns=1;i=1001 - - - - DeviceType - Defines the basic information components for all configurable elements in a device topology - - ns=1;i=6001 - ns=1;i=6002 - ns=1;i=6003 - ns=1;i=6004 - ns=1;i=6005 - ns=1;i=6006 - ns=1;i=6007 - ns=1;i=6008 - ns=1;i=1001 - - - - SerialNumber - Identifier that uniquely identifies, within a manufacturer, a device instance - - i=68 - i=78 - ns=1;i=1002 - - - - RevisionCounter - An incremental counter indicating the number of times the static data within the Device has been modified - - i=68 - i=78 - ns=1;i=1002 - - - - Manufacturer - Model name of the device - - i=68 - i=78 - ns=1;i=1002 - - - - Model - Name of the company that manufactured the device - - i=68 - i=78 - ns=1;i=1002 - - - - DeviceManual - Address (pathname in the file system or a URL | Web address) of user manual for the device - - i=68 - i=78 - ns=1;i=1002 - - - - DeviceRevision - Overall revision level of the device - - i=68 - i=78 - ns=1;i=1002 - - - - SoftwareRevision - Revision level of the software/firmware of the device - - i=68 - i=78 - ns=1;i=1002 - - - - HardwareRevision - Revision level of the hardware of the device - - i=68 - i=78 - ns=1;i=1002 - - - - BlockType - Adds the concept of Blocks needed for block-oriented FieldDevices - - ns=1;i=6009 - ns=1;i=6010 - ns=1;i=6011 - ns=1;i=6012 - ns=1;i=6013 - ns=1;i=1001 - - - - RevisionCounter - Incremental counter indicating the number of times the static data within the Block has been modified - - i=68 - i=80 - ns=1;i=1003 - - - - ActualMode - Current mode of operation the Block is able to achieve - - i=68 - i=80 - ns=1;i=1003 - - - - PermittedMode - Modes of operation that are allowed for the Block based on application requirements - - i=68 - i=80 - ns=1;i=1003 - - - - NormalMode - Mode the Block should be set to during normal operating conditions - - i=68 - i=80 - ns=1;i=1003 - - - - TargetMode - Mode of operation that is desired for the Block - - i=68 - i=80 - ns=1;i=1003 - - - - ConfigurableObjectType - Defines a general pattern to expose and configure modular components - - ns=1;i=5004 - ns=1;i=6026 - i=58 - - - - SupportedTypes - Folder maintaining the set of (sub-types of) BaseObjectTypes that can be instantiated in the ConfigurableComponent - - i=61 - i=78 - ns=1;i=1004 - - - - <ObjectIdentifier> - The instances that . - - i=58 - i=11508 - ns=1;i=1004 - - - - FunctionalGroupType - FolderType is used to organize the Parameters and Methods from the complete set (ParameterSet, MethodSet) with regard to their application - - ns=1;i=6027 - ns=1;i=6028 - ns=1;i=6029 - i=61 - - - - <GroupIdentifier> - An application specific functional group used to organize parameters and methods. - - ns=1;i=1005 - i=11508 - ns=1;i=1005 - - - - <ParameterIdentifier> - A parameter which belongs to the group. - - i=63 - i=11508 - ns=1;i=1005 - - - - <MethodIdentifier> - A method which belongs to the group. - - ns=1;i=6029 - i=11508 - ns=1;i=1005 - - - - ProtocolType - General structure of a Protocol ObjectType - - i=58 - - - \ No newline at end of file + + + + + + http://opcfoundation.org/UA/DI/ + + + 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 + + + Uses + The semantic is to indicate that the target Node is used for the source Node of the Reference + + i=35 + + UsedBy + + + DeviceSet + Contains all instances of devices + + i=85 + i=58 + + + + TopologyElementType + Defines the basic information components for all configurable elements in a device topology + + ns=1;i=5002 + ns=1;i=5003 + ns=1;i=6019 + ns=1;i=6014 + i=58 + + + + ParameterSet + Flat list of Parameters + + ns=1;i=6017 + i=58 + i=78 + ns=1;i=1001 + + + + <ParameterIdentifier> + A parameter which belongs to the topology element. + + i=63 + i=11508 + ns=1;i=5002 + + + + MethodSet + Flat list of Methods + + ns=1;i=6018 + i=58 + i=80 + ns=1;i=1001 + + + + <MethodIdentifier> + A method which belongs to the topology element. + + ns=1;i=6018 + i=11508 + ns=1;i=5003 + + + + <GroupIdentifier> + An application specific functional group used to organize parameters and methods. + + ns=1;i=1005 + i=11508 + ns=1;i=1001 + + + + Identification + Used to organize parameters for identification of this TopologyElement + + ns=1;i=1005 + i=80 + ns=1;i=1001 + + + + DeviceType + Defines the basic information components for all configurable elements in a device topology + + ns=1;i=6001 + ns=1;i=6002 + ns=1;i=6003 + ns=1;i=6004 + ns=1;i=6005 + ns=1;i=6006 + ns=1;i=6007 + ns=1;i=6008 + ns=1;i=1001 + + + + SerialNumber + Identifier that uniquely identifies, within a manufacturer, a device instance + + i=68 + i=78 + ns=1;i=1002 + + + + RevisionCounter + An incremental counter indicating the number of times the static data within the Device has been modified + + i=68 + i=78 + ns=1;i=1002 + + + + Manufacturer + Model name of the device + + i=68 + i=78 + ns=1;i=1002 + + + + Model + Name of the company that manufactured the device + + i=68 + i=78 + ns=1;i=1002 + + + + DeviceManual + Address (pathname in the file system or a URL | Web address) of user manual for the device + + i=68 + i=78 + ns=1;i=1002 + + + + DeviceRevision + Overall revision level of the device + + i=68 + i=78 + ns=1;i=1002 + + + + SoftwareRevision + Revision level of the software/firmware of the device + + i=68 + i=78 + ns=1;i=1002 + + + + HardwareRevision + Revision level of the hardware of the device + + i=68 + i=78 + ns=1;i=1002 + + + + BlockType + Adds the concept of Blocks needed for block-oriented FieldDevices + + ns=1;i=6009 + ns=1;i=6010 + ns=1;i=6011 + ns=1;i=6012 + ns=1;i=6013 + ns=1;i=1001 + + + + RevisionCounter + Incremental counter indicating the number of times the static data within the Block has been modified + + i=68 + i=80 + ns=1;i=1003 + + + + ActualMode + Current mode of operation the Block is able to achieve + + i=68 + i=80 + ns=1;i=1003 + + + + PermittedMode + Modes of operation that are allowed for the Block based on application requirements + + i=68 + i=80 + ns=1;i=1003 + + + + NormalMode + Mode the Block should be set to during normal operating conditions + + i=68 + i=80 + ns=1;i=1003 + + + + TargetMode + Mode of operation that is desired for the Block + + i=68 + i=80 + ns=1;i=1003 + + + + ConfigurableObjectType + Defines a general pattern to expose and configure modular components + + ns=1;i=5004 + ns=1;i=6026 + i=58 + + + + SupportedTypes + Folder maintaining the set of (sub-types of) BaseObjectTypes that can be instantiated in the ConfigurableComponent + + i=61 + i=78 + ns=1;i=1004 + + + + <ObjectIdentifier> + The instances that . + + i=58 + i=11508 + ns=1;i=1004 + + + + FunctionalGroupType + FolderType is used to organize the Parameters and Methods from the complete set (ParameterSet, MethodSet) with regard to their application + + ns=1;i=6027 + ns=1;i=6028 + ns=1;i=6029 + i=61 + + + + <GroupIdentifier> + An application specific functional group used to organize parameters and methods. + + ns=1;i=1005 + i=11508 + ns=1;i=1005 + + + + <ParameterIdentifier> + A parameter which belongs to the group. + + i=63 + i=11508 + ns=1;i=1005 + + + + <MethodIdentifier> + A method which belongs to the group. + + ns=1;i=6029 + i=11508 + ns=1;i=1005 + + + + ProtocolType + General structure of a Protocol ObjectType + + i=58 + + + diff --git a/schemas/Opc.Ua.Di.Types.bsd b/schemas/Opc.Ua.Di.Types.bsd index 3bb9251ca..ba4dda33c 100644 --- a/schemas/Opc.Ua.Di.Types.bsd +++ b/schemas/Opc.Ua.Di.Types.bsd @@ -1,11 +1,41 @@ - - - - \ No newline at end of file + + + + + + + diff --git a/schemas/Opc.Ua.Di.Types.xsd b/schemas/Opc.Ua.Di.Types.xsd index b66f9597f..12f9fe2f9 100644 --- a/schemas/Opc.Ua.Di.Types.xsd +++ b/schemas/Opc.Ua.Di.Types.xsd @@ -1,10 +1,40 @@ - - - - \ No newline at end of file + + + + + + + diff --git a/schemas/Opc.Ua.Endpoints.wsdl b/schemas/Opc.Ua.Endpoints.wsdl index 2e2f3da7d..f0d33fb4a 100644 --- a/schemas/Opc.Ua.Endpoints.wsdl +++ b/schemas/Opc.Ua.Endpoints.wsdl @@ -1,571 +1,571 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/schemas/Opc.Ua.NodeSet2.Part10.xml b/schemas/Opc.Ua.NodeSet2.Part10.xml index f492bddea..88ed481f5 100644 --- a/schemas/Opc.Ua.NodeSet2.Part10.xml +++ b/schemas/Opc.Ua.NodeSet2.Part10.xml @@ -1,832 +1,861 @@ - - - - - - - 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 - - - ProgramStateMachineType - A state machine for a program. - - i=3830 - i=3835 - i=2392 - i=2393 - i=2394 - i=2395 - i=2396 - i=2397 - i=2398 - i=2399 - i=3850 - i=2400 - i=2402 - i=2404 - i=2406 - 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=79 - i=2391 - - - - RecycleCount - - i=68 - i=78 - i=2391 - - - - InstanceCount - - i=68 - i=2391 - - - - MaxInstanceCount - - i=68 - i=2391 - - - - MaxRecycleCount - - i=68 - i=2391 - - - - ProgramDiagnostics - - i=3840 - i=3841 - i=3842 - i=3843 - i=3844 - i=3845 - i=3846 - i=3847 - i=3848 - i=3849 - i=2380 - i=80 - i=2391 - - - - CreateSessionId - - i=68 - i=78 - i=2399 - - - - CreateClientName - - i=68 - i=78 - i=2399 - - - - InvocationCreationTime - - i=68 - i=78 - i=2399 - - - - LastTransitionTime - - i=68 - i=78 - i=2399 - - - - LastMethodCall - - i=68 - i=78 - i=2399 - - - - LastMethodSessionId - - i=68 - i=78 - i=2399 - - - - LastMethodInputArguments - - i=68 - i=78 - i=2399 - - - - LastMethodOutputArguments - - i=68 - i=78 - i=2399 - - - - LastMethodCallTime - - i=68 - i=78 - i=2399 - - - - LastMethodReturnStatus - - i=68 - i=78 - i=2399 - - - - FinalResultData - - i=58 - i=80 - i=2391 - - - - Ready - The Program is properly initialized and may be started. - - i=2401 - i=2408 - i=2410 - i=2414 - i=2422 - i=2424 - i=2307 - i=2391 - - - - StateNumber - - i=68 - i=78 - i=2400 - - - 1 - - - - Running - The Program is executing making progress towards completion. - - i=2403 - i=2410 - i=2412 - i=2414 - i=2416 - i=2418 - i=2307 - i=2391 - - - - StateNumber - - i=68 - i=78 - i=2402 - - - 2 - - - - Suspended - The Program has been stopped prior to reaching a terminal state but may be resumed. - - i=2405 - i=2416 - i=2418 - i=2420 - i=2422 - i=2307 - i=2391 - - - - StateNumber - - i=68 - i=78 - i=2404 - - - 3 - - - - Halted - The Program is in a terminal or failed state, and it cannot be started or resumed without being reset. - - i=2407 - i=2408 - i=2412 - i=2420 - i=2424 - i=2307 - i=2391 - - - - StateNumber - - i=68 - i=78 - i=2406 - - - 4 - - - - 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 - Causes the Program to transition from the Ready state to the Running state. - - i=2410 - i=78 - i=2391 - - - - Suspend - Causes the Program to transition from the Running state to the Suspended state. - - i=2416 - i=78 - i=2391 - - - - Resume - Causes the Program to transition from the Suspended state to the Running state. - - i=2418 - i=78 - i=2391 - - - - Halt - Causes the Program to transition from the Ready, Running or Suspended state to the Halted state. - - i=2412 - i=2420 - i=2424 - i=78 - i=2391 - - - - Reset - Causes the Program to transition from the Halted state to the Ready state. - - i=2408 - i=78 - i=2391 - - - - ProgramTransitionEventType - - i=2379 - i=2311 - - - - IntermediateResult - - i=68 - i=78 - i=2378 - - - - AuditProgramTransitionEventType - - 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 - - - - ProgramDiagnosticDataType - - i=22 - - - - - - - - - - - - - - - - Default XML - - i=894 - i=8882 - i=76 - - - - Default Binary - - i=894 - i=8247 - i=76 - - - \ No newline at end of file + + + + + + + + + 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 + + + ProgramStateMachineType + A state machine for a program. + + i=3830 + i=3835 + i=2392 + i=2393 + i=2394 + i=2395 + i=2396 + i=2397 + i=2398 + i=2399 + i=3850 + i=2400 + i=2402 + i=2404 + i=2406 + 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=79 + i=2391 + + + + RecycleCount + + i=68 + i=78 + i=2391 + + + + InstanceCount + + i=68 + i=2391 + + + + MaxInstanceCount + + i=68 + i=2391 + + + + MaxRecycleCount + + i=68 + i=2391 + + + + ProgramDiagnostics + + i=3840 + i=3841 + i=3842 + i=3843 + i=3844 + i=3845 + i=3846 + i=3847 + i=3848 + i=3849 + i=2380 + i=80 + i=2391 + + + + CreateSessionId + + i=68 + i=78 + i=2399 + + + + CreateClientName + + i=68 + i=78 + i=2399 + + + + InvocationCreationTime + + i=68 + i=78 + i=2399 + + + + LastTransitionTime + + i=68 + i=78 + i=2399 + + + + LastMethodCall + + i=68 + i=78 + i=2399 + + + + LastMethodSessionId + + i=68 + i=78 + i=2399 + + + + LastMethodInputArguments + + i=68 + i=78 + i=2399 + + + + LastMethodOutputArguments + + i=68 + i=78 + i=2399 + + + + LastMethodCallTime + + i=68 + i=78 + i=2399 + + + + LastMethodReturnStatus + + i=68 + i=78 + i=2399 + + + + FinalResultData + + i=58 + i=80 + i=2391 + + + + Ready + The Program is properly initialized and may be started. + + i=2401 + i=2408 + i=2410 + i=2414 + i=2422 + i=2424 + i=2307 + i=2391 + + + + StateNumber + + i=68 + i=78 + i=2400 + + + 1 + + + + Running + The Program is executing making progress towards completion. + + i=2403 + i=2410 + i=2412 + i=2414 + i=2416 + i=2418 + i=2307 + i=2391 + + + + StateNumber + + i=68 + i=78 + i=2402 + + + 2 + + + + Suspended + The Program has been stopped prior to reaching a terminal state but may be resumed. + + i=2405 + i=2416 + i=2418 + i=2420 + i=2422 + i=2307 + i=2391 + + + + StateNumber + + i=68 + i=78 + i=2404 + + + 3 + + + + Halted + The Program is in a terminal or failed state, and it cannot be started or resumed without being reset. + + i=2407 + i=2408 + i=2412 + i=2420 + i=2424 + i=2307 + i=2391 + + + + StateNumber + + i=68 + i=78 + i=2406 + + + 4 + + + + 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 + Causes the Program to transition from the Ready state to the Running state. + + i=2410 + i=78 + i=2391 + + + + Suspend + Causes the Program to transition from the Running state to the Suspended state. + + i=2416 + i=78 + i=2391 + + + + Resume + Causes the Program to transition from the Suspended state to the Running state. + + i=2418 + i=78 + i=2391 + + + + Halt + Causes the Program to transition from the Ready, Running or Suspended state to the Halted state. + + i=2412 + i=2420 + i=2424 + i=78 + i=2391 + + + + Reset + Causes the Program to transition from the Halted state to the Ready state. + + i=2408 + i=78 + i=2391 + + + + ProgramTransitionEventType + + i=2379 + i=2311 + + + + IntermediateResult + + i=68 + i=78 + i=2378 + + + + AuditProgramTransitionEventType + + 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 + + + + ProgramDiagnosticDataType + + i=22 + + + + + + + + + + + + + + + + Default XML + + i=894 + i=8882 + i=76 + + + + Default Binary + + i=894 + i=8247 + i=76 + + + diff --git a/schemas/Opc.Ua.NodeSet2.Part11.xml b/schemas/Opc.Ua.NodeSet2.Part11.xml index 8023acbc4..5966c6b3b 100644 --- a/schemas/Opc.Ua.NodeSet2.Part11.xml +++ b/schemas/Opc.Ua.NodeSet2.Part11.xml @@ -1,793 +1,822 @@ - - - - - - - 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 - - - HasHistoricalConfiguration - The type for a reference to the historical configuration for a data variable. - - i=44 - - HistoricalConfigurationOf - - - 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=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 - - - - Annotations - - i=68 - - - - HistoricalDataConfigurationType - - i=3059 - i=11876 - i=2323 - i=2324 - i=2325 - i=2326 - i=2327 - i=2328 - i=11499 - i=11500 - 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 - - - - HA Configuration - - 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 - - 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=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 - - - - AuditHistoryEventUpdateEventType - - 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 - - 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 - - - - AuditHistoryDeleteEventType - - i=3027 - i=2104 - - - - UpdatedNode - - i=68 - i=78 - i=3012 - - - - AuditHistoryRawModifyDeleteEventType - - 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 - - i=3020 - i=3021 - i=3012 - - - - ReqTimes - - i=68 - i=78 - i=3019 - - - - OldValues - - i=68 - i=78 - i=3019 - - - - AuditHistoryEventDeleteEventType - - i=3023 - i=3024 - i=3012 - - - - EventIds - - i=68 - i=78 - i=3022 - - - - OldValues - - i=68 - i=78 - i=3022 - - - - Annotation - - i=22 - - - - - - - - - ExceptionDeviationFormat - - i=7614 - i=29 - - - - - - - - - - - EnumStrings - - i=68 - i=78 - i=890 - - - - - - - AbsoluteValue - - - - - PercentOfValue - - - - - PercentOfRange - - - - - PercentOfEURange - - - - - Unknown - - - - - - Default XML - - i=891 - i=8879 - i=76 - - - - Default Binary - - i=891 - i=8244 - i=76 - - - \ No newline at end of file + + + + + + + + + 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 + + + HasHistoricalConfiguration + The type for a reference to the historical configuration for a data variable. + + i=44 + + HistoricalConfigurationOf + + + 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=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 + + + + Annotations + + i=68 + + + + HistoricalDataConfigurationType + + i=3059 + i=11876 + i=2323 + i=2324 + i=2325 + i=2326 + i=2327 + i=2328 + i=11499 + i=11500 + 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 + + + + HA Configuration + + 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 + + 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=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 + + + + AuditHistoryEventUpdateEventType + + 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 + + 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 + + + + AuditHistoryDeleteEventType + + i=3027 + i=2104 + + + + UpdatedNode + + i=68 + i=78 + i=3012 + + + + AuditHistoryRawModifyDeleteEventType + + 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 + + i=3020 + i=3021 + i=3012 + + + + ReqTimes + + i=68 + i=78 + i=3019 + + + + OldValues + + i=68 + i=78 + i=3019 + + + + AuditHistoryEventDeleteEventType + + i=3023 + i=3024 + i=3012 + + + + EventIds + + i=68 + i=78 + i=3022 + + + + OldValues + + i=68 + i=78 + i=3022 + + + + Annotation + + i=22 + + + + + + + + + ExceptionDeviationFormat + + i=7614 + i=29 + + + + + + + + + + + EnumStrings + + i=68 + i=78 + i=890 + + + + + + + AbsoluteValue + + + + + PercentOfValue + + + + + PercentOfRange + + + + + PercentOfEURange + + + + + Unknown + + + + + + Default XML + + i=891 + i=8879 + i=76 + + + + Default Binary + + i=891 + i=8244 + i=76 + + + diff --git a/schemas/Opc.Ua.NodeSet2.Part13.xml b/schemas/Opc.Ua.NodeSet2.Part13.xml index 44f7e58f2..c0cccc11c 100644 --- a/schemas/Opc.Ua.NodeSet2.Part13.xml +++ b/schemas/Opc.Ua.NodeSet2.Part13.xml @@ -1,344 +1,373 @@ - - - - - - - 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 - - - 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 - At the beginning of each interval, retrieve the calculated value from the data points on either side of the requested timestamp. - - i=2340 - - - - Average - Retrieve the average value of the data over the interval. - - i=2340 - - - - TimeAverage - Retrieve the time weighted average data over the interval using Interpolated Bounding Values. - - i=2340 - - - - TimeAverage2 - Retrieve the time weighted average data over the interval using Simple Bounding Values. - - i=2340 - - - - Total - Retrieve the total (time integral) of the data over the interval using Interpolated Bounding Values. - - i=2340 - - - - Total2 - Retrieve the total (time integral) of the data over the interval using Simple Bounding Values. - - i=2340 - - - - Minimum - Retrieve the minimum raw value in the interval with the timestamp of the start of the interval. - - i=2340 - - - - Maximum - Retrieve the maximum raw value in the interval with the timestamp of the start of the interval. - - i=2340 - - - - MinimumActualTime - Retrieve the minimum value in the interval and the Timestamp of the minimum value. - - i=2340 - - - - MaximumActualTime - Retrieve the maximum value in the interval and the Timestamp of the maximum value. - - i=2340 - - - - Range - Retrieve the difference between the minimum and maximum Value over the interval. - - i=2340 - - - - Minimum2 - Retrieve the minimum value in the interval including the Simple Bounding Values. - - i=2340 - - - - Maximum2 - Retrieve the maximum value in the interval including the Simple Bounding Values. - - i=2340 - - - - MinimumActualTime2 - Retrieve the minimum value with the actual timestamp including the Simple Bounding Values. - - i=2340 - - - - MaximumActualTime2 - Retrieve the maximum value with the actual timestamp including the Simple Bounding Values. - - i=2340 - - - - Range2 - Retrieve the difference between the Minimum2 and Maximum2 value over the interval. - - i=2340 - - - - AnnotationCount - Retrieve the number of Annotations in the interval. - - i=2340 - - - - Count - Retrieve the number of raw values over the interval. - - i=2340 - - - - DurationInStateZero - Retrieve the time a Boolean or numeric was in a zero state using Simple Bounding Values. - - i=2340 - - - - DurationInStateNonZero - Retrieve the time a Boolean or numeric was in a non-zero state using Simple Bounding Values. - - i=2340 - - - - NumberOfTransitions - Retrieve the number of changes between zero and non-zero that a Boolean or Numeric value experienced in the interval. - - i=2340 - - - - Start - Retrieve the value at the beginning of the interval using Interpolated Bounding Values. - - i=2340 - - - - End - Retrieve the value at the end of the interval using Interpolated Bounding Values. - - i=2340 - - - - Delta - Retrieve the difference between the Start and End value in the interval. - - i=2340 - - - - StartBound - Retrieve the value at the beginning of the interval using Simple Bounding Values. - - i=2340 - - - - EndBound - Retrieve the value at the end of the interval using Simple Bounding Values. - - i=2340 - - - - DeltaBounds - Retrieve the difference between the StartBound and EndBound value in the interval. - - i=2340 - - - - DurationGood - Retrieve the total duration of time in the interval during which the data is good. - - i=2340 - - - - DurationBad - Retrieve the total duration of time in the interval during which the data is bad. - - i=2340 - - - - PercentGood - Retrieve the percent of data (0 to 100) in the interval which has a good StatusCode. - - i=2340 - - - - PercentBad - Retrieve the percent of data (0 to 100) in the interval which has a bad StatusCode. - - i=2340 - - - - WorstQuality - Retrieve the worst StatusCode of data in the interval. - - i=2340 - - - - WorstQuality2 - Retrieve the worst StatusCode of data in the interval including the Simple Bounding Values. - - i=2340 - - - - StandardDeviationSample - Retrieve the standard deviation for the interval for a sample of the population (n-1). - - i=2340 - - - - StandardDeviationPopulation - Retrieve the standard deviation for the interval for a complete population (n) which includes Simple Bounding Values. - - i=2340 - - - - VarianceSample - Retrieve the variance for the interval as calculated by the StandardDeviationSample. - - i=2340 - - - - VariancePopulation - Retrieve the variance for the interval as calculated by the StandardDeviationPopulation which includes Simple Bounding Values. - - i=2340 - - - \ No newline at end of file + + + + + + + + + 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 + + + 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 + At the beginning of each interval, retrieve the calculated value from the data points on either side of the requested timestamp. + + i=2340 + + + + Average + Retrieve the average value of the data over the interval. + + i=2340 + + + + TimeAverage + Retrieve the time weighted average data over the interval using Interpolated Bounding Values. + + i=2340 + + + + TimeAverage2 + Retrieve the time weighted average data over the interval using Simple Bounding Values. + + i=2340 + + + + Total + Retrieve the total (time integral) of the data over the interval using Interpolated Bounding Values. + + i=2340 + + + + Total2 + Retrieve the total (time integral) of the data over the interval using Simple Bounding Values. + + i=2340 + + + + Minimum + Retrieve the minimum raw value in the interval with the timestamp of the start of the interval. + + i=2340 + + + + Maximum + Retrieve the maximum raw value in the interval with the timestamp of the start of the interval. + + i=2340 + + + + MinimumActualTime + Retrieve the minimum value in the interval and the Timestamp of the minimum value. + + i=2340 + + + + MaximumActualTime + Retrieve the maximum value in the interval and the Timestamp of the maximum value. + + i=2340 + + + + Range + Retrieve the difference between the minimum and maximum Value over the interval. + + i=2340 + + + + Minimum2 + Retrieve the minimum value in the interval including the Simple Bounding Values. + + i=2340 + + + + Maximum2 + Retrieve the maximum value in the interval including the Simple Bounding Values. + + i=2340 + + + + MinimumActualTime2 + Retrieve the minimum value with the actual timestamp including the Simple Bounding Values. + + i=2340 + + + + MaximumActualTime2 + Retrieve the maximum value with the actual timestamp including the Simple Bounding Values. + + i=2340 + + + + Range2 + Retrieve the difference between the Minimum2 and Maximum2 value over the interval. + + i=2340 + + + + AnnotationCount + Retrieve the number of Annotations in the interval. + + i=2340 + + + + Count + Retrieve the number of raw values over the interval. + + i=2340 + + + + DurationInStateZero + Retrieve the time a Boolean or numeric was in a zero state using Simple Bounding Values. + + i=2340 + + + + DurationInStateNonZero + Retrieve the time a Boolean or numeric was in a non-zero state using Simple Bounding Values. + + i=2340 + + + + NumberOfTransitions + Retrieve the number of changes between zero and non-zero that a Boolean or Numeric value experienced in the interval. + + i=2340 + + + + Start + Retrieve the value at the beginning of the interval using Interpolated Bounding Values. + + i=2340 + + + + End + Retrieve the value at the end of the interval using Interpolated Bounding Values. + + i=2340 + + + + Delta + Retrieve the difference between the Start and End value in the interval. + + i=2340 + + + + StartBound + Retrieve the value at the beginning of the interval using Simple Bounding Values. + + i=2340 + + + + EndBound + Retrieve the value at the end of the interval using Simple Bounding Values. + + i=2340 + + + + DeltaBounds + Retrieve the difference between the StartBound and EndBound value in the interval. + + i=2340 + + + + DurationGood + Retrieve the total duration of time in the interval during which the data is good. + + i=2340 + + + + DurationBad + Retrieve the total duration of time in the interval during which the data is bad. + + i=2340 + + + + PercentGood + Retrieve the percent of data (0 to 100) in the interval which has a good StatusCode. + + i=2340 + + + + PercentBad + Retrieve the percent of data (0 to 100) in the interval which has a bad StatusCode. + + i=2340 + + + + WorstQuality + Retrieve the worst StatusCode of data in the interval. + + i=2340 + + + + WorstQuality2 + Retrieve the worst StatusCode of data in the interval including the Simple Bounding Values. + + i=2340 + + + + StandardDeviationSample + Retrieve the standard deviation for the interval for a sample of the population (n-1). + + i=2340 + + + + StandardDeviationPopulation + Retrieve the standard deviation for the interval for a complete population (n) which includes Simple Bounding Values. + + i=2340 + + + + VarianceSample + Retrieve the variance for the interval as calculated by the StandardDeviationSample. + + i=2340 + + + + VariancePopulation + Retrieve the variance for the interval as calculated by the StandardDeviationPopulation which includes Simple Bounding Values. + + i=2340 + + + diff --git a/schemas/Opc.Ua.NodeSet2.Part3.xml b/schemas/Opc.Ua.NodeSet2.Part3.xml index 743770ad3..f00f04665 100644 --- a/schemas/Opc.Ua.NodeSet2.Part3.xml +++ b/schemas/Opc.Ua.NodeSet2.Part3.xml @@ -1,1103 +1,1131 @@ - - - - - - - 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 - - - Default Binary - The default binary encoding for a data type. - - i=58 - - - - Default XML - The default XML encoding for a data type. - - i=58 - - - - BaseDataType - Describes a value that can have any valid DataType. - - - - Number - Describes a value that can have any numeric DataType. - - i=24 - - - - Integer - Describes a value that can have any integer DataType. - - i=26 - - - - UInteger - Describes a value that can have any unsigned integer DataType. - - i=26 - - - - Enumeration - Describes a value that is an enumerated DataType. - - i=24 - - - - Boolean - Describes a value that is either TRUE or FALSE. - - i=24 - - - - SByte - Describes a value that is an integer between -128 and 127. - - i=27 - - - - Byte - Describes a value that is an integer between 0 and 255. - - i=28 - - - - Int16 - Describes a value that is an integer between −32,768 and 32,767. - - i=27 - - - - UInt16 - Describes a value that is an integer between 0 and 65535. - - i=28 - - - - Int32 - Describes a value that is an integer between −2,147,483,648 and 2,147,483,647. - - i=27 - - - - UInt32 - Describes a value that is an integer between 0 and 4,294,967,295. - - i=28 - - - - Int64 - Describes a value that is an integer between −9,223,372,036,854,775,808 and 9,223,372,036,854,775,807. - - i=27 - - - - UInt64 - Describes a value that is an integer between 0 and 18,446,744,073,709,551,615. - - i=28 - - - - Float - Describes a value that is an IEEE 754-1985 single precision floating point number. - - i=26 - - - - Double - Describes a value that is an IEEE 754-1985 double precision floating point number. - - i=26 - - - - String - Describes a value that is a sequence of printable Unicode characters. - - i=24 - - - - DateTime - Describes a value that is a Gregorian calender date and time. - - i=24 - - - - Guid - Describes a value that is a 128-bit globally unique identifier. - - i=24 - - - - ByteString - Describes a value that is a sequence of bytes. - - i=24 - - - - XmlElement - Describes a value that is an XML element. - - i=24 - - - - NodeId - Describes a value that is an identifier for a node within a Server address space. - - i=24 - - - - QualifiedName - Describes a value that is a name qualified by a namespace. - - i=24 - - - - LocalizedText - Describes a value that is human readable Unicode text with a locale identifier. - - i=24 - - - - Structure - Describes a value that is any type of structure that can be described with a data encoding. - - i=24 - - - - Image - Describes a value that is an image encoded as a string of bytes. - - i=15 - - - - Decimal128 - Describes a 128-bit decimal value. - - i=26 - - - - References - The abstract base type for all references. - - References - - - NonHierarchicalReferences - The abstract base type for all non-hierarchical references. - - i=31 - - NonHierarchicalReferences - - - HierarchicalReferences - The abstract base type for all hierarchical references. - - i=31 - - HierarchicalReferences - - - HasChild - The abstract base type for all non-looping hierarchical references. - - i=33 - - ChildOf - - - Organizes - The type for hierarchical references that are used to organize nodes. - - i=33 - - OrganizedBy - - - HasEventSource - The type for non-looping hierarchical references that are used to organize event sources. - - i=33 - - EventSourceOf - - - HasModellingRule - The type for references from instance declarations to modelling rule nodes. - - i=32 - - ModellingRuleOf - - - HasEncoding - The type for references from data type nodes to to data type encoding nodes. - - i=32 - - EncodingOf - - - HasDescription - The type for references from data type encoding nodes to data type description nodes. - - i=32 - - DescriptionOf - - - HasTypeDefinition - The type for references from a instance node its type defintion node. - - i=32 - - TypeDefinitionOf - - - GeneratesEvent - The type for references from a node to an event type that is raised by node. - - i=32 - - GeneratesEvent - - - AlwaysGeneratesEvent - The type for references from a node to an event type that is always raised by node. - - i=32 - - AlwaysGeneratesEvent - - - Aggregates - The type for non-looping hierarchical references that are used to aggregate nodes into complex types. - - i=34 - - AggregatedBy - - - HasSubtype - The type for non-looping hierarchical references that are used to define sub types. - - i=34 - - HasSupertype - - - HasProperty - The type for non-looping hierarchical reference from a node to its property. - - i=44 - - PropertyOf - - - HasComponent - The type for non-looping hierarchical reference from a node to its component. - - i=44 - - ComponentOf - - - HasNotifier - The type for non-looping hierarchical references that are used to indicate how events propagate from node to node. - - i=36 - - NotifierOf - - - HasOrderedComponent - The type for non-looping hierarchical reference from a node to its component when the order of references matters. - - i=47 - - OrderedComponentOf - - - NamingRuleType - Describes a value that specifies the significance of the BrowseName for an instance declaration. - - 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=78 - 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. - - - - - - - - - NodeVersion - The version number of the node (used to indicate changes to references of the owning node). - - i=68 - - - - ViewVersion - The version number of the view. - - i=68 - - - - Icon - A small image representing the object. - - i=68 - - - - LocalTime - The local time where the owning variable value was collected. - - i=68 - - - - AllowNulls - Whether the value of the owning variable is allowed to be null. - - i=68 - - - - ValueAsText - The string representation of the current value for a variable with an enumerated data type. - - i=68 - - - - MaxStringLength - The maximum length for a string that can be stored in the owning variable. - - i=68 - - - - MaxByteStringLength - The maximum length for a byte string that can be stored in the owning variable. - - i=68 - - - - MaxArrayLength - The maximum length for an array that can be stored in the owning variable. - - i=68 - - - - EngineeringUnits - The engineering units for the value of the owning variable. - - i=68 - - - - EnumStrings - The human readable strings associated with the values of an enumerated value (when values are sequential). - - i=68 - - - - EnumValues - The human readable strings associated with the values of an enumerated value (when values have no sequence). - - i=68 - - - - OptionSetValues - Contains the human-readable representation for each bit of the bit mask. - - i=68 - - - - InputArguments - The input arguments for a method. - - i=68 - - - - OutputArguments - The output arguments for a method. - - i=68 - - - - ImageBMP - An image encoded in BMP format. - - i=30 - - - - ImageGIF - An image encoded in GIF format. - - i=30 - - - - ImageJPG - An image encoded in JPEG format. - - i=30 - - - - ImagePNG - An image encoded in PNG format. - - i=30 - - - - IdType - The type of identifier used in a node id. - - i=7591 - i=29 - - - - The identifier is a numeric value. 0 is a null value. - - - The identifier is a string value. An empty string is a null value. - - - The identifier is a 16 byte structure. 16 zero bytes is a null value. - - - The identifier is an array of bytes. A zero length array is a null value. - - - - - EnumStrings - - i=68 - i=78 - i=256 - - - - - - - Numeric - - - - - String - - - - - Guid - - - - - Opaque - - - - - - NodeClass - A mask specifying the class of the node. - - i=11878 - i=29 - - - - No classes are selected. - - - The node is an object. - - - The node is a variable. - - - The node is a method. - - - The node is an object type. - - - The node is an variable type. - - - The node is a reference type. - - - The node is a data type. - - - The node is a view. - - - - - EnumValues - - i=68 - i=78 - i=257 - - - - - - i=7616 - - - - 0 - - - - Unspecified - - - - - No classes are selected. - - - - - - - i=7616 - - - - 1 - - - - Object - - - - - The node is an object. - - - - - - - i=7616 - - - - 2 - - - - Variable - - - - - The node is a variable. - - - - - - - i=7616 - - - - 4 - - - - Method - - - - - The node is a method. - - - - - - - i=7616 - - - - 8 - - - - ObjectType - - - - - The node is an object type. - - - - - - - i=7616 - - - - 16 - - - - VariableType - - - - - The node is an variable type. - - - - - - - i=7616 - - - - 32 - - - - ReferenceType - - - - - The node is a reference type. - - - - - - - i=7616 - - - - 64 - - - - DataType - - - - - The node is a data type. - - - - - - - i=7616 - - - - 128 - - - - View - - - - - The node is a view. - - - - - - - - - Argument - An argument for a method. - - i=22 - - - - The name of the argument. - - - The data type of the argument. - - - Whether the argument is an array type and the rank of the array if it is. - - - The number of dimensions if the argument is an array type and one or more dimensions have a fixed length. - - - The description for the argument. - - - - - EnumValueType - A mapping between a value of an enumerated type and a name and description. - - i=22 - - - - The value of the enumeration. - - - Human readable name for the value. - - - A description of the value. - - - - - OptionSet - This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask. - - i=22 - - - - Array of bytes representing the bits in the option set. - - - Array of bytes with same size as value representing the valid bits in the value parameter. - - - - - Union - This abstract DataType is the base DataType for all union DataTypes. - - i=22 - - - - NormalizedString - A string normalized based on the rules in the unicode specification. - - i=12 - - - - DecimalString - An arbitraty numeric value. - - i=12 - - - - DurationString - A period of time formatted as defined in ISO 8601-2000. - - i=12 - - - - TimeString - A time formatted as defined in ISO 8601-2000. - - i=12 - - - - DateString - A date formatted as defined in ISO 8601-2000. - - i=12 - - - - Duration - A period of time measured in milliseconds. - - i=11 - - - - UtcTime - A date/time value specified in Universal Coordinated Time (UTC). - - i=13 - - - - LocaleId - An identifier for a user locale. - - i=12 - - - - TimeZoneDataType - - i=22 - - - - - - - - Default XML - - i=296 - i=8285 - i=76 - - - - Default XML - - i=7594 - i=8291 - i=76 - - - - Default XML - - i=12755 - i=12759 - i=76 - - - - Default XML - - i=12756 - i=12762 - i=76 - - - - Default XML - - i=8912 - i=8918 - i=76 - - - - Default Binary - - i=296 - i=7650 - i=76 - - - - Default Binary - - i=7594 - i=7656 - i=76 - - - - Default Binary - - i=12755 - i=12767 - i=76 - - - - Default Binary - - i=12756 - i=12770 - i=76 - - - - Default Binary - - i=8912 - i=8914 - i=76 - - - \ No newline at end of file + + + + + + + + + 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 + + + Default Binary + The default binary encoding for a data type. + + i=58 + + + + Default XML + The default XML encoding for a data type. + + i=58 + + + + BaseDataType + Describes a value that can have any valid DataType. + + + + Number + Describes a value that can have any numeric DataType. + + i=24 + + + + Integer + Describes a value that can have any integer DataType. + + i=26 + + + + UInteger + Describes a value that can have any unsigned integer DataType. + + i=26 + + + + Enumeration + Describes a value that is an enumerated DataType. + + i=24 + + + + Boolean + Describes a value that is either TRUE or FALSE. + + i=24 + + + + SByte + Describes a value that is an integer between -128 and 127. + + i=27 + + + + Byte + Describes a value that is an integer between 0 and 255. + + i=28 + + + + Int16 + Describes a value that is an integer between −32,768 and 32,767. + + i=27 + + + + UInt16 + Describes a value that is an integer between 0 and 65535. + + i=28 + + + + Int32 + Describes a value that is an integer between −2,147,483,648 and 2,147,483,647. + + i=27 + + + + UInt32 + Describes a value that is an integer between 0 and 4,294,967,295. + + i=28 + + + + Int64 + Describes a value that is an integer between −9,223,372,036,854,775,808 and 9,223,372,036,854,775,807. + + i=27 + + + + UInt64 + Describes a value that is an integer between 0 and 18,446,744,073,709,551,615. + + i=28 + + + + Float + Describes a value that is an IEEE 754-1985 single precision floating point number. + + i=26 + + + + Double + Describes a value that is an IEEE 754-1985 double precision floating point number. + + i=26 + + + + String + Describes a value that is a sequence of printable Unicode characters. + + i=24 + + + + DateTime + Describes a value that is a Gregorian calender date and time. + + i=24 + + + + Guid + Describes a value that is a 128-bit globally unique identifier. + + i=24 + + + + ByteString + Describes a value that is a sequence of bytes. + + i=24 + + + + XmlElement + Describes a value that is an XML element. + + i=24 + + + + NodeId + Describes a value that is an identifier for a node within a Server address space. + + i=24 + + + + QualifiedName + Describes a value that is a name qualified by a namespace. + + i=24 + + + + LocalizedText + Describes a value that is human readable Unicode text with a locale identifier. + + i=24 + + + + Structure + Describes a value that is any type of structure that can be described with a data encoding. + + i=24 + + + + Image + Describes a value that is an image encoded as a string of bytes. + + i=15 + + + + Decimal128 + Describes a 128-bit decimal value. + + i=26 + + + + References + The abstract base type for all references. + + + + NonHierarchicalReferences + The abstract base type for all non-hierarchical references. + + i=31 + + NonHierarchicalReferences + + + HierarchicalReferences + The abstract base type for all hierarchical references. + + i=31 + + HierarchicalReferences + + + HasChild + The abstract base type for all non-looping hierarchical references. + + i=33 + + ChildOf + + + Organizes + The type for hierarchical references that are used to organize nodes. + + i=33 + + OrganizedBy + + + HasEventSource + The type for non-looping hierarchical references that are used to organize event sources. + + i=33 + + EventSourceOf + + + HasModellingRule + The type for references from instance declarations to modelling rule nodes. + + i=32 + + ModellingRuleOf + + + HasEncoding + The type for references from data type nodes to to data type encoding nodes. + + i=32 + + EncodingOf + + + HasDescription + The type for references from data type encoding nodes to data type description nodes. + + i=32 + + DescriptionOf + + + HasTypeDefinition + The type for references from a instance node its type defintion node. + + i=32 + + TypeDefinitionOf + + + GeneratesEvent + The type for references from a node to an event type that is raised by node. + + i=32 + + GeneratesEvent + + + AlwaysGeneratesEvent + The type for references from a node to an event type that is always raised by node. + + i=41 + + AlwaysGeneratesEvent + + + Aggregates + The type for non-looping hierarchical references that are used to aggregate nodes into complex types. + + i=34 + + AggregatedBy + + + HasSubtype + The type for non-looping hierarchical references that are used to define sub types. + + i=34 + + SubtypeOf + + + HasProperty + The type for non-looping hierarchical reference from a node to its property. + + i=44 + + PropertyOf + + + HasComponent + The type for non-looping hierarchical reference from a node to its component. + + i=44 + + ComponentOf + + + HasNotifier + The type for non-looping hierarchical references that are used to indicate how events propagate from node to node. + + i=36 + + NotifierOf + + + HasOrderedComponent + The type for non-looping hierarchical reference from a node to its component when the order of references matters. + + i=47 + + OrderedComponentOf + + + NamingRuleType + Describes a value that specifies the significance of the BrowseName for an instance declaration. + + 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=78 + 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. + + + + + + + + + NodeVersion + The version number of the node (used to indicate changes to references of the owning node). + + i=68 + + + + ViewVersion + The version number of the view. + + i=68 + + + + Icon + A small image representing the object. + + i=68 + + + + LocalTime + The local time where the owning variable value was collected. + + i=68 + + + + AllowNulls + Whether the value of the owning variable is allowed to be null. + + i=68 + + + + ValueAsText + The string representation of the current value for a variable with an enumerated data type. + + i=68 + + + + MaxStringLength + The maximum length for a string that can be stored in the owning variable. + + i=68 + + + + MaxByteStringLength + The maximum length for a byte string that can be stored in the owning variable. + + i=68 + + + + MaxArrayLength + The maximum length for an array that can be stored in the owning variable. + + i=68 + + + + EngineeringUnits + The engineering units for the value of the owning variable. + + i=68 + + + + EnumStrings + The human readable strings associated with the values of an enumerated value (when values are sequential). + + i=68 + + + + EnumValues + The human readable strings associated with the values of an enumerated value (when values have no sequence). + + i=68 + + + + OptionSetValues + Contains the human-readable representation for each bit of the bit mask. + + i=68 + + + + InputArguments + The input arguments for a method. + + i=68 + + + + OutputArguments + The output arguments for a method. + + i=68 + + + + ImageBMP + An image encoded in BMP format. + + i=30 + + + + ImageGIF + An image encoded in GIF format. + + i=30 + + + + ImageJPG + An image encoded in JPEG format. + + i=30 + + + + ImagePNG + An image encoded in PNG format. + + i=30 + + + + IdType + The type of identifier used in a node id. + + i=7591 + i=29 + + + + The identifier is a numeric value. 0 is a null value. + + + The identifier is a string value. An empty string is a null value. + + + The identifier is a 16 byte structure. 16 zero bytes is a null value. + + + The identifier is an array of bytes. A zero length array is a null value. + + + + + EnumStrings + + i=68 + i=78 + i=256 + + + + + + + Numeric + + + + + String + + + + + Guid + + + + + Opaque + + + + + + NodeClass + A mask specifying the class of the node. + + i=11878 + i=29 + + + + No classes are selected. + + + The node is an object. + + + The node is a variable. + + + The node is a method. + + + The node is an object type. + + + The node is an variable type. + + + The node is a reference type. + + + The node is a data type. + + + The node is a view. + + + + + EnumValues + + i=68 + i=78 + i=257 + + + + + + i=7616 + + + + 0 + + + + Unspecified + + + + + No classes are selected. + + + + + + + i=7616 + + + + 1 + + + + Object + + + + + The node is an object. + + + + + + + i=7616 + + + + 2 + + + + Variable + + + + + The node is a variable. + + + + + + + i=7616 + + + + 4 + + + + Method + + + + + The node is a method. + + + + + + + i=7616 + + + + 8 + + + + ObjectType + + + + + The node is an object type. + + + + + + + i=7616 + + + + 16 + + + + VariableType + + + + + The node is an variable type. + + + + + + + i=7616 + + + + 32 + + + + ReferenceType + + + + + The node is a reference type. + + + + + + + i=7616 + + + + 64 + + + + DataType + + + + + The node is a data type. + + + + + + + i=7616 + + + + 128 + + + + View + + + + + The node is a view. + + + + + + + + + Argument + An argument for a method. + + i=22 + + + + The name of the argument. + + + The data type of the argument. + + + Whether the argument is an array type and the rank of the array if it is. + + + The number of dimensions if the argument is an array type and one or more dimensions have a fixed length. + + + The description for the argument. + + + + + EnumValueType + A mapping between a value of an enumerated type and a name and description. + + i=22 + + + + The value of the enumeration. + + + Human readable name for the value. + + + A description of the value. + + + + + OptionSet + This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask. + + i=22 + + + + Array of bytes representing the bits in the option set. + + + Array of bytes with same size as value representing the valid bits in the value parameter. + + + + + Union + This abstract DataType is the base DataType for all union DataTypes. + + i=22 + + + + NormalizedString + A string normalized based on the rules in the unicode specification. + + i=12 + + + + DecimalString + An arbitraty numeric value. + + i=12 + + + + DurationString + A period of time formatted as defined in ISO 8601-2000. + + i=12 + + + + TimeString + A time formatted as defined in ISO 8601-2000. + + i=12 + + + + DateString + A date formatted as defined in ISO 8601-2000. + + i=12 + + + + Duration + A period of time measured in milliseconds. + + i=11 + + + + UtcTime + A date/time value specified in Universal Coordinated Time (UTC). + + i=13 + + + + LocaleId + An identifier for a user locale. + + i=12 + + + + TimeZoneDataType + + i=22 + + + + + + + + Default XML + + i=296 + i=8285 + i=76 + + + + Default XML + + i=7594 + i=8291 + i=76 + + + + Default XML + + i=12755 + i=12759 + i=76 + + + + Default XML + + i=12756 + i=12762 + i=76 + + + + Default XML + + i=8912 + i=8918 + i=76 + + + + Default Binary + + i=296 + i=7650 + i=76 + + + + Default Binary + + i=7594 + i=7656 + i=76 + + + + Default Binary + + i=12755 + i=12767 + i=76 + + + + Default Binary + + i=12756 + i=12770 + i=76 + + + + Default Binary + + i=8912 + i=8914 + i=76 + + + diff --git a/schemas/Opc.Ua.NodeSet2.Part4.xml b/schemas/Opc.Ua.NodeSet2.Part4.xml index 332c286ef..5e32a0fac 100644 --- a/schemas/Opc.Ua.NodeSet2.Part4.xml +++ b/schemas/Opc.Ua.NodeSet2.Part4.xml @@ -1,3091 +1,2978 @@ - - - - - - - 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 - - - ExpandedNodeId - Describes a value that is an absolute identifier for a node. - - i=24 - - - - StatusCode - Describes a value that is a code representing the outcome of an operation by a Server. - - i=24 - - - - DataValue - Describes a value that is a structure containing a value, a status code and timestamps. - - i=24 - - - - DiagnosticInfo - Describes a value that is a structure containing diagnostics associated with a StatusCode. - - i=24 - - - - IntegerId - A numeric identifier for an object. - - i=7 - - - - ApplicationType - The types of applications. - - i=7597 - i=29 - - - - The application is a server. - - - The application is a client. - - - The application is a client and a server. - - - The application is a discovery server. - - - - - EnumStrings - - i=68 - i=78 - i=307 - - - - - - - Server - - - - - Client - - - - - ClientAndServer - - - - - DiscoveryServer - - - - - - ApplicationDescription - Describes an application and how to find it. - - i=22 - - - - The globally unique identifier for the application. - - - The globally unique identifier for the product. - - - The name of application. - - - The type of application. - - - The globally unique identifier for the server that is acting as a gateway for the server. - - - The globally unique identifier for the discovery profile supported by the server. - - - The URLs for the server's discovery endpoints. - - - - - ServerOnNetwork - - i=22 - - - - - - - - - - ApplicationInstanceCertificate - A certificate for an instance of an application. - - i=15 - - - - MessageSecurityMode - The type of security to use on a message. - - i=7595 - i=29 - - - - An invalid mode. - - - No security is used. - - - The message is signed. - - - The message is signed and encrypted. - - - - - EnumStrings - - i=68 - i=78 - i=302 - - - - - - - Invalid - - - - - None - - - - - Sign - - - - - SignAndEncrypt - - - - - - UserTokenType - The possible user token types. - - i=7596 - i=29 - - - - An anonymous user. - - - A user identified by a user name and password. - - - A user identified by an X509 certificate. - - - A user identified by WS-Security XML token. - - - A user identified by Kerberos ticket. - - - - - EnumStrings - - i=68 - i=78 - i=303 - - - - - - - Anonymous - - - - - UserName - - - - - Certificate - - - - - IssuedToken - - - - - Kerberos - - - - - - UserTokenPolicy - Describes a user token that can be used with a server. - - i=22 - - - - A identifier for the policy assigned by the server. - - - The type of user token. - - - The type of issued token. - - - The endpoint or any other information need to contruct an issued token URL. - - - The security policy to use when encrypting or signing the user token. - - - - - EndpointDescription - The description of a endpoint that can be used to access a server. - - i=22 - - - - The network endpoint to use when connecting to the server. - - - The description of the server. - - - The server's application certificate. - - - The security mode that must be used when connecting to the endpoint. - - - The security policy to use when connecting to the endpoint. - - - The user identity tokens that can be used with this endpoint. - - - The transport profile to use when connecting to the endpoint. - - - A server assigned value that indicates how secure the endpoint is relative to other server endpoints. - - - - - RegisteredServer - The information required to register a server with a discovery server. - - i=22 - - - - The globally unique identifier for the server. - - - The globally unique identifier for the product. - - - The name of server in multiple lcoales. - - - The type of server. - - - The globally unique identifier for the server that is acting as a gateway for the server. - - - The URLs for the server's discovery endpoints. - - - A path to a file that is deleted when the server is no longer accepting connections. - - - If FALSE the server will save the registration information to a persistent datastore. - - - - - DiscoveryConfiguration - A base type for discovery configuration information. - - i=22 - - - - MdnsDiscoveryConfiguration - The discovery information needed for mDNS registration. - - i=12890 - - - - The name for server that is broadcast via mDNS. - - - The server capabilities that are broadcast via mDNS. - - - - - SecurityTokenRequestType - Indicates whether a token if being created or renewed. - - i=7598 - i=29 - - - - The channel is being created. - - - The channel is being renewed. - - - - - EnumStrings - - i=68 - i=78 - i=315 - - - - - - - Issue - - - - - Renew - - - - - - SignedSoftwareCertificate - A software certificate with a digital signature. - - i=22 - - - - The data of the certificate. - - - The digital signature. - - - - - SessionAuthenticationToken - A unique identifier for a session used to authenticate requests. - - i=17 - - - - UserIdentityToken - A base type for a user identity token. - - i=22 - - - - The policy id specified in a user token policy for the endpoint being used. - - - - - AnonymousIdentityToken - A token representing an anonymous user. - - i=316 - - - - UserNameIdentityToken - A token representing a user identified by a user name and password. - - i=316 - - - - The user name. - - - The password encrypted with the server certificate. - - - The algorithm used to encrypt the password. - - - - - X509IdentityToken - A token representing a user identified by an X509 certificate. - - i=316 - - - - The certificate. - - - - - KerberosIdentityToken - - i=316 - - - - - - - IssuedIdentityToken - A token representing a user identified by a WS-Security XML token. - - i=316 - - - - The XML token encrypted with the server certificate. - - - The algorithm used to encrypt the certificate. - - - - - NodeAttributesMask - The bits used to specify default attributes for a new node. - - i=11881 - i=29 - - - - No attribuites provided. - - - The access level attribute is specified. - - - The array dimensions attribute is specified. - - - The browse name attribute is specified. - - - The contains no loops attribute is specified. - - - The data type attribute is specified. - - - The description attribute is specified. - - - The display name attribute is specified. - - - The event notifier attribute is specified. - - - The executable attribute is specified. - - - The historizing attribute is specified. - - - The inverse name attribute is specified. - - - The is abstract attribute is specified. - - - The minimum sampling interval attribute is specified. - - - The node class attribute is specified. - - - The node id attribute is specified. - - - The symmetric attribute is specified. - - - The user access level attribute is specified. - - - The user executable attribute is specified. - - - The user write mask attribute is specified. - - - The value rank attribute is specified. - - - The write mask attribute is specified. - - - The value attribute is specified. - - - All attributes are specified. - - - All base attributes are specified. - - - All object attributes are specified. - - - All object type or data type attributes are specified. - - - All variable attributes are specified. - - - All variable type attributes are specified. - - - All method attributes are specified. - - - All reference type attributes are specified. - - - All view attributes are specified. - - - - - EnumValues - - i=68 - i=78 - i=348 - - - - - - i=7616 - - - - 0 - - - - None - - - - - No attribuites provided. - - - - - - - i=7616 - - - - 1 - - - - AccessLevel - - - - - The access level attribute is specified. - - - - - - - i=7616 - - - - 2 - - - - ArrayDimensions - - - - - The array dimensions attribute is specified. - - - - - - - i=7616 - - - - 4 - - - - BrowseName - - - - - The browse name attribute is specified. - - - - - - - i=7616 - - - - 8 - - - - ContainsNoLoops - - - - - The contains no loops attribute is specified. - - - - - - - i=7616 - - - - 16 - - - - DataType - - - - - The data type attribute is specified. - - - - - - - i=7616 - - - - 32 - - - - Description - - - - - The description attribute is specified. - - - - - - - i=7616 - - - - 64 - - - - DisplayName - - - - - The display name attribute is specified. - - - - - - - i=7616 - - - - 128 - - - - EventNotifier - - - - - The event notifier attribute is specified. - - - - - - - i=7616 - - - - 256 - - - - Executable - - - - - The executable attribute is specified. - - - - - - - i=7616 - - - - 512 - - - - Historizing - - - - - The historizing attribute is specified. - - - - - - - i=7616 - - - - 1024 - - - - InverseName - - - - - The inverse name attribute is specified. - - - - - - - i=7616 - - - - 2048 - - - - IsAbstract - - - - - The is abstract attribute is specified. - - - - - - - i=7616 - - - - 4096 - - - - MinimumSamplingInterval - - - - - The minimum sampling interval attribute is specified. - - - - - - - i=7616 - - - - 8192 - - - - NodeClass - - - - - The node class attribute is specified. - - - - - - - i=7616 - - - - 16384 - - - - NodeId - - - - - The node id attribute is specified. - - - - - - - i=7616 - - - - 32768 - - - - Symmetric - - - - - The symmetric attribute is specified. - - - - - - - i=7616 - - - - 65536 - - - - UserAccessLevel - - - - - The user access level attribute is specified. - - - - - - - i=7616 - - - - 131072 - - - - UserExecutable - - - - - The user executable attribute is specified. - - - - - - - i=7616 - - - - 262144 - - - - UserWriteMask - - - - - The user write mask attribute is specified. - - - - - - - i=7616 - - - - 524288 - - - - ValueRank - - - - - The value rank attribute is specified. - - - - - - - i=7616 - - - - 1048576 - - - - WriteMask - - - - - The write mask attribute is specified. - - - - - - - i=7616 - - - - 2097152 - - - - Value - - - - - The value attribute is specified. - - - - - - - i=7616 - - - - 4194303 - - - - All - - - - - All attributes are specified. - - - - - - - i=7616 - - - - 1335396 - - - - BaseNode - - - - - All base attributes are specified. - - - - - - - i=7616 - - - - 1335524 - - - - Object - - - - - All object attributes are specified. - - - - - - - i=7616 - - - - 1337444 - - - - ObjectTypeOrDataType - - - - - All object type or data type attributes are specified. - - - - - - - i=7616 - - - - 4026999 - - - - Variable - - - - - All variable attributes are specified. - - - - - - - i=7616 - - - - 3958902 - - - - VariableType - - - - - All variable type attributes are specified. - - - - - - - i=7616 - - - - 1466724 - - - - Method - - - - - All method attributes are specified. - - - - - - - i=7616 - - - - 1371236 - - - - ReferenceType - - - - - All reference type attributes are specified. - - - - - - - i=7616 - - - - 1335532 - - - - View - - - - - All view attributes are specified. - - - - - - - - - AddNodesItem - A request to add a node to the server address space. - - i=22 - - - - The node id for the parent node. - - - The type of reference from the parent to the new node. - - - The node id requested by the client. If null the server must provide one. - - - The browse name for the new node. - - - The class of the new node. - - - The default attributes for the new node. - - - The type definition for the new node. - - - - - AddReferencesItem - A request to add a reference to the server address space. - - i=22 - - - - The source of the reference. - - - The type of reference. - - - If TRUE the reference is a forward reference. - - - The URI of the server containing the target (if in another server). - - - The target of the reference. - - - The node class of the target (if known). - - - - - DeleteNodesItem - A request to delete a node to the server address space. - - i=22 - - - - The id of the node to delete. - - - If TRUE all references to the are deleted as well. - - - - - DeleteReferencesItem - A request to delete a node from the server address space. - - i=22 - - - - The source of the reference to delete. - - - The type of reference to delete. - - - If TRUE the a forward reference is deleted. - - - The target of the reference to delete. - - - If TRUE the reference is deleted in both directions. - - - - - AttributeWriteMask - Define bits used to indicate which attributes are writable. - - i=11882 - i=29 - - - - No attributes are writable. - - - The access level attribute is writable. - - - The array dimensions attribute is writable. - - - The browse name attribute is writable. - - - The contains no loops attribute is writable. - - - The data type attribute is writable. - - - The description attribute is writable. - - - The display name attribute is writable. - - - The event notifier attribute is writable. - - - The executable attribute is writable. - - - The historizing attribute is writable. - - - The inverse name attribute is writable. - - - The is abstract attribute is writable. - - - The minimum sampling interval attribute is writable. - - - The node class attribute is writable. - - - The node id attribute is writable. - - - The symmetric attribute is writable. - - - The user access level attribute is writable. - - - The user executable attribute is writable. - - - The user write mask attribute is writable. - - - The value rank attribute is writable. - - - The write mask attribute is writable. - - - The value attribute is writable. - - - - - EnumValues - - i=68 - i=78 - i=347 - - - - - - i=7616 - - - - 0 - - - - None - - - - - No attributes are writable. - - - - - - - i=7616 - - - - 1 - - - - AccessLevel - - - - - The access level attribute is writable. - - - - - - - i=7616 - - - - 2 - - - - ArrayDimensions - - - - - The array dimensions attribute is writable. - - - - - - - i=7616 - - - - 4 - - - - BrowseName - - - - - The browse name attribute is writable. - - - - - - - i=7616 - - - - 8 - - - - ContainsNoLoops - - - - - The contains no loops attribute is writable. - - - - - - - i=7616 - - - - 16 - - - - DataType - - - - - The data type attribute is writable. - - - - - - - i=7616 - - - - 32 - - - - Description - - - - - The description attribute is writable. - - - - - - - i=7616 - - - - 64 - - - - DisplayName - - - - - The display name attribute is writable. - - - - - - - i=7616 - - - - 128 - - - - EventNotifier - - - - - The event notifier attribute is writable. - - - - - - - i=7616 - - - - 256 - - - - Executable - - - - - The executable attribute is writable. - - - - - - - i=7616 - - - - 512 - - - - Historizing - - - - - The historizing attribute is writable. - - - - - - - i=7616 - - - - 1024 - - - - InverseName - - - - - The inverse name attribute is writable. - - - - - - - i=7616 - - - - 2048 - - - - IsAbstract - - - - - The is abstract attribute is writable. - - - - - - - i=7616 - - - - 4096 - - - - MinimumSamplingInterval - - - - - The minimum sampling interval attribute is writable. - - - - - - - i=7616 - - - - 8192 - - - - NodeClass - - - - - The node class attribute is writable. - - - - - - - i=7616 - - - - 16384 - - - - NodeId - - - - - The node id attribute is writable. - - - - - - - i=7616 - - - - 32768 - - - - Symmetric - - - - - The symmetric attribute is writable. - - - - - - - i=7616 - - - - 65536 - - - - UserAccessLevel - - - - - The user access level attribute is writable. - - - - - - - i=7616 - - - - 131072 - - - - UserExecutable - - - - - The user executable attribute is writable. - - - - - - - i=7616 - - - - 262144 - - - - UserWriteMask - - - - - The user write mask attribute is writable. - - - - - - - i=7616 - - - - 524288 - - - - ValueRank - - - - - The value rank attribute is writable. - - - - - - - i=7616 - - - - 1048576 - - - - WriteMask - - - - - The write mask attribute is writable. - - - - - - - i=7616 - - - - 2097152 - - - - ValueForVariableType - - - - - The value attribute is writable. - - - - - - - - - ContinuationPoint - An identifier for a suspended query or browse operation. - - i=15 - - - - RelativePathElement - An element in a relative path. - - i=22 - - - - The type of reference to follow. - - - If TRUE the reverse reference is followed. - - - If TRUE then subtypes of the reference type are followed. - - - The browse name of the target. - - - - - RelativePath - A relative path constructed from reference types and browse names. - - i=22 - - - - A list of elements in the path. - - - - - Counter - A monotonically increasing value. - - i=7 - - - - NumericRange - Specifies a range of array indexes. - - i=12 - - - - Time - A time value specified as HH:MM:SS.SSS. - - i=12 - - - - Date - A date value. - - i=13 - - - - EndpointConfiguration - - i=22 - - - - - - - - - - - - - - - ComplianceLevel - - i=7599 - i=29 - - - - - - - - - - EnumStrings - - i=68 - i=78 - i=334 - - - - - - - Untested - - - - - Partial - - - - - SelfTested - - - - - Certified - - - - - - SupportedProfile - - i=22 - - - - - - - - - - - - SoftwareCertificate - - i=22 - - - - - - - - - - - - - - - - FilterOperator - - i=7605 - i=29 - - - - - - - - - - - - - - - - - - - - - - - - EnumStrings - - i=68 - i=78 - i=576 - - - - - - - Equals - - - - - IsNull - - - - - GreaterThan - - - - - LessThan - - - - - GreaterThanOrEqual - - - - - LessThanOrEqual - - - - - Like - - - - - Not - - - - - Between - - - - - InList - - - - - And - - - - - Or - - - - - Cast - - - - - InView - - - - - OfType - - - - - RelatedTo - - - - - BitwiseAnd - - - - - BitwiseOr - - - - - - ContentFilterElement - - i=22 - - - - - - - - ContentFilter - - i=22 - - - - - - - FilterOperand - - i=22 - - - - ElementOperand - - i=589 - - - - - - - LiteralOperand - - i=589 - - - - - - - AttributeOperand - - i=589 - - - - - - - - - - - SimpleAttributeOperand - - i=589 - - - - - - - - - - HistoryEvent - - i=22 - - - - - - - HistoryUpdateType - - i=11884 - i=29 - - - - - - - - - - EnumValues - - i=68 - i=78 - i=11234 - - - - - - i=7616 - - - - 1 - - - - Insert - - - - - - - - i=7616 - - - - 2 - - - - Replace - - - - - - - - i=7616 - - - - 3 - - - - Update - - - - - - - - i=7616 - - - - 4 - - - - Delete - - - - - - - - - - PerformUpdateType - - i=11885 - i=29 - - - - - - - - - - EnumValues - - i=68 - i=78 - i=11293 - - - - - - i=7616 - - - - 1 - - - - Insert - - - - - - - - i=7616 - - - - 2 - - - - Replace - - - - - - - - i=7616 - - - - 3 - - - - Update - - - - - - - - i=7616 - - - - 4 - - - - Remove - - - - - - - - - - MonitoringFilter - - i=22 - - - - EventFilter - - i=719 - - - - - - - - AggregateConfiguration - - i=22 - - - - - - - - - - - HistoryEventFieldList - - i=22 - - - - - - - Default XML - - i=308 - i=8300 - i=76 - - - - Default XML - - i=12189 - i=12201 - i=76 - - - - Default XML - - i=304 - i=8297 - i=76 - - - - Default XML - - i=312 - i=8303 - i=76 - - - - Default XML - - i=432 - i=8417 - i=76 - - - - Default XML - - i=12890 - i=12894 - i=76 - - - - Default XML - - i=12891 - i=12897 - i=76 - - - - Default XML - - i=344 - i=8333 - 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=12504 - i=12506 - i=76 - - - - Default XML - - i=938 - i=8318 - i=76 - - - - Default XML - - i=376 - i=8363 - i=76 - - - - Default XML - - i=379 - i=8366 - i=76 - - - - Default XML - - i=382 - i=8369 - i=76 - - - - Default XML - - i=385 - i=8372 - i=76 - - - - Default XML - - i=537 - i=12712 - i=76 - - - - Default XML - - i=540 - i=12715 - i=76 - - - - Default XML - - i=331 - i=8321 - i=76 - - - - Default XML - - i=335 - i=8324 - i=76 - - - - Default XML - - i=341 - i=8330 - 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=659 - i=8639 - i=76 - - - - Default XML - - i=719 - i=8702 - i=76 - - - - Default XML - - i=725 - i=8708 - i=76 - - - - Default XML - - i=948 - i=8711 - i=76 - - - - Default XML - - i=920 - i=8807 - i=76 - - - - Default Binary - - i=308 - i=7665 - i=76 - - - - Default Binary - - i=12189 - i=12213 - i=76 - - - - Default Binary - - i=304 - i=7662 - i=76 - - - - Default Binary - - i=312 - i=7668 - i=76 - - - - Default Binary - - i=432 - i=7782 - i=76 - - - - Default Binary - - i=12890 - i=12902 - i=76 - - - - Default Binary - - i=12891 - i=12905 - i=76 - - - - Default Binary - - i=344 - i=7698 - 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=12504 - i=12510 - i=76 - - - - Default Binary - - i=938 - i=7683 - i=76 - - - - Default Binary - - i=376 - i=7728 - i=76 - - - - Default Binary - - i=379 - i=7731 - i=76 - - - - Default Binary - - i=382 - i=7734 - i=76 - - - - Default Binary - - i=385 - i=7737 - i=76 - - - - Default Binary - - i=537 - i=12718 - i=76 - - - - Default Binary - - i=540 - i=12721 - i=76 - - - - Default Binary - - i=331 - i=7686 - i=76 - - - - Default Binary - - i=335 - i=7689 - i=76 - - - - Default Binary - - i=341 - i=7695 - 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=659 - i=8004 - i=76 - - - - Default Binary - - i=719 - i=8067 - i=76 - - - - Default Binary - - i=725 - i=8073 - i=76 - - - - Default Binary - - i=948 - i=8076 - i=76 - - - - Default Binary - - i=920 - i=8172 - i=76 - - - \ No newline at end of file + + + + + + + + + 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 + + + ExpandedNodeId + Describes a value that is an absolute identifier for a node. + + i=24 + + + + StatusCode + Describes a value that is a code representing the outcome of an operation by a Server. + + i=24 + + + + DataValue + Describes a value that is a structure containing a value, a status code and timestamps. + + i=24 + + + + DiagnosticInfo + Describes a value that is a structure containing diagnostics associated with a StatusCode. + + i=24 + + + + IntegerId + A numeric identifier for an object. + + i=7 + + + + ApplicationType + The types of applications. + + i=7597 + i=29 + + + + The application is a server. + + + The application is a client. + + + The application is a client and a server. + + + The application is a discovery server. + + + + + EnumStrings + + i=68 + i=78 + i=307 + + + + + + + Server + + + + + Client + + + + + ClientAndServer + + + + + DiscoveryServer + + + + + + ApplicationDescription + Describes an application and how to find it. + + i=22 + + + + The globally unique identifier for the application. + + + The globally unique identifier for the product. + + + The name of application. + + + The type of application. + + + The globally unique identifier for the server that is acting as a gateway for the server. + + + The globally unique identifier for the discovery profile supported by the server. + + + The URLs for the server's discovery endpoints. + + + + + ServerOnNetwork + + i=22 + + + + + + + + + + ApplicationInstanceCertificate + A certificate for an instance of an application. + + i=15 + + + + MessageSecurityMode + The type of security to use on a message. + + i=7595 + i=29 + + + + An invalid mode. + + + No security is used. + + + The message is signed. + + + The message is signed and encrypted. + + + + + EnumStrings + + i=68 + i=78 + i=302 + + + + + + + Invalid + + + + + None + + + + + Sign + + + + + SignAndEncrypt + + + + + + UserTokenType + The possible user token types. + + i=7596 + i=29 + + + + An anonymous user. + + + A user identified by a user name and password. + + + A user identified by an X509 certificate. + + + A user identified by WS-Security XML token. + + + + + EnumStrings + + i=68 + i=78 + i=303 + + + + + + + Anonymous + + + + + UserName + + + + + Certificate + + + + + IssuedToken + + + + + + UserTokenPolicy + Describes a user token that can be used with a server. + + i=22 + + + + A identifier for the policy assigned by the server. + + + The type of user token. + + + The type of issued token. + + + The endpoint or any other information need to contruct an issued token URL. + + + The security policy to use when encrypting or signing the user token. + + + + + EndpointDescription + The description of a endpoint that can be used to access a server. + + i=22 + + + + The network endpoint to use when connecting to the server. + + + The description of the server. + + + The server's application certificate. + + + The security mode that must be used when connecting to the endpoint. + + + The security policy to use when connecting to the endpoint. + + + The user identity tokens that can be used with this endpoint. + + + The transport profile to use when connecting to the endpoint. + + + A server assigned value that indicates how secure the endpoint is relative to other server endpoints. + + + + + RegisteredServer + The information required to register a server with a discovery server. + + i=22 + + + + The globally unique identifier for the server. + + + The globally unique identifier for the product. + + + The name of server in multiple lcoales. + + + The type of server. + + + The globally unique identifier for the server that is acting as a gateway for the server. + + + The URLs for the server's discovery endpoints. + + + A path to a file that is deleted when the server is no longer accepting connections. + + + If FALSE the server will save the registration information to a persistent datastore. + + + + + DiscoveryConfiguration + A base type for discovery configuration information. + + i=22 + + + + MdnsDiscoveryConfiguration + The discovery information needed for mDNS registration. + + i=12890 + + + + The name for server that is broadcast via mDNS. + + + The server capabilities that are broadcast via mDNS. + + + + + SecurityTokenRequestType + Indicates whether a token if being created or renewed. + + i=7598 + i=29 + + + + The channel is being created. + + + The channel is being renewed. + + + + + EnumStrings + + i=68 + i=78 + i=315 + + + + + + + Issue + + + + + Renew + + + + + + SignedSoftwareCertificate + A software certificate with a digital signature. + + i=22 + + + + The data of the certificate. + + + The digital signature. + + + + + SessionAuthenticationToken + A unique identifier for a session used to authenticate requests. + + i=17 + + + + UserIdentityToken + A base type for a user identity token. + + i=22 + + + + The policy id specified in a user token policy for the endpoint being used. + + + + + AnonymousIdentityToken + A token representing an anonymous user. + + i=316 + + + + UserNameIdentityToken + A token representing a user identified by a user name and password. + + i=316 + + + + The user name. + + + The password encrypted with the server certificate. + + + The algorithm used to encrypt the password. + + + + + X509IdentityToken + A token representing a user identified by an X509 certificate. + + i=316 + + + + The certificate. + + + + + IssuedIdentityToken + A token representing a user identified by a WS-Security XML token. + + i=316 + + + + The XML token encrypted with the server certificate. + + + The algorithm used to encrypt the certificate. + + + + + NodeAttributesMask + The bits used to specify default attributes for a new node. + + i=11881 + i=29 + + + + No attribuites provided. + + + The access level attribute is specified. + + + The array dimensions attribute is specified. + + + The browse name attribute is specified. + + + The contains no loops attribute is specified. + + + The data type attribute is specified. + + + The description attribute is specified. + + + The display name attribute is specified. + + + The event notifier attribute is specified. + + + The executable attribute is specified. + + + The historizing attribute is specified. + + + The inverse name attribute is specified. + + + The is abstract attribute is specified. + + + The minimum sampling interval attribute is specified. + + + The node class attribute is specified. + + + The node id attribute is specified. + + + The symmetric attribute is specified. + + + The user access level attribute is specified. + + + The user executable attribute is specified. + + + The user write mask attribute is specified. + + + The value rank attribute is specified. + + + The write mask attribute is specified. + + + The value attribute is specified. + + + All attributes are specified. + + + All base attributes are specified. + + + All object attributes are specified. + + + All object type or data type attributes are specified. + + + All variable attributes are specified. + + + All variable type attributes are specified. + + + All method attributes are specified. + + + All reference type attributes are specified. + + + All view attributes are specified. + + + + + EnumValues + + i=68 + i=78 + i=348 + + + + + + i=7616 + + + + 0 + + + + None + + + + + No attribuites provided. + + + + + + + i=7616 + + + + 1 + + + + AccessLevel + + + + + The access level attribute is specified. + + + + + + + i=7616 + + + + 2 + + + + ArrayDimensions + + + + + The array dimensions attribute is specified. + + + + + + + i=7616 + + + + 4 + + + + BrowseName + + + + + The browse name attribute is specified. + + + + + + + i=7616 + + + + 8 + + + + ContainsNoLoops + + + + + The contains no loops attribute is specified. + + + + + + + i=7616 + + + + 16 + + + + DataType + + + + + The data type attribute is specified. + + + + + + + i=7616 + + + + 32 + + + + Description + + + + + The description attribute is specified. + + + + + + + i=7616 + + + + 64 + + + + DisplayName + + + + + The display name attribute is specified. + + + + + + + i=7616 + + + + 128 + + + + EventNotifier + + + + + The event notifier attribute is specified. + + + + + + + i=7616 + + + + 256 + + + + Executable + + + + + The executable attribute is specified. + + + + + + + i=7616 + + + + 512 + + + + Historizing + + + + + The historizing attribute is specified. + + + + + + + i=7616 + + + + 1024 + + + + InverseName + + + + + The inverse name attribute is specified. + + + + + + + i=7616 + + + + 2048 + + + + IsAbstract + + + + + The is abstract attribute is specified. + + + + + + + i=7616 + + + + 4096 + + + + MinimumSamplingInterval + + + + + The minimum sampling interval attribute is specified. + + + + + + + i=7616 + + + + 8192 + + + + NodeClass + + + + + The node class attribute is specified. + + + + + + + i=7616 + + + + 16384 + + + + NodeId + + + + + The node id attribute is specified. + + + + + + + i=7616 + + + + 32768 + + + + Symmetric + + + + + The symmetric attribute is specified. + + + + + + + i=7616 + + + + 65536 + + + + UserAccessLevel + + + + + The user access level attribute is specified. + + + + + + + i=7616 + + + + 131072 + + + + UserExecutable + + + + + The user executable attribute is specified. + + + + + + + i=7616 + + + + 262144 + + + + UserWriteMask + + + + + The user write mask attribute is specified. + + + + + + + i=7616 + + + + 524288 + + + + ValueRank + + + + + The value rank attribute is specified. + + + + + + + i=7616 + + + + 1048576 + + + + WriteMask + + + + + The write mask attribute is specified. + + + + + + + i=7616 + + + + 2097152 + + + + Value + + + + + The value attribute is specified. + + + + + + + i=7616 + + + + 4194303 + + + + All + + + + + All attributes are specified. + + + + + + + i=7616 + + + + 1335396 + + + + BaseNode + + + + + All base attributes are specified. + + + + + + + i=7616 + + + + 1335524 + + + + Object + + + + + All object attributes are specified. + + + + + + + i=7616 + + + + 1337444 + + + + ObjectTypeOrDataType + + + + + All object type or data type attributes are specified. + + + + + + + i=7616 + + + + 4026999 + + + + Variable + + + + + All variable attributes are specified. + + + + + + + i=7616 + + + + 3958902 + + + + VariableType + + + + + All variable type attributes are specified. + + + + + + + i=7616 + + + + 1466724 + + + + Method + + + + + All method attributes are specified. + + + + + + + i=7616 + + + + 1371236 + + + + ReferenceType + + + + + All reference type attributes are specified. + + + + + + + i=7616 + + + + 1335532 + + + + View + + + + + All view attributes are specified. + + + + + + + + + AddNodesItem + A request to add a node to the server address space. + + i=22 + + + + The node id for the parent node. + + + The type of reference from the parent to the new node. + + + The node id requested by the client. If null the server must provide one. + + + The browse name for the new node. + + + The class of the new node. + + + The default attributes for the new node. + + + The type definition for the new node. + + + + + AddReferencesItem + A request to add a reference to the server address space. + + i=22 + + + + The source of the reference. + + + The type of reference. + + + If TRUE the reference is a forward reference. + + + The URI of the server containing the target (if in another server). + + + The target of the reference. + + + The node class of the target (if known). + + + + + DeleteNodesItem + A request to delete a node to the server address space. + + i=22 + + + + The id of the node to delete. + + + If TRUE all references to the are deleted as well. + + + + + DeleteReferencesItem + A request to delete a node from the server address space. + + i=22 + + + + The source of the reference to delete. + + + The type of reference to delete. + + + If TRUE the a forward reference is deleted. + + + The target of the reference to delete. + + + If TRUE the reference is deleted in both directions. + + + + + AttributeWriteMask + Define bits used to indicate which attributes are writable. + + i=11882 + i=29 + + + + No attributes are writable. + + + The access level attribute is writable. + + + The array dimensions attribute is writable. + + + The browse name attribute is writable. + + + The contains no loops attribute is writable. + + + The data type attribute is writable. + + + The description attribute is writable. + + + The display name attribute is writable. + + + The event notifier attribute is writable. + + + The executable attribute is writable. + + + The historizing attribute is writable. + + + The inverse name attribute is writable. + + + The is abstract attribute is writable. + + + The minimum sampling interval attribute is writable. + + + The node class attribute is writable. + + + The node id attribute is writable. + + + The symmetric attribute is writable. + + + The user access level attribute is writable. + + + The user executable attribute is writable. + + + The user write mask attribute is writable. + + + The value rank attribute is writable. + + + The write mask attribute is writable. + + + The value attribute is writable. + + + + + EnumValues + + i=68 + i=78 + i=347 + + + + + + i=7616 + + + + 0 + + + + None + + + + + No attributes are writable. + + + + + + + i=7616 + + + + 1 + + + + AccessLevel + + + + + The access level attribute is writable. + + + + + + + i=7616 + + + + 2 + + + + ArrayDimensions + + + + + The array dimensions attribute is writable. + + + + + + + i=7616 + + + + 4 + + + + BrowseName + + + + + The browse name attribute is writable. + + + + + + + i=7616 + + + + 8 + + + + ContainsNoLoops + + + + + The contains no loops attribute is writable. + + + + + + + i=7616 + + + + 16 + + + + DataType + + + + + The data type attribute is writable. + + + + + + + i=7616 + + + + 32 + + + + Description + + + + + The description attribute is writable. + + + + + + + i=7616 + + + + 64 + + + + DisplayName + + + + + The display name attribute is writable. + + + + + + + i=7616 + + + + 128 + + + + EventNotifier + + + + + The event notifier attribute is writable. + + + + + + + i=7616 + + + + 256 + + + + Executable + + + + + The executable attribute is writable. + + + + + + + i=7616 + + + + 512 + + + + Historizing + + + + + The historizing attribute is writable. + + + + + + + i=7616 + + + + 1024 + + + + InverseName + + + + + The inverse name attribute is writable. + + + + + + + i=7616 + + + + 2048 + + + + IsAbstract + + + + + The is abstract attribute is writable. + + + + + + + i=7616 + + + + 4096 + + + + MinimumSamplingInterval + + + + + The minimum sampling interval attribute is writable. + + + + + + + i=7616 + + + + 8192 + + + + NodeClass + + + + + The node class attribute is writable. + + + + + + + i=7616 + + + + 16384 + + + + NodeId + + + + + The node id attribute is writable. + + + + + + + i=7616 + + + + 32768 + + + + Symmetric + + + + + The symmetric attribute is writable. + + + + + + + i=7616 + + + + 65536 + + + + UserAccessLevel + + + + + The user access level attribute is writable. + + + + + + + i=7616 + + + + 131072 + + + + UserExecutable + + + + + The user executable attribute is writable. + + + + + + + i=7616 + + + + 262144 + + + + UserWriteMask + + + + + The user write mask attribute is writable. + + + + + + + i=7616 + + + + 524288 + + + + ValueRank + + + + + The value rank attribute is writable. + + + + + + + i=7616 + + + + 1048576 + + + + WriteMask + + + + + The write mask attribute is writable. + + + + + + + i=7616 + + + + 2097152 + + + + ValueForVariableType + + + + + The value attribute is writable. + + + + + + + + + ContinuationPoint + An identifier for a suspended query or browse operation. + + i=15 + + + + RelativePathElement + An element in a relative path. + + i=22 + + + + The type of reference to follow. + + + If TRUE the reverse reference is followed. + + + If TRUE then subtypes of the reference type are followed. + + + The browse name of the target. + + + + + RelativePath + A relative path constructed from reference types and browse names. + + i=22 + + + + A list of elements in the path. + + + + + Counter + A monotonically increasing value. + + i=7 + + + + NumericRange + Specifies a range of array indexes. + + i=12 + + + + Time + A time value specified as HH:MM:SS.SSS. + + i=12 + + + + Date + A date value. + + i=13 + + + + EndpointConfiguration + + i=22 + + + + + + + + + + + + + + + FilterOperator + + i=7605 + i=29 + + + + + + + + + + + + + + + + + + + + + + + + EnumStrings + + i=68 + i=78 + i=576 + + + + + + + Equals + + + + + IsNull + + + + + GreaterThan + + + + + LessThan + + + + + GreaterThanOrEqual + + + + + LessThanOrEqual + + + + + Like + + + + + Not + + + + + Between + + + + + InList + + + + + And + + + + + Or + + + + + Cast + + + + + InView + + + + + OfType + + + + + RelatedTo + + + + + BitwiseAnd + + + + + BitwiseOr + + + + + + ContentFilterElement + + i=22 + + + + + + + + ContentFilter + + i=22 + + + + + + + FilterOperand + + i=22 + + + + ElementOperand + + i=589 + + + + + + + LiteralOperand + + i=589 + + + + + + + AttributeOperand + + i=589 + + + + + + + + + + + SimpleAttributeOperand + + i=589 + + + + + + + + + + HistoryEvent + + i=22 + + + + + + + HistoryUpdateType + + i=11884 + i=29 + + + + + + + + + + EnumValues + + i=68 + i=78 + i=11234 + + + + + + i=7616 + + + + 1 + + + + Insert + + + + + + + + i=7616 + + + + 2 + + + + Replace + + + + + + + + i=7616 + + + + 3 + + + + Update + + + + + + + + i=7616 + + + + 4 + + + + Delete + + + + + + + + + + PerformUpdateType + + i=11885 + i=29 + + + + + + + + + + EnumValues + + i=68 + i=78 + i=11293 + + + + + + i=7616 + + + + 1 + + + + Insert + + + + + + + + i=7616 + + + + 2 + + + + Replace + + + + + + + + i=7616 + + + + 3 + + + + Update + + + + + + + + i=7616 + + + + 4 + + + + Remove + + + + + + + + + + MonitoringFilter + + i=22 + + + + EventFilter + + i=719 + + + + + + + + AggregateConfiguration + + i=22 + + + + + + + + + + + HistoryEventFieldList + + i=22 + + + + + + + Default XML + + i=308 + i=8300 + i=76 + + + + Default XML + + i=12189 + i=12201 + i=76 + + + + Default XML + + i=304 + i=8297 + i=76 + + + + Default XML + + i=312 + i=8303 + i=76 + + + + Default XML + + i=432 + i=8417 + i=76 + + + + Default XML + + i=12890 + i=12894 + i=76 + + + + Default XML + + i=12891 + i=12897 + i=76 + + + + Default XML + + i=344 + i=8333 + 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=376 + i=8363 + i=76 + + + + Default XML + + i=379 + i=8366 + i=76 + + + + Default XML + + i=382 + i=8369 + i=76 + + + + Default XML + + i=385 + i=8372 + i=76 + + + + Default XML + + i=537 + i=12712 + i=76 + + + + Default XML + + i=540 + i=12715 + i=76 + + + + Default XML + + i=331 + i=8321 + 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=659 + i=8639 + i=76 + + + + Default XML + + i=719 + i=8702 + i=76 + + + + Default XML + + i=725 + i=8708 + i=76 + + + + Default XML + + i=948 + i=8711 + i=76 + + + + Default XML + + i=920 + i=8807 + i=76 + + + + Default Binary + + i=308 + i=7665 + i=76 + + + + Default Binary + + i=12189 + i=12213 + i=76 + + + + Default Binary + + i=304 + i=7662 + i=76 + + + + Default Binary + + i=312 + i=7668 + i=76 + + + + Default Binary + + i=432 + i=7782 + i=76 + + + + Default Binary + + i=12890 + i=12902 + i=76 + + + + Default Binary + + i=12891 + i=12905 + i=76 + + + + Default Binary + + i=344 + i=7698 + 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=376 + i=7728 + i=76 + + + + Default Binary + + i=379 + i=7731 + i=76 + + + + Default Binary + + i=382 + i=7734 + i=76 + + + + Default Binary + + i=385 + i=7737 + i=76 + + + + Default Binary + + i=537 + i=12718 + i=76 + + + + Default Binary + + i=540 + i=12721 + i=76 + + + + Default Binary + + i=331 + i=7686 + 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=659 + i=8004 + i=76 + + + + Default Binary + + i=719 + i=8067 + i=76 + + + + Default Binary + + i=725 + i=8073 + i=76 + + + + Default Binary + + i=948 + i=8076 + i=76 + + + + Default Binary + + i=920 + i=8172 + i=76 + + + diff --git a/schemas/Opc.Ua.NodeSet2.Part5.xml b/schemas/Opc.Ua.NodeSet2.Part5.xml index 3f1ad02a9..0b2dcc64b 100644 --- a/schemas/Opc.Ua.NodeSet2.Part5.xml +++ b/schemas/Opc.Ua.NodeSet2.Part5.xml @@ -1,17092 +1,17030 @@ - - - - - - - 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 - - - FromState - The type for a reference to the state before a transition. - - i=32 - - ToTransition - - - ToState - The type for a reference to the state after a transition. - - i=32 - - FromTransition - - - HasCause - The type for a reference to a method that can cause a transition to occur. - - i=32 - - MayBeCausedBy - - - HasEffect - The type for a reference to an event that may be raised when a transition occurs. - - i=32 - - MayBeEffectedBy - - - HasSubStateMachine - The type for a reference to a substate for a state. - - i=32 - - SubStateMachineOf - - - BaseObjectType - The base type for all object nodes. - - - - FolderType - The type for objects that organize other nodes. - - i=58 - - - - BaseVariableType - The abstract base type for all variable nodes. - - - - BaseDataVariableType - The type for variable that represents a process value. - - i=62 - - - - PropertyType - The type for variable that represents a property of another node. - - i=62 - - - - DataTypeDescriptionType - The type for variable that represents the description of a data type encoding. - - i=104 - i=105 - i=63 - - - - DataTypeVersion - The version number for the data type description. - - i=68 - i=80 - i=69 - - - - DictionaryFragment - A fragment of a data type dictionary that defines the data type. - - i=68 - i=80 - i=69 - - - - DataTypeDictionaryType - The type for variable that represents the collection of data type decriptions. - - i=106 - i=107 - i=63 - - - - DataTypeVersion - The version number for the data type dictionary. - - i=68 - i=80 - i=72 - - - - NamespaceUri - A URI that uniquely identifies the dictionary. - - i=68 - i=80 - i=72 - - - - DataTypeSystemType - - i=58 - - - - DataTypeEncodingType - - i=58 - - - - ModellingRuleType - The type for an object that describes how an instance declaration is used when a type is instantiated. - - i=111 - i=58 - - - - NamingRule - Specified the significances of the BrowseName when a type is instantiated. - - i=68 - i=78 - i=77 - - - 1 - - - - Mandatory - Specifies that an instance with the attributes and references of the instance declaration must appear when a type is instantiated. - - i=112 - i=77 - - - - NamingRule - Specified the significances of the BrowseName when a type is instantiated. - - i=68 - i=78 - - - 1 - - - - Optional - Specifies that an instance with the attributes and references of the instance declaration may appear when a type is instantiated. - - i=113 - i=77 - - - - NamingRule - Specified the significances of the BrowseName when a type is instantiated. - - i=68 - i=80 - - - 2 - - - - ExposesItsArray - Specifies that an instance appears for each element of the containing array variable. - - i=114 - i=77 - - - - NamingRule - Specified the significances of the BrowseName when a type is instantiated. - - i=68 - i=83 - - - 3 - - - - MandatoryShared - Specifies that a reference to a shared instance must appear in when a type is instantiated. - - i=116 - i=77 - - - - NamingRule - Specified the significances of the BrowseName when a type is instantiated. - - i=68 - i=79 - - - 1 - - - - OptionalPlaceholder - Specifies that zero or more instances with the attributes and references of the instance declaration may appear when a type is instantiated. - - i=11509 - i=77 - - - - NamingRule - Specified the significances of the BrowseName when a type is instantiated. - - i=68 - i=11508 - - - 2 - - - - MandatoryPlaceholder - Specifies that one or more instances with the attributes and references of the instance declaration must appear when a type is instantiated. - - i=11511 - i=77 - - - - NamingRule - Specified the significances of the BrowseName when a type is instantiated. - - i=68 - i=11510 - - - 1 - - - - Root - The root of the server address space. - - i=61 - - - - Objects - The browse entry point when looking for objects in the server address space. - - i=84 - i=61 - - - - Types - The browse entry point when looking for types in the server address space. - - i=84 - i=61 - - - - Views - The browse entry point when looking for views in the server address space. - - i=84 - i=61 - - - - ObjectTypes - The browse entry point when looking for object types in the server address space. - - i=86 - i=58 - i=61 - - - - VariableTypes - The browse entry point when looking for variable types in the server address space. - - i=86 - i=62 - i=61 - - - - DataTypes - The browse entry point when looking for data types in the server address space. - - i=86 - i=24 - i=61 - - - - ReferenceTypes - The browse entry point when looking for reference types in the server address space. - - i=86 - i=31 - i=61 - - - - XML Schema - A type system which uses XML schema to describe the encoding of data types. - - i=90 - i=75 - - - - OPC Binary - A type system which uses OPC binary schema to describe the encoding of data types. - - i=90 - i=75 - - - - ServerType - Specifies the current status and capabilities of the server. - - i=2005 - i=2006 - i=2007 - i=2008 - i=2742 - i=12882 - i=2009 - i=2010 - i=2011 - i=2012 - i=11527 - i=11489 - i=12871 - i=12746 - i=12883 - i=58 - - - - ServerArray - The list of server URIs used by the server. - - i=68 - i=78 - i=2004 - - - - NamespaceArray - The list of namespace URIs used by the server. - - i=68 - i=78 - i=2004 - - - - ServerStatus - The current status of the server. - - 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 - A value indicating the level of service the server can provide. 255 indicates the best. - - i=68 - i=78 - i=2004 - - - - Auditing - A flag indicating whether the server is currently generating audit events. - - i=68 - i=78 - i=2004 - - - - EstimatedReturnTime - Indicates the time at which the Server is expected to be available in the state RUNNING. - - i=68 - i=80 - i=2004 - - - - ServerCapabilities - Describes capabilities supported by the server. - - 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 - A list of profiles supported by the server. - - i=68 - i=78 - i=2009 - - - - LocaleIdArray - A list of locales supported by the server. - - i=68 - i=78 - i=2009 - - - - MinSupportedSampleRate - The minimum sampling interval supported by the server. - - i=68 - i=78 - i=2009 - - - - MaxBrowseContinuationPoints - The maximum number of continuation points for Browse operations per session. - - i=68 - i=78 - i=2009 - - - - MaxQueryContinuationPoints - The maximum number of continuation points for Query operations per session. - - i=68 - i=78 - i=2009 - - - - MaxHistoryContinuationPoints - The maximum number of continuation points for ReadHistory operations per session. - - i=68 - i=78 - i=2009 - - - - SoftwareCertificates - The software certificates owned by the server. - - i=68 - i=78 - i=2009 - - - - ModellingRules - A folder for the modelling rules supported by the server. - - i=61 - i=78 - i=2009 - - - - AggregateFunctions - A folder for the real time aggregates supported by the server. - - i=61 - i=78 - i=2009 - - - - ServerDiagnostics - Reports diagnostics about the server. - - i=3095 - i=3110 - i=3111 - i=3114 - i=2020 - i=78 - i=2004 - - - - ServerDiagnosticsSummary - A summary of server level diagnostics. - - 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 - A list of diagnostics for each active subscription. - - i=2171 - i=78 - i=2010 - - - - SessionsDiagnosticsSummary - A summary of session level diagnostics. - - i=3112 - i=3113 - i=2026 - i=78 - i=2010 - - - - SessionDiagnosticsArray - A list of diagnostics for each active session. - - i=2196 - i=78 - i=3111 - - - - SessionSecurityDiagnosticsArray - A list of security related diagnostics for each active session. - - i=2243 - i=78 - i=3111 - - - - EnabledFlag - If TRUE the diagnostics collection is enabled. - - i=68 - i=78 - i=2010 - - - - VendorServerInfo - Server information provided by the vendor. - - i=2033 - i=78 - i=2004 - - - - ServerRedundancy - Describes the redundancy capabilities of the server. - - i=3115 - i=2034 - i=78 - i=2004 - - - - RedundancySupport - Indicates what style of redundancy is supported by the server. - - i=68 - i=78 - i=2012 - - - - Namespaces - Describes the namespaces supported by the server. - - 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 - - - - - - - - i=297 - - - - ClientHandles - - i=7 - - 1 - - - - - - - - - - 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 - Describes the capabilities supported by the server. - - 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=58 - - - - ServerProfileArray - A list of profiles supported by the server. - - i=68 - i=78 - i=2013 - - - - LocaleIdArray - A list of locales supported by the server. - - i=68 - i=78 - i=2013 - - - - MinSupportedSampleRate - The minimum sampling interval supported by the server. - - i=68 - i=78 - i=2013 - - - - MaxBrowseContinuationPoints - The maximum number of continuation points for Browse operations per session. - - i=68 - i=78 - i=2013 - - - - MaxQueryContinuationPoints - The maximum number of continuation points for Query operations per session. - - i=68 - i=78 - i=2013 - - - - MaxHistoryContinuationPoints - The maximum number of continuation points for ReadHistory operations per session. - - i=68 - i=78 - i=2013 - - - - SoftwareCertificates - The software certificates owned by the server. - - i=68 - i=78 - i=2013 - - - - MaxArrayLength - The maximum length for an array value supported by the server. - - i=68 - i=80 - i=2013 - - - - MaxStringLength - The maximum length for a string value supported by the server. - - i=68 - i=80 - i=2013 - - - - MaxByteStringLength - The maximum length for a byte string value supported by the server. - - i=68 - i=80 - i=2013 - - - - OperationLimits - Defines the limits supported by the server for different operations. - - i=11564 - i=80 - i=2013 - - - - ModellingRules - A folder for the modelling rules supported by the server. - - i=61 - i=78 - i=2013 - - - - AggregateFunctions - A folder for the real time aggregates supported by the server. - - i=61 - i=78 - i=2013 - - - - <VendorCapability> - - i=2137 - i=11508 - i=2013 - - - - ServerDiagnosticsType - The diagnostics information for a server. - - i=2021 - i=2022 - i=2023 - i=2744 - i=2025 - i=58 - - - - ServerDiagnosticsSummary - A summary of server level diagnostics. - - 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 - A list of diagnostics for each sampling interval supported by the server. - - i=2164 - i=80 - i=2020 - - - - SubscriptionDiagnosticsArray - A list of diagnostics for each active subscription. - - i=2171 - i=78 - i=2020 - - - - SessionsDiagnosticsSummary - A summary of session level diagnostics. - - i=3129 - i=3130 - i=2026 - i=78 - i=2020 - - - - SessionDiagnosticsArray - A list of diagnostics for each active session. - - i=2196 - i=78 - i=2744 - - - - SessionSecurityDiagnosticsArray - A list of security related diagnostics for each active session. - - i=2243 - i=78 - i=2744 - - - - EnabledFlag - If TRUE the diagnostics collection is enabled. - - i=68 - i=78 - i=2020 - - - - SessionsDiagnosticsSummaryType - Provides a summary of session level diagnostics. - - i=2027 - i=2028 - i=12097 - i=58 - - - - SessionDiagnosticsArray - A list of diagnostics for each active session. - - i=2196 - i=78 - i=2026 - - - - SessionSecurityDiagnosticsArray - A list of security related diagnostics for each active session. - - i=2243 - i=78 - i=2026 - - - - <SessionPlaceholder> - - i=12098 - i=12142 - i=12152 - i=2029 - i=11508 - i=2026 - - - - SessionDiagnostics - Diagnostics information for an active session. - - 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 - Security related diagnostics information for an active session. - - 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 - A list of diagnostics for each subscription owned by the session. - - i=2171 - i=78 - i=12097 - - - - SessionDiagnosticsObjectType - A container for session level diagnostics information. - - i=2030 - i=2031 - i=2032 - i=58 - - - - SessionDiagnostics - Diagnostics information for an active session. - - 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 - Security related diagnostics information for an active session. - - 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 - A list of diagnostics for each subscription owned by the session. - - i=2171 - i=78 - i=2029 - - - - VendorServerInfoType - A base type for vendor specific server information. - - i=58 - - - - ServerRedundancyType - A base type for an object that describe how a server supports redundancy. - - i=2035 - i=58 - - - - RedundancySupport - Indicates what style of redundancy is supported by the server. - - i=68 - i=78 - i=2034 - - - - TransparentRedundancyType - Identifies the capabilties of server that supports transparent redundancy. - - i=2037 - i=2038 - i=2034 - - - - CurrentServerId - The ID of the server that is currently in use. - - i=68 - i=78 - i=2036 - - - - RedundantServerArray - A list of servers in the same redundant set. - - i=68 - i=78 - i=2036 - - - - NonTransparentRedundancyType - Identifies the capabilties of server that supports non-transparent redundancy. - - i=2040 - i=2034 - - - - ServerUriArray - A list of servers in the same redundant set. - - i=68 - i=78 - i=2039 - - - - NonTransparentNetworkRedundancyType - - i=11948 - i=2039 - - - - ServerNetworkGroups - - i=68 - i=78 - i=11945 - - - - OperationLimitsType - Identifies the operation limits imposed by the server. - - 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=58 - - - - MaxNodesPerRead - The maximum number of operations in a single Read request. - - i=68 - i=80 - i=11564 - - - - MaxNodesPerHistoryReadData - The maximum number of operations in a single data HistoryRead request. - - i=68 - i=80 - i=11564 - - - - MaxNodesPerHistoryReadEvents - The maximum number of operations in a single event HistoryRead request. - - i=68 - i=80 - i=11564 - - - - MaxNodesPerWrite - The maximum number of operations in a single Write request. - - i=68 - i=80 - i=11564 - - - - MaxNodesPerHistoryUpdateData - The maximum number of operations in a single data HistoryUpdate request. - - i=68 - i=80 - i=11564 - - - - MaxNodesPerHistoryUpdateEvents - The maximum number of operations in a single event HistoryUpdate request. - - i=68 - i=80 - i=11564 - - - - MaxNodesPerMethodCall - The maximum number of operations in a single Call request. - - i=68 - i=80 - i=11564 - - - - MaxNodesPerBrowse - The maximum number of operations in a single Browse request. - - i=68 - i=80 - i=11564 - - - - MaxNodesPerRegisterNodes - The maximum number of operations in a single RegisterNodes request. - - i=68 - i=80 - i=11564 - - - - MaxNodesPerTranslateBrowsePathsToNodeIds - The maximum number of operations in a single TranslateBrowsePathsToNodeIds request. - - i=68 - i=80 - i=11564 - - - - MaxNodesPerNodeManagement - The maximum number of operations in a single AddNodes, AddReferences, DeleteNodes or DeleteReferences request. - - i=68 - i=80 - i=11564 - - - - MaxMonitoredItemsPerCall - The maximum number of operations in a single MonitoredItem related request. - - i=68 - i=80 - i=11564 - - - - FileType - An object that represents a file that can be accessed via the server. - - i=11576 - i=12686 - i=12687 - i=11579 - i=13341 - i=11580 - i=11583 - i=11585 - i=11588 - i=11590 - i=11593 - i=58 - - - - Size - The size of the file in bytes. - - i=68 - i=78 - i=11575 - - - - Writable - Whether the file is writable. - - i=68 - i=78 - i=11575 - - - - UserWritable - Whether the file is writable by the current user. - - i=68 - i=78 - i=11575 - - - - OpenCount - The current number of open file handles. - - i=68 - i=78 - i=11575 - - - - MimeType - The content of the file. - - 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 - - - - - - - - - - FileDirectoryType - - i=13354 - i=13366 - i=13387 - i=13390 - i=13393 - i=13395 - i=61 - - - - <FileDirectoryName> - - i=13355 - i=13358 - i=13361 - 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=13362 - i=78 - i=13354 - - - - InputArguments - - i=68 - i=78 - i=13361 - - - - - - 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 - The size of the file in bytes. - - i=68 - i=78 - i=13366 - - - - Writable - Whether the file is writable. - - i=68 - i=78 - i=13366 - - - - UserWritable - Whether the file is writable by the current user. - - i=68 - i=78 - i=13366 - - - - OpenCount - The current number of open file handles. - - 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 - - - - - - - - - - AddressSpaceFileType - A file used to store a namespace exported from the server. - - i=11615 - i=11575 - - - - ExportNamespace - Updates the file by exporting the server namespace. - - i=80 - i=11595 - - - - NamespaceMetadataType - Provides the metadata for a namespace used by the server. - - i=11617 - i=11618 - i=11619 - i=11620 - i=11621 - i=11622 - i=11623 - i=11624 - i=58 - - - - NamespaceUri - The URI of the namespace. - - i=68 - i=78 - i=11616 - - - - NamespaceVersion - The human readable string representing version of the namespace. - - i=68 - i=78 - i=11616 - - - - NamespacePublicationDate - The publication date for the namespace. - - i=68 - i=78 - i=11616 - - - - IsNamespaceSubset - If TRUE then the server only supports a subset of the namespace. - - i=68 - i=78 - i=11616 - - - - StaticNodeIdIdentifierTypes - A list of IdTypes for nodes which are the same in every server that exposes them. - - i=68 - i=78 - i=11616 - - - - StaticNumericNodeIdRange - A list of ranges for numeric node ids which are the same in every server that exposes them. - - i=68 - i=78 - i=11616 - - - - StaticStringNodeIdPattern - A regular expression which matches string node ids are the same in every server that exposes them. - - i=68 - i=78 - i=11616 - - - - NamespaceFile - A file containing the nodes of the namespace. - - 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 - The size of the file in bytes. - - i=68 - i=78 - i=11624 - - - - Writable - Whether the file is writable. - - i=68 - i=78 - i=11624 - - - - UserWritable - Whether the file is writable by the current user. - - i=68 - i=78 - i=11624 - - - - OpenCount - The current number of open file handles. - - 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 - - - - - - - - - - NamespacesType - A container for the namespace metadata provided by the server. - - i=11646 - i=11675 - i=58 - - - - <NamespaceIdentifier> - - i=11647 - i=11648 - i=11649 - i=11650 - i=11651 - i=11652 - i=11653 - i=11616 - i=11508 - i=11645 - - - - NamespaceUri - The URI of the namespace. - - i=68 - i=78 - i=11646 - - - - NamespaceVersion - The human readable string representing version of the namespace. - - i=68 - i=78 - i=11646 - - - - NamespacePublicationDate - The publication date for the namespace. - - i=68 - i=78 - i=11646 - - - - IsNamespaceSubset - If TRUE then the server only supports a subset of the namespace. - - i=68 - i=78 - i=11646 - - - - StaticNodeIdIdentifierTypes - A list of IdTypes for nodes which are the same in every server that exposes them. - - i=68 - i=78 - i=11646 - - - - StaticNumericNodeIdRange - A list of ranges for numeric node ids which are the same in every server that exposes them. - - i=68 - i=78 - i=11646 - - - - StaticStringNodeIdPattern - A regular expression which matches string node ids are the same in every server that exposes them. - - i=68 - i=78 - i=11646 - - - - AddressSpaceFile - A file containing the nodes of the namespace. - - i=11676 - i=12694 - i=12695 - i=11679 - i=11680 - i=11683 - i=11685 - i=11688 - i=11690 - i=11693 - i=11595 - i=80 - i=11645 - - - - Size - The size of the file in bytes. - - i=68 - i=78 - i=11675 - - - - Writable - Whether the file is writable. - - i=68 - i=78 - i=11675 - - - - UserWritable - Whether the file is writable by the current user. - - i=68 - i=78 - i=11675 - - - - OpenCount - The current number of open file handles. - - i=68 - i=78 - i=11675 - - - - Open - - i=11681 - i=11682 - i=78 - i=11675 - - - - InputArguments - - i=68 - i=78 - i=11680 - - - - - - i=297 - - - - Mode - - i=3 - - -1 - - - - - - - - - - OutputArguments - - i=68 - i=78 - i=11680 - - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - - Close - - i=11684 - i=78 - i=11675 - - - - InputArguments - - i=68 - i=78 - i=11683 - - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - - Read - - i=11686 - i=11687 - i=78 - i=11675 - - - - InputArguments - - i=68 - i=78 - i=11685 - - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Length - - i=6 - - -1 - - - - - - - - - - OutputArguments - - i=68 - i=78 - i=11685 - - - - - - i=297 - - - - Data - - i=15 - - -1 - - - - - - - - - - Write - - i=11689 - i=78 - i=11675 - - - - InputArguments - - i=68 - i=78 - i=11688 - - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Data - - i=15 - - -1 - - - - - - - - - - GetPosition - - i=11691 - i=11692 - i=78 - i=11675 - - - - InputArguments - - i=68 - i=78 - i=11690 - - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - - OutputArguments - - i=68 - i=78 - i=11690 - - - - - - i=297 - - - - Position - - i=9 - - -1 - - - - - - - - - - SetPosition - - i=11694 - i=78 - i=11675 - - - - InputArguments - - i=68 - i=78 - i=11693 - - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Position - - i=9 - - -1 - - - - - - - - - - BaseEventType - The base type for all events. - - i=2042 - i=2043 - i=2044 - i=2045 - i=2046 - i=2047 - i=3190 - i=2050 - i=2051 - i=58 - - - - EventId - A globally unique identifier for the event. - - i=68 - i=78 - i=2041 - - - - EventType - The identifier for the event type. - - i=68 - i=78 - i=2041 - - - - SourceNode - The source of the event. - - i=68 - i=78 - i=2041 - - - - SourceName - A description of the source of the event. - - i=68 - i=78 - i=2041 - - - - Time - When the event occurred. - - i=68 - i=78 - i=2041 - - - - ReceiveTime - When the server received the event from the underlying system. - - i=68 - i=78 - i=2041 - - - - LocalTime - Information about the local time where the event originated. - - i=68 - i=78 - i=2041 - - - - Message - A localized description of the event. - - i=68 - i=78 - i=2041 - - - - Severity - Indicates how urgent an event is. - - i=68 - i=78 - i=2041 - - - - AuditEventType - A base type for events used to track client initiated changes to the server state. - - i=2053 - i=2054 - i=2055 - i=2056 - i=2057 - i=2041 - - - - ActionTimeStamp - When the action triggering the event occurred. - - i=68 - i=78 - i=2052 - - - - Status - If TRUE the action was performed. If FALSE the action failed and the server state did not change. - - i=68 - i=78 - i=2052 - - - - ServerId - The unique identifier for the server generating the event. - - i=68 - i=78 - i=2052 - - - - ClientAuditEntryId - The log entry id provided in the request that initiated the action. - - i=68 - i=78 - i=2052 - - - - ClientUserId - The user identity associated with the session that initiated the action. - - i=68 - i=78 - i=2052 - - - - AuditSecurityEventType - A base type for events used to track security related changes. - - i=2052 - - - - AuditChannelEventType - A base type for events used to track related changes to a secure channel. - - i=2745 - i=2058 - - - - SecureChannelId - The identifier for the secure channel that was changed. - - i=68 - i=78 - i=2059 - - - - AuditOpenSecureChannelEventType - An event that is raised when a secure channel is opened. - - i=2061 - i=2746 - i=2062 - i=2063 - i=2065 - i=2066 - i=2059 - - - - ClientCertificate - The certificate provided by the client. - - i=68 - i=78 - i=2060 - - - - ClientCertificateThumbprint - The thumbprint for certificate provided by the client. - - i=68 - i=78 - i=2060 - - - - RequestType - The type of request (NEW or RENEW). - - i=68 - i=78 - i=2060 - - - - SecurityPolicyUri - The security policy used by the channel. - - i=68 - i=78 - i=2060 - - - - SecurityMode - The security mode used by the channel. - - i=68 - i=78 - i=2060 - - - - RequestedLifetime - The lifetime of the channel requested by the client. - - i=68 - i=78 - i=2060 - - - - AuditSessionEventType - A base type for events used to track related changes to a session. - - i=2070 - i=2058 - - - - SessionId - The unique identifier for the session,. - - i=68 - i=78 - i=2069 - - - - AuditCreateSessionEventType - An event that is raised when a session is created. - - i=2072 - i=2073 - i=2747 - i=2074 - i=2069 - - - - SecureChannelId - The secure channel associated with the session. - - i=68 - i=78 - i=2071 - - - - ClientCertificate - The certificate provided by the client. - - i=68 - i=78 - i=2071 - - - - ClientCertificateThumbprint - The thumbprint of the certificate provided by the client. - - i=68 - i=78 - i=2071 - - - - RevisedSessionTimeout - The timeout for the session. - - i=68 - i=78 - i=2071 - - - - AuditUrlMismatchEventType - - i=2749 - i=2071 - - - - EndpointUrl - - i=68 - i=78 - i=2748 - - - - AuditActivateSessionEventType - - 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 - - i=2079 - i=2069 - - - - RequestHandle - - i=68 - i=78 - i=2078 - - - - AuditCertificateEventType - - i=2081 - i=2058 - - - - Certificate - - i=68 - i=78 - i=2080 - - - - AuditCertificateDataMismatchEventType - - i=2083 - i=2084 - i=2080 - - - - InvalidHostname - - i=68 - i=78 - i=2082 - - - - InvalidUri - - i=68 - i=78 - i=2082 - - - - AuditCertificateExpiredEventType - - i=2080 - - - - AuditCertificateInvalidEventType - - i=2080 - - - - AuditCertificateUntrustedEventType - - i=2080 - - - - AuditCertificateRevokedEventType - - i=2080 - - - - AuditCertificateMismatchEventType - - i=2080 - - - - AuditNodeManagementEventType - - i=2052 - - - - AuditAddNodesEventType - - i=2092 - i=2090 - - - - NodesToAdd - - i=68 - i=78 - i=2091 - - - - AuditDeleteNodesEventType - - i=2094 - i=2090 - - - - NodesToDelete - - i=68 - i=78 - i=2093 - - - - AuditAddReferencesEventType - - i=2096 - i=2090 - - - - ReferencesToAdd - - i=68 - i=78 - i=2095 - - - - AuditDeleteReferencesEventType - - i=2098 - i=2090 - - - - ReferencesToDelete - - i=68 - i=78 - i=2097 - - - - AuditUpdateEventType - - i=2052 - - - - AuditWriteUpdateEventType - - 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 - - i=2751 - i=2099 - - - - ParameterDataTypeId - - i=68 - i=78 - i=2104 - - - - AuditUpdateMethodEventType - - i=2128 - i=2129 - i=2052 - - - - MethodId - - i=68 - i=78 - i=2127 - - - - InputArguments - - i=68 - i=78 - i=2127 - - - - SystemEventType - - i=2041 - - - - DeviceFailureEventType - - i=2130 - - - - SystemStatusChangeEventType - - i=11696 - i=2130 - - - - SystemState - - i=68 - i=78 - i=11446 - - - - BaseModelChangeEventType - - i=2041 - - - - GeneralModelChangeEventType - - i=2134 - i=2132 - - - - Changes - - i=68 - i=78 - i=2133 - - - - SemanticChangeEventType - - i=2739 - i=2132 - - - - Changes - - i=68 - i=78 - i=2738 - - - - EventQueueOverflowEventType - - i=2041 - - - - ProgressEventType - - i=12502 - i=12503 - i=2041 - - - - Context - - i=68 - i=78 - i=11436 - - - - Progress - - i=68 - i=78 - i=11436 - - - - AggregateFunctionType - - i=58 - - - - ServerVendorCapabilityType - - i=63 - - - - ServerStatusType - - 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 - - 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 - - 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 - - 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 - - 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 - - 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 - - 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 - - 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 - - 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 - - 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 - - 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 - - i=11488 - i=11701 - i=63 - - - - OptionSetValues - - i=68 - i=78 - i=11487 - - - - BitMask - - i=68 - i=80 - i=11487 - - - - EventTypes - - i=86 - i=2041 - i=61 - - - - Server - - i=2254 - i=2255 - i=2256 - i=2267 - i=2994 - i=12885 - i=2268 - i=2274 - i=2295 - i=2296 - i=11715 - i=11492 - i=12873 - i=12749 - i=12886 - i=85 - i=2004 - - - - ServerArray - The list of server URIs used by the server. - - i=68 - i=2253 - - - - NamespaceArray - The list of namespace URIs used by the server. - - i=68 - i=2253 - - - - ServerStatus - The current status of the server. - - 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 - A value indicating the level of service the server can provide. 255 indicates the best. - - i=68 - i=2253 - - - - Auditing - A flag indicating whether the server is currently generating audit events. - - i=68 - i=2253 - - - - EstimatedReturnTime - Indicates the time at which the Server is expected to be available in the state RUNNING. - - i=68 - i=2253 - - - - ServerCapabilities - Describes capabilities supported by the server. - - 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=2013 - i=2253 - - - - ServerProfileArray - A list of profiles supported by the server. - - i=68 - i=2268 - - - - LocaleIdArray - A list of locales supported by the server. - - i=68 - i=2268 - - - - MinSupportedSampleRate - The minimum sampling interval supported by the server. - - i=68 - i=2268 - - - - MaxBrowseContinuationPoints - The maximum number of continuation points for Browse operations per session. - - i=68 - i=2268 - - - - MaxQueryContinuationPoints - The maximum number of continuation points for Query operations per session. - - i=68 - i=2268 - - - - MaxHistoryContinuationPoints - The maximum number of continuation points for ReadHistory operations per session. - - i=68 - i=2268 - - - - SoftwareCertificates - The software certificates owned by the server. - - i=68 - i=2268 - - - - MaxArrayLength - The maximum length for an array value supported by the server. - - i=68 - i=2268 - - - - MaxStringLength - The maximum length for a string value supported by the server. - - i=68 - i=2268 - - - - MaxByteStringLength - The maximum length for a byte string value supported by the server. - - i=68 - i=2268 - - - - OperationLimits - Defines the limits supported by the server for different operations. - - 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 - The maximum number of operations in a single Read request. - - i=68 - i=11704 - - - - MaxNodesPerHistoryReadData - The maximum number of operations in a single data HistoryRead request. - - i=68 - i=11704 - - - - MaxNodesPerHistoryReadEvents - The maximum number of operations in a single event HistoryRead request. - - i=68 - i=11704 - - - - MaxNodesPerWrite - The maximum number of operations in a single Write request. - - i=68 - i=11704 - - - - MaxNodesPerHistoryUpdateData - The maximum number of operations in a single data HistoryUpdate request. - - i=68 - i=11704 - - - - MaxNodesPerHistoryUpdateEvents - The maximum number of operations in a single event HistoryUpdate request. - - i=68 - i=11704 - - - - MaxNodesPerMethodCall - The maximum number of operations in a single Call request. - - i=68 - i=11704 - - - - MaxNodesPerBrowse - The maximum number of operations in a single Browse request. - - i=68 - i=11704 - - - - MaxNodesPerRegisterNodes - The maximum number of operations in a single RegisterNodes request. - - i=68 - i=11704 - - - - MaxNodesPerTranslateBrowsePathsToNodeIds - The maximum number of operations in a single TranslateBrowsePathsToNodeIds request. - - i=68 - i=11704 - - - - MaxNodesPerNodeManagement - The maximum number of operations in a single AddNodes, AddReferences, DeleteNodes or DeleteReferences request. - - i=68 - i=11704 - - - - MaxMonitoredItemsPerCall - The maximum number of operations in a single MonitoredItem related request. - - i=68 - i=11704 - - - - ModellingRules - A folder for the modelling rules supported by the server. - - i=61 - i=2268 - - - - AggregateFunctions - A folder for the real time aggregates supported by the server. - - i=61 - i=2268 - - - - ServerDiagnostics - Reports diagnostics about the server. - - i=2275 - i=2289 - i=2290 - i=3706 - i=2294 - i=2020 - i=2253 - - - - ServerDiagnosticsSummary - A summary of server level diagnostics. - - 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 - A list of diagnostics for each sampling interval supported by the server. - - i=2164 - i=2274 - - - - SubscriptionDiagnosticsArray - A list of diagnostics for each active subscription. - - i=2171 - i=2274 - - - - SessionsDiagnosticsSummary - A summary of session level diagnostics. - - i=3707 - i=3708 - i=2026 - i=2274 - - - - SessionDiagnosticsArray - A list of diagnostics for each active session. - - i=2196 - i=3706 - - - - SessionSecurityDiagnosticsArray - A list of security related diagnostics for each active session. - - i=2243 - i=3706 - - - - EnabledFlag - If TRUE the diagnostics collection is enabled. - - i=68 - i=2274 - - - - VendorServerInfo - Server information provided by the vendor. - - i=2033 - i=2253 - - - - ServerRedundancy - Describes the redundancy capabilities of the server. - - i=3709 - i=11312 - i=11313 - i=11314 - i=14415 - i=2034 - i=2253 - - - - RedundancySupport - Indicates what style of redundancy is supported by the server. - - i=68 - i=2296 - - - - CurrentServerId - - i=68 - i=2296 - - - - RedundantServerArray - - i=68 - i=2296 - - - - ServerUriArray - - i=68 - i=2296 - - - - ServerNetworkGroups - - i=68 - i=2296 - - - - Namespaces - Describes the namespaces supported by the server. - - i=11645 - i=2253 - - - - GetMonitoredItems - - 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 - - - - - - - - i=297 - - - - ClientHandles - - i=7 - - 1 - - - - - - - - - - ResendData - - i=12874 - i=2253 - - - - InputArguments - - i=68 - i=12873 - - - - - - i=297 - - - - SubscriptionId - - i=7 - - -1 - - - - - - - - - - SetSubscriptionDurable - - 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 - - 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 - - - - - - - - - - BitFieldMaskDataType - A mask of 32 bits that can be updated individually by using the top 32 bits as a mask. - - i=9 - - - - StateMachineType - - 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 - - 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 - - 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 - - i=2772 - i=2773 - 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 - - - - FiniteStateVariableType - - i=2761 - i=2755 - - - - Id - - i=68 - i=78 - i=2760 - - - - FiniteTransitionVariableType - - i=2768 - i=2762 - - - - Id - - i=68 - i=78 - i=2767 - - - - StateType - - i=2308 - i=58 - - - - StateNumber - - i=68 - i=78 - i=2307 - - - - InitialStateType - - i=2307 - - - - TransitionType - - i=2312 - i=58 - - - - TransitionNumber - - i=68 - i=78 - i=2310 - - - - TransitionEventType - - 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 - - i=2777 - i=2778 - i=2127 - - - - OldStateId - - i=68 - i=78 - i=2315 - - - - NewStateId - - i=68 - i=78 - i=2315 - - - - BuildInfo - - i=22 - - - - - - - - - - - - RedundancySupport - - i=7611 - i=29 - - - - - - - - - - - - EnumStrings - - i=68 - i=78 - i=851 - - - - - - - None - - - - - Cold - - - - - Warm - - - - - Hot - - - - - Transparent - - - - - HotAndMirrored - - - - - - ServerState - - i=7612 - i=29 - - - - - - - - - - - - - - EnumStrings - - i=68 - i=78 - i=852 - - - - - - - Running - - - - - Failed - - - - - NoConfiguration - - - - - Suspended - - - - - Shutdown - - - - - Test - - - - - CommunicationFault - - - - - Unknown - - - - - - RedundantServerDataType - - i=22 - - - - - - - - - EndpointUrlListDataType - - i=22 - - - - - - - NetworkGroupDataType - - i=22 - - - - - - - - SamplingIntervalDiagnosticsDataType - - i=22 - - - - - - - - - - ServerDiagnosticsSummaryDataType - - i=22 - - - - - - - - - - - - - - - - - - ServerStatusDataType - - i=22 - - - - - - - - - - - - SessionDiagnosticsDataType - - i=22 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SessionSecurityDiagnosticsDataType - - i=22 - - - - - - - - - - - - - - - ServiceCounterDataType - - i=22 - - - - - - - - StatusResult - - i=22 - - - - - - - - SubscriptionDiagnosticsDataType - - i=22 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ModelChangeStructureDataType - - i=22 - - - - - - - - - SemanticChangeStructureDataType - - i=22 - - - - - - - - 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 - - - - Opc.Ua - - i=8254 - i=12677 - i=8285 - i=8291 - i=12759 - i=12762 - 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=12506 - i=8318 - i=8363 - i=8366 - i=8369 - i=8372 - i=12712 - i=12715 - i=8321 - i=8324 - i=8330 - 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=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 -ZT0ieHM6YmFzZTY0QmluYXJ5IiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkJpdEZpZWxkTWFz -a0RhdGFUeXBlIiB0eXBlPSJ4czp1bnNpZ25lZExvbmciIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUg -IG5hbWU9Ik9wZW5GaWxlTW9kZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmlu -ZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlYWRfMSIgLz4NCiAgICAgIDx4czpl -bnVtZXJhdGlvbiB2YWx1ZT0iV3JpdGVfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 -ZT0iRXJhc2VFeGlzdGluZ180IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBcHBl -bmRfOCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9Ik9wZW5GaWxlTW9kZSIgdHlwZT0idG5zOk9wZW5GaWxlTW9kZSIgLz4N -Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mT3BlbkZpbGVNb2RlIj4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPcGVuRmlsZU1vZGUiIHR5cGU9InRu -czpPcGVuRmlsZU1vZGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iTGlzdE9mT3BlbkZpbGVNb2RlIiB0eXBlPSJ0bnM6TGlzdE9mT3BlbkZpbGVNb2RlIiBuaWxs -YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJUcnVz -dExpc3RNYXNrcyI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAg -ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv -biB2YWx1ZT0iVHJ1c3RlZENlcnRpZmljYXRlc18xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u -IHZhbHVlPSJUcnVzdGVkQ3Jsc18yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJ -c3N1ZXJDZXJ0aWZpY2F0ZXNfNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNz -dWVyQ3Jsc184IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBbGxfMTUiIC8+DQog -ICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJUcnVzdExpc3RNYXNrcyIgdHlwZT0idG5zOlRydXN0TGlzdE1hc2tzIiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJUcnVzdExpc3REYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3BlY2lmaWVkTGlzdHMiIHR5cGU9InhzOnVuc2ln -bmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcnVzdGVk -Q2VydGlmaWNhdGVzIiB0eXBlPSJ1YTpMaXN0T2ZCeXRlU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJ1c3RlZENybHMiIHR5 -cGU9InVhOkxpc3RPZkJ5dGVTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc3N1ZXJDZXJ0aWZpY2F0ZXMiIHR5cGU9InVhOkxp -c3RPZkJ5dGVTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJJc3N1ZXJDcmxzIiB0eXBlPSJ1YTpMaXN0T2ZCeXRlU3RyaW5nIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRydXN0TGlzdERhdGFUeXBlIiB0 -eXBlPSJ0bnM6VHJ1c3RMaXN0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 -Ikxpc3RPZlRydXN0TGlzdERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJUcnVzdExpc3REYXRhVHlwZSIgdHlwZT0idG5zOlRydXN0TGlzdERhdGFU -eXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJMaXN0T2ZUcnVzdExpc3REYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlRydXN0TGlz -dERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVU -eXBlICBuYW1lPSJJZFR5cGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3Vt -ZW50YXRpb24+VGhlIHR5cGUgb2YgaWRlbnRpZmllciB1c2VkIGluIGEgbm9kZSBpZC48L3hzOmRv -Y3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpyZXN0cmljdGlvbiBi -YXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOdW1lcmljXzAi -IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN0cmluZ18xIiAvPg0KICAgICAgPHhz -OmVudW1lcmF0aW9uIHZhbHVlPSJHdWlkXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs -dWU9Ik9wYXF1ZV8zIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSWRUeXBlIiB0eXBlPSJ0bnM6SWRUeXBlIiAvPg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZJZFR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IklkVHlwZSIgdHlwZT0idG5zOklkVHlwZSIgbWluT2Nj -dXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZJZFR5cGUiIHR5cGU9 -InRuczpMaXN0T2ZJZFR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhz -OnNpbXBsZVR5cGUgIG5hbWU9Ik5vZGVDbGFzcyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg -ICA8eHM6ZG9jdW1lbnRhdGlvbj5BIG1hc2sgc3BlY2lmeWluZyB0aGUgY2xhc3Mgb2YgdGhlIG5v -ZGUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6cmVz -dHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i -VW5zcGVjaWZpZWRfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iT2JqZWN0XzEi -IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZhcmlhYmxlXzIiIC8+DQogICAgICA8 -eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik1ldGhvZF80IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u -IHZhbHVlPSJPYmplY3RUeXBlXzgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZh -cmlhYmxlVHlwZV8xNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVmZXJlbmNl -VHlwZV8zMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGF0YVR5cGVfNjQiIC8+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZpZXdfMTI4IiAvPg0KICAgIDwveHM6cmVz -dHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUNs -YXNzIiB0eXBlPSJ0bnM6Tm9kZUNsYXNzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJO -b2RlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlNwZWNp -ZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gYWxsIG5vZGVzLjwveHM6ZG9jdW1l -bnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlQ2xhc3MiIHR5 -cGU9InRuczpOb2RlQ2xhc3MiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IkJyb3dzZU5hbWUiIHR5cGU9InVhOlF1YWxpZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNwbGF5TmFtZSIgdHlw -ZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IkRlc2NyaXB0aW9uIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0 -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iV3JpdGVNYXNrIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlcldyaXRlTWFzayIgdHlwZT0ieHM6dW5zaWduZWRJbnQi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZXMiIHR5 -cGU9InRuczpMaXN0T2ZSZWZlcmVuY2VOb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9Ik5vZGUiIHR5cGU9InRuczpOb2RlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJMaXN0T2ZOb2RlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJOb2RlIiB0eXBlPSJ0bnM6Tm9kZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91 -bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTm9kZSIgdHlwZT0idG5zOkxpc3RP -Zk5vZGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9Ikluc3RhbmNlTm9kZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxz -ZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlIj4NCiAgICAgICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQog -ICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iSW5zdGFuY2VOb2RlIiB0eXBlPSJ0bnM6SW5zdGFuY2VOb2RlIiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJUeXBlTm9kZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1p -eGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlIj4NCiAgICAg -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRl -bnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iVHlwZU5vZGUiIHR5cGU9InRuczpUeXBlTm9kZSIgLz4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iT2JqZWN0Tm9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQog -ICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVs -b25nIHRvIG9iamVjdCBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 -aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4 -dGVuc2lvbiBiYXNlPSJ0bnM6SW5zdGFuY2VOb2RlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50Tm90aWZpZXIiIHR5cGU9InhzOnVuc2ln -bmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAg -PC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT2JqZWN0Tm9kZSIgdHlwZT0idG5zOk9iamVjdE5v -ZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik9iamVjdFR5cGVOb2RlIj4NCiAgICA8 -eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0 -cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gb2JqZWN0IHR5cGUgbm9kZXMuPC94czpkb2N1bWVudGF0 -aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9 -ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOlR5cGVOb2RlIj4NCiAgICAg -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IklzQWJzdHJhY3Qi -IHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5j -ZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9iamVjdFR5cGVOb2RlIiB0eXBl -PSJ0bnM6T2JqZWN0VHlwZU5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlh -YmxlTm9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5T -cGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIHZhcmlhYmxlIG5vZGVzLjwv -eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhD -b250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpJbnN0 -YW5jZU5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iVmFsdWUiIHR5cGU9InVhOlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVl -UmFuayIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iQXJyYXlEaW1lbnNpb25zIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWNj -ZXNzTGV2ZWwiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJBY2Nlc3NMZXZlbCIgdHlwZT0ieHM6dW5zaWduZWRC -eXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWluaW11 -bVNhbXBsaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3Rvcml6aW5nIiB0eXBlPSJ4czpib29sZWFuIiBt -aW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVu -c2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJWYXJpYWJsZU5vZGUiIHR5cGU9InRuczpWYXJpYWJsZU5vZGUiIC8+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhYmxlVHlwZU5vZGUiPg0KICAgIDx4czph -bm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+U3BlY2lmaWVzIHRoZSBhdHRyaWJ1 -dGVzIHdoaWNoIGJlbG9uZyB0byB2YXJpYWJsZSB0eXBlIG5vZGVzLjwveHM6ZG9jdW1lbnRhdGlv -bj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJm -YWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpUeXBlTm9kZSI+DQogICAgICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0i -dWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkRhdGFUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czppbnQi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcnJheURpbWVu -c2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpi -b29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8 -L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWYXJpYWJsZVR5cGVOb2RlIiB0eXBlPSJ0bnM6VmFy -aWFibGVUeXBlTm9kZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVmZXJlbmNlVHlw -ZU5vZGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+U3Bl -Y2lmaWVzIHRoZSBhdHRyaWJ1dGVzIHdoaWNoIGJlbG9uZyB0byByZWZlcmVuY2UgdHlwZSBub2Rl -cy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21w -bGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6 -VHlwZU5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iSXNBYnN0cmFjdCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN5bW1ldHJpYyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkludmVyc2VOYW1lIiB0 -eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpj -b21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -UmVmZXJlbmNlVHlwZU5vZGUiIHR5cGU9InRuczpSZWZlcmVuY2VUeXBlTm9kZSIgLz4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iTWV0aG9kTm9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQog -ICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVs -b25nIHRvIG1ldGhvZCBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 -aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4 -dGVuc2lvbiBiYXNlPSJ0bnM6SW5zdGFuY2VOb2RlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV4ZWN1dGFibGUiIHR5cGU9InhzOmJvb2xlYW4i -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyRXhlY3V0 -YWJsZSIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNl -cXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTWV0aG9kTm9kZSIgdHlw -ZT0idG5zOk1ldGhvZE5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZpZXdOb2Rl -Ij4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRl -bnNpb24gYmFzZT0idG5zOkluc3RhbmNlTm9kZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250YWluc05vTG9vcHMiIHR5cGU9InhzOmJvb2xl -YW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudE5v -dGlmaWVyIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg -PC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENv -bnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlZpZXdOb2Rl -IiB0eXBlPSJ0bnM6Vmlld05vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFU -eXBlTm9kZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8 -eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpUeXBlTm9kZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpib29sZWFu -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4 -dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZU5vZGUiIHR5cGU9InRuczpEYXRhVHlwZU5vZGUi -IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZmVyZW5jZU5vZGUiPg0KICAgIDx4czph -bm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+U3BlY2lmaWVzIGEgcmVmZXJlbmNl -IHdoaWNoIGJlbG9uZ3MgdG8gYSBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu -bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVm -ZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ludmVyc2UiIHR5cGU9InhzOmJvb2xl -YW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdldElkIiB0 -eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJSZWZlcmVuY2VOb2RlIiB0eXBlPSJ0bnM6UmVmZXJlbmNlTm9kZSIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUmVmZXJlbmNlTm9kZSI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlTm9kZSIgdHlwZT0idG5zOlJlZmVy -ZW5jZU5vZGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9Ikxpc3RPZlJlZmVyZW5jZU5vZGUiIHR5cGU9InRuczpMaXN0T2ZSZWZlcmVu -Y2VOb2RlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJBcmd1bWVudCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l -bnRhdGlvbj5BbiBhcmd1bWVudCBmb3IgYSBtZXRob2QuPC94czpkb2N1bWVudGF0aW9uPg0KICAg -IDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -VmFsdWVSYW5rIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkFycmF5RGltZW5zaW9ucyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVzY3Jp -cHRpb24iIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iQXJndW1lbnQiIHR5cGU9InRuczpBcmd1bWVudCIgLz4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iTGlzdE9mQXJndW1lbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IkFyZ3VtZW50IiB0eXBlPSJ0bnM6QXJndW1lbnQiIG1pbk9jY3Vy -cz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 -c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RP -ZkFyZ3VtZW50IiB0eXBlPSJ0bnM6TGlzdE9mQXJndW1lbnQiIG5pbGxhYmxlPSJ0cnVlIj48L3hz -OmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVudW1WYWx1ZVR5cGUiPg0KICAg -IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBtYXBwaW5nIGJldHdl -ZW4gYSB2YWx1ZSBvZiBhbiBlbnVtZXJhdGVkIHR5cGUgYW5kIGEgbmFtZSBhbmQgZGVzY3JpcHRp -b24uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0ieHM6bG9uZyIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzcGxheU5hbWUiIHR5cGU9 -InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFbnVtVmFsdWVUeXBlIiB0eXBl -PSJ0bnM6RW51bVZhbHVlVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m -RW51bVZhbHVlVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iRW51bVZhbHVlVHlwZSIgdHlwZT0idG5zOkVudW1WYWx1ZVR5cGUiIG1pbk9jY3Vycz0iMCIg -bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu -Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkVudW1W -YWx1ZVR5cGUiIHR5cGU9InRuczpMaXN0T2ZFbnVtVmFsdWVUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+ -PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJPcHRpb25TZXQiPg0KICAg -IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhpcyBhYnN0cmFjdCBT -dHJ1Y3R1cmVkIERhdGFUeXBlIGlzIHRoZSBiYXNlIERhdGFUeXBlIGZvciBhbGwgRGF0YVR5cGVz -IHJlcHJlc2VudGluZyBhIGJpdCBtYXNrLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu -bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFs -dWUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbGlkQml0cyIgdHlwZT0ieHM6YmFzZTY0Qmlu -YXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9wdGlvblNldCIgdHlw -ZT0idG5zOk9wdGlvblNldCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mT3B0 -aW9uU2V0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPcHRp -b25TZXQiIHR5cGU9InRuczpPcHRpb25TZXQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJv -dW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk9wdGlvblNldCIgdHlwZT0idG5z -Okxpc3RPZk9wdGlvblNldCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iVW5pb24iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhz -OmRvY3VtZW50YXRpb24+VGhpcyBhYnN0cmFjdCBEYXRhVHlwZSBpcyB0aGUgYmFzZSBEYXRhVHlw -ZSBmb3IgYWxsIHVuaW9uIERhdGFUeXBlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czph -bm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVbmlvbiIgdHlwZT0idG5zOlVuaW9u -IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZVbmlvbiI+DQogICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVW5pb24iIHR5cGU9InRuczpVbmlvbiIg -bWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iTGlzdE9mVW5pb24iIHR5cGU9InRuczpMaXN0T2ZVbmlvbiIgbmlsbGFibGU9InRydWUiPjwv -eHM6ZWxlbWVudD4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOb3JtYWxpemVkU3RyaW5nIiB0eXBl -PSJ4czpzdHJpbmciIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVjaW1hbFN0cmluZyIgdHlw -ZT0ieHM6c3RyaW5nIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkR1cmF0aW9uU3RyaW5nIiB0 -eXBlPSJ4czpzdHJpbmciIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZVN0cmluZyIgdHlw -ZT0ieHM6c3RyaW5nIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkRhdGVTdHJpbmciIHR5cGU9 -InhzOnN0cmluZyIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEdXJhdGlvbiIgdHlwZT0ieHM6 -ZG91YmxlIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IlV0Y1RpbWUiIHR5cGU9InhzOmRhdGVU -aW1lIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkxvY2FsZUlkIiB0eXBlPSJ4czpzdHJpbmci -IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlRpbWVab25lRGF0YVR5cGUiPg0KICAgIDx4 -czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik9mZnNldCIgdHlwZT0ieHM6c2hv -cnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRheWxpZ2h0U2F2 -aW5nSW5PZmZzZXQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hz -OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1l -Wm9uZURhdGFUeXBlIiB0eXBlPSJ0bnM6VGltZVpvbmVEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iTGlzdE9mVGltZVpvbmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZVpvbmVEYXRhVHlwZSIgdHlwZT0idG5zOlRp -bWVab25lRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlRpbWVab25lRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0 -T2ZUaW1lWm9uZURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4 -czplbGVtZW50IG5hbWU9IkludGVnZXJJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIC8+DQoNCiAg -PHhzOnNpbXBsZVR5cGUgIG5hbWU9IkFwcGxpY2F0aW9uVHlwZSI+DQogICAgPHhzOmFubm90YXRp -b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgdHlwZXMgb2YgYXBwbGljYXRpb25zLjwv -eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0 -aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNlcnZl -cl8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDbGllbnRfMSIgLz4NCiAgICAg -IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ2xpZW50QW5kU2VydmVyXzIiIC8+DQogICAgICA8eHM6 -ZW51bWVyYXRpb24gdmFsdWU9IkRpc2NvdmVyeVNlcnZlcl8zIiAvPg0KICAgIDwveHM6cmVzdHJp -Y3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRp -b25UeXBlIiB0eXBlPSJ0bnM6QXBwbGljYXRpb25UeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg -ICAgIDx4czpkb2N1bWVudGF0aW9uPkRlc2NyaWJlcyBhbiBhcHBsaWNhdGlvbiBhbmQgaG93IHRv -IGZpbmQgaXQuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcHBsaWNhdGlvblVyaSIgdHlw -ZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iUHJvZHVjdFVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25O -YW1lIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25UeXBlIiB0eXBlPSJ0bnM6 -QXBwbGljYXRpb25UeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJHYXRld2F5U2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjb3ZlcnlQcm9maWxlVXJp -IiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjb3ZlcnlVcmxzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmci -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg -PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25EZXNjcmlw -dGlvbiIgdHlwZT0idG5zOkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9Ikxpc3RPZkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1 -ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIHR5 -cGU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0i -dW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZBcHBsaWNhdGlvbkRlc2Ny -aXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mQXBwbGljYXRpb25EZXNjcmlwdGlvbiIgbmlsbGFibGU9 -InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVxdWVzdEhl -YWRlciI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUg -aGVhZGVyIHBhc3NlZCB3aXRoIGV2ZXJ5IHNlcnZlciByZXF1ZXN0LjwveHM6ZG9jdW1lbnRhdGlv -bj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iQXV0aGVudGljYXRpb25Ub2tlbiIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0 -YW1wIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iUmVxdWVzdEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldHVybkRpYWdub3N0aWNzIiB0eXBlPSJ4 -czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -QXVkaXRFbnRyeUlkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lb3V0SGludCIgdHlwZT0ieHM6dW5z -aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZGl0 -aW9uYWxIZWFkZXIiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRl -ciIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVzcG9uc2VIZWFkZXIiPg0KICAgIDx4 -czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGhlYWRlciBwYXNzZWQg -d2l0aCBldmVyeSBzZXJ2ZXIgcmVzcG9uc2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6 -YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJU -aW1lc3RhbXAiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGFuZGxlIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmljZVJlc3VsdCIgdHlwZT0i -dWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -U2VydmljZURpYWdub3N0aWNzIiB0eXBlPSJ1YTpEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0cmluZ1RhYmxl -IiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRpdGlvbmFsSGVhZGVyIiB0eXBlPSJ1YTpFeHRl -bnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz -ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9u -c2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iU2VydmljZUZhdWx0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpk -b2N1bWVudGF0aW9uPlRoZSByZXNwb25zZSByZXR1cm5lZCBieSBhbGwgc2VydmljZXMgd2hlbiB0 -aGVyZSBpcyBhIHNlcnZpY2UgbGV2ZWwgZXJyb3IuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwv -eHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNlcnZpY2VGYXVsdCIgdHlwZT0idG5zOlNlcnZpY2VG -YXVsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRmluZFNlcnZlcnNSZXF1ZXN0Ij4N -CiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkZpbmRzIHRoZSBz -ZXJ2ZXJzIGtub3duIHRvIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4N -CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2lu -dFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmci -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJTZXJ2ZXJVcmlzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iRmluZFNlcnZlcnNSZXF1ZXN0IiB0eXBlPSJ0bnM6RmluZFNlcnZl -cnNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJGaW5kU2VydmVyc1Jlc3Bv -bnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkZpbmRz -IHRoZSBzZXJ2ZXJzIGtub3duIHRvIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwveHM6ZG9jdW1lbnRh -dGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlNlcnZlcnMiIHR5cGU9InRuczpMaXN0T2ZBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkZpbmRTZXJ2ZXJzUmVzcG9uc2UiIHR5cGU9 -InRuczpGaW5kU2VydmVyc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJT -ZXJ2ZXJPbk5ldHdvcmsiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlJlY29yZElkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzY292 -ZXJ5VXJsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJDYXBhYmlsaXRpZXMiIHR5cGU9InVhOkxp -c3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJP -bk5ldHdvcmsiIHR5cGU9InRuczpTZXJ2ZXJPbk5ldHdvcmsiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9Ikxpc3RPZlNlcnZlck9uTmV0d29yayI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyT25OZXR3b3JrIiB0eXBlPSJ0bnM6U2VydmVyT25O -ZXR3b3JrIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJMaXN0T2ZTZXJ2ZXJPbk5ldHdvcmsiIHR5cGU9InRuczpMaXN0T2ZTZXJ2ZXJP -bk5ldHdvcmsiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVl -c3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJTdGFydGluZ1JlY29yZElkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4UmVjb3Jkc1RvUmV0dXJuIiB0 -eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iU2VydmVyQ2FwYWJpbGl0eUZpbHRlciIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVx -dWVzdCIgdHlwZT0idG5zOkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVxdWVzdCIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iRmluZFNlcnZlcnNPbk5ldHdvcmtSZXNwb25zZSI+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9 -InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ikxhc3RDb3VudGVyUmVzZXRUaW1lIiB0eXBlPSJ4czpkYXRl -VGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVycyIg -dHlwZT0idG5zOkxpc3RPZlNlcnZlck9uTmV0d29yayIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJGaW5kU2VydmVyc09uTmV0d29ya1Jlc3BvbnNlIiB0eXBlPSJ0bnM6Rmlu -ZFNlcnZlcnNPbk5ldHdvcmtSZXNwb25zZSIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBcHBs -aWNhdGlvbkluc3RhbmNlQ2VydGlmaWNhdGUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgLz4NCg0K -ICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iTWVzc2FnZVNlY3VyaXR5TW9kZSI+DQogICAgPHhzOmFu -bm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgdHlwZSBvZiBzZWN1cml0eSB0 -byB1c2Ugb24gYSBtZXNzYWdlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRp -b24+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51 -bWVyYXRpb24gdmFsdWU9IkludmFsaWRfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 -ZT0iTm9uZV8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTaWduXzIiIC8+DQog -ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNpZ25BbmRFbmNyeXB0XzMiIC8+DQogICAgPC94 -czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJN -ZXNzYWdlU2VjdXJpdHlNb2RlIiB0eXBlPSJ0bnM6TWVzc2FnZVNlY3VyaXR5TW9kZSIgLz4NCg0K -ICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iVXNlclRva2VuVHlwZSI+DQogICAgPHhzOmFubm90YXRp -b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgcG9zc2libGUgdXNlciB0b2tlbiB0eXBl -cy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpyZXN0 -cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJB -bm9ueW1vdXNfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVXNlck5hbWVfMSIg -Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ2VydGlmaWNhdGVfMiIgLz4NCiAgICAg -IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNzdWVkVG9rZW5fMyIgLz4NCiAgICAgIDx4czplbnVt -ZXJhdGlvbiB2YWx1ZT0iS2VyYmVyb3NfNCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8 -L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVzZXJUb2tlblR5cGUiIHR5cGU9 -InRuczpVc2VyVG9rZW5UeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJVc2VyVG9r -ZW5Qb2xpY3kiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+ -RGVzY3JpYmVzIGEgdXNlciB0b2tlbiB0aGF0IGNhbiBiZSB1c2VkIHdpdGggYSBzZXJ2ZXIuPC94 -czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQb2xpY3lJZCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVG9r -ZW5UeXBlIiB0eXBlPSJ0bnM6VXNlclRva2VuVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iSXNzdWVkVG9rZW5UeXBlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc3N1 -ZXJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlQb2xpY3lVcmkiIHR5cGU9 -InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyVG9r -ZW5Qb2xpY3kiIHR5cGU9InRuczpVc2VyVG9rZW5Qb2xpY3kiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9Ikxpc3RPZlVzZXJUb2tlblBvbGljeSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlclRva2VuUG9saWN5IiB0eXBlPSJ0bnM6VXNlclRva2Vu -UG9saWN5IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJMaXN0T2ZVc2VyVG9rZW5Qb2xpY3kiIHR5cGU9InRuczpMaXN0T2ZVc2VyVG9r -ZW5Qb2xpY3kiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IkVuZHBvaW50RGVzY3JpcHRpb24iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAg -ICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGRlc2NyaXB0aW9uIG9mIGEgZW5kcG9pbnQgdGhhdCBj -YW4gYmUgdXNlZCB0byBhY2Nlc3MgYSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwv -eHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyIiB0eXBlPSJ0bnM6QXBwbGlj -YXRpb25EZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlNlcnZlckNlcnRpZmljYXRlIiB0eXBlPSJ4czpiYXNlNjRCaW5h -cnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiBtaW5PY2N1 -cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVBvbGljeVVyaSIgdHlw -ZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iVXNlcklkZW50aXR5VG9rZW5zIiB0eXBlPSJ0bnM6TGlzdE9mVXNlclRv -a2VuUG9saWN5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iVHJhbnNwb3J0UHJvZmlsZVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJp -dHlMZXZlbCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94 -czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRW5k -cG9pbnREZXNjcmlwdGlvbiIgdHlwZT0idG5zOkVuZHBvaW50RGVzY3JpcHRpb24iIC8+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkVuZHBvaW50RGVzY3JpcHRpb24iPg0KICAgIDx4 -czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50RGVzY3JpcHRpb24i -IHR5cGU9InRuczpFbmRwb2ludERlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0i -dW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbmRwb2ludERlc2NyaXB0 -aW9uIiB0eXBlPSJ0bnM6TGlzdE9mRW5kcG9pbnREZXNjcmlwdGlvbiIgbmlsbGFibGU9InRydWUi -PjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iR2V0RW5kcG9pbnRzUmVx -dWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5HZXRz -IHRoZSBlbmRwb2ludHMgdXNlZCBieSB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAg -ICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVy -bCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQ -cm9maWxlVXJpcyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9IkdldEVuZHBvaW50c1JlcXVlc3QiIHR5cGU9InRuczpHZXRFbmRwb2lu -dHNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJHZXRFbmRwb2ludHNSZXNw -b25zZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5HZXRz -IHRoZSBlbmRwb2ludHMgdXNlZCBieSB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAg -ICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50 -cyIgdHlwZT0idG5zOkxpc3RPZkVuZHBvaW50RGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iR2V0RW5kcG9pbnRzUmVzcG9uc2UiIHR5cGU9InRuczpHZXRF -bmRwb2ludHNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJl -ZFNlcnZlciI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5U -aGUgaW5mb3JtYXRpb24gcmVxdWlyZWQgdG8gcmVnaXN0ZXIgYSBzZXJ2ZXIgd2l0aCBhIGRpc2Nv -dmVyeSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAg -ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJVcmkiIHR5cGU9 -InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlByb2R1Y3RVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlck5hbWVzIiB0 -eXBlPSJ1YTpMaXN0T2ZMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVHlwZSIgdHlwZT0idG5zOkFwcGxp -Y2F0aW9uVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iR2F0 -ZXdheVNlcnZlclVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzY292ZXJ5VXJscyIgdHlwZT0idWE6 -TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iU2VtYXBob3JlRmlsZVBhdGgiIHR5cGU9InhzOnN0cmluZyIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IklzT25s -aW5lIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJlZFNl -cnZlciIgdHlwZT0idG5zOlJlZ2lzdGVyZWRTZXJ2ZXIiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9Ikxpc3RPZlJlZ2lzdGVyZWRTZXJ2ZXIiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyZWRTZXJ2ZXIiIHR5cGU9InRuczpSZWdpc3RlcmVk -U2VydmVyIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJMaXN0T2ZSZWdpc3RlcmVkU2VydmVyIiB0eXBlPSJ0bnM6TGlzdE9mUmVnaXN0 -ZXJlZFNlcnZlciIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4N -CiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlJlZ2lzdGVycyBhIHNlcnZlciB3aXRoIHRoZSBkaXNj -b3Zlcnkgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQog -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIg -dHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXIiIHR5cGU9InRuczpSZWdpc3RlcmVkU2Vy -dmVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyU2VydmVy -UmVxdWVzdCIgdHlwZT0idG5zOlJlZ2lzdGVyU2VydmVyUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRp -b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5SZWdpc3RlcnMgYSBzZXJ2ZXIgd2l0aCB0aGUg -ZGlzY292ZXJ5IHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9u -Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVh -ZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXNwb25zZSIgdHlwZT0idG5zOlJlZ2lzdGVyU2Vy -dmVyUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRpc2NvdmVyeUNvbmZp -Z3VyYXRpb24iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+ -QSBiYXNlIHR5cGUgZm9yIGRpc2NvdmVyeSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uLjwveHM6 -ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9IkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpEaXNjb3ZlcnlDb25maWd1cmF0 -aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNZG5zRGlzY292ZXJ5Q29uZmlndXJh -dGlvbiI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUg -ZGlzY292ZXJ5IGluZm9ybWF0aW9uIG5lZWRlZCBmb3IgbUROUyByZWdpc3RyYXRpb24uPC94czpk -b2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRl -bnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkRpc2NvdmVy -eUNvbmZpZ3VyYXRpb24iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iTWRuc1NlcnZlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJD -YXBhYmlsaXRpZXMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9u -Pg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9Ik1kbnNEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiB0eXBlPSJ0bnM6TWRuc0Rp -c2NvdmVyeUNvbmZpZ3VyYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZ2lz -dGVyU2VydmVyMlJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyIiB0 -eXBlPSJ0bnM6UmVnaXN0ZXJlZFNlcnZlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIHR5cGU9 -InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJSZWdpc3RlclNlcnZlcjJSZXF1ZXN0IiB0eXBlPSJ0bnM6UmVnaXN0ZXJTZXJ2ZXIy -UmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXIyUmVz -cG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3Bv -bnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb25maWd1cmF0aW9uUmVzdWx0 -cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6 -TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iUmVnaXN0ZXJTZXJ2ZXIyUmVzcG9uc2UiIHR5cGU9InRuczpSZWdpc3RlclNlcnZlcjJSZXNw -b25zZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iU2VjdXJpdHlUb2tlblJlcXVlc3RU -eXBlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkluZGlj -YXRlcyB3aGV0aGVyIGEgdG9rZW4gaWYgYmVpbmcgY3JlYXRlZCBvciByZW5ld2VkLjwveHM6ZG9j -dW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJh -c2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Iklzc3VlXzAiIC8+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlbmV3XzEiIC8+DQogICAgPC94czpyZXN0 -cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0 -eVRva2VuUmVxdWVzdFR5cGUiIHR5cGU9InRuczpTZWN1cml0eVRva2VuUmVxdWVzdFR5cGUiIC8+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNoYW5uZWxTZWN1cml0eVRva2VuIj4NCiAgICA8 -eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSB0b2tlbiB0aGF0IGlk -ZW50aWZpZXMgYSBzZXQgb2Yga2V5cyBmb3IgYW4gYWN0aXZlIHNlY3VyZSBjaGFubmVsLjwveHM6 -ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2hhbm5lbElkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVG9rZW5JZCIgdHlwZT0i -eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkNyZWF0ZWRBdCIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlJldmlzZWRMaWZldGltZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1p -bk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJDaGFubmVsU2VjdXJpdHlUb2tlbiIgdHlwZT0idG5zOkNoYW5u -ZWxTZWN1cml0eVRva2VuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJPcGVuU2VjdXJl -Q2hhbm5lbFJlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50 -YXRpb24+Q3JlYXRlcyBhIHNlY3VyZSBjaGFubmVsIHdpdGggYSBzZXJ2ZXIuPC94czpkb2N1bWVu -dGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkNsaWVudFByb3RvY29sVmVyc2lvbiIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RUeXBlIiB0eXBlPSJ0bnM6U2Vj -dXJpdHlUb2tlblJlcXVlc3RUeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnROb25jZSIgdHlwZT0i -eHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTGlmZXRpbWUiIHR5cGU9InhzOnVuc2lnbmVkSW50 -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT3BlblNlY3VyZUNoYW5uZWxSZXF1ZXN0IiB0eXBlPSJ0 -bnM6T3BlblNlY3VyZUNoYW5uZWxSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJPcGVuU2VjdXJlQ2hhbm5lbFJlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAg -IDx4czpkb2N1bWVudGF0aW9uPkNyZWF0ZXMgYSBzZWN1cmUgY2hhbm5lbCB3aXRoIGEgc2VydmVy -LjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpS -ZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlNlcnZlclByb3RvY29sVmVyc2lvbiIgdHlwZT0ieHM6dW5zaWduZWRJ -bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5VG9r -ZW4iIHR5cGU9InRuczpDaGFubmVsU2VjdXJpdHlUb2tlbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlck5vbmNlIiB0eXBlPSJ4 -czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 -czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT3Bl -blNlY3VyZUNoYW5uZWxSZXNwb25zZSIgdHlwZT0idG5zOk9wZW5TZWN1cmVDaGFubmVsUmVzcG9u -c2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNsb3NlU2VjdXJlQ2hhbm5lbFJlcXVl -c3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q2xvc2Vz -IGEgc2VjdXJlIGNoYW5uZWwuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlv -bj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVh -ZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJDbG9zZVNlY3VyZUNoYW5uZWxSZXF1ZXN0IiB0eXBlPSJ0bnM6Q2xvc2VTZWN1 -cmVDaGFubmVsUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2xvc2VTZWN1 -cmVDaGFubmVsUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3Vt -ZW50YXRpb24+Q2xvc2VzIGEgc2VjdXJlIGNoYW5uZWwuPC94czpkb2N1bWVudGF0aW9uPg0KICAg -IDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNsb3NlU2VjdXJlQ2hhbm5lbFJlc3BvbnNlIiB0 -eXBlPSJ0bnM6Q2xvc2VTZWN1cmVDaGFubmVsUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiPg0KICAgIDx4czphbm5vdGF0aW9u -Pg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBzb2Z0d2FyZSBjZXJ0aWZpY2F0ZSB3aXRoIGEg -ZGlnaXRhbCBzaWduYXR1cmUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlv -bj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDZXJ0aWZpY2F0 -ZURhdGEiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNpZ25hdHVyZSIgdHlwZT0ieHM6YmFzZTY0 -QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu -Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNpZ25lZFNvZnR3 -YXJlQ2VydGlmaWNhdGUiIHR5cGU9InRuczpTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiAvPg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRl -Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTaWduZWRTb2Z0 -d2FyZUNlcnRpZmljYXRlIiB0eXBlPSJ0bnM6U2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgbWlu -T2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -TGlzdE9mU2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgdHlwZT0idG5zOkxpc3RPZlNpZ25lZFNv -ZnR3YXJlQ2VydGlmaWNhdGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhz -OmVsZW1lbnQgbmFtZT0iU2Vzc2lvbkF1dGhlbnRpY2F0aW9uVG9rZW4iIHR5cGU9InVhOk5vZGVJ -ZCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2lnbmF0dXJlRGF0YSI+DQogICAgPHhz -OmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIGRpZ2l0YWwgc2lnbmF0dXJl -LjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWxnb3JpdGhtIiB0eXBlPSJ4czpzdHJpbmci -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJTaWduYXR1cmUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJTaWduYXR1cmVEYXRhIiB0eXBlPSJ0bnM6U2lnbmF0dXJlRGF0YSIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ3JlYXRlU2Vzc2lvblJlcXVlc3QiPg0KICAg -IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q3JlYXRlcyBhIG5ldyBz -ZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v -dGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVl -c3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50RGVzY3JpcHRpb24iIHR5 -cGU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVXJpIiB0eXBlPSJ4czpzdHJp -bmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbk5hbWUiIHR5cGU9Inhz -OnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkNsaWVudE5vbmNlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRDZXJ0 -aWZpY2F0ZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkU2Vzc2lvblRpbWVvdXQi -IHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iTWF4UmVzcG9uc2VNZXNzYWdlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vy -cz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJDcmVhdGVTZXNzaW9uUmVxdWVzdCIgdHlwZT0idG5zOkNyZWF0ZVNlc3Np -b25SZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDcmVhdGVTZXNzaW9uUmVz -cG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q3Jl -YXRlcyBhIG5ldyBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQog -ICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9u -SWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IkF1dGhlbnRpY2F0aW9uVG9rZW4iIHR5cGU9InVhOk5vZGVJ -ZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlJldmlzZWRTZXNzaW9uVGltZW91dCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJOb25jZSIgdHlwZT0ieHM6YmFzZTY0 -QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iU2VydmVyQ2VydGlmaWNhdGUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZl -ckVuZHBvaW50cyIgdHlwZT0idG5zOkxpc3RPZkVuZHBvaW50RGVzY3JpcHRpb24iIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJT -b2Z0d2FyZUNlcnRpZmljYXRlcyIgdHlwZT0idG5zOkxpc3RPZlNpZ25lZFNvZnR3YXJlQ2VydGlm -aWNhdGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJTZXJ2ZXJTaWduYXR1cmUiIHR5cGU9InRuczpTaWduYXR1cmVEYXRhIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4UmVx -dWVzdE1lc3NhZ2VTaXplIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9IkNyZWF0ZVNlc3Npb25SZXNwb25zZSIgdHlwZT0idG5zOkNyZWF0ZVNlc3Npb25SZXNwb25z -ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVXNlcklkZW50aXR5VG9rZW4iPg0KICAg -IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBiYXNlIHR5cGUgZm9y -IGEgdXNlciBpZGVudGl0eSB0b2tlbi48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v -dGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBvbGlj -eUlkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iVXNlcklkZW50aXR5VG9rZW4iIHR5cGU9InRuczpVc2VySWRlbnRpdHlUb2tlbiIgLz4NCg0K -ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQW5vbnltb3VzSWRlbnRpdHlUb2tlbiI+DQogICAgPHhz -OmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHRva2VuIHJlcHJlc2VudGlu -ZyBhbiBhbm9ueW1vdXMgdXNlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 -aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4 -dGVuc2lvbiBiYXNlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgICAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8 -L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJBbm9ueW1vdXNJZGVudGl0eVRva2VuIiB0eXBlPSJ0bnM6QW5vbnltb3VzSWRlbnRpdHlU -b2tlbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVXNlck5hbWVJZGVudGl0eVRva2Vu -Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgdG9rZW4g -cmVwcmVzZW50aW5nIGEgdXNlciBpZGVudGlmaWVkIGJ5IGEgdXNlciBuYW1lIGFuZCBwYXNzd29y -ZC48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21w -bGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6 -VXNlcklkZW50aXR5VG9rZW4iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iVXNlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQYXNzd29yZCIg -dHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuY3J5cHRpb25BbGdvcml0aG0iIHR5cGU9Inhz -OnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpz -ZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVzZXJOYW1lSWRlbnRp -dHlUb2tlbiIgdHlwZT0idG5zOlVzZXJOYW1lSWRlbnRpdHlUb2tlbiIgLz4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iWDUwOUlkZW50aXR5VG9rZW4iPg0KICAgIDx4czphbm5vdGF0aW9uPg0K -ICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSB0b2tlbiByZXByZXNlbnRpbmcgYSB1c2VyIGlkZW50 -aWZpZWQgYnkgYW4gWDUwOSBjZXJ0aWZpY2F0ZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94 -czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAg -ICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgICAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2VydGlmaWNhdGVEYXRh -IiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hz -OmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJYNTA5SWRlbnRpdHlUb2tlbiIgdHlwZT0idG5zOlg1MDlJZGVudGl0eVRva2VuIiAvPg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJLZXJiZXJvc0lkZW50aXR5VG9rZW4iPg0KICAgIDx4czpj -b21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0 -bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iVGlja2V0RGF0YSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAg -ICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iS2VyYmVyb3NJZGVudGl0eVRva2VuIiB0eXBl -PSJ0bnM6S2VyYmVyb3NJZGVudGl0eVRva2VuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJJc3N1ZWRJZGVudGl0eVRva2VuIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpk -b2N1bWVudGF0aW9uPkEgdG9rZW4gcmVwcmVzZW50aW5nIGEgdXNlciBpZGVudGlmaWVkIGJ5IGEg -V1MtU2VjdXJpdHkgWE1MIHRva2VuLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90 -YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6 -ZXh0ZW5zaW9uIGJhc2U9InRuczpVc2VySWRlbnRpdHlUb2tlbiI+DQogICAgICAgIDx4czpzZXF1 -ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUb2tlbkRhdGEiIHR5cGU9InhzOmJh -c2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJFbmNyeXB0aW9uQWxnb3JpdGhtIiB0eXBlPSJ4czpzdHJpbmciIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQog -ICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJJc3N1ZWRJZGVudGl0eVRva2VuIiB0eXBl -PSJ0bnM6SXNzdWVkSWRlbnRpdHlUb2tlbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -QWN0aXZhdGVTZXNzaW9uUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6 -ZG9jdW1lbnRhdGlvbj5BY3RpdmF0ZXMgYSBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L3hzOmRv -Y3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVh -ZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iQ2xpZW50U2lnbmF0dXJlIiB0eXBlPSJ0bnM6U2lnbmF0dXJlRGF0YSIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVudFNv -ZnR3YXJlQ2VydGlmaWNhdGVzIiB0eXBlPSJ0bnM6TGlzdE9mU2lnbmVkU29mdHdhcmVDZXJ0aWZp -Y2F0ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IkxvY2FsZUlkcyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlcklkZW50aXR5VG9r -ZW4iIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJUb2tlblNpZ25hdHVyZSIgdHlwZT0i -dG5zOlNpZ25hdHVyZURhdGEiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -QWN0aXZhdGVTZXNzaW9uUmVxdWVzdCIgdHlwZT0idG5zOkFjdGl2YXRlU2Vzc2lvblJlcXVlc3Qi -IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFjdGl2YXRlU2Vzc2lvblJlc3BvbnNlIj4N -CiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkFjdGl2YXRlcyBh -IHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu -bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVz -cG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlck5vbmNlIiB0eXBl -PSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -RGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBY3RpdmF0ZVNlc3Npb25SZXNwb25zZSIgdHlw -ZT0idG5zOkFjdGl2YXRlU2Vzc2lvblJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJDbG9zZVNlc3Npb25SZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4 -czpkb2N1bWVudGF0aW9uPkNsb3NlcyBhIHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwveHM6ZG9j -dW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFk -ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJEZWxldGVTdWJzY3JpcHRpb25zIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iQ2xvc2VTZXNzaW9uUmVxdWVzdCIgdHlwZT0idG5zOkNsb3NlU2Vzc2lvblJlcXVl -c3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNsb3NlU2Vzc2lvblJlc3BvbnNlIj4N -CiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNsb3NlcyBhIHNl -c3Npb24gd2l0aCB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90 -YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9u -c2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJDbG9zZVNlc3Npb25SZXNwb25zZSIgdHlwZT0idG5zOkNsb3NlU2Vz -c2lvblJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDYW5jZWxSZXF1ZXN0 -Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNhbmNlbHMg -YW4gb3V0c3RhbmRpbmcgcmVxdWVzdC48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v -dGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVl -c3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhhbmRsZSIgdHlwZT0i -eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDYW5jZWxSZXF1ZXN0IiB0eXBl -PSJ0bnM6Q2FuY2VsUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2FuY2Vs -UmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+ -Q2FuY2VscyBhbiBvdXRzdGFuZGluZyByZXF1ZXN0LjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8 -L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNhbmNlbENvdW50 -IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVu -Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNhbmNlbFJlc3Bv -bnNlIiB0eXBlPSJ0bnM6Q2FuY2VsUmVzcG9uc2UiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5h -bWU9Ik5vZGVBdHRyaWJ1dGVzTWFzayI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6 -ZG9jdW1lbnRhdGlvbj5UaGUgYml0cyB1c2VkIHRvIHNwZWNpZnkgZGVmYXVsdCBhdHRyaWJ1dGVz -IGZvciBhIG5ldyBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+ -DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVy -YXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQWNj -ZXNzTGV2ZWxfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQXJyYXlEaW1lbnNp -b25zXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJyb3dzZU5hbWVfNCIgLz4N -CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ29udGFpbnNOb0xvb3BzXzgiIC8+DQogICAg -ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRhdGFUeXBlXzE2IiAvPg0KICAgICAgPHhzOmVudW1l -cmF0aW9uIHZhbHVlPSJEZXNjcmlwdGlvbl8zMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 -YWx1ZT0iRGlzcGxheU5hbWVfNjQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkV2 -ZW50Tm90aWZpZXJfMTI4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJFeGVjdXRh -YmxlXzI1NiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSGlzdG9yaXppbmdfNTEy -IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJbnZlcnNlTmFtZV8xMDI0IiAvPg0K -ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJc0Fic3RyYWN0XzIwNDgiIC8+DQogICAgICA8 -eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik1pbmltdW1TYW1wbGluZ0ludGVydmFsXzQwOTYiIC8+DQog -ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vZGVDbGFzc184MTkyIiAvPg0KICAgICAgPHhz -OmVudW1lcmF0aW9uIHZhbHVlPSJOb2RlSWRfMTYzODQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp -b24gdmFsdWU9IlN5bW1ldHJpY18zMjc2OCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 -ZT0iVXNlckFjY2Vzc0xldmVsXzY1NTM2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl -PSJVc2VyRXhlY3V0YWJsZV8xMzEwNzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 -IlVzZXJXcml0ZU1hc2tfMjYyMTQ0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJW -YWx1ZVJhbmtfNTI0Mjg4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJXcml0ZU1h -c2tfMTA0ODU3NiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVmFsdWVfMjA5NzE1 -MiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQWxsXzQxOTQzMDMiIC8+DQogICAg -ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJhc2VOb2RlXzEzMzUzOTYiIC8+DQogICAgICA8eHM6 -ZW51bWVyYXRpb24gdmFsdWU9Ik9iamVjdF8xMzM1NTI0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0 -aW9uIHZhbHVlPSJPYmplY3RUeXBlT3JEYXRhVHlwZV8xMzM3NDQ0IiAvPg0KICAgICAgPHhzOmVu -dW1lcmF0aW9uIHZhbHVlPSJWYXJpYWJsZV80MDI2OTk5IiAvPg0KICAgICAgPHhzOmVudW1lcmF0 -aW9uIHZhbHVlPSJWYXJpYWJsZVR5cGVfMzk1ODkwMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv -biB2YWx1ZT0iTWV0aG9kXzE0NjY3MjQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 -IlJlZmVyZW5jZVR5cGVfMTM3MTIzNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i -Vmlld18xMzM1NTMyIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUF0dHJpYnV0ZXNNYXNrIiB0eXBlPSJ0bnM6Tm9k -ZUF0dHJpYnV0ZXNNYXNrIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJOb2RlQXR0cmli -dXRlcyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUg -YmFzZSBhdHRyaWJ1dGVzIGZvciBhbGwgbm9kZXMuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwv -eHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzcGxheU5hbWUiIHR5cGU9InVhOkxvY2Fs -aXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IldyaXRlTWFz -ayIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlVzZXJXcml0ZU1hc2siIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iTm9kZUF0dHJpYnV0ZXMiIHR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4N -Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iT2JqZWN0QXR0cmlidXRlcyI+DQogICAgPHhzOmFu -bm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYW4g -b2JqZWN0IG5vZGUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAg -ICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24g -YmFzZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -ICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50Tm90aWZpZXIiIHR5cGU9InhzOnVuc2lnbmVkQnl0 -ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpl -eHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iT2JqZWN0QXR0cmlidXRlcyIgdHlwZT0idG5zOk9iamVjdEF0 -dHJpYnV0ZXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhYmxlQXR0cmlidXRl -cyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYXR0 -cmlidXRlcyBmb3IgYSB2YXJpYWJsZSBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hz -OmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAg -ICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgICAgIDx4czpz -ZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0idWE6VmFy -aWFudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFU -eXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czppbnQiIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcnJheURpbWVuc2lvbnMi -IHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBY2Nlc3NMZXZlbCIgdHlwZT0ieHM6dW5zaWdu -ZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNl -ckFjY2Vzc0xldmVsIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbCIgdHlwZT0i -eHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -SGlzdG9yaXppbmciIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg -PC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENv -bnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlZhcmlhYmxl -QXR0cmlidXRlcyIgdHlwZT0idG5zOlZhcmlhYmxlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iTWV0aG9kQXR0cmlidXRlcyI+DQogICAgPHhzOmFubm90YXRpb24+DQog -ICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSBtZXRob2Qgbm9kZS48 -L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4 -Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9k -ZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iRXhlY3V0YWJsZSIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJFeGVjdXRhYmxlIiB0eXBlPSJ4czpib29s -ZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hz -OmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNZXRob2RBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6TWV0aG9k -QXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iT2JqZWN0VHlwZUF0dHJp -YnV0ZXMiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhl -IGF0dHJpYnV0ZXMgZm9yIGFuIG9iamVjdCB0eXBlIG5vZGUuPC94czpkb2N1bWVudGF0aW9uPg0K -ICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNl -Ij4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICAg -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IklzQWJzdHJhY3Qi -IHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5j -ZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9iamVjdFR5cGVBdHRyaWJ1dGVz -IiB0eXBlPSJ0bnM6T2JqZWN0VHlwZUF0dHJpYnV0ZXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9IlZhcmlhYmxlVHlwZUF0dHJpYnV0ZXMiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAg -ICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGEgdmFyaWFibGUgdHlwZSBu -b2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNv -bXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRu -czpOb2RlQXR0cmlidXRlcyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0idWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJBcnJheURpbWVuc2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg -ICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBs -ZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWYXJp -YWJsZVR5cGVBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6VmFyaWFibGVUeXBlQXR0cmlidXRlcyIgLz4N -Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVmZXJlbmNlVHlwZUF0dHJpYnV0ZXMiPg0KICAg -IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMg -Zm9yIGEgcmVmZXJlbmNlIHR5cGUgbm9kZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czph -bm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAg -PHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNBYnN0cmFjdCIgdHlwZT0ieHM6 -Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN5 -bW1ldHJpYyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4 -czplbGVtZW50IG5hbWU9IkludmVyc2VOYW1lIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAg -ICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlVHlwZUF0dHJpYnV0ZXMiIHR5 -cGU9InRuczpSZWZlcmVuY2VUeXBlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iRGF0YVR5cGVBdHRyaWJ1dGVzIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4 -czpkb2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVzIGZvciBhIGRhdGEgdHlwZSBub2RlLjwveHM6 -ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250 -ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0 -cmlidXRlcyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg -ICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBs -ZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRh -VHlwZUF0dHJpYnV0ZXMiIHR5cGU9InRuczpEYXRhVHlwZUF0dHJpYnV0ZXMiIC8+DQoNCiAgPHhz -OmNvbXBsZXhUeXBlIG5hbWU9IlZpZXdBdHRyaWJ1dGVzIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4N -CiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVzIGZvciBhIHZpZXcgbm9kZS48 -L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4 -Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9k -ZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iQ29udGFpbnNOb0xvb3BzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnROb3RpZmllciIgdHlwZT0ieHM6 -dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQog -ICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWaWV3QXR0cmlidXRlcyIgdHlwZT0idG5z -OlZpZXdBdHRyaWJ1dGVzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZGROb2Rlc0l0 -ZW0iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSByZXF1 -ZXN0IHRvIGFkZCBhIG5vZGUgdG8gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1l -bnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUGFyZW50Tm9kZUlkIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlJlZmVyZW5jZVR5cGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTmV3Tm9kZUlkIiB0 -eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZU5hbWUiIHR5cGU9InVhOlF1YWxpZmllZE5h -bWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJOb2RlQ2xhc3MiIHR5cGU9InRuczpOb2RlQ2xhc3MiIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVBdHRyaWJ1dGVzIiB0eXBlPSJ1YTpFeHRlbnNpb25P -YmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJUeXBlRGVmaW5pdGlvbiIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkTm9kZXNJdGVtIiB0eXBlPSJ0bnM6QWRk -Tm9kZXNJdGVtIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZBZGROb2Rlc0l0 -ZW0iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZE5vZGVz -SXRlbSIgdHlwZT0idG5zOkFkZE5vZGVzSXRlbSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu -Ym91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQWRkTm9kZXNJdGVtIiB0eXBl -PSJ0bnM6TGlzdE9mQWRkTm9kZXNJdGVtIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZGROb2Rlc1Jlc3VsdCI+DQogICAgPHhzOmFubm90 -YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHJlc3VsdCBvZiBhbiBhZGQgbm9kZSBv -cGVyYXRpb24uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1 -YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJB -ZGRlZE5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9IkFkZE5vZGVzUmVzdWx0IiB0eXBlPSJ0bnM6QWRkTm9kZXNSZXN1bHQiIC8+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkFkZE5vZGVzUmVzdWx0Ij4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGROb2Rlc1Jlc3VsdCIgdHlwZT0i -dG5zOkFkZE5vZGVzUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZBZGROb2Rlc1Jlc3VsdCIgdHlwZT0idG5zOkxp -c3RPZkFkZE5vZGVzUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJBZGROb2Rlc1JlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9u -Pg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QWRkcyBvbmUgb3IgbW9yZSBub2RlcyB0byB0aGUg -c2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3Rh -dGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0 -SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVzVG9BZGQiIHR5cGU9InRuczpM -aXN0T2ZBZGROb2Rlc0l0ZW0iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -QWRkTm9kZXNSZXF1ZXN0IiB0eXBlPSJ0bnM6QWRkTm9kZXNSZXF1ZXN0IiAvPg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJBZGROb2Rlc1Jlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4N -CiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkFkZHMgb25lIG9yIG1vcmUgbm9kZXMgdG8gdGhlIHNl -cnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRp -b24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VI -ZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0 -T2ZBZGROb2Rlc1Jlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25v -c3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 -ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkTm9kZXNS -ZXNwb25zZSIgdHlwZT0idG5zOkFkZE5vZGVzUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IkFkZFJlZmVyZW5jZXNJdGVtIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAg -IDx4czpkb2N1bWVudGF0aW9uPkEgcmVxdWVzdCB0byBhZGQgYSByZWZlcmVuY2UgdG8gdGhlIHNl -cnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRp -b24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU291cmNlTm9k -ZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VUeXBlSWQiIHR5cGU9InVhOk5vZGVJZCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IklzRm9yd2FyZCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iVGFyZ2V0U2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXRO -b2RlSWQiIHR5cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0Tm9kZUNsYXNzIiB0eXBlPSJ0 -bnM6Tm9kZUNsYXNzIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkUmVmZXJlbmNlc0l0ZW0iIHR5 -cGU9InRuczpBZGRSZWZlcmVuY2VzSXRlbSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -TGlzdE9mQWRkUmVmZXJlbmNlc0l0ZW0iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IkFkZFJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0bnM6QWRkUmVmZXJlbmNlc0l0 -ZW0iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9Ikxpc3RPZkFkZFJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0bnM6TGlzdE9mQWRkUmVmZXJl -bmNlc0l0ZW0iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IkFkZFJlZmVyZW5jZXNSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg -ICAgIDx4czpkb2N1bWVudGF0aW9uPkFkZHMgb25lIG9yIG1vcmUgcmVmZXJlbmNlcyB0byB0aGUg -c2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3Rh -dGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0 -SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZXNUb0FkZCIgdHlwZT0i -dG5zOkxpc3RPZkFkZFJlZmVyZW5jZXNJdGVtIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9IkFkZFJlZmVyZW5jZXNSZXF1ZXN0IiB0eXBlPSJ0bnM6QWRkUmVmZXJlbmNlc1Jl -cXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFkZFJlZmVyZW5jZXNSZXNwb25z -ZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BZGRzIG9u -ZSBvciBtb3JlIHJlZmVyZW5jZXMgdG8gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9j -dW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhl -YWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5m -b3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9IkFkZFJlZmVyZW5jZXNSZXNwb25zZSIgdHlwZT0idG5zOkFkZFJlZmVy -ZW5jZXNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlTm9kZXNJ -dGVtIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgcmVx -dWVzdCB0byBkZWxldGUgYSBub2RlIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRv -Y3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlVGFy -Z2V0UmVmZXJlbmNlcyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwv -eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRl -bGV0ZU5vZGVzSXRlbSIgdHlwZT0idG5zOkRlbGV0ZU5vZGVzSXRlbSIgLz4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iTGlzdE9mRGVsZXRlTm9kZXNJdGVtIj4NCiAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVOb2Rlc0l0ZW0iIHR5cGU9InRuczpEZWxl -dGVOb2Rlc0l0ZW0iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9Ikxpc3RPZkRlbGV0ZU5vZGVzSXRlbSIgdHlwZT0idG5zOkxpc3RPZkRl -bGV0ZU5vZGVzSXRlbSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iRGVsZXRlTm9kZXNSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4N -CiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkRlbGV0ZSBvbmUgb3IgbW9yZSBub2RlcyBmcm9tIHRo -ZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v -dGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVl -c3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb0RlbGV0ZSIgdHlwZT0i -dG5zOkxpc3RPZkRlbGV0ZU5vZGVzSXRlbSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJEZWxldGVOb2Rlc1JlcXVlc3QiIHR5cGU9InRuczpEZWxldGVOb2Rlc1JlcXVlc3Qi -IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZU5vZGVzUmVzcG9uc2UiPg0KICAg -IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+RGVsZXRlIG9uZSBvciBt -b3JlIG5vZGVzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlv -bj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJl -c3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9 -InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9IkRlbGV0ZU5vZGVzUmVzcG9uc2UiIHR5cGU9InRuczpEZWxldGVOb2Rlc1Jlc3BvbnNl -IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEZWxldGVSZWZlcmVuY2VzSXRlbSI+DQog -ICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8g -ZGVsZXRlIGEgbm9kZSBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50 -YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlNvdXJjZU5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNl -VHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ZvcndhcmQiIHR5cGU9InhzOmJvb2xlYW4iIG1p -bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdldE5vZGVJZCIgdHlw -ZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVCaWRpcmVjdGlvbmFsIiB0eXBlPSJ4czpib29s -ZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlUmVmZXJlbmNlc0l0ZW0iIHR5cGU9InRu -czpEZWxldGVSZWZlcmVuY2VzSXRlbSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlz -dE9mRGVsZXRlUmVmZXJlbmNlc0l0ZW0iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0bnM6RGVsZXRlUmVmZXJl -bmNlc0l0ZW0iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9Ikxpc3RPZkRlbGV0ZVJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0bnM6TGlzdE9m -RGVsZXRlUmVmZXJlbmNlc0l0ZW0iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNSZXF1ZXN0Ij4NCiAgICA8eHM6 -YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkRlbGV0ZSBvbmUgb3IgbW9yZSBy -ZWZlcmVuY2VzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlv -bj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZl -cmVuY2VzVG9EZWxldGUiIHR5cGU9InRuczpMaXN0T2ZEZWxldGVSZWZlcmVuY2VzSXRlbSIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVSZWZlcmVuY2VzUmVxdWVz -dCIgdHlwZT0idG5zOkRlbGV0ZVJlZmVyZW5jZXNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4 -VHlwZSBuYW1lPSJEZWxldGVSZWZlcmVuY2VzUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9u -Pg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+RGVsZXRlIG9uZSBvciBtb3JlIHJlZmVyZW5jZXMg -ZnJvbSB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwv -eHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlw -ZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9m -RGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 -czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVs -ZXRlUmVmZXJlbmNlc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6RGVsZXRlUmVmZXJlbmNlc1Jlc3BvbnNl -IiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJBdHRyaWJ1dGVXcml0ZU1hc2siPg0KICAg -IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+RGVmaW5lIGJpdHMgdXNl -ZCB0byBpbmRpY2F0ZSB3aGljaCBhdHRyaWJ1dGVzIGFyZSB3cml0YWJsZS48L3hzOmRvY3VtZW50 -YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4 -czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb25lXzAiIC8+DQogICAg -ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFjY2Vzc0xldmVsXzEiIC8+DQogICAgICA8eHM6ZW51 -bWVyYXRpb24gdmFsdWU9IkFycmF5RGltZW5zaW9uc18yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0 -aW9uIHZhbHVlPSJCcm93c2VOYW1lXzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 -IkNvbnRhaW5zTm9Mb29wc184IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEYXRh -VHlwZV8xNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGVzY3JpcHRpb25fMzIi -IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRpc3BsYXlOYW1lXzY0IiAvPg0KICAg -ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJFdmVudE5vdGlmaWVyXzEyOCIgLz4NCiAgICAgIDx4 -czplbnVtZXJhdGlvbiB2YWx1ZT0iRXhlY3V0YWJsZV8yNTYiIC8+DQogICAgICA8eHM6ZW51bWVy -YXRpb24gdmFsdWU9Ikhpc3Rvcml6aW5nXzUxMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 -YWx1ZT0iSW52ZXJzZU5hbWVfMTAyNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i -SXNBYnN0cmFjdF8yMDQ4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJNaW5pbXVt -U2FtcGxpbmdJbnRlcnZhbF80MDk2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJO -b2RlQ2xhc3NfODE5MiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9kZUlkXzE2 -Mzg0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTeW1tZXRyaWNfMzI3NjgiIC8+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVzZXJBY2Nlc3NMZXZlbF82NTUzNiIgLz4N -CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVXNlckV4ZWN1dGFibGVfMTMxMDcyIiAvPg0K -ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVc2VyV3JpdGVNYXNrXzI2MjE0NCIgLz4NCiAg -ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVmFsdWVSYW5rXzUyNDI4OCIgLz4NCiAgICAgIDx4 -czplbnVtZXJhdGlvbiB2YWx1ZT0iV3JpdGVNYXNrXzEwNDg1NzYiIC8+DQogICAgICA8eHM6ZW51 -bWVyYXRpb24gdmFsdWU9IlZhbHVlRm9yVmFyaWFibGVUeXBlXzIwOTcxNTIiIC8+DQogICAgPC94 -czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJB -dHRyaWJ1dGVXcml0ZU1hc2siIHR5cGU9InRuczpBdHRyaWJ1dGVXcml0ZU1hc2siIC8+DQoNCiAg -PHhzOnNpbXBsZVR5cGUgIG5hbWU9IkJyb3dzZURpcmVjdGlvbiI+DQogICAgPHhzOmFubm90YXRp -b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgZGlyZWN0aW9ucyBvZiB0aGUgcmVmZXJl -bmNlcyB0byByZXR1cm4uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4N -CiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJh -dGlvbiB2YWx1ZT0iRm9yd2FyZF8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJ -bnZlcnNlXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJvdGhfMiIgLz4NCiAg -ICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9IkJyb3dzZURpcmVjdGlvbiIgdHlwZT0idG5zOkJyb3dzZURpcmVjdGlvbiIgLz4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iVmlld0Rlc2NyaXB0aW9uIj4NCiAgICA8eHM6YW5ub3RhdGlv -bj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSB2aWV3IHRvIGJyb3dzZS48L3hzOmRvY3Vt -ZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlZpZXdJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0YW1wIiB0 -eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iVmlld1ZlcnNpb24iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iVmlld0Rlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6Vmlld0Rlc2NyaXB0aW9uIiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VEZXNjcmlwdGlvbiI+DQogICAgPHhzOmFubm90YXRp -b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8gYnJvd3NlIHRoZSB0aGUg -cmVmZXJlbmNlcyBmcm9tIGEgbm9kZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v -dGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJ -ZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlRGlyZWN0aW9uIiB0eXBlPSJ0bnM6QnJvd3NlRGly -ZWN0aW9uIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVu -Y2VUeXBlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkluY2x1ZGVTdWJ0eXBlcyIgdHlwZT0ieHM6Ym9v -bGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUNsYXNz -TWFzayIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlJlc3VsdE1hc2siIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iQnJvd3NlRGVzY3JpcHRpb24iIHR5cGU9InRuczpCcm93c2VEZXNjcmlwdGlv -biIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJvd3NlRGVzY3JpcHRpb24i -Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZURlc2Ny -aXB0aW9uIiB0eXBlPSJ0bnM6QnJvd3NlRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2Nj -dXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog -IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb3dzZURlc2Ny -aXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlRGVzY3JpcHRpb24iIG5pbGxhYmxlPSJ0cnVl -Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkJyb3dzZVJlc3VsdE1h -c2siPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBiaXQg -bWFzayB3aGljaCBzcGVjaWZpZXMgd2hhdCBzaG91bGQgYmUgcmV0dXJuZWQgaW4gYSBicm93c2Ug -cmVzcG9uc2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 -eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 -YWx1ZT0iTm9uZV8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZWZlcmVuY2VU -eXBlSWRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNGb3J3YXJkXzIiIC8+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vZGVDbGFzc180IiAvPg0KICAgICAgPHhz -OmVudW1lcmF0aW9uIHZhbHVlPSJCcm93c2VOYW1lXzgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp -b24gdmFsdWU9IkRpc3BsYXlOYW1lXzE2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl -PSJUeXBlRGVmaW5pdGlvbl8zMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQWxs -XzYzIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZWZlcmVuY2VUeXBlSW5mb18z -IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJUYXJnZXRJbmZvXzYwIiAvPg0KICAg -IDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iQnJvd3NlUmVzdWx0TWFzayIgdHlwZT0idG5zOkJyb3dzZVJlc3VsdE1hc2siIC8+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZmVyZW5jZURlc2NyaXB0aW9uIj4NCiAgICA8eHM6YW5u -b3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBkZXNjcmlwdGlvbiBvZiBhIHJl -ZmVyZW5jZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4 -czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgdHlw -ZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iSXNGb3J3YXJkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOkV4cGFuZGVkTm9k -ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iQnJvd3NlTmFtZSIgdHlwZT0idWE6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc3BsYXlOYW1lIiB0 -eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUNsYXNzIiB0eXBlPSJ0bnM6Tm9kZUNsYXNzIiBt -aW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUeXBlRGVmaW5pdGlvbiIg -dHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg -bmFtZT0iUmVmZXJlbmNlRGVzY3JpcHRpb24iIHR5cGU9InRuczpSZWZlcmVuY2VEZXNjcmlwdGlv -biIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUmVmZXJlbmNlRGVzY3JpcHRp -b24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5j -ZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6UmVmZXJlbmNlRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0i -MCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlJl -ZmVyZW5jZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mUmVmZXJlbmNlRGVzY3JpcHRpb24i -IG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ29u -dGludWF0aW9uUG9pbnQiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iQnJvd3NlUmVzdWx0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4 -czpkb2N1bWVudGF0aW9uPlRoZSByZXN1bHQgb2YgYSBicm93c2Ugb3BlcmF0aW9uLjwveHM6ZG9j -dW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9uUG9pbnQi -IHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZXMiIHR5cGU9InRuczpMaXN0T2ZSZWZl -cmVuY2VEZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJC -cm93c2VSZXN1bHQiIHR5cGU9InRuczpCcm93c2VSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9Ikxpc3RPZkJyb3dzZVJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUmVzdWx0IiB0eXBlPSJ0bnM6QnJvd3NlUmVzdWx0IiBt -aW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJMaXN0T2ZCcm93c2VSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VSZXN1bHQiIG5pbGxh -YmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb3dz -ZVJlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+ -QnJvd3NlIHRoZSByZWZlcmVuY2VzIGZvciBvbmUgb3IgbW9yZSBub2RlcyBmcm9tIHRoZSBzZXJ2 -ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9u -Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFk -ZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmlldyIgdHlwZT0idG5zOlZpZXdEZXNjcmlw -dGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlJlcXVlc3RlZE1heFJlZmVyZW5jZXNQZXJOb2RlIiB0eXBlPSJ4czp1bnNpZ25lZElu -dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb0Jyb3dz -ZSIgdHlwZT0idG5zOkxpc3RPZkJyb3dzZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVJlcXVlc3QiIHR5cGU9InRuczpCcm93c2VSZXF1ZXN0 -IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VSZXNwb25zZSI+DQogICAgPHhz -OmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5Ccm93c2UgdGhlIHJlZmVyZW5j -ZXMgZm9yIG9uZSBvciBtb3JlIG5vZGVzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwv -eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNw -b25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VSZXN1bHQiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFn -bm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVJlc3BvbnNlIiB0eXBlPSJ0bnM6QnJvd3Nl -UmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb3dzZU5leHRSZXF1ZXN0 -Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNvbnRpbnVl -cyBvbmUgb3IgbW9yZSBicm93c2Ugb3BlcmF0aW9ucy48L3hzOmRvY3VtZW50YXRpb24+DQogICAg -PC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsZWFzZUNvbnRp -bnVhdGlvblBvaW50cyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9uUG9pbnRzIiB0eXBlPSJ1YTpMaXN0T2ZCeXRl -U3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu -Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZU5leHRS -ZXF1ZXN0IiB0eXBlPSJ0bnM6QnJvd3NlTmV4dFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IkJyb3dzZU5leHRSZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg -ICA8eHM6ZG9jdW1lbnRhdGlvbj5Db250aW51ZXMgb25lIG9yIG1vcmUgYnJvd3NlIG9wZXJhdGlv -bnMuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5z -OlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZkJyb3dzZVJlc3VsdCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlTmV4dFJlc3BvbnNlIiB0eXBlPSJ0 -bnM6QnJvd3NlTmV4dFJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWxh -dGl2ZVBhdGhFbGVtZW50Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVu -dGF0aW9uPkFuIGVsZW1lbnQgaW4gYSByZWxhdGl2ZSBwYXRoLjwveHM6ZG9jdW1lbnRhdGlvbj4N -CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iUmVmZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ludmVyc2UiIHR5 -cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkluY2x1ZGVTdWJ0eXBlcyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0TmFtZSIgdHlwZT0idWE6UXVhbGlmaWVkTmFtZSIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWxhdGl2ZVBhdGhFbGVtZW50 -IiB0eXBlPSJ0bnM6UmVsYXRpdmVQYXRoRWxlbWVudCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iTGlzdE9mUmVsYXRpdmVQYXRoRWxlbWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsYXRpdmVQYXRoRWxlbWVudCIgdHlwZT0idG5zOlJlbGF0 -aXZlUGF0aEVsZW1lbnQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlJlbGF0aXZlUGF0aEVsZW1lbnQiIHR5cGU9InRuczpM -aXN0T2ZSZWxhdGl2ZVBhdGhFbGVtZW50IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWxhdGl2ZVBhdGgiPg0KICAgIDx4czphbm5vdGF0 -aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSByZWxhdGl2ZSBwYXRoIGNvbnN0cnVjdGVk -IGZyb20gcmVmZXJlbmNlIHR5cGVzIGFuZCBicm93c2UgbmFtZXMuPC94czpkb2N1bWVudGF0aW9u -Pg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJFbGVtZW50cyIgdHlwZT0idG5zOkxpc3RPZlJlbGF0aXZlUGF0aEVsZW1lbnQi -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg -PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsYXRpdmVQYXRoIiB0eXBl -PSJ0bnM6UmVsYXRpdmVQYXRoIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VQ -YXRoIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgcmVx -dWVzdCB0byB0cmFuc2xhdGUgYSBwYXRoIGludG8gYSBub2RlIGlkLjwveHM6ZG9jdW1lbnRhdGlv -bj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iU3RhcnRpbmdOb2RlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWxhdGl2ZVBhdGgi -IHR5cGU9InRuczpSZWxhdGl2ZVBhdGgiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg -bmFtZT0iQnJvd3NlUGF0aCIgdHlwZT0idG5zOkJyb3dzZVBhdGgiIC8+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGgiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGgiIHR5cGU9InRuczpCcm93c2VQYXRoIiBtaW5P -Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM -aXN0T2ZCcm93c2VQYXRoIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlUGF0aCIgbmlsbGFibGU9InRy -dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQnJvd3NlUGF0aFRh -cmdldCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUg -dGFyZ2V0IG9mIHRoZSB0cmFuc2xhdGVkIHBhdGguPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwv -eHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJUYXJnZXRJZCIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZW1haW5pbmdQYXRoSW5kZXgi -IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUGF0aFRh -cmdldCIgdHlwZT0idG5zOkJyb3dzZVBhdGhUYXJnZXQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGhUYXJnZXQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGhUYXJnZXQiIHR5cGU9InRuczpCcm93c2VQYXRo -VGFyZ2V0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJMaXN0T2ZCcm93c2VQYXRoVGFyZ2V0IiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3Nl -UGF0aFRhcmdldCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iQnJvd3NlUGF0aFJlc3VsdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg -ICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgcmVzdWx0IG9mIGEgdHJhbnNsYXRlIG9wZWFyYXRpb24u -PC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXND -b2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXRzIiB0 -eXBlPSJ0bnM6TGlzdE9mQnJvd3NlUGF0aFRhcmdldCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJCcm93c2VQYXRoUmVzdWx0IiB0eXBlPSJ0bnM6QnJvd3NlUGF0aFJlc3Vs -dCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJvd3NlUGF0aFJlc3VsdCI+ -DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUGF0aFJl -c3VsdCIgdHlwZT0idG5zOkJyb3dzZVBhdGhSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJz -PSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGhSZXN1 -bHQiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VQYXRoUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94 -czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJUcmFuc2xhdGVCcm93c2VQYXRo -c1RvTm9kZUlkc1JlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3Vt -ZW50YXRpb24+VHJhbnNsYXRlcyBvbmUgb3IgbW9yZSBwYXRocyBpbiB0aGUgc2VydmVyIGFkZHJl -c3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBl -PSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGhzIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3Nl -UGF0aCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl -Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2xhdGVCcm93 -c2VQYXRoc1RvTm9kZUlkc1JlcXVlc3QiIHR5cGU9InRuczpUcmFuc2xhdGVCcm93c2VQYXRoc1Rv -Tm9kZUlkc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlRyYW5zbGF0ZUJy -b3dzZVBhdGhzVG9Ob2RlSWRzUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAg -PHhzOmRvY3VtZW50YXRpb24+VHJhbnNsYXRlcyBvbmUgb3IgbW9yZSBwYXRocyBpbiB0aGUgc2Vy -dmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlv -bj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhl -YWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RP -ZkJyb3dzZVBhdGhSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdu -b3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRyYW5zbGF0 -ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVzcG9uc2UiIHR5cGU9InRuczpUcmFuc2xhdGVCcm93c2VQ -YXRoc1RvTm9kZUlkc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWdp -c3Rlck5vZGVzUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l -bnRhdGlvbj5SZWdpc3RlcnMgb25lIG9yIG1vcmUgbm9kZXMgZm9yIHJlcGVhdGVkIHVzZSB3aXRo -aW4gYSBzZXNzaW9uLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQog -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIg -dHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2Rlc1RvUmVnaXN0ZXIiIHR5cGU9InVhOkxpc3RP -Zk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl -bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWdpc3Rlck5v -ZGVzUmVxdWVzdCIgdHlwZT0idG5zOlJlZ2lzdGVyTm9kZXNSZXF1ZXN0IiAvPg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJSZWdpc3Rlck5vZGVzUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0 -aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+UmVnaXN0ZXJzIG9uZSBvciBtb3JlIG5vZGVz -IGZvciByZXBlYXRlZCB1c2Ugd2l0aGluIGEgc2Vzc2lvbi48L3hzOmRvY3VtZW50YXRpb24+DQog -ICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWdpc3Rl -cmVkTm9kZUlkcyIgdHlwZT0idWE6TGlzdE9mTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyTm9kZXNSZXNwb25zZSIgdHlwZT0idG5zOlJlZ2lzdGVy -Tm9kZXNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVW5yZWdpc3Rlck5v -ZGVzUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlv -bj5VbnJlZ2lzdGVycyBvbmUgb3IgbW9yZSBwcmV2aW91c2x5IHJlZ2lzdGVyZWQgbm9kZXMuPC94 -czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVz -dEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9Ik5vZGVzVG9VbnJlZ2lzdGVyIiB0eXBlPSJ1YTpMaXN0T2ZOb2RlSWQiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVW5yZWdpc3Rlck5vZGVzUmVxdWVzdCIg -dHlwZT0idG5zOlVucmVnaXN0ZXJOb2Rlc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9IlVucmVnaXN0ZXJOb2Rlc1Jlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg -ICAgIDx4czpkb2N1bWVudGF0aW9uPlVucmVnaXN0ZXJzIG9uZSBvciBtb3JlIHByZXZpb3VzbHkg -cmVnaXN0ZXJlZCBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9u -Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVh -ZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iVW5yZWdpc3Rlck5vZGVzUmVzcG9uc2UiIHR5cGU9InRuczpVbnJlZ2lzdGVy -Tm9kZXNSZXNwb25zZSIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb3VudGVyIiB0eXBlPSJ4 -czp1bnNpZ25lZEludCIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOdW1lcmljUmFuZ2UiIHR5 -cGU9InhzOnN0cmluZyIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lIiB0eXBlPSJ4czpz -dHJpbmciIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0ZSIgdHlwZT0ieHM6ZGF0ZVRpbWUi -IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVuZHBvaW50Q29uZmlndXJhdGlvbiI+DQog -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT3BlcmF0aW9uVGltZW91 -dCIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJVc2VCaW5hcnlFbmNvZGluZyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4U3RyaW5nTGVuZ3RoIiB0eXBlPSJ4czppbnQiIG1p -bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heEJ5dGVTdHJpbmdMZW5n -dGgiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iTWF4QXJyYXlMZW5ndGgiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iTWF4TWVzc2FnZVNpemUiIHR5cGU9InhzOmludCIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4QnVmZmVyU2l6ZSIgdHlwZT0ieHM6 -aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDaGFubmVsTGlm -ZXRpbWUiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iU2VjdXJpdHlUb2tlbkxpZmV0aW1lIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJFbmRwb2ludENvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpFbmRwb2ludENvbmZpZ3Vy -YXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkVuZHBvaW50Q29uZmln -dXJhdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5k -cG9pbnRDb25maWd1cmF0aW9uIiB0eXBlPSJ0bnM6RW5kcG9pbnRDb25maWd1cmF0aW9uIiBtaW5P -Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM -aXN0T2ZFbmRwb2ludENvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpMaXN0T2ZFbmRwb2ludENvbmZp -Z3VyYXRpb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5 -cGUgIG5hbWU9IkNvbXBsaWFuY2VMZXZlbCI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9Inhz -OnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVudGVzdGVkXzAiIC8+DQog -ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlBhcnRpYWxfMSIgLz4NCiAgICAgIDx4czplbnVt -ZXJhdGlvbiB2YWx1ZT0iU2VsZlRlc3RlZF8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh -bHVlPSJDZXJ0aWZpZWRfMyIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBs -ZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNvbXBsaWFuY2VMZXZlbCIgdHlwZT0idG5zOkNv -bXBsaWFuY2VMZXZlbCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU3VwcG9ydGVkUHJv -ZmlsZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT3JnYW5p -emF0aW9uVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQcm9maWxlSWQiIHR5cGU9InhzOnN0cmluZyIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkNvbXBsaWFuY2VUb29sIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb21wbGlhbmNlRGF0ZSIgdHlwZT0i -eHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNv -bXBsaWFuY2VMZXZlbCIgdHlwZT0idG5zOkNvbXBsaWFuY2VMZXZlbCIgbWluT2NjdXJzPSIwIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVW5zdXBwb3J0ZWRVbml0SWRzIiB0eXBlPSJ1YTpM -aXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz -ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU3VwcG9y -dGVkUHJvZmlsZSIgdHlwZT0idG5zOlN1cHBvcnRlZFByb2ZpbGUiIC8+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9Ikxpc3RPZlN1cHBvcnRlZFByb2ZpbGUiPg0KICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1cHBvcnRlZFByb2ZpbGUiIHR5cGU9InRuczpTdXBw -b3J0ZWRQcm9maWxlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTdXBwb3J0ZWRQcm9maWxlIiB0eXBlPSJ0bnM6TGlzdE9m -U3VwcG9ydGVkUHJvZmlsZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iU29mdHdhcmVDZXJ0aWZpY2F0ZSI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJvZHVjdE5hbWUiIHR5cGU9InhzOnN0cmluZyIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlByb2R1Y3RVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZlbmRvck5hbWUiIHR5cGU9InhzOnN0cmlu -ZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlZlbmRvclByb2R1Y3RDZXJ0aWZpY2F0ZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU29m -dHdhcmVWZXJzaW9uIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCdWlsZE51bWJlciIgdHlwZT0ieHM6c3Ry -aW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iQnVpbGREYXRlIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNzdWVkQnkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Iklzc3VlRGF0 -ZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlN1cHBvcnRlZFByb2ZpbGVzIiB0eXBlPSJ0bnM6TGlzdE9mU3VwcG9ydGVkUHJvZmls -ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTb2Z0d2FyZUNlcnRpZmlj -YXRlIiB0eXBlPSJ0bnM6U29mdHdhcmVDZXJ0aWZpY2F0ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iUXVlcnlEYXRhRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlJlbGF0aXZlUGF0aCIgdHlwZT0idG5zOlJlbGF0aXZlUGF0aCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXhSYW5nZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5RGF0YURlc2NyaXB0aW9uIiB0eXBl -PSJ0bnM6UXVlcnlEYXRhRGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 -Ikxpc3RPZlF1ZXJ5RGF0YURlc2NyaXB0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJRdWVyeURhdGFEZXNjcmlwdGlvbiIgdHlwZT0idG5zOlF1ZXJ5RGF0 -YURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZRdWVyeURhdGFEZXNjcmlwdGlvbiIgdHlwZT0idG5zOkxp -c3RPZlF1ZXJ5RGF0YURlc2NyaXB0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJOb2RlVHlwZURlc2NyaXB0aW9uIj4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUeXBlRGVmaW5pdGlvbk5vZGUiIHR5 -cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5jbHVkZVN1YlR5cGVzIiB0eXBlPSJ4czpib29sZWFu -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVG9SZXR1cm4i -IHR5cGU9InRuczpMaXN0T2ZRdWVyeURhdGFEZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlVHlwZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6Tm9kZVR5 -cGVEZXNjcmlwdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTm9kZVR5 -cGVEZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iTm9kZVR5cGVEZXNjcmlwdGlvbiIgdHlwZT0idG5zOk5vZGVUeXBlRGVzY3JpcHRpb24iIG1p -bk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -Ikxpc3RPZk5vZGVUeXBlRGVzY3JpcHRpb24iIHR5cGU9InRuczpMaXN0T2ZOb2RlVHlwZURlc2Ny -aXB0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBl -ICBuYW1lPSJGaWx0ZXJPcGVyYXRvciI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0 -cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkVxdWFsc18wIiAvPg0KICAgICAg -PHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJc051bGxfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv -biB2YWx1ZT0iR3JlYXRlclRoYW5fMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i -TGVzc1RoYW5fMyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iR3JlYXRlclRoYW5P -ckVxdWFsXzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ikxlc3NUaGFuT3JFcXVh -bF81IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJMaWtlXzYiIC8+DQogICAgICA8 -eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vdF83IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh -bHVlPSJCZXR3ZWVuXzgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkluTGlzdF85 -IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBbmRfMTAiIC8+DQogICAgICA8eHM6 -ZW51bWVyYXRpb24gdmFsdWU9Ik9yXzExIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl -PSJDYXN0XzEyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJblZpZXdfMTMiIC8+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik9mVHlwZV8xNCIgLz4NCiAgICAgIDx4czpl -bnVtZXJhdGlvbiB2YWx1ZT0iUmVsYXRlZFRvXzE1IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u -IHZhbHVlPSJCaXR3aXNlQW5kXzE2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJC -aXR3aXNlT3JfMTciIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXJPcGVyYXRvciIgdHlwZT0idG5zOkZpbHRlck9w -ZXJhdG9yIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJRdWVyeURhdGFTZXQiPg0KICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6 -RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJUeXBlRGVmaW5pdGlvbk5vZGUiIHR5cGU9InVhOkV4cGFuZGVkTm9k -ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iVmFsdWVzIiB0eXBlPSJ1YTpMaXN0T2ZWYXJpYW50IiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5RGF0YVNldCIgdHlwZT0idG5zOlF1ZXJ5RGF0YVNldCIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUXVlcnlEYXRhU2V0Ij4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeURhdGFTZXQiIHR5cGU9 -InRuczpRdWVyeURhdGFTZXQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlF1ZXJ5RGF0YVNldCIgdHlwZT0idG5zOkxpc3RP -ZlF1ZXJ5RGF0YVNldCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iTm9kZVJlZmVyZW5jZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VUeXBl -SWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IklzRm9yd2FyZCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlZE5vZGVJZHMiIHR5 -cGU9InVhOkxpc3RPZk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJOb2RlUmVmZXJlbmNlIiB0eXBlPSJ0bnM6Tm9kZVJlZmVyZW5jZSIgLz4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iTGlzdE9mTm9kZVJlZmVyZW5jZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZVJlZmVyZW5jZSIgdHlwZT0idG5zOk5vZGVSZWZl -cmVuY2UiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9Ikxpc3RPZk5vZGVSZWZlcmVuY2UiIHR5cGU9InRuczpMaXN0T2ZOb2RlUmVmZXJl -bmNlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJDb250ZW50RmlsdGVyRWxlbWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iRmlsdGVyT3BlcmF0b3IiIHR5cGU9InRuczpGaWx0ZXJPcGVyYXRvciIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyT3BlcmFuZHMi -IHR5cGU9InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJDb250ZW50RmlsdGVyRWxlbWVudCIgdHlwZT0idG5zOkNvbnRlbnRGaWx0 -ZXJFbGVtZW50IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZDb250ZW50Rmls -dGVyRWxlbWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -Q29udGVudEZpbHRlckVsZW1lbnQiIHR5cGU9InRuczpDb250ZW50RmlsdGVyRWxlbWVudCIgbWlu -T2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -TGlzdE9mQ29udGVudEZpbHRlckVsZW1lbnQiIHR5cGU9InRuczpMaXN0T2ZDb250ZW50RmlsdGVy -RWxlbWVudCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iQ29udGVudEZpbHRlciI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iRWxlbWVudHMiIHR5cGU9InRuczpMaXN0T2ZDb250ZW50RmlsdGVyRWxlbWVu -dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb250ZW50RmlsdGVyIiB0 -eXBlPSJ0bnM6Q29udGVudEZpbHRlciIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlz -dE9mQ29udGVudEZpbHRlciI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iQ29udGVudEZpbHRlciIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXIiIG1pbk9jY3Vycz0i -MCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkNv -bnRlbnRGaWx0ZXIiIHR5cGU9InRuczpMaXN0T2ZDb250ZW50RmlsdGVyIiBuaWxsYWJsZT0idHJ1 -ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJGaWx0ZXJPcGVyYW5k -Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyT3BlcmFuZCIgdHlwZT0idG5zOkZpbHRl -ck9wZXJhbmQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVsZW1lbnRPcGVyYW5kIj4N -CiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNp -b24gYmFzZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXgiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lv -bj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJFbGVtZW50T3BlcmFuZCIgdHlwZT0idG5zOkVsZW1lbnRPcGVyYW5kIiAv -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXRlcmFsT3BlcmFuZCI+DQogICAgPHhzOmNv -bXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRu -czpGaWx0ZXJPcGVyYW5kIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlZhbHVlIiB0eXBlPSJ1YTpWYXJpYW50IiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNv -bXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM -aXRlcmFsT3BlcmFuZCIgdHlwZT0idG5zOkxpdGVyYWxPcGVyYW5kIiAvPg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJBdHRyaWJ1dGVPcGVyYW5kIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQg -bWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkZpbHRlck9wZXJh -bmQiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -Tm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWxpYXMiIHR5cGU9InhzOnN0cmluZyIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJCcm93c2VQYXRoIiB0eXBlPSJ0bnM6UmVsYXRpdmVQYXRoIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkF0dHJpYnV0ZUlkIiB0 -eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5z -aW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9IkF0dHJpYnV0ZU9wZXJhbmQiIHR5cGU9InRuczpBdHRyaWJ1dGVPcGVy -YW5kIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTaW1wbGVBdHRyaWJ1dGVPcGVyYW5k -Ij4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRl -bnNpb24gYmFzZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQog -ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHlwZURlZmluaXRpb25JZCIgdHlwZT0idWE6Tm9k -ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkJyb3dzZVBhdGgiIHR5cGU9InVhOkxpc3RPZlF1YWxpZmllZE5hbWUiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -QXR0cmlidXRlSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXhSYW5nZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAg -ICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2ltcGxlQXR0cmlidXRlT3BlcmFuZCIgdHlw -ZT0idG5zOlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h -bWU9Ikxpc3RPZlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIHR5cGU9InRuczpT -aW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVk -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTaW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiB0 -eXBlPSJ0bnM6TGlzdE9mU2ltcGxlQXR0cmlidXRlT3BlcmFuZCIgbmlsbGFibGU9InRydWUiPjwv -eHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ29udGVudEZpbHRlckVsZW1l -bnRSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0 -YXR1c0NvZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9Ik9wZXJhbmRTdGF0dXNDb2RlcyIgdHlwZT0idWE6TGlzdE9mU3RhdHVz -Q29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9Ik9wZXJhbmREaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJ -bmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNvbnRlbnRGaWx0ZXJF -bGVtZW50UmVzdWx0IiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlckVsZW1lbnRSZXN1bHQiIC8+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0 -Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250ZW50Rmls -dGVyRWxlbWVudFJlc3VsdCIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiBt -aW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJMaXN0T2ZDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIgdHlwZT0idG5zOkxpc3RPZkNvbnRl -bnRGaWx0ZXJFbGVtZW50UmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJDb250ZW50RmlsdGVyUmVzdWx0Ij4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbGVtZW50UmVzdWx0cyIgdHlwZT0idG5z -Okxpc3RPZkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRWxlbWVudERpYWdub3N0aWNJbmZv -cyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iQ29udGVudEZpbHRlclJlc3VsdCIgdHlwZT0idG5zOkNvbnRlbnRGaWx0 -ZXJSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlBhcnNpbmdSZXN1bHQiPg0K -ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c0NvZGUiIHR5 -cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IkRhdGFTdGF0dXNDb2RlcyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFEaWFn -bm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlBhcnNpbmdSZXN1bHQiIHR5cGU9InRuczpQYXJzaW5n -UmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZQYXJzaW5nUmVzdWx0 -Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQYXJzaW5nUmVz -dWx0IiB0eXBlPSJ0bnM6UGFyc2luZ1Jlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu -Ym91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUGFyc2luZ1Jlc3VsdCIgdHlw -ZT0idG5zOkxpc3RPZlBhcnNpbmdSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlF1ZXJ5Rmlyc3RSZXF1ZXN0Ij4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0 -bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlZpZXciIHR5cGU9InRuczpWaWV3RGVzY3JpcHRpb24iIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2Rl -VHlwZXMiIHR5cGU9InRuczpMaXN0T2ZOb2RlVHlwZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyIiB0eXBl -PSJ0bnM6Q29udGVudEZpbHRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ik1heERhdGFTZXRzVG9SZXR1cm4iIHR5cGU9InhzOnVuc2ln -bmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhSZWZl -cmVuY2VzVG9SZXR1cm4iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iUXVlcnlGaXJzdFJlcXVlc3QiIHR5cGU9InRuczpRdWVyeUZpcnN0UmVxdWVzdCIgLz4NCg0K -ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUXVlcnlGaXJzdFJlc3BvbnNlIj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5z -OlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlEYXRhU2V0cyIgdHlwZT0idG5zOkxpc3RPZlF1ZXJ5RGF0 -YVNldCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQYXJzaW5n -UmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZlBhcnNpbmdSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3Mi -IHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyUmVzdWx0IiB0eXBlPSJ0bnM6 -Q29udGVudEZpbHRlclJlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJRdWVyeUZpcnN0UmVzcG9uc2UiIHR5cGU9InRuczpRdWVyeUZpcnN0UmVzcG9uc2UiIC8+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlF1ZXJ5TmV4dFJlcXVlc3QiPg0KICAgIDx4czpzZXF1 -ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpS -ZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iUmVsZWFzZUNvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpib29sZWFu -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250aW51YXRpb25Q -b2ludCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9IlF1ZXJ5TmV4dFJlcXVlc3QiIHR5cGU9InRuczpRdWVyeU5leHRSZXF1ZXN0IiAv -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJRdWVyeU5leHRSZXNwb25zZSI+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9 -InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5RGF0YVNldHMiIHR5cGU9InRuczpMaXN0T2ZRdWVy -eURhdGFTZXQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJSZXZpc2VkQ29udGludWF0aW9uUG9pbnQiIHR5cGU9InhzOmJhc2U2NEJpbmFy -eSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeU5leHRSZXNwb25z -ZSIgdHlwZT0idG5zOlF1ZXJ5TmV4dFJlc3BvbnNlIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBu -YW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpz -dHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTb3VyY2VfMCIgLz4NCiAgICAg -IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU2VydmVyXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp -b24gdmFsdWU9IkJvdGhfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTmVpdGhl -cl8zIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiB0eXBlPSJ0bnM6VGltZXN0YW1wc1Rv -UmV0dXJuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWFkVmFsdWVJZCI+DQogICAg -PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpO -b2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJBdHRyaWJ1dGVJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkRhdGFFbmNvZGluZyIgdHlwZT0idWE6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZWFkVmFsdWVJZCIgdHlwZT0idG5zOlJlYWRWYWx1ZUlkIiAv -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZSZWFkVmFsdWVJZCI+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZFZhbHVlSWQiIHR5cGU9InRu -czpSZWFkVmFsdWVJZCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUmVhZFZhbHVlSWQiIHR5cGU9InRuczpMaXN0T2ZSZWFk -VmFsdWVJZCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iUmVhZFJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4QWdl -IiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlRpbWVzdGFtcHNUb1JldHVybiIgdHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb1JlYWQiIHR5cGU9 -InRuczpMaXN0T2ZSZWFkVmFsdWVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJSZWFkUmVxdWVzdCIgdHlwZT0idG5zOlJlYWRSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJSZWFkUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIi -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZEYXRhVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5 -cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9IlJlYWRSZXNwb25zZSIgdHlwZT0idG5zOlJlYWRSZXNwb25zZSIgLz4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeVJlYWRWYWx1ZUlkIj4NCiAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Iklu -ZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFFbmNvZGluZyIgdHlwZT0idWE6UXVhbGlm -aWVkTmFtZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRWYWx1ZUlkIiB0eXBl -PSJ0bnM6SGlzdG9yeVJlYWRWYWx1ZUlkIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJM -aXN0T2ZIaXN0b3J5UmVhZFZhbHVlSWQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9Ikhpc3RvcnlSZWFkVmFsdWVJZCIgdHlwZT0idG5zOkhpc3RvcnlSZWFkVmFs -dWVJZCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iTGlzdE9mSGlzdG9yeVJlYWRWYWx1ZUlkIiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9y -eVJlYWRWYWx1ZUlkIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJIaXN0b3J5UmVhZFJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9uUG9pbnQi -IHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlEYXRhIiB0eXBlPSJ1YTpFeHRlbnNpb25P -YmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRS -ZXN1bHQiIHR5cGU9InRuczpIaXN0b3J5UmVhZFJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iTGlzdE9mSGlzdG9yeVJlYWRSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlSZWFkUmVzdWx0IiB0eXBlPSJ0bnM6SGlzdG9y -eVJlYWRSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9Ikxpc3RPZkhpc3RvcnlSZWFkUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9m -SGlzdG9yeVJlYWRSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhz -OmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlSZWFkRGV0YWlscyI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9Ikhpc3RvcnlSZWFkRGV0YWlscyIgdHlwZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZEV2ZW50RGV0YWlscyI+DQogICAgPHhz -OmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9 -InRuczpIaXN0b3J5UmVhZERldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iTnVtVmFsdWVzUGVyTm9kZSIgdHlwZT0ieHM6dW5zaWduZWRJ -bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFydFRp -bWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iRW5kVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4N -CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXIiIHR5cGU9InRuczpFdmVudEZpbHRl -ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5j -ZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlYWRFdmVudERldGFpbHMiIHR5 -cGU9InRuczpSZWFkRXZlbnREZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJS -ZWFkUmF3TW9kaWZpZWREZXRhaWxzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZh -bHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyI+ -DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc1Jl -YWRNb2RpZmllZCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAg -IDx4czplbGVtZW50IG5hbWU9IlN0YXJ0VGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vy -cz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRUaW1lIiB0eXBlPSJ4czpk -YXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik51 -bVZhbHVlc1Blck5vZGUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV0dXJuQm91bmRzIiB0eXBlPSJ4czpib29sZWFu -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4 -dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZWFkUmF3TW9kaWZpZWREZXRhaWxzIiB0eXBlPSJ0bnM6UmVh -ZFJhd01vZGlmaWVkRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZFBy -b2Nlc3NlZERldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0K -ICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICAg -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXJ0VGltZSIg -dHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJFbmRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgICAgIDx4czplbGVtZW50IG5hbWU9IlByb2Nlc3NpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91 -YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWdncmVn -YXRlVHlwZSIgdHlwZT0idWE6TGlzdE9mTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRp -b24iIHR5cGU9InRuczpBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNp -b24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iUmVhZFByb2Nlc3NlZERldGFpbHMiIHR5cGU9InRuczpSZWFkUHJvY2Vz -c2VkRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZEF0VGltZURldGFp -bHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4 -dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICAgICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcVRpbWVzIiB0eXBlPSJ1YTpMaXN0 -T2ZEYXRlVGltZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJVc2VTaW1wbGVCb3VuZHMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9u -Pg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9IlJlYWRBdFRpbWVEZXRhaWxzIiB0eXBlPSJ0bnM6UmVhZEF0VGltZURldGFp -bHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlEYXRhIj4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVmFsdWVzIiB0eXBlPSJ1YTpM -aXN0T2ZEYXRhVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 -czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlz -dG9yeURhdGEiIHR5cGU9InRuczpIaXN0b3J5RGF0YSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iTW9kaWZpY2F0aW9uSW5mbyI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iTW9kaWZpY2F0aW9uVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vy -cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVwZGF0ZVR5cGUiIHR5cGU9InRuczpI -aXN0b3J5VXBkYXRlVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iVXNlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJNb2RpZmljYXRpb25JbmZvIiB0eXBlPSJ0bnM6TW9kaWZpY2F0aW9uSW5mbyIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTW9kaWZpY2F0aW9uSW5mbyI+DQog -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZpY2F0aW9uSW5m -byIgdHlwZT0idG5zOk1vZGlmaWNhdGlvbkluZm8iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1 -bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk1vZGlmaWNhdGlvbkluZm8i -IHR5cGU9InRuczpMaXN0T2ZNb2RpZmljYXRpb25JbmZvIiBuaWxsYWJsZT0idHJ1ZSI+PC94czpl -bGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5TW9kaWZpZWREYXRhIj4N -CiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNp -b24gYmFzZT0idG5zOkhpc3RvcnlEYXRhIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmaWNhdGlvbkluZm9zIiB0eXBlPSJ0bnM6TGlzdE9m -TW9kaWZpY2F0aW9uSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -ICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxl -eENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3Rv -cnlNb2RpZmllZERhdGEiIHR5cGU9InRuczpIaXN0b3J5TW9kaWZpZWREYXRhIiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5RXZlbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50cyIgdHlwZT0idG5zOkxpc3RPZkhpc3RvcnlFdmVu -dEZpZWxkTGlzdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5 -RXZlbnQiIHR5cGU9InRuczpIaXN0b3J5RXZlbnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h -bWU9Ikhpc3RvcnlSZWFkUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0 -b3J5UmVhZERldGFpbHMiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRpbWVzdGFtcHNUb1Jl -dHVybiIgdHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsZWFzZUNvbnRpbnVhdGlvblBvaW50cyIgdHlwZT0ieHM6 -Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNU -b1JlYWQiIHR5cGU9InRuczpMaXN0T2ZIaXN0b3J5UmVhZFZhbHVlSWQiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRSZXF1ZXN0IiB0eXBlPSJ0bnM6SGlz -dG9yeVJlYWRSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5UmVh -ZFJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS -ZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0i -dG5zOkxpc3RPZkhpc3RvcnlSZWFkUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpM -aXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJIaXN0b3J5UmVhZFJlc3BvbnNlIiB0eXBlPSJ0bnM6SGlzdG9yeVJlYWRSZXNwb25zZSIgLz4N -Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iV3JpdGVWYWx1ZSI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdHRy -aWJ1dGVJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlIiB0eXBl -PSJ1YTpEYXRhVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 -czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iV3Jp -dGVWYWx1ZSIgdHlwZT0idG5zOldyaXRlVmFsdWUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h -bWU9Ikxpc3RPZldyaXRlVmFsdWUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IldyaXRlVmFsdWUiIHR5cGU9InRuczpXcml0ZVZhbHVlIiBtaW5PY2N1cnM9IjAi -IG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl -bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZXcml0 -ZVZhbHVlIiB0eXBlPSJ0bnM6TGlzdE9mV3JpdGVWYWx1ZSIgbmlsbGFibGU9InRydWUiPjwveHM6 -ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iV3JpdGVSZXF1ZXN0Ij4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBl -PSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVzVG9Xcml0ZSIgdHlwZT0idG5zOkxpc3RPZldyaXRl -VmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVSZXF1ZXN0 -IiB0eXBlPSJ0bnM6V3JpdGVSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJX -cml0ZVJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlw -ZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9m -RGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 -czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iV3Jp -dGVSZXNwb25zZSIgdHlwZT0idG5zOldyaXRlUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9Ikhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5VXBkYXRlRGV0YWlscyIgdHlwZT0idG5z -Okhpc3RvcnlVcGRhdGVEZXRhaWxzIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJIaXN0 -b3J5VXBkYXRlVHlwZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQog -ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ikluc2VydF8xIiAvPg0KICAgICAgPHhzOmVudW1l -cmF0aW9uIHZhbHVlPSJSZXBsYWNlXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 -IlVwZGF0ZV8zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEZWxldGVfNCIgLz4N -CiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9Ikhpc3RvcnlVcGRhdGVUeXBlIiB0eXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZVR5cGUiIC8+ -DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IlBlcmZvcm1VcGRhdGVUeXBlIj4NCiAgICA8eHM6 -cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 -ZT0iSW5zZXJ0XzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlcGxhY2VfMiIg -Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVXBkYXRlXzMiIC8+DQogICAgICA8eHM6 -ZW51bWVyYXRpb24gdmFsdWU9IlJlbW92ZV80IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQog -IDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUGVyZm9ybVVwZGF0ZVR5cGUi -IHR5cGU9InRuczpQZXJmb3JtVXBkYXRlVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt -ZT0iVXBkYXRlRGF0YURldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFs -c2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMi -Pg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUGVy -Zm9ybUluc2VydFJlcGxhY2UiIHR5cGU9InRuczpQZXJmb3JtVXBkYXRlVHlwZSIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlVwZGF0ZVZhbHVlcyIgdHlwZT0i -dWE6TGlzdE9mRGF0YVZhbHVlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21w -bGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVXBk -YXRlRGF0YURldGFpbHMiIHR5cGU9InRuczpVcGRhdGVEYXRhRGV0YWlscyIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iVXBkYXRlU3RydWN0dXJlRGF0YURldGFpbHMiPg0KICAgIDx4czpj -b21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0 -bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUGVyZm9ybUluc2VydFJlcGxhY2UiIHR5cGU9InRuczpQZXJm -b3JtVXBkYXRlVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h -bWU9IlVwZGF0ZVZhbHVlcyIgdHlwZT0idWE6TGlzdE9mRGF0YVZhbHVlIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpl -eHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iVXBkYXRlU3RydWN0dXJlRGF0YURldGFpbHMiIHR5cGU9InRu -czpVcGRhdGVTdHJ1Y3R1cmVEYXRhRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt -ZT0iVXBkYXRlRXZlbnREZXRhaWxzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZh -bHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxz -Ij4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlBl -cmZvcm1JbnNlcnRSZXBsYWNlIiB0eXBlPSJ0bnM6UGVyZm9ybVVwZGF0ZVR5cGUiIG1pbk9jY3Vy -cz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXIiIHR5cGU9InRuczpF -dmVudEZpbHRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJFdmVudERhdGEiIHR5cGU9InRuczpMaXN0T2ZIaXN0b3J5RXZlbnRG -aWVsZExpc3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6 -c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50 -Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVcGRhdGVFdmVudERl -dGFpbHMiIHR5cGU9InRuczpVcGRhdGVFdmVudERldGFpbHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IkRlbGV0ZVJhd01vZGlmaWVkRGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250 -ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5 -VXBkYXRlRGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJJc0RlbGV0ZU1vZGlmaWVkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhcnRUaW1lIiB0eXBlPSJ4czpk -YXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkVu -ZFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6 -c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50 -Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVSYXdNb2Rp -ZmllZERldGFpbHMiIHR5cGU9InRuczpEZWxldGVSYXdNb2RpZmllZERldGFpbHMiIC8+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZUF0VGltZURldGFpbHMiPg0KICAgIDx4czpjb21w -bGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6 -SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUmVxVGltZXMiIHR5cGU9InVhOkxpc3RPZkRhdGVUaW1lIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAg -ICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlQXRUaW1lRGV0YWlscyIgdHlwZT0i -dG5zOkRlbGV0ZUF0VGltZURldGFpbHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRl -bGV0ZUV2ZW50RGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+ -DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQog -ICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudElk -cyIgdHlwZT0idWE6TGlzdE9mQnl0ZVN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAg -IDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9IkRlbGV0ZUV2ZW50RGV0YWlscyIgdHlwZT0idG5zOkRlbGV0ZUV2ZW50RGV0YWlscyIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3VsdCI+DQogICAg -PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0i -dWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -T3BlcmF0aW9uUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJ -bmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3VsdCIgdHlwZT0idG5zOkhpc3RvcnlV -cGRhdGVSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkhpc3RvcnlV -cGRhdGVSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -Ikhpc3RvcnlVcGRhdGVSZXN1bHQiIHR5cGU9InRuczpIaXN0b3J5VXBkYXRlUmVzdWx0IiBtaW5P -Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM -aXN0T2ZIaXN0b3J5VXBkYXRlUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeVVwZGF0ZVJl -c3VsdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iSGlzdG9yeVVwZGF0ZVJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -SGlzdG9yeVVwZGF0ZURldGFpbHMiIHR5cGU9InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5VXBkYXRlUmVxdWVzdCIg -dHlwZT0idG5zOkhpc3RvcnlVcGRhdGVSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJIaXN0b3J5VXBkYXRlUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIi -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJSZXN1bHRzIiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeVVwZGF0ZVJlc3VsdCIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0 -aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3BvbnNlIiB0eXBlPSJ0bnM6SGlz -dG9yeVVwZGF0ZVJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDYWxsTWV0 -aG9kUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -T2JqZWN0SWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1ldGhvZElkIiB0eXBlPSJ1YTpOb2RlSWQiIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJ -bnB1dEFyZ3VtZW50cyIgdHlwZT0idWE6TGlzdE9mVmFyaWFudCIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJDYWxsTWV0aG9kUmVxdWVzdCIgdHlwZT0idG5zOkNhbGxNZXRo -b2RSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZDYWxsTWV0aG9k -UmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2Fs -bE1ldGhvZFJlcXVlc3QiIHR5cGU9InRuczpDYWxsTWV0aG9kUmVxdWVzdCIgbWluT2NjdXJzPSIw -IiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 -ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQ2Fs -bE1ldGhvZFJlcXVlc3QiIHR5cGU9InRuczpMaXN0T2ZDYWxsTWV0aG9kUmVxdWVzdCIgbmlsbGFi -bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2FsbE1l -dGhvZFJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -U3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iSW5wdXRBcmd1bWVudFJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0 -YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJJbnB1dEFyZ3VtZW50RGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZE -aWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9Ik91dHB1dEFyZ3VtZW50cyIgdHlwZT0idWE6TGlzdE9mVmFyaWFudCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDYWxsTWV0aG9kUmVzdWx0IiB0 -eXBlPSJ0bnM6Q2FsbE1ldGhvZFJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -TGlzdE9mQ2FsbE1ldGhvZFJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iQ2FsbE1ldGhvZFJlc3VsdCIgdHlwZT0idG5zOkNhbGxNZXRob2RSZXN1bHQi -IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9Ikxpc3RPZkNhbGxNZXRob2RSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZDYWxsTWV0aG9kUmVz -dWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJDYWxsUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXRob2RzVG9D -YWxsIiB0eXBlPSJ0bnM6TGlzdE9mQ2FsbE1ldGhvZFJlcXVlc3QiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iQ2FsbFJlcXVlc3QiIHR5cGU9InRuczpDYWxsUmVxdWVzdCIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2FsbFJlc3BvbnNlIj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5z -OlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZkNhbGxNZXRob2RSZXN1 -bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNhbGxSZXNwb25zZSIgdHlwZT0idG5z -OkNhbGxSZXNwb25zZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iTW9uaXRvcmluZ01v -ZGUiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVu -dW1lcmF0aW9uIHZhbHVlPSJEaXNhYmxlZF8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh -bHVlPSJTYW1wbGluZ18xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZXBvcnRp -bmdfMiIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9Ik1vbml0b3JpbmdNb2RlIiB0eXBlPSJ0bnM6TW9uaXRvcmluZ01vZGUi -IC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkRhdGFDaGFuZ2VUcmlnZ2VyIj4NCiAgICA8 -eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 -YWx1ZT0iU3RhdHVzXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN0YXR1c1Zh -bHVlXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN0YXR1c1ZhbHVlVGltZXN0 -YW1wXzIiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJEYXRhQ2hhbmdlVHJpZ2dlciIgdHlwZT0idG5zOkRhdGFDaGFuZ2VU -cmlnZ2VyIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJEZWFkYmFuZFR5cGUiPg0KICAg -IDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9u -IHZhbHVlPSJOb25lXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFic29sdXRl -XzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlBlcmNlbnRfMiIgLz4NCiAgICA8 -L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -IkRlYWRiYW5kVHlwZSIgdHlwZT0idG5zOkRlYWRiYW5kVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iTW9uaXRvcmluZ0ZpbHRlciI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwv -eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1v -bml0b3JpbmdGaWx0ZXIiIHR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVyIiAvPg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJEYXRhQ2hhbmdlRmlsdGVyIj4NCiAgICA8eHM6Y29tcGxleENvbnRl -bnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk1vbml0b3Jp -bmdGaWx0ZXIiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iVHJpZ2dlciIgdHlwZT0idG5zOkRhdGFDaGFuZ2VUcmlnZ2VyIiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVhZGJhbmRUeXBlIiB0eXBlPSJ4czp1 -bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkRlYWRiYW5kVmFsdWUiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg -ICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4 -Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YUNo -YW5nZUZpbHRlciIgdHlwZT0idG5zOkRhdGFDaGFuZ2VGaWx0ZXIiIC8+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9IkV2ZW50RmlsdGVyIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9 -ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk1vbml0b3JpbmdGaWx0ZXIi -Pg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vs -ZWN0Q2xhdXNlcyIgdHlwZT0idG5zOkxpc3RPZlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -V2hlcmVDbGF1c2UiIHR5cGU9InRuczpDb250ZW50RmlsdGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNp -b24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iRXZlbnRGaWx0ZXIiIHR5cGU9InRuczpFdmVudEZpbHRlciIgLz4NCg0K -ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWdncmVnYXRlQ29uZmlndXJhdGlvbiI+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlU2VydmVyQ2FwYWJpbGl0aWVz -RGVmYXVsdHMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlRyZWF0VW5jZXJ0YWluQXNCYWQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBlcmNlbnREYXRhQmFkIiB0eXBl -PSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlBlcmNlbnREYXRhR29vZCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VTbG9wZWRFeHRyYXBvbGF0aW9uIiB0eXBl -PSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWdncmVnYXRlQ29uZmlndXJhdGlv -biIgdHlwZT0idG5zOkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IkFnZ3JlZ2F0ZUZpbHRlciI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVk -PSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpNb25pdG9yaW5nRmlsdGVy -Ij4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0 -YXJ0VGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJBZ2dyZWdhdGVUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJv -Y2Vzc2luZ0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiB0eXBlPSJ0bnM6 -QWdncmVnYXRlQ29uZmlndXJhdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6 -Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -IkFnZ3JlZ2F0ZUZpbHRlciIgdHlwZT0idG5zOkFnZ3JlZ2F0ZUZpbHRlciIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iTW9uaXRvcmluZ0ZpbHRlclJlc3VsdCI+DQogICAgPHhzOnNlcXVl -bmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9Ik1vbml0b3JpbmdGaWx0ZXJSZXN1bHQiIHR5cGU9InRuczpNb25pdG9yaW5nRmls -dGVyUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFdmVudEZpbHRlclJlc3Vs -dCI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0 -ZW5zaW9uIGJhc2U9InRuczpNb25pdG9yaW5nRmlsdGVyUmVzdWx0Ij4NCiAgICAgICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlbGVjdENsYXVzZVJlc3VsdHMi -IHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VsZWN0Q2xhdXNlRGlhZ25vc3RpY0lu -Zm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJXaGVyZUNsYXVzZVJlc3Vs -dCIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXJSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4N -CiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJFdmVudEZpbHRlclJlc3VsdCIgdHlwZT0idG5zOkV2ZW50RmlsdGVyUmVzdWx0 -IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZ2dyZWdhdGVGaWx0ZXJSZXN1bHQiPg0K -ICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lv -biBiYXNlPSJ0bnM6TW9uaXRvcmluZ0ZpbHRlclJlc3VsdCI+DQogICAgICAgIDx4czpzZXF1ZW5j -ZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkU3RhcnRUaW1lIiB0eXBlPSJ4 -czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlJldmlzZWRQcm9jZXNzaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRBZ2dyZWdhdGVDb25maWd1 -cmF0aW9uIiB0eXBlPSJ0bnM6QWdncmVnYXRlQ29uZmlndXJhdGlvbiIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0 -ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9IkFnZ3JlZ2F0ZUZpbHRlclJlc3VsdCIgdHlwZT0idG5zOkFnZ3Jl -Z2F0ZUZpbHRlclJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9uaXRvcmlu -Z1BhcmFtZXRlcnMiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkNsaWVudEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlNhbXBsaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyIiB0eXBlPSJ1 -YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJRdWV1ZVNpemUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjYXJkT2xkZXN0IiB0eXBl -PSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ1BhcmFtZXRlcnMi -IHR5cGU9InRuczpNb25pdG9yaW5nUGFyYW1ldGVycyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ikl0ZW1Ub01vbml0b3IiIHR5cGU9InRuczpSZWFkVmFsdWVJ -ZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9Ik1vbml0b3JpbmdNb2RlIiB0eXBlPSJ0bnM6TW9uaXRvcmluZ01vZGUiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZFBhcmFtZXRlcnMiIHR5cGU9 -InRuczpNb25pdG9yaW5nUGFyYW1ldGVycyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIgdHlwZT0idG5zOk1vbml0b3JlZEl0 -ZW1DcmVhdGVSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb25p -dG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIHR5cGU9InRuczpNb25pdG9y -ZWRJdGVtQ3JlYXRlUmVxdWVzdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3Qi -IHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIgbmlsbGFibGU9InRy -dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9uaXRvcmVkSXRl -bUNyZWF0ZVJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUlkIiB0eXBlPSJ4czp1bnNpZ25lZElu -dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFNhbXBs -aW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iUmV2aXNlZFF1ZXVlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1p -bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlclJlc3VsdCIgdHlw -ZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9Ik1vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIHR5cGU9InRuczpNb25pdG9yZWRJdGVtQ3Jl -YXRlUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJ -dGVtQ3JlYXRlUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0IiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRlbUNy -ZWF0ZVJlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbUNyZWF0ZVJlc3VsdCIgdHlwZT0idG5z -Okxpc3RPZk1vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVs -ZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zUmVx -dWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVz -dEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlwZT0i -eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlRpbWVzdGFtcHNUb1JldHVybiIgdHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXRlbXNUb0NyZWF0ZSIgdHlwZT0i -dG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0IiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgdHlwZT0idG5z -OkNyZWF0ZU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt -ZT0iQ3JlYXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhl -YWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0 -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVNb25pdG9yZWRJdGVtc1Jlc3Bv -bnNlIiB0eXBlPSJ0bnM6Q3JlYXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVlc3QiPg0KICAgIDx4czpz -ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1JZCIgdHlwZT0i -eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlJlcXVlc3RlZFBhcmFtZXRlcnMiIHR5cGU9InRuczpNb25pdG9yaW5nUGFyYW1ldGVycyIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtTW9kaWZ5UmVx -dWVzdCIgdHlwZT0idG5zOk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiAvPg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCI+DQogICAg -PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlm -eVJlcXVlc3QiIHR5cGU9InRuczpNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCIgbWluT2NjdXJz -PSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz -ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9m -TW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVlc3QiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVt -TW9kaWZ5UmVxdWVzdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCI+DQogICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVz -Q29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFNh -bXBsaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFF1ZXVlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlclJlc3VsdCIg -dHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9Ik1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIHR5cGU9InRuczpNb25pdG9yZWRJdGVt -TW9kaWZ5UmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb25pdG9y -ZWRJdGVtTW9kaWZ5UmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0IiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRl -bU1vZGlmeVJlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCIgdHlwZT0i -dG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hz -OmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1vZGlmeU1vbml0b3JlZEl0ZW1z -UmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVx -dWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlw -ZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlRpbWVzdGFtcHNUb1JldHVybiIgdHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXRlbXNUb01vZGlmeSIgdHlw -ZT0idG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmeU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgdHlwZT0i -dG5zOk1vZGlmeU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iTW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25z -ZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtTW9kaWZ5UmVz -dWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZnlNb25pdG9yZWRJdGVtc1Jl -c3BvbnNlIiB0eXBlPSJ0bnM6TW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgLz4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iU2V0TW9uaXRvcmluZ01vZGVSZXF1ZXN0Ij4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0 -bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ01vZGUi -IHR5cGU9InRuczpNb25pdG9yaW5nTW9kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUlkcyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNldE1vbml0b3JpbmdNb2RlUmVxdWVz -dCIgdHlwZT0idG5zOlNldE1vbml0b3JpbmdNb2RlUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iU2V0TW9uaXRvcmluZ01vZGVSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNw -b25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9z -dGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9IlNldE1vbml0b3JpbmdNb2RlUmVzcG9uc2UiIHR5cGU9InRu -czpTZXRNb25pdG9yaW5nTW9kZVJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJTZXRUcmlnZ2VyaW5nUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJz -Y3JpcHRpb25JZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlRyaWdnZXJpbmdJdGVtSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50 -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaW5rc1RvQWRkIiB0 -eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaW5rc1RvUmVtb3ZlIiB0eXBlPSJ1YTpMaXN0T2ZVSW50 -MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0VHJpZ2dlcmluZ1Jl -cXVlc3QiIHR5cGU9InRuczpTZXRUcmlnZ2VyaW5nUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iU2V0VHJpZ2dlcmluZ1Jlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNl -SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iQWRkUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZERpYWdu -b3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZW1vdmVSZXN1bHRz -IiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVtb3ZlRGlhZ25vc3RpY0luZm9zIiB0eXBl -PSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJTZXRUcmlnZ2VyaW5nUmVzcG9uc2UiIHR5cGU9InRuczpTZXRUcmlnZ2VyaW5nUmVz -cG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1z -UmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVx -dWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlw -ZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9Ik1vbml0b3JlZEl0ZW1JZHMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVNb25pdG9yZWRJdGVtc1JlcXVlc3QiIHR5 -cGU9InRuczpEZWxldGVNb25pdG9yZWRJdGVtc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5j -ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVz -cG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25v -c3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiB0eXBl -PSJ0bnM6RGVsZXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iQ3JlYXRlU3Vic2NyaXB0aW9uUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RI -ZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJSZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTGlmZXRpbWVD -b3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25l -ZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4Tm90aWZp -Y2F0aW9uc1BlclB1Ymxpc2giIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoaW5nRW5hYmxlZCIgdHlwZT0ieHM6Ym9v -bGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJpb3JpdHki -IHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVu -Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZVN1YnNj -cmlwdGlvblJlcXVlc3QiIHR5cGU9InRuczpDcmVhdGVTdWJzY3JpcHRpb25SZXF1ZXN0IiAvPg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDcmVhdGVTdWJzY3JpcHRpb25SZXNwb25zZSI+DQog -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIi -IHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNp -Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNl -ZFB1Ymxpc2hpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkTGlmZXRpbWVDb3VudCIgdHlwZT0ieHM6dW5z -aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlz -ZWRNYXhLZWVwQWxpdmVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJDcmVhdGVTdWJzY3JpcHRpb25SZXNwb25zZSIgdHlwZT0idG5zOkNyZWF0ZVN1YnNj -cmlwdGlvblJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb2RpZnlTdWJz -Y3JpcHRpb25SZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlv -bklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZExpZmV0 -aW1lQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudCIgdHlwZT0ieHM6dW5z -aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heE5v -dGlmaWNhdGlvbnNQZXJQdWJsaXNoIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJpb3JpdHkiIHR5cGU9InhzOnVuc2lnbmVk -Qnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvblJlcXVlc3QiIHR5 -cGU9InRuczpNb2RpZnlTdWJzY3JpcHRpb25SZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJNb2RpZnlTdWJzY3JpcHRpb25SZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25z -ZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlJldmlzZWRQdWJsaXNoaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZExpZmV0aW1lQ291 -bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJSZXZpc2VkTWF4S2VlcEFsaXZlQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50 -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZ5U3Vic2NyaXB0aW9uUmVzcG9uc2UiIHR5cGU9 -InRuczpNb2RpZnlTdWJzY3JpcHRpb25SZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iU2V0UHVibGlzaGluZ01vZGVSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRl -ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlB1Ymxpc2hpbmdFbmFibGVkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZHMiIHR5cGU9InVhOkxpc3RP -ZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl -bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRQdWJsaXNo -aW5nTW9kZVJlcXVlc3QiIHR5cGU9InRuczpTZXRQdWJsaXNoaW5nTW9kZVJlcXVlc3QiIC8+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNldFB1Ymxpc2hpbmdNb2RlUmVzcG9uc2UiPg0KICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0 -eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXND -b2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRQdWJsaXNoaW5nTW9kZVJlc3Bv -bnNlIiB0eXBlPSJ0bnM6U2V0UHVibGlzaGluZ01vZGVSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iTm90aWZpY2F0aW9uTWVzc2FnZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VxdWVuY2VOdW1iZXIiIHR5cGU9InhzOnVuc2lnbmVk -SW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoVGlt -ZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9Ik5vdGlmaWNhdGlvbkRhdGEiIHR5cGU9InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOb3RpZmljYXRpb25NZXNzYWdl -IiB0eXBlPSJ0bnM6Tm90aWZpY2F0aW9uTWVzc2FnZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iTm90aWZpY2F0aW9uRGF0YSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik5vdGlmaWNh -dGlvbkRhdGEiIHR5cGU9InRuczpOb3RpZmljYXRpb25EYXRhIiAvPg0KDQogIDx4czpjb21wbGV4 -VHlwZSBuYW1lPSJEYXRhQ2hhbmdlTm90aWZpY2F0aW9uIj4NCiAgICA8eHM6Y29tcGxleENvbnRl -bnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk5vdGlmaWNh -dGlvbkRhdGEiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iTW9uaXRvcmVkSXRlbXMiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtTm90aWZp -Y2F0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czpl -bGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0lu -Zm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVu -Y2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhQ2hhbmdlTm90aWZpY2F0 -aW9uIiB0eXBlPSJ0bnM6RGF0YUNoYW5nZU5vdGlmaWNhdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iTW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50SGFuZGxlIiB0eXBlPSJ4czp1bnNpZ25l -ZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUiIHR5 -cGU9InVhOkRhdGFWYWx1ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJN -b25pdG9yZWRJdGVtTm90aWZpY2F0aW9uIiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRlbU5vdGlmaWNh -dGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbU5v -dGlmaWNhdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -TW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiIgdHlwZT0idG5zOk1vbml0b3JlZEl0ZW1Ob3RpZmlj -YXRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9Ikxpc3RPZk1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iIHR5cGU9InRuczpMaXN0 -T2ZNb25pdG9yZWRJdGVtTm90aWZpY2F0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50 -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFdmVudE5vdGlmaWNhdGlvbkxpc3QiPg0KICAg -IDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBi -YXNlPSJ0bnM6Tm90aWZpY2F0aW9uRGF0YSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudHMiIHR5cGU9InRuczpMaXN0T2ZFdmVudEZpZWxk -TGlzdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1 -ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQog -IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkV2ZW50Tm90aWZpY2F0aW9u -TGlzdCIgdHlwZT0idG5zOkV2ZW50Tm90aWZpY2F0aW9uTGlzdCIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iRXZlbnRGaWVsZExpc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IkNsaWVudEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50RmllbGRzIiB0eXBlPSJ1 -YTpMaXN0T2ZWYXJpYW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv -eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkV2 -ZW50RmllbGRMaXN0IiB0eXBlPSJ0bnM6RXZlbnRGaWVsZExpc3QiIC8+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9Ikxpc3RPZkV2ZW50RmllbGRMaXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudEZpZWxkTGlzdCIgdHlwZT0idG5zOkV2ZW50Rmll -bGRMaXN0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJMaXN0T2ZFdmVudEZpZWxkTGlzdCIgdHlwZT0idG5zOkxpc3RPZkV2ZW50Rmll -bGRMaXN0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJIaXN0b3J5RXZlbnRGaWVsZExpc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IkV2ZW50RmllbGRzIiB0eXBlPSJ1YTpMaXN0T2ZWYXJpYW50IiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlFdmVudEZpZWxkTGlz -dCIgdHlwZT0idG5zOkhpc3RvcnlFdmVudEZpZWxkTGlzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iTGlzdE9mSGlzdG9yeUV2ZW50RmllbGRMaXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5RXZlbnRGaWVsZExpc3QiIHR5cGU9InRu -czpIaXN0b3J5RXZlbnRGaWVsZExpc3QiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5k -ZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkhpc3RvcnlFdmVudEZpZWxkTGlzdCIg -dHlwZT0idG5zOkxpc3RPZkhpc3RvcnlFdmVudEZpZWxkTGlzdCIgbmlsbGFibGU9InRydWUiPjwv -eHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU3RhdHVzQ2hhbmdlTm90aWZp -Y2F0aW9uIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4 -czpleHRlbnNpb24gYmFzZT0idG5zOk5vdGlmaWNhdGlvbkRhdGEiPg0KICAgICAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzIiB0eXBlPSJ1YTpTdGF0 -dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlh -Z25vc3RpY0luZm8iIHR5cGU9InVhOkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNp -b24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iU3RhdHVzQ2hhbmdlTm90aWZpY2F0aW9uIiB0eXBlPSJ0bnM6U3RhdHVz -Q2hhbmdlTm90aWZpY2F0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTdWJzY3Jp -cHRpb25BY2tub3dsZWRnZW1lbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VxdWVuY2VOdW1iZXIiIHR5cGU9Inhz -OnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uQWNrbm93bGVk -Z2VtZW50IiB0eXBlPSJ0bnM6U3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50IiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiPg0K -ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbkFj -a25vd2xlZGdlbWVudCIgdHlwZT0idG5zOlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudCIgbWlu -T2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -TGlzdE9mU3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50IiB0eXBlPSJ0bnM6TGlzdE9mU3Vic2Ny -aXB0aW9uQWNrbm93bGVkZ2VtZW50IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJQdWJsaXNoUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVl -c3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnRzIiB0eXBlPSJ0bnM6TGlzdE9m -U3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9IlB1Ymxpc2hSZXF1ZXN0IiB0eXBlPSJ0bnM6UHVibGlzaFJlcXVlc3QiIC8+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlB1Ymxpc2hSZXNwb25zZSI+DQogICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpS -ZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXZhaWxhYmxlU2VxdWVuY2VO -dW1iZXJzIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb3JlTm90aWZpY2F0aW9ucyIgdHlwZT0i -eHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm90 -aWZpY2F0aW9uTWVzc2FnZSIgdHlwZT0idG5zOk5vdGlmaWNhdGlvbk1lc3NhZ2UiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRz -IiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpM -aXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJQdWJsaXNoUmVzcG9uc2UiIHR5cGU9InRuczpQdWJsaXNoUmVzcG9uc2UiIC8+DQoNCiAgPHhz -OmNvbXBsZXhUeXBlIG5hbWU9IlJlcHVibGlzaFJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0 -SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXRyYW5zbWl0U2VxdWVuY2VOdW1iZXIi -IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVwdWJsaXNoUmVx -dWVzdCIgdHlwZT0idG5zOlJlcHVibGlzaFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9IlJlcHVibGlzaFJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -Tm90aWZpY2F0aW9uTWVzc2FnZSIgdHlwZT0idG5zOk5vdGlmaWNhdGlvbk1lc3NhZ2UiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVwdWJsaXNoUmVzcG9uc2UiIHR5cGU9 -InRuczpSZXB1Ymxpc2hSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVHJh -bnNmZXJSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlN0YXR1c0NvZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IkF2YWlsYWJsZVNlcXVlbmNlTnVtYmVycyIgdHlwZT0idWE6TGlz -dE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRyYW5zZmVy -UmVzdWx0IiB0eXBlPSJ0bnM6VHJhbnNmZXJSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9Ikxpc3RPZlRyYW5zZmVyUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2ZlclJlc3VsdCIgdHlwZT0idG5zOlRyYW5zZmVyUmVzdWx0 -IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJMaXN0T2ZUcmFuc2ZlclJlc3VsdCIgdHlwZT0idG5zOkxpc3RPZlRyYW5zZmVyUmVzdWx0 -IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJUcmFuc2ZlclN1YnNjcmlwdGlvbnNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRl -ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlN1YnNjcmlwdGlvbklkcyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VuZEluaXRpYWxW -YWx1ZXMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVl -bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2ZlclN1 -YnNjcmlwdGlvbnNSZXF1ZXN0IiB0eXBlPSJ0bnM6VHJhbnNmZXJTdWJzY3JpcHRpb25zUmVxdWVz -dCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVHJhbnNmZXJTdWJzY3JpcHRpb25zUmVz -cG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3Bv -bnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ0bnM6 -TGlzdE9mVHJhbnNmZXJSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRp -YWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 -c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRyYW5z -ZmVyU3Vic2NyaXB0aW9uc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6VHJhbnNmZXJTdWJzY3JpcHRpb25z -UmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZVN1YnNjcmlwdGlv -bnNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS -ZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkcyIg -dHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9IkRlbGV0ZVN1YnNjcmlwdGlvbnNSZXF1ZXN0IiB0eXBlPSJ0bnM6RGVsZXRlU3Vic2NyaXB0 -aW9uc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZVN1YnNjcmlw -dGlvbnNSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5 -cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RP -ZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv -eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRl -bGV0ZVN1YnNjcmlwdGlvbnNSZXNwb25zZSIgdHlwZT0idG5zOkRlbGV0ZVN1YnNjcmlwdGlvbnNS -ZXNwb25zZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iRW51bWVyYXRlZFRlc3RUeXBl -Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgc2ltcGxl -IGVudW1lcmF0ZWQgdHlwZSB1c2VkIGZvciB0ZXN0aW5nLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAg -ICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlZF8xIiAvPg0KICAgICAgPHhzOmVudW1l -cmF0aW9uIHZhbHVlPSJZZWxsb3dfNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i -R3JlZW5fNSIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9IkVudW1lcmF0ZWRUZXN0VHlwZSIgdHlwZT0idG5zOkVudW1lcmF0 -ZWRUZXN0VHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRW51bWVyYXRl -ZFRlc3RUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJF -bnVtZXJhdGVkVGVzdFR5cGUiIHR5cGU9InRuczpFbnVtZXJhdGVkVGVzdFR5cGUiIG1pbk9jY3Vy -cz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRW51bWVyYXRlZFRlc3RU -eXBlIiB0eXBlPSJ0bnM6TGlzdE9mRW51bWVyYXRlZFRlc3RUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+ -PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCdWlsZEluZm8iPg0KICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlByb2R1Y3RVcmkiIHR5cGU9 -InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9Ik1hbnVmYWN0dXJlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlByb2R1Y3RO -YW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTb2Z0d2FyZVZlcnNpb24iIHR5cGU9InhzOnN0cmluZyIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkJ1aWxkTnVtYmVyIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCdWlsZERhdGUiIHR5cGU9InhzOmRhdGVU -aW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnVpbGRJbmZvIiB0eXBlPSJ0bnM6QnVpbGRJbmZv -IiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJSZWR1bmRhbmN5U3VwcG9ydCI+DQogICAg -PHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24g -dmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ29sZF8xIiAv -Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJXYXJtXzIiIC8+DQogICAgICA8eHM6ZW51 -bWVyYXRpb24gdmFsdWU9IkhvdF8zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJU -cmFuc3BhcmVudF80IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJIb3RBbmRNaXJy -b3JlZF81IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iUmVkdW5kYW5jeVN1cHBvcnQiIHR5cGU9InRuczpSZWR1bmRhbmN5 -U3VwcG9ydCIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iU2VydmVyU3RhdGUiPg0KICAg -IDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9u -IHZhbHVlPSJSdW5uaW5nXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkZhaWxl -ZF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb0NvbmZpZ3VyYXRpb25fMiIg -Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU3VzcGVuZGVkXzMiIC8+DQogICAgICA8 -eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNodXRkb3duXzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp -b24gdmFsdWU9IlRlc3RfNSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ29tbXVu -aWNhdGlvbkZhdWx0XzYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVua25vd25f -NyIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9IlNlcnZlclN0YXRlIiB0eXBlPSJ0bnM6U2VydmVyU3RhdGUiIC8+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZHVuZGFudFNlcnZlckRhdGFUeXBlIj4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJJZCIgdHlwZT0ieHM6c3Ry -aW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iU2VydmljZUxldmVsIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlclN0YXRlIiB0eXBlPSJ0bnM6U2VydmVy -U3RhdGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIgdHlw -ZT0idG5zOlJlZHVuZGFudFNlcnZlckRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJMaXN0T2ZSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVkdW5kYW50U2VydmVyRGF0YVR5cGUiIHR5cGU9InRu -czpSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91 -bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUmVkdW5kYW50U2VydmVyRGF0YVR5 -cGUiIHR5cGU9InRuczpMaXN0T2ZSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIgbmlsbGFibGU9InRy -dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRW5kcG9pbnRVcmxM -aXN0RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkVuZHBvaW50VXJsTGlzdCIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIiB0eXBlPSJ0bnM6 -RW5kcG9pbnRVcmxMaXN0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxp -c3RPZkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVybExpc3REYXRhVHlwZSIgdHlwZT0idG5zOkVuZHBv -aW50VXJsTGlzdERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbmRwb2ludFVybExpc3REYXRhVHlwZSIgdHlw -ZT0idG5zOkxpc3RPZkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94 -czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJOZXR3b3JrR3JvdXBEYXRhVHlw -ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVXJp -IiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJOZXR3b3JrUGF0aHMiIHR5cGU9InRuczpMaXN0T2ZFbmRwb2lu -dFVybExpc3REYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJO -ZXR3b3JrR3JvdXBEYXRhVHlwZSIgdHlwZT0idG5zOk5ldHdvcmtHcm91cERhdGFUeXBlIiAvPg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZOZXR3b3JrR3JvdXBEYXRhVHlwZSI+DQog -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmV0d29ya0dyb3VwRGF0 -YVR5cGUiIHR5cGU9InRuczpOZXR3b3JrR3JvdXBEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhP -Y2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTmV0d29ya0dy -b3VwRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZOZXR3b3JrR3JvdXBEYXRhVHlwZSIgbmlsbGFi -bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2FtcGxp -bmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlNhbXBsaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUNvdW50 -IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iTWF4TW9uaXRvcmVkSXRlbUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzYWJsZWRNb25pdG9yZWRJ -dGVtQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94 -czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2Ft -cGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTYW1wbGluZ0ludGVy -dmFsRGlhZ25vc3RpY3NEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlz -dE9mU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5j -ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNhbXBsaW5nSW50ZXJ2YWxEaWFnbm9zdGljc0Rh -dGFUeXBlIiB0eXBlPSJ0bnM6U2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiIG1p -bk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -Ikxpc3RPZlNhbXBsaW5nSW50ZXJ2YWxEaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6TGlz -dE9mU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48 -L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlcnZlckRpYWdub3N0aWNz -U3VtbWFyeURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJTZXJ2ZXJWaWV3Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50U2Vzc2lvbkNvdW50IiB0eXBlPSJ4 -czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -Q3VtdWxhdGVkU2Vzc2lvbkNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlSZWplY3RlZFNlc3Npb25Db3Vu -dCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlJlamVjdGVkU2Vzc2lvbkNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvblRpbWVvdXRDb3Vu -dCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlNlc3Npb25BYm9ydENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudFN1YnNjcmlwdGlvbkNv -dW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iQ3VtdWxhdGVkU3Vic2NyaXB0aW9uQ291bnQiIHR5cGU9InhzOnVuc2lnbmVk -SW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoaW5n -SW50ZXJ2YWxDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5UmVqZWN0ZWRSZXF1ZXN0c0NvdW50IiB0eXBl -PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iUmVqZWN0ZWRSZXF1ZXN0c0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz -PSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9IlNlcnZlckRpYWdub3N0aWNzU3VtbWFyeURhdGFUeXBlIiB0eXBlPSJ0bnM6 -U2VydmVyRGlhZ25vc3RpY3NTdW1tYXJ5RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9IlNlcnZlclN0YXR1c0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJTdGFydFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50VGltZSIgdHlwZT0ieHM6ZGF0 -ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXRlIiB0 -eXBlPSJ0bnM6U2VydmVyU3RhdGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IkJ1aWxkSW5mbyIgdHlwZT0idG5zOkJ1aWxkSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY29uZHNUaWxsU2h1dGRv -d24iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJTaHV0ZG93blJlYXNvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJTdGF0dXNEYXRhVHlwZSIgdHlw -ZT0idG5zOlNlcnZlclN0YXR1c0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJTZXNzaW9uRGlhZ25vc3RpY3NEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbklkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uTmFt -ZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50RGVzY3JpcHRpb24iIHR5cGU9InRuczpBcHBsaWNh -dGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVy -bCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJB -Y3R1YWxTZXNzaW9uVGltZW91dCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhSZXNwb25zZU1lc3NhZ2VTaXplIiB0eXBlPSJ4czp1 -bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xp -ZW50Q29ubmVjdGlvblRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRMYXN0Q29udGFjdFRpbWUiIHR5cGU9InhzOmRh -dGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50 -U3Vic2NyaXB0aW9uc0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudE1vbml0b3JlZEl0ZW1zQ291bnQiIHR5 -cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJDdXJyZW50UHVibGlzaFJlcXVlc3RzSW5RdWV1ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRvdGFsUmVxdWVzdENv -dW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVuYXV0aG9yaXplZFJlcXVl -c3RDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlJlYWRDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5 -cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJIaXN0b3J5UmVhZENvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IldyaXRlQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVVw -ZGF0ZUNvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNhbGxDb3VudCIg -dHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVNb25pdG9yZWRJdGVtc0Nv -dW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmeU1vbml0b3JlZEl0 -ZW1zQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0TW9uaXRvcmlu -Z01vZGVDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRUcmlnZ2Vy -aW5nQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlTW9uaXRv -cmVkSXRlbXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVT -dWJzY3JpcHRpb25Db3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb2Rp -ZnlTdWJzY3JpcHRpb25Db3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJT -ZXRQdWJsaXNoaW5nTW9kZUNvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlB1Ymxpc2hDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXB1Ymxp -c2hDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2ZlclN1YnNj -cmlwdGlvbnNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVT -dWJzY3JpcHRpb25zQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWRk -Tm9kZXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRSZWZlcmVu -Y2VzQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlTm9kZXND -b3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVSZWZlcmVuY2Vz -Q291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlQ291bnQiIHR5 -cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlTmV4dENvdW50IiB0eXBlPSJ0 -bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRz -Q291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlGaXJzdENvdW50 -IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5TmV4dENvdW50IiB0eXBl -PSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyTm9kZXNDb3VudCIgdHlwZT0i -dG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbnJlZ2lzdGVyTm9kZXNDb3VudCIgdHlwZT0i -dG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTZXNzaW9uRGlh -Z25vc3RpY3NEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU2Vz -c2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlNlc3Npb25EaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U2Vzc2lv -bkRpYWdub3N0aWNzRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlNlc3Npb25EaWFnbm9zdGljc0RhdGFUeXBl -IiB0eXBlPSJ0bnM6TGlzdE9mU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIG5pbGxhYmxlPSJ0 -cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlc3Npb25TZWN1 -cml0eURpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlNlc3Npb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50VXNlcklkT2ZT -ZXNzaW9uIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRVc2VySWRIaXN0b3J5IiB0eXBlPSJ1YTpM -aXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJBdXRoZW50aWNhdGlvbk1lY2hhbmlzbSIgdHlwZT0ieHM6c3RyaW5nIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -RW5jb2RpbmciIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zcG9ydFByb3RvY29sIiB0eXBlPSJ4czpz -dHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVBvbGljeVVyaSIg -dHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50Q2VydGlmaWNhdGUiIHR5cGU9InhzOmJhc2U2NEJpbmFy -eSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uU2VjdXJpdHlE -aWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U2Vzc2lvblNlY3VyaXR5RGlhZ25vc3RpY3NE -YXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU2Vzc2lvblNlY3Vy -aXR5RGlhZ25vc3RpY3NEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iU2Vzc2lvblNlY3VyaXR5RGlhZ25vc3RpY3NEYXRhVHlwZSIgdHlwZT0idG5z -OlNlc3Npb25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2Nj -dXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog -IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlNlc3Npb25TZWN1 -cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZTZXNzaW9uU2VjdXJpdHlE -aWFnbm9zdGljc0RhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJTZXJ2aWNlQ291bnRlckRhdGFUeXBlIj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUb3RhbENvdW50IiB0eXBlPSJ4czp1bnNp -Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXJyb3JD -b3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2aWNl -Q291bnRlckRhdGFUeXBlIiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCg0K -ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU3RhdHVzUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2Rl -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5m -byIgdHlwZT0idWE6RGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iU3RhdHVzUmVzdWx0IiB0eXBlPSJ0bnM6U3RhdHVzUmVzdWx0IiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTdGF0dXNSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5j -ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c1Jlc3VsdCIgdHlwZT0idG5zOlN0YXR1 -c1Jlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iTGlzdE9mU3RhdHVzUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mU3RhdHVzUmVz -dWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJTdWJzY3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uSWQiIHR5cGU9InVhOk5vZGVJZCIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1 -YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJpb3JpdHkiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGluZ0ludGVydmFs -IiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9Ik1heEtlZXBBbGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4TGlmZXRpbWVDb3VudCIgdHlwZT0ieHM6 -dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1h -eE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGluZ0VuYWJsZWQiIHR5cGU9 -InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1v -ZGlmeUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iRW5hYmxlQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNhYmxlQ291bnQiIHR5cGU9 -InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJSZXB1Ymxpc2hSZXF1ZXN0Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXB1Ymxpc2hNZXNzYWdlUmVxdWVzdENv -dW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVwdWJsaXNoTWVzc2FnZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNmZXJSZXF1ZXN0 -Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJUcmFuc2ZlcnJlZFRvQWx0Q2xpZW50Q291bnQiIHR5cGU9InhzOnVuc2ln -bmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2Zl -cnJlZFRvU2FtZUNsaWVudENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaFJlcXVlc3RDb3VudCIgdHlwZT0i -eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkRhdGFDaGFuZ2VOb3RpZmljYXRpb25zQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudE5vdGlmaWNhdGlvbnND -b3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9Ik5vdGlmaWNhdGlvbnNDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1p -bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkxhdGVQdWJsaXNoUmVxdWVz -dENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iQ3VycmVudEtlZXBBbGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZElu -dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudExpZmV0 -aW1lQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJVbmFja25vd2xlZGdlZE1lc3NhZ2VDb3VudCIgdHlwZT0ieHM6dW5z -aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2Nh -cmRlZE1lc3NhZ2VDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1Db3VudCIgdHlwZT0ieHM6dW5z -aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2Fi -bGVkTW9uaXRvcmVkSXRlbUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ1F1ZXVlT3ZlcmZsb3dDb3Vu -dCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9Ik5leHRTZXF1ZW5jZU51bWJlciIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50UXVldWVPdmVyRmxvd0Nv -dW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlw -dGlvbkRpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTdWJzY3JpcHRpb25EaWFnbm9zdGlj -c0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTdWJzY3JpcHRp -b25EaWFnbm9zdGljc0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJTdWJzY3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U3Vi -c2NyaXB0aW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu -Ym91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU3Vic2NyaXB0aW9uRGlhZ25v -c3RpY3NEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlN1YnNjcmlwdGlvbkRpYWdub3N0aWNzRGF0 -YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUg -IG5hbWU9Ik1vZGVsQ2hhbmdlU3RydWN0dXJlVmVyYk1hc2siPg0KICAgIDx4czpyZXN0cmljdGlv -biBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb2RlQWRk -ZWRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9kZURlbGV0ZWRfMiIgLz4N -CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVmZXJlbmNlQWRkZWRfNCIgLz4NCiAgICAg -IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVmZXJlbmNlRGVsZXRlZF84IiAvPg0KICAgICAgPHhz -OmVudW1lcmF0aW9uIHZhbHVlPSJEYXRhVHlwZUNoYW5nZWRfMTYiIC8+DQogICAgPC94czpyZXN0 -cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RlbENo -YW5nZVN0cnVjdHVyZVZlcmJNYXNrIiB0eXBlPSJ0bnM6TW9kZWxDaGFuZ2VTdHJ1Y3R1cmVWZXJi -TWFzayIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVE -YXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWZm -ZWN0ZWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFmZmVjdGVkVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -VmVyYiIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpz -ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kZWxD -aGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgdHlwZT0idG5zOk1vZGVsQ2hhbmdlU3RydWN0dXJlRGF0 -YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk1vZGVsQ2hhbmdlU3Ry -dWN0dXJlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9Ik1vZGVsQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIHR5cGU9InRuczpNb2RlbENoYW5nZVN0 -cnVjdHVyZURhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZNb2RlbENoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiB0 -eXBlPSJ0bnM6TGlzdE9mTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgbmlsbGFibGU9InRy -dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2VtYW50aWNDaGFu -Z2VTdHJ1Y3R1cmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iQWZmZWN0ZWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFmZmVjdGVkVHlwZSIgdHlwZT0i -dWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNlbWFudGlj -Q2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIHR5cGU9InRuczpTZW1hbnRpY0NoYW5nZVN0cnVjdHVy -ZURhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTZW1hbnRpY0No -YW5nZVN0cnVjdHVyZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJTZW1hbnRpY0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiB0eXBlPSJ0bnM6U2Vt -YW50aWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu -Ym91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU2VtYW50aWNDaGFuZ2VTdHJ1 -Y3R1cmVEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlNlbWFudGljQ2hhbmdlU3RydWN0dXJlRGF0 -YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9IlJhbmdlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJMb3ciIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iSGlnaCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94 -czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmFu -Z2UiIHR5cGU9InRuczpSYW5nZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRVVJbmZv -cm1hdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFt -ZXNwYWNlVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbml0SWQiIHR5cGU9InhzOmludCIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzcGxheU5hbWUiIHR5cGU9InVh -OkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFVUluZm9ybWF0aW9uIiB0eXBlPSJ0 -bnM6RVVJbmZvcm1hdGlvbiIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iQXhpc1NjYWxl -RW51bWVyYXRpb24iPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAg -ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJMaW5lYXJfMCIgLz4NCiAgICAgIDx4czplbnVtZXJh -dGlvbiB2YWx1ZT0iTG9nXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkxuXzIi -IC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJBeGlzU2NhbGVFbnVtZXJhdGlvbiIgdHlwZT0idG5zOkF4aXNTY2FsZUVudW1l -cmF0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDb21wbGV4TnVtYmVyVHlwZSI+ -DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhbCIgdHlwZT0i -eHM6ZmxvYXQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkltYWdp -bmFyeSIgdHlwZT0ieHM6ZmxvYXQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNl -Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb21wbGV4TnVtYmVy -VHlwZSIgdHlwZT0idG5zOkNvbXBsZXhOdW1iZXJUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJEb3VibGVDb21wbGV4TnVtYmVyVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbWFnaW5hcnkiIHR5cGU9InhzOmRvdWJsZSIg -bWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9IkRvdWJsZUNvbXBsZXhOdW1iZXJUeXBlIiB0eXBlPSJ0bnM6 -RG91YmxlQ29tcGxleE51bWJlclR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkF4 -aXNJbmZvcm1hdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iRW5naW5lZXJpbmdVbml0cyIgdHlwZT0idG5zOkVVSW5mb3JtYXRpb24iIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFVVJhbmdlIiB0 -eXBlPSJ0bnM6UmFuZ2UiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJUaXRsZSIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkF4aXNTY2Fs -ZVR5cGUiIHR5cGU9InRuczpBeGlzU2NhbGVFbnVtZXJhdGlvbiIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXhpc1N0ZXBzIiB0eXBlPSJ1YTpMaXN0T2ZEb3VibGUi -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg -PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXhpc0luZm9ybWF0aW9uIiB0 -eXBlPSJ0bnM6QXhpc0luZm9ybWF0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJY -VlR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlgiIHR5 -cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -VmFsdWUiIHR5cGU9InhzOmZsb2F0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iWFZUeXBlIiB0eXBl -PSJ0bnM6WFZUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJQcm9ncmFtRGlhZ25v -c3RpY0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJDcmVhdGVTZXNzaW9uSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZUNsaWVudE5hbWUiIHR5 -cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9Ikludm9jYXRpb25DcmVhdGlvblRpbWUiIHR5cGU9InhzOmRhdGVUaW1l -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0VHJhbnNpdGlv -blRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJMYXN0TWV0aG9kQ2FsbCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1ldGhvZFNl -c3Npb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1ldGhvZElucHV0QXJndW1lbnRzIiB0eXBl -PSJ0bnM6TGlzdE9mQXJndW1lbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kT3V0cHV0QXJndW1lbnRzIiB0eXBlPSJ0 -bnM6TGlzdE9mQXJndW1lbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kQ2FsbFRpbWUiIHR5cGU9InhzOmRhdGVUaW1l -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kUmV0 -dXJuU3RhdHVzIiB0eXBlPSJ0bnM6U3RhdHVzUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9IlByb2dyYW1EaWFnbm9zdGljRGF0YVR5cGUiIHR5cGU9InRuczpQcm9n -cmFtRGlhZ25vc3RpY0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBbm5v -dGF0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXNz -YWdlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQW5ub3Rh -dGlvblRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpz -ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQW5ub3Rh -dGlvbiIgdHlwZT0idG5zOkFubm90YXRpb24iIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9 -IkV4Y2VwdGlvbkRldmlhdGlvbkZvcm1hdCI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9Inhz -OnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFic29sdXRlVmFsdWVfMCIg -Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mVmFsdWVfMSIgLz4NCiAg -ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mUmFuZ2VfMiIgLz4NCiAgICAgIDx4 -czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mRVVSYW5nZV8zIiAvPg0KICAgICAgPHhzOmVu -dW1lcmF0aW9uIHZhbHVlPSJVbmtub3duXzQiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAg -PC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFeGNlcHRpb25EZXZpYXRpb25G -b3JtYXQiIHR5cGU9InRuczpFeGNlcHRpb25EZXZpYXRpb25Gb3JtYXQiIC8+DQoNCjwveHM6c2No -ZW1hPg== - - - - NamespaceUri - A URI that uniquely identifies the dictionary. - - i=68 - i=8252 - - - http://opcfoundation.org/UA/2008/02/Types.xsd - - - - TrustListDataType - - i=69 - i=8252 - - - //xs:element[@name='TrustListDataType'] - - - - Argument - - i=69 - i=8252 - - - //xs:element[@name='Argument'] - - - - EnumValueType - - i=69 - i=8252 - - - //xs:element[@name='EnumValueType'] - - - - OptionSet - - i=69 - i=8252 - - - //xs:element[@name='OptionSet'] - - - - Union - - i=69 - i=8252 - - - //xs:element[@name='Union'] - - - - 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'] - - - - KerberosIdentityToken - - i=69 - i=8252 - - - //xs:element[@name='KerberosIdentityToken'] - - - - 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'] - - - - SupportedProfile - - i=69 - i=8252 - - - //xs:element[@name='SupportedProfile'] - - - - SoftwareCertificate - - i=69 - i=8252 - - - //xs:element[@name='SoftwareCertificate'] - - - - 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'] - - - - Annotation - - i=69 - i=8252 - - - //xs:element[@name='Annotation'] - - - - 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 - - - - Opc.Ua - - i=7619 - i=12681 - i=7650 - i=7656 - i=12767 - i=12770 - 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=12510 - i=7683 - i=7728 - i=7731 - i=7734 - i=7737 - i=12718 - i=12721 - i=7686 - i=7689 - i=7695 - 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=8244 - i=93 - i=72 - - - PG9wYzpUeXBlRGljdGlvbmFyeQ0KICB4bWxuczpvcGM9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9y -Zy9CaW5hcnlTY2hlbWEvIg0KICB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1M -U2NoZW1hLWluc3RhbmNlIg0KICB4bWxuczp1YT0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VB -LyINCiAgeG1sbnM6dG5zPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvIg0KICBEZWZhdWx0 -Qnl0ZU9yZGVyPSJMaXR0bGVFbmRpYW4iDQogIFRhcmdldE5hbWVzcGFjZT0iaHR0cDovL29wY2Zv -dW5kYXRpb24ub3JnL1VBLyINCj4NCiAgPCEtLSBUaGlzIEZpbGUgd2FzIGdlbmVyYXRlZCBvbiAy -MDE1LTA4LTE4IGFuZCBzdXBwb3J0cyB0aGUgc3BlY2lmaWNhdGlvbnMgc3VwcG9ydGVkIGJ5IHZl -cnNpb24gMS4xLjMzNS4xIG9mIHRoZSBPUEMgVUEgZGVsaXZlcmFibGVzLiAtLT4NCg0KICA8b3Bj -OkltcG9ydCBOYW1lc3BhY2U9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9CaW5hcnlTY2hlbWEv -IiAvPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iWG1sRWxlbWVudCI+DQogICAgPG9w -YzpEb2N1bWVudGF0aW9uPkFuIFhNTCBlbGVtZW50IGVuY29kZWQgYXMgYSBVVEYtOCBzdHJpbmcu -PC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxlbmd0aCIgVHlwZU5h -bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0i -b3BjOkNoYXIiIExlbmd0aEZpZWxkPSJMZW5ndGgiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl -Pg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iTm9kZUlkVHlwZSIgTGVuZ3RoSW5CaXRz -PSI2Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHBvc3NpYmxlIGVuY29kaW5ncyBmb3Ig -YSBOb2RlSWQgdmFsdWUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJUd29CeXRlIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJGb3VyQnl0ZSIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iTnVtZXJpYyIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt -ZT0iU3RyaW5nIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJH -dWlkIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCeXRlU3Ry -aW5nIiBWYWx1ZT0iNSIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 -Y3R1cmVkVHlwZSBOYW1lPSJUd29CeXRlTm9kZUlkIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Iklk -ZW50aWZpZXIiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJGb3VyQnl0ZU5vZGVJZCI+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJOYW1lc3BhY2VJbmRleCIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iSWRlbnRpZmllciIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTnVt -ZXJpY05vZGVJZCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lc3BhY2VJbmRleCIgVHlwZU5h -bWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJZGVudGlmaWVyIiBUeXBl -TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT -dHJ1Y3R1cmVkVHlwZSBOYW1lPSJTdHJpbmdOb2RlSWQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -TmFtZXNwYWNlSW5kZXgiIFR5cGVOYW1lPSJvcGM6VUludDE2IiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iSWRlbnRpZmllciIgVHlwZU5hbWU9Im9wYzpDaGFyQXJyYXkiIC8+DQogIDwvb3BjOlN0 -cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iR3VpZE5vZGVJZCI+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lc3BhY2VJbmRleCIgVHlwZU5hbWU9Im9wYzpVSW50 -MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJZGVudGlmaWVyIiBUeXBlTmFtZT0ib3BjOkd1 -aWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg -TmFtZT0iQnl0ZVN0cmluZ05vZGVJZCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lc3BhY2VJ -bmRleCIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJZGVu -dGlmaWVyIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm9kZUlkIj4NCiAgICA8b3BjOkRv -Y3VtZW50YXRpb24+QW4gaWRlbnRpZmllciBmb3IgYSBub2RlIGluIGEgVUEgc2VydmVyIGFkZHJl -c3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJ -ZFR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWRUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UmVzZXJ2ZWQxIiBUeXBlTmFtZT0ib3BjOkJpdCIgTGVuZ3RoPSIyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iVHdvQnl0ZSIgVHlwZU5hbWU9InVhOlR3b0J5dGVOb2RlSWQiIFN3aXRjaEZpZWxk -PSJOb2RlSWRUeXBlIiBTd2l0Y2hWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZv -dXJCeXRlIiBUeXBlTmFtZT0idWE6Rm91ckJ5dGVOb2RlSWQiIFN3aXRjaEZpZWxkPSJOb2RlSWRU -eXBlIiBTd2l0Y2hWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik51bWVyaWMiIFR5 -cGVOYW1lPSJ1YTpOdW1lcmljTm9kZUlkIiBTd2l0Y2hGaWVsZD0iTm9kZUlkVHlwZSIgU3dpdGNo -VmFsdWU9IjIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdHJpbmciIFR5cGVOYW1lPSJ1YTpT -dHJpbmdOb2RlSWQiIFN3aXRjaEZpZWxkPSJOb2RlSWRUeXBlIiBTd2l0Y2hWYWx1ZT0iMyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ikd1aWQiIFR5cGVOYW1lPSJ1YTpHdWlkTm9kZUlkIiBTd2l0 -Y2hGaWVsZD0iTm9kZUlkVHlwZSIgU3dpdGNoVmFsdWU9IjQiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJCeXRlU3RyaW5nIiBUeXBlTmFtZT0idWE6Qnl0ZVN0cmluZ05vZGVJZCIgU3dpdGNoRmll -bGQ9Ik5vZGVJZFR5cGUiIFN3aXRjaFZhbHVlPSI1IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw -ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkV4cGFuZGVkTm9kZUlkIj4NCiAgICA8 -b3BjOkRvY3VtZW50YXRpb24+QW4gaWRlbnRpZmllciBmb3IgYSBub2RlIGluIGEgVUEgc2VydmVy -IGFkZHJlc3Mgc3BhY2UgcXVhbGlmaWVkIHdpdGggYSBjb21wbGV0ZSBuYW1lc3BhY2Ugc3RyaW5n -Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWRUeXBlIiBU -eXBlTmFtZT0idWE6Tm9kZUlkVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlcklu -ZGV4U3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -Ik5hbWVzcGFjZVVSSVNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJUd29CeXRlIiBUeXBlTmFtZT0idWE6VHdvQnl0ZU5vZGVJZCIgU3dpdGNoRmll -bGQ9Ik5vZGVJZFR5cGUiIFN3aXRjaFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Rm91ckJ5dGUiIFR5cGVOYW1lPSJ1YTpGb3VyQnl0ZU5vZGVJZCIgU3dpdGNoRmllbGQ9Ik5vZGVJ -ZFR5cGUiIFN3aXRjaFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTnVtZXJpYyIg -VHlwZU5hbWU9InVhOk51bWVyaWNOb2RlSWQiIFN3aXRjaEZpZWxkPSJOb2RlSWRUeXBlIiBTd2l0 -Y2hWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0cmluZyIgVHlwZU5hbWU9InVh -OlN0cmluZ05vZGVJZCIgU3dpdGNoRmllbGQ9Ik5vZGVJZFR5cGUiIFN3aXRjaFZhbHVlPSIzIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iR3VpZCIgVHlwZU5hbWU9InVhOkd1aWROb2RlSWQiIFN3 -aXRjaEZpZWxkPSJOb2RlSWRUeXBlIiBTd2l0Y2hWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkJ5dGVTdHJpbmciIFR5cGVOYW1lPSJ1YTpCeXRlU3RyaW5nTm9kZUlkIiBTd2l0Y2hG -aWVsZD0iTm9kZUlkVHlwZSIgU3dpdGNoVmFsdWU9IjUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJOYW1lc3BhY2VVUkkiIFR5cGVOYW1lPSJvcGM6Q2hhckFycmF5IiBTd2l0Y2hGaWVsZD0iTmFt -ZXNwYWNlVVJJU3BlY2lmaWVkIi8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJJbmRleCIg -VHlwZU5hbWU9Im9wYzpVSW50MzIiIFN3aXRjaEZpZWxkPSJTZXJ2ZXJJbmRleFNwZWNpZmllZCIv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iU3Rh -dHVzQ29kZSIgTGVuZ3RoSW5CaXRzPSIzMiIgQnl0ZU9yZGVyU2lnbmlmaWNhbnQ9InRydWUiPg0K -ICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIDMyLWJpdCBzdGF0dXMgY29kZSB2YWx1ZS48L29wYzpE -b2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iRGlhZ25vc3RpY0luZm8iPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHJlY3Vy -c2l2ZSBzdHJ1Y3R1cmUgY29udGFpbmluZyBkaWFnbm9zdGljIGluZm9ybWF0aW9uIGFzc29jaWF0 -ZWQgd2l0aCBhIHN0YXR1cyBjb2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJTeW1ib2xpY0lkU3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5hbWVzcGFjZVVSSVNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMb2NhbGVTcGVjaWZpZWQiIFR5cGVOYW1lPSJvcGM6 -Qml0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTG9jYWxpemVkVGV4dFNwZWNpZmllZCIgVHlw -ZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGRpdGlvbmFsSW5mb1Nw -ZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbm5l -clN0YXR1c0NvZGVTcGVjaWZpZWQiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iSW5uZXJEaWFnbm9zdGljSW5mb1NwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNlcnZlZDEiIFR5cGVOYW1lPSJvcGM6Qml0IiBM -ZW5ndGg9IjIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTeW1ib2xpY0lkIiBUeXBlTmFtZT0i -b3BjOkludDMyIiBTd2l0Y2hGaWVsZD0iU3ltYm9saWNJZFNwZWNpZmllZCIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5hbWVzcGFjZVVSSSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgU3dpdGNoRmll -bGQ9Ik5hbWVzcGFjZVVSSVNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2Fs -ZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgU3dpdGNoRmllbGQ9IkxvY2FsZVNwZWNpZmllZCIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsaXplZFRleHQiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IFN3aXRjaEZpZWxkPSJMb2NhbGl6ZWRUZXh0U3BlY2lmaWVkIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iQWRkaXRpb25hbEluZm8iIFR5cGVOYW1lPSJvcGM6Q2hhckFycmF5IiBTd2l0Y2hGaWVs -ZD0iQWRkaXRpb25hbEluZm9TcGVjaWZpZWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbm5l -clN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBTd2l0Y2hGaWVsZD0iSW5uZXJT -dGF0dXNDb2RlU3BlY2lmaWVkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5uZXJEaWFnbm9z -dGljSW5mbyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBTd2l0Y2hGaWVsZD0iSW5uZXJE -aWFnbm9zdGljSW5mb1NwZWNpZmllZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg -PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJRdWFsaWZpZWROYW1lIj4NCiAgICA8b3BjOkRvY3Vt -ZW50YXRpb24+QSBzdHJpbmcgcXVhbGlmaWVkIHdpdGggYSBuYW1lc3BhY2UgaW5kZXguPC9vcGM6 -RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWVzcGFjZUluZGV4IiBUeXBl -TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmFtZSIgVHlwZU5hbWU9 -Im9wYzpDaGFyQXJyYXkiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry -dWN0dXJlZFR5cGUgTmFtZT0iTG9jYWxpemVkVGV4dCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u -PkEgc3RyaW5nIHF1YWxpZmllZCB3aXRoIGEgbmFtZXNwYWNlIGluZGV4Ljwvb3BjOkRvY3VtZW50 -YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMb2NhbGVTcGVjaWZpZWQiIFR5cGVOYW1lPSJv -cGM6Qml0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGV4dFNwZWNpZmllZCIgVHlwZU5hbWU9 -Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNlcnZlZDEiIFR5cGVOYW1lPSJv -cGM6Qml0IiBMZW5ndGg9IjYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMb2NhbGUiIFR5cGVO -YW1lPSJvcGM6Q2hhckFycmF5IiBTd2l0Y2hGaWVsZD0iTG9jYWxlU3BlY2lmaWVkIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iVGV4dCIgVHlwZU5hbWU9Im9wYzpDaGFyQXJyYXkiIFN3aXRjaEZp -ZWxkPSJUZXh0U3BlY2lmaWVkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -OlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFWYWx1ZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u -PkEgdmFsdWUgd2l0aCBhbiBhc3NvY2lhdGVkIHRpbWVzdGFtcCwgYW5kIHF1YWxpdHkuPC9vcGM6 -RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlU3BlY2lmaWVkIiBUeXBl -TmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGVTcGVjaWZp -ZWQiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU291cmNlVGlt -ZXN0YW1wU3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlNvdXJjZVBpY29zZWNvbmRzU3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclRpbWVzdGFtcFNwZWNpZmllZCIgVHlwZU5hbWU9Im9w -YzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJQaWNvc2Vjb25kc1NwZWNpZmll -ZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNlcnZlZDEi -IFR5cGVOYW1lPSJvcGM6Qml0IiBMZW5ndGg9IjIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJW -YWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIFN3aXRjaEZpZWxkPSJWYWx1ZVNwZWNpZmllZCIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXND -b2RlIiBTd2l0Y2hGaWVsZD0iU3RhdHVzQ29kZVNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlNvdXJjZVRpbWVzdGFtcCIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgU3dpdGNoRmll -bGQ9IlNvdXJjZVRpbWVzdGFtcFNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNv -dXJjZVBpY29zZWNvbmRzIiBUeXBlTmFtZT0ib3BjOlVJbnQxNiIgU3dpdGNoRmllbGQ9IlNvdXJj -ZVBpY29zZWNvbmRzU3BlY2lmaWVkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyVGlt -ZXN0YW1wIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiBTd2l0Y2hGaWVsZD0iU2VydmVyVGltZXN0 -YW1wU3BlY2lmaWVkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyUGljb3NlY29uZHMi -IFR5cGVOYW1lPSJvcGM6VUludDE2IiBTd2l0Y2hGaWVsZD0iU2VydmVyUGljb3NlY29uZHNTcGVj -aWZpZWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iRXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBzZXJp -YWxpemVkIG9iamVjdCBwcmVmaXhlZCB3aXRoIGl0cyBkYXRhIHR5cGUgaWRlbnRpZmllci48L29w -YzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHlwZUlkU3BlY2lmaWVkIiBU -eXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJpbmFyeUJvZHkiIFR5 -cGVOYW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iWG1sQm9keSIgVHlwZU5h -bWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNlcnZlZDEiIFR5cGVOYW1l -PSJvcGM6Qml0IiBMZW5ndGg9IjUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUeXBlSWQiIFR5 -cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgU3dpdGNoRmllbGQ9IlR5cGVJZFNwZWNpZmllZCIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJvZHlMZW5ndGgiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCb2R5IiBUeXBlTmFtZT0ib3BjOkJ5dGUiIExlbmd0 -aEZpZWxkPSJCb2R5TGVuZ3RoIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -OlN0cnVjdHVyZWRUeXBlIE5hbWU9IlZhcmlhbnQiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5B -IHVuaW9uIG9mIHNldmVyYWwgdHlwZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlZhcmlhbnRUeXBlIiBUeXBlTmFtZT0ib3BjOkJpdCIgTGVuZ3RoPSI2IiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iQXJyYXlEaW1lbnNpb25zU3BlY2lmaWVkIiBUeXBlTmFtZT0i -b3BjOkJpdCIgTGVuZ3RoPSIxIi8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBcnJheUxlbmd0aFNw -ZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIExlbmd0aD0iMSIvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iQXJyYXlMZW5ndGgiIFR5cGVOYW1lPSJvcGM6SW50MzIiIFN3aXRjaEZpZWxkPSJBcnJh -eUxlbmd0aFNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJvb2xlYW4iIFR5cGVO -YW1lPSJvcGM6Qm9vbGVhbiIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0i -VmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU0J5 -dGUiIFR5cGVOYW1lPSJvcGM6U0J5dGUiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNo -RmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkJ5dGUiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBT -d2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iSW50MTYiIFR5cGVOYW1lPSJvcGM6SW50MTYiIExlbmd0aEZpZWxkPSJBcnJheUxl -bmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iNCIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlVJbnQxNiIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIExlbmd0aEZpZWxk -PSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iNSIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkludDMyIiBUeXBlTmFtZT0ib3BjOkludDMyIiBMZW5n -dGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFs -dWU9IjYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVSW50MzIiIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIg -U3dpdGNoVmFsdWU9IjciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbnQ2NCIgVHlwZU5hbWU9 -Im9wYzpJbnQ2NCIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFu -dFR5cGUiIFN3aXRjaFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVUludDY0IiBU -eXBlTmFtZT0ib3BjOlVJbnQ2NCIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVs -ZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSI5IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -RmxvYXQiIFR5cGVOYW1lPSJvcGM6RmxvYXQiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dp -dGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMTAiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJEb3VibGUiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiBMZW5ndGhGaWVsZD0iQXJyYXlM -ZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjExIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iU3RyaW5nIiBUeXBlTmFtZT0ib3BjOkNoYXJBcnJheSIgTGVuZ3Ro -RmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVl -PSIxMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGVUaW1lIiBUeXBlTmFtZT0ib3BjOkRh -dGVUaW1lIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlw -ZSIgU3dpdGNoVmFsdWU9IjEzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iR3VpZCIgVHlwZU5h -bWU9Im9wYzpHdWlkIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJp -YW50VHlwZSIgU3dpdGNoVmFsdWU9IjE0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnl0ZVN0 -cmluZyIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgi -IFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjE1IiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iWG1sRWxlbWVudCIgVHlwZU5hbWU9InVhOlhtbEVsZW1lbnQiIExlbmd0aEZp -ZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0i -MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQi -IExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0 -Y2hWYWx1ZT0iMTciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFeHBhbmRlZE5vZGVJZCIgVHlw -ZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRj -aEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjE4IiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJB -cnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMTkiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJRdWFsaWZpZWROYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlm -aWVkTmFtZSIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5 -cGUiIFN3aXRjaFZhbHVlPSIyMCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsaXplZFRl -eHQiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgi -IFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjIxIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iRXh0ZW5zaW9uT2JqZWN0IiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0 -IiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dp -dGNoVmFsdWU9IjIyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVZhbHVlIiBUeXBlTmFt -ZT0idWE6RGF0YVZhbHVlIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJW -YXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjIzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFy -aWFudCIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dp -dGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMjQiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJEaWFnbm9zdGljSW5mbyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5n -dGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFs -dWU9IjI1IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkFycmF5RGltZW5zaW9ucyIgVHlw -ZU5hbWU9Im9wYzpJbnQzMiIgU3dpdGNoRmllbGQ9IkFycmF5RGltZW5zaW9uc1NwZWNpZmllZCIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpJ -bnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIFN3aXRjaEZpZWxkPSJBcnJh -eURpbWVuc2lvbnNTcGVjaWZpZWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv -cGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iTmFtaW5nUnVsZVR5cGUiIExlbmd0aEluQml0cz0iMzIi -Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik1hbmRhdG9yeSIgVmFsdWU9IjEiIC8+ -DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iT3B0aW9uYWwiIFZhbHVlPSIyIiAvPg0K -ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkNvbnN0cmFpbnQiIFZhbHVlPSIzIiAvPg0K -ICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCiAgICANCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0i -SW1hZ2VCTVAiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBpbWFnZSBlbmNvZGVkIGluIEJN -UCBmb3JtYXQuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8 -b3BjOk9wYXF1ZVR5cGUgTmFtZT0iSW1hZ2VHSUYiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5B -biBpbWFnZSBlbmNvZGVkIGluIEdJRiBmb3JtYXQuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9v -cGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iSW1hZ2VKUEciPg0KICAg -IDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBpbWFnZSBlbmNvZGVkIGluIEpQRUcgZm9ybWF0Ljwvb3Bj -OkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBl -IE5hbWU9IkltYWdlUE5HIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QW4gaW1hZ2UgZW5jb2Rl -ZCBpbiBQTkcgZm9ybWF0Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+ -DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkJpdEZpZWxkTWFza0RhdGFUeXBlIj4NCiAgICA8 -b3BjOkRvY3VtZW50YXRpb24+QSBtYXNrIG9mIDMyIGJpdHMgdGhhdCBjYW4gYmUgdXBkYXRlZCBp -bmRpdmlkdWFsbHkgYnkgdXNpbmcgdGhlIHRvcCAzMiBiaXRzIGFzIGEgbWFzay48L29wYzpEb2N1 -bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUg -TmFtZT0iT3BlbkZpbGVNb2RlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0 -ZWRWYWx1ZSBOYW1lPSJSZWFkIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJXcml0ZSIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt -ZT0iRXJhc2VFeGlzdGluZyIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iQXBwZW5kIiBWYWx1ZT0iOCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAg -PG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJUcnVzdExpc3RNYXNrcyIgTGVuZ3RoSW5CaXRzPSIz -MiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQog -ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVHJ1c3RlZENlcnRpZmljYXRlcyIgVmFsdWU9 -IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVHJ1c3RlZENybHMiIFZhbHVl -PSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Iklzc3VlckNlcnRpZmljYXRl -cyIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNzdWVyQ3Js -cyIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQWxsIiBWYWx1 -ZT0iMTUiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iVHJ1c3RMaXN0RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3BlY2lmaWVkTGlzdHMiIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlRydXN0ZWRDZXJ0aWZpY2F0ZXMiIFR5 -cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcnVzdGVkQ2VydGlm -aWNhdGVzIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mVHJ1c3Rl -ZENlcnRpZmljYXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZUcnVzdGVkQ3JscyIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRydXN0ZWRDcmxz -IiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mVHJ1c3RlZENybHMi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mSXNzdWVyQ2VydGlmaWNhdGVzIiBUeXBlTmFt -ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNzdWVyQ2VydGlmaWNhdGVz -IiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mSXNzdWVyQ2VydGlm -aWNhdGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZklzc3VlckNybHMiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc3N1ZXJDcmxzIiBUeXBlTmFt -ZT0ib3BjOkJ5dGVTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mSXNzdWVyQ3JscyIgLz4NCiAgPC9v -cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJJZFR5cGUi -IExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgdHlwZSBvZiBp -ZGVudGlmaWVyIHVzZWQgaW4gYSBub2RlIGlkLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9w -YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTnVtZXJpYyIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpF -bnVtZXJhdGVkVmFsdWUgTmFtZT0iU3RyaW5nIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1l -cmF0ZWRWYWx1ZSBOYW1lPSJHdWlkIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJPcGFxdWUiIFZhbHVlPSIzIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4N -Cg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9Ik5vZGVDbGFzcyIgTGVuZ3RoSW5CaXRzPSIz -MiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgbWFzayBzcGVjaWZ5aW5nIHRoZSBjbGFzcyBv -ZiB0aGUgbm9kZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9IlVuc3BlY2lmaWVkIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJPYmplY3QiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9IlZhcmlhYmxlIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l -PSJNZXRob2QiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik9i -amVjdFR5cGUiIFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZh -cmlhYmxlVHlwZSIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 -IlJlZmVyZW5jZVR5cGUiIFZhbHVlPSIzMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO -YW1lPSJEYXRhVHlwZSIgVmFsdWU9IjY0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9IlZpZXciIFZhbHVlPSIxMjgiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxv -cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm9kZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj -dCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0cmlidXRlcyB3aGlj -aCBiZWxvbmcgdG8gYWxsIG5vZGVzLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNzIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2Fs -aXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJv -cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5h -bWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlcyIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXMi -IFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlTm9kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2Vz -IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9Ikluc3RhbmNlTm9kZSIgQmFzZVR5cGU9InRuczpOb2RlIj4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNz -IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5h -bWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVk -VGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNj -cmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2Rl -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQz -MiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3Jp -dGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJ0bnM6UmVmZXJl -bmNlTm9kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2VzIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlR5cGVOb2RlIiBCYXNlVHlw -ZT0idG5zOk5vZGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6 -Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v -ZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmll -ZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlz -cGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9k -ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9j -YWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZS -ZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9P -ZlJlZmVyZW5jZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 -dXJlZFR5cGUgTmFtZT0iT2JqZWN0Tm9kZSIgQmFzZVR5cGU9InRuczpJbnN0YW5jZU5vZGUiPg0K -ICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVs -b25nIHRvIG9iamVjdCBub2Rlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xh -c3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3Nl -TmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6 -ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRl -c2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5v -ZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJX -cml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZl -cmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJFdmVudE5vdGlmaWVyIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0 -cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iT2JqZWN0VHlwZU5v -ZGUiIEJhc2VUeXBlPSJ0bnM6VHlwZU5vZGUiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5TcGVj -aWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIG9iamVjdCB0eXBlIG5vZGVzLjwv -b3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1l -PSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgU291cmNlVHlwZT0idG5zOk5v -ZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVh -bGlmaWVkTmFtZSIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRu -czpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1 -YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpO -b2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9w -YzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Tm9PZlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJSZWZlcmVuY2VzIiBUeXBlTmFtZT0idG5zOlJlZmVyZW5jZU5vZGUiIExlbmd0aEZpZWxk -PSJOb09mUmVmZXJlbmNlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5 -cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w -YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJWYXJpYWJsZU5vZGUiIEJhc2VUeXBlPSJ0bnM6SW5zdGFu -Y2VOb2RlIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+U3BlY2lmaWVzIHRoZSBhdHRyaWJ1dGVz -IHdoaWNoIGJlbG9uZyB0byB2YXJpYWJsZSBub2Rlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBl -PSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9 -InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9 -InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1l -PSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNl -VHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVO -YW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0 -bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFt -ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5h -bWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlZhbHVlUmFuayIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6 -VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkFycmF5RGltZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkFjY2Vzc0xldmVsIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJVc2VyQWNjZXNzTGV2ZWwiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik1pbmltdW1TYW1wbGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRv -dWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikhpc3Rvcml6aW5nIiBUeXBlTmFtZT0ib3Bj -OkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl -ZFR5cGUgTmFtZT0iVmFyaWFibGVUeXBlTm9kZSIgQmFzZVR5cGU9InRuczpUeXBlTm9kZSI+DQog -ICAgPG9wYzpEb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBiZWxv -bmcgdG8gdmFyaWFibGUgdHlwZSBub2Rlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6 -Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpO -b2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -QnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpO -b2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpM -b2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0i -dG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJv -cGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9k -ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3Bj -OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRu -czpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJEYXRhVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlZhbHVlUmFuayIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6VUludDMy -IiBMZW5ndGhGaWVsZD0iTm9PZkFycmF5RGltZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IklzQWJzdHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0 -dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWZlcmVuY2VUeXBlTm9k -ZSIgQmFzZVR5cGU9InRuczpUeXBlTm9kZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlNwZWNp -ZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gcmVmZXJlbmNlIHR5cGUgbm9kZXMu -PC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5h -bWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNzIiBTb3VyY2VUeXBlPSJ0bnM6 -Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpR -dWFsaWZpZWROYW1lIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0i -dG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9 -InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5z -Ok5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0i -b3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJOb09mUmVmZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlTm9kZSIgTGVuZ3RoRmll -bGQ9Ik5vT2ZSZWZlcmVuY2VzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNBYnN0cmFjdCIg -VHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3ltbWV0cmlj -IiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbnZlcnNl -TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTWV0aG9kTm9kZSIgQmFzZVR5cGU9 -InRuczpJbnN0YW5jZU5vZGUiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhl -IGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIG1ldGhvZCBub2Rlcy48L29wYzpEb2N1bWVudGF0 -aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBT -b3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIg -VHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNv -dXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUi -IFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4 -dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1h -c2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3Vy -Y2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2Vz -IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNl -cyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5j -ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFeGVjdXRhYmxlIiBUeXBlTmFtZT0ib3BjOkJv -b2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyRXhlY3V0YWJsZSIgVHlwZU5hbWU9 -Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj -dHVyZWRUeXBlIE5hbWU9IlZpZXdOb2RlIiBCYXNlVHlwZT0idG5zOkluc3RhbmNlTm9kZSI+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5 -cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFt -ZT0idG5zOk5vZGVDbGFzcyIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgU291cmNlVHlw -ZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5h -bWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3Vy -Y2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlw -ZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9 -InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVO -YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBl -TmFtZT0idG5zOlJlZmVyZW5jZU5vZGUiIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlcyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbnRhaW5zTm9Mb29wcyIgVHlwZU5hbWU9Im9wYzpCb29s -ZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnROb3RpZmllciIgVHlwZU5hbWU9Im9w -YzpCeXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU -eXBlIE5hbWU9IkRhdGFUeXBlTm9kZSIgQmFzZVR5cGU9InRuczpUeXBlTm9kZSI+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRu -czpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5z -Ok5vZGVDbGFzcyIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgU291cmNlVHlwZT0idG5z -Ok5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVh -OkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBl -PSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9 -Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpO -b2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJv -cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBlTmFtZT0i -dG5zOlJlZmVyZW5jZU5vZGUiIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlcyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAg -PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWZl -cmVuY2VOb2RlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3Vt -ZW50YXRpb24+U3BlY2lmaWVzIGEgcmVmZXJlbmNlIHdoaWNoIGJlbG9uZ3MgdG8gYSBub2RlLjwv -b3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBlSWQi -IFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0ludmVyc2Ui -IFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldElk -IiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl -Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQXJndW1lbnQiIEJhc2VUeXBlPSJ1YTpF -eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBhcmd1bWVudCBmb3Ig -YSBtZXRob2QuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUi -IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5cGUi -IFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZVJhbmsi -IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXJyYXlE -aW1lbnNpb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -QXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZB -cnJheURpbWVuc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlw -ZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog -IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRW51bVZhbHVlVHlwZSIgQmFzZVR5cGU9InVhOkV4 -dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgbWFwcGluZyBiZXR3ZWVu -IGEgdmFsdWUgb2YgYW4gZW51bWVyYXRlZCB0eXBlIGFuZCBhIG5hbWUgYW5kIGRlc2NyaXB0aW9u -Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5h -bWU9Im9wYzpJbnQ2NCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBl -TmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0 -aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJPcHRpb25TZXQiIEJhc2VUeXBlPSJ1 -YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGlzIGFic3RyYWN0 -IFN0cnVjdHVyZWQgRGF0YVR5cGUgaXMgdGhlIGJhc2UgRGF0YVR5cGUgZm9yIGFsbCBEYXRhVHlw -ZXMgcmVwcmVzZW50aW5nIGEgYml0IG1hc2suPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJWYWxpZEJpdHMiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAg -PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVbmlv -biIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u -PlRoaXMgYWJzdHJhY3QgRGF0YVR5cGUgaXMgdGhlIGJhc2UgRGF0YVR5cGUgZm9yIGFsbCB1bmlv -biBEYXRhVHlwZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ -DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9Ik5vcm1hbGl6ZWRTdHJpbmciPg0KICAgIDxvcGM6 -RG9jdW1lbnRhdGlvbj5BIHN0cmluZyBub3JtYWxpemVkIGJhc2VkIG9uIHRoZSBydWxlcyBpbiB0 -aGUgdW5pY29kZSBzcGVjaWZpY2F0aW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9w -YXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkRlY2ltYWxTdHJpbmciPg0KICAg -IDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBhcmJpdHJhdHkgbnVtZXJpYyB2YWx1ZS48L29wYzpEb2N1 -bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1l -PSJEdXJhdGlvblN0cmluZyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgcGVyaW9kIG9mIHRp -bWUgZm9ybWF0dGVkIGFzIGRlZmluZWQgaW4gSVNPIDg2MDEtMjAwMC48L29wYzpEb2N1bWVudGF0 -aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJUaW1l -U3RyaW5nIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSB0aW1lIGZvcm1hdHRlZCBhcyBkZWZp -bmVkIGluIElTTyA4NjAxLTIwMDAuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVl -VHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iRGF0ZVN0cmluZyI+DQogICAgPG9wYzpE -b2N1bWVudGF0aW9uPkEgZGF0ZSBmb3JtYXR0ZWQgYXMgZGVmaW5lZCBpbiBJU08gODYwMS0yMDAw -Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFx -dWVUeXBlIE5hbWU9IkR1cmF0aW9uIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBwZXJpb2Qg -b2YgdGltZSBtZWFzdXJlZCBpbiBtaWxsaXNlY29uZHMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAg -PC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iVXRjVGltZSI+DQog -ICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgZGF0ZS90aW1lIHZhbHVlIHNwZWNpZmllZCBpbiBVbml2 -ZXJzYWwgQ29vcmRpbmF0ZWQgVGltZSAoVVRDKS48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29w -YzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJMb2NhbGVJZCI+DQogICAg -PG9wYzpEb2N1bWVudGF0aW9uPkFuIGlkZW50aWZpZXIgZm9yIGEgdXNlciBsb2NhbGUuPC9vcGM6 -RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU -eXBlIE5hbWU9IlRpbWVab25lRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iT2Zmc2V0IiBUeXBlTmFtZT0ib3BjOkludDE2IiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iRGF5bGlnaHRTYXZpbmdJbk9mZnNldCIgVHlwZU5hbWU9Im9w -YzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5 -cGUgTmFtZT0iSW50ZWdlcklkIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBudW1lcmljIGlk -ZW50aWZpZXIgZm9yIGFuIG9iamVjdC48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFx -dWVUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iQXBwbGljYXRpb25UeXBlIiBM -ZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHR5cGVzIG9mIGFw -cGxpY2F0aW9ucy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9IlNlcnZlciIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt -ZT0iQ2xpZW50IiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJD -bGllbnRBbmRTZXJ2ZXIiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9IkRpc2NvdmVyeVNlcnZlciIgVmFsdWU9IjMiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBl -Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQXBwbGljYXRpb25EZXNjcmlwdGlvbiIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkRl -c2NyaWJlcyBhbiBhcHBsaWNhdGlvbiBhbmQgaG93IHRvIGZpbmQgaXQuPC9vcGM6RG9jdW1lbnRh -dGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFwcGxpY2F0aW9uVXJpIiBUeXBlTmFtZT0ib3Bj -OlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByb2R1Y3RVcmkiIFR5cGVOYW1lPSJv -cGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXBwbGljYXRpb25OYW1lIiBUeXBl -TmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFwcGxpY2F0 -aW9uVHlwZSIgVHlwZU5hbWU9InRuczpBcHBsaWNhdGlvblR5cGUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJHYXRld2F5U2VydmVyVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IkRpc2NvdmVyeVByb2ZpbGVVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5n -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpc2NvdmVyeVVybHMiIFR5cGVOYW1lPSJv -cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNjb3ZlcnlVcmxzIiBUeXBlTmFt -ZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaXNjb3ZlcnlVcmxzIiAvPg0KICA8L29w -YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlcXVlc3RI -ZWFkZXIiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRh -dGlvbj5UaGUgaGVhZGVyIHBhc3NlZCB3aXRoIGV2ZXJ5IHNlcnZlciByZXF1ZXN0Ljwvb3BjOkRv -Y3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdXRoZW50aWNhdGlvblRva2VuIiBU -eXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGltZXN0YW1wIiBU -eXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhh -bmRsZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXR1 -cm5EaWFnbm9zdGljcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJBdWRpdEVudHJ5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iVGltZW91dEhpbnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iQWRkaXRpb25hbEhlYWRlciIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVj -dCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJSZXNwb25zZUhlYWRlciIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg -PG9wYzpEb2N1bWVudGF0aW9uPlRoZSBoZWFkZXIgcGFzc2VkIHdpdGggZXZlcnkgc2VydmVyIHJl -c3BvbnNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lc3Rh -bXAiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 -ZXN0SGFuZGxlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlNlcnZpY2VSZXN1bHQiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iU2VydmljZURpYWdub3N0aWNzIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8i -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU3RyaW5nVGFibGUiIFR5cGVOYW1lPSJvcGM6 -SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdHJpbmdUYWJsZSIgVHlwZU5hbWU9Im9w -YzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mU3RyaW5nVGFibGUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJBZGRpdGlvbmFsSGVhZGVyIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -IlNlcnZpY2VGYXVsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpE -b2N1bWVudGF0aW9uPlRoZSByZXNwb25zZSByZXR1cm5lZCBieSBhbGwgc2VydmljZXMgd2hlbiB0 -aGVyZSBpcyBhIHNlcnZpY2UgbGV2ZWwgZXJyb3IuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVh -ZGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl -IE5hbWU9IkZpbmRTZXJ2ZXJzUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkZpbmRzIHRoZSBzZXJ2ZXJzIGtub3duIHRvIHRoZSBk -aXNjb3Zlcnkgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJOb09mTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVu -Z3RoRmllbGQ9Ik5vT2ZMb2NhbGVJZHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2Vy -dmVyVXJpcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNl -cnZlclVyaXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlclVy -aXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg -TmFtZT0iRmluZFNlcnZlcnNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkZpbmRzIHRoZSBzZXJ2ZXJzIGtub3duIHRvIHRoZSBk -aXNjb3Zlcnkgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iU2VydmVycyIgVHlwZU5hbWU9InRuczpBcHBsaWNhdGlvbkRlc2Ny -aXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlcnMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2VydmVyT25OZXR3b3JrIiBCYXNl -VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlY29yZElk -IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlck5h -bWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY292 -ZXJ5VXJsIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v -T2ZTZXJ2ZXJDYXBhYmlsaXRpZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJTZXJ2ZXJDYXBhYmlsaXRpZXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5n -dGhGaWVsZD0iTm9PZlNlcnZlckNhcGFiaWxpdGllcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJGaW5kU2VydmVyc09uTmV0d29ya1Jl -cXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iU3RhcnRpbmdSZWNvcmRJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhSZWNvcmRzVG9SZXR1cm4iIFR5cGVOYW1lPSJvcGM6 -VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlcnZlckNhcGFiaWxpdHlGaWx0 -ZXIiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJD -YXBhYmlsaXR5RmlsdGVyIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZT -ZXJ2ZXJDYXBhYmlsaXR5RmlsdGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 -b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVzcG9uc2UiIEJh -c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9u -c2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJMYXN0Q291bnRlclJlc2V0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVycyIgVHlwZU5hbWU9InRuczpTZXJ2ZXJPbk5l -dHdvcmsiIExlbmd0aEZpZWxkPSJOb09mU2VydmVycyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkFwcGxpY2F0aW9uSW5zdGFuY2VDZXJ0aWZp -Y2F0ZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgY2VydGlmaWNhdGUgZm9yIGFuIGluc3Rh -bmNlIG9mIGFuIGFwcGxpY2F0aW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1 -ZVR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJNZXNzYWdlU2VjdXJpdHlNb2Rl -IiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHR5cGUgb2Yg -c2VjdXJpdHkgdG8gdXNlIG9uIGEgbWVzc2FnZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkludmFsaWQiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6 -RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVy -YXRlZFZhbHVlIE5hbWU9IlNpZ24iIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh -bHVlIE5hbWU9IlNpZ25BbmRFbmNyeXB0IiBWYWx1ZT0iMyIgLz4NCiAgPC9vcGM6RW51bWVyYXRl -ZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJVc2VyVG9rZW5UeXBlIiBMZW5n -dGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHBvc3NpYmxlIHVzZXIg -dG9rZW4gdHlwZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJBbm9ueW1vdXMiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9IlVzZXJOYW1lIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO -YW1lPSJDZXJ0aWZpY2F0ZSIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iSXNzdWVkVG9rZW4iIFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9IktlcmJlcm9zIiBWYWx1ZT0iNCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVc2VyVG9rZW5Qb2xpY3kiIEJhc2VUeXBlPSJ1 -YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5EZXNjcmliZXMgYSB1 -c2VyIHRva2VuIHRoYXQgY2FuIGJlIHVzZWQgd2l0aCBhIHNlcnZlci48L29wYzpEb2N1bWVudGF0 -aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUG9saWN5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5n -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVG9rZW5UeXBlIiBUeXBlTmFtZT0idG5zOlVzZXJU -b2tlblR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc3N1ZWRUb2tlblR5cGUiIFR5cGVO -YW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNzdWVyRW5kcG9pbnRV -cmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJp -dHlQb2xpY3lVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkVuZHBvaW50RGVzY3JpcHRpb24i -IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5U -aGUgZGVzY3JpcHRpb24gb2YgYSBlbmRwb2ludCB0aGF0IGNhbiBiZSB1c2VkIHRvIGFjY2VzcyBh -IHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kcG9p -bnRVcmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vy -dmVyIiBUeXBlTmFtZT0idG5zOkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJTZXJ2ZXJDZXJ0aWZpY2F0ZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlNb2RlIiBUeXBlTmFtZT0idG5zOk1lc3Nh -Z2VTZWN1cml0eU1vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eVBvbGljeVVy -aSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVXNl -cklkZW50aXR5VG9rZW5zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iVXNlcklkZW50aXR5VG9rZW5zIiBUeXBlTmFtZT0idG5zOlVzZXJUb2tlblBvbGljeSIg -TGVuZ3RoRmllbGQ9Ik5vT2ZVc2VySWRlbnRpdHlUb2tlbnMiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJUcmFuc3BvcnRQcm9maWxlVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TGV2ZWwiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAg -PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJHZXRF -bmRwb2ludHNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj -OkRvY3VtZW50YXRpb24+R2V0cyB0aGUgZW5kcG9pbnRzIHVzZWQgYnkgdGhlIHNlcnZlci48L29w -YzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlw -ZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kcG9p -bnRVcmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P -ZkxvY2FsZUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkxvY2FsZUlkcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mTG9jYWxl -SWRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlByb2ZpbGVVcmlzIiBUeXBlTmFtZT0i -b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJvZmlsZVVyaXMiIFR5cGVOYW1l -PSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlByb2ZpbGVVcmlzIiAvPg0KICA8L29wYzpT -dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkdldEVuZHBvaW50 -c1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3Vt -ZW50YXRpb24+R2V0cyB0aGUgZW5kcG9pbnRzIHVzZWQgYnkgdGhlIHNlcnZlci48L29wYzpEb2N1 -bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1l -PSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRW5kcG9p -bnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kcG9p -bnRzIiBUeXBlTmFtZT0idG5zOkVuZHBvaW50RGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09m -RW5kcG9pbnRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy -ZWRUeXBlIE5hbWU9IlJlZ2lzdGVyZWRTZXJ2ZXIiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl -Y3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgaW5mb3JtYXRpb24gcmVxdWlyZWQgdG8g -cmVnaXN0ZXIgYSBzZXJ2ZXIgd2l0aCBhIGRpc2NvdmVyeSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRh -dGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclVyaSIgVHlwZU5hbWU9Im9wYzpTdHJp -bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcm9kdWN0VXJpIiBUeXBlTmFtZT0ib3BjOlN0 -cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJOYW1lcyIgVHlwZU5hbWU9 -Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlck5hbWVzIiBUeXBlTmFt -ZT0idWE6TG9jYWxpemVkVGV4dCIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJOYW1lcyIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclR5cGUiIFR5cGVOYW1lPSJ0bnM6QXBwbGljYXRpb25U -eXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iR2F0ZXdheVNlcnZlclVyaSIgVHlwZU5hbWU9 -Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlzY292ZXJ5VXJscyIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2NvdmVyeVVy -bHMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZkRpc2NvdmVyeVVybHMi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZW1hcGhvcmVGaWxlUGF0aCIgVHlwZU5hbWU9Im9w -YzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc09ubGluZSIgVHlwZU5hbWU9Im9w -YzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy -ZWRUeXBlIE5hbWU9IlJlZ2lzdGVyU2VydmVyUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lv -bk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlJlZ2lzdGVycyBhIHNlcnZlciB3aXRo -IHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXIiIFR5cGVOYW1lPSJ0bnM6UmVnaXN0ZXJlZFNlcnZl -ciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJSZWdpc3RlclNlcnZlclJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 -Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+UmVnaXN0ZXJzIGEgc2VydmVyIHdpdGggdGhlIGRp -c2NvdmVyeSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICA8L29w -YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRpc2NvdmVy -eUNvbmZpZ3VyYXRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 -RG9jdW1lbnRhdGlvbj5BIGJhc2UgdHlwZSBmb3IgZGlzY292ZXJ5IGNvbmZpZ3VyYXRpb24gaW5m -b3JtYXRpb24uPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNZG5zRGlzY292ZXJ5Q29uZmlndXJhdGlvbiIg -QmFzZVR5cGU9InRuczpEaXNjb3ZlcnlDb25maWd1cmF0aW9uIj4NCiAgICA8b3BjOkRvY3VtZW50 -YXRpb24+VGhlIGRpc2NvdmVyeSBpbmZvcm1hdGlvbiBuZWVkZWQgZm9yIG1ETlMgcmVnaXN0cmF0 -aW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZG5zU2VydmVy -TmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m -U2VydmVyQ2FwYWJpbGl0aWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iU2VydmVyQ2FwYWJpbGl0aWVzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3Ro -RmllbGQ9Ik5vT2ZTZXJ2ZXJDYXBhYmlsaXRpZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl -Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVnaXN0ZXJTZXJ2ZXIyUmVxdWVzdCIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 -ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJTZXJ2ZXIiIFR5cGVOYW1lPSJ0bnM6UmVnaXN0ZXJlZFNlcnZlciIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiBUeXBlTmFtZT0ib3Bj -OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY292ZXJ5Q29uZmlndXJhdGlvbiIg -VHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaXNjb3ZlcnlD -b25maWd1cmF0aW9uIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj -dHVyZWRUeXBlIE5hbWU9IlJlZ2lzdGVyU2VydmVyMlJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0 -ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBl -TmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkNv -bmZpZ3VyYXRpb25SZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iQ29uZmlndXJhdGlvblJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBM -ZW5ndGhGaWVsZD0iTm9PZkNvbmZpZ3VyYXRpb25SZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJ -bmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0 -dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJTZWN1cml0eVRva2VuUmVx -dWVzdFR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5JbmRp -Y2F0ZXMgd2hldGhlciBhIHRva2VuIGlmIGJlaW5nIGNyZWF0ZWQgb3IgcmVuZXdlZC48L29wYzpE -b2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Iklzc3VlIiBWYWx1 -ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZW5ldyIgVmFsdWU9IjEi -IC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt -ZT0iQ2hhbm5lbFNlY3VyaXR5VG9rZW4iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K -ICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgdG9rZW4gdGhhdCBpZGVudGlmaWVzIGEgc2V0IG9m -IGtleXMgZm9yIGFuIGFjdGl2ZSBzZWN1cmUgY2hhbm5lbC48L29wYzpEb2N1bWVudGF0aW9uPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iQ2hhbm5lbElkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlRva2VuSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iQ3JlYXRlZEF0IiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZExpZmV0aW1lIiBUeXBlTmFtZT0ib3BjOlVJ -bnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJPcGVuU2VjdXJlQ2hhbm5lbFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P -YmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5DcmVhdGVzIGEgc2VjdXJlIGNoYW5uZWwg -d2l0aCBhIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iQ2xpZW50UHJvdG9jb2xWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RUeXBlIiBUeXBlTmFtZT0idG5zOlNlY3Vy -aXR5VG9rZW5SZXF1ZXN0VHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TW9k -ZSIgVHlwZU5hbWU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iQ2xpZW50Tm9uY2UiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlJlcXVlc3RlZExpZmV0aW1lIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJP -cGVuU2VjdXJlQ2hhbm5lbFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q3JlYXRlcyBhIHNlY3VyZSBjaGFubmVsIHdpdGggYSBz -ZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNl -SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iU2VydmVyUHJvdG9jb2xWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5VG9rZW4iIFR5cGVOYW1lPSJ0bnM6Q2hhbm5lbFNl -Y3VyaXR5VG9rZW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJOb25jZSIgVHlwZU5h -bWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -OlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNsb3NlU2VjdXJlQ2hhbm5lbFJlcXVlc3QiIEJhc2VUeXBl -PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5DbG9zZXMgYSBz -ZWN1cmUgY2hhbm5lbC48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICA8L29wYzpT -dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNsb3NlU2VjdXJl -Q2hhbm5lbFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj -OkRvY3VtZW50YXRpb24+Q2xvc2VzIGEgc2VjdXJlIGNoYW5uZWwuPC9vcGM6RG9jdW1lbnRhdGlv -bj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJl -c3BvbnNlSGVhZGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj -dHVyZWRUeXBlIE5hbWU9IlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiIEJhc2VUeXBlPSJ1YTpF -eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHNvZnR3YXJlIGNlcnRp -ZmljYXRlIHdpdGggYSBkaWdpdGFsIHNpZ25hdHVyZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iQ2VydGlmaWNhdGVEYXRhIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJp -bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTaWduYXR1cmUiIFR5cGVOYW1lPSJvcGM6Qnl0 -ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBl -IE5hbWU9IlNlc3Npb25BdXRoZW50aWNhdGlvblRva2VuIj4NCiAgICA8b3BjOkRvY3VtZW50YXRp -b24+QSB1bmlxdWUgaWRlbnRpZmllciBmb3IgYSBzZXNzaW9uIHVzZWQgdG8gYXV0aGVudGljYXRl -IHJlcXVlc3RzLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAg -PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTaWduYXR1cmVEYXRhIiBCYXNlVHlwZT0idWE6RXh0 -ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBkaWdpdGFsIHNpZ25hdHVy -ZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWxnb3JpdGhtIiBU -eXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNpZ25hdHVyZSIg -VHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNyZWF0ZVNlc3Npb25SZXF1ZXN0IiBCYXNlVHlw -ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q3JlYXRlcyBh -IG5ldyBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50RGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ0 -bnM6QXBwbGljYXRpb25EZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZl -clVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRw -b2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT -ZXNzaW9uTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJDbGllbnROb25jZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iQ2xpZW50Q2VydGlmaWNhdGUiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZFNlc3Npb25UaW1lb3V0IiBUeXBlTmFtZT0i -b3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heFJlc3BvbnNlTWVzc2FnZVNp -emUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNyZWF0ZVNlc3Npb25SZXNwb25zZSIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkNyZWF0ZXMg -YSBuZXcgc2Vzc2lvbiB3aXRoIHRoZSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVh -ZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6Tm9k -ZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXV0aGVudGljYXRpb25Ub2tlbiIgVHlwZU5h -bWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRTZXNzaW9uVGlt -ZW91dCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2 -ZXJOb25jZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iU2VydmVyQ2VydGlmaWNhdGUiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJFbmRwb2ludHMiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJFbmRwb2ludHMiIFR5cGVOYW1lPSJ0bnM6 -RW5kcG9pbnREZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJFbmRwb2ludHMiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VydmVyU29mdHdhcmVDZXJ0aWZpY2F0ZXMiIFR5 -cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJTb2Z0d2Fy -ZUNlcnRpZmljYXRlcyIgVHlwZU5hbWU9InRuczpTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiBM -ZW5ndGhGaWVsZD0iTm9PZlNlcnZlclNvZnR3YXJlQ2VydGlmaWNhdGVzIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iU2VydmVyU2lnbmF0dXJlIiBUeXBlTmFtZT0idG5zOlNpZ25hdHVyZURhdGEi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhSZXF1ZXN0TWVzc2FnZVNpemUiIFR5cGVOYW1l -PSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj -dHVyZWRUeXBlIE5hbWU9IlVzZXJJZGVudGl0eVRva2VuIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u -T2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBiYXNlIHR5cGUgZm9yIGEgdXNlciBp -ZGVudGl0eSB0b2tlbi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UG9saWN5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw -ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFub255bW91c0lkZW50aXR5VG9rZW4i -IEJhc2VUeXBlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlv -bj5BIHRva2VuIHJlcHJlc2VudGluZyBhbiBhbm9ueW1vdXMgdXNlci48L29wYzpEb2N1bWVudGF0 -aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUG9saWN5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5n -IiBTb3VyY2VUeXBlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVXNlck5hbWVJZGVudGl0eVRv -a2VuIiBCYXNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIj4NCiAgICA8b3BjOkRvY3VtZW50 -YXRpb24+QSB0b2tlbiByZXByZXNlbnRpbmcgYSB1c2VyIGlkZW50aWZpZWQgYnkgYSB1c2VyIG5h -bWUgYW5kIHBhc3N3b3JkLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJQb2xpY3lJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIFNvdXJjZVR5cGU9InRuczpVc2VySWRl -bnRpdHlUb2tlbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJOYW1lIiBUeXBlTmFtZT0i -b3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBhc3N3b3JkIiBUeXBlTmFtZT0i -b3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmNyeXB0aW9uQWxnb3Jp -dGhtIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJYNTA5SWRlbnRpdHlUb2tlbiIgQmFzZVR5cGU9 -InRuczpVc2VySWRlbnRpdHlUb2tlbiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgdG9rZW4g -cmVwcmVzZW50aW5nIGEgdXNlciBpZGVudGlmaWVkIGJ5IGFuIFg1MDkgY2VydGlmaWNhdGUuPC9v -cGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBvbGljeUlkIiBUeXBlTmFt -ZT0ib3BjOlN0cmluZyIgU291cmNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iQ2VydGlmaWNhdGVEYXRhIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJp -bmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg -TmFtZT0iS2VyYmVyb3NJZGVudGl0eVRva2VuIiBCYXNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRv -a2VuIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBvbGljeUlkIiBUeXBlTmFtZT0ib3BjOlN0cmlu -ZyIgU291cmNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iVGlja2V0RGF0YSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpT -dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Iklzc3VlZElkZW50 -aXR5VG9rZW4iIEJhc2VUeXBlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgIDxvcGM6RG9j -dW1lbnRhdGlvbj5BIHRva2VuIHJlcHJlc2VudGluZyBhIHVzZXIgaWRlbnRpZmllZCBieSBhIFdT -LVNlY3VyaXR5IFhNTCB0b2tlbi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iUG9saWN5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBTb3VyY2VUeXBlPSJ0bnM6VXNl -cklkZW50aXR5VG9rZW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUb2tlbkRhdGEiIFR5cGVO -YW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuY3J5cHRpb25B -bGdvcml0aG0iIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw -ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFjdGl2YXRlU2Vzc2lvblJlcXVlc3Qi -IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5B -Y3RpdmF0ZXMgYSBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0 -SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50U2lnbmF0dXJlIiBUeXBlTmFt -ZT0idG5zOlNpZ25hdHVyZURhdGEiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQ2xpZW50 -U29mdHdhcmVDZXJ0aWZpY2F0ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJDbGllbnRTb2Z0d2FyZUNlcnRpZmljYXRlcyIgVHlwZU5hbWU9InRuczpTaWdu -ZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiBMZW5ndGhGaWVsZD0iTm9PZkNsaWVudFNvZnR3YXJlQ2Vy -dGlmaWNhdGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxvY2FsZUlkcyIgVHlwZU5h -bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsZUlkcyIgVHlwZU5h -bWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mTG9jYWxlSWRzIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iVXNlcklkZW50aXR5VG9rZW4iIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmpl -Y3QiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyVG9rZW5TaWduYXR1cmUiIFR5cGVOYW1l -PSJ0bnM6U2lnbmF0dXJlRGF0YSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w -YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBY3RpdmF0ZVNlc3Npb25SZXNwb25zZSIgQmFzZVR5cGU9 -InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkFjdGl2YXRlcyBh -IHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlck5vbmNlIiBUeXBlTmFtZT0ib3BjOkJ5dGVT -dHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9w -YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpT -dGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0lu -Zm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNsb3NlU2Vzc2lvblJlcXVl -c3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlv -bj5DbG9zZXMgYSBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0 -SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVsZXRlU3Vic2NyaXB0aW9ucyIgVHlw -ZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -OlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNsb3NlU2Vzc2lvblJlc3BvbnNlIiBCYXNlVHlwZT0idWE6 -RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q2xvc2VzIGEgc2Vzc2lv -biB3aXRoIHRoZSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICA8 -L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNhbmNl -bFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1l -bnRhdGlvbj5DYW5jZWxzIGFuIG91dHN0YW5kaW5nIHJlcXVlc3QuPC9vcGM6RG9jdW1lbnRhdGlv -bj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVx -dWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIYW5kbGUiIFR5cGVO -YW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 -cnVjdHVyZWRUeXBlIE5hbWU9IkNhbmNlbFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u -T2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q2FuY2VscyBhbiBvdXRzdGFuZGluZyBy -ZXF1ZXN0Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25z -ZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkNhbmNlbENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJOb2RlQXR0cmlidXRl -c01hc2siIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYml0 -cyB1c2VkIHRvIHNwZWNpZnkgZGVmYXVsdCBhdHRyaWJ1dGVzIGZvciBhIG5ldyBub2RlLjwvb3Bj -OkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFs -dWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQWNjZXNzTGV2ZWwiIFZh -bHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFycmF5RGltZW5zaW9u -cyIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQnJvd3NlTmFt -ZSIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ29udGFpbnNO -b0xvb3BzIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEYXRh -VHlwZSIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRlc2Ny -aXB0aW9uIiBWYWx1ZT0iMzIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGlz -cGxheU5hbWUiIFZhbHVlPSI2NCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJF -dmVudE5vdGlmaWVyIiBWYWx1ZT0iMTI4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9IkV4ZWN1dGFibGUiIFZhbHVlPSIyNTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iSGlzdG9yaXppbmciIFZhbHVlPSI1MTIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs -dWUgTmFtZT0iSW52ZXJzZU5hbWUiIFZhbHVlPSIxMDI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRl -ZFZhbHVlIE5hbWU9IklzQWJzdHJhY3QiIFZhbHVlPSIyMDQ4IiAvPg0KICAgIDxvcGM6RW51bWVy -YXRlZFZhbHVlIE5hbWU9Ik1pbmltdW1TYW1wbGluZ0ludGVydmFsIiBWYWx1ZT0iNDA5NiIgLz4N -CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlQ2xhc3MiIFZhbHVlPSI4MTkyIiAv -Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vZGVJZCIgVmFsdWU9IjE2Mzg0IiAv -Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN5bW1ldHJpYyIgVmFsdWU9IjMyNzY4 -IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVzZXJBY2Nlc3NMZXZlbCIgVmFs -dWU9IjY1NTM2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVzZXJFeGVjdXRh -YmxlIiBWYWx1ZT0iMTMxMDcyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVz -ZXJXcml0ZU1hc2siIFZhbHVlPSIyNjIxNDQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iVmFsdWVSYW5rIiBWYWx1ZT0iNTI0Mjg4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh -bHVlIE5hbWU9IldyaXRlTWFzayIgVmFsdWU9IjEwNDg1NzYiIC8+DQogICAgPG9wYzpFbnVtZXJh -dGVkVmFsdWUgTmFtZT0iVmFsdWUiIFZhbHVlPSIyMDk3MTUyIiAvPg0KICAgIDxvcGM6RW51bWVy -YXRlZFZhbHVlIE5hbWU9IkFsbCIgVmFsdWU9IjQxOTQzMDMiIC8+DQogICAgPG9wYzpFbnVtZXJh -dGVkVmFsdWUgTmFtZT0iQmFzZU5vZGUiIFZhbHVlPSIxMzM1Mzk2IiAvPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9Ik9iamVjdCIgVmFsdWU9IjEzMzU1MjQiIC8+DQogICAgPG9wYzpF -bnVtZXJhdGVkVmFsdWUgTmFtZT0iT2JqZWN0VHlwZU9yRGF0YVR5cGUiIFZhbHVlPSIxMzM3NDQ0 -IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZhcmlhYmxlIiBWYWx1ZT0iNDAy -Njk5OSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJWYXJpYWJsZVR5cGUiIFZh -bHVlPSIzOTU4OTAyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik1ldGhvZCIg -VmFsdWU9IjE0NjY3MjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJl -bmNlVHlwZSIgVmFsdWU9IjEzNzEyMzYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt -ZT0iVmlldyIgVmFsdWU9IjEzMzU1MzIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQog -IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm9kZUF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ1YTpF -eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYmFzZSBhdHRyaWJ1 -dGVzIGZvciBhbGwgbm9kZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6 -ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3Bj -OlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1l -PSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj -dHVyZWRUeXBlIE5hbWU9Ik9iamVjdEF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0dHJp -YnV0ZXMiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYW4gb2Jq -ZWN0IG5vZGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNwZWNp -ZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9k -ZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5h -bWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVk -VGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5v -ZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlw -ZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50Tm90aWZpZXIiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJW -YXJpYWJsZUF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgIDxv -cGM6RG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSB2YXJpYWJsZSBub2RlLjwvb3Bj -OkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVz -IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6 -ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5 -cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFz -ayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJEYXRhVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlZhbHVlUmFuayIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -Ik5vT2ZBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhG -aWVsZD0iTm9PZkFycmF5RGltZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFjY2Vz -c0xldmVsIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2Vy -QWNjZXNzTGV2ZWwiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -Ik1pbmltdW1TYW1wbGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ikhpc3Rvcml6aW5nIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTWV0 -aG9kQXR0cmlidXRlcyIgQmFzZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpE -b2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVzIGZvciBhIG1ldGhvZCBub2RlLjwvb3BjOkRvY3Vt -ZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiBUeXBl -TmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0 -IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRu -czpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlw -ZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBT -b3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJF -eGVjdXRhYmxlIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJVc2VyRXhlY3V0YWJsZSIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik9iamVjdFR5cGVBdHRy -aWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICA8b3BjOkRvY3VtZW50 -YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGFuIG9iamVjdCB0eXBlIG5vZGUuPC9vcGM6RG9jdW1l -bnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVO -YW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQi -IFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5z -Ok5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBl -TmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNv -dXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Iklz -QWJzdHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJWYXJpYWJsZVR5cGVBdHRyaWJ1dGVz -IiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+ -VGhlIGF0dHJpYnV0ZXMgZm9yIGEgdmFyaWFibGUgdHlwZSBub2RlLjwvb3BjOkRvY3VtZW50YXRp -b24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0i -b3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3Vy -Y2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNj -cmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2Rl -QXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9 -Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VU -eXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIg -VHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZSIg -VHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlUmFuayIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBcnJheURp -bWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJB -cnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkFy -cmF5RGltZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5cGVO -YW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT -dHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWZlcmVuY2VUeXBlQXR0cmlidXRlcyIgQmFzZVR5cGU9InRu -czpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVz -IGZvciBhIHJlZmVyZW5jZSB0eXBlIG5vZGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBT -b3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE -aXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpO -b2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBl -TmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg -U291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -VXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2Rl -QXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5cGVOYW1l -PSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN5bW1ldHJpYyIgVHlwZU5h -bWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW52ZXJzZU5hbWUiIFR5 -cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFUeXBlQXR0cmlidXRlcyIgQmFzZVR5cGU9 -InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1 -dGVzIGZvciBhIGRhdGEgdHlwZSBub2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291 -cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlz -cGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9k -ZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5h -bWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNv -dXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVz -ZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0 -dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0Fic3RyYWN0IiBUeXBlTmFtZT0i -b3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 -dXJlZFR5cGUgTmFtZT0iVmlld0F0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0 -ZXMiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSB2aWV3IG5v -ZGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNwZWNpZmllZEF0 -dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJp -YnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVh -OkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIg -U291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -V3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRy -aWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9 -Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IkNvbnRhaW5zTm9Mb29wcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnROb3RpZmllciIgVHlwZU5hbWU9Im9wYzpCeXRlIiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -IkFkZE5vZGVzSXRlbSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpE -b2N1bWVudGF0aW9uPkEgcmVxdWVzdCB0byBhZGQgYSBub2RlIHRvIHRoZSBzZXJ2ZXIgYWRkcmVz -cyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGFyZW50 -Tm9kZUlkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJSZWZlcmVuY2VUeXBlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJSZXF1ZXN0ZWROZXdOb2RlSWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJ -ZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFs -aWZpZWROYW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0i -dG5zOk5vZGVDbGFzcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVBdHRyaWJ1dGVzIiBU -eXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHlw -ZURlZmluaXRpb24iIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBZGROb2Rlc1Jlc3Vs -dCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u -PkEgcmVzdWx0IG9mIGFuIGFkZCBub2RlIG9wZXJhdGlvbi48L29wYzpEb2N1bWVudGF0aW9uPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGRlZE5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJ -ZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJBZGROb2Rlc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg -IDxvcGM6RG9jdW1lbnRhdGlvbj5BZGRzIG9uZSBvciBtb3JlIG5vZGVzIHRvIHRoZSBzZXJ2ZXIg -YWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iTm9PZk5vZGVzVG9BZGQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJOb2Rlc1RvQWRkIiBUeXBlTmFtZT0idG5zOkFkZE5vZGVzSXRlbSIg -TGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvQWRkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N -Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFkZE5vZGVzUmVzcG9uc2UiIEJhc2VUeXBl -PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BZGRzIG9uZSBv -ciBtb3JlIG5vZGVzIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0 -aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6 -UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlw -ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVO -YW1lPSJ0bnM6QWRkTm9kZXNSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50 -MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1 -YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWRk -UmVmZXJlbmNlc0l0ZW0iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 -RG9jdW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8gYWRkIGEgcmVmZXJlbmNlIHRvIHRoZSBzZXJ2ZXIg -YWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -U291cmNlTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iUmVmZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iSXNGb3J3YXJkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJUYXJnZXRTZXJ2ZXJVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iVGFyZ2V0Tm9kZUlkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2Rl -SWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUYXJnZXROb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0 -bnM6Tm9kZUNsYXNzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj -dHVyZWRUeXBlIE5hbWU9IkFkZFJlZmVyZW5jZXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5z -aW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QWRkcyBvbmUgb3IgbW9yZSByZWZl -cmVuY2VzIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0 -SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXNUb0FkZCIgVHlw -ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXNUb0Fk -ZCIgVHlwZU5hbWU9InRuczpBZGRSZWZlcmVuY2VzSXRlbSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZl -cmVuY2VzVG9BZGQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 -dXJlZFR5cGUgTmFtZT0iQWRkUmVmZXJlbmNlc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5z -aW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QWRkcyBvbmUgb3IgbW9yZSByZWZl -cmVuY2VzIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9u -c2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9 -Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1 -YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3Rp -Y0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZU5vZGVzSXRl -bSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u -PkEgcmVxdWVzdCB0byBkZWxldGUgYSBub2RlIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48 -L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFt -ZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVsZXRlVGFyZ2V0UmVmZXJl -bmNlcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N -Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZU5vZGVzUmVxdWVzdCIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkRlbGV0ZSBv -bmUgb3IgbW9yZSBub2RlcyBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1 -bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9 -InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVzVG9E -ZWxldGUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rl -c1RvRGVsZXRlIiBUeXBlTmFtZT0idG5zOkRlbGV0ZU5vZGVzSXRlbSIgTGVuZ3RoRmllbGQ9Ik5v -T2ZOb2Rlc1RvRGVsZXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 -cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZU5vZGVzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRl -bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5EZWxldGUgb25lIG9yIG1vcmUg -bm9kZXMgZnJvbSB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3Bv -bnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0i -dWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0 -aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVSZWZlcmVu -Y2VzSXRlbSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVu -dGF0aW9uPkEgcmVxdWVzdCB0byBkZWxldGUgYSBub2RlIGZyb20gdGhlIHNlcnZlciBhZGRyZXNz -IHNwYWNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTb3VyY2VO -b2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZl -cmVuY2VUeXBlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJJc0ZvcndhcmQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlRhcmdldE5vZGVJZCIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iRGVsZXRlQmlkaXJlY3Rpb25hbCIgVHlwZU5hbWU9Im9wYzpCb29sZWFu -IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9IkRlbGV0ZVJlZmVyZW5jZXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 -Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+RGVsZXRlIG9uZSBvciBtb3JlIHJlZmVyZW5jZXMg -ZnJvbSB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRl -ciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzVG9EZWxldGUiIFR5cGVO -YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzVG9EZWxl -dGUiIFR5cGVOYW1lPSJ0bnM6RGVsZXRlUmVmZXJlbmNlc0l0ZW0iIExlbmd0aEZpZWxkPSJOb09m -UmVmZXJlbmNlc1RvRGVsZXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -OlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNSZXNwb25zZSIgQmFzZVR5cGU9 -InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkRlbGV0ZSBvbmUg -b3IgbW9yZSByZWZlcmVuY2VzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRv -Y3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5h -bWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1 -bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0 -cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6 -SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1l -PSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+ -DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0i -QXR0cmlidXRlV3JpdGVNYXNrIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50 -YXRpb24+RGVmaW5lIGJpdHMgdXNlZCB0byBpbmRpY2F0ZSB3aGljaCBhdHRyaWJ1dGVzIGFyZSB3 -cml0YWJsZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFj -Y2Vzc0xldmVsIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJB -cnJheURpbWVuc2lvbnMiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9IkJyb3dzZU5hbWUiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9IkNvbnRhaW5zTm9Mb29wcyIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs -dWUgTmFtZT0iRGF0YVR5cGUiIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJEZXNjcmlwdGlvbiIgVmFsdWU9IjMyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh -bHVlIE5hbWU9IkRpc3BsYXlOYW1lIiBWYWx1ZT0iNjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk -VmFsdWUgTmFtZT0iRXZlbnROb3RpZmllciIgVmFsdWU9IjEyOCIgLz4NCiAgICA8b3BjOkVudW1l -cmF0ZWRWYWx1ZSBOYW1lPSJFeGVjdXRhYmxlIiBWYWx1ZT0iMjU2IiAvPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9Ikhpc3Rvcml6aW5nIiBWYWx1ZT0iNTEyIiAvPg0KICAgIDxvcGM6 -RW51bWVyYXRlZFZhbHVlIE5hbWU9IkludmVyc2VOYW1lIiBWYWx1ZT0iMTAyNCIgLz4NCiAgICA8 -b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJc0Fic3RyYWN0IiBWYWx1ZT0iMjA0OCIgLz4NCiAg -ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbCIgVmFs -dWU9IjQwOTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9kZUNsYXNzIiBW -YWx1ZT0iODE5MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlSWQiIFZh -bHVlPSIxNjM4NCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTeW1tZXRyaWMi -IFZhbHVlPSIzMjc2OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVc2VyQWNj -ZXNzTGV2ZWwiIFZhbHVlPSI2NTUzNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l -PSJVc2VyRXhlY3V0YWJsZSIgVmFsdWU9IjEzMTA3MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJVc2VyV3JpdGVNYXNrIiBWYWx1ZT0iMjYyMTQ0IiAvPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9IlZhbHVlUmFuayIgVmFsdWU9IjUyNDI4OCIgLz4NCiAgICA8b3Bj -OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJXcml0ZU1hc2siIFZhbHVlPSIxMDQ4NTc2IiAvPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZhbHVlRm9yVmFyaWFibGVUeXBlIiBWYWx1ZT0i -MjA5NzE1MiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVk -VHlwZSBOYW1lPSJCcm93c2VEaXJlY3Rpb24iIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6 -RG9jdW1lbnRhdGlvbj5UaGUgZGlyZWN0aW9ucyBvZiB0aGUgcmVmZXJlbmNlcyB0byByZXR1cm4u -PC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJGb3J3 -YXJkIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnZlcnNl -IiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCb3RoIiBWYWx1 -ZT0iMiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJWaWV3RGVzY3JpcHRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K -ICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgdmlldyB0byBicm93c2UuPC9vcGM6RG9jdW1lbnRh -dGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZpZXdJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRpbWVzdGFtcCIgVHlwZU5hbWU9Im9wYzpEYXRlVGlt -ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZpZXdWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlVJ -bnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJCcm93c2VEZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgcmVxdWVzdCB0byBicm93c2UgdGhlIHRoZSByZWZl -cmVuY2VzIGZyb20gYSBub2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJCcm93c2VEaXJlY3Rpb24iIFR5cGVOYW1lPSJ0bnM6QnJvd3NlRGlyZWN0aW9uIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5jbHVkZVN1YnR5cGVzIiBUeXBlTmFtZT0ib3BjOkJv -b2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3NNYXNrIiBUeXBlTmFtZT0i -b3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdE1hc2siIFR5cGVOYW1l -PSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1l -cmF0ZWRUeXBlIE5hbWU9IkJyb3dzZVJlc3VsdE1hc2siIExlbmd0aEluQml0cz0iMzIiPg0KICAg -IDxvcGM6RG9jdW1lbnRhdGlvbj5BIGJpdCBtYXNrIHdoaWNoIHNwZWNpZmllcyB3aGF0IHNob3Vs -ZCBiZSByZXR1cm5lZCBpbiBhIGJyb3dzZSByZXNwb25zZS48L29wYzpEb2N1bWVudGF0aW9uPg0K -ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgVmFsdWU9IjEiIC8+DQog -ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNGb3J3YXJkIiBWYWx1ZT0iMiIgLz4NCiAg -ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlQ2xhc3MiIFZhbHVlPSI0IiAvPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJyb3dzZU5hbWUiIFZhbHVlPSI4IiAvPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRpc3BsYXlOYW1lIiBWYWx1ZT0iMTYiIC8+DQog -ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVHlwZURlZmluaXRpb24iIFZhbHVlPSIzMiIg -Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBbGwiIFZhbHVlPSI2MyIgLz4NCiAg -ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWZlcmVuY2VUeXBlSW5mbyIgVmFsdWU9IjMi -IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVGFyZ2V0SW5mbyIgVmFsdWU9IjYw -IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9IlJlZmVyZW5jZURlc2NyaXB0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIGRlc2NyaXB0aW9uIG9mIGEgcmVmZXJlbmNlLjwv -b3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBlSWQi -IFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0ZvcndhcmQi -IFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIg -VHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJv -d3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNzIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iVHlwZURlZmluaXRpb24iIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5v -ZGVJZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5h -bWU9IkNvbnRpbnVhdGlvblBvaW50Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QW4gaWRlbnRp -ZmllciBmb3IgYSBzdXNwZW5kZWQgcXVlcnkgb3IgYnJvd3NlIG9wZXJhdGlvbi48L29wYzpEb2N1 -bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg -TmFtZT0iQnJvd3NlUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8 -b3BjOkRvY3VtZW50YXRpb24+VGhlIHJlc3VsdCBvZiBhIGJyb3dzZSBvcGVyYXRpb24uPC9vcGM6 -RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1l -PSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29udGludWF0aW9uUG9p -bnQiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v -T2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VEZXNjcmlwdGlvbiIgTGVuZ3Ro -RmllbGQ9Ik5vT2ZSZWZlcmVuY2VzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 -b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb3dzZVJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRl -bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5Ccm93c2UgdGhlIHJlZmVyZW5j -ZXMgZm9yIG9uZSBvciBtb3JlIG5vZGVzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwv -b3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBU -eXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWaWV3 -IiBUeXBlTmFtZT0idG5zOlZpZXdEZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlJlcXVlc3RlZE1heFJlZmVyZW5jZXNQZXJOb2RlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOb2Rlc1RvQnJvd3NlIiBUeXBlTmFtZT0ib3BjOklu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZXNUb0Jyb3dzZSIgVHlwZU5hbWU9InRu -czpCcm93c2VEZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvQnJvd3NlIiAvPg0K -ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJy -b3dzZVJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRv -Y3VtZW50YXRpb24+QnJvd3NlIHRoZSByZWZlcmVuY2VzIGZvciBvbmUgb3IgbW9yZSBub2RlcyBm -cm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFk -ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJ -bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6QnJv -d3NlUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0lu -Zm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb3dzZU5leHRSZXF1ZXN0 -IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+ -Q29udGludWVzIG9uZSBvciBtb3JlIGJyb3dzZSBvcGVyYXRpb25zLjwvb3BjOkRvY3VtZW50YXRp -b24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJl -cXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWxlYXNlQ29udGludWF0aW9u -UG9pbnRzIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO -b09mQ29udGludWF0aW9uUG9pbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iQ29udGludWF0aW9uUG9pbnRzIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmci -IExlbmd0aEZpZWxkPSJOb09mQ29udGludWF0aW9uUG9pbnRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb3dzZU5leHRSZXNwb25z -ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u -PkNvbnRpbnVlcyBvbmUgb3IgbW9yZSBicm93c2Ugb3BlcmF0aW9ucy48L29wYzpEb2N1bWVudGF0 -aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6 -UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlw -ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVO -YW1lPSJ0bnM6QnJvd3NlUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6 -RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8 -L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlbGF0 -aXZlUGF0aEVsZW1lbnQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 -RG9jdW1lbnRhdGlvbj5BbiBlbGVtZW50IGluIGEgcmVsYXRpdmUgcGF0aC48L29wYzpEb2N1bWVu -dGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0i -dWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNJbnZlcnNlIiBUeXBlTmFtZT0i -b3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbmNsdWRlU3VidHlwZXMiIFR5 -cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldE5hbWUi -IFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N -Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlbGF0aXZlUGF0aCIgQmFzZVR5cGU9InVh -OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgcmVsYXRpdmUgcGF0 -aCBjb25zdHJ1Y3RlZCBmcm9tIHJlZmVyZW5jZSB0eXBlcyBhbmQgYnJvd3NlIG5hbWVzLjwvb3Bj -OkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRWxlbWVudHMiIFR5cGVO -YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbGVtZW50cyIgVHlwZU5h -bWU9InRuczpSZWxhdGl2ZVBhdGhFbGVtZW50IiBMZW5ndGhGaWVsZD0iTm9PZkVsZW1lbnRzIiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -IkJyb3dzZVBhdGgiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9j -dW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8gdHJhbnNsYXRlIGEgcGF0aCBpbnRvIGEgbm9kZSBpZC48 -L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhcnRpbmdOb2RlIiBU -eXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVsYXRpdmVQYXRo -IiBUeXBlTmFtZT0idG5zOlJlbGF0aXZlUGF0aCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm93c2VQYXRoVGFyZ2V0IiBCYXNlVHlw -ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHRhcmdl -dCBvZiB0aGUgdHJhbnNsYXRlZCBwYXRoLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJUYXJnZXRJZCIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iUmVtYWluaW5nUGF0aEluZGV4IiBUeXBlTmFtZT0ib3BjOlVJbnQz -MiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJCcm93c2VQYXRoUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg -ICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHJlc3VsdCBvZiBhIHRyYW5zbGF0ZSBvcGVhcmF0aW9u -Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBU -eXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZUYXJn -ZXRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGFyZ2V0 -cyIgVHlwZU5hbWU9InRuczpCcm93c2VQYXRoVGFyZ2V0IiBMZW5ndGhGaWVsZD0iTm9PZlRhcmdl -dHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg -TmFtZT0iVHJhbnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6 -RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VHJhbnNsYXRlcyBvbmUg -b3IgbW9yZSBwYXRocyBpbiB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRh -dGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6 -UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZCcm93c2VQYXRocyIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZVBhdGhz -IiBUeXBlTmFtZT0idG5zOkJyb3dzZVBhdGgiIExlbmd0aEZpZWxkPSJOb09mQnJvd3NlUGF0aHMi -IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt -ZT0iVHJhbnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4 -dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRyYW5zbGF0ZXMgb25lIG9y -IG1vcmUgcGF0aHMgaW4gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRvY3VtZW50YXRp -b24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpS -ZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBl -TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5h -bWU9InRuczpCcm93c2VQYXRoUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOklu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0i -dWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0K -ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJl -Z2lzdGVyTm9kZXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8 -b3BjOkRvY3VtZW50YXRpb24+UmVnaXN0ZXJzIG9uZSBvciBtb3JlIG5vZGVzIGZvciByZXBlYXRl -ZCB1c2Ugd2l0aGluIGEgc2Vzc2lvbi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVzVG9SZWdpc3RlciIgVHlwZU5hbWU9Im9wYzpJ -bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVzVG9SZWdpc3RlciIgVHlwZU5hbWU9 -InVhOk5vZGVJZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvUmVnaXN0ZXIiIC8+DQogIDwvb3Bj -OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVnaXN0ZXJO -b2Rlc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRv -Y3VtZW50YXRpb24+UmVnaXN0ZXJzIG9uZSBvciBtb3JlIG5vZGVzIGZvciByZXBlYXRlZCB1c2Ug -d2l0aGluIGEgc2Vzc2lvbi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJOb09mUmVnaXN0ZXJlZE5vZGVJZHMiIFR5cGVOYW1lPSJvcGM6SW50 -MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWdpc3RlcmVkTm9kZUlkcyIgVHlwZU5hbWU9 -InVhOk5vZGVJZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWdpc3RlcmVkTm9kZUlkcyIgLz4NCiAgPC9v -cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVbnJlZ2lz -dGVyTm9kZXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj -OkRvY3VtZW50YXRpb24+VW5yZWdpc3RlcnMgb25lIG9yIG1vcmUgcHJldmlvdXNseSByZWdpc3Rl -cmVkIG5vZGVzLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 -ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOb09mTm9kZXNUb1VucmVnaXN0ZXIiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rlc1RvVW5yZWdpc3RlciIgVHlwZU5hbWU9InVhOk5vZGVJ -ZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvVW5yZWdpc3RlciIgLz4NCiAgPC9vcGM6U3RydWN0 -dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVbnJlZ2lzdGVyTm9kZXNS -ZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVu -dGF0aW9uPlVucmVnaXN0ZXJzIG9uZSBvciBtb3JlIHByZXZpb3VzbHkgcmVnaXN0ZXJlZCBub2Rl -cy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFk -ZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJDb3VudGVyIj4NCiAgICA8b3BjOkRvY3Vt -ZW50YXRpb24+QSBtb25vdG9uaWNhbGx5IGluY3JlYXNpbmcgdmFsdWUuPC9vcGM6RG9jdW1lbnRh -dGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iTnVt -ZXJpY1JhbmdlIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+U3BlY2lmaWVzIGEgcmFuZ2Ugb2Yg -YXJyYXkgaW5kZXhlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0K -DQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJUaW1lIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+ -QSB0aW1lIHZhbHVlIHNwZWNpZmllZCBhcyBISDpNTTpTUy5TU1MuPC9vcGM6RG9jdW1lbnRhdGlv -bj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iRGF0ZSI+ -DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgZGF0ZSB2YWx1ZS48L29wYzpEb2N1bWVudGF0aW9u -Pg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRW5k -cG9pbnRDb25maWd1cmF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik9wZXJhdGlvblRpbWVvdXQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VCaW5hcnlFbmNvZGluZyIgVHlwZU5hbWU9Im9wYzpC -b29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4U3RyaW5nTGVuZ3RoIiBUeXBlTmFt -ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4Qnl0ZVN0cmluZ0xlbmd0 -aCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heEFycmF5 -TGVuZ3RoIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4 -TWVzc2FnZVNpemUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJNYXhCdWZmZXJTaXplIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iQ2hhbm5lbExpZmV0aW1lIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iU2VjdXJpdHlUb2tlbkxpZmV0aW1lIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9 -IkNvbXBsaWFuY2VMZXZlbCIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVk -VmFsdWUgTmFtZT0iVW50ZXN0ZWQiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh -bHVlIE5hbWU9IlBhcnRpYWwiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9IlNlbGZUZXN0ZWQiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9IkNlcnRpZmllZCIgVmFsdWU9IjMiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0K -DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3VwcG9ydGVkUHJvZmlsZSIgQmFzZVR5cGU9 -InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJPcmdhbml6YXRpb25V -cmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJvZmls -ZUlkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbXBs -aWFuY2VUb29sIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkNvbXBsaWFuY2VEYXRlIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iQ29tcGxpYW5jZUxldmVsIiBUeXBlTmFtZT0idG5zOkNvbXBsaWFuY2VMZXZlbCIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZVbnN1cHBvcnRlZFVuaXRJZHMiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVbnN1cHBvcnRlZFVuaXRJZHMi -IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlVuc3VwcG9ydGVkVW5pdElk -cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJTb2Z0d2FyZUNlcnRpZmljYXRlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlByb2R1Y3ROYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByb2R1Y3RVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5n -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmVuZG9yTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJp -bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWZW5kb3JQcm9kdWN0Q2VydGlmaWNhdGUiIFR5 -cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvZnR3YXJl -VmVyc2lvbiIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJC -dWlsZE51bWJlciIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJCdWlsZERhdGUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJJc3N1ZWRCeSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJJc3N1ZURhdGUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOb09mU3VwcG9ydGVkUHJvZmlsZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJTdXBwb3J0ZWRQcm9maWxlcyIgVHlwZU5hbWU9InRuczpTdXBw -b3J0ZWRQcm9maWxlIiBMZW5ndGhGaWVsZD0iTm9PZlN1cHBvcnRlZFByb2ZpbGVzIiAvPg0KICA8 -L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlF1ZXJ5 -RGF0YURlc2NyaXB0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlJlbGF0aXZlUGF0aCIgVHlwZU5hbWU9InRuczpSZWxhdGl2ZVBhdGgiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdHRyaWJ1dGVJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbmRleFJhbmdlIiBUeXBlTmFtZT0ib3BjOlN0cmlu -ZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJOb2RlVHlwZURlc2NyaXB0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlR5cGVEZWZpbml0aW9uTm9kZSIgVHlwZU5hbWU9InVhOkV4 -cGFuZGVkTm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5jbHVkZVN1YlR5cGVzIiBU -eXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGF0YVRv -UmV0dXJuIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0 -YVRvUmV0dXJuIiBUeXBlTmFtZT0idG5zOlF1ZXJ5RGF0YURlc2NyaXB0aW9uIiBMZW5ndGhGaWVs -ZD0iTm9PZkRhdGFUb1JldHVybiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w -YzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJGaWx0ZXJPcGVyYXRvciIgTGVuZ3RoSW5CaXRzPSIzMiI+ -DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRXF1YWxzIiBWYWx1ZT0iMCIgLz4NCiAg -ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJc051bGwiIFZhbHVlPSIxIiAvPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkdyZWF0ZXJUaGFuIiBWYWx1ZT0iMiIgLz4NCiAgICA8 -b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJMZXNzVGhhbiIgVmFsdWU9IjMiIC8+DQogICAgPG9w -YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iR3JlYXRlclRoYW5PckVxdWFsIiBWYWx1ZT0iNCIgLz4N -CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJMZXNzVGhhbk9yRXF1YWwiIFZhbHVlPSI1 -IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikxpa2UiIFZhbHVlPSI2IiAvPg0K -ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vdCIgVmFsdWU9IjciIC8+DQogICAgPG9w -YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQmV0d2VlbiIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpF -bnVtZXJhdGVkVmFsdWUgTmFtZT0iSW5MaXN0IiBWYWx1ZT0iOSIgLz4NCiAgICA8b3BjOkVudW1l -cmF0ZWRWYWx1ZSBOYW1lPSJBbmQiIFZhbHVlPSIxMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJPciIgVmFsdWU9IjExIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9IkNhc3QiIFZhbHVlPSIxMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJ -blZpZXciIFZhbHVlPSIxMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJPZlR5 -cGUiIFZhbHVlPSIxNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWxhdGVk -VG8iIFZhbHVlPSIxNSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCaXR3aXNl -QW5kIiBWYWx1ZT0iMTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQml0d2lz -ZU9yIiBWYWx1ZT0iMTciIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3Ry -dWN0dXJlZFR5cGUgTmFtZT0iUXVlcnlEYXRhU2V0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq -ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOkV4cGFuZGVk -Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHlwZURlZmluaXRpb25Ob2RlIiBUeXBl -TmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVmFs -dWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWVz -IiBUeXBlTmFtZT0idWE6VmFyaWFudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZWYWx1ZXMiIC8+DQogIDwv -b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm9kZVJl -ZmVyZW5jZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJSZWZlcmVuY2VUeXBlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJJc0ZvcndhcmQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VkTm9kZUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZWROb2RlSWRzIiBUeXBlTmFtZT0idWE6Tm9k -ZUlkIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZWROb2RlSWRzIiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNvbnRlbnRGaWx0ZXJF -bGVtZW50IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkZpbHRlck9wZXJhdG9yIiBUeXBlTmFtZT0idG5zOkZpbHRlck9wZXJhdG9yIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTm9PZkZpbHRlck9wZXJhbmRzIiBUeXBlTmFtZT0ib3BjOkludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmlsdGVyT3BlcmFuZHMiIFR5cGVOYW1lPSJ1YTpF -eHRlbnNpb25PYmplY3QiIExlbmd0aEZpZWxkPSJOb09mRmlsdGVyT3BlcmFuZHMiIC8+DQogIDwv -b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ29udGVu -dEZpbHRlciIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb09mRWxlbWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJFbGVtZW50cyIgVHlwZU5hbWU9InRuczpDb250ZW50RmlsdGVyRWxlbWVudCIgTGVu -Z3RoRmllbGQ9Ik5vT2ZFbGVtZW50cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg -PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJGaWx0ZXJPcGVyYW5kIiBCYXNlVHlwZT0idWE6RXh0 -ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJFbGVtZW50T3BlcmFuZCIgQmFzZVR5cGU9InRuczpGaWx0ZXJPcGVyYW5k -Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkluZGV4IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJM -aXRlcmFsT3BlcmFuZCIgQmFzZVR5cGU9InRuczpGaWx0ZXJPcGVyYW5kIj4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgLz4NCiAgPC9vcGM6U3RydWN0 -dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBdHRyaWJ1dGVPcGVyYW5k -IiBCYXNlVHlwZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9k -ZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWxpYXMi -IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlUGF0 -aCIgVHlwZU5hbWU9InRuczpSZWxhdGl2ZVBhdGgiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJB -dHRyaWJ1dGVJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJJbmRleFJhbmdlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl -ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTaW1wbGVBdHRyaWJ1dGVPcGVy -YW5kIiBCYXNlVHlwZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -VHlwZURlZmluaXRpb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vT2ZCcm93c2VQYXRoIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iQnJvd3NlUGF0aCIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIExlbmd0 -aEZpZWxkPSJOb09mQnJvd3NlUGF0aCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF0dHJpYnV0 -ZUlkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkluZGV4 -UmFuZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N -Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0 -IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0 -YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iTm9PZk9wZXJhbmRTdGF0dXNDb2RlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik9wZXJhbmRTdGF0dXNDb2RlcyIgVHlwZU5hbWU9InVhOlN0YXR1c0Nv -ZGUiIExlbmd0aEZpZWxkPSJOb09mT3BlcmFuZFN0YXR1c0NvZGVzIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9PZk9wZXJhbmREaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJPcGVyYW5kRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFt -ZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mT3BlcmFuZERpYWdub3N0aWNJ -bmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJDb250ZW50RmlsdGVyUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 -Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFbGVtZW50UmVzdWx0cyIgVHlwZU5hbWU9Im9w -YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVsZW1lbnRSZXN1bHRzIiBUeXBlTmFt -ZT0idG5zOkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZkVsZW1l -bnRSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkVsZW1lbnREaWFnbm9zdGlj -SW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbGVt -ZW50RGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZp -ZWxkPSJOb09mRWxlbWVudERpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJQYXJzaW5nUmVzdWx0IiBCYXNlVHlw -ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUi -IFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRh -dGFTdGF0dXNDb2RlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkRhdGFTdGF0dXNDb2RlcyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxk -PSJOb09mRGF0YVN0YXR1c0NvZGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRhdGFE -aWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJEYXRhRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExl -bmd0aEZpZWxkPSJOb09mRGF0YURpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl -ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJRdWVyeUZpcnN0UmVxdWVzdCIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 -ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJWaWV3IiBUeXBlTmFtZT0idG5zOlZpZXdEZXNjcmlwdGlvbiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vT2ZOb2RlVHlwZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJOb2RlVHlwZXMiIFR5cGVOYW1lPSJ0bnM6Tm9kZVR5cGVEZXNjcmlw -dGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2RlVHlwZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJGaWx0ZXIiIFR5cGVOYW1lPSJ0bnM6Q29udGVudEZpbHRlciIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik1heERhdGFTZXRzVG9SZXR1cm4iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTWF4UmVmZXJlbmNlc1RvUmV0dXJuIiBUeXBlTmFtZT0ib3BjOlVJ -bnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJRdWVyeUZpcnN0UmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVz -cG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUXVlcnlEYXRhU2V0cyIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlF1ZXJ5RGF0YVNl -dHMiIFR5cGVOYW1lPSJ0bnM6UXVlcnlEYXRhU2V0IiBMZW5ndGhGaWVsZD0iTm9PZlF1ZXJ5RGF0 -YVNldHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb250aW51YXRpb25Qb2ludCIgVHlwZU5h -bWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlBhcnNpbmdS -ZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGFy -c2luZ1Jlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6UGFyc2luZ1Jlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5v -T2ZQYXJzaW5nUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGlj -SW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFn -bm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5v -T2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXJSZXN1bHQi -IFR5cGVOYW1lPSJ0bnM6Q29udGVudEZpbHRlclJlc3VsdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJl -ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJRdWVyeU5leHRSZXF1ZXN0IiBC -YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVl -c3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlJlbGVhc2VDb250aW51YXRpb25Qb2ludCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29udGludWF0aW9uUG9pbnQiIFR5cGVOYW1lPSJvcGM6 -Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJRdWVyeU5leHRSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i -amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRu -czpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZRdWVyeURhdGFT -ZXRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVlcnlE -YXRhU2V0cyIgVHlwZU5hbWU9InRuczpRdWVyeURhdGFTZXQiIExlbmd0aEZpZWxkPSJOb09mUXVl -cnlEYXRhU2V0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRDb250aW51YXRpb25Q -b2ludCIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw -ZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlRpbWVzdGFtcHNUb1JldHVybiIgTGVu -Z3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU291cmNlIiBW -YWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTZXJ2ZXIiIFZhbHVl -PSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJvdGgiIFZhbHVlPSIyIiAv -Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5laXRoZXIiIFZhbHVlPSIzIiAvPg0K -ICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJl -YWRWYWx1ZUlkIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkF0dHJpYnV0ZUlkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkluZGV4UmFuZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iRGF0YUVuY29kaW5nIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgLz4NCiAg -PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWFk -UmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJNYXhBZ2UiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiBUeXBlTmFtZT0idG5zOlRpbWVzdGFt -cHNUb1JldHVybiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOb2Rlc1RvUmVhZCIgVHlw -ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVzVG9SZWFkIiBU -eXBlTmFtZT0idG5zOlJlYWRWYWx1ZUlkIiBMZW5ndGhGaWVsZD0iTm9PZk5vZGVzVG9SZWFkIiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -IlJlYWRSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOkRhdGFWYWx1 -ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P -ZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5n -dGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5UmVhZFZhbHVlSWQiIEJhc2VU -eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBU -eXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5kZXhSYW5nZSIg -VHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhRW5jb2Rp -bmciIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Q29udGludWF0aW9uUG9pbnQiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6 -U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5UmVh -ZFJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJIaXN0b3J5RGF0YSIgVHlwZU5hbWU9InVhOkV4dGVuc2lv -bk9iamVjdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk -VHlwZSBOYW1lPSJIaXN0b3J5UmVhZERldGFpbHMiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl -Y3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9IlJlYWRFdmVudERldGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik51bVZhbHVlc1Blck5vZGUiIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhcnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRh -dGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kVGltZSIgVHlwZU5hbWU9Im9wYzpE -YXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRlciIgVHlwZU5hbWU9InRuczpF -dmVudEZpbHRlciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJSZWFkUmF3TW9kaWZpZWREZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3Rv -cnlSZWFkRGV0YWlscyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc1JlYWRNb2RpZmllZCIgVHlw -ZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhcnRUaW1lIiBU -eXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kVGltZSIg -VHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik51bVZhbHVl -c1Blck5vZGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UmV0dXJuQm91bmRzIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVhZFByb2Nlc3NlZERldGFp -bHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlN0YXJ0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkVuZFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJQcm9jZXNzaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTm9PZkFnZ3JlZ2F0ZVR5cGUiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZ2dyZWdhdGVUeXBlIiBUeXBlTmFtZT0idWE6Tm9k -ZUlkIiBMZW5ndGhGaWVsZD0iTm9PZkFnZ3JlZ2F0ZVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBUeXBlTmFtZT0idG5zOkFnZ3JlZ2F0ZUNvbmZp -Z3VyYXRpb24iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl -ZFR5cGUgTmFtZT0iUmVhZEF0VGltZURldGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVJlYWRE -ZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXFUaW1lcyIgVHlwZU5hbWU9Im9w -YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcVRpbWVzIiBUeXBlTmFtZT0ib3Bj -OkRhdGVUaW1lIiBMZW5ndGhGaWVsZD0iTm9PZlJlcVRpbWVzIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iVXNlU2ltcGxlQm91bmRzIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3Bj -OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeURh -dGEiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Tm9PZkRhdGFWYWx1ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJEYXRhVmFsdWVzIiBUeXBlTmFtZT0idWE6RGF0YVZhbHVlIiBMZW5ndGhGaWVsZD0iTm9P -ZkRhdGFWYWx1ZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 -dXJlZFR5cGUgTmFtZT0iTW9kaWZpY2F0aW9uSW5mbyIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i -amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb2RpZmljYXRpb25UaW1lIiBUeXBlTmFtZT0i -b3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXBkYXRlVHlwZSIgVHlwZU5h -bWU9InRuczpIaXN0b3J5VXBkYXRlVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJO -YW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5TW9kaWZpZWREYXRhIiBCYXNlVHlw -ZT0idG5zOkhpc3RvcnlEYXRhIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEYXRhVmFsdWVz -IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVZhbHVl -cyIgVHlwZU5hbWU9InVhOkRhdGFWYWx1ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZEYXRhVmFsdWVzIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk1vZGlmaWNhdGlvbkluZm9zIiBUeXBlTmFtZT0i -b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9kaWZpY2F0aW9uSW5mb3MiIFR5 -cGVOYW1lPSJ0bnM6TW9kaWZpY2F0aW9uSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZNb2RpZmljYXRp -b25JbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk -VHlwZSBOYW1lPSJIaXN0b3J5RXZlbnQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkV2ZW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50cyIgVHlwZU5hbWU9InRuczpIaXN0b3J5RXZlbnRG -aWVsZExpc3QiIExlbmd0aEZpZWxkPSJOb09mRXZlbnRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlSZWFkUmVxdWVzdCIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 -ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJIaXN0b3J5UmVhZERldGFpbHMiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3Qi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iIFR5cGVOYW1lPSJ0 -bnM6VGltZXN0YW1wc1RvUmV0dXJuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVsZWFzZUNv -bnRpbnVhdGlvblBvaW50cyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9PZk5vZGVzVG9SZWFkIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iTm9kZXNUb1JlYWQiIFR5cGVOYW1lPSJ0bnM6SGlzdG9yeVJlYWRWYWx1 -ZUlkIiBMZW5ndGhGaWVsZD0iTm9PZk5vZGVzVG9SZWFkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlSZWFkUmVzcG9uc2Ui -IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVz -cG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6SGlzdG9yeVJlYWRSZXN1bHQiIExl -bmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFn -bm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmll -bGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog -IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iV3JpdGVWYWx1ZSIgQmFzZVR5cGU9InVhOkV4dGVu -c2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpO -b2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdHRyaWJ1dGVJZCIgVHlwZU5hbWU9Im9w -YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbmRleFJhbmdlIiBUeXBlTmFtZT0i -b3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0idWE6 -RGF0YVZhbHVlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy -ZWRUeXBlIE5hbWU9IldyaXRlUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVl -c3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTm9kZXNUb1dyaXRlIiBUeXBl -TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZXNUb1dyaXRlIiBU -eXBlTmFtZT0idG5zOldyaXRlVmFsdWUiIExlbmd0aEZpZWxkPSJOb09mTm9kZXNUb1dyaXRlIiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -IldyaXRlUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXND -b2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO -b09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExl -bmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw -ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlVcGRhdGVEZXRhaWxzIiBC -YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJ -ZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg -PG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJIaXN0b3J5VXBkYXRlVHlwZSIgTGVuZ3RoSW5CaXRz -PSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW5zZXJ0IiBWYWx1ZT0iMSIg -Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZXBsYWNlIiBWYWx1ZT0iMiIgLz4N -CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVcGRhdGUiIFZhbHVlPSIzIiAvPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRlbGV0ZSIgVmFsdWU9IjQiIC8+DQogIDwvb3Bj -OkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iUGVyZm9ybVVw -ZGF0ZVR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9Ikluc2VydCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i -UmVwbGFjZSIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVXBk -YXRlIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZW1vdmUi -IFZhbHVlPSI0IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy -ZWRUeXBlIE5hbWU9IlVwZGF0ZURhdGFEZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlVcGRh -dGVEZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5v -ZGVJZCIgU291cmNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iUGVyZm9ybUluc2VydFJlcGxhY2UiIFR5cGVOYW1lPSJ0bnM6UGVyZm9ybVVw -ZGF0ZVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVXBkYXRlVmFsdWVzIiBUeXBl -TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXBkYXRlVmFsdWVzIiBU -eXBlTmFtZT0idWE6RGF0YVZhbHVlIiBMZW5ndGhGaWVsZD0iTm9PZlVwZGF0ZVZhbHVlcyIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJV -cGRhdGVTdHJ1Y3R1cmVEYXRhRGV0YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0 -YWlscyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQi -IFNvdXJjZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlBlcmZvcm1JbnNlcnRSZXBsYWNlIiBUeXBlTmFtZT0idG5zOlBlcmZvcm1VcGRhdGVU -eXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlVwZGF0ZVZhbHVlcyIgVHlwZU5hbWU9 -Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVwZGF0ZVZhbHVlcyIgVHlwZU5h -bWU9InVhOkRhdGFWYWx1ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZVcGRhdGVWYWx1ZXMiIC8+DQogIDwv -b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVXBkYXRl -RXZlbnREZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0i -dG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGVyZm9y -bUluc2VydFJlcGxhY2UiIFR5cGVOYW1lPSJ0bnM6UGVyZm9ybVVwZGF0ZVR5cGUiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXIiIFR5cGVOYW1lPSJ0bnM6RXZlbnRGaWx0ZXIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRXZlbnREYXRhIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnREYXRhIiBUeXBlTmFtZT0idG5zOkhpc3RvcnlF -dmVudEZpZWxkTGlzdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZFdmVudERhdGEiIC8+DQogIDwvb3BjOlN0 -cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlUmF3TW9k -aWZpZWREZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0i -dG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNEZWxl -dGVNb2RpZmllZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iU3RhcnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iRW5kVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgPC9vcGM6U3RydWN0 -dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVBdFRpbWVEZXRh -aWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOkhpc3Rv -cnlVcGRhdGVEZXRhaWxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlcVRpbWVzIiBU -eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxVGltZXMiIFR5 -cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIExlbmd0aEZpZWxkPSJOb09mUmVxVGltZXMiIC8+DQogIDwv -b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRl -RXZlbnREZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0i -dG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkV2 -ZW50SWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZl -bnRJZHMiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZFdmVudElk -cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJIaXN0b3J5VXBkYXRlUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2Rl -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk9wZXJhdGlvblJlc3VsdHMiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJPcGVyYXRpb25SZXN1bHRzIiBU -eXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZPcGVyYXRpb25SZXN1bHRz -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9 -Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlw -ZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZv -cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJIaXN0b3J5VXBkYXRlUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVl -c3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mSGlzdG9yeVVwZGF0ZURldGFp -bHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJIaXN0b3J5 -VXBkYXRlRGV0YWlscyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgTGVuZ3RoRmllbGQ9 -Ik5vT2ZIaXN0b3J5VXBkYXRlRGV0YWlscyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5VXBkYXRlUmVzcG9uc2UiIEJhc2VU -eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VI -ZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6SGlzdG9yeVVwZGF0ZVJlc3VsdCIgTGVuZ3Ro -RmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0 -aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRp -YWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0i -Tm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w -YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDYWxsTWV0aG9kUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4 -dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJPYmplY3RJZCIgVHlwZU5hbWU9 -InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1ldGhvZElkIiBUeXBlTmFtZT0i -dWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZklucHV0QXJndW1lbnRzIiBU -eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5wdXRBcmd1bWVu -dHMiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiBMZW5ndGhGaWVsZD0iTm9PZklucHV0QXJndW1lbnRz -IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9IkNhbGxNZXRob2RSZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mSW5wdXRBcmd1bWVudFJlc3VsdHMiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbnB1dEFyZ3VtZW50UmVzdWx0 -cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mSW5wdXRBcmd1bWVu -dFJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mSW5wdXRBcmd1bWVudERpYWdu -b3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IklucHV0QXJndW1lbnREaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5m -byIgTGVuZ3RoRmllbGQ9Ik5vT2ZJbnB1dEFyZ3VtZW50RGlhZ25vc3RpY0luZm9zIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTm9PZk91dHB1dEFyZ3VtZW50cyIgVHlwZU5hbWU9Im9wYzpJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik91dHB1dEFyZ3VtZW50cyIgVHlwZU5hbWU9InVh -OlZhcmlhbnQiIExlbmd0aEZpZWxkPSJOb09mT3V0cHV0QXJndW1lbnRzIiAvPg0KICA8L29wYzpT -dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNhbGxSZXF1ZXN0 -IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl -cXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZNZXRob2RzVG9DYWxsIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTWV0aG9kc1RvQ2FsbCIgVHlwZU5hbWU9InRuczpDYWxsTWV0aG9k -UmVxdWVzdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZNZXRob2RzVG9DYWxsIiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNhbGxSZXNwb25zZSIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNw -b25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InRuczpDYWxsTWV0aG9kUmVzdWx0IiBMZW5n -dGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25v -c3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -RGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxk -PSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 -b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9Ik1vbml0b3JpbmdNb2RlIiBMZW5ndGhJbkJpdHM9IjMy -Ij4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEaXNhYmxlZCIgVmFsdWU9IjAiIC8+ -DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU2FtcGxpbmciIFZhbHVlPSIxIiAvPg0K -ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlcG9ydGluZyIgVmFsdWU9IjIiIC8+DQog -IDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRGF0 -YUNoYW5nZVRyaWdnZXIiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh -bHVlIE5hbWU9IlN0YXR1cyIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iU3RhdHVzVmFsdWUiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9IlN0YXR1c1ZhbHVlVGltZXN0YW1wIiBWYWx1ZT0iMiIgLz4NCiAgPC9vcGM6RW51bWVy -YXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJEZWFkYmFuZFR5cGUiIExl -bmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZh -bHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFic29sdXRlIiBWYWx1 -ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJQZXJjZW50IiBWYWx1ZT0i -MiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJNb25pdG9yaW5nRmlsdGVyIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg -PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRh -Q2hhbmdlRmlsdGVyIiBCYXNlVHlwZT0idG5zOk1vbml0b3JpbmdGaWx0ZXIiPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iVHJpZ2dlciIgVHlwZU5hbWU9InRuczpEYXRhQ2hhbmdlVHJpZ2dlciIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlYWRiYW5kVHlwZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZWFkYmFuZFZhbHVlIiBUeXBlTmFtZT0ib3BjOkRv -dWJsZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJFdmVudEZpbHRlciIgQmFzZVR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVyIj4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZWxlY3RDbGF1c2VzIiBUeXBlTmFtZT0ib3BjOkludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VsZWN0Q2xhdXNlcyIgVHlwZU5hbWU9InRuczpT -aW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiBMZW5ndGhGaWVsZD0iTm9PZlNlbGVjdENsYXVzZXMiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXaGVyZUNsYXVzZSIgVHlwZU5hbWU9InRuczpDb250ZW50 -RmlsdGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU -eXBlIE5hbWU9IkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P -YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlU2VydmVyQ2FwYWJpbGl0aWVzRGVmYXVs -dHMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyZWF0 -VW5jZXJ0YWluQXNCYWQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlBlcmNlbnREYXRhQmFkIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJQZXJjZW50RGF0YUdvb2QiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlVzZVNsb3BlZEV4dHJhcG9sYXRpb24iIFR5cGVOYW1lPSJvcGM6Qm9v -bGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJBZ2dyZWdhdGVGaWx0ZXIiIEJhc2VUeXBlPSJ0bnM6TW9uaXRvcmluZ0ZpbHRlciI+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGFydFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZ2dyZWdhdGVUeXBlIiBUeXBlTmFtZT0idWE6Tm9k -ZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJvY2Vzc2luZ0ludGVydmFsIiBUeXBlTmFt -ZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFnZ3JlZ2F0ZUNvbmZpZ3Vy -YXRpb24iIFR5cGVOYW1lPSJ0bnM6QWdncmVnYXRlQ29uZmlndXJhdGlvbiIgLz4NCiAgPC9vcGM6 -U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb25pdG9yaW5n -RmlsdGVyUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFdmVudEZpbHRlclJl -c3VsdCIgQmFzZVR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVyUmVzdWx0Ij4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZTZWxlY3RDbGF1c2VSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VsZWN0Q2xhdXNlUmVzdWx0cyIgVHlwZU5hbWU9InVh -OlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mU2VsZWN0Q2xhdXNlUmVzdWx0cyIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZWxlY3RDbGF1c2VEaWFnbm9zdGljSW5mb3MiIFR5cGVO -YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWxlY3RDbGF1c2VEaWFn -bm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5v -T2ZTZWxlY3RDbGF1c2VEaWFnbm9zdGljSW5mb3MiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJX -aGVyZUNsYXVzZVJlc3VsdCIgVHlwZU5hbWU9InRuczpDb250ZW50RmlsdGVyUmVzdWx0IiAvPg0K -ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFn -Z3JlZ2F0ZUZpbHRlclJlc3VsdCIgQmFzZVR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVyUmVzdWx0 -Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRTdGFydFRpbWUiIFR5cGVOYW1lPSJvcGM6 -RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkUHJvY2Vzc2luZ0ludGVy -dmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlz -ZWRBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBUeXBlTmFtZT0idG5zOkFnZ3JlZ2F0ZUNvbmZpZ3Vy -YXRpb24iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iTW9uaXRvcmluZ1BhcmFtZXRlcnMiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl -Y3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50SGFuZGxlIiBUeXBlTmFtZT0ib3BjOlVJ -bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNhbXBsaW5nSW50ZXJ2YWwiIFR5cGVOYW1l -PSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmlsdGVyIiBUeXBlTmFtZT0i -dWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVldWVTaXplIiBU -eXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2NhcmRPbGRl -c3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJdGVt -VG9Nb25pdG9yIiBUeXBlTmFtZT0idG5zOlJlYWRWYWx1ZUlkIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTW9uaXRvcmluZ01vZGUiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmluZ01vZGUiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRQYXJhbWV0ZXJzIiBUeXBlTmFtZT0idG5zOk1v -bml0b3JpbmdQYXJhbWV0ZXJzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -OlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIEJhc2VUeXBl -PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIg -VHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb25pdG9y -ZWRJdGVtSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UmV2aXNlZFNhbXBsaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iUmV2aXNlZFF1ZXVlU2l6ZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXJSZXN1bHQiIFR5cGVOYW1lPSJ1YTpFeHRlbnNp -b25PYmplY3QiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl -ZFR5cGUgTmFtZT0iQ3JlYXRlTW9uaXRvcmVkSXRlbXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0 -ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVO -YW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlw -dGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRp -bWVzdGFtcHNUb1JldHVybiIgVHlwZU5hbWU9InRuczpUaW1lc3RhbXBzVG9SZXR1cm4iIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mSXRlbXNUb0NyZWF0ZSIgVHlwZU5hbWU9Im9wYzpJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikl0ZW1zVG9DcmVhdGUiIFR5cGVOYW1lPSJ0bnM6 -TW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIExlbmd0aEZpZWxkPSJOb09mSXRlbXNUb0NyZWF0 -ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJDcmVhdGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u -T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0i -dG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMi -IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBU -eXBlTmFtZT0idG5zOk1vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09m -UmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5 -cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5m -b3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9z -dGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl -ZFR5cGUgTmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRl -bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmVkSXRlbUlkIiBUeXBl -TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZFBhcmFt -ZXRlcnMiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmluZ1BhcmFtZXRlcnMiIC8+DQogIDwvb3BjOlN0 -cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9uaXRvcmVkSXRl -bU1vZGlmeVJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRTYW1wbGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRv -dWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRRdWV1ZVNpemUiIFR5cGVOYW1l -PSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmlsdGVyUmVzdWx0IiBUeXBl -TmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vZGlmeU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 -ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iIFR5cGVOYW1lPSJ0bnM6VGltZXN0YW1w -c1RvUmV0dXJuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkl0ZW1zVG9Nb2RpZnkiIFR5 -cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJdGVtc1RvTW9kaWZ5 -IiBUeXBlTmFtZT0idG5zOk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiBMZW5ndGhGaWVsZD0i -Tm9PZkl0ZW1zVG9Nb2RpZnkiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 -U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhl -YWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InRuczpNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0IiBM -ZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlh -Z25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZp -ZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNldE1vbml0b3JpbmdNb2RlUmVxdWVzdCIgQmFz -ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0 -SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJNb25pdG9yaW5nTW9kZSIgVHlwZU5hbWU9InRuczpNb25pdG9yaW5nTW9kZSIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZNb25pdG9yZWRJdGVtSWRzIiBUeXBlTmFtZT0i -b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmVkSXRlbUlkcyIgVHlw -ZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mTW9uaXRvcmVkSXRlbUlkcyIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJT -ZXRNb25pdG9yaW5nTW9kZVJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3Bv -bnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0i -dWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0 -aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXRUcmlnZ2VyaW5n -UmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmlnZ2VyaW5nSXRlbUlkIiBUeXBlTmFtZT0ib3BjOlVJ -bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZMaW5rc1RvQWRkIiBUeXBlTmFtZT0i -b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGlua3NUb0FkZCIgVHlwZU5hbWU9 -Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mTGlua3NUb0FkZCIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZMaW5rc1RvUmVtb3ZlIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTGlua3NUb1JlbW92ZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIExl -bmd0aEZpZWxkPSJOb09mTGlua3NUb1JlbW92ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXRUcmlnZ2VyaW5nUmVzcG9uc2UiIEJh -c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9u -c2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOb09mQWRkUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IkFkZFJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhG -aWVsZD0iTm9PZkFkZFJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQWRkRGlh -Z25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iQWRkRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0 -aEZpZWxkPSJOb09mQWRkRGlhZ25vc3RpY0luZm9zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Tm9PZlJlbW92ZVJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJSZW1vdmVSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmll -bGQ9Ik5vT2ZSZW1vdmVSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlbW92 -ZURpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlJlbW92ZURpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZv -IiBMZW5ndGhGaWVsZD0iTm9PZlJlbW92ZURpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVNb25pdG9y -ZWRJdGVtc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk1vbml0b3JlZEl0ZW1JZHMiIFR5cGVO -YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb25pdG9yZWRJdGVtSWRz -IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZNb25pdG9yZWRJdGVtSWRz -IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P -YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0 -bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5 -cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6 -RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8 -L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNyZWF0 -ZVN1YnNjcmlwdGlvblJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVh -ZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFs -IiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3Rl -ZExpZmV0aW1lQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iUmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2giIFR5cGVO -YW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaGluZ0VuYWJs -ZWQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByaW9y -aXR5IiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog -IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ3JlYXRlU3Vic2NyaXB0aW9uUmVzcG9uc2UiIEJh -c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9u -c2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJSZXZpc2VkUHVibGlzaGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRv -dWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRMaWZldGltZUNvdW50IiBUeXBl -TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRNYXhLZWVw -QWxpdmVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9kaWZ5U3Vic2NyaXB0aW9uUmVx -dWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWwiIFR5cGVOYW1l -PSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkTGlmZXRpbWVD -b3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 -ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJNYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaCIgVHlwZU5hbWU9Im9wYzpV -SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcmlvcml0eSIgVHlwZU5hbWU9Im9wYzpC -eXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl -IE5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvblJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u -T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0i -dG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZFB1Ymxp -c2hpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJSZXZpc2VkTGlmZXRpbWVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkTWF4S2VlcEFsaXZlQ291bnQiIFR5cGVOYW1lPSJvcGM6 -VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU -eXBlIE5hbWU9IlNldFB1Ymxpc2hpbmdNb2RlUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lv -bk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0i -dG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nRW5h -YmxlZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P -ZlN1YnNjcmlwdGlvbklkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlN1YnNjcmlwdGlvbklkcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxk -PSJOb09mU3Vic2NyaXB0aW9uSWRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 -b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNldFB1Ymxpc2hpbmdNb2RlUmVzcG9uc2UiIEJhc2VU -eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VI -ZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9P -ZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBU -eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0lu -Zm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25v -c3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy -ZWRUeXBlIE5hbWU9Ik5vdGlmaWNhdGlvbk1lc3NhZ2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P -YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VxdWVuY2VOdW1iZXIiIFR5cGVOYW1lPSJv -cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaFRpbWUiIFR5cGVOYW1l -PSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTm90aWZpY2F0aW9u -RGF0YSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vdGlm -aWNhdGlvbkRhdGEiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIExlbmd0aEZpZWxkPSJO -b09mTm90aWZpY2F0aW9uRGF0YSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w -YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJOb3RpZmljYXRpb25EYXRhIiBCYXNlVHlwZT0idWE6RXh0 -ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJEYXRhQ2hhbmdlTm90aWZpY2F0aW9uIiBCYXNlVHlwZT0idG5zOk5vdGlm -aWNhdGlvbkRhdGEiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk1vbml0b3JlZEl0ZW1zIiBU -eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmVkSXRl -bXMiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiIgTGVuZ3RoRmllbGQ9 -Ik5vT2ZNb25pdG9yZWRJdGVtcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9z -dGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE -aWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9 -Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv -cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnRIYW5k -bGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWUi -IFR5cGVOYW1lPSJ1YTpEYXRhVmFsdWUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog -IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRXZlbnROb3RpZmljYXRpb25MaXN0IiBCYXNlVHlw -ZT0idG5zOk5vdGlmaWNhdGlvbkRhdGEiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkV2ZW50 -cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50cyIg -VHlwZU5hbWU9InRuczpFdmVudEZpZWxkTGlzdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZFdmVudHMiIC8+ -DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i -RXZlbnRGaWVsZExpc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iQ2xpZW50SGFuZGxlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFdmVudEZpZWxkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50RmllbGRzIiBUeXBlTmFtZT0idWE6VmFyaWFudCIg -TGVuZ3RoRmllbGQ9Ik5vT2ZFdmVudEZpZWxkcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5RXZlbnRGaWVsZExpc3QiIEJh -c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkV2 -ZW50RmllbGRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -RXZlbnRGaWVsZHMiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiBMZW5ndGhGaWVsZD0iTm9PZkV2ZW50 -RmllbGRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU -eXBlIE5hbWU9IlN0YXR1c0NoYW5nZU5vdGlmaWNhdGlvbiIgQmFzZVR5cGU9InRuczpOb3RpZmlj -YXRpb25EYXRhIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1cyIgVHlwZU5hbWU9InVhOlN0 -YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mbyIgVHlwZU5h -bWU9InVhOkRpYWdub3N0aWNJbmZvIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 -b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudCIgQmFz -ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3Jp -cHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT -ZXF1ZW5jZU51bWJlciIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUHVibGlzaFJlcXVlc3QiIEJh -c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVz -dEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTm9PZlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudHMiIFR5cGVOYW1lPSJvcGM6SW50 -MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnRz -IiBUeXBlTmFtZT0idG5zOlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudCIgTGVuZ3RoRmllbGQ9 -Ik5vT2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlB1Ymxpc2hSZXNwb25zZSIgQmFz -ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25z -ZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vT2ZBdmFpbGFibGVTZXF1ZW5jZU51bWJlcnMiIFR5cGVOYW1lPSJvcGM6 -SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdmFpbGFibGVTZXF1ZW5jZU51bWJlcnMi -IFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkF2YWlsYWJsZVNlcXVlbmNl -TnVtYmVycyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vcmVOb3RpZmljYXRpb25zIiBUeXBl -TmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb3RpZmljYXRpb25N -ZXNzYWdlIiBUeXBlTmFtZT0idG5zOk5vdGlmaWNhdGlvbk1lc3NhZ2UiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVs -ZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0lu -Zm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25v -c3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09m -RGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 -cnVjdHVyZWRUeXBlIE5hbWU9IlJlcHVibGlzaFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp -b25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9 -InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9u -SWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV0cmFu -c21pdFNlcXVlbmNlTnVtYmVyIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZXB1Ymxpc2hSZXNw -b25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vdGlmaWNhdGlvbk1lc3NhZ2UiIFR5cGVOYW1lPSJ0bnM6Tm90aWZp -Y2F0aW9uTWVzc2FnZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 -Y3R1cmVkVHlwZSBOYW1lPSJUcmFuc2ZlclJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i -amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3Rh -dHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBdmFpbGFibGVTZXF1ZW5jZU51 -bWJlcnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdmFp -bGFibGVTZXF1ZW5jZU51bWJlcnMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0i -Tm9PZkF2YWlsYWJsZVNlcXVlbmNlTnVtYmVycyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJUcmFuc2ZlclN1YnNjcmlwdGlvbnNSZXF1 -ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vT2ZTdWJzY3JpcHRpb25JZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZHMiIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiBMZW5ndGhGaWVsZD0iTm9PZlN1YnNjcmlwdGlvbklkcyIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlNlbmRJbml0aWFsVmFsdWVzIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwv -b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVHJhbnNm -ZXJTdWJzY3JpcHRpb25zUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9u -c2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9 -Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0 -bnM6VHJhbnNmZXJSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFn -bm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3Bj -OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlU3Vi -c2NyaXB0aW9uc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlN1YnNjcmlwdGlvbklkcyIgVHlwZU5hbWU9 -Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkcyIgVHlw -ZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mU3Vic2NyaXB0aW9uSWRzIiAvPg0K -ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRl -bGV0ZVN1YnNjcmlwdGlvbnNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNw -b25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFt -ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9 -InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9z -dGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0 -cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRW51bWVyYXRlZFRl -c3RUeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBzaW1w -bGUgZW51bWVyYXRlZCB0eXBlIHVzZWQgZm9yIHRlc3RpbmcuPC9vcGM6RG9jdW1lbnRhdGlvbj4N -CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWQiIFZhbHVlPSIxIiAvPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlllbGxvdyIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpF -bnVtZXJhdGVkVmFsdWUgTmFtZT0iR3JlZW4iIFZhbHVlPSI1IiAvPg0KICA8L29wYzpFbnVtZXJh -dGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJ1aWxkSW5mbyIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcm9kdWN0VXJp -IiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1hbnVmYWN0 -dXJlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UHJvZHVjdE5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iU29mdHdhcmVWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkJ1aWxkTnVtYmVyIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IkJ1aWxkRGF0ZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgPC9v -cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJSZWR1bmRh -bmN5U3VwcG9ydCIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i -Q29sZCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iV2FybSIg -VmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSG90IiBWYWx1ZT0i -MyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJUcmFuc3BhcmVudCIgVmFsdWU9 -IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSG90QW5kTWlycm9yZWQiIFZh -bHVlPSI1IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRU -eXBlIE5hbWU9IlNlcnZlclN0YXRlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1l -cmF0ZWRWYWx1ZSBOYW1lPSJSdW5uaW5nIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0 -ZWRWYWx1ZSBOYW1lPSJGYWlsZWQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh -bHVlIE5hbWU9Ik5vQ29uZmlndXJhdGlvbiIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJh -dGVkVmFsdWUgTmFtZT0iU3VzcGVuZGVkIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0 -ZWRWYWx1ZSBOYW1lPSJTaHV0ZG93biIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk -VmFsdWUgTmFtZT0iVGVzdCIgVmFsdWU9IjUiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iQ29tbXVuaWNhdGlvbkZhdWx0IiBWYWx1ZT0iNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0 -ZWRWYWx1ZSBOYW1lPSJVbmtub3duIiBWYWx1ZT0iNyIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlw -ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT -ZXJ2ZXJJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT -ZXJ2aWNlTGV2ZWwiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlNlcnZlclN0YXRlIiBUeXBlTmFtZT0idG5zOlNlcnZlclN0YXRlIiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkVuZHBvaW50VXJsTGlz -dERhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vT2ZFbmRwb2ludFVybExpc3QiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybExpc3QiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBM -ZW5ndGhGaWVsZD0iTm9PZkVuZHBvaW50VXJsTGlzdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJOZXR3b3JrR3JvdXBEYXRhVHlwZSIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2 -ZXJVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P -Zk5ldHdvcmtQYXRocyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ik5ldHdvcmtQYXRocyIgVHlwZU5hbWU9InRuczpFbmRwb2ludFVybExpc3REYXRhVHlwZSIg -TGVuZ3RoRmllbGQ9Ik5vT2ZOZXR3b3JrUGF0aHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl -Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0 -aWNzRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iU2FtcGxpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJNb25pdG9yZWRJdGVtQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4TW9uaXRvcmVkSXRlbUNvdW50IiBUeXBlTmFt -ZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2FibGVkTW9uaXRvcmVk -SXRlbUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXJ2ZXJEaWFnbm9zdGljc1N1bW1h -cnlEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJTZXJ2ZXJWaWV3Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iQ3VycmVudFNlc3Npb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdW11bGF0ZWRTZXNzaW9uQ291bnQiIFR5cGVOYW1l -PSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlSZWplY3RlZFNl -c3Npb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJSZWplY3RlZFNlc3Npb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJTZXNzaW9uVGltZW91dENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlc3Npb25BYm9ydENvdW50IiBUeXBlTmFtZT0ib3Bj -OlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1cnJlbnRTdWJzY3JpcHRpb25Db3Vu -dCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdW11bGF0 -ZWRTdWJzY3JpcHRpb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJQdWJsaXNoaW5nSW50ZXJ2YWxDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eVJlamVjdGVkUmVxdWVzdHNDb3VudCIg -VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWplY3RlZFJl -cXVlc3RzQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNlcnZlclN0YXR1c0RhdGFUeXBl -IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0 -YXJ0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkN1cnJlbnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iU3RhdGUiIFR5cGVOYW1lPSJ0bnM6U2VydmVyU3RhdGUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJCdWlsZEluZm8iIFR5cGVOYW1lPSJ0bnM6QnVpbGRJbmZvIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iU2Vjb25kc1RpbGxTaHV0ZG93biIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTaHV0ZG93blJlYXNvbiIgVHlwZU5hbWU9InVhOkxvY2Fs -aXplZFRleHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl -ZFR5cGUgTmFtZT0iU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRl -bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvbklkIiBUeXBlTmFtZT0i -dWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvbk5hbWUiIFR5cGVOYW1l -PSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50RGVzY3JpcHRpb24i -IFR5cGVOYW1lPSJ0bnM6QXBwbGljYXRpb25EZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlNlcnZlclVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJFbmRwb2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJOb09mTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmll -bGQ9Ik5vT2ZMb2NhbGVJZHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBY3R1YWxTZXNzaW9u -VGltZW91dCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJN -YXhSZXNwb25zZU1lc3NhZ2VTaXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IkNsaWVudENvbm5lY3Rpb25UaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1l -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50TGFzdENvbnRhY3RUaW1lIiBUeXBlTmFt -ZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3VycmVudFN1YnNjcmlw -dGlvbnNDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJDdXJyZW50TW9uaXRvcmVkSXRlbXNDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJDdXJyZW50UHVibGlzaFJlcXVlc3RzSW5RdWV1ZSIgVHlwZU5h -bWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUb3RhbFJlcXVlc3RDb3Vu -dCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iVW5hdXRob3JpemVkUmVxdWVzdENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlYWRDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNl -Q291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSGlzdG9yeVJlYWRDb3Vu -dCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iV3JpdGVDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBl -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSGlzdG9yeVVwZGF0ZUNvdW50IiBUeXBlTmFtZT0i -dG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDYWxs -Q291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2Vy -dmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vZGlmeU1vbml0 -b3JlZEl0ZW1zQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNldE1vbml0b3JpbmdNb2RlQ291bnQiIFR5cGVOYW1lPSJ0 -bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNldFRy -aWdnZXJpbmdDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iRGVsZXRlTW9uaXRvcmVkSXRlbXNDb3VudCIgVHlwZU5hbWU9 -InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3Jl -YXRlU3Vic2NyaXB0aW9uQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlw -ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvbkNvdW50IiBUeXBl -TmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJTZXRQdWJsaXNoaW5nTW9kZUNvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0 -YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoQ291bnQiIFR5cGVOYW1lPSJ0 -bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcHVi -bGlzaENvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJUcmFuc2ZlclN1YnNjcmlwdGlvbnNDb3VudCIgVHlwZU5hbWU9InRu -czpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVsZXRl -U3Vic2NyaXB0aW9uc0NvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGROb2Rlc0NvdW50IiBUeXBlTmFtZT0idG5zOlNl -cnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGRSZWZlcmVu -Y2VzQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IkRlbGV0ZU5vZGVzQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNv -dW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlbGV0ZVJlZmVyZW5jZXND -b3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iQnJvd3NlQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRh -VHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5leHRDb3VudCIgVHlwZU5hbWU9 -InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJh -bnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291 -bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVlcnlGaXJzdENvdW50IiBU -eXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJRdWVyeU5leHRDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBl -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVnaXN0ZXJOb2Rlc0NvdW50IiBUeXBlTmFtZT0i -dG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVbnJl -Z2lzdGVyTm9kZXNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -IlNlc3Npb25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp -b25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6 -Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50VXNlcklkT2ZTZXNzaW9uIiBU -eXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZDbGllbnRV -c2VySWRIaXN0b3J5IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iQ2xpZW50VXNlcklkSGlzdG9yeSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxk -PSJOb09mQ2xpZW50VXNlcklkSGlzdG9yeSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF1dGhl -bnRpY2F0aW9uTWVjaGFuaXNtIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkVuY29kaW5nIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlRyYW5zcG9ydFByb3RvY29sIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TW9kZSIgVHlwZU5hbWU9InRuczpNZXNzYWdlU2Vj -dXJpdHlNb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlQb2xpY3lVcmkiIFR5 -cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50Q2VydGlm -aWNhdGUiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXJ2aWNlQ291bnRlckRhdGFUeXBl -IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRv -dGFsQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -RXJyb3JDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3RhdHVzUmVzdWx0IiBCYXNlVHlw -ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUi -IFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25v -c3RpY0luZm8iIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgLz4NCiAgPC9vcGM6U3RydWN0 -dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTdWJzY3JpcHRpb25EaWFn -bm9zdGljc0RhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlByaW9yaXR5IiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91Ymxl -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4S2VlcEFsaXZlQ291bnQiIFR5cGVOYW1lPSJv -cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4TGlmZXRpbWVDb3VudCIgVHlw -ZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhOb3RpZmljYXRp -b25zUGVyUHVibGlzaCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJQdWJsaXNoaW5nRW5hYmxlZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iTW9kaWZ5Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iRW5hYmxlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzYWJsZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcHVibGlzaFJlcXVlc3RDb3VudCIgVHlwZU5hbWU9 -Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXB1Ymxpc2hNZXNzYWdlUmVx -dWVzdENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlJlcHVibGlzaE1lc3NhZ2VDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJUcmFuc2ZlclJlcXVlc3RDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc2ZlcnJlZFRvQWx0Q2xpZW50Q291bnQiIFR5 -cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNmZXJyZWRU -b1NhbWVDbGllbnRDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJQdWJsaXNoUmVxdWVzdENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFDaGFuZ2VOb3RpZmljYXRpb25zQ291bnQiIFR5cGVOYW1l -PSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnROb3RpZmljYXRpb25z -Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm90 -aWZpY2F0aW9uc0NvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkxhdGVQdWJsaXNoUmVxdWVzdENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1cnJlbnRLZWVwQWxpdmVDb3VudCIgVHlwZU5hbWU9Im9w -YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdXJyZW50TGlmZXRpbWVDb3VudCIg -VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVbmFja25vd2xl -ZGdlZE1lc3NhZ2VDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJEaXNjYXJkZWRNZXNzYWdlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmVkSXRlbUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJ -bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2FibGVkTW9uaXRvcmVkSXRlbUNvdW50 -IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3Jp -bmdRdWV1ZU92ZXJmbG93Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iTmV4dFNlcXVlbmNlTnVtYmVyIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50UXVldWVPdmVyRmxvd0NvdW50IiBUeXBlTmFtZT0i -b3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJh -dGVkVHlwZSBOYW1lPSJNb2RlbENoYW5nZVN0cnVjdHVyZVZlcmJNYXNrIiBMZW5ndGhJbkJpdHM9 -IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlQWRkZWQiIFZhbHVlPSIx -IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vZGVEZWxldGVkIiBWYWx1ZT0i -MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWZlcmVuY2VBZGRlZCIgVmFs -dWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlRGVsZXRl -ZCIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGF0YVR5cGVD -aGFuZ2VkIiBWYWx1ZT0iMTYiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6 -U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZmZlY3RlZCIg -VHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFmZmVjdGVkVHlw -ZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZlcmIiIFR5 -cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT -dHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZW1hbnRpY0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiBCYXNl -VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFmZmVjdGVk -IiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWZmZWN0ZWRU -eXBlIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJhbmdlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u -T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvdyIgVHlwZU5hbWU9Im9wYzpEb3VibGUi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJIaWdoIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJF -VUluZm9ybWF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5hbWVzcGFjZVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJVbml0SWQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRl -eHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUg -TmFtZT0iQXhpc1NjYWxlRW51bWVyYXRpb24iIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6 -RW51bWVyYXRlZFZhbHVlIE5hbWU9IkxpbmVhciIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVt -ZXJhdGVkVmFsdWUgTmFtZT0iTG9nIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJMbiIgVmFsdWU9IjIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQog -IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ29tcGxleE51bWJlclR5cGUiIEJhc2VUeXBlPSJ1 -YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVhbCIgVHlwZU5hbWU9 -Im9wYzpGbG9hdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkltYWdpbmFyeSIgVHlwZU5hbWU9 -Im9wYzpGbG9hdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJEb3VibGVDb21wbGV4TnVtYmVyVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVu -c2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWFsIiBUeXBlTmFtZT0ib3BjOkRv -dWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkltYWdpbmFyeSIgVHlwZU5hbWU9Im9wYzpE -b3VibGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iQXhpc0luZm9ybWF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZ2luZWVyaW5nVW5pdHMiIFR5cGVOYW1lPSJ0bnM6RVVJ -bmZvcm1hdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVVUmFuZ2UiIFR5cGVOYW1lPSJ0 -bnM6UmFuZ2UiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaXRsZSIgVHlwZU5hbWU9InVhOkxv -Y2FsaXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBeGlzU2NhbGVUeXBlIiBUeXBl -TmFtZT0idG5zOkF4aXNTY2FsZUVudW1lcmF0aW9uIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Tm9PZkF4aXNTdGVwcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkF4aXNTdGVwcyIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIExlbmd0aEZpZWxkPSJOb09mQXhp -c1N0ZXBzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU -eXBlIE5hbWU9IlhWVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJYIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0ib3BjOkZsb2F0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlByb2dyYW1EaWFnbm9zdGljRGF0 -YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iQ3JlYXRlU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iQ3JlYXRlQ2xpZW50TmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJJbnZvY2F0aW9uQ3JlYXRpb25UaW1lIiBUeXBlTmFtZT0ib3BjOkRh -dGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdFRyYW5zaXRpb25UaW1lIiBUeXBl -TmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZENh -bGwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1l -dGhvZFNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ik5vT2ZMYXN0TWV0aG9kSW5wdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kSW5wdXRBcmd1bWVudHMiIFR5cGVOYW1l -PSJ0bnM6QXJndW1lbnQiIExlbmd0aEZpZWxkPSJOb09mTGFzdE1ldGhvZElucHV0QXJndW1lbnRz -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxhc3RNZXRob2RPdXRwdXRBcmd1bWVudHMi -IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9k -T3V0cHV0QXJndW1lbnRzIiBUeXBlTmFtZT0idG5zOkFyZ3VtZW50IiBMZW5ndGhGaWVsZD0iTm9P -Zkxhc3RNZXRob2RPdXRwdXRBcmd1bWVudHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0 -TWV0aG9kQ2FsbFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJMYXN0TWV0aG9kUmV0dXJuU3RhdHVzIiBUeXBlTmFtZT0idG5zOlN0YXR1c1Jlc3Vs -dCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJBbm5vdGF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik1lc3NhZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iVXNlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iQW5ub3RhdGlvblRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRXhj -ZXB0aW9uRGV2aWF0aW9uRm9ybWF0IiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1l -cmF0ZWRWYWx1ZSBOYW1lPSJBYnNvbHV0ZVZhbHVlIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVu -dW1lcmF0ZWRWYWx1ZSBOYW1lPSJQZXJjZW50T2ZWYWx1ZSIgVmFsdWU9IjEiIC8+DQogICAgPG9w -YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUGVyY2VudE9mUmFuZ2UiIFZhbHVlPSIyIiAvPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlBlcmNlbnRPZkVVUmFuZ2UiIFZhbHVlPSIzIiAv -Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVua25vd24iIFZhbHVlPSI0IiAvPg0K -ICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KPC9vcGM6VHlwZURpY3Rpb25hcnk+ - - - - NamespaceUri - A URI that uniquely identifies the dictionary. - - i=68 - i=7617 - - - http://opcfoundation.org/UA/ - - - - TrustListDataType - - i=69 - i=7617 - - - TrustListDataType - - - - Argument - - i=69 - i=7617 - - - Argument - - - - EnumValueType - - i=69 - i=7617 - - - EnumValueType - - - - OptionSet - - i=69 - i=7617 - - - OptionSet - - - - Union - - i=69 - i=7617 - - - Union - - - - 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 - - - - KerberosIdentityToken - - i=69 - i=7617 - - - KerberosIdentityToken - - - - 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 - - - - SupportedProfile - - i=69 - i=7617 - - - SupportedProfile - - - - SoftwareCertificate - - i=69 - i=7617 - - - SoftwareCertificate - - - - 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 - - - - Annotation - - i=69 - i=7617 - - - Annotation - - - \ No newline at end of file + + + + + + + + + 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 + + + FromState + The type for a reference to the state before a transition. + + i=32 + + ToTransition + + + ToState + The type for a reference to the state after a transition. + + i=32 + + FromTransition + + + HasCause + The type for a reference to a method that can cause a transition to occur. + + i=32 + + MayBeCausedBy + + + HasEffect + The type for a reference to an event that may be raised when a transition occurs. + + i=32 + + MayBeEffectedBy + + + HasSubStateMachine + The type for a reference to a substate for a state. + + i=32 + + SubStateMachineOf + + + BaseObjectType + The base type for all object nodes. + + + + FolderType + The type for objects that organize other nodes. + + i=58 + + + + BaseVariableType + The abstract base type for all variable nodes. + + + + BaseDataVariableType + The type for variable that represents a process value. + + i=62 + + + + PropertyType + The type for variable that represents a property of another node. + + i=62 + + + + DataTypeDescriptionType + The type for variable that represents the description of a data type encoding. + + i=104 + i=105 + i=63 + + + + DataTypeVersion + The version number for the data type description. + + i=68 + i=80 + i=69 + + + + DictionaryFragment + A fragment of a data type dictionary that defines the data type. + + i=68 + i=80 + i=69 + + + + DataTypeDictionaryType + The type for variable that represents the collection of data type decriptions. + + i=106 + i=107 + i=63 + + + + DataTypeVersion + The version number for the data type dictionary. + + i=68 + i=80 + i=72 + + + + NamespaceUri + A URI that uniquely identifies the dictionary. + + i=68 + i=80 + i=72 + + + + DataTypeSystemType + + i=58 + + + + DataTypeEncodingType + + i=58 + + + + ModellingRuleType + The type for an object that describes how an instance declaration is used when a type is instantiated. + + i=111 + i=58 + + + + NamingRule + Specified the significances of the BrowseName when a type is instantiated. + + i=68 + i=78 + i=77 + + + 1 + + + + Mandatory + Specifies that an instance with the attributes and references of the instance declaration must appear when a type is instantiated. + + i=112 + i=77 + + + + NamingRule + Specified the significances of the BrowseName when a type is instantiated. + + i=68 + i=78 + + + 1 + + + + Optional + Specifies that an instance with the attributes and references of the instance declaration may appear when a type is instantiated. + + i=113 + i=77 + + + + NamingRule + Specified the significances of the BrowseName when a type is instantiated. + + i=68 + i=80 + + + 2 + + + + ExposesItsArray + Specifies that an instance appears for each element of the containing array variable. + + i=114 + i=77 + + + + NamingRule + Specified the significances of the BrowseName when a type is instantiated. + + i=68 + i=83 + + + 3 + + + + MandatoryShared + Specifies that a reference to a shared instance must appear in when a type is instantiated. + + i=116 + i=77 + + + + NamingRule + Specified the significances of the BrowseName when a type is instantiated. + + i=68 + i=79 + + + 1 + + + + OptionalPlaceholder + Specifies that zero or more instances with the attributes and references of the instance declaration may appear when a type is instantiated. + + i=11509 + i=77 + + + + NamingRule + Specified the significances of the BrowseName when a type is instantiated. + + i=68 + i=11508 + + + 2 + + + + MandatoryPlaceholder + Specifies that one or more instances with the attributes and references of the instance declaration must appear when a type is instantiated. + + i=11511 + i=77 + + + + NamingRule + Specified the significances of the BrowseName when a type is instantiated. + + i=68 + i=11510 + + + 1 + + + + Root + The root of the server address space. + + i=61 + + + + Objects + The browse entry point when looking for objects in the server address space. + + i=84 + i=61 + + + + Types + The browse entry point when looking for types in the server address space. + + i=84 + i=61 + + + + Views + The browse entry point when looking for views in the server address space. + + i=84 + i=61 + + + + ObjectTypes + The browse entry point when looking for object types in the server address space. + + i=86 + i=58 + i=61 + + + + VariableTypes + The browse entry point when looking for variable types in the server address space. + + i=86 + i=62 + i=61 + + + + DataTypes + The browse entry point when looking for data types in the server address space. + + i=86 + i=24 + i=61 + + + + ReferenceTypes + The browse entry point when looking for reference types in the server address space. + + i=86 + i=31 + i=61 + + + + XML Schema + A type system which uses XML schema to describe the encoding of data types. + + i=90 + i=75 + + + + OPC Binary + A type system which uses OPC binary schema to describe the encoding of data types. + + i=90 + i=75 + + + + ServerType + Specifies the current status and capabilities of the server. + + i=2005 + i=2006 + i=2007 + i=2008 + i=2742 + i=12882 + i=2009 + i=2010 + i=2011 + i=2012 + i=11527 + i=11489 + i=12871 + i=12746 + i=12883 + i=58 + + + + ServerArray + The list of server URIs used by the server. + + i=68 + i=78 + i=2004 + + + + NamespaceArray + The list of namespace URIs used by the server. + + i=68 + i=78 + i=2004 + + + + ServerStatus + The current status of the server. + + 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 + A value indicating the level of service the server can provide. 255 indicates the best. + + i=68 + i=78 + i=2004 + + + + Auditing + A flag indicating whether the server is currently generating audit events. + + i=68 + i=78 + i=2004 + + + + EstimatedReturnTime + Indicates the time at which the Server is expected to be available in the state RUNNING. + + i=68 + i=80 + i=2004 + + + + ServerCapabilities + Describes capabilities supported by the server. + + 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 + A list of profiles supported by the server. + + i=68 + i=78 + i=2009 + + + + LocaleIdArray + A list of locales supported by the server. + + i=68 + i=78 + i=2009 + + + + MinSupportedSampleRate + The minimum sampling interval supported by the server. + + i=68 + i=78 + i=2009 + + + + MaxBrowseContinuationPoints + The maximum number of continuation points for Browse operations per session. + + i=68 + i=78 + i=2009 + + + + MaxQueryContinuationPoints + The maximum number of continuation points for Query operations per session. + + i=68 + i=78 + i=2009 + + + + MaxHistoryContinuationPoints + The maximum number of continuation points for ReadHistory operations per session. + + i=68 + i=78 + i=2009 + + + + SoftwareCertificates + The software certificates owned by the server. + + i=68 + i=78 + i=2009 + + + + ModellingRules + A folder for the modelling rules supported by the server. + + i=61 + i=78 + i=2009 + + + + AggregateFunctions + A folder for the real time aggregates supported by the server. + + i=61 + i=78 + i=2009 + + + + ServerDiagnostics + Reports diagnostics about the server. + + i=3095 + i=3110 + i=3111 + i=3114 + i=2020 + i=78 + i=2004 + + + + ServerDiagnosticsSummary + A summary of server level diagnostics. + + 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 + A list of diagnostics for each active subscription. + + i=2171 + i=78 + i=2010 + + + + SessionsDiagnosticsSummary + A summary of session level diagnostics. + + i=3112 + i=3113 + i=2026 + i=78 + i=2010 + + + + SessionDiagnosticsArray + A list of diagnostics for each active session. + + i=2196 + i=78 + i=3111 + + + + SessionSecurityDiagnosticsArray + A list of security related diagnostics for each active session. + + i=2243 + i=78 + i=3111 + + + + EnabledFlag + If TRUE the diagnostics collection is enabled. + + i=68 + i=78 + i=2010 + + + + VendorServerInfo + Server information provided by the vendor. + + i=2033 + i=78 + i=2004 + + + + ServerRedundancy + Describes the redundancy capabilities of the server. + + i=3115 + i=2034 + i=78 + i=2004 + + + + RedundancySupport + Indicates what style of redundancy is supported by the server. + + i=68 + i=78 + i=2012 + + + + Namespaces + Describes the namespaces supported by the server. + + 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 + + + + + + + + i=297 + + + + ClientHandles + + i=7 + + 1 + + + + + + + + + + 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 + Describes the capabilities supported by the server. + + 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=58 + + + + ServerProfileArray + A list of profiles supported by the server. + + i=68 + i=78 + i=2013 + + + + LocaleIdArray + A list of locales supported by the server. + + i=68 + i=78 + i=2013 + + + + MinSupportedSampleRate + The minimum sampling interval supported by the server. + + i=68 + i=78 + i=2013 + + + + MaxBrowseContinuationPoints + The maximum number of continuation points for Browse operations per session. + + i=68 + i=78 + i=2013 + + + + MaxQueryContinuationPoints + The maximum number of continuation points for Query operations per session. + + i=68 + i=78 + i=2013 + + + + MaxHistoryContinuationPoints + The maximum number of continuation points for ReadHistory operations per session. + + i=68 + i=78 + i=2013 + + + + SoftwareCertificates + The software certificates owned by the server. + + i=68 + i=78 + i=2013 + + + + MaxArrayLength + The maximum length for an array value supported by the server. + + i=68 + i=80 + i=2013 + + + + MaxStringLength + The maximum length for a string value supported by the server. + + i=68 + i=80 + i=2013 + + + + MaxByteStringLength + The maximum length for a byte string value supported by the server. + + i=68 + i=80 + i=2013 + + + + OperationLimits + Defines the limits supported by the server for different operations. + + i=11564 + i=80 + i=2013 + + + + ModellingRules + A folder for the modelling rules supported by the server. + + i=61 + i=78 + i=2013 + + + + AggregateFunctions + A folder for the real time aggregates supported by the server. + + i=61 + i=78 + i=2013 + + + + <VendorCapability> + + i=2137 + i=11508 + i=2013 + + + + ServerDiagnosticsType + The diagnostics information for a server. + + i=2021 + i=2022 + i=2023 + i=2744 + i=2025 + i=58 + + + + ServerDiagnosticsSummary + A summary of server level diagnostics. + + 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 + A list of diagnostics for each sampling interval supported by the server. + + i=2164 + i=80 + i=2020 + + + + SubscriptionDiagnosticsArray + A list of diagnostics for each active subscription. + + i=2171 + i=78 + i=2020 + + + + SessionsDiagnosticsSummary + A summary of session level diagnostics. + + i=3129 + i=3130 + i=2026 + i=78 + i=2020 + + + + SessionDiagnosticsArray + A list of diagnostics for each active session. + + i=2196 + i=78 + i=2744 + + + + SessionSecurityDiagnosticsArray + A list of security related diagnostics for each active session. + + i=2243 + i=78 + i=2744 + + + + EnabledFlag + If TRUE the diagnostics collection is enabled. + + i=68 + i=78 + i=2020 + + + + SessionsDiagnosticsSummaryType + Provides a summary of session level diagnostics. + + i=2027 + i=2028 + i=12097 + i=58 + + + + SessionDiagnosticsArray + A list of diagnostics for each active session. + + i=2196 + i=78 + i=2026 + + + + SessionSecurityDiagnosticsArray + A list of security related diagnostics for each active session. + + i=2243 + i=78 + i=2026 + + + + <ClientName> + + i=12098 + i=12142 + i=12152 + i=2029 + i=11508 + i=2026 + + + + SessionDiagnostics + Diagnostics information for an active session. + + 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 + Security related diagnostics information for an active session. + + 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 + A list of diagnostics for each subscription owned by the session. + + i=2171 + i=78 + i=12097 + + + + SessionDiagnosticsObjectType + A container for session level diagnostics information. + + i=2030 + i=2031 + i=2032 + i=58 + + + + SessionDiagnostics + Diagnostics information for an active session. + + 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 + Security related diagnostics information for an active session. + + 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 + A list of diagnostics for each subscription owned by the session. + + i=2171 + i=78 + i=2029 + + + + VendorServerInfoType + A base type for vendor specific server information. + + i=58 + + + + ServerRedundancyType + A base type for an object that describe how a server supports redundancy. + + i=2035 + i=58 + + + + RedundancySupport + Indicates what style of redundancy is supported by the server. + + i=68 + i=78 + i=2034 + + + + TransparentRedundancyType + Identifies the capabilties of server that supports transparent redundancy. + + i=2037 + i=2038 + i=2034 + + + + CurrentServerId + The ID of the server that is currently in use. + + i=68 + i=78 + i=2036 + + + + RedundantServerArray + A list of servers in the same redundant set. + + i=68 + i=78 + i=2036 + + + + NonTransparentRedundancyType + Identifies the capabilties of server that supports non-transparent redundancy. + + i=2040 + i=2034 + + + + ServerUriArray + A list of servers in the same redundant set. + + i=68 + i=78 + i=2039 + + + + NonTransparentNetworkRedundancyType + + i=11948 + i=2039 + + + + ServerNetworkGroups + + i=68 + i=78 + i=11945 + + + + OperationLimitsType + Identifies the operation limits imposed by the server. + + 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 + The maximum number of operations in a single Read request. + + i=68 + i=80 + i=11564 + + + + MaxNodesPerHistoryReadData + The maximum number of operations in a single data HistoryRead request. + + i=68 + i=80 + i=11564 + + + + MaxNodesPerHistoryReadEvents + The maximum number of operations in a single event HistoryRead request. + + i=68 + i=80 + i=11564 + + + + MaxNodesPerWrite + The maximum number of operations in a single Write request. + + i=68 + i=80 + i=11564 + + + + MaxNodesPerHistoryUpdateData + The maximum number of operations in a single data HistoryUpdate request. + + i=68 + i=80 + i=11564 + + + + MaxNodesPerHistoryUpdateEvents + The maximum number of operations in a single event HistoryUpdate request. + + i=68 + i=80 + i=11564 + + + + MaxNodesPerMethodCall + The maximum number of operations in a single Call request. + + i=68 + i=80 + i=11564 + + + + MaxNodesPerBrowse + The maximum number of operations in a single Browse request. + + i=68 + i=80 + i=11564 + + + + MaxNodesPerRegisterNodes + The maximum number of operations in a single RegisterNodes request. + + i=68 + i=80 + i=11564 + + + + MaxNodesPerTranslateBrowsePathsToNodeIds + The maximum number of operations in a single TranslateBrowsePathsToNodeIds request. + + i=68 + i=80 + i=11564 + + + + MaxNodesPerNodeManagement + The maximum number of operations in a single AddNodes, AddReferences, DeleteNodes or DeleteReferences request. + + i=68 + i=80 + i=11564 + + + + MaxMonitoredItemsPerCall + The maximum number of operations in a single MonitoredItem related request. + + i=68 + i=80 + i=11564 + + + + FileType + An object that represents a file that can be accessed via the server. + + i=11576 + i=12686 + i=12687 + i=11579 + i=13341 + i=11580 + i=11583 + i=11585 + i=11588 + i=11590 + i=11593 + i=58 + + + + Size + The size of the file in bytes. + + i=68 + i=78 + i=11575 + + + + Writable + Whether the file is writable. + + i=68 + i=78 + i=11575 + + + + UserWritable + Whether the file is writable by the current user. + + i=68 + i=78 + i=11575 + + + + OpenCount + The current number of open file handles. + + i=68 + i=78 + i=11575 + + + + MimeType + The content of the file. + + 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 + + + + + + + + + + FileDirectoryType + + i=13354 + i=13366 + i=13387 + i=13390 + i=13393 + i=13395 + i=61 + + + + <FileDirectoryName> + + i=13355 + i=13358 + i=13361 + 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=13362 + i=78 + i=13354 + + + + InputArguments + + i=68 + i=78 + i=13361 + + + + + + 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 + The size of the file in bytes. + + i=68 + i=78 + i=13366 + + + + Writable + Whether the file is writable. + + i=68 + i=78 + i=13366 + + + + UserWritable + Whether the file is writable by the current user. + + i=68 + i=78 + i=13366 + + + + OpenCount + The current number of open file handles. + + 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 + + + + + + + + + + AddressSpaceFileType + A file used to store a namespace exported from the server. + + i=11615 + i=11575 + + + + ExportNamespace + Updates the file by exporting the server namespace. + + i=80 + i=11595 + + + + NamespaceMetadataType + Provides the metadata for a namespace used by the server. + + i=11617 + i=11618 + i=11619 + i=11620 + i=11621 + i=11622 + i=11623 + i=11624 + i=58 + + + + NamespaceUri + The URI of the namespace. + + i=68 + i=78 + i=11616 + + + + NamespaceVersion + The human readable string representing version of the namespace. + + i=68 + i=78 + i=11616 + + + + NamespacePublicationDate + The publication date for the namespace. + + i=68 + i=78 + i=11616 + + + + IsNamespaceSubset + If TRUE then the server only supports a subset of the namespace. + + i=68 + i=78 + i=11616 + + + + StaticNodeIdTypes + A list of IdTypes for nodes which are the same in every server that exposes them. + + i=68 + i=78 + i=11616 + + + + StaticNumericNodeIdRange + A list of ranges for numeric node ids which are the same in every server that exposes them. + + i=68 + i=78 + i=11616 + + + + StaticStringNodeIdPattern + A regular expression which matches string node ids are the same in every server that exposes them. + + i=68 + i=78 + i=11616 + + + + NamespaceFile + A file containing the nodes of the namespace. + + 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 + The size of the file in bytes. + + i=68 + i=78 + i=11624 + + + + Writable + Whether the file is writable. + + i=68 + i=78 + i=11624 + + + + UserWritable + Whether the file is writable by the current user. + + i=68 + i=78 + i=11624 + + + + OpenCount + The current number of open file handles. + + 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 + + + + + + + + + + NamespacesType + A container for the namespace metadata provided by the server. + + i=11646 + i=11675 + i=58 + + + + <NamespaceIdentifier> + + i=11647 + i=11648 + i=11649 + i=11650 + i=11651 + i=11652 + i=11653 + i=11616 + i=11508 + i=11645 + + + + NamespaceUri + The URI of the namespace. + + i=68 + i=78 + i=11646 + + + + NamespaceVersion + The human readable string representing version of the namespace. + + i=68 + i=78 + i=11646 + + + + NamespacePublicationDate + The publication date for the namespace. + + i=68 + i=78 + i=11646 + + + + IsNamespaceSubset + If TRUE then the server only supports a subset of the namespace. + + i=68 + i=78 + i=11646 + + + + StaticNodeIdTypes + A list of IdTypes for nodes which are the same in every server that exposes them. + + i=68 + i=78 + i=11646 + + + + StaticNumericNodeIdRange + A list of ranges for numeric node ids which are the same in every server that exposes them. + + i=68 + i=78 + i=11646 + + + + StaticStringNodeIdPattern + A regular expression which matches string node ids are the same in every server that exposes them. + + i=68 + i=78 + i=11646 + + + + AddressSpaceFile + A file containing the nodes of the namespace. + + i=11676 + i=12694 + i=12695 + i=11679 + i=11680 + i=11683 + i=11685 + i=11688 + i=11690 + i=11693 + i=11595 + i=80 + i=11645 + + + + Size + The size of the file in bytes. + + i=68 + i=78 + i=11675 + + + + Writable + Whether the file is writable. + + i=68 + i=78 + i=11675 + + + + UserWritable + Whether the file is writable by the current user. + + i=68 + i=78 + i=11675 + + + + OpenCount + The current number of open file handles. + + i=68 + i=78 + i=11675 + + + + Open + + i=11681 + i=11682 + i=78 + i=11675 + + + + InputArguments + + i=68 + i=78 + i=11680 + + + + + + i=297 + + + + Mode + + i=3 + + -1 + + + + + + + + + + OutputArguments + + i=68 + i=78 + i=11680 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + + Close + + i=11684 + i=78 + i=11675 + + + + InputArguments + + i=68 + i=78 + i=11683 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + + Read + + i=11686 + i=11687 + i=78 + i=11675 + + + + InputArguments + + i=68 + i=78 + i=11685 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + i=297 + + + + Length + + i=6 + + -1 + + + + + + + + + + OutputArguments + + i=68 + i=78 + i=11685 + + + + + + i=297 + + + + Data + + i=15 + + -1 + + + + + + + + + + Write + + i=11689 + i=78 + i=11675 + + + + InputArguments + + i=68 + i=78 + i=11688 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + i=297 + + + + Data + + i=15 + + -1 + + + + + + + + + + GetPosition + + i=11691 + i=11692 + i=78 + i=11675 + + + + InputArguments + + i=68 + i=78 + i=11690 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + + OutputArguments + + i=68 + i=78 + i=11690 + + + + + + i=297 + + + + Position + + i=9 + + -1 + + + + + + + + + + SetPosition + + i=11694 + i=78 + i=11675 + + + + InputArguments + + i=68 + i=78 + i=11693 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + i=297 + + + + Position + + i=9 + + -1 + + + + + + + + + + BaseEventType + The base type for all events. + + i=2042 + i=2043 + i=2044 + i=2045 + i=2046 + i=2047 + i=3190 + i=2050 + i=2051 + i=58 + + + + EventId + A globally unique identifier for the event. + + i=68 + i=78 + i=2041 + + + + EventType + The identifier for the event type. + + i=68 + i=78 + i=2041 + + + + SourceNode + The source of the event. + + i=68 + i=78 + i=2041 + + + + SourceName + A description of the source of the event. + + i=68 + i=78 + i=2041 + + + + Time + When the event occurred. + + i=68 + i=78 + i=2041 + + + + ReceiveTime + When the server received the event from the underlying system. + + i=68 + i=78 + i=2041 + + + + LocalTime + Information about the local time where the event originated. + + i=68 + i=78 + i=2041 + + + + Message + A localized description of the event. + + i=68 + i=78 + i=2041 + + + + Severity + Indicates how urgent an event is. + + i=68 + i=78 + i=2041 + + + + AuditEventType + A base type for events used to track client initiated changes to the server state. + + i=2053 + i=2054 + i=2055 + i=2056 + i=2057 + i=2041 + + + + ActionTimeStamp + When the action triggering the event occurred. + + i=68 + i=78 + i=2052 + + + + Status + If TRUE the action was performed. If FALSE the action failed and the server state did not change. + + i=68 + i=78 + i=2052 + + + + ServerId + The unique identifier for the server generating the event. + + i=68 + i=78 + i=2052 + + + + ClientAuditEntryId + The log entry id provided in the request that initiated the action. + + i=68 + i=78 + i=2052 + + + + ClientUserId + The user identity associated with the session that initiated the action. + + i=68 + i=78 + i=2052 + + + + AuditSecurityEventType + A base type for events used to track security related changes. + + i=2052 + + + + AuditChannelEventType + A base type for events used to track related changes to a secure channel. + + i=2745 + i=2058 + + + + SecureChannelId + The identifier for the secure channel that was changed. + + i=68 + i=78 + i=2059 + + + + AuditOpenSecureChannelEventType + An event that is raised when a secure channel is opened. + + i=2061 + i=2746 + i=2062 + i=2063 + i=2065 + i=2066 + i=2059 + + + + ClientCertificate + The certificate provided by the client. + + i=68 + i=78 + i=2060 + + + + ClientCertificateThumbprint + The thumbprint for certificate provided by the client. + + i=68 + i=78 + i=2060 + + + + RequestType + The type of request (NEW or RENEW). + + i=68 + i=78 + i=2060 + + + + SecurityPolicyUri + The security policy used by the channel. + + i=68 + i=78 + i=2060 + + + + SecurityMode + The security mode used by the channel. + + i=68 + i=78 + i=2060 + + + + RequestedLifetime + The lifetime of the channel requested by the client. + + i=68 + i=78 + i=2060 + + + + AuditSessionEventType + A base type for events used to track related changes to a session. + + i=2070 + i=2058 + + + + SessionId + The unique identifier for the session,. + + i=68 + i=78 + i=2069 + + + + AuditCreateSessionEventType + An event that is raised when a session is created. + + i=2072 + i=2073 + i=2747 + i=2074 + i=2069 + + + + SecureChannelId + The secure channel associated with the session. + + i=68 + i=78 + i=2071 + + + + ClientCertificate + The certificate provided by the client. + + i=68 + i=78 + i=2071 + + + + ClientCertificateThumbprint + The thumbprint of the certificate provided by the client. + + i=68 + i=78 + i=2071 + + + + RevisedSessionTimeout + The timeout for the session. + + i=68 + i=78 + i=2071 + + + + AuditUrlMismatchEventType + + i=2749 + i=2071 + + + + EndpointUrl + + i=68 + i=78 + i=2748 + + + + AuditActivateSessionEventType + + 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 + + i=2079 + i=2069 + + + + RequestHandle + + i=68 + i=78 + i=2078 + + + + AuditCertificateEventType + + i=2081 + i=2058 + + + + Certificate + + i=68 + i=78 + i=2080 + + + + AuditCertificateDataMismatchEventType + + i=2083 + i=2084 + i=2080 + + + + InvalidHostname + + i=68 + i=78 + i=2082 + + + + InvalidUri + + i=68 + i=78 + i=2082 + + + + AuditCertificateExpiredEventType + + i=2080 + + + + AuditCertificateInvalidEventType + + i=2080 + + + + AuditCertificateUntrustedEventType + + i=2080 + + + + AuditCertificateRevokedEventType + + i=2080 + + + + AuditCertificateMismatchEventType + + i=2080 + + + + AuditNodeManagementEventType + + i=2052 + + + + AuditAddNodesEventType + + i=2092 + i=2090 + + + + NodesToAdd + + i=68 + i=78 + i=2091 + + + + AuditDeleteNodesEventType + + i=2094 + i=2090 + + + + NodesToDelete + + i=68 + i=78 + i=2093 + + + + AuditAddReferencesEventType + + i=2096 + i=2090 + + + + ReferencesToAdd + + i=68 + i=78 + i=2095 + + + + AuditDeleteReferencesEventType + + i=2098 + i=2090 + + + + ReferencesToDelete + + i=68 + i=78 + i=2097 + + + + AuditUpdateEventType + + i=2052 + + + + AuditWriteUpdateEventType + + 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 + + i=2751 + i=2099 + + + + ParameterDataTypeId + + i=68 + i=78 + i=2104 + + + + AuditUpdateMethodEventType + + i=2128 + i=2129 + i=2052 + + + + MethodId + + i=68 + i=78 + i=2127 + + + + InputArguments + + i=68 + i=78 + i=2127 + + + + SystemEventType + + i=2041 + + + + DeviceFailureEventType + + i=2130 + + + + SystemStatusChangeEventType + + i=11696 + i=2130 + + + + SystemState + + i=68 + i=78 + i=11446 + + + + BaseModelChangeEventType + + i=2041 + + + + GeneralModelChangeEventType + + i=2134 + i=2132 + + + + Changes + + i=68 + i=78 + i=2133 + + + + SemanticChangeEventType + + i=2739 + i=2132 + + + + Changes + + i=68 + i=78 + i=2738 + + + + EventQueueOverflowEventType + + i=2041 + + + + ProgressEventType + + i=12502 + i=12503 + i=2041 + + + + Context + + i=68 + i=78 + i=11436 + + + + Progress + + i=68 + i=78 + i=11436 + + + + AggregateFunctionType + + i=58 + + + + ServerVendorCapabilityType + + i=63 + + + + ServerStatusType + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + i=11488 + i=11701 + i=63 + + + + OptionSetValues + + i=68 + i=78 + i=11487 + + + + BitMask + + i=68 + i=80 + i=11487 + + + + EventTypes + + i=86 + i=2041 + i=61 + + + + Server + + i=2254 + i=2255 + i=2256 + i=2267 + i=2994 + i=12885 + i=2268 + i=2274 + i=2295 + i=2296 + i=11715 + i=11492 + i=12873 + i=12749 + i=12886 + i=85 + i=2004 + + + + ServerArray + The list of server URIs used by the server. + + i=68 + i=2253 + + + + NamespaceArray + The list of namespace URIs used by the server. + + i=68 + i=2253 + + + + ServerStatus + The current status of the server. + + 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 + A value indicating the level of service the server can provide. 255 indicates the best. + + i=68 + i=2253 + + + + Auditing + A flag indicating whether the server is currently generating audit events. + + i=68 + i=2253 + + + + EstimatedReturnTime + Indicates the time at which the Server is expected to be available in the state RUNNING. + + i=68 + i=2253 + + + + ServerCapabilities + Describes capabilities supported by the server. + + 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=2013 + i=2253 + + + + ServerProfileArray + A list of profiles supported by the server. + + i=68 + i=2268 + + + + LocaleIdArray + A list of locales supported by the server. + + i=68 + i=2268 + + + + MinSupportedSampleRate + The minimum sampling interval supported by the server. + + i=68 + i=2268 + + + + MaxBrowseContinuationPoints + The maximum number of continuation points for Browse operations per session. + + i=68 + i=2268 + + + + MaxQueryContinuationPoints + The maximum number of continuation points for Query operations per session. + + i=68 + i=2268 + + + + MaxHistoryContinuationPoints + The maximum number of continuation points for ReadHistory operations per session. + + i=68 + i=2268 + + + + SoftwareCertificates + The software certificates owned by the server. + + i=68 + i=2268 + + + + MaxArrayLength + The maximum length for an array value supported by the server. + + i=68 + i=2268 + + + + MaxStringLength + The maximum length for a string value supported by the server. + + i=68 + i=2268 + + + + MaxByteStringLength + The maximum length for a byte string value supported by the server. + + i=68 + i=2268 + + + + OperationLimits + Defines the limits supported by the server for different operations. + + 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 + The maximum number of operations in a single Read request. + + i=68 + i=11704 + + + + MaxNodesPerHistoryReadData + The maximum number of operations in a single data HistoryRead request. + + i=68 + i=11704 + + + + MaxNodesPerHistoryReadEvents + The maximum number of operations in a single event HistoryRead request. + + i=68 + i=11704 + + + + MaxNodesPerWrite + The maximum number of operations in a single Write request. + + i=68 + i=11704 + + + + MaxNodesPerHistoryUpdateData + The maximum number of operations in a single data HistoryUpdate request. + + i=68 + i=11704 + + + + MaxNodesPerHistoryUpdateEvents + The maximum number of operations in a single event HistoryUpdate request. + + i=68 + i=11704 + + + + MaxNodesPerMethodCall + The maximum number of operations in a single Call request. + + i=68 + i=11704 + + + + MaxNodesPerBrowse + The maximum number of operations in a single Browse request. + + i=68 + i=11704 + + + + MaxNodesPerRegisterNodes + The maximum number of operations in a single RegisterNodes request. + + i=68 + i=11704 + + + + MaxNodesPerTranslateBrowsePathsToNodeIds + The maximum number of operations in a single TranslateBrowsePathsToNodeIds request. + + i=68 + i=11704 + + + + MaxNodesPerNodeManagement + The maximum number of operations in a single AddNodes, AddReferences, DeleteNodes or DeleteReferences request. + + i=68 + i=11704 + + + + MaxMonitoredItemsPerCall + The maximum number of operations in a single MonitoredItem related request. + + i=68 + i=11704 + + + + ModellingRules + A folder for the modelling rules supported by the server. + + i=61 + i=2268 + + + + AggregateFunctions + A folder for the real time aggregates supported by the server. + + i=61 + i=2268 + + + + ServerDiagnostics + Reports diagnostics about the server. + + i=2275 + i=2289 + i=2290 + i=3706 + i=2294 + i=2020 + i=2253 + + + + ServerDiagnosticsSummary + A summary of server level diagnostics. + + 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 + A list of diagnostics for each sampling interval supported by the server. + + i=2164 + i=2274 + + + + SubscriptionDiagnosticsArray + A list of diagnostics for each active subscription. + + i=2171 + i=2274 + + + + SessionsDiagnosticsSummary + A summary of session level diagnostics. + + i=3707 + i=3708 + i=2026 + i=2274 + + + + SessionDiagnosticsArray + A list of diagnostics for each active session. + + i=2196 + i=3706 + + + + SessionSecurityDiagnosticsArray + A list of security related diagnostics for each active session. + + i=2243 + i=3706 + + + + EnabledFlag + If TRUE the diagnostics collection is enabled. + + i=68 + i=2274 + + + + VendorServerInfo + Server information provided by the vendor. + + i=2033 + i=2253 + + + + ServerRedundancy + Describes the redundancy capabilities of the server. + + i=3709 + i=11312 + i=11313 + i=11314 + i=14415 + i=2034 + i=2253 + + + + RedundancySupport + Indicates what style of redundancy is supported by the server. + + i=68 + i=2296 + + + + CurrentServerId + + i=68 + i=2296 + + + + RedundantServerArray + + i=68 + i=2296 + + + + ServerUriArray + + i=68 + i=2296 + + + + ServerNetworkGroups + + i=68 + i=2296 + + + + Namespaces + Describes the namespaces supported by the server. + + i=15182 + i=11645 + i=2253 + + + + http://opcfoundation.org/UA/ + + i=15183 + i=15184 + i=15185 + i=15186 + i=15187 + i=15188 + i=15189 + i=11616 + i=11715 + + + + NamespaceUri + The URI of the namespace. + + i=68 + i=15182 + + + http://opcfoundation.org/UA/ + + + + NamespaceVersion + The human readable string representing version of the namespace. + + i=68 + i=15182 + + + 1.03 + + + + NamespacePublicationDate + The publication date for the namespace. + + i=68 + i=15182 + + + 2016-04-15 + + + + IsNamespaceSubset + If TRUE then the server only supports a subset of the namespace. + + i=68 + i=15182 + + + false + + + + StaticNodeIdTypes + A list of IdTypes for nodes which are the same in every server that exposes them. + + i=68 + i=15182 + + + + StaticNumericNodeIdRange + A list of ranges for numeric node ids which are the same in every server that exposes them. + + i=68 + i=15182 + + + + StaticStringNodeIdPattern + A regular expression which matches string node ids are the same in every server that exposes them. + + i=68 + i=15182 + + + + GetMonitoredItems + + 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 + + + + + + + + i=297 + + + + ClientHandles + + i=7 + + 1 + + + + + + + + + + ResendData + + i=12874 + i=2253 + + + + InputArguments + + i=68 + i=12873 + + + + + + i=297 + + + + SubscriptionId + + i=7 + + -1 + + + + + + + + + + SetSubscriptionDurable + + 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 + + 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 + + + + + + + + + + BitFieldMaskDataType + A mask of 32 bits that can be updated individually by using the top 32 bits as a mask. + + i=9 + + + + StateMachineType + + 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 + + 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 + + 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 + + i=2772 + i=2773 + 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 + + + + FiniteStateVariableType + + i=2761 + i=2755 + + + + Id + + i=68 + i=78 + i=2760 + + + + FiniteTransitionVariableType + + i=2768 + i=2762 + + + + Id + + i=68 + i=78 + i=2767 + + + + StateType + + i=2308 + i=58 + + + + StateNumber + + i=68 + i=78 + i=2307 + + + + InitialStateType + + i=2307 + + + + TransitionType + + i=2312 + i=58 + + + + TransitionNumber + + i=68 + i=78 + i=2310 + + + + TransitionEventType + + 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 + + i=2777 + i=2778 + i=2127 + + + + OldStateId + + i=68 + i=78 + i=2315 + + + + NewStateId + + i=68 + i=78 + i=2315 + + + + BuildInfo + + i=22 + + + + + + + + + + + + RedundancySupport + + i=7611 + i=29 + + + + + + + + + + + + EnumStrings + + i=68 + i=78 + i=851 + + + + + + + None + + + + + Cold + + + + + Warm + + + + + Hot + + + + + Transparent + + + + + HotAndMirrored + + + + + + ServerState + + i=7612 + i=29 + + + + + + + + + + + + + + EnumStrings + + i=68 + i=78 + i=852 + + + + + + + Running + + + + + Failed + + + + + NoConfiguration + + + + + Suspended + + + + + Shutdown + + + + + Test + + + + + CommunicationFault + + + + + Unknown + + + + + + RedundantServerDataType + + i=22 + + + + + + + + + EndpointUrlListDataType + + i=22 + + + + + + + NetworkGroupDataType + + i=22 + + + + + + + + SamplingIntervalDiagnosticsDataType + + i=22 + + + + + + + + + + ServerDiagnosticsSummaryDataType + + i=22 + + + + + + + + + + + + + + + + + + ServerStatusDataType + + i=22 + + + + + + + + + + + + SessionDiagnosticsDataType + + i=22 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SessionSecurityDiagnosticsDataType + + i=22 + + + + + + + + + + + + + + + ServiceCounterDataType + + i=22 + + + + + + + + StatusResult + + i=22 + + + + + + + + SubscriptionDiagnosticsDataType + + i=22 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ModelChangeStructureDataType + + i=22 + + + + + + + + + SemanticChangeStructureDataType + + i=22 + + + + + + + + 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 + + + + Opc.Ua + + i=8254 + i=12677 + i=8285 + i=8291 + i=12759 + i=12762 + 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=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 +ZT0ieHM6YmFzZTY0QmluYXJ5IiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkJpdEZpZWxkTWFz +a0RhdGFUeXBlIiB0eXBlPSJ4czp1bnNpZ25lZExvbmciIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUg +IG5hbWU9Ik9wZW5GaWxlTW9kZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmlu +ZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlYWRfMSIgLz4NCiAgICAgIDx4czpl +bnVtZXJhdGlvbiB2YWx1ZT0iV3JpdGVfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 +ZT0iRXJhc2VFeGlzdGluZ180IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBcHBl +bmRfOCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9Ik9wZW5GaWxlTW9kZSIgdHlwZT0idG5zOk9wZW5GaWxlTW9kZSIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mT3BlbkZpbGVNb2RlIj4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPcGVuRmlsZU1vZGUiIHR5cGU9InRu +czpPcGVuRmlsZU1vZGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQog +ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iTGlzdE9mT3BlbkZpbGVNb2RlIiB0eXBlPSJ0bnM6TGlzdE9mT3BlbkZpbGVNb2RlIiBuaWxs +YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJUcnVz +dExpc3RNYXNrcyI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAg +ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv +biB2YWx1ZT0iVHJ1c3RlZENlcnRpZmljYXRlc18xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u +IHZhbHVlPSJUcnVzdGVkQ3Jsc18yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJ +c3N1ZXJDZXJ0aWZpY2F0ZXNfNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNz +dWVyQ3Jsc184IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBbGxfMTUiIC8+DQog +ICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJUcnVzdExpc3RNYXNrcyIgdHlwZT0idG5zOlRydXN0TGlzdE1hc2tzIiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJUcnVzdExpc3REYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3BlY2lmaWVkTGlzdHMiIHR5cGU9InhzOnVuc2ln +bmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcnVzdGVk +Q2VydGlmaWNhdGVzIiB0eXBlPSJ1YTpMaXN0T2ZCeXRlU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJ1c3RlZENybHMiIHR5 +cGU9InVhOkxpc3RPZkJ5dGVTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc3N1ZXJDZXJ0aWZpY2F0ZXMiIHR5cGU9InVhOkxp +c3RPZkJ5dGVTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJJc3N1ZXJDcmxzIiB0eXBlPSJ1YTpMaXN0T2ZCeXRlU3RyaW5nIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv +eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRydXN0TGlzdERhdGFUeXBlIiB0 +eXBlPSJ0bnM6VHJ1c3RMaXN0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +Ikxpc3RPZlRydXN0TGlzdERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJUcnVzdExpc3REYXRhVHlwZSIgdHlwZT0idG5zOlRydXN0TGlzdERhdGFU +eXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJMaXN0T2ZUcnVzdExpc3REYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlRydXN0TGlz +dERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVU +eXBlICBuYW1lPSJJZFR5cGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3Vt +ZW50YXRpb24+VGhlIHR5cGUgb2YgaWRlbnRpZmllciB1c2VkIGluIGEgbm9kZSBpZC48L3hzOmRv +Y3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpyZXN0cmljdGlvbiBi +YXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOdW1lcmljXzAi +IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN0cmluZ18xIiAvPg0KICAgICAgPHhz +OmVudW1lcmF0aW9uIHZhbHVlPSJHdWlkXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs +dWU9Ik9wYXF1ZV8zIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSWRUeXBlIiB0eXBlPSJ0bnM6SWRUeXBlIiAvPg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZJZFR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IklkVHlwZSIgdHlwZT0idG5zOklkVHlwZSIgbWluT2Nj +dXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZJZFR5cGUiIHR5cGU9 +InRuczpMaXN0T2ZJZFR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhz +OnNpbXBsZVR5cGUgIG5hbWU9Ik5vZGVDbGFzcyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg +ICA8eHM6ZG9jdW1lbnRhdGlvbj5BIG1hc2sgc3BlY2lmeWluZyB0aGUgY2xhc3Mgb2YgdGhlIG5v +ZGUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6cmVz +dHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i +VW5zcGVjaWZpZWRfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iT2JqZWN0XzEi +IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZhcmlhYmxlXzIiIC8+DQogICAgICA8 +eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik1ldGhvZF80IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u +IHZhbHVlPSJPYmplY3RUeXBlXzgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZh +cmlhYmxlVHlwZV8xNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVmZXJlbmNl +VHlwZV8zMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGF0YVR5cGVfNjQiIC8+ +DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZpZXdfMTI4IiAvPg0KICAgIDwveHM6cmVz +dHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUNs +YXNzIiB0eXBlPSJ0bnM6Tm9kZUNsYXNzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJO +b2RlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlNwZWNp +ZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gYWxsIG5vZGVzLjwveHM6ZG9jdW1l +bnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlQ2xhc3MiIHR5 +cGU9InRuczpOb2RlQ2xhc3MiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IkJyb3dzZU5hbWUiIHR5cGU9InVhOlF1YWxpZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNwbGF5TmFtZSIgdHlw +ZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IkRlc2NyaXB0aW9uIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0 +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iV3JpdGVNYXNrIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlcldyaXRlTWFzayIgdHlwZT0ieHM6dW5zaWduZWRJbnQi +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZXMiIHR5 +cGU9InRuczpMaXN0T2ZSZWZlcmVuY2VOb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9Ik5vZGUiIHR5cGU9InRuczpOb2RlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu +YW1lPSJMaXN0T2ZOb2RlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJOb2RlIiB0eXBlPSJ0bnM6Tm9kZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91 +bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w +bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTm9kZSIgdHlwZT0idG5zOkxpc3RP +Zk5vZGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9Ikluc3RhbmNlTm9kZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxz +ZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlIj4NCiAgICAgICAgPHhzOnNl +cXVlbmNlPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQog +ICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iSW5zdGFuY2VOb2RlIiB0eXBlPSJ0bnM6SW5zdGFuY2VOb2RlIiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJUeXBlTm9kZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1p +eGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlIj4NCiAgICAg +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRl +bnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iVHlwZU5vZGUiIHR5cGU9InRuczpUeXBlTm9kZSIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iT2JqZWN0Tm9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQog +ICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVs +b25nIHRvIG9iamVjdCBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 +aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4 +dGVuc2lvbiBiYXNlPSJ0bnM6SW5zdGFuY2VOb2RlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50Tm90aWZpZXIiIHR5cGU9InhzOnVuc2ln +bmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAg +PC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT2JqZWN0Tm9kZSIgdHlwZT0idG5zOk9iamVjdE5v +ZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik9iamVjdFR5cGVOb2RlIj4NCiAgICA8 +eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0 +cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gb2JqZWN0IHR5cGUgbm9kZXMuPC94czpkb2N1bWVudGF0 +aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9 +ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOlR5cGVOb2RlIj4NCiAgICAg +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IklzQWJzdHJhY3Qi +IHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5j +ZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwv +eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9iamVjdFR5cGVOb2RlIiB0eXBl +PSJ0bnM6T2JqZWN0VHlwZU5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlh +YmxlTm9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5T +cGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIHZhcmlhYmxlIG5vZGVzLjwv +eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhD +b250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpJbnN0 +YW5jZU5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iVmFsdWUiIHR5cGU9InVhOlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVl +UmFuayIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iQXJyYXlEaW1lbnNpb25zIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWNj +ZXNzTGV2ZWwiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJBY2Nlc3NMZXZlbCIgdHlwZT0ieHM6dW5zaWduZWRC +eXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWluaW11 +bVNhbXBsaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3Rvcml6aW5nIiB0eXBlPSJ4czpib29sZWFuIiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVu +c2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJWYXJpYWJsZU5vZGUiIHR5cGU9InRuczpWYXJpYWJsZU5vZGUiIC8+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhYmxlVHlwZU5vZGUiPg0KICAgIDx4czph +bm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+U3BlY2lmaWVzIHRoZSBhdHRyaWJ1 +dGVzIHdoaWNoIGJlbG9uZyB0byB2YXJpYWJsZSB0eXBlIG5vZGVzLjwveHM6ZG9jdW1lbnRhdGlv +bj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJm +YWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpUeXBlTm9kZSI+DQogICAgICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0i +dWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkRhdGFUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czppbnQi +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcnJheURpbWVu +c2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpi +b29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8 +L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWYXJpYWJsZVR5cGVOb2RlIiB0eXBlPSJ0bnM6VmFy +aWFibGVUeXBlTm9kZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVmZXJlbmNlVHlw +ZU5vZGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+U3Bl +Y2lmaWVzIHRoZSBhdHRyaWJ1dGVzIHdoaWNoIGJlbG9uZyB0byByZWZlcmVuY2UgdHlwZSBub2Rl +cy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21w +bGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6 +VHlwZU5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iSXNBYnN0cmFjdCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN5bW1ldHJpYyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkludmVyc2VOYW1lIiB0 +eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpj +b21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +UmVmZXJlbmNlVHlwZU5vZGUiIHR5cGU9InRuczpSZWZlcmVuY2VUeXBlTm9kZSIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iTWV0aG9kTm9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQog +ICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVs +b25nIHRvIG1ldGhvZCBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 +aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4 +dGVuc2lvbiBiYXNlPSJ0bnM6SW5zdGFuY2VOb2RlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV4ZWN1dGFibGUiIHR5cGU9InhzOmJvb2xlYW4i +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyRXhlY3V0 +YWJsZSIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNl +cXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTWV0aG9kTm9kZSIgdHlw +ZT0idG5zOk1ldGhvZE5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZpZXdOb2Rl +Ij4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRl +bnNpb24gYmFzZT0idG5zOkluc3RhbmNlTm9kZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250YWluc05vTG9vcHMiIHR5cGU9InhzOmJvb2xl +YW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudE5v +dGlmaWVyIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg +PC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENv +bnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlZpZXdOb2Rl +IiB0eXBlPSJ0bnM6Vmlld05vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFU +eXBlTm9kZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8 +eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpUeXBlTm9kZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpib29sZWFu +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4 +dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZU5vZGUiIHR5cGU9InRuczpEYXRhVHlwZU5vZGUi +IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZmVyZW5jZU5vZGUiPg0KICAgIDx4czph +bm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+U3BlY2lmaWVzIGEgcmVmZXJlbmNl +IHdoaWNoIGJlbG9uZ3MgdG8gYSBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu +bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVm +ZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ludmVyc2UiIHR5cGU9InhzOmJvb2xl +YW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdldElkIiB0 +eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJSZWZlcmVuY2VOb2RlIiB0eXBlPSJ0bnM6UmVmZXJlbmNlTm9kZSIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUmVmZXJlbmNlTm9kZSI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlTm9kZSIgdHlwZT0idG5zOlJlZmVy +ZW5jZU5vZGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl +bGVtZW50IG5hbWU9Ikxpc3RPZlJlZmVyZW5jZU5vZGUiIHR5cGU9InRuczpMaXN0T2ZSZWZlcmVu +Y2VOb2RlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJBcmd1bWVudCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l +bnRhdGlvbj5BbiBhcmd1bWVudCBmb3IgYSBtZXRob2QuPC94czpkb2N1bWVudGF0aW9uPg0KICAg +IDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +VmFsdWVSYW5rIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IkFycmF5RGltZW5zaW9ucyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVzY3Jp +cHRpb24iIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iQXJndW1lbnQiIHR5cGU9InRuczpBcmd1bWVudCIgLz4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iTGlzdE9mQXJndW1lbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IkFyZ3VtZW50IiB0eXBlPSJ0bnM6QXJndW1lbnQiIG1pbk9jY3Vy +cz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 +c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RP +ZkFyZ3VtZW50IiB0eXBlPSJ0bnM6TGlzdE9mQXJndW1lbnQiIG5pbGxhYmxlPSJ0cnVlIj48L3hz +OmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVudW1WYWx1ZVR5cGUiPg0KICAg +IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBtYXBwaW5nIGJldHdl +ZW4gYSB2YWx1ZSBvZiBhbiBlbnVtZXJhdGVkIHR5cGUgYW5kIGEgbmFtZSBhbmQgZGVzY3JpcHRp +b24uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0ieHM6bG9uZyIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzcGxheU5hbWUiIHR5cGU9 +InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFbnVtVmFsdWVUeXBlIiB0eXBl +PSJ0bnM6RW51bVZhbHVlVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m +RW51bVZhbHVlVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iRW51bVZhbHVlVHlwZSIgdHlwZT0idG5zOkVudW1WYWx1ZVR5cGUiIG1pbk9jY3Vycz0iMCIg +bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkVudW1W +YWx1ZVR5cGUiIHR5cGU9InRuczpMaXN0T2ZFbnVtVmFsdWVUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+ +PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJPcHRpb25TZXQiPg0KICAg +IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhpcyBhYnN0cmFjdCBT +dHJ1Y3R1cmVkIERhdGFUeXBlIGlzIHRoZSBiYXNlIERhdGFUeXBlIGZvciBhbGwgRGF0YVR5cGVz +IHJlcHJlc2VudGluZyBhIGJpdCBtYXNrLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu +bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFs +dWUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbGlkQml0cyIgdHlwZT0ieHM6YmFzZTY0Qmlu +YXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9wdGlvblNldCIgdHlw +ZT0idG5zOk9wdGlvblNldCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mT3B0 +aW9uU2V0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPcHRp +b25TZXQiIHR5cGU9InRuczpPcHRpb25TZXQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJv +dW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk9wdGlvblNldCIgdHlwZT0idG5z +Okxpc3RPZk9wdGlvblNldCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iVW5pb24iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhz +OmRvY3VtZW50YXRpb24+VGhpcyBhYnN0cmFjdCBEYXRhVHlwZSBpcyB0aGUgYmFzZSBEYXRhVHlw +ZSBmb3IgYWxsIHVuaW9uIERhdGFUeXBlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czph +bm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz +OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVbmlvbiIgdHlwZT0idG5zOlVuaW9u +IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZVbmlvbiI+DQogICAgPHhzOnNl +cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVW5pb24iIHR5cGU9InRuczpVbmlvbiIg +bWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iTGlzdE9mVW5pb24iIHR5cGU9InRuczpMaXN0T2ZVbmlvbiIgbmlsbGFibGU9InRydWUiPjwv +eHM6ZWxlbWVudD4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOb3JtYWxpemVkU3RyaW5nIiB0eXBl +PSJ4czpzdHJpbmciIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVjaW1hbFN0cmluZyIgdHlw +ZT0ieHM6c3RyaW5nIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkR1cmF0aW9uU3RyaW5nIiB0 +eXBlPSJ4czpzdHJpbmciIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZVN0cmluZyIgdHlw +ZT0ieHM6c3RyaW5nIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkRhdGVTdHJpbmciIHR5cGU9 +InhzOnN0cmluZyIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEdXJhdGlvbiIgdHlwZT0ieHM6 +ZG91YmxlIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IlV0Y1RpbWUiIHR5cGU9InhzOmRhdGVU +aW1lIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkxvY2FsZUlkIiB0eXBlPSJ4czpzdHJpbmci +IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlRpbWVab25lRGF0YVR5cGUiPg0KICAgIDx4 +czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik9mZnNldCIgdHlwZT0ieHM6c2hv +cnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRheWxpZ2h0U2F2 +aW5nSW5PZmZzZXQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1l +Wm9uZURhdGFUeXBlIiB0eXBlPSJ0bnM6VGltZVpvbmVEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iTGlzdE9mVGltZVpvbmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZVpvbmVEYXRhVHlwZSIgdHlwZT0idG5zOlRp +bWVab25lRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlRpbWVab25lRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0 +T2ZUaW1lWm9uZURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4 +czplbGVtZW50IG5hbWU9IkludGVnZXJJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIC8+DQoNCiAg +PHhzOnNpbXBsZVR5cGUgIG5hbWU9IkFwcGxpY2F0aW9uVHlwZSI+DQogICAgPHhzOmFubm90YXRp +b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgdHlwZXMgb2YgYXBwbGljYXRpb25zLjwv +eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0 +aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNlcnZl +cl8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDbGllbnRfMSIgLz4NCiAgICAg +IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ2xpZW50QW5kU2VydmVyXzIiIC8+DQogICAgICA8eHM6 +ZW51bWVyYXRpb24gdmFsdWU9IkRpc2NvdmVyeVNlcnZlcl8zIiAvPg0KICAgIDwveHM6cmVzdHJp +Y3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRp +b25UeXBlIiB0eXBlPSJ0bnM6QXBwbGljYXRpb25UeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg +ICAgIDx4czpkb2N1bWVudGF0aW9uPkRlc2NyaWJlcyBhbiBhcHBsaWNhdGlvbiBhbmQgaG93IHRv +IGZpbmQgaXQuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcHBsaWNhdGlvblVyaSIgdHlw +ZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iUHJvZHVjdFVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25O +YW1lIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25UeXBlIiB0eXBlPSJ0bnM6 +QXBwbGljYXRpb25UeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJHYXRld2F5U2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjb3ZlcnlQcm9maWxlVXJp +IiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjb3ZlcnlVcmxzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmci +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25EZXNjcmlw +dGlvbiIgdHlwZT0idG5zOkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9Ikxpc3RPZkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIHR5 +cGU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0i +dW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz +OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZBcHBsaWNhdGlvbkRlc2Ny +aXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mQXBwbGljYXRpb25EZXNjcmlwdGlvbiIgbmlsbGFibGU9 +InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVxdWVzdEhl +YWRlciI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUg +aGVhZGVyIHBhc3NlZCB3aXRoIGV2ZXJ5IHNlcnZlciByZXF1ZXN0LjwveHM6ZG9jdW1lbnRhdGlv +bj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iQXV0aGVudGljYXRpb25Ub2tlbiIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0 +YW1wIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUmVxdWVzdEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i +MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldHVybkRpYWdub3N0aWNzIiB0eXBlPSJ4 +czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +QXVkaXRFbnRyeUlkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lb3V0SGludCIgdHlwZT0ieHM6dW5z +aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZGl0 +aW9uYWxIZWFkZXIiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRl +ciIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVzcG9uc2VIZWFkZXIiPg0KICAgIDx4 +czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGhlYWRlciBwYXNzZWQg +d2l0aCBldmVyeSBzZXJ2ZXIgcmVzcG9uc2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6 +YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJU +aW1lc3RhbXAiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGFuZGxlIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmljZVJlc3VsdCIgdHlwZT0i +dWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +U2VydmljZURpYWdub3N0aWNzIiB0eXBlPSJ1YTpEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0cmluZ1RhYmxl +IiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRpdGlvbmFsSGVhZGVyIiB0eXBlPSJ1YTpFeHRl +bnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz +ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9u +c2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iU2VydmljZUZhdWx0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpk +b2N1bWVudGF0aW9uPlRoZSByZXNwb25zZSByZXR1cm5lZCBieSBhbGwgc2VydmljZXMgd2hlbiB0 +aGVyZSBpcyBhIHNlcnZpY2UgbGV2ZWwgZXJyb3IuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwv +eHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNlcnZpY2VGYXVsdCIgdHlwZT0idG5zOlNlcnZpY2VG +YXVsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRmluZFNlcnZlcnNSZXF1ZXN0Ij4N +CiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkZpbmRzIHRoZSBz +ZXJ2ZXJzIGtub3duIHRvIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4N +CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2lu +dFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmci +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJTZXJ2ZXJVcmlzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iRmluZFNlcnZlcnNSZXF1ZXN0IiB0eXBlPSJ0bnM6RmluZFNlcnZl +cnNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJGaW5kU2VydmVyc1Jlc3Bv +bnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkZpbmRz +IHRoZSBzZXJ2ZXJzIGtub3duIHRvIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwveHM6ZG9jdW1lbnRh +dGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlNlcnZlcnMiIHR5cGU9InRuczpMaXN0T2ZBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkZpbmRTZXJ2ZXJzUmVzcG9uc2UiIHR5cGU9 +InRuczpGaW5kU2VydmVyc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJT +ZXJ2ZXJPbk5ldHdvcmsiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlJlY29yZElkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzY292 +ZXJ5VXJsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJDYXBhYmlsaXRpZXMiIHR5cGU9InVhOkxp +c3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl +cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJP +bk5ldHdvcmsiIHR5cGU9InRuczpTZXJ2ZXJPbk5ldHdvcmsiIC8+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9Ikxpc3RPZlNlcnZlck9uTmV0d29yayI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyT25OZXR3b3JrIiB0eXBlPSJ0bnM6U2VydmVyT25O +ZXR3b3JrIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl +bWVudCBuYW1lPSJMaXN0T2ZTZXJ2ZXJPbk5ldHdvcmsiIHR5cGU9InRuczpMaXN0T2ZTZXJ2ZXJP +bk5ldHdvcmsiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9IkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVl +c3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJTdGFydGluZ1JlY29yZElkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4UmVjb3Jkc1RvUmV0dXJuIiB0 +eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iU2VydmVyQ2FwYWJpbGl0eUZpbHRlciIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVx +dWVzdCIgdHlwZT0idG5zOkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVxdWVzdCIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iRmluZFNlcnZlcnNPbk5ldHdvcmtSZXNwb25zZSI+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9 +InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9Ikxhc3RDb3VudGVyUmVzZXRUaW1lIiB0eXBlPSJ4czpkYXRl +VGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVycyIg +dHlwZT0idG5zOkxpc3RPZlNlcnZlck9uTmV0d29yayIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJGaW5kU2VydmVyc09uTmV0d29ya1Jlc3BvbnNlIiB0eXBlPSJ0bnM6Rmlu +ZFNlcnZlcnNPbk5ldHdvcmtSZXNwb25zZSIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBcHBs +aWNhdGlvbkluc3RhbmNlQ2VydGlmaWNhdGUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgLz4NCg0K +ICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iTWVzc2FnZVNlY3VyaXR5TW9kZSI+DQogICAgPHhzOmFu +bm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgdHlwZSBvZiBzZWN1cml0eSB0 +byB1c2Ugb24gYSBtZXNzYWdlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRp +b24+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51 +bWVyYXRpb24gdmFsdWU9IkludmFsaWRfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 +ZT0iTm9uZV8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTaWduXzIiIC8+DQog +ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNpZ25BbmRFbmNyeXB0XzMiIC8+DQogICAgPC94 +czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJN +ZXNzYWdlU2VjdXJpdHlNb2RlIiB0eXBlPSJ0bnM6TWVzc2FnZVNlY3VyaXR5TW9kZSIgLz4NCg0K +ICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iVXNlclRva2VuVHlwZSI+DQogICAgPHhzOmFubm90YXRp +b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgcG9zc2libGUgdXNlciB0b2tlbiB0eXBl +cy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpyZXN0 +cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJB +bm9ueW1vdXNfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVXNlck5hbWVfMSIg +Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ2VydGlmaWNhdGVfMiIgLz4NCiAgICAg +IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNzdWVkVG9rZW5fMyIgLz4NCiAgICA8L3hzOnJlc3Ry +aWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVzZXJUb2tl +blR5cGUiIHR5cGU9InRuczpVc2VyVG9rZW5UeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu +YW1lPSJVc2VyVG9rZW5Qb2xpY3kiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRv +Y3VtZW50YXRpb24+RGVzY3JpYmVzIGEgdXNlciB0b2tlbiB0aGF0IGNhbiBiZSB1c2VkIHdpdGgg +YSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQb2xpY3lJZCIgdHlwZT0ieHM6 +c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iVG9rZW5UeXBlIiB0eXBlPSJ0bnM6VXNlclRva2VuVHlwZSIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNzdWVkVG9rZW5UeXBlIiB0eXBlPSJ4czpz +dHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJJc3N1ZXJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlQb2xp +Y3lVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJVc2VyVG9rZW5Qb2xpY3kiIHR5cGU9InRuczpVc2VyVG9rZW5Qb2xpY3kiIC8+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlVzZXJUb2tlblBvbGljeSI+DQogICAgPHhzOnNl +cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlclRva2VuUG9saWN5IiB0eXBlPSJ0 +bnM6VXNlclRva2VuUG9saWN5IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZVc2VyVG9rZW5Qb2xpY3kiIHR5cGU9InRuczpM +aXN0T2ZVc2VyVG9rZW5Qb2xpY3kiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVuZHBvaW50RGVzY3JpcHRpb24iPg0KICAgIDx4czphbm5v +dGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGRlc2NyaXB0aW9uIG9mIGEgZW5k +cG9pbnQgdGhhdCBjYW4gYmUgdXNlZCB0byBhY2Nlc3MgYSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0 +aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyIiB0eXBl +PSJ0bnM6QXBwbGljYXRpb25EZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlckNlcnRpZmljYXRlIiB0eXBlPSJ4 +czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlN +b2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVBv +bGljeVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlcklkZW50aXR5VG9rZW5zIiB0eXBlPSJ0bnM6 +TGlzdE9mVXNlclRva2VuUG9saWN5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNwb3J0UHJvZmlsZVVyaSIgdHlwZT0ieHM6c3Ry +aW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iU2VjdXJpdHlMZXZlbCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAi +IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iRW5kcG9pbnREZXNjcmlwdGlvbiIgdHlwZT0idG5zOkVuZHBvaW50RGVzY3JpcHRp +b24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkVuZHBvaW50RGVzY3JpcHRp +b24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50 +RGVzY3JpcHRpb24iIHR5cGU9InRuczpFbmRwb2ludERlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAi +IG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl +bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbmRw +b2ludERlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mRW5kcG9pbnREZXNjcmlwdGlvbiIgbmls +bGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iR2V0 +RW5kcG9pbnRzUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l +bnRhdGlvbj5HZXRzIHRoZSBlbmRwb2ludHMgdXNlZCBieSB0aGUgc2VydmVyLjwveHM6ZG9jdW1l +bnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIi +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0 +T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJQcm9maWxlVXJpcyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkdldEVuZHBvaW50c1JlcXVlc3QiIHR5cGU9InRu +czpHZXRFbmRwb2ludHNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJHZXRF +bmRwb2ludHNSZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l +bnRhdGlvbj5HZXRzIHRoZSBlbmRwb2ludHMgdXNlZCBieSB0aGUgc2VydmVyLjwveHM6ZG9jdW1l +bnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRl +ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IkVuZHBvaW50cyIgdHlwZT0idG5zOkxpc3RPZkVuZHBvaW50RGVzY3JpcHRpb24iIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj +b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iR2V0RW5kcG9pbnRzUmVzcG9uc2UiIHR5 +cGU9InRuczpHZXRFbmRwb2ludHNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iUmVnaXN0ZXJlZFNlcnZlciI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9j +dW1lbnRhdGlvbj5UaGUgaW5mb3JtYXRpb24gcmVxdWlyZWQgdG8gcmVnaXN0ZXIgYSBzZXJ2ZXIg +d2l0aCBhIGRpc2NvdmVyeSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5u +b3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2 +ZXJVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlByb2R1Y3RVcmkiIHR5cGU9InhzOnN0cmluZyIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNl +cnZlck5hbWVzIiB0eXBlPSJ1YTpMaXN0T2ZMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVHlwZSIgdHlw +ZT0idG5zOkFwcGxpY2F0aW9uVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iR2F0ZXdheVNlcnZlclVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzY292ZXJ5VXJs +cyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VtYXBob3JlRmlsZVBhdGgiIHR5cGU9InhzOnN0 +cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IklzT25saW5lIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +UmVnaXN0ZXJlZFNlcnZlciIgdHlwZT0idG5zOlJlZ2lzdGVyZWRTZXJ2ZXIiIC8+DQoNCiAgPHhz +OmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlJlZ2lzdGVyZWRTZXJ2ZXIiPg0KICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyZWRTZXJ2ZXIiIHR5cGU9InRu +czpSZWdpc3RlcmVkU2VydmVyIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZSZWdpc3RlcmVkU2VydmVyIiB0eXBlPSJ0bnM6 +TGlzdE9mUmVnaXN0ZXJlZFNlcnZlciIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXF1ZXN0Ij4NCiAgICA8eHM6 +YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlJlZ2lzdGVycyBhIHNlcnZlciB3 +aXRoIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu +bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVx +dWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXIiIHR5cGU9InRuczpS +ZWdpc3RlcmVkU2VydmVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJl +Z2lzdGVyU2VydmVyUmVxdWVzdCIgdHlwZT0idG5zOlJlZ2lzdGVyU2VydmVyUmVxdWVzdCIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXNwb25zZSI+DQogICAg +PHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5SZWdpc3RlcnMgYSBzZXJ2 +ZXIgd2l0aCB0aGUgZGlzY292ZXJ5IHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94 +czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXNwb25zZSIgdHlwZT0idG5z +OlJlZ2lzdGVyU2VydmVyUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRp +c2NvdmVyeUNvbmZpZ3VyYXRpb24iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRv +Y3VtZW50YXRpb24+QSBiYXNlIHR5cGUgZm9yIGRpc2NvdmVyeSBjb25maWd1cmF0aW9uIGluZm9y +bWF0aW9uLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9IkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpEaXNjb3Zl +cnlDb25maWd1cmF0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNZG5zRGlzY292 +ZXJ5Q29uZmlndXJhdGlvbiI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l +bnRhdGlvbj5UaGUgZGlzY292ZXJ5IGluZm9ybWF0aW9uIG5lZWRlZCBmb3IgbUROUyByZWdpc3Ry +YXRpb24uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6 +Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0i +dG5zOkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWRuc1NlcnZlck5hbWUiIHR5cGU9InhzOnN0cmluZyIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJTZXJ2ZXJDYXBhYmlsaXRpZXMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwv +eHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1kbnNEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiB0eXBl +PSJ0bnM6TWRuc0Rpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9IlJlZ2lzdGVyU2VydmVyMlJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVy +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iU2VydmVyIiB0eXBlPSJ0bnM6UmVnaXN0ZXJlZFNlcnZlciIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2NvdmVyeUNvbmZpZ3Vy +YXRpb24iIHR5cGU9InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJSZWdpc3RlclNlcnZlcjJSZXF1ZXN0IiB0eXBlPSJ0bnM6UmVn +aXN0ZXJTZXJ2ZXIyUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0 +ZXJTZXJ2ZXIyUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb25maWd1 +cmF0aW9uUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZv +cyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXIyUmVzcG9uc2UiIHR5cGU9InRuczpSZWdpc3Rl +clNlcnZlcjJSZXNwb25zZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iU2VjdXJpdHlU +b2tlblJlcXVlc3RUeXBlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVu +dGF0aW9uPkluZGljYXRlcyB3aGV0aGVyIGEgdG9rZW4gaWYgYmVpbmcgY3JlYXRlZCBvciByZW5l +d2VkLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJl +c3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +Iklzc3VlXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlbmV3XzEiIC8+DQog +ICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJTZWN1cml0eVRva2VuUmVxdWVzdFR5cGUiIHR5cGU9InRuczpTZWN1cml0eVRva2VuUmVx +dWVzdFR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNoYW5uZWxTZWN1cml0eVRv +a2VuIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSB0 +b2tlbiB0aGF0IGlkZW50aWZpZXMgYSBzZXQgb2Yga2V5cyBmb3IgYW4gYWN0aXZlIHNlY3VyZSBj +aGFubmVsLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2hhbm5lbElkIiB0eXBlPSJ4czp1 +bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVG9r +ZW5JZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkNyZWF0ZWRBdCIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRMaWZldGltZSIgdHlwZT0ieHM6dW5z +aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDaGFubmVsU2VjdXJpdHlUb2tlbiIgdHlw +ZT0idG5zOkNoYW5uZWxTZWN1cml0eVRva2VuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJPcGVuU2VjdXJlQ2hhbm5lbFJlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAg +PHhzOmRvY3VtZW50YXRpb24+Q3JlYXRlcyBhIHNlY3VyZSBjaGFubmVsIHdpdGggYSBzZXJ2ZXIu +PC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVu +Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVx +dWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkNsaWVudFByb3RvY29sVmVyc2lvbiIgdHlwZT0ieHM6dW5zaWduZWRJbnQi +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RUeXBlIiB0 +eXBlPSJ0bnM6U2VjdXJpdHlUb2tlblJlcXVlc3RUeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJp +dHlNb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRO +b25jZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTGlmZXRpbWUiIHR5cGU9Inhz +OnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT3BlblNlY3VyZUNoYW5uZWxSZXF1 +ZXN0IiB0eXBlPSJ0bnM6T3BlblNlY3VyZUNoYW5uZWxSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJPcGVuU2VjdXJlQ2hhbm5lbFJlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3Rh +dGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNyZWF0ZXMgYSBzZWN1cmUgY2hhbm5lbCB3 +aXRoIGEgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQog +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIi +IHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlclByb3RvY29sVmVyc2lvbiIgdHlwZT0i +eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlNlY3VyaXR5VG9rZW4iIHR5cGU9InRuczpDaGFubmVsU2VjdXJpdHlUb2tlbiIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlck5v +bmNlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iT3BlblNlY3VyZUNoYW5uZWxSZXNwb25zZSIgdHlwZT0idG5zOk9wZW5TZWN1cmVD +aGFubmVsUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNsb3NlU2VjdXJl +Q2hhbm5lbFJlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50 +YXRpb24+Q2xvc2VzIGEgc2VjdXJlIGNoYW5uZWwuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwv +eHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDbG9zZVNlY3VyZUNoYW5uZWxSZXF1ZXN0IiB0eXBlPSJ0 +bnM6Q2xvc2VTZWN1cmVDaGFubmVsUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iQ2xvc2VTZWN1cmVDaGFubmVsUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAg +ICAgPHhzOmRvY3VtZW50YXRpb24+Q2xvc2VzIGEgc2VjdXJlIGNoYW5uZWwuPC94czpkb2N1bWVu +dGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVy +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNsb3NlU2VjdXJlQ2hhbm5l +bFJlc3BvbnNlIiB0eXBlPSJ0bnM6Q2xvc2VTZWN1cmVDaGFubmVsUmVzcG9uc2UiIC8+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiPg0KICAgIDx4 +czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBzb2Z0d2FyZSBjZXJ0aWZp +Y2F0ZSB3aXRoIGEgZGlnaXRhbCBzaWduYXR1cmUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwv +eHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJDZXJ0aWZpY2F0ZURhdGEiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNpZ25hdHVyZSIgdHlw +ZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +IlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiIHR5cGU9InRuczpTaWduZWRTb2Z0d2FyZUNlcnRp +ZmljYXRlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTaWduZWRTb2Z0d2Fy +ZUNlcnRpZmljYXRlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiB0eXBlPSJ0bnM6U2lnbmVkU29mdHdhcmVDZXJ0 +aWZpY2F0ZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iTGlzdE9mU2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgdHlwZT0idG5zOkxp +c3RPZlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1l +bnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbkF1dGhlbnRpY2F0aW9uVG9rZW4iIHR5 +cGU9InVhOk5vZGVJZCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2lnbmF0dXJlRGF0 +YSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIGRpZ2l0 +YWwgc2lnbmF0dXJlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQog +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWxnb3JpdGhtIiB0eXBl +PSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJTaWduYXR1cmUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTaWduYXR1cmVEYXRhIiB0eXBlPSJ0bnM6U2ln +bmF0dXJlRGF0YSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ3JlYXRlU2Vzc2lvblJl +cXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q3Jl +YXRlcyBhIG5ldyBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQog +ICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50RGVz +Y3JpcHRpb24iIHR5cGU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVXJpIiB0 +eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbk5h +bWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVudE5vbmNlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnki +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJDbGllbnRDZXJ0aWZpY2F0ZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkU2Vz +c2lvblRpbWVvdXQiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iTWF4UmVzcG9uc2VNZXNzYWdlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJ +bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVTZXNzaW9uUmVxdWVzdCIgdHlwZT0idG5z +OkNyZWF0ZVNlc3Npb25SZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDcmVh +dGVTZXNzaW9uUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3Vt +ZW50YXRpb24+Q3JlYXRlcyBhIG5ldyBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L3hzOmRvY3Vt +ZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFk +ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJTZXNzaW9uSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkF1dGhlbnRpY2F0aW9uVG9rZW4iIHR5 +cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlJldmlzZWRTZXNzaW9uVGltZW91dCIgdHlwZT0ieHM6ZG91YmxlIiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJOb25jZSIgdHlw +ZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyQ2VydGlmaWNhdGUiIHR5cGU9InhzOmJhc2U2NEJp +bmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlNlcnZlckVuZHBvaW50cyIgdHlwZT0idG5zOkxpc3RPZkVuZHBvaW50RGVzY3JpcHRp +b24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJTZXJ2ZXJTb2Z0d2FyZUNlcnRpZmljYXRlcyIgdHlwZT0idG5zOkxpc3RPZlNpZ25lZFNv +ZnR3YXJlQ2VydGlmaWNhdGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJTaWduYXR1cmUiIHR5cGU9InRuczpTaWduYXR1cmVE +YXRhIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iTWF4UmVxdWVzdE1lc3NhZ2VTaXplIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9IkNyZWF0ZVNlc3Npb25SZXNwb25zZSIgdHlwZT0idG5zOkNyZWF0ZVNl +c3Npb25SZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVXNlcklkZW50aXR5 +VG9rZW4iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBi +YXNlIHR5cGUgZm9yIGEgdXNlciBpZGVudGl0eSB0b2tlbi48L3hzOmRvY3VtZW50YXRpb24+DQog +ICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlBvbGljeUlkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iVXNlcklkZW50aXR5VG9rZW4iIHR5cGU9InRuczpVc2VySWRlbnRpdHlU +b2tlbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQW5vbnltb3VzSWRlbnRpdHlUb2tl +biI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHRva2Vu +IHJlcHJlc2VudGluZyBhbiBhbm9ueW1vdXMgdXNlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAg +PC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0K +ICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgICAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVu +c2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJBbm9ueW1vdXNJZGVudGl0eVRva2VuIiB0eXBlPSJ0bnM6QW5vbnlt +b3VzSWRlbnRpdHlUb2tlbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVXNlck5hbWVJ +ZGVudGl0eVRva2VuIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0 +aW9uPkEgdG9rZW4gcmVwcmVzZW50aW5nIGEgdXNlciBpZGVudGlmaWVkIGJ5IGEgdXNlciBuYW1l +IGFuZCBwYXNzd29yZC48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0K +ICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lv +biBiYXNlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQog +ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJQYXNzd29yZCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuY3J5cHRpb25BbGdvcml0 +aG0iIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29t +cGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVz +ZXJOYW1lSWRlbnRpdHlUb2tlbiIgdHlwZT0idG5zOlVzZXJOYW1lSWRlbnRpdHlUb2tlbiIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iWDUwOUlkZW50aXR5VG9rZW4iPg0KICAgIDx4czph +bm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSB0b2tlbiByZXByZXNlbnRpbmcg +YSB1c2VyIGlkZW50aWZpZWQgYnkgYW4gWDUwOSBjZXJ0aWZpY2F0ZS48L3hzOmRvY3VtZW50YXRp +b24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0i +ZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4i +Pg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2Vy +dGlmaWNhdGVEYXRhIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lv +bj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJYNTA5SWRlbnRpdHlUb2tlbiIgdHlwZT0idG5zOlg1MDlJZGVudGl0eVRv +a2VuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJJc3N1ZWRJZGVudGl0eVRva2VuIj4N +CiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgdG9rZW4gcmVw +cmVzZW50aW5nIGEgdXNlciBpZGVudGlmaWVkIGJ5IGEgV1MtU2VjdXJpdHkgWE1MIHRva2VuLjwv +eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhD +b250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpVc2Vy +SWRlbnRpdHlUb2tlbiI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJUb2tlbkRhdGEiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmNyeXB0 +aW9uQWxnb3JpdGhtIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAg +ICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJJc3N1ZWRJZGVudGl0eVRva2VuIiB0eXBlPSJ0bnM6SXNzdWVkSWRlbnRpdHlUb2tl +biIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWN0aXZhdGVTZXNzaW9uUmVxdWVzdCI+ +DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BY3RpdmF0ZXMg +YSBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czph +bm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJl +cXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50U2lnbmF0dXJlIiB0 +eXBlPSJ0bnM6U2lnbmF0dXJlRGF0YSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVudFNvZnR3YXJlQ2VydGlmaWNhdGVzIiB0eXBl +PSJ0bnM6TGlzdE9mU2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkxvY2FsZUlkcyIgdHlwZT0i +dWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iVXNlcklkZW50aXR5VG9rZW4iIHR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlVzZXJUb2tlblNpZ25hdHVyZSIgdHlwZT0idG5zOlNpZ25hdHVyZURhdGEiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj +b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWN0aXZhdGVTZXNzaW9uUmVxdWVzdCIg +dHlwZT0idG5zOkFjdGl2YXRlU2Vzc2lvblJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9IkFjdGl2YXRlU2Vzc2lvblJlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg +ICAgIDx4czpkb2N1bWVudGF0aW9uPkFjdGl2YXRlcyBhIHNlc3Npb24gd2l0aCB0aGUgc2VydmVy +LjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpS +ZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlNlcnZlck5vbmNlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1 +bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1 +YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJBY3RpdmF0ZVNlc3Npb25SZXNwb25zZSIgdHlwZT0idG5zOkFjdGl2YXRlU2Vzc2lvblJl +c3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDbG9zZVNlc3Npb25SZXF1ZXN0 +Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNsb3NlcyBh +IHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu +bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVx +dWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVTdWJzY3JpcHRpb25z +IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xvc2VTZXNzaW9uUmVx +dWVzdCIgdHlwZT0idG5zOkNsb3NlU2Vzc2lvblJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9IkNsb3NlU2Vzc2lvblJlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg +ICAgIDx4czpkb2N1bWVudGF0aW9uPkNsb3NlcyBhIHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwv +eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNw +b25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl +cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDbG9zZVNl +c3Npb25SZXNwb25zZSIgdHlwZT0idG5zOkNsb3NlU2Vzc2lvblJlc3BvbnNlIiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJDYW5jZWxSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4N +CiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNhbmNlbHMgYW4gb3V0c3RhbmRpbmcgcmVxdWVzdC48 +L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1 +ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iUmVxdWVzdEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vy +cz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJDYW5jZWxSZXF1ZXN0IiB0eXBlPSJ0bnM6Q2FuY2VsUmVxdWVzdCIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2FuY2VsUmVzcG9uc2UiPg0KICAgIDx4czphbm5v +dGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q2FuY2VscyBhbiBvdXRzdGFuZGluZyBy +ZXF1ZXN0LjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9 +InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IkNhbmNlbENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIg +bWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9IkNhbmNlbFJlc3BvbnNlIiB0eXBlPSJ0bnM6Q2FuY2VsUmVz +cG9uc2UiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9Ik5vZGVBdHRyaWJ1dGVzTWFzayI+ +DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYml0cyB1 +c2VkIHRvIHNwZWNpZnkgZGVmYXVsdCBhdHRyaWJ1dGVzIGZvciBhIG5ldyBub2RlLjwveHM6ZG9j +dW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJh +c2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4N +CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQWNjZXNzTGV2ZWxfMSIgLz4NCiAgICAgIDx4 +czplbnVtZXJhdGlvbiB2YWx1ZT0iQXJyYXlEaW1lbnNpb25zXzIiIC8+DQogICAgICA8eHM6ZW51 +bWVyYXRpb24gdmFsdWU9IkJyb3dzZU5hbWVfNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 +YWx1ZT0iQ29udGFpbnNOb0xvb3BzXzgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +IkRhdGFUeXBlXzE2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEZXNjcmlwdGlv +bl8zMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGlzcGxheU5hbWVfNjQiIC8+ +DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkV2ZW50Tm90aWZpZXJfMTI4IiAvPg0KICAg +ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJFeGVjdXRhYmxlXzI1NiIgLz4NCiAgICAgIDx4czpl +bnVtZXJhdGlvbiB2YWx1ZT0iSGlzdG9yaXppbmdfNTEyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0 +aW9uIHZhbHVlPSJJbnZlcnNlTmFtZV8xMDI0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh +bHVlPSJJc0Fic3RyYWN0XzIwNDgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik1p +bmltdW1TYW1wbGluZ0ludGVydmFsXzQwOTYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs +dWU9Ik5vZGVDbGFzc184MTkyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb2Rl +SWRfMTYzODQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN5bW1ldHJpY18zMjc2 +OCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVXNlckFjY2Vzc0xldmVsXzY1NTM2 +IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVc2VyRXhlY3V0YWJsZV8xMzEwNzIi +IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVzZXJXcml0ZU1hc2tfMjYyMTQ0IiAv +Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJWYWx1ZVJhbmtfNTI0Mjg4IiAvPg0KICAg +ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJXcml0ZU1hc2tfMTA0ODU3NiIgLz4NCiAgICAgIDx4 +czplbnVtZXJhdGlvbiB2YWx1ZT0iVmFsdWVfMjA5NzE1MiIgLz4NCiAgICAgIDx4czplbnVtZXJh +dGlvbiB2YWx1ZT0iQWxsXzQxOTQzMDMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +IkJhc2VOb2RlXzEzMzUzOTYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik9iamVj +dF8xMzM1NTI0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJPYmplY3RUeXBlT3JE +YXRhVHlwZV8xMzM3NDQ0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJWYXJpYWJs +ZV80MDI2OTk5IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJWYXJpYWJsZVR5cGVf +Mzk1ODkwMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTWV0aG9kXzE0NjY3MjQi +IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlZmVyZW5jZVR5cGVfMTM3MTIzNiIg +Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVmlld18xMzM1NTMyIiAvPg0KICAgIDwv +eHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +Tm9kZUF0dHJpYnV0ZXNNYXNrIiB0eXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXNNYXNrIiAvPg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJOb2RlQXR0cmlidXRlcyI+DQogICAgPHhzOmFubm90YXRp +b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYmFzZSBhdHRyaWJ1dGVzIGZvciBhbGwg +bm9kZXMuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiB0 +eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iRGlzcGxheU5hbWUiIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIg +dHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IldyaXRlTWFzayIgdHlwZT0ieHM6dW5zaWduZWRJbnQi +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJXcml0ZU1hc2si +IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5j +ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUF0dHJpYnV0 +ZXMiIHR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iT2JqZWN0QXR0cmlidXRlcyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9j +dW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYW4gb2JqZWN0IG5vZGUuPC94czpkb2N1bWVu +dGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4 +ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk5vZGVBdHRyaWJ1dGVz +Ij4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2 +ZW50Tm90aWZpZXIiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21w +bGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT2Jq +ZWN0QXR0cmlidXRlcyIgdHlwZT0idG5zOk9iamVjdEF0dHJpYnV0ZXMiIC8+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9IlZhcmlhYmxlQXR0cmlidXRlcyI+DQogICAgPHhzOmFubm90YXRpb24+ +DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSB2YXJpYWJsZSBu +b2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNv +bXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRu +czpOb2RlQXR0cmlidXRlcyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0idWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0K +ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJBcnJheURpbWVuc2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJBY2Nlc3NMZXZlbCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlckFjY2Vzc0xldmVsIiB0eXBlPSJ4czp1 +bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAi +IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yaXppbmciIHR5cGU9InhzOmJv +b2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwv +eHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlZhcmlhYmxlQXR0cmlidXRlcyIgdHlwZT0idG5zOlZh +cmlhYmxlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTWV0aG9kQXR0 +cmlidXRlcyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5U +aGUgYXR0cmlidXRlcyBmb3IgYSBtZXRob2Qgbm9kZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAg +PC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0K +ICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXhlY3V0YWJsZSIgdHlw +ZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h +bWU9IlVzZXJFeGVjdXRhYmxlIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNv +bXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJN +ZXRob2RBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6TWV0aG9kQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iT2JqZWN0VHlwZUF0dHJpYnV0ZXMiPg0KICAgIDx4czphbm5vdGF0 +aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGFuIG9iamVj +dCB0eXBlIG5vZGUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAg +ICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24g +YmFzZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +ICAgIDx4czplbGVtZW50IG5hbWU9IklzQWJzdHJhY3QiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9j +Y3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9u +Pg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl +bGVtZW50IG5hbWU9Ik9iamVjdFR5cGVBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6T2JqZWN0VHlwZUF0 +dHJpYnV0ZXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhYmxlVHlwZUF0dHJp +YnV0ZXMiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhl +IGF0dHJpYnV0ZXMgZm9yIGEgdmFyaWFibGUgdHlwZSBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4N +CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxz +ZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAg +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlw +ZT0idWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h +bWU9IkRhdGFUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czpp +bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcnJheURp +bWVuc2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4 +czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAg +ICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWYXJpYWJsZVR5cGVBdHRyaWJ1dGVzIiB0eXBl +PSJ0bnM6VmFyaWFibGVUeXBlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iUmVmZXJlbmNlVHlwZUF0dHJpYnV0ZXMiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAg +PHhzOmRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGEgcmVmZXJlbmNlIHR5cGUgbm9k +ZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21w +bGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6 +Tm9kZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iSXNBYnN0cmFjdCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN5bW1ldHJpYyIgdHlwZT0ieHM6Ym9vbGVh +biIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkludmVyc2VO +YW1lIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAg +PC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg +bmFtZT0iUmVmZXJlbmNlVHlwZUF0dHJpYnV0ZXMiIHR5cGU9InRuczpSZWZlcmVuY2VUeXBlQXR0 +cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGF0YVR5cGVBdHRyaWJ1dGVz +Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBhdHRy +aWJ1dGVzIGZvciBhIGRhdGEgdHlwZSBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hz +OmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAg +ICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4 +czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAg +ICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZUF0dHJpYnV0ZXMiIHR5cGU9InRu +czpEYXRhVHlwZUF0dHJpYnV0ZXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZpZXdB +dHRyaWJ1dGVzIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9u +PlRoZSBhdHRyaWJ1dGVzIGZvciBhIHZpZXcgbm9kZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAg +PC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0K +ICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGFpbnNOb0xvb3Bz +IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iRXZlbnROb3RpZmllciIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9 +IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAg +ICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJWaWV3QXR0cmlidXRlcyIgdHlwZT0idG5zOlZpZXdBdHRyaWJ1dGVzIiAvPg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZGROb2Rlc0l0ZW0iPg0KICAgIDx4czphbm5vdGF0aW9u +Pg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSByZXF1ZXN0IHRvIGFkZCBhIG5vZGUgdG8gdGhl +IHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90 +YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUGFyZW50 +Tm9kZUlkIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgdHlwZT0i +dWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iUmVxdWVzdGVkTmV3Tm9kZUlkIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkJyb3dzZU5hbWUiIHR5cGU9InVhOlF1YWxpZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlQ2xhc3MiIHR5cGU9InRu +czpOb2RlQ2xhc3MiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5v +ZGVBdHRyaWJ1dGVzIiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUeXBlRGVmaW5pdGlvbiIg +dHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg +bmFtZT0iQWRkTm9kZXNJdGVtIiB0eXBlPSJ0bnM6QWRkTm9kZXNJdGVtIiAvPg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZBZGROb2Rlc0l0ZW0iPg0KICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZE5vZGVzSXRlbSIgdHlwZT0idG5zOkFkZE5vZGVz +SXRlbSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iTGlzdE9mQWRkTm9kZXNJdGVtIiB0eXBlPSJ0bnM6TGlzdE9mQWRkTm9kZXNJdGVt +IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJBZGROb2Rlc1Jlc3VsdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l +bnRhdGlvbj5BIHJlc3VsdCBvZiBhbiBhZGQgbm9kZSBvcGVyYXRpb24uPC94czpkb2N1bWVudGF0 +aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9 +IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRlZE5vZGVJZCIgdHlwZT0idWE6Tm9k +ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFkZE5vZGVzUmVzdWx0 +IiB0eXBlPSJ0bnM6QWRkTm9kZXNSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +Ikxpc3RPZkFkZE5vZGVzUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJBZGROb2Rlc1Jlc3VsdCIgdHlwZT0idG5zOkFkZE5vZGVzUmVzdWx0IiBtaW5P +Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM +aXN0T2ZBZGROb2Rlc1Jlc3VsdCIgdHlwZT0idG5zOkxpc3RPZkFkZE5vZGVzUmVzdWx0IiBuaWxs +YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZGRO +b2Rlc1JlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRp +b24+QWRkcyBvbmUgb3IgbW9yZSBub2RlcyB0byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94 +czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVz +dEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9Ik5vZGVzVG9BZGQiIHR5cGU9InRuczpMaXN0T2ZBZGROb2Rlc0l0ZW0iIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj +b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkTm9kZXNSZXF1ZXN0IiB0eXBlPSJ0 +bnM6QWRkTm9kZXNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZGROb2Rl +c1Jlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9u +PkFkZHMgb25lIG9yIG1vcmUgbm9kZXMgdG8gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6 +ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25z +ZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZBZGROb2Rlc1Jlc3VsdCIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdu +b3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkTm9kZXNSZXNwb25zZSIgdHlwZT0idG5zOkFkZE5v +ZGVzUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFkZFJlZmVyZW5jZXNJ +dGVtIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgcmVx +dWVzdCB0byBhZGQgYSByZWZlcmVuY2UgdG8gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6 +ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU291cmNlTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS +ZWZlcmVuY2VUeXBlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IklzRm9yd2FyZCIgdHlwZT0ieHM6Ym9v +bGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0U2Vy +dmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXROb2RlSWQiIHR5cGU9InVhOkV4cGFuZGVk +Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iVGFyZ2V0Tm9kZUNsYXNzIiB0eXBlPSJ0bnM6Tm9kZUNsYXNzIiBtaW5PY2N1cnM9 +IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iQWRkUmVmZXJlbmNlc0l0ZW0iIHR5cGU9InRuczpBZGRSZWZlcmVuY2VzSXRl +bSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQWRkUmVmZXJlbmNlc0l0ZW0i +Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZFJlZmVyZW5j +ZXNJdGVtIiB0eXBlPSJ0bnM6QWRkUmVmZXJlbmNlc0l0ZW0iIG1pbk9jY3Vycz0iMCIgbWF4T2Nj +dXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkFkZFJlZmVyZW5j +ZXNJdGVtIiB0eXBlPSJ0bnM6TGlzdE9mQWRkUmVmZXJlbmNlc0l0ZW0iIG5pbGxhYmxlPSJ0cnVl +Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFkZFJlZmVyZW5jZXNS +ZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkFk +ZHMgb25lIG9yIG1vcmUgcmVmZXJlbmNlcyB0byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94 +czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVz +dEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlJlZmVyZW5jZXNUb0FkZCIgdHlwZT0idG5zOkxpc3RPZkFkZFJlZmVyZW5jZXNJ +dGVtIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFkZFJlZmVyZW5jZXNS +ZXF1ZXN0IiB0eXBlPSJ0bnM6QWRkUmVmZXJlbmNlc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9IkFkZFJlZmVyZW5jZXNSZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRpb24+ +DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BZGRzIG9uZSBvciBtb3JlIHJlZmVyZW5jZXMgdG8g +dGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu +bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVz +cG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVh +Okxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdu +b3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx +dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFkZFJlZmVy +ZW5jZXNSZXNwb25zZSIgdHlwZT0idG5zOkFkZFJlZmVyZW5jZXNSZXNwb25zZSIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlTm9kZXNJdGVtIj4NCiAgICA8eHM6YW5ub3RhdGlv +bj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgcmVxdWVzdCB0byBkZWxldGUgYSBub2RlIHRv +IHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czph +bm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5v +ZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlVGFyZ2V0UmVmZXJlbmNlcyIgdHlwZT0ieHM6 +Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZU5vZGVzSXRlbSIgdHlwZT0idG5z +OkRlbGV0ZU5vZGVzSXRlbSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGVs +ZXRlTm9kZXNJdGVtIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJEZWxldGVOb2Rlc0l0ZW0iIHR5cGU9InRuczpEZWxldGVOb2Rlc0l0ZW0iIG1pbk9jY3Vycz0i +MCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx +dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRl +bGV0ZU5vZGVzSXRlbSIgdHlwZT0idG5zOkxpc3RPZkRlbGV0ZU5vZGVzSXRlbSIgbmlsbGFibGU9 +InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlTm9k +ZXNSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9u +PkRlbGV0ZSBvbmUgb3IgbW9yZSBub2RlcyBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48 +L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1 +ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iTm9kZXNUb0RlbGV0ZSIgdHlwZT0idG5zOkxpc3RPZkRlbGV0ZU5vZGVzSXRl +bSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVOb2Rlc1JlcXVl +c3QiIHR5cGU9InRuczpEZWxldGVOb2Rlc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9IkRlbGV0ZU5vZGVzUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAg +PHhzOmRvY3VtZW50YXRpb24+RGVsZXRlIG9uZSBvciBtb3JlIG5vZGVzIGZyb20gdGhlIHNlcnZl +ciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+ +DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFk +ZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0 +YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZv +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZU5vZGVzUmVzcG9u +c2UiIHR5cGU9InRuczpEZWxldGVOb2Rlc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJEZWxldGVSZWZlcmVuY2VzSXRlbSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg +ICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8gZGVsZXRlIGEgbm9kZSBmcm9tIHRoZSBz +ZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 +aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNvdXJjZU5v +ZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQi +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJJc0ZvcndhcmQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlRhcmdldE5vZGVJZCIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJE +ZWxldGVCaWRpcmVjdGlvbmFsIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iRGVsZXRlUmVmZXJlbmNlc0l0ZW0iIHR5cGU9InRuczpEZWxldGVSZWZlcmVuY2VzSXRlbSIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGVsZXRlUmVmZXJlbmNlc0l0ZW0i +Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZVJlZmVy +ZW5jZXNJdGVtIiB0eXBlPSJ0bnM6RGVsZXRlUmVmZXJlbmNlc0l0ZW0iIG1pbk9jY3Vycz0iMCIg +bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRlbGV0 +ZVJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0bnM6TGlzdE9mRGVsZXRlUmVmZXJlbmNlc0l0ZW0iIG5p +bGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRl +bGV0ZVJlZmVyZW5jZXNSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpk +b2N1bWVudGF0aW9uPkRlbGV0ZSBvbmUgb3IgbW9yZSByZWZlcmVuY2VzIGZyb20gdGhlIHNlcnZl +ciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+ +DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRl +ciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VzVG9EZWxldGUiIHR5cGU9InRu +czpMaXN0T2ZEZWxldGVSZWZlcmVuY2VzSXRlbSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl +bWVudCBuYW1lPSJEZWxldGVSZWZlcmVuY2VzUmVxdWVzdCIgdHlwZT0idG5zOkRlbGV0ZVJlZmVy +ZW5jZXNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEZWxldGVSZWZlcmVu +Y2VzUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRp +b24+RGVsZXRlIG9uZSBvciBtb3JlIHJlZmVyZW5jZXMgZnJvbSB0aGUgc2VydmVyIGFkZHJlc3Mg +c3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0i +dG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w +bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlUmVmZXJlbmNlc1Jlc3BvbnNlIiB0 +eXBlPSJ0bnM6RGVsZXRlUmVmZXJlbmNlc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpzaW1wbGVUeXBl +ICBuYW1lPSJBdHRyaWJ1dGVXcml0ZU1hc2siPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAg +PHhzOmRvY3VtZW50YXRpb24+RGVmaW5lIGJpdHMgdXNlZCB0byBpbmRpY2F0ZSB3aGljaCBhdHRy +aWJ1dGVzIGFyZSB3cml0YWJsZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 +aW9uPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVu +dW1lcmF0aW9uIHZhbHVlPSJOb25lXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +IkFjY2Vzc0xldmVsXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFycmF5RGlt +ZW5zaW9uc18yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJCcm93c2VOYW1lXzQi +IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkNvbnRhaW5zTm9Mb29wc184IiAvPg0K +ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEYXRhVHlwZV8xNiIgLz4NCiAgICAgIDx4czpl +bnVtZXJhdGlvbiB2YWx1ZT0iRGVzY3JpcHRpb25fMzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp +b24gdmFsdWU9IkRpc3BsYXlOYW1lXzY0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl +PSJFdmVudE5vdGlmaWVyXzEyOCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRXhl +Y3V0YWJsZV8yNTYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ikhpc3Rvcml6aW5n +XzUxMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW52ZXJzZU5hbWVfMTAyNCIg +Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNBYnN0cmFjdF8yMDQ4IiAvPg0KICAg +ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbF80MDk2IiAv +Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb2RlQ2xhc3NfODE5MiIgLz4NCiAgICAg +IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9kZUlkXzE2Mzg0IiAvPg0KICAgICAgPHhzOmVudW1l +cmF0aW9uIHZhbHVlPSJTeW1tZXRyaWNfMzI3NjgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g +dmFsdWU9IlVzZXJBY2Nlc3NMZXZlbF82NTUzNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 +YWx1ZT0iVXNlckV4ZWN1dGFibGVfMTMxMDcyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh +bHVlPSJVc2VyV3JpdGVNYXNrXzI2MjE0NCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 +ZT0iVmFsdWVSYW5rXzUyNDI4OCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iV3Jp +dGVNYXNrXzEwNDg1NzYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZhbHVlRm9y +VmFyaWFibGVUeXBlXzIwOTcxNTIiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpz +aW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBdHRyaWJ1dGVXcml0ZU1hc2siIHR5cGU9 +InRuczpBdHRyaWJ1dGVXcml0ZU1hc2siIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkJy +b3dzZURpcmVjdGlvbiI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRh +dGlvbj5UaGUgZGlyZWN0aW9ucyBvZiB0aGUgcmVmZXJlbmNlcyB0byByZXR1cm4uPC94czpkb2N1 +bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFz +ZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRm9yd2FyZF8wIiAv +Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJbnZlcnNlXzEiIC8+DQogICAgICA8eHM6 +ZW51bWVyYXRpb24gdmFsdWU9IkJvdGhfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 +ZT0iSW52YWxpZF8zIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlRGlyZWN0aW9uIiB0eXBlPSJ0bnM6QnJvd3Nl +RGlyZWN0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJWaWV3RGVzY3JpcHRpb24i +Pg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIHZpZXcg +dG8gYnJvd3NlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmlld0lkIiB0eXBlPSJ1YTpO +b2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJUaW1lc3RhbXAiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWaWV3VmVyc2lvbiIgdHlwZT0ieHM6dW5zaWduZWRJbnQi +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWaWV3RGVzY3JpcHRpb24iIHR5cGU9InRuczpWaWV3RGVz +Y3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb3dzZURlc2NyaXB0aW9u +Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgcmVxdWVz +dCB0byBicm93c2UgdGhlIHRoZSByZWZlcmVuY2VzIGZyb20gYSBub2RlLjwveHM6ZG9jdW1lbnRh +dGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VEaXJlY3Rpb24i +IHR5cGU9InRuczpCcm93c2VEaXJlY3Rpb24iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5jbHVkZVN1 +YnR5cGVzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJOb2RlQ2xhc3NNYXNrIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz +PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0TWFzayIgdHlwZT0ieHM6dW5z +aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VEZXNjcmlwdGlvbiIgdHlwZT0i +dG5zOkJyb3dzZURlc2NyaXB0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0 +T2ZCcm93c2VEZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iQnJvd3NlRGVzY3JpcHRpb24iIHR5cGU9InRuczpCcm93c2VEZXNjcmlwdGlvbiIg +bWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iTGlzdE9mQnJvd3NlRGVzY3JpcHRpb24iIHR5cGU9InRuczpMaXN0T2ZCcm93c2VEZXNjcmlw +dGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAg +bmFtZT0iQnJvd3NlUmVzdWx0TWFzayI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6 +ZG9jdW1lbnRhdGlvbj5BIGJpdCBtYXNrIHdoaWNoIHNwZWNpZmllcyB3aGF0IHNob3VsZCBiZSBy +ZXR1cm5lZCBpbiBhIGJyb3dzZSByZXNwb25zZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94 +czphbm5vdGF0aW9uPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAg +ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb25lXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp +b24gdmFsdWU9IlJlZmVyZW5jZVR5cGVJZF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh +bHVlPSJJc0ZvcndhcmRfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9kZUNs +YXNzXzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJyb3dzZU5hbWVfOCIgLz4N +CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGlzcGxheU5hbWVfMTYiIC8+DQogICAgICA8 +eHM6ZW51bWVyYXRpb24gdmFsdWU9IlR5cGVEZWZpbml0aW9uXzMyIiAvPg0KICAgICAgPHhzOmVu +dW1lcmF0aW9uIHZhbHVlPSJBbGxfNjMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +IlJlZmVyZW5jZVR5cGVJbmZvXzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlRh +cmdldEluZm9fNjAiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VSZXN1bHRNYXNrIiB0eXBlPSJ0bnM6QnJvd3Nl +UmVzdWx0TWFzayIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVmZXJlbmNlRGVzY3Jp +cHRpb24iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhl +IGRlc2NyaXB0aW9uIG9mIGEgcmVmZXJlbmNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hz +OmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +UmVmZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ZvcndhcmQiIHR5cGU9InhzOmJv +b2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIg +dHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VOYW1lIiB0eXBlPSJ1YTpRdWFsaWZpZWRO +YW1lIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iRGlzcGxheU5hbWUiIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlQ2xhc3MiIHR5 +cGU9InRuczpOb2RlQ2xhc3MiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlR5cGVEZWZpbml0aW9uIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VEZXNjcmlwdGlvbiIgdHlwZT0idG5z +OlJlZmVyZW5jZURlc2NyaXB0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0 +T2ZSZWZlcmVuY2VEZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iUmVmZXJlbmNlRGVzY3JpcHRpb24iIHR5cGU9InRuczpSZWZlcmVuY2VEZXNj +cmlwdGlvbiIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iTGlzdE9mUmVmZXJlbmNlRGVzY3JpcHRpb24iIHR5cGU9InRuczpMaXN0T2ZS +ZWZlcmVuY2VEZXNjcmlwdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJDb250aW51YXRpb25Qb2ludCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5 +IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VSZXN1bHQiPg0KICAgIDx4czph +bm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIHJlc3VsdCBvZiBhIGJyb3dz +ZSBvcGVyYXRpb24uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBl +PSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJDb250aW51YXRpb25Qb2ludCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlcyIg +dHlwZT0idG5zOkxpc3RPZlJlZmVyZW5jZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVJlc3VsdCIgdHlwZT0idG5zOkJyb3dzZVJlc3VsdCIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJvd3NlUmVzdWx0Ij4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VSZXN1bHQiIHR5cGU9 +InRuczpCcm93c2VSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb3dzZVJlc3VsdCIgdHlwZT0idG5zOkxpc3RP +ZkJyb3dzZVJlc3VsdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iQnJvd3NlUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg +ICA8eHM6ZG9jdW1lbnRhdGlvbj5Ccm93c2UgdGhlIHJlZmVyZW5jZXMgZm9yIG9uZSBvciBtb3Jl +IG5vZGVzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4N +CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWaWV3IiB0 +eXBlPSJ0bnM6Vmlld0Rlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTWF4UmVmZXJlbmNlc1Blck5vZGUi +IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJOb2Rlc1RvQnJvd3NlIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlRGVzY3JpcHRpb24i +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUmVxdWVzdCIgdHlw +ZT0idG5zOkJyb3dzZVJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb3dz +ZVJlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9u +PkJyb3dzZSB0aGUgcmVmZXJlbmNlcyBmb3Igb25lIG9yIG1vcmUgbm9kZXMgZnJvbSB0aGUgc2Vy +dmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlv +bj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhl +YWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RP +ZkJyb3dzZVJlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3Rp +Y0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j +ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUmVzcG9u +c2UiIHR5cGU9InRuczpCcm93c2VSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iQnJvd3NlTmV4dFJlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRv +Y3VtZW50YXRpb24+Q29udGludWVzIG9uZSBvciBtb3JlIGJyb3dzZSBvcGVyYXRpb25zLjwveHM6 +ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RI +ZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJSZWxlYXNlQ29udGludWF0aW9uUG9pbnRzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250aW51YXRpb25Qb2ludHMi +IHR5cGU9InVhOkxpc3RPZkJ5dGVTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iQnJvd3NlTmV4dFJlcXVlc3QiIHR5cGU9InRuczpCcm93c2VOZXh0UmVxdWVzdCIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQnJvd3NlTmV4dFJlc3BvbnNlIj4NCiAgICA8 +eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNvbnRpbnVlcyBvbmUgb3Ig +bW9yZSBicm93c2Ugb3BlcmF0aW9ucy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v +dGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3Bv +bnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ0bnM6 +TGlzdE9mQnJvd3NlUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFn +bm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl +cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VO +ZXh0UmVzcG9uc2UiIHR5cGU9InRuczpCcm93c2VOZXh0UmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9IlJlbGF0aXZlUGF0aEVsZW1lbnQiPg0KICAgIDx4czphbm5vdGF0aW9u +Pg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QW4gZWxlbWVudCBpbiBhIHJlbGF0aXZlIHBhdGgu +PC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVu +Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VUeXBlSWQiIHR5cGU9InVhOk5v +ZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IklzSW52ZXJzZSIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5jbHVkZVN1YnR5cGVzIiB0eXBlPSJ4czpib29sZWFuIiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXROYW1lIiB0eXBl +PSJ1YTpRdWFsaWZpZWROYW1lIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +IlJlbGF0aXZlUGF0aEVsZW1lbnQiIHR5cGU9InRuczpSZWxhdGl2ZVBhdGhFbGVtZW50IiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZSZWxhdGl2ZVBhdGhFbGVtZW50Ij4NCiAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWxhdGl2ZVBhdGhFbGVt +ZW50IiB0eXBlPSJ0bnM6UmVsYXRpdmVQYXRoRWxlbWVudCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1 +cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUmVsYXRpdmVQYXRo +RWxlbWVudCIgdHlwZT0idG5zOkxpc3RPZlJlbGF0aXZlUGF0aEVsZW1lbnQiIG5pbGxhYmxlPSJ0 +cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlbGF0aXZlUGF0 +aCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHJlbGF0 +aXZlIHBhdGggY29uc3RydWN0ZWQgZnJvbSByZWZlcmVuY2UgdHlwZXMgYW5kIGJyb3dzZSBuYW1l +cy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVsZW1lbnRzIiB0eXBlPSJ0bnM6TGlzdE9m +UmVsYXRpdmVQYXRoRWxlbWVudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJSZWxhdGl2ZVBhdGgiIHR5cGU9InRuczpSZWxhdGl2ZVBhdGgiIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9IkJyb3dzZVBhdGgiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhz +OmRvY3VtZW50YXRpb24+QSByZXF1ZXN0IHRvIHRyYW5zbGF0ZSBhIHBhdGggaW50byBhIG5vZGUg +aWQuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFydGluZ05vZGUiIHR5cGU9InVhOk5v +ZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlJlbGF0aXZlUGF0aCIgdHlwZT0idG5zOlJlbGF0aXZlUGF0aCIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VQYXRoIiB0eXBlPSJ0bnM6QnJvd3NlUGF0 +aCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJvd3NlUGF0aCI+DQogICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUGF0aCIgdHlwZT0i +dG5zOkJyb3dzZVBhdGgiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGgiIHR5cGU9InRuczpMaXN0T2ZCcm93 +c2VQYXRoIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJCcm93c2VQYXRoVGFyZ2V0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4 +czpkb2N1bWVudGF0aW9uPlRoZSB0YXJnZXQgb2YgdGhlIHRyYW5zbGF0ZWQgcGF0aC48L3hzOmRv +Y3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdldElkIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlJlbWFpbmluZ1BhdGhJbmRleCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJCcm93c2VQYXRoVGFyZ2V0IiB0eXBlPSJ0bnM6QnJvd3NlUGF0aFRhcmdldCIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJvd3NlUGF0aFRhcmdldCI+DQogICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUGF0aFRhcmdldCIg +dHlwZT0idG5zOkJyb3dzZVBhdGhUYXJnZXQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJv +dW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGhUYXJnZXQiIHR5 +cGU9InRuczpMaXN0T2ZCcm93c2VQYXRoVGFyZ2V0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVt +ZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VQYXRoUmVzdWx0Ij4NCiAgICA8 +eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSByZXN1bHQgb2YgYSB0 +cmFuc2xhdGUgb3BlYXJhdGlvbi48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 +aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c0Nv +ZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlRhcmdldHMiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VQYXRoVGFyZ2V0IiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGhSZXN1bHQiIHR5cGU9 +InRuczpCcm93c2VQYXRoUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0 +T2ZCcm93c2VQYXRoUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJCcm93c2VQYXRoUmVzdWx0IiB0eXBlPSJ0bnM6QnJvd3NlUGF0aFJlc3VsdCIgbWlu +T2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +TGlzdE9mQnJvd3NlUGF0aFJlc3VsdCIgdHlwZT0idG5zOkxpc3RPZkJyb3dzZVBhdGhSZXN1bHQi +IG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +IlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRp +b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UcmFuc2xhdGVzIG9uZSBvciBtb3JlIHBhdGhz +IGluIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94 +czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUGF0aHMiIHR5 +cGU9InRuczpMaXN0T2ZCcm93c2VQYXRoIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9IlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVxdWVzdCIgdHlwZT0idG5zOlRy +YW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iVHJhbnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNSZXNwb25zZSI+DQogICAgPHhz +OmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UcmFuc2xhdGVzIG9uZSBvciBt +b3JlIHBhdGhzIGluIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+ +DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1 +bHRzIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlUGF0aFJlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIg +dHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iVHJhbnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNSZXNwb25zZSIgdHlwZT0i +dG5zOlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9IlJlZ2lzdGVyTm9kZXNSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlv +bj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlJlZ2lzdGVycyBvbmUgb3IgbW9yZSBub2RlcyBm +b3IgcmVwZWF0ZWQgdXNlIHdpdGhpbiBhIHNlc3Npb24uPC94czpkb2N1bWVudGF0aW9uPg0KICAg +IDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVzVG9SZWdp +c3RlciIgdHlwZT0idWE6TGlzdE9mTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9IlJlZ2lzdGVyTm9kZXNSZXF1ZXN0IiB0eXBlPSJ0bnM6UmVnaXN0ZXJOb2Rlc1Jl +cXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZ2lzdGVyTm9kZXNSZXNwb25z +ZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5SZWdpc3Rl +cnMgb25lIG9yIG1vcmUgbm9kZXMgZm9yIHJlcGVhdGVkIHVzZSB3aXRoaW4gYSBzZXNzaW9uLjwv +eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNw +b25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlJlZ2lzdGVyZWROb2RlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZOb2RlSWQiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJOb2Rlc1Jlc3BvbnNl +IiB0eXBlPSJ0bnM6UmVnaXN0ZXJOb2Rlc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJVbnJlZ2lzdGVyTm9kZXNSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg +ICAgIDx4czpkb2N1bWVudGF0aW9uPlVucmVnaXN0ZXJzIG9uZSBvciBtb3JlIHByZXZpb3VzbHkg +cmVnaXN0ZXJlZCBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9u +Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFk +ZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb1VucmVnaXN0ZXIiIHR5cGU9InVh +Okxpc3RPZk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVbnJl +Z2lzdGVyTm9kZXNSZXF1ZXN0IiB0eXBlPSJ0bnM6VW5yZWdpc3Rlck5vZGVzUmVxdWVzdCIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVW5yZWdpc3Rlck5vZGVzUmVzcG9uc2UiPg0KICAg +IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VW5yZWdpc3RlcnMgb25l +IG9yIG1vcmUgcHJldmlvdXNseSByZWdpc3RlcmVkIG5vZGVzLjwveHM6ZG9jdW1lbnRhdGlvbj4N +CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVbnJlZ2lzdGVyTm9kZXNSZXNwb25zZSIg +dHlwZT0idG5zOlVucmVnaXN0ZXJOb2Rlc1Jlc3BvbnNlIiAvPg0KDQogIDx4czplbGVtZW50IG5h +bWU9IkNvdW50ZXIiIHR5cGU9InhzOnVuc2lnbmVkSW50IiAvPg0KDQogIDx4czplbGVtZW50IG5h +bWU9Ik51bWVyaWNSYW5nZSIgdHlwZT0ieHM6c3RyaW5nIiAvPg0KDQogIDx4czplbGVtZW50IG5h +bWU9IlRpbWUiIHR5cGU9InhzOnN0cmluZyIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRl +IiB0eXBlPSJ4czpkYXRlVGltZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRW5kcG9p +bnRDb25maWd1cmF0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJPcGVyYXRpb25UaW1lb3V0IiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlVzZUJpbmFyeUVuY29kaW5nIiB0eXBlPSJ4czpib29sZWFu +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhTdHJpbmdMZW5n +dGgiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iTWF4Qnl0ZVN0cmluZ0xlbmd0aCIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhBcnJheUxlbmd0aCIgdHlwZT0ieHM6aW50IiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhNZXNzYWdlU2l6ZSIgdHlw +ZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhC +dWZmZXJTaXplIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IkNoYW5uZWxMaWZldGltZSIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVRva2VuTGlmZXRpbWUiIHR5cGU9Inhz +OmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50Q29uZmlndXJhdGlvbiIgdHlwZT0i +dG5zOkVuZHBvaW50Q29uZmlndXJhdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i +TGlzdE9mRW5kcG9pbnRDb25maWd1cmF0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludENvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpFbmRwb2lu +dENvbmZpZ3VyYXRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkVuZHBvaW50Q29uZmlndXJhdGlvbiIgdHlwZT0idG5z +Okxpc3RPZkVuZHBvaW50Q29uZmlndXJhdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVu +dD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUXVlcnlEYXRhRGVzY3JpcHRpb24iPg0KICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlbGF0aXZlUGF0aCIgdHlw +ZT0idG5zOlJlbGF0aXZlUGF0aCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXhSYW5nZSIgdHlw +ZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 +c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5 +RGF0YURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6UXVlcnlEYXRhRGVzY3JpcHRpb24iIC8+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlF1ZXJ5RGF0YURlc2NyaXB0aW9uIj4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeURhdGFEZXNjcmlwdGlv +biIgdHlwZT0idG5zOlF1ZXJ5RGF0YURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vy +cz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZRdWVyeURhdGFEZXNj +cmlwdGlvbiIgdHlwZT0idG5zOkxpc3RPZlF1ZXJ5RGF0YURlc2NyaXB0aW9uIiBuaWxsYWJsZT0i +dHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJOb2RlVHlwZURl +c2NyaXB0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJU +eXBlRGVmaW5pdGlvbk5vZGUiIHR5cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5jbHVkZVN1YlR5 +cGVzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJEYXRhVG9SZXR1cm4iIHR5cGU9InRuczpMaXN0T2ZRdWVyeURhdGFEZXNjcmlwdGlv +biIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlVHlwZURlc2NyaXB0 +aW9uIiB0eXBlPSJ0bnM6Tm9kZVR5cGVEZXNjcmlwdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iTGlzdE9mTm9kZVR5cGVEZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZVR5cGVEZXNjcmlwdGlvbiIgdHlwZT0idG5zOk5v +ZGVUeXBlRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk5vZGVUeXBlRGVzY3JpcHRpb24iIHR5cGU9InRu +czpMaXN0T2ZOb2RlVHlwZURlc2NyaXB0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50 +Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJGaWx0ZXJPcGVyYXRvciI+DQogICAgPHhzOnJl +c3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +IkVxdWFsc18wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJc051bGxfMSIgLz4N +CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iR3JlYXRlclRoYW5fMiIgLz4NCiAgICAgIDx4 +czplbnVtZXJhdGlvbiB2YWx1ZT0iTGVzc1RoYW5fMyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv +biB2YWx1ZT0iR3JlYXRlclRoYW5PckVxdWFsXzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g +dmFsdWU9Ikxlc3NUaGFuT3JFcXVhbF81IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl +PSJMaWtlXzYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vdF83IiAvPg0KICAg +ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJCZXR3ZWVuXzgiIC8+DQogICAgICA8eHM6ZW51bWVy +YXRpb24gdmFsdWU9IkluTGlzdF85IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJB +bmRfMTAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik9yXzExIiAvPg0KICAgICAg +PHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDYXN0XzEyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u +IHZhbHVlPSJJblZpZXdfMTMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik9mVHlw +ZV8xNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVsYXRlZFRvXzE1IiAvPg0K +ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJCaXR3aXNlQW5kXzE2IiAvPg0KICAgICAgPHhz +OmVudW1lcmF0aW9uIHZhbHVlPSJCaXR3aXNlT3JfMTciIC8+DQogICAgPC94czpyZXN0cmljdGlv +bj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXJPcGVyYXRv +ciIgdHlwZT0idG5zOkZpbHRlck9wZXJhdG9yIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJRdWVyeURhdGFTZXQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9Ik5vZGVJZCIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUeXBlRGVmaW5pdGlvbk5vZGUi +IHR5cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVzIiB0eXBlPSJ1YTpMaXN0T2ZWYXJpYW50 +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5RGF0YVNldCIgdHlw +ZT0idG5zOlF1ZXJ5RGF0YVNldCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m +UXVlcnlEYXRhU2V0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJRdWVyeURhdGFTZXQiIHR5cGU9InRuczpRdWVyeURhdGFTZXQiIG1pbk9jY3Vycz0iMCIgbWF4 +T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlF1ZXJ5RGF0 +YVNldCIgdHlwZT0idG5zOkxpc3RPZlF1ZXJ5RGF0YVNldCIgbmlsbGFibGU9InRydWUiPjwveHM6 +ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTm9kZVJlZmVyZW5jZSI+DQogICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpO +b2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJSZWZlcmVuY2VUeXBlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IklzRm9yd2FyZCIgdHlw +ZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +UmVmZXJlbmNlZE5vZGVJZHMiIHR5cGU9InVhOkxpc3RPZk5vZGVJZCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlUmVmZXJlbmNlIiB0eXBlPSJ0bnM6Tm9kZVJlZmVy +ZW5jZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTm9kZVJlZmVyZW5jZSI+ +DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZVJlZmVyZW5j +ZSIgdHlwZT0idG5zOk5vZGVSZWZlcmVuY2UiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJv +dW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk5vZGVSZWZlcmVuY2UiIHR5cGU9 +InRuczpMaXN0T2ZOb2RlUmVmZXJlbmNlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDb250ZW50RmlsdGVyRWxlbWVudCI+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyT3BlcmF0b3IiIHR5cGU9 +InRuczpGaWx0ZXJPcGVyYXRvciIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iRmlsdGVyT3BlcmFuZHMiIHR5cGU9InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz +OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb250ZW50RmlsdGVyRWxlbWVudCIg +dHlwZT0idG5zOkNvbnRlbnRGaWx0ZXJFbGVtZW50IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu +YW1lPSJMaXN0T2ZDb250ZW50RmlsdGVyRWxlbWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGVudEZpbHRlckVsZW1lbnQiIHR5cGU9InRuczpDb250 +ZW50RmlsdGVyRWxlbWVudCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N +CiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQ29udGVudEZpbHRlckVsZW1lbnQiIHR5cGU9InRu +czpMaXN0T2ZDb250ZW50RmlsdGVyRWxlbWVudCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVu +dD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ29udGVudEZpbHRlciI+DQogICAgPHhzOnNl +cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRWxlbWVudHMiIHR5cGU9InRuczpMaXN0 +T2ZDb250ZW50RmlsdGVyRWxlbWVudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJDb250ZW50RmlsdGVyIiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlciIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQ29udGVudEZpbHRlciI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGVudEZpbHRlciIgdHlwZT0idG5zOkNvbnRl +bnRGaWx0ZXIiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl +bGVtZW50IG5hbWU9Ikxpc3RPZkNvbnRlbnRGaWx0ZXIiIHR5cGU9InRuczpMaXN0T2ZDb250ZW50 +RmlsdGVyIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJGaWx0ZXJPcGVyYW5kIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyT3Bl +cmFuZCIgdHlwZT0idG5zOkZpbHRlck9wZXJhbmQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9IkVsZW1lbnRPcGVyYW5kIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNl +Ij4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgICAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXgiIHR5cGU9 +InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+ +DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hz +OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFbGVtZW50T3BlcmFuZCIgdHlwZT0i +dG5zOkVsZW1lbnRPcGVyYW5kIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXRlcmFs +T3BlcmFuZCI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8 +eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpGaWx0ZXJPcGVyYW5kIj4NCiAgICAgICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlIiB0eXBlPSJ1YTpWYXJpYW50 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4 +dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJMaXRlcmFsT3BlcmFuZCIgdHlwZT0idG5zOkxpdGVyYWxPcGVy +YW5kIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBdHRyaWJ1dGVPcGVyYW5kIj4NCiAg +ICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24g +YmFzZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWxpYXMi +IHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VQYXRoIiB0eXBlPSJ0bnM6UmVsYXRpdmVQYXRo +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmlu +ZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5j +ZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwv +eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkF0dHJpYnV0ZU9wZXJhbmQiIHR5 +cGU9InRuczpBdHRyaWJ1dGVPcGVyYW5kIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJT +aW1wbGVBdHRyaWJ1dGVPcGVyYW5kIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZh +bHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAg +ICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHlwZURlZmlu +aXRpb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGgiIHR5cGU9InVhOkxpc3RP +ZlF1YWxpZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iQXR0cmlidXRlSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXhSYW5nZSIg +dHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +ICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4 +Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2ltcGxl +QXR0cmlidXRlT3BlcmFuZCIgdHlwZT0idG5zOlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIC8+DQoN +CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiPg0K +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNpbXBsZUF0dHJpYnV0 +ZU9wZXJhbmQiIHR5cGU9InRuczpTaW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiBtaW5PY2N1cnM9IjAi +IG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl +bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTaW1w +bGVBdHRyaWJ1dGVPcGVyYW5kIiB0eXBlPSJ0bnM6TGlzdE9mU2ltcGxlQXR0cmlidXRlT3BlcmFu +ZCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iQ29udGVudEZpbHRlckVsZW1lbnRSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlN0YXR1c0NvZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9j +Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik9wZXJhbmRTdGF0dXNDb2RlcyIg +dHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik9wZXJhbmREaWFnbm9zdGljSW5mb3MiIHR5cGU9 +InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9IkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiB0eXBlPSJ0bnM6Q29udGVudEZpbHRl +ckVsZW1lbnRSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkNvbnRl +bnRGaWx0ZXJFbGVtZW50UmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIgdHlwZT0idG5zOkNvbnRlbnRG +aWx0ZXJFbGVtZW50UmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIg +dHlwZT0idG5zOkxpc3RPZkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiBuaWxsYWJsZT0idHJ1 +ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDb250ZW50RmlsdGVy +UmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbGVt +ZW50UmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +RWxlbWVudERpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGVudEZpbHRlclJlc3VsdCIg +dHlwZT0idG5zOkNvbnRlbnRGaWx0ZXJSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9IlBhcnNpbmdSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlN0YXR1c0NvZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTdGF0dXNDb2RlcyIgdHlwZT0idWE6TGlzdE9m +U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkRhdGFEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0 +aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlBhcnNpbmdSZXN1 +bHQiIHR5cGU9InRuczpQYXJzaW5nUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJMaXN0T2ZQYXJzaW5nUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJQYXJzaW5nUmVzdWx0IiB0eXBlPSJ0bnM6UGFyc2luZ1Jlc3VsdCIgbWluT2Nj +dXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 +czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlz +dE9mUGFyc2luZ1Jlc3VsdCIgdHlwZT0idG5zOkxpc3RPZlBhcnNpbmdSZXN1bHQiIG5pbGxhYmxl +PSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlF1ZXJ5Rmly +c3RSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS +ZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZpZXciIHR5cGU9InRuczpW +aWV3RGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJOb2RlVHlwZXMiIHR5cGU9InRuczpMaXN0T2ZOb2RlVHlwZURlc2Ny +aXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iRmlsdGVyIiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlciIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heERhdGFTZXRzVG9S +ZXR1cm4iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJNYXhSZWZlcmVuY2VzVG9SZXR1cm4iIHR5cGU9InhzOnVuc2lnbmVkSW50 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlGaXJzdFJlcXVlc3QiIHR5cGU9InRuczpRdWVy +eUZpcnN0UmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUXVlcnlGaXJzdFJl +c3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNw +b25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlEYXRhU2V0cyIgdHlw +ZT0idG5zOkxpc3RPZlF1ZXJ5RGF0YVNldCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpi +YXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJQYXJzaW5nUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZlBhcnNpbmdSZXN1 +bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmls +dGVyUmVzdWx0IiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlclJlc3VsdCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeUZpcnN0UmVzcG9uc2UiIHR5cGU9InRuczpRdWVy +eUZpcnN0UmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlF1ZXJ5TmV4dFJl +cXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVl +c3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsZWFzZUNvbnRpbnVhdGlvblBv +aW50IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJDb250aW51YXRpb25Qb2ludCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5TmV4dFJlcXVlc3QiIHR5cGU9InRu +czpRdWVyeU5leHRSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJRdWVyeU5l +eHRSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +UmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5RGF0YVNldHMi +IHR5cGU9InRuczpMaXN0T2ZRdWVyeURhdGFTZXQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkQ29udGludWF0aW9uUG9pbnQi +IHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJRdWVyeU5leHRSZXNwb25zZSIgdHlwZT0idG5zOlF1ZXJ5TmV4dFJlc3BvbnNlIiAvPg0K +DQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iPg0KICAgIDx4czpy +ZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl +PSJTb3VyY2VfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU2VydmVyXzEiIC8+ +DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJvdGhfMiIgLz4NCiAgICAgIDx4czplbnVt +ZXJhdGlvbiB2YWx1ZT0iTmVpdGhlcl8zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl +PSJJbnZhbGlkXzQiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iIHR5cGU9InRuczpUaW1l +c3RhbXBzVG9SZXR1cm4iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlYWRWYWx1ZUlk +Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5 +cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXhSYW5nZSIgdHlwZT0ieHM6 +c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iRGF0YUVuY29kaW5nIiB0eXBlPSJ1YTpRdWFsaWZpZWROYW1lIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlYWRWYWx1ZUlkIiB0eXBlPSJ0bnM6UmVhZFZh +bHVlSWQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlJlYWRWYWx1ZUlkIj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWFkVmFsdWVJZCIg +dHlwZT0idG5zOlJlYWRWYWx1ZUlkIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVk +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZSZWFkVmFsdWVJZCIgdHlwZT0idG5zOkxp +c3RPZlJlYWRWYWx1ZUlkIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJSZWFkUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIi +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJNYXhBZ2UiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiB0eXBlPSJ0bnM6VGltZXN0YW1wc1RvUmV0 +dXJuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2Rlc1RvUmVh +ZCIgdHlwZT0idG5zOkxpc3RPZlJlYWRWYWx1ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl +bGVtZW50IG5hbWU9IlJlYWRSZXF1ZXN0IiB0eXBlPSJ0bnM6UmVhZFJlcXVlc3QiIC8+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlYWRSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25z +ZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZkRhdGFWYWx1ZSIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJ +bmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iUmVhZFJlc3BvbnNlIiB0eXBlPSJ0bnM6UmVhZFJlc3BvbnNlIiAv +Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5UmVhZFZhbHVlSWQiPg0KICAgIDx4 +czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6Tm9k +ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iSW5kZXhSYW5nZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YUVuY29kaW5nIiB0eXBlPSJ1 +YTpRdWFsaWZpZWROYW1lIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9uUG9pbnQiIHR5cGU9InhzOmJhc2U2NEJpbmFy +eSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5UmVhZFZhbHVl +SWQiIHR5cGU9InRuczpIaXN0b3J5UmVhZFZhbHVlSWQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9Ikxpc3RPZkhpc3RvcnlSZWFkVmFsdWVJZCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRWYWx1ZUlkIiB0eXBlPSJ0bnM6SGlzdG9y +eVJlYWRWYWx1ZUlkIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZIaXN0b3J5UmVhZFZhbHVlSWQiIHR5cGU9InRuczpMaXN0 +T2ZIaXN0b3J5UmVhZFZhbHVlSWQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlSZWFkUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVu +Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXND +b2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250aW51YXRp +b25Qb2ludCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeURhdGEiIHR5cGU9InVhOkV4 +dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0 +b3J5UmVhZFJlc3VsdCIgdHlwZT0idG5zOkhpc3RvcnlSZWFkUmVzdWx0IiAvPg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZIaXN0b3J5UmVhZFJlc3VsdCI+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRSZXN1bHQiIHR5cGU9InRu +czpIaXN0b3J5UmVhZFJlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mSGlzdG9yeVJlYWRSZXN1bHQiIHR5cGU9InRu +czpMaXN0T2ZIaXN0b3J5UmVhZFJlc3VsdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWREZXRhaWxzIiB0eXBlPSJ0bnM6SGlzdG9yeVJlYWRE +ZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWFkRXZlbnREZXRhaWxzIj4N +CiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNp +b24gYmFzZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOdW1WYWx1ZXNQZXJOb2RlIiB0eXBlPSJ4czp1 +bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlN0YXJ0VGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJz +PSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlciIgdHlwZT0idG5zOkV2 +ZW50RmlsdGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hz +OnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVu +dD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZEV2ZW50RGV0 +YWlscyIgdHlwZT0idG5zOlJlYWRFdmVudERldGFpbHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9IlJlYWRSYXdNb2RpZmllZERldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBt +aXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVJlYWRE +ZXRhaWxzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h +bWU9IklzUmVhZE1vZGlmaWVkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhcnRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZFRpbWUiIHR5 +cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iTnVtVmFsdWVzUGVyTm9kZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i +MCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXR1cm5Cb3VuZHMiIHR5cGU9Inhz +OmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAg +IDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlYWRSYXdNb2RpZmllZERldGFpbHMiIHR5cGU9 +InRuczpSZWFkUmF3TW9kaWZpZWREZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJSZWFkUHJvY2Vzc2VkRGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJm +YWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5UmVhZERldGFpbHMi +Pg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Rh +cnRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4 +czplbGVtZW50IG5hbWU9IkVuZFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAi +IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJvY2Vzc2luZ0ludGVydmFsIiB0eXBl +PSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJBZ2dyZWdhdGVUeXBlIiB0eXBlPSJ1YTpMaXN0T2ZOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWdncmVnYXRlQ29u +ZmlndXJhdGlvbiIgdHlwZT0idG5zOkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hz +OmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWFkUHJvY2Vzc2VkRGV0YWlscyIgdHlwZT0idG5zOlJl +YWRQcm9jZXNzZWREZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWFkQXRU +aW1lRGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAg +ICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5UmVhZERldGFpbHMiPg0KICAgICAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxVGltZXMiIHR5cGU9 +InVhOkxpc3RPZkRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZVNpbXBsZUJvdW5kcyIgdHlwZT0ieHM6Ym9vbGVh +biIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpl +eHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4N +CiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZEF0VGltZURldGFpbHMiIHR5cGU9InRuczpSZWFkQXRU +aW1lRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeURhdGEiPg0K +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFWYWx1ZXMiIHR5 +cGU9InVhOkxpc3RPZkRhdGFWYWx1ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJIaXN0b3J5RGF0YSIgdHlwZT0idG5zOkhpc3RvcnlEYXRhIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJNb2RpZmljYXRpb25JbmZvIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZmljYXRpb25UaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXBkYXRlVHlwZSIgdHlw +ZT0idG5zOkhpc3RvcnlVcGRhdGVUeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJVc2VyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9Ik1vZGlmaWNhdGlvbkluZm8iIHR5cGU9InRuczpNb2RpZmljYXRp +b25JbmZvIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb2RpZmljYXRpb25J +bmZvIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZmlj +YXRpb25JbmZvIiB0eXBlPSJ0bnM6TW9kaWZpY2F0aW9uSW5mbyIgbWluT2NjdXJzPSIwIiBtYXhP +Y2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTW9kaWZpY2F0 +aW9uSW5mbyIgdHlwZT0idG5zOkxpc3RPZk1vZGlmaWNhdGlvbkluZm8iIG5pbGxhYmxlPSJ0cnVl +Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlNb2RpZmll +ZERhdGEiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhz +OmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeURhdGEiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+ +DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZpY2F0aW9uSW5mb3MiIHR5cGU9InRu +czpMaXN0T2ZNb2RpZmljYXRpb25JbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94 +czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iSGlzdG9yeU1vZGlmaWVkRGF0YSIgdHlwZT0idG5zOkhpc3RvcnlNb2RpZmllZERhdGEiIC8+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlFdmVudCI+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnRzIiB0eXBlPSJ0bnM6TGlzdE9mSGlz +dG9yeUV2ZW50RmllbGRMaXN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +Ikhpc3RvcnlFdmVudCIgdHlwZT0idG5zOkhpc3RvcnlFdmVudCIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iSGlzdG9yeVJlYWRSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRl +ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9Ikhpc3RvcnlSZWFkRGV0YWlscyIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0 +YW1wc1RvUmV0dXJuIiB0eXBlPSJ0bnM6VGltZXN0YW1wc1RvUmV0dXJuIiBtaW5PY2N1cnM9IjAi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWxlYXNlQ29udGludWF0aW9uUG9pbnRzIiB0 +eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJOb2Rlc1RvUmVhZCIgdHlwZT0idG5zOkxpc3RPZkhpc3RvcnlSZWFkVmFsdWVJZCIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5UmVhZFJlcXVlc3QiIHR5cGU9 +InRuczpIaXN0b3J5UmVhZFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhp +c3RvcnlSZWFkUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRz +IiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeVJlYWRSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5 +cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9Ikhpc3RvcnlSZWFkUmVzcG9uc2UiIHR5cGU9InRuczpIaXN0b3J5UmVhZFJlc3Bv +bnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJXcml0ZVZhbHVlIj4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5vZGVJ +ZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXhSYW5nZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFs +dWUiIHR5cGU9InVhOkRhdGFWYWx1ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJXcml0ZVZhbHVlIiB0eXBlPSJ0bnM6V3JpdGVWYWx1ZSIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iTGlzdE9mV3JpdGVWYWx1ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVWYWx1ZSIgdHlwZT0idG5zOldyaXRlVmFsdWUiIG1pbk9j +Y3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxp +c3RPZldyaXRlVmFsdWUiIHR5cGU9InRuczpMaXN0T2ZXcml0ZVZhbHVlIiBuaWxsYWJsZT0idHJ1 +ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJXcml0ZVJlcXVlc3Qi +Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFk +ZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb1dyaXRlIiB0eXBlPSJ0bnM6TGlz +dE9mV3JpdGVWYWx1ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJXcml0 +ZVJlcXVlc3QiIHR5cGU9InRuczpXcml0ZVJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9IldyaXRlUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1 +bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1 +YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJXcml0ZVJlc3BvbnNlIiB0eXBlPSJ0bnM6V3JpdGVSZXNwb25zZSIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlVcGRhdGVEZXRhaWxzIiB0 +eXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5h +bWU9Ikhpc3RvcnlVcGRhdGVUeXBlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3Ry +aW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW5zZXJ0XzEiIC8+DQogICAgICA8 +eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlcGxhY2VfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv +biB2YWx1ZT0iVXBkYXRlXzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRlbGV0 +ZV80IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iSGlzdG9yeVVwZGF0ZVR5cGUiIHR5cGU9InRuczpIaXN0b3J5VXBkYXRl +VHlwZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iUGVyZm9ybVVwZGF0ZVR5cGUiPg0K +ICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0 +aW9uIHZhbHVlPSJJbnNlcnRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVw +bGFjZV8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVcGRhdGVfMyIgLz4NCiAg +ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVtb3ZlXzQiIC8+DQogICAgPC94czpyZXN0cmlj +dGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJQZXJmb3JtVXBk +YXRlVHlwZSIgdHlwZT0idG5zOlBlcmZvcm1VcGRhdGVUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJVcGRhdGVEYXRhRGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1p +eGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5VXBkYXRl +RGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJQZXJmb3JtSW5zZXJ0UmVwbGFjZSIgdHlwZT0idG5zOlBlcmZvcm1VcGRhdGVUeXBlIiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXBkYXRlVmFsdWVz +IiB0eXBlPSJ1YTpMaXN0T2ZEYXRhVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8 +L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJVcGRhdGVEYXRhRGV0YWlscyIgdHlwZT0idG5zOlVwZGF0ZURhdGFEZXRhaWxzIiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJVcGRhdGVTdHJ1Y3R1cmVEYXRhRGV0YWlscyI+DQog +ICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9u +IGJhc2U9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQZXJmb3JtSW5zZXJ0UmVwbGFjZSIgdHlwZT0i +dG5zOlBlcmZvcm1VcGRhdGVUeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iVXBkYXRlVmFsdWVzIiB0eXBlPSJ1YTpMaXN0T2ZEYXRhVmFsdWUiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAg +ICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVcGRhdGVTdHJ1Y3R1cmVEYXRhRGV0YWlscyIg +dHlwZT0idG5zOlVwZGF0ZVN0cnVjdHVyZURhdGFEZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJVcGRhdGVFdmVudERldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBt +aXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVVwZGF0 +ZURldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iUGVyZm9ybUluc2VydFJlcGxhY2UiIHR5cGU9InRuczpQZXJmb3JtVXBkYXRlVHlwZSIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlciIgdHlw +ZT0idG5zOkV2ZW50RmlsdGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50RGF0YSIgdHlwZT0idG5zOkxpc3RPZkhpc3Rv +cnlFdmVudEZpZWxkTGlzdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +ICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxl +eENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVwZGF0 +ZUV2ZW50RGV0YWlscyIgdHlwZT0idG5zOlVwZGF0ZUV2ZW50RGV0YWlscyIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlUmF3TW9kaWZpZWREZXRhaWxzIj4NCiAgICA8eHM6Y29t +cGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5z +Okhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAg +IDx4czplbGVtZW50IG5hbWU9IklzRGVsZXRlTW9kaWZpZWQiIHR5cGU9InhzOmJvb2xlYW4iIG1p +bk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFydFRpbWUiIHR5 +cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iRW5kVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg +ICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxl +eENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0 +ZVJhd01vZGlmaWVkRGV0YWlscyIgdHlwZT0idG5zOkRlbGV0ZVJhd01vZGlmaWVkRGV0YWlscyIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlQXRUaW1lRGV0YWlscyI+DQogICAg +PHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJh +c2U9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXFUaW1lcyIgdHlwZT0idWE6TGlzdE9mRGF0ZVRp +bWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVu +Y2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVBdFRpbWVEZXRhaWxz +IiB0eXBlPSJ0bnM6RGVsZXRlQXRUaW1lRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iRGVsZXRlRXZlbnREZXRhaWxzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9 +ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRh +aWxzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkV2ZW50SWRzIiB0eXBlPSJ1YTpMaXN0T2ZCeXRlU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNp +b24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iRGVsZXRlRXZlbnREZXRhaWxzIiB0eXBlPSJ0bnM6RGVsZXRlRXZlbnRE +ZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5VXBkYXRlUmVzdWx0 +Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2Rl +IiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJPcGVyYXRpb25SZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlh +Z25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5VXBkYXRlUmVzdWx0IiB0eXBlPSJ0bnM6 +SGlzdG9yeVVwZGF0ZVJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m +SGlzdG9yeVVwZGF0ZVJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3VsdCIgdHlwZT0idG5zOkhpc3RvcnlVcGRhdGVSZXN1 +bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9Ikxpc3RPZkhpc3RvcnlVcGRhdGVSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZIaXN0b3J5 +VXBkYXRlUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJIaXN0b3J5VXBkYXRlUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RI +ZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJIaXN0b3J5VXBkYXRlRGV0YWlscyIgdHlwZT0idWE6TGlzdE9mRXh0ZW5zaW9uT2Jq +ZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlVcGRhdGVS +ZXF1ZXN0IiB0eXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZVJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9Ikhpc3RvcnlVcGRhdGVSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25z +ZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZIaXN0b3J5VXBkYXRlUmVzdWx0IiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +RGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5VXBkYXRlUmVzcG9uc2UiIHR5cGU9 +InRuczpIaXN0b3J5VXBkYXRlUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +IkNhbGxNZXRob2RSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJPYmplY3RJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWV0aG9kSWQiIHR5cGU9InVhOk5v +ZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IklucHV0QXJndW1lbnRzIiB0eXBlPSJ1YTpMaXN0T2ZWYXJpYW50IiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNhbGxNZXRob2RSZXF1ZXN0IiB0eXBlPSJ0bnM6 +Q2FsbE1ldGhvZFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkNh +bGxNZXRob2RSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJDYWxsTWV0aG9kUmVxdWVzdCIgdHlwZT0idG5zOkNhbGxNZXRob2RSZXF1ZXN0IiBtaW5P +Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM +aXN0T2ZDYWxsTWV0aG9kUmVxdWVzdCIgdHlwZT0idG5zOkxpc3RPZkNhbGxNZXRob2RSZXF1ZXN0 +IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJDYWxsTWV0aG9kUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbnB1dEFyZ3VtZW50UmVzdWx0cyIgdHlwZT0idWE6 +TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IklucHV0QXJndW1lbnREaWFnbm9zdGljSW5mb3MiIHR5cGU9InVh +Okxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT3V0cHV0QXJndW1lbnRzIiB0eXBlPSJ1YTpMaXN0T2ZW +YXJpYW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNhbGxNZXRob2RS +ZXN1bHQiIHR5cGU9InRuczpDYWxsTWV0aG9kUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJMaXN0T2ZDYWxsTWV0aG9kUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJDYWxsTWV0aG9kUmVzdWx0IiB0eXBlPSJ0bnM6Q2FsbE1ldGhv +ZFJlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iTGlzdE9mQ2FsbE1ldGhvZFJlc3VsdCIgdHlwZT0idG5zOkxpc3RPZkNhbGxN +ZXRob2RSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9IkNhbGxSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1l +dGhvZHNUb0NhbGwiIHR5cGU9InRuczpMaXN0T2ZDYWxsTWV0aG9kUmVxdWVzdCIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDYWxsUmVxdWVzdCIgdHlwZT0idG5zOkNhbGxS +ZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDYWxsUmVzcG9uc2UiPg0KICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0 +eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ0bnM6TGlzdE9mQ2FsbE1l +dGhvZFJlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0lu +Zm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ2FsbFJlc3BvbnNlIiB0 +eXBlPSJ0bnM6Q2FsbFJlc3BvbnNlIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJNb25p +dG9yaW5nTW9kZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAg +ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRpc2FibGVkXzAiIC8+DQogICAgICA8eHM6ZW51bWVy +YXRpb24gdmFsdWU9IlNhbXBsaW5nXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +IlJlcG9ydGluZ18yIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ01vZGUiIHR5cGU9InRuczpNb25pdG9y +aW5nTW9kZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iRGF0YUNoYW5nZVRyaWdnZXIi +Pg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1l +cmF0aW9uIHZhbHVlPSJTdGF0dXNfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i +U3RhdHVzVmFsdWVfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU3RhdHVzVmFs +dWVUaW1lc3RhbXBfMiIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRhdGFDaGFuZ2VUcmlnZ2VyIiB0eXBlPSJ0bnM6RGF0 +YUNoYW5nZVRyaWdnZXIiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkRlYWRiYW5kVHlw +ZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51 +bWVyYXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i +QWJzb2x1dGVfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudF8yIiAv +Pg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iRGVhZGJhbmRUeXBlIiB0eXBlPSJ0bnM6RGVhZGJhbmRUeXBlIiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJNb25pdG9yaW5nRmlsdGVyIj4NCiAgICA8eHM6c2VxdWVuY2U+ +DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg +bmFtZT0iTW9uaXRvcmluZ0ZpbHRlciIgdHlwZT0idG5zOk1vbml0b3JpbmdGaWx0ZXIiIC8+DQoN +CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFDaGFuZ2VGaWx0ZXIiPg0KICAgIDx4czpjb21w +bGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6 +TW9uaXRvcmluZ0ZpbHRlciI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJUcmlnZ2VyIiB0eXBlPSJ0bnM6RGF0YUNoYW5nZVRyaWdnZXIiIG1pbk9j +Y3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWFkYmFuZFR5cGUiIHR5 +cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iRGVhZGJhbmRWYWx1ZSIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hz +OmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJEYXRhQ2hhbmdlRmlsdGVyIiB0eXBlPSJ0bnM6RGF0YUNoYW5nZUZpbHRlciIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iRXZlbnRGaWx0ZXIiPg0KICAgIDx4czpjb21wbGV4Q29udGVu +dCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6TW9uaXRvcmlu +Z0ZpbHRlciI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJTZWxlY3RDbGF1c2VzIiB0eXBlPSJ0bnM6TGlzdE9mU2ltcGxlQXR0cmlidXRlT3BlcmFu +ZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJXaGVyZUNsYXVzZSIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXIiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hz +OmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudEZpbHRlciIgdHlwZT0idG5zOkV2ZW50RmlsdGVy +IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZ2dyZWdhdGVDb25maWd1cmF0aW9uIj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VTZXJ2ZXJDYXBh +YmlsaXRpZXNEZWZhdWx0cyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJlYXRVbmNlcnRhaW5Bc0JhZCIgdHlwZT0ieHM6Ym9vbGVh +biIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUGVyY2VudERhdGFC +YWQiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iUGVyY2VudERhdGFHb29kIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9j +Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZVNsb3BlZEV4dHJhcG9sYXRp +b24iIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNl +Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBZ2dyZWdhdGVDb25m +aWd1cmF0aW9uIiB0eXBlPSJ0bnM6QWdncmVnYXRlQ29uZmlndXJhdGlvbiIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iQWdncmVnYXRlRmlsdGVyIj4NCiAgICA8eHM6Y29tcGxleENvbnRl +bnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk1vbml0b3Jp +bmdGaWx0ZXIiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iU3RhcnRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFnZ3JlZ2F0ZVR5cGUiIHR5cGU9InVhOk5vZGVJZCIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJQcm9jZXNzaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIHR5 +cGU9InRuczpBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQog +ICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iQWdncmVnYXRlRmlsdGVyIiB0eXBlPSJ0bnM6QWdncmVnYXRlRmlsdGVyIiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb25pdG9yaW5nRmlsdGVyUmVzdWx0Ij4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ0ZpbHRlclJlc3VsdCIgdHlwZT0idG5zOk1vbml0 +b3JpbmdGaWx0ZXJSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkV2ZW50Rmls +dGVyUmVzdWx0Ij4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAg +IDx4czpleHRlbnNpb24gYmFzZT0idG5zOk1vbml0b3JpbmdGaWx0ZXJSZXN1bHQiPg0KICAgICAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VsZWN0Q2xhdXNl +UmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWxlY3RDbGF1c2VEaWFn +bm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IldoZXJlQ2xh +dXNlUmVzdWx0IiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlclJlc3VsdCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0 +ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9IkV2ZW50RmlsdGVyUmVzdWx0IiB0eXBlPSJ0bnM6RXZlbnRGaWx0 +ZXJSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFnZ3JlZ2F0ZUZpbHRlclJl +c3VsdCI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6 +ZXh0ZW5zaW9uIGJhc2U9InRuczpNb25pdG9yaW5nRmlsdGVyUmVzdWx0Ij4NCiAgICAgICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRTdGFydFRpbWUi +IHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUmV2aXNlZFByb2Nlc3NpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZEFnZ3JlZ2F0 +ZUNvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAg +PC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWdncmVnYXRlRmlsdGVyUmVzdWx0IiB0eXBlPSJ0 +bnM6QWdncmVnYXRlRmlsdGVyUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJN +b25pdG9yaW5nUGFyYW1ldGVycyI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iQ2xpZW50SGFuZGxlIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2FtcGxpbmdJbnRlcnZhbCIgdHlwZT0ieHM6 +ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXIi +IHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXVlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJ +bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2NhcmRPbGRl +c3QiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNl +Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yaW5nUGFy +YW1ldGVycyIgdHlwZT0idG5zOk1vbml0b3JpbmdQYXJhbWV0ZXJzIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCI+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXRlbVRvTW9uaXRvciIgdHlwZT0idG5zOlJl +YWRWYWx1ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iTW9uaXRvcmluZ01vZGUiIHR5cGU9InRuczpNb25pdG9yaW5nTW9kZSIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkUGFyYW1ldGVy +cyIgdHlwZT0idG5zOk1vbml0b3JpbmdQYXJhbWV0ZXJzIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0IiB0eXBlPSJ0bnM6TW9u +aXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxp +c3RPZk1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIgdHlwZT0idG5z +Ok1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5i +b3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVtQ3JlYXRl +UmVxdWVzdCIgdHlwZT0idG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0IiBuaWxs +YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb25p +dG9yZWRJdGVtQ3JlYXRlUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtSWQiIHR5cGU9InhzOnVu +c2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZp +c2VkU2FtcGxpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkUXVldWVTaXplIiB0eXBlPSJ4czp1bnNpZ25l +ZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyUmVz +dWx0IiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUNyZWF0ZVJlc3VsdCIgdHlwZT0idG5zOk1vbml0b3Jl +ZEl0ZW1DcmVhdGVSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk1v +bml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIHR5cGU9InRuczpNb25pdG9y +ZWRJdGVtQ3JlYXRlUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0IiB0 +eXBlPSJ0bnM6TGlzdE9mTW9uaXRvcmVkSXRlbUNyZWF0ZVJlc3VsdCIgbmlsbGFibGU9InRydWUi +PjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ3JlYXRlTW9uaXRvcmVk +SXRlbXNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklk +IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiB0eXBlPSJ0bnM6VGltZXN0YW1wc1RvUmV0dXJu +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJdGVtc1RvQ3JlYXRl +IiB0eXBlPSJ0bnM6TGlzdE9mTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ3JlYXRlTW9uaXRvcmVkSXRlbXNSZXF1ZXN0IiB0 +eXBlPSJ0bnM6Q3JlYXRlTW9uaXRvcmVkSXRlbXNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJDcmVhdGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVu +Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJl +c3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1DcmVh +dGVSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZv +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0 +ZW1zUmVzcG9uc2UiIHR5cGU9InRuczpDcmVhdGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCI+DQog +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUlk +IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUmVxdWVzdGVkUGFyYW1ldGVycyIgdHlwZT0idG5zOk1vbml0b3JpbmdQYXJhbWV0 +ZXJzIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1N +b2RpZnlSZXF1ZXN0IiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVlc3QiIC8+DQoN +CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0 +Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJ +dGVtTW9kaWZ5UmVxdWVzdCIgdHlwZT0idG5zOk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiBt +aW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJMaXN0T2ZNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCIgdHlwZT0idG5zOkxpc3RPZk1vbml0 +b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0Ij4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1 +YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS +ZXZpc2VkU2FtcGxpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkUXVldWVTaXplIiB0eXBlPSJ4czp1bnNp +Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVy +UmVzdWx0IiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCIgdHlwZT0idG5zOk1vbml0 +b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RP +Zk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIHR5cGU9InRuczpNb25p +dG9yZWRJdGVtTW9kaWZ5UmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVk +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0 +IiB0eXBlPSJ0bnM6TGlzdE9mTW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCIgbmlsbGFibGU9InRy +dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9kaWZ5TW9uaXRv +cmVkSXRlbXNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlv +bklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiB0eXBlPSJ0bnM6VGltZXN0YW1wc1RvUmV0 +dXJuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJdGVtc1RvTW9k +aWZ5IiB0eXBlPSJ0bnM6TGlzdE9mTW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVlc3QiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w +bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXF1ZXN0 +IiB0eXBlPSJ0bnM6TW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJNb2RpZnlNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5z +OlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1N +b2RpZnlSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJ +bmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmeU1vbml0b3Jl +ZEl0ZW1zUmVzcG9uc2UiIHR5cGU9InRuczpNb2RpZnlNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiAv +Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXRNb25pdG9yaW5nTW9kZVJlcXVlc3QiPg0K +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIi +IHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9InhzOnVuc2ln +bmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9y +aW5nTW9kZSIgdHlwZT0idG5zOk1vbml0b3JpbmdNb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtSWRzIiB0eXBlPSJ1YTpMaXN0T2ZVSW50 +MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0TW9uaXRvcmluZ01v +ZGVSZXF1ZXN0IiB0eXBlPSJ0bnM6U2V0TW9uaXRvcmluZ01vZGVSZXF1ZXN0IiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJTZXRNb25pdG9yaW5nTW9kZVJlc3BvbnNlIj4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0i +dG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w +bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0TW9uaXRvcmluZ01vZGVSZXNwb25zZSIg +dHlwZT0idG5zOlNldE1vbml0b3JpbmdNb2RlUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9IlNldFRyaWdnZXJpbmdSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRl +ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJpZ2dlcmluZ0l0ZW1JZCIgdHlwZT0ieHM6dW5z +aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxpbmtz +VG9BZGQiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkxpbmtzVG9SZW1vdmUiIHR5cGU9InVhOkxp +c3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl +cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRUcmln +Z2VyaW5nUmVxdWVzdCIgdHlwZT0idG5zOlNldFRyaWdnZXJpbmdSZXF1ZXN0IiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJTZXRUcmlnZ2VyaW5nUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6 +UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJBZGRSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +QWRkRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlbW92 +ZVJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZW1vdmVEaWFnbm9zdGljSW5m +b3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9IlNldFRyaWdnZXJpbmdSZXNwb25zZSIgdHlwZT0idG5zOlNldFRyaWdn +ZXJpbmdSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlTW9uaXRv +cmVkSXRlbXNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlv +bklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUlkcyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVx +dWVzdCIgdHlwZT0idG5zOkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSI+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9 +InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUi +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVzcG9u +c2UiIHR5cGU9InRuczpEZWxldGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJDcmVhdGVTdWJzY3JpcHRpb25SZXF1ZXN0Ij4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6 +UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91 +YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWRM +aWZldGltZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnQiIHR5cGU9Inhz +OnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJN +YXhOb3RpZmljYXRpb25zUGVyUHVibGlzaCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vy +cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hpbmdFbmFibGVkIiB0eXBl +PSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQ +cmlvcml0eSIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94 +czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ3Jl +YXRlU3Vic2NyaXB0aW9uUmVxdWVzdCIgdHlwZT0idG5zOkNyZWF0ZVN1YnNjcmlwdGlvblJlcXVl +c3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNyZWF0ZVN1YnNjcmlwdGlvblJlc3Bv +bnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25z +ZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9 +InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJSZXZpc2VkUHVibGlzaGluZ0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0i +MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRMaWZldGltZUNvdW50IiB0eXBl +PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iUmV2aXNlZE1heEtlZXBBbGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9IkNyZWF0ZVN1YnNjcmlwdGlvblJlc3BvbnNlIiB0eXBlPSJ0bnM6Q3Jl +YXRlU3Vic2NyaXB0aW9uUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1v +ZGlmeVN1YnNjcmlwdGlvblJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vi +c2NyaXB0aW9uSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWwiIHR5cGU9Inhz +OmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVz +dGVkTGlmZXRpbWVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50IiB0eXBl +PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iTWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2giIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQcmlvcml0eSIgdHlwZT0ieHM6 +dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZ5U3Vic2NyaXB0aW9uUmVx +dWVzdCIgdHlwZT0idG5zOk1vZGlmeVN1YnNjcmlwdGlvblJlcXVlc3QiIC8+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvblJlc3BvbnNlIj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5z +OlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFB1Ymxpc2hpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91 +YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkTGlm +ZXRpbWVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRNYXhLZWVwQWxpdmVDb3VudCIgdHlwZT0ieHM6dW5z +aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZnlTdWJzY3JpcHRpb25SZXNwb25z +ZSIgdHlwZT0idG5zOk1vZGlmeVN1YnNjcmlwdGlvblJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJTZXRQdWJsaXNoaW5nTW9kZVJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1 +ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iUHVibGlzaGluZ0VuYWJsZWQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vy +cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkcyIgdHlwZT0i +dWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNl +dFB1Ymxpc2hpbmdNb2RlUmVxdWVzdCIgdHlwZT0idG5zOlNldFB1Ymxpc2hpbmdNb2RlUmVxdWVz +dCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2V0UHVibGlzaGluZ01vZGVSZXNwb25z +ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VI +ZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RP +ZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJ +bmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNldFB1Ymxpc2hpbmdN +b2RlUmVzcG9uc2UiIHR5cGU9InRuczpTZXRQdWJsaXNoaW5nTW9kZVJlc3BvbnNlIiAvPg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJOb3RpZmljYXRpb25NZXNzYWdlIj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXF1ZW5jZU51bWJlciIgdHlwZT0ieHM6 +dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1 +Ymxpc2hUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iTm90aWZpY2F0aW9uRGF0YSIgdHlwZT0idWE6TGlzdE9mRXh0ZW5zaW9u +T2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik5vdGlmaWNhdGlv +bk1lc3NhZ2UiIHR5cGU9InRuczpOb3RpZmljYXRpb25NZXNzYWdlIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJOb3RpZmljYXRpb25EYXRhIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +Tm90aWZpY2F0aW9uRGF0YSIgdHlwZT0idG5zOk5vdGlmaWNhdGlvbkRhdGEiIC8+DQoNCiAgPHhz +OmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFDaGFuZ2VOb3RpZmljYXRpb24iPg0KICAgIDx4czpjb21w +bGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6 +Tm90aWZpY2F0aW9uRGF0YSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtcyIgdHlwZT0idG5zOkxpc3RPZk1vbml0b3JlZEl0 +ZW1Ob3RpZmljYXRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFn +bm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94 +czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRl +bnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRhdGFDaGFuZ2VO +b3RpZmljYXRpb24iIHR5cGU9InRuczpEYXRhQ2hhbmdlTm90aWZpY2F0aW9uIiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJNb25pdG9yZWRJdGVtTm90aWZpY2F0aW9uIj4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRIYW5kbGUiIHR5cGU9Inhz +OnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJW +YWx1ZSIgdHlwZT0idWE6RGF0YVZhbHVlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9Ik1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iIHR5cGU9InRuczpNb25pdG9yZWRJdGVt +Tm90aWZpY2F0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb25pdG9y +ZWRJdGVtTm90aWZpY2F0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJNb25pdG9yZWRJdGVtTm90aWZpY2F0aW9uIiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRl +bU5vdGlmaWNhdGlvbiIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiIgdHlwZT0i +dG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hz +OmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkV2ZW50Tm90aWZpY2F0aW9uTGlz +dCI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0 +ZW5zaW9uIGJhc2U9InRuczpOb3RpZmljYXRpb25EYXRhIj4NCiAgICAgICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50cyIgdHlwZT0idG5zOkxpc3RPZkV2 +ZW50RmllbGRMaXN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8 +L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29u +dGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnROb3Rp +ZmljYXRpb25MaXN0IiB0eXBlPSJ0bnM6RXZlbnROb3RpZmljYXRpb25MaXN0IiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJFdmVudEZpZWxkTGlzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50SGFuZGxlIiB0eXBlPSJ4czp1bnNpZ25lZElu +dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnRGaWVsZHMi +IHR5cGU9InVhOkxpc3RPZlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg +bmFtZT0iRXZlbnRGaWVsZExpc3QiIHR5cGU9InRuczpFdmVudEZpZWxkTGlzdCIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRXZlbnRGaWVsZExpc3QiPg0KICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50RmllbGRMaXN0IiB0eXBlPSJ0bnM6 +RXZlbnRGaWVsZExpc3QiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkV2ZW50RmllbGRMaXN0IiB0eXBlPSJ0bnM6TGlzdE9m +RXZlbnRGaWVsZExpc3QiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlFdmVudEZpZWxkTGlzdCI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnRGaWVsZHMiIHR5cGU9InVhOkxpc3RPZlZh +cmlhbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j +ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeUV2ZW50 +RmllbGRMaXN0IiB0eXBlPSJ0bnM6SGlzdG9yeUV2ZW50RmllbGRMaXN0IiAvPg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZIaXN0b3J5RXZlbnRGaWVsZExpc3QiPg0KICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlFdmVudEZpZWxkTGlzdCIg +dHlwZT0idG5zOkhpc3RvcnlFdmVudEZpZWxkTGlzdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9 +InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mSGlzdG9yeUV2ZW50Rmll +bGRMaXN0IiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeUV2ZW50RmllbGRMaXN0IiBuaWxsYWJsZT0i +dHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTdGF0dXNDaGFu +Z2VOb3RpZmljYXRpb24iPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0K +ICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm90aWZpY2F0aW9uRGF0YSI+DQogICAgICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXMiIHR5cGU9 +InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJEaWFnbm9zdGljSW5mbyIgdHlwZT0idWE6RGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hz +OmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDaGFuZ2VOb3RpZmljYXRpb24iIHR5cGU9InRu +czpTdGF0dXNDaGFuZ2VOb3RpZmljYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +IlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXF1ZW5jZU51bWJlciIg +dHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNl +Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25B +Y2tub3dsZWRnZW1lbnQiIHR5cGU9InRuczpTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiIC8+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlN1YnNjcmlwdGlvbkFja25vd2xlZGdl +bWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2Ny +aXB0aW9uQWNrbm93bGVkZ2VtZW50IiB0eXBlPSJ0bnM6U3Vic2NyaXB0aW9uQWNrbm93bGVkZ2Vt +ZW50IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJMaXN0T2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiIHR5cGU9InRuczpMaXN0 +T2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1l +bnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlB1Ymxpc2hSZXF1ZXN0Ij4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0 +bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudHMiIHR5cGU9InRu +czpMaXN0T2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaFJlcXVlc3QiIHR5cGU9InRuczpQdWJsaXNoUmVxdWVz +dCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUHVibGlzaFJlc3BvbnNlIj4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlw +ZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9InhzOnVuc2lnbmVk +SW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdmFpbGFibGVT +ZXF1ZW5jZU51bWJlcnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vcmVOb3RpZmljYXRpb25z +IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJOb3RpZmljYXRpb25NZXNzYWdlIiB0eXBlPSJ0bnM6Tm90aWZpY2F0aW9uTWVzc2FnZSIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5 +cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9IlB1Ymxpc2hSZXNwb25zZSIgdHlwZT0idG5zOlB1Ymxpc2hSZXNwb25zZSIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVwdWJsaXNoUmVxdWVzdCI+DQogICAgPHhzOnNl +cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5z +OlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1p +bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldHJhbnNtaXRTZXF1ZW5j +ZU51bWJlciIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZXB1 +Ymxpc2hSZXF1ZXN0IiB0eXBlPSJ0bnM6UmVwdWJsaXNoUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iUmVwdWJsaXNoUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VI +ZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJOb3RpZmljYXRpb25NZXNzYWdlIiB0eXBlPSJ0bnM6Tm90aWZpY2F0aW9uTWVzc2Fn +ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZXB1Ymxpc2hSZXNwb25z +ZSIgdHlwZT0idG5zOlJlcHVibGlzaFJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu +YW1lPSJUcmFuc2ZlclJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXZhaWxhYmxlU2VxdWVuY2VOdW1iZXJzIiB0eXBl +PSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +VHJhbnNmZXJSZXN1bHQiIHR5cGU9InRuczpUcmFuc2ZlclJlc3VsdCIgLz4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iTGlzdE9mVHJhbnNmZXJSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zZmVyUmVzdWx0IiB0eXBlPSJ0bnM6VHJhbnNm +ZXJSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl +bGVtZW50IG5hbWU9Ikxpc3RPZlRyYW5zZmVyUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mVHJhbnNm +ZXJSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9IlRyYW5zZmVyU3Vic2NyaXB0aW9uc1JlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1 +ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWRzIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZW5k +SW5pdGlhbFZhbHVlcyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRy +YW5zZmVyU3Vic2NyaXB0aW9uc1JlcXVlc3QiIHR5cGU9InRuczpUcmFuc2ZlclN1YnNjcmlwdGlv +bnNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJUcmFuc2ZlclN1YnNjcmlw +dGlvbnNSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5 +cGU9InRuczpMaXN0T2ZUcmFuc2ZlclJlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6 +TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iVHJhbnNmZXJTdWJzY3JpcHRpb25zUmVzcG9uc2UiIHR5cGU9InRuczpUcmFuc2ZlclN1YnNj +cmlwdGlvbnNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlU3Vi +c2NyaXB0aW9uc1JlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0 +aW9uSWRzIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iRGVsZXRlU3Vic2NyaXB0aW9uc1JlcXVlc3QiIHR5cGU9InRuczpEZWxldGVT +dWJzY3JpcHRpb25zUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRl +U3Vic2NyaXB0aW9uc1Jlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVz +dWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0i +dWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg +bmFtZT0iRGVsZXRlU3Vic2NyaXB0aW9uc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6RGVsZXRlU3Vic2Ny +aXB0aW9uc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCdWlsZEluZm8i +Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlByb2R1Y3RVcmki +IHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9Ik1hbnVmYWN0dXJlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBy +b2R1Y3ROYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTb2Z0d2FyZVZlcnNpb24iIHR5cGU9InhzOnN0 +cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkJ1aWxkTnVtYmVyIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCdWlsZERhdGUiIHR5cGU9Inhz +OmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj +b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnVpbGRJbmZvIiB0eXBlPSJ0bnM6QnVp +bGRJbmZvIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJSZWR1bmRhbmN5U3VwcG9ydCI+ +DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVy +YXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ29s +ZF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJXYXJtXzIiIC8+DQogICAgICA8 +eHM6ZW51bWVyYXRpb24gdmFsdWU9IkhvdF8zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh +bHVlPSJUcmFuc3BhcmVudF80IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJIb3RB +bmRNaXJyb3JlZF81IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVkdW5kYW5jeVN1cHBvcnQiIHR5cGU9InRuczpSZWR1 +bmRhbmN5U3VwcG9ydCIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iU2VydmVyU3RhdGUi +Pg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1l +cmF0aW9uIHZhbHVlPSJSdW5uaW5nXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +IkZhaWxlZF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb0NvbmZpZ3VyYXRp +b25fMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU3VzcGVuZGVkXzMiIC8+DQog +ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNodXRkb3duXzQiIC8+DQogICAgICA8eHM6ZW51 +bWVyYXRpb24gdmFsdWU9IlRlc3RfNSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i +Q29tbXVuaWNhdGlvbkZhdWx0XzYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVu +a25vd25fNyIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9IlNlcnZlclN0YXRlIiB0eXBlPSJ0bnM6U2VydmVyU3RhdGUiIC8+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZHVuZGFudFNlcnZlckRhdGFUeXBlIj4NCiAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJJZCIgdHlwZT0i +eHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iU2VydmljZUxldmVsIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vy +cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlclN0YXRlIiB0eXBlPSJ0bnM6 +U2VydmVyU3RhdGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz +OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlw +ZSIgdHlwZT0idG5zOlJlZHVuZGFudFNlcnZlckRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJMaXN0T2ZSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVkdW5kYW50U2VydmVyRGF0YVR5cGUiIHR5 +cGU9InRuczpSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9 +InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUmVkdW5kYW50U2VydmVy +RGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIgbmlsbGFi +bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRW5kcG9p +bnRVcmxMaXN0RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkVuZHBvaW50VXJsTGlzdCIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIiB0eXBl +PSJ0bnM6RW5kcG9pbnRVcmxMaXN0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9Ikxpc3RPZkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVybExpc3REYXRhVHlwZSIgdHlwZT0idG5z +OkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3Vu +ZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbmRwb2ludFVybExpc3REYXRhVHlw +ZSIgdHlwZT0idG5zOkxpc3RPZkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1 +ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJOZXR3b3JrR3JvdXBE +YXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vy +dmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOZXR3b3JrUGF0aHMiIHR5cGU9InRuczpMaXN0T2ZF +bmRwb2ludFVybExpc3REYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJOZXR3b3JrR3JvdXBEYXRhVHlwZSIgdHlwZT0idG5zOk5ldHdvcmtHcm91cERhdGFUeXBl +IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZOZXR3b3JrR3JvdXBEYXRhVHlw +ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmV0d29ya0dy +b3VwRGF0YVR5cGUiIHR5cGU9InRuczpOZXR3b3JrR3JvdXBEYXRhVHlwZSIgbWluT2NjdXJzPSIw +IiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTmV0 +d29ya0dyb3VwRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZOZXR3b3JrR3JvdXBEYXRhVHlwZSIg +bmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i +U2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNhbXBsaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJs +ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRl +bUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iTWF4TW9uaXRvcmVkSXRlbUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZElu +dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzYWJsZWRNb25p +dG9yZWRJdGVtQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTYW1wbGlu +Z0ludGVydmFsRGlhZ25vc3RpY3NEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iTGlzdE9mU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNhbXBsaW5nSW50ZXJ2YWxEaWFnbm9z +dGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5 +cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9Ikxpc3RPZlNhbXBsaW5nSW50ZXJ2YWxEaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0 +bnM6TGlzdE9mU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiIG5pbGxhYmxlPSJ0 +cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlcnZlckRpYWdu +b3N0aWNzU3VtbWFyeURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJTZXJ2ZXJWaWV3Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1 +cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50U2Vzc2lvbkNvdW50IiB0 +eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iQ3VtdWxhdGVkU2Vzc2lvbkNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlSZWplY3RlZFNlc3Np +b25Db3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlJlamVjdGVkU2Vzc2lvbkNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZElu +dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvblRpbWVv +dXRDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlNlc3Npb25BYm9ydENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudFN1YnNjcmlw +dGlvbkNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iQ3VtdWxhdGVkU3Vic2NyaXB0aW9uQ291bnQiIHR5cGU9InhzOnVu +c2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJs +aXNoaW5nSW50ZXJ2YWxDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5UmVqZWN0ZWRSZXF1ZXN0c0NvdW50 +IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUmVqZWN0ZWRSZXF1ZXN0c0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9IlNlcnZlckRpYWdub3N0aWNzU3VtbWFyeURhdGFUeXBlIiB0eXBl +PSJ0bnM6U2VydmVyRGlhZ25vc3RpY3NTdW1tYXJ5RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9IlNlcnZlclN0YXR1c0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFydFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50VGltZSIgdHlwZT0i +eHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0 +YXRlIiB0eXBlPSJ0bnM6U2VydmVyU3RhdGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkJ1aWxkSW5mbyIgdHlwZT0idG5zOkJ1aWxkSW5mbyIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY29uZHNUaWxs +U2h1dGRvd24iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJTaHV0ZG93blJlYXNvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJTdGF0dXNEYXRhVHlw +ZSIgdHlwZT0idG5zOlNlcnZlclN0YXR1c0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJTZXNzaW9uRGlhZ25vc3RpY3NEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbklkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNz +aW9uTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50RGVzY3JpcHRpb24iIHR5cGU9InRuczpB +cHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRw +b2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJp +bmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJBY3R1YWxTZXNzaW9uVGltZW91dCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhSZXNwb25zZU1lc3NhZ2VTaXplIiB0eXBl +PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iQ2xpZW50Q29ubmVjdGlvblRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRMYXN0Q29udGFjdFRpbWUiIHR5cGU9 +InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJD +dXJyZW50U3Vic2NyaXB0aW9uc0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz +PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudE1vbml0b3JlZEl0ZW1zQ291 +bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJDdXJyZW50UHVibGlzaFJlcXVlc3RzSW5RdWV1ZSIgdHlwZT0ieHM6dW5zaWdu +ZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRvdGFsUmVx +dWVzdENvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVuYXV0aG9yaXpl +ZFJlcXVlc3RDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlJlYWRDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVy +RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJIaXN0b3J5UmVhZENvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRh +VHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IldyaXRlQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlz +dG9yeVVwZGF0ZUNvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNhbGxD +b3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVNb25pdG9yZWRJ +dGVtc0NvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmeU1vbml0 +b3JlZEl0ZW1zQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0TW9u +aXRvcmluZ01vZGVDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRU +cmlnZ2VyaW5nQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRl +TW9uaXRvcmVkSXRlbXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJD +cmVhdGVTdWJzY3JpcHRpb25Db3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUi +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJNb2RpZnlTdWJzY3JpcHRpb25Db3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5 +cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJTZXRQdWJsaXNoaW5nTW9kZUNvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRh +VHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlB1Ymxpc2hDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS +ZXB1Ymxpc2hDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2Zl +clN1YnNjcmlwdGlvbnNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJE +ZWxldGVTdWJzY3JpcHRpb25zQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBl +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iQWRkTm9kZXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRS +ZWZlcmVuY2VzQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRl +Tm9kZXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVSZWZl +cmVuY2VzQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlQ291 +bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlTmV4dENvdW50IiB0 +eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9O +b2RlSWRzQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlGaXJz +dENvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5TmV4dENvdW50 +IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyTm9kZXNDb3VudCIg +dHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbnJlZ2lzdGVyTm9kZXNDb3VudCIg +dHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTZXNz +aW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlz +dE9mU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlNlc3Npb25EaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6 +U2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJv +dW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlNlc3Npb25EaWFnbm9zdGljc0Rh +dGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIG5pbGxh +YmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlc3Np +b25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlNlc3Npb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50VXNl +cklkT2ZTZXNzaW9uIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRVc2VySWRIaXN0b3J5IiB0eXBl +PSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJBdXRoZW50aWNhdGlvbk1lY2hhbmlzbSIgdHlwZT0ieHM6c3Ry +aW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iRW5jb2RpbmciIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zcG9ydFByb3RvY29sIiB0eXBl +PSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2Rl +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVBvbGlj +eVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50Q2VydGlmaWNhdGUiIHR5cGU9InhzOmJhc2U2 +NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl +bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uU2Vj +dXJpdHlEaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U2Vzc2lvblNlY3VyaXR5RGlhZ25v +c3RpY3NEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU2Vzc2lv +blNlY3VyaXR5RGlhZ25vc3RpY3NEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvblNlY3VyaXR5RGlhZ25vc3RpY3NEYXRhVHlwZSIgdHlw +ZT0idG5zOlNlc3Npb25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIg +bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlNlc3Np +b25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZTZXNzaW9uU2Vj +dXJpdHlEaWFnbm9zdGljc0RhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXJ2aWNlQ291bnRlckRhdGFUeXBlIj4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUb3RhbENvdW50IiB0eXBlPSJ4 +czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +RXJyb3JDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJT +ZXJ2aWNlQ291bnRlckRhdGFUeXBlIiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU3RhdHVzUmVzdWx0Ij4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0 +dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9z +dGljSW5mbyIgdHlwZT0idWE6RGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iU3RhdHVzUmVzdWx0IiB0eXBlPSJ0bnM6U3RhdHVzUmVzdWx0IiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTdGF0dXNSZXN1bHQiPg0KICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c1Jlc3VsdCIgdHlwZT0idG5z +OlN0YXR1c1Jlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU3RhdHVzUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mU3Rh +dHVzUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJTdWJzY3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uSWQiIHR5cGU9InVhOk5vZGVJ +ZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJpb3JpdHkiIHR5cGU9InhzOnVuc2lnbmVkQnl0 +ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGluZ0lu +dGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9Ik1heEtlZXBBbGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4TGlmZXRpbWVDb3VudCIgdHlw +ZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9Ik1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGluZ0VuYWJsZWQi +IHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9Ik1vZGlmeUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5hYmxlQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNhYmxlQ291bnQi +IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJSZXB1Ymxpc2hSZXF1ZXN0Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXB1Ymxpc2hNZXNzYWdlUmVx +dWVzdENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iUmVwdWJsaXNoTWVzc2FnZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25l +ZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNmZXJS +ZXF1ZXN0Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2ZlcnJlZFRvQWx0Q2xpZW50Q291bnQiIHR5cGU9Inhz +OnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJU +cmFuc2ZlcnJlZFRvU2FtZUNsaWVudENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaFJlcXVlc3RDb3VudCIg +dHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkRhdGFDaGFuZ2VOb3RpZmljYXRpb25zQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudE5vdGlmaWNh +dGlvbnNDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9Ik5vdGlmaWNhdGlvbnNDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJ +bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkxhdGVQdWJsaXNo +UmVxdWVzdENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudEtlZXBBbGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNp +Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVu +dExpZmV0aW1lQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbmFja25vd2xlZGdlZE1lc3NhZ2VDb3VudCIgdHlwZT0i +eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkRpc2NhcmRlZE1lc3NhZ2VDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i +MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1Db3VudCIgdHlwZT0i +eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkRpc2FibGVkTW9uaXRvcmVkSXRlbUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ1F1ZXVlT3ZlcmZs +b3dDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9Ik5leHRTZXF1ZW5jZU51bWJlciIgdHlwZT0ieHM6dW5zaWduZWRJbnQi +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50UXVldWVPdmVy +Rmxvd0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlN1 +YnNjcmlwdGlvbkRpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTdWJzY3JpcHRpb25EaWFn +bm9zdGljc0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTdWJz +Y3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0 +bnM6U3Vic2NyaXB0aW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1 +cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU3Vic2NyaXB0aW9u +RGlhZ25vc3RpY3NEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlN1YnNjcmlwdGlvbkRpYWdub3N0 +aWNzRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBs +ZVR5cGUgIG5hbWU9Ik1vZGVsQ2hhbmdlU3RydWN0dXJlVmVyYk1hc2siPg0KICAgIDx4czpyZXN0 +cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJO +b2RlQWRkZWRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9kZURlbGV0ZWRf +MiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVmZXJlbmNlQWRkZWRfNCIgLz4N +CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVmZXJlbmNlRGVsZXRlZF84IiAvPg0KICAg +ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEYXRhVHlwZUNoYW5nZWRfMTYiIC8+DQogICAgPC94 +czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJN +b2RlbENoYW5nZVN0cnVjdHVyZVZlcmJNYXNrIiB0eXBlPSJ0bnM6TW9kZWxDaGFuZ2VTdHJ1Y3R1 +cmVWZXJiTWFzayIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9kZWxDaGFuZ2VTdHJ1 +Y3R1cmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iQWZmZWN0ZWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFmZmVjdGVkVHlwZSIgdHlwZT0idWE6Tm9k +ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iVmVyYiIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +TW9kZWxDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgdHlwZT0idG5zOk1vZGVsQ2hhbmdlU3RydWN0 +dXJlRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk1vZGVsQ2hh +bmdlU3RydWN0dXJlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9Ik1vZGVsQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIHR5cGU9InRuczpNb2RlbENo +YW5nZVN0cnVjdHVyZURhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVk +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZNb2RlbENoYW5nZVN0cnVjdHVyZURhdGFU +eXBlIiB0eXBlPSJ0bnM6TGlzdE9mTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgbmlsbGFi +bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2VtYW50 +aWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iQWZmZWN0ZWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFmZmVjdGVkVHlwZSIg +dHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNl +bWFudGljQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIHR5cGU9InRuczpTZW1hbnRpY0NoYW5nZVN0 +cnVjdHVyZURhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTZW1h +bnRpY0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJTZW1hbnRpY0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiB0eXBlPSJ0 +bnM6U2VtYW50aWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1 +cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU2VtYW50aWNDaGFu +Z2VTdHJ1Y3R1cmVEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlNlbWFudGljQ2hhbmdlU3RydWN0 +dXJlRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9IlJhbmdlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJMb3ciIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iSGlnaCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iUmFuZ2UiIHR5cGU9InRuczpSYW5nZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i +RVVJbmZvcm1hdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iTmFtZXNwYWNlVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbml0SWQiIHR5cGU9InhzOmludCIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzcGxheU5hbWUiIHR5 +cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4 +dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFVUluZm9ybWF0aW9uIiB0 +eXBlPSJ0bnM6RVVJbmZvcm1hdGlvbiIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iQXhp +c1NjYWxlRW51bWVyYXRpb24iPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmci +Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJMaW5lYXJfMCIgLz4NCiAgICAgIDx4czpl +bnVtZXJhdGlvbiB2YWx1ZT0iTG9nXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +IkxuXzIiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJBeGlzU2NhbGVFbnVtZXJhdGlvbiIgdHlwZT0idG5zOkF4aXNTY2Fs +ZUVudW1lcmF0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDb21wbGV4TnVtYmVy +VHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhbCIg +dHlwZT0ieHM6ZmxvYXQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkltYWdpbmFyeSIgdHlwZT0ieHM6ZmxvYXQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNl +cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb21wbGV4 +TnVtYmVyVHlwZSIgdHlwZT0idG5zOkNvbXBsZXhOdW1iZXJUeXBlIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJEb3VibGVDb21wbGV4TnVtYmVyVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1 +cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbWFnaW5hcnkiIHR5cGU9InhzOmRv +dWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRvdWJsZUNvbXBsZXhOdW1iZXJUeXBlIiB0eXBl +PSJ0bnM6RG91YmxlQ29tcGxleE51bWJlclR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9IkF4aXNJbmZvcm1hdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iRW5naW5lZXJpbmdVbml0cyIgdHlwZT0idG5zOkVVSW5mb3JtYXRpb24iIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFVVJh +bmdlIiB0eXBlPSJ0bnM6UmFuZ2UiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaXRsZSIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkF4 +aXNTY2FsZVR5cGUiIHR5cGU9InRuczpBeGlzU2NhbGVFbnVtZXJhdGlvbiIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXhpc1N0ZXBzIiB0eXBlPSJ1YTpMaXN0T2ZE +b3VibGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j +ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXhpc0luZm9ybWF0 +aW9uIiB0eXBlPSJ0bnM6QXhpc0luZm9ybWF0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu +YW1lPSJYVlR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlgiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iVmFsdWUiIHR5cGU9InhzOmZsb2F0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpz +ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iWFZUeXBl +IiB0eXBlPSJ0bnM6WFZUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJQcm9ncmFt +RGlhZ25vc3RpY0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJDcmVhdGVTZXNzaW9uSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZUNsaWVudE5h +bWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9Ikludm9jYXRpb25DcmVhdGlvblRpbWUiIHR5cGU9InhzOmRh +dGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0VHJh +bnNpdGlvblRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kQ2FsbCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1l +dGhvZFNlc3Npb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1ldGhvZElucHV0QXJndW1lbnRz +IiB0eXBlPSJ0bnM6TGlzdE9mQXJndW1lbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kT3V0cHV0QXJndW1lbnRzIiB0 +eXBlPSJ0bnM6TGlzdE9mQXJndW1lbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kQ2FsbFRpbWUiIHR5cGU9InhzOmRh +dGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0 +aG9kUmV0dXJuU3RhdHVzIiB0eXBlPSJ0bnM6U3RhdHVzUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9IlByb2dyYW1EaWFnbm9zdGljRGF0YVR5cGUiIHR5cGU9InRu +czpQcm9ncmFtRGlhZ25vc3RpY0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJBbm5vdGF0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJNZXNzYWdlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +QW5ub3RhdGlvblRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +QW5ub3RhdGlvbiIgdHlwZT0idG5zOkFubm90YXRpb24iIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUg +IG5hbWU9IkV4Y2VwdGlvbkRldmlhdGlvbkZvcm1hdCI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJh +c2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFic29sdXRlVmFs +dWVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mVmFsdWVfMSIg +Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mUmFuZ2VfMiIgLz4NCiAg +ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mRVVSYW5nZV8zIiAvPg0KICAgICAg +PHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVbmtub3duXzQiIC8+DQogICAgPC94czpyZXN0cmljdGlv +bj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFeGNlcHRpb25EZXZp +YXRpb25Gb3JtYXQiIHR5cGU9InRuczpFeGNlcHRpb25EZXZpYXRpb25Gb3JtYXQiIC8+DQoNCjwv +eHM6c2NoZW1hPg== + + + + NamespaceUri + A URI that uniquely identifies the dictionary. + + i=68 + i=8252 + + + http://opcfoundation.org/UA/2008/02/Types.xsd + + + + TrustListDataType + + i=69 + i=8252 + + + //xs:element[@name='TrustListDataType'] + + + + Argument + + i=69 + i=8252 + + + //xs:element[@name='Argument'] + + + + EnumValueType + + i=69 + i=8252 + + + //xs:element[@name='EnumValueType'] + + + + OptionSet + + i=69 + i=8252 + + + //xs:element[@name='OptionSet'] + + + + Union + + i=69 + i=8252 + + + //xs:element[@name='Union'] + + + + 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'] + + + + Annotation + + i=69 + i=8252 + + + //xs:element[@name='Annotation'] + + + + 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 + + + + Opc.Ua + + i=7619 + i=12681 + i=7650 + i=7656 + i=12767 + i=12770 + 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=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 +b2NhbGVTcGVjaWZpZWQiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTG9jYWxpemVkVGV4dFNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJBZGRpdGlvbmFsSW5mb1NwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbm5lclN0YXR1c0NvZGVTcGVjaWZpZWQiIFR5cGVO +YW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5uZXJEaWFnbm9zdGljSW5m +b1NwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS +ZXNlcnZlZDEiIFR5cGVOYW1lPSJvcGM6Qml0IiBMZW5ndGg9IjIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJTeW1ib2xpY0lkIiBUeXBlTmFtZT0ib3BjOkludDMyIiBTd2l0Y2hGaWVsZD0iU3lt +Ym9saWNJZFNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWVzcGFjZVVSSSIg +VHlwZU5hbWU9Im9wYzpJbnQzMiIgU3dpdGNoRmllbGQ9Ik5hbWVzcGFjZVVSSVNwZWNpZmllZCIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgU3dp +dGNoRmllbGQ9IkxvY2FsZVNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2Fs +aXplZFRleHQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIFN3aXRjaEZpZWxkPSJMb2NhbGl6ZWRUZXh0 +U3BlY2lmaWVkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWRkaXRpb25hbEluZm8iIFR5cGVO +YW1lPSJvcGM6Q2hhckFycmF5IiBTd2l0Y2hGaWVsZD0iQWRkaXRpb25hbEluZm9TcGVjaWZpZWQi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbm5lclN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpT +dGF0dXNDb2RlIiBTd2l0Y2hGaWVsZD0iSW5uZXJTdGF0dXNDb2RlU3BlY2lmaWVkIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iSW5uZXJEaWFnbm9zdGljSW5mbyIgVHlwZU5hbWU9InVhOkRpYWdu +b3N0aWNJbmZvIiBTd2l0Y2hGaWVsZD0iSW5uZXJEaWFnbm9zdGljSW5mb1NwZWNpZmllZCIgLz4N +CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJR +dWFsaWZpZWROYW1lIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBzdHJpbmcgcXVhbGlmaWVk +IHdpdGggYSBuYW1lc3BhY2UgaW5kZXguPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5hbWVzcGFjZUluZGV4IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTmFtZSIgVHlwZU5hbWU9Im9wYzpDaGFyQXJyYXkiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTG9jYWxpemVk +VGV4dCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgc3RyaW5nIHF1YWxpZmllZCB3aXRoIGEg +bmFtZXNwYWNlIGluZGV4Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJMb2NhbGVTcGVjaWZpZWQiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iVGV4dFNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZXNlcnZlZDEiIFR5cGVOYW1lPSJvcGM6Qml0IiBMZW5ndGg9IjYiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJMb2NhbGUiIFR5cGVOYW1lPSJvcGM6Q2hhckFycmF5IiBTd2l0Y2hG +aWVsZD0iTG9jYWxlU3BlY2lmaWVkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGV4dCIgVHlw +ZU5hbWU9Im9wYzpDaGFyQXJyYXkiIFN3aXRjaEZpZWxkPSJUZXh0U3BlY2lmaWVkIiAvPg0KICA8 +L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFW +YWx1ZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgdmFsdWUgd2l0aCBhbiBhc3NvY2lhdGVk +IHRpbWVzdGFtcCwgYW5kIHF1YWxpdHkuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlZhbHVlU3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlN0YXR1c0NvZGVTcGVjaWZpZWQiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iU291cmNlVGltZXN0YW1wU3BlY2lmaWVkIiBUeXBlTmFtZT0i +b3BjOkJpdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvdXJjZVBpY29zZWNvbmRzU3BlY2lm +aWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclRp +bWVzdGFtcFNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJTZXJ2ZXJQaWNvc2Vjb25kc1NwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNlcnZlZDEiIFR5cGVOYW1lPSJvcGM6Qml0IiBMZW5ndGg9 +IjIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQi +IFN3aXRjaEZpZWxkPSJWYWx1ZVNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0 +YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBTd2l0Y2hGaWVsZD0iU3RhdHVzQ29k +ZVNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvdXJjZVRpbWVzdGFtcCIgVHlw +ZU5hbWU9Im9wYzpEYXRlVGltZSIgU3dpdGNoRmllbGQ9IlNvdXJjZVRpbWVzdGFtcFNwZWNpZmll +ZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvdXJjZVBpY29zZWNvbmRzIiBUeXBlTmFtZT0i +b3BjOlVJbnQxNiIgU3dpdGNoRmllbGQ9IlNvdXJjZVBpY29zZWNvbmRzU3BlY2lmaWVkIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyVGltZXN0YW1wIiBUeXBlTmFtZT0ib3BjOkRhdGVU +aW1lIiBTd2l0Y2hGaWVsZD0iU2VydmVyVGltZXN0YW1wU3BlY2lmaWVkIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iU2VydmVyUGljb3NlY29uZHMiIFR5cGVOYW1lPSJvcGM6VUludDE2IiBTd2l0 +Y2hGaWVsZD0iU2VydmVyUGljb3NlY29uZHNTcGVjaWZpZWQiIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRXh0ZW5zaW9uT2JqZWN0Ij4N +CiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBzZXJpYWxpemVkIG9iamVjdCBwcmVmaXhlZCB3aXRo +IGl0cyBkYXRhIHR5cGUgaWRlbnRpZmllci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iVHlwZUlkU3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkJpbmFyeUJvZHkiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iWG1sQm9keSIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJSZXNlcnZlZDEiIFR5cGVOYW1lPSJvcGM6Qml0IiBMZW5ndGg9IjUiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJUeXBlSWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIg +U3dpdGNoRmllbGQ9IlR5cGVJZFNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJv +ZHlMZW5ndGgiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJC +b2R5IiBUeXBlTmFtZT0ib3BjOkJ5dGUiIExlbmd0aEZpZWxkPSJCb2R5TGVuZ3RoIiAvPg0KICA8 +L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlZhcmlh +bnQiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHVuaW9uIG9mIHNldmVyYWwgdHlwZXMuPC9v +cGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhcmlhbnRUeXBlIiBUeXBl +TmFtZT0ib3BjOkJpdCIgTGVuZ3RoPSI2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXJyYXlE +aW1lbnNpb25zU3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgTGVuZ3RoPSIxIi8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJBcnJheUxlbmd0aFNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQi +IExlbmd0aD0iMSIvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXJyYXlMZW5ndGgiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIFN3aXRjaEZpZWxkPSJBcnJheUxlbmd0aFNwZWNpZmllZCIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkJvb2xlYW4iIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgTGVuZ3RoRmll +bGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSIx +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU0J5dGUiIFR5cGVOYW1lPSJvcGM6U0J5dGUiIExl +bmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hW +YWx1ZT0iMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJ5dGUiIFR5cGVOYW1lPSJvcGM6Qnl0 +ZSIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3 +aXRjaFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW50MTYiIFR5cGVOYW1lPSJv +cGM6SW50MTYiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRU +eXBlIiBTd2l0Y2hWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVJbnQxNiIgVHlw +ZU5hbWU9Im9wYzpVSW50MTYiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9 +IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iNSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Iklu +dDMyIiBUeXBlTmFtZT0ib3BjOkludDMyIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRj +aEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjYiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJVSW50MzIiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5n +dGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjciIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJJbnQ2NCIgVHlwZU5hbWU9Im9wYzpJbnQ2NCIgTGVuZ3RoRmllbGQ9IkFy +cmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSI4IiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iVUludDY0IiBUeXBlTmFtZT0ib3BjOlVJbnQ2NCIgTGVuZ3Ro +RmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVl +PSI5IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmxvYXQiIFR5cGVOYW1lPSJvcGM6RmxvYXQi +IExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0 +Y2hWYWx1ZT0iMTAiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEb3VibGUiIFR5cGVOYW1lPSJv +cGM6RG91YmxlIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50 +VHlwZSIgU3dpdGNoVmFsdWU9IjExIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RyaW5nIiBU +eXBlTmFtZT0ib3BjOkNoYXJBcnJheSIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hG +aWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSIxMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkRhdGVUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiBMZW5ndGhGaWVsZD0iQXJyYXlM +ZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjEzIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iR3VpZCIgVHlwZU5hbWU9Im9wYzpHdWlkIiBMZW5ndGhGaWVsZD0i +QXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjE0IiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnl0ZVN0cmluZyIgVHlwZU5hbWU9Im9wYzpCeXRlU3Ry +aW5nIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIg +U3dpdGNoVmFsdWU9IjE1IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iWG1sRWxlbWVudCIgVHlw +ZU5hbWU9InVhOlhtbEVsZW1lbnQiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmll +bGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIg +U3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMTciIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJFeHBhbmRlZE5vZGVJZCIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiBM +ZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNo +VmFsdWU9IjE4IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9 +InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZh +cmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMTkiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJRdWFs +aWZpZWROYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgTGVuZ3RoRmllbGQ9IkFycmF5 +TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSIyMCIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsaXplZFRleHQiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRU +ZXh0IiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIg +U3dpdGNoVmFsdWU9IjIxIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXh0ZW5zaW9uT2JqZWN0 +IiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgi +IFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjIyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iRGF0YVZhbHVlIiBUeXBlTmFtZT0idWE6RGF0YVZhbHVlIiBMZW5ndGhGaWVs +ZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjIz +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFyaWFudCIgVHlwZU5hbWU9InVhOlZhcmlhbnQi +IExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0 +Y2hWYWx1ZT0iMjQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mbyIgVHlw +ZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRj +aEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjI1IiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTm9PZkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgU3dpdGNoRmll +bGQ9IkFycmF5RGltZW5zaW9uc1NwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFy +cmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBcnJh +eURpbWVuc2lvbnMiIFN3aXRjaEZpZWxkPSJBcnJheURpbWVuc2lvbnNTcGVjaWZpZWQiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iTmFt +aW5nUnVsZVR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9Ik1hbmRhdG9yeSIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg +TmFtZT0iT3B0aW9uYWwiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h +bWU9IkNvbnN0cmFpbnQiIFZhbHVlPSIzIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCiAg +ICANCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iSW1hZ2VCTVAiPg0KICAgIDxvcGM6RG9jdW1l +bnRhdGlvbj5BbiBpbWFnZSBlbmNvZGVkIGluIEJNUCBmb3JtYXQuPC9vcGM6RG9jdW1lbnRhdGlv +bj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iSW1hZ2VH +SUYiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBpbWFnZSBlbmNvZGVkIGluIEdJRiBmb3Jt +YXQuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9w +YXF1ZVR5cGUgTmFtZT0iSW1hZ2VKUEciPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBpbWFn +ZSBlbmNvZGVkIGluIEpQRUcgZm9ybWF0Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9w +YXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkltYWdlUE5HIj4NCiAgICA8b3Bj +OkRvY3VtZW50YXRpb24+QW4gaW1hZ2UgZW5jb2RlZCBpbiBQTkcgZm9ybWF0Ljwvb3BjOkRvY3Vt +ZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9 +IkJpdEZpZWxkTWFza0RhdGFUeXBlIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBtYXNrIG9m +IDMyIGJpdHMgdGhhdCBjYW4gYmUgdXBkYXRlZCBpbmRpdmlkdWFsbHkgYnkgdXNpbmcgdGhlIHRv +cCAzMiBiaXRzIGFzIGEgbWFzay48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVU +eXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iT3BlbkZpbGVNb2RlIiBMZW5ndGhJ +bkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWFkIiBWYWx1ZT0i +MSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJXcml0ZSIgVmFsdWU9IjIiIC8+ +DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRXJhc2VFeGlzdGluZyIgVmFsdWU9IjQi +IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQXBwZW5kIiBWYWx1ZT0iOCIgLz4N +CiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJU +cnVzdExpc3RNYXNrcyIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs +dWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt +ZT0iVHJ1c3RlZENlcnRpZmljYXRlcyIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk +VmFsdWUgTmFtZT0iVHJ1c3RlZENybHMiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRl +ZFZhbHVlIE5hbWU9Iklzc3VlckNlcnRpZmljYXRlcyIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNzdWVyQ3JscyIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iQWxsIiBWYWx1ZT0iMTUiIC8+DQogIDwvb3BjOkVudW1lcmF0 +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVHJ1c3RMaXN0RGF0YVR5cGUi +IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Bl +Y2lmaWVkTGlzdHMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTm9PZlRydXN0ZWRDZXJ0aWZpY2F0ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJUcnVzdGVkQ2VydGlmaWNhdGVzIiBUeXBlTmFtZT0ib3BjOkJ5dGVT +dHJpbmciIExlbmd0aEZpZWxkPSJOb09mVHJ1c3RlZENlcnRpZmljYXRlcyIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vT2ZUcnVzdGVkQ3JscyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlRydXN0ZWRDcmxzIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmci +IExlbmd0aEZpZWxkPSJOb09mVHJ1c3RlZENybHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO +b09mSXNzdWVyQ2VydGlmaWNhdGVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iSXNzdWVyQ2VydGlmaWNhdGVzIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmci +IExlbmd0aEZpZWxkPSJOb09mSXNzdWVyQ2VydGlmaWNhdGVzIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTm9PZklzc3VlckNybHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJJc3N1ZXJDcmxzIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIExlbmd0aEZp +ZWxkPSJOb09mSXNzdWVyQ3JscyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w +YzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJJZFR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxv +cGM6RG9jdW1lbnRhdGlvbj5UaGUgdHlwZSBvZiBpZGVudGlmaWVyIHVzZWQgaW4gYSBub2RlIGlk +Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTnVt +ZXJpYyIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3RyaW5n +IiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJHdWlkIiBWYWx1 +ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJPcGFxdWUiIFZhbHVlPSIz +IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5h +bWU9Ik5vZGVDbGFzcyIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u +PkEgbWFzayBzcGVjaWZ5aW5nIHRoZSBjbGFzcyBvZiB0aGUgbm9kZS48L29wYzpEb2N1bWVudGF0 +aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVuc3BlY2lmaWVkIiBWYWx1ZT0i +MCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJPYmplY3QiIFZhbHVlPSIxIiAv +Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZhcmlhYmxlIiBWYWx1ZT0iMiIgLz4N +CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJNZXRob2QiIFZhbHVlPSI0IiAvPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik9iamVjdFR5cGUiIFZhbHVlPSI4IiAvPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZhcmlhYmxlVHlwZSIgVmFsdWU9IjE2IiAvPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlZmVyZW5jZVR5cGUiIFZhbHVlPSIzMiIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEYXRhVHlwZSIgVmFsdWU9IjY0IiAv +Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZpZXciIFZhbHVlPSIxMjgiIC8+DQog +IDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm9k +ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u +PlNwZWNpZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gYWxsIG5vZGVzLjwvb3Bj +OkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1 +YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0 +bnM6Tm9kZUNsYXNzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5h +bWU9InVhOlF1YWxpZmllZE5hbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFt +ZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE +ZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlTm9k +ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2VzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikluc3RhbmNlTm9kZSIgQmFzZVR5cGU9 +InRuczpOb2RlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5v +ZGVJZCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rl +Q2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNzIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWRO +YW1lIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3Bs +YXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2Fs +aXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +V3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQz +MiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVm +ZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl +ZmVyZW5jZXMiIFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlTm9kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZS +ZWZlcmVuY2VzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy +ZWRUeXBlIE5hbWU9IlR5cGVOb2RlIiBCYXNlVHlwZT0idG5zOk5vZGUiPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9k +ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2Rl +Q2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJv +d3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2Rl +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2Nh +bGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5z +Ok5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6 +VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVz +ZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpS +ZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogIDwvb3BjOlN0 +cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iT2JqZWN0Tm9kZSIg +QmFzZVR5cGU9InRuczpJbnN0YW5jZU5vZGUiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5TcGVj +aWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIG9iamVjdCBub2Rlcy48L29wYzpE +b2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6 +Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v +ZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmll +ZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlz +cGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9k +ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9j +YWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUlu +dDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZS +ZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +UmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9P +ZlJlZmVyZW5jZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVudE5vdGlmaWVyIiBUeXBl +TmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry +dWN0dXJlZFR5cGUgTmFtZT0iT2JqZWN0VHlwZU5vZGUiIEJhc2VUeXBlPSJ0bnM6VHlwZU5vZGUi +Pg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2gg +YmVsb25nIHRvIG9iamVjdCB0eXBlIG5vZGVzLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRu +czpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5z +Ok5vZGVDbGFzcyIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgU291cmNlVHlwZT0idG5z +Ok5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVh +OkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBl +PSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9 +Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpO +b2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJv +cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBlTmFtZT0i +dG5zOlJlZmVyZW5jZU5vZGUiIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlcyIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAg +PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJWYXJp +YWJsZU5vZGUiIEJhc2VUeXBlPSJ0bnM6SW5zdGFuY2VOb2RlIj4NCiAgICA8b3BjOkRvY3VtZW50 +YXRpb24+U3BlY2lmaWVzIHRoZSBhdHRyaWJ1dGVzIHdoaWNoIGJlbG9uZyB0byB2YXJpYWJsZSBu +b2Rlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBU +eXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9 +InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9 +InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VU +eXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBl +TmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBl +PSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVO +YW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5n +dGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIg +VHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZSIg +VHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlUmFuayIg +VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBcnJheURp +bWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJB +cnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkFy +cmF5RGltZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFjY2Vzc0xldmVsIiBUeXBl +TmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyQWNjZXNzTGV2ZWwi +IFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1pbmltdW1TYW1w +bGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ikhpc3Rvcml6aW5nIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVj +dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVmFyaWFibGVUeXBlTm9k +ZSIgQmFzZVR5cGU9InRuczpUeXBlTm9kZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlNwZWNp +ZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gdmFyaWFibGUgdHlwZSBub2Rlcy48 +L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFt +ZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpO +b2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1 +YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0 +bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0i +dWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6 +Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJv +cGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVs +ZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5h +bWU9InVhOlZhcmlhbnQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZSIgVHlwZU5h +bWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlUmFuayIgVHlwZU5h +bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBcnJheURpbWVuc2lv +bnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBcnJheURp +bWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkFycmF5RGlt +ZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5cGVOYW1lPSJv +cGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 +cmVkVHlwZSBOYW1lPSJSZWZlcmVuY2VUeXBlTm9kZSIgQmFzZVR5cGU9InRuczpUeXBlTm9kZSI+ +DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBi +ZWxvbmcgdG8gcmVmZXJlbmNlIHR5cGUgbm9kZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0i +dG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0 +bnM6Tm9kZUNsYXNzIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBTb3VyY2VUeXBlPSJ0 +bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0i +dWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5 +cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFt +ZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5z +Ok5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlcyIgVHlwZU5hbWU9 +Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXMiIFR5cGVOYW1l +PSJ0bnM6UmVmZXJlbmNlTm9kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2VzIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iSXNBYnN0cmFjdCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iU3ltbWV0cmljIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbnZlcnNlTmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXpl +ZFRleHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iTWV0aG9kTm9kZSIgQmFzZVR5cGU9InRuczpJbnN0YW5jZU5vZGUiPg0KICAgIDxv +cGM6RG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRv +IG1ldGhvZCBub2Rlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +Tm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNv +dXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIg +VHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0 +IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0 +aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBT +b3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1h +c2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VO +b2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJFeGVjdXRhYmxlIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJVc2VyRXhlY3V0YWJsZSIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlZpZXdOb2RlIiBC +YXNlVHlwZT0idG5zOkluc3RhbmNlTm9kZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQi +IFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgU291cmNlVHlw +ZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFt +ZT0idWE6UXVhbGlmaWVkTmFtZSIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJj +ZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5 +cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5 +cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlw +ZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBlTmFtZT0idG5zOlJlZmVyZW5jZU5vZGUiIExl +bmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbnRh +aW5zTm9Mb29wcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iRXZlbnROb3RpZmllciIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFUeXBlTm9kZSIgQmFz +ZVR5cGU9InRuczpUeXBlTm9kZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVO +YW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgU291cmNlVHlwZT0idG5z +Ok5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6 +UXVhbGlmaWVkTmFtZSIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9 +InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1l +PSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRu +czpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9 +Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBlTmFtZT0idG5zOlJlZmVyZW5jZU5vZGUiIExlbmd0aEZp +ZWxkPSJOb09mUmVmZXJlbmNlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3Qi +IFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg +PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWZlcmVuY2VOb2RlIiBCYXNlVHlwZT0idWE6RXh0 +ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+U3BlY2lmaWVzIGEgcmVmZXJl +bmNlIHdoaWNoIGJlbG9uZ3MgdG8gYSBub2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJJc0ludmVyc2UiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldElkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2Rl +SWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iQXJndW1lbnQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 +RG9jdW1lbnRhdGlvbj5BbiBhcmd1bWVudCBmb3IgYSBtZXRob2QuPC9vcGM6RG9jdW1lbnRhdGlv +bj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZVJhbmsiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0i +b3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+ +DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i +RW51bVZhbHVlVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpE +b2N1bWVudGF0aW9uPkEgbWFwcGluZyBiZXR3ZWVuIGEgdmFsdWUgb2YgYW4gZW51bWVyYXRlZCB0 +eXBlIGFuZCBhIG5hbWUgYW5kIGRlc2NyaXB0aW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9Im9wYzpJbnQ2NCIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVk +VGV4dCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw +ZSBOYW1lPSJPcHRpb25TZXQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv +cGM6RG9jdW1lbnRhdGlvbj5UaGlzIGFic3RyYWN0IFN0cnVjdHVyZWQgRGF0YVR5cGUgaXMgdGhl +IGJhc2UgRGF0YVR5cGUgZm9yIGFsbCBEYXRhVHlwZXMgcmVwcmVzZW50aW5nIGEgYml0IG1hc2su +PC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFt +ZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWxpZEJpdHMiIFR5 +cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg +PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVbmlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoaXMgYWJzdHJhY3QgRGF0YVR5cGUgaXMg +dGhlIGJhc2UgRGF0YVR5cGUgZm9yIGFsbCB1bmlvbiBEYXRhVHlwZXMuPC9vcGM6RG9jdW1lbnRh +dGlvbj4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9 +Ik5vcm1hbGl6ZWRTdHJpbmciPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHN0cmluZyBub3Jt +YWxpemVkIGJhc2VkIG9uIHRoZSBydWxlcyBpbiB0aGUgdW5pY29kZSBzcGVjaWZpY2F0aW9uLjwv +b3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVU +eXBlIE5hbWU9IkRlY2ltYWxTdHJpbmciPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBhcmJp +dHJhdHkgbnVtZXJpYyB2YWx1ZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVU +eXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJEdXJhdGlvblN0cmluZyI+DQogICAgPG9w +YzpEb2N1bWVudGF0aW9uPkEgcGVyaW9kIG9mIHRpbWUgZm9ybWF0dGVkIGFzIGRlZmluZWQgaW4g +SVNPIDg2MDEtMjAwMC48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0K +DQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJUaW1lU3RyaW5nIj4NCiAgICA8b3BjOkRvY3VtZW50 +YXRpb24+QSB0aW1lIGZvcm1hdHRlZCBhcyBkZWZpbmVkIGluIElTTyA4NjAxLTIwMDAuPC9vcGM6 +RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUg +TmFtZT0iRGF0ZVN0cmluZyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgZGF0ZSBmb3JtYXR0 +ZWQgYXMgZGVmaW5lZCBpbiBJU08gODYwMS0yMDAwLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwv +b3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkR1cmF0aW9uIj4NCiAg +ICA8b3BjOkRvY3VtZW50YXRpb24+QSBwZXJpb2Qgb2YgdGltZSBtZWFzdXJlZCBpbiBtaWxsaXNl +Y29uZHMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3Bj +Ok9wYXF1ZVR5cGUgTmFtZT0iVXRjVGltZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgZGF0 +ZS90aW1lIHZhbHVlIHNwZWNpZmllZCBpbiBVbml2ZXJzYWwgQ29vcmRpbmF0ZWQgVGltZSAoVVRD +KS48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3Bh +cXVlVHlwZSBOYW1lPSJMb2NhbGVJZCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkFuIGlkZW50 +aWZpZXIgZm9yIGEgdXNlciBsb2NhbGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3Bh +cXVlVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRpbWVab25lRGF0YVR5cGUi +IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iT2Zm +c2V0IiBUeXBlTmFtZT0ib3BjOkludDE2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF5bGln +aHRTYXZpbmdJbk9mZnNldCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iSW50ZWdlcklkIj4NCiAgICA8 +b3BjOkRvY3VtZW50YXRpb24+QSBudW1lcmljIGlkZW50aWZpZXIgZm9yIGFuIG9iamVjdC48L29w +YzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRl +ZFR5cGUgTmFtZT0iQXBwbGljYXRpb25UeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3Bj +OkRvY3VtZW50YXRpb24+VGhlIHR5cGVzIG9mIGFwcGxpY2F0aW9ucy48L29wYzpEb2N1bWVudGF0 +aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNlcnZlciIgVmFsdWU9IjAiIC8+ +DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ2xpZW50IiBWYWx1ZT0iMSIgLz4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDbGllbnRBbmRTZXJ2ZXIiIFZhbHVlPSIyIiAv +Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRpc2NvdmVyeVNlcnZlciIgVmFsdWU9 +IjMiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iQXBwbGljYXRpb25EZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj +dCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkRlc2NyaWJlcyBhbiBhcHBsaWNhdGlvbiBhbmQg +aG93IHRvIGZpbmQgaXQuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkFwcGxpY2F0aW9uVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlByb2R1Y3RVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iQXBwbGljYXRpb25OYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkFwcGxpY2F0aW9uVHlwZSIgVHlwZU5hbWU9InRuczpBcHBs +aWNhdGlvblR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJHYXRld2F5U2VydmVyVXJpIiBU +eXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2NvdmVyeVBy +b2ZpbGVVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +Tm9PZkRpc2NvdmVyeVVybHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJEaXNjb3ZlcnlVcmxzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9 +Ik5vT2ZEaXNjb3ZlcnlVcmxzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj +OlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlcXVlc3RIZWFkZXIiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp +b25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgaGVhZGVyIHBhc3NlZCB3aXRo +IGV2ZXJ5IHNlcnZlciByZXF1ZXN0Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJBdXRoZW50aWNhdGlvblRva2VuIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iVGltZXN0YW1wIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhhbmRsZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXR1cm5EaWFnbm9zdGljcyIgVHlwZU5hbWU9Im9w +YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdWRpdEVudHJ5SWQiIFR5cGVOYW1l +PSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGltZW91dEhpbnQiIFR5cGVO +YW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWRkaXRpb25hbEhlYWRl +ciIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 +cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZXNwb25zZUhlYWRlciIgQmFzZVR5 +cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSBoZWFk +ZXIgcGFzc2VkIHdpdGggZXZlcnkgc2VydmVyIHJlc3BvbnNlLjwvb3BjOkRvY3VtZW50YXRpb24+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lc3RhbXAiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGFuZGxlIiBUeXBlTmFtZT0ib3BjOlVJ +bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZpY2VSZXN1bHQiIFR5cGVOYW1lPSJ1 +YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmljZURpYWdub3N0aWNz +IiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO +b09mU3RyaW5nVGFibGUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJTdHJpbmdUYWJsZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09m +U3RyaW5nVGFibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGRpdGlvbmFsSGVhZGVyIiBU +eXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N +Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNlcnZpY2VGYXVsdCIgQmFzZVR5cGU9InVh +OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSByZXNwb25zZSBy +ZXR1cm5lZCBieSBhbGwgc2VydmljZXMgd2hlbiB0aGVyZSBpcyBhIHNlcnZpY2UgbGV2ZWwgZXJy +b3IuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVh +ZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk +VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkZpbmRTZXJ2ZXJzUmVxdWVzdCIg +QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkZp +bmRzIHRoZSBzZXJ2ZXJzIGtub3duIHRvIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwvb3BjOkRvY3Vt +ZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0i +dG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybCIg +VHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTG9jYWxl +SWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTG9jYWxl +SWRzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZMb2NhbGVJZHMiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VydmVyVXJpcyIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclVyaXMiIFR5cGVOYW1lPSJvcGM6U3Ry +aW5nIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlclVyaXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRmluZFNlcnZlcnNSZXNwb25zZSIg +QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkZp +bmRzIHRoZSBzZXJ2ZXJzIGtub3duIHRvIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwvb3BjOkRvY3Vt +ZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9 +InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJz +IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVycyIg +VHlwZU5hbWU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZlNl +cnZlcnMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iU2VydmVyT25OZXR3b3JrIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlY29yZElkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY292ZXJ5VXJsIiBUeXBlTmFtZT0ib3BjOlN0cmlu +ZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJDYXBhYmlsaXRpZXMiIFR5cGVO +YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJDYXBhYmlsaXRp +ZXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlckNhcGFiaWxp +dGllcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw +ZSBOYW1lPSJGaW5kU2VydmVyc09uTmV0d29ya1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp +b25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9 +InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhcnRpbmdSZWNv +cmRJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhS +ZWNvcmRzVG9SZXR1cm4iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTm9PZlNlcnZlckNhcGFiaWxpdHlGaWx0ZXIiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJDYXBhYmlsaXR5RmlsdGVyIiBUeXBlTmFtZT0i +b3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJDYXBhYmlsaXR5RmlsdGVyIiAvPg0K +ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkZp +bmRTZXJ2ZXJzT25OZXR3b3JrUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVz +cG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0Q291bnRlclJlc2V0VGlt +ZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZT +ZXJ2ZXJzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vy +dmVycyIgVHlwZU5hbWU9InRuczpTZXJ2ZXJPbk5ldHdvcmsiIExlbmd0aEZpZWxkPSJOb09mU2Vy +dmVycyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5h +bWU9IkFwcGxpY2F0aW9uSW5zdGFuY2VDZXJ0aWZpY2F0ZSI+DQogICAgPG9wYzpEb2N1bWVudGF0 +aW9uPkEgY2VydGlmaWNhdGUgZm9yIGFuIGluc3RhbmNlIG9mIGFuIGFwcGxpY2F0aW9uLjwvb3Bj +OkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVk +VHlwZSBOYW1lPSJNZXNzYWdlU2VjdXJpdHlNb2RlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8 +b3BjOkRvY3VtZW50YXRpb24+VGhlIHR5cGUgb2Ygc2VjdXJpdHkgdG8gdXNlIG9uIGEgbWVzc2Fn +ZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Iklu +dmFsaWQiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUi +IFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNpZ24iIFZhbHVl +PSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNpZ25BbmRFbmNyeXB0IiBW +YWx1ZT0iMyIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVk +VHlwZSBOYW1lPSJVc2VyVG9rZW5UeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRv +Y3VtZW50YXRpb24+VGhlIHBvc3NpYmxlIHVzZXIgdG9rZW4gdHlwZXMuPC9vcGM6RG9jdW1lbnRh +dGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBbm9ueW1vdXMiIFZhbHVlPSIw +IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVzZXJOYW1lIiBWYWx1ZT0iMSIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDZXJ0aWZpY2F0ZSIgVmFsdWU9IjIi +IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNzdWVkVG9rZW4iIFZhbHVlPSIz +IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9IlVzZXJUb2tlblBvbGljeSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg +PG9wYzpEb2N1bWVudGF0aW9uPkRlc2NyaWJlcyBhIHVzZXIgdG9rZW4gdGhhdCBjYW4gYmUgdXNl +ZCB3aXRoIGEgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJQb2xpY3lJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJUb2tlblR5cGUiIFR5cGVOYW1lPSJ0bnM6VXNlclRva2VuVHlwZSIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Iklzc3VlZFRva2VuVHlwZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJJc3N1ZXJFbmRwb2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJpbmci +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eVBvbGljeVVyaSIgVHlwZU5hbWU9Im9w +YzpTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl +ZFR5cGUgTmFtZT0iRW5kcG9pbnREZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSBkZXNjcmlwdGlvbiBvZiBhIGVuZHBv +aW50IHRoYXQgY2FuIGJlIHVzZWQgdG8gYWNjZXNzIGEgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRp +b24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJp +bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXIiIFR5cGVOYW1lPSJ0bnM6QXBwbGlj +YXRpb25EZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlckNlcnRpZmlj +YXRlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT +ZWN1cml0eU1vZGUiIFR5cGVOYW1lPSJ0bnM6TWVzc2FnZVNlY3VyaXR5TW9kZSIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5UG9saWN5VXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZVc2VySWRlbnRpdHlUb2tlbnMiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VySWRlbnRpdHlUb2tlbnMi +IFR5cGVOYW1lPSJ0bnM6VXNlclRva2VuUG9saWN5IiBMZW5ndGhGaWVsZD0iTm9PZlVzZXJJZGVu +dGl0eVRva2VucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyYW5zcG9ydFByb2ZpbGVVcmki +IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlM +ZXZlbCIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K +ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkdldEVuZHBvaW50c1JlcXVlc3QiIEJhc2VUeXBl +PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5HZXRzIHRoZSBl +bmRwb2ludHMgdXNlZCBieSB0aGUgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJp +bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3Bj +OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3Bj +OlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZMb2NhbGVJZHMiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJOb09mUHJvZmlsZVVyaXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJQcm9maWxlVXJpcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxk +PSJOb09mUHJvZmlsZVVyaXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iR2V0RW5kcG9pbnRzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpF +eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5HZXRzIHRoZSBlbmRwb2lu +dHMgdXNlZCBieSB0aGUgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFbmRwb2ludHMiIFR5cGVOYW1lPSJvcGM6SW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRwb2ludHMiIFR5cGVOYW1lPSJ0bnM6RW5kcG9p +bnREZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZFbmRwb2ludHMiIC8+DQogIDwvb3BjOlN0 +cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVnaXN0ZXJlZFNl +cnZlciIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0 +aW9uPlRoZSBpbmZvcm1hdGlvbiByZXF1aXJlZCB0byByZWdpc3RlciBhIHNlcnZlciB3aXRoIGEg +ZGlzY292ZXJ5IHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iU2VydmVyVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlByb2R1Y3RVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTm9PZlNlcnZlck5hbWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iU2VydmVyTmFtZXMiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBMZW5n +dGhGaWVsZD0iTm9PZlNlcnZlck5hbWVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVy +VHlwZSIgVHlwZU5hbWU9InRuczpBcHBsaWNhdGlvblR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJHYXRld2F5U2VydmVyVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vT2ZEaXNjb3ZlcnlVcmxzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY292ZXJ5VXJscyIgVHlwZU5hbWU9Im9wYzpTdHJpbmci +IExlbmd0aEZpZWxkPSJOb09mRGlzY292ZXJ5VXJscyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlNlbWFwaG9yZUZpbGVQYXRoIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IklzT25saW5lIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0 +cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVnaXN0ZXJTZXJ2 +ZXJSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3Vt +ZW50YXRpb24+UmVnaXN0ZXJzIGEgc2VydmVyIHdpdGggdGhlIGRpc2NvdmVyeSBzZXJ2ZXIuPC9v +cGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5 +cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZl +ciIgVHlwZU5hbWU9InRuczpSZWdpc3RlcmVkU2VydmVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk +VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlZ2lzdGVyU2VydmVyUmVzcG9u +c2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlv +bj5SZWdpc3RlcnMgYSBzZXJ2ZXIgd2l0aCB0aGUgZGlzY292ZXJ5IHNlcnZlci48L29wYzpEb2N1 +bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1l +PSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv +cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGlzY292ZXJ5Q29uZmlndXJhdGlvbiIgQmFzZVR5cGU9 +InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgYmFzZSB0eXBl +IGZvciBkaXNjb3ZlcnkgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbi48L29wYzpEb2N1bWVudGF0 +aW9uPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9Ik1kbnNEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiBCYXNlVHlwZT0idG5zOkRpc2NvdmVyeUNv +bmZpZ3VyYXRpb24iPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgZGlzY292ZXJ5IGluZm9y +bWF0aW9uIG5lZWRlZCBmb3IgbUROUyByZWdpc3RyYXRpb24uPC9vcGM6RG9jdW1lbnRhdGlvbj4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1kbnNTZXJ2ZXJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmlu +ZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJDYXBhYmlsaXRpZXMiIFR5cGVO +YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJDYXBhYmlsaXRp +ZXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlckNhcGFiaWxp +dGllcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw +ZSBOYW1lPSJSZWdpc3RlclNlcnZlcjJSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6 +UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlciIgVHlwZU5hbWU9 +InRuczpSZWdpc3RlcmVkU2VydmVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpc2Nv +dmVyeUNvbmZpZ3VyYXRpb24iIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0IiBMZW5ndGhGaWVsZD0iTm9PZkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVnaXN0ZXJT +ZXJ2ZXIyUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQ29uZmlndXJhdGlvblJlc3VsdHMiIFR5cGVO +YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb25maWd1cmF0aW9uUmVz +dWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mQ29uZmlndXJh +dGlvblJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9z +IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3Rp +Y0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlh +Z25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1l +cmF0ZWRUeXBlIE5hbWU9IlNlY3VyaXR5VG9rZW5SZXF1ZXN0VHlwZSIgTGVuZ3RoSW5CaXRzPSIz +MiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkluZGljYXRlcyB3aGV0aGVyIGEgdG9rZW4gaWYg +YmVpbmcgY3JlYXRlZCBvciByZW5ld2VkLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNzdWUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVy +YXRlZFZhbHVlIE5hbWU9IlJlbmV3IiBWYWx1ZT0iMSIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5 +cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDaGFubmVsU2VjdXJpdHlUb2tlbiIg +QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRo +ZSB0b2tlbiB0aGF0IGlkZW50aWZpZXMgYSBzZXQgb2Yga2V5cyBmb3IgYW4gYWN0aXZlIHNlY3Vy +ZSBjaGFubmVsLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDaGFu +bmVsSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVG9r +ZW5JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDcmVh +dGVkQXQiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS +ZXZpc2VkTGlmZXRpbWUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik9wZW5TZWN1cmVDaGFubmVs +UmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVu +dGF0aW9uPkNyZWF0ZXMgYSBzZWN1cmUgY2hhbm5lbCB3aXRoIGEgc2VydmVyLjwvb3BjOkRvY3Vt +ZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0i +dG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnRQcm90b2Nv +bFZlcnNpb24iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +UmVxdWVzdFR5cGUiIFR5cGVOYW1lPSJ0bnM6U2VjdXJpdHlUb2tlblJlcXVlc3RUeXBlIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlNb2RlIiBUeXBlTmFtZT0idG5zOk1lc3NhZ2VT +ZWN1cml0eU1vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnROb25jZSIgVHlwZU5h +bWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkTGlm +ZXRpbWUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N +Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik9wZW5TZWN1cmVDaGFubmVsUmVzcG9uc2Ui +IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5D +cmVhdGVzIGEgc2VjdXJlIGNoYW5uZWwgd2l0aCBhIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9u +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVz +cG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJQcm90b2NvbFZlcnNp +b24iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJp +dHlUb2tlbiIgVHlwZU5hbWU9InRuczpDaGFubmVsU2VjdXJpdHlUb2tlbiIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlNlcnZlck5vbmNlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ2xv +c2VTZWN1cmVDaGFubmVsUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog +ICAgPG9wYzpEb2N1bWVudGF0aW9uPkNsb3NlcyBhIHNlY3VyZSBjaGFubmVsLjwvb3BjOkRvY3Vt +ZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0i +dG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iQ2xvc2VTZWN1cmVDaGFubmVsUmVzcG9uc2UiIEJhc2VUeXBl +PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5DbG9zZXMgYSBz +ZWN1cmUgY2hhbm5lbC48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +UmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2lnbmVkU29m +dHdhcmVDZXJ0aWZpY2F0ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w +YzpEb2N1bWVudGF0aW9uPkEgc29mdHdhcmUgY2VydGlmaWNhdGUgd2l0aCBhIGRpZ2l0YWwgc2ln +bmF0dXJlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDZXJ0aWZp +Y2F0ZURhdGEiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlNpZ25hdHVyZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iU2Vzc2lvbkF1dGhlbnRpY2F0 +aW9uVG9rZW4iPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHVuaXF1ZSBpZGVudGlmaWVyIGZv +ciBhIHNlc3Npb24gdXNlZCB0byBhdXRoZW50aWNhdGUgcmVxdWVzdHMuPC9vcGM6RG9jdW1lbnRh +dGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 +IlNpZ25hdHVyZURhdGEiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 +RG9jdW1lbnRhdGlvbj5BIGRpZ2l0YWwgc2lnbmF0dXJlLjwvb3BjOkRvY3VtZW50YXRpb24+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJBbGdvcml0aG0iIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iU2lnbmF0dXJlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmci +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt +ZT0iQ3JlYXRlU2Vzc2lvblJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K +ICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5DcmVhdGVzIGEgbmV3IHNlc3Npb24gd2l0aCB0aGUgc2Vy +dmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVh +ZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJDbGllbnREZXNjcmlwdGlvbiIgVHlwZU5hbWU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9u +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmlu +ZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZHBvaW50VXJsIiBUeXBlTmFtZT0ib3BjOlN0 +cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlc3Npb25OYW1lIiBUeXBlTmFtZT0ib3Bj +OlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudE5vbmNlIiBUeXBlTmFtZT0i +b3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnRDZXJ0aWZpY2F0 +ZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVx +dWVzdGVkU2Vzc2lvblRpbWVvdXQiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTWF4UmVzcG9uc2VNZXNzYWdlU2l6ZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIi +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt +ZT0iQ3JlYXRlU2Vzc2lvblJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N +CiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q3JlYXRlcyBhIG5ldyBzZXNzaW9uIHdpdGggdGhlIHNl +cnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VI +ZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJTZXNzaW9uSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJBdXRoZW50aWNhdGlvblRva2VuIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUmV2aXNlZFNlc3Npb25UaW1lb3V0IiBUeXBlTmFtZT0ib3BjOkRvdWJs +ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlck5vbmNlIiBUeXBlTmFtZT0ib3BjOkJ5 +dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJDZXJ0aWZpY2F0ZSIgVHlw +ZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlcnZl +ckVuZHBvaW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlNlcnZlckVuZHBvaW50cyIgVHlwZU5hbWU9InRuczpFbmRwb2ludERlc2NyaXB0aW9uIiBMZW5n +dGhGaWVsZD0iTm9PZlNlcnZlckVuZHBvaW50cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v +T2ZTZXJ2ZXJTb2Z0d2FyZUNlcnRpZmljYXRlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclNvZnR3YXJlQ2VydGlmaWNhdGVzIiBUeXBlTmFtZT0i +dG5zOlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiIExlbmd0aEZpZWxkPSJOb09mU2VydmVyU29m +dHdhcmVDZXJ0aWZpY2F0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJTaWduYXR1 +cmUiIFR5cGVOYW1lPSJ0bnM6U2lnbmF0dXJlRGF0YSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik1heFJlcXVlc3RNZXNzYWdlU2l6ZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVXNlcklkZW50 +aXR5VG9rZW4iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1l +bnRhdGlvbj5BIGJhc2UgdHlwZSBmb3IgYSB1c2VyIGlkZW50aXR5IHRva2VuLjwvb3BjOkRvY3Vt +ZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQb2xpY3lJZCIgVHlwZU5hbWU9Im9wYzpT +dHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iQW5vbnltb3VzSWRlbnRpdHlUb2tlbiIgQmFzZVR5cGU9InRuczpVc2VySWRlbnRp +dHlUb2tlbiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgdG9rZW4gcmVwcmVzZW50aW5nIGFu +IGFub255bW91cyB1c2VyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJQb2xpY3lJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIFNvdXJjZVR5cGU9InRuczpVc2VySWRl +bnRpdHlUb2tlbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 +cmVkVHlwZSBOYW1lPSJVc2VyTmFtZUlkZW50aXR5VG9rZW4iIEJhc2VUeXBlPSJ0bnM6VXNlcklk +ZW50aXR5VG9rZW4iPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHRva2VuIHJlcHJlc2VudGlu +ZyBhIHVzZXIgaWRlbnRpZmllZCBieSBhIHVzZXIgbmFtZSBhbmQgcGFzc3dvcmQuPC9vcGM6RG9j +dW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBvbGljeUlkIiBUeXBlTmFtZT0ib3Bj +OlN0cmluZyIgU291cmNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iVXNlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iUGFzc3dvcmQiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkVuY3J5cHRpb25BbGdvcml0aG0iIFR5cGVOYW1lPSJvcGM6U3RyaW5n +IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9Ilg1MDlJZGVudGl0eVRva2VuIiBCYXNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIj4N +CiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSB0b2tlbiByZXByZXNlbnRpbmcgYSB1c2VyIGlkZW50 +aWZpZWQgYnkgYW4gWDUwOSBjZXJ0aWZpY2F0ZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUG9saWN5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBTb3VyY2VUeXBl +PSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDZXJ0aWZp +Y2F0ZURhdGEiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl +ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJJc3N1ZWRJZGVudGl0eVRva2Vu +IiBCYXNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIj4NCiAgICA8b3BjOkRvY3VtZW50YXRp +b24+QSB0b2tlbiByZXByZXNlbnRpbmcgYSB1c2VyIGlkZW50aWZpZWQgYnkgYSBXUy1TZWN1cml0 +eSBYTUwgdG9rZW4uPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBv +bGljeUlkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgU291cmNlVHlwZT0idG5zOlVzZXJJZGVudGl0 +eVRva2VuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVG9rZW5EYXRhIiBUeXBlTmFtZT0ib3Bj +OkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmNyeXB0aW9uQWxnb3JpdGht +IiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg +PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBY3RpdmF0ZVNlc3Npb25SZXF1ZXN0IiBCYXNlVHlw +ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QWN0aXZhdGVz +IGEgc2Vzc2lvbiB3aXRoIHRoZSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudFNpZ25hdHVyZSIgVHlwZU5hbWU9InRuczpT +aWduYXR1cmVEYXRhIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkNsaWVudFNvZnR3YXJl +Q2VydGlmaWNhdGVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iQ2xpZW50U29mdHdhcmVDZXJ0aWZpY2F0ZXMiIFR5cGVOYW1lPSJ0bnM6U2lnbmVkU29mdHdh +cmVDZXJ0aWZpY2F0ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZDbGllbnRTb2Z0d2FyZUNlcnRpZmljYXRl +cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZMb2NhbGVJZHMiIFR5cGVOYW1lPSJvcGM6 +SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMb2NhbGVJZHMiIFR5cGVOYW1lPSJvcGM6 +U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZkxvY2FsZUlkcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlVzZXJJZGVudGl0eVRva2VuIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlclRva2VuU2lnbmF0dXJlIiBUeXBlTmFtZT0idG5zOlNp +Z25hdHVyZURhdGEiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 +dXJlZFR5cGUgTmFtZT0iQWN0aXZhdGVTZXNzaW9uUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRl +bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BY3RpdmF0ZXMgYSBzZXNzaW9u +IHdpdGggdGhlIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJOb25jZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29k +ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P +ZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5n +dGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ +DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDbG9zZVNlc3Npb25SZXF1ZXN0IiBCYXNl +VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q2xvc2Vz +IGEgc2Vzc2lvbiB3aXRoIHRoZSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlbGV0ZVN1YnNjcmlwdGlvbnMiIFR5cGVOYW1lPSJv +cGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 +cmVkVHlwZSBOYW1lPSJDbG9zZVNlc3Npb25SZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lv +bk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkNsb3NlcyBhIHNlc3Npb24gd2l0aCB0 +aGUgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNw +b25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgPC9vcGM6U3Ry +dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDYW5jZWxSZXF1ZXN0 +IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+ +Q2FuY2VscyBhbiBvdXRzdGFuZGluZyByZXF1ZXN0Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFk +ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGFuZGxlIiBUeXBlTmFtZT0ib3Bj +OlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk +VHlwZSBOYW1lPSJDYW5jZWxSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ +DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkNhbmNlbHMgYW4gb3V0c3RhbmRpbmcgcmVxdWVzdC48 +L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIi +IFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJD +YW5jZWxDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iTm9kZUF0dHJpYnV0ZXNNYXNrIiBM +ZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIGJpdHMgdXNlZCB0 +byBzcGVjaWZ5IGRlZmF1bHQgYXR0cmlidXRlcyBmb3IgYSBuZXcgbm9kZS48L29wYzpEb2N1bWVu +dGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAv +Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFjY2Vzc0xldmVsIiBWYWx1ZT0iMSIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBcnJheURpbWVuc2lvbnMiIFZhbHVl +PSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJyb3dzZU5hbWUiIFZhbHVl +PSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkNvbnRhaW5zTm9Mb29wcyIg +VmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGF0YVR5cGUiIFZh +bHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEZXNjcmlwdGlvbiIg +VmFsdWU9IjMyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRpc3BsYXlOYW1l +IiBWYWx1ZT0iNjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRXZlbnROb3Rp +ZmllciIgVmFsdWU9IjEyOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJFeGVj +dXRhYmxlIiBWYWx1ZT0iMjU2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikhp +c3Rvcml6aW5nIiBWYWx1ZT0iNTEyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 +IkludmVyc2VOYW1lIiBWYWx1ZT0iMTAyNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO +YW1lPSJJc0Fic3RyYWN0IiBWYWx1ZT0iMjA0OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 +ZSBOYW1lPSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbCIgVmFsdWU9IjQwOTYiIC8+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9kZUNsYXNzIiBWYWx1ZT0iODE5MiIgLz4NCiAgICA8 +b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlSWQiIFZhbHVlPSIxNjM4NCIgLz4NCiAgICA8 +b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTeW1tZXRyaWMiIFZhbHVlPSIzMjc2OCIgLz4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVc2VyQWNjZXNzTGV2ZWwiIFZhbHVlPSI2NTUz +NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVc2VyRXhlY3V0YWJsZSIgVmFs +dWU9IjEzMTA3MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVc2VyV3JpdGVN +YXNrIiBWYWx1ZT0iMjYyMTQ0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZh +bHVlUmFuayIgVmFsdWU9IjUyNDI4OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l +PSJXcml0ZU1hc2siIFZhbHVlPSIxMDQ4NTc2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9IlZhbHVlIiBWYWx1ZT0iMjA5NzE1MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 +ZSBOYW1lPSJBbGwiIFZhbHVlPSI0MTk0MzAzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9IkJhc2VOb2RlIiBWYWx1ZT0iMTMzNTM5NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJPYmplY3QiIFZhbHVlPSIxMzM1NTI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRl +ZFZhbHVlIE5hbWU9Ik9iamVjdFR5cGVPckRhdGFUeXBlIiBWYWx1ZT0iMTMzNzQ0NCIgLz4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJWYXJpYWJsZSIgVmFsdWU9IjQwMjY5OTkiIC8+ +DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVmFyaWFibGVUeXBlIiBWYWx1ZT0iMzk1 +ODkwMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJNZXRob2QiIFZhbHVlPSIx +NDY2NzI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlZmVyZW5jZVR5cGUi +IFZhbHVlPSIxMzcxMjM2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZpZXci +IFZhbHVlPSIxMzM1NTMyIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9Ik5vZGVBdHRyaWJ1dGVzIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u +T2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIGJhc2UgYXR0cmlidXRlcyBmb3Ig +YWxsIG5vZGVzLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVj +aWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJ +bnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw +ZSBOYW1lPSJPYmplY3RBdHRyaWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4N +CiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGFuIG9iamVjdCBub2Rl +Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRy +aWJ1dGVzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1 +dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpM +b2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNv +dXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ildy +aXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmli +dXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJv +cGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJFdmVudE5vdGlmaWVyIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVmFyaWFibGVB +dHRyaWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICA8b3BjOkRvY3Vt +ZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGEgdmFyaWFibGUgbm9kZS48L29wYzpEb2N1bWVu +dGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3BlY2lmaWVkQXR0cmlidXRlcyIgVHlwZU5h +bWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIg +U291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +RGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6 +Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVO +YW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291 +cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFs +dWUiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5 +cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZVJh +bmsiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXJy +YXlEaW1lbnNpb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5v +T2ZBcnJheURpbWVuc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBY2Nlc3NMZXZlbCIg +VHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlckFjY2Vzc0xl +dmVsIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNaW5pbXVt +U2FtcGxpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJIaXN0b3JpemluZyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1ldGhvZEF0dHJp +YnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgIDxvcGM6RG9jdW1lbnRh +dGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSBtZXRob2Qgbm9kZS48L29wYzpEb2N1bWVudGF0aW9u +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3BlY2lmaWVkQXR0cmlidXRlcyIgVHlwZU5hbWU9Im9w +YzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNl +VHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3Jp +cHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0 +dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJv +cGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlw +ZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXhlY3V0YWJs +ZSIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlckV4 +ZWN1dGFibGUiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 +cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJPYmplY3RUeXBlQXR0cmlidXRlcyIg +QmFzZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRo +ZSBhdHRyaWJ1dGVzIGZvciBhbiBvYmplY3QgdHlwZSBub2RlLjwvb3BjOkRvY3VtZW50YXRpb24+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0ib3Bj +OlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VU +eXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlw +dGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0 +cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9w +YzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBl +PSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0Fic3RyYWN0 +IiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog +IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVmFyaWFibGVUeXBlQXR0cmlidXRlcyIgQmFzZVR5 +cGU9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSBhdHRy +aWJ1dGVzIGZvciBhIHZhcmlhYmxlIHR5cGUgbm9kZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iU3BlY2lmaWVkQXR0cmlidXRlcyIgVHlwZU5hbWU9Im9wYzpVSW50 +MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0i +dG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24i +IFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0 +ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUlu +dDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5z +Ok5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWUiIFR5cGVOYW1l +PSJ1YTpWYXJpYW50IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5cGUiIFR5cGVOYW1l +PSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZVJhbmsiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXJyYXlEaW1lbnNpb25z +IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXJyYXlEaW1l +bnNpb25zIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBcnJheURpbWVu +c2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0Fic3RyYWN0IiBUeXBlTmFtZT0ib3Bj +OkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl +ZFR5cGUgTmFtZT0iUmVmZXJlbmNlVHlwZUF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0 +dHJpYnV0ZXMiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSBy +ZWZlcmVuY2UgdHlwZSBub2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlw +ZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5h +bWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJp +YnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVh +OkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5 +cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0 +ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0 +ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0Fic3RyYWN0IiBUeXBlTmFtZT0ib3BjOkJv +b2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTeW1tZXRyaWMiIFR5cGVOYW1lPSJvcGM6 +Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkludmVyc2VOYW1lIiBUeXBlTmFtZT0i +dWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT +dHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRhVHlwZUF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9k +ZUF0dHJpYnV0ZXMiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3Ig +YSBkYXRhIHR5cGUgbm9kZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iU3BlY2lmaWVkQXR0cmlidXRlcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9 +InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1l +IiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1 +dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpM +b2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBl +PSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVN +YXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVz +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNBYnN0cmFjdCIgVHlwZU5hbWU9Im9wYzpCb29s +ZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl +IE5hbWU9IlZpZXdBdHRyaWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAg +ICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGEgdmlldyBub2RlLjwvb3Bj +OkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVz +IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6 +ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5 +cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFz +ayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUlu +dDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJDb250YWluc05vTG9vcHMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IkV2ZW50Tm90aWZpZXIiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgPC9v +cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBZGROb2Rl +c0l0ZW0iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRh +dGlvbj5BIHJlcXVlc3QgdG8gYWRkIGEgbm9kZSB0byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2Uu +PC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBhcmVudE5vZGVJZCIg +VHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVm +ZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iUmVxdWVzdGVkTmV3Tm9kZUlkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFt +ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2Rl +Q2xhc3MiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQXR0cmlidXRlcyIgVHlwZU5hbWU9 +InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlR5cGVEZWZpbml0 +aW9uIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWRkTm9kZXNSZXN1bHQiIEJhc2VU +eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHJlc3Vs +dCBvZiBhbiBhZGQgbm9kZSBvcGVyYXRpb24uPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iQWRkZWROb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWRk +Tm9kZXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRv +Y3VtZW50YXRpb24+QWRkcyBvbmUgb3IgbW9yZSBub2RlcyB0byB0aGUgc2VydmVyIGFkZHJlc3Mg +c3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RI +ZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ik5vT2ZOb2Rlc1RvQWRkIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9kZXNUb0FkZCIgVHlwZU5hbWU9InRuczpBZGROb2Rlc0l0ZW0iIExlbmd0aEZp +ZWxkPSJOb09mTm9kZXNUb0FkZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w +YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBZGROb2Rlc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0 +ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QWRkcyBvbmUgb3IgbW9yZSBu +b2RlcyB0byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNl +SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJv +cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idG5z +OkFkZE5vZGVzUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25v +c3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFkZFJlZmVyZW5j +ZXNJdGVtIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50 +YXRpb24+QSByZXF1ZXN0IHRvIGFkZCBhIHJlZmVyZW5jZSB0byB0aGUgc2VydmVyIGFkZHJlc3Mg +c3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvdXJjZU5v +ZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVy +ZW5jZVR5cGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IklzRm9yd2FyZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iVGFyZ2V0U2VydmVyVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlRhcmdldE5vZGVJZCIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iVGFyZ2V0Tm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVD +bGFzcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw +ZSBOYW1lPSJBZGRSZWZlcmVuY2VzUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj +dCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkFkZHMgb25lIG9yIG1vcmUgcmVmZXJlbmNlcyB0 +byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzVG9BZGQiIFR5cGVOYW1lPSJv +cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzVG9BZGQiIFR5cGVO +YW1lPSJ0bnM6QWRkUmVmZXJlbmNlc0l0ZW0iIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlc1Rv +QWRkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl +IE5hbWU9IkFkZFJlZmVyZW5jZXNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj +dCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkFkZHMgb25lIG9yIG1vcmUgcmVmZXJlbmNlcyB0 +byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVz +Q29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +Tm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBM +ZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 +cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVOb2Rlc0l0ZW0iIEJhc2VU +eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHJlcXVl +c3QgdG8gZGVsZXRlIGEgbm9kZSB0byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9j +dW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5v +ZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlbGV0ZVRhcmdldFJlZmVyZW5jZXMiIFR5 +cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w +YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVOb2Rlc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpF +eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5EZWxldGUgb25lIG9yIG1v +cmUgbm9kZXMgZnJvbSB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlv +bj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVx +dWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOb2Rlc1RvRGVsZXRlIiBU +eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZXNUb0RlbGV0 +ZSIgVHlwZU5hbWU9InRuczpEZWxldGVOb2Rlc0l0ZW0iIExlbmd0aEZpZWxkPSJOb09mTm9kZXNU +b0RlbGV0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk +VHlwZSBOYW1lPSJEZWxldGVOb2Rlc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+RGVsZXRlIG9uZSBvciBtb3JlIG5vZGVzIGZy +b20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRl +ciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1 +c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIg +TGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlUmVmZXJlbmNlc0l0ZW0i +IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5B +IHJlcXVlc3QgdG8gZGVsZXRlIGEgbm9kZSBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48 +L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU291cmNlTm9kZUlkIiBU +eXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlVHlw +ZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNGb3J3 +YXJkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUYXJn +ZXROb2RlSWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkRlbGV0ZUJpZGlyZWN0aW9uYWwiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAg +PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxl +dGVSZWZlcmVuY2VzUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg +PG9wYzpEb2N1bWVudGF0aW9uPkRlbGV0ZSBvbmUgb3IgbW9yZSByZWZlcmVuY2VzIGZyb20gdGhl +IHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlc1RvRGVsZXRlIiBUeXBlTmFtZT0ib3Bj +OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlc1RvRGVsZXRlIiBUeXBl +TmFtZT0idG5zOkRlbGV0ZVJlZmVyZW5jZXNJdGVtIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5j +ZXNUb0RlbGV0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 +cmVkVHlwZSBOYW1lPSJEZWxldGVSZWZlcmVuY2VzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRl +bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5EZWxldGUgb25lIG9yIG1vcmUg +cmVmZXJlbmNlcyBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0 +aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6 +UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlw +ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVO +YW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlh +Z25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29w +YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkF0dHJpYnV0 +ZVdyaXRlTWFzayIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkRl +ZmluZSBiaXRzIHVzZWQgdG8gaW5kaWNhdGUgd2hpY2ggYXR0cmlidXRlcyBhcmUgd3JpdGFibGUu +PC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25l +IiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBY2Nlc3NMZXZl +bCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQXJyYXlEaW1l +bnNpb25zIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCcm93 +c2VOYW1lIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDb250 +YWluc05vTG9vcHMiIFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 +IkRhdGFUeXBlIiBWYWx1ZT0iMTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i +RGVzY3JpcHRpb24iIFZhbHVlPSIzMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l +PSJEaXNwbGF5TmFtZSIgVmFsdWU9IjY0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h +bWU9IkV2ZW50Tm90aWZpZXIiIFZhbHVlPSIxMjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs +dWUgTmFtZT0iRXhlY3V0YWJsZSIgVmFsdWU9IjI1NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJIaXN0b3JpemluZyIgVmFsdWU9IjUxMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0 +ZWRWYWx1ZSBOYW1lPSJJbnZlcnNlTmFtZSIgVmFsdWU9IjEwMjQiIC8+DQogICAgPG9wYzpFbnVt +ZXJhdGVkVmFsdWUgTmFtZT0iSXNBYnN0cmFjdCIgVmFsdWU9IjIwNDgiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iTWluaW11bVNhbXBsaW5nSW50ZXJ2YWwiIFZhbHVlPSI0MDk2 +IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vZGVDbGFzcyIgVmFsdWU9Ijgx +OTIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9kZUlkIiBWYWx1ZT0iMTYz +ODQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3ltbWV0cmljIiBWYWx1ZT0i +MzI3NjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVXNlckFjY2Vzc0xldmVs +IiBWYWx1ZT0iNjU1MzYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVXNlckV4 +ZWN1dGFibGUiIFZhbHVlPSIxMzEwNzIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt +ZT0iVXNlcldyaXRlTWFzayIgVmFsdWU9IjI2MjE0NCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJWYWx1ZVJhbmsiIFZhbHVlPSI1MjQyODgiIC8+DQogICAgPG9wYzpFbnVtZXJh +dGVkVmFsdWUgTmFtZT0iV3JpdGVNYXNrIiBWYWx1ZT0iMTA0ODU3NiIgLz4NCiAgICA8b3BjOkVu +dW1lcmF0ZWRWYWx1ZSBOYW1lPSJWYWx1ZUZvclZhcmlhYmxlVHlwZSIgVmFsdWU9IjIwOTcxNTIi +IC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFt +ZT0iQnJvd3NlRGlyZWN0aW9uIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50 +YXRpb24+VGhlIGRpcmVjdGlvbnMgb2YgdGhlIHJlZmVyZW5jZXMgdG8gcmV0dXJuLjwvb3BjOkRv +Y3VtZW50YXRpb24+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRm9yd2FyZCIgVmFs +dWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW52ZXJzZSIgVmFsdWU9 +IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQm90aCIgVmFsdWU9IjIiIC8+ +DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW52YWxpZCIgVmFsdWU9IjMiIC8+DQog +IDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVmll +d0Rlc2NyaXB0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRv +Y3VtZW50YXRpb24+VGhlIHZpZXcgdG8gYnJvd3NlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJWaWV3SWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJUaW1lc3RhbXAiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJWaWV3VmVyc2lvbiIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJv +d3NlRGVzY3JpcHRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 +RG9jdW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8gYnJvd3NlIHRoZSB0aGUgcmVmZXJlbmNlcyBmcm9t +IGEgbm9kZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlk +IiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlRGly +ZWN0aW9uIiBUeXBlTmFtZT0idG5zOkJyb3dzZURpcmVjdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IkluY2x1ZGVTdWJ0eXBlcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNsYXNzTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQz +MiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBO +YW1lPSJCcm93c2VSZXN1bHRNYXNrIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3Vt +ZW50YXRpb24+QSBiaXQgbWFzayB3aGljaCBzcGVjaWZpZXMgd2hhdCBzaG91bGQgYmUgcmV0dXJu +ZWQgaW4gYSBicm93c2UgcmVzcG9uc2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkVu +dW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25lIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0 +ZWRWYWx1ZSBOYW1lPSJSZWZlcmVuY2VUeXBlSWQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IklzRm9yd2FyZCIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVt +ZXJhdGVkVmFsdWUgTmFtZT0iTm9kZUNsYXNzIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1l +cmF0ZWRWYWx1ZSBOYW1lPSJCcm93c2VOYW1lIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1l +cmF0ZWRWYWx1ZSBOYW1lPSJEaXNwbGF5TmFtZSIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IlR5cGVEZWZpbml0aW9uIiBWYWx1ZT0iMzIiIC8+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQWxsIiBWYWx1ZT0iNjMiIC8+DQogICAgPG9wYzpFbnVt +ZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlVHlwZUluZm8iIFZhbHVlPSIzIiAvPg0KICAgIDxv +cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlRhcmdldEluZm8iIFZhbHVlPSI2MCIgLz4NCiAgPC9v +cGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWZlcmVu +Y2VEZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpE +b2N1bWVudGF0aW9uPlRoZSBkZXNjcmlwdGlvbiBvZiBhIHJlZmVyZW5jZS48L29wYzpEb2N1bWVu +dGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0i +dWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNGb3J3YXJkIiBUeXBlTmFtZT0i +b3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1 +YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5hbWUiIFR5 +cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxh +eU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlR5cGVEZWZpbml0aW9uIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJDb250aW51 +YXRpb25Qb2ludCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkFuIGlkZW50aWZpZXIgZm9yIGEg +c3VzcGVuZGVkIHF1ZXJ5IG9yIGJyb3dzZSBvcGVyYXRpb24uPC9vcGM6RG9jdW1lbnRhdGlvbj4N +CiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb3dz +ZVJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVu +dGF0aW9uPlRoZSByZXN1bHQgb2YgYSBicm93c2Ugb3BlcmF0aW9uLjwvb3BjOkRvY3VtZW50YXRp +b24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVz +Q29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiBUeXBlTmFt +ZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNl +cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5j +ZXMiIFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlRGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09m +UmVmZXJlbmNlcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 +cmVkVHlwZSBOYW1lPSJCcm93c2VSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QnJvd3NlIHRoZSByZWZlcmVuY2VzIGZvciBvbmUg +b3IgbW9yZSBub2RlcyBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVu +dGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRu +czpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmlldyIgVHlwZU5hbWU9 +InRuczpWaWV3RGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRN +YXhSZWZlcmVuY2VzUGVyTm9kZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJOb09mTm9kZXNUb0Jyb3dzZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVzVG9Ccm93c2UiIFR5cGVOYW1lPSJ0bnM6QnJvd3NlRGVz +Y3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mTm9kZXNUb0Jyb3dzZSIgLz4NCiAgPC9vcGM6U3Ry +dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm93c2VSZXNwb25z +ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u +PkJyb3dzZSB0aGUgcmVmZXJlbmNlcyBmb3Igb25lIG9yIG1vcmUgbm9kZXMgZnJvbSB0aGUgc2Vy +dmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idG5zOkJyb3dzZVJlc3VsdCIg +TGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRp +YWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhG +aWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm93c2VOZXh0UmVxdWVzdCIgQmFzZVR5cGU9 +InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkNvbnRpbnVlcyBv +bmUgb3IgbW9yZSBicm93c2Ugb3BlcmF0aW9ucy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVsZWFzZUNvbnRpbnVhdGlvblBvaW50cyIgVHlw +ZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkNvbnRpbnVh +dGlvblBvaW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkNvbnRpbnVhdGlvblBvaW50cyIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiBMZW5ndGhGaWVs +ZD0iTm9PZkNvbnRpbnVhdGlvblBvaW50cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm93c2VOZXh0UmVzcG9uc2UiIEJhc2VUeXBl +PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5Db250aW51ZXMg +b25lIG9yIG1vcmUgYnJvd3NlIG9wZXJhdGlvbnMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVh +ZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6 +SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idG5zOkJy +b3dzZVJlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJ +bmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0 +dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWxhdGl2ZVBhdGhFbGVt +ZW50IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRp +b24+QW4gZWxlbWVudCBpbiBhIHJlbGF0aXZlIHBhdGguPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzSW52ZXJzZSIgVHlwZU5hbWU9Im9wYzpCb29sZWFu +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5jbHVkZVN1YnR5cGVzIiBUeXBlTmFtZT0ib3Bj +OkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUYXJnZXROYW1lIiBUeXBlTmFtZT0i +dWE6UXVhbGlmaWVkTmFtZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT +dHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWxhdGl2ZVBhdGgiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P +YmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHJlbGF0aXZlIHBhdGggY29uc3RydWN0 +ZWQgZnJvbSByZWZlcmVuY2UgdHlwZXMgYW5kIGJyb3dzZSBuYW1lcy48L29wYzpEb2N1bWVudGF0 +aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkVsZW1lbnRzIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRWxlbWVudHMiIFR5cGVOYW1lPSJ0bnM6UmVs +YXRpdmVQYXRoRWxlbWVudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZFbGVtZW50cyIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm93c2VQYXRo +IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+ +QSByZXF1ZXN0IHRvIHRyYW5zbGF0ZSBhIHBhdGggaW50byBhIG5vZGUgaWQuPC9vcGM6RG9jdW1l +bnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXJ0aW5nTm9kZSIgVHlwZU5hbWU9InVh +Ok5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlbGF0aXZlUGF0aCIgVHlwZU5hbWU9 +InRuczpSZWxhdGl2ZVBhdGgiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJvd3NlUGF0aFRhcmdldCIgQmFzZVR5cGU9InVhOkV4dGVu +c2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSB0YXJnZXQgb2YgdGhlIHRy +YW5zbGF0ZWQgcGF0aC48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +VGFyZ2V0SWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlJlbWFpbmluZ1BhdGhJbmRleCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwv +b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJvd3Nl +UGF0aFJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1 +bWVudGF0aW9uPlRoZSByZXN1bHQgb2YgYSB0cmFuc2xhdGUgb3BlYXJhdGlvbi48L29wYzpEb2N1 +bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVh +OlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVGFyZ2V0cyIgVHlwZU5h +bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldHMiIFR5cGVOYW1l +PSJ0bnM6QnJvd3NlUGF0aFRhcmdldCIgTGVuZ3RoRmllbGQ9Ik5vT2ZUYXJnZXRzIiAvPg0KICA8 +L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRyYW5z +bGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRyYW5zbGF0ZXMgb25lIG9yIG1vcmUgcGF0 +aHMgaW4gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFk +ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQnJvd3NlUGF0aHMiIFR5cGVOYW1lPSJv +cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VQYXRocyIgVHlwZU5hbWU9 +InRuczpCcm93c2VQYXRoIiBMZW5ndGhGaWVsZD0iTm9PZkJyb3dzZVBhdGhzIiAvPg0KICA8L29w +YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRyYW5zbGF0 +ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl +Y3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UcmFuc2xhdGVzIG9uZSBvciBtb3JlIHBhdGhz +IGluIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFk +ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJ +bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6QnJv +d3NlUGF0aFJlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0 +aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3Ry +dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWdpc3Rlck5vZGVz +UmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVu +dGF0aW9uPlJlZ2lzdGVycyBvbmUgb3IgbW9yZSBub2RlcyBmb3IgcmVwZWF0ZWQgdXNlIHdpdGhp +biBhIHNlc3Npb24uPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl +cXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vT2ZOb2Rlc1RvUmVnaXN0ZXIiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rlc1RvUmVnaXN0ZXIiIFR5cGVOYW1lPSJ1YTpOb2RlSWQi +IExlbmd0aEZpZWxkPSJOb09mTm9kZXNUb1JlZ2lzdGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk +VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlZ2lzdGVyTm9kZXNSZXNwb25z +ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u +PlJlZ2lzdGVycyBvbmUgb3IgbW9yZSBub2RlcyBmb3IgcmVwZWF0ZWQgdXNlIHdpdGhpbiBhIHNl +c3Npb24uPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNl +SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTm9PZlJlZ2lzdGVyZWROb2RlSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iUmVnaXN0ZXJlZE5vZGVJZHMiIFR5cGVOYW1lPSJ1YTpOb2RlSWQi +IExlbmd0aEZpZWxkPSJOb09mUmVnaXN0ZXJlZE5vZGVJZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVW5yZWdpc3Rlck5vZGVzUmVx +dWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0 +aW9uPlVucmVnaXN0ZXJzIG9uZSBvciBtb3JlIHByZXZpb3VzbHkgcmVnaXN0ZXJlZCBub2Rlcy48 +L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIg +VHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P +Zk5vZGVzVG9VbnJlZ2lzdGVyIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9kZXNUb1VucmVnaXN0ZXIiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIExlbmd0aEZp +ZWxkPSJOb09mTm9kZXNUb1VucmVnaXN0ZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K +DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVW5yZWdpc3Rlck5vZGVzUmVzcG9uc2UiIEJh +c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5VbnJl +Z2lzdGVycyBvbmUgb3IgbW9yZSBwcmV2aW91c2x5IHJlZ2lzdGVyZWQgbm9kZXMuPC9vcGM6RG9j +dW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFt +ZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 +b3BjOk9wYXF1ZVR5cGUgTmFtZT0iQ291bnRlciI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEg +bW9ub3RvbmljYWxseSBpbmNyZWFzaW5nIHZhbHVlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwv +b3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9Ik51bWVyaWNSYW5nZSI+ +DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlNwZWNpZmllcyBhIHJhbmdlIG9mIGFycmF5IGluZGV4 +ZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9w +YXF1ZVR5cGUgTmFtZT0iVGltZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgdGltZSB2YWx1 +ZSBzcGVjaWZpZWQgYXMgSEg6TU06U1MuU1NTLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3Bj +Ok9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkRhdGUiPg0KICAgIDxvcGM6 +RG9jdW1lbnRhdGlvbj5BIGRhdGUgdmFsdWUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6 +T3BhcXVlVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkVuZHBvaW50Q29uZmln +dXJhdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJPcGVyYXRpb25UaW1lb3V0IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iVXNlQmluYXJ5RW5jb2RpbmciIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heFN0cmluZ0xlbmd0aCIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heEJ5dGVTdHJpbmdMZW5ndGgiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhBcnJheUxlbmd0aCIgVHlw +ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heE1lc3NhZ2VTaXpl +IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4QnVmZmVy +U2l6ZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNoYW5u +ZWxMaWZldGltZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlNlY3VyaXR5VG9rZW5MaWZldGltZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJRdWVyeURhdGFE +ZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZWxhdGl2ZVBhdGgiIFR5cGVOYW1lPSJ0bnM6UmVsYXRpdmVQYXRoIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iQXR0cmlidXRlSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iSW5kZXhSYW5nZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+ +DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i +Tm9kZVR5cGVEZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJUeXBlRGVmaW5pdGlvbk5vZGUiIFR5cGVOYW1lPSJ1YTpFeHBhbmRl +ZE5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkluY2x1ZGVTdWJUeXBlcyIgVHlwZU5h +bWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRhdGFUb1JldHVy +biIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFUb1Jl +dHVybiIgVHlwZU5hbWU9InRuczpRdWVyeURhdGFEZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5v +T2ZEYXRhVG9SZXR1cm4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51 +bWVyYXRlZFR5cGUgTmFtZT0iRmlsdGVyT3BlcmF0b3IiIExlbmd0aEluQml0cz0iMzIiPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkVxdWFscyIgVmFsdWU9IjAiIC8+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNOdWxsIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVu +dW1lcmF0ZWRWYWx1ZSBOYW1lPSJHcmVhdGVyVGhhbiIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iTGVzc1RoYW4iIFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IkdyZWF0ZXJUaGFuT3JFcXVhbCIgVmFsdWU9IjQiIC8+DQogICAg +PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTGVzc1RoYW5PckVxdWFsIiBWYWx1ZT0iNSIgLz4N +CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJMaWtlIiBWYWx1ZT0iNiIgLz4NCiAgICA8 +b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb3QiIFZhbHVlPSI3IiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IkJldHdlZW4iIFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6RW51bWVy +YXRlZFZhbHVlIE5hbWU9IkluTGlzdCIgVmFsdWU9IjkiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk +VmFsdWUgTmFtZT0iQW5kIiBWYWx1ZT0iMTAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg +TmFtZT0iT3IiIFZhbHVlPSIxMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJD +YXN0IiBWYWx1ZT0iMTIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW5WaWV3 +IiBWYWx1ZT0iMTMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iT2ZUeXBlIiBW +YWx1ZT0iMTQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVsYXRlZFRvIiBW +YWx1ZT0iMTUiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQml0d2lzZUFuZCIg +VmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJpdHdpc2VPciIg +VmFsdWU9IjE3IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy +ZWRUeXBlIE5hbWU9IlF1ZXJ5RGF0YVNldCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJ +ZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlR5cGVEZWZpbml0aW9uTm9kZSIgVHlwZU5hbWU9 +InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlZhbHVlcyIg +VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlcyIgVHlw +ZU5hbWU9InVhOlZhcmlhbnQiIExlbmd0aEZpZWxkPSJOb09mVmFsdWVzIiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik5vZGVSZWZlcmVu +Y2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +Tm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVm +ZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iSXNGb3J3YXJkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJOb09mUmVmZXJlbmNlZE5vZGVJZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VkTm9kZUlkcyIgVHlwZU5hbWU9InVhOk5vZGVJZCIg +TGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2VkTm9kZUlkcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl +ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDb250ZW50RmlsdGVyRWxlbWVu +dCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJG +aWx0ZXJPcGVyYXRvciIgVHlwZU5hbWU9InRuczpGaWx0ZXJPcGVyYXRvciIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vT2ZGaWx0ZXJPcGVyYW5kcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRlck9wZXJhbmRzIiBUeXBlTmFtZT0idWE6RXh0ZW5z +aW9uT2JqZWN0IiBMZW5ndGhGaWVsZD0iTm9PZkZpbHRlck9wZXJhbmRzIiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNvbnRlbnRGaWx0 +ZXIiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +Tm9PZkVsZW1lbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iRWxlbWVudHMiIFR5cGVOYW1lPSJ0bnM6Q29udGVudEZpbHRlckVsZW1lbnQiIExlbmd0aEZp +ZWxkPSJOb09mRWxlbWVudHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iRmlsdGVyT3BlcmFuZCIgQmFzZVR5cGU9InVhOkV4dGVuc2lv +bk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iRWxlbWVudE9wZXJhbmQiIEJhc2VUeXBlPSJ0bnM6RmlsdGVyT3BlcmFuZCI+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJJbmRleCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwv +b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTGl0ZXJh +bE9wZXJhbmQiIEJhc2VUeXBlPSJ0bnM6RmlsdGVyT3BlcmFuZCI+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQXR0cmlidXRlT3BlcmFuZCIgQmFz +ZVR5cGU9InRuczpGaWx0ZXJPcGVyYW5kIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIg +VHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFsaWFzIiBUeXBl +TmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZVBhdGgiIFR5 +cGVOYW1lPSJ0bnM6UmVsYXRpdmVQYXRoIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXR0cmli +dXRlSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5k +ZXhSYW5nZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2ltcGxlQXR0cmlidXRlT3BlcmFuZCIg +QmFzZVR5cGU9InRuczpGaWx0ZXJPcGVyYW5kIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlR5cGVE +ZWZpbml0aW9uSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mQnJvd3NlUGF0aCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkJyb3dzZVBhdGgiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBMZW5ndGhGaWVs +ZD0iTm9PZkJyb3dzZVBhdGgiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdHRyaWJ1dGVJZCIg +VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbmRleFJhbmdl +IiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg +PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIgQmFz +ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXND +b2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v +T2ZPcGVyYW5kU3RhdHVzQ29kZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJPcGVyYW5kU3RhdHVzQ29kZXMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBM +ZW5ndGhGaWVsZD0iTm9PZk9wZXJhbmRTdGF0dXNDb2RlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ik5vT2ZPcGVyYW5kRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iT3BlcmFuZERpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVh +OkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZk9wZXJhbmREaWFnbm9zdGljSW5mb3Mi +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt +ZT0iQ29udGVudEZpbHRlclJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRWxlbWVudFJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbGVtZW50UmVzdWx0cyIgVHlwZU5hbWU9InRu +czpDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZFbGVtZW50UmVz +dWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFbGVtZW50RGlhZ25vc3RpY0luZm9z +IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRWxlbWVudERp +YWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0i +Tm9PZkVsZW1lbnREaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K +DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUGFyc2luZ1Jlc3VsdCIgQmFzZVR5cGU9InVh +OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBl +TmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEYXRhU3Rh +dHVzQ29kZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE +YXRhU3RhdHVzQ29kZXMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9P +ZkRhdGFTdGF0dXNDb2RlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEYXRhRGlhZ25v +c3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +RGF0YURpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhG +aWVsZD0iTm9PZkRhdGFEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUXVlcnlGaXJzdFJlcXVlc3QiIEJhc2VU +eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhl +YWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iVmlldyIgVHlwZU5hbWU9InRuczpWaWV3RGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb09mTm9kZVR5cGVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9kZVR5cGVzIiBUeXBlTmFtZT0idG5zOk5vZGVUeXBlRGVzY3JpcHRpb24i +IExlbmd0aEZpZWxkPSJOb09mTm9kZVR5cGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmls +dGVyIiBUeXBlTmFtZT0idG5zOkNvbnRlbnRGaWx0ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJNYXhEYXRhU2V0c1RvUmV0dXJuIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik1heFJlZmVyZW5jZXNUb1JldHVybiIgVHlwZU5hbWU9Im9wYzpVSW50MzIi +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt +ZT0iUXVlcnlGaXJzdFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNl +SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlF1ZXJ5RGF0YVNldHMiIFR5cGVO +YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJRdWVyeURhdGFTZXRzIiBU +eXBlTmFtZT0idG5zOlF1ZXJ5RGF0YVNldCIgTGVuZ3RoRmllbGQ9Ik5vT2ZRdWVyeURhdGFTZXRz +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29udGludWF0aW9uUG9pbnQiIFR5cGVOYW1lPSJv +cGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZQYXJzaW5nUmVzdWx0 +cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBhcnNpbmdS +ZXN1bHRzIiBUeXBlTmFtZT0idG5zOlBhcnNpbmdSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUGFy +c2luZ1Jlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9z +IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3Rp +Y0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlh +Z25vc3RpY0luZm9zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmlsdGVyUmVzdWx0IiBUeXBl +TmFtZT0idG5zOkNvbnRlbnRGaWx0ZXJSZXN1bHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUXVlcnlOZXh0UmVxdWVzdCIgQmFzZVR5 +cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVh +ZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJSZWxlYXNlQ29udGludWF0aW9uUG9pbnQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiBUeXBlTmFtZT0ib3BjOkJ5dGVT +dHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iUXVlcnlOZXh0UmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVz +cG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUXVlcnlEYXRhU2V0cyIg +VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlF1ZXJ5RGF0YVNl +dHMiIFR5cGVOYW1lPSJ0bnM6UXVlcnlEYXRhU2V0IiBMZW5ndGhGaWVsZD0iTm9PZlF1ZXJ5RGF0 +YVNldHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkQ29udGludWF0aW9uUG9pbnQi +IFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iIExlbmd0aElu +Qml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNvdXJjZSIgVmFsdWU9 +IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU2VydmVyIiBWYWx1ZT0iMSIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCb3RoIiBWYWx1ZT0iMiIgLz4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOZWl0aGVyIiBWYWx1ZT0iMyIgLz4NCiAgICA8 +b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnZhbGlkIiBWYWx1ZT0iNCIgLz4NCiAgPC9vcGM6 +RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWFkVmFsdWVJ +ZCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO +b2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdHRy +aWJ1dGVJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJ +bmRleFJhbmdlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkRhdGFFbmNvZGluZyIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIC8+DQogIDwvb3BjOlN0 +cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVhZFJlcXVlc3Qi +IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVx +dWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTWF4QWdlIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlRpbWVzdGFtcHNUb1JldHVybiIgVHlwZU5hbWU9InRuczpUaW1lc3RhbXBzVG9SZXR1 +cm4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTm9kZXNUb1JlYWQiIFR5cGVOYW1lPSJv +cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rlc1RvUmVhZCIgVHlwZU5hbWU9 +InRuczpSZWFkVmFsdWVJZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvUmVhZCIgLz4NCiAgPC9v +cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWFkUmVz +cG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpEYXRhVmFsdWUiIExlbmd0 +aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9z +dGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE +aWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9 +Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv +cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeVJlYWRWYWx1ZUlkIiBCYXNlVHlwZT0idWE6 +RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9 +InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkluZGV4UmFuZ2UiIFR5cGVOYW1l +PSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YUVuY29kaW5nIiBUeXBl +TmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbnRpbnVh +dGlvblBvaW50IiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeVJlYWRSZXN1bHQi +IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Rh +dHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJDb250aW51YXRpb25Qb2ludCIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iSGlzdG9yeURhdGEiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3Qi +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt +ZT0iSGlzdG9yeVJlYWREZXRhaWxzIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg +PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWFk +RXZlbnREZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyI+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOdW1WYWx1ZXNQZXJOb2RlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXJ0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXIiIFR5cGVOYW1lPSJ0bnM6RXZlbnRGaWx0 +ZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iUmVhZFJhd01vZGlmaWVkRGV0YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5UmVhZERl +dGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNSZWFkTW9kaWZpZWQiIFR5cGVOYW1lPSJv +cGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXJ0VGltZSIgVHlwZU5hbWU9 +Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZFRpbWUiIFR5cGVOYW1l +PSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOdW1WYWx1ZXNQZXJOb2Rl +IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldHVybkJv +dW5kcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N +Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlYWRQcm9jZXNzZWREZXRhaWxzIiBCYXNl +VHlwZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGFy +dFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJF +bmRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +UHJvY2Vzc2luZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vT2ZBZ2dyZWdhdGVUeXBlIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iQWdncmVnYXRlVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgTGVu +Z3RoRmllbGQ9Ik5vT2ZBZ2dyZWdhdGVUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWdn +cmVnYXRlQ29uZmlndXJhdGlvbiIgVHlwZU5hbWU9InRuczpBZ2dyZWdhdGVDb25maWd1cmF0aW9u +IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9IlJlYWRBdFRpbWVEZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyI+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVxVGltZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXFUaW1lcyIgVHlwZU5hbWU9Im9wYzpEYXRlVGlt +ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXFUaW1lcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVz +ZVNpbXBsZUJvdW5kcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlEYXRhIiBCYXNl +VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEYXRh +VmFsdWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0 +YVZhbHVlcyIgVHlwZU5hbWU9InVhOkRhdGFWYWx1ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZEYXRhVmFs +dWVzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl +IE5hbWU9Ik1vZGlmaWNhdGlvbkluZm8iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iTW9kaWZpY2F0aW9uVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRl +VGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVwZGF0ZVR5cGUiIFR5cGVOYW1lPSJ0bnM6 +SGlzdG9yeVVwZGF0ZVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyTmFtZSIgVHlw +ZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeU1vZGlmaWVkRGF0YSIgQmFzZVR5cGU9InRuczpI +aXN0b3J5RGF0YSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGF0YVZhbHVlcyIgVHlwZU5h +bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFWYWx1ZXMiIFR5cGVO +YW1lPSJ1YTpEYXRhVmFsdWUiIExlbmd0aEZpZWxkPSJOb09mRGF0YVZhbHVlcyIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik5vT2ZNb2RpZmljYXRpb25JbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vZGlmaWNhdGlvbkluZm9zIiBUeXBlTmFtZT0i +dG5zOk1vZGlmaWNhdGlvbkluZm8iIExlbmd0aEZpZWxkPSJOb09mTW9kaWZpY2F0aW9uSW5mb3Mi +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt +ZT0iSGlzdG9yeUV2ZW50IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vT2ZFdmVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJFdmVudHMiIFR5cGVOYW1lPSJ0bnM6SGlzdG9yeUV2ZW50RmllbGRMaXN0 +IiBMZW5ndGhGaWVsZD0iTm9PZkV2ZW50cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5UmVhZFJlcXVlc3QiIEJhc2VUeXBl +PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRl +ciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +SGlzdG9yeVJlYWREZXRhaWxzIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiBUeXBlTmFtZT0idG5zOlRpbWVz +dGFtcHNUb1JldHVybiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlbGVhc2VDb250aW51YXRp +b25Qb2ludHMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5vT2ZOb2Rlc1RvUmVhZCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vZGVzVG9SZWFkIiBUeXBlTmFtZT0idG5zOkhpc3RvcnlSZWFkVmFsdWVJZCIgTGVu +Z3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvUmVhZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5UmVhZFJlc3BvbnNlIiBCYXNlVHlw +ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVh +ZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idG5zOkhpc3RvcnlSZWFkUmVzdWx0IiBMZW5ndGhGaWVs +ZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0lu +Zm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25v +c3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09m +RGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9IldyaXRlVmFsdWUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl +Y3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXR0cmlidXRlSWQiIFR5cGVOYW1lPSJvcGM6VUludDMy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5kZXhSYW5nZSIgVHlwZU5hbWU9Im9wYzpTdHJp +bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOkRhdGFWYWx1 +ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO +YW1lPSJXcml0ZVJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVzVG9Xcml0ZSIgVHlwZU5hbWU9Im9w +YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVzVG9Xcml0ZSIgVHlwZU5hbWU9 +InRuczpXcml0ZVZhbHVlIiBMZW5ndGhGaWVsZD0iTm9PZk5vZGVzVG9Xcml0ZSIgLz4NCiAgPC9v +cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJXcml0ZVJl +c3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVu +Z3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdu +b3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVs +ZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg +PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5VXBkYXRlRGV0YWlscyIgQmFzZVR5cGU9 +InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVO +YW1lPSJ1YTpOb2RlSWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51 +bWVyYXRlZFR5cGUgTmFtZT0iSGlzdG9yeVVwZGF0ZVR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikluc2VydCIgVmFsdWU9IjEiIC8+DQogICAg +PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVwbGFjZSIgVmFsdWU9IjIiIC8+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVXBkYXRlIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVu +dW1lcmF0ZWRWYWx1ZSBOYW1lPSJEZWxldGUiIFZhbHVlPSI0IiAvPg0KICA8L29wYzpFbnVtZXJh +dGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlBlcmZvcm1VcGRhdGVUeXBl +IiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnNl +cnQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlcGxhY2Ui +IFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVwZGF0ZSIgVmFs +dWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVtb3ZlIiBWYWx1ZT0i +NCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO +YW1lPSJVcGRhdGVEYXRhRGV0YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0YWls +cyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNv +dXJjZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlBlcmZvcm1JbnNlcnRSZXBsYWNlIiBUeXBlTmFtZT0idG5zOlBlcmZvcm1VcGRhdGVUeXBl +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlVwZGF0ZVZhbHVlcyIgVHlwZU5hbWU9Im9w +YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVwZGF0ZVZhbHVlcyIgVHlwZU5hbWU9 +InVhOkRhdGFWYWx1ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZVcGRhdGVWYWx1ZXMiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVXBkYXRlU3Ry +dWN0dXJlRGF0YURldGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VU +eXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQ +ZXJmb3JtSW5zZXJ0UmVwbGFjZSIgVHlwZU5hbWU9InRuczpQZXJmb3JtVXBkYXRlVHlwZSIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZVcGRhdGVWYWx1ZXMiIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVcGRhdGVWYWx1ZXMiIFR5cGVOYW1lPSJ1YTpE +YXRhVmFsdWUiIExlbmd0aEZpZWxkPSJOb09mVXBkYXRlVmFsdWVzIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlVwZGF0ZUV2ZW50RGV0 +YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpIaXN0 +b3J5VXBkYXRlRGV0YWlscyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBlcmZvcm1JbnNlcnRS +ZXBsYWNlIiBUeXBlTmFtZT0idG5zOlBlcmZvcm1VcGRhdGVUeXBlIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iRmlsdGVyIiBUeXBlTmFtZT0idG5zOkV2ZW50RmlsdGVyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9PZkV2ZW50RGF0YSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkV2ZW50RGF0YSIgVHlwZU5hbWU9InRuczpIaXN0b3J5RXZlbnRGaWVs +ZExpc3QiIExlbmd0aEZpZWxkPSJOb09mRXZlbnREYXRhIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk +VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZVJhd01vZGlmaWVkRGV0 +YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpIaXN0 +b3J5VXBkYXRlRGV0YWlscyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzRGVsZXRlTW9kaWZp +ZWQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXJ0 +VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVu +ZFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlQXRUaW1lRGV0YWlscyIgQmFz +ZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO +b2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpIaXN0b3J5VXBkYXRl +RGV0YWlscyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXFUaW1lcyIgVHlwZU5hbWU9 +Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcVRpbWVzIiBUeXBlTmFtZT0i +b3BjOkRhdGVUaW1lIiBMZW5ndGhGaWVsZD0iTm9PZlJlcVRpbWVzIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZUV2ZW50RGV0 +YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpIaXN0 +b3J5VXBkYXRlRGV0YWlscyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFdmVudElkcyIg +VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50SWRzIiBU +eXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mRXZlbnRJZHMiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlz +dG9yeVVwZGF0ZVJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZPcGVyYXRpb25SZXN1bHRzIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iT3BlcmF0aW9uUmVzdWx0cyIgVHlwZU5hbWU9 +InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mT3BlcmF0aW9uUmVzdWx0cyIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1 +YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlz +dG9yeVVwZGF0ZVJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkhpc3RvcnlVcGRhdGVEZXRhaWxzIiBUeXBl +TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSGlzdG9yeVVwZGF0ZURl +dGFpbHMiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIExlbmd0aEZpZWxkPSJOb09mSGlz +dG9yeVVwZGF0ZURldGFpbHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3BvbnNlIiBCYXNlVHlwZT0idWE6 +RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBU +eXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P +ZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS +ZXN1bHRzIiBUeXBlTmFtZT0idG5zOkhpc3RvcnlVcGRhdGVSZXN1bHQiIExlbmd0aEZpZWxkPSJO +b09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3Mi +IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGlj +SW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFn +bm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 +dXJlZFR5cGUgTmFtZT0iQ2FsbE1ldGhvZFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P +YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iT2JqZWN0SWQiIFR5cGVOYW1lPSJ1YTpOb2Rl +SWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXRob2RJZCIgVHlwZU5hbWU9InVhOk5vZGVJ +ZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZJbnB1dEFyZ3VtZW50cyIgVHlwZU5hbWU9 +Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklucHV0QXJndW1lbnRzIiBUeXBl +TmFtZT0idWE6VmFyaWFudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZJbnB1dEFyZ3VtZW50cyIgLz4NCiAg +PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDYWxs +TWV0aG9kUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTm9PZklucHV0QXJndW1lbnRSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5wdXRBcmd1bWVudFJlc3VsdHMiIFR5cGVO +YW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZklucHV0QXJndW1lbnRSZXN1bHRz +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZklucHV0QXJndW1lbnREaWFnbm9zdGljSW5m +b3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbnB1dEFy +Z3VtZW50RGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0 +aEZpZWxkPSJOb09mSW5wdXRBcmd1bWVudERpYWdub3N0aWNJbmZvcyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vT2ZPdXRwdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJPdXRwdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJ1YTpWYXJpYW50 +IiBMZW5ndGhGaWVsZD0iTm9PZk91dHB1dEFyZ3VtZW50cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl +ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDYWxsUmVxdWVzdCIgQmFzZVR5 +cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVh +ZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mTWV0aG9kc1RvQ2FsbCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik1ldGhvZHNUb0NhbGwiIFR5cGVOYW1lPSJ0bnM6Q2FsbE1ldGhvZFJlcXVlc3Qi +IExlbmd0aEZpZWxkPSJOb09mTWV0aG9kc1RvQ2FsbCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 +cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDYWxsUmVzcG9uc2UiIEJhc2VUeXBl +PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFk +ZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6Q2FsbE1ldGhvZFJlc3VsdCIgTGVuZ3RoRmllbGQ9 +Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZv +cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0 +aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRp +YWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVt +ZXJhdGVkVHlwZSBOYW1lPSJNb25pdG9yaW5nTW9kZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAg +PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGlzYWJsZWQiIFZhbHVlPSIwIiAvPg0KICAgIDxv +cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNhbXBsaW5nIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3Bj +OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZXBvcnRpbmciIFZhbHVlPSIyIiAvPg0KICA8L29wYzpF +bnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkRhdGFDaGFuZ2VU +cmlnZ2VyIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l +PSJTdGF0dXMiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN0 +YXR1c1ZhbHVlIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJT +dGF0dXNWYWx1ZVRpbWVzdGFtcCIgVmFsdWU9IjIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBl +Pg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRGVhZGJhbmRUeXBlIiBMZW5ndGhJbkJp +dHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25lIiBWYWx1ZT0iMCIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBYnNvbHV0ZSIgVmFsdWU9IjEiIC8+ +DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUGVyY2VudCIgVmFsdWU9IjIiIC8+DQog +IDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9u +aXRvcmluZ0ZpbHRlciIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0 +cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGF0YUNoYW5nZUZp +bHRlciIgQmFzZVR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVyIj4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlRyaWdnZXIiIFR5cGVOYW1lPSJ0bnM6RGF0YUNoYW5nZVRyaWdnZXIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJEZWFkYmFuZFR5cGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iRGVhZGJhbmRWYWx1ZSIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+ +DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i +RXZlbnRGaWx0ZXIiIEJhc2VUeXBlPSJ0bnM6TW9uaXRvcmluZ0ZpbHRlciI+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJOb09mU2VsZWN0Q2xhdXNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlNlbGVjdENsYXVzZXMiIFR5cGVOYW1lPSJ0bnM6U2ltcGxlQXR0 +cmlidXRlT3BlcmFuZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZWxlY3RDbGF1c2VzIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iV2hlcmVDbGF1c2UiIFR5cGVOYW1lPSJ0bnM6Q29udGVudEZpbHRlciIg +Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l +PSJBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZVNlcnZlckNhcGFiaWxpdGllc0RlZmF1bHRzIiBUeXBl +TmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmVhdFVuY2VydGFp +bkFzQmFkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQ +ZXJjZW50RGF0YUJhZCIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iUGVyY2VudERhdGFHb29kIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJVc2VTbG9wZWRFeHRyYXBvbGF0aW9uIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+ +DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i +QWdncmVnYXRlRmlsdGVyIiBCYXNlVHlwZT0idG5zOk1vbml0b3JpbmdGaWx0ZXIiPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iU3RhcnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iQWdncmVnYXRlVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlByb2Nlc3NpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpE +b3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBU +eXBlTmFtZT0idG5zOkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9uaXRvcmluZ0ZpbHRlclJl +c3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRXZlbnRGaWx0ZXJSZXN1bHQiIEJh +c2VUeXBlPSJ0bnM6TW9uaXRvcmluZ0ZpbHRlclJlc3VsdCI+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mU2VsZWN0Q2xhdXNlUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlNlbGVjdENsYXVzZVJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXND +b2RlIiBMZW5ndGhGaWVsZD0iTm9PZlNlbGVjdENsYXVzZVJlc3VsdHMiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJOb09mU2VsZWN0Q2xhdXNlRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3Bj +OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VsZWN0Q2xhdXNlRGlhZ25vc3RpY0lu +Zm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mU2VsZWN0 +Q2xhdXNlRGlhZ25vc3RpY0luZm9zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV2hlcmVDbGF1 +c2VSZXN1bHQiIFR5cGVOYW1lPSJ0bnM6Q29udGVudEZpbHRlclJlc3VsdCIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBZ2dyZWdhdGVG +aWx0ZXJSZXN1bHQiIEJhc2VUeXBlPSJ0bnM6TW9uaXRvcmluZ0ZpbHRlclJlc3VsdCI+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkU3RhcnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1l +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZFByb2Nlc3NpbmdJbnRlcnZhbCIgVHlw +ZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkQWdncmVn +YXRlQ29uZmlndXJhdGlvbiIgVHlwZU5hbWU9InRuczpBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiAv +Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 +Ik1vbml0b3JpbmdQYXJhbWV0ZXJzIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudEhhbmRsZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTYW1wbGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRv +dWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRlciIgVHlwZU5hbWU9InVhOkV4dGVu +c2lvbk9iamVjdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlF1ZXVlU2l6ZSIgVHlwZU5hbWU9 +Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNjYXJkT2xkZXN0IiBUeXBl +TmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIEJhc2VUeXBl +PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXRlbVRvTW9uaXRv +ciIgVHlwZU5hbWU9InRuczpSZWFkVmFsdWVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1v +bml0b3JpbmdNb2RlIiBUeXBlTmFtZT0idG5zOk1vbml0b3JpbmdNb2RlIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iUmVxdWVzdGVkUGFyYW1ldGVycyIgVHlwZU5hbWU9InRuczpNb25pdG9yaW5n +UGFyYW1ldGVycyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 +cmVkVHlwZSBOYW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0 +ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1l +PSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmVkSXRlbUlk +IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRT +YW1wbGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlJldmlzZWRRdWV1ZVNpemUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iRmlsdGVyUmVzdWx0IiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5z +OlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIg +VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lc3RhbXBz +VG9SZXR1cm4iIFR5cGVOYW1lPSJ0bnM6VGltZXN0YW1wc1RvUmV0dXJuIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9PZkl0ZW1zVG9DcmVhdGUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJJdGVtc1RvQ3JlYXRlIiBUeXBlTmFtZT0idG5zOk1vbml0b3Jl +ZEl0ZW1DcmVhdGVSZXF1ZXN0IiBMZW5ndGhGaWVsZD0iTm9PZkl0ZW1zVG9DcmVhdGUiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ3Jl +YXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNw +b25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFt +ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9 +InRuczpNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0i +b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBl +TmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9z +IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9Ik1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3JlZEl0ZW1JZCIgVHlwZU5hbWU9Im9w +YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRQYXJhbWV0ZXJzIiBU +eXBlTmFtZT0idG5zOk1vbml0b3JpbmdQYXJhbWV0ZXJzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk +VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vbml0b3JlZEl0ZW1Nb2RpZnlS +ZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZXZpc2VkU2FtcGxpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkUXVldWVTaXplIiBUeXBlTmFtZT0ib3BjOlVJ +bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRlclJlc3VsdCIgVHlwZU5hbWU9InVh +OkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT +dHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb2RpZnlNb25pdG9yZWRJdGVtc1JlcXVlc3QiIEJhc2VUeXBl +PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRl +ciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +U3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiBUeXBlTmFtZT0idG5zOlRpbWVzdGFtcHNUb1JldHVy +biIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZJdGVtc1RvTW9kaWZ5IiBUeXBlTmFtZT0i +b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXRlbXNUb01vZGlmeSIgVHlwZU5h +bWU9InRuczpNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZJdGVt +c1RvTW9kaWZ5IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy +ZWRUeXBlIE5hbWU9Ik1vZGlmeU1vbml0b3JlZEl0ZW1zUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpF +eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5 +cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m +UmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl +c3VsdHMiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCIgTGVuZ3RoRmll +bGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJ +bmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdu +b3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9P +ZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT +dHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXRNb25pdG9yaW5nTW9kZVJlcXVlc3QiIEJhc2VUeXBlPSJ1 +YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIg +VHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vi +c2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTW9uaXRvcmluZ01vZGUiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmluZ01vZGUiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJOb09mTW9uaXRvcmVkSXRlbUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3JlZEl0ZW1JZHMiIFR5cGVOYW1lPSJv +cGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZk1vbml0b3JlZEl0ZW1JZHMiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2V0TW9uaXRv +cmluZ01vZGVSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRl +ciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1 +c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIg +TGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2V0VHJpZ2dlcmluZ1JlcXVlc3Qi +IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVx +dWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iU3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iVHJpZ2dlcmluZ0l0ZW1JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTGlua3NUb0FkZCIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxpbmtzVG9BZGQiIFR5cGVOYW1lPSJvcGM6VUlu +dDMyIiBMZW5ndGhGaWVsZD0iTm9PZkxpbmtzVG9BZGQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mTGlua3NUb1JlbW92ZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkxpbmtzVG9SZW1vdmUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVs +ZD0iTm9PZkxpbmtzVG9SZW1vdmUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv +cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2V0VHJpZ2dlcmluZ1Jlc3BvbnNlIiBCYXNlVHlwZT0i +dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVy +IiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +Tm9PZkFkZFJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJBZGRSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5v +T2ZBZGRSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkFkZERpYWdub3N0aWNJ +bmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFkZERp +YWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0i +Tm9PZkFkZERpYWdub3N0aWNJbmZvcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZW1v +dmVSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +UmVtb3ZlUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09m +UmVtb3ZlUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZW1vdmVEaWFnbm9z +dGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS +ZW1vdmVEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3Ro +RmllbGQ9Ik5vT2ZSZW1vdmVEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlTW9uaXRvcmVkSXRlbXNS +ZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZNb25pdG9yZWRJdGVtSWRzIiBUeXBlTmFtZT0ib3Bj +OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmVkSXRlbUlkcyIgVHlwZU5h +bWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mTW9uaXRvcmVkSXRlbUlkcyIgLz4NCiAg +PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxl +dGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3Bv +bnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0i +dWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0 +aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3Ry +dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDcmVhdGVTdWJzY3Jp +cHRpb25SZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbCIgVHlwZU5h +bWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRMaWZldGlt +ZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl +cXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoIiBUeXBlTmFtZT0ib3Bj +OlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hpbmdFbmFibGVkIiBUeXBl +TmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcmlvcml0eSIgVHlw +ZU5hbWU9Im9wYzpCeXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9IkNyZWF0ZVN1YnNjcmlwdGlvblJlc3BvbnNlIiBCYXNlVHlwZT0i +dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVy +IiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +U3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iUmV2aXNlZFB1Ymxpc2hpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkTGlmZXRpbWVDb3VudCIgVHlwZU5hbWU9Im9w +YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkTWF4S2VlcEFsaXZlQ291 +bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K +ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvblJlcXVlc3QiIEJh +c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVz +dEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iU3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iUmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRv +dWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZExpZmV0aW1lQ291bnQiIFR5 +cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkTWF4 +S2VlcEFsaXZlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2giIFR5cGVOYW1lPSJvcGM6VUludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJpb3JpdHkiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4N +CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJN +b2RpZnlTdWJzY3JpcHRpb25SZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNw +b25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRQdWJsaXNoaW5nSW50 +ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2 +aXNlZExpZmV0aW1lQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iUmV2aXNlZE1heEtlZXBBbGl2ZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg +Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l +PSJTZXRQdWJsaXNoaW5nTW9kZVJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1 +ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaGluZ0VuYWJsZWQiIFR5 +cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTdWJzY3Jp +cHRpb25JZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT +dWJzY3JpcHRpb25JZHMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZlN1 +YnNjcmlwdGlvbklkcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 +Y3R1cmVkVHlwZSBOYW1lPSJTZXRQdWJsaXNoaW5nTW9kZVJlc3BvbnNlIiBCYXNlVHlwZT0idWE6 +RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBU +eXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P +ZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS +ZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRz +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9 +Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlw +ZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZv +cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO +YW1lPSJOb3RpZmljYXRpb25NZXNzYWdlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcXVlbmNlTnVtYmVyIiBUeXBlTmFtZT0ib3BjOlVJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hUaW1lIiBUeXBlTmFtZT0ib3BjOkRh +dGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vdGlmaWNhdGlvbkRhdGEiIFR5 +cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb3RpZmljYXRpb25E +YXRhIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBMZW5ndGhGaWVsZD0iTm9PZk5vdGlm +aWNhdGlvbkRhdGEiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 +dXJlZFR5cGUgTmFtZT0iTm90aWZpY2F0aW9uRGF0YSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iRGF0YUNoYW5nZU5vdGlmaWNhdGlvbiIgQmFzZVR5cGU9InRuczpOb3RpZmljYXRpb25E +YXRhIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZNb25pdG9yZWRJdGVtcyIgVHlwZU5hbWU9 +Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3JlZEl0ZW1zIiBUeXBl +TmFtZT0idG5zOk1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iIExlbmd0aEZpZWxkPSJOb09mTW9u +aXRvcmVkSXRlbXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9z +IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3Rp +Y0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlh +Z25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj +dHVyZWRUeXBlIE5hbWU9Ik1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iIEJhc2VUeXBlPSJ1YTpF +eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50SGFuZGxlIiBUeXBl +TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFt +ZT0idWE6RGF0YVZhbHVlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9IkV2ZW50Tm90aWZpY2F0aW9uTGlzdCIgQmFzZVR5cGU9InRuczpO +b3RpZmljYXRpb25EYXRhIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFdmVudHMiIFR5cGVO +YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVudHMiIFR5cGVOYW1l +PSJ0bnM6RXZlbnRGaWVsZExpc3QiIExlbmd0aEZpZWxkPSJOb09mRXZlbnRzIiAvPg0KICA8L29w +YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkV2ZW50Rmll +bGRMaXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkNsaWVudEhhbmRsZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb09mRXZlbnRGaWVsZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJFdmVudEZpZWxkcyIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIExlbmd0aEZp +ZWxkPSJOb09mRXZlbnRGaWVsZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv +cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeUV2ZW50RmllbGRMaXN0IiBCYXNlVHlwZT0i +dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFdmVudEZpZWxk +cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50Rmll +bGRzIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZFdmVudEZpZWxkcyIg +Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l +PSJTdGF0dXNDaGFuZ2VOb3RpZmljYXRpb24iIEJhc2VUeXBlPSJ0bnM6Tm90aWZpY2F0aW9uRGF0 +YSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2Rl +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm8iIFR5cGVOYW1lPSJ1YTpE +aWFnbm9zdGljSW5mbyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 +Y3R1cmVkVHlwZSBOYW1lPSJTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiIEJhc2VUeXBlPSJ1 +YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWQi +IFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VxdWVuY2VO +dW1iZXIiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N +Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlB1Ymxpc2hSZXF1ZXN0IiBCYXNlVHlwZT0i +dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIi +IFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v +T2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50cyIgVHlwZU5h +bWU9InRuczpTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiIExlbmd0aEZpZWxkPSJOb09mU3Vi +c2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJQdWJsaXNoUmVzcG9uc2UiIEJhc2VUeXBlPSJ1 +YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIi +IFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT +dWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJOb09mQXZhaWxhYmxlU2VxdWVuY2VOdW1iZXJzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXZhaWxhYmxlU2VxdWVuY2VOdW1iZXJzIiBUeXBlTmFt +ZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBdmFpbGFibGVTZXF1ZW5jZU51bWJlcnMi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb3JlTm90aWZpY2F0aW9ucyIgVHlwZU5hbWU9Im9w +YzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm90aWZpY2F0aW9uTWVzc2FnZSIg +VHlwZU5hbWU9InRuczpOb3RpZmljYXRpb25NZXNzYWdlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZS +ZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlw +ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZv +cyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0 +aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk +VHlwZSBOYW1lPSJSZXB1Ymxpc2hSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVx +dWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBl +TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldHJhbnNtaXRTZXF1 +ZW5jZU51bWJlciIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVwdWJsaXNoUmVzcG9uc2UiIEJh +c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9u +c2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb3RpZmljYXRpb25NZXNzYWdlIiBUeXBlTmFtZT0idG5zOk5vdGlmaWNhdGlvbk1l +c3NhZ2UiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iVHJhbnNmZXJSZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXZhaWxhYmxlU2VxdWVuY2VOdW1iZXJzIiBU +eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXZhaWxhYmxlU2Vx +dWVuY2VOdW1iZXJzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBdmFp +bGFibGVTZXF1ZW5jZU51bWJlcnMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv +cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVHJhbnNmZXJTdWJzY3JpcHRpb25zUmVxdWVzdCIgQmFz +ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0 +SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJOb09mU3Vic2NyaXB0aW9uSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWRzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVu +Z3RoRmllbGQ9Ik5vT2ZTdWJzY3JpcHRpb25JZHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT +ZW5kSW5pdGlhbFZhbHVlcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRyYW5zZmVyU3Vic2Ny +aXB0aW9uc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idG5zOlRyYW5z +ZmVyUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0lu +Zm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZVN1YnNjcmlwdGlv +bnNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTdWJzY3JpcHRpb25JZHMiIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZHMiIFR5cGVOYW1lPSJv +cGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZlN1YnNjcmlwdGlvbklkcyIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVTdWJz +Y3JpcHRpb25zUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFk +ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJ +bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0 +dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8i +IExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk +VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJ1aWxkSW5mbyIgQmFzZVR5cGU9 +InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcm9kdWN0VXJpIiBU +eXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1hbnVmYWN0dXJl +ck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJv +ZHVjdE5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +U29mdHdhcmVWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkJ1aWxkTnVtYmVyIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkJ1aWxkRGF0ZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJSZWR1bmRhbmN5 +U3VwcG9ydCIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt +ZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ29s +ZCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iV2FybSIgVmFs +dWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSG90IiBWYWx1ZT0iMyIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJUcmFuc3BhcmVudCIgVmFsdWU9IjQi +IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSG90QW5kTWlycm9yZWQiIFZhbHVl +PSI1IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBl +IE5hbWU9IlNlcnZlclN0YXRlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0 +ZWRWYWx1ZSBOYW1lPSJSdW5uaW5nIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJGYWlsZWQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9Ik5vQ29uZmlndXJhdGlvbiIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk +VmFsdWUgTmFtZT0iU3VzcGVuZGVkIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJTaHV0ZG93biIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs +dWUgTmFtZT0iVGVzdCIgVmFsdWU9IjUiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt +ZT0iQ29tbXVuaWNhdGlvbkZhdWx0IiBWYWx1ZT0iNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJVbmtub3duIiBWYWx1ZT0iNyIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+ +DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIg +QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2 +ZXJJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2 +aWNlTGV2ZWwiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNl +cnZlclN0YXRlIiBUeXBlTmFtZT0idG5zOlNlcnZlclN0YXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkVuZHBvaW50VXJsTGlzdERh +dGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ik5vT2ZFbmRwb2ludFVybExpc3QiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybExpc3QiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5n +dGhGaWVsZD0iTm9PZkVuZHBvaW50VXJsTGlzdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ +DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJOZXR3b3JrR3JvdXBEYXRhVHlwZSIgQmFz +ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJV +cmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5l +dHdvcmtQYXRocyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5ldHdvcmtQYXRocyIgVHlwZU5hbWU9InRuczpFbmRwb2ludFVybExpc3REYXRhVHlwZSIgTGVu +Z3RoRmllbGQ9Ik5vT2ZOZXR3b3JrUGF0aHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K +DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNz +RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iU2FtcGxpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJNb25pdG9yZWRJdGVtQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4TW9uaXRvcmVkSXRlbUNvdW50IiBUeXBlTmFtZT0i +b3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2FibGVkTW9uaXRvcmVkSXRl +bUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ +DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXJ2ZXJEaWFnbm9zdGljc1N1bW1hcnlE +YXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJTZXJ2ZXJWaWV3Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iQ3VycmVudFNlc3Npb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdW11bGF0ZWRTZXNzaW9uQ291bnQiIFR5cGVOYW1lPSJv +cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlSZWplY3RlZFNlc3Np +b25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS +ZWplY3RlZFNlc3Npb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJTZXNzaW9uVGltZW91dENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlc3Npb25BYm9ydENvdW50IiBUeXBlTmFtZT0ib3BjOlVJ +bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1cnJlbnRTdWJzY3JpcHRpb25Db3VudCIg +VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdW11bGF0ZWRT +dWJzY3JpcHRpb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJQdWJsaXNoaW5nSW50ZXJ2YWxDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eVJlamVjdGVkUmVxdWVzdHNDb3VudCIgVHlw +ZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWplY3RlZFJlcXVl +c3RzQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNlcnZlclN0YXR1c0RhdGFUeXBlIiBC +YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXJ0 +VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1 +cnJlbnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iU3RhdGUiIFR5cGVOYW1lPSJ0bnM6U2VydmVyU3RhdGUiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJCdWlsZEluZm8iIFR5cGVOYW1lPSJ0bnM6QnVpbGRJbmZvIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iU2Vjb25kc1RpbGxTaHV0ZG93biIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJTaHV0ZG93blJlYXNvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXpl +ZFRleHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp +b25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6 +Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvbk5hbWUiIFR5cGVOYW1lPSJv +cGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50RGVzY3JpcHRpb24iIFR5 +cGVOYW1lPSJ0bnM6QXBwbGljYXRpb25EZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlNlcnZlclVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJFbmRwb2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb09mTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9 +Ik5vT2ZMb2NhbGVJZHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBY3R1YWxTZXNzaW9uVGlt +ZW91dCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhS +ZXNwb25zZU1lc3NhZ2VTaXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkNsaWVudENvbm5lY3Rpb25UaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50TGFzdENvbnRhY3RUaW1lIiBUeXBlTmFtZT0i +b3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3VycmVudFN1YnNjcmlwdGlv +bnNDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJD +dXJyZW50TW9uaXRvcmVkSXRlbXNDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJDdXJyZW50UHVibGlzaFJlcXVlc3RzSW5RdWV1ZSIgVHlwZU5hbWU9 +Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUb3RhbFJlcXVlc3RDb3VudCIg +VHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iVW5hdXRob3JpemVkUmVxdWVzdENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlYWRDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291 +bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSGlzdG9yeVJlYWRDb3VudCIg +VHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iV3JpdGVDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSGlzdG9yeVVwZGF0ZUNvdW50IiBUeXBlTmFtZT0idG5z +OlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDYWxsQ291 +bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2Vydmlj +ZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vZGlmeU1vbml0b3Jl +ZEl0ZW1zQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlNldE1vbml0b3JpbmdNb2RlQ291bnQiIFR5cGVOYW1lPSJ0bnM6 +U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNldFRyaWdn +ZXJpbmdDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iRGVsZXRlTW9uaXRvcmVkSXRlbXNDb3VudCIgVHlwZU5hbWU9InRu +czpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3JlYXRl +U3Vic2NyaXB0aW9uQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvbkNvdW50IiBUeXBlTmFt +ZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT +ZXRQdWJsaXNoaW5nTW9kZUNvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5 +cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoQ291bnQiIFR5cGVOYW1lPSJ0bnM6 +U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcHVibGlz +aENvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJUcmFuc2ZlclN1YnNjcmlwdGlvbnNDb3VudCIgVHlwZU5hbWU9InRuczpT +ZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVsZXRlU3Vi +c2NyaXB0aW9uc0NvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGROb2Rlc0NvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZp +Y2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGRSZWZlcmVuY2Vz +Q291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IkRlbGV0ZU5vZGVzQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50 +ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNDb3Vu +dCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iQnJvd3NlQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlw +ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5leHRDb3VudCIgVHlwZU5hbWU9InRu +czpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNs +YXRlQnJvd3NlUGF0aHNUb05vZGVJZHNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRl +ckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVlcnlGaXJzdENvdW50IiBUeXBl +TmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJRdWVyeU5leHRDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVnaXN0ZXJOb2Rlc0NvdW50IiBUeXBlTmFtZT0idG5z +OlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVbnJlZ2lz +dGVyTm9kZXNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0K +ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNl +c3Npb25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P +YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6Tm9k +ZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50VXNlcklkT2ZTZXNzaW9uIiBUeXBl +TmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZDbGllbnRVc2Vy +SWRIaXN0b3J5IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +Q2xpZW50VXNlcklkSGlzdG9yeSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJO +b09mQ2xpZW50VXNlcklkSGlzdG9yeSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF1dGhlbnRp +Y2F0aW9uTWVjaGFuaXNtIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkVuY29kaW5nIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlRyYW5zcG9ydFByb3RvY29sIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TW9kZSIgVHlwZU5hbWU9InRuczpNZXNzYWdlU2VjdXJp +dHlNb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlQb2xpY3lVcmkiIFR5cGVO +YW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50Q2VydGlmaWNh +dGUiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ +DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBC +YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRvdGFs +Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXJy +b3JDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3RhdHVzUmVzdWx0IiBCYXNlVHlwZT0i +dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5 +cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3Rp +Y0luZm8iIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl +ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTdWJzY3JpcHRpb25EaWFnbm9z +dGljc0RhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlByaW9yaXR5IiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4S2VlcEFsaXZlQ291bnQiIFR5cGVOYW1lPSJvcGM6 +VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4TGlmZXRpbWVDb3VudCIgVHlwZU5h +bWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhOb3RpZmljYXRpb25z +UGVyUHVibGlzaCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJQdWJsaXNoaW5nRW5hYmxlZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTW9kaWZ5Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iRW5hYmxlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iRGlzYWJsZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcHVibGlzaFJlcXVlc3RDb3VudCIgVHlwZU5hbWU9Im9w +YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXB1Ymxpc2hNZXNzYWdlUmVxdWVz +dENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl +cHVibGlzaE1lc3NhZ2VDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJUcmFuc2ZlclJlcXVlc3RDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc2ZlcnJlZFRvQWx0Q2xpZW50Q291bnQiIFR5cGVO +YW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNmZXJyZWRUb1Nh +bWVDbGllbnRDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJQdWJsaXNoUmVxdWVzdENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkRhdGFDaGFuZ2VOb3RpZmljYXRpb25zQ291bnQiIFR5cGVOYW1lPSJv +cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnROb3RpZmljYXRpb25zQ291 +bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm90aWZp +Y2F0aW9uc0NvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkxhdGVQdWJsaXNoUmVxdWVzdENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkN1cnJlbnRLZWVwQWxpdmVDb3VudCIgVHlwZU5hbWU9Im9wYzpV +SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdXJyZW50TGlmZXRpbWVDb3VudCIgVHlw +ZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVbmFja25vd2xlZGdl +ZE1lc3NhZ2VDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJEaXNjYXJkZWRNZXNzYWdlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmVkSXRlbUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2FibGVkTW9uaXRvcmVkSXRlbUNvdW50IiBU +eXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3JpbmdR +dWV1ZU92ZXJmbG93Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTmV4dFNlcXVlbmNlTnVtYmVyIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50UXVldWVPdmVyRmxvd0NvdW50IiBUeXBlTmFtZT0ib3Bj +OlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVk +VHlwZSBOYW1lPSJNb2RlbENoYW5nZVN0cnVjdHVyZVZlcmJNYXNrIiBMZW5ndGhJbkJpdHM9IjMy +Ij4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlQWRkZWQiIFZhbHVlPSIxIiAv +Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vZGVEZWxldGVkIiBWYWx1ZT0iMiIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWZlcmVuY2VBZGRlZCIgVmFsdWU9 +IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlRGVsZXRlZCIg +VmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGF0YVR5cGVDaGFu +Z2VkIiBWYWx1ZT0iMTYiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3Ry +dWN0dXJlZFR5cGUgTmFtZT0iTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgQmFzZVR5cGU9 +InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZmZlY3RlZCIgVHlw +ZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFmZmVjdGVkVHlwZSIg +VHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZlcmIiIFR5cGVO +YW1lPSJvcGM6Qnl0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 +Y3R1cmVkVHlwZSBOYW1lPSJTZW1hbnRpY0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiBCYXNlVHlw +ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFmZmVjdGVkIiBU +eXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWZmZWN0ZWRUeXBl +IiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 +b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJhbmdlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvdyIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJIaWdoIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAg +PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFVUlu +Zm9ybWF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5hbWVzcGFjZVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJVbml0SWQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQi +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFt +ZT0iQXhpc1NjYWxlRW51bWVyYXRpb24iIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IkxpbmVhciIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJh +dGVkVmFsdWUgTmFtZT0iTG9nIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 +ZSBOYW1lPSJMbiIgVmFsdWU9IjIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxv +cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ29tcGxleE51bWJlclR5cGUiIEJhc2VUeXBlPSJ1YTpF +eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVhbCIgVHlwZU5hbWU9Im9w +YzpGbG9hdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkltYWdpbmFyeSIgVHlwZU5hbWU9Im9w +YzpGbG9hdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk +VHlwZSBOYW1lPSJEb3VibGVDb21wbGV4TnVtYmVyVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lv +bk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWFsIiBUeXBlTmFtZT0ib3BjOkRvdWJs +ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkltYWdpbmFyeSIgVHlwZU5hbWU9Im9wYzpEb3Vi +bGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iQXhpc0luZm9ybWF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkVuZ2luZWVyaW5nVW5pdHMiIFR5cGVOYW1lPSJ0bnM6RVVJbmZv +cm1hdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVVUmFuZ2UiIFR5cGVOYW1lPSJ0bnM6 +UmFuZ2UiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaXRsZSIgVHlwZU5hbWU9InVhOkxvY2Fs +aXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBeGlzU2NhbGVUeXBlIiBUeXBlTmFt +ZT0idG5zOkF4aXNTY2FsZUVudW1lcmF0aW9uIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P +ZkF4aXNTdGVwcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkF4aXNTdGVwcyIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIExlbmd0aEZpZWxkPSJOb09mQXhpc1N0 +ZXBzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl +IE5hbWU9IlhWVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJYIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlZhbHVlIiBUeXBlTmFtZT0ib3BjOkZsb2F0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlByb2dyYW1EaWFnbm9zdGljRGF0YVR5 +cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +Q3JlYXRlU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iQ3JlYXRlQ2xpZW50TmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJJbnZvY2F0aW9uQ3JlYXRpb25UaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVU +aW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdFRyYW5zaXRpb25UaW1lIiBUeXBlTmFt +ZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZENhbGwi +IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhv +ZFNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5vT2ZMYXN0TWV0aG9kSW5wdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kSW5wdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJ0 +bnM6QXJndW1lbnQiIExlbmd0aEZpZWxkPSJOb09mTGFzdE1ldGhvZElucHV0QXJndW1lbnRzIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxhc3RNZXRob2RPdXRwdXRBcmd1bWVudHMiIFR5 +cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kT3V0 +cHV0QXJndW1lbnRzIiBUeXBlTmFtZT0idG5zOkFyZ3VtZW50IiBMZW5ndGhGaWVsZD0iTm9PZkxh +c3RNZXRob2RPdXRwdXRBcmd1bWVudHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0 +aG9kQ2FsbFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJMYXN0TWV0aG9kUmV0dXJuU3RhdHVzIiBUeXBlTmFtZT0idG5zOlN0YXR1c1Jlc3VsdCIg +Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l +PSJBbm5vdGF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik1lc3NhZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iVXNlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iQW5ub3RhdGlvblRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogIDwv +b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRXhjZXB0 +aW9uRGV2aWF0aW9uRm9ybWF0IiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0 +ZWRWYWx1ZSBOYW1lPSJBYnNvbHV0ZVZhbHVlIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1l +cmF0ZWRWYWx1ZSBOYW1lPSJQZXJjZW50T2ZWYWx1ZSIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iUGVyY2VudE9mUmFuZ2UiIFZhbHVlPSIyIiAvPg0KICAgIDxv +cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlBlcmNlbnRPZkVVUmFuZ2UiIFZhbHVlPSIzIiAvPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVua25vd24iIFZhbHVlPSI0IiAvPg0KICA8 +L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KPC9vcGM6VHlwZURpY3Rpb25hcnk+ + + + + NamespaceUri + A URI that uniquely identifies the dictionary. + + i=68 + i=7617 + + + http://opcfoundation.org/UA/ + + + + TrustListDataType + + i=69 + i=7617 + + + TrustListDataType + + + + Argument + + i=69 + i=7617 + + + Argument + + + + EnumValueType + + i=69 + i=7617 + + + EnumValueType + + + + OptionSet + + i=69 + i=7617 + + + OptionSet + + + + Union + + i=69 + i=7617 + + + Union + + + + 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 + + + + Annotation + + i=69 + i=7617 + + + Annotation + + + diff --git a/schemas/Opc.Ua.NodeSet2.Part8.xml b/schemas/Opc.Ua.NodeSet2.Part8.xml index a28b68646..f48a1ec3d 100644 --- a/schemas/Opc.Ua.NodeSet2.Part8.xml +++ b/schemas/Opc.Ua.NodeSet2.Part8.xml @@ -1,525 +1,596 @@ - - - - - - - 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 - - - DataItemType - A variable that contains live automation data. - - i=2366 - i=2367 - i=63 - - - - Definition - A vendor-specific, human readable string that specifies how the value of this DataItem is calculated. - - i=68 - i=80 - i=2365 - - - - ValuePrecision - The maximum precision that the server can maintain for the item based on restrictions in the target environment. - - i=68 - i=80 - i=2365 - - - - AnalogItemType - - i=2370 - i=2369 - i=2371 - i=2365 - - - - InstrumentRange - - i=68 - i=80 - i=2368 - - - - EURange - - i=68 - i=78 - i=2368 - - - - EngineeringUnits - - i=68 - i=80 - i=2368 - - - - DiscreteItemType - - i=2365 - - - - TwoStateDiscreteType - - i=2374 - i=2375 - i=2372 - - - - FalseState - - i=68 - i=78 - i=2373 - - - - TrueState - - i=68 - i=78 - i=2373 - - - - MultiStateDiscreteType - - i=2377 - i=2372 - - - - EnumStrings - - i=68 - i=78 - i=2376 - - - - MultiStateValueDiscreteType - - i=11241 - i=11461 - i=2372 - - - - EnumValues - - i=68 - i=78 - i=11238 - - - - ValueAsText - - i=68 - i=78 - i=11238 - - - - ArrayItemType - - 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 - - i=12037 - i=12021 - - - - XAxisDefinition - - i=68 - i=78 - i=12029 - - - - XYArrayItemType - - i=12046 - i=12021 - - - - XAxisDefinition - - i=68 - i=78 - i=12038 - - - - ImageItemType - - i=12055 - i=12056 - i=12021 - - - - XAxisDefinition - - i=68 - i=78 - i=12047 - - - - YAxisDefinition - - i=68 - i=78 - i=12047 - - - - CubeItemType - - 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 - - i=12076 - i=12021 - - - - AxisDefinition - - i=68 - i=78 - i=12068 - - - - Range - - i=22 - - - - - - - - EUInformation - - i=22 - - - - - - - - - - AxisScaleEnumeration - - i=12078 - i=29 - - - - - - - - - EnumStrings - - i=68 - i=78 - i=12077 - - - - - - - Linear - - - - - Log - - - - - Ln - - - - - - ComplexNumberType - - i=22 - - - - - - - - DoubleComplexNumberType - - i=22 - - - - - - - - AxisInformation - - i=22 - - - - - - - - - - - XVType - - i=22 - - - - - - - - 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 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 - - - \ No newline at end of file + + + + + + + + + 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 + + + DataItemType + A variable that contains live automation data. + + i=2366 + i=2367 + i=63 + + + + Definition + A vendor-specific, human readable string that specifies how the value of this DataItem is calculated. + + i=68 + i=80 + i=2365 + + + + ValuePrecision + The maximum precision that the server can maintain for the item based on restrictions in the target environment. + + i=68 + i=80 + i=2365 + + + + AnalogItemType + + i=2370 + i=2369 + i=2371 + i=2365 + + + + InstrumentRange + + i=68 + i=80 + i=2368 + + + + EURange + + i=68 + i=78 + i=2368 + + + + EngineeringUnits + + i=68 + i=80 + i=2368 + + + + DiscreteItemType + + i=2365 + + + + TwoStateDiscreteType + + i=2374 + i=2375 + i=2372 + + + + FalseState + + i=68 + i=78 + i=2373 + + + + TrueState + + i=68 + i=78 + i=2373 + + + + MultiStateDiscreteType + + i=2377 + i=2372 + + + + EnumStrings + + i=68 + i=78 + i=2376 + + + + MultiStateValueDiscreteType + + i=11241 + i=11461 + i=2372 + + + + EnumValues + + i=68 + i=78 + i=11238 + + + + ValueAsText + + i=68 + i=78 + i=11238 + + + + ArrayItemType + + 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 + + i=12037 + i=12021 + + + + XAxisDefinition + + i=68 + i=78 + i=12029 + + + + XYArrayItemType + + i=12046 + i=12021 + + + + XAxisDefinition + + i=68 + i=78 + i=12038 + + + + ImageItemType + + i=12055 + i=12056 + i=12021 + + + + XAxisDefinition + + i=68 + i=78 + i=12047 + + + + YAxisDefinition + + i=68 + i=78 + i=12047 + + + + CubeItemType + + 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 + + i=12076 + i=12021 + + + + AxisDefinition + + i=68 + i=78 + i=12068 + + + + Range + + i=22 + + + + + + + + EUInformation + + i=22 + + + + + + + + + + AxisScaleEnumeration + + i=12078 + i=29 + + + + + + + + + EnumStrings + + i=68 + i=78 + i=12077 + + + + + + + Linear + + + + + Log + + + + + Ln + + + + + + ComplexNumberType + + i=22 + + + + + + + + DoubleComplexNumberType + + i=22 + + + + + + + + AxisInformation + + i=22 + + + + + + + + + + + XVType + + i=22 + + + + + + + + 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 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 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 + + + diff --git a/schemas/Opc.Ua.NodeSet2.Part9.xml b/schemas/Opc.Ua.NodeSet2.Part9.xml index 3ae9ba60d..c441cc98e 100644 --- a/schemas/Opc.Ua.NodeSet2.Part9.xml +++ b/schemas/Opc.Ua.NodeSet2.Part9.xml @@ -1,2049 +1,2087 @@ - - - - - - - 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 - - - TwoStateVariableType - - 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 - - i=9003 - i=63 - - - - SourceTimestamp - - i=68 - i=78 - i=9002 - - - - HasTrueSubState - - i=32 - - IsTrueSubStateOf - - - HasFalseSubState - - i=32 - - IsFalseSubStateOf - - - ConditionType - - i=11112 - i=11113 - 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 - - - - 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=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 - - - - 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 - - i=2803 - i=78 - i=2782 - - - - Enable - - i=2803 - i=78 - i=2782 - - - - AddComment - - 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 - - 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 suscription to refresh. - - - - - - - - - ConditionRefresh2 - - 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 suscription to refresh. - - - - - - - i=297 - - - - MonitoredItemId - - i=288 - - -1 - - - - - The identifier for the monitored item to refresh. - - - - - - - - - DialogConditionType - - 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=9035 - i=8995 - i=78 - i=2830 - - - - Id - - i=68 - i=78 - i=9055 - - - - TransitionTime - - i=68 - i=80 - i=9055 - - - - 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 - - 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 - - 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=9073 - i=8995 - i=78 - i=2881 - - - - Id - - i=68 - i=78 - i=9093 - - - - TransitionTime - - i=68 - i=80 - i=9093 - - - - ConfirmedState - - i=9103 - i=9107 - i=9073 - i=8995 - i=80 - i=2881 - - - - Id - - i=68 - i=78 - i=9102 - - - - TransitionTime - - i=68 - i=80 - i=9102 - - - - Acknowledge - - 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 - - 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 - - i=9118 - i=9160 - i=11120 - i=9169 - i=9178 - i=9215 - i=9216 - 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=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 - - - - InputNode - - i=68 - i=78 - i=2915 - - - - SuppressedState - - i=9170 - i=9174 - i=9118 - i=8995 - i=80 - i=2915 - - - - Id - - i=68 - i=78 - i=9169 - - - - TransitionTime - - i=68 - i=80 - i=9169 - - - - ShelvingState - - i=9179 - i=9184 - i=9189 - i=9211 - i=9212 - i=9213 - 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 - - - - Unshelve - - i=11093 - i=78 - i=9178 - - - - OneShotShelve - - i=11093 - 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. - - - - - - - - - SuppressedOrShelved - - i=68 - i=78 - i=2915 - - - - MaxTimeShelved - - i=68 - i=80 - i=2915 - - - - ShelvedStateMachineType - - i=9115 - i=2930 - i=2932 - i=2933 - i=2935 - i=2936 - i=2940 - i=2942 - i=2943 - i=2945 - i=2947 - i=2948 - i=2949 - 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 - - - - TimedShelved - - i=6100 - i=2935 - i=2940 - i=2942 - i=2945 - i=2307 - i=2929 - - - - StateNumber - - i=68 - i=78 - i=2932 - - - - OneShotShelved - - i=6101 - i=2936 - i=2942 - i=2943 - i=2945 - i=2307 - i=2929 - - - - StateNumber - - i=68 - i=78 - i=2933 - - - - UnshelvedToTimedShelved - - i=11322 - i=2930 - i=2932 - i=2915 - i=2949 - i=2310 - i=2929 - - - - TransitionNumber - - i=68 - i=78 - i=2935 - - - - UnshelvedToOneShotShelved - - i=11323 - i=2930 - i=2933 - i=2915 - i=2948 - i=2310 - i=2929 - - - - TransitionNumber - - i=68 - i=78 - i=2936 - - - - TimedShelvedToUnshelved - - i=11324 - i=2932 - i=2930 - i=2915 - i=2947 - i=2310 - i=2929 - - - - TransitionNumber - - i=68 - i=78 - i=2940 - - - - TimedShelvedToOneShotShelved - - i=11325 - i=2932 - i=2933 - i=2915 - i=2948 - i=2310 - i=2929 - - - - TransitionNumber - - i=68 - i=78 - i=2942 - - - - OneShotShelvedToUnshelved - - i=11326 - i=2933 - i=2930 - i=2915 - i=2947 - i=2310 - i=2929 - - - - TransitionNumber - - i=68 - i=78 - i=2943 - - - - OneShotShelvedToTimedShelved - - i=11327 - i=2933 - i=2932 - i=2915 - i=2949 - i=2310 - i=2929 - - - - TransitionNumber - - i=68 - i=78 - i=2945 - - - - Unshelve - - i=2940 - i=2943 - i=11093 - i=78 - i=2929 - - - - OneShotShelve - - i=2936 - i=2942 - i=11093 - i=78 - i=2929 - - - - TimedShelve - - 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. - - - - - - - - - LimitAlarmType - - i=11124 - i=11125 - i=11126 - i=11127 - 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 - - - - ExclusiveLimitStateMachineType - - 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 - - - - High - - i=9332 - i=9339 - i=9340 - i=2307 - i=9318 - - - - StateNumber - - i=68 - i=78 - i=9331 - - - - Low - - i=9334 - i=9337 - i=9338 - i=2307 - i=9318 - - - - StateNumber - - i=68 - i=78 - i=9333 - - - - LowLow - - i=9336 - i=9337 - i=9338 - i=2307 - i=9318 - - - - StateNumber - - i=68 - i=78 - i=9335 - - - - LowLowToLow - - i=11340 - i=9335 - i=9333 - i=2310 - i=9318 - - - - TransitionNumber - - i=68 - i=78 - i=9337 - - - - LowToLowLow - - i=11341 - i=9333 - i=9335 - i=2310 - i=9318 - - - - TransitionNumber - - i=68 - i=78 - i=9338 - - - - HighHighToHigh - - i=11342 - i=9329 - i=9331 - i=2310 - i=9318 - - - - TransitionNumber - - i=68 - i=78 - i=9339 - - - - HighToHighHigh - - i=11343 - i=9331 - i=9329 - i=2310 - i=9318 - - - - TransitionNumber - - i=68 - i=78 - i=9340 - - - - ExclusiveLimitAlarmType - - 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 - - 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=9963 - i=8995 - i=80 - i=9906 - - - - Id - - i=68 - i=78 - i=10020 - - - - TransitionTime - - i=68 - i=80 - i=10020 - - - - HighState - - i=10030 - i=10034 - i=9963 - i=8995 - i=80 - i=9906 - - - - Id - - i=68 - i=78 - i=10029 - - - - TransitionTime - - i=68 - i=80 - i=10029 - - - - LowState - - i=10039 - i=10043 - i=9963 - i=8995 - i=80 - i=9906 - - - - Id - - i=68 - i=78 - i=10038 - - - - TransitionTime - - i=68 - i=80 - i=10038 - - - - LowLowState - - i=10048 - i=10052 - i=9963 - i=8995 - i=80 - i=9906 - - - - Id - - i=68 - i=78 - i=10047 - - - - TransitionTime - - i=68 - i=80 - i=10047 - - - - NonExclusiveLevelAlarmType - - i=9906 - - - - ExclusiveLevelAlarmType - - i=9341 - - - - NonExclusiveDeviationAlarmType - - i=10522 - i=9906 - - - - SetpointNode - - i=68 - i=78 - i=10368 - - - - ExclusiveDeviationAlarmType - - i=9905 - i=9341 - - - - SetpointNode - - i=68 - i=78 - i=9764 - - - - NonExclusiveRateOfChangeAlarmType - - i=9906 - - - - ExclusiveRateOfChangeAlarmType - - i=9341 - - - - DiscreteAlarmType - - i=2915 - - - - OffNormalAlarmType - - i=11158 - i=10523 - - - - NormalState - - i=68 - i=78 - i=10637 - - - - SystemOffNormalAlarmType - - i=10637 - - - - CertificateExpirationAlarmType - - i=13325 - i=13326 - i=13327 - i=11753 - - - - ExpirationDate - - i=68 - i=78 - i=13225 - - - - CertificateType - - i=68 - i=78 - i=13225 - - - - Certificate - - i=68 - i=78 - i=13225 - - - - TripAlarmType - - i=10637 - - - - BaseConditionClassType - - i=58 - - - - ProcessConditionClassType - - i=11163 - - - - MaintenanceConditionClassType - - i=11163 - - - - SystemConditionClassType - - i=11163 - - - - AuditConditionEventType - - i=2127 - - - - AuditConditionEnableEventType - - i=2790 - - - - AuditConditionCommentEventType - - i=4170 - i=11851 - i=2790 - - - - EventId - A globally unique identifier for the event. - - i=68 - i=78 - i=2829 - - - - Comment - - i=68 - i=78 - i=2829 - - - - AuditConditionRespondEventType - - i=11852 - i=2790 - - - - SelectedResponse - - i=68 - i=78 - i=8927 - - - - AuditConditionAcknowledgeEventType - - i=8945 - i=11853 - i=2790 - - - - EventId - A globally unique identifier for the event. - - i=68 - i=78 - i=8944 - - - - Comment - - i=68 - i=78 - i=8944 - - - - AuditConditionConfirmEventType - - i=8962 - i=11854 - i=2790 - - - - EventId - A globally unique identifier for the event. - - i=68 - i=78 - i=8961 - - - - Comment - - i=68 - i=78 - i=8961 - - - - AuditConditionShelvingEventType - - i=11855 - i=2790 - - - - ShelvingTime - - i=68 - i=78 - i=11093 - - - - RefreshStartEventType - - i=2130 - - - - RefreshEndEventType - - i=2130 - - - - RefreshRequiredEventType - - i=2130 - - - - HasCondition - - i=32 - - IsConditionOf - - \ No newline at end of file + + + + + + + + + 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 + + + TwoStateVariableType + + 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 + + i=9003 + i=63 + + + + SourceTimestamp + + i=68 + i=78 + i=9002 + + + + HasTrueSubState + + i=32 + + IsTrueSubStateOf + + + HasFalseSubState + + i=32 + + IsFalseSubStateOf + + + ConditionType + + i=11112 + i=11113 + 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 + + + + 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=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 + + + + 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 + + i=2803 + i=78 + i=2782 + + + + Enable + + i=2803 + i=78 + i=2782 + + + + AddComment + + 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 + + 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 suscription to refresh. + + + + + + + + + ConditionRefresh2 + + 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 suscription to refresh. + + + + + + + i=297 + + + + MonitoredItemId + + i=288 + + -1 + + + + + The identifier for the monitored item to refresh. + + + + + + + + + DialogConditionType + + 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=9035 + i=8995 + i=78 + i=2830 + + + + Id + + i=68 + i=78 + i=9055 + + + + TransitionTime + + i=68 + i=80 + i=9055 + + + + 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 + + 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 + + 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=9073 + i=8995 + i=78 + i=2881 + + + + Id + + i=68 + i=78 + i=9093 + + + + TransitionTime + + i=68 + i=80 + i=9093 + + + + ConfirmedState + + i=9103 + i=9107 + i=9073 + i=8995 + i=80 + i=2881 + + + + Id + + i=68 + i=78 + i=9102 + + + + TransitionTime + + i=68 + i=80 + i=9102 + + + + Acknowledge + + 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 + + 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 + + i=9118 + i=9160 + i=11120 + i=9169 + i=9178 + i=9215 + i=9216 + 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=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 + + + + InputNode + + i=68 + i=78 + i=2915 + + + + SuppressedState + + i=9170 + i=9174 + i=9118 + i=8995 + i=80 + i=2915 + + + + Id + + i=68 + i=78 + i=9169 + + + + TransitionTime + + i=68 + i=80 + i=9169 + + + + ShelvingState + + i=9179 + i=9184 + i=9189 + i=9211 + i=9212 + i=9213 + 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 + + + + Unshelve + + i=11093 + i=78 + i=9178 + + + + OneShotShelve + + i=11093 + 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. + + + + + + + + + SuppressedOrShelved + + i=68 + i=78 + i=2915 + + + + MaxTimeShelved + + i=68 + i=80 + i=2915 + + + + ShelvedStateMachineType + + i=9115 + i=2930 + i=2932 + i=2933 + i=2935 + i=2936 + i=2940 + i=2942 + i=2943 + i=2945 + i=2947 + i=2948 + i=2949 + 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 + + + + TimedShelved + + i=6100 + i=2935 + i=2940 + i=2942 + i=2945 + i=2307 + i=2929 + + + + StateNumber + + i=68 + i=78 + i=2932 + + + + OneShotShelved + + i=6101 + i=2936 + i=2942 + i=2943 + i=2945 + i=2307 + i=2929 + + + + StateNumber + + i=68 + i=78 + i=2933 + + + + UnshelvedToTimedShelved + + i=11322 + i=2930 + i=2932 + i=2915 + i=2949 + i=2310 + i=2929 + + + + TransitionNumber + + i=68 + i=78 + i=2935 + + + + UnshelvedToOneShotShelved + + i=11323 + i=2930 + i=2933 + i=2915 + i=2948 + i=2310 + i=2929 + + + + TransitionNumber + + i=68 + i=78 + i=2936 + + + + TimedShelvedToUnshelved + + i=11324 + i=2932 + i=2930 + i=2915 + i=2947 + i=2310 + i=2929 + + + + TransitionNumber + + i=68 + i=78 + i=2940 + + + + TimedShelvedToOneShotShelved + + i=11325 + i=2932 + i=2933 + i=2915 + i=2948 + i=2310 + i=2929 + + + + TransitionNumber + + i=68 + i=78 + i=2942 + + + + OneShotShelvedToUnshelved + + i=11326 + i=2933 + i=2930 + i=2915 + i=2947 + i=2310 + i=2929 + + + + TransitionNumber + + i=68 + i=78 + i=2943 + + + + OneShotShelvedToTimedShelved + + i=11327 + i=2933 + i=2932 + i=2915 + i=2949 + i=2310 + i=2929 + + + + TransitionNumber + + i=68 + i=78 + i=2945 + + + + Unshelve + + i=2940 + i=2943 + i=11093 + i=78 + i=2929 + + + + OneShotShelve + + i=2936 + i=2942 + i=11093 + i=78 + i=2929 + + + + TimedShelve + + 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. + + + + + + + + + LimitAlarmType + + i=11124 + i=11125 + i=11126 + i=11127 + 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 + + + + ExclusiveLimitStateMachineType + + 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 + + + + High + + i=9332 + i=9339 + i=9340 + i=2307 + i=9318 + + + + StateNumber + + i=68 + i=78 + i=9331 + + + + Low + + i=9334 + i=9337 + i=9338 + i=2307 + i=9318 + + + + StateNumber + + i=68 + i=78 + i=9333 + + + + LowLow + + i=9336 + i=9337 + i=9338 + i=2307 + i=9318 + + + + StateNumber + + i=68 + i=78 + i=9335 + + + + LowLowToLow + + i=11340 + i=9335 + i=9333 + i=2310 + i=9318 + + + + TransitionNumber + + i=68 + i=78 + i=9337 + + + + LowToLowLow + + i=11341 + i=9333 + i=9335 + i=2310 + i=9318 + + + + TransitionNumber + + i=68 + i=78 + i=9338 + + + + HighHighToHigh + + i=11342 + i=9329 + i=9331 + i=2310 + i=9318 + + + + TransitionNumber + + i=68 + i=78 + i=9339 + + + + HighToHighHigh + + i=11343 + i=9331 + i=9329 + i=2310 + i=9318 + + + + TransitionNumber + + i=68 + i=78 + i=9340 + + + + ExclusiveLimitAlarmType + + 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 + + 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=9963 + i=8995 + i=80 + i=9906 + + + + Id + + i=68 + i=78 + i=10020 + + + + TransitionTime + + i=68 + i=80 + i=10020 + + + + HighState + + i=10030 + i=10034 + i=9963 + i=8995 + i=80 + i=9906 + + + + Id + + i=68 + i=78 + i=10029 + + + + TransitionTime + + i=68 + i=80 + i=10029 + + + + LowState + + i=10039 + i=10043 + i=9963 + i=8995 + i=80 + i=9906 + + + + Id + + i=68 + i=78 + i=10038 + + + + TransitionTime + + i=68 + i=80 + i=10038 + + + + LowLowState + + i=10048 + i=10052 + i=9963 + i=8995 + i=80 + i=9906 + + + + Id + + i=68 + i=78 + i=10047 + + + + TransitionTime + + i=68 + i=80 + i=10047 + + + + NonExclusiveLevelAlarmType + + i=9906 + + + + ExclusiveLevelAlarmType + + i=9341 + + + + NonExclusiveDeviationAlarmType + + i=10522 + i=9906 + + + + SetpointNode + + i=68 + i=78 + i=10368 + + + + ExclusiveDeviationAlarmType + + i=9905 + i=9341 + + + + SetpointNode + + i=68 + i=78 + i=9764 + + + + NonExclusiveRateOfChangeAlarmType + + i=9906 + + + + ExclusiveRateOfChangeAlarmType + + i=9341 + + + + DiscreteAlarmType + + i=2915 + + + + OffNormalAlarmType + + i=11158 + i=10523 + + + + NormalState + + i=68 + i=78 + i=10637 + + + + SystemOffNormalAlarmType + + i=10637 + + + + CertificateExpirationAlarmType + + 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 + + + + TripAlarmType + + i=10637 + + + + BaseConditionClassType + + i=58 + + + + ProcessConditionClassType + + i=11163 + + + + MaintenanceConditionClassType + + i=11163 + + + + SystemConditionClassType + + i=11163 + + + + AuditConditionEventType + + i=2127 + + + + AuditConditionEnableEventType + + i=2790 + + + + AuditConditionCommentEventType + + i=4170 + i=11851 + i=2790 + + + + EventId + A globally unique identifier for the event. + + i=68 + i=78 + i=2829 + + + + Comment + + i=68 + i=78 + i=2829 + + + + AuditConditionRespondEventType + + i=11852 + i=2790 + + + + SelectedResponse + + i=68 + i=78 + i=8927 + + + + AuditConditionAcknowledgeEventType + + i=8945 + i=11853 + i=2790 + + + + EventId + A globally unique identifier for the event. + + i=68 + i=78 + i=8944 + + + + Comment + + i=68 + i=78 + i=8944 + + + + AuditConditionConfirmEventType + + i=8962 + i=11854 + i=2790 + + + + EventId + A globally unique identifier for the event. + + i=68 + i=78 + i=8961 + + + + Comment + + i=68 + i=78 + i=8961 + + + + AuditConditionShelvingEventType + + i=11855 + i=2790 + + + + ShelvingTime + + i=68 + i=78 + i=11093 + + + + RefreshStartEventType + + i=2130 + + + + RefreshEndEventType + + i=2130 + + + + RefreshRequiredEventType + + i=2130 + + + + HasCondition + + i=32 + + IsConditionOf + + diff --git a/schemas/Opc.Ua.NodeSet2.xml b/schemas/Opc.Ua.NodeSet2.xml index 545211d7e..3759d1b74 100644 --- a/schemas/Opc.Ua.NodeSet2.xml +++ b/schemas/Opc.Ua.NodeSet2.xml @@ -1,31815 +1,31528 @@ - - - - - - - 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 - - - Default Binary - The default binary encoding for a data type. - - i=58 - - - - Default XML - The default XML encoding for a data type. - - i=58 - - - - BaseDataType - Describes a value that can have any valid DataType. - - - - Number - Describes a value that can have any numeric DataType. - - i=24 - - - - Integer - Describes a value that can have any integer DataType. - - i=26 - - - - UInteger - Describes a value that can have any unsigned integer DataType. - - i=26 - - - - Enumeration - Describes a value that is an enumerated DataType. - - i=24 - - - - Boolean - Describes a value that is either TRUE or FALSE. - - i=24 - - - - SByte - Describes a value that is an integer between -128 and 127. - - i=27 - - - - Byte - Describes a value that is an integer between 0 and 255. - - i=28 - - - - Int16 - Describes a value that is an integer between −32,768 and 32,767. - - i=27 - - - - UInt16 - Describes a value that is an integer between 0 and 65535. - - i=28 - - - - Int32 - Describes a value that is an integer between −2,147,483,648 and 2,147,483,647. - - i=27 - - - - UInt32 - Describes a value that is an integer between 0 and 4,294,967,295. - - i=28 - - - - Int64 - Describes a value that is an integer between −9,223,372,036,854,775,808 and 9,223,372,036,854,775,807. - - i=27 - - - - UInt64 - Describes a value that is an integer between 0 and 18,446,744,073,709,551,615. - - i=28 - - - - Float - Describes a value that is an IEEE 754-1985 single precision floating point number. - - i=26 - - - - Double - Describes a value that is an IEEE 754-1985 double precision floating point number. - - i=26 - - - - String - Describes a value that is a sequence of printable Unicode characters. - - i=24 - - - - DateTime - Describes a value that is a Gregorian calender date and time. - - i=24 - - - - Guid - Describes a value that is a 128-bit globally unique identifier. - - i=24 - - - - ByteString - Describes a value that is a sequence of bytes. - - i=24 - - - - XmlElement - Describes a value that is an XML element. - - i=24 - - - - NodeId - Describes a value that is an identifier for a node within a Server address space. - - i=24 - - - - ExpandedNodeId - Describes a value that is an absolute identifier for a node. - - i=24 - - - - StatusCode - Describes a value that is a code representing the outcome of an operation by a Server. - - i=24 - - - - QualifiedName - Describes a value that is a name qualified by a namespace. - - i=24 - - - - LocalizedText - Describes a value that is human readable Unicode text with a locale identifier. - - i=24 - - - - Structure - Describes a value that is any type of structure that can be described with a data encoding. - - i=24 - - - - DataValue - Describes a value that is a structure containing a value, a status code and timestamps. - - i=24 - - - - DiagnosticInfo - Describes a value that is a structure containing diagnostics associated with a StatusCode. - - i=24 - - - - Image - Describes a value that is an image encoded as a string of bytes. - - i=15 - - - - Decimal128 - Describes a 128-bit decimal value. - - i=26 - - - - References - The abstract base type for all references. - - References - - - NonHierarchicalReferences - The abstract base type for all non-hierarchical references. - - i=31 - - NonHierarchicalReferences - - - HierarchicalReferences - The abstract base type for all hierarchical references. - - i=31 - - HierarchicalReferences - - - HasChild - The abstract base type for all non-looping hierarchical references. - - i=33 - - ChildOf - - - Organizes - The type for hierarchical references that are used to organize nodes. - - i=33 - - OrganizedBy - - - HasEventSource - The type for non-looping hierarchical references that are used to organize event sources. - - i=33 - - EventSourceOf - - - HasModellingRule - The type for references from instance declarations to modelling rule nodes. - - i=32 - - ModellingRuleOf - - - HasEncoding - The type for references from data type nodes to to data type encoding nodes. - - i=32 - - EncodingOf - - - HasDescription - The type for references from data type encoding nodes to data type description nodes. - - i=32 - - DescriptionOf - - - HasTypeDefinition - The type for references from a instance node its type defintion node. - - i=32 - - TypeDefinitionOf - - - GeneratesEvent - The type for references from a node to an event type that is raised by node. - - i=32 - - GeneratesEvent - - - AlwaysGeneratesEvent - The type for references from a node to an event type that is always raised by node. - - i=32 - - AlwaysGeneratesEvent - - - Aggregates - The type for non-looping hierarchical references that are used to aggregate nodes into complex types. - - i=34 - - AggregatedBy - - - HasSubtype - The type for non-looping hierarchical references that are used to define sub types. - - i=34 - - HasSupertype - - - HasProperty - The type for non-looping hierarchical reference from a node to its property. - - i=44 - - PropertyOf - - - HasComponent - The type for non-looping hierarchical reference from a node to its component. - - i=44 - - ComponentOf - - - HasNotifier - The type for non-looping hierarchical references that are used to indicate how events propagate from node to node. - - i=36 - - NotifierOf - - - HasOrderedComponent - The type for non-looping hierarchical reference from a node to its component when the order of references matters. - - i=47 - - OrderedComponentOf - - - FromState - The type for a reference to the state before a transition. - - i=32 - - ToTransition - - - ToState - The type for a reference to the state after a transition. - - i=32 - - FromTransition - - - HasCause - The type for a reference to a method that can cause a transition to occur. - - i=32 - - MayBeCausedBy - - - HasEffect - The type for a reference to an event that may be raised when a transition occurs. - - i=32 - - MayBeEffectedBy - - - HasSubStateMachine - The type for a reference to a substate for a state. - - i=32 - - SubStateMachineOf - - - HasHistoricalConfiguration - The type for a reference to the historical configuration for a data variable. - - i=44 - - HistoricalConfigurationOf - - - BaseObjectType - The base type for all object nodes. - - - - FolderType - The type for objects that organize other nodes. - - i=58 - - - - BaseVariableType - The abstract base type for all variable nodes. - - - - BaseDataVariableType - The type for variable that represents a process value. - - i=62 - - - - PropertyType - The type for variable that represents a property of another node. - - i=62 - - - - DataTypeDescriptionType - The type for variable that represents the description of a data type encoding. - - i=104 - i=105 - i=63 - - - - DataTypeVersion - The version number for the data type description. - - i=68 - i=80 - i=69 - - - - DictionaryFragment - A fragment of a data type dictionary that defines the data type. - - i=68 - i=80 - i=69 - - - - DataTypeDictionaryType - The type for variable that represents the collection of data type decriptions. - - i=106 - i=107 - i=63 - - - - DataTypeVersion - The version number for the data type dictionary. - - i=68 - i=80 - i=72 - - - - NamespaceUri - A URI that uniquely identifies the dictionary. - - i=68 - i=80 - i=72 - - - - DataTypeSystemType - - i=58 - - - - DataTypeEncodingType - - i=58 - - - - NamingRuleType - Describes a value that specifies the significance of the BrowseName for an instance declaration. - - 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=78 - 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 - The type for an object that describes how an instance declaration is used when a type is instantiated. - - i=111 - i=58 - - - - NamingRule - Specified the significances of the BrowseName when a type is instantiated. - - i=68 - i=78 - i=77 - - - 1 - - - - Mandatory - Specifies that an instance with the attributes and references of the instance declaration must appear when a type is instantiated. - - i=112 - i=77 - - - - NamingRule - Specified the significances of the BrowseName when a type is instantiated. - - i=68 - i=78 - - - 1 - - - - Optional - Specifies that an instance with the attributes and references of the instance declaration may appear when a type is instantiated. - - i=113 - i=77 - - - - NamingRule - Specified the significances of the BrowseName when a type is instantiated. - - i=68 - i=80 - - - 2 - - - - ExposesItsArray - Specifies that an instance appears for each element of the containing array variable. - - i=114 - i=77 - - - - NamingRule - Specified the significances of the BrowseName when a type is instantiated. - - i=68 - i=83 - - - 3 - - - - MandatoryShared - Specifies that a reference to a shared instance must appear in when a type is instantiated. - - i=116 - i=77 - - - - NamingRule - Specified the significances of the BrowseName when a type is instantiated. - - i=68 - i=79 - - - 1 - - - - OptionalPlaceholder - Specifies that zero or more instances with the attributes and references of the instance declaration may appear when a type is instantiated. - - i=11509 - i=77 - - - - NamingRule - Specified the significances of the BrowseName when a type is instantiated. - - i=68 - i=11508 - - - 2 - - - - MandatoryPlaceholder - Specifies that one or more instances with the attributes and references of the instance declaration must appear when a type is instantiated. - - i=11511 - i=77 - - - - NamingRule - Specified the significances of the BrowseName when a type is instantiated. - - i=68 - i=11510 - - - 1 - - - - Root - The root of the server address space. - - i=61 - - - - Objects - The browse entry point when looking for objects in the server address space. - - i=84 - i=61 - - - - Types - The browse entry point when looking for types in the server address space. - - i=84 - i=61 - - - - Views - The browse entry point when looking for views in the server address space. - - i=84 - i=61 - - - - ObjectTypes - The browse entry point when looking for object types in the server address space. - - i=86 - i=58 - i=61 - - - - VariableTypes - The browse entry point when looking for variable types in the server address space. - - i=86 - i=62 - i=61 - - - - DataTypes - The browse entry point when looking for data types in the server address space. - - i=86 - i=24 - i=61 - - - - ReferenceTypes - The browse entry point when looking for reference types in the server address space. - - i=86 - i=31 - i=61 - - - - XML Schema - A type system which uses XML schema to describe the encoding of data types. - - i=90 - i=75 - - - - OPC Binary - A type system which uses OPC binary schema to describe the encoding of data types. - - i=90 - i=75 - - - - NodeVersion - The version number of the node (used to indicate changes to references of the owning node). - - i=68 - - - - ViewVersion - The version number of the view. - - i=68 - - - - Icon - A small image representing the object. - - i=68 - - - - LocalTime - The local time where the owning variable value was collected. - - i=68 - - - - AllowNulls - Whether the value of the owning variable is allowed to be null. - - i=68 - - - - ValueAsText - The string representation of the current value for a variable with an enumerated data type. - - i=68 - - - - MaxStringLength - The maximum length for a string that can be stored in the owning variable. - - i=68 - - - - MaxByteStringLength - The maximum length for a byte string that can be stored in the owning variable. - - i=68 - - - - MaxArrayLength - The maximum length for an array that can be stored in the owning variable. - - i=68 - - - - EngineeringUnits - The engineering units for the value of the owning variable. - - i=68 - - - - EnumStrings - The human readable strings associated with the values of an enumerated value (when values are sequential). - - i=68 - - - - EnumValues - The human readable strings associated with the values of an enumerated value (when values have no sequence). - - i=68 - - - - OptionSetValues - Contains the human-readable representation for each bit of the bit mask. - - i=68 - - - - InputArguments - The input arguments for a method. - - i=68 - - - - OutputArguments - The output arguments for a method. - - i=68 - - - - ImageBMP - An image encoded in BMP format. - - i=30 - - - - ImageGIF - An image encoded in GIF format. - - i=30 - - - - ImageJPG - An image encoded in JPEG format. - - i=30 - - - - ImagePNG - An image encoded in PNG format. - - i=30 - - - - ServerType - Specifies the current status and capabilities of the server. - - i=2005 - i=2006 - i=2007 - i=2008 - i=2742 - i=12882 - i=2009 - i=2010 - i=2011 - i=2012 - i=11527 - i=11489 - i=12871 - i=12746 - i=12883 - i=58 - - - - ServerArray - The list of server URIs used by the server. - - i=68 - i=78 - i=2004 - - - - NamespaceArray - The list of namespace URIs used by the server. - - i=68 - i=78 - i=2004 - - - - ServerStatus - The current status of the server. - - 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 - A value indicating the level of service the server can provide. 255 indicates the best. - - i=68 - i=78 - i=2004 - - - - Auditing - A flag indicating whether the server is currently generating audit events. - - i=68 - i=78 - i=2004 - - - - EstimatedReturnTime - Indicates the time at which the Server is expected to be available in the state RUNNING. - - i=68 - i=80 - i=2004 - - - - ServerCapabilities - Describes capabilities supported by the server. - - 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 - A list of profiles supported by the server. - - i=68 - i=78 - i=2009 - - - - LocaleIdArray - A list of locales supported by the server. - - i=68 - i=78 - i=2009 - - - - MinSupportedSampleRate - The minimum sampling interval supported by the server. - - i=68 - i=78 - i=2009 - - - - MaxBrowseContinuationPoints - The maximum number of continuation points for Browse operations per session. - - i=68 - i=78 - i=2009 - - - - MaxQueryContinuationPoints - The maximum number of continuation points for Query operations per session. - - i=68 - i=78 - i=2009 - - - - MaxHistoryContinuationPoints - The maximum number of continuation points for ReadHistory operations per session. - - i=68 - i=78 - i=2009 - - - - SoftwareCertificates - The software certificates owned by the server. - - i=68 - i=78 - i=2009 - - - - ModellingRules - A folder for the modelling rules supported by the server. - - i=61 - i=78 - i=2009 - - - - AggregateFunctions - A folder for the real time aggregates supported by the server. - - i=61 - i=78 - i=2009 - - - - ServerDiagnostics - Reports diagnostics about the server. - - i=3095 - i=3110 - i=3111 - i=3114 - i=2020 - i=78 - i=2004 - - - - ServerDiagnosticsSummary - A summary of server level diagnostics. - - 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 - A list of diagnostics for each active subscription. - - i=2171 - i=78 - i=2010 - - - - SessionsDiagnosticsSummary - A summary of session level diagnostics. - - i=3112 - i=3113 - i=2026 - i=78 - i=2010 - - - - SessionDiagnosticsArray - A list of diagnostics for each active session. - - i=2196 - i=78 - i=3111 - - - - SessionSecurityDiagnosticsArray - A list of security related diagnostics for each active session. - - i=2243 - i=78 - i=3111 - - - - EnabledFlag - If TRUE the diagnostics collection is enabled. - - i=68 - i=78 - i=2010 - - - - VendorServerInfo - Server information provided by the vendor. - - i=2033 - i=78 - i=2004 - - - - ServerRedundancy - Describes the redundancy capabilities of the server. - - i=3115 - i=2034 - i=78 - i=2004 - - - - RedundancySupport - Indicates what style of redundancy is supported by the server. - - i=68 - i=78 - i=2012 - - - - Namespaces - Describes the namespaces supported by the server. - - 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 - - - - - - - - i=297 - - - - ClientHandles - - i=7 - - 1 - - - - - - - - - - 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 - Describes the capabilities supported by the server. - - 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=58 - - - - ServerProfileArray - A list of profiles supported by the server. - - i=68 - i=78 - i=2013 - - - - LocaleIdArray - A list of locales supported by the server. - - i=68 - i=78 - i=2013 - - - - MinSupportedSampleRate - The minimum sampling interval supported by the server. - - i=68 - i=78 - i=2013 - - - - MaxBrowseContinuationPoints - The maximum number of continuation points for Browse operations per session. - - i=68 - i=78 - i=2013 - - - - MaxQueryContinuationPoints - The maximum number of continuation points for Query operations per session. - - i=68 - i=78 - i=2013 - - - - MaxHistoryContinuationPoints - The maximum number of continuation points for ReadHistory operations per session. - - i=68 - i=78 - i=2013 - - - - SoftwareCertificates - The software certificates owned by the server. - - i=68 - i=78 - i=2013 - - - - MaxArrayLength - The maximum length for an array value supported by the server. - - i=68 - i=80 - i=2013 - - - - MaxStringLength - The maximum length for a string value supported by the server. - - i=68 - i=80 - i=2013 - - - - MaxByteStringLength - The maximum length for a byte string value supported by the server. - - i=68 - i=80 - i=2013 - - - - OperationLimits - Defines the limits supported by the server for different operations. - - i=11564 - i=80 - i=2013 - - - - ModellingRules - A folder for the modelling rules supported by the server. - - i=61 - i=78 - i=2013 - - - - AggregateFunctions - A folder for the real time aggregates supported by the server. - - i=61 - i=78 - i=2013 - - - - <VendorCapability> - - i=2137 - i=11508 - i=2013 - - - - ServerDiagnosticsType - The diagnostics information for a server. - - i=2021 - i=2022 - i=2023 - i=2744 - i=2025 - i=58 - - - - ServerDiagnosticsSummary - A summary of server level diagnostics. - - 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 - A list of diagnostics for each sampling interval supported by the server. - - i=2164 - i=80 - i=2020 - - - - SubscriptionDiagnosticsArray - A list of diagnostics for each active subscription. - - i=2171 - i=78 - i=2020 - - - - SessionsDiagnosticsSummary - A summary of session level diagnostics. - - i=3129 - i=3130 - i=2026 - i=78 - i=2020 - - - - SessionDiagnosticsArray - A list of diagnostics for each active session. - - i=2196 - i=78 - i=2744 - - - - SessionSecurityDiagnosticsArray - A list of security related diagnostics for each active session. - - i=2243 - i=78 - i=2744 - - - - EnabledFlag - If TRUE the diagnostics collection is enabled. - - i=68 - i=78 - i=2020 - - - - SessionsDiagnosticsSummaryType - Provides a summary of session level diagnostics. - - i=2027 - i=2028 - i=12097 - i=58 - - - - SessionDiagnosticsArray - A list of diagnostics for each active session. - - i=2196 - i=78 - i=2026 - - - - SessionSecurityDiagnosticsArray - A list of security related diagnostics for each active session. - - i=2243 - i=78 - i=2026 - - - - <SessionPlaceholder> - - i=12098 - i=12142 - i=12152 - i=2029 - i=11508 - i=2026 - - - - SessionDiagnostics - Diagnostics information for an active session. - - 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 - Security related diagnostics information for an active session. - - 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 - A list of diagnostics for each subscription owned by the session. - - i=2171 - i=78 - i=12097 - - - - SessionDiagnosticsObjectType - A container for session level diagnostics information. - - i=2030 - i=2031 - i=2032 - i=58 - - - - SessionDiagnostics - Diagnostics information for an active session. - - 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 - Security related diagnostics information for an active session. - - 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 - A list of diagnostics for each subscription owned by the session. - - i=2171 - i=78 - i=2029 - - - - VendorServerInfoType - A base type for vendor specific server information. - - i=58 - - - - ServerRedundancyType - A base type for an object that describe how a server supports redundancy. - - i=2035 - i=58 - - - - RedundancySupport - Indicates what style of redundancy is supported by the server. - - i=68 - i=78 - i=2034 - - - - TransparentRedundancyType - Identifies the capabilties of server that supports transparent redundancy. - - i=2037 - i=2038 - i=2034 - - - - CurrentServerId - The ID of the server that is currently in use. - - i=68 - i=78 - i=2036 - - - - RedundantServerArray - A list of servers in the same redundant set. - - i=68 - i=78 - i=2036 - - - - NonTransparentRedundancyType - Identifies the capabilties of server that supports non-transparent redundancy. - - i=2040 - i=2034 - - - - ServerUriArray - A list of servers in the same redundant set. - - i=68 - i=78 - i=2039 - - - - NonTransparentNetworkRedundancyType - - i=11948 - i=2039 - - - - ServerNetworkGroups - - i=68 - i=78 - i=11945 - - - - OperationLimitsType - Identifies the operation limits imposed by the server. - - 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=58 - - - - MaxNodesPerRead - The maximum number of operations in a single Read request. - - i=68 - i=80 - i=11564 - - - - MaxNodesPerHistoryReadData - The maximum number of operations in a single data HistoryRead request. - - i=68 - i=80 - i=11564 - - - - MaxNodesPerHistoryReadEvents - The maximum number of operations in a single event HistoryRead request. - - i=68 - i=80 - i=11564 - - - - MaxNodesPerWrite - The maximum number of operations in a single Write request. - - i=68 - i=80 - i=11564 - - - - MaxNodesPerHistoryUpdateData - The maximum number of operations in a single data HistoryUpdate request. - - i=68 - i=80 - i=11564 - - - - MaxNodesPerHistoryUpdateEvents - The maximum number of operations in a single event HistoryUpdate request. - - i=68 - i=80 - i=11564 - - - - MaxNodesPerMethodCall - The maximum number of operations in a single Call request. - - i=68 - i=80 - i=11564 - - - - MaxNodesPerBrowse - The maximum number of operations in a single Browse request. - - i=68 - i=80 - i=11564 - - - - MaxNodesPerRegisterNodes - The maximum number of operations in a single RegisterNodes request. - - i=68 - i=80 - i=11564 - - - - MaxNodesPerTranslateBrowsePathsToNodeIds - The maximum number of operations in a single TranslateBrowsePathsToNodeIds request. - - i=68 - i=80 - i=11564 - - - - MaxNodesPerNodeManagement - The maximum number of operations in a single AddNodes, AddReferences, DeleteNodes or DeleteReferences request. - - i=68 - i=80 - i=11564 - - - - MaxMonitoredItemsPerCall - The maximum number of operations in a single MonitoredItem related request. - - i=68 - i=80 - i=11564 - - - - FileType - An object that represents a file that can be accessed via the server. - - i=11576 - i=12686 - i=12687 - i=11579 - i=13341 - i=11580 - i=11583 - i=11585 - i=11588 - i=11590 - i=11593 - i=58 - - - - Size - The size of the file in bytes. - - i=68 - i=78 - i=11575 - - - - Writable - Whether the file is writable. - - i=68 - i=78 - i=11575 - - - - UserWritable - Whether the file is writable by the current user. - - i=68 - i=78 - i=11575 - - - - OpenCount - The current number of open file handles. - - i=68 - i=78 - i=11575 - - - - MimeType - The content of the file. - - 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 - - - - - - - - - - FileDirectoryType - - i=13354 - i=13366 - i=13387 - i=13390 - i=13393 - i=13395 - i=61 - - - - <FileDirectoryName> - - i=13355 - i=13358 - i=13361 - 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=13362 - i=78 - i=13354 - - - - InputArguments - - i=68 - i=78 - i=13361 - - - - - - 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 - The size of the file in bytes. - - i=68 - i=78 - i=13366 - - - - Writable - Whether the file is writable. - - i=68 - i=78 - i=13366 - - - - UserWritable - Whether the file is writable by the current user. - - i=68 - i=78 - i=13366 - - - - OpenCount - The current number of open file handles. - - 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 - - - - - - - - - - AddressSpaceFileType - A file used to store a namespace exported from the server. - - i=11615 - i=11575 - - - - ExportNamespace - Updates the file by exporting the server namespace. - - i=80 - i=11595 - - - - NamespaceMetadataType - Provides the metadata for a namespace used by the server. - - i=11617 - i=11618 - i=11619 - i=11620 - i=11621 - i=11622 - i=11623 - i=11624 - i=58 - - - - NamespaceUri - The URI of the namespace. - - i=68 - i=78 - i=11616 - - - - NamespaceVersion - The human readable string representing version of the namespace. - - i=68 - i=78 - i=11616 - - - - NamespacePublicationDate - The publication date for the namespace. - - i=68 - i=78 - i=11616 - - - - IsNamespaceSubset - If TRUE then the server only supports a subset of the namespace. - - i=68 - i=78 - i=11616 - - - - StaticNodeIdIdentifierTypes - A list of IdTypes for nodes which are the same in every server that exposes them. - - i=68 - i=78 - i=11616 - - - - StaticNumericNodeIdRange - A list of ranges for numeric node ids which are the same in every server that exposes them. - - i=68 - i=78 - i=11616 - - - - StaticStringNodeIdPattern - A regular expression which matches string node ids are the same in every server that exposes them. - - i=68 - i=78 - i=11616 - - - - NamespaceFile - A file containing the nodes of the namespace. - - 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 - The size of the file in bytes. - - i=68 - i=78 - i=11624 - - - - Writable - Whether the file is writable. - - i=68 - i=78 - i=11624 - - - - UserWritable - Whether the file is writable by the current user. - - i=68 - i=78 - i=11624 - - - - OpenCount - The current number of open file handles. - - 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 - - - - - - - - - - NamespacesType - A container for the namespace metadata provided by the server. - - i=11646 - i=11675 - i=58 - - - - <NamespaceIdentifier> - - i=11647 - i=11648 - i=11649 - i=11650 - i=11651 - i=11652 - i=11653 - i=11616 - i=11508 - i=11645 - - - - NamespaceUri - The URI of the namespace. - - i=68 - i=78 - i=11646 - - - - NamespaceVersion - The human readable string representing version of the namespace. - - i=68 - i=78 - i=11646 - - - - NamespacePublicationDate - The publication date for the namespace. - - i=68 - i=78 - i=11646 - - - - IsNamespaceSubset - If TRUE then the server only supports a subset of the namespace. - - i=68 - i=78 - i=11646 - - - - StaticNodeIdIdentifierTypes - A list of IdTypes for nodes which are the same in every server that exposes them. - - i=68 - i=78 - i=11646 - - - - StaticNumericNodeIdRange - A list of ranges for numeric node ids which are the same in every server that exposes them. - - i=68 - i=78 - i=11646 - - - - StaticStringNodeIdPattern - A regular expression which matches string node ids are the same in every server that exposes them. - - i=68 - i=78 - i=11646 - - - - AddressSpaceFile - A file containing the nodes of the namespace. - - i=11676 - i=12694 - i=12695 - i=11679 - i=11680 - i=11683 - i=11685 - i=11688 - i=11690 - i=11693 - i=11595 - i=80 - i=11645 - - - - Size - The size of the file in bytes. - - i=68 - i=78 - i=11675 - - - - Writable - Whether the file is writable. - - i=68 - i=78 - i=11675 - - - - UserWritable - Whether the file is writable by the current user. - - i=68 - i=78 - i=11675 - - - - OpenCount - The current number of open file handles. - - i=68 - i=78 - i=11675 - - - - Open - - i=11681 - i=11682 - i=78 - i=11675 - - - - InputArguments - - i=68 - i=78 - i=11680 - - - - - - i=297 - - - - Mode - - i=3 - - -1 - - - - - - - - - - OutputArguments - - i=68 - i=78 - i=11680 - - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - - Close - - i=11684 - i=78 - i=11675 - - - - InputArguments - - i=68 - i=78 - i=11683 - - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - - Read - - i=11686 - i=11687 - i=78 - i=11675 - - - - InputArguments - - i=68 - i=78 - i=11685 - - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Length - - i=6 - - -1 - - - - - - - - - - OutputArguments - - i=68 - i=78 - i=11685 - - - - - - i=297 - - - - Data - - i=15 - - -1 - - - - - - - - - - Write - - i=11689 - i=78 - i=11675 - - - - InputArguments - - i=68 - i=78 - i=11688 - - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Data - - i=15 - - -1 - - - - - - - - - - GetPosition - - i=11691 - i=11692 - i=78 - i=11675 - - - - InputArguments - - i=68 - i=78 - i=11690 - - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - - OutputArguments - - i=68 - i=78 - i=11690 - - - - - - i=297 - - - - Position - - i=9 - - -1 - - - - - - - - - - SetPosition - - i=11694 - i=78 - i=11675 - - - - InputArguments - - i=68 - i=78 - i=11693 - - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Position - - i=9 - - -1 - - - - - - - - - - BaseEventType - The base type for all events. - - i=2042 - i=2043 - i=2044 - i=2045 - i=2046 - i=2047 - i=3190 - i=2050 - i=2051 - i=58 - - - - EventId - A globally unique identifier for the event. - - i=68 - i=78 - i=2041 - - - - EventType - The identifier for the event type. - - i=68 - i=78 - i=2041 - - - - SourceNode - The source of the event. - - i=68 - i=78 - i=2041 - - - - SourceName - A description of the source of the event. - - i=68 - i=78 - i=2041 - - - - Time - When the event occurred. - - i=68 - i=78 - i=2041 - - - - ReceiveTime - When the server received the event from the underlying system. - - i=68 - i=78 - i=2041 - - - - LocalTime - Information about the local time where the event originated. - - i=68 - i=78 - i=2041 - - - - Message - A localized description of the event. - - i=68 - i=78 - i=2041 - - - - Severity - Indicates how urgent an event is. - - i=68 - i=78 - i=2041 - - - - AuditEventType - A base type for events used to track client initiated changes to the server state. - - i=2053 - i=2054 - i=2055 - i=2056 - i=2057 - i=2041 - - - - ActionTimeStamp - When the action triggering the event occurred. - - i=68 - i=78 - i=2052 - - - - Status - If TRUE the action was performed. If FALSE the action failed and the server state did not change. - - i=68 - i=78 - i=2052 - - - - ServerId - The unique identifier for the server generating the event. - - i=68 - i=78 - i=2052 - - - - ClientAuditEntryId - The log entry id provided in the request that initiated the action. - - i=68 - i=78 - i=2052 - - - - ClientUserId - The user identity associated with the session that initiated the action. - - i=68 - i=78 - i=2052 - - - - AuditSecurityEventType - A base type for events used to track security related changes. - - i=2052 - - - - AuditChannelEventType - A base type for events used to track related changes to a secure channel. - - i=2745 - i=2058 - - - - SecureChannelId - The identifier for the secure channel that was changed. - - i=68 - i=78 - i=2059 - - - - AuditOpenSecureChannelEventType - An event that is raised when a secure channel is opened. - - i=2061 - i=2746 - i=2062 - i=2063 - i=2065 - i=2066 - i=2059 - - - - ClientCertificate - The certificate provided by the client. - - i=68 - i=78 - i=2060 - - - - ClientCertificateThumbprint - The thumbprint for certificate provided by the client. - - i=68 - i=78 - i=2060 - - - - RequestType - The type of request (NEW or RENEW). - - i=68 - i=78 - i=2060 - - - - SecurityPolicyUri - The security policy used by the channel. - - i=68 - i=78 - i=2060 - - - - SecurityMode - The security mode used by the channel. - - i=68 - i=78 - i=2060 - - - - RequestedLifetime - The lifetime of the channel requested by the client. - - i=68 - i=78 - i=2060 - - - - AuditSessionEventType - A base type for events used to track related changes to a session. - - i=2070 - i=2058 - - - - SessionId - The unique identifier for the session,. - - i=68 - i=78 - i=2069 - - - - AuditCreateSessionEventType - An event that is raised when a session is created. - - i=2072 - i=2073 - i=2747 - i=2074 - i=2069 - - - - SecureChannelId - The secure channel associated with the session. - - i=68 - i=78 - i=2071 - - - - ClientCertificate - The certificate provided by the client. - - i=68 - i=78 - i=2071 - - - - ClientCertificateThumbprint - The thumbprint of the certificate provided by the client. - - i=68 - i=78 - i=2071 - - - - RevisedSessionTimeout - The timeout for the session. - - i=68 - i=78 - i=2071 - - - - AuditUrlMismatchEventType - - i=2749 - i=2071 - - - - EndpointUrl - - i=68 - i=78 - i=2748 - - - - AuditActivateSessionEventType - - 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 - - i=2079 - i=2069 - - - - RequestHandle - - i=68 - i=78 - i=2078 - - - - AuditCertificateEventType - - i=2081 - i=2058 - - - - Certificate - - i=68 - i=78 - i=2080 - - - - AuditCertificateDataMismatchEventType - - i=2083 - i=2084 - i=2080 - - - - InvalidHostname - - i=68 - i=78 - i=2082 - - - - InvalidUri - - i=68 - i=78 - i=2082 - - - - AuditCertificateExpiredEventType - - i=2080 - - - - AuditCertificateInvalidEventType - - i=2080 - - - - AuditCertificateUntrustedEventType - - i=2080 - - - - AuditCertificateRevokedEventType - - i=2080 - - - - AuditCertificateMismatchEventType - - i=2080 - - - - AuditNodeManagementEventType - - i=2052 - - - - AuditAddNodesEventType - - i=2092 - i=2090 - - - - NodesToAdd - - i=68 - i=78 - i=2091 - - - - AuditDeleteNodesEventType - - i=2094 - i=2090 - - - - NodesToDelete - - i=68 - i=78 - i=2093 - - - - AuditAddReferencesEventType - - i=2096 - i=2090 - - - - ReferencesToAdd - - i=68 - i=78 - i=2095 - - - - AuditDeleteReferencesEventType - - i=2098 - i=2090 - - - - ReferencesToDelete - - i=68 - i=78 - i=2097 - - - - AuditUpdateEventType - - i=2052 - - - - AuditWriteUpdateEventType - - 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 - - i=2751 - i=2099 - - - - ParameterDataTypeId - - i=68 - i=78 - i=2104 - - - - AuditUpdateMethodEventType - - i=2128 - i=2129 - i=2052 - - - - MethodId - - i=68 - i=78 - i=2127 - - - - InputArguments - - i=68 - i=78 - i=2127 - - - - SystemEventType - - i=2041 - - - - DeviceFailureEventType - - i=2130 - - - - SystemStatusChangeEventType - - i=11696 - i=2130 - - - - SystemState - - i=68 - i=78 - i=11446 - - - - BaseModelChangeEventType - - i=2041 - - - - GeneralModelChangeEventType - - i=2134 - i=2132 - - - - Changes - - i=68 - i=78 - i=2133 - - - - SemanticChangeEventType - - i=2739 - i=2132 - - - - Changes - - i=68 - i=78 - i=2738 - - - - EventQueueOverflowEventType - - i=2041 - - - - ProgressEventType - - i=12502 - i=12503 - i=2041 - - - - Context - - i=68 - i=78 - i=11436 - - - - Progress - - i=68 - i=78 - i=11436 - - - - AggregateFunctionType - - i=58 - - - - ServerVendorCapabilityType - - i=63 - - - - ServerStatusType - - 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 - - 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 - - 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 - - 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 - - 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 - - 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 - - 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 - - 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 - - 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 - - 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 - - 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 - - i=11488 - i=11701 - i=63 - - - - OptionSetValues - - i=68 - i=78 - i=11487 - - - - BitMask - - i=68 - i=80 - i=11487 - - - - EventTypes - - i=86 - i=2041 - i=61 - - - - Server - - i=2254 - i=2255 - i=2256 - i=2267 - i=2994 - i=12885 - i=2268 - i=2274 - i=2295 - i=2296 - i=11715 - i=11492 - i=12873 - i=12749 - i=12886 - i=85 - i=2004 - - - - ServerArray - The list of server URIs used by the server. - - i=68 - i=2253 - - - - NamespaceArray - The list of namespace URIs used by the server. - - i=68 - i=2253 - - - - ServerStatus - The current status of the server. - - 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 - A value indicating the level of service the server can provide. 255 indicates the best. - - i=68 - i=2253 - - - - Auditing - A flag indicating whether the server is currently generating audit events. - - i=68 - i=2253 - - - - EstimatedReturnTime - Indicates the time at which the Server is expected to be available in the state RUNNING. - - i=68 - i=2253 - - - - ServerCapabilities - Describes capabilities supported by the server. - - 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=2013 - i=2253 - - - - ServerProfileArray - A list of profiles supported by the server. - - i=68 - i=2268 - - - - LocaleIdArray - A list of locales supported by the server. - - i=68 - i=2268 - - - - MinSupportedSampleRate - The minimum sampling interval supported by the server. - - i=68 - i=2268 - - - - MaxBrowseContinuationPoints - The maximum number of continuation points for Browse operations per session. - - i=68 - i=2268 - - - - MaxQueryContinuationPoints - The maximum number of continuation points for Query operations per session. - - i=68 - i=2268 - - - - MaxHistoryContinuationPoints - The maximum number of continuation points for ReadHistory operations per session. - - i=68 - i=2268 - - - - SoftwareCertificates - The software certificates owned by the server. - - i=68 - i=2268 - - - - MaxArrayLength - The maximum length for an array value supported by the server. - - i=68 - i=2268 - - - - MaxStringLength - The maximum length for a string value supported by the server. - - i=68 - i=2268 - - - - MaxByteStringLength - The maximum length for a byte string value supported by the server. - - i=68 - i=2268 - - - - OperationLimits - Defines the limits supported by the server for different operations. - - 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 - The maximum number of operations in a single Read request. - - i=68 - i=11704 - - - - MaxNodesPerHistoryReadData - The maximum number of operations in a single data HistoryRead request. - - i=68 - i=11704 - - - - MaxNodesPerHistoryReadEvents - The maximum number of operations in a single event HistoryRead request. - - i=68 - i=11704 - - - - MaxNodesPerWrite - The maximum number of operations in a single Write request. - - i=68 - i=11704 - - - - MaxNodesPerHistoryUpdateData - The maximum number of operations in a single data HistoryUpdate request. - - i=68 - i=11704 - - - - MaxNodesPerHistoryUpdateEvents - The maximum number of operations in a single event HistoryUpdate request. - - i=68 - i=11704 - - - - MaxNodesPerMethodCall - The maximum number of operations in a single Call request. - - i=68 - i=11704 - - - - MaxNodesPerBrowse - The maximum number of operations in a single Browse request. - - i=68 - i=11704 - - - - MaxNodesPerRegisterNodes - The maximum number of operations in a single RegisterNodes request. - - i=68 - i=11704 - - - - MaxNodesPerTranslateBrowsePathsToNodeIds - The maximum number of operations in a single TranslateBrowsePathsToNodeIds request. - - i=68 - i=11704 - - - - MaxNodesPerNodeManagement - The maximum number of operations in a single AddNodes, AddReferences, DeleteNodes or DeleteReferences request. - - i=68 - i=11704 - - - - MaxMonitoredItemsPerCall - The maximum number of operations in a single MonitoredItem related request. - - i=68 - i=11704 - - - - ModellingRules - A folder for the modelling rules supported by the server. - - i=61 - i=2268 - - - - AggregateFunctions - A folder for the real time aggregates supported by the server. - - i=61 - i=2268 - - - - ServerDiagnostics - Reports diagnostics about the server. - - i=2275 - i=2289 - i=2290 - i=3706 - i=2294 - i=2020 - i=2253 - - - - ServerDiagnosticsSummary - A summary of server level diagnostics. - - 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 - A list of diagnostics for each sampling interval supported by the server. - - i=2164 - i=2274 - - - - SubscriptionDiagnosticsArray - A list of diagnostics for each active subscription. - - i=2171 - i=2274 - - - - SessionsDiagnosticsSummary - A summary of session level diagnostics. - - i=3707 - i=3708 - i=2026 - i=2274 - - - - SessionDiagnosticsArray - A list of diagnostics for each active session. - - i=2196 - i=3706 - - - - SessionSecurityDiagnosticsArray - A list of security related diagnostics for each active session. - - i=2243 - i=3706 - - - - EnabledFlag - If TRUE the diagnostics collection is enabled. - - i=68 - i=2274 - - - - VendorServerInfo - Server information provided by the vendor. - - i=2033 - i=2253 - - - - ServerRedundancy - Describes the redundancy capabilities of the server. - - i=3709 - i=11312 - i=11313 - i=11314 - i=14415 - i=2034 - i=2253 - - - - RedundancySupport - Indicates what style of redundancy is supported by the server. - - i=68 - i=2296 - - - - CurrentServerId - - i=68 - i=2296 - - - - RedundantServerArray - - i=68 - i=2296 - - - - ServerUriArray - - i=68 - i=2296 - - - - ServerNetworkGroups - - i=68 - i=2296 - - - - Namespaces - Describes the namespaces supported by the server. - - i=11645 - i=2253 - - - - GetMonitoredItems - - 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 - - - - - - - - i=297 - - - - ClientHandles - - i=7 - - 1 - - - - - - - - - - ResendData - - i=12874 - i=2253 - - - - InputArguments - - i=68 - i=12873 - - - - - - i=297 - - - - SubscriptionId - - i=7 - - -1 - - - - - - - - - - SetSubscriptionDurable - - 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 - - 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 - - - - - - - - - - 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=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 - - - - BitFieldMaskDataType - A mask of 32 bits that can be updated individually by using the top 32 bits as a mask. - - i=9 - - - - StateMachineType - - 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 - - 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 - - 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 - - i=2772 - i=2773 - 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 - - - - FiniteStateVariableType - - i=2761 - i=2755 - - - - Id - - i=68 - i=78 - i=2760 - - - - FiniteTransitionVariableType - - i=2768 - i=2762 - - - - Id - - i=68 - i=78 - i=2767 - - - - StateType - - i=2308 - i=58 - - - - StateNumber - - i=68 - i=78 - i=2307 - - - - InitialStateType - - i=2307 - - - - TransitionType - - i=2312 - i=58 - - - - TransitionNumber - - i=68 - i=78 - i=2310 - - - - TransitionEventType - - 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 - - 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=78 - i=11939 - - - - - - i=7616 - - - - 1 - - - - Read - - - - - - - - i=7616 - - - - 2 - - - - Write - - - - - - - - i=7616 - - - - 4 - - - - EraseExisting - - - - - - - - i=7616 - - - - 8 - - - - Append - - - - - - - - - - DataItemType - A variable that contains live automation data. - - i=2366 - i=2367 - i=63 - - - - Definition - A vendor-specific, human readable string that specifies how the value of this DataItem is calculated. - - i=68 - i=80 - i=2365 - - - - ValuePrecision - The maximum precision that the server can maintain for the item based on restrictions in the target environment. - - i=68 - i=80 - i=2365 - - - - AnalogItemType - - i=2370 - i=2369 - i=2371 - i=2365 - - - - InstrumentRange - - i=68 - i=80 - i=2368 - - - - EURange - - i=68 - i=78 - i=2368 - - - - EngineeringUnits - - i=68 - i=80 - i=2368 - - - - DiscreteItemType - - i=2365 - - - - TwoStateDiscreteType - - i=2374 - i=2375 - i=2372 - - - - FalseState - - i=68 - i=78 - i=2373 - - - - TrueState - - i=68 - i=78 - i=2373 - - - - MultiStateDiscreteType - - i=2377 - i=2372 - - - - EnumStrings - - i=68 - i=78 - i=2376 - - - - MultiStateValueDiscreteType - - i=11241 - i=11461 - i=2372 - - - - EnumValues - - i=68 - i=78 - i=11238 - - - - ValueAsText - - i=68 - i=78 - i=11238 - - - - ArrayItemType - - 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 - - i=12037 - i=12021 - - - - XAxisDefinition - - i=68 - i=78 - i=12029 - - - - XYArrayItemType - - i=12046 - i=12021 - - - - XAxisDefinition - - i=68 - i=78 - i=12038 - - - - ImageItemType - - i=12055 - i=12056 - i=12021 - - - - XAxisDefinition - - i=68 - i=78 - i=12047 - - - - YAxisDefinition - - i=68 - i=78 - i=12047 - - - - CubeItemType - - 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 - - i=12076 - i=12021 - - - - AxisDefinition - - i=68 - i=78 - i=12068 - - - - TwoStateVariableType - - 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 - - i=9003 - i=63 - - - - SourceTimestamp - - i=68 - i=78 - i=9002 - - - - HasTrueSubState - - i=32 - - IsTrueSubStateOf - - - HasFalseSubState - - i=32 - - IsFalseSubStateOf - - - ConditionType - - i=11112 - i=11113 - 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 - - - - 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=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 - - - - 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 - - i=2803 - i=78 - i=2782 - - - - Enable - - i=2803 - i=78 - i=2782 - - - - AddComment - - 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 - - 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 suscription to refresh. - - - - - - - - - ConditionRefresh2 - - 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 suscription to refresh. - - - - - - - i=297 - - - - MonitoredItemId - - i=288 - - -1 - - - - - The identifier for the monitored item to refresh. - - - - - - - - - DialogConditionType - - 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=9035 - i=8995 - i=78 - i=2830 - - - - Id - - i=68 - i=78 - i=9055 - - - - TransitionTime - - i=68 - i=80 - i=9055 - - - - 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 - - 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 - - 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=9073 - i=8995 - i=78 - i=2881 - - - - Id - - i=68 - i=78 - i=9093 - - - - TransitionTime - - i=68 - i=80 - i=9093 - - - - ConfirmedState - - i=9103 - i=9107 - i=9073 - i=8995 - i=80 - i=2881 - - - - Id - - i=68 - i=78 - i=9102 - - - - TransitionTime - - i=68 - i=80 - i=9102 - - - - Acknowledge - - 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 - - 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 - - i=9118 - i=9160 - i=11120 - i=9169 - i=9178 - i=9215 - i=9216 - 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=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 - - - - InputNode - - i=68 - i=78 - i=2915 - - - - SuppressedState - - i=9170 - i=9174 - i=9118 - i=8995 - i=80 - i=2915 - - - - Id - - i=68 - i=78 - i=9169 - - - - TransitionTime - - i=68 - i=80 - i=9169 - - - - ShelvingState - - i=9179 - i=9184 - i=9189 - i=9211 - i=9212 - i=9213 - 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 - - - - Unshelve - - i=11093 - i=78 - i=9178 - - - - OneShotShelve - - i=11093 - 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. - - - - - - - - - SuppressedOrShelved - - i=68 - i=78 - i=2915 - - - - MaxTimeShelved - - i=68 - i=80 - i=2915 - - - - ShelvedStateMachineType - - i=9115 - i=2930 - i=2932 - i=2933 - i=2935 - i=2936 - i=2940 - i=2942 - i=2943 - i=2945 - i=2947 - i=2948 - i=2949 - 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 - - - - TimedShelved - - i=6100 - i=2935 - i=2940 - i=2942 - i=2945 - i=2307 - i=2929 - - - - StateNumber - - i=68 - i=78 - i=2932 - - - - OneShotShelved - - i=6101 - i=2936 - i=2942 - i=2943 - i=2945 - i=2307 - i=2929 - - - - StateNumber - - i=68 - i=78 - i=2933 - - - - UnshelvedToTimedShelved - - i=11322 - i=2930 - i=2932 - i=2915 - i=2949 - i=2310 - i=2929 - - - - TransitionNumber - - i=68 - i=78 - i=2935 - - - - UnshelvedToOneShotShelved - - i=11323 - i=2930 - i=2933 - i=2915 - i=2948 - i=2310 - i=2929 - - - - TransitionNumber - - i=68 - i=78 - i=2936 - - - - TimedShelvedToUnshelved - - i=11324 - i=2932 - i=2930 - i=2915 - i=2947 - i=2310 - i=2929 - - - - TransitionNumber - - i=68 - i=78 - i=2940 - - - - TimedShelvedToOneShotShelved - - i=11325 - i=2932 - i=2933 - i=2915 - i=2948 - i=2310 - i=2929 - - - - TransitionNumber - - i=68 - i=78 - i=2942 - - - - OneShotShelvedToUnshelved - - i=11326 - i=2933 - i=2930 - i=2915 - i=2947 - i=2310 - i=2929 - - - - TransitionNumber - - i=68 - i=78 - i=2943 - - - - OneShotShelvedToTimedShelved - - i=11327 - i=2933 - i=2932 - i=2915 - i=2949 - i=2310 - i=2929 - - - - TransitionNumber - - i=68 - i=78 - i=2945 - - - - Unshelve - - i=2940 - i=2943 - i=11093 - i=78 - i=2929 - - - - OneShotShelve - - i=2936 - i=2942 - i=11093 - i=78 - i=2929 - - - - TimedShelve - - 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. - - - - - - - - - LimitAlarmType - - i=11124 - i=11125 - i=11126 - i=11127 - 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 - - - - ExclusiveLimitStateMachineType - - 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 - - - - High - - i=9332 - i=9339 - i=9340 - i=2307 - i=9318 - - - - StateNumber - - i=68 - i=78 - i=9331 - - - - Low - - i=9334 - i=9337 - i=9338 - i=2307 - i=9318 - - - - StateNumber - - i=68 - i=78 - i=9333 - - - - LowLow - - i=9336 - i=9337 - i=9338 - i=2307 - i=9318 - - - - StateNumber - - i=68 - i=78 - i=9335 - - - - LowLowToLow - - i=11340 - i=9335 - i=9333 - i=2310 - i=9318 - - - - TransitionNumber - - i=68 - i=78 - i=9337 - - - - LowToLowLow - - i=11341 - i=9333 - i=9335 - i=2310 - i=9318 - - - - TransitionNumber - - i=68 - i=78 - i=9338 - - - - HighHighToHigh - - i=11342 - i=9329 - i=9331 - i=2310 - i=9318 - - - - TransitionNumber - - i=68 - i=78 - i=9339 - - - - HighToHighHigh - - i=11343 - i=9331 - i=9329 - i=2310 - i=9318 - - - - TransitionNumber - - i=68 - i=78 - i=9340 - - - - ExclusiveLimitAlarmType - - 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 - - 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=9963 - i=8995 - i=80 - i=9906 - - - - Id - - i=68 - i=78 - i=10020 - - - - TransitionTime - - i=68 - i=80 - i=10020 - - - - HighState - - i=10030 - i=10034 - i=9963 - i=8995 - i=80 - i=9906 - - - - Id - - i=68 - i=78 - i=10029 - - - - TransitionTime - - i=68 - i=80 - i=10029 - - - - LowState - - i=10039 - i=10043 - i=9963 - i=8995 - i=80 - i=9906 - - - - Id - - i=68 - i=78 - i=10038 - - - - TransitionTime - - i=68 - i=80 - i=10038 - - - - LowLowState - - i=10048 - i=10052 - i=9963 - i=8995 - i=80 - i=9906 - - - - Id - - i=68 - i=78 - i=10047 - - - - TransitionTime - - i=68 - i=80 - i=10047 - - - - NonExclusiveLevelAlarmType - - i=9906 - - - - ExclusiveLevelAlarmType - - i=9341 - - - - NonExclusiveDeviationAlarmType - - i=10522 - i=9906 - - - - SetpointNode - - i=68 - i=78 - i=10368 - - - - ExclusiveDeviationAlarmType - - i=9905 - i=9341 - - - - SetpointNode - - i=68 - i=78 - i=9764 - - - - NonExclusiveRateOfChangeAlarmType - - i=9906 - - - - ExclusiveRateOfChangeAlarmType - - i=9341 - - - - DiscreteAlarmType - - i=2915 - - - - OffNormalAlarmType - - i=11158 - i=10523 - - - - NormalState - - i=68 - i=78 - i=10637 - - - - SystemOffNormalAlarmType - - i=10637 - - - - CertificateExpirationAlarmType - - i=13325 - i=13326 - i=13327 - i=11753 - - - - ExpirationDate - - i=68 - i=78 - i=13225 - - - - CertificateType - - i=68 - i=78 - i=13225 - - - - Certificate - - i=68 - i=78 - i=13225 - - - - TripAlarmType - - i=10637 - - - - BaseConditionClassType - - i=58 - - - - ProcessConditionClassType - - i=11163 - - - - MaintenanceConditionClassType - - i=11163 - - - - SystemConditionClassType - - i=11163 - - - - AuditConditionEventType - - i=2127 - - - - AuditConditionEnableEventType - - i=2790 - - - - AuditConditionCommentEventType - - i=4170 - i=11851 - i=2790 - - - - EventId - A globally unique identifier for the event. - - i=68 - i=78 - i=2829 - - - - Comment - - i=68 - i=78 - i=2829 - - - - AuditConditionRespondEventType - - i=11852 - i=2790 - - - - SelectedResponse - - i=68 - i=78 - i=8927 - - - - AuditConditionAcknowledgeEventType - - i=8945 - i=11853 - i=2790 - - - - EventId - A globally unique identifier for the event. - - i=68 - i=78 - i=8944 - - - - Comment - - i=68 - i=78 - i=8944 - - - - AuditConditionConfirmEventType - - i=8962 - i=11854 - i=2790 - - - - EventId - A globally unique identifier for the event. - - i=68 - i=78 - i=8961 - - - - Comment - - i=68 - i=78 - i=8961 - - - - AuditConditionShelvingEventType - - i=11855 - i=2790 - - - - ShelvingTime - - i=68 - i=78 - i=11093 - - - - RefreshStartEventType - - i=2130 - - - - RefreshEndEventType - - i=2130 - - - - RefreshRequiredEventType - - i=2130 - - - - HasCondition - - i=32 - - IsConditionOf - - - ProgramStateMachineType - A state machine for a program. - - i=3830 - i=3835 - i=2392 - i=2393 - i=2394 - i=2395 - i=2396 - i=2397 - i=2398 - i=2399 - i=3850 - i=2400 - i=2402 - i=2404 - i=2406 - 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=79 - i=2391 - - - - RecycleCount - - i=68 - i=78 - i=2391 - - - - InstanceCount - - i=68 - i=2391 - - - - MaxInstanceCount - - i=68 - i=2391 - - - - MaxRecycleCount - - i=68 - i=2391 - - - - ProgramDiagnostics - - i=3840 - i=3841 - i=3842 - i=3843 - i=3844 - i=3845 - i=3846 - i=3847 - i=3848 - i=3849 - i=2380 - i=80 - i=2391 - - - - CreateSessionId - - i=68 - i=78 - i=2399 - - - - CreateClientName - - i=68 - i=78 - i=2399 - - - - InvocationCreationTime - - i=68 - i=78 - i=2399 - - - - LastTransitionTime - - i=68 - i=78 - i=2399 - - - - LastMethodCall - - i=68 - i=78 - i=2399 - - - - LastMethodSessionId - - i=68 - i=78 - i=2399 - - - - LastMethodInputArguments - - i=68 - i=78 - i=2399 - - - - LastMethodOutputArguments - - i=68 - i=78 - i=2399 - - - - LastMethodCallTime - - i=68 - i=78 - i=2399 - - - - LastMethodReturnStatus - - i=68 - i=78 - i=2399 - - - - FinalResultData - - i=58 - i=80 - i=2391 - - - - Ready - The Program is properly initialized and may be started. - - i=2401 - i=2408 - i=2410 - i=2414 - i=2422 - i=2424 - i=2307 - i=2391 - - - - StateNumber - - i=68 - i=78 - i=2400 - - - 1 - - - - Running - The Program is executing making progress towards completion. - - i=2403 - i=2410 - i=2412 - i=2414 - i=2416 - i=2418 - i=2307 - i=2391 - - - - StateNumber - - i=68 - i=78 - i=2402 - - - 2 - - - - Suspended - The Program has been stopped prior to reaching a terminal state but may be resumed. - - i=2405 - i=2416 - i=2418 - i=2420 - i=2422 - i=2307 - i=2391 - - - - StateNumber - - i=68 - i=78 - i=2404 - - - 3 - - - - Halted - The Program is in a terminal or failed state, and it cannot be started or resumed without being reset. - - i=2407 - i=2408 - i=2412 - i=2420 - i=2424 - i=2307 - i=2391 - - - - StateNumber - - i=68 - i=78 - i=2406 - - - 4 - - - - 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 - Causes the Program to transition from the Ready state to the Running state. - - i=2410 - i=78 - i=2391 - - - - Suspend - Causes the Program to transition from the Running state to the Suspended state. - - i=2416 - i=78 - i=2391 - - - - Resume - Causes the Program to transition from the Suspended state to the Running state. - - i=2418 - i=78 - i=2391 - - - - Halt - Causes the Program to transition from the Ready, Running or Suspended state to the Halted state. - - i=2412 - i=2420 - i=2424 - i=78 - i=2391 - - - - Reset - Causes the Program to transition from the Halted state to the Ready state. - - i=2408 - i=78 - i=2391 - - - - ProgramTransitionEventType - - i=2379 - i=2311 - - - - IntermediateResult - - i=68 - i=78 - i=2378 - - - - AuditProgramTransitionEventType - - 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 - - - - Annotations - - i=68 - - - - HistoricalDataConfigurationType - - i=3059 - i=11876 - i=2323 - i=2324 - i=2325 - i=2326 - i=2327 - i=2328 - i=11499 - i=11500 - 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 - - - - HA Configuration - - 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 - - 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=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 - - - - AuditHistoryEventUpdateEventType - - 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 - - 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 - - - - AuditHistoryDeleteEventType - - i=3027 - i=2104 - - - - UpdatedNode - - i=68 - i=78 - i=3012 - - - - AuditHistoryRawModifyDeleteEventType - - 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 - - i=3020 - i=3021 - i=3012 - - - - ReqTimes - - i=68 - i=78 - i=3019 - - - - OldValues - - i=68 - i=78 - i=3019 - - - - AuditHistoryEventDeleteEventType - - i=3023 - i=3024 - i=3012 - - - - EventIds - - i=68 - i=78 - i=3022 - - - - OldValues - - i=68 - i=78 - i=3022 - - - - TrustListType - - i=12542 - i=12543 - i=12546 - i=12548 - i=12550 - i=11575 - - - - LastUpdateTime - - i=68 - i=78 - 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=78 - 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 - - - - - - - - - - - CertificateGroupType - - i=13599 - i=13631 - 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 - The size of the file in bytes. - - i=68 - i=78 - i=13599 - - - - Writable - Whether the file is writable. - - i=68 - i=78 - i=13599 - - - - UserWritable - Whether the file is writable by the current user. - - i=68 - i=78 - i=13599 - - - - OpenCount - The current number of open file handles. - - 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 - - - - 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 - The size of the file in bytes. - - i=68 - i=78 - i=13815 - - - - Writable - Whether the file is writable. - - i=68 - i=78 - i=13815 - - - - UserWritable - Whether the file is writable by the current user. - - i=68 - i=78 - i=13815 - - - - OpenCount - The current number of open file handles. - - 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 - The size of the file in bytes. - - i=68 - i=78 - i=13849 - - - - Writable - Whether the file is writable. - - i=68 - i=78 - i=13849 - - - - UserWritable - Whether the file is writable by the current user. - - i=68 - i=78 - i=13849 - - - - OpenCount - The current number of open file handles. - - 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 - The size of the file in bytes. - - i=68 - i=78 - i=13883 - - - - Writable - Whether the file is writable. - - i=68 - i=78 - i=13883 - - - - UserWritable - Whether the file is writable by the current user. - - i=68 - i=78 - i=13883 - - - - OpenCount - The current number of open file handles. - - 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 - - - - <CertificateGroup> - - i=13917 - i=13949 - i=12555 - i=11510 - 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 - The size of the file in bytes. - - i=68 - i=78 - i=13917 - - - - Writable - Whether the file is writable. - - i=68 - i=78 - i=13917 - - - - UserWritable - Whether the file is writable by the current user. - - i=68 - i=78 - i=13917 - - - - OpenCount - The current number of open file handles. - - 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 - - - - RsaMinApplicationCertificateType - - i=12557 - - - - RsaSha256ApplicationCertificateType - - i=12557 - - - - 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 - The size of the file in bytes. - - i=68 - i=78 - i=13952 - - - - Writable - Whether the file is writable. - - i=68 - i=78 - i=13952 - - - - UserWritable - Whether the file is writable by the current user. - - i=68 - i=78 - i=13952 - - - - OpenCount - The current number of open file handles. - - 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 - - - - - - - - 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 - - - - - - - - - - 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 - The size of the file in bytes. - - i=68 - i=12642 - - - - Writable - Whether the file is writable. - - i=68 - i=12642 - - - - UserWritable - Whether the file is writable by the current user. - - i=68 - i=12642 - - - - OpenCount - The current number of open file handles. - - i=68 - i=12642 - - - - Open - - 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 - - i=12651 - i=12642 - - - - InputArguments - - i=68 - i=12650 - - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - - Read - - 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 - - i=12656 - i=12642 - - - - InputArguments - - i=68 - i=12655 - - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Data - - i=15 - - -1 - - - - - - - - - - GetPosition - - 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 - - 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 - The size of the file in bytes. - - i=68 - i=14089 - - - - Writable - Whether the file is writable. - - i=68 - i=14089 - - - - UserWritable - Whether the file is writable by the current user. - - i=68 - i=14089 - - - - OpenCount - The current number of open file handles. - - 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 - The size of the file in bytes. - - i=68 - i=14123 - - - - Writable - Whether the file is writable. - - i=68 - i=14123 - - - - UserWritable - Whether the file is writable by the current user. - - i=68 - i=14123 - - - - OpenCount - The current number of open file handles. - - 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 - - - - - - - - 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 - - - - - - - - - - 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 - At the beginning of each interval, retrieve the calculated value from the data points on either side of the requested timestamp. - - i=2340 - - - - Average - Retrieve the average value of the data over the interval. - - i=2340 - - - - TimeAverage - Retrieve the time weighted average data over the interval using Interpolated Bounding Values. - - i=2340 - - - - TimeAverage2 - Retrieve the time weighted average data over the interval using Simple Bounding Values. - - i=2340 - - - - Total - Retrieve the total (time integral) of the data over the interval using Interpolated Bounding Values. - - i=2340 - - - - Total2 - Retrieve the total (time integral) of the data over the interval using Simple Bounding Values. - - i=2340 - - - - Minimum - Retrieve the minimum raw value in the interval with the timestamp of the start of the interval. - - i=2340 - - - - Maximum - Retrieve the maximum raw value in the interval with the timestamp of the start of the interval. - - i=2340 - - - - MinimumActualTime - Retrieve the minimum value in the interval and the Timestamp of the minimum value. - - i=2340 - - - - MaximumActualTime - Retrieve the maximum value in the interval and the Timestamp of the maximum value. - - i=2340 - - - - Range - Retrieve the difference between the minimum and maximum Value over the interval. - - i=2340 - - - - Minimum2 - Retrieve the minimum value in the interval including the Simple Bounding Values. - - i=2340 - - - - Maximum2 - Retrieve the maximum value in the interval including the Simple Bounding Values. - - i=2340 - - - - MinimumActualTime2 - Retrieve the minimum value with the actual timestamp including the Simple Bounding Values. - - i=2340 - - - - MaximumActualTime2 - Retrieve the maximum value with the actual timestamp including the Simple Bounding Values. - - i=2340 - - - - Range2 - Retrieve the difference between the Minimum2 and Maximum2 value over the interval. - - i=2340 - - - - AnnotationCount - Retrieve the number of Annotations in the interval. - - i=2340 - - - - Count - Retrieve the number of raw values over the interval. - - i=2340 - - - - DurationInStateZero - Retrieve the time a Boolean or numeric was in a zero state using Simple Bounding Values. - - i=2340 - - - - DurationInStateNonZero - Retrieve the time a Boolean or numeric was in a non-zero state using Simple Bounding Values. - - i=2340 - - - - NumberOfTransitions - Retrieve the number of changes between zero and non-zero that a Boolean or Numeric value experienced in the interval. - - i=2340 - - - - Start - Retrieve the value at the beginning of the interval using Interpolated Bounding Values. - - i=2340 - - - - End - Retrieve the value at the end of the interval using Interpolated Bounding Values. - - i=2340 - - - - Delta - Retrieve the difference between the Start and End value in the interval. - - i=2340 - - - - StartBound - Retrieve the value at the beginning of the interval using Simple Bounding Values. - - i=2340 - - - - EndBound - Retrieve the value at the end of the interval using Simple Bounding Values. - - i=2340 - - - - DeltaBounds - Retrieve the difference between the StartBound and EndBound value in the interval. - - i=2340 - - - - DurationGood - Retrieve the total duration of time in the interval during which the data is good. - - i=2340 - - - - DurationBad - Retrieve the total duration of time in the interval during which the data is bad. - - i=2340 - - - - PercentGood - Retrieve the percent of data (0 to 100) in the interval which has a good StatusCode. - - i=2340 - - - - PercentBad - Retrieve the percent of data (0 to 100) in the interval which has a bad StatusCode. - - i=2340 - - - - WorstQuality - Retrieve the worst StatusCode of data in the interval. - - i=2340 - - - - WorstQuality2 - Retrieve the worst StatusCode of data in the interval including the Simple Bounding Values. - - i=2340 - - - - StandardDeviationSample - Retrieve the standard deviation for the interval for a sample of the population (n-1). - - i=2340 - - - - StandardDeviationPopulation - Retrieve the standard deviation for the interval for a complete population (n) which includes Simple Bounding Values. - - i=2340 - - - - VarianceSample - Retrieve the variance for the interval as calculated by the StandardDeviationSample. - - i=2340 - - - - VariancePopulation - Retrieve the variance for the interval as calculated by the StandardDeviationPopulation which includes Simple Bounding Values. - - i=2340 - - - - IdType - The type of identifier used in a node id. - - i=7591 - i=29 - - - - The identifier is a numeric value. 0 is a null value. - - - The identifier is a string value. An empty string is a null value. - - - The identifier is a 16 byte structure. 16 zero bytes is a null value. - - - The identifier is an array of bytes. A zero length array is a null value. - - - - - EnumStrings - - i=68 - i=78 - i=256 - - - - - - - Numeric - - - - - String - - - - - Guid - - - - - Opaque - - - - - - NodeClass - A mask specifying the class of the node. - - i=11878 - i=29 - - - - No classes are selected. - - - The node is an object. - - - The node is a variable. - - - The node is a method. - - - The node is an object type. - - - The node is an variable type. - - - The node is a reference type. - - - The node is a data type. - - - The node is a view. - - - - - EnumValues - - i=68 - i=78 - i=257 - - - - - - i=7616 - - - - 0 - - - - Unspecified - - - - - No classes are selected. - - - - - - - i=7616 - - - - 1 - - - - Object - - - - - The node is an object. - - - - - - - i=7616 - - - - 2 - - - - Variable - - - - - The node is a variable. - - - - - - - i=7616 - - - - 4 - - - - Method - - - - - The node is a method. - - - - - - - i=7616 - - - - 8 - - - - ObjectType - - - - - The node is an object type. - - - - - - - i=7616 - - - - 16 - - - - VariableType - - - - - The node is an variable type. - - - - - - - i=7616 - - - - 32 - - - - ReferenceType - - - - - The node is a reference type. - - - - - - - i=7616 - - - - 64 - - - - DataType - - - - - The node is a data type. - - - - - - - i=7616 - - - - 128 - - - - View - - - - - The node is a view. - - - - - - - - - Argument - An argument for a method. - - i=22 - - - - The name of the argument. - - - The data type of the argument. - - - Whether the argument is an array type and the rank of the array if it is. - - - The number of dimensions if the argument is an array type and one or more dimensions have a fixed length. - - - The description for the argument. - - - - - EnumValueType - A mapping between a value of an enumerated type and a name and description. - - i=22 - - - - The value of the enumeration. - - - Human readable name for the value. - - - A description of the value. - - - - - OptionSet - This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask. - - i=22 - - - - Array of bytes representing the bits in the option set. - - - Array of bytes with same size as value representing the valid bits in the value parameter. - - - - - Union - This abstract DataType is the base DataType for all union DataTypes. - - i=22 - - - - NormalizedString - A string normalized based on the rules in the unicode specification. - - i=12 - - - - DecimalString - An arbitraty numeric value. - - i=12 - - - - DurationString - A period of time formatted as defined in ISO 8601-2000. - - i=12 - - - - TimeString - A time formatted as defined in ISO 8601-2000. - - i=12 - - - - DateString - A date formatted as defined in ISO 8601-2000. - - i=12 - - - - Duration - A period of time measured in milliseconds. - - i=11 - - - - UtcTime - A date/time value specified in Universal Coordinated Time (UTC). - - i=13 - - - - LocaleId - An identifier for a user locale. - - i=12 - - - - TimeZoneDataType - - i=22 - - - - - - - - IntegerId - A numeric identifier for an object. - - i=7 - - - - ApplicationType - The types of applications. - - i=7597 - i=29 - - - - The application is a server. - - - The application is a client. - - - The application is a client and a server. - - - The application is a discovery server. - - - - - EnumStrings - - i=68 - i=78 - i=307 - - - - - - - Server - - - - - Client - - - - - ClientAndServer - - - - - DiscoveryServer - - - - - - ApplicationDescription - Describes an application and how to find it. - - i=22 - - - - The globally unique identifier for the application. - - - The globally unique identifier for the product. - - - The name of application. - - - The type of application. - - - The globally unique identifier for the server that is acting as a gateway for the server. - - - The globally unique identifier for the discovery profile supported by the server. - - - The URLs for the server's discovery endpoints. - - - - - ServerOnNetwork - - i=22 - - - - - - - - - - ApplicationInstanceCertificate - A certificate for an instance of an application. - - i=15 - - - - MessageSecurityMode - The type of security to use on a message. - - i=7595 - i=29 - - - - An invalid mode. - - - No security is used. - - - The message is signed. - - - The message is signed and encrypted. - - - - - EnumStrings - - i=68 - i=78 - i=302 - - - - - - - Invalid - - - - - None - - - - - Sign - - - - - SignAndEncrypt - - - - - - UserTokenType - The possible user token types. - - i=7596 - i=29 - - - - An anonymous user. - - - A user identified by a user name and password. - - - A user identified by an X509 certificate. - - - A user identified by WS-Security XML token. - - - A user identified by Kerberos ticket. - - - - - EnumStrings - - i=68 - i=78 - i=303 - - - - - - - Anonymous - - - - - UserName - - - - - Certificate - - - - - IssuedToken - - - - - Kerberos - - - - - - UserTokenPolicy - Describes a user token that can be used with a server. - - i=22 - - - - A identifier for the policy assigned by the server. - - - The type of user token. - - - The type of issued token. - - - The endpoint or any other information need to contruct an issued token URL. - - - The security policy to use when encrypting or signing the user token. - - - - - EndpointDescription - The description of a endpoint that can be used to access a server. - - i=22 - - - - The network endpoint to use when connecting to the server. - - - The description of the server. - - - The server's application certificate. - - - The security mode that must be used when connecting to the endpoint. - - - The security policy to use when connecting to the endpoint. - - - The user identity tokens that can be used with this endpoint. - - - The transport profile to use when connecting to the endpoint. - - - A server assigned value that indicates how secure the endpoint is relative to other server endpoints. - - - - - RegisteredServer - The information required to register a server with a discovery server. - - i=22 - - - - The globally unique identifier for the server. - - - The globally unique identifier for the product. - - - The name of server in multiple lcoales. - - - The type of server. - - - The globally unique identifier for the server that is acting as a gateway for the server. - - - The URLs for the server's discovery endpoints. - - - A path to a file that is deleted when the server is no longer accepting connections. - - - If FALSE the server will save the registration information to a persistent datastore. - - - - - DiscoveryConfiguration - A base type for discovery configuration information. - - i=22 - - - - MdnsDiscoveryConfiguration - The discovery information needed for mDNS registration. - - i=12890 - - - - The name for server that is broadcast via mDNS. - - - The server capabilities that are broadcast via mDNS. - - - - - SecurityTokenRequestType - Indicates whether a token if being created or renewed. - - i=7598 - i=29 - - - - The channel is being created. - - - The channel is being renewed. - - - - - EnumStrings - - i=68 - i=78 - i=315 - - - - - - - Issue - - - - - Renew - - - - - - SignedSoftwareCertificate - A software certificate with a digital signature. - - i=22 - - - - The data of the certificate. - - - The digital signature. - - - - - SessionAuthenticationToken - A unique identifier for a session used to authenticate requests. - - i=17 - - - - UserIdentityToken - A base type for a user identity token. - - i=22 - - - - The policy id specified in a user token policy for the endpoint being used. - - - - - AnonymousIdentityToken - A token representing an anonymous user. - - i=316 - - - - UserNameIdentityToken - A token representing a user identified by a user name and password. - - i=316 - - - - The user name. - - - The password encrypted with the server certificate. - - - The algorithm used to encrypt the password. - - - - - X509IdentityToken - A token representing a user identified by an X509 certificate. - - i=316 - - - - The certificate. - - - - - KerberosIdentityToken - - i=316 - - - - - - - IssuedIdentityToken - A token representing a user identified by a WS-Security XML token. - - i=316 - - - - The XML token encrypted with the server certificate. - - - The algorithm used to encrypt the certificate. - - - - - NodeAttributesMask - The bits used to specify default attributes for a new node. - - i=11881 - i=29 - - - - No attribuites provided. - - - The access level attribute is specified. - - - The array dimensions attribute is specified. - - - The browse name attribute is specified. - - - The contains no loops attribute is specified. - - - The data type attribute is specified. - - - The description attribute is specified. - - - The display name attribute is specified. - - - The event notifier attribute is specified. - - - The executable attribute is specified. - - - The historizing attribute is specified. - - - The inverse name attribute is specified. - - - The is abstract attribute is specified. - - - The minimum sampling interval attribute is specified. - - - The node class attribute is specified. - - - The node id attribute is specified. - - - The symmetric attribute is specified. - - - The user access level attribute is specified. - - - The user executable attribute is specified. - - - The user write mask attribute is specified. - - - The value rank attribute is specified. - - - The write mask attribute is specified. - - - The value attribute is specified. - - - All attributes are specified. - - - All base attributes are specified. - - - All object attributes are specified. - - - All object type or data type attributes are specified. - - - All variable attributes are specified. - - - All variable type attributes are specified. - - - All method attributes are specified. - - - All reference type attributes are specified. - - - All view attributes are specified. - - - - - EnumValues - - i=68 - i=78 - i=348 - - - - - - i=7616 - - - - 0 - - - - None - - - - - No attribuites provided. - - - - - - - i=7616 - - - - 1 - - - - AccessLevel - - - - - The access level attribute is specified. - - - - - - - i=7616 - - - - 2 - - - - ArrayDimensions - - - - - The array dimensions attribute is specified. - - - - - - - i=7616 - - - - 4 - - - - BrowseName - - - - - The browse name attribute is specified. - - - - - - - i=7616 - - - - 8 - - - - ContainsNoLoops - - - - - The contains no loops attribute is specified. - - - - - - - i=7616 - - - - 16 - - - - DataType - - - - - The data type attribute is specified. - - - - - - - i=7616 - - - - 32 - - - - Description - - - - - The description attribute is specified. - - - - - - - i=7616 - - - - 64 - - - - DisplayName - - - - - The display name attribute is specified. - - - - - - - i=7616 - - - - 128 - - - - EventNotifier - - - - - The event notifier attribute is specified. - - - - - - - i=7616 - - - - 256 - - - - Executable - - - - - The executable attribute is specified. - - - - - - - i=7616 - - - - 512 - - - - Historizing - - - - - The historizing attribute is specified. - - - - - - - i=7616 - - - - 1024 - - - - InverseName - - - - - The inverse name attribute is specified. - - - - - - - i=7616 - - - - 2048 - - - - IsAbstract - - - - - The is abstract attribute is specified. - - - - - - - i=7616 - - - - 4096 - - - - MinimumSamplingInterval - - - - - The minimum sampling interval attribute is specified. - - - - - - - i=7616 - - - - 8192 - - - - NodeClass - - - - - The node class attribute is specified. - - - - - - - i=7616 - - - - 16384 - - - - NodeId - - - - - The node id attribute is specified. - - - - - - - i=7616 - - - - 32768 - - - - Symmetric - - - - - The symmetric attribute is specified. - - - - - - - i=7616 - - - - 65536 - - - - UserAccessLevel - - - - - The user access level attribute is specified. - - - - - - - i=7616 - - - - 131072 - - - - UserExecutable - - - - - The user executable attribute is specified. - - - - - - - i=7616 - - - - 262144 - - - - UserWriteMask - - - - - The user write mask attribute is specified. - - - - - - - i=7616 - - - - 524288 - - - - ValueRank - - - - - The value rank attribute is specified. - - - - - - - i=7616 - - - - 1048576 - - - - WriteMask - - - - - The write mask attribute is specified. - - - - - - - i=7616 - - - - 2097152 - - - - Value - - - - - The value attribute is specified. - - - - - - - i=7616 - - - - 4194303 - - - - All - - - - - All attributes are specified. - - - - - - - i=7616 - - - - 1335396 - - - - BaseNode - - - - - All base attributes are specified. - - - - - - - i=7616 - - - - 1335524 - - - - Object - - - - - All object attributes are specified. - - - - - - - i=7616 - - - - 1337444 - - - - ObjectTypeOrDataType - - - - - All object type or data type attributes are specified. - - - - - - - i=7616 - - - - 4026999 - - - - Variable - - - - - All variable attributes are specified. - - - - - - - i=7616 - - - - 3958902 - - - - VariableType - - - - - All variable type attributes are specified. - - - - - - - i=7616 - - - - 1466724 - - - - Method - - - - - All method attributes are specified. - - - - - - - i=7616 - - - - 1371236 - - - - ReferenceType - - - - - All reference type attributes are specified. - - - - - - - i=7616 - - - - 1335532 - - - - View - - - - - All view attributes are specified. - - - - - - - - - AddNodesItem - A request to add a node to the server address space. - - i=22 - - - - The node id for the parent node. - - - The type of reference from the parent to the new node. - - - The node id requested by the client. If null the server must provide one. - - - The browse name for the new node. - - - The class of the new node. - - - The default attributes for the new node. - - - The type definition for the new node. - - - - - AddReferencesItem - A request to add a reference to the server address space. - - i=22 - - - - The source of the reference. - - - The type of reference. - - - If TRUE the reference is a forward reference. - - - The URI of the server containing the target (if in another server). - - - The target of the reference. - - - The node class of the target (if known). - - - - - DeleteNodesItem - A request to delete a node to the server address space. - - i=22 - - - - The id of the node to delete. - - - If TRUE all references to the are deleted as well. - - - - - DeleteReferencesItem - A request to delete a node from the server address space. - - i=22 - - - - The source of the reference to delete. - - - The type of reference to delete. - - - If TRUE the a forward reference is deleted. - - - The target of the reference to delete. - - - If TRUE the reference is deleted in both directions. - - - - - AttributeWriteMask - Define bits used to indicate which attributes are writable. - - i=11882 - i=29 - - - - No attributes are writable. - - - The access level attribute is writable. - - - The array dimensions attribute is writable. - - - The browse name attribute is writable. - - - The contains no loops attribute is writable. - - - The data type attribute is writable. - - - The description attribute is writable. - - - The display name attribute is writable. - - - The event notifier attribute is writable. - - - The executable attribute is writable. - - - The historizing attribute is writable. - - - The inverse name attribute is writable. - - - The is abstract attribute is writable. - - - The minimum sampling interval attribute is writable. - - - The node class attribute is writable. - - - The node id attribute is writable. - - - The symmetric attribute is writable. - - - The user access level attribute is writable. - - - The user executable attribute is writable. - - - The user write mask attribute is writable. - - - The value rank attribute is writable. - - - The write mask attribute is writable. - - - The value attribute is writable. - - - - - EnumValues - - i=68 - i=78 - i=347 - - - - - - i=7616 - - - - 0 - - - - None - - - - - No attributes are writable. - - - - - - - i=7616 - - - - 1 - - - - AccessLevel - - - - - The access level attribute is writable. - - - - - - - i=7616 - - - - 2 - - - - ArrayDimensions - - - - - The array dimensions attribute is writable. - - - - - - - i=7616 - - - - 4 - - - - BrowseName - - - - - The browse name attribute is writable. - - - - - - - i=7616 - - - - 8 - - - - ContainsNoLoops - - - - - The contains no loops attribute is writable. - - - - - - - i=7616 - - - - 16 - - - - DataType - - - - - The data type attribute is writable. - - - - - - - i=7616 - - - - 32 - - - - Description - - - - - The description attribute is writable. - - - - - - - i=7616 - - - - 64 - - - - DisplayName - - - - - The display name attribute is writable. - - - - - - - i=7616 - - - - 128 - - - - EventNotifier - - - - - The event notifier attribute is writable. - - - - - - - i=7616 - - - - 256 - - - - Executable - - - - - The executable attribute is writable. - - - - - - - i=7616 - - - - 512 - - - - Historizing - - - - - The historizing attribute is writable. - - - - - - - i=7616 - - - - 1024 - - - - InverseName - - - - - The inverse name attribute is writable. - - - - - - - i=7616 - - - - 2048 - - - - IsAbstract - - - - - The is abstract attribute is writable. - - - - - - - i=7616 - - - - 4096 - - - - MinimumSamplingInterval - - - - - The minimum sampling interval attribute is writable. - - - - - - - i=7616 - - - - 8192 - - - - NodeClass - - - - - The node class attribute is writable. - - - - - - - i=7616 - - - - 16384 - - - - NodeId - - - - - The node id attribute is writable. - - - - - - - i=7616 - - - - 32768 - - - - Symmetric - - - - - The symmetric attribute is writable. - - - - - - - i=7616 - - - - 65536 - - - - UserAccessLevel - - - - - The user access level attribute is writable. - - - - - - - i=7616 - - - - 131072 - - - - UserExecutable - - - - - The user executable attribute is writable. - - - - - - - i=7616 - - - - 262144 - - - - UserWriteMask - - - - - The user write mask attribute is writable. - - - - - - - i=7616 - - - - 524288 - - - - ValueRank - - - - - The value rank attribute is writable. - - - - - - - i=7616 - - - - 1048576 - - - - WriteMask - - - - - The write mask attribute is writable. - - - - - - - i=7616 - - - - 2097152 - - - - ValueForVariableType - - - - - The value attribute is writable. - - - - - - - - - ContinuationPoint - An identifier for a suspended query or browse operation. - - i=15 - - - - RelativePathElement - An element in a relative path. - - i=22 - - - - The type of reference to follow. - - - If TRUE the reverse reference is followed. - - - If TRUE then subtypes of the reference type are followed. - - - The browse name of the target. - - - - - RelativePath - A relative path constructed from reference types and browse names. - - i=22 - - - - A list of elements in the path. - - - - - Counter - A monotonically increasing value. - - i=7 - - - - NumericRange - Specifies a range of array indexes. - - i=12 - - - - Time - A time value specified as HH:MM:SS.SSS. - - i=12 - - - - Date - A date value. - - i=13 - - - - EndpointConfiguration - - i=22 - - - - - - - - - - - - - - - ComplianceLevel - - i=7599 - i=29 - - - - - - - - - - EnumStrings - - i=68 - i=78 - i=334 - - - - - - - Untested - - - - - Partial - - - - - SelfTested - - - - - Certified - - - - - - SupportedProfile - - i=22 - - - - - - - - - - - - SoftwareCertificate - - i=22 - - - - - - - - - - - - - - - - FilterOperator - - i=7605 - i=29 - - - - - - - - - - - - - - - - - - - - - - - - EnumStrings - - i=68 - i=78 - i=576 - - - - - - - Equals - - - - - IsNull - - - - - GreaterThan - - - - - LessThan - - - - - GreaterThanOrEqual - - - - - LessThanOrEqual - - - - - Like - - - - - Not - - - - - Between - - - - - InList - - - - - And - - - - - Or - - - - - Cast - - - - - InView - - - - - OfType - - - - - RelatedTo - - - - - BitwiseAnd - - - - - BitwiseOr - - - - - - ContentFilterElement - - i=22 - - - - - - - - ContentFilter - - i=22 - - - - - - - FilterOperand - - i=22 - - - - ElementOperand - - i=589 - - - - - - - LiteralOperand - - i=589 - - - - - - - AttributeOperand - - i=589 - - - - - - - - - - - SimpleAttributeOperand - - i=589 - - - - - - - - - - HistoryEvent - - i=22 - - - - - - - HistoryUpdateType - - i=11884 - i=29 - - - - - - - - - - EnumValues - - i=68 - i=78 - i=11234 - - - - - - i=7616 - - - - 1 - - - - Insert - - - - - - - - i=7616 - - - - 2 - - - - Replace - - - - - - - - i=7616 - - - - 3 - - - - Update - - - - - - - - i=7616 - - - - 4 - - - - Delete - - - - - - - - - - PerformUpdateType - - i=11885 - i=29 - - - - - - - - - - EnumValues - - i=68 - i=78 - i=11293 - - - - - - i=7616 - - - - 1 - - - - Insert - - - - - - - - i=7616 - - - - 2 - - - - Replace - - - - - - - - i=7616 - - - - 3 - - - - Update - - - - - - - - i=7616 - - - - 4 - - - - Remove - - - - - - - - - - MonitoringFilter - - i=22 - - - - EventFilter - - i=719 - - - - - - - - AggregateConfiguration - - i=22 - - - - - - - - - - - HistoryEventFieldList - - i=22 - - - - - - - EnumeratedTestType - A simple enumerated type used for testing. - - i=11886 - i=29 - - - - Operation has halted. - - - Operation is proceeding with caution. - - - Operation is proceeding normally. - - - - - EnumValues - - i=68 - i=78 - i=398 - - - - - - i=7616 - - - - 1 - - - - Red - - - - - Operation has halted. - - - - - - - i=7616 - - - - 4 - - - - Yellow - - - - - Operation is proceeding with caution. - - - - - - - i=7616 - - - - 5 - - - - Green - - - - - Operation is proceeding normally. - - - - - - - - - BuildInfo - - i=22 - - - - - - - - - - - - RedundancySupport - - i=7611 - i=29 - - - - - - - - - - - - EnumStrings - - i=68 - i=78 - i=851 - - - - - - - None - - - - - Cold - - - - - Warm - - - - - Hot - - - - - Transparent - - - - - HotAndMirrored - - - - - - ServerState - - i=7612 - i=29 - - - - - - - - - - - - - - EnumStrings - - i=68 - i=78 - i=852 - - - - - - - Running - - - - - Failed - - - - - NoConfiguration - - - - - Suspended - - - - - Shutdown - - - - - Test - - - - - CommunicationFault - - - - - Unknown - - - - - - RedundantServerDataType - - i=22 - - - - - - - - - EndpointUrlListDataType - - i=22 - - - - - - - NetworkGroupDataType - - i=22 - - - - - - - - SamplingIntervalDiagnosticsDataType - - i=22 - - - - - - - - - - ServerDiagnosticsSummaryDataType - - i=22 - - - - - - - - - - - - - - - - - - ServerStatusDataType - - i=22 - - - - - - - - - - - - SessionDiagnosticsDataType - - i=22 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SessionSecurityDiagnosticsDataType - - i=22 - - - - - - - - - - - - - - - ServiceCounterDataType - - i=22 - - - - - - - - StatusResult - - i=22 - - - - - - - - SubscriptionDiagnosticsDataType - - i=22 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ModelChangeStructureDataType - - i=22 - - - - - - - - - SemanticChangeStructureDataType - - i=22 - - - - - - - - Range - - i=22 - - - - - - - - EUInformation - - i=22 - - - - - - - - - - AxisScaleEnumeration - - i=12078 - i=29 - - - - - - - - - EnumStrings - - i=68 - i=78 - i=12077 - - - - - - - Linear - - - - - Log - - - - - Ln - - - - - - ComplexNumberType - - i=22 - - - - - - - - DoubleComplexNumberType - - i=22 - - - - - - - - AxisInformation - - i=22 - - - - - - - - - - - XVType - - i=22 - - - - - - - - ProgramDiagnosticDataType - - i=22 - - - - - - - - - - - - - - - - Annotation - - i=22 - - - - - - - - - ExceptionDeviationFormat - - i=7614 - i=29 - - - - - - - - - - - EnumStrings - - i=68 - i=78 - i=890 - - - - - - - AbsoluteValue - - - - - PercentOfValue - - - - - PercentOfRange - - - - - PercentOfEURange - - - - - Unknown - - - - - - Default XML - - i=12554 - i=12677 - i=76 - - - - Default XML - - i=296 - i=8285 - i=76 - - - - Default XML - - i=7594 - i=8291 - i=76 - - - - Default XML - - i=12755 - i=12759 - i=76 - - - - Default XML - - i=12756 - i=12762 - i=76 - - - - Default XML - - i=8912 - i=8918 - i=76 - - - - Default XML - - i=308 - i=8300 - i=76 - - - - Default XML - - i=12189 - i=12201 - i=76 - - - - Default XML - - i=304 - i=8297 - i=76 - - - - Default XML - - i=312 - i=8303 - i=76 - - - - Default XML - - i=432 - i=8417 - i=76 - - - - Default XML - - i=12890 - i=12894 - i=76 - - - - Default XML - - i=12891 - i=12897 - i=76 - - - - Default XML - - i=344 - i=8333 - 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=12504 - i=12506 - i=76 - - - - Default XML - - i=938 - i=8318 - i=76 - - - - Default XML - - i=376 - i=8363 - i=76 - - - - Default XML - - i=379 - i=8366 - i=76 - - - - Default XML - - i=382 - i=8369 - i=76 - - - - Default XML - - i=385 - i=8372 - i=76 - - - - Default XML - - i=537 - i=12712 - i=76 - - - - Default XML - - i=540 - i=12715 - i=76 - - - - Default XML - - i=331 - i=8321 - i=76 - - - - Default XML - - i=335 - i=8324 - i=76 - - - - Default XML - - i=341 - i=8330 - 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=659 - i=8639 - i=76 - - - - Default XML - - i=719 - i=8702 - i=76 - - - - Default XML - - i=725 - i=8708 - i=76 - - - - Default XML - - i=948 - i=8711 - i=76 - - - - Default XML - - i=920 - i=8807 - 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=891 - i=8879 - i=76 - - - - Opc.Ua - - i=8254 - i=12677 - i=8285 - i=8291 - i=12759 - i=12762 - 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=12506 - i=8318 - i=8363 - i=8366 - i=8369 - i=8372 - i=12712 - i=12715 - i=8321 - i=8324 - i=8330 - 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=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 -ZT0ieHM6YmFzZTY0QmluYXJ5IiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkJpdEZpZWxkTWFz -a0RhdGFUeXBlIiB0eXBlPSJ4czp1bnNpZ25lZExvbmciIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUg -IG5hbWU9Ik9wZW5GaWxlTW9kZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmlu -ZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlYWRfMSIgLz4NCiAgICAgIDx4czpl -bnVtZXJhdGlvbiB2YWx1ZT0iV3JpdGVfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 -ZT0iRXJhc2VFeGlzdGluZ180IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBcHBl -bmRfOCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9Ik9wZW5GaWxlTW9kZSIgdHlwZT0idG5zOk9wZW5GaWxlTW9kZSIgLz4N -Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mT3BlbkZpbGVNb2RlIj4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPcGVuRmlsZU1vZGUiIHR5cGU9InRu -czpPcGVuRmlsZU1vZGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iTGlzdE9mT3BlbkZpbGVNb2RlIiB0eXBlPSJ0bnM6TGlzdE9mT3BlbkZpbGVNb2RlIiBuaWxs -YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJUcnVz -dExpc3RNYXNrcyI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAg -ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv -biB2YWx1ZT0iVHJ1c3RlZENlcnRpZmljYXRlc18xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u -IHZhbHVlPSJUcnVzdGVkQ3Jsc18yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJ -c3N1ZXJDZXJ0aWZpY2F0ZXNfNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNz -dWVyQ3Jsc184IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBbGxfMTUiIC8+DQog -ICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJUcnVzdExpc3RNYXNrcyIgdHlwZT0idG5zOlRydXN0TGlzdE1hc2tzIiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJUcnVzdExpc3REYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3BlY2lmaWVkTGlzdHMiIHR5cGU9InhzOnVuc2ln -bmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcnVzdGVk -Q2VydGlmaWNhdGVzIiB0eXBlPSJ1YTpMaXN0T2ZCeXRlU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJ1c3RlZENybHMiIHR5 -cGU9InVhOkxpc3RPZkJ5dGVTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc3N1ZXJDZXJ0aWZpY2F0ZXMiIHR5cGU9InVhOkxp -c3RPZkJ5dGVTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJJc3N1ZXJDcmxzIiB0eXBlPSJ1YTpMaXN0T2ZCeXRlU3RyaW5nIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRydXN0TGlzdERhdGFUeXBlIiB0 -eXBlPSJ0bnM6VHJ1c3RMaXN0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 -Ikxpc3RPZlRydXN0TGlzdERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJUcnVzdExpc3REYXRhVHlwZSIgdHlwZT0idG5zOlRydXN0TGlzdERhdGFU -eXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJMaXN0T2ZUcnVzdExpc3REYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlRydXN0TGlz -dERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVU -eXBlICBuYW1lPSJJZFR5cGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3Vt -ZW50YXRpb24+VGhlIHR5cGUgb2YgaWRlbnRpZmllciB1c2VkIGluIGEgbm9kZSBpZC48L3hzOmRv -Y3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpyZXN0cmljdGlvbiBi -YXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOdW1lcmljXzAi -IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN0cmluZ18xIiAvPg0KICAgICAgPHhz -OmVudW1lcmF0aW9uIHZhbHVlPSJHdWlkXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs -dWU9Ik9wYXF1ZV8zIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSWRUeXBlIiB0eXBlPSJ0bnM6SWRUeXBlIiAvPg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZJZFR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IklkVHlwZSIgdHlwZT0idG5zOklkVHlwZSIgbWluT2Nj -dXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZJZFR5cGUiIHR5cGU9 -InRuczpMaXN0T2ZJZFR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhz -OnNpbXBsZVR5cGUgIG5hbWU9Ik5vZGVDbGFzcyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg -ICA8eHM6ZG9jdW1lbnRhdGlvbj5BIG1hc2sgc3BlY2lmeWluZyB0aGUgY2xhc3Mgb2YgdGhlIG5v -ZGUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6cmVz -dHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i -VW5zcGVjaWZpZWRfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iT2JqZWN0XzEi -IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZhcmlhYmxlXzIiIC8+DQogICAgICA8 -eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik1ldGhvZF80IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u -IHZhbHVlPSJPYmplY3RUeXBlXzgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZh -cmlhYmxlVHlwZV8xNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVmZXJlbmNl -VHlwZV8zMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGF0YVR5cGVfNjQiIC8+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZpZXdfMTI4IiAvPg0KICAgIDwveHM6cmVz -dHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUNs -YXNzIiB0eXBlPSJ0bnM6Tm9kZUNsYXNzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJO -b2RlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlNwZWNp -ZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gYWxsIG5vZGVzLjwveHM6ZG9jdW1l -bnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlQ2xhc3MiIHR5 -cGU9InRuczpOb2RlQ2xhc3MiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IkJyb3dzZU5hbWUiIHR5cGU9InVhOlF1YWxpZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNwbGF5TmFtZSIgdHlw -ZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IkRlc2NyaXB0aW9uIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0 -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iV3JpdGVNYXNrIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlcldyaXRlTWFzayIgdHlwZT0ieHM6dW5zaWduZWRJbnQi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZXMiIHR5 -cGU9InRuczpMaXN0T2ZSZWZlcmVuY2VOb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9Ik5vZGUiIHR5cGU9InRuczpOb2RlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJMaXN0T2ZOb2RlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJOb2RlIiB0eXBlPSJ0bnM6Tm9kZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91 -bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTm9kZSIgdHlwZT0idG5zOkxpc3RP -Zk5vZGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9Ikluc3RhbmNlTm9kZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxz -ZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlIj4NCiAgICAgICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQog -ICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iSW5zdGFuY2VOb2RlIiB0eXBlPSJ0bnM6SW5zdGFuY2VOb2RlIiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJUeXBlTm9kZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1p -eGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlIj4NCiAgICAg -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRl -bnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iVHlwZU5vZGUiIHR5cGU9InRuczpUeXBlTm9kZSIgLz4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iT2JqZWN0Tm9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQog -ICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVs -b25nIHRvIG9iamVjdCBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 -aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4 -dGVuc2lvbiBiYXNlPSJ0bnM6SW5zdGFuY2VOb2RlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50Tm90aWZpZXIiIHR5cGU9InhzOnVuc2ln -bmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAg -PC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT2JqZWN0Tm9kZSIgdHlwZT0idG5zOk9iamVjdE5v -ZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik9iamVjdFR5cGVOb2RlIj4NCiAgICA8 -eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0 -cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gb2JqZWN0IHR5cGUgbm9kZXMuPC94czpkb2N1bWVudGF0 -aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9 -ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOlR5cGVOb2RlIj4NCiAgICAg -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IklzQWJzdHJhY3Qi -IHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5j -ZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9iamVjdFR5cGVOb2RlIiB0eXBl -PSJ0bnM6T2JqZWN0VHlwZU5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlh -YmxlTm9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5T -cGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIHZhcmlhYmxlIG5vZGVzLjwv -eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhD -b250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpJbnN0 -YW5jZU5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iVmFsdWUiIHR5cGU9InVhOlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVl -UmFuayIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iQXJyYXlEaW1lbnNpb25zIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWNj -ZXNzTGV2ZWwiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJBY2Nlc3NMZXZlbCIgdHlwZT0ieHM6dW5zaWduZWRC -eXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWluaW11 -bVNhbXBsaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3Rvcml6aW5nIiB0eXBlPSJ4czpib29sZWFuIiBt -aW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVu -c2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJWYXJpYWJsZU5vZGUiIHR5cGU9InRuczpWYXJpYWJsZU5vZGUiIC8+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhYmxlVHlwZU5vZGUiPg0KICAgIDx4czph -bm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+U3BlY2lmaWVzIHRoZSBhdHRyaWJ1 -dGVzIHdoaWNoIGJlbG9uZyB0byB2YXJpYWJsZSB0eXBlIG5vZGVzLjwveHM6ZG9jdW1lbnRhdGlv -bj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJm -YWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpUeXBlTm9kZSI+DQogICAgICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0i -dWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkRhdGFUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czppbnQi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcnJheURpbWVu -c2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpi -b29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8 -L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWYXJpYWJsZVR5cGVOb2RlIiB0eXBlPSJ0bnM6VmFy -aWFibGVUeXBlTm9kZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVmZXJlbmNlVHlw -ZU5vZGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+U3Bl -Y2lmaWVzIHRoZSBhdHRyaWJ1dGVzIHdoaWNoIGJlbG9uZyB0byByZWZlcmVuY2UgdHlwZSBub2Rl -cy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21w -bGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6 -VHlwZU5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iSXNBYnN0cmFjdCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN5bW1ldHJpYyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkludmVyc2VOYW1lIiB0 -eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpj -b21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -UmVmZXJlbmNlVHlwZU5vZGUiIHR5cGU9InRuczpSZWZlcmVuY2VUeXBlTm9kZSIgLz4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iTWV0aG9kTm9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQog -ICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVs -b25nIHRvIG1ldGhvZCBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 -aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4 -dGVuc2lvbiBiYXNlPSJ0bnM6SW5zdGFuY2VOb2RlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV4ZWN1dGFibGUiIHR5cGU9InhzOmJvb2xlYW4i -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyRXhlY3V0 -YWJsZSIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNl -cXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTWV0aG9kTm9kZSIgdHlw -ZT0idG5zOk1ldGhvZE5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZpZXdOb2Rl -Ij4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRl -bnNpb24gYmFzZT0idG5zOkluc3RhbmNlTm9kZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250YWluc05vTG9vcHMiIHR5cGU9InhzOmJvb2xl -YW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudE5v -dGlmaWVyIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg -PC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENv -bnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlZpZXdOb2Rl -IiB0eXBlPSJ0bnM6Vmlld05vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFU -eXBlTm9kZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8 -eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpUeXBlTm9kZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpib29sZWFu -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4 -dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZU5vZGUiIHR5cGU9InRuczpEYXRhVHlwZU5vZGUi -IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZmVyZW5jZU5vZGUiPg0KICAgIDx4czph -bm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+U3BlY2lmaWVzIGEgcmVmZXJlbmNl -IHdoaWNoIGJlbG9uZ3MgdG8gYSBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu -bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVm -ZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ludmVyc2UiIHR5cGU9InhzOmJvb2xl -YW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdldElkIiB0 -eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJSZWZlcmVuY2VOb2RlIiB0eXBlPSJ0bnM6UmVmZXJlbmNlTm9kZSIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUmVmZXJlbmNlTm9kZSI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlTm9kZSIgdHlwZT0idG5zOlJlZmVy -ZW5jZU5vZGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9Ikxpc3RPZlJlZmVyZW5jZU5vZGUiIHR5cGU9InRuczpMaXN0T2ZSZWZlcmVu -Y2VOb2RlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJBcmd1bWVudCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l -bnRhdGlvbj5BbiBhcmd1bWVudCBmb3IgYSBtZXRob2QuPC94czpkb2N1bWVudGF0aW9uPg0KICAg -IDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -VmFsdWVSYW5rIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkFycmF5RGltZW5zaW9ucyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVzY3Jp -cHRpb24iIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iQXJndW1lbnQiIHR5cGU9InRuczpBcmd1bWVudCIgLz4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iTGlzdE9mQXJndW1lbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IkFyZ3VtZW50IiB0eXBlPSJ0bnM6QXJndW1lbnQiIG1pbk9jY3Vy -cz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 -c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RP -ZkFyZ3VtZW50IiB0eXBlPSJ0bnM6TGlzdE9mQXJndW1lbnQiIG5pbGxhYmxlPSJ0cnVlIj48L3hz -OmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVudW1WYWx1ZVR5cGUiPg0KICAg -IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBtYXBwaW5nIGJldHdl -ZW4gYSB2YWx1ZSBvZiBhbiBlbnVtZXJhdGVkIHR5cGUgYW5kIGEgbmFtZSBhbmQgZGVzY3JpcHRp -b24uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0ieHM6bG9uZyIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzcGxheU5hbWUiIHR5cGU9 -InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFbnVtVmFsdWVUeXBlIiB0eXBl -PSJ0bnM6RW51bVZhbHVlVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m -RW51bVZhbHVlVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iRW51bVZhbHVlVHlwZSIgdHlwZT0idG5zOkVudW1WYWx1ZVR5cGUiIG1pbk9jY3Vycz0iMCIg -bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu -Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkVudW1W -YWx1ZVR5cGUiIHR5cGU9InRuczpMaXN0T2ZFbnVtVmFsdWVUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+ -PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJPcHRpb25TZXQiPg0KICAg -IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhpcyBhYnN0cmFjdCBT -dHJ1Y3R1cmVkIERhdGFUeXBlIGlzIHRoZSBiYXNlIERhdGFUeXBlIGZvciBhbGwgRGF0YVR5cGVz -IHJlcHJlc2VudGluZyBhIGJpdCBtYXNrLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu -bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFs -dWUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbGlkQml0cyIgdHlwZT0ieHM6YmFzZTY0Qmlu -YXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9wdGlvblNldCIgdHlw -ZT0idG5zOk9wdGlvblNldCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mT3B0 -aW9uU2V0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPcHRp -b25TZXQiIHR5cGU9InRuczpPcHRpb25TZXQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJv -dW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk9wdGlvblNldCIgdHlwZT0idG5z -Okxpc3RPZk9wdGlvblNldCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iVW5pb24iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhz -OmRvY3VtZW50YXRpb24+VGhpcyBhYnN0cmFjdCBEYXRhVHlwZSBpcyB0aGUgYmFzZSBEYXRhVHlw -ZSBmb3IgYWxsIHVuaW9uIERhdGFUeXBlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czph -bm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVbmlvbiIgdHlwZT0idG5zOlVuaW9u -IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZVbmlvbiI+DQogICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVW5pb24iIHR5cGU9InRuczpVbmlvbiIg -bWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iTGlzdE9mVW5pb24iIHR5cGU9InRuczpMaXN0T2ZVbmlvbiIgbmlsbGFibGU9InRydWUiPjwv -eHM6ZWxlbWVudD4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOb3JtYWxpemVkU3RyaW5nIiB0eXBl -PSJ4czpzdHJpbmciIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVjaW1hbFN0cmluZyIgdHlw -ZT0ieHM6c3RyaW5nIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkR1cmF0aW9uU3RyaW5nIiB0 -eXBlPSJ4czpzdHJpbmciIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZVN0cmluZyIgdHlw -ZT0ieHM6c3RyaW5nIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkRhdGVTdHJpbmciIHR5cGU9 -InhzOnN0cmluZyIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEdXJhdGlvbiIgdHlwZT0ieHM6 -ZG91YmxlIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IlV0Y1RpbWUiIHR5cGU9InhzOmRhdGVU -aW1lIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkxvY2FsZUlkIiB0eXBlPSJ4czpzdHJpbmci -IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlRpbWVab25lRGF0YVR5cGUiPg0KICAgIDx4 -czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik9mZnNldCIgdHlwZT0ieHM6c2hv -cnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRheWxpZ2h0U2F2 -aW5nSW5PZmZzZXQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hz -OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1l -Wm9uZURhdGFUeXBlIiB0eXBlPSJ0bnM6VGltZVpvbmVEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iTGlzdE9mVGltZVpvbmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZVpvbmVEYXRhVHlwZSIgdHlwZT0idG5zOlRp -bWVab25lRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlRpbWVab25lRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0 -T2ZUaW1lWm9uZURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4 -czplbGVtZW50IG5hbWU9IkludGVnZXJJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIC8+DQoNCiAg -PHhzOnNpbXBsZVR5cGUgIG5hbWU9IkFwcGxpY2F0aW9uVHlwZSI+DQogICAgPHhzOmFubm90YXRp -b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgdHlwZXMgb2YgYXBwbGljYXRpb25zLjwv -eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0 -aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNlcnZl -cl8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDbGllbnRfMSIgLz4NCiAgICAg -IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ2xpZW50QW5kU2VydmVyXzIiIC8+DQogICAgICA8eHM6 -ZW51bWVyYXRpb24gdmFsdWU9IkRpc2NvdmVyeVNlcnZlcl8zIiAvPg0KICAgIDwveHM6cmVzdHJp -Y3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRp -b25UeXBlIiB0eXBlPSJ0bnM6QXBwbGljYXRpb25UeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg -ICAgIDx4czpkb2N1bWVudGF0aW9uPkRlc2NyaWJlcyBhbiBhcHBsaWNhdGlvbiBhbmQgaG93IHRv -IGZpbmQgaXQuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcHBsaWNhdGlvblVyaSIgdHlw -ZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iUHJvZHVjdFVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25O -YW1lIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25UeXBlIiB0eXBlPSJ0bnM6 -QXBwbGljYXRpb25UeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJHYXRld2F5U2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjb3ZlcnlQcm9maWxlVXJp -IiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjb3ZlcnlVcmxzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmci -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg -PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25EZXNjcmlw -dGlvbiIgdHlwZT0idG5zOkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9Ikxpc3RPZkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1 -ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIHR5 -cGU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0i -dW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZBcHBsaWNhdGlvbkRlc2Ny -aXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mQXBwbGljYXRpb25EZXNjcmlwdGlvbiIgbmlsbGFibGU9 -InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVxdWVzdEhl -YWRlciI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUg -aGVhZGVyIHBhc3NlZCB3aXRoIGV2ZXJ5IHNlcnZlciByZXF1ZXN0LjwveHM6ZG9jdW1lbnRhdGlv -bj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iQXV0aGVudGljYXRpb25Ub2tlbiIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0 -YW1wIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iUmVxdWVzdEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldHVybkRpYWdub3N0aWNzIiB0eXBlPSJ4 -czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -QXVkaXRFbnRyeUlkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lb3V0SGludCIgdHlwZT0ieHM6dW5z -aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZGl0 -aW9uYWxIZWFkZXIiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRl -ciIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVzcG9uc2VIZWFkZXIiPg0KICAgIDx4 -czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGhlYWRlciBwYXNzZWQg -d2l0aCBldmVyeSBzZXJ2ZXIgcmVzcG9uc2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6 -YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJU -aW1lc3RhbXAiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGFuZGxlIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmljZVJlc3VsdCIgdHlwZT0i -dWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -U2VydmljZURpYWdub3N0aWNzIiB0eXBlPSJ1YTpEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0cmluZ1RhYmxl -IiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRpdGlvbmFsSGVhZGVyIiB0eXBlPSJ1YTpFeHRl -bnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz -ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9u -c2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iU2VydmljZUZhdWx0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpk -b2N1bWVudGF0aW9uPlRoZSByZXNwb25zZSByZXR1cm5lZCBieSBhbGwgc2VydmljZXMgd2hlbiB0 -aGVyZSBpcyBhIHNlcnZpY2UgbGV2ZWwgZXJyb3IuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwv -eHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNlcnZpY2VGYXVsdCIgdHlwZT0idG5zOlNlcnZpY2VG -YXVsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRmluZFNlcnZlcnNSZXF1ZXN0Ij4N -CiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkZpbmRzIHRoZSBz -ZXJ2ZXJzIGtub3duIHRvIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4N -CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2lu -dFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmci -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJTZXJ2ZXJVcmlzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iRmluZFNlcnZlcnNSZXF1ZXN0IiB0eXBlPSJ0bnM6RmluZFNlcnZl -cnNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJGaW5kU2VydmVyc1Jlc3Bv -bnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkZpbmRz -IHRoZSBzZXJ2ZXJzIGtub3duIHRvIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwveHM6ZG9jdW1lbnRh -dGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlNlcnZlcnMiIHR5cGU9InRuczpMaXN0T2ZBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkZpbmRTZXJ2ZXJzUmVzcG9uc2UiIHR5cGU9 -InRuczpGaW5kU2VydmVyc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJT -ZXJ2ZXJPbk5ldHdvcmsiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlJlY29yZElkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzY292 -ZXJ5VXJsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJDYXBhYmlsaXRpZXMiIHR5cGU9InVhOkxp -c3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJP -bk5ldHdvcmsiIHR5cGU9InRuczpTZXJ2ZXJPbk5ldHdvcmsiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9Ikxpc3RPZlNlcnZlck9uTmV0d29yayI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyT25OZXR3b3JrIiB0eXBlPSJ0bnM6U2VydmVyT25O -ZXR3b3JrIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJMaXN0T2ZTZXJ2ZXJPbk5ldHdvcmsiIHR5cGU9InRuczpMaXN0T2ZTZXJ2ZXJP -bk5ldHdvcmsiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVl -c3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJTdGFydGluZ1JlY29yZElkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4UmVjb3Jkc1RvUmV0dXJuIiB0 -eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iU2VydmVyQ2FwYWJpbGl0eUZpbHRlciIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVx -dWVzdCIgdHlwZT0idG5zOkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVxdWVzdCIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iRmluZFNlcnZlcnNPbk5ldHdvcmtSZXNwb25zZSI+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9 -InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ikxhc3RDb3VudGVyUmVzZXRUaW1lIiB0eXBlPSJ4czpkYXRl -VGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVycyIg -dHlwZT0idG5zOkxpc3RPZlNlcnZlck9uTmV0d29yayIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJGaW5kU2VydmVyc09uTmV0d29ya1Jlc3BvbnNlIiB0eXBlPSJ0bnM6Rmlu -ZFNlcnZlcnNPbk5ldHdvcmtSZXNwb25zZSIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBcHBs -aWNhdGlvbkluc3RhbmNlQ2VydGlmaWNhdGUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgLz4NCg0K -ICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iTWVzc2FnZVNlY3VyaXR5TW9kZSI+DQogICAgPHhzOmFu -bm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgdHlwZSBvZiBzZWN1cml0eSB0 -byB1c2Ugb24gYSBtZXNzYWdlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRp -b24+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51 -bWVyYXRpb24gdmFsdWU9IkludmFsaWRfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 -ZT0iTm9uZV8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTaWduXzIiIC8+DQog -ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNpZ25BbmRFbmNyeXB0XzMiIC8+DQogICAgPC94 -czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJN -ZXNzYWdlU2VjdXJpdHlNb2RlIiB0eXBlPSJ0bnM6TWVzc2FnZVNlY3VyaXR5TW9kZSIgLz4NCg0K -ICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iVXNlclRva2VuVHlwZSI+DQogICAgPHhzOmFubm90YXRp -b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgcG9zc2libGUgdXNlciB0b2tlbiB0eXBl -cy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpyZXN0 -cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJB -bm9ueW1vdXNfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVXNlck5hbWVfMSIg -Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ2VydGlmaWNhdGVfMiIgLz4NCiAgICAg -IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNzdWVkVG9rZW5fMyIgLz4NCiAgICAgIDx4czplbnVt -ZXJhdGlvbiB2YWx1ZT0iS2VyYmVyb3NfNCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8 -L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVzZXJUb2tlblR5cGUiIHR5cGU9 -InRuczpVc2VyVG9rZW5UeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJVc2VyVG9r -ZW5Qb2xpY3kiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+ -RGVzY3JpYmVzIGEgdXNlciB0b2tlbiB0aGF0IGNhbiBiZSB1c2VkIHdpdGggYSBzZXJ2ZXIuPC94 -czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQb2xpY3lJZCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVG9r -ZW5UeXBlIiB0eXBlPSJ0bnM6VXNlclRva2VuVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iSXNzdWVkVG9rZW5UeXBlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc3N1 -ZXJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlQb2xpY3lVcmkiIHR5cGU9 -InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyVG9r -ZW5Qb2xpY3kiIHR5cGU9InRuczpVc2VyVG9rZW5Qb2xpY3kiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9Ikxpc3RPZlVzZXJUb2tlblBvbGljeSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlclRva2VuUG9saWN5IiB0eXBlPSJ0bnM6VXNlclRva2Vu -UG9saWN5IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJMaXN0T2ZVc2VyVG9rZW5Qb2xpY3kiIHR5cGU9InRuczpMaXN0T2ZVc2VyVG9r -ZW5Qb2xpY3kiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IkVuZHBvaW50RGVzY3JpcHRpb24iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAg -ICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGRlc2NyaXB0aW9uIG9mIGEgZW5kcG9pbnQgdGhhdCBj -YW4gYmUgdXNlZCB0byBhY2Nlc3MgYSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwv -eHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyIiB0eXBlPSJ0bnM6QXBwbGlj -YXRpb25EZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlNlcnZlckNlcnRpZmljYXRlIiB0eXBlPSJ4czpiYXNlNjRCaW5h -cnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiBtaW5PY2N1 -cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVBvbGljeVVyaSIgdHlw -ZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iVXNlcklkZW50aXR5VG9rZW5zIiB0eXBlPSJ0bnM6TGlzdE9mVXNlclRv -a2VuUG9saWN5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iVHJhbnNwb3J0UHJvZmlsZVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJp -dHlMZXZlbCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94 -czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRW5k -cG9pbnREZXNjcmlwdGlvbiIgdHlwZT0idG5zOkVuZHBvaW50RGVzY3JpcHRpb24iIC8+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkVuZHBvaW50RGVzY3JpcHRpb24iPg0KICAgIDx4 -czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50RGVzY3JpcHRpb24i -IHR5cGU9InRuczpFbmRwb2ludERlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0i -dW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbmRwb2ludERlc2NyaXB0 -aW9uIiB0eXBlPSJ0bnM6TGlzdE9mRW5kcG9pbnREZXNjcmlwdGlvbiIgbmlsbGFibGU9InRydWUi -PjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iR2V0RW5kcG9pbnRzUmVx -dWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5HZXRz -IHRoZSBlbmRwb2ludHMgdXNlZCBieSB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAg -ICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVy -bCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQ -cm9maWxlVXJpcyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9IkdldEVuZHBvaW50c1JlcXVlc3QiIHR5cGU9InRuczpHZXRFbmRwb2lu -dHNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJHZXRFbmRwb2ludHNSZXNw -b25zZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5HZXRz -IHRoZSBlbmRwb2ludHMgdXNlZCBieSB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAg -ICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50 -cyIgdHlwZT0idG5zOkxpc3RPZkVuZHBvaW50RGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iR2V0RW5kcG9pbnRzUmVzcG9uc2UiIHR5cGU9InRuczpHZXRF -bmRwb2ludHNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJl -ZFNlcnZlciI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5U -aGUgaW5mb3JtYXRpb24gcmVxdWlyZWQgdG8gcmVnaXN0ZXIgYSBzZXJ2ZXIgd2l0aCBhIGRpc2Nv -dmVyeSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAg -ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJVcmkiIHR5cGU9 -InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlByb2R1Y3RVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlck5hbWVzIiB0 -eXBlPSJ1YTpMaXN0T2ZMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVHlwZSIgdHlwZT0idG5zOkFwcGxp -Y2F0aW9uVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iR2F0 -ZXdheVNlcnZlclVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzY292ZXJ5VXJscyIgdHlwZT0idWE6 -TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iU2VtYXBob3JlRmlsZVBhdGgiIHR5cGU9InhzOnN0cmluZyIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IklzT25s -aW5lIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJlZFNl -cnZlciIgdHlwZT0idG5zOlJlZ2lzdGVyZWRTZXJ2ZXIiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9Ikxpc3RPZlJlZ2lzdGVyZWRTZXJ2ZXIiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyZWRTZXJ2ZXIiIHR5cGU9InRuczpSZWdpc3RlcmVk -U2VydmVyIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJMaXN0T2ZSZWdpc3RlcmVkU2VydmVyIiB0eXBlPSJ0bnM6TGlzdE9mUmVnaXN0 -ZXJlZFNlcnZlciIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4N -CiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlJlZ2lzdGVycyBhIHNlcnZlciB3aXRoIHRoZSBkaXNj -b3Zlcnkgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQog -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIg -dHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXIiIHR5cGU9InRuczpSZWdpc3RlcmVkU2Vy -dmVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyU2VydmVy -UmVxdWVzdCIgdHlwZT0idG5zOlJlZ2lzdGVyU2VydmVyUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRp -b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5SZWdpc3RlcnMgYSBzZXJ2ZXIgd2l0aCB0aGUg -ZGlzY292ZXJ5IHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9u -Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVh -ZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXNwb25zZSIgdHlwZT0idG5zOlJlZ2lzdGVyU2Vy -dmVyUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRpc2NvdmVyeUNvbmZp -Z3VyYXRpb24iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+ -QSBiYXNlIHR5cGUgZm9yIGRpc2NvdmVyeSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uLjwveHM6 -ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9IkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpEaXNjb3ZlcnlDb25maWd1cmF0 -aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNZG5zRGlzY292ZXJ5Q29uZmlndXJh -dGlvbiI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUg -ZGlzY292ZXJ5IGluZm9ybWF0aW9uIG5lZWRlZCBmb3IgbUROUyByZWdpc3RyYXRpb24uPC94czpk -b2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRl -bnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkRpc2NvdmVy -eUNvbmZpZ3VyYXRpb24iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iTWRuc1NlcnZlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJD -YXBhYmlsaXRpZXMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9u -Pg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9Ik1kbnNEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiB0eXBlPSJ0bnM6TWRuc0Rp -c2NvdmVyeUNvbmZpZ3VyYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZ2lz -dGVyU2VydmVyMlJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyIiB0 -eXBlPSJ0bnM6UmVnaXN0ZXJlZFNlcnZlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIHR5cGU9 -InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJSZWdpc3RlclNlcnZlcjJSZXF1ZXN0IiB0eXBlPSJ0bnM6UmVnaXN0ZXJTZXJ2ZXIy -UmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXIyUmVz -cG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3Bv -bnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb25maWd1cmF0aW9uUmVzdWx0 -cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6 -TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iUmVnaXN0ZXJTZXJ2ZXIyUmVzcG9uc2UiIHR5cGU9InRuczpSZWdpc3RlclNlcnZlcjJSZXNw -b25zZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iU2VjdXJpdHlUb2tlblJlcXVlc3RU -eXBlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkluZGlj -YXRlcyB3aGV0aGVyIGEgdG9rZW4gaWYgYmVpbmcgY3JlYXRlZCBvciByZW5ld2VkLjwveHM6ZG9j -dW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJh -c2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Iklzc3VlXzAiIC8+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlbmV3XzEiIC8+DQogICAgPC94czpyZXN0 -cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0 -eVRva2VuUmVxdWVzdFR5cGUiIHR5cGU9InRuczpTZWN1cml0eVRva2VuUmVxdWVzdFR5cGUiIC8+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNoYW5uZWxTZWN1cml0eVRva2VuIj4NCiAgICA8 -eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSB0b2tlbiB0aGF0IGlk -ZW50aWZpZXMgYSBzZXQgb2Yga2V5cyBmb3IgYW4gYWN0aXZlIHNlY3VyZSBjaGFubmVsLjwveHM6 -ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2hhbm5lbElkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVG9rZW5JZCIgdHlwZT0i -eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkNyZWF0ZWRBdCIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlJldmlzZWRMaWZldGltZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1p -bk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJDaGFubmVsU2VjdXJpdHlUb2tlbiIgdHlwZT0idG5zOkNoYW5u -ZWxTZWN1cml0eVRva2VuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJPcGVuU2VjdXJl -Q2hhbm5lbFJlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50 -YXRpb24+Q3JlYXRlcyBhIHNlY3VyZSBjaGFubmVsIHdpdGggYSBzZXJ2ZXIuPC94czpkb2N1bWVu -dGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkNsaWVudFByb3RvY29sVmVyc2lvbiIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RUeXBlIiB0eXBlPSJ0bnM6U2Vj -dXJpdHlUb2tlblJlcXVlc3RUeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnROb25jZSIgdHlwZT0i -eHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTGlmZXRpbWUiIHR5cGU9InhzOnVuc2lnbmVkSW50 -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT3BlblNlY3VyZUNoYW5uZWxSZXF1ZXN0IiB0eXBlPSJ0 -bnM6T3BlblNlY3VyZUNoYW5uZWxSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJPcGVuU2VjdXJlQ2hhbm5lbFJlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAg -IDx4czpkb2N1bWVudGF0aW9uPkNyZWF0ZXMgYSBzZWN1cmUgY2hhbm5lbCB3aXRoIGEgc2VydmVy -LjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpS -ZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlNlcnZlclByb3RvY29sVmVyc2lvbiIgdHlwZT0ieHM6dW5zaWduZWRJ -bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5VG9r -ZW4iIHR5cGU9InRuczpDaGFubmVsU2VjdXJpdHlUb2tlbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlck5vbmNlIiB0eXBlPSJ4 -czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 -czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT3Bl -blNlY3VyZUNoYW5uZWxSZXNwb25zZSIgdHlwZT0idG5zOk9wZW5TZWN1cmVDaGFubmVsUmVzcG9u -c2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNsb3NlU2VjdXJlQ2hhbm5lbFJlcXVl -c3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q2xvc2Vz -IGEgc2VjdXJlIGNoYW5uZWwuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlv -bj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVh -ZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJDbG9zZVNlY3VyZUNoYW5uZWxSZXF1ZXN0IiB0eXBlPSJ0bnM6Q2xvc2VTZWN1 -cmVDaGFubmVsUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2xvc2VTZWN1 -cmVDaGFubmVsUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3Vt -ZW50YXRpb24+Q2xvc2VzIGEgc2VjdXJlIGNoYW5uZWwuPC94czpkb2N1bWVudGF0aW9uPg0KICAg -IDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNsb3NlU2VjdXJlQ2hhbm5lbFJlc3BvbnNlIiB0 -eXBlPSJ0bnM6Q2xvc2VTZWN1cmVDaGFubmVsUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiPg0KICAgIDx4czphbm5vdGF0aW9u -Pg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBzb2Z0d2FyZSBjZXJ0aWZpY2F0ZSB3aXRoIGEg -ZGlnaXRhbCBzaWduYXR1cmUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlv -bj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDZXJ0aWZpY2F0 -ZURhdGEiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNpZ25hdHVyZSIgdHlwZT0ieHM6YmFzZTY0 -QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu -Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNpZ25lZFNvZnR3 -YXJlQ2VydGlmaWNhdGUiIHR5cGU9InRuczpTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiAvPg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRl -Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTaWduZWRTb2Z0 -d2FyZUNlcnRpZmljYXRlIiB0eXBlPSJ0bnM6U2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgbWlu -T2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -TGlzdE9mU2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgdHlwZT0idG5zOkxpc3RPZlNpZ25lZFNv -ZnR3YXJlQ2VydGlmaWNhdGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhz -OmVsZW1lbnQgbmFtZT0iU2Vzc2lvbkF1dGhlbnRpY2F0aW9uVG9rZW4iIHR5cGU9InVhOk5vZGVJ -ZCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2lnbmF0dXJlRGF0YSI+DQogICAgPHhz -OmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIGRpZ2l0YWwgc2lnbmF0dXJl -LjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWxnb3JpdGhtIiB0eXBlPSJ4czpzdHJpbmci -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJTaWduYXR1cmUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJTaWduYXR1cmVEYXRhIiB0eXBlPSJ0bnM6U2lnbmF0dXJlRGF0YSIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ3JlYXRlU2Vzc2lvblJlcXVlc3QiPg0KICAg -IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q3JlYXRlcyBhIG5ldyBz -ZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v -dGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVl -c3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50RGVzY3JpcHRpb24iIHR5 -cGU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVXJpIiB0eXBlPSJ4czpzdHJp -bmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbk5hbWUiIHR5cGU9Inhz -OnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkNsaWVudE5vbmNlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRDZXJ0 -aWZpY2F0ZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkU2Vzc2lvblRpbWVvdXQi -IHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iTWF4UmVzcG9uc2VNZXNzYWdlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vy -cz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJDcmVhdGVTZXNzaW9uUmVxdWVzdCIgdHlwZT0idG5zOkNyZWF0ZVNlc3Np -b25SZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDcmVhdGVTZXNzaW9uUmVz -cG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q3Jl -YXRlcyBhIG5ldyBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQog -ICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9u -SWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IkF1dGhlbnRpY2F0aW9uVG9rZW4iIHR5cGU9InVhOk5vZGVJ -ZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlJldmlzZWRTZXNzaW9uVGltZW91dCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJOb25jZSIgdHlwZT0ieHM6YmFzZTY0 -QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iU2VydmVyQ2VydGlmaWNhdGUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZl -ckVuZHBvaW50cyIgdHlwZT0idG5zOkxpc3RPZkVuZHBvaW50RGVzY3JpcHRpb24iIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJT -b2Z0d2FyZUNlcnRpZmljYXRlcyIgdHlwZT0idG5zOkxpc3RPZlNpZ25lZFNvZnR3YXJlQ2VydGlm -aWNhdGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJTZXJ2ZXJTaWduYXR1cmUiIHR5cGU9InRuczpTaWduYXR1cmVEYXRhIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4UmVx -dWVzdE1lc3NhZ2VTaXplIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9IkNyZWF0ZVNlc3Npb25SZXNwb25zZSIgdHlwZT0idG5zOkNyZWF0ZVNlc3Npb25SZXNwb25z -ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVXNlcklkZW50aXR5VG9rZW4iPg0KICAg -IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBiYXNlIHR5cGUgZm9y -IGEgdXNlciBpZGVudGl0eSB0b2tlbi48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v -dGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBvbGlj -eUlkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iVXNlcklkZW50aXR5VG9rZW4iIHR5cGU9InRuczpVc2VySWRlbnRpdHlUb2tlbiIgLz4NCg0K -ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQW5vbnltb3VzSWRlbnRpdHlUb2tlbiI+DQogICAgPHhz -OmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHRva2VuIHJlcHJlc2VudGlu -ZyBhbiBhbm9ueW1vdXMgdXNlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 -aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4 -dGVuc2lvbiBiYXNlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgICAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8 -L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJBbm9ueW1vdXNJZGVudGl0eVRva2VuIiB0eXBlPSJ0bnM6QW5vbnltb3VzSWRlbnRpdHlU -b2tlbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVXNlck5hbWVJZGVudGl0eVRva2Vu -Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgdG9rZW4g -cmVwcmVzZW50aW5nIGEgdXNlciBpZGVudGlmaWVkIGJ5IGEgdXNlciBuYW1lIGFuZCBwYXNzd29y -ZC48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21w -bGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6 -VXNlcklkZW50aXR5VG9rZW4iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iVXNlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQYXNzd29yZCIg -dHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuY3J5cHRpb25BbGdvcml0aG0iIHR5cGU9Inhz -OnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpz -ZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVzZXJOYW1lSWRlbnRp -dHlUb2tlbiIgdHlwZT0idG5zOlVzZXJOYW1lSWRlbnRpdHlUb2tlbiIgLz4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iWDUwOUlkZW50aXR5VG9rZW4iPg0KICAgIDx4czphbm5vdGF0aW9uPg0K -ICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSB0b2tlbiByZXByZXNlbnRpbmcgYSB1c2VyIGlkZW50 -aWZpZWQgYnkgYW4gWDUwOSBjZXJ0aWZpY2F0ZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94 -czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAg -ICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgICAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2VydGlmaWNhdGVEYXRh -IiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hz -OmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJYNTA5SWRlbnRpdHlUb2tlbiIgdHlwZT0idG5zOlg1MDlJZGVudGl0eVRva2VuIiAvPg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJLZXJiZXJvc0lkZW50aXR5VG9rZW4iPg0KICAgIDx4czpj -b21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0 -bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iVGlja2V0RGF0YSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAg -ICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iS2VyYmVyb3NJZGVudGl0eVRva2VuIiB0eXBl -PSJ0bnM6S2VyYmVyb3NJZGVudGl0eVRva2VuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJJc3N1ZWRJZGVudGl0eVRva2VuIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpk -b2N1bWVudGF0aW9uPkEgdG9rZW4gcmVwcmVzZW50aW5nIGEgdXNlciBpZGVudGlmaWVkIGJ5IGEg -V1MtU2VjdXJpdHkgWE1MIHRva2VuLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90 -YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6 -ZXh0ZW5zaW9uIGJhc2U9InRuczpVc2VySWRlbnRpdHlUb2tlbiI+DQogICAgICAgIDx4czpzZXF1 -ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUb2tlbkRhdGEiIHR5cGU9InhzOmJh -c2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJFbmNyeXB0aW9uQWxnb3JpdGhtIiB0eXBlPSJ4czpzdHJpbmciIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQog -ICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJJc3N1ZWRJZGVudGl0eVRva2VuIiB0eXBl -PSJ0bnM6SXNzdWVkSWRlbnRpdHlUb2tlbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -QWN0aXZhdGVTZXNzaW9uUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6 -ZG9jdW1lbnRhdGlvbj5BY3RpdmF0ZXMgYSBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L3hzOmRv -Y3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVh -ZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iQ2xpZW50U2lnbmF0dXJlIiB0eXBlPSJ0bnM6U2lnbmF0dXJlRGF0YSIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVudFNv -ZnR3YXJlQ2VydGlmaWNhdGVzIiB0eXBlPSJ0bnM6TGlzdE9mU2lnbmVkU29mdHdhcmVDZXJ0aWZp -Y2F0ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IkxvY2FsZUlkcyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlcklkZW50aXR5VG9r -ZW4iIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJUb2tlblNpZ25hdHVyZSIgdHlwZT0i -dG5zOlNpZ25hdHVyZURhdGEiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -QWN0aXZhdGVTZXNzaW9uUmVxdWVzdCIgdHlwZT0idG5zOkFjdGl2YXRlU2Vzc2lvblJlcXVlc3Qi -IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFjdGl2YXRlU2Vzc2lvblJlc3BvbnNlIj4N -CiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkFjdGl2YXRlcyBh -IHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu -bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVz -cG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlck5vbmNlIiB0eXBl -PSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -RGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBY3RpdmF0ZVNlc3Npb25SZXNwb25zZSIgdHlw -ZT0idG5zOkFjdGl2YXRlU2Vzc2lvblJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJDbG9zZVNlc3Npb25SZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4 -czpkb2N1bWVudGF0aW9uPkNsb3NlcyBhIHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwveHM6ZG9j -dW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFk -ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJEZWxldGVTdWJzY3JpcHRpb25zIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iQ2xvc2VTZXNzaW9uUmVxdWVzdCIgdHlwZT0idG5zOkNsb3NlU2Vzc2lvblJlcXVl -c3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNsb3NlU2Vzc2lvblJlc3BvbnNlIj4N -CiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNsb3NlcyBhIHNl -c3Npb24gd2l0aCB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90 -YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9u -c2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJDbG9zZVNlc3Npb25SZXNwb25zZSIgdHlwZT0idG5zOkNsb3NlU2Vz -c2lvblJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDYW5jZWxSZXF1ZXN0 -Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNhbmNlbHMg -YW4gb3V0c3RhbmRpbmcgcmVxdWVzdC48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v -dGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVl -c3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhhbmRsZSIgdHlwZT0i -eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDYW5jZWxSZXF1ZXN0IiB0eXBl -PSJ0bnM6Q2FuY2VsUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2FuY2Vs -UmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+ -Q2FuY2VscyBhbiBvdXRzdGFuZGluZyByZXF1ZXN0LjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8 -L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNhbmNlbENvdW50 -IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVu -Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNhbmNlbFJlc3Bv -bnNlIiB0eXBlPSJ0bnM6Q2FuY2VsUmVzcG9uc2UiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5h -bWU9Ik5vZGVBdHRyaWJ1dGVzTWFzayI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6 -ZG9jdW1lbnRhdGlvbj5UaGUgYml0cyB1c2VkIHRvIHNwZWNpZnkgZGVmYXVsdCBhdHRyaWJ1dGVz -IGZvciBhIG5ldyBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+ -DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVy -YXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQWNj -ZXNzTGV2ZWxfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQXJyYXlEaW1lbnNp -b25zXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJyb3dzZU5hbWVfNCIgLz4N -CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ29udGFpbnNOb0xvb3BzXzgiIC8+DQogICAg -ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRhdGFUeXBlXzE2IiAvPg0KICAgICAgPHhzOmVudW1l -cmF0aW9uIHZhbHVlPSJEZXNjcmlwdGlvbl8zMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 -YWx1ZT0iRGlzcGxheU5hbWVfNjQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkV2 -ZW50Tm90aWZpZXJfMTI4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJFeGVjdXRh -YmxlXzI1NiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSGlzdG9yaXppbmdfNTEy -IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJbnZlcnNlTmFtZV8xMDI0IiAvPg0K -ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJc0Fic3RyYWN0XzIwNDgiIC8+DQogICAgICA8 -eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik1pbmltdW1TYW1wbGluZ0ludGVydmFsXzQwOTYiIC8+DQog -ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vZGVDbGFzc184MTkyIiAvPg0KICAgICAgPHhz -OmVudW1lcmF0aW9uIHZhbHVlPSJOb2RlSWRfMTYzODQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp -b24gdmFsdWU9IlN5bW1ldHJpY18zMjc2OCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 -ZT0iVXNlckFjY2Vzc0xldmVsXzY1NTM2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl -PSJVc2VyRXhlY3V0YWJsZV8xMzEwNzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 -IlVzZXJXcml0ZU1hc2tfMjYyMTQ0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJW -YWx1ZVJhbmtfNTI0Mjg4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJXcml0ZU1h -c2tfMTA0ODU3NiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVmFsdWVfMjA5NzE1 -MiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQWxsXzQxOTQzMDMiIC8+DQogICAg -ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJhc2VOb2RlXzEzMzUzOTYiIC8+DQogICAgICA8eHM6 -ZW51bWVyYXRpb24gdmFsdWU9Ik9iamVjdF8xMzM1NTI0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0 -aW9uIHZhbHVlPSJPYmplY3RUeXBlT3JEYXRhVHlwZV8xMzM3NDQ0IiAvPg0KICAgICAgPHhzOmVu -dW1lcmF0aW9uIHZhbHVlPSJWYXJpYWJsZV80MDI2OTk5IiAvPg0KICAgICAgPHhzOmVudW1lcmF0 -aW9uIHZhbHVlPSJWYXJpYWJsZVR5cGVfMzk1ODkwMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv -biB2YWx1ZT0iTWV0aG9kXzE0NjY3MjQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 -IlJlZmVyZW5jZVR5cGVfMTM3MTIzNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i -Vmlld18xMzM1NTMyIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUF0dHJpYnV0ZXNNYXNrIiB0eXBlPSJ0bnM6Tm9k -ZUF0dHJpYnV0ZXNNYXNrIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJOb2RlQXR0cmli -dXRlcyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUg -YmFzZSBhdHRyaWJ1dGVzIGZvciBhbGwgbm9kZXMuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwv -eHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzcGxheU5hbWUiIHR5cGU9InVhOkxvY2Fs -aXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IldyaXRlTWFz -ayIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlVzZXJXcml0ZU1hc2siIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iTm9kZUF0dHJpYnV0ZXMiIHR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4N -Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iT2JqZWN0QXR0cmlidXRlcyI+DQogICAgPHhzOmFu -bm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYW4g -b2JqZWN0IG5vZGUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAg -ICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24g -YmFzZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -ICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50Tm90aWZpZXIiIHR5cGU9InhzOnVuc2lnbmVkQnl0 -ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpl -eHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iT2JqZWN0QXR0cmlidXRlcyIgdHlwZT0idG5zOk9iamVjdEF0 -dHJpYnV0ZXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhYmxlQXR0cmlidXRl -cyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYXR0 -cmlidXRlcyBmb3IgYSB2YXJpYWJsZSBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hz -OmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAg -ICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgICAgIDx4czpz -ZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0idWE6VmFy -aWFudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFU -eXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czppbnQiIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcnJheURpbWVuc2lvbnMi -IHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBY2Nlc3NMZXZlbCIgdHlwZT0ieHM6dW5zaWdu -ZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNl -ckFjY2Vzc0xldmVsIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbCIgdHlwZT0i -eHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -SGlzdG9yaXppbmciIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg -PC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENv -bnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlZhcmlhYmxl -QXR0cmlidXRlcyIgdHlwZT0idG5zOlZhcmlhYmxlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iTWV0aG9kQXR0cmlidXRlcyI+DQogICAgPHhzOmFubm90YXRpb24+DQog -ICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSBtZXRob2Qgbm9kZS48 -L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4 -Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9k -ZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iRXhlY3V0YWJsZSIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJFeGVjdXRhYmxlIiB0eXBlPSJ4czpib29s -ZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hz -OmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNZXRob2RBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6TWV0aG9k -QXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iT2JqZWN0VHlwZUF0dHJp -YnV0ZXMiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhl -IGF0dHJpYnV0ZXMgZm9yIGFuIG9iamVjdCB0eXBlIG5vZGUuPC94czpkb2N1bWVudGF0aW9uPg0K -ICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNl -Ij4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICAg -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IklzQWJzdHJhY3Qi -IHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5j -ZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9iamVjdFR5cGVBdHRyaWJ1dGVz -IiB0eXBlPSJ0bnM6T2JqZWN0VHlwZUF0dHJpYnV0ZXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9IlZhcmlhYmxlVHlwZUF0dHJpYnV0ZXMiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAg -ICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGEgdmFyaWFibGUgdHlwZSBu -b2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNv -bXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRu -czpOb2RlQXR0cmlidXRlcyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0idWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJBcnJheURpbWVuc2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg -ICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBs -ZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWYXJp -YWJsZVR5cGVBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6VmFyaWFibGVUeXBlQXR0cmlidXRlcyIgLz4N -Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVmZXJlbmNlVHlwZUF0dHJpYnV0ZXMiPg0KICAg -IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMg -Zm9yIGEgcmVmZXJlbmNlIHR5cGUgbm9kZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czph -bm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAg -PHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNBYnN0cmFjdCIgdHlwZT0ieHM6 -Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN5 -bW1ldHJpYyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4 -czplbGVtZW50IG5hbWU9IkludmVyc2VOYW1lIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAg -ICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlVHlwZUF0dHJpYnV0ZXMiIHR5 -cGU9InRuczpSZWZlcmVuY2VUeXBlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iRGF0YVR5cGVBdHRyaWJ1dGVzIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4 -czpkb2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVzIGZvciBhIGRhdGEgdHlwZSBub2RlLjwveHM6 -ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250 -ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0 -cmlidXRlcyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg -ICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBs -ZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRh -VHlwZUF0dHJpYnV0ZXMiIHR5cGU9InRuczpEYXRhVHlwZUF0dHJpYnV0ZXMiIC8+DQoNCiAgPHhz -OmNvbXBsZXhUeXBlIG5hbWU9IlZpZXdBdHRyaWJ1dGVzIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4N -CiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVzIGZvciBhIHZpZXcgbm9kZS48 -L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4 -Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9k -ZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iQ29udGFpbnNOb0xvb3BzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnROb3RpZmllciIgdHlwZT0ieHM6 -dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQog -ICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWaWV3QXR0cmlidXRlcyIgdHlwZT0idG5z -OlZpZXdBdHRyaWJ1dGVzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZGROb2Rlc0l0 -ZW0iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSByZXF1 -ZXN0IHRvIGFkZCBhIG5vZGUgdG8gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1l -bnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUGFyZW50Tm9kZUlkIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlJlZmVyZW5jZVR5cGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTmV3Tm9kZUlkIiB0 -eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZU5hbWUiIHR5cGU9InVhOlF1YWxpZmllZE5h -bWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJOb2RlQ2xhc3MiIHR5cGU9InRuczpOb2RlQ2xhc3MiIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVBdHRyaWJ1dGVzIiB0eXBlPSJ1YTpFeHRlbnNpb25P -YmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJUeXBlRGVmaW5pdGlvbiIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkTm9kZXNJdGVtIiB0eXBlPSJ0bnM6QWRk -Tm9kZXNJdGVtIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZBZGROb2Rlc0l0 -ZW0iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZE5vZGVz -SXRlbSIgdHlwZT0idG5zOkFkZE5vZGVzSXRlbSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu -Ym91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQWRkTm9kZXNJdGVtIiB0eXBl -PSJ0bnM6TGlzdE9mQWRkTm9kZXNJdGVtIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZGROb2Rlc1Jlc3VsdCI+DQogICAgPHhzOmFubm90 -YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHJlc3VsdCBvZiBhbiBhZGQgbm9kZSBv -cGVyYXRpb24uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1 -YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJB -ZGRlZE5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9IkFkZE5vZGVzUmVzdWx0IiB0eXBlPSJ0bnM6QWRkTm9kZXNSZXN1bHQiIC8+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkFkZE5vZGVzUmVzdWx0Ij4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGROb2Rlc1Jlc3VsdCIgdHlwZT0i -dG5zOkFkZE5vZGVzUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZBZGROb2Rlc1Jlc3VsdCIgdHlwZT0idG5zOkxp -c3RPZkFkZE5vZGVzUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJBZGROb2Rlc1JlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9u -Pg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QWRkcyBvbmUgb3IgbW9yZSBub2RlcyB0byB0aGUg -c2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3Rh -dGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0 -SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVzVG9BZGQiIHR5cGU9InRuczpM -aXN0T2ZBZGROb2Rlc0l0ZW0iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -QWRkTm9kZXNSZXF1ZXN0IiB0eXBlPSJ0bnM6QWRkTm9kZXNSZXF1ZXN0IiAvPg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJBZGROb2Rlc1Jlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4N -CiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkFkZHMgb25lIG9yIG1vcmUgbm9kZXMgdG8gdGhlIHNl -cnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRp -b24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VI -ZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0 -T2ZBZGROb2Rlc1Jlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25v -c3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 -ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkTm9kZXNS -ZXNwb25zZSIgdHlwZT0idG5zOkFkZE5vZGVzUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IkFkZFJlZmVyZW5jZXNJdGVtIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAg -IDx4czpkb2N1bWVudGF0aW9uPkEgcmVxdWVzdCB0byBhZGQgYSByZWZlcmVuY2UgdG8gdGhlIHNl -cnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRp -b24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU291cmNlTm9k -ZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VUeXBlSWQiIHR5cGU9InVhOk5vZGVJZCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IklzRm9yd2FyZCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iVGFyZ2V0U2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXRO -b2RlSWQiIHR5cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0Tm9kZUNsYXNzIiB0eXBlPSJ0 -bnM6Tm9kZUNsYXNzIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkUmVmZXJlbmNlc0l0ZW0iIHR5 -cGU9InRuczpBZGRSZWZlcmVuY2VzSXRlbSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -TGlzdE9mQWRkUmVmZXJlbmNlc0l0ZW0iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IkFkZFJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0bnM6QWRkUmVmZXJlbmNlc0l0 -ZW0iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9Ikxpc3RPZkFkZFJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0bnM6TGlzdE9mQWRkUmVmZXJl -bmNlc0l0ZW0iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IkFkZFJlZmVyZW5jZXNSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg -ICAgIDx4czpkb2N1bWVudGF0aW9uPkFkZHMgb25lIG9yIG1vcmUgcmVmZXJlbmNlcyB0byB0aGUg -c2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3Rh -dGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0 -SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZXNUb0FkZCIgdHlwZT0i -dG5zOkxpc3RPZkFkZFJlZmVyZW5jZXNJdGVtIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9IkFkZFJlZmVyZW5jZXNSZXF1ZXN0IiB0eXBlPSJ0bnM6QWRkUmVmZXJlbmNlc1Jl -cXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFkZFJlZmVyZW5jZXNSZXNwb25z -ZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BZGRzIG9u -ZSBvciBtb3JlIHJlZmVyZW5jZXMgdG8gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9j -dW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhl -YWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5m -b3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9IkFkZFJlZmVyZW5jZXNSZXNwb25zZSIgdHlwZT0idG5zOkFkZFJlZmVy -ZW5jZXNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlTm9kZXNJ -dGVtIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgcmVx -dWVzdCB0byBkZWxldGUgYSBub2RlIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRv -Y3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlVGFy -Z2V0UmVmZXJlbmNlcyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwv -eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRl -bGV0ZU5vZGVzSXRlbSIgdHlwZT0idG5zOkRlbGV0ZU5vZGVzSXRlbSIgLz4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iTGlzdE9mRGVsZXRlTm9kZXNJdGVtIj4NCiAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVOb2Rlc0l0ZW0iIHR5cGU9InRuczpEZWxl -dGVOb2Rlc0l0ZW0iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9Ikxpc3RPZkRlbGV0ZU5vZGVzSXRlbSIgdHlwZT0idG5zOkxpc3RPZkRl -bGV0ZU5vZGVzSXRlbSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iRGVsZXRlTm9kZXNSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4N -CiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkRlbGV0ZSBvbmUgb3IgbW9yZSBub2RlcyBmcm9tIHRo -ZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v -dGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVl -c3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb0RlbGV0ZSIgdHlwZT0i -dG5zOkxpc3RPZkRlbGV0ZU5vZGVzSXRlbSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJEZWxldGVOb2Rlc1JlcXVlc3QiIHR5cGU9InRuczpEZWxldGVOb2Rlc1JlcXVlc3Qi -IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZU5vZGVzUmVzcG9uc2UiPg0KICAg -IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+RGVsZXRlIG9uZSBvciBt -b3JlIG5vZGVzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlv -bj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJl -c3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9 -InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9IkRlbGV0ZU5vZGVzUmVzcG9uc2UiIHR5cGU9InRuczpEZWxldGVOb2Rlc1Jlc3BvbnNl -IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEZWxldGVSZWZlcmVuY2VzSXRlbSI+DQog -ICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8g -ZGVsZXRlIGEgbm9kZSBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50 -YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlNvdXJjZU5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNl -VHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ZvcndhcmQiIHR5cGU9InhzOmJvb2xlYW4iIG1p -bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdldE5vZGVJZCIgdHlw -ZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVCaWRpcmVjdGlvbmFsIiB0eXBlPSJ4czpib29s -ZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlUmVmZXJlbmNlc0l0ZW0iIHR5cGU9InRu -czpEZWxldGVSZWZlcmVuY2VzSXRlbSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlz -dE9mRGVsZXRlUmVmZXJlbmNlc0l0ZW0iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0bnM6RGVsZXRlUmVmZXJl -bmNlc0l0ZW0iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9Ikxpc3RPZkRlbGV0ZVJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0bnM6TGlzdE9m -RGVsZXRlUmVmZXJlbmNlc0l0ZW0iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNSZXF1ZXN0Ij4NCiAgICA8eHM6 -YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkRlbGV0ZSBvbmUgb3IgbW9yZSBy -ZWZlcmVuY2VzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlv -bj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZl -cmVuY2VzVG9EZWxldGUiIHR5cGU9InRuczpMaXN0T2ZEZWxldGVSZWZlcmVuY2VzSXRlbSIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVSZWZlcmVuY2VzUmVxdWVz -dCIgdHlwZT0idG5zOkRlbGV0ZVJlZmVyZW5jZXNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4 -VHlwZSBuYW1lPSJEZWxldGVSZWZlcmVuY2VzUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9u -Pg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+RGVsZXRlIG9uZSBvciBtb3JlIHJlZmVyZW5jZXMg -ZnJvbSB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwv -eHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlw -ZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9m -RGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 -czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVs -ZXRlUmVmZXJlbmNlc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6RGVsZXRlUmVmZXJlbmNlc1Jlc3BvbnNl -IiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJBdHRyaWJ1dGVXcml0ZU1hc2siPg0KICAg -IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+RGVmaW5lIGJpdHMgdXNl -ZCB0byBpbmRpY2F0ZSB3aGljaCBhdHRyaWJ1dGVzIGFyZSB3cml0YWJsZS48L3hzOmRvY3VtZW50 -YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4 -czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb25lXzAiIC8+DQogICAg -ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFjY2Vzc0xldmVsXzEiIC8+DQogICAgICA8eHM6ZW51 -bWVyYXRpb24gdmFsdWU9IkFycmF5RGltZW5zaW9uc18yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0 -aW9uIHZhbHVlPSJCcm93c2VOYW1lXzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 -IkNvbnRhaW5zTm9Mb29wc184IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEYXRh -VHlwZV8xNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGVzY3JpcHRpb25fMzIi -IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRpc3BsYXlOYW1lXzY0IiAvPg0KICAg -ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJFdmVudE5vdGlmaWVyXzEyOCIgLz4NCiAgICAgIDx4 -czplbnVtZXJhdGlvbiB2YWx1ZT0iRXhlY3V0YWJsZV8yNTYiIC8+DQogICAgICA8eHM6ZW51bWVy -YXRpb24gdmFsdWU9Ikhpc3Rvcml6aW5nXzUxMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 -YWx1ZT0iSW52ZXJzZU5hbWVfMTAyNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i -SXNBYnN0cmFjdF8yMDQ4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJNaW5pbXVt -U2FtcGxpbmdJbnRlcnZhbF80MDk2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJO -b2RlQ2xhc3NfODE5MiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9kZUlkXzE2 -Mzg0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTeW1tZXRyaWNfMzI3NjgiIC8+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVzZXJBY2Nlc3NMZXZlbF82NTUzNiIgLz4N -CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVXNlckV4ZWN1dGFibGVfMTMxMDcyIiAvPg0K -ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVc2VyV3JpdGVNYXNrXzI2MjE0NCIgLz4NCiAg -ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVmFsdWVSYW5rXzUyNDI4OCIgLz4NCiAgICAgIDx4 -czplbnVtZXJhdGlvbiB2YWx1ZT0iV3JpdGVNYXNrXzEwNDg1NzYiIC8+DQogICAgICA8eHM6ZW51 -bWVyYXRpb24gdmFsdWU9IlZhbHVlRm9yVmFyaWFibGVUeXBlXzIwOTcxNTIiIC8+DQogICAgPC94 -czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJB -dHRyaWJ1dGVXcml0ZU1hc2siIHR5cGU9InRuczpBdHRyaWJ1dGVXcml0ZU1hc2siIC8+DQoNCiAg -PHhzOnNpbXBsZVR5cGUgIG5hbWU9IkJyb3dzZURpcmVjdGlvbiI+DQogICAgPHhzOmFubm90YXRp -b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgZGlyZWN0aW9ucyBvZiB0aGUgcmVmZXJl -bmNlcyB0byByZXR1cm4uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4N -CiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJh -dGlvbiB2YWx1ZT0iRm9yd2FyZF8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJ -bnZlcnNlXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJvdGhfMiIgLz4NCiAg -ICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9IkJyb3dzZURpcmVjdGlvbiIgdHlwZT0idG5zOkJyb3dzZURpcmVjdGlvbiIgLz4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iVmlld0Rlc2NyaXB0aW9uIj4NCiAgICA8eHM6YW5ub3RhdGlv -bj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSB2aWV3IHRvIGJyb3dzZS48L3hzOmRvY3Vt -ZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlZpZXdJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0YW1wIiB0 -eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iVmlld1ZlcnNpb24iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iVmlld0Rlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6Vmlld0Rlc2NyaXB0aW9uIiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VEZXNjcmlwdGlvbiI+DQogICAgPHhzOmFubm90YXRp -b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8gYnJvd3NlIHRoZSB0aGUg -cmVmZXJlbmNlcyBmcm9tIGEgbm9kZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v -dGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJ -ZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlRGlyZWN0aW9uIiB0eXBlPSJ0bnM6QnJvd3NlRGly -ZWN0aW9uIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVu -Y2VUeXBlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkluY2x1ZGVTdWJ0eXBlcyIgdHlwZT0ieHM6Ym9v -bGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUNsYXNz -TWFzayIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlJlc3VsdE1hc2siIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iQnJvd3NlRGVzY3JpcHRpb24iIHR5cGU9InRuczpCcm93c2VEZXNjcmlwdGlv -biIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJvd3NlRGVzY3JpcHRpb24i -Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZURlc2Ny -aXB0aW9uIiB0eXBlPSJ0bnM6QnJvd3NlRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2Nj -dXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog -IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb3dzZURlc2Ny -aXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlRGVzY3JpcHRpb24iIG5pbGxhYmxlPSJ0cnVl -Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkJyb3dzZVJlc3VsdE1h -c2siPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBiaXQg -bWFzayB3aGljaCBzcGVjaWZpZXMgd2hhdCBzaG91bGQgYmUgcmV0dXJuZWQgaW4gYSBicm93c2Ug -cmVzcG9uc2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 -eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 -YWx1ZT0iTm9uZV8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZWZlcmVuY2VU -eXBlSWRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNGb3J3YXJkXzIiIC8+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vZGVDbGFzc180IiAvPg0KICAgICAgPHhz -OmVudW1lcmF0aW9uIHZhbHVlPSJCcm93c2VOYW1lXzgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp -b24gdmFsdWU9IkRpc3BsYXlOYW1lXzE2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl -PSJUeXBlRGVmaW5pdGlvbl8zMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQWxs -XzYzIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZWZlcmVuY2VUeXBlSW5mb18z -IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJUYXJnZXRJbmZvXzYwIiAvPg0KICAg -IDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iQnJvd3NlUmVzdWx0TWFzayIgdHlwZT0idG5zOkJyb3dzZVJlc3VsdE1hc2siIC8+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZmVyZW5jZURlc2NyaXB0aW9uIj4NCiAgICA8eHM6YW5u -b3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBkZXNjcmlwdGlvbiBvZiBhIHJl -ZmVyZW5jZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4 -czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgdHlw -ZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iSXNGb3J3YXJkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOkV4cGFuZGVkTm9k -ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iQnJvd3NlTmFtZSIgdHlwZT0idWE6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc3BsYXlOYW1lIiB0 -eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUNsYXNzIiB0eXBlPSJ0bnM6Tm9kZUNsYXNzIiBt -aW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUeXBlRGVmaW5pdGlvbiIg -dHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg -bmFtZT0iUmVmZXJlbmNlRGVzY3JpcHRpb24iIHR5cGU9InRuczpSZWZlcmVuY2VEZXNjcmlwdGlv -biIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUmVmZXJlbmNlRGVzY3JpcHRp -b24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5j -ZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6UmVmZXJlbmNlRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0i -MCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlJl -ZmVyZW5jZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mUmVmZXJlbmNlRGVzY3JpcHRpb24i -IG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ29u -dGludWF0aW9uUG9pbnQiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iQnJvd3NlUmVzdWx0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4 -czpkb2N1bWVudGF0aW9uPlRoZSByZXN1bHQgb2YgYSBicm93c2Ugb3BlcmF0aW9uLjwveHM6ZG9j -dW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9uUG9pbnQi -IHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZXMiIHR5cGU9InRuczpMaXN0T2ZSZWZl -cmVuY2VEZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJC -cm93c2VSZXN1bHQiIHR5cGU9InRuczpCcm93c2VSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9Ikxpc3RPZkJyb3dzZVJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUmVzdWx0IiB0eXBlPSJ0bnM6QnJvd3NlUmVzdWx0IiBt -aW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJMaXN0T2ZCcm93c2VSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VSZXN1bHQiIG5pbGxh -YmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb3dz -ZVJlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+ -QnJvd3NlIHRoZSByZWZlcmVuY2VzIGZvciBvbmUgb3IgbW9yZSBub2RlcyBmcm9tIHRoZSBzZXJ2 -ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9u -Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFk -ZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmlldyIgdHlwZT0idG5zOlZpZXdEZXNjcmlw -dGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlJlcXVlc3RlZE1heFJlZmVyZW5jZXNQZXJOb2RlIiB0eXBlPSJ4czp1bnNpZ25lZElu -dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb0Jyb3dz -ZSIgdHlwZT0idG5zOkxpc3RPZkJyb3dzZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVJlcXVlc3QiIHR5cGU9InRuczpCcm93c2VSZXF1ZXN0 -IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VSZXNwb25zZSI+DQogICAgPHhz -OmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5Ccm93c2UgdGhlIHJlZmVyZW5j -ZXMgZm9yIG9uZSBvciBtb3JlIG5vZGVzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwv -eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNw -b25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VSZXN1bHQiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFn -bm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVJlc3BvbnNlIiB0eXBlPSJ0bnM6QnJvd3Nl -UmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb3dzZU5leHRSZXF1ZXN0 -Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNvbnRpbnVl -cyBvbmUgb3IgbW9yZSBicm93c2Ugb3BlcmF0aW9ucy48L3hzOmRvY3VtZW50YXRpb24+DQogICAg -PC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsZWFzZUNvbnRp -bnVhdGlvblBvaW50cyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9uUG9pbnRzIiB0eXBlPSJ1YTpMaXN0T2ZCeXRl -U3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu -Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZU5leHRS -ZXF1ZXN0IiB0eXBlPSJ0bnM6QnJvd3NlTmV4dFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IkJyb3dzZU5leHRSZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg -ICA8eHM6ZG9jdW1lbnRhdGlvbj5Db250aW51ZXMgb25lIG9yIG1vcmUgYnJvd3NlIG9wZXJhdGlv -bnMuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5z -OlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZkJyb3dzZVJlc3VsdCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlTmV4dFJlc3BvbnNlIiB0eXBlPSJ0 -bnM6QnJvd3NlTmV4dFJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWxh -dGl2ZVBhdGhFbGVtZW50Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVu -dGF0aW9uPkFuIGVsZW1lbnQgaW4gYSByZWxhdGl2ZSBwYXRoLjwveHM6ZG9jdW1lbnRhdGlvbj4N -CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iUmVmZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ludmVyc2UiIHR5 -cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkluY2x1ZGVTdWJ0eXBlcyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0TmFtZSIgdHlwZT0idWE6UXVhbGlmaWVkTmFtZSIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWxhdGl2ZVBhdGhFbGVtZW50 -IiB0eXBlPSJ0bnM6UmVsYXRpdmVQYXRoRWxlbWVudCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iTGlzdE9mUmVsYXRpdmVQYXRoRWxlbWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsYXRpdmVQYXRoRWxlbWVudCIgdHlwZT0idG5zOlJlbGF0 -aXZlUGF0aEVsZW1lbnQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlJlbGF0aXZlUGF0aEVsZW1lbnQiIHR5cGU9InRuczpM -aXN0T2ZSZWxhdGl2ZVBhdGhFbGVtZW50IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWxhdGl2ZVBhdGgiPg0KICAgIDx4czphbm5vdGF0 -aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSByZWxhdGl2ZSBwYXRoIGNvbnN0cnVjdGVk -IGZyb20gcmVmZXJlbmNlIHR5cGVzIGFuZCBicm93c2UgbmFtZXMuPC94czpkb2N1bWVudGF0aW9u -Pg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJFbGVtZW50cyIgdHlwZT0idG5zOkxpc3RPZlJlbGF0aXZlUGF0aEVsZW1lbnQi -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg -PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsYXRpdmVQYXRoIiB0eXBl -PSJ0bnM6UmVsYXRpdmVQYXRoIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VQ -YXRoIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgcmVx -dWVzdCB0byB0cmFuc2xhdGUgYSBwYXRoIGludG8gYSBub2RlIGlkLjwveHM6ZG9jdW1lbnRhdGlv -bj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iU3RhcnRpbmdOb2RlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWxhdGl2ZVBhdGgi -IHR5cGU9InRuczpSZWxhdGl2ZVBhdGgiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg -bmFtZT0iQnJvd3NlUGF0aCIgdHlwZT0idG5zOkJyb3dzZVBhdGgiIC8+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGgiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGgiIHR5cGU9InRuczpCcm93c2VQYXRoIiBtaW5P -Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM -aXN0T2ZCcm93c2VQYXRoIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlUGF0aCIgbmlsbGFibGU9InRy -dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQnJvd3NlUGF0aFRh -cmdldCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUg -dGFyZ2V0IG9mIHRoZSB0cmFuc2xhdGVkIHBhdGguPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwv -eHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJUYXJnZXRJZCIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZW1haW5pbmdQYXRoSW5kZXgi -IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUGF0aFRh -cmdldCIgdHlwZT0idG5zOkJyb3dzZVBhdGhUYXJnZXQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGhUYXJnZXQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGhUYXJnZXQiIHR5cGU9InRuczpCcm93c2VQYXRo -VGFyZ2V0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJMaXN0T2ZCcm93c2VQYXRoVGFyZ2V0IiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3Nl -UGF0aFRhcmdldCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iQnJvd3NlUGF0aFJlc3VsdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg -ICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgcmVzdWx0IG9mIGEgdHJhbnNsYXRlIG9wZWFyYXRpb24u -PC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXND -b2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXRzIiB0 -eXBlPSJ0bnM6TGlzdE9mQnJvd3NlUGF0aFRhcmdldCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJCcm93c2VQYXRoUmVzdWx0IiB0eXBlPSJ0bnM6QnJvd3NlUGF0aFJlc3Vs -dCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJvd3NlUGF0aFJlc3VsdCI+ -DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUGF0aFJl -c3VsdCIgdHlwZT0idG5zOkJyb3dzZVBhdGhSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJz -PSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGhSZXN1 -bHQiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VQYXRoUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94 -czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJUcmFuc2xhdGVCcm93c2VQYXRo -c1RvTm9kZUlkc1JlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3Vt -ZW50YXRpb24+VHJhbnNsYXRlcyBvbmUgb3IgbW9yZSBwYXRocyBpbiB0aGUgc2VydmVyIGFkZHJl -c3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBl -PSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGhzIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3Nl -UGF0aCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl -Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2xhdGVCcm93 -c2VQYXRoc1RvTm9kZUlkc1JlcXVlc3QiIHR5cGU9InRuczpUcmFuc2xhdGVCcm93c2VQYXRoc1Rv -Tm9kZUlkc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlRyYW5zbGF0ZUJy -b3dzZVBhdGhzVG9Ob2RlSWRzUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAg -PHhzOmRvY3VtZW50YXRpb24+VHJhbnNsYXRlcyBvbmUgb3IgbW9yZSBwYXRocyBpbiB0aGUgc2Vy -dmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlv -bj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhl -YWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RP -ZkJyb3dzZVBhdGhSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdu -b3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRyYW5zbGF0 -ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVzcG9uc2UiIHR5cGU9InRuczpUcmFuc2xhdGVCcm93c2VQ -YXRoc1RvTm9kZUlkc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWdp -c3Rlck5vZGVzUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l -bnRhdGlvbj5SZWdpc3RlcnMgb25lIG9yIG1vcmUgbm9kZXMgZm9yIHJlcGVhdGVkIHVzZSB3aXRo -aW4gYSBzZXNzaW9uLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQog -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIg -dHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2Rlc1RvUmVnaXN0ZXIiIHR5cGU9InVhOkxpc3RP -Zk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl -bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWdpc3Rlck5v -ZGVzUmVxdWVzdCIgdHlwZT0idG5zOlJlZ2lzdGVyTm9kZXNSZXF1ZXN0IiAvPg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJSZWdpc3Rlck5vZGVzUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0 -aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+UmVnaXN0ZXJzIG9uZSBvciBtb3JlIG5vZGVz -IGZvciByZXBlYXRlZCB1c2Ugd2l0aGluIGEgc2Vzc2lvbi48L3hzOmRvY3VtZW50YXRpb24+DQog -ICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWdpc3Rl -cmVkTm9kZUlkcyIgdHlwZT0idWE6TGlzdE9mTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyTm9kZXNSZXNwb25zZSIgdHlwZT0idG5zOlJlZ2lzdGVy -Tm9kZXNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVW5yZWdpc3Rlck5v -ZGVzUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlv -bj5VbnJlZ2lzdGVycyBvbmUgb3IgbW9yZSBwcmV2aW91c2x5IHJlZ2lzdGVyZWQgbm9kZXMuPC94 -czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVz -dEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9Ik5vZGVzVG9VbnJlZ2lzdGVyIiB0eXBlPSJ1YTpMaXN0T2ZOb2RlSWQiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVW5yZWdpc3Rlck5vZGVzUmVxdWVzdCIg -dHlwZT0idG5zOlVucmVnaXN0ZXJOb2Rlc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9IlVucmVnaXN0ZXJOb2Rlc1Jlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg -ICAgIDx4czpkb2N1bWVudGF0aW9uPlVucmVnaXN0ZXJzIG9uZSBvciBtb3JlIHByZXZpb3VzbHkg -cmVnaXN0ZXJlZCBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9u -Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVh -ZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iVW5yZWdpc3Rlck5vZGVzUmVzcG9uc2UiIHR5cGU9InRuczpVbnJlZ2lzdGVy -Tm9kZXNSZXNwb25zZSIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb3VudGVyIiB0eXBlPSJ4 -czp1bnNpZ25lZEludCIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOdW1lcmljUmFuZ2UiIHR5 -cGU9InhzOnN0cmluZyIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lIiB0eXBlPSJ4czpz -dHJpbmciIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0ZSIgdHlwZT0ieHM6ZGF0ZVRpbWUi -IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVuZHBvaW50Q29uZmlndXJhdGlvbiI+DQog -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT3BlcmF0aW9uVGltZW91 -dCIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJVc2VCaW5hcnlFbmNvZGluZyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4U3RyaW5nTGVuZ3RoIiB0eXBlPSJ4czppbnQiIG1p -bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heEJ5dGVTdHJpbmdMZW5n -dGgiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iTWF4QXJyYXlMZW5ndGgiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iTWF4TWVzc2FnZVNpemUiIHR5cGU9InhzOmludCIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4QnVmZmVyU2l6ZSIgdHlwZT0ieHM6 -aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDaGFubmVsTGlm -ZXRpbWUiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iU2VjdXJpdHlUb2tlbkxpZmV0aW1lIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJFbmRwb2ludENvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpFbmRwb2ludENvbmZpZ3Vy -YXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkVuZHBvaW50Q29uZmln -dXJhdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5k -cG9pbnRDb25maWd1cmF0aW9uIiB0eXBlPSJ0bnM6RW5kcG9pbnRDb25maWd1cmF0aW9uIiBtaW5P -Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM -aXN0T2ZFbmRwb2ludENvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpMaXN0T2ZFbmRwb2ludENvbmZp -Z3VyYXRpb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5 -cGUgIG5hbWU9IkNvbXBsaWFuY2VMZXZlbCI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9Inhz -OnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVudGVzdGVkXzAiIC8+DQog -ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlBhcnRpYWxfMSIgLz4NCiAgICAgIDx4czplbnVt -ZXJhdGlvbiB2YWx1ZT0iU2VsZlRlc3RlZF8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh -bHVlPSJDZXJ0aWZpZWRfMyIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBs -ZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNvbXBsaWFuY2VMZXZlbCIgdHlwZT0idG5zOkNv -bXBsaWFuY2VMZXZlbCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU3VwcG9ydGVkUHJv -ZmlsZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT3JnYW5p -emF0aW9uVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQcm9maWxlSWQiIHR5cGU9InhzOnN0cmluZyIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkNvbXBsaWFuY2VUb29sIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb21wbGlhbmNlRGF0ZSIgdHlwZT0i -eHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNv -bXBsaWFuY2VMZXZlbCIgdHlwZT0idG5zOkNvbXBsaWFuY2VMZXZlbCIgbWluT2NjdXJzPSIwIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVW5zdXBwb3J0ZWRVbml0SWRzIiB0eXBlPSJ1YTpM -aXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz -ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU3VwcG9y -dGVkUHJvZmlsZSIgdHlwZT0idG5zOlN1cHBvcnRlZFByb2ZpbGUiIC8+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9Ikxpc3RPZlN1cHBvcnRlZFByb2ZpbGUiPg0KICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1cHBvcnRlZFByb2ZpbGUiIHR5cGU9InRuczpTdXBw -b3J0ZWRQcm9maWxlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTdXBwb3J0ZWRQcm9maWxlIiB0eXBlPSJ0bnM6TGlzdE9m -U3VwcG9ydGVkUHJvZmlsZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iU29mdHdhcmVDZXJ0aWZpY2F0ZSI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJvZHVjdE5hbWUiIHR5cGU9InhzOnN0cmluZyIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlByb2R1Y3RVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZlbmRvck5hbWUiIHR5cGU9InhzOnN0cmlu -ZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlZlbmRvclByb2R1Y3RDZXJ0aWZpY2F0ZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU29m -dHdhcmVWZXJzaW9uIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCdWlsZE51bWJlciIgdHlwZT0ieHM6c3Ry -aW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iQnVpbGREYXRlIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNzdWVkQnkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Iklzc3VlRGF0 -ZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlN1cHBvcnRlZFByb2ZpbGVzIiB0eXBlPSJ0bnM6TGlzdE9mU3VwcG9ydGVkUHJvZmls -ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTb2Z0d2FyZUNlcnRpZmlj -YXRlIiB0eXBlPSJ0bnM6U29mdHdhcmVDZXJ0aWZpY2F0ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iUXVlcnlEYXRhRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlJlbGF0aXZlUGF0aCIgdHlwZT0idG5zOlJlbGF0aXZlUGF0aCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXhSYW5nZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5RGF0YURlc2NyaXB0aW9uIiB0eXBl -PSJ0bnM6UXVlcnlEYXRhRGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 -Ikxpc3RPZlF1ZXJ5RGF0YURlc2NyaXB0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJRdWVyeURhdGFEZXNjcmlwdGlvbiIgdHlwZT0idG5zOlF1ZXJ5RGF0 -YURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZRdWVyeURhdGFEZXNjcmlwdGlvbiIgdHlwZT0idG5zOkxp -c3RPZlF1ZXJ5RGF0YURlc2NyaXB0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJOb2RlVHlwZURlc2NyaXB0aW9uIj4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUeXBlRGVmaW5pdGlvbk5vZGUiIHR5 -cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5jbHVkZVN1YlR5cGVzIiB0eXBlPSJ4czpib29sZWFu -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVG9SZXR1cm4i -IHR5cGU9InRuczpMaXN0T2ZRdWVyeURhdGFEZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlVHlwZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6Tm9kZVR5 -cGVEZXNjcmlwdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTm9kZVR5 -cGVEZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iTm9kZVR5cGVEZXNjcmlwdGlvbiIgdHlwZT0idG5zOk5vZGVUeXBlRGVzY3JpcHRpb24iIG1p -bk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -Ikxpc3RPZk5vZGVUeXBlRGVzY3JpcHRpb24iIHR5cGU9InRuczpMaXN0T2ZOb2RlVHlwZURlc2Ny -aXB0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBl -ICBuYW1lPSJGaWx0ZXJPcGVyYXRvciI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0 -cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkVxdWFsc18wIiAvPg0KICAgICAg -PHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJc051bGxfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv -biB2YWx1ZT0iR3JlYXRlclRoYW5fMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i -TGVzc1RoYW5fMyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iR3JlYXRlclRoYW5P -ckVxdWFsXzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ikxlc3NUaGFuT3JFcXVh -bF81IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJMaWtlXzYiIC8+DQogICAgICA8 -eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vdF83IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh -bHVlPSJCZXR3ZWVuXzgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkluTGlzdF85 -IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBbmRfMTAiIC8+DQogICAgICA8eHM6 -ZW51bWVyYXRpb24gdmFsdWU9Ik9yXzExIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl -PSJDYXN0XzEyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJblZpZXdfMTMiIC8+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik9mVHlwZV8xNCIgLz4NCiAgICAgIDx4czpl -bnVtZXJhdGlvbiB2YWx1ZT0iUmVsYXRlZFRvXzE1IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u -IHZhbHVlPSJCaXR3aXNlQW5kXzE2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJC -aXR3aXNlT3JfMTciIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXJPcGVyYXRvciIgdHlwZT0idG5zOkZpbHRlck9w -ZXJhdG9yIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJRdWVyeURhdGFTZXQiPg0KICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6 -RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJUeXBlRGVmaW5pdGlvbk5vZGUiIHR5cGU9InVhOkV4cGFuZGVkTm9k -ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iVmFsdWVzIiB0eXBlPSJ1YTpMaXN0T2ZWYXJpYW50IiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5RGF0YVNldCIgdHlwZT0idG5zOlF1ZXJ5RGF0YVNldCIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUXVlcnlEYXRhU2V0Ij4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeURhdGFTZXQiIHR5cGU9 -InRuczpRdWVyeURhdGFTZXQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlF1ZXJ5RGF0YVNldCIgdHlwZT0idG5zOkxpc3RP -ZlF1ZXJ5RGF0YVNldCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iTm9kZVJlZmVyZW5jZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VUeXBl -SWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IklzRm9yd2FyZCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlZE5vZGVJZHMiIHR5 -cGU9InVhOkxpc3RPZk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJOb2RlUmVmZXJlbmNlIiB0eXBlPSJ0bnM6Tm9kZVJlZmVyZW5jZSIgLz4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iTGlzdE9mTm9kZVJlZmVyZW5jZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZVJlZmVyZW5jZSIgdHlwZT0idG5zOk5vZGVSZWZl -cmVuY2UiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9Ikxpc3RPZk5vZGVSZWZlcmVuY2UiIHR5cGU9InRuczpMaXN0T2ZOb2RlUmVmZXJl -bmNlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJDb250ZW50RmlsdGVyRWxlbWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iRmlsdGVyT3BlcmF0b3IiIHR5cGU9InRuczpGaWx0ZXJPcGVyYXRvciIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyT3BlcmFuZHMi -IHR5cGU9InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJDb250ZW50RmlsdGVyRWxlbWVudCIgdHlwZT0idG5zOkNvbnRlbnRGaWx0 -ZXJFbGVtZW50IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZDb250ZW50Rmls -dGVyRWxlbWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -Q29udGVudEZpbHRlckVsZW1lbnQiIHR5cGU9InRuczpDb250ZW50RmlsdGVyRWxlbWVudCIgbWlu -T2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -TGlzdE9mQ29udGVudEZpbHRlckVsZW1lbnQiIHR5cGU9InRuczpMaXN0T2ZDb250ZW50RmlsdGVy -RWxlbWVudCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iQ29udGVudEZpbHRlciI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iRWxlbWVudHMiIHR5cGU9InRuczpMaXN0T2ZDb250ZW50RmlsdGVyRWxlbWVu -dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb250ZW50RmlsdGVyIiB0 -eXBlPSJ0bnM6Q29udGVudEZpbHRlciIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlz -dE9mQ29udGVudEZpbHRlciI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iQ29udGVudEZpbHRlciIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXIiIG1pbk9jY3Vycz0i -MCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkNv -bnRlbnRGaWx0ZXIiIHR5cGU9InRuczpMaXN0T2ZDb250ZW50RmlsdGVyIiBuaWxsYWJsZT0idHJ1 -ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJGaWx0ZXJPcGVyYW5k -Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyT3BlcmFuZCIgdHlwZT0idG5zOkZpbHRl -ck9wZXJhbmQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVsZW1lbnRPcGVyYW5kIj4N -CiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNp -b24gYmFzZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXgiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lv -bj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJFbGVtZW50T3BlcmFuZCIgdHlwZT0idG5zOkVsZW1lbnRPcGVyYW5kIiAv -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXRlcmFsT3BlcmFuZCI+DQogICAgPHhzOmNv -bXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRu -czpGaWx0ZXJPcGVyYW5kIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlZhbHVlIiB0eXBlPSJ1YTpWYXJpYW50IiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNv -bXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM -aXRlcmFsT3BlcmFuZCIgdHlwZT0idG5zOkxpdGVyYWxPcGVyYW5kIiAvPg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJBdHRyaWJ1dGVPcGVyYW5kIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQg -bWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkZpbHRlck9wZXJh -bmQiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -Tm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWxpYXMiIHR5cGU9InhzOnN0cmluZyIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJCcm93c2VQYXRoIiB0eXBlPSJ0bnM6UmVsYXRpdmVQYXRoIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkF0dHJpYnV0ZUlkIiB0 -eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5z -aW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9IkF0dHJpYnV0ZU9wZXJhbmQiIHR5cGU9InRuczpBdHRyaWJ1dGVPcGVy -YW5kIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTaW1wbGVBdHRyaWJ1dGVPcGVyYW5k -Ij4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRl -bnNpb24gYmFzZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQog -ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHlwZURlZmluaXRpb25JZCIgdHlwZT0idWE6Tm9k -ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkJyb3dzZVBhdGgiIHR5cGU9InVhOkxpc3RPZlF1YWxpZmllZE5hbWUiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -QXR0cmlidXRlSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXhSYW5nZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAg -ICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2ltcGxlQXR0cmlidXRlT3BlcmFuZCIgdHlw -ZT0idG5zOlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h -bWU9Ikxpc3RPZlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIHR5cGU9InRuczpT -aW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVk -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTaW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiB0 -eXBlPSJ0bnM6TGlzdE9mU2ltcGxlQXR0cmlidXRlT3BlcmFuZCIgbmlsbGFibGU9InRydWUiPjwv -eHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ29udGVudEZpbHRlckVsZW1l -bnRSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0 -YXR1c0NvZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9Ik9wZXJhbmRTdGF0dXNDb2RlcyIgdHlwZT0idWE6TGlzdE9mU3RhdHVz -Q29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9Ik9wZXJhbmREaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJ -bmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNvbnRlbnRGaWx0ZXJF -bGVtZW50UmVzdWx0IiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlckVsZW1lbnRSZXN1bHQiIC8+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0 -Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250ZW50Rmls -dGVyRWxlbWVudFJlc3VsdCIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiBt -aW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJMaXN0T2ZDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIgdHlwZT0idG5zOkxpc3RPZkNvbnRl -bnRGaWx0ZXJFbGVtZW50UmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJDb250ZW50RmlsdGVyUmVzdWx0Ij4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbGVtZW50UmVzdWx0cyIgdHlwZT0idG5z -Okxpc3RPZkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRWxlbWVudERpYWdub3N0aWNJbmZv -cyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iQ29udGVudEZpbHRlclJlc3VsdCIgdHlwZT0idG5zOkNvbnRlbnRGaWx0 -ZXJSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlBhcnNpbmdSZXN1bHQiPg0K -ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c0NvZGUiIHR5 -cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IkRhdGFTdGF0dXNDb2RlcyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFEaWFn -bm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlBhcnNpbmdSZXN1bHQiIHR5cGU9InRuczpQYXJzaW5n -UmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZQYXJzaW5nUmVzdWx0 -Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQYXJzaW5nUmVz -dWx0IiB0eXBlPSJ0bnM6UGFyc2luZ1Jlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu -Ym91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUGFyc2luZ1Jlc3VsdCIgdHlw -ZT0idG5zOkxpc3RPZlBhcnNpbmdSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlF1ZXJ5Rmlyc3RSZXF1ZXN0Ij4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0 -bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlZpZXciIHR5cGU9InRuczpWaWV3RGVzY3JpcHRpb24iIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2Rl -VHlwZXMiIHR5cGU9InRuczpMaXN0T2ZOb2RlVHlwZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyIiB0eXBl -PSJ0bnM6Q29udGVudEZpbHRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ik1heERhdGFTZXRzVG9SZXR1cm4iIHR5cGU9InhzOnVuc2ln -bmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhSZWZl -cmVuY2VzVG9SZXR1cm4iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iUXVlcnlGaXJzdFJlcXVlc3QiIHR5cGU9InRuczpRdWVyeUZpcnN0UmVxdWVzdCIgLz4NCg0K -ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUXVlcnlGaXJzdFJlc3BvbnNlIj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5z -OlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlEYXRhU2V0cyIgdHlwZT0idG5zOkxpc3RPZlF1ZXJ5RGF0 -YVNldCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQYXJzaW5n -UmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZlBhcnNpbmdSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3Mi -IHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyUmVzdWx0IiB0eXBlPSJ0bnM6 -Q29udGVudEZpbHRlclJlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJRdWVyeUZpcnN0UmVzcG9uc2UiIHR5cGU9InRuczpRdWVyeUZpcnN0UmVzcG9uc2UiIC8+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlF1ZXJ5TmV4dFJlcXVlc3QiPg0KICAgIDx4czpzZXF1 -ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpS -ZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iUmVsZWFzZUNvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpib29sZWFu -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250aW51YXRpb25Q -b2ludCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9IlF1ZXJ5TmV4dFJlcXVlc3QiIHR5cGU9InRuczpRdWVyeU5leHRSZXF1ZXN0IiAv -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJRdWVyeU5leHRSZXNwb25zZSI+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9 -InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5RGF0YVNldHMiIHR5cGU9InRuczpMaXN0T2ZRdWVy -eURhdGFTZXQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJSZXZpc2VkQ29udGludWF0aW9uUG9pbnQiIHR5cGU9InhzOmJhc2U2NEJpbmFy -eSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeU5leHRSZXNwb25z -ZSIgdHlwZT0idG5zOlF1ZXJ5TmV4dFJlc3BvbnNlIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBu -YW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpz -dHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTb3VyY2VfMCIgLz4NCiAgICAg -IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU2VydmVyXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp -b24gdmFsdWU9IkJvdGhfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTmVpdGhl -cl8zIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiB0eXBlPSJ0bnM6VGltZXN0YW1wc1Rv -UmV0dXJuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWFkVmFsdWVJZCI+DQogICAg -PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpO -b2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJBdHRyaWJ1dGVJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkRhdGFFbmNvZGluZyIgdHlwZT0idWE6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZWFkVmFsdWVJZCIgdHlwZT0idG5zOlJlYWRWYWx1ZUlkIiAv -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZSZWFkVmFsdWVJZCI+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZFZhbHVlSWQiIHR5cGU9InRu -czpSZWFkVmFsdWVJZCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUmVhZFZhbHVlSWQiIHR5cGU9InRuczpMaXN0T2ZSZWFk -VmFsdWVJZCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iUmVhZFJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4QWdl -IiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlRpbWVzdGFtcHNUb1JldHVybiIgdHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb1JlYWQiIHR5cGU9 -InRuczpMaXN0T2ZSZWFkVmFsdWVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJSZWFkUmVxdWVzdCIgdHlwZT0idG5zOlJlYWRSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJSZWFkUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIi -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZEYXRhVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5 -cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9IlJlYWRSZXNwb25zZSIgdHlwZT0idG5zOlJlYWRSZXNwb25zZSIgLz4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeVJlYWRWYWx1ZUlkIj4NCiAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Iklu -ZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFFbmNvZGluZyIgdHlwZT0idWE6UXVhbGlm -aWVkTmFtZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRWYWx1ZUlkIiB0eXBl -PSJ0bnM6SGlzdG9yeVJlYWRWYWx1ZUlkIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJM -aXN0T2ZIaXN0b3J5UmVhZFZhbHVlSWQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9Ikhpc3RvcnlSZWFkVmFsdWVJZCIgdHlwZT0idG5zOkhpc3RvcnlSZWFkVmFs -dWVJZCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iTGlzdE9mSGlzdG9yeVJlYWRWYWx1ZUlkIiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9y -eVJlYWRWYWx1ZUlkIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJIaXN0b3J5UmVhZFJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9uUG9pbnQi -IHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlEYXRhIiB0eXBlPSJ1YTpFeHRlbnNpb25P -YmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRS -ZXN1bHQiIHR5cGU9InRuczpIaXN0b3J5UmVhZFJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iTGlzdE9mSGlzdG9yeVJlYWRSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlSZWFkUmVzdWx0IiB0eXBlPSJ0bnM6SGlzdG9y -eVJlYWRSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9Ikxpc3RPZkhpc3RvcnlSZWFkUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9m -SGlzdG9yeVJlYWRSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhz -OmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlSZWFkRGV0YWlscyI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9Ikhpc3RvcnlSZWFkRGV0YWlscyIgdHlwZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZEV2ZW50RGV0YWlscyI+DQogICAgPHhz -OmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9 -InRuczpIaXN0b3J5UmVhZERldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iTnVtVmFsdWVzUGVyTm9kZSIgdHlwZT0ieHM6dW5zaWduZWRJ -bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFydFRp -bWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iRW5kVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4N -CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXIiIHR5cGU9InRuczpFdmVudEZpbHRl -ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5j -ZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlYWRFdmVudERldGFpbHMiIHR5 -cGU9InRuczpSZWFkRXZlbnREZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJS -ZWFkUmF3TW9kaWZpZWREZXRhaWxzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZh -bHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyI+ -DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc1Jl -YWRNb2RpZmllZCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAg -IDx4czplbGVtZW50IG5hbWU9IlN0YXJ0VGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vy -cz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRUaW1lIiB0eXBlPSJ4czpk -YXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik51 -bVZhbHVlc1Blck5vZGUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV0dXJuQm91bmRzIiB0eXBlPSJ4czpib29sZWFu -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4 -dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZWFkUmF3TW9kaWZpZWREZXRhaWxzIiB0eXBlPSJ0bnM6UmVh -ZFJhd01vZGlmaWVkRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZFBy -b2Nlc3NlZERldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0K -ICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICAg -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXJ0VGltZSIg -dHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJFbmRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgICAgIDx4czplbGVtZW50IG5hbWU9IlByb2Nlc3NpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91 -YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWdncmVn -YXRlVHlwZSIgdHlwZT0idWE6TGlzdE9mTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRp -b24iIHR5cGU9InRuczpBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNp -b24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iUmVhZFByb2Nlc3NlZERldGFpbHMiIHR5cGU9InRuczpSZWFkUHJvY2Vz -c2VkRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZEF0VGltZURldGFp -bHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4 -dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICAgICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcVRpbWVzIiB0eXBlPSJ1YTpMaXN0 -T2ZEYXRlVGltZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJVc2VTaW1wbGVCb3VuZHMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9u -Pg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9IlJlYWRBdFRpbWVEZXRhaWxzIiB0eXBlPSJ0bnM6UmVhZEF0VGltZURldGFp -bHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlEYXRhIj4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVmFsdWVzIiB0eXBlPSJ1YTpM -aXN0T2ZEYXRhVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 -czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlz -dG9yeURhdGEiIHR5cGU9InRuczpIaXN0b3J5RGF0YSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iTW9kaWZpY2F0aW9uSW5mbyI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iTW9kaWZpY2F0aW9uVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vy -cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVwZGF0ZVR5cGUiIHR5cGU9InRuczpI -aXN0b3J5VXBkYXRlVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iVXNlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJNb2RpZmljYXRpb25JbmZvIiB0eXBlPSJ0bnM6TW9kaWZpY2F0aW9uSW5mbyIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTW9kaWZpY2F0aW9uSW5mbyI+DQog -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZpY2F0aW9uSW5m -byIgdHlwZT0idG5zOk1vZGlmaWNhdGlvbkluZm8iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1 -bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk1vZGlmaWNhdGlvbkluZm8i -IHR5cGU9InRuczpMaXN0T2ZNb2RpZmljYXRpb25JbmZvIiBuaWxsYWJsZT0idHJ1ZSI+PC94czpl -bGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5TW9kaWZpZWREYXRhIj4N -CiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNp -b24gYmFzZT0idG5zOkhpc3RvcnlEYXRhIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmaWNhdGlvbkluZm9zIiB0eXBlPSJ0bnM6TGlzdE9m -TW9kaWZpY2F0aW9uSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -ICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxl -eENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3Rv -cnlNb2RpZmllZERhdGEiIHR5cGU9InRuczpIaXN0b3J5TW9kaWZpZWREYXRhIiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5RXZlbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50cyIgdHlwZT0idG5zOkxpc3RPZkhpc3RvcnlFdmVu -dEZpZWxkTGlzdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5 -RXZlbnQiIHR5cGU9InRuczpIaXN0b3J5RXZlbnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h -bWU9Ikhpc3RvcnlSZWFkUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0 -b3J5UmVhZERldGFpbHMiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRpbWVzdGFtcHNUb1Jl -dHVybiIgdHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsZWFzZUNvbnRpbnVhdGlvblBvaW50cyIgdHlwZT0ieHM6 -Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNU -b1JlYWQiIHR5cGU9InRuczpMaXN0T2ZIaXN0b3J5UmVhZFZhbHVlSWQiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRSZXF1ZXN0IiB0eXBlPSJ0bnM6SGlz -dG9yeVJlYWRSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5UmVh -ZFJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS -ZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0i -dG5zOkxpc3RPZkhpc3RvcnlSZWFkUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpM -aXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJIaXN0b3J5UmVhZFJlc3BvbnNlIiB0eXBlPSJ0bnM6SGlzdG9yeVJlYWRSZXNwb25zZSIgLz4N -Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iV3JpdGVWYWx1ZSI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdHRy -aWJ1dGVJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlIiB0eXBl -PSJ1YTpEYXRhVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 -czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iV3Jp -dGVWYWx1ZSIgdHlwZT0idG5zOldyaXRlVmFsdWUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h -bWU9Ikxpc3RPZldyaXRlVmFsdWUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IldyaXRlVmFsdWUiIHR5cGU9InRuczpXcml0ZVZhbHVlIiBtaW5PY2N1cnM9IjAi -IG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl -bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZXcml0 -ZVZhbHVlIiB0eXBlPSJ0bnM6TGlzdE9mV3JpdGVWYWx1ZSIgbmlsbGFibGU9InRydWUiPjwveHM6 -ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iV3JpdGVSZXF1ZXN0Ij4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBl -PSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVzVG9Xcml0ZSIgdHlwZT0idG5zOkxpc3RPZldyaXRl -VmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVSZXF1ZXN0 -IiB0eXBlPSJ0bnM6V3JpdGVSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJX -cml0ZVJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlw -ZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9m -RGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 -czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iV3Jp -dGVSZXNwb25zZSIgdHlwZT0idG5zOldyaXRlUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9Ikhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5VXBkYXRlRGV0YWlscyIgdHlwZT0idG5z -Okhpc3RvcnlVcGRhdGVEZXRhaWxzIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJIaXN0 -b3J5VXBkYXRlVHlwZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQog -ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ikluc2VydF8xIiAvPg0KICAgICAgPHhzOmVudW1l -cmF0aW9uIHZhbHVlPSJSZXBsYWNlXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 -IlVwZGF0ZV8zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEZWxldGVfNCIgLz4N -CiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9Ikhpc3RvcnlVcGRhdGVUeXBlIiB0eXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZVR5cGUiIC8+ -DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IlBlcmZvcm1VcGRhdGVUeXBlIj4NCiAgICA8eHM6 -cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 -ZT0iSW5zZXJ0XzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlcGxhY2VfMiIg -Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVXBkYXRlXzMiIC8+DQogICAgICA8eHM6 -ZW51bWVyYXRpb24gdmFsdWU9IlJlbW92ZV80IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQog -IDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUGVyZm9ybVVwZGF0ZVR5cGUi -IHR5cGU9InRuczpQZXJmb3JtVXBkYXRlVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt -ZT0iVXBkYXRlRGF0YURldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFs -c2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMi -Pg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUGVy -Zm9ybUluc2VydFJlcGxhY2UiIHR5cGU9InRuczpQZXJmb3JtVXBkYXRlVHlwZSIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlVwZGF0ZVZhbHVlcyIgdHlwZT0i -dWE6TGlzdE9mRGF0YVZhbHVlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21w -bGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVXBk -YXRlRGF0YURldGFpbHMiIHR5cGU9InRuczpVcGRhdGVEYXRhRGV0YWlscyIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iVXBkYXRlU3RydWN0dXJlRGF0YURldGFpbHMiPg0KICAgIDx4czpj -b21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0 -bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUGVyZm9ybUluc2VydFJlcGxhY2UiIHR5cGU9InRuczpQZXJm -b3JtVXBkYXRlVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h -bWU9IlVwZGF0ZVZhbHVlcyIgdHlwZT0idWE6TGlzdE9mRGF0YVZhbHVlIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpl -eHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iVXBkYXRlU3RydWN0dXJlRGF0YURldGFpbHMiIHR5cGU9InRu -czpVcGRhdGVTdHJ1Y3R1cmVEYXRhRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt -ZT0iVXBkYXRlRXZlbnREZXRhaWxzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZh -bHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxz -Ij4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlBl -cmZvcm1JbnNlcnRSZXBsYWNlIiB0eXBlPSJ0bnM6UGVyZm9ybVVwZGF0ZVR5cGUiIG1pbk9jY3Vy -cz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXIiIHR5cGU9InRuczpF -dmVudEZpbHRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJFdmVudERhdGEiIHR5cGU9InRuczpMaXN0T2ZIaXN0b3J5RXZlbnRG -aWVsZExpc3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6 -c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50 -Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVcGRhdGVFdmVudERl -dGFpbHMiIHR5cGU9InRuczpVcGRhdGVFdmVudERldGFpbHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IkRlbGV0ZVJhd01vZGlmaWVkRGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250 -ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5 -VXBkYXRlRGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJJc0RlbGV0ZU1vZGlmaWVkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhcnRUaW1lIiB0eXBlPSJ4czpk -YXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkVu -ZFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6 -c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50 -Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVSYXdNb2Rp -ZmllZERldGFpbHMiIHR5cGU9InRuczpEZWxldGVSYXdNb2RpZmllZERldGFpbHMiIC8+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZUF0VGltZURldGFpbHMiPg0KICAgIDx4czpjb21w -bGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6 -SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUmVxVGltZXMiIHR5cGU9InVhOkxpc3RPZkRhdGVUaW1lIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAg -ICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlQXRUaW1lRGV0YWlscyIgdHlwZT0i -dG5zOkRlbGV0ZUF0VGltZURldGFpbHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRl -bGV0ZUV2ZW50RGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+ -DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQog -ICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudElk -cyIgdHlwZT0idWE6TGlzdE9mQnl0ZVN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAg -IDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9IkRlbGV0ZUV2ZW50RGV0YWlscyIgdHlwZT0idG5zOkRlbGV0ZUV2ZW50RGV0YWlscyIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3VsdCI+DQogICAg -PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0i -dWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -T3BlcmF0aW9uUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJ -bmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3VsdCIgdHlwZT0idG5zOkhpc3RvcnlV -cGRhdGVSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkhpc3RvcnlV -cGRhdGVSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -Ikhpc3RvcnlVcGRhdGVSZXN1bHQiIHR5cGU9InRuczpIaXN0b3J5VXBkYXRlUmVzdWx0IiBtaW5P -Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM -aXN0T2ZIaXN0b3J5VXBkYXRlUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeVVwZGF0ZVJl -c3VsdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iSGlzdG9yeVVwZGF0ZVJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -SGlzdG9yeVVwZGF0ZURldGFpbHMiIHR5cGU9InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5VXBkYXRlUmVxdWVzdCIg -dHlwZT0idG5zOkhpc3RvcnlVcGRhdGVSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJIaXN0b3J5VXBkYXRlUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIi -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJSZXN1bHRzIiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeVVwZGF0ZVJlc3VsdCIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0 -aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3BvbnNlIiB0eXBlPSJ0bnM6SGlz -dG9yeVVwZGF0ZVJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDYWxsTWV0 -aG9kUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -T2JqZWN0SWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1ldGhvZElkIiB0eXBlPSJ1YTpOb2RlSWQiIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJ -bnB1dEFyZ3VtZW50cyIgdHlwZT0idWE6TGlzdE9mVmFyaWFudCIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJDYWxsTWV0aG9kUmVxdWVzdCIgdHlwZT0idG5zOkNhbGxNZXRo -b2RSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZDYWxsTWV0aG9k -UmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2Fs -bE1ldGhvZFJlcXVlc3QiIHR5cGU9InRuczpDYWxsTWV0aG9kUmVxdWVzdCIgbWluT2NjdXJzPSIw -IiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 -ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQ2Fs -bE1ldGhvZFJlcXVlc3QiIHR5cGU9InRuczpMaXN0T2ZDYWxsTWV0aG9kUmVxdWVzdCIgbmlsbGFi -bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2FsbE1l -dGhvZFJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -U3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iSW5wdXRBcmd1bWVudFJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0 -YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJJbnB1dEFyZ3VtZW50RGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZE -aWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9Ik91dHB1dEFyZ3VtZW50cyIgdHlwZT0idWE6TGlzdE9mVmFyaWFudCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDYWxsTWV0aG9kUmVzdWx0IiB0 -eXBlPSJ0bnM6Q2FsbE1ldGhvZFJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -TGlzdE9mQ2FsbE1ldGhvZFJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iQ2FsbE1ldGhvZFJlc3VsdCIgdHlwZT0idG5zOkNhbGxNZXRob2RSZXN1bHQi -IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9Ikxpc3RPZkNhbGxNZXRob2RSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZDYWxsTWV0aG9kUmVz -dWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJDYWxsUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXRob2RzVG9D -YWxsIiB0eXBlPSJ0bnM6TGlzdE9mQ2FsbE1ldGhvZFJlcXVlc3QiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iQ2FsbFJlcXVlc3QiIHR5cGU9InRuczpDYWxsUmVxdWVzdCIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2FsbFJlc3BvbnNlIj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5z -OlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZkNhbGxNZXRob2RSZXN1 -bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNhbGxSZXNwb25zZSIgdHlwZT0idG5z -OkNhbGxSZXNwb25zZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iTW9uaXRvcmluZ01v -ZGUiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVu -dW1lcmF0aW9uIHZhbHVlPSJEaXNhYmxlZF8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh -bHVlPSJTYW1wbGluZ18xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZXBvcnRp -bmdfMiIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9Ik1vbml0b3JpbmdNb2RlIiB0eXBlPSJ0bnM6TW9uaXRvcmluZ01vZGUi -IC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkRhdGFDaGFuZ2VUcmlnZ2VyIj4NCiAgICA8 -eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 -YWx1ZT0iU3RhdHVzXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN0YXR1c1Zh -bHVlXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN0YXR1c1ZhbHVlVGltZXN0 -YW1wXzIiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJEYXRhQ2hhbmdlVHJpZ2dlciIgdHlwZT0idG5zOkRhdGFDaGFuZ2VU -cmlnZ2VyIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJEZWFkYmFuZFR5cGUiPg0KICAg -IDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9u -IHZhbHVlPSJOb25lXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFic29sdXRl -XzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlBlcmNlbnRfMiIgLz4NCiAgICA8 -L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -IkRlYWRiYW5kVHlwZSIgdHlwZT0idG5zOkRlYWRiYW5kVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iTW9uaXRvcmluZ0ZpbHRlciI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwv -eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1v -bml0b3JpbmdGaWx0ZXIiIHR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVyIiAvPg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJEYXRhQ2hhbmdlRmlsdGVyIj4NCiAgICA8eHM6Y29tcGxleENvbnRl -bnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk1vbml0b3Jp -bmdGaWx0ZXIiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iVHJpZ2dlciIgdHlwZT0idG5zOkRhdGFDaGFuZ2VUcmlnZ2VyIiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVhZGJhbmRUeXBlIiB0eXBlPSJ4czp1 -bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkRlYWRiYW5kVmFsdWUiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg -ICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4 -Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YUNo -YW5nZUZpbHRlciIgdHlwZT0idG5zOkRhdGFDaGFuZ2VGaWx0ZXIiIC8+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9IkV2ZW50RmlsdGVyIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9 -ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk1vbml0b3JpbmdGaWx0ZXIi -Pg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vs -ZWN0Q2xhdXNlcyIgdHlwZT0idG5zOkxpc3RPZlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -V2hlcmVDbGF1c2UiIHR5cGU9InRuczpDb250ZW50RmlsdGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNp -b24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iRXZlbnRGaWx0ZXIiIHR5cGU9InRuczpFdmVudEZpbHRlciIgLz4NCg0K -ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWdncmVnYXRlQ29uZmlndXJhdGlvbiI+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlU2VydmVyQ2FwYWJpbGl0aWVz -RGVmYXVsdHMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlRyZWF0VW5jZXJ0YWluQXNCYWQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBlcmNlbnREYXRhQmFkIiB0eXBl -PSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlBlcmNlbnREYXRhR29vZCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VTbG9wZWRFeHRyYXBvbGF0aW9uIiB0eXBl -PSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWdncmVnYXRlQ29uZmlndXJhdGlv -biIgdHlwZT0idG5zOkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IkFnZ3JlZ2F0ZUZpbHRlciI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVk -PSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpNb25pdG9yaW5nRmlsdGVy -Ij4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0 -YXJ0VGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJBZ2dyZWdhdGVUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJv -Y2Vzc2luZ0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiB0eXBlPSJ0bnM6 -QWdncmVnYXRlQ29uZmlndXJhdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6 -Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -IkFnZ3JlZ2F0ZUZpbHRlciIgdHlwZT0idG5zOkFnZ3JlZ2F0ZUZpbHRlciIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iTW9uaXRvcmluZ0ZpbHRlclJlc3VsdCI+DQogICAgPHhzOnNlcXVl -bmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9Ik1vbml0b3JpbmdGaWx0ZXJSZXN1bHQiIHR5cGU9InRuczpNb25pdG9yaW5nRmls -dGVyUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFdmVudEZpbHRlclJlc3Vs -dCI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0 -ZW5zaW9uIGJhc2U9InRuczpNb25pdG9yaW5nRmlsdGVyUmVzdWx0Ij4NCiAgICAgICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlbGVjdENsYXVzZVJlc3VsdHMi -IHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VsZWN0Q2xhdXNlRGlhZ25vc3RpY0lu -Zm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJXaGVyZUNsYXVzZVJlc3Vs -dCIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXJSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4N -CiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJFdmVudEZpbHRlclJlc3VsdCIgdHlwZT0idG5zOkV2ZW50RmlsdGVyUmVzdWx0 -IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZ2dyZWdhdGVGaWx0ZXJSZXN1bHQiPg0K -ICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lv -biBiYXNlPSJ0bnM6TW9uaXRvcmluZ0ZpbHRlclJlc3VsdCI+DQogICAgICAgIDx4czpzZXF1ZW5j -ZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkU3RhcnRUaW1lIiB0eXBlPSJ4 -czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlJldmlzZWRQcm9jZXNzaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRBZ2dyZWdhdGVDb25maWd1 -cmF0aW9uIiB0eXBlPSJ0bnM6QWdncmVnYXRlQ29uZmlndXJhdGlvbiIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0 -ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9IkFnZ3JlZ2F0ZUZpbHRlclJlc3VsdCIgdHlwZT0idG5zOkFnZ3Jl -Z2F0ZUZpbHRlclJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9uaXRvcmlu -Z1BhcmFtZXRlcnMiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkNsaWVudEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlNhbXBsaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyIiB0eXBlPSJ1 -YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJRdWV1ZVNpemUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjYXJkT2xkZXN0IiB0eXBl -PSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ1BhcmFtZXRlcnMi -IHR5cGU9InRuczpNb25pdG9yaW5nUGFyYW1ldGVycyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ikl0ZW1Ub01vbml0b3IiIHR5cGU9InRuczpSZWFkVmFsdWVJ -ZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9Ik1vbml0b3JpbmdNb2RlIiB0eXBlPSJ0bnM6TW9uaXRvcmluZ01vZGUiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZFBhcmFtZXRlcnMiIHR5cGU9 -InRuczpNb25pdG9yaW5nUGFyYW1ldGVycyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIgdHlwZT0idG5zOk1vbml0b3JlZEl0 -ZW1DcmVhdGVSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb25p -dG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIHR5cGU9InRuczpNb25pdG9y -ZWRJdGVtQ3JlYXRlUmVxdWVzdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3Qi -IHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIgbmlsbGFibGU9InRy -dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9uaXRvcmVkSXRl -bUNyZWF0ZVJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUlkIiB0eXBlPSJ4czp1bnNpZ25lZElu -dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFNhbXBs -aW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iUmV2aXNlZFF1ZXVlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1p -bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlclJlc3VsdCIgdHlw -ZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9Ik1vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIHR5cGU9InRuczpNb25pdG9yZWRJdGVtQ3Jl -YXRlUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJ -dGVtQ3JlYXRlUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0IiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRlbUNy -ZWF0ZVJlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbUNyZWF0ZVJlc3VsdCIgdHlwZT0idG5z -Okxpc3RPZk1vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVs -ZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zUmVx -dWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVz -dEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlwZT0i -eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlRpbWVzdGFtcHNUb1JldHVybiIgdHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXRlbXNUb0NyZWF0ZSIgdHlwZT0i -dG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0IiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgdHlwZT0idG5z -OkNyZWF0ZU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt -ZT0iQ3JlYXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhl -YWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0 -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVNb25pdG9yZWRJdGVtc1Jlc3Bv -bnNlIiB0eXBlPSJ0bnM6Q3JlYXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVlc3QiPg0KICAgIDx4czpz -ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1JZCIgdHlwZT0i -eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlJlcXVlc3RlZFBhcmFtZXRlcnMiIHR5cGU9InRuczpNb25pdG9yaW5nUGFyYW1ldGVycyIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtTW9kaWZ5UmVx -dWVzdCIgdHlwZT0idG5zOk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiAvPg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCI+DQogICAg -PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlm -eVJlcXVlc3QiIHR5cGU9InRuczpNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCIgbWluT2NjdXJz -PSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz -ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9m -TW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVlc3QiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVt -TW9kaWZ5UmVxdWVzdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCI+DQogICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVz -Q29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFNh -bXBsaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFF1ZXVlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlclJlc3VsdCIg -dHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9Ik1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIHR5cGU9InRuczpNb25pdG9yZWRJdGVt -TW9kaWZ5UmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb25pdG9y -ZWRJdGVtTW9kaWZ5UmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0IiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRl -bU1vZGlmeVJlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCIgdHlwZT0i -dG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hz -OmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1vZGlmeU1vbml0b3JlZEl0ZW1z -UmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVx -dWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlw -ZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlRpbWVzdGFtcHNUb1JldHVybiIgdHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXRlbXNUb01vZGlmeSIgdHlw -ZT0idG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmeU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgdHlwZT0i -dG5zOk1vZGlmeU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iTW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25z -ZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtTW9kaWZ5UmVz -dWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZnlNb25pdG9yZWRJdGVtc1Jl -c3BvbnNlIiB0eXBlPSJ0bnM6TW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgLz4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iU2V0TW9uaXRvcmluZ01vZGVSZXF1ZXN0Ij4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0 -bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ01vZGUi -IHR5cGU9InRuczpNb25pdG9yaW5nTW9kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUlkcyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNldE1vbml0b3JpbmdNb2RlUmVxdWVz -dCIgdHlwZT0idG5zOlNldE1vbml0b3JpbmdNb2RlUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iU2V0TW9uaXRvcmluZ01vZGVSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNw -b25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9z -dGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9IlNldE1vbml0b3JpbmdNb2RlUmVzcG9uc2UiIHR5cGU9InRu -czpTZXRNb25pdG9yaW5nTW9kZVJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJTZXRUcmlnZ2VyaW5nUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJz -Y3JpcHRpb25JZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlRyaWdnZXJpbmdJdGVtSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50 -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaW5rc1RvQWRkIiB0 -eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaW5rc1RvUmVtb3ZlIiB0eXBlPSJ1YTpMaXN0T2ZVSW50 -MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0VHJpZ2dlcmluZ1Jl -cXVlc3QiIHR5cGU9InRuczpTZXRUcmlnZ2VyaW5nUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iU2V0VHJpZ2dlcmluZ1Jlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNl -SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iQWRkUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZERpYWdu -b3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZW1vdmVSZXN1bHRz -IiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVtb3ZlRGlhZ25vc3RpY0luZm9zIiB0eXBl -PSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJTZXRUcmlnZ2VyaW5nUmVzcG9uc2UiIHR5cGU9InRuczpTZXRUcmlnZ2VyaW5nUmVz -cG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1z -UmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVx -dWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlw -ZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9Ik1vbml0b3JlZEl0ZW1JZHMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVNb25pdG9yZWRJdGVtc1JlcXVlc3QiIHR5 -cGU9InRuczpEZWxldGVNb25pdG9yZWRJdGVtc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5j -ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVz -cG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25v -c3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiB0eXBl -PSJ0bnM6RGVsZXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iQ3JlYXRlU3Vic2NyaXB0aW9uUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RI -ZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJSZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTGlmZXRpbWVD -b3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25l -ZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4Tm90aWZp -Y2F0aW9uc1BlclB1Ymxpc2giIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoaW5nRW5hYmxlZCIgdHlwZT0ieHM6Ym9v -bGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJpb3JpdHki -IHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVu -Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZVN1YnNj -cmlwdGlvblJlcXVlc3QiIHR5cGU9InRuczpDcmVhdGVTdWJzY3JpcHRpb25SZXF1ZXN0IiAvPg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDcmVhdGVTdWJzY3JpcHRpb25SZXNwb25zZSI+DQog -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIi -IHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNp -Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNl -ZFB1Ymxpc2hpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkTGlmZXRpbWVDb3VudCIgdHlwZT0ieHM6dW5z -aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlz -ZWRNYXhLZWVwQWxpdmVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJDcmVhdGVTdWJzY3JpcHRpb25SZXNwb25zZSIgdHlwZT0idG5zOkNyZWF0ZVN1YnNj -cmlwdGlvblJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb2RpZnlTdWJz -Y3JpcHRpb25SZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlv -bklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZExpZmV0 -aW1lQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudCIgdHlwZT0ieHM6dW5z -aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heE5v -dGlmaWNhdGlvbnNQZXJQdWJsaXNoIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJpb3JpdHkiIHR5cGU9InhzOnVuc2lnbmVk -Qnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvblJlcXVlc3QiIHR5 -cGU9InRuczpNb2RpZnlTdWJzY3JpcHRpb25SZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJNb2RpZnlTdWJzY3JpcHRpb25SZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25z -ZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlJldmlzZWRQdWJsaXNoaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZExpZmV0aW1lQ291 -bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJSZXZpc2VkTWF4S2VlcEFsaXZlQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50 -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZ5U3Vic2NyaXB0aW9uUmVzcG9uc2UiIHR5cGU9 -InRuczpNb2RpZnlTdWJzY3JpcHRpb25SZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iU2V0UHVibGlzaGluZ01vZGVSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRl -ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlB1Ymxpc2hpbmdFbmFibGVkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZHMiIHR5cGU9InVhOkxpc3RP -ZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl -bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRQdWJsaXNo -aW5nTW9kZVJlcXVlc3QiIHR5cGU9InRuczpTZXRQdWJsaXNoaW5nTW9kZVJlcXVlc3QiIC8+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNldFB1Ymxpc2hpbmdNb2RlUmVzcG9uc2UiPg0KICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0 -eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXND -b2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRQdWJsaXNoaW5nTW9kZVJlc3Bv -bnNlIiB0eXBlPSJ0bnM6U2V0UHVibGlzaGluZ01vZGVSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iTm90aWZpY2F0aW9uTWVzc2FnZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VxdWVuY2VOdW1iZXIiIHR5cGU9InhzOnVuc2lnbmVk -SW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoVGlt -ZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9Ik5vdGlmaWNhdGlvbkRhdGEiIHR5cGU9InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOb3RpZmljYXRpb25NZXNzYWdl -IiB0eXBlPSJ0bnM6Tm90aWZpY2F0aW9uTWVzc2FnZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iTm90aWZpY2F0aW9uRGF0YSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik5vdGlmaWNh -dGlvbkRhdGEiIHR5cGU9InRuczpOb3RpZmljYXRpb25EYXRhIiAvPg0KDQogIDx4czpjb21wbGV4 -VHlwZSBuYW1lPSJEYXRhQ2hhbmdlTm90aWZpY2F0aW9uIj4NCiAgICA8eHM6Y29tcGxleENvbnRl -bnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk5vdGlmaWNh -dGlvbkRhdGEiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iTW9uaXRvcmVkSXRlbXMiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtTm90aWZp -Y2F0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czpl -bGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0lu -Zm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVu -Y2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhQ2hhbmdlTm90aWZpY2F0 -aW9uIiB0eXBlPSJ0bnM6RGF0YUNoYW5nZU5vdGlmaWNhdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iTW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50SGFuZGxlIiB0eXBlPSJ4czp1bnNpZ25l -ZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUiIHR5 -cGU9InVhOkRhdGFWYWx1ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJN -b25pdG9yZWRJdGVtTm90aWZpY2F0aW9uIiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRlbU5vdGlmaWNh -dGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbU5v -dGlmaWNhdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -TW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiIgdHlwZT0idG5zOk1vbml0b3JlZEl0ZW1Ob3RpZmlj -YXRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9Ikxpc3RPZk1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iIHR5cGU9InRuczpMaXN0 -T2ZNb25pdG9yZWRJdGVtTm90aWZpY2F0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50 -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFdmVudE5vdGlmaWNhdGlvbkxpc3QiPg0KICAg -IDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBi -YXNlPSJ0bnM6Tm90aWZpY2F0aW9uRGF0YSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudHMiIHR5cGU9InRuczpMaXN0T2ZFdmVudEZpZWxk -TGlzdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1 -ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQog -IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkV2ZW50Tm90aWZpY2F0aW9u -TGlzdCIgdHlwZT0idG5zOkV2ZW50Tm90aWZpY2F0aW9uTGlzdCIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iRXZlbnRGaWVsZExpc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IkNsaWVudEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50RmllbGRzIiB0eXBlPSJ1 -YTpMaXN0T2ZWYXJpYW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv -eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkV2 -ZW50RmllbGRMaXN0IiB0eXBlPSJ0bnM6RXZlbnRGaWVsZExpc3QiIC8+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9Ikxpc3RPZkV2ZW50RmllbGRMaXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudEZpZWxkTGlzdCIgdHlwZT0idG5zOkV2ZW50Rmll -bGRMaXN0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJMaXN0T2ZFdmVudEZpZWxkTGlzdCIgdHlwZT0idG5zOkxpc3RPZkV2ZW50Rmll -bGRMaXN0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJIaXN0b3J5RXZlbnRGaWVsZExpc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IkV2ZW50RmllbGRzIiB0eXBlPSJ1YTpMaXN0T2ZWYXJpYW50IiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlFdmVudEZpZWxkTGlz -dCIgdHlwZT0idG5zOkhpc3RvcnlFdmVudEZpZWxkTGlzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iTGlzdE9mSGlzdG9yeUV2ZW50RmllbGRMaXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5RXZlbnRGaWVsZExpc3QiIHR5cGU9InRu -czpIaXN0b3J5RXZlbnRGaWVsZExpc3QiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5k -ZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkhpc3RvcnlFdmVudEZpZWxkTGlzdCIg -dHlwZT0idG5zOkxpc3RPZkhpc3RvcnlFdmVudEZpZWxkTGlzdCIgbmlsbGFibGU9InRydWUiPjwv -eHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU3RhdHVzQ2hhbmdlTm90aWZp -Y2F0aW9uIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4 -czpleHRlbnNpb24gYmFzZT0idG5zOk5vdGlmaWNhdGlvbkRhdGEiPg0KICAgICAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzIiB0eXBlPSJ1YTpTdGF0 -dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlh -Z25vc3RpY0luZm8iIHR5cGU9InVhOkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNp -b24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iU3RhdHVzQ2hhbmdlTm90aWZpY2F0aW9uIiB0eXBlPSJ0bnM6U3RhdHVz -Q2hhbmdlTm90aWZpY2F0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTdWJzY3Jp -cHRpb25BY2tub3dsZWRnZW1lbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VxdWVuY2VOdW1iZXIiIHR5cGU9Inhz -OnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uQWNrbm93bGVk -Z2VtZW50IiB0eXBlPSJ0bnM6U3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50IiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiPg0K -ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbkFj -a25vd2xlZGdlbWVudCIgdHlwZT0idG5zOlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudCIgbWlu -T2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -TGlzdE9mU3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50IiB0eXBlPSJ0bnM6TGlzdE9mU3Vic2Ny -aXB0aW9uQWNrbm93bGVkZ2VtZW50IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJQdWJsaXNoUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVl -c3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnRzIiB0eXBlPSJ0bnM6TGlzdE9m -U3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9IlB1Ymxpc2hSZXF1ZXN0IiB0eXBlPSJ0bnM6UHVibGlzaFJlcXVlc3QiIC8+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlB1Ymxpc2hSZXNwb25zZSI+DQogICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpS -ZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXZhaWxhYmxlU2VxdWVuY2VO -dW1iZXJzIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb3JlTm90aWZpY2F0aW9ucyIgdHlwZT0i -eHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm90 -aWZpY2F0aW9uTWVzc2FnZSIgdHlwZT0idG5zOk5vdGlmaWNhdGlvbk1lc3NhZ2UiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRz -IiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpM -aXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJQdWJsaXNoUmVzcG9uc2UiIHR5cGU9InRuczpQdWJsaXNoUmVzcG9uc2UiIC8+DQoNCiAgPHhz -OmNvbXBsZXhUeXBlIG5hbWU9IlJlcHVibGlzaFJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0 -SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXRyYW5zbWl0U2VxdWVuY2VOdW1iZXIi -IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVwdWJsaXNoUmVx -dWVzdCIgdHlwZT0idG5zOlJlcHVibGlzaFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9IlJlcHVibGlzaFJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -Tm90aWZpY2F0aW9uTWVzc2FnZSIgdHlwZT0idG5zOk5vdGlmaWNhdGlvbk1lc3NhZ2UiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVwdWJsaXNoUmVzcG9uc2UiIHR5cGU9 -InRuczpSZXB1Ymxpc2hSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVHJh -bnNmZXJSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlN0YXR1c0NvZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IkF2YWlsYWJsZVNlcXVlbmNlTnVtYmVycyIgdHlwZT0idWE6TGlz -dE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRyYW5zZmVy -UmVzdWx0IiB0eXBlPSJ0bnM6VHJhbnNmZXJSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9Ikxpc3RPZlRyYW5zZmVyUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2ZlclJlc3VsdCIgdHlwZT0idG5zOlRyYW5zZmVyUmVzdWx0 -IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJMaXN0T2ZUcmFuc2ZlclJlc3VsdCIgdHlwZT0idG5zOkxpc3RPZlRyYW5zZmVyUmVzdWx0 -IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJUcmFuc2ZlclN1YnNjcmlwdGlvbnNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRl -ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlN1YnNjcmlwdGlvbklkcyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VuZEluaXRpYWxW -YWx1ZXMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVl -bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2ZlclN1 -YnNjcmlwdGlvbnNSZXF1ZXN0IiB0eXBlPSJ0bnM6VHJhbnNmZXJTdWJzY3JpcHRpb25zUmVxdWVz -dCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVHJhbnNmZXJTdWJzY3JpcHRpb25zUmVz -cG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3Bv -bnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ0bnM6 -TGlzdE9mVHJhbnNmZXJSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRp -YWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 -c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRyYW5z -ZmVyU3Vic2NyaXB0aW9uc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6VHJhbnNmZXJTdWJzY3JpcHRpb25z -UmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZVN1YnNjcmlwdGlv -bnNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS -ZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkcyIg -dHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9IkRlbGV0ZVN1YnNjcmlwdGlvbnNSZXF1ZXN0IiB0eXBlPSJ0bnM6RGVsZXRlU3Vic2NyaXB0 -aW9uc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZVN1YnNjcmlw -dGlvbnNSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5 -cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RP -ZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv -eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRl -bGV0ZVN1YnNjcmlwdGlvbnNSZXNwb25zZSIgdHlwZT0idG5zOkRlbGV0ZVN1YnNjcmlwdGlvbnNS -ZXNwb25zZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iRW51bWVyYXRlZFRlc3RUeXBl -Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgc2ltcGxl -IGVudW1lcmF0ZWQgdHlwZSB1c2VkIGZvciB0ZXN0aW5nLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAg -ICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlZF8xIiAvPg0KICAgICAgPHhzOmVudW1l -cmF0aW9uIHZhbHVlPSJZZWxsb3dfNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i -R3JlZW5fNSIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9IkVudW1lcmF0ZWRUZXN0VHlwZSIgdHlwZT0idG5zOkVudW1lcmF0 -ZWRUZXN0VHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRW51bWVyYXRl -ZFRlc3RUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJF -bnVtZXJhdGVkVGVzdFR5cGUiIHR5cGU9InRuczpFbnVtZXJhdGVkVGVzdFR5cGUiIG1pbk9jY3Vy -cz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRW51bWVyYXRlZFRlc3RU -eXBlIiB0eXBlPSJ0bnM6TGlzdE9mRW51bWVyYXRlZFRlc3RUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+ -PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCdWlsZEluZm8iPg0KICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlByb2R1Y3RVcmkiIHR5cGU9 -InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9Ik1hbnVmYWN0dXJlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlByb2R1Y3RO -YW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTb2Z0d2FyZVZlcnNpb24iIHR5cGU9InhzOnN0cmluZyIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkJ1aWxkTnVtYmVyIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCdWlsZERhdGUiIHR5cGU9InhzOmRhdGVU -aW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnVpbGRJbmZvIiB0eXBlPSJ0bnM6QnVpbGRJbmZv -IiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJSZWR1bmRhbmN5U3VwcG9ydCI+DQogICAg -PHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24g -dmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ29sZF8xIiAv -Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJXYXJtXzIiIC8+DQogICAgICA8eHM6ZW51 -bWVyYXRpb24gdmFsdWU9IkhvdF8zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJU -cmFuc3BhcmVudF80IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJIb3RBbmRNaXJy -b3JlZF81IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iUmVkdW5kYW5jeVN1cHBvcnQiIHR5cGU9InRuczpSZWR1bmRhbmN5 -U3VwcG9ydCIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iU2VydmVyU3RhdGUiPg0KICAg -IDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9u -IHZhbHVlPSJSdW5uaW5nXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkZhaWxl -ZF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb0NvbmZpZ3VyYXRpb25fMiIg -Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU3VzcGVuZGVkXzMiIC8+DQogICAgICA8 -eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNodXRkb3duXzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp -b24gdmFsdWU9IlRlc3RfNSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ29tbXVu -aWNhdGlvbkZhdWx0XzYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVua25vd25f -NyIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9IlNlcnZlclN0YXRlIiB0eXBlPSJ0bnM6U2VydmVyU3RhdGUiIC8+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZHVuZGFudFNlcnZlckRhdGFUeXBlIj4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJJZCIgdHlwZT0ieHM6c3Ry -aW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iU2VydmljZUxldmVsIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlclN0YXRlIiB0eXBlPSJ0bnM6U2VydmVy -U3RhdGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIgdHlw -ZT0idG5zOlJlZHVuZGFudFNlcnZlckRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJMaXN0T2ZSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVkdW5kYW50U2VydmVyRGF0YVR5cGUiIHR5cGU9InRu -czpSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91 -bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUmVkdW5kYW50U2VydmVyRGF0YVR5 -cGUiIHR5cGU9InRuczpMaXN0T2ZSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIgbmlsbGFibGU9InRy -dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRW5kcG9pbnRVcmxM -aXN0RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkVuZHBvaW50VXJsTGlzdCIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIiB0eXBlPSJ0bnM6 -RW5kcG9pbnRVcmxMaXN0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxp -c3RPZkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVybExpc3REYXRhVHlwZSIgdHlwZT0idG5zOkVuZHBv -aW50VXJsTGlzdERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbmRwb2ludFVybExpc3REYXRhVHlwZSIgdHlw -ZT0idG5zOkxpc3RPZkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94 -czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJOZXR3b3JrR3JvdXBEYXRhVHlw -ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVXJp -IiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJOZXR3b3JrUGF0aHMiIHR5cGU9InRuczpMaXN0T2ZFbmRwb2lu -dFVybExpc3REYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJO -ZXR3b3JrR3JvdXBEYXRhVHlwZSIgdHlwZT0idG5zOk5ldHdvcmtHcm91cERhdGFUeXBlIiAvPg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZOZXR3b3JrR3JvdXBEYXRhVHlwZSI+DQog -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmV0d29ya0dyb3VwRGF0 -YVR5cGUiIHR5cGU9InRuczpOZXR3b3JrR3JvdXBEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhP -Y2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTmV0d29ya0dy -b3VwRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZOZXR3b3JrR3JvdXBEYXRhVHlwZSIgbmlsbGFi -bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2FtcGxp -bmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlNhbXBsaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUNvdW50 -IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iTWF4TW9uaXRvcmVkSXRlbUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzYWJsZWRNb25pdG9yZWRJ -dGVtQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94 -czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2Ft -cGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTYW1wbGluZ0ludGVy -dmFsRGlhZ25vc3RpY3NEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlz -dE9mU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5j -ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNhbXBsaW5nSW50ZXJ2YWxEaWFnbm9zdGljc0Rh -dGFUeXBlIiB0eXBlPSJ0bnM6U2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiIG1p -bk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -Ikxpc3RPZlNhbXBsaW5nSW50ZXJ2YWxEaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6TGlz -dE9mU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48 -L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlcnZlckRpYWdub3N0aWNz -U3VtbWFyeURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJTZXJ2ZXJWaWV3Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50U2Vzc2lvbkNvdW50IiB0eXBlPSJ4 -czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -Q3VtdWxhdGVkU2Vzc2lvbkNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlSZWplY3RlZFNlc3Npb25Db3Vu -dCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlJlamVjdGVkU2Vzc2lvbkNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvblRpbWVvdXRDb3Vu -dCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlNlc3Npb25BYm9ydENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudFN1YnNjcmlwdGlvbkNv -dW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iQ3VtdWxhdGVkU3Vic2NyaXB0aW9uQ291bnQiIHR5cGU9InhzOnVuc2lnbmVk -SW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoaW5n -SW50ZXJ2YWxDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5UmVqZWN0ZWRSZXF1ZXN0c0NvdW50IiB0eXBl -PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iUmVqZWN0ZWRSZXF1ZXN0c0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz -PSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9IlNlcnZlckRpYWdub3N0aWNzU3VtbWFyeURhdGFUeXBlIiB0eXBlPSJ0bnM6 -U2VydmVyRGlhZ25vc3RpY3NTdW1tYXJ5RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9IlNlcnZlclN0YXR1c0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJTdGFydFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50VGltZSIgdHlwZT0ieHM6ZGF0 -ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXRlIiB0 -eXBlPSJ0bnM6U2VydmVyU3RhdGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IkJ1aWxkSW5mbyIgdHlwZT0idG5zOkJ1aWxkSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY29uZHNUaWxsU2h1dGRv -d24iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJTaHV0ZG93blJlYXNvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJTdGF0dXNEYXRhVHlwZSIgdHlw -ZT0idG5zOlNlcnZlclN0YXR1c0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJTZXNzaW9uRGlhZ25vc3RpY3NEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbklkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uTmFt -ZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50RGVzY3JpcHRpb24iIHR5cGU9InRuczpBcHBsaWNh -dGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVy -bCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJB -Y3R1YWxTZXNzaW9uVGltZW91dCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhSZXNwb25zZU1lc3NhZ2VTaXplIiB0eXBlPSJ4czp1 -bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xp -ZW50Q29ubmVjdGlvblRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRMYXN0Q29udGFjdFRpbWUiIHR5cGU9InhzOmRh -dGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50 -U3Vic2NyaXB0aW9uc0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudE1vbml0b3JlZEl0ZW1zQ291bnQiIHR5 -cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJDdXJyZW50UHVibGlzaFJlcXVlc3RzSW5RdWV1ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRvdGFsUmVxdWVzdENv -dW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVuYXV0aG9yaXplZFJlcXVl -c3RDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlJlYWRDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5 -cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJIaXN0b3J5UmVhZENvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IldyaXRlQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVVw -ZGF0ZUNvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNhbGxDb3VudCIg -dHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVNb25pdG9yZWRJdGVtc0Nv -dW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmeU1vbml0b3JlZEl0 -ZW1zQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0TW9uaXRvcmlu -Z01vZGVDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRUcmlnZ2Vy -aW5nQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlTW9uaXRv -cmVkSXRlbXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVT -dWJzY3JpcHRpb25Db3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb2Rp -ZnlTdWJzY3JpcHRpb25Db3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJT -ZXRQdWJsaXNoaW5nTW9kZUNvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlB1Ymxpc2hDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXB1Ymxp -c2hDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2ZlclN1YnNj -cmlwdGlvbnNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVT -dWJzY3JpcHRpb25zQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWRk -Tm9kZXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRSZWZlcmVu -Y2VzQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlTm9kZXND -b3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVSZWZlcmVuY2Vz -Q291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlQ291bnQiIHR5 -cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlTmV4dENvdW50IiB0eXBlPSJ0 -bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRz -Q291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlGaXJzdENvdW50 -IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5TmV4dENvdW50IiB0eXBl -PSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyTm9kZXNDb3VudCIgdHlwZT0i -dG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbnJlZ2lzdGVyTm9kZXNDb3VudCIgdHlwZT0i -dG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTZXNzaW9uRGlh -Z25vc3RpY3NEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU2Vz -c2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlNlc3Npb25EaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U2Vzc2lv -bkRpYWdub3N0aWNzRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlNlc3Npb25EaWFnbm9zdGljc0RhdGFUeXBl -IiB0eXBlPSJ0bnM6TGlzdE9mU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIG5pbGxhYmxlPSJ0 -cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlc3Npb25TZWN1 -cml0eURpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlNlc3Npb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50VXNlcklkT2ZT -ZXNzaW9uIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRVc2VySWRIaXN0b3J5IiB0eXBlPSJ1YTpM -aXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJBdXRoZW50aWNhdGlvbk1lY2hhbmlzbSIgdHlwZT0ieHM6c3RyaW5nIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -RW5jb2RpbmciIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zcG9ydFByb3RvY29sIiB0eXBlPSJ4czpz -dHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVBvbGljeVVyaSIg -dHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50Q2VydGlmaWNhdGUiIHR5cGU9InhzOmJhc2U2NEJpbmFy -eSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uU2VjdXJpdHlE -aWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U2Vzc2lvblNlY3VyaXR5RGlhZ25vc3RpY3NE -YXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU2Vzc2lvblNlY3Vy -aXR5RGlhZ25vc3RpY3NEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iU2Vzc2lvblNlY3VyaXR5RGlhZ25vc3RpY3NEYXRhVHlwZSIgdHlwZT0idG5z -OlNlc3Npb25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2Nj -dXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog -IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlNlc3Npb25TZWN1 -cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZTZXNzaW9uU2VjdXJpdHlE -aWFnbm9zdGljc0RhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJTZXJ2aWNlQ291bnRlckRhdGFUeXBlIj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUb3RhbENvdW50IiB0eXBlPSJ4czp1bnNp -Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXJyb3JD -b3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2aWNl -Q291bnRlckRhdGFUeXBlIiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCg0K -ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU3RhdHVzUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2Rl -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5m -byIgdHlwZT0idWE6RGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iU3RhdHVzUmVzdWx0IiB0eXBlPSJ0bnM6U3RhdHVzUmVzdWx0IiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTdGF0dXNSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5j -ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c1Jlc3VsdCIgdHlwZT0idG5zOlN0YXR1 -c1Jlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iTGlzdE9mU3RhdHVzUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mU3RhdHVzUmVz -dWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJTdWJzY3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uSWQiIHR5cGU9InVhOk5vZGVJZCIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1 -YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJpb3JpdHkiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGluZ0ludGVydmFs -IiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9Ik1heEtlZXBBbGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4TGlmZXRpbWVDb3VudCIgdHlwZT0ieHM6 -dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1h -eE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGluZ0VuYWJsZWQiIHR5cGU9 -InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1v -ZGlmeUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iRW5hYmxlQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNhYmxlQ291bnQiIHR5cGU9 -InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJSZXB1Ymxpc2hSZXF1ZXN0Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXB1Ymxpc2hNZXNzYWdlUmVxdWVzdENv -dW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVwdWJsaXNoTWVzc2FnZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNmZXJSZXF1ZXN0 -Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJUcmFuc2ZlcnJlZFRvQWx0Q2xpZW50Q291bnQiIHR5cGU9InhzOnVuc2ln -bmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2Zl -cnJlZFRvU2FtZUNsaWVudENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaFJlcXVlc3RDb3VudCIgdHlwZT0i -eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkRhdGFDaGFuZ2VOb3RpZmljYXRpb25zQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudE5vdGlmaWNhdGlvbnND -b3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9Ik5vdGlmaWNhdGlvbnNDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1p -bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkxhdGVQdWJsaXNoUmVxdWVz -dENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iQ3VycmVudEtlZXBBbGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZElu -dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudExpZmV0 -aW1lQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJVbmFja25vd2xlZGdlZE1lc3NhZ2VDb3VudCIgdHlwZT0ieHM6dW5z -aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2Nh -cmRlZE1lc3NhZ2VDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1Db3VudCIgdHlwZT0ieHM6dW5z -aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2Fi -bGVkTW9uaXRvcmVkSXRlbUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ1F1ZXVlT3ZlcmZsb3dDb3Vu -dCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9Ik5leHRTZXF1ZW5jZU51bWJlciIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50UXVldWVPdmVyRmxvd0Nv -dW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlw -dGlvbkRpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTdWJzY3JpcHRpb25EaWFnbm9zdGlj -c0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTdWJzY3JpcHRp -b25EaWFnbm9zdGljc0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJTdWJzY3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U3Vi -c2NyaXB0aW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu -Ym91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU3Vic2NyaXB0aW9uRGlhZ25v -c3RpY3NEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlN1YnNjcmlwdGlvbkRpYWdub3N0aWNzRGF0 -YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUg -IG5hbWU9Ik1vZGVsQ2hhbmdlU3RydWN0dXJlVmVyYk1hc2siPg0KICAgIDx4czpyZXN0cmljdGlv -biBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb2RlQWRk -ZWRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9kZURlbGV0ZWRfMiIgLz4N -CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVmZXJlbmNlQWRkZWRfNCIgLz4NCiAgICAg -IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVmZXJlbmNlRGVsZXRlZF84IiAvPg0KICAgICAgPHhz -OmVudW1lcmF0aW9uIHZhbHVlPSJEYXRhVHlwZUNoYW5nZWRfMTYiIC8+DQogICAgPC94czpyZXN0 -cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RlbENo -YW5nZVN0cnVjdHVyZVZlcmJNYXNrIiB0eXBlPSJ0bnM6TW9kZWxDaGFuZ2VTdHJ1Y3R1cmVWZXJi -TWFzayIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVE -YXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWZm -ZWN0ZWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFmZmVjdGVkVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -VmVyYiIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpz -ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kZWxD -aGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgdHlwZT0idG5zOk1vZGVsQ2hhbmdlU3RydWN0dXJlRGF0 -YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk1vZGVsQ2hhbmdlU3Ry -dWN0dXJlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9Ik1vZGVsQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIHR5cGU9InRuczpNb2RlbENoYW5nZVN0 -cnVjdHVyZURhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZNb2RlbENoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiB0 -eXBlPSJ0bnM6TGlzdE9mTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgbmlsbGFibGU9InRy -dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2VtYW50aWNDaGFu -Z2VTdHJ1Y3R1cmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iQWZmZWN0ZWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFmZmVjdGVkVHlwZSIgdHlwZT0i -dWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNlbWFudGlj -Q2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIHR5cGU9InRuczpTZW1hbnRpY0NoYW5nZVN0cnVjdHVy -ZURhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTZW1hbnRpY0No -YW5nZVN0cnVjdHVyZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJTZW1hbnRpY0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiB0eXBlPSJ0bnM6U2Vt -YW50aWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu -Ym91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU2VtYW50aWNDaGFuZ2VTdHJ1 -Y3R1cmVEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlNlbWFudGljQ2hhbmdlU3RydWN0dXJlRGF0 -YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9IlJhbmdlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJMb3ciIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iSGlnaCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94 -czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmFu -Z2UiIHR5cGU9InRuczpSYW5nZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRVVJbmZv -cm1hdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFt -ZXNwYWNlVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbml0SWQiIHR5cGU9InhzOmludCIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzcGxheU5hbWUiIHR5cGU9InVh -OkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFVUluZm9ybWF0aW9uIiB0eXBlPSJ0 -bnM6RVVJbmZvcm1hdGlvbiIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iQXhpc1NjYWxl -RW51bWVyYXRpb24iPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAg -ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJMaW5lYXJfMCIgLz4NCiAgICAgIDx4czplbnVtZXJh -dGlvbiB2YWx1ZT0iTG9nXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkxuXzIi -IC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJBeGlzU2NhbGVFbnVtZXJhdGlvbiIgdHlwZT0idG5zOkF4aXNTY2FsZUVudW1l -cmF0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDb21wbGV4TnVtYmVyVHlwZSI+ -DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhbCIgdHlwZT0i -eHM6ZmxvYXQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkltYWdp -bmFyeSIgdHlwZT0ieHM6ZmxvYXQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNl -Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb21wbGV4TnVtYmVy -VHlwZSIgdHlwZT0idG5zOkNvbXBsZXhOdW1iZXJUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJEb3VibGVDb21wbGV4TnVtYmVyVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbWFnaW5hcnkiIHR5cGU9InhzOmRvdWJsZSIg -bWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9IkRvdWJsZUNvbXBsZXhOdW1iZXJUeXBlIiB0eXBlPSJ0bnM6 -RG91YmxlQ29tcGxleE51bWJlclR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkF4 -aXNJbmZvcm1hdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iRW5naW5lZXJpbmdVbml0cyIgdHlwZT0idG5zOkVVSW5mb3JtYXRpb24iIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFVVJhbmdlIiB0 -eXBlPSJ0bnM6UmFuZ2UiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJUaXRsZSIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkF4aXNTY2Fs -ZVR5cGUiIHR5cGU9InRuczpBeGlzU2NhbGVFbnVtZXJhdGlvbiIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXhpc1N0ZXBzIiB0eXBlPSJ1YTpMaXN0T2ZEb3VibGUi -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg -PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXhpc0luZm9ybWF0aW9uIiB0 -eXBlPSJ0bnM6QXhpc0luZm9ybWF0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJY -VlR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlgiIHR5 -cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -VmFsdWUiIHR5cGU9InhzOmZsb2F0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iWFZUeXBlIiB0eXBl -PSJ0bnM6WFZUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJQcm9ncmFtRGlhZ25v -c3RpY0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJDcmVhdGVTZXNzaW9uSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZUNsaWVudE5hbWUiIHR5 -cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9Ikludm9jYXRpb25DcmVhdGlvblRpbWUiIHR5cGU9InhzOmRhdGVUaW1l -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0VHJhbnNpdGlv -blRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJMYXN0TWV0aG9kQ2FsbCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1ldGhvZFNl -c3Npb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1ldGhvZElucHV0QXJndW1lbnRzIiB0eXBl -PSJ0bnM6TGlzdE9mQXJndW1lbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kT3V0cHV0QXJndW1lbnRzIiB0eXBlPSJ0 -bnM6TGlzdE9mQXJndW1lbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kQ2FsbFRpbWUiIHR5cGU9InhzOmRhdGVUaW1l -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kUmV0 -dXJuU3RhdHVzIiB0eXBlPSJ0bnM6U3RhdHVzUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9IlByb2dyYW1EaWFnbm9zdGljRGF0YVR5cGUiIHR5cGU9InRuczpQcm9n -cmFtRGlhZ25vc3RpY0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBbm5v -dGF0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXNz -YWdlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQW5ub3Rh -dGlvblRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpz -ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQW5ub3Rh -dGlvbiIgdHlwZT0idG5zOkFubm90YXRpb24iIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9 -IkV4Y2VwdGlvbkRldmlhdGlvbkZvcm1hdCI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9Inhz -OnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFic29sdXRlVmFsdWVfMCIg -Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mVmFsdWVfMSIgLz4NCiAg -ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mUmFuZ2VfMiIgLz4NCiAgICAgIDx4 -czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mRVVSYW5nZV8zIiAvPg0KICAgICAgPHhzOmVu -dW1lcmF0aW9uIHZhbHVlPSJVbmtub3duXzQiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAg -PC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFeGNlcHRpb25EZXZpYXRpb25G -b3JtYXQiIHR5cGU9InRuczpFeGNlcHRpb25EZXZpYXRpb25Gb3JtYXQiIC8+DQoNCjwveHM6c2No -ZW1hPg== - - - - NamespaceUri - A URI that uniquely identifies the dictionary. - - i=68 - i=8252 - - - http://opcfoundation.org/UA/2008/02/Types.xsd - - - - TrustListDataType - - i=69 - i=8252 - - - //xs:element[@name='TrustListDataType'] - - - - Argument - - i=69 - i=8252 - - - //xs:element[@name='Argument'] - - - - EnumValueType - - i=69 - i=8252 - - - //xs:element[@name='EnumValueType'] - - - - OptionSet - - i=69 - i=8252 - - - //xs:element[@name='OptionSet'] - - - - Union - - i=69 - i=8252 - - - //xs:element[@name='Union'] - - - - 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'] - - - - KerberosIdentityToken - - i=69 - i=8252 - - - //xs:element[@name='KerberosIdentityToken'] - - - - 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'] - - - - SupportedProfile - - i=69 - i=8252 - - - //xs:element[@name='SupportedProfile'] - - - - SoftwareCertificate - - i=69 - i=8252 - - - //xs:element[@name='SoftwareCertificate'] - - - - 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'] - - - - Annotation - - i=69 - i=8252 - - - //xs:element[@name='Annotation'] - - - - Default Binary - - i=12554 - i=12681 - i=76 - - - - Default Binary - - i=296 - i=7650 - i=76 - - - - Default Binary - - i=7594 - i=7656 - i=76 - - - - Default Binary - - i=12755 - i=12767 - i=76 - - - - Default Binary - - i=12756 - i=12770 - i=76 - - - - Default Binary - - i=8912 - i=8914 - i=76 - - - - Default Binary - - i=308 - i=7665 - i=76 - - - - Default Binary - - i=12189 - i=12213 - i=76 - - - - Default Binary - - i=304 - i=7662 - i=76 - - - - Default Binary - - i=312 - i=7668 - i=76 - - - - Default Binary - - i=432 - i=7782 - i=76 - - - - Default Binary - - i=12890 - i=12902 - i=76 - - - - Default Binary - - i=12891 - i=12905 - i=76 - - - - Default Binary - - i=344 - i=7698 - 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=12504 - i=12510 - i=76 - - - - Default Binary - - i=938 - i=7683 - i=76 - - - - Default Binary - - i=376 - i=7728 - i=76 - - - - Default Binary - - i=379 - i=7731 - i=76 - - - - Default Binary - - i=382 - i=7734 - i=76 - - - - Default Binary - - i=385 - i=7737 - i=76 - - - - Default Binary - - i=537 - i=12718 - i=76 - - - - Default Binary - - i=540 - i=12721 - i=76 - - - - Default Binary - - i=331 - i=7686 - i=76 - - - - Default Binary - - i=335 - i=7689 - i=76 - - - - Default Binary - - i=341 - i=7695 - 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=659 - i=8004 - i=76 - - - - Default Binary - - i=719 - i=8067 - i=76 - - - - Default Binary - - i=725 - i=8073 - i=76 - - - - Default Binary - - i=948 - i=8076 - i=76 - - - - Default Binary - - i=920 - i=8172 - 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=891 - i=8244 - i=76 - - - - Opc.Ua - - i=7619 - i=12681 - i=7650 - i=7656 - i=12767 - i=12770 - 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=12510 - i=7683 - i=7728 - i=7731 - i=7734 - i=7737 - i=12718 - i=12721 - i=7686 - i=7689 - i=7695 - 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=8244 - i=93 - i=72 - - - PG9wYzpUeXBlRGljdGlvbmFyeQ0KICB4bWxuczpvcGM9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9y -Zy9CaW5hcnlTY2hlbWEvIg0KICB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1M -U2NoZW1hLWluc3RhbmNlIg0KICB4bWxuczp1YT0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VB -LyINCiAgeG1sbnM6dG5zPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvIg0KICBEZWZhdWx0 -Qnl0ZU9yZGVyPSJMaXR0bGVFbmRpYW4iDQogIFRhcmdldE5hbWVzcGFjZT0iaHR0cDovL29wY2Zv -dW5kYXRpb24ub3JnL1VBLyINCj4NCiAgPCEtLSBUaGlzIEZpbGUgd2FzIGdlbmVyYXRlZCBvbiAy -MDE1LTA4LTE4IGFuZCBzdXBwb3J0cyB0aGUgc3BlY2lmaWNhdGlvbnMgc3VwcG9ydGVkIGJ5IHZl -cnNpb24gMS4xLjMzNS4xIG9mIHRoZSBPUEMgVUEgZGVsaXZlcmFibGVzLiAtLT4NCg0KICA8b3Bj -OkltcG9ydCBOYW1lc3BhY2U9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9CaW5hcnlTY2hlbWEv -IiAvPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iWG1sRWxlbWVudCI+DQogICAgPG9w -YzpEb2N1bWVudGF0aW9uPkFuIFhNTCBlbGVtZW50IGVuY29kZWQgYXMgYSBVVEYtOCBzdHJpbmcu -PC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxlbmd0aCIgVHlwZU5h -bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0i -b3BjOkNoYXIiIExlbmd0aEZpZWxkPSJMZW5ndGgiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl -Pg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iTm9kZUlkVHlwZSIgTGVuZ3RoSW5CaXRz -PSI2Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHBvc3NpYmxlIGVuY29kaW5ncyBmb3Ig -YSBOb2RlSWQgdmFsdWUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJUd29CeXRlIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJGb3VyQnl0ZSIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iTnVtZXJpYyIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt -ZT0iU3RyaW5nIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJH -dWlkIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCeXRlU3Ry -aW5nIiBWYWx1ZT0iNSIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 -Y3R1cmVkVHlwZSBOYW1lPSJUd29CeXRlTm9kZUlkIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Iklk -ZW50aWZpZXIiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJGb3VyQnl0ZU5vZGVJZCI+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJOYW1lc3BhY2VJbmRleCIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iSWRlbnRpZmllciIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTnVt -ZXJpY05vZGVJZCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lc3BhY2VJbmRleCIgVHlwZU5h -bWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJZGVudGlmaWVyIiBUeXBl -TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT -dHJ1Y3R1cmVkVHlwZSBOYW1lPSJTdHJpbmdOb2RlSWQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -TmFtZXNwYWNlSW5kZXgiIFR5cGVOYW1lPSJvcGM6VUludDE2IiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iSWRlbnRpZmllciIgVHlwZU5hbWU9Im9wYzpDaGFyQXJyYXkiIC8+DQogIDwvb3BjOlN0 -cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iR3VpZE5vZGVJZCI+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lc3BhY2VJbmRleCIgVHlwZU5hbWU9Im9wYzpVSW50 -MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJZGVudGlmaWVyIiBUeXBlTmFtZT0ib3BjOkd1 -aWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg -TmFtZT0iQnl0ZVN0cmluZ05vZGVJZCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lc3BhY2VJ -bmRleCIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJZGVu -dGlmaWVyIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm9kZUlkIj4NCiAgICA8b3BjOkRv -Y3VtZW50YXRpb24+QW4gaWRlbnRpZmllciBmb3IgYSBub2RlIGluIGEgVUEgc2VydmVyIGFkZHJl -c3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJ -ZFR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWRUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UmVzZXJ2ZWQxIiBUeXBlTmFtZT0ib3BjOkJpdCIgTGVuZ3RoPSIyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iVHdvQnl0ZSIgVHlwZU5hbWU9InVhOlR3b0J5dGVOb2RlSWQiIFN3aXRjaEZpZWxk -PSJOb2RlSWRUeXBlIiBTd2l0Y2hWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZv -dXJCeXRlIiBUeXBlTmFtZT0idWE6Rm91ckJ5dGVOb2RlSWQiIFN3aXRjaEZpZWxkPSJOb2RlSWRU -eXBlIiBTd2l0Y2hWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik51bWVyaWMiIFR5 -cGVOYW1lPSJ1YTpOdW1lcmljTm9kZUlkIiBTd2l0Y2hGaWVsZD0iTm9kZUlkVHlwZSIgU3dpdGNo -VmFsdWU9IjIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdHJpbmciIFR5cGVOYW1lPSJ1YTpT -dHJpbmdOb2RlSWQiIFN3aXRjaEZpZWxkPSJOb2RlSWRUeXBlIiBTd2l0Y2hWYWx1ZT0iMyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ikd1aWQiIFR5cGVOYW1lPSJ1YTpHdWlkTm9kZUlkIiBTd2l0 -Y2hGaWVsZD0iTm9kZUlkVHlwZSIgU3dpdGNoVmFsdWU9IjQiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJCeXRlU3RyaW5nIiBUeXBlTmFtZT0idWE6Qnl0ZVN0cmluZ05vZGVJZCIgU3dpdGNoRmll -bGQ9Ik5vZGVJZFR5cGUiIFN3aXRjaFZhbHVlPSI1IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw -ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkV4cGFuZGVkTm9kZUlkIj4NCiAgICA8 -b3BjOkRvY3VtZW50YXRpb24+QW4gaWRlbnRpZmllciBmb3IgYSBub2RlIGluIGEgVUEgc2VydmVy -IGFkZHJlc3Mgc3BhY2UgcXVhbGlmaWVkIHdpdGggYSBjb21wbGV0ZSBuYW1lc3BhY2Ugc3RyaW5n -Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWRUeXBlIiBU -eXBlTmFtZT0idWE6Tm9kZUlkVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlcklu -ZGV4U3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -Ik5hbWVzcGFjZVVSSVNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJUd29CeXRlIiBUeXBlTmFtZT0idWE6VHdvQnl0ZU5vZGVJZCIgU3dpdGNoRmll -bGQ9Ik5vZGVJZFR5cGUiIFN3aXRjaFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Rm91ckJ5dGUiIFR5cGVOYW1lPSJ1YTpGb3VyQnl0ZU5vZGVJZCIgU3dpdGNoRmllbGQ9Ik5vZGVJ -ZFR5cGUiIFN3aXRjaFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTnVtZXJpYyIg -VHlwZU5hbWU9InVhOk51bWVyaWNOb2RlSWQiIFN3aXRjaEZpZWxkPSJOb2RlSWRUeXBlIiBTd2l0 -Y2hWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0cmluZyIgVHlwZU5hbWU9InVh -OlN0cmluZ05vZGVJZCIgU3dpdGNoRmllbGQ9Ik5vZGVJZFR5cGUiIFN3aXRjaFZhbHVlPSIzIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iR3VpZCIgVHlwZU5hbWU9InVhOkd1aWROb2RlSWQiIFN3 -aXRjaEZpZWxkPSJOb2RlSWRUeXBlIiBTd2l0Y2hWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkJ5dGVTdHJpbmciIFR5cGVOYW1lPSJ1YTpCeXRlU3RyaW5nTm9kZUlkIiBTd2l0Y2hG -aWVsZD0iTm9kZUlkVHlwZSIgU3dpdGNoVmFsdWU9IjUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJOYW1lc3BhY2VVUkkiIFR5cGVOYW1lPSJvcGM6Q2hhckFycmF5IiBTd2l0Y2hGaWVsZD0iTmFt -ZXNwYWNlVVJJU3BlY2lmaWVkIi8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJJbmRleCIg -VHlwZU5hbWU9Im9wYzpVSW50MzIiIFN3aXRjaEZpZWxkPSJTZXJ2ZXJJbmRleFNwZWNpZmllZCIv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iU3Rh -dHVzQ29kZSIgTGVuZ3RoSW5CaXRzPSIzMiIgQnl0ZU9yZGVyU2lnbmlmaWNhbnQ9InRydWUiPg0K -ICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIDMyLWJpdCBzdGF0dXMgY29kZSB2YWx1ZS48L29wYzpE -b2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iRGlhZ25vc3RpY0luZm8iPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHJlY3Vy -c2l2ZSBzdHJ1Y3R1cmUgY29udGFpbmluZyBkaWFnbm9zdGljIGluZm9ybWF0aW9uIGFzc29jaWF0 -ZWQgd2l0aCBhIHN0YXR1cyBjb2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJTeW1ib2xpY0lkU3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5hbWVzcGFjZVVSSVNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMb2NhbGVTcGVjaWZpZWQiIFR5cGVOYW1lPSJvcGM6 -Qml0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTG9jYWxpemVkVGV4dFNwZWNpZmllZCIgVHlw -ZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGRpdGlvbmFsSW5mb1Nw -ZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbm5l -clN0YXR1c0NvZGVTcGVjaWZpZWQiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iSW5uZXJEaWFnbm9zdGljSW5mb1NwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNlcnZlZDEiIFR5cGVOYW1lPSJvcGM6Qml0IiBM -ZW5ndGg9IjIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTeW1ib2xpY0lkIiBUeXBlTmFtZT0i -b3BjOkludDMyIiBTd2l0Y2hGaWVsZD0iU3ltYm9saWNJZFNwZWNpZmllZCIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5hbWVzcGFjZVVSSSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgU3dpdGNoRmll -bGQ9Ik5hbWVzcGFjZVVSSVNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2Fs -ZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgU3dpdGNoRmllbGQ9IkxvY2FsZVNwZWNpZmllZCIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsaXplZFRleHQiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IFN3aXRjaEZpZWxkPSJMb2NhbGl6ZWRUZXh0U3BlY2lmaWVkIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iQWRkaXRpb25hbEluZm8iIFR5cGVOYW1lPSJvcGM6Q2hhckFycmF5IiBTd2l0Y2hGaWVs -ZD0iQWRkaXRpb25hbEluZm9TcGVjaWZpZWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbm5l -clN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBTd2l0Y2hGaWVsZD0iSW5uZXJT -dGF0dXNDb2RlU3BlY2lmaWVkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5uZXJEaWFnbm9z -dGljSW5mbyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBTd2l0Y2hGaWVsZD0iSW5uZXJE -aWFnbm9zdGljSW5mb1NwZWNpZmllZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg -PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJRdWFsaWZpZWROYW1lIj4NCiAgICA8b3BjOkRvY3Vt -ZW50YXRpb24+QSBzdHJpbmcgcXVhbGlmaWVkIHdpdGggYSBuYW1lc3BhY2UgaW5kZXguPC9vcGM6 -RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWVzcGFjZUluZGV4IiBUeXBl -TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmFtZSIgVHlwZU5hbWU9 -Im9wYzpDaGFyQXJyYXkiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry -dWN0dXJlZFR5cGUgTmFtZT0iTG9jYWxpemVkVGV4dCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u -PkEgc3RyaW5nIHF1YWxpZmllZCB3aXRoIGEgbmFtZXNwYWNlIGluZGV4Ljwvb3BjOkRvY3VtZW50 -YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMb2NhbGVTcGVjaWZpZWQiIFR5cGVOYW1lPSJv -cGM6Qml0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGV4dFNwZWNpZmllZCIgVHlwZU5hbWU9 -Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNlcnZlZDEiIFR5cGVOYW1lPSJv -cGM6Qml0IiBMZW5ndGg9IjYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMb2NhbGUiIFR5cGVO -YW1lPSJvcGM6Q2hhckFycmF5IiBTd2l0Y2hGaWVsZD0iTG9jYWxlU3BlY2lmaWVkIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iVGV4dCIgVHlwZU5hbWU9Im9wYzpDaGFyQXJyYXkiIFN3aXRjaEZp -ZWxkPSJUZXh0U3BlY2lmaWVkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -OlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFWYWx1ZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u -PkEgdmFsdWUgd2l0aCBhbiBhc3NvY2lhdGVkIHRpbWVzdGFtcCwgYW5kIHF1YWxpdHkuPC9vcGM6 -RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlU3BlY2lmaWVkIiBUeXBl -TmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGVTcGVjaWZp -ZWQiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU291cmNlVGlt -ZXN0YW1wU3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlNvdXJjZVBpY29zZWNvbmRzU3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclRpbWVzdGFtcFNwZWNpZmllZCIgVHlwZU5hbWU9Im9w -YzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJQaWNvc2Vjb25kc1NwZWNpZmll -ZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNlcnZlZDEi -IFR5cGVOYW1lPSJvcGM6Qml0IiBMZW5ndGg9IjIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJW -YWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIFN3aXRjaEZpZWxkPSJWYWx1ZVNwZWNpZmllZCIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXND -b2RlIiBTd2l0Y2hGaWVsZD0iU3RhdHVzQ29kZVNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlNvdXJjZVRpbWVzdGFtcCIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgU3dpdGNoRmll -bGQ9IlNvdXJjZVRpbWVzdGFtcFNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNv -dXJjZVBpY29zZWNvbmRzIiBUeXBlTmFtZT0ib3BjOlVJbnQxNiIgU3dpdGNoRmllbGQ9IlNvdXJj -ZVBpY29zZWNvbmRzU3BlY2lmaWVkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyVGlt -ZXN0YW1wIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiBTd2l0Y2hGaWVsZD0iU2VydmVyVGltZXN0 -YW1wU3BlY2lmaWVkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyUGljb3NlY29uZHMi -IFR5cGVOYW1lPSJvcGM6VUludDE2IiBTd2l0Y2hGaWVsZD0iU2VydmVyUGljb3NlY29uZHNTcGVj -aWZpZWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iRXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBzZXJp -YWxpemVkIG9iamVjdCBwcmVmaXhlZCB3aXRoIGl0cyBkYXRhIHR5cGUgaWRlbnRpZmllci48L29w -YzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHlwZUlkU3BlY2lmaWVkIiBU -eXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJpbmFyeUJvZHkiIFR5 -cGVOYW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iWG1sQm9keSIgVHlwZU5h -bWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNlcnZlZDEiIFR5cGVOYW1l -PSJvcGM6Qml0IiBMZW5ndGg9IjUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUeXBlSWQiIFR5 -cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgU3dpdGNoRmllbGQ9IlR5cGVJZFNwZWNpZmllZCIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJvZHlMZW5ndGgiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCb2R5IiBUeXBlTmFtZT0ib3BjOkJ5dGUiIExlbmd0 -aEZpZWxkPSJCb2R5TGVuZ3RoIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -OlN0cnVjdHVyZWRUeXBlIE5hbWU9IlZhcmlhbnQiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5B -IHVuaW9uIG9mIHNldmVyYWwgdHlwZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlZhcmlhbnRUeXBlIiBUeXBlTmFtZT0ib3BjOkJpdCIgTGVuZ3RoPSI2IiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iQXJyYXlEaW1lbnNpb25zU3BlY2lmaWVkIiBUeXBlTmFtZT0i -b3BjOkJpdCIgTGVuZ3RoPSIxIi8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBcnJheUxlbmd0aFNw -ZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIExlbmd0aD0iMSIvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iQXJyYXlMZW5ndGgiIFR5cGVOYW1lPSJvcGM6SW50MzIiIFN3aXRjaEZpZWxkPSJBcnJh -eUxlbmd0aFNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJvb2xlYW4iIFR5cGVO -YW1lPSJvcGM6Qm9vbGVhbiIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0i -VmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU0J5 -dGUiIFR5cGVOYW1lPSJvcGM6U0J5dGUiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNo -RmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkJ5dGUiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBT -d2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iSW50MTYiIFR5cGVOYW1lPSJvcGM6SW50MTYiIExlbmd0aEZpZWxkPSJBcnJheUxl -bmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iNCIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlVJbnQxNiIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIExlbmd0aEZpZWxk -PSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iNSIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkludDMyIiBUeXBlTmFtZT0ib3BjOkludDMyIiBMZW5n -dGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFs -dWU9IjYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVSW50MzIiIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIg -U3dpdGNoVmFsdWU9IjciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbnQ2NCIgVHlwZU5hbWU9 -Im9wYzpJbnQ2NCIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFu -dFR5cGUiIFN3aXRjaFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVUludDY0IiBU -eXBlTmFtZT0ib3BjOlVJbnQ2NCIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVs -ZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSI5IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -RmxvYXQiIFR5cGVOYW1lPSJvcGM6RmxvYXQiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dp -dGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMTAiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJEb3VibGUiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiBMZW5ndGhGaWVsZD0iQXJyYXlM -ZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjExIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iU3RyaW5nIiBUeXBlTmFtZT0ib3BjOkNoYXJBcnJheSIgTGVuZ3Ro -RmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVl -PSIxMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGVUaW1lIiBUeXBlTmFtZT0ib3BjOkRh -dGVUaW1lIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlw -ZSIgU3dpdGNoVmFsdWU9IjEzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iR3VpZCIgVHlwZU5h -bWU9Im9wYzpHdWlkIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJp -YW50VHlwZSIgU3dpdGNoVmFsdWU9IjE0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnl0ZVN0 -cmluZyIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgi -IFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjE1IiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iWG1sRWxlbWVudCIgVHlwZU5hbWU9InVhOlhtbEVsZW1lbnQiIExlbmd0aEZp -ZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0i -MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQi -IExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0 -Y2hWYWx1ZT0iMTciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFeHBhbmRlZE5vZGVJZCIgVHlw -ZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRj -aEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjE4IiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJB -cnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMTkiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJRdWFsaWZpZWROYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlm -aWVkTmFtZSIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5 -cGUiIFN3aXRjaFZhbHVlPSIyMCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsaXplZFRl -eHQiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgi -IFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjIxIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iRXh0ZW5zaW9uT2JqZWN0IiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0 -IiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dp -dGNoVmFsdWU9IjIyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVZhbHVlIiBUeXBlTmFt -ZT0idWE6RGF0YVZhbHVlIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJW -YXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjIzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFy -aWFudCIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dp -dGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMjQiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJEaWFnbm9zdGljSW5mbyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5n -dGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFs -dWU9IjI1IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkFycmF5RGltZW5zaW9ucyIgVHlw -ZU5hbWU9Im9wYzpJbnQzMiIgU3dpdGNoRmllbGQ9IkFycmF5RGltZW5zaW9uc1NwZWNpZmllZCIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpJ -bnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIFN3aXRjaEZpZWxkPSJBcnJh -eURpbWVuc2lvbnNTcGVjaWZpZWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv -cGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iTmFtaW5nUnVsZVR5cGUiIExlbmd0aEluQml0cz0iMzIi -Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik1hbmRhdG9yeSIgVmFsdWU9IjEiIC8+ -DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iT3B0aW9uYWwiIFZhbHVlPSIyIiAvPg0K -ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkNvbnN0cmFpbnQiIFZhbHVlPSIzIiAvPg0K -ICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCiAgICANCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0i -SW1hZ2VCTVAiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBpbWFnZSBlbmNvZGVkIGluIEJN -UCBmb3JtYXQuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8 -b3BjOk9wYXF1ZVR5cGUgTmFtZT0iSW1hZ2VHSUYiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5B -biBpbWFnZSBlbmNvZGVkIGluIEdJRiBmb3JtYXQuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9v -cGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iSW1hZ2VKUEciPg0KICAg -IDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBpbWFnZSBlbmNvZGVkIGluIEpQRUcgZm9ybWF0Ljwvb3Bj -OkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBl -IE5hbWU9IkltYWdlUE5HIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QW4gaW1hZ2UgZW5jb2Rl -ZCBpbiBQTkcgZm9ybWF0Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+ -DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkJpdEZpZWxkTWFza0RhdGFUeXBlIj4NCiAgICA8 -b3BjOkRvY3VtZW50YXRpb24+QSBtYXNrIG9mIDMyIGJpdHMgdGhhdCBjYW4gYmUgdXBkYXRlZCBp -bmRpdmlkdWFsbHkgYnkgdXNpbmcgdGhlIHRvcCAzMiBiaXRzIGFzIGEgbWFzay48L29wYzpEb2N1 -bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUg -TmFtZT0iT3BlbkZpbGVNb2RlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0 -ZWRWYWx1ZSBOYW1lPSJSZWFkIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJXcml0ZSIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt -ZT0iRXJhc2VFeGlzdGluZyIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iQXBwZW5kIiBWYWx1ZT0iOCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAg -PG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJUcnVzdExpc3RNYXNrcyIgTGVuZ3RoSW5CaXRzPSIz -MiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQog -ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVHJ1c3RlZENlcnRpZmljYXRlcyIgVmFsdWU9 -IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVHJ1c3RlZENybHMiIFZhbHVl -PSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Iklzc3VlckNlcnRpZmljYXRl -cyIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNzdWVyQ3Js -cyIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQWxsIiBWYWx1 -ZT0iMTUiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iVHJ1c3RMaXN0RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3BlY2lmaWVkTGlzdHMiIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlRydXN0ZWRDZXJ0aWZpY2F0ZXMiIFR5 -cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcnVzdGVkQ2VydGlm -aWNhdGVzIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mVHJ1c3Rl -ZENlcnRpZmljYXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZUcnVzdGVkQ3JscyIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRydXN0ZWRDcmxz -IiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mVHJ1c3RlZENybHMi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mSXNzdWVyQ2VydGlmaWNhdGVzIiBUeXBlTmFt -ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNzdWVyQ2VydGlmaWNhdGVz -IiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mSXNzdWVyQ2VydGlm -aWNhdGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZklzc3VlckNybHMiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc3N1ZXJDcmxzIiBUeXBlTmFt -ZT0ib3BjOkJ5dGVTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mSXNzdWVyQ3JscyIgLz4NCiAgPC9v -cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJJZFR5cGUi -IExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgdHlwZSBvZiBp -ZGVudGlmaWVyIHVzZWQgaW4gYSBub2RlIGlkLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9w -YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTnVtZXJpYyIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpF -bnVtZXJhdGVkVmFsdWUgTmFtZT0iU3RyaW5nIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1l -cmF0ZWRWYWx1ZSBOYW1lPSJHdWlkIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJPcGFxdWUiIFZhbHVlPSIzIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4N -Cg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9Ik5vZGVDbGFzcyIgTGVuZ3RoSW5CaXRzPSIz -MiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgbWFzayBzcGVjaWZ5aW5nIHRoZSBjbGFzcyBv -ZiB0aGUgbm9kZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9IlVuc3BlY2lmaWVkIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJPYmplY3QiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9IlZhcmlhYmxlIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l -PSJNZXRob2QiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik9i -amVjdFR5cGUiIFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZh -cmlhYmxlVHlwZSIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 -IlJlZmVyZW5jZVR5cGUiIFZhbHVlPSIzMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO -YW1lPSJEYXRhVHlwZSIgVmFsdWU9IjY0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9IlZpZXciIFZhbHVlPSIxMjgiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxv -cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm9kZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj -dCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0cmlidXRlcyB3aGlj -aCBiZWxvbmcgdG8gYWxsIG5vZGVzLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNzIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2Fs -aXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJv -cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5h -bWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlcyIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXMi -IFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlTm9kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2Vz -IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9Ikluc3RhbmNlTm9kZSIgQmFzZVR5cGU9InRuczpOb2RlIj4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNz -IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5h -bWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVk -VGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNj -cmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2Rl -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQz -MiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3Jp -dGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJ0bnM6UmVmZXJl -bmNlTm9kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2VzIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlR5cGVOb2RlIiBCYXNlVHlw -ZT0idG5zOk5vZGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6 -Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v -ZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmll -ZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlz -cGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9k -ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9j -YWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZS -ZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9P -ZlJlZmVyZW5jZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 -dXJlZFR5cGUgTmFtZT0iT2JqZWN0Tm9kZSIgQmFzZVR5cGU9InRuczpJbnN0YW5jZU5vZGUiPg0K -ICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVs -b25nIHRvIG9iamVjdCBub2Rlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xh -c3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3Nl -TmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6 -ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRl -c2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5v -ZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJX -cml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZl -cmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJFdmVudE5vdGlmaWVyIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0 -cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iT2JqZWN0VHlwZU5v -ZGUiIEJhc2VUeXBlPSJ0bnM6VHlwZU5vZGUiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5TcGVj -aWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIG9iamVjdCB0eXBlIG5vZGVzLjwv -b3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1l -PSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgU291cmNlVHlwZT0idG5zOk5v -ZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVh -bGlmaWVkTmFtZSIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRu -czpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1 -YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpO -b2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9w -YzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Tm9PZlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJSZWZlcmVuY2VzIiBUeXBlTmFtZT0idG5zOlJlZmVyZW5jZU5vZGUiIExlbmd0aEZpZWxk -PSJOb09mUmVmZXJlbmNlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5 -cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w -YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJWYXJpYWJsZU5vZGUiIEJhc2VUeXBlPSJ0bnM6SW5zdGFu -Y2VOb2RlIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+U3BlY2lmaWVzIHRoZSBhdHRyaWJ1dGVz -IHdoaWNoIGJlbG9uZyB0byB2YXJpYWJsZSBub2Rlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBl -PSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9 -InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9 -InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1l -PSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNl -VHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVO -YW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0 -bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFt -ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5h -bWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlZhbHVlUmFuayIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6 -VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkFycmF5RGltZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkFjY2Vzc0xldmVsIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJVc2VyQWNjZXNzTGV2ZWwiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik1pbmltdW1TYW1wbGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRv -dWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikhpc3Rvcml6aW5nIiBUeXBlTmFtZT0ib3Bj -OkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl -ZFR5cGUgTmFtZT0iVmFyaWFibGVUeXBlTm9kZSIgQmFzZVR5cGU9InRuczpUeXBlTm9kZSI+DQog -ICAgPG9wYzpEb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBiZWxv -bmcgdG8gdmFyaWFibGUgdHlwZSBub2Rlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6 -Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpO -b2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -QnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpO -b2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpM -b2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0i -dG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJv -cGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9k -ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3Bj -OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRu -czpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJEYXRhVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlZhbHVlUmFuayIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6VUludDMy -IiBMZW5ndGhGaWVsZD0iTm9PZkFycmF5RGltZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IklzQWJzdHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0 -dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWZlcmVuY2VUeXBlTm9k -ZSIgQmFzZVR5cGU9InRuczpUeXBlTm9kZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlNwZWNp -ZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gcmVmZXJlbmNlIHR5cGUgbm9kZXMu -PC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5h -bWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNzIiBTb3VyY2VUeXBlPSJ0bnM6 -Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpR -dWFsaWZpZWROYW1lIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0i -dG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9 -InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5z -Ok5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0i -b3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJOb09mUmVmZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlTm9kZSIgTGVuZ3RoRmll -bGQ9Ik5vT2ZSZWZlcmVuY2VzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNBYnN0cmFjdCIg -VHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3ltbWV0cmlj -IiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbnZlcnNl -TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTWV0aG9kTm9kZSIgQmFzZVR5cGU9 -InRuczpJbnN0YW5jZU5vZGUiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhl -IGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIG1ldGhvZCBub2Rlcy48L29wYzpEb2N1bWVudGF0 -aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBT -b3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIg -VHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNv -dXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUi -IFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4 -dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1h -c2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3Vy -Y2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2Vz -IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNl -cyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5j -ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFeGVjdXRhYmxlIiBUeXBlTmFtZT0ib3BjOkJv -b2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyRXhlY3V0YWJsZSIgVHlwZU5hbWU9 -Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj -dHVyZWRUeXBlIE5hbWU9IlZpZXdOb2RlIiBCYXNlVHlwZT0idG5zOkluc3RhbmNlTm9kZSI+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5 -cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFt -ZT0idG5zOk5vZGVDbGFzcyIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgU291cmNlVHlw -ZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5h -bWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3Vy -Y2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlw -ZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9 -InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVO -YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBl -TmFtZT0idG5zOlJlZmVyZW5jZU5vZGUiIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlcyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbnRhaW5zTm9Mb29wcyIgVHlwZU5hbWU9Im9wYzpCb29s -ZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnROb3RpZmllciIgVHlwZU5hbWU9Im9w -YzpCeXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU -eXBlIE5hbWU9IkRhdGFUeXBlTm9kZSIgQmFzZVR5cGU9InRuczpUeXBlTm9kZSI+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRu -czpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5z -Ok5vZGVDbGFzcyIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgU291cmNlVHlwZT0idG5z -Ok5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVh -OkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBl -PSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9 -Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpO -b2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJv -cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBlTmFtZT0i -dG5zOlJlZmVyZW5jZU5vZGUiIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlcyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAg -PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWZl -cmVuY2VOb2RlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3Vt -ZW50YXRpb24+U3BlY2lmaWVzIGEgcmVmZXJlbmNlIHdoaWNoIGJlbG9uZ3MgdG8gYSBub2RlLjwv -b3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBlSWQi -IFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0ludmVyc2Ui -IFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldElk -IiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl -Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQXJndW1lbnQiIEJhc2VUeXBlPSJ1YTpF -eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBhcmd1bWVudCBmb3Ig -YSBtZXRob2QuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUi -IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5cGUi -IFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZVJhbmsi -IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXJyYXlE -aW1lbnNpb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -QXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZB -cnJheURpbWVuc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlw -ZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog -IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRW51bVZhbHVlVHlwZSIgQmFzZVR5cGU9InVhOkV4 -dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgbWFwcGluZyBiZXR3ZWVu -IGEgdmFsdWUgb2YgYW4gZW51bWVyYXRlZCB0eXBlIGFuZCBhIG5hbWUgYW5kIGRlc2NyaXB0aW9u -Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5h -bWU9Im9wYzpJbnQ2NCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBl -TmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0 -aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJPcHRpb25TZXQiIEJhc2VUeXBlPSJ1 -YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGlzIGFic3RyYWN0 -IFN0cnVjdHVyZWQgRGF0YVR5cGUgaXMgdGhlIGJhc2UgRGF0YVR5cGUgZm9yIGFsbCBEYXRhVHlw -ZXMgcmVwcmVzZW50aW5nIGEgYml0IG1hc2suPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJWYWxpZEJpdHMiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAg -PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVbmlv -biIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u -PlRoaXMgYWJzdHJhY3QgRGF0YVR5cGUgaXMgdGhlIGJhc2UgRGF0YVR5cGUgZm9yIGFsbCB1bmlv -biBEYXRhVHlwZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ -DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9Ik5vcm1hbGl6ZWRTdHJpbmciPg0KICAgIDxvcGM6 -RG9jdW1lbnRhdGlvbj5BIHN0cmluZyBub3JtYWxpemVkIGJhc2VkIG9uIHRoZSBydWxlcyBpbiB0 -aGUgdW5pY29kZSBzcGVjaWZpY2F0aW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9w -YXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkRlY2ltYWxTdHJpbmciPg0KICAg -IDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBhcmJpdHJhdHkgbnVtZXJpYyB2YWx1ZS48L29wYzpEb2N1 -bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1l -PSJEdXJhdGlvblN0cmluZyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgcGVyaW9kIG9mIHRp -bWUgZm9ybWF0dGVkIGFzIGRlZmluZWQgaW4gSVNPIDg2MDEtMjAwMC48L29wYzpEb2N1bWVudGF0 -aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJUaW1l -U3RyaW5nIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSB0aW1lIGZvcm1hdHRlZCBhcyBkZWZp -bmVkIGluIElTTyA4NjAxLTIwMDAuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVl -VHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iRGF0ZVN0cmluZyI+DQogICAgPG9wYzpE -b2N1bWVudGF0aW9uPkEgZGF0ZSBmb3JtYXR0ZWQgYXMgZGVmaW5lZCBpbiBJU08gODYwMS0yMDAw -Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFx -dWVUeXBlIE5hbWU9IkR1cmF0aW9uIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBwZXJpb2Qg -b2YgdGltZSBtZWFzdXJlZCBpbiBtaWxsaXNlY29uZHMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAg -PC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iVXRjVGltZSI+DQog -ICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgZGF0ZS90aW1lIHZhbHVlIHNwZWNpZmllZCBpbiBVbml2 -ZXJzYWwgQ29vcmRpbmF0ZWQgVGltZSAoVVRDKS48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29w -YzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJMb2NhbGVJZCI+DQogICAg -PG9wYzpEb2N1bWVudGF0aW9uPkFuIGlkZW50aWZpZXIgZm9yIGEgdXNlciBsb2NhbGUuPC9vcGM6 -RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU -eXBlIE5hbWU9IlRpbWVab25lRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iT2Zmc2V0IiBUeXBlTmFtZT0ib3BjOkludDE2IiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iRGF5bGlnaHRTYXZpbmdJbk9mZnNldCIgVHlwZU5hbWU9Im9w -YzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5 -cGUgTmFtZT0iSW50ZWdlcklkIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBudW1lcmljIGlk -ZW50aWZpZXIgZm9yIGFuIG9iamVjdC48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFx -dWVUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iQXBwbGljYXRpb25UeXBlIiBM -ZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHR5cGVzIG9mIGFw -cGxpY2F0aW9ucy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9IlNlcnZlciIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt -ZT0iQ2xpZW50IiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJD -bGllbnRBbmRTZXJ2ZXIiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9IkRpc2NvdmVyeVNlcnZlciIgVmFsdWU9IjMiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBl -Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQXBwbGljYXRpb25EZXNjcmlwdGlvbiIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkRl -c2NyaWJlcyBhbiBhcHBsaWNhdGlvbiBhbmQgaG93IHRvIGZpbmQgaXQuPC9vcGM6RG9jdW1lbnRh -dGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFwcGxpY2F0aW9uVXJpIiBUeXBlTmFtZT0ib3Bj -OlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByb2R1Y3RVcmkiIFR5cGVOYW1lPSJv -cGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXBwbGljYXRpb25OYW1lIiBUeXBl -TmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFwcGxpY2F0 -aW9uVHlwZSIgVHlwZU5hbWU9InRuczpBcHBsaWNhdGlvblR5cGUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJHYXRld2F5U2VydmVyVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IkRpc2NvdmVyeVByb2ZpbGVVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5n -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpc2NvdmVyeVVybHMiIFR5cGVOYW1lPSJv -cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNjb3ZlcnlVcmxzIiBUeXBlTmFt -ZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaXNjb3ZlcnlVcmxzIiAvPg0KICA8L29w -YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlcXVlc3RI -ZWFkZXIiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRh -dGlvbj5UaGUgaGVhZGVyIHBhc3NlZCB3aXRoIGV2ZXJ5IHNlcnZlciByZXF1ZXN0Ljwvb3BjOkRv -Y3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdXRoZW50aWNhdGlvblRva2VuIiBU -eXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGltZXN0YW1wIiBU -eXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhh -bmRsZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXR1 -cm5EaWFnbm9zdGljcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJBdWRpdEVudHJ5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iVGltZW91dEhpbnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iQWRkaXRpb25hbEhlYWRlciIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVj -dCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJSZXNwb25zZUhlYWRlciIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg -PG9wYzpEb2N1bWVudGF0aW9uPlRoZSBoZWFkZXIgcGFzc2VkIHdpdGggZXZlcnkgc2VydmVyIHJl -c3BvbnNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lc3Rh -bXAiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 -ZXN0SGFuZGxlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlNlcnZpY2VSZXN1bHQiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iU2VydmljZURpYWdub3N0aWNzIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8i -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU3RyaW5nVGFibGUiIFR5cGVOYW1lPSJvcGM6 -SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdHJpbmdUYWJsZSIgVHlwZU5hbWU9Im9w -YzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mU3RyaW5nVGFibGUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJBZGRpdGlvbmFsSGVhZGVyIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -IlNlcnZpY2VGYXVsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpE -b2N1bWVudGF0aW9uPlRoZSByZXNwb25zZSByZXR1cm5lZCBieSBhbGwgc2VydmljZXMgd2hlbiB0 -aGVyZSBpcyBhIHNlcnZpY2UgbGV2ZWwgZXJyb3IuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVh -ZGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl -IE5hbWU9IkZpbmRTZXJ2ZXJzUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkZpbmRzIHRoZSBzZXJ2ZXJzIGtub3duIHRvIHRoZSBk -aXNjb3Zlcnkgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJOb09mTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVu -Z3RoRmllbGQ9Ik5vT2ZMb2NhbGVJZHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2Vy -dmVyVXJpcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNl -cnZlclVyaXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlclVy -aXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg -TmFtZT0iRmluZFNlcnZlcnNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkZpbmRzIHRoZSBzZXJ2ZXJzIGtub3duIHRvIHRoZSBk -aXNjb3Zlcnkgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iU2VydmVycyIgVHlwZU5hbWU9InRuczpBcHBsaWNhdGlvbkRlc2Ny -aXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlcnMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2VydmVyT25OZXR3b3JrIiBCYXNl -VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlY29yZElk -IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlck5h -bWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY292 -ZXJ5VXJsIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v -T2ZTZXJ2ZXJDYXBhYmlsaXRpZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJTZXJ2ZXJDYXBhYmlsaXRpZXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5n -dGhGaWVsZD0iTm9PZlNlcnZlckNhcGFiaWxpdGllcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJGaW5kU2VydmVyc09uTmV0d29ya1Jl -cXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iU3RhcnRpbmdSZWNvcmRJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhSZWNvcmRzVG9SZXR1cm4iIFR5cGVOYW1lPSJvcGM6 -VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlcnZlckNhcGFiaWxpdHlGaWx0 -ZXIiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJD -YXBhYmlsaXR5RmlsdGVyIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZT -ZXJ2ZXJDYXBhYmlsaXR5RmlsdGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 -b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVzcG9uc2UiIEJh -c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9u -c2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJMYXN0Q291bnRlclJlc2V0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVycyIgVHlwZU5hbWU9InRuczpTZXJ2ZXJPbk5l -dHdvcmsiIExlbmd0aEZpZWxkPSJOb09mU2VydmVycyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkFwcGxpY2F0aW9uSW5zdGFuY2VDZXJ0aWZp -Y2F0ZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgY2VydGlmaWNhdGUgZm9yIGFuIGluc3Rh -bmNlIG9mIGFuIGFwcGxpY2F0aW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1 -ZVR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJNZXNzYWdlU2VjdXJpdHlNb2Rl -IiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHR5cGUgb2Yg -c2VjdXJpdHkgdG8gdXNlIG9uIGEgbWVzc2FnZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkludmFsaWQiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6 -RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVy -YXRlZFZhbHVlIE5hbWU9IlNpZ24iIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh -bHVlIE5hbWU9IlNpZ25BbmRFbmNyeXB0IiBWYWx1ZT0iMyIgLz4NCiAgPC9vcGM6RW51bWVyYXRl -ZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJVc2VyVG9rZW5UeXBlIiBMZW5n -dGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHBvc3NpYmxlIHVzZXIg -dG9rZW4gdHlwZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJBbm9ueW1vdXMiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9IlVzZXJOYW1lIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO -YW1lPSJDZXJ0aWZpY2F0ZSIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iSXNzdWVkVG9rZW4iIFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9IktlcmJlcm9zIiBWYWx1ZT0iNCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVc2VyVG9rZW5Qb2xpY3kiIEJhc2VUeXBlPSJ1 -YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5EZXNjcmliZXMgYSB1 -c2VyIHRva2VuIHRoYXQgY2FuIGJlIHVzZWQgd2l0aCBhIHNlcnZlci48L29wYzpEb2N1bWVudGF0 -aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUG9saWN5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5n -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVG9rZW5UeXBlIiBUeXBlTmFtZT0idG5zOlVzZXJU -b2tlblR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc3N1ZWRUb2tlblR5cGUiIFR5cGVO -YW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNzdWVyRW5kcG9pbnRV -cmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJp -dHlQb2xpY3lVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkVuZHBvaW50RGVzY3JpcHRpb24i -IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5U -aGUgZGVzY3JpcHRpb24gb2YgYSBlbmRwb2ludCB0aGF0IGNhbiBiZSB1c2VkIHRvIGFjY2VzcyBh -IHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kcG9p -bnRVcmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vy -dmVyIiBUeXBlTmFtZT0idG5zOkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJTZXJ2ZXJDZXJ0aWZpY2F0ZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlNb2RlIiBUeXBlTmFtZT0idG5zOk1lc3Nh -Z2VTZWN1cml0eU1vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eVBvbGljeVVy -aSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVXNl -cklkZW50aXR5VG9rZW5zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iVXNlcklkZW50aXR5VG9rZW5zIiBUeXBlTmFtZT0idG5zOlVzZXJUb2tlblBvbGljeSIg -TGVuZ3RoRmllbGQ9Ik5vT2ZVc2VySWRlbnRpdHlUb2tlbnMiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJUcmFuc3BvcnRQcm9maWxlVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TGV2ZWwiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAg -PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJHZXRF -bmRwb2ludHNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj -OkRvY3VtZW50YXRpb24+R2V0cyB0aGUgZW5kcG9pbnRzIHVzZWQgYnkgdGhlIHNlcnZlci48L29w -YzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlw -ZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kcG9p -bnRVcmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P -ZkxvY2FsZUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkxvY2FsZUlkcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mTG9jYWxl -SWRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlByb2ZpbGVVcmlzIiBUeXBlTmFtZT0i -b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJvZmlsZVVyaXMiIFR5cGVOYW1l -PSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlByb2ZpbGVVcmlzIiAvPg0KICA8L29wYzpT -dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkdldEVuZHBvaW50 -c1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3Vt -ZW50YXRpb24+R2V0cyB0aGUgZW5kcG9pbnRzIHVzZWQgYnkgdGhlIHNlcnZlci48L29wYzpEb2N1 -bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1l -PSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRW5kcG9p -bnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kcG9p -bnRzIiBUeXBlTmFtZT0idG5zOkVuZHBvaW50RGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09m -RW5kcG9pbnRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy -ZWRUeXBlIE5hbWU9IlJlZ2lzdGVyZWRTZXJ2ZXIiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl -Y3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgaW5mb3JtYXRpb24gcmVxdWlyZWQgdG8g -cmVnaXN0ZXIgYSBzZXJ2ZXIgd2l0aCBhIGRpc2NvdmVyeSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRh -dGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclVyaSIgVHlwZU5hbWU9Im9wYzpTdHJp -bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcm9kdWN0VXJpIiBUeXBlTmFtZT0ib3BjOlN0 -cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJOYW1lcyIgVHlwZU5hbWU9 -Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlck5hbWVzIiBUeXBlTmFt -ZT0idWE6TG9jYWxpemVkVGV4dCIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJOYW1lcyIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclR5cGUiIFR5cGVOYW1lPSJ0bnM6QXBwbGljYXRpb25U -eXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iR2F0ZXdheVNlcnZlclVyaSIgVHlwZU5hbWU9 -Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlzY292ZXJ5VXJscyIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2NvdmVyeVVy -bHMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZkRpc2NvdmVyeVVybHMi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZW1hcGhvcmVGaWxlUGF0aCIgVHlwZU5hbWU9Im9w -YzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc09ubGluZSIgVHlwZU5hbWU9Im9w -YzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy -ZWRUeXBlIE5hbWU9IlJlZ2lzdGVyU2VydmVyUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lv -bk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlJlZ2lzdGVycyBhIHNlcnZlciB3aXRo -IHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXIiIFR5cGVOYW1lPSJ0bnM6UmVnaXN0ZXJlZFNlcnZl -ciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJSZWdpc3RlclNlcnZlclJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 -Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+UmVnaXN0ZXJzIGEgc2VydmVyIHdpdGggdGhlIGRp -c2NvdmVyeSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICA8L29w -YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRpc2NvdmVy -eUNvbmZpZ3VyYXRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 -RG9jdW1lbnRhdGlvbj5BIGJhc2UgdHlwZSBmb3IgZGlzY292ZXJ5IGNvbmZpZ3VyYXRpb24gaW5m -b3JtYXRpb24uPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNZG5zRGlzY292ZXJ5Q29uZmlndXJhdGlvbiIg -QmFzZVR5cGU9InRuczpEaXNjb3ZlcnlDb25maWd1cmF0aW9uIj4NCiAgICA8b3BjOkRvY3VtZW50 -YXRpb24+VGhlIGRpc2NvdmVyeSBpbmZvcm1hdGlvbiBuZWVkZWQgZm9yIG1ETlMgcmVnaXN0cmF0 -aW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZG5zU2VydmVy -TmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m -U2VydmVyQ2FwYWJpbGl0aWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iU2VydmVyQ2FwYWJpbGl0aWVzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3Ro -RmllbGQ9Ik5vT2ZTZXJ2ZXJDYXBhYmlsaXRpZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl -Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVnaXN0ZXJTZXJ2ZXIyUmVxdWVzdCIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 -ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJTZXJ2ZXIiIFR5cGVOYW1lPSJ0bnM6UmVnaXN0ZXJlZFNlcnZlciIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiBUeXBlTmFtZT0ib3Bj -OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY292ZXJ5Q29uZmlndXJhdGlvbiIg -VHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaXNjb3ZlcnlD -b25maWd1cmF0aW9uIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj -dHVyZWRUeXBlIE5hbWU9IlJlZ2lzdGVyU2VydmVyMlJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0 -ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBl -TmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkNv -bmZpZ3VyYXRpb25SZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iQ29uZmlndXJhdGlvblJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBM -ZW5ndGhGaWVsZD0iTm9PZkNvbmZpZ3VyYXRpb25SZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJ -bmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0 -dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJTZWN1cml0eVRva2VuUmVx -dWVzdFR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5JbmRp -Y2F0ZXMgd2hldGhlciBhIHRva2VuIGlmIGJlaW5nIGNyZWF0ZWQgb3IgcmVuZXdlZC48L29wYzpE -b2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Iklzc3VlIiBWYWx1 -ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZW5ldyIgVmFsdWU9IjEi -IC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt -ZT0iQ2hhbm5lbFNlY3VyaXR5VG9rZW4iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K -ICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgdG9rZW4gdGhhdCBpZGVudGlmaWVzIGEgc2V0IG9m -IGtleXMgZm9yIGFuIGFjdGl2ZSBzZWN1cmUgY2hhbm5lbC48L29wYzpEb2N1bWVudGF0aW9uPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iQ2hhbm5lbElkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlRva2VuSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iQ3JlYXRlZEF0IiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZExpZmV0aW1lIiBUeXBlTmFtZT0ib3BjOlVJ -bnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJPcGVuU2VjdXJlQ2hhbm5lbFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P -YmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5DcmVhdGVzIGEgc2VjdXJlIGNoYW5uZWwg -d2l0aCBhIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iQ2xpZW50UHJvdG9jb2xWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RUeXBlIiBUeXBlTmFtZT0idG5zOlNlY3Vy -aXR5VG9rZW5SZXF1ZXN0VHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TW9k -ZSIgVHlwZU5hbWU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iQ2xpZW50Tm9uY2UiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlJlcXVlc3RlZExpZmV0aW1lIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJP -cGVuU2VjdXJlQ2hhbm5lbFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q3JlYXRlcyBhIHNlY3VyZSBjaGFubmVsIHdpdGggYSBz -ZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNl -SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iU2VydmVyUHJvdG9jb2xWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5VG9rZW4iIFR5cGVOYW1lPSJ0bnM6Q2hhbm5lbFNl -Y3VyaXR5VG9rZW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJOb25jZSIgVHlwZU5h -bWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -OlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNsb3NlU2VjdXJlQ2hhbm5lbFJlcXVlc3QiIEJhc2VUeXBl -PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5DbG9zZXMgYSBz -ZWN1cmUgY2hhbm5lbC48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICA8L29wYzpT -dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNsb3NlU2VjdXJl -Q2hhbm5lbFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj -OkRvY3VtZW50YXRpb24+Q2xvc2VzIGEgc2VjdXJlIGNoYW5uZWwuPC9vcGM6RG9jdW1lbnRhdGlv -bj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJl -c3BvbnNlSGVhZGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj -dHVyZWRUeXBlIE5hbWU9IlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiIEJhc2VUeXBlPSJ1YTpF -eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHNvZnR3YXJlIGNlcnRp -ZmljYXRlIHdpdGggYSBkaWdpdGFsIHNpZ25hdHVyZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iQ2VydGlmaWNhdGVEYXRhIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJp -bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTaWduYXR1cmUiIFR5cGVOYW1lPSJvcGM6Qnl0 -ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBl -IE5hbWU9IlNlc3Npb25BdXRoZW50aWNhdGlvblRva2VuIj4NCiAgICA8b3BjOkRvY3VtZW50YXRp -b24+QSB1bmlxdWUgaWRlbnRpZmllciBmb3IgYSBzZXNzaW9uIHVzZWQgdG8gYXV0aGVudGljYXRl -IHJlcXVlc3RzLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAg -PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTaWduYXR1cmVEYXRhIiBCYXNlVHlwZT0idWE6RXh0 -ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBkaWdpdGFsIHNpZ25hdHVy -ZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWxnb3JpdGhtIiBU -eXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNpZ25hdHVyZSIg -VHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNyZWF0ZVNlc3Npb25SZXF1ZXN0IiBCYXNlVHlw -ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q3JlYXRlcyBh -IG5ldyBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50RGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ0 -bnM6QXBwbGljYXRpb25EZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZl -clVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRw -b2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT -ZXNzaW9uTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJDbGllbnROb25jZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iQ2xpZW50Q2VydGlmaWNhdGUiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZFNlc3Npb25UaW1lb3V0IiBUeXBlTmFtZT0i -b3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heFJlc3BvbnNlTWVzc2FnZVNp -emUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNyZWF0ZVNlc3Npb25SZXNwb25zZSIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkNyZWF0ZXMg -YSBuZXcgc2Vzc2lvbiB3aXRoIHRoZSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVh -ZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6Tm9k -ZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXV0aGVudGljYXRpb25Ub2tlbiIgVHlwZU5h -bWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRTZXNzaW9uVGlt -ZW91dCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2 -ZXJOb25jZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iU2VydmVyQ2VydGlmaWNhdGUiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJFbmRwb2ludHMiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJFbmRwb2ludHMiIFR5cGVOYW1lPSJ0bnM6 -RW5kcG9pbnREZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJFbmRwb2ludHMiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VydmVyU29mdHdhcmVDZXJ0aWZpY2F0ZXMiIFR5 -cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJTb2Z0d2Fy -ZUNlcnRpZmljYXRlcyIgVHlwZU5hbWU9InRuczpTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiBM -ZW5ndGhGaWVsZD0iTm9PZlNlcnZlclNvZnR3YXJlQ2VydGlmaWNhdGVzIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iU2VydmVyU2lnbmF0dXJlIiBUeXBlTmFtZT0idG5zOlNpZ25hdHVyZURhdGEi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhSZXF1ZXN0TWVzc2FnZVNpemUiIFR5cGVOYW1l -PSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj -dHVyZWRUeXBlIE5hbWU9IlVzZXJJZGVudGl0eVRva2VuIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u -T2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBiYXNlIHR5cGUgZm9yIGEgdXNlciBp -ZGVudGl0eSB0b2tlbi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UG9saWN5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw -ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFub255bW91c0lkZW50aXR5VG9rZW4i -IEJhc2VUeXBlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlv -bj5BIHRva2VuIHJlcHJlc2VudGluZyBhbiBhbm9ueW1vdXMgdXNlci48L29wYzpEb2N1bWVudGF0 -aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUG9saWN5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5n -IiBTb3VyY2VUeXBlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVXNlck5hbWVJZGVudGl0eVRv -a2VuIiBCYXNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIj4NCiAgICA8b3BjOkRvY3VtZW50 -YXRpb24+QSB0b2tlbiByZXByZXNlbnRpbmcgYSB1c2VyIGlkZW50aWZpZWQgYnkgYSB1c2VyIG5h -bWUgYW5kIHBhc3N3b3JkLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJQb2xpY3lJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIFNvdXJjZVR5cGU9InRuczpVc2VySWRl -bnRpdHlUb2tlbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJOYW1lIiBUeXBlTmFtZT0i -b3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBhc3N3b3JkIiBUeXBlTmFtZT0i -b3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmNyeXB0aW9uQWxnb3Jp -dGhtIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJYNTA5SWRlbnRpdHlUb2tlbiIgQmFzZVR5cGU9 -InRuczpVc2VySWRlbnRpdHlUb2tlbiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgdG9rZW4g -cmVwcmVzZW50aW5nIGEgdXNlciBpZGVudGlmaWVkIGJ5IGFuIFg1MDkgY2VydGlmaWNhdGUuPC9v -cGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBvbGljeUlkIiBUeXBlTmFt -ZT0ib3BjOlN0cmluZyIgU291cmNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iQ2VydGlmaWNhdGVEYXRhIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJp -bmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg -TmFtZT0iS2VyYmVyb3NJZGVudGl0eVRva2VuIiBCYXNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRv -a2VuIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBvbGljeUlkIiBUeXBlTmFtZT0ib3BjOlN0cmlu -ZyIgU291cmNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iVGlja2V0RGF0YSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpT -dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Iklzc3VlZElkZW50 -aXR5VG9rZW4iIEJhc2VUeXBlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgIDxvcGM6RG9j -dW1lbnRhdGlvbj5BIHRva2VuIHJlcHJlc2VudGluZyBhIHVzZXIgaWRlbnRpZmllZCBieSBhIFdT -LVNlY3VyaXR5IFhNTCB0b2tlbi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iUG9saWN5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBTb3VyY2VUeXBlPSJ0bnM6VXNl -cklkZW50aXR5VG9rZW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUb2tlbkRhdGEiIFR5cGVO -YW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuY3J5cHRpb25B -bGdvcml0aG0iIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw -ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFjdGl2YXRlU2Vzc2lvblJlcXVlc3Qi -IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5B -Y3RpdmF0ZXMgYSBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0 -SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50U2lnbmF0dXJlIiBUeXBlTmFt -ZT0idG5zOlNpZ25hdHVyZURhdGEiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQ2xpZW50 -U29mdHdhcmVDZXJ0aWZpY2F0ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJDbGllbnRTb2Z0d2FyZUNlcnRpZmljYXRlcyIgVHlwZU5hbWU9InRuczpTaWdu -ZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiBMZW5ndGhGaWVsZD0iTm9PZkNsaWVudFNvZnR3YXJlQ2Vy -dGlmaWNhdGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxvY2FsZUlkcyIgVHlwZU5h -bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsZUlkcyIgVHlwZU5h -bWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mTG9jYWxlSWRzIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iVXNlcklkZW50aXR5VG9rZW4iIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmpl -Y3QiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyVG9rZW5TaWduYXR1cmUiIFR5cGVOYW1l -PSJ0bnM6U2lnbmF0dXJlRGF0YSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w -YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBY3RpdmF0ZVNlc3Npb25SZXNwb25zZSIgQmFzZVR5cGU9 -InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkFjdGl2YXRlcyBh -IHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlck5vbmNlIiBUeXBlTmFtZT0ib3BjOkJ5dGVT -dHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9w -YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpT -dGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0lu -Zm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNsb3NlU2Vzc2lvblJlcXVl -c3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlv -bj5DbG9zZXMgYSBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0 -SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVsZXRlU3Vic2NyaXB0aW9ucyIgVHlw -ZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -OlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNsb3NlU2Vzc2lvblJlc3BvbnNlIiBCYXNlVHlwZT0idWE6 -RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q2xvc2VzIGEgc2Vzc2lv -biB3aXRoIHRoZSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICA8 -L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNhbmNl -bFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1l -bnRhdGlvbj5DYW5jZWxzIGFuIG91dHN0YW5kaW5nIHJlcXVlc3QuPC9vcGM6RG9jdW1lbnRhdGlv -bj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVx -dWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIYW5kbGUiIFR5cGVO -YW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 -cnVjdHVyZWRUeXBlIE5hbWU9IkNhbmNlbFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u -T2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q2FuY2VscyBhbiBvdXRzdGFuZGluZyBy -ZXF1ZXN0Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25z -ZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkNhbmNlbENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJOb2RlQXR0cmlidXRl -c01hc2siIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYml0 -cyB1c2VkIHRvIHNwZWNpZnkgZGVmYXVsdCBhdHRyaWJ1dGVzIGZvciBhIG5ldyBub2RlLjwvb3Bj -OkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFs -dWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQWNjZXNzTGV2ZWwiIFZh -bHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFycmF5RGltZW5zaW9u -cyIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQnJvd3NlTmFt -ZSIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ29udGFpbnNO -b0xvb3BzIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEYXRh -VHlwZSIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRlc2Ny -aXB0aW9uIiBWYWx1ZT0iMzIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGlz -cGxheU5hbWUiIFZhbHVlPSI2NCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJF -dmVudE5vdGlmaWVyIiBWYWx1ZT0iMTI4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9IkV4ZWN1dGFibGUiIFZhbHVlPSIyNTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iSGlzdG9yaXppbmciIFZhbHVlPSI1MTIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs -dWUgTmFtZT0iSW52ZXJzZU5hbWUiIFZhbHVlPSIxMDI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRl -ZFZhbHVlIE5hbWU9IklzQWJzdHJhY3QiIFZhbHVlPSIyMDQ4IiAvPg0KICAgIDxvcGM6RW51bWVy -YXRlZFZhbHVlIE5hbWU9Ik1pbmltdW1TYW1wbGluZ0ludGVydmFsIiBWYWx1ZT0iNDA5NiIgLz4N -CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlQ2xhc3MiIFZhbHVlPSI4MTkyIiAv -Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vZGVJZCIgVmFsdWU9IjE2Mzg0IiAv -Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN5bW1ldHJpYyIgVmFsdWU9IjMyNzY4 -IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVzZXJBY2Nlc3NMZXZlbCIgVmFs -dWU9IjY1NTM2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVzZXJFeGVjdXRh -YmxlIiBWYWx1ZT0iMTMxMDcyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVz -ZXJXcml0ZU1hc2siIFZhbHVlPSIyNjIxNDQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iVmFsdWVSYW5rIiBWYWx1ZT0iNTI0Mjg4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh -bHVlIE5hbWU9IldyaXRlTWFzayIgVmFsdWU9IjEwNDg1NzYiIC8+DQogICAgPG9wYzpFbnVtZXJh -dGVkVmFsdWUgTmFtZT0iVmFsdWUiIFZhbHVlPSIyMDk3MTUyIiAvPg0KICAgIDxvcGM6RW51bWVy -YXRlZFZhbHVlIE5hbWU9IkFsbCIgVmFsdWU9IjQxOTQzMDMiIC8+DQogICAgPG9wYzpFbnVtZXJh -dGVkVmFsdWUgTmFtZT0iQmFzZU5vZGUiIFZhbHVlPSIxMzM1Mzk2IiAvPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9Ik9iamVjdCIgVmFsdWU9IjEzMzU1MjQiIC8+DQogICAgPG9wYzpF -bnVtZXJhdGVkVmFsdWUgTmFtZT0iT2JqZWN0VHlwZU9yRGF0YVR5cGUiIFZhbHVlPSIxMzM3NDQ0 -IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZhcmlhYmxlIiBWYWx1ZT0iNDAy -Njk5OSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJWYXJpYWJsZVR5cGUiIFZh -bHVlPSIzOTU4OTAyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik1ldGhvZCIg -VmFsdWU9IjE0NjY3MjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJl -bmNlVHlwZSIgVmFsdWU9IjEzNzEyMzYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt -ZT0iVmlldyIgVmFsdWU9IjEzMzU1MzIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQog -IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm9kZUF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ1YTpF -eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYmFzZSBhdHRyaWJ1 -dGVzIGZvciBhbGwgbm9kZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6 -ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3Bj -OlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1l -PSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj -dHVyZWRUeXBlIE5hbWU9Ik9iamVjdEF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0dHJp -YnV0ZXMiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYW4gb2Jq -ZWN0IG5vZGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNwZWNp -ZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9k -ZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5h -bWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVk -VGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5v -ZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlw -ZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50Tm90aWZpZXIiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJW -YXJpYWJsZUF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgIDxv -cGM6RG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSB2YXJpYWJsZSBub2RlLjwvb3Bj -OkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVz -IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6 -ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5 -cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFz -ayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJEYXRhVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlZhbHVlUmFuayIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -Ik5vT2ZBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhG -aWVsZD0iTm9PZkFycmF5RGltZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFjY2Vz -c0xldmVsIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2Vy -QWNjZXNzTGV2ZWwiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -Ik1pbmltdW1TYW1wbGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ikhpc3Rvcml6aW5nIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTWV0 -aG9kQXR0cmlidXRlcyIgQmFzZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpE -b2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVzIGZvciBhIG1ldGhvZCBub2RlLjwvb3BjOkRvY3Vt -ZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiBUeXBl -TmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0 -IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRu -czpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlw -ZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBT -b3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJF -eGVjdXRhYmxlIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJVc2VyRXhlY3V0YWJsZSIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik9iamVjdFR5cGVBdHRy -aWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICA8b3BjOkRvY3VtZW50 -YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGFuIG9iamVjdCB0eXBlIG5vZGUuPC9vcGM6RG9jdW1l -bnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVO -YW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQi -IFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5z -Ok5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBl -TmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNv -dXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Iklz -QWJzdHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJWYXJpYWJsZVR5cGVBdHRyaWJ1dGVz -IiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+ -VGhlIGF0dHJpYnV0ZXMgZm9yIGEgdmFyaWFibGUgdHlwZSBub2RlLjwvb3BjOkRvY3VtZW50YXRp -b24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0i -b3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3Vy -Y2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNj -cmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2Rl -QXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9 -Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VU -eXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIg -VHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZSIg -VHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlUmFuayIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBcnJheURp -bWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJB -cnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkFy -cmF5RGltZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5cGVO -YW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT -dHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWZlcmVuY2VUeXBlQXR0cmlidXRlcyIgQmFzZVR5cGU9InRu -czpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVz -IGZvciBhIHJlZmVyZW5jZSB0eXBlIG5vZGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBT -b3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE -aXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpO -b2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBl -TmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg -U291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -VXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2Rl -QXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5cGVOYW1l -PSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN5bW1ldHJpYyIgVHlwZU5h -bWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW52ZXJzZU5hbWUiIFR5 -cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFUeXBlQXR0cmlidXRlcyIgQmFzZVR5cGU9 -InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1 -dGVzIGZvciBhIGRhdGEgdHlwZSBub2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291 -cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlz -cGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9k -ZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5h -bWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNv -dXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVz -ZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0 -dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0Fic3RyYWN0IiBUeXBlTmFtZT0i -b3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 -dXJlZFR5cGUgTmFtZT0iVmlld0F0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0 -ZXMiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSB2aWV3IG5v -ZGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNwZWNpZmllZEF0 -dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJp -YnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVh -OkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIg -U291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -V3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRy -aWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9 -Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IkNvbnRhaW5zTm9Mb29wcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnROb3RpZmllciIgVHlwZU5hbWU9Im9wYzpCeXRlIiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -IkFkZE5vZGVzSXRlbSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpE -b2N1bWVudGF0aW9uPkEgcmVxdWVzdCB0byBhZGQgYSBub2RlIHRvIHRoZSBzZXJ2ZXIgYWRkcmVz -cyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGFyZW50 -Tm9kZUlkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJSZWZlcmVuY2VUeXBlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJSZXF1ZXN0ZWROZXdOb2RlSWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJ -ZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFs -aWZpZWROYW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0i -dG5zOk5vZGVDbGFzcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVBdHRyaWJ1dGVzIiBU -eXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHlw -ZURlZmluaXRpb24iIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBZGROb2Rlc1Jlc3Vs -dCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u -PkEgcmVzdWx0IG9mIGFuIGFkZCBub2RlIG9wZXJhdGlvbi48L29wYzpEb2N1bWVudGF0aW9uPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGRlZE5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJ -ZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJBZGROb2Rlc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg -IDxvcGM6RG9jdW1lbnRhdGlvbj5BZGRzIG9uZSBvciBtb3JlIG5vZGVzIHRvIHRoZSBzZXJ2ZXIg -YWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iTm9PZk5vZGVzVG9BZGQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJOb2Rlc1RvQWRkIiBUeXBlTmFtZT0idG5zOkFkZE5vZGVzSXRlbSIg -TGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvQWRkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N -Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFkZE5vZGVzUmVzcG9uc2UiIEJhc2VUeXBl -PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BZGRzIG9uZSBv -ciBtb3JlIG5vZGVzIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0 -aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6 -UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlw -ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVO -YW1lPSJ0bnM6QWRkTm9kZXNSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50 -MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1 -YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWRk -UmVmZXJlbmNlc0l0ZW0iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 -RG9jdW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8gYWRkIGEgcmVmZXJlbmNlIHRvIHRoZSBzZXJ2ZXIg -YWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -U291cmNlTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iUmVmZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iSXNGb3J3YXJkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJUYXJnZXRTZXJ2ZXJVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iVGFyZ2V0Tm9kZUlkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2Rl -SWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUYXJnZXROb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0 -bnM6Tm9kZUNsYXNzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj -dHVyZWRUeXBlIE5hbWU9IkFkZFJlZmVyZW5jZXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5z -aW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QWRkcyBvbmUgb3IgbW9yZSByZWZl -cmVuY2VzIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0 -SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXNUb0FkZCIgVHlw -ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXNUb0Fk -ZCIgVHlwZU5hbWU9InRuczpBZGRSZWZlcmVuY2VzSXRlbSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZl -cmVuY2VzVG9BZGQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 -dXJlZFR5cGUgTmFtZT0iQWRkUmVmZXJlbmNlc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5z -aW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QWRkcyBvbmUgb3IgbW9yZSByZWZl -cmVuY2VzIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9u -c2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9 -Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1 -YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3Rp -Y0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZU5vZGVzSXRl -bSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u -PkEgcmVxdWVzdCB0byBkZWxldGUgYSBub2RlIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48 -L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFt -ZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVsZXRlVGFyZ2V0UmVmZXJl -bmNlcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N -Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZU5vZGVzUmVxdWVzdCIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkRlbGV0ZSBv -bmUgb3IgbW9yZSBub2RlcyBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1 -bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9 -InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVzVG9E -ZWxldGUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rl -c1RvRGVsZXRlIiBUeXBlTmFtZT0idG5zOkRlbGV0ZU5vZGVzSXRlbSIgTGVuZ3RoRmllbGQ9Ik5v -T2ZOb2Rlc1RvRGVsZXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 -cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZU5vZGVzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRl -bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5EZWxldGUgb25lIG9yIG1vcmUg -bm9kZXMgZnJvbSB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3Bv -bnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0i -dWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0 -aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVSZWZlcmVu -Y2VzSXRlbSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVu -dGF0aW9uPkEgcmVxdWVzdCB0byBkZWxldGUgYSBub2RlIGZyb20gdGhlIHNlcnZlciBhZGRyZXNz -IHNwYWNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTb3VyY2VO -b2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZl -cmVuY2VUeXBlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJJc0ZvcndhcmQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlRhcmdldE5vZGVJZCIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iRGVsZXRlQmlkaXJlY3Rpb25hbCIgVHlwZU5hbWU9Im9wYzpCb29sZWFu -IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9IkRlbGV0ZVJlZmVyZW5jZXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 -Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+RGVsZXRlIG9uZSBvciBtb3JlIHJlZmVyZW5jZXMg -ZnJvbSB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRl -ciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzVG9EZWxldGUiIFR5cGVO -YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzVG9EZWxl -dGUiIFR5cGVOYW1lPSJ0bnM6RGVsZXRlUmVmZXJlbmNlc0l0ZW0iIExlbmd0aEZpZWxkPSJOb09m -UmVmZXJlbmNlc1RvRGVsZXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -OlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNSZXNwb25zZSIgQmFzZVR5cGU9 -InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkRlbGV0ZSBvbmUg -b3IgbW9yZSByZWZlcmVuY2VzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRv -Y3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5h -bWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1 -bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0 -cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6 -SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1l -PSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+ -DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0i -QXR0cmlidXRlV3JpdGVNYXNrIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50 -YXRpb24+RGVmaW5lIGJpdHMgdXNlZCB0byBpbmRpY2F0ZSB3aGljaCBhdHRyaWJ1dGVzIGFyZSB3 -cml0YWJsZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFj -Y2Vzc0xldmVsIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJB -cnJheURpbWVuc2lvbnMiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9IkJyb3dzZU5hbWUiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9IkNvbnRhaW5zTm9Mb29wcyIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs -dWUgTmFtZT0iRGF0YVR5cGUiIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJEZXNjcmlwdGlvbiIgVmFsdWU9IjMyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh -bHVlIE5hbWU9IkRpc3BsYXlOYW1lIiBWYWx1ZT0iNjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk -VmFsdWUgTmFtZT0iRXZlbnROb3RpZmllciIgVmFsdWU9IjEyOCIgLz4NCiAgICA8b3BjOkVudW1l -cmF0ZWRWYWx1ZSBOYW1lPSJFeGVjdXRhYmxlIiBWYWx1ZT0iMjU2IiAvPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9Ikhpc3Rvcml6aW5nIiBWYWx1ZT0iNTEyIiAvPg0KICAgIDxvcGM6 -RW51bWVyYXRlZFZhbHVlIE5hbWU9IkludmVyc2VOYW1lIiBWYWx1ZT0iMTAyNCIgLz4NCiAgICA8 -b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJc0Fic3RyYWN0IiBWYWx1ZT0iMjA0OCIgLz4NCiAg -ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbCIgVmFs -dWU9IjQwOTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9kZUNsYXNzIiBW -YWx1ZT0iODE5MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlSWQiIFZh -bHVlPSIxNjM4NCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTeW1tZXRyaWMi -IFZhbHVlPSIzMjc2OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVc2VyQWNj -ZXNzTGV2ZWwiIFZhbHVlPSI2NTUzNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l -PSJVc2VyRXhlY3V0YWJsZSIgVmFsdWU9IjEzMTA3MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJVc2VyV3JpdGVNYXNrIiBWYWx1ZT0iMjYyMTQ0IiAvPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9IlZhbHVlUmFuayIgVmFsdWU9IjUyNDI4OCIgLz4NCiAgICA8b3Bj -OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJXcml0ZU1hc2siIFZhbHVlPSIxMDQ4NTc2IiAvPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZhbHVlRm9yVmFyaWFibGVUeXBlIiBWYWx1ZT0i -MjA5NzE1MiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVk -VHlwZSBOYW1lPSJCcm93c2VEaXJlY3Rpb24iIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6 -RG9jdW1lbnRhdGlvbj5UaGUgZGlyZWN0aW9ucyBvZiB0aGUgcmVmZXJlbmNlcyB0byByZXR1cm4u -PC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJGb3J3 -YXJkIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnZlcnNl -IiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCb3RoIiBWYWx1 -ZT0iMiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJWaWV3RGVzY3JpcHRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K -ICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgdmlldyB0byBicm93c2UuPC9vcGM6RG9jdW1lbnRh -dGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZpZXdJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRpbWVzdGFtcCIgVHlwZU5hbWU9Im9wYzpEYXRlVGlt -ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZpZXdWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlVJ -bnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJCcm93c2VEZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgcmVxdWVzdCB0byBicm93c2UgdGhlIHRoZSByZWZl -cmVuY2VzIGZyb20gYSBub2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJCcm93c2VEaXJlY3Rpb24iIFR5cGVOYW1lPSJ0bnM6QnJvd3NlRGlyZWN0aW9uIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5jbHVkZVN1YnR5cGVzIiBUeXBlTmFtZT0ib3BjOkJv -b2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3NNYXNrIiBUeXBlTmFtZT0i -b3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdE1hc2siIFR5cGVOYW1l -PSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1l -cmF0ZWRUeXBlIE5hbWU9IkJyb3dzZVJlc3VsdE1hc2siIExlbmd0aEluQml0cz0iMzIiPg0KICAg -IDxvcGM6RG9jdW1lbnRhdGlvbj5BIGJpdCBtYXNrIHdoaWNoIHNwZWNpZmllcyB3aGF0IHNob3Vs -ZCBiZSByZXR1cm5lZCBpbiBhIGJyb3dzZSByZXNwb25zZS48L29wYzpEb2N1bWVudGF0aW9uPg0K -ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgVmFsdWU9IjEiIC8+DQog -ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNGb3J3YXJkIiBWYWx1ZT0iMiIgLz4NCiAg -ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlQ2xhc3MiIFZhbHVlPSI0IiAvPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJyb3dzZU5hbWUiIFZhbHVlPSI4IiAvPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRpc3BsYXlOYW1lIiBWYWx1ZT0iMTYiIC8+DQog -ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVHlwZURlZmluaXRpb24iIFZhbHVlPSIzMiIg -Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBbGwiIFZhbHVlPSI2MyIgLz4NCiAg -ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWZlcmVuY2VUeXBlSW5mbyIgVmFsdWU9IjMi -IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVGFyZ2V0SW5mbyIgVmFsdWU9IjYw -IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9IlJlZmVyZW5jZURlc2NyaXB0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIGRlc2NyaXB0aW9uIG9mIGEgcmVmZXJlbmNlLjwv -b3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBlSWQi -IFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0ZvcndhcmQi -IFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIg -VHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJv -d3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNzIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iVHlwZURlZmluaXRpb24iIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5v -ZGVJZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5h -bWU9IkNvbnRpbnVhdGlvblBvaW50Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QW4gaWRlbnRp -ZmllciBmb3IgYSBzdXNwZW5kZWQgcXVlcnkgb3IgYnJvd3NlIG9wZXJhdGlvbi48L29wYzpEb2N1 -bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg -TmFtZT0iQnJvd3NlUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8 -b3BjOkRvY3VtZW50YXRpb24+VGhlIHJlc3VsdCBvZiBhIGJyb3dzZSBvcGVyYXRpb24uPC9vcGM6 -RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1l -PSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29udGludWF0aW9uUG9p -bnQiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v -T2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VEZXNjcmlwdGlvbiIgTGVuZ3Ro -RmllbGQ9Ik5vT2ZSZWZlcmVuY2VzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 -b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb3dzZVJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRl -bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5Ccm93c2UgdGhlIHJlZmVyZW5j -ZXMgZm9yIG9uZSBvciBtb3JlIG5vZGVzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwv -b3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBU -eXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWaWV3 -IiBUeXBlTmFtZT0idG5zOlZpZXdEZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlJlcXVlc3RlZE1heFJlZmVyZW5jZXNQZXJOb2RlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOb2Rlc1RvQnJvd3NlIiBUeXBlTmFtZT0ib3BjOklu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZXNUb0Jyb3dzZSIgVHlwZU5hbWU9InRu -czpCcm93c2VEZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvQnJvd3NlIiAvPg0K -ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJy -b3dzZVJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRv -Y3VtZW50YXRpb24+QnJvd3NlIHRoZSByZWZlcmVuY2VzIGZvciBvbmUgb3IgbW9yZSBub2RlcyBm -cm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFk -ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJ -bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6QnJv -d3NlUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0lu -Zm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb3dzZU5leHRSZXF1ZXN0 -IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+ -Q29udGludWVzIG9uZSBvciBtb3JlIGJyb3dzZSBvcGVyYXRpb25zLjwvb3BjOkRvY3VtZW50YXRp -b24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJl -cXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWxlYXNlQ29udGludWF0aW9u -UG9pbnRzIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO -b09mQ29udGludWF0aW9uUG9pbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iQ29udGludWF0aW9uUG9pbnRzIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmci -IExlbmd0aEZpZWxkPSJOb09mQ29udGludWF0aW9uUG9pbnRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb3dzZU5leHRSZXNwb25z -ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u -PkNvbnRpbnVlcyBvbmUgb3IgbW9yZSBicm93c2Ugb3BlcmF0aW9ucy48L29wYzpEb2N1bWVudGF0 -aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6 -UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlw -ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVO -YW1lPSJ0bnM6QnJvd3NlUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6 -RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8 -L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlbGF0 -aXZlUGF0aEVsZW1lbnQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 -RG9jdW1lbnRhdGlvbj5BbiBlbGVtZW50IGluIGEgcmVsYXRpdmUgcGF0aC48L29wYzpEb2N1bWVu -dGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0i -dWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNJbnZlcnNlIiBUeXBlTmFtZT0i -b3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbmNsdWRlU3VidHlwZXMiIFR5 -cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldE5hbWUi -IFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N -Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlbGF0aXZlUGF0aCIgQmFzZVR5cGU9InVh -OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgcmVsYXRpdmUgcGF0 -aCBjb25zdHJ1Y3RlZCBmcm9tIHJlZmVyZW5jZSB0eXBlcyBhbmQgYnJvd3NlIG5hbWVzLjwvb3Bj -OkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRWxlbWVudHMiIFR5cGVO -YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbGVtZW50cyIgVHlwZU5h -bWU9InRuczpSZWxhdGl2ZVBhdGhFbGVtZW50IiBMZW5ndGhGaWVsZD0iTm9PZkVsZW1lbnRzIiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -IkJyb3dzZVBhdGgiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9j -dW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8gdHJhbnNsYXRlIGEgcGF0aCBpbnRvIGEgbm9kZSBpZC48 -L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhcnRpbmdOb2RlIiBU -eXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVsYXRpdmVQYXRo -IiBUeXBlTmFtZT0idG5zOlJlbGF0aXZlUGF0aCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm93c2VQYXRoVGFyZ2V0IiBCYXNlVHlw -ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHRhcmdl -dCBvZiB0aGUgdHJhbnNsYXRlZCBwYXRoLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJUYXJnZXRJZCIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iUmVtYWluaW5nUGF0aEluZGV4IiBUeXBlTmFtZT0ib3BjOlVJbnQz -MiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJCcm93c2VQYXRoUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg -ICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHJlc3VsdCBvZiBhIHRyYW5zbGF0ZSBvcGVhcmF0aW9u -Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBU -eXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZUYXJn -ZXRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGFyZ2V0 -cyIgVHlwZU5hbWU9InRuczpCcm93c2VQYXRoVGFyZ2V0IiBMZW5ndGhGaWVsZD0iTm9PZlRhcmdl -dHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg -TmFtZT0iVHJhbnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6 -RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VHJhbnNsYXRlcyBvbmUg -b3IgbW9yZSBwYXRocyBpbiB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRh -dGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6 -UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZCcm93c2VQYXRocyIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZVBhdGhz -IiBUeXBlTmFtZT0idG5zOkJyb3dzZVBhdGgiIExlbmd0aEZpZWxkPSJOb09mQnJvd3NlUGF0aHMi -IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt -ZT0iVHJhbnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4 -dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRyYW5zbGF0ZXMgb25lIG9y -IG1vcmUgcGF0aHMgaW4gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRvY3VtZW50YXRp -b24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpS -ZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBl -TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5h -bWU9InRuczpCcm93c2VQYXRoUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOklu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0i -dWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0K -ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJl -Z2lzdGVyTm9kZXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8 -b3BjOkRvY3VtZW50YXRpb24+UmVnaXN0ZXJzIG9uZSBvciBtb3JlIG5vZGVzIGZvciByZXBlYXRl -ZCB1c2Ugd2l0aGluIGEgc2Vzc2lvbi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVzVG9SZWdpc3RlciIgVHlwZU5hbWU9Im9wYzpJ -bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVzVG9SZWdpc3RlciIgVHlwZU5hbWU9 -InVhOk5vZGVJZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvUmVnaXN0ZXIiIC8+DQogIDwvb3Bj -OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVnaXN0ZXJO -b2Rlc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRv -Y3VtZW50YXRpb24+UmVnaXN0ZXJzIG9uZSBvciBtb3JlIG5vZGVzIGZvciByZXBlYXRlZCB1c2Ug -d2l0aGluIGEgc2Vzc2lvbi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJOb09mUmVnaXN0ZXJlZE5vZGVJZHMiIFR5cGVOYW1lPSJvcGM6SW50 -MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWdpc3RlcmVkTm9kZUlkcyIgVHlwZU5hbWU9 -InVhOk5vZGVJZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWdpc3RlcmVkTm9kZUlkcyIgLz4NCiAgPC9v -cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVbnJlZ2lz -dGVyTm9kZXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj -OkRvY3VtZW50YXRpb24+VW5yZWdpc3RlcnMgb25lIG9yIG1vcmUgcHJldmlvdXNseSByZWdpc3Rl -cmVkIG5vZGVzLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 -ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOb09mTm9kZXNUb1VucmVnaXN0ZXIiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rlc1RvVW5yZWdpc3RlciIgVHlwZU5hbWU9InVhOk5vZGVJ -ZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvVW5yZWdpc3RlciIgLz4NCiAgPC9vcGM6U3RydWN0 -dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVbnJlZ2lzdGVyTm9kZXNS -ZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVu -dGF0aW9uPlVucmVnaXN0ZXJzIG9uZSBvciBtb3JlIHByZXZpb3VzbHkgcmVnaXN0ZXJlZCBub2Rl -cy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFk -ZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJDb3VudGVyIj4NCiAgICA8b3BjOkRvY3Vt -ZW50YXRpb24+QSBtb25vdG9uaWNhbGx5IGluY3JlYXNpbmcgdmFsdWUuPC9vcGM6RG9jdW1lbnRh -dGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iTnVt -ZXJpY1JhbmdlIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+U3BlY2lmaWVzIGEgcmFuZ2Ugb2Yg -YXJyYXkgaW5kZXhlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0K -DQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJUaW1lIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+ -QSB0aW1lIHZhbHVlIHNwZWNpZmllZCBhcyBISDpNTTpTUy5TU1MuPC9vcGM6RG9jdW1lbnRhdGlv -bj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iRGF0ZSI+ -DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgZGF0ZSB2YWx1ZS48L29wYzpEb2N1bWVudGF0aW9u -Pg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRW5k -cG9pbnRDb25maWd1cmF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik9wZXJhdGlvblRpbWVvdXQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VCaW5hcnlFbmNvZGluZyIgVHlwZU5hbWU9Im9wYzpC -b29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4U3RyaW5nTGVuZ3RoIiBUeXBlTmFt -ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4Qnl0ZVN0cmluZ0xlbmd0 -aCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heEFycmF5 -TGVuZ3RoIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4 -TWVzc2FnZVNpemUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJNYXhCdWZmZXJTaXplIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iQ2hhbm5lbExpZmV0aW1lIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iU2VjdXJpdHlUb2tlbkxpZmV0aW1lIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9 -IkNvbXBsaWFuY2VMZXZlbCIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVk -VmFsdWUgTmFtZT0iVW50ZXN0ZWQiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh -bHVlIE5hbWU9IlBhcnRpYWwiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9IlNlbGZUZXN0ZWQiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9IkNlcnRpZmllZCIgVmFsdWU9IjMiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0K -DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3VwcG9ydGVkUHJvZmlsZSIgQmFzZVR5cGU9 -InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJPcmdhbml6YXRpb25V -cmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJvZmls -ZUlkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbXBs -aWFuY2VUb29sIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkNvbXBsaWFuY2VEYXRlIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iQ29tcGxpYW5jZUxldmVsIiBUeXBlTmFtZT0idG5zOkNvbXBsaWFuY2VMZXZlbCIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZVbnN1cHBvcnRlZFVuaXRJZHMiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVbnN1cHBvcnRlZFVuaXRJZHMi -IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlVuc3VwcG9ydGVkVW5pdElk -cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJTb2Z0d2FyZUNlcnRpZmljYXRlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlByb2R1Y3ROYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByb2R1Y3RVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5n -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmVuZG9yTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJp -bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWZW5kb3JQcm9kdWN0Q2VydGlmaWNhdGUiIFR5 -cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvZnR3YXJl -VmVyc2lvbiIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJC -dWlsZE51bWJlciIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJCdWlsZERhdGUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJJc3N1ZWRCeSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJJc3N1ZURhdGUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOb09mU3VwcG9ydGVkUHJvZmlsZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJTdXBwb3J0ZWRQcm9maWxlcyIgVHlwZU5hbWU9InRuczpTdXBw -b3J0ZWRQcm9maWxlIiBMZW5ndGhGaWVsZD0iTm9PZlN1cHBvcnRlZFByb2ZpbGVzIiAvPg0KICA8 -L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlF1ZXJ5 -RGF0YURlc2NyaXB0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlJlbGF0aXZlUGF0aCIgVHlwZU5hbWU9InRuczpSZWxhdGl2ZVBhdGgiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdHRyaWJ1dGVJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbmRleFJhbmdlIiBUeXBlTmFtZT0ib3BjOlN0cmlu -ZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJOb2RlVHlwZURlc2NyaXB0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlR5cGVEZWZpbml0aW9uTm9kZSIgVHlwZU5hbWU9InVhOkV4 -cGFuZGVkTm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5jbHVkZVN1YlR5cGVzIiBU -eXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGF0YVRv -UmV0dXJuIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0 -YVRvUmV0dXJuIiBUeXBlTmFtZT0idG5zOlF1ZXJ5RGF0YURlc2NyaXB0aW9uIiBMZW5ndGhGaWVs -ZD0iTm9PZkRhdGFUb1JldHVybiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w -YzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJGaWx0ZXJPcGVyYXRvciIgTGVuZ3RoSW5CaXRzPSIzMiI+ -DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRXF1YWxzIiBWYWx1ZT0iMCIgLz4NCiAg -ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJc051bGwiIFZhbHVlPSIxIiAvPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkdyZWF0ZXJUaGFuIiBWYWx1ZT0iMiIgLz4NCiAgICA8 -b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJMZXNzVGhhbiIgVmFsdWU9IjMiIC8+DQogICAgPG9w -YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iR3JlYXRlclRoYW5PckVxdWFsIiBWYWx1ZT0iNCIgLz4N -CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJMZXNzVGhhbk9yRXF1YWwiIFZhbHVlPSI1 -IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikxpa2UiIFZhbHVlPSI2IiAvPg0K -ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vdCIgVmFsdWU9IjciIC8+DQogICAgPG9w -YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQmV0d2VlbiIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpF -bnVtZXJhdGVkVmFsdWUgTmFtZT0iSW5MaXN0IiBWYWx1ZT0iOSIgLz4NCiAgICA8b3BjOkVudW1l -cmF0ZWRWYWx1ZSBOYW1lPSJBbmQiIFZhbHVlPSIxMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJPciIgVmFsdWU9IjExIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9IkNhc3QiIFZhbHVlPSIxMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJ -blZpZXciIFZhbHVlPSIxMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJPZlR5 -cGUiIFZhbHVlPSIxNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWxhdGVk -VG8iIFZhbHVlPSIxNSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCaXR3aXNl -QW5kIiBWYWx1ZT0iMTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQml0d2lz -ZU9yIiBWYWx1ZT0iMTciIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3Ry -dWN0dXJlZFR5cGUgTmFtZT0iUXVlcnlEYXRhU2V0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq -ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOkV4cGFuZGVk -Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHlwZURlZmluaXRpb25Ob2RlIiBUeXBl -TmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVmFs -dWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWVz -IiBUeXBlTmFtZT0idWE6VmFyaWFudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZWYWx1ZXMiIC8+DQogIDwv -b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm9kZVJl -ZmVyZW5jZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJSZWZlcmVuY2VUeXBlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJJc0ZvcndhcmQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VkTm9kZUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZWROb2RlSWRzIiBUeXBlTmFtZT0idWE6Tm9k -ZUlkIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZWROb2RlSWRzIiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNvbnRlbnRGaWx0ZXJF -bGVtZW50IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkZpbHRlck9wZXJhdG9yIiBUeXBlTmFtZT0idG5zOkZpbHRlck9wZXJhdG9yIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTm9PZkZpbHRlck9wZXJhbmRzIiBUeXBlTmFtZT0ib3BjOkludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmlsdGVyT3BlcmFuZHMiIFR5cGVOYW1lPSJ1YTpF -eHRlbnNpb25PYmplY3QiIExlbmd0aEZpZWxkPSJOb09mRmlsdGVyT3BlcmFuZHMiIC8+DQogIDwv -b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ29udGVu -dEZpbHRlciIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb09mRWxlbWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJFbGVtZW50cyIgVHlwZU5hbWU9InRuczpDb250ZW50RmlsdGVyRWxlbWVudCIgTGVu -Z3RoRmllbGQ9Ik5vT2ZFbGVtZW50cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg -PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJGaWx0ZXJPcGVyYW5kIiBCYXNlVHlwZT0idWE6RXh0 -ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJFbGVtZW50T3BlcmFuZCIgQmFzZVR5cGU9InRuczpGaWx0ZXJPcGVyYW5k -Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkluZGV4IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJM -aXRlcmFsT3BlcmFuZCIgQmFzZVR5cGU9InRuczpGaWx0ZXJPcGVyYW5kIj4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgLz4NCiAgPC9vcGM6U3RydWN0 -dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBdHRyaWJ1dGVPcGVyYW5k -IiBCYXNlVHlwZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9k -ZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWxpYXMi -IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlUGF0 -aCIgVHlwZU5hbWU9InRuczpSZWxhdGl2ZVBhdGgiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJB -dHRyaWJ1dGVJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJJbmRleFJhbmdlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl -ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTaW1wbGVBdHRyaWJ1dGVPcGVy -YW5kIiBCYXNlVHlwZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -VHlwZURlZmluaXRpb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vT2ZCcm93c2VQYXRoIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iQnJvd3NlUGF0aCIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIExlbmd0 -aEZpZWxkPSJOb09mQnJvd3NlUGF0aCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF0dHJpYnV0 -ZUlkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkluZGV4 -UmFuZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N -Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0 -IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0 -YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iTm9PZk9wZXJhbmRTdGF0dXNDb2RlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik9wZXJhbmRTdGF0dXNDb2RlcyIgVHlwZU5hbWU9InVhOlN0YXR1c0Nv -ZGUiIExlbmd0aEZpZWxkPSJOb09mT3BlcmFuZFN0YXR1c0NvZGVzIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9PZk9wZXJhbmREaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJPcGVyYW5kRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFt -ZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mT3BlcmFuZERpYWdub3N0aWNJ -bmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJDb250ZW50RmlsdGVyUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 -Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFbGVtZW50UmVzdWx0cyIgVHlwZU5hbWU9Im9w -YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVsZW1lbnRSZXN1bHRzIiBUeXBlTmFt -ZT0idG5zOkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZkVsZW1l -bnRSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkVsZW1lbnREaWFnbm9zdGlj -SW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbGVt -ZW50RGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZp -ZWxkPSJOb09mRWxlbWVudERpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJQYXJzaW5nUmVzdWx0IiBCYXNlVHlw -ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUi -IFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRh -dGFTdGF0dXNDb2RlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkRhdGFTdGF0dXNDb2RlcyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxk -PSJOb09mRGF0YVN0YXR1c0NvZGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRhdGFE -aWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJEYXRhRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExl -bmd0aEZpZWxkPSJOb09mRGF0YURpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl -ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJRdWVyeUZpcnN0UmVxdWVzdCIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 -ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJWaWV3IiBUeXBlTmFtZT0idG5zOlZpZXdEZXNjcmlwdGlvbiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vT2ZOb2RlVHlwZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJOb2RlVHlwZXMiIFR5cGVOYW1lPSJ0bnM6Tm9kZVR5cGVEZXNjcmlw -dGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2RlVHlwZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJGaWx0ZXIiIFR5cGVOYW1lPSJ0bnM6Q29udGVudEZpbHRlciIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik1heERhdGFTZXRzVG9SZXR1cm4iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTWF4UmVmZXJlbmNlc1RvUmV0dXJuIiBUeXBlTmFtZT0ib3BjOlVJ -bnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJRdWVyeUZpcnN0UmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVz -cG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUXVlcnlEYXRhU2V0cyIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlF1ZXJ5RGF0YVNl -dHMiIFR5cGVOYW1lPSJ0bnM6UXVlcnlEYXRhU2V0IiBMZW5ndGhGaWVsZD0iTm9PZlF1ZXJ5RGF0 -YVNldHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb250aW51YXRpb25Qb2ludCIgVHlwZU5h -bWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlBhcnNpbmdS -ZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGFy -c2luZ1Jlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6UGFyc2luZ1Jlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5v -T2ZQYXJzaW5nUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGlj -SW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFn -bm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5v -T2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXJSZXN1bHQi -IFR5cGVOYW1lPSJ0bnM6Q29udGVudEZpbHRlclJlc3VsdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJl -ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJRdWVyeU5leHRSZXF1ZXN0IiBC -YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVl -c3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlJlbGVhc2VDb250aW51YXRpb25Qb2ludCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29udGludWF0aW9uUG9pbnQiIFR5cGVOYW1lPSJvcGM6 -Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJRdWVyeU5leHRSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i -amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRu -czpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZRdWVyeURhdGFT -ZXRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVlcnlE -YXRhU2V0cyIgVHlwZU5hbWU9InRuczpRdWVyeURhdGFTZXQiIExlbmd0aEZpZWxkPSJOb09mUXVl -cnlEYXRhU2V0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRDb250aW51YXRpb25Q -b2ludCIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw -ZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlRpbWVzdGFtcHNUb1JldHVybiIgTGVu -Z3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU291cmNlIiBW -YWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTZXJ2ZXIiIFZhbHVl -PSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJvdGgiIFZhbHVlPSIyIiAv -Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5laXRoZXIiIFZhbHVlPSIzIiAvPg0K -ICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJl -YWRWYWx1ZUlkIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkF0dHJpYnV0ZUlkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkluZGV4UmFuZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iRGF0YUVuY29kaW5nIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgLz4NCiAg -PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWFk -UmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJNYXhBZ2UiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiBUeXBlTmFtZT0idG5zOlRpbWVzdGFt -cHNUb1JldHVybiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOb2Rlc1RvUmVhZCIgVHlw -ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVzVG9SZWFkIiBU -eXBlTmFtZT0idG5zOlJlYWRWYWx1ZUlkIiBMZW5ndGhGaWVsZD0iTm9PZk5vZGVzVG9SZWFkIiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -IlJlYWRSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOkRhdGFWYWx1 -ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P -ZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5n -dGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5UmVhZFZhbHVlSWQiIEJhc2VU -eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBU -eXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5kZXhSYW5nZSIg -VHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhRW5jb2Rp -bmciIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Q29udGludWF0aW9uUG9pbnQiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6 -U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5UmVh -ZFJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJIaXN0b3J5RGF0YSIgVHlwZU5hbWU9InVhOkV4dGVuc2lv -bk9iamVjdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk -VHlwZSBOYW1lPSJIaXN0b3J5UmVhZERldGFpbHMiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl -Y3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9IlJlYWRFdmVudERldGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik51bVZhbHVlc1Blck5vZGUiIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhcnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRh -dGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kVGltZSIgVHlwZU5hbWU9Im9wYzpE -YXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRlciIgVHlwZU5hbWU9InRuczpF -dmVudEZpbHRlciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJSZWFkUmF3TW9kaWZpZWREZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3Rv -cnlSZWFkRGV0YWlscyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc1JlYWRNb2RpZmllZCIgVHlw -ZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhcnRUaW1lIiBU -eXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kVGltZSIg -VHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik51bVZhbHVl -c1Blck5vZGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UmV0dXJuQm91bmRzIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVhZFByb2Nlc3NlZERldGFp -bHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlN0YXJ0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkVuZFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJQcm9jZXNzaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTm9PZkFnZ3JlZ2F0ZVR5cGUiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZ2dyZWdhdGVUeXBlIiBUeXBlTmFtZT0idWE6Tm9k -ZUlkIiBMZW5ndGhGaWVsZD0iTm9PZkFnZ3JlZ2F0ZVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBUeXBlTmFtZT0idG5zOkFnZ3JlZ2F0ZUNvbmZp -Z3VyYXRpb24iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl -ZFR5cGUgTmFtZT0iUmVhZEF0VGltZURldGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVJlYWRE -ZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXFUaW1lcyIgVHlwZU5hbWU9Im9w -YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcVRpbWVzIiBUeXBlTmFtZT0ib3Bj -OkRhdGVUaW1lIiBMZW5ndGhGaWVsZD0iTm9PZlJlcVRpbWVzIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iVXNlU2ltcGxlQm91bmRzIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3Bj -OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeURh -dGEiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Tm9PZkRhdGFWYWx1ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJEYXRhVmFsdWVzIiBUeXBlTmFtZT0idWE6RGF0YVZhbHVlIiBMZW5ndGhGaWVsZD0iTm9P -ZkRhdGFWYWx1ZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 -dXJlZFR5cGUgTmFtZT0iTW9kaWZpY2F0aW9uSW5mbyIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i -amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb2RpZmljYXRpb25UaW1lIiBUeXBlTmFtZT0i -b3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXBkYXRlVHlwZSIgVHlwZU5h -bWU9InRuczpIaXN0b3J5VXBkYXRlVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJO -YW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5TW9kaWZpZWREYXRhIiBCYXNlVHlw -ZT0idG5zOkhpc3RvcnlEYXRhIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEYXRhVmFsdWVz -IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVZhbHVl -cyIgVHlwZU5hbWU9InVhOkRhdGFWYWx1ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZEYXRhVmFsdWVzIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk1vZGlmaWNhdGlvbkluZm9zIiBUeXBlTmFtZT0i -b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9kaWZpY2F0aW9uSW5mb3MiIFR5 -cGVOYW1lPSJ0bnM6TW9kaWZpY2F0aW9uSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZNb2RpZmljYXRp -b25JbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk -VHlwZSBOYW1lPSJIaXN0b3J5RXZlbnQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkV2ZW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50cyIgVHlwZU5hbWU9InRuczpIaXN0b3J5RXZlbnRG -aWVsZExpc3QiIExlbmd0aEZpZWxkPSJOb09mRXZlbnRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlSZWFkUmVxdWVzdCIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 -ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJIaXN0b3J5UmVhZERldGFpbHMiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3Qi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iIFR5cGVOYW1lPSJ0 -bnM6VGltZXN0YW1wc1RvUmV0dXJuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVsZWFzZUNv -bnRpbnVhdGlvblBvaW50cyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9PZk5vZGVzVG9SZWFkIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iTm9kZXNUb1JlYWQiIFR5cGVOYW1lPSJ0bnM6SGlzdG9yeVJlYWRWYWx1 -ZUlkIiBMZW5ndGhGaWVsZD0iTm9PZk5vZGVzVG9SZWFkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlSZWFkUmVzcG9uc2Ui -IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVz -cG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6SGlzdG9yeVJlYWRSZXN1bHQiIExl -bmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFn -bm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmll -bGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog -IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iV3JpdGVWYWx1ZSIgQmFzZVR5cGU9InVhOkV4dGVu -c2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpO -b2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdHRyaWJ1dGVJZCIgVHlwZU5hbWU9Im9w -YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbmRleFJhbmdlIiBUeXBlTmFtZT0i -b3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0idWE6 -RGF0YVZhbHVlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy -ZWRUeXBlIE5hbWU9IldyaXRlUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVl -c3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTm9kZXNUb1dyaXRlIiBUeXBl -TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZXNUb1dyaXRlIiBU -eXBlTmFtZT0idG5zOldyaXRlVmFsdWUiIExlbmd0aEZpZWxkPSJOb09mTm9kZXNUb1dyaXRlIiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -IldyaXRlUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXND -b2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO -b09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExl -bmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw -ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlVcGRhdGVEZXRhaWxzIiBC -YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJ -ZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg -PG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJIaXN0b3J5VXBkYXRlVHlwZSIgTGVuZ3RoSW5CaXRz -PSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW5zZXJ0IiBWYWx1ZT0iMSIg -Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZXBsYWNlIiBWYWx1ZT0iMiIgLz4N -CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVcGRhdGUiIFZhbHVlPSIzIiAvPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRlbGV0ZSIgVmFsdWU9IjQiIC8+DQogIDwvb3Bj -OkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iUGVyZm9ybVVw -ZGF0ZVR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9Ikluc2VydCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i -UmVwbGFjZSIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVXBk -YXRlIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZW1vdmUi -IFZhbHVlPSI0IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy -ZWRUeXBlIE5hbWU9IlVwZGF0ZURhdGFEZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlVcGRh -dGVEZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5v -ZGVJZCIgU291cmNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iUGVyZm9ybUluc2VydFJlcGxhY2UiIFR5cGVOYW1lPSJ0bnM6UGVyZm9ybVVw -ZGF0ZVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVXBkYXRlVmFsdWVzIiBUeXBl -TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXBkYXRlVmFsdWVzIiBU -eXBlTmFtZT0idWE6RGF0YVZhbHVlIiBMZW5ndGhGaWVsZD0iTm9PZlVwZGF0ZVZhbHVlcyIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJV -cGRhdGVTdHJ1Y3R1cmVEYXRhRGV0YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0 -YWlscyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQi -IFNvdXJjZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlBlcmZvcm1JbnNlcnRSZXBsYWNlIiBUeXBlTmFtZT0idG5zOlBlcmZvcm1VcGRhdGVU -eXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlVwZGF0ZVZhbHVlcyIgVHlwZU5hbWU9 -Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVwZGF0ZVZhbHVlcyIgVHlwZU5h -bWU9InVhOkRhdGFWYWx1ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZVcGRhdGVWYWx1ZXMiIC8+DQogIDwv -b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVXBkYXRl -RXZlbnREZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0i -dG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGVyZm9y -bUluc2VydFJlcGxhY2UiIFR5cGVOYW1lPSJ0bnM6UGVyZm9ybVVwZGF0ZVR5cGUiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXIiIFR5cGVOYW1lPSJ0bnM6RXZlbnRGaWx0ZXIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRXZlbnREYXRhIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnREYXRhIiBUeXBlTmFtZT0idG5zOkhpc3RvcnlF -dmVudEZpZWxkTGlzdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZFdmVudERhdGEiIC8+DQogIDwvb3BjOlN0 -cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlUmF3TW9k -aWZpZWREZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0i -dG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNEZWxl -dGVNb2RpZmllZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iU3RhcnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iRW5kVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgPC9vcGM6U3RydWN0 -dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVBdFRpbWVEZXRh -aWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOkhpc3Rv -cnlVcGRhdGVEZXRhaWxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlcVRpbWVzIiBU -eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxVGltZXMiIFR5 -cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIExlbmd0aEZpZWxkPSJOb09mUmVxVGltZXMiIC8+DQogIDwv -b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRl -RXZlbnREZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0i -dG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkV2 -ZW50SWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZl -bnRJZHMiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZFdmVudElk -cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJIaXN0b3J5VXBkYXRlUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2Rl -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk9wZXJhdGlvblJlc3VsdHMiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJPcGVyYXRpb25SZXN1bHRzIiBU -eXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZPcGVyYXRpb25SZXN1bHRz -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9 -Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlw -ZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZv -cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJIaXN0b3J5VXBkYXRlUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVl -c3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mSGlzdG9yeVVwZGF0ZURldGFp -bHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJIaXN0b3J5 -VXBkYXRlRGV0YWlscyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgTGVuZ3RoRmllbGQ9 -Ik5vT2ZIaXN0b3J5VXBkYXRlRGV0YWlscyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5VXBkYXRlUmVzcG9uc2UiIEJhc2VU -eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VI -ZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6SGlzdG9yeVVwZGF0ZVJlc3VsdCIgTGVuZ3Ro -RmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0 -aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRp -YWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0i -Tm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w -YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDYWxsTWV0aG9kUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4 -dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJPYmplY3RJZCIgVHlwZU5hbWU9 -InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1ldGhvZElkIiBUeXBlTmFtZT0i -dWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZklucHV0QXJndW1lbnRzIiBU -eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5wdXRBcmd1bWVu -dHMiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiBMZW5ndGhGaWVsZD0iTm9PZklucHV0QXJndW1lbnRz -IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9IkNhbGxNZXRob2RSZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mSW5wdXRBcmd1bWVudFJlc3VsdHMiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbnB1dEFyZ3VtZW50UmVzdWx0 -cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mSW5wdXRBcmd1bWVu -dFJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mSW5wdXRBcmd1bWVudERpYWdu -b3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IklucHV0QXJndW1lbnREaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5m -byIgTGVuZ3RoRmllbGQ9Ik5vT2ZJbnB1dEFyZ3VtZW50RGlhZ25vc3RpY0luZm9zIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTm9PZk91dHB1dEFyZ3VtZW50cyIgVHlwZU5hbWU9Im9wYzpJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik91dHB1dEFyZ3VtZW50cyIgVHlwZU5hbWU9InVh -OlZhcmlhbnQiIExlbmd0aEZpZWxkPSJOb09mT3V0cHV0QXJndW1lbnRzIiAvPg0KICA8L29wYzpT -dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNhbGxSZXF1ZXN0 -IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl -cXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZNZXRob2RzVG9DYWxsIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTWV0aG9kc1RvQ2FsbCIgVHlwZU5hbWU9InRuczpDYWxsTWV0aG9k -UmVxdWVzdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZNZXRob2RzVG9DYWxsIiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNhbGxSZXNwb25zZSIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNw -b25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InRuczpDYWxsTWV0aG9kUmVzdWx0IiBMZW5n -dGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25v -c3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -RGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxk -PSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 -b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9Ik1vbml0b3JpbmdNb2RlIiBMZW5ndGhJbkJpdHM9IjMy -Ij4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEaXNhYmxlZCIgVmFsdWU9IjAiIC8+ -DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU2FtcGxpbmciIFZhbHVlPSIxIiAvPg0K -ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlcG9ydGluZyIgVmFsdWU9IjIiIC8+DQog -IDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRGF0 -YUNoYW5nZVRyaWdnZXIiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh -bHVlIE5hbWU9IlN0YXR1cyIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iU3RhdHVzVmFsdWUiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9IlN0YXR1c1ZhbHVlVGltZXN0YW1wIiBWYWx1ZT0iMiIgLz4NCiAgPC9vcGM6RW51bWVy -YXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJEZWFkYmFuZFR5cGUiIExl -bmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZh -bHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFic29sdXRlIiBWYWx1 -ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJQZXJjZW50IiBWYWx1ZT0i -MiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJNb25pdG9yaW5nRmlsdGVyIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg -PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRh -Q2hhbmdlRmlsdGVyIiBCYXNlVHlwZT0idG5zOk1vbml0b3JpbmdGaWx0ZXIiPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iVHJpZ2dlciIgVHlwZU5hbWU9InRuczpEYXRhQ2hhbmdlVHJpZ2dlciIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlYWRiYW5kVHlwZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZWFkYmFuZFZhbHVlIiBUeXBlTmFtZT0ib3BjOkRv -dWJsZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJFdmVudEZpbHRlciIgQmFzZVR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVyIj4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZWxlY3RDbGF1c2VzIiBUeXBlTmFtZT0ib3BjOkludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VsZWN0Q2xhdXNlcyIgVHlwZU5hbWU9InRuczpT -aW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiBMZW5ndGhGaWVsZD0iTm9PZlNlbGVjdENsYXVzZXMiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXaGVyZUNsYXVzZSIgVHlwZU5hbWU9InRuczpDb250ZW50 -RmlsdGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU -eXBlIE5hbWU9IkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P -YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlU2VydmVyQ2FwYWJpbGl0aWVzRGVmYXVs -dHMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyZWF0 -VW5jZXJ0YWluQXNCYWQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlBlcmNlbnREYXRhQmFkIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJQZXJjZW50RGF0YUdvb2QiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlVzZVNsb3BlZEV4dHJhcG9sYXRpb24iIFR5cGVOYW1lPSJvcGM6Qm9v -bGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJBZ2dyZWdhdGVGaWx0ZXIiIEJhc2VUeXBlPSJ0bnM6TW9uaXRvcmluZ0ZpbHRlciI+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGFydFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZ2dyZWdhdGVUeXBlIiBUeXBlTmFtZT0idWE6Tm9k -ZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJvY2Vzc2luZ0ludGVydmFsIiBUeXBlTmFt -ZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFnZ3JlZ2F0ZUNvbmZpZ3Vy -YXRpb24iIFR5cGVOYW1lPSJ0bnM6QWdncmVnYXRlQ29uZmlndXJhdGlvbiIgLz4NCiAgPC9vcGM6 -U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb25pdG9yaW5n -RmlsdGVyUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFdmVudEZpbHRlclJl -c3VsdCIgQmFzZVR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVyUmVzdWx0Ij4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZTZWxlY3RDbGF1c2VSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VsZWN0Q2xhdXNlUmVzdWx0cyIgVHlwZU5hbWU9InVh -OlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mU2VsZWN0Q2xhdXNlUmVzdWx0cyIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZWxlY3RDbGF1c2VEaWFnbm9zdGljSW5mb3MiIFR5cGVO -YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWxlY3RDbGF1c2VEaWFn -bm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5v -T2ZTZWxlY3RDbGF1c2VEaWFnbm9zdGljSW5mb3MiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJX -aGVyZUNsYXVzZVJlc3VsdCIgVHlwZU5hbWU9InRuczpDb250ZW50RmlsdGVyUmVzdWx0IiAvPg0K -ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFn -Z3JlZ2F0ZUZpbHRlclJlc3VsdCIgQmFzZVR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVyUmVzdWx0 -Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRTdGFydFRpbWUiIFR5cGVOYW1lPSJvcGM6 -RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkUHJvY2Vzc2luZ0ludGVy -dmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlz -ZWRBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBUeXBlTmFtZT0idG5zOkFnZ3JlZ2F0ZUNvbmZpZ3Vy -YXRpb24iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iTW9uaXRvcmluZ1BhcmFtZXRlcnMiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl -Y3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50SGFuZGxlIiBUeXBlTmFtZT0ib3BjOlVJ -bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNhbXBsaW5nSW50ZXJ2YWwiIFR5cGVOYW1l -PSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmlsdGVyIiBUeXBlTmFtZT0i -dWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVldWVTaXplIiBU -eXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2NhcmRPbGRl -c3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJdGVt -VG9Nb25pdG9yIiBUeXBlTmFtZT0idG5zOlJlYWRWYWx1ZUlkIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTW9uaXRvcmluZ01vZGUiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmluZ01vZGUiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRQYXJhbWV0ZXJzIiBUeXBlTmFtZT0idG5zOk1v -bml0b3JpbmdQYXJhbWV0ZXJzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -OlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIEJhc2VUeXBl -PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIg -VHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb25pdG9y -ZWRJdGVtSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UmV2aXNlZFNhbXBsaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iUmV2aXNlZFF1ZXVlU2l6ZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXJSZXN1bHQiIFR5cGVOYW1lPSJ1YTpFeHRlbnNp -b25PYmplY3QiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl -ZFR5cGUgTmFtZT0iQ3JlYXRlTW9uaXRvcmVkSXRlbXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0 -ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVO -YW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlw -dGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRp -bWVzdGFtcHNUb1JldHVybiIgVHlwZU5hbWU9InRuczpUaW1lc3RhbXBzVG9SZXR1cm4iIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mSXRlbXNUb0NyZWF0ZSIgVHlwZU5hbWU9Im9wYzpJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikl0ZW1zVG9DcmVhdGUiIFR5cGVOYW1lPSJ0bnM6 -TW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIExlbmd0aEZpZWxkPSJOb09mSXRlbXNUb0NyZWF0 -ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJDcmVhdGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u -T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0i -dG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMi -IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBU -eXBlTmFtZT0idG5zOk1vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09m -UmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5 -cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5m -b3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9z -dGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl -ZFR5cGUgTmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRl -bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmVkSXRlbUlkIiBUeXBl -TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZFBhcmFt -ZXRlcnMiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmluZ1BhcmFtZXRlcnMiIC8+DQogIDwvb3BjOlN0 -cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9uaXRvcmVkSXRl -bU1vZGlmeVJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRTYW1wbGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRv -dWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRRdWV1ZVNpemUiIFR5cGVOYW1l -PSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmlsdGVyUmVzdWx0IiBUeXBl -TmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vZGlmeU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 -ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iIFR5cGVOYW1lPSJ0bnM6VGltZXN0YW1w -c1RvUmV0dXJuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkl0ZW1zVG9Nb2RpZnkiIFR5 -cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJdGVtc1RvTW9kaWZ5 -IiBUeXBlTmFtZT0idG5zOk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiBMZW5ndGhGaWVsZD0i -Tm9PZkl0ZW1zVG9Nb2RpZnkiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 -U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhl -YWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InRuczpNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0IiBM -ZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlh -Z25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZp -ZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNldE1vbml0b3JpbmdNb2RlUmVxdWVzdCIgQmFz -ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0 -SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJNb25pdG9yaW5nTW9kZSIgVHlwZU5hbWU9InRuczpNb25pdG9yaW5nTW9kZSIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZNb25pdG9yZWRJdGVtSWRzIiBUeXBlTmFtZT0i -b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmVkSXRlbUlkcyIgVHlw -ZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mTW9uaXRvcmVkSXRlbUlkcyIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJT -ZXRNb25pdG9yaW5nTW9kZVJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3Bv -bnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0i -dWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0 -aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXRUcmlnZ2VyaW5n -UmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmlnZ2VyaW5nSXRlbUlkIiBUeXBlTmFtZT0ib3BjOlVJ -bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZMaW5rc1RvQWRkIiBUeXBlTmFtZT0i -b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGlua3NUb0FkZCIgVHlwZU5hbWU9 -Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mTGlua3NUb0FkZCIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZMaW5rc1RvUmVtb3ZlIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTGlua3NUb1JlbW92ZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIExl -bmd0aEZpZWxkPSJOb09mTGlua3NUb1JlbW92ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXRUcmlnZ2VyaW5nUmVzcG9uc2UiIEJh -c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9u -c2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOb09mQWRkUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IkFkZFJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhG -aWVsZD0iTm9PZkFkZFJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQWRkRGlh -Z25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iQWRkRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0 -aEZpZWxkPSJOb09mQWRkRGlhZ25vc3RpY0luZm9zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Tm9PZlJlbW92ZVJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJSZW1vdmVSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmll -bGQ9Ik5vT2ZSZW1vdmVSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlbW92 -ZURpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlJlbW92ZURpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZv -IiBMZW5ndGhGaWVsZD0iTm9PZlJlbW92ZURpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVNb25pdG9y -ZWRJdGVtc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk1vbml0b3JlZEl0ZW1JZHMiIFR5cGVO -YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb25pdG9yZWRJdGVtSWRz -IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZNb25pdG9yZWRJdGVtSWRz -IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P -YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0 -bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5 -cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6 -RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8 -L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNyZWF0 -ZVN1YnNjcmlwdGlvblJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVh -ZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFs -IiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3Rl -ZExpZmV0aW1lQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iUmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2giIFR5cGVO -YW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaGluZ0VuYWJs -ZWQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByaW9y -aXR5IiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog -IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ3JlYXRlU3Vic2NyaXB0aW9uUmVzcG9uc2UiIEJh -c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9u -c2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJSZXZpc2VkUHVibGlzaGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRv -dWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRMaWZldGltZUNvdW50IiBUeXBl -TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRNYXhLZWVw -QWxpdmVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9kaWZ5U3Vic2NyaXB0aW9uUmVx -dWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWwiIFR5cGVOYW1l -PSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkTGlmZXRpbWVD -b3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 -ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJNYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaCIgVHlwZU5hbWU9Im9wYzpV -SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcmlvcml0eSIgVHlwZU5hbWU9Im9wYzpC -eXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl -IE5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvblJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u -T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0i -dG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZFB1Ymxp -c2hpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJSZXZpc2VkTGlmZXRpbWVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkTWF4S2VlcEFsaXZlQ291bnQiIFR5cGVOYW1lPSJvcGM6 -VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU -eXBlIE5hbWU9IlNldFB1Ymxpc2hpbmdNb2RlUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lv -bk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0i -dG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nRW5h -YmxlZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P -ZlN1YnNjcmlwdGlvbklkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlN1YnNjcmlwdGlvbklkcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxk -PSJOb09mU3Vic2NyaXB0aW9uSWRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 -b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNldFB1Ymxpc2hpbmdNb2RlUmVzcG9uc2UiIEJhc2VU -eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VI -ZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9P -ZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBU -eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0lu -Zm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25v -c3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy -ZWRUeXBlIE5hbWU9Ik5vdGlmaWNhdGlvbk1lc3NhZ2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P -YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VxdWVuY2VOdW1iZXIiIFR5cGVOYW1lPSJv -cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaFRpbWUiIFR5cGVOYW1l -PSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTm90aWZpY2F0aW9u -RGF0YSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vdGlm -aWNhdGlvbkRhdGEiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIExlbmd0aEZpZWxkPSJO -b09mTm90aWZpY2F0aW9uRGF0YSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w -YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJOb3RpZmljYXRpb25EYXRhIiBCYXNlVHlwZT0idWE6RXh0 -ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJEYXRhQ2hhbmdlTm90aWZpY2F0aW9uIiBCYXNlVHlwZT0idG5zOk5vdGlm -aWNhdGlvbkRhdGEiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk1vbml0b3JlZEl0ZW1zIiBU -eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmVkSXRl -bXMiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiIgTGVuZ3RoRmllbGQ9 -Ik5vT2ZNb25pdG9yZWRJdGVtcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9z -dGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE -aWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9 -Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv -cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnRIYW5k -bGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWUi -IFR5cGVOYW1lPSJ1YTpEYXRhVmFsdWUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog -IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRXZlbnROb3RpZmljYXRpb25MaXN0IiBCYXNlVHlw -ZT0idG5zOk5vdGlmaWNhdGlvbkRhdGEiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkV2ZW50 -cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50cyIg -VHlwZU5hbWU9InRuczpFdmVudEZpZWxkTGlzdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZFdmVudHMiIC8+ -DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i -RXZlbnRGaWVsZExpc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iQ2xpZW50SGFuZGxlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFdmVudEZpZWxkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50RmllbGRzIiBUeXBlTmFtZT0idWE6VmFyaWFudCIg -TGVuZ3RoRmllbGQ9Ik5vT2ZFdmVudEZpZWxkcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5RXZlbnRGaWVsZExpc3QiIEJh -c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkV2 -ZW50RmllbGRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -RXZlbnRGaWVsZHMiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiBMZW5ndGhGaWVsZD0iTm9PZkV2ZW50 -RmllbGRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU -eXBlIE5hbWU9IlN0YXR1c0NoYW5nZU5vdGlmaWNhdGlvbiIgQmFzZVR5cGU9InRuczpOb3RpZmlj -YXRpb25EYXRhIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1cyIgVHlwZU5hbWU9InVhOlN0 -YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mbyIgVHlwZU5h -bWU9InVhOkRpYWdub3N0aWNJbmZvIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 -b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudCIgQmFz -ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3Jp -cHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT -ZXF1ZW5jZU51bWJlciIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUHVibGlzaFJlcXVlc3QiIEJh -c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVz -dEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTm9PZlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudHMiIFR5cGVOYW1lPSJvcGM6SW50 -MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnRz -IiBUeXBlTmFtZT0idG5zOlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudCIgTGVuZ3RoRmllbGQ9 -Ik5vT2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlB1Ymxpc2hSZXNwb25zZSIgQmFz -ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25z -ZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vT2ZBdmFpbGFibGVTZXF1ZW5jZU51bWJlcnMiIFR5cGVOYW1lPSJvcGM6 -SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdmFpbGFibGVTZXF1ZW5jZU51bWJlcnMi -IFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkF2YWlsYWJsZVNlcXVlbmNl -TnVtYmVycyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vcmVOb3RpZmljYXRpb25zIiBUeXBl -TmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb3RpZmljYXRpb25N -ZXNzYWdlIiBUeXBlTmFtZT0idG5zOk5vdGlmaWNhdGlvbk1lc3NhZ2UiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVs -ZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0lu -Zm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25v -c3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09m -RGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 -cnVjdHVyZWRUeXBlIE5hbWU9IlJlcHVibGlzaFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp -b25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9 -InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9u -SWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV0cmFu -c21pdFNlcXVlbmNlTnVtYmVyIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZXB1Ymxpc2hSZXNw -b25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vdGlmaWNhdGlvbk1lc3NhZ2UiIFR5cGVOYW1lPSJ0bnM6Tm90aWZp -Y2F0aW9uTWVzc2FnZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 -Y3R1cmVkVHlwZSBOYW1lPSJUcmFuc2ZlclJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i -amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3Rh -dHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBdmFpbGFibGVTZXF1ZW5jZU51 -bWJlcnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdmFp -bGFibGVTZXF1ZW5jZU51bWJlcnMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0i -Tm9PZkF2YWlsYWJsZVNlcXVlbmNlTnVtYmVycyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJUcmFuc2ZlclN1YnNjcmlwdGlvbnNSZXF1 -ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vT2ZTdWJzY3JpcHRpb25JZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZHMiIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiBMZW5ndGhGaWVsZD0iTm9PZlN1YnNjcmlwdGlvbklkcyIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlNlbmRJbml0aWFsVmFsdWVzIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwv -b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVHJhbnNm -ZXJTdWJzY3JpcHRpb25zUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9u -c2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9 -Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0 -bnM6VHJhbnNmZXJSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFn -bm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3Bj -OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlU3Vi -c2NyaXB0aW9uc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlN1YnNjcmlwdGlvbklkcyIgVHlwZU5hbWU9 -Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkcyIgVHlw -ZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mU3Vic2NyaXB0aW9uSWRzIiAvPg0K -ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRl -bGV0ZVN1YnNjcmlwdGlvbnNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNw -b25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFt -ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9 -InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9z -dGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0 -cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRW51bWVyYXRlZFRl -c3RUeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBzaW1w -bGUgZW51bWVyYXRlZCB0eXBlIHVzZWQgZm9yIHRlc3RpbmcuPC9vcGM6RG9jdW1lbnRhdGlvbj4N -CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWQiIFZhbHVlPSIxIiAvPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlllbGxvdyIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpF -bnVtZXJhdGVkVmFsdWUgTmFtZT0iR3JlZW4iIFZhbHVlPSI1IiAvPg0KICA8L29wYzpFbnVtZXJh -dGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJ1aWxkSW5mbyIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcm9kdWN0VXJp -IiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1hbnVmYWN0 -dXJlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UHJvZHVjdE5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iU29mdHdhcmVWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkJ1aWxkTnVtYmVyIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IkJ1aWxkRGF0ZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgPC9v -cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJSZWR1bmRh -bmN5U3VwcG9ydCIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i -Q29sZCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iV2FybSIg -VmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSG90IiBWYWx1ZT0i -MyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJUcmFuc3BhcmVudCIgVmFsdWU9 -IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSG90QW5kTWlycm9yZWQiIFZh -bHVlPSI1IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRU -eXBlIE5hbWU9IlNlcnZlclN0YXRlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1l -cmF0ZWRWYWx1ZSBOYW1lPSJSdW5uaW5nIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0 -ZWRWYWx1ZSBOYW1lPSJGYWlsZWQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh -bHVlIE5hbWU9Ik5vQ29uZmlndXJhdGlvbiIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJh -dGVkVmFsdWUgTmFtZT0iU3VzcGVuZGVkIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0 -ZWRWYWx1ZSBOYW1lPSJTaHV0ZG93biIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk -VmFsdWUgTmFtZT0iVGVzdCIgVmFsdWU9IjUiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iQ29tbXVuaWNhdGlvbkZhdWx0IiBWYWx1ZT0iNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0 -ZWRWYWx1ZSBOYW1lPSJVbmtub3duIiBWYWx1ZT0iNyIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlw -ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT -ZXJ2ZXJJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT -ZXJ2aWNlTGV2ZWwiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlNlcnZlclN0YXRlIiBUeXBlTmFtZT0idG5zOlNlcnZlclN0YXRlIiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkVuZHBvaW50VXJsTGlz -dERhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vT2ZFbmRwb2ludFVybExpc3QiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybExpc3QiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBM -ZW5ndGhGaWVsZD0iTm9PZkVuZHBvaW50VXJsTGlzdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJOZXR3b3JrR3JvdXBEYXRhVHlwZSIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2 -ZXJVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P -Zk5ldHdvcmtQYXRocyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ik5ldHdvcmtQYXRocyIgVHlwZU5hbWU9InRuczpFbmRwb2ludFVybExpc3REYXRhVHlwZSIg -TGVuZ3RoRmllbGQ9Ik5vT2ZOZXR3b3JrUGF0aHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl -Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0 -aWNzRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iU2FtcGxpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJNb25pdG9yZWRJdGVtQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4TW9uaXRvcmVkSXRlbUNvdW50IiBUeXBlTmFt -ZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2FibGVkTW9uaXRvcmVk -SXRlbUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXJ2ZXJEaWFnbm9zdGljc1N1bW1h -cnlEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJTZXJ2ZXJWaWV3Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iQ3VycmVudFNlc3Npb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdW11bGF0ZWRTZXNzaW9uQ291bnQiIFR5cGVOYW1l -PSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlSZWplY3RlZFNl -c3Npb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJSZWplY3RlZFNlc3Npb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJTZXNzaW9uVGltZW91dENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlc3Npb25BYm9ydENvdW50IiBUeXBlTmFtZT0ib3Bj -OlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1cnJlbnRTdWJzY3JpcHRpb25Db3Vu -dCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdW11bGF0 -ZWRTdWJzY3JpcHRpb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJQdWJsaXNoaW5nSW50ZXJ2YWxDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eVJlamVjdGVkUmVxdWVzdHNDb3VudCIg -VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWplY3RlZFJl -cXVlc3RzQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNlcnZlclN0YXR1c0RhdGFUeXBl -IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0 -YXJ0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkN1cnJlbnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iU3RhdGUiIFR5cGVOYW1lPSJ0bnM6U2VydmVyU3RhdGUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJCdWlsZEluZm8iIFR5cGVOYW1lPSJ0bnM6QnVpbGRJbmZvIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iU2Vjb25kc1RpbGxTaHV0ZG93biIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTaHV0ZG93blJlYXNvbiIgVHlwZU5hbWU9InVhOkxvY2Fs -aXplZFRleHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl -ZFR5cGUgTmFtZT0iU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRl -bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvbklkIiBUeXBlTmFtZT0i -dWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvbk5hbWUiIFR5cGVOYW1l -PSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50RGVzY3JpcHRpb24i -IFR5cGVOYW1lPSJ0bnM6QXBwbGljYXRpb25EZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlNlcnZlclVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJFbmRwb2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJOb09mTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmll -bGQ9Ik5vT2ZMb2NhbGVJZHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBY3R1YWxTZXNzaW9u -VGltZW91dCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJN -YXhSZXNwb25zZU1lc3NhZ2VTaXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IkNsaWVudENvbm5lY3Rpb25UaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1l -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50TGFzdENvbnRhY3RUaW1lIiBUeXBlTmFt -ZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3VycmVudFN1YnNjcmlw -dGlvbnNDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJDdXJyZW50TW9uaXRvcmVkSXRlbXNDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJDdXJyZW50UHVibGlzaFJlcXVlc3RzSW5RdWV1ZSIgVHlwZU5h -bWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUb3RhbFJlcXVlc3RDb3Vu -dCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iVW5hdXRob3JpemVkUmVxdWVzdENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlYWRDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNl -Q291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSGlzdG9yeVJlYWRDb3Vu -dCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iV3JpdGVDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBl -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSGlzdG9yeVVwZGF0ZUNvdW50IiBUeXBlTmFtZT0i -dG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDYWxs -Q291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2Vy -dmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vZGlmeU1vbml0 -b3JlZEl0ZW1zQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNldE1vbml0b3JpbmdNb2RlQ291bnQiIFR5cGVOYW1lPSJ0 -bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNldFRy -aWdnZXJpbmdDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iRGVsZXRlTW9uaXRvcmVkSXRlbXNDb3VudCIgVHlwZU5hbWU9 -InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3Jl -YXRlU3Vic2NyaXB0aW9uQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlw -ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvbkNvdW50IiBUeXBl -TmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJTZXRQdWJsaXNoaW5nTW9kZUNvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0 -YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoQ291bnQiIFR5cGVOYW1lPSJ0 -bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcHVi -bGlzaENvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJUcmFuc2ZlclN1YnNjcmlwdGlvbnNDb3VudCIgVHlwZU5hbWU9InRu -czpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVsZXRl -U3Vic2NyaXB0aW9uc0NvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGROb2Rlc0NvdW50IiBUeXBlTmFtZT0idG5zOlNl -cnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGRSZWZlcmVu -Y2VzQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IkRlbGV0ZU5vZGVzQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNv -dW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlbGV0ZVJlZmVyZW5jZXND -b3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iQnJvd3NlQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRh -VHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5leHRDb3VudCIgVHlwZU5hbWU9 -InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJh -bnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291 -bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVlcnlGaXJzdENvdW50IiBU -eXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJRdWVyeU5leHRDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBl -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVnaXN0ZXJOb2Rlc0NvdW50IiBUeXBlTmFtZT0i -dG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVbnJl -Z2lzdGVyTm9kZXNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -IlNlc3Npb25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp -b25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6 -Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50VXNlcklkT2ZTZXNzaW9uIiBU -eXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZDbGllbnRV -c2VySWRIaXN0b3J5IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iQ2xpZW50VXNlcklkSGlzdG9yeSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxk -PSJOb09mQ2xpZW50VXNlcklkSGlzdG9yeSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF1dGhl -bnRpY2F0aW9uTWVjaGFuaXNtIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkVuY29kaW5nIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlRyYW5zcG9ydFByb3RvY29sIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TW9kZSIgVHlwZU5hbWU9InRuczpNZXNzYWdlU2Vj -dXJpdHlNb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlQb2xpY3lVcmkiIFR5 -cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50Q2VydGlm -aWNhdGUiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXJ2aWNlQ291bnRlckRhdGFUeXBl -IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRv -dGFsQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -RXJyb3JDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3RhdHVzUmVzdWx0IiBCYXNlVHlw -ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUi -IFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25v -c3RpY0luZm8iIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgLz4NCiAgPC9vcGM6U3RydWN0 -dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTdWJzY3JpcHRpb25EaWFn -bm9zdGljc0RhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlByaW9yaXR5IiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91Ymxl -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4S2VlcEFsaXZlQ291bnQiIFR5cGVOYW1lPSJv -cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4TGlmZXRpbWVDb3VudCIgVHlw -ZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhOb3RpZmljYXRp -b25zUGVyUHVibGlzaCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJQdWJsaXNoaW5nRW5hYmxlZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iTW9kaWZ5Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iRW5hYmxlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzYWJsZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcHVibGlzaFJlcXVlc3RDb3VudCIgVHlwZU5hbWU9 -Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXB1Ymxpc2hNZXNzYWdlUmVx -dWVzdENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlJlcHVibGlzaE1lc3NhZ2VDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJUcmFuc2ZlclJlcXVlc3RDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc2ZlcnJlZFRvQWx0Q2xpZW50Q291bnQiIFR5 -cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNmZXJyZWRU -b1NhbWVDbGllbnRDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJQdWJsaXNoUmVxdWVzdENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFDaGFuZ2VOb3RpZmljYXRpb25zQ291bnQiIFR5cGVOYW1l -PSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnROb3RpZmljYXRpb25z -Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm90 -aWZpY2F0aW9uc0NvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkxhdGVQdWJsaXNoUmVxdWVzdENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1cnJlbnRLZWVwQWxpdmVDb3VudCIgVHlwZU5hbWU9Im9w -YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdXJyZW50TGlmZXRpbWVDb3VudCIg -VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVbmFja25vd2xl -ZGdlZE1lc3NhZ2VDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJEaXNjYXJkZWRNZXNzYWdlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmVkSXRlbUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJ -bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2FibGVkTW9uaXRvcmVkSXRlbUNvdW50 -IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3Jp -bmdRdWV1ZU92ZXJmbG93Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iTmV4dFNlcXVlbmNlTnVtYmVyIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50UXVldWVPdmVyRmxvd0NvdW50IiBUeXBlTmFtZT0i -b3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJh -dGVkVHlwZSBOYW1lPSJNb2RlbENoYW5nZVN0cnVjdHVyZVZlcmJNYXNrIiBMZW5ndGhJbkJpdHM9 -IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlQWRkZWQiIFZhbHVlPSIx -IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vZGVEZWxldGVkIiBWYWx1ZT0i -MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWZlcmVuY2VBZGRlZCIgVmFs -dWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlRGVsZXRl -ZCIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGF0YVR5cGVD -aGFuZ2VkIiBWYWx1ZT0iMTYiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6 -U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZmZlY3RlZCIg -VHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFmZmVjdGVkVHlw -ZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZlcmIiIFR5 -cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT -dHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZW1hbnRpY0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiBCYXNl -VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFmZmVjdGVk -IiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWZmZWN0ZWRU -eXBlIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJhbmdlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u -T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvdyIgVHlwZU5hbWU9Im9wYzpEb3VibGUi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJIaWdoIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJF -VUluZm9ybWF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5hbWVzcGFjZVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJVbml0SWQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRl -eHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUg -TmFtZT0iQXhpc1NjYWxlRW51bWVyYXRpb24iIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6 -RW51bWVyYXRlZFZhbHVlIE5hbWU9IkxpbmVhciIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVt -ZXJhdGVkVmFsdWUgTmFtZT0iTG9nIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJMbiIgVmFsdWU9IjIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQog -IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ29tcGxleE51bWJlclR5cGUiIEJhc2VUeXBlPSJ1 -YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVhbCIgVHlwZU5hbWU9 -Im9wYzpGbG9hdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkltYWdpbmFyeSIgVHlwZU5hbWU9 -Im9wYzpGbG9hdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJEb3VibGVDb21wbGV4TnVtYmVyVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVu -c2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWFsIiBUeXBlTmFtZT0ib3BjOkRv -dWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkltYWdpbmFyeSIgVHlwZU5hbWU9Im9wYzpE -b3VibGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iQXhpc0luZm9ybWF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZ2luZWVyaW5nVW5pdHMiIFR5cGVOYW1lPSJ0bnM6RVVJ -bmZvcm1hdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVVUmFuZ2UiIFR5cGVOYW1lPSJ0 -bnM6UmFuZ2UiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaXRsZSIgVHlwZU5hbWU9InVhOkxv -Y2FsaXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBeGlzU2NhbGVUeXBlIiBUeXBl -TmFtZT0idG5zOkF4aXNTY2FsZUVudW1lcmF0aW9uIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Tm9PZkF4aXNTdGVwcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkF4aXNTdGVwcyIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIExlbmd0aEZpZWxkPSJOb09mQXhp -c1N0ZXBzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU -eXBlIE5hbWU9IlhWVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJYIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0ib3BjOkZsb2F0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlByb2dyYW1EaWFnbm9zdGljRGF0 -YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iQ3JlYXRlU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iQ3JlYXRlQ2xpZW50TmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJJbnZvY2F0aW9uQ3JlYXRpb25UaW1lIiBUeXBlTmFtZT0ib3BjOkRh -dGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdFRyYW5zaXRpb25UaW1lIiBUeXBl -TmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZENh -bGwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1l -dGhvZFNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ik5vT2ZMYXN0TWV0aG9kSW5wdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kSW5wdXRBcmd1bWVudHMiIFR5cGVOYW1l -PSJ0bnM6QXJndW1lbnQiIExlbmd0aEZpZWxkPSJOb09mTGFzdE1ldGhvZElucHV0QXJndW1lbnRz -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxhc3RNZXRob2RPdXRwdXRBcmd1bWVudHMi -IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9k -T3V0cHV0QXJndW1lbnRzIiBUeXBlTmFtZT0idG5zOkFyZ3VtZW50IiBMZW5ndGhGaWVsZD0iTm9P -Zkxhc3RNZXRob2RPdXRwdXRBcmd1bWVudHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0 -TWV0aG9kQ2FsbFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJMYXN0TWV0aG9kUmV0dXJuU3RhdHVzIiBUeXBlTmFtZT0idG5zOlN0YXR1c1Jlc3Vs -dCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJBbm5vdGF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik1lc3NhZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iVXNlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iQW5ub3RhdGlvblRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRXhj -ZXB0aW9uRGV2aWF0aW9uRm9ybWF0IiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1l -cmF0ZWRWYWx1ZSBOYW1lPSJBYnNvbHV0ZVZhbHVlIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVu -dW1lcmF0ZWRWYWx1ZSBOYW1lPSJQZXJjZW50T2ZWYWx1ZSIgVmFsdWU9IjEiIC8+DQogICAgPG9w -YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUGVyY2VudE9mUmFuZ2UiIFZhbHVlPSIyIiAvPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlBlcmNlbnRPZkVVUmFuZ2UiIFZhbHVlPSIzIiAv -Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVua25vd24iIFZhbHVlPSI0IiAvPg0K -ICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KPC9vcGM6VHlwZURpY3Rpb25hcnk+ - - - - NamespaceUri - A URI that uniquely identifies the dictionary. - - i=68 - i=7617 - - - http://opcfoundation.org/UA/ - - - - TrustListDataType - - i=69 - i=7617 - - - TrustListDataType - - - - Argument - - i=69 - i=7617 - - - Argument - - - - EnumValueType - - i=69 - i=7617 - - - EnumValueType - - - - OptionSet - - i=69 - i=7617 - - - OptionSet - - - - Union - - i=69 - i=7617 - - - Union - - - - 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 - - - - KerberosIdentityToken - - i=69 - i=7617 - - - KerberosIdentityToken - - - - 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 - - - - SupportedProfile - - i=69 - i=7617 - - - SupportedProfile - - - - SoftwareCertificate - - i=69 - i=7617 - - - SoftwareCertificate - - - - 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 - - - - Annotation - - i=69 - i=7617 - - - Annotation - - - \ No newline at end of file + + + + + + + + + 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 + + + Default Binary + The default binary encoding for a data type. + + i=58 + + + + Default XML + The default XML encoding for a data type. + + i=58 + + + + BaseDataType + Describes a value that can have any valid DataType. + + + + Number + Describes a value that can have any numeric DataType. + + i=24 + + + + Integer + Describes a value that can have any integer DataType. + + i=26 + + + + UInteger + Describes a value that can have any unsigned integer DataType. + + i=26 + + + + Enumeration + Describes a value that is an enumerated DataType. + + i=24 + + + + Boolean + Describes a value that is either TRUE or FALSE. + + i=24 + + + + SByte + Describes a value that is an integer between -128 and 127. + + i=27 + + + + Byte + Describes a value that is an integer between 0 and 255. + + i=28 + + + + Int16 + Describes a value that is an integer between −32,768 and 32,767. + + i=27 + + + + UInt16 + Describes a value that is an integer between 0 and 65535. + + i=28 + + + + Int32 + Describes a value that is an integer between −2,147,483,648 and 2,147,483,647. + + i=27 + + + + UInt32 + Describes a value that is an integer between 0 and 4,294,967,295. + + i=28 + + + + Int64 + Describes a value that is an integer between −9,223,372,036,854,775,808 and 9,223,372,036,854,775,807. + + i=27 + + + + UInt64 + Describes a value that is an integer between 0 and 18,446,744,073,709,551,615. + + i=28 + + + + Float + Describes a value that is an IEEE 754-1985 single precision floating point number. + + i=26 + + + + Double + Describes a value that is an IEEE 754-1985 double precision floating point number. + + i=26 + + + + String + Describes a value that is a sequence of printable Unicode characters. + + i=24 + + + + DateTime + Describes a value that is a Gregorian calender date and time. + + i=24 + + + + Guid + Describes a value that is a 128-bit globally unique identifier. + + i=24 + + + + ByteString + Describes a value that is a sequence of bytes. + + i=24 + + + + XmlElement + Describes a value that is an XML element. + + i=24 + + + + NodeId + Describes a value that is an identifier for a node within a Server address space. + + i=24 + + + + ExpandedNodeId + Describes a value that is an absolute identifier for a node. + + i=24 + + + + StatusCode + Describes a value that is a code representing the outcome of an operation by a Server. + + i=24 + + + + QualifiedName + Describes a value that is a name qualified by a namespace. + + i=24 + + + + LocalizedText + Describes a value that is human readable Unicode text with a locale identifier. + + i=24 + + + + Structure + Describes a value that is any type of structure that can be described with a data encoding. + + i=24 + + + + DataValue + Describes a value that is a structure containing a value, a status code and timestamps. + + i=24 + + + + DiagnosticInfo + Describes a value that is a structure containing diagnostics associated with a StatusCode. + + i=24 + + + + Image + Describes a value that is an image encoded as a string of bytes. + + i=15 + + + + Decimal128 + Describes a 128-bit decimal value. + + i=26 + + + + References + The abstract base type for all references. + + + + NonHierarchicalReferences + The abstract base type for all non-hierarchical references. + + i=31 + + NonHierarchicalReferences + + + HierarchicalReferences + The abstract base type for all hierarchical references. + + i=31 + + HierarchicalReferences + + + HasChild + The abstract base type for all non-looping hierarchical references. + + i=33 + + ChildOf + + + Organizes + The type for hierarchical references that are used to organize nodes. + + i=33 + + OrganizedBy + + + HasEventSource + The type for non-looping hierarchical references that are used to organize event sources. + + i=33 + + EventSourceOf + + + HasModellingRule + The type for references from instance declarations to modelling rule nodes. + + i=32 + + ModellingRuleOf + + + HasEncoding + The type for references from data type nodes to to data type encoding nodes. + + i=32 + + EncodingOf + + + HasDescription + The type for references from data type encoding nodes to data type description nodes. + + i=32 + + DescriptionOf + + + HasTypeDefinition + The type for references from a instance node its type defintion node. + + i=32 + + TypeDefinitionOf + + + GeneratesEvent + The type for references from a node to an event type that is raised by node. + + i=32 + + GeneratesEvent + + + AlwaysGeneratesEvent + The type for references from a node to an event type that is always raised by node. + + i=41 + + AlwaysGeneratesEvent + + + Aggregates + The type for non-looping hierarchical references that are used to aggregate nodes into complex types. + + i=34 + + AggregatedBy + + + HasSubtype + The type for non-looping hierarchical references that are used to define sub types. + + i=34 + + SubtypeOf + + + HasProperty + The type for non-looping hierarchical reference from a node to its property. + + i=44 + + PropertyOf + + + HasComponent + The type for non-looping hierarchical reference from a node to its component. + + i=44 + + ComponentOf + + + HasNotifier + The type for non-looping hierarchical references that are used to indicate how events propagate from node to node. + + i=36 + + NotifierOf + + + HasOrderedComponent + The type for non-looping hierarchical reference from a node to its component when the order of references matters. + + i=47 + + OrderedComponentOf + + + FromState + The type for a reference to the state before a transition. + + i=32 + + ToTransition + + + ToState + The type for a reference to the state after a transition. + + i=32 + + FromTransition + + + HasCause + The type for a reference to a method that can cause a transition to occur. + + i=32 + + MayBeCausedBy + + + HasEffect + The type for a reference to an event that may be raised when a transition occurs. + + i=32 + + MayBeEffectedBy + + + HasSubStateMachine + The type for a reference to a substate for a state. + + i=32 + + SubStateMachineOf + + + HasHistoricalConfiguration + The type for a reference to the historical configuration for a data variable. + + i=44 + + HistoricalConfigurationOf + + + BaseObjectType + The base type for all object nodes. + + + + FolderType + The type for objects that organize other nodes. + + i=58 + + + + BaseVariableType + The abstract base type for all variable nodes. + + + + BaseDataVariableType + The type for variable that represents a process value. + + i=62 + + + + PropertyType + The type for variable that represents a property of another node. + + i=62 + + + + DataTypeDescriptionType + The type for variable that represents the description of a data type encoding. + + i=104 + i=105 + i=63 + + + + DataTypeVersion + The version number for the data type description. + + i=68 + i=80 + i=69 + + + + DictionaryFragment + A fragment of a data type dictionary that defines the data type. + + i=68 + i=80 + i=69 + + + + DataTypeDictionaryType + The type for variable that represents the collection of data type decriptions. + + i=106 + i=107 + i=63 + + + + DataTypeVersion + The version number for the data type dictionary. + + i=68 + i=80 + i=72 + + + + NamespaceUri + A URI that uniquely identifies the dictionary. + + i=68 + i=80 + i=72 + + + + DataTypeSystemType + + i=58 + + + + DataTypeEncodingType + + i=58 + + + + NamingRuleType + Describes a value that specifies the significance of the BrowseName for an instance declaration. + + 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=78 + 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 + The type for an object that describes how an instance declaration is used when a type is instantiated. + + i=111 + i=58 + + + + NamingRule + Specified the significances of the BrowseName when a type is instantiated. + + i=68 + i=78 + i=77 + + + 1 + + + + Mandatory + Specifies that an instance with the attributes and references of the instance declaration must appear when a type is instantiated. + + i=112 + i=77 + + + + NamingRule + Specified the significances of the BrowseName when a type is instantiated. + + i=68 + i=78 + + + 1 + + + + Optional + Specifies that an instance with the attributes and references of the instance declaration may appear when a type is instantiated. + + i=113 + i=77 + + + + NamingRule + Specified the significances of the BrowseName when a type is instantiated. + + i=68 + i=80 + + + 2 + + + + ExposesItsArray + Specifies that an instance appears for each element of the containing array variable. + + i=114 + i=77 + + + + NamingRule + Specified the significances of the BrowseName when a type is instantiated. + + i=68 + i=83 + + + 3 + + + + MandatoryShared + Specifies that a reference to a shared instance must appear in when a type is instantiated. + + i=116 + i=77 + + + + NamingRule + Specified the significances of the BrowseName when a type is instantiated. + + i=68 + i=79 + + + 1 + + + + OptionalPlaceholder + Specifies that zero or more instances with the attributes and references of the instance declaration may appear when a type is instantiated. + + i=11509 + i=77 + + + + NamingRule + Specified the significances of the BrowseName when a type is instantiated. + + i=68 + i=11508 + + + 2 + + + + MandatoryPlaceholder + Specifies that one or more instances with the attributes and references of the instance declaration must appear when a type is instantiated. + + i=11511 + i=77 + + + + NamingRule + Specified the significances of the BrowseName when a type is instantiated. + + i=68 + i=11510 + + + 1 + + + + Root + The root of the server address space. + + i=61 + + + + Objects + The browse entry point when looking for objects in the server address space. + + i=84 + i=61 + + + + Types + The browse entry point when looking for types in the server address space. + + i=84 + i=61 + + + + Views + The browse entry point when looking for views in the server address space. + + i=84 + i=61 + + + + ObjectTypes + The browse entry point when looking for object types in the server address space. + + i=86 + i=58 + i=61 + + + + VariableTypes + The browse entry point when looking for variable types in the server address space. + + i=86 + i=62 + i=61 + + + + DataTypes + The browse entry point when looking for data types in the server address space. + + i=86 + i=24 + i=61 + + + + ReferenceTypes + The browse entry point when looking for reference types in the server address space. + + i=86 + i=31 + i=61 + + + + XML Schema + A type system which uses XML schema to describe the encoding of data types. + + i=90 + i=75 + + + + OPC Binary + A type system which uses OPC binary schema to describe the encoding of data types. + + i=90 + i=75 + + + + NodeVersion + The version number of the node (used to indicate changes to references of the owning node). + + i=68 + + + + ViewVersion + The version number of the view. + + i=68 + + + + Icon + A small image representing the object. + + i=68 + + + + LocalTime + The local time where the owning variable value was collected. + + i=68 + + + + AllowNulls + Whether the value of the owning variable is allowed to be null. + + i=68 + + + + ValueAsText + The string representation of the current value for a variable with an enumerated data type. + + i=68 + + + + MaxStringLength + The maximum length for a string that can be stored in the owning variable. + + i=68 + + + + MaxByteStringLength + The maximum length for a byte string that can be stored in the owning variable. + + i=68 + + + + MaxArrayLength + The maximum length for an array that can be stored in the owning variable. + + i=68 + + + + EngineeringUnits + The engineering units for the value of the owning variable. + + i=68 + + + + EnumStrings + The human readable strings associated with the values of an enumerated value (when values are sequential). + + i=68 + + + + EnumValues + The human readable strings associated with the values of an enumerated value (when values have no sequence). + + i=68 + + + + OptionSetValues + Contains the human-readable representation for each bit of the bit mask. + + i=68 + + + + InputArguments + The input arguments for a method. + + i=68 + + + + OutputArguments + The output arguments for a method. + + i=68 + + + + ImageBMP + An image encoded in BMP format. + + i=30 + + + + ImageGIF + An image encoded in GIF format. + + i=30 + + + + ImageJPG + An image encoded in JPEG format. + + i=30 + + + + ImagePNG + An image encoded in PNG format. + + i=30 + + + + ServerType + Specifies the current status and capabilities of the server. + + i=2005 + i=2006 + i=2007 + i=2008 + i=2742 + i=12882 + i=2009 + i=2010 + i=2011 + i=2012 + i=11527 + i=11489 + i=12871 + i=12746 + i=12883 + i=58 + + + + ServerArray + The list of server URIs used by the server. + + i=68 + i=78 + i=2004 + + + + NamespaceArray + The list of namespace URIs used by the server. + + i=68 + i=78 + i=2004 + + + + ServerStatus + The current status of the server. + + 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 + A value indicating the level of service the server can provide. 255 indicates the best. + + i=68 + i=78 + i=2004 + + + + Auditing + A flag indicating whether the server is currently generating audit events. + + i=68 + i=78 + i=2004 + + + + EstimatedReturnTime + Indicates the time at which the Server is expected to be available in the state RUNNING. + + i=68 + i=80 + i=2004 + + + + ServerCapabilities + Describes capabilities supported by the server. + + 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 + A list of profiles supported by the server. + + i=68 + i=78 + i=2009 + + + + LocaleIdArray + A list of locales supported by the server. + + i=68 + i=78 + i=2009 + + + + MinSupportedSampleRate + The minimum sampling interval supported by the server. + + i=68 + i=78 + i=2009 + + + + MaxBrowseContinuationPoints + The maximum number of continuation points for Browse operations per session. + + i=68 + i=78 + i=2009 + + + + MaxQueryContinuationPoints + The maximum number of continuation points for Query operations per session. + + i=68 + i=78 + i=2009 + + + + MaxHistoryContinuationPoints + The maximum number of continuation points for ReadHistory operations per session. + + i=68 + i=78 + i=2009 + + + + SoftwareCertificates + The software certificates owned by the server. + + i=68 + i=78 + i=2009 + + + + ModellingRules + A folder for the modelling rules supported by the server. + + i=61 + i=78 + i=2009 + + + + AggregateFunctions + A folder for the real time aggregates supported by the server. + + i=61 + i=78 + i=2009 + + + + ServerDiagnostics + Reports diagnostics about the server. + + i=3095 + i=3110 + i=3111 + i=3114 + i=2020 + i=78 + i=2004 + + + + ServerDiagnosticsSummary + A summary of server level diagnostics. + + 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 + A list of diagnostics for each active subscription. + + i=2171 + i=78 + i=2010 + + + + SessionsDiagnosticsSummary + A summary of session level diagnostics. + + i=3112 + i=3113 + i=2026 + i=78 + i=2010 + + + + SessionDiagnosticsArray + A list of diagnostics for each active session. + + i=2196 + i=78 + i=3111 + + + + SessionSecurityDiagnosticsArray + A list of security related diagnostics for each active session. + + i=2243 + i=78 + i=3111 + + + + EnabledFlag + If TRUE the diagnostics collection is enabled. + + i=68 + i=78 + i=2010 + + + + VendorServerInfo + Server information provided by the vendor. + + i=2033 + i=78 + i=2004 + + + + ServerRedundancy + Describes the redundancy capabilities of the server. + + i=3115 + i=2034 + i=78 + i=2004 + + + + RedundancySupport + Indicates what style of redundancy is supported by the server. + + i=68 + i=78 + i=2012 + + + + Namespaces + Describes the namespaces supported by the server. + + 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 + + + + + + + + i=297 + + + + ClientHandles + + i=7 + + 1 + + + + + + + + + + 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 + Describes the capabilities supported by the server. + + 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=58 + + + + ServerProfileArray + A list of profiles supported by the server. + + i=68 + i=78 + i=2013 + + + + LocaleIdArray + A list of locales supported by the server. + + i=68 + i=78 + i=2013 + + + + MinSupportedSampleRate + The minimum sampling interval supported by the server. + + i=68 + i=78 + i=2013 + + + + MaxBrowseContinuationPoints + The maximum number of continuation points for Browse operations per session. + + i=68 + i=78 + i=2013 + + + + MaxQueryContinuationPoints + The maximum number of continuation points for Query operations per session. + + i=68 + i=78 + i=2013 + + + + MaxHistoryContinuationPoints + The maximum number of continuation points for ReadHistory operations per session. + + i=68 + i=78 + i=2013 + + + + SoftwareCertificates + The software certificates owned by the server. + + i=68 + i=78 + i=2013 + + + + MaxArrayLength + The maximum length for an array value supported by the server. + + i=68 + i=80 + i=2013 + + + + MaxStringLength + The maximum length for a string value supported by the server. + + i=68 + i=80 + i=2013 + + + + MaxByteStringLength + The maximum length for a byte string value supported by the server. + + i=68 + i=80 + i=2013 + + + + OperationLimits + Defines the limits supported by the server for different operations. + + i=11564 + i=80 + i=2013 + + + + ModellingRules + A folder for the modelling rules supported by the server. + + i=61 + i=78 + i=2013 + + + + AggregateFunctions + A folder for the real time aggregates supported by the server. + + i=61 + i=78 + i=2013 + + + + <VendorCapability> + + i=2137 + i=11508 + i=2013 + + + + ServerDiagnosticsType + The diagnostics information for a server. + + i=2021 + i=2022 + i=2023 + i=2744 + i=2025 + i=58 + + + + ServerDiagnosticsSummary + A summary of server level diagnostics. + + 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 + A list of diagnostics for each sampling interval supported by the server. + + i=2164 + i=80 + i=2020 + + + + SubscriptionDiagnosticsArray + A list of diagnostics for each active subscription. + + i=2171 + i=78 + i=2020 + + + + SessionsDiagnosticsSummary + A summary of session level diagnostics. + + i=3129 + i=3130 + i=2026 + i=78 + i=2020 + + + + SessionDiagnosticsArray + A list of diagnostics for each active session. + + i=2196 + i=78 + i=2744 + + + + SessionSecurityDiagnosticsArray + A list of security related diagnostics for each active session. + + i=2243 + i=78 + i=2744 + + + + EnabledFlag + If TRUE the diagnostics collection is enabled. + + i=68 + i=78 + i=2020 + + + + SessionsDiagnosticsSummaryType + Provides a summary of session level diagnostics. + + i=2027 + i=2028 + i=12097 + i=58 + + + + SessionDiagnosticsArray + A list of diagnostics for each active session. + + i=2196 + i=78 + i=2026 + + + + SessionSecurityDiagnosticsArray + A list of security related diagnostics for each active session. + + i=2243 + i=78 + i=2026 + + + + <ClientName> + + i=12098 + i=12142 + i=12152 + i=2029 + i=11508 + i=2026 + + + + SessionDiagnostics + Diagnostics information for an active session. + + 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 + Security related diagnostics information for an active session. + + 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 + A list of diagnostics for each subscription owned by the session. + + i=2171 + i=78 + i=12097 + + + + SessionDiagnosticsObjectType + A container for session level diagnostics information. + + i=2030 + i=2031 + i=2032 + i=58 + + + + SessionDiagnostics + Diagnostics information for an active session. + + 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 + Security related diagnostics information for an active session. + + 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 + A list of diagnostics for each subscription owned by the session. + + i=2171 + i=78 + i=2029 + + + + VendorServerInfoType + A base type for vendor specific server information. + + i=58 + + + + ServerRedundancyType + A base type for an object that describe how a server supports redundancy. + + i=2035 + i=58 + + + + RedundancySupport + Indicates what style of redundancy is supported by the server. + + i=68 + i=78 + i=2034 + + + + TransparentRedundancyType + Identifies the capabilties of server that supports transparent redundancy. + + i=2037 + i=2038 + i=2034 + + + + CurrentServerId + The ID of the server that is currently in use. + + i=68 + i=78 + i=2036 + + + + RedundantServerArray + A list of servers in the same redundant set. + + i=68 + i=78 + i=2036 + + + + NonTransparentRedundancyType + Identifies the capabilties of server that supports non-transparent redundancy. + + i=2040 + i=2034 + + + + ServerUriArray + A list of servers in the same redundant set. + + i=68 + i=78 + i=2039 + + + + NonTransparentNetworkRedundancyType + + i=11948 + i=2039 + + + + ServerNetworkGroups + + i=68 + i=78 + i=11945 + + + + OperationLimitsType + Identifies the operation limits imposed by the server. + + 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 + The maximum number of operations in a single Read request. + + i=68 + i=80 + i=11564 + + + + MaxNodesPerHistoryReadData + The maximum number of operations in a single data HistoryRead request. + + i=68 + i=80 + i=11564 + + + + MaxNodesPerHistoryReadEvents + The maximum number of operations in a single event HistoryRead request. + + i=68 + i=80 + i=11564 + + + + MaxNodesPerWrite + The maximum number of operations in a single Write request. + + i=68 + i=80 + i=11564 + + + + MaxNodesPerHistoryUpdateData + The maximum number of operations in a single data HistoryUpdate request. + + i=68 + i=80 + i=11564 + + + + MaxNodesPerHistoryUpdateEvents + The maximum number of operations in a single event HistoryUpdate request. + + i=68 + i=80 + i=11564 + + + + MaxNodesPerMethodCall + The maximum number of operations in a single Call request. + + i=68 + i=80 + i=11564 + + + + MaxNodesPerBrowse + The maximum number of operations in a single Browse request. + + i=68 + i=80 + i=11564 + + + + MaxNodesPerRegisterNodes + The maximum number of operations in a single RegisterNodes request. + + i=68 + i=80 + i=11564 + + + + MaxNodesPerTranslateBrowsePathsToNodeIds + The maximum number of operations in a single TranslateBrowsePathsToNodeIds request. + + i=68 + i=80 + i=11564 + + + + MaxNodesPerNodeManagement + The maximum number of operations in a single AddNodes, AddReferences, DeleteNodes or DeleteReferences request. + + i=68 + i=80 + i=11564 + + + + MaxMonitoredItemsPerCall + The maximum number of operations in a single MonitoredItem related request. + + i=68 + i=80 + i=11564 + + + + FileType + An object that represents a file that can be accessed via the server. + + i=11576 + i=12686 + i=12687 + i=11579 + i=13341 + i=11580 + i=11583 + i=11585 + i=11588 + i=11590 + i=11593 + i=58 + + + + Size + The size of the file in bytes. + + i=68 + i=78 + i=11575 + + + + Writable + Whether the file is writable. + + i=68 + i=78 + i=11575 + + + + UserWritable + Whether the file is writable by the current user. + + i=68 + i=78 + i=11575 + + + + OpenCount + The current number of open file handles. + + i=68 + i=78 + i=11575 + + + + MimeType + The content of the file. + + 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 + + + + + + + + + + FileDirectoryType + + i=13354 + i=13366 + i=13387 + i=13390 + i=13393 + i=13395 + i=61 + + + + <FileDirectoryName> + + i=13355 + i=13358 + i=13361 + 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=13362 + i=78 + i=13354 + + + + InputArguments + + i=68 + i=78 + i=13361 + + + + + + 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 + The size of the file in bytes. + + i=68 + i=78 + i=13366 + + + + Writable + Whether the file is writable. + + i=68 + i=78 + i=13366 + + + + UserWritable + Whether the file is writable by the current user. + + i=68 + i=78 + i=13366 + + + + OpenCount + The current number of open file handles. + + 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 + + + + + + + + + + AddressSpaceFileType + A file used to store a namespace exported from the server. + + i=11615 + i=11575 + + + + ExportNamespace + Updates the file by exporting the server namespace. + + i=80 + i=11595 + + + + NamespaceMetadataType + Provides the metadata for a namespace used by the server. + + i=11617 + i=11618 + i=11619 + i=11620 + i=11621 + i=11622 + i=11623 + i=11624 + i=58 + + + + NamespaceUri + The URI of the namespace. + + i=68 + i=78 + i=11616 + + + + NamespaceVersion + The human readable string representing version of the namespace. + + i=68 + i=78 + i=11616 + + + + NamespacePublicationDate + The publication date for the namespace. + + i=68 + i=78 + i=11616 + + + + IsNamespaceSubset + If TRUE then the server only supports a subset of the namespace. + + i=68 + i=78 + i=11616 + + + + StaticNodeIdTypes + A list of IdTypes for nodes which are the same in every server that exposes them. + + i=68 + i=78 + i=11616 + + + + StaticNumericNodeIdRange + A list of ranges for numeric node ids which are the same in every server that exposes them. + + i=68 + i=78 + i=11616 + + + + StaticStringNodeIdPattern + A regular expression which matches string node ids are the same in every server that exposes them. + + i=68 + i=78 + i=11616 + + + + NamespaceFile + A file containing the nodes of the namespace. + + 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 + The size of the file in bytes. + + i=68 + i=78 + i=11624 + + + + Writable + Whether the file is writable. + + i=68 + i=78 + i=11624 + + + + UserWritable + Whether the file is writable by the current user. + + i=68 + i=78 + i=11624 + + + + OpenCount + The current number of open file handles. + + 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 + + + + + + + + + + NamespacesType + A container for the namespace metadata provided by the server. + + i=11646 + i=11675 + i=58 + + + + <NamespaceIdentifier> + + i=11647 + i=11648 + i=11649 + i=11650 + i=11651 + i=11652 + i=11653 + i=11616 + i=11508 + i=11645 + + + + NamespaceUri + The URI of the namespace. + + i=68 + i=78 + i=11646 + + + + NamespaceVersion + The human readable string representing version of the namespace. + + i=68 + i=78 + i=11646 + + + + NamespacePublicationDate + The publication date for the namespace. + + i=68 + i=78 + i=11646 + + + + IsNamespaceSubset + If TRUE then the server only supports a subset of the namespace. + + i=68 + i=78 + i=11646 + + + + StaticNodeIdTypes + A list of IdTypes for nodes which are the same in every server that exposes them. + + i=68 + i=78 + i=11646 + + + + StaticNumericNodeIdRange + A list of ranges for numeric node ids which are the same in every server that exposes them. + + i=68 + i=78 + i=11646 + + + + StaticStringNodeIdPattern + A regular expression which matches string node ids are the same in every server that exposes them. + + i=68 + i=78 + i=11646 + + + + AddressSpaceFile + A file containing the nodes of the namespace. + + i=11676 + i=12694 + i=12695 + i=11679 + i=11680 + i=11683 + i=11685 + i=11688 + i=11690 + i=11693 + i=11595 + i=80 + i=11645 + + + + Size + The size of the file in bytes. + + i=68 + i=78 + i=11675 + + + + Writable + Whether the file is writable. + + i=68 + i=78 + i=11675 + + + + UserWritable + Whether the file is writable by the current user. + + i=68 + i=78 + i=11675 + + + + OpenCount + The current number of open file handles. + + i=68 + i=78 + i=11675 + + + + Open + + i=11681 + i=11682 + i=78 + i=11675 + + + + InputArguments + + i=68 + i=78 + i=11680 + + + + + + i=297 + + + + Mode + + i=3 + + -1 + + + + + + + + + + OutputArguments + + i=68 + i=78 + i=11680 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + + Close + + i=11684 + i=78 + i=11675 + + + + InputArguments + + i=68 + i=78 + i=11683 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + + Read + + i=11686 + i=11687 + i=78 + i=11675 + + + + InputArguments + + i=68 + i=78 + i=11685 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + i=297 + + + + Length + + i=6 + + -1 + + + + + + + + + + OutputArguments + + i=68 + i=78 + i=11685 + + + + + + i=297 + + + + Data + + i=15 + + -1 + + + + + + + + + + Write + + i=11689 + i=78 + i=11675 + + + + InputArguments + + i=68 + i=78 + i=11688 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + i=297 + + + + Data + + i=15 + + -1 + + + + + + + + + + GetPosition + + i=11691 + i=11692 + i=78 + i=11675 + + + + InputArguments + + i=68 + i=78 + i=11690 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + + OutputArguments + + i=68 + i=78 + i=11690 + + + + + + i=297 + + + + Position + + i=9 + + -1 + + + + + + + + + + SetPosition + + i=11694 + i=78 + i=11675 + + + + InputArguments + + i=68 + i=78 + i=11693 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + i=297 + + + + Position + + i=9 + + -1 + + + + + + + + + + BaseEventType + The base type for all events. + + i=2042 + i=2043 + i=2044 + i=2045 + i=2046 + i=2047 + i=3190 + i=2050 + i=2051 + i=58 + + + + EventId + A globally unique identifier for the event. + + i=68 + i=78 + i=2041 + + + + EventType + The identifier for the event type. + + i=68 + i=78 + i=2041 + + + + SourceNode + The source of the event. + + i=68 + i=78 + i=2041 + + + + SourceName + A description of the source of the event. + + i=68 + i=78 + i=2041 + + + + Time + When the event occurred. + + i=68 + i=78 + i=2041 + + + + ReceiveTime + When the server received the event from the underlying system. + + i=68 + i=78 + i=2041 + + + + LocalTime + Information about the local time where the event originated. + + i=68 + i=78 + i=2041 + + + + Message + A localized description of the event. + + i=68 + i=78 + i=2041 + + + + Severity + Indicates how urgent an event is. + + i=68 + i=78 + i=2041 + + + + AuditEventType + A base type for events used to track client initiated changes to the server state. + + i=2053 + i=2054 + i=2055 + i=2056 + i=2057 + i=2041 + + + + ActionTimeStamp + When the action triggering the event occurred. + + i=68 + i=78 + i=2052 + + + + Status + If TRUE the action was performed. If FALSE the action failed and the server state did not change. + + i=68 + i=78 + i=2052 + + + + ServerId + The unique identifier for the server generating the event. + + i=68 + i=78 + i=2052 + + + + ClientAuditEntryId + The log entry id provided in the request that initiated the action. + + i=68 + i=78 + i=2052 + + + + ClientUserId + The user identity associated with the session that initiated the action. + + i=68 + i=78 + i=2052 + + + + AuditSecurityEventType + A base type for events used to track security related changes. + + i=2052 + + + + AuditChannelEventType + A base type for events used to track related changes to a secure channel. + + i=2745 + i=2058 + + + + SecureChannelId + The identifier for the secure channel that was changed. + + i=68 + i=78 + i=2059 + + + + AuditOpenSecureChannelEventType + An event that is raised when a secure channel is opened. + + i=2061 + i=2746 + i=2062 + i=2063 + i=2065 + i=2066 + i=2059 + + + + ClientCertificate + The certificate provided by the client. + + i=68 + i=78 + i=2060 + + + + ClientCertificateThumbprint + The thumbprint for certificate provided by the client. + + i=68 + i=78 + i=2060 + + + + RequestType + The type of request (NEW or RENEW). + + i=68 + i=78 + i=2060 + + + + SecurityPolicyUri + The security policy used by the channel. + + i=68 + i=78 + i=2060 + + + + SecurityMode + The security mode used by the channel. + + i=68 + i=78 + i=2060 + + + + RequestedLifetime + The lifetime of the channel requested by the client. + + i=68 + i=78 + i=2060 + + + + AuditSessionEventType + A base type for events used to track related changes to a session. + + i=2070 + i=2058 + + + + SessionId + The unique identifier for the session,. + + i=68 + i=78 + i=2069 + + + + AuditCreateSessionEventType + An event that is raised when a session is created. + + i=2072 + i=2073 + i=2747 + i=2074 + i=2069 + + + + SecureChannelId + The secure channel associated with the session. + + i=68 + i=78 + i=2071 + + + + ClientCertificate + The certificate provided by the client. + + i=68 + i=78 + i=2071 + + + + ClientCertificateThumbprint + The thumbprint of the certificate provided by the client. + + i=68 + i=78 + i=2071 + + + + RevisedSessionTimeout + The timeout for the session. + + i=68 + i=78 + i=2071 + + + + AuditUrlMismatchEventType + + i=2749 + i=2071 + + + + EndpointUrl + + i=68 + i=78 + i=2748 + + + + AuditActivateSessionEventType + + 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 + + i=2079 + i=2069 + + + + RequestHandle + + i=68 + i=78 + i=2078 + + + + AuditCertificateEventType + + i=2081 + i=2058 + + + + Certificate + + i=68 + i=78 + i=2080 + + + + AuditCertificateDataMismatchEventType + + i=2083 + i=2084 + i=2080 + + + + InvalidHostname + + i=68 + i=78 + i=2082 + + + + InvalidUri + + i=68 + i=78 + i=2082 + + + + AuditCertificateExpiredEventType + + i=2080 + + + + AuditCertificateInvalidEventType + + i=2080 + + + + AuditCertificateUntrustedEventType + + i=2080 + + + + AuditCertificateRevokedEventType + + i=2080 + + + + AuditCertificateMismatchEventType + + i=2080 + + + + AuditNodeManagementEventType + + i=2052 + + + + AuditAddNodesEventType + + i=2092 + i=2090 + + + + NodesToAdd + + i=68 + i=78 + i=2091 + + + + AuditDeleteNodesEventType + + i=2094 + i=2090 + + + + NodesToDelete + + i=68 + i=78 + i=2093 + + + + AuditAddReferencesEventType + + i=2096 + i=2090 + + + + ReferencesToAdd + + i=68 + i=78 + i=2095 + + + + AuditDeleteReferencesEventType + + i=2098 + i=2090 + + + + ReferencesToDelete + + i=68 + i=78 + i=2097 + + + + AuditUpdateEventType + + i=2052 + + + + AuditWriteUpdateEventType + + 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 + + i=2751 + i=2099 + + + + ParameterDataTypeId + + i=68 + i=78 + i=2104 + + + + AuditUpdateMethodEventType + + i=2128 + i=2129 + i=2052 + + + + MethodId + + i=68 + i=78 + i=2127 + + + + InputArguments + + i=68 + i=78 + i=2127 + + + + SystemEventType + + i=2041 + + + + DeviceFailureEventType + + i=2130 + + + + SystemStatusChangeEventType + + i=11696 + i=2130 + + + + SystemState + + i=68 + i=78 + i=11446 + + + + BaseModelChangeEventType + + i=2041 + + + + GeneralModelChangeEventType + + i=2134 + i=2132 + + + + Changes + + i=68 + i=78 + i=2133 + + + + SemanticChangeEventType + + i=2739 + i=2132 + + + + Changes + + i=68 + i=78 + i=2738 + + + + EventQueueOverflowEventType + + i=2041 + + + + ProgressEventType + + i=12502 + i=12503 + i=2041 + + + + Context + + i=68 + i=78 + i=11436 + + + + Progress + + i=68 + i=78 + i=11436 + + + + AggregateFunctionType + + i=58 + + + + ServerVendorCapabilityType + + i=63 + + + + ServerStatusType + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + i=11488 + i=11701 + i=63 + + + + OptionSetValues + + i=68 + i=78 + i=11487 + + + + BitMask + + i=68 + i=80 + i=11487 + + + + EventTypes + + i=86 + i=2041 + i=61 + + + + Server + + i=2254 + i=2255 + i=2256 + i=2267 + i=2994 + i=12885 + i=2268 + i=2274 + i=2295 + i=2296 + i=11715 + i=11492 + i=12873 + i=12749 + i=12886 + i=85 + i=2004 + + + + ServerArray + The list of server URIs used by the server. + + i=68 + i=2253 + + + + NamespaceArray + The list of namespace URIs used by the server. + + i=68 + i=2253 + + + + ServerStatus + The current status of the server. + + 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 + A value indicating the level of service the server can provide. 255 indicates the best. + + i=68 + i=2253 + + + + Auditing + A flag indicating whether the server is currently generating audit events. + + i=68 + i=2253 + + + + EstimatedReturnTime + Indicates the time at which the Server is expected to be available in the state RUNNING. + + i=68 + i=2253 + + + + ServerCapabilities + Describes capabilities supported by the server. + + 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=2013 + i=2253 + + + + ServerProfileArray + A list of profiles supported by the server. + + i=68 + i=2268 + + + + LocaleIdArray + A list of locales supported by the server. + + i=68 + i=2268 + + + + MinSupportedSampleRate + The minimum sampling interval supported by the server. + + i=68 + i=2268 + + + + MaxBrowseContinuationPoints + The maximum number of continuation points for Browse operations per session. + + i=68 + i=2268 + + + + MaxQueryContinuationPoints + The maximum number of continuation points for Query operations per session. + + i=68 + i=2268 + + + + MaxHistoryContinuationPoints + The maximum number of continuation points for ReadHistory operations per session. + + i=68 + i=2268 + + + + SoftwareCertificates + The software certificates owned by the server. + + i=68 + i=2268 + + + + MaxArrayLength + The maximum length for an array value supported by the server. + + i=68 + i=2268 + + + + MaxStringLength + The maximum length for a string value supported by the server. + + i=68 + i=2268 + + + + MaxByteStringLength + The maximum length for a byte string value supported by the server. + + i=68 + i=2268 + + + + OperationLimits + Defines the limits supported by the server for different operations. + + 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 + The maximum number of operations in a single Read request. + + i=68 + i=11704 + + + + MaxNodesPerHistoryReadData + The maximum number of operations in a single data HistoryRead request. + + i=68 + i=11704 + + + + MaxNodesPerHistoryReadEvents + The maximum number of operations in a single event HistoryRead request. + + i=68 + i=11704 + + + + MaxNodesPerWrite + The maximum number of operations in a single Write request. + + i=68 + i=11704 + + + + MaxNodesPerHistoryUpdateData + The maximum number of operations in a single data HistoryUpdate request. + + i=68 + i=11704 + + + + MaxNodesPerHistoryUpdateEvents + The maximum number of operations in a single event HistoryUpdate request. + + i=68 + i=11704 + + + + MaxNodesPerMethodCall + The maximum number of operations in a single Call request. + + i=68 + i=11704 + + + + MaxNodesPerBrowse + The maximum number of operations in a single Browse request. + + i=68 + i=11704 + + + + MaxNodesPerRegisterNodes + The maximum number of operations in a single RegisterNodes request. + + i=68 + i=11704 + + + + MaxNodesPerTranslateBrowsePathsToNodeIds + The maximum number of operations in a single TranslateBrowsePathsToNodeIds request. + + i=68 + i=11704 + + + + MaxNodesPerNodeManagement + The maximum number of operations in a single AddNodes, AddReferences, DeleteNodes or DeleteReferences request. + + i=68 + i=11704 + + + + MaxMonitoredItemsPerCall + The maximum number of operations in a single MonitoredItem related request. + + i=68 + i=11704 + + + + ModellingRules + A folder for the modelling rules supported by the server. + + i=61 + i=2268 + + + + AggregateFunctions + A folder for the real time aggregates supported by the server. + + i=61 + i=2268 + + + + ServerDiagnostics + Reports diagnostics about the server. + + i=2275 + i=2289 + i=2290 + i=3706 + i=2294 + i=2020 + i=2253 + + + + ServerDiagnosticsSummary + A summary of server level diagnostics. + + 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 + A list of diagnostics for each sampling interval supported by the server. + + i=2164 + i=2274 + + + + SubscriptionDiagnosticsArray + A list of diagnostics for each active subscription. + + i=2171 + i=2274 + + + + SessionsDiagnosticsSummary + A summary of session level diagnostics. + + i=3707 + i=3708 + i=2026 + i=2274 + + + + SessionDiagnosticsArray + A list of diagnostics for each active session. + + i=2196 + i=3706 + + + + SessionSecurityDiagnosticsArray + A list of security related diagnostics for each active session. + + i=2243 + i=3706 + + + + EnabledFlag + If TRUE the diagnostics collection is enabled. + + i=68 + i=2274 + + + + VendorServerInfo + Server information provided by the vendor. + + i=2033 + i=2253 + + + + ServerRedundancy + Describes the redundancy capabilities of the server. + + i=3709 + i=11312 + i=11313 + i=11314 + i=14415 + i=2034 + i=2253 + + + + RedundancySupport + Indicates what style of redundancy is supported by the server. + + i=68 + i=2296 + + + + CurrentServerId + + i=68 + i=2296 + + + + RedundantServerArray + + i=68 + i=2296 + + + + ServerUriArray + + i=68 + i=2296 + + + + ServerNetworkGroups + + i=68 + i=2296 + + + + Namespaces + Describes the namespaces supported by the server. + + i=15182 + i=11645 + i=2253 + + + + http://opcfoundation.org/UA/ + + i=15183 + i=15184 + i=15185 + i=15186 + i=15187 + i=15188 + i=15189 + i=11616 + i=11715 + + + + NamespaceUri + The URI of the namespace. + + i=68 + i=15182 + + + http://opcfoundation.org/UA/ + + + + NamespaceVersion + The human readable string representing version of the namespace. + + i=68 + i=15182 + + + 1.03 + + + + NamespacePublicationDate + The publication date for the namespace. + + i=68 + i=15182 + + + 2016-04-15 + + + + IsNamespaceSubset + If TRUE then the server only supports a subset of the namespace. + + i=68 + i=15182 + + + false + + + + StaticNodeIdTypes + A list of IdTypes for nodes which are the same in every server that exposes them. + + i=68 + i=15182 + + + + StaticNumericNodeIdRange + A list of ranges for numeric node ids which are the same in every server that exposes them. + + i=68 + i=15182 + + + + StaticStringNodeIdPattern + A regular expression which matches string node ids are the same in every server that exposes them. + + i=68 + i=15182 + + + + GetMonitoredItems + + 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 + + + + + + + + i=297 + + + + ClientHandles + + i=7 + + 1 + + + + + + + + + + ResendData + + i=12874 + i=2253 + + + + InputArguments + + i=68 + i=12873 + + + + + + i=297 + + + + SubscriptionId + + i=7 + + -1 + + + + + + + + + + SetSubscriptionDurable + + 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 + + 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 + + + + + + + + + + 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=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 + + + + BitFieldMaskDataType + A mask of 32 bits that can be updated individually by using the top 32 bits as a mask. + + i=9 + + + + StateMachineType + + 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 + + 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 + + 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 + + i=2772 + i=2773 + 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 + + + + FiniteStateVariableType + + i=2761 + i=2755 + + + + Id + + i=68 + i=78 + i=2760 + + + + FiniteTransitionVariableType + + i=2768 + i=2762 + + + + Id + + i=68 + i=78 + i=2767 + + + + StateType + + i=2308 + i=58 + + + + StateNumber + + i=68 + i=78 + i=2307 + + + + InitialStateType + + i=2307 + + + + TransitionType + + i=2312 + i=58 + + + + TransitionNumber + + i=68 + i=78 + i=2310 + + + + TransitionEventType + + 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 + + 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=78 + i=11939 + + + + + + i=7616 + + + + 1 + + + + Read + + + + + + + + i=7616 + + + + 2 + + + + Write + + + + + + + + i=7616 + + + + 4 + + + + EraseExisting + + + + + + + + i=7616 + + + + 8 + + + + Append + + + + + + + + + + DataItemType + A variable that contains live automation data. + + i=2366 + i=2367 + i=63 + + + + Definition + A vendor-specific, human readable string that specifies how the value of this DataItem is calculated. + + i=68 + i=80 + i=2365 + + + + ValuePrecision + The maximum precision that the server can maintain for the item based on restrictions in the target environment. + + i=68 + i=80 + i=2365 + + + + AnalogItemType + + i=2370 + i=2369 + i=2371 + i=2365 + + + + InstrumentRange + + i=68 + i=80 + i=2368 + + + + EURange + + i=68 + i=78 + i=2368 + + + + EngineeringUnits + + i=68 + i=80 + i=2368 + + + + DiscreteItemType + + i=2365 + + + + TwoStateDiscreteType + + i=2374 + i=2375 + i=2372 + + + + FalseState + + i=68 + i=78 + i=2373 + + + + TrueState + + i=68 + i=78 + i=2373 + + + + MultiStateDiscreteType + + i=2377 + i=2372 + + + + EnumStrings + + i=68 + i=78 + i=2376 + + + + MultiStateValueDiscreteType + + i=11241 + i=11461 + i=2372 + + + + EnumValues + + i=68 + i=78 + i=11238 + + + + ValueAsText + + i=68 + i=78 + i=11238 + + + + ArrayItemType + + 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 + + i=12037 + i=12021 + + + + XAxisDefinition + + i=68 + i=78 + i=12029 + + + + XYArrayItemType + + i=12046 + i=12021 + + + + XAxisDefinition + + i=68 + i=78 + i=12038 + + + + ImageItemType + + i=12055 + i=12056 + i=12021 + + + + XAxisDefinition + + i=68 + i=78 + i=12047 + + + + YAxisDefinition + + i=68 + i=78 + i=12047 + + + + CubeItemType + + 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 + + i=12076 + i=12021 + + + + AxisDefinition + + i=68 + i=78 + i=12068 + + + + TwoStateVariableType + + 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 + + i=9003 + i=63 + + + + SourceTimestamp + + i=68 + i=78 + i=9002 + + + + HasTrueSubState + + i=32 + + IsTrueSubStateOf + + + HasFalseSubState + + i=32 + + IsFalseSubStateOf + + + ConditionType + + i=11112 + i=11113 + 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 + + + + 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=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 + + + + 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 + + i=2803 + i=78 + i=2782 + + + + Enable + + i=2803 + i=78 + i=2782 + + + + AddComment + + 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 + + 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 suscription to refresh. + + + + + + + + + ConditionRefresh2 + + 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 suscription to refresh. + + + + + + + i=297 + + + + MonitoredItemId + + i=288 + + -1 + + + + + The identifier for the monitored item to refresh. + + + + + + + + + DialogConditionType + + 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=9035 + i=8995 + i=78 + i=2830 + + + + Id + + i=68 + i=78 + i=9055 + + + + TransitionTime + + i=68 + i=80 + i=9055 + + + + 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 + + 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 + + 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=9073 + i=8995 + i=78 + i=2881 + + + + Id + + i=68 + i=78 + i=9093 + + + + TransitionTime + + i=68 + i=80 + i=9093 + + + + ConfirmedState + + i=9103 + i=9107 + i=9073 + i=8995 + i=80 + i=2881 + + + + Id + + i=68 + i=78 + i=9102 + + + + TransitionTime + + i=68 + i=80 + i=9102 + + + + Acknowledge + + 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 + + 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 + + i=9118 + i=9160 + i=11120 + i=9169 + i=9178 + i=9215 + i=9216 + 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=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 + + + + InputNode + + i=68 + i=78 + i=2915 + + + + SuppressedState + + i=9170 + i=9174 + i=9118 + i=8995 + i=80 + i=2915 + + + + Id + + i=68 + i=78 + i=9169 + + + + TransitionTime + + i=68 + i=80 + i=9169 + + + + ShelvingState + + i=9179 + i=9184 + i=9189 + i=9211 + i=9212 + i=9213 + 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 + + + + Unshelve + + i=11093 + i=78 + i=9178 + + + + OneShotShelve + + i=11093 + 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. + + + + + + + + + SuppressedOrShelved + + i=68 + i=78 + i=2915 + + + + MaxTimeShelved + + i=68 + i=80 + i=2915 + + + + ShelvedStateMachineType + + i=9115 + i=2930 + i=2932 + i=2933 + i=2935 + i=2936 + i=2940 + i=2942 + i=2943 + i=2945 + i=2947 + i=2948 + i=2949 + 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 + + + + TimedShelved + + i=6100 + i=2935 + i=2940 + i=2942 + i=2945 + i=2307 + i=2929 + + + + StateNumber + + i=68 + i=78 + i=2932 + + + + OneShotShelved + + i=6101 + i=2936 + i=2942 + i=2943 + i=2945 + i=2307 + i=2929 + + + + StateNumber + + i=68 + i=78 + i=2933 + + + + UnshelvedToTimedShelved + + i=11322 + i=2930 + i=2932 + i=2915 + i=2949 + i=2310 + i=2929 + + + + TransitionNumber + + i=68 + i=78 + i=2935 + + + + UnshelvedToOneShotShelved + + i=11323 + i=2930 + i=2933 + i=2915 + i=2948 + i=2310 + i=2929 + + + + TransitionNumber + + i=68 + i=78 + i=2936 + + + + TimedShelvedToUnshelved + + i=11324 + i=2932 + i=2930 + i=2915 + i=2947 + i=2310 + i=2929 + + + + TransitionNumber + + i=68 + i=78 + i=2940 + + + + TimedShelvedToOneShotShelved + + i=11325 + i=2932 + i=2933 + i=2915 + i=2948 + i=2310 + i=2929 + + + + TransitionNumber + + i=68 + i=78 + i=2942 + + + + OneShotShelvedToUnshelved + + i=11326 + i=2933 + i=2930 + i=2915 + i=2947 + i=2310 + i=2929 + + + + TransitionNumber + + i=68 + i=78 + i=2943 + + + + OneShotShelvedToTimedShelved + + i=11327 + i=2933 + i=2932 + i=2915 + i=2949 + i=2310 + i=2929 + + + + TransitionNumber + + i=68 + i=78 + i=2945 + + + + Unshelve + + i=2940 + i=2943 + i=11093 + i=78 + i=2929 + + + + OneShotShelve + + i=2936 + i=2942 + i=11093 + i=78 + i=2929 + + + + TimedShelve + + 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. + + + + + + + + + LimitAlarmType + + i=11124 + i=11125 + i=11126 + i=11127 + 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 + + + + ExclusiveLimitStateMachineType + + 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 + + + + High + + i=9332 + i=9339 + i=9340 + i=2307 + i=9318 + + + + StateNumber + + i=68 + i=78 + i=9331 + + + + Low + + i=9334 + i=9337 + i=9338 + i=2307 + i=9318 + + + + StateNumber + + i=68 + i=78 + i=9333 + + + + LowLow + + i=9336 + i=9337 + i=9338 + i=2307 + i=9318 + + + + StateNumber + + i=68 + i=78 + i=9335 + + + + LowLowToLow + + i=11340 + i=9335 + i=9333 + i=2310 + i=9318 + + + + TransitionNumber + + i=68 + i=78 + i=9337 + + + + LowToLowLow + + i=11341 + i=9333 + i=9335 + i=2310 + i=9318 + + + + TransitionNumber + + i=68 + i=78 + i=9338 + + + + HighHighToHigh + + i=11342 + i=9329 + i=9331 + i=2310 + i=9318 + + + + TransitionNumber + + i=68 + i=78 + i=9339 + + + + HighToHighHigh + + i=11343 + i=9331 + i=9329 + i=2310 + i=9318 + + + + TransitionNumber + + i=68 + i=78 + i=9340 + + + + ExclusiveLimitAlarmType + + 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 + + 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=9963 + i=8995 + i=80 + i=9906 + + + + Id + + i=68 + i=78 + i=10020 + + + + TransitionTime + + i=68 + i=80 + i=10020 + + + + HighState + + i=10030 + i=10034 + i=9963 + i=8995 + i=80 + i=9906 + + + + Id + + i=68 + i=78 + i=10029 + + + + TransitionTime + + i=68 + i=80 + i=10029 + + + + LowState + + i=10039 + i=10043 + i=9963 + i=8995 + i=80 + i=9906 + + + + Id + + i=68 + i=78 + i=10038 + + + + TransitionTime + + i=68 + i=80 + i=10038 + + + + LowLowState + + i=10048 + i=10052 + i=9963 + i=8995 + i=80 + i=9906 + + + + Id + + i=68 + i=78 + i=10047 + + + + TransitionTime + + i=68 + i=80 + i=10047 + + + + NonExclusiveLevelAlarmType + + i=9906 + + + + ExclusiveLevelAlarmType + + i=9341 + + + + NonExclusiveDeviationAlarmType + + i=10522 + i=9906 + + + + SetpointNode + + i=68 + i=78 + i=10368 + + + + ExclusiveDeviationAlarmType + + i=9905 + i=9341 + + + + SetpointNode + + i=68 + i=78 + i=9764 + + + + NonExclusiveRateOfChangeAlarmType + + i=9906 + + + + ExclusiveRateOfChangeAlarmType + + i=9341 + + + + DiscreteAlarmType + + i=2915 + + + + OffNormalAlarmType + + i=11158 + i=10523 + + + + NormalState + + i=68 + i=78 + i=10637 + + + + SystemOffNormalAlarmType + + i=10637 + + + + CertificateExpirationAlarmType + + 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 + + + + TripAlarmType + + i=10637 + + + + BaseConditionClassType + + i=58 + + + + ProcessConditionClassType + + i=11163 + + + + MaintenanceConditionClassType + + i=11163 + + + + SystemConditionClassType + + i=11163 + + + + AuditConditionEventType + + i=2127 + + + + AuditConditionEnableEventType + + i=2790 + + + + AuditConditionCommentEventType + + i=4170 + i=11851 + i=2790 + + + + EventId + A globally unique identifier for the event. + + i=68 + i=78 + i=2829 + + + + Comment + + i=68 + i=78 + i=2829 + + + + AuditConditionRespondEventType + + i=11852 + i=2790 + + + + SelectedResponse + + i=68 + i=78 + i=8927 + + + + AuditConditionAcknowledgeEventType + + i=8945 + i=11853 + i=2790 + + + + EventId + A globally unique identifier for the event. + + i=68 + i=78 + i=8944 + + + + Comment + + i=68 + i=78 + i=8944 + + + + AuditConditionConfirmEventType + + i=8962 + i=11854 + i=2790 + + + + EventId + A globally unique identifier for the event. + + i=68 + i=78 + i=8961 + + + + Comment + + i=68 + i=78 + i=8961 + + + + AuditConditionShelvingEventType + + i=11855 + i=2790 + + + + ShelvingTime + + i=68 + i=78 + i=11093 + + + + RefreshStartEventType + + i=2130 + + + + RefreshEndEventType + + i=2130 + + + + RefreshRequiredEventType + + i=2130 + + + + HasCondition + + i=32 + + IsConditionOf + + + ProgramStateMachineType + A state machine for a program. + + i=3830 + i=3835 + i=2392 + i=2393 + i=2394 + i=2395 + i=2396 + i=2397 + i=2398 + i=2399 + i=3850 + i=2400 + i=2402 + i=2404 + i=2406 + 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=79 + i=2391 + + + + RecycleCount + + i=68 + i=78 + i=2391 + + + + InstanceCount + + i=68 + i=2391 + + + + MaxInstanceCount + + i=68 + i=2391 + + + + MaxRecycleCount + + i=68 + i=2391 + + + + ProgramDiagnostics + + i=3840 + i=3841 + i=3842 + i=3843 + i=3844 + i=3845 + i=3846 + i=3847 + i=3848 + i=3849 + i=2380 + i=80 + i=2391 + + + + CreateSessionId + + i=68 + i=78 + i=2399 + + + + CreateClientName + + i=68 + i=78 + i=2399 + + + + InvocationCreationTime + + i=68 + i=78 + i=2399 + + + + LastTransitionTime + + i=68 + i=78 + i=2399 + + + + LastMethodCall + + i=68 + i=78 + i=2399 + + + + LastMethodSessionId + + i=68 + i=78 + i=2399 + + + + LastMethodInputArguments + + i=68 + i=78 + i=2399 + + + + LastMethodOutputArguments + + i=68 + i=78 + i=2399 + + + + LastMethodCallTime + + i=68 + i=78 + i=2399 + + + + LastMethodReturnStatus + + i=68 + i=78 + i=2399 + + + + FinalResultData + + i=58 + i=80 + i=2391 + + + + Ready + The Program is properly initialized and may be started. + + i=2401 + i=2408 + i=2410 + i=2414 + i=2422 + i=2424 + i=2307 + i=2391 + + + + StateNumber + + i=68 + i=78 + i=2400 + + + 1 + + + + Running + The Program is executing making progress towards completion. + + i=2403 + i=2410 + i=2412 + i=2414 + i=2416 + i=2418 + i=2307 + i=2391 + + + + StateNumber + + i=68 + i=78 + i=2402 + + + 2 + + + + Suspended + The Program has been stopped prior to reaching a terminal state but may be resumed. + + i=2405 + i=2416 + i=2418 + i=2420 + i=2422 + i=2307 + i=2391 + + + + StateNumber + + i=68 + i=78 + i=2404 + + + 3 + + + + Halted + The Program is in a terminal or failed state, and it cannot be started or resumed without being reset. + + i=2407 + i=2408 + i=2412 + i=2420 + i=2424 + i=2307 + i=2391 + + + + StateNumber + + i=68 + i=78 + i=2406 + + + 4 + + + + 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 + Causes the Program to transition from the Ready state to the Running state. + + i=2410 + i=78 + i=2391 + + + + Suspend + Causes the Program to transition from the Running state to the Suspended state. + + i=2416 + i=78 + i=2391 + + + + Resume + Causes the Program to transition from the Suspended state to the Running state. + + i=2418 + i=78 + i=2391 + + + + Halt + Causes the Program to transition from the Ready, Running or Suspended state to the Halted state. + + i=2412 + i=2420 + i=2424 + i=78 + i=2391 + + + + Reset + Causes the Program to transition from the Halted state to the Ready state. + + i=2408 + i=78 + i=2391 + + + + ProgramTransitionEventType + + i=2379 + i=2311 + + + + IntermediateResult + + i=68 + i=78 + i=2378 + + + + AuditProgramTransitionEventType + + 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 + + + + Annotations + + i=68 + + + + HistoricalDataConfigurationType + + i=3059 + i=11876 + i=2323 + i=2324 + i=2325 + i=2326 + i=2327 + i=2328 + i=11499 + i=11500 + 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 + + + + HA Configuration + + 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 + + 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=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 + + + + AuditHistoryEventUpdateEventType + + 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 + + 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 + + + + AuditHistoryDeleteEventType + + i=3027 + i=2104 + + + + UpdatedNode + + i=68 + i=78 + i=3012 + + + + AuditHistoryRawModifyDeleteEventType + + 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 + + i=3020 + i=3021 + i=3012 + + + + ReqTimes + + i=68 + i=78 + i=3019 + + + + OldValues + + i=68 + i=78 + i=3019 + + + + AuditHistoryEventDeleteEventType + + i=3023 + i=3024 + i=3012 + + + + EventIds + + i=68 + i=78 + i=3022 + + + + OldValues + + i=68 + i=78 + i=3022 + + + + TrustListType + + i=12542 + i=12543 + i=12546 + i=12548 + i=12550 + i=11575 + + + + LastUpdateTime + + i=68 + i=78 + 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=78 + 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 + + + + + + + + + + + CertificateGroupType + + i=13599 + i=13631 + 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 + The size of the file in bytes. + + i=68 + i=78 + i=13599 + + + + Writable + Whether the file is writable. + + i=68 + i=78 + i=13599 + + + + UserWritable + Whether the file is writable by the current user. + + i=68 + i=78 + i=13599 + + + + OpenCount + The current number of open file handles. + + 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 + + + + 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 + The size of the file in bytes. + + i=68 + i=78 + i=13815 + + + + Writable + Whether the file is writable. + + i=68 + i=78 + i=13815 + + + + UserWritable + Whether the file is writable by the current user. + + i=68 + i=78 + i=13815 + + + + OpenCount + The current number of open file handles. + + 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 + The size of the file in bytes. + + i=68 + i=78 + i=13849 + + + + Writable + Whether the file is writable. + + i=68 + i=78 + i=13849 + + + + UserWritable + Whether the file is writable by the current user. + + i=68 + i=78 + i=13849 + + + + OpenCount + The current number of open file handles. + + 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 + The size of the file in bytes. + + i=68 + i=78 + i=13883 + + + + Writable + Whether the file is writable. + + i=68 + i=78 + i=13883 + + + + UserWritable + Whether the file is writable by the current user. + + i=68 + i=78 + i=13883 + + + + OpenCount + The current number of open file handles. + + 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 + The size of the file in bytes. + + i=68 + i=78 + i=13917 + + + + Writable + Whether the file is writable. + + i=68 + i=78 + i=13917 + + + + UserWritable + Whether the file is writable by the current user. + + i=68 + i=78 + i=13917 + + + + OpenCount + The current number of open file handles. + + 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 + + + + RsaMinApplicationCertificateType + + i=12557 + + + + RsaSha256ApplicationCertificateType + + i=12557 + + + + 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 + The size of the file in bytes. + + i=68 + i=78 + i=13952 + + + + Writable + Whether the file is writable. + + i=68 + i=78 + i=13952 + + + + UserWritable + Whether the file is writable by the current user. + + i=68 + i=78 + i=13952 + + + + OpenCount + The current number of open file handles. + + 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 + + + + + + + + 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 + + + + + + + + + + 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 + The size of the file in bytes. + + i=68 + i=12642 + + + + Writable + Whether the file is writable. + + i=68 + i=12642 + + + + UserWritable + Whether the file is writable by the current user. + + i=68 + i=12642 + + + + OpenCount + The current number of open file handles. + + i=68 + i=12642 + + + + Open + + 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 + + i=12651 + i=12642 + + + + InputArguments + + i=68 + i=12650 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + + Read + + 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 + + i=12656 + i=12642 + + + + InputArguments + + i=68 + i=12655 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + i=297 + + + + Data + + i=15 + + -1 + + + + + + + + + + GetPosition + + 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 + + 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 + The size of the file in bytes. + + i=68 + i=14089 + + + + Writable + Whether the file is writable. + + i=68 + i=14089 + + + + UserWritable + Whether the file is writable by the current user. + + i=68 + i=14089 + + + + OpenCount + The current number of open file handles. + + 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 + The size of the file in bytes. + + i=68 + i=14123 + + + + Writable + Whether the file is writable. + + i=68 + i=14123 + + + + UserWritable + Whether the file is writable by the current user. + + i=68 + i=14123 + + + + OpenCount + The current number of open file handles. + + 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 + + + + + + + + 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 + + + + + + + + + + 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 + At the beginning of each interval, retrieve the calculated value from the data points on either side of the requested timestamp. + + i=2340 + + + + Average + Retrieve the average value of the data over the interval. + + i=2340 + + + + TimeAverage + Retrieve the time weighted average data over the interval using Interpolated Bounding Values. + + i=2340 + + + + TimeAverage2 + Retrieve the time weighted average data over the interval using Simple Bounding Values. + + i=2340 + + + + Total + Retrieve the total (time integral) of the data over the interval using Interpolated Bounding Values. + + i=2340 + + + + Total2 + Retrieve the total (time integral) of the data over the interval using Simple Bounding Values. + + i=2340 + + + + Minimum + Retrieve the minimum raw value in the interval with the timestamp of the start of the interval. + + i=2340 + + + + Maximum + Retrieve the maximum raw value in the interval with the timestamp of the start of the interval. + + i=2340 + + + + MinimumActualTime + Retrieve the minimum value in the interval and the Timestamp of the minimum value. + + i=2340 + + + + MaximumActualTime + Retrieve the maximum value in the interval and the Timestamp of the maximum value. + + i=2340 + + + + Range + Retrieve the difference between the minimum and maximum Value over the interval. + + i=2340 + + + + Minimum2 + Retrieve the minimum value in the interval including the Simple Bounding Values. + + i=2340 + + + + Maximum2 + Retrieve the maximum value in the interval including the Simple Bounding Values. + + i=2340 + + + + MinimumActualTime2 + Retrieve the minimum value with the actual timestamp including the Simple Bounding Values. + + i=2340 + + + + MaximumActualTime2 + Retrieve the maximum value with the actual timestamp including the Simple Bounding Values. + + i=2340 + + + + Range2 + Retrieve the difference between the Minimum2 and Maximum2 value over the interval. + + i=2340 + + + + AnnotationCount + Retrieve the number of Annotations in the interval. + + i=2340 + + + + Count + Retrieve the number of raw values over the interval. + + i=2340 + + + + DurationInStateZero + Retrieve the time a Boolean or numeric was in a zero state using Simple Bounding Values. + + i=2340 + + + + DurationInStateNonZero + Retrieve the time a Boolean or numeric was in a non-zero state using Simple Bounding Values. + + i=2340 + + + + NumberOfTransitions + Retrieve the number of changes between zero and non-zero that a Boolean or Numeric value experienced in the interval. + + i=2340 + + + + Start + Retrieve the value at the beginning of the interval using Interpolated Bounding Values. + + i=2340 + + + + End + Retrieve the value at the end of the interval using Interpolated Bounding Values. + + i=2340 + + + + Delta + Retrieve the difference between the Start and End value in the interval. + + i=2340 + + + + StartBound + Retrieve the value at the beginning of the interval using Simple Bounding Values. + + i=2340 + + + + EndBound + Retrieve the value at the end of the interval using Simple Bounding Values. + + i=2340 + + + + DeltaBounds + Retrieve the difference between the StartBound and EndBound value in the interval. + + i=2340 + + + + DurationGood + Retrieve the total duration of time in the interval during which the data is good. + + i=2340 + + + + DurationBad + Retrieve the total duration of time in the interval during which the data is bad. + + i=2340 + + + + PercentGood + Retrieve the percent of data (0 to 100) in the interval which has a good StatusCode. + + i=2340 + + + + PercentBad + Retrieve the percent of data (0 to 100) in the interval which has a bad StatusCode. + + i=2340 + + + + WorstQuality + Retrieve the worst StatusCode of data in the interval. + + i=2340 + + + + WorstQuality2 + Retrieve the worst StatusCode of data in the interval including the Simple Bounding Values. + + i=2340 + + + + StandardDeviationSample + Retrieve the standard deviation for the interval for a sample of the population (n-1). + + i=2340 + + + + StandardDeviationPopulation + Retrieve the standard deviation for the interval for a complete population (n) which includes Simple Bounding Values. + + i=2340 + + + + VarianceSample + Retrieve the variance for the interval as calculated by the StandardDeviationSample. + + i=2340 + + + + VariancePopulation + Retrieve the variance for the interval as calculated by the StandardDeviationPopulation which includes Simple Bounding Values. + + i=2340 + + + + IdType + The type of identifier used in a node id. + + i=7591 + i=29 + + + + The identifier is a numeric value. 0 is a null value. + + + The identifier is a string value. An empty string is a null value. + + + The identifier is a 16 byte structure. 16 zero bytes is a null value. + + + The identifier is an array of bytes. A zero length array is a null value. + + + + + EnumStrings + + i=68 + i=78 + i=256 + + + + + + + Numeric + + + + + String + + + + + Guid + + + + + Opaque + + + + + + NodeClass + A mask specifying the class of the node. + + i=11878 + i=29 + + + + No classes are selected. + + + The node is an object. + + + The node is a variable. + + + The node is a method. + + + The node is an object type. + + + The node is an variable type. + + + The node is a reference type. + + + The node is a data type. + + + The node is a view. + + + + + EnumValues + + i=68 + i=78 + i=257 + + + + + + i=7616 + + + + 0 + + + + Unspecified + + + + + No classes are selected. + + + + + + + i=7616 + + + + 1 + + + + Object + + + + + The node is an object. + + + + + + + i=7616 + + + + 2 + + + + Variable + + + + + The node is a variable. + + + + + + + i=7616 + + + + 4 + + + + Method + + + + + The node is a method. + + + + + + + i=7616 + + + + 8 + + + + ObjectType + + + + + The node is an object type. + + + + + + + i=7616 + + + + 16 + + + + VariableType + + + + + The node is an variable type. + + + + + + + i=7616 + + + + 32 + + + + ReferenceType + + + + + The node is a reference type. + + + + + + + i=7616 + + + + 64 + + + + DataType + + + + + The node is a data type. + + + + + + + i=7616 + + + + 128 + + + + View + + + + + The node is a view. + + + + + + + + + Argument + An argument for a method. + + i=22 + + + + The name of the argument. + + + The data type of the argument. + + + Whether the argument is an array type and the rank of the array if it is. + + + The number of dimensions if the argument is an array type and one or more dimensions have a fixed length. + + + The description for the argument. + + + + + EnumValueType + A mapping between a value of an enumerated type and a name and description. + + i=22 + + + + The value of the enumeration. + + + Human readable name for the value. + + + A description of the value. + + + + + OptionSet + This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask. + + i=22 + + + + Array of bytes representing the bits in the option set. + + + Array of bytes with same size as value representing the valid bits in the value parameter. + + + + + Union + This abstract DataType is the base DataType for all union DataTypes. + + i=22 + + + + NormalizedString + A string normalized based on the rules in the unicode specification. + + i=12 + + + + DecimalString + An arbitraty numeric value. + + i=12 + + + + DurationString + A period of time formatted as defined in ISO 8601-2000. + + i=12 + + + + TimeString + A time formatted as defined in ISO 8601-2000. + + i=12 + + + + DateString + A date formatted as defined in ISO 8601-2000. + + i=12 + + + + Duration + A period of time measured in milliseconds. + + i=11 + + + + UtcTime + A date/time value specified in Universal Coordinated Time (UTC). + + i=13 + + + + LocaleId + An identifier for a user locale. + + i=12 + + + + TimeZoneDataType + + i=22 + + + + + + + + IntegerId + A numeric identifier for an object. + + i=7 + + + + ApplicationType + The types of applications. + + i=7597 + i=29 + + + + The application is a server. + + + The application is a client. + + + The application is a client and a server. + + + The application is a discovery server. + + + + + EnumStrings + + i=68 + i=78 + i=307 + + + + + + + Server + + + + + Client + + + + + ClientAndServer + + + + + DiscoveryServer + + + + + + ApplicationDescription + Describes an application and how to find it. + + i=22 + + + + The globally unique identifier for the application. + + + The globally unique identifier for the product. + + + The name of application. + + + The type of application. + + + The globally unique identifier for the server that is acting as a gateway for the server. + + + The globally unique identifier for the discovery profile supported by the server. + + + The URLs for the server's discovery endpoints. + + + + + ServerOnNetwork + + i=22 + + + + + + + + + + ApplicationInstanceCertificate + A certificate for an instance of an application. + + i=15 + + + + MessageSecurityMode + The type of security to use on a message. + + i=7595 + i=29 + + + + An invalid mode. + + + No security is used. + + + The message is signed. + + + The message is signed and encrypted. + + + + + EnumStrings + + i=68 + i=78 + i=302 + + + + + + + Invalid + + + + + None + + + + + Sign + + + + + SignAndEncrypt + + + + + + UserTokenType + The possible user token types. + + i=7596 + i=29 + + + + An anonymous user. + + + A user identified by a user name and password. + + + A user identified by an X509 certificate. + + + A user identified by WS-Security XML token. + + + + + EnumStrings + + i=68 + i=78 + i=303 + + + + + + + Anonymous + + + + + UserName + + + + + Certificate + + + + + IssuedToken + + + + + + UserTokenPolicy + Describes a user token that can be used with a server. + + i=22 + + + + A identifier for the policy assigned by the server. + + + The type of user token. + + + The type of issued token. + + + The endpoint or any other information need to contruct an issued token URL. + + + The security policy to use when encrypting or signing the user token. + + + + + EndpointDescription + The description of a endpoint that can be used to access a server. + + i=22 + + + + The network endpoint to use when connecting to the server. + + + The description of the server. + + + The server's application certificate. + + + The security mode that must be used when connecting to the endpoint. + + + The security policy to use when connecting to the endpoint. + + + The user identity tokens that can be used with this endpoint. + + + The transport profile to use when connecting to the endpoint. + + + A server assigned value that indicates how secure the endpoint is relative to other server endpoints. + + + + + RegisteredServer + The information required to register a server with a discovery server. + + i=22 + + + + The globally unique identifier for the server. + + + The globally unique identifier for the product. + + + The name of server in multiple lcoales. + + + The type of server. + + + The globally unique identifier for the server that is acting as a gateway for the server. + + + The URLs for the server's discovery endpoints. + + + A path to a file that is deleted when the server is no longer accepting connections. + + + If FALSE the server will save the registration information to a persistent datastore. + + + + + DiscoveryConfiguration + A base type for discovery configuration information. + + i=22 + + + + MdnsDiscoveryConfiguration + The discovery information needed for mDNS registration. + + i=12890 + + + + The name for server that is broadcast via mDNS. + + + The server capabilities that are broadcast via mDNS. + + + + + SecurityTokenRequestType + Indicates whether a token if being created or renewed. + + i=7598 + i=29 + + + + The channel is being created. + + + The channel is being renewed. + + + + + EnumStrings + + i=68 + i=78 + i=315 + + + + + + + Issue + + + + + Renew + + + + + + SignedSoftwareCertificate + A software certificate with a digital signature. + + i=22 + + + + The data of the certificate. + + + The digital signature. + + + + + SessionAuthenticationToken + A unique identifier for a session used to authenticate requests. + + i=17 + + + + UserIdentityToken + A base type for a user identity token. + + i=22 + + + + The policy id specified in a user token policy for the endpoint being used. + + + + + AnonymousIdentityToken + A token representing an anonymous user. + + i=316 + + + + UserNameIdentityToken + A token representing a user identified by a user name and password. + + i=316 + + + + The user name. + + + The password encrypted with the server certificate. + + + The algorithm used to encrypt the password. + + + + + X509IdentityToken + A token representing a user identified by an X509 certificate. + + i=316 + + + + The certificate. + + + + + IssuedIdentityToken + A token representing a user identified by a WS-Security XML token. + + i=316 + + + + The XML token encrypted with the server certificate. + + + The algorithm used to encrypt the certificate. + + + + + NodeAttributesMask + The bits used to specify default attributes for a new node. + + i=11881 + i=29 + + + + No attribuites provided. + + + The access level attribute is specified. + + + The array dimensions attribute is specified. + + + The browse name attribute is specified. + + + The contains no loops attribute is specified. + + + The data type attribute is specified. + + + The description attribute is specified. + + + The display name attribute is specified. + + + The event notifier attribute is specified. + + + The executable attribute is specified. + + + The historizing attribute is specified. + + + The inverse name attribute is specified. + + + The is abstract attribute is specified. + + + The minimum sampling interval attribute is specified. + + + The node class attribute is specified. + + + The node id attribute is specified. + + + The symmetric attribute is specified. + + + The user access level attribute is specified. + + + The user executable attribute is specified. + + + The user write mask attribute is specified. + + + The value rank attribute is specified. + + + The write mask attribute is specified. + + + The value attribute is specified. + + + All attributes are specified. + + + All base attributes are specified. + + + All object attributes are specified. + + + All object type or data type attributes are specified. + + + All variable attributes are specified. + + + All variable type attributes are specified. + + + All method attributes are specified. + + + All reference type attributes are specified. + + + All view attributes are specified. + + + + + EnumValues + + i=68 + i=78 + i=348 + + + + + + i=7616 + + + + 0 + + + + None + + + + + No attribuites provided. + + + + + + + i=7616 + + + + 1 + + + + AccessLevel + + + + + The access level attribute is specified. + + + + + + + i=7616 + + + + 2 + + + + ArrayDimensions + + + + + The array dimensions attribute is specified. + + + + + + + i=7616 + + + + 4 + + + + BrowseName + + + + + The browse name attribute is specified. + + + + + + + i=7616 + + + + 8 + + + + ContainsNoLoops + + + + + The contains no loops attribute is specified. + + + + + + + i=7616 + + + + 16 + + + + DataType + + + + + The data type attribute is specified. + + + + + + + i=7616 + + + + 32 + + + + Description + + + + + The description attribute is specified. + + + + + + + i=7616 + + + + 64 + + + + DisplayName + + + + + The display name attribute is specified. + + + + + + + i=7616 + + + + 128 + + + + EventNotifier + + + + + The event notifier attribute is specified. + + + + + + + i=7616 + + + + 256 + + + + Executable + + + + + The executable attribute is specified. + + + + + + + i=7616 + + + + 512 + + + + Historizing + + + + + The historizing attribute is specified. + + + + + + + i=7616 + + + + 1024 + + + + InverseName + + + + + The inverse name attribute is specified. + + + + + + + i=7616 + + + + 2048 + + + + IsAbstract + + + + + The is abstract attribute is specified. + + + + + + + i=7616 + + + + 4096 + + + + MinimumSamplingInterval + + + + + The minimum sampling interval attribute is specified. + + + + + + + i=7616 + + + + 8192 + + + + NodeClass + + + + + The node class attribute is specified. + + + + + + + i=7616 + + + + 16384 + + + + NodeId + + + + + The node id attribute is specified. + + + + + + + i=7616 + + + + 32768 + + + + Symmetric + + + + + The symmetric attribute is specified. + + + + + + + i=7616 + + + + 65536 + + + + UserAccessLevel + + + + + The user access level attribute is specified. + + + + + + + i=7616 + + + + 131072 + + + + UserExecutable + + + + + The user executable attribute is specified. + + + + + + + i=7616 + + + + 262144 + + + + UserWriteMask + + + + + The user write mask attribute is specified. + + + + + + + i=7616 + + + + 524288 + + + + ValueRank + + + + + The value rank attribute is specified. + + + + + + + i=7616 + + + + 1048576 + + + + WriteMask + + + + + The write mask attribute is specified. + + + + + + + i=7616 + + + + 2097152 + + + + Value + + + + + The value attribute is specified. + + + + + + + i=7616 + + + + 4194303 + + + + All + + + + + All attributes are specified. + + + + + + + i=7616 + + + + 1335396 + + + + BaseNode + + + + + All base attributes are specified. + + + + + + + i=7616 + + + + 1335524 + + + + Object + + + + + All object attributes are specified. + + + + + + + i=7616 + + + + 1337444 + + + + ObjectTypeOrDataType + + + + + All object type or data type attributes are specified. + + + + + + + i=7616 + + + + 4026999 + + + + Variable + + + + + All variable attributes are specified. + + + + + + + i=7616 + + + + 3958902 + + + + VariableType + + + + + All variable type attributes are specified. + + + + + + + i=7616 + + + + 1466724 + + + + Method + + + + + All method attributes are specified. + + + + + + + i=7616 + + + + 1371236 + + + + ReferenceType + + + + + All reference type attributes are specified. + + + + + + + i=7616 + + + + 1335532 + + + + View + + + + + All view attributes are specified. + + + + + + + + + AddNodesItem + A request to add a node to the server address space. + + i=22 + + + + The node id for the parent node. + + + The type of reference from the parent to the new node. + + + The node id requested by the client. If null the server must provide one. + + + The browse name for the new node. + + + The class of the new node. + + + The default attributes for the new node. + + + The type definition for the new node. + + + + + AddReferencesItem + A request to add a reference to the server address space. + + i=22 + + + + The source of the reference. + + + The type of reference. + + + If TRUE the reference is a forward reference. + + + The URI of the server containing the target (if in another server). + + + The target of the reference. + + + The node class of the target (if known). + + + + + DeleteNodesItem + A request to delete a node to the server address space. + + i=22 + + + + The id of the node to delete. + + + If TRUE all references to the are deleted as well. + + + + + DeleteReferencesItem + A request to delete a node from the server address space. + + i=22 + + + + The source of the reference to delete. + + + The type of reference to delete. + + + If TRUE the a forward reference is deleted. + + + The target of the reference to delete. + + + If TRUE the reference is deleted in both directions. + + + + + AttributeWriteMask + Define bits used to indicate which attributes are writable. + + i=11882 + i=29 + + + + No attributes are writable. + + + The access level attribute is writable. + + + The array dimensions attribute is writable. + + + The browse name attribute is writable. + + + The contains no loops attribute is writable. + + + The data type attribute is writable. + + + The description attribute is writable. + + + The display name attribute is writable. + + + The event notifier attribute is writable. + + + The executable attribute is writable. + + + The historizing attribute is writable. + + + The inverse name attribute is writable. + + + The is abstract attribute is writable. + + + The minimum sampling interval attribute is writable. + + + The node class attribute is writable. + + + The node id attribute is writable. + + + The symmetric attribute is writable. + + + The user access level attribute is writable. + + + The user executable attribute is writable. + + + The user write mask attribute is writable. + + + The value rank attribute is writable. + + + The write mask attribute is writable. + + + The value attribute is writable. + + + + + EnumValues + + i=68 + i=78 + i=347 + + + + + + i=7616 + + + + 0 + + + + None + + + + + No attributes are writable. + + + + + + + i=7616 + + + + 1 + + + + AccessLevel + + + + + The access level attribute is writable. + + + + + + + i=7616 + + + + 2 + + + + ArrayDimensions + + + + + The array dimensions attribute is writable. + + + + + + + i=7616 + + + + 4 + + + + BrowseName + + + + + The browse name attribute is writable. + + + + + + + i=7616 + + + + 8 + + + + ContainsNoLoops + + + + + The contains no loops attribute is writable. + + + + + + + i=7616 + + + + 16 + + + + DataType + + + + + The data type attribute is writable. + + + + + + + i=7616 + + + + 32 + + + + Description + + + + + The description attribute is writable. + + + + + + + i=7616 + + + + 64 + + + + DisplayName + + + + + The display name attribute is writable. + + + + + + + i=7616 + + + + 128 + + + + EventNotifier + + + + + The event notifier attribute is writable. + + + + + + + i=7616 + + + + 256 + + + + Executable + + + + + The executable attribute is writable. + + + + + + + i=7616 + + + + 512 + + + + Historizing + + + + + The historizing attribute is writable. + + + + + + + i=7616 + + + + 1024 + + + + InverseName + + + + + The inverse name attribute is writable. + + + + + + + i=7616 + + + + 2048 + + + + IsAbstract + + + + + The is abstract attribute is writable. + + + + + + + i=7616 + + + + 4096 + + + + MinimumSamplingInterval + + + + + The minimum sampling interval attribute is writable. + + + + + + + i=7616 + + + + 8192 + + + + NodeClass + + + + + The node class attribute is writable. + + + + + + + i=7616 + + + + 16384 + + + + NodeId + + + + + The node id attribute is writable. + + + + + + + i=7616 + + + + 32768 + + + + Symmetric + + + + + The symmetric attribute is writable. + + + + + + + i=7616 + + + + 65536 + + + + UserAccessLevel + + + + + The user access level attribute is writable. + + + + + + + i=7616 + + + + 131072 + + + + UserExecutable + + + + + The user executable attribute is writable. + + + + + + + i=7616 + + + + 262144 + + + + UserWriteMask + + + + + The user write mask attribute is writable. + + + + + + + i=7616 + + + + 524288 + + + + ValueRank + + + + + The value rank attribute is writable. + + + + + + + i=7616 + + + + 1048576 + + + + WriteMask + + + + + The write mask attribute is writable. + + + + + + + i=7616 + + + + 2097152 + + + + ValueForVariableType + + + + + The value attribute is writable. + + + + + + + + + ContinuationPoint + An identifier for a suspended query or browse operation. + + i=15 + + + + RelativePathElement + An element in a relative path. + + i=22 + + + + The type of reference to follow. + + + If TRUE the reverse reference is followed. + + + If TRUE then subtypes of the reference type are followed. + + + The browse name of the target. + + + + + RelativePath + A relative path constructed from reference types and browse names. + + i=22 + + + + A list of elements in the path. + + + + + Counter + A monotonically increasing value. + + i=7 + + + + NumericRange + Specifies a range of array indexes. + + i=12 + + + + Time + A time value specified as HH:MM:SS.SSS. + + i=12 + + + + Date + A date value. + + i=13 + + + + EndpointConfiguration + + i=22 + + + + + + + + + + + + + + + FilterOperator + + i=7605 + i=29 + + + + + + + + + + + + + + + + + + + + + + + + EnumStrings + + i=68 + i=78 + i=576 + + + + + + + Equals + + + + + IsNull + + + + + GreaterThan + + + + + LessThan + + + + + GreaterThanOrEqual + + + + + LessThanOrEqual + + + + + Like + + + + + Not + + + + + Between + + + + + InList + + + + + And + + + + + Or + + + + + Cast + + + + + InView + + + + + OfType + + + + + RelatedTo + + + + + BitwiseAnd + + + + + BitwiseOr + + + + + + ContentFilterElement + + i=22 + + + + + + + + ContentFilter + + i=22 + + + + + + + FilterOperand + + i=22 + + + + ElementOperand + + i=589 + + + + + + + LiteralOperand + + i=589 + + + + + + + AttributeOperand + + i=589 + + + + + + + + + + + SimpleAttributeOperand + + i=589 + + + + + + + + + + HistoryEvent + + i=22 + + + + + + + HistoryUpdateType + + i=11884 + i=29 + + + + + + + + + + EnumValues + + i=68 + i=78 + i=11234 + + + + + + i=7616 + + + + 1 + + + + Insert + + + + + + + + i=7616 + + + + 2 + + + + Replace + + + + + + + + i=7616 + + + + 3 + + + + Update + + + + + + + + i=7616 + + + + 4 + + + + Delete + + + + + + + + + + PerformUpdateType + + i=11885 + i=29 + + + + + + + + + + EnumValues + + i=68 + i=78 + i=11293 + + + + + + i=7616 + + + + 1 + + + + Insert + + + + + + + + i=7616 + + + + 2 + + + + Replace + + + + + + + + i=7616 + + + + 3 + + + + Update + + + + + + + + i=7616 + + + + 4 + + + + Remove + + + + + + + + + + MonitoringFilter + + i=22 + + + + EventFilter + + i=719 + + + + + + + + AggregateConfiguration + + i=22 + + + + + + + + + + + HistoryEventFieldList + + i=22 + + + + + + + BuildInfo + + i=22 + + + + + + + + + + + + RedundancySupport + + i=7611 + i=29 + + + + + + + + + + + + EnumStrings + + i=68 + i=78 + i=851 + + + + + + + None + + + + + Cold + + + + + Warm + + + + + Hot + + + + + Transparent + + + + + HotAndMirrored + + + + + + ServerState + + i=7612 + i=29 + + + + + + + + + + + + + + EnumStrings + + i=68 + i=78 + i=852 + + + + + + + Running + + + + + Failed + + + + + NoConfiguration + + + + + Suspended + + + + + Shutdown + + + + + Test + + + + + CommunicationFault + + + + + Unknown + + + + + + RedundantServerDataType + + i=22 + + + + + + + + + EndpointUrlListDataType + + i=22 + + + + + + + NetworkGroupDataType + + i=22 + + + + + + + + SamplingIntervalDiagnosticsDataType + + i=22 + + + + + + + + + + ServerDiagnosticsSummaryDataType + + i=22 + + + + + + + + + + + + + + + + + + ServerStatusDataType + + i=22 + + + + + + + + + + + + SessionDiagnosticsDataType + + i=22 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SessionSecurityDiagnosticsDataType + + i=22 + + + + + + + + + + + + + + + ServiceCounterDataType + + i=22 + + + + + + + + StatusResult + + i=22 + + + + + + + + SubscriptionDiagnosticsDataType + + i=22 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ModelChangeStructureDataType + + i=22 + + + + + + + + + SemanticChangeStructureDataType + + i=22 + + + + + + + + Range + + i=22 + + + + + + + + EUInformation + + i=22 + + + + + + + + + + AxisScaleEnumeration + + i=12078 + i=29 + + + + + + + + + EnumStrings + + i=68 + i=78 + i=12077 + + + + + + + Linear + + + + + Log + + + + + Ln + + + + + + ComplexNumberType + + i=22 + + + + + + + + DoubleComplexNumberType + + i=22 + + + + + + + + AxisInformation + + i=22 + + + + + + + + + + + XVType + + i=22 + + + + + + + + ProgramDiagnosticDataType + + i=22 + + + + + + + + + + + + + + + + Annotation + + i=22 + + + + + + + + + ExceptionDeviationFormat + + i=7614 + i=29 + + + + + + + + + + + EnumStrings + + i=68 + i=78 + i=890 + + + + + + + AbsoluteValue + + + + + PercentOfValue + + + + + PercentOfRange + + + + + PercentOfEURange + + + + + Unknown + + + + + + Default XML + + i=12554 + i=12677 + i=76 + + + + Default XML + + i=296 + i=8285 + i=76 + + + + Default XML + + i=7594 + i=8291 + i=76 + + + + Default XML + + i=12755 + i=12759 + i=76 + + + + Default XML + + i=12756 + i=12762 + i=76 + + + + Default XML + + i=8912 + i=8918 + i=76 + + + + Default XML + + i=308 + i=8300 + i=76 + + + + Default XML + + i=12189 + i=12201 + i=76 + + + + Default XML + + i=304 + i=8297 + i=76 + + + + Default XML + + i=312 + i=8303 + i=76 + + + + Default XML + + i=432 + i=8417 + i=76 + + + + Default XML + + i=12890 + i=12894 + i=76 + + + + Default XML + + i=12891 + i=12897 + i=76 + + + + Default XML + + i=344 + i=8333 + 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=376 + i=8363 + i=76 + + + + Default XML + + i=379 + i=8366 + i=76 + + + + Default XML + + i=382 + i=8369 + i=76 + + + + Default XML + + i=385 + i=8372 + i=76 + + + + Default XML + + i=537 + i=12712 + i=76 + + + + Default XML + + i=540 + i=12715 + i=76 + + + + Default XML + + i=331 + i=8321 + 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=659 + i=8639 + i=76 + + + + Default XML + + i=719 + i=8702 + i=76 + + + + Default XML + + i=725 + i=8708 + i=76 + + + + Default XML + + i=948 + i=8711 + i=76 + + + + Default XML + + i=920 + i=8807 + 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=891 + i=8879 + i=76 + + + + Opc.Ua + + i=8254 + i=12677 + i=8285 + i=8291 + i=12759 + i=12762 + 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=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 +ZT0ieHM6YmFzZTY0QmluYXJ5IiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkJpdEZpZWxkTWFz +a0RhdGFUeXBlIiB0eXBlPSJ4czp1bnNpZ25lZExvbmciIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUg +IG5hbWU9Ik9wZW5GaWxlTW9kZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmlu +ZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlYWRfMSIgLz4NCiAgICAgIDx4czpl +bnVtZXJhdGlvbiB2YWx1ZT0iV3JpdGVfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 +ZT0iRXJhc2VFeGlzdGluZ180IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBcHBl +bmRfOCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9Ik9wZW5GaWxlTW9kZSIgdHlwZT0idG5zOk9wZW5GaWxlTW9kZSIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mT3BlbkZpbGVNb2RlIj4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPcGVuRmlsZU1vZGUiIHR5cGU9InRu +czpPcGVuRmlsZU1vZGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQog +ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iTGlzdE9mT3BlbkZpbGVNb2RlIiB0eXBlPSJ0bnM6TGlzdE9mT3BlbkZpbGVNb2RlIiBuaWxs +YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJUcnVz +dExpc3RNYXNrcyI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAg +ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv +biB2YWx1ZT0iVHJ1c3RlZENlcnRpZmljYXRlc18xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u +IHZhbHVlPSJUcnVzdGVkQ3Jsc18yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJ +c3N1ZXJDZXJ0aWZpY2F0ZXNfNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNz +dWVyQ3Jsc184IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBbGxfMTUiIC8+DQog +ICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJUcnVzdExpc3RNYXNrcyIgdHlwZT0idG5zOlRydXN0TGlzdE1hc2tzIiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJUcnVzdExpc3REYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3BlY2lmaWVkTGlzdHMiIHR5cGU9InhzOnVuc2ln +bmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcnVzdGVk +Q2VydGlmaWNhdGVzIiB0eXBlPSJ1YTpMaXN0T2ZCeXRlU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJ1c3RlZENybHMiIHR5 +cGU9InVhOkxpc3RPZkJ5dGVTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc3N1ZXJDZXJ0aWZpY2F0ZXMiIHR5cGU9InVhOkxp +c3RPZkJ5dGVTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJJc3N1ZXJDcmxzIiB0eXBlPSJ1YTpMaXN0T2ZCeXRlU3RyaW5nIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv +eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRydXN0TGlzdERhdGFUeXBlIiB0 +eXBlPSJ0bnM6VHJ1c3RMaXN0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +Ikxpc3RPZlRydXN0TGlzdERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJUcnVzdExpc3REYXRhVHlwZSIgdHlwZT0idG5zOlRydXN0TGlzdERhdGFU +eXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJMaXN0T2ZUcnVzdExpc3REYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlRydXN0TGlz +dERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVU +eXBlICBuYW1lPSJJZFR5cGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3Vt +ZW50YXRpb24+VGhlIHR5cGUgb2YgaWRlbnRpZmllciB1c2VkIGluIGEgbm9kZSBpZC48L3hzOmRv +Y3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpyZXN0cmljdGlvbiBi +YXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOdW1lcmljXzAi +IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN0cmluZ18xIiAvPg0KICAgICAgPHhz +OmVudW1lcmF0aW9uIHZhbHVlPSJHdWlkXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs +dWU9Ik9wYXF1ZV8zIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSWRUeXBlIiB0eXBlPSJ0bnM6SWRUeXBlIiAvPg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZJZFR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IklkVHlwZSIgdHlwZT0idG5zOklkVHlwZSIgbWluT2Nj +dXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZJZFR5cGUiIHR5cGU9 +InRuczpMaXN0T2ZJZFR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhz +OnNpbXBsZVR5cGUgIG5hbWU9Ik5vZGVDbGFzcyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg +ICA8eHM6ZG9jdW1lbnRhdGlvbj5BIG1hc2sgc3BlY2lmeWluZyB0aGUgY2xhc3Mgb2YgdGhlIG5v +ZGUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6cmVz +dHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i +VW5zcGVjaWZpZWRfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iT2JqZWN0XzEi +IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZhcmlhYmxlXzIiIC8+DQogICAgICA8 +eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik1ldGhvZF80IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u +IHZhbHVlPSJPYmplY3RUeXBlXzgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZh +cmlhYmxlVHlwZV8xNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVmZXJlbmNl +VHlwZV8zMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGF0YVR5cGVfNjQiIC8+ +DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZpZXdfMTI4IiAvPg0KICAgIDwveHM6cmVz +dHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUNs +YXNzIiB0eXBlPSJ0bnM6Tm9kZUNsYXNzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJO +b2RlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlNwZWNp +ZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gYWxsIG5vZGVzLjwveHM6ZG9jdW1l +bnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlQ2xhc3MiIHR5 +cGU9InRuczpOb2RlQ2xhc3MiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IkJyb3dzZU5hbWUiIHR5cGU9InVhOlF1YWxpZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNwbGF5TmFtZSIgdHlw +ZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IkRlc2NyaXB0aW9uIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0 +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iV3JpdGVNYXNrIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlcldyaXRlTWFzayIgdHlwZT0ieHM6dW5zaWduZWRJbnQi +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZXMiIHR5 +cGU9InRuczpMaXN0T2ZSZWZlcmVuY2VOb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9Ik5vZGUiIHR5cGU9InRuczpOb2RlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu +YW1lPSJMaXN0T2ZOb2RlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJOb2RlIiB0eXBlPSJ0bnM6Tm9kZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91 +bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w +bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTm9kZSIgdHlwZT0idG5zOkxpc3RP +Zk5vZGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9Ikluc3RhbmNlTm9kZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxz +ZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlIj4NCiAgICAgICAgPHhzOnNl +cXVlbmNlPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQog +ICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iSW5zdGFuY2VOb2RlIiB0eXBlPSJ0bnM6SW5zdGFuY2VOb2RlIiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJUeXBlTm9kZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1p +eGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlIj4NCiAgICAg +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRl +bnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iVHlwZU5vZGUiIHR5cGU9InRuczpUeXBlTm9kZSIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iT2JqZWN0Tm9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQog +ICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVs +b25nIHRvIG9iamVjdCBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 +aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4 +dGVuc2lvbiBiYXNlPSJ0bnM6SW5zdGFuY2VOb2RlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50Tm90aWZpZXIiIHR5cGU9InhzOnVuc2ln +bmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAg +PC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT2JqZWN0Tm9kZSIgdHlwZT0idG5zOk9iamVjdE5v +ZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik9iamVjdFR5cGVOb2RlIj4NCiAgICA8 +eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0 +cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gb2JqZWN0IHR5cGUgbm9kZXMuPC94czpkb2N1bWVudGF0 +aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9 +ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOlR5cGVOb2RlIj4NCiAgICAg +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IklzQWJzdHJhY3Qi +IHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5j +ZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwv +eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9iamVjdFR5cGVOb2RlIiB0eXBl +PSJ0bnM6T2JqZWN0VHlwZU5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlh +YmxlTm9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5T +cGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIHZhcmlhYmxlIG5vZGVzLjwv +eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhD +b250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpJbnN0 +YW5jZU5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iVmFsdWUiIHR5cGU9InVhOlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVl +UmFuayIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iQXJyYXlEaW1lbnNpb25zIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWNj +ZXNzTGV2ZWwiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJBY2Nlc3NMZXZlbCIgdHlwZT0ieHM6dW5zaWduZWRC +eXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWluaW11 +bVNhbXBsaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3Rvcml6aW5nIiB0eXBlPSJ4czpib29sZWFuIiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVu +c2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJWYXJpYWJsZU5vZGUiIHR5cGU9InRuczpWYXJpYWJsZU5vZGUiIC8+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhYmxlVHlwZU5vZGUiPg0KICAgIDx4czph +bm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+U3BlY2lmaWVzIHRoZSBhdHRyaWJ1 +dGVzIHdoaWNoIGJlbG9uZyB0byB2YXJpYWJsZSB0eXBlIG5vZGVzLjwveHM6ZG9jdW1lbnRhdGlv +bj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJm +YWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpUeXBlTm9kZSI+DQogICAgICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0i +dWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkRhdGFUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czppbnQi +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcnJheURpbWVu +c2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpi +b29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8 +L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWYXJpYWJsZVR5cGVOb2RlIiB0eXBlPSJ0bnM6VmFy +aWFibGVUeXBlTm9kZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVmZXJlbmNlVHlw +ZU5vZGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+U3Bl +Y2lmaWVzIHRoZSBhdHRyaWJ1dGVzIHdoaWNoIGJlbG9uZyB0byByZWZlcmVuY2UgdHlwZSBub2Rl +cy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21w +bGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6 +VHlwZU5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iSXNBYnN0cmFjdCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN5bW1ldHJpYyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkludmVyc2VOYW1lIiB0 +eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpj +b21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +UmVmZXJlbmNlVHlwZU5vZGUiIHR5cGU9InRuczpSZWZlcmVuY2VUeXBlTm9kZSIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iTWV0aG9kTm9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQog +ICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVs +b25nIHRvIG1ldGhvZCBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 +aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4 +dGVuc2lvbiBiYXNlPSJ0bnM6SW5zdGFuY2VOb2RlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV4ZWN1dGFibGUiIHR5cGU9InhzOmJvb2xlYW4i +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyRXhlY3V0 +YWJsZSIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNl +cXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTWV0aG9kTm9kZSIgdHlw +ZT0idG5zOk1ldGhvZE5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZpZXdOb2Rl +Ij4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRl +bnNpb24gYmFzZT0idG5zOkluc3RhbmNlTm9kZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250YWluc05vTG9vcHMiIHR5cGU9InhzOmJvb2xl +YW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudE5v +dGlmaWVyIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg +PC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENv +bnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlZpZXdOb2Rl +IiB0eXBlPSJ0bnM6Vmlld05vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFU +eXBlTm9kZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8 +eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpUeXBlTm9kZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpib29sZWFu +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4 +dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZU5vZGUiIHR5cGU9InRuczpEYXRhVHlwZU5vZGUi +IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZmVyZW5jZU5vZGUiPg0KICAgIDx4czph +bm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+U3BlY2lmaWVzIGEgcmVmZXJlbmNl +IHdoaWNoIGJlbG9uZ3MgdG8gYSBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu +bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVm +ZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ludmVyc2UiIHR5cGU9InhzOmJvb2xl +YW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdldElkIiB0 +eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJSZWZlcmVuY2VOb2RlIiB0eXBlPSJ0bnM6UmVmZXJlbmNlTm9kZSIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUmVmZXJlbmNlTm9kZSI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlTm9kZSIgdHlwZT0idG5zOlJlZmVy +ZW5jZU5vZGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl +bGVtZW50IG5hbWU9Ikxpc3RPZlJlZmVyZW5jZU5vZGUiIHR5cGU9InRuczpMaXN0T2ZSZWZlcmVu +Y2VOb2RlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJBcmd1bWVudCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l +bnRhdGlvbj5BbiBhcmd1bWVudCBmb3IgYSBtZXRob2QuPC94czpkb2N1bWVudGF0aW9uPg0KICAg +IDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +VmFsdWVSYW5rIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IkFycmF5RGltZW5zaW9ucyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVzY3Jp +cHRpb24iIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iQXJndW1lbnQiIHR5cGU9InRuczpBcmd1bWVudCIgLz4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iTGlzdE9mQXJndW1lbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IkFyZ3VtZW50IiB0eXBlPSJ0bnM6QXJndW1lbnQiIG1pbk9jY3Vy +cz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 +c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RP +ZkFyZ3VtZW50IiB0eXBlPSJ0bnM6TGlzdE9mQXJndW1lbnQiIG5pbGxhYmxlPSJ0cnVlIj48L3hz +OmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVudW1WYWx1ZVR5cGUiPg0KICAg +IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBtYXBwaW5nIGJldHdl +ZW4gYSB2YWx1ZSBvZiBhbiBlbnVtZXJhdGVkIHR5cGUgYW5kIGEgbmFtZSBhbmQgZGVzY3JpcHRp +b24uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0ieHM6bG9uZyIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzcGxheU5hbWUiIHR5cGU9 +InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFbnVtVmFsdWVUeXBlIiB0eXBl +PSJ0bnM6RW51bVZhbHVlVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m +RW51bVZhbHVlVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iRW51bVZhbHVlVHlwZSIgdHlwZT0idG5zOkVudW1WYWx1ZVR5cGUiIG1pbk9jY3Vycz0iMCIg +bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkVudW1W +YWx1ZVR5cGUiIHR5cGU9InRuczpMaXN0T2ZFbnVtVmFsdWVUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+ +PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJPcHRpb25TZXQiPg0KICAg +IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhpcyBhYnN0cmFjdCBT +dHJ1Y3R1cmVkIERhdGFUeXBlIGlzIHRoZSBiYXNlIERhdGFUeXBlIGZvciBhbGwgRGF0YVR5cGVz +IHJlcHJlc2VudGluZyBhIGJpdCBtYXNrLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu +bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFs +dWUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbGlkQml0cyIgdHlwZT0ieHM6YmFzZTY0Qmlu +YXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9wdGlvblNldCIgdHlw +ZT0idG5zOk9wdGlvblNldCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mT3B0 +aW9uU2V0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPcHRp +b25TZXQiIHR5cGU9InRuczpPcHRpb25TZXQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJv +dW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk9wdGlvblNldCIgdHlwZT0idG5z +Okxpc3RPZk9wdGlvblNldCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iVW5pb24iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhz +OmRvY3VtZW50YXRpb24+VGhpcyBhYnN0cmFjdCBEYXRhVHlwZSBpcyB0aGUgYmFzZSBEYXRhVHlw +ZSBmb3IgYWxsIHVuaW9uIERhdGFUeXBlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czph +bm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz +OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVbmlvbiIgdHlwZT0idG5zOlVuaW9u +IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZVbmlvbiI+DQogICAgPHhzOnNl +cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVW5pb24iIHR5cGU9InRuczpVbmlvbiIg +bWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iTGlzdE9mVW5pb24iIHR5cGU9InRuczpMaXN0T2ZVbmlvbiIgbmlsbGFibGU9InRydWUiPjwv +eHM6ZWxlbWVudD4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOb3JtYWxpemVkU3RyaW5nIiB0eXBl +PSJ4czpzdHJpbmciIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVjaW1hbFN0cmluZyIgdHlw +ZT0ieHM6c3RyaW5nIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkR1cmF0aW9uU3RyaW5nIiB0 +eXBlPSJ4czpzdHJpbmciIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZVN0cmluZyIgdHlw +ZT0ieHM6c3RyaW5nIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkRhdGVTdHJpbmciIHR5cGU9 +InhzOnN0cmluZyIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEdXJhdGlvbiIgdHlwZT0ieHM6 +ZG91YmxlIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IlV0Y1RpbWUiIHR5cGU9InhzOmRhdGVU +aW1lIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkxvY2FsZUlkIiB0eXBlPSJ4czpzdHJpbmci +IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlRpbWVab25lRGF0YVR5cGUiPg0KICAgIDx4 +czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik9mZnNldCIgdHlwZT0ieHM6c2hv +cnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRheWxpZ2h0U2F2 +aW5nSW5PZmZzZXQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1l +Wm9uZURhdGFUeXBlIiB0eXBlPSJ0bnM6VGltZVpvbmVEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iTGlzdE9mVGltZVpvbmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZVpvbmVEYXRhVHlwZSIgdHlwZT0idG5zOlRp +bWVab25lRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlRpbWVab25lRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0 +T2ZUaW1lWm9uZURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4 +czplbGVtZW50IG5hbWU9IkludGVnZXJJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIC8+DQoNCiAg +PHhzOnNpbXBsZVR5cGUgIG5hbWU9IkFwcGxpY2F0aW9uVHlwZSI+DQogICAgPHhzOmFubm90YXRp +b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgdHlwZXMgb2YgYXBwbGljYXRpb25zLjwv +eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0 +aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNlcnZl +cl8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDbGllbnRfMSIgLz4NCiAgICAg +IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ2xpZW50QW5kU2VydmVyXzIiIC8+DQogICAgICA8eHM6 +ZW51bWVyYXRpb24gdmFsdWU9IkRpc2NvdmVyeVNlcnZlcl8zIiAvPg0KICAgIDwveHM6cmVzdHJp +Y3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRp +b25UeXBlIiB0eXBlPSJ0bnM6QXBwbGljYXRpb25UeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg +ICAgIDx4czpkb2N1bWVudGF0aW9uPkRlc2NyaWJlcyBhbiBhcHBsaWNhdGlvbiBhbmQgaG93IHRv +IGZpbmQgaXQuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcHBsaWNhdGlvblVyaSIgdHlw +ZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iUHJvZHVjdFVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25O +YW1lIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25UeXBlIiB0eXBlPSJ0bnM6 +QXBwbGljYXRpb25UeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJHYXRld2F5U2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjb3ZlcnlQcm9maWxlVXJp +IiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjb3ZlcnlVcmxzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmci +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25EZXNjcmlw +dGlvbiIgdHlwZT0idG5zOkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9Ikxpc3RPZkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIHR5 +cGU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0i +dW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz +OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZBcHBsaWNhdGlvbkRlc2Ny +aXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mQXBwbGljYXRpb25EZXNjcmlwdGlvbiIgbmlsbGFibGU9 +InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVxdWVzdEhl +YWRlciI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUg +aGVhZGVyIHBhc3NlZCB3aXRoIGV2ZXJ5IHNlcnZlciByZXF1ZXN0LjwveHM6ZG9jdW1lbnRhdGlv +bj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iQXV0aGVudGljYXRpb25Ub2tlbiIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0 +YW1wIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUmVxdWVzdEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i +MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldHVybkRpYWdub3N0aWNzIiB0eXBlPSJ4 +czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +QXVkaXRFbnRyeUlkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lb3V0SGludCIgdHlwZT0ieHM6dW5z +aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZGl0 +aW9uYWxIZWFkZXIiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRl +ciIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVzcG9uc2VIZWFkZXIiPg0KICAgIDx4 +czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGhlYWRlciBwYXNzZWQg +d2l0aCBldmVyeSBzZXJ2ZXIgcmVzcG9uc2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6 +YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJU +aW1lc3RhbXAiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGFuZGxlIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmljZVJlc3VsdCIgdHlwZT0i +dWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +U2VydmljZURpYWdub3N0aWNzIiB0eXBlPSJ1YTpEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0cmluZ1RhYmxl +IiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRpdGlvbmFsSGVhZGVyIiB0eXBlPSJ1YTpFeHRl +bnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz +ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9u +c2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iU2VydmljZUZhdWx0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpk +b2N1bWVudGF0aW9uPlRoZSByZXNwb25zZSByZXR1cm5lZCBieSBhbGwgc2VydmljZXMgd2hlbiB0 +aGVyZSBpcyBhIHNlcnZpY2UgbGV2ZWwgZXJyb3IuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwv +eHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNlcnZpY2VGYXVsdCIgdHlwZT0idG5zOlNlcnZpY2VG +YXVsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRmluZFNlcnZlcnNSZXF1ZXN0Ij4N +CiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkZpbmRzIHRoZSBz +ZXJ2ZXJzIGtub3duIHRvIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4N +CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2lu +dFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmci +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJTZXJ2ZXJVcmlzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iRmluZFNlcnZlcnNSZXF1ZXN0IiB0eXBlPSJ0bnM6RmluZFNlcnZl +cnNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJGaW5kU2VydmVyc1Jlc3Bv +bnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkZpbmRz +IHRoZSBzZXJ2ZXJzIGtub3duIHRvIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwveHM6ZG9jdW1lbnRh +dGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlNlcnZlcnMiIHR5cGU9InRuczpMaXN0T2ZBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkZpbmRTZXJ2ZXJzUmVzcG9uc2UiIHR5cGU9 +InRuczpGaW5kU2VydmVyc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJT +ZXJ2ZXJPbk5ldHdvcmsiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlJlY29yZElkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzY292 +ZXJ5VXJsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJDYXBhYmlsaXRpZXMiIHR5cGU9InVhOkxp +c3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl +cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJP +bk5ldHdvcmsiIHR5cGU9InRuczpTZXJ2ZXJPbk5ldHdvcmsiIC8+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9Ikxpc3RPZlNlcnZlck9uTmV0d29yayI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyT25OZXR3b3JrIiB0eXBlPSJ0bnM6U2VydmVyT25O +ZXR3b3JrIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl +bWVudCBuYW1lPSJMaXN0T2ZTZXJ2ZXJPbk5ldHdvcmsiIHR5cGU9InRuczpMaXN0T2ZTZXJ2ZXJP +bk5ldHdvcmsiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9IkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVl +c3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJTdGFydGluZ1JlY29yZElkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4UmVjb3Jkc1RvUmV0dXJuIiB0 +eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iU2VydmVyQ2FwYWJpbGl0eUZpbHRlciIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVx +dWVzdCIgdHlwZT0idG5zOkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVxdWVzdCIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iRmluZFNlcnZlcnNPbk5ldHdvcmtSZXNwb25zZSI+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9 +InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9Ikxhc3RDb3VudGVyUmVzZXRUaW1lIiB0eXBlPSJ4czpkYXRl +VGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVycyIg +dHlwZT0idG5zOkxpc3RPZlNlcnZlck9uTmV0d29yayIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJGaW5kU2VydmVyc09uTmV0d29ya1Jlc3BvbnNlIiB0eXBlPSJ0bnM6Rmlu +ZFNlcnZlcnNPbk5ldHdvcmtSZXNwb25zZSIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBcHBs +aWNhdGlvbkluc3RhbmNlQ2VydGlmaWNhdGUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgLz4NCg0K +ICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iTWVzc2FnZVNlY3VyaXR5TW9kZSI+DQogICAgPHhzOmFu +bm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgdHlwZSBvZiBzZWN1cml0eSB0 +byB1c2Ugb24gYSBtZXNzYWdlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRp +b24+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51 +bWVyYXRpb24gdmFsdWU9IkludmFsaWRfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 +ZT0iTm9uZV8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTaWduXzIiIC8+DQog +ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNpZ25BbmRFbmNyeXB0XzMiIC8+DQogICAgPC94 +czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJN +ZXNzYWdlU2VjdXJpdHlNb2RlIiB0eXBlPSJ0bnM6TWVzc2FnZVNlY3VyaXR5TW9kZSIgLz4NCg0K +ICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iVXNlclRva2VuVHlwZSI+DQogICAgPHhzOmFubm90YXRp +b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgcG9zc2libGUgdXNlciB0b2tlbiB0eXBl +cy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpyZXN0 +cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJB +bm9ueW1vdXNfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVXNlck5hbWVfMSIg +Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ2VydGlmaWNhdGVfMiIgLz4NCiAgICAg +IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNzdWVkVG9rZW5fMyIgLz4NCiAgICA8L3hzOnJlc3Ry +aWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVzZXJUb2tl +blR5cGUiIHR5cGU9InRuczpVc2VyVG9rZW5UeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu +YW1lPSJVc2VyVG9rZW5Qb2xpY3kiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRv +Y3VtZW50YXRpb24+RGVzY3JpYmVzIGEgdXNlciB0b2tlbiB0aGF0IGNhbiBiZSB1c2VkIHdpdGgg +YSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQb2xpY3lJZCIgdHlwZT0ieHM6 +c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iVG9rZW5UeXBlIiB0eXBlPSJ0bnM6VXNlclRva2VuVHlwZSIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNzdWVkVG9rZW5UeXBlIiB0eXBlPSJ4czpz +dHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJJc3N1ZXJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlQb2xp +Y3lVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJVc2VyVG9rZW5Qb2xpY3kiIHR5cGU9InRuczpVc2VyVG9rZW5Qb2xpY3kiIC8+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlVzZXJUb2tlblBvbGljeSI+DQogICAgPHhzOnNl +cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlclRva2VuUG9saWN5IiB0eXBlPSJ0 +bnM6VXNlclRva2VuUG9saWN5IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZVc2VyVG9rZW5Qb2xpY3kiIHR5cGU9InRuczpM +aXN0T2ZVc2VyVG9rZW5Qb2xpY3kiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVuZHBvaW50RGVzY3JpcHRpb24iPg0KICAgIDx4czphbm5v +dGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGRlc2NyaXB0aW9uIG9mIGEgZW5k +cG9pbnQgdGhhdCBjYW4gYmUgdXNlZCB0byBhY2Nlc3MgYSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0 +aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyIiB0eXBl +PSJ0bnM6QXBwbGljYXRpb25EZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlckNlcnRpZmljYXRlIiB0eXBlPSJ4 +czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlN +b2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVBv +bGljeVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlcklkZW50aXR5VG9rZW5zIiB0eXBlPSJ0bnM6 +TGlzdE9mVXNlclRva2VuUG9saWN5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNwb3J0UHJvZmlsZVVyaSIgdHlwZT0ieHM6c3Ry +aW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iU2VjdXJpdHlMZXZlbCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAi +IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iRW5kcG9pbnREZXNjcmlwdGlvbiIgdHlwZT0idG5zOkVuZHBvaW50RGVzY3JpcHRp +b24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkVuZHBvaW50RGVzY3JpcHRp +b24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50 +RGVzY3JpcHRpb24iIHR5cGU9InRuczpFbmRwb2ludERlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAi +IG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl +bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbmRw +b2ludERlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mRW5kcG9pbnREZXNjcmlwdGlvbiIgbmls +bGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iR2V0 +RW5kcG9pbnRzUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l +bnRhdGlvbj5HZXRzIHRoZSBlbmRwb2ludHMgdXNlZCBieSB0aGUgc2VydmVyLjwveHM6ZG9jdW1l +bnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIi +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0 +T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJQcm9maWxlVXJpcyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkdldEVuZHBvaW50c1JlcXVlc3QiIHR5cGU9InRu +czpHZXRFbmRwb2ludHNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJHZXRF +bmRwb2ludHNSZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l +bnRhdGlvbj5HZXRzIHRoZSBlbmRwb2ludHMgdXNlZCBieSB0aGUgc2VydmVyLjwveHM6ZG9jdW1l +bnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRl +ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IkVuZHBvaW50cyIgdHlwZT0idG5zOkxpc3RPZkVuZHBvaW50RGVzY3JpcHRpb24iIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj +b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iR2V0RW5kcG9pbnRzUmVzcG9uc2UiIHR5 +cGU9InRuczpHZXRFbmRwb2ludHNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iUmVnaXN0ZXJlZFNlcnZlciI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9j +dW1lbnRhdGlvbj5UaGUgaW5mb3JtYXRpb24gcmVxdWlyZWQgdG8gcmVnaXN0ZXIgYSBzZXJ2ZXIg +d2l0aCBhIGRpc2NvdmVyeSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5u +b3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2 +ZXJVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlByb2R1Y3RVcmkiIHR5cGU9InhzOnN0cmluZyIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNl +cnZlck5hbWVzIiB0eXBlPSJ1YTpMaXN0T2ZMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVHlwZSIgdHlw +ZT0idG5zOkFwcGxpY2F0aW9uVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iR2F0ZXdheVNlcnZlclVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzY292ZXJ5VXJs +cyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VtYXBob3JlRmlsZVBhdGgiIHR5cGU9InhzOnN0 +cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IklzT25saW5lIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +UmVnaXN0ZXJlZFNlcnZlciIgdHlwZT0idG5zOlJlZ2lzdGVyZWRTZXJ2ZXIiIC8+DQoNCiAgPHhz +OmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlJlZ2lzdGVyZWRTZXJ2ZXIiPg0KICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyZWRTZXJ2ZXIiIHR5cGU9InRu +czpSZWdpc3RlcmVkU2VydmVyIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZSZWdpc3RlcmVkU2VydmVyIiB0eXBlPSJ0bnM6 +TGlzdE9mUmVnaXN0ZXJlZFNlcnZlciIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXF1ZXN0Ij4NCiAgICA8eHM6 +YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlJlZ2lzdGVycyBhIHNlcnZlciB3 +aXRoIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu +bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVx +dWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXIiIHR5cGU9InRuczpS +ZWdpc3RlcmVkU2VydmVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJl +Z2lzdGVyU2VydmVyUmVxdWVzdCIgdHlwZT0idG5zOlJlZ2lzdGVyU2VydmVyUmVxdWVzdCIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXNwb25zZSI+DQogICAg +PHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5SZWdpc3RlcnMgYSBzZXJ2 +ZXIgd2l0aCB0aGUgZGlzY292ZXJ5IHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94 +czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXNwb25zZSIgdHlwZT0idG5z +OlJlZ2lzdGVyU2VydmVyUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRp +c2NvdmVyeUNvbmZpZ3VyYXRpb24iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRv +Y3VtZW50YXRpb24+QSBiYXNlIHR5cGUgZm9yIGRpc2NvdmVyeSBjb25maWd1cmF0aW9uIGluZm9y +bWF0aW9uLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9IkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpEaXNjb3Zl +cnlDb25maWd1cmF0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNZG5zRGlzY292 +ZXJ5Q29uZmlndXJhdGlvbiI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l +bnRhdGlvbj5UaGUgZGlzY292ZXJ5IGluZm9ybWF0aW9uIG5lZWRlZCBmb3IgbUROUyByZWdpc3Ry +YXRpb24uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6 +Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0i +dG5zOkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWRuc1NlcnZlck5hbWUiIHR5cGU9InhzOnN0cmluZyIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJTZXJ2ZXJDYXBhYmlsaXRpZXMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwv +eHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1kbnNEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiB0eXBl +PSJ0bnM6TWRuc0Rpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9IlJlZ2lzdGVyU2VydmVyMlJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVy +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iU2VydmVyIiB0eXBlPSJ0bnM6UmVnaXN0ZXJlZFNlcnZlciIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2NvdmVyeUNvbmZpZ3Vy +YXRpb24iIHR5cGU9InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJSZWdpc3RlclNlcnZlcjJSZXF1ZXN0IiB0eXBlPSJ0bnM6UmVn +aXN0ZXJTZXJ2ZXIyUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0 +ZXJTZXJ2ZXIyUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb25maWd1 +cmF0aW9uUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZv +cyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXIyUmVzcG9uc2UiIHR5cGU9InRuczpSZWdpc3Rl +clNlcnZlcjJSZXNwb25zZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iU2VjdXJpdHlU +b2tlblJlcXVlc3RUeXBlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVu +dGF0aW9uPkluZGljYXRlcyB3aGV0aGVyIGEgdG9rZW4gaWYgYmVpbmcgY3JlYXRlZCBvciByZW5l +d2VkLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJl +c3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +Iklzc3VlXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlbmV3XzEiIC8+DQog +ICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJTZWN1cml0eVRva2VuUmVxdWVzdFR5cGUiIHR5cGU9InRuczpTZWN1cml0eVRva2VuUmVx +dWVzdFR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNoYW5uZWxTZWN1cml0eVRv +a2VuIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSB0 +b2tlbiB0aGF0IGlkZW50aWZpZXMgYSBzZXQgb2Yga2V5cyBmb3IgYW4gYWN0aXZlIHNlY3VyZSBj +aGFubmVsLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2hhbm5lbElkIiB0eXBlPSJ4czp1 +bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVG9r +ZW5JZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkNyZWF0ZWRBdCIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRMaWZldGltZSIgdHlwZT0ieHM6dW5z +aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDaGFubmVsU2VjdXJpdHlUb2tlbiIgdHlw +ZT0idG5zOkNoYW5uZWxTZWN1cml0eVRva2VuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJPcGVuU2VjdXJlQ2hhbm5lbFJlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAg +PHhzOmRvY3VtZW50YXRpb24+Q3JlYXRlcyBhIHNlY3VyZSBjaGFubmVsIHdpdGggYSBzZXJ2ZXIu +PC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVu +Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVx +dWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkNsaWVudFByb3RvY29sVmVyc2lvbiIgdHlwZT0ieHM6dW5zaWduZWRJbnQi +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RUeXBlIiB0 +eXBlPSJ0bnM6U2VjdXJpdHlUb2tlblJlcXVlc3RUeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJp +dHlNb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRO +b25jZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTGlmZXRpbWUiIHR5cGU9Inhz +OnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT3BlblNlY3VyZUNoYW5uZWxSZXF1 +ZXN0IiB0eXBlPSJ0bnM6T3BlblNlY3VyZUNoYW5uZWxSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJPcGVuU2VjdXJlQ2hhbm5lbFJlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3Rh +dGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNyZWF0ZXMgYSBzZWN1cmUgY2hhbm5lbCB3 +aXRoIGEgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQog +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIi +IHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlclByb3RvY29sVmVyc2lvbiIgdHlwZT0i +eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlNlY3VyaXR5VG9rZW4iIHR5cGU9InRuczpDaGFubmVsU2VjdXJpdHlUb2tlbiIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlck5v +bmNlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iT3BlblNlY3VyZUNoYW5uZWxSZXNwb25zZSIgdHlwZT0idG5zOk9wZW5TZWN1cmVD +aGFubmVsUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNsb3NlU2VjdXJl +Q2hhbm5lbFJlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50 +YXRpb24+Q2xvc2VzIGEgc2VjdXJlIGNoYW5uZWwuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwv +eHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDbG9zZVNlY3VyZUNoYW5uZWxSZXF1ZXN0IiB0eXBlPSJ0 +bnM6Q2xvc2VTZWN1cmVDaGFubmVsUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iQ2xvc2VTZWN1cmVDaGFubmVsUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAg +ICAgPHhzOmRvY3VtZW50YXRpb24+Q2xvc2VzIGEgc2VjdXJlIGNoYW5uZWwuPC94czpkb2N1bWVu +dGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVy +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNsb3NlU2VjdXJlQ2hhbm5l +bFJlc3BvbnNlIiB0eXBlPSJ0bnM6Q2xvc2VTZWN1cmVDaGFubmVsUmVzcG9uc2UiIC8+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiPg0KICAgIDx4 +czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBzb2Z0d2FyZSBjZXJ0aWZp +Y2F0ZSB3aXRoIGEgZGlnaXRhbCBzaWduYXR1cmUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwv +eHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJDZXJ0aWZpY2F0ZURhdGEiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNpZ25hdHVyZSIgdHlw +ZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +IlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiIHR5cGU9InRuczpTaWduZWRTb2Z0d2FyZUNlcnRp +ZmljYXRlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTaWduZWRTb2Z0d2Fy +ZUNlcnRpZmljYXRlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiB0eXBlPSJ0bnM6U2lnbmVkU29mdHdhcmVDZXJ0 +aWZpY2F0ZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iTGlzdE9mU2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgdHlwZT0idG5zOkxp +c3RPZlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1l +bnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbkF1dGhlbnRpY2F0aW9uVG9rZW4iIHR5 +cGU9InVhOk5vZGVJZCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2lnbmF0dXJlRGF0 +YSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIGRpZ2l0 +YWwgc2lnbmF0dXJlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQog +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWxnb3JpdGhtIiB0eXBl +PSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJTaWduYXR1cmUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTaWduYXR1cmVEYXRhIiB0eXBlPSJ0bnM6U2ln +bmF0dXJlRGF0YSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ3JlYXRlU2Vzc2lvblJl +cXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q3Jl +YXRlcyBhIG5ldyBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQog +ICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50RGVz +Y3JpcHRpb24iIHR5cGU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVXJpIiB0 +eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbk5h +bWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVudE5vbmNlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnki +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJDbGllbnRDZXJ0aWZpY2F0ZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkU2Vz +c2lvblRpbWVvdXQiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iTWF4UmVzcG9uc2VNZXNzYWdlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJ +bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVTZXNzaW9uUmVxdWVzdCIgdHlwZT0idG5z +OkNyZWF0ZVNlc3Npb25SZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDcmVh +dGVTZXNzaW9uUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3Vt +ZW50YXRpb24+Q3JlYXRlcyBhIG5ldyBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L3hzOmRvY3Vt +ZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFk +ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJTZXNzaW9uSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkF1dGhlbnRpY2F0aW9uVG9rZW4iIHR5 +cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlJldmlzZWRTZXNzaW9uVGltZW91dCIgdHlwZT0ieHM6ZG91YmxlIiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJOb25jZSIgdHlw +ZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyQ2VydGlmaWNhdGUiIHR5cGU9InhzOmJhc2U2NEJp +bmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlNlcnZlckVuZHBvaW50cyIgdHlwZT0idG5zOkxpc3RPZkVuZHBvaW50RGVzY3JpcHRp +b24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJTZXJ2ZXJTb2Z0d2FyZUNlcnRpZmljYXRlcyIgdHlwZT0idG5zOkxpc3RPZlNpZ25lZFNv +ZnR3YXJlQ2VydGlmaWNhdGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJTaWduYXR1cmUiIHR5cGU9InRuczpTaWduYXR1cmVE +YXRhIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iTWF4UmVxdWVzdE1lc3NhZ2VTaXplIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9IkNyZWF0ZVNlc3Npb25SZXNwb25zZSIgdHlwZT0idG5zOkNyZWF0ZVNl +c3Npb25SZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVXNlcklkZW50aXR5 +VG9rZW4iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBi +YXNlIHR5cGUgZm9yIGEgdXNlciBpZGVudGl0eSB0b2tlbi48L3hzOmRvY3VtZW50YXRpb24+DQog +ICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlBvbGljeUlkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iVXNlcklkZW50aXR5VG9rZW4iIHR5cGU9InRuczpVc2VySWRlbnRpdHlU +b2tlbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQW5vbnltb3VzSWRlbnRpdHlUb2tl +biI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHRva2Vu +IHJlcHJlc2VudGluZyBhbiBhbm9ueW1vdXMgdXNlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAg +PC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0K +ICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgICAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVu +c2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJBbm9ueW1vdXNJZGVudGl0eVRva2VuIiB0eXBlPSJ0bnM6QW5vbnlt +b3VzSWRlbnRpdHlUb2tlbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVXNlck5hbWVJ +ZGVudGl0eVRva2VuIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0 +aW9uPkEgdG9rZW4gcmVwcmVzZW50aW5nIGEgdXNlciBpZGVudGlmaWVkIGJ5IGEgdXNlciBuYW1l +IGFuZCBwYXNzd29yZC48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0K +ICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lv +biBiYXNlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQog +ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJQYXNzd29yZCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuY3J5cHRpb25BbGdvcml0 +aG0iIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29t +cGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVz +ZXJOYW1lSWRlbnRpdHlUb2tlbiIgdHlwZT0idG5zOlVzZXJOYW1lSWRlbnRpdHlUb2tlbiIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iWDUwOUlkZW50aXR5VG9rZW4iPg0KICAgIDx4czph +bm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSB0b2tlbiByZXByZXNlbnRpbmcg +YSB1c2VyIGlkZW50aWZpZWQgYnkgYW4gWDUwOSBjZXJ0aWZpY2F0ZS48L3hzOmRvY3VtZW50YXRp +b24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0i +ZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4i +Pg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2Vy +dGlmaWNhdGVEYXRhIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lv +bj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJYNTA5SWRlbnRpdHlUb2tlbiIgdHlwZT0idG5zOlg1MDlJZGVudGl0eVRv +a2VuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJJc3N1ZWRJZGVudGl0eVRva2VuIj4N +CiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgdG9rZW4gcmVw +cmVzZW50aW5nIGEgdXNlciBpZGVudGlmaWVkIGJ5IGEgV1MtU2VjdXJpdHkgWE1MIHRva2VuLjwv +eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhD +b250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpVc2Vy +SWRlbnRpdHlUb2tlbiI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJUb2tlbkRhdGEiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmNyeXB0 +aW9uQWxnb3JpdGhtIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAg +ICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJJc3N1ZWRJZGVudGl0eVRva2VuIiB0eXBlPSJ0bnM6SXNzdWVkSWRlbnRpdHlUb2tl +biIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWN0aXZhdGVTZXNzaW9uUmVxdWVzdCI+ +DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BY3RpdmF0ZXMg +YSBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czph +bm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJl +cXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50U2lnbmF0dXJlIiB0 +eXBlPSJ0bnM6U2lnbmF0dXJlRGF0YSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVudFNvZnR3YXJlQ2VydGlmaWNhdGVzIiB0eXBl +PSJ0bnM6TGlzdE9mU2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkxvY2FsZUlkcyIgdHlwZT0i +dWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iVXNlcklkZW50aXR5VG9rZW4iIHR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlVzZXJUb2tlblNpZ25hdHVyZSIgdHlwZT0idG5zOlNpZ25hdHVyZURhdGEiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj +b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWN0aXZhdGVTZXNzaW9uUmVxdWVzdCIg +dHlwZT0idG5zOkFjdGl2YXRlU2Vzc2lvblJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9IkFjdGl2YXRlU2Vzc2lvblJlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg +ICAgIDx4czpkb2N1bWVudGF0aW9uPkFjdGl2YXRlcyBhIHNlc3Npb24gd2l0aCB0aGUgc2VydmVy +LjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpS +ZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlNlcnZlck5vbmNlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1 +bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1 +YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJBY3RpdmF0ZVNlc3Npb25SZXNwb25zZSIgdHlwZT0idG5zOkFjdGl2YXRlU2Vzc2lvblJl +c3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDbG9zZVNlc3Npb25SZXF1ZXN0 +Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNsb3NlcyBh +IHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu +bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVx +dWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVTdWJzY3JpcHRpb25z +IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xvc2VTZXNzaW9uUmVx +dWVzdCIgdHlwZT0idG5zOkNsb3NlU2Vzc2lvblJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9IkNsb3NlU2Vzc2lvblJlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg +ICAgIDx4czpkb2N1bWVudGF0aW9uPkNsb3NlcyBhIHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwv +eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNw +b25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl +cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDbG9zZVNl +c3Npb25SZXNwb25zZSIgdHlwZT0idG5zOkNsb3NlU2Vzc2lvblJlc3BvbnNlIiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJDYW5jZWxSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4N +CiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNhbmNlbHMgYW4gb3V0c3RhbmRpbmcgcmVxdWVzdC48 +L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1 +ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iUmVxdWVzdEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vy +cz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJDYW5jZWxSZXF1ZXN0IiB0eXBlPSJ0bnM6Q2FuY2VsUmVxdWVzdCIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2FuY2VsUmVzcG9uc2UiPg0KICAgIDx4czphbm5v +dGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q2FuY2VscyBhbiBvdXRzdGFuZGluZyBy +ZXF1ZXN0LjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9 +InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IkNhbmNlbENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIg +bWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9IkNhbmNlbFJlc3BvbnNlIiB0eXBlPSJ0bnM6Q2FuY2VsUmVz +cG9uc2UiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9Ik5vZGVBdHRyaWJ1dGVzTWFzayI+ +DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYml0cyB1 +c2VkIHRvIHNwZWNpZnkgZGVmYXVsdCBhdHRyaWJ1dGVzIGZvciBhIG5ldyBub2RlLjwveHM6ZG9j +dW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJh +c2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4N +CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQWNjZXNzTGV2ZWxfMSIgLz4NCiAgICAgIDx4 +czplbnVtZXJhdGlvbiB2YWx1ZT0iQXJyYXlEaW1lbnNpb25zXzIiIC8+DQogICAgICA8eHM6ZW51 +bWVyYXRpb24gdmFsdWU9IkJyb3dzZU5hbWVfNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 +YWx1ZT0iQ29udGFpbnNOb0xvb3BzXzgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +IkRhdGFUeXBlXzE2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEZXNjcmlwdGlv +bl8zMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGlzcGxheU5hbWVfNjQiIC8+ +DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkV2ZW50Tm90aWZpZXJfMTI4IiAvPg0KICAg +ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJFeGVjdXRhYmxlXzI1NiIgLz4NCiAgICAgIDx4czpl +bnVtZXJhdGlvbiB2YWx1ZT0iSGlzdG9yaXppbmdfNTEyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0 +aW9uIHZhbHVlPSJJbnZlcnNlTmFtZV8xMDI0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh +bHVlPSJJc0Fic3RyYWN0XzIwNDgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik1p +bmltdW1TYW1wbGluZ0ludGVydmFsXzQwOTYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs +dWU9Ik5vZGVDbGFzc184MTkyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb2Rl +SWRfMTYzODQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN5bW1ldHJpY18zMjc2 +OCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVXNlckFjY2Vzc0xldmVsXzY1NTM2 +IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVc2VyRXhlY3V0YWJsZV8xMzEwNzIi +IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVzZXJXcml0ZU1hc2tfMjYyMTQ0IiAv +Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJWYWx1ZVJhbmtfNTI0Mjg4IiAvPg0KICAg +ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJXcml0ZU1hc2tfMTA0ODU3NiIgLz4NCiAgICAgIDx4 +czplbnVtZXJhdGlvbiB2YWx1ZT0iVmFsdWVfMjA5NzE1MiIgLz4NCiAgICAgIDx4czplbnVtZXJh +dGlvbiB2YWx1ZT0iQWxsXzQxOTQzMDMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +IkJhc2VOb2RlXzEzMzUzOTYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik9iamVj +dF8xMzM1NTI0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJPYmplY3RUeXBlT3JE +YXRhVHlwZV8xMzM3NDQ0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJWYXJpYWJs +ZV80MDI2OTk5IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJWYXJpYWJsZVR5cGVf +Mzk1ODkwMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTWV0aG9kXzE0NjY3MjQi +IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlZmVyZW5jZVR5cGVfMTM3MTIzNiIg +Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVmlld18xMzM1NTMyIiAvPg0KICAgIDwv +eHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +Tm9kZUF0dHJpYnV0ZXNNYXNrIiB0eXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXNNYXNrIiAvPg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJOb2RlQXR0cmlidXRlcyI+DQogICAgPHhzOmFubm90YXRp +b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYmFzZSBhdHRyaWJ1dGVzIGZvciBhbGwg +bm9kZXMuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiB0 +eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iRGlzcGxheU5hbWUiIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIg +dHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IldyaXRlTWFzayIgdHlwZT0ieHM6dW5zaWduZWRJbnQi +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJXcml0ZU1hc2si +IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5j +ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUF0dHJpYnV0 +ZXMiIHR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iT2JqZWN0QXR0cmlidXRlcyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9j +dW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYW4gb2JqZWN0IG5vZGUuPC94czpkb2N1bWVu +dGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4 +ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk5vZGVBdHRyaWJ1dGVz +Ij4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2 +ZW50Tm90aWZpZXIiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21w +bGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT2Jq +ZWN0QXR0cmlidXRlcyIgdHlwZT0idG5zOk9iamVjdEF0dHJpYnV0ZXMiIC8+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9IlZhcmlhYmxlQXR0cmlidXRlcyI+DQogICAgPHhzOmFubm90YXRpb24+ +DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSB2YXJpYWJsZSBu +b2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNv +bXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRu +czpOb2RlQXR0cmlidXRlcyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0idWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0K +ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJBcnJheURpbWVuc2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJBY2Nlc3NMZXZlbCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlckFjY2Vzc0xldmVsIiB0eXBlPSJ4czp1 +bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAi +IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yaXppbmciIHR5cGU9InhzOmJv +b2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwv +eHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlZhcmlhYmxlQXR0cmlidXRlcyIgdHlwZT0idG5zOlZh +cmlhYmxlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTWV0aG9kQXR0 +cmlidXRlcyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5U +aGUgYXR0cmlidXRlcyBmb3IgYSBtZXRob2Qgbm9kZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAg +PC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0K +ICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXhlY3V0YWJsZSIgdHlw +ZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h +bWU9IlVzZXJFeGVjdXRhYmxlIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNv +bXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJN +ZXRob2RBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6TWV0aG9kQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iT2JqZWN0VHlwZUF0dHJpYnV0ZXMiPg0KICAgIDx4czphbm5vdGF0 +aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGFuIG9iamVj +dCB0eXBlIG5vZGUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAg +ICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24g +YmFzZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +ICAgIDx4czplbGVtZW50IG5hbWU9IklzQWJzdHJhY3QiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9j +Y3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9u +Pg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl +bGVtZW50IG5hbWU9Ik9iamVjdFR5cGVBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6T2JqZWN0VHlwZUF0 +dHJpYnV0ZXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhYmxlVHlwZUF0dHJp +YnV0ZXMiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhl +IGF0dHJpYnV0ZXMgZm9yIGEgdmFyaWFibGUgdHlwZSBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4N +CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxz +ZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAg +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlw +ZT0idWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h +bWU9IkRhdGFUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czpp +bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcnJheURp +bWVuc2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4 +czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAg +ICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWYXJpYWJsZVR5cGVBdHRyaWJ1dGVzIiB0eXBl +PSJ0bnM6VmFyaWFibGVUeXBlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iUmVmZXJlbmNlVHlwZUF0dHJpYnV0ZXMiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAg +PHhzOmRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGEgcmVmZXJlbmNlIHR5cGUgbm9k +ZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21w +bGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6 +Tm9kZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iSXNBYnN0cmFjdCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN5bW1ldHJpYyIgdHlwZT0ieHM6Ym9vbGVh +biIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkludmVyc2VO +YW1lIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAg +PC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg +bmFtZT0iUmVmZXJlbmNlVHlwZUF0dHJpYnV0ZXMiIHR5cGU9InRuczpSZWZlcmVuY2VUeXBlQXR0 +cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGF0YVR5cGVBdHRyaWJ1dGVz +Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBhdHRy +aWJ1dGVzIGZvciBhIGRhdGEgdHlwZSBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hz +OmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAg +ICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4 +czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAg +ICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZUF0dHJpYnV0ZXMiIHR5cGU9InRu +czpEYXRhVHlwZUF0dHJpYnV0ZXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZpZXdB +dHRyaWJ1dGVzIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9u +PlRoZSBhdHRyaWJ1dGVzIGZvciBhIHZpZXcgbm9kZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAg +PC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0K +ICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGFpbnNOb0xvb3Bz +IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iRXZlbnROb3RpZmllciIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9 +IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAg +ICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJWaWV3QXR0cmlidXRlcyIgdHlwZT0idG5zOlZpZXdBdHRyaWJ1dGVzIiAvPg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZGROb2Rlc0l0ZW0iPg0KICAgIDx4czphbm5vdGF0aW9u +Pg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSByZXF1ZXN0IHRvIGFkZCBhIG5vZGUgdG8gdGhl +IHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90 +YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUGFyZW50 +Tm9kZUlkIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgdHlwZT0i +dWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iUmVxdWVzdGVkTmV3Tm9kZUlkIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkJyb3dzZU5hbWUiIHR5cGU9InVhOlF1YWxpZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlQ2xhc3MiIHR5cGU9InRu +czpOb2RlQ2xhc3MiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5v +ZGVBdHRyaWJ1dGVzIiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUeXBlRGVmaW5pdGlvbiIg +dHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg +bmFtZT0iQWRkTm9kZXNJdGVtIiB0eXBlPSJ0bnM6QWRkTm9kZXNJdGVtIiAvPg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZBZGROb2Rlc0l0ZW0iPg0KICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZE5vZGVzSXRlbSIgdHlwZT0idG5zOkFkZE5vZGVz +SXRlbSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iTGlzdE9mQWRkTm9kZXNJdGVtIiB0eXBlPSJ0bnM6TGlzdE9mQWRkTm9kZXNJdGVt +IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJBZGROb2Rlc1Jlc3VsdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l +bnRhdGlvbj5BIHJlc3VsdCBvZiBhbiBhZGQgbm9kZSBvcGVyYXRpb24uPC94czpkb2N1bWVudGF0 +aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9 +IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRlZE5vZGVJZCIgdHlwZT0idWE6Tm9k +ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFkZE5vZGVzUmVzdWx0 +IiB0eXBlPSJ0bnM6QWRkTm9kZXNSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +Ikxpc3RPZkFkZE5vZGVzUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJBZGROb2Rlc1Jlc3VsdCIgdHlwZT0idG5zOkFkZE5vZGVzUmVzdWx0IiBtaW5P +Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM +aXN0T2ZBZGROb2Rlc1Jlc3VsdCIgdHlwZT0idG5zOkxpc3RPZkFkZE5vZGVzUmVzdWx0IiBuaWxs +YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZGRO +b2Rlc1JlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRp +b24+QWRkcyBvbmUgb3IgbW9yZSBub2RlcyB0byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94 +czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVz +dEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9Ik5vZGVzVG9BZGQiIHR5cGU9InRuczpMaXN0T2ZBZGROb2Rlc0l0ZW0iIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj +b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkTm9kZXNSZXF1ZXN0IiB0eXBlPSJ0 +bnM6QWRkTm9kZXNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZGROb2Rl +c1Jlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9u +PkFkZHMgb25lIG9yIG1vcmUgbm9kZXMgdG8gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6 +ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25z +ZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZBZGROb2Rlc1Jlc3VsdCIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdu +b3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkTm9kZXNSZXNwb25zZSIgdHlwZT0idG5zOkFkZE5v +ZGVzUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFkZFJlZmVyZW5jZXNJ +dGVtIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgcmVx +dWVzdCB0byBhZGQgYSByZWZlcmVuY2UgdG8gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6 +ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU291cmNlTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS +ZWZlcmVuY2VUeXBlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IklzRm9yd2FyZCIgdHlwZT0ieHM6Ym9v +bGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0U2Vy +dmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXROb2RlSWQiIHR5cGU9InVhOkV4cGFuZGVk +Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iVGFyZ2V0Tm9kZUNsYXNzIiB0eXBlPSJ0bnM6Tm9kZUNsYXNzIiBtaW5PY2N1cnM9 +IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iQWRkUmVmZXJlbmNlc0l0ZW0iIHR5cGU9InRuczpBZGRSZWZlcmVuY2VzSXRl +bSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQWRkUmVmZXJlbmNlc0l0ZW0i +Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZFJlZmVyZW5j +ZXNJdGVtIiB0eXBlPSJ0bnM6QWRkUmVmZXJlbmNlc0l0ZW0iIG1pbk9jY3Vycz0iMCIgbWF4T2Nj +dXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkFkZFJlZmVyZW5j +ZXNJdGVtIiB0eXBlPSJ0bnM6TGlzdE9mQWRkUmVmZXJlbmNlc0l0ZW0iIG5pbGxhYmxlPSJ0cnVl +Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFkZFJlZmVyZW5jZXNS +ZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkFk +ZHMgb25lIG9yIG1vcmUgcmVmZXJlbmNlcyB0byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94 +czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVz +dEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlJlZmVyZW5jZXNUb0FkZCIgdHlwZT0idG5zOkxpc3RPZkFkZFJlZmVyZW5jZXNJ +dGVtIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFkZFJlZmVyZW5jZXNS +ZXF1ZXN0IiB0eXBlPSJ0bnM6QWRkUmVmZXJlbmNlc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9IkFkZFJlZmVyZW5jZXNSZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRpb24+ +DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BZGRzIG9uZSBvciBtb3JlIHJlZmVyZW5jZXMgdG8g +dGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu +bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVz +cG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVh +Okxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdu +b3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx +dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFkZFJlZmVy +ZW5jZXNSZXNwb25zZSIgdHlwZT0idG5zOkFkZFJlZmVyZW5jZXNSZXNwb25zZSIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlTm9kZXNJdGVtIj4NCiAgICA8eHM6YW5ub3RhdGlv +bj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgcmVxdWVzdCB0byBkZWxldGUgYSBub2RlIHRv +IHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czph +bm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5v +ZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlVGFyZ2V0UmVmZXJlbmNlcyIgdHlwZT0ieHM6 +Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZU5vZGVzSXRlbSIgdHlwZT0idG5z +OkRlbGV0ZU5vZGVzSXRlbSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGVs +ZXRlTm9kZXNJdGVtIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJEZWxldGVOb2Rlc0l0ZW0iIHR5cGU9InRuczpEZWxldGVOb2Rlc0l0ZW0iIG1pbk9jY3Vycz0i +MCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx +dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRl +bGV0ZU5vZGVzSXRlbSIgdHlwZT0idG5zOkxpc3RPZkRlbGV0ZU5vZGVzSXRlbSIgbmlsbGFibGU9 +InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlTm9k +ZXNSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9u +PkRlbGV0ZSBvbmUgb3IgbW9yZSBub2RlcyBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48 +L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1 +ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iTm9kZXNUb0RlbGV0ZSIgdHlwZT0idG5zOkxpc3RPZkRlbGV0ZU5vZGVzSXRl +bSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVOb2Rlc1JlcXVl +c3QiIHR5cGU9InRuczpEZWxldGVOb2Rlc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9IkRlbGV0ZU5vZGVzUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAg +PHhzOmRvY3VtZW50YXRpb24+RGVsZXRlIG9uZSBvciBtb3JlIG5vZGVzIGZyb20gdGhlIHNlcnZl +ciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+ +DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFk +ZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0 +YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZv +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZU5vZGVzUmVzcG9u +c2UiIHR5cGU9InRuczpEZWxldGVOb2Rlc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJEZWxldGVSZWZlcmVuY2VzSXRlbSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg +ICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8gZGVsZXRlIGEgbm9kZSBmcm9tIHRoZSBz +ZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 +aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNvdXJjZU5v +ZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQi +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJJc0ZvcndhcmQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlRhcmdldE5vZGVJZCIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJE +ZWxldGVCaWRpcmVjdGlvbmFsIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iRGVsZXRlUmVmZXJlbmNlc0l0ZW0iIHR5cGU9InRuczpEZWxldGVSZWZlcmVuY2VzSXRlbSIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGVsZXRlUmVmZXJlbmNlc0l0ZW0i +Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZVJlZmVy +ZW5jZXNJdGVtIiB0eXBlPSJ0bnM6RGVsZXRlUmVmZXJlbmNlc0l0ZW0iIG1pbk9jY3Vycz0iMCIg +bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRlbGV0 +ZVJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0bnM6TGlzdE9mRGVsZXRlUmVmZXJlbmNlc0l0ZW0iIG5p +bGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRl +bGV0ZVJlZmVyZW5jZXNSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpk +b2N1bWVudGF0aW9uPkRlbGV0ZSBvbmUgb3IgbW9yZSByZWZlcmVuY2VzIGZyb20gdGhlIHNlcnZl +ciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+ +DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRl +ciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VzVG9EZWxldGUiIHR5cGU9InRu +czpMaXN0T2ZEZWxldGVSZWZlcmVuY2VzSXRlbSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl +bWVudCBuYW1lPSJEZWxldGVSZWZlcmVuY2VzUmVxdWVzdCIgdHlwZT0idG5zOkRlbGV0ZVJlZmVy +ZW5jZXNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEZWxldGVSZWZlcmVu +Y2VzUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRp +b24+RGVsZXRlIG9uZSBvciBtb3JlIHJlZmVyZW5jZXMgZnJvbSB0aGUgc2VydmVyIGFkZHJlc3Mg +c3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0i +dG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w +bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlUmVmZXJlbmNlc1Jlc3BvbnNlIiB0 +eXBlPSJ0bnM6RGVsZXRlUmVmZXJlbmNlc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpzaW1wbGVUeXBl +ICBuYW1lPSJBdHRyaWJ1dGVXcml0ZU1hc2siPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAg +PHhzOmRvY3VtZW50YXRpb24+RGVmaW5lIGJpdHMgdXNlZCB0byBpbmRpY2F0ZSB3aGljaCBhdHRy +aWJ1dGVzIGFyZSB3cml0YWJsZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 +aW9uPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVu +dW1lcmF0aW9uIHZhbHVlPSJOb25lXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +IkFjY2Vzc0xldmVsXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFycmF5RGlt +ZW5zaW9uc18yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJCcm93c2VOYW1lXzQi +IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkNvbnRhaW5zTm9Mb29wc184IiAvPg0K +ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEYXRhVHlwZV8xNiIgLz4NCiAgICAgIDx4czpl +bnVtZXJhdGlvbiB2YWx1ZT0iRGVzY3JpcHRpb25fMzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp +b24gdmFsdWU9IkRpc3BsYXlOYW1lXzY0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl +PSJFdmVudE5vdGlmaWVyXzEyOCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRXhl +Y3V0YWJsZV8yNTYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ikhpc3Rvcml6aW5n +XzUxMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW52ZXJzZU5hbWVfMTAyNCIg +Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNBYnN0cmFjdF8yMDQ4IiAvPg0KICAg +ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbF80MDk2IiAv +Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb2RlQ2xhc3NfODE5MiIgLz4NCiAgICAg +IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9kZUlkXzE2Mzg0IiAvPg0KICAgICAgPHhzOmVudW1l +cmF0aW9uIHZhbHVlPSJTeW1tZXRyaWNfMzI3NjgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g +dmFsdWU9IlVzZXJBY2Nlc3NMZXZlbF82NTUzNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 +YWx1ZT0iVXNlckV4ZWN1dGFibGVfMTMxMDcyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh +bHVlPSJVc2VyV3JpdGVNYXNrXzI2MjE0NCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 +ZT0iVmFsdWVSYW5rXzUyNDI4OCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iV3Jp +dGVNYXNrXzEwNDg1NzYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZhbHVlRm9y +VmFyaWFibGVUeXBlXzIwOTcxNTIiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpz +aW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBdHRyaWJ1dGVXcml0ZU1hc2siIHR5cGU9 +InRuczpBdHRyaWJ1dGVXcml0ZU1hc2siIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkJy +b3dzZURpcmVjdGlvbiI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRh +dGlvbj5UaGUgZGlyZWN0aW9ucyBvZiB0aGUgcmVmZXJlbmNlcyB0byByZXR1cm4uPC94czpkb2N1 +bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFz +ZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRm9yd2FyZF8wIiAv +Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJbnZlcnNlXzEiIC8+DQogICAgICA8eHM6 +ZW51bWVyYXRpb24gdmFsdWU9IkJvdGhfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 +ZT0iSW52YWxpZF8zIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlRGlyZWN0aW9uIiB0eXBlPSJ0bnM6QnJvd3Nl +RGlyZWN0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJWaWV3RGVzY3JpcHRpb24i +Pg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIHZpZXcg +dG8gYnJvd3NlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmlld0lkIiB0eXBlPSJ1YTpO +b2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJUaW1lc3RhbXAiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWaWV3VmVyc2lvbiIgdHlwZT0ieHM6dW5zaWduZWRJbnQi +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWaWV3RGVzY3JpcHRpb24iIHR5cGU9InRuczpWaWV3RGVz +Y3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb3dzZURlc2NyaXB0aW9u +Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgcmVxdWVz +dCB0byBicm93c2UgdGhlIHRoZSByZWZlcmVuY2VzIGZyb20gYSBub2RlLjwveHM6ZG9jdW1lbnRh +dGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VEaXJlY3Rpb24i +IHR5cGU9InRuczpCcm93c2VEaXJlY3Rpb24iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5jbHVkZVN1 +YnR5cGVzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJOb2RlQ2xhc3NNYXNrIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz +PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0TWFzayIgdHlwZT0ieHM6dW5z +aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VEZXNjcmlwdGlvbiIgdHlwZT0i +dG5zOkJyb3dzZURlc2NyaXB0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0 +T2ZCcm93c2VEZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iQnJvd3NlRGVzY3JpcHRpb24iIHR5cGU9InRuczpCcm93c2VEZXNjcmlwdGlvbiIg +bWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iTGlzdE9mQnJvd3NlRGVzY3JpcHRpb24iIHR5cGU9InRuczpMaXN0T2ZCcm93c2VEZXNjcmlw +dGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAg +bmFtZT0iQnJvd3NlUmVzdWx0TWFzayI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6 +ZG9jdW1lbnRhdGlvbj5BIGJpdCBtYXNrIHdoaWNoIHNwZWNpZmllcyB3aGF0IHNob3VsZCBiZSBy +ZXR1cm5lZCBpbiBhIGJyb3dzZSByZXNwb25zZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94 +czphbm5vdGF0aW9uPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAg +ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb25lXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp +b24gdmFsdWU9IlJlZmVyZW5jZVR5cGVJZF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh +bHVlPSJJc0ZvcndhcmRfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9kZUNs +YXNzXzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJyb3dzZU5hbWVfOCIgLz4N +CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGlzcGxheU5hbWVfMTYiIC8+DQogICAgICA8 +eHM6ZW51bWVyYXRpb24gdmFsdWU9IlR5cGVEZWZpbml0aW9uXzMyIiAvPg0KICAgICAgPHhzOmVu +dW1lcmF0aW9uIHZhbHVlPSJBbGxfNjMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +IlJlZmVyZW5jZVR5cGVJbmZvXzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlRh +cmdldEluZm9fNjAiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VSZXN1bHRNYXNrIiB0eXBlPSJ0bnM6QnJvd3Nl +UmVzdWx0TWFzayIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVmZXJlbmNlRGVzY3Jp +cHRpb24iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhl +IGRlc2NyaXB0aW9uIG9mIGEgcmVmZXJlbmNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hz +OmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +UmVmZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ZvcndhcmQiIHR5cGU9InhzOmJv +b2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIg +dHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VOYW1lIiB0eXBlPSJ1YTpRdWFsaWZpZWRO +YW1lIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iRGlzcGxheU5hbWUiIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlQ2xhc3MiIHR5 +cGU9InRuczpOb2RlQ2xhc3MiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlR5cGVEZWZpbml0aW9uIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VEZXNjcmlwdGlvbiIgdHlwZT0idG5z +OlJlZmVyZW5jZURlc2NyaXB0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0 +T2ZSZWZlcmVuY2VEZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iUmVmZXJlbmNlRGVzY3JpcHRpb24iIHR5cGU9InRuczpSZWZlcmVuY2VEZXNj +cmlwdGlvbiIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iTGlzdE9mUmVmZXJlbmNlRGVzY3JpcHRpb24iIHR5cGU9InRuczpMaXN0T2ZS +ZWZlcmVuY2VEZXNjcmlwdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJDb250aW51YXRpb25Qb2ludCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5 +IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VSZXN1bHQiPg0KICAgIDx4czph +bm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIHJlc3VsdCBvZiBhIGJyb3dz +ZSBvcGVyYXRpb24uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBl +PSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJDb250aW51YXRpb25Qb2ludCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlcyIg +dHlwZT0idG5zOkxpc3RPZlJlZmVyZW5jZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVJlc3VsdCIgdHlwZT0idG5zOkJyb3dzZVJlc3VsdCIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJvd3NlUmVzdWx0Ij4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VSZXN1bHQiIHR5cGU9 +InRuczpCcm93c2VSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb3dzZVJlc3VsdCIgdHlwZT0idG5zOkxpc3RP +ZkJyb3dzZVJlc3VsdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iQnJvd3NlUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg +ICA8eHM6ZG9jdW1lbnRhdGlvbj5Ccm93c2UgdGhlIHJlZmVyZW5jZXMgZm9yIG9uZSBvciBtb3Jl +IG5vZGVzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4N +CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWaWV3IiB0 +eXBlPSJ0bnM6Vmlld0Rlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTWF4UmVmZXJlbmNlc1Blck5vZGUi +IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJOb2Rlc1RvQnJvd3NlIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlRGVzY3JpcHRpb24i +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUmVxdWVzdCIgdHlw +ZT0idG5zOkJyb3dzZVJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb3dz +ZVJlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9u +PkJyb3dzZSB0aGUgcmVmZXJlbmNlcyBmb3Igb25lIG9yIG1vcmUgbm9kZXMgZnJvbSB0aGUgc2Vy +dmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlv +bj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhl +YWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RP +ZkJyb3dzZVJlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3Rp +Y0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j +ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUmVzcG9u +c2UiIHR5cGU9InRuczpCcm93c2VSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iQnJvd3NlTmV4dFJlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRv +Y3VtZW50YXRpb24+Q29udGludWVzIG9uZSBvciBtb3JlIGJyb3dzZSBvcGVyYXRpb25zLjwveHM6 +ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RI +ZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJSZWxlYXNlQ29udGludWF0aW9uUG9pbnRzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250aW51YXRpb25Qb2ludHMi +IHR5cGU9InVhOkxpc3RPZkJ5dGVTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iQnJvd3NlTmV4dFJlcXVlc3QiIHR5cGU9InRuczpCcm93c2VOZXh0UmVxdWVzdCIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQnJvd3NlTmV4dFJlc3BvbnNlIj4NCiAgICA8 +eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNvbnRpbnVlcyBvbmUgb3Ig +bW9yZSBicm93c2Ugb3BlcmF0aW9ucy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v +dGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3Bv +bnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ0bnM6 +TGlzdE9mQnJvd3NlUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFn +bm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl +cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VO +ZXh0UmVzcG9uc2UiIHR5cGU9InRuczpCcm93c2VOZXh0UmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9IlJlbGF0aXZlUGF0aEVsZW1lbnQiPg0KICAgIDx4czphbm5vdGF0aW9u +Pg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QW4gZWxlbWVudCBpbiBhIHJlbGF0aXZlIHBhdGgu +PC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVu +Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VUeXBlSWQiIHR5cGU9InVhOk5v +ZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IklzSW52ZXJzZSIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5jbHVkZVN1YnR5cGVzIiB0eXBlPSJ4czpib29sZWFuIiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXROYW1lIiB0eXBl +PSJ1YTpRdWFsaWZpZWROYW1lIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +IlJlbGF0aXZlUGF0aEVsZW1lbnQiIHR5cGU9InRuczpSZWxhdGl2ZVBhdGhFbGVtZW50IiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZSZWxhdGl2ZVBhdGhFbGVtZW50Ij4NCiAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWxhdGl2ZVBhdGhFbGVt +ZW50IiB0eXBlPSJ0bnM6UmVsYXRpdmVQYXRoRWxlbWVudCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1 +cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUmVsYXRpdmVQYXRo +RWxlbWVudCIgdHlwZT0idG5zOkxpc3RPZlJlbGF0aXZlUGF0aEVsZW1lbnQiIG5pbGxhYmxlPSJ0 +cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlbGF0aXZlUGF0 +aCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHJlbGF0 +aXZlIHBhdGggY29uc3RydWN0ZWQgZnJvbSByZWZlcmVuY2UgdHlwZXMgYW5kIGJyb3dzZSBuYW1l +cy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVsZW1lbnRzIiB0eXBlPSJ0bnM6TGlzdE9m +UmVsYXRpdmVQYXRoRWxlbWVudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJSZWxhdGl2ZVBhdGgiIHR5cGU9InRuczpSZWxhdGl2ZVBhdGgiIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9IkJyb3dzZVBhdGgiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhz +OmRvY3VtZW50YXRpb24+QSByZXF1ZXN0IHRvIHRyYW5zbGF0ZSBhIHBhdGggaW50byBhIG5vZGUg +aWQuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFydGluZ05vZGUiIHR5cGU9InVhOk5v +ZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlJlbGF0aXZlUGF0aCIgdHlwZT0idG5zOlJlbGF0aXZlUGF0aCIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VQYXRoIiB0eXBlPSJ0bnM6QnJvd3NlUGF0 +aCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJvd3NlUGF0aCI+DQogICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUGF0aCIgdHlwZT0i +dG5zOkJyb3dzZVBhdGgiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGgiIHR5cGU9InRuczpMaXN0T2ZCcm93 +c2VQYXRoIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJCcm93c2VQYXRoVGFyZ2V0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4 +czpkb2N1bWVudGF0aW9uPlRoZSB0YXJnZXQgb2YgdGhlIHRyYW5zbGF0ZWQgcGF0aC48L3hzOmRv +Y3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdldElkIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlJlbWFpbmluZ1BhdGhJbmRleCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJCcm93c2VQYXRoVGFyZ2V0IiB0eXBlPSJ0bnM6QnJvd3NlUGF0aFRhcmdldCIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJvd3NlUGF0aFRhcmdldCI+DQogICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUGF0aFRhcmdldCIg +dHlwZT0idG5zOkJyb3dzZVBhdGhUYXJnZXQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJv +dW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGhUYXJnZXQiIHR5 +cGU9InRuczpMaXN0T2ZCcm93c2VQYXRoVGFyZ2V0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVt +ZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VQYXRoUmVzdWx0Ij4NCiAgICA8 +eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSByZXN1bHQgb2YgYSB0 +cmFuc2xhdGUgb3BlYXJhdGlvbi48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 +aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c0Nv +ZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlRhcmdldHMiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VQYXRoVGFyZ2V0IiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGhSZXN1bHQiIHR5cGU9 +InRuczpCcm93c2VQYXRoUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0 +T2ZCcm93c2VQYXRoUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJCcm93c2VQYXRoUmVzdWx0IiB0eXBlPSJ0bnM6QnJvd3NlUGF0aFJlc3VsdCIgbWlu +T2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +TGlzdE9mQnJvd3NlUGF0aFJlc3VsdCIgdHlwZT0idG5zOkxpc3RPZkJyb3dzZVBhdGhSZXN1bHQi +IG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +IlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRp +b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UcmFuc2xhdGVzIG9uZSBvciBtb3JlIHBhdGhz +IGluIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94 +czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUGF0aHMiIHR5 +cGU9InRuczpMaXN0T2ZCcm93c2VQYXRoIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9IlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVxdWVzdCIgdHlwZT0idG5zOlRy +YW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iVHJhbnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNSZXNwb25zZSI+DQogICAgPHhz +OmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UcmFuc2xhdGVzIG9uZSBvciBt +b3JlIHBhdGhzIGluIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+ +DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1 +bHRzIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlUGF0aFJlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIg +dHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iVHJhbnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNSZXNwb25zZSIgdHlwZT0i +dG5zOlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9IlJlZ2lzdGVyTm9kZXNSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlv +bj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlJlZ2lzdGVycyBvbmUgb3IgbW9yZSBub2RlcyBm +b3IgcmVwZWF0ZWQgdXNlIHdpdGhpbiBhIHNlc3Npb24uPC94czpkb2N1bWVudGF0aW9uPg0KICAg +IDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVzVG9SZWdp +c3RlciIgdHlwZT0idWE6TGlzdE9mTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9IlJlZ2lzdGVyTm9kZXNSZXF1ZXN0IiB0eXBlPSJ0bnM6UmVnaXN0ZXJOb2Rlc1Jl +cXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZ2lzdGVyTm9kZXNSZXNwb25z +ZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5SZWdpc3Rl +cnMgb25lIG9yIG1vcmUgbm9kZXMgZm9yIHJlcGVhdGVkIHVzZSB3aXRoaW4gYSBzZXNzaW9uLjwv +eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNw +b25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlJlZ2lzdGVyZWROb2RlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZOb2RlSWQiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJOb2Rlc1Jlc3BvbnNl +IiB0eXBlPSJ0bnM6UmVnaXN0ZXJOb2Rlc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJVbnJlZ2lzdGVyTm9kZXNSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg +ICAgIDx4czpkb2N1bWVudGF0aW9uPlVucmVnaXN0ZXJzIG9uZSBvciBtb3JlIHByZXZpb3VzbHkg +cmVnaXN0ZXJlZCBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9u +Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFk +ZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb1VucmVnaXN0ZXIiIHR5cGU9InVh +Okxpc3RPZk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVbnJl +Z2lzdGVyTm9kZXNSZXF1ZXN0IiB0eXBlPSJ0bnM6VW5yZWdpc3Rlck5vZGVzUmVxdWVzdCIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVW5yZWdpc3Rlck5vZGVzUmVzcG9uc2UiPg0KICAg +IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VW5yZWdpc3RlcnMgb25l +IG9yIG1vcmUgcHJldmlvdXNseSByZWdpc3RlcmVkIG5vZGVzLjwveHM6ZG9jdW1lbnRhdGlvbj4N +CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVbnJlZ2lzdGVyTm9kZXNSZXNwb25zZSIg +dHlwZT0idG5zOlVucmVnaXN0ZXJOb2Rlc1Jlc3BvbnNlIiAvPg0KDQogIDx4czplbGVtZW50IG5h +bWU9IkNvdW50ZXIiIHR5cGU9InhzOnVuc2lnbmVkSW50IiAvPg0KDQogIDx4czplbGVtZW50IG5h +bWU9Ik51bWVyaWNSYW5nZSIgdHlwZT0ieHM6c3RyaW5nIiAvPg0KDQogIDx4czplbGVtZW50IG5h +bWU9IlRpbWUiIHR5cGU9InhzOnN0cmluZyIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRl +IiB0eXBlPSJ4czpkYXRlVGltZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRW5kcG9p +bnRDb25maWd1cmF0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJPcGVyYXRpb25UaW1lb3V0IiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlVzZUJpbmFyeUVuY29kaW5nIiB0eXBlPSJ4czpib29sZWFu +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhTdHJpbmdMZW5n +dGgiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iTWF4Qnl0ZVN0cmluZ0xlbmd0aCIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhBcnJheUxlbmd0aCIgdHlwZT0ieHM6aW50IiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhNZXNzYWdlU2l6ZSIgdHlw +ZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhC +dWZmZXJTaXplIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IkNoYW5uZWxMaWZldGltZSIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVRva2VuTGlmZXRpbWUiIHR5cGU9Inhz +OmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50Q29uZmlndXJhdGlvbiIgdHlwZT0i +dG5zOkVuZHBvaW50Q29uZmlndXJhdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i +TGlzdE9mRW5kcG9pbnRDb25maWd1cmF0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludENvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpFbmRwb2lu +dENvbmZpZ3VyYXRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkVuZHBvaW50Q29uZmlndXJhdGlvbiIgdHlwZT0idG5z +Okxpc3RPZkVuZHBvaW50Q29uZmlndXJhdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVu +dD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUXVlcnlEYXRhRGVzY3JpcHRpb24iPg0KICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlbGF0aXZlUGF0aCIgdHlw +ZT0idG5zOlJlbGF0aXZlUGF0aCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXhSYW5nZSIgdHlw +ZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 +c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5 +RGF0YURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6UXVlcnlEYXRhRGVzY3JpcHRpb24iIC8+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlF1ZXJ5RGF0YURlc2NyaXB0aW9uIj4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeURhdGFEZXNjcmlwdGlv +biIgdHlwZT0idG5zOlF1ZXJ5RGF0YURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vy +cz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZRdWVyeURhdGFEZXNj +cmlwdGlvbiIgdHlwZT0idG5zOkxpc3RPZlF1ZXJ5RGF0YURlc2NyaXB0aW9uIiBuaWxsYWJsZT0i +dHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJOb2RlVHlwZURl +c2NyaXB0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJU +eXBlRGVmaW5pdGlvbk5vZGUiIHR5cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5jbHVkZVN1YlR5 +cGVzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJEYXRhVG9SZXR1cm4iIHR5cGU9InRuczpMaXN0T2ZRdWVyeURhdGFEZXNjcmlwdGlv +biIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlVHlwZURlc2NyaXB0 +aW9uIiB0eXBlPSJ0bnM6Tm9kZVR5cGVEZXNjcmlwdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iTGlzdE9mTm9kZVR5cGVEZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZVR5cGVEZXNjcmlwdGlvbiIgdHlwZT0idG5zOk5v +ZGVUeXBlRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk5vZGVUeXBlRGVzY3JpcHRpb24iIHR5cGU9InRu +czpMaXN0T2ZOb2RlVHlwZURlc2NyaXB0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50 +Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJGaWx0ZXJPcGVyYXRvciI+DQogICAgPHhzOnJl +c3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +IkVxdWFsc18wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJc051bGxfMSIgLz4N +CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iR3JlYXRlclRoYW5fMiIgLz4NCiAgICAgIDx4 +czplbnVtZXJhdGlvbiB2YWx1ZT0iTGVzc1RoYW5fMyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv +biB2YWx1ZT0iR3JlYXRlclRoYW5PckVxdWFsXzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g +dmFsdWU9Ikxlc3NUaGFuT3JFcXVhbF81IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl +PSJMaWtlXzYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vdF83IiAvPg0KICAg +ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJCZXR3ZWVuXzgiIC8+DQogICAgICA8eHM6ZW51bWVy +YXRpb24gdmFsdWU9IkluTGlzdF85IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJB +bmRfMTAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik9yXzExIiAvPg0KICAgICAg +PHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDYXN0XzEyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u +IHZhbHVlPSJJblZpZXdfMTMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik9mVHlw +ZV8xNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVsYXRlZFRvXzE1IiAvPg0K +ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJCaXR3aXNlQW5kXzE2IiAvPg0KICAgICAgPHhz +OmVudW1lcmF0aW9uIHZhbHVlPSJCaXR3aXNlT3JfMTciIC8+DQogICAgPC94czpyZXN0cmljdGlv +bj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXJPcGVyYXRv +ciIgdHlwZT0idG5zOkZpbHRlck9wZXJhdG9yIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJRdWVyeURhdGFTZXQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9Ik5vZGVJZCIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUeXBlRGVmaW5pdGlvbk5vZGUi +IHR5cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVzIiB0eXBlPSJ1YTpMaXN0T2ZWYXJpYW50 +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5RGF0YVNldCIgdHlw +ZT0idG5zOlF1ZXJ5RGF0YVNldCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m +UXVlcnlEYXRhU2V0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJRdWVyeURhdGFTZXQiIHR5cGU9InRuczpRdWVyeURhdGFTZXQiIG1pbk9jY3Vycz0iMCIgbWF4 +T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlF1ZXJ5RGF0 +YVNldCIgdHlwZT0idG5zOkxpc3RPZlF1ZXJ5RGF0YVNldCIgbmlsbGFibGU9InRydWUiPjwveHM6 +ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTm9kZVJlZmVyZW5jZSI+DQogICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpO +b2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJSZWZlcmVuY2VUeXBlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IklzRm9yd2FyZCIgdHlw +ZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +UmVmZXJlbmNlZE5vZGVJZHMiIHR5cGU9InVhOkxpc3RPZk5vZGVJZCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlUmVmZXJlbmNlIiB0eXBlPSJ0bnM6Tm9kZVJlZmVy +ZW5jZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTm9kZVJlZmVyZW5jZSI+ +DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZVJlZmVyZW5j +ZSIgdHlwZT0idG5zOk5vZGVSZWZlcmVuY2UiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJv +dW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk5vZGVSZWZlcmVuY2UiIHR5cGU9 +InRuczpMaXN0T2ZOb2RlUmVmZXJlbmNlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDb250ZW50RmlsdGVyRWxlbWVudCI+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyT3BlcmF0b3IiIHR5cGU9 +InRuczpGaWx0ZXJPcGVyYXRvciIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iRmlsdGVyT3BlcmFuZHMiIHR5cGU9InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz +OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb250ZW50RmlsdGVyRWxlbWVudCIg +dHlwZT0idG5zOkNvbnRlbnRGaWx0ZXJFbGVtZW50IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu +YW1lPSJMaXN0T2ZDb250ZW50RmlsdGVyRWxlbWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGVudEZpbHRlckVsZW1lbnQiIHR5cGU9InRuczpDb250 +ZW50RmlsdGVyRWxlbWVudCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N +CiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQ29udGVudEZpbHRlckVsZW1lbnQiIHR5cGU9InRu +czpMaXN0T2ZDb250ZW50RmlsdGVyRWxlbWVudCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVu +dD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ29udGVudEZpbHRlciI+DQogICAgPHhzOnNl +cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRWxlbWVudHMiIHR5cGU9InRuczpMaXN0 +T2ZDb250ZW50RmlsdGVyRWxlbWVudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJDb250ZW50RmlsdGVyIiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlciIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQ29udGVudEZpbHRlciI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGVudEZpbHRlciIgdHlwZT0idG5zOkNvbnRl +bnRGaWx0ZXIiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl +bGVtZW50IG5hbWU9Ikxpc3RPZkNvbnRlbnRGaWx0ZXIiIHR5cGU9InRuczpMaXN0T2ZDb250ZW50 +RmlsdGVyIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJGaWx0ZXJPcGVyYW5kIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyT3Bl +cmFuZCIgdHlwZT0idG5zOkZpbHRlck9wZXJhbmQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9IkVsZW1lbnRPcGVyYW5kIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNl +Ij4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgICAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXgiIHR5cGU9 +InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+ +DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hz +OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFbGVtZW50T3BlcmFuZCIgdHlwZT0i +dG5zOkVsZW1lbnRPcGVyYW5kIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXRlcmFs +T3BlcmFuZCI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8 +eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpGaWx0ZXJPcGVyYW5kIj4NCiAgICAgICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlIiB0eXBlPSJ1YTpWYXJpYW50 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4 +dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJMaXRlcmFsT3BlcmFuZCIgdHlwZT0idG5zOkxpdGVyYWxPcGVy +YW5kIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBdHRyaWJ1dGVPcGVyYW5kIj4NCiAg +ICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24g +YmFzZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWxpYXMi +IHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VQYXRoIiB0eXBlPSJ0bnM6UmVsYXRpdmVQYXRo +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmlu +ZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5j +ZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwv +eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkF0dHJpYnV0ZU9wZXJhbmQiIHR5 +cGU9InRuczpBdHRyaWJ1dGVPcGVyYW5kIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJT +aW1wbGVBdHRyaWJ1dGVPcGVyYW5kIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZh +bHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAg +ICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHlwZURlZmlu +aXRpb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGgiIHR5cGU9InVhOkxpc3RP +ZlF1YWxpZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iQXR0cmlidXRlSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXhSYW5nZSIg +dHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +ICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4 +Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2ltcGxl +QXR0cmlidXRlT3BlcmFuZCIgdHlwZT0idG5zOlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIC8+DQoN +CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiPg0K +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNpbXBsZUF0dHJpYnV0 +ZU9wZXJhbmQiIHR5cGU9InRuczpTaW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiBtaW5PY2N1cnM9IjAi +IG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl +bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTaW1w +bGVBdHRyaWJ1dGVPcGVyYW5kIiB0eXBlPSJ0bnM6TGlzdE9mU2ltcGxlQXR0cmlidXRlT3BlcmFu +ZCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iQ29udGVudEZpbHRlckVsZW1lbnRSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlN0YXR1c0NvZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9j +Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik9wZXJhbmRTdGF0dXNDb2RlcyIg +dHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik9wZXJhbmREaWFnbm9zdGljSW5mb3MiIHR5cGU9 +InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9IkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiB0eXBlPSJ0bnM6Q29udGVudEZpbHRl +ckVsZW1lbnRSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkNvbnRl +bnRGaWx0ZXJFbGVtZW50UmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIgdHlwZT0idG5zOkNvbnRlbnRG +aWx0ZXJFbGVtZW50UmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIg +dHlwZT0idG5zOkxpc3RPZkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiBuaWxsYWJsZT0idHJ1 +ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDb250ZW50RmlsdGVy +UmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbGVt +ZW50UmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +RWxlbWVudERpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGVudEZpbHRlclJlc3VsdCIg +dHlwZT0idG5zOkNvbnRlbnRGaWx0ZXJSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9IlBhcnNpbmdSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlN0YXR1c0NvZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTdGF0dXNDb2RlcyIgdHlwZT0idWE6TGlzdE9m +U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkRhdGFEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0 +aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlBhcnNpbmdSZXN1 +bHQiIHR5cGU9InRuczpQYXJzaW5nUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJMaXN0T2ZQYXJzaW5nUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJQYXJzaW5nUmVzdWx0IiB0eXBlPSJ0bnM6UGFyc2luZ1Jlc3VsdCIgbWluT2Nj +dXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 +czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlz +dE9mUGFyc2luZ1Jlc3VsdCIgdHlwZT0idG5zOkxpc3RPZlBhcnNpbmdSZXN1bHQiIG5pbGxhYmxl +PSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlF1ZXJ5Rmly +c3RSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS +ZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZpZXciIHR5cGU9InRuczpW +aWV3RGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJOb2RlVHlwZXMiIHR5cGU9InRuczpMaXN0T2ZOb2RlVHlwZURlc2Ny +aXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iRmlsdGVyIiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlciIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heERhdGFTZXRzVG9S +ZXR1cm4iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJNYXhSZWZlcmVuY2VzVG9SZXR1cm4iIHR5cGU9InhzOnVuc2lnbmVkSW50 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlGaXJzdFJlcXVlc3QiIHR5cGU9InRuczpRdWVy +eUZpcnN0UmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUXVlcnlGaXJzdFJl +c3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNw +b25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlEYXRhU2V0cyIgdHlw +ZT0idG5zOkxpc3RPZlF1ZXJ5RGF0YVNldCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpi +YXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJQYXJzaW5nUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZlBhcnNpbmdSZXN1 +bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmls +dGVyUmVzdWx0IiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlclJlc3VsdCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeUZpcnN0UmVzcG9uc2UiIHR5cGU9InRuczpRdWVy +eUZpcnN0UmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlF1ZXJ5TmV4dFJl +cXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVl +c3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsZWFzZUNvbnRpbnVhdGlvblBv +aW50IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJDb250aW51YXRpb25Qb2ludCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5TmV4dFJlcXVlc3QiIHR5cGU9InRu +czpRdWVyeU5leHRSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJRdWVyeU5l +eHRSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +UmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5RGF0YVNldHMi +IHR5cGU9InRuczpMaXN0T2ZRdWVyeURhdGFTZXQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkQ29udGludWF0aW9uUG9pbnQi +IHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJRdWVyeU5leHRSZXNwb25zZSIgdHlwZT0idG5zOlF1ZXJ5TmV4dFJlc3BvbnNlIiAvPg0K +DQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iPg0KICAgIDx4czpy +ZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl +PSJTb3VyY2VfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU2VydmVyXzEiIC8+ +DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJvdGhfMiIgLz4NCiAgICAgIDx4czplbnVt +ZXJhdGlvbiB2YWx1ZT0iTmVpdGhlcl8zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl +PSJJbnZhbGlkXzQiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iIHR5cGU9InRuczpUaW1l +c3RhbXBzVG9SZXR1cm4iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlYWRWYWx1ZUlk +Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5 +cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXhSYW5nZSIgdHlwZT0ieHM6 +c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iRGF0YUVuY29kaW5nIiB0eXBlPSJ1YTpRdWFsaWZpZWROYW1lIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlYWRWYWx1ZUlkIiB0eXBlPSJ0bnM6UmVhZFZh +bHVlSWQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlJlYWRWYWx1ZUlkIj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWFkVmFsdWVJZCIg +dHlwZT0idG5zOlJlYWRWYWx1ZUlkIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVk +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZSZWFkVmFsdWVJZCIgdHlwZT0idG5zOkxp +c3RPZlJlYWRWYWx1ZUlkIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJSZWFkUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIi +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJNYXhBZ2UiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiB0eXBlPSJ0bnM6VGltZXN0YW1wc1RvUmV0 +dXJuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2Rlc1RvUmVh +ZCIgdHlwZT0idG5zOkxpc3RPZlJlYWRWYWx1ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl +bGVtZW50IG5hbWU9IlJlYWRSZXF1ZXN0IiB0eXBlPSJ0bnM6UmVhZFJlcXVlc3QiIC8+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlYWRSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25z +ZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZkRhdGFWYWx1ZSIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJ +bmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iUmVhZFJlc3BvbnNlIiB0eXBlPSJ0bnM6UmVhZFJlc3BvbnNlIiAv +Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5UmVhZFZhbHVlSWQiPg0KICAgIDx4 +czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6Tm9k +ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iSW5kZXhSYW5nZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YUVuY29kaW5nIiB0eXBlPSJ1 +YTpRdWFsaWZpZWROYW1lIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9uUG9pbnQiIHR5cGU9InhzOmJhc2U2NEJpbmFy +eSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5UmVhZFZhbHVl +SWQiIHR5cGU9InRuczpIaXN0b3J5UmVhZFZhbHVlSWQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9Ikxpc3RPZkhpc3RvcnlSZWFkVmFsdWVJZCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRWYWx1ZUlkIiB0eXBlPSJ0bnM6SGlzdG9y +eVJlYWRWYWx1ZUlkIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZIaXN0b3J5UmVhZFZhbHVlSWQiIHR5cGU9InRuczpMaXN0 +T2ZIaXN0b3J5UmVhZFZhbHVlSWQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlSZWFkUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVu +Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXND +b2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250aW51YXRp +b25Qb2ludCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeURhdGEiIHR5cGU9InVhOkV4 +dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0 +b3J5UmVhZFJlc3VsdCIgdHlwZT0idG5zOkhpc3RvcnlSZWFkUmVzdWx0IiAvPg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZIaXN0b3J5UmVhZFJlc3VsdCI+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRSZXN1bHQiIHR5cGU9InRu +czpIaXN0b3J5UmVhZFJlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mSGlzdG9yeVJlYWRSZXN1bHQiIHR5cGU9InRu +czpMaXN0T2ZIaXN0b3J5UmVhZFJlc3VsdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWREZXRhaWxzIiB0eXBlPSJ0bnM6SGlzdG9yeVJlYWRE +ZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWFkRXZlbnREZXRhaWxzIj4N +CiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNp +b24gYmFzZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOdW1WYWx1ZXNQZXJOb2RlIiB0eXBlPSJ4czp1 +bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlN0YXJ0VGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJz +PSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlciIgdHlwZT0idG5zOkV2 +ZW50RmlsdGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hz +OnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVu +dD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZEV2ZW50RGV0 +YWlscyIgdHlwZT0idG5zOlJlYWRFdmVudERldGFpbHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9IlJlYWRSYXdNb2RpZmllZERldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBt +aXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVJlYWRE +ZXRhaWxzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h +bWU9IklzUmVhZE1vZGlmaWVkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhcnRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZFRpbWUiIHR5 +cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iTnVtVmFsdWVzUGVyTm9kZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i +MCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXR1cm5Cb3VuZHMiIHR5cGU9Inhz +OmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAg +IDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlYWRSYXdNb2RpZmllZERldGFpbHMiIHR5cGU9 +InRuczpSZWFkUmF3TW9kaWZpZWREZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJSZWFkUHJvY2Vzc2VkRGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJm +YWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5UmVhZERldGFpbHMi +Pg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Rh +cnRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4 +czplbGVtZW50IG5hbWU9IkVuZFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAi +IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJvY2Vzc2luZ0ludGVydmFsIiB0eXBl +PSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJBZ2dyZWdhdGVUeXBlIiB0eXBlPSJ1YTpMaXN0T2ZOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWdncmVnYXRlQ29u +ZmlndXJhdGlvbiIgdHlwZT0idG5zOkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hz +OmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWFkUHJvY2Vzc2VkRGV0YWlscyIgdHlwZT0idG5zOlJl +YWRQcm9jZXNzZWREZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWFkQXRU +aW1lRGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAg +ICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5UmVhZERldGFpbHMiPg0KICAgICAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxVGltZXMiIHR5cGU9 +InVhOkxpc3RPZkRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZVNpbXBsZUJvdW5kcyIgdHlwZT0ieHM6Ym9vbGVh +biIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpl +eHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4N +CiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZEF0VGltZURldGFpbHMiIHR5cGU9InRuczpSZWFkQXRU +aW1lRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeURhdGEiPg0K +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFWYWx1ZXMiIHR5 +cGU9InVhOkxpc3RPZkRhdGFWYWx1ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJIaXN0b3J5RGF0YSIgdHlwZT0idG5zOkhpc3RvcnlEYXRhIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJNb2RpZmljYXRpb25JbmZvIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZmljYXRpb25UaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXBkYXRlVHlwZSIgdHlw +ZT0idG5zOkhpc3RvcnlVcGRhdGVUeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJVc2VyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9Ik1vZGlmaWNhdGlvbkluZm8iIHR5cGU9InRuczpNb2RpZmljYXRp +b25JbmZvIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb2RpZmljYXRpb25J +bmZvIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZmlj +YXRpb25JbmZvIiB0eXBlPSJ0bnM6TW9kaWZpY2F0aW9uSW5mbyIgbWluT2NjdXJzPSIwIiBtYXhP +Y2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTW9kaWZpY2F0 +aW9uSW5mbyIgdHlwZT0idG5zOkxpc3RPZk1vZGlmaWNhdGlvbkluZm8iIG5pbGxhYmxlPSJ0cnVl +Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlNb2RpZmll +ZERhdGEiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhz +OmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeURhdGEiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+ +DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZpY2F0aW9uSW5mb3MiIHR5cGU9InRu +czpMaXN0T2ZNb2RpZmljYXRpb25JbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94 +czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iSGlzdG9yeU1vZGlmaWVkRGF0YSIgdHlwZT0idG5zOkhpc3RvcnlNb2RpZmllZERhdGEiIC8+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlFdmVudCI+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnRzIiB0eXBlPSJ0bnM6TGlzdE9mSGlz +dG9yeUV2ZW50RmllbGRMaXN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +Ikhpc3RvcnlFdmVudCIgdHlwZT0idG5zOkhpc3RvcnlFdmVudCIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iSGlzdG9yeVJlYWRSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRl +ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9Ikhpc3RvcnlSZWFkRGV0YWlscyIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0 +YW1wc1RvUmV0dXJuIiB0eXBlPSJ0bnM6VGltZXN0YW1wc1RvUmV0dXJuIiBtaW5PY2N1cnM9IjAi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWxlYXNlQ29udGludWF0aW9uUG9pbnRzIiB0 +eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJOb2Rlc1RvUmVhZCIgdHlwZT0idG5zOkxpc3RPZkhpc3RvcnlSZWFkVmFsdWVJZCIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5UmVhZFJlcXVlc3QiIHR5cGU9 +InRuczpIaXN0b3J5UmVhZFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhp +c3RvcnlSZWFkUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRz +IiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeVJlYWRSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5 +cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9Ikhpc3RvcnlSZWFkUmVzcG9uc2UiIHR5cGU9InRuczpIaXN0b3J5UmVhZFJlc3Bv +bnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJXcml0ZVZhbHVlIj4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5vZGVJ +ZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXhSYW5nZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFs +dWUiIHR5cGU9InVhOkRhdGFWYWx1ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJXcml0ZVZhbHVlIiB0eXBlPSJ0bnM6V3JpdGVWYWx1ZSIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iTGlzdE9mV3JpdGVWYWx1ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVWYWx1ZSIgdHlwZT0idG5zOldyaXRlVmFsdWUiIG1pbk9j +Y3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxp +c3RPZldyaXRlVmFsdWUiIHR5cGU9InRuczpMaXN0T2ZXcml0ZVZhbHVlIiBuaWxsYWJsZT0idHJ1 +ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJXcml0ZVJlcXVlc3Qi +Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFk +ZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb1dyaXRlIiB0eXBlPSJ0bnM6TGlz +dE9mV3JpdGVWYWx1ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJXcml0 +ZVJlcXVlc3QiIHR5cGU9InRuczpXcml0ZVJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9IldyaXRlUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1 +bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1 +YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJXcml0ZVJlc3BvbnNlIiB0eXBlPSJ0bnM6V3JpdGVSZXNwb25zZSIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlVcGRhdGVEZXRhaWxzIiB0 +eXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5h +bWU9Ikhpc3RvcnlVcGRhdGVUeXBlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3Ry +aW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW5zZXJ0XzEiIC8+DQogICAgICA8 +eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlcGxhY2VfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv +biB2YWx1ZT0iVXBkYXRlXzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRlbGV0 +ZV80IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iSGlzdG9yeVVwZGF0ZVR5cGUiIHR5cGU9InRuczpIaXN0b3J5VXBkYXRl +VHlwZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iUGVyZm9ybVVwZGF0ZVR5cGUiPg0K +ICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0 +aW9uIHZhbHVlPSJJbnNlcnRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVw +bGFjZV8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVcGRhdGVfMyIgLz4NCiAg +ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVtb3ZlXzQiIC8+DQogICAgPC94czpyZXN0cmlj +dGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJQZXJmb3JtVXBk +YXRlVHlwZSIgdHlwZT0idG5zOlBlcmZvcm1VcGRhdGVUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJVcGRhdGVEYXRhRGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1p +eGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5VXBkYXRl +RGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJQZXJmb3JtSW5zZXJ0UmVwbGFjZSIgdHlwZT0idG5zOlBlcmZvcm1VcGRhdGVUeXBlIiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXBkYXRlVmFsdWVz +IiB0eXBlPSJ1YTpMaXN0T2ZEYXRhVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8 +L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJVcGRhdGVEYXRhRGV0YWlscyIgdHlwZT0idG5zOlVwZGF0ZURhdGFEZXRhaWxzIiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJVcGRhdGVTdHJ1Y3R1cmVEYXRhRGV0YWlscyI+DQog +ICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9u +IGJhc2U9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQZXJmb3JtSW5zZXJ0UmVwbGFjZSIgdHlwZT0i +dG5zOlBlcmZvcm1VcGRhdGVUeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iVXBkYXRlVmFsdWVzIiB0eXBlPSJ1YTpMaXN0T2ZEYXRhVmFsdWUiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAg +ICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVcGRhdGVTdHJ1Y3R1cmVEYXRhRGV0YWlscyIg +dHlwZT0idG5zOlVwZGF0ZVN0cnVjdHVyZURhdGFEZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJVcGRhdGVFdmVudERldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBt +aXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVVwZGF0 +ZURldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iUGVyZm9ybUluc2VydFJlcGxhY2UiIHR5cGU9InRuczpQZXJmb3JtVXBkYXRlVHlwZSIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlciIgdHlw +ZT0idG5zOkV2ZW50RmlsdGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50RGF0YSIgdHlwZT0idG5zOkxpc3RPZkhpc3Rv +cnlFdmVudEZpZWxkTGlzdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +ICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxl +eENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVwZGF0 +ZUV2ZW50RGV0YWlscyIgdHlwZT0idG5zOlVwZGF0ZUV2ZW50RGV0YWlscyIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlUmF3TW9kaWZpZWREZXRhaWxzIj4NCiAgICA8eHM6Y29t +cGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5z +Okhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAg +IDx4czplbGVtZW50IG5hbWU9IklzRGVsZXRlTW9kaWZpZWQiIHR5cGU9InhzOmJvb2xlYW4iIG1p +bk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFydFRpbWUiIHR5 +cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iRW5kVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg +ICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxl +eENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0 +ZVJhd01vZGlmaWVkRGV0YWlscyIgdHlwZT0idG5zOkRlbGV0ZVJhd01vZGlmaWVkRGV0YWlscyIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlQXRUaW1lRGV0YWlscyI+DQogICAg +PHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJh +c2U9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXFUaW1lcyIgdHlwZT0idWE6TGlzdE9mRGF0ZVRp +bWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVu +Y2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVBdFRpbWVEZXRhaWxz +IiB0eXBlPSJ0bnM6RGVsZXRlQXRUaW1lRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iRGVsZXRlRXZlbnREZXRhaWxzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9 +ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRh +aWxzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkV2ZW50SWRzIiB0eXBlPSJ1YTpMaXN0T2ZCeXRlU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNp +b24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iRGVsZXRlRXZlbnREZXRhaWxzIiB0eXBlPSJ0bnM6RGVsZXRlRXZlbnRE +ZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5VXBkYXRlUmVzdWx0 +Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2Rl +IiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJPcGVyYXRpb25SZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlh +Z25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5VXBkYXRlUmVzdWx0IiB0eXBlPSJ0bnM6 +SGlzdG9yeVVwZGF0ZVJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m +SGlzdG9yeVVwZGF0ZVJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3VsdCIgdHlwZT0idG5zOkhpc3RvcnlVcGRhdGVSZXN1 +bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9Ikxpc3RPZkhpc3RvcnlVcGRhdGVSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZIaXN0b3J5 +VXBkYXRlUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJIaXN0b3J5VXBkYXRlUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RI +ZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJIaXN0b3J5VXBkYXRlRGV0YWlscyIgdHlwZT0idWE6TGlzdE9mRXh0ZW5zaW9uT2Jq +ZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlVcGRhdGVS +ZXF1ZXN0IiB0eXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZVJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9Ikhpc3RvcnlVcGRhdGVSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25z +ZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZIaXN0b3J5VXBkYXRlUmVzdWx0IiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +RGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5VXBkYXRlUmVzcG9uc2UiIHR5cGU9 +InRuczpIaXN0b3J5VXBkYXRlUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +IkNhbGxNZXRob2RSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJPYmplY3RJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWV0aG9kSWQiIHR5cGU9InVhOk5v +ZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IklucHV0QXJndW1lbnRzIiB0eXBlPSJ1YTpMaXN0T2ZWYXJpYW50IiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNhbGxNZXRob2RSZXF1ZXN0IiB0eXBlPSJ0bnM6 +Q2FsbE1ldGhvZFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkNh +bGxNZXRob2RSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJDYWxsTWV0aG9kUmVxdWVzdCIgdHlwZT0idG5zOkNhbGxNZXRob2RSZXF1ZXN0IiBtaW5P +Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM +aXN0T2ZDYWxsTWV0aG9kUmVxdWVzdCIgdHlwZT0idG5zOkxpc3RPZkNhbGxNZXRob2RSZXF1ZXN0 +IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJDYWxsTWV0aG9kUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbnB1dEFyZ3VtZW50UmVzdWx0cyIgdHlwZT0idWE6 +TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IklucHV0QXJndW1lbnREaWFnbm9zdGljSW5mb3MiIHR5cGU9InVh +Okxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT3V0cHV0QXJndW1lbnRzIiB0eXBlPSJ1YTpMaXN0T2ZW +YXJpYW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNhbGxNZXRob2RS +ZXN1bHQiIHR5cGU9InRuczpDYWxsTWV0aG9kUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJMaXN0T2ZDYWxsTWV0aG9kUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJDYWxsTWV0aG9kUmVzdWx0IiB0eXBlPSJ0bnM6Q2FsbE1ldGhv +ZFJlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iTGlzdE9mQ2FsbE1ldGhvZFJlc3VsdCIgdHlwZT0idG5zOkxpc3RPZkNhbGxN +ZXRob2RSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9IkNhbGxSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1l +dGhvZHNUb0NhbGwiIHR5cGU9InRuczpMaXN0T2ZDYWxsTWV0aG9kUmVxdWVzdCIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDYWxsUmVxdWVzdCIgdHlwZT0idG5zOkNhbGxS +ZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDYWxsUmVzcG9uc2UiPg0KICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0 +eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ0bnM6TGlzdE9mQ2FsbE1l +dGhvZFJlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0lu +Zm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ2FsbFJlc3BvbnNlIiB0 +eXBlPSJ0bnM6Q2FsbFJlc3BvbnNlIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJNb25p +dG9yaW5nTW9kZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAg +ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRpc2FibGVkXzAiIC8+DQogICAgICA8eHM6ZW51bWVy +YXRpb24gdmFsdWU9IlNhbXBsaW5nXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +IlJlcG9ydGluZ18yIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ01vZGUiIHR5cGU9InRuczpNb25pdG9y +aW5nTW9kZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iRGF0YUNoYW5nZVRyaWdnZXIi +Pg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1l +cmF0aW9uIHZhbHVlPSJTdGF0dXNfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i +U3RhdHVzVmFsdWVfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU3RhdHVzVmFs +dWVUaW1lc3RhbXBfMiIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRhdGFDaGFuZ2VUcmlnZ2VyIiB0eXBlPSJ0bnM6RGF0 +YUNoYW5nZVRyaWdnZXIiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkRlYWRiYW5kVHlw +ZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51 +bWVyYXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i +QWJzb2x1dGVfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudF8yIiAv +Pg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iRGVhZGJhbmRUeXBlIiB0eXBlPSJ0bnM6RGVhZGJhbmRUeXBlIiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJNb25pdG9yaW5nRmlsdGVyIj4NCiAgICA8eHM6c2VxdWVuY2U+ +DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg +bmFtZT0iTW9uaXRvcmluZ0ZpbHRlciIgdHlwZT0idG5zOk1vbml0b3JpbmdGaWx0ZXIiIC8+DQoN +CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFDaGFuZ2VGaWx0ZXIiPg0KICAgIDx4czpjb21w +bGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6 +TW9uaXRvcmluZ0ZpbHRlciI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJUcmlnZ2VyIiB0eXBlPSJ0bnM6RGF0YUNoYW5nZVRyaWdnZXIiIG1pbk9j +Y3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWFkYmFuZFR5cGUiIHR5 +cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iRGVhZGJhbmRWYWx1ZSIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hz +OmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJEYXRhQ2hhbmdlRmlsdGVyIiB0eXBlPSJ0bnM6RGF0YUNoYW5nZUZpbHRlciIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iRXZlbnRGaWx0ZXIiPg0KICAgIDx4czpjb21wbGV4Q29udGVu +dCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6TW9uaXRvcmlu +Z0ZpbHRlciI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJTZWxlY3RDbGF1c2VzIiB0eXBlPSJ0bnM6TGlzdE9mU2ltcGxlQXR0cmlidXRlT3BlcmFu +ZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJXaGVyZUNsYXVzZSIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXIiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hz +OmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudEZpbHRlciIgdHlwZT0idG5zOkV2ZW50RmlsdGVy +IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZ2dyZWdhdGVDb25maWd1cmF0aW9uIj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VTZXJ2ZXJDYXBh +YmlsaXRpZXNEZWZhdWx0cyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJlYXRVbmNlcnRhaW5Bc0JhZCIgdHlwZT0ieHM6Ym9vbGVh +biIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUGVyY2VudERhdGFC +YWQiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iUGVyY2VudERhdGFHb29kIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9j +Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZVNsb3BlZEV4dHJhcG9sYXRp +b24iIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNl +Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBZ2dyZWdhdGVDb25m +aWd1cmF0aW9uIiB0eXBlPSJ0bnM6QWdncmVnYXRlQ29uZmlndXJhdGlvbiIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iQWdncmVnYXRlRmlsdGVyIj4NCiAgICA8eHM6Y29tcGxleENvbnRl +bnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk1vbml0b3Jp +bmdGaWx0ZXIiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iU3RhcnRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFnZ3JlZ2F0ZVR5cGUiIHR5cGU9InVhOk5vZGVJZCIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJQcm9jZXNzaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIHR5 +cGU9InRuczpBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQog +ICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iQWdncmVnYXRlRmlsdGVyIiB0eXBlPSJ0bnM6QWdncmVnYXRlRmlsdGVyIiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb25pdG9yaW5nRmlsdGVyUmVzdWx0Ij4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ0ZpbHRlclJlc3VsdCIgdHlwZT0idG5zOk1vbml0 +b3JpbmdGaWx0ZXJSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkV2ZW50Rmls +dGVyUmVzdWx0Ij4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAg +IDx4czpleHRlbnNpb24gYmFzZT0idG5zOk1vbml0b3JpbmdGaWx0ZXJSZXN1bHQiPg0KICAgICAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VsZWN0Q2xhdXNl +UmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWxlY3RDbGF1c2VEaWFn +bm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IldoZXJlQ2xh +dXNlUmVzdWx0IiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlclJlc3VsdCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0 +ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9IkV2ZW50RmlsdGVyUmVzdWx0IiB0eXBlPSJ0bnM6RXZlbnRGaWx0 +ZXJSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFnZ3JlZ2F0ZUZpbHRlclJl +c3VsdCI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6 +ZXh0ZW5zaW9uIGJhc2U9InRuczpNb25pdG9yaW5nRmlsdGVyUmVzdWx0Ij4NCiAgICAgICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRTdGFydFRpbWUi +IHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUmV2aXNlZFByb2Nlc3NpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZEFnZ3JlZ2F0 +ZUNvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAg +PC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWdncmVnYXRlRmlsdGVyUmVzdWx0IiB0eXBlPSJ0 +bnM6QWdncmVnYXRlRmlsdGVyUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJN +b25pdG9yaW5nUGFyYW1ldGVycyI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iQ2xpZW50SGFuZGxlIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2FtcGxpbmdJbnRlcnZhbCIgdHlwZT0ieHM6 +ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXIi +IHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXVlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJ +bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2NhcmRPbGRl +c3QiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNl +Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yaW5nUGFy +YW1ldGVycyIgdHlwZT0idG5zOk1vbml0b3JpbmdQYXJhbWV0ZXJzIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCI+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXRlbVRvTW9uaXRvciIgdHlwZT0idG5zOlJl +YWRWYWx1ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iTW9uaXRvcmluZ01vZGUiIHR5cGU9InRuczpNb25pdG9yaW5nTW9kZSIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkUGFyYW1ldGVy +cyIgdHlwZT0idG5zOk1vbml0b3JpbmdQYXJhbWV0ZXJzIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0IiB0eXBlPSJ0bnM6TW9u +aXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxp +c3RPZk1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIgdHlwZT0idG5z +Ok1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5i +b3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVtQ3JlYXRl +UmVxdWVzdCIgdHlwZT0idG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0IiBuaWxs +YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb25p +dG9yZWRJdGVtQ3JlYXRlUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtSWQiIHR5cGU9InhzOnVu +c2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZp +c2VkU2FtcGxpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkUXVldWVTaXplIiB0eXBlPSJ4czp1bnNpZ25l +ZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyUmVz +dWx0IiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUNyZWF0ZVJlc3VsdCIgdHlwZT0idG5zOk1vbml0b3Jl +ZEl0ZW1DcmVhdGVSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk1v +bml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIHR5cGU9InRuczpNb25pdG9y +ZWRJdGVtQ3JlYXRlUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0IiB0 +eXBlPSJ0bnM6TGlzdE9mTW9uaXRvcmVkSXRlbUNyZWF0ZVJlc3VsdCIgbmlsbGFibGU9InRydWUi +PjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ3JlYXRlTW9uaXRvcmVk +SXRlbXNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklk +IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiB0eXBlPSJ0bnM6VGltZXN0YW1wc1RvUmV0dXJu +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJdGVtc1RvQ3JlYXRl +IiB0eXBlPSJ0bnM6TGlzdE9mTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ3JlYXRlTW9uaXRvcmVkSXRlbXNSZXF1ZXN0IiB0 +eXBlPSJ0bnM6Q3JlYXRlTW9uaXRvcmVkSXRlbXNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJDcmVhdGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVu +Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJl +c3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1DcmVh +dGVSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZv +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0 +ZW1zUmVzcG9uc2UiIHR5cGU9InRuczpDcmVhdGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCI+DQog +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUlk +IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUmVxdWVzdGVkUGFyYW1ldGVycyIgdHlwZT0idG5zOk1vbml0b3JpbmdQYXJhbWV0 +ZXJzIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1N +b2RpZnlSZXF1ZXN0IiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVlc3QiIC8+DQoN +CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0 +Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJ +dGVtTW9kaWZ5UmVxdWVzdCIgdHlwZT0idG5zOk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiBt +aW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJMaXN0T2ZNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCIgdHlwZT0idG5zOkxpc3RPZk1vbml0 +b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0Ij4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1 +YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS +ZXZpc2VkU2FtcGxpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkUXVldWVTaXplIiB0eXBlPSJ4czp1bnNp +Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVy +UmVzdWx0IiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCIgdHlwZT0idG5zOk1vbml0 +b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RP +Zk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIHR5cGU9InRuczpNb25p +dG9yZWRJdGVtTW9kaWZ5UmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVk +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0 +IiB0eXBlPSJ0bnM6TGlzdE9mTW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCIgbmlsbGFibGU9InRy +dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9kaWZ5TW9uaXRv +cmVkSXRlbXNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlv +bklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiB0eXBlPSJ0bnM6VGltZXN0YW1wc1RvUmV0 +dXJuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJdGVtc1RvTW9k +aWZ5IiB0eXBlPSJ0bnM6TGlzdE9mTW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVlc3QiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w +bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXF1ZXN0 +IiB0eXBlPSJ0bnM6TW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJNb2RpZnlNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5z +OlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1N +b2RpZnlSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJ +bmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmeU1vbml0b3Jl +ZEl0ZW1zUmVzcG9uc2UiIHR5cGU9InRuczpNb2RpZnlNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiAv +Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXRNb25pdG9yaW5nTW9kZVJlcXVlc3QiPg0K +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIi +IHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9InhzOnVuc2ln +bmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9y +aW5nTW9kZSIgdHlwZT0idG5zOk1vbml0b3JpbmdNb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtSWRzIiB0eXBlPSJ1YTpMaXN0T2ZVSW50 +MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0TW9uaXRvcmluZ01v +ZGVSZXF1ZXN0IiB0eXBlPSJ0bnM6U2V0TW9uaXRvcmluZ01vZGVSZXF1ZXN0IiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJTZXRNb25pdG9yaW5nTW9kZVJlc3BvbnNlIj4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0i +dG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w +bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0TW9uaXRvcmluZ01vZGVSZXNwb25zZSIg +dHlwZT0idG5zOlNldE1vbml0b3JpbmdNb2RlUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9IlNldFRyaWdnZXJpbmdSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRl +ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJpZ2dlcmluZ0l0ZW1JZCIgdHlwZT0ieHM6dW5z +aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxpbmtz +VG9BZGQiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkxpbmtzVG9SZW1vdmUiIHR5cGU9InVhOkxp +c3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl +cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRUcmln +Z2VyaW5nUmVxdWVzdCIgdHlwZT0idG5zOlNldFRyaWdnZXJpbmdSZXF1ZXN0IiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJTZXRUcmlnZ2VyaW5nUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6 +UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJBZGRSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +QWRkRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlbW92 +ZVJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZW1vdmVEaWFnbm9zdGljSW5m +b3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9IlNldFRyaWdnZXJpbmdSZXNwb25zZSIgdHlwZT0idG5zOlNldFRyaWdn +ZXJpbmdSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlTW9uaXRv +cmVkSXRlbXNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlv +bklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUlkcyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVx +dWVzdCIgdHlwZT0idG5zOkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSI+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9 +InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUi +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVzcG9u +c2UiIHR5cGU9InRuczpEZWxldGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJDcmVhdGVTdWJzY3JpcHRpb25SZXF1ZXN0Ij4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6 +UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91 +YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWRM +aWZldGltZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnQiIHR5cGU9Inhz +OnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJN +YXhOb3RpZmljYXRpb25zUGVyUHVibGlzaCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vy +cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hpbmdFbmFibGVkIiB0eXBl +PSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQ +cmlvcml0eSIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94 +czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ3Jl +YXRlU3Vic2NyaXB0aW9uUmVxdWVzdCIgdHlwZT0idG5zOkNyZWF0ZVN1YnNjcmlwdGlvblJlcXVl +c3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNyZWF0ZVN1YnNjcmlwdGlvblJlc3Bv +bnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25z +ZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9 +InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJSZXZpc2VkUHVibGlzaGluZ0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0i +MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRMaWZldGltZUNvdW50IiB0eXBl +PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iUmV2aXNlZE1heEtlZXBBbGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9IkNyZWF0ZVN1YnNjcmlwdGlvblJlc3BvbnNlIiB0eXBlPSJ0bnM6Q3Jl +YXRlU3Vic2NyaXB0aW9uUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1v +ZGlmeVN1YnNjcmlwdGlvblJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vi +c2NyaXB0aW9uSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWwiIHR5cGU9Inhz +OmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVz +dGVkTGlmZXRpbWVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50IiB0eXBl +PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iTWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2giIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQcmlvcml0eSIgdHlwZT0ieHM6 +dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZ5U3Vic2NyaXB0aW9uUmVx +dWVzdCIgdHlwZT0idG5zOk1vZGlmeVN1YnNjcmlwdGlvblJlcXVlc3QiIC8+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvblJlc3BvbnNlIj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5z +OlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFB1Ymxpc2hpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91 +YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkTGlm +ZXRpbWVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRNYXhLZWVwQWxpdmVDb3VudCIgdHlwZT0ieHM6dW5z +aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZnlTdWJzY3JpcHRpb25SZXNwb25z +ZSIgdHlwZT0idG5zOk1vZGlmeVN1YnNjcmlwdGlvblJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJTZXRQdWJsaXNoaW5nTW9kZVJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1 +ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iUHVibGlzaGluZ0VuYWJsZWQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vy +cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkcyIgdHlwZT0i +dWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNl +dFB1Ymxpc2hpbmdNb2RlUmVxdWVzdCIgdHlwZT0idG5zOlNldFB1Ymxpc2hpbmdNb2RlUmVxdWVz +dCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2V0UHVibGlzaGluZ01vZGVSZXNwb25z +ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VI +ZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RP +ZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJ +bmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNldFB1Ymxpc2hpbmdN +b2RlUmVzcG9uc2UiIHR5cGU9InRuczpTZXRQdWJsaXNoaW5nTW9kZVJlc3BvbnNlIiAvPg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJOb3RpZmljYXRpb25NZXNzYWdlIj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXF1ZW5jZU51bWJlciIgdHlwZT0ieHM6 +dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1 +Ymxpc2hUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iTm90aWZpY2F0aW9uRGF0YSIgdHlwZT0idWE6TGlzdE9mRXh0ZW5zaW9u +T2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik5vdGlmaWNhdGlv +bk1lc3NhZ2UiIHR5cGU9InRuczpOb3RpZmljYXRpb25NZXNzYWdlIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJOb3RpZmljYXRpb25EYXRhIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +Tm90aWZpY2F0aW9uRGF0YSIgdHlwZT0idG5zOk5vdGlmaWNhdGlvbkRhdGEiIC8+DQoNCiAgPHhz +OmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFDaGFuZ2VOb3RpZmljYXRpb24iPg0KICAgIDx4czpjb21w +bGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6 +Tm90aWZpY2F0aW9uRGF0YSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtcyIgdHlwZT0idG5zOkxpc3RPZk1vbml0b3JlZEl0 +ZW1Ob3RpZmljYXRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFn +bm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94 +czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRl +bnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRhdGFDaGFuZ2VO +b3RpZmljYXRpb24iIHR5cGU9InRuczpEYXRhQ2hhbmdlTm90aWZpY2F0aW9uIiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJNb25pdG9yZWRJdGVtTm90aWZpY2F0aW9uIj4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRIYW5kbGUiIHR5cGU9Inhz +OnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJW +YWx1ZSIgdHlwZT0idWE6RGF0YVZhbHVlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9Ik1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iIHR5cGU9InRuczpNb25pdG9yZWRJdGVt +Tm90aWZpY2F0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb25pdG9y +ZWRJdGVtTm90aWZpY2F0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJNb25pdG9yZWRJdGVtTm90aWZpY2F0aW9uIiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRl +bU5vdGlmaWNhdGlvbiIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiIgdHlwZT0i +dG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hz +OmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkV2ZW50Tm90aWZpY2F0aW9uTGlz +dCI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0 +ZW5zaW9uIGJhc2U9InRuczpOb3RpZmljYXRpb25EYXRhIj4NCiAgICAgICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50cyIgdHlwZT0idG5zOkxpc3RPZkV2 +ZW50RmllbGRMaXN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8 +L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29u +dGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnROb3Rp +ZmljYXRpb25MaXN0IiB0eXBlPSJ0bnM6RXZlbnROb3RpZmljYXRpb25MaXN0IiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJFdmVudEZpZWxkTGlzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50SGFuZGxlIiB0eXBlPSJ4czp1bnNpZ25lZElu +dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnRGaWVsZHMi +IHR5cGU9InVhOkxpc3RPZlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg +bmFtZT0iRXZlbnRGaWVsZExpc3QiIHR5cGU9InRuczpFdmVudEZpZWxkTGlzdCIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRXZlbnRGaWVsZExpc3QiPg0KICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50RmllbGRMaXN0IiB0eXBlPSJ0bnM6 +RXZlbnRGaWVsZExpc3QiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkV2ZW50RmllbGRMaXN0IiB0eXBlPSJ0bnM6TGlzdE9m +RXZlbnRGaWVsZExpc3QiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlFdmVudEZpZWxkTGlzdCI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnRGaWVsZHMiIHR5cGU9InVhOkxpc3RPZlZh +cmlhbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j +ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeUV2ZW50 +RmllbGRMaXN0IiB0eXBlPSJ0bnM6SGlzdG9yeUV2ZW50RmllbGRMaXN0IiAvPg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZIaXN0b3J5RXZlbnRGaWVsZExpc3QiPg0KICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlFdmVudEZpZWxkTGlzdCIg +dHlwZT0idG5zOkhpc3RvcnlFdmVudEZpZWxkTGlzdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9 +InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mSGlzdG9yeUV2ZW50Rmll +bGRMaXN0IiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeUV2ZW50RmllbGRMaXN0IiBuaWxsYWJsZT0i +dHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTdGF0dXNDaGFu +Z2VOb3RpZmljYXRpb24iPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0K +ICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm90aWZpY2F0aW9uRGF0YSI+DQogICAgICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXMiIHR5cGU9 +InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJEaWFnbm9zdGljSW5mbyIgdHlwZT0idWE6RGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hz +OmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDaGFuZ2VOb3RpZmljYXRpb24iIHR5cGU9InRu +czpTdGF0dXNDaGFuZ2VOb3RpZmljYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +IlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXF1ZW5jZU51bWJlciIg +dHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNl +Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25B +Y2tub3dsZWRnZW1lbnQiIHR5cGU9InRuczpTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiIC8+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlN1YnNjcmlwdGlvbkFja25vd2xlZGdl +bWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2Ny +aXB0aW9uQWNrbm93bGVkZ2VtZW50IiB0eXBlPSJ0bnM6U3Vic2NyaXB0aW9uQWNrbm93bGVkZ2Vt +ZW50IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJMaXN0T2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiIHR5cGU9InRuczpMaXN0 +T2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1l +bnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlB1Ymxpc2hSZXF1ZXN0Ij4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0 +bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudHMiIHR5cGU9InRu +czpMaXN0T2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaFJlcXVlc3QiIHR5cGU9InRuczpQdWJsaXNoUmVxdWVz +dCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUHVibGlzaFJlc3BvbnNlIj4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlw +ZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9InhzOnVuc2lnbmVk +SW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdmFpbGFibGVT +ZXF1ZW5jZU51bWJlcnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vcmVOb3RpZmljYXRpb25z +IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJOb3RpZmljYXRpb25NZXNzYWdlIiB0eXBlPSJ0bnM6Tm90aWZpY2F0aW9uTWVzc2FnZSIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5 +cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9IlB1Ymxpc2hSZXNwb25zZSIgdHlwZT0idG5zOlB1Ymxpc2hSZXNwb25zZSIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVwdWJsaXNoUmVxdWVzdCI+DQogICAgPHhzOnNl +cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5z +OlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1p +bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldHJhbnNtaXRTZXF1ZW5j +ZU51bWJlciIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZXB1 +Ymxpc2hSZXF1ZXN0IiB0eXBlPSJ0bnM6UmVwdWJsaXNoUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iUmVwdWJsaXNoUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VI +ZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJOb3RpZmljYXRpb25NZXNzYWdlIiB0eXBlPSJ0bnM6Tm90aWZpY2F0aW9uTWVzc2Fn +ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZXB1Ymxpc2hSZXNwb25z +ZSIgdHlwZT0idG5zOlJlcHVibGlzaFJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu +YW1lPSJUcmFuc2ZlclJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXZhaWxhYmxlU2VxdWVuY2VOdW1iZXJzIiB0eXBl +PSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +VHJhbnNmZXJSZXN1bHQiIHR5cGU9InRuczpUcmFuc2ZlclJlc3VsdCIgLz4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iTGlzdE9mVHJhbnNmZXJSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zZmVyUmVzdWx0IiB0eXBlPSJ0bnM6VHJhbnNm +ZXJSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl +bGVtZW50IG5hbWU9Ikxpc3RPZlRyYW5zZmVyUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mVHJhbnNm +ZXJSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9IlRyYW5zZmVyU3Vic2NyaXB0aW9uc1JlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1 +ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWRzIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZW5k +SW5pdGlhbFZhbHVlcyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRy +YW5zZmVyU3Vic2NyaXB0aW9uc1JlcXVlc3QiIHR5cGU9InRuczpUcmFuc2ZlclN1YnNjcmlwdGlv +bnNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJUcmFuc2ZlclN1YnNjcmlw +dGlvbnNSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5 +cGU9InRuczpMaXN0T2ZUcmFuc2ZlclJlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6 +TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iVHJhbnNmZXJTdWJzY3JpcHRpb25zUmVzcG9uc2UiIHR5cGU9InRuczpUcmFuc2ZlclN1YnNj +cmlwdGlvbnNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlU3Vi +c2NyaXB0aW9uc1JlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0 +aW9uSWRzIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iRGVsZXRlU3Vic2NyaXB0aW9uc1JlcXVlc3QiIHR5cGU9InRuczpEZWxldGVT +dWJzY3JpcHRpb25zUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRl +U3Vic2NyaXB0aW9uc1Jlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVz +dWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0i +dWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg +bmFtZT0iRGVsZXRlU3Vic2NyaXB0aW9uc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6RGVsZXRlU3Vic2Ny +aXB0aW9uc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCdWlsZEluZm8i +Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlByb2R1Y3RVcmki +IHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9Ik1hbnVmYWN0dXJlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBy +b2R1Y3ROYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTb2Z0d2FyZVZlcnNpb24iIHR5cGU9InhzOnN0 +cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkJ1aWxkTnVtYmVyIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCdWlsZERhdGUiIHR5cGU9Inhz +OmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj +b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnVpbGRJbmZvIiB0eXBlPSJ0bnM6QnVp +bGRJbmZvIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJSZWR1bmRhbmN5U3VwcG9ydCI+ +DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVy +YXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ29s +ZF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJXYXJtXzIiIC8+DQogICAgICA8 +eHM6ZW51bWVyYXRpb24gdmFsdWU9IkhvdF8zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh +bHVlPSJUcmFuc3BhcmVudF80IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJIb3RB +bmRNaXJyb3JlZF81IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVkdW5kYW5jeVN1cHBvcnQiIHR5cGU9InRuczpSZWR1 +bmRhbmN5U3VwcG9ydCIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iU2VydmVyU3RhdGUi +Pg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1l +cmF0aW9uIHZhbHVlPSJSdW5uaW5nXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +IkZhaWxlZF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb0NvbmZpZ3VyYXRp +b25fMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU3VzcGVuZGVkXzMiIC8+DQog +ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNodXRkb3duXzQiIC8+DQogICAgICA8eHM6ZW51 +bWVyYXRpb24gdmFsdWU9IlRlc3RfNSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i +Q29tbXVuaWNhdGlvbkZhdWx0XzYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVu +a25vd25fNyIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9IlNlcnZlclN0YXRlIiB0eXBlPSJ0bnM6U2VydmVyU3RhdGUiIC8+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZHVuZGFudFNlcnZlckRhdGFUeXBlIj4NCiAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJJZCIgdHlwZT0i +eHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iU2VydmljZUxldmVsIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vy +cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlclN0YXRlIiB0eXBlPSJ0bnM6 +U2VydmVyU3RhdGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz +OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlw +ZSIgdHlwZT0idG5zOlJlZHVuZGFudFNlcnZlckRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJMaXN0T2ZSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVkdW5kYW50U2VydmVyRGF0YVR5cGUiIHR5 +cGU9InRuczpSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9 +InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUmVkdW5kYW50U2VydmVy +RGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIgbmlsbGFi +bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRW5kcG9p +bnRVcmxMaXN0RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkVuZHBvaW50VXJsTGlzdCIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIiB0eXBl +PSJ0bnM6RW5kcG9pbnRVcmxMaXN0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9Ikxpc3RPZkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVybExpc3REYXRhVHlwZSIgdHlwZT0idG5z +OkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3Vu +ZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbmRwb2ludFVybExpc3REYXRhVHlw +ZSIgdHlwZT0idG5zOkxpc3RPZkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1 +ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJOZXR3b3JrR3JvdXBE +YXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vy +dmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOZXR3b3JrUGF0aHMiIHR5cGU9InRuczpMaXN0T2ZF +bmRwb2ludFVybExpc3REYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJOZXR3b3JrR3JvdXBEYXRhVHlwZSIgdHlwZT0idG5zOk5ldHdvcmtHcm91cERhdGFUeXBl +IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZOZXR3b3JrR3JvdXBEYXRhVHlw +ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmV0d29ya0dy +b3VwRGF0YVR5cGUiIHR5cGU9InRuczpOZXR3b3JrR3JvdXBEYXRhVHlwZSIgbWluT2NjdXJzPSIw +IiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTmV0 +d29ya0dyb3VwRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZOZXR3b3JrR3JvdXBEYXRhVHlwZSIg +bmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i +U2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNhbXBsaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJs +ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRl +bUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iTWF4TW9uaXRvcmVkSXRlbUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZElu +dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzYWJsZWRNb25p +dG9yZWRJdGVtQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTYW1wbGlu +Z0ludGVydmFsRGlhZ25vc3RpY3NEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iTGlzdE9mU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNhbXBsaW5nSW50ZXJ2YWxEaWFnbm9z +dGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5 +cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9Ikxpc3RPZlNhbXBsaW5nSW50ZXJ2YWxEaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0 +bnM6TGlzdE9mU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiIG5pbGxhYmxlPSJ0 +cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlcnZlckRpYWdu +b3N0aWNzU3VtbWFyeURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJTZXJ2ZXJWaWV3Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1 +cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50U2Vzc2lvbkNvdW50IiB0 +eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iQ3VtdWxhdGVkU2Vzc2lvbkNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlSZWplY3RlZFNlc3Np +b25Db3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlJlamVjdGVkU2Vzc2lvbkNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZElu +dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvblRpbWVv +dXRDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlNlc3Npb25BYm9ydENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudFN1YnNjcmlw +dGlvbkNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iQ3VtdWxhdGVkU3Vic2NyaXB0aW9uQ291bnQiIHR5cGU9InhzOnVu +c2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJs +aXNoaW5nSW50ZXJ2YWxDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5UmVqZWN0ZWRSZXF1ZXN0c0NvdW50 +IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUmVqZWN0ZWRSZXF1ZXN0c0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9IlNlcnZlckRpYWdub3N0aWNzU3VtbWFyeURhdGFUeXBlIiB0eXBl +PSJ0bnM6U2VydmVyRGlhZ25vc3RpY3NTdW1tYXJ5RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9IlNlcnZlclN0YXR1c0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFydFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50VGltZSIgdHlwZT0i +eHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0 +YXRlIiB0eXBlPSJ0bnM6U2VydmVyU3RhdGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkJ1aWxkSW5mbyIgdHlwZT0idG5zOkJ1aWxkSW5mbyIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY29uZHNUaWxs +U2h1dGRvd24iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJTaHV0ZG93blJlYXNvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJTdGF0dXNEYXRhVHlw +ZSIgdHlwZT0idG5zOlNlcnZlclN0YXR1c0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJTZXNzaW9uRGlhZ25vc3RpY3NEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbklkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNz +aW9uTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50RGVzY3JpcHRpb24iIHR5cGU9InRuczpB +cHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRw +b2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJp +bmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJBY3R1YWxTZXNzaW9uVGltZW91dCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhSZXNwb25zZU1lc3NhZ2VTaXplIiB0eXBl +PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iQ2xpZW50Q29ubmVjdGlvblRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRMYXN0Q29udGFjdFRpbWUiIHR5cGU9 +InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJD +dXJyZW50U3Vic2NyaXB0aW9uc0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz +PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudE1vbml0b3JlZEl0ZW1zQ291 +bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJDdXJyZW50UHVibGlzaFJlcXVlc3RzSW5RdWV1ZSIgdHlwZT0ieHM6dW5zaWdu +ZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRvdGFsUmVx +dWVzdENvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVuYXV0aG9yaXpl +ZFJlcXVlc3RDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlJlYWRDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVy +RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJIaXN0b3J5UmVhZENvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRh +VHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IldyaXRlQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlz +dG9yeVVwZGF0ZUNvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNhbGxD +b3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVNb25pdG9yZWRJ +dGVtc0NvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmeU1vbml0 +b3JlZEl0ZW1zQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0TW9u +aXRvcmluZ01vZGVDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRU +cmlnZ2VyaW5nQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRl +TW9uaXRvcmVkSXRlbXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJD +cmVhdGVTdWJzY3JpcHRpb25Db3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUi +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJNb2RpZnlTdWJzY3JpcHRpb25Db3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5 +cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJTZXRQdWJsaXNoaW5nTW9kZUNvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRh +VHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlB1Ymxpc2hDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS +ZXB1Ymxpc2hDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2Zl +clN1YnNjcmlwdGlvbnNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJE +ZWxldGVTdWJzY3JpcHRpb25zQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBl +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iQWRkTm9kZXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRS +ZWZlcmVuY2VzQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRl +Tm9kZXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVSZWZl +cmVuY2VzQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlQ291 +bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlTmV4dENvdW50IiB0 +eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9O +b2RlSWRzQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlGaXJz +dENvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5TmV4dENvdW50 +IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyTm9kZXNDb3VudCIg +dHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbnJlZ2lzdGVyTm9kZXNDb3VudCIg +dHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTZXNz +aW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlz +dE9mU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlNlc3Npb25EaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6 +U2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJv +dW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlNlc3Npb25EaWFnbm9zdGljc0Rh +dGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIG5pbGxh +YmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlc3Np +b25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlNlc3Npb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50VXNl +cklkT2ZTZXNzaW9uIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRVc2VySWRIaXN0b3J5IiB0eXBl +PSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJBdXRoZW50aWNhdGlvbk1lY2hhbmlzbSIgdHlwZT0ieHM6c3Ry +aW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iRW5jb2RpbmciIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zcG9ydFByb3RvY29sIiB0eXBl +PSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2Rl +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVBvbGlj +eVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50Q2VydGlmaWNhdGUiIHR5cGU9InhzOmJhc2U2 +NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl +bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uU2Vj +dXJpdHlEaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U2Vzc2lvblNlY3VyaXR5RGlhZ25v +c3RpY3NEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU2Vzc2lv +blNlY3VyaXR5RGlhZ25vc3RpY3NEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvblNlY3VyaXR5RGlhZ25vc3RpY3NEYXRhVHlwZSIgdHlw +ZT0idG5zOlNlc3Npb25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIg +bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlNlc3Np +b25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZTZXNzaW9uU2Vj +dXJpdHlEaWFnbm9zdGljc0RhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXJ2aWNlQ291bnRlckRhdGFUeXBlIj4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUb3RhbENvdW50IiB0eXBlPSJ4 +czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +RXJyb3JDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJT +ZXJ2aWNlQ291bnRlckRhdGFUeXBlIiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU3RhdHVzUmVzdWx0Ij4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0 +dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9z +dGljSW5mbyIgdHlwZT0idWE6RGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iU3RhdHVzUmVzdWx0IiB0eXBlPSJ0bnM6U3RhdHVzUmVzdWx0IiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTdGF0dXNSZXN1bHQiPg0KICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c1Jlc3VsdCIgdHlwZT0idG5z +OlN0YXR1c1Jlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU3RhdHVzUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mU3Rh +dHVzUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJTdWJzY3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uSWQiIHR5cGU9InVhOk5vZGVJ +ZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJpb3JpdHkiIHR5cGU9InhzOnVuc2lnbmVkQnl0 +ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGluZ0lu +dGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9Ik1heEtlZXBBbGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4TGlmZXRpbWVDb3VudCIgdHlw +ZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9Ik1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGluZ0VuYWJsZWQi +IHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9Ik1vZGlmeUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5hYmxlQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNhYmxlQ291bnQi +IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJSZXB1Ymxpc2hSZXF1ZXN0Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXB1Ymxpc2hNZXNzYWdlUmVx +dWVzdENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iUmVwdWJsaXNoTWVzc2FnZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25l +ZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNmZXJS +ZXF1ZXN0Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2ZlcnJlZFRvQWx0Q2xpZW50Q291bnQiIHR5cGU9Inhz +OnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJU +cmFuc2ZlcnJlZFRvU2FtZUNsaWVudENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaFJlcXVlc3RDb3VudCIg +dHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkRhdGFDaGFuZ2VOb3RpZmljYXRpb25zQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudE5vdGlmaWNh +dGlvbnNDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9Ik5vdGlmaWNhdGlvbnNDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJ +bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkxhdGVQdWJsaXNo +UmVxdWVzdENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudEtlZXBBbGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNp +Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVu +dExpZmV0aW1lQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbmFja25vd2xlZGdlZE1lc3NhZ2VDb3VudCIgdHlwZT0i +eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkRpc2NhcmRlZE1lc3NhZ2VDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i +MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1Db3VudCIgdHlwZT0i +eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkRpc2FibGVkTW9uaXRvcmVkSXRlbUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ1F1ZXVlT3ZlcmZs +b3dDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9Ik5leHRTZXF1ZW5jZU51bWJlciIgdHlwZT0ieHM6dW5zaWduZWRJbnQi +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50UXVldWVPdmVy +Rmxvd0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlN1 +YnNjcmlwdGlvbkRpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTdWJzY3JpcHRpb25EaWFn +bm9zdGljc0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTdWJz +Y3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0 +bnM6U3Vic2NyaXB0aW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1 +cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU3Vic2NyaXB0aW9u +RGlhZ25vc3RpY3NEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlN1YnNjcmlwdGlvbkRpYWdub3N0 +aWNzRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBs +ZVR5cGUgIG5hbWU9Ik1vZGVsQ2hhbmdlU3RydWN0dXJlVmVyYk1hc2siPg0KICAgIDx4czpyZXN0 +cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJO +b2RlQWRkZWRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9kZURlbGV0ZWRf +MiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVmZXJlbmNlQWRkZWRfNCIgLz4N +CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVmZXJlbmNlRGVsZXRlZF84IiAvPg0KICAg +ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEYXRhVHlwZUNoYW5nZWRfMTYiIC8+DQogICAgPC94 +czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJN +b2RlbENoYW5nZVN0cnVjdHVyZVZlcmJNYXNrIiB0eXBlPSJ0bnM6TW9kZWxDaGFuZ2VTdHJ1Y3R1 +cmVWZXJiTWFzayIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9kZWxDaGFuZ2VTdHJ1 +Y3R1cmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iQWZmZWN0ZWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFmZmVjdGVkVHlwZSIgdHlwZT0idWE6Tm9k +ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iVmVyYiIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +TW9kZWxDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgdHlwZT0idG5zOk1vZGVsQ2hhbmdlU3RydWN0 +dXJlRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk1vZGVsQ2hh +bmdlU3RydWN0dXJlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9Ik1vZGVsQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIHR5cGU9InRuczpNb2RlbENo +YW5nZVN0cnVjdHVyZURhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVk +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZNb2RlbENoYW5nZVN0cnVjdHVyZURhdGFU +eXBlIiB0eXBlPSJ0bnM6TGlzdE9mTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgbmlsbGFi +bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2VtYW50 +aWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iQWZmZWN0ZWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFmZmVjdGVkVHlwZSIg +dHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNl +bWFudGljQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIHR5cGU9InRuczpTZW1hbnRpY0NoYW5nZVN0 +cnVjdHVyZURhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTZW1h +bnRpY0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJTZW1hbnRpY0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiB0eXBlPSJ0 +bnM6U2VtYW50aWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1 +cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU2VtYW50aWNDaGFu +Z2VTdHJ1Y3R1cmVEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlNlbWFudGljQ2hhbmdlU3RydWN0 +dXJlRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9IlJhbmdlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJMb3ciIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iSGlnaCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iUmFuZ2UiIHR5cGU9InRuczpSYW5nZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i +RVVJbmZvcm1hdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iTmFtZXNwYWNlVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbml0SWQiIHR5cGU9InhzOmludCIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzcGxheU5hbWUiIHR5 +cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4 +dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFVUluZm9ybWF0aW9uIiB0 +eXBlPSJ0bnM6RVVJbmZvcm1hdGlvbiIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iQXhp +c1NjYWxlRW51bWVyYXRpb24iPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmci +Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJMaW5lYXJfMCIgLz4NCiAgICAgIDx4czpl +bnVtZXJhdGlvbiB2YWx1ZT0iTG9nXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +IkxuXzIiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJBeGlzU2NhbGVFbnVtZXJhdGlvbiIgdHlwZT0idG5zOkF4aXNTY2Fs +ZUVudW1lcmF0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDb21wbGV4TnVtYmVy +VHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhbCIg +dHlwZT0ieHM6ZmxvYXQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkltYWdpbmFyeSIgdHlwZT0ieHM6ZmxvYXQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNl +cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb21wbGV4 +TnVtYmVyVHlwZSIgdHlwZT0idG5zOkNvbXBsZXhOdW1iZXJUeXBlIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJEb3VibGVDb21wbGV4TnVtYmVyVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1 +cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbWFnaW5hcnkiIHR5cGU9InhzOmRv +dWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRvdWJsZUNvbXBsZXhOdW1iZXJUeXBlIiB0eXBl +PSJ0bnM6RG91YmxlQ29tcGxleE51bWJlclR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9IkF4aXNJbmZvcm1hdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iRW5naW5lZXJpbmdVbml0cyIgdHlwZT0idG5zOkVVSW5mb3JtYXRpb24iIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFVVJh +bmdlIiB0eXBlPSJ0bnM6UmFuZ2UiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaXRsZSIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkF4 +aXNTY2FsZVR5cGUiIHR5cGU9InRuczpBeGlzU2NhbGVFbnVtZXJhdGlvbiIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXhpc1N0ZXBzIiB0eXBlPSJ1YTpMaXN0T2ZE +b3VibGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j +ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXhpc0luZm9ybWF0 +aW9uIiB0eXBlPSJ0bnM6QXhpc0luZm9ybWF0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu +YW1lPSJYVlR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlgiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iVmFsdWUiIHR5cGU9InhzOmZsb2F0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpz +ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iWFZUeXBl +IiB0eXBlPSJ0bnM6WFZUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJQcm9ncmFt +RGlhZ25vc3RpY0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJDcmVhdGVTZXNzaW9uSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZUNsaWVudE5h +bWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9Ikludm9jYXRpb25DcmVhdGlvblRpbWUiIHR5cGU9InhzOmRh +dGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0VHJh +bnNpdGlvblRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kQ2FsbCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1l +dGhvZFNlc3Npb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1ldGhvZElucHV0QXJndW1lbnRz +IiB0eXBlPSJ0bnM6TGlzdE9mQXJndW1lbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kT3V0cHV0QXJndW1lbnRzIiB0 +eXBlPSJ0bnM6TGlzdE9mQXJndW1lbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kQ2FsbFRpbWUiIHR5cGU9InhzOmRh +dGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0 +aG9kUmV0dXJuU3RhdHVzIiB0eXBlPSJ0bnM6U3RhdHVzUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9IlByb2dyYW1EaWFnbm9zdGljRGF0YVR5cGUiIHR5cGU9InRu +czpQcm9ncmFtRGlhZ25vc3RpY0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJBbm5vdGF0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJNZXNzYWdlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +QW5ub3RhdGlvblRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +QW5ub3RhdGlvbiIgdHlwZT0idG5zOkFubm90YXRpb24iIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUg +IG5hbWU9IkV4Y2VwdGlvbkRldmlhdGlvbkZvcm1hdCI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJh +c2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFic29sdXRlVmFs +dWVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mVmFsdWVfMSIg +Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mUmFuZ2VfMiIgLz4NCiAg +ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mRVVSYW5nZV8zIiAvPg0KICAgICAg +PHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVbmtub3duXzQiIC8+DQogICAgPC94czpyZXN0cmljdGlv +bj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFeGNlcHRpb25EZXZp +YXRpb25Gb3JtYXQiIHR5cGU9InRuczpFeGNlcHRpb25EZXZpYXRpb25Gb3JtYXQiIC8+DQoNCjwv +eHM6c2NoZW1hPg== + + + + NamespaceUri + A URI that uniquely identifies the dictionary. + + i=68 + i=8252 + + + http://opcfoundation.org/UA/2008/02/Types.xsd + + + + TrustListDataType + + i=69 + i=8252 + + + //xs:element[@name='TrustListDataType'] + + + + Argument + + i=69 + i=8252 + + + //xs:element[@name='Argument'] + + + + EnumValueType + + i=69 + i=8252 + + + //xs:element[@name='EnumValueType'] + + + + OptionSet + + i=69 + i=8252 + + + //xs:element[@name='OptionSet'] + + + + Union + + i=69 + i=8252 + + + //xs:element[@name='Union'] + + + + 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'] + + + + Annotation + + i=69 + i=8252 + + + //xs:element[@name='Annotation'] + + + + Default Binary + + i=12554 + i=12681 + i=76 + + + + Default Binary + + i=296 + i=7650 + i=76 + + + + Default Binary + + i=7594 + i=7656 + i=76 + + + + Default Binary + + i=12755 + i=12767 + i=76 + + + + Default Binary + + i=12756 + i=12770 + i=76 + + + + Default Binary + + i=8912 + i=8914 + i=76 + + + + Default Binary + + i=308 + i=7665 + i=76 + + + + Default Binary + + i=12189 + i=12213 + i=76 + + + + Default Binary + + i=304 + i=7662 + i=76 + + + + Default Binary + + i=312 + i=7668 + i=76 + + + + Default Binary + + i=432 + i=7782 + i=76 + + + + Default Binary + + i=12890 + i=12902 + i=76 + + + + Default Binary + + i=12891 + i=12905 + i=76 + + + + Default Binary + + i=344 + i=7698 + 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=376 + i=7728 + i=76 + + + + Default Binary + + i=379 + i=7731 + i=76 + + + + Default Binary + + i=382 + i=7734 + i=76 + + + + Default Binary + + i=385 + i=7737 + i=76 + + + + Default Binary + + i=537 + i=12718 + i=76 + + + + Default Binary + + i=540 + i=12721 + i=76 + + + + Default Binary + + i=331 + i=7686 + 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=659 + i=8004 + i=76 + + + + Default Binary + + i=719 + i=8067 + i=76 + + + + Default Binary + + i=725 + i=8073 + i=76 + + + + Default Binary + + i=948 + i=8076 + i=76 + + + + Default Binary + + i=920 + i=8172 + 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=891 + i=8244 + i=76 + + + + Opc.Ua + + i=7619 + i=12681 + i=7650 + i=7656 + i=12767 + i=12770 + 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=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 +b2NhbGVTcGVjaWZpZWQiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTG9jYWxpemVkVGV4dFNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJBZGRpdGlvbmFsSW5mb1NwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbm5lclN0YXR1c0NvZGVTcGVjaWZpZWQiIFR5cGVO +YW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5uZXJEaWFnbm9zdGljSW5m +b1NwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS +ZXNlcnZlZDEiIFR5cGVOYW1lPSJvcGM6Qml0IiBMZW5ndGg9IjIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJTeW1ib2xpY0lkIiBUeXBlTmFtZT0ib3BjOkludDMyIiBTd2l0Y2hGaWVsZD0iU3lt +Ym9saWNJZFNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWVzcGFjZVVSSSIg +VHlwZU5hbWU9Im9wYzpJbnQzMiIgU3dpdGNoRmllbGQ9Ik5hbWVzcGFjZVVSSVNwZWNpZmllZCIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgU3dp +dGNoRmllbGQ9IkxvY2FsZVNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2Fs +aXplZFRleHQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIFN3aXRjaEZpZWxkPSJMb2NhbGl6ZWRUZXh0 +U3BlY2lmaWVkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWRkaXRpb25hbEluZm8iIFR5cGVO +YW1lPSJvcGM6Q2hhckFycmF5IiBTd2l0Y2hGaWVsZD0iQWRkaXRpb25hbEluZm9TcGVjaWZpZWQi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbm5lclN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpT +dGF0dXNDb2RlIiBTd2l0Y2hGaWVsZD0iSW5uZXJTdGF0dXNDb2RlU3BlY2lmaWVkIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iSW5uZXJEaWFnbm9zdGljSW5mbyIgVHlwZU5hbWU9InVhOkRpYWdu +b3N0aWNJbmZvIiBTd2l0Y2hGaWVsZD0iSW5uZXJEaWFnbm9zdGljSW5mb1NwZWNpZmllZCIgLz4N +CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJR +dWFsaWZpZWROYW1lIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBzdHJpbmcgcXVhbGlmaWVk +IHdpdGggYSBuYW1lc3BhY2UgaW5kZXguPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5hbWVzcGFjZUluZGV4IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTmFtZSIgVHlwZU5hbWU9Im9wYzpDaGFyQXJyYXkiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTG9jYWxpemVk +VGV4dCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgc3RyaW5nIHF1YWxpZmllZCB3aXRoIGEg +bmFtZXNwYWNlIGluZGV4Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJMb2NhbGVTcGVjaWZpZWQiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iVGV4dFNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZXNlcnZlZDEiIFR5cGVOYW1lPSJvcGM6Qml0IiBMZW5ndGg9IjYiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJMb2NhbGUiIFR5cGVOYW1lPSJvcGM6Q2hhckFycmF5IiBTd2l0Y2hG +aWVsZD0iTG9jYWxlU3BlY2lmaWVkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGV4dCIgVHlw +ZU5hbWU9Im9wYzpDaGFyQXJyYXkiIFN3aXRjaEZpZWxkPSJUZXh0U3BlY2lmaWVkIiAvPg0KICA8 +L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFW +YWx1ZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgdmFsdWUgd2l0aCBhbiBhc3NvY2lhdGVk +IHRpbWVzdGFtcCwgYW5kIHF1YWxpdHkuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlZhbHVlU3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlN0YXR1c0NvZGVTcGVjaWZpZWQiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iU291cmNlVGltZXN0YW1wU3BlY2lmaWVkIiBUeXBlTmFtZT0i +b3BjOkJpdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvdXJjZVBpY29zZWNvbmRzU3BlY2lm +aWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclRp +bWVzdGFtcFNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJTZXJ2ZXJQaWNvc2Vjb25kc1NwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNlcnZlZDEiIFR5cGVOYW1lPSJvcGM6Qml0IiBMZW5ndGg9 +IjIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQi +IFN3aXRjaEZpZWxkPSJWYWx1ZVNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0 +YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBTd2l0Y2hGaWVsZD0iU3RhdHVzQ29k +ZVNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvdXJjZVRpbWVzdGFtcCIgVHlw +ZU5hbWU9Im9wYzpEYXRlVGltZSIgU3dpdGNoRmllbGQ9IlNvdXJjZVRpbWVzdGFtcFNwZWNpZmll +ZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvdXJjZVBpY29zZWNvbmRzIiBUeXBlTmFtZT0i +b3BjOlVJbnQxNiIgU3dpdGNoRmllbGQ9IlNvdXJjZVBpY29zZWNvbmRzU3BlY2lmaWVkIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyVGltZXN0YW1wIiBUeXBlTmFtZT0ib3BjOkRhdGVU +aW1lIiBTd2l0Y2hGaWVsZD0iU2VydmVyVGltZXN0YW1wU3BlY2lmaWVkIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iU2VydmVyUGljb3NlY29uZHMiIFR5cGVOYW1lPSJvcGM6VUludDE2IiBTd2l0 +Y2hGaWVsZD0iU2VydmVyUGljb3NlY29uZHNTcGVjaWZpZWQiIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRXh0ZW5zaW9uT2JqZWN0Ij4N +CiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBzZXJpYWxpemVkIG9iamVjdCBwcmVmaXhlZCB3aXRo +IGl0cyBkYXRhIHR5cGUgaWRlbnRpZmllci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iVHlwZUlkU3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkJpbmFyeUJvZHkiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iWG1sQm9keSIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJSZXNlcnZlZDEiIFR5cGVOYW1lPSJvcGM6Qml0IiBMZW5ndGg9IjUiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJUeXBlSWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIg +U3dpdGNoRmllbGQ9IlR5cGVJZFNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJv +ZHlMZW5ndGgiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJC +b2R5IiBUeXBlTmFtZT0ib3BjOkJ5dGUiIExlbmd0aEZpZWxkPSJCb2R5TGVuZ3RoIiAvPg0KICA8 +L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlZhcmlh +bnQiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHVuaW9uIG9mIHNldmVyYWwgdHlwZXMuPC9v +cGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhcmlhbnRUeXBlIiBUeXBl +TmFtZT0ib3BjOkJpdCIgTGVuZ3RoPSI2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXJyYXlE +aW1lbnNpb25zU3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgTGVuZ3RoPSIxIi8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJBcnJheUxlbmd0aFNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQi +IExlbmd0aD0iMSIvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXJyYXlMZW5ndGgiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIFN3aXRjaEZpZWxkPSJBcnJheUxlbmd0aFNwZWNpZmllZCIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkJvb2xlYW4iIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgTGVuZ3RoRmll +bGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSIx +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU0J5dGUiIFR5cGVOYW1lPSJvcGM6U0J5dGUiIExl +bmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hW +YWx1ZT0iMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJ5dGUiIFR5cGVOYW1lPSJvcGM6Qnl0 +ZSIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3 +aXRjaFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW50MTYiIFR5cGVOYW1lPSJv +cGM6SW50MTYiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRU +eXBlIiBTd2l0Y2hWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVJbnQxNiIgVHlw +ZU5hbWU9Im9wYzpVSW50MTYiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9 +IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iNSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Iklu +dDMyIiBUeXBlTmFtZT0ib3BjOkludDMyIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRj +aEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjYiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJVSW50MzIiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5n +dGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjciIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJJbnQ2NCIgVHlwZU5hbWU9Im9wYzpJbnQ2NCIgTGVuZ3RoRmllbGQ9IkFy +cmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSI4IiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iVUludDY0IiBUeXBlTmFtZT0ib3BjOlVJbnQ2NCIgTGVuZ3Ro +RmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVl +PSI5IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmxvYXQiIFR5cGVOYW1lPSJvcGM6RmxvYXQi +IExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0 +Y2hWYWx1ZT0iMTAiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEb3VibGUiIFR5cGVOYW1lPSJv +cGM6RG91YmxlIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50 +VHlwZSIgU3dpdGNoVmFsdWU9IjExIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RyaW5nIiBU +eXBlTmFtZT0ib3BjOkNoYXJBcnJheSIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hG +aWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSIxMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkRhdGVUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiBMZW5ndGhGaWVsZD0iQXJyYXlM +ZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjEzIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iR3VpZCIgVHlwZU5hbWU9Im9wYzpHdWlkIiBMZW5ndGhGaWVsZD0i +QXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjE0IiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnl0ZVN0cmluZyIgVHlwZU5hbWU9Im9wYzpCeXRlU3Ry +aW5nIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIg +U3dpdGNoVmFsdWU9IjE1IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iWG1sRWxlbWVudCIgVHlw +ZU5hbWU9InVhOlhtbEVsZW1lbnQiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmll +bGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIg +U3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMTciIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJFeHBhbmRlZE5vZGVJZCIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiBM +ZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNo +VmFsdWU9IjE4IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9 +InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZh +cmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMTkiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJRdWFs +aWZpZWROYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgTGVuZ3RoRmllbGQ9IkFycmF5 +TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSIyMCIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsaXplZFRleHQiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRU +ZXh0IiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIg +U3dpdGNoVmFsdWU9IjIxIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXh0ZW5zaW9uT2JqZWN0 +IiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgi +IFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjIyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iRGF0YVZhbHVlIiBUeXBlTmFtZT0idWE6RGF0YVZhbHVlIiBMZW5ndGhGaWVs +ZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjIz +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFyaWFudCIgVHlwZU5hbWU9InVhOlZhcmlhbnQi +IExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0 +Y2hWYWx1ZT0iMjQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mbyIgVHlw +ZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRj +aEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjI1IiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTm9PZkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgU3dpdGNoRmll +bGQ9IkFycmF5RGltZW5zaW9uc1NwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFy +cmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBcnJh +eURpbWVuc2lvbnMiIFN3aXRjaEZpZWxkPSJBcnJheURpbWVuc2lvbnNTcGVjaWZpZWQiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iTmFt +aW5nUnVsZVR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9Ik1hbmRhdG9yeSIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg +TmFtZT0iT3B0aW9uYWwiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h +bWU9IkNvbnN0cmFpbnQiIFZhbHVlPSIzIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCiAg +ICANCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iSW1hZ2VCTVAiPg0KICAgIDxvcGM6RG9jdW1l +bnRhdGlvbj5BbiBpbWFnZSBlbmNvZGVkIGluIEJNUCBmb3JtYXQuPC9vcGM6RG9jdW1lbnRhdGlv +bj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iSW1hZ2VH +SUYiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBpbWFnZSBlbmNvZGVkIGluIEdJRiBmb3Jt +YXQuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9w +YXF1ZVR5cGUgTmFtZT0iSW1hZ2VKUEciPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBpbWFn +ZSBlbmNvZGVkIGluIEpQRUcgZm9ybWF0Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9w +YXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkltYWdlUE5HIj4NCiAgICA8b3Bj +OkRvY3VtZW50YXRpb24+QW4gaW1hZ2UgZW5jb2RlZCBpbiBQTkcgZm9ybWF0Ljwvb3BjOkRvY3Vt +ZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9 +IkJpdEZpZWxkTWFza0RhdGFUeXBlIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBtYXNrIG9m +IDMyIGJpdHMgdGhhdCBjYW4gYmUgdXBkYXRlZCBpbmRpdmlkdWFsbHkgYnkgdXNpbmcgdGhlIHRv +cCAzMiBiaXRzIGFzIGEgbWFzay48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVU +eXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iT3BlbkZpbGVNb2RlIiBMZW5ndGhJ +bkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWFkIiBWYWx1ZT0i +MSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJXcml0ZSIgVmFsdWU9IjIiIC8+ +DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRXJhc2VFeGlzdGluZyIgVmFsdWU9IjQi +IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQXBwZW5kIiBWYWx1ZT0iOCIgLz4N +CiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJU +cnVzdExpc3RNYXNrcyIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs +dWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt +ZT0iVHJ1c3RlZENlcnRpZmljYXRlcyIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk +VmFsdWUgTmFtZT0iVHJ1c3RlZENybHMiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRl +ZFZhbHVlIE5hbWU9Iklzc3VlckNlcnRpZmljYXRlcyIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNzdWVyQ3JscyIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iQWxsIiBWYWx1ZT0iMTUiIC8+DQogIDwvb3BjOkVudW1lcmF0 +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVHJ1c3RMaXN0RGF0YVR5cGUi +IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Bl +Y2lmaWVkTGlzdHMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTm9PZlRydXN0ZWRDZXJ0aWZpY2F0ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJUcnVzdGVkQ2VydGlmaWNhdGVzIiBUeXBlTmFtZT0ib3BjOkJ5dGVT +dHJpbmciIExlbmd0aEZpZWxkPSJOb09mVHJ1c3RlZENlcnRpZmljYXRlcyIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vT2ZUcnVzdGVkQ3JscyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlRydXN0ZWRDcmxzIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmci +IExlbmd0aEZpZWxkPSJOb09mVHJ1c3RlZENybHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO +b09mSXNzdWVyQ2VydGlmaWNhdGVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iSXNzdWVyQ2VydGlmaWNhdGVzIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmci +IExlbmd0aEZpZWxkPSJOb09mSXNzdWVyQ2VydGlmaWNhdGVzIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTm9PZklzc3VlckNybHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJJc3N1ZXJDcmxzIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIExlbmd0aEZp +ZWxkPSJOb09mSXNzdWVyQ3JscyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w +YzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJJZFR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxv +cGM6RG9jdW1lbnRhdGlvbj5UaGUgdHlwZSBvZiBpZGVudGlmaWVyIHVzZWQgaW4gYSBub2RlIGlk +Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTnVt +ZXJpYyIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3RyaW5n +IiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJHdWlkIiBWYWx1 +ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJPcGFxdWUiIFZhbHVlPSIz +IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5h +bWU9Ik5vZGVDbGFzcyIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u +PkEgbWFzayBzcGVjaWZ5aW5nIHRoZSBjbGFzcyBvZiB0aGUgbm9kZS48L29wYzpEb2N1bWVudGF0 +aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVuc3BlY2lmaWVkIiBWYWx1ZT0i +MCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJPYmplY3QiIFZhbHVlPSIxIiAv +Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZhcmlhYmxlIiBWYWx1ZT0iMiIgLz4N +CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJNZXRob2QiIFZhbHVlPSI0IiAvPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik9iamVjdFR5cGUiIFZhbHVlPSI4IiAvPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZhcmlhYmxlVHlwZSIgVmFsdWU9IjE2IiAvPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlZmVyZW5jZVR5cGUiIFZhbHVlPSIzMiIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEYXRhVHlwZSIgVmFsdWU9IjY0IiAv +Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZpZXciIFZhbHVlPSIxMjgiIC8+DQog +IDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm9k +ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u +PlNwZWNpZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gYWxsIG5vZGVzLjwvb3Bj +OkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1 +YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0 +bnM6Tm9kZUNsYXNzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5h +bWU9InVhOlF1YWxpZmllZE5hbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFt +ZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE +ZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlTm9k +ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2VzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikluc3RhbmNlTm9kZSIgQmFzZVR5cGU9 +InRuczpOb2RlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5v +ZGVJZCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rl +Q2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNzIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWRO +YW1lIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3Bs +YXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2Fs +aXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +V3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQz +MiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVm +ZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl +ZmVyZW5jZXMiIFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlTm9kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZS +ZWZlcmVuY2VzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy +ZWRUeXBlIE5hbWU9IlR5cGVOb2RlIiBCYXNlVHlwZT0idG5zOk5vZGUiPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9k +ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2Rl +Q2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJv +d3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2Rl +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2Nh +bGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5z +Ok5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6 +VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVz +ZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpS +ZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogIDwvb3BjOlN0 +cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iT2JqZWN0Tm9kZSIg +QmFzZVR5cGU9InRuczpJbnN0YW5jZU5vZGUiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5TcGVj +aWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIG9iamVjdCBub2Rlcy48L29wYzpE +b2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6 +Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v +ZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmll +ZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlz +cGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9k +ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9j +YWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUlu +dDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZS +ZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +UmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9P +ZlJlZmVyZW5jZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVudE5vdGlmaWVyIiBUeXBl +TmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry +dWN0dXJlZFR5cGUgTmFtZT0iT2JqZWN0VHlwZU5vZGUiIEJhc2VUeXBlPSJ0bnM6VHlwZU5vZGUi +Pg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2gg +YmVsb25nIHRvIG9iamVjdCB0eXBlIG5vZGVzLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRu +czpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5z +Ok5vZGVDbGFzcyIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgU291cmNlVHlwZT0idG5z +Ok5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVh +OkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBl +PSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9 +Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpO +b2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJv +cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBlTmFtZT0i +dG5zOlJlZmVyZW5jZU5vZGUiIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlcyIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAg +PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJWYXJp +YWJsZU5vZGUiIEJhc2VUeXBlPSJ0bnM6SW5zdGFuY2VOb2RlIj4NCiAgICA8b3BjOkRvY3VtZW50 +YXRpb24+U3BlY2lmaWVzIHRoZSBhdHRyaWJ1dGVzIHdoaWNoIGJlbG9uZyB0byB2YXJpYWJsZSBu +b2Rlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBU +eXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9 +InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9 +InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VU +eXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBl +TmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBl +PSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVO +YW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5n +dGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIg +VHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZSIg +VHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlUmFuayIg +VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBcnJheURp +bWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJB +cnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkFy +cmF5RGltZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFjY2Vzc0xldmVsIiBUeXBl +TmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyQWNjZXNzTGV2ZWwi +IFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1pbmltdW1TYW1w +bGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ikhpc3Rvcml6aW5nIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVj +dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVmFyaWFibGVUeXBlTm9k +ZSIgQmFzZVR5cGU9InRuczpUeXBlTm9kZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlNwZWNp +ZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gdmFyaWFibGUgdHlwZSBub2Rlcy48 +L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFt +ZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpO +b2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1 +YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0 +bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0i +dWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6 +Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJv +cGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVs +ZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5h +bWU9InVhOlZhcmlhbnQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZSIgVHlwZU5h +bWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlUmFuayIgVHlwZU5h +bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBcnJheURpbWVuc2lv +bnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBcnJheURp +bWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkFycmF5RGlt +ZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5cGVOYW1lPSJv +cGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 +cmVkVHlwZSBOYW1lPSJSZWZlcmVuY2VUeXBlTm9kZSIgQmFzZVR5cGU9InRuczpUeXBlTm9kZSI+ +DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBi +ZWxvbmcgdG8gcmVmZXJlbmNlIHR5cGUgbm9kZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0i +dG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0 +bnM6Tm9kZUNsYXNzIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBTb3VyY2VUeXBlPSJ0 +bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0i +dWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5 +cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFt +ZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5z +Ok5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlcyIgVHlwZU5hbWU9 +Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXMiIFR5cGVOYW1l +PSJ0bnM6UmVmZXJlbmNlTm9kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2VzIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iSXNBYnN0cmFjdCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iU3ltbWV0cmljIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbnZlcnNlTmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXpl +ZFRleHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iTWV0aG9kTm9kZSIgQmFzZVR5cGU9InRuczpJbnN0YW5jZU5vZGUiPg0KICAgIDxv +cGM6RG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRv +IG1ldGhvZCBub2Rlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +Tm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNv +dXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIg +VHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0 +IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0 +aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBT +b3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1h +c2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VO +b2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJFeGVjdXRhYmxlIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJVc2VyRXhlY3V0YWJsZSIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlZpZXdOb2RlIiBC +YXNlVHlwZT0idG5zOkluc3RhbmNlTm9kZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQi +IFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgU291cmNlVHlw +ZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFt +ZT0idWE6UXVhbGlmaWVkTmFtZSIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJj +ZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5 +cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5 +cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlw +ZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBlTmFtZT0idG5zOlJlZmVyZW5jZU5vZGUiIExl +bmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbnRh +aW5zTm9Mb29wcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iRXZlbnROb3RpZmllciIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFUeXBlTm9kZSIgQmFz +ZVR5cGU9InRuczpUeXBlTm9kZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVO +YW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgU291cmNlVHlwZT0idG5z +Ok5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6 +UXVhbGlmaWVkTmFtZSIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9 +InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1l +PSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRu +czpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9 +Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBlTmFtZT0idG5zOlJlZmVyZW5jZU5vZGUiIExlbmd0aEZp +ZWxkPSJOb09mUmVmZXJlbmNlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3Qi +IFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg +PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWZlcmVuY2VOb2RlIiBCYXNlVHlwZT0idWE6RXh0 +ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+U3BlY2lmaWVzIGEgcmVmZXJl +bmNlIHdoaWNoIGJlbG9uZ3MgdG8gYSBub2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJJc0ludmVyc2UiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldElkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2Rl +SWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iQXJndW1lbnQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 +RG9jdW1lbnRhdGlvbj5BbiBhcmd1bWVudCBmb3IgYSBtZXRob2QuPC9vcGM6RG9jdW1lbnRhdGlv +bj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZVJhbmsiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0i +b3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+ +DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i +RW51bVZhbHVlVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpE +b2N1bWVudGF0aW9uPkEgbWFwcGluZyBiZXR3ZWVuIGEgdmFsdWUgb2YgYW4gZW51bWVyYXRlZCB0 +eXBlIGFuZCBhIG5hbWUgYW5kIGRlc2NyaXB0aW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9Im9wYzpJbnQ2NCIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVk +VGV4dCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw +ZSBOYW1lPSJPcHRpb25TZXQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv +cGM6RG9jdW1lbnRhdGlvbj5UaGlzIGFic3RyYWN0IFN0cnVjdHVyZWQgRGF0YVR5cGUgaXMgdGhl +IGJhc2UgRGF0YVR5cGUgZm9yIGFsbCBEYXRhVHlwZXMgcmVwcmVzZW50aW5nIGEgYml0IG1hc2su +PC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFt +ZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWxpZEJpdHMiIFR5 +cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg +PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVbmlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoaXMgYWJzdHJhY3QgRGF0YVR5cGUgaXMg +dGhlIGJhc2UgRGF0YVR5cGUgZm9yIGFsbCB1bmlvbiBEYXRhVHlwZXMuPC9vcGM6RG9jdW1lbnRh +dGlvbj4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9 +Ik5vcm1hbGl6ZWRTdHJpbmciPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHN0cmluZyBub3Jt +YWxpemVkIGJhc2VkIG9uIHRoZSBydWxlcyBpbiB0aGUgdW5pY29kZSBzcGVjaWZpY2F0aW9uLjwv +b3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVU +eXBlIE5hbWU9IkRlY2ltYWxTdHJpbmciPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBhcmJp +dHJhdHkgbnVtZXJpYyB2YWx1ZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVU +eXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJEdXJhdGlvblN0cmluZyI+DQogICAgPG9w +YzpEb2N1bWVudGF0aW9uPkEgcGVyaW9kIG9mIHRpbWUgZm9ybWF0dGVkIGFzIGRlZmluZWQgaW4g +SVNPIDg2MDEtMjAwMC48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0K +DQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJUaW1lU3RyaW5nIj4NCiAgICA8b3BjOkRvY3VtZW50 +YXRpb24+QSB0aW1lIGZvcm1hdHRlZCBhcyBkZWZpbmVkIGluIElTTyA4NjAxLTIwMDAuPC9vcGM6 +RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUg +TmFtZT0iRGF0ZVN0cmluZyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgZGF0ZSBmb3JtYXR0 +ZWQgYXMgZGVmaW5lZCBpbiBJU08gODYwMS0yMDAwLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwv +b3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkR1cmF0aW9uIj4NCiAg +ICA8b3BjOkRvY3VtZW50YXRpb24+QSBwZXJpb2Qgb2YgdGltZSBtZWFzdXJlZCBpbiBtaWxsaXNl +Y29uZHMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3Bj +Ok9wYXF1ZVR5cGUgTmFtZT0iVXRjVGltZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgZGF0 +ZS90aW1lIHZhbHVlIHNwZWNpZmllZCBpbiBVbml2ZXJzYWwgQ29vcmRpbmF0ZWQgVGltZSAoVVRD +KS48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3Bh +cXVlVHlwZSBOYW1lPSJMb2NhbGVJZCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkFuIGlkZW50 +aWZpZXIgZm9yIGEgdXNlciBsb2NhbGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3Bh +cXVlVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRpbWVab25lRGF0YVR5cGUi +IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iT2Zm +c2V0IiBUeXBlTmFtZT0ib3BjOkludDE2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF5bGln +aHRTYXZpbmdJbk9mZnNldCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iSW50ZWdlcklkIj4NCiAgICA8 +b3BjOkRvY3VtZW50YXRpb24+QSBudW1lcmljIGlkZW50aWZpZXIgZm9yIGFuIG9iamVjdC48L29w +YzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRl +ZFR5cGUgTmFtZT0iQXBwbGljYXRpb25UeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3Bj +OkRvY3VtZW50YXRpb24+VGhlIHR5cGVzIG9mIGFwcGxpY2F0aW9ucy48L29wYzpEb2N1bWVudGF0 +aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNlcnZlciIgVmFsdWU9IjAiIC8+ +DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ2xpZW50IiBWYWx1ZT0iMSIgLz4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDbGllbnRBbmRTZXJ2ZXIiIFZhbHVlPSIyIiAv +Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRpc2NvdmVyeVNlcnZlciIgVmFsdWU9 +IjMiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iQXBwbGljYXRpb25EZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj +dCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkRlc2NyaWJlcyBhbiBhcHBsaWNhdGlvbiBhbmQg +aG93IHRvIGZpbmQgaXQuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkFwcGxpY2F0aW9uVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlByb2R1Y3RVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iQXBwbGljYXRpb25OYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkFwcGxpY2F0aW9uVHlwZSIgVHlwZU5hbWU9InRuczpBcHBs +aWNhdGlvblR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJHYXRld2F5U2VydmVyVXJpIiBU +eXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2NvdmVyeVBy +b2ZpbGVVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +Tm9PZkRpc2NvdmVyeVVybHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJEaXNjb3ZlcnlVcmxzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9 +Ik5vT2ZEaXNjb3ZlcnlVcmxzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj +OlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlcXVlc3RIZWFkZXIiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp +b25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgaGVhZGVyIHBhc3NlZCB3aXRo +IGV2ZXJ5IHNlcnZlciByZXF1ZXN0Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJBdXRoZW50aWNhdGlvblRva2VuIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iVGltZXN0YW1wIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhhbmRsZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXR1cm5EaWFnbm9zdGljcyIgVHlwZU5hbWU9Im9w +YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdWRpdEVudHJ5SWQiIFR5cGVOYW1l +PSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGltZW91dEhpbnQiIFR5cGVO +YW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWRkaXRpb25hbEhlYWRl +ciIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 +cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZXNwb25zZUhlYWRlciIgQmFzZVR5 +cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSBoZWFk +ZXIgcGFzc2VkIHdpdGggZXZlcnkgc2VydmVyIHJlc3BvbnNlLjwvb3BjOkRvY3VtZW50YXRpb24+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lc3RhbXAiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGFuZGxlIiBUeXBlTmFtZT0ib3BjOlVJ +bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZpY2VSZXN1bHQiIFR5cGVOYW1lPSJ1 +YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmljZURpYWdub3N0aWNz +IiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO +b09mU3RyaW5nVGFibGUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJTdHJpbmdUYWJsZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09m +U3RyaW5nVGFibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGRpdGlvbmFsSGVhZGVyIiBU +eXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N +Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNlcnZpY2VGYXVsdCIgQmFzZVR5cGU9InVh +OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSByZXNwb25zZSBy +ZXR1cm5lZCBieSBhbGwgc2VydmljZXMgd2hlbiB0aGVyZSBpcyBhIHNlcnZpY2UgbGV2ZWwgZXJy +b3IuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVh +ZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk +VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkZpbmRTZXJ2ZXJzUmVxdWVzdCIg +QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkZp +bmRzIHRoZSBzZXJ2ZXJzIGtub3duIHRvIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwvb3BjOkRvY3Vt +ZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0i +dG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybCIg +VHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTG9jYWxl +SWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTG9jYWxl +SWRzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZMb2NhbGVJZHMiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VydmVyVXJpcyIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclVyaXMiIFR5cGVOYW1lPSJvcGM6U3Ry +aW5nIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlclVyaXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRmluZFNlcnZlcnNSZXNwb25zZSIg +QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkZp +bmRzIHRoZSBzZXJ2ZXJzIGtub3duIHRvIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwvb3BjOkRvY3Vt +ZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9 +InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJz +IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVycyIg +VHlwZU5hbWU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZlNl +cnZlcnMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iU2VydmVyT25OZXR3b3JrIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlY29yZElkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY292ZXJ5VXJsIiBUeXBlTmFtZT0ib3BjOlN0cmlu +ZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJDYXBhYmlsaXRpZXMiIFR5cGVO +YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJDYXBhYmlsaXRp +ZXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlckNhcGFiaWxp +dGllcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw +ZSBOYW1lPSJGaW5kU2VydmVyc09uTmV0d29ya1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp +b25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9 +InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhcnRpbmdSZWNv +cmRJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhS +ZWNvcmRzVG9SZXR1cm4iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTm9PZlNlcnZlckNhcGFiaWxpdHlGaWx0ZXIiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJDYXBhYmlsaXR5RmlsdGVyIiBUeXBlTmFtZT0i +b3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJDYXBhYmlsaXR5RmlsdGVyIiAvPg0K +ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkZp +bmRTZXJ2ZXJzT25OZXR3b3JrUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVz +cG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0Q291bnRlclJlc2V0VGlt +ZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZT +ZXJ2ZXJzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vy +dmVycyIgVHlwZU5hbWU9InRuczpTZXJ2ZXJPbk5ldHdvcmsiIExlbmd0aEZpZWxkPSJOb09mU2Vy +dmVycyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5h +bWU9IkFwcGxpY2F0aW9uSW5zdGFuY2VDZXJ0aWZpY2F0ZSI+DQogICAgPG9wYzpEb2N1bWVudGF0 +aW9uPkEgY2VydGlmaWNhdGUgZm9yIGFuIGluc3RhbmNlIG9mIGFuIGFwcGxpY2F0aW9uLjwvb3Bj +OkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVk +VHlwZSBOYW1lPSJNZXNzYWdlU2VjdXJpdHlNb2RlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8 +b3BjOkRvY3VtZW50YXRpb24+VGhlIHR5cGUgb2Ygc2VjdXJpdHkgdG8gdXNlIG9uIGEgbWVzc2Fn +ZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Iklu +dmFsaWQiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUi +IFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNpZ24iIFZhbHVl +PSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNpZ25BbmRFbmNyeXB0IiBW +YWx1ZT0iMyIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVk +VHlwZSBOYW1lPSJVc2VyVG9rZW5UeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRv +Y3VtZW50YXRpb24+VGhlIHBvc3NpYmxlIHVzZXIgdG9rZW4gdHlwZXMuPC9vcGM6RG9jdW1lbnRh +dGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBbm9ueW1vdXMiIFZhbHVlPSIw +IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVzZXJOYW1lIiBWYWx1ZT0iMSIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDZXJ0aWZpY2F0ZSIgVmFsdWU9IjIi +IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNzdWVkVG9rZW4iIFZhbHVlPSIz +IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9IlVzZXJUb2tlblBvbGljeSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg +PG9wYzpEb2N1bWVudGF0aW9uPkRlc2NyaWJlcyBhIHVzZXIgdG9rZW4gdGhhdCBjYW4gYmUgdXNl +ZCB3aXRoIGEgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJQb2xpY3lJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJUb2tlblR5cGUiIFR5cGVOYW1lPSJ0bnM6VXNlclRva2VuVHlwZSIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Iklzc3VlZFRva2VuVHlwZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJJc3N1ZXJFbmRwb2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJpbmci +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eVBvbGljeVVyaSIgVHlwZU5hbWU9Im9w +YzpTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl +ZFR5cGUgTmFtZT0iRW5kcG9pbnREZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSBkZXNjcmlwdGlvbiBvZiBhIGVuZHBv +aW50IHRoYXQgY2FuIGJlIHVzZWQgdG8gYWNjZXNzIGEgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRp +b24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJp +bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXIiIFR5cGVOYW1lPSJ0bnM6QXBwbGlj +YXRpb25EZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlckNlcnRpZmlj +YXRlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT +ZWN1cml0eU1vZGUiIFR5cGVOYW1lPSJ0bnM6TWVzc2FnZVNlY3VyaXR5TW9kZSIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5UG9saWN5VXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZVc2VySWRlbnRpdHlUb2tlbnMiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VySWRlbnRpdHlUb2tlbnMi +IFR5cGVOYW1lPSJ0bnM6VXNlclRva2VuUG9saWN5IiBMZW5ndGhGaWVsZD0iTm9PZlVzZXJJZGVu +dGl0eVRva2VucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyYW5zcG9ydFByb2ZpbGVVcmki +IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlM +ZXZlbCIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K +ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkdldEVuZHBvaW50c1JlcXVlc3QiIEJhc2VUeXBl +PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5HZXRzIHRoZSBl +bmRwb2ludHMgdXNlZCBieSB0aGUgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJp +bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3Bj +OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3Bj +OlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZMb2NhbGVJZHMiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJOb09mUHJvZmlsZVVyaXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJQcm9maWxlVXJpcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxk +PSJOb09mUHJvZmlsZVVyaXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iR2V0RW5kcG9pbnRzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpF +eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5HZXRzIHRoZSBlbmRwb2lu +dHMgdXNlZCBieSB0aGUgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFbmRwb2ludHMiIFR5cGVOYW1lPSJvcGM6SW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRwb2ludHMiIFR5cGVOYW1lPSJ0bnM6RW5kcG9p +bnREZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZFbmRwb2ludHMiIC8+DQogIDwvb3BjOlN0 +cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVnaXN0ZXJlZFNl +cnZlciIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0 +aW9uPlRoZSBpbmZvcm1hdGlvbiByZXF1aXJlZCB0byByZWdpc3RlciBhIHNlcnZlciB3aXRoIGEg +ZGlzY292ZXJ5IHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iU2VydmVyVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlByb2R1Y3RVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTm9PZlNlcnZlck5hbWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iU2VydmVyTmFtZXMiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBMZW5n +dGhGaWVsZD0iTm9PZlNlcnZlck5hbWVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVy +VHlwZSIgVHlwZU5hbWU9InRuczpBcHBsaWNhdGlvblR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJHYXRld2F5U2VydmVyVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vT2ZEaXNjb3ZlcnlVcmxzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY292ZXJ5VXJscyIgVHlwZU5hbWU9Im9wYzpTdHJpbmci +IExlbmd0aEZpZWxkPSJOb09mRGlzY292ZXJ5VXJscyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlNlbWFwaG9yZUZpbGVQYXRoIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IklzT25saW5lIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0 +cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVnaXN0ZXJTZXJ2 +ZXJSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3Vt +ZW50YXRpb24+UmVnaXN0ZXJzIGEgc2VydmVyIHdpdGggdGhlIGRpc2NvdmVyeSBzZXJ2ZXIuPC9v +cGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5 +cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZl +ciIgVHlwZU5hbWU9InRuczpSZWdpc3RlcmVkU2VydmVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk +VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlZ2lzdGVyU2VydmVyUmVzcG9u +c2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlv +bj5SZWdpc3RlcnMgYSBzZXJ2ZXIgd2l0aCB0aGUgZGlzY292ZXJ5IHNlcnZlci48L29wYzpEb2N1 +bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1l +PSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv +cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGlzY292ZXJ5Q29uZmlndXJhdGlvbiIgQmFzZVR5cGU9 +InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgYmFzZSB0eXBl +IGZvciBkaXNjb3ZlcnkgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbi48L29wYzpEb2N1bWVudGF0 +aW9uPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9Ik1kbnNEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiBCYXNlVHlwZT0idG5zOkRpc2NvdmVyeUNv +bmZpZ3VyYXRpb24iPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgZGlzY292ZXJ5IGluZm9y +bWF0aW9uIG5lZWRlZCBmb3IgbUROUyByZWdpc3RyYXRpb24uPC9vcGM6RG9jdW1lbnRhdGlvbj4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1kbnNTZXJ2ZXJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmlu +ZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJDYXBhYmlsaXRpZXMiIFR5cGVO +YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJDYXBhYmlsaXRp +ZXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlckNhcGFiaWxp +dGllcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw +ZSBOYW1lPSJSZWdpc3RlclNlcnZlcjJSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6 +UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlciIgVHlwZU5hbWU9 +InRuczpSZWdpc3RlcmVkU2VydmVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpc2Nv +dmVyeUNvbmZpZ3VyYXRpb24iIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0IiBMZW5ndGhGaWVsZD0iTm9PZkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVnaXN0ZXJT +ZXJ2ZXIyUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQ29uZmlndXJhdGlvblJlc3VsdHMiIFR5cGVO +YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb25maWd1cmF0aW9uUmVz +dWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mQ29uZmlndXJh +dGlvblJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9z +IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3Rp +Y0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlh +Z25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1l +cmF0ZWRUeXBlIE5hbWU9IlNlY3VyaXR5VG9rZW5SZXF1ZXN0VHlwZSIgTGVuZ3RoSW5CaXRzPSIz +MiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkluZGljYXRlcyB3aGV0aGVyIGEgdG9rZW4gaWYg +YmVpbmcgY3JlYXRlZCBvciByZW5ld2VkLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNzdWUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVy +YXRlZFZhbHVlIE5hbWU9IlJlbmV3IiBWYWx1ZT0iMSIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5 +cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDaGFubmVsU2VjdXJpdHlUb2tlbiIg +QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRo +ZSB0b2tlbiB0aGF0IGlkZW50aWZpZXMgYSBzZXQgb2Yga2V5cyBmb3IgYW4gYWN0aXZlIHNlY3Vy +ZSBjaGFubmVsLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDaGFu +bmVsSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVG9r +ZW5JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDcmVh +dGVkQXQiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS +ZXZpc2VkTGlmZXRpbWUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik9wZW5TZWN1cmVDaGFubmVs +UmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVu +dGF0aW9uPkNyZWF0ZXMgYSBzZWN1cmUgY2hhbm5lbCB3aXRoIGEgc2VydmVyLjwvb3BjOkRvY3Vt +ZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0i +dG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnRQcm90b2Nv +bFZlcnNpb24iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +UmVxdWVzdFR5cGUiIFR5cGVOYW1lPSJ0bnM6U2VjdXJpdHlUb2tlblJlcXVlc3RUeXBlIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlNb2RlIiBUeXBlTmFtZT0idG5zOk1lc3NhZ2VT +ZWN1cml0eU1vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnROb25jZSIgVHlwZU5h +bWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkTGlm +ZXRpbWUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N +Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik9wZW5TZWN1cmVDaGFubmVsUmVzcG9uc2Ui +IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5D +cmVhdGVzIGEgc2VjdXJlIGNoYW5uZWwgd2l0aCBhIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9u +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVz +cG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJQcm90b2NvbFZlcnNp +b24iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJp +dHlUb2tlbiIgVHlwZU5hbWU9InRuczpDaGFubmVsU2VjdXJpdHlUb2tlbiIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlNlcnZlck5vbmNlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ2xv +c2VTZWN1cmVDaGFubmVsUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog +ICAgPG9wYzpEb2N1bWVudGF0aW9uPkNsb3NlcyBhIHNlY3VyZSBjaGFubmVsLjwvb3BjOkRvY3Vt +ZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0i +dG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iQ2xvc2VTZWN1cmVDaGFubmVsUmVzcG9uc2UiIEJhc2VUeXBl +PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5DbG9zZXMgYSBz +ZWN1cmUgY2hhbm5lbC48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +UmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2lnbmVkU29m +dHdhcmVDZXJ0aWZpY2F0ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w +YzpEb2N1bWVudGF0aW9uPkEgc29mdHdhcmUgY2VydGlmaWNhdGUgd2l0aCBhIGRpZ2l0YWwgc2ln +bmF0dXJlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDZXJ0aWZp +Y2F0ZURhdGEiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlNpZ25hdHVyZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iU2Vzc2lvbkF1dGhlbnRpY2F0 +aW9uVG9rZW4iPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHVuaXF1ZSBpZGVudGlmaWVyIGZv +ciBhIHNlc3Npb24gdXNlZCB0byBhdXRoZW50aWNhdGUgcmVxdWVzdHMuPC9vcGM6RG9jdW1lbnRh +dGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 +IlNpZ25hdHVyZURhdGEiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 +RG9jdW1lbnRhdGlvbj5BIGRpZ2l0YWwgc2lnbmF0dXJlLjwvb3BjOkRvY3VtZW50YXRpb24+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJBbGdvcml0aG0iIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iU2lnbmF0dXJlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmci +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt +ZT0iQ3JlYXRlU2Vzc2lvblJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K +ICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5DcmVhdGVzIGEgbmV3IHNlc3Npb24gd2l0aCB0aGUgc2Vy +dmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVh +ZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJDbGllbnREZXNjcmlwdGlvbiIgVHlwZU5hbWU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9u +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmlu +ZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZHBvaW50VXJsIiBUeXBlTmFtZT0ib3BjOlN0 +cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlc3Npb25OYW1lIiBUeXBlTmFtZT0ib3Bj +OlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudE5vbmNlIiBUeXBlTmFtZT0i +b3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnRDZXJ0aWZpY2F0 +ZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVx +dWVzdGVkU2Vzc2lvblRpbWVvdXQiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTWF4UmVzcG9uc2VNZXNzYWdlU2l6ZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIi +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt +ZT0iQ3JlYXRlU2Vzc2lvblJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N +CiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q3JlYXRlcyBhIG5ldyBzZXNzaW9uIHdpdGggdGhlIHNl +cnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VI +ZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJTZXNzaW9uSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJBdXRoZW50aWNhdGlvblRva2VuIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUmV2aXNlZFNlc3Npb25UaW1lb3V0IiBUeXBlTmFtZT0ib3BjOkRvdWJs +ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlck5vbmNlIiBUeXBlTmFtZT0ib3BjOkJ5 +dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJDZXJ0aWZpY2F0ZSIgVHlw +ZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlcnZl +ckVuZHBvaW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlNlcnZlckVuZHBvaW50cyIgVHlwZU5hbWU9InRuczpFbmRwb2ludERlc2NyaXB0aW9uIiBMZW5n +dGhGaWVsZD0iTm9PZlNlcnZlckVuZHBvaW50cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v +T2ZTZXJ2ZXJTb2Z0d2FyZUNlcnRpZmljYXRlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclNvZnR3YXJlQ2VydGlmaWNhdGVzIiBUeXBlTmFtZT0i +dG5zOlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiIExlbmd0aEZpZWxkPSJOb09mU2VydmVyU29m +dHdhcmVDZXJ0aWZpY2F0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJTaWduYXR1 +cmUiIFR5cGVOYW1lPSJ0bnM6U2lnbmF0dXJlRGF0YSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik1heFJlcXVlc3RNZXNzYWdlU2l6ZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVXNlcklkZW50 +aXR5VG9rZW4iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1l +bnRhdGlvbj5BIGJhc2UgdHlwZSBmb3IgYSB1c2VyIGlkZW50aXR5IHRva2VuLjwvb3BjOkRvY3Vt +ZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQb2xpY3lJZCIgVHlwZU5hbWU9Im9wYzpT +dHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iQW5vbnltb3VzSWRlbnRpdHlUb2tlbiIgQmFzZVR5cGU9InRuczpVc2VySWRlbnRp +dHlUb2tlbiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgdG9rZW4gcmVwcmVzZW50aW5nIGFu +IGFub255bW91cyB1c2VyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJQb2xpY3lJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIFNvdXJjZVR5cGU9InRuczpVc2VySWRl +bnRpdHlUb2tlbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 +cmVkVHlwZSBOYW1lPSJVc2VyTmFtZUlkZW50aXR5VG9rZW4iIEJhc2VUeXBlPSJ0bnM6VXNlcklk +ZW50aXR5VG9rZW4iPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHRva2VuIHJlcHJlc2VudGlu +ZyBhIHVzZXIgaWRlbnRpZmllZCBieSBhIHVzZXIgbmFtZSBhbmQgcGFzc3dvcmQuPC9vcGM6RG9j +dW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBvbGljeUlkIiBUeXBlTmFtZT0ib3Bj +OlN0cmluZyIgU291cmNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iVXNlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iUGFzc3dvcmQiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkVuY3J5cHRpb25BbGdvcml0aG0iIFR5cGVOYW1lPSJvcGM6U3RyaW5n +IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9Ilg1MDlJZGVudGl0eVRva2VuIiBCYXNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIj4N +CiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSB0b2tlbiByZXByZXNlbnRpbmcgYSB1c2VyIGlkZW50 +aWZpZWQgYnkgYW4gWDUwOSBjZXJ0aWZpY2F0ZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUG9saWN5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBTb3VyY2VUeXBl +PSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDZXJ0aWZp +Y2F0ZURhdGEiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl +ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJJc3N1ZWRJZGVudGl0eVRva2Vu +IiBCYXNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIj4NCiAgICA8b3BjOkRvY3VtZW50YXRp +b24+QSB0b2tlbiByZXByZXNlbnRpbmcgYSB1c2VyIGlkZW50aWZpZWQgYnkgYSBXUy1TZWN1cml0 +eSBYTUwgdG9rZW4uPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBv +bGljeUlkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgU291cmNlVHlwZT0idG5zOlVzZXJJZGVudGl0 +eVRva2VuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVG9rZW5EYXRhIiBUeXBlTmFtZT0ib3Bj +OkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmNyeXB0aW9uQWxnb3JpdGht +IiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg +PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBY3RpdmF0ZVNlc3Npb25SZXF1ZXN0IiBCYXNlVHlw +ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QWN0aXZhdGVz +IGEgc2Vzc2lvbiB3aXRoIHRoZSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudFNpZ25hdHVyZSIgVHlwZU5hbWU9InRuczpT +aWduYXR1cmVEYXRhIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkNsaWVudFNvZnR3YXJl +Q2VydGlmaWNhdGVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iQ2xpZW50U29mdHdhcmVDZXJ0aWZpY2F0ZXMiIFR5cGVOYW1lPSJ0bnM6U2lnbmVkU29mdHdh +cmVDZXJ0aWZpY2F0ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZDbGllbnRTb2Z0d2FyZUNlcnRpZmljYXRl +cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZMb2NhbGVJZHMiIFR5cGVOYW1lPSJvcGM6 +SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMb2NhbGVJZHMiIFR5cGVOYW1lPSJvcGM6 +U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZkxvY2FsZUlkcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlVzZXJJZGVudGl0eVRva2VuIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlclRva2VuU2lnbmF0dXJlIiBUeXBlTmFtZT0idG5zOlNp +Z25hdHVyZURhdGEiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 +dXJlZFR5cGUgTmFtZT0iQWN0aXZhdGVTZXNzaW9uUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRl +bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BY3RpdmF0ZXMgYSBzZXNzaW9u +IHdpdGggdGhlIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJOb25jZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29k +ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P +ZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5n +dGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ +DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDbG9zZVNlc3Npb25SZXF1ZXN0IiBCYXNl +VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q2xvc2Vz +IGEgc2Vzc2lvbiB3aXRoIHRoZSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlbGV0ZVN1YnNjcmlwdGlvbnMiIFR5cGVOYW1lPSJv +cGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 +cmVkVHlwZSBOYW1lPSJDbG9zZVNlc3Npb25SZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lv +bk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkNsb3NlcyBhIHNlc3Npb24gd2l0aCB0 +aGUgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNw +b25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgPC9vcGM6U3Ry +dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDYW5jZWxSZXF1ZXN0 +IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+ +Q2FuY2VscyBhbiBvdXRzdGFuZGluZyByZXF1ZXN0Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFk +ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGFuZGxlIiBUeXBlTmFtZT0ib3Bj +OlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk +VHlwZSBOYW1lPSJDYW5jZWxSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ +DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkNhbmNlbHMgYW4gb3V0c3RhbmRpbmcgcmVxdWVzdC48 +L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIi +IFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJD +YW5jZWxDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iTm9kZUF0dHJpYnV0ZXNNYXNrIiBM +ZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIGJpdHMgdXNlZCB0 +byBzcGVjaWZ5IGRlZmF1bHQgYXR0cmlidXRlcyBmb3IgYSBuZXcgbm9kZS48L29wYzpEb2N1bWVu +dGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAv +Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFjY2Vzc0xldmVsIiBWYWx1ZT0iMSIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBcnJheURpbWVuc2lvbnMiIFZhbHVl +PSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJyb3dzZU5hbWUiIFZhbHVl +PSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkNvbnRhaW5zTm9Mb29wcyIg +VmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGF0YVR5cGUiIFZh +bHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEZXNjcmlwdGlvbiIg +VmFsdWU9IjMyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRpc3BsYXlOYW1l +IiBWYWx1ZT0iNjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRXZlbnROb3Rp +ZmllciIgVmFsdWU9IjEyOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJFeGVj +dXRhYmxlIiBWYWx1ZT0iMjU2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikhp +c3Rvcml6aW5nIiBWYWx1ZT0iNTEyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 +IkludmVyc2VOYW1lIiBWYWx1ZT0iMTAyNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO +YW1lPSJJc0Fic3RyYWN0IiBWYWx1ZT0iMjA0OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 +ZSBOYW1lPSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbCIgVmFsdWU9IjQwOTYiIC8+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9kZUNsYXNzIiBWYWx1ZT0iODE5MiIgLz4NCiAgICA8 +b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlSWQiIFZhbHVlPSIxNjM4NCIgLz4NCiAgICA8 +b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTeW1tZXRyaWMiIFZhbHVlPSIzMjc2OCIgLz4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVc2VyQWNjZXNzTGV2ZWwiIFZhbHVlPSI2NTUz +NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVc2VyRXhlY3V0YWJsZSIgVmFs +dWU9IjEzMTA3MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVc2VyV3JpdGVN +YXNrIiBWYWx1ZT0iMjYyMTQ0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZh +bHVlUmFuayIgVmFsdWU9IjUyNDI4OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l +PSJXcml0ZU1hc2siIFZhbHVlPSIxMDQ4NTc2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9IlZhbHVlIiBWYWx1ZT0iMjA5NzE1MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 +ZSBOYW1lPSJBbGwiIFZhbHVlPSI0MTk0MzAzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9IkJhc2VOb2RlIiBWYWx1ZT0iMTMzNTM5NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJPYmplY3QiIFZhbHVlPSIxMzM1NTI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRl +ZFZhbHVlIE5hbWU9Ik9iamVjdFR5cGVPckRhdGFUeXBlIiBWYWx1ZT0iMTMzNzQ0NCIgLz4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJWYXJpYWJsZSIgVmFsdWU9IjQwMjY5OTkiIC8+ +DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVmFyaWFibGVUeXBlIiBWYWx1ZT0iMzk1 +ODkwMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJNZXRob2QiIFZhbHVlPSIx +NDY2NzI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlZmVyZW5jZVR5cGUi +IFZhbHVlPSIxMzcxMjM2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZpZXci +IFZhbHVlPSIxMzM1NTMyIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9Ik5vZGVBdHRyaWJ1dGVzIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u +T2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIGJhc2UgYXR0cmlidXRlcyBmb3Ig +YWxsIG5vZGVzLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVj +aWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJ +bnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw +ZSBOYW1lPSJPYmplY3RBdHRyaWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4N +CiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGFuIG9iamVjdCBub2Rl +Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRy +aWJ1dGVzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1 +dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpM +b2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNv +dXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ildy +aXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmli +dXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJv +cGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJFdmVudE5vdGlmaWVyIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVmFyaWFibGVB +dHRyaWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICA8b3BjOkRvY3Vt +ZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGEgdmFyaWFibGUgbm9kZS48L29wYzpEb2N1bWVu +dGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3BlY2lmaWVkQXR0cmlidXRlcyIgVHlwZU5h +bWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIg +U291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +RGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6 +Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVO +YW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291 +cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFs +dWUiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5 +cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZVJh +bmsiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXJy +YXlEaW1lbnNpb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5v +T2ZBcnJheURpbWVuc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBY2Nlc3NMZXZlbCIg +VHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlckFjY2Vzc0xl +dmVsIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNaW5pbXVt +U2FtcGxpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJIaXN0b3JpemluZyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1ldGhvZEF0dHJp +YnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgIDxvcGM6RG9jdW1lbnRh +dGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSBtZXRob2Qgbm9kZS48L29wYzpEb2N1bWVudGF0aW9u +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3BlY2lmaWVkQXR0cmlidXRlcyIgVHlwZU5hbWU9Im9w +YzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNl +VHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3Jp +cHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0 +dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJv +cGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlw +ZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXhlY3V0YWJs +ZSIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlckV4 +ZWN1dGFibGUiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 +cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJPYmplY3RUeXBlQXR0cmlidXRlcyIg +QmFzZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRo +ZSBhdHRyaWJ1dGVzIGZvciBhbiBvYmplY3QgdHlwZSBub2RlLjwvb3BjOkRvY3VtZW50YXRpb24+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0ib3Bj +OlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VU +eXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlw +dGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0 +cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9w +YzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBl +PSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0Fic3RyYWN0 +IiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog +IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVmFyaWFibGVUeXBlQXR0cmlidXRlcyIgQmFzZVR5 +cGU9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSBhdHRy +aWJ1dGVzIGZvciBhIHZhcmlhYmxlIHR5cGUgbm9kZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iU3BlY2lmaWVkQXR0cmlidXRlcyIgVHlwZU5hbWU9Im9wYzpVSW50 +MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0i +dG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24i +IFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0 +ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUlu +dDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5z +Ok5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWUiIFR5cGVOYW1l +PSJ1YTpWYXJpYW50IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5cGUiIFR5cGVOYW1l +PSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZVJhbmsiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXJyYXlEaW1lbnNpb25z +IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXJyYXlEaW1l +bnNpb25zIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBcnJheURpbWVu +c2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0Fic3RyYWN0IiBUeXBlTmFtZT0ib3Bj +OkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl +ZFR5cGUgTmFtZT0iUmVmZXJlbmNlVHlwZUF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0 +dHJpYnV0ZXMiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSBy +ZWZlcmVuY2UgdHlwZSBub2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlw +ZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5h +bWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJp +YnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVh +OkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5 +cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0 +ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0 +ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0Fic3RyYWN0IiBUeXBlTmFtZT0ib3BjOkJv +b2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTeW1tZXRyaWMiIFR5cGVOYW1lPSJvcGM6 +Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkludmVyc2VOYW1lIiBUeXBlTmFtZT0i +dWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT +dHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRhVHlwZUF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9k +ZUF0dHJpYnV0ZXMiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3Ig +YSBkYXRhIHR5cGUgbm9kZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iU3BlY2lmaWVkQXR0cmlidXRlcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9 +InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1l +IiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1 +dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpM +b2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBl +PSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVN +YXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVz +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNBYnN0cmFjdCIgVHlwZU5hbWU9Im9wYzpCb29s +ZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl +IE5hbWU9IlZpZXdBdHRyaWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAg +ICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGEgdmlldyBub2RlLjwvb3Bj +OkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVz +IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6 +ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5 +cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFz +ayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUlu +dDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJDb250YWluc05vTG9vcHMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IkV2ZW50Tm90aWZpZXIiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgPC9v +cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBZGROb2Rl +c0l0ZW0iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRh +dGlvbj5BIHJlcXVlc3QgdG8gYWRkIGEgbm9kZSB0byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2Uu +PC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBhcmVudE5vZGVJZCIg +VHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVm +ZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iUmVxdWVzdGVkTmV3Tm9kZUlkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFt +ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2Rl +Q2xhc3MiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQXR0cmlidXRlcyIgVHlwZU5hbWU9 +InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlR5cGVEZWZpbml0 +aW9uIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWRkTm9kZXNSZXN1bHQiIEJhc2VU +eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHJlc3Vs +dCBvZiBhbiBhZGQgbm9kZSBvcGVyYXRpb24uPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iQWRkZWROb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWRk +Tm9kZXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRv +Y3VtZW50YXRpb24+QWRkcyBvbmUgb3IgbW9yZSBub2RlcyB0byB0aGUgc2VydmVyIGFkZHJlc3Mg +c3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RI +ZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ik5vT2ZOb2Rlc1RvQWRkIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9kZXNUb0FkZCIgVHlwZU5hbWU9InRuczpBZGROb2Rlc0l0ZW0iIExlbmd0aEZp +ZWxkPSJOb09mTm9kZXNUb0FkZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w +YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBZGROb2Rlc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0 +ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QWRkcyBvbmUgb3IgbW9yZSBu +b2RlcyB0byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNl +SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJv +cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idG5z +OkFkZE5vZGVzUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25v +c3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFkZFJlZmVyZW5j +ZXNJdGVtIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50 +YXRpb24+QSByZXF1ZXN0IHRvIGFkZCBhIHJlZmVyZW5jZSB0byB0aGUgc2VydmVyIGFkZHJlc3Mg +c3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvdXJjZU5v +ZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVy +ZW5jZVR5cGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IklzRm9yd2FyZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iVGFyZ2V0U2VydmVyVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlRhcmdldE5vZGVJZCIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iVGFyZ2V0Tm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVD +bGFzcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw +ZSBOYW1lPSJBZGRSZWZlcmVuY2VzUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj +dCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkFkZHMgb25lIG9yIG1vcmUgcmVmZXJlbmNlcyB0 +byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzVG9BZGQiIFR5cGVOYW1lPSJv +cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzVG9BZGQiIFR5cGVO +YW1lPSJ0bnM6QWRkUmVmZXJlbmNlc0l0ZW0iIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlc1Rv +QWRkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl +IE5hbWU9IkFkZFJlZmVyZW5jZXNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj +dCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkFkZHMgb25lIG9yIG1vcmUgcmVmZXJlbmNlcyB0 +byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVz +Q29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +Tm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBM +ZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 +cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVOb2Rlc0l0ZW0iIEJhc2VU +eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHJlcXVl +c3QgdG8gZGVsZXRlIGEgbm9kZSB0byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9j +dW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5v +ZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlbGV0ZVRhcmdldFJlZmVyZW5jZXMiIFR5 +cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w +YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVOb2Rlc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpF +eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5EZWxldGUgb25lIG9yIG1v +cmUgbm9kZXMgZnJvbSB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlv +bj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVx +dWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOb2Rlc1RvRGVsZXRlIiBU +eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZXNUb0RlbGV0 +ZSIgVHlwZU5hbWU9InRuczpEZWxldGVOb2Rlc0l0ZW0iIExlbmd0aEZpZWxkPSJOb09mTm9kZXNU +b0RlbGV0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk +VHlwZSBOYW1lPSJEZWxldGVOb2Rlc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+RGVsZXRlIG9uZSBvciBtb3JlIG5vZGVzIGZy +b20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRl +ciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1 +c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIg +TGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlUmVmZXJlbmNlc0l0ZW0i +IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5B +IHJlcXVlc3QgdG8gZGVsZXRlIGEgbm9kZSBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48 +L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU291cmNlTm9kZUlkIiBU +eXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlVHlw +ZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNGb3J3 +YXJkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUYXJn +ZXROb2RlSWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkRlbGV0ZUJpZGlyZWN0aW9uYWwiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAg +PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxl +dGVSZWZlcmVuY2VzUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg +PG9wYzpEb2N1bWVudGF0aW9uPkRlbGV0ZSBvbmUgb3IgbW9yZSByZWZlcmVuY2VzIGZyb20gdGhl +IHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlc1RvRGVsZXRlIiBUeXBlTmFtZT0ib3Bj +OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlc1RvRGVsZXRlIiBUeXBl +TmFtZT0idG5zOkRlbGV0ZVJlZmVyZW5jZXNJdGVtIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5j +ZXNUb0RlbGV0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 +cmVkVHlwZSBOYW1lPSJEZWxldGVSZWZlcmVuY2VzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRl +bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5EZWxldGUgb25lIG9yIG1vcmUg +cmVmZXJlbmNlcyBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0 +aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6 +UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlw +ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVO +YW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlh +Z25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29w +YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkF0dHJpYnV0 +ZVdyaXRlTWFzayIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkRl +ZmluZSBiaXRzIHVzZWQgdG8gaW5kaWNhdGUgd2hpY2ggYXR0cmlidXRlcyBhcmUgd3JpdGFibGUu +PC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25l +IiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBY2Nlc3NMZXZl +bCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQXJyYXlEaW1l +bnNpb25zIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCcm93 +c2VOYW1lIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDb250 +YWluc05vTG9vcHMiIFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 +IkRhdGFUeXBlIiBWYWx1ZT0iMTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i +RGVzY3JpcHRpb24iIFZhbHVlPSIzMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l +PSJEaXNwbGF5TmFtZSIgVmFsdWU9IjY0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h +bWU9IkV2ZW50Tm90aWZpZXIiIFZhbHVlPSIxMjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs +dWUgTmFtZT0iRXhlY3V0YWJsZSIgVmFsdWU9IjI1NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJIaXN0b3JpemluZyIgVmFsdWU9IjUxMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0 +ZWRWYWx1ZSBOYW1lPSJJbnZlcnNlTmFtZSIgVmFsdWU9IjEwMjQiIC8+DQogICAgPG9wYzpFbnVt +ZXJhdGVkVmFsdWUgTmFtZT0iSXNBYnN0cmFjdCIgVmFsdWU9IjIwNDgiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iTWluaW11bVNhbXBsaW5nSW50ZXJ2YWwiIFZhbHVlPSI0MDk2 +IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vZGVDbGFzcyIgVmFsdWU9Ijgx +OTIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9kZUlkIiBWYWx1ZT0iMTYz +ODQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3ltbWV0cmljIiBWYWx1ZT0i +MzI3NjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVXNlckFjY2Vzc0xldmVs +IiBWYWx1ZT0iNjU1MzYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVXNlckV4 +ZWN1dGFibGUiIFZhbHVlPSIxMzEwNzIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt +ZT0iVXNlcldyaXRlTWFzayIgVmFsdWU9IjI2MjE0NCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJWYWx1ZVJhbmsiIFZhbHVlPSI1MjQyODgiIC8+DQogICAgPG9wYzpFbnVtZXJh +dGVkVmFsdWUgTmFtZT0iV3JpdGVNYXNrIiBWYWx1ZT0iMTA0ODU3NiIgLz4NCiAgICA8b3BjOkVu +dW1lcmF0ZWRWYWx1ZSBOYW1lPSJWYWx1ZUZvclZhcmlhYmxlVHlwZSIgVmFsdWU9IjIwOTcxNTIi +IC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFt +ZT0iQnJvd3NlRGlyZWN0aW9uIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50 +YXRpb24+VGhlIGRpcmVjdGlvbnMgb2YgdGhlIHJlZmVyZW5jZXMgdG8gcmV0dXJuLjwvb3BjOkRv +Y3VtZW50YXRpb24+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRm9yd2FyZCIgVmFs +dWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW52ZXJzZSIgVmFsdWU9 +IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQm90aCIgVmFsdWU9IjIiIC8+ +DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW52YWxpZCIgVmFsdWU9IjMiIC8+DQog +IDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVmll +d0Rlc2NyaXB0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRv +Y3VtZW50YXRpb24+VGhlIHZpZXcgdG8gYnJvd3NlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJWaWV3SWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJUaW1lc3RhbXAiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJWaWV3VmVyc2lvbiIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJv +d3NlRGVzY3JpcHRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 +RG9jdW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8gYnJvd3NlIHRoZSB0aGUgcmVmZXJlbmNlcyBmcm9t +IGEgbm9kZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlk +IiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlRGly +ZWN0aW9uIiBUeXBlTmFtZT0idG5zOkJyb3dzZURpcmVjdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IkluY2x1ZGVTdWJ0eXBlcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNsYXNzTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQz +MiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBO +YW1lPSJCcm93c2VSZXN1bHRNYXNrIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3Vt +ZW50YXRpb24+QSBiaXQgbWFzayB3aGljaCBzcGVjaWZpZXMgd2hhdCBzaG91bGQgYmUgcmV0dXJu +ZWQgaW4gYSBicm93c2UgcmVzcG9uc2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkVu +dW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25lIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0 +ZWRWYWx1ZSBOYW1lPSJSZWZlcmVuY2VUeXBlSWQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IklzRm9yd2FyZCIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVt +ZXJhdGVkVmFsdWUgTmFtZT0iTm9kZUNsYXNzIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1l +cmF0ZWRWYWx1ZSBOYW1lPSJCcm93c2VOYW1lIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1l +cmF0ZWRWYWx1ZSBOYW1lPSJEaXNwbGF5TmFtZSIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IlR5cGVEZWZpbml0aW9uIiBWYWx1ZT0iMzIiIC8+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQWxsIiBWYWx1ZT0iNjMiIC8+DQogICAgPG9wYzpFbnVt +ZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlVHlwZUluZm8iIFZhbHVlPSIzIiAvPg0KICAgIDxv +cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlRhcmdldEluZm8iIFZhbHVlPSI2MCIgLz4NCiAgPC9v +cGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWZlcmVu +Y2VEZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpE +b2N1bWVudGF0aW9uPlRoZSBkZXNjcmlwdGlvbiBvZiBhIHJlZmVyZW5jZS48L29wYzpEb2N1bWVu +dGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0i +dWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNGb3J3YXJkIiBUeXBlTmFtZT0i +b3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1 +YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5hbWUiIFR5 +cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxh +eU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlR5cGVEZWZpbml0aW9uIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJDb250aW51 +YXRpb25Qb2ludCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkFuIGlkZW50aWZpZXIgZm9yIGEg +c3VzcGVuZGVkIHF1ZXJ5IG9yIGJyb3dzZSBvcGVyYXRpb24uPC9vcGM6RG9jdW1lbnRhdGlvbj4N +CiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb3dz +ZVJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVu +dGF0aW9uPlRoZSByZXN1bHQgb2YgYSBicm93c2Ugb3BlcmF0aW9uLjwvb3BjOkRvY3VtZW50YXRp +b24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVz +Q29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiBUeXBlTmFt +ZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNl +cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5j +ZXMiIFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlRGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09m +UmVmZXJlbmNlcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 +cmVkVHlwZSBOYW1lPSJCcm93c2VSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QnJvd3NlIHRoZSByZWZlcmVuY2VzIGZvciBvbmUg +b3IgbW9yZSBub2RlcyBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVu +dGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRu +czpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmlldyIgVHlwZU5hbWU9 +InRuczpWaWV3RGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRN +YXhSZWZlcmVuY2VzUGVyTm9kZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJOb09mTm9kZXNUb0Jyb3dzZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVzVG9Ccm93c2UiIFR5cGVOYW1lPSJ0bnM6QnJvd3NlRGVz +Y3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mTm9kZXNUb0Jyb3dzZSIgLz4NCiAgPC9vcGM6U3Ry +dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm93c2VSZXNwb25z +ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u +PkJyb3dzZSB0aGUgcmVmZXJlbmNlcyBmb3Igb25lIG9yIG1vcmUgbm9kZXMgZnJvbSB0aGUgc2Vy +dmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idG5zOkJyb3dzZVJlc3VsdCIg +TGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRp +YWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhG +aWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm93c2VOZXh0UmVxdWVzdCIgQmFzZVR5cGU9 +InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkNvbnRpbnVlcyBv +bmUgb3IgbW9yZSBicm93c2Ugb3BlcmF0aW9ucy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVsZWFzZUNvbnRpbnVhdGlvblBvaW50cyIgVHlw +ZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkNvbnRpbnVh +dGlvblBvaW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkNvbnRpbnVhdGlvblBvaW50cyIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiBMZW5ndGhGaWVs +ZD0iTm9PZkNvbnRpbnVhdGlvblBvaW50cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm93c2VOZXh0UmVzcG9uc2UiIEJhc2VUeXBl +PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5Db250aW51ZXMg +b25lIG9yIG1vcmUgYnJvd3NlIG9wZXJhdGlvbnMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVh +ZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6 +SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idG5zOkJy +b3dzZVJlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJ +bmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0 +dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWxhdGl2ZVBhdGhFbGVt +ZW50IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRp +b24+QW4gZWxlbWVudCBpbiBhIHJlbGF0aXZlIHBhdGguPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzSW52ZXJzZSIgVHlwZU5hbWU9Im9wYzpCb29sZWFu +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5jbHVkZVN1YnR5cGVzIiBUeXBlTmFtZT0ib3Bj +OkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUYXJnZXROYW1lIiBUeXBlTmFtZT0i +dWE6UXVhbGlmaWVkTmFtZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT +dHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWxhdGl2ZVBhdGgiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P +YmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHJlbGF0aXZlIHBhdGggY29uc3RydWN0 +ZWQgZnJvbSByZWZlcmVuY2UgdHlwZXMgYW5kIGJyb3dzZSBuYW1lcy48L29wYzpEb2N1bWVudGF0 +aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkVsZW1lbnRzIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRWxlbWVudHMiIFR5cGVOYW1lPSJ0bnM6UmVs +YXRpdmVQYXRoRWxlbWVudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZFbGVtZW50cyIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm93c2VQYXRo +IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+ +QSByZXF1ZXN0IHRvIHRyYW5zbGF0ZSBhIHBhdGggaW50byBhIG5vZGUgaWQuPC9vcGM6RG9jdW1l +bnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXJ0aW5nTm9kZSIgVHlwZU5hbWU9InVh +Ok5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlbGF0aXZlUGF0aCIgVHlwZU5hbWU9 +InRuczpSZWxhdGl2ZVBhdGgiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJvd3NlUGF0aFRhcmdldCIgQmFzZVR5cGU9InVhOkV4dGVu +c2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSB0YXJnZXQgb2YgdGhlIHRy +YW5zbGF0ZWQgcGF0aC48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +VGFyZ2V0SWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlJlbWFpbmluZ1BhdGhJbmRleCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwv +b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJvd3Nl +UGF0aFJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1 +bWVudGF0aW9uPlRoZSByZXN1bHQgb2YgYSB0cmFuc2xhdGUgb3BlYXJhdGlvbi48L29wYzpEb2N1 +bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVh +OlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVGFyZ2V0cyIgVHlwZU5h +bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldHMiIFR5cGVOYW1l +PSJ0bnM6QnJvd3NlUGF0aFRhcmdldCIgTGVuZ3RoRmllbGQ9Ik5vT2ZUYXJnZXRzIiAvPg0KICA8 +L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRyYW5z +bGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRyYW5zbGF0ZXMgb25lIG9yIG1vcmUgcGF0 +aHMgaW4gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFk +ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQnJvd3NlUGF0aHMiIFR5cGVOYW1lPSJv +cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VQYXRocyIgVHlwZU5hbWU9 +InRuczpCcm93c2VQYXRoIiBMZW5ndGhGaWVsZD0iTm9PZkJyb3dzZVBhdGhzIiAvPg0KICA8L29w +YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRyYW5zbGF0 +ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl +Y3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UcmFuc2xhdGVzIG9uZSBvciBtb3JlIHBhdGhz +IGluIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFk +ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJ +bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6QnJv +d3NlUGF0aFJlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0 +aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3Ry +dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWdpc3Rlck5vZGVz +UmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVu +dGF0aW9uPlJlZ2lzdGVycyBvbmUgb3IgbW9yZSBub2RlcyBmb3IgcmVwZWF0ZWQgdXNlIHdpdGhp +biBhIHNlc3Npb24uPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl +cXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vT2ZOb2Rlc1RvUmVnaXN0ZXIiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rlc1RvUmVnaXN0ZXIiIFR5cGVOYW1lPSJ1YTpOb2RlSWQi +IExlbmd0aEZpZWxkPSJOb09mTm9kZXNUb1JlZ2lzdGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk +VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlZ2lzdGVyTm9kZXNSZXNwb25z +ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u +PlJlZ2lzdGVycyBvbmUgb3IgbW9yZSBub2RlcyBmb3IgcmVwZWF0ZWQgdXNlIHdpdGhpbiBhIHNl +c3Npb24uPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNl +SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTm9PZlJlZ2lzdGVyZWROb2RlSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iUmVnaXN0ZXJlZE5vZGVJZHMiIFR5cGVOYW1lPSJ1YTpOb2RlSWQi +IExlbmd0aEZpZWxkPSJOb09mUmVnaXN0ZXJlZE5vZGVJZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVW5yZWdpc3Rlck5vZGVzUmVx +dWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0 +aW9uPlVucmVnaXN0ZXJzIG9uZSBvciBtb3JlIHByZXZpb3VzbHkgcmVnaXN0ZXJlZCBub2Rlcy48 +L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIg +VHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P +Zk5vZGVzVG9VbnJlZ2lzdGVyIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9kZXNUb1VucmVnaXN0ZXIiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIExlbmd0aEZp +ZWxkPSJOb09mTm9kZXNUb1VucmVnaXN0ZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K +DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVW5yZWdpc3Rlck5vZGVzUmVzcG9uc2UiIEJh +c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5VbnJl +Z2lzdGVycyBvbmUgb3IgbW9yZSBwcmV2aW91c2x5IHJlZ2lzdGVyZWQgbm9kZXMuPC9vcGM6RG9j +dW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFt +ZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 +b3BjOk9wYXF1ZVR5cGUgTmFtZT0iQ291bnRlciI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEg +bW9ub3RvbmljYWxseSBpbmNyZWFzaW5nIHZhbHVlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwv +b3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9Ik51bWVyaWNSYW5nZSI+ +DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlNwZWNpZmllcyBhIHJhbmdlIG9mIGFycmF5IGluZGV4 +ZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9w +YXF1ZVR5cGUgTmFtZT0iVGltZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgdGltZSB2YWx1 +ZSBzcGVjaWZpZWQgYXMgSEg6TU06U1MuU1NTLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3Bj +Ok9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkRhdGUiPg0KICAgIDxvcGM6 +RG9jdW1lbnRhdGlvbj5BIGRhdGUgdmFsdWUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6 +T3BhcXVlVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkVuZHBvaW50Q29uZmln +dXJhdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJPcGVyYXRpb25UaW1lb3V0IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iVXNlQmluYXJ5RW5jb2RpbmciIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heFN0cmluZ0xlbmd0aCIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heEJ5dGVTdHJpbmdMZW5ndGgiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhBcnJheUxlbmd0aCIgVHlw +ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heE1lc3NhZ2VTaXpl +IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4QnVmZmVy +U2l6ZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNoYW5u +ZWxMaWZldGltZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlNlY3VyaXR5VG9rZW5MaWZldGltZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJRdWVyeURhdGFE +ZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZWxhdGl2ZVBhdGgiIFR5cGVOYW1lPSJ0bnM6UmVsYXRpdmVQYXRoIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iQXR0cmlidXRlSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iSW5kZXhSYW5nZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+ +DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i +Tm9kZVR5cGVEZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJUeXBlRGVmaW5pdGlvbk5vZGUiIFR5cGVOYW1lPSJ1YTpFeHBhbmRl +ZE5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkluY2x1ZGVTdWJUeXBlcyIgVHlwZU5h +bWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRhdGFUb1JldHVy +biIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFUb1Jl +dHVybiIgVHlwZU5hbWU9InRuczpRdWVyeURhdGFEZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5v +T2ZEYXRhVG9SZXR1cm4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51 +bWVyYXRlZFR5cGUgTmFtZT0iRmlsdGVyT3BlcmF0b3IiIExlbmd0aEluQml0cz0iMzIiPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkVxdWFscyIgVmFsdWU9IjAiIC8+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNOdWxsIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVu +dW1lcmF0ZWRWYWx1ZSBOYW1lPSJHcmVhdGVyVGhhbiIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iTGVzc1RoYW4iIFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IkdyZWF0ZXJUaGFuT3JFcXVhbCIgVmFsdWU9IjQiIC8+DQogICAg +PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTGVzc1RoYW5PckVxdWFsIiBWYWx1ZT0iNSIgLz4N +CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJMaWtlIiBWYWx1ZT0iNiIgLz4NCiAgICA8 +b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb3QiIFZhbHVlPSI3IiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IkJldHdlZW4iIFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6RW51bWVy +YXRlZFZhbHVlIE5hbWU9IkluTGlzdCIgVmFsdWU9IjkiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk +VmFsdWUgTmFtZT0iQW5kIiBWYWx1ZT0iMTAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg +TmFtZT0iT3IiIFZhbHVlPSIxMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJD +YXN0IiBWYWx1ZT0iMTIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW5WaWV3 +IiBWYWx1ZT0iMTMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iT2ZUeXBlIiBW +YWx1ZT0iMTQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVsYXRlZFRvIiBW +YWx1ZT0iMTUiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQml0d2lzZUFuZCIg +VmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJpdHdpc2VPciIg +VmFsdWU9IjE3IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy +ZWRUeXBlIE5hbWU9IlF1ZXJ5RGF0YVNldCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJ +ZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlR5cGVEZWZpbml0aW9uTm9kZSIgVHlwZU5hbWU9 +InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlZhbHVlcyIg +VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlcyIgVHlw +ZU5hbWU9InVhOlZhcmlhbnQiIExlbmd0aEZpZWxkPSJOb09mVmFsdWVzIiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik5vZGVSZWZlcmVu +Y2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +Tm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVm +ZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iSXNGb3J3YXJkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJOb09mUmVmZXJlbmNlZE5vZGVJZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VkTm9kZUlkcyIgVHlwZU5hbWU9InVhOk5vZGVJZCIg +TGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2VkTm9kZUlkcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl +ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDb250ZW50RmlsdGVyRWxlbWVu +dCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJG +aWx0ZXJPcGVyYXRvciIgVHlwZU5hbWU9InRuczpGaWx0ZXJPcGVyYXRvciIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vT2ZGaWx0ZXJPcGVyYW5kcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRlck9wZXJhbmRzIiBUeXBlTmFtZT0idWE6RXh0ZW5z +aW9uT2JqZWN0IiBMZW5ndGhGaWVsZD0iTm9PZkZpbHRlck9wZXJhbmRzIiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNvbnRlbnRGaWx0 +ZXIiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +Tm9PZkVsZW1lbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iRWxlbWVudHMiIFR5cGVOYW1lPSJ0bnM6Q29udGVudEZpbHRlckVsZW1lbnQiIExlbmd0aEZp +ZWxkPSJOb09mRWxlbWVudHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iRmlsdGVyT3BlcmFuZCIgQmFzZVR5cGU9InVhOkV4dGVuc2lv +bk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iRWxlbWVudE9wZXJhbmQiIEJhc2VUeXBlPSJ0bnM6RmlsdGVyT3BlcmFuZCI+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJJbmRleCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwv +b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTGl0ZXJh +bE9wZXJhbmQiIEJhc2VUeXBlPSJ0bnM6RmlsdGVyT3BlcmFuZCI+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQXR0cmlidXRlT3BlcmFuZCIgQmFz +ZVR5cGU9InRuczpGaWx0ZXJPcGVyYW5kIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIg +VHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFsaWFzIiBUeXBl +TmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZVBhdGgiIFR5 +cGVOYW1lPSJ0bnM6UmVsYXRpdmVQYXRoIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXR0cmli +dXRlSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5k +ZXhSYW5nZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2ltcGxlQXR0cmlidXRlT3BlcmFuZCIg +QmFzZVR5cGU9InRuczpGaWx0ZXJPcGVyYW5kIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlR5cGVE +ZWZpbml0aW9uSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mQnJvd3NlUGF0aCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkJyb3dzZVBhdGgiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBMZW5ndGhGaWVs +ZD0iTm9PZkJyb3dzZVBhdGgiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdHRyaWJ1dGVJZCIg +VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbmRleFJhbmdl +IiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg +PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIgQmFz +ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXND +b2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v +T2ZPcGVyYW5kU3RhdHVzQ29kZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJPcGVyYW5kU3RhdHVzQ29kZXMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBM +ZW5ndGhGaWVsZD0iTm9PZk9wZXJhbmRTdGF0dXNDb2RlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ik5vT2ZPcGVyYW5kRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iT3BlcmFuZERpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVh +OkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZk9wZXJhbmREaWFnbm9zdGljSW5mb3Mi +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt +ZT0iQ29udGVudEZpbHRlclJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRWxlbWVudFJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbGVtZW50UmVzdWx0cyIgVHlwZU5hbWU9InRu +czpDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZFbGVtZW50UmVz +dWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFbGVtZW50RGlhZ25vc3RpY0luZm9z +IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRWxlbWVudERp +YWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0i +Tm9PZkVsZW1lbnREaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K +DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUGFyc2luZ1Jlc3VsdCIgQmFzZVR5cGU9InVh +OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBl +TmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEYXRhU3Rh +dHVzQ29kZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE +YXRhU3RhdHVzQ29kZXMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9P +ZkRhdGFTdGF0dXNDb2RlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEYXRhRGlhZ25v +c3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +RGF0YURpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhG +aWVsZD0iTm9PZkRhdGFEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUXVlcnlGaXJzdFJlcXVlc3QiIEJhc2VU +eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhl +YWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iVmlldyIgVHlwZU5hbWU9InRuczpWaWV3RGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb09mTm9kZVR5cGVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9kZVR5cGVzIiBUeXBlTmFtZT0idG5zOk5vZGVUeXBlRGVzY3JpcHRpb24i +IExlbmd0aEZpZWxkPSJOb09mTm9kZVR5cGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmls +dGVyIiBUeXBlTmFtZT0idG5zOkNvbnRlbnRGaWx0ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJNYXhEYXRhU2V0c1RvUmV0dXJuIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik1heFJlZmVyZW5jZXNUb1JldHVybiIgVHlwZU5hbWU9Im9wYzpVSW50MzIi +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt +ZT0iUXVlcnlGaXJzdFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNl +SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlF1ZXJ5RGF0YVNldHMiIFR5cGVO +YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJRdWVyeURhdGFTZXRzIiBU +eXBlTmFtZT0idG5zOlF1ZXJ5RGF0YVNldCIgTGVuZ3RoRmllbGQ9Ik5vT2ZRdWVyeURhdGFTZXRz +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29udGludWF0aW9uUG9pbnQiIFR5cGVOYW1lPSJv +cGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZQYXJzaW5nUmVzdWx0 +cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBhcnNpbmdS +ZXN1bHRzIiBUeXBlTmFtZT0idG5zOlBhcnNpbmdSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUGFy +c2luZ1Jlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9z +IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3Rp +Y0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlh +Z25vc3RpY0luZm9zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmlsdGVyUmVzdWx0IiBUeXBl +TmFtZT0idG5zOkNvbnRlbnRGaWx0ZXJSZXN1bHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUXVlcnlOZXh0UmVxdWVzdCIgQmFzZVR5 +cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVh +ZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJSZWxlYXNlQ29udGludWF0aW9uUG9pbnQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiBUeXBlTmFtZT0ib3BjOkJ5dGVT +dHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iUXVlcnlOZXh0UmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVz +cG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUXVlcnlEYXRhU2V0cyIg +VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlF1ZXJ5RGF0YVNl +dHMiIFR5cGVOYW1lPSJ0bnM6UXVlcnlEYXRhU2V0IiBMZW5ndGhGaWVsZD0iTm9PZlF1ZXJ5RGF0 +YVNldHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkQ29udGludWF0aW9uUG9pbnQi +IFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iIExlbmd0aElu +Qml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNvdXJjZSIgVmFsdWU9 +IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU2VydmVyIiBWYWx1ZT0iMSIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCb3RoIiBWYWx1ZT0iMiIgLz4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOZWl0aGVyIiBWYWx1ZT0iMyIgLz4NCiAgICA8 +b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnZhbGlkIiBWYWx1ZT0iNCIgLz4NCiAgPC9vcGM6 +RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWFkVmFsdWVJ +ZCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO +b2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdHRy +aWJ1dGVJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJ +bmRleFJhbmdlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkRhdGFFbmNvZGluZyIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIC8+DQogIDwvb3BjOlN0 +cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVhZFJlcXVlc3Qi +IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVx +dWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTWF4QWdlIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlRpbWVzdGFtcHNUb1JldHVybiIgVHlwZU5hbWU9InRuczpUaW1lc3RhbXBzVG9SZXR1 +cm4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTm9kZXNUb1JlYWQiIFR5cGVOYW1lPSJv +cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rlc1RvUmVhZCIgVHlwZU5hbWU9 +InRuczpSZWFkVmFsdWVJZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvUmVhZCIgLz4NCiAgPC9v +cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWFkUmVz +cG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpEYXRhVmFsdWUiIExlbmd0 +aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9z +dGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE +aWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9 +Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv +cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeVJlYWRWYWx1ZUlkIiBCYXNlVHlwZT0idWE6 +RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9 +InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkluZGV4UmFuZ2UiIFR5cGVOYW1l +PSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YUVuY29kaW5nIiBUeXBl +TmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbnRpbnVh +dGlvblBvaW50IiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeVJlYWRSZXN1bHQi +IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Rh +dHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJDb250aW51YXRpb25Qb2ludCIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iSGlzdG9yeURhdGEiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3Qi +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt +ZT0iSGlzdG9yeVJlYWREZXRhaWxzIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg +PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWFk +RXZlbnREZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyI+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOdW1WYWx1ZXNQZXJOb2RlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXJ0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXIiIFR5cGVOYW1lPSJ0bnM6RXZlbnRGaWx0 +ZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iUmVhZFJhd01vZGlmaWVkRGV0YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5UmVhZERl +dGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNSZWFkTW9kaWZpZWQiIFR5cGVOYW1lPSJv +cGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXJ0VGltZSIgVHlwZU5hbWU9 +Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZFRpbWUiIFR5cGVOYW1l +PSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOdW1WYWx1ZXNQZXJOb2Rl +IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldHVybkJv +dW5kcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N +Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlYWRQcm9jZXNzZWREZXRhaWxzIiBCYXNl +VHlwZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGFy +dFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJF +bmRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +UHJvY2Vzc2luZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vT2ZBZ2dyZWdhdGVUeXBlIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iQWdncmVnYXRlVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgTGVu +Z3RoRmllbGQ9Ik5vT2ZBZ2dyZWdhdGVUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWdn +cmVnYXRlQ29uZmlndXJhdGlvbiIgVHlwZU5hbWU9InRuczpBZ2dyZWdhdGVDb25maWd1cmF0aW9u +IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9IlJlYWRBdFRpbWVEZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyI+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVxVGltZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXFUaW1lcyIgVHlwZU5hbWU9Im9wYzpEYXRlVGlt +ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXFUaW1lcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVz +ZVNpbXBsZUJvdW5kcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlEYXRhIiBCYXNl +VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEYXRh +VmFsdWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0 +YVZhbHVlcyIgVHlwZU5hbWU9InVhOkRhdGFWYWx1ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZEYXRhVmFs +dWVzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl +IE5hbWU9Ik1vZGlmaWNhdGlvbkluZm8iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iTW9kaWZpY2F0aW9uVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRl +VGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVwZGF0ZVR5cGUiIFR5cGVOYW1lPSJ0bnM6 +SGlzdG9yeVVwZGF0ZVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyTmFtZSIgVHlw +ZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeU1vZGlmaWVkRGF0YSIgQmFzZVR5cGU9InRuczpI +aXN0b3J5RGF0YSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGF0YVZhbHVlcyIgVHlwZU5h +bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFWYWx1ZXMiIFR5cGVO +YW1lPSJ1YTpEYXRhVmFsdWUiIExlbmd0aEZpZWxkPSJOb09mRGF0YVZhbHVlcyIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik5vT2ZNb2RpZmljYXRpb25JbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vZGlmaWNhdGlvbkluZm9zIiBUeXBlTmFtZT0i +dG5zOk1vZGlmaWNhdGlvbkluZm8iIExlbmd0aEZpZWxkPSJOb09mTW9kaWZpY2F0aW9uSW5mb3Mi +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt +ZT0iSGlzdG9yeUV2ZW50IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vT2ZFdmVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJFdmVudHMiIFR5cGVOYW1lPSJ0bnM6SGlzdG9yeUV2ZW50RmllbGRMaXN0 +IiBMZW5ndGhGaWVsZD0iTm9PZkV2ZW50cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5UmVhZFJlcXVlc3QiIEJhc2VUeXBl +PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRl +ciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +SGlzdG9yeVJlYWREZXRhaWxzIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiBUeXBlTmFtZT0idG5zOlRpbWVz +dGFtcHNUb1JldHVybiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlbGVhc2VDb250aW51YXRp +b25Qb2ludHMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5vT2ZOb2Rlc1RvUmVhZCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vZGVzVG9SZWFkIiBUeXBlTmFtZT0idG5zOkhpc3RvcnlSZWFkVmFsdWVJZCIgTGVu +Z3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvUmVhZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5UmVhZFJlc3BvbnNlIiBCYXNlVHlw +ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVh +ZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idG5zOkhpc3RvcnlSZWFkUmVzdWx0IiBMZW5ndGhGaWVs +ZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0lu +Zm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25v +c3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09m +RGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9IldyaXRlVmFsdWUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl +Y3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXR0cmlidXRlSWQiIFR5cGVOYW1lPSJvcGM6VUludDMy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5kZXhSYW5nZSIgVHlwZU5hbWU9Im9wYzpTdHJp +bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOkRhdGFWYWx1 +ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO +YW1lPSJXcml0ZVJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVzVG9Xcml0ZSIgVHlwZU5hbWU9Im9w +YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVzVG9Xcml0ZSIgVHlwZU5hbWU9 +InRuczpXcml0ZVZhbHVlIiBMZW5ndGhGaWVsZD0iTm9PZk5vZGVzVG9Xcml0ZSIgLz4NCiAgPC9v +cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJXcml0ZVJl +c3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVu +Z3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdu +b3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVs +ZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg +PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5VXBkYXRlRGV0YWlscyIgQmFzZVR5cGU9 +InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVO +YW1lPSJ1YTpOb2RlSWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51 +bWVyYXRlZFR5cGUgTmFtZT0iSGlzdG9yeVVwZGF0ZVR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikluc2VydCIgVmFsdWU9IjEiIC8+DQogICAg +PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVwbGFjZSIgVmFsdWU9IjIiIC8+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVXBkYXRlIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVu +dW1lcmF0ZWRWYWx1ZSBOYW1lPSJEZWxldGUiIFZhbHVlPSI0IiAvPg0KICA8L29wYzpFbnVtZXJh +dGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlBlcmZvcm1VcGRhdGVUeXBl +IiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnNl +cnQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlcGxhY2Ui +IFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVwZGF0ZSIgVmFs +dWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVtb3ZlIiBWYWx1ZT0i +NCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO +YW1lPSJVcGRhdGVEYXRhRGV0YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0YWls +cyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNv +dXJjZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlBlcmZvcm1JbnNlcnRSZXBsYWNlIiBUeXBlTmFtZT0idG5zOlBlcmZvcm1VcGRhdGVUeXBl +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlVwZGF0ZVZhbHVlcyIgVHlwZU5hbWU9Im9w +YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVwZGF0ZVZhbHVlcyIgVHlwZU5hbWU9 +InVhOkRhdGFWYWx1ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZVcGRhdGVWYWx1ZXMiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVXBkYXRlU3Ry +dWN0dXJlRGF0YURldGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VU +eXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQ +ZXJmb3JtSW5zZXJ0UmVwbGFjZSIgVHlwZU5hbWU9InRuczpQZXJmb3JtVXBkYXRlVHlwZSIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZVcGRhdGVWYWx1ZXMiIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVcGRhdGVWYWx1ZXMiIFR5cGVOYW1lPSJ1YTpE +YXRhVmFsdWUiIExlbmd0aEZpZWxkPSJOb09mVXBkYXRlVmFsdWVzIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlVwZGF0ZUV2ZW50RGV0 +YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpIaXN0 +b3J5VXBkYXRlRGV0YWlscyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBlcmZvcm1JbnNlcnRS +ZXBsYWNlIiBUeXBlTmFtZT0idG5zOlBlcmZvcm1VcGRhdGVUeXBlIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iRmlsdGVyIiBUeXBlTmFtZT0idG5zOkV2ZW50RmlsdGVyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9PZkV2ZW50RGF0YSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkV2ZW50RGF0YSIgVHlwZU5hbWU9InRuczpIaXN0b3J5RXZlbnRGaWVs +ZExpc3QiIExlbmd0aEZpZWxkPSJOb09mRXZlbnREYXRhIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk +VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZVJhd01vZGlmaWVkRGV0 +YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpIaXN0 +b3J5VXBkYXRlRGV0YWlscyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzRGVsZXRlTW9kaWZp +ZWQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXJ0 +VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVu +ZFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlQXRUaW1lRGV0YWlscyIgQmFz +ZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO +b2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpIaXN0b3J5VXBkYXRl +RGV0YWlscyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXFUaW1lcyIgVHlwZU5hbWU9 +Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcVRpbWVzIiBUeXBlTmFtZT0i +b3BjOkRhdGVUaW1lIiBMZW5ndGhGaWVsZD0iTm9PZlJlcVRpbWVzIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZUV2ZW50RGV0 +YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpIaXN0 +b3J5VXBkYXRlRGV0YWlscyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFdmVudElkcyIg +VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50SWRzIiBU +eXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mRXZlbnRJZHMiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlz +dG9yeVVwZGF0ZVJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZPcGVyYXRpb25SZXN1bHRzIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iT3BlcmF0aW9uUmVzdWx0cyIgVHlwZU5hbWU9 +InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mT3BlcmF0aW9uUmVzdWx0cyIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1 +YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlz +dG9yeVVwZGF0ZVJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkhpc3RvcnlVcGRhdGVEZXRhaWxzIiBUeXBl +TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSGlzdG9yeVVwZGF0ZURl +dGFpbHMiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIExlbmd0aEZpZWxkPSJOb09mSGlz +dG9yeVVwZGF0ZURldGFpbHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3BvbnNlIiBCYXNlVHlwZT0idWE6 +RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBU +eXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P +ZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS +ZXN1bHRzIiBUeXBlTmFtZT0idG5zOkhpc3RvcnlVcGRhdGVSZXN1bHQiIExlbmd0aEZpZWxkPSJO +b09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3Mi +IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGlj +SW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFn +bm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 +dXJlZFR5cGUgTmFtZT0iQ2FsbE1ldGhvZFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P +YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iT2JqZWN0SWQiIFR5cGVOYW1lPSJ1YTpOb2Rl +SWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXRob2RJZCIgVHlwZU5hbWU9InVhOk5vZGVJ +ZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZJbnB1dEFyZ3VtZW50cyIgVHlwZU5hbWU9 +Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklucHV0QXJndW1lbnRzIiBUeXBl +TmFtZT0idWE6VmFyaWFudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZJbnB1dEFyZ3VtZW50cyIgLz4NCiAg +PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDYWxs +TWV0aG9kUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTm9PZklucHV0QXJndW1lbnRSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5wdXRBcmd1bWVudFJlc3VsdHMiIFR5cGVO +YW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZklucHV0QXJndW1lbnRSZXN1bHRz +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZklucHV0QXJndW1lbnREaWFnbm9zdGljSW5m +b3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbnB1dEFy +Z3VtZW50RGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0 +aEZpZWxkPSJOb09mSW5wdXRBcmd1bWVudERpYWdub3N0aWNJbmZvcyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vT2ZPdXRwdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJPdXRwdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJ1YTpWYXJpYW50 +IiBMZW5ndGhGaWVsZD0iTm9PZk91dHB1dEFyZ3VtZW50cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl +ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDYWxsUmVxdWVzdCIgQmFzZVR5 +cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVh +ZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mTWV0aG9kc1RvQ2FsbCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik1ldGhvZHNUb0NhbGwiIFR5cGVOYW1lPSJ0bnM6Q2FsbE1ldGhvZFJlcXVlc3Qi +IExlbmd0aEZpZWxkPSJOb09mTWV0aG9kc1RvQ2FsbCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 +cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDYWxsUmVzcG9uc2UiIEJhc2VUeXBl +PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFk +ZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6Q2FsbE1ldGhvZFJlc3VsdCIgTGVuZ3RoRmllbGQ9 +Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZv +cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0 +aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRp +YWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVt +ZXJhdGVkVHlwZSBOYW1lPSJNb25pdG9yaW5nTW9kZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAg +PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGlzYWJsZWQiIFZhbHVlPSIwIiAvPg0KICAgIDxv +cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNhbXBsaW5nIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3Bj +OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZXBvcnRpbmciIFZhbHVlPSIyIiAvPg0KICA8L29wYzpF +bnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkRhdGFDaGFuZ2VU +cmlnZ2VyIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l +PSJTdGF0dXMiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN0 +YXR1c1ZhbHVlIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJT +dGF0dXNWYWx1ZVRpbWVzdGFtcCIgVmFsdWU9IjIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBl +Pg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRGVhZGJhbmRUeXBlIiBMZW5ndGhJbkJp +dHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25lIiBWYWx1ZT0iMCIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBYnNvbHV0ZSIgVmFsdWU9IjEiIC8+ +DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUGVyY2VudCIgVmFsdWU9IjIiIC8+DQog +IDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9u +aXRvcmluZ0ZpbHRlciIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0 +cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGF0YUNoYW5nZUZp +bHRlciIgQmFzZVR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVyIj4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlRyaWdnZXIiIFR5cGVOYW1lPSJ0bnM6RGF0YUNoYW5nZVRyaWdnZXIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJEZWFkYmFuZFR5cGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iRGVhZGJhbmRWYWx1ZSIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+ +DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i +RXZlbnRGaWx0ZXIiIEJhc2VUeXBlPSJ0bnM6TW9uaXRvcmluZ0ZpbHRlciI+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJOb09mU2VsZWN0Q2xhdXNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlNlbGVjdENsYXVzZXMiIFR5cGVOYW1lPSJ0bnM6U2ltcGxlQXR0 +cmlidXRlT3BlcmFuZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZWxlY3RDbGF1c2VzIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iV2hlcmVDbGF1c2UiIFR5cGVOYW1lPSJ0bnM6Q29udGVudEZpbHRlciIg +Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l +PSJBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZVNlcnZlckNhcGFiaWxpdGllc0RlZmF1bHRzIiBUeXBl +TmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmVhdFVuY2VydGFp +bkFzQmFkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQ +ZXJjZW50RGF0YUJhZCIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iUGVyY2VudERhdGFHb29kIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJVc2VTbG9wZWRFeHRyYXBvbGF0aW9uIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+ +DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i +QWdncmVnYXRlRmlsdGVyIiBCYXNlVHlwZT0idG5zOk1vbml0b3JpbmdGaWx0ZXIiPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iU3RhcnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iQWdncmVnYXRlVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlByb2Nlc3NpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpE +b3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBU +eXBlTmFtZT0idG5zOkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9uaXRvcmluZ0ZpbHRlclJl +c3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRXZlbnRGaWx0ZXJSZXN1bHQiIEJh +c2VUeXBlPSJ0bnM6TW9uaXRvcmluZ0ZpbHRlclJlc3VsdCI+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mU2VsZWN0Q2xhdXNlUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlNlbGVjdENsYXVzZVJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXND +b2RlIiBMZW5ndGhGaWVsZD0iTm9PZlNlbGVjdENsYXVzZVJlc3VsdHMiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJOb09mU2VsZWN0Q2xhdXNlRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3Bj +OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VsZWN0Q2xhdXNlRGlhZ25vc3RpY0lu +Zm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mU2VsZWN0 +Q2xhdXNlRGlhZ25vc3RpY0luZm9zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV2hlcmVDbGF1 +c2VSZXN1bHQiIFR5cGVOYW1lPSJ0bnM6Q29udGVudEZpbHRlclJlc3VsdCIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBZ2dyZWdhdGVG +aWx0ZXJSZXN1bHQiIEJhc2VUeXBlPSJ0bnM6TW9uaXRvcmluZ0ZpbHRlclJlc3VsdCI+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkU3RhcnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1l +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZFByb2Nlc3NpbmdJbnRlcnZhbCIgVHlw +ZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkQWdncmVn +YXRlQ29uZmlndXJhdGlvbiIgVHlwZU5hbWU9InRuczpBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiAv +Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 +Ik1vbml0b3JpbmdQYXJhbWV0ZXJzIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudEhhbmRsZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTYW1wbGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRv +dWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRlciIgVHlwZU5hbWU9InVhOkV4dGVu +c2lvbk9iamVjdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlF1ZXVlU2l6ZSIgVHlwZU5hbWU9 +Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNjYXJkT2xkZXN0IiBUeXBl +TmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIEJhc2VUeXBl +PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXRlbVRvTW9uaXRv +ciIgVHlwZU5hbWU9InRuczpSZWFkVmFsdWVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1v +bml0b3JpbmdNb2RlIiBUeXBlTmFtZT0idG5zOk1vbml0b3JpbmdNb2RlIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iUmVxdWVzdGVkUGFyYW1ldGVycyIgVHlwZU5hbWU9InRuczpNb25pdG9yaW5n +UGFyYW1ldGVycyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 +cmVkVHlwZSBOYW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0 +ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1l +PSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmVkSXRlbUlk +IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRT +YW1wbGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlJldmlzZWRRdWV1ZVNpemUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iRmlsdGVyUmVzdWx0IiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5z +OlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIg +VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lc3RhbXBz +VG9SZXR1cm4iIFR5cGVOYW1lPSJ0bnM6VGltZXN0YW1wc1RvUmV0dXJuIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9PZkl0ZW1zVG9DcmVhdGUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJJdGVtc1RvQ3JlYXRlIiBUeXBlTmFtZT0idG5zOk1vbml0b3Jl +ZEl0ZW1DcmVhdGVSZXF1ZXN0IiBMZW5ndGhGaWVsZD0iTm9PZkl0ZW1zVG9DcmVhdGUiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ3Jl +YXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNw +b25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFt +ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9 +InRuczpNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0i +b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBl +TmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9z +IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9Ik1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3JlZEl0ZW1JZCIgVHlwZU5hbWU9Im9w +YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRQYXJhbWV0ZXJzIiBU +eXBlTmFtZT0idG5zOk1vbml0b3JpbmdQYXJhbWV0ZXJzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk +VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vbml0b3JlZEl0ZW1Nb2RpZnlS +ZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZXZpc2VkU2FtcGxpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkUXVldWVTaXplIiBUeXBlTmFtZT0ib3BjOlVJ +bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRlclJlc3VsdCIgVHlwZU5hbWU9InVh +OkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT +dHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb2RpZnlNb25pdG9yZWRJdGVtc1JlcXVlc3QiIEJhc2VUeXBl +PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRl +ciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +U3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiBUeXBlTmFtZT0idG5zOlRpbWVzdGFtcHNUb1JldHVy +biIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZJdGVtc1RvTW9kaWZ5IiBUeXBlTmFtZT0i +b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXRlbXNUb01vZGlmeSIgVHlwZU5h +bWU9InRuczpNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZJdGVt +c1RvTW9kaWZ5IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy +ZWRUeXBlIE5hbWU9Ik1vZGlmeU1vbml0b3JlZEl0ZW1zUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpF +eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5 +cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m +UmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl +c3VsdHMiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCIgTGVuZ3RoRmll +bGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJ +bmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdu +b3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9P +ZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT +dHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXRNb25pdG9yaW5nTW9kZVJlcXVlc3QiIEJhc2VUeXBlPSJ1 +YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIg +VHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vi +c2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTW9uaXRvcmluZ01vZGUiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmluZ01vZGUiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJOb09mTW9uaXRvcmVkSXRlbUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3JlZEl0ZW1JZHMiIFR5cGVOYW1lPSJv +cGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZk1vbml0b3JlZEl0ZW1JZHMiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2V0TW9uaXRv +cmluZ01vZGVSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRl +ciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1 +c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIg +TGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2V0VHJpZ2dlcmluZ1JlcXVlc3Qi +IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVx +dWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iU3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iVHJpZ2dlcmluZ0l0ZW1JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTGlua3NUb0FkZCIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxpbmtzVG9BZGQiIFR5cGVOYW1lPSJvcGM6VUlu +dDMyIiBMZW5ndGhGaWVsZD0iTm9PZkxpbmtzVG9BZGQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mTGlua3NUb1JlbW92ZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkxpbmtzVG9SZW1vdmUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVs +ZD0iTm9PZkxpbmtzVG9SZW1vdmUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv +cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2V0VHJpZ2dlcmluZ1Jlc3BvbnNlIiBCYXNlVHlwZT0i +dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVy +IiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +Tm9PZkFkZFJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJBZGRSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5v +T2ZBZGRSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkFkZERpYWdub3N0aWNJ +bmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFkZERp +YWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0i +Tm9PZkFkZERpYWdub3N0aWNJbmZvcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZW1v +dmVSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +UmVtb3ZlUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09m +UmVtb3ZlUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZW1vdmVEaWFnbm9z +dGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS +ZW1vdmVEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3Ro +RmllbGQ9Ik5vT2ZSZW1vdmVEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlTW9uaXRvcmVkSXRlbXNS +ZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZNb25pdG9yZWRJdGVtSWRzIiBUeXBlTmFtZT0ib3Bj +OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmVkSXRlbUlkcyIgVHlwZU5h +bWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mTW9uaXRvcmVkSXRlbUlkcyIgLz4NCiAg +PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxl +dGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3Bv +bnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0i +dWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0 +aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3Ry +dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDcmVhdGVTdWJzY3Jp +cHRpb25SZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbCIgVHlwZU5h +bWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRMaWZldGlt +ZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl +cXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoIiBUeXBlTmFtZT0ib3Bj +OlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hpbmdFbmFibGVkIiBUeXBl +TmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcmlvcml0eSIgVHlw +ZU5hbWU9Im9wYzpCeXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9IkNyZWF0ZVN1YnNjcmlwdGlvblJlc3BvbnNlIiBCYXNlVHlwZT0i +dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVy +IiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +U3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iUmV2aXNlZFB1Ymxpc2hpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkTGlmZXRpbWVDb3VudCIgVHlwZU5hbWU9Im9w +YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkTWF4S2VlcEFsaXZlQ291 +bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K +ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvblJlcXVlc3QiIEJh +c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVz +dEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iU3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iUmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRv +dWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZExpZmV0aW1lQ291bnQiIFR5 +cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkTWF4 +S2VlcEFsaXZlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2giIFR5cGVOYW1lPSJvcGM6VUludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJpb3JpdHkiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4N +CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJN +b2RpZnlTdWJzY3JpcHRpb25SZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNw +b25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRQdWJsaXNoaW5nSW50 +ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2 +aXNlZExpZmV0aW1lQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iUmV2aXNlZE1heEtlZXBBbGl2ZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg +Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l +PSJTZXRQdWJsaXNoaW5nTW9kZVJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1 +ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaGluZ0VuYWJsZWQiIFR5 +cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTdWJzY3Jp +cHRpb25JZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT +dWJzY3JpcHRpb25JZHMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZlN1 +YnNjcmlwdGlvbklkcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 +Y3R1cmVkVHlwZSBOYW1lPSJTZXRQdWJsaXNoaW5nTW9kZVJlc3BvbnNlIiBCYXNlVHlwZT0idWE6 +RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBU +eXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P +ZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS +ZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRz +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9 +Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlw +ZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZv +cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO +YW1lPSJOb3RpZmljYXRpb25NZXNzYWdlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcXVlbmNlTnVtYmVyIiBUeXBlTmFtZT0ib3BjOlVJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hUaW1lIiBUeXBlTmFtZT0ib3BjOkRh +dGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vdGlmaWNhdGlvbkRhdGEiIFR5 +cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb3RpZmljYXRpb25E +YXRhIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBMZW5ndGhGaWVsZD0iTm9PZk5vdGlm +aWNhdGlvbkRhdGEiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 +dXJlZFR5cGUgTmFtZT0iTm90aWZpY2F0aW9uRGF0YSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iRGF0YUNoYW5nZU5vdGlmaWNhdGlvbiIgQmFzZVR5cGU9InRuczpOb3RpZmljYXRpb25E +YXRhIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZNb25pdG9yZWRJdGVtcyIgVHlwZU5hbWU9 +Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3JlZEl0ZW1zIiBUeXBl +TmFtZT0idG5zOk1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iIExlbmd0aEZpZWxkPSJOb09mTW9u +aXRvcmVkSXRlbXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9z +IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3Rp +Y0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlh +Z25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj +dHVyZWRUeXBlIE5hbWU9Ik1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iIEJhc2VUeXBlPSJ1YTpF +eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50SGFuZGxlIiBUeXBl +TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFt +ZT0idWE6RGF0YVZhbHVlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9IkV2ZW50Tm90aWZpY2F0aW9uTGlzdCIgQmFzZVR5cGU9InRuczpO +b3RpZmljYXRpb25EYXRhIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFdmVudHMiIFR5cGVO +YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVudHMiIFR5cGVOYW1l +PSJ0bnM6RXZlbnRGaWVsZExpc3QiIExlbmd0aEZpZWxkPSJOb09mRXZlbnRzIiAvPg0KICA8L29w +YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkV2ZW50Rmll +bGRMaXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkNsaWVudEhhbmRsZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb09mRXZlbnRGaWVsZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJFdmVudEZpZWxkcyIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIExlbmd0aEZp +ZWxkPSJOb09mRXZlbnRGaWVsZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv +cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeUV2ZW50RmllbGRMaXN0IiBCYXNlVHlwZT0i +dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFdmVudEZpZWxk +cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50Rmll +bGRzIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZFdmVudEZpZWxkcyIg +Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l +PSJTdGF0dXNDaGFuZ2VOb3RpZmljYXRpb24iIEJhc2VUeXBlPSJ0bnM6Tm90aWZpY2F0aW9uRGF0 +YSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2Rl +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm8iIFR5cGVOYW1lPSJ1YTpE +aWFnbm9zdGljSW5mbyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 +Y3R1cmVkVHlwZSBOYW1lPSJTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiIEJhc2VUeXBlPSJ1 +YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWQi +IFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VxdWVuY2VO +dW1iZXIiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N +Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlB1Ymxpc2hSZXF1ZXN0IiBCYXNlVHlwZT0i +dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIi +IFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v +T2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50cyIgVHlwZU5h +bWU9InRuczpTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiIExlbmd0aEZpZWxkPSJOb09mU3Vi +c2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJQdWJsaXNoUmVzcG9uc2UiIEJhc2VUeXBlPSJ1 +YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIi +IFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT +dWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJOb09mQXZhaWxhYmxlU2VxdWVuY2VOdW1iZXJzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXZhaWxhYmxlU2VxdWVuY2VOdW1iZXJzIiBUeXBlTmFt +ZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBdmFpbGFibGVTZXF1ZW5jZU51bWJlcnMi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb3JlTm90aWZpY2F0aW9ucyIgVHlwZU5hbWU9Im9w +YzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm90aWZpY2F0aW9uTWVzc2FnZSIg +VHlwZU5hbWU9InRuczpOb3RpZmljYXRpb25NZXNzYWdlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZS +ZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlw +ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZv +cyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0 +aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk +VHlwZSBOYW1lPSJSZXB1Ymxpc2hSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVx +dWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBl +TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldHJhbnNtaXRTZXF1 +ZW5jZU51bWJlciIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVwdWJsaXNoUmVzcG9uc2UiIEJh +c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9u +c2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb3RpZmljYXRpb25NZXNzYWdlIiBUeXBlTmFtZT0idG5zOk5vdGlmaWNhdGlvbk1l +c3NhZ2UiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iVHJhbnNmZXJSZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXZhaWxhYmxlU2VxdWVuY2VOdW1iZXJzIiBU +eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXZhaWxhYmxlU2Vx +dWVuY2VOdW1iZXJzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBdmFp +bGFibGVTZXF1ZW5jZU51bWJlcnMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv +cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVHJhbnNmZXJTdWJzY3JpcHRpb25zUmVxdWVzdCIgQmFz +ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0 +SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJOb09mU3Vic2NyaXB0aW9uSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWRzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVu +Z3RoRmllbGQ9Ik5vT2ZTdWJzY3JpcHRpb25JZHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT +ZW5kSW5pdGlhbFZhbHVlcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRyYW5zZmVyU3Vic2Ny +aXB0aW9uc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idG5zOlRyYW5z +ZmVyUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0lu +Zm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZVN1YnNjcmlwdGlv +bnNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTdWJzY3JpcHRpb25JZHMiIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZHMiIFR5cGVOYW1lPSJv +cGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZlN1YnNjcmlwdGlvbklkcyIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVTdWJz +Y3JpcHRpb25zUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFk +ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJ +bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0 +dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8i +IExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk +VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJ1aWxkSW5mbyIgQmFzZVR5cGU9 +InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcm9kdWN0VXJpIiBU +eXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1hbnVmYWN0dXJl +ck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJv +ZHVjdE5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +U29mdHdhcmVWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkJ1aWxkTnVtYmVyIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkJ1aWxkRGF0ZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJSZWR1bmRhbmN5 +U3VwcG9ydCIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt +ZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ29s +ZCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iV2FybSIgVmFs +dWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSG90IiBWYWx1ZT0iMyIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJUcmFuc3BhcmVudCIgVmFsdWU9IjQi +IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSG90QW5kTWlycm9yZWQiIFZhbHVl +PSI1IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBl +IE5hbWU9IlNlcnZlclN0YXRlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0 +ZWRWYWx1ZSBOYW1lPSJSdW5uaW5nIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJGYWlsZWQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9Ik5vQ29uZmlndXJhdGlvbiIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk +VmFsdWUgTmFtZT0iU3VzcGVuZGVkIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJTaHV0ZG93biIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs +dWUgTmFtZT0iVGVzdCIgVmFsdWU9IjUiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt +ZT0iQ29tbXVuaWNhdGlvbkZhdWx0IiBWYWx1ZT0iNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJVbmtub3duIiBWYWx1ZT0iNyIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+ +DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIg +QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2 +ZXJJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2 +aWNlTGV2ZWwiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNl +cnZlclN0YXRlIiBUeXBlTmFtZT0idG5zOlNlcnZlclN0YXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkVuZHBvaW50VXJsTGlzdERh +dGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ik5vT2ZFbmRwb2ludFVybExpc3QiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybExpc3QiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5n +dGhGaWVsZD0iTm9PZkVuZHBvaW50VXJsTGlzdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ +DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJOZXR3b3JrR3JvdXBEYXRhVHlwZSIgQmFz +ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJV +cmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5l +dHdvcmtQYXRocyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5ldHdvcmtQYXRocyIgVHlwZU5hbWU9InRuczpFbmRwb2ludFVybExpc3REYXRhVHlwZSIgTGVu +Z3RoRmllbGQ9Ik5vT2ZOZXR3b3JrUGF0aHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K +DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNz +RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iU2FtcGxpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJNb25pdG9yZWRJdGVtQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4TW9uaXRvcmVkSXRlbUNvdW50IiBUeXBlTmFtZT0i +b3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2FibGVkTW9uaXRvcmVkSXRl +bUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ +DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXJ2ZXJEaWFnbm9zdGljc1N1bW1hcnlE +YXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJTZXJ2ZXJWaWV3Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iQ3VycmVudFNlc3Npb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdW11bGF0ZWRTZXNzaW9uQ291bnQiIFR5cGVOYW1lPSJv +cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlSZWplY3RlZFNlc3Np +b25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS +ZWplY3RlZFNlc3Npb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJTZXNzaW9uVGltZW91dENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlc3Npb25BYm9ydENvdW50IiBUeXBlTmFtZT0ib3BjOlVJ +bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1cnJlbnRTdWJzY3JpcHRpb25Db3VudCIg +VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdW11bGF0ZWRT +dWJzY3JpcHRpb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJQdWJsaXNoaW5nSW50ZXJ2YWxDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eVJlamVjdGVkUmVxdWVzdHNDb3VudCIgVHlw +ZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWplY3RlZFJlcXVl +c3RzQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNlcnZlclN0YXR1c0RhdGFUeXBlIiBC +YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXJ0 +VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1 +cnJlbnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iU3RhdGUiIFR5cGVOYW1lPSJ0bnM6U2VydmVyU3RhdGUiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJCdWlsZEluZm8iIFR5cGVOYW1lPSJ0bnM6QnVpbGRJbmZvIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iU2Vjb25kc1RpbGxTaHV0ZG93biIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJTaHV0ZG93blJlYXNvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXpl +ZFRleHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp +b25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6 +Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvbk5hbWUiIFR5cGVOYW1lPSJv +cGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50RGVzY3JpcHRpb24iIFR5 +cGVOYW1lPSJ0bnM6QXBwbGljYXRpb25EZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlNlcnZlclVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJFbmRwb2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb09mTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9 +Ik5vT2ZMb2NhbGVJZHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBY3R1YWxTZXNzaW9uVGlt +ZW91dCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhS +ZXNwb25zZU1lc3NhZ2VTaXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkNsaWVudENvbm5lY3Rpb25UaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50TGFzdENvbnRhY3RUaW1lIiBUeXBlTmFtZT0i +b3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3VycmVudFN1YnNjcmlwdGlv +bnNDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJD +dXJyZW50TW9uaXRvcmVkSXRlbXNDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJDdXJyZW50UHVibGlzaFJlcXVlc3RzSW5RdWV1ZSIgVHlwZU5hbWU9 +Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUb3RhbFJlcXVlc3RDb3VudCIg +VHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iVW5hdXRob3JpemVkUmVxdWVzdENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlYWRDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291 +bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSGlzdG9yeVJlYWRDb3VudCIg +VHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iV3JpdGVDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSGlzdG9yeVVwZGF0ZUNvdW50IiBUeXBlTmFtZT0idG5z +OlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDYWxsQ291 +bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2Vydmlj +ZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vZGlmeU1vbml0b3Jl +ZEl0ZW1zQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlNldE1vbml0b3JpbmdNb2RlQ291bnQiIFR5cGVOYW1lPSJ0bnM6 +U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNldFRyaWdn +ZXJpbmdDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iRGVsZXRlTW9uaXRvcmVkSXRlbXNDb3VudCIgVHlwZU5hbWU9InRu +czpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3JlYXRl +U3Vic2NyaXB0aW9uQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvbkNvdW50IiBUeXBlTmFt +ZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT +ZXRQdWJsaXNoaW5nTW9kZUNvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5 +cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoQ291bnQiIFR5cGVOYW1lPSJ0bnM6 +U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcHVibGlz +aENvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJUcmFuc2ZlclN1YnNjcmlwdGlvbnNDb3VudCIgVHlwZU5hbWU9InRuczpT +ZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVsZXRlU3Vi +c2NyaXB0aW9uc0NvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGROb2Rlc0NvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZp +Y2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGRSZWZlcmVuY2Vz +Q291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IkRlbGV0ZU5vZGVzQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50 +ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNDb3Vu +dCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iQnJvd3NlQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlw +ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5leHRDb3VudCIgVHlwZU5hbWU9InRu +czpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNs +YXRlQnJvd3NlUGF0aHNUb05vZGVJZHNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRl +ckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVlcnlGaXJzdENvdW50IiBUeXBl +TmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJRdWVyeU5leHRDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVnaXN0ZXJOb2Rlc0NvdW50IiBUeXBlTmFtZT0idG5z +OlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVbnJlZ2lz +dGVyTm9kZXNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0K +ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNl +c3Npb25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P +YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6Tm9k +ZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50VXNlcklkT2ZTZXNzaW9uIiBUeXBl +TmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZDbGllbnRVc2Vy +SWRIaXN0b3J5IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +Q2xpZW50VXNlcklkSGlzdG9yeSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJO +b09mQ2xpZW50VXNlcklkSGlzdG9yeSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF1dGhlbnRp +Y2F0aW9uTWVjaGFuaXNtIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkVuY29kaW5nIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlRyYW5zcG9ydFByb3RvY29sIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TW9kZSIgVHlwZU5hbWU9InRuczpNZXNzYWdlU2VjdXJp +dHlNb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlQb2xpY3lVcmkiIFR5cGVO +YW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50Q2VydGlmaWNh +dGUiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ +DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBC +YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRvdGFs +Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXJy +b3JDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3RhdHVzUmVzdWx0IiBCYXNlVHlwZT0i +dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5 +cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3Rp +Y0luZm8iIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl +ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTdWJzY3JpcHRpb25EaWFnbm9z +dGljc0RhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlByaW9yaXR5IiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4S2VlcEFsaXZlQ291bnQiIFR5cGVOYW1lPSJvcGM6 +VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4TGlmZXRpbWVDb3VudCIgVHlwZU5h +bWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhOb3RpZmljYXRpb25z +UGVyUHVibGlzaCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJQdWJsaXNoaW5nRW5hYmxlZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTW9kaWZ5Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iRW5hYmxlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iRGlzYWJsZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcHVibGlzaFJlcXVlc3RDb3VudCIgVHlwZU5hbWU9Im9w +YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXB1Ymxpc2hNZXNzYWdlUmVxdWVz +dENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl +cHVibGlzaE1lc3NhZ2VDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJUcmFuc2ZlclJlcXVlc3RDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc2ZlcnJlZFRvQWx0Q2xpZW50Q291bnQiIFR5cGVO +YW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNmZXJyZWRUb1Nh +bWVDbGllbnRDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJQdWJsaXNoUmVxdWVzdENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkRhdGFDaGFuZ2VOb3RpZmljYXRpb25zQ291bnQiIFR5cGVOYW1lPSJv +cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnROb3RpZmljYXRpb25zQ291 +bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm90aWZp +Y2F0aW9uc0NvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkxhdGVQdWJsaXNoUmVxdWVzdENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkN1cnJlbnRLZWVwQWxpdmVDb3VudCIgVHlwZU5hbWU9Im9wYzpV +SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdXJyZW50TGlmZXRpbWVDb3VudCIgVHlw +ZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVbmFja25vd2xlZGdl +ZE1lc3NhZ2VDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJEaXNjYXJkZWRNZXNzYWdlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmVkSXRlbUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2FibGVkTW9uaXRvcmVkSXRlbUNvdW50IiBU +eXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3JpbmdR +dWV1ZU92ZXJmbG93Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTmV4dFNlcXVlbmNlTnVtYmVyIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50UXVldWVPdmVyRmxvd0NvdW50IiBUeXBlTmFtZT0ib3Bj +OlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVk +VHlwZSBOYW1lPSJNb2RlbENoYW5nZVN0cnVjdHVyZVZlcmJNYXNrIiBMZW5ndGhJbkJpdHM9IjMy +Ij4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlQWRkZWQiIFZhbHVlPSIxIiAv +Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vZGVEZWxldGVkIiBWYWx1ZT0iMiIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWZlcmVuY2VBZGRlZCIgVmFsdWU9 +IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlRGVsZXRlZCIg +VmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGF0YVR5cGVDaGFu +Z2VkIiBWYWx1ZT0iMTYiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3Ry +dWN0dXJlZFR5cGUgTmFtZT0iTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgQmFzZVR5cGU9 +InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZmZlY3RlZCIgVHlw +ZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFmZmVjdGVkVHlwZSIg +VHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZlcmIiIFR5cGVO +YW1lPSJvcGM6Qnl0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 +Y3R1cmVkVHlwZSBOYW1lPSJTZW1hbnRpY0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiBCYXNlVHlw +ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFmZmVjdGVkIiBU +eXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWZmZWN0ZWRUeXBl +IiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 +b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJhbmdlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvdyIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJIaWdoIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAg +PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFVUlu +Zm9ybWF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5hbWVzcGFjZVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJVbml0SWQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQi +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFt +ZT0iQXhpc1NjYWxlRW51bWVyYXRpb24iIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IkxpbmVhciIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJh +dGVkVmFsdWUgTmFtZT0iTG9nIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 +ZSBOYW1lPSJMbiIgVmFsdWU9IjIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxv +cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ29tcGxleE51bWJlclR5cGUiIEJhc2VUeXBlPSJ1YTpF +eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVhbCIgVHlwZU5hbWU9Im9w +YzpGbG9hdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkltYWdpbmFyeSIgVHlwZU5hbWU9Im9w +YzpGbG9hdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk +VHlwZSBOYW1lPSJEb3VibGVDb21wbGV4TnVtYmVyVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lv +bk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWFsIiBUeXBlTmFtZT0ib3BjOkRvdWJs +ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkltYWdpbmFyeSIgVHlwZU5hbWU9Im9wYzpEb3Vi +bGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iQXhpc0luZm9ybWF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkVuZ2luZWVyaW5nVW5pdHMiIFR5cGVOYW1lPSJ0bnM6RVVJbmZv +cm1hdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVVUmFuZ2UiIFR5cGVOYW1lPSJ0bnM6 +UmFuZ2UiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaXRsZSIgVHlwZU5hbWU9InVhOkxvY2Fs +aXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBeGlzU2NhbGVUeXBlIiBUeXBlTmFt +ZT0idG5zOkF4aXNTY2FsZUVudW1lcmF0aW9uIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P +ZkF4aXNTdGVwcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkF4aXNTdGVwcyIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIExlbmd0aEZpZWxkPSJOb09mQXhpc1N0 +ZXBzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl +IE5hbWU9IlhWVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJYIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlZhbHVlIiBUeXBlTmFtZT0ib3BjOkZsb2F0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlByb2dyYW1EaWFnbm9zdGljRGF0YVR5 +cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +Q3JlYXRlU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iQ3JlYXRlQ2xpZW50TmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJJbnZvY2F0aW9uQ3JlYXRpb25UaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVU +aW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdFRyYW5zaXRpb25UaW1lIiBUeXBlTmFt +ZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZENhbGwi +IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhv +ZFNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5vT2ZMYXN0TWV0aG9kSW5wdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kSW5wdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJ0 +bnM6QXJndW1lbnQiIExlbmd0aEZpZWxkPSJOb09mTGFzdE1ldGhvZElucHV0QXJndW1lbnRzIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxhc3RNZXRob2RPdXRwdXRBcmd1bWVudHMiIFR5 +cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kT3V0 +cHV0QXJndW1lbnRzIiBUeXBlTmFtZT0idG5zOkFyZ3VtZW50IiBMZW5ndGhGaWVsZD0iTm9PZkxh +c3RNZXRob2RPdXRwdXRBcmd1bWVudHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0 +aG9kQ2FsbFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJMYXN0TWV0aG9kUmV0dXJuU3RhdHVzIiBUeXBlTmFtZT0idG5zOlN0YXR1c1Jlc3VsdCIg +Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l +PSJBbm5vdGF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik1lc3NhZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iVXNlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iQW5ub3RhdGlvblRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogIDwv +b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRXhjZXB0 +aW9uRGV2aWF0aW9uRm9ybWF0IiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0 +ZWRWYWx1ZSBOYW1lPSJBYnNvbHV0ZVZhbHVlIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1l +cmF0ZWRWYWx1ZSBOYW1lPSJQZXJjZW50T2ZWYWx1ZSIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iUGVyY2VudE9mUmFuZ2UiIFZhbHVlPSIyIiAvPg0KICAgIDxv +cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlBlcmNlbnRPZkVVUmFuZ2UiIFZhbHVlPSIzIiAvPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVua25vd24iIFZhbHVlPSI0IiAvPg0KICA8 +L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KPC9vcGM6VHlwZURpY3Rpb25hcnk+ + + + + NamespaceUri + A URI that uniquely identifies the dictionary. + + i=68 + i=7617 + + + http://opcfoundation.org/UA/ + + + + TrustListDataType + + i=69 + i=7617 + + + TrustListDataType + + + + Argument + + i=69 + i=7617 + + + Argument + + + + EnumValueType + + i=69 + i=7617 + + + EnumValueType + + + + OptionSet + + i=69 + i=7617 + + + OptionSet + + + + Union + + i=69 + i=7617 + + + Union + + + + 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 + + + + Annotation + + i=69 + i=7617 + + + Annotation + + + diff --git a/schemas/Opc.Ua.Services.wsdl b/schemas/Opc.Ua.Services.wsdl index 08a531f4f..1adf15a0c 100644 --- a/schemas/Opc.Ua.Services.wsdl +++ b/schemas/Opc.Ua.Services.wsdl @@ -1,650 +1,650 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/schemas/Opc.Ua.Types.bsd b/schemas/Opc.Ua.Types.bsd index 03a59f521..696591e66 100644 --- a/schemas/Opc.Ua.Types.bsd +++ b/schemas/Opc.Ua.Types.bsd @@ -1,2391 +1,2378 @@ - - - - - - - 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. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - An image encoded in BMP format. - - - - An image encoded in GIF format. - - - - An image encoded in JPEG format. - - - - An image encoded in PNG format. - - - - A mask of 32 bits that can be updated individually by using the top 32 bits as a mask. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The type of identifier used in a node id. - - - - - - - - A mask specifying the class of the node. - - - - - - - - - - - - - Specifies the attributes which belong to all nodes. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Specifies the attributes which belong to object nodes. - - - - - - - - - - - - - - Specifies the attributes which belong to object type nodes. - - - - - - - - - - - - - - Specifies the attributes which belong to variable nodes. - - - - - - - - - - - - - - - - - - - - - - Specifies the attributes which belong to variable type nodes. - - - - - - - - - - - - - - - - - - - Specifies the attributes which belong to reference type nodes. - - - - - - - - - - - - - - - - Specifies the attributes which belong to method nodes. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Specifies a reference which belongs to a node. - - - - - - - An argument for a method. - - - - - - - - - - A mapping between a value of an enumerated type and a name and description. - - - - - - - This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask. - - - - - - This abstract DataType is the base DataType for all union DataTypes. - - - - A string normalized based on the rules in the unicode specification. - - - - An arbitraty numeric value. - - - - A period of time formatted as defined in ISO 8601-2000. - - - - A time formatted as defined in ISO 8601-2000. - - - - A date formatted as defined in ISO 8601-2000. - - - - A period of time measured in milliseconds. - - - - A date/time value specified in Universal Coordinated Time (UTC). - - - - An identifier for a user locale. - - - - - - - - - A numeric identifier for an object. - - - - The types of applications. - - - - - - - - Describes an application and how to find it. - - - - - - - - - - - - The header passed with every server request. - - - - - - - - - - - The header passed with every server response. - - - - - - - - - - - The response returned by all services when there is a service level error. - - - - - Finds the servers known to the discovery server. - - - - - - - - - - Finds the servers known to the discovery server. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A certificate for an instance of an application. - - - - The type of security to use on a message. - - - - - - - - The possible user token types. - - - - - - - - - Describes a user token that can be used with a server. - - - - - - - - - The description of a endpoint that can be used to access a server. - - - - - - - - - - - - - Gets the endpoints used by the server. - - - - - - - - - - Gets the endpoints used by the server. - - - - - - - The information required to register a server with a discovery server. - - - - - - - - - - - - - - Registers a server with the discovery server. - - - - - - Registers a server with the discovery server. - - - - - A base type for discovery configuration information. - - - - The discovery information needed for mDNS registration. - - - - - - - - - - - - - - - - - - - - - - Indicates whether a token if being created or renewed. - - - - - - The token that identifies a set of keys for an active secure channel. - - - - - - - - Creates a secure channel with a server. - - - - - - - - - - Creates a secure channel with a server. - - - - - - - - Closes a secure channel. - - - - - Closes a secure channel. - - - - - A software certificate with a digital signature. - - - - - - A unique identifier for a session used to authenticate requests. - - - - A digital signature. - - - - - - Creates a new session with the server. - - - - - - - - - - - - - Creates a new session with the server. - - - - - - - - - - - - - - - - A base type for a user identity token. - - - - - A token representing an anonymous user. - - - - - A token representing a user identified by a user name and password. - - - - - - - - A token representing a user identified by an X509 certificate. - - - - - - - - - - - A token representing a user identified by a WS-Security XML token. - - - - - - - Activates a session with the server. - - - - - - - - - - - - Activates a session with the server. - - - - - - - - - - Closes a session with the server. - - - - - - Closes a session with the server. - - - - - Cancels an outstanding request. - - - - - - Cancels an outstanding request. - - - - - - The bits used to specify default attributes for a new node. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The base attributes for all nodes. - - - - - - - - - The attributes for an object node. - - - - - - - - - - The attributes for a variable node. - - - - - - - - - - - - - - - - - - The attributes for a method node. - - - - - - - - - - - The attributes for an object type node. - - - - - - - - - - The attributes for a variable type node. - - - - - - - - - - - - - - - The attributes for a reference type node. - - - - - - - - - - - - The attributes for a data type node. - - - - - - - - - - The attributes for a view node. - - - - - - - - - - - A request to add a node to the server address space. - - - - - - - - - - - A result of an add node operation. - - - - - - Adds one or more nodes to the server address space. - - - - - - - Adds one or more nodes to the server address space. - - - - - - - - - A request to add a reference to the server address space. - - - - - - - - - - Adds one or more references to the server address space. - - - - - - - Adds one or more references to the server address space. - - - - - - - - - A request to delete a node to the server address space. - - - - - - Delete one or more nodes from the server address space. - - - - - - - Delete one or more nodes from the server address space. - - - - - - - - - A request to delete a node from the server address space. - - - - - - - - - Delete one or more references from the server address space. - - - - - - - Delete one or more references from the server address space. - - - - - - - - - Define bits used to indicate which attributes are writable. - - - - - - - - - - - - - - - - - - - - - - - - - - - The directions of the references to return. - - - - - - - The view to browse. - - - - - - - A request to browse the the references from a node. - - - - - - - - - - A bit mask which specifies what should be returned in a browse response. - - - - - - - - - - - - - - The description of a reference. - - - - - - - - - - - An identifier for a suspended query or browse operation. - - - - The result of a browse operation. - - - - - - - - Browse the references for one or more nodes from the server address space. - - - - - - - - - Browse the references for one or more nodes from the server address space. - - - - - - - - - Continues one or more browse operations. - - - - - - - - Continues one or more browse operations. - - - - - - - - - An element in a relative path. - - - - - - - - A relative path constructed from reference types and browse names. - - - - - - A request to translate a path into a node id. - - - - - - The target of the translated path. - - - - - - The result of a translate opearation. - - - - - - - Translates one or more paths in the server address space. - - - - - - - Translates one or more paths in the server address space. - - - - - - - - - Registers one or more nodes for repeated use within a session. - - - - - - - Registers one or more nodes for repeated use within a session. - - - - - - - Unregisters one or more previously registered nodes. - - - - - - - Unregisters one or more previously registered nodes. - - - - - A monotonically increasing value. - - - - Specifies a range of array indexes. - - - - A time value specified as HH:MM:SS.SSS. - - - - A date value. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A simple enumerated type used for testing. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + 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. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An image encoded in BMP format. + + + + An image encoded in GIF format. + + + + An image encoded in JPEG format. + + + + An image encoded in PNG format. + + + + A mask of 32 bits that can be updated individually by using the top 32 bits as a mask. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The type of identifier used in a node id. + + + + + + + + A mask specifying the class of the node. + + + + + + + + + + + + + Specifies the attributes which belong to all nodes. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Specifies the attributes which belong to object nodes. + + + + + + + + + + + + + + Specifies the attributes which belong to object type nodes. + + + + + + + + + + + + + + Specifies the attributes which belong to variable nodes. + + + + + + + + + + + + + + + + + + + + + + Specifies the attributes which belong to variable type nodes. + + + + + + + + + + + + + + + + + + + Specifies the attributes which belong to reference type nodes. + + + + + + + + + + + + + + + + Specifies the attributes which belong to method nodes. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Specifies a reference which belongs to a node. + + + + + + + An argument for a method. + + + + + + + + + + A mapping between a value of an enumerated type and a name and description. + + + + + + + This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask. + + + + + + This abstract DataType is the base DataType for all union DataTypes. + + + + A string normalized based on the rules in the unicode specification. + + + + An arbitraty numeric value. + + + + A period of time formatted as defined in ISO 8601-2000. + + + + A time formatted as defined in ISO 8601-2000. + + + + A date formatted as defined in ISO 8601-2000. + + + + A period of time measured in milliseconds. + + + + A date/time value specified in Universal Coordinated Time (UTC). + + + + An identifier for a user locale. + + + + + + + + + A numeric identifier for an object. + + + + The types of applications. + + + + + + + + Describes an application and how to find it. + + + + + + + + + + + + The header passed with every server request. + + + + + + + + + + + The header passed with every server response. + + + + + + + + + + + The response returned by all services when there is a service level error. + + + + + Finds the servers known to the discovery server. + + + + + + + + + + Finds the servers known to the discovery server. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A certificate for an instance of an application. + + + + The type of security to use on a message. + + + + + + + + The possible user token types. + + + + + + + + Describes a user token that can be used with a server. + + + + + + + + + The description of a endpoint that can be used to access a server. + + + + + + + + + + + + + Gets the endpoints used by the server. + + + + + + + + + + Gets the endpoints used by the server. + + + + + + + The information required to register a server with a discovery server. + + + + + + + + + + + + + + Registers a server with the discovery server. + + + + + + Registers a server with the discovery server. + + + + + A base type for discovery configuration information. + + + + The discovery information needed for mDNS registration. + + + + + + + + + + + + + + + + + + + + + + Indicates whether a token if being created or renewed. + + + + + + The token that identifies a set of keys for an active secure channel. + + + + + + + + Creates a secure channel with a server. + + + + + + + + + + Creates a secure channel with a server. + + + + + + + + Closes a secure channel. + + + + + Closes a secure channel. + + + + + A software certificate with a digital signature. + + + + + + A unique identifier for a session used to authenticate requests. + + + + A digital signature. + + + + + + Creates a new session with the server. + + + + + + + + + + + + + Creates a new session with the server. + + + + + + + + + + + + + + + + A base type for a user identity token. + + + + + A token representing an anonymous user. + + + + + A token representing a user identified by a user name and password. + + + + + + + + A token representing a user identified by an X509 certificate. + + + + + + A token representing a user identified by a WS-Security XML token. + + + + + + + Activates a session with the server. + + + + + + + + + + + + Activates a session with the server. + + + + + + + + + + Closes a session with the server. + + + + + + Closes a session with the server. + + + + + Cancels an outstanding request. + + + + + + Cancels an outstanding request. + + + + + + The bits used to specify default attributes for a new node. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The base attributes for all nodes. + + + + + + + + + The attributes for an object node. + + + + + + + + + + The attributes for a variable node. + + + + + + + + + + + + + + + + + + The attributes for a method node. + + + + + + + + + + + The attributes for an object type node. + + + + + + + + + + The attributes for a variable type node. + + + + + + + + + + + + + + + The attributes for a reference type node. + + + + + + + + + + + + The attributes for a data type node. + + + + + + + + + + The attributes for a view node. + + + + + + + + + + + A request to add a node to the server address space. + + + + + + + + + + + A result of an add node operation. + + + + + + Adds one or more nodes to the server address space. + + + + + + + Adds one or more nodes to the server address space. + + + + + + + + + A request to add a reference to the server address space. + + + + + + + + + + Adds one or more references to the server address space. + + + + + + + Adds one or more references to the server address space. + + + + + + + + + A request to delete a node to the server address space. + + + + + + Delete one or more nodes from the server address space. + + + + + + + Delete one or more nodes from the server address space. + + + + + + + + + A request to delete a node from the server address space. + + + + + + + + + Delete one or more references from the server address space. + + + + + + + Delete one or more references from the server address space. + + + + + + + + + Define bits used to indicate which attributes are writable. + + + + + + + + + + + + + + + + + + + + + + + + + + + The directions of the references to return. + + + + + + + + The view to browse. + + + + + + + A request to browse the the references from a node. + + + + + + + + + + A bit mask which specifies what should be returned in a browse response. + + + + + + + + + + + + + + The description of a reference. + + + + + + + + + + + An identifier for a suspended query or browse operation. + + + + The result of a browse operation. + + + + + + + + Browse the references for one or more nodes from the server address space. + + + + + + + + + Browse the references for one or more nodes from the server address space. + + + + + + + + + Continues one or more browse operations. + + + + + + + + Continues one or more browse operations. + + + + + + + + + An element in a relative path. + + + + + + + + A relative path constructed from reference types and browse names. + + + + + + A request to translate a path into a node id. + + + + + + The target of the translated path. + + + + + + The result of a translate opearation. + + + + + + + Translates one or more paths in the server address space. + + + + + + + Translates one or more paths in the server address space. + + + + + + + + + Registers one or more nodes for repeated use within a session. + + + + + + + Registers one or more nodes for repeated use within a session. + + + + + + + Unregisters one or more previously registered nodes. + + + + + + + Unregisters one or more previously registered nodes. + + + + + A monotonically increasing value. + + + + Specifies a range of array indexes. + + + + A time value specified as HH:MM:SS.SSS. + + + + A date value. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/schemas/Opc.Ua.Types.xsd b/schemas/Opc.Ua.Types.xsd index 8db824205..fe50bb4fd 100644 --- a/schemas/Opc.Ua.Types.xsd +++ b/schemas/Opc.Ua.Types.xsd @@ -1,3938 +1,3894 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The type of identifier used in a node id. - - - - - - - - - - - - - - - - - - - - A mask specifying the class of the node. - - - - - - - - - - - - - - - - - - Specifies the attributes which belong to all nodes. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Specifies the attributes which belong to object nodes. - - - - - - - - - - - - - - Specifies the attributes which belong to object type nodes. - - - - - - - - - - - - - - Specifies the attributes which belong to variable nodes. - - - - - - - - - - - - - - - - - - - - - Specifies the attributes which belong to variable type nodes. - - - - - - - - - - - - - - - - - - Specifies the attributes which belong to reference type nodes. - - - - - - - - - - - - - - - - Specifies the attributes which belong to method nodes. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Specifies a reference which belongs to a node. - - - - - - - - - - - - - - - - - - - An argument for a method. - - - - - - - - - - - - - - - - - - - - - A mapping between a value of an enumerated type and a name and description. - - - - - - - - - - - - - - - - - - - This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask. - - - - - - - - - - - - - - - - - - This abstract DataType is the base DataType for all union DataTypes. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The types of applications. - - - - - - - - - - - - - Describes an application and how to find it. - - - - - - - - - - - - - - - - - - - - - - - The header passed with every server request. - - - - - - - - - - - - - - - - The header passed with every server response. - - - - - - - - - - - - - - - The response returned by all services when there is a service level error. - - - - - - - - - - Finds the servers known to the discovery server. - - - - - - - - - - - - - Finds the servers known to the discovery server. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The type of security to use on a message. - - - - - - - - - - - - - The possible user token types. - - - - - - - - - - - - - - Describes a user token that can be used with a server. - - - - - - - - - - - - - - - - - - - - - The description of a endpoint that can be used to access a server. - - - - - - - - - - - - - - - - - - - - - - - - Gets the endpoints used by the server. - - - - - - - - - - - - - Gets the endpoints used by the server. - - - - - - - - - - - The information required to register a server with a discovery server. - - - - - - - - - - - - - - - - - - - - - - - - Registers a server with the discovery server. - - - - - - - - - - - Registers a server with the discovery server. - - - - - - - - - - A base type for discovery configuration information. - - - - - - - - - The discovery information needed for mDNS registration. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Indicates whether a token if being created or renewed. - - - - - - - - - - - The token that identifies a set of keys for an active secure channel. - - - - - - - - - - - - - Creates a secure channel with a server. - - - - - - - - - - - - - - - Creates a secure channel with a server. - - - - - - - - - - - - - Closes a secure channel. - - - - - - - - - - Closes a secure channel. - - - - - - - - - - A software certificate with a digital signature. - - - - - - - - - - - - - - - - - - - - A digital signature. - - - - - - - - - - - Creates a new session with the server. - - - - - - - - - - - - - - - - - - Creates a new session with the server. - - - - - - - - - - - - - - - - - - - A base type for a user identity token. - - - - - - - - - - A token representing an anonymous user. - - - - - - - - - - - - - A token representing a user identified by a user name and password. - - - - - - - - - - - - - - - - A token representing a user identified by an X509 certificate. - - - - - - - - - - - - - - - - - - - - - - - - - A token representing a user identified by a WS-Security XML token. - - - - - - - - - - - - - - - Activates a session with the server. - - - - - - - - - - - - - - - Activates a session with the server. - - - - - - - - - - - - - Closes a session with the server. - - - - - - - - - - - Closes a session with the server. - - - - - - - - - - Cancels an outstanding request. - - - - - - - - - - - Cancels an outstanding request. - - - - - - - - - - - The bits used to specify default attributes for a new node. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The base attributes for all nodes. - - - - - - - - - - - - - - The attributes for an object node. - - - - - - - - - - - - - - The attributes for a variable node. - - - - - - - - - - - - - - - - - - - - - The attributes for a method node. - - - - - - - - - - - - - - - The attributes for an object type node. - - - - - - - - - - - - - - The attributes for a variable type node. - - - - - - - - - - - - - - - - - - The attributes for a reference type node. - - - - - - - - - - - - - - - - The attributes for a data type node. - - - - - - - - - - - - - - The attributes for a view node. - - - - - - - - - - - - - - - A request to add a node to the server address space. - - - - - - - - - - - - - - - - - - - - - - - A result of an add node operation. - - - - - - - - - - - - - - - - - - Adds one or more nodes to the server address space. - - - - - - - - - - - Adds one or more nodes to the server address space. - - - - - - - - - - - - A request to add a reference to the server address space. - - - - - - - - - - - - - - - - - - - - - - Adds one or more references to the server address space. - - - - - - - - - - - Adds one or more references to the server address space. - - - - - - - - - - - - A request to delete a node to the server address space. - - - - - - - - - - - - - - - - - - Delete one or more nodes from the server address space. - - - - - - - - - - - Delete one or more nodes from the server address space. - - - - - - - - - - - - A request to delete a node from the server address space. - - - - - - - - - - - - - - - - - - - - - Delete one or more references from the server address space. - - - - - - - - - - - Delete one or more references from the server address space. - - - - - - - - - - - - Define bits used to indicate which attributes are writable. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The directions of the references to return. - - - - - - - - - - - - The view to browse. - - - - - - - - - - - - A request to browse the the references from a node. - - - - - - - - - - - - - - - - - - - - - - A bit mask which specifies what should be returned in a browse response. - - - - - - - - - - - - - - - - - - - The description of a reference. - - - - - - - - - - - - - - - - - - - - - - - - - The result of a browse operation. - - - - - - - - - - - - - - - - - - - Browse the references for one or more nodes from the server address space. - - - - - - - - - - - - - Browse the references for one or more nodes from the server address space. - - - - - - - - - - - - Continues one or more browse operations. - - - - - - - - - - - - Continues one or more browse operations. - - - - - - - - - - - - An element in a relative path. - - - - - - - - - - - - - - - - - - - - A relative path constructed from reference types and browse names. - - - - - - - - - - A request to translate a path into a node id. - - - - - - - - - - - - - - - - - - The target of the translated path. - - - - - - - - - - - - - - - - - - The result of a translate opearation. - - - - - - - - - - - - - - - - - - Translates one or more paths in the server address space. - - - - - - - - - - - Translates one or more paths in the server address space. - - - - - - - - - - - - Registers one or more nodes for repeated use within a session. - - - - - - - - - - - Registers one or more nodes for repeated use within a session. - - - - - - - - - - - Unregisters one or more previously registered nodes. - - - - - - - - - - - Unregisters one or more previously registered nodes. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A simple enumerated type used for testing. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The type of identifier used in a node id. + + + + + + + + + + + + + + + + + + + + A mask specifying the class of the node. + + + + + + + + + + + + + + + + + + Specifies the attributes which belong to all nodes. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Specifies the attributes which belong to object nodes. + + + + + + + + + + + + + + Specifies the attributes which belong to object type nodes. + + + + + + + + + + + + + + Specifies the attributes which belong to variable nodes. + + + + + + + + + + + + + + + + + + + + + Specifies the attributes which belong to variable type nodes. + + + + + + + + + + + + + + + + + + Specifies the attributes which belong to reference type nodes. + + + + + + + + + + + + + + + + Specifies the attributes which belong to method nodes. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Specifies a reference which belongs to a node. + + + + + + + + + + + + + + + + + + + An argument for a method. + + + + + + + + + + + + + + + + + + + + + A mapping between a value of an enumerated type and a name and description. + + + + + + + + + + + + + + + + + + + This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask. + + + + + + + + + + + + + + + + + + This abstract DataType is the base DataType for all union DataTypes. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The types of applications. + + + + + + + + + + + + + Describes an application and how to find it. + + + + + + + + + + + + + + + + + + + + + + + The header passed with every server request. + + + + + + + + + + + + + + + + The header passed with every server response. + + + + + + + + + + + + + + + The response returned by all services when there is a service level error. + + + + + + + + + + Finds the servers known to the discovery server. + + + + + + + + + + + + + Finds the servers known to the discovery server. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The type of security to use on a message. + + + + + + + + + + + + + The possible user token types. + + + + + + + + + + + + + Describes a user token that can be used with a server. + + + + + + + + + + + + + + + + + + + + + The description of a endpoint that can be used to access a server. + + + + + + + + + + + + + + + + + + + + + + + + Gets the endpoints used by the server. + + + + + + + + + + + + + Gets the endpoints used by the server. + + + + + + + + + + + The information required to register a server with a discovery server. + + + + + + + + + + + + + + + + + + + + + + + + Registers a server with the discovery server. + + + + + + + + + + + Registers a server with the discovery server. + + + + + + + + + + A base type for discovery configuration information. + + + + + + + + + The discovery information needed for mDNS registration. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Indicates whether a token if being created or renewed. + + + + + + + + + + + The token that identifies a set of keys for an active secure channel. + + + + + + + + + + + + + Creates a secure channel with a server. + + + + + + + + + + + + + + + Creates a secure channel with a server. + + + + + + + + + + + + + Closes a secure channel. + + + + + + + + + + Closes a secure channel. + + + + + + + + + + A software certificate with a digital signature. + + + + + + + + + + + + + + + + + + + + A digital signature. + + + + + + + + + + + Creates a new session with the server. + + + + + + + + + + + + + + + + + + Creates a new session with the server. + + + + + + + + + + + + + + + + + + + A base type for a user identity token. + + + + + + + + + + A token representing an anonymous user. + + + + + + + + + + + + + A token representing a user identified by a user name and password. + + + + + + + + + + + + + + + + A token representing a user identified by an X509 certificate. + + + + + + + + + + + + + + A token representing a user identified by a WS-Security XML token. + + + + + + + + + + + + + + + Activates a session with the server. + + + + + + + + + + + + + + + Activates a session with the server. + + + + + + + + + + + + + Closes a session with the server. + + + + + + + + + + + Closes a session with the server. + + + + + + + + + + Cancels an outstanding request. + + + + + + + + + + + Cancels an outstanding request. + + + + + + + + + + + The bits used to specify default attributes for a new node. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The base attributes for all nodes. + + + + + + + + + + + + + + The attributes for an object node. + + + + + + + + + + + + + + The attributes for a variable node. + + + + + + + + + + + + + + + + + + + + + The attributes for a method node. + + + + + + + + + + + + + + + The attributes for an object type node. + + + + + + + + + + + + + + The attributes for a variable type node. + + + + + + + + + + + + + + + + + + The attributes for a reference type node. + + + + + + + + + + + + + + + + The attributes for a data type node. + + + + + + + + + + + + + + The attributes for a view node. + + + + + + + + + + + + + + + A request to add a node to the server address space. + + + + + + + + + + + + + + + + + + + + + + + A result of an add node operation. + + + + + + + + + + + + + + + + + + Adds one or more nodes to the server address space. + + + + + + + + + + + Adds one or more nodes to the server address space. + + + + + + + + + + + + A request to add a reference to the server address space. + + + + + + + + + + + + + + + + + + + + + + Adds one or more references to the server address space. + + + + + + + + + + + Adds one or more references to the server address space. + + + + + + + + + + + + A request to delete a node to the server address space. + + + + + + + + + + + + + + + + + + Delete one or more nodes from the server address space. + + + + + + + + + + + Delete one or more nodes from the server address space. + + + + + + + + + + + + A request to delete a node from the server address space. + + + + + + + + + + + + + + + + + + + + + Delete one or more references from the server address space. + + + + + + + + + + + Delete one or more references from the server address space. + + + + + + + + + + + + Define bits used to indicate which attributes are writable. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The directions of the references to return. + + + + + + + + + + + + + The view to browse. + + + + + + + + + + + + A request to browse the the references from a node. + + + + + + + + + + + + + + + + + + + + + + A bit mask which specifies what should be returned in a browse response. + + + + + + + + + + + + + + + + + + + The description of a reference. + + + + + + + + + + + + + + + + + + + + + + + + + The result of a browse operation. + + + + + + + + + + + + + + + + + + + Browse the references for one or more nodes from the server address space. + + + + + + + + + + + + + Browse the references for one or more nodes from the server address space. + + + + + + + + + + + + Continues one or more browse operations. + + + + + + + + + + + + Continues one or more browse operations. + + + + + + + + + + + + An element in a relative path. + + + + + + + + + + + + + + + + + + + + A relative path constructed from reference types and browse names. + + + + + + + + + + A request to translate a path into a node id. + + + + + + + + + + + + + + + + + + The target of the translated path. + + + + + + + + + + + + + + + + + + The result of a translate opearation. + + + + + + + + + + + + + + + + + + Translates one or more paths in the server address space. + + + + + + + + + + + Translates one or more paths in the server address space. + + + + + + + + + + + + Registers one or more nodes for repeated use within a session. + + + + + + + + + + + Registers one or more nodes for repeated use within a session. + + + + + + + + + + + Unregisters one or more previously registered nodes. + + + + + + + + + + + Unregisters one or more previously registered nodes. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/schemas/SecuredApplication.xsd b/schemas/SecuredApplication.xsd index 787650b53..22f19f713 100644 --- a/schemas/SecuredApplication.xsd +++ b/schemas/SecuredApplication.xsd @@ -1,106 +1,135 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/schemas/StatusCodes.csv b/schemas/StatusCodes.csv index 69318bc35..325b672e8 100644 --- a/schemas/StatusCodes.csv +++ b/schemas/StatusCodes.csv @@ -1,227 +1,227 @@ -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. -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. -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 unregognized 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 operation could not be processed because all continuation points have been allocated. -BadBrowseDirectionInvalid,0x804D0000,The browse direction is not valid. -BadNodeNotInView,0x804E0000,The node is not part of the view. -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 not does 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. -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. -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. -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 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 pecifies 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. -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. -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. +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. +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. +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 unregognized 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 operation could not be processed because all continuation points have been allocated. +BadBrowseDirectionInvalid,0x804D0000,The browse direction is not valid. +BadNodeNotInView,0x804E0000,The node is not part of the view. +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 not does 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. +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. +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. +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 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 pecifies 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. +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. +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. \ No newline at end of file diff --git a/schemas/UANodeSet.xsd b/schemas/UANodeSet.xsd index e09cd45b0..356f31440 100644 --- a/schemas/UANodeSet.xsd +++ b/schemas/UANodeSet.xsd @@ -1,420 +1,447 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/schemas/download.py b/schemas/download.py index 726b08c35..718357df0 100755 --- a/schemas/download.py +++ b/schemas/download.py @@ -1,5 +1,6 @@ #! /usr/bin/env python -from __future__ import print_function +import os +from urllib.request import build_opener # https://opcfoundation.org/UA/schemas/OPC%20UA%20Schema%20Files%20Readme.xls @@ -36,25 +37,14 @@ 'https://opcfoundation.org/UA/schemas/1.03/NodeIds.csv', ] -import os - -try: - from urllib.request import urlopen - from urllib.parse import urlparse - from urllib.request import build_opener -except ImportError: - from urlparse import urlparse - from urllib import urlopen - from urllib2 import build_opener - opener = build_opener() opener.addheaders = [('User-agent', 'Mozilla/5.0')] for url in resources: - fname = os.path.basename(url) - print('downloading', fname, '... ', end='') + f_name = os.path.basename(url) + print('downloading', f_name, '... ', end='') try: - open(fname, 'wb+').write(opener.open(url).read()) + open(f_name, 'wb+').write(opener.open(url).read()) print('OK') except Exception as e: - print('FAILED ({0})'.format(e)) + print(f'FAILED ({e!r})') diff --git a/schemas/generate_address_space.py b/schemas/generate_address_space.py index e02926a3d..89a2c0344 100644 --- a/schemas/generate_address_space.py +++ b/schemas/generate_address_space.py @@ -1,12 +1,11 @@ """ -Generate address space c++ code from xml file specification +Generate address space code from xml file specification xmlparser.py is a requirement. it is in opcua folder but to avoid importing all code, developer can link xmlparser.py in current directory """ import sys import logging # sys.path.insert(0, "..") # load local freeopcua implementation -#from opcua import xmlparser -import xmlparser +from opcua.common import xmlparser def _to_val(objs, attr, val): @@ -23,14 +22,14 @@ def _get_uatype_name(cls, attname): for name, uat in cls.ua_types: if name == attname: return uat - raise Exception("Could not find attribute {} in obj {}".format(attname, cls)) + raise Exception(f"Could not find attribute {attname} in obj {cls}") def ua_type_to_python(val, uatype): - if uatype in ("String"): - return "'{0}'".format(val) + if uatype == "String": + return f"'{val}'" elif uatype in ("Bytes", "Bytes", "ByteString", "ByteArray"): - return "b'{0}'".format(val) + return f"b'{val}'" else: return val @@ -45,8 +44,8 @@ def __init__(self, input_path, output_path): self.parser = None def run(self): - sys.stderr.write("Generating Python code {0} for XML file {1}".format(self.output_path, self.input_path) + "\n") - self.output_file = open(self.output_path, "w") + sys.stderr.write(f"Generating Python code {self.output_path} for XML file {self.input_path}\n") + self.output_file = open(self.output_path, 'w', encoding='utf-8') self.make_header() self.parser = xmlparser.XMLParser(self.input_path) for node in self.parser.get_node_datas(): @@ -65,14 +64,14 @@ def run(self): elif node.nodetype == 'UAMethod': self.make_method_code(node) else: - sys.stderr.write("Not implemented node type: " + node.nodetype + "\n") + sys.stderr.write(f"Not implemented node type: {node.nodetype}\n") self.output_file.close() def writecode(self, *args): - self.output_file.write(" ".join(args) + "\n") + self.output_file.write(f'{" ".join(args)}\n') def make_header(self, ): - self.writecode(''' + self.writecode(f''' # -*- coding: utf-8 -*- """ DO NOT EDIT THIS FILE! @@ -82,32 +81,32 @@ def make_header(self, ): from opcua import ua -def create_standard_address_space_{0!s}(server): - '''.format((self.part))) +def create_standard_address_space_{self.part!s}(server): + ''') def make_node_code(self, obj, indent): self.writecode(indent, 'node = ua.AddNodesItem()') - self.writecode(indent, 'node.RequestedNewNodeId = ua.NodeId.from_string("{0}")'.format(obj.nodeid)) - self.writecode(indent, 'node.BrowseName = ua.QualifiedName.from_string("{0}")'.format(obj.browsename)) - self.writecode(indent, 'node.NodeClass = ua.NodeClass.{0}'.format(obj.nodetype[2:])) + self.writecode(indent, f'node.RequestedNewNodeId = ua.NodeId.from_string("{obj.nodeid}")') + self.writecode(indent, f'node.BrowseName = ua.QualifiedName.from_string("{obj.browsename}")') + self.writecode(indent, f'node.NodeClass = ua.NodeClass.{obj.nodetype[2:]}') if obj.parent and obj.parentlink: - self.writecode(indent, 'node.ParentNodeId = ua.NodeId.from_string("{0}")'.format(obj.parent)) - self.writecode(indent, 'node.ReferenceTypeId = {0}'.format(self.to_ref_type(obj.parentlink))) + self.writecode(indent, f'node.ParentNodeId = ua.NodeId.from_string("{obj.parent}")') + self.writecode(indent, f'node.ReferenceTypeId = {self.to_ref_type(obj.parentlink)}') if obj.typedef: - self.writecode(indent, 'node.TypeDefinition = ua.NodeId.from_string("{0}")'.format(obj.typedef)) + self.writecode(indent, f'node.TypeDefinition = ua.NodeId.from_string("{obj.typedef}")') def to_data_type(self, nodeid): if not nodeid: return "ua.NodeId(ua.ObjectIds.String)" if "=" in nodeid: - return 'ua.NodeId.from_string("{0}")'.format(nodeid) + return f'ua.NodeId.from_string("{nodeid}")' else: - return 'ua.NodeId(ua.ObjectIds.{0})'.format(nodeid) + return f'ua.NodeId(ua.ObjectIds.{nodeid})' def to_ref_type(self, nodeid): - if not "=" in nodeid: + if "=" not in nodeid: nodeid = self.parser.get_aliases()[nodeid] - return 'ua.NodeId.from_string("{0}")'.format(nodeid) + return f'ua.NodeId.from_string("{nodeid}")' def make_object_code(self, obj): indent = " " @@ -115,9 +114,9 @@ def make_object_code(self, obj): self.make_node_code(obj, indent) self.writecode(indent, 'attrs = ua.ObjectAttributes()') if obj.desc: - self.writecode(indent, 'attrs.Description = ua.LocalizedText("{0}")'.format(obj.desc)) - self.writecode(indent, 'attrs.DisplayName = ua.LocalizedText("{0}")'.format(obj.displayname)) - self.writecode(indent, 'attrs.EventNotifier = {0}'.format(obj.eventnotifier)) + self.writecode(indent, f'attrs.Description = ua.LocalizedText("{obj.desc}")') + self.writecode(indent, f'attrs.DisplayName = ua.LocalizedText("{obj.displayname}")') + self.writecode(indent, f'attrs.EventNotifier = {obj.eventnotifier}') self.writecode(indent, 'node.NodeAttributes = attrs') self.writecode(indent, 'server.add_nodes([node])') self.make_refs_code(obj, indent) @@ -128,18 +127,18 @@ def make_object_type_code(self, obj): self.make_node_code(obj, indent) self.writecode(indent, 'attrs = ua.ObjectTypeAttributes()') if obj.desc: - self.writecode(indent, 'attrs.Description = ua.LocalizedText("{0}")'.format(obj.desc)) - self.writecode(indent, 'attrs.DisplayName = ua.LocalizedText("{0}")'.format(obj.displayname)) - self.writecode(indent, 'attrs.IsAbstract = {0}'.format(obj.abstract)) + self.writecode(indent, f'attrs.Description = ua.LocalizedText("{obj.desc}")') + self.writecode(indent, f'attrs.DisplayName = ua.LocalizedText("{obj.displayname}")') + self.writecode(indent, f'attrs.IsAbstract = {obj.abstract}') self.writecode(indent, 'node.NodeAttributes = attrs') self.writecode(indent, 'server.add_nodes([node])') self.make_refs_code(obj, indent) def make_common_variable_code(self, indent, obj): if obj.desc: - self.writecode(indent, 'attrs.Description = ua.LocalizedText("{0}")'.format(obj.desc)) - self.writecode(indent, 'attrs.DisplayName = ua.LocalizedText("{0}")'.format(obj.displayname)) - self.writecode(indent, 'attrs.DataType = {0}'.format(self.to_data_type(obj.datatype))) + self.writecode(indent, f'attrs.Description = ua.LocalizedText("{obj.desc}")') + self.writecode(indent, f'attrs.DisplayName = ua.LocalizedText("{obj.displayname}")') + self.writecode(indent, f'attrs.DataType = {self.to_data_type(obj.datatype)}') if obj.value is not None: if obj.valuetype == "ListOfExtensionObject": self.writecode(indent, 'value = []') @@ -152,35 +151,38 @@ def make_common_variable_code(self, indent, obj): self.writecode(indent, 'value = extobj') self.writecode(indent, 'attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject)') elif obj.valuetype == "ListOfLocalizedText": - value = ['ua.LocalizedText({0})'.format(self.to_value(text)) for text in obj.value] - self.writecode(indent, 'attrs.Value = [{}]'.format(','.join(value))) + value = [f'ua.LocalizedText({self.to_value(text)})' for text in obj.value] + self.writecode(indent, f'attrs.Value = [{",".join(value)}]') else: if obj.valuetype.startswith("ListOf"): obj.valuetype = obj.valuetype[6:] - self.writecode(indent, 'attrs.Value = ua.Variant({0}, ua.VariantType.{1})'.format(self.to_value(obj.value), obj.valuetype)) + self.writecode( + indent, + f'attrs.Value = ua.Variant({self.to_value(obj.value)}, ua.VariantType.{obj.valuetype})' + ) if obj.rank: - self.writecode(indent, 'attrs.ValueRank = {0}'.format(obj.rank)) + self.writecode(indent, f'attrs.ValueRank = {obj.rank}') if obj.accesslevel: - self.writecode(indent, 'attrs.AccessLevel = {0}'.format(obj.accesslevel)) + self.writecode(indent, f'attrs.AccessLevel = {obj.accesslevel}') if obj.useraccesslevel: - self.writecode(indent, 'attrs.UserAccessLevel = {0}'.format(obj.useraccesslevel)) + self.writecode(indent, f'attrs.UserAccessLevel = {obj.useraccesslevel}') if obj.dimensions: - self.writecode(indent, 'attrs.ArrayDimensions = {0}'.format(obj.dimensions)) - + self.writecode(indent, f'attrs.ArrayDimensions = {obj.dimensions}') + def make_ext_obj_code(self, indent, extobj): - self.writecode(indent, 'extobj = ua.{0}()'.format(extobj.objname)) + self.writecode(indent, f'extobj = ua.{extobj.objname}()') for name, val in extobj.body: for k, v in val: if type(v) is str: val = _to_val([extobj.objname], k, v) - self.writecode(indent, 'extobj.{0} = {1}'.format(k, val)) + self.writecode(indent, f'extobj.{k} = {v}') else: - if k == "DataType": #hack for strange nodeid xml format - self.writecode(indent, 'extobj.{0} = ua.NodeId.from_string("{1}")'.format(k, v[0][1])) + if k == "DataType": # hack for strange nodeid xml format + self.writecode(indent, f'extobj.{k} = ua.NodeId.from_string("{v[0][1]}")') continue for k2, v2 in v: val2 = _to_val([extobj.objname, k], k2, v2) - self.writecode(indent, 'extobj.{0}.{1} = {2}'.format(k, k2, val2)) + self.writecode(indent, f'extobj.{k}.{k2} = {val2}') def make_variable_code(self, obj): indent = " " @@ -188,7 +190,7 @@ def make_variable_code(self, obj): self.make_node_code(obj, indent) self.writecode(indent, 'attrs = ua.VariableAttributes()') if obj.minsample: - self.writecode(indent, 'attrs.MinimumSamplingInterval = {0}'.format(obj.minsample)) + self.writecode(indent, f'attrs.MinimumSamplingInterval = {obj.minsample}') self.make_common_variable_code(indent, obj) self.writecode(indent, 'node.NodeAttributes = attrs') self.writecode(indent, 'server.add_nodes([node])') @@ -200,10 +202,10 @@ def make_variable_type_code(self, obj): self.make_node_code(obj, indent) self.writecode(indent, 'attrs = ua.VariableTypeAttributes()') if obj.desc: - self.writecode(indent, 'attrs.Description = ua.LocalizedText("{0}")'.format(obj.desc)) - self.writecode(indent, 'attrs.DisplayName = ua.LocalizedText("{0}")'.format(obj.displayname)) + self.writecode(indent, f'attrs.Description = ua.LocalizedText("{obj.desc}")') + self.writecode(indent, f'attrs.DisplayName = ua.LocalizedText("{obj.displayname}")') if obj.abstract: - self.writecode(indent, 'attrs.IsAbstract = {0}'.format(obj.abstract)) + self.writecode(indent, f'attrs.IsAbstract = {obj.abstract}') self.make_common_variable_code(indent, obj) self.writecode(indent, 'node.NodeAttributes = attrs') self.writecode(indent, 'server.add_nodes([node])') @@ -212,7 +214,7 @@ def make_variable_type_code(self, obj): def to_value(self, val): # if type(val) in (str, unicode): if isinstance(val, str): - return '"' + val + '"' + return f'"{val}"' else: return val @@ -222,8 +224,8 @@ def make_method_code(self, obj): self.make_node_code(obj, indent) self.writecode(indent, 'attrs = ua.MethodAttributes()') if obj.desc: - self.writecode(indent, 'attrs.Description = ua.LocalizedText("{0}")'.format(obj.desc)) - self.writecode(indent, 'attrs.DisplayName = ua.LocalizedText("{0}")'.format(obj.displayname)) + self.writecode(indent, f'attrs.Description = ua.LocalizedText("{obj.desc}")') + self.writecode(indent, f'attrs.DisplayName = ua.LocalizedText("{obj.displayname}")') self.writecode(indent, 'node.NodeAttributes = attrs') self.writecode(indent, 'server.add_nodes([node])') self.make_refs_code(obj, indent) @@ -234,14 +236,14 @@ def make_reference_code(self, obj): self.make_node_code(obj, indent) self.writecode(indent, 'attrs = ua.ReferenceTypeAttributes()') if obj.desc: - self.writecode(indent, 'attrs.Description = ua.LocalizedText("{0}")'.format(obj.desc)) - self.writecode(indent, 'attrs.DisplayName = ua.LocalizedText("{0}")'.format(obj.displayname)) - if obj. inversename: - self.writecode(indent, 'attrs.InverseName = ua.LocalizedText("{0}")'.format(obj.inversename)) + self.writecode(indent, f'attrs.Description = ua.LocalizedText("{obj.desc}")') + self.writecode(indent, f'attrs.DisplayName = ua.LocalizedText("{obj.displayname}")') + if obj.inversename: + self.writecode(indent, f'attrs.InverseName = ua.LocalizedText("{obj.inversename}")') if obj.abstract: - self.writecode(indent, 'attrs.IsAbstract = {0}'.format(obj.abstract)) + self.writecode(indent, f'attrs.IsAbstract = {obj.abstract}') if obj.symmetric: - self.writecode(indent, 'attrs.Symmetric = {0}'.format(obj.symmetric)) + self.writecode(indent, f'attrs.Symmetric = {obj.symmetric}') self.writecode(indent, 'node.NodeAttributes = attrs') self.writecode(indent, 'server.add_nodes([node])') self.make_refs_code(obj, indent) @@ -252,10 +254,10 @@ def make_datatype_code(self, obj): self.make_node_code(obj, indent) self.writecode(indent, 'attrs = ua.DataTypeAttributes()') if obj.desc: - self.writecode(indent, u'attrs.Description = ua.LocalizedText("{0}")'.format(obj.desc)) - self.writecode(indent, 'attrs.DisplayName = ua.LocalizedText("{0}")'.format(obj.displayname)) + self.writecode(indent, f'attrs.Description = ua.LocalizedText("{obj.desc}")') + self.writecode(indent, f'attrs.DisplayName = ua.LocalizedText("{obj.displayname}")') if obj.abstract: - self.writecode(indent, 'attrs.IsAbstract = {0}'.format(obj.abstract)) + self.writecode(indent, f'attrs.IsAbstract = {obj.abstract}') self.writecode(indent, 'node.NodeAttributes = attrs') self.writecode(indent, 'server.add_nodes([node])') self.make_refs_code(obj, indent) @@ -266,32 +268,31 @@ def make_refs_code(self, obj, indent): self.writecode(indent, "refs = []") for ref in obj.refs: self.writecode(indent, 'ref = ua.AddReferencesItem()') - self.writecode(indent, 'ref.IsForward = {0}'.format(ref.forward)) - self.writecode(indent, 'ref.ReferenceTypeId = {0}'.format(self.to_ref_type(ref.reftype))) - self.writecode(indent, 'ref.SourceNodeId = ua.NodeId.from_string("{0}")'.format(obj.nodeid)) + self.writecode(indent, f'ref.IsForward = {ref.forward}') + self.writecode(indent, f'ref.ReferenceTypeId = {self.to_ref_type(ref.reftype)}') + self.writecode(indent, f'ref.SourceNodeId = ua.NodeId.from_string("{obj.nodeid}")') self.writecode(indent, 'ref.TargetNodeClass = ua.NodeClass.DataType') - self.writecode(indent, 'ref.TargetNodeId = ua.NodeId.from_string("{0}")'.format(ref.target)) + self.writecode(indent, f'ref.TargetNodeId = ua.NodeId.from_string("{ref.target}")') self.writecode(indent, "refs.append(ref)") self.writecode(indent, 'server.add_references(refs)') def save_aspace_to_disk(): import os.path - path = os.path.join("..", "opcua", "binary_address_space.pickle") - print("Savind standard address space to:", path) - sys.path.append("..") + path = os.path.join('..', 'opcua', 'binary_address_space.pickle') + print('Savind standard address space to:', path) + sys.path.append('..') from opcua.server.standard_address_space import standard_address_space from opcua.server.address_space import NodeManagementService, AddressSpace - aspace = AddressSpace() - standard_address_space.fill_address_space(NodeManagementService(aspace)) - aspace.dump(path) + a_space = AddressSpace() + standard_address_space.fill_address_space(NodeManagementService(a_space)) + a_space.dump(path) + -if __name__ == "__main__": +if __name__ == '__main__': logging.basicConfig(level=logging.WARN) for i in (3, 4, 5, 8, 9, 10, 11, 13): - xmlpath = "Opc.Ua.NodeSet2.Part{0}.xml".format(str(i)) - cpppath = "../opcua/server/standard_address_space/standard_address_space_part{0}.py".format(str(i)) - c = CodeGenerator(xmlpath, cpppath) - c.run() - + xml_path = f'Opc.Ua.NodeSet2.Part{i}.xml' + py_path = f'../opcua/server/standard_address_space/standard_address_space_part{i}.py' + CodeGenerator(xml_path, py_path).run() save_aspace_to_disk() diff --git a/schemas/generate_model.py b/schemas/generate_model.py index c1df9bd97..e2f26d14d 100644 --- a/schemas/generate_model.py +++ b/schemas/generate_model.py @@ -1,28 +1,33 @@ """ -Generate address space c++ code from xml file specification +Generate address space code from xml file specification """ -import sys from copy import copy - -import xml.etree.ElementTree as ET - -# from IPython import embed +from xml.etree import ElementTree NeedOverride = [] -NeedConstructor = []#["RelativePathElement", "ReadValueId", "OpenSecureChannelParameters", "UserIdentityToken", "RequestHeader", "ResponseHeader", "ReadParameters", "UserIdentityToken", "BrowseDescription", "ReferenceDescription", "CreateSubscriptionParameters", "PublishResult", "NotificationMessage", "SetPublishingModeParameters"] -IgnoredEnums = []#["IdType", "NodeIdType"] -#we want to implement som struct by hand, to make better interface or simply because they are too complicated -IgnoredStructs = []#["NodeId", "ExpandedNodeId", "Variant", "QualifiedName", "DataValue", "LocalizedText"]#, "ExtensionObject"] -#by default we split requests and respons in header and parameters, but some are so simple we do not split them -NoSplitStruct = ["GetEndpointsResponse", "CloseSessionRequest", "AddNodesResponse", "DeleteNodesResponse", "BrowseResponse", "HistoryReadResponse", "HistoryUpdateResponse", "RegisterServerResponse", "CloseSecureChannelRequest", "CloseSecureChannelResponse", "CloseSessionRequest", "CloseSessionResponse", "UnregisterNodesResponse", "MonitoredItemModifyRequest", "MonitoredItemsCreateRequest", "ReadResponse", "WriteResponse", "TranslateBrowsePathsToNodeIdsResponse", "DeleteSubscriptionsResponse", "DeleteMonitoredItemsResponse", "CreateMonitoredItemsResponse", "ServiceFault", "AddReferencesResponse", "ModifyMonitoredItemsResponse", "RepublishResponse", "CallResponse", "FindServersResponse", "RegisterServerRequest", "RegisterServer2Response"] -#structs that end with Request or Response but are not +NeedConstructor = [] # ["RelativePathElement", "ReadValueId", "OpenSecureChannelParameters", "UserIdentityToken", "RequestHeader", "ResponseHeader", "ReadParameters", "UserIdentityToken", "BrowseDescription", "ReferenceDescription", "CreateSubscriptionParameters", "PublishResult", "NotificationMessage", "SetPublishingModeParameters"] +IgnoredEnums = [] # ["IdType", "NodeIdType"] +# we want to implement som struct by hand, to make better interface or simply because they are too complicated +IgnoredStructs = [] # ["NodeId", "ExpandedNodeId", "Variant", "QualifiedName", "DataValue", "LocalizedText"]#, "ExtensionObject"] +# by default we split requests and respons in header and parameters, but some are so simple we do not split them +NoSplitStruct = ["GetEndpointsResponse", "CloseSessionRequest", "AddNodesResponse", "DeleteNodesResponse", + "BrowseResponse", "HistoryReadResponse", "HistoryUpdateResponse", "RegisterServerResponse", + "CloseSecureChannelRequest", "CloseSecureChannelResponse", "CloseSessionRequest", + "CloseSessionResponse", "UnregisterNodesResponse", "MonitoredItemModifyRequest", + "MonitoredItemsCreateRequest", "ReadResponse", "WriteResponse", + "TranslateBrowsePathsToNodeIdsResponse", "DeleteSubscriptionsResponse", "DeleteMonitoredItemsResponse", + "CreateMonitoredItemsResponse", "ServiceFault", "AddReferencesResponse", + "ModifyMonitoredItemsResponse", "RepublishResponse", "CallResponse", "FindServersResponse", + "RegisterServerRequest", "RegisterServer2Response"] +# structs that end with Request or Response but are not NotRequest = ["MonitoredItemCreateRequest", "MonitoredItemModifyRequest", "CallMethodRequest"] -OverrideTypes = {}#AttributeId": "AttributeID", "ResultMask": "BrowseResultMask", "NodeClassMask": "NodeClass", "AccessLevel": "VariableAccessLevel", "UserAccessLevel": "VariableAccessLevel", "NotificationData": "NotificationData"} -OverrideNames = {}#{"RequestHeader": "Header", "ResponseHeader": "Header", "StatusCode": "Status", "NodesToRead": "AttributesToRead"} # "MonitoringMode": "Mode",, "NotificationMessage": "Notification", "NodeIdType": "Type"} +OverrideTypes = {} # AttributeId": "AttributeID", "ResultMask": "BrowseResultMask", "NodeClassMask": "NodeClass", "AccessLevel": "VariableAccessLevel", "UserAccessLevel": "VariableAccessLevel", "NotificationData": "NotificationData"} +OverrideNames = {} # {"RequestHeader": "Header", "ResponseHeader": "Header", "StatusCode": "Status", "NodesToRead": "AttributesToRead"} # "MonitoringMode": "Mode",, "NotificationMessage": "Notification", "NodeIdType": "Type"} -#some object are defined in extensionobjects in spec but seems not to be in reality -#in addition to this list all request and response and descriptions will not inherit -#NoInherit = ["RequestHeader", "ResponseHeader", "ChannelSecurityToken", "UserTokenPolicy", "SignatureData", "BrowseResult", "ReadValueId", "WriteValue", "BrowsePath", "BrowsePathTarget", "RelativePath", "RelativePathElement", "BrowsePathResult"]#, "ApplicationDescription", "EndpointDescription" + +# some object are defined in extensionobjects in spec but seems not to be in reality +# in addition to this list all request and response and descriptions will not inherit +# NoInherit = ["RequestHeader", "ResponseHeader", "ChannelSecurityToken", "UserTokenPolicy", "SignatureData", "BrowseResult", "ReadValueId", "WriteValue", "BrowsePath", "BrowsePathTarget", "RelativePath", "RelativePathElement", "BrowsePathResult"]#, "ApplicationDescription", "EndpointDescription" class Bit(object): @@ -33,7 +38,8 @@ def __init__(self): self.length = 1 def __str__(self): - return "(Bit: {0}, container:{1}, idx:{2})".format(self.name, self.container, self.idx) + return f'(Bit: {self.name}, container:{self.container}, idx:{self.idx})' + __repr__ = __str__ @@ -48,16 +54,16 @@ def __init__(self): self.needoverride = False self.children = [] self.parents = [] - self.extensionobject = False #used for struct which are not pure extension objects + self.extensionobject = False # used for struct which are not pure extension objects def get_field(self, name): for f in self.fields: if f.name == name: return f - raise Exception("field not found: " + name) + raise Exception(f'field not found: {name}') def __str__(self): - return "Struct {0}:{1}".format(self.name, self.basetype) + return f'Struct {self.name}:{self.basetype}' __repr__ = __str__ @@ -73,12 +79,14 @@ def __init__(self): self.bitlength = 1 def __str__(self): - return "Field {0}({1})".format(self.name, self.uatype) + return f'Field {self.name}({self.uatype})' __repr__ = __str__ def is_native_type(self): - if self.uatype in ("Char", "SByte", "Int16", "Int32", "Int64", "UInt16", "UInt32", "UInt64", "Boolean", "Double", "Float", "Byte", "String", "CharArray", "ByteString", "DateTime"): + if self.uatype in ( + 'Char', 'SByte', 'Int16', 'Int32', 'Int64', 'UInt16', 'UInt32', 'UInt64', 'Boolean', 'Double', 'Float', 'Byte', + 'String', 'CharArray', 'ByteString', 'DateTime'): return True return False @@ -91,13 +99,15 @@ def __init__(self): self.doc = "" def get_ctype(self): - return "uint{0}_t".format(self.uatype) + return f'uint{self.uatype}_t' + class EnumValue(object): def __init__(self): self.name = None self.value = None + class Model(object): def __init__(self): self.structs = [] @@ -118,10 +128,12 @@ def get_enum(self, name): raise Exception("No enum named: " + str(name)) - - def reorder_structs(model): - types = IgnoredStructs + IgnoredEnums + ["Bit", "Char", "CharArray", "Guid", "SByte", "Int16", "Int32", "Int64", "UInt16", "UInt32", "UInt64", "DateTime", "Boolean", "Double", "Float", "ByteString", "Byte", "StatusCode", "DiagnosticInfo", "String", "AttributeID"] + [enum.name for enum in model.enums] + ["VariableAccessLevel"] + types = IgnoredStructs + IgnoredEnums + [ + 'Bit', 'Char', 'CharArray', 'Guid', 'SByte', 'Int16', 'Int32', 'Int64', 'UInt16', 'UInt32', 'UInt64', + 'DateTime', 'Boolean', 'Double', 'Float', 'ByteString', 'Byte', 'StatusCode', 'DiagnosticInfo', 'String', + 'AttributeID' + ] + [enum.name for enum in model.enums] + ['VariableAccessLevel'] waiting = {} newstructs = [] for s in model.structs: @@ -146,23 +158,25 @@ def reorder_structs(model): if not s2.waitingfor: newstructs.append(s2) if len(model.structs) != len(newstructs): - print("Error while reordering structs, some structs could not be reinserted, had {0} structs, we now have {1} structs".format(len(model.structs), len(newstructs))) + print(f'Error while reordering structs, some structs could not be reinserted, had {len(model.structs)} structs, we now have {len(newstructs)} structs') s1 = set(model.structs) s2 = set(newstructs) - rest = s1 -s2 - print("Variant" in types) - for s in s1-s2: - print("{0} is waiting for: {1}".format(s, s.waitingfor)) - #print(s1 -s2) - #print(waiting) + rest = s1 - s2 + print('Variant' in types) + for s in s1 - s2: + print(f'{s} is waiting for: {s.waitingfor}') + # print(s1 -s2) + # print(waiting) model.structs = newstructs + def override_types(model): for struct in model.structs: for field in struct.fields: if field.name in OverrideTypes.keys(): field.uatype = OverrideTypes[field.name] + def remove_duplicates(model): for struct in model.structs: fields = [] @@ -173,13 +187,14 @@ def remove_duplicates(model): fields.append(field) struct.fields = fields + def add_encoding_field(model): for struct in model.structs: newfields = [] container = None idx = 0 for field in struct.fields: - if field.uatype in ("UInt6", "NodeIdType"): + if field.uatype in ('UInt6', 'NodeIdType'): container = field.name b = Bit() b.name = field.name @@ -189,14 +204,14 @@ def add_encoding_field(model): idx = b.length struct.bits[b.name] = b - if field.uatype == "Bit": + if field.uatype == 'Bit': if not container or idx > 7: - container = "Encoding" + container = 'Encoding' idx = 0 f = Field() f.sourcetype = field.sourcetype - f.name = "Encoding" - f.uatype = "Byte" + f.name = 'Encoding' + f.uatype = 'Byte' newfields.append(f) b = Bit() @@ -215,7 +230,7 @@ def remove_vector_length(model): for struct in model.structs: new = [] for field in struct.fields: - if not field.name.startswith("NoOf") and field.name != "Length": + if not field.name.startswith('NoOf') and field.name != 'Length': new.append(field) struct.fields = new @@ -224,7 +239,7 @@ def remove_body_length(model): for struct in model.structs: new = [] for field in struct.fields: - if not field.name == "BodyLength": + if not field.name == 'BodyLength': new.append(field) struct.fields = new @@ -232,51 +247,51 @@ def remove_body_length(model): def remove_duplicate_types(model): for struct in model.structs: for field in struct.fields: - if field.uatype == "CharArray": - field.uatype = "String" + if field.uatype == 'CharArray': + field.uatype = 'String' -#def remove_extensionobject_fields(model): - #for obj in model.structs: - #if obj.name.endswith("Request") or obj.name.endswith("Response"): - #obj.fields = [el for el in obj.fields if el.name not in ("TypeId", "Body", "Encoding")] +# def remove_extensionobject_fields(model): +# for obj in model.structs: +# if obj.name.endswith("Request") or obj.name.endswith("Response"): +# obj.fields = [el for el in obj.fields if el.name not in ("TypeId", "Body", "Encoding")] def split_requests(model): structs = [] for struct in model.structs: structtype = None - if struct.name.endswith("Request") and not struct.name in NotRequest: - structtype = "Request" - elif struct.name.endswith("Response") or struct.name == "ServiceFault": - structtype = "Response" + if struct.name.endswith('Request') and not struct.name in NotRequest: + structtype = 'Request' + elif struct.name.endswith('Response') or struct.name == 'ServiceFault': + structtype = 'Response' if structtype: - #for field in struct.fields: - #if field.name == "Encoding": - #struct.fields.remove(field) - #break - #for field in struct.fields: - #if field.name == "BodyLength": - #struct.fields.remove(field) - #break + # for field in struct.fields: + # if field.name == "Encoding": + # struct.fields.remove(field) + # break + # for field in struct.fields: + # if field.name == "BodyLength": + # struct.fields.remove(field) + # break struct.needconstructor = True field = Field() - field.name = "TypeId" - field.uatype = "NodeId" + field.name = 'TypeId' + field.uatype = 'NodeId' struct.fields.insert(0, field) if structtype and not struct.name in NoSplitStruct: paramstruct = Struct() - if structtype == "Request": - basename = struct.name.replace("Request", "") + "Parameters" + if structtype == 'Request': + basename = struct.name.replace('Request', '') + 'Parameters' paramstruct.name = basename else: - basename = struct.name.replace("Response", "") + "Result" + basename = struct.name.replace('Response', '') + 'Result' paramstruct.name = basename paramstruct.fields = struct.fields[2:] paramstruct.bits = struct.bits struct.fields = struct.fields[:2] - #struct.bits = {} + # struct.bits = {} structs.append(paramstruct) typeid = Field() @@ -295,43 +310,43 @@ def __init__(self, path): def parse(self): print("Parsing: ", self.path) self.model = Model() - tree = ET.parse(self.path) + tree = ElementTree.parse(self.path) root = tree.getroot() self.add_extension_object() for child in root: tag = child.tag[40:] - if tag == "StructuredType": + if tag == 'StructuredType': struct = self.parse_struct(child) - if struct.name != "ExtensionObject": + if struct.name != 'ExtensionObject': self.model.structs.append(struct) self.model.struct_list.append(struct.name) - elif tag == "EnumeratedType": + elif tag == 'EnumeratedType': enum = self.parse_enum(child) self.model.enums.append(enum) self.model.enum_list.append(enum.name) - #else: - #print("Not implemented node type: " + tag + "\n") + # else: + # print("Not implemented node type: " + tag + "\n") return self.model def add_extension_object(self): obj = Struct() - obj.name = "ExtensionObject" + obj.name = 'ExtensionObject' f = Field() - f.name = "TypeId" - f.uatype = "NodeId" + f.name = 'TypeId' + f.uatype = 'NodeId' obj.fields.append(f) f = Field() - f.name = "BinaryBody" - f.uatype = "Bit" + f.name = 'BinaryBody' + f.uatype = 'Bit' obj.fields.append(f) f = Field() - f.name = "XmlBody" - f.uatype = "Bit" + f.name = 'XmlBody' + f.uatype = 'Bit' obj.fields.append(f) f = Field() - f.name = "Body" - f.uatype = "ByteString" - f.switchfield = "BinaryBody" + f.name = 'Body' + f.uatype = 'ByteString' + f.switchfield = 'BinaryBody' obj.fields.append(f) self.model.struct_list.append(obj.name) @@ -341,45 +356,45 @@ def parse_struct(self, child): tag = child.tag[40:] struct = Struct() for key, val in child.attrib.items(): - if key == "Name": + if key == 'Name': struct.name = val - elif key == "BaseType": - if ":" in val: - prefix, val = val.split(":") + elif key == 'BaseType': + if ':' in val: + prefix, val = val.split(':') struct.basetype = val tmp = struct while tmp.basetype: struct.parents.append(tmp.basetype) tmp = self.model.get_struct(tmp.basetype) else: - print("Error unknown key: ", key) + print(f'Error unknown key: {key}') for el in child: tag = el.tag[40:] - if tag == "Field": + if tag == 'Field': field = Field() for key, val in el.attrib.items(): - if key == "Name": + if key == 'Name': field.name = val - elif key == "TypeName": - field.uatype = val.split(":")[1] - elif key == "LengthField": + elif key == 'TypeName': + field.uatype = val.split(':')[1] + elif key == 'LengthField': field.length = val - elif key == "SourceType": + elif key == 'SourceType': field.sourcetype = val - elif key == "SwitchField": + elif key == 'SwitchField': field.switchfield = val - elif key == "SwitchValue": + elif key == 'SwitchValue': field.switchvalue = val - elif key == "Length": + elif key == 'Length': field.bitlength = int(val) else: - print("Unknown field item: ", struct.name, key) + print(f'Unknown field item: {struct.name} {key}') struct.fields.append(field) - elif tag == "Documentation": + elif tag == 'Documentation': struct.doc = el.text else: - print("Unknown tag: ", tag) + print(f'Unknown tag: {tag}') return struct @@ -387,37 +402,37 @@ def parse_enum(self, child): tag = child.tag[40:] enum = Enum() for k, v in child.items(): - if k == "Name": + if k == 'Name': enum.name = v - elif k == "LengthInBits": - enum.uatype = "UInt" + v + elif k == 'LengthInBits': + enum.uatype = f'UIntv{v}' else: - print("Unknown attr for enum: ", k) + print(f'Unknown attr for enum: {k}') for el in child: tag = el.tag[40:] - if tag == "EnumeratedValue": + if tag == 'EnumeratedValue': ev = EnumValue() for k, v in el.attrib.items(): - if k == "Name": + if k == 'Name': ev.name = v - elif k == "Value": + elif k == 'Value': ev.value = v else: - print("Unknown field attrib: ", k) + print(f'Unknown field attrib: {k}') enum.values.append(ev) - elif tag == "Documentation": + elif tag == 'Documentation': enum.doc = el.text else: - print("Unknown enum tag: ", tag) + print(f'Unknown enum tag: {tag}') return enum -#"def reorder_extobjects(model): - #ext = model.get_struct("ExtensionObject") - #print(ext) - #typeid = ext.fields[4] - #ext.fields.remove(typeid) - #ext.fields.insert(0, typeid) +# "def reorder_extobjects(model): +# ext = model.get_struct("ExtensionObject") +# print(ext) +# typeid = ext.fields[4] +# ext.fields.remove(typeid) +# ext.fields.insert(0, typeid) def add_basetype_members(model): for struct in model.structs: @@ -426,42 +441,42 @@ def add_basetype_members(model): emptystruct = False if len(struct.fields) == 0: emptystruct = True - if struct.basetype in ("ExtensionObject"): + if struct.basetype in ('ExtensionObject'): struct.basetype = None continue base = model.get_struct(struct.basetype) - #if struct.basetype == "ExtensionObject" and len(struct.fields) != 0: - #if struct.basetype == "ExtensionObject" and len(struct.fields) != 0: - #if struc - #for f in base.fields: - #if f.name == "TypeId": - #f2 = copy(f) - #f2.switchfield = None - #struct.fields.insert(0, f2) - #break - #continue + # if struct.basetype == "ExtensionObject" and len(struct.fields) != 0: + # if struct.basetype == "ExtensionObject" and len(struct.fields) != 0: + # if struc + # for f in base.fields: + # if f.name == "TypeId": + # f2 = copy(f) + # f2.switchfield = None + # struct.fields.insert(0, f2) + # break + # continue for name, bit in base.bits.items(): struct.bits[name] = bit for idx, field in enumerate(base.fields): field = copy(field) - if field.name == "Body" and not emptystruct: - #print("Field is names Body", struct.name, field.name) + if field.name == 'Body' and not emptystruct: + # print('Field is names Body', struct.name, field.name) struct.extensionobject = True - field.name = "BodyLength" - field.uatype = "Int32" + field.name = 'BodyLength' + field.uatype = 'Int32' field.length = None field.switchfield = None - #print("Field is names Body 2", struct.name, field.name) - #HACK EXTENSIONOBJECT - #if base.name == "ExtensionObject": - #continue - #if field.uatype == "Bit": - #continue - #if field.name == "Body": - #continue - #if field.name == "TypeId": - #field.switchfield = None - #END HACK + # print("Field is names Body 2", struct.name, field.name) + # HACK EXTENSIONOBJECT + # if base.name == "ExtensionObject": + # continue + # if field.uatype == "Bit": + # continue + # if field.name == "Body": + # continue + # if field.name == "TypeId": + # field.switchfield = None + # END HACK if not field.sourcetype: field.sourcetype = base.name struct.fields.insert(idx, field) @@ -470,9 +485,5 @@ def add_basetype_members(model): def fix_names(model): for s in model.enums: for f in s.values: - if f.name == "None": - f.name = "None_" - - - - + if f.name == 'None': + f.name = 'None_' diff --git a/schemas/generate_protocol_python.py b/schemas/generate_protocol_python.py index 6d7b9e899..c8e626492 100644 --- a/schemas/generate_protocol_python.py +++ b/schemas/generate_protocol_python.py @@ -27,7 +27,7 @@ class Primitives(Primitives1): DateTime = 0 -class CodeGenerator(object): +class CodeGenerator: def __init__(self, model, output): self.model = model @@ -38,7 +38,7 @@ def __init__(self, model, output): def run(self): print('Writting python protocol code to ', self.output_path) - self.output_file = open(self.output_path, 'w') + self.output_file = open(self.output_path, 'w', encoding='utf-8') self.make_header() for enum in self.model.enums: if enum.name not in IgnoredEnums: @@ -65,8 +65,8 @@ def run(self): def write(self, line): if line: - line = self.indent * self.iidx + line - self.output_file.write(line + "\n") + line = f'{self.indent * self.iidx}{line}' + self.output_file.write(f'{line}\n') def make_header(self): self.write('"""') From 38f5faa878055097c9d564f23be09a222a27d4c6 Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Wed, 28 Mar 2018 17:12:56 +0200 Subject: [PATCH 038/113] [ADD] wip --- examples/client-minimal-auth.py | 7 ++- opcua/common/structures.py | 24 +++++----- opcua/ua/ua_binary.py | 85 ++++++++++++++++----------------- 3 files changed, 58 insertions(+), 58 deletions(-) diff --git a/examples/client-minimal-auth.py b/examples/client-minimal-auth.py index 55b00a667..39ccf1a0d 100644 --- a/examples/client-minimal-auth.py +++ b/examples/client-minimal-auth.py @@ -1,9 +1,12 @@ +import os +os.environ['PYOPCUA_NO_TYPO_CHECK'] = 'True' + import asyncio import logging from opcua import Client, Node, ua -logging.basicConfig(level=logging.INFO) +logging.basicConfig(level=logging.WARNING) _logger = logging.getLogger('opcua') @@ -24,7 +27,7 @@ async def browse_nodes(node: Node): try: var_type = (await node.get_data_type_as_variant_type()).value except ua.UaError: - _logger.warning('Node Variable Type coudl not be determined for %r', node) + _logger.warning('Node Variable Type could not be determined for %r', node) var_type = None return { 'id': node.nodeid.to_string(), diff --git a/opcua/common/structures.py b/opcua/common/structures.py index d51a72d42..67226668a 100644 --- a/opcua/common/structures.py +++ b/opcua/common/structures.py @@ -43,24 +43,22 @@ def __init__(self, name): self.typeid = None def get_code(self): - code = """ + code = f""" -class {0}(object): +class {self.name}(object): ''' - {0} structure autogenerated from xml + {self.name} structure autogenerated from xml ''' -""".format(self.name) - - code += " ua_types = [\n" +""" + code += ' ua_types = [\n' for field in self.fields: - prefix = "ListOf" if field.array else "" + prefix = 'ListOf' if field.array else '' uatype = prefix + field.uatype - if uatype == "ListOfChar": - uatype = "String" - code += " ('{}', '{}'),\n".format(field.name, uatype) - + if uatype == 'ListOfChar': + uatype = 'String' + code += f" ('{field.name}', '{uatype}'),\n" code += " ]" code += """ @@ -69,7 +67,7 @@ def __init__(self): if not self.fields: code += " pass" for field in self.fields: - code += " self.{} = {}\n".format(field.name, field.value) + code += f" self.{field.name} = {field.value}\n" return code @@ -128,7 +126,7 @@ def save_to_file(self, path, register=False): def _make_registration(self): code = "\n\n" for struct in self.model: - code += "ua.register_extension_object('{name}', ua.NodeId.from_string('{nodeid}'), {name})\n".format(name=struct.name, nodeid=struct.typeid) + code += f"ua.register_extension_object('{struct.name}', ua.NodeId.from_string('{struct.typeid}'), {struct.name})\n" return code def get_python_classes(self, env=None): diff --git a/opcua/ua/ua_binary.py b/opcua/ua/ua_binary.py index cd83fdf10..14b7ba6db 100644 --- a/opcua/ua/ua_binary.py +++ b/opcua/ua/ua_binary.py @@ -79,7 +79,7 @@ def unpack(data): class _Null(object): @staticmethod def pack(data): - return b"" + return b'' @staticmethod def unpack(data): @@ -131,8 +131,8 @@ def unpack(self, data): def pack_array(self, data): if data is None: return Primitives.Int32.pack(-1) - sizedata = Primitives.Int32.pack(len(data)) - return sizedata + struct.pack(self._fmt.format(len(data)), *data) + size_data = Primitives.Int32.pack(len(data)) + return size_data + struct.pack(self._fmt.format(len(data)), *data) def unpack_array(self, data, length): if length == -1: @@ -143,18 +143,18 @@ def unpack_array(self, data, length): class Primitives1(object): - SByte = _Primitive1("<{:d}b") - Int16 = _Primitive1("<{:d}h") - Int32 = _Primitive1("<{:d}i") - Int64 = _Primitive1("<{:d}q") - Byte = _Primitive1("<{:d}B") + SByte = _Primitive1('<{:d}b') + Int16 = _Primitive1('<{:d}h') + Int32 = _Primitive1('<{:d}i') + Int64 = _Primitive1('<{:d}q') + Byte = _Primitive1('<{:d}B') Char = Byte - UInt16 = _Primitive1("<{:d}H") - UInt32 = _Primitive1("<{:d}I") - UInt64 = _Primitive1("<{:d}Q") - Boolean = _Primitive1("<{:d}?") - Double = _Primitive1("<{:d}d") - Float = _Primitive1("<{:d}f") + UInt16 = _Primitive1('<{:d}H') + UInt32 = _Primitive1('<{:d}I') + UInt64 = _Primitive1('<{:d}Q') + Boolean = _Primitive1('<{:d}?') + Double = _Primitive1('<{:d}d') + Float = _Primitive1('<{:d}f') class Primitives(Primitives1): @@ -196,16 +196,16 @@ def unpack_uatype(vtype, data): return variant_from_binary(data) else: if hasattr(ua, vtype.name): - klass = getattr(ua, vtype.name) - return struct_from_binary(klass, data) + cls = getattr(ua, vtype.name) + return struct_from_binary(cls, data) else: - raise UaError("Cannot unpack unknown variant type {0!s}".format(vtype)) + raise UaError(f'Cannot unpack unknown variant type {vtype}') def pack_uatype_array(vtype, array): if hasattr(Primitives1, vtype.name): - dataType = getattr(Primitives1, vtype.name) - return dataType.pack_array(array) + data_type = getattr(Primitives1, vtype.name) + return data_type.pack_array(array) if array is None: return b'\xff\xff\xff\xff' length = len(array) @@ -219,9 +219,9 @@ def unpack_uatype_array(vtype, data): if length == -1: return None elif hasattr(Primitives1, vtype.name): - dataType = getattr(Primitives1, vtype.name) + data_type = getattr(Primitives1, vtype.name) # Remark: works without tuple conversion to list. - return list(dataType.unpack_array(data, length)) + return list(data_type.unpack_array(data, length)) else: # Revert to slow serial unpacking. return [unpack_uatype(vtype, data) for _ in range(length)] @@ -254,7 +254,7 @@ def to_binary(uatype, val): """ Pack a python object to binary given a string defining its type """ - if uatype.startswith("ListOf"): + if uatype.startswith('ListOf'): #if isinstance(val, (list, tuple)): return list_to_binary(uatype[6:], val) elif type(uatype) is str and hasattr(ua.VariantType, uatype): @@ -268,43 +268,42 @@ def to_binary(uatype, val): return nodeid_to_binary(val) elif isinstance(val, ua.Variant): return variant_to_binary(val) - elif hasattr(val, "ua_types"): + elif hasattr(val, 'ua_types'): return struct_to_binary(val) else: - raise UaError("No known way to pack {} of type {} to ua binary".format(val, uatype)) + raise UaError(f'No known way to pack {val} of type {uatype} to ua binary' def list_to_binary(uatype, val): if val is None: return Primitives.Int32.pack(-1) if hasattr(Primitives1, uatype): - dataType = getattr(Primitives1, uatype) - return dataType.pack_array(val) - datasize = Primitives.Int32.pack(len(val)) + data_type = getattr(Primitives1, uatype) + return data_type.pack_array(val) + data_size = Primitives.Int32.pack(len(val)) pack = [to_binary(uatype, el) for el in val] - pack.insert(0, datasize) + pack.insert(0, data_size) return b''.join(pack) def nodeid_to_binary(nodeid): - data = None if nodeid.NodeIdType == ua.NodeIdType.TwoByte: - data = struct.pack(" Date: Wed, 28 Mar 2018 17:13:25 +0200 Subject: [PATCH 039/113] [ADD] wip --- opcua/ua/ua_binary.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/opcua/ua/ua_binary.py b/opcua/ua/ua_binary.py index 14b7ba6db..5c16de728 100644 --- a/opcua/ua/ua_binary.py +++ b/opcua/ua/ua_binary.py @@ -271,7 +271,7 @@ def to_binary(uatype, val): elif hasattr(val, 'ua_types'): return struct_to_binary(val) else: - raise UaError(f'No known way to pack {val} of type {uatype} to ua binary' + raise UaError(f'No known way to pack {val} of type {uatype} to ua binary') def list_to_binary(uatype, val): @@ -418,7 +418,7 @@ def extensionobject_from_binary(data): elif typeid in ua.extension_object_classes: cls = ua.extension_object_classes[typeid] if body is None: - raise UaError(f'parsing ExtensionObject {cls.__name__)} without data' + raise UaError(f'parsing ExtensionObject {cls.__name__)} without data') return from_binary(cls, body) else: e = ua.ExtensionObject() From f01f76b266ddc361dfbde81444257ff048a8eed5 Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Thu, 29 Mar 2018 09:51:59 +0200 Subject: [PATCH 040/113] [FIX] missing parens --- opcua/ua/ua_binary.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opcua/ua/ua_binary.py b/opcua/ua/ua_binary.py index 5c16de728..8df7e9d62 100644 --- a/opcua/ua/ua_binary.py +++ b/opcua/ua/ua_binary.py @@ -418,7 +418,7 @@ def extensionobject_from_binary(data): elif typeid in ua.extension_object_classes: cls = ua.extension_object_classes[typeid] if body is None: - raise UaError(f'parsing ExtensionObject {cls.__name__)} without data') + raise UaError(f'parsing ExtensionObject {cls.__name__} without data') return from_binary(cls, body) else: e = ua.ExtensionObject() From 60ba1a30d0056346161dc23f704e883bd4a89a6a Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Thu, 12 Apr 2018 10:21:20 +0200 Subject: [PATCH 041/113] [ADD] client subscription examplpe --- examples/client-minimal-auth.py | 2 +- examples/client-subscription.py | 50 +++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 examples/client-subscription.py diff --git a/examples/client-minimal-auth.py b/examples/client-minimal-auth.py index 39ccf1a0d..472796640 100644 --- a/examples/client-minimal-auth.py +++ b/examples/client-minimal-auth.py @@ -6,7 +6,7 @@ from opcua import Client, Node, ua -logging.basicConfig(level=logging.WARNING) +logging.basicConfig(level=logging.INFO) _logger = logging.getLogger('opcua') diff --git a/examples/client-subscription.py b/examples/client-subscription.py new file mode 100644 index 000000000..e4225a08d --- /dev/null +++ b/examples/client-subscription.py @@ -0,0 +1,50 @@ +import os +# os.environ['PYOPCUA_NO_TYPO_CHECK'] = 'True' + +import asyncio +import logging + +from opcua import Client, Node, ua + +logging.basicConfig(level=logging.INFO) +_logger = logging.getLogger('opcua') + + +class SubscriptionHandler: + def datachange_notification(self, node: Node, val, data): + """Callback for opcua Subscription""" + _logger.info('datachange_notification %r %s', node, val) + + +async def task(loop): + url = 'opc.tcp://192.168.2.213:4840' + # url = 'opc.tcp://localhost:4840/freeopcua/server/' + client = Client(url=url) + client.set_user('test') + client.set_password('test') + # client.set_security_string() + await client.connect() + # Client has a few methods to get proxy to UA nodes that should always be in address space such as Root or Objects + root = client.get_root_node() + _logger.info('Objects node is: %r', root) + + # Node objects have methods to read and write node attributes as well as browse or populate address space + _logger.info('Children of root are: %r', await root.get_children()) + handler = SubscriptionHandler() + subscription = await client.create_subscription(500, handler) + nodes = [ + client.get_node('ns=1;i=6') + ] + await subscription.subscribe_data_change(nodes) + + +def main(): + loop = asyncio.get_event_loop() + loop.set_debug(True) + loop.create_task(task(loop)) + loop.run_forever() + loop.close() + + +if __name__ == "__main__": + main() From 2e43323706048f7e6a4c274b4d01a0ee34ac8a75 Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Tue, 29 May 2018 09:42:35 +0200 Subject: [PATCH 042/113] [FIX] Subscription publish on init without waiting --- opcua/common/subscription.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/opcua/common/subscription.py b/opcua/common/subscription.py index 9cbd95103..5c9ce4e73 100644 --- a/opcua/common/subscription.py +++ b/opcua/common/subscription.py @@ -93,8 +93,8 @@ async def init(self): # Launching two publish requests is a heuristic. We try to ensure # that the server always has at least one publish request in the queue, # even after it just replied to a publish request. - await self.server.publish() - await self.server.publish() + self.loop.create_task(self.server.publish()) + self.loop.create_task(self.server.publish()) def delete(self): """ From 9568638480d863f8024369cc925968754f01cfc7 Mon Sep 17 00:00:00 2001 From: oroulet Date: Wed, 31 Jan 2018 15:20:22 +0100 Subject: [PATCH 043/113] cherry pick/merge 96bac7c39fb668a381f5b2ae30b7a44e00a73de7 --- opcua/server/server.py | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/opcua/server/server.py b/opcua/server/server.py index 6a7f8dead..bb2b29ee0 100644 --- a/opcua/server/server.py +++ b/opcua/server/server.py @@ -56,8 +56,6 @@ class Server: As a result the first startup will be even slower due to the cache file generation but all further start ups will be significantly faster. - :ivar application_uri: - :vartype application_uri: uri :ivar product_uri: :vartype product_uri: uri :ivar name: @@ -75,10 +73,10 @@ class Server: def __init__(self, iserver=None): self.loop = asyncio.get_event_loop() self.logger = logging.getLogger(__name__) - self.endpoint = urlparse('opc.tcp://0.0.0.0:4840/freeopcua/server/') - self.application_uri = 'urn:freeopcua:python:server' - self.product_uri = 'urn:freeopcua.github.no:python:server' - self.name = 'FreeOpcUa Python Server' + self.endpoint = urlparse("opc.tcp://0.0.0.0:4840/freeopcua/server/") + self._application_uri = "urn:freeopcua:python:server" + self.product_uri = "urn:freeopcua.github.no:python:server" + self.name = "FreeOpcUa Python Server" self.application_type = ua.ApplicationType.ClientAndServer self.default_timeout = 60 * 60 * 1000 if iserver is not None: @@ -96,8 +94,9 @@ def __init__(self, iserver=None): async def init(self, shelf_file=None): await self.iserver.init(shelf_file) # setup some expected values + self.set_application_uri(self._application_uri) sa_node = self.get_node(ua.NodeId(ua.ObjectIds.Server_ServerArray)) - await sa_node.set_value([self.application_uri]) + await sa_node.set_value([self._application_uri]) async def __aenter__(self): await self.start() @@ -130,7 +129,14 @@ def set_application_uri(self, uri): your system! default is : "urn:freeopcua:python:server" """ - self.application_uri = uri + self._application_uri = uri + ns_node = self.get_node(ua.NodeId(ua.ObjectIds.Server_NamespaceArray)) + uries = ns_node.get_value() + if len(uries) > 1: + uries[1] = uri # application uri is always namespace 1 + else: + uries.append(uri) + ns_node.set_value(uries) def find_servers(self, uris=None): """ @@ -189,7 +195,6 @@ def get_endpoints(self): async def _setup_server_nodes(self): # to be called just before starting server since it needs all parameters to be setup - await self.register_namespace(self.application_uri) self._set_endpoints() self._policies = [ua.SecurityPolicyFactory()] if self.certificate and self.private_key: @@ -250,7 +255,7 @@ def _set_endpoints(self, policy=ua.SecurityPolicy, mode=ua.MessageSecurityMode.N appdesc = ua.ApplicationDescription() appdesc.ApplicationName = ua.LocalizedText(self.name) - appdesc.ApplicationUri = self.application_uri + appdesc.ApplicationUri = self._application_uri appdesc.ApplicationType = self.application_type appdesc.ProductUri = self.product_uri appdesc.DiscoveryUrls.append(self.endpoint.geturl()) From 5309eb26406e3e99128c0dc9fe8ea99be554e6d4 Mon Sep 17 00:00:00 2001 From: harua8n Date: Sun, 14 Jan 2018 22:16:11 -0600 Subject: [PATCH 044/113] cherry pick/merge 78840a61e2402fa9f236573ac13313a42a6b726f --- opcua/client/client.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/opcua/client/client.py b/opcua/client/client.py index 06255e14e..d9de5e5e5 100644 --- a/opcua/client/client.py +++ b/opcua/client/client.py @@ -196,7 +196,11 @@ async def connect(self): await self.connect_socket() await self.send_hello() await self.open_secure_channel() - await self.create_session() + try: + await self.create_session() + except _base.TimeoutError as e: + self.disconnect_socket() # clean up open socket + raise e await self.activate_session(username=self._username, password=self._password, certificate=self.user_certificate) async def disconnect(self): From ce49fbff181d83f070a96c247de152f79c0aa12e Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Mon, 30 Jul 2018 10:49:22 +0200 Subject: [PATCH 045/113] cleanup --- opcua/client/client.py | 5 +++-- opcua/server/server.py | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/opcua/client/client.py b/opcua/client/client.py index d9de5e5e5..435c39148 100644 --- a/opcua/client/client.py +++ b/opcua/client/client.py @@ -198,8 +198,9 @@ async def connect(self): await self.open_secure_channel() try: await self.create_session() - except _base.TimeoutError as e: - self.disconnect_socket() # clean up open socket + except Exception as e: + # clean up open socket + self.disconnect_socket() raise e await self.activate_session(username=self._username, password=self._password, certificate=self.user_certificate) diff --git a/opcua/server/server.py b/opcua/server/server.py index bb2b29ee0..f88c31b99 100644 --- a/opcua/server/server.py +++ b/opcua/server/server.py @@ -131,12 +131,12 @@ def set_application_uri(self, uri): """ self._application_uri = uri ns_node = self.get_node(ua.NodeId(ua.ObjectIds.Server_NamespaceArray)) - uries = ns_node.get_value() + uries = await ns_node.get_value() if len(uries) > 1: uries[1] = uri # application uri is always namespace 1 else: uries.append(uri) - ns_node.set_value(uries) + await ns_node.set_value(uries) def find_servers(self, uris=None): """ From 51f27d3bf4e7af8eefe14cdfa5c53e49f783b5b5 Mon Sep 17 00:00:00 2001 From: harua8n Date: Tue, 16 Jan 2018 00:38:45 -0600 Subject: [PATCH 046/113] cherry pick/merge 0ed614359d716c4be588e11b81283c9dd1d1fdb3 --- opcua/client/client.py | 42 ++++++++++++++++++++++++------------------ 1 file changed, 24 insertions(+), 18 deletions(-) diff --git a/opcua/client/client.py b/opcua/client/client.py index 435c39148..3b4c70395 100644 --- a/opcua/client/client.py +++ b/opcua/client/client.py @@ -155,36 +155,42 @@ async def connect_and_get_server_endpoints(self): """ Connect, ask server for endpoints, and disconnect """ - await self.connect_socket() - await self.send_hello() - await self.open_secure_channel() - endpoints = await self.get_endpoints() - await self.close_secure_channel() - self.disconnect_socket() + try: + await self.connect_socket() + await self.send_hello() + await self.open_secure_channel() + endpoints = await self.get_endpoints() + await self.close_secure_channel() + finally: + self.disconnect_socket() return endpoints async def connect_and_find_servers(self): """ Connect, ask server for a list of known servers, and disconnect """ - await self.connect_socket() - await self.send_hello() - await self.open_secure_channel() # spec says it should not be necessary to open channel - servers = await self.find_servers() - await self.close_secure_channel() - self.disconnect_socket() + try: + await self.connect_socket() + await self.send_hello() + await self.open_secure_channel() # spec says it should not be necessary to open channel + servers = await self.find_servers() + await self.close_secure_channel() + finally: + self.disconnect_socket() return servers async def connect_and_find_servers_on_network(self): """ Connect, ask server for a list of known servers on network, and disconnect """ - await self.connect_socket() - await self.send_hello() - await self.open_secure_channel() - servers = await self.find_servers_on_network() - await self.close_secure_channel() - self.disconnect_socket() + try: + await self.connect_socket() + await self.send_hello() + await self.open_secure_channel() + servers = await self.find_servers_on_network() + await self.close_secure_channel() + finally: + self.disconnect_socket() return servers async def connect(self): From 40dc3dc550dd15a0dcf14d60632e10d99a88c962 Mon Sep 17 00:00:00 2001 From: harua8n Date: Sun, 21 Jan 2018 20:16:58 -0600 Subject: [PATCH 047/113] cherry pick/merge 0cb222bfbf05928a059602bd346fc2252cc9a82c --- opcua/client/client.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/opcua/client/client.py b/opcua/client/client.py index 3b4c70395..1b6659832 100644 --- a/opcua/client/client.py +++ b/opcua/client/client.py @@ -155,8 +155,8 @@ async def connect_and_get_server_endpoints(self): """ Connect, ask server for endpoints, and disconnect """ + await self.connect_socket() try: - await self.connect_socket() await self.send_hello() await self.open_secure_channel() endpoints = await self.get_endpoints() @@ -169,8 +169,8 @@ async def connect_and_find_servers(self): """ Connect, ask server for a list of known servers, and disconnect """ + await self.connect_socket() try: - await self.connect_socket() await self.send_hello() await self.open_secure_channel() # spec says it should not be necessary to open channel servers = await self.find_servers() @@ -183,8 +183,8 @@ async def connect_and_find_servers_on_network(self): """ Connect, ask server for a list of known servers on network, and disconnect """ + await self.connect_socket() try: - await self.connect_socket() await self.send_hello() await self.open_secure_channel() servers = await self.find_servers_on_network() @@ -200,9 +200,9 @@ async def connect(self): """ _logger.info('connect') await self.connect_socket() - await self.send_hello() - await self.open_secure_channel() try: + await self.send_hello() + await self.open_secure_channel() await self.create_session() except Exception as e: # clean up open socket From 1762722c5bbde66dc119230b587c612ead723a23 Mon Sep 17 00:00:00 2001 From: oroulet Date: Fri, 2 Mar 2018 11:13:40 +0100 Subject: [PATCH 048/113] empty dist not sdist in release script --- release.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release.py b/release.py index e74826489..7a0581bdc 100644 --- a/release.py +++ b/release.py @@ -32,7 +32,7 @@ def release(): os.system("git push --tags") ans = input("upload to pip?(Y/n)") if ans in ("", "y", "yes"): - os.system("rm -rf sdist/*") + os.system("rm -rf dist/*") os.system("python setup.py sdist") os.system("twine upload dist/*") From 08f58364abe0f6d3c6bf333d6286abf30152d9e1 Mon Sep 17 00:00:00 2001 From: oroulet Date: Fri, 2 Mar 2018 11:18:37 +0100 Subject: [PATCH 049/113] new release --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 1bdec051e..89deaeb65 100644 --- a/setup.py +++ b/setup.py @@ -7,7 +7,7 @@ install_requires.extend(["enum34", "trollius", "futures"]) setup(name="opcua", - version="0.95.0", + version="0.95.1", description="Pure Python OPC-UA client and server library", author="Olivier Roulet-Dubonnet", author_email="olivier.roulet@gmail.com", From 654d70827ed492daeffeb785ec9645d1e12b6ced Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Mon, 30 Jul 2018 10:59:03 +0200 Subject: [PATCH 050/113] cleanup --- opcua/client/client.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/opcua/client/client.py b/opcua/client/client.py index 1b6659832..c01de4597 100644 --- a/opcua/client/client.py +++ b/opcua/client/client.py @@ -204,10 +204,10 @@ async def connect(self): await self.send_hello() await self.open_secure_channel() await self.create_session() - except Exception as e: + except Exception: # clean up open socket self.disconnect_socket() - raise e + raise await self.activate_session(username=self._username, password=self._password, certificate=self.user_certificate) async def disconnect(self): From 60855c26459a136e972ef5b718bdad74156b61d5 Mon Sep 17 00:00:00 2001 From: oroulet Date: Wed, 7 Mar 2018 13:49:57 +0100 Subject: [PATCH 051/113] cherry-pick/merge 5d5bbfdec0cdc99f55ea207aba5eb504209228e6 --- opcua/client/client.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/opcua/client/client.py b/opcua/client/client.py index c01de4597..85da5b14d 100644 --- a/opcua/client/client.py +++ b/opcua/client/client.py @@ -417,11 +417,11 @@ async def activate_session(self, username=None, password=None, certificate=None) def _add_anonymous_auth(self, params): params.UserIdentityToken = ua.AnonymousIdentityToken() - params.UserIdentityToken.PolicyId = self.server_policy_id(ua.UserTokenType.Anonymous, 'anonymous') + params.UserIdentityToken.PolicyId = self.server_policy_id(ua.UserTokenType.Anonymous, "anonymous") def _add_certificate_auth(self, params, certificate, challenge): params.UserIdentityToken = ua.X509IdentityToken() - params.UserIdentityToken.PolicyId = self.server_policy_id(ua.UserTokenType.Certificate, b"certificate_basic256") + params.UserIdentityToken.PolicyId = self.server_policy_id(ua.UserTokenType.Certificate, "certificate_basic256") params.UserIdentityToken.CertificateData = uacrypto.der_from_x509(certificate) # specs part 4, 5.6.3.1: the data to sign is created by appending # the last serverNonce to the serverCertificate From db2cd006e94e4b913ff2a3bbcd5f459a0fc81a28 Mon Sep 17 00:00:00 2001 From: oroulet Date: Wed, 7 Mar 2018 13:51:08 +0100 Subject: [PATCH 052/113] add client example to connect to prosys server using Basic256 --- examples/client_to_prosys_crypto.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 examples/client_to_prosys_crypto.py diff --git a/examples/client_to_prosys_crypto.py b/examples/client_to_prosys_crypto.py new file mode 100644 index 000000000..cc4cb652e --- /dev/null +++ b/examples/client_to_prosys_crypto.py @@ -0,0 +1,22 @@ +import sys +sys.path.insert(0, "..") +import logging + +from IPython import embed + +from opcua import Client + + +if __name__ == "__main__": + logging.basicConfig(level=logging.DEBUG) + client = Client("opc.tcp://localhost:53530/OPCUA/SimulationServer/") + client.set_security_string("Basic256,Sign,certificate-example.der,private-key-example.pem") + try: + client.connect() + root = client.get_root_node() + objects = client.get_objects_node() + print("childs og objects are: ", objects.get_children()) + + embed() + finally: + client.disconnect() From ee39f2e0afeb2ba18e69930a2de83c7497e87e33 Mon Sep 17 00:00:00 2001 From: Alexander Rykovanov Date: Sat, 3 Mar 2018 13:52:46 +0300 Subject: [PATCH 053/113] Added Dockerfile --- Dockerfile | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000..9e9722386 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,5 @@ +FROM python:3.6 + +RUN pip install opcua + +CMD uaserver From 8abec21602cb0c44941a63e7dc6cdc3468698df8 Mon Sep 17 00:00:00 2001 From: cirp-usf Date: Fri, 13 Apr 2018 12:54:44 +0200 Subject: [PATCH 054/113] cherry-pick/merge 1354c094e3b8d4583ab9bcabdedf19cfa9e2c999 --- opcua/server/address_space.py | 6 ++ .../standard_address_space.py | 20 ++++--- schemas/download.py | 60 +++++++++---------- schemas/generate_address_space.py | 11 +--- schemas/generate_event_objects.py | 6 +- schemas/generate_model.py | 7 +++ schemas/generate_statuscode.py | 2 +- schemas/generate_uaerrors.py | 2 +- 8 files changed, 63 insertions(+), 51 deletions(-) diff --git a/opcua/server/address_space.py b/opcua/server/address_space.py index a5f946eb2..d026e5695 100644 --- a/opcua/server/address_space.py +++ b/opcua/server/address_space.py @@ -187,6 +187,12 @@ def add_nodes(self, addnodeitems, user=User.Admin): results.append(self._add_node(item, user)) return results + def try_add_nodes(self, addnodeitems, user=User.Admin): + for item in addnodeitems: + ret = self._add_node(item, user) + if not ret.StatusCode.is_good(): + yield item + def _add_node(self, item, user): result = ua.AddNodesResult() diff --git a/opcua/server/standard_address_space/standard_address_space.py b/opcua/server/standard_address_space/standard_address_space.py index 861137383..12e929019 100644 --- a/opcua/server/standard_address_space/standard_address_space.py +++ b/opcua/server/standard_address_space/standard_address_space.py @@ -15,21 +15,28 @@ class PostponeReferences(object): def __init__(self, server): self.server = server - self.postponed = None - self.add_nodes = self.server.add_nodes + self.postponed_refs = None + self.postponed_nodes = None + #self.add_nodes = self.server.add_nodes + + def add_nodes(self,nodes): + self.postponed_nodes.extend(self.server.try_add_nodes(nodes)) def add_references(self, refs): - self.postponed.extend(self.server.try_add_references(refs)) + self.postponed_refs.extend(self.server.try_add_references(refs)) # no return def __enter__(self): - self.postponed = [] + self.postponed_refs = [] + self.postponed_nodes = [] return self def __exit__(self, exc_type, exc_val, exc_tb): if exc_type is None and exc_val is None: - remaining = list(self.server.try_add_references(self.postponed)) - assert len(remaining) == 0, remaining + remaining_nodes = list(self.server.try_add_nodes(self.postponed_nodes)) + assert len(remaining_nodes) == 0, remaining_nodes + remaining_refs = list(self.server.try_add_references(self.postponed_refs)) + assert len(remaining_refs) == 0, remaining_refs def fill_address_space(nodeservice): with PostponeReferences(nodeservice) as server: @@ -41,4 +48,3 @@ def fill_address_space(nodeservice): create_standard_address_space_Part10(server) create_standard_address_space_Part11(server) create_standard_address_space_Part13(server) - assert len(server.postponed) == 1561, len(server.postponed) diff --git a/schemas/download.py b/schemas/download.py index 718357df0..9f7c66a54 100755 --- a/schemas/download.py +++ b/schemas/download.py @@ -5,36 +5,36 @@ # https://opcfoundation.org/UA/schemas/OPC%20UA%20Schema%20Files%20Readme.xls resources = [ - 'https://opcfoundation.org/UA/schemas/1.03/Opc.Ua.Types.xsd', - 'https://opcfoundation.org/UA/schemas/1.03/Opc.Ua.Services.wsdl', - 'https://opcfoundation.org/UA/schemas/1.03/Opc.Ua.Endpoints.wsdl', - 'https://opcfoundation.org/UA/schemas/DI/1.00/Opc.Ua.Di.Types.xsd', - 'https://opcfoundation.org/UA/schemas/ADI/1.00/Opc.Ua.Adi.Types.xsd', - - 'https://opcfoundation.org/UA/schemas/1.03/SecuredApplication.xsd', - - 'https://opcfoundation.org/UA/schemas/1.03/UANodeSet.xsd', - 'https://opcfoundation.org/UA/schemas/1.03/UAVariant.xsd', - 'https://opcfoundation.org/UA/schemas/1.03/Opc.Ua.NodeSet2.xml', - 'https://opcfoundation.org/UA/schemas/1.03/Opc.Ua.NodeSet2.Part3.xml', - 'https://opcfoundation.org/UA/schemas/1.03/Opc.Ua.NodeSet2.Part4.xml', - 'https://opcfoundation.org/UA/schemas/1.03/Opc.Ua.NodeSet2.Part5.xml', - 'https://opcfoundation.org/UA/schemas/Opc.Ua.NodeSet2.Part8.xml', - 'https://opcfoundation.org/UA/schemas/1.03/Opc.Ua.NodeSet2.Part9.xml', - 'https://opcfoundation.org/UA/schemas/1.03/Opc.Ua.NodeSet2.Part10.xml', - 'https://opcfoundation.org/UA/schemas/1.03/Opc.Ua.NodeSet2.Part11.xml', - 'https://opcfoundation.org/UA/schemas/1.03/Opc.Ua.NodeSet2.Part13.xml', - 'https://opcfoundation.org/UA/schemas/DI/1.00/Opc.Ua.Di.NodeSet2.xml', - 'https://opcfoundation.org/UA/schemas/ADI/1.00/Opc.Ua.Adi.NodeSet2.xml', - - 'https://opcfoundation.org/UA/schemas/1.03/OPCBinarySchema.xsd', - 'https://opcfoundation.org/UA/schemas/1.03/Opc.Ua.Types.bsd', - 'https://opcfoundation.org/UA/schemas/DI/1.00/Opc.Ua.Di.Types.bsd', - 'https://opcfoundation.org/UA/schemas/ADI/1.00/Opc.Ua.Adi.Types.bsd', - - 'https://opcfoundation.org/UA/schemas/1.03/AttributeIds.csv', - 'https://opcfoundation.org/UA/schemas/1.03/StatusCodes.csv', - 'https://opcfoundation.org/UA/schemas/1.03/NodeIds.csv', + 'https://opcfoundation.org/UA/schemas/1.04/Opc.Ua.Types.xsd', + 'https://opcfoundation.org/UA/schemas/1.04/Opc.Ua.Services.wsdl', + 'https://opcfoundation.org/UA/schemas/1.04/Opc.Ua.Endpoints.wsdl', + 'https://opcfoundation.org/UA/schemas/DI/1.0/Opc.Ua.Di.Types.xsd', + 'https://opcfoundation.org/UA/schemas/ADI/1.1/Opc.Ua.Adi.Types.xsd', + + 'https://opcfoundation.org/UA/schemas/1.04/SecuredApplication.xsd', + + 'https://opcfoundation.org/UA/schemas/1.04/UANodeSet.xsd', + 'https://opcfoundation.org/UA/schemas/1.04/UAVariant.xsd', + 'https://opcfoundation.org/UA/schemas/1.04/Opc.Ua.NodeSet2.xml', + 'https://opcfoundation.org/UA/schemas/1.04/Opc.Ua.NodeSet2.Part3.xml', + 'https://opcfoundation.org/UA/schemas/1.04/Opc.Ua.NodeSet2.Part4.xml', + 'https://opcfoundation.org/UA/schemas/1.04/Opc.Ua.NodeSet2.Part5.xml', + 'https://opcfoundation.org/UA/schemas/1.04/Opc.Ua.NodeSet2.Part8.xml', + 'https://opcfoundation.org/UA/schemas/1.04/Opc.Ua.NodeSet2.Part9.xml', + 'https://opcfoundation.org/UA/schemas/1.04/Opc.Ua.NodeSet2.Part10.xml', + 'https://opcfoundation.org/UA/schemas/1.04/Opc.Ua.NodeSet2.Part11.xml', + 'https://opcfoundation.org/UA/schemas/1.04/Opc.Ua.NodeSet2.Part13.xml', + 'https://opcfoundation.org/UA/schemas/DI/1.0/Opc.Ua.Di.NodeSet2.xml', + 'https://opcfoundation.org/UA/schemas/ADI/1.1/Opc.Ua.Adi.NodeSet2.xml', + + 'https://opcfoundation.org/UA/schemas/1.04/OPCBinarySchema.xsd', + 'https://opcfoundation.org/UA/schemas/1.04/Opc.Ua.Types.bsd', + 'https://opcfoundation.org/UA/schemas/DI/1.0/Opc.Ua.Di.Types.bsd', + 'https://opcfoundation.org/UA/schemas/ADI/1.1/Opc.Ua.Adi.Types.bsd', + + 'https://opcfoundation.org/UA/schemas/1.04/AttributeIds.csv', + 'https://opcfoundation.org/UA/schemas/1.04/StatusCode.csv', + 'https://opcfoundation.org/UA/schemas/1.04/NodeIds.csv', ] opener = build_opener() diff --git a/schemas/generate_address_space.py b/schemas/generate_address_space.py index 89a2c0344..a9e740d41 100644 --- a/schemas/generate_address_space.py +++ b/schemas/generate_address_space.py @@ -151,14 +151,14 @@ def make_common_variable_code(self, indent, obj): self.writecode(indent, 'value = extobj') self.writecode(indent, 'attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject)') elif obj.valuetype == "ListOfLocalizedText": - value = [f'ua.LocalizedText({self.to_value(text)})' for text in obj.value] + value = [f'ua.LocalizedText({text!r})' for text in obj.value] self.writecode(indent, f'attrs.Value = [{",".join(value)}]') else: if obj.valuetype.startswith("ListOf"): obj.valuetype = obj.valuetype[6:] self.writecode( indent, - f'attrs.Value = ua.Variant({self.to_value(obj.value)}, ua.VariantType.{obj.valuetype})' + f'attrs.Value = ua.Variant({obj.value!r}, ua.VariantType.{obj.valuetype})' ) if obj.rank: self.writecode(indent, f'attrs.ValueRank = {obj.rank}') @@ -211,13 +211,6 @@ def make_variable_type_code(self, obj): self.writecode(indent, 'server.add_nodes([node])') self.make_refs_code(obj, indent) - def to_value(self, val): - # if type(val) in (str, unicode): - if isinstance(val, str): - return f'"{val}"' - else: - return val - def make_method_code(self, obj): indent = " " self.writecode(indent) diff --git a/schemas/generate_event_objects.py b/schemas/generate_event_objects.py index ae11f9508..2d775dc0a 100644 --- a/schemas/generate_event_objects.py +++ b/schemas/generate_event_objects.py @@ -16,7 +16,7 @@ def eventList(self): root = tree.getroot() for child in root: if child.tag.endswith("UAObjectType"): - print child.attrib + print (child.attrib) def write(self, line): if line: @@ -94,7 +94,7 @@ def generateEventclass(self, event, *parentEventBrowseName): def generateEventsCode(self, model): self.output_file = open(self.output_file, "w") self.make_header() - for event in model.itervalues(): + for event in model.values(): if (event.browseName == "BaseEvent"): self.generateEventclass(event) else: @@ -104,7 +104,7 @@ def generateEventsCode(self, model): self.write("") self.write("IMPLEMENTED_EVENTS = {") self.iidx += 1 - for event in model.itervalues(): + for event in model.values(): self.write("ua.ObjectIds.{0}Type: {0},".format(event.browseName)) self.write("}") diff --git a/schemas/generate_model.py b/schemas/generate_model.py index e2f26d14d..aa9c3be21 100644 --- a/schemas/generate_model.py +++ b/schemas/generate_model.py @@ -313,6 +313,7 @@ def parse(self): tree = ElementTree.parse(self.path) root = tree.getroot() self.add_extension_object() + self.add_data_type_definition() for child in root: tag = child.tag[40:] if tag == 'StructuredType': @@ -352,6 +353,12 @@ def add_extension_object(self): self.model.structs.append(obj) + def add_data_type_definition(self): + obj = Struct() + obj.name = "DataTypeDefinition" + self.model.struct_list.append(obj.name) + self.model.structs.append(obj) + def parse_struct(self, child): tag = child.tag[40:] struct = Struct() diff --git a/schemas/generate_statuscode.py b/schemas/generate_statuscode.py index e76768926..7ae98c758 100644 --- a/schemas/generate_statuscode.py +++ b/schemas/generate_statuscode.py @@ -8,7 +8,7 @@ def status_codes(): name, val, doc = line.split(",", 2) additional[int(val, 0)] = (name, val, doc) - inputfile = open("StatusCodes.csv") + inputfile = open("StatusCode.csv") result = [] for line in inputfile: name, val, doc = line.split(",", 2) diff --git a/schemas/generate_uaerrors.py b/schemas/generate_uaerrors.py index c3f54df9a..1f0d22f2b 100644 --- a/schemas/generate_uaerrors.py +++ b/schemas/generate_uaerrors.py @@ -5,7 +5,7 @@ if __name__ == "__main__": codes = status_codes() - with open("../opcua/ua/errors/_auto.py", "w") as f: + with open("../opcua/ua/uaerrors/_auto.py", "w") as f: preamble = """\ #AUTOGENERATED!!! From a17000d922f4f9618d66374c08e8c5c4cdfd044b Mon Sep 17 00:00:00 2001 From: cirp-usf Date: Fri, 13 Apr 2018 13:00:08 +0200 Subject: [PATCH 055/113] cherry-pick/merge e2df3d761a228242a2aadcf03a638b268ed545ea --- schemas/AttributeIds.csv | 5 + schemas/NodeIds.csv | 5059 +- schemas/Opc.Ua.Adi.NodeSet2.xml | 16514 ++--- schemas/Opc.Ua.Adi.Types.bsd | 55 +- schemas/Opc.Ua.Adi.Types.xsd | 119 +- schemas/Opc.Ua.Endpoints.wsdl | 2 - schemas/Opc.Ua.NodeSet2.Part10.xml | 272 +- schemas/Opc.Ua.NodeSet2.Part11.xml | 17 +- schemas/Opc.Ua.NodeSet2.Part13.xml | 4 +- schemas/Opc.Ua.NodeSet2.Part3.xml | 745 +- schemas/Opc.Ua.NodeSet2.Part4.xml | 1413 +- schemas/Opc.Ua.NodeSet2.Part5.xml | 27660 +++++--- schemas/Opc.Ua.NodeSet2.Part9.xml | 1627 +- schemas/Opc.Ua.NodeSet2.xml | 64453 ++++++++++++------ schemas/Opc.Ua.Services.wsdl | 2 - schemas/Opc.Ua.Types.bsd | 708 +- schemas/Opc.Ua.Types.xsd | 1425 +- schemas/{StatusCodes.csv => StatusCode.csv} | 38 +- schemas/UANodeSet.xsd | 51 +- 19 files changed, 76873 insertions(+), 43296 deletions(-) rename schemas/{StatusCodes.csv => StatusCode.csv} (91%) diff --git a/schemas/AttributeIds.csv b/schemas/AttributeIds.csv index 7272ff5c6..92136eae3 100644 --- a/schemas/AttributeIds.csv +++ b/schemas/AttributeIds.csv @@ -20,3 +20,8 @@ MinimumSamplingInterval,19 Historizing,20 Executable,21 UserExecutable,22 +DataTypeDefinition,23 +RolePermissions,24 +UserRolePermissions,25 +AccessRestrictions,26 +AccessLevelEx,27 diff --git a/schemas/NodeIds.csv b/schemas/NodeIds.csv index 3306b5f94..b89d443d3 100644 --- a/schemas/NodeIds.csv +++ b/schemas/NodeIds.csv @@ -45,6 +45,7 @@ HasProperty,46,ReferenceType HasComponent,47,ReferenceType HasNotifier,48,ReferenceType HasOrderedComponent,49,ReferenceType +Decimal,50,DataType FromState,51,ReferenceType ToState,52,ReferenceType HasCause,53,ReferenceType @@ -74,6 +75,15 @@ DataTypesFolder,90,Object ReferenceTypesFolder,91,Object XmlSchema_TypeSystem,92,Object OPCBinarySchema_TypeSystem,93,Object +PermissionType,94,DataType +AccessRestrictionType,95,DataType +RolePermissionType,96,DataType +DataTypeDefinition,97,DataType +StructureType,98,DataType +StructureDefinition,99,DataType +EnumDefinition,100,DataType +StructureField,101,DataType +EnumField,102,DataType DataTypeDescriptionType_DataTypeVersion,104,Variable DataTypeDescriptionType_DictionaryFragment,105,Variable DataTypeDictionaryType_DataTypeVersion,106,Variable @@ -85,7 +95,14 @@ ModellingRule_ExposesItsArray_NamingRule,114,Variable ModellingRule_MandatoryShared_NamingRule,116,Variable HasSubStateMachine,117,ReferenceType NamingRuleType,120,DataType -Decimal128,121,DataType +DataTypeDefinition_Encoding_DefaultBinary,121,Object +StructureDefinition_Encoding_DefaultBinary,122,Object +EnumDefinition_Encoding_DefaultBinary,123,Object +DataSetMetaDataType_Encoding_DefaultBinary,124,Object +DataTypeDescription_Encoding_DefaultBinary,125,Object +StructureDescription_Encoding_DefaultBinary,126,Object +EnumDescription_Encoding_DefaultBinary,127,Object +RolePermissionType_Encoding_DefaultBinary,128,Object IdType,256,DataType NodeClass,257,DataType Node,258,DataType @@ -2395,7 +2412,7 @@ SubscriptionDiagnosticsType_MonitoringQueueOverflowCount,8896,Variable SubscriptionDiagnosticsType_NextSequenceNumber,8897,Variable SessionDiagnosticsObjectType_SessionDiagnostics_TotalRequestCount,8898,Variable SessionDiagnosticsVariableType_TotalRequestCount,8900,Variable -SubscriptionDiagnosticsType_EventQueueOverFlowCount,8902,Variable +SubscriptionDiagnosticsType_EventQueueOverflowCount,8902,Variable TimeZoneDataType,8912,DataType TimeZoneDataType_Encoding_DefaultXml,8913,Object OpcUa_BinarySchema_TimeZoneDataType,8914,Variable @@ -4256,25 +4273,6 @@ ServerType_ServerCapabilities_OperationLimits_MaxNodesPerTranslateBrowsePathsToN ServerType_ServerCapabilities_OperationLimits_MaxNodesPerNodeManagement,11525,Variable ServerType_ServerCapabilities_OperationLimits_MaxMonitoredItemsPerCall,11526,Variable ServerType_Namespaces,11527,Object -ServerType_Namespaces_AddressSpaceFile,11528,Object -ServerType_Namespaces_AddressSpaceFile_Size,11529,Variable -ServerType_Namespaces_AddressSpaceFile_OpenCount,11532,Variable -ServerType_Namespaces_AddressSpaceFile_Open,11533,Method -ServerType_Namespaces_AddressSpaceFile_Open_InputArguments,11534,Variable -ServerType_Namespaces_AddressSpaceFile_Open_OutputArguments,11535,Variable -ServerType_Namespaces_AddressSpaceFile_Close,11536,Method -ServerType_Namespaces_AddressSpaceFile_Close_InputArguments,11537,Variable -ServerType_Namespaces_AddressSpaceFile_Read,11538,Method -ServerType_Namespaces_AddressSpaceFile_Read_InputArguments,11539,Variable -ServerType_Namespaces_AddressSpaceFile_Read_OutputArguments,11540,Variable -ServerType_Namespaces_AddressSpaceFile_Write,11541,Method -ServerType_Namespaces_AddressSpaceFile_Write_InputArguments,11542,Variable -ServerType_Namespaces_AddressSpaceFile_GetPosition,11543,Method -ServerType_Namespaces_AddressSpaceFile_GetPosition_InputArguments,11544,Variable -ServerType_Namespaces_AddressSpaceFile_GetPosition_OutputArguments,11545,Variable -ServerType_Namespaces_AddressSpaceFile_SetPosition,11546,Method -ServerType_Namespaces_AddressSpaceFile_SetPosition_InputArguments,11547,Variable -ServerType_Namespaces_AddressSpaceFile_ExportNamespace,11548,Method ServerCapabilitiesType_MaxArrayLength,11549,Variable ServerCapabilitiesType_MaxStringLength,11550,Variable ServerCapabilitiesType_OperationLimits,11551,Object @@ -4388,25 +4386,6 @@ NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_GetPosition_OutputA NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_SetPosition,11672,Method NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_SetPosition_InputArguments,11673,Variable NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_ExportNamespace,11674,Method -NamespacesType_AddressSpaceFile,11675,Object -NamespacesType_AddressSpaceFile_Size,11676,Variable -NamespacesType_AddressSpaceFile_OpenCount,11679,Variable -NamespacesType_AddressSpaceFile_Open,11680,Method -NamespacesType_AddressSpaceFile_Open_InputArguments,11681,Variable -NamespacesType_AddressSpaceFile_Open_OutputArguments,11682,Variable -NamespacesType_AddressSpaceFile_Close,11683,Method -NamespacesType_AddressSpaceFile_Close_InputArguments,11684,Variable -NamespacesType_AddressSpaceFile_Read,11685,Method -NamespacesType_AddressSpaceFile_Read_InputArguments,11686,Variable -NamespacesType_AddressSpaceFile_Read_OutputArguments,11687,Variable -NamespacesType_AddressSpaceFile_Write,11688,Method -NamespacesType_AddressSpaceFile_Write_InputArguments,11689,Variable -NamespacesType_AddressSpaceFile_GetPosition,11690,Method -NamespacesType_AddressSpaceFile_GetPosition_InputArguments,11691,Variable -NamespacesType_AddressSpaceFile_GetPosition_OutputArguments,11692,Variable -NamespacesType_AddressSpaceFile_SetPosition,11693,Method -NamespacesType_AddressSpaceFile_SetPosition_InputArguments,11694,Variable -NamespacesType_AddressSpaceFile_ExportNamespace,11695,Method SystemStatusChangeEventType_SystemState,11696,Variable SamplingIntervalDiagnosticsType_SampledMonitoredItemsCount,11697,Variable SamplingIntervalDiagnosticsType_MaxSampledMonitoredItemsCount,11698,Variable @@ -4424,25 +4403,6 @@ Server_ServerCapabilities_OperationLimits_MaxNodesPerTranslateBrowsePathsToNodeI Server_ServerCapabilities_OperationLimits_MaxNodesPerNodeManagement,11713,Variable Server_ServerCapabilities_OperationLimits_MaxMonitoredItemsPerCall,11714,Variable Server_Namespaces,11715,Object -Server_Namespaces_AddressSpaceFile,11716,Object -Server_Namespaces_AddressSpaceFile_Size,11717,Variable -Server_Namespaces_AddressSpaceFile_OpenCount,11720,Variable -Server_Namespaces_AddressSpaceFile_Open,11721,Method -Server_Namespaces_AddressSpaceFile_Open_InputArguments,11722,Variable -Server_Namespaces_AddressSpaceFile_Open_OutputArguments,11723,Variable -Server_Namespaces_AddressSpaceFile_Close,11724,Method -Server_Namespaces_AddressSpaceFile_Close_InputArguments,11725,Variable -Server_Namespaces_AddressSpaceFile_Read,11726,Method -Server_Namespaces_AddressSpaceFile_Read_InputArguments,11727,Variable -Server_Namespaces_AddressSpaceFile_Read_OutputArguments,11728,Variable -Server_Namespaces_AddressSpaceFile_Write,11729,Method -Server_Namespaces_AddressSpaceFile_Write_InputArguments,11730,Variable -Server_Namespaces_AddressSpaceFile_GetPosition,11731,Method -Server_Namespaces_AddressSpaceFile_GetPosition_InputArguments,11732,Variable -Server_Namespaces_AddressSpaceFile_GetPosition_OutputArguments,11733,Variable -Server_Namespaces_AddressSpaceFile_SetPosition,11734,Method -Server_Namespaces_AddressSpaceFile_SetPosition_InputArguments,11735,Variable -Server_Namespaces_AddressSpaceFile_ExportNamespace,11736,Method BitFieldMaskDataType,11737,DataType OpenMethodType,11738,Method OpenMethodType_InputArguments,11739,Variable @@ -4588,7 +4548,6 @@ NodeClass_EnumValues,11878,Variable InstanceNode,11879,DataType TypeNode,11880,DataType NodeAttributesMask_EnumValues,11881,Variable -AttributeWriteMask_EnumValues,11882,Variable BrowseResultMask_EnumValues,11883,Variable HistoryUpdateType_EnumValues,11884,Variable PerformUpdateType_EnumValues,11885,Variable @@ -4945,8 +4904,6 @@ TrustListDataType_Encoding_DefaultBinary,12680,Object OpcUa_BinarySchema_TrustListDataType,12681,Variable OpcUa_BinarySchema_TrustListDataType_DataTypeVersion,12682,Variable OpcUa_BinarySchema_TrustListDataType_DictionaryFragment,12683,Variable -ServerType_Namespaces_AddressSpaceFile_Writable,12684,Variable -ServerType_Namespaces_AddressSpaceFile_UserWritable,12685,Variable FileType_Writable,12686,Variable FileType_UserWritable,12687,Variable AddressSpaceFileType_Writable,12688,Variable @@ -4955,10 +4912,6 @@ NamespaceMetadataType_NamespaceFile_Writable,12690,Variable NamespaceMetadataType_NamespaceFile_UserWritable,12691,Variable NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_Writable,12692,Variable NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_UserWritable,12693,Variable -NamespacesType_AddressSpaceFile_Writable,12694,Variable -NamespacesType_AddressSpaceFile_UserWritable,12695,Variable -Server_Namespaces_AddressSpaceFile_Writable,12696,Variable -Server_Namespaces_AddressSpaceFile_UserWritable,12697,Variable TrustListType_Writable,12698,Variable TrustListType_UserWritable,12699,Variable CloseAndUpdateMethodType_InputArguments,12704,Variable @@ -5058,7 +5011,7 @@ SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_MonitoredItemCount,1281 SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_DisabledMonitoredItemCount,12812,Variable SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_MonitoringQueueOverflowCount,12813,Variable SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_NextSequenceNumber,12814,Variable -SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_EventQueueOverFlowCount,12815,Variable +SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_EventQueueOverflowCount,12815,Variable SessionDiagnosticsArrayType_SessionDiagnostics,12816,Variable SessionDiagnosticsArrayType_SessionDiagnostics_SessionId,12817,Variable SessionDiagnosticsArrayType_SessionDiagnostics_SessionName,12818,Variable @@ -5293,7 +5246,6 @@ CertificateExpirationAlarmType_NormalState,13324,Variable CertificateExpirationAlarmType_ExpirationDate,13325,Variable CertificateExpirationAlarmType_CertificateType,13326,Variable CertificateExpirationAlarmType_Certificate,13327,Variable -ServerType_Namespaces_AddressSpaceFile_MimeType,13340,Variable FileType_MimeType,13341,Variable CreateDirectoryMethodType,13342,Method CreateDirectoryMethodType_InputArguments,13343,Variable @@ -5314,8 +5266,6 @@ FileDirectoryType_FileDirectoryName_Placeholder_CreateDirectory_OutputArguments, FileDirectoryType_FileDirectoryName_Placeholder_CreateFile,13358,Method FileDirectoryType_FileDirectoryName_Placeholder_CreateFile_InputArguments,13359,Variable FileDirectoryType_FileDirectoryName_Placeholder_CreateFile_OutputArguments,13360,Variable -FileDirectoryType_FileDirectoryName_Placeholder_Delete,13361,Method -FileDirectoryType_FileDirectoryName_Placeholder_Delete_InputArguments,13362,Variable FileDirectoryType_FileDirectoryName_Placeholder_MoveOrCopy,13363,Method FileDirectoryType_FileDirectoryName_Placeholder_MoveOrCopy_InputArguments,13364,Variable FileDirectoryType_FileDirectoryName_Placeholder_MoveOrCopy_OutputArguments,13365,Variable @@ -5346,16 +5296,14 @@ FileDirectoryType_CreateDirectory_OutputArguments,13389,Variable FileDirectoryType_CreateFile,13390,Method FileDirectoryType_CreateFile_InputArguments,13391,Variable FileDirectoryType_CreateFile_OutputArguments,13392,Variable -FileDirectoryType_Delete,13393,Method -FileDirectoryType_Delete_InputArguments,13394,Variable +FileDirectoryType_DeleteFileSystemObject,13393,Method +FileDirectoryType_DeleteFileSystemObject_InputArguments,13394,Variable FileDirectoryType_MoveOrCopy,13395,Method FileDirectoryType_MoveOrCopy_InputArguments,13396,Variable FileDirectoryType_MoveOrCopy_OutputArguments,13397,Variable AddressSpaceFileType_MimeType,13398,Variable NamespaceMetadataType_NamespaceFile_MimeType,13399,Variable NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_MimeType,13400,Variable -NamespacesType_AddressSpaceFile_MimeType,13401,Variable -Server_Namespaces_AddressSpaceFile_MimeType,13402,Variable TrustListType_MimeType,13403,Variable CertificateGroupType_TrustList,13599,Object CertificateGroupType_TrustList_Size,13600,Variable @@ -5710,37 +5658,4940 @@ ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_UserWrit ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_MimeType,14159,Variable ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_CloseAndUpdate_InputArguments,14160,Variable ServerConfiguration_CertificateGroups_DefaultApplicationGroup_CertificateTypes,14161,Variable +RemoveConnectionMethodType,14183,Method +RemoveConnectionMethodType_InputArguments,14184,Variable +PubSubConnectionType,14209,ObjectType +PubSubConnectionType_Address,14221,Object +PubSubConnectionType_RemoveGroup,14225,Method +PubSubConnectionType_RemoveGroup_InputArguments,14226,Variable +PubSubGroupType,14232,ObjectType +PublishedVariableDataType,14273,DataType +PublishedVariableDataType_Encoding_DefaultXml,14319,Object +OpcUa_XmlSchema_PublishedVariableDataType,14320,Variable +OpcUa_XmlSchema_PublishedVariableDataType_DataTypeVersion,14321,Variable +OpcUa_XmlSchema_PublishedVariableDataType_DictionaryFragment,14322,Variable +PublishedVariableDataType_Encoding_DefaultBinary,14323,Object +OpcUa_BinarySchema_PublishedVariableDataType,14324,Variable +OpcUa_BinarySchema_PublishedVariableDataType_DataTypeVersion,14325,Variable +OpcUa_BinarySchema_PublishedVariableDataType_DictionaryFragment,14326,Variable AuditCreateSessionEventType_SessionId,14413,Variable AuditUrlMismatchEventType_SessionId,14414,Variable Server_ServerRedundancy_ServerNetworkGroups,14415,Variable +PublishSubscribeType,14416,ObjectType +PublishSubscribeType_ConnectionName_Placeholder,14417,Object +PublishSubscribeType_ConnectionName_Placeholder_PublisherId,14418,Variable +PublishSubscribeType_ConnectionName_Placeholder_Status,14419,Object +PublishSubscribeType_ConnectionName_Placeholder_Status_State,14420,Variable +PublishSubscribeType_ConnectionName_Placeholder_Status_Enable,14421,Method +PublishSubscribeType_ConnectionName_Placeholder_Status_Disable,14422,Method +PublishSubscribeType_ConnectionName_Placeholder_Address,14423,Object +PublishSubscribeType_ConnectionName_Placeholder_RemoveGroup,14424,Method +PublishSubscribeType_ConnectionName_Placeholder_RemoveGroup_InputArguments,14425,Variable +PublishSubscribeType_RemoveConnection,14432,Method +PublishSubscribeType_RemoveConnection_InputArguments,14433,Variable +PublishSubscribeType_PublishedDataSets,14434,Object +PublishSubscribeType_PublishedDataSets_AddPublishedDataItems,14435,Method +PublishSubscribeType_PublishedDataSets_AddPublishedDataItems_InputArguments,14436,Variable +PublishSubscribeType_PublishedDataSets_AddPublishedDataItems_OutputArguments,14437,Variable +PublishSubscribeType_PublishedDataSets_AddPublishedEvents,14438,Method +PublishSubscribeType_PublishedDataSets_AddPublishedEvents_InputArguments,14439,Variable +PublishSubscribeType_PublishedDataSets_AddPublishedEvents_OutputArguments,14440,Variable +PublishSubscribeType_PublishedDataSets_RemovePublishedDataSet,14441,Method +PublishSubscribeType_PublishedDataSets_RemovePublishedDataSet_InputArguments,14442,Variable +PublishSubscribe,14443,Object +HasPubSubConnection,14476,ReferenceType +DataSetFolderType,14477,ObjectType +DataSetFolderType_DataSetFolderName_Placeholder,14478,Object +DataSetFolderType_DataSetFolderName_Placeholder_AddPublishedDataItems,14479,Method +DataSetFolderType_DataSetFolderName_Placeholder_AddPublishedDataItems_InputArguments,14480,Variable +DataSetFolderType_DataSetFolderName_Placeholder_AddPublishedDataItems_OutputArguments,14481,Variable +DataSetFolderType_DataSetFolderName_Placeholder_AddPublishedEvents,14482,Method +DataSetFolderType_DataSetFolderName_Placeholder_AddPublishedEvents_InputArguments,14483,Variable +DataSetFolderType_DataSetFolderName_Placeholder_AddPublishedEvents_OutputArguments,14484,Variable +DataSetFolderType_DataSetFolderName_Placeholder_RemovePublishedDataSet,14485,Method +DataSetFolderType_DataSetFolderName_Placeholder_RemovePublishedDataSet_InputArguments,14486,Variable +DataSetFolderType_PublishedDataSetName_Placeholder,14487,Object +DataSetFolderType_PublishedDataSetName_Placeholder_ConfigurationVersion,14489,Variable +DataSetFolderType_AddPublishedDataItems,14493,Method +DataSetFolderType_AddPublishedDataItems_InputArguments,14494,Variable +DataSetFolderType_AddPublishedDataItems_OutputArguments,14495,Variable +DataSetFolderType_AddPublishedEvents,14496,Method +DataSetFolderType_AddPublishedEvents_InputArguments,14497,Variable +DataSetFolderType_AddPublishedEvents_OutputArguments,14498,Variable +DataSetFolderType_RemovePublishedDataSet,14499,Method +DataSetFolderType_RemovePublishedDataSet_InputArguments,14500,Variable +AddPublishedDataItemsMethodType,14501,Method +AddPublishedDataItemsMethodType_InputArguments,14502,Variable +AddPublishedDataItemsMethodType_OutputArguments,14503,Variable +AddPublishedEventsMethodType,14504,Method +AddPublishedEventsMethodType_InputArguments,14505,Variable +AddPublishedEventsMethodType_OutputArguments,14506,Variable +RemovePublishedDataSetMethodType,14507,Method +RemovePublishedDataSetMethodType_InputArguments,14508,Variable +PublishedDataSetType,14509,ObjectType +PublishedDataSetType_ConfigurationVersion,14519,Variable +DataSetMetaDataType,14523,DataType +FieldMetaData,14524,DataType +DataTypeDescription,14525,DataType +StructureType_EnumStrings,14528,Variable +KeyValuePair,14533,DataType +PublishedDataItemsType,14534,ObjectType +PublishedDataItemsType_ConfigurationVersion,14544,Variable +PublishedDataItemsType_PublishedData,14548,Variable +PublishedDataItemsType_AddVariables,14555,Method +PublishedDataItemsType_AddVariables_InputArguments,14556,Variable +PublishedDataItemsType_AddVariables_OutputArguments,14557,Variable +PublishedDataItemsType_RemoveVariables,14558,Method +PublishedDataItemsType_RemoveVariables_InputArguments,14559,Variable +PublishedDataItemsType_RemoveVariables_OutputArguments,14560,Variable +PublishedDataItemsAddVariablesMethodType,14564,Method +PublishedDataItemsAddVariablesMethodType_InputArguments,14565,Variable +PublishedDataItemsAddVariablesMethodType_OutputArguments,14566,Variable +PublishedDataItemsRemoveVariablesMethodType,14567,Method +PublishedDataItemsRemoveVariablesMethodType_InputArguments,14568,Variable +PublishedDataItemsRemoveVariablesMethodType_OutputArguments,14569,Variable +PublishedEventsType,14572,ObjectType +PublishedEventsType_ConfigurationVersion,14582,Variable +PublishedEventsType_PubSubEventNotifier,14586,Variable +PublishedEventsType_SelectedFields,14587,Variable +PublishedEventsType_Filter,14588,Variable +ConfigurationVersionDataType,14593,DataType +PubSubConnectionType_PublisherId,14595,Variable +PubSubConnectionType_Status,14600,Object +PubSubConnectionType_Status_State,14601,Variable +PubSubConnectionType_Status_Enable,14602,Method +PubSubConnectionType_Status_Disable,14603,Method +PubSubConnectionTypeRemoveGroupMethodType,14604,Method +PubSubConnectionTypeRemoveGroupMethodType_InputArguments,14605,Variable +PubSubGroupTypeRemoveWriterMethodType,14623,Method +PubSubGroupTypeRemoveWriterMethodType_InputArguments,14624,Variable +PubSubGroupTypeRemoveReaderMethodType,14625,Method +PubSubGroupTypeRemoveReaderMethodType_InputArguments,14626,Variable +PubSubStatusType,14643,ObjectType +PubSubStatusType_State,14644,Variable +PubSubStatusType_Enable,14645,Method +PubSubStatusType_Disable,14646,Method +PubSubState,14647,DataType +PubSubState_EnumStrings,14648,Variable +FieldTargetDataType,14744,DataType +DataSetMetaDataType_Encoding_DefaultXml,14794,Object +FieldMetaData_Encoding_DefaultXml,14795,Object +DataTypeDescription_Encoding_DefaultXml,14796,Object +DataTypeDefinition_Encoding_DefaultXml,14797,Object +StructureDefinition_Encoding_DefaultXml,14798,Object +EnumDefinition_Encoding_DefaultXml,14799,Object +StructureField_Encoding_DefaultXml,14800,Object +EnumField_Encoding_DefaultXml,14801,Object +KeyValuePair_Encoding_DefaultXml,14802,Object +ConfigurationVersionDataType_Encoding_DefaultXml,14803,Object +FieldTargetDataType_Encoding_DefaultXml,14804,Object +OpcUa_XmlSchema_DataSetMetaDataType,14805,Variable +OpcUa_XmlSchema_DataSetMetaDataType_DataTypeVersion,14806,Variable +OpcUa_XmlSchema_DataSetMetaDataType_DictionaryFragment,14807,Variable +OpcUa_XmlSchema_FieldMetaData,14808,Variable +OpcUa_XmlSchema_FieldMetaData_DataTypeVersion,14809,Variable +OpcUa_XmlSchema_FieldMetaData_DictionaryFragment,14810,Variable +OpcUa_XmlSchema_DataTypeDescription,14811,Variable +OpcUa_XmlSchema_DataTypeDescription_DataTypeVersion,14812,Variable +OpcUa_XmlSchema_DataTypeDescription_DictionaryFragment,14813,Variable +OpcUa_XmlSchema_EnumField,14826,Variable +OpcUa_XmlSchema_EnumField_DataTypeVersion,14827,Variable +OpcUa_XmlSchema_EnumField_DictionaryFragment,14828,Variable +OpcUa_XmlSchema_KeyValuePair,14829,Variable +OpcUa_XmlSchema_KeyValuePair_DataTypeVersion,14830,Variable +OpcUa_XmlSchema_KeyValuePair_DictionaryFragment,14831,Variable +OpcUa_XmlSchema_ConfigurationVersionDataType,14832,Variable +OpcUa_XmlSchema_ConfigurationVersionDataType_DataTypeVersion,14833,Variable +OpcUa_XmlSchema_ConfigurationVersionDataType_DictionaryFragment,14834,Variable +OpcUa_XmlSchema_FieldTargetDataType,14835,Variable +OpcUa_XmlSchema_FieldTargetDataType_DataTypeVersion,14836,Variable +OpcUa_XmlSchema_FieldTargetDataType_DictionaryFragment,14837,Variable +FieldMetaData_Encoding_DefaultBinary,14839,Object +StructureField_Encoding_DefaultBinary,14844,Object +EnumField_Encoding_DefaultBinary,14845,Object +KeyValuePair_Encoding_DefaultBinary,14846,Object +ConfigurationVersionDataType_Encoding_DefaultBinary,14847,Object +FieldTargetDataType_Encoding_DefaultBinary,14848,Object +OpcUa_BinarySchema_DataSetMetaDataType,14849,Variable +OpcUa_BinarySchema_DataSetMetaDataType_DataTypeVersion,14850,Variable +OpcUa_BinarySchema_DataSetMetaDataType_DictionaryFragment,14851,Variable +OpcUa_BinarySchema_FieldMetaData,14852,Variable +OpcUa_BinarySchema_FieldMetaData_DataTypeVersion,14853,Variable +OpcUa_BinarySchema_FieldMetaData_DictionaryFragment,14854,Variable +OpcUa_BinarySchema_DataTypeDescription,14855,Variable +OpcUa_BinarySchema_DataTypeDescription_DataTypeVersion,14856,Variable +OpcUa_BinarySchema_DataTypeDescription_DictionaryFragment,14857,Variable +OpcUa_BinarySchema_EnumField,14870,Variable +OpcUa_BinarySchema_EnumField_DataTypeVersion,14871,Variable +OpcUa_BinarySchema_EnumField_DictionaryFragment,14872,Variable +OpcUa_BinarySchema_KeyValuePair,14873,Variable +OpcUa_BinarySchema_KeyValuePair_DataTypeVersion,14874,Variable +OpcUa_BinarySchema_KeyValuePair_DictionaryFragment,14875,Variable +OpcUa_BinarySchema_ConfigurationVersionDataType,14876,Variable +OpcUa_BinarySchema_ConfigurationVersionDataType_DataTypeVersion,14877,Variable +OpcUa_BinarySchema_ConfigurationVersionDataType_DictionaryFragment,14878,Variable +OpcUa_BinarySchema_FieldTargetDataType_DataTypeVersion,14880,Variable +OpcUa_BinarySchema_FieldTargetDataType_DictionaryFragment,14881,Variable CertificateExpirationAlarmType_ExpirationLimit,14900,Variable -Server_Namespaces_OPCUANamespaceUri,15182,Object -Server_Namespaces_OPCUANamespaceUri_NamespaceUri,15183,Variable -Server_Namespaces_OPCUANamespaceUri_NamespaceVersion,15184,Variable -Server_Namespaces_OPCUANamespaceUri_NamespacePublicationDate,15185,Variable -Server_Namespaces_OPCUANamespaceUri_IsNamespaceSubset,15186,Variable -Server_Namespaces_OPCUANamespaceUri_StaticNodeIdTypes,15187,Variable -Server_Namespaces_OPCUANamespaceUri_StaticNumericNodeIdRange,15188,Variable -Server_Namespaces_OPCUANamespaceUri_StaticStringNodeIdPattern,15189,Variable -Server_Namespaces_OPCUANamespaceUri_NamespaceFile,15190,Object -Server_Namespaces_OPCUANamespaceUri_NamespaceFile_Size,15191,Variable -Server_Namespaces_OPCUANamespaceUri_NamespaceFile_Writable,15192,Variable -Server_Namespaces_OPCUANamespaceUri_NamespaceFile_UserWritable,15193,Variable -Server_Namespaces_OPCUANamespaceUri_NamespaceFile_OpenCount,15194,Variable -Server_Namespaces_OPCUANamespaceUri_NamespaceFile_MimeType,15195,Variable -Server_Namespaces_OPCUANamespaceUri_NamespaceFile_Open,15196,Method -Server_Namespaces_OPCUANamespaceUri_NamespaceFile_Open_InputArguments,15197,Variable -Server_Namespaces_OPCUANamespaceUri_NamespaceFile_Open_OutputArguments,15198,Variable -Server_Namespaces_OPCUANamespaceUri_NamespaceFile_Close,15199,Method -Server_Namespaces_OPCUANamespaceUri_NamespaceFile_Close_InputArguments,15200,Variable -Server_Namespaces_OPCUANamespaceUri_NamespaceFile_Read,15201,Method -Server_Namespaces_OPCUANamespaceUri_NamespaceFile_Read_InputArguments,15202,Variable -Server_Namespaces_OPCUANamespaceUri_NamespaceFile_Read_OutputArguments,15203,Variable -Server_Namespaces_OPCUANamespaceUri_NamespaceFile_Write,15204,Method -Server_Namespaces_OPCUANamespaceUri_NamespaceFile_Write_InputArguments,15205,Variable -Server_Namespaces_OPCUANamespaceUri_NamespaceFile_GetPosition,15206,Method -Server_Namespaces_OPCUANamespaceUri_NamespaceFile_GetPosition_InputArguments,15207,Variable -Server_Namespaces_OPCUANamespaceUri_NamespaceFile_GetPosition_OutputArguments,15208,Variable -Server_Namespaces_OPCUANamespaceUri_NamespaceFile_SetPosition,15209,Method -Server_Namespaces_OPCUANamespaceUri_NamespaceFile_SetPosition_InputArguments,15210,Variable -Server_Namespaces_OPCUANamespaceUri_NamespaceFile_ExportNamespace,15211,Method +DataSetToWriter,14936,ReferenceType +DataTypeDictionaryType_Deprecated,15001,Variable +MaxCharacters,15002,Variable +ServerType_UrisVersion,15003,Variable +Server_UrisVersion,15004,Variable +SimpleTypeDescription,15005,DataType +UABinaryFileDataType,15006,DataType +BrokerConnectionTransportDataType,15007,DataType +BrokerTransportQualityOfService,15008,DataType +BrokerTransportQualityOfService_EnumStrings,15009,Variable +SecurityGroupFolderType_SecurityGroupName_Placeholder_KeyLifetime,15010,Variable +SecurityGroupFolderType_SecurityGroupName_Placeholder_SecurityPolicyUri,15011,Variable +SecurityGroupFolderType_SecurityGroupName_Placeholder_MaxFutureKeyCount,15012,Variable +AuditConditionResetEventType,15013,ObjectType +AuditConditionResetEventType_EventId,15014,Variable +AuditConditionResetEventType_EventType,15015,Variable +AuditConditionResetEventType_SourceNode,15016,Variable +AuditConditionResetEventType_SourceName,15017,Variable +AuditConditionResetEventType_Time,15018,Variable +AuditConditionResetEventType_ReceiveTime,15019,Variable +AuditConditionResetEventType_LocalTime,15020,Variable +AuditConditionResetEventType_Message,15021,Variable +AuditConditionResetEventType_Severity,15022,Variable +AuditConditionResetEventType_ActionTimeStamp,15023,Variable +AuditConditionResetEventType_Status,15024,Variable +AuditConditionResetEventType_ServerId,15025,Variable +AuditConditionResetEventType_ClientAuditEntryId,15026,Variable +AuditConditionResetEventType_ClientUserId,15027,Variable +AuditConditionResetEventType_MethodId,15028,Variable +AuditConditionResetEventType_InputArguments,15029,Variable +PermissionType_OptionSetValues,15030,Variable +AccessLevelType,15031,DataType +AccessLevelType_OptionSetValues,15032,Variable +EventNotifierType,15033,DataType +EventNotifierType_OptionSetValues,15034,Variable +AccessRestrictionType_OptionSetValues,15035,Variable +AttributeWriteMask_OptionSetValues,15036,Variable +OpcUa_BinarySchema_Deprecated,15037,Variable +ProgramStateMachineType_ProgramDiagnostics_LastMethodInputValues,15038,Variable +OpcUa_XmlSchema_Deprecated,15039,Variable +ProgramStateMachineType_ProgramDiagnostics_LastMethodOutputValues,15040,Variable +KeyValuePair_Encoding_DefaultJson,15041,Object +IdentityMappingRuleType_Encoding_DefaultJson,15042,Object +SecurityGroupFolderType_SecurityGroupName_Placeholder_MaxPastKeyCount,15043,Variable +TrustListDataType_Encoding_DefaultJson,15044,Object +DecimalDataType_Encoding_DefaultJson,15045,Object +SecurityGroupType_KeyLifetime,15046,Variable +SecurityGroupType_SecurityPolicyUri,15047,Variable +SecurityGroupType_MaxFutureKeyCount,15048,Variable +ConfigurationVersionDataType_Encoding_DefaultJson,15049,Object +DataSetMetaDataType_Encoding_DefaultJson,15050,Object +FieldMetaData_Encoding_DefaultJson,15051,Object +PublishedEventsType_ModifyFieldSelection,15052,Method +PublishedEventsType_ModifyFieldSelection_InputArguments,15053,Variable +PublishedEventsTypeModifyFieldSelectionMethodType,15054,Method +PublishedEventsTypeModifyFieldSelectionMethodType_InputArguments,15055,Variable +SecurityGroupType_MaxPastKeyCount,15056,Variable +DataTypeDescription_Encoding_DefaultJson,15057,Object +StructureDescription_Encoding_DefaultJson,15058,Object +EnumDescription_Encoding_DefaultJson,15059,Object +PublishedVariableDataType_Encoding_DefaultJson,15060,Object +FieldTargetDataType_Encoding_DefaultJson,15061,Object +RolePermissionType_Encoding_DefaultJson,15062,Object +DataTypeDefinition_Encoding_DefaultJson,15063,Object +DatagramConnectionTransportType,15064,ObjectType +StructureField_Encoding_DefaultJson,15065,Object +StructureDefinition_Encoding_DefaultJson,15066,Object +EnumDefinition_Encoding_DefaultJson,15067,Object +Node_Encoding_DefaultJson,15068,Object +InstanceNode_Encoding_DefaultJson,15069,Object +TypeNode_Encoding_DefaultJson,15070,Object +ObjectNode_Encoding_DefaultJson,15071,Object +DatagramConnectionTransportType_DiscoveryAddress,15072,Object +ObjectTypeNode_Encoding_DefaultJson,15073,Object +VariableNode_Encoding_DefaultJson,15074,Object +VariableTypeNode_Encoding_DefaultJson,15075,Object +ReferenceTypeNode_Encoding_DefaultJson,15076,Object +MethodNode_Encoding_DefaultJson,15077,Object +ViewNode_Encoding_DefaultJson,15078,Object +DataTypeNode_Encoding_DefaultJson,15079,Object +ReferenceNode_Encoding_DefaultJson,15080,Object +Argument_Encoding_DefaultJson,15081,Object +EnumValueType_Encoding_DefaultJson,15082,Object +EnumField_Encoding_DefaultJson,15083,Object +OptionSet_Encoding_DefaultJson,15084,Object +Union_Encoding_DefaultJson,15085,Object +TimeZoneDataType_Encoding_DefaultJson,15086,Object +ApplicationDescription_Encoding_DefaultJson,15087,Object +RequestHeader_Encoding_DefaultJson,15088,Object +ResponseHeader_Encoding_DefaultJson,15089,Object +ServiceFault_Encoding_DefaultJson,15090,Object +SessionlessInvokeRequestType_Encoding_DefaultJson,15091,Object +SessionlessInvokeResponseType_Encoding_DefaultJson,15092,Object +FindServersRequest_Encoding_DefaultJson,15093,Object +FindServersResponse_Encoding_DefaultJson,15094,Object +ServerOnNetwork_Encoding_DefaultJson,15095,Object +FindServersOnNetworkRequest_Encoding_DefaultJson,15096,Object +FindServersOnNetworkResponse_Encoding_DefaultJson,15097,Object +UserTokenPolicy_Encoding_DefaultJson,15098,Object +EndpointDescription_Encoding_DefaultJson,15099,Object +GetEndpointsRequest_Encoding_DefaultJson,15100,Object +GetEndpointsResponse_Encoding_DefaultJson,15101,Object +RegisteredServer_Encoding_DefaultJson,15102,Object +RegisterServerRequest_Encoding_DefaultJson,15103,Object +RegisterServerResponse_Encoding_DefaultJson,15104,Object +DiscoveryConfiguration_Encoding_DefaultJson,15105,Object +MdnsDiscoveryConfiguration_Encoding_DefaultJson,15106,Object +RegisterServer2Request_Encoding_DefaultJson,15107,Object +SubscribedDataSetType,15108,ObjectType +SubscribedDataSetType_DataSetMetaData,15109,Variable +SubscribedDataSetType_MessageReceiveTimeout,15110,Variable +TargetVariablesType,15111,ObjectType +TargetVariablesType_DataSetMetaData,15112,Variable +TargetVariablesType_MessageReceiveTimeout,15113,Variable +TargetVariablesType_TargetVariables,15114,Variable +TargetVariablesType_AddTargetVariables,15115,Method +TargetVariablesType_AddTargetVariables_InputArguments,15116,Variable +TargetVariablesType_AddTargetVariables_OutputArguments,15117,Variable +TargetVariablesType_RemoveTargetVariables,15118,Method +TargetVariablesType_RemoveTargetVariables_InputArguments,15119,Variable +TargetVariablesType_RemoveTargetVariables_OutputArguments,15120,Variable +TargetVariablesTypeAddTargetVariablesMethodType,15121,Method +TargetVariablesTypeAddTargetVariablesMethodType_InputArguments,15122,Variable +TargetVariablesTypeAddTargetVariablesMethodType_OutputArguments,15123,Variable +TargetVariablesTypeRemoveTargetVariablesMethodType,15124,Method +TargetVariablesTypeRemoveTargetVariablesMethodType_InputArguments,15125,Variable +TargetVariablesTypeRemoveTargetVariablesMethodType_OutputArguments,15126,Variable +SubscribedDataSetMirrorType,15127,ObjectType +SubscribedDataSetMirrorType_DataSetMetaData,15128,Variable +SubscribedDataSetMirrorType_MessageReceiveTimeout,15129,Variable +RegisterServer2Response_Encoding_DefaultJson,15130,Object +ChannelSecurityToken_Encoding_DefaultJson,15131,Object +OpenSecureChannelRequest_Encoding_DefaultJson,15132,Object +OpenSecureChannelResponse_Encoding_DefaultJson,15133,Object +CloseSecureChannelRequest_Encoding_DefaultJson,15134,Object +CloseSecureChannelResponse_Encoding_DefaultJson,15135,Object +SignedSoftwareCertificate_Encoding_DefaultJson,15136,Object +SignatureData_Encoding_DefaultJson,15137,Object +CreateSessionRequest_Encoding_DefaultJson,15138,Object +CreateSessionResponse_Encoding_DefaultJson,15139,Object +UserIdentityToken_Encoding_DefaultJson,15140,Object +AnonymousIdentityToken_Encoding_DefaultJson,15141,Object +UserNameIdentityToken_Encoding_DefaultJson,15142,Object +X509IdentityToken_Encoding_DefaultJson,15143,Object +IssuedIdentityToken_Encoding_DefaultJson,15144,Object +ActivateSessionRequest_Encoding_DefaultJson,15145,Object +ActivateSessionResponse_Encoding_DefaultJson,15146,Object +CloseSessionRequest_Encoding_DefaultJson,15147,Object +CloseSessionResponse_Encoding_DefaultJson,15148,Object +CancelRequest_Encoding_DefaultJson,15149,Object +CancelResponse_Encoding_DefaultJson,15150,Object +NodeAttributes_Encoding_DefaultJson,15151,Object +ObjectAttributes_Encoding_DefaultJson,15152,Object +VariableAttributes_Encoding_DefaultJson,15153,Object +DatagramConnectionTransportType_DiscoveryAddress_NetworkInterface,15154,Variable +BrokerConnectionTransportType,15155,ObjectType +BrokerConnectionTransportType_ResourceUri,15156,Variable +MethodAttributes_Encoding_DefaultJson,15157,Object +ObjectTypeAttributes_Encoding_DefaultJson,15158,Object +VariableTypeAttributes_Encoding_DefaultJson,15159,Object +ReferenceTypeAttributes_Encoding_DefaultJson,15160,Object +DataTypeAttributes_Encoding_DefaultJson,15161,Object +ViewAttributes_Encoding_DefaultJson,15162,Object +GenericAttributeValue_Encoding_DefaultJson,15163,Object +GenericAttributes_Encoding_DefaultJson,15164,Object +AddNodesItem_Encoding_DefaultJson,15165,Object +AddNodesResult_Encoding_DefaultJson,15166,Object +AddNodesRequest_Encoding_DefaultJson,15167,Object +AddNodesResponse_Encoding_DefaultJson,15168,Object +AddReferencesItem_Encoding_DefaultJson,15169,Object +AddReferencesRequest_Encoding_DefaultJson,15170,Object +AddReferencesResponse_Encoding_DefaultJson,15171,Object +DeleteNodesItem_Encoding_DefaultJson,15172,Object +DeleteNodesRequest_Encoding_DefaultJson,15173,Object +DeleteNodesResponse_Encoding_DefaultJson,15174,Object +DeleteReferencesItem_Encoding_DefaultJson,15175,Object +DeleteReferencesRequest_Encoding_DefaultJson,15176,Object +DeleteReferencesResponse_Encoding_DefaultJson,15177,Object +BrokerConnectionTransportType_AuthenticationProfileUri,15178,Variable +ViewDescription_Encoding_DefaultJson,15179,Object +BrowseDescription_Encoding_DefaultJson,15180,Object +ReferenceDescription_Encoding_DefaultJson,15182,Object +BrowseResult_Encoding_DefaultJson,15183,Object +BrowseRequest_Encoding_DefaultJson,15184,Object +BrowseResponse_Encoding_DefaultJson,15185,Object +BrowseNextRequest_Encoding_DefaultJson,15186,Object +BrowseNextResponse_Encoding_DefaultJson,15187,Object +RelativePathElement_Encoding_DefaultJson,15188,Object +RelativePath_Encoding_DefaultJson,15189,Object +BrowsePath_Encoding_DefaultJson,15190,Object +BrowsePathTarget_Encoding_DefaultJson,15191,Object +BrowsePathResult_Encoding_DefaultJson,15192,Object +TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultJson,15193,Object +TranslateBrowsePathsToNodeIdsResponse_Encoding_DefaultJson,15194,Object +RegisterNodesRequest_Encoding_DefaultJson,15195,Object +RegisterNodesResponse_Encoding_DefaultJson,15196,Object +UnregisterNodesRequest_Encoding_DefaultJson,15197,Object +UnregisterNodesResponse_Encoding_DefaultJson,15198,Object +EndpointConfiguration_Encoding_DefaultJson,15199,Object +QueryDataDescription_Encoding_DefaultJson,15200,Object +NodeTypeDescription_Encoding_DefaultJson,15201,Object +QueryDataSet_Encoding_DefaultJson,15202,Object +NodeReference_Encoding_DefaultJson,15203,Object +ContentFilterElement_Encoding_DefaultJson,15204,Object +ContentFilter_Encoding_DefaultJson,15205,Object +FilterOperand_Encoding_DefaultJson,15206,Object +ElementOperand_Encoding_DefaultJson,15207,Object +LiteralOperand_Encoding_DefaultJson,15208,Object +AttributeOperand_Encoding_DefaultJson,15209,Object +SimpleAttributeOperand_Encoding_DefaultJson,15210,Object +ContentFilterElementResult_Encoding_DefaultJson,15211,Object +PublishSubscribeType_GetSecurityKeys,15212,Method +PublishSubscribeType_GetSecurityKeys_InputArguments,15213,Variable +PublishSubscribeType_GetSecurityKeys_OutputArguments,15214,Variable +PublishSubscribe_GetSecurityKeys,15215,Method +PublishSubscribe_GetSecurityKeys_InputArguments,15216,Variable +PublishSubscribe_GetSecurityKeys_OutputArguments,15217,Variable +GetSecurityKeysMethodType,15218,Method +GetSecurityKeysMethodType_InputArguments,15219,Variable +GetSecurityKeysMethodType_OutputArguments,15220,Variable +DataSetFolderType_PublishedDataSetName_Placeholder_DataSetMetaData,15221,Variable +PublishedDataSetType_DataSetWriterName_Placeholder,15222,Object +PublishedDataSetType_DataSetWriterName_Placeholder_Status,15223,Object +PublishedDataSetType_DataSetWriterName_Placeholder_Status_State,15224,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Status_Enable,15225,Method +PublishedDataSetType_DataSetWriterName_Placeholder_Status_Disable,15226,Method +PublishedDataSetType_DataSetWriterName_Placeholder_TransportSettings,15227,Object +ContentFilterResult_Encoding_DefaultJson,15228,Object +PublishedDataSetType_DataSetMetaData,15229,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder,15230,Object +PublishedDataItemsType_DataSetWriterName_Placeholder_Status,15231,Object +PublishedDataItemsType_DataSetWriterName_Placeholder_Status_State,15232,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Status_Enable,15233,Method +PublishedDataItemsType_DataSetWriterName_Placeholder_Status_Disable,15234,Method +PublishedDataItemsType_DataSetWriterName_Placeholder_TransportSettings,15235,Object +ParsingResult_Encoding_DefaultJson,15236,Object +PublishedDataItemsType_DataSetMetaData,15237,Variable +PublishedEventsType_DataSetWriterName_Placeholder,15238,Object +PublishedEventsType_DataSetWriterName_Placeholder_Status,15239,Object +PublishedEventsType_DataSetWriterName_Placeholder_Status_State,15240,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Status_Enable,15241,Method +PublishedEventsType_DataSetWriterName_Placeholder_Status_Disable,15242,Method +PublishedEventsType_DataSetWriterName_Placeholder_TransportSettings,15243,Object +QueryFirstRequest_Encoding_DefaultJson,15244,Object +PublishedEventsType_DataSetMetaData,15245,Variable +BrokerWriterGroupTransportType_ResourceUri,15246,Variable +BrokerWriterGroupTransportType_AuthenticationProfileUri,15247,Variable +BrokerWriterGroupTransportType_RequestedDeliveryGuarantee,15249,Variable +BrokerDataSetWriterTransportType_ResourceUri,15250,Variable +BrokerDataSetWriterTransportType_AuthenticationProfileUri,15251,Variable +QueryFirstResponse_Encoding_DefaultJson,15252,Object +QueryNextRequest_Encoding_DefaultJson,15254,Object +QueryNextResponse_Encoding_DefaultJson,15255,Object +ReadValueId_Encoding_DefaultJson,15256,Object +ReadRequest_Encoding_DefaultJson,15257,Object +ReadResponse_Encoding_DefaultJson,15258,Object +HistoryReadValueId_Encoding_DefaultJson,15259,Object +HistoryReadResult_Encoding_DefaultJson,15260,Object +HistoryReadDetails_Encoding_DefaultJson,15261,Object +ReadEventDetails_Encoding_DefaultJson,15262,Object +ReadRawModifiedDetails_Encoding_DefaultJson,15263,Object +ReadProcessedDetails_Encoding_DefaultJson,15264,Object +PubSubGroupType_Status,15265,Object +PubSubGroupType_Status_State,15266,Variable +PubSubGroupType_Status_Enable,15267,Method +PubSubGroupType_Status_Disable,15268,Method +ReadAtTimeDetails_Encoding_DefaultJson,15269,Object +HistoryData_Encoding_DefaultJson,15270,Object +ModificationInfo_Encoding_DefaultJson,15271,Object +HistoryModifiedData_Encoding_DefaultJson,15272,Object +HistoryEvent_Encoding_DefaultJson,15273,Object +HistoryReadRequest_Encoding_DefaultJson,15274,Object +HistoryReadResponse_Encoding_DefaultJson,15275,Object +WriteValue_Encoding_DefaultJson,15276,Object +WriteRequest_Encoding_DefaultJson,15277,Object +WriteResponse_Encoding_DefaultJson,15278,Object +HistoryUpdateDetails_Encoding_DefaultJson,15279,Object +UpdateDataDetails_Encoding_DefaultJson,15280,Object +UpdateStructureDataDetails_Encoding_DefaultJson,15281,Object +UpdateEventDetails_Encoding_DefaultJson,15282,Object +DeleteRawModifiedDetails_Encoding_DefaultJson,15283,Object +DeleteAtTimeDetails_Encoding_DefaultJson,15284,Object +DeleteEventDetails_Encoding_DefaultJson,15285,Object +HistoryUpdateResult_Encoding_DefaultJson,15286,Object +HistoryUpdateRequest_Encoding_DefaultJson,15287,Object +HistoryUpdateResponse_Encoding_DefaultJson,15288,Object +CallMethodRequest_Encoding_DefaultJson,15289,Object +CallMethodResult_Encoding_DefaultJson,15290,Object +CallRequest_Encoding_DefaultJson,15291,Object +CallResponse_Encoding_DefaultJson,15292,Object +MonitoringFilter_Encoding_DefaultJson,15293,Object +DataChangeFilter_Encoding_DefaultJson,15294,Object +EventFilter_Encoding_DefaultJson,15295,Object +HasDataSetWriter,15296,ReferenceType +HasDataSetReader,15297,ReferenceType +DataSetWriterType,15298,ObjectType +DataSetWriterType_Status,15299,Object +DataSetWriterType_Status_State,15300,Variable +DataSetWriterType_Status_Enable,15301,Method +DataSetWriterType_Status_Disable,15302,Method +DataSetWriterType_TransportSettings,15303,Object +AggregateConfiguration_Encoding_DefaultJson,15304,Object +DataSetWriterTransportType,15305,ObjectType +DataSetReaderType,15306,ObjectType +DataSetReaderType_Status,15307,Object +DataSetReaderType_Status_State,15308,Variable +DataSetReaderType_Status_Enable,15309,Method +DataSetReaderType_Status_Disable,15310,Method +DataSetReaderType_TransportSettings,15311,Object +AggregateFilter_Encoding_DefaultJson,15312,Object +MonitoringFilterResult_Encoding_DefaultJson,15313,Object +EventFilterResult_Encoding_DefaultJson,15314,Object +AggregateFilterResult_Encoding_DefaultJson,15315,Object +DataSetReaderType_SubscribedDataSet,15316,Object +DataSetReaderType_SubscribedDataSet_DataSetMetaData,15317,Variable +DataSetReaderType_SubscribedDataSet_MessageReceiveTimeout,15318,Variable +DataSetReaderTransportType,15319,ObjectType +MonitoringParameters_Encoding_DefaultJson,15320,Object +MonitoredItemCreateRequest_Encoding_DefaultJson,15321,Object +MonitoredItemCreateResult_Encoding_DefaultJson,15322,Object +CreateMonitoredItemsRequest_Encoding_DefaultJson,15323,Object +CreateMonitoredItemsResponse_Encoding_DefaultJson,15324,Object +MonitoredItemModifyRequest_Encoding_DefaultJson,15325,Object +MonitoredItemModifyResult_Encoding_DefaultJson,15326,Object +ModifyMonitoredItemsRequest_Encoding_DefaultJson,15327,Object +ModifyMonitoredItemsResponse_Encoding_DefaultJson,15328,Object +SetMonitoringModeRequest_Encoding_DefaultJson,15329,Object +BrokerDataSetWriterTransportType_RequestedDeliveryGuarantee,15330,Variable +SetMonitoringModeResponse_Encoding_DefaultJson,15331,Object +SetTriggeringRequest_Encoding_DefaultJson,15332,Object +SetTriggeringResponse_Encoding_DefaultJson,15333,Object +BrokerDataSetReaderTransportType_ResourceUri,15334,Variable +DeleteMonitoredItemsRequest_Encoding_DefaultJson,15335,Object +DeleteMonitoredItemsResponse_Encoding_DefaultJson,15336,Object +CreateSubscriptionRequest_Encoding_DefaultJson,15337,Object +CreateSubscriptionResponse_Encoding_DefaultJson,15338,Object +ModifySubscriptionRequest_Encoding_DefaultJson,15339,Object +ModifySubscriptionResponse_Encoding_DefaultJson,15340,Object +SetPublishingModeRequest_Encoding_DefaultJson,15341,Object +SetPublishingModeResponse_Encoding_DefaultJson,15342,Object +NotificationMessage_Encoding_DefaultJson,15343,Object +NotificationData_Encoding_DefaultJson,15344,Object +DataChangeNotification_Encoding_DefaultJson,15345,Object +MonitoredItemNotification_Encoding_DefaultJson,15346,Object +EventNotificationList_Encoding_DefaultJson,15347,Object +EventFieldList_Encoding_DefaultJson,15348,Object +HistoryEventFieldList_Encoding_DefaultJson,15349,Object +StatusChangeNotification_Encoding_DefaultJson,15350,Object +SubscriptionAcknowledgement_Encoding_DefaultJson,15351,Object +PublishRequest_Encoding_DefaultJson,15352,Object +PublishResponse_Encoding_DefaultJson,15353,Object +RepublishRequest_Encoding_DefaultJson,15354,Object +RepublishResponse_Encoding_DefaultJson,15355,Object +TransferResult_Encoding_DefaultJson,15356,Object +TransferSubscriptionsRequest_Encoding_DefaultJson,15357,Object +TransferSubscriptionsResponse_Encoding_DefaultJson,15358,Object +DeleteSubscriptionsRequest_Encoding_DefaultJson,15359,Object +DeleteSubscriptionsResponse_Encoding_DefaultJson,15360,Object +BuildInfo_Encoding_DefaultJson,15361,Object +RedundantServerDataType_Encoding_DefaultJson,15362,Object +EndpointUrlListDataType_Encoding_DefaultJson,15363,Object +NetworkGroupDataType_Encoding_DefaultJson,15364,Object +SamplingIntervalDiagnosticsDataType_Encoding_DefaultJson,15365,Object +ServerDiagnosticsSummaryDataType_Encoding_DefaultJson,15366,Object +ServerStatusDataType_Encoding_DefaultJson,15367,Object +SessionDiagnosticsDataType_Encoding_DefaultJson,15368,Object +SessionSecurityDiagnosticsDataType_Encoding_DefaultJson,15369,Object +ServiceCounterDataType_Encoding_DefaultJson,15370,Object +StatusResult_Encoding_DefaultJson,15371,Object +SubscriptionDiagnosticsDataType_Encoding_DefaultJson,15372,Object +ModelChangeStructureDataType_Encoding_DefaultJson,15373,Object +SemanticChangeStructureDataType_Encoding_DefaultJson,15374,Object +Range_Encoding_DefaultJson,15375,Object +EUInformation_Encoding_DefaultJson,15376,Object +ComplexNumberType_Encoding_DefaultJson,15377,Object +DoubleComplexNumberType_Encoding_DefaultJson,15378,Object +AxisInformation_Encoding_DefaultJson,15379,Object +XVType_Encoding_DefaultJson,15380,Object +ProgramDiagnosticDataType_Encoding_DefaultJson,15381,Object +Annotation_Encoding_DefaultJson,15382,Object +ProgramDiagnostic2Type,15383,VariableType +ProgramDiagnostic2Type_CreateSessionId,15384,Variable +ProgramDiagnostic2Type_CreateClientName,15385,Variable +ProgramDiagnostic2Type_InvocationCreationTime,15386,Variable +ProgramDiagnostic2Type_LastTransitionTime,15387,Variable +ProgramDiagnostic2Type_LastMethodCall,15388,Variable +ProgramDiagnostic2Type_LastMethodSessionId,15389,Variable +ProgramDiagnostic2Type_LastMethodInputArguments,15390,Variable +ProgramDiagnostic2Type_LastMethodOutputArguments,15391,Variable +ProgramDiagnostic2Type_LastMethodInputValues,15392,Variable +ProgramDiagnostic2Type_LastMethodOutputValues,15393,Variable +ProgramDiagnostic2Type_LastMethodCallTime,15394,Variable +ProgramDiagnostic2Type_LastMethodReturnStatus,15395,Variable +ProgramDiagnostic2DataType,15396,DataType +ProgramDiagnostic2DataType_Encoding_DefaultBinary,15397,Object +OpcUa_BinarySchema_ProgramDiagnostic2DataType,15398,Variable +OpcUa_BinarySchema_ProgramDiagnostic2DataType_DataTypeVersion,15399,Variable +OpcUa_BinarySchema_ProgramDiagnostic2DataType_DictionaryFragment,15400,Variable +ProgramDiagnostic2DataType_Encoding_DefaultXml,15401,Object +OpcUa_XmlSchema_ProgramDiagnostic2DataType,15402,Variable +OpcUa_XmlSchema_ProgramDiagnostic2DataType_DataTypeVersion,15403,Variable +OpcUa_XmlSchema_ProgramDiagnostic2DataType_DictionaryFragment,15404,Variable +ProgramDiagnostic2DataType_Encoding_DefaultJson,15405,Object +AccessLevelExType,15406,DataType +AccessLevelExType_OptionSetValues,15407,Variable +RoleSetType_RoleName_Placeholder_ApplicationsExclude,15408,Variable +RoleSetType_RoleName_Placeholder_EndpointsExclude,15409,Variable +RoleType_ApplicationsExclude,15410,Variable +RoleType_EndpointsExclude,15411,Variable +WellKnownRole_Anonymous_ApplicationsExclude,15412,Variable +WellKnownRole_Anonymous_EndpointsExclude,15413,Variable +WellKnownRole_AuthenticatedUser_ApplicationsExclude,15414,Variable +WellKnownRole_AuthenticatedUser_EndpointsExclude,15415,Variable +WellKnownRole_Observer_ApplicationsExclude,15416,Variable +WellKnownRole_Observer_EndpointsExclude,15417,Variable +WellKnownRole_Operator_ApplicationsExclude,15418,Variable +BrokerDataSetReaderTransportType_AuthenticationProfileUri,15419,Variable +BrokerDataSetReaderTransportType_RequestedDeliveryGuarantee,15420,Variable +SimpleTypeDescription_Encoding_DefaultBinary,15421,Object +UABinaryFileDataType_Encoding_DefaultBinary,15422,Object +WellKnownRole_Operator_EndpointsExclude,15423,Variable +WellKnownRole_Engineer_ApplicationsExclude,15424,Variable +WellKnownRole_Engineer_EndpointsExclude,15425,Variable +WellKnownRole_Supervisor_ApplicationsExclude,15426,Variable +WellKnownRole_Supervisor_EndpointsExclude,15427,Variable +WellKnownRole_ConfigureAdmin_ApplicationsExclude,15428,Variable +WellKnownRole_ConfigureAdmin_EndpointsExclude,15429,Variable +WellKnownRole_SecurityAdmin_ApplicationsExclude,15430,Variable +PublishSubscribeType_GetSecurityGroup,15431,Method +PublishSubscribeType_GetSecurityGroup_InputArguments,15432,Variable +PublishSubscribeType_GetSecurityGroup_OutputArguments,15433,Variable +PublishSubscribeType_SecurityGroups,15434,Object +PublishSubscribeType_SecurityGroups_AddSecurityGroup,15435,Method +PublishSubscribeType_SecurityGroups_AddSecurityGroup_InputArguments,15436,Variable +PublishSubscribeType_SecurityGroups_AddSecurityGroup_OutputArguments,15437,Variable +PublishSubscribeType_SecurityGroups_RemoveSecurityGroup,15438,Method +PublishSubscribeType_SecurityGroups_RemoveSecurityGroup_InputArguments,15439,Variable +PublishSubscribe_GetSecurityGroup,15440,Method +PublishSubscribe_GetSecurityGroup_InputArguments,15441,Variable +PublishSubscribe_GetSecurityGroup_OutputArguments,15442,Variable +PublishSubscribe_SecurityGroups,15443,Object +PublishSubscribe_SecurityGroups_AddSecurityGroup,15444,Method +PublishSubscribe_SecurityGroups_AddSecurityGroup_InputArguments,15445,Variable +PublishSubscribe_SecurityGroups_AddSecurityGroup_OutputArguments,15446,Variable +PublishSubscribe_SecurityGroups_RemoveSecurityGroup,15447,Method +PublishSubscribe_SecurityGroups_RemoveSecurityGroup_InputArguments,15448,Variable +GetSecurityGroupMethodType,15449,Method +GetSecurityGroupMethodType_InputArguments,15450,Variable +GetSecurityGroupMethodType_OutputArguments,15451,Variable +SecurityGroupFolderType,15452,ObjectType +SecurityGroupFolderType_SecurityGroupFolderName_Placeholder,15453,Object +SecurityGroupFolderType_SecurityGroupFolderName_Placeholder_AddSecurityGroup,15454,Method +SecurityGroupFolderType_SecurityGroupFolderName_Placeholder_AddSecurityGroup_InputArguments,15455,Variable +SecurityGroupFolderType_SecurityGroupFolderName_Placeholder_AddSecurityGroup_OutputArguments,15456,Variable +SecurityGroupFolderType_SecurityGroupFolderName_Placeholder_RemoveSecurityGroup,15457,Method +SecurityGroupFolderType_SecurityGroupFolderName_Placeholder_RemoveSecurityGroup_InputArguments,15458,Variable +SecurityGroupFolderType_SecurityGroupName_Placeholder,15459,Object +SecurityGroupFolderType_SecurityGroupName_Placeholder_SecurityGroupId,15460,Variable +SecurityGroupFolderType_AddSecurityGroup,15461,Method +SecurityGroupFolderType_AddSecurityGroup_InputArguments,15462,Variable +SecurityGroupFolderType_AddSecurityGroup_OutputArguments,15463,Variable +SecurityGroupFolderType_RemoveSecurityGroup,15464,Method +SecurityGroupFolderType_RemoveSecurityGroup_InputArguments,15465,Variable +AddSecurityGroupMethodType,15466,Method +AddSecurityGroupMethodType_InputArguments,15467,Variable +AddSecurityGroupMethodType_OutputArguments,15468,Variable +RemoveSecurityGroupMethodType,15469,Method +RemoveSecurityGroupMethodType_InputArguments,15470,Variable +SecurityGroupType,15471,ObjectType +SecurityGroupType_SecurityGroupId,15472,Variable +DataSetFolderType_PublishedDataSetName_Placeholder_ExtensionFields,15473,Object +DataSetFolderType_PublishedDataSetName_Placeholder_ExtensionFields_AddExtensionField,15474,Method +DataSetFolderType_PublishedDataSetName_Placeholder_ExtensionFields_AddExtensionField_InputArguments,15475,Variable +DataSetFolderType_PublishedDataSetName_Placeholder_ExtensionFields_AddExtensionField_OutputArguments,15476,Variable +DataSetFolderType_PublishedDataSetName_Placeholder_ExtensionFields_RemoveExtensionField,15477,Method +DataSetFolderType_PublishedDataSetName_Placeholder_ExtensionFields_RemoveExtensionField_InputArguments,15478,Variable +BrokerConnectionTransportDataType_Encoding_DefaultBinary,15479,Object +WriterGroupDataType,15480,DataType +PublishedDataSetType_ExtensionFields,15481,Object +PublishedDataSetType_ExtensionFields_AddExtensionField,15482,Method +PublishedDataSetType_ExtensionFields_AddExtensionField_InputArguments,15483,Variable +PublishedDataSetType_ExtensionFields_AddExtensionField_OutputArguments,15484,Variable +PublishedDataSetType_ExtensionFields_RemoveExtensionField,15485,Method +PublishedDataSetType_ExtensionFields_RemoveExtensionField_InputArguments,15486,Variable +StructureDescription,15487,DataType +EnumDescription,15488,DataType +ExtensionFieldsType,15489,ObjectType +ExtensionFieldsType_ExtensionFieldName_Placeholder,15490,Variable +ExtensionFieldsType_AddExtensionField,15491,Method +ExtensionFieldsType_AddExtensionField_InputArguments,15492,Variable +ExtensionFieldsType_AddExtensionField_OutputArguments,15493,Variable +ExtensionFieldsType_RemoveExtensionField,15494,Method +ExtensionFieldsType_RemoveExtensionField_InputArguments,15495,Variable +AddExtensionFieldMethodType,15496,Method +AddExtensionFieldMethodType_InputArguments,15497,Variable +AddExtensionFieldMethodType_OutputArguments,15498,Variable +RemoveExtensionFieldMethodType,15499,Method +RemoveExtensionFieldMethodType_InputArguments,15500,Variable +OpcUa_BinarySchema_SimpleTypeDescription,15501,Variable +NetworkAddressDataType,15502,DataType +PublishedDataItemsType_ExtensionFields,15503,Object +PublishedDataItemsType_ExtensionFields_AddExtensionField,15504,Method +PublishedDataItemsType_ExtensionFields_AddExtensionField_InputArguments,15505,Variable +PublishedDataItemsType_ExtensionFields_AddExtensionField_OutputArguments,15506,Variable +PublishedDataItemsType_ExtensionFields_RemoveExtensionField,15507,Method +PublishedDataItemsType_ExtensionFields_RemoveExtensionField_InputArguments,15508,Variable +OpcUa_BinarySchema_SimpleTypeDescription_DataTypeVersion,15509,Variable +NetworkAddressUrlDataType,15510,DataType +PublishedEventsType_ExtensionFields,15511,Object +PublishedEventsType_ExtensionFields_AddExtensionField,15512,Method +PublishedEventsType_ExtensionFields_AddExtensionField_InputArguments,15513,Variable +PublishedEventsType_ExtensionFields_AddExtensionField_OutputArguments,15514,Variable +PublishedEventsType_ExtensionFields_RemoveExtensionField,15515,Method +PublishedEventsType_ExtensionFields_RemoveExtensionField_InputArguments,15516,Variable +PublishedEventsType_ModifyFieldSelection_OutputArguments,15517,Variable +PublishedEventsTypeModifyFieldSelectionMethodType_OutputArguments,15518,Variable +OpcUa_BinarySchema_SimpleTypeDescription_DictionaryFragment,15519,Variable +ReaderGroupDataType,15520,DataType +OpcUa_BinarySchema_UABinaryFileDataType,15521,Variable +OpcUa_BinarySchema_UABinaryFileDataType_DataTypeVersion,15522,Variable +OpcUa_BinarySchema_UABinaryFileDataType_DictionaryFragment,15523,Variable +OpcUa_BinarySchema_BrokerConnectionTransportDataType,15524,Variable +OpcUa_BinarySchema_BrokerConnectionTransportDataType_DataTypeVersion,15525,Variable +OpcUa_BinarySchema_BrokerConnectionTransportDataType_DictionaryFragment,15526,Variable +WellKnownRole_SecurityAdmin_EndpointsExclude,15527,Variable +EndpointType,15528,DataType +SimpleTypeDescription_Encoding_DefaultXml,15529,Object +PubSubConfigurationDataType,15530,DataType +UABinaryFileDataType_Encoding_DefaultXml,15531,Object +DatagramWriterGroupTransportDataType,15532,DataType +PublishSubscribeType_ConnectionName_Placeholder_Address_NetworkInterface,15533,Variable +DataTypeSchemaHeader,15534,DataType +PubSubStatusEventType,15535,ObjectType +PubSubStatusEventType_EventId,15536,Variable +PubSubStatusEventType_EventType,15537,Variable +PubSubStatusEventType_SourceNode,15538,Variable +PubSubStatusEventType_SourceName,15539,Variable +PubSubStatusEventType_Time,15540,Variable +PubSubStatusEventType_ReceiveTime,15541,Variable +PubSubStatusEventType_LocalTime,15542,Variable +PubSubStatusEventType_Message,15543,Variable +PubSubStatusEventType_Severity,15544,Variable +PubSubStatusEventType_ConnectionId,15545,Variable +PubSubStatusEventType_GroupId,15546,Variable +PubSubStatusEventType_State,15547,Variable +PubSubTransportLimitsExceedEventType,15548,ObjectType +PubSubTransportLimitsExceedEventType_EventId,15549,Variable +PubSubTransportLimitsExceedEventType_EventType,15550,Variable +PubSubTransportLimitsExceedEventType_SourceNode,15551,Variable +PubSubTransportLimitsExceedEventType_SourceName,15552,Variable +PubSubTransportLimitsExceedEventType_Time,15553,Variable +PubSubTransportLimitsExceedEventType_ReceiveTime,15554,Variable +PubSubTransportLimitsExceedEventType_LocalTime,15555,Variable +PubSubTransportLimitsExceedEventType_Message,15556,Variable +PubSubTransportLimitsExceedEventType_Severity,15557,Variable +PubSubTransportLimitsExceedEventType_ConnectionId,15558,Variable +PubSubTransportLimitsExceedEventType_GroupId,15559,Variable +PubSubTransportLimitsExceedEventType_State,15560,Variable +PubSubTransportLimitsExceedEventType_Actual,15561,Variable +PubSubTransportLimitsExceedEventType_Maximum,15562,Variable +PubSubCommunicationFailureEventType,15563,ObjectType +PubSubCommunicationFailureEventType_EventId,15564,Variable +PubSubCommunicationFailureEventType_EventType,15565,Variable +PubSubCommunicationFailureEventType_SourceNode,15566,Variable +PubSubCommunicationFailureEventType_SourceName,15567,Variable +PubSubCommunicationFailureEventType_Time,15568,Variable +PubSubCommunicationFailureEventType_ReceiveTime,15569,Variable +PubSubCommunicationFailureEventType_LocalTime,15570,Variable +PubSubCommunicationFailureEventType_Message,15571,Variable +PubSubCommunicationFailureEventType_Severity,15572,Variable +PubSubCommunicationFailureEventType_ConnectionId,15573,Variable +PubSubCommunicationFailureEventType_GroupId,15574,Variable +PubSubCommunicationFailureEventType_State,15575,Variable +PubSubCommunicationFailureEventType_Error,15576,Variable +DataSetFieldFlags_OptionSetValues,15577,Variable +PublishedDataSetDataType,15578,DataType +BrokerConnectionTransportDataType_Encoding_DefaultXml,15579,Object +PublishedDataSetSourceDataType,15580,DataType +PublishedDataItemsDataType,15581,DataType +PublishedEventsDataType,15582,DataType +DataSetFieldContentMask,15583,DataType +DataSetFieldContentMask_OptionSetValues,15584,Variable +OpcUa_XmlSchema_SimpleTypeDescription,15585,Variable +OpcUa_XmlSchema_SimpleTypeDescription_DataTypeVersion,15586,Variable +OpcUa_XmlSchema_SimpleTypeDescription_DictionaryFragment,15587,Variable +OpcUa_XmlSchema_UABinaryFileDataType,15588,Variable +StructureDescription_Encoding_DefaultXml,15589,Object +EnumDescription_Encoding_DefaultXml,15590,Object +OpcUa_XmlSchema_StructureDescription,15591,Variable +OpcUa_XmlSchema_StructureDescription_DataTypeVersion,15592,Variable +OpcUa_XmlSchema_StructureDescription_DictionaryFragment,15593,Variable +OpcUa_XmlSchema_EnumDescription,15594,Variable +OpcUa_XmlSchema_EnumDescription_DataTypeVersion,15595,Variable +OpcUa_XmlSchema_EnumDescription_DictionaryFragment,15596,Variable +DataSetWriterDataType,15597,DataType +DataSetWriterTransportDataType,15598,DataType +OpcUa_BinarySchema_StructureDescription,15599,Variable +OpcUa_BinarySchema_StructureDescription_DataTypeVersion,15600,Variable +OpcUa_BinarySchema_StructureDescription_DictionaryFragment,15601,Variable +OpcUa_BinarySchema_EnumDescription,15602,Variable +OpcUa_BinarySchema_EnumDescription_DataTypeVersion,15603,Variable +OpcUa_BinarySchema_EnumDescription_DictionaryFragment,15604,Variable +DataSetWriterMessageDataType,15605,DataType +Server_ServerCapabilities_Roles,15606,Object +RoleSetType,15607,ObjectType +RoleSetType_RoleName_Placeholder,15608,Object +PubSubGroupDataType,15609,DataType +OpcUa_XmlSchema_UABinaryFileDataType_DataTypeVersion,15610,Variable +WriterGroupTransportDataType,15611,DataType +RoleSetType_RoleName_Placeholder_AddIdentity,15612,Method +RoleSetType_RoleName_Placeholder_AddIdentity_InputArguments,15613,Variable +RoleSetType_RoleName_Placeholder_RemoveIdentity,15614,Method +RoleSetType_RoleName_Placeholder_RemoveIdentity_InputArguments,15615,Variable +WriterGroupMessageDataType,15616,DataType +PubSubConnectionDataType,15617,DataType +ConnectionTransportDataType,15618,DataType +OpcUa_XmlSchema_UABinaryFileDataType_DictionaryFragment,15619,Variable +RoleType,15620,ObjectType +ReaderGroupTransportDataType,15621,DataType +ReaderGroupMessageDataType,15622,DataType +DataSetReaderDataType,15623,DataType +RoleType_AddIdentity,15624,Method +RoleType_AddIdentity_InputArguments,15625,Variable +RoleType_RemoveIdentity,15626,Method +RoleType_RemoveIdentity_InputArguments,15627,Variable +DataSetReaderTransportDataType,15628,DataType +DataSetReaderMessageDataType,15629,DataType +SubscribedDataSetDataType,15630,DataType +TargetVariablesDataType,15631,DataType +IdentityCriteriaType,15632,DataType +IdentityCriteriaType_EnumValues,15633,Variable +IdentityMappingRuleType,15634,DataType +SubscribedDataSetMirrorDataType,15635,DataType +AddIdentityMethodType,15636,Method +AddIdentityMethodType_InputArguments,15637,Variable +RemoveIdentityMethodType,15638,Method +RemoveIdentityMethodType_InputArguments,15639,Variable +OpcUa_XmlSchema_BrokerConnectionTransportDataType,15640,Variable +DataSetOrderingType_EnumStrings,15641,Variable +UadpNetworkMessageContentMask,15642,DataType +UadpNetworkMessageContentMask_OptionSetValues,15643,Variable +WellKnownRole_Anonymous,15644,Object +UadpWriterGroupMessageDataType,15645,DataType +UadpDataSetMessageContentMask,15646,DataType +UadpDataSetMessageContentMask_OptionSetValues,15647,Variable +WellKnownRole_Anonymous_AddIdentity,15648,Method +WellKnownRole_Anonymous_AddIdentity_InputArguments,15649,Variable +WellKnownRole_Anonymous_RemoveIdentity,15650,Method +WellKnownRole_Anonymous_RemoveIdentity_InputArguments,15651,Variable +UadpDataSetWriterMessageDataType,15652,DataType +UadpDataSetReaderMessageDataType,15653,DataType +JsonNetworkMessageContentMask,15654,DataType +JsonNetworkMessageContentMask_OptionSetValues,15655,Variable +WellKnownRole_AuthenticatedUser,15656,Object +JsonWriterGroupMessageDataType,15657,DataType +JsonDataSetMessageContentMask,15658,DataType +JsonDataSetMessageContentMask_OptionSetValues,15659,Variable +WellKnownRole_AuthenticatedUser_AddIdentity,15660,Method +WellKnownRole_AuthenticatedUser_AddIdentity_InputArguments,15661,Variable +WellKnownRole_AuthenticatedUser_RemoveIdentity,15662,Method +WellKnownRole_AuthenticatedUser_RemoveIdentity_InputArguments,15663,Variable +JsonDataSetWriterMessageDataType,15664,DataType +JsonDataSetReaderMessageDataType,15665,DataType +OpcUa_XmlSchema_BrokerConnectionTransportDataType_DataTypeVersion,15666,Variable +BrokerWriterGroupTransportDataType,15667,DataType +WellKnownRole_Observer,15668,Object +BrokerDataSetWriterTransportDataType,15669,DataType +BrokerDataSetReaderTransportDataType,15670,DataType +EndpointType_Encoding_DefaultBinary,15671,Object +WellKnownRole_Observer_AddIdentity,15672,Method +WellKnownRole_Observer_AddIdentity_InputArguments,15673,Variable +WellKnownRole_Observer_RemoveIdentity,15674,Method +WellKnownRole_Observer_RemoveIdentity_InputArguments,15675,Variable +DataTypeSchemaHeader_Encoding_DefaultBinary,15676,Object +PublishedDataSetDataType_Encoding_DefaultBinary,15677,Object +PublishedDataSetSourceDataType_Encoding_DefaultBinary,15678,Object +PublishedDataItemsDataType_Encoding_DefaultBinary,15679,Object +WellKnownRole_Operator,15680,Object +PublishedEventsDataType_Encoding_DefaultBinary,15681,Object +DataSetWriterDataType_Encoding_DefaultBinary,15682,Object +DataSetWriterTransportDataType_Encoding_DefaultBinary,15683,Object +WellKnownRole_Operator_AddIdentity,15684,Method +WellKnownRole_Operator_AddIdentity_InputArguments,15685,Variable +WellKnownRole_Operator_RemoveIdentity,15686,Method +WellKnownRole_Operator_RemoveIdentity_InputArguments,15687,Variable +DataSetWriterMessageDataType_Encoding_DefaultBinary,15688,Object +PubSubGroupDataType_Encoding_DefaultBinary,15689,Object +OpcUa_XmlSchema_BrokerConnectionTransportDataType_DictionaryFragment,15690,Variable +WriterGroupTransportDataType_Encoding_DefaultBinary,15691,Object +WellKnownRole_Supervisor,15692,Object +WriterGroupMessageDataType_Encoding_DefaultBinary,15693,Object +PubSubConnectionDataType_Encoding_DefaultBinary,15694,Object +ConnectionTransportDataType_Encoding_DefaultBinary,15695,Object +WellKnownRole_Supervisor_AddIdentity,15696,Method +WellKnownRole_Supervisor_AddIdentity_InputArguments,15697,Variable +WellKnownRole_Supervisor_RemoveIdentity,15698,Method +WellKnownRole_Supervisor_RemoveIdentity_InputArguments,15699,Variable +SimpleTypeDescription_Encoding_DefaultJson,15700,Object +ReaderGroupTransportDataType_Encoding_DefaultBinary,15701,Object +ReaderGroupMessageDataType_Encoding_DefaultBinary,15702,Object +DataSetReaderDataType_Encoding_DefaultBinary,15703,Object +WellKnownRole_SecurityAdmin,15704,Object +DataSetReaderTransportDataType_Encoding_DefaultBinary,15705,Object +DataSetReaderMessageDataType_Encoding_DefaultBinary,15706,Object +SubscribedDataSetDataType_Encoding_DefaultBinary,15707,Object +WellKnownRole_SecurityAdmin_AddIdentity,15708,Method +WellKnownRole_SecurityAdmin_AddIdentity_InputArguments,15709,Variable +WellKnownRole_SecurityAdmin_RemoveIdentity,15710,Method +WellKnownRole_SecurityAdmin_RemoveIdentity_InputArguments,15711,Variable +TargetVariablesDataType_Encoding_DefaultBinary,15712,Object +SubscribedDataSetMirrorDataType_Encoding_DefaultBinary,15713,Object +UABinaryFileDataType_Encoding_DefaultJson,15714,Object +UadpWriterGroupMessageDataType_Encoding_DefaultBinary,15715,Object +WellKnownRole_ConfigureAdmin,15716,Object +UadpDataSetWriterMessageDataType_Encoding_DefaultBinary,15717,Object +UadpDataSetReaderMessageDataType_Encoding_DefaultBinary,15718,Object +JsonWriterGroupMessageDataType_Encoding_DefaultBinary,15719,Object +WellKnownRole_ConfigureAdmin_AddIdentity,15720,Method +WellKnownRole_ConfigureAdmin_AddIdentity_InputArguments,15721,Variable +WellKnownRole_ConfigureAdmin_RemoveIdentity,15722,Method +WellKnownRole_ConfigureAdmin_RemoveIdentity_InputArguments,15723,Variable +JsonDataSetWriterMessageDataType_Encoding_DefaultBinary,15724,Object +JsonDataSetReaderMessageDataType_Encoding_DefaultBinary,15725,Object +BrokerConnectionTransportDataType_Encoding_DefaultJson,15726,Object +BrokerWriterGroupTransportDataType_Encoding_DefaultBinary,15727,Object +IdentityMappingRuleType_Encoding_DefaultXml,15728,Object +BrokerDataSetWriterTransportDataType_Encoding_DefaultBinary,15729,Object +OpcUa_XmlSchema_IdentityMappingRuleType,15730,Variable +OpcUa_XmlSchema_IdentityMappingRuleType_DataTypeVersion,15731,Variable +OpcUa_XmlSchema_IdentityMappingRuleType_DictionaryFragment,15732,Variable +BrokerDataSetReaderTransportDataType_Encoding_DefaultBinary,15733,Object +OpcUa_BinarySchema_EndpointType,15734,Variable +OpcUa_BinarySchema_EndpointType_DataTypeVersion,15735,Variable +IdentityMappingRuleType_Encoding_DefaultBinary,15736,Object +OpcUa_BinarySchema_EndpointType_DictionaryFragment,15737,Variable +OpcUa_BinarySchema_IdentityMappingRuleType,15738,Variable +OpcUa_BinarySchema_IdentityMappingRuleType_DataTypeVersion,15739,Variable +OpcUa_BinarySchema_IdentityMappingRuleType_DictionaryFragment,15740,Variable +OpcUa_BinarySchema_DataTypeSchemaHeader,15741,Variable +OpcUa_BinarySchema_DataTypeSchemaHeader_DataTypeVersion,15742,Variable +OpcUa_BinarySchema_DataTypeSchemaHeader_DictionaryFragment,15743,Variable +TemporaryFileTransferType,15744,ObjectType +TemporaryFileTransferType_ClientProcessingTimeout,15745,Variable +TemporaryFileTransferType_GenerateFileForRead,15746,Method +TemporaryFileTransferType_GenerateFileForRead_InputArguments,15747,Variable +TemporaryFileTransferType_GenerateFileForRead_OutputArguments,15748,Variable +TemporaryFileTransferType_GenerateFileForWrite,15749,Method +TemporaryFileTransferType_GenerateFileForWrite_OutputArguments,15750,Variable +TemporaryFileTransferType_CloseAndCommit,15751,Method +TemporaryFileTransferType_CloseAndCommit_InputArguments,15752,Variable +TemporaryFileTransferType_CloseAndCommit_OutputArguments,15753,Variable +TemporaryFileTransferType_TransferState_Placeholder,15754,Object +TemporaryFileTransferType_TransferState_Placeholder_CurrentState,15755,Variable +TemporaryFileTransferType_TransferState_Placeholder_CurrentState_Id,15756,Variable +TemporaryFileTransferType_TransferState_Placeholder_CurrentState_Name,15757,Variable +TemporaryFileTransferType_TransferState_Placeholder_CurrentState_Number,15758,Variable +TemporaryFileTransferType_TransferState_Placeholder_CurrentState_EffectiveDisplayName,15759,Variable +TemporaryFileTransferType_TransferState_Placeholder_LastTransition,15760,Variable +TemporaryFileTransferType_TransferState_Placeholder_LastTransition_Id,15761,Variable +TemporaryFileTransferType_TransferState_Placeholder_LastTransition_Name,15762,Variable +TemporaryFileTransferType_TransferState_Placeholder_LastTransition_Number,15763,Variable +TemporaryFileTransferType_TransferState_Placeholder_LastTransition_TransitionTime,15764,Variable +TemporaryFileTransferType_TransferState_Placeholder_LastTransition_EffectiveTransitionTime,15765,Variable +OpcUa_BinarySchema_PublishedDataSetDataType,15766,Variable +OpcUa_BinarySchema_PublishedDataSetDataType_DataTypeVersion,15767,Variable +OpcUa_BinarySchema_PublishedDataSetDataType_DictionaryFragment,15768,Variable +OpcUa_BinarySchema_PublishedDataSetSourceDataType,15769,Variable +OpcUa_BinarySchema_PublishedDataSetSourceDataType_DataTypeVersion,15770,Variable +OpcUa_BinarySchema_PublishedDataSetSourceDataType_DictionaryFragment,15771,Variable +OpcUa_BinarySchema_PublishedDataItemsDataType,15772,Variable +OpcUa_BinarySchema_PublishedDataItemsDataType_DataTypeVersion,15773,Variable +OpcUa_BinarySchema_PublishedDataItemsDataType_DictionaryFragment,15774,Variable +OpcUa_BinarySchema_PublishedEventsDataType,15775,Variable +OpcUa_BinarySchema_PublishedEventsDataType_DataTypeVersion,15776,Variable +OpcUa_BinarySchema_PublishedEventsDataType_DictionaryFragment,15777,Variable +OpcUa_BinarySchema_DataSetWriterDataType,15778,Variable +OpcUa_BinarySchema_DataSetWriterDataType_DataTypeVersion,15779,Variable +OpcUa_BinarySchema_DataSetWriterDataType_DictionaryFragment,15780,Variable +OpcUa_BinarySchema_DataSetWriterTransportDataType,15781,Variable +OpcUa_BinarySchema_DataSetWriterTransportDataType_DataTypeVersion,15782,Variable +OpcUa_BinarySchema_DataSetWriterTransportDataType_DictionaryFragment,15783,Variable +OpcUa_BinarySchema_DataSetWriterMessageDataType,15784,Variable +OpcUa_BinarySchema_DataSetWriterMessageDataType_DataTypeVersion,15785,Variable +OpcUa_BinarySchema_DataSetWriterMessageDataType_DictionaryFragment,15786,Variable +OpcUa_BinarySchema_PubSubGroupDataType,15787,Variable +OpcUa_BinarySchema_PubSubGroupDataType_DataTypeVersion,15788,Variable +OpcUa_BinarySchema_PubSubGroupDataType_DictionaryFragment,15789,Variable +PublishSubscribe_ConnectionName_Placeholder,15790,Object +PublishSubscribe_ConnectionName_Placeholder_PublisherId,15791,Variable +PublishSubscribe_ConnectionName_Placeholder_TransportProfileUri,15792,Variable +OpcUa_BinarySchema_WriterGroupTransportDataType,15793,Variable +TemporaryFileTransferType_TransferState_Placeholder_Reset,15794,Method +GenerateFileForReadMethodType,15795,Method +GenerateFileForReadMethodType_InputArguments,15796,Variable +GenerateFileForReadMethodType_OutputArguments,15797,Variable +GenerateFileForWriteMethodType,15798,Method +GenerateFileForWriteMethodType_OutputArguments,15799,Variable +CloseAndCommitMethodType,15800,Method +CloseAndCommitMethodType_InputArguments,15801,Variable +CloseAndCommitMethodType_OutputArguments,15802,Variable +FileTransferStateMachineType,15803,ObjectType +FileTransferStateMachineType_CurrentState,15804,Variable +FileTransferStateMachineType_CurrentState_Id,15805,Variable +FileTransferStateMachineType_CurrentState_Name,15806,Variable +FileTransferStateMachineType_CurrentState_Number,15807,Variable +FileTransferStateMachineType_CurrentState_EffectiveDisplayName,15808,Variable +FileTransferStateMachineType_LastTransition,15809,Variable +FileTransferStateMachineType_LastTransition_Id,15810,Variable +FileTransferStateMachineType_LastTransition_Name,15811,Variable +FileTransferStateMachineType_LastTransition_Number,15812,Variable +FileTransferStateMachineType_LastTransition_TransitionTime,15813,Variable +FileTransferStateMachineType_LastTransition_EffectiveTransitionTime,15814,Variable +FileTransferStateMachineType_Idle,15815,Object +FileTransferStateMachineType_Idle_StateNumber,15816,Variable +FileTransferStateMachineType_ReadPrepare,15817,Object +FileTransferStateMachineType_ReadPrepare_StateNumber,15818,Variable +FileTransferStateMachineType_ReadTransfer,15819,Object +FileTransferStateMachineType_ReadTransfer_StateNumber,15820,Variable +FileTransferStateMachineType_ApplyWrite,15821,Object +FileTransferStateMachineType_ApplyWrite_StateNumber,15822,Variable +FileTransferStateMachineType_Error,15823,Object +FileTransferStateMachineType_Error_StateNumber,15824,Variable +FileTransferStateMachineType_IdleToReadPrepare,15825,Object +FileTransferStateMachineType_IdleToReadPrepare_TransitionNumber,15826,Variable +FileTransferStateMachineType_ReadPrepareToReadTransfer,15827,Object +FileTransferStateMachineType_ReadPrepareToReadTransfer_TransitionNumber,15828,Variable +FileTransferStateMachineType_ReadTransferToIdle,15829,Object +FileTransferStateMachineType_ReadTransferToIdle_TransitionNumber,15830,Variable +FileTransferStateMachineType_IdleToApplyWrite,15831,Object +FileTransferStateMachineType_IdleToApplyWrite_TransitionNumber,15832,Variable +FileTransferStateMachineType_ApplyWriteToIdle,15833,Object +FileTransferStateMachineType_ApplyWriteToIdle_TransitionNumber,15834,Variable +FileTransferStateMachineType_ReadPrepareToError,15835,Object +FileTransferStateMachineType_ReadPrepareToError_TransitionNumber,15836,Variable +FileTransferStateMachineType_ReadTransferToError,15837,Object +FileTransferStateMachineType_ReadTransferToError_TransitionNumber,15838,Variable +FileTransferStateMachineType_ApplyWriteToError,15839,Object +FileTransferStateMachineType_ApplyWriteToError_TransitionNumber,15840,Variable +FileTransferStateMachineType_ErrorToIdle,15841,Object +FileTransferStateMachineType_ErrorToIdle_TransitionNumber,15842,Variable +FileTransferStateMachineType_Reset,15843,Method +PublishSubscribeType_Status,15844,Object +PublishSubscribeType_Status_State,15845,Variable +PublishSubscribeType_Status_Enable,15846,Method +PublishSubscribeType_Status_Disable,15847,Method +PublishSubscribe_ConnectionName_Placeholder_TransportProfileUri_Selections,15848,Variable +PublishSubscribe_ConnectionName_Placeholder_TransportProfileUri_SelectionDescriptions,15849,Variable +PublishSubscribe_ConnectionName_Placeholder_TransportProfileUri_RestrictToList,15850,Variable +PublishSubscribe_ConnectionName_Placeholder_Address,15851,Object +OpcUa_BinarySchema_WriterGroupTransportDataType_DataTypeVersion,15852,Variable +OpcUa_BinarySchema_WriterGroupTransportDataType_DictionaryFragment,15853,Variable +OpcUa_BinarySchema_WriterGroupMessageDataType,15854,Variable +OpcUa_BinarySchema_WriterGroupMessageDataType_DataTypeVersion,15855,Variable +OpcUa_BinarySchema_WriterGroupMessageDataType_DictionaryFragment,15856,Variable +OpcUa_BinarySchema_PubSubConnectionDataType,15857,Variable +OpcUa_BinarySchema_PubSubConnectionDataType_DataTypeVersion,15858,Variable +OpcUa_BinarySchema_PubSubConnectionDataType_DictionaryFragment,15859,Variable +OpcUa_BinarySchema_ConnectionTransportDataType,15860,Variable +OpcUa_BinarySchema_ConnectionTransportDataType_DataTypeVersion,15861,Variable +OpcUa_BinarySchema_ConnectionTransportDataType_DictionaryFragment,15862,Variable +PublishSubscribe_ConnectionName_Placeholder_Address_NetworkInterface,15863,Variable +PublishSubscribe_ConnectionName_Placeholder_TransportSettings,15864,Object +PublishSubscribe_ConnectionName_Placeholder_Status,15865,Object +OpcUa_BinarySchema_ReaderGroupTransportDataType,15866,Variable +OpcUa_BinarySchema_ReaderGroupTransportDataType_DataTypeVersion,15867,Variable +OpcUa_BinarySchema_ReaderGroupTransportDataType_DictionaryFragment,15868,Variable +OpcUa_BinarySchema_ReaderGroupMessageDataType,15869,Variable +OpcUa_BinarySchema_ReaderGroupMessageDataType_DataTypeVersion,15870,Variable +OpcUa_BinarySchema_ReaderGroupMessageDataType_DictionaryFragment,15871,Variable +OpcUa_BinarySchema_DataSetReaderDataType,15872,Variable +OpcUa_BinarySchema_DataSetReaderDataType_DataTypeVersion,15873,Variable +OverrideValueHandling,15874,DataType +OverrideValueHandling_EnumStrings,15875,Variable +OpcUa_BinarySchema_DataSetReaderDataType_DictionaryFragment,15876,Variable +OpcUa_BinarySchema_DataSetReaderTransportDataType,15877,Variable +OpcUa_BinarySchema_DataSetReaderTransportDataType_DataTypeVersion,15878,Variable +OpcUa_BinarySchema_DataSetReaderTransportDataType_DictionaryFragment,15879,Variable +OpcUa_BinarySchema_DataSetReaderMessageDataType,15880,Variable +OpcUa_BinarySchema_DataSetReaderMessageDataType_DataTypeVersion,15881,Variable +OpcUa_BinarySchema_DataSetReaderMessageDataType_DictionaryFragment,15882,Variable +OpcUa_BinarySchema_SubscribedDataSetDataType,15883,Variable +OpcUa_BinarySchema_SubscribedDataSetDataType_DataTypeVersion,15884,Variable +OpcUa_BinarySchema_SubscribedDataSetDataType_DictionaryFragment,15885,Variable +OpcUa_BinarySchema_TargetVariablesDataType,15886,Variable +OpcUa_BinarySchema_TargetVariablesDataType_DataTypeVersion,15887,Variable +OpcUa_BinarySchema_TargetVariablesDataType_DictionaryFragment,15888,Variable +OpcUa_BinarySchema_SubscribedDataSetMirrorDataType,15889,Variable +OpcUa_BinarySchema_SubscribedDataSetMirrorDataType_DataTypeVersion,15890,Variable +OpcUa_BinarySchema_SubscribedDataSetMirrorDataType_DictionaryFragment,15891,Variable +PublishSubscribe_ConnectionName_Placeholder_Status_State,15892,Variable +PublishSubscribe_ConnectionName_Placeholder_Status_Enable,15893,Method +PublishSubscribe_ConnectionName_Placeholder_Status_Disable,15894,Method +OpcUa_BinarySchema_UadpWriterGroupMessageDataType,15895,Variable +OpcUa_BinarySchema_UadpWriterGroupMessageDataType_DataTypeVersion,15896,Variable +OpcUa_BinarySchema_UadpWriterGroupMessageDataType_DictionaryFragment,15897,Variable +OpcUa_BinarySchema_UadpDataSetWriterMessageDataType,15898,Variable +OpcUa_BinarySchema_UadpDataSetWriterMessageDataType_DataTypeVersion,15899,Variable +OpcUa_BinarySchema_UadpDataSetWriterMessageDataType_DictionaryFragment,15900,Variable +SessionlessInvokeRequestType,15901,DataType +SessionlessInvokeRequestType_Encoding_DefaultXml,15902,Object +SessionlessInvokeRequestType_Encoding_DefaultBinary,15903,Object +DataSetFieldFlags,15904,DataType +PublishSubscribeType_ConnectionName_Placeholder_TransportSettings,15905,Object +PubSubKeyServiceType,15906,ObjectType +PubSubKeyServiceType_GetSecurityKeys,15907,Method +PubSubKeyServiceType_GetSecurityKeys_InputArguments,15908,Variable +PubSubKeyServiceType_GetSecurityKeys_OutputArguments,15909,Variable +PubSubKeyServiceType_GetSecurityGroup,15910,Method +PubSubKeyServiceType_GetSecurityGroup_InputArguments,15911,Variable +PubSubKeyServiceType_GetSecurityGroup_OutputArguments,15912,Variable +PubSubKeyServiceType_SecurityGroups,15913,Object +PubSubKeyServiceType_SecurityGroups_AddSecurityGroup,15914,Method +PubSubKeyServiceType_SecurityGroups_AddSecurityGroup_InputArguments,15915,Variable +PubSubKeyServiceType_SecurityGroups_AddSecurityGroup_OutputArguments,15916,Variable +PubSubKeyServiceType_SecurityGroups_RemoveSecurityGroup,15917,Method +PubSubKeyServiceType_SecurityGroups_RemoveSecurityGroup_InputArguments,15918,Variable +OpcUa_BinarySchema_UadpDataSetReaderMessageDataType,15919,Variable +OpcUa_BinarySchema_UadpDataSetReaderMessageDataType_DataTypeVersion,15920,Variable +OpcUa_BinarySchema_UadpDataSetReaderMessageDataType_DictionaryFragment,15921,Variable +OpcUa_BinarySchema_JsonWriterGroupMessageDataType,15922,Variable +OpcUa_BinarySchema_JsonWriterGroupMessageDataType_DataTypeVersion,15923,Variable +OpcUa_BinarySchema_JsonWriterGroupMessageDataType_DictionaryFragment,15924,Variable +OpcUa_BinarySchema_JsonDataSetWriterMessageDataType,15925,Variable +PubSubGroupType_SecurityMode,15926,Variable +PubSubGroupType_SecurityGroupId,15927,Variable +PubSubGroupType_SecurityKeyServices,15928,Variable +OpcUa_BinarySchema_JsonDataSetWriterMessageDataType_DataTypeVersion,15929,Variable +OpcUa_BinarySchema_JsonDataSetWriterMessageDataType_DictionaryFragment,15930,Variable +OpcUa_BinarySchema_JsonDataSetReaderMessageDataType,15931,Variable +DataSetReaderType_SecurityMode,15932,Variable +DataSetReaderType_SecurityGroupId,15933,Variable +DataSetReaderType_SecurityKeyServices,15934,Variable +OpcUa_BinarySchema_JsonDataSetReaderMessageDataType_DataTypeVersion,15935,Variable +OpcUa_BinarySchema_JsonDataSetReaderMessageDataType_DictionaryFragment,15936,Variable +PublishSubscribe_ConnectionName_Placeholder_Diagnostics,15937,Object +PublishSubscribe_ConnectionName_Placeholder_Diagnostics_DiagnosticsLevel,15938,Variable +PublishSubscribe_ConnectionName_Placeholder_Diagnostics_TotalInformation,15939,Variable +OpcUa_BinarySchema_BrokerWriterGroupTransportDataType,15940,Variable +OpcUa_BinarySchema_BrokerWriterGroupTransportDataType_DataTypeVersion,15941,Variable +OpcUa_BinarySchema_BrokerWriterGroupTransportDataType_DictionaryFragment,15942,Variable +OpcUa_BinarySchema_BrokerDataSetWriterTransportDataType,15943,Variable +OpcUa_BinarySchema_BrokerDataSetWriterTransportDataType_DataTypeVersion,15944,Variable +OpcUa_BinarySchema_BrokerDataSetWriterTransportDataType_DictionaryFragment,15945,Variable +OpcUa_BinarySchema_BrokerDataSetReaderTransportDataType,15946,Variable +OpcUa_BinarySchema_BrokerDataSetReaderTransportDataType_DataTypeVersion,15947,Variable +OpcUa_BinarySchema_BrokerDataSetReaderTransportDataType_DictionaryFragment,15948,Variable +EndpointType_Encoding_DefaultXml,15949,Object +DataTypeSchemaHeader_Encoding_DefaultXml,15950,Object +PublishedDataSetDataType_Encoding_DefaultXml,15951,Object +PublishedDataSetSourceDataType_Encoding_DefaultXml,15952,Object +PublishedDataItemsDataType_Encoding_DefaultXml,15953,Object +PublishedEventsDataType_Encoding_DefaultXml,15954,Object +DataSetWriterDataType_Encoding_DefaultXml,15955,Object +DataSetWriterTransportDataType_Encoding_DefaultXml,15956,Object +OPCUANamespaceMetadata,15957,Object +OPCUANamespaceMetadata_NamespaceUri,15958,Variable +OPCUANamespaceMetadata_NamespaceVersion,15959,Variable +OPCUANamespaceMetadata_NamespacePublicationDate,15960,Variable +OPCUANamespaceMetadata_IsNamespaceSubset,15961,Variable +OPCUANamespaceMetadata_StaticNodeIdTypes,15962,Variable +OPCUANamespaceMetadata_StaticNumericNodeIdRange,15963,Variable +OPCUANamespaceMetadata_StaticStringNodeIdPattern,15964,Variable +OPCUANamespaceMetadata_NamespaceFile,15965,Object +OPCUANamespaceMetadata_NamespaceFile_Size,15966,Variable +OPCUANamespaceMetadata_NamespaceFile_Writable,15967,Variable +OPCUANamespaceMetadata_NamespaceFile_UserWritable,15968,Variable +OPCUANamespaceMetadata_NamespaceFile_OpenCount,15969,Variable +OPCUANamespaceMetadata_NamespaceFile_MimeType,15970,Variable +OPCUANamespaceMetadata_NamespaceFile_Open,15971,Method +OPCUANamespaceMetadata_NamespaceFile_Open_InputArguments,15972,Variable +OPCUANamespaceMetadata_NamespaceFile_Open_OutputArguments,15973,Variable +OPCUANamespaceMetadata_NamespaceFile_Close,15974,Method +OPCUANamespaceMetadata_NamespaceFile_Close_InputArguments,15975,Variable +OPCUANamespaceMetadata_NamespaceFile_Read,15976,Method +OPCUANamespaceMetadata_NamespaceFile_Read_InputArguments,15977,Variable +OPCUANamespaceMetadata_NamespaceFile_Read_OutputArguments,15978,Variable +OPCUANamespaceMetadata_NamespaceFile_Write,15979,Method +OPCUANamespaceMetadata_NamespaceFile_Write_InputArguments,15980,Variable +OPCUANamespaceMetadata_NamespaceFile_GetPosition,15981,Method +OPCUANamespaceMetadata_NamespaceFile_GetPosition_InputArguments,15982,Variable +OPCUANamespaceMetadata_NamespaceFile_GetPosition_OutputArguments,15983,Variable +OPCUANamespaceMetadata_NamespaceFile_SetPosition,15984,Method +OPCUANamespaceMetadata_NamespaceFile_SetPosition_InputArguments,15985,Variable +OPCUANamespaceMetadata_NamespaceFile_ExportNamespace,15986,Method +DataSetWriterMessageDataType_Encoding_DefaultXml,15987,Object +PubSubGroupDataType_Encoding_DefaultXml,15988,Object +PublishSubscribe_ConnectionName_Placeholder_Diagnostics_TotalInformation_Active,15989,Variable +WriterGroupTransportDataType_Encoding_DefaultXml,15990,Object +WriterGroupMessageDataType_Encoding_DefaultXml,15991,Object +PubSubConnectionDataType_Encoding_DefaultXml,15992,Object +ConnectionTransportDataType_Encoding_DefaultXml,15993,Object +PublishSubscribe_ConnectionName_Placeholder_Diagnostics_TotalInformation_Classification,15994,Variable +ReaderGroupTransportDataType_Encoding_DefaultXml,15995,Object +ReaderGroupMessageDataType_Encoding_DefaultXml,15996,Object +RoleSetType_AddRole,15997,Method +RoleSetType_AddRole_InputArguments,15998,Variable +RoleSetType_AddRole_OutputArguments,15999,Variable +RoleSetType_RemoveRole,16000,Method +RoleSetType_RemoveRole_InputArguments,16001,Variable +AddRoleMethodType,16002,Method +AddRoleMethodType_InputArguments,16003,Variable +AddRoleMethodType_OutputArguments,16004,Variable +RemoveRoleMethodType,16005,Method +RemoveRoleMethodType_InputArguments,16006,Variable +DataSetReaderDataType_Encoding_DefaultXml,16007,Object +DataSetReaderTransportDataType_Encoding_DefaultXml,16008,Object +DataSetReaderMessageDataType_Encoding_DefaultXml,16009,Object +SubscribedDataSetDataType_Encoding_DefaultXml,16010,Object +TargetVariablesDataType_Encoding_DefaultXml,16011,Object +SubscribedDataSetMirrorDataType_Encoding_DefaultXml,16012,Object +PublishSubscribe_ConnectionName_Placeholder_Diagnostics_TotalInformation_DiagnosticsLevel,16013,Variable +UadpWriterGroupMessageDataType_Encoding_DefaultXml,16014,Object +UadpDataSetWriterMessageDataType_Encoding_DefaultXml,16015,Object +UadpDataSetReaderMessageDataType_Encoding_DefaultXml,16016,Object +JsonWriterGroupMessageDataType_Encoding_DefaultXml,16017,Object +JsonDataSetWriterMessageDataType_Encoding_DefaultXml,16018,Object +JsonDataSetReaderMessageDataType_Encoding_DefaultXml,16019,Object +PublishSubscribe_ConnectionName_Placeholder_Diagnostics_TotalInformation_TimeFirstChange,16020,Variable +BrokerWriterGroupTransportDataType_Encoding_DefaultXml,16021,Object +BrokerDataSetWriterTransportDataType_Encoding_DefaultXml,16022,Object +BrokerDataSetReaderTransportDataType_Encoding_DefaultXml,16023,Object +OpcUa_XmlSchema_EndpointType,16024,Variable +OpcUa_XmlSchema_EndpointType_DataTypeVersion,16025,Variable +OpcUa_XmlSchema_EndpointType_DictionaryFragment,16026,Variable +OpcUa_XmlSchema_DataTypeSchemaHeader,16027,Variable +OpcUa_XmlSchema_DataTypeSchemaHeader_DataTypeVersion,16028,Variable +OpcUa_XmlSchema_DataTypeSchemaHeader_DictionaryFragment,16029,Variable +OpcUa_XmlSchema_PublishedDataSetDataType,16030,Variable +OpcUa_XmlSchema_PublishedDataSetDataType_DataTypeVersion,16031,Variable +OpcUa_XmlSchema_PublishedDataSetDataType_DictionaryFragment,16032,Variable +OpcUa_XmlSchema_PublishedDataSetSourceDataType,16033,Variable +OpcUa_XmlSchema_PublishedDataSetSourceDataType_DataTypeVersion,16034,Variable +OpcUa_XmlSchema_PublishedDataSetSourceDataType_DictionaryFragment,16035,Variable +WellKnownRole_Engineer,16036,Object +OpcUa_XmlSchema_PublishedDataItemsDataType,16037,Variable +OpcUa_XmlSchema_PublishedDataItemsDataType_DataTypeVersion,16038,Variable +OpcUa_XmlSchema_PublishedDataItemsDataType_DictionaryFragment,16039,Variable +OpcUa_XmlSchema_PublishedEventsDataType,16040,Variable +WellKnownRole_Engineer_AddIdentity,16041,Method +WellKnownRole_Engineer_AddIdentity_InputArguments,16042,Variable +WellKnownRole_Engineer_RemoveIdentity,16043,Method +WellKnownRole_Engineer_RemoveIdentity_InputArguments,16044,Variable +OpcUa_XmlSchema_PublishedEventsDataType_DataTypeVersion,16045,Variable +OpcUa_XmlSchema_PublishedEventsDataType_DictionaryFragment,16046,Variable +OpcUa_XmlSchema_DataSetWriterDataType,16047,Variable +OpcUa_XmlSchema_DataSetWriterDataType_DataTypeVersion,16048,Variable +OpcUa_XmlSchema_DataSetWriterDataType_DictionaryFragment,16049,Variable +OpcUa_XmlSchema_DataSetWriterTransportDataType,16050,Variable +OpcUa_XmlSchema_DataSetWriterTransportDataType_DataTypeVersion,16051,Variable +OpcUa_XmlSchema_DataSetWriterTransportDataType_DictionaryFragment,16052,Variable +OpcUa_XmlSchema_DataSetWriterMessageDataType,16053,Variable +OpcUa_XmlSchema_DataSetWriterMessageDataType_DataTypeVersion,16054,Variable +OpcUa_XmlSchema_DataSetWriterMessageDataType_DictionaryFragment,16055,Variable +OpcUa_XmlSchema_PubSubGroupDataType,16056,Variable +OpcUa_XmlSchema_PubSubGroupDataType_DataTypeVersion,16057,Variable +OpcUa_XmlSchema_PubSubGroupDataType_DictionaryFragment,16058,Variable +PublishSubscribe_ConnectionName_Placeholder_Diagnostics_TotalError,16059,Variable +PublishSubscribe_ConnectionName_Placeholder_Diagnostics_TotalError_Active,16060,Variable +PublishSubscribe_ConnectionName_Placeholder_Diagnostics_TotalError_Classification,16061,Variable +OpcUa_XmlSchema_WriterGroupTransportDataType,16062,Variable +OpcUa_XmlSchema_WriterGroupTransportDataType_DataTypeVersion,16063,Variable +OpcUa_XmlSchema_WriterGroupTransportDataType_DictionaryFragment,16064,Variable +OpcUa_XmlSchema_WriterGroupMessageDataType,16065,Variable +OpcUa_XmlSchema_WriterGroupMessageDataType_DataTypeVersion,16066,Variable +OpcUa_XmlSchema_WriterGroupMessageDataType_DictionaryFragment,16067,Variable +OpcUa_XmlSchema_PubSubConnectionDataType,16068,Variable +OpcUa_XmlSchema_PubSubConnectionDataType_DataTypeVersion,16069,Variable +OpcUa_XmlSchema_PubSubConnectionDataType_DictionaryFragment,16070,Variable +OpcUa_XmlSchema_ConnectionTransportDataType,16071,Variable +OpcUa_XmlSchema_ConnectionTransportDataType_DataTypeVersion,16072,Variable +OpcUa_XmlSchema_ConnectionTransportDataType_DictionaryFragment,16073,Variable +PublishSubscribe_ConnectionName_Placeholder_Diagnostics_TotalError_DiagnosticsLevel,16074,Variable +PublishSubscribe_ConnectionName_Placeholder_Diagnostics_TotalError_TimeFirstChange,16075,Variable +PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Reset,16076,Method +OpcUa_XmlSchema_ReaderGroupTransportDataType,16077,Variable +OpcUa_XmlSchema_ReaderGroupTransportDataType_DataTypeVersion,16078,Variable +OpcUa_XmlSchema_ReaderGroupTransportDataType_DictionaryFragment,16079,Variable +OpcUa_XmlSchema_ReaderGroupMessageDataType,16080,Variable +OpcUa_XmlSchema_ReaderGroupMessageDataType_DataTypeVersion,16081,Variable +OpcUa_XmlSchema_ReaderGroupMessageDataType_DictionaryFragment,16082,Variable +OpcUa_XmlSchema_DataSetReaderDataType,16083,Variable +OpcUa_XmlSchema_DataSetReaderDataType_DataTypeVersion,16084,Variable +OpcUa_XmlSchema_DataSetReaderDataType_DictionaryFragment,16085,Variable +OpcUa_XmlSchema_DataSetReaderTransportDataType,16086,Variable +OpcUa_XmlSchema_DataSetReaderTransportDataType_DataTypeVersion,16087,Variable +OpcUa_XmlSchema_DataSetReaderTransportDataType_DictionaryFragment,16088,Variable +OpcUa_XmlSchema_DataSetReaderMessageDataType,16089,Variable +OpcUa_XmlSchema_DataSetReaderMessageDataType_DataTypeVersion,16090,Variable +OpcUa_XmlSchema_DataSetReaderMessageDataType_DictionaryFragment,16091,Variable +OpcUa_XmlSchema_SubscribedDataSetDataType,16092,Variable +OpcUa_XmlSchema_SubscribedDataSetDataType_DataTypeVersion,16093,Variable +OpcUa_XmlSchema_SubscribedDataSetDataType_DictionaryFragment,16094,Variable +OpcUa_XmlSchema_TargetVariablesDataType,16095,Variable +OpcUa_XmlSchema_TargetVariablesDataType_DataTypeVersion,16096,Variable +OpcUa_XmlSchema_TargetVariablesDataType_DictionaryFragment,16097,Variable +OpcUa_XmlSchema_SubscribedDataSetMirrorDataType,16098,Variable +OpcUa_XmlSchema_SubscribedDataSetMirrorDataType_DataTypeVersion,16099,Variable +OpcUa_XmlSchema_SubscribedDataSetMirrorDataType_DictionaryFragment,16100,Variable +PublishSubscribe_ConnectionName_Placeholder_Diagnostics_SubError,16101,Variable +PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters,16102,Object +PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateError,16103,Variable +OpcUa_XmlSchema_UadpWriterGroupMessageDataType,16104,Variable +OpcUa_XmlSchema_UadpWriterGroupMessageDataType_DataTypeVersion,16105,Variable +OpcUa_XmlSchema_UadpWriterGroupMessageDataType_DictionaryFragment,16106,Variable +OpcUa_XmlSchema_UadpDataSetWriterMessageDataType,16107,Variable +OpcUa_XmlSchema_UadpDataSetWriterMessageDataType_DataTypeVersion,16108,Variable +OpcUa_XmlSchema_UadpDataSetWriterMessageDataType_DictionaryFragment,16109,Variable +OpcUa_XmlSchema_UadpDataSetReaderMessageDataType,16110,Variable +OpcUa_XmlSchema_UadpDataSetReaderMessageDataType_DataTypeVersion,16111,Variable +OpcUa_XmlSchema_UadpDataSetReaderMessageDataType_DictionaryFragment,16112,Variable +OpcUa_XmlSchema_JsonWriterGroupMessageDataType,16113,Variable +OpcUa_XmlSchema_JsonWriterGroupMessageDataType_DataTypeVersion,16114,Variable +OpcUa_XmlSchema_JsonWriterGroupMessageDataType_DictionaryFragment,16115,Variable +OpcUa_XmlSchema_JsonDataSetWriterMessageDataType,16116,Variable +OpcUa_XmlSchema_JsonDataSetWriterMessageDataType_DataTypeVersion,16117,Variable +OpcUa_XmlSchema_JsonDataSetWriterMessageDataType_DictionaryFragment,16118,Variable +OpcUa_XmlSchema_JsonDataSetReaderMessageDataType,16119,Variable +OpcUa_XmlSchema_JsonDataSetReaderMessageDataType_DataTypeVersion,16120,Variable +OpcUa_XmlSchema_JsonDataSetReaderMessageDataType_DictionaryFragment,16121,Variable +PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateError_Active,16122,Variable +PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateError_Classification,16123,Variable +PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateError_DiagnosticsLevel,16124,Variable +OpcUa_XmlSchema_BrokerWriterGroupTransportDataType,16125,Variable +RolePermissionType_Encoding_DefaultXml,16126,Object +OpcUa_XmlSchema_RolePermissionType,16127,Variable +OpcUa_XmlSchema_RolePermissionType_DataTypeVersion,16128,Variable +OpcUa_XmlSchema_RolePermissionType_DictionaryFragment,16129,Variable +OpcUa_XmlSchema_BrokerWriterGroupTransportDataType_DataTypeVersion,16130,Variable +OpcUa_BinarySchema_RolePermissionType,16131,Variable +OpcUa_BinarySchema_RolePermissionType_DataTypeVersion,16132,Variable +OpcUa_BinarySchema_RolePermissionType_DictionaryFragment,16133,Variable +OPCUANamespaceMetadata_DefaultRolePermissions,16134,Variable +OPCUANamespaceMetadata_DefaultUserRolePermissions,16135,Variable +OPCUANamespaceMetadata_DefaultAccessRestrictions,16136,Variable +NamespaceMetadataType_DefaultRolePermissions,16137,Variable +NamespaceMetadataType_DefaultUserRolePermissions,16138,Variable +NamespaceMetadataType_DefaultAccessRestrictions,16139,Variable +NamespacesType_NamespaceIdentifier_Placeholder_DefaultRolePermissions,16140,Variable +NamespacesType_NamespaceIdentifier_Placeholder_DefaultUserRolePermissions,16141,Variable +NamespacesType_NamespaceIdentifier_Placeholder_DefaultAccessRestrictions,16142,Variable +OpcUa_XmlSchema_BrokerWriterGroupTransportDataType_DictionaryFragment,16143,Variable +OpcUa_XmlSchema_BrokerDataSetWriterTransportDataType,16144,Variable +OpcUa_XmlSchema_BrokerDataSetWriterTransportDataType_DataTypeVersion,16145,Variable +OpcUa_XmlSchema_BrokerDataSetWriterTransportDataType_DictionaryFragment,16146,Variable +OpcUa_XmlSchema_BrokerDataSetReaderTransportDataType,16147,Variable +OpcUa_XmlSchema_BrokerDataSetReaderTransportDataType_DataTypeVersion,16148,Variable +OpcUa_XmlSchema_BrokerDataSetReaderTransportDataType_DictionaryFragment,16149,Variable +EndpointType_Encoding_DefaultJson,16150,Object +DataTypeSchemaHeader_Encoding_DefaultJson,16151,Object +PublishedDataSetDataType_Encoding_DefaultJson,16152,Object +PublishedDataSetSourceDataType_Encoding_DefaultJson,16153,Object +PublishedDataItemsDataType_Encoding_DefaultJson,16154,Object +PublishedEventsDataType_Encoding_DefaultJson,16155,Object +DataSetWriterDataType_Encoding_DefaultJson,16156,Object +DataSetWriterTransportDataType_Encoding_DefaultJson,16157,Object +DataSetWriterMessageDataType_Encoding_DefaultJson,16158,Object +PubSubGroupDataType_Encoding_DefaultJson,16159,Object +PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateError_TimeFirstChange,16160,Variable +WriterGroupTransportDataType_Encoding_DefaultJson,16161,Object +RoleSetType_RoleName_Placeholder_Identities,16162,Variable +RoleSetType_RoleName_Placeholder_Applications,16163,Variable +RoleSetType_RoleName_Placeholder_Endpoints,16164,Variable +RoleSetType_RoleName_Placeholder_AddApplication,16165,Method +RoleSetType_RoleName_Placeholder_AddApplication_InputArguments,16166,Variable +RoleSetType_RoleName_Placeholder_RemoveApplication,16167,Method +RoleSetType_RoleName_Placeholder_RemoveApplication_InputArguments,16168,Variable +RoleSetType_RoleName_Placeholder_AddEndpoint,16169,Method +RoleSetType_RoleName_Placeholder_AddEndpoint_InputArguments,16170,Variable +RoleSetType_RoleName_Placeholder_RemoveEndpoint,16171,Method +RoleSetType_RoleName_Placeholder_RemoveEndpoint_InputArguments,16172,Variable +RoleType_Identities,16173,Variable +RoleType_Applications,16174,Variable +RoleType_Endpoints,16175,Variable +RoleType_AddApplication,16176,Method +RoleType_AddApplication_InputArguments,16177,Variable +RoleType_RemoveApplication,16178,Method +RoleType_RemoveApplication_InputArguments,16179,Variable +RoleType_AddEndpoint,16180,Method +RoleType_AddEndpoint_InputArguments,16181,Variable +RoleType_RemoveEndpoint,16182,Method +RoleType_RemoveEndpoint_InputArguments,16183,Variable +AddApplicationMethodType,16184,Method +AddApplicationMethodType_InputArguments,16185,Variable +RemoveApplicationMethodType,16186,Method +RemoveApplicationMethodType_InputArguments,16187,Variable +AddEndpointMethodType,16188,Method +AddEndpointMethodType_InputArguments,16189,Variable +RemoveEndpointMethodType,16190,Method +RemoveEndpointMethodType_InputArguments,16191,Variable +WellKnownRole_Anonymous_Identities,16192,Variable +WellKnownRole_Anonymous_Applications,16193,Variable +WellKnownRole_Anonymous_Endpoints,16194,Variable +WellKnownRole_Anonymous_AddApplication,16195,Method +WellKnownRole_Anonymous_AddApplication_InputArguments,16196,Variable +WellKnownRole_Anonymous_RemoveApplication,16197,Method +WellKnownRole_Anonymous_RemoveApplication_InputArguments,16198,Variable +WellKnownRole_Anonymous_AddEndpoint,16199,Method +WellKnownRole_Anonymous_AddEndpoint_InputArguments,16200,Variable +WellKnownRole_Anonymous_RemoveEndpoint,16201,Method +WellKnownRole_Anonymous_RemoveEndpoint_InputArguments,16202,Variable +WellKnownRole_AuthenticatedUser_Identities,16203,Variable +WellKnownRole_AuthenticatedUser_Applications,16204,Variable +WellKnownRole_AuthenticatedUser_Endpoints,16205,Variable +WellKnownRole_AuthenticatedUser_AddApplication,16206,Method +WellKnownRole_AuthenticatedUser_AddApplication_InputArguments,16207,Variable +WellKnownRole_AuthenticatedUser_RemoveApplication,16208,Method +WellKnownRole_AuthenticatedUser_RemoveApplication_InputArguments,16209,Variable +WellKnownRole_AuthenticatedUser_AddEndpoint,16210,Method +WellKnownRole_AuthenticatedUser_AddEndpoint_InputArguments,16211,Variable +WellKnownRole_AuthenticatedUser_RemoveEndpoint,16212,Method +WellKnownRole_AuthenticatedUser_RemoveEndpoint_InputArguments,16213,Variable +WellKnownRole_Observer_Identities,16214,Variable +WellKnownRole_Observer_Applications,16215,Variable +WellKnownRole_Observer_Endpoints,16216,Variable +WellKnownRole_Observer_AddApplication,16217,Method +WellKnownRole_Observer_AddApplication_InputArguments,16218,Variable +WellKnownRole_Observer_RemoveApplication,16219,Method +WellKnownRole_Observer_RemoveApplication_InputArguments,16220,Variable +WellKnownRole_Observer_AddEndpoint,16221,Method +WellKnownRole_Observer_AddEndpoint_InputArguments,16222,Variable +WellKnownRole_Observer_RemoveEndpoint,16223,Method +WellKnownRole_Observer_RemoveEndpoint_InputArguments,16224,Variable +WellKnownRole_Operator_Identities,16225,Variable +WellKnownRole_Operator_Applications,16226,Variable +WellKnownRole_Operator_Endpoints,16227,Variable +WellKnownRole_Operator_AddApplication,16228,Method +WellKnownRole_Operator_AddApplication_InputArguments,16229,Variable +WellKnownRole_Operator_RemoveApplication,16230,Method +WellKnownRole_Operator_RemoveApplication_InputArguments,16231,Variable +WellKnownRole_Operator_AddEndpoint,16232,Method +WellKnownRole_Operator_AddEndpoint_InputArguments,16233,Variable +WellKnownRole_Operator_RemoveEndpoint,16234,Method +WellKnownRole_Operator_RemoveEndpoint_InputArguments,16235,Variable +WellKnownRole_Engineer_Identities,16236,Variable +WellKnownRole_Engineer_Applications,16237,Variable +WellKnownRole_Engineer_Endpoints,16238,Variable +WellKnownRole_Engineer_AddApplication,16239,Method +WellKnownRole_Engineer_AddApplication_InputArguments,16240,Variable +WellKnownRole_Engineer_RemoveApplication,16241,Method +WellKnownRole_Engineer_RemoveApplication_InputArguments,16242,Variable +WellKnownRole_Engineer_AddEndpoint,16243,Method +WellKnownRole_Engineer_AddEndpoint_InputArguments,16244,Variable +WellKnownRole_Engineer_RemoveEndpoint,16245,Method +WellKnownRole_Engineer_RemoveEndpoint_InputArguments,16246,Variable +WellKnownRole_Supervisor_Identities,16247,Variable +WellKnownRole_Supervisor_Applications,16248,Variable +WellKnownRole_Supervisor_Endpoints,16249,Variable +WellKnownRole_Supervisor_AddApplication,16250,Method +WellKnownRole_Supervisor_AddApplication_InputArguments,16251,Variable +WellKnownRole_Supervisor_RemoveApplication,16252,Method +WellKnownRole_Supervisor_RemoveApplication_InputArguments,16253,Variable +WellKnownRole_Supervisor_AddEndpoint,16254,Method +WellKnownRole_Supervisor_AddEndpoint_InputArguments,16255,Variable +WellKnownRole_Supervisor_RemoveEndpoint,16256,Method +WellKnownRole_Supervisor_RemoveEndpoint_InputArguments,16257,Variable +WellKnownRole_SecurityAdmin_Identities,16258,Variable +WellKnownRole_SecurityAdmin_Applications,16259,Variable +WellKnownRole_SecurityAdmin_Endpoints,16260,Variable +WellKnownRole_SecurityAdmin_AddApplication,16261,Method +WellKnownRole_SecurityAdmin_AddApplication_InputArguments,16262,Variable +WellKnownRole_SecurityAdmin_RemoveApplication,16263,Method +WellKnownRole_SecurityAdmin_RemoveApplication_InputArguments,16264,Variable +WellKnownRole_SecurityAdmin_AddEndpoint,16265,Method +WellKnownRole_SecurityAdmin_AddEndpoint_InputArguments,16266,Variable +WellKnownRole_SecurityAdmin_RemoveEndpoint,16267,Method +WellKnownRole_SecurityAdmin_RemoveEndpoint_InputArguments,16268,Variable +WellKnownRole_ConfigureAdmin_Identities,16269,Variable +WellKnownRole_ConfigureAdmin_Applications,16270,Variable +WellKnownRole_ConfigureAdmin_Endpoints,16271,Variable +WellKnownRole_ConfigureAdmin_AddApplication,16272,Method +WellKnownRole_ConfigureAdmin_AddApplication_InputArguments,16273,Variable +WellKnownRole_ConfigureAdmin_RemoveApplication,16274,Method +WellKnownRole_ConfigureAdmin_RemoveApplication_InputArguments,16275,Variable +WellKnownRole_ConfigureAdmin_AddEndpoint,16276,Method +WellKnownRole_ConfigureAdmin_AddEndpoint_InputArguments,16277,Variable +WellKnownRole_ConfigureAdmin_RemoveEndpoint,16278,Method +WellKnownRole_ConfigureAdmin_RemoveEndpoint_InputArguments,16279,Variable +WriterGroupMessageDataType_Encoding_DefaultJson,16280,Object +PubSubConnectionDataType_Encoding_DefaultJson,16281,Object +ConnectionTransportDataType_Encoding_DefaultJson,16282,Object +PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByMethod,16283,Variable +ReaderGroupTransportDataType_Encoding_DefaultJson,16284,Object +ReaderGroupMessageDataType_Encoding_DefaultJson,16285,Object +DataSetReaderDataType_Encoding_DefaultJson,16286,Object +DataSetReaderTransportDataType_Encoding_DefaultJson,16287,Object +DataSetReaderMessageDataType_Encoding_DefaultJson,16288,Object +ServerType_ServerCapabilities_Roles,16289,Object +ServerType_ServerCapabilities_Roles_AddRole,16290,Method +ServerType_ServerCapabilities_Roles_AddRole_InputArguments,16291,Variable +ServerType_ServerCapabilities_Roles_AddRole_OutputArguments,16292,Variable +ServerType_ServerCapabilities_Roles_RemoveRole,16293,Method +ServerType_ServerCapabilities_Roles_RemoveRole_InputArguments,16294,Variable +ServerCapabilitiesType_Roles,16295,Object +ServerCapabilitiesType_Roles_AddRole,16296,Method +ServerCapabilitiesType_Roles_AddRole_InputArguments,16297,Variable +ServerCapabilitiesType_Roles_AddRole_OutputArguments,16298,Variable +ServerCapabilitiesType_Roles_RemoveRole,16299,Method +ServerCapabilitiesType_Roles_RemoveRole_InputArguments,16300,Variable +Server_ServerCapabilities_Roles_AddRole,16301,Method +Server_ServerCapabilities_Roles_AddRole_InputArguments,16302,Variable +Server_ServerCapabilities_Roles_AddRole_OutputArguments,16303,Variable +Server_ServerCapabilities_Roles_RemoveRole,16304,Method +Server_ServerCapabilities_Roles_RemoveRole_InputArguments,16305,Variable +DefaultInputValues,16306,Variable +AudioDataType,16307,DataType +SubscribedDataSetDataType_Encoding_DefaultJson,16308,Object +SelectionListType,16309,VariableType +TargetVariablesDataType_Encoding_DefaultJson,16310,Object +SubscribedDataSetMirrorDataType_Encoding_DefaultJson,16311,Object +SelectionListType_RestrictToList,16312,Variable +Server_CurrentTimeZone,16313,Variable +FileSystem,16314,Object +FileSystem_FileDirectoryName_Placeholder,16315,Object +FileSystem_FileDirectoryName_Placeholder_CreateDirectory,16316,Method +FileSystem_FileDirectoryName_Placeholder_CreateDirectory_InputArguments,16317,Variable +FileSystem_FileDirectoryName_Placeholder_CreateDirectory_OutputArguments,16318,Variable +FileSystem_FileDirectoryName_Placeholder_CreateFile,16319,Method +FileSystem_FileDirectoryName_Placeholder_CreateFile_InputArguments,16320,Variable +FileSystem_FileDirectoryName_Placeholder_CreateFile_OutputArguments,16321,Variable +PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Active,16322,Variable +UadpWriterGroupMessageDataType_Encoding_DefaultJson,16323,Object +FileSystem_FileDirectoryName_Placeholder_MoveOrCopy,16324,Method +FileSystem_FileDirectoryName_Placeholder_MoveOrCopy_InputArguments,16325,Variable +FileSystem_FileDirectoryName_Placeholder_MoveOrCopy_OutputArguments,16326,Variable +FileSystem_FileName_Placeholder,16327,Object +FileSystem_FileName_Placeholder_Size,16328,Variable +FileSystem_FileName_Placeholder_Writable,16329,Variable +FileSystem_FileName_Placeholder_UserWritable,16330,Variable +FileSystem_FileName_Placeholder_OpenCount,16331,Variable +FileSystem_FileName_Placeholder_MimeType,16332,Variable +FileSystem_FileName_Placeholder_Open,16333,Method +FileSystem_FileName_Placeholder_Open_InputArguments,16334,Variable +FileSystem_FileName_Placeholder_Open_OutputArguments,16335,Variable +FileSystem_FileName_Placeholder_Close,16336,Method +FileSystem_FileName_Placeholder_Close_InputArguments,16337,Variable +FileSystem_FileName_Placeholder_Read,16338,Method +FileSystem_FileName_Placeholder_Read_InputArguments,16339,Variable +FileSystem_FileName_Placeholder_Read_OutputArguments,16340,Variable +FileSystem_FileName_Placeholder_Write,16341,Method +FileSystem_FileName_Placeholder_Write_InputArguments,16342,Variable +FileSystem_FileName_Placeholder_GetPosition,16343,Method +FileSystem_FileName_Placeholder_GetPosition_InputArguments,16344,Variable +FileSystem_FileName_Placeholder_GetPosition_OutputArguments,16345,Variable +FileSystem_FileName_Placeholder_SetPosition,16346,Method +FileSystem_FileName_Placeholder_SetPosition_InputArguments,16347,Variable +FileSystem_CreateDirectory,16348,Method +FileSystem_CreateDirectory_InputArguments,16349,Variable +FileSystem_CreateDirectory_OutputArguments,16350,Variable +FileSystem_CreateFile,16351,Method +FileSystem_CreateFile_InputArguments,16352,Variable +FileSystem_CreateFile_OutputArguments,16353,Variable +FileSystem_DeleteFileSystemObject,16354,Method +FileSystem_DeleteFileSystemObject_InputArguments,16355,Variable +FileSystem_MoveOrCopy,16356,Method +FileSystem_MoveOrCopy_InputArguments,16357,Variable +FileSystem_MoveOrCopy_OutputArguments,16358,Variable +TemporaryFileTransferType_GenerateFileForWrite_InputArguments,16359,Variable +GenerateFileForWriteMethodType_InputArguments,16360,Variable +HasAlarmSuppressionGroup,16361,ReferenceType +AlarmGroupMember,16362,ReferenceType +ConditionType_ConditionSubClassId,16363,Variable +ConditionType_ConditionSubClassName,16364,Variable +DialogConditionType_ConditionSubClassId,16365,Variable +DialogConditionType_ConditionSubClassName,16366,Variable +AcknowledgeableConditionType_ConditionSubClassId,16367,Variable +AcknowledgeableConditionType_ConditionSubClassName,16368,Variable +AlarmConditionType_ConditionSubClassId,16369,Variable +AlarmConditionType_ConditionSubClassName,16370,Variable +AlarmConditionType_OutOfServiceState,16371,Variable +AlarmConditionType_OutOfServiceState_Id,16372,Variable +AlarmConditionType_OutOfServiceState_Name,16373,Variable +AlarmConditionType_OutOfServiceState_Number,16374,Variable +AlarmConditionType_OutOfServiceState_EffectiveDisplayName,16375,Variable +AlarmConditionType_OutOfServiceState_TransitionTime,16376,Variable +AlarmConditionType_OutOfServiceState_EffectiveTransitionTime,16377,Variable +AlarmConditionType_OutOfServiceState_TrueState,16378,Variable +AlarmConditionType_OutOfServiceState_FalseState,16379,Variable +AlarmConditionType_SilenceState,16380,Variable +AlarmConditionType_SilenceState_Id,16381,Variable +AlarmConditionType_SilenceState_Name,16382,Variable +AlarmConditionType_SilenceState_Number,16383,Variable +AlarmConditionType_SilenceState_EffectiveDisplayName,16384,Variable +AlarmConditionType_SilenceState_TransitionTime,16385,Variable +AlarmConditionType_SilenceState_EffectiveTransitionTime,16386,Variable +AlarmConditionType_SilenceState_TrueState,16387,Variable +AlarmConditionType_SilenceState_FalseState,16388,Variable +AlarmConditionType_AudibleEnabled,16389,Variable +AlarmConditionType_AudibleSound,16390,Variable +UadpDataSetWriterMessageDataType_Encoding_DefaultJson,16391,Object +UadpDataSetReaderMessageDataType_Encoding_DefaultJson,16392,Object +JsonWriterGroupMessageDataType_Encoding_DefaultJson,16393,Object +JsonDataSetWriterMessageDataType_Encoding_DefaultJson,16394,Object +AlarmConditionType_OnDelay,16395,Variable +AlarmConditionType_OffDelay,16396,Variable +AlarmConditionType_FirstInGroupFlag,16397,Variable +AlarmConditionType_FirstInGroup,16398,Object +AlarmConditionType_AlarmGroup_Placeholder,16399,Object +AlarmConditionType_ReAlarmTime,16400,Variable +AlarmConditionType_ReAlarmRepeatCount,16401,Variable +AlarmConditionType_Silence,16402,Method +AlarmConditionType_Suppress,16403,Method +JsonDataSetReaderMessageDataType_Encoding_DefaultJson,16404,Object +AlarmGroupType,16405,ObjectType +AlarmGroupType_AlarmConditionInstance_Placeholder,16406,Object +AlarmGroupType_AlarmConditionInstance_Placeholder_EventId,16407,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_EventType,16408,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_SourceNode,16409,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_SourceName,16410,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_Time,16411,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_ReceiveTime,16412,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_LocalTime,16413,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_Message,16414,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_Severity,16415,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_ConditionClassId,16416,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_ConditionClassName,16417,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_ConditionSubClassId,16418,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_ConditionSubClassName,16419,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_ConditionName,16420,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_BranchId,16421,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_Retain,16422,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_EnabledState,16423,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_EnabledState_Id,16424,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_EnabledState_Name,16425,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_EnabledState_Number,16426,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_EnabledState_EffectiveDisplayName,16427,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_EnabledState_TransitionTime,16428,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_EnabledState_EffectiveTransitionTime,16429,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_EnabledState_TrueState,16430,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_EnabledState_FalseState,16431,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_Quality,16432,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_Quality_SourceTimestamp,16433,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_LastSeverity,16434,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_LastSeverity_SourceTimestamp,16435,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_Comment,16436,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_Comment_SourceTimestamp,16437,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_ClientUserId,16438,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_Disable,16439,Method +AlarmGroupType_AlarmConditionInstance_Placeholder_Enable,16440,Method +AlarmGroupType_AlarmConditionInstance_Placeholder_AddComment,16441,Method +AlarmGroupType_AlarmConditionInstance_Placeholder_AddComment_InputArguments,16442,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_AckedState,16443,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_AckedState_Id,16444,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_AckedState_Name,16445,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_AckedState_Number,16446,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_AckedState_EffectiveDisplayName,16447,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_AckedState_TransitionTime,16448,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_AckedState_EffectiveTransitionTime,16449,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_AckedState_TrueState,16450,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_AckedState_FalseState,16451,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_ConfirmedState,16452,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_ConfirmedState_Id,16453,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_ConfirmedState_Name,16454,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_ConfirmedState_Number,16455,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_ConfirmedState_EffectiveDisplayName,16456,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_ConfirmedState_TransitionTime,16457,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_ConfirmedState_EffectiveTransitionTime,16458,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_ConfirmedState_TrueState,16459,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_ConfirmedState_FalseState,16460,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_Acknowledge,16461,Method +AlarmGroupType_AlarmConditionInstance_Placeholder_Acknowledge_InputArguments,16462,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_Confirm,16463,Method +AlarmGroupType_AlarmConditionInstance_Placeholder_Confirm_InputArguments,16464,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_ActiveState,16465,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_ActiveState_Id,16466,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_ActiveState_Name,16467,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_ActiveState_Number,16468,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_ActiveState_EffectiveDisplayName,16469,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_ActiveState_TransitionTime,16470,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_ActiveState_EffectiveTransitionTime,16471,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_ActiveState_TrueState,16472,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_ActiveState_FalseState,16473,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_InputNode,16474,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_SuppressedState,16475,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_SuppressedState_Id,16476,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_SuppressedState_Name,16477,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_SuppressedState_Number,16478,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_SuppressedState_EffectiveDisplayName,16479,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_SuppressedState_TransitionTime,16480,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_SuppressedState_EffectiveTransitionTime,16481,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_SuppressedState_TrueState,16482,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_SuppressedState_FalseState,16483,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_OutOfServiceState,16484,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_OutOfServiceState_Id,16485,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_OutOfServiceState_Name,16486,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_OutOfServiceState_Number,16487,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_OutOfServiceState_EffectiveDisplayName,16488,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_OutOfServiceState_TransitionTime,16489,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_OutOfServiceState_EffectiveTransitionTime,16490,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_OutOfServiceState_TrueState,16491,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_OutOfServiceState_FalseState,16492,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_SilenceState,16493,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_SilenceState_Id,16494,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_SilenceState_Name,16495,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_SilenceState_Number,16496,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_SilenceState_EffectiveDisplayName,16497,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_SilenceState_TransitionTime,16498,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_SilenceState_EffectiveTransitionTime,16499,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_SilenceState_TrueState,16500,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_SilenceState_FalseState,16501,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState,16502,Object +AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_CurrentState,16503,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_CurrentState_Id,16504,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_CurrentState_Name,16505,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_CurrentState_Number,16506,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_CurrentState_EffectiveDisplayName,16507,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_LastTransition,16508,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_LastTransition_Id,16509,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_LastTransition_Name,16510,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_LastTransition_Number,16511,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_LastTransition_TransitionTime,16512,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_LastTransition_EffectiveTransitionTime,16513,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_UnshelveTime,16514,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_Unshelve,16515,Method +AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_OneShotShelve,16516,Method +AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_TimedShelve,16517,Method +AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_TimedShelve_InputArguments,16518,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_SuppressedOrShelved,16519,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_MaxTimeShelved,16520,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_AudibleEnabled,16521,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_AudibleSound,16522,Variable +PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Classification,16523,Variable +BrokerWriterGroupTransportDataType_Encoding_DefaultJson,16524,Object +BrokerDataSetWriterTransportDataType_Encoding_DefaultJson,16525,Object +BrokerDataSetReaderTransportDataType_Encoding_DefaultJson,16526,Object +AlarmGroupType_AlarmConditionInstance_Placeholder_OnDelay,16527,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_OffDelay,16528,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_FirstInGroupFlag,16529,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_FirstInGroup,16530,Object +AlarmGroupType_AlarmConditionInstance_Placeholder_ReAlarmTime,16531,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_ReAlarmRepeatCount,16532,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_Silence,16533,Method +AlarmGroupType_AlarmConditionInstance_Placeholder_Suppress,16534,Method +PublishSubscribeType_ConnectionName_Placeholder_AddWriterGroup,16535,Method +LimitAlarmType_ConditionSubClassId,16536,Variable +LimitAlarmType_ConditionSubClassName,16537,Variable +LimitAlarmType_OutOfServiceState,16538,Variable +LimitAlarmType_OutOfServiceState_Id,16539,Variable +LimitAlarmType_OutOfServiceState_Name,16540,Variable +LimitAlarmType_OutOfServiceState_Number,16541,Variable +LimitAlarmType_OutOfServiceState_EffectiveDisplayName,16542,Variable +LimitAlarmType_OutOfServiceState_TransitionTime,16543,Variable +LimitAlarmType_OutOfServiceState_EffectiveTransitionTime,16544,Variable +LimitAlarmType_OutOfServiceState_TrueState,16545,Variable +LimitAlarmType_OutOfServiceState_FalseState,16546,Variable +LimitAlarmType_SilenceState,16547,Variable +LimitAlarmType_SilenceState_Id,16548,Variable +LimitAlarmType_SilenceState_Name,16549,Variable +LimitAlarmType_SilenceState_Number,16550,Variable +LimitAlarmType_SilenceState_EffectiveDisplayName,16551,Variable +LimitAlarmType_SilenceState_TransitionTime,16552,Variable +LimitAlarmType_SilenceState_EffectiveTransitionTime,16553,Variable +LimitAlarmType_SilenceState_TrueState,16554,Variable +LimitAlarmType_SilenceState_FalseState,16555,Variable +LimitAlarmType_AudibleEnabled,16556,Variable +LimitAlarmType_AudibleSound,16557,Variable +PublishSubscribeType_ConnectionName_Placeholder_AddWriterGroup_InputArguments,16558,Variable +PublishSubscribeType_ConnectionName_Placeholder_AddWriterGroup_OutputArguments,16559,Variable +PublishSubscribeType_ConnectionName_Placeholder_AddReaderGroup,16560,Method +PublishSubscribeType_ConnectionName_Placeholder_AddReaderGroup_InputArguments,16561,Variable +LimitAlarmType_OnDelay,16562,Variable +LimitAlarmType_OffDelay,16563,Variable +LimitAlarmType_FirstInGroupFlag,16564,Variable +LimitAlarmType_FirstInGroup,16565,Object +LimitAlarmType_AlarmGroup_Placeholder,16566,Object +LimitAlarmType_ReAlarmTime,16567,Variable +LimitAlarmType_ReAlarmRepeatCount,16568,Variable +LimitAlarmType_Silence,16569,Method +LimitAlarmType_Suppress,16570,Method +PublishSubscribeType_ConnectionName_Placeholder_AddReaderGroup_OutputArguments,16571,Variable +LimitAlarmType_BaseHighHighLimit,16572,Variable +LimitAlarmType_BaseHighLimit,16573,Variable +LimitAlarmType_BaseLowLimit,16574,Variable +LimitAlarmType_BaseLowLowLimit,16575,Variable +ExclusiveLimitAlarmType_ConditionSubClassId,16576,Variable +ExclusiveLimitAlarmType_ConditionSubClassName,16577,Variable +ExclusiveLimitAlarmType_OutOfServiceState,16578,Variable +ExclusiveLimitAlarmType_OutOfServiceState_Id,16579,Variable +ExclusiveLimitAlarmType_OutOfServiceState_Name,16580,Variable +ExclusiveLimitAlarmType_OutOfServiceState_Number,16581,Variable +ExclusiveLimitAlarmType_OutOfServiceState_EffectiveDisplayName,16582,Variable +ExclusiveLimitAlarmType_OutOfServiceState_TransitionTime,16583,Variable +ExclusiveLimitAlarmType_OutOfServiceState_EffectiveTransitionTime,16584,Variable +ExclusiveLimitAlarmType_OutOfServiceState_TrueState,16585,Variable +ExclusiveLimitAlarmType_OutOfServiceState_FalseState,16586,Variable +ExclusiveLimitAlarmType_SilenceState,16587,Variable +ExclusiveLimitAlarmType_SilenceState_Id,16588,Variable +ExclusiveLimitAlarmType_SilenceState_Name,16589,Variable +ExclusiveLimitAlarmType_SilenceState_Number,16590,Variable +ExclusiveLimitAlarmType_SilenceState_EffectiveDisplayName,16591,Variable +ExclusiveLimitAlarmType_SilenceState_TransitionTime,16592,Variable +ExclusiveLimitAlarmType_SilenceState_EffectiveTransitionTime,16593,Variable +ExclusiveLimitAlarmType_SilenceState_TrueState,16594,Variable +ExclusiveLimitAlarmType_SilenceState_FalseState,16595,Variable +ExclusiveLimitAlarmType_AudibleEnabled,16596,Variable +ExclusiveLimitAlarmType_AudibleSound,16597,Variable +PublishSubscribeType_AddConnection,16598,Method +PublishSubscribeType_AddConnection_InputArguments,16599,Variable +PublishSubscribeType_AddConnection_OutputArguments,16600,Variable +PublishSubscribeType_PublishedDataSets_AddPublishedDataItemsTemplate,16601,Method +ExclusiveLimitAlarmType_OnDelay,16602,Variable +ExclusiveLimitAlarmType_OffDelay,16603,Variable +ExclusiveLimitAlarmType_FirstInGroupFlag,16604,Variable +ExclusiveLimitAlarmType_FirstInGroup,16605,Object +ExclusiveLimitAlarmType_AlarmGroup_Placeholder,16606,Object +ExclusiveLimitAlarmType_ReAlarmTime,16607,Variable +ExclusiveLimitAlarmType_ReAlarmRepeatCount,16608,Variable +ExclusiveLimitAlarmType_Silence,16609,Method +ExclusiveLimitAlarmType_Suppress,16610,Method +PublishSubscribeType_PublishedDataSets_AddPublishedDataItemsTemplate_InputArguments,16611,Variable +ExclusiveLimitAlarmType_BaseHighHighLimit,16612,Variable +ExclusiveLimitAlarmType_BaseHighLimit,16613,Variable +ExclusiveLimitAlarmType_BaseLowLimit,16614,Variable +ExclusiveLimitAlarmType_BaseLowLowLimit,16615,Variable +NonExclusiveLimitAlarmType_ConditionSubClassId,16616,Variable +NonExclusiveLimitAlarmType_ConditionSubClassName,16617,Variable +NonExclusiveLimitAlarmType_OutOfServiceState,16618,Variable +NonExclusiveLimitAlarmType_OutOfServiceState_Id,16619,Variable +NonExclusiveLimitAlarmType_OutOfServiceState_Name,16620,Variable +NonExclusiveLimitAlarmType_OutOfServiceState_Number,16621,Variable +NonExclusiveLimitAlarmType_OutOfServiceState_EffectiveDisplayName,16622,Variable +NonExclusiveLimitAlarmType_OutOfServiceState_TransitionTime,16623,Variable +NonExclusiveLimitAlarmType_OutOfServiceState_EffectiveTransitionTime,16624,Variable +NonExclusiveLimitAlarmType_OutOfServiceState_TrueState,16625,Variable +NonExclusiveLimitAlarmType_OutOfServiceState_FalseState,16626,Variable +NonExclusiveLimitAlarmType_SilenceState,16627,Variable +NonExclusiveLimitAlarmType_SilenceState_Id,16628,Variable +NonExclusiveLimitAlarmType_SilenceState_Name,16629,Variable +NonExclusiveLimitAlarmType_SilenceState_Number,16630,Variable +NonExclusiveLimitAlarmType_SilenceState_EffectiveDisplayName,16631,Variable +NonExclusiveLimitAlarmType_SilenceState_TransitionTime,16632,Variable +NonExclusiveLimitAlarmType_SilenceState_EffectiveTransitionTime,16633,Variable +NonExclusiveLimitAlarmType_SilenceState_TrueState,16634,Variable +NonExclusiveLimitAlarmType_SilenceState_FalseState,16635,Variable +NonExclusiveLimitAlarmType_AudibleEnabled,16636,Variable +NonExclusiveLimitAlarmType_AudibleSound,16637,Variable +PublishSubscribeType_PublishedDataSets_AddPublishedDataItemsTemplate_OutputArguments,16638,Variable +PublishSubscribeType_PublishedDataSets_AddPublishedEventsTemplate,16639,Method +PublishSubscribeType_PublishedDataSets_AddPublishedEventsTemplate_InputArguments,16640,Variable +PublishSubscribeType_PublishedDataSets_AddPublishedEventsTemplate_OutputArguments,16641,Variable +NonExclusiveLimitAlarmType_OnDelay,16642,Variable +NonExclusiveLimitAlarmType_OffDelay,16643,Variable +NonExclusiveLimitAlarmType_FirstInGroupFlag,16644,Variable +NonExclusiveLimitAlarmType_FirstInGroup,16645,Object +NonExclusiveLimitAlarmType_AlarmGroup_Placeholder,16646,Object +NonExclusiveLimitAlarmType_ReAlarmTime,16647,Variable +NonExclusiveLimitAlarmType_ReAlarmRepeatCount,16648,Variable +NonExclusiveLimitAlarmType_Silence,16649,Method +NonExclusiveLimitAlarmType_Suppress,16650,Method +PublishSubscribeType_PublishedDataSets_AddDataSetFolder,16651,Method +NonExclusiveLimitAlarmType_BaseHighHighLimit,16652,Variable +NonExclusiveLimitAlarmType_BaseHighLimit,16653,Variable +NonExclusiveLimitAlarmType_BaseLowLimit,16654,Variable +NonExclusiveLimitAlarmType_BaseLowLowLimit,16655,Variable +NonExclusiveLevelAlarmType_ConditionSubClassId,16656,Variable +NonExclusiveLevelAlarmType_ConditionSubClassName,16657,Variable +NonExclusiveLevelAlarmType_OutOfServiceState,16658,Variable +NonExclusiveLevelAlarmType_OutOfServiceState_Id,16659,Variable +NonExclusiveLevelAlarmType_OutOfServiceState_Name,16660,Variable +NonExclusiveLevelAlarmType_OutOfServiceState_Number,16661,Variable +NonExclusiveLevelAlarmType_OutOfServiceState_EffectiveDisplayName,16662,Variable +NonExclusiveLevelAlarmType_OutOfServiceState_TransitionTime,16663,Variable +NonExclusiveLevelAlarmType_OutOfServiceState_EffectiveTransitionTime,16664,Variable +NonExclusiveLevelAlarmType_OutOfServiceState_TrueState,16665,Variable +NonExclusiveLevelAlarmType_OutOfServiceState_FalseState,16666,Variable +NonExclusiveLevelAlarmType_SilenceState,16667,Variable +NonExclusiveLevelAlarmType_SilenceState_Id,16668,Variable +NonExclusiveLevelAlarmType_SilenceState_Name,16669,Variable +NonExclusiveLevelAlarmType_SilenceState_Number,16670,Variable +NonExclusiveLevelAlarmType_SilenceState_EffectiveDisplayName,16671,Variable +NonExclusiveLevelAlarmType_SilenceState_TransitionTime,16672,Variable +NonExclusiveLevelAlarmType_SilenceState_EffectiveTransitionTime,16673,Variable +NonExclusiveLevelAlarmType_SilenceState_TrueState,16674,Variable +NonExclusiveLevelAlarmType_SilenceState_FalseState,16675,Variable +NonExclusiveLevelAlarmType_AudibleEnabled,16676,Variable +NonExclusiveLevelAlarmType_AudibleSound,16677,Variable +PublishSubscribeType_PublishedDataSets_AddDataSetFolder_InputArguments,16678,Variable +PublishSubscribeType_PublishedDataSets_AddDataSetFolder_OutputArguments,16679,Variable +PublishSubscribeType_PublishedDataSets_RemoveDataSetFolder,16680,Method +PublishSubscribeType_PublishedDataSets_RemoveDataSetFolder_InputArguments,16681,Variable +NonExclusiveLevelAlarmType_OnDelay,16682,Variable +NonExclusiveLevelAlarmType_OffDelay,16683,Variable +NonExclusiveLevelAlarmType_FirstInGroupFlag,16684,Variable +NonExclusiveLevelAlarmType_FirstInGroup,16685,Object +NonExclusiveLevelAlarmType_AlarmGroup_Placeholder,16686,Object +NonExclusiveLevelAlarmType_ReAlarmTime,16687,Variable +NonExclusiveLevelAlarmType_ReAlarmRepeatCount,16688,Variable +NonExclusiveLevelAlarmType_Silence,16689,Method +NonExclusiveLevelAlarmType_Suppress,16690,Method +AddConnectionMethodType,16691,Method +NonExclusiveLevelAlarmType_BaseHighHighLimit,16692,Variable +NonExclusiveLevelAlarmType_BaseHighLimit,16693,Variable +NonExclusiveLevelAlarmType_BaseLowLimit,16694,Variable +NonExclusiveLevelAlarmType_BaseLowLowLimit,16695,Variable +ExclusiveLevelAlarmType_ConditionSubClassId,16696,Variable +ExclusiveLevelAlarmType_ConditionSubClassName,16697,Variable +ExclusiveLevelAlarmType_OutOfServiceState,16698,Variable +ExclusiveLevelAlarmType_OutOfServiceState_Id,16699,Variable +ExclusiveLevelAlarmType_OutOfServiceState_Name,16700,Variable +ExclusiveLevelAlarmType_OutOfServiceState_Number,16701,Variable +ExclusiveLevelAlarmType_OutOfServiceState_EffectiveDisplayName,16702,Variable +ExclusiveLevelAlarmType_OutOfServiceState_TransitionTime,16703,Variable +ExclusiveLevelAlarmType_OutOfServiceState_EffectiveTransitionTime,16704,Variable +ExclusiveLevelAlarmType_OutOfServiceState_TrueState,16705,Variable +ExclusiveLevelAlarmType_OutOfServiceState_FalseState,16706,Variable +ExclusiveLevelAlarmType_SilenceState,16707,Variable +ExclusiveLevelAlarmType_SilenceState_Id,16708,Variable +ExclusiveLevelAlarmType_SilenceState_Name,16709,Variable +ExclusiveLevelAlarmType_SilenceState_Number,16710,Variable +ExclusiveLevelAlarmType_SilenceState_EffectiveDisplayName,16711,Variable +ExclusiveLevelAlarmType_SilenceState_TransitionTime,16712,Variable +ExclusiveLevelAlarmType_SilenceState_EffectiveTransitionTime,16713,Variable +ExclusiveLevelAlarmType_SilenceState_TrueState,16714,Variable +ExclusiveLevelAlarmType_SilenceState_FalseState,16715,Variable +ExclusiveLevelAlarmType_AudibleEnabled,16716,Variable +ExclusiveLevelAlarmType_AudibleSound,16717,Variable +AddConnectionMethodType_InputArguments,16718,Variable +AddConnectionMethodType_OutputArguments,16719,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_DataSetWriterId,16720,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_DataSetFieldContentMask,16721,Variable +ExclusiveLevelAlarmType_OnDelay,16722,Variable +ExclusiveLevelAlarmType_OffDelay,16723,Variable +ExclusiveLevelAlarmType_FirstInGroupFlag,16724,Variable +ExclusiveLevelAlarmType_FirstInGroup,16725,Object +ExclusiveLevelAlarmType_AlarmGroup_Placeholder,16726,Object +ExclusiveLevelAlarmType_ReAlarmTime,16727,Variable +ExclusiveLevelAlarmType_ReAlarmRepeatCount,16728,Variable +ExclusiveLevelAlarmType_Silence,16729,Method +ExclusiveLevelAlarmType_Suppress,16730,Method +PublishedDataSetType_DataSetWriterName_Placeholder_KeyFrameCount,16731,Variable +ExclusiveLevelAlarmType_BaseHighHighLimit,16732,Variable +ExclusiveLevelAlarmType_BaseHighLimit,16733,Variable +ExclusiveLevelAlarmType_BaseLowLimit,16734,Variable +ExclusiveLevelAlarmType_BaseLowLowLimit,16735,Variable +NonExclusiveDeviationAlarmType_ConditionSubClassId,16736,Variable +NonExclusiveDeviationAlarmType_ConditionSubClassName,16737,Variable +NonExclusiveDeviationAlarmType_OutOfServiceState,16738,Variable +NonExclusiveDeviationAlarmType_OutOfServiceState_Id,16739,Variable +NonExclusiveDeviationAlarmType_OutOfServiceState_Name,16740,Variable +NonExclusiveDeviationAlarmType_OutOfServiceState_Number,16741,Variable +NonExclusiveDeviationAlarmType_OutOfServiceState_EffectiveDisplayName,16742,Variable +NonExclusiveDeviationAlarmType_OutOfServiceState_TransitionTime,16743,Variable +NonExclusiveDeviationAlarmType_OutOfServiceState_EffectiveTransitionTime,16744,Variable +NonExclusiveDeviationAlarmType_OutOfServiceState_TrueState,16745,Variable +NonExclusiveDeviationAlarmType_OutOfServiceState_FalseState,16746,Variable +NonExclusiveDeviationAlarmType_SilenceState,16747,Variable +NonExclusiveDeviationAlarmType_SilenceState_Id,16748,Variable +NonExclusiveDeviationAlarmType_SilenceState_Name,16749,Variable +NonExclusiveDeviationAlarmType_SilenceState_Number,16750,Variable +NonExclusiveDeviationAlarmType_SilenceState_EffectiveDisplayName,16751,Variable +NonExclusiveDeviationAlarmType_SilenceState_TransitionTime,16752,Variable +NonExclusiveDeviationAlarmType_SilenceState_EffectiveTransitionTime,16753,Variable +NonExclusiveDeviationAlarmType_SilenceState_TrueState,16754,Variable +NonExclusiveDeviationAlarmType_SilenceState_FalseState,16755,Variable +NonExclusiveDeviationAlarmType_AudibleEnabled,16756,Variable +NonExclusiveDeviationAlarmType_AudibleSound,16757,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_MessageSettings,16758,Object +PublishedDataSetType_DataSetClassId,16759,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_DataSetWriterId,16760,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_DataSetFieldContentMask,16761,Variable +NonExclusiveDeviationAlarmType_OnDelay,16762,Variable +NonExclusiveDeviationAlarmType_OffDelay,16763,Variable +NonExclusiveDeviationAlarmType_FirstInGroupFlag,16764,Variable +NonExclusiveDeviationAlarmType_FirstInGroup,16765,Object +NonExclusiveDeviationAlarmType_AlarmGroup_Placeholder,16766,Object +NonExclusiveDeviationAlarmType_ReAlarmTime,16767,Variable +NonExclusiveDeviationAlarmType_ReAlarmRepeatCount,16768,Variable +NonExclusiveDeviationAlarmType_Silence,16769,Method +NonExclusiveDeviationAlarmType_Suppress,16770,Method +PublishedDataItemsType_DataSetWriterName_Placeholder_KeyFrameCount,16771,Variable +NonExclusiveDeviationAlarmType_BaseHighHighLimit,16772,Variable +NonExclusiveDeviationAlarmType_BaseHighLimit,16773,Variable +NonExclusiveDeviationAlarmType_BaseLowLimit,16774,Variable +NonExclusiveDeviationAlarmType_BaseLowLowLimit,16775,Variable +NonExclusiveDeviationAlarmType_BaseSetpointNode,16776,Variable +ExclusiveDeviationAlarmType_ConditionSubClassId,16777,Variable +ExclusiveDeviationAlarmType_ConditionSubClassName,16778,Variable +ExclusiveDeviationAlarmType_OutOfServiceState,16779,Variable +ExclusiveDeviationAlarmType_OutOfServiceState_Id,16780,Variable +ExclusiveDeviationAlarmType_OutOfServiceState_Name,16781,Variable +ExclusiveDeviationAlarmType_OutOfServiceState_Number,16782,Variable +ExclusiveDeviationAlarmType_OutOfServiceState_EffectiveDisplayName,16783,Variable +ExclusiveDeviationAlarmType_OutOfServiceState_TransitionTime,16784,Variable +ExclusiveDeviationAlarmType_OutOfServiceState_EffectiveTransitionTime,16785,Variable +ExclusiveDeviationAlarmType_OutOfServiceState_TrueState,16786,Variable +ExclusiveDeviationAlarmType_OutOfServiceState_FalseState,16787,Variable +ExclusiveDeviationAlarmType_SilenceState,16788,Variable +ExclusiveDeviationAlarmType_SilenceState_Id,16789,Variable +ExclusiveDeviationAlarmType_SilenceState_Name,16790,Variable +ExclusiveDeviationAlarmType_SilenceState_Number,16791,Variable +ExclusiveDeviationAlarmType_SilenceState_EffectiveDisplayName,16792,Variable +ExclusiveDeviationAlarmType_SilenceState_TransitionTime,16793,Variable +ExclusiveDeviationAlarmType_SilenceState_EffectiveTransitionTime,16794,Variable +ExclusiveDeviationAlarmType_SilenceState_TrueState,16795,Variable +ExclusiveDeviationAlarmType_SilenceState_FalseState,16796,Variable +ExclusiveDeviationAlarmType_AudibleEnabled,16797,Variable +ExclusiveDeviationAlarmType_AudibleSound,16798,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_MessageSettings,16799,Object +PublishedDataItemsType_DataSetClassId,16800,Variable +PublishedEventsType_DataSetWriterName_Placeholder_DataSetWriterId,16801,Variable +PublishedEventsType_DataSetWriterName_Placeholder_DataSetFieldContentMask,16802,Variable +ExclusiveDeviationAlarmType_OnDelay,16803,Variable +ExclusiveDeviationAlarmType_OffDelay,16804,Variable +ExclusiveDeviationAlarmType_FirstInGroupFlag,16805,Variable +ExclusiveDeviationAlarmType_FirstInGroup,16806,Object +ExclusiveDeviationAlarmType_AlarmGroup_Placeholder,16807,Object +ExclusiveDeviationAlarmType_ReAlarmTime,16808,Variable +ExclusiveDeviationAlarmType_ReAlarmRepeatCount,16809,Variable +ExclusiveDeviationAlarmType_Silence,16810,Method +ExclusiveDeviationAlarmType_Suppress,16811,Method +PublishedEventsType_DataSetWriterName_Placeholder_KeyFrameCount,16812,Variable +ExclusiveDeviationAlarmType_BaseHighHighLimit,16813,Variable +ExclusiveDeviationAlarmType_BaseHighLimit,16814,Variable +ExclusiveDeviationAlarmType_BaseLowLimit,16815,Variable +ExclusiveDeviationAlarmType_BaseLowLowLimit,16816,Variable +ExclusiveDeviationAlarmType_BaseSetpointNode,16817,Variable +NonExclusiveRateOfChangeAlarmType_ConditionSubClassId,16818,Variable +NonExclusiveRateOfChangeAlarmType_ConditionSubClassName,16819,Variable +NonExclusiveRateOfChangeAlarmType_OutOfServiceState,16820,Variable +NonExclusiveRateOfChangeAlarmType_OutOfServiceState_Id,16821,Variable +NonExclusiveRateOfChangeAlarmType_OutOfServiceState_Name,16822,Variable +NonExclusiveRateOfChangeAlarmType_OutOfServiceState_Number,16823,Variable +NonExclusiveRateOfChangeAlarmType_OutOfServiceState_EffectiveDisplayName,16824,Variable +NonExclusiveRateOfChangeAlarmType_OutOfServiceState_TransitionTime,16825,Variable +NonExclusiveRateOfChangeAlarmType_OutOfServiceState_EffectiveTransitionTime,16826,Variable +NonExclusiveRateOfChangeAlarmType_OutOfServiceState_TrueState,16827,Variable +NonExclusiveRateOfChangeAlarmType_OutOfServiceState_FalseState,16828,Variable +NonExclusiveRateOfChangeAlarmType_SilenceState,16829,Variable +NonExclusiveRateOfChangeAlarmType_SilenceState_Id,16830,Variable +NonExclusiveRateOfChangeAlarmType_SilenceState_Name,16831,Variable +NonExclusiveRateOfChangeAlarmType_SilenceState_Number,16832,Variable +NonExclusiveRateOfChangeAlarmType_SilenceState_EffectiveDisplayName,16833,Variable +NonExclusiveRateOfChangeAlarmType_SilenceState_TransitionTime,16834,Variable +NonExclusiveRateOfChangeAlarmType_SilenceState_EffectiveTransitionTime,16835,Variable +NonExclusiveRateOfChangeAlarmType_SilenceState_TrueState,16836,Variable +NonExclusiveRateOfChangeAlarmType_SilenceState_FalseState,16837,Variable +NonExclusiveRateOfChangeAlarmType_AudibleEnabled,16838,Variable +NonExclusiveRateOfChangeAlarmType_AudibleSound,16839,Variable +PublishedEventsType_DataSetWriterName_Placeholder_MessageSettings,16840,Object +PublishedEventsType_DataSetClassId,16841,Variable +DataSetFolderType_DataSetFolderName_Placeholder_AddPublishedDataItemsTemplate,16842,Method +DataSetFolderType_DataSetFolderName_Placeholder_AddPublishedDataItemsTemplate_InputArguments,16843,Variable +NonExclusiveRateOfChangeAlarmType_OnDelay,16844,Variable +NonExclusiveRateOfChangeAlarmType_OffDelay,16845,Variable +NonExclusiveRateOfChangeAlarmType_FirstInGroupFlag,16846,Variable +NonExclusiveRateOfChangeAlarmType_FirstInGroup,16847,Object +NonExclusiveRateOfChangeAlarmType_AlarmGroup_Placeholder,16848,Object +NonExclusiveRateOfChangeAlarmType_ReAlarmTime,16849,Variable +NonExclusiveRateOfChangeAlarmType_ReAlarmRepeatCount,16850,Variable +NonExclusiveRateOfChangeAlarmType_Silence,16851,Method +NonExclusiveRateOfChangeAlarmType_Suppress,16852,Method +DataSetFolderType_DataSetFolderName_Placeholder_AddPublishedDataItemsTemplate_OutputArguments,16853,Variable +NonExclusiveRateOfChangeAlarmType_BaseHighHighLimit,16854,Variable +NonExclusiveRateOfChangeAlarmType_BaseHighLimit,16855,Variable +NonExclusiveRateOfChangeAlarmType_BaseLowLimit,16856,Variable +NonExclusiveRateOfChangeAlarmType_BaseLowLowLimit,16857,Variable +NonExclusiveRateOfChangeAlarmType_EngineeringUnits,16858,Variable +ExclusiveRateOfChangeAlarmType_ConditionSubClassId,16859,Variable +ExclusiveRateOfChangeAlarmType_ConditionSubClassName,16860,Variable +ExclusiveRateOfChangeAlarmType_OutOfServiceState,16861,Variable +ExclusiveRateOfChangeAlarmType_OutOfServiceState_Id,16862,Variable +ExclusiveRateOfChangeAlarmType_OutOfServiceState_Name,16863,Variable +ExclusiveRateOfChangeAlarmType_OutOfServiceState_Number,16864,Variable +ExclusiveRateOfChangeAlarmType_OutOfServiceState_EffectiveDisplayName,16865,Variable +ExclusiveRateOfChangeAlarmType_OutOfServiceState_TransitionTime,16866,Variable +ExclusiveRateOfChangeAlarmType_OutOfServiceState_EffectiveTransitionTime,16867,Variable +ExclusiveRateOfChangeAlarmType_OutOfServiceState_TrueState,16868,Variable +ExclusiveRateOfChangeAlarmType_OutOfServiceState_FalseState,16869,Variable +ExclusiveRateOfChangeAlarmType_SilenceState,16870,Variable +ExclusiveRateOfChangeAlarmType_SilenceState_Id,16871,Variable +ExclusiveRateOfChangeAlarmType_SilenceState_Name,16872,Variable +ExclusiveRateOfChangeAlarmType_SilenceState_Number,16873,Variable +ExclusiveRateOfChangeAlarmType_SilenceState_EffectiveDisplayName,16874,Variable +ExclusiveRateOfChangeAlarmType_SilenceState_TransitionTime,16875,Variable +ExclusiveRateOfChangeAlarmType_SilenceState_EffectiveTransitionTime,16876,Variable +ExclusiveRateOfChangeAlarmType_SilenceState_TrueState,16877,Variable +ExclusiveRateOfChangeAlarmType_SilenceState_FalseState,16878,Variable +ExclusiveRateOfChangeAlarmType_AudibleEnabled,16879,Variable +ExclusiveRateOfChangeAlarmType_AudibleSound,16880,Variable +DataSetFolderType_DataSetFolderName_Placeholder_AddPublishedEventsTemplate,16881,Method +DataSetFolderType_DataSetFolderName_Placeholder_AddPublishedEventsTemplate_InputArguments,16882,Variable +DataSetFolderType_DataSetFolderName_Placeholder_AddPublishedEventsTemplate_OutputArguments,16883,Variable +DataSetFolderType_DataSetFolderName_Placeholder_AddDataSetFolder,16884,Method +ExclusiveRateOfChangeAlarmType_OnDelay,16885,Variable +ExclusiveRateOfChangeAlarmType_OffDelay,16886,Variable +ExclusiveRateOfChangeAlarmType_FirstInGroupFlag,16887,Variable +ExclusiveRateOfChangeAlarmType_FirstInGroup,16888,Object +ExclusiveRateOfChangeAlarmType_AlarmGroup_Placeholder,16889,Object +ExclusiveRateOfChangeAlarmType_ReAlarmTime,16890,Variable +ExclusiveRateOfChangeAlarmType_ReAlarmRepeatCount,16891,Variable +ExclusiveRateOfChangeAlarmType_Silence,16892,Method +ExclusiveRateOfChangeAlarmType_Suppress,16893,Method +DataSetFolderType_DataSetFolderName_Placeholder_AddDataSetFolder_InputArguments,16894,Variable +ExclusiveRateOfChangeAlarmType_BaseHighHighLimit,16895,Variable +ExclusiveRateOfChangeAlarmType_BaseHighLimit,16896,Variable +ExclusiveRateOfChangeAlarmType_BaseLowLimit,16897,Variable +ExclusiveRateOfChangeAlarmType_BaseLowLowLimit,16898,Variable +ExclusiveRateOfChangeAlarmType_EngineeringUnits,16899,Variable +DiscreteAlarmType_ConditionSubClassId,16900,Variable +DiscreteAlarmType_ConditionSubClassName,16901,Variable +DiscreteAlarmType_OutOfServiceState,16902,Variable +DiscreteAlarmType_OutOfServiceState_Id,16903,Variable +DiscreteAlarmType_OutOfServiceState_Name,16904,Variable +DiscreteAlarmType_OutOfServiceState_Number,16905,Variable +DiscreteAlarmType_OutOfServiceState_EffectiveDisplayName,16906,Variable +DiscreteAlarmType_OutOfServiceState_TransitionTime,16907,Variable +DiscreteAlarmType_OutOfServiceState_EffectiveTransitionTime,16908,Variable +DiscreteAlarmType_OutOfServiceState_TrueState,16909,Variable +DiscreteAlarmType_OutOfServiceState_FalseState,16910,Variable +DiscreteAlarmType_SilenceState,16911,Variable +DiscreteAlarmType_SilenceState_Id,16912,Variable +DiscreteAlarmType_SilenceState_Name,16913,Variable +DiscreteAlarmType_SilenceState_Number,16914,Variable +DiscreteAlarmType_SilenceState_EffectiveDisplayName,16915,Variable +DiscreteAlarmType_SilenceState_TransitionTime,16916,Variable +DiscreteAlarmType_SilenceState_EffectiveTransitionTime,16917,Variable +DiscreteAlarmType_SilenceState_TrueState,16918,Variable +DiscreteAlarmType_SilenceState_FalseState,16919,Variable +DiscreteAlarmType_AudibleEnabled,16920,Variable +DiscreteAlarmType_AudibleSound,16921,Variable +DataSetFolderType_DataSetFolderName_Placeholder_AddDataSetFolder_OutputArguments,16922,Variable +DataSetFolderType_DataSetFolderName_Placeholder_RemoveDataSetFolder,16923,Method +DataSetFolderType_DataSetFolderName_Placeholder_RemoveDataSetFolder_InputArguments,16924,Variable +DataSetFolderType_PublishedDataSetName_Placeholder_DataSetClassId,16925,Variable +DiscreteAlarmType_OnDelay,16926,Variable +DiscreteAlarmType_OffDelay,16927,Variable +DiscreteAlarmType_FirstInGroupFlag,16928,Variable +DiscreteAlarmType_FirstInGroup,16929,Object +DiscreteAlarmType_AlarmGroup_Placeholder,16930,Object +DiscreteAlarmType_ReAlarmTime,16931,Variable +DiscreteAlarmType_ReAlarmRepeatCount,16932,Variable +DiscreteAlarmType_Silence,16933,Method +DiscreteAlarmType_Suppress,16934,Method +DataSetFolderType_AddPublishedDataItemsTemplate,16935,Method +OffNormalAlarmType_ConditionSubClassId,16936,Variable +OffNormalAlarmType_ConditionSubClassName,16937,Variable +OffNormalAlarmType_OutOfServiceState,16938,Variable +OffNormalAlarmType_OutOfServiceState_Id,16939,Variable +OffNormalAlarmType_OutOfServiceState_Name,16940,Variable +OffNormalAlarmType_OutOfServiceState_Number,16941,Variable +OffNormalAlarmType_OutOfServiceState_EffectiveDisplayName,16942,Variable +OffNormalAlarmType_OutOfServiceState_TransitionTime,16943,Variable +OffNormalAlarmType_OutOfServiceState_EffectiveTransitionTime,16944,Variable +OffNormalAlarmType_OutOfServiceState_TrueState,16945,Variable +OffNormalAlarmType_OutOfServiceState_FalseState,16946,Variable +OffNormalAlarmType_SilenceState,16947,Variable +OffNormalAlarmType_SilenceState_Id,16948,Variable +OffNormalAlarmType_SilenceState_Name,16949,Variable +OffNormalAlarmType_SilenceState_Number,16950,Variable +OffNormalAlarmType_SilenceState_EffectiveDisplayName,16951,Variable +OffNormalAlarmType_SilenceState_TransitionTime,16952,Variable +OffNormalAlarmType_SilenceState_EffectiveTransitionTime,16953,Variable +OffNormalAlarmType_SilenceState_TrueState,16954,Variable +OffNormalAlarmType_SilenceState_FalseState,16955,Variable +OffNormalAlarmType_AudibleEnabled,16956,Variable +OffNormalAlarmType_AudibleSound,16957,Variable +DataSetFolderType_AddPublishedDataItemsTemplate_InputArguments,16958,Variable +DataSetFolderType_AddPublishedDataItemsTemplate_OutputArguments,16959,Variable +DataSetFolderType_AddPublishedEventsTemplate,16960,Method +DataSetFolderType_AddPublishedEventsTemplate_InputArguments,16961,Variable +OffNormalAlarmType_OnDelay,16962,Variable +OffNormalAlarmType_OffDelay,16963,Variable +OffNormalAlarmType_FirstInGroupFlag,16964,Variable +OffNormalAlarmType_FirstInGroup,16965,Object +OffNormalAlarmType_AlarmGroup_Placeholder,16966,Object +OffNormalAlarmType_ReAlarmTime,16967,Variable +OffNormalAlarmType_ReAlarmRepeatCount,16968,Variable +OffNormalAlarmType_Silence,16969,Method +OffNormalAlarmType_Suppress,16970,Method +DataSetFolderType_AddPublishedEventsTemplate_OutputArguments,16971,Variable +SystemOffNormalAlarmType_ConditionSubClassId,16972,Variable +SystemOffNormalAlarmType_ConditionSubClassName,16973,Variable +SystemOffNormalAlarmType_OutOfServiceState,16974,Variable +SystemOffNormalAlarmType_OutOfServiceState_Id,16975,Variable +SystemOffNormalAlarmType_OutOfServiceState_Name,16976,Variable +SystemOffNormalAlarmType_OutOfServiceState_Number,16977,Variable +SystemOffNormalAlarmType_OutOfServiceState_EffectiveDisplayName,16978,Variable +SystemOffNormalAlarmType_OutOfServiceState_TransitionTime,16979,Variable +SystemOffNormalAlarmType_OutOfServiceState_EffectiveTransitionTime,16980,Variable +SystemOffNormalAlarmType_OutOfServiceState_TrueState,16981,Variable +SystemOffNormalAlarmType_OutOfServiceState_FalseState,16982,Variable +SystemOffNormalAlarmType_SilenceState,16983,Variable +SystemOffNormalAlarmType_SilenceState_Id,16984,Variable +SystemOffNormalAlarmType_SilenceState_Name,16985,Variable +SystemOffNormalAlarmType_SilenceState_Number,16986,Variable +SystemOffNormalAlarmType_SilenceState_EffectiveDisplayName,16987,Variable +SystemOffNormalAlarmType_SilenceState_TransitionTime,16988,Variable +SystemOffNormalAlarmType_SilenceState_EffectiveTransitionTime,16989,Variable +SystemOffNormalAlarmType_SilenceState_TrueState,16990,Variable +SystemOffNormalAlarmType_SilenceState_FalseState,16991,Variable +SystemOffNormalAlarmType_AudibleEnabled,16992,Variable +SystemOffNormalAlarmType_AudibleSound,16993,Variable +DataSetFolderType_AddDataSetFolder,16994,Method +DataSetFolderType_AddDataSetFolder_InputArguments,16995,Variable +DataSetFolderType_AddDataSetFolder_OutputArguments,16996,Variable +DataSetFolderType_RemoveDataSetFolder,16997,Method +SystemOffNormalAlarmType_OnDelay,16998,Variable +SystemOffNormalAlarmType_OffDelay,16999,Variable +SystemOffNormalAlarmType_FirstInGroupFlag,17000,Variable +SystemOffNormalAlarmType_FirstInGroup,17001,Object +SystemOffNormalAlarmType_AlarmGroup_Placeholder,17002,Object +SystemOffNormalAlarmType_ReAlarmTime,17003,Variable +SystemOffNormalAlarmType_ReAlarmRepeatCount,17004,Variable +SystemOffNormalAlarmType_Silence,17005,Method +SystemOffNormalAlarmType_Suppress,17006,Method +DataSetFolderType_RemoveDataSetFolder_InputArguments,17007,Variable +TripAlarmType_ConditionSubClassId,17008,Variable +TripAlarmType_ConditionSubClassName,17009,Variable +TripAlarmType_OutOfServiceState,17010,Variable +TripAlarmType_OutOfServiceState_Id,17011,Variable +TripAlarmType_OutOfServiceState_Name,17012,Variable +TripAlarmType_OutOfServiceState_Number,17013,Variable +TripAlarmType_OutOfServiceState_EffectiveDisplayName,17014,Variable +TripAlarmType_OutOfServiceState_TransitionTime,17015,Variable +TripAlarmType_OutOfServiceState_EffectiveTransitionTime,17016,Variable +TripAlarmType_OutOfServiceState_TrueState,17017,Variable +TripAlarmType_OutOfServiceState_FalseState,17018,Variable +TripAlarmType_SilenceState,17019,Variable +TripAlarmType_SilenceState_Id,17020,Variable +TripAlarmType_SilenceState_Name,17021,Variable +TripAlarmType_SilenceState_Number,17022,Variable +TripAlarmType_SilenceState_EffectiveDisplayName,17023,Variable +TripAlarmType_SilenceState_TransitionTime,17024,Variable +TripAlarmType_SilenceState_EffectiveTransitionTime,17025,Variable +TripAlarmType_SilenceState_TrueState,17026,Variable +TripAlarmType_SilenceState_FalseState,17027,Variable +TripAlarmType_AudibleEnabled,17028,Variable +TripAlarmType_AudibleSound,17029,Variable +AddPublishedDataItemsTemplateMethodType,17030,Method +AddPublishedDataItemsTemplateMethodType_InputArguments,17031,Variable +AddPublishedDataItemsTemplateMethodType_OutputArguments,17032,Variable +AddPublishedEventsTemplateMethodType,17033,Method +TripAlarmType_OnDelay,17034,Variable +TripAlarmType_OffDelay,17035,Variable +TripAlarmType_FirstInGroupFlag,17036,Variable +TripAlarmType_FirstInGroup,17037,Object +TripAlarmType_AlarmGroup_Placeholder,17038,Object +TripAlarmType_ReAlarmTime,17039,Variable +TripAlarmType_ReAlarmRepeatCount,17040,Variable +TripAlarmType_Silence,17041,Method +TripAlarmType_Suppress,17042,Method +AddPublishedEventsTemplateMethodType_InputArguments,17043,Variable +CertificateExpirationAlarmType_ConditionSubClassId,17044,Variable +CertificateExpirationAlarmType_ConditionSubClassName,17045,Variable +CertificateExpirationAlarmType_OutOfServiceState,17046,Variable +CertificateExpirationAlarmType_OutOfServiceState_Id,17047,Variable +CertificateExpirationAlarmType_OutOfServiceState_Name,17048,Variable +CertificateExpirationAlarmType_OutOfServiceState_Number,17049,Variable +CertificateExpirationAlarmType_OutOfServiceState_EffectiveDisplayName,17050,Variable +CertificateExpirationAlarmType_OutOfServiceState_TransitionTime,17051,Variable +CertificateExpirationAlarmType_OutOfServiceState_EffectiveTransitionTime,17052,Variable +CertificateExpirationAlarmType_OutOfServiceState_TrueState,17053,Variable +CertificateExpirationAlarmType_OutOfServiceState_FalseState,17054,Variable +CertificateExpirationAlarmType_SilenceState,17055,Variable +CertificateExpirationAlarmType_SilenceState_Id,17056,Variable +CertificateExpirationAlarmType_SilenceState_Name,17057,Variable +CertificateExpirationAlarmType_SilenceState_Number,17058,Variable +CertificateExpirationAlarmType_SilenceState_EffectiveDisplayName,17059,Variable +CertificateExpirationAlarmType_SilenceState_TransitionTime,17060,Variable +CertificateExpirationAlarmType_SilenceState_EffectiveTransitionTime,17061,Variable +CertificateExpirationAlarmType_SilenceState_TrueState,17062,Variable +CertificateExpirationAlarmType_SilenceState_FalseState,17063,Variable +CertificateExpirationAlarmType_AudibleEnabled,17064,Variable +CertificateExpirationAlarmType_AudibleSound,17065,Variable +AddPublishedEventsTemplateMethodType_OutputArguments,17066,Variable +AddDataSetFolderMethodType,17067,Method +AddDataSetFolderMethodType_InputArguments,17068,Variable +AddDataSetFolderMethodType_OutputArguments,17069,Variable +CertificateExpirationAlarmType_OnDelay,17070,Variable +CertificateExpirationAlarmType_OffDelay,17071,Variable +CertificateExpirationAlarmType_FirstInGroupFlag,17072,Variable +CertificateExpirationAlarmType_FirstInGroup,17073,Object +CertificateExpirationAlarmType_AlarmGroup_Placeholder,17074,Object +CertificateExpirationAlarmType_ReAlarmTime,17075,Variable +CertificateExpirationAlarmType_ReAlarmRepeatCount,17076,Variable +CertificateExpirationAlarmType_Silence,17077,Method +CertificateExpirationAlarmType_Suppress,17078,Method +RemoveDataSetFolderMethodType,17079,Method +DiscrepancyAlarmType,17080,ObjectType +DiscrepancyAlarmType_EventId,17081,Variable +DiscrepancyAlarmType_EventType,17082,Variable +DiscrepancyAlarmType_SourceNode,17083,Variable +DiscrepancyAlarmType_SourceName,17084,Variable +DiscrepancyAlarmType_Time,17085,Variable +DiscrepancyAlarmType_ReceiveTime,17086,Variable +DiscrepancyAlarmType_LocalTime,17087,Variable +DiscrepancyAlarmType_Message,17088,Variable +DiscrepancyAlarmType_Severity,17089,Variable +DiscrepancyAlarmType_ConditionClassId,17090,Variable +DiscrepancyAlarmType_ConditionClassName,17091,Variable +DiscrepancyAlarmType_ConditionSubClassId,17092,Variable +DiscrepancyAlarmType_ConditionSubClassName,17093,Variable +DiscrepancyAlarmType_ConditionName,17094,Variable +DiscrepancyAlarmType_BranchId,17095,Variable +DiscrepancyAlarmType_Retain,17096,Variable +DiscrepancyAlarmType_EnabledState,17097,Variable +DiscrepancyAlarmType_EnabledState_Id,17098,Variable +DiscrepancyAlarmType_EnabledState_Name,17099,Variable +DiscrepancyAlarmType_EnabledState_Number,17100,Variable +DiscrepancyAlarmType_EnabledState_EffectiveDisplayName,17101,Variable +DiscrepancyAlarmType_EnabledState_TransitionTime,17102,Variable +DiscrepancyAlarmType_EnabledState_EffectiveTransitionTime,17103,Variable +DiscrepancyAlarmType_EnabledState_TrueState,17104,Variable +DiscrepancyAlarmType_EnabledState_FalseState,17105,Variable +DiscrepancyAlarmType_Quality,17106,Variable +DiscrepancyAlarmType_Quality_SourceTimestamp,17107,Variable +DiscrepancyAlarmType_LastSeverity,17108,Variable +DiscrepancyAlarmType_LastSeverity_SourceTimestamp,17109,Variable +DiscrepancyAlarmType_Comment,17110,Variable +DiscrepancyAlarmType_Comment_SourceTimestamp,17111,Variable +DiscrepancyAlarmType_ClientUserId,17112,Variable +DiscrepancyAlarmType_Disable,17113,Method +DiscrepancyAlarmType_Enable,17114,Method +DiscrepancyAlarmType_AddComment,17115,Method +DiscrepancyAlarmType_AddComment_InputArguments,17116,Variable +DiscrepancyAlarmType_ConditionRefresh,17117,Method +DiscrepancyAlarmType_ConditionRefresh_InputArguments,17118,Variable +DiscrepancyAlarmType_ConditionRefresh2,17119,Method +DiscrepancyAlarmType_ConditionRefresh2_InputArguments,17120,Variable +DiscrepancyAlarmType_AckedState,17121,Variable +DiscrepancyAlarmType_AckedState_Id,17122,Variable +DiscrepancyAlarmType_AckedState_Name,17123,Variable +DiscrepancyAlarmType_AckedState_Number,17124,Variable +DiscrepancyAlarmType_AckedState_EffectiveDisplayName,17125,Variable +DiscrepancyAlarmType_AckedState_TransitionTime,17126,Variable +DiscrepancyAlarmType_AckedState_EffectiveTransitionTime,17127,Variable +DiscrepancyAlarmType_AckedState_TrueState,17128,Variable +DiscrepancyAlarmType_AckedState_FalseState,17129,Variable +DiscrepancyAlarmType_ConfirmedState,17130,Variable +DiscrepancyAlarmType_ConfirmedState_Id,17131,Variable +DiscrepancyAlarmType_ConfirmedState_Name,17132,Variable +DiscrepancyAlarmType_ConfirmedState_Number,17133,Variable +DiscrepancyAlarmType_ConfirmedState_EffectiveDisplayName,17134,Variable +DiscrepancyAlarmType_ConfirmedState_TransitionTime,17135,Variable +DiscrepancyAlarmType_ConfirmedState_EffectiveTransitionTime,17136,Variable +DiscrepancyAlarmType_ConfirmedState_TrueState,17137,Variable +DiscrepancyAlarmType_ConfirmedState_FalseState,17138,Variable +DiscrepancyAlarmType_Acknowledge,17139,Method +DiscrepancyAlarmType_Acknowledge_InputArguments,17140,Variable +DiscrepancyAlarmType_Confirm,17141,Method +DiscrepancyAlarmType_Confirm_InputArguments,17142,Variable +DiscrepancyAlarmType_ActiveState,17143,Variable +DiscrepancyAlarmType_ActiveState_Id,17144,Variable +DiscrepancyAlarmType_ActiveState_Name,17145,Variable +DiscrepancyAlarmType_ActiveState_Number,17146,Variable +DiscrepancyAlarmType_ActiveState_EffectiveDisplayName,17147,Variable +DiscrepancyAlarmType_ActiveState_TransitionTime,17148,Variable +DiscrepancyAlarmType_ActiveState_EffectiveTransitionTime,17149,Variable +DiscrepancyAlarmType_ActiveState_TrueState,17150,Variable +DiscrepancyAlarmType_ActiveState_FalseState,17151,Variable +DiscrepancyAlarmType_InputNode,17152,Variable +DiscrepancyAlarmType_SuppressedState,17153,Variable +DiscrepancyAlarmType_SuppressedState_Id,17154,Variable +DiscrepancyAlarmType_SuppressedState_Name,17155,Variable +DiscrepancyAlarmType_SuppressedState_Number,17156,Variable +DiscrepancyAlarmType_SuppressedState_EffectiveDisplayName,17157,Variable +DiscrepancyAlarmType_SuppressedState_TransitionTime,17158,Variable +DiscrepancyAlarmType_SuppressedState_EffectiveTransitionTime,17159,Variable +DiscrepancyAlarmType_SuppressedState_TrueState,17160,Variable +DiscrepancyAlarmType_SuppressedState_FalseState,17161,Variable +DiscrepancyAlarmType_OutOfServiceState,17162,Variable +DiscrepancyAlarmType_OutOfServiceState_Id,17163,Variable +DiscrepancyAlarmType_OutOfServiceState_Name,17164,Variable +DiscrepancyAlarmType_OutOfServiceState_Number,17165,Variable +DiscrepancyAlarmType_OutOfServiceState_EffectiveDisplayName,17166,Variable +DiscrepancyAlarmType_OutOfServiceState_TransitionTime,17167,Variable +DiscrepancyAlarmType_OutOfServiceState_EffectiveTransitionTime,17168,Variable +DiscrepancyAlarmType_OutOfServiceState_TrueState,17169,Variable +DiscrepancyAlarmType_OutOfServiceState_FalseState,17170,Variable +DiscrepancyAlarmType_SilenceState,17171,Variable +DiscrepancyAlarmType_SilenceState_Id,17172,Variable +DiscrepancyAlarmType_SilenceState_Name,17173,Variable +DiscrepancyAlarmType_SilenceState_Number,17174,Variable +DiscrepancyAlarmType_SilenceState_EffectiveDisplayName,17175,Variable +DiscrepancyAlarmType_SilenceState_TransitionTime,17176,Variable +DiscrepancyAlarmType_SilenceState_EffectiveTransitionTime,17177,Variable +DiscrepancyAlarmType_SilenceState_TrueState,17178,Variable +DiscrepancyAlarmType_SilenceState_FalseState,17179,Variable +DiscrepancyAlarmType_ShelvingState,17180,Object +DiscrepancyAlarmType_ShelvingState_CurrentState,17181,Variable +DiscrepancyAlarmType_ShelvingState_CurrentState_Id,17182,Variable +DiscrepancyAlarmType_ShelvingState_CurrentState_Name,17183,Variable +DiscrepancyAlarmType_ShelvingState_CurrentState_Number,17184,Variable +DiscrepancyAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,17185,Variable +DiscrepancyAlarmType_ShelvingState_LastTransition,17186,Variable +DiscrepancyAlarmType_ShelvingState_LastTransition_Id,17187,Variable +DiscrepancyAlarmType_ShelvingState_LastTransition_Name,17188,Variable +DiscrepancyAlarmType_ShelvingState_LastTransition_Number,17189,Variable +DiscrepancyAlarmType_ShelvingState_LastTransition_TransitionTime,17190,Variable +DiscrepancyAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,17191,Variable +DiscrepancyAlarmType_ShelvingState_UnshelveTime,17192,Variable +DiscrepancyAlarmType_ShelvingState_Unshelve,17193,Method +DiscrepancyAlarmType_ShelvingState_OneShotShelve,17194,Method +DiscrepancyAlarmType_ShelvingState_TimedShelve,17195,Method +DiscrepancyAlarmType_ShelvingState_TimedShelve_InputArguments,17196,Variable +DiscrepancyAlarmType_SuppressedOrShelved,17197,Variable +DiscrepancyAlarmType_MaxTimeShelved,17198,Variable +DiscrepancyAlarmType_AudibleEnabled,17199,Variable +DiscrepancyAlarmType_AudibleSound,17200,Variable +RemoveDataSetFolderMethodType_InputArguments,17201,Variable +PubSubConnectionType_Address_NetworkInterface,17202,Variable +PubSubConnectionType_TransportSettings,17203,Object +PubSubConnectionType_WriterGroupName_Placeholder_MaxNetworkMessageSize,17204,Variable +DiscrepancyAlarmType_OnDelay,17205,Variable +DiscrepancyAlarmType_OffDelay,17206,Variable +DiscrepancyAlarmType_FirstInGroupFlag,17207,Variable +DiscrepancyAlarmType_FirstInGroup,17208,Object +DiscrepancyAlarmType_AlarmGroup_Placeholder,17209,Object +DiscrepancyAlarmType_ReAlarmTime,17210,Variable +DiscrepancyAlarmType_ReAlarmRepeatCount,17211,Variable +DiscrepancyAlarmType_Silence,17212,Method +DiscrepancyAlarmType_Suppress,17213,Method +PubSubConnectionType_WriterGroupName_Placeholder_WriterGroupId,17214,Variable +DiscrepancyAlarmType_TargetValueNode,17215,Variable +DiscrepancyAlarmType_ExpectedTime,17216,Variable +DiscrepancyAlarmType_Tolerance,17217,Variable +SafetyConditionClassType,17218,ObjectType +HighlyManagedAlarmConditionClassType,17219,ObjectType +TrainingConditionClassType,17220,ObjectType +TestingConditionClassType,17221,ObjectType +AuditConditionCommentEventType_ConditionEventId,17222,Variable +AuditConditionAcknowledgeEventType_ConditionEventId,17223,Variable +AuditConditionConfirmEventType_ConditionEventId,17224,Variable +AuditConditionSuppressEventType,17225,ObjectType +AuditConditionSuppressEventType_EventId,17226,Variable +AuditConditionSuppressEventType_EventType,17227,Variable +AuditConditionSuppressEventType_SourceNode,17228,Variable +AuditConditionSuppressEventType_SourceName,17229,Variable +AuditConditionSuppressEventType_Time,17230,Variable +AuditConditionSuppressEventType_ReceiveTime,17231,Variable +AuditConditionSuppressEventType_LocalTime,17232,Variable +AuditConditionSuppressEventType_Message,17233,Variable +AuditConditionSuppressEventType_Severity,17234,Variable +AuditConditionSuppressEventType_ActionTimeStamp,17235,Variable +AuditConditionSuppressEventType_Status,17236,Variable +AuditConditionSuppressEventType_ServerId,17237,Variable +AuditConditionSuppressEventType_ClientAuditEntryId,17238,Variable +AuditConditionSuppressEventType_ClientUserId,17239,Variable +AuditConditionSuppressEventType_MethodId,17240,Variable +AuditConditionSuppressEventType_InputArguments,17241,Variable +AuditConditionSilenceEventType,17242,ObjectType +AuditConditionSilenceEventType_EventId,17243,Variable +AuditConditionSilenceEventType_EventType,17244,Variable +AuditConditionSilenceEventType_SourceNode,17245,Variable +AuditConditionSilenceEventType_SourceName,17246,Variable +AuditConditionSilenceEventType_Time,17247,Variable +AuditConditionSilenceEventType_ReceiveTime,17248,Variable +AuditConditionSilenceEventType_LocalTime,17249,Variable +AuditConditionSilenceEventType_Message,17250,Variable +AuditConditionSilenceEventType_Severity,17251,Variable +AuditConditionSilenceEventType_ActionTimeStamp,17252,Variable +AuditConditionSilenceEventType_Status,17253,Variable +AuditConditionSilenceEventType_ServerId,17254,Variable +AuditConditionSilenceEventType_ClientAuditEntryId,17255,Variable +AuditConditionSilenceEventType_ClientUserId,17256,Variable +AuditConditionSilenceEventType_MethodId,17257,Variable +AuditConditionSilenceEventType_InputArguments,17258,Variable +AuditConditionOutOfServiceEventType,17259,ObjectType +AuditConditionOutOfServiceEventType_EventId,17260,Variable +AuditConditionOutOfServiceEventType_EventType,17261,Variable +AuditConditionOutOfServiceEventType_SourceNode,17262,Variable +AuditConditionOutOfServiceEventType_SourceName,17263,Variable +AuditConditionOutOfServiceEventType_Time,17264,Variable +AuditConditionOutOfServiceEventType_ReceiveTime,17265,Variable +AuditConditionOutOfServiceEventType_LocalTime,17266,Variable +AuditConditionOutOfServiceEventType_Message,17267,Variable +AuditConditionOutOfServiceEventType_Severity,17268,Variable +AuditConditionOutOfServiceEventType_ActionTimeStamp,17269,Variable +AuditConditionOutOfServiceEventType_Status,17270,Variable +AuditConditionOutOfServiceEventType_ServerId,17271,Variable +AuditConditionOutOfServiceEventType_ClientAuditEntryId,17272,Variable +AuditConditionOutOfServiceEventType_ClientUserId,17273,Variable +AuditConditionOutOfServiceEventType_MethodId,17274,Variable +AuditConditionOutOfServiceEventType_InputArguments,17275,Variable +HasEffectDisable,17276,ReferenceType +AlarmRateVariableType,17277,VariableType +AlarmRateVariableType_Rate,17278,Variable +AlarmMetricsType,17279,ObjectType +AlarmMetricsType_AlarmCount,17280,Variable +AlarmMetricsType_MaximumActiveState,17281,Variable +AlarmMetricsType_MaximumUnAck,17282,Variable +AlarmMetricsType_MaximumReAlarmCount,17283,Variable +AlarmMetricsType_CurrentAlarmRate,17284,Variable +AlarmMetricsType_CurrentAlarmRate_Rate,17285,Variable +AlarmMetricsType_MaximumAlarmRate,17286,Variable +AlarmMetricsType_MaximumAlarmRate_Rate,17287,Variable +AlarmMetricsType_AverageAlarmRate,17288,Variable +AlarmMetricsType_AverageAlarmRate_Rate,17289,Variable +PubSubConnectionType_WriterGroupName_Placeholder_TransportSettings,17290,Object +PubSubConnectionType_WriterGroupName_Placeholder_MessageSettings,17291,Object +PublishSubscribeType_ConnectionName_Placeholder_TransportProfileUri,17292,Variable +PubSubConnectionType_WriterGroupName_Placeholder_AddDataSetWriter,17293,Method +PubSubConnectionType_WriterGroupName_Placeholder_AddDataSetWriter_InputArguments,17294,Variable +PublishSubscribeType_ConnectionName_Placeholder_TransportProfileUri_RestrictToList,17295,Variable +PublishSubscribeType_SetSecurityKeys,17296,Method +PublishSubscribeType_SetSecurityKeys_InputArguments,17297,Variable +SetSecurityKeysMethodType,17298,Method +SetSecurityKeysMethodType_InputArguments,17299,Variable +PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_DiagnosticsLevel,17300,Variable +PubSubConnectionType_WriterGroupName_Placeholder_AddDataSetWriter_OutputArguments,17301,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_MaxNetworkMessageSize,17302,Variable +PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_TimeFirstChange,17303,Variable +PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByParent,17304,Variable +PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Active,17305,Variable +PubSubConnectionType_TransportProfileUri,17306,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_TransportSettings,17307,Object +PubSubConnectionType_ReaderGroupName_Placeholder_MessageSettings,17308,Object +PubSubConnectionType_TransportProfileUri_RestrictToList,17309,Variable +PubSubConnectionType_WriterGroupName_Placeholder,17310,Object +PubSubConnectionType_WriterGroupName_Placeholder_SecurityMode,17311,Variable +PubSubConnectionType_WriterGroupName_Placeholder_SecurityGroupId,17312,Variable +PubSubConnectionType_WriterGroupName_Placeholder_SecurityKeyServices,17313,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Status,17314,Object +PubSubConnectionType_WriterGroupName_Placeholder_Status_State,17315,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Status_Enable,17316,Method +PubSubConnectionType_WriterGroupName_Placeholder_Status_Disable,17317,Method +PubSubConnectionType_WriterGroupName_Placeholder_PublishingInterval,17318,Variable +PubSubConnectionType_WriterGroupName_Placeholder_KeepAliveTime,17319,Variable +PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Classification,17320,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Priority,17321,Variable +PubSubConnectionType_WriterGroupName_Placeholder_LocaleIds,17322,Variable +PubSubConnectionType_WriterGroupName_Placeholder_RemoveDataSetWriter,17323,Method +PubSubConnectionType_WriterGroupName_Placeholder_RemoveDataSetWriter_InputArguments,17324,Variable +PubSubConnectionType_ReaderGroupName_Placeholder,17325,Object +PubSubConnectionType_ReaderGroupName_Placeholder_SecurityMode,17326,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_SecurityGroupId,17327,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_SecurityKeyServices,17328,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Status,17329,Object +PubSubConnectionType_ReaderGroupName_Placeholder_Status_State,17330,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Status_Enable,17331,Method +PubSubConnectionType_ReaderGroupName_Placeholder_Status_Disable,17332,Method +PubSubConnectionType_ReaderGroupName_Placeholder_RemoveDataSetReader,17333,Method +PubSubConnectionType_ReaderGroupName_Placeholder_RemoveDataSetReader_InputArguments,17334,Variable +PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByParent_DiagnosticsLevel,17335,Variable +PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByParent_TimeFirstChange,17336,Variable +PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalFromError,17337,Variable +PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Active,17338,Variable +PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Classification,17339,Variable +PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalFromError_DiagnosticsLevel,17340,Variable +PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalFromError_TimeFirstChange,17341,Variable +PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StatePausedByParent,17342,Variable +PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StatePausedByParent_Active,17343,Variable +PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StatePausedByParent_Classification,17344,Variable +PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StatePausedByParent_DiagnosticsLevel,17345,Variable +PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StatePausedByParent_TimeFirstChange,17346,Variable +PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateDisabledByMethod,17347,Variable +PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Active,17348,Variable +PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Classification,17349,Variable +PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_DiagnosticsLevel,17350,Variable +PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_TimeFirstChange,17351,Variable +PublishSubscribe_ConnectionName_Placeholder_Diagnostics_LiveValues,17352,Object +PublishSubscribe_ConnectionName_Placeholder_Diagnostics_LiveValues_ResolvedAddress,17353,Variable +PublishSubscribe_ConnectionName_Placeholder_Diagnostics_LiveValues_ResolvedAddress_DiagnosticsLevel,17354,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_AddDataSetReader,17355,Method +PublishSubscribe_ConnectionName_Placeholder_AddWriterGroup,17356,Method +PublishSubscribe_ConnectionName_Placeholder_AddWriterGroup_InputArguments,17357,Variable +PublishSubscribe_ConnectionName_Placeholder_AddWriterGroup_OutputArguments,17358,Variable +PublishSubscribe_ConnectionName_Placeholder_AddReaderGroup,17359,Method +PublishSubscribe_ConnectionName_Placeholder_AddReaderGroup_InputArguments,17360,Variable +PublishSubscribe_ConnectionName_Placeholder_AddReaderGroup_OutputArguments,17361,Variable +PublishSubscribe_ConnectionName_Placeholder_RemoveGroup,17362,Method +PublishSubscribe_ConnectionName_Placeholder_RemoveGroup_InputArguments,17363,Variable +PublishSubscribe_SetSecurityKeys,17364,Method +PublishSubscribe_SetSecurityKeys_InputArguments,17365,Variable +PublishSubscribe_AddConnection,17366,Method +PublishSubscribe_AddConnection_InputArguments,17367,Variable +PublishSubscribe_AddConnection_OutputArguments,17368,Variable +PublishSubscribe_RemoveConnection,17369,Method +PublishSubscribe_RemoveConnection_InputArguments,17370,Variable +PublishSubscribe_PublishedDataSets,17371,Object +PublishSubscribe_PublishedDataSets_AddPublishedDataItems,17372,Method +PublishSubscribe_PublishedDataSets_AddPublishedDataItems_InputArguments,17373,Variable +PublishSubscribe_PublishedDataSets_AddPublishedDataItems_OutputArguments,17374,Variable +PublishSubscribe_PublishedDataSets_AddPublishedEvents,17375,Method +PublishSubscribe_PublishedDataSets_AddPublishedEvents_InputArguments,17376,Variable +PublishSubscribe_PublishedDataSets_AddPublishedEvents_OutputArguments,17377,Variable +PublishSubscribe_PublishedDataSets_AddPublishedDataItemsTemplate,17378,Method +PublishSubscribe_PublishedDataSets_AddPublishedDataItemsTemplate_InputArguments,17379,Variable +PublishSubscribe_PublishedDataSets_AddPublishedDataItemsTemplate_OutputArguments,17380,Variable +PublishSubscribe_PublishedDataSets_AddPublishedEventsTemplate,17381,Method +PublishSubscribe_PublishedDataSets_AddPublishedEventsTemplate_InputArguments,17382,Variable +PublishSubscribe_PublishedDataSets_AddPublishedEventsTemplate_OutputArguments,17383,Variable +PublishSubscribe_PublishedDataSets_RemovePublishedDataSet,17384,Method +PublishSubscribe_PublishedDataSets_RemovePublishedDataSet_InputArguments,17385,Variable +DataSetReaderType_CreateTargetVariables,17386,Method +DataSetReaderType_CreateTargetVariables_InputArguments,17387,Variable +DataSetReaderType_CreateTargetVariables_OutputArguments,17388,Variable +DataSetReaderType_CreateDataSetMirror,17389,Method +DataSetReaderType_CreateDataSetMirror_InputArguments,17390,Variable +DataSetReaderType_CreateDataSetMirror_OutputArguments,17391,Variable +DataSetReaderTypeCreateTargetVariablesMethodType,17392,Method +DataSetReaderTypeCreateTargetVariablesMethodType_InputArguments,17393,Variable +DataSetReaderTypeCreateTargetVariablesMethodType_OutputArguments,17394,Variable +DataSetReaderTypeCreateDataSetMirrorMethodType,17395,Method +DataSetReaderTypeCreateDataSetMirrorMethodType_InputArguments,17396,Variable +DataSetReaderTypeCreateDataSetMirrorMethodType_OutputArguments,17397,Variable +PublishSubscribe_PublishedDataSets_AddDataSetFolder,17398,Method +PubSubConnectionType_ReaderGroupName_Placeholder_AddDataSetReader_InputArguments,17399,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_AddDataSetReader_OutputArguments,17400,Variable +PublishSubscribe_PublishedDataSets_AddDataSetFolder_InputArguments,17401,Variable +PublishSubscribe_PublishedDataSets_AddDataSetFolder_OutputArguments,17402,Variable +PublishSubscribe_PublishedDataSets_RemoveDataSetFolder,17403,Method +PublishSubscribe_PublishedDataSets_RemoveDataSetFolder_InputArguments,17404,Variable +PublishSubscribe_Status,17405,Object +PublishSubscribe_Status_State,17406,Variable +PublishSubscribe_Status_Enable,17407,Method +PublishSubscribe_Status_Disable,17408,Method +PublishSubscribe_Diagnostics,17409,Object +PublishSubscribe_Diagnostics_DiagnosticsLevel,17410,Variable +PublishSubscribe_Diagnostics_TotalInformation,17411,Variable +PublishSubscribe_Diagnostics_TotalInformation_Active,17412,Variable +PublishSubscribe_Diagnostics_TotalInformation_Classification,17413,Variable +PublishSubscribe_Diagnostics_TotalInformation_DiagnosticsLevel,17414,Variable +PublishSubscribe_Diagnostics_TotalInformation_TimeFirstChange,17415,Variable +PublishSubscribe_Diagnostics_TotalError,17416,Variable +PublishSubscribe_Diagnostics_TotalError_Active,17417,Variable +PublishSubscribe_Diagnostics_TotalError_Classification,17418,Variable +PublishSubscribe_Diagnostics_TotalError_DiagnosticsLevel,17419,Variable +PublishSubscribe_Diagnostics_TotalError_TimeFirstChange,17420,Variable +PublishSubscribe_Diagnostics_Reset,17421,Method +PublishSubscribe_Diagnostics_SubError,17422,Variable +PublishSubscribe_Diagnostics_Counters,17423,Object +PublishSubscribe_Diagnostics_Counters_StateError,17424,Variable +PublishSubscribe_Diagnostics_Counters_StateError_Active,17425,Variable +PublishSubscribe_Diagnostics_Counters_StateError_Classification,17426,Variable +PubSubConnectionType_AddWriterGroup,17427,Method +PubSubConnectionType_AddWriterGroup_InputArguments,17428,Variable +PublishSubscribe_Diagnostics_Counters_StateError_DiagnosticsLevel,17429,Variable +PublishSubscribe_Diagnostics_Counters_StateError_TimeFirstChange,17430,Variable +PublishSubscribe_Diagnostics_Counters_StateOperationalByMethod,17431,Variable +PublishSubscribe_Diagnostics_Counters_StateOperationalByMethod_Active,17432,Variable +PublishSubscribe_Diagnostics_Counters_StateOperationalByMethod_Classification,17433,Variable +PublishSubscribe_Diagnostics_Counters_StateOperationalByMethod_DiagnosticsLevel,17434,Variable +PublishSubscribe_Diagnostics_Counters_StateOperationalByMethod_TimeFirstChange,17435,Variable +PublishSubscribe_Diagnostics_Counters_StateOperationalByParent,17436,Variable +PublishSubscribe_Diagnostics_Counters_StateOperationalByParent_Active,17437,Variable +PublishSubscribe_Diagnostics_Counters_StateOperationalByParent_Classification,17438,Variable +PublishSubscribe_Diagnostics_Counters_StateOperationalByParent_DiagnosticsLevel,17439,Variable +PublishSubscribe_Diagnostics_Counters_StateOperationalByParent_TimeFirstChange,17440,Variable +PublishSubscribe_Diagnostics_Counters_StateOperationalFromError,17441,Variable +PublishSubscribe_Diagnostics_Counters_StateOperationalFromError_Active,17442,Variable +PublishSubscribe_Diagnostics_Counters_StateOperationalFromError_Classification,17443,Variable +PublishSubscribe_Diagnostics_Counters_StateOperationalFromError_DiagnosticsLevel,17444,Variable +PublishSubscribe_Diagnostics_Counters_StateOperationalFromError_TimeFirstChange,17445,Variable +PublishSubscribe_Diagnostics_Counters_StatePausedByParent,17446,Variable +PublishSubscribe_Diagnostics_Counters_StatePausedByParent_Active,17447,Variable +PublishSubscribe_Diagnostics_Counters_StatePausedByParent_Classification,17448,Variable +PublishSubscribe_Diagnostics_Counters_StatePausedByParent_DiagnosticsLevel,17449,Variable +PublishSubscribe_Diagnostics_Counters_StatePausedByParent_TimeFirstChange,17450,Variable +PublishSubscribe_Diagnostics_Counters_StateDisabledByMethod,17451,Variable +PublishSubscribe_Diagnostics_Counters_StateDisabledByMethod_Active,17452,Variable +PublishSubscribe_Diagnostics_Counters_StateDisabledByMethod_Classification,17453,Variable +PublishSubscribe_Diagnostics_Counters_StateDisabledByMethod_DiagnosticsLevel,17454,Variable +PublishSubscribe_Diagnostics_Counters_StateDisabledByMethod_TimeFirstChange,17455,Variable +PubSubConnectionType_AddWriterGroup_OutputArguments,17456,Variable +PublishSubscribe_Diagnostics_LiveValues,17457,Object +PublishSubscribe_Diagnostics_LiveValues_ConfiguredDataSetWriters,17458,Variable +PublishSubscribe_Diagnostics_LiveValues_ConfiguredDataSetWriters_DiagnosticsLevel,17459,Variable +PublishSubscribe_Diagnostics_LiveValues_ConfiguredDataSetReaders,17460,Variable +PublishSubscribe_Diagnostics_LiveValues_ConfiguredDataSetReaders_DiagnosticsLevel,17461,Variable +PublishSubscribe_Diagnostics_LiveValues_OperationalDataSetWriters,17462,Variable +PublishSubscribe_Diagnostics_LiveValues_OperationalDataSetWriters_DiagnosticsLevel,17463,Variable +PublishSubscribe_Diagnostics_LiveValues_OperationalDataSetReaders,17464,Variable +PubSubConnectionType_AddReaderGroup,17465,Method +PublishSubscribe_Diagnostics_LiveValues_OperationalDataSetReaders_DiagnosticsLevel,17466,Variable +DatagramConnectionTransportDataType,17467,DataType +DatagramConnectionTransportDataType_Encoding_DefaultBinary,17468,Object +OpcUa_BinarySchema_DatagramConnectionTransportDataType,17469,Variable +OpcUa_BinarySchema_DatagramConnectionTransportDataType_DataTypeVersion,17470,Variable +OpcUa_BinarySchema_DatagramConnectionTransportDataType_DictionaryFragment,17471,Variable +DatagramConnectionTransportDataType_Encoding_DefaultXml,17472,Object +OpcUa_XmlSchema_DatagramConnectionTransportDataType,17473,Variable +OpcUa_XmlSchema_DatagramConnectionTransportDataType_DataTypeVersion,17474,Variable +OpcUa_XmlSchema_DatagramConnectionTransportDataType_DictionaryFragment,17475,Variable +DatagramConnectionTransportDataType_Encoding_DefaultJson,17476,Object +UadpDataSetReaderMessageType_DataSetOffset,17477,Variable +PublishSubscribeType_ConnectionName_Placeholder_ConnectionProperties,17478,Variable +PublishSubscribeType_SupportedTransportProfiles,17479,Variable +PublishSubscribe_ConnectionName_Placeholder_ConnectionProperties,17480,Variable +PublishSubscribe_SupportedTransportProfiles,17481,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_DataSetWriterProperties,17482,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_DataSetWriterProperties,17483,Variable +PublishedEventsType_DataSetWriterName_Placeholder_DataSetWriterProperties,17484,Variable +PubSubConnectionType_ConnectionProperties,17485,Variable +PubSubConnectionType_WriterGroupName_Placeholder_GroupProperties,17486,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_GroupProperties,17487,Variable +PubSubGroupType_GroupProperties,17488,Variable +WriterGroupType_GroupProperties,17489,Variable +WriterGroupType_DataSetWriterName_Placeholder_DataSetWriterProperties,17490,Variable +ReaderGroupType_GroupProperties,17491,Variable +ReaderGroupType_DataSetReaderName_Placeholder_DataSetReaderProperties,17492,Variable +DataSetWriterType_DataSetWriterProperties,17493,Variable +DataSetReaderType_DataSetReaderProperties,17494,Variable +PubSubConnectionType_AddReaderGroup_InputArguments,17507,Variable +PubSubConnectionType_AddReaderGroup_OutputArguments,17508,Variable +PubSubConnectionTypeAddWriterGroupMethodType,17561,Method +GenericAttributeValue,17606,DataType +GenericAttributes,17607,DataType +GenericAttributeValue_Encoding_DefaultXml,17608,Object +GenericAttributes_Encoding_DefaultXml,17609,Object +GenericAttributeValue_Encoding_DefaultBinary,17610,Object +GenericAttributes_Encoding_DefaultBinary,17611,Object +ServerType_LocalTime,17612,Variable +PubSubConnectionTypeAddWriterGroupMethodType_InputArguments,17613,Variable +PubSubConnectionTypeAddWriterGroupMethodType_OutputArguments,17614,Variable +AuditSecurityEventType_StatusCodeId,17615,Variable +AuditChannelEventType_StatusCodeId,17616,Variable +AuditOpenSecureChannelEventType_StatusCodeId,17617,Variable +AuditSessionEventType_StatusCodeId,17618,Variable +AuditCreateSessionEventType_StatusCodeId,17619,Variable +AuditUrlMismatchEventType_StatusCodeId,17620,Variable +AuditActivateSessionEventType_StatusCodeId,17621,Variable +AuditCancelEventType_StatusCodeId,17622,Variable +AuditCertificateEventType_StatusCodeId,17623,Variable +AuditCertificateDataMismatchEventType_StatusCodeId,17624,Variable +AuditCertificateExpiredEventType_StatusCodeId,17625,Variable +AuditCertificateInvalidEventType_StatusCodeId,17626,Variable +AuditCertificateUntrustedEventType_StatusCodeId,17627,Variable +AuditCertificateRevokedEventType_StatusCodeId,17628,Variable +AuditCertificateMismatchEventType_StatusCodeId,17629,Variable +PubSubConnectionAddReaderGroupGroupMethodType,17630,Method +PubSubConnectionAddReaderGroupGroupMethodType_InputArguments,17631,Variable +SelectionListType_Selections,17632,Variable +SelectionListType_SelectionDescriptions,17633,Variable +Server_LocalTime,17634,Variable +FiniteStateMachineType_AvailableStates,17635,Variable +FiniteStateMachineType_AvailableTransitions,17636,Variable +TemporaryFileTransferType_TransferState_Placeholder_AvailableStates,17637,Variable +TemporaryFileTransferType_TransferState_Placeholder_AvailableTransitions,17638,Variable +FileTransferStateMachineType_AvailableStates,17639,Variable +FileTransferStateMachineType_AvailableTransitions,17640,Variable +RoleMappingRuleChangedAuditEventType,17641,ObjectType +RoleMappingRuleChangedAuditEventType_EventId,17642,Variable +RoleMappingRuleChangedAuditEventType_EventType,17643,Variable +RoleMappingRuleChangedAuditEventType_SourceNode,17644,Variable +RoleMappingRuleChangedAuditEventType_SourceName,17645,Variable +RoleMappingRuleChangedAuditEventType_Time,17646,Variable +RoleMappingRuleChangedAuditEventType_ReceiveTime,17647,Variable +RoleMappingRuleChangedAuditEventType_LocalTime,17648,Variable +RoleMappingRuleChangedAuditEventType_Message,17649,Variable +RoleMappingRuleChangedAuditEventType_Severity,17650,Variable +RoleMappingRuleChangedAuditEventType_ActionTimeStamp,17651,Variable +RoleMappingRuleChangedAuditEventType_Status,17652,Variable +RoleMappingRuleChangedAuditEventType_ServerId,17653,Variable +RoleMappingRuleChangedAuditEventType_ClientAuditEntryId,17654,Variable +RoleMappingRuleChangedAuditEventType_ClientUserId,17655,Variable +RoleMappingRuleChangedAuditEventType_MethodId,17656,Variable +RoleMappingRuleChangedAuditEventType_InputArguments,17657,Variable +AlarmConditionType_ShelvingState_AvailableStates,17658,Variable +AlarmConditionType_ShelvingState_AvailableTransitions,17659,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_AvailableStates,17660,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_AvailableTransitions,17661,Variable +ShelvedStateMachineType_AvailableStates,17662,Variable +ShelvedStateMachineType_AvailableTransitions,17663,Variable +LimitAlarmType_ShelvingState_AvailableStates,17664,Variable +LimitAlarmType_ShelvingState_AvailableTransitions,17665,Variable +ExclusiveLimitStateMachineType_AvailableStates,17666,Variable +ExclusiveLimitStateMachineType_AvailableTransitions,17667,Variable +ExclusiveLimitAlarmType_ShelvingState_AvailableStates,17668,Variable +ExclusiveLimitAlarmType_ShelvingState_AvailableTransitions,17669,Variable +ExclusiveLimitAlarmType_LimitState_AvailableStates,17670,Variable +ExclusiveLimitAlarmType_LimitState_AvailableTransitions,17671,Variable +NonExclusiveLimitAlarmType_ShelvingState_AvailableStates,17672,Variable +NonExclusiveLimitAlarmType_ShelvingState_AvailableTransitions,17673,Variable +NonExclusiveLevelAlarmType_ShelvingState_AvailableStates,17674,Variable +NonExclusiveLevelAlarmType_ShelvingState_AvailableTransitions,17675,Variable +ExclusiveLevelAlarmType_ShelvingState_AvailableStates,17676,Variable +ExclusiveLevelAlarmType_ShelvingState_AvailableTransitions,17677,Variable +ExclusiveLevelAlarmType_LimitState_AvailableStates,17678,Variable +ExclusiveLevelAlarmType_LimitState_AvailableTransitions,17679,Variable +NonExclusiveDeviationAlarmType_ShelvingState_AvailableStates,17680,Variable +NonExclusiveDeviationAlarmType_ShelvingState_AvailableTransitions,17681,Variable +ExclusiveDeviationAlarmType_ShelvingState_AvailableStates,17682,Variable +ExclusiveDeviationAlarmType_ShelvingState_AvailableTransitions,17683,Variable +ExclusiveDeviationAlarmType_LimitState_AvailableStates,17684,Variable +ExclusiveDeviationAlarmType_LimitState_AvailableTransitions,17685,Variable +NonExclusiveRateOfChangeAlarmType_ShelvingState_AvailableStates,17686,Variable +NonExclusiveRateOfChangeAlarmType_ShelvingState_AvailableTransitions,17687,Variable +ExclusiveRateOfChangeAlarmType_ShelvingState_AvailableStates,17688,Variable +ExclusiveRateOfChangeAlarmType_ShelvingState_AvailableTransitions,17689,Variable +ExclusiveRateOfChangeAlarmType_LimitState_AvailableStates,17690,Variable +ExclusiveRateOfChangeAlarmType_LimitState_AvailableTransitions,17691,Variable +DiscreteAlarmType_ShelvingState_AvailableStates,17692,Variable +DiscreteAlarmType_ShelvingState_AvailableTransitions,17693,Variable +OffNormalAlarmType_ShelvingState_AvailableStates,17694,Variable +OffNormalAlarmType_ShelvingState_AvailableTransitions,17695,Variable +SystemOffNormalAlarmType_ShelvingState_AvailableStates,17696,Variable +SystemOffNormalAlarmType_ShelvingState_AvailableTransitions,17697,Variable +TripAlarmType_ShelvingState_AvailableStates,17698,Variable +TripAlarmType_ShelvingState_AvailableTransitions,17699,Variable +CertificateExpirationAlarmType_ShelvingState_AvailableStates,17700,Variable +CertificateExpirationAlarmType_ShelvingState_AvailableTransitions,17701,Variable +DiscrepancyAlarmType_ShelvingState_AvailableStates,17702,Variable +DiscrepancyAlarmType_ShelvingState_AvailableTransitions,17703,Variable +ProgramStateMachineType_AvailableStates,17704,Variable +ProgramStateMachineType_AvailableTransitions,17705,Variable +PublishSubscribeType_ConnectionName_Placeholder_TransportProfileUri_Selections,17706,Variable +PublishSubscribeType_ConnectionName_Placeholder_TransportProfileUri_SelectionDescriptions,17707,Variable +PubSubConnectionType_TransportProfileUri_Selections,17710,Variable +PubSubConnectionType_TransportProfileUri_SelectionDescriptions,17711,Variable +FileDirectoryType_FileDirectoryName_Placeholder_DeleteFileSystemObject,17718,Method +FileDirectoryType_FileDirectoryName_Placeholder_DeleteFileSystemObject_InputArguments,17719,Variable +PubSubConnectionAddReaderGroupGroupMethodType_OutputArguments,17720,Variable +ConnectionTransportType,17721,ObjectType +FileSystem_FileDirectoryName_Placeholder_DeleteFileSystemObject,17722,Method +FileSystem_FileDirectoryName_Placeholder_DeleteFileSystemObject_InputArguments,17723,Variable +PubSubGroupType_MaxNetworkMessageSize,17724,Variable +WriterGroupType,17725,ObjectType +WriterGroupType_SecurityMode,17726,Variable +WriterGroupType_SecurityGroupId,17727,Variable +WriterGroupType_SecurityKeyServices,17728,Variable +WriterGroupType_MaxNetworkMessageSize,17729,Variable +WriterGroupType_Status,17730,Object +WriterGroupType_Status_State,17731,Variable +AuthorizationServices,17732,Object +AuthorizationServices_ServiceName_Placeholder,17733,Object +WriterGroupType_Status_Enable,17734,Method +WriterGroupType_Status_Disable,17735,Method +WriterGroupType_WriterGroupId,17736,Variable +WriterGroupType_PublishingInterval,17737,Variable +WriterGroupType_KeepAliveTime,17738,Variable +WriterGroupType_Priority,17739,Variable +WriterGroupType_LocaleIds,17740,Variable +WriterGroupType_TransportSettings,17741,Object +WriterGroupType_MessageSettings,17742,Object +WriterGroupType_DataSetWriterName_Placeholder,17743,Object +WriterGroupType_DataSetWriterName_Placeholder_DataSetWriterId,17744,Variable +WriterGroupType_DataSetWriterName_Placeholder_DataSetFieldContentMask,17745,Variable +WriterGroupType_DataSetWriterName_Placeholder_KeyFrameCount,17746,Variable +WriterGroupType_DataSetWriterName_Placeholder_TransportSettings,17747,Object +WriterGroupType_DataSetWriterName_Placeholder_MessageSettings,17748,Object +WriterGroupType_DataSetWriterName_Placeholder_Status,17749,Object +WriterGroupType_DataSetWriterName_Placeholder_Status_State,17750,Variable +WriterGroupType_DataSetWriterName_Placeholder_Status_Enable,17751,Method +WriterGroupType_DataSetWriterName_Placeholder_Status_Disable,17752,Method +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics,17753,Object +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_DiagnosticsLevel,17754,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation,17755,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation_Active,17756,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation_Classification,17757,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation_DiagnosticsLevel,17758,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation_TimeFirstChange,17759,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_TotalError,17760,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_TotalError_Active,17761,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_TotalError_Classification,17762,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_TotalError_DiagnosticsLevel,17763,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_TotalError_TimeFirstChange,17764,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Reset,17765,Method +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_SubError,17766,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters,17767,Object +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError,17768,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError_Active,17769,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError_Classification,17770,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError_DiagnosticsLevel,17771,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError_TimeFirstChange,17772,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod,17773,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Active,17774,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Classification,17775,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_DiagnosticsLevel,17776,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_TimeFirstChange,17777,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent,17778,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Active,17779,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Classification,17780,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent_DiagnosticsLevel,17781,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent_TimeFirstChange,17782,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError,17783,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Active,17784,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Classification,17785,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError_DiagnosticsLevel,17786,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError_TimeFirstChange,17787,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent,17788,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent_Active,17789,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent_Classification,17790,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent_DiagnosticsLevel,17791,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent_TimeFirstChange,17792,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod,17793,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Active,17794,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Classification,17795,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_DiagnosticsLevel,17796,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_TimeFirstChange,17797,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_LiveValues,17798,Object +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages,17799,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_Active,17800,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_Classification,17801,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_DiagnosticsLevel,17802,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_TimeFirstChange,17803,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MessageSequenceNumber,17804,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MessageSequenceNumber_DiagnosticsLevel,17805,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_StatusCode,17806,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_StatusCode_DiagnosticsLevel,17807,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MajorVersion,17808,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MajorVersion_DiagnosticsLevel,17809,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MinorVersion,17810,Variable +WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MinorVersion_DiagnosticsLevel,17811,Variable +WriterGroupType_Diagnostics,17812,Object +WriterGroupType_Diagnostics_DiagnosticsLevel,17813,Variable +WriterGroupType_Diagnostics_TotalInformation,17814,Variable +WriterGroupType_Diagnostics_TotalInformation_Active,17815,Variable +WriterGroupType_Diagnostics_TotalInformation_Classification,17816,Variable +WriterGroupType_Diagnostics_TotalInformation_DiagnosticsLevel,17817,Variable +WriterGroupType_Diagnostics_TotalInformation_TimeFirstChange,17818,Variable +WriterGroupType_Diagnostics_TotalError,17819,Variable +WriterGroupType_Diagnostics_TotalError_Active,17820,Variable +WriterGroupType_Diagnostics_TotalError_Classification,17821,Variable +WriterGroupType_Diagnostics_TotalError_DiagnosticsLevel,17822,Variable +WriterGroupType_Diagnostics_TotalError_TimeFirstChange,17823,Variable +WriterGroupType_Diagnostics_Reset,17824,Method +WriterGroupType_Diagnostics_SubError,17825,Variable +WriterGroupType_Diagnostics_Counters,17826,Object +WriterGroupType_Diagnostics_Counters_StateError,17827,Variable +WriterGroupType_Diagnostics_Counters_StateError_Active,17828,Variable +WriterGroupType_Diagnostics_Counters_StateError_Classification,17829,Variable +WriterGroupType_Diagnostics_Counters_StateError_DiagnosticsLevel,17830,Variable +WriterGroupType_Diagnostics_Counters_StateError_TimeFirstChange,17831,Variable +WriterGroupType_Diagnostics_Counters_StateOperationalByMethod,17832,Variable +WriterGroupType_Diagnostics_Counters_StateOperationalByMethod_Active,17833,Variable +WriterGroupType_Diagnostics_Counters_StateOperationalByMethod_Classification,17834,Variable +WriterGroupType_Diagnostics_Counters_StateOperationalByMethod_DiagnosticsLevel,17835,Variable +WriterGroupType_Diagnostics_Counters_StateOperationalByMethod_TimeFirstChange,17836,Variable +WriterGroupType_Diagnostics_Counters_StateOperationalByParent,17837,Variable +WriterGroupType_Diagnostics_Counters_StateOperationalByParent_Active,17838,Variable +WriterGroupType_Diagnostics_Counters_StateOperationalByParent_Classification,17839,Variable +WriterGroupType_Diagnostics_Counters_StateOperationalByParent_DiagnosticsLevel,17840,Variable +WriterGroupType_Diagnostics_Counters_StateOperationalByParent_TimeFirstChange,17841,Variable +WriterGroupType_Diagnostics_Counters_StateOperationalFromError,17842,Variable +WriterGroupType_Diagnostics_Counters_StateOperationalFromError_Active,17843,Variable +WriterGroupType_Diagnostics_Counters_StateOperationalFromError_Classification,17844,Variable +WriterGroupType_Diagnostics_Counters_StateOperationalFromError_DiagnosticsLevel,17845,Variable +WriterGroupType_Diagnostics_Counters_StateOperationalFromError_TimeFirstChange,17846,Variable +WriterGroupType_Diagnostics_Counters_StatePausedByParent,17847,Variable +WriterGroupType_Diagnostics_Counters_StatePausedByParent_Active,17848,Variable +WriterGroupType_Diagnostics_Counters_StatePausedByParent_Classification,17849,Variable +WriterGroupType_Diagnostics_Counters_StatePausedByParent_DiagnosticsLevel,17850,Variable +WriterGroupType_Diagnostics_Counters_StatePausedByParent_TimeFirstChange,17851,Variable +AuthorizationServiceConfigurationType,17852,ObjectType +WriterGroupType_Diagnostics_Counters_StateDisabledByMethod,17853,Variable +WriterGroupType_Diagnostics_Counters_StateDisabledByMethod_Active,17854,Variable +WriterGroupType_Diagnostics_Counters_StateDisabledByMethod_Classification,17855,Variable +WriterGroupType_Diagnostics_Counters_StateDisabledByMethod_DiagnosticsLevel,17856,Variable +WriterGroupType_Diagnostics_Counters_StateDisabledByMethod_TimeFirstChange,17857,Variable +WriterGroupType_Diagnostics_LiveValues,17858,Object +WriterGroupType_Diagnostics_Counters_SentNetworkMessages,17859,Variable +AuthorizationServiceConfigurationType_ServiceCertificate,17860,Variable +DecimalDataType,17861,DataType +DecimalDataType_Encoding_DefaultXml,17862,Object +DecimalDataType_Encoding_DefaultBinary,17863,Object +WriterGroupType_Diagnostics_Counters_SentNetworkMessages_Active,17864,Variable +AlarmConditionType_AudibleSound_ListId,17865,Variable +AlarmConditionType_AudibleSound_AgencyId,17866,Variable +AlarmConditionType_AudibleSound_VersionId,17867,Variable +AlarmConditionType_Unsuppress,17868,Method +AlarmConditionType_RemoveFromService,17869,Method +AlarmConditionType_PlaceInService,17870,Method +WriterGroupType_Diagnostics_Counters_SentNetworkMessages_Classification,17871,Variable +WriterGroupType_Diagnostics_Counters_SentNetworkMessages_DiagnosticsLevel,17872,Variable +WriterGroupType_Diagnostics_Counters_SentNetworkMessages_TimeFirstChange,17873,Variable +WriterGroupType_Diagnostics_Counters_FailedTransmissions,17874,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_Unsuppress,17875,Method +AlarmGroupType_AlarmConditionInstance_Placeholder_RemoveFromService,17876,Method +AlarmGroupType_AlarmConditionInstance_Placeholder_PlaceInService,17877,Method +WriterGroupType_Diagnostics_Counters_FailedTransmissions_Active,17878,Variable +LimitAlarmType_AudibleSound_ListId,17879,Variable +LimitAlarmType_AudibleSound_AgencyId,17880,Variable +LimitAlarmType_AudibleSound_VersionId,17881,Variable +LimitAlarmType_Unsuppress,17882,Method +LimitAlarmType_RemoveFromService,17883,Method +LimitAlarmType_PlaceInService,17884,Method +WriterGroupType_Diagnostics_Counters_FailedTransmissions_Classification,17885,Variable +ExclusiveLimitAlarmType_AudibleSound_ListId,17886,Variable +ExclusiveLimitAlarmType_AudibleSound_AgencyId,17887,Variable +ExclusiveLimitAlarmType_AudibleSound_VersionId,17888,Variable +ExclusiveLimitAlarmType_Unsuppress,17889,Method +ExclusiveLimitAlarmType_RemoveFromService,17890,Method +ExclusiveLimitAlarmType_PlaceInService,17891,Method +WriterGroupType_Diagnostics_Counters_FailedTransmissions_DiagnosticsLevel,17892,Variable +NonExclusiveLimitAlarmType_AudibleSound_ListId,17893,Variable +NonExclusiveLimitAlarmType_AudibleSound_AgencyId,17894,Variable +NonExclusiveLimitAlarmType_AudibleSound_VersionId,17895,Variable +NonExclusiveLimitAlarmType_Unsuppress,17896,Method +NonExclusiveLimitAlarmType_RemoveFromService,17897,Method +NonExclusiveLimitAlarmType_PlaceInService,17898,Method +WriterGroupType_Diagnostics_Counters_FailedTransmissions_TimeFirstChange,17899,Variable +WriterGroupType_Diagnostics_Counters_EncryptionErrors,17900,Variable +WriterGroupType_Diagnostics_Counters_EncryptionErrors_Active,17901,Variable +WriterGroupType_Diagnostics_Counters_EncryptionErrors_Classification,17902,Variable +WriterGroupType_Diagnostics_Counters_EncryptionErrors_DiagnosticsLevel,17903,Variable +NonExclusiveLevelAlarmType_RemoveFromService,17904,Method +NonExclusiveLevelAlarmType_PlaceInService,17905,Method +WriterGroupType_Diagnostics_Counters_EncryptionErrors_TimeFirstChange,17906,Variable +ExclusiveLevelAlarmType_AudibleSound_ListId,17907,Variable +ExclusiveLevelAlarmType_AudibleSound_AgencyId,17908,Variable +ExclusiveLevelAlarmType_AudibleSound_VersionId,17909,Variable +ExclusiveLevelAlarmType_Unsuppress,17910,Method +ExclusiveLevelAlarmType_RemoveFromService,17911,Method +ExclusiveLevelAlarmType_PlaceInService,17912,Method +WriterGroupType_Diagnostics_LiveValues_ConfiguredDataSetWriters,17913,Variable +NonExclusiveDeviationAlarmType_AudibleSound_ListId,17914,Variable +NonExclusiveDeviationAlarmType_AudibleSound_AgencyId,17915,Variable +NonExclusiveDeviationAlarmType_AudibleSound_VersionId,17916,Variable +NonExclusiveDeviationAlarmType_Unsuppress,17917,Method +NonExclusiveDeviationAlarmType_RemoveFromService,17918,Method +NonExclusiveDeviationAlarmType_PlaceInService,17919,Method +WriterGroupType_Diagnostics_LiveValues_ConfiguredDataSetWriters_DiagnosticsLevel,17920,Variable +NonExclusiveRateOfChangeAlarmType_AudibleSound_ListId,17921,Variable +NonExclusiveRateOfChangeAlarmType_AudibleSound_AgencyId,17922,Variable +NonExclusiveRateOfChangeAlarmType_AudibleSound_VersionId,17923,Variable +NonExclusiveRateOfChangeAlarmType_Unsuppress,17924,Method +NonExclusiveRateOfChangeAlarmType_RemoveFromService,17925,Method +NonExclusiveRateOfChangeAlarmType_PlaceInService,17926,Method +WriterGroupType_Diagnostics_LiveValues_OperationalDataSetWriters,17927,Variable +ExclusiveDeviationAlarmType_AudibleSound_ListId,17928,Variable +ExclusiveDeviationAlarmType_AudibleSound_AgencyId,17929,Variable +ExclusiveDeviationAlarmType_AudibleSound_VersionId,17930,Variable +ExclusiveDeviationAlarmType_Unsuppress,17931,Method +ExclusiveDeviationAlarmType_RemoveFromService,17932,Method +ExclusiveDeviationAlarmType_PlaceInService,17933,Method +WriterGroupType_Diagnostics_LiveValues_OperationalDataSetWriters_DiagnosticsLevel,17934,Variable +ExclusiveRateOfChangeAlarmType_AudibleSound_ListId,17935,Variable +ExclusiveRateOfChangeAlarmType_AudibleSound_AgencyId,17936,Variable +ExclusiveRateOfChangeAlarmType_AudibleSound_VersionId,17937,Variable +ExclusiveRateOfChangeAlarmType_Unsuppress,17938,Method +ExclusiveRateOfChangeAlarmType_RemoveFromService,17939,Method +ExclusiveRateOfChangeAlarmType_PlaceInService,17940,Method +WriterGroupType_Diagnostics_LiveValues_SecurityTokenID,17941,Variable +DiscreteAlarmType_AudibleSound_ListId,17942,Variable +DiscreteAlarmType_AudibleSound_AgencyId,17943,Variable +DiscreteAlarmType_AudibleSound_VersionId,17944,Variable +DiscreteAlarmType_Unsuppress,17945,Method +DiscreteAlarmType_RemoveFromService,17946,Method +DiscreteAlarmType_PlaceInService,17947,Method +WriterGroupType_Diagnostics_LiveValues_SecurityTokenID_DiagnosticsLevel,17948,Variable +OffNormalAlarmType_AudibleSound_ListId,17949,Variable +OffNormalAlarmType_AudibleSound_AgencyId,17950,Variable +OffNormalAlarmType_AudibleSound_VersionId,17951,Variable +OffNormalAlarmType_Unsuppress,17952,Method +OffNormalAlarmType_RemoveFromService,17953,Method +OffNormalAlarmType_PlaceInService,17954,Method +WriterGroupType_Diagnostics_LiveValues_TimeToNextTokenID,17955,Variable +SystemOffNormalAlarmType_AudibleSound_ListId,17956,Variable +SystemOffNormalAlarmType_AudibleSound_AgencyId,17957,Variable +SystemOffNormalAlarmType_AudibleSound_VersionId,17958,Variable +SystemOffNormalAlarmType_Unsuppress,17959,Method +SystemOffNormalAlarmType_RemoveFromService,17960,Method +SystemOffNormalAlarmType_PlaceInService,17961,Method +WriterGroupType_Diagnostics_LiveValues_TimeToNextTokenID_DiagnosticsLevel,17962,Variable +TripAlarmType_AudibleSound_ListId,17963,Variable +TripAlarmType_AudibleSound_AgencyId,17964,Variable +TripAlarmType_AudibleSound_VersionId,17965,Variable +TripAlarmType_Unsuppress,17966,Method +TripAlarmType_RemoveFromService,17967,Method +TripAlarmType_PlaceInService,17968,Method +WriterGroupType_AddDataSetWriter,17969,Method +CertificateExpirationAlarmType_AudibleSound_ListId,17970,Variable +CertificateExpirationAlarmType_AudibleSound_AgencyId,17971,Variable +CertificateExpirationAlarmType_AudibleSound_VersionId,17972,Variable +CertificateExpirationAlarmType_Unsuppress,17973,Method +CertificateExpirationAlarmType_RemoveFromService,17974,Method +CertificateExpirationAlarmType_PlaceInService,17975,Method +WriterGroupType_AddDataSetWriter_InputArguments,17976,Variable +DiscrepancyAlarmType_AudibleSound_ListId,17977,Variable +DiscrepancyAlarmType_AudibleSound_AgencyId,17978,Variable +DiscrepancyAlarmType_AudibleSound_VersionId,17979,Variable +DiscrepancyAlarmType_Unsuppress,17980,Method +DiscrepancyAlarmType_RemoveFromService,17981,Method +DiscrepancyAlarmType_PlaceInService,17982,Method +HasEffectEnable,17983,ReferenceType +HasEffectSuppressed,17984,ReferenceType +HasEffectUnsuppressed,17985,ReferenceType +AudioVariableType,17986,VariableType +WriterGroupType_AddDataSetWriter_OutputArguments,17987,Variable +AudioVariableType_ListId,17988,Variable +AudioVariableType_AgencyId,17989,Variable +AudioVariableType_VersionId,17990,Variable +AlarmMetricsType_StartTime,17991,Variable +WriterGroupType_RemoveDataSetWriter,17992,Method +WriterGroupType_RemoveDataSetWriter_InputArguments,17993,Variable +PubSubGroupTypeAddWriterrMethodType,17994,Method +PubSubGroupTypeAddWriterrMethodType_InputArguments,17995,Variable +PubSubGroupTypeAddWriterrMethodType_OutputArguments,17996,Variable +WriterGroupTransportType,17997,ObjectType +WriterGroupMessageType,17998,ObjectType +ReaderGroupType,17999,ObjectType +ReaderGroupType_SecurityMode,18000,Variable +KeyCredentialConfigurationType,18001,ObjectType +ReaderGroupType_SecurityGroupId,18002,Variable +ReaderGroupType_SecurityKeyServices,18003,Variable +KeyCredentialConfigurationType_EndpointUrls,18004,Variable +KeyCredentialConfigurationType_ServiceStatus,18005,Variable +KeyCredentialConfigurationType_UpdateCredential,18006,Method +KeyCredentialConfigurationType_UpdateCredential_InputArguments,18007,Variable +KeyCredentialConfigurationType_DeleteCredential,18008,Method +KeyCredentialUpdateMethodType,18009,Method +KeyCredentialUpdateMethodType_InputArguments,18010,Variable +KeyCredentialAuditEventType,18011,ObjectType +KeyCredentialAuditEventType_EventId,18012,Variable +KeyCredentialAuditEventType_EventType,18013,Variable +KeyCredentialAuditEventType_SourceNode,18014,Variable +KeyCredentialAuditEventType_SourceName,18015,Variable +KeyCredentialAuditEventType_Time,18016,Variable +KeyCredentialAuditEventType_ReceiveTime,18017,Variable +KeyCredentialAuditEventType_LocalTime,18018,Variable +KeyCredentialAuditEventType_Message,18019,Variable +KeyCredentialAuditEventType_Severity,18020,Variable +KeyCredentialAuditEventType_ActionTimeStamp,18021,Variable +KeyCredentialAuditEventType_Status,18022,Variable +KeyCredentialAuditEventType_ServerId,18023,Variable +KeyCredentialAuditEventType_ClientAuditEntryId,18024,Variable +KeyCredentialAuditEventType_ClientUserId,18025,Variable +KeyCredentialAuditEventType_MethodId,18026,Variable +KeyCredentialAuditEventType_InputArguments,18027,Variable +KeyCredentialAuditEventType_ResourceUri,18028,Variable +KeyCredentialUpdatedAuditEventType,18029,ObjectType +KeyCredentialUpdatedAuditEventType_EventId,18030,Variable +KeyCredentialUpdatedAuditEventType_EventType,18031,Variable +KeyCredentialUpdatedAuditEventType_SourceNode,18032,Variable +KeyCredentialUpdatedAuditEventType_SourceName,18033,Variable +KeyCredentialUpdatedAuditEventType_Time,18034,Variable +KeyCredentialUpdatedAuditEventType_ReceiveTime,18035,Variable +KeyCredentialUpdatedAuditEventType_LocalTime,18036,Variable +KeyCredentialUpdatedAuditEventType_Message,18037,Variable +KeyCredentialUpdatedAuditEventType_Severity,18038,Variable +KeyCredentialUpdatedAuditEventType_ActionTimeStamp,18039,Variable +KeyCredentialUpdatedAuditEventType_Status,18040,Variable +KeyCredentialUpdatedAuditEventType_ServerId,18041,Variable +KeyCredentialUpdatedAuditEventType_ClientAuditEntryId,18042,Variable +KeyCredentialUpdatedAuditEventType_ClientUserId,18043,Variable +KeyCredentialUpdatedAuditEventType_MethodId,18044,Variable +KeyCredentialUpdatedAuditEventType_InputArguments,18045,Variable +KeyCredentialUpdatedAuditEventType_ResourceUri,18046,Variable +KeyCredentialDeletedAuditEventType,18047,ObjectType +KeyCredentialDeletedAuditEventType_EventId,18048,Variable +KeyCredentialDeletedAuditEventType_EventType,18049,Variable +KeyCredentialDeletedAuditEventType_SourceNode,18050,Variable +KeyCredentialDeletedAuditEventType_SourceName,18051,Variable +KeyCredentialDeletedAuditEventType_Time,18052,Variable +KeyCredentialDeletedAuditEventType_ReceiveTime,18053,Variable +KeyCredentialDeletedAuditEventType_LocalTime,18054,Variable +KeyCredentialDeletedAuditEventType_Message,18055,Variable +KeyCredentialDeletedAuditEventType_Severity,18056,Variable +KeyCredentialDeletedAuditEventType_ActionTimeStamp,18057,Variable +KeyCredentialDeletedAuditEventType_Status,18058,Variable +KeyCredentialDeletedAuditEventType_ServerId,18059,Variable +KeyCredentialDeletedAuditEventType_ClientAuditEntryId,18060,Variable +KeyCredentialDeletedAuditEventType_ClientUserId,18061,Variable +KeyCredentialDeletedAuditEventType_MethodId,18062,Variable +KeyCredentialDeletedAuditEventType_InputArguments,18063,Variable +KeyCredentialDeletedAuditEventType_ResourceUri,18064,Variable +ReaderGroupType_MaxNetworkMessageSize,18065,Variable +AuthorizationServices_ServiceName_Placeholder_ServiceCertificate,18066,Variable +ReaderGroupType_Status,18067,Object +ReaderGroupType_Status_State,18068,Variable +KeyCredentialConfigurationType_ResourceUri,18069,Variable +AuthorizationServices_ServiceName_Placeholder_ServiceUri,18070,Variable +AuthorizationServices_ServiceName_Placeholder_IssuerEndpointUrl,18071,Variable +AuthorizationServiceConfigurationType_ServiceUri,18072,Variable +AuthorizationServiceConfigurationType_IssuerEndpointUrl,18073,Variable +ReaderGroupType_Status_Enable,18074,Method +ReaderGroupType_Status_Disable,18075,Method +ReaderGroupType_DataSetReaderName_Placeholder,18076,Object +ReaderGroupType_DataSetReaderName_Placeholder_PublisherId,18077,Variable +ReaderGroupType_DataSetReaderName_Placeholder_WriterGroupId,18078,Variable +ReaderGroupType_DataSetReaderName_Placeholder_DataSetWriterId,18079,Variable +ReaderGroupType_DataSetReaderName_Placeholder_DataSetMetaData,18080,Variable +ReaderGroupType_DataSetReaderName_Placeholder_DataSetFieldContentMask,18081,Variable +ReaderGroupType_DataSetReaderName_Placeholder_MessageReceiveTimeout,18082,Variable +ReaderGroupType_DataSetReaderName_Placeholder_SecurityMode,18083,Variable +ReaderGroupType_DataSetReaderName_Placeholder_SecurityGroupId,18084,Variable +ReaderGroupType_DataSetReaderName_Placeholder_SecurityKeyServices,18085,Variable +ReaderGroupType_DataSetReaderName_Placeholder_TransportSettings,18086,Object +ReaderGroupType_DataSetReaderName_Placeholder_MessageSettings,18087,Object +ReaderGroupType_DataSetReaderName_Placeholder_Status,18088,Object +ReaderGroupType_DataSetReaderName_Placeholder_Status_State,18089,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Status_Enable,18090,Method +ReaderGroupType_DataSetReaderName_Placeholder_Status_Disable,18091,Method +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics,18092,Object +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_DiagnosticsLevel,18093,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_TotalInformation,18094,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_TotalInformation_Active,18095,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_TotalInformation_Classification,18096,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_TotalInformation_DiagnosticsLevel,18097,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_TotalInformation_TimeFirstChange,18098,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_TotalError,18099,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_TotalError_Active,18100,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_TotalError_Classification,18101,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_TotalError_DiagnosticsLevel,18102,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_TotalError_TimeFirstChange,18103,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Reset,18104,Method +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_SubError,18105,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters,18106,Object +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateError,18107,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateError_Active,18108,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateError_Classification,18109,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateError_DiagnosticsLevel,18110,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateError_TimeFirstChange,18111,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateOperationalByMethod,18112,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Active,18113,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Classification,18114,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_DiagnosticsLevel,18115,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_TimeFirstChange,18116,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateOperationalByParent,18117,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Active,18118,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Classification,18119,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateOperationalByParent_DiagnosticsLevel,18120,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateOperationalByParent_TimeFirstChange,18121,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateOperationalFromError,18122,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Active,18123,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Classification,18124,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateOperationalFromError_DiagnosticsLevel,18125,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateOperationalFromError_TimeFirstChange,18126,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StatePausedByParent,18127,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StatePausedByParent_Active,18128,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StatePausedByParent_Classification,18129,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StatePausedByParent_DiagnosticsLevel,18130,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StatePausedByParent_TimeFirstChange,18131,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateDisabledByMethod,18132,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Active,18133,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Classification,18134,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_DiagnosticsLevel,18135,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_TimeFirstChange,18136,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_LiveValues,18137,Object +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_FailedDataSetMessages,18138,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_Active,18139,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_Classification,18140,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_DiagnosticsLevel,18141,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_TimeFirstChange,18142,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_DecryptionErrors,18143,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_DecryptionErrors_Active,18144,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_DecryptionErrors_Classification,18145,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_DecryptionErrors_DiagnosticsLevel,18146,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_DecryptionErrors_TimeFirstChange,18147,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_LiveValues_MessageSequenceNumber,18148,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_LiveValues_MessageSequenceNumber_DiagnosticsLevel,18149,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_LiveValues_StatusCode,18150,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_LiveValues_StatusCode_DiagnosticsLevel,18151,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_LiveValues_MajorVersion,18152,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_LiveValues_MajorVersion_DiagnosticsLevel,18153,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_LiveValues_MinorVersion,18154,Variable +KeyCredentialConfiguration,18155,Object +KeyCredentialConfiguration_ServiceName_Placeholder,18156,Object +KeyCredentialConfiguration_ServiceName_Placeholder_ResourceUri,18157,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_LiveValues_MinorVersion_DiagnosticsLevel,18158,Variable +KeyCredentialConfiguration_ServiceName_Placeholder_EndpointUrls,18159,Variable +KeyCredentialConfiguration_ServiceName_Placeholder_ServiceStatus,18160,Variable +KeyCredentialConfiguration_ServiceName_Placeholder_UpdateCredential,18161,Method +KeyCredentialConfiguration_ServiceName_Placeholder_UpdateCredential_InputArguments,18162,Variable +KeyCredentialConfiguration_ServiceName_Placeholder_DeleteCredential,18163,Method +KeyCredentialConfiguration_ServiceName_Placeholder_ProfileUri,18164,Variable +KeyCredentialConfigurationType_ProfileUri,18165,Variable +OpcUa_XmlSchema_DataTypeDefinition,18166,Variable +OpcUa_XmlSchema_DataTypeDefinition_DataTypeVersion,18167,Variable +OpcUa_XmlSchema_DataTypeDefinition_DictionaryFragment,18168,Variable +OpcUa_XmlSchema_StructureField,18169,Variable +OpcUa_XmlSchema_StructureField_DataTypeVersion,18170,Variable +OpcUa_XmlSchema_StructureField_DictionaryFragment,18171,Variable +OpcUa_XmlSchema_StructureDefinition,18172,Variable +OpcUa_XmlSchema_StructureDefinition_DataTypeVersion,18173,Variable +OpcUa_XmlSchema_StructureDefinition_DictionaryFragment,18174,Variable +OpcUa_XmlSchema_EnumDefinition,18175,Variable +OpcUa_XmlSchema_EnumDefinition_DataTypeVersion,18176,Variable +OpcUa_XmlSchema_EnumDefinition_DictionaryFragment,18177,Variable +OpcUa_BinarySchema_DataTypeDefinition,18178,Variable +OpcUa_BinarySchema_DataTypeDefinition_DataTypeVersion,18179,Variable +OpcUa_BinarySchema_DataTypeDefinition_DictionaryFragment,18180,Variable +OpcUa_BinarySchema_StructureField,18181,Variable +OpcUa_BinarySchema_StructureField_DataTypeVersion,18182,Variable +OpcUa_BinarySchema_StructureField_DictionaryFragment,18183,Variable +OpcUa_BinarySchema_StructureDefinition,18184,Variable +OpcUa_BinarySchema_StructureDefinition_DataTypeVersion,18185,Variable +OpcUa_BinarySchema_StructureDefinition_DictionaryFragment,18186,Variable +OpcUa_BinarySchema_EnumDefinition,18187,Variable +OpcUa_BinarySchema_EnumDefinition_DataTypeVersion,18188,Variable +OpcUa_BinarySchema_EnumDefinition_DictionaryFragment,18189,Variable +AlarmConditionType_LatchedState,18190,Variable +AlarmConditionType_LatchedState_Id,18191,Variable +AlarmConditionType_LatchedState_Name,18192,Variable +AlarmConditionType_LatchedState_Number,18193,Variable +AlarmConditionType_LatchedState_EffectiveDisplayName,18194,Variable +AlarmConditionType_LatchedState_TransitionTime,18195,Variable +AlarmConditionType_LatchedState_EffectiveTransitionTime,18196,Variable +AlarmConditionType_LatchedState_TrueState,18197,Variable +AlarmConditionType_LatchedState_FalseState,18198,Variable +AlarmConditionType_Reset,18199,Method +AlarmGroupType_AlarmConditionInstance_Placeholder_AudibleSound_ListId,18200,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_AudibleSound_AgencyId,18201,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_AudibleSound_VersionId,18202,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_LatchedState,18203,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_LatchedState_Id,18204,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_LatchedState_Name,18205,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_LatchedState_Number,18206,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_LatchedState_EffectiveDisplayName,18207,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_LatchedState_TransitionTime,18208,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_LatchedState_EffectiveTransitionTime,18209,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_LatchedState_TrueState,18210,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_LatchedState_FalseState,18211,Variable +AlarmGroupType_AlarmConditionInstance_Placeholder_Reset,18212,Method +LimitAlarmType_LatchedState,18213,Variable +LimitAlarmType_LatchedState_Id,18214,Variable +LimitAlarmType_LatchedState_Name,18215,Variable +LimitAlarmType_LatchedState_Number,18216,Variable +LimitAlarmType_LatchedState_EffectiveDisplayName,18217,Variable +LimitAlarmType_LatchedState_TransitionTime,18218,Variable +LimitAlarmType_LatchedState_EffectiveTransitionTime,18219,Variable +LimitAlarmType_LatchedState_TrueState,18220,Variable +LimitAlarmType_LatchedState_FalseState,18221,Variable +LimitAlarmType_Reset,18222,Method +ExclusiveLimitAlarmType_LatchedState,18223,Variable +ExclusiveLimitAlarmType_LatchedState_Id,18224,Variable +ExclusiveLimitAlarmType_LatchedState_Name,18225,Variable +ExclusiveLimitAlarmType_LatchedState_Number,18226,Variable +ExclusiveLimitAlarmType_LatchedState_EffectiveDisplayName,18227,Variable +ExclusiveLimitAlarmType_LatchedState_TransitionTime,18228,Variable +ExclusiveLimitAlarmType_LatchedState_EffectiveTransitionTime,18229,Variable +ExclusiveLimitAlarmType_LatchedState_TrueState,18230,Variable +ExclusiveLimitAlarmType_LatchedState_FalseState,18231,Variable +ExclusiveLimitAlarmType_Reset,18232,Method +NonExclusiveLimitAlarmType_LatchedState,18233,Variable +NonExclusiveLimitAlarmType_LatchedState_Id,18234,Variable +NonExclusiveLimitAlarmType_LatchedState_Name,18235,Variable +NonExclusiveLimitAlarmType_LatchedState_Number,18236,Variable +NonExclusiveLimitAlarmType_LatchedState_EffectiveDisplayName,18237,Variable +NonExclusiveLimitAlarmType_LatchedState_TransitionTime,18238,Variable +NonExclusiveLimitAlarmType_LatchedState_EffectiveTransitionTime,18239,Variable +NonExclusiveLimitAlarmType_LatchedState_TrueState,18240,Variable +NonExclusiveLimitAlarmType_LatchedState_FalseState,18241,Variable +NonExclusiveLimitAlarmType_Reset,18242,Method +NonExclusiveLevelAlarmType_AudibleSound_ListId,18243,Variable +NonExclusiveLevelAlarmType_AudibleSound_AgencyId,18244,Variable +NonExclusiveLevelAlarmType_AudibleSound_VersionId,18245,Variable +NonExclusiveLevelAlarmType_LatchedState,18246,Variable +NonExclusiveLevelAlarmType_LatchedState_Id,18247,Variable +NonExclusiveLevelAlarmType_LatchedState_Name,18248,Variable +NonExclusiveLevelAlarmType_LatchedState_Number,18249,Variable +NonExclusiveLevelAlarmType_LatchedState_EffectiveDisplayName,18250,Variable +NonExclusiveLevelAlarmType_LatchedState_TransitionTime,18251,Variable +NonExclusiveLevelAlarmType_LatchedState_EffectiveTransitionTime,18252,Variable +NonExclusiveLevelAlarmType_LatchedState_TrueState,18253,Variable +NonExclusiveLevelAlarmType_LatchedState_FalseState,18254,Variable +NonExclusiveLevelAlarmType_Unsuppress,18255,Method +NonExclusiveLevelAlarmType_Reset,18256,Method +ExclusiveLevelAlarmType_LatchedState,18257,Variable +ExclusiveLevelAlarmType_LatchedState_Id,18258,Variable +ExclusiveLevelAlarmType_LatchedState_Name,18259,Variable +ExclusiveLevelAlarmType_LatchedState_Number,18260,Variable +ExclusiveLevelAlarmType_LatchedState_EffectiveDisplayName,18261,Variable +ExclusiveLevelAlarmType_LatchedState_TransitionTime,18262,Variable +ExclusiveLevelAlarmType_LatchedState_EffectiveTransitionTime,18263,Variable +ExclusiveLevelAlarmType_LatchedState_TrueState,18264,Variable +ExclusiveLevelAlarmType_LatchedState_FalseState,18265,Variable +ExclusiveLevelAlarmType_Reset,18266,Method +NonExclusiveDeviationAlarmType_LatchedState,18267,Variable +NonExclusiveDeviationAlarmType_LatchedState_Id,18268,Variable +NonExclusiveDeviationAlarmType_LatchedState_Name,18269,Variable +NonExclusiveDeviationAlarmType_LatchedState_Number,18270,Variable +NonExclusiveDeviationAlarmType_LatchedState_EffectiveDisplayName,18271,Variable +NonExclusiveDeviationAlarmType_LatchedState_TransitionTime,18272,Variable +NonExclusiveDeviationAlarmType_LatchedState_EffectiveTransitionTime,18273,Variable +NonExclusiveDeviationAlarmType_LatchedState_TrueState,18274,Variable +NonExclusiveDeviationAlarmType_LatchedState_FalseState,18275,Variable +NonExclusiveDeviationAlarmType_Reset,18276,Method +NonExclusiveRateOfChangeAlarmType_LatchedState,18277,Variable +NonExclusiveRateOfChangeAlarmType_LatchedState_Id,18278,Variable +NonExclusiveRateOfChangeAlarmType_LatchedState_Name,18279,Variable +NonExclusiveRateOfChangeAlarmType_LatchedState_Number,18280,Variable +NonExclusiveRateOfChangeAlarmType_LatchedState_EffectiveDisplayName,18281,Variable +NonExclusiveRateOfChangeAlarmType_LatchedState_TransitionTime,18282,Variable +NonExclusiveRateOfChangeAlarmType_LatchedState_EffectiveTransitionTime,18283,Variable +NonExclusiveRateOfChangeAlarmType_LatchedState_TrueState,18284,Variable +NonExclusiveRateOfChangeAlarmType_LatchedState_FalseState,18285,Variable +NonExclusiveRateOfChangeAlarmType_Reset,18286,Method +ExclusiveDeviationAlarmType_LatchedState,18287,Variable +ExclusiveDeviationAlarmType_LatchedState_Id,18288,Variable +ExclusiveDeviationAlarmType_LatchedState_Name,18289,Variable +ExclusiveDeviationAlarmType_LatchedState_Number,18290,Variable +ExclusiveDeviationAlarmType_LatchedState_EffectiveDisplayName,18291,Variable +ExclusiveDeviationAlarmType_LatchedState_TransitionTime,18292,Variable +ExclusiveDeviationAlarmType_LatchedState_EffectiveTransitionTime,18293,Variable +ExclusiveDeviationAlarmType_LatchedState_TrueState,18294,Variable +ExclusiveDeviationAlarmType_LatchedState_FalseState,18295,Variable +ExclusiveDeviationAlarmType_Reset,18296,Method +ExclusiveRateOfChangeAlarmType_LatchedState,18297,Variable +ExclusiveRateOfChangeAlarmType_LatchedState_Id,18298,Variable +ExclusiveRateOfChangeAlarmType_LatchedState_Name,18299,Variable +ExclusiveRateOfChangeAlarmType_LatchedState_Number,18300,Variable +ExclusiveRateOfChangeAlarmType_LatchedState_EffectiveDisplayName,18301,Variable +ExclusiveRateOfChangeAlarmType_LatchedState_TransitionTime,18302,Variable +ExclusiveRateOfChangeAlarmType_LatchedState_EffectiveTransitionTime,18303,Variable +ExclusiveRateOfChangeAlarmType_LatchedState_TrueState,18304,Variable +ExclusiveRateOfChangeAlarmType_LatchedState_FalseState,18305,Variable +ExclusiveRateOfChangeAlarmType_Reset,18306,Method +DiscreteAlarmType_LatchedState,18307,Variable +DiscreteAlarmType_LatchedState_Id,18308,Variable +DiscreteAlarmType_LatchedState_Name,18309,Variable +DiscreteAlarmType_LatchedState_Number,18310,Variable +DiscreteAlarmType_LatchedState_EffectiveDisplayName,18311,Variable +DiscreteAlarmType_LatchedState_TransitionTime,18312,Variable +DiscreteAlarmType_LatchedState_EffectiveTransitionTime,18313,Variable +DiscreteAlarmType_LatchedState_TrueState,18314,Variable +DiscreteAlarmType_LatchedState_FalseState,18315,Variable +DiscreteAlarmType_Reset,18316,Method +OffNormalAlarmType_LatchedState,18317,Variable +OffNormalAlarmType_LatchedState_Id,18318,Variable +OffNormalAlarmType_LatchedState_Name,18319,Variable +OffNormalAlarmType_LatchedState_Number,18320,Variable +OffNormalAlarmType_LatchedState_EffectiveDisplayName,18321,Variable +OffNormalAlarmType_LatchedState_TransitionTime,18322,Variable +OffNormalAlarmType_LatchedState_EffectiveTransitionTime,18323,Variable +OffNormalAlarmType_LatchedState_TrueState,18324,Variable +OffNormalAlarmType_LatchedState_FalseState,18325,Variable +OffNormalAlarmType_Reset,18326,Method +SystemOffNormalAlarmType_LatchedState,18327,Variable +SystemOffNormalAlarmType_LatchedState_Id,18328,Variable +SystemOffNormalAlarmType_LatchedState_Name,18329,Variable +SystemOffNormalAlarmType_LatchedState_Number,18330,Variable +SystemOffNormalAlarmType_LatchedState_EffectiveDisplayName,18331,Variable +SystemOffNormalAlarmType_LatchedState_TransitionTime,18332,Variable +SystemOffNormalAlarmType_LatchedState_EffectiveTransitionTime,18333,Variable +SystemOffNormalAlarmType_LatchedState_TrueState,18334,Variable +SystemOffNormalAlarmType_LatchedState_FalseState,18335,Variable +SystemOffNormalAlarmType_Reset,18336,Method +TripAlarmType_LatchedState,18337,Variable +TripAlarmType_LatchedState_Id,18338,Variable +TripAlarmType_LatchedState_Name,18339,Variable +TripAlarmType_LatchedState_Number,18340,Variable +TripAlarmType_LatchedState_EffectiveDisplayName,18341,Variable +TripAlarmType_LatchedState_TransitionTime,18342,Variable +TripAlarmType_LatchedState_EffectiveTransitionTime,18343,Variable +TripAlarmType_LatchedState_TrueState,18344,Variable +TripAlarmType_LatchedState_FalseState,18345,Variable +TripAlarmType_Reset,18346,Method +InstrumentDiagnosticAlarmType,18347,ObjectType +InstrumentDiagnosticAlarmType_EventId,18348,Variable +InstrumentDiagnosticAlarmType_EventType,18349,Variable +InstrumentDiagnosticAlarmType_SourceNode,18350,Variable +InstrumentDiagnosticAlarmType_SourceName,18351,Variable +InstrumentDiagnosticAlarmType_Time,18352,Variable +InstrumentDiagnosticAlarmType_ReceiveTime,18353,Variable +InstrumentDiagnosticAlarmType_LocalTime,18354,Variable +InstrumentDiagnosticAlarmType_Message,18355,Variable +InstrumentDiagnosticAlarmType_Severity,18356,Variable +InstrumentDiagnosticAlarmType_ConditionClassId,18357,Variable +InstrumentDiagnosticAlarmType_ConditionClassName,18358,Variable +InstrumentDiagnosticAlarmType_ConditionSubClassId,18359,Variable +InstrumentDiagnosticAlarmType_ConditionSubClassName,18360,Variable +InstrumentDiagnosticAlarmType_ConditionName,18361,Variable +InstrumentDiagnosticAlarmType_BranchId,18362,Variable +InstrumentDiagnosticAlarmType_Retain,18363,Variable +InstrumentDiagnosticAlarmType_EnabledState,18364,Variable +InstrumentDiagnosticAlarmType_EnabledState_Id,18365,Variable +InstrumentDiagnosticAlarmType_EnabledState_Name,18366,Variable +InstrumentDiagnosticAlarmType_EnabledState_Number,18367,Variable +InstrumentDiagnosticAlarmType_EnabledState_EffectiveDisplayName,18368,Variable +InstrumentDiagnosticAlarmType_EnabledState_TransitionTime,18369,Variable +InstrumentDiagnosticAlarmType_EnabledState_EffectiveTransitionTime,18370,Variable +InstrumentDiagnosticAlarmType_EnabledState_TrueState,18371,Variable +InstrumentDiagnosticAlarmType_EnabledState_FalseState,18372,Variable +InstrumentDiagnosticAlarmType_Quality,18373,Variable +InstrumentDiagnosticAlarmType_Quality_SourceTimestamp,18374,Variable +InstrumentDiagnosticAlarmType_LastSeverity,18375,Variable +InstrumentDiagnosticAlarmType_LastSeverity_SourceTimestamp,18376,Variable +InstrumentDiagnosticAlarmType_Comment,18377,Variable +InstrumentDiagnosticAlarmType_Comment_SourceTimestamp,18378,Variable +InstrumentDiagnosticAlarmType_ClientUserId,18379,Variable +InstrumentDiagnosticAlarmType_Disable,18380,Method +InstrumentDiagnosticAlarmType_Enable,18381,Method +InstrumentDiagnosticAlarmType_AddComment,18382,Method +InstrumentDiagnosticAlarmType_AddComment_InputArguments,18383,Variable +InstrumentDiagnosticAlarmType_ConditionRefresh,18384,Method +InstrumentDiagnosticAlarmType_ConditionRefresh_InputArguments,18385,Variable +InstrumentDiagnosticAlarmType_ConditionRefresh2,18386,Method +InstrumentDiagnosticAlarmType_ConditionRefresh2_InputArguments,18387,Variable +InstrumentDiagnosticAlarmType_AckedState,18388,Variable +InstrumentDiagnosticAlarmType_AckedState_Id,18389,Variable +InstrumentDiagnosticAlarmType_AckedState_Name,18390,Variable +InstrumentDiagnosticAlarmType_AckedState_Number,18391,Variable +InstrumentDiagnosticAlarmType_AckedState_EffectiveDisplayName,18392,Variable +InstrumentDiagnosticAlarmType_AckedState_TransitionTime,18393,Variable +InstrumentDiagnosticAlarmType_AckedState_EffectiveTransitionTime,18394,Variable +InstrumentDiagnosticAlarmType_AckedState_TrueState,18395,Variable +InstrumentDiagnosticAlarmType_AckedState_FalseState,18396,Variable +InstrumentDiagnosticAlarmType_ConfirmedState,18397,Variable +InstrumentDiagnosticAlarmType_ConfirmedState_Id,18398,Variable +InstrumentDiagnosticAlarmType_ConfirmedState_Name,18399,Variable +InstrumentDiagnosticAlarmType_ConfirmedState_Number,18400,Variable +InstrumentDiagnosticAlarmType_ConfirmedState_EffectiveDisplayName,18401,Variable +InstrumentDiagnosticAlarmType_ConfirmedState_TransitionTime,18402,Variable +InstrumentDiagnosticAlarmType_ConfirmedState_EffectiveTransitionTime,18403,Variable +InstrumentDiagnosticAlarmType_ConfirmedState_TrueState,18404,Variable +InstrumentDiagnosticAlarmType_ConfirmedState_FalseState,18405,Variable +InstrumentDiagnosticAlarmType_Acknowledge,18406,Method +InstrumentDiagnosticAlarmType_Acknowledge_InputArguments,18407,Variable +InstrumentDiagnosticAlarmType_Confirm,18408,Method +InstrumentDiagnosticAlarmType_Confirm_InputArguments,18409,Variable +InstrumentDiagnosticAlarmType_ActiveState,18410,Variable +InstrumentDiagnosticAlarmType_ActiveState_Id,18411,Variable +InstrumentDiagnosticAlarmType_ActiveState_Name,18412,Variable +InstrumentDiagnosticAlarmType_ActiveState_Number,18413,Variable +InstrumentDiagnosticAlarmType_ActiveState_EffectiveDisplayName,18414,Variable +InstrumentDiagnosticAlarmType_ActiveState_TransitionTime,18415,Variable +InstrumentDiagnosticAlarmType_ActiveState_EffectiveTransitionTime,18416,Variable +InstrumentDiagnosticAlarmType_ActiveState_TrueState,18417,Variable +InstrumentDiagnosticAlarmType_ActiveState_FalseState,18418,Variable +InstrumentDiagnosticAlarmType_InputNode,18419,Variable +InstrumentDiagnosticAlarmType_SuppressedState,18420,Variable +InstrumentDiagnosticAlarmType_SuppressedState_Id,18421,Variable +InstrumentDiagnosticAlarmType_SuppressedState_Name,18422,Variable +InstrumentDiagnosticAlarmType_SuppressedState_Number,18423,Variable +InstrumentDiagnosticAlarmType_SuppressedState_EffectiveDisplayName,18424,Variable +InstrumentDiagnosticAlarmType_SuppressedState_TransitionTime,18425,Variable +InstrumentDiagnosticAlarmType_SuppressedState_EffectiveTransitionTime,18426,Variable +InstrumentDiagnosticAlarmType_SuppressedState_TrueState,18427,Variable +InstrumentDiagnosticAlarmType_SuppressedState_FalseState,18428,Variable +InstrumentDiagnosticAlarmType_OutOfServiceState,18429,Variable +InstrumentDiagnosticAlarmType_OutOfServiceState_Id,18430,Variable +InstrumentDiagnosticAlarmType_OutOfServiceState_Name,18431,Variable +InstrumentDiagnosticAlarmType_OutOfServiceState_Number,18432,Variable +InstrumentDiagnosticAlarmType_OutOfServiceState_EffectiveDisplayName,18433,Variable +InstrumentDiagnosticAlarmType_OutOfServiceState_TransitionTime,18434,Variable +InstrumentDiagnosticAlarmType_OutOfServiceState_EffectiveTransitionTime,18435,Variable +InstrumentDiagnosticAlarmType_OutOfServiceState_TrueState,18436,Variable +InstrumentDiagnosticAlarmType_OutOfServiceState_FalseState,18437,Variable +InstrumentDiagnosticAlarmType_ShelvingState,18438,Object +InstrumentDiagnosticAlarmType_ShelvingState_CurrentState,18439,Variable +InstrumentDiagnosticAlarmType_ShelvingState_CurrentState_Id,18440,Variable +InstrumentDiagnosticAlarmType_ShelvingState_CurrentState_Name,18441,Variable +InstrumentDiagnosticAlarmType_ShelvingState_CurrentState_Number,18442,Variable +InstrumentDiagnosticAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,18443,Variable +InstrumentDiagnosticAlarmType_ShelvingState_LastTransition,18444,Variable +InstrumentDiagnosticAlarmType_ShelvingState_LastTransition_Id,18445,Variable +InstrumentDiagnosticAlarmType_ShelvingState_LastTransition_Name,18446,Variable +InstrumentDiagnosticAlarmType_ShelvingState_LastTransition_Number,18447,Variable +InstrumentDiagnosticAlarmType_ShelvingState_LastTransition_TransitionTime,18448,Variable +InstrumentDiagnosticAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,18449,Variable +InstrumentDiagnosticAlarmType_ShelvingState_AvailableStates,18450,Variable +InstrumentDiagnosticAlarmType_ShelvingState_AvailableTransitions,18451,Variable +InstrumentDiagnosticAlarmType_ShelvingState_UnshelveTime,18452,Variable +InstrumentDiagnosticAlarmType_ShelvingState_TimedShelve,18453,Method +InstrumentDiagnosticAlarmType_ShelvingState_TimedShelve_InputArguments,18454,Variable +InstrumentDiagnosticAlarmType_ShelvingState_Unshelve,18455,Method +InstrumentDiagnosticAlarmType_ShelvingState_OneShotShelve,18456,Method +InstrumentDiagnosticAlarmType_SuppressedOrShelved,18457,Variable +InstrumentDiagnosticAlarmType_MaxTimeShelved,18458,Variable +InstrumentDiagnosticAlarmType_AudibleEnabled,18459,Variable +InstrumentDiagnosticAlarmType_AudibleSound,18460,Variable +InstrumentDiagnosticAlarmType_AudibleSound_ListId,18461,Variable +InstrumentDiagnosticAlarmType_AudibleSound_AgencyId,18462,Variable +InstrumentDiagnosticAlarmType_AudibleSound_VersionId,18463,Variable +InstrumentDiagnosticAlarmType_SilenceState,18464,Variable +InstrumentDiagnosticAlarmType_SilenceState_Id,18465,Variable +InstrumentDiagnosticAlarmType_SilenceState_Name,18466,Variable +InstrumentDiagnosticAlarmType_SilenceState_Number,18467,Variable +InstrumentDiagnosticAlarmType_SilenceState_EffectiveDisplayName,18468,Variable +InstrumentDiagnosticAlarmType_SilenceState_TransitionTime,18469,Variable +InstrumentDiagnosticAlarmType_SilenceState_EffectiveTransitionTime,18470,Variable +InstrumentDiagnosticAlarmType_SilenceState_TrueState,18471,Variable +InstrumentDiagnosticAlarmType_SilenceState_FalseState,18472,Variable +InstrumentDiagnosticAlarmType_OnDelay,18473,Variable +InstrumentDiagnosticAlarmType_OffDelay,18474,Variable +InstrumentDiagnosticAlarmType_FirstInGroupFlag,18475,Variable +InstrumentDiagnosticAlarmType_FirstInGroup,18476,Object +InstrumentDiagnosticAlarmType_LatchedState,18477,Variable +InstrumentDiagnosticAlarmType_LatchedState_Id,18478,Variable +InstrumentDiagnosticAlarmType_LatchedState_Name,18479,Variable +InstrumentDiagnosticAlarmType_LatchedState_Number,18480,Variable +InstrumentDiagnosticAlarmType_LatchedState_EffectiveDisplayName,18481,Variable +InstrumentDiagnosticAlarmType_LatchedState_TransitionTime,18482,Variable +InstrumentDiagnosticAlarmType_LatchedState_EffectiveTransitionTime,18483,Variable +InstrumentDiagnosticAlarmType_LatchedState_TrueState,18484,Variable +InstrumentDiagnosticAlarmType_LatchedState_FalseState,18485,Variable +InstrumentDiagnosticAlarmType_AlarmGroup_Placeholder,18486,Object +InstrumentDiagnosticAlarmType_ReAlarmTime,18487,Variable +InstrumentDiagnosticAlarmType_ReAlarmRepeatCount,18488,Variable +InstrumentDiagnosticAlarmType_Silence,18489,Method +InstrumentDiagnosticAlarmType_Suppress,18490,Method +InstrumentDiagnosticAlarmType_Unsuppress,18491,Method +InstrumentDiagnosticAlarmType_RemoveFromService,18492,Method +InstrumentDiagnosticAlarmType_PlaceInService,18493,Method +InstrumentDiagnosticAlarmType_Reset,18494,Method +InstrumentDiagnosticAlarmType_NormalState,18495,Variable +SystemDiagnosticAlarmType,18496,ObjectType +SystemDiagnosticAlarmType_EventId,18497,Variable +SystemDiagnosticAlarmType_EventType,18498,Variable +SystemDiagnosticAlarmType_SourceNode,18499,Variable +SystemDiagnosticAlarmType_SourceName,18500,Variable +SystemDiagnosticAlarmType_Time,18501,Variable +SystemDiagnosticAlarmType_ReceiveTime,18502,Variable +SystemDiagnosticAlarmType_LocalTime,18503,Variable +SystemDiagnosticAlarmType_Message,18504,Variable +SystemDiagnosticAlarmType_Severity,18505,Variable +SystemDiagnosticAlarmType_ConditionClassId,18506,Variable +SystemDiagnosticAlarmType_ConditionClassName,18507,Variable +SystemDiagnosticAlarmType_ConditionSubClassId,18508,Variable +SystemDiagnosticAlarmType_ConditionSubClassName,18509,Variable +SystemDiagnosticAlarmType_ConditionName,18510,Variable +SystemDiagnosticAlarmType_BranchId,18511,Variable +SystemDiagnosticAlarmType_Retain,18512,Variable +SystemDiagnosticAlarmType_EnabledState,18513,Variable +SystemDiagnosticAlarmType_EnabledState_Id,18514,Variable +SystemDiagnosticAlarmType_EnabledState_Name,18515,Variable +SystemDiagnosticAlarmType_EnabledState_Number,18516,Variable +SystemDiagnosticAlarmType_EnabledState_EffectiveDisplayName,18517,Variable +SystemDiagnosticAlarmType_EnabledState_TransitionTime,18518,Variable +SystemDiagnosticAlarmType_EnabledState_EffectiveTransitionTime,18519,Variable +SystemDiagnosticAlarmType_EnabledState_TrueState,18520,Variable +SystemDiagnosticAlarmType_EnabledState_FalseState,18521,Variable +SystemDiagnosticAlarmType_Quality,18522,Variable +SystemDiagnosticAlarmType_Quality_SourceTimestamp,18523,Variable +SystemDiagnosticAlarmType_LastSeverity,18524,Variable +SystemDiagnosticAlarmType_LastSeverity_SourceTimestamp,18525,Variable +SystemDiagnosticAlarmType_Comment,18526,Variable +SystemDiagnosticAlarmType_Comment_SourceTimestamp,18527,Variable +SystemDiagnosticAlarmType_ClientUserId,18528,Variable +SystemDiagnosticAlarmType_Disable,18529,Method +SystemDiagnosticAlarmType_Enable,18530,Method +SystemDiagnosticAlarmType_AddComment,18531,Method +SystemDiagnosticAlarmType_AddComment_InputArguments,18532,Variable +SystemDiagnosticAlarmType_ConditionRefresh,18533,Method +SystemDiagnosticAlarmType_ConditionRefresh_InputArguments,18534,Variable +SystemDiagnosticAlarmType_ConditionRefresh2,18535,Method +SystemDiagnosticAlarmType_ConditionRefresh2_InputArguments,18536,Variable +SystemDiagnosticAlarmType_AckedState,18537,Variable +SystemDiagnosticAlarmType_AckedState_Id,18538,Variable +SystemDiagnosticAlarmType_AckedState_Name,18539,Variable +SystemDiagnosticAlarmType_AckedState_Number,18540,Variable +SystemDiagnosticAlarmType_AckedState_EffectiveDisplayName,18541,Variable +SystemDiagnosticAlarmType_AckedState_TransitionTime,18542,Variable +SystemDiagnosticAlarmType_AckedState_EffectiveTransitionTime,18543,Variable +SystemDiagnosticAlarmType_AckedState_TrueState,18544,Variable +SystemDiagnosticAlarmType_AckedState_FalseState,18545,Variable +SystemDiagnosticAlarmType_ConfirmedState,18546,Variable +SystemDiagnosticAlarmType_ConfirmedState_Id,18547,Variable +SystemDiagnosticAlarmType_ConfirmedState_Name,18548,Variable +SystemDiagnosticAlarmType_ConfirmedState_Number,18549,Variable +SystemDiagnosticAlarmType_ConfirmedState_EffectiveDisplayName,18550,Variable +SystemDiagnosticAlarmType_ConfirmedState_TransitionTime,18551,Variable +SystemDiagnosticAlarmType_ConfirmedState_EffectiveTransitionTime,18552,Variable +SystemDiagnosticAlarmType_ConfirmedState_TrueState,18553,Variable +SystemDiagnosticAlarmType_ConfirmedState_FalseState,18554,Variable +SystemDiagnosticAlarmType_Acknowledge,18555,Method +SystemDiagnosticAlarmType_Acknowledge_InputArguments,18556,Variable +SystemDiagnosticAlarmType_Confirm,18557,Method +SystemDiagnosticAlarmType_Confirm_InputArguments,18558,Variable +SystemDiagnosticAlarmType_ActiveState,18559,Variable +SystemDiagnosticAlarmType_ActiveState_Id,18560,Variable +SystemDiagnosticAlarmType_ActiveState_Name,18561,Variable +SystemDiagnosticAlarmType_ActiveState_Number,18562,Variable +SystemDiagnosticAlarmType_ActiveState_EffectiveDisplayName,18563,Variable +SystemDiagnosticAlarmType_ActiveState_TransitionTime,18564,Variable +SystemDiagnosticAlarmType_ActiveState_EffectiveTransitionTime,18565,Variable +SystemDiagnosticAlarmType_ActiveState_TrueState,18566,Variable +SystemDiagnosticAlarmType_ActiveState_FalseState,18567,Variable +SystemDiagnosticAlarmType_InputNode,18568,Variable +SystemDiagnosticAlarmType_SuppressedState,18569,Variable +SystemDiagnosticAlarmType_SuppressedState_Id,18570,Variable +SystemDiagnosticAlarmType_SuppressedState_Name,18571,Variable +SystemDiagnosticAlarmType_SuppressedState_Number,18572,Variable +SystemDiagnosticAlarmType_SuppressedState_EffectiveDisplayName,18573,Variable +SystemDiagnosticAlarmType_SuppressedState_TransitionTime,18574,Variable +SystemDiagnosticAlarmType_SuppressedState_EffectiveTransitionTime,18575,Variable +SystemDiagnosticAlarmType_SuppressedState_TrueState,18576,Variable +SystemDiagnosticAlarmType_SuppressedState_FalseState,18577,Variable +SystemDiagnosticAlarmType_OutOfServiceState,18578,Variable +SystemDiagnosticAlarmType_OutOfServiceState_Id,18579,Variable +SystemDiagnosticAlarmType_OutOfServiceState_Name,18580,Variable +SystemDiagnosticAlarmType_OutOfServiceState_Number,18581,Variable +SystemDiagnosticAlarmType_OutOfServiceState_EffectiveDisplayName,18582,Variable +SystemDiagnosticAlarmType_OutOfServiceState_TransitionTime,18583,Variable +SystemDiagnosticAlarmType_OutOfServiceState_EffectiveTransitionTime,18584,Variable +SystemDiagnosticAlarmType_OutOfServiceState_TrueState,18585,Variable +SystemDiagnosticAlarmType_OutOfServiceState_FalseState,18586,Variable +SystemDiagnosticAlarmType_ShelvingState,18587,Object +SystemDiagnosticAlarmType_ShelvingState_CurrentState,18588,Variable +SystemDiagnosticAlarmType_ShelvingState_CurrentState_Id,18589,Variable +SystemDiagnosticAlarmType_ShelvingState_CurrentState_Name,18590,Variable +SystemDiagnosticAlarmType_ShelvingState_CurrentState_Number,18591,Variable +SystemDiagnosticAlarmType_ShelvingState_CurrentState_EffectiveDisplayName,18592,Variable +SystemDiagnosticAlarmType_ShelvingState_LastTransition,18593,Variable +SystemDiagnosticAlarmType_ShelvingState_LastTransition_Id,18594,Variable +SystemDiagnosticAlarmType_ShelvingState_LastTransition_Name,18595,Variable +SystemDiagnosticAlarmType_ShelvingState_LastTransition_Number,18596,Variable +SystemDiagnosticAlarmType_ShelvingState_LastTransition_TransitionTime,18597,Variable +SystemDiagnosticAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime,18598,Variable +SystemDiagnosticAlarmType_ShelvingState_AvailableStates,18599,Variable +SystemDiagnosticAlarmType_ShelvingState_AvailableTransitions,18600,Variable +SystemDiagnosticAlarmType_ShelvingState_UnshelveTime,18601,Variable +SystemDiagnosticAlarmType_ShelvingState_TimedShelve,18602,Method +SystemDiagnosticAlarmType_ShelvingState_TimedShelve_InputArguments,18603,Variable +SystemDiagnosticAlarmType_ShelvingState_Unshelve,18604,Method +SystemDiagnosticAlarmType_ShelvingState_OneShotShelve,18605,Method +SystemDiagnosticAlarmType_SuppressedOrShelved,18606,Variable +SystemDiagnosticAlarmType_MaxTimeShelved,18607,Variable +SystemDiagnosticAlarmType_AudibleEnabled,18608,Variable +SystemDiagnosticAlarmType_AudibleSound,18609,Variable +SystemDiagnosticAlarmType_AudibleSound_ListId,18610,Variable +SystemDiagnosticAlarmType_AudibleSound_AgencyId,18611,Variable +SystemDiagnosticAlarmType_AudibleSound_VersionId,18612,Variable +SystemDiagnosticAlarmType_SilenceState,18613,Variable +SystemDiagnosticAlarmType_SilenceState_Id,18614,Variable +SystemDiagnosticAlarmType_SilenceState_Name,18615,Variable +SystemDiagnosticAlarmType_SilenceState_Number,18616,Variable +SystemDiagnosticAlarmType_SilenceState_EffectiveDisplayName,18617,Variable +SystemDiagnosticAlarmType_SilenceState_TransitionTime,18618,Variable +SystemDiagnosticAlarmType_SilenceState_EffectiveTransitionTime,18619,Variable +SystemDiagnosticAlarmType_SilenceState_TrueState,18620,Variable +SystemDiagnosticAlarmType_SilenceState_FalseState,18621,Variable +SystemDiagnosticAlarmType_OnDelay,18622,Variable +SystemDiagnosticAlarmType_OffDelay,18623,Variable +SystemDiagnosticAlarmType_FirstInGroupFlag,18624,Variable +SystemDiagnosticAlarmType_FirstInGroup,18625,Object +SystemDiagnosticAlarmType_LatchedState,18626,Variable +SystemDiagnosticAlarmType_LatchedState_Id,18627,Variable +SystemDiagnosticAlarmType_LatchedState_Name,18628,Variable +SystemDiagnosticAlarmType_LatchedState_Number,18629,Variable +SystemDiagnosticAlarmType_LatchedState_EffectiveDisplayName,18630,Variable +SystemDiagnosticAlarmType_LatchedState_TransitionTime,18631,Variable +SystemDiagnosticAlarmType_LatchedState_EffectiveTransitionTime,18632,Variable +SystemDiagnosticAlarmType_LatchedState_TrueState,18633,Variable +SystemDiagnosticAlarmType_LatchedState_FalseState,18634,Variable +SystemDiagnosticAlarmType_AlarmGroup_Placeholder,18635,Object +SystemDiagnosticAlarmType_ReAlarmTime,18636,Variable +SystemDiagnosticAlarmType_ReAlarmRepeatCount,18637,Variable +SystemDiagnosticAlarmType_Silence,18638,Method +SystemDiagnosticAlarmType_Suppress,18639,Method +SystemDiagnosticAlarmType_Unsuppress,18640,Method +SystemDiagnosticAlarmType_RemoveFromService,18641,Method +SystemDiagnosticAlarmType_PlaceInService,18642,Method +SystemDiagnosticAlarmType_Reset,18643,Method +SystemDiagnosticAlarmType_NormalState,18644,Variable +CertificateExpirationAlarmType_LatchedState,18645,Variable +CertificateExpirationAlarmType_LatchedState_Id,18646,Variable +CertificateExpirationAlarmType_LatchedState_Name,18647,Variable +CertificateExpirationAlarmType_LatchedState_Number,18648,Variable +CertificateExpirationAlarmType_LatchedState_EffectiveDisplayName,18649,Variable +CertificateExpirationAlarmType_LatchedState_TransitionTime,18650,Variable +CertificateExpirationAlarmType_LatchedState_EffectiveTransitionTime,18651,Variable +CertificateExpirationAlarmType_LatchedState_TrueState,18652,Variable +CertificateExpirationAlarmType_LatchedState_FalseState,18653,Variable +CertificateExpirationAlarmType_Reset,18654,Method +DiscrepancyAlarmType_LatchedState,18655,Variable +DiscrepancyAlarmType_LatchedState_Id,18656,Variable +DiscrepancyAlarmType_LatchedState_Name,18657,Variable +DiscrepancyAlarmType_LatchedState_Number,18658,Variable +DiscrepancyAlarmType_LatchedState_EffectiveDisplayName,18659,Variable +DiscrepancyAlarmType_LatchedState_TransitionTime,18660,Variable +DiscrepancyAlarmType_LatchedState_EffectiveTransitionTime,18661,Variable +DiscrepancyAlarmType_LatchedState_TrueState,18662,Variable +DiscrepancyAlarmType_LatchedState_FalseState,18663,Variable +DiscrepancyAlarmType_Reset,18664,Method +StatisticalConditionClassType,18665,ObjectType +AlarmMetricsType_Reset,18666,Method +PublishSubscribeType_ConnectionName_Placeholder_Diagnostics,18667,Object +PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_DiagnosticsLevel,18668,Variable +PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_TotalInformation,18669,Variable +PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_TotalInformation_Active,18670,Variable +PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_TotalInformation_Classification,18671,Variable +PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_TotalInformation_DiagnosticsLevel,18672,Variable +PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_TotalInformation_TimeFirstChange,18673,Variable +PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_TotalError,18674,Variable +PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_TotalError_Active,18675,Variable +PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_TotalError_Classification,18676,Variable +PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_TotalError_DiagnosticsLevel,18677,Variable +PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_TotalError_TimeFirstChange,18678,Variable +PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Reset,18679,Method +PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_SubError,18680,Variable +PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters,18681,Object +PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateError,18682,Variable +PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateError_Active,18683,Variable +PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateError_Classification,18684,Variable +PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateError_DiagnosticsLevel,18685,Variable +PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateError_TimeFirstChange,18686,Variable +PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByMethod,18687,Variable +PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Active,18688,Variable +PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Classification,18689,Variable +PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_DiagnosticsLevel,18690,Variable +PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_TimeFirstChange,18691,Variable +PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByParent,18692,Variable +PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Active,18693,Variable +PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Classification,18694,Variable +PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByParent_DiagnosticsLevel,18695,Variable +PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByParent_TimeFirstChange,18696,Variable +PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalFromError,18697,Variable +PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Active,18698,Variable +PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Classification,18699,Variable +PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalFromError_DiagnosticsLevel,18700,Variable +PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalFromError_TimeFirstChange,18701,Variable +PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StatePausedByParent,18702,Variable +PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StatePausedByParent_Active,18703,Variable +PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StatePausedByParent_Classification,18704,Variable +PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StatePausedByParent_DiagnosticsLevel,18705,Variable +PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StatePausedByParent_TimeFirstChange,18706,Variable +PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateDisabledByMethod,18707,Variable +PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Active,18708,Variable +PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Classification,18709,Variable +PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_DiagnosticsLevel,18710,Variable +PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_TimeFirstChange,18711,Variable +PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_LiveValues,18712,Object +PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_LiveValues_ResolvedAddress,18713,Variable +PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_LiveValues_ResolvedAddress_DiagnosticsLevel,18714,Variable +PublishSubscribeType_Diagnostics,18715,Object +PublishSubscribeType_Diagnostics_DiagnosticsLevel,18716,Variable +PublishSubscribeType_Diagnostics_TotalInformation,18717,Variable +PublishSubscribeType_Diagnostics_TotalInformation_Active,18718,Variable +PublishSubscribeType_Diagnostics_TotalInformation_Classification,18719,Variable +PublishSubscribeType_Diagnostics_TotalInformation_DiagnosticsLevel,18720,Variable +PublishSubscribeType_Diagnostics_TotalInformation_TimeFirstChange,18721,Variable +PublishSubscribeType_Diagnostics_TotalError,18722,Variable +PublishSubscribeType_Diagnostics_TotalError_Active,18723,Variable +PublishSubscribeType_Diagnostics_TotalError_Classification,18724,Variable +PublishSubscribeType_Diagnostics_TotalError_DiagnosticsLevel,18725,Variable +PublishSubscribeType_Diagnostics_TotalError_TimeFirstChange,18726,Variable +PublishSubscribeType_Diagnostics_Reset,18727,Method +PublishSubscribeType_Diagnostics_SubError,18728,Variable +PublishSubscribeType_Diagnostics_Counters,18729,Object +PublishSubscribeType_Diagnostics_Counters_StateError,18730,Variable +PublishSubscribeType_Diagnostics_Counters_StateError_Active,18731,Variable +PublishSubscribeType_Diagnostics_Counters_StateError_Classification,18732,Variable +PublishSubscribeType_Diagnostics_Counters_StateError_DiagnosticsLevel,18733,Variable +PublishSubscribeType_Diagnostics_Counters_StateError_TimeFirstChange,18734,Variable +PublishSubscribeType_Diagnostics_Counters_StateOperationalByMethod,18735,Variable +PublishSubscribeType_Diagnostics_Counters_StateOperationalByMethod_Active,18736,Variable +PublishSubscribeType_Diagnostics_Counters_StateOperationalByMethod_Classification,18737,Variable +PublishSubscribeType_Diagnostics_Counters_StateOperationalByMethod_DiagnosticsLevel,18738,Variable +PublishSubscribeType_Diagnostics_Counters_StateOperationalByMethod_TimeFirstChange,18739,Variable +PublishSubscribeType_Diagnostics_Counters_StateOperationalByParent,18740,Variable +PublishSubscribeType_Diagnostics_Counters_StateOperationalByParent_Active,18741,Variable +PublishSubscribeType_Diagnostics_Counters_StateOperationalByParent_Classification,18742,Variable +PublishSubscribeType_Diagnostics_Counters_StateOperationalByParent_DiagnosticsLevel,18743,Variable +PublishSubscribeType_Diagnostics_Counters_StateOperationalByParent_TimeFirstChange,18744,Variable +PublishSubscribeType_Diagnostics_Counters_StateOperationalFromError,18745,Variable +PublishSubscribeType_Diagnostics_Counters_StateOperationalFromError_Active,18746,Variable +PublishSubscribeType_Diagnostics_Counters_StateOperationalFromError_Classification,18747,Variable +PublishSubscribeType_Diagnostics_Counters_StateOperationalFromError_DiagnosticsLevel,18748,Variable +PublishSubscribeType_Diagnostics_Counters_StateOperationalFromError_TimeFirstChange,18749,Variable +PublishSubscribeType_Diagnostics_Counters_StatePausedByParent,18750,Variable +PublishSubscribeType_Diagnostics_Counters_StatePausedByParent_Active,18751,Variable +PublishSubscribeType_Diagnostics_Counters_StatePausedByParent_Classification,18752,Variable +PublishSubscribeType_Diagnostics_Counters_StatePausedByParent_DiagnosticsLevel,18753,Variable +PublishSubscribeType_Diagnostics_Counters_StatePausedByParent_TimeFirstChange,18754,Variable +PublishSubscribeType_Diagnostics_Counters_StateDisabledByMethod,18755,Variable +PublishSubscribeType_Diagnostics_Counters_StateDisabledByMethod_Active,18756,Variable +PublishSubscribeType_Diagnostics_Counters_StateDisabledByMethod_Classification,18757,Variable +PublishSubscribeType_Diagnostics_Counters_StateDisabledByMethod_DiagnosticsLevel,18758,Variable +PublishSubscribeType_Diagnostics_Counters_StateDisabledByMethod_TimeFirstChange,18759,Variable +PublishSubscribeType_Diagnostics_LiveValues,18760,Object +PublishSubscribeType_Diagnostics_LiveValues_ConfiguredDataSetWriters,18761,Variable +PublishSubscribeType_Diagnostics_LiveValues_ConfiguredDataSetWriters_DiagnosticsLevel,18762,Variable +PublishSubscribeType_Diagnostics_LiveValues_ConfiguredDataSetReaders,18763,Variable +PublishSubscribeType_Diagnostics_LiveValues_ConfiguredDataSetReaders_DiagnosticsLevel,18764,Variable +PublishSubscribeType_Diagnostics_LiveValues_OperationalDataSetWriters,18765,Variable +PublishSubscribeType_Diagnostics_LiveValues_OperationalDataSetWriters_DiagnosticsLevel,18766,Variable +PublishSubscribeType_Diagnostics_LiveValues_OperationalDataSetReaders,18767,Variable +PublishSubscribeType_Diagnostics_LiveValues_OperationalDataSetReaders_DiagnosticsLevel,18768,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics,18871,Object +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_DiagnosticsLevel,18872,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation,18873,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation_Active,18874,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation_Classification,18875,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation_DiagnosticsLevel,18876,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation_TimeFirstChange,18877,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_TotalError,18878,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_TotalError_Active,18879,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_TotalError_Classification,18880,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_TotalError_DiagnosticsLevel,18881,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_TotalError_TimeFirstChange,18882,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Reset,18883,Method +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_SubError,18884,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters,18885,Object +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError,18886,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError_Active,18887,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError_Classification,18888,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError_DiagnosticsLevel,18889,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError_TimeFirstChange,18890,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod,18891,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Active,18892,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Classification,18893,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_DiagnosticsLevel,18894,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_TimeFirstChange,18895,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent,18896,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Active,18897,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Classification,18898,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent_DiagnosticsLevel,18899,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent_TimeFirstChange,18900,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError,18901,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Active,18902,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Classification,18903,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError_DiagnosticsLevel,18904,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError_TimeFirstChange,18905,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent,18906,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent_Active,18907,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent_Classification,18908,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent_DiagnosticsLevel,18909,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent_TimeFirstChange,18910,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod,18911,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Active,18912,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Classification,18913,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_DiagnosticsLevel,18914,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_TimeFirstChange,18915,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_LiveValues,18916,Object +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages,18917,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_Active,18918,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_Classification,18919,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_DiagnosticsLevel,18920,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_TimeFirstChange,18921,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MessageSequenceNumber,18922,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MessageSequenceNumber_DiagnosticsLevel,18923,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_StatusCode,18924,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_StatusCode_DiagnosticsLevel,18925,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MajorVersion,18926,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MajorVersion_DiagnosticsLevel,18927,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MinorVersion,18928,Variable +PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MinorVersion_DiagnosticsLevel,18929,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics,18930,Object +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_DiagnosticsLevel,18931,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation,18932,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation_Active,18933,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation_Classification,18934,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation_DiagnosticsLevel,18935,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation_TimeFirstChange,18936,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_TotalError,18937,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_TotalError_Active,18938,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_TotalError_Classification,18939,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_TotalError_DiagnosticsLevel,18940,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_TotalError_TimeFirstChange,18941,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Reset,18942,Method +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_SubError,18943,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters,18944,Object +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError,18945,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError_Active,18946,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError_Classification,18947,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError_DiagnosticsLevel,18948,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError_TimeFirstChange,18949,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod,18950,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Active,18951,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Classification,18952,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_DiagnosticsLevel,18953,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_TimeFirstChange,18954,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent,18955,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Active,18956,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Classification,18957,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent_DiagnosticsLevel,18958,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent_TimeFirstChange,18959,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError,18960,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Active,18961,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Classification,18962,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError_DiagnosticsLevel,18963,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError_TimeFirstChange,18964,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent,18965,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent_Active,18966,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent_Classification,18967,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent_DiagnosticsLevel,18968,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent_TimeFirstChange,18969,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod,18970,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Active,18971,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Classification,18972,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_DiagnosticsLevel,18973,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_TimeFirstChange,18974,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues,18975,Object +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages,18976,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_Active,18977,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_Classification,18978,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_DiagnosticsLevel,18979,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_TimeFirstChange,18980,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MessageSequenceNumber,18981,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MessageSequenceNumber_DiagnosticsLevel,18982,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_StatusCode,18983,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_StatusCode_DiagnosticsLevel,18984,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MajorVersion,18985,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MajorVersion_DiagnosticsLevel,18986,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MinorVersion,18987,Variable +PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MinorVersion_DiagnosticsLevel,18988,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics,18989,Object +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_DiagnosticsLevel,18990,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation,18991,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation_Active,18992,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation_Classification,18993,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation_DiagnosticsLevel,18994,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation_TimeFirstChange,18995,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_TotalError,18996,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_TotalError_Active,18997,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_TotalError_Classification,18998,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_TotalError_DiagnosticsLevel,18999,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_TotalError_TimeFirstChange,19000,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Reset,19001,Method +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_SubError,19002,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters,19003,Object +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError,19004,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError_Active,19005,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError_Classification,19006,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError_DiagnosticsLevel,19007,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError_TimeFirstChange,19008,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod,19009,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Active,19010,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Classification,19011,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_DiagnosticsLevel,19012,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_TimeFirstChange,19013,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent,19014,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Active,19015,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Classification,19016,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent_DiagnosticsLevel,19017,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent_TimeFirstChange,19018,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError,19019,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Active,19020,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Classification,19021,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError_DiagnosticsLevel,19022,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError_TimeFirstChange,19023,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent,19024,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent_Active,19025,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent_Classification,19026,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent_DiagnosticsLevel,19027,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent_TimeFirstChange,19028,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod,19029,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Active,19030,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Classification,19031,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_DiagnosticsLevel,19032,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_TimeFirstChange,19033,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues,19034,Object +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages,19035,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_Active,19036,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_Classification,19037,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_DiagnosticsLevel,19038,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_TimeFirstChange,19039,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MessageSequenceNumber,19040,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MessageSequenceNumber_DiagnosticsLevel,19041,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_StatusCode,19042,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_StatusCode_DiagnosticsLevel,19043,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MajorVersion,19044,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MajorVersion_DiagnosticsLevel,19045,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MinorVersion,19046,Variable +PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MinorVersion_DiagnosticsLevel,19047,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics,19107,Object +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_DiagnosticsLevel,19108,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_TotalInformation,19109,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_TotalInformation_Active,19110,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_TotalInformation_Classification,19111,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_TotalInformation_DiagnosticsLevel,19112,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_TotalInformation_TimeFirstChange,19113,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_TotalError,19114,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_TotalError_Active,19115,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_TotalError_Classification,19116,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_TotalError_DiagnosticsLevel,19117,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_TotalError_TimeFirstChange,19118,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Reset,19119,Method +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_SubError,19120,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters,19121,Object +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateError,19122,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateError_Active,19123,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateError_Classification,19124,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateError_DiagnosticsLevel,19125,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateError_TimeFirstChange,19126,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateOperationalByMethod,19127,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Active,19128,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Classification,19129,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_DiagnosticsLevel,19130,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_TimeFirstChange,19131,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateOperationalByParent,19132,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Active,19133,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Classification,19134,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateOperationalByParent_DiagnosticsLevel,19135,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateOperationalByParent_TimeFirstChange,19136,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateOperationalFromError,19137,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Active,19138,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Classification,19139,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateOperationalFromError_DiagnosticsLevel,19140,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateOperationalFromError_TimeFirstChange,19141,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StatePausedByParent,19142,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StatePausedByParent_Active,19143,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StatePausedByParent_Classification,19144,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StatePausedByParent_DiagnosticsLevel,19145,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StatePausedByParent_TimeFirstChange,19146,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateDisabledByMethod,19147,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Active,19148,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Classification,19149,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_DiagnosticsLevel,19150,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_TimeFirstChange,19151,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_LiveValues,19152,Object +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_SentNetworkMessages,19153,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_SentNetworkMessages_Active,19154,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_SentNetworkMessages_Classification,19155,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_SentNetworkMessages_DiagnosticsLevel,19156,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_SentNetworkMessages_TimeFirstChange,19157,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_FailedTransmissions,19158,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_FailedTransmissions_Active,19159,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_FailedTransmissions_Classification,19160,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_FailedTransmissions_DiagnosticsLevel,19161,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_FailedTransmissions_TimeFirstChange,19162,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_EncryptionErrors,19163,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_EncryptionErrors_Active,19164,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_EncryptionErrors_Classification,19165,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_EncryptionErrors_DiagnosticsLevel,19166,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_EncryptionErrors_TimeFirstChange,19167,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_LiveValues_ConfiguredDataSetWriters,19168,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_LiveValues_ConfiguredDataSetWriters_DiagnosticsLevel,19169,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_LiveValues_OperationalDataSetWriters,19170,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_LiveValues_OperationalDataSetWriters_DiagnosticsLevel,19171,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_LiveValues_SecurityTokenID,19172,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_LiveValues_SecurityTokenID_DiagnosticsLevel,19173,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_LiveValues_TimeToNextTokenID,19174,Variable +PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_LiveValues_TimeToNextTokenID_DiagnosticsLevel,19175,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics,19176,Object +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_DiagnosticsLevel,19177,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_TotalInformation,19178,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_TotalInformation_Active,19179,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_TotalInformation_Classification,19180,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_TotalInformation_DiagnosticsLevel,19181,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_TotalInformation_TimeFirstChange,19182,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_TotalError,19183,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_TotalError_Active,19184,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_TotalError_Classification,19185,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_TotalError_DiagnosticsLevel,19186,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_TotalError_TimeFirstChange,19187,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Reset,19188,Method +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_SubError,19189,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters,19190,Object +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateError,19191,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateError_Active,19192,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateError_Classification,19193,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateError_DiagnosticsLevel,19194,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateError_TimeFirstChange,19195,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateOperationalByMethod,19196,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Active,19197,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Classification,19198,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_DiagnosticsLevel,19199,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_TimeFirstChange,19200,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateOperationalByParent,19201,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Active,19202,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Classification,19203,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateOperationalByParent_DiagnosticsLevel,19204,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateOperationalByParent_TimeFirstChange,19205,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateOperationalFromError,19206,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Active,19207,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Classification,19208,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateOperationalFromError_DiagnosticsLevel,19209,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateOperationalFromError_TimeFirstChange,19210,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StatePausedByParent,19211,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StatePausedByParent_Active,19212,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StatePausedByParent_Classification,19213,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StatePausedByParent_DiagnosticsLevel,19214,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StatePausedByParent_TimeFirstChange,19215,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateDisabledByMethod,19216,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Active,19217,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Classification,19218,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_DiagnosticsLevel,19219,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_TimeFirstChange,19220,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_LiveValues,19221,Object +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_ReceivedNetworkMessages,19222,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_ReceivedNetworkMessages_Active,19223,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_ReceivedNetworkMessages_Classification,19224,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_ReceivedNetworkMessages_DiagnosticsLevel,19225,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_ReceivedNetworkMessages_TimeFirstChange,19226,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_ReceivedInvalidNetworkMessages,19227,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_ReceivedInvalidNetworkMessages_Active,19228,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_ReceivedInvalidNetworkMessages_Classification,19229,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_ReceivedInvalidNetworkMessages_DiagnosticsLevel,19230,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_ReceivedInvalidNetworkMessages_TimeFirstChange,19231,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_DecryptionErrors,19232,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_DecryptionErrors_Active,19233,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_DecryptionErrors_Classification,19234,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_DecryptionErrors_DiagnosticsLevel,19235,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_DecryptionErrors_TimeFirstChange,19236,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_LiveValues_ConfiguredDataSetReaders,19237,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_LiveValues_ConfiguredDataSetReaders_DiagnosticsLevel,19238,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_LiveValues_OperationalDataSetReaders,19239,Variable +PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_LiveValues_OperationalDataSetReaders_DiagnosticsLevel,19240,Variable +PubSubConnectionType_Diagnostics,19241,Object +PubSubConnectionType_Diagnostics_DiagnosticsLevel,19242,Variable +PubSubConnectionType_Diagnostics_TotalInformation,19243,Variable +PubSubConnectionType_Diagnostics_TotalInformation_Active,19244,Variable +PubSubConnectionType_Diagnostics_TotalInformation_Classification,19245,Variable +PubSubConnectionType_Diagnostics_TotalInformation_DiagnosticsLevel,19246,Variable +PubSubConnectionType_Diagnostics_TotalInformation_TimeFirstChange,19247,Variable +PubSubConnectionType_Diagnostics_TotalError,19248,Variable +PubSubConnectionType_Diagnostics_TotalError_Active,19249,Variable +PubSubConnectionType_Diagnostics_TotalError_Classification,19250,Variable +PubSubConnectionType_Diagnostics_TotalError_DiagnosticsLevel,19251,Variable +PubSubConnectionType_Diagnostics_TotalError_TimeFirstChange,19252,Variable +PubSubConnectionType_Diagnostics_Reset,19253,Method +PubSubConnectionType_Diagnostics_SubError,19254,Variable +PubSubConnectionType_Diagnostics_Counters,19255,Object +PubSubConnectionType_Diagnostics_Counters_StateError,19256,Variable +PubSubConnectionType_Diagnostics_Counters_StateError_Active,19257,Variable +PubSubConnectionType_Diagnostics_Counters_StateError_Classification,19258,Variable +PubSubConnectionType_Diagnostics_Counters_StateError_DiagnosticsLevel,19259,Variable +PubSubConnectionType_Diagnostics_Counters_StateError_TimeFirstChange,19260,Variable +PubSubConnectionType_Diagnostics_Counters_StateOperationalByMethod,19261,Variable +PubSubConnectionType_Diagnostics_Counters_StateOperationalByMethod_Active,19262,Variable +PubSubConnectionType_Diagnostics_Counters_StateOperationalByMethod_Classification,19263,Variable +PubSubConnectionType_Diagnostics_Counters_StateOperationalByMethod_DiagnosticsLevel,19264,Variable +PubSubConnectionType_Diagnostics_Counters_StateOperationalByMethod_TimeFirstChange,19265,Variable +PubSubConnectionType_Diagnostics_Counters_StateOperationalByParent,19266,Variable +PubSubConnectionType_Diagnostics_Counters_StateOperationalByParent_Active,19267,Variable +PubSubConnectionType_Diagnostics_Counters_StateOperationalByParent_Classification,19268,Variable +PubSubConnectionType_Diagnostics_Counters_StateOperationalByParent_DiagnosticsLevel,19269,Variable +PubSubConnectionType_Diagnostics_Counters_StateOperationalByParent_TimeFirstChange,19270,Variable +PubSubConnectionType_Diagnostics_Counters_StateOperationalFromError,19271,Variable +PubSubConnectionType_Diagnostics_Counters_StateOperationalFromError_Active,19272,Variable +PubSubConnectionType_Diagnostics_Counters_StateOperationalFromError_Classification,19273,Variable +PubSubConnectionType_Diagnostics_Counters_StateOperationalFromError_DiagnosticsLevel,19274,Variable +PubSubConnectionType_Diagnostics_Counters_StateOperationalFromError_TimeFirstChange,19275,Variable +PubSubConnectionType_Diagnostics_Counters_StatePausedByParent,19276,Variable +PubSubConnectionType_Diagnostics_Counters_StatePausedByParent_Active,19277,Variable +PubSubConnectionType_Diagnostics_Counters_StatePausedByParent_Classification,19278,Variable +PubSubConnectionType_Diagnostics_Counters_StatePausedByParent_DiagnosticsLevel,19279,Variable +PubSubConnectionType_Diagnostics_Counters_StatePausedByParent_TimeFirstChange,19280,Variable +PubSubConnectionType_Diagnostics_Counters_StateDisabledByMethod,19281,Variable +PubSubConnectionType_Diagnostics_Counters_StateDisabledByMethod_Active,19282,Variable +PubSubConnectionType_Diagnostics_Counters_StateDisabledByMethod_Classification,19283,Variable +PubSubConnectionType_Diagnostics_Counters_StateDisabledByMethod_DiagnosticsLevel,19284,Variable +PubSubConnectionType_Diagnostics_Counters_StateDisabledByMethod_TimeFirstChange,19285,Variable +PubSubConnectionType_Diagnostics_LiveValues,19286,Object +PubSubConnectionType_Diagnostics_LiveValues_ResolvedAddress,19287,Variable +PubSubConnectionType_Diagnostics_LiveValues_ResolvedAddress_DiagnosticsLevel,19288,Variable +DataSetWriterType_Diagnostics,19550,Object +DataSetWriterType_Diagnostics_DiagnosticsLevel,19551,Variable +DataSetWriterType_Diagnostics_TotalInformation,19552,Variable +DataSetWriterType_Diagnostics_TotalInformation_Active,19553,Variable +DataSetWriterType_Diagnostics_TotalInformation_Classification,19554,Variable +DataSetWriterType_Diagnostics_TotalInformation_DiagnosticsLevel,19555,Variable +DataSetWriterType_Diagnostics_TotalInformation_TimeFirstChange,19556,Variable +DataSetWriterType_Diagnostics_TotalError,19557,Variable +DataSetWriterType_Diagnostics_TotalError_Active,19558,Variable +DataSetWriterType_Diagnostics_TotalError_Classification,19559,Variable +DataSetWriterType_Diagnostics_TotalError_DiagnosticsLevel,19560,Variable +DataSetWriterType_Diagnostics_TotalError_TimeFirstChange,19561,Variable +DataSetWriterType_Diagnostics_Reset,19562,Method +DataSetWriterType_Diagnostics_SubError,19563,Variable +DataSetWriterType_Diagnostics_Counters,19564,Object +DataSetWriterType_Diagnostics_Counters_StateError,19565,Variable +DataSetWriterType_Diagnostics_Counters_StateError_Active,19566,Variable +DataSetWriterType_Diagnostics_Counters_StateError_Classification,19567,Variable +DataSetWriterType_Diagnostics_Counters_StateError_DiagnosticsLevel,19568,Variable +DataSetWriterType_Diagnostics_Counters_StateError_TimeFirstChange,19569,Variable +DataSetWriterType_Diagnostics_Counters_StateOperationalByMethod,19570,Variable +DataSetWriterType_Diagnostics_Counters_StateOperationalByMethod_Active,19571,Variable +DataSetWriterType_Diagnostics_Counters_StateOperationalByMethod_Classification,19572,Variable +DataSetWriterType_Diagnostics_Counters_StateOperationalByMethod_DiagnosticsLevel,19573,Variable +DataSetWriterType_Diagnostics_Counters_StateOperationalByMethod_TimeFirstChange,19574,Variable +DataSetWriterType_Diagnostics_Counters_StateOperationalByParent,19575,Variable +DataSetWriterType_Diagnostics_Counters_StateOperationalByParent_Active,19576,Variable +DataSetWriterType_Diagnostics_Counters_StateOperationalByParent_Classification,19577,Variable +DataSetWriterType_Diagnostics_Counters_StateOperationalByParent_DiagnosticsLevel,19578,Variable +DataSetWriterType_Diagnostics_Counters_StateOperationalByParent_TimeFirstChange,19579,Variable +DataSetWriterType_Diagnostics_Counters_StateOperationalFromError,19580,Variable +DataSetWriterType_Diagnostics_Counters_StateOperationalFromError_Active,19581,Variable +DataSetWriterType_Diagnostics_Counters_StateOperationalFromError_Classification,19582,Variable +DataSetWriterType_Diagnostics_Counters_StateOperationalFromError_DiagnosticsLevel,19583,Variable +DataSetWriterType_Diagnostics_Counters_StateOperationalFromError_TimeFirstChange,19584,Variable +DataSetWriterType_Diagnostics_Counters_StatePausedByParent,19585,Variable +DataSetWriterType_Diagnostics_Counters_StatePausedByParent_Active,19586,Variable +DataSetWriterType_Diagnostics_Counters_StatePausedByParent_Classification,19587,Variable +DataSetWriterType_Diagnostics_Counters_StatePausedByParent_DiagnosticsLevel,19588,Variable +DataSetWriterType_Diagnostics_Counters_StatePausedByParent_TimeFirstChange,19589,Variable +DataSetWriterType_Diagnostics_Counters_StateDisabledByMethod,19590,Variable +DataSetWriterType_Diagnostics_Counters_StateDisabledByMethod_Active,19591,Variable +DataSetWriterType_Diagnostics_Counters_StateDisabledByMethod_Classification,19592,Variable +DataSetWriterType_Diagnostics_Counters_StateDisabledByMethod_DiagnosticsLevel,19593,Variable +DataSetWriterType_Diagnostics_Counters_StateDisabledByMethod_TimeFirstChange,19594,Variable +DataSetWriterType_Diagnostics_LiveValues,19595,Object +DataSetWriterType_Diagnostics_Counters_FailedDataSetMessages,19596,Variable +DataSetWriterType_Diagnostics_Counters_FailedDataSetMessages_Active,19597,Variable +DataSetWriterType_Diagnostics_Counters_FailedDataSetMessages_Classification,19598,Variable +DataSetWriterType_Diagnostics_Counters_FailedDataSetMessages_DiagnosticsLevel,19599,Variable +DataSetWriterType_Diagnostics_Counters_FailedDataSetMessages_TimeFirstChange,19600,Variable +DataSetWriterType_Diagnostics_LiveValues_MessageSequenceNumber,19601,Variable +DataSetWriterType_Diagnostics_LiveValues_MessageSequenceNumber_DiagnosticsLevel,19602,Variable +DataSetWriterType_Diagnostics_LiveValues_StatusCode,19603,Variable +DataSetWriterType_Diagnostics_LiveValues_StatusCode_DiagnosticsLevel,19604,Variable +DataSetWriterType_Diagnostics_LiveValues_MajorVersion,19605,Variable +DataSetWriterType_Diagnostics_LiveValues_MajorVersion_DiagnosticsLevel,19606,Variable +DataSetWriterType_Diagnostics_LiveValues_MinorVersion,19607,Variable +DataSetWriterType_Diagnostics_LiveValues_MinorVersion_DiagnosticsLevel,19608,Variable +DataSetReaderType_Diagnostics,19609,Object +DataSetReaderType_Diagnostics_DiagnosticsLevel,19610,Variable +DataSetReaderType_Diagnostics_TotalInformation,19611,Variable +DataSetReaderType_Diagnostics_TotalInformation_Active,19612,Variable +DataSetReaderType_Diagnostics_TotalInformation_Classification,19613,Variable +DataSetReaderType_Diagnostics_TotalInformation_DiagnosticsLevel,19614,Variable +DataSetReaderType_Diagnostics_TotalInformation_TimeFirstChange,19615,Variable +DataSetReaderType_Diagnostics_TotalError,19616,Variable +DataSetReaderType_Diagnostics_TotalError_Active,19617,Variable +DataSetReaderType_Diagnostics_TotalError_Classification,19618,Variable +DataSetReaderType_Diagnostics_TotalError_DiagnosticsLevel,19619,Variable +DataSetReaderType_Diagnostics_TotalError_TimeFirstChange,19620,Variable +DataSetReaderType_Diagnostics_Reset,19621,Method +DataSetReaderType_Diagnostics_SubError,19622,Variable +DataSetReaderType_Diagnostics_Counters,19623,Object +DataSetReaderType_Diagnostics_Counters_StateError,19624,Variable +DataSetReaderType_Diagnostics_Counters_StateError_Active,19625,Variable +DataSetReaderType_Diagnostics_Counters_StateError_Classification,19626,Variable +DataSetReaderType_Diagnostics_Counters_StateError_DiagnosticsLevel,19627,Variable +DataSetReaderType_Diagnostics_Counters_StateError_TimeFirstChange,19628,Variable +DataSetReaderType_Diagnostics_Counters_StateOperationalByMethod,19629,Variable +DataSetReaderType_Diagnostics_Counters_StateOperationalByMethod_Active,19630,Variable +DataSetReaderType_Diagnostics_Counters_StateOperationalByMethod_Classification,19631,Variable +DataSetReaderType_Diagnostics_Counters_StateOperationalByMethod_DiagnosticsLevel,19632,Variable +DataSetReaderType_Diagnostics_Counters_StateOperationalByMethod_TimeFirstChange,19633,Variable +DataSetReaderType_Diagnostics_Counters_StateOperationalByParent,19634,Variable +DataSetReaderType_Diagnostics_Counters_StateOperationalByParent_Active,19635,Variable +DataSetReaderType_Diagnostics_Counters_StateOperationalByParent_Classification,19636,Variable +DataSetReaderType_Diagnostics_Counters_StateOperationalByParent_DiagnosticsLevel,19637,Variable +DataSetReaderType_Diagnostics_Counters_StateOperationalByParent_TimeFirstChange,19638,Variable +DataSetReaderType_Diagnostics_Counters_StateOperationalFromError,19639,Variable +DataSetReaderType_Diagnostics_Counters_StateOperationalFromError_Active,19640,Variable +DataSetReaderType_Diagnostics_Counters_StateOperationalFromError_Classification,19641,Variable +DataSetReaderType_Diagnostics_Counters_StateOperationalFromError_DiagnosticsLevel,19642,Variable +DataSetReaderType_Diagnostics_Counters_StateOperationalFromError_TimeFirstChange,19643,Variable +DataSetReaderType_Diagnostics_Counters_StatePausedByParent,19644,Variable +DataSetReaderType_Diagnostics_Counters_StatePausedByParent_Active,19645,Variable +DataSetReaderType_Diagnostics_Counters_StatePausedByParent_Classification,19646,Variable +DataSetReaderType_Diagnostics_Counters_StatePausedByParent_DiagnosticsLevel,19647,Variable +DataSetReaderType_Diagnostics_Counters_StatePausedByParent_TimeFirstChange,19648,Variable +DataSetReaderType_Diagnostics_Counters_StateDisabledByMethod,19649,Variable +DataSetReaderType_Diagnostics_Counters_StateDisabledByMethod_Active,19650,Variable +DataSetReaderType_Diagnostics_Counters_StateDisabledByMethod_Classification,19651,Variable +DataSetReaderType_Diagnostics_Counters_StateDisabledByMethod_DiagnosticsLevel,19652,Variable +DataSetReaderType_Diagnostics_Counters_StateDisabledByMethod_TimeFirstChange,19653,Variable +DataSetReaderType_Diagnostics_LiveValues,19654,Object +DataSetReaderType_Diagnostics_Counters_FailedDataSetMessages,19655,Variable +DataSetReaderType_Diagnostics_Counters_FailedDataSetMessages_Active,19656,Variable +DataSetReaderType_Diagnostics_Counters_FailedDataSetMessages_Classification,19657,Variable +DataSetReaderType_Diagnostics_Counters_FailedDataSetMessages_DiagnosticsLevel,19658,Variable +DataSetReaderType_Diagnostics_Counters_FailedDataSetMessages_TimeFirstChange,19659,Variable +DataSetReaderType_Diagnostics_Counters_DecryptionErrors,19660,Variable +DataSetReaderType_Diagnostics_Counters_DecryptionErrors_Active,19661,Variable +DataSetReaderType_Diagnostics_Counters_DecryptionErrors_Classification,19662,Variable +DataSetReaderType_Diagnostics_Counters_DecryptionErrors_DiagnosticsLevel,19663,Variable +DataSetReaderType_Diagnostics_Counters_DecryptionErrors_TimeFirstChange,19664,Variable +DataSetReaderType_Diagnostics_LiveValues_MessageSequenceNumber,19665,Variable +DataSetReaderType_Diagnostics_LiveValues_MessageSequenceNumber_DiagnosticsLevel,19666,Variable +DataSetReaderType_Diagnostics_LiveValues_StatusCode,19667,Variable +DataSetReaderType_Diagnostics_LiveValues_StatusCode_DiagnosticsLevel,19668,Variable +DataSetReaderType_Diagnostics_LiveValues_MajorVersion,19669,Variable +DataSetReaderType_Diagnostics_LiveValues_MajorVersion_DiagnosticsLevel,19670,Variable +DataSetReaderType_Diagnostics_LiveValues_MinorVersion,19671,Variable +DataSetReaderType_Diagnostics_LiveValues_MinorVersion_DiagnosticsLevel,19672,Variable +DataSetReaderType_Diagnostics_LiveValues_SecurityTokenID,19673,Variable +DataSetReaderType_Diagnostics_LiveValues_SecurityTokenID_DiagnosticsLevel,19674,Variable +DataSetReaderType_Diagnostics_LiveValues_TimeToNextTokenID,19675,Variable +DataSetReaderType_Diagnostics_LiveValues_TimeToNextTokenID_DiagnosticsLevel,19676,Variable +PubSubDiagnosticsType,19677,ObjectType +PubSubDiagnosticsType_DiagnosticsLevel,19678,Variable +PubSubDiagnosticsType_TotalInformation,19679,Variable +PubSubDiagnosticsType_TotalInformation_Active,19680,Variable +PubSubDiagnosticsType_TotalInformation_Classification,19681,Variable +PubSubDiagnosticsType_TotalInformation_DiagnosticsLevel,19682,Variable +PubSubDiagnosticsType_TotalInformation_TimeFirstChange,19683,Variable +PubSubDiagnosticsType_TotalError,19684,Variable +PubSubDiagnosticsType_TotalError_Active,19685,Variable +PubSubDiagnosticsType_TotalError_Classification,19686,Variable +PubSubDiagnosticsType_TotalError_DiagnosticsLevel,19687,Variable +PubSubDiagnosticsType_TotalError_TimeFirstChange,19688,Variable +PubSubDiagnosticsType_Reset,19689,Method +PubSubDiagnosticsType_SubError,19690,Variable +PubSubDiagnosticsType_Counters,19691,Object +PubSubDiagnosticsType_Counters_StateError,19692,Variable +PubSubDiagnosticsType_Counters_StateError_Active,19693,Variable +PubSubDiagnosticsType_Counters_StateError_Classification,19694,Variable +PubSubDiagnosticsType_Counters_StateError_DiagnosticsLevel,19695,Variable +PubSubDiagnosticsType_Counters_StateError_TimeFirstChange,19696,Variable +PubSubDiagnosticsType_Counters_StateOperationalByMethod,19697,Variable +PubSubDiagnosticsType_Counters_StateOperationalByMethod_Active,19698,Variable +PubSubDiagnosticsType_Counters_StateOperationalByMethod_Classification,19699,Variable +PubSubDiagnosticsType_Counters_StateOperationalByMethod_DiagnosticsLevel,19700,Variable +PubSubDiagnosticsType_Counters_StateOperationalByMethod_TimeFirstChange,19701,Variable +PubSubDiagnosticsType_Counters_StateOperationalByParent,19702,Variable +PubSubDiagnosticsType_Counters_StateOperationalByParent_Active,19703,Variable +PubSubDiagnosticsType_Counters_StateOperationalByParent_Classification,19704,Variable +PubSubDiagnosticsType_Counters_StateOperationalByParent_DiagnosticsLevel,19705,Variable +PubSubDiagnosticsType_Counters_StateOperationalByParent_TimeFirstChange,19706,Variable +PubSubDiagnosticsType_Counters_StateOperationalFromError,19707,Variable +PubSubDiagnosticsType_Counters_StateOperationalFromError_Active,19708,Variable +PubSubDiagnosticsType_Counters_StateOperationalFromError_Classification,19709,Variable +PubSubDiagnosticsType_Counters_StateOperationalFromError_DiagnosticsLevel,19710,Variable +PubSubDiagnosticsType_Counters_StateOperationalFromError_TimeFirstChange,19711,Variable +PubSubDiagnosticsType_Counters_StatePausedByParent,19712,Variable +PubSubDiagnosticsType_Counters_StatePausedByParent_Active,19713,Variable +PubSubDiagnosticsType_Counters_StatePausedByParent_Classification,19714,Variable +PubSubDiagnosticsType_Counters_StatePausedByParent_DiagnosticsLevel,19715,Variable +PubSubDiagnosticsType_Counters_StatePausedByParent_TimeFirstChange,19716,Variable +PubSubDiagnosticsType_Counters_StateDisabledByMethod,19717,Variable +PubSubDiagnosticsType_Counters_StateDisabledByMethod_Active,19718,Variable +PubSubDiagnosticsType_Counters_StateDisabledByMethod_Classification,19719,Variable +PubSubDiagnosticsType_Counters_StateDisabledByMethod_DiagnosticsLevel,19720,Variable +PubSubDiagnosticsType_Counters_StateDisabledByMethod_TimeFirstChange,19721,Variable +PubSubDiagnosticsType_LiveValues,19722,Object +DiagnosticsLevel,19723,DataType +DiagnosticsLevel_EnumStrings,19724,Variable +PubSubDiagnosticsCounterType,19725,VariableType +PubSubDiagnosticsCounterType_Active,19726,Variable +PubSubDiagnosticsCounterType_Classification,19727,Variable +PubSubDiagnosticsCounterType_DiagnosticsLevel,19728,Variable +PubSubDiagnosticsCounterType_TimeFirstChange,19729,Variable +PubSubDiagnosticsCounterClassification,19730,DataType +PubSubDiagnosticsCounterClassification_EnumStrings,19731,Variable +PubSubDiagnosticsRootType,19732,ObjectType +PubSubDiagnosticsRootType_DiagnosticsLevel,19733,Variable +PubSubDiagnosticsRootType_TotalInformation,19734,Variable +PubSubDiagnosticsRootType_TotalInformation_Active,19735,Variable +PubSubDiagnosticsRootType_TotalInformation_Classification,19736,Variable +PubSubDiagnosticsRootType_TotalInformation_DiagnosticsLevel,19737,Variable +PubSubDiagnosticsRootType_TotalInformation_TimeFirstChange,19738,Variable +PubSubDiagnosticsRootType_TotalError,19739,Variable +PubSubDiagnosticsRootType_TotalError_Active,19740,Variable +PubSubDiagnosticsRootType_TotalError_Classification,19741,Variable +PubSubDiagnosticsRootType_TotalError_DiagnosticsLevel,19742,Variable +PubSubDiagnosticsRootType_TotalError_TimeFirstChange,19743,Variable +PubSubDiagnosticsRootType_Reset,19744,Method +PubSubDiagnosticsRootType_SubError,19745,Variable +PubSubDiagnosticsRootType_Counters,19746,Object +PubSubDiagnosticsRootType_Counters_StateError,19747,Variable +PubSubDiagnosticsRootType_Counters_StateError_Active,19748,Variable +PubSubDiagnosticsRootType_Counters_StateError_Classification,19749,Variable +PubSubDiagnosticsRootType_Counters_StateError_DiagnosticsLevel,19750,Variable +PubSubDiagnosticsRootType_Counters_StateError_TimeFirstChange,19751,Variable +PubSubDiagnosticsRootType_Counters_StateOperationalByMethod,19752,Variable +PubSubDiagnosticsRootType_Counters_StateOperationalByMethod_Active,19753,Variable +PubSubDiagnosticsRootType_Counters_StateOperationalByMethod_Classification,19754,Variable +PubSubDiagnosticsRootType_Counters_StateOperationalByMethod_DiagnosticsLevel,19755,Variable +PubSubDiagnosticsRootType_Counters_StateOperationalByMethod_TimeFirstChange,19756,Variable +PubSubDiagnosticsRootType_Counters_StateOperationalByParent,19757,Variable +PubSubDiagnosticsRootType_Counters_StateOperationalByParent_Active,19758,Variable +PubSubDiagnosticsRootType_Counters_StateOperationalByParent_Classification,19759,Variable +PubSubDiagnosticsRootType_Counters_StateOperationalByParent_DiagnosticsLevel,19760,Variable +PubSubDiagnosticsRootType_Counters_StateOperationalByParent_TimeFirstChange,19761,Variable +PubSubDiagnosticsRootType_Counters_StateOperationalFromError,19762,Variable +PubSubDiagnosticsRootType_Counters_StateOperationalFromError_Active,19763,Variable +PubSubDiagnosticsRootType_Counters_StateOperationalFromError_Classification,19764,Variable +PubSubDiagnosticsRootType_Counters_StateOperationalFromError_DiagnosticsLevel,19765,Variable +PubSubDiagnosticsRootType_Counters_StateOperationalFromError_TimeFirstChange,19766,Variable +PubSubDiagnosticsRootType_Counters_StatePausedByParent,19767,Variable +PubSubDiagnosticsRootType_Counters_StatePausedByParent_Active,19768,Variable +PubSubDiagnosticsRootType_Counters_StatePausedByParent_Classification,19769,Variable +PubSubDiagnosticsRootType_Counters_StatePausedByParent_DiagnosticsLevel,19770,Variable +PubSubDiagnosticsRootType_Counters_StatePausedByParent_TimeFirstChange,19771,Variable +PubSubDiagnosticsRootType_Counters_StateDisabledByMethod,19772,Variable +PubSubDiagnosticsRootType_Counters_StateDisabledByMethod_Active,19773,Variable +PubSubDiagnosticsRootType_Counters_StateDisabledByMethod_Classification,19774,Variable +PubSubDiagnosticsRootType_Counters_StateDisabledByMethod_DiagnosticsLevel,19775,Variable +PubSubDiagnosticsRootType_Counters_StateDisabledByMethod_TimeFirstChange,19776,Variable +PubSubDiagnosticsRootType_LiveValues,19777,Object +PubSubDiagnosticsRootType_LiveValues_ConfiguredDataSetWriters,19778,Variable +PubSubDiagnosticsRootType_LiveValues_ConfiguredDataSetWriters_DiagnosticsLevel,19779,Variable +PubSubDiagnosticsRootType_LiveValues_ConfiguredDataSetReaders,19780,Variable +PubSubDiagnosticsRootType_LiveValues_ConfiguredDataSetReaders_DiagnosticsLevel,19781,Variable +PubSubDiagnosticsRootType_LiveValues_OperationalDataSetWriters,19782,Variable +PubSubDiagnosticsRootType_LiveValues_OperationalDataSetWriters_DiagnosticsLevel,19783,Variable +PubSubDiagnosticsRootType_LiveValues_OperationalDataSetReaders,19784,Variable +PubSubDiagnosticsRootType_LiveValues_OperationalDataSetReaders_DiagnosticsLevel,19785,Variable +PubSubDiagnosticsConnectionType,19786,ObjectType +PubSubDiagnosticsConnectionType_DiagnosticsLevel,19787,Variable +PubSubDiagnosticsConnectionType_TotalInformation,19788,Variable +PubSubDiagnosticsConnectionType_TotalInformation_Active,19789,Variable +PubSubDiagnosticsConnectionType_TotalInformation_Classification,19790,Variable +PubSubDiagnosticsConnectionType_TotalInformation_DiagnosticsLevel,19791,Variable +PubSubDiagnosticsConnectionType_TotalInformation_TimeFirstChange,19792,Variable +PubSubDiagnosticsConnectionType_TotalError,19793,Variable +PubSubDiagnosticsConnectionType_TotalError_Active,19794,Variable +PubSubDiagnosticsConnectionType_TotalError_Classification,19795,Variable +PubSubDiagnosticsConnectionType_TotalError_DiagnosticsLevel,19796,Variable +PubSubDiagnosticsConnectionType_TotalError_TimeFirstChange,19797,Variable +PubSubDiagnosticsConnectionType_Reset,19798,Method +PubSubDiagnosticsConnectionType_SubError,19799,Variable +PubSubDiagnosticsConnectionType_Counters,19800,Object +PubSubDiagnosticsConnectionType_Counters_StateError,19801,Variable +PubSubDiagnosticsConnectionType_Counters_StateError_Active,19802,Variable +PubSubDiagnosticsConnectionType_Counters_StateError_Classification,19803,Variable +PubSubDiagnosticsConnectionType_Counters_StateError_DiagnosticsLevel,19804,Variable +PubSubDiagnosticsConnectionType_Counters_StateError_TimeFirstChange,19805,Variable +PubSubDiagnosticsConnectionType_Counters_StateOperationalByMethod,19806,Variable +PubSubDiagnosticsConnectionType_Counters_StateOperationalByMethod_Active,19807,Variable +PubSubDiagnosticsConnectionType_Counters_StateOperationalByMethod_Classification,19808,Variable +PubSubDiagnosticsConnectionType_Counters_StateOperationalByMethod_DiagnosticsLevel,19809,Variable +PubSubDiagnosticsConnectionType_Counters_StateOperationalByMethod_TimeFirstChange,19810,Variable +PubSubDiagnosticsConnectionType_Counters_StateOperationalByParent,19811,Variable +PubSubDiagnosticsConnectionType_Counters_StateOperationalByParent_Active,19812,Variable +PubSubDiagnosticsConnectionType_Counters_StateOperationalByParent_Classification,19813,Variable +PubSubDiagnosticsConnectionType_Counters_StateOperationalByParent_DiagnosticsLevel,19814,Variable +PubSubDiagnosticsConnectionType_Counters_StateOperationalByParent_TimeFirstChange,19815,Variable +PubSubDiagnosticsConnectionType_Counters_StateOperationalFromError,19816,Variable +PubSubDiagnosticsConnectionType_Counters_StateOperationalFromError_Active,19817,Variable +PubSubDiagnosticsConnectionType_Counters_StateOperationalFromError_Classification,19818,Variable +PubSubDiagnosticsConnectionType_Counters_StateOperationalFromError_DiagnosticsLevel,19819,Variable +PubSubDiagnosticsConnectionType_Counters_StateOperationalFromError_TimeFirstChange,19820,Variable +PubSubDiagnosticsConnectionType_Counters_StatePausedByParent,19821,Variable +PubSubDiagnosticsConnectionType_Counters_StatePausedByParent_Active,19822,Variable +PubSubDiagnosticsConnectionType_Counters_StatePausedByParent_Classification,19823,Variable +PubSubDiagnosticsConnectionType_Counters_StatePausedByParent_DiagnosticsLevel,19824,Variable +PubSubDiagnosticsConnectionType_Counters_StatePausedByParent_TimeFirstChange,19825,Variable +PubSubDiagnosticsConnectionType_Counters_StateDisabledByMethod,19826,Variable +PubSubDiagnosticsConnectionType_Counters_StateDisabledByMethod_Active,19827,Variable +PubSubDiagnosticsConnectionType_Counters_StateDisabledByMethod_Classification,19828,Variable +PubSubDiagnosticsConnectionType_Counters_StateDisabledByMethod_DiagnosticsLevel,19829,Variable +PubSubDiagnosticsConnectionType_Counters_StateDisabledByMethod_TimeFirstChange,19830,Variable +PubSubDiagnosticsConnectionType_LiveValues,19831,Object +PubSubDiagnosticsConnectionType_LiveValues_ResolvedAddress,19832,Variable +PubSubDiagnosticsConnectionType_LiveValues_ResolvedAddress_DiagnosticsLevel,19833,Variable +PubSubDiagnosticsWriterGroupType,19834,ObjectType +PubSubDiagnosticsWriterGroupType_DiagnosticsLevel,19835,Variable +PubSubDiagnosticsWriterGroupType_TotalInformation,19836,Variable +PubSubDiagnosticsWriterGroupType_TotalInformation_Active,19837,Variable +PubSubDiagnosticsWriterGroupType_TotalInformation_Classification,19838,Variable +PubSubDiagnosticsWriterGroupType_TotalInformation_DiagnosticsLevel,19839,Variable +PubSubDiagnosticsWriterGroupType_TotalInformation_TimeFirstChange,19840,Variable +PubSubDiagnosticsWriterGroupType_TotalError,19841,Variable +PubSubDiagnosticsWriterGroupType_TotalError_Active,19842,Variable +PubSubDiagnosticsWriterGroupType_TotalError_Classification,19843,Variable +PubSubDiagnosticsWriterGroupType_TotalError_DiagnosticsLevel,19844,Variable +PubSubDiagnosticsWriterGroupType_TotalError_TimeFirstChange,19845,Variable +PubSubDiagnosticsWriterGroupType_Reset,19846,Method +PubSubDiagnosticsWriterGroupType_SubError,19847,Variable +PubSubDiagnosticsWriterGroupType_Counters,19848,Object +PubSubDiagnosticsWriterGroupType_Counters_StateError,19849,Variable +PubSubDiagnosticsWriterGroupType_Counters_StateError_Active,19850,Variable +PubSubDiagnosticsWriterGroupType_Counters_StateError_Classification,19851,Variable +PubSubDiagnosticsWriterGroupType_Counters_StateError_DiagnosticsLevel,19852,Variable +PubSubDiagnosticsWriterGroupType_Counters_StateError_TimeFirstChange,19853,Variable +PubSubDiagnosticsWriterGroupType_Counters_StateOperationalByMethod,19854,Variable +PubSubDiagnosticsWriterGroupType_Counters_StateOperationalByMethod_Active,19855,Variable +PubSubDiagnosticsWriterGroupType_Counters_StateOperationalByMethod_Classification,19856,Variable +PubSubDiagnosticsWriterGroupType_Counters_StateOperationalByMethod_DiagnosticsLevel,19857,Variable +PubSubDiagnosticsWriterGroupType_Counters_StateOperationalByMethod_TimeFirstChange,19858,Variable +PubSubDiagnosticsWriterGroupType_Counters_StateOperationalByParent,19859,Variable +PubSubDiagnosticsWriterGroupType_Counters_StateOperationalByParent_Active,19860,Variable +PubSubDiagnosticsWriterGroupType_Counters_StateOperationalByParent_Classification,19861,Variable +PubSubDiagnosticsWriterGroupType_Counters_StateOperationalByParent_DiagnosticsLevel,19862,Variable +PubSubDiagnosticsWriterGroupType_Counters_StateOperationalByParent_TimeFirstChange,19863,Variable +PubSubDiagnosticsWriterGroupType_Counters_StateOperationalFromError,19864,Variable +PubSubDiagnosticsWriterGroupType_Counters_StateOperationalFromError_Active,19865,Variable +PubSubDiagnosticsWriterGroupType_Counters_StateOperationalFromError_Classification,19866,Variable +PubSubDiagnosticsWriterGroupType_Counters_StateOperationalFromError_DiagnosticsLevel,19867,Variable +PubSubDiagnosticsWriterGroupType_Counters_StateOperationalFromError_TimeFirstChange,19868,Variable +PubSubDiagnosticsWriterGroupType_Counters_StatePausedByParent,19869,Variable +PubSubDiagnosticsWriterGroupType_Counters_StatePausedByParent_Active,19870,Variable +PubSubDiagnosticsWriterGroupType_Counters_StatePausedByParent_Classification,19871,Variable +PubSubDiagnosticsWriterGroupType_Counters_StatePausedByParent_DiagnosticsLevel,19872,Variable +PubSubDiagnosticsWriterGroupType_Counters_StatePausedByParent_TimeFirstChange,19873,Variable +PubSubDiagnosticsWriterGroupType_Counters_StateDisabledByMethod,19874,Variable +PubSubDiagnosticsWriterGroupType_Counters_StateDisabledByMethod_Active,19875,Variable +PubSubDiagnosticsWriterGroupType_Counters_StateDisabledByMethod_Classification,19876,Variable +PubSubDiagnosticsWriterGroupType_Counters_StateDisabledByMethod_DiagnosticsLevel,19877,Variable +PubSubDiagnosticsWriterGroupType_Counters_StateDisabledByMethod_TimeFirstChange,19878,Variable +PubSubDiagnosticsWriterGroupType_LiveValues,19879,Object +PubSubDiagnosticsWriterGroupType_Counters_SentNetworkMessages,19880,Variable +PubSubDiagnosticsWriterGroupType_Counters_SentNetworkMessages_Active,19881,Variable +PubSubDiagnosticsWriterGroupType_Counters_SentNetworkMessages_Classification,19882,Variable +PubSubDiagnosticsWriterGroupType_Counters_SentNetworkMessages_DiagnosticsLevel,19883,Variable +PubSubDiagnosticsWriterGroupType_Counters_SentNetworkMessages_TimeFirstChange,19884,Variable +PubSubDiagnosticsWriterGroupType_Counters_FailedTransmissions,19885,Variable +PubSubDiagnosticsWriterGroupType_Counters_FailedTransmissions_Active,19886,Variable +PubSubDiagnosticsWriterGroupType_Counters_FailedTransmissions_Classification,19887,Variable +PubSubDiagnosticsWriterGroupType_Counters_FailedTransmissions_DiagnosticsLevel,19888,Variable +PubSubDiagnosticsWriterGroupType_Counters_FailedTransmissions_TimeFirstChange,19889,Variable +PubSubDiagnosticsWriterGroupType_Counters_EncryptionErrors,19890,Variable +PubSubDiagnosticsWriterGroupType_Counters_EncryptionErrors_Active,19891,Variable +PubSubDiagnosticsWriterGroupType_Counters_EncryptionErrors_Classification,19892,Variable +PubSubDiagnosticsWriterGroupType_Counters_EncryptionErrors_DiagnosticsLevel,19893,Variable +PubSubDiagnosticsWriterGroupType_Counters_EncryptionErrors_TimeFirstChange,19894,Variable +PubSubDiagnosticsWriterGroupType_LiveValues_ConfiguredDataSetWriters,19895,Variable +PubSubDiagnosticsWriterGroupType_LiveValues_ConfiguredDataSetWriters_DiagnosticsLevel,19896,Variable +PubSubDiagnosticsWriterGroupType_LiveValues_OperationalDataSetWriters,19897,Variable +PubSubDiagnosticsWriterGroupType_LiveValues_OperationalDataSetWriters_DiagnosticsLevel,19898,Variable +PubSubDiagnosticsWriterGroupType_LiveValues_SecurityTokenID,19899,Variable +PubSubDiagnosticsWriterGroupType_LiveValues_SecurityTokenID_DiagnosticsLevel,19900,Variable +PubSubDiagnosticsWriterGroupType_LiveValues_TimeToNextTokenID,19901,Variable +PubSubDiagnosticsWriterGroupType_LiveValues_TimeToNextTokenID_DiagnosticsLevel,19902,Variable +PubSubDiagnosticsReaderGroupType,19903,ObjectType +PubSubDiagnosticsReaderGroupType_DiagnosticsLevel,19904,Variable +PubSubDiagnosticsReaderGroupType_TotalInformation,19905,Variable +PubSubDiagnosticsReaderGroupType_TotalInformation_Active,19906,Variable +PubSubDiagnosticsReaderGroupType_TotalInformation_Classification,19907,Variable +PubSubDiagnosticsReaderGroupType_TotalInformation_DiagnosticsLevel,19908,Variable +PubSubDiagnosticsReaderGroupType_TotalInformation_TimeFirstChange,19909,Variable +PubSubDiagnosticsReaderGroupType_TotalError,19910,Variable +PubSubDiagnosticsReaderGroupType_TotalError_Active,19911,Variable +PubSubDiagnosticsReaderGroupType_TotalError_Classification,19912,Variable +PubSubDiagnosticsReaderGroupType_TotalError_DiagnosticsLevel,19913,Variable +PubSubDiagnosticsReaderGroupType_TotalError_TimeFirstChange,19914,Variable +PubSubDiagnosticsReaderGroupType_Reset,19915,Method +PubSubDiagnosticsReaderGroupType_SubError,19916,Variable +PubSubDiagnosticsReaderGroupType_Counters,19917,Object +PubSubDiagnosticsReaderGroupType_Counters_StateError,19918,Variable +PubSubDiagnosticsReaderGroupType_Counters_StateError_Active,19919,Variable +PubSubDiagnosticsReaderGroupType_Counters_StateError_Classification,19920,Variable +PubSubDiagnosticsReaderGroupType_Counters_StateError_DiagnosticsLevel,19921,Variable +PubSubDiagnosticsReaderGroupType_Counters_StateError_TimeFirstChange,19922,Variable +PubSubDiagnosticsReaderGroupType_Counters_StateOperationalByMethod,19923,Variable +PubSubDiagnosticsReaderGroupType_Counters_StateOperationalByMethod_Active,19924,Variable +PubSubDiagnosticsReaderGroupType_Counters_StateOperationalByMethod_Classification,19925,Variable +PubSubDiagnosticsReaderGroupType_Counters_StateOperationalByMethod_DiagnosticsLevel,19926,Variable +PubSubDiagnosticsReaderGroupType_Counters_StateOperationalByMethod_TimeFirstChange,19927,Variable +PubSubDiagnosticsReaderGroupType_Counters_StateOperationalByParent,19928,Variable +PubSubDiagnosticsReaderGroupType_Counters_StateOperationalByParent_Active,19929,Variable +PubSubDiagnosticsReaderGroupType_Counters_StateOperationalByParent_Classification,19930,Variable +PubSubDiagnosticsReaderGroupType_Counters_StateOperationalByParent_DiagnosticsLevel,19931,Variable +PubSubDiagnosticsReaderGroupType_Counters_StateOperationalByParent_TimeFirstChange,19932,Variable +PubSubDiagnosticsReaderGroupType_Counters_StateOperationalFromError,19933,Variable +PubSubDiagnosticsReaderGroupType_Counters_StateOperationalFromError_Active,19934,Variable +PubSubDiagnosticsReaderGroupType_Counters_StateOperationalFromError_Classification,19935,Variable +PubSubDiagnosticsReaderGroupType_Counters_StateOperationalFromError_DiagnosticsLevel,19936,Variable +PubSubDiagnosticsReaderGroupType_Counters_StateOperationalFromError_TimeFirstChange,19937,Variable +PubSubDiagnosticsReaderGroupType_Counters_StatePausedByParent,19938,Variable +PubSubDiagnosticsReaderGroupType_Counters_StatePausedByParent_Active,19939,Variable +PubSubDiagnosticsReaderGroupType_Counters_StatePausedByParent_Classification,19940,Variable +PubSubDiagnosticsReaderGroupType_Counters_StatePausedByParent_DiagnosticsLevel,19941,Variable +PubSubDiagnosticsReaderGroupType_Counters_StatePausedByParent_TimeFirstChange,19942,Variable +PubSubDiagnosticsReaderGroupType_Counters_StateDisabledByMethod,19943,Variable +PubSubDiagnosticsReaderGroupType_Counters_StateDisabledByMethod_Active,19944,Variable +PubSubDiagnosticsReaderGroupType_Counters_StateDisabledByMethod_Classification,19945,Variable +PubSubDiagnosticsReaderGroupType_Counters_StateDisabledByMethod_DiagnosticsLevel,19946,Variable +PubSubDiagnosticsReaderGroupType_Counters_StateDisabledByMethod_TimeFirstChange,19947,Variable +PubSubDiagnosticsReaderGroupType_LiveValues,19948,Object +PubSubDiagnosticsReaderGroupType_Counters_ReceivedNetworkMessages,19949,Variable +PubSubDiagnosticsReaderGroupType_Counters_ReceivedNetworkMessages_Active,19950,Variable +PubSubDiagnosticsReaderGroupType_Counters_ReceivedNetworkMessages_Classification,19951,Variable +PubSubDiagnosticsReaderGroupType_Counters_ReceivedNetworkMessages_DiagnosticsLevel,19952,Variable +PubSubDiagnosticsReaderGroupType_Counters_ReceivedNetworkMessages_TimeFirstChange,19953,Variable +PubSubDiagnosticsReaderGroupType_Counters_ReceivedInvalidNetworkMessages,19954,Variable +PubSubDiagnosticsReaderGroupType_Counters_ReceivedInvalidNetworkMessages_Active,19955,Variable +PubSubDiagnosticsReaderGroupType_Counters_ReceivedInvalidNetworkMessages_Classification,19956,Variable +PubSubDiagnosticsReaderGroupType_Counters_ReceivedInvalidNetworkMessages_DiagnosticsLevel,19957,Variable +PubSubDiagnosticsReaderGroupType_Counters_ReceivedInvalidNetworkMessages_TimeFirstChange,19958,Variable +PubSubDiagnosticsReaderGroupType_Counters_DecryptionErrors,19959,Variable +PubSubDiagnosticsReaderGroupType_Counters_DecryptionErrors_Active,19960,Variable +PubSubDiagnosticsReaderGroupType_Counters_DecryptionErrors_Classification,19961,Variable +PubSubDiagnosticsReaderGroupType_Counters_DecryptionErrors_DiagnosticsLevel,19962,Variable +PubSubDiagnosticsReaderGroupType_Counters_DecryptionErrors_TimeFirstChange,19963,Variable +PubSubDiagnosticsReaderGroupType_LiveValues_ConfiguredDataSetReaders,19964,Variable +PubSubDiagnosticsReaderGroupType_LiveValues_ConfiguredDataSetReaders_DiagnosticsLevel,19965,Variable +PubSubDiagnosticsReaderGroupType_LiveValues_OperationalDataSetReaders,19966,Variable +PubSubDiagnosticsReaderGroupType_LiveValues_OperationalDataSetReaders_DiagnosticsLevel,19967,Variable +PubSubDiagnosticsDataSetWriterType,19968,ObjectType +PubSubDiagnosticsDataSetWriterType_DiagnosticsLevel,19969,Variable +PubSubDiagnosticsDataSetWriterType_TotalInformation,19970,Variable +PubSubDiagnosticsDataSetWriterType_TotalInformation_Active,19971,Variable +PubSubDiagnosticsDataSetWriterType_TotalInformation_Classification,19972,Variable +PubSubDiagnosticsDataSetWriterType_TotalInformation_DiagnosticsLevel,19973,Variable +PubSubDiagnosticsDataSetWriterType_TotalInformation_TimeFirstChange,19974,Variable +PubSubDiagnosticsDataSetWriterType_TotalError,19975,Variable +PubSubDiagnosticsDataSetWriterType_TotalError_Active,19976,Variable +PubSubDiagnosticsDataSetWriterType_TotalError_Classification,19977,Variable +PubSubDiagnosticsDataSetWriterType_TotalError_DiagnosticsLevel,19978,Variable +PubSubDiagnosticsDataSetWriterType_TotalError_TimeFirstChange,19979,Variable +PubSubDiagnosticsDataSetWriterType_Reset,19980,Method +PubSubDiagnosticsDataSetWriterType_SubError,19981,Variable +PubSubDiagnosticsDataSetWriterType_Counters,19982,Object +PubSubDiagnosticsDataSetWriterType_Counters_StateError,19983,Variable +PubSubDiagnosticsDataSetWriterType_Counters_StateError_Active,19984,Variable +PubSubDiagnosticsDataSetWriterType_Counters_StateError_Classification,19985,Variable +PubSubDiagnosticsDataSetWriterType_Counters_StateError_DiagnosticsLevel,19986,Variable +PubSubDiagnosticsDataSetWriterType_Counters_StateError_TimeFirstChange,19987,Variable +PubSubDiagnosticsDataSetWriterType_Counters_StateOperationalByMethod,19988,Variable +PubSubDiagnosticsDataSetWriterType_Counters_StateOperationalByMethod_Active,19989,Variable +PubSubDiagnosticsDataSetWriterType_Counters_StateOperationalByMethod_Classification,19990,Variable +PubSubDiagnosticsDataSetWriterType_Counters_StateOperationalByMethod_DiagnosticsLevel,19991,Variable +PubSubDiagnosticsDataSetWriterType_Counters_StateOperationalByMethod_TimeFirstChange,19992,Variable +PubSubDiagnosticsDataSetWriterType_Counters_StateOperationalByParent,19993,Variable +PubSubDiagnosticsDataSetWriterType_Counters_StateOperationalByParent_Active,19994,Variable +PubSubDiagnosticsDataSetWriterType_Counters_StateOperationalByParent_Classification,19995,Variable +PubSubDiagnosticsDataSetWriterType_Counters_StateOperationalByParent_DiagnosticsLevel,19996,Variable +PubSubDiagnosticsDataSetWriterType_Counters_StateOperationalByParent_TimeFirstChange,19997,Variable +PubSubDiagnosticsDataSetWriterType_Counters_StateOperationalFromError,19998,Variable +PubSubDiagnosticsDataSetWriterType_Counters_StateOperationalFromError_Active,19999,Variable +PubSubDiagnosticsDataSetWriterType_Counters_StateOperationalFromError_Classification,20000,Variable +PubSubDiagnosticsDataSetWriterType_Counters_StateOperationalFromError_DiagnosticsLevel,20001,Variable +PubSubDiagnosticsDataSetWriterType_Counters_StateOperationalFromError_TimeFirstChange,20002,Variable +PubSubDiagnosticsDataSetWriterType_Counters_StatePausedByParent,20003,Variable +PubSubDiagnosticsDataSetWriterType_Counters_StatePausedByParent_Active,20004,Variable +PubSubDiagnosticsDataSetWriterType_Counters_StatePausedByParent_Classification,20005,Variable +PubSubDiagnosticsDataSetWriterType_Counters_StatePausedByParent_DiagnosticsLevel,20006,Variable +PubSubDiagnosticsDataSetWriterType_Counters_StatePausedByParent_TimeFirstChange,20007,Variable +PubSubDiagnosticsDataSetWriterType_Counters_StateDisabledByMethod,20008,Variable +PubSubDiagnosticsDataSetWriterType_Counters_StateDisabledByMethod_Active,20009,Variable +PubSubDiagnosticsDataSetWriterType_Counters_StateDisabledByMethod_Classification,20010,Variable +PubSubDiagnosticsDataSetWriterType_Counters_StateDisabledByMethod_DiagnosticsLevel,20011,Variable +PubSubDiagnosticsDataSetWriterType_Counters_StateDisabledByMethod_TimeFirstChange,20012,Variable +PubSubDiagnosticsDataSetWriterType_LiveValues,20013,Object +PubSubDiagnosticsDataSetWriterType_Counters_FailedDataSetMessages,20014,Variable +PubSubDiagnosticsDataSetWriterType_Counters_FailedDataSetMessages_Active,20015,Variable +PubSubDiagnosticsDataSetWriterType_Counters_FailedDataSetMessages_Classification,20016,Variable +PubSubDiagnosticsDataSetWriterType_Counters_FailedDataSetMessages_DiagnosticsLevel,20017,Variable +PubSubDiagnosticsDataSetWriterType_Counters_FailedDataSetMessages_TimeFirstChange,20018,Variable +PubSubDiagnosticsDataSetWriterType_LiveValues_MessageSequenceNumber,20019,Variable +PubSubDiagnosticsDataSetWriterType_LiveValues_MessageSequenceNumber_DiagnosticsLevel,20020,Variable +PubSubDiagnosticsDataSetWriterType_LiveValues_StatusCode,20021,Variable +PubSubDiagnosticsDataSetWriterType_LiveValues_StatusCode_DiagnosticsLevel,20022,Variable +PubSubDiagnosticsDataSetWriterType_LiveValues_MajorVersion,20023,Variable +PubSubDiagnosticsDataSetWriterType_LiveValues_MajorVersion_DiagnosticsLevel,20024,Variable +PubSubDiagnosticsDataSetWriterType_LiveValues_MinorVersion,20025,Variable +PubSubDiagnosticsDataSetWriterType_LiveValues_MinorVersion_DiagnosticsLevel,20026,Variable +PubSubDiagnosticsDataSetReaderType,20027,ObjectType +PubSubDiagnosticsDataSetReaderType_DiagnosticsLevel,20028,Variable +PubSubDiagnosticsDataSetReaderType_TotalInformation,20029,Variable +PubSubDiagnosticsDataSetReaderType_TotalInformation_Active,20030,Variable +PubSubDiagnosticsDataSetReaderType_TotalInformation_Classification,20031,Variable +PubSubDiagnosticsDataSetReaderType_TotalInformation_DiagnosticsLevel,20032,Variable +PubSubDiagnosticsDataSetReaderType_TotalInformation_TimeFirstChange,20033,Variable +PubSubDiagnosticsDataSetReaderType_TotalError,20034,Variable +PubSubDiagnosticsDataSetReaderType_TotalError_Active,20035,Variable +PubSubDiagnosticsDataSetReaderType_TotalError_Classification,20036,Variable +PubSubDiagnosticsDataSetReaderType_TotalError_DiagnosticsLevel,20037,Variable +PubSubDiagnosticsDataSetReaderType_TotalError_TimeFirstChange,20038,Variable +PubSubDiagnosticsDataSetReaderType_Reset,20039,Method +PubSubDiagnosticsDataSetReaderType_SubError,20040,Variable +PubSubDiagnosticsDataSetReaderType_Counters,20041,Object +PubSubDiagnosticsDataSetReaderType_Counters_StateError,20042,Variable +PubSubDiagnosticsDataSetReaderType_Counters_StateError_Active,20043,Variable +PubSubDiagnosticsDataSetReaderType_Counters_StateError_Classification,20044,Variable +PubSubDiagnosticsDataSetReaderType_Counters_StateError_DiagnosticsLevel,20045,Variable +PubSubDiagnosticsDataSetReaderType_Counters_StateError_TimeFirstChange,20046,Variable +PubSubDiagnosticsDataSetReaderType_Counters_StateOperationalByMethod,20047,Variable +PubSubDiagnosticsDataSetReaderType_Counters_StateOperationalByMethod_Active,20048,Variable +PubSubDiagnosticsDataSetReaderType_Counters_StateOperationalByMethod_Classification,20049,Variable +PubSubDiagnosticsDataSetReaderType_Counters_StateOperationalByMethod_DiagnosticsLevel,20050,Variable +PubSubDiagnosticsDataSetReaderType_Counters_StateOperationalByMethod_TimeFirstChange,20051,Variable +PubSubDiagnosticsDataSetReaderType_Counters_StateOperationalByParent,20052,Variable +PubSubDiagnosticsDataSetReaderType_Counters_StateOperationalByParent_Active,20053,Variable +PubSubDiagnosticsDataSetReaderType_Counters_StateOperationalByParent_Classification,20054,Variable +PubSubDiagnosticsDataSetReaderType_Counters_StateOperationalByParent_DiagnosticsLevel,20055,Variable +PubSubDiagnosticsDataSetReaderType_Counters_StateOperationalByParent_TimeFirstChange,20056,Variable +PubSubDiagnosticsDataSetReaderType_Counters_StateOperationalFromError,20057,Variable +PubSubDiagnosticsDataSetReaderType_Counters_StateOperationalFromError_Active,20058,Variable +PubSubDiagnosticsDataSetReaderType_Counters_StateOperationalFromError_Classification,20059,Variable +PubSubDiagnosticsDataSetReaderType_Counters_StateOperationalFromError_DiagnosticsLevel,20060,Variable +PubSubDiagnosticsDataSetReaderType_Counters_StateOperationalFromError_TimeFirstChange,20061,Variable +PubSubDiagnosticsDataSetReaderType_Counters_StatePausedByParent,20062,Variable +PubSubDiagnosticsDataSetReaderType_Counters_StatePausedByParent_Active,20063,Variable +PubSubDiagnosticsDataSetReaderType_Counters_StatePausedByParent_Classification,20064,Variable +PubSubDiagnosticsDataSetReaderType_Counters_StatePausedByParent_DiagnosticsLevel,20065,Variable +PubSubDiagnosticsDataSetReaderType_Counters_StatePausedByParent_TimeFirstChange,20066,Variable +PubSubDiagnosticsDataSetReaderType_Counters_StateDisabledByMethod,20067,Variable +PubSubDiagnosticsDataSetReaderType_Counters_StateDisabledByMethod_Active,20068,Variable +PubSubDiagnosticsDataSetReaderType_Counters_StateDisabledByMethod_Classification,20069,Variable +PubSubDiagnosticsDataSetReaderType_Counters_StateDisabledByMethod_DiagnosticsLevel,20070,Variable +PubSubDiagnosticsDataSetReaderType_Counters_StateDisabledByMethod_TimeFirstChange,20071,Variable +PubSubDiagnosticsDataSetReaderType_LiveValues,20072,Object +PubSubDiagnosticsDataSetReaderType_Counters_FailedDataSetMessages,20073,Variable +PubSubDiagnosticsDataSetReaderType_Counters_FailedDataSetMessages_Active,20074,Variable +PubSubDiagnosticsDataSetReaderType_Counters_FailedDataSetMessages_Classification,20075,Variable +PubSubDiagnosticsDataSetReaderType_Counters_FailedDataSetMessages_DiagnosticsLevel,20076,Variable +PubSubDiagnosticsDataSetReaderType_Counters_FailedDataSetMessages_TimeFirstChange,20077,Variable +PubSubDiagnosticsDataSetReaderType_Counters_DecryptionErrors,20078,Variable +PubSubDiagnosticsDataSetReaderType_Counters_DecryptionErrors_Active,20079,Variable +PubSubDiagnosticsDataSetReaderType_Counters_DecryptionErrors_Classification,20080,Variable +PubSubDiagnosticsDataSetReaderType_Counters_DecryptionErrors_DiagnosticsLevel,20081,Variable +PubSubDiagnosticsDataSetReaderType_Counters_DecryptionErrors_TimeFirstChange,20082,Variable +PubSubDiagnosticsDataSetReaderType_LiveValues_MessageSequenceNumber,20083,Variable +PubSubDiagnosticsDataSetReaderType_LiveValues_MessageSequenceNumber_DiagnosticsLevel,20084,Variable +PubSubDiagnosticsDataSetReaderType_LiveValues_StatusCode,20085,Variable +PubSubDiagnosticsDataSetReaderType_LiveValues_StatusCode_DiagnosticsLevel,20086,Variable +PubSubDiagnosticsDataSetReaderType_LiveValues_MajorVersion,20087,Variable +PubSubDiagnosticsDataSetReaderType_LiveValues_MajorVersion_DiagnosticsLevel,20088,Variable +PubSubDiagnosticsDataSetReaderType_LiveValues_MinorVersion,20089,Variable +PubSubDiagnosticsDataSetReaderType_LiveValues_MinorVersion_DiagnosticsLevel,20090,Variable +PubSubDiagnosticsDataSetReaderType_LiveValues_SecurityTokenID,20091,Variable +PubSubDiagnosticsDataSetReaderType_LiveValues_SecurityTokenID_DiagnosticsLevel,20092,Variable +PubSubDiagnosticsDataSetReaderType_LiveValues_TimeToNextTokenID,20093,Variable +PubSubDiagnosticsDataSetReaderType_LiveValues_TimeToNextTokenID_DiagnosticsLevel,20094,Variable +DataSetOrderingType,20408,DataType +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_LiveValues_SecurityTokenID,20409,Variable +VersionTime,20998,DataType +SessionlessInvokeResponseType,20999,DataType +SessionlessInvokeResponseType_Encoding_DefaultXml,21000,Object +SessionlessInvokeResponseType_Encoding_DefaultBinary,21001,Object +OpcUa_BinarySchema_FieldTargetDataType,21002,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_LiveValues_SecurityTokenID_DiagnosticsLevel,21003,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_LiveValues_TimeToNextTokenID,21004,Variable +ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_LiveValues_TimeToNextTokenID_DiagnosticsLevel,21005,Variable +ReaderGroupType_DataSetReaderName_Placeholder_SubscribedDataSet,21006,Object +ReaderGroupType_DataSetReaderName_Placeholder_SubscribedDataSet_DataSetMetaData,21007,Variable +ReaderGroupType_DataSetReaderName_Placeholder_SubscribedDataSet_MessageReceiveTimeout,21008,Variable +ReaderGroupType_DataSetReaderName_Placeholder_CreateTargetVariables,21009,Method +ReaderGroupType_DataSetReaderName_Placeholder_CreateTargetVariables_InputArguments,21010,Variable +ReaderGroupType_DataSetReaderName_Placeholder_CreateTargetVariables_OutputArguments,21011,Variable +ReaderGroupType_DataSetReaderName_Placeholder_CreateDataSetMirror,21012,Method +ReaderGroupType_DataSetReaderName_Placeholder_CreateDataSetMirror_InputArguments,21013,Variable +ReaderGroupType_DataSetReaderName_Placeholder_CreateDataSetMirror_OutputArguments,21014,Variable +ReaderGroupType_Diagnostics,21015,Object +ReaderGroupType_Diagnostics_DiagnosticsLevel,21016,Variable +ReaderGroupType_Diagnostics_TotalInformation,21017,Variable +ReaderGroupType_Diagnostics_TotalInformation_Active,21018,Variable +ReaderGroupType_Diagnostics_TotalInformation_Classification,21019,Variable +ReaderGroupType_Diagnostics_TotalInformation_DiagnosticsLevel,21020,Variable +ReaderGroupType_Diagnostics_TotalInformation_TimeFirstChange,21021,Variable +ReaderGroupType_Diagnostics_TotalError,21022,Variable +ReaderGroupType_Diagnostics_TotalError_Active,21023,Variable +ReaderGroupType_Diagnostics_TotalError_Classification,21024,Variable +ReaderGroupType_Diagnostics_TotalError_DiagnosticsLevel,21025,Variable +ReaderGroupType_Diagnostics_TotalError_TimeFirstChange,21026,Variable +ReaderGroupType_Diagnostics_Reset,21027,Method +ReaderGroupType_Diagnostics_SubError,21028,Variable +ReaderGroupType_Diagnostics_Counters,21029,Object +ReaderGroupType_Diagnostics_Counters_StateError,21030,Variable +ReaderGroupType_Diagnostics_Counters_StateError_Active,21031,Variable +ReaderGroupType_Diagnostics_Counters_StateError_Classification,21032,Variable +ReaderGroupType_Diagnostics_Counters_StateError_DiagnosticsLevel,21033,Variable +ReaderGroupType_Diagnostics_Counters_StateError_TimeFirstChange,21034,Variable +ReaderGroupType_Diagnostics_Counters_StateOperationalByMethod,21035,Variable +ReaderGroupType_Diagnostics_Counters_StateOperationalByMethod_Active,21036,Variable +ReaderGroupType_Diagnostics_Counters_StateOperationalByMethod_Classification,21037,Variable +ReaderGroupType_Diagnostics_Counters_StateOperationalByMethod_DiagnosticsLevel,21038,Variable +ReaderGroupType_Diagnostics_Counters_StateOperationalByMethod_TimeFirstChange,21039,Variable +ReaderGroupType_Diagnostics_Counters_StateOperationalByParent,21040,Variable +ReaderGroupType_Diagnostics_Counters_StateOperationalByParent_Active,21041,Variable +ReaderGroupType_Diagnostics_Counters_StateOperationalByParent_Classification,21042,Variable +ReaderGroupType_Diagnostics_Counters_StateOperationalByParent_DiagnosticsLevel,21043,Variable +ReaderGroupType_Diagnostics_Counters_StateOperationalByParent_TimeFirstChange,21044,Variable +ReaderGroupType_Diagnostics_Counters_StateOperationalFromError,21045,Variable +ReaderGroupType_Diagnostics_Counters_StateOperationalFromError_Active,21046,Variable +ReaderGroupType_Diagnostics_Counters_StateOperationalFromError_Classification,21047,Variable +ReaderGroupType_Diagnostics_Counters_StateOperationalFromError_DiagnosticsLevel,21048,Variable +ReaderGroupType_Diagnostics_Counters_StateOperationalFromError_TimeFirstChange,21049,Variable +ReaderGroupType_Diagnostics_Counters_StatePausedByParent,21050,Variable +ReaderGroupType_Diagnostics_Counters_StatePausedByParent_Active,21051,Variable +ReaderGroupType_Diagnostics_Counters_StatePausedByParent_Classification,21052,Variable +ReaderGroupType_Diagnostics_Counters_StatePausedByParent_DiagnosticsLevel,21053,Variable +ReaderGroupType_Diagnostics_Counters_StatePausedByParent_TimeFirstChange,21054,Variable +ReaderGroupType_Diagnostics_Counters_StateDisabledByMethod,21055,Variable +ReaderGroupType_Diagnostics_Counters_StateDisabledByMethod_Active,21056,Variable +ReaderGroupType_Diagnostics_Counters_StateDisabledByMethod_Classification,21057,Variable +ReaderGroupType_Diagnostics_Counters_StateDisabledByMethod_DiagnosticsLevel,21058,Variable +ReaderGroupType_Diagnostics_Counters_StateDisabledByMethod_TimeFirstChange,21059,Variable +ReaderGroupType_Diagnostics_LiveValues,21060,Object +ReaderGroupType_Diagnostics_Counters_ReceivedNetworkMessages,21061,Variable +ReaderGroupType_Diagnostics_Counters_ReceivedNetworkMessages_Active,21062,Variable +ReaderGroupType_Diagnostics_Counters_ReceivedNetworkMessages_Classification,21063,Variable +ReaderGroupType_Diagnostics_Counters_ReceivedNetworkMessages_DiagnosticsLevel,21064,Variable +ReaderGroupType_Diagnostics_Counters_ReceivedNetworkMessages_TimeFirstChange,21065,Variable +ReaderGroupType_Diagnostics_Counters_ReceivedInvalidNetworkMessages,21066,Variable +ReaderGroupType_Diagnostics_Counters_ReceivedInvalidNetworkMessages_Active,21067,Variable +ReaderGroupType_Diagnostics_Counters_ReceivedInvalidNetworkMessages_Classification,21068,Variable +ReaderGroupType_Diagnostics_Counters_ReceivedInvalidNetworkMessages_DiagnosticsLevel,21069,Variable +ReaderGroupType_Diagnostics_Counters_ReceivedInvalidNetworkMessages_TimeFirstChange,21070,Variable +ReaderGroupType_Diagnostics_Counters_DecryptionErrors,21071,Variable +ReaderGroupType_Diagnostics_Counters_DecryptionErrors_Active,21072,Variable +ReaderGroupType_Diagnostics_Counters_DecryptionErrors_Classification,21073,Variable +ReaderGroupType_Diagnostics_Counters_DecryptionErrors_DiagnosticsLevel,21074,Variable +ReaderGroupType_Diagnostics_Counters_DecryptionErrors_TimeFirstChange,21075,Variable +ReaderGroupType_Diagnostics_LiveValues_ConfiguredDataSetReaders,21076,Variable +ReaderGroupType_Diagnostics_LiveValues_ConfiguredDataSetReaders_DiagnosticsLevel,21077,Variable +ReaderGroupType_Diagnostics_LiveValues_OperationalDataSetReaders,21078,Variable +ReaderGroupType_Diagnostics_LiveValues_OperationalDataSetReaders_DiagnosticsLevel,21079,Variable +ReaderGroupType_TransportSettings,21080,Object +ReaderGroupType_MessageSettings,21081,Object +ReaderGroupType_AddDataSetReader,21082,Method +ReaderGroupType_AddDataSetReader_InputArguments,21083,Variable +ReaderGroupType_AddDataSetReader_OutputArguments,21084,Variable +ReaderGroupType_RemoveDataSetReader,21085,Method +ReaderGroupType_RemoveDataSetReader_InputArguments,21086,Variable +PubSubGroupTypeAddReaderMethodType,21087,Method +PubSubGroupTypeAddReaderMethodType_InputArguments,21088,Variable +PubSubGroupTypeAddReaderMethodType_OutputArguments,21089,Variable +ReaderGroupTransportType,21090,ObjectType +ReaderGroupMessageType,21091,ObjectType +DataSetWriterType_DataSetWriterId,21092,Variable +DataSetWriterType_DataSetFieldContentMask,21093,Variable +DataSetWriterType_KeyFrameCount,21094,Variable +DataSetWriterType_MessageSettings,21095,Object +DataSetWriterMessageType,21096,ObjectType +DataSetReaderType_PublisherId,21097,Variable +DataSetReaderType_WriterGroupId,21098,Variable +DataSetReaderType_DataSetWriterId,21099,Variable +DataSetReaderType_DataSetMetaData,21100,Variable +DataSetReaderType_DataSetFieldContentMask,21101,Variable +DataSetReaderType_MessageReceiveTimeout,21102,Variable +DataSetReaderType_MessageSettings,21103,Object +DataSetReaderMessageType,21104,ObjectType +UadpWriterGroupMessageType,21105,ObjectType +UadpWriterGroupMessageType_GroupVersion,21106,Variable +UadpWriterGroupMessageType_DataSetOrdering,21107,Variable +UadpWriterGroupMessageType_NetworkMessageContentMask,21108,Variable +UadpWriterGroupMessageType_SamplingOffset,21109,Variable +UadpWriterGroupMessageType_PublishingOffset,21110,Variable +UadpDataSetWriterMessageType,21111,ObjectType +UadpDataSetWriterMessageType_DataSetMessageContentMask,21112,Variable +UadpDataSetWriterMessageType_ConfiguredSize,21113,Variable +UadpDataSetWriterMessageType_NetworkMessageNumber,21114,Variable +UadpDataSetWriterMessageType_DataSetOffset,21115,Variable +UadpDataSetReaderMessageType,21116,ObjectType +UadpDataSetReaderMessageType_GroupVersion,21117,Variable +UadpDataSetReaderMessageType_DataSetOrdering,21118,Variable +UadpDataSetReaderMessageType_NetworkMessageNumber,21119,Variable +UadpDataSetReaderMessageType_DataSetClassId,21120,Variable +UadpDataSetReaderMessageType_NetworkMessageContentMask,21121,Variable +UadpDataSetReaderMessageType_DataSetMessageContentMask,21122,Variable +UadpDataSetReaderMessageType_PublishingInterval,21123,Variable +UadpDataSetReaderMessageType_ProcessingOffset,21124,Variable +UadpDataSetReaderMessageType_ReceiveOffset,21125,Variable +JsonWriterGroupMessageType,21126,ObjectType +JsonWriterGroupMessageType_NetworkMessageContentMask,21127,Variable +JsonDataSetWriterMessageType,21128,ObjectType +JsonDataSetWriterMessageType_DataSetMessageContentMask,21129,Variable +JsonDataSetReaderMessageType,21130,ObjectType +JsonDataSetReaderMessageType_NetworkMessageContentMask,21131,Variable +JsonDataSetReaderMessageType_DataSetMessageContentMask,21132,Variable +DatagramWriterGroupTransportType,21133,ObjectType +DatagramWriterGroupTransportType_MessageRepeatCount,21134,Variable +DatagramWriterGroupTransportType_MessageRepeatDelay,21135,Variable +BrokerWriterGroupTransportType,21136,ObjectType +BrokerWriterGroupTransportType_QueueName,21137,Variable +BrokerDataSetWriterTransportType,21138,ObjectType +BrokerDataSetWriterTransportType_QueueName,21139,Variable +BrokerDataSetWriterTransportType_MetaDataQueueName,21140,Variable +BrokerDataSetWriterTransportType_MetaDataUpdateTime,21141,Variable +BrokerDataSetReaderTransportType,21142,ObjectType +BrokerDataSetReaderTransportType_QueueName,21143,Variable +BrokerDataSetReaderTransportType_MetaDataQueueName,21144,Variable +NetworkAddressType,21145,ObjectType +NetworkAddressType_NetworkInterface,21146,Variable +NetworkAddressUrlType,21147,ObjectType +NetworkAddressUrlType_NetworkInterface,21148,Variable +NetworkAddressUrlType_Url,21149,Variable +WriterGroupDataType_Encoding_DefaultBinary,21150,Object +NetworkAddressDataType_Encoding_DefaultBinary,21151,Object +NetworkAddressUrlDataType_Encoding_DefaultBinary,21152,Object +ReaderGroupDataType_Encoding_DefaultBinary,21153,Object +PubSubConfigurationDataType_Encoding_DefaultBinary,21154,Object +DatagramWriterGroupTransportDataType_Encoding_DefaultBinary,21155,Object +OpcUa_BinarySchema_WriterGroupDataType,21156,Variable +OpcUa_BinarySchema_WriterGroupDataType_DataTypeVersion,21157,Variable +OpcUa_BinarySchema_WriterGroupDataType_DictionaryFragment,21158,Variable +OpcUa_BinarySchema_NetworkAddressDataType,21159,Variable +OpcUa_BinarySchema_NetworkAddressDataType_DataTypeVersion,21160,Variable +OpcUa_BinarySchema_NetworkAddressDataType_DictionaryFragment,21161,Variable +OpcUa_BinarySchema_NetworkAddressUrlDataType,21162,Variable +OpcUa_BinarySchema_NetworkAddressUrlDataType_DataTypeVersion,21163,Variable +OpcUa_BinarySchema_NetworkAddressUrlDataType_DictionaryFragment,21164,Variable +OpcUa_BinarySchema_ReaderGroupDataType,21165,Variable +OpcUa_BinarySchema_ReaderGroupDataType_DataTypeVersion,21166,Variable +OpcUa_BinarySchema_ReaderGroupDataType_DictionaryFragment,21167,Variable +OpcUa_BinarySchema_PubSubConfigurationDataType,21168,Variable +OpcUa_BinarySchema_PubSubConfigurationDataType_DataTypeVersion,21169,Variable +OpcUa_BinarySchema_PubSubConfigurationDataType_DictionaryFragment,21170,Variable +OpcUa_BinarySchema_DatagramWriterGroupTransportDataType,21171,Variable +OpcUa_BinarySchema_DatagramWriterGroupTransportDataType_DataTypeVersion,21172,Variable +OpcUa_BinarySchema_DatagramWriterGroupTransportDataType_DictionaryFragment,21173,Variable +WriterGroupDataType_Encoding_DefaultXml,21174,Object +NetworkAddressDataType_Encoding_DefaultXml,21175,Object +NetworkAddressUrlDataType_Encoding_DefaultXml,21176,Object +ReaderGroupDataType_Encoding_DefaultXml,21177,Object +PubSubConfigurationDataType_Encoding_DefaultXml,21178,Object +DatagramWriterGroupTransportDataType_Encoding_DefaultXml,21179,Object +OpcUa_XmlSchema_WriterGroupDataType,21180,Variable +OpcUa_XmlSchema_WriterGroupDataType_DataTypeVersion,21181,Variable +OpcUa_XmlSchema_WriterGroupDataType_DictionaryFragment,21182,Variable +OpcUa_XmlSchema_NetworkAddressDataType,21183,Variable +OpcUa_XmlSchema_NetworkAddressDataType_DataTypeVersion,21184,Variable +OpcUa_XmlSchema_NetworkAddressDataType_DictionaryFragment,21185,Variable +OpcUa_XmlSchema_NetworkAddressUrlDataType,21186,Variable +OpcUa_XmlSchema_NetworkAddressUrlDataType_DataTypeVersion,21187,Variable +OpcUa_XmlSchema_NetworkAddressUrlDataType_DictionaryFragment,21188,Variable +OpcUa_XmlSchema_ReaderGroupDataType,21189,Variable +OpcUa_XmlSchema_ReaderGroupDataType_DataTypeVersion,21190,Variable +OpcUa_XmlSchema_ReaderGroupDataType_DictionaryFragment,21191,Variable +OpcUa_XmlSchema_PubSubConfigurationDataType,21192,Variable +OpcUa_XmlSchema_PubSubConfigurationDataType_DataTypeVersion,21193,Variable +OpcUa_XmlSchema_PubSubConfigurationDataType_DictionaryFragment,21194,Variable +OpcUa_XmlSchema_DatagramWriterGroupTransportDataType,21195,Variable +OpcUa_XmlSchema_DatagramWriterGroupTransportDataType_DataTypeVersion,21196,Variable +OpcUa_XmlSchema_DatagramWriterGroupTransportDataType_DictionaryFragment,21197,Variable +WriterGroupDataType_Encoding_DefaultJson,21198,Object +NetworkAddressDataType_Encoding_DefaultJson,21199,Object +NetworkAddressUrlDataType_Encoding_DefaultJson,21200,Object +ReaderGroupDataType_Encoding_DefaultJson,21201,Object +PubSubConfigurationDataType_Encoding_DefaultJson,21202,Object +DatagramWriterGroupTransportDataType_Encoding_DefaultJson,21203,Object diff --git a/schemas/Opc.Ua.Adi.NodeSet2.xml b/schemas/Opc.Ua.Adi.NodeSet2.xml index 09622e5d0..b2de513b7 100644 --- a/schemas/Opc.Ua.Adi.NodeSet2.xml +++ b/schemas/Opc.Ua.Adi.NodeSet2.xml @@ -28,11 +28,17 @@ * http://opcfoundation.org/License/MIT/1.00/ --> - + http://opcfoundation.org/UA/ADI/ http://opcfoundation.org/UA/DI/ + + + + + + i=1 i=2 @@ -74,14 +80,14 @@ AnalyserDeviceType ns=1;i=5001 - ns=1;i=5002 - ns=1;i=8092 - ns=1;i=5003 - ns=1;i=5004 - ns=1;i=5005 - ns=1;i=5006 - ns=1;i=9480 - ns=1;i=9835 + ns=1;i=9382 + ns=1;i=9386 + ns=1;i=9482 + ns=1;i=9484 + ns=1;i=9486 + ns=1;i=9488 + ns=1;i=9500 + ns=1;i=9610 ns=2;i=1002 @@ -89,215 +95,158 @@ ParameterSet Flat list of Parameters - ns=1;i=6008 - ns=1;i=6011 - ns=1;i=6016 - ns=1;i=6021 - ns=1;i=6024 - ns=1;i=6027 - ns=1;i=6030 - ns=1;i=6033 - ns=1;i=6036 - ns=1;i=6039 - ns=1;i=6042 - ns=1;i=6048 + ns=1;i=9459 + ns=1;i=9462 i=58 - i=78 + i=80 ns=1;i=1001 - + DiagnosticStatus General health status of the analyser - ns=1;i=5004 + ns=1;i=9484 i=2365 i=78 ns=1;i=5001 - - OutOfSpecification - Device being operated out of Specification. Uncertain value due to process and environment influence + + ConfigData + Optional analyser device large configuration - ns=1;i=6014 - ns=1;i=6015 - ns=1;i=5004 - i=2373 - i=78 + ns=1;i=9463 + ns=1;i=13070 + ns=1;i=13071 + ns=1;i=9466 + ns=1;i=9467 + ns=1;i=9470 + ns=1;i=9472 + ns=1;i=9475 + ns=1;i=9477 + ns=1;i=9480 + ns=1;i=9482 + i=11575 + i=80 ns=1;i=5001 - - - FalseState + + + Size + The size of the file in bytes. i=68 i=78 - ns=1;i=6011 + ns=1;i=9462 - - TrueState + + Writable + Whether the file is writable. i=68 i=78 - ns=1;i=6011 - - - - FunctionCheck - Local operation, configuration is changing, substitute value entered. - - ns=1;i=6019 - ns=1;i=6020 - ns=1;i=5004 - i=2373 - i=78 - ns=1;i=5001 + ns=1;i=9462 - - FalseState + + UserWritable + Whether the file is writable by the current user. i=68 i=78 - ns=1;i=6016 + ns=1;i=9462 - - TrueState + + OpenCount + The current number of open file handles. i=68 i=78 - ns=1;i=6016 - - - - SerialNumber - Identifier that uniquely identifies, within a manufacturer, a device instance - - ns=1;i=8092 - ns=1;i=5005 - i=2365 - i=78 - ns=1;i=5001 - - - - Manufacturer - Name of the company that manufactured the device - - ns=1;i=8092 - ns=1;i=5005 - i=2365 - i=78 - ns=1;i=5001 - - - - Model - Model name of the device - - ns=1;i=8092 - ns=1;i=5005 - i=2365 - i=78 - ns=1;i=5001 - - - - DeviceManual - Address (pathname in the file system or a URL | Web address) of user manual for the device - - ns=1;i=5005 - i=2365 - i=78 - ns=1;i=5001 - - - - DeviceRevision - Overall revision level of the device - - ns=1;i=5005 - i=2365 - i=78 - ns=1;i=5001 + ns=1;i=9462 - - SoftwareRevision - Revision level of the software/firmware of the device + + Open - ns=1;i=5005 - i=2365 + ns=1;i=9468 + ns=1;i=9469 i=78 - ns=1;i=5001 + ns=1;i=9462 - - - HardwareRevision - Revision level of the hardware of the device + + + InputArguments - ns=1;i=5005 - i=2365 + i=68 i=78 - ns=1;i=5001 + ns=1;i=9467 + + + + + i=297 + + + + Mode + + i=3 + + -1 + + + + + + + - - RevisionCounter - An incremental counter indicating the number of times the static data within the Device has been modified + + OutputArguments - ns=1;i=5005 - i=2365 + i=68 i=78 - ns=1;i=5001 - - - - MACAddress - Analyser primary MAC address - - i=2365 - i=80 - ns=1;i=5001 + ns=1;i=9467 + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + - - MethodSet - Flat list of Methods - - ns=1;i=8094 - ns=1;i=8096 - ns=1;i=8099 - ns=1;i=8101 - ns=1;i=8104 - ns=1;i=8105 - ns=1;i=8106 - ns=1;i=8107 - ns=1;i=8108 - ns=1;i=8109 - i=58 - i=78 - ns=1;i=1001 - - - - GetConfiguration + + Close - ns=1;i=8095 - ns=1;i=8094 + ns=1;i=9471 i=78 - ns=1;i=5002 + ns=1;i=9462 - - OutputArguments + + InputArguments i=68 i=78 - ns=1;i=8094 + ns=1;i=9470 @@ -307,9 +256,9 @@ - ConfigData + FileHandle - i=15 + i=7 -1 @@ -320,22 +269,21 @@ - - SetConfiguration + + Read - ns=1;i=8097 - ns=1;i=8098 - ns=1;i=8096 + ns=1;i=9473 + ns=1;i=9474 i=78 - ns=1;i=5002 + ns=1;i=9462 - + InputArguments i=68 i=78 - ns=1;i=8096 + ns=1;i=9472 @@ -345,9 +293,25 @@ - ConfigData + FileHandle - i=15 + i=7 + + -1 + + + + + + + + i=297 + + + + Length + + i=6 -1 @@ -358,12 +322,12 @@ - + OutputArguments i=68 i=78 - ns=1;i=8096 + ns=1;i=9472 @@ -373,9 +337,9 @@ - ConfigDataDigest + Data - i=12 + i=15 -1 @@ -386,21 +350,20 @@ - - GetConfigDataDigest + + Write - ns=1;i=8100 - ns=1;i=8099 + ns=1;i=9476 i=78 - ns=1;i=5002 + ns=1;i=9462 - - OutputArguments + + InputArguments i=68 i=78 - ns=1;i=8099 + ns=1;i=9475 @@ -410,9 +373,25 @@ - ConfigDataDigest + FileHandle - i=12 + i=7 + + -1 + + + + + + + + i=297 + + + + Data + + i=15 -1 @@ -423,22 +402,21 @@ - - CompareConfigDataDigest + + GetPosition - ns=1;i=8102 - ns=1;i=8103 - ns=1;i=8101 + ns=1;i=9478 + ns=1;i=9479 i=78 - ns=1;i=5002 + ns=1;i=9462 - + InputArguments i=68 i=78 - ns=1;i=8101 + ns=1;i=9477 @@ -448,9 +426,9 @@ - ConfigDataDigest + FileHandle - i=12 + i=7 -1 @@ -461,12 +439,12 @@ - + OutputArguments i=68 i=78 - ns=1;i=8101 + ns=1;i=9477 @@ -476,9 +454,9 @@ - IsEqual + Position - i=1 + i=9 -1 @@ -489,365 +467,455 @@ - - ResetAllChannels - Reset all AnalyserChannels belonging to this AnalyserDevice. + + SetPosition - ns=1;i=8104 + ns=1;i=9481 i=78 - ns=1;i=5002 + ns=1;i=9462 - - StartAllChannels - Start all AnalyserChannels belonging to this AnalyserDevice. + + InputArguments - ns=1;i=8105 + i=68 i=78 - ns=1;i=5002 + ns=1;i=9480 - - - StopAllChannels - Stop all AnalyserChannels belonging to this AnalyserDevice. + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + i=297 + + + + Position + + i=9 + + -1 + + + + + + + + + + MethodSet + Flat list of Methods - ns=1;i=8106 + ns=1;i=9443 + ns=1;i=9445 + ns=1;i=9448 + ns=1;i=9450 + ns=1;i=9453 + ns=1;i=9454 + ns=1;i=9455 + ns=1;i=9456 + ns=1;i=9457 + ns=1;i=9458 + i=58 i=78 - ns=1;i=5002 + ns=1;i=1001 - - - AbortAllChannels - Abort all AnalyserChannels belonging to this AnalyserDevice. + + + GetConfiguration - ns=1;i=8107 + ns=1;i=9444 i=78 - ns=1;i=5002 + ns=1;i=9382 - - GotoOperating - AnalyserDeviceStateMachine to go to Operating state, forcing all AnalyserChannels to leave the SlaveMode state and go to the Operating state. + + OutputArguments - ns=1;i=8108 + i=68 i=78 - ns=1;i=5002 + ns=1;i=9443 - - - GotoMaintenance - AnalyserDeviceStateMachine to go to Maintenance state, forcing all AnalyserChannels to SlaveMode state. + + + + + i=297 + + + + ConfigData + + i=15 + + -1 + + + + + + + + + + SetConfiguration - ns=1;i=8109 + ns=1;i=9446 + ns=1;i=9447 i=78 - ns=1;i=5002 + ns=1;i=9382 - - Identification - Used to organize parameters for identification of this TopologyElement + + InputArguments - ns=1;i=6024 - ns=1;i=6027 - ns=1;i=6021 - ns=2;i=1005 - i=80 - ns=1;i=1001 + i=68 + i=78 + ns=1;i=9445 - - - Configuration - - ns=2;i=1005 - i=78 - ns=1;i=1001 - - - - Status + + + + + i=297 + + + + ConfigData + + i=15 + + -1 + + + + + + + + + + OutputArguments - ns=1;i=6008 - ns=1;i=6011 - ns=1;i=6016 - ns=2;i=1005 + i=68 i=78 - ns=1;i=1001 + ns=1;i=9445 - - - FactorySettings + + + + + i=297 + + + + ConfigDataDigest + + i=12 + + -1 + + + + + + + + + + GetConfigDataDigest - ns=1;i=6021 - ns=1;i=6024 - ns=1;i=6027 - ns=1;i=6030 - ns=1;i=6033 - ns=1;i=6036 - ns=1;i=6039 - ns=1;i=6042 - ns=2;i=1005 + ns=1;i=9449 i=78 - ns=1;i=1001 + ns=1;i=9382 - - - AnalyserStateMachine + + + OutputArguments - ns=1;i=6051 - ns=1;i=5007 - ns=1;i=5008 - ns=1;i=5009 - ns=1;i=5010 - ns=1;i=5011 - ns=1;i=5012 - ns=1;i=5013 - ns=1;i=5014 - ns=1;i=5015 - ns=1;i=5016 - ns=1;i=5017 - ns=1;i=5018 - ns=1;i=5019 - ns=1;i=5020 - ns=1;i=5021 - ns=1;i=8109 - ns=1;i=8108 - ns=1;i=1002 + i=68 i=78 - ns=1;i=1001 + ns=1;i=9448 - - - CurrentState + + + + + i=297 + + + + ConfigDataDigest + + i=12 + + -1 + + + + + + + + + + CompareConfigDataDigest - ns=1;i=6052 - i=2760 + ns=1;i=9451 + ns=1;i=9452 i=78 - ns=1;i=5006 + ns=1;i=9382 - - - Id + + + InputArguments i=68 i=78 - ns=1;i=6051 + ns=1;i=9450 + + + + + i=297 + + + + ConfigDataDigest + + i=12 + + -1 + + + + + + + - - Powerup - The AnalyserDevice is in its power-up sequence and cannot perform any other task. - - i=2309 - i=78 - ns=1;i=5006 - - - - Operating - The AnalyserDevice is in the Operating mode. + + OutputArguments - i=2307 + i=68 i=78 - ns=1;i=5006 + ns=1;i=9450 - - - Local - The AnalyserDevice is in the Local mode. This mode is normally used to perform local physical maintenance on the analyser. + + + + + i=297 + + + + IsEqual + + i=1 + + -1 + + + + + + + + + + ResetAllChannels + Reset all AnalyserChannels belonging to this AnalyserDevice. - i=2307 i=78 - ns=1;i=5006 + ns=1;i=9382 - - - Maintenance - The AnalyserDevice is in the Maintenance mode. This mode is used to perform remote maintenance on the analyser like firmware upgrade. + + + StartAllChannels + Start all AnalyserChannels belonging to this AnalyserDevice. - i=2307 i=78 - ns=1;i=5006 + ns=1;i=9382 - - - Shutdown - The AnalyserDevice is in its power-down sequence and cannot perform any other task. + + + StopAllChannels + Stop all AnalyserChannels belonging to this AnalyserDevice. - i=2307 i=78 - ns=1;i=5006 + ns=1;i=9382 - - - PowerupToOperatingTransition + + + AbortAllChannels + Abort all AnalyserChannels belonging to this AnalyserDevice. - i=2310 i=78 - ns=1;i=5006 + ns=1;i=9382 - - - OperatingToLocalTransition + + + GotoOperating + AnalyserDeviceStateMachine to go to Operating state, forcing all AnalyserChannels to leave the SlaveMode state and go to the Operating state. - i=2310 i=78 - ns=1;i=5006 + ns=1;i=9382 - - - OperatingToMaintenanceTransition + + + GotoMaintenance + AnalyserDeviceStateMachine to go to Maintenance state, forcing all AnalyserChannels to SlaveMode state. - ns=1;i=8109 - i=2310 i=78 - ns=1;i=5006 + ns=1;i=9382 - - - LocalToOperatingTransition + + + Identification + Used to organize parameters for identification of this TopologyElement - i=2310 + ns=2;i=6003 + ns=2;i=6004 + ns=2;i=6001 + ns=2;i=1005 i=78 - ns=1;i=5006 + ns=1;i=1001 - - LocalToMaintenanceTransition + + Configuration - i=2310 + ns=1;i=9462 + ns=2;i=1005 i=78 - ns=1;i=5006 + ns=1;i=1001 - - MaintenanceToOperatingTransition + + Status - ns=1;i=8108 - i=2310 + ns=1;i=9459 + ns=2;i=1005 i=78 - ns=1;i=5006 + ns=1;i=1001 - - MaintenanceToLocalTransition + + FactorySettings - i=2310 + ns=2;i=1005 i=78 - ns=1;i=5006 + ns=1;i=1001 - - OperatingToShutdownTransition + + AnalyserStateMachine - i=2310 + ns=1;i=9489 + ns=1;i=1002 i=78 - ns=1;i=5006 + ns=1;i=1001 - - LocalToShutdownTransition + + CurrentState - i=2310 + ns=1;i=9490 + i=2760 i=78 - ns=1;i=5006 + ns=1;i=9488 - - - MaintenanceToShutdownTransition + + + Id - i=2310 + i=68 i=78 - ns=1;i=5006 + ns=1;i=9489 - - + + <ChannelIdentifier> + Channel definition - ns=1;i=9481 - ns=1;i=9483 - ns=1;i=9511 - ns=1;i=9512 - ns=1;i=9513 + ns=1;i=9503 + ns=1;i=9546 + ns=1;i=9548 + ns=1;i=9550 ns=1;i=1003 - i=11510 + i=11508 ns=1;i=1001 - - ParameterSet - Flat list of Parameters + + MethodSet + Flat list of Methods - ns=1;i=9502 - ns=1;i=9505 - ns=1;i=9508 + ns=1;i=9521 + ns=1;i=9522 + ns=1;i=9523 + ns=1;i=9525 + ns=1;i=9526 + ns=1;i=9527 + ns=1;i=9528 + ns=1;i=9529 + ns=1;i=9530 + ns=1;i=9531 + ns=1;i=9532 + ns=1;i=9533 i=58 i=78 - ns=1;i=9480 + ns=1;i=9500 - - IsEnabled - True if the channel is enabled and accepting commands + + GotoOperating + Transitions the AnalyserChannel to Operating mode. - i=2365 i=78 - ns=1;i=9481 + ns=1;i=9503 - - - DiagnosticStatus - AnalyserChannel health status + + + GotoMaintenance + Transitions the AnalyserChannel to Maintenance mode. - i=2365 i=78 - ns=1;i=9481 + ns=1;i=9503 - - - ActiveStream - Active stream for this AnalyserChannel + + + StartSingleAcquisition - i=2365 + ns=1;i=9524 i=78 - ns=1;i=9481 - - - - MethodSet - Flat list of Methods - - ns=1;i=9486 - ns=1;i=9488 - ns=1;i=9489 - ns=1;i=9490 - ns=1;i=9491 - ns=1;i=9492 - ns=1;i=9493 - ns=1;i=9494 - ns=1;i=9495 - ns=1;i=9496 - ns=1;i=9497 - ns=1;i=9498 - i=58 - i=78 - ns=1;i=9480 - - - - StartSingleAcquisition - - ns=1;i=9487 - ns=1;i=8111 - i=78 - ns=1;i=9483 + ns=1;i=9503 - + InputArguments i=68 i=78 - ns=1;i=9486 + ns=1;i=9523 @@ -902,381 +970,243 @@ - - GotoOperating - Transitions the AnalyserChannel to Operating mode. - - ns=1;i=8113 - i=78 - ns=1;i=9483 - - - - GotoMaintenance - Transitions the AnalyserChannel to Maintenance mode. - - ns=1;i=8114 - i=78 - ns=1;i=9483 - - - + Reset Causes transition to the Resetting state. - ns=1;i=8115 i=78 - ns=1;i=9483 + ns=1;i=9503 - + Start Causes transition to the Starting state. - ns=1;i=8116 i=78 - ns=1;i=9483 + ns=1;i=9503 - + Stop Causes transition to the Stopping state. - ns=1;i=8117 i=78 - ns=1;i=9483 + ns=1;i=9503 - + Hold Causes transition to the Holding state. - ns=1;i=8118 i=78 - ns=1;i=9483 + ns=1;i=9503 - + Unhold Causes transition to the Unholding state. - ns=1;i=8119 i=78 - ns=1;i=9483 + ns=1;i=9503 - + Suspend Causes transition to the Suspending state. - ns=1;i=8120 i=78 - ns=1;i=9483 + ns=1;i=9503 - + Unsuspend Causes transition to the Unsuspending state. - ns=1;i=8121 i=78 - ns=1;i=9483 + ns=1;i=9503 - + Abort Causes transition to the Aborting state. - ns=1;i=8122 i=78 - ns=1;i=9483 + ns=1;i=9503 - + Clear Causes transition to the Clearing state. - ns=1;i=8123 i=78 - ns=1;i=9483 + ns=1;i=9503 - + Configuration ns=2;i=1005 i=78 - ns=1;i=9480 + ns=1;i=9500 - + Status ns=2;i=1005 i=78 - ns=1;i=9480 + ns=1;i=9500 - + ChannelStateMachine - ns=1;i=9514 - ns=1;i=9525 - ns=1;i=9527 - ns=1;i=9811 - ns=1;i=9813 - ns=1;i=9815 - ns=1;i=9817 - ns=1;i=9819 - ns=1;i=9821 - ns=1;i=9823 - ns=1;i=9825 - ns=1;i=9827 - ns=1;i=9829 - ns=1;i=9831 - ns=1;i=9833 - ns=1;i=8113 - ns=1;i=8114 + ns=1;i=9551 + ns=1;i=9562 ns=1;i=1007 i=78 - ns=1;i=9480 + ns=1;i=9500 - + CurrentState - ns=1;i=9515 + ns=1;i=9552 i=2760 i=78 - ns=1;i=9513 + ns=1;i=9550 - + Id i=68 i=78 - ns=1;i=9514 + ns=1;i=9551 - - SlaveMode - The AnalyserDevice is in Local or Maintenance mode and all AnalyserChannels are in SlaveMode + + OperatingSubStateMachine - i=2309 + ns=1;i=9563 + ns=1;i=9574 + ns=1;i=1008 i=78 - ns=1;i=9513 + ns=1;i=9550 - - Operating - The AnalyserChannel is in the Operating mode. + + CurrentState - ns=1;i=9529 - ns=1;i=1004 + ns=1;i=9564 + i=2760 i=78 - ns=1;i=9513 + ns=1;i=9562 - - - OperatingSubStateMachine + + + Id - ns=1;i=9530 - ns=1;i=9541 - ns=1;i=9543 - ns=1;i=9545 - ns=1;i=9547 - ns=1;i=9549 - ns=1;i=9679 - ns=1;i=9681 - ns=1;i=9683 - ns=1;i=9685 - ns=1;i=9687 - ns=1;i=9689 - ns=1;i=9691 - ns=1;i=9693 - ns=1;i=9695 - ns=1;i=9697 - ns=1;i=9699 - ns=1;i=9701 - ns=1;i=9703 - ns=1;i=9705 - ns=1;i=9707 - ns=1;i=9709 - ns=1;i=9711 - ns=1;i=9713 - ns=1;i=9715 - ns=1;i=9717 - ns=1;i=9719 - ns=1;i=9721 - ns=1;i=9723 - ns=1;i=9725 - ns=1;i=9727 - ns=1;i=9729 - ns=1;i=9731 - ns=1;i=9733 - ns=1;i=9735 - ns=1;i=9737 - ns=1;i=9739 - ns=1;i=9741 - ns=1;i=9743 - ns=1;i=9745 - ns=1;i=9747 - ns=1;i=9749 - ns=1;i=9751 - ns=1;i=9753 - ns=1;i=9755 - ns=1;i=9757 - ns=1;i=9759 - ns=1;i=9761 - ns=1;i=9763 - ns=1;i=9765 - ns=1;i=9767 - ns=1;i=9769 - ns=1;i=9771 - ns=1;i=9773 - ns=1;i=9775 - ns=1;i=9777 - ns=1;i=9779 - ns=1;i=9781 - ns=1;i=9783 - ns=1;i=9785 - ns=1;i=9787 - ns=1;i=9789 - ns=1;i=9791 - ns=1;i=9793 - ns=1;i=9795 - ns=1;i=9797 - ns=1;i=9799 - ns=1;i=9801 - ns=1;i=9803 - ns=1;i=9805 - ns=1;i=9807 - ns=1;i=9809 - ns=1;i=8115 - ns=1;i=8116 - ns=1;i=8111 - ns=1;i=8117 - ns=1;i=8118 - ns=1;i=8119 - ns=1;i=8120 - ns=1;i=8121 - ns=1;i=8122 - ns=1;i=8123 - ns=1;i=1008 + i=68 + i=78 + ns=1;i=9563 + + + + OperatingExecuteSubStateMachine + + ns=1;i=9575 + ns=1;i=1009 i=78 - ns=1;i=9527 + ns=1;i=9562 - + CurrentState - ns=1;i=9531 + ns=1;i=9576 i=2760 i=78 - ns=1;i=9529 + ns=1;i=9574 - + Id i=68 i=78 - ns=1;i=9530 + ns=1;i=9575 - - Stopped - This is the initial state after AnalyserDeviceStateMachine state Powerup + + <AccessorySlotIdentifier> + AccessorySlot definition - i=2309 - i=78 - ns=1;i=9529 + ns=1;i=9611 + ns=1;i=9612 + ns=1;i=9613 + ns=1;i=9614 + ns=1;i=1017 + i=11508 + ns=1;i=1001 - - Resetting - This state is the result of a Reset or SetConfiguration Method call from the Stopped state. + + SupportedTypes + Folder maintaining the set of (sub-types of) BaseObjectTypes that can be instantiated in the ConfigurableComponent - i=2307 + i=61 i=78 - ns=1;i=9529 + ns=1;i=9610 - - Idle - The Resetting state is completed, all parameters have been committed and ready to start acquisition + + IsHotSwappable + True if an accessory can be inserted in the accessory slot while it is powered - i=2307 + i=68 i=78 - ns=1;i=9529 + ns=1;i=9610 - - - Starting - The analyser has received the Start or SingleAcquisitionStart Method call and it is preparing to enter in Execute state. + + + IsEnabled + True if this accessory slot is capable of accepting an accessory in it - i=2307 + i=68 i=78 - ns=1;i=9529 + ns=1;i=9610 - - - Execute - All repetitive acquisition cycles are done in this state: + + + AccessorySlotStateMachine - ns=1;i=9551 - ns=1;i=8964 + ns=1;i=9615 + ns=1;i=1018 i=78 - ns=1;i=9529 + ns=1;i=9610 - - OperatingExecuteSubStateMachine + + CurrentState + + ns=1;i=9616 + i=2760 + i=78 + ns=1;i=9614 + + + + Id + + i=68 + i=78 + ns=1;i=9615 + + + + AnalyserDeviceStateMachineType - ns=1;i=9552 - ns=1;i=9563 - ns=1;i=9565 - ns=1;i=9567 - ns=1;i=9569 - ns=1;i=9571 - ns=1;i=9573 - ns=1;i=9575 - ns=1;i=9577 - ns=1;i=9579 - ns=1;i=9581 - ns=1;i=9583 - ns=1;i=9585 - ns=1;i=9587 - ns=1;i=9589 - ns=1;i=9591 - ns=1;i=9593 - ns=1;i=9595 - ns=1;i=9597 - ns=1;i=9599 - ns=1;i=9601 - ns=1;i=9603 - ns=1;i=9605 - ns=1;i=9607 - ns=1;i=9609 - ns=1;i=9611 - ns=1;i=9613 - ns=1;i=9615 - ns=1;i=9617 - ns=1;i=9619 - ns=1;i=9621 - ns=1;i=9623 - ns=1;i=9625 - ns=1;i=9627 - ns=1;i=9629 - ns=1;i=9631 - ns=1;i=9633 - ns=1;i=9635 - ns=1;i=9637 - ns=1;i=9639 - ns=1;i=9641 - ns=1;i=9643 - ns=1;i=9645 ns=1;i=9647 ns=1;i=9649 ns=1;i=9651 @@ -1292,12107 +1222,5681 @@ ns=1;i=9671 ns=1;i=9673 ns=1;i=9675 - ns=1;i=9677 - ns=1;i=1009 - i=78 - ns=1;i=9549 + i=2771 - - - CurrentState + + + Powerup + The AnalyserDevice is in its power-up sequence and cannot perform any other task. - ns=1;i=9553 - i=2760 - i=78 - ns=1;i=9551 + ns=1;i=9648 + ns=1;i=9657 + i=2309 + ns=1;i=1002 - - - Id + + + StateNumber i=68 i=78 - ns=1;i=9552 + ns=1;i=9647 + + 100 + - - SelectExecutionCycle - This pseudo-state is used to decide which execution path shall be taken. - - i=2309 - i=78 - ns=1;i=9551 - - - - WaitForCalibrationTrigger - Wait until the analyser channel is ready to perform the Calibration acquisition cycle + + Operating + The AnalyserDevice is in the Operating mode. + ns=1;i=9650 + ns=1;i=9657 + ns=1;i=9659 + ns=1;i=9661 + ns=1;i=9663 + ns=1;i=9667 + ns=1;i=9671 i=2307 - i=78 - ns=1;i=9551 + ns=1;i=1002 - - ExtractCalibrationSample - Collect / setup the sampling system to perform the acquisition cycle of a Calibration cycle + + StateNumber - i=2307 + i=68 i=78 - ns=1;i=9551 + ns=1;i=9649 - - - PrepareCalibrationSample - Prepare the Calibration sample for the AnalyseCalibrationSample state + + 200 + + + + Local + The AnalyserDevice is in the Local mode. This mode is normally used to perform local physical maintenance on the analyser. + ns=1;i=9652 + ns=1;i=9659 + ns=1;i=9663 + ns=1;i=9665 + ns=1;i=9669 + ns=1;i=9673 i=2307 - i=78 - ns=1;i=9551 + ns=1;i=1002 - - AnalyseCalibrationSample - Perform the analysis of the Calibration Sample + + StateNumber - i=2307 + i=68 i=78 - ns=1;i=9551 + ns=1;i=9651 - - - WaitForValidationTrigger - Wait until the analyser channel is ready to perform the Validation acquisition cycle + + 300 + + + + Maintenance + The AnalyserDevice is in the Maintenance mode. This mode is used to perform remote maintenance on the analyser like firmware upgrade. + ns=1;i=9654 + ns=1;i=9661 + ns=1;i=9665 + ns=1;i=9667 + ns=1;i=9669 + ns=1;i=9675 i=2307 - i=78 - ns=1;i=9551 + ns=1;i=1002 - - ExtractValidationSample - Collect / setup the sampling system to perform the acquisition cycle of a Validation cycle + + StateNumber - i=2307 + i=68 i=78 - ns=1;i=9551 + ns=1;i=9653 - - - PrepareValidationSample - Prepare the Validation sample for the AnalyseValidationSample state + + 400 + + + + Shutdown + The AnalyserDevice is in its power-down sequence and cannot perform any other task. + ns=1;i=9656 + ns=1;i=9671 + ns=1;i=9673 + ns=1;i=9675 i=2307 - i=78 - ns=1;i=9551 + ns=1;i=1002 - - AnalyseValidationSample - Perform the analysis of the Validation Sample + + StateNumber - i=2307 + i=68 i=78 - ns=1;i=9551 + ns=1;i=9655 - - - WaitForSampleTrigger - Wait until the analyser channel is ready to perform the Sample acquisition cycle + + 500 + + + + PowerupToOperatingTransition - i=2307 - i=78 - ns=1;i=9551 + ns=1;i=9658 + ns=1;i=9647 + ns=1;i=9649 + i=2310 + ns=1;i=1002 - - ExtractSample - Collect the Sample from the process + + TransitionNumber - i=2307 + i=68 i=78 - ns=1;i=9551 + ns=1;i=9657 - - - PrepareSample - Prepare the Sample for the AnalyseSample state + + 1 + + + + OperatingToLocalTransition - i=2307 - i=78 - ns=1;i=9551 + ns=1;i=9660 + ns=1;i=9649 + ns=1;i=9651 + i=2310 + ns=1;i=1002 - - AnalyseSample - Perform the analysis of the Sample + + TransitionNumber - i=2307 + i=68 i=78 - ns=1;i=9551 + ns=1;i=9659 - - - WaitForDiagnosticTrigger - Wait until the analyser channel is ready to perform the diagnostic cycle, + + 2 + + + + OperatingToMaintenanceTransition - i=2307 - i=78 - ns=1;i=9551 + ns=1;i=9662 + ns=1;i=9649 + ns=1;i=9653 + ns=1;i=9458 + i=2310 + ns=1;i=1002 - - Diagnostic - Perform the diagnostic cycle. + + TransitionNumber - i=2307 + i=68 i=78 - ns=1;i=9551 + ns=1;i=9661 - - - WaitForCleaningTrigger - Wait until the analyser channel is ready to perform the cleaning cycle, + + 3 + + + + LocalToOperatingTransition - i=2307 - i=78 - ns=1;i=9551 + ns=1;i=9664 + ns=1;i=9651 + ns=1;i=9649 + i=2310 + ns=1;i=1002 - - Cleaning - Perform the cleaning cycle. + + TransitionNumber - i=2307 + i=68 i=78 - ns=1;i=9551 + ns=1;i=9663 - - - PublishResults - Publish the results of the previous acquisition cycle + + 4 + + + + LocalToMaintenanceTransition - i=2307 - i=78 - ns=1;i=9551 + ns=1;i=9666 + ns=1;i=9651 + ns=1;i=9653 + i=2310 + ns=1;i=1002 - - EjectGrabSample - The Sample that was just analysed is ejected from the system to allow the operator or another system to grab it + + TransitionNumber - i=2307 + i=68 i=78 - ns=1;i=9551 + ns=1;i=9665 - - - CleanupSamplingSystem - Cleanup the sampling sub-system to be ready for the next acquisition + + 5 + + + + MaintenanceToOperatingTransition - i=2307 - i=78 - ns=1;i=9551 + ns=1;i=9668 + ns=1;i=9653 + ns=1;i=9649 + ns=1;i=9457 + i=2310 + ns=1;i=1002 - - SelectExecutionCycleToWaitForCalibrationTriggerTransition + + TransitionNumber - i=2310 + i=68 i=78 - ns=1;i=9551 + ns=1;i=9667 - - - WaitForCalibrationTriggerToExtractCalibrationSampleTransition + + 6 + + + + MaintenanceToLocalTransition + ns=1;i=9670 + ns=1;i=9653 + ns=1;i=9651 i=2310 - i=78 - ns=1;i=9551 + ns=1;i=1002 - - ExtractCalibrationSampleTransition + + TransitionNumber - i=2310 + i=68 i=78 - ns=1;i=9551 + ns=1;i=9669 - - - ExtractCalibrationSampleToPrepareCalibrationSampleTransition + + 7 + + + + OperatingToShutdownTransition + ns=1;i=9672 + ns=1;i=9649 + ns=1;i=9655 i=2310 - i=78 - ns=1;i=9551 + ns=1;i=1002 - - PrepareCalibrationSampleTransition + + TransitionNumber - i=2310 + i=68 i=78 - ns=1;i=9551 + ns=1;i=9671 - - - PrepareCalibrationSampleToAnalyseCalibrationSampleTransition + + 8 + + + + LocalToShutdownTransition + ns=1;i=9674 + ns=1;i=9651 + ns=1;i=9655 i=2310 - i=78 - ns=1;i=9551 + ns=1;i=1002 - - AnalyseCalibrationSampleTransition + + TransitionNumber - i=2310 + i=68 i=78 - ns=1;i=9551 + ns=1;i=9673 - - - AnalyseCalibrationSampleToPublishResultsTransition + + 9 + + + + MaintenanceToShutdownTransition + ns=1;i=9676 + ns=1;i=9653 + ns=1;i=9655 i=2310 - i=78 - ns=1;i=9551 + ns=1;i=1002 - - SelectExecutionCycleToWaitForValidationTriggerTransition + + TransitionNumber - i=2310 + i=68 i=78 - ns=1;i=9551 + ns=1;i=9675 - - - WaitForValidationTriggerToExtractValidationSampleTransition + + 10 + + + + AnalyserChannelType - i=2310 - i=78 - ns=1;i=9551 + ns=1;i=9677 + ns=1;i=9679 + ns=1;i=9788 + ns=1;i=9724 + ns=1;i=9726 + ns=1;i=9728 + ns=1;i=9790 + ns=1;i=9916 + ns=2;i=1001 - - - ExtractValidationSampleTransition + + + ParameterSet + Flat list of Parameters - i=2310 - i=78 - ns=1;i=9551 + ns=1;i=9712 + ns=1;i=9715 + ns=1;i=9718 + ns=1;i=9721 + i=58 + i=80 + ns=1;i=1003 - - ExtractValidationSampleToPrepareValidationSampleTransition + + ChannelId + Channel Id defined by user - i=2310 - i=78 - ns=1;i=9551 + i=2365 + i=80 + ns=1;i=9677 - - - PrepareValidationSampleTransition + + + IsEnabled + True if the channel is enabled and accepting commands - i=2310 + ns=1;i=9724 + i=2365 i=78 - ns=1;i=9551 + ns=1;i=9677 - - - PrepareValidationSampleToAnalyseValidationSampleTransition + + + DiagnosticStatus + AnalyserChannel health status - i=2310 + ns=1;i=9726 + i=2365 i=78 - ns=1;i=9551 + ns=1;i=9677 - - - AnalyseValidationSampleTransition + + + ActiveStream + Active stream for this AnalyserChannel - i=2310 + ns=1;i=9726 + i=2365 i=78 - ns=1;i=9551 + ns=1;i=9677 - - - AnalyseValidationSampleToPublishResultsTransition + + + MethodSet + Flat list of Methods - i=2310 + ns=1;i=9699 + ns=1;i=9700 + ns=1;i=9701 + ns=1;i=9703 + ns=1;i=9704 + ns=1;i=9705 + ns=1;i=9706 + ns=1;i=9707 + ns=1;i=9708 + ns=1;i=9709 + ns=1;i=9710 + ns=1;i=9711 + i=58 i=78 - ns=1;i=9551 + ns=1;i=1003 - - SelectExecutionCycleToWaitForSampleTriggerTransition + + GotoOperating + Transitions the AnalyserChannel to Operating mode. - i=2310 i=78 - ns=1;i=9551 + ns=1;i=9679 - - - WaitForSampleTriggerToExtractSampleTransition + + + GotoMaintenance + Transitions the AnalyserChannel to Maintenance mode. - i=2310 i=78 - ns=1;i=9551 + ns=1;i=9679 - - - ExtractSampleTransition + + + StartSingleAcquisition - i=2310 + ns=1;i=9702 i=78 - ns=1;i=9551 + ns=1;i=9679 - - - ExtractSampleToPrepareSampleTransition + + + InputArguments - i=2310 + i=68 i=78 - ns=1;i=9551 + ns=1;i=9701 - - - PrepareSampleTransition + + + + + i=297 + + + + ExecutionCycle + + ns=1;i=9378 + + -1 + + + + + + + + i=297 + + + + ExecutionCycleSubcode + + i=7 + + -1 + + + + + + + + i=297 + + + + SelectedStream + + i=12 + + -1 + + + + + + + + + + Reset + Causes transition to the Resetting state. - i=2310 i=78 - ns=1;i=9551 + ns=1;i=9679 - - - PrepareSampleToAnalyseSampleTransition + + + Start + Causes transition to the Starting state. - i=2310 i=78 - ns=1;i=9551 + ns=1;i=9679 - - - AnalyseSampleTransition + + + Stop + Causes transition to the Stopping state. - i=2310 i=78 - ns=1;i=9551 + ns=1;i=9679 - - - AnalyseSampleToPublishResultsTransition + + + Hold + Causes transition to the Holding state. - i=2310 i=78 - ns=1;i=9551 + ns=1;i=9679 - - - SelectExecutionCycleToWaitForDiagnosticTriggerTransition - - i=2310 - i=78 - ns=1;i=9551 - - - - WaitForDiagnosticTriggerToDiagnosticTransition - - i=2310 - i=78 - ns=1;i=9551 - - - - DiagnosticTransition - - i=2310 - i=78 - ns=1;i=9551 - - - - DiagnosticToPublishResultsTransition - - i=2310 - i=78 - ns=1;i=9551 - - - - SelectExecutionCycleToWaitForCleaningTriggerTransition - - i=2310 - i=78 - ns=1;i=9551 - - - - WaitForCleaningTriggerToCleaningTransition - - i=2310 - i=78 - ns=1;i=9551 - - - - CleaningTransition - - i=2310 - i=78 - ns=1;i=9551 - - - - CleaningToPublishResultsTransition - - i=2310 - i=78 - ns=1;i=9551 - - - - PublishResultsToCleanupSamplingSystemTransition - - i=2310 - i=78 - ns=1;i=9551 - - - - PublishResultsToEjectGrabSampleTransition - - i=2310 - i=78 - ns=1;i=9551 - - - - EjectGrabSampleTransition - - i=2310 - i=78 - ns=1;i=9551 - - - - EjectGrabSampleToCleanupSamplingSystemTransition - - i=2310 - i=78 - ns=1;i=9551 - - - - CleanupSamplingSystemTransition - - i=2310 - i=78 - ns=1;i=9551 - - - - CleanupSamplingSystemToSelectExecutionCycleTransition - - i=2310 - i=78 - ns=1;i=9551 - - - - Completing - This state is an automatic or commanded exit from the Execute state. - - i=2307 - i=78 - ns=1;i=9529 - - - - Complete - At this point, the Completing state is done and it transitions automatically to Stopped state to wait. - - i=2307 - i=78 - ns=1;i=9529 - - - - Suspending - This state is a result of a change in monitored conditions due to process conditions or factors. - - i=2307 - i=78 - ns=1;i=9529 - - - - Suspended - The analyser or channel may be running but no results are being generated while the analyser or channel is waiting for external process conditions to return to normal. - - i=2307 - i=78 - ns=1;i=9529 - - - - Unsuspending - This state is a result of a device request from Suspended state to transition back to the Execute state by calling the Unsuspend Method. - - i=2307 - i=78 - ns=1;i=9529 - - - - Holding - Brings the analyser or channel to a controlled stop or to a state which represents Held for the particular unit control mode - - i=2307 - i=78 - ns=1;i=9529 - - - - Held - The Held state holds the analyser or channel's operation. At this state, no acquisition cycle is performed. - - i=2307 - i=78 - ns=1;i=9529 - - - - Unholding - The Unholding state is a response to an operator command to resume the Execute state. - - i=2307 - i=78 - ns=1;i=9529 - - - - Stopping - Initiated by a Stop Method call, this state: - - i=2307 - i=78 - ns=1;i=9529 - - - - Aborting - The Aborting state can be entered at any time in response to the Abort command or on the occurrence of a machine fault. - - i=2307 - i=78 - ns=1;i=9529 - - - - Aborted - This state maintains machine status information relevant to the Abort condition. - - i=2307 - i=78 - ns=1;i=9529 - - - - Clearing - Clears faults that may have occurred when Aborting and are present in the Aborted state before proceeding to a Stopped state - - i=2307 - i=78 - ns=1;i=9529 - - - - StoppedToResettingTransition - - ns=1;i=8115 - ns=1;i=8096 - i=2310 - i=78 - ns=1;i=9529 - - - - ResettingTransition - - i=2310 - i=78 - ns=1;i=9529 - - - - ResettingToIdleTransition - - i=2310 - i=78 - ns=1;i=9529 - - - - IdleToStartingTransition - - ns=1;i=8116 - ns=1;i=8111 - i=2310 - i=78 - ns=1;i=9529 - - - - StartingTransition - - i=2310 - i=78 - ns=1;i=9529 - - - - StartingToExecuteTransition - - i=2310 - i=78 - ns=1;i=9529 - - - - ExecuteToCompletingTransition - - i=2310 - i=78 - ns=1;i=9529 - - - - CompletingTransition - - i=2310 - i=78 - ns=1;i=9529 - - - - CompletingToCompleteTransition - - i=2310 - i=78 - ns=1;i=9529 - - - - CompleteToStoppedTransition - - i=2310 - i=78 - ns=1;i=9529 - - - - ExecuteToHoldingTransition - - ns=1;i=8118 - i=2310 - i=78 - ns=1;i=9529 - - - - HoldingTransition - - i=2310 - i=78 - ns=1;i=9529 - - - - HoldingToHeldTransition - - i=2310 - i=78 - ns=1;i=9529 - - - - HeldToUnholdingTransition - - ns=1;i=8119 - i=2310 - i=78 - ns=1;i=9529 - - - - UnholdingTransition - - i=2310 - i=78 - ns=1;i=9529 - - - - UnholdingToHoldingTransition - - ns=1;i=8118 - i=2310 - i=78 - ns=1;i=9529 - - - - UnholdingToExecuteTransition - - i=2310 - i=78 - ns=1;i=9529 - - - - ExecuteToSuspendingTransition - - ns=1;i=8120 - i=2310 - i=78 - ns=1;i=9529 - - - - SuspendingTransition - - i=2310 - i=78 - ns=1;i=9529 - - - - SuspendingToSuspendedTransition - - i=2310 - i=78 - ns=1;i=9529 - - - - SuspendedToUnsuspendingTransition - - ns=1;i=8121 - i=2310 - i=78 - ns=1;i=9529 - - - - UnsuspendingTransition - - i=2310 - i=78 - ns=1;i=9529 - - - - UnsuspendingToSuspendingTransition - - ns=1;i=8120 - i=2310 - i=78 - ns=1;i=9529 - - - - UnsuspendingToExecuteTransition - - i=2310 - i=78 - ns=1;i=9529 - - - - StoppingToStoppedTransition - - i=2310 - i=78 - ns=1;i=9529 - - - - AbortingToAbortedTransition - - i=2310 - i=78 - ns=1;i=9529 - - - - AbortedToClearingTransition - - ns=1;i=8123 - i=2310 - i=78 - ns=1;i=9529 - - - - ClearingToStoppedTransition - - i=2310 - i=78 - ns=1;i=9529 - - - - ResettingToStoppingTransition - - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=9529 - - - - IdleToStoppingTransition - - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=9529 - - - - StartingToStoppingTransition - - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=9529 - - - - ExecuteToStoppingTransition - - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=9529 - - - - CompletingToStoppingTransition - - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=9529 - - - - CompleteToStoppingTransition - - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=9529 - - - - SuspendingToStoppingTransition - - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=9529 - - - - SuspendedToStoppingTransition - - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=9529 - - - - UnsuspendingToStoppingTransition - - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=9529 - - - - HoldingToStoppingTransition - - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=9529 - - - - HeldToStoppingTransition - - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=9529 - - - - UnholdingToStoppingTransition - - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=9529 - - - - StoppedToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=9529 - - - - ResettingToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=9529 - - - - IdleToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=9529 - - - - StartingToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=9529 - - - - ExecuteToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=9529 - - - - CompletingToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=9529 - - - - CompleteToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=9529 - - - - SuspendingToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=9529 - - - - SuspendedToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=9529 - - - - UnsuspendingToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=9529 - - - - HoldingToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=9529 - - - - HeldToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=9529 - - - - UnholdingToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=9529 - - - - StoppingToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=9529 - - - - Local - The AnalyserChannel is in the Local mode. This mode is normally used to perform local physical maintenance on the analyser. - - ns=1;i=1005 - i=78 - ns=1;i=9513 - - - - Maintenance - The AnalyserChannel is in the Maintenance mode. This mode is used to perform remote maintenance on the analyser like firmware upgrade. - - ns=1;i=1006 - i=78 - ns=1;i=9513 - - - - SlaveModeToOperatingTransition - - i=2310 - i=78 - ns=1;i=9513 - - - - OperatingToLocalTransition - - i=2310 - i=78 - ns=1;i=9513 - - - - OperatingToMaintenanceTransition - - ns=1;i=8114 - i=2310 - i=78 - ns=1;i=9513 - - - - LocalToOperatingTransition - - i=2310 - i=78 - ns=1;i=9513 - - - - LocalToMaintenanceTransition - - i=2310 - i=78 - ns=1;i=9513 - - - - MaintenanceToOperatingTransition - - ns=1;i=8113 - i=2310 - i=78 - ns=1;i=9513 - - - - MaintenanceToLocalTransition - - i=2310 - i=78 - ns=1;i=9513 - - - - OperatingToSlaveModeTransition - - i=2310 - i=78 - ns=1;i=9513 - - - - LocalToSlaveModeTransition - - i=2310 - i=78 - ns=1;i=9513 - - - - MaintenanceToSlaveModeTransition - - i=2310 - i=78 - ns=1;i=9513 - - - - <AccessorySlotIdentifier> - - ns=1;i=9836 - ns=1;i=9837 - ns=1;i=9838 - ns=1;i=9839 - ns=1;i=1017 - i=11508 - ns=1;i=1001 - - - - SupportedTypes - Folder maintaining the set of (sub-types of) BaseObjectTypes that can be instantiated in the ConfigurableComponent - - i=61 - i=78 - ns=1;i=9835 - - - - IsHotSwappable - True if an accessory can be inserted in the accessory slot while it is powered - - i=68 - i=78 - ns=1;i=9835 - - - - IsEnabled - True if this accessory slot is capable of accepting an accessory in it - - i=68 - i=78 - ns=1;i=9835 - - - - AccessorySlotStateMachine - - ns=1;i=9840 - ns=1;i=9851 - ns=1;i=9853 - ns=1;i=9855 - ns=1;i=9857 - ns=1;i=9859 - ns=1;i=9861 - ns=1;i=9863 - ns=1;i=9865 - ns=1;i=9867 - ns=1;i=9869 - ns=1;i=9871 - ns=1;i=9873 - ns=1;i=9875 - ns=1;i=9877 - ns=1;i=9879 - ns=1;i=9881 - ns=1;i=9883 - ns=1;i=9885 - ns=1;i=1018 - i=78 - ns=1;i=9835 - - - - CurrentState - - ns=1;i=9841 - i=2760 - i=78 - ns=1;i=9839 - - - - Id - - i=68 - i=78 - ns=1;i=9840 - - - - Powerup - The AccessorySlot is in its power-up sequence and cannot perform any other task. - - i=2309 - i=78 - ns=1;i=9839 - - - - Empty - This represents an AccessorySlot where no Accessory is installed. - - i=2307 - i=78 - ns=1;i=9839 - - - - Inserting - This represents an AccessorySlot when an Accessory is being inserted and initializing. - - i=2307 - i=78 - ns=1;i=9839 - - - - Installed - This represents an AccessorySlot where an Accessory is installed and ready to use. - - i=2307 - i=78 - ns=1;i=9839 - - - - Removing - This represents an AccessorySlot where no Accessory is installed. - - i=2307 - i=78 - ns=1;i=9839 - - - - Shutdown - The AccessorySlot is in its power-down sequence and cannot perform any other task. - - i=2307 - i=78 - ns=1;i=9839 - - - - PowerupToEmptyTransition - - i=2310 - i=78 - ns=1;i=9839 - - - - EmptyToInsertingTransition - - i=2310 - i=78 - ns=1;i=9839 - - - - InsertingTransition - - i=2310 - i=78 - ns=1;i=9839 - - - - InsertingToRemovingTransition - - i=2310 - i=78 - ns=1;i=9839 - - - - InsertingToInstalledTransition - - i=2310 - i=78 - ns=1;i=9839 - - - - InstalledToRemovingTransition - - i=2310 - i=78 - ns=1;i=9839 - - - - RemovingTransition - - i=2310 - i=78 - ns=1;i=9839 - - - - RemovingToEmptyTransition - - i=2310 - i=78 - ns=1;i=9839 - - - - EmptyToShutdownTransition - - i=2310 - i=78 - ns=1;i=9839 - - - - InsertingToShutdownTransition - - i=2310 - i=78 - ns=1;i=9839 - - - - InstalledToShutdownTransition - - i=2310 - i=78 - ns=1;i=9839 - - - - RemovingToShutdownTransition - - i=2310 - i=78 - ns=1;i=9839 - - - - AnalyserDeviceTypeGetConfigurationMethod - - ns=1;i=6082 - ns=1;i=8011 - - - - OutputArguments - - i=68 - ns=1;i=8011 - - - - - - i=297 - - - - ConfigData - - i=15 - - -1 - - - - - - - - - - AnalyserDeviceTypeSetConfigurationMethod - - ns=1;i=6083 - ns=1;i=6084 - ns=1;i=8012 - - - - InputArguments - - i=68 - ns=1;i=8012 - - - - - - i=297 - - - - ConfigData - - i=15 - - -1 - - - - - - - - - - OutputArguments - - i=68 - ns=1;i=8012 - - - - - - i=297 - - - - ConfigDataDigest - - i=12 - - -1 - - - - - - - - - - AnalyserDeviceTypeGetConfigDataDigestMethod - - ns=1;i=6085 - ns=1;i=8013 - - - - OutputArguments - - i=68 - ns=1;i=8013 - - - - - - i=297 - - - - ConfigDataDigest - - i=12 - - -1 - - - - - - - - - - AnalyserDeviceTypeCompareConfigDataDigestMethod - - ns=1;i=6086 - ns=1;i=6087 - ns=1;i=8014 - - - - InputArguments - - i=68 - ns=1;i=8014 - - - - - - i=297 - - - - ConfigDataDigest - - i=12 - - -1 - - - - - - - - - - OutputArguments - - i=68 - ns=1;i=8014 - - - - - - i=297 - - - - IsEqual - - i=1 - - -1 - - - - - - - - - - AnalyserDeviceStateMachineType - - ns=1;i=5022 - ns=1;i=5023 - ns=1;i=5024 - ns=1;i=5025 - ns=1;i=5026 - ns=1;i=5027 - ns=1;i=5028 - ns=1;i=5029 - ns=1;i=5030 - ns=1;i=5031 - ns=1;i=5032 - ns=1;i=5033 - ns=1;i=5034 - ns=1;i=5035 - ns=1;i=5036 - ns=1;i=8109 - ns=1;i=8108 - i=2771 - - - - Powerup - The AnalyserDevice is in its power-up sequence and cannot perform any other task. - - ns=1;i=6098 - ns=1;i=5027 - i=2309 - i=78 - ns=1;i=1002 - - - - StateNumber - - i=68 - i=80 - ns=1;i=5022 - - - 0 - - - - Operating - The AnalyserDevice is in the Operating mode. - - ns=1;i=6099 - ns=1;i=5027 - ns=1;i=5028 - ns=1;i=5029 - ns=1;i=5030 - ns=1;i=5032 - ns=1;i=5034 - i=2307 - i=78 - ns=1;i=1002 - - - - StateNumber - - i=68 - i=80 - ns=1;i=5023 - - - 0 - - - - Local - The AnalyserDevice is in the Local mode. This mode is normally used to perform local physical maintenance on the analyser. - - ns=1;i=6100 - ns=1;i=5028 - ns=1;i=5030 - ns=1;i=5031 - ns=1;i=5033 - ns=1;i=5035 - i=2307 - i=78 - ns=1;i=1002 - - - - StateNumber - - i=68 - i=80 - ns=1;i=5024 - - - 0 - - - - Maintenance - The AnalyserDevice is in the Maintenance mode. This mode is used to perform remote maintenance on the analyser like firmware upgrade. - - ns=1;i=6101 - ns=1;i=5029 - ns=1;i=5031 - ns=1;i=5032 - ns=1;i=5033 - ns=1;i=5036 - i=2307 - i=78 - ns=1;i=1002 - - - - StateNumber - - i=68 - i=80 - ns=1;i=5025 - - - 0 - - - - Shutdown - The AnalyserDevice is in its power-down sequence and cannot perform any other task. - - ns=1;i=6102 - ns=1;i=5034 - ns=1;i=5035 - ns=1;i=5036 - i=2307 - i=78 - ns=1;i=1002 - - - - StateNumber - - i=68 - i=80 - ns=1;i=5026 - - - 0 - - - - PowerupToOperatingTransition - - ns=1;i=6103 - ns=1;i=5022 - ns=1;i=5023 - i=2310 - i=78 - ns=1;i=1002 - - - - TransitionNumber - - i=68 - i=80 - ns=1;i=5027 - - - 0 - - - - OperatingToLocalTransition - - ns=1;i=6104 - ns=1;i=5023 - ns=1;i=5024 - i=2310 - i=78 - ns=1;i=1002 - - - - TransitionNumber - - i=68 - i=80 - ns=1;i=5028 - - - 0 - - - - OperatingToMaintenanceTransition - - ns=1;i=6105 - ns=1;i=5023 - ns=1;i=5025 - ns=1;i=8109 - i=2310 - i=78 - ns=1;i=1002 - - - - TransitionNumber - - i=68 - i=80 - ns=1;i=5029 - - - 0 - - - - LocalToOperatingTransition - - ns=1;i=6106 - ns=1;i=5024 - ns=1;i=5023 - i=2310 - i=78 - ns=1;i=1002 - - - - TransitionNumber - - i=68 - i=80 - ns=1;i=5030 - - - 0 - - - - LocalToMaintenanceTransition - - ns=1;i=6107 - ns=1;i=5024 - ns=1;i=5025 - i=2310 - i=78 - ns=1;i=1002 - - - - TransitionNumber - - i=68 - i=80 - ns=1;i=5031 - - - 0 - - - - MaintenanceToOperatingTransition - - ns=1;i=6108 - ns=1;i=5025 - ns=1;i=5023 - ns=1;i=8108 - i=2310 - i=78 - ns=1;i=1002 - - - - TransitionNumber - - i=68 - i=80 - ns=1;i=5032 - - - 0 - - - - MaintenanceToLocalTransition - - ns=1;i=6109 - ns=1;i=5025 - ns=1;i=5024 - i=2310 - i=78 - ns=1;i=1002 - - - - TransitionNumber - - i=68 - i=80 - ns=1;i=5033 - - - 0 - - - - OperatingToShutdownTransition - - ns=1;i=6110 - ns=1;i=5023 - ns=1;i=5026 - i=2310 - i=78 - ns=1;i=1002 - - - - TransitionNumber - - i=68 - i=80 - ns=1;i=5034 - - - 0 - - - - LocalToShutdownTransition - - ns=1;i=6111 - ns=1;i=5024 - ns=1;i=5026 - i=2310 - i=78 - ns=1;i=1002 - - - - TransitionNumber - - i=68 - i=80 - ns=1;i=5035 - - - 0 - - - - MaintenanceToShutdownTransition - - ns=1;i=6112 - ns=1;i=5025 - ns=1;i=5026 - i=2310 - i=78 - ns=1;i=1002 - - - - TransitionNumber - - i=68 - i=80 - ns=1;i=5036 - - - 0 - - - - AnalyserChannelType - - ns=1;i=5037 - ns=1;i=5038 - ns=1;i=9442 - ns=1;i=5039 - ns=1;i=5040 - ns=1;i=5041 - ns=1;i=9887 - ns=1;i=9988 - ns=2;i=1001 - - - - ParameterSet - Flat list of Parameters - - ns=1;i=6113 - ns=1;i=8124 - ns=1;i=6116 - ns=1;i=6119 - i=58 - i=78 - ns=1;i=1003 - - - - ChannelId - Channel Id defined by user - - i=2365 - i=80 - ns=1;i=5037 - - - - IsEnabled - True if the channel is enabled and accepting commands - - ns=1;i=5039 - i=2365 - i=78 - ns=1;i=5037 - - - - DiagnosticStatus - AnalyserChannel health status - - ns=1;i=5040 - i=2365 - i=78 - ns=1;i=5037 - - - - ActiveStream - Active stream for this AnalyserChannel - - ns=1;i=5040 - i=2365 - i=78 - ns=1;i=5037 - - - - MethodSet - Flat list of Methods - - ns=1;i=8111 - ns=1;i=8113 - ns=1;i=8114 - ns=1;i=8115 - ns=1;i=8116 - ns=1;i=8117 - ns=1;i=8118 - ns=1;i=8119 - ns=1;i=8120 - ns=1;i=8121 - ns=1;i=8122 - ns=1;i=8123 - i=58 - i=78 - ns=1;i=1003 - - - - StartSingleAcquisition - - ns=1;i=8112 - ns=1;i=8111 - i=78 - ns=1;i=5038 - - - - InputArguments - - i=68 - i=78 - ns=1;i=8111 - - - - - - i=297 - - - - ExecutionCycle - - ns=1;i=9378 - - -1 - - - - - - - - i=297 - - - - ExecutionCycleSubcode - - i=7 - - -1 - - - - - - - - i=297 - - - - SelectedStream - - i=12 - - -1 - - - - - - - - - - GotoOperating - Transitions the AnalyserChannel to Operating mode. - - ns=1;i=8113 - i=78 - ns=1;i=5038 - - - - GotoMaintenance - Transitions the AnalyserChannel to Maintenance mode. - - ns=1;i=8114 - i=78 - ns=1;i=5038 - - - - Reset - Causes transition to the Resetting state. - - ns=1;i=8115 - i=78 - ns=1;i=5038 - - - - Start - Causes transition to the Starting state. - - ns=1;i=8116 - i=78 - ns=1;i=5038 - - - - Stop - Causes transition to the Stopping state. - - ns=1;i=8117 - i=78 - ns=1;i=5038 - - - - Hold - Causes transition to the Holding state. - - ns=1;i=8118 - i=78 - ns=1;i=5038 - - - - Unhold - Causes transition to the Unholding state. - - ns=1;i=8119 - i=78 - ns=1;i=5038 - - - - Suspend - Causes transition to the Suspending state. - - ns=1;i=8120 - i=78 - ns=1;i=5038 - - - - Unsuspend - Causes transition to the Unsuspending state. - - ns=1;i=8121 - i=78 - ns=1;i=5038 - - - - Abort - Causes transition to the Aborting state. - - ns=1;i=8122 - i=78 - ns=1;i=5038 - - - - Clear - Causes transition to the Clearing state. - - ns=1;i=8123 - i=78 - ns=1;i=5038 - - - - <GroupIdentifier> - An application specific functional group used to organize parameters and methods. - - ns=2;i=1005 - i=11508 - ns=1;i=1003 - - - - Configuration - - ns=1;i=8124 - ns=2;i=1005 - i=78 - ns=1;i=1003 - - - - Status - - ns=1;i=6116 - ns=1;i=6119 - ns=2;i=1005 - i=78 - ns=1;i=1003 - - - - ChannelStateMachine - - ns=1;i=6122 - ns=1;i=5042 - ns=1;i=5043 - ns=1;i=5045 - ns=1;i=5046 - ns=1;i=5047 - ns=1;i=5048 - ns=1;i=5049 - ns=1;i=5050 - ns=1;i=5051 - ns=1;i=5052 - ns=1;i=5053 - ns=1;i=5054 - ns=1;i=5055 - ns=1;i=5056 - ns=1;i=8113 - ns=1;i=8114 - ns=1;i=1007 - i=78 - ns=1;i=1003 - - - - CurrentState - - ns=1;i=6123 - i=2760 - i=78 - ns=1;i=5041 - - - - Id - - i=68 - i=78 - ns=1;i=6122 - - - - SlaveMode - The AnalyserDevice is in Local or Maintenance mode and all AnalyserChannels are in SlaveMode - - i=2309 - i=78 - ns=1;i=5041 - - - - Operating - The AnalyserChannel is in the Operating mode. - - ns=1;i=5044 - ns=1;i=1004 - i=78 - ns=1;i=5041 - - - - OperatingSubStateMachine - - ns=1;i=8127 - ns=1;i=8137 - ns=1;i=8139 - ns=1;i=8141 - ns=1;i=8143 - ns=1;i=8145 - ns=1;i=8274 - ns=1;i=8276 - ns=1;i=8278 - ns=1;i=8280 - ns=1;i=8282 - ns=1;i=8284 - ns=1;i=8286 - ns=1;i=8288 - ns=1;i=8290 - ns=1;i=8292 - ns=1;i=8294 - ns=1;i=8296 - ns=1;i=8298 - ns=1;i=8300 - ns=1;i=8302 - ns=1;i=8304 - ns=1;i=8306 - ns=1;i=8308 - ns=1;i=8310 - ns=1;i=8312 - ns=1;i=8314 - ns=1;i=8316 - ns=1;i=8318 - ns=1;i=8320 - ns=1;i=8322 - ns=1;i=8324 - ns=1;i=8326 - ns=1;i=8328 - ns=1;i=8330 - ns=1;i=8332 - ns=1;i=8334 - ns=1;i=8336 - ns=1;i=8338 - ns=1;i=8340 - ns=1;i=8342 - ns=1;i=8344 - ns=1;i=8346 - ns=1;i=8348 - ns=1;i=8350 - ns=1;i=8352 - ns=1;i=8354 - ns=1;i=8356 - ns=1;i=8358 - ns=1;i=8360 - ns=1;i=8362 - ns=1;i=8364 - ns=1;i=8366 - ns=1;i=8368 - ns=1;i=8370 - ns=1;i=8372 - ns=1;i=8374 - ns=1;i=8376 - ns=1;i=8378 - ns=1;i=8380 - ns=1;i=8382 - ns=1;i=8384 - ns=1;i=8386 - ns=1;i=8388 - ns=1;i=8390 - ns=1;i=8392 - ns=1;i=8394 - ns=1;i=8396 - ns=1;i=8398 - ns=1;i=8400 - ns=1;i=8402 - ns=1;i=8404 - ns=1;i=8115 - ns=1;i=8116 - ns=1;i=8111 - ns=1;i=8117 - ns=1;i=8118 - ns=1;i=8119 - ns=1;i=8120 - ns=1;i=8121 - ns=1;i=8122 - ns=1;i=8123 - ns=1;i=1008 - i=78 - ns=1;i=5043 - - - - CurrentState - - ns=1;i=8128 - i=2760 - i=78 - ns=1;i=5044 - - - - Id - - i=68 - i=78 - ns=1;i=8127 - - - - Stopped - This is the initial state after AnalyserDeviceStateMachine state Powerup - - i=2309 - i=78 - ns=1;i=5044 - - - - Resetting - This state is the result of a Reset or SetConfiguration Method call from the Stopped state. - - i=2307 - i=78 - ns=1;i=5044 - - - - Idle - The Resetting state is completed, all parameters have been committed and ready to start acquisition - - i=2307 - i=78 - ns=1;i=5044 - - - - Starting - The analyser has received the Start or SingleAcquisitionStart Method call and it is preparing to enter in Execute state. - - i=2307 - i=78 - ns=1;i=5044 - - - - Execute - All repetitive acquisition cycles are done in this state: - - ns=1;i=8147 - ns=1;i=8964 - i=78 - ns=1;i=5044 - - - - OperatingExecuteSubStateMachine - - ns=1;i=8148 - ns=1;i=8158 - ns=1;i=8160 - ns=1;i=8162 - ns=1;i=8164 - ns=1;i=8166 - ns=1;i=8168 - ns=1;i=8170 - ns=1;i=8172 - ns=1;i=8174 - ns=1;i=8176 - ns=1;i=8178 - ns=1;i=8180 - ns=1;i=8182 - ns=1;i=8184 - ns=1;i=8186 - ns=1;i=8188 - ns=1;i=8190 - ns=1;i=8192 - ns=1;i=8194 - ns=1;i=8196 - ns=1;i=8198 - ns=1;i=8200 - ns=1;i=8202 - ns=1;i=8204 - ns=1;i=8206 - ns=1;i=8208 - ns=1;i=8210 - ns=1;i=8212 - ns=1;i=8214 - ns=1;i=8216 - ns=1;i=8218 - ns=1;i=8220 - ns=1;i=8222 - ns=1;i=8224 - ns=1;i=8226 - ns=1;i=8228 - ns=1;i=8230 - ns=1;i=8232 - ns=1;i=8234 - ns=1;i=8236 - ns=1;i=8238 - ns=1;i=8240 - ns=1;i=8242 - ns=1;i=8244 - ns=1;i=8246 - ns=1;i=8248 - ns=1;i=8250 - ns=1;i=8252 - ns=1;i=8254 - ns=1;i=8256 - ns=1;i=8258 - ns=1;i=8260 - ns=1;i=8262 - ns=1;i=8264 - ns=1;i=8266 - ns=1;i=8268 - ns=1;i=8270 - ns=1;i=8272 - ns=1;i=1009 - i=78 - ns=1;i=8145 - - - - CurrentState - - ns=1;i=8149 - i=2760 - i=78 - ns=1;i=8147 - - - - Id - - i=68 - i=78 - ns=1;i=8148 - - - - SelectExecutionCycle - This pseudo-state is used to decide which execution path shall be taken. - - i=2309 - i=78 - ns=1;i=8147 - - - - WaitForCalibrationTrigger - Wait until the analyser channel is ready to perform the Calibration acquisition cycle - - i=2307 - i=78 - ns=1;i=8147 - - - - ExtractCalibrationSample - Collect / setup the sampling system to perform the acquisition cycle of a Calibration cycle - - i=2307 - i=78 - ns=1;i=8147 - - - - PrepareCalibrationSample - Prepare the Calibration sample for the AnalyseCalibrationSample state - - i=2307 - i=78 - ns=1;i=8147 - - - - AnalyseCalibrationSample - Perform the analysis of the Calibration Sample - - i=2307 - i=78 - ns=1;i=8147 - - - - WaitForValidationTrigger - Wait until the analyser channel is ready to perform the Validation acquisition cycle - - i=2307 - i=78 - ns=1;i=8147 - - - - ExtractValidationSample - Collect / setup the sampling system to perform the acquisition cycle of a Validation cycle - - i=2307 - i=78 - ns=1;i=8147 - - - - PrepareValidationSample - Prepare the Validation sample for the AnalyseValidationSample state - - i=2307 - i=78 - ns=1;i=8147 - - - - AnalyseValidationSample - Perform the analysis of the Validation Sample - - i=2307 - i=78 - ns=1;i=8147 - - - - WaitForSampleTrigger - Wait until the analyser channel is ready to perform the Sample acquisition cycle - - i=2307 - i=78 - ns=1;i=8147 - - - - ExtractSample - Collect the Sample from the process - - i=2307 - i=78 - ns=1;i=8147 - - - - PrepareSample - Prepare the Sample for the AnalyseSample state - - i=2307 - i=78 - ns=1;i=8147 - - - - AnalyseSample - Perform the analysis of the Sample - - i=2307 - i=78 - ns=1;i=8147 - - - - WaitForDiagnosticTrigger - Wait until the analyser channel is ready to perform the diagnostic cycle, - - i=2307 - i=78 - ns=1;i=8147 - - - - Diagnostic - Perform the diagnostic cycle. - - i=2307 - i=78 - ns=1;i=8147 - - - - WaitForCleaningTrigger - Wait until the analyser channel is ready to perform the cleaning cycle, - - i=2307 - i=78 - ns=1;i=8147 - - - - Cleaning - Perform the cleaning cycle. - - i=2307 - i=78 - ns=1;i=8147 - - - - PublishResults - Publish the results of the previous acquisition cycle - - i=2307 - i=78 - ns=1;i=8147 - - - - EjectGrabSample - The Sample that was just analysed is ejected from the system to allow the operator or another system to grab it - - i=2307 - i=78 - ns=1;i=8147 - - - - CleanupSamplingSystem - Cleanup the sampling sub-system to be ready for the next acquisition - - i=2307 - i=78 - ns=1;i=8147 - - - - SelectExecutionCycleToWaitForCalibrationTriggerTransition - - i=2310 - i=78 - ns=1;i=8147 - - - - WaitForCalibrationTriggerToExtractCalibrationSampleTransition - - i=2310 - i=78 - ns=1;i=8147 - - - - ExtractCalibrationSampleTransition - - i=2310 - i=78 - ns=1;i=8147 - - - - ExtractCalibrationSampleToPrepareCalibrationSampleTransition - - i=2310 - i=78 - ns=1;i=8147 - - - - PrepareCalibrationSampleTransition - - i=2310 - i=78 - ns=1;i=8147 - - - - PrepareCalibrationSampleToAnalyseCalibrationSampleTransition - - i=2310 - i=78 - ns=1;i=8147 - - - - AnalyseCalibrationSampleTransition - - i=2310 - i=78 - ns=1;i=8147 - - - - AnalyseCalibrationSampleToPublishResultsTransition - - i=2310 - i=78 - ns=1;i=8147 - - - - SelectExecutionCycleToWaitForValidationTriggerTransition - - i=2310 - i=78 - ns=1;i=8147 - - - - WaitForValidationTriggerToExtractValidationSampleTransition - - i=2310 - i=78 - ns=1;i=8147 - - - - ExtractValidationSampleTransition - - i=2310 - i=78 - ns=1;i=8147 - - - - ExtractValidationSampleToPrepareValidationSampleTransition - - i=2310 - i=78 - ns=1;i=8147 - - - - PrepareValidationSampleTransition - - i=2310 - i=78 - ns=1;i=8147 - - - - PrepareValidationSampleToAnalyseValidationSampleTransition - - i=2310 - i=78 - ns=1;i=8147 - - - - AnalyseValidationSampleTransition - - i=2310 - i=78 - ns=1;i=8147 - - - - AnalyseValidationSampleToPublishResultsTransition - - i=2310 - i=78 - ns=1;i=8147 - - - - SelectExecutionCycleToWaitForSampleTriggerTransition - - i=2310 - i=78 - ns=1;i=8147 - - - - WaitForSampleTriggerToExtractSampleTransition - - i=2310 - i=78 - ns=1;i=8147 - - - - ExtractSampleTransition - - i=2310 - i=78 - ns=1;i=8147 - - - - ExtractSampleToPrepareSampleTransition - - i=2310 - i=78 - ns=1;i=8147 - - - - PrepareSampleTransition - - i=2310 - i=78 - ns=1;i=8147 - - - - PrepareSampleToAnalyseSampleTransition - - i=2310 - i=78 - ns=1;i=8147 - - - - AnalyseSampleTransition - - i=2310 - i=78 - ns=1;i=8147 - - - - AnalyseSampleToPublishResultsTransition - - i=2310 - i=78 - ns=1;i=8147 - - - - SelectExecutionCycleToWaitForDiagnosticTriggerTransition - - i=2310 - i=78 - ns=1;i=8147 - - - - WaitForDiagnosticTriggerToDiagnosticTransition - - i=2310 - i=78 - ns=1;i=8147 - - - - DiagnosticTransition - - i=2310 - i=78 - ns=1;i=8147 - - - - DiagnosticToPublishResultsTransition - - i=2310 - i=78 - ns=1;i=8147 - - - - SelectExecutionCycleToWaitForCleaningTriggerTransition - - i=2310 - i=78 - ns=1;i=8147 - - - - WaitForCleaningTriggerToCleaningTransition - - i=2310 - i=78 - ns=1;i=8147 - - - - CleaningTransition - - i=2310 - i=78 - ns=1;i=8147 - - - - CleaningToPublishResultsTransition - - i=2310 - i=78 - ns=1;i=8147 - - - - PublishResultsToCleanupSamplingSystemTransition - - i=2310 - i=78 - ns=1;i=8147 - - - - PublishResultsToEjectGrabSampleTransition - - i=2310 - i=78 - ns=1;i=8147 - - - - EjectGrabSampleTransition - - i=2310 - i=78 - ns=1;i=8147 - - - - EjectGrabSampleToCleanupSamplingSystemTransition - - i=2310 - i=78 - ns=1;i=8147 - - - - CleanupSamplingSystemTransition - - i=2310 - i=78 - ns=1;i=8147 - - - - CleanupSamplingSystemToSelectExecutionCycleTransition - - i=2310 - i=78 - ns=1;i=8147 - - - - Completing - This state is an automatic or commanded exit from the Execute state. - - i=2307 - i=78 - ns=1;i=5044 - - - - Complete - At this point, the Completing state is done and it transitions automatically to Stopped state to wait. - - i=2307 - i=78 - ns=1;i=5044 - - - - Suspending - This state is a result of a change in monitored conditions due to process conditions or factors. - - i=2307 - i=78 - ns=1;i=5044 - - - - Suspended - The analyser or channel may be running but no results are being generated while the analyser or channel is waiting for external process conditions to return to normal. - - i=2307 - i=78 - ns=1;i=5044 - - - - Unsuspending - This state is a result of a device request from Suspended state to transition back to the Execute state by calling the Unsuspend Method. - - i=2307 - i=78 - ns=1;i=5044 - - - - Holding - Brings the analyser or channel to a controlled stop or to a state which represents Held for the particular unit control mode - - i=2307 - i=78 - ns=1;i=5044 - - - - Held - The Held state holds the analyser or channel's operation. At this state, no acquisition cycle is performed. - - i=2307 - i=78 - ns=1;i=5044 - - - - Unholding - The Unholding state is a response to an operator command to resume the Execute state. - - i=2307 - i=78 - ns=1;i=5044 - - - - Stopping - Initiated by a Stop Method call, this state: - - i=2307 - i=78 - ns=1;i=5044 - - - - Aborting - The Aborting state can be entered at any time in response to the Abort command or on the occurrence of a machine fault. - - i=2307 - i=78 - ns=1;i=5044 - - - - Aborted - This state maintains machine status information relevant to the Abort condition. - - i=2307 - i=78 - ns=1;i=5044 - - - - Clearing - Clears faults that may have occurred when Aborting and are present in the Aborted state before proceeding to a Stopped state - - i=2307 - i=78 - ns=1;i=5044 - - - - StoppedToResettingTransition - - ns=1;i=8115 - ns=1;i=8096 - i=2310 - i=78 - ns=1;i=5044 - - - - ResettingTransition - - i=2310 - i=78 - ns=1;i=5044 - - - - ResettingToIdleTransition - - i=2310 - i=78 - ns=1;i=5044 - - - - IdleToStartingTransition - - ns=1;i=8116 - ns=1;i=8111 - i=2310 - i=78 - ns=1;i=5044 - - - - StartingTransition - - i=2310 - i=78 - ns=1;i=5044 - - - - StartingToExecuteTransition - - i=2310 - i=78 - ns=1;i=5044 - - - - ExecuteToCompletingTransition - - i=2310 - i=78 - ns=1;i=5044 - - - - CompletingTransition - - i=2310 - i=78 - ns=1;i=5044 - - - - CompletingToCompleteTransition - - i=2310 - i=78 - ns=1;i=5044 - - - - CompleteToStoppedTransition - - i=2310 - i=78 - ns=1;i=5044 - - - - ExecuteToHoldingTransition - - ns=1;i=8118 - i=2310 - i=78 - ns=1;i=5044 - - - - HoldingTransition - - i=2310 - i=78 - ns=1;i=5044 - - - - HoldingToHeldTransition - - i=2310 - i=78 - ns=1;i=5044 - - - - HeldToUnholdingTransition - - ns=1;i=8119 - i=2310 - i=78 - ns=1;i=5044 - - - - UnholdingTransition - - i=2310 - i=78 - ns=1;i=5044 - - - - UnholdingToHoldingTransition - - ns=1;i=8118 - i=2310 - i=78 - ns=1;i=5044 - - - - UnholdingToExecuteTransition - - i=2310 - i=78 - ns=1;i=5044 - - - - ExecuteToSuspendingTransition - - ns=1;i=8120 - i=2310 - i=78 - ns=1;i=5044 - - - - SuspendingTransition - - i=2310 - i=78 - ns=1;i=5044 - - - - SuspendingToSuspendedTransition - - i=2310 - i=78 - ns=1;i=5044 - - - - SuspendedToUnsuspendingTransition - - ns=1;i=8121 - i=2310 - i=78 - ns=1;i=5044 - - - - UnsuspendingTransition - - i=2310 - i=78 - ns=1;i=5044 - - - - UnsuspendingToSuspendingTransition - - ns=1;i=8120 - i=2310 - i=78 - ns=1;i=5044 - - - - UnsuspendingToExecuteTransition - - i=2310 - i=78 - ns=1;i=5044 - - - - StoppingToStoppedTransition - - i=2310 - i=78 - ns=1;i=5044 - - - - AbortingToAbortedTransition - - i=2310 - i=78 - ns=1;i=5044 - - - - AbortedToClearingTransition - - ns=1;i=8123 - i=2310 - i=78 - ns=1;i=5044 - - - - ClearingToStoppedTransition - - i=2310 - i=78 - ns=1;i=5044 - - - - ResettingToStoppingTransition - - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=5044 - - - - IdleToStoppingTransition - - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=5044 - - - - StartingToStoppingTransition - - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=5044 - - - - ExecuteToStoppingTransition - - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=5044 - - - - CompletingToStoppingTransition - - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=5044 - - - - CompleteToStoppingTransition - - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=5044 - - - - SuspendingToStoppingTransition - - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=5044 - - - - SuspendedToStoppingTransition - - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=5044 - - - - UnsuspendingToStoppingTransition - - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=5044 - - - - HoldingToStoppingTransition - - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=5044 - - - - HeldToStoppingTransition - - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=5044 - - - - UnholdingToStoppingTransition - - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=5044 - - - - StoppedToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=5044 - - - - ResettingToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=5044 - - - - IdleToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=5044 - - - - StartingToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=5044 - - - - ExecuteToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=5044 - - - - CompletingToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=5044 - - - - CompleteToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=5044 - - - - SuspendingToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=5044 - - - - SuspendedToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=5044 - - - - UnsuspendingToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=5044 - - - - HoldingToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=5044 - - - - HeldToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=5044 - - - - UnholdingToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=5044 - - - - StoppingToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=5044 - - - - Local - The AnalyserChannel is in the Local mode. This mode is normally used to perform local physical maintenance on the analyser. - - ns=1;i=1005 - i=78 - ns=1;i=5041 - - - - Maintenance - The AnalyserChannel is in the Maintenance mode. This mode is used to perform remote maintenance on the analyser like firmware upgrade. - - ns=1;i=1006 - i=78 - ns=1;i=5041 - - - - SlaveModeToOperatingTransition - - i=2310 - i=78 - ns=1;i=5041 - - - - OperatingToLocalTransition - - i=2310 - i=78 - ns=1;i=5041 - - - - OperatingToMaintenanceTransition - - ns=1;i=8114 - i=2310 - i=78 - ns=1;i=5041 - - - - LocalToOperatingTransition - - i=2310 - i=78 - ns=1;i=5041 - - - - LocalToMaintenanceTransition - - i=2310 - i=78 - ns=1;i=5041 - - - - MaintenanceToOperatingTransition - - ns=1;i=8113 - i=2310 - i=78 - ns=1;i=5041 - - - - MaintenanceToLocalTransition - - i=2310 - i=78 - ns=1;i=5041 - - - - OperatingToSlaveModeTransition - - i=2310 - i=78 - ns=1;i=5041 - - - - LocalToSlaveModeTransition - - i=2310 - i=78 - ns=1;i=5041 - - - - MaintenanceToSlaveModeTransition - - i=2310 - i=78 - ns=1;i=5041 - - - - <StreamIdentifier> - - ns=1;i=9888 - ns=1;i=9981 - ns=1;i=9982 - ns=1;i=9983 - ns=1;i=9984 - ns=1;i=9985 - ns=1;i=9986 - ns=1;i=9987 - ns=1;i=1010 - i=11510 - ns=1;i=1003 - - - - ParameterSet - Flat list of Parameters - - ns=1;i=9893 - ns=1;i=9899 - ns=1;i=9908 - ns=1;i=9917 - ns=1;i=9920 - ns=1;i=9923 - ns=1;i=9927 - ns=1;i=9930 - ns=1;i=9936 - ns=1;i=9942 - ns=1;i=9945 - i=58 - i=78 - ns=1;i=9887 - - - - IsEnabled - True if this stream maybe used to perform acquisition - - i=2365 - i=78 - ns=1;i=9888 - - - - DiagnosticStatus - Stream health status - - i=2365 - i=78 - ns=1;i=9888 - - - - LastSampleTime - Time at which the last sample was acquired - - i=2365 - i=78 - ns=1;i=9888 - - - - IsActive - True if this stream is actually running, acquiring data - - i=2365 - i=78 - ns=1;i=9888 - - - - ExecutionCycle - Indicates which Execution cycle is in progress - - i=2365 - i=78 - ns=1;i=9888 - - - - ExecutionCycleSubcode - Indicates which Execution cycle subcode is in progress - - ns=1;i=9926 - i=2376 - i=78 - ns=1;i=9888 - - - - EnumStrings - - i=68 - i=78 - ns=1;i=9923 - - - - Progress - Indicates the progress of an acquisition in terms of percentage of completion. Its value shall be between 0 and 100. - - i=2365 - i=78 - ns=1;i=9888 - - - - AcquisitionCounter - Simple counter incremented after each Sampling acquisition performed on this Stream - - ns=1;i=9933 - i=2368 - i=78 - ns=1;i=9888 - - - - EURange - - i=68 - i=78 - ns=1;i=9930 - - - - AcquisitionResultStatus - Quality of the acquisition - - i=2365 - i=78 - ns=1;i=9888 - - - - ScaledData - Scaled data produced as a result of data acquisition on the Stream and application of the analyser model - - i=2365 - i=78 - ns=1;i=9888 - - - - AcquisitionEndTime - The end time of the AnalyseSample or AnalyseCalibrationSample or AnalyseValidationSample state of the AnalyserChannel_OperatingModeExecuteSubStateMachine state machine - - i=2365 - i=78 - ns=1;i=9888 - - - - Configuration - - ns=2;i=1005 - i=78 - ns=1;i=9887 - - - - Status - - ns=2;i=1005 - i=78 - ns=1;i=9887 - - - - AcquisitionSettings - - ns=2;i=1005 - i=78 - ns=1;i=9887 - - - - AcquisitionStatus - - ns=2;i=1005 - i=78 - ns=1;i=9887 - - - - AcquisitionData - - ns=2;i=1005 - i=78 - ns=1;i=9887 - - - - ChemometricModelSettings - - ns=2;i=1005 - i=78 - ns=1;i=9887 - - - - Context - - ns=2;i=1005 - i=78 - ns=1;i=9887 - - - - <AccessorySlotIdentifier> - - ns=1;i=9989 - ns=1;i=9990 - ns=1;i=9991 - ns=1;i=9992 - ns=1;i=1017 - i=11508 - ns=1;i=1003 - - - - SupportedTypes - Folder maintaining the set of (sub-types of) BaseObjectTypes that can be instantiated in the ConfigurableComponent - - i=61 - i=78 - ns=1;i=9988 - - - - IsHotSwappable - True if an accessory can be inserted in the accessory slot while it is powered - - i=68 - i=78 - ns=1;i=9988 - - - - IsEnabled - True if this accessory slot is capable of accepting an accessory in it - - i=68 - i=78 - ns=1;i=9988 - - - - AccessorySlotStateMachine - - ns=1;i=9993 - ns=1;i=10004 - ns=1;i=10006 - ns=1;i=10008 - ns=1;i=10010 - ns=1;i=10012 - ns=1;i=10014 - ns=1;i=10016 - ns=1;i=10018 - ns=1;i=10020 - ns=1;i=10022 - ns=1;i=10024 - ns=1;i=10026 - ns=1;i=10028 - ns=1;i=10030 - ns=1;i=10032 - ns=1;i=10034 - ns=1;i=10036 - ns=1;i=10038 - ns=1;i=1018 - i=78 - ns=1;i=9988 - - - - CurrentState - - ns=1;i=9994 - i=2760 - i=78 - ns=1;i=9992 - - - - Id - - i=68 - i=78 - ns=1;i=9993 - - - - Powerup - The AccessorySlot is in its power-up sequence and cannot perform any other task. - - i=2309 - i=78 - ns=1;i=9992 - - - - Empty - This represents an AccessorySlot where no Accessory is installed. - - i=2307 - i=78 - ns=1;i=9992 - - - - Inserting - This represents an AccessorySlot when an Accessory is being inserted and initializing. - - i=2307 - i=78 - ns=1;i=9992 - - - - Installed - This represents an AccessorySlot where an Accessory is installed and ready to use. - - i=2307 - i=78 - ns=1;i=9992 - - - - Removing - This represents an AccessorySlot where no Accessory is installed. - - i=2307 - i=78 - ns=1;i=9992 - - - - Shutdown - The AccessorySlot is in its power-down sequence and cannot perform any other task. - - i=2307 - i=78 - ns=1;i=9992 - - - - PowerupToEmptyTransition - - i=2310 - i=78 - ns=1;i=9992 - - - - EmptyToInsertingTransition - - i=2310 - i=78 - ns=1;i=9992 - - - - InsertingTransition - - i=2310 - i=78 - ns=1;i=9992 - - - - InsertingToRemovingTransition - - i=2310 - i=78 - ns=1;i=9992 - - - - InsertingToInstalledTransition - - i=2310 - i=78 - ns=1;i=9992 - - - - InstalledToRemovingTransition - - i=2310 - i=78 - ns=1;i=9992 - - - - RemovingTransition - - i=2310 - i=78 - ns=1;i=9992 - - - - RemovingToEmptyTransition - - i=2310 - i=78 - ns=1;i=9992 - - - - EmptyToShutdownTransition - - i=2310 - i=78 - ns=1;i=9992 - - - - InsertingToShutdownTransition - - i=2310 - i=78 - ns=1;i=9992 - - - - InstalledToShutdownTransition - - i=2310 - i=78 - ns=1;i=9992 - - - - RemovingToShutdownTransition - - i=2310 - i=78 - ns=1;i=9992 - - - - AnalyserChannelTypeStartSingleAcquisitionMethod - - ns=1;i=6147 - ns=1;i=8020 - - - - InputArguments - - i=68 - ns=1;i=8020 - - - - - - i=297 - - - - ExecutionCycle - - ns=1;i=9378 - - -1 - - - - - - - - i=297 - - - - ExecutionCycleSubcode - - i=7 - - -1 - - - - - - - - i=297 - - - - SelectedStream - - i=12 - - -1 - - - - - - - - - - AnalyserChannelOperatingStateType - - ns=1;i=5057 - i=2307 - - - - OperatingSubStateMachine - - ns=1;i=8406 - ns=1;i=8416 - ns=1;i=8418 - ns=1;i=8420 - ns=1;i=8422 - ns=1;i=8424 - ns=1;i=8553 - ns=1;i=8555 - ns=1;i=8557 - ns=1;i=8559 - ns=1;i=8561 - ns=1;i=8563 - ns=1;i=8565 - ns=1;i=8567 - ns=1;i=8569 - ns=1;i=8571 - ns=1;i=8573 - ns=1;i=8575 - ns=1;i=8577 - ns=1;i=8579 - ns=1;i=8581 - ns=1;i=8583 - ns=1;i=8585 - ns=1;i=8587 - ns=1;i=8589 - ns=1;i=8591 - ns=1;i=8593 - ns=1;i=8595 - ns=1;i=8597 - ns=1;i=8599 - ns=1;i=8601 - ns=1;i=8603 - ns=1;i=8605 - ns=1;i=8607 - ns=1;i=8609 - ns=1;i=8611 - ns=1;i=8613 - ns=1;i=8615 - ns=1;i=8617 - ns=1;i=8619 - ns=1;i=8621 - ns=1;i=8623 - ns=1;i=8625 - ns=1;i=8627 - ns=1;i=8629 - ns=1;i=8631 - ns=1;i=8633 - ns=1;i=8635 - ns=1;i=8637 - ns=1;i=8639 - ns=1;i=8641 - ns=1;i=8643 - ns=1;i=8645 - ns=1;i=8647 - ns=1;i=8649 - ns=1;i=8651 - ns=1;i=8653 - ns=1;i=8655 - ns=1;i=8657 - ns=1;i=8659 - ns=1;i=8661 - ns=1;i=8663 - ns=1;i=8665 - ns=1;i=8667 - ns=1;i=8669 - ns=1;i=8671 - ns=1;i=8673 - ns=1;i=8675 - ns=1;i=8677 - ns=1;i=8679 - ns=1;i=8681 - ns=1;i=8683 - ns=1;i=8115 - ns=1;i=8116 - ns=1;i=8111 - ns=1;i=8117 - ns=1;i=8118 - ns=1;i=8119 - ns=1;i=8120 - ns=1;i=8121 - ns=1;i=8122 - ns=1;i=8123 - ns=1;i=1008 - i=78 - ns=1;i=1004 - - - - CurrentState - - ns=1;i=8407 - i=2760 - i=78 - ns=1;i=5057 - - - - Id - - i=68 - i=78 - ns=1;i=8406 - - - - Stopped - This is the initial state after AnalyserDeviceStateMachine state Powerup - - i=2309 - i=78 - ns=1;i=5057 - - - - Resetting - This state is the result of a Reset or SetConfiguration Method call from the Stopped state. - - i=2307 - i=78 - ns=1;i=5057 - - - - Idle - The Resetting state is completed, all parameters have been committed and ready to start acquisition - - i=2307 - i=78 - ns=1;i=5057 - - - - Starting - The analyser has received the Start or SingleAcquisitionStart Method call and it is preparing to enter in Execute state. - - i=2307 - i=78 - ns=1;i=5057 - - - - Execute - All repetitive acquisition cycles are done in this state: - - ns=1;i=8426 - ns=1;i=8964 - i=78 - ns=1;i=5057 - - - - OperatingExecuteSubStateMachine - - ns=1;i=8427 - ns=1;i=8437 - ns=1;i=8439 - ns=1;i=8441 - ns=1;i=8443 - ns=1;i=8445 - ns=1;i=8447 - ns=1;i=8449 - ns=1;i=8451 - ns=1;i=8453 - ns=1;i=8455 - ns=1;i=8457 - ns=1;i=8459 - ns=1;i=8461 - ns=1;i=8463 - ns=1;i=8465 - ns=1;i=8467 - ns=1;i=8469 - ns=1;i=8471 - ns=1;i=8473 - ns=1;i=8475 - ns=1;i=8477 - ns=1;i=8479 - ns=1;i=8481 - ns=1;i=8483 - ns=1;i=8485 - ns=1;i=8487 - ns=1;i=8489 - ns=1;i=8491 - ns=1;i=8493 - ns=1;i=8495 - ns=1;i=8497 - ns=1;i=8499 - ns=1;i=8501 - ns=1;i=8503 - ns=1;i=8505 - ns=1;i=8507 - ns=1;i=8509 - ns=1;i=8511 - ns=1;i=8513 - ns=1;i=8515 - ns=1;i=8517 - ns=1;i=8519 - ns=1;i=8521 - ns=1;i=8523 - ns=1;i=8525 - ns=1;i=8527 - ns=1;i=8529 - ns=1;i=8531 - ns=1;i=8533 - ns=1;i=8535 - ns=1;i=8537 - ns=1;i=8539 - ns=1;i=8541 - ns=1;i=8543 - ns=1;i=8545 - ns=1;i=8547 - ns=1;i=8549 - ns=1;i=8551 - ns=1;i=1009 - i=78 - ns=1;i=8424 - - - - CurrentState - - ns=1;i=8428 - i=2760 - i=78 - ns=1;i=8426 - - - - Id - - i=68 - i=78 - ns=1;i=8427 - - - - SelectExecutionCycle - This pseudo-state is used to decide which execution path shall be taken. - - i=2309 - i=78 - ns=1;i=8426 - - - - WaitForCalibrationTrigger - Wait until the analyser channel is ready to perform the Calibration acquisition cycle - - i=2307 - i=78 - ns=1;i=8426 - - - - ExtractCalibrationSample - Collect / setup the sampling system to perform the acquisition cycle of a Calibration cycle - - i=2307 - i=78 - ns=1;i=8426 - - - - PrepareCalibrationSample - Prepare the Calibration sample for the AnalyseCalibrationSample state - - i=2307 - i=78 - ns=1;i=8426 - - - - AnalyseCalibrationSample - Perform the analysis of the Calibration Sample - - i=2307 - i=78 - ns=1;i=8426 - - - - WaitForValidationTrigger - Wait until the analyser channel is ready to perform the Validation acquisition cycle - - i=2307 - i=78 - ns=1;i=8426 - - - - ExtractValidationSample - Collect / setup the sampling system to perform the acquisition cycle of a Validation cycle - - i=2307 - i=78 - ns=1;i=8426 - - - - PrepareValidationSample - Prepare the Validation sample for the AnalyseValidationSample state - - i=2307 - i=78 - ns=1;i=8426 - - - - AnalyseValidationSample - Perform the analysis of the Validation Sample - - i=2307 - i=78 - ns=1;i=8426 - - - - WaitForSampleTrigger - Wait until the analyser channel is ready to perform the Sample acquisition cycle - - i=2307 - i=78 - ns=1;i=8426 - - - - ExtractSample - Collect the Sample from the process - - i=2307 - i=78 - ns=1;i=8426 - - - - PrepareSample - Prepare the Sample for the AnalyseSample state - - i=2307 - i=78 - ns=1;i=8426 - - - - AnalyseSample - Perform the analysis of the Sample - - i=2307 - i=78 - ns=1;i=8426 - - - - WaitForDiagnosticTrigger - Wait until the analyser channel is ready to perform the diagnostic cycle, - - i=2307 - i=78 - ns=1;i=8426 - - - - Diagnostic - Perform the diagnostic cycle. - - i=2307 - i=78 - ns=1;i=8426 - - - - WaitForCleaningTrigger - Wait until the analyser channel is ready to perform the cleaning cycle, - - i=2307 - i=78 - ns=1;i=8426 - - - - Cleaning - Perform the cleaning cycle. - - i=2307 - i=78 - ns=1;i=8426 - - - - PublishResults - Publish the results of the previous acquisition cycle - - i=2307 - i=78 - ns=1;i=8426 - - - - EjectGrabSample - The Sample that was just analysed is ejected from the system to allow the operator or another system to grab it - - i=2307 - i=78 - ns=1;i=8426 - - - - CleanupSamplingSystem - Cleanup the sampling sub-system to be ready for the next acquisition - - i=2307 - i=78 - ns=1;i=8426 - - - - SelectExecutionCycleToWaitForCalibrationTriggerTransition - - i=2310 - i=78 - ns=1;i=8426 - - - - WaitForCalibrationTriggerToExtractCalibrationSampleTransition - - i=2310 - i=78 - ns=1;i=8426 - - - - ExtractCalibrationSampleTransition - - i=2310 - i=78 - ns=1;i=8426 - - - - ExtractCalibrationSampleToPrepareCalibrationSampleTransition - - i=2310 - i=78 - ns=1;i=8426 - - - - PrepareCalibrationSampleTransition - - i=2310 - i=78 - ns=1;i=8426 - - - - PrepareCalibrationSampleToAnalyseCalibrationSampleTransition - - i=2310 - i=78 - ns=1;i=8426 - - - - AnalyseCalibrationSampleTransition - - i=2310 - i=78 - ns=1;i=8426 - - - - AnalyseCalibrationSampleToPublishResultsTransition - - i=2310 - i=78 - ns=1;i=8426 - - - - SelectExecutionCycleToWaitForValidationTriggerTransition - - i=2310 - i=78 - ns=1;i=8426 - - - - WaitForValidationTriggerToExtractValidationSampleTransition - - i=2310 - i=78 - ns=1;i=8426 - - - - ExtractValidationSampleTransition - - i=2310 - i=78 - ns=1;i=8426 - - - - ExtractValidationSampleToPrepareValidationSampleTransition - - i=2310 - i=78 - ns=1;i=8426 - - - - PrepareValidationSampleTransition - - i=2310 - i=78 - ns=1;i=8426 - - - - PrepareValidationSampleToAnalyseValidationSampleTransition - - i=2310 - i=78 - ns=1;i=8426 - - - - AnalyseValidationSampleTransition - - i=2310 - i=78 - ns=1;i=8426 - - - - AnalyseValidationSampleToPublishResultsTransition - - i=2310 - i=78 - ns=1;i=8426 - - - - SelectExecutionCycleToWaitForSampleTriggerTransition - - i=2310 - i=78 - ns=1;i=8426 - - - - WaitForSampleTriggerToExtractSampleTransition - - i=2310 - i=78 - ns=1;i=8426 - - - - ExtractSampleTransition - - i=2310 - i=78 - ns=1;i=8426 - - - - ExtractSampleToPrepareSampleTransition - - i=2310 - i=78 - ns=1;i=8426 - - - - PrepareSampleTransition - - i=2310 - i=78 - ns=1;i=8426 - - - - PrepareSampleToAnalyseSampleTransition - - i=2310 - i=78 - ns=1;i=8426 - - - - AnalyseSampleTransition - - i=2310 - i=78 - ns=1;i=8426 - - - - AnalyseSampleToPublishResultsTransition - - i=2310 - i=78 - ns=1;i=8426 - - - - SelectExecutionCycleToWaitForDiagnosticTriggerTransition - - i=2310 - i=78 - ns=1;i=8426 - - - - WaitForDiagnosticTriggerToDiagnosticTransition - - i=2310 - i=78 - ns=1;i=8426 - - - - DiagnosticTransition - - i=2310 - i=78 - ns=1;i=8426 - - - - DiagnosticToPublishResultsTransition - - i=2310 - i=78 - ns=1;i=8426 - - - - SelectExecutionCycleToWaitForCleaningTriggerTransition - - i=2310 - i=78 - ns=1;i=8426 - - - - WaitForCleaningTriggerToCleaningTransition - - i=2310 - i=78 - ns=1;i=8426 - - - - CleaningTransition - - i=2310 - i=78 - ns=1;i=8426 - - - - CleaningToPublishResultsTransition - - i=2310 - i=78 - ns=1;i=8426 - - - - PublishResultsToCleanupSamplingSystemTransition - - i=2310 - i=78 - ns=1;i=8426 - - - - PublishResultsToEjectGrabSampleTransition - - i=2310 - i=78 - ns=1;i=8426 - - - - EjectGrabSampleTransition - - i=2310 - i=78 - ns=1;i=8426 - - - - EjectGrabSampleToCleanupSamplingSystemTransition - - i=2310 - i=78 - ns=1;i=8426 - - - - CleanupSamplingSystemTransition - - i=2310 - i=78 - ns=1;i=8426 - - - - CleanupSamplingSystemToSelectExecutionCycleTransition - - i=2310 - i=78 - ns=1;i=8426 - - - - Completing - This state is an automatic or commanded exit from the Execute state. - - i=2307 - i=78 - ns=1;i=5057 - - - - Complete - At this point, the Completing state is done and it transitions automatically to Stopped state to wait. - - i=2307 - i=78 - ns=1;i=5057 - - - - Suspending - This state is a result of a change in monitored conditions due to process conditions or factors. - - i=2307 - i=78 - ns=1;i=5057 - - - - Suspended - The analyser or channel may be running but no results are being generated while the analyser or channel is waiting for external process conditions to return to normal. - - i=2307 - i=78 - ns=1;i=5057 - - - - Unsuspending - This state is a result of a device request from Suspended state to transition back to the Execute state by calling the Unsuspend Method. - - i=2307 - i=78 - ns=1;i=5057 - - - - Holding - Brings the analyser or channel to a controlled stop or to a state which represents Held for the particular unit control mode - - i=2307 - i=78 - ns=1;i=5057 - - - - Held - The Held state holds the analyser or channel's operation. At this state, no acquisition cycle is performed. - - i=2307 - i=78 - ns=1;i=5057 - - - - Unholding - The Unholding state is a response to an operator command to resume the Execute state. - - i=2307 - i=78 - ns=1;i=5057 - - - - Stopping - Initiated by a Stop Method call, this state: - - i=2307 - i=78 - ns=1;i=5057 - - - - Aborting - The Aborting state can be entered at any time in response to the Abort command or on the occurrence of a machine fault. - - i=2307 - i=78 - ns=1;i=5057 - - - - Aborted - This state maintains machine status information relevant to the Abort condition. - - i=2307 - i=78 - ns=1;i=5057 - - - - Clearing - Clears faults that may have occurred when Aborting and are present in the Aborted state before proceeding to a Stopped state - - i=2307 - i=78 - ns=1;i=5057 - - - - StoppedToResettingTransition - - ns=1;i=8115 - ns=1;i=8096 - i=2310 - i=78 - ns=1;i=5057 - - - - ResettingTransition - - i=2310 - i=78 - ns=1;i=5057 - - - - ResettingToIdleTransition - - i=2310 - i=78 - ns=1;i=5057 - - - - IdleToStartingTransition - - ns=1;i=8116 - ns=1;i=8111 - i=2310 - i=78 - ns=1;i=5057 - - - - StartingTransition - - i=2310 - i=78 - ns=1;i=5057 - - - - StartingToExecuteTransition - - i=2310 - i=78 - ns=1;i=5057 - - - - ExecuteToCompletingTransition - - i=2310 - i=78 - ns=1;i=5057 - - - - CompletingTransition - - i=2310 - i=78 - ns=1;i=5057 - - - - CompletingToCompleteTransition - - i=2310 - i=78 - ns=1;i=5057 - - - - CompleteToStoppedTransition - - i=2310 - i=78 - ns=1;i=5057 - - - - ExecuteToHoldingTransition - - ns=1;i=8118 - i=2310 - i=78 - ns=1;i=5057 - - - - HoldingTransition - - i=2310 - i=78 - ns=1;i=5057 - - - - HoldingToHeldTransition - - i=2310 - i=78 - ns=1;i=5057 - - - - HeldToUnholdingTransition - - ns=1;i=8119 - i=2310 - i=78 - ns=1;i=5057 - - - - UnholdingTransition - - i=2310 - i=78 - ns=1;i=5057 - - - - UnholdingToHoldingTransition - - ns=1;i=8118 - i=2310 - i=78 - ns=1;i=5057 - - - - UnholdingToExecuteTransition - - i=2310 - i=78 - ns=1;i=5057 - - - - ExecuteToSuspendingTransition - - ns=1;i=8120 - i=2310 - i=78 - ns=1;i=5057 - - - - SuspendingTransition - - i=2310 - i=78 - ns=1;i=5057 - - - - SuspendingToSuspendedTransition - - i=2310 - i=78 - ns=1;i=5057 - - - - SuspendedToUnsuspendingTransition - - ns=1;i=8121 - i=2310 - i=78 - ns=1;i=5057 - - - - UnsuspendingTransition - - i=2310 - i=78 - ns=1;i=5057 - - - - UnsuspendingToSuspendingTransition - - ns=1;i=8120 - i=2310 - i=78 - ns=1;i=5057 - - - - UnsuspendingToExecuteTransition - - i=2310 - i=78 - ns=1;i=5057 - - - - StoppingToStoppedTransition - - i=2310 - i=78 - ns=1;i=5057 - - - - AbortingToAbortedTransition - - i=2310 - i=78 - ns=1;i=5057 - - - - AbortedToClearingTransition - - ns=1;i=8123 - i=2310 - i=78 - ns=1;i=5057 - - - - ClearingToStoppedTransition - - i=2310 - i=78 - ns=1;i=5057 - - - - ResettingToStoppingTransition - - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=5057 - - - - IdleToStoppingTransition - - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=5057 - - - - StartingToStoppingTransition - - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=5057 - - - - ExecuteToStoppingTransition - - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=5057 - - - - CompletingToStoppingTransition - - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=5057 - - - - CompleteToStoppingTransition - - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=5057 - - - - SuspendingToStoppingTransition - - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=5057 - - - - SuspendedToStoppingTransition - - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=5057 - - - - UnsuspendingToStoppingTransition - - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=5057 - - - - HoldingToStoppingTransition - - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=5057 - - - - HeldToStoppingTransition - - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=5057 - - - - UnholdingToStoppingTransition - - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=5057 - - - - StoppedToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=5057 - - - - ResettingToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=5057 - - - - IdleToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=5057 - - - - StartingToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=5057 - - - - ExecuteToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=5057 - - - - CompletingToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=5057 - - - - CompleteToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=5057 - - - - SuspendingToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=5057 - - - - SuspendedToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=5057 - - - - UnsuspendingToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=5057 - - - - HoldingToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=5057 - - - - HeldToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=5057 - - - - UnholdingToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=5057 - - - - StoppingToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=5057 - - - - AnalyserChannelLocalStateType - - i=2307 - - - - AnalyserChannelMaintenanceStateType - - i=2307 - - - - AnalyserChannelStateMachineType - Contains a nested state model that defines the top level states Operating, Local and Maintenance - - ns=1;i=5058 - ns=1;i=5059 - ns=1;i=5061 - ns=1;i=5062 - ns=1;i=5063 - ns=1;i=5064 - ns=1;i=5065 - ns=1;i=5066 - ns=1;i=5067 - ns=1;i=5068 - ns=1;i=5069 - ns=1;i=5070 - ns=1;i=5071 - ns=1;i=5072 - ns=1;i=8113 - ns=1;i=8114 - i=2771 - - - - SlaveMode - The AnalyserDevice is in Local or Maintenance mode and all AnalyserChannels are in SlaveMode - - ns=1;i=6161 - ns=1;i=5063 - ns=1;i=5070 - ns=1;i=5071 - ns=1;i=5072 - i=2309 - i=78 - ns=1;i=1007 - - - - StateNumber - - i=68 - i=80 - ns=1;i=5058 - - - 0 - - - - Operating - The AnalyserChannel is in the Operating mode. - - ns=1;i=6162 - ns=1;i=5060 - ns=1;i=5063 - ns=1;i=5064 - ns=1;i=5065 - ns=1;i=5066 - ns=1;i=5068 - ns=1;i=5070 - ns=1;i=1004 - i=78 - ns=1;i=1007 - - - - StateNumber - - i=68 - i=80 - ns=1;i=5059 - - - 0 - - - - OperatingSubStateMachine - - ns=1;i=8685 - ns=1;i=8695 - ns=1;i=8697 - ns=1;i=8699 - ns=1;i=8701 - ns=1;i=8703 - ns=1;i=8832 - ns=1;i=8834 - ns=1;i=8836 - ns=1;i=8838 - ns=1;i=8840 - ns=1;i=8842 - ns=1;i=8844 - ns=1;i=8846 - ns=1;i=8848 - ns=1;i=8850 - ns=1;i=8852 - ns=1;i=8854 - ns=1;i=8856 - ns=1;i=8858 - ns=1;i=8860 - ns=1;i=8862 - ns=1;i=8864 - ns=1;i=8866 - ns=1;i=8868 - ns=1;i=8870 - ns=1;i=8872 - ns=1;i=8874 - ns=1;i=8876 - ns=1;i=8878 - ns=1;i=8880 - ns=1;i=8882 - ns=1;i=8884 - ns=1;i=8886 - ns=1;i=8888 - ns=1;i=8890 - ns=1;i=8892 - ns=1;i=8894 - ns=1;i=8896 - ns=1;i=8898 - ns=1;i=8900 - ns=1;i=8902 - ns=1;i=8904 - ns=1;i=8906 - ns=1;i=8908 - ns=1;i=8910 - ns=1;i=8912 - ns=1;i=8914 - ns=1;i=8916 - ns=1;i=8918 - ns=1;i=8920 - ns=1;i=8922 - ns=1;i=8924 - ns=1;i=8926 - ns=1;i=8928 - ns=1;i=8930 - ns=1;i=8932 - ns=1;i=8934 - ns=1;i=8936 - ns=1;i=8938 - ns=1;i=8940 - ns=1;i=8942 - ns=1;i=8944 - ns=1;i=8946 - ns=1;i=8948 - ns=1;i=8950 - ns=1;i=8952 - ns=1;i=8954 - ns=1;i=8956 - ns=1;i=8958 - ns=1;i=8960 - ns=1;i=8962 - ns=1;i=8115 - ns=1;i=8116 - ns=1;i=8111 - ns=1;i=8117 - ns=1;i=8118 - ns=1;i=8119 - ns=1;i=8120 - ns=1;i=8121 - ns=1;i=8122 - ns=1;i=8123 - ns=1;i=1008 - i=78 - ns=1;i=5059 - - - - CurrentState - - ns=1;i=8686 - i=2760 - i=78 - ns=1;i=5060 - - - - Id - - i=68 - i=78 - ns=1;i=8685 - - - - Stopped - This is the initial state after AnalyserDeviceStateMachine state Powerup - - i=2309 - i=78 - ns=1;i=5060 - - - - Resetting - This state is the result of a Reset or SetConfiguration Method call from the Stopped state. - - i=2307 - i=78 - ns=1;i=5060 - - - - Idle - The Resetting state is completed, all parameters have been committed and ready to start acquisition - - i=2307 - i=78 - ns=1;i=5060 - - - - Starting - The analyser has received the Start or SingleAcquisitionStart Method call and it is preparing to enter in Execute state. - - i=2307 - i=78 - ns=1;i=5060 - - - - Execute - All repetitive acquisition cycles are done in this state: - - ns=1;i=8705 - ns=1;i=8964 - i=78 - ns=1;i=5060 - - - - OperatingExecuteSubStateMachine - - ns=1;i=8706 - ns=1;i=8716 - ns=1;i=8718 - ns=1;i=8720 - ns=1;i=8722 - ns=1;i=8724 - ns=1;i=8726 - ns=1;i=8728 - ns=1;i=8730 - ns=1;i=8732 - ns=1;i=8734 - ns=1;i=8736 - ns=1;i=8738 - ns=1;i=8740 - ns=1;i=8742 - ns=1;i=8744 - ns=1;i=8746 - ns=1;i=8748 - ns=1;i=8750 - ns=1;i=8752 - ns=1;i=8754 - ns=1;i=8756 - ns=1;i=8758 - ns=1;i=8760 - ns=1;i=8762 - ns=1;i=8764 - ns=1;i=8766 - ns=1;i=8768 - ns=1;i=8770 - ns=1;i=8772 - ns=1;i=8774 - ns=1;i=8776 - ns=1;i=8778 - ns=1;i=8780 - ns=1;i=8782 - ns=1;i=8784 - ns=1;i=8786 - ns=1;i=8788 - ns=1;i=8790 - ns=1;i=8792 - ns=1;i=8794 - ns=1;i=8796 - ns=1;i=8798 - ns=1;i=8800 - ns=1;i=8802 - ns=1;i=8804 - ns=1;i=8806 - ns=1;i=8808 - ns=1;i=8810 - ns=1;i=8812 - ns=1;i=8814 - ns=1;i=8816 - ns=1;i=8818 - ns=1;i=8820 - ns=1;i=8822 - ns=1;i=8824 - ns=1;i=8826 - ns=1;i=8828 - ns=1;i=8830 - ns=1;i=1009 - i=78 - ns=1;i=8703 - - - - CurrentState - - ns=1;i=8707 - i=2760 - i=78 - ns=1;i=8705 - - - - Id - - i=68 - i=78 - ns=1;i=8706 - - - - SelectExecutionCycle - This pseudo-state is used to decide which execution path shall be taken. - - i=2309 - i=78 - ns=1;i=8705 - - - - WaitForCalibrationTrigger - Wait until the analyser channel is ready to perform the Calibration acquisition cycle - - i=2307 - i=78 - ns=1;i=8705 - - - - ExtractCalibrationSample - Collect / setup the sampling system to perform the acquisition cycle of a Calibration cycle - - i=2307 - i=78 - ns=1;i=8705 - - - - PrepareCalibrationSample - Prepare the Calibration sample for the AnalyseCalibrationSample state - - i=2307 - i=78 - ns=1;i=8705 - - - - AnalyseCalibrationSample - Perform the analysis of the Calibration Sample - - i=2307 - i=78 - ns=1;i=8705 - - - - WaitForValidationTrigger - Wait until the analyser channel is ready to perform the Validation acquisition cycle - - i=2307 - i=78 - ns=1;i=8705 - - - - ExtractValidationSample - Collect / setup the sampling system to perform the acquisition cycle of a Validation cycle - - i=2307 - i=78 - ns=1;i=8705 - - - - PrepareValidationSample - Prepare the Validation sample for the AnalyseValidationSample state - - i=2307 - i=78 - ns=1;i=8705 - - - - AnalyseValidationSample - Perform the analysis of the Validation Sample - - i=2307 - i=78 - ns=1;i=8705 - - - - WaitForSampleTrigger - Wait until the analyser channel is ready to perform the Sample acquisition cycle - - i=2307 - i=78 - ns=1;i=8705 - - - - ExtractSample - Collect the Sample from the process - - i=2307 - i=78 - ns=1;i=8705 - - - - PrepareSample - Prepare the Sample for the AnalyseSample state - - i=2307 - i=78 - ns=1;i=8705 - - - - AnalyseSample - Perform the analysis of the Sample - - i=2307 - i=78 - ns=1;i=8705 - - - - WaitForDiagnosticTrigger - Wait until the analyser channel is ready to perform the diagnostic cycle, - - i=2307 - i=78 - ns=1;i=8705 - - - - Diagnostic - Perform the diagnostic cycle. - - i=2307 - i=78 - ns=1;i=8705 - - - - WaitForCleaningTrigger - Wait until the analyser channel is ready to perform the cleaning cycle, - - i=2307 - i=78 - ns=1;i=8705 - - - - Cleaning - Perform the cleaning cycle. - - i=2307 - i=78 - ns=1;i=8705 - - - - PublishResults - Publish the results of the previous acquisition cycle - - i=2307 - i=78 - ns=1;i=8705 - - - - EjectGrabSample - The Sample that was just analysed is ejected from the system to allow the operator or another system to grab it - - i=2307 - i=78 - ns=1;i=8705 - - - - CleanupSamplingSystem - Cleanup the sampling sub-system to be ready for the next acquisition - - i=2307 - i=78 - ns=1;i=8705 - - - - SelectExecutionCycleToWaitForCalibrationTriggerTransition - - i=2310 - i=78 - ns=1;i=8705 - - - - WaitForCalibrationTriggerToExtractCalibrationSampleTransition - - i=2310 - i=78 - ns=1;i=8705 - - - - ExtractCalibrationSampleTransition - - i=2310 - i=78 - ns=1;i=8705 - - - - ExtractCalibrationSampleToPrepareCalibrationSampleTransition - - i=2310 - i=78 - ns=1;i=8705 - - - - PrepareCalibrationSampleTransition - - i=2310 - i=78 - ns=1;i=8705 - - - - PrepareCalibrationSampleToAnalyseCalibrationSampleTransition - - i=2310 - i=78 - ns=1;i=8705 - - - - AnalyseCalibrationSampleTransition - - i=2310 - i=78 - ns=1;i=8705 - - - - AnalyseCalibrationSampleToPublishResultsTransition - - i=2310 - i=78 - ns=1;i=8705 - - - - SelectExecutionCycleToWaitForValidationTriggerTransition - - i=2310 - i=78 - ns=1;i=8705 - - - - WaitForValidationTriggerToExtractValidationSampleTransition - - i=2310 - i=78 - ns=1;i=8705 - - - - ExtractValidationSampleTransition - - i=2310 - i=78 - ns=1;i=8705 - - - - ExtractValidationSampleToPrepareValidationSampleTransition - - i=2310 - i=78 - ns=1;i=8705 - - - - PrepareValidationSampleTransition - - i=2310 - i=78 - ns=1;i=8705 - - - - PrepareValidationSampleToAnalyseValidationSampleTransition - - i=2310 - i=78 - ns=1;i=8705 - - - - AnalyseValidationSampleTransition - - i=2310 - i=78 - ns=1;i=8705 - - - - AnalyseValidationSampleToPublishResultsTransition - - i=2310 - i=78 - ns=1;i=8705 - - - - SelectExecutionCycleToWaitForSampleTriggerTransition - - i=2310 - i=78 - ns=1;i=8705 - - - - WaitForSampleTriggerToExtractSampleTransition - - i=2310 - i=78 - ns=1;i=8705 - - - - ExtractSampleTransition - - i=2310 - i=78 - ns=1;i=8705 - - - - ExtractSampleToPrepareSampleTransition - - i=2310 - i=78 - ns=1;i=8705 - - - - PrepareSampleTransition - - i=2310 - i=78 - ns=1;i=8705 - - - - PrepareSampleToAnalyseSampleTransition - - i=2310 - i=78 - ns=1;i=8705 - - - - AnalyseSampleTransition - - i=2310 - i=78 - ns=1;i=8705 - - - - AnalyseSampleToPublishResultsTransition - - i=2310 - i=78 - ns=1;i=8705 - - - - SelectExecutionCycleToWaitForDiagnosticTriggerTransition - - i=2310 - i=78 - ns=1;i=8705 - - - - WaitForDiagnosticTriggerToDiagnosticTransition - - i=2310 - i=78 - ns=1;i=8705 - - - - DiagnosticTransition - - i=2310 - i=78 - ns=1;i=8705 - - - - DiagnosticToPublishResultsTransition - - i=2310 - i=78 - ns=1;i=8705 - - - - SelectExecutionCycleToWaitForCleaningTriggerTransition - - i=2310 - i=78 - ns=1;i=8705 - - - - WaitForCleaningTriggerToCleaningTransition - - i=2310 - i=78 - ns=1;i=8705 - - - - CleaningTransition - - i=2310 - i=78 - ns=1;i=8705 - - - - CleaningToPublishResultsTransition - - i=2310 - i=78 - ns=1;i=8705 - - - - PublishResultsToCleanupSamplingSystemTransition - - i=2310 - i=78 - ns=1;i=8705 - - - - PublishResultsToEjectGrabSampleTransition - - i=2310 - i=78 - ns=1;i=8705 - - - - EjectGrabSampleTransition - - i=2310 - i=78 - ns=1;i=8705 - - - - EjectGrabSampleToCleanupSamplingSystemTransition - - i=2310 - i=78 - ns=1;i=8705 - - - - CleanupSamplingSystemTransition - - i=2310 - i=78 - ns=1;i=8705 - - - - CleanupSamplingSystemToSelectExecutionCycleTransition - - i=2310 - i=78 - ns=1;i=8705 - - - - Completing - This state is an automatic or commanded exit from the Execute state. - - i=2307 - i=78 - ns=1;i=5060 - - - - Complete - At this point, the Completing state is done and it transitions automatically to Stopped state to wait. - - i=2307 - i=78 - ns=1;i=5060 - - - - Suspending - This state is a result of a change in monitored conditions due to process conditions or factors. - - i=2307 - i=78 - ns=1;i=5060 - - - - Suspended - The analyser or channel may be running but no results are being generated while the analyser or channel is waiting for external process conditions to return to normal. - - i=2307 - i=78 - ns=1;i=5060 - - - - Unsuspending - This state is a result of a device request from Suspended state to transition back to the Execute state by calling the Unsuspend Method. - - i=2307 - i=78 - ns=1;i=5060 - - - - Holding - Brings the analyser or channel to a controlled stop or to a state which represents Held for the particular unit control mode - - i=2307 - i=78 - ns=1;i=5060 - - - - Held - The Held state holds the analyser or channel's operation. At this state, no acquisition cycle is performed. - - i=2307 - i=78 - ns=1;i=5060 - - - - Unholding - The Unholding state is a response to an operator command to resume the Execute state. - - i=2307 - i=78 - ns=1;i=5060 - - - - Stopping - Initiated by a Stop Method call, this state: - - i=2307 - i=78 - ns=1;i=5060 - - - - Aborting - The Aborting state can be entered at any time in response to the Abort command or on the occurrence of a machine fault. - - i=2307 - i=78 - ns=1;i=5060 - - - - Aborted - This state maintains machine status information relevant to the Abort condition. - - i=2307 - i=78 - ns=1;i=5060 - - - - Clearing - Clears faults that may have occurred when Aborting and are present in the Aborted state before proceeding to a Stopped state - - i=2307 - i=78 - ns=1;i=5060 - - - - StoppedToResettingTransition - - ns=1;i=8115 - ns=1;i=8096 - i=2310 - i=78 - ns=1;i=5060 - - - - ResettingTransition - - i=2310 - i=78 - ns=1;i=5060 - - - - ResettingToIdleTransition - - i=2310 - i=78 - ns=1;i=5060 - - - - IdleToStartingTransition - - ns=1;i=8116 - ns=1;i=8111 - i=2310 - i=78 - ns=1;i=5060 - - - - StartingTransition - - i=2310 - i=78 - ns=1;i=5060 - - - - StartingToExecuteTransition - - i=2310 - i=78 - ns=1;i=5060 - - - - ExecuteToCompletingTransition - - i=2310 - i=78 - ns=1;i=5060 - - - - CompletingTransition - - i=2310 - i=78 - ns=1;i=5060 - - - - CompletingToCompleteTransition - - i=2310 - i=78 - ns=1;i=5060 - - - - CompleteToStoppedTransition - - i=2310 - i=78 - ns=1;i=5060 - - - - ExecuteToHoldingTransition - - ns=1;i=8118 - i=2310 - i=78 - ns=1;i=5060 - - - - HoldingTransition - - i=2310 - i=78 - ns=1;i=5060 - - - - HoldingToHeldTransition - - i=2310 - i=78 - ns=1;i=5060 - - - - HeldToUnholdingTransition - - ns=1;i=8119 - i=2310 - i=78 - ns=1;i=5060 - - - - UnholdingTransition - - i=2310 - i=78 - ns=1;i=5060 - - - - UnholdingToHoldingTransition - - ns=1;i=8118 - i=2310 - i=78 - ns=1;i=5060 - - - - UnholdingToExecuteTransition - - i=2310 - i=78 - ns=1;i=5060 - - - - ExecuteToSuspendingTransition - - ns=1;i=8120 - i=2310 - i=78 - ns=1;i=5060 - - - - SuspendingTransition - - i=2310 - i=78 - ns=1;i=5060 - - - - SuspendingToSuspendedTransition - - i=2310 - i=78 - ns=1;i=5060 - - - - SuspendedToUnsuspendingTransition - - ns=1;i=8121 - i=2310 - i=78 - ns=1;i=5060 - - - - UnsuspendingTransition - - i=2310 - i=78 - ns=1;i=5060 - - - - UnsuspendingToSuspendingTransition - - ns=1;i=8120 - i=2310 - i=78 - ns=1;i=5060 - - - - UnsuspendingToExecuteTransition - - i=2310 - i=78 - ns=1;i=5060 - - - - StoppingToStoppedTransition - - i=2310 - i=78 - ns=1;i=5060 - - - - AbortingToAbortedTransition - - i=2310 - i=78 - ns=1;i=5060 - - - - AbortedToClearingTransition - - ns=1;i=8123 - i=2310 - i=78 - ns=1;i=5060 - - - - ClearingToStoppedTransition - - i=2310 - i=78 - ns=1;i=5060 - - - - ResettingToStoppingTransition - - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=5060 - - - - IdleToStoppingTransition - - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=5060 - - - - StartingToStoppingTransition - - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=5060 - - - - ExecuteToStoppingTransition - - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=5060 - - - - CompletingToStoppingTransition - - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=5060 - - - - CompleteToStoppingTransition - - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=5060 - - - - SuspendingToStoppingTransition - - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=5060 - - - - SuspendedToStoppingTransition - - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=5060 - - - - UnsuspendingToStoppingTransition - - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=5060 - - - - HoldingToStoppingTransition - - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=5060 - - - - HeldToStoppingTransition - - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=5060 - - - - UnholdingToStoppingTransition - - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=5060 - - - - StoppedToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=5060 - - - - ResettingToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=5060 - - - - IdleToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=5060 - - - - StartingToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=5060 - - - - ExecuteToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=5060 - - - - CompletingToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=5060 - - - - CompleteToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=5060 - - - - SuspendingToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=5060 - - - - SuspendedToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=5060 - - - - UnsuspendingToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=5060 - - - - HoldingToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=5060 - - - - HeldToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=5060 - - - - UnholdingToAbortingTransition - - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=5060 - - - - StoppingToAbortingTransition + + + Unhold + Causes transition to the Unholding state. - ns=1;i=8122 - i=2310 i=78 - ns=1;i=5060 + ns=1;i=9679 - - - Local - The AnalyserChannel is in the Local mode. This mode is normally used to perform local physical maintenance on the analyser. + + + Suspend + Causes transition to the Suspending state. - ns=1;i=6163 - ns=1;i=5064 - ns=1;i=5066 - ns=1;i=5067 - ns=1;i=5069 - ns=1;i=5071 - ns=1;i=1005 i=78 - ns=1;i=1007 - - - - StateNumber - - i=68 - i=80 - ns=1;i=5061 + ns=1;i=9679 - - 0 - - - - Maintenance - The AnalyserChannel is in the Maintenance mode. This mode is used to perform remote maintenance on the analyser like firmware upgrade. + + + Unsuspend + Causes transition to the Unsuspending state. - ns=1;i=6164 - ns=1;i=5065 - ns=1;i=5067 - ns=1;i=5068 - ns=1;i=5069 - ns=1;i=5072 - ns=1;i=1006 i=78 - ns=1;i=1007 - - - - StateNumber - - i=68 - i=80 - ns=1;i=5062 + ns=1;i=9679 - - 0 - - - - SlaveModeToOperatingTransition + + + Abort + Causes transition to the Aborting state. - ns=1;i=6165 - ns=1;i=5058 - ns=1;i=5059 - i=2310 i=78 - ns=1;i=1007 - - - - TransitionNumber - - i=68 - i=80 - ns=1;i=5063 + ns=1;i=9679 - - 0 - - - - OperatingToLocalTransition + + + Clear + Causes transition to the Clearing state. - ns=1;i=6166 - ns=1;i=5059 - ns=1;i=5061 - i=2310 i=78 - ns=1;i=1007 - - - - TransitionNumber - - i=68 - i=80 - ns=1;i=5064 + ns=1;i=9679 - - 0 - - - - OperatingToMaintenanceTransition + + + <GroupIdentifier> + Group definition - ns=1;i=6167 - ns=1;i=5059 - ns=1;i=5062 - ns=1;i=8114 - i=2310 - i=78 - ns=1;i=1007 + ns=2;i=1005 + i=11508 + ns=1;i=1003 - - TransitionNumber - - i=68 - i=80 - ns=1;i=5065 - - - 0 - - - - LocalToOperatingTransition + + Configuration - ns=1;i=6168 - ns=1;i=5061 - ns=1;i=5059 - i=2310 + ns=1;i=9715 + ns=2;i=1005 i=78 - ns=1;i=1007 + ns=1;i=1003 - - TransitionNumber - - i=68 - i=80 - ns=1;i=5066 - - - 0 - - - - LocalToMaintenanceTransition + + Status - ns=1;i=6169 - ns=1;i=5061 - ns=1;i=5062 - i=2310 + ns=1;i=9718 + ns=1;i=9721 + ns=2;i=1005 i=78 - ns=1;i=1007 + ns=1;i=1003 - - TransitionNumber - - i=68 - i=80 - ns=1;i=5067 - - - 0 - - - - MaintenanceToOperatingTransition + + ChannelStateMachine - ns=1;i=6170 - ns=1;i=5062 - ns=1;i=5059 - ns=1;i=8113 - i=2310 + ns=1;i=9729 + ns=1;i=9740 + ns=1;i=1007 i=78 - ns=1;i=1007 + ns=1;i=1003 - - TransitionNumber - - i=68 - i=80 - ns=1;i=5068 - - - 0 - - - - MaintenanceToLocalTransition + + CurrentState - ns=1;i=6171 - ns=1;i=5062 - ns=1;i=5061 - i=2310 + ns=1;i=9730 + i=2760 i=78 - ns=1;i=1007 - - - - TransitionNumber - - i=68 - i=80 - ns=1;i=5069 + ns=1;i=9728 - - 0 - - - OperatingToSlaveModeTransition - - ns=1;i=6172 - ns=1;i=5059 - ns=1;i=5058 - i=2310 - i=78 - ns=1;i=1007 - - - - TransitionNumber + + Id i=68 - i=80 - ns=1;i=5070 - - - 0 - - - - LocalToSlaveModeTransition - - ns=1;i=6173 - ns=1;i=5061 - ns=1;i=5058 - i=2310 i=78 - ns=1;i=1007 - - - - TransitionNumber - - i=68 - i=80 - ns=1;i=5071 + ns=1;i=9729 - - 0 - - - MaintenanceToSlaveModeTransition + + OperatingSubStateMachine - ns=1;i=6174 - ns=1;i=5062 - ns=1;i=5058 - i=2310 + ns=1;i=9741 + ns=1;i=9752 + ns=1;i=1008 i=78 - ns=1;i=1007 + ns=1;i=9728 - - TransitionNumber - - i=68 - i=80 - ns=1;i=5072 + + CurrentState + + ns=1;i=9742 + i=2760 + i=78 + ns=1;i=9740 - - 0 - - - AnalyserChannelOperatingExecuteStateType + + Id - ns=1;i=8966 - i=2307 + i=68 + i=78 + ns=1;i=9741 - - + + OperatingExecuteSubStateMachine - ns=1;i=8967 - ns=1;i=8977 - ns=1;i=8979 - ns=1;i=8981 - ns=1;i=8983 - ns=1;i=8985 - ns=1;i=8987 - ns=1;i=8989 - ns=1;i=8991 - ns=1;i=8993 - ns=1;i=8995 - ns=1;i=8997 - ns=1;i=8999 - ns=1;i=9001 - ns=1;i=9003 - ns=1;i=9005 - ns=1;i=9007 - ns=1;i=9009 - ns=1;i=9011 - ns=1;i=9013 - ns=1;i=9015 - ns=1;i=9017 - ns=1;i=9019 - ns=1;i=9021 - ns=1;i=9023 - ns=1;i=9025 - ns=1;i=9027 - ns=1;i=9029 - ns=1;i=9031 - ns=1;i=9033 - ns=1;i=9035 - ns=1;i=9037 - ns=1;i=9039 - ns=1;i=9041 - ns=1;i=9043 - ns=1;i=9045 - ns=1;i=9047 - ns=1;i=9049 - ns=1;i=9051 - ns=1;i=9053 - ns=1;i=9055 - ns=1;i=9057 - ns=1;i=9059 - ns=1;i=9061 - ns=1;i=9063 - ns=1;i=9065 - ns=1;i=9067 - ns=1;i=9069 - ns=1;i=9071 - ns=1;i=9073 - ns=1;i=9075 - ns=1;i=9077 - ns=1;i=9079 - ns=1;i=9081 - ns=1;i=9083 - ns=1;i=9085 - ns=1;i=9087 - ns=1;i=9089 - ns=1;i=9091 + ns=1;i=9753 ns=1;i=1009 i=78 - ns=1;i=8964 + ns=1;i=9740 - + CurrentState - ns=1;i=8968 + ns=1;i=9754 i=2760 i=78 - ns=1;i=8966 + ns=1;i=9752 - + Id i=68 i=78 - ns=1;i=8967 + ns=1;i=9753 - - SelectExecutionCycle - This pseudo-state is used to decide which execution path shall be taken. + + <StreamIdentifier> + Stream definition - i=2309 - i=78 - ns=1;i=8966 + ns=1;i=9902 + ns=1;i=9904 + ns=1;i=9906 + ns=1;i=9908 + ns=1;i=9910 + ns=1;i=9912 + ns=1;i=9914 + ns=1;i=1010 + i=11508 + ns=1;i=1003 - - WaitForCalibrationTrigger - Wait until the analyser channel is ready to perform the Calibration acquisition cycle + + Configuration - i=2307 + ns=2;i=1005 i=78 - ns=1;i=8966 + ns=1;i=9790 - - ExtractCalibrationSample - Collect / setup the sampling system to perform the acquisition cycle of a Calibration cycle + + Status - i=2307 + ns=2;i=1005 i=78 - ns=1;i=8966 + ns=1;i=9790 - - PrepareCalibrationSample - Prepare the Calibration sample for the AnalyseCalibrationSample state + + AcquisitionSettings - i=2307 + ns=2;i=1005 i=78 - ns=1;i=8966 + ns=1;i=9790 - - AnalyseCalibrationSample - Perform the analysis of the Calibration Sample + + AcquisitionStatus - i=2307 + ns=2;i=1005 i=78 - ns=1;i=8966 + ns=1;i=9790 - - WaitForValidationTrigger - Wait until the analyser channel is ready to perform the Validation acquisition cycle + + AcquisitionData - i=2307 + ns=2;i=1005 i=78 - ns=1;i=8966 + ns=1;i=9790 - - ExtractValidationSample - Collect / setup the sampling system to perform the acquisition cycle of a Validation cycle + + ChemometricModelSettings - i=2307 + ns=2;i=1005 i=78 - ns=1;i=8966 + ns=1;i=9790 - - PrepareValidationSample - Prepare the Validation sample for the AnalyseValidationSample state + + Context - i=2307 + ns=2;i=1005 i=78 - ns=1;i=8966 + ns=1;i=9790 - - AnalyseValidationSample - Perform the analysis of the Validation Sample + + <AccessorySlotIdentifier> + AccessorySlot definition - i=2307 - i=78 - ns=1;i=8966 + ns=1;i=9917 + ns=1;i=9918 + ns=1;i=9919 + ns=1;i=9920 + ns=1;i=1017 + i=11508 + ns=1;i=1003 - - WaitForSampleTrigger - Wait until the analyser channel is ready to perform the Sample acquisition cycle + + SupportedTypes + Folder maintaining the set of (sub-types of) BaseObjectTypes that can be instantiated in the ConfigurableComponent - i=2307 + i=61 i=78 - ns=1;i=8966 + ns=1;i=9916 - - ExtractSample - Collect the Sample from the process + + IsHotSwappable + True if an accessory can be inserted in the accessory slot while it is powered - i=2307 + i=68 i=78 - ns=1;i=8966 + ns=1;i=9916 - - - PrepareSample - Prepare the Sample for the AnalyseSample state + + + IsEnabled + True if this accessory slot is capable of accepting an accessory in it - i=2307 + i=68 i=78 - ns=1;i=8966 + ns=1;i=9916 - - - AnalyseSample - Perform the analysis of the Sample + + + AccessorySlotStateMachine - i=2307 + ns=1;i=9921 + ns=1;i=1018 i=78 - ns=1;i=8966 + ns=1;i=9916 - - WaitForDiagnosticTrigger - Wait until the analyser channel is ready to perform the diagnostic cycle, + + CurrentState - i=2307 + ns=1;i=9922 + i=2760 i=78 - ns=1;i=8966 + ns=1;i=9920 - - - Diagnostic - Perform the diagnostic cycle. + + + Id - i=2307 + i=68 i=78 - ns=1;i=8966 + ns=1;i=9921 - - - WaitForCleaningTrigger - Wait until the analyser channel is ready to perform the cleaning cycle, + + + AnalyserChannelOperatingStateType - i=2307 - i=78 - ns=1;i=8966 + ns=1;i=9948 + i=2307 - - - Cleaning - Perform the cleaning cycle. + + + AnalyserChannelLocalStateType - i=2307 - i=78 - ns=1;i=8966 + i=2307 - - - PublishResults - Publish the results of the previous acquisition cycle + + + AnalyserChannelMaintenanceStateType - i=2307 - i=78 - ns=1;i=8966 + i=2307 - - - EjectGrabSample - The Sample that was just analysed is ejected from the system to allow the operator or another system to grab it + + + AnalyserChannelStateMachineType + Contains a nested state model that defines the top level states Operating, Local and Maintenance - i=2307 - i=78 - ns=1;i=8966 + ns=1;i=9948 + ns=1;i=9972 + ns=1;i=9984 + ns=1;i=9996 + ns=1;i=9998 + ns=1;i=10000 + ns=1;i=10002 + ns=1;i=10004 + ns=1;i=10006 + ns=1;i=10008 + ns=1;i=10010 + ns=1;i=10012 + ns=1;i=10014 + ns=1;i=10016 + ns=1;i=10018 + ns=1;i=10020 + ns=1;i=10022 + i=2771 - - - CleanupSamplingSystem - Cleanup the sampling sub-system to be ready for the next acquisition + + + OperatingSubStateMachine - i=2307 + ns=1;i=9949 + ns=1;i=9960 + ns=1;i=9998 + ns=1;i=1008 i=78 - ns=1;i=8966 + ns=1;i=1007 - - SelectExecutionCycleToWaitForCalibrationTriggerTransition + + CurrentState - i=2310 + ns=1;i=9950 + i=2760 i=78 - ns=1;i=8966 + ns=1;i=9948 - - - WaitForCalibrationTriggerToExtractCalibrationSampleTransition + + + Id - i=2310 + i=68 i=78 - ns=1;i=8966 + ns=1;i=9949 - - - ExtractCalibrationSampleTransition + + + OperatingExecuteSubStateMachine - i=2310 + ns=1;i=9961 + ns=1;i=1009 i=78 - ns=1;i=8966 + ns=1;i=9948 - - ExtractCalibrationSampleToPrepareCalibrationSampleTransition + + CurrentState - i=2310 + ns=1;i=9962 + i=2760 i=78 - ns=1;i=8966 + ns=1;i=9960 - - - PrepareCalibrationSampleTransition + + + Id - i=2310 + i=68 i=78 - ns=1;i=8966 + ns=1;i=9961 - - - PrepareCalibrationSampleToAnalyseCalibrationSampleTransition + + + LocalSubStateMachine - i=2310 - i=78 - ns=1;i=8966 + ns=1;i=9973 + ns=1;i=10000 + i=2771 + i=80 + ns=1;i=1007 - - AnalyseCalibrationSampleTransition + + CurrentState - i=2310 + ns=1;i=9974 + i=2760 i=78 - ns=1;i=8966 + ns=1;i=9972 - - - AnalyseCalibrationSampleToPublishResultsTransition + + + Id - i=2310 + i=68 i=78 - ns=1;i=8966 + ns=1;i=9973 - - - SelectExecutionCycleToWaitForValidationTriggerTransition + + + MaintenanceSubStateMachine - i=2310 - i=78 - ns=1;i=8966 + ns=1;i=9985 + ns=1;i=10002 + i=2771 + i=80 + ns=1;i=1007 - - WaitForValidationTriggerToExtractValidationSampleTransition + + CurrentState - i=2310 + ns=1;i=9986 + i=2760 i=78 - ns=1;i=8966 + ns=1;i=9984 - - - ExtractValidationSampleTransition + + + Id - i=2310 + i=68 i=78 - ns=1;i=8966 + ns=1;i=9985 - - - ExtractValidationSampleToPrepareValidationSampleTransition + + + SlaveMode + The AnalyserDevice is in Local or Maintenance mode and all AnalyserChannels are in SlaveMode - i=2310 - i=78 - ns=1;i=8966 + ns=1;i=9997 + ns=1;i=10004 + ns=1;i=10018 + ns=1;i=10020 + ns=1;i=10022 + i=2309 + ns=1;i=1007 - - PrepareValidationSampleTransition + + StateNumber - i=2310 + i=68 i=78 - ns=1;i=8966 + ns=1;i=9996 + + + 100 + + + + Operating + The AnalyserChannel is in the Operating mode. + + ns=1;i=9999 + ns=1;i=9948 + ns=1;i=10004 + ns=1;i=10006 + ns=1;i=10008 + ns=1;i=10010 + ns=1;i=10014 + ns=1;i=10018 + ns=1;i=1004 + ns=1;i=1007 - - PrepareValidationSampleToAnalyseValidationSampleTransition + + StateNumber - i=2310 + i=68 i=78 - ns=1;i=8966 + ns=1;i=9998 + + + 200 + + + + Local + The AnalyserChannel is in the Local mode. This mode is normally used to perform local physical maintenance on the analyser. + + ns=1;i=10001 + ns=1;i=9972 + ns=1;i=10006 + ns=1;i=10010 + ns=1;i=10012 + ns=1;i=10016 + ns=1;i=10020 + ns=1;i=1005 + ns=1;i=1007 - - AnalyseValidationSampleTransition + + StateNumber - i=2310 + i=68 i=78 - ns=1;i=8966 + ns=1;i=10000 - - - AnalyseValidationSampleToPublishResultsTransition + + 300 + + + + Maintenance + The AnalyserChannel is in the Maintenance mode. This mode is used to perform remote maintenance on the analyser like firmware upgrade. - i=2310 - i=78 - ns=1;i=8966 + ns=1;i=10003 + ns=1;i=9984 + ns=1;i=10008 + ns=1;i=10012 + ns=1;i=10014 + ns=1;i=10016 + ns=1;i=10022 + ns=1;i=1006 + ns=1;i=1007 - - SelectExecutionCycleToWaitForSampleTriggerTransition + + StateNumber - i=2310 + i=68 i=78 - ns=1;i=8966 + ns=1;i=10002 - - - WaitForSampleTriggerToExtractSampleTransition + + 400 + + + + SlaveModeToOperatingTransition + ns=1;i=10005 + ns=1;i=9996 + ns=1;i=9998 i=2310 - i=78 - ns=1;i=8966 + ns=1;i=1007 - - ExtractSampleTransition + + TransitionNumber - i=2310 + i=68 i=78 - ns=1;i=8966 + ns=1;i=10004 - - - ExtractSampleToPrepareSampleTransition + + 1 + + + + OperatingToLocalTransition + ns=1;i=10007 + ns=1;i=9998 + ns=1;i=10000 i=2310 - i=78 - ns=1;i=8966 + ns=1;i=1007 - - PrepareSampleTransition + + TransitionNumber - i=2310 + i=68 i=78 - ns=1;i=8966 + ns=1;i=10006 - - - PrepareSampleToAnalyseSampleTransition + + 2 + + + + OperatingToMaintenanceTransition + ns=1;i=10009 + ns=1;i=9998 + ns=1;i=10002 + ns=1;i=9700 i=2310 - i=78 - ns=1;i=8966 + ns=1;i=1007 - - AnalyseSampleTransition + + TransitionNumber - i=2310 + i=68 i=78 - ns=1;i=8966 + ns=1;i=10008 - - - AnalyseSampleToPublishResultsTransition + + 3 + + + + LocalToOperatingTransition + ns=1;i=10011 + ns=1;i=10000 + ns=1;i=9998 i=2310 - i=78 - ns=1;i=8966 + ns=1;i=1007 - - SelectExecutionCycleToWaitForDiagnosticTriggerTransition + + TransitionNumber - i=2310 + i=68 i=78 - ns=1;i=8966 + ns=1;i=10010 - - - WaitForDiagnosticTriggerToDiagnosticTransition + + 4 + + + + LocalToMaintenanceTransition + ns=1;i=10013 + ns=1;i=10000 + ns=1;i=10002 i=2310 - i=78 - ns=1;i=8966 + ns=1;i=1007 - - DiagnosticTransition + + TransitionNumber - i=2310 + i=68 i=78 - ns=1;i=8966 + ns=1;i=10012 - - - DiagnosticToPublishResultsTransition + + 5 + + + + MaintenanceToOperatingTransition + ns=1;i=10015 + ns=1;i=10002 + ns=1;i=9998 + ns=1;i=9699 i=2310 - i=78 - ns=1;i=8966 + ns=1;i=1007 - - SelectExecutionCycleToWaitForCleaningTriggerTransition + + TransitionNumber - i=2310 + i=68 i=78 - ns=1;i=8966 + ns=1;i=10014 - - - WaitForCleaningTriggerToCleaningTransition + + 6 + + + + MaintenanceToLocalTransition + ns=1;i=10017 + ns=1;i=10002 + ns=1;i=10000 i=2310 - i=78 - ns=1;i=8966 + ns=1;i=1007 - - CleaningTransition + + TransitionNumber - i=2310 + i=68 i=78 - ns=1;i=8966 + ns=1;i=10016 - - - CleaningToPublishResultsTransition + + 7 + + + + OperatingToSlaveModeTransition + ns=1;i=10019 + ns=1;i=9998 + ns=1;i=9996 i=2310 - i=78 - ns=1;i=8966 + ns=1;i=1007 - - PublishResultsToCleanupSamplingSystemTransition + + TransitionNumber - i=2310 + i=68 i=78 - ns=1;i=8966 + ns=1;i=10018 - - - PublishResultsToEjectGrabSampleTransition + + 8 + + + + LocalToSlaveModeTransition + ns=1;i=10021 + ns=1;i=10000 + ns=1;i=9996 i=2310 - i=78 - ns=1;i=8966 + ns=1;i=1007 - - EjectGrabSampleTransition + + TransitionNumber - i=2310 + i=68 i=78 - ns=1;i=8966 + ns=1;i=10020 - - - EjectGrabSampleToCleanupSamplingSystemTransition + + 9 + + + + MaintenanceToSlaveModeTransition + ns=1;i=10023 + ns=1;i=10002 + ns=1;i=9996 i=2310 - i=78 - ns=1;i=8966 + ns=1;i=1007 - - CleanupSamplingSystemTransition + + TransitionNumber - i=2310 + i=68 i=78 - ns=1;i=8966 + ns=1;i=10022 - - - CleanupSamplingSystemToSelectExecutionCycleTransition + + 10 + + + + AnalyserChannelOperatingExecuteStateType - i=2310 - i=78 - ns=1;i=8966 + ns=1;i=10036 + i=2307 - + AnalyserChannel_OperatingModeSubStateMachineType AnalyserChannel OperatingMode SubStateMachine - ns=1;i=5073 - ns=1;i=5074 - ns=1;i=5075 - ns=1;i=5076 - ns=1;i=5077 - ns=1;i=5180 - ns=1;i=5181 - ns=1;i=5182 - ns=1;i=5183 - ns=1;i=5184 - ns=1;i=5185 - ns=1;i=5186 - ns=1;i=5187 - ns=1;i=5188 - ns=1;i=5189 - ns=1;i=5190 - ns=1;i=5191 - ns=1;i=5192 - ns=1;i=5193 - ns=1;i=5194 - ns=1;i=5195 - ns=1;i=5196 - ns=1;i=5197 - ns=1;i=5198 - ns=1;i=5199 - ns=1;i=5200 - ns=1;i=5201 - ns=1;i=5202 - ns=1;i=5203 - ns=1;i=5204 - ns=1;i=5205 - ns=1;i=5206 - ns=1;i=5207 - ns=1;i=5208 - ns=1;i=5209 - ns=1;i=5210 - ns=1;i=5211 - ns=1;i=5212 - ns=1;i=5213 - ns=1;i=5214 - ns=1;i=5215 - ns=1;i=5216 - ns=1;i=5217 - ns=1;i=5218 - ns=1;i=5219 - ns=1;i=5220 - ns=1;i=5221 - ns=1;i=5222 - ns=1;i=5223 - ns=1;i=5224 - ns=1;i=5225 - ns=1;i=5226 - ns=1;i=5227 - ns=1;i=5228 - ns=1;i=5229 - ns=1;i=5230 - ns=1;i=5231 - ns=1;i=5232 - ns=1;i=5233 - ns=1;i=5234 - ns=1;i=5235 - ns=1;i=5236 - ns=1;i=5237 - ns=1;i=5238 - ns=1;i=5239 - ns=1;i=5240 - ns=1;i=5241 - ns=1;i=5242 - ns=1;i=5243 - ns=1;i=5244 - ns=1;i=5245 - ns=1;i=8115 - ns=1;i=8116 - ns=1;i=8111 - ns=1;i=8117 - ns=1;i=8118 - ns=1;i=8119 - ns=1;i=8120 - ns=1;i=8121 - ns=1;i=8122 - ns=1;i=8123 + ns=1;i=10036 + ns=1;i=10048 + ns=1;i=10050 + ns=1;i=10052 + ns=1;i=10054 + ns=1;i=10056 + ns=1;i=10058 + ns=1;i=10060 + ns=1;i=10062 + ns=1;i=10064 + ns=1;i=10066 + ns=1;i=10068 + ns=1;i=10070 + ns=1;i=10072 + ns=1;i=10074 + ns=1;i=10076 + ns=1;i=10078 + ns=1;i=10080 + ns=1;i=10082 + ns=1;i=10084 + ns=1;i=10086 + ns=1;i=10088 + ns=1;i=10090 + ns=1;i=10092 + ns=1;i=10094 + ns=1;i=10096 + ns=1;i=10098 + ns=1;i=10100 + ns=1;i=10102 + ns=1;i=10104 + ns=1;i=10106 + ns=1;i=10108 + ns=1;i=10110 + ns=1;i=10112 + ns=1;i=10114 + ns=1;i=10116 + ns=1;i=10118 + ns=1;i=10120 + ns=1;i=10122 + ns=1;i=10124 + ns=1;i=10126 + ns=1;i=10128 + ns=1;i=10130 + ns=1;i=10132 + ns=1;i=10134 + ns=1;i=10136 + ns=1;i=10138 + ns=1;i=10140 + ns=1;i=10142 + ns=1;i=10144 + ns=1;i=10146 + ns=1;i=10148 + ns=1;i=10150 + ns=1;i=10152 + ns=1;i=10154 + ns=1;i=10156 + ns=1;i=10158 + ns=1;i=10160 + ns=1;i=10162 + ns=1;i=10164 + ns=1;i=10166 + ns=1;i=10168 + ns=1;i=10170 + ns=1;i=10172 + ns=1;i=10174 + ns=1;i=10176 + ns=1;i=10178 + ns=1;i=10180 + ns=1;i=10182 + ns=1;i=10184 + ns=1;i=10186 + ns=1;i=10188 i=2771 - + + OperatingExecuteSubStateMachine + + ns=1;i=10037 + ns=1;i=10056 + ns=1;i=1009 + i=78 + ns=1;i=1008 + + + + CurrentState + + ns=1;i=10038 + i=2760 + i=78 + ns=1;i=10036 + + + + Id + + i=68 + i=78 + ns=1;i=10037 + + + Stopped This is the initial state after AnalyserDeviceStateMachine state Powerup - ns=1;i=6185 - ns=1;i=5192 - ns=1;i=5201 - ns=1;i=5216 - ns=1;i=5219 - ns=1;i=5232 + ns=1;i=10049 + ns=1;i=10082 + ns=1;i=10100 + ns=1;i=10130 + ns=1;i=10136 + ns=1;i=10162 i=2309 - i=78 ns=1;i=1008 - + StateNumber i=68 - i=80 - ns=1;i=5073 + i=78 + ns=1;i=10048 - 0 + 2 - + Resetting This state is the result of a Reset or SetConfiguration Method call from the Stopped state. - ns=1;i=6186 - ns=1;i=5192 - ns=1;i=5193 - ns=1;i=5193 - ns=1;i=5194 - ns=1;i=5220 - ns=1;i=5233 + ns=1;i=10051 + ns=1;i=10082 + ns=1;i=10084 + ns=1;i=10084 + ns=1;i=10086 + ns=1;i=10138 + ns=1;i=10164 i=2307 - i=78 ns=1;i=1008 - + StateNumber i=68 - i=80 - ns=1;i=5074 + i=78 + ns=1;i=10050 - 0 + 15 - + Idle The Resetting state is completed, all parameters have been committed and ready to start acquisition - ns=1;i=6187 - ns=1;i=5194 - ns=1;i=5195 - ns=1;i=5221 - ns=1;i=5234 + ns=1;i=10053 + ns=1;i=10086 + ns=1;i=10088 + ns=1;i=10140 + ns=1;i=10166 i=2307 - i=78 ns=1;i=1008 - + StateNumber i=68 - i=80 - ns=1;i=5075 + i=78 + ns=1;i=10052 - 0 + 4 - + Starting The analyser has received the Start or SingleAcquisitionStart Method call and it is preparing to enter in Execute state. - ns=1;i=6188 - ns=1;i=5195 - ns=1;i=5196 - ns=1;i=5196 - ns=1;i=5197 - ns=1;i=5222 - ns=1;i=5235 + ns=1;i=10055 + ns=1;i=10088 + ns=1;i=10090 + ns=1;i=10090 + ns=1;i=10092 + ns=1;i=10142 + ns=1;i=10168 i=2307 - i=78 ns=1;i=1008 - + StateNumber i=68 - i=80 - ns=1;i=5076 - - - 0 - - - - Execute - All repetitive acquisition cycles are done in this state: - - ns=1;i=6301 - ns=1;i=9093 - ns=1;i=5197 - ns=1;i=5198 - ns=1;i=5202 - ns=1;i=5208 - ns=1;i=5209 - ns=1;i=5215 - ns=1;i=5223 - ns=1;i=5236 - ns=1;i=8964 i=78 - ns=1;i=1008 - - - - StateNumber - - i=68 - i=80 - ns=1;i=5077 + ns=1;i=10054 - 0 + 3 - - - OperatingExecuteSubStateMachine - - ns=1;i=9094 - ns=1;i=9104 - ns=1;i=9106 - ns=1;i=9108 - ns=1;i=9110 - ns=1;i=9112 - ns=1;i=9114 - ns=1;i=9116 - ns=1;i=9118 - ns=1;i=9120 - ns=1;i=9122 - ns=1;i=9124 - ns=1;i=9126 - ns=1;i=9128 - ns=1;i=9130 - ns=1;i=9132 - ns=1;i=9134 - ns=1;i=9136 - ns=1;i=9138 - ns=1;i=9140 - ns=1;i=9142 - ns=1;i=9144 - ns=1;i=9146 - ns=1;i=9148 - ns=1;i=9150 - ns=1;i=9152 - ns=1;i=9154 - ns=1;i=9156 - ns=1;i=9158 - ns=1;i=9160 - ns=1;i=9162 - ns=1;i=9164 - ns=1;i=9166 - ns=1;i=9168 - ns=1;i=9170 - ns=1;i=9172 - ns=1;i=9174 - ns=1;i=9176 - ns=1;i=9178 - ns=1;i=9180 - ns=1;i=9182 - ns=1;i=9184 - ns=1;i=9186 - ns=1;i=9188 - ns=1;i=9190 - ns=1;i=9192 - ns=1;i=9194 - ns=1;i=9196 - ns=1;i=9198 - ns=1;i=9200 - ns=1;i=9202 - ns=1;i=9204 - ns=1;i=9206 - ns=1;i=9208 - ns=1;i=9210 - ns=1;i=9212 - ns=1;i=9214 - ns=1;i=9216 - ns=1;i=9218 - ns=1;i=1009 - i=78 - ns=1;i=5077 - - - - CurrentState - - ns=1;i=9095 - i=2760 - i=78 - ns=1;i=9093 - - - - Id - - i=68 - i=78 - ns=1;i=9094 - - - - SelectExecutionCycle - This pseudo-state is used to decide which execution path shall be taken. - - i=2309 - i=78 - ns=1;i=9093 - - - - WaitForCalibrationTrigger - Wait until the analyser channel is ready to perform the Calibration acquisition cycle - - i=2307 - i=78 - ns=1;i=9093 - - - - ExtractCalibrationSample - Collect / setup the sampling system to perform the acquisition cycle of a Calibration cycle - - i=2307 - i=78 - ns=1;i=9093 - - - - PrepareCalibrationSample - Prepare the Calibration sample for the AnalyseCalibrationSample state - - i=2307 - i=78 - ns=1;i=9093 - - - - AnalyseCalibrationSample - Perform the analysis of the Calibration Sample - - i=2307 - i=78 - ns=1;i=9093 - - - - WaitForValidationTrigger - Wait until the analyser channel is ready to perform the Validation acquisition cycle + + + Execute + All repetitive acquisition cycles are done in this state: - i=2307 - i=78 - ns=1;i=9093 + ns=1;i=10057 + ns=1;i=10036 + ns=1;i=10092 + ns=1;i=10094 + ns=1;i=10102 + ns=1;i=10114 + ns=1;i=10116 + ns=1;i=10128 + ns=1;i=10144 + ns=1;i=10170 + ns=1;i=8964 + ns=1;i=1008 - - ExtractValidationSample - Collect / setup the sampling system to perform the acquisition cycle of a Validation cycle + + StateNumber - i=2307 + i=68 i=78 - ns=1;i=9093 + ns=1;i=10056 - - - PrepareValidationSample - Prepare the Validation sample for the AnalyseValidationSample state + + 6 + + + + Completing + This state is an automatic or commanded exit from the Execute state. + ns=1;i=10059 + ns=1;i=10094 + ns=1;i=10096 + ns=1;i=10096 + ns=1;i=10098 + ns=1;i=10146 + ns=1;i=10172 i=2307 - i=78 - ns=1;i=9093 + ns=1;i=1008 - - AnalyseValidationSample - Perform the analysis of the Validation Sample + + StateNumber - i=2307 + i=68 i=78 - ns=1;i=9093 + ns=1;i=10058 - - - WaitForSampleTrigger - Wait until the analyser channel is ready to perform the Sample acquisition cycle + + 16 + + + + Complete + At this point, the Completing state is done and it transitions automatically to Stopped state to wait. + ns=1;i=10061 + ns=1;i=10098 + ns=1;i=10100 + ns=1;i=10148 + ns=1;i=10174 i=2307 - i=78 - ns=1;i=9093 + ns=1;i=1008 - - ExtractSample - Collect the Sample from the process + + StateNumber - i=2307 + i=68 i=78 - ns=1;i=9093 + ns=1;i=10060 - - - PrepareSample - Prepare the Sample for the AnalyseSample state + + 17 + + + + Suspending + This state is a result of a change in monitored conditions due to process conditions or factors. + ns=1;i=10063 + ns=1;i=10116 + ns=1;i=10118 + ns=1;i=10118 + ns=1;i=10120 + ns=1;i=10126 + ns=1;i=10150 + ns=1;i=10176 i=2307 - i=78 - ns=1;i=9093 + ns=1;i=1008 - - AnalyseSample - Perform the analysis of the Sample + + StateNumber - i=2307 + i=68 i=78 - ns=1;i=9093 + ns=1;i=10062 - - - WaitForDiagnosticTrigger - Wait until the analyser channel is ready to perform the diagnostic cycle, + + 13 + + + + Suspended + The analyser or channel may be running but no results are being generated while the analyser or channel is waiting for external process conditions to return to normal. + ns=1;i=10065 + ns=1;i=10120 + ns=1;i=10122 + ns=1;i=10152 + ns=1;i=10178 i=2307 - i=78 - ns=1;i=9093 + ns=1;i=1008 - - Diagnostic - Perform the diagnostic cycle. + + StateNumber - i=2307 + i=68 i=78 - ns=1;i=9093 + ns=1;i=10064 - - - WaitForCleaningTrigger - Wait until the analyser channel is ready to perform the cleaning cycle, + + 5 + + + + Unsuspending + This state is a result of a device request from Suspended state to transition back to the Execute state by calling the Unsuspend Method. + ns=1;i=10067 + ns=1;i=10122 + ns=1;i=10124 + ns=1;i=10124 + ns=1;i=10126 + ns=1;i=10128 + ns=1;i=10154 + ns=1;i=10180 i=2307 - i=78 - ns=1;i=9093 + ns=1;i=1008 - - Cleaning - Perform the cleaning cycle. + + StateNumber - i=2307 + i=68 i=78 - ns=1;i=9093 + ns=1;i=10066 - - - PublishResults - Publish the results of the previous acquisition cycle + + 14 + + + + Holding + Brings the analyser or channel to a controlled stop or to a state which represents Held for the particular unit control mode + ns=1;i=10069 + ns=1;i=10102 + ns=1;i=10104 + ns=1;i=10104 + ns=1;i=10106 + ns=1;i=10112 + ns=1;i=10156 + ns=1;i=10182 i=2307 - i=78 - ns=1;i=9093 + ns=1;i=1008 - - EjectGrabSample - The Sample that was just analysed is ejected from the system to allow the operator or another system to grab it + + StateNumber - i=2307 + i=68 i=78 - ns=1;i=9093 + ns=1;i=10068 - - - CleanupSamplingSystem - Cleanup the sampling sub-system to be ready for the next acquisition + + 10 + + + + Held + The Held state holds the analyser or channel's operation. At this state, no acquisition cycle is performed. + ns=1;i=10071 + ns=1;i=10106 + ns=1;i=10108 + ns=1;i=10158 + ns=1;i=10184 i=2307 - i=78 - ns=1;i=9093 + ns=1;i=1008 - - SelectExecutionCycleToWaitForCalibrationTriggerTransition + + StateNumber - i=2310 + i=68 i=78 - ns=1;i=9093 + ns=1;i=10070 - - - WaitForCalibrationTriggerToExtractCalibrationSampleTransition + + 11 + + + + Unholding + The Unholding state is a response to an operator command to resume the Execute state. - i=2310 - i=78 - ns=1;i=9093 + ns=1;i=10073 + ns=1;i=10108 + ns=1;i=10110 + ns=1;i=10110 + ns=1;i=10112 + ns=1;i=10114 + ns=1;i=10160 + ns=1;i=10186 + i=2307 + ns=1;i=1008 - - ExtractCalibrationSampleTransition + + StateNumber - i=2310 + i=68 i=78 - ns=1;i=9093 + ns=1;i=10072 - - - ExtractCalibrationSampleToPrepareCalibrationSampleTransition + + 12 + + + + Stopping + Initiated by a Stop Method call, this state: - i=2310 - i=78 - ns=1;i=9093 + ns=1;i=10075 + ns=1;i=10130 + ns=1;i=10138 + ns=1;i=10140 + ns=1;i=10142 + ns=1;i=10144 + ns=1;i=10146 + ns=1;i=10148 + ns=1;i=10150 + ns=1;i=10152 + ns=1;i=10154 + ns=1;i=10156 + ns=1;i=10158 + ns=1;i=10160 + ns=1;i=10188 + i=2307 + ns=1;i=1008 - - PrepareCalibrationSampleTransition + + StateNumber - i=2310 + i=68 i=78 - ns=1;i=9093 + ns=1;i=10074 - - - PrepareCalibrationSampleToAnalyseCalibrationSampleTransition + + 7 + + + + Aborting + The Aborting state can be entered at any time in response to the Abort command or on the occurrence of a machine fault. - i=2310 - i=78 - ns=1;i=9093 + ns=1;i=10077 + ns=1;i=10132 + ns=1;i=10162 + ns=1;i=10164 + ns=1;i=10166 + ns=1;i=10168 + ns=1;i=10170 + ns=1;i=10172 + ns=1;i=10174 + ns=1;i=10176 + ns=1;i=10178 + ns=1;i=10180 + ns=1;i=10182 + ns=1;i=10184 + ns=1;i=10186 + ns=1;i=10188 + i=2307 + ns=1;i=1008 - - AnalyseCalibrationSampleTransition + + StateNumber - i=2310 + i=68 i=78 - ns=1;i=9093 + ns=1;i=10076 - - - AnalyseCalibrationSampleToPublishResultsTransition + + 8 + + + + Aborted + This state maintains machine status information relevant to the Abort condition. - i=2310 - i=78 - ns=1;i=9093 + ns=1;i=10079 + ns=1;i=10132 + ns=1;i=10134 + i=2307 + ns=1;i=1008 - - SelectExecutionCycleToWaitForValidationTriggerTransition + + StateNumber - i=2310 + i=68 i=78 - ns=1;i=9093 + ns=1;i=10078 - - - WaitForValidationTriggerToExtractValidationSampleTransition + + 9 + + + + Clearing + Clears faults that may have occurred when Aborting and are present in the Aborted state before proceeding to a Stopped state - i=2310 - i=78 - ns=1;i=9093 + ns=1;i=10081 + ns=1;i=10134 + ns=1;i=10136 + i=2307 + ns=1;i=1008 - - ExtractValidationSampleTransition + + StateNumber - i=2310 + i=68 i=78 - ns=1;i=9093 + ns=1;i=10080 - - - ExtractValidationSampleToPrepareValidationSampleTransition + + 1 + + + + StoppedToResettingTransition + ns=1;i=10083 + ns=1;i=10048 + ns=1;i=10050 + ns=1;i=9703 + ns=1;i=9445 i=2310 - i=78 - ns=1;i=9093 + ns=1;i=1008 - - PrepareValidationSampleTransition + + TransitionNumber - i=2310 + i=68 i=78 - ns=1;i=9093 + ns=1;i=10082 - - - PrepareValidationSampleToAnalyseValidationSampleTransition + + 1 + + + + ResettingTransition + ns=1;i=10085 + ns=1;i=10050 + ns=1;i=10050 i=2310 - i=78 - ns=1;i=9093 + ns=1;i=1008 - - AnalyseValidationSampleTransition + + TransitionNumber - i=2310 + i=68 i=78 - ns=1;i=9093 + ns=1;i=10084 - - - AnalyseValidationSampleToPublishResultsTransition + + 2 + + + + ResettingToIdleTransition + ns=1;i=10087 + ns=1;i=10050 + ns=1;i=10052 i=2310 - i=78 - ns=1;i=9093 + ns=1;i=1008 - - SelectExecutionCycleToWaitForSampleTriggerTransition + + TransitionNumber - i=2310 + i=68 i=78 - ns=1;i=9093 + ns=1;i=10086 - - - WaitForSampleTriggerToExtractSampleTransition + + 3 + + + + IdleToStartingTransition + ns=1;i=10089 + ns=1;i=10052 + ns=1;i=10054 + ns=1;i=9704 + ns=1;i=9701 i=2310 - i=78 - ns=1;i=9093 + ns=1;i=1008 - - ExtractSampleTransition + + TransitionNumber - i=2310 + i=68 i=78 - ns=1;i=9093 + ns=1;i=10088 - - - ExtractSampleToPrepareSampleTransition + + 4 + + + + StartingTransition + ns=1;i=10091 + ns=1;i=10054 + ns=1;i=10054 i=2310 - i=78 - ns=1;i=9093 + ns=1;i=1008 - - PrepareSampleTransition + + TransitionNumber - i=2310 + i=68 i=78 - ns=1;i=9093 + ns=1;i=10090 - - - PrepareSampleToAnalyseSampleTransition + + 5 + + + + StartingToExecuteTransition + ns=1;i=10093 + ns=1;i=10054 + ns=1;i=10056 i=2310 - i=78 - ns=1;i=9093 + ns=1;i=1008 - - AnalyseSampleTransition + + TransitionNumber - i=2310 + i=68 i=78 - ns=1;i=9093 + ns=1;i=10092 - - - AnalyseSampleToPublishResultsTransition + + 6 + + + + ExecuteToCompletingTransition + ns=1;i=10095 + ns=1;i=10056 + ns=1;i=10058 i=2310 - i=78 - ns=1;i=9093 + ns=1;i=1008 - - SelectExecutionCycleToWaitForDiagnosticTriggerTransition + + TransitionNumber - i=2310 + i=68 i=78 - ns=1;i=9093 + ns=1;i=10094 - - - WaitForDiagnosticTriggerToDiagnosticTransition + + 7 + + + + CompletingTransition + ns=1;i=10097 + ns=1;i=10058 + ns=1;i=10058 i=2310 - i=78 - ns=1;i=9093 + ns=1;i=1008 - - DiagnosticTransition + + TransitionNumber - i=2310 + i=68 i=78 - ns=1;i=9093 + ns=1;i=10096 - - - DiagnosticToPublishResultsTransition + + 8 + + + + CompletingToCompleteTransition + ns=1;i=10099 + ns=1;i=10058 + ns=1;i=10060 i=2310 - i=78 - ns=1;i=9093 + ns=1;i=1008 - - SelectExecutionCycleToWaitForCleaningTriggerTransition + + TransitionNumber - i=2310 + i=68 i=78 - ns=1;i=9093 + ns=1;i=10098 - - - WaitForCleaningTriggerToCleaningTransition + + 9 + + + + CompleteToStoppedTransition + ns=1;i=10101 + ns=1;i=10060 + ns=1;i=10048 i=2310 - i=78 - ns=1;i=9093 + ns=1;i=1008 - - CleaningTransition + + TransitionNumber - i=2310 + i=68 i=78 - ns=1;i=9093 + ns=1;i=10100 - - - CleaningToPublishResultsTransition + + 10 + + + + ExecuteToHoldingTransition + ns=1;i=10103 + ns=1;i=10056 + ns=1;i=10068 + ns=1;i=9706 i=2310 - i=78 - ns=1;i=9093 + ns=1;i=1008 - - PublishResultsToCleanupSamplingSystemTransition + + TransitionNumber - i=2310 + i=68 i=78 - ns=1;i=9093 + ns=1;i=10102 - - - PublishResultsToEjectGrabSampleTransition + + 11 + + + + HoldingTransition + ns=1;i=10105 + ns=1;i=10068 + ns=1;i=10068 i=2310 - i=78 - ns=1;i=9093 + ns=1;i=1008 - - EjectGrabSampleTransition + + TransitionNumber - i=2310 + i=68 i=78 - ns=1;i=9093 + ns=1;i=10104 - - - EjectGrabSampleToCleanupSamplingSystemTransition + + 12 + + + + HoldingToHeldTransition + ns=1;i=10107 + ns=1;i=10068 + ns=1;i=10070 i=2310 - i=78 - ns=1;i=9093 + ns=1;i=1008 - - CleanupSamplingSystemTransition + + TransitionNumber - i=2310 + i=68 i=78 - ns=1;i=9093 + ns=1;i=10106 - - - CleanupSamplingSystemToSelectExecutionCycleTransition + + 13 + + + + HeldToUnholdingTransition + ns=1;i=10109 + ns=1;i=10070 + ns=1;i=10072 + ns=1;i=9707 i=2310 - i=78 - ns=1;i=9093 - - - - Completing - This state is an automatic or commanded exit from the Execute state. - - ns=1;i=6302 - ns=1;i=5198 - ns=1;i=5199 - ns=1;i=5199 - ns=1;i=5200 - ns=1;i=5224 - ns=1;i=5237 - i=2307 - i=78 ns=1;i=1008 - - StateNumber + + TransitionNumber i=68 - i=80 - ns=1;i=5180 + i=78 + ns=1;i=10108 - 0 + 14 - - Complete - At this point, the Completing state is done and it transitions automatically to Stopped state to wait. + + UnholdingTransition - ns=1;i=6303 - ns=1;i=5200 - ns=1;i=5201 - ns=1;i=5225 - ns=1;i=5238 - i=2307 - i=78 + ns=1;i=10111 + ns=1;i=10072 + ns=1;i=10072 + i=2310 ns=1;i=1008 - - StateNumber + + TransitionNumber i=68 - i=80 - ns=1;i=5181 + i=78 + ns=1;i=10110 - 0 + 15 - - Suspending - This state is a result of a change in monitored conditions due to process conditions or factors. + + UnholdingToHoldingTransition - ns=1;i=6304 - ns=1;i=5209 - ns=1;i=5210 - ns=1;i=5210 - ns=1;i=5211 - ns=1;i=5214 - ns=1;i=5226 - ns=1;i=5239 - i=2307 - i=78 + ns=1;i=10113 + ns=1;i=10072 + ns=1;i=10068 + ns=1;i=9706 + i=2310 ns=1;i=1008 - - StateNumber + + TransitionNumber i=68 - i=80 - ns=1;i=5182 + i=78 + ns=1;i=10112 - 0 + 16 - - Suspended - The analyser or channel may be running but no results are being generated while the analyser or channel is waiting for external process conditions to return to normal. + + UnholdingToExecuteTransition - ns=1;i=6305 - ns=1;i=5211 - ns=1;i=5212 - ns=1;i=5227 - ns=1;i=5240 - i=2307 - i=78 + ns=1;i=10115 + ns=1;i=10072 + ns=1;i=10056 + i=2310 ns=1;i=1008 - - StateNumber + + TransitionNumber i=68 - i=80 - ns=1;i=5183 + i=78 + ns=1;i=10114 - 0 + 17 - - Unsuspending - This state is a result of a device request from Suspended state to transition back to the Execute state by calling the Unsuspend Method. + + ExecuteToSuspendingTransition - ns=1;i=6306 - ns=1;i=5212 - ns=1;i=5213 - ns=1;i=5213 - ns=1;i=5214 - ns=1;i=5215 - ns=1;i=5228 - ns=1;i=5241 - i=2307 - i=78 + ns=1;i=10117 + ns=1;i=10056 + ns=1;i=10062 + ns=1;i=9708 + i=2310 ns=1;i=1008 - - StateNumber + + TransitionNumber i=68 - i=80 - ns=1;i=5184 + i=78 + ns=1;i=10116 - 0 + 18 - - Holding - Brings the analyser or channel to a controlled stop or to a state which represents Held for the particular unit control mode + + SuspendingTransition - ns=1;i=6307 - ns=1;i=5202 - ns=1;i=5203 - ns=1;i=5203 - ns=1;i=5204 - ns=1;i=5207 - ns=1;i=5229 - ns=1;i=5242 - i=2307 - i=78 + ns=1;i=10119 + ns=1;i=10062 + ns=1;i=10062 + i=2310 ns=1;i=1008 - - StateNumber + + TransitionNumber i=68 - i=80 - ns=1;i=5185 + i=78 + ns=1;i=10118 - 0 + 19 - - Held - The Held state holds the analyser or channel's operation. At this state, no acquisition cycle is performed. + + SuspendingToSuspendedTransition - ns=1;i=6308 - ns=1;i=5204 - ns=1;i=5205 - ns=1;i=5230 - ns=1;i=5243 - i=2307 - i=78 + ns=1;i=10121 + ns=1;i=10062 + ns=1;i=10064 + i=2310 ns=1;i=1008 - - StateNumber + + TransitionNumber i=68 - i=80 - ns=1;i=5186 + i=78 + ns=1;i=10120 - 0 + 20 - - Unholding - The Unholding state is a response to an operator command to resume the Execute state. + + SuspendedToUnsuspendingTransition - ns=1;i=6309 - ns=1;i=5205 - ns=1;i=5206 - ns=1;i=5206 - ns=1;i=5207 - ns=1;i=5208 - ns=1;i=5231 - ns=1;i=5244 - i=2307 - i=78 + ns=1;i=10123 + ns=1;i=10064 + ns=1;i=10066 + ns=1;i=9709 + i=2310 ns=1;i=1008 - - StateNumber + + TransitionNumber i=68 - i=80 - ns=1;i=5187 + i=78 + ns=1;i=10122 - 0 + 21 - - Stopping - Initiated by a Stop Method call, this state: + + UnsuspendingTransition - ns=1;i=6310 - ns=1;i=5216 - ns=1;i=5220 - ns=1;i=5221 - ns=1;i=5222 - ns=1;i=5223 - ns=1;i=5224 - ns=1;i=5225 - ns=1;i=5226 - ns=1;i=5227 - ns=1;i=5228 - ns=1;i=5229 - ns=1;i=5230 - ns=1;i=5231 - ns=1;i=5245 - i=2307 - i=78 + ns=1;i=10125 + ns=1;i=10066 + ns=1;i=10066 + i=2310 ns=1;i=1008 - - StateNumber + + TransitionNumber i=68 - i=80 - ns=1;i=5188 + i=78 + ns=1;i=10124 - 0 + 22 - - Aborting - The Aborting state can be entered at any time in response to the Abort command or on the occurrence of a machine fault. + + UnsuspendingToSuspendingTransition - ns=1;i=6311 - ns=1;i=5217 - ns=1;i=5232 - ns=1;i=5233 - ns=1;i=5234 - ns=1;i=5235 - ns=1;i=5236 - ns=1;i=5237 - ns=1;i=5238 - ns=1;i=5239 - ns=1;i=5240 - ns=1;i=5241 - ns=1;i=5242 - ns=1;i=5243 - ns=1;i=5244 - ns=1;i=5245 - i=2307 - i=78 + ns=1;i=10127 + ns=1;i=10066 + ns=1;i=10062 + ns=1;i=9708 + i=2310 ns=1;i=1008 - - StateNumber + + TransitionNumber i=68 - i=80 - ns=1;i=5189 + i=78 + ns=1;i=10126 - 0 + 23 - - Aborted - This state maintains machine status information relevant to the Abort condition. + + UnsuspendingToExecuteTransition - ns=1;i=6312 - ns=1;i=5217 - ns=1;i=5218 - i=2307 - i=78 + ns=1;i=10129 + ns=1;i=10066 + ns=1;i=10056 + i=2310 ns=1;i=1008 - - StateNumber + + TransitionNumber i=68 - i=80 - ns=1;i=5190 + i=78 + ns=1;i=10128 - 0 + 24 - - Clearing - Clears faults that may have occurred when Aborting and are present in the Aborted state before proceeding to a Stopped state + + StoppingToStoppedTransition - ns=1;i=6313 - ns=1;i=5218 - ns=1;i=5219 - i=2307 - i=78 + ns=1;i=10131 + ns=1;i=10074 + ns=1;i=10048 + i=2310 ns=1;i=1008 - - StateNumber + + TransitionNumber i=68 - i=80 - ns=1;i=5191 + i=78 + ns=1;i=10130 - 0 + 25 - - StoppedToResettingTransition + + AbortingToAbortedTransition - ns=1;i=6314 - ns=1;i=5073 - ns=1;i=5074 - ns=1;i=8115 - ns=1;i=8096 + ns=1;i=10133 + ns=1;i=10076 + ns=1;i=10078 i=2310 - i=78 ns=1;i=1008 - + TransitionNumber i=68 - i=80 - ns=1;i=5192 + i=78 + ns=1;i=10132 - 0 + 26 - - ResettingTransition + + AbortedToClearingTransition - ns=1;i=6315 - ns=1;i=5074 - ns=1;i=5074 + ns=1;i=10135 + ns=1;i=10078 + ns=1;i=10080 + ns=1;i=9711 i=2310 - i=78 ns=1;i=1008 - + TransitionNumber i=68 - i=80 - ns=1;i=5193 + i=78 + ns=1;i=10134 - 0 + 27 - - ResettingToIdleTransition + + ClearingToStoppedTransition - ns=1;i=6316 - ns=1;i=5074 - ns=1;i=5075 + ns=1;i=10137 + ns=1;i=10080 + ns=1;i=10048 i=2310 - i=78 ns=1;i=1008 - + TransitionNumber i=68 - i=80 - ns=1;i=5194 + i=78 + ns=1;i=10136 - 0 + 28 - - IdleToStartingTransition + + ResettingToStoppingTransition - ns=1;i=6317 - ns=1;i=5075 - ns=1;i=5076 - ns=1;i=8116 - ns=1;i=8111 + ns=1;i=10139 + ns=1;i=10050 + ns=1;i=10074 + ns=1;i=9705 i=2310 - i=78 ns=1;i=1008 - + TransitionNumber i=68 - i=80 - ns=1;i=5195 + i=78 + ns=1;i=10138 - 0 + 29 - - StartingTransition + + IdleToStoppingTransition - ns=1;i=6318 - ns=1;i=5076 - ns=1;i=5076 + ns=1;i=10141 + ns=1;i=10052 + ns=1;i=10074 + ns=1;i=9705 i=2310 - i=78 ns=1;i=1008 - + TransitionNumber i=68 - i=80 - ns=1;i=5196 + i=78 + ns=1;i=10140 - 0 + 30 - - StartingToExecuteTransition + + StartingToStoppingTransition - ns=1;i=6319 - ns=1;i=5076 - ns=1;i=5077 + ns=1;i=10143 + ns=1;i=10054 + ns=1;i=10074 + ns=1;i=9705 i=2310 - i=78 ns=1;i=1008 - + TransitionNumber i=68 - i=80 - ns=1;i=5197 + i=78 + ns=1;i=10142 - 0 + 31 - - ExecuteToCompletingTransition + + ExecuteToStoppingTransition - ns=1;i=6320 - ns=1;i=5077 - ns=1;i=5180 + ns=1;i=10145 + ns=1;i=10056 + ns=1;i=10074 + ns=1;i=9705 i=2310 - i=78 ns=1;i=1008 - + TransitionNumber i=68 - i=80 - ns=1;i=5198 + i=78 + ns=1;i=10144 - 0 + 32 - - CompletingTransition + + CompletingToStoppingTransition - ns=1;i=6321 - ns=1;i=5180 - ns=1;i=5180 + ns=1;i=10147 + ns=1;i=10058 + ns=1;i=10074 + ns=1;i=9705 i=2310 - i=78 ns=1;i=1008 - + TransitionNumber i=68 - i=80 - ns=1;i=5199 + i=78 + ns=1;i=10146 - 0 + 33 - - CompletingToCompleteTransition + + CompleteToStoppingTransition - ns=1;i=6322 - ns=1;i=5180 - ns=1;i=5181 + ns=1;i=10149 + ns=1;i=10060 + ns=1;i=10074 + ns=1;i=9705 i=2310 - i=78 ns=1;i=1008 - + TransitionNumber i=68 - i=80 - ns=1;i=5200 + i=78 + ns=1;i=10148 - 0 + 34 - - CompleteToStoppedTransition + + SuspendingToStoppingTransition - ns=1;i=6323 - ns=1;i=5181 - ns=1;i=5073 + ns=1;i=10151 + ns=1;i=10062 + ns=1;i=10074 + ns=1;i=9705 i=2310 - i=78 ns=1;i=1008 - + TransitionNumber i=68 - i=80 - ns=1;i=5201 + i=78 + ns=1;i=10150 - 0 + 35 - - ExecuteToHoldingTransition + + SuspendedToStoppingTransition - ns=1;i=6324 - ns=1;i=5077 - ns=1;i=5185 - ns=1;i=8118 + ns=1;i=10153 + ns=1;i=10064 + ns=1;i=10074 + ns=1;i=9705 i=2310 - i=78 ns=1;i=1008 - + TransitionNumber i=68 - i=80 - ns=1;i=5202 + i=78 + ns=1;i=10152 - 0 + 36 - - HoldingTransition + + UnsuspendingToStoppingTransition - ns=1;i=6325 - ns=1;i=5185 - ns=1;i=5185 + ns=1;i=10155 + ns=1;i=10066 + ns=1;i=10074 + ns=1;i=9705 i=2310 - i=78 ns=1;i=1008 - + TransitionNumber i=68 - i=80 - ns=1;i=5203 + i=78 + ns=1;i=10154 - 0 + 37 - - HoldingToHeldTransition + + HoldingToStoppingTransition - ns=1;i=6326 - ns=1;i=5185 - ns=1;i=5186 + ns=1;i=10157 + ns=1;i=10068 + ns=1;i=10074 + ns=1;i=9705 i=2310 - i=78 ns=1;i=1008 - + TransitionNumber i=68 - i=80 - ns=1;i=5204 + i=78 + ns=1;i=10156 - 0 + 38 - - HeldToUnholdingTransition + + HeldToStoppingTransition - ns=1;i=6327 - ns=1;i=5186 - ns=1;i=5187 - ns=1;i=8119 + ns=1;i=10159 + ns=1;i=10070 + ns=1;i=10074 + ns=1;i=9705 i=2310 - i=78 ns=1;i=1008 - + TransitionNumber i=68 - i=80 - ns=1;i=5205 + i=78 + ns=1;i=10158 - 0 + 39 - - UnholdingTransition + + UnholdingToStoppingTransition - ns=1;i=6328 - ns=1;i=5187 - ns=1;i=5187 + ns=1;i=10161 + ns=1;i=10072 + ns=1;i=10074 + ns=1;i=9705 i=2310 - i=78 ns=1;i=1008 - + TransitionNumber i=68 - i=80 - ns=1;i=5206 + i=78 + ns=1;i=10160 - 0 + 40 - - UnholdingToHoldingTransition + + StoppedToAbortingTransition - ns=1;i=6329 - ns=1;i=5187 - ns=1;i=5185 - ns=1;i=8118 + ns=1;i=10163 + ns=1;i=10048 + ns=1;i=10076 + ns=1;i=9710 i=2310 - i=78 ns=1;i=1008 - + TransitionNumber i=68 - i=80 - ns=1;i=5207 + i=78 + ns=1;i=10162 - 0 + 41 - - UnholdingToExecuteTransition + + ResettingToAbortingTransition - ns=1;i=6330 - ns=1;i=5187 - ns=1;i=5077 + ns=1;i=10165 + ns=1;i=10050 + ns=1;i=10076 + ns=1;i=9710 i=2310 - i=78 ns=1;i=1008 - + TransitionNumber i=68 - i=80 - ns=1;i=5208 + i=78 + ns=1;i=10164 - 0 + 42 - - ExecuteToSuspendingTransition + + IdleToAbortingTransition - ns=1;i=6331 - ns=1;i=5077 - ns=1;i=5182 - ns=1;i=8120 + ns=1;i=10167 + ns=1;i=10052 + ns=1;i=10076 + ns=1;i=9710 i=2310 - i=78 ns=1;i=1008 - + TransitionNumber i=68 - i=80 - ns=1;i=5209 + i=78 + ns=1;i=10166 - 0 + 43 - - SuspendingTransition + + StartingToAbortingTransition - ns=1;i=6332 - ns=1;i=5182 - ns=1;i=5182 + ns=1;i=10169 + ns=1;i=10054 + ns=1;i=10076 + ns=1;i=9710 i=2310 - i=78 ns=1;i=1008 - + TransitionNumber i=68 - i=80 - ns=1;i=5210 + i=78 + ns=1;i=10168 - 0 + 44 - - SuspendingToSuspendedTransition + + ExecuteToAbortingTransition - ns=1;i=6333 - ns=1;i=5182 - ns=1;i=5183 + ns=1;i=10171 + ns=1;i=10056 + ns=1;i=10076 + ns=1;i=9710 i=2310 - i=78 ns=1;i=1008 - + TransitionNumber i=68 - i=80 - ns=1;i=5211 + i=78 + ns=1;i=10170 - 0 + 45 - - SuspendedToUnsuspendingTransition + + CompletingToAbortingTransition - ns=1;i=6334 - ns=1;i=5183 - ns=1;i=5184 - ns=1;i=8121 + ns=1;i=10173 + ns=1;i=10058 + ns=1;i=10076 + ns=1;i=9710 i=2310 - i=78 ns=1;i=1008 - + TransitionNumber i=68 - i=80 - ns=1;i=5212 + i=78 + ns=1;i=10172 - 0 + 46 - - UnsuspendingTransition + + CompleteToAbortingTransition - ns=1;i=6335 - ns=1;i=5184 - ns=1;i=5184 + ns=1;i=10175 + ns=1;i=10060 + ns=1;i=10076 + ns=1;i=9710 i=2310 - i=78 ns=1;i=1008 - + TransitionNumber i=68 - i=80 - ns=1;i=5213 + i=78 + ns=1;i=10174 - 0 + 47 - - UnsuspendingToSuspendingTransition + + SuspendingToAbortingTransition - ns=1;i=6336 - ns=1;i=5184 - ns=1;i=5182 - ns=1;i=8120 + ns=1;i=10177 + ns=1;i=10062 + ns=1;i=10076 + ns=1;i=9710 i=2310 - i=78 ns=1;i=1008 - + TransitionNumber i=68 - i=80 - ns=1;i=5214 + i=78 + ns=1;i=10176 - 0 + 48 - - UnsuspendingToExecuteTransition + + SuspendedToAbortingTransition - ns=1;i=6337 - ns=1;i=5184 - ns=1;i=5077 + ns=1;i=10179 + ns=1;i=10064 + ns=1;i=10076 + ns=1;i=9710 i=2310 - i=78 ns=1;i=1008 - + TransitionNumber i=68 - i=80 - ns=1;i=5215 + i=78 + ns=1;i=10178 - 0 + 49 - - StoppingToStoppedTransition + + UnsuspendingToAbortingTransition - ns=1;i=6338 - ns=1;i=5188 - ns=1;i=5073 + ns=1;i=10181 + ns=1;i=10066 + ns=1;i=10076 + ns=1;i=9710 i=2310 - i=78 ns=1;i=1008 - + TransitionNumber i=68 - i=80 - ns=1;i=5216 + i=78 + ns=1;i=10180 - 0 + 50 - - AbortingToAbortedTransition + + HoldingToAbortingTransition - ns=1;i=6339 - ns=1;i=5189 - ns=1;i=5190 + ns=1;i=10183 + ns=1;i=10068 + ns=1;i=10076 + ns=1;i=9710 i=2310 - i=78 ns=1;i=1008 - + TransitionNumber i=68 - i=80 - ns=1;i=5217 + i=78 + ns=1;i=10182 - 0 + 51 - - AbortedToClearingTransition + + HeldToAbortingTransition - ns=1;i=6340 - ns=1;i=5190 - ns=1;i=5191 - ns=1;i=8123 + ns=1;i=10185 + ns=1;i=10070 + ns=1;i=10076 + ns=1;i=9710 i=2310 - i=78 ns=1;i=1008 - + TransitionNumber i=68 - i=80 - ns=1;i=5218 + i=78 + ns=1;i=10184 - 0 + 52 - - ClearingToStoppedTransition + + UnholdingToAbortingTransition - ns=1;i=6341 - ns=1;i=5191 - ns=1;i=5073 + ns=1;i=10187 + ns=1;i=10072 + ns=1;i=10076 + ns=1;i=9710 i=2310 - i=78 ns=1;i=1008 - + TransitionNumber i=68 - i=80 - ns=1;i=5219 + i=78 + ns=1;i=10186 - 0 + 53 - - ResettingToStoppingTransition + + StoppingToAbortingTransition - ns=1;i=6342 - ns=1;i=5074 - ns=1;i=5188 - ns=1;i=8117 + ns=1;i=10189 + ns=1;i=10074 + ns=1;i=10076 + ns=1;i=9710 i=2310 - i=78 ns=1;i=1008 - + TransitionNumber i=68 - i=80 - ns=1;i=5220 + i=78 + ns=1;i=10188 - 0 + 54 - - IdleToStoppingTransition + + AnalyserChannel_OperatingModeExecuteSubStateMachineType - ns=1;i=6343 - ns=1;i=5075 - ns=1;i=5188 - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=1008 + ns=1;i=10201 + ns=1;i=10203 + ns=1;i=10205 + ns=1;i=10207 + ns=1;i=10209 + ns=1;i=10211 + ns=1;i=10213 + ns=1;i=10215 + ns=1;i=10217 + ns=1;i=10219 + ns=1;i=10221 + ns=1;i=10223 + ns=1;i=10225 + ns=1;i=10227 + ns=1;i=10229 + ns=1;i=10231 + ns=1;i=10233 + ns=1;i=10235 + ns=1;i=10237 + ns=1;i=10239 + ns=1;i=10241 + ns=1;i=10243 + ns=1;i=10245 + ns=1;i=10247 + ns=1;i=10249 + ns=1;i=10251 + ns=1;i=10253 + ns=1;i=10255 + ns=1;i=10257 + ns=1;i=10259 + ns=1;i=10261 + ns=1;i=10263 + ns=1;i=10265 + ns=1;i=10267 + ns=1;i=10269 + ns=1;i=10271 + ns=1;i=10273 + ns=1;i=10275 + ns=1;i=10277 + ns=1;i=10279 + ns=1;i=10281 + ns=1;i=10283 + ns=1;i=10285 + ns=1;i=10287 + ns=1;i=10289 + ns=1;i=10291 + ns=1;i=10293 + ns=1;i=10295 + ns=1;i=10297 + ns=1;i=10299 + ns=1;i=10301 + ns=1;i=10303 + ns=1;i=10305 + ns=1;i=10307 + ns=1;i=10309 + ns=1;i=10311 + ns=1;i=10313 + ns=1;i=10315 + i=2771 + + + + SelectExecutionCycle + This pseudo-state is used to decide which execution path shall be taken. + + ns=1;i=10202 + ns=1;i=10241 + ns=1;i=10257 + ns=1;i=10273 + ns=1;i=10289 + ns=1;i=10297 + ns=1;i=10315 + i=2309 + ns=1;i=1009 - - TransitionNumber + + StateNumber i=68 - i=80 - ns=1;i=5221 + i=78 + ns=1;i=10201 - 0 + 100 - - StartingToStoppingTransition + + WaitForCalibrationTrigger + Wait until the analyser channel is ready to perform the Calibration acquisition cycle - ns=1;i=6344 - ns=1;i=5076 - ns=1;i=5188 - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=1008 + ns=1;i=10204 + ns=1;i=10241 + ns=1;i=10243 + i=2307 + ns=1;i=1009 - - TransitionNumber + + StateNumber i=68 - i=80 - ns=1;i=5222 + i=78 + ns=1;i=10203 - 0 + 200 - - ExecuteToStoppingTransition + + ExtractCalibrationSample + Collect / setup the sampling system to perform the acquisition cycle of a Calibration cycle - ns=1;i=6345 - ns=1;i=5077 - ns=1;i=5188 - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=1008 + ns=1;i=10206 + ns=1;i=10243 + ns=1;i=10245 + ns=1;i=10245 + ns=1;i=10247 + i=2307 + ns=1;i=1009 - - TransitionNumber + + StateNumber i=68 - i=80 - ns=1;i=5223 + i=78 + ns=1;i=10205 - 0 + 300 - - CompletingToStoppingTransition + + PrepareCalibrationSample + Prepare the Calibration sample for the AnalyseCalibrationSample state - ns=1;i=6346 - ns=1;i=5180 - ns=1;i=5188 - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=1008 + ns=1;i=10208 + ns=1;i=10247 + ns=1;i=10249 + ns=1;i=10249 + ns=1;i=10251 + i=2307 + ns=1;i=1009 - - TransitionNumber + + StateNumber i=68 - i=80 - ns=1;i=5224 + i=78 + ns=1;i=10207 - 0 + 400 - - CompleteToStoppingTransition + + AnalyseCalibrationSample + Perform the analysis of the Calibration Sample - ns=1;i=6347 - ns=1;i=5181 - ns=1;i=5188 - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=1008 + ns=1;i=10210 + ns=1;i=10251 + ns=1;i=10253 + ns=1;i=10253 + ns=1;i=10255 + i=2307 + ns=1;i=1009 - - TransitionNumber + + StateNumber i=68 - i=80 - ns=1;i=5225 + i=78 + ns=1;i=10209 - 0 + 500 - - SuspendingToStoppingTransition + + WaitForValidationTrigger + Wait until the analyser channel is ready to perform the Validation acquisition cycle - ns=1;i=6348 - ns=1;i=5182 - ns=1;i=5188 - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=1008 + ns=1;i=10212 + ns=1;i=10257 + ns=1;i=10259 + i=2307 + ns=1;i=1009 - - TransitionNumber + + StateNumber i=68 - i=80 - ns=1;i=5226 + i=78 + ns=1;i=10211 - 0 + 600 - - SuspendedToStoppingTransition + + ExtractValidationSample + Collect / setup the sampling system to perform the acquisition cycle of a Validation cycle - ns=1;i=6349 - ns=1;i=5183 - ns=1;i=5188 - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=1008 + ns=1;i=10214 + ns=1;i=10259 + ns=1;i=10261 + ns=1;i=10261 + ns=1;i=10263 + i=2307 + ns=1;i=1009 - - TransitionNumber + + StateNumber i=68 - i=80 - ns=1;i=5227 + i=78 + ns=1;i=10213 - 0 + 700 - - UnsuspendingToStoppingTransition + + PrepareValidationSample + Prepare the Validation sample for the AnalyseValidationSample state - ns=1;i=6350 - ns=1;i=5184 - ns=1;i=5188 - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=1008 + ns=1;i=10216 + ns=1;i=10263 + ns=1;i=10265 + ns=1;i=10265 + ns=1;i=10267 + i=2307 + ns=1;i=1009 - - TransitionNumber + + StateNumber i=68 - i=80 - ns=1;i=5228 + i=78 + ns=1;i=10215 - 0 + 800 - - HoldingToStoppingTransition + + AnalyseValidationSample + Perform the analysis of the Validation Sample - ns=1;i=6351 - ns=1;i=5185 - ns=1;i=5188 - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=1008 + ns=1;i=10218 + ns=1;i=10267 + ns=1;i=10269 + ns=1;i=10269 + ns=1;i=10271 + i=2307 + ns=1;i=1009 - - TransitionNumber + + StateNumber i=68 - i=80 - ns=1;i=5229 + i=78 + ns=1;i=10217 - 0 + 900 - - HeldToStoppingTransition + + WaitForSampleTrigger + Wait until the analyser channel is ready to perform the Sample acquisition cycle - ns=1;i=6352 - ns=1;i=5186 - ns=1;i=5188 - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=1008 + ns=1;i=10220 + ns=1;i=10273 + ns=1;i=10275 + i=2307 + ns=1;i=1009 - - TransitionNumber + + StateNumber i=68 - i=80 - ns=1;i=5230 + i=78 + ns=1;i=10219 - 0 + 1000 - - UnholdingToStoppingTransition + + ExtractSample + Collect the Sample from the process - ns=1;i=6353 - ns=1;i=5187 - ns=1;i=5188 - ns=1;i=8117 - i=2310 - i=78 - ns=1;i=1008 + ns=1;i=10222 + ns=1;i=10275 + ns=1;i=10277 + ns=1;i=10277 + ns=1;i=10279 + i=2307 + ns=1;i=1009 - - TransitionNumber + + StateNumber i=68 - i=80 - ns=1;i=5231 + i=78 + ns=1;i=10221 - 0 + 1100 - - StoppedToAbortingTransition + + PrepareSample + Prepare the Sample for the AnalyseSample state - ns=1;i=6354 - ns=1;i=5073 - ns=1;i=5189 - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=1008 + ns=1;i=10224 + ns=1;i=10279 + ns=1;i=10281 + ns=1;i=10281 + ns=1;i=10283 + i=2307 + ns=1;i=1009 - - TransitionNumber + + StateNumber i=68 - i=80 - ns=1;i=5232 + i=78 + ns=1;i=10223 - 0 + 1200 - - ResettingToAbortingTransition + + AnalyseSample + Perform the analysis of the Sample - ns=1;i=6355 - ns=1;i=5074 - ns=1;i=5189 - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=1008 + ns=1;i=10226 + ns=1;i=10283 + ns=1;i=10285 + ns=1;i=10285 + ns=1;i=10287 + i=2307 + ns=1;i=1009 - - TransitionNumber + + StateNumber i=68 - i=80 - ns=1;i=5233 + i=78 + ns=1;i=10225 - 0 + 1300 - - IdleToAbortingTransition + + WaitForDiagnosticTrigger + Wait until the analyser channel is ready to perform the diagnostic cycle, - ns=1;i=6356 - ns=1;i=5075 - ns=1;i=5189 - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=1008 + ns=1;i=10228 + ns=1;i=10289 + ns=1;i=10291 + i=2307 + ns=1;i=1009 - - TransitionNumber + + StateNumber i=68 - i=80 - ns=1;i=5234 + i=78 + ns=1;i=10227 - 0 + 1400 - - StartingToAbortingTransition + + Diagnostic + Perform the diagnostic cycle. - ns=1;i=6357 - ns=1;i=5076 - ns=1;i=5189 - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=1008 + ns=1;i=10230 + ns=1;i=10291 + ns=1;i=10293 + ns=1;i=10293 + ns=1;i=10295 + i=2307 + ns=1;i=1009 - - TransitionNumber + + StateNumber i=68 - i=80 - ns=1;i=5235 + i=78 + ns=1;i=10229 - 0 + 1500 - - ExecuteToAbortingTransition + + WaitForCleaningTrigger + Wait until the analyser channel is ready to perform the cleaning cycle, - ns=1;i=6358 - ns=1;i=5077 - ns=1;i=5189 - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=1008 + ns=1;i=10232 + ns=1;i=10297 + ns=1;i=10299 + i=2307 + ns=1;i=1009 - - TransitionNumber + + StateNumber i=68 - i=80 - ns=1;i=5236 + i=78 + ns=1;i=10231 - 0 + 1600 - - CompletingToAbortingTransition + + Cleaning + Perform the cleaning cycle. - ns=1;i=6359 - ns=1;i=5180 - ns=1;i=5189 - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=1008 + ns=1;i=10234 + ns=1;i=10299 + ns=1;i=10301 + ns=1;i=10301 + ns=1;i=10303 + i=2307 + ns=1;i=1009 - - TransitionNumber + + StateNumber i=68 - i=80 - ns=1;i=5237 + i=78 + ns=1;i=10233 - 0 + 1700 - - CompleteToAbortingTransition + + PublishResults + Publish the results of the previous acquisition cycle - ns=1;i=6360 - ns=1;i=5181 - ns=1;i=5189 - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=1008 + ns=1;i=10236 + ns=1;i=10255 + ns=1;i=10271 + ns=1;i=10287 + ns=1;i=10295 + ns=1;i=10303 + ns=1;i=10305 + ns=1;i=10307 + i=2307 + ns=1;i=1009 - - TransitionNumber + + StateNumber i=68 - i=80 - ns=1;i=5238 + i=78 + ns=1;i=10235 - 0 + 1800 - - SuspendingToAbortingTransition + + EjectGrabSample + The Sample that was just analysed is ejected from the system to allow the operator or another system to grab it - ns=1;i=6361 - ns=1;i=5182 - ns=1;i=5189 - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=1008 + ns=1;i=10238 + ns=1;i=10307 + ns=1;i=10309 + ns=1;i=10309 + ns=1;i=10311 + i=2307 + ns=1;i=1009 - - TransitionNumber + + StateNumber i=68 - i=80 - ns=1;i=5239 + i=78 + ns=1;i=10237 - 0 + 1900 - - SuspendedToAbortingTransition + + CleanupSamplingSystem + Cleanup the sampling sub-system to be ready for the next acquisition - ns=1;i=6362 - ns=1;i=5183 - ns=1;i=5189 - ns=1;i=8122 - i=2310 - i=78 - ns=1;i=1008 + ns=1;i=10240 + ns=1;i=10305 + ns=1;i=10311 + ns=1;i=10313 + ns=1;i=10313 + ns=1;i=10315 + i=2307 + ns=1;i=1009 - - TransitionNumber + + StateNumber i=68 - i=80 - ns=1;i=5240 + i=78 + ns=1;i=10239 - 0 + 2000 - - UnsuspendingToAbortingTransition + + SelectExecutionCycleToWaitForCalibrationTriggerTransition - ns=1;i=6363 - ns=1;i=5184 - ns=1;i=5189 - ns=1;i=8122 + ns=1;i=10242 + ns=1;i=10201 + ns=1;i=10203 i=2310 - i=78 - ns=1;i=1008 + ns=1;i=1009 - + TransitionNumber i=68 - i=80 - ns=1;i=5241 + i=78 + ns=1;i=10241 - 0 + 1 - - HoldingToAbortingTransition + + WaitForCalibrationTriggerToExtractCalibrationSampleTransition - ns=1;i=6364 - ns=1;i=5185 - ns=1;i=5189 - ns=1;i=8122 + ns=1;i=10244 + ns=1;i=10203 + ns=1;i=10205 i=2310 - i=78 - ns=1;i=1008 + ns=1;i=1009 - + TransitionNumber i=68 - i=80 - ns=1;i=5242 + i=78 + ns=1;i=10243 - 0 + 2 - - HeldToAbortingTransition + + ExtractCalibrationSampleTransition - ns=1;i=6365 - ns=1;i=5186 - ns=1;i=5189 - ns=1;i=8122 + ns=1;i=10246 + ns=1;i=10205 + ns=1;i=10205 i=2310 - i=78 - ns=1;i=1008 + ns=1;i=1009 - + TransitionNumber i=68 - i=80 - ns=1;i=5243 + i=78 + ns=1;i=10245 - 0 + 3 - - UnholdingToAbortingTransition + + ExtractCalibrationSampleToPrepareCalibrationSampleTransition - ns=1;i=6366 - ns=1;i=5187 - ns=1;i=5189 - ns=1;i=8122 + ns=1;i=10248 + ns=1;i=10205 + ns=1;i=10207 i=2310 - i=78 - ns=1;i=1008 + ns=1;i=1009 - + TransitionNumber i=68 - i=80 - ns=1;i=5244 + i=78 + ns=1;i=10247 - 0 + 4 - - StoppingToAbortingTransition + + PrepareCalibrationSampleTransition - ns=1;i=6367 - ns=1;i=5188 - ns=1;i=5189 - ns=1;i=8122 + ns=1;i=10250 + ns=1;i=10207 + ns=1;i=10207 i=2310 - i=78 - ns=1;i=1008 + ns=1;i=1009 - + TransitionNumber i=68 - i=80 - ns=1;i=5245 + i=78 + ns=1;i=10249 - 0 + 5 - - AnalyserChannel_OperatingModeExecuteSubStateMachineType - - ns=1;i=9220 - ns=1;i=5247 - ns=1;i=5248 - ns=1;i=5249 - ns=1;i=5250 - ns=1;i=5251 - ns=1;i=5252 - ns=1;i=5253 - ns=1;i=5254 - ns=1;i=5255 - ns=1;i=5256 - ns=1;i=5257 - ns=1;i=5258 - ns=1;i=5259 - ns=1;i=5260 - ns=1;i=5261 - ns=1;i=5262 - ns=1;i=5263 - ns=1;i=5264 - ns=1;i=5265 - ns=1;i=9222 - ns=1;i=5268 - ns=1;i=5269 - ns=1;i=5270 - ns=1;i=5271 - ns=1;i=5272 - ns=1;i=5273 - ns=1;i=5274 - ns=1;i=9224 - ns=1;i=5276 - ns=1;i=5277 - ns=1;i=5278 - ns=1;i=5279 - ns=1;i=5280 - ns=1;i=5281 - ns=1;i=5282 - ns=1;i=9226 - ns=1;i=5284 - ns=1;i=5285 - ns=1;i=5286 - ns=1;i=5287 - ns=1;i=5288 - ns=1;i=5289 - ns=1;i=5290 - ns=1;i=9228 - ns=1;i=5292 - ns=1;i=5293 - ns=1;i=5294 - ns=1;i=9230 - ns=1;i=5296 - ns=1;i=5297 - ns=1;i=5298 - ns=1;i=5299 - ns=1;i=5300 - ns=1;i=5301 - ns=1;i=5302 - ns=1;i=5303 - ns=1;i=9232 - i=2771 - - - - SelectExecutionCycle - This pseudo-state is used to decide which execution path shall be taken. + + PrepareCalibrationSampleToAnalyseCalibrationSampleTransition - ns=1;i=9221 - ns=1;i=9222 - ns=1;i=9224 - ns=1;i=9226 - ns=1;i=9228 - ns=1;i=9230 - ns=1;i=9232 - i=2309 - i=78 + ns=1;i=10252 + ns=1;i=10207 + ns=1;i=10209 + i=2310 ns=1;i=1009 - - StateNumber + + TransitionNumber i=68 - i=80 - ns=1;i=9220 + i=78 + ns=1;i=10251 - 0 + 6 - - WaitForCalibrationTrigger - Wait until the analyser channel is ready to perform the Calibration acquisition cycle + + AnalyseCalibrationSampleTransition - ns=1;i=6379 - ns=1;i=9222 - ns=1;i=5268 - i=2307 - i=78 + ns=1;i=10254 + ns=1;i=10209 + ns=1;i=10209 + i=2310 ns=1;i=1009 - - StateNumber + + TransitionNumber i=68 - i=80 - ns=1;i=5247 + i=78 + ns=1;i=10253 - 0 + 7 - - ExtractCalibrationSample - Collect / setup the sampling system to perform the acquisition cycle of a Calibration cycle + + AnalyseCalibrationSampleToPublishResultsTransition - ns=1;i=6380 - ns=1;i=5268 - ns=1;i=5269 - ns=1;i=5269 - ns=1;i=5270 - i=2307 - i=78 + ns=1;i=10256 + ns=1;i=10209 + ns=1;i=10235 + i=2310 ns=1;i=1009 - - StateNumber + + TransitionNumber i=68 - i=80 - ns=1;i=5248 + i=78 + ns=1;i=10255 - 0 + 8 - - PrepareCalibrationSample - Prepare the Calibration sample for the AnalyseCalibrationSample state + + SelectExecutionCycleToWaitForValidationTriggerTransition - ns=1;i=6381 - ns=1;i=5270 - ns=1;i=5271 - ns=1;i=5271 - ns=1;i=5272 - i=2307 - i=78 + ns=1;i=10258 + ns=1;i=10201 + ns=1;i=10211 + i=2310 ns=1;i=1009 - - StateNumber + + TransitionNumber i=68 - i=80 - ns=1;i=5249 + i=78 + ns=1;i=10257 - 0 + 9 - - AnalyseCalibrationSample - Perform the analysis of the Calibration Sample + + WaitForValidationTriggerToExtractValidationSampleTransition - ns=1;i=6382 - ns=1;i=5272 - ns=1;i=5273 - ns=1;i=5273 - ns=1;i=5274 - i=2307 - i=78 + ns=1;i=10260 + ns=1;i=10211 + ns=1;i=10213 + i=2310 ns=1;i=1009 - - StateNumber + + TransitionNumber i=68 - i=80 - ns=1;i=5250 + i=78 + ns=1;i=10259 - 0 + 10 - - WaitForValidationTrigger - Wait until the analyser channel is ready to perform the Validation acquisition cycle + + ExtractValidationSampleTransition - ns=1;i=6383 - ns=1;i=9224 - ns=1;i=5276 - i=2307 - i=78 + ns=1;i=10262 + ns=1;i=10213 + ns=1;i=10213 + i=2310 ns=1;i=1009 - - StateNumber + + TransitionNumber i=68 - i=80 - ns=1;i=5251 + i=78 + ns=1;i=10261 - 0 + 11 - - ExtractValidationSample - Collect / setup the sampling system to perform the acquisition cycle of a Validation cycle + + ExtractValidationSampleToPrepareValidationSampleTransition - ns=1;i=6384 - ns=1;i=5276 - ns=1;i=5277 - ns=1;i=5277 - ns=1;i=5278 - i=2307 - i=78 + ns=1;i=10264 + ns=1;i=10213 + ns=1;i=10215 + i=2310 ns=1;i=1009 - - StateNumber + + TransitionNumber i=68 - i=80 - ns=1;i=5252 + i=78 + ns=1;i=10263 - 0 + 12 - - PrepareValidationSample - Prepare the Validation sample for the AnalyseValidationSample state + + PrepareValidationSampleTransition - ns=1;i=6385 - ns=1;i=5278 - ns=1;i=5279 - ns=1;i=5279 - ns=1;i=5280 - i=2307 - i=78 + ns=1;i=10266 + ns=1;i=10215 + ns=1;i=10215 + i=2310 ns=1;i=1009 - - StateNumber + + TransitionNumber i=68 - i=80 - ns=1;i=5253 + i=78 + ns=1;i=10265 - 0 + 13 - - AnalyseValidationSample - Perform the analysis of the Validation Sample + + PrepareValidationSampleToAnalyseValidationSampleTransition - ns=1;i=6386 - ns=1;i=5280 - ns=1;i=5281 - ns=1;i=5281 - ns=1;i=5282 - i=2307 - i=78 + ns=1;i=10268 + ns=1;i=10215 + ns=1;i=10217 + i=2310 ns=1;i=1009 - - StateNumber + + TransitionNumber i=68 - i=80 - ns=1;i=5254 + i=78 + ns=1;i=10267 - 0 + 14 - - WaitForSampleTrigger - Wait until the analyser channel is ready to perform the Sample acquisition cycle + + AnalyseValidationSampleTransition - ns=1;i=6387 - ns=1;i=9226 - ns=1;i=5284 - i=2307 - i=78 + ns=1;i=10270 + ns=1;i=10217 + ns=1;i=10217 + i=2310 ns=1;i=1009 - - StateNumber + + TransitionNumber i=68 - i=80 - ns=1;i=5255 + i=78 + ns=1;i=10269 - 0 + 15 - - ExtractSample - Collect the Sample from the process + + AnalyseValidationSampleToPublishResultsTransition - ns=1;i=6388 - ns=1;i=5284 - ns=1;i=5285 - ns=1;i=5285 - ns=1;i=5286 - i=2307 - i=78 + ns=1;i=10272 + ns=1;i=10217 + ns=1;i=10235 + i=2310 ns=1;i=1009 - - StateNumber + + TransitionNumber i=68 - i=80 - ns=1;i=5256 + i=78 + ns=1;i=10271 - 0 + 16 - - PrepareSample - Prepare the Sample for the AnalyseSample state + + SelectExecutionCycleToWaitForSampleTriggerTransition - ns=1;i=6389 - ns=1;i=5286 - ns=1;i=5287 - ns=1;i=5287 - ns=1;i=5288 - i=2307 - i=78 + ns=1;i=10274 + ns=1;i=10201 + ns=1;i=10219 + i=2310 ns=1;i=1009 - - StateNumber + + TransitionNumber i=68 - i=80 - ns=1;i=5257 + i=78 + ns=1;i=10273 - 0 + 17 - - AnalyseSample - Perform the analysis of the Sample + + WaitForSampleTriggerToExtractSampleTransition - ns=1;i=6390 - ns=1;i=5288 - ns=1;i=5289 - ns=1;i=5289 - ns=1;i=5290 - i=2307 - i=78 + ns=1;i=10276 + ns=1;i=10219 + ns=1;i=10221 + i=2310 ns=1;i=1009 - - StateNumber + + TransitionNumber i=68 - i=80 - ns=1;i=5258 + i=78 + ns=1;i=10275 - 0 + 18 - - WaitForDiagnosticTrigger - Wait until the analyser channel is ready to perform the diagnostic cycle, + + ExtractSampleTransition - ns=1;i=6391 - ns=1;i=9228 - ns=1;i=5292 - i=2307 - i=78 + ns=1;i=10278 + ns=1;i=10221 + ns=1;i=10221 + i=2310 ns=1;i=1009 - - StateNumber + + TransitionNumber i=68 - i=80 - ns=1;i=5259 + i=78 + ns=1;i=10277 - 0 + 19 - - Diagnostic - Perform the diagnostic cycle. + + ExtractSampleToPrepareSampleTransition - ns=1;i=6392 - ns=1;i=5292 - ns=1;i=5293 - ns=1;i=5293 - ns=1;i=5294 - i=2307 - i=78 + ns=1;i=10280 + ns=1;i=10221 + ns=1;i=10223 + i=2310 ns=1;i=1009 - - StateNumber + + TransitionNumber i=68 - i=80 - ns=1;i=5260 + i=78 + ns=1;i=10279 - 0 + 20 - - WaitForCleaningTrigger - Wait until the analyser channel is ready to perform the cleaning cycle, + + PrepareSampleTransition - ns=1;i=6393 - ns=1;i=9230 - ns=1;i=5296 - i=2307 - i=78 + ns=1;i=10282 + ns=1;i=10223 + ns=1;i=10223 + i=2310 ns=1;i=1009 - - StateNumber + + TransitionNumber i=68 - i=80 - ns=1;i=5261 + i=78 + ns=1;i=10281 - 0 + 21 - - Cleaning - Perform the cleaning cycle. + + PrepareSampleToAnalyseSampleTransition - ns=1;i=6394 - ns=1;i=5296 - ns=1;i=5297 - ns=1;i=5297 - ns=1;i=5298 - i=2307 - i=78 + ns=1;i=10284 + ns=1;i=10223 + ns=1;i=10225 + i=2310 ns=1;i=1009 - - StateNumber + + TransitionNumber i=68 - i=80 - ns=1;i=5262 + i=78 + ns=1;i=10283 - 0 + 22 - - PublishResults - Publish the results of the previous acquisition cycle + + AnalyseSampleTransition - ns=1;i=6395 - ns=1;i=5274 - ns=1;i=5282 - ns=1;i=5290 - ns=1;i=5294 - ns=1;i=5298 - ns=1;i=5299 - ns=1;i=5300 - i=2307 - i=78 + ns=1;i=10286 + ns=1;i=10225 + ns=1;i=10225 + i=2310 ns=1;i=1009 - - StateNumber + + TransitionNumber i=68 - i=80 - ns=1;i=5263 + i=78 + ns=1;i=10285 - 0 + 23 - - EjectGrabSample - The Sample that was just analysed is ejected from the system to allow the operator or another system to grab it + + AnalyseSampleToPublishResultsTransition - ns=1;i=6396 - ns=1;i=5300 - ns=1;i=5301 - ns=1;i=5301 - ns=1;i=5302 - i=2307 - i=78 + ns=1;i=10288 + ns=1;i=10225 + ns=1;i=10235 + i=2310 ns=1;i=1009 - - StateNumber + + TransitionNumber i=68 - i=80 - ns=1;i=5264 + i=78 + ns=1;i=10287 - 0 + 24 - - CleanupSamplingSystem - Cleanup the sampling sub-system to be ready for the next acquisition + + SelectExecutionCycleToWaitForDiagnosticTriggerTransition - ns=1;i=6397 - ns=1;i=5299 - ns=1;i=5302 - ns=1;i=5303 - ns=1;i=5303 - ns=1;i=9232 - i=2307 - i=78 + ns=1;i=10290 + ns=1;i=10201 + ns=1;i=10227 + i=2310 ns=1;i=1009 - - StateNumber + + TransitionNumber i=68 - i=80 - ns=1;i=5265 + i=78 + ns=1;i=10289 - 0 + 25 - - SelectExecutionCycleToWaitForCalibrationTriggerTransition + + WaitForDiagnosticTriggerToDiagnosticTransition - ns=1;i=9223 - ns=1;i=9220 - ns=1;i=5247 + ns=1;i=10292 + ns=1;i=10227 + ns=1;i=10229 i=2310 - i=78 ns=1;i=1009 - + TransitionNumber i=68 - i=80 - ns=1;i=9222 + i=78 + ns=1;i=10291 - 0 + 26 - - WaitForCalibrationTriggerToExtractCalibrationSampleTransition + + DiagnosticTransition - ns=1;i=6400 - ns=1;i=5247 - ns=1;i=5248 + ns=1;i=10294 + ns=1;i=10229 + ns=1;i=10229 i=2310 - i=78 ns=1;i=1009 - + TransitionNumber i=68 - i=80 - ns=1;i=5268 + i=78 + ns=1;i=10293 - 0 + 27 - - ExtractCalibrationSampleTransition + + DiagnosticToPublishResultsTransition - ns=1;i=6401 - ns=1;i=5248 - ns=1;i=5248 + ns=1;i=10296 + ns=1;i=10229 + ns=1;i=10235 i=2310 - i=78 ns=1;i=1009 - + TransitionNumber i=68 - i=80 - ns=1;i=5269 + i=78 + ns=1;i=10295 - 0 + 28 - - ExtractCalibrationSampleToPrepareCalibrationSampleTransition + + SelectExecutionCycleToWaitForCleaningTriggerTransition - ns=1;i=6402 - ns=1;i=5248 - ns=1;i=5249 + ns=1;i=10298 + ns=1;i=10201 + ns=1;i=10231 i=2310 - i=78 ns=1;i=1009 - + TransitionNumber i=68 - i=80 - ns=1;i=5270 + i=78 + ns=1;i=10297 - 0 + 29 - - PrepareCalibrationSampleTransition + + WaitForCleaningTriggerToCleaningTransition - ns=1;i=6403 - ns=1;i=5249 - ns=1;i=5249 + ns=1;i=10300 + ns=1;i=10231 + ns=1;i=10233 i=2310 - i=78 ns=1;i=1009 - + TransitionNumber i=68 - i=80 - ns=1;i=5271 + i=78 + ns=1;i=10299 - 0 + 30 - - PrepareCalibrationSampleToAnalyseCalibrationSampleTransition + + CleaningTransition - ns=1;i=6404 - ns=1;i=5249 - ns=1;i=5250 + ns=1;i=10302 + ns=1;i=10233 + ns=1;i=10233 i=2310 - i=78 ns=1;i=1009 - + TransitionNumber i=68 - i=80 - ns=1;i=5272 + i=78 + ns=1;i=10301 - 0 + 31 - - AnalyseCalibrationSampleTransition + + CleaningToPublishResultsTransition - ns=1;i=6405 - ns=1;i=5250 - ns=1;i=5250 + ns=1;i=10304 + ns=1;i=10233 + ns=1;i=10235 i=2310 - i=78 ns=1;i=1009 - + TransitionNumber i=68 - i=80 - ns=1;i=5273 + i=78 + ns=1;i=10303 - 0 + 32 - - AnalyseCalibrationSampleToPublishResultsTransition + + PublishResultsToCleanupSamplingSystemTransition - ns=1;i=6406 - ns=1;i=5250 - ns=1;i=5263 + ns=1;i=10306 + ns=1;i=10235 + ns=1;i=10239 i=2310 - i=78 ns=1;i=1009 - + TransitionNumber i=68 - i=80 - ns=1;i=5274 + i=78 + ns=1;i=10305 - 0 + 33 - - SelectExecutionCycleToWaitForValidationTriggerTransition + + PublishResultsToEjectGrabSampleTransition - ns=1;i=9225 - ns=1;i=9220 - ns=1;i=5251 + ns=1;i=10308 + ns=1;i=10235 + ns=1;i=10237 i=2310 - i=78 ns=1;i=1009 - + TransitionNumber i=68 - i=80 - ns=1;i=9224 + i=78 + ns=1;i=10307 - 0 + 34 - - WaitForValidationTriggerToExtractValidationSampleTransition + + EjectGrabSampleTransition - ns=1;i=6408 - ns=1;i=5251 - ns=1;i=5252 + ns=1;i=10310 + ns=1;i=10237 + ns=1;i=10237 i=2310 - i=78 ns=1;i=1009 - + TransitionNumber i=68 - i=80 - ns=1;i=5276 + i=78 + ns=1;i=10309 - 0 + 35 - - ExtractValidationSampleTransition + + EjectGrabSampleToCleanupSamplingSystemTransition - ns=1;i=6409 - ns=1;i=5252 - ns=1;i=5252 + ns=1;i=10312 + ns=1;i=10237 + ns=1;i=10239 i=2310 - i=78 ns=1;i=1009 - + TransitionNumber i=68 - i=80 - ns=1;i=5277 + i=78 + ns=1;i=10311 - 0 + 36 - - ExtractValidationSampleToPrepareValidationSampleTransition + + CleanupSamplingSystemTransition - ns=1;i=6410 - ns=1;i=5252 - ns=1;i=5253 + ns=1;i=10314 + ns=1;i=10239 + ns=1;i=10239 i=2310 - i=78 ns=1;i=1009 - + TransitionNumber i=68 - i=80 - ns=1;i=5278 + i=78 + ns=1;i=10313 - 0 + 37 - - PrepareValidationSampleTransition + + CleanupSamplingSystemToSelectExecutionCycleTransition - ns=1;i=6411 - ns=1;i=5253 - ns=1;i=5253 + ns=1;i=10316 + ns=1;i=10239 + ns=1;i=10201 i=2310 - i=78 ns=1;i=1009 - + TransitionNumber i=68 - i=80 - ns=1;i=5279 + i=78 + ns=1;i=10315 - 0 + 38 - - PrepareValidationSampleToAnalyseValidationSampleTransition + + StreamType - ns=1;i=6412 - ns=1;i=5253 - ns=1;i=5254 - i=2310 - i=78 - ns=1;i=1009 + ns=1;i=10317 + ns=1;i=10444 + ns=1;i=10430 + ns=1;i=10432 + ns=1;i=10434 + ns=1;i=10436 + ns=1;i=10438 + ns=1;i=10440 + ns=1;i=10442 + ns=2;i=1001 + + + + ParameterSet + Flat list of Parameters + + ns=1;i=10339 + ns=1;i=10342 + ns=1;i=10345 + ns=1;i=10348 + ns=1;i=10351 + ns=1;i=10354 + ns=1;i=10357 + ns=1;i=10363 + ns=1;i=10366 + ns=1;i=10369 + ns=1;i=10373 + ns=1;i=10376 + ns=1;i=10382 + ns=1;i=10385 + ns=1;i=10388 + ns=1;i=10391 + ns=1;i=10394 + ns=1;i=10397 + ns=1;i=10400 + ns=1;i=10403 + ns=1;i=10406 + ns=1;i=10409 + ns=1;i=10412 + ns=1;i=10415 + ns=1;i=10418 + ns=1;i=10421 + ns=1;i=10424 + ns=1;i=10427 + i=58 + i=80 + ns=1;i=1010 - - TransitionNumber + + IsEnabled + True if this stream maybe used to perform acquisition - i=68 + ns=1;i=10430 + i=2365 + i=78 + ns=1;i=10317 + + + + IsForced + True if this stream is forced, which means that is the only Stream on this AnalyserChannel that can be used to perform acquisition + + ns=1;i=10430 + i=2365 i=80 - ns=1;i=5280 + ns=1;i=10317 - - 0 - - - AnalyseValidationSampleTransition + + DiagnosticStatus + Stream health status - ns=1;i=6413 - ns=1;i=5254 - ns=1;i=5254 - i=2310 + ns=1;i=10432 + i=2365 + i=78 + ns=1;i=10317 + + + + LastCalibrationTime + Time at which the last calibration was run + + ns=1;i=10432 + i=2365 + i=80 + ns=1;i=10317 + + + + LastValidationTime + Time at which the last validation was run + + ns=1;i=10432 + i=2365 + i=80 + ns=1;i=10317 + + + + LastSampleTime + Time at which the last sample was acquired + + ns=1;i=10432 + i=2365 + i=78 + ns=1;i=10317 + + + + TimeBetweenSamples + Number of milliseconds between two consecutive starts of acquisition + + ns=1;i=10361 + ns=1;i=10434 + i=2368 + i=80 + ns=1;i=10317 + + + + EURange + + i=68 + i=78 + ns=1;i=10357 + + + + IsActive + True if this stream is actually running, acquiring data + + ns=1;i=10436 + i=2365 + i=78 + ns=1;i=10317 + + + + ExecutionCycle + Indicates which Execution cycle is in progress + + ns=1;i=10436 + i=2365 + i=78 + ns=1;i=10317 + + + + ExecutionCycleSubcode + Indicates which Execution cycle subcode is in progress + + ns=1;i=10372 + ns=1;i=10436 + i=2376 + i=78 + ns=1;i=10317 + + + + EnumStrings + + i=68 + i=78 + ns=1;i=10369 + + + + Progress + Indicates the progress of an acquisition in terms of percentage of completion. Its value shall be between 0 and 100. + + ns=1;i=10436 + i=2365 + i=78 + ns=1;i=10317 + + + + AcquisitionCounter + Simple counter incremented after each Sampling acquisition performed on this Stream + + ns=1;i=10380 + ns=1;i=10438 + i=2368 i=78 - ns=1;i=1009 + ns=1;i=10317 - - - TransitionNumber + + + EURange i=68 - i=80 - ns=1;i=5281 + i=78 + ns=1;i=10376 - - 0 - - - AnalyseValidationSampleToPublishResultsTransition + + AcquisitionResultStatus + Quality of the acquisition - ns=1;i=6414 - ns=1;i=5254 - ns=1;i=5263 - i=2310 + ns=1;i=10438 + i=2365 i=78 - ns=1;i=1009 + ns=1;i=10317 - - - TransitionNumber + + + RawData + Raw data produced as a result of data acquisition on the Stream - i=68 + ns=1;i=10438 + i=2365 i=80 - ns=1;i=5282 + ns=1;i=10317 - - 0 - - - SelectExecutionCycleToWaitForSampleTriggerTransition + + ScaledData + Scaled data produced as a result of data acquisition on the Stream and application of the analyser model - ns=1;i=9227 - ns=1;i=9220 - ns=1;i=5255 - i=2310 + ns=1;i=10438 + i=2365 i=78 - ns=1;i=1009 + ns=1;i=10317 - - - TransitionNumber + + + Offset + Difference in milliseconds between the start of sample extraction and the start of the analysis. - i=68 + ns=1;i=10438 + i=2365 i=80 - ns=1;i=9226 + ns=1;i=10317 - - 0 - - - WaitForSampleTriggerToExtractSampleTransition + + AcquisitionEndTime + The end time of the AnalyseSample or AnalyseCalibrationSample or AnalyseValidationSample state of the AnalyserChannel_OperatingModeExecuteSubStateMachine state machine - ns=1;i=6416 - ns=1;i=5255 - ns=1;i=5256 - i=2310 + ns=1;i=10438 + i=2365 i=78 - ns=1;i=1009 + ns=1;i=10317 - - - TransitionNumber + + + CampaignId + Defines the current campaign - i=68 + ns=1;i=10442 + i=2365 i=80 - ns=1;i=5284 + ns=1;i=10317 - - 0 - - - ExtractSampleTransition + + BatchId + Defines the current batch - ns=1;i=6417 - ns=1;i=5256 - ns=1;i=5256 - i=2310 - i=78 - ns=1;i=1009 + ns=1;i=10442 + i=2365 + i=80 + ns=1;i=10317 - - - TransitionNumber + + + SubBatchId + Defines the current sub-batch - i=68 + ns=1;i=10442 + i=2365 i=80 - ns=1;i=5285 + ns=1;i=10317 - - 0 - - - ExtractSampleToPrepareSampleTransition + + LotId + Defines the current lot - ns=1;i=6418 - ns=1;i=5256 - ns=1;i=5257 - i=2310 - i=78 - ns=1;i=1009 + ns=1;i=10442 + i=2365 + i=80 + ns=1;i=10317 - - - TransitionNumber + + + MaterialId + Defines the current material - i=68 + ns=1;i=10442 + i=2365 i=80 - ns=1;i=5286 + ns=1;i=10317 - - 0 - - - PrepareSampleTransition + + Process + Current Process name - ns=1;i=6419 - ns=1;i=5257 - ns=1;i=5257 - i=2310 - i=78 - ns=1;i=1009 + ns=1;i=10442 + i=2365 + i=80 + ns=1;i=10317 - - - TransitionNumber + + + Unit + Current Unit name - i=68 + ns=1;i=10442 + i=2365 i=80 - ns=1;i=5287 + ns=1;i=10317 - - 0 - - - PrepareSampleToAnalyseSampleTransition + + Operation + Current Operation name - ns=1;i=6420 - ns=1;i=5257 - ns=1;i=5258 - i=2310 - i=78 - ns=1;i=1009 + ns=1;i=10442 + i=2365 + i=80 + ns=1;i=10317 - - - TransitionNumber + + + Phase + Current Phase name - i=68 + ns=1;i=10442 + i=2365 i=80 - ns=1;i=5288 + ns=1;i=10317 - - 0 - - - AnalyseSampleTransition + + UserId + Login name of the user who is logged on at the device console - ns=1;i=6421 - ns=1;i=5258 - ns=1;i=5258 - i=2310 - i=78 - ns=1;i=1009 + ns=1;i=10442 + i=2365 + i=80 + ns=1;i=10317 - - - TransitionNumber + + + SampleId + Identifier for the sample - i=68 + ns=1;i=10442 + i=2365 i=80 - ns=1;i=5289 + ns=1;i=10317 - - 0 - - - AnalyseSampleToPublishResultsTransition + + <GroupIdentifier> + Group definition - ns=1;i=6422 - ns=1;i=5258 - ns=1;i=5263 - i=2310 + ns=2;i=1005 + i=11508 + ns=1;i=1010 + + + + Configuration + + ns=1;i=10339 + ns=1;i=10342 + ns=2;i=1005 i=78 - ns=1;i=1009 + ns=1;i=1010 - - TransitionNumber + + Status - i=68 - i=80 - ns=1;i=5290 + ns=1;i=10345 + ns=1;i=10348 + ns=1;i=10351 + ns=1;i=10354 + ns=2;i=1005 + i=78 + ns=1;i=1010 - - 0 - - - - SelectExecutionCycleToWaitForDiagnosticTriggerTransition + + + AcquisitionSettings - ns=1;i=9229 - ns=1;i=9220 - ns=1;i=5259 - i=2310 + ns=1;i=10357 + ns=2;i=1005 i=78 - ns=1;i=1009 + ns=1;i=1010 - - TransitionNumber + + AcquisitionStatus - i=68 - i=80 - ns=1;i=9228 + ns=1;i=10363 + ns=1;i=10366 + ns=1;i=10369 + ns=1;i=10373 + ns=2;i=1005 + i=78 + ns=1;i=1010 - - 0 - - - - WaitForDiagnosticTriggerToDiagnosticTransition + + + AcquisitionData - ns=1;i=6424 - ns=1;i=5259 - ns=1;i=5260 - i=2310 + ns=1;i=10376 + ns=1;i=10382 + ns=1;i=10385 + ns=1;i=10388 + ns=1;i=10391 + ns=1;i=10394 + ns=2;i=1005 i=78 - ns=1;i=1009 + ns=1;i=1010 - - TransitionNumber + + ChemometricModelSettings - i=68 - i=80 - ns=1;i=5292 + ns=2;i=1005 + i=78 + ns=1;i=1010 - - 0 - - - - DiagnosticTransition + + + Context - ns=1;i=6425 - ns=1;i=5260 - ns=1;i=5260 - i=2310 + ns=1;i=10397 + ns=1;i=10400 + ns=1;i=10403 + ns=1;i=10406 + ns=1;i=10409 + ns=1;i=10412 + ns=1;i=10415 + ns=1;i=10418 + ns=1;i=10421 + ns=1;i=10424 + ns=1;i=10427 + ns=2;i=1005 i=78 - ns=1;i=1009 + ns=1;i=1010 - - TransitionNumber + + SpectrometerDeviceStreamType - i=68 + ns=1;i=10446 + ns=1;i=10559 + ns=1;i=10563 + ns=1;i=10565 + ns=1;i=10567 + ns=1;i=10638 + ns=1;i=1010 + + + + ParameterSet + Flat list of Parameters + + ns=1;i=10468 + ns=1;i=10474 + ns=1;i=10483 + ns=1;i=10492 + ns=1;i=10495 + ns=1;i=10498 + ns=1;i=10502 + ns=1;i=10505 + ns=1;i=10511 + ns=1;i=10517 + ns=1;i=10523 + ns=1;i=10575 + ns=1;i=10584 + ns=1;i=10593 + ns=1;i=10596 + ns=1;i=10599 + ns=1;i=10602 + ns=1;i=10605 + ns=1;i=10608 + ns=1;i=10611 + ns=1;i=10614 + ns=1;i=10617 + ns=1;i=10620 + ns=1;i=10629 + i=58 i=80 - ns=1;i=5293 + ns=1;i=1030 + + + + IsEnabled + True if this stream maybe used to perform acquisition + + ns=1;i=10559 + i=2365 + i=78 + ns=1;i=10446 - - 0 - - - DiagnosticToPublishResultsTransition + + DiagnosticStatus + Stream health status - ns=1;i=6426 - ns=1;i=5260 - ns=1;i=5263 - i=2310 + i=2365 i=78 - ns=1;i=1009 + ns=1;i=10446 - - - TransitionNumber + + + LastSampleTime + Time at which the last sample was acquired - i=68 - i=80 - ns=1;i=5294 + i=2365 + i=78 + ns=1;i=10446 - - 0 - - - SelectExecutionCycleToWaitForCleaningTriggerTransition + + IsActive + True if this stream is actually running, acquiring data - ns=1;i=9231 - ns=1;i=9220 - ns=1;i=5261 - i=2310 + ns=1;i=10565 + i=2365 i=78 - ns=1;i=1009 + ns=1;i=10446 - - - TransitionNumber + + + ExecutionCycle + Indicates which Execution cycle is in progress - i=68 - i=80 - ns=1;i=9230 + ns=1;i=10565 + i=2365 + i=78 + ns=1;i=10446 - - 0 - - - WaitForCleaningTriggerToCleaningTransition + + ExecutionCycleSubcode + Indicates which Execution cycle subcode is in progress - ns=1;i=6428 - ns=1;i=5261 - ns=1;i=5262 - i=2310 + ns=1;i=10501 + ns=1;i=10565 + i=2376 i=78 - ns=1;i=1009 + ns=1;i=10446 - - - TransitionNumber + + + EnumStrings i=68 - i=80 - ns=1;i=5296 + i=78 + ns=1;i=10498 - - 0 - - - CleaningTransition + + Progress + Indicates the progress of an acquisition in terms of percentage of completion. Its value shall be between 0 and 100. - ns=1;i=6429 - ns=1;i=5262 - ns=1;i=5262 - i=2310 + ns=1;i=10565 + i=2365 i=78 - ns=1;i=1009 - - - - TransitionNumber - - i=68 - i=80 - ns=1;i=5297 + ns=1;i=10446 - - 0 - - - CleaningToPublishResultsTransition + + AcquisitionCounter + Simple counter incremented after each Sampling acquisition performed on this Stream - ns=1;i=6430 - ns=1;i=5262 - ns=1;i=5263 - i=2310 + ns=1;i=10509 + ns=1;i=10567 + i=2368 i=78 - ns=1;i=1009 + ns=1;i=10446 - - - TransitionNumber + + + EURange i=68 - i=80 - ns=1;i=5298 + i=78 + ns=1;i=10505 - - 0 - - - PublishResultsToCleanupSamplingSystemTransition + + AcquisitionResultStatus + Quality of the acquisition - ns=1;i=6431 - ns=1;i=5263 - ns=1;i=5265 - i=2310 + ns=1;i=10567 + i=2365 i=78 - ns=1;i=1009 + ns=1;i=10446 - - - TransitionNumber + + + ScaledData + Scaled data produced as a result of data acquisition on the Stream and application of the analyser model - i=68 - i=80 - ns=1;i=5299 + ns=1;i=10567 + i=2365 + i=78 + ns=1;i=10446 - - 0 - - - PublishResultsToEjectGrabSampleTransition + + AcquisitionEndTime + The end time of the AnalyseSample or AnalyseCalibrationSample or AnalyseValidationSample state of the AnalyserChannel_OperatingModeExecuteSubStateMachine state machine - ns=1;i=6432 - ns=1;i=5263 - ns=1;i=5264 - i=2310 + ns=1;i=10567 + i=2365 i=78 - ns=1;i=1009 + ns=1;i=10446 - - - TransitionNumber + + + ActiveBackground - i=68 - i=80 - ns=1;i=5300 + ns=1;i=10579 + ns=1;i=10580 + ns=1;i=10581 + ns=1;i=10582 + ns=1;i=10583 + ns=1;i=10559 + i=12029 + i=78 + ns=1;i=10446 - - 0 - - - EjectGrabSampleTransition + + EURange - ns=1;i=6433 - ns=1;i=5264 - ns=1;i=5264 - i=2310 + i=68 i=78 - ns=1;i=1009 + ns=1;i=10575 - - - TransitionNumber + + + EngineeringUnits i=68 - i=80 - ns=1;i=5301 + i=78 + ns=1;i=10575 - - 0 - - - EjectGrabSampleToCleanupSamplingSystemTransition + + Title - ns=1;i=6434 - ns=1;i=5264 - ns=1;i=5265 - i=2310 + i=68 i=78 - ns=1;i=1009 + ns=1;i=10575 - - - TransitionNumber + + + AxisScaleType i=68 - i=80 - ns=1;i=5302 + i=78 + ns=1;i=10575 - - 0 - - - CleanupSamplingSystemTransition + + XAxisDefinition - ns=1;i=6435 - ns=1;i=5265 - ns=1;i=5265 - i=2310 + i=68 i=78 - ns=1;i=1009 + ns=1;i=10575 - - - TransitionNumber + + + ActiveBackground1 - i=68 + ns=1;i=10588 + ns=1;i=10589 + ns=1;i=10590 + ns=1;i=10591 + ns=1;i=10592 + ns=1;i=10559 + i=12029 i=80 - ns=1;i=5303 + ns=1;i=10446 - - 0 - - - CleanupSamplingSystemToSelectExecutionCycleTransition + + EURange - ns=1;i=9233 - ns=1;i=5265 - ns=1;i=9220 - i=2310 + i=68 i=78 - ns=1;i=1009 + ns=1;i=10584 - - - TransitionNumber + + + EngineeringUnits i=68 - i=80 - ns=1;i=9232 + i=78 + ns=1;i=10584 - - 0 - - - StreamType + + Title - ns=1;i=5348 - ns=1;i=9445 - ns=1;i=5350 - ns=1;i=5351 - ns=1;i=5352 - ns=1;i=5353 - ns=1;i=5354 - ns=1;i=5355 - ns=1;i=5356 - ns=2;i=1001 + i=68 + i=78 + ns=1;i=10584 - - - ParameterSet - Flat list of Parameters + + + AxisScaleType - ns=1;i=6483 - ns=1;i=6486 - ns=1;i=6489 - ns=1;i=6492 - ns=1;i=6495 - ns=1;i=6498 - ns=1;i=6501 - ns=1;i=6507 - ns=1;i=9235 - ns=1;i=9236 - ns=1;i=6511 - ns=1;i=6514 - ns=1;i=6520 - ns=1;i=6523 - ns=1;i=6526 - ns=1;i=6529 - ns=1;i=6532 - ns=1;i=6535 - ns=1;i=6538 - ns=1;i=6541 - ns=1;i=6544 - ns=1;i=6547 - ns=1;i=6550 - ns=1;i=6553 - ns=1;i=6556 - ns=1;i=6559 - ns=1;i=6562 - i=58 + i=68 i=78 - ns=1;i=1010 + ns=1;i=10584 - - - IsEnabled - True if this stream maybe used to perform acquisition + + + XAxisDefinition - ns=1;i=5350 - i=2365 + i=68 i=78 - ns=1;i=5348 + ns=1;i=10584 - - IsForced - True if this stream is firced, which means that is the only Stream on this AnalyserChannel that can be used to perform acquisition + + SpectralRange + ns=1;i=10563 i=2365 i=80 - ns=1;i=5348 + ns=1;i=10446 - - DiagnosticStatus - Stream health status + + Resolution - ns=1;i=5351 + ns=1;i=10563 i=2365 - i=78 - ns=1;i=5348 + i=80 + ns=1;i=10446 - - LastCalibrationTime - Time at which the last calibration was run + + RequestedNumberOfScans + ns=1;i=10563 i=2365 i=80 - ns=1;i=5348 + ns=1;i=10446 - - LastValidationTime - Time at which the last validation was run + + Gain + ns=1;i=10563 i=2365 i=80 - ns=1;i=5348 + ns=1;i=10446 - - LastSampleTime - Time at which the last sample was acquired + + TransmittanceCutoff - ns=1;i=5351 + ns=1;i=10563 i=2365 - i=78 - ns=1;i=5348 + i=80 + ns=1;i=10446 - - TimeBetweenSamples - Number of milliseconds between two consecutive starts of acquisition + + AbsorbanceCutoff - ns=1;i=6504 - i=2368 + ns=1;i=10563 + i=2365 i=80 - ns=1;i=5348 + ns=1;i=10446 - - EURange + + NumberOfScansDone - i=68 - i=78 - ns=1;i=6501 + ns=1;i=10565 + i=2365 + i=80 + ns=1;i=10446 - - IsActive - True if this stream is actually running, acquiring data + + TotalNumberOfScansDone - ns=1;i=5353 + ns=1;i=10567 i=2365 i=78 - ns=1;i=5348 + ns=1;i=10446 - - ExecutionCycle - Indicates which Execution cycle is in progress + + BackgroundAcquisitionTime - ns=1;i=5353 + ns=1;i=10567 i=2365 i=78 - ns=1;i=5348 + ns=1;i=10446 - - ExecutionCycleSubcode - Indicates which Execution cycle subcode is in progress + + PendingBackground - ns=1;i=9239 - ns=1;i=5353 - i=2376 + ns=1;i=10624 + ns=1;i=10625 + ns=1;i=10626 + ns=1;i=10627 + ns=1;i=10628 + ns=1;i=10567 + i=12029 i=78 - ns=1;i=5348 + ns=1;i=10446 - - EnumStrings + + EURange i=68 i=78 - ns=1;i=9236 + ns=1;i=10620 - - Progress - Indicates the progress of an acquisition in terms of percentage of completion. Its value shall be between 0 and 100. + + EngineeringUnits - ns=1;i=5353 - i=2365 + i=68 i=78 - ns=1;i=5348 + ns=1;i=10620 - - AcquisitionCounter - Simple counter incremented after each Sampling acquisition performed on this Stream + + Title - ns=1;i=6517 - ns=1;i=5354 - i=2368 + i=68 i=78 - ns=1;i=5348 + ns=1;i=10620 - - EURange + + AxisScaleType i=68 i=78 - ns=1;i=6514 + ns=1;i=10620 - - AcquisitionResultStatus - Quality of the acquisition + + XAxisDefinition - ns=1;i=5354 - i=2365 + i=68 i=78 - ns=1;i=5348 + ns=1;i=10620 - - RawData - Raw data produced as a result of data acquisition on the Stream + + PendingBackground1 - i=2365 + ns=1;i=10633 + ns=1;i=10634 + ns=1;i=10635 + ns=1;i=10636 + ns=1;i=10637 + ns=1;i=10567 + i=12029 i=80 - ns=1;i=5348 + ns=1;i=10446 - - ScaledData - Scaled data produced as a result of data acquisition on the Stream and application of the analyser model + + EURange - ns=1;i=5354 - i=2365 + i=68 i=78 - ns=1;i=5348 + ns=1;i=10629 - - AcquisitionEndTime - The end time of the AnalyseSample or AnalyseCalibrationSample or AnalyseValidationSample state of the AnalyserChannel_OperatingModeExecuteSubStateMachine state machine + + EngineeringUnits - ns=1;i=5354 - i=2365 + i=68 i=78 - ns=1;i=5348 + ns=1;i=10629 - - CampaignId - Defines the current campaign + + Title - i=2365 - i=80 - ns=1;i=5348 + i=68 + i=78 + ns=1;i=10629 - - BatchId - Defines the current batch + + AxisScaleType - i=2365 - i=80 - ns=1;i=5348 + i=68 + i=78 + ns=1;i=10629 - - SubBatchId - Defines the current sub-batch + + XAxisDefinition - i=2365 - i=80 - ns=1;i=5348 + i=68 + i=78 + ns=1;i=10629 - - LotId - Defines the current lot + + Configuration - i=2365 - i=80 - ns=1;i=5348 + ns=1;i=10575 + ns=1;i=10584 + ns=2;i=1005 + i=78 + ns=1;i=1030 - - - MaterialId - Defines the current material + + + AcquisitionSettings + + ns=1;i=10593 + ns=1;i=10596 + ns=1;i=10599 + ns=1;i=10602 + ns=1;i=10605 + ns=1;i=10608 + ns=2;i=1005 + i=78 + ns=1;i=1030 + + + + AcquisitionStatus + + ns=1;i=10611 + ns=2;i=1005 + i=78 + ns=1;i=1030 + + + + AcquisitionData + + ns=1;i=10614 + ns=1;i=10617 + ns=1;i=10620 + ns=1;i=10629 + ns=2;i=1005 + i=78 + ns=1;i=1030 + + + + FactorySettings + + i=58 + i=78 + ns=1;i=1030 + + + + MassSpectrometerDeviceStreamType + + ns=1;i=1010 + + + + ParticleSizeMonitorDeviceStreamType + + ns=1;i=10768 + ns=1;i=10889 + ns=1;i=1010 + + + + ParameterSet + Flat list of Parameters - i=2365 + ns=1;i=10790 + ns=1;i=10796 + ns=1;i=10805 + ns=1;i=10814 + ns=1;i=10817 + ns=1;i=10820 + ns=1;i=10824 + ns=1;i=10827 + ns=1;i=10833 + ns=1;i=10839 + ns=1;i=10845 + ns=1;i=10897 + ns=1;i=10906 + ns=1;i=10915 + i=58 i=80 - ns=1;i=5348 + ns=1;i=1032 - - - Process - Current Process name + + + IsEnabled + True if this stream maybe used to perform acquisition i=2365 - i=80 - ns=1;i=5348 + i=78 + ns=1;i=10768 - - Unit - Current Unit name + + DiagnosticStatus + Stream health status i=2365 - i=80 - ns=1;i=5348 + i=78 + ns=1;i=10768 - - Operation - Current Operation name + + LastSampleTime + Time at which the last sample was acquired i=2365 - i=80 - ns=1;i=5348 + i=78 + ns=1;i=10768 - - Phase - Current Phase name + + IsActive + True if this stream is actually running, acquiring data i=2365 - i=80 - ns=1;i=5348 + i=78 + ns=1;i=10768 - - UserId - Login name of the user who is logged on at the device console + + ExecutionCycle + Indicates which Execution cycle is in progress i=2365 - i=80 - ns=1;i=5348 + i=78 + ns=1;i=10768 - - SampleId - Identifier for the sample + + ExecutionCycleSubcode + Indicates which Execution cycle subcode is in progress - i=2365 - i=80 - ns=1;i=5348 + ns=1;i=10823 + i=2376 + i=78 + ns=1;i=10768 - - <GroupIdentifier> - An application specific functional group used to organize parameters and methods. - - ns=2;i=1005 - i=11508 - ns=1;i=1010 - - - - Configuration + + EnumStrings - ns=1;i=6483 - ns=2;i=1005 + i=68 i=78 - ns=1;i=1010 + ns=1;i=10820 - - - Status + + + Progress + Indicates the progress of an acquisition in terms of percentage of completion. Its value shall be between 0 and 100. - ns=1;i=6489 - ns=1;i=6498 - ns=2;i=1005 + i=2365 i=78 - ns=1;i=1010 + ns=1;i=10768 - - - AcquisitionSettings + + + AcquisitionCounter + Simple counter incremented after each Sampling acquisition performed on this Stream - ns=2;i=1005 + ns=1;i=10831 + ns=1;i=10889 + i=2368 i=78 - ns=1;i=1010 + ns=1;i=10768 - - - AcquisitionStatus + + + EURange - ns=1;i=6507 - ns=1;i=9235 - ns=1;i=9236 - ns=1;i=6511 - ns=2;i=1005 + i=68 i=78 - ns=1;i=1010 + ns=1;i=10827 - - - AcquisitionData + + + AcquisitionResultStatus + Quality of the acquisition - ns=1;i=6514 - ns=1;i=6520 - ns=1;i=6526 - ns=1;i=6529 - ns=2;i=1005 + ns=1;i=10889 + i=2365 i=78 - ns=1;i=1010 + ns=1;i=10768 - - - ChemometricModelSettings + + + ScaledData + Scaled data produced as a result of data acquisition on the Stream and application of the analyser model - ns=2;i=1005 + ns=1;i=10889 + i=2365 i=78 - ns=1;i=1010 + ns=1;i=10768 - - - Context + + + AcquisitionEndTime + The end time of the AnalyseSample or AnalyseCalibrationSample or AnalyseValidationSample state of the AnalyserChannel_OperatingModeExecuteSubStateMachine state machine - ns=2;i=1005 + ns=1;i=10889 + i=2365 i=78 - ns=1;i=1010 + ns=1;i=10768 - - - SpectrometerDeviceType + + + Background - ns=1;i=5357 - ns=1;i=5361 - ns=1;i=1001 + ns=1;i=10901 + ns=1;i=10902 + ns=1;i=10903 + ns=1;i=10904 + ns=1;i=10905 + ns=1;i=10889 + i=12029 + i=80 + ns=1;i=10768 - - - ParameterSet - Flat list of Parameters + + + EURange - ns=1;i=6572 - ns=1;i=6575 - ns=1;i=6580 - ns=1;i=6585 - ns=1;i=6588 - ns=1;i=6591 - ns=1;i=6594 - ns=1;i=6597 - ns=1;i=6600 - ns=1;i=6603 - ns=1;i=6606 - ns=1;i=6646 - i=58 + i=68 i=78 - ns=1;i=1011 + ns=1;i=10897 - - - DiagnosticStatus - General health status of the analyser + + + EngineeringUnits - i=2365 + i=68 i=78 - ns=1;i=5357 + ns=1;i=10897 - - OutOfSpecification - Device being operated out of Specification. Uncertain value due to process and environment influence + + Title - ns=1;i=6578 - ns=1;i=6579 - i=2373 + i=68 i=78 - ns=1;i=5357 + ns=1;i=10897 - - FalseState + + AxisScaleType i=68 i=78 - ns=1;i=6575 + ns=1;i=10897 - - TrueState + + XAxisDefinition i=68 i=78 - ns=1;i=6575 + ns=1;i=10897 - - FunctionCheck - Local operation, configuration is changing, substitute value entered. + + SizeDistribution - ns=1;i=6583 - ns=1;i=6584 - i=2373 + ns=1;i=10910 + ns=1;i=10911 + ns=1;i=10912 + ns=1;i=10913 + ns=1;i=10914 + ns=1;i=10889 + i=12029 i=78 - ns=1;i=5357 + ns=1;i=10768 - - FalseState + + EURange i=68 i=78 - ns=1;i=6580 + ns=1;i=10906 - - TrueState + + EngineeringUnits i=68 i=78 - ns=1;i=6580 + ns=1;i=10906 - - SerialNumber - Identifier that uniquely identifies, within a manufacturer, a device instance + + Title - ns=1;i=5361 - i=2365 + i=68 i=78 - ns=1;i=5357 + ns=1;i=10906 - - Manufacturer - Name of the company that manufactured the device + + AxisScaleType - ns=1;i=5361 - i=2365 + i=68 i=78 - ns=1;i=5357 + ns=1;i=10906 - - Model - Model name of the device + + XAxisDefinition - ns=1;i=5361 - i=2365 + i=68 i=78 - ns=1;i=5357 + ns=1;i=10906 - - DeviceManual - Address (pathname in the file system or a URL | Web address) of user manual for the device + + BackgroundAcquisitionTime - ns=1;i=5361 + ns=1;i=10889 i=2365 i=78 - ns=1;i=5357 + ns=1;i=10768 - - DeviceRevision - Overall revision level of the device + + AcquisitionData - ns=1;i=5361 - i=2365 + ns=1;i=10897 + ns=1;i=10906 + ns=1;i=10915 + ns=2;i=1005 i=78 - ns=1;i=5357 + ns=1;i=1032 - - - SoftwareRevision - Revision level of the software/firmware of the device + + + AcousticSpectrometerDeviceStreamType - ns=1;i=5361 - i=2365 - i=78 - ns=1;i=5357 + ns=1;i=1010 - - - HardwareRevision - Revision level of the hardware of the device + + + ChromatographDeviceStreamType - ns=1;i=5361 - i=2365 - i=78 - ns=1;i=5357 + ns=1;i=1010 - - - RevisionCounter - An incremental counter indicating the number of times the static data within the Device has been modified + + + MNRDeviceStreamType + + ns=1;i=1010 + + + + SpectrometerDeviceType + + ns=1;i=11305 + ns=1;i=11411 + ns=1;i=1001 + + + + ParameterSet + Flat list of Parameters + + ns=1;i=11384 + ns=1;i=11551 + i=58 + i=80 + ns=1;i=1011 + + + + DiagnosticStatus + General health status of the analyser - ns=1;i=5361 i=2365 i=78 - ns=1;i=5357 + ns=1;i=11305 - + SpectralRange i=2365 i=80 - ns=1;i=5357 + ns=1;i=11305 - + FactorySettings ns=2;i=1005 @@ -13434,13 +6938,14 @@ AccessorySlotType Organizes zero or more Accessory objects identified by "AccessoryIdentifier" which represent Accessories currently being used on that AccessorySlot. - ns=1;i=7054 - ns=1;i=7055 - ns=1;i=5483 + ns=1;i=12786 + ns=1;i=12787 + ns=1;i=12788 + ns=1;i=12800 ns=2;i=1004 - + IsHotSwappable True if an accessory can be inserted in the accessory slot while it is powered @@ -13449,7 +6954,7 @@ ns=1;i=1017 - + IsEnabled True if this accessory slot is capable of accepting an accessory in it @@ -13458,651 +6963,521 @@ ns=1;i=1017 - + AccessorySlotStateMachine - ns=1;i=7056 - ns=1;i=5484 - ns=1;i=5485 - ns=1;i=5486 - ns=1;i=5487 - ns=1;i=5488 - ns=1;i=5489 - ns=1;i=5490 - ns=1;i=5491 - ns=1;i=5492 - ns=1;i=5493 - ns=1;i=5494 - ns=1;i=5495 - ns=1;i=5496 - ns=1;i=5497 - ns=1;i=5498 - ns=1;i=5499 - ns=1;i=5500 - ns=1;i=5501 + ns=1;i=12789 ns=1;i=1018 i=78 ns=1;i=1017 - + CurrentState - ns=1;i=7057 + ns=1;i=12790 i=2760 i=78 - ns=1;i=5483 + ns=1;i=12788 - + Id i=68 i=78 - ns=1;i=7056 + ns=1;i=12789 - - Powerup - The AccessorySlot is in its power-up sequence and cannot perform any other task. - - i=2309 - i=78 - ns=1;i=5483 - - - - Empty - This represents an AccessorySlot where no Accessory is installed. - - i=2307 - i=78 - ns=1;i=5483 - - - - Inserting - This represents an AccessorySlot when an Accessory is being inserted and initializing. - - i=2307 - i=78 - ns=1;i=5483 - - - - Installed - This represents an AccessorySlot where an Accessory is installed and ready to use. - - i=2307 - i=78 - ns=1;i=5483 - - - - Removing - This represents an AccessorySlot where no Accessory is installed. - - i=2307 - i=78 - ns=1;i=5483 - - - - Shutdown - The AccessorySlot is in its power-down sequence and cannot perform any other task. - - i=2307 - i=78 - ns=1;i=5483 - - - - PowerupToEmptyTransition - - i=2310 - i=78 - ns=1;i=5483 - - - - EmptyToInsertingTransition - - i=2310 - i=78 - ns=1;i=5483 - - - - InsertingTransition - - i=2310 - i=78 - ns=1;i=5483 - - - - InsertingToRemovingTransition + + <AccessoryIdentifier> + Accessory definition - i=2310 - i=78 - ns=1;i=5483 - - - - InsertingToInstalledTransition - - i=2310 - i=78 - ns=1;i=5483 - - - - InstalledToRemovingTransition - - i=2310 - i=78 - ns=1;i=5483 - - - - RemovingTransition - - i=2310 - i=78 - ns=1;i=5483 + ns=1;i=12821 + ns=1;i=12823 + ns=1;i=12825 + ns=1;i=12827 + ns=1;i=12828 + ns=1;i=1019 + i=11508 + ns=1;i=1017 - - RemovingToEmptyTransition + + Configuration - i=2310 + ns=2;i=1005 i=78 - ns=1;i=5483 + ns=1;i=12800 - - EmptyToShutdownTransition + + Status - i=2310 + ns=2;i=1005 i=78 - ns=1;i=5483 + ns=1;i=12800 - - InsertingToShutdownTransition + + FactorySettings - i=2310 + ns=2;i=1005 i=78 - ns=1;i=5483 + ns=1;i=12800 - - InstalledToShutdownTransition + + IsHotSwappable + True if this accessory can be inserted in the accessory slot while it is powered - i=2310 + i=68 i=78 - ns=1;i=5483 + ns=1;i=12800 - - - RemovingToShutdownTransition + + + IsReady + True if this accessory is ready for use - i=2310 + i=68 i=78 - ns=1;i=5483 + ns=1;i=12800 - + AccessorySlotStateMachineType Describes the behaviour of an AccessorySlot when a physical accessory is inserted or removed. - ns=1;i=5502 - ns=1;i=5503 - ns=1;i=5504 - ns=1;i=5505 - ns=1;i=5506 - ns=1;i=5507 - ns=1;i=5508 - ns=1;i=5509 - ns=1;i=5510 - ns=1;i=5511 - ns=1;i=5512 - ns=1;i=5513 - ns=1;i=5514 - ns=1;i=5515 - ns=1;i=5516 - ns=1;i=5517 - ns=1;i=5518 - ns=1;i=5519 + ns=1;i=12840 + ns=1;i=12842 + ns=1;i=12844 + ns=1;i=12846 + ns=1;i=12848 + ns=1;i=12850 + ns=1;i=12852 + ns=1;i=12854 + ns=1;i=12856 + ns=1;i=12858 + ns=1;i=12860 + ns=1;i=12862 + ns=1;i=12864 + ns=1;i=12866 + ns=1;i=12868 + ns=1;i=12870 + ns=1;i=12872 + ns=1;i=12874 i=2771 - + Powerup The AccessorySlot is in its power-up sequence and cannot perform any other task. - ns=1;i=7094 - ns=1;i=5508 + ns=1;i=12841 + ns=1;i=12852 i=2309 - i=78 ns=1;i=1018 - + StateNumber i=68 - i=80 - ns=1;i=5502 + i=78 + ns=1;i=12840 - 0 + 100 - + Empty This represents an AccessorySlot where no Accessory is installed. - ns=1;i=7095 - ns=1;i=5508 - ns=1;i=5509 - ns=1;i=5515 - ns=1;i=5516 + ns=1;i=12843 + ns=1;i=12852 + ns=1;i=12854 + ns=1;i=12866 + ns=1;i=12868 i=2307 - i=78 ns=1;i=1018 - + StateNumber i=68 - i=80 - ns=1;i=5503 + i=78 + ns=1;i=12842 - 0 + 200 - + Inserting This represents an AccessorySlot when an Accessory is being inserted and initializing. - ns=1;i=7096 - ns=1;i=5509 - ns=1;i=5510 - ns=1;i=5510 - ns=1;i=5511 - ns=1;i=5512 - ns=1;i=5517 + ns=1;i=12845 + ns=1;i=12854 + ns=1;i=12856 + ns=1;i=12856 + ns=1;i=12858 + ns=1;i=12860 + ns=1;i=12870 i=2307 - i=78 ns=1;i=1018 - + StateNumber i=68 - i=80 - ns=1;i=5504 + i=78 + ns=1;i=12844 - 0 + 300 - + Installed This represents an AccessorySlot where an Accessory is installed and ready to use. - ns=1;i=7097 - ns=1;i=5512 - ns=1;i=5513 - ns=1;i=5518 + ns=1;i=12847 + ns=1;i=12860 + ns=1;i=12862 + ns=1;i=12872 i=2307 - i=78 ns=1;i=1018 - + StateNumber i=68 - i=80 - ns=1;i=5505 + i=78 + ns=1;i=12846 - 0 + 400 - + Removing This represents an AccessorySlot where no Accessory is installed. - ns=1;i=7098 - ns=1;i=5511 - ns=1;i=5513 - ns=1;i=5514 - ns=1;i=5514 - ns=1;i=5515 - ns=1;i=5519 + ns=1;i=12849 + ns=1;i=12858 + ns=1;i=12862 + ns=1;i=12864 + ns=1;i=12864 + ns=1;i=12866 + ns=1;i=12874 i=2307 - i=78 ns=1;i=1018 - + StateNumber i=68 - i=80 - ns=1;i=5506 + i=78 + ns=1;i=12848 - 0 + 500 - + Shutdown The AccessorySlot is in its power-down sequence and cannot perform any other task. - ns=1;i=7099 - ns=1;i=5516 - ns=1;i=5517 - ns=1;i=5518 - ns=1;i=5519 + ns=1;i=12851 + ns=1;i=12868 + ns=1;i=12870 + ns=1;i=12872 + ns=1;i=12874 i=2307 - i=78 ns=1;i=1018 - + StateNumber i=68 - i=80 - ns=1;i=5507 + i=78 + ns=1;i=12850 - 0 + 600 - + PowerupToEmptyTransition - ns=1;i=7100 - ns=1;i=5502 - ns=1;i=5503 + ns=1;i=12853 + ns=1;i=12840 + ns=1;i=12842 i=2310 - i=78 ns=1;i=1018 - + TransitionNumber i=68 - i=80 - ns=1;i=5508 + i=78 + ns=1;i=12852 - 0 + 1 - + EmptyToInsertingTransition - ns=1;i=7101 - ns=1;i=5503 - ns=1;i=5504 + ns=1;i=12855 + ns=1;i=12842 + ns=1;i=12844 i=2310 - i=78 ns=1;i=1018 - + TransitionNumber i=68 - i=80 - ns=1;i=5509 + i=78 + ns=1;i=12854 - 0 + 2 - + InsertingTransition - ns=1;i=7102 - ns=1;i=5504 - ns=1;i=5504 + ns=1;i=12857 + ns=1;i=12844 + ns=1;i=12844 i=2310 - i=78 ns=1;i=1018 - + TransitionNumber i=68 - i=80 - ns=1;i=5510 + i=78 + ns=1;i=12856 - 0 + 3 - + InsertingToRemovingTransition - ns=1;i=7103 - ns=1;i=5504 - ns=1;i=5506 + ns=1;i=12859 + ns=1;i=12844 + ns=1;i=12848 i=2310 - i=78 ns=1;i=1018 - + TransitionNumber i=68 - i=80 - ns=1;i=5511 + i=78 + ns=1;i=12858 - 0 + 4 - + InsertingToInstalledTransition - ns=1;i=7104 - ns=1;i=5504 - ns=1;i=5505 + ns=1;i=12861 + ns=1;i=12844 + ns=1;i=12846 i=2310 - i=78 ns=1;i=1018 - + TransitionNumber i=68 - i=80 - ns=1;i=5512 + i=78 + ns=1;i=12860 - 0 + 5 - + InstalledToRemovingTransition - ns=1;i=7105 - ns=1;i=5505 - ns=1;i=5506 + ns=1;i=12863 + ns=1;i=12846 + ns=1;i=12848 i=2310 - i=78 ns=1;i=1018 - + TransitionNumber i=68 - i=80 - ns=1;i=5513 + i=78 + ns=1;i=12862 - 0 + 6 - + RemovingTransition - ns=1;i=7106 - ns=1;i=5506 - ns=1;i=5506 + ns=1;i=12865 + ns=1;i=12848 + ns=1;i=12848 i=2310 - i=78 ns=1;i=1018 - + TransitionNumber i=68 - i=80 - ns=1;i=5514 + i=78 + ns=1;i=12864 - 0 + 7 - + RemovingToEmptyTransition - ns=1;i=7107 - ns=1;i=5506 - ns=1;i=5503 + ns=1;i=12867 + ns=1;i=12848 + ns=1;i=12842 i=2310 - i=78 ns=1;i=1018 - + TransitionNumber i=68 - i=80 - ns=1;i=5515 + i=78 + ns=1;i=12866 - 0 + 8 - + EmptyToShutdownTransition - ns=1;i=7108 - ns=1;i=5503 - ns=1;i=5507 + ns=1;i=12869 + ns=1;i=12842 + ns=1;i=12850 i=2310 - i=78 ns=1;i=1018 - + TransitionNumber i=68 - i=80 - ns=1;i=5516 + i=78 + ns=1;i=12868 - 0 + 9 - + InsertingToShutdownTransition - ns=1;i=7109 - ns=1;i=5504 - ns=1;i=5507 + ns=1;i=12871 + ns=1;i=12844 + ns=1;i=12850 i=2310 - i=78 ns=1;i=1018 - + TransitionNumber i=68 - i=80 - ns=1;i=5517 + i=78 + ns=1;i=12870 - 0 + 10 - + InstalledToShutdownTransition - ns=1;i=7110 - ns=1;i=5505 - ns=1;i=5507 + ns=1;i=12873 + ns=1;i=12846 + ns=1;i=12850 i=2310 - i=78 ns=1;i=1018 - + TransitionNumber i=68 - i=80 - ns=1;i=5518 + i=78 + ns=1;i=12872 - 0 + 11 - + RemovingToShutdownTransition - ns=1;i=7111 - ns=1;i=5506 - ns=1;i=5507 + ns=1;i=12875 + ns=1;i=12848 + ns=1;i=12850 i=2310 - i=78 ns=1;i=1018 - + TransitionNumber i=68 - i=80 - ns=1;i=5519 + i=78 + ns=1;i=12874 - 0 + 12 AccessoryType - ns=1;i=5522 - ns=1;i=5523 - ns=1;i=5524 - ns=1;i=7112 - ns=1;i=7113 + ns=1;i=12898 + ns=1;i=12900 + ns=1;i=12902 + ns=1;i=12904 + ns=1;i=12905 ns=2;i=1001 - + Configuration ns=2;i=1005 @@ -14110,7 +7485,7 @@ ns=1;i=1019 - + Status ns=2;i=1005 @@ -14118,7 +7493,7 @@ ns=1;i=1019 - + FactorySettings ns=2;i=1005 @@ -14126,7 +7501,7 @@ ns=1;i=1019 - + IsHotSwappable True if this accessory can be inserted in the accessory slot while it is powered @@ -14135,7 +7510,7 @@ ns=1;i=1019 - + IsReady True if this accessory is ready for use @@ -14171,7 +7546,7 @@ ExecutionCycleEnumeration - ns=1;i=12487 + ns=1;i=13026 i=29 @@ -14210,7 +7585,7 @@ - + EnumValues i=68 @@ -14442,60 +7817,15 @@ - - DiagnosticStatusEnumeration - - ns=1;i=7131 - i=29 - - - - This element is working correctly. - - - This element is working, but a maintenance operation is required. - - - This element does not work correctly, an immediate action is required. - - - - - EnumStrings - - i=68 - i=78 - ns=1;i=3002 - - - - - - - NORMAL - - - - - MAINTENANCE_REQUIRED - - - - - FAULT - - - - AcquisitionResultStatusEnumeration - ns=1;i=7132 + ns=1;i=13027 i=29 - - The acquisition is in progress, nothing can be said about its quality. + + No longer used. The acquisition has been completed as requested without any error. @@ -14511,7 +7841,7 @@ - + EnumStrings i=68 @@ -14523,7 +7853,7 @@ - IN_PROGRESS + NOT_USED @@ -14548,197 +7878,17 @@ - - ArrayItemType - - ns=1;i=7135 - ns=1;i=7136 - ns=1;i=7137 - ns=1;i=7138 - ns=1;i=7139 - ns=1;i=7140 - i=2365 - - - - InstrumentRange - Defines the ArrayItem.Value range that can be returned by the analyser. - - i=68 - i=80 - ns=1;i=2001 - - - - EURange - Holds the information about the engineering units of the ArrayItem.Value. - - i=68 - i=78 - ns=1;i=2001 - - - - EngineeringUnits - Holds the information about the engineering units of the ArrayItem.Value. - - i=68 - i=78 - ns=1;i=2001 - - - - title - Holds the user readable ArrayItem.Value title, useful when the units are %, the title may be “Particle size distribution” - - i=68 - i=78 - ns=1;i=2001 - - - - axisScaleType - Linear, log, ln, defined by AxisSteps - - i=68 - i=78 - ns=1;i=2001 - - - - Offset - Difference in 100 nanosecond intervals between the sourceTimestamp and the time when the sample material was taken from the process. - - i=68 - i=80 - ns=1;i=2001 - - - - YArrayItemType - Single-dimensional array of numerical values - - ns=1;i=7149 - ns=1;i=2001 - - - - xAxisDefinition - Holds the information about the engineering units and range for the X-Axis. - - i=68 - i=78 - ns=1;i=2002 - - - - XYArrayItemType - Vector of XY values - - ns=1;i=7158 - ns=1;i=2001 - - - - xAxisDefinition - Holds the information about the engineering units and range for the X-Axis. - - i=68 - i=78 - ns=1;i=2003 - - - - ImageItemType - Matrix of values like an image, where the pixel position is given by X which is the column and Y the row. The value is the pixel intensity. - - ns=1;i=7167 - ns=1;i=7168 - ns=1;i=2001 - - - - xAxisDefinition - Holds the information about the engineering units and range for the X-Axis. - - i=68 - i=78 - ns=1;i=2004 - - - - yAxisDefinition - Holds the information about the engineering units and range for the Y-Axis. - - i=68 - i=78 - ns=1;i=2004 - - - - CubeItemType - Cube of values like a spatial particle distribution, where the particle position is given by X which is the column, Y the row and Z the depth. The value is the particle size. - - ns=1;i=7177 - ns=1;i=7178 - ns=1;i=7179 - ns=1;i=2001 - - - - xAxisDefinition - Holds the information about the engineering units and range for the X-Axis. - - i=68 - i=78 - ns=1;i=2005 - - - - yAxisDefinition - Holds the information about the engineering units and range for the Y-Axis. - - i=68 - i=78 - ns=1;i=2005 - - - - zAxisDefinition - Holds the information about the engineering units and range for the Z-Axis. - - i=68 - i=78 - ns=1;i=2005 - - - - NDimensionArrayItemType - Generic multi-dimensional data type - - ns=1;i=7188 - ns=1;i=2001 - - - - axisDefinition - Holds the information about the engineering units and range for all axis. - - i=68 - i=78 - ns=1;i=2006 - - EngineeringValueType Expose key results of an analyser and the associated values that qualified it - ns=1;i=12482 + ns=1;i=13030 i=2365 - + <Identifier> + Point to the data source i=2365 i=11508 @@ -14749,15 +7899,15 @@ ChemometricModelType Hold the descriptions of a mathematical process and associated information to convert scaled data into one or more process values. - ns=1;i=7189 - ns=1;i=7190 - ns=1;i=7191 - ns=1;i=12485 - ns=1;i=12486 + ns=1;i=13033 + ns=1;i=13034 + ns=1;i=13035 + ns=1;i=13036 + ns=1;i=13037 i=63 - + Name i=68 @@ -14765,7 +7915,7 @@ ns=1;i=2007 - + CreationDate i=68 @@ -14773,152 +7923,49 @@ ns=1;i=2007 - - ModelDescription - - i=68 - i=78 - ns=1;i=2007 - - - - <User defined Input#> - - i=62 - i=11510 - ns=1;i=2007 - - - - <User defined Output#> - - i=62 - i=11510 - ns=1;i=2007 - - - - ProcessVariableType - Provides a stable address space view from the user point of view even if the ADI server address space changes, after the new configuration is loaded. - - i=2365 - - - - AxisInformation - Structure defining the information for auxiliary axis for array type variables. - - i=22 - - - - Holds the information about the engineering units for a given axis. - - - Limits of the range of the axis - - - User readable axis title, useful when the units are %, the Title may be “Particle size distribution” - - - Linear, log, ln, defined by AxisSteps - - - Specific value of each axis steps, may be set to “Null” if not used - - - - - AxisScaleEnumeration - Identify on which type of axis the data shall be displayed. - - ns=1;i=7194 - i=29 - - - - Linear scale - - - Log base 10 scale - - - Log base e scale - - - - - EnumStrings - - i=68 - i=78 - ns=1;i=3005 - - - - - - - LINEAR - - - - - LOG - - - - - LN - - - + + ModelDescription + + i=68 + i=78 + ns=1;i=2007 + - - XVType - Structure defining XY value like a list of peaks. + + <User defined Input#> + Point to model input parameters - i=22 + i=62 + i=11510 + ns=1;i=2007 - - - Position on the X axis this value - - - The value itself - - - - - ComplexType - Structure defining double IEEE 32 bits complex value + + + <User defined Output#> + Point to model output parameters - i=22 + i=62 + i=11510 + ns=1;i=2007 - - - Value real part - - - Value imaginary part - - - - - DoubleComplexType - Structure defining double IEEE 64 bits complex value + + + ProcessVariableType + Provides a stable address space view from the user point of view even if the ADI server address space changes, after the new configuration is loaded. - i=22 + ns=1;i=13040 + i=2365 - - - Value real part - - - Value imaginary part - - - + + + <Source> + Point to source parameter + + i=62 + i=11510 + ns=1;i=2008 + + HasDataSource TargetNode is providing the value for the SourceNode. @@ -14943,200 +7990,477 @@ OutputOf - - Default XML + + MVAModelType + Hold the descriptions of a mathematical process and associated information to convert scaled data into one or more process values. - ns=1;i=3004 - ns=1;i=9401 - i=76 + ns=1;i=13045 + ns=1;i=13046 + ns=1;i=2007 - - - Default XML + + + <User defined Output#> + Point to model output parameters - ns=1;i=3006 - ns=1;i=9404 - i=76 + ns=1;i=13049 + ns=1;i=2010 + i=11508 + ns=1;i=2009 - - - Default XML + + + AlarmState - ns=1;i=3007 - ns=1;i=9407 - i=76 + i=68 + i=78 + ns=1;i=13045 - - - Default XML + + + MainDataIndex + + i=68 + i=78 + ns=1;i=2009 + + + + MVAOutputParameterType + Hold the descriptions of a mathematical process and associated information to convert scaled data into one or more process values. - ns=1;i=3008 - ns=1;i=9410 - i=76 + ns=1;i=13054 + ns=1;i=13055 + ns=1;i=13056 + ns=1;i=13057 + ns=1;i=13058 + i=63 - - - Opc.Ua.Adi + + + WarningLimits - ns=1;i=9400 - ns=1;i=9401 - ns=1;i=9404 - ns=1;i=9407 - ns=1;i=9410 - i=92 - i=72 + i=68 + i=80 + ns=1;i=2010 - - PHhzOnNjaGVtYSANCiAgeG1sbnM6REk9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9VQS9ESS9UeXBlcy54c2QiDQogIHhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSINCiAgeG1sbnM6dWE9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9VQS8yMDA4LzAyL1R5cGVzLnhzZCIgDQogIHhtbG5zOnRucz0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VBL0FESS9UeXBlcy54c2QiIA0KICB0YXJnZXROYW1lc3BhY2U9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9VQS9BREkvVHlwZXMueHNkIiANCiAgZWxlbWVudEZvcm1EZWZhdWx0PSJxdWFsaWZpZWQiDQo+DQogIDx4czppbXBvcnQgbmFtZXNwYWNlPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvREkvVHlwZXMueHNkIiAvPg0KICA8eHM6aW1wb3J0IG5hbWVzcGFjZT0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VBLzIwMDgvMDIvVHlwZXMueHNkIiAvPg0KICANCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkV4ZWN1dGlvbkN5Y2xlRW51bWVyYXRpb24iPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJRExFXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRJQUdOT1NUSUNfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ0xFQU5JTkdfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ0FMSUJSQVRJT05fNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVkFMSURBVElPTl84IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTQU1QTElOR18xNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRElBR05PU1RJQ19XSVRIX0dSQUJfU0FNUExFXzMyNzY5IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDTEVBTklOR19XSVRIX0dSQUJfU0FNUExFXzMyNzcwIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDQUxJQlJBVElPTl9XSVRIX0dSQUJfU0FNUExFXzMyNzcyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJWQUxJREFUSU9OX1dJVEhfR1JBQl9TQU1QTEVfMzI3NzYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNBTVBMSU5HX1dJVEhfR1JBQl9TQU1QTEVfMzI3ODQiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFeGVjdXRpb25DeWNsZUVudW1lcmF0aW9uIiB0eXBlPSJ0bnM6RXhlY3V0aW9uQ3ljbGVFbnVtZXJhdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRXhlY3V0aW9uQ3ljbGVFbnVtZXJhdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXhlY3V0aW9uQ3ljbGVFbnVtZXJhdGlvbiIgdHlwZT0idG5zOkV4ZWN1dGlvbkN5Y2xlRW51bWVyYXRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRXhlY3V0aW9uQ3ljbGVFbnVtZXJhdGlvbiIgdHlwZT0idG5zOkxpc3RPZkV4ZWN1dGlvbkN5Y2xlRW51bWVyYXRpb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkRpYWdub3N0aWNTdGF0dXNFbnVtZXJhdGlvbiI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5PUk1BTF8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJNQUlOVEVOQU5DRV9SRVFVSVJFRF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJGQVVMVF8yIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY1N0YXR1c0VudW1lcmF0aW9uIiB0eXBlPSJ0bnM6RGlhZ25vc3RpY1N0YXR1c0VudW1lcmF0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZEaWFnbm9zdGljU3RhdHVzRW51bWVyYXRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNTdGF0dXNFbnVtZXJhdGlvbiIgdHlwZT0idG5zOkRpYWdub3N0aWNTdGF0dXNFbnVtZXJhdGlvbiIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZEaWFnbm9zdGljU3RhdHVzRW51bWVyYXRpb24iIHR5cGU9InRuczpMaXN0T2ZEaWFnbm9zdGljU3RhdHVzRW51bWVyYXRpb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkFjcXVpc2l0aW9uUmVzdWx0U3RhdHVzRW51bWVyYXRpb24iPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJTl9QUk9HUkVTU18wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJHT09EXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJBRF8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVTktOT1dOXzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlBBUlRJQUxfNCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFjcXVpc2l0aW9uUmVzdWx0U3RhdHVzRW51bWVyYXRpb24iIHR5cGU9InRuczpBY3F1aXNpdGlvblJlc3VsdFN0YXR1c0VudW1lcmF0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZBY3F1aXNpdGlvblJlc3VsdFN0YXR1c0VudW1lcmF0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBY3F1aXNpdGlvblJlc3VsdFN0YXR1c0VudW1lcmF0aW9uIiB0eXBlPSJ0bnM6QWNxdWlzaXRpb25SZXN1bHRTdGF0dXNFbnVtZXJhdGlvbiIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZBY3F1aXNpdGlvblJlc3VsdFN0YXR1c0VudW1lcmF0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mQWNxdWlzaXRpb25SZXN1bHRTdGF0dXNFbnVtZXJhdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQXhpc0luZm9ybWF0aW9uIj4NCiAgCTx4czphbm5vdGF0aW9uPg0KICAJICA8eHM6ZG9jdW1lbnRhdGlvbj5TdHJ1Y3R1cmUgZGVmaW5pbmcgdGhlIGluZm9ybWF0aW9uIGZvciBhdXhpbGlhcnkgYXhpcyBmb3IgYXJyYXkgdHlwZSB2YXJpYWJsZXMuPC94czpkb2N1bWVudGF0aW9uPg0KICAJPC94czphbm5vdGF0aW9uPg0KICAJPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5naW5lZXJpbmdVbml0cyIgdHlwZT0idWE6RVVJbmZvcm1hdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVVUmFuZ2UiIHR5cGU9InVhOlJhbmdlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0idGl0bGUiIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJheGlzU2NhbGVUeXBlIiB0eXBlPSJ0bnM6QXhpc1NjYWxlRW51bWVyYXRpb24iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9ImF4aXNTdGVwcyIgdHlwZT0idWE6TGlzdE9mRG91YmxlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAJPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXhpc0luZm9ybWF0aW9uIiB0eXBlPSJ0bnM6QXhpc0luZm9ybWF0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZBeGlzSW5mb3JtYXRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkF4aXNJbmZvcm1hdGlvbiIgdHlwZT0idG5zOkF4aXNJbmZvcm1hdGlvbiIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQXhpc0luZm9ybWF0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mQXhpc0luZm9ybWF0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJBeGlzU2NhbGVFbnVtZXJhdGlvbiI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5JZGVudGlmeSBvbiB3aGljaCB0eXBlIG9mIGF4aXMgdGhlIGRhdGEgc2hhbGwgYmUgZGlzcGxheWVkLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkxJTkVBUl8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJMT0dfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTE5fMiIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkF4aXNTY2FsZUVudW1lcmF0aW9uIiB0eXBlPSJ0bnM6QXhpc1NjYWxlRW51bWVyYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlhWVHlwZSI+DQogIAk8eHM6YW5ub3RhdGlvbj4NCiAgCSAgPHhzOmRvY3VtZW50YXRpb24+U3RydWN0dXJlIGRlZmluaW5nIFhZIHZhbHVlIGxpa2UgYSBsaXN0IG9mIHBlYWtzLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgCTwveHM6YW5ub3RhdGlvbj4NCiAgCTx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IngiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0idmFsdWUiIHR5cGU9InhzOmZsb2F0IiBtaW5PY2N1cnM9IjAiIC8+DQogIAk8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJYVlR5cGUiIHR5cGU9InRuczpYVlR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlhWVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iWFZUeXBlIiB0eXBlPSJ0bnM6WFZUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZYVlR5cGUiIHR5cGU9InRuczpMaXN0T2ZYVlR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNvbXBsZXhUeXBlIj4NCiAgCTx4czphbm5vdGF0aW9uPg0KICAJICA8eHM6ZG9jdW1lbnRhdGlvbj5TdHJ1Y3R1cmUgZGVmaW5pbmcgZG91YmxlIElFRUUgMzIgYml0cyBjb21wbGV4IHZhbHVlPC94czpkb2N1bWVudGF0aW9uPg0KICAJPC94czphbm5vdGF0aW9uPg0KICAJPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhbCIgdHlwZT0ieHM6ZmxvYXQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkltYWdpbmFyeSIgdHlwZT0ieHM6ZmxvYXQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgCTwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNvbXBsZXhUeXBlIiB0eXBlPSJ0bnM6Q29tcGxleFR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkNvbXBsZXhUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb21wbGV4VHlwZSIgdHlwZT0idG5zOkNvbXBsZXhUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZDb21wbGV4VHlwZSIgdHlwZT0idG5zOkxpc3RPZkNvbXBsZXhUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEb3VibGVDb21wbGV4VHlwZSI+DQogIAk8eHM6YW5ub3RhdGlvbj4NCiAgCSAgPHhzOmRvY3VtZW50YXRpb24+U3RydWN0dXJlIGRlZmluaW5nIGRvdWJsZSBJRUVFIDY0IGJpdHMgY29tcGxleCB2YWx1ZTwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgCTwveHM6YW5ub3RhdGlvbj4NCiAgCTx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlYWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW1hZ2luYXJ5IiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgCTwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRvdWJsZUNvbXBsZXhUeXBlIiB0eXBlPSJ0bnM6RG91YmxlQ29tcGxleFR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkRvdWJsZUNvbXBsZXhUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEb3VibGVDb21wbGV4VHlwZSIgdHlwZT0idG5zOkRvdWJsZUNvbXBsZXhUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZEb3VibGVDb21wbGV4VHlwZSIgdHlwZT0idG5zOkxpc3RPZkRvdWJsZUNvbXBsZXhUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KICANCjwveHM6c2NoZW1hPg== - - - NamespaceUri - A URI that uniquely identifies the dictionary. + + AlarmLimits i=68 - ns=1;i=9398 + i=80 + ns=1;i=2010 - - http://opcfoundation.org/UA/ADI/Types.xsd - - - AxisInformation + + AlarmState - i=69 - ns=1;i=9398 + i=68 + i=78 + ns=1;i=2010 - - //xs:element[@name='AxisInformation'] - - - XVType + + VendorSpecificError - i=69 - ns=1;i=9398 + i=68 + i=80 + ns=1;i=2010 - - //xs:element[@name='XVType'] - - - ComplexType + + Statistics - i=69 - ns=1;i=9398 + ns=1;i=13059 + ns=1;i=13060 + ns=1;i=13061 + ns=1;i=13062 + ns=1;i=2010 + i=11508 + ns=1;i=2010 - - //xs:element[@name='ComplexType'] - - - DoubleComplexType + + WarningLimits - i=69 - ns=1;i=9398 + i=68 + i=80 + ns=1;i=13058 - - //xs:element[@name='DoubleComplexType'] - - - Default Binary + + AlarmLimits - ns=1;i=3004 - ns=1;i=9386 - i=76 + i=68 + i=80 + ns=1;i=13058 - - - Default Binary + + + AlarmState - ns=1;i=3006 - ns=1;i=9389 - i=76 + i=68 + i=78 + ns=1;i=13058 - - - Default Binary + + + VendorSpecificError - ns=1;i=3007 - ns=1;i=9392 - i=76 + i=68 + i=80 + ns=1;i=13058 - - - Default Binary + + + AlarmStateEnumeration - ns=1;i=3008 - ns=1;i=9395 - i=76 + ns=1;i=13063 + i=29 - - + + + Normal + + + In low warning range + + + In high warning range + + + In warning range (low or high) or some other warning cause + + + In low alarm range + + + In high alarm range + + + In alarm range (low or high) or some other alarm cause + + + + + EnumValues + + i=68 + i=78 + ns=1;i=3009 + + + + + + i=7616 + + + + 0 + + + + NORMAL_0 + + + + + Normal + + + + + + + i=7616 + + + + 1 + + + + WARNING_LOW_1 + + + + + In low warning range + + + + + + + i=7616 + + + + 2 + + + + WARNING_HIGH_2 + + + + + In high warning range + + + + + + + i=7616 + + + + 4 + + + + WARNING_4 + + + + + In warning range (low or high) or some other warning cause + + + + + + + i=7616 + + + + 8 + + + + ALARM_LOW_8 + + + + + In low alarm range + + + + + + + i=7616 + + + + 16 + + + + ALARM_HIGH_16 + + + + + In high alarm range + + + + + + + i=7616 + + + + 32 + + + + ALARM_32 + + + + + In alarm range (low or high) or some other alarm cause + + + + + + + + Opc.Ua.Adi - ns=1;i=9385 - ns=1;i=9386 - ns=1;i=9389 - ns=1;i=9392 - ns=1;i=9395 + ns=1;i=13069 + ns=1;i=8001 i=93 i=72 - PG9wYzpUeXBlRGljdGlvbmFyeQ0KICB4bWxuczpEST0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VBL0RJLyINCiAgeG1sbnM6b3BjPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvQmluYXJ5U2NoZW1hLyINCiAgeG1sbnM6dWE9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9VQS8yMDA4LzAyL1R5cGVzLmJzZCINCiAgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSINCiAgeG1sbnM6dG5zPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvQURJLyINCiAgRGVmYXVsdEJ5dGVPcmRlcj0iTGl0dGxlRW5kaWFuIg0KICBUYXJnZXROYW1lc3BhY2U9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9VQS9BREkvIiAgDQo+DQogIDxvcGM6SW1wb3J0IE5hbWVzcGFjZT0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VBL0RJLyIgTG9jYXRpb249Ik9wYy5VYS5EaS5CaW5hcnlTY2hlbWEuYnNkIi8+DQogIDxvcGM6SW1wb3J0IE5hbWVzcGFjZT0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VBLyIgTG9jYXRpb249Ik9wYy5VYS5CaW5hcnlTY2hlbWEuYnNkIi8+DQogIA0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkV4ZWN1dGlvbkN5Y2xlRW51bWVyYXRpb24iIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IklETEUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRJQUdOT1NUSUMiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkNMRUFOSU5HIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDQUxJQlJBVElPTiIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVkFMSURBVElPTiIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU0FNUExJTkciIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJESUFHTk9TVElDX1dJVEhfR1JBQl9TQU1QTEUiIFZhbHVlPSIzMjc2OSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDTEVBTklOR19XSVRIX0dSQUJfU0FNUExFIiBWYWx1ZT0iMzI3NzAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ0FMSUJSQVRJT05fV0lUSF9HUkFCX1NBTVBMRSIgVmFsdWU9IjMyNzcyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZBTElEQVRJT05fV0lUSF9HUkFCX1NBTVBMRSIgVmFsdWU9IjMyNzc2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNBTVBMSU5HX1dJVEhfR1JBQl9TQU1QTEUiIFZhbHVlPSIzMjc4NCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJEaWFnbm9zdGljU3RhdHVzRW51bWVyYXRpb24iIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5PUk1BTCIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTUFJTlRFTkFOQ0VfUkVRVUlSRUQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkZBVUxUIiBWYWx1ZT0iMiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJBY3F1aXNpdGlvblJlc3VsdFN0YXR1c0VudW1lcmF0aW9uIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJTl9QUk9HUkVTUyIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iR09PRCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQkFEIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVTktOT1dOIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJQQVJUSUFMIiBWYWx1ZT0iNCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBeGlzSW5mb3JtYXRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5TdHJ1Y3R1cmUgZGVmaW5pbmcgdGhlIGluZm9ybWF0aW9uIGZvciBhdXhpbGlhcnkgYXhpcyBmb3IgYXJyYXkgdHlwZSB2YXJpYWJsZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZ2luZWVyaW5nVW5pdHMiIFR5cGVOYW1lPSJ1YTpFVUluZm9ybWF0aW9uIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRVVSYW5nZSIgVHlwZU5hbWU9InVhOlJhbmdlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0idGl0bGUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iYXhpc1NjYWxlVHlwZSIgVHlwZU5hbWU9InRuczpBeGlzU2NhbGVFbnVtZXJhdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZheGlzU3RlcHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJheGlzU3RlcHMiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiBMZW5ndGhGaWVsZD0iTm9PZmF4aXNTdGVwcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJBeGlzU2NhbGVFbnVtZXJhdGlvbiIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPklkZW50aWZ5IG9uIHdoaWNoIHR5cGUgb2YgYXhpcyB0aGUgZGF0YSBzaGFsbCBiZSBkaXNwbGF5ZWQuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJMSU5FQVIiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkxPRyIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTE4iIFZhbHVlPSIyIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlhWVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlN0cnVjdHVyZSBkZWZpbmluZyBYWSB2YWx1ZSBsaWtlIGEgbGlzdCBvZiBwZWFrcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0ieCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJ2YWx1ZSIgVHlwZU5hbWU9Im9wYzpGbG9hdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDb21wbGV4VHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlN0cnVjdHVyZSBkZWZpbmluZyBkb3VibGUgSUVFRSAzMiBiaXRzIGNvbXBsZXggdmFsdWU8L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVhbCIgVHlwZU5hbWU9Im9wYzpGbG9hdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkltYWdpbmFyeSIgVHlwZU5hbWU9Im9wYzpGbG9hdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEb3VibGVDb21wbGV4VHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlN0cnVjdHVyZSBkZWZpbmluZyBkb3VibGUgSUVFRSA2NCBiaXRzIGNvbXBsZXggdmFsdWU8L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbWFnaW5hcnkiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCiAgDQo8L29wYzpUeXBlRGljdGlvbmFyeT4= - - - + PG9wYzpUeXBlRGljdGlvbmFyeQ0KICB4bWxuczpEST0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3Jn +L1VBL0RJLyINCiAgeG1sbnM6b3BjPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvQmluYXJ5U2No +ZW1hLyINCiAgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0 +YW5jZSINCiAgeG1sbnM6dWE9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9VQS8iDQogIHhtbG5z +OnRucz0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VBL0FESS8iDQogIERlZmF1bHRCeXRlT3Jk +ZXI9IkxpdHRsZUVuZGlhbiINCiAgVGFyZ2V0TmFtZXNwYWNlPSJodHRwOi8vb3BjZm91bmRhdGlv +bi5vcmcvVUEvQURJLyINCj4NCiAgPG9wYzpJbXBvcnQgTmFtZXNwYWNlPSJodHRwOi8vb3BjZm91 +bmRhdGlvbi5vcmcvVUEvREkvIiBMb2NhdGlvbj0iT3BjLlVhLkRpLkJpbmFyeVNjaGVtYS5ic2Qi +Lz4NCiAgPG9wYzpJbXBvcnQgTmFtZXNwYWNlPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEv +IiBMb2NhdGlvbj0iT3BjLlVhLkJpbmFyeVNjaGVtYS5ic2QiLz4NCg0KICA8b3BjOkVudW1lcmF0 +ZWRUeXBlIE5hbWU9IkV4ZWN1dGlvbkN5Y2xlRW51bWVyYXRpb24iIExlbmd0aEluQml0cz0iMzIi +Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IklETEUiIFZhbHVlPSIwIiAvPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRJQUdOT1NUSUMiIFZhbHVlPSIxIiAvPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkNMRUFOSU5HIiBWYWx1ZT0iMiIgLz4NCiAgICA8 +b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDQUxJQlJBVElPTiIgVmFsdWU9IjQiIC8+DQogICAg +PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVkFMSURBVElPTiIgVmFsdWU9IjgiIC8+DQogICAg +PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU0FNUExJTkciIFZhbHVlPSIxNiIgLz4NCiAgICA8 +b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJESUFHTk9TVElDX1dJVEhfR1JBQl9TQU1QTEUiIFZh +bHVlPSIzMjc2OSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDTEVBTklOR19X +SVRIX0dSQUJfU0FNUExFIiBWYWx1ZT0iMzI3NzAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs +dWUgTmFtZT0iQ0FMSUJSQVRJT05fV0lUSF9HUkFCX1NBTVBMRSIgVmFsdWU9IjMyNzcyIiAvPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZBTElEQVRJT05fV0lUSF9HUkFCX1NBTVBM +RSIgVmFsdWU9IjMyNzc2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNBTVBM +SU5HX1dJVEhfR1JBQl9TQU1QTEUiIFZhbHVlPSIzMjc4NCIgLz4NCiAgPC9vcGM6RW51bWVyYXRl +ZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJBY3F1aXNpdGlvblJlc3VsdFN0 +YXR1c0VudW1lcmF0aW9uIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJOT1RfVVNFRCIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs +dWUgTmFtZT0iR09PRCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt +ZT0iQkFEIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVTktO +T1dOIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJQQVJUSUFM +IiBWYWx1ZT0iNCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJh +dGVkVHlwZSBOYW1lPSJBbGFybVN0YXRlRW51bWVyYXRpb24iIExlbmd0aEluQml0cz0iMzIiPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5PUk1BTF8wIiBWYWx1ZT0iMCIgLz4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJXQVJOSU5HX0xPV18xIiBWYWx1ZT0iMSIgLz4N +CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJXQVJOSU5HX0hJR0hfMiIgVmFsdWU9IjIi +IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iV0FSTklOR180IiBWYWx1ZT0iNCIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBTEFSTV9MT1dfOCIgVmFsdWU9Ijgi +IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQUxBUk1fSElHSF8xNiIgVmFsdWU9 +IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFMQVJNXzMyIiBWYWx1ZT0i +MzIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQo8L29wYzpUeXBlRGljdGlvbmFyeT4= + + + NamespaceUri A URI that uniquely identifies the dictionary. i=68 - ns=1;i=9383 + ns=1;i=13067 http://opcfoundation.org/UA/ADI/ - - AxisInformation + + Deprecated + Indicates that all of the definitions for the dictionary are available through a DataTypeDefinition Attribute. - i=69 - ns=1;i=9383 + i=68 + ns=1;i=13067 - AxisInformation + true - - XVType + + Opc.Ua.Adi - i=69 - ns=1;i=9383 + ns=1;i=13066 + ns=1;i=8003 + i=92 + i=72 - XVType - - - - ComplexType + PHhzOnNjaGVtYQ0KICB4bWxuczpEST0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VBL0RJL1R5 +cGVzLnhzZCINCiAgeG1sbnM6eHM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIg0K +ICB4bWxuczp1YT0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VBLzIwMDgvMDIvVHlwZXMueHNk +Ig0KICB4bWxuczp0bnM9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9VQS9BREkvVHlwZXMueHNk +Ig0KICB0YXJnZXROYW1lc3BhY2U9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9VQS9BREkvVHlw +ZXMueHNkIg0KICBlbGVtZW50Rm9ybURlZmF1bHQ9InF1YWxpZmllZCINCj4NCiAgPHhzOmltcG9y +dCBuYW1lc3BhY2U9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9VQS9ESS9UeXBlcy54c2QiIC8+ +DQogIDx4czppbXBvcnQgbmFtZXNwYWNlPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvMjAw +OC8wMi9UeXBlcy54c2QiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkV4ZWN1dGlvbkN5 +Y2xlRW51bWVyYXRpb24iPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0K +ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJRExFXzAiIC8+DQogICAgICA8eHM6ZW51bWVy +YXRpb24gdmFsdWU9IkRJQUdOT1NUSUNfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 +ZT0iQ0xFQU5JTkdfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ0FMSUJSQVRJ +T05fNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVkFMSURBVElPTl84IiAvPg0K +ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTQU1QTElOR18xNiIgLz4NCiAgICAgIDx4czpl +bnVtZXJhdGlvbiB2YWx1ZT0iRElBR05PU1RJQ19XSVRIX0dSQUJfU0FNUExFXzMyNzY5IiAvPg0K +ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDTEVBTklOR19XSVRIX0dSQUJfU0FNUExFXzMy +NzcwIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDQUxJQlJBVElPTl9XSVRIX0dS +QUJfU0FNUExFXzMyNzcyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJWQUxJREFU +SU9OX1dJVEhfR1JBQl9TQU1QTEVfMzI3NzYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs +dWU9IlNBTVBMSU5HX1dJVEhfR1JBQl9TQU1QTEVfMzI3ODQiIC8+DQogICAgPC94czpyZXN0cmlj +dGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFeGVjdXRpb25D +eWNsZUVudW1lcmF0aW9uIiB0eXBlPSJ0bnM6RXhlY3V0aW9uQ3ljbGVFbnVtZXJhdGlvbiIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRXhlY3V0aW9uQ3ljbGVFbnVtZXJhdGlv +biI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXhlY3V0aW9u +Q3ljbGVFbnVtZXJhdGlvbiIgdHlwZT0idG5zOkV4ZWN1dGlvbkN5Y2xlRW51bWVyYXRpb24iIG1p +bk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRXhlY3V0aW9u +Q3ljbGVFbnVtZXJhdGlvbiIgdHlwZT0idG5zOkxpc3RPZkV4ZWN1dGlvbkN5Y2xlRW51bWVyYXRp +b24iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5h +bWU9IkFjcXVpc2l0aW9uUmVzdWx0U3RhdHVzRW51bWVyYXRpb24iPg0KICAgIDx4czpyZXN0cmlj +dGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOT1Rf +VVNFRF8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJHT09EXzEiIC8+DQogICAg +ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJBRF8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u +IHZhbHVlPSJVTktOT1dOXzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlBBUlRJ +QUxfNCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9IkFjcXVpc2l0aW9uUmVzdWx0U3RhdHVzRW51bWVyYXRpb24iIHR5cGU9 +InRuczpBY3F1aXNpdGlvblJlc3VsdFN0YXR1c0VudW1lcmF0aW9uIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJMaXN0T2ZBY3F1aXNpdGlvblJlc3VsdFN0YXR1c0VudW1lcmF0aW9uIj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBY3F1aXNpdGlvblJl +c3VsdFN0YXR1c0VudW1lcmF0aW9uIiB0eXBlPSJ0bnM6QWNxdWlzaXRpb25SZXN1bHRTdGF0dXNF +bnVtZXJhdGlvbiIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM +aXN0T2ZBY3F1aXNpdGlvblJlc3VsdFN0YXR1c0VudW1lcmF0aW9uIiB0eXBlPSJ0bnM6TGlzdE9m +QWNxdWlzaXRpb25SZXN1bHRTdGF0dXNFbnVtZXJhdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6 +ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iQWxhcm1TdGF0ZUVudW1lcmF0aW9u +Ij4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVt +ZXJhdGlvbiB2YWx1ZT0iTk9STUFMXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +IldBUk5JTkdfTE9XXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IldBUk5JTkdf +SElHSF8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJXQVJOSU5HXzQiIC8+DQog +ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFMQVJNX0xPV184IiAvPg0KICAgICAgPHhzOmVu +dW1lcmF0aW9uIHZhbHVlPSJBTEFSTV9ISUdIXzE2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u +IHZhbHVlPSJBTEFSTV8zMiIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBs +ZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFsYXJtU3RhdGVFbnVtZXJhdGlvbiIgdHlwZT0i +dG5zOkFsYXJtU3RhdGVFbnVtZXJhdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i +TGlzdE9mQWxhcm1TdGF0ZUVudW1lcmF0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJBbGFybVN0YXRlRW51bWVyYXRpb24iIHR5cGU9InRuczpBbGFybVN0 +YXRlRW51bWVyYXRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQog +ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iTGlzdE9mQWxhcm1TdGF0ZUVudW1lcmF0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mQWxhcm1TdGF0 +ZUVudW1lcmF0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQo8L3hzOnNjaGVt +YT4= + + + + NamespaceUri + A URI that uniquely identifies the dictionary. - i=69 - ns=1;i=9383 + i=68 + ns=1;i=13064 - ComplexType + http://opcfoundation.org/UA/ADI/Types.xsd - - DoubleComplexType + + Deprecated + Indicates that all of the definitions for the dictionary are available through a DataTypeDefinition Attribute. - i=69 - ns=1;i=9383 + i=68 + ns=1;i=13064 - DoubleComplexType + true diff --git a/schemas/Opc.Ua.Adi.Types.bsd b/schemas/Opc.Ua.Adi.Types.bsd index 10944c050..4226440c7 100644 --- a/schemas/Opc.Ua.Adi.Types.bsd +++ b/schemas/Opc.Ua.Adi.Types.bsd @@ -31,15 +31,15 @@ - + @@ -54,53 +54,22 @@ - - - - - - - + - - Structure defining the information for auxiliary axis for array type variables. - - - - - - - - - - Identify on which type of axis the data shall be displayed. - - - + + + + + + + + - - Structure defining XY value like a list of peaks. - - - - - - Structure defining double IEEE 32 bits complex value - - - - - - Structure defining double IEEE 64 bits complex value - - - - diff --git a/schemas/Opc.Ua.Adi.Types.xsd b/schemas/Opc.Ua.Adi.Types.xsd index c766c1afa..c91d10721 100644 --- a/schemas/Opc.Ua.Adi.Types.xsd +++ b/schemas/Opc.Ua.Adi.Types.xsd @@ -28,17 +28,17 @@ * http://opcfoundation.org/License/MIT/1.00/ --> - - + @@ -63,25 +63,9 @@ - - - - - - - - - - - - - - - - - + @@ -97,91 +81,24 @@ - - - Structure defining the information for auxiliary axis for array type variables. - - - - - - - - - - - - - - - - - - - - - Identify on which type of axis the data shall be displayed. - + - - - + + + + + + + - - - - - Structure defining XY value like a list of peaks. - - - - - - - + - + - + - + - - - Structure defining double IEEE 32 bits complex value - - - - - - - - - - - - - - - - - - Structure defining double IEEE 64 bits complex value - - - - - - - - - - - - - - - diff --git a/schemas/Opc.Ua.Endpoints.wsdl b/schemas/Opc.Ua.Endpoints.wsdl index f0d33fb4a..bcc3b59a6 100644 --- a/schemas/Opc.Ua.Endpoints.wsdl +++ b/schemas/Opc.Ua.Endpoints.wsdl @@ -10,8 +10,6 @@ xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:wsa10="http://www.w3.org/2005/08/addressing" > - - diff --git a/schemas/Opc.Ua.NodeSet2.Part10.xml b/schemas/Opc.Ua.NodeSet2.Part10.xml index 88ed481f5..e6f7925ff 100644 --- a/schemas/Opc.Ua.NodeSet2.Part10.xml +++ b/schemas/Opc.Ua.NodeSet2.Part10.xml @@ -28,9 +28,9 @@ * http://opcfoundation.org/License/MIT/1.00/ --> - + - + i=1 @@ -84,10 +84,10 @@ i=2398 i=2399 i=3850 + i=2406 i=2400 i=2402 i=2404 - i=2406 i=2408 i=2410 i=2412 @@ -185,7 +185,7 @@ AutoDelete i=68 - i=79 + i=78 i=2391 @@ -218,7 +218,7 @@ i=2391 - + ProgramDiagnostics i=3840 @@ -229,9 +229,11 @@ i=3845 i=3846 i=3847 + i=15038 + i=15040 i=3848 i=3849 - i=2380 + i=15383 i=80 i=2391 @@ -300,6 +302,22 @@ i=2399 + + LastMethodInputValues + + i=68 + i=78 + i=2399 + + + + LastMethodOutputValues + + i=68 + i=78 + i=2399 + + LastMethodCallTime @@ -308,7 +326,7 @@ i=2399 - + LastMethodReturnStatus i=68 @@ -324,6 +342,30 @@ i=2391 + + Halted + The Program is in a terminal or failed state, and it cannot be started or resumed without being reset. + + i=2407 + i=2408 + i=2412 + i=2420 + i=2424 + i=2307 + i=2391 + + + + StateNumber + + i=68 + i=78 + i=2406 + + + 11 + + Ready The Program is properly initialized and may be started. @@ -346,7 +388,7 @@ i=2400 - 1 + 12 @@ -371,7 +413,7 @@ i=2402 - 2 + 13 @@ -395,31 +437,7 @@ i=2404 - 3 - - - - Halted - The Program is in a terminal or failed state, and it cannot be started or resumed without being reset. - - i=2407 - i=2408 - i=2412 - i=2420 - i=2424 - i=2307 - i=2391 - - - - StateNumber - - i=68 - i=78 - i=2406 - - - 4 + 14 @@ -632,7 +650,7 @@ Causes the Program to transition from the Ready state to the Running state. i=2410 - i=78 + i=11508 i=2391 @@ -641,7 +659,7 @@ Causes the Program to transition from the Running state to the Suspended state. i=2416 - i=78 + i=11508 i=2391 @@ -650,7 +668,7 @@ Causes the Program to transition from the Suspended state to the Running state. i=2418 - i=78 + i=11508 i=2391 @@ -661,7 +679,7 @@ i=2412 i=2420 i=2424 - i=78 + i=11508 i=2391 @@ -670,7 +688,7 @@ Causes the Program to transition from the Halted state to the Ready state. i=2408 - i=78 + i=11508 i=2391 @@ -792,7 +810,7 @@ i=2380 - + LastMethodInputArguments i=68 @@ -800,7 +818,7 @@ i=2380 - + LastMethodOutputArguments i=68 @@ -816,7 +834,7 @@ i=2380 - + LastMethodReturnStatus i=68 @@ -824,6 +842,120 @@ i=2380 + + ProgramDiagnostic2Type + + 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=68 + i=78 + i=15383 + + + + CreateClientName + + i=68 + i=78 + i=15383 + + + + InvocationCreationTime + + i=68 + i=78 + i=15383 + + + + LastTransitionTime + + i=68 + i=78 + i=15383 + + + + LastMethodCall + + i=68 + i=78 + i=15383 + + + + LastMethodSessionId + + i=68 + i=78 + i=15383 + + + + LastMethodInputArguments + + i=68 + i=78 + i=15383 + + + + LastMethodOutputArguments + + i=68 + i=78 + i=15383 + + + + LastMethodInputValues + + i=68 + i=78 + i=15383 + + + + LastMethodOutputValues + + i=68 + i=78 + i=15383 + + + + LastMethodCallTime + + i=68 + i=78 + i=15383 + + + + LastMethodReturnStatus + + i=68 + i=78 + i=15383 + + ProgramDiagnosticDataType @@ -842,6 +974,42 @@ + + ProgramDiagnostic2DataType + + i=22 + + + + + + + + + + + + + + + + + + Default Binary + + i=894 + i=8247 + i=76 + + + + Default Binary + + i=15396 + i=15398 + i=76 + + Default XML @@ -850,11 +1018,25 @@ i=76 - - Default Binary + + Default XML + + i=15396 + i=15402 + i=76 + + + + Default JSON i=894 - i=8247 + i=76 + + + + Default JSON + + i=15396 i=76 diff --git a/schemas/Opc.Ua.NodeSet2.Part11.xml b/schemas/Opc.Ua.NodeSet2.Part11.xml index 5966c6b3b..afdf19362 100644 --- a/schemas/Opc.Ua.NodeSet2.Part11.xml +++ b/schemas/Opc.Ua.NodeSet2.Part11.xml @@ -28,9 +28,9 @@ * http://opcfoundation.org/License/MIT/1.00/ --> - + - + i=1 @@ -803,6 +803,14 @@ + + Default Binary + + i=891 + i=8244 + i=76 + + Default XML @@ -811,11 +819,10 @@ i=76 - - Default Binary + + Default JSON i=891 - i=8244 i=76 diff --git a/schemas/Opc.Ua.NodeSet2.Part13.xml b/schemas/Opc.Ua.NodeSet2.Part13.xml index c0cccc11c..bc63dd635 100644 --- a/schemas/Opc.Ua.NodeSet2.Part13.xml +++ b/schemas/Opc.Ua.NodeSet2.Part13.xml @@ -28,9 +28,9 @@ * http://opcfoundation.org/License/MIT/1.00/ --> - + - + i=1 diff --git a/schemas/Opc.Ua.NodeSet2.Part3.xml b/schemas/Opc.Ua.NodeSet2.Part3.xml index f00f04665..bf43b70eb 100644 --- a/schemas/Opc.Ua.NodeSet2.Part3.xml +++ b/schemas/Opc.Ua.NodeSet2.Part3.xml @@ -28,9 +28,9 @@ * http://opcfoundation.org/License/MIT/1.00/ --> - + - + i=1 @@ -256,16 +256,16 @@ i=24 - + Image Describes a value that is an image encoded as a string of bytes. i=15 - - Decimal128 - Describes a 128-bit decimal value. + + Decimal + Describes an arbitrary precision decimal value. i=26 @@ -291,7 +291,7 @@ HierarchicalReferences - + HasChild The abstract base type for all non-looping hierarchical references. @@ -353,7 +353,7 @@ i=32 - GeneratesEvent + GeneratedBy AlwaysGeneratesEvent @@ -361,9 +361,9 @@ i=41 - AlwaysGeneratesEvent + AlwaysGeneratedBy - + Aggregates The type for non-looping hierarchical references that are used to aggregate nodes into complex types. @@ -546,7 +546,14 @@ MaxStringLength - The maximum length for a string that can be stored in the owning variable. + The maximum number of bytes supported by the DataVariable. + + i=68 + + + + MaxCharacters + The maximum number of Unicode characters supported by the DataVariable. i=68 @@ -607,6 +614,13 @@ i=68 + + DefaultInputValues + Specifies the default values for optional input arguments. + + i=68 + + ImageBMP An image encoded in BMP format. @@ -635,6 +649,13 @@ i=30 + + AudioDataType + An image encoded in PNG format. + + i=15 + + IdType The type of identifier used in a node id. @@ -918,6 +939,496 @@ + + PermissionType + + i=15030 + i=5 + + + + + + + + + + + + + + + + + + + + + + + + + OptionSetValues + + i=68 + i=78 + i=94 + + + + + + + Browse + + + + + ReadRolePermissions + + + + + WriteAttribute + + + + + WriteRolePermissions + + + + + WriteHistorizing + + + + + Read + + + + + Write + + + + + ReadHistory + + + + + InsertHistory + + + + + ModifyHistory + + + + + DeleteHistory + + + + + ReceiveEvents + + + + + Call + + + + + AddReference + + + + + RemoveReference + + + + + DeleteNode + + + + + AddNode + + + + + + AccessLevelType + + i=15032 + i=3 + + + + + + + + + + + + + OptionSetValues + + i=68 + i=78 + i=15031 + + + + + + + CurrentRead + + + + + CurrentWrite + + + + + HistoryRead + + + + + Reserved + + + + + HistoryWrite + + + + + StatusWrite + + + + + TimestampWrite + + + + + + AccessLevelExType + + i=15407 + i=7 + + + + + + + + + + + + + + + + OptionSetValues + + i=68 + i=78 + i=15406 + + + + + + + CurrentRead + + + + + CurrentWrite + + + + + HistoryRead + + + + + Reserved + + + + + HistoryWrite + + + + + StatusWrite + + + + + TimestampWrite + + + + + Reserved + + + + + Reserved + + + + + Reserved + + + + + Reserved + + + + + Reserved + + + + + Reserved + + + + + Reserved + + + + + Reserved + + + + + Reserved + + + + + NonatomicRead + + + + + NonatomicWrite + + + + + WriteFullArrayOnly + + + + + + EventNotifierType + + i=15034 + i=7 + + + + + + + + + + OptionSetValues + + i=68 + i=78 + i=15033 + + + + + + + SubscribeToEvents + + + + + Reserved + + + + + HistoryRead + + + + + HistoryWrite + + + + + + AccessRestrictionType + + i=15035 + i=7 + + + + + + + + + + OptionSetValues + + i=68 + i=78 + i=95 + + + + + + + SigningRequired + + + + + EncryptionRequired + + + + + SessionRequired + + + + + + RolePermissionType + + i=22 + + + + + + + + DataTypeDefinition + + i=22 + + + + StructureType + + i=14528 + i=29 + + + + + + + + + EnumStrings + + i=68 + i=78 + i=98 + + + + + + + Structure + + + + + StructureWithOptionalFields + + + + + Union + + + + + + StructureField + + i=22 + + + + + + + + + + + + + StructureDefinition + + i=97 + + + + + + + + + + EnumDefinition + + i=97 + + + + + Argument An argument for a method. @@ -960,6 +1471,15 @@ + + EnumField + + i=7594 + + + + + OptionSet This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask. @@ -1048,6 +1568,134 @@ + + 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=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=12756 + i=12770 + i=76 + + + + Default Binary + + i=8912 + i=8914 + 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 @@ -1064,6 +1712,14 @@ i=76 + + Default XML + + i=102 + i=14826 + i=76 + + Default XML @@ -1088,43 +1744,80 @@ i=76 - - Default Binary + + 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=296 - i=7650 i=76 - - Default Binary + + Default JSON i=7594 - i=7656 i=76 - - Default Binary + + Default JSON + + i=102 + i=76 + + + + Default JSON i=12755 - i=12767 i=76 - - Default Binary + + Default JSON i=12756 - i=12770 i=76 - - Default Binary + + Default JSON i=8912 - i=8914 i=76 diff --git a/schemas/Opc.Ua.NodeSet2.Part4.xml b/schemas/Opc.Ua.NodeSet2.Part4.xml index 5e32a0fac..c07e7acfd 100644 --- a/schemas/Opc.Ua.NodeSet2.Part4.xml +++ b/schemas/Opc.Ua.NodeSet2.Part4.xml @@ -28,9 +28,9 @@ * http://opcfoundation.org/License/MIT/1.00/ --> - + - + i=1 @@ -188,6 +188,12 @@ + + VersionTime + + i=7 + + ServerOnNetwork @@ -418,7 +424,7 @@ i=12890 - + The name for server that is broadcast via mDNS. @@ -487,7 +493,7 @@ i=17 - + UserIdentityToken A base type for a user identity token. @@ -512,7 +518,7 @@ i=316 - + The user name. @@ -530,7 +536,7 @@ i=316 - + The certificate. @@ -542,7 +548,7 @@ i=316 - + The XML token encrypted with the server certificate. @@ -628,31 +634,40 @@ The value attribute is specified. - + + The write mask attribute is specified. + + + The write mask attribute is specified. + + + The write mask attribute is specified. + + All attributes are specified. - + All base attributes are specified. - + All object attributes are specified. - - All object type or data type attributes are specified. + + All object type attributes are specified. - + All variable attributes are specified. - + All variable type attributes are specified. - + All method attributes are specified. - + All reference type attributes are specified. - + All view attributes are specified. @@ -1132,7 +1147,67 @@ - 4194303 + 4194304 + + + + DataTypeDefinition + + + + + The write mask attribute is specified. + + + + + + + i=7616 + + + + 8388608 + + + + RolePermissions + + + + + The write mask attribute is specified. + + + + + + + i=7616 + + + + 16777216 + + + + AccessRestrictions + + + + + The write mask attribute is specified. + + + + + + + i=7616 + + + + 33554431 @@ -1152,7 +1227,7 @@ - 1335396 + 26501220 @@ -1172,7 +1247,7 @@ - 1335524 + 26501348 @@ -1192,16 +1267,16 @@ - 1337444 + 26503268 - ObjectTypeOrDataType + ObjectType - All object type or data type attributes are specified. + All object type attributes are specified. @@ -1212,7 +1287,7 @@ - 4026999 + 26571383 @@ -1232,7 +1307,7 @@ - 3958902 + 28600438 @@ -1252,7 +1327,7 @@ - 1466724 + 26632548 @@ -1272,7 +1347,7 @@ - 1371236 + 26537060 @@ -1292,7 +1367,7 @@ - 1335532 + 26501356 @@ -1409,10 +1484,10 @@ AttributeWriteMask Define bits used to indicate which attributes are writable. - i=11882 - i=29 + i=15036 + i=7 - + No attributes are writable. @@ -1482,478 +1557,160 @@ The value attribute is writable. + + The DataTypeDefinition attribute is writable. + + + The RolePermissions attribute is writable. + + + The AccessRestrictions attribute is writable. + + + The AccessLevelEx attribute is writable. + - - EnumValues + + OptionSetValues i=68 i=78 i=347 - - - - i=7616 - - - - 0 - - - - None - - - - - No attributes are writable. - - - - - - - i=7616 - - - - 1 - - - - AccessLevel - - - - - The access level attribute is writable. - - - - - - - i=7616 - - - - 2 - - - - ArrayDimensions - - - - - The array dimensions attribute is writable. - - - - - - - i=7616 - - - - 4 - - - - BrowseName - - - - - The browse name attribute is writable. - - - - - - - i=7616 - - - - 8 - - - - ContainsNoLoops - - - - - The contains no loops attribute is writable. - - - - - - - i=7616 - - - - 16 - - - - DataType - - - - - The data type attribute is writable. - - - - - - - i=7616 - - - - 32 - - - - Description - - - - - The description attribute is writable. - - - - - - - i=7616 - - - - 64 - - - - DisplayName - - - - - The display name attribute is writable. - - - - - - - i=7616 - - - - 128 - - - - EventNotifier - - - - - The event notifier attribute is writable. - - - - - - - i=7616 - - - - 256 - - - - Executable - - - - - The executable attribute is writable. - - - - - - - i=7616 - - - - 512 - - - - Historizing - - - - - The historizing attribute is writable. - - - - - - - i=7616 - - - - 1024 - - - - InverseName - - - - - The inverse name attribute is writable. - - - - - - - i=7616 - - - - 2048 - - - - IsAbstract - - - - - The is abstract attribute is writable. - - - - - - - i=7616 - - - - 4096 - - - - MinimumSamplingInterval - - - - - The minimum sampling interval attribute is writable. - - - - - - - i=7616 - - - - 8192 - - - - NodeClass - - - - - The node class attribute is writable. - - - - - - - i=7616 - - - - 16384 - - - - NodeId - - - - - The node id attribute is writable. - - - - - - - i=7616 - - - - 32768 - - - - Symmetric - - - - - The symmetric attribute is writable. - - - - - - - i=7616 - - - - 65536 - - - - UserAccessLevel - - - - - The user access level attribute is writable. - - - - - - - i=7616 - - - - 131072 - - - - UserExecutable - - - - - The user executable attribute is writable. - - - - - - - i=7616 - - - - 262144 - - - - UserWriteMask - - - - - The user write mask attribute is writable. - - - - - - - i=7616 - - - - 524288 - - - - ValueRank - - - - - The value rank attribute is writable. - - - - - - - i=7616 - - - - 1048576 - - - - WriteMask - - - - - The write mask attribute is writable. - - - - - - - i=7616 - - - - 2097152 - - - - ValueForVariableType - - - - - The value attribute is writable. - - - - - + + + + + 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 + + @@ -2200,7 +1957,7 @@ i=589 - + @@ -2209,7 +1966,7 @@ i=589 - + @@ -2218,7 +1975,7 @@ i=589 - + @@ -2231,7 +1988,7 @@ i=589 - + @@ -2250,22 +2007,111 @@ HistoryUpdateType - i=11884 + i=11884 + i=29 + + + + + + + + + + EnumValues + + i=68 + i=78 + i=11234 + + + + + + i=7616 + + + + 1 + + + + Insert + + + + + + + + i=7616 + + + + 2 + + + + Replace + + + + + + + + i=7616 + + + + 3 + + + + Update + + + + + + + + i=7616 + + + + 4 + + + + Delete + + + + + + + + + + PerformUpdateType + + i=11885 i=29 - + - + - + EnumValues i=68 i=78 - i=11234 + i=11293 @@ -2327,7 +2173,7 @@ - Delete + Remove @@ -2336,133 +2182,300 @@ - - PerformUpdateType + + MonitoringFilter + + i=22 + + + + EventFilter + + i=719 + + + + + + + + AggregateConfiguration + + i=22 + + + + + + + + + + + HistoryEventFieldList + + i=22 + + + + + + + Default Binary + + i=308 + i=7665 + i=76 + + + + Default Binary + + i=12189 + i=12213 + i=76 + + + + Default Binary + + i=304 + i=7662 + i=76 + + + + Default Binary + + i=312 + i=7668 + i=76 + + + + Default Binary + + i=432 + i=7782 + i=76 + + + + Default Binary + + i=12890 + i=12902 + i=76 + + + + Default Binary + + i=12891 + i=12905 + i=76 + + + + Default Binary + + i=344 + i=7698 + 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=376 + i=7728 + i=76 + + + + Default Binary + + i=379 + i=7731 + i=76 + + + + Default Binary + + i=382 + i=7734 + i=76 + + + + Default Binary + + i=385 + i=7737 + i=76 + + + + Default Binary + + i=537 + i=12718 + i=76 + + + + Default Binary + + i=540 + i=12721 + i=76 + + + + Default Binary + + i=331 + i=7686 + 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=11885 - i=29 + i=598 + i=7944 + i=76 - - - - - - - - - EnumValues + + + Default Binary - i=68 - i=78 - i=11293 + i=601 + i=7947 + i=76 - - - - - i=7616 - - - - 1 - - - - Insert - - - - - - - - i=7616 - - - - 2 - - - - Replace - - - - - - - - i=7616 - - - - 3 - - - - Update - - - - - - - - i=7616 - - - - 4 - - - - Remove - - - - - - - - - - MonitoringFilter + + + Default Binary - i=22 + i=659 + i=8004 + i=76 - - - EventFilter + + + Default Binary - i=719 + i=719 + i=8067 + i=76 - - - - - - - AggregateConfiguration + + + Default Binary - i=22 + i=725 + i=8073 + i=76 - - - - - - - - - - HistoryEventFieldList + + + Default Binary - i=22 + i=948 + i=8076 + i=76 - - - - + + + Default Binary + + i=920 + i=8172 + i=76 + + Default XML @@ -2719,259 +2732,227 @@ i=76 - - Default Binary + + Default JSON i=308 - i=7665 i=76 - - Default Binary + + Default JSON i=12189 - i=12213 i=76 - - Default Binary + + Default JSON i=304 - i=7662 i=76 - - Default Binary + + Default JSON i=312 - i=7668 i=76 - - Default Binary + + Default JSON i=432 - i=7782 i=76 - - Default Binary + + Default JSON i=12890 - i=12902 i=76 - - Default Binary + + Default JSON i=12891 - i=12905 i=76 - - Default Binary + + Default JSON i=344 - i=7698 i=76 - - Default Binary + + Default JSON i=316 - i=7671 i=76 - - Default Binary + + Default JSON i=319 - i=7674 i=76 - - Default Binary + + Default JSON i=322 - i=7677 i=76 - - Default Binary + + Default JSON i=325 - i=7680 i=76 - - Default Binary + + Default JSON i=938 - i=7683 i=76 - - Default Binary + + Default JSON i=376 - i=7728 i=76 - - Default Binary + + Default JSON i=379 - i=7731 i=76 - - Default Binary + + Default JSON i=382 - i=7734 i=76 - - Default Binary + + Default JSON i=385 - i=7737 i=76 - - Default Binary + + Default JSON i=537 - i=12718 i=76 - - Default Binary + + Default JSON i=540 - i=12721 i=76 - - Default Binary + + Default JSON i=331 - i=7686 i=76 - - Default Binary + + Default JSON i=583 - i=7929 i=76 - - Default Binary + + Default JSON i=586 - i=7932 i=76 - - Default Binary + + Default JSON i=589 - i=7935 i=76 - - Default Binary + + Default JSON i=592 - i=7938 i=76 - - Default Binary + + Default JSON i=595 - i=7941 i=76 - - Default Binary + + Default JSON i=598 - i=7944 i=76 - - Default Binary + + Default JSON i=601 - i=7947 i=76 - - Default Binary + + Default JSON i=659 - i=8004 i=76 - - Default Binary + + Default JSON i=719 - i=8067 i=76 - - Default Binary + + Default JSON i=725 - i=8073 i=76 - - Default Binary + + Default JSON i=948 - i=8076 i=76 - - Default Binary + + Default JSON i=920 - i=8172 i=76 diff --git a/schemas/Opc.Ua.NodeSet2.Part5.xml b/schemas/Opc.Ua.NodeSet2.Part5.xml index 0b2dcc64b..2e3c759ae 100644 --- a/schemas/Opc.Ua.NodeSet2.Part5.xml +++ b/schemas/Opc.Ua.NodeSet2.Part5.xml @@ -28,9 +28,9 @@ * http://opcfoundation.org/License/MIT/1.00/ --> - + - + i=1 @@ -173,6 +173,7 @@ i=106 i=107 + i=15001 i=63 @@ -194,6 +195,15 @@ i=72 + + Deprecated + Indicates that all of the definitions for the dictionary are available through a DataTypeDefinition Attribute. + + i=68 + i=80 + i=72 + + DataTypeSystemType @@ -423,16 +433,138 @@ i=75 + + 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 + The URI of the namespace. + + i=68 + i=15957 + + + http://opcfoundation.org/UA/ + + + + NamespaceVersion + The human readable string representing version of the namespace. + + i=68 + i=15957 + + + 1.04 + + + + NamespacePublicationDate + The publication date for the namespace. + + i=68 + i=15957 + + + 2017-11-22 + + + + IsNamespaceSubset + If TRUE then the server only supports a subset of the namespace. + + i=68 + i=15957 + + + false + + + + StaticNodeIdTypes + A list of IdTypes for nodes which are the same in every server that exposes them. + + i=68 + i=15957 + + + + 0 + + + + + StaticNumericNodeIdRange + A list of ranges for numeric node ids which are the same in every server that exposes them. + + i=68 + i=15957 + + + + 1:65535 + + + + + StaticStringNodeIdPattern + A regular expression which matches string node ids are the same in every server that exposes them. + + i=68 + i=15957 + + + + + + + + DefaultRolePermissions + + i=68 + i=15957 + + + + DefaultUserRolePermissions + + i=68 + i=15957 + + + + DefaultAccessRestrictions + + i=68 + i=15957 + + ServerType Specifies the current status and capabilities of the server. i=2005 i=2006 + i=15003 i=2007 i=2008 i=2742 i=12882 + i=17612 i=2009 i=2010 i=2011 @@ -463,6 +595,15 @@ i=2004 + + UrisVersion + Defines the version of the ServerArray and the NamespaceArray. + + i=68 + i=80 + i=2004 + + ServerStatus The current status of the server. @@ -607,6 +748,15 @@ i=2004 + + LocalTime + Indicates the time zone the Server is is running in. + + i=68 + i=80 + i=2004 + + ServerCapabilities Describes capabilities supported by the server. @@ -874,7 +1024,7 @@ i=3111 - + EnabledFlag If TRUE the diagnostics collection is enabled. @@ -1236,6 +1386,7 @@ i=2019 i=2754 i=11562 + i=16295 i=58 @@ -1364,6 +1515,134 @@ i=2013 + + Roles + Describes the roles supported by the server. + + 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 The diagnostics information for a server. @@ -1540,7 +1819,7 @@ i=2744 - + EnabledFlag If TRUE the diagnostics collection is enabled. @@ -3212,57 +3491,185 @@ - - FileDirectoryType + + AddressSpaceFileType + A file used to store a namespace exported from the server. - i=13354 - i=13366 - i=13387 - i=13390 - i=13393 - i=13395 - i=61 + i=11615 + i=11575 - - <FileDirectoryName> + + ExportNamespace + Updates the file by exporting the server namespace. - i=13355 - i=13358 - i=13361 - i=13363 - i=13353 - i=11508 - i=13353 + i=80 + i=11595 - - - CreateDirectory + + + NamespaceMetadataType + Provides the metadata for a namespace used by the server. - i=13356 - i=13357 - i=78 - i=13354 + i=11617 + i=11618 + i=11619 + i=11620 + i=11621 + i=11622 + i=11623 + i=11624 + i=16137 + i=16138 + i=16139 + i=58 - - - InputArguments + + + NamespaceUri + The URI of the namespace. i=68 i=78 - i=13355 + i=11616 - - - + + + NamespaceVersion + The human readable string representing version of the namespace. + + i=68 + i=78 + i=11616 + + + + NamespacePublicationDate + The publication date for the namespace. + + i=68 + i=78 + i=11616 + + + + IsNamespaceSubset + If TRUE then the server only supports a subset of the namespace. + + i=68 + i=78 + i=11616 + + + + StaticNodeIdTypes + A list of IdTypes for nodes which are the same in every server that exposes them. + + i=68 + i=78 + i=11616 + + + + StaticNumericNodeIdRange + A list of ranges for numeric node ids which are the same in every server that exposes them. + + i=68 + i=78 + i=11616 + + + + StaticStringNodeIdPattern + A regular expression which matches string node ids are the same in every server that exposes them. + + i=68 + i=78 + i=11616 + + + + NamespaceFile + A file containing the nodes of the namespace. + + 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 + The size of the file in bytes. + + i=68 + i=78 + i=11624 + + + + Writable + Whether the file is writable. + + i=68 + i=78 + i=11624 + + + + UserWritable + Whether the file is writable by the current user. + + i=68 + i=78 + i=11624 + + + + OpenCount + The current number of open file handles. + + i=68 + i=78 + i=11624 + + + + Open + + i=11630 + i=11631 + i=78 + i=11624 + + + + InputArguments + + i=68 + i=78 + i=11629 + + + + i=297 - DirectoryName + Mode - i=12 + i=3 -1 @@ -3273,12 +3680,12 @@ - + OutputArguments i=68 i=78 - i=13355 + i=11629 @@ -3288,9 +3695,9 @@ - DirectoryNodeId + FileHandle - i=17 + i=7 -1 @@ -3301,21 +3708,20 @@ - - CreateFile + + Close - i=13359 - i=13360 + i=11633 i=78 - i=13354 + i=11624 - + InputArguments i=68 i=78 - i=13358 + i=11632 @@ -3325,25 +3731,9 @@ - FileName - - i=12 - - -1 - - - - - - - - i=297 - - - - RequestFileOpen + FileHandle - i=1 + i=7 -1 @@ -3354,12 +3744,21 @@ - - OutputArguments + + Read + + i=11635 + i=11636 + i=78 + i=11624 + + + + InputArguments i=68 i=78 - i=13358 + i=11634 @@ -3369,9 +3768,9 @@ - FileNodeId + FileHandle - i=17 + i=7 -1 @@ -3385,9 +3784,9 @@ - FileHandle + Length - i=7 + i=6 -1 @@ -3398,20 +3797,12 @@ - - Delete - - i=13362 - i=78 - i=13354 - - - - InputArguments + + OutputArguments i=68 i=78 - i=13361 + i=11634 @@ -3421,9 +3812,9 @@ - ObjectToDelete + Data - i=17 + i=15 -1 @@ -3434,21 +3825,20 @@ - - MoveOrCopy + + Write - i=13364 - i=13365 + i=11638 i=78 - i=13354 + i=11624 - + InputArguments i=68 i=78 - i=13363 + i=11637 @@ -3458,9 +3848,9 @@ - ObjectToMoveOrCopy + FileHandle - i=17 + i=7 -1 @@ -3474,9 +3864,9 @@ - TargetDirectory + Data - i=17 + i=15 -1 @@ -3484,31 +3874,36 @@ + + + + + GetPosition + + i=11640 + i=11641 + i=78 + i=11624 + + + + InputArguments + + i=68 + i=78 + i=11639 + + + i=297 - CreateCopy + FileHandle - i=1 - - -1 - - - - - - - - i=297 - - - - NewName - - i=12 + i=7 -1 @@ -3519,12 +3914,12 @@ - + OutputArguments i=68 i=78 - i=13363 + i=11639 @@ -3534,9 +3929,9 @@ - NewNodeId + Position - i=17 + i=9 -1 @@ -3547,75 +3942,20 @@ - - <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 - The size of the file in bytes. - - i=68 - i=78 - i=13366 - - - - Writable - Whether the file is writable. - - i=68 - i=78 - i=13366 - - - - UserWritable - Whether the file is writable by the current user. - - i=68 - i=78 - i=13366 - - - - OpenCount - The current number of open file handles. - - i=68 - i=78 - i=13366 - - - - Open + + SetPosition - i=13373 - i=13374 + i=11643 i=78 - i=13366 + i=11624 - + InputArguments i=68 i=78 - i=13372 + i=11642 @@ -3625,9 +3965,9 @@ - Mode + FileHandle - i=3 + i=7 -1 @@ -3635,27 +3975,15 @@ - - - - - OutputArguments - - i=68 - i=78 - i=13372 - - - i=297 - FileHandle + Position - i=7 + i=9 -1 @@ -3666,4992 +3994,4323 @@ - - Close + + DefaultRolePermissions - i=13376 + i=68 + i=80 + i=11616 + + + + DefaultUserRolePermissions + + i=68 + i=80 + i=11616 + + + + DefaultAccessRestrictions + + i=68 + i=80 + i=11616 + + + + NamespacesType + A container for the namespace metadata provided by the server. + + 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 + The URI of the namespace. + + i=68 i=78 - i=13366 + i=11646 - - - InputArguments + + + NamespaceVersion + The human readable string representing version of the namespace. i=68 i=78 - i=13375 + i=11646 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - Read + + NamespacePublicationDate + The publication date for the namespace. - i=13378 - i=13379 + i=68 i=78 - i=13366 + i=11646 - - - InputArguments + + + IsNamespaceSubset + If TRUE then the server only supports a subset of the namespace. i=68 i=78 - i=13377 + i=11646 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Length - - i=6 - - -1 - - - - - - - - - OutputArguments + + StaticNodeIdTypes + A list of IdTypes for nodes which are the same in every server that exposes them. i=68 i=78 - i=13377 + i=11646 - - - - - i=297 - - - - Data - - i=15 - - -1 - - - - - - - - - Write + + StaticNumericNodeIdRange + A list of ranges for numeric node ids which are the same in every server that exposes them. - i=13381 + i=68 i=78 - i=13366 + i=11646 - - - InputArguments + + + StaticStringNodeIdPattern + A regular expression which matches string node ids are the same in every server that exposes them. i=68 i=78 - i=13380 + i=11646 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Data - - i=15 - - -1 - - - - - - - - - GetPosition + + BaseEventType + The base type for all events. - i=13383 - i=13384 + i=2042 + i=2043 + i=2044 + i=2045 + i=2046 + i=2047 + i=3190 + i=2050 + i=2051 + i=58 + + + + EventId + A globally unique identifier for the event. + + i=68 i=78 - i=13366 + i=2041 - - - InputArguments + + + EventType + The identifier for the event type. i=68 i=78 - i=13382 + i=2041 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - OutputArguments + + SourceNode + The source of the event. i=68 i=78 - i=13382 + i=2041 - - - - - i=297 - - - - Position - - i=9 - - -1 - - - - - - - - - SetPosition + + SourceName + A description of the source of the event. - i=13386 + i=68 i=78 - i=13366 + i=2041 - - - InputArguments + + + Time + When the event occurred. i=68 i=78 - i=13385 + i=2041 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Position - - i=9 - - -1 - - - - - - - - - CreateDirectory + + ReceiveTime + When the server received the event from the underlying system. - i=13388 - i=13389 + i=68 i=78 - i=13353 + i=2041 - - - InputArguments + + + LocalTime + Information about the local time where the event originated. i=68 i=78 - i=13387 + i=2041 - - - - - i=297 - - - - DirectoryName - - i=12 - - -1 - - - - - - - - - OutputArguments + + Message + A localized description of the event. i=68 i=78 - i=13387 + i=2041 - - - - - i=297 - - - - DirectoryNodeId - - i=17 - - -1 - - - - - - - - - CreateFile + + Severity + Indicates how urgent an event is. - i=13391 - i=13392 + i=68 i=78 - i=13353 + i=2041 - - - InputArguments + + + AuditEventType + A base type for events used to track client initiated changes to the server state. + + i=2053 + i=2054 + i=2055 + i=2056 + i=2057 + i=2041 + + + + ActionTimeStamp + When the action triggering the event occurred. i=68 i=78 - i=13390 + i=2052 - - - - - i=297 - - - - FileName - - i=12 - - -1 - - - - - - - - i=297 - - - - RequestFileOpen - - i=1 - - -1 - - - - - - - - - OutputArguments + + Status + If TRUE the action was performed. If FALSE the action failed and the server state did not change. i=68 i=78 - i=13390 + i=2052 - - - - - i=297 - - - - FileNodeId - - i=17 - - -1 - - - - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - Delete + + ServerId + The unique identifier for the server generating the event. - i=13394 + i=68 i=78 - i=13353 + i=2052 - - - InputArguments + + + ClientAuditEntryId + The log entry id provided in the request that initiated the action. i=68 i=78 - i=13393 + i=2052 - - - - - i=297 - - - - ObjectToDelete - - i=17 - - -1 - - - - - - - - - MoveOrCopy + + ClientUserId + The user identity associated with the session that initiated the action. - i=13396 - i=13397 + i=68 i=78 - i=13353 + i=2052 - - - InputArguments + + + AuditSecurityEventType + A base type for events used to track security related changes. + + i=17615 + i=2052 + + + + StatusCodeId i=68 - i=78 - i=13395 + i=80 + i=2058 - - - - - 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 - - - - - - - - - - AddressSpaceFileType - A file used to store a namespace exported from the server. + + AuditChannelEventType + A base type for events used to track related changes to a secure channel. - i=11615 - i=11575 + i=2745 + i=2058 - - ExportNamespace - Updates the file by exporting the server namespace. + + SecureChannelId + The identifier for the secure channel that was changed. - i=80 - i=11595 + i=68 + i=78 + i=2059 - - - NamespaceMetadataType - Provides the metadata for a namespace used by the server. + + + AuditOpenSecureChannelEventType + An event that is raised when a secure channel is opened. - i=11617 - i=11618 - i=11619 - i=11620 - i=11621 - i=11622 - i=11623 - i=11624 - i=58 + i=2061 + i=2746 + i=2062 + i=2063 + i=2065 + i=2066 + i=2059 - - NamespaceUri - The URI of the namespace. + + ClientCertificate + The certificate provided by the client. i=68 i=78 - i=11616 + i=2060 - - NamespaceVersion - The human readable string representing version of the namespace. + + ClientCertificateThumbprint + The thumbprint for certificate provided by the client. i=68 i=78 - i=11616 + i=2060 - - NamespacePublicationDate - The publication date for the namespace. + + RequestType + The type of request (NEW or RENEW). i=68 i=78 - i=11616 + i=2060 - - IsNamespaceSubset - If TRUE then the server only supports a subset of the namespace. + + SecurityPolicyUri + The security policy used by the channel. i=68 i=78 - i=11616 + i=2060 - - StaticNodeIdTypes - A list of IdTypes for nodes which are the same in every server that exposes them. + + SecurityMode + The security mode used by the channel. i=68 i=78 - i=11616 + i=2060 - - StaticNumericNodeIdRange - A list of ranges for numeric node ids which are the same in every server that exposes them. + + RequestedLifetime + The lifetime of the channel requested by the client. i=68 i=78 - i=11616 + i=2060 - - StaticStringNodeIdPattern - A regular expression which matches string node ids are the same in every server that exposes them. + + AuditSessionEventType + A base type for events used to track related changes to a session. + + i=2070 + i=2058 + + + + SessionId + The unique identifier for the session,. i=68 i=78 - i=11616 + i=2069 - - NamespaceFile - A file containing the nodes of the namespace. + + AuditCreateSessionEventType + An event that is raised when a session is created. - 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 + i=2072 + i=2073 + i=2747 + i=2074 + i=2069 - - - Size - The size of the file in bytes. + + + SecureChannelId + The secure channel associated with the session. i=68 i=78 - i=11624 + i=2071 - - Writable - Whether the file is writable. + + ClientCertificate + The certificate provided by the client. i=68 i=78 - i=11624 + i=2071 - - UserWritable - Whether the file is writable by the current user. + + ClientCertificateThumbprint + The thumbprint of the certificate provided by the client. i=68 i=78 - i=11624 + i=2071 - - OpenCount - The current number of open file handles. + + RevisedSessionTimeout + The timeout for the session. i=68 i=78 - i=11624 + i=2071 - - Open + + AuditUrlMismatchEventType - i=11630 - i=11631 + i=2749 + i=2071 + + + + EndpointUrl + + i=68 i=78 - i=11624 + i=2748 - - - InputArguments + + + AuditActivateSessionEventType + + i=2076 + i=2077 + i=11485 + i=2069 + + + + ClientSoftwareCertificates i=68 i=78 - i=11629 + i=2075 - - - - - i=297 - - - - Mode - - i=3 - - -1 - - - - - - - - - OutputArguments + + UserIdentityToken i=68 i=78 - i=11629 + i=2075 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - Close - - i=11633 - i=78 - i=11624 - - - - InputArguments + + SecureChannelId i=68 i=78 - i=11632 + i=2075 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - Read - - i=11635 - i=11636 - i=78 - i=11624 - - - - InputArguments + + AuditCancelEventType - i=68 - i=78 - i=11634 + i=2079 + i=2069 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Length - - i=6 - - -1 - - - - - - - - - - OutputArguments + + + RequestHandle i=68 i=78 - i=11634 + i=2078 - - - - - i=297 - - - - Data - - i=15 - - -1 - - - - - - - - - Write + + AuditCertificateEventType - i=11638 - i=78 - i=11624 + i=2081 + i=2058 - - - InputArguments + + + Certificate i=68 i=78 - i=11637 + i=2080 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Data - - i=15 - - -1 - - - - - - - - - GetPosition + + AuditCertificateDataMismatchEventType - i=11640 - i=11641 - i=78 - i=11624 + i=2083 + i=2084 + i=2080 - - - InputArguments + + + InvalidHostname i=68 i=78 - i=11639 + i=2082 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - OutputArguments + + InvalidUri i=68 i=78 - i=11639 + i=2082 - - - - - i=297 - - - - Position - - i=9 - - -1 - - - - - - - - - SetPosition + + AuditCertificateExpiredEventType - i=11643 - i=78 - i=11624 + i=2080 - - - InputArguments + + + AuditCertificateInvalidEventType - i=68 - i=78 - i=11642 + i=2080 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Position - - i=9 - - -1 - - - - - - - - - - NamespacesType - A container for the namespace metadata provided by the server. + + + AuditCertificateUntrustedEventType - i=11646 - i=11675 - i=58 + i=2080 - - <NamespaceIdentifier> + + AuditCertificateRevokedEventType - i=11647 - i=11648 - i=11649 - i=11650 - i=11651 - i=11652 - i=11653 - i=11616 - i=11508 - i=11645 + i=2080 - - - NamespaceUri - The URI of the namespace. + + + AuditCertificateMismatchEventType + + i=2080 + + + + AuditNodeManagementEventType + + i=2052 + + + + AuditAddNodesEventType + + i=2092 + i=2090 + + + + NodesToAdd i=68 i=78 - i=11646 + i=2091 - - NamespaceVersion - The human readable string representing version of the namespace. + + AuditDeleteNodesEventType + + i=2094 + i=2090 + + + + NodesToDelete i=68 i=78 - i=11646 + i=2093 - - NamespacePublicationDate - The publication date for the namespace. + + AuditAddReferencesEventType + + i=2096 + i=2090 + + + + ReferencesToAdd i=68 i=78 - i=11646 + i=2095 - - IsNamespaceSubset - If TRUE then the server only supports a subset of the namespace. + + AuditDeleteReferencesEventType + + i=2098 + i=2090 + + + + ReferencesToDelete i=68 i=78 - i=11646 + i=2097 - - StaticNodeIdTypes - A list of IdTypes for nodes which are the same in every server that exposes them. + + AuditUpdateEventType + + i=2052 + + + + AuditWriteUpdateEventType + + i=2750 + i=2101 + i=2102 + i=2103 + i=2099 + + + + AttributeId i=68 i=78 - i=11646 + i=2100 - - StaticNumericNodeIdRange - A list of ranges for numeric node ids which are the same in every server that exposes them. + + IndexRange i=68 i=78 - i=11646 + i=2100 - - StaticStringNodeIdPattern - A regular expression which matches string node ids are the same in every server that exposes them. + + OldValue i=68 i=78 - i=11646 + i=2100 - - AddressSpaceFile - A file containing the nodes of the namespace. - - i=11676 - i=12694 - i=12695 - i=11679 - i=11680 - i=11683 - i=11685 - i=11688 - i=11690 - i=11693 - i=11595 - i=80 - i=11645 - - - - Size - The size of the file in bytes. + + NewValue i=68 i=78 - i=11675 + i=2100 - - Writable - Whether the file is writable. + + AuditHistoryUpdateEventType + + i=2751 + i=2099 + + + + ParameterDataTypeId i=68 i=78 - i=11675 + i=2104 - - UserWritable - Whether the file is writable by the current user. + + AuditUpdateMethodEventType + + i=2128 + i=2129 + i=2052 + + + + MethodId i=68 i=78 - i=11675 + i=2127 - - OpenCount - The current number of open file handles. + + InputArguments i=68 i=78 - i=11675 + i=2127 - - Open + + SystemEventType - i=11681 - i=11682 - i=78 - i=11675 + i=2041 - - - InputArguments + + + DeviceFailureEventType + + i=2130 + + + + SystemStatusChangeEventType + + i=11696 + i=2130 + + + + SystemState i=68 i=78 - i=11680 + i=11446 - - - - - i=297 - - - - Mode - - i=3 - - -1 - - - - - - - - - OutputArguments + + BaseModelChangeEventType + + i=2041 + + + + GeneralModelChangeEventType + + i=2134 + i=2132 + + + + Changes i=68 i=78 - i=11680 + i=2133 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - Close + + SemanticChangeEventType - i=11684 - i=78 - i=11675 + i=2739 + i=2132 - - - InputArguments + + + Changes i=68 i=78 - i=11683 + i=2738 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - Read + + EventQueueOverflowEventType - i=11686 - i=11687 - i=78 - i=11675 + i=2041 - - - InputArguments + + + ProgressEventType + + i=12502 + i=12503 + i=2041 + + + + Context i=68 i=78 - i=11685 + i=11436 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Length - - i=6 - - -1 - - - - - - - - - OutputArguments + + Progress i=68 i=78 - i=11685 + i=11436 - - - - - i=297 - - - - Data - - i=15 - - -1 - - - - - - - - - Write + + AggregateFunctionType - i=11689 - i=78 - i=11675 + i=58 - - - InputArguments + + + ServerVendorCapabilityType - i=68 - i=78 - i=11688 + i=63 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Data - - i=15 - - -1 - - - - - - - - - - GetPosition + + + ServerStatusType - i=11691 - i=11692 - i=78 - i=11675 + i=2139 + i=2140 + i=2141 + i=2142 + i=2752 + i=2753 + i=63 - - - InputArguments + + + StartTime - i=68 + i=63 i=78 - i=11690 + i=2138 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - OutputArguments + + CurrentTime - i=68 + i=63 i=78 - i=11690 + i=2138 - - - - - i=297 - - - - Position - - i=9 - - -1 - - - - - - - - - SetPosition - - i=11694 - i=78 - i=11675 - - - - InputArguments + + State - i=68 + i=63 i=78 - i=11693 + i=2138 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Position - - i=9 - - -1 - - - - - - - - - BaseEventType - The base type for all events. - - i=2042 - i=2043 - i=2044 - i=2045 - i=2046 - i=2047 - i=3190 - i=2050 - i=2051 - i=58 - - - - EventId - A globally unique identifier for the event. + + BuildInfo - i=68 + i=3698 + i=3699 + i=3700 + i=3701 + i=3702 + i=3703 + i=3051 i=78 - i=2041 + i=2138 - - EventType - The identifier for the event type. + + ProductUri - i=68 + i=63 i=78 - i=2041 + i=2142 - - SourceNode - The source of the event. + + ManufacturerName - i=68 + i=63 i=78 - i=2041 + i=2142 - - SourceName - A description of the source of the event. + + ProductName - i=68 + i=63 i=78 - i=2041 + i=2142 - - Time - When the event occurred. + + SoftwareVersion - i=68 + i=63 i=78 - i=2041 + i=2142 - - ReceiveTime - When the server received the event from the underlying system. + + BuildNumber - i=68 + i=63 i=78 - i=2041 + i=2142 - - LocalTime - Information about the local time where the event originated. + + BuildDate - i=68 + i=63 i=78 - i=2041 + i=2142 - - Message - A localized description of the event. + + SecondsTillShutdown - i=68 + i=63 i=78 - i=2041 + i=2138 - - Severity - Indicates how urgent an event is. + + ShutdownReason - i=68 + i=63 i=78 - i=2041 + i=2138 - - AuditEventType - A base type for events used to track client initiated changes to the server state. + + BuildInfoType - i=2053 - i=2054 - i=2055 - i=2056 - i=2057 - i=2041 + i=3052 + i=3053 + i=3054 + i=3055 + i=3056 + i=3057 + i=63 - - - ActionTimeStamp - When the action triggering the event occurred. + + + ProductUri - i=68 + i=63 i=78 - i=2052 + i=3051 - - Status - If TRUE the action was performed. If FALSE the action failed and the server state did not change. + + ManufacturerName - i=68 + i=63 i=78 - i=2052 + i=3051 - - ServerId - The unique identifier for the server generating the event. + + ProductName - i=68 + i=63 i=78 - i=2052 + i=3051 - - ClientAuditEntryId - The log entry id provided in the request that initiated the action. + + SoftwareVersion - i=68 + i=63 i=78 - i=2052 + i=3051 - - ClientUserId - The user identity associated with the session that initiated the action. + + BuildNumber - i=68 + i=63 i=78 - i=2052 + i=3051 - - AuditSecurityEventType - A base type for events used to track security related changes. + + BuildDate - i=2052 + i=63 + i=78 + i=3051 - - - AuditChannelEventType - A base type for events used to track related changes to a secure channel. + + + ServerDiagnosticsSummaryType - i=2745 - i=2058 - - - - SecureChannelId - The identifier for the secure channel that was changed. + 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=68 + i=63 i=78 - i=2059 + i=2150 - - AuditOpenSecureChannelEventType - An event that is raised when a secure channel is opened. - - i=2061 - i=2746 - i=2062 - i=2063 - i=2065 - i=2066 - i=2059 - - - - ClientCertificate - The certificate provided by the client. + + CurrentSessionCount - i=68 + i=63 i=78 - i=2060 + i=2150 - - ClientCertificateThumbprint - The thumbprint for certificate provided by the client. + + CumulatedSessionCount - i=68 + i=63 i=78 - i=2060 + i=2150 - - RequestType - The type of request (NEW or RENEW). + + SecurityRejectedSessionCount - i=68 + i=63 i=78 - i=2060 + i=2150 - - SecurityPolicyUri - The security policy used by the channel. + + RejectedSessionCount - i=68 + i=63 i=78 - i=2060 + i=2150 - - SecurityMode - The security mode used by the channel. + + SessionTimeoutCount - i=68 + i=63 i=78 - i=2060 + i=2150 - - RequestedLifetime - The lifetime of the channel requested by the client. + + SessionAbortCount - i=68 + i=63 i=78 - i=2060 + i=2150 - - AuditSessionEventType - A base type for events used to track related changes to a session. - - i=2070 - i=2058 - - - - SessionId - The unique identifier for the session,. + + PublishingIntervalCount - i=68 + i=63 i=78 - i=2069 + i=2150 - - AuditCreateSessionEventType - An event that is raised when a session is created. - - i=2072 - i=2073 - i=2747 - i=2074 - i=2069 - - - - SecureChannelId - The secure channel associated with the session. + + CurrentSubscriptionCount - i=68 + i=63 i=78 - i=2071 + i=2150 - - ClientCertificate - The certificate provided by the client. + + CumulatedSubscriptionCount - i=68 + i=63 i=78 - i=2071 + i=2150 - - ClientCertificateThumbprint - The thumbprint of the certificate provided by the client. + + SecurityRejectedRequestsCount - i=68 + i=63 i=78 - i=2071 + i=2150 - - RevisedSessionTimeout - The timeout for the session. + + RejectedRequestsCount - i=68 + i=63 i=78 - i=2071 + i=2150 - - AuditUrlMismatchEventType + + SamplingIntervalDiagnosticsArrayType - i=2749 - i=2071 + i=12779 + i=63 - - - EndpointUrl + + + SamplingIntervalDiagnostics - i=68 - i=78 - i=2748 + i=12780 + i=12781 + i=12782 + i=12783 + i=2165 + i=83 + i=2164 - - AuditActivateSessionEventType + + SamplingInterval - i=2076 - i=2077 - i=11485 - i=2069 + i=63 + i=78 + i=12779 - - - ClientSoftwareCertificates + + + SampledMonitoredItemsCount - i=68 + i=63 i=78 - i=2075 + i=12779 - - UserIdentityToken + + MaxSampledMonitoredItemsCount - i=68 + i=63 i=78 - i=2075 + i=12779 - - SecureChannelId + + DisabledMonitoredItemsSamplingCount - i=68 + i=63 i=78 - i=2075 + i=12779 - - AuditCancelEventType + + SamplingIntervalDiagnosticsType - i=2079 - i=2069 + i=2166 + i=11697 + i=11698 + i=11699 + i=63 - - - RequestHandle + + + SamplingInterval - i=68 + i=63 i=78 - i=2078 + i=2165 - - AuditCertificateEventType + + SampledMonitoredItemsCount - i=2081 - i=2058 + i=63 + i=78 + i=2165 - - - Certificate + + + MaxSampledMonitoredItemsCount - i=68 + i=63 i=78 - i=2080 + i=2165 - - AuditCertificateDataMismatchEventType - - i=2083 - i=2084 - i=2080 - - - - InvalidHostname + + DisabledMonitoredItemsSamplingCount - i=68 + i=63 i=78 - i=2082 + i=2165 - - InvalidUri + + SubscriptionDiagnosticsArrayType - i=68 - i=78 - i=2082 + i=12784 + i=63 - - - AuditCertificateExpiredEventType + + + SubscriptionDiagnostics - i=2080 + 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 - - - AuditCertificateInvalidEventType + + + SessionId - i=2080 + i=63 + i=78 + i=12784 - - - AuditCertificateUntrustedEventType + + + SubscriptionId - i=2080 + i=63 + i=78 + i=12784 - - - AuditCertificateRevokedEventType + + + Priority - i=2080 + i=63 + i=78 + i=12784 - - - AuditCertificateMismatchEventType + + + PublishingInterval - i=2080 + i=63 + i=78 + i=12784 - - - AuditNodeManagementEventType + + + MaxKeepAliveCount - i=2052 + i=63 + i=78 + i=12784 - - - AuditAddNodesEventType + + + MaxLifetimeCount - i=2092 - i=2090 + i=63 + i=78 + i=12784 - - - NodesToAdd + + + MaxNotificationsPerPublish - i=68 + i=63 i=78 - i=2091 + i=12784 - - AuditDeleteNodesEventType + + PublishingEnabled - i=2094 - i=2090 + i=63 + i=78 + i=12784 - - - NodesToDelete + + + ModifyCount - i=68 + i=63 i=78 - i=2093 + i=12784 - - AuditAddReferencesEventType + + EnableCount - i=2096 - i=2090 + i=63 + i=78 + i=12784 - - - ReferencesToAdd + + + DisableCount - i=68 + i=63 i=78 - i=2095 + i=12784 - - AuditDeleteReferencesEventType + + RepublishRequestCount - i=2098 - i=2090 + i=63 + i=78 + i=12784 - - - ReferencesToDelete + + + RepublishMessageRequestCount - i=68 + i=63 i=78 - i=2097 + i=12784 - - AuditUpdateEventType + + RepublishMessageCount - i=2052 + i=63 + i=78 + i=12784 - - - AuditWriteUpdateEventType + + + TransferRequestCount - i=2750 - i=2101 - i=2102 - i=2103 - i=2099 + i=63 + i=78 + i=12784 - - - AttributeId + + + TransferredToAltClientCount - i=68 + i=63 i=78 - i=2100 + i=12784 - - IndexRange + + TransferredToSameClientCount - i=68 + i=63 i=78 - i=2100 + i=12784 - - OldValue + + PublishRequestCount - i=68 + i=63 i=78 - i=2100 + i=12784 - - NewValue + + DataChangeNotificationsCount - i=68 + i=63 i=78 - i=2100 + i=12784 - - AuditHistoryUpdateEventType + + EventNotificationsCount - i=2751 - i=2099 - - - - ParameterDataTypeId - - i=68 + i=63 i=78 - i=2104 + i=12784 - - AuditUpdateMethodEventType - - i=2128 - i=2129 - i=2052 - - - - MethodId + + NotificationsCount - i=68 + i=63 i=78 - i=2127 + i=12784 - - InputArguments + + LatePublishRequestCount - i=68 + i=63 i=78 - i=2127 + i=12784 - - SystemEventType - - i=2041 - - - - DeviceFailureEventType - - i=2130 - - - - SystemStatusChangeEventType - - i=11696 - i=2130 - - - - SystemState + + CurrentKeepAliveCount - i=68 + i=63 i=78 - i=11446 + i=12784 - - BaseModelChangeEventType - - i=2041 - - - - GeneralModelChangeEventType - - i=2134 - i=2132 - - - - Changes + + CurrentLifetimeCount - i=68 + i=63 i=78 - i=2133 + i=12784 - - SemanticChangeEventType - - i=2739 - i=2132 - - - - Changes + + UnacknowledgedMessageCount - i=68 + i=63 i=78 - i=2738 + i=12784 - - EventQueueOverflowEventType + + DiscardedMessageCount - i=2041 + i=63 + i=78 + i=12784 - - - ProgressEventType + + + MonitoredItemCount - i=12502 - i=12503 - i=2041 + i=63 + i=78 + i=12784 - - - Context + + + DisabledMonitoredItemCount - i=68 + i=63 i=78 - i=11436 + i=12784 - - Progress + + MonitoringQueueOverflowCount - i=68 + i=63 i=78 - i=11436 + i=12784 - - AggregateFunctionType + + NextSequenceNumber - i=58 + i=63 + i=78 + i=12784 - - - ServerVendorCapabilityType + + + EventQueueOverflowCount - i=63 + i=63 + i=78 + i=12784 - - - ServerStatusType + + + SubscriptionDiagnosticsType - i=2139 - i=2140 - i=2141 - i=2142 - i=2752 - i=2753 + 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 - - StartTime + + SessionId i=63 i=78 - i=2138 + i=2172 - - CurrentTime + + SubscriptionId i=63 i=78 - i=2138 + i=2172 - - State + + Priority i=63 i=78 - i=2138 + i=2172 - - BuildInfo + + PublishingInterval - i=3698 - i=3699 - i=3700 - i=3701 - i=3702 - i=3703 - i=3051 + i=63 i=78 - i=2138 + i=2172 - - ProductUri + + MaxKeepAliveCount i=63 i=78 - i=2142 + i=2172 - - ManufacturerName + + MaxLifetimeCount i=63 i=78 - i=2142 + i=2172 - - ProductName + + MaxNotificationsPerPublish i=63 i=78 - i=2142 + i=2172 - - SoftwareVersion + + PublishingEnabled i=63 i=78 - i=2142 + i=2172 - - BuildNumber + + ModifyCount i=63 i=78 - i=2142 + i=2172 - - BuildDate + + EnableCount i=63 i=78 - i=2142 + i=2172 - - SecondsTillShutdown + + DisableCount i=63 i=78 - i=2138 + i=2172 - - ShutdownReason + + RepublishRequestCount i=63 i=78 - i=2138 + i=2172 - - BuildInfoType - - i=3052 - i=3053 - i=3054 - i=3055 - i=3056 - i=3057 - i=63 - - - - ProductUri + + RepublishMessageRequestCount i=63 i=78 - i=3051 + i=2172 - - ManufacturerName + + RepublishMessageCount i=63 i=78 - i=3051 + i=2172 - - ProductName + + TransferRequestCount i=63 i=78 - i=3051 + i=2172 - - SoftwareVersion + + TransferredToAltClientCount i=63 i=78 - i=3051 + i=2172 - - BuildNumber + + TransferredToSameClientCount i=63 i=78 - i=3051 + i=2172 - - BuildDate + + PublishRequestCount i=63 i=78 - i=3051 + i=2172 - - ServerDiagnosticsSummaryType + + DataChangeNotificationsCount - 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 + i=63 + i=78 + i=2172 - - - ServerViewCount + + + EventNotificationsCount i=63 i=78 - i=2150 + i=2172 - - CurrentSessionCount + + NotificationsCount i=63 i=78 - i=2150 + i=2172 - - CumulatedSessionCount + + LatePublishRequestCount i=63 i=78 - i=2150 + i=2172 - - SecurityRejectedSessionCount + + CurrentKeepAliveCount i=63 i=78 - i=2150 + i=2172 - - RejectedSessionCount + + CurrentLifetimeCount i=63 i=78 - i=2150 + i=2172 - - SessionTimeoutCount + + UnacknowledgedMessageCount i=63 i=78 - i=2150 + i=2172 - - SessionAbortCount + + DiscardedMessageCount i=63 i=78 - i=2150 + i=2172 - - PublishingIntervalCount + + MonitoredItemCount i=63 i=78 - i=2150 + i=2172 - - CurrentSubscriptionCount + + DisabledMonitoredItemCount i=63 i=78 - i=2150 + i=2172 - - CumulatedSubscriptionCount + + MonitoringQueueOverflowCount i=63 i=78 - i=2150 + i=2172 - - SecurityRejectedRequestsCount + + NextSequenceNumber i=63 i=78 - i=2150 + i=2172 - - RejectedRequestsCount + + EventQueueOverflowCount i=63 i=78 - i=2150 + i=2172 - - SamplingIntervalDiagnosticsArrayType + + SessionDiagnosticsArrayType - i=12779 + i=12816 i=63 - - SamplingIntervalDiagnostics + + SessionDiagnostics - i=12780 - i=12781 - i=12782 - i=12783 - i=2165 + 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=2164 + i=2196 - - SamplingInterval + + SessionId i=63 i=78 - i=12779 + i=12816 - - SampledMonitoredItemsCount + + SessionName i=63 i=78 - i=12779 + i=12816 - - MaxSampledMonitoredItemsCount + + ClientDescription i=63 i=78 - i=12779 + i=12816 - - DisabledMonitoredItemsSamplingCount + + ServerUri i=63 i=78 - i=12779 + i=12816 - - SamplingIntervalDiagnosticsType - - i=2166 - i=11697 - i=11698 - i=11699 - i=63 - - - - SamplingInterval + + EndpointUrl i=63 i=78 - i=2165 + i=12816 - - SampledMonitoredItemsCount + + LocaleIds i=63 i=78 - i=2165 + i=12816 - - MaxSampledMonitoredItemsCount + + ActualSessionTimeout i=63 i=78 - i=2165 + i=12816 - - DisabledMonitoredItemsSamplingCount + + MaxResponseMessageSize i=63 i=78 - i=2165 + i=12816 - - SubscriptionDiagnosticsArrayType + + ClientConnectionTime - i=12784 - i=63 + i=63 + i=78 + i=12816 - - - SubscriptionDiagnostics + + + ClientLastContactTime - 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 + i=63 + i=78 + i=12816 - - SessionId + + CurrentSubscriptionsCount i=63 i=78 - i=12784 + i=12816 - - SubscriptionId + + CurrentMonitoredItemsCount i=63 i=78 - i=12784 + i=12816 - - Priority + + CurrentPublishRequestsInQueue i=63 i=78 - i=12784 + i=12816 - - PublishingInterval + + TotalRequestCount i=63 i=78 - i=12784 + i=12816 - - MaxKeepAliveCount + + UnauthorizedRequestCount i=63 i=78 - i=12784 + i=12816 - - MaxLifetimeCount + + ReadCount i=63 i=78 - i=12784 + i=12816 - - MaxNotificationsPerPublish + + HistoryReadCount i=63 i=78 - i=12784 + i=12816 - - PublishingEnabled + + WriteCount i=63 i=78 - i=12784 + i=12816 - - ModifyCount + + HistoryUpdateCount i=63 i=78 - i=12784 + i=12816 - - EnableCount + + CallCount i=63 i=78 - i=12784 + i=12816 - - DisableCount + + CreateMonitoredItemsCount i=63 i=78 - i=12784 + i=12816 - - RepublishRequestCount + + ModifyMonitoredItemsCount i=63 i=78 - i=12784 + i=12816 - - RepublishMessageRequestCount + + SetMonitoringModeCount i=63 i=78 - i=12784 + i=12816 - - RepublishMessageCount + + SetTriggeringCount i=63 i=78 - i=12784 + i=12816 - - TransferRequestCount + + DeleteMonitoredItemsCount i=63 i=78 - i=12784 + i=12816 - - TransferredToAltClientCount + + CreateSubscriptionCount i=63 i=78 - i=12784 + i=12816 - - TransferredToSameClientCount + + ModifySubscriptionCount i=63 i=78 - i=12784 + i=12816 - - PublishRequestCount + + SetPublishingModeCount i=63 i=78 - i=12784 + i=12816 - - DataChangeNotificationsCount + + PublishCount i=63 i=78 - i=12784 + i=12816 - - EventNotificationsCount + + RepublishCount i=63 i=78 - i=12784 + i=12816 - - NotificationsCount + + TransferSubscriptionsCount i=63 i=78 - i=12784 + i=12816 - - LatePublishRequestCount + + DeleteSubscriptionsCount i=63 i=78 - i=12784 + i=12816 - - CurrentKeepAliveCount + + AddNodesCount i=63 i=78 - i=12784 + i=12816 - - CurrentLifetimeCount + + AddReferencesCount i=63 i=78 - i=12784 + i=12816 - - UnacknowledgedMessageCount + + DeleteNodesCount i=63 i=78 - i=12784 + i=12816 - - DiscardedMessageCount + + DeleteReferencesCount i=63 i=78 - i=12784 + i=12816 - - MonitoredItemCount + + BrowseCount i=63 i=78 - i=12784 + i=12816 - - DisabledMonitoredItemCount + + BrowseNextCount i=63 i=78 - i=12784 + i=12816 - - MonitoringQueueOverflowCount + + TranslateBrowsePathsToNodeIdsCount i=63 i=78 - i=12784 + i=12816 - - NextSequenceNumber + + QueryFirstCount i=63 i=78 - i=12784 + i=12816 - - EventQueueOverFlowCount + + QueryNextCount i=63 i=78 - i=12784 + i=12816 - - SubscriptionDiagnosticsType - - 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 + + RegisterNodesCount i=63 i=78 - i=2172 + i=12816 - - SubscriptionId + + UnregisterNodesCount i=63 i=78 - i=2172 + i=12816 - - Priority + + SessionDiagnosticsVariableType - i=63 - i=78 - i=2172 + 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 - - - PublishingInterval + + + SessionId i=63 i=78 - i=2172 + i=2197 - - MaxKeepAliveCount + + SessionName i=63 i=78 - i=2172 + i=2197 - - MaxLifetimeCount + + ClientDescription i=63 i=78 - i=2172 + i=2197 - - MaxNotificationsPerPublish + + ServerUri i=63 i=78 - i=2172 + i=2197 - - PublishingEnabled + + EndpointUrl i=63 i=78 - i=2172 + i=2197 - - ModifyCount + + LocaleIds i=63 i=78 - i=2172 + i=2197 - - EnableCount + + ActualSessionTimeout i=63 i=78 - i=2172 + i=2197 - - DisableCount + + MaxResponseMessageSize i=63 i=78 - i=2172 + i=2197 - - RepublishRequestCount + + ClientConnectionTime i=63 i=78 - i=2172 + i=2197 - - RepublishMessageRequestCount + + ClientLastContactTime i=63 i=78 - i=2172 + i=2197 - - RepublishMessageCount + + CurrentSubscriptionsCount i=63 i=78 - i=2172 + i=2197 - - TransferRequestCount + + CurrentMonitoredItemsCount i=63 i=78 - i=2172 + i=2197 - - TransferredToAltClientCount + + CurrentPublishRequestsInQueue i=63 i=78 - i=2172 + i=2197 - - TransferredToSameClientCount + + TotalRequestCount i=63 i=78 - i=2172 + i=2197 - - PublishRequestCount + + UnauthorizedRequestCount i=63 i=78 - i=2172 + i=2197 - - DataChangeNotificationsCount + + ReadCount i=63 i=78 - i=2172 + i=2197 - - EventNotificationsCount + + HistoryReadCount i=63 i=78 - i=2172 + i=2197 - - NotificationsCount + + WriteCount i=63 i=78 - i=2172 + i=2197 - - LatePublishRequestCount + + HistoryUpdateCount i=63 i=78 - i=2172 + i=2197 - - CurrentKeepAliveCount + + CallCount i=63 i=78 - i=2172 + i=2197 - - CurrentLifetimeCount + + CreateMonitoredItemsCount i=63 i=78 - i=2172 + i=2197 - - UnacknowledgedMessageCount + + ModifyMonitoredItemsCount i=63 i=78 - i=2172 + i=2197 - - DiscardedMessageCount + + SetMonitoringModeCount i=63 i=78 - i=2172 + i=2197 - - MonitoredItemCount + + SetTriggeringCount i=63 i=78 - i=2172 + i=2197 - - DisabledMonitoredItemCount + + DeleteMonitoredItemsCount i=63 i=78 - i=2172 + i=2197 - - MonitoringQueueOverflowCount + + CreateSubscriptionCount i=63 i=78 - i=2172 - - - - NextSequenceNumber - - i=63 - i=78 - i=2172 + i=2197 - - EventQueueOverFlowCount + + ModifySubscriptionCount i=63 i=78 - i=2172 - - - - SessionDiagnosticsArrayType - - 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 + i=2197 - - SessionId + + SetPublishingModeCount i=63 i=78 - i=12816 + i=2197 - - SessionName + + PublishCount i=63 i=78 - i=12816 + i=2197 - - ClientDescription + + RepublishCount i=63 i=78 - i=12816 + i=2197 - - ServerUri + + TransferSubscriptionsCount i=63 i=78 - i=12816 + i=2197 - - EndpointUrl + + DeleteSubscriptionsCount i=63 i=78 - i=12816 + i=2197 - - LocaleIds + + AddNodesCount i=63 i=78 - i=12816 + i=2197 - - ActualSessionTimeout + + AddReferencesCount i=63 i=78 - i=12816 + i=2197 - - MaxResponseMessageSize + + DeleteNodesCount i=63 i=78 - i=12816 + i=2197 - - ClientConnectionTime + + DeleteReferencesCount i=63 i=78 - i=12816 + i=2197 - - ClientLastContactTime + + BrowseCount i=63 i=78 - i=12816 + i=2197 - - CurrentSubscriptionsCount + + BrowseNextCount i=63 i=78 - i=12816 + i=2197 - - CurrentMonitoredItemsCount + + TranslateBrowsePathsToNodeIdsCount i=63 i=78 - i=12816 + i=2197 - - CurrentPublishRequestsInQueue + + QueryFirstCount i=63 i=78 - i=12816 + i=2197 - - TotalRequestCount + + QueryNextCount i=63 i=78 - i=12816 + i=2197 - - UnauthorizedRequestCount + + RegisterNodesCount i=63 i=78 - i=12816 + i=2197 - - ReadCount + + UnregisterNodesCount i=63 i=78 - i=12816 + i=2197 - - HistoryReadCount + + SessionSecurityDiagnosticsArrayType - i=63 - i=78 - i=12816 + i=12860 + i=63 - - - WriteCount + + + SessionSecurityDiagnostics - i=63 - i=78 - i=12816 + i=12861 + i=12862 + i=12863 + i=12864 + i=12865 + i=12866 + i=12867 + i=12868 + i=12869 + i=2244 + i=83 + i=2243 - - HistoryUpdateCount + + SessionId i=63 i=78 - i=12816 + i=12860 - - CallCount + + ClientUserIdOfSession i=63 i=78 - i=12816 + i=12860 - - CreateMonitoredItemsCount + + ClientUserIdHistory i=63 i=78 - i=12816 + i=12860 - - ModifyMonitoredItemsCount + + AuthenticationMechanism i=63 i=78 - i=12816 + i=12860 - - SetMonitoringModeCount + + Encoding i=63 i=78 - i=12816 + i=12860 - - SetTriggeringCount + + TransportProtocol i=63 i=78 - i=12816 + i=12860 - - DeleteMonitoredItemsCount + + SecurityMode i=63 i=78 - i=12816 + i=12860 - - CreateSubscriptionCount + + SecurityPolicyUri i=63 i=78 - i=12816 + i=12860 - - ModifySubscriptionCount + + ClientCertificate i=63 i=78 - i=12816 + i=12860 - - SetPublishingModeCount + + SessionSecurityDiagnosticsType - i=63 - i=78 - i=12816 + i=2245 + i=2246 + i=2247 + i=2248 + i=2249 + i=2250 + i=2251 + i=2252 + i=3058 + i=63 - - - PublishCount + + + SessionId i=63 i=78 - i=12816 + i=2244 - - RepublishCount + + ClientUserIdOfSession i=63 i=78 - i=12816 + i=2244 - - TransferSubscriptionsCount + + ClientUserIdHistory i=63 i=78 - i=12816 + i=2244 - - DeleteSubscriptionsCount + + AuthenticationMechanism i=63 i=78 - i=12816 + i=2244 - - AddNodesCount + + Encoding i=63 i=78 - i=12816 + i=2244 - - AddReferencesCount + + TransportProtocol i=63 i=78 - i=12816 + i=2244 - - DeleteNodesCount + + SecurityMode i=63 i=78 - i=12816 + i=2244 - - DeleteReferencesCount + + SecurityPolicyUri i=63 i=78 - i=12816 + i=2244 - - BrowseCount + + ClientCertificate i=63 i=78 - i=12816 + i=2244 - - BrowseNextCount + + OptionSetType - i=63 - i=78 - i=12816 + i=11488 + i=11701 + i=63 - - - TranslateBrowsePathsToNodeIdsCount + + + OptionSetValues - i=63 + i=68 i=78 - i=12816 + i=11487 - - QueryFirstCount + + BitMask - i=63 - i=78 - i=12816 + i=68 + i=80 + i=11487 - - QueryNextCount + + SelectionListType - i=63 + i=17632 + i=17633 + i=16312 + i=63 + + + + Selections + + i=68 i=78 - i=12816 + i=16309 - - RegisterNodesCount + + SelectionDescriptions - i=63 - i=78 - i=12816 + i=68 + i=80 + i=16309 - - UnregisterNodesCount + + RestrictToList - i=63 - i=78 - i=12816 + i=68 + i=80 + i=16309 - - SessionDiagnosticsVariableType + + AudioVariableType - 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=17988 + i=17989 + i=17990 i=63 - - SessionId + + ListId - i=63 - i=78 - i=2197 + i=68 + i=80 + i=17986 - - SessionName + + AgencyId - i=63 - i=78 - i=2197 + i=68 + i=80 + i=17986 - - ClientDescription + + VersionId - i=63 - i=78 - i=2197 + i=68 + i=80 + i=17986 - - ServerUri + + EventTypes - i=63 - i=78 - i=2197 + i=86 + i=2041 + i=61 - - - EndpointUrl + + + Server - i=63 - i=78 - i=2197 + i=2254 + i=2255 + i=2256 + i=2267 + i=2994 + i=12885 + i=2268 + i=2274 + i=2295 + i=2296 + i=11715 + i=11492 + i=12873 + i=12749 + i=12886 + i=16313 + i=85 + i=2004 - - - LocaleIds + + + ServerArray + The list of server URIs used by the server. - i=63 - i=78 - i=2197 + i=68 + i=2253 - - ActualSessionTimeout + + NamespaceArray + The list of namespace URIs used by the server. - i=63 - i=78 - i=2197 + i=68 + i=2253 - - MaxResponseMessageSize + + ServerStatus + The current status of the server. - i=63 - i=78 - i=2197 - - - - ClientConnectionTime - - i=63 - i=78 - i=2197 + i=2257 + i=2258 + i=2259 + i=2260 + i=2992 + i=2993 + i=2138 + i=2253 - - ClientLastContactTime + + StartTime i=63 - i=78 - i=2197 + i=2256 - - CurrentSubscriptionsCount + + CurrentTime i=63 - i=78 - i=2197 + i=2256 - - CurrentMonitoredItemsCount + + State i=63 - i=78 - i=2197 + i=2256 - - CurrentPublishRequestsInQueue + + BuildInfo - i=63 - i=78 - i=2197 + i=2262 + i=2263 + i=2261 + i=2264 + i=2265 + i=2266 + i=3051 + i=2256 - - TotalRequestCount + + ProductUri i=63 - i=78 - i=2197 + i=2260 - - UnauthorizedRequestCount + + ManufacturerName i=63 - i=78 - i=2197 + i=2260 - - ReadCount + + ProductName i=63 - i=78 - i=2197 + i=2260 - - HistoryReadCount + + SoftwareVersion i=63 - i=78 - i=2197 + i=2260 - - WriteCount + + BuildNumber i=63 - i=78 - i=2197 + i=2260 - - HistoryUpdateCount + + BuildDate i=63 - i=78 - i=2197 + i=2260 - - CallCount + + SecondsTillShutdown i=63 - i=78 - i=2197 + i=2256 - - CreateMonitoredItemsCount + + ShutdownReason i=63 - i=78 - i=2197 + i=2256 - - ModifyMonitoredItemsCount + + ServiceLevel + A value indicating the level of service the server can provide. 255 indicates the best. - i=63 - i=78 - i=2197 + i=68 + i=2253 - - SetMonitoringModeCount + + Auditing + A flag indicating whether the server is currently generating audit events. - i=63 - i=78 - i=2197 + i=68 + i=2253 - - SetTriggeringCount + + EstimatedReturnTime + Indicates the time at which the Server is expected to be available in the state RUNNING. - i=63 - i=78 - i=2197 + i=68 + i=2253 - - DeleteMonitoredItemsCount + + ServerCapabilities + Describes capabilities supported by the server. - i=63 - i=78 - i=2197 + 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 - - - CreateSubscriptionCount + + + ServerProfileArray + A list of profiles supported by the server. - i=63 - i=78 - i=2197 + i=68 + i=2268 - - ModifySubscriptionCount + + LocaleIdArray + A list of locales supported by the server. - i=63 - i=78 - i=2197 + i=68 + i=2268 - - SetPublishingModeCount + + MinSupportedSampleRate + The minimum sampling interval supported by the server. - i=63 - i=78 - i=2197 + i=68 + i=2268 - - PublishCount + + MaxBrowseContinuationPoints + The maximum number of continuation points for Browse operations per session. - i=63 - i=78 - i=2197 + i=68 + i=2268 - - RepublishCount + + MaxQueryContinuationPoints + The maximum number of continuation points for Query operations per session. - i=63 - i=78 - i=2197 + i=68 + i=2268 - - TransferSubscriptionsCount + + MaxHistoryContinuationPoints + The maximum number of continuation points for ReadHistory operations per session. - i=63 - i=78 - i=2197 + i=68 + i=2268 - - DeleteSubscriptionsCount + + SoftwareCertificates + The software certificates owned by the server. - i=63 - i=78 - i=2197 + i=68 + i=2268 - - AddNodesCount + + MaxArrayLength + The maximum length for an array value supported by the server. - i=63 - i=78 - i=2197 + i=68 + i=2268 - - AddReferencesCount + + MaxStringLength + The maximum length for a string value supported by the server. - i=63 - i=78 - i=2197 + i=68 + i=2268 - - DeleteNodesCount + + MaxByteStringLength + The maximum length for a byte string value supported by the server. - i=63 - i=78 - i=2197 + i=68 + i=2268 - - DeleteReferencesCount + + OperationLimits + Defines the limits supported by the server for different operations. - i=63 - i=78 - i=2197 + 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 - - - BrowseCount + + + MaxNodesPerRead + The maximum number of operations in a single Read request. - i=63 - i=78 - i=2197 + i=68 + i=11704 - - BrowseNextCount + + MaxNodesPerHistoryReadData + The maximum number of operations in a single data HistoryRead request. - i=63 - i=78 - i=2197 + i=68 + i=11704 - - TranslateBrowsePathsToNodeIdsCount + + MaxNodesPerHistoryReadEvents + The maximum number of operations in a single event HistoryRead request. - i=63 - i=78 - i=2197 + i=68 + i=11704 - - QueryFirstCount + + MaxNodesPerWrite + The maximum number of operations in a single Write request. - i=63 - i=78 - i=2197 + i=68 + i=11704 - - QueryNextCount + + MaxNodesPerHistoryUpdateData + The maximum number of operations in a single data HistoryUpdate request. - i=63 - i=78 - i=2197 + i=68 + i=11704 - - RegisterNodesCount + + MaxNodesPerHistoryUpdateEvents + The maximum number of operations in a single event HistoryUpdate request. - i=63 - i=78 - i=2197 + i=68 + i=11704 - - UnregisterNodesCount + + MaxNodesPerMethodCall + The maximum number of operations in a single Call request. - i=63 - i=78 - i=2197 + i=68 + i=11704 - - SessionSecurityDiagnosticsArrayType - - i=12860 - i=63 - - - - SessionSecurityDiagnostics + + MaxNodesPerBrowse + The maximum number of operations in a single Browse request. - i=12861 - i=12862 - i=12863 - i=12864 - i=12865 - i=12866 - i=12867 - i=12868 - i=12869 - i=2244 - i=83 - i=2243 + i=68 + i=11704 - - SessionId + + MaxNodesPerRegisterNodes + The maximum number of operations in a single RegisterNodes request. - i=63 - i=78 - i=12860 + i=68 + i=11704 - - ClientUserIdOfSession + + MaxNodesPerTranslateBrowsePathsToNodeIds + The maximum number of operations in a single TranslateBrowsePathsToNodeIds request. - i=63 - i=78 - i=12860 + i=68 + i=11704 - - ClientUserIdHistory + + MaxNodesPerNodeManagement + The maximum number of operations in a single AddNodes, AddReferences, DeleteNodes or DeleteReferences request. - i=63 - i=78 - i=12860 + i=68 + i=11704 - - AuthenticationMechanism + + MaxMonitoredItemsPerCall + The maximum number of operations in a single MonitoredItem related request. - i=63 - i=78 - i=12860 + i=68 + i=11704 - - Encoding + + ModellingRules + A folder for the modelling rules supported by the server. - i=63 - i=78 - i=12860 + i=61 + i=2268 - - - TransportProtocol + + + AggregateFunctions + A folder for the real time aggregates supported by the server. - i=63 - i=78 - i=12860 + i=61 + i=2268 - - - SecurityMode + + + Roles + Describes the roles supported by the server. - i=63 - i=78 - i=12860 + i=16301 + i=16304 + i=15607 + i=2268 - - - SecurityPolicyUri + + + AddRole - i=63 - i=78 - i=12860 + i=16302 + i=16303 + i=15606 - - - ClientCertificate + + + InputArguments - i=63 - i=78 - i=12860 + i=68 + i=16301 + + + + + i=297 + + + + RoleName + + i=12 + + -1 + + + + + + + + i=297 + + + + NamespaceUri + + i=12 + + -1 + + + + + + + - - SessionSecurityDiagnosticsType + + OutputArguments - i=2245 - i=2246 - i=2247 - i=2248 - i=2249 - i=2250 - i=2251 - i=2252 - i=3058 - i=63 + i=68 + i=16301 - - - SessionId + + + + + i=297 + + + + RoleNodeId + + i=17 + + -1 + + + + + + + + + + RemoveRole - i=63 - i=78 - i=2244 + i=16305 + i=15606 - - - ClientUserIdOfSession + + + InputArguments - i=63 - i=78 - i=2244 + i=68 + i=16304 + + + + + i=297 + + + + RoleNodeId + + i=17 + + -1 + + + + + + + - - ClientUserIdHistory + + ServerDiagnostics + Reports diagnostics about the server. - i=63 - i=78 - i=2244 + i=2275 + i=2289 + i=2290 + i=3706 + i=2294 + i=2020 + i=2253 - - - AuthenticationMechanism + + + ServerDiagnosticsSummary + A summary of server level diagnostics. - i=63 - i=78 - i=2244 + 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 - - Encoding + + ServerViewCount i=63 - i=78 - i=2244 + i=2275 - - TransportProtocol + + CurrentSessionCount i=63 - i=78 - i=2244 + i=2275 - - SecurityMode + + CumulatedSessionCount i=63 - i=78 - i=2244 + i=2275 - - SecurityPolicyUri + + SecurityRejectedSessionCount i=63 - i=78 - i=2244 + i=2275 - - ClientCertificate + + RejectedSessionCount i=63 - i=78 - i=2244 + i=2275 - - OptionSetType - - i=11488 - i=11701 - i=63 - - - - OptionSetValues + + SessionTimeoutCount - i=68 - i=78 - i=11487 + i=63 + i=2275 - - BitMask + + SessionAbortCount - i=68 - i=80 - i=11487 + i=63 + i=2275 - - EventTypes - - i=86 - i=2041 - i=61 - - - - Server - - i=2254 - i=2255 - i=2256 - i=2267 - i=2994 - i=12885 - i=2268 - i=2274 - i=2295 - i=2296 - i=11715 - i=11492 - i=12873 - i=12749 - i=12886 - i=85 - i=2004 - - - - ServerArray - The list of server URIs used by the server. + + PublishingIntervalCount - i=68 - i=2253 + i=63 + i=2275 - - NamespaceArray - The list of namespace URIs used by the server. + + CurrentSubscriptionCount - i=68 - i=2253 + i=63 + i=2275 - - ServerStatus - The current status of the server. + + CumulatedSubscriptionCount - i=2257 - i=2258 - i=2259 - i=2260 - i=2992 - i=2993 - i=2138 - i=2253 + i=63 + i=2275 - - StartTime + + SecurityRejectedRequestsCount i=63 - i=2256 + i=2275 - - CurrentTime + + RejectedRequestsCount i=63 - i=2256 + i=2275 - - State + + SamplingIntervalDiagnosticsArray + A list of diagnostics for each sampling interval supported by the server. - i=63 - i=2256 + i=2164 + i=2274 - - BuildInfo + + SubscriptionDiagnosticsArray + A list of diagnostics for each active subscription. - i=2262 - i=2263 - i=2261 - i=2264 - i=2265 - i=2266 - i=3051 - i=2256 + i=2171 + i=2274 - - ProductUri + + SessionsDiagnosticsSummary + A summary of session level diagnostics. - i=63 - i=2260 + i=3707 + i=3708 + i=2026 + i=2274 - - - ManufacturerName + + + SessionDiagnosticsArray + A list of diagnostics for each active session. - i=63 - i=2260 + i=2196 + i=3706 - - ProductName + + SessionSecurityDiagnosticsArray + A list of security related diagnostics for each active session. - i=63 - i=2260 + i=2243 + i=3706 - - SoftwareVersion + + EnabledFlag + If TRUE the diagnostics collection is enabled. - i=63 - i=2260 + i=68 + i=2274 - - BuildNumber + + VendorServerInfo + Server information provided by the vendor. - i=63 - i=2260 + i=2033 + i=2253 - - - BuildDate + + + ServerRedundancy + Describes the redundancy capabilities of the server. - i=63 - i=2260 + i=3709 + i=11312 + i=11313 + i=11314 + i=14415 + i=2034 + i=2253 - - - SecondsTillShutdown + + + RedundancySupport + Indicates what style of redundancy is supported by the server. - i=63 - i=2256 + i=68 + i=2296 - - ShutdownReason + + CurrentServerId - i=63 - i=2256 + i=68 + i=2296 - - ServiceLevel - A value indicating the level of service the server can provide. 255 indicates the best. + + RedundantServerArray i=68 - i=2253 + i=2296 - - Auditing - A flag indicating whether the server is currently generating audit events. + + ServerUriArray i=68 - i=2253 + i=2296 - - EstimatedReturnTime - Indicates the time at which the Server is expected to be available in the state RUNNING. + + ServerNetworkGroups i=68 - i=2253 + i=2296 - - ServerCapabilities - Describes capabilities supported by the server. + + Namespaces + Describes the namespaces supported by the server. - 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=2013 + i=11645 i=2253 - - ServerProfileArray - A list of profiles supported by the server. + + GetMonitoredItems - i=68 - i=2268 + i=11493 + i=11494 + i=2253 - - - LocaleIdArray - A list of locales supported by the server. + + + InputArguments i=68 - i=2268 + i=11492 + + + + + i=297 + + + + SubscriptionId + + i=7 + + -1 + + + + + + + - - MinSupportedSampleRate - The minimum sampling interval supported by the server. + + OutputArguments i=68 - i=2268 + i=11492 + + + + + i=297 + + + + ServerHandles + + i=7 + + 1 + + + + + + + + i=297 + + + + ClientHandles + + i=7 + + 1 + + + + + + + - - MaxBrowseContinuationPoints - The maximum number of continuation points for Browse operations per session. + + ResendData - i=68 - i=2268 + i=12874 + i=2253 - - - MaxQueryContinuationPoints - The maximum number of continuation points for Query operations per session. + + + InputArguments i=68 - i=2268 + i=12873 + + + + + i=297 + + + + SubscriptionId + + i=7 + + -1 + + + + + + + - - MaxHistoryContinuationPoints - The maximum number of continuation points for ReadHistory operations per session. + + SetSubscriptionDurable - i=68 - i=2268 + i=12750 + i=12751 + i=2253 - - - SoftwareCertificates - The software certificates owned by the server. + + + InputArguments i=68 - i=2268 + i=12749 + + + + + i=297 + + + + SubscriptionId + + i=7 + + -1 + + + + + + + + i=297 + + + + LifetimeInHours + + i=7 + + -1 + + + + + + + - - MaxArrayLength - The maximum length for an array value supported by the server. + + OutputArguments i=68 - i=2268 + i=12749 + + + + + i=297 + + + + RevisedLifetimeInHours + + i=7 + + -1 + + + + + + + - - MaxStringLength - The maximum length for a string value supported by the server. + + RequestServerStateChange + + i=12887 + i=2253 + + + + InputArguments i=68 - i=2268 + 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 + + + + + + + - - MaxByteStringLength - The maximum length for a byte string value supported by the server. + + CurrentTimeZone i=68 - i=2268 + i=2253 - - OperationLimits - Defines the limits supported by the server for different operations. + + BitFieldMaskDataType + A mask of 32 bits that can be updated individually by using the top 32 bits as a mask. - 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 + i=9 - - - MaxNodesPerRead - The maximum number of operations in a single Read request. + + + KeyValuePair - i=68 - i=11704 + i=22 - - - MaxNodesPerHistoryReadData - The maximum number of operations in a single data HistoryRead request. + + + + + + + EndpointType - i=68 - i=11704 + i=22 - - - MaxNodesPerHistoryReadEvents - The maximum number of operations in a single event HistoryRead request. + + + + + + + + + StateMachineType - i=68 - i=11704 + i=2769 + i=2770 + i=58 - - - MaxNodesPerWrite - The maximum number of operations in a single Write request. + + + CurrentState - i=68 - i=11704 + i=3720 + i=2755 + i=78 + i=2299 - - MaxNodesPerHistoryUpdateData - The maximum number of operations in a single data HistoryUpdate request. + + Id i=68 - i=11704 + i=78 + i=2769 - - MaxNodesPerHistoryUpdateEvents - The maximum number of operations in a single event HistoryUpdate request. + + LastTransition - i=68 - i=11704 - + i=3724 + i=2762 + i=80 + i=2299 + - - MaxNodesPerMethodCall - The maximum number of operations in a single Call request. + + Id i=68 - i=11704 + i=78 + i=2770 - - MaxNodesPerBrowse - The maximum number of operations in a single Browse request. + + StateVariableType - i=68 - i=11704 + i=2756 + i=2757 + i=2758 + i=2759 + i=63 - - - MaxNodesPerRegisterNodes - The maximum number of operations in a single RegisterNodes request. + + + Id i=68 - i=11704 + i=78 + i=2755 - - MaxNodesPerTranslateBrowsePathsToNodeIds - The maximum number of operations in a single TranslateBrowsePathsToNodeIds request. + + Name i=68 - i=11704 + i=80 + i=2755 - - MaxNodesPerNodeManagement - The maximum number of operations in a single AddNodes, AddReferences, DeleteNodes or DeleteReferences request. + + Number i=68 - i=11704 + i=80 + i=2755 - - MaxMonitoredItemsPerCall - The maximum number of operations in a single MonitoredItem related request. + + EffectiveDisplayName i=68 - i=11704 + i=80 + i=2755 - - ModellingRules - A folder for the modelling rules supported by the server. - - i=61 - i=2268 - - - - AggregateFunctions - A folder for the real time aggregates supported by the server. + + TransitionVariableType - i=61 - i=2268 + i=2763 + i=2764 + i=2765 + i=2766 + i=11456 + i=63 - - - ServerDiagnostics - Reports diagnostics about the server. + + + Id - i=2275 - i=2289 - i=2290 - i=3706 - i=2294 - i=2020 - i=2253 + i=68 + i=78 + i=2762 - - - ServerDiagnosticsSummary - A summary of server level diagnostics. + + + Name - 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 + i=68 + i=80 + i=2762 - - ServerViewCount + + Number - i=63 - i=2275 + i=68 + i=80 + i=2762 - - CurrentSessionCount + + TransitionTime - i=63 - i=2275 + i=68 + i=80 + i=2762 - - CumulatedSessionCount + + EffectiveTransitionTime - i=63 - i=2275 + i=68 + i=80 + i=2762 - - SecurityRejectedSessionCount + + FiniteStateMachineType - i=63 - i=2275 + i=2772 + i=2773 + i=17635 + i=17636 + i=2299 - - - RejectedSessionCount + + + CurrentState - i=63 - i=2275 + i=3728 + i=2760 + i=78 + i=2771 - - SessionTimeoutCount + + Id - i=63 - i=2275 + i=68 + i=78 + i=2772 - - SessionAbortCount + + LastTransition - i=63 - i=2275 + i=3732 + i=2767 + i=80 + i=2771 - - PublishingIntervalCount + + Id - i=63 - i=2275 + i=68 + i=78 + i=2773 - - CurrentSubscriptionCount + + AvailableStates i=63 - i=2275 + i=80 + i=2771 - - CumulatedSubscriptionCount + + AvailableTransitions i=63 - i=2275 + i=80 + i=2771 - - SecurityRejectedRequestsCount + + FiniteStateVariableType - i=63 - i=2275 + i=2761 + i=2755 - - - RejectedRequestsCount + + + Id - i=63 - i=2275 + i=68 + i=78 + i=2760 - - SamplingIntervalDiagnosticsArray - A list of diagnostics for each sampling interval supported by the server. + + FiniteTransitionVariableType - i=2164 - i=2274 + i=2768 + i=2762 - - - SubscriptionDiagnosticsArray - A list of diagnostics for each active subscription. + + + Id - i=2171 - i=2274 + i=68 + i=78 + i=2767 - - SessionsDiagnosticsSummary - A summary of session level diagnostics. + + StateType - i=3707 - i=3708 - i=2026 - i=2274 - - - - SessionDiagnosticsArray - A list of diagnostics for each active session. - - i=2196 - i=3706 - - - - SessionSecurityDiagnosticsArray - A list of security related diagnostics for each active session. - - i=2243 - i=3706 + i=2308 + i=58 - - - EnabledFlag - If TRUE the diagnostics collection is enabled. + + + StateNumber i=68 - i=2274 + i=78 + i=2307 - - VendorServerInfo - Server information provided by the vendor. + + InitialStateType - i=2033 - i=2253 + i=2307 - - - ServerRedundancy - Describes the redundancy capabilities of the server. + + + TransitionType - i=3709 - i=11312 - i=11313 - i=11314 - i=14415 - i=2034 - i=2253 + i=2312 + i=58 - - - RedundancySupport - Indicates what style of redundancy is supported by the server. + + + TransitionNumber i=68 - i=2296 + i=78 + i=2310 - - CurrentServerId + + TransitionEventType - i=68 - i=2296 + i=2774 + i=2775 + i=2776 + i=2041 - - - RedundantServerArray + + + Transition - i=68 - i=2296 + i=3754 + i=2762 + i=78 + i=2311 - - ServerUriArray + + Id i=68 - i=2296 + i=78 + i=2774 - - ServerNetworkGroups + + FromState - i=68 - i=2296 + i=3746 + i=2755 + i=78 + i=2311 - - Namespaces - Describes the namespaces supported by the server. - - i=15182 - i=11645 - i=2253 - - - - http://opcfoundation.org/UA/ - - i=15183 - i=15184 - i=15185 - i=15186 - i=15187 - i=15188 - i=15189 - i=11616 - i=11715 - - - - NamespaceUri - The URI of the namespace. + + Id i=68 - i=15182 + i=78 + i=2775 - - http://opcfoundation.org/UA/ - - - NamespaceVersion - The human readable string representing version of the namespace. + + ToState - i=68 - i=15182 + i=3750 + i=2755 + i=78 + i=2311 - - 1.03 - - - NamespacePublicationDate - The publication date for the namespace. + + Id i=68 - i=15182 + i=78 + i=2776 - - 2016-04-15 - - - IsNamespaceSubset - If TRUE then the server only supports a subset of the namespace. + + AuditUpdateStateEventType - i=68 - i=15182 + i=2777 + i=2778 + i=2127 - - false - - - - StaticNodeIdTypes - A list of IdTypes for nodes which are the same in every server that exposes them. + + + OldStateId i=68 - i=15182 + i=78 + i=2315 - - StaticNumericNodeIdRange - A list of ranges for numeric node ids which are the same in every server that exposes them. + + NewStateId i=68 - i=15182 + i=78 + i=2315 - - StaticStringNodeIdPattern - A regular expression which matches string node ids are the same in every server that exposes them. + + FileDirectoryType - i=68 - i=15182 + i=13354 + i=13366 + i=13387 + i=13390 + i=13393 + i=13395 + i=61 - - - GetMonitoredItems + + + <FileDirectoryName> - i=11493 - i=11494 - i=2253 + 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=11492 + i=78 + i=13355 @@ -8661,9 +8320,9 @@ - SubscriptionId + DirectoryName - i=7 + i=12 -1 @@ -8674,11 +8333,12 @@ - + OutputArguments i=68 - i=11492 + i=78 + i=13355 @@ -8688,27 +8348,11 @@ - ServerHandles - - i=7 - - 1 - - - - - - - - i=297 - - - - ClientHandles + DirectoryNodeId - i=7 + i=17 - 1 + -1 @@ -8717,18 +8361,21 @@ - - ResendData + + CreateFile - i=12874 - i=2253 + i=13359 + i=13360 + i=78 + i=13354 - + InputArguments i=68 - i=12873 + i=78 + i=13358 @@ -8738,9 +8385,25 @@ - SubscriptionId + FileName - i=7 + i=12 + + -1 + + + + + + + + i=297 + + + + RequestFileOpen + + i=1 -1 @@ -8751,19 +8414,12 @@ - - SetSubscriptionDurable - - i=12750 - i=12751 - i=2253 - - - - InputArguments + + OutputArguments i=68 - i=12749 + i=78 + i=13358 @@ -8773,9 +8429,9 @@ - SubscriptionId + FileNodeId - i=7 + i=17 -1 @@ -8789,7 +8445,7 @@ - LifetimeInHours + FileHandle i=7 @@ -8802,11 +8458,20 @@ - - OutputArguments + + Delete + + i=17719 + i=78 + i=13354 + + + + InputArguments i=68 - i=12749 + i=78 + i=17718 @@ -8816,9 +8481,9 @@ - RevisedLifetimeInHours + ObjectToDelete - i=7 + i=17 -1 @@ -8829,18 +8494,21 @@ - - RequestServerStateChange + + MoveOrCopy - i=12887 - i=2253 + i=13364 + i=13365 + i=78 + i=13354 - + InputArguments i=68 - i=12886 + i=78 + i=13363 @@ -8850,9 +8518,9 @@ - State + ObjectToMoveOrCopy - i=852 + i=17 -1 @@ -8866,9 +8534,9 @@ - EstimatedReturnTime + TargetDirectory - i=13 + i=17 -1 @@ -8882,9 +8550,9 @@ - SecondsTillShutdown + CreateCopy - i=7 + i=1 -1 @@ -8898,9 +8566,9 @@ - Reason + NewName - i=21 + i=12 -1 @@ -8908,15 +8576,27 @@ + + + + + OutputArguments + + i=68 + i=78 + i=13363 + + + i=297 - Restart + NewNodeId - i=1 + i=17 -1 @@ -8927,4853 +8607,4588 @@ - - BitFieldMaskDataType - A mask of 32 bits that can be updated individually by using the top 32 bits as a mask. - - i=9 - - - - StateMachineType + + <FileName> - i=2769 - i=2770 - i=58 + 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 - - - CurrentState + + + Size + The size of the file in bytes. - i=3720 - i=2755 + i=68 i=78 - i=2299 + i=13366 - - Id + + Writable + Whether the file is writable. i=68 i=78 - i=2769 + i=13366 - - LastTransition + + UserWritable + Whether the file is writable by the current user. - i=3724 - i=2762 - i=80 - i=2299 + i=68 + i=78 + i=13366 - - Id + + OpenCount + The current number of open file handles. i=68 i=78 - i=2770 + i=13366 - - StateVariableType + + Open - i=2756 - i=2757 - i=2758 - i=2759 - i=63 + i=13373 + i=13374 + i=78 + i=13366 - - - Id + + + InputArguments i=68 i=78 - i=2755 + i=13372 + + + + + i=297 + + + + Mode + + i=3 + + -1 + + + + + + + - - Name + + OutputArguments i=68 - i=80 - i=2755 + i=78 + i=13372 + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + - - Number + + Close - i=68 - i=80 - i=2755 + i=13376 + i=78 + i=13366 - - - EffectiveDisplayName + + + InputArguments i=68 - i=80 - i=2755 + i=78 + i=13375 - - - TransitionVariableType - - i=2763 - i=2764 - i=2765 - i=2766 - i=11456 - i=63 - - - - Id + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + + Read - i=68 + i=13378 + i=13379 i=78 - i=2762 + i=13366 - - - Name + + + InputArguments i=68 - i=80 - i=2762 + i=78 + i=13377 + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + i=297 + + + + Length + + i=6 + + -1 + + + + + + + - - Number + + OutputArguments i=68 - i=80 - i=2762 + i=78 + i=13377 + + + + + i=297 + + + + Data + + i=15 + + -1 + + + + + + + - - TransitionTime + + Write - i=68 - i=80 - i=2762 + i=13381 + i=78 + i=13366 - - - EffectiveTransitionTime + + + InputArguments i=68 - i=80 - i=2762 + i=78 + i=13380 + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + i=297 + + + + Data + + i=15 + + -1 + + + + + + + - - FiniteStateMachineType + + GetPosition - i=2772 - i=2773 - i=2299 + i=13383 + i=13384 + i=78 + i=13366 - - - CurrentState + + + InputArguments - i=3728 - i=2760 + i=68 i=78 - i=2771 + i=13382 + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + - - Id + + OutputArguments i=68 i=78 - i=2772 + i=13382 + + + + + i=297 + + + + Position + + i=9 + + -1 + + + + + + + - - LastTransition + + SetPosition - i=3732 - i=2767 - i=80 - i=2771 + i=13386 + i=78 + i=13366 - - - Id + + + InputArguments i=68 i=78 - i=2773 + i=13385 + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + i=297 + + + + Position + + i=9 + + -1 + + + + + + + - - FiniteStateVariableType - - i=2761 - i=2755 - - - - Id + + CreateDirectory - i=68 + i=13388 + i=13389 i=78 - i=2760 - - - - FiniteTransitionVariableType - - i=2768 - i=2762 + i=13353 - - - Id + + + InputArguments i=68 i=78 - i=2767 + i=13387 + + + + + i=297 + + + + DirectoryName + + i=12 + + -1 + + + + + + + - - StateType - - i=2308 - i=58 - - - - StateNumber + + OutputArguments i=68 i=78 - i=2307 + i=13387 + + + + + i=297 + + + + DirectoryNodeId + + i=17 + + -1 + + + + + + + - - InitialStateType - - i=2307 - - - - TransitionType - - i=2312 - i=58 - - - - TransitionNumber + + CreateFile - i=68 + i=13391 + i=13392 i=78 - i=2310 - - - - TransitionEventType - - i=2774 - i=2775 - i=2776 - i=2041 + i=13353 - - - Transition + + + InputArguments - i=3754 - i=2762 + i=68 i=78 - i=2311 + i=13390 + + + + + i=297 + + + + FileName + + i=12 + + -1 + + + + + + + + i=297 + + + + RequestFileOpen + + i=1 + + -1 + + + + + + + - - Id + + OutputArguments i=68 i=78 - i=2774 + i=13390 + + + + + i=297 + + + + FileNodeId + + i=17 + + -1 + + + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + - - FromState + + Delete - i=3746 - i=2755 + i=13394 i=78 - i=2311 + i=13353 - - - Id + + + InputArguments i=68 i=78 - i=2775 - - - - ToState - - i=3750 - i=2755 - i=78 - i=2311 + i=13393 + + + + + i=297 + + + + ObjectToDelete + + i=17 + + -1 + + + + + + + - - Id + + MoveOrCopy - i=68 + i=13396 + i=13397 i=78 - i=2776 - - - - AuditUpdateStateEventType - - i=2777 - i=2778 - i=2127 + i=13353 - - - OldStateId + + + InputArguments i=68 i=78 - i=2315 + 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 + + + + + + + - - NewStateId + + OutputArguments i=68 i=78 - i=2315 + i=13395 + + + + + i=297 + + + + NewNodeId + + i=17 + + -1 + + + + + + + - - BuildInfo + + FileSystem - i=22 + i=16348 + i=16351 + i=16354 + i=16356 + i=13353 - - - - - - - - - - - RedundancySupport + + + CreateDirectory - i=7611 - i=29 + i=16349 + i=16350 + i=16314 - - - - - - - - - - - EnumStrings + + + InputArguments i=68 - i=78 - i=851 + i=16348 - - - - - None - - - - - Cold - - - - - Warm - - - - - Hot - - - - - Transparent - - - - - HotAndMirrored - - + + + + i=297 + + + + DirectoryName + + i=12 + + -1 + + + + + + - - ServerState - - i=7612 - i=29 - - - - - - - - - - - - - - EnumStrings + + OutputArguments i=68 - i=78 - i=852 + i=16348 - - - - - Running - - - - - Failed - - - - - NoConfiguration - - - - - Suspended - - - - - Shutdown - - - - - Test - - - - - CommunicationFault - - - - - Unknown - - + + + + i=297 + + + + DirectoryNodeId + + i=17 + + -1 + + + + + + - - RedundantServerDataType + + CreateFile - i=22 + i=16352 + i=16353 + i=16314 - - - - - - - - EndpointUrlListDataType + + + InputArguments - i=22 + i=68 + i=16351 - - - - - - NetworkGroupDataType + + + + + i=297 + + + + FileName + + i=12 + + -1 + + + + + + + + i=297 + + + + RequestFileOpen + + i=1 + + -1 + + + + + + + + + + OutputArguments - i=22 + i=68 + i=16351 - - - - - - - SamplingIntervalDiagnosticsDataType + + + + + i=297 + + + + FileNodeId + + i=17 + + -1 + + + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + + Delete - i=22 + i=16355 + i=16314 - - - - - - - - - ServerDiagnosticsSummaryDataType + + + InputArguments - i=22 + i=68 + i=16354 - - - - - - - - - - - - - - - - - ServerStatusDataType + + + + + i=297 + + + + ObjectToDelete + + i=17 + + -1 + + + + + + + + + + MoveOrCopy - i=22 + i=16357 + i=16358 + i=16314 - - - - - - - - - - - SessionDiagnosticsDataType + + + InputArguments - i=22 + i=68 + i=16356 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SessionSecurityDiagnosticsDataType - - i=22 - - - - - - - - - - - - - - - ServiceCounterDataType - - i=22 - - - - - - - - StatusResult + + + + + 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=22 + i=68 + i=16356 - - - - - - - SubscriptionDiagnosticsDataType + + + + + i=297 + + + + NewNodeId + + i=17 + + -1 + + + + + + + + + + TemporaryFileTransferType - i=22 + i=15745 + i=15746 + i=15749 + i=15751 + i=15754 + i=58 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ModelChangeStructureDataType + + + ClientProcessingTimeout - i=22 + i=68 + i=78 + i=15744 - - - - - - - - SemanticChangeStructureDataType + + + GenerateFileForRead - i=22 + i=15747 + i=15748 + i=78 + i=15744 - - - - - - - Default XML + + + InputArguments - i=338 - i=8327 - i=76 + i=68 + i=78 + i=15746 - - - Default XML + + + + + i=297 + + + + GenerateOptions + + i=24 + + -1 + + + + + + + + + + OutputArguments - i=853 - i=8843 - i=76 + i=68 + i=78 + i=15746 - - - Default XML - - i=11943 - i=11951 - i=76 + + + + + i=297 + + + + FileNodeId + + i=17 + + -1 + + + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + i=297 + + + + CompletionStateMachine + + i=17 + + -1 + + + + + + + + + + GenerateFileForWrite + + i=16359 + i=15750 + i=78 + i=15744 - - - Default XML + + + InputArguments - i=11944 - i=11954 - i=76 + i=68 + i=78 + i=15749 - - - Default XML + + + + + i=297 + + + + GenerateOptions + + i=24 + + -1 + + + + + + + + + + OutputArguments - i=856 - i=8846 - i=76 + i=68 + i=78 + i=15749 - - - Default XML + + + + + i=297 + + + + FileNodeId + + i=17 + + -1 + + + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + + CloseAndCommit - i=859 - i=8849 - i=76 + i=15752 + i=15753 + i=78 + i=15744 - - - Default XML + + + InputArguments - i=862 - i=8852 - i=76 + i=68 + i=78 + i=15751 - - - Default XML + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + + OutputArguments - i=865 - i=8855 - i=76 + i=68 + i=78 + i=15751 - - - Default XML + + + + + i=297 + + + + CompletionStateMachine + + i=17 + + -1 + + + + + + + + + + <TransferState> - i=868 - i=8858 - i=76 + i=15755 + i=15794 + i=15803 + i=11508 + i=15744 - - Default XML + + CurrentState - i=871 - i=8861 - i=76 + i=15756 + i=2760 + i=78 + i=15754 - - - Default XML + + + Id - i=299 - i=8294 - i=76 + i=68 + i=78 + i=15755 - - - Default XML + + + Reset - i=874 - i=8864 - i=76 + i=78 + i=15754 - - - Default XML + + + FileTransferStateMachineType + + 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=877 - i=8867 - i=76 + i=15816 + i=2309 + i=15803 - - Default XML + + StateNumber - i=897 - i=8870 - i=76 + i=68 + i=78 + i=15815 + + + + ReadPrepare + + i=15818 + i=2307 + i=15803 - - Opc.Ua + + StateNumber - i=8254 - i=12677 - i=8285 - i=8291 - i=12759 - i=12762 - 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=8879 - i=92 - i=72 + i=68 + i=78 + i=15817 + + + + ReadTransfer + + i=15820 + i=2307 + i=15803 + + + + StateNumber + + i=68 + i=78 + i=15819 + + + + ApplyWrite + + i=15822 + i=2307 + i=15803 + + + + StateNumber + + i=68 + i=78 + i=15821 + + + + Error + + i=15824 + i=2307 + i=15803 + + + + StateNumber + + i=68 + i=78 + i=15823 + + + + IdleToReadPrepare + + i=15826 + i=2310 + i=15803 + + + + TransitionNumber + + i=68 + i=78 + i=15825 + + + + ReadPrepareToReadTransfer + + i=15828 + i=2310 + i=15803 + + + + TransitionNumber + + i=68 + i=78 + i=15827 + + + + ReadTransferToIdle + + i=15830 + i=2310 + i=15803 + + + + TransitionNumber + + i=68 + i=78 + i=15829 + + + + IdleToApplyWrite + + i=15832 + i=2310 + i=15803 + + + + TransitionNumber + + i=68 + i=78 + i=15831 + + + + ApplyWriteToIdle + + i=15834 + i=2310 + i=15803 + + + + TransitionNumber + + i=68 + i=78 + i=15833 + + + + ReadPrepareToError + + i=15836 + i=2310 + i=15803 + + + + TransitionNumber + + i=68 + i=78 + i=15835 + + + + ReadTransferToError + + i=15838 + i=2310 + i=15803 + + + + TransitionNumber + + i=68 + i=78 + i=15837 + + + + ApplyWriteToError + + i=15840 + i=2310 + i=15803 + + + + TransitionNumber + + i=68 + i=78 + i=15839 + + + + ErrorToIdle + + i=15842 + i=2310 + i=15803 + + + + TransitionNumber + + i=68 + i=78 + i=15841 + + + + Reset + + i=78 + i=15803 + + + + RoleSetType + A container for the roles supported by the server. + + 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 - 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 -ZT0ieHM6YmFzZTY0QmluYXJ5IiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkJpdEZpZWxkTWFz -a0RhdGFUeXBlIiB0eXBlPSJ4czp1bnNpZ25lZExvbmciIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUg -IG5hbWU9Ik9wZW5GaWxlTW9kZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmlu -ZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlYWRfMSIgLz4NCiAgICAgIDx4czpl -bnVtZXJhdGlvbiB2YWx1ZT0iV3JpdGVfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 -ZT0iRXJhc2VFeGlzdGluZ180IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBcHBl -bmRfOCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9Ik9wZW5GaWxlTW9kZSIgdHlwZT0idG5zOk9wZW5GaWxlTW9kZSIgLz4N -Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mT3BlbkZpbGVNb2RlIj4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPcGVuRmlsZU1vZGUiIHR5cGU9InRu -czpPcGVuRmlsZU1vZGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iTGlzdE9mT3BlbkZpbGVNb2RlIiB0eXBlPSJ0bnM6TGlzdE9mT3BlbkZpbGVNb2RlIiBuaWxs -YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJUcnVz -dExpc3RNYXNrcyI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAg -ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv -biB2YWx1ZT0iVHJ1c3RlZENlcnRpZmljYXRlc18xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u -IHZhbHVlPSJUcnVzdGVkQ3Jsc18yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJ -c3N1ZXJDZXJ0aWZpY2F0ZXNfNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNz -dWVyQ3Jsc184IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBbGxfMTUiIC8+DQog -ICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJUcnVzdExpc3RNYXNrcyIgdHlwZT0idG5zOlRydXN0TGlzdE1hc2tzIiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJUcnVzdExpc3REYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3BlY2lmaWVkTGlzdHMiIHR5cGU9InhzOnVuc2ln -bmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcnVzdGVk -Q2VydGlmaWNhdGVzIiB0eXBlPSJ1YTpMaXN0T2ZCeXRlU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJ1c3RlZENybHMiIHR5 -cGU9InVhOkxpc3RPZkJ5dGVTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc3N1ZXJDZXJ0aWZpY2F0ZXMiIHR5cGU9InVhOkxp -c3RPZkJ5dGVTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJJc3N1ZXJDcmxzIiB0eXBlPSJ1YTpMaXN0T2ZCeXRlU3RyaW5nIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRydXN0TGlzdERhdGFUeXBlIiB0 -eXBlPSJ0bnM6VHJ1c3RMaXN0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 -Ikxpc3RPZlRydXN0TGlzdERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJUcnVzdExpc3REYXRhVHlwZSIgdHlwZT0idG5zOlRydXN0TGlzdERhdGFU -eXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJMaXN0T2ZUcnVzdExpc3REYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlRydXN0TGlz -dERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVU -eXBlICBuYW1lPSJJZFR5cGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3Vt -ZW50YXRpb24+VGhlIHR5cGUgb2YgaWRlbnRpZmllciB1c2VkIGluIGEgbm9kZSBpZC48L3hzOmRv -Y3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpyZXN0cmljdGlvbiBi -YXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOdW1lcmljXzAi -IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN0cmluZ18xIiAvPg0KICAgICAgPHhz -OmVudW1lcmF0aW9uIHZhbHVlPSJHdWlkXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs -dWU9Ik9wYXF1ZV8zIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSWRUeXBlIiB0eXBlPSJ0bnM6SWRUeXBlIiAvPg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZJZFR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IklkVHlwZSIgdHlwZT0idG5zOklkVHlwZSIgbWluT2Nj -dXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZJZFR5cGUiIHR5cGU9 -InRuczpMaXN0T2ZJZFR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhz -OnNpbXBsZVR5cGUgIG5hbWU9Ik5vZGVDbGFzcyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg -ICA8eHM6ZG9jdW1lbnRhdGlvbj5BIG1hc2sgc3BlY2lmeWluZyB0aGUgY2xhc3Mgb2YgdGhlIG5v -ZGUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6cmVz -dHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i -VW5zcGVjaWZpZWRfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iT2JqZWN0XzEi -IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZhcmlhYmxlXzIiIC8+DQogICAgICA8 -eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik1ldGhvZF80IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u -IHZhbHVlPSJPYmplY3RUeXBlXzgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZh -cmlhYmxlVHlwZV8xNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVmZXJlbmNl -VHlwZV8zMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGF0YVR5cGVfNjQiIC8+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZpZXdfMTI4IiAvPg0KICAgIDwveHM6cmVz -dHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUNs -YXNzIiB0eXBlPSJ0bnM6Tm9kZUNsYXNzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJO -b2RlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlNwZWNp -ZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gYWxsIG5vZGVzLjwveHM6ZG9jdW1l -bnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlQ2xhc3MiIHR5 -cGU9InRuczpOb2RlQ2xhc3MiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IkJyb3dzZU5hbWUiIHR5cGU9InVhOlF1YWxpZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNwbGF5TmFtZSIgdHlw -ZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IkRlc2NyaXB0aW9uIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0 -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iV3JpdGVNYXNrIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlcldyaXRlTWFzayIgdHlwZT0ieHM6dW5zaWduZWRJbnQi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZXMiIHR5 -cGU9InRuczpMaXN0T2ZSZWZlcmVuY2VOb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9Ik5vZGUiIHR5cGU9InRuczpOb2RlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJMaXN0T2ZOb2RlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJOb2RlIiB0eXBlPSJ0bnM6Tm9kZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91 -bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTm9kZSIgdHlwZT0idG5zOkxpc3RP -Zk5vZGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9Ikluc3RhbmNlTm9kZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxz -ZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlIj4NCiAgICAgICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQog -ICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iSW5zdGFuY2VOb2RlIiB0eXBlPSJ0bnM6SW5zdGFuY2VOb2RlIiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJUeXBlTm9kZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1p -eGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlIj4NCiAgICAg -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRl -bnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iVHlwZU5vZGUiIHR5cGU9InRuczpUeXBlTm9kZSIgLz4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iT2JqZWN0Tm9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQog -ICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVs -b25nIHRvIG9iamVjdCBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 -aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4 -dGVuc2lvbiBiYXNlPSJ0bnM6SW5zdGFuY2VOb2RlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50Tm90aWZpZXIiIHR5cGU9InhzOnVuc2ln -bmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAg -PC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT2JqZWN0Tm9kZSIgdHlwZT0idG5zOk9iamVjdE5v -ZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik9iamVjdFR5cGVOb2RlIj4NCiAgICA8 -eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0 -cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gb2JqZWN0IHR5cGUgbm9kZXMuPC94czpkb2N1bWVudGF0 -aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9 -ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOlR5cGVOb2RlIj4NCiAgICAg -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IklzQWJzdHJhY3Qi -IHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5j -ZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9iamVjdFR5cGVOb2RlIiB0eXBl -PSJ0bnM6T2JqZWN0VHlwZU5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlh -YmxlTm9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5T -cGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIHZhcmlhYmxlIG5vZGVzLjwv -eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhD -b250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpJbnN0 -YW5jZU5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iVmFsdWUiIHR5cGU9InVhOlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVl -UmFuayIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iQXJyYXlEaW1lbnNpb25zIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWNj -ZXNzTGV2ZWwiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJBY2Nlc3NMZXZlbCIgdHlwZT0ieHM6dW5zaWduZWRC -eXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWluaW11 -bVNhbXBsaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3Rvcml6aW5nIiB0eXBlPSJ4czpib29sZWFuIiBt -aW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVu -c2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJWYXJpYWJsZU5vZGUiIHR5cGU9InRuczpWYXJpYWJsZU5vZGUiIC8+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhYmxlVHlwZU5vZGUiPg0KICAgIDx4czph -bm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+U3BlY2lmaWVzIHRoZSBhdHRyaWJ1 -dGVzIHdoaWNoIGJlbG9uZyB0byB2YXJpYWJsZSB0eXBlIG5vZGVzLjwveHM6ZG9jdW1lbnRhdGlv -bj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJm -YWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpUeXBlTm9kZSI+DQogICAgICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0i -dWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkRhdGFUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czppbnQi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcnJheURpbWVu -c2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpi -b29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8 -L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWYXJpYWJsZVR5cGVOb2RlIiB0eXBlPSJ0bnM6VmFy -aWFibGVUeXBlTm9kZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVmZXJlbmNlVHlw -ZU5vZGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+U3Bl -Y2lmaWVzIHRoZSBhdHRyaWJ1dGVzIHdoaWNoIGJlbG9uZyB0byByZWZlcmVuY2UgdHlwZSBub2Rl -cy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21w -bGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6 -VHlwZU5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iSXNBYnN0cmFjdCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN5bW1ldHJpYyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkludmVyc2VOYW1lIiB0 -eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpj -b21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -UmVmZXJlbmNlVHlwZU5vZGUiIHR5cGU9InRuczpSZWZlcmVuY2VUeXBlTm9kZSIgLz4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iTWV0aG9kTm9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQog -ICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVs -b25nIHRvIG1ldGhvZCBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 -aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4 -dGVuc2lvbiBiYXNlPSJ0bnM6SW5zdGFuY2VOb2RlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV4ZWN1dGFibGUiIHR5cGU9InhzOmJvb2xlYW4i -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyRXhlY3V0 -YWJsZSIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNl -cXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTWV0aG9kTm9kZSIgdHlw -ZT0idG5zOk1ldGhvZE5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZpZXdOb2Rl -Ij4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRl -bnNpb24gYmFzZT0idG5zOkluc3RhbmNlTm9kZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250YWluc05vTG9vcHMiIHR5cGU9InhzOmJvb2xl -YW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudE5v -dGlmaWVyIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg -PC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENv -bnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlZpZXdOb2Rl -IiB0eXBlPSJ0bnM6Vmlld05vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFU -eXBlTm9kZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8 -eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpUeXBlTm9kZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpib29sZWFu -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4 -dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZU5vZGUiIHR5cGU9InRuczpEYXRhVHlwZU5vZGUi -IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZmVyZW5jZU5vZGUiPg0KICAgIDx4czph -bm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+U3BlY2lmaWVzIGEgcmVmZXJlbmNl -IHdoaWNoIGJlbG9uZ3MgdG8gYSBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu -bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVm -ZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ludmVyc2UiIHR5cGU9InhzOmJvb2xl -YW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdldElkIiB0 -eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJSZWZlcmVuY2VOb2RlIiB0eXBlPSJ0bnM6UmVmZXJlbmNlTm9kZSIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUmVmZXJlbmNlTm9kZSI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlTm9kZSIgdHlwZT0idG5zOlJlZmVy -ZW5jZU5vZGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9Ikxpc3RPZlJlZmVyZW5jZU5vZGUiIHR5cGU9InRuczpMaXN0T2ZSZWZlcmVu -Y2VOb2RlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJBcmd1bWVudCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l -bnRhdGlvbj5BbiBhcmd1bWVudCBmb3IgYSBtZXRob2QuPC94czpkb2N1bWVudGF0aW9uPg0KICAg -IDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -VmFsdWVSYW5rIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkFycmF5RGltZW5zaW9ucyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVzY3Jp -cHRpb24iIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iQXJndW1lbnQiIHR5cGU9InRuczpBcmd1bWVudCIgLz4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iTGlzdE9mQXJndW1lbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IkFyZ3VtZW50IiB0eXBlPSJ0bnM6QXJndW1lbnQiIG1pbk9jY3Vy -cz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 -c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RP -ZkFyZ3VtZW50IiB0eXBlPSJ0bnM6TGlzdE9mQXJndW1lbnQiIG5pbGxhYmxlPSJ0cnVlIj48L3hz -OmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVudW1WYWx1ZVR5cGUiPg0KICAg -IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBtYXBwaW5nIGJldHdl -ZW4gYSB2YWx1ZSBvZiBhbiBlbnVtZXJhdGVkIHR5cGUgYW5kIGEgbmFtZSBhbmQgZGVzY3JpcHRp -b24uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0ieHM6bG9uZyIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzcGxheU5hbWUiIHR5cGU9 -InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFbnVtVmFsdWVUeXBlIiB0eXBl -PSJ0bnM6RW51bVZhbHVlVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m -RW51bVZhbHVlVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iRW51bVZhbHVlVHlwZSIgdHlwZT0idG5zOkVudW1WYWx1ZVR5cGUiIG1pbk9jY3Vycz0iMCIg -bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu -Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkVudW1W -YWx1ZVR5cGUiIHR5cGU9InRuczpMaXN0T2ZFbnVtVmFsdWVUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+ -PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJPcHRpb25TZXQiPg0KICAg -IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhpcyBhYnN0cmFjdCBT -dHJ1Y3R1cmVkIERhdGFUeXBlIGlzIHRoZSBiYXNlIERhdGFUeXBlIGZvciBhbGwgRGF0YVR5cGVz -IHJlcHJlc2VudGluZyBhIGJpdCBtYXNrLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu -bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFs -dWUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbGlkQml0cyIgdHlwZT0ieHM6YmFzZTY0Qmlu -YXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9wdGlvblNldCIgdHlw -ZT0idG5zOk9wdGlvblNldCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mT3B0 -aW9uU2V0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPcHRp -b25TZXQiIHR5cGU9InRuczpPcHRpb25TZXQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJv -dW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk9wdGlvblNldCIgdHlwZT0idG5z -Okxpc3RPZk9wdGlvblNldCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iVW5pb24iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhz -OmRvY3VtZW50YXRpb24+VGhpcyBhYnN0cmFjdCBEYXRhVHlwZSBpcyB0aGUgYmFzZSBEYXRhVHlw -ZSBmb3IgYWxsIHVuaW9uIERhdGFUeXBlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czph -bm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVbmlvbiIgdHlwZT0idG5zOlVuaW9u -IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZVbmlvbiI+DQogICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVW5pb24iIHR5cGU9InRuczpVbmlvbiIg -bWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iTGlzdE9mVW5pb24iIHR5cGU9InRuczpMaXN0T2ZVbmlvbiIgbmlsbGFibGU9InRydWUiPjwv -eHM6ZWxlbWVudD4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOb3JtYWxpemVkU3RyaW5nIiB0eXBl -PSJ4czpzdHJpbmciIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVjaW1hbFN0cmluZyIgdHlw -ZT0ieHM6c3RyaW5nIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkR1cmF0aW9uU3RyaW5nIiB0 -eXBlPSJ4czpzdHJpbmciIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZVN0cmluZyIgdHlw -ZT0ieHM6c3RyaW5nIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkRhdGVTdHJpbmciIHR5cGU9 -InhzOnN0cmluZyIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEdXJhdGlvbiIgdHlwZT0ieHM6 -ZG91YmxlIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IlV0Y1RpbWUiIHR5cGU9InhzOmRhdGVU -aW1lIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkxvY2FsZUlkIiB0eXBlPSJ4czpzdHJpbmci -IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlRpbWVab25lRGF0YVR5cGUiPg0KICAgIDx4 -czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik9mZnNldCIgdHlwZT0ieHM6c2hv -cnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRheWxpZ2h0U2F2 -aW5nSW5PZmZzZXQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hz -OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1l -Wm9uZURhdGFUeXBlIiB0eXBlPSJ0bnM6VGltZVpvbmVEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iTGlzdE9mVGltZVpvbmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZVpvbmVEYXRhVHlwZSIgdHlwZT0idG5zOlRp -bWVab25lRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlRpbWVab25lRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0 -T2ZUaW1lWm9uZURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4 -czplbGVtZW50IG5hbWU9IkludGVnZXJJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIC8+DQoNCiAg -PHhzOnNpbXBsZVR5cGUgIG5hbWU9IkFwcGxpY2F0aW9uVHlwZSI+DQogICAgPHhzOmFubm90YXRp -b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgdHlwZXMgb2YgYXBwbGljYXRpb25zLjwv -eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0 -aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNlcnZl -cl8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDbGllbnRfMSIgLz4NCiAgICAg -IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ2xpZW50QW5kU2VydmVyXzIiIC8+DQogICAgICA8eHM6 -ZW51bWVyYXRpb24gdmFsdWU9IkRpc2NvdmVyeVNlcnZlcl8zIiAvPg0KICAgIDwveHM6cmVzdHJp -Y3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRp -b25UeXBlIiB0eXBlPSJ0bnM6QXBwbGljYXRpb25UeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg -ICAgIDx4czpkb2N1bWVudGF0aW9uPkRlc2NyaWJlcyBhbiBhcHBsaWNhdGlvbiBhbmQgaG93IHRv -IGZpbmQgaXQuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcHBsaWNhdGlvblVyaSIgdHlw -ZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iUHJvZHVjdFVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25O -YW1lIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25UeXBlIiB0eXBlPSJ0bnM6 -QXBwbGljYXRpb25UeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJHYXRld2F5U2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjb3ZlcnlQcm9maWxlVXJp -IiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjb3ZlcnlVcmxzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmci -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg -PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25EZXNjcmlw -dGlvbiIgdHlwZT0idG5zOkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9Ikxpc3RPZkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1 -ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIHR5 -cGU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0i -dW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZBcHBsaWNhdGlvbkRlc2Ny -aXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mQXBwbGljYXRpb25EZXNjcmlwdGlvbiIgbmlsbGFibGU9 -InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVxdWVzdEhl -YWRlciI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUg -aGVhZGVyIHBhc3NlZCB3aXRoIGV2ZXJ5IHNlcnZlciByZXF1ZXN0LjwveHM6ZG9jdW1lbnRhdGlv -bj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iQXV0aGVudGljYXRpb25Ub2tlbiIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0 -YW1wIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iUmVxdWVzdEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldHVybkRpYWdub3N0aWNzIiB0eXBlPSJ4 -czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -QXVkaXRFbnRyeUlkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lb3V0SGludCIgdHlwZT0ieHM6dW5z -aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZGl0 -aW9uYWxIZWFkZXIiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRl -ciIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVzcG9uc2VIZWFkZXIiPg0KICAgIDx4 -czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGhlYWRlciBwYXNzZWQg -d2l0aCBldmVyeSBzZXJ2ZXIgcmVzcG9uc2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6 -YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJU -aW1lc3RhbXAiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGFuZGxlIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmljZVJlc3VsdCIgdHlwZT0i -dWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -U2VydmljZURpYWdub3N0aWNzIiB0eXBlPSJ1YTpEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0cmluZ1RhYmxl -IiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRpdGlvbmFsSGVhZGVyIiB0eXBlPSJ1YTpFeHRl -bnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz -ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9u -c2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iU2VydmljZUZhdWx0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpk -b2N1bWVudGF0aW9uPlRoZSByZXNwb25zZSByZXR1cm5lZCBieSBhbGwgc2VydmljZXMgd2hlbiB0 -aGVyZSBpcyBhIHNlcnZpY2UgbGV2ZWwgZXJyb3IuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwv -eHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNlcnZpY2VGYXVsdCIgdHlwZT0idG5zOlNlcnZpY2VG -YXVsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRmluZFNlcnZlcnNSZXF1ZXN0Ij4N -CiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkZpbmRzIHRoZSBz -ZXJ2ZXJzIGtub3duIHRvIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4N -CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2lu -dFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmci -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJTZXJ2ZXJVcmlzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iRmluZFNlcnZlcnNSZXF1ZXN0IiB0eXBlPSJ0bnM6RmluZFNlcnZl -cnNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJGaW5kU2VydmVyc1Jlc3Bv -bnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkZpbmRz -IHRoZSBzZXJ2ZXJzIGtub3duIHRvIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwveHM6ZG9jdW1lbnRh -dGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlNlcnZlcnMiIHR5cGU9InRuczpMaXN0T2ZBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkZpbmRTZXJ2ZXJzUmVzcG9uc2UiIHR5cGU9 -InRuczpGaW5kU2VydmVyc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJT -ZXJ2ZXJPbk5ldHdvcmsiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlJlY29yZElkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzY292 -ZXJ5VXJsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJDYXBhYmlsaXRpZXMiIHR5cGU9InVhOkxp -c3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJP -bk5ldHdvcmsiIHR5cGU9InRuczpTZXJ2ZXJPbk5ldHdvcmsiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9Ikxpc3RPZlNlcnZlck9uTmV0d29yayI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyT25OZXR3b3JrIiB0eXBlPSJ0bnM6U2VydmVyT25O -ZXR3b3JrIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJMaXN0T2ZTZXJ2ZXJPbk5ldHdvcmsiIHR5cGU9InRuczpMaXN0T2ZTZXJ2ZXJP -bk5ldHdvcmsiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVl -c3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJTdGFydGluZ1JlY29yZElkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4UmVjb3Jkc1RvUmV0dXJuIiB0 -eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iU2VydmVyQ2FwYWJpbGl0eUZpbHRlciIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVx -dWVzdCIgdHlwZT0idG5zOkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVxdWVzdCIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iRmluZFNlcnZlcnNPbk5ldHdvcmtSZXNwb25zZSI+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9 -InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ikxhc3RDb3VudGVyUmVzZXRUaW1lIiB0eXBlPSJ4czpkYXRl -VGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVycyIg -dHlwZT0idG5zOkxpc3RPZlNlcnZlck9uTmV0d29yayIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJGaW5kU2VydmVyc09uTmV0d29ya1Jlc3BvbnNlIiB0eXBlPSJ0bnM6Rmlu -ZFNlcnZlcnNPbk5ldHdvcmtSZXNwb25zZSIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBcHBs -aWNhdGlvbkluc3RhbmNlQ2VydGlmaWNhdGUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgLz4NCg0K -ICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iTWVzc2FnZVNlY3VyaXR5TW9kZSI+DQogICAgPHhzOmFu -bm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgdHlwZSBvZiBzZWN1cml0eSB0 -byB1c2Ugb24gYSBtZXNzYWdlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRp -b24+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51 -bWVyYXRpb24gdmFsdWU9IkludmFsaWRfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 -ZT0iTm9uZV8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTaWduXzIiIC8+DQog -ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNpZ25BbmRFbmNyeXB0XzMiIC8+DQogICAgPC94 -czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJN -ZXNzYWdlU2VjdXJpdHlNb2RlIiB0eXBlPSJ0bnM6TWVzc2FnZVNlY3VyaXR5TW9kZSIgLz4NCg0K -ICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iVXNlclRva2VuVHlwZSI+DQogICAgPHhzOmFubm90YXRp -b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgcG9zc2libGUgdXNlciB0b2tlbiB0eXBl -cy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpyZXN0 -cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJB -bm9ueW1vdXNfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVXNlck5hbWVfMSIg -Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ2VydGlmaWNhdGVfMiIgLz4NCiAgICAg -IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNzdWVkVG9rZW5fMyIgLz4NCiAgICA8L3hzOnJlc3Ry -aWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVzZXJUb2tl -blR5cGUiIHR5cGU9InRuczpVc2VyVG9rZW5UeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJVc2VyVG9rZW5Qb2xpY3kiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRv -Y3VtZW50YXRpb24+RGVzY3JpYmVzIGEgdXNlciB0b2tlbiB0aGF0IGNhbiBiZSB1c2VkIHdpdGgg -YSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQb2xpY3lJZCIgdHlwZT0ieHM6 -c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iVG9rZW5UeXBlIiB0eXBlPSJ0bnM6VXNlclRva2VuVHlwZSIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNzdWVkVG9rZW5UeXBlIiB0eXBlPSJ4czpz -dHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJJc3N1ZXJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlQb2xp -Y3lVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJVc2VyVG9rZW5Qb2xpY3kiIHR5cGU9InRuczpVc2VyVG9rZW5Qb2xpY3kiIC8+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlVzZXJUb2tlblBvbGljeSI+DQogICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlclRva2VuUG9saWN5IiB0eXBlPSJ0 -bnM6VXNlclRva2VuUG9saWN5IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZVc2VyVG9rZW5Qb2xpY3kiIHR5cGU9InRuczpM -aXN0T2ZVc2VyVG9rZW5Qb2xpY3kiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVuZHBvaW50RGVzY3JpcHRpb24iPg0KICAgIDx4czphbm5v -dGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGRlc2NyaXB0aW9uIG9mIGEgZW5k -cG9pbnQgdGhhdCBjYW4gYmUgdXNlZCB0byBhY2Nlc3MgYSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0 -aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyIiB0eXBl -PSJ0bnM6QXBwbGljYXRpb25EZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlckNlcnRpZmljYXRlIiB0eXBlPSJ4 -czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlN -b2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVBv -bGljeVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlcklkZW50aXR5VG9rZW5zIiB0eXBlPSJ0bnM6 -TGlzdE9mVXNlclRva2VuUG9saWN5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNwb3J0UHJvZmlsZVVyaSIgdHlwZT0ieHM6c3Ry -aW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iU2VjdXJpdHlMZXZlbCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iRW5kcG9pbnREZXNjcmlwdGlvbiIgdHlwZT0idG5zOkVuZHBvaW50RGVzY3JpcHRp -b24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkVuZHBvaW50RGVzY3JpcHRp -b24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50 -RGVzY3JpcHRpb24iIHR5cGU9InRuczpFbmRwb2ludERlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAi -IG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl -bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbmRw -b2ludERlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mRW5kcG9pbnREZXNjcmlwdGlvbiIgbmls -bGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iR2V0 -RW5kcG9pbnRzUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l -bnRhdGlvbj5HZXRzIHRoZSBlbmRwb2ludHMgdXNlZCBieSB0aGUgc2VydmVyLjwveHM6ZG9jdW1l -bnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIi -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0 -T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJQcm9maWxlVXJpcyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkdldEVuZHBvaW50c1JlcXVlc3QiIHR5cGU9InRu -czpHZXRFbmRwb2ludHNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJHZXRF -bmRwb2ludHNSZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l -bnRhdGlvbj5HZXRzIHRoZSBlbmRwb2ludHMgdXNlZCBieSB0aGUgc2VydmVyLjwveHM6ZG9jdW1l -bnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRl -ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IkVuZHBvaW50cyIgdHlwZT0idG5zOkxpc3RPZkVuZHBvaW50RGVzY3JpcHRpb24iIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iR2V0RW5kcG9pbnRzUmVzcG9uc2UiIHR5 -cGU9InRuczpHZXRFbmRwb2ludHNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt -ZT0iUmVnaXN0ZXJlZFNlcnZlciI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9j -dW1lbnRhdGlvbj5UaGUgaW5mb3JtYXRpb24gcmVxdWlyZWQgdG8gcmVnaXN0ZXIgYSBzZXJ2ZXIg -d2l0aCBhIGRpc2NvdmVyeSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5u -b3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2 -ZXJVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlByb2R1Y3RVcmkiIHR5cGU9InhzOnN0cmluZyIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNl -cnZlck5hbWVzIiB0eXBlPSJ1YTpMaXN0T2ZMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVHlwZSIgdHlw -ZT0idG5zOkFwcGxpY2F0aW9uVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iR2F0ZXdheVNlcnZlclVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzY292ZXJ5VXJs -cyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VtYXBob3JlRmlsZVBhdGgiIHR5cGU9InhzOnN0 -cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IklzT25saW5lIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg -PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -UmVnaXN0ZXJlZFNlcnZlciIgdHlwZT0idG5zOlJlZ2lzdGVyZWRTZXJ2ZXIiIC8+DQoNCiAgPHhz -OmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlJlZ2lzdGVyZWRTZXJ2ZXIiPg0KICAgIDx4czpzZXF1 -ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyZWRTZXJ2ZXIiIHR5cGU9InRu -czpSZWdpc3RlcmVkU2VydmVyIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZSZWdpc3RlcmVkU2VydmVyIiB0eXBlPSJ0bnM6 -TGlzdE9mUmVnaXN0ZXJlZFNlcnZlciIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0K -ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXF1ZXN0Ij4NCiAgICA8eHM6 -YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlJlZ2lzdGVycyBhIHNlcnZlciB3 -aXRoIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu -bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVx -dWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXIiIHR5cGU9InRuczpS -ZWdpc3RlcmVkU2VydmVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv -eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJl -Z2lzdGVyU2VydmVyUmVxdWVzdCIgdHlwZT0idG5zOlJlZ2lzdGVyU2VydmVyUmVxdWVzdCIgLz4N -Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXNwb25zZSI+DQogICAg -PHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5SZWdpc3RlcnMgYSBzZXJ2 -ZXIgd2l0aCB0aGUgZGlzY292ZXJ5IHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94 -czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXNwb25zZSIgdHlwZT0idG5z -OlJlZ2lzdGVyU2VydmVyUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRp -c2NvdmVyeUNvbmZpZ3VyYXRpb24iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRv -Y3VtZW50YXRpb24+QSBiYXNlIHR5cGUgZm9yIGRpc2NvdmVyeSBjb25maWd1cmF0aW9uIGluZm9y -bWF0aW9uLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9IkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpEaXNjb3Zl -cnlDb25maWd1cmF0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNZG5zRGlzY292 -ZXJ5Q29uZmlndXJhdGlvbiI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l -bnRhdGlvbj5UaGUgZGlzY292ZXJ5IGluZm9ybWF0aW9uIG5lZWRlZCBmb3IgbUROUyByZWdpc3Ry -YXRpb24uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6 -Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0i -dG5zOkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWRuc1NlcnZlck5hbWUiIHR5cGU9InhzOnN0cmluZyIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJTZXJ2ZXJDYXBhYmlsaXRpZXMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwv -eHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1kbnNEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiB0eXBl -PSJ0bnM6TWRuc0Rpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9IlJlZ2lzdGVyU2VydmVyMlJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVy -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iU2VydmVyIiB0eXBlPSJ0bnM6UmVnaXN0ZXJlZFNlcnZlciIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2NvdmVyeUNvbmZpZ3Vy -YXRpb24iIHR5cGU9InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZWdpc3RlclNlcnZlcjJSZXF1ZXN0IiB0eXBlPSJ0bnM6UmVn -aXN0ZXJTZXJ2ZXIyUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0 -ZXJTZXJ2ZXIyUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb25maWd1 -cmF0aW9uUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZv -cyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXIyUmVzcG9uc2UiIHR5cGU9InRuczpSZWdpc3Rl -clNlcnZlcjJSZXNwb25zZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iU2VjdXJpdHlU -b2tlblJlcXVlc3RUeXBlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVu -dGF0aW9uPkluZGljYXRlcyB3aGV0aGVyIGEgdG9rZW4gaWYgYmVpbmcgY3JlYXRlZCBvciByZW5l -d2VkLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJl -c3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 -Iklzc3VlXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlbmV3XzEiIC8+DQog -ICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJTZWN1cml0eVRva2VuUmVxdWVzdFR5cGUiIHR5cGU9InRuczpTZWN1cml0eVRva2VuUmVx -dWVzdFR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNoYW5uZWxTZWN1cml0eVRv -a2VuIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSB0 -b2tlbiB0aGF0IGlkZW50aWZpZXMgYSBzZXQgb2Yga2V5cyBmb3IgYW4gYWN0aXZlIHNlY3VyZSBj -aGFubmVsLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2hhbm5lbElkIiB0eXBlPSJ4czp1 -bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVG9r -ZW5JZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IkNyZWF0ZWRBdCIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRMaWZldGltZSIgdHlwZT0ieHM6dW5z -aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDaGFubmVsU2VjdXJpdHlUb2tlbiIgdHlw -ZT0idG5zOkNoYW5uZWxTZWN1cml0eVRva2VuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJPcGVuU2VjdXJlQ2hhbm5lbFJlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAg -PHhzOmRvY3VtZW50YXRpb24+Q3JlYXRlcyBhIHNlY3VyZSBjaGFubmVsIHdpdGggYSBzZXJ2ZXIu -PC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVx -dWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IkNsaWVudFByb3RvY29sVmVyc2lvbiIgdHlwZT0ieHM6dW5zaWduZWRJbnQi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RUeXBlIiB0 -eXBlPSJ0bnM6U2VjdXJpdHlUb2tlblJlcXVlc3RUeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJp -dHlNb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRO -b25jZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTGlmZXRpbWUiIHR5cGU9Inhz -OnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT3BlblNlY3VyZUNoYW5uZWxSZXF1 -ZXN0IiB0eXBlPSJ0bnM6T3BlblNlY3VyZUNoYW5uZWxSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJPcGVuU2VjdXJlQ2hhbm5lbFJlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3Rh -dGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNyZWF0ZXMgYSBzZWN1cmUgY2hhbm5lbCB3 -aXRoIGEgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQog -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIi -IHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlclByb3RvY29sVmVyc2lvbiIgdHlwZT0i -eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlNlY3VyaXR5VG9rZW4iIHR5cGU9InRuczpDaGFubmVsU2VjdXJpdHlUb2tlbiIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlck5v -bmNlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iT3BlblNlY3VyZUNoYW5uZWxSZXNwb25zZSIgdHlwZT0idG5zOk9wZW5TZWN1cmVD -aGFubmVsUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNsb3NlU2VjdXJl -Q2hhbm5lbFJlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50 -YXRpb24+Q2xvc2VzIGEgc2VjdXJlIGNoYW5uZWwuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwv -eHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDbG9zZVNlY3VyZUNoYW5uZWxSZXF1ZXN0IiB0eXBlPSJ0 -bnM6Q2xvc2VTZWN1cmVDaGFubmVsUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt -ZT0iQ2xvc2VTZWN1cmVDaGFubmVsUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAg -ICAgPHhzOmRvY3VtZW50YXRpb24+Q2xvc2VzIGEgc2VjdXJlIGNoYW5uZWwuPC94czpkb2N1bWVu -dGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVy -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog -IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNsb3NlU2VjdXJlQ2hhbm5l -bFJlc3BvbnNlIiB0eXBlPSJ0bnM6Q2xvc2VTZWN1cmVDaGFubmVsUmVzcG9uc2UiIC8+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiPg0KICAgIDx4 -czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBzb2Z0d2FyZSBjZXJ0aWZp -Y2F0ZSB3aXRoIGEgZGlnaXRhbCBzaWduYXR1cmUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwv -eHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJDZXJ0aWZpY2F0ZURhdGEiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNpZ25hdHVyZSIgdHlw -ZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -IlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiIHR5cGU9InRuczpTaWduZWRTb2Z0d2FyZUNlcnRp -ZmljYXRlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTaWduZWRTb2Z0d2Fy -ZUNlcnRpZmljYXRlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiB0eXBlPSJ0bnM6U2lnbmVkU29mdHdhcmVDZXJ0 -aWZpY2F0ZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iTGlzdE9mU2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgdHlwZT0idG5zOkxp -c3RPZlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1l -bnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbkF1dGhlbnRpY2F0aW9uVG9rZW4iIHR5 -cGU9InVhOk5vZGVJZCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2lnbmF0dXJlRGF0 -YSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIGRpZ2l0 -YWwgc2lnbmF0dXJlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQog -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWxnb3JpdGhtIiB0eXBl -PSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJTaWduYXR1cmUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTaWduYXR1cmVEYXRhIiB0eXBlPSJ0bnM6U2ln -bmF0dXJlRGF0YSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ3JlYXRlU2Vzc2lvblJl -cXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q3Jl -YXRlcyBhIG5ldyBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQog -ICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50RGVz -Y3JpcHRpb24iIHR5cGU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVXJpIiB0 -eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbk5h -bWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVudE5vbmNlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnki -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJDbGllbnRDZXJ0aWZpY2F0ZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkU2Vz -c2lvblRpbWVvdXQiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iTWF4UmVzcG9uc2VNZXNzYWdlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJ -bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVTZXNzaW9uUmVxdWVzdCIgdHlwZT0idG5z -OkNyZWF0ZVNlc3Npb25SZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDcmVh -dGVTZXNzaW9uUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3Vt -ZW50YXRpb24+Q3JlYXRlcyBhIG5ldyBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L3hzOmRvY3Vt -ZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFk -ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJTZXNzaW9uSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkF1dGhlbnRpY2F0aW9uVG9rZW4iIHR5 -cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlJldmlzZWRTZXNzaW9uVGltZW91dCIgdHlwZT0ieHM6ZG91YmxlIiBt -aW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJOb25jZSIgdHlw -ZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyQ2VydGlmaWNhdGUiIHR5cGU9InhzOmJhc2U2NEJp -bmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlNlcnZlckVuZHBvaW50cyIgdHlwZT0idG5zOkxpc3RPZkVuZHBvaW50RGVzY3JpcHRp -b24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJTZXJ2ZXJTb2Z0d2FyZUNlcnRpZmljYXRlcyIgdHlwZT0idG5zOkxpc3RPZlNpZ25lZFNv -ZnR3YXJlQ2VydGlmaWNhdGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJTaWduYXR1cmUiIHR5cGU9InRuczpTaWduYXR1cmVE -YXRhIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iTWF4UmVxdWVzdE1lc3NhZ2VTaXplIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9IkNyZWF0ZVNlc3Npb25SZXNwb25zZSIgdHlwZT0idG5zOkNyZWF0ZVNl -c3Npb25SZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVXNlcklkZW50aXR5 -VG9rZW4iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBi -YXNlIHR5cGUgZm9yIGEgdXNlciBpZGVudGl0eSB0b2tlbi48L3hzOmRvY3VtZW50YXRpb24+DQog -ICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlBvbGljeUlkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iVXNlcklkZW50aXR5VG9rZW4iIHR5cGU9InRuczpVc2VySWRlbnRpdHlU -b2tlbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQW5vbnltb3VzSWRlbnRpdHlUb2tl -biI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHRva2Vu -IHJlcHJlc2VudGluZyBhbiBhbm9ueW1vdXMgdXNlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAg -PC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0K -ICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgICAg -ICA8eHM6c2VxdWVuY2U+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVu -c2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJBbm9ueW1vdXNJZGVudGl0eVRva2VuIiB0eXBlPSJ0bnM6QW5vbnlt -b3VzSWRlbnRpdHlUb2tlbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVXNlck5hbWVJ -ZGVudGl0eVRva2VuIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0 -aW9uPkEgdG9rZW4gcmVwcmVzZW50aW5nIGEgdXNlciBpZGVudGlmaWVkIGJ5IGEgdXNlciBuYW1l -IGFuZCBwYXNzd29yZC48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0K -ICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lv -biBiYXNlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQog -ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJQYXNzd29yZCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuY3J5cHRpb25BbGdvcml0 -aG0iIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29t -cGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVz -ZXJOYW1lSWRlbnRpdHlUb2tlbiIgdHlwZT0idG5zOlVzZXJOYW1lSWRlbnRpdHlUb2tlbiIgLz4N -Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iWDUwOUlkZW50aXR5VG9rZW4iPg0KICAgIDx4czph -bm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSB0b2tlbiByZXByZXNlbnRpbmcg -YSB1c2VyIGlkZW50aWZpZWQgYnkgYW4gWDUwOSBjZXJ0aWZpY2F0ZS48L3hzOmRvY3VtZW50YXRp -b24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0i -ZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4i -Pg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2Vy -dGlmaWNhdGVEYXRhIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lv -bj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJYNTA5SWRlbnRpdHlUb2tlbiIgdHlwZT0idG5zOlg1MDlJZGVudGl0eVRv -a2VuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJJc3N1ZWRJZGVudGl0eVRva2VuIj4N -CiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgdG9rZW4gcmVw -cmVzZW50aW5nIGEgdXNlciBpZGVudGlmaWVkIGJ5IGEgV1MtU2VjdXJpdHkgWE1MIHRva2VuLjwv -eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhD -b250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpVc2Vy -SWRlbnRpdHlUb2tlbiI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJUb2tlbkRhdGEiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmNyeXB0 -aW9uQWxnb3JpdGhtIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAg -ICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJJc3N1ZWRJZGVudGl0eVRva2VuIiB0eXBlPSJ0bnM6SXNzdWVkSWRlbnRpdHlUb2tl -biIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWN0aXZhdGVTZXNzaW9uUmVxdWVzdCI+ -DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BY3RpdmF0ZXMg -YSBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czph -bm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJl -cXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50U2lnbmF0dXJlIiB0 -eXBlPSJ0bnM6U2lnbmF0dXJlRGF0YSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVudFNvZnR3YXJlQ2VydGlmaWNhdGVzIiB0eXBl -PSJ0bnM6TGlzdE9mU2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkxvY2FsZUlkcyIgdHlwZT0i -dWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iVXNlcklkZW50aXR5VG9rZW4iIHR5cGU9InVhOkV4dGVuc2lvbk9i -amVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlVzZXJUb2tlblNpZ25hdHVyZSIgdHlwZT0idG5zOlNpZ25hdHVyZURhdGEiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWN0aXZhdGVTZXNzaW9uUmVxdWVzdCIg -dHlwZT0idG5zOkFjdGl2YXRlU2Vzc2lvblJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9IkFjdGl2YXRlU2Vzc2lvblJlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg -ICAgIDx4czpkb2N1bWVudGF0aW9uPkFjdGl2YXRlcyBhIHNlc3Npb24gd2l0aCB0aGUgc2VydmVy -LjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpS -ZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlNlcnZlck5vbmNlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1 -bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1 -YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJBY3RpdmF0ZVNlc3Npb25SZXNwb25zZSIgdHlwZT0idG5zOkFjdGl2YXRlU2Vzc2lvblJl -c3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDbG9zZVNlc3Npb25SZXF1ZXN0 -Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNsb3NlcyBh -IHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu -bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVx -dWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVTdWJzY3JpcHRpb25z -IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xvc2VTZXNzaW9uUmVx -dWVzdCIgdHlwZT0idG5zOkNsb3NlU2Vzc2lvblJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IkNsb3NlU2Vzc2lvblJlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg -ICAgIDx4czpkb2N1bWVudGF0aW9uPkNsb3NlcyBhIHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwv -eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNw -b25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDbG9zZVNl -c3Npb25SZXNwb25zZSIgdHlwZT0idG5zOkNsb3NlU2Vzc2lvblJlc3BvbnNlIiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJDYW5jZWxSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4N -CiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNhbmNlbHMgYW4gb3V0c3RhbmRpbmcgcmVxdWVzdC48 -L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5j -ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1 -ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVxdWVzdEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vy -cz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJDYW5jZWxSZXF1ZXN0IiB0eXBlPSJ0bnM6Q2FuY2VsUmVxdWVzdCIgLz4N -Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2FuY2VsUmVzcG9uc2UiPg0KICAgIDx4czphbm5v -dGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q2FuY2VscyBhbiBvdXRzdGFuZGluZyBy -ZXF1ZXN0LjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9 -InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IkNhbmNlbENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIg -bWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9IkNhbmNlbFJlc3BvbnNlIiB0eXBlPSJ0bnM6Q2FuY2VsUmVz -cG9uc2UiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9Ik5vZGVBdHRyaWJ1dGVzTWFzayI+ -DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYml0cyB1 -c2VkIHRvIHNwZWNpZnkgZGVmYXVsdCBhdHRyaWJ1dGVzIGZvciBhIG5ldyBub2RlLjwveHM6ZG9j -dW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJh -c2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4N -CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQWNjZXNzTGV2ZWxfMSIgLz4NCiAgICAgIDx4 -czplbnVtZXJhdGlvbiB2YWx1ZT0iQXJyYXlEaW1lbnNpb25zXzIiIC8+DQogICAgICA8eHM6ZW51 -bWVyYXRpb24gdmFsdWU9IkJyb3dzZU5hbWVfNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 -YWx1ZT0iQ29udGFpbnNOb0xvb3BzXzgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 -IkRhdGFUeXBlXzE2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEZXNjcmlwdGlv -bl8zMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGlzcGxheU5hbWVfNjQiIC8+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkV2ZW50Tm90aWZpZXJfMTI4IiAvPg0KICAg -ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJFeGVjdXRhYmxlXzI1NiIgLz4NCiAgICAgIDx4czpl -bnVtZXJhdGlvbiB2YWx1ZT0iSGlzdG9yaXppbmdfNTEyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0 -aW9uIHZhbHVlPSJJbnZlcnNlTmFtZV8xMDI0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh -bHVlPSJJc0Fic3RyYWN0XzIwNDgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik1p -bmltdW1TYW1wbGluZ0ludGVydmFsXzQwOTYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs -dWU9Ik5vZGVDbGFzc184MTkyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb2Rl -SWRfMTYzODQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN5bW1ldHJpY18zMjc2 -OCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVXNlckFjY2Vzc0xldmVsXzY1NTM2 -IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVc2VyRXhlY3V0YWJsZV8xMzEwNzIi -IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVzZXJXcml0ZU1hc2tfMjYyMTQ0IiAv -Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJWYWx1ZVJhbmtfNTI0Mjg4IiAvPg0KICAg -ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJXcml0ZU1hc2tfMTA0ODU3NiIgLz4NCiAgICAgIDx4 -czplbnVtZXJhdGlvbiB2YWx1ZT0iVmFsdWVfMjA5NzE1MiIgLz4NCiAgICAgIDx4czplbnVtZXJh -dGlvbiB2YWx1ZT0iQWxsXzQxOTQzMDMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 -IkJhc2VOb2RlXzEzMzUzOTYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik9iamVj -dF8xMzM1NTI0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJPYmplY3RUeXBlT3JE -YXRhVHlwZV8xMzM3NDQ0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJWYXJpYWJs -ZV80MDI2OTk5IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJWYXJpYWJsZVR5cGVf -Mzk1ODkwMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTWV0aG9kXzE0NjY3MjQi -IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlZmVyZW5jZVR5cGVfMTM3MTIzNiIg -Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVmlld18xMzM1NTMyIiAvPg0KICAgIDwv -eHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -Tm9kZUF0dHJpYnV0ZXNNYXNrIiB0eXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXNNYXNrIiAvPg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJOb2RlQXR0cmlidXRlcyI+DQogICAgPHhzOmFubm90YXRp -b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYmFzZSBhdHRyaWJ1dGVzIGZvciBhbGwg -bm9kZXMuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiB0 -eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iRGlzcGxheU5hbWUiIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIg -dHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IldyaXRlTWFzayIgdHlwZT0ieHM6dW5zaWduZWRJbnQi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJXcml0ZU1hc2si -IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUF0dHJpYnV0 -ZXMiIHR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt -ZT0iT2JqZWN0QXR0cmlidXRlcyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9j -dW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYW4gb2JqZWN0IG5vZGUuPC94czpkb2N1bWVu -dGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4 -ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk5vZGVBdHRyaWJ1dGVz -Ij4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2 -ZW50Tm90aWZpZXIiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21w -bGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT2Jq -ZWN0QXR0cmlidXRlcyIgdHlwZT0idG5zOk9iamVjdEF0dHJpYnV0ZXMiIC8+DQoNCiAgPHhzOmNv -bXBsZXhUeXBlIG5hbWU9IlZhcmlhYmxlQXR0cmlidXRlcyI+DQogICAgPHhzOmFubm90YXRpb24+ -DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSB2YXJpYWJsZSBu -b2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNv -bXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRu -czpOb2RlQXR0cmlidXRlcyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0idWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJBcnJheURpbWVuc2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJBY2Nlc3NMZXZlbCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+ -DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlckFjY2Vzc0xldmVsIiB0eXBlPSJ4czp1 -bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yaXppbmciIHR5cGU9InhzOmJv -b2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwv -eHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlZhcmlhYmxlQXR0cmlidXRlcyIgdHlwZT0idG5zOlZh -cmlhYmxlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTWV0aG9kQXR0 -cmlidXRlcyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5U -aGUgYXR0cmlidXRlcyBmb3IgYSBtZXRob2Qgbm9kZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAg -PC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0K -ICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXhlY3V0YWJsZSIgdHlw -ZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h -bWU9IlVzZXJFeGVjdXRhYmxlIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNv -bXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJN -ZXRob2RBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6TWV0aG9kQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iT2JqZWN0VHlwZUF0dHJpYnV0ZXMiPg0KICAgIDx4czphbm5vdGF0 -aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGFuIG9iamVj -dCB0eXBlIG5vZGUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAg -ICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24g -YmFzZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -ICAgIDx4czplbGVtZW50IG5hbWU9IklzQWJzdHJhY3QiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9u -Pg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9Ik9iamVjdFR5cGVBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6T2JqZWN0VHlwZUF0 -dHJpYnV0ZXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhYmxlVHlwZUF0dHJp -YnV0ZXMiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhl -IGF0dHJpYnV0ZXMgZm9yIGEgdmFyaWFibGUgdHlwZSBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4N -CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxz -ZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAg -ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlw -ZT0idWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h -bWU9IkRhdGFUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czpp -bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcnJheURp -bWVuc2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4 -czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAg -ICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWYXJpYWJsZVR5cGVBdHRyaWJ1dGVzIiB0eXBl -PSJ0bnM6VmFyaWFibGVUeXBlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt -ZT0iUmVmZXJlbmNlVHlwZUF0dHJpYnV0ZXMiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAg -PHhzOmRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGEgcmVmZXJlbmNlIHR5cGUgbm9k -ZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21w -bGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6 -Tm9kZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iSXNBYnN0cmFjdCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAv -Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN5bW1ldHJpYyIgdHlwZT0ieHM6Ym9vbGVh -biIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkludmVyc2VO -YW1lIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAg -PC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg -bmFtZT0iUmVmZXJlbmNlVHlwZUF0dHJpYnV0ZXMiIHR5cGU9InRuczpSZWZlcmVuY2VUeXBlQXR0 -cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGF0YVR5cGVBdHRyaWJ1dGVz -Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBhdHRy -aWJ1dGVzIGZvciBhIGRhdGEgdHlwZSBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hz -OmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAg -ICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgICAgIDx4czpz -ZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4 -czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAg -ICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZUF0dHJpYnV0ZXMiIHR5cGU9InRu -czpEYXRhVHlwZUF0dHJpYnV0ZXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZpZXdB -dHRyaWJ1dGVzIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9u -PlRoZSBhdHRyaWJ1dGVzIGZvciBhIHZpZXcgbm9kZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAg -PC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0K -ICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGFpbnNOb0xvb3Bz -IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iRXZlbnROb3RpZmllciIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAg -ICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJWaWV3QXR0cmlidXRlcyIgdHlwZT0idG5zOlZpZXdBdHRyaWJ1dGVzIiAvPg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZGROb2Rlc0l0ZW0iPg0KICAgIDx4czphbm5vdGF0aW9u -Pg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSByZXF1ZXN0IHRvIGFkZCBhIG5vZGUgdG8gdGhl -IHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90 -YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUGFyZW50 -Tm9kZUlkIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgdHlwZT0i -dWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVxdWVzdGVkTmV3Tm9kZUlkIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkJyb3dzZU5hbWUiIHR5cGU9InVhOlF1YWxpZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlQ2xhc3MiIHR5cGU9InRu -czpOb2RlQ2xhc3MiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5v -ZGVBdHRyaWJ1dGVzIiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUeXBlRGVmaW5pdGlvbiIg -dHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg -bmFtZT0iQWRkTm9kZXNJdGVtIiB0eXBlPSJ0bnM6QWRkTm9kZXNJdGVtIiAvPg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZBZGROb2Rlc0l0ZW0iPg0KICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZE5vZGVzSXRlbSIgdHlwZT0idG5zOkFkZE5vZGVz -SXRlbSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iTGlzdE9mQWRkTm9kZXNJdGVtIiB0eXBlPSJ0bnM6TGlzdE9mQWRkTm9kZXNJdGVt -IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJBZGROb2Rlc1Jlc3VsdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l -bnRhdGlvbj5BIHJlc3VsdCBvZiBhbiBhZGQgbm9kZSBvcGVyYXRpb24uPC94czpkb2N1bWVudGF0 -aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRlZE5vZGVJZCIgdHlwZT0idWE6Tm9k -ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFkZE5vZGVzUmVzdWx0 -IiB0eXBlPSJ0bnM6QWRkTm9kZXNSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 -Ikxpc3RPZkFkZE5vZGVzUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJBZGROb2Rlc1Jlc3VsdCIgdHlwZT0idG5zOkFkZE5vZGVzUmVzdWx0IiBtaW5P -Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM -aXN0T2ZBZGROb2Rlc1Jlc3VsdCIgdHlwZT0idG5zOkxpc3RPZkFkZE5vZGVzUmVzdWx0IiBuaWxs -YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZGRO -b2Rlc1JlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRp -b24+QWRkcyBvbmUgb3IgbW9yZSBub2RlcyB0byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94 -czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVz -dEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9Ik5vZGVzVG9BZGQiIHR5cGU9InRuczpMaXN0T2ZBZGROb2Rlc0l0ZW0iIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkTm9kZXNSZXF1ZXN0IiB0eXBlPSJ0 -bnM6QWRkTm9kZXNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZGROb2Rl -c1Jlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9u -PkFkZHMgb25lIG9yIG1vcmUgbm9kZXMgdG8gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6 -ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25z -ZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZBZGROb2Rlc1Jlc3VsdCIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdu -b3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkTm9kZXNSZXNwb25zZSIgdHlwZT0idG5zOkFkZE5v -ZGVzUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFkZFJlZmVyZW5jZXNJ -dGVtIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgcmVx -dWVzdCB0byBhZGQgYSByZWZlcmVuY2UgdG8gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6 -ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU291cmNlTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS -ZWZlcmVuY2VUeXBlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IklzRm9yd2FyZCIgdHlwZT0ieHM6Ym9v -bGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0U2Vy -dmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXROb2RlSWQiIHR5cGU9InVhOkV4cGFuZGVk -Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iVGFyZ2V0Tm9kZUNsYXNzIiB0eXBlPSJ0bnM6Tm9kZUNsYXNzIiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iQWRkUmVmZXJlbmNlc0l0ZW0iIHR5cGU9InRuczpBZGRSZWZlcmVuY2VzSXRl -bSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQWRkUmVmZXJlbmNlc0l0ZW0i -Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZFJlZmVyZW5j -ZXNJdGVtIiB0eXBlPSJ0bnM6QWRkUmVmZXJlbmNlc0l0ZW0iIG1pbk9jY3Vycz0iMCIgbWF4T2Nj -dXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog -IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkFkZFJlZmVyZW5j -ZXNJdGVtIiB0eXBlPSJ0bnM6TGlzdE9mQWRkUmVmZXJlbmNlc0l0ZW0iIG5pbGxhYmxlPSJ0cnVl -Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFkZFJlZmVyZW5jZXNS -ZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkFk -ZHMgb25lIG9yIG1vcmUgcmVmZXJlbmNlcyB0byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94 -czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVz -dEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlJlZmVyZW5jZXNUb0FkZCIgdHlwZT0idG5zOkxpc3RPZkFkZFJlZmVyZW5jZXNJ -dGVtIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFkZFJlZmVyZW5jZXNS -ZXF1ZXN0IiB0eXBlPSJ0bnM6QWRkUmVmZXJlbmNlc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9IkFkZFJlZmVyZW5jZXNSZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRpb24+ -DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BZGRzIG9uZSBvciBtb3JlIHJlZmVyZW5jZXMgdG8g -dGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu -bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVz -cG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVh -Okxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdu -b3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFkZFJlZmVy -ZW5jZXNSZXNwb25zZSIgdHlwZT0idG5zOkFkZFJlZmVyZW5jZXNSZXNwb25zZSIgLz4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlTm9kZXNJdGVtIj4NCiAgICA8eHM6YW5ub3RhdGlv -bj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgcmVxdWVzdCB0byBkZWxldGUgYSBub2RlIHRv -IHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czph -bm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5v -ZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlVGFyZ2V0UmVmZXJlbmNlcyIgdHlwZT0ieHM6 -Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZU5vZGVzSXRlbSIgdHlwZT0idG5z -OkRlbGV0ZU5vZGVzSXRlbSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGVs -ZXRlTm9kZXNJdGVtIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJEZWxldGVOb2Rlc0l0ZW0iIHR5cGU9InRuczpEZWxldGVOb2Rlc0l0ZW0iIG1pbk9jY3Vycz0i -MCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRl -bGV0ZU5vZGVzSXRlbSIgdHlwZT0idG5zOkxpc3RPZkRlbGV0ZU5vZGVzSXRlbSIgbmlsbGFibGU9 -InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlTm9k -ZXNSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9u -PkRlbGV0ZSBvbmUgb3IgbW9yZSBub2RlcyBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48 -L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5j -ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1 -ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iTm9kZXNUb0RlbGV0ZSIgdHlwZT0idG5zOkxpc3RPZkRlbGV0ZU5vZGVzSXRl -bSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVOb2Rlc1JlcXVl -c3QiIHR5cGU9InRuczpEZWxldGVOb2Rlc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9IkRlbGV0ZU5vZGVzUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAg -PHhzOmRvY3VtZW50YXRpb24+RGVsZXRlIG9uZSBvciBtb3JlIG5vZGVzIGZyb20gdGhlIHNlcnZl -ciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+ -DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFk -ZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0 -YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZv -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog -IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZU5vZGVzUmVzcG9u -c2UiIHR5cGU9InRuczpEZWxldGVOb2Rlc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJEZWxldGVSZWZlcmVuY2VzSXRlbSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg -ICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8gZGVsZXRlIGEgbm9kZSBmcm9tIHRoZSBz -ZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 -aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNvdXJjZU5v -ZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQi -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJJc0ZvcndhcmQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlRhcmdldE5vZGVJZCIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJE -ZWxldGVCaWRpcmVjdGlvbmFsIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iRGVsZXRlUmVmZXJlbmNlc0l0ZW0iIHR5cGU9InRuczpEZWxldGVSZWZlcmVuY2VzSXRlbSIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGVsZXRlUmVmZXJlbmNlc0l0ZW0i -Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZVJlZmVy -ZW5jZXNJdGVtIiB0eXBlPSJ0bnM6RGVsZXRlUmVmZXJlbmNlc0l0ZW0iIG1pbk9jY3Vycz0iMCIg -bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu -Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRlbGV0 -ZVJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0bnM6TGlzdE9mRGVsZXRlUmVmZXJlbmNlc0l0ZW0iIG5p -bGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRl -bGV0ZVJlZmVyZW5jZXNSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpk -b2N1bWVudGF0aW9uPkRlbGV0ZSBvbmUgb3IgbW9yZSByZWZlcmVuY2VzIGZyb20gdGhlIHNlcnZl -ciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+ -DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRl -ciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VzVG9EZWxldGUiIHR5cGU9InRu -czpMaXN0T2ZEZWxldGVSZWZlcmVuY2VzSXRlbSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJEZWxldGVSZWZlcmVuY2VzUmVxdWVzdCIgdHlwZT0idG5zOkRlbGV0ZVJlZmVy -ZW5jZXNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEZWxldGVSZWZlcmVu -Y2VzUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRp -b24+RGVsZXRlIG9uZSBvciBtb3JlIHJlZmVyZW5jZXMgZnJvbSB0aGUgc2VydmVyIGFkZHJlc3Mg -c3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0i -dG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlUmVmZXJlbmNlc1Jlc3BvbnNlIiB0 -eXBlPSJ0bnM6RGVsZXRlUmVmZXJlbmNlc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpzaW1wbGVUeXBl -ICBuYW1lPSJBdHRyaWJ1dGVXcml0ZU1hc2siPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAg -PHhzOmRvY3VtZW50YXRpb24+RGVmaW5lIGJpdHMgdXNlZCB0byBpbmRpY2F0ZSB3aGljaCBhdHRy -aWJ1dGVzIGFyZSB3cml0YWJsZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 -aW9uPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVu -dW1lcmF0aW9uIHZhbHVlPSJOb25lXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 -IkFjY2Vzc0xldmVsXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFycmF5RGlt -ZW5zaW9uc18yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJCcm93c2VOYW1lXzQi -IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkNvbnRhaW5zTm9Mb29wc184IiAvPg0K -ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEYXRhVHlwZV8xNiIgLz4NCiAgICAgIDx4czpl -bnVtZXJhdGlvbiB2YWx1ZT0iRGVzY3JpcHRpb25fMzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp -b24gdmFsdWU9IkRpc3BsYXlOYW1lXzY0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl -PSJFdmVudE5vdGlmaWVyXzEyOCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRXhl -Y3V0YWJsZV8yNTYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ikhpc3Rvcml6aW5n -XzUxMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW52ZXJzZU5hbWVfMTAyNCIg -Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNBYnN0cmFjdF8yMDQ4IiAvPg0KICAg -ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbF80MDk2IiAv -Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb2RlQ2xhc3NfODE5MiIgLz4NCiAgICAg -IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9kZUlkXzE2Mzg0IiAvPg0KICAgICAgPHhzOmVudW1l -cmF0aW9uIHZhbHVlPSJTeW1tZXRyaWNfMzI3NjgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g -dmFsdWU9IlVzZXJBY2Nlc3NMZXZlbF82NTUzNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 -YWx1ZT0iVXNlckV4ZWN1dGFibGVfMTMxMDcyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh -bHVlPSJVc2VyV3JpdGVNYXNrXzI2MjE0NCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 -ZT0iVmFsdWVSYW5rXzUyNDI4OCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iV3Jp -dGVNYXNrXzEwNDg1NzYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZhbHVlRm9y -VmFyaWFibGVUeXBlXzIwOTcxNTIiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpz -aW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBdHRyaWJ1dGVXcml0ZU1hc2siIHR5cGU9 -InRuczpBdHRyaWJ1dGVXcml0ZU1hc2siIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkJy -b3dzZURpcmVjdGlvbiI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRh -dGlvbj5UaGUgZGlyZWN0aW9ucyBvZiB0aGUgcmVmZXJlbmNlcyB0byByZXR1cm4uPC94czpkb2N1 -bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFz -ZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRm9yd2FyZF8wIiAv -Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJbnZlcnNlXzEiIC8+DQogICAgICA8eHM6 -ZW51bWVyYXRpb24gdmFsdWU9IkJvdGhfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 -ZT0iSW52YWxpZF8zIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlRGlyZWN0aW9uIiB0eXBlPSJ0bnM6QnJvd3Nl -RGlyZWN0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJWaWV3RGVzY3JpcHRpb24i -Pg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIHZpZXcg -dG8gYnJvd3NlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAg -PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmlld0lkIiB0eXBlPSJ1YTpO -b2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJUaW1lc3RhbXAiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWaWV3VmVyc2lvbiIgdHlwZT0ieHM6dW5zaWduZWRJbnQi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWaWV3RGVzY3JpcHRpb24iIHR5cGU9InRuczpWaWV3RGVz -Y3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb3dzZURlc2NyaXB0aW9u -Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgcmVxdWVz -dCB0byBicm93c2UgdGhlIHRoZSByZWZlcmVuY2VzIGZyb20gYSBub2RlLjwveHM6ZG9jdW1lbnRh -dGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VEaXJlY3Rpb24i -IHR5cGU9InRuczpCcm93c2VEaXJlY3Rpb24iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5jbHVkZVN1 -YnR5cGVzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJOb2RlQ2xhc3NNYXNrIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0TWFzayIgdHlwZT0ieHM6dW5z -aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VEZXNjcmlwdGlvbiIgdHlwZT0i -dG5zOkJyb3dzZURlc2NyaXB0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0 -T2ZCcm93c2VEZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iQnJvd3NlRGVzY3JpcHRpb24iIHR5cGU9InRuczpCcm93c2VEZXNjcmlwdGlvbiIg -bWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iTGlzdE9mQnJvd3NlRGVzY3JpcHRpb24iIHR5cGU9InRuczpMaXN0T2ZCcm93c2VEZXNjcmlw -dGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAg -bmFtZT0iQnJvd3NlUmVzdWx0TWFzayI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6 -ZG9jdW1lbnRhdGlvbj5BIGJpdCBtYXNrIHdoaWNoIHNwZWNpZmllcyB3aGF0IHNob3VsZCBiZSBy -ZXR1cm5lZCBpbiBhIGJyb3dzZSByZXNwb25zZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94 -czphbm5vdGF0aW9uPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAg -ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb25lXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp -b24gdmFsdWU9IlJlZmVyZW5jZVR5cGVJZF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh -bHVlPSJJc0ZvcndhcmRfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9kZUNs -YXNzXzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJyb3dzZU5hbWVfOCIgLz4N -CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGlzcGxheU5hbWVfMTYiIC8+DQogICAgICA8 -eHM6ZW51bWVyYXRpb24gdmFsdWU9IlR5cGVEZWZpbml0aW9uXzMyIiAvPg0KICAgICAgPHhzOmVu -dW1lcmF0aW9uIHZhbHVlPSJBbGxfNjMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 -IlJlZmVyZW5jZVR5cGVJbmZvXzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlRh -cmdldEluZm9fNjAiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VSZXN1bHRNYXNrIiB0eXBlPSJ0bnM6QnJvd3Nl -UmVzdWx0TWFzayIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVmZXJlbmNlRGVzY3Jp -cHRpb24iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhl -IGRlc2NyaXB0aW9uIG9mIGEgcmVmZXJlbmNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hz -OmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -UmVmZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ZvcndhcmQiIHR5cGU9InhzOmJv -b2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIg -dHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VOYW1lIiB0eXBlPSJ1YTpRdWFsaWZpZWRO -YW1lIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iRGlzcGxheU5hbWUiIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlQ2xhc3MiIHR5 -cGU9InRuczpOb2RlQ2xhc3MiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlR5cGVEZWZpbml0aW9uIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VEZXNjcmlwdGlvbiIgdHlwZT0idG5z -OlJlZmVyZW5jZURlc2NyaXB0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0 -T2ZSZWZlcmVuY2VEZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVmZXJlbmNlRGVzY3JpcHRpb24iIHR5cGU9InRuczpSZWZlcmVuY2VEZXNj -cmlwdGlvbiIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iTGlzdE9mUmVmZXJlbmNlRGVzY3JpcHRpb24iIHR5cGU9InRuczpMaXN0T2ZS -ZWZlcmVuY2VEZXNjcmlwdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJDb250aW51YXRpb25Qb2ludCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5 -IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VSZXN1bHQiPg0KICAgIDx4czph -bm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIHJlc3VsdCBvZiBhIGJyb3dz -ZSBvcGVyYXRpb24uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAg -ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBl -PSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJDb250aW51YXRpb25Qb2ludCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlcyIg -dHlwZT0idG5zOkxpc3RPZlJlZmVyZW5jZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVJlc3VsdCIgdHlwZT0idG5zOkJyb3dzZVJlc3VsdCIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJvd3NlUmVzdWx0Ij4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VSZXN1bHQiIHR5cGU9 -InRuczpCcm93c2VSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb3dzZVJlc3VsdCIgdHlwZT0idG5zOkxpc3RP -ZkJyb3dzZVJlc3VsdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iQnJvd3NlUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg -ICA8eHM6ZG9jdW1lbnRhdGlvbj5Ccm93c2UgdGhlIHJlZmVyZW5jZXMgZm9yIG9uZSBvciBtb3Jl -IG5vZGVzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4N -CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWaWV3IiB0 -eXBlPSJ0bnM6Vmlld0Rlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTWF4UmVmZXJlbmNlc1Blck5vZGUi -IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJOb2Rlc1RvQnJvd3NlIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlRGVzY3JpcHRpb24i -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg -PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUmVxdWVzdCIgdHlw -ZT0idG5zOkJyb3dzZVJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb3dz -ZVJlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9u -PkJyb3dzZSB0aGUgcmVmZXJlbmNlcyBmb3Igb25lIG9yIG1vcmUgbm9kZXMgZnJvbSB0aGUgc2Vy -dmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlv -bj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhl -YWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RP -ZkJyb3dzZVJlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3Rp -Y0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUmVzcG9u -c2UiIHR5cGU9InRuczpCcm93c2VSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt -ZT0iQnJvd3NlTmV4dFJlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRv -Y3VtZW50YXRpb24+Q29udGludWVzIG9uZSBvciBtb3JlIGJyb3dzZSBvcGVyYXRpb25zLjwveHM6 -ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RI -ZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJSZWxlYXNlQ29udGludWF0aW9uUG9pbnRzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250aW51YXRpb25Qb2ludHMi -IHR5cGU9InVhOkxpc3RPZkJ5dGVTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iQnJvd3NlTmV4dFJlcXVlc3QiIHR5cGU9InRuczpCcm93c2VOZXh0UmVxdWVzdCIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQnJvd3NlTmV4dFJlc3BvbnNlIj4NCiAgICA8 -eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNvbnRpbnVlcyBvbmUgb3Ig -bW9yZSBicm93c2Ugb3BlcmF0aW9ucy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v -dGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3Bv -bnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ0bnM6 -TGlzdE9mQnJvd3NlUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFn -bm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VO -ZXh0UmVzcG9uc2UiIHR5cGU9InRuczpCcm93c2VOZXh0UmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNv -bXBsZXhUeXBlIG5hbWU9IlJlbGF0aXZlUGF0aEVsZW1lbnQiPg0KICAgIDx4czphbm5vdGF0aW9u -Pg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QW4gZWxlbWVudCBpbiBhIHJlbGF0aXZlIHBhdGgu -PC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VUeXBlSWQiIHR5cGU9InVhOk5v -ZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IklzSW52ZXJzZSIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5jbHVkZVN1YnR5cGVzIiB0eXBlPSJ4czpib29sZWFuIiBt -aW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXROYW1lIiB0eXBl -PSJ1YTpRdWFsaWZpZWROYW1lIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -IlJlbGF0aXZlUGF0aEVsZW1lbnQiIHR5cGU9InRuczpSZWxhdGl2ZVBhdGhFbGVtZW50IiAvPg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZSZWxhdGl2ZVBhdGhFbGVtZW50Ij4NCiAg -ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWxhdGl2ZVBhdGhFbGVt -ZW50IiB0eXBlPSJ0bnM6UmVsYXRpdmVQYXRoRWxlbWVudCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1 -cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg -PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUmVsYXRpdmVQYXRo -RWxlbWVudCIgdHlwZT0idG5zOkxpc3RPZlJlbGF0aXZlUGF0aEVsZW1lbnQiIG5pbGxhYmxlPSJ0 -cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlbGF0aXZlUGF0 -aCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHJlbGF0 -aXZlIHBhdGggY29uc3RydWN0ZWQgZnJvbSByZWZlcmVuY2UgdHlwZXMgYW5kIGJyb3dzZSBuYW1l -cy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1 -ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVsZW1lbnRzIiB0eXBlPSJ0bnM6TGlzdE9m -UmVsYXRpdmVQYXRoRWxlbWVudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJSZWxhdGl2ZVBhdGgiIHR5cGU9InRuczpSZWxhdGl2ZVBhdGgiIC8+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9IkJyb3dzZVBhdGgiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhz -OmRvY3VtZW50YXRpb24+QSByZXF1ZXN0IHRvIHRyYW5zbGF0ZSBhIHBhdGggaW50byBhIG5vZGUg -aWQuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFydGluZ05vZGUiIHR5cGU9InVhOk5v -ZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlJlbGF0aXZlUGF0aCIgdHlwZT0idG5zOlJlbGF0aXZlUGF0aCIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VQYXRoIiB0eXBlPSJ0bnM6QnJvd3NlUGF0 -aCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJvd3NlUGF0aCI+DQogICAg -PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUGF0aCIgdHlwZT0i -dG5zOkJyb3dzZVBhdGgiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGgiIHR5cGU9InRuczpMaXN0T2ZCcm93 -c2VQYXRoIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJCcm93c2VQYXRoVGFyZ2V0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4 -czpkb2N1bWVudGF0aW9uPlRoZSB0YXJnZXQgb2YgdGhlIHRyYW5zbGF0ZWQgcGF0aC48L3hzOmRv -Y3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdldElkIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlJlbWFpbmluZ1BhdGhJbmRleCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJCcm93c2VQYXRoVGFyZ2V0IiB0eXBlPSJ0bnM6QnJvd3NlUGF0aFRhcmdldCIgLz4N -Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJvd3NlUGF0aFRhcmdldCI+DQogICAg -PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUGF0aFRhcmdldCIg -dHlwZT0idG5zOkJyb3dzZVBhdGhUYXJnZXQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJv -dW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGhUYXJnZXQiIHR5 -cGU9InRuczpMaXN0T2ZCcm93c2VQYXRoVGFyZ2V0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVt -ZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VQYXRoUmVzdWx0Ij4NCiAgICA8 -eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSByZXN1bHQgb2YgYSB0 -cmFuc2xhdGUgb3BlYXJhdGlvbi48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 -aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c0Nv -ZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlRhcmdldHMiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VQYXRoVGFyZ2V0IiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGhSZXN1bHQiIHR5cGU9 -InRuczpCcm93c2VQYXRoUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0 -T2ZCcm93c2VQYXRoUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJCcm93c2VQYXRoUmVzdWx0IiB0eXBlPSJ0bnM6QnJvd3NlUGF0aFJlc3VsdCIgbWlu -T2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -TGlzdE9mQnJvd3NlUGF0aFJlc3VsdCIgdHlwZT0idG5zOkxpc3RPZkJyb3dzZVBhdGhSZXN1bHQi -IG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 -IlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRp -b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UcmFuc2xhdGVzIG9uZSBvciBtb3JlIHBhdGhz -IGluIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94 -czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUGF0aHMiIHR5 -cGU9InRuczpMaXN0T2ZCcm93c2VQYXRoIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9IlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVxdWVzdCIgdHlwZT0idG5zOlRy -YW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iVHJhbnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNSZXNwb25zZSI+DQogICAgPHhz -OmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UcmFuc2xhdGVzIG9uZSBvciBt -b3JlIHBhdGhzIGluIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+ -DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1 -bHRzIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlUGF0aFJlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIg -dHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iVHJhbnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNSZXNwb25zZSIgdHlwZT0i -dG5zOlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNv -bXBsZXhUeXBlIG5hbWU9IlJlZ2lzdGVyTm9kZXNSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlv -bj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlJlZ2lzdGVycyBvbmUgb3IgbW9yZSBub2RlcyBm -b3IgcmVwZWF0ZWQgdXNlIHdpdGhpbiBhIHNlc3Npb24uPC94czpkb2N1bWVudGF0aW9uPg0KICAg -IDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVzVG9SZWdp -c3RlciIgdHlwZT0idWE6TGlzdE9mTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9IlJlZ2lzdGVyTm9kZXNSZXF1ZXN0IiB0eXBlPSJ0bnM6UmVnaXN0ZXJOb2Rlc1Jl -cXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZ2lzdGVyTm9kZXNSZXNwb25z -ZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5SZWdpc3Rl -cnMgb25lIG9yIG1vcmUgbm9kZXMgZm9yIHJlcGVhdGVkIHVzZSB3aXRoaW4gYSBzZXNzaW9uLjwv -eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNw -b25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlJlZ2lzdGVyZWROb2RlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZOb2RlSWQiIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJOb2Rlc1Jlc3BvbnNl -IiB0eXBlPSJ0bnM6UmVnaXN0ZXJOb2Rlc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJVbnJlZ2lzdGVyTm9kZXNSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg -ICAgIDx4czpkb2N1bWVudGF0aW9uPlVucmVnaXN0ZXJzIG9uZSBvciBtb3JlIHByZXZpb3VzbHkg -cmVnaXN0ZXJlZCBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9u -Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFk -ZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb1VucmVnaXN0ZXIiIHR5cGU9InVh -Okxpc3RPZk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz -OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVbnJl -Z2lzdGVyTm9kZXNSZXF1ZXN0IiB0eXBlPSJ0bnM6VW5yZWdpc3Rlck5vZGVzUmVxdWVzdCIgLz4N -Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVW5yZWdpc3Rlck5vZGVzUmVzcG9uc2UiPg0KICAg -IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VW5yZWdpc3RlcnMgb25l -IG9yIG1vcmUgcHJldmlvdXNseSByZWdpc3RlcmVkIG5vZGVzLjwveHM6ZG9jdW1lbnRhdGlvbj4N -CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVbnJlZ2lzdGVyTm9kZXNSZXNwb25zZSIg -dHlwZT0idG5zOlVucmVnaXN0ZXJOb2Rlc1Jlc3BvbnNlIiAvPg0KDQogIDx4czplbGVtZW50IG5h -bWU9IkNvdW50ZXIiIHR5cGU9InhzOnVuc2lnbmVkSW50IiAvPg0KDQogIDx4czplbGVtZW50IG5h -bWU9Ik51bWVyaWNSYW5nZSIgdHlwZT0ieHM6c3RyaW5nIiAvPg0KDQogIDx4czplbGVtZW50IG5h -bWU9IlRpbWUiIHR5cGU9InhzOnN0cmluZyIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRl -IiB0eXBlPSJ4czpkYXRlVGltZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRW5kcG9p -bnRDb25maWd1cmF0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJPcGVyYXRpb25UaW1lb3V0IiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlVzZUJpbmFyeUVuY29kaW5nIiB0eXBlPSJ4czpib29sZWFu -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhTdHJpbmdMZW5n -dGgiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iTWF4Qnl0ZVN0cmluZ0xlbmd0aCIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhBcnJheUxlbmd0aCIgdHlwZT0ieHM6aW50IiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhNZXNzYWdlU2l6ZSIgdHlw -ZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhC -dWZmZXJTaXplIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkNoYW5uZWxMaWZldGltZSIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVRva2VuTGlmZXRpbWUiIHR5cGU9Inhz -OmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50Q29uZmlndXJhdGlvbiIgdHlwZT0i -dG5zOkVuZHBvaW50Q29uZmlndXJhdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -TGlzdE9mRW5kcG9pbnRDb25maWd1cmF0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludENvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpFbmRwb2lu -dENvbmZpZ3VyYXRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkVuZHBvaW50Q29uZmlndXJhdGlvbiIgdHlwZT0idG5z -Okxpc3RPZkVuZHBvaW50Q29uZmlndXJhdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVu -dD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUXVlcnlEYXRhRGVzY3JpcHRpb24iPg0KICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlbGF0aXZlUGF0aCIgdHlw -ZT0idG5zOlJlbGF0aXZlUGF0aCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXhSYW5nZSIgdHlw -ZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 -c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5 -RGF0YURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6UXVlcnlEYXRhRGVzY3JpcHRpb24iIC8+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlF1ZXJ5RGF0YURlc2NyaXB0aW9uIj4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeURhdGFEZXNjcmlwdGlv -biIgdHlwZT0idG5zOlF1ZXJ5RGF0YURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vy -cz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZRdWVyeURhdGFEZXNj -cmlwdGlvbiIgdHlwZT0idG5zOkxpc3RPZlF1ZXJ5RGF0YURlc2NyaXB0aW9uIiBuaWxsYWJsZT0i -dHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJOb2RlVHlwZURl -c2NyaXB0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJU -eXBlRGVmaW5pdGlvbk5vZGUiIHR5cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5jbHVkZVN1YlR5 -cGVzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJEYXRhVG9SZXR1cm4iIHR5cGU9InRuczpMaXN0T2ZRdWVyeURhdGFEZXNjcmlwdGlv -biIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlVHlwZURlc2NyaXB0 -aW9uIiB0eXBlPSJ0bnM6Tm9kZVR5cGVEZXNjcmlwdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iTGlzdE9mTm9kZVR5cGVEZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZVR5cGVEZXNjcmlwdGlvbiIgdHlwZT0idG5zOk5v -ZGVUeXBlRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk5vZGVUeXBlRGVzY3JpcHRpb24iIHR5cGU9InRu -czpMaXN0T2ZOb2RlVHlwZURlc2NyaXB0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50 -Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJGaWx0ZXJPcGVyYXRvciI+DQogICAgPHhzOnJl -c3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 -IkVxdWFsc18wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJc051bGxfMSIgLz4N -CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iR3JlYXRlclRoYW5fMiIgLz4NCiAgICAgIDx4 -czplbnVtZXJhdGlvbiB2YWx1ZT0iTGVzc1RoYW5fMyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv -biB2YWx1ZT0iR3JlYXRlclRoYW5PckVxdWFsXzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g -dmFsdWU9Ikxlc3NUaGFuT3JFcXVhbF81IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl -PSJMaWtlXzYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vdF83IiAvPg0KICAg -ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJCZXR3ZWVuXzgiIC8+DQogICAgICA8eHM6ZW51bWVy -YXRpb24gdmFsdWU9IkluTGlzdF85IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJB -bmRfMTAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik9yXzExIiAvPg0KICAgICAg -PHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDYXN0XzEyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u -IHZhbHVlPSJJblZpZXdfMTMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik9mVHlw -ZV8xNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVsYXRlZFRvXzE1IiAvPg0K -ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJCaXR3aXNlQW5kXzE2IiAvPg0KICAgICAgPHhz -OmVudW1lcmF0aW9uIHZhbHVlPSJCaXR3aXNlT3JfMTciIC8+DQogICAgPC94czpyZXN0cmljdGlv -bj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXJPcGVyYXRv -ciIgdHlwZT0idG5zOkZpbHRlck9wZXJhdG9yIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJRdWVyeURhdGFTZXQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9Ik5vZGVJZCIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUeXBlRGVmaW5pdGlvbk5vZGUi -IHR5cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVzIiB0eXBlPSJ1YTpMaXN0T2ZWYXJpYW50 -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog -IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5RGF0YVNldCIgdHlw -ZT0idG5zOlF1ZXJ5RGF0YVNldCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m -UXVlcnlEYXRhU2V0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJRdWVyeURhdGFTZXQiIHR5cGU9InRuczpRdWVyeURhdGFTZXQiIG1pbk9jY3Vycz0iMCIgbWF4 -T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlF1ZXJ5RGF0 -YVNldCIgdHlwZT0idG5zOkxpc3RPZlF1ZXJ5RGF0YVNldCIgbmlsbGFibGU9InRydWUiPjwveHM6 -ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTm9kZVJlZmVyZW5jZSI+DQogICAg -PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpO -b2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJSZWZlcmVuY2VUeXBlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IklzRm9yd2FyZCIgdHlw -ZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -UmVmZXJlbmNlZE5vZGVJZHMiIHR5cGU9InVhOkxpc3RPZk5vZGVJZCIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlUmVmZXJlbmNlIiB0eXBlPSJ0bnM6Tm9kZVJlZmVy -ZW5jZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTm9kZVJlZmVyZW5jZSI+ -DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZVJlZmVyZW5j -ZSIgdHlwZT0idG5zOk5vZGVSZWZlcmVuY2UiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJv -dW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk5vZGVSZWZlcmVuY2UiIHR5cGU9 -InRuczpMaXN0T2ZOb2RlUmVmZXJlbmNlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDb250ZW50RmlsdGVyRWxlbWVudCI+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyT3BlcmF0b3IiIHR5cGU9 -InRuczpGaWx0ZXJPcGVyYXRvciIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iRmlsdGVyT3BlcmFuZHMiIHR5cGU9InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb250ZW50RmlsdGVyRWxlbWVudCIg -dHlwZT0idG5zOkNvbnRlbnRGaWx0ZXJFbGVtZW50IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJMaXN0T2ZDb250ZW50RmlsdGVyRWxlbWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGVudEZpbHRlckVsZW1lbnQiIHR5cGU9InRuczpDb250 -ZW50RmlsdGVyRWxlbWVudCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQ29udGVudEZpbHRlckVsZW1lbnQiIHR5cGU9InRu -czpMaXN0T2ZDb250ZW50RmlsdGVyRWxlbWVudCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVu -dD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ29udGVudEZpbHRlciI+DQogICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRWxlbWVudHMiIHR5cGU9InRuczpMaXN0 -T2ZDb250ZW50RmlsdGVyRWxlbWVudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJDb250ZW50RmlsdGVyIiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlciIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQ29udGVudEZpbHRlciI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGVudEZpbHRlciIgdHlwZT0idG5zOkNvbnRl -bnRGaWx0ZXIiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9Ikxpc3RPZkNvbnRlbnRGaWx0ZXIiIHR5cGU9InRuczpMaXN0T2ZDb250ZW50 -RmlsdGVyIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJGaWx0ZXJPcGVyYW5kIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1 -ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyT3Bl -cmFuZCIgdHlwZT0idG5zOkZpbHRlck9wZXJhbmQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h -bWU9IkVsZW1lbnRPcGVyYW5kIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNl -Ij4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgICAg -ICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXgiIHR5cGU9 -InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+ -DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFbGVtZW50T3BlcmFuZCIgdHlwZT0i -dG5zOkVsZW1lbnRPcGVyYW5kIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXRlcmFs -T3BlcmFuZCI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8 -eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpGaWx0ZXJPcGVyYW5kIj4NCiAgICAgICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlIiB0eXBlPSJ1YTpWYXJpYW50 -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4 -dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJMaXRlcmFsT3BlcmFuZCIgdHlwZT0idG5zOkxpdGVyYWxPcGVy -YW5kIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBdHRyaWJ1dGVPcGVyYW5kIj4NCiAg -ICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24g -YmFzZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWxpYXMi -IHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VQYXRoIiB0eXBlPSJ0bnM6UmVsYXRpdmVQYXRo -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50 -IG5hbWU9IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAv -Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmlu -ZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5j -ZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkF0dHJpYnV0ZU9wZXJhbmQiIHR5 -cGU9InRuczpBdHRyaWJ1dGVPcGVyYW5kIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJT -aW1wbGVBdHRyaWJ1dGVPcGVyYW5kIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZh -bHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAg -ICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHlwZURlZmlu -aXRpb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGgiIHR5cGU9InVhOkxpc3RP -ZlF1YWxpZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iQXR0cmlidXRlSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBt -aW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXhSYW5nZSIg -dHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -ICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4 -Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2ltcGxl -QXR0cmlidXRlT3BlcmFuZCIgdHlwZT0idG5zOlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIC8+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiPg0K -ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNpbXBsZUF0dHJpYnV0 -ZU9wZXJhbmQiIHR5cGU9InRuczpTaW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiBtaW5PY2N1cnM9IjAi -IG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl -bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTaW1w -bGVBdHRyaWJ1dGVPcGVyYW5kIiB0eXBlPSJ0bnM6TGlzdE9mU2ltcGxlQXR0cmlidXRlT3BlcmFu -ZCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt -ZT0iQ29udGVudEZpbHRlckVsZW1lbnRSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlN0YXR1c0NvZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik9wZXJhbmRTdGF0dXNDb2RlcyIg -dHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik9wZXJhbmREaWFnbm9zdGljSW5mb3MiIHR5cGU9 -InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9IkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiB0eXBlPSJ0bnM6Q29udGVudEZpbHRl -ckVsZW1lbnRSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkNvbnRl -bnRGaWx0ZXJFbGVtZW50UmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIgdHlwZT0idG5zOkNvbnRlbnRG -aWx0ZXJFbGVtZW50UmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIg -dHlwZT0idG5zOkxpc3RPZkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiBuaWxsYWJsZT0idHJ1 -ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDb250ZW50RmlsdGVy -UmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbGVt -ZW50UmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -RWxlbWVudERpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGVudEZpbHRlclJlc3VsdCIg -dHlwZT0idG5zOkNvbnRlbnRGaWx0ZXJSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h -bWU9IlBhcnNpbmdSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlN0YXR1c0NvZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTdGF0dXNDb2RlcyIgdHlwZT0idWE6TGlzdE9m -U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IkRhdGFEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0 -aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu -Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlBhcnNpbmdSZXN1 -bHQiIHR5cGU9InRuczpQYXJzaW5nUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJMaXN0T2ZQYXJzaW5nUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJQYXJzaW5nUmVzdWx0IiB0eXBlPSJ0bnM6UGFyc2luZ1Jlc3VsdCIgbWluT2Nj -dXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 -czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlz -dE9mUGFyc2luZ1Jlc3VsdCIgdHlwZT0idG5zOkxpc3RPZlBhcnNpbmdSZXN1bHQiIG5pbGxhYmxl -PSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlF1ZXJ5Rmly -c3RSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS -ZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZpZXciIHR5cGU9InRuczpW -aWV3RGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJOb2RlVHlwZXMiIHR5cGU9InRuczpMaXN0T2ZOb2RlVHlwZURlc2Ny -aXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iRmlsdGVyIiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlciIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heERhdGFTZXRzVG9S -ZXR1cm4iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJNYXhSZWZlcmVuY2VzVG9SZXR1cm4iIHR5cGU9InhzOnVuc2lnbmVkSW50 -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlGaXJzdFJlcXVlc3QiIHR5cGU9InRuczpRdWVy -eUZpcnN0UmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUXVlcnlGaXJzdFJl -c3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNw -b25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlEYXRhU2V0cyIgdHlw -ZT0idG5zOkxpc3RPZlF1ZXJ5RGF0YVNldCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpi -YXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJQYXJzaW5nUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZlBhcnNpbmdSZXN1 -bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmls -dGVyUmVzdWx0IiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlclJlc3VsdCIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeUZpcnN0UmVzcG9uc2UiIHR5cGU9InRuczpRdWVy -eUZpcnN0UmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlF1ZXJ5TmV4dFJl -cXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVl -c3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsZWFzZUNvbnRpbnVhdGlvblBv -aW50IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJDb250aW51YXRpb25Qb2ludCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5TmV4dFJlcXVlc3QiIHR5cGU9InRu -czpRdWVyeU5leHRSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJRdWVyeU5l -eHRSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -UmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5RGF0YVNldHMi -IHR5cGU9InRuczpMaXN0T2ZRdWVyeURhdGFTZXQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkQ29udGludWF0aW9uUG9pbnQi -IHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJRdWVyeU5leHRSZXNwb25zZSIgdHlwZT0idG5zOlF1ZXJ5TmV4dFJlc3BvbnNlIiAvPg0K -DQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iPg0KICAgIDx4czpy -ZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl -PSJTb3VyY2VfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU2VydmVyXzEiIC8+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJvdGhfMiIgLz4NCiAgICAgIDx4czplbnVt -ZXJhdGlvbiB2YWx1ZT0iTmVpdGhlcl8zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl -PSJJbnZhbGlkXzQiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iIHR5cGU9InRuczpUaW1l -c3RhbXBzVG9SZXR1cm4iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlYWRWYWx1ZUlk -Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5 -cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXhSYW5nZSIgdHlwZT0ieHM6 -c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iRGF0YUVuY29kaW5nIiB0eXBlPSJ1YTpRdWFsaWZpZWROYW1lIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlYWRWYWx1ZUlkIiB0eXBlPSJ0bnM6UmVhZFZh -bHVlSWQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlJlYWRWYWx1ZUlkIj4N -CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWFkVmFsdWVJZCIg -dHlwZT0idG5zOlJlYWRWYWx1ZUlkIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVk -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZSZWFkVmFsdWVJZCIgdHlwZT0idG5zOkxp -c3RPZlJlYWRWYWx1ZUlkIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJSZWFkUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIi -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJNYXhBZ2UiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiB0eXBlPSJ0bnM6VGltZXN0YW1wc1RvUmV0 -dXJuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2Rlc1RvUmVh -ZCIgdHlwZT0idG5zOkxpc3RPZlJlYWRWYWx1ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9IlJlYWRSZXF1ZXN0IiB0eXBlPSJ0bnM6UmVhZFJlcXVlc3QiIC8+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlYWRSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25z -ZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZkRhdGFWYWx1ZSIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJ -bmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iUmVhZFJlc3BvbnNlIiB0eXBlPSJ0bnM6UmVhZFJlc3BvbnNlIiAv -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5UmVhZFZhbHVlSWQiPg0KICAgIDx4 -czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6Tm9k -ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iSW5kZXhSYW5nZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YUVuY29kaW5nIiB0eXBlPSJ1 -YTpRdWFsaWZpZWROYW1lIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9uUG9pbnQiIHR5cGU9InhzOmJhc2U2NEJpbmFy -eSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5UmVhZFZhbHVl -SWQiIHR5cGU9InRuczpIaXN0b3J5UmVhZFZhbHVlSWQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9Ikxpc3RPZkhpc3RvcnlSZWFkVmFsdWVJZCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRWYWx1ZUlkIiB0eXBlPSJ0bnM6SGlzdG9y -eVJlYWRWYWx1ZUlkIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZIaXN0b3J5UmVhZFZhbHVlSWQiIHR5cGU9InRuczpMaXN0 -T2ZIaXN0b3J5UmVhZFZhbHVlSWQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlSZWFkUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXND -b2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250aW51YXRp -b25Qb2ludCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeURhdGEiIHR5cGU9InVhOkV4 -dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz -OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0 -b3J5UmVhZFJlc3VsdCIgdHlwZT0idG5zOkhpc3RvcnlSZWFkUmVzdWx0IiAvPg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZIaXN0b3J5UmVhZFJlc3VsdCI+DQogICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRSZXN1bHQiIHR5cGU9InRu -czpIaXN0b3J5UmVhZFJlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mSGlzdG9yeVJlYWRSZXN1bHQiIHR5cGU9InRu -czpMaXN0T2ZIaXN0b3J5UmVhZFJlc3VsdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4N -Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWREZXRhaWxzIiB0eXBlPSJ0bnM6SGlzdG9yeVJlYWRE -ZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWFkRXZlbnREZXRhaWxzIj4N -CiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNp -b24gYmFzZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOdW1WYWx1ZXNQZXJOb2RlIiB0eXBlPSJ4czp1 -bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlN0YXJ0VGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlciIgdHlwZT0idG5zOkV2 -ZW50RmlsdGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hz -OnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVu -dD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZEV2ZW50RGV0 -YWlscyIgdHlwZT0idG5zOlJlYWRFdmVudERldGFpbHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9IlJlYWRSYXdNb2RpZmllZERldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBt -aXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVJlYWRE -ZXRhaWxzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h -bWU9IklzUmVhZE1vZGlmaWVkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhcnRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZFRpbWUiIHR5 -cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iTnVtVmFsdWVzUGVyTm9kZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXR1cm5Cb3VuZHMiIHR5cGU9Inhz -OmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAg -IDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlYWRSYXdNb2RpZmllZERldGFpbHMiIHR5cGU9 -InRuczpSZWFkUmF3TW9kaWZpZWREZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJSZWFkUHJvY2Vzc2VkRGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJm -YWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5UmVhZERldGFpbHMi -Pg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Rh -cnRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4 -czplbGVtZW50IG5hbWU9IkVuZFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJvY2Vzc2luZ0ludGVydmFsIiB0eXBl -PSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJBZ2dyZWdhdGVUeXBlIiB0eXBlPSJ1YTpMaXN0T2ZOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWdncmVnYXRlQ29u -ZmlndXJhdGlvbiIgdHlwZT0idG5zOkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hz -OmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWFkUHJvY2Vzc2VkRGV0YWlscyIgdHlwZT0idG5zOlJl -YWRQcm9jZXNzZWREZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWFkQXRU -aW1lRGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAg -ICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5UmVhZERldGFpbHMiPg0KICAgICAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxVGltZXMiIHR5cGU9 -InVhOkxpc3RPZkRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZVNpbXBsZUJvdW5kcyIgdHlwZT0ieHM6Ym9vbGVh -biIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpl -eHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZEF0VGltZURldGFpbHMiIHR5cGU9InRuczpSZWFkQXRU -aW1lRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeURhdGEiPg0K -ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFWYWx1ZXMiIHR5 -cGU9InVhOkxpc3RPZkRhdGFWYWx1ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJIaXN0b3J5RGF0YSIgdHlwZT0idG5zOkhpc3RvcnlEYXRhIiAvPg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJNb2RpZmljYXRpb25JbmZvIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZmljYXRpb25UaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXBkYXRlVHlwZSIgdHlw -ZT0idG5zOkhpc3RvcnlVcGRhdGVUeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJVc2VyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9Ik1vZGlmaWNhdGlvbkluZm8iIHR5cGU9InRuczpNb2RpZmljYXRp -b25JbmZvIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb2RpZmljYXRpb25J -bmZvIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZmlj -YXRpb25JbmZvIiB0eXBlPSJ0bnM6TW9kaWZpY2F0aW9uSW5mbyIgbWluT2NjdXJzPSIwIiBtYXhP -Y2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTW9kaWZpY2F0 -aW9uSW5mbyIgdHlwZT0idG5zOkxpc3RPZk1vZGlmaWNhdGlvbkluZm8iIG5pbGxhYmxlPSJ0cnVl -Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlNb2RpZmll -ZERhdGEiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhz -OmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeURhdGEiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZpY2F0aW9uSW5mb3MiIHR5cGU9InRu -czpMaXN0T2ZNb2RpZmljYXRpb25JbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94 -czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iSGlzdG9yeU1vZGlmaWVkRGF0YSIgdHlwZT0idG5zOkhpc3RvcnlNb2RpZmllZERhdGEiIC8+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlFdmVudCI+DQogICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnRzIiB0eXBlPSJ0bnM6TGlzdE9mSGlz -dG9yeUV2ZW50RmllbGRMaXN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -Ikhpc3RvcnlFdmVudCIgdHlwZT0idG5zOkhpc3RvcnlFdmVudCIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iSGlzdG9yeVJlYWRSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRl -ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9Ikhpc3RvcnlSZWFkRGV0YWlscyIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0 -YW1wc1RvUmV0dXJuIiB0eXBlPSJ0bnM6VGltZXN0YW1wc1RvUmV0dXJuIiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWxlYXNlQ29udGludWF0aW9uUG9pbnRzIiB0 -eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJOb2Rlc1RvUmVhZCIgdHlwZT0idG5zOkxpc3RPZkhpc3RvcnlSZWFkVmFsdWVJZCIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5UmVhZFJlcXVlc3QiIHR5cGU9 -InRuczpIaXN0b3J5UmVhZFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhp -c3RvcnlSZWFkUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRz -IiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeVJlYWRSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5 -cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9Ikhpc3RvcnlSZWFkUmVzcG9uc2UiIHR5cGU9InRuczpIaXN0b3J5UmVhZFJlc3Bv -bnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJXcml0ZVZhbHVlIj4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5vZGVJ -ZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXhSYW5nZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFs -dWUiIHR5cGU9InVhOkRhdGFWYWx1ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJXcml0ZVZhbHVlIiB0eXBlPSJ0bnM6V3JpdGVWYWx1ZSIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iTGlzdE9mV3JpdGVWYWx1ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVWYWx1ZSIgdHlwZT0idG5zOldyaXRlVmFsdWUiIG1pbk9j -Y3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv -eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxp -c3RPZldyaXRlVmFsdWUiIHR5cGU9InRuczpMaXN0T2ZXcml0ZVZhbHVlIiBuaWxsYWJsZT0idHJ1 -ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJXcml0ZVJlcXVlc3Qi -Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFk -ZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb1dyaXRlIiB0eXBlPSJ0bnM6TGlz -dE9mV3JpdGVWYWx1ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz -OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJXcml0 -ZVJlcXVlc3QiIHR5cGU9InRuczpXcml0ZVJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9IldyaXRlUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1 -bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1 -YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJXcml0ZVJlc3BvbnNlIiB0eXBlPSJ0bnM6V3JpdGVSZXNwb25zZSIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgIDx4czpzZXF1ZW5j -ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlVcGRhdGVEZXRhaWxzIiB0 -eXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5h -bWU9Ikhpc3RvcnlVcGRhdGVUeXBlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3Ry -aW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW5zZXJ0XzEiIC8+DQogICAgICA8 -eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlcGxhY2VfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv -biB2YWx1ZT0iVXBkYXRlXzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRlbGV0 -ZV80IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iSGlzdG9yeVVwZGF0ZVR5cGUiIHR5cGU9InRuczpIaXN0b3J5VXBkYXRl -VHlwZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iUGVyZm9ybVVwZGF0ZVR5cGUiPg0K -ICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0 -aW9uIHZhbHVlPSJJbnNlcnRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVw -bGFjZV8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVcGRhdGVfMyIgLz4NCiAg -ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVtb3ZlXzQiIC8+DQogICAgPC94czpyZXN0cmlj -dGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJQZXJmb3JtVXBk -YXRlVHlwZSIgdHlwZT0idG5zOlBlcmZvcm1VcGRhdGVUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4 -VHlwZSBuYW1lPSJVcGRhdGVEYXRhRGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1p -eGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5VXBkYXRl -RGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJQZXJmb3JtSW5zZXJ0UmVwbGFjZSIgdHlwZT0idG5zOlBlcmZvcm1VcGRhdGVUeXBlIiBt -aW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXBkYXRlVmFsdWVz -IiB0eXBlPSJ1YTpMaXN0T2ZEYXRhVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8 -L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJVcGRhdGVEYXRhRGV0YWlscyIgdHlwZT0idG5zOlVwZGF0ZURhdGFEZXRhaWxzIiAvPg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJVcGRhdGVTdHJ1Y3R1cmVEYXRhRGV0YWlscyI+DQog -ICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9u -IGJhc2U9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQZXJmb3JtSW5zZXJ0UmVwbGFjZSIgdHlwZT0i -dG5zOlBlcmZvcm1VcGRhdGVUeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iVXBkYXRlVmFsdWVzIiB0eXBlPSJ1YTpMaXN0T2ZEYXRhVmFsdWUiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAg -ICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVcGRhdGVTdHJ1Y3R1cmVEYXRhRGV0YWlscyIg -dHlwZT0idG5zOlVwZGF0ZVN0cnVjdHVyZURhdGFEZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4 -VHlwZSBuYW1lPSJVcGRhdGVFdmVudERldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBt -aXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVVwZGF0 -ZURldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iUGVyZm9ybUluc2VydFJlcGxhY2UiIHR5cGU9InRuczpQZXJmb3JtVXBkYXRlVHlwZSIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlciIgdHlw -ZT0idG5zOkV2ZW50RmlsdGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50RGF0YSIgdHlwZT0idG5zOkxpc3RPZkhpc3Rv -cnlFdmVudEZpZWxkTGlzdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -ICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxl -eENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVwZGF0 -ZUV2ZW50RGV0YWlscyIgdHlwZT0idG5zOlVwZGF0ZUV2ZW50RGV0YWlscyIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlUmF3TW9kaWZpZWREZXRhaWxzIj4NCiAgICA8eHM6Y29t -cGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5z -Okhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAg -IDx4czplbGVtZW50IG5hbWU9IklzRGVsZXRlTW9kaWZpZWQiIHR5cGU9InhzOmJvb2xlYW4iIG1p -bk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFydFRpbWUiIHR5 -cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iRW5kVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg -ICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxl -eENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0 -ZVJhd01vZGlmaWVkRGV0YWlscyIgdHlwZT0idG5zOkRlbGV0ZVJhd01vZGlmaWVkRGV0YWlscyIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlQXRUaW1lRGV0YWlscyI+DQogICAg -PHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJh -c2U9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXFUaW1lcyIgdHlwZT0idWE6TGlzdE9mRGF0ZVRp -bWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVu -Y2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVBdFRpbWVEZXRhaWxz -IiB0eXBlPSJ0bnM6RGVsZXRlQXRUaW1lRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iRGVsZXRlRXZlbnREZXRhaWxzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9 -ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRh -aWxzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkV2ZW50SWRzIiB0eXBlPSJ1YTpMaXN0T2ZCeXRlU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNp -b24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iRGVsZXRlRXZlbnREZXRhaWxzIiB0eXBlPSJ0bnM6RGVsZXRlRXZlbnRE -ZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5VXBkYXRlUmVzdWx0 -Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2Rl -IiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJPcGVyYXRpb25SZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlh -Z25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5VXBkYXRlUmVzdWx0IiB0eXBlPSJ0bnM6 -SGlzdG9yeVVwZGF0ZVJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m -SGlzdG9yeVVwZGF0ZVJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3VsdCIgdHlwZT0idG5zOkhpc3RvcnlVcGRhdGVSZXN1 -bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9Ikxpc3RPZkhpc3RvcnlVcGRhdGVSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZIaXN0b3J5 -VXBkYXRlUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJIaXN0b3J5VXBkYXRlUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RI -ZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJIaXN0b3J5VXBkYXRlRGV0YWlscyIgdHlwZT0idWE6TGlzdE9mRXh0ZW5zaW9uT2Jq -ZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlVcGRhdGVS -ZXF1ZXN0IiB0eXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZVJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9Ikhpc3RvcnlVcGRhdGVSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25z -ZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZIaXN0b3J5VXBkYXRlUmVzdWx0IiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -RGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5VXBkYXRlUmVzcG9uc2UiIHR5cGU9 -InRuczpIaXN0b3J5VXBkYXRlUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 -IkNhbGxNZXRob2RSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJPYmplY3RJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWV0aG9kSWQiIHR5cGU9InVhOk5v -ZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IklucHV0QXJndW1lbnRzIiB0eXBlPSJ1YTpMaXN0T2ZWYXJpYW50IiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNhbGxNZXRob2RSZXF1ZXN0IiB0eXBlPSJ0bnM6 -Q2FsbE1ldGhvZFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkNh -bGxNZXRob2RSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJDYWxsTWV0aG9kUmVxdWVzdCIgdHlwZT0idG5zOkNhbGxNZXRob2RSZXF1ZXN0IiBtaW5P -Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM -aXN0T2ZDYWxsTWV0aG9kUmVxdWVzdCIgdHlwZT0idG5zOkxpc3RPZkNhbGxNZXRob2RSZXF1ZXN0 -IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJDYWxsTWV0aG9kUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbnB1dEFyZ3VtZW50UmVzdWx0cyIgdHlwZT0idWE6 -TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IklucHV0QXJndW1lbnREaWFnbm9zdGljSW5mb3MiIHR5cGU9InVh -Okxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT3V0cHV0QXJndW1lbnRzIiB0eXBlPSJ1YTpMaXN0T2ZW -YXJpYW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu -Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNhbGxNZXRob2RS -ZXN1bHQiIHR5cGU9InRuczpDYWxsTWV0aG9kUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJMaXN0T2ZDYWxsTWV0aG9kUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJDYWxsTWV0aG9kUmVzdWx0IiB0eXBlPSJ0bnM6Q2FsbE1ldGhv -ZFJlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iTGlzdE9mQ2FsbE1ldGhvZFJlc3VsdCIgdHlwZT0idG5zOkxpc3RPZkNhbGxN -ZXRob2RSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9IkNhbGxSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1l -dGhvZHNUb0NhbGwiIHR5cGU9InRuczpMaXN0T2ZDYWxsTWV0aG9kUmVxdWVzdCIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDYWxsUmVxdWVzdCIgdHlwZT0idG5zOkNhbGxS -ZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDYWxsUmVzcG9uc2UiPg0KICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0 -eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ0bnM6TGlzdE9mQ2FsbE1l -dGhvZFJlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0lu -Zm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ2FsbFJlc3BvbnNlIiB0 -eXBlPSJ0bnM6Q2FsbFJlc3BvbnNlIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJNb25p -dG9yaW5nTW9kZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAg -ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRpc2FibGVkXzAiIC8+DQogICAgICA8eHM6ZW51bWVy -YXRpb24gdmFsdWU9IlNhbXBsaW5nXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 -IlJlcG9ydGluZ18yIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ01vZGUiIHR5cGU9InRuczpNb25pdG9y -aW5nTW9kZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iRGF0YUNoYW5nZVRyaWdnZXIi -Pg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1l -cmF0aW9uIHZhbHVlPSJTdGF0dXNfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i -U3RhdHVzVmFsdWVfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU3RhdHVzVmFs -dWVUaW1lc3RhbXBfMiIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRhdGFDaGFuZ2VUcmlnZ2VyIiB0eXBlPSJ0bnM6RGF0 -YUNoYW5nZVRyaWdnZXIiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkRlYWRiYW5kVHlw -ZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51 -bWVyYXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i -QWJzb2x1dGVfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudF8yIiAv -Pg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iRGVhZGJhbmRUeXBlIiB0eXBlPSJ0bnM6RGVhZGJhbmRUeXBlIiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJNb25pdG9yaW5nRmlsdGVyIj4NCiAgICA8eHM6c2VxdWVuY2U+ -DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg -bmFtZT0iTW9uaXRvcmluZ0ZpbHRlciIgdHlwZT0idG5zOk1vbml0b3JpbmdGaWx0ZXIiIC8+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFDaGFuZ2VGaWx0ZXIiPg0KICAgIDx4czpjb21w -bGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6 -TW9uaXRvcmluZ0ZpbHRlciI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJUcmlnZ2VyIiB0eXBlPSJ0bnM6RGF0YUNoYW5nZVRyaWdnZXIiIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWFkYmFuZFR5cGUiIHR5 -cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iRGVhZGJhbmRWYWx1ZSIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+ -DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hz -OmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJEYXRhQ2hhbmdlRmlsdGVyIiB0eXBlPSJ0bnM6RGF0YUNoYW5nZUZpbHRlciIgLz4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iRXZlbnRGaWx0ZXIiPg0KICAgIDx4czpjb21wbGV4Q29udGVu -dCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6TW9uaXRvcmlu -Z0ZpbHRlciI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJTZWxlY3RDbGF1c2VzIiB0eXBlPSJ0bnM6TGlzdE9mU2ltcGxlQXR0cmlidXRlT3BlcmFu -ZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJXaGVyZUNsYXVzZSIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXIiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hz -OmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudEZpbHRlciIgdHlwZT0idG5zOkV2ZW50RmlsdGVy -IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZ2dyZWdhdGVDb25maWd1cmF0aW9uIj4N -CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VTZXJ2ZXJDYXBh -YmlsaXRpZXNEZWZhdWx0cyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJlYXRVbmNlcnRhaW5Bc0JhZCIgdHlwZT0ieHM6Ym9vbGVh -biIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUGVyY2VudERhdGFC -YWQiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iUGVyY2VudERhdGFHb29kIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZVNsb3BlZEV4dHJhcG9sYXRp -b24iIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNl -Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBZ2dyZWdhdGVDb25m -aWd1cmF0aW9uIiB0eXBlPSJ0bnM6QWdncmVnYXRlQ29uZmlndXJhdGlvbiIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iQWdncmVnYXRlRmlsdGVyIj4NCiAgICA8eHM6Y29tcGxleENvbnRl -bnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk1vbml0b3Jp -bmdGaWx0ZXIiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iU3RhcnRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFnZ3JlZ2F0ZVR5cGUiIHR5cGU9InVhOk5vZGVJZCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJQcm9jZXNzaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAv -Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIHR5 -cGU9InRuczpBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQog -ICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iQWdncmVnYXRlRmlsdGVyIiB0eXBlPSJ0bnM6QWdncmVnYXRlRmlsdGVyIiAvPg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb25pdG9yaW5nRmlsdGVyUmVzdWx0Ij4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ0ZpbHRlclJlc3VsdCIgdHlwZT0idG5zOk1vbml0 -b3JpbmdGaWx0ZXJSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkV2ZW50Rmls -dGVyUmVzdWx0Ij4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAg -IDx4czpleHRlbnNpb24gYmFzZT0idG5zOk1vbml0b3JpbmdGaWx0ZXJSZXN1bHQiPg0KICAgICAg -ICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VsZWN0Q2xhdXNl -UmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWxlY3RDbGF1c2VEaWFn -bm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IldoZXJlQ2xh -dXNlUmVzdWx0IiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlclJlc3VsdCIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0 -ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9IkV2ZW50RmlsdGVyUmVzdWx0IiB0eXBlPSJ0bnM6RXZlbnRGaWx0 -ZXJSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFnZ3JlZ2F0ZUZpbHRlclJl -c3VsdCI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6 -ZXh0ZW5zaW9uIGJhc2U9InRuczpNb25pdG9yaW5nRmlsdGVyUmVzdWx0Ij4NCiAgICAgICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRTdGFydFRpbWUi -IHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iUmV2aXNlZFByb2Nlc3NpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZEFnZ3JlZ2F0 -ZUNvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAg -PC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWdncmVnYXRlRmlsdGVyUmVzdWx0IiB0eXBlPSJ0 -bnM6QWdncmVnYXRlRmlsdGVyUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJN -b25pdG9yaW5nUGFyYW1ldGVycyI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iQ2xpZW50SGFuZGxlIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2FtcGxpbmdJbnRlcnZhbCIgdHlwZT0ieHM6 -ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXIi -IHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXVlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJ -bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2NhcmRPbGRl -c3QiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNl -Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yaW5nUGFy -YW1ldGVycyIgdHlwZT0idG5zOk1vbml0b3JpbmdQYXJhbWV0ZXJzIiAvPg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCI+DQogICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXRlbVRvTW9uaXRvciIgdHlwZT0idG5zOlJl -YWRWYWx1ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iTW9uaXRvcmluZ01vZGUiIHR5cGU9InRuczpNb25pdG9yaW5nTW9kZSIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkUGFyYW1ldGVy -cyIgdHlwZT0idG5zOk1vbml0b3JpbmdQYXJhbWV0ZXJzIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0IiB0eXBlPSJ0bnM6TW9u -aXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxp -c3RPZk1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIgdHlwZT0idG5z -Ok1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5i -b3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVtQ3JlYXRl -UmVxdWVzdCIgdHlwZT0idG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0IiBuaWxs -YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb25p -dG9yZWRJdGVtQ3JlYXRlUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtSWQiIHR5cGU9InhzOnVu -c2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZp -c2VkU2FtcGxpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkUXVldWVTaXplIiB0eXBlPSJ4czp1bnNpZ25l -ZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyUmVz -dWx0IiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUNyZWF0ZVJlc3VsdCIgdHlwZT0idG5zOk1vbml0b3Jl -ZEl0ZW1DcmVhdGVSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk1v -bml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIHR5cGU9InRuczpNb25pdG9y -ZWRJdGVtQ3JlYXRlUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0IiB0 -eXBlPSJ0bnM6TGlzdE9mTW9uaXRvcmVkSXRlbUNyZWF0ZVJlc3VsdCIgbmlsbGFibGU9InRydWUi -PjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ3JlYXRlTW9uaXRvcmVk -SXRlbXNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklk -IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiB0eXBlPSJ0bnM6VGltZXN0YW1wc1RvUmV0dXJu -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJdGVtc1RvQ3JlYXRl -IiB0eXBlPSJ0bnM6TGlzdE9mTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ3JlYXRlTW9uaXRvcmVkSXRlbXNSZXF1ZXN0IiB0 -eXBlPSJ0bnM6Q3JlYXRlTW9uaXRvcmVkSXRlbXNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4 -VHlwZSBuYW1lPSJDcmVhdGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJl -c3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1DcmVh -dGVSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZv -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog -IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0 -ZW1zUmVzcG9uc2UiIHR5cGU9InRuczpDcmVhdGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiAvPg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCI+DQog -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUlk -IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iUmVxdWVzdGVkUGFyYW1ldGVycyIgdHlwZT0idG5zOk1vbml0b3JpbmdQYXJhbWV0 -ZXJzIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1N -b2RpZnlSZXF1ZXN0IiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVlc3QiIC8+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0 -Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJ -dGVtTW9kaWZ5UmVxdWVzdCIgdHlwZT0idG5zOk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiBt -aW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJMaXN0T2ZNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCIgdHlwZT0idG5zOkxpc3RPZk1vbml0 -b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0Ij4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1 -YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS -ZXZpc2VkU2FtcGxpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkUXVldWVTaXplIiB0eXBlPSJ4czp1bnNp -Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVy -UmVzdWx0IiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCIgdHlwZT0idG5zOk1vbml0 -b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RP -Zk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIHR5cGU9InRuczpNb25p -dG9yZWRJdGVtTW9kaWZ5UmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVk -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0 -IiB0eXBlPSJ0bnM6TGlzdE9mTW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCIgbmlsbGFibGU9InRy -dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9kaWZ5TW9uaXRv -cmVkSXRlbXNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlv -bklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiB0eXBlPSJ0bnM6VGltZXN0YW1wc1RvUmV0 -dXJuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJdGVtc1RvTW9k -aWZ5IiB0eXBlPSJ0bnM6TGlzdE9mTW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVlc3QiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXF1ZXN0 -IiB0eXBlPSJ0bnM6TW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJNb2RpZnlNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5z -OlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1N -b2RpZnlSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJ -bmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmeU1vbml0b3Jl -ZEl0ZW1zUmVzcG9uc2UiIHR5cGU9InRuczpNb2RpZnlNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiAv -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXRNb25pdG9yaW5nTW9kZVJlcXVlc3QiPg0K -ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIi -IHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9InhzOnVuc2ln -bmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9y -aW5nTW9kZSIgdHlwZT0idG5zOk1vbml0b3JpbmdNb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtSWRzIiB0eXBlPSJ1YTpMaXN0T2ZVSW50 -MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0TW9uaXRvcmluZ01v -ZGVSZXF1ZXN0IiB0eXBlPSJ0bnM6U2V0TW9uaXRvcmluZ01vZGVSZXF1ZXN0IiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJTZXRNb25pdG9yaW5nTW9kZVJlc3BvbnNlIj4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0i -dG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0TW9uaXRvcmluZ01vZGVSZXNwb25zZSIg -dHlwZT0idG5zOlNldE1vbml0b3JpbmdNb2RlUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IlNldFRyaWdnZXJpbmdSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRl -ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJpZ2dlcmluZ0l0ZW1JZCIgdHlwZT0ieHM6dW5z -aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxpbmtz -VG9BZGQiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkxpbmtzVG9SZW1vdmUiIHR5cGU9InVhOkxp -c3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRUcmln -Z2VyaW5nUmVxdWVzdCIgdHlwZT0idG5zOlNldFRyaWdnZXJpbmdSZXF1ZXN0IiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJTZXRUcmlnZ2VyaW5nUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1 -ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6 -UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJBZGRSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -QWRkRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlbW92 -ZVJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZW1vdmVEaWFnbm9zdGljSW5m -b3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9IlNldFRyaWdnZXJpbmdSZXNwb25zZSIgdHlwZT0idG5zOlNldFRyaWdn -ZXJpbmdSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlTW9uaXRv -cmVkSXRlbXNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlv -bklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUlkcyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVx -dWVzdCIgdHlwZT0idG5zOkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSI+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9 -InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUi -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVzcG9u -c2UiIHR5cGU9InRuczpEZWxldGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJDcmVhdGVTdWJzY3JpcHRpb25SZXF1ZXN0Ij4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6 -UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91 -YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWRM -aWZldGltZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnQiIHR5cGU9Inhz -OnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJN -YXhOb3RpZmljYXRpb25zUGVyUHVibGlzaCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vy -cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hpbmdFbmFibGVkIiB0eXBl -PSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQ -cmlvcml0eSIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94 -czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ3Jl -YXRlU3Vic2NyaXB0aW9uUmVxdWVzdCIgdHlwZT0idG5zOkNyZWF0ZVN1YnNjcmlwdGlvblJlcXVl -c3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNyZWF0ZVN1YnNjcmlwdGlvblJlc3Bv -bnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25z -ZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9 -InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJSZXZpc2VkUHVibGlzaGluZ0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRMaWZldGltZUNvdW50IiB0eXBl -PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iUmV2aXNlZE1heEtlZXBBbGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9IkNyZWF0ZVN1YnNjcmlwdGlvblJlc3BvbnNlIiB0eXBlPSJ0bnM6Q3Jl -YXRlU3Vic2NyaXB0aW9uUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1v -ZGlmeVN1YnNjcmlwdGlvblJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vi -c2NyaXB0aW9uSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWwiIHR5cGU9Inhz -OmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVz -dGVkTGlmZXRpbWVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50IiB0eXBl -PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iTWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2giIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQcmlvcml0eSIgdHlwZT0ieHM6 -dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZ5U3Vic2NyaXB0aW9uUmVx -dWVzdCIgdHlwZT0idG5zOk1vZGlmeVN1YnNjcmlwdGlvblJlcXVlc3QiIC8+DQoNCiAgPHhzOmNv -bXBsZXhUeXBlIG5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvblJlc3BvbnNlIj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5z -OlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFB1Ymxpc2hpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91 -YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkTGlm -ZXRpbWVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRNYXhLZWVwQWxpdmVDb3VudCIgdHlwZT0ieHM6dW5z -aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZnlTdWJzY3JpcHRpb25SZXNwb25z -ZSIgdHlwZT0idG5zOk1vZGlmeVN1YnNjcmlwdGlvblJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJTZXRQdWJsaXNoaW5nTW9kZVJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5j -ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1 -ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iUHVibGlzaGluZ0VuYWJsZWQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vy -cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkcyIgdHlwZT0i -dWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv -eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNl -dFB1Ymxpc2hpbmdNb2RlUmVxdWVzdCIgdHlwZT0idG5zOlNldFB1Ymxpc2hpbmdNb2RlUmVxdWVz -dCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2V0UHVibGlzaGluZ01vZGVSZXNwb25z -ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VI -ZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RP -ZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJ -bmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNldFB1Ymxpc2hpbmdN -b2RlUmVzcG9uc2UiIHR5cGU9InRuczpTZXRQdWJsaXNoaW5nTW9kZVJlc3BvbnNlIiAvPg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJOb3RpZmljYXRpb25NZXNzYWdlIj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXF1ZW5jZU51bWJlciIgdHlwZT0ieHM6 -dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1 -Ymxpc2hUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iTm90aWZpY2F0aW9uRGF0YSIgdHlwZT0idWE6TGlzdE9mRXh0ZW5zaW9u -T2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu -Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik5vdGlmaWNhdGlv -bk1lc3NhZ2UiIHR5cGU9InRuczpOb3RpZmljYXRpb25NZXNzYWdlIiAvPg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJOb3RpZmljYXRpb25EYXRhIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg -PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -Tm90aWZpY2F0aW9uRGF0YSIgdHlwZT0idG5zOk5vdGlmaWNhdGlvbkRhdGEiIC8+DQoNCiAgPHhz -OmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFDaGFuZ2VOb3RpZmljYXRpb24iPg0KICAgIDx4czpjb21w -bGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6 -Tm90aWZpY2F0aW9uRGF0YSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtcyIgdHlwZT0idG5zOkxpc3RPZk1vbml0b3JlZEl0 -ZW1Ob3RpZmljYXRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFn -bm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94 -czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRl -bnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRhdGFDaGFuZ2VO -b3RpZmljYXRpb24iIHR5cGU9InRuczpEYXRhQ2hhbmdlTm90aWZpY2F0aW9uIiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJNb25pdG9yZWRJdGVtTm90aWZpY2F0aW9uIj4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRIYW5kbGUiIHR5cGU9Inhz -OnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJW -YWx1ZSIgdHlwZT0idWE6RGF0YVZhbHVlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9Ik1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iIHR5cGU9InRuczpNb25pdG9yZWRJdGVt -Tm90aWZpY2F0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb25pdG9y -ZWRJdGVtTm90aWZpY2F0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJNb25pdG9yZWRJdGVtTm90aWZpY2F0aW9uIiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRl -bU5vdGlmaWNhdGlvbiIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiIgdHlwZT0i -dG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hz -OmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkV2ZW50Tm90aWZpY2F0aW9uTGlz -dCI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0 -ZW5zaW9uIGJhc2U9InRuczpOb3RpZmljYXRpb25EYXRhIj4NCiAgICAgICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50cyIgdHlwZT0idG5zOkxpc3RPZkV2 -ZW50RmllbGRMaXN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8 -L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29u -dGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnROb3Rp -ZmljYXRpb25MaXN0IiB0eXBlPSJ0bnM6RXZlbnROb3RpZmljYXRpb25MaXN0IiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJFdmVudEZpZWxkTGlzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50SGFuZGxlIiB0eXBlPSJ4czp1bnNpZ25lZElu -dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnRGaWVsZHMi -IHR5cGU9InVhOkxpc3RPZlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg -bmFtZT0iRXZlbnRGaWVsZExpc3QiIHR5cGU9InRuczpFdmVudEZpZWxkTGlzdCIgLz4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRXZlbnRGaWVsZExpc3QiPg0KICAgIDx4czpzZXF1 -ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50RmllbGRMaXN0IiB0eXBlPSJ0bnM6 -RXZlbnRGaWVsZExpc3QiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkV2ZW50RmllbGRMaXN0IiB0eXBlPSJ0bnM6TGlzdE9m -RXZlbnRGaWVsZExpc3QiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNv -bXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlFdmVudEZpZWxkTGlzdCI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnRGaWVsZHMiIHR5cGU9InVhOkxpc3RPZlZh -cmlhbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeUV2ZW50 -RmllbGRMaXN0IiB0eXBlPSJ0bnM6SGlzdG9yeUV2ZW50RmllbGRMaXN0IiAvPg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZIaXN0b3J5RXZlbnRGaWVsZExpc3QiPg0KICAgIDx4czpz -ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlFdmVudEZpZWxkTGlzdCIg -dHlwZT0idG5zOkhpc3RvcnlFdmVudEZpZWxkTGlzdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9 -InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mSGlzdG9yeUV2ZW50Rmll -bGRMaXN0IiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeUV2ZW50RmllbGRMaXN0IiBuaWxsYWJsZT0i -dHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTdGF0dXNDaGFu -Z2VOb3RpZmljYXRpb24iPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0K -ICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm90aWZpY2F0aW9uRGF0YSI+DQogICAgICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXMiIHR5cGU9 -InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJEaWFnbm9zdGljSW5mbyIgdHlwZT0idWE6RGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hz -OmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDaGFuZ2VOb3RpZmljYXRpb24iIHR5cGU9InRu -czpTdGF0dXNDaGFuZ2VOb3RpZmljYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 -IlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBt -aW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXF1ZW5jZU51bWJlciIg -dHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNl -Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25B -Y2tub3dsZWRnZW1lbnQiIHR5cGU9InRuczpTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiIC8+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlN1YnNjcmlwdGlvbkFja25vd2xlZGdl -bWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2Ny -aXB0aW9uQWNrbm93bGVkZ2VtZW50IiB0eXBlPSJ0bnM6U3Vic2NyaXB0aW9uQWNrbm93bGVkZ2Vt -ZW50IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJMaXN0T2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiIHR5cGU9InRuczpMaXN0 -T2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1l -bnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlB1Ymxpc2hSZXF1ZXN0Ij4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0 -bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudHMiIHR5cGU9InRu -czpMaXN0T2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaFJlcXVlc3QiIHR5cGU9InRuczpQdWJsaXNoUmVxdWVz -dCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUHVibGlzaFJlc3BvbnNlIj4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlw -ZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9InhzOnVuc2lnbmVk -SW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdmFpbGFibGVT -ZXF1ZW5jZU51bWJlcnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vcmVOb3RpZmljYXRpb25z -IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJOb3RpZmljYXRpb25NZXNzYWdlIiB0eXBlPSJ0bnM6Tm90aWZpY2F0aW9uTWVzc2FnZSIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5 -cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9IlB1Ymxpc2hSZXNwb25zZSIgdHlwZT0idG5zOlB1Ymxpc2hSZXNwb25zZSIgLz4N -Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVwdWJsaXNoUmVxdWVzdCI+DQogICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5z -OlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1p -bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldHJhbnNtaXRTZXF1ZW5j -ZU51bWJlciIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hz -OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZXB1 -Ymxpc2hSZXF1ZXN0IiB0eXBlPSJ0bnM6UmVwdWJsaXNoUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iUmVwdWJsaXNoUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VI -ZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJOb3RpZmljYXRpb25NZXNzYWdlIiB0eXBlPSJ0bnM6Tm90aWZpY2F0aW9uTWVzc2Fn -ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZXB1Ymxpc2hSZXNwb25z -ZSIgdHlwZT0idG5zOlJlcHVibGlzaFJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJUcmFuc2ZlclJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXZhaWxhYmxlU2VxdWVuY2VOdW1iZXJzIiB0eXBl -PSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -VHJhbnNmZXJSZXN1bHQiIHR5cGU9InRuczpUcmFuc2ZlclJlc3VsdCIgLz4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iTGlzdE9mVHJhbnNmZXJSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zZmVyUmVzdWx0IiB0eXBlPSJ0bnM6VHJhbnNm -ZXJSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9Ikxpc3RPZlRyYW5zZmVyUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mVHJhbnNm -ZXJSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IlRyYW5zZmVyU3Vic2NyaXB0aW9uc1JlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5j -ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1 -ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWRzIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZW5k -SW5pdGlhbFZhbHVlcyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwv -eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRy -YW5zZmVyU3Vic2NyaXB0aW9uc1JlcXVlc3QiIHR5cGU9InRuczpUcmFuc2ZlclN1YnNjcmlwdGlv -bnNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJUcmFuc2ZlclN1YnNjcmlw -dGlvbnNSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5 -cGU9InRuczpMaXN0T2ZUcmFuc2ZlclJlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6 -TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iVHJhbnNmZXJTdWJzY3JpcHRpb25zUmVzcG9uc2UiIHR5cGU9InRuczpUcmFuc2ZlclN1YnNj -cmlwdGlvbnNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlU3Vi -c2NyaXB0aW9uc1JlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0 -aW9uSWRzIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iRGVsZXRlU3Vic2NyaXB0aW9uc1JlcXVlc3QiIHR5cGU9InRuczpEZWxldGVT -dWJzY3JpcHRpb25zUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRl -U3Vic2NyaXB0aW9uc1Jlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVz -dWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0i -dWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg -bmFtZT0iRGVsZXRlU3Vic2NyaXB0aW9uc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6RGVsZXRlU3Vic2Ny -aXB0aW9uc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCdWlsZEluZm8i -Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlByb2R1Y3RVcmki -IHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9Ik1hbnVmYWN0dXJlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBy -b2R1Y3ROYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTb2Z0d2FyZVZlcnNpb24iIHR5cGU9InhzOnN0 -cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IkJ1aWxkTnVtYmVyIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCdWlsZERhdGUiIHR5cGU9Inhz -OmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnVpbGRJbmZvIiB0eXBlPSJ0bnM6QnVp -bGRJbmZvIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJSZWR1bmRhbmN5U3VwcG9ydCI+ -DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVy -YXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ29s -ZF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJXYXJtXzIiIC8+DQogICAgICA8 -eHM6ZW51bWVyYXRpb24gdmFsdWU9IkhvdF8zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh -bHVlPSJUcmFuc3BhcmVudF80IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJIb3RB -bmRNaXJyb3JlZF81IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVkdW5kYW5jeVN1cHBvcnQiIHR5cGU9InRuczpSZWR1 -bmRhbmN5U3VwcG9ydCIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iU2VydmVyU3RhdGUi -Pg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1l -cmF0aW9uIHZhbHVlPSJSdW5uaW5nXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 -IkZhaWxlZF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb0NvbmZpZ3VyYXRp -b25fMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU3VzcGVuZGVkXzMiIC8+DQog -ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNodXRkb3duXzQiIC8+DQogICAgICA8eHM6ZW51 -bWVyYXRpb24gdmFsdWU9IlRlc3RfNSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i -Q29tbXVuaWNhdGlvbkZhdWx0XzYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVu -a25vd25fNyIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9IlNlcnZlclN0YXRlIiB0eXBlPSJ0bnM6U2VydmVyU3RhdGUiIC8+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZHVuZGFudFNlcnZlckRhdGFUeXBlIj4NCiAg -ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJJZCIgdHlwZT0i -eHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iU2VydmljZUxldmVsIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vy -cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlclN0YXRlIiB0eXBlPSJ0bnM6 -U2VydmVyU3RhdGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlw -ZSIgdHlwZT0idG5zOlJlZHVuZGFudFNlcnZlckRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4 -VHlwZSBuYW1lPSJMaXN0T2ZSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVkdW5kYW50U2VydmVyRGF0YVR5cGUiIHR5 -cGU9InRuczpSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9 -InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUmVkdW5kYW50U2VydmVy -RGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIgbmlsbGFi -bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRW5kcG9p -bnRVcmxMaXN0RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IkVuZHBvaW50VXJsTGlzdCIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIiB0eXBl -PSJ0bnM6RW5kcG9pbnRVcmxMaXN0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h -bWU9Ikxpc3RPZkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVybExpc3REYXRhVHlwZSIgdHlwZT0idG5z -OkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3Vu -ZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbmRwb2ludFVybExpc3REYXRhVHlw -ZSIgdHlwZT0idG5zOkxpc3RPZkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1 -ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJOZXR3b3JrR3JvdXBE -YXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vy -dmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOZXR3b3JrUGF0aHMiIHR5cGU9InRuczpMaXN0T2ZF -bmRwb2ludFVybExpc3REYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJOZXR3b3JrR3JvdXBEYXRhVHlwZSIgdHlwZT0idG5zOk5ldHdvcmtHcm91cERhdGFUeXBl -IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZOZXR3b3JrR3JvdXBEYXRhVHlw -ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmV0d29ya0dy -b3VwRGF0YVR5cGUiIHR5cGU9InRuczpOZXR3b3JrR3JvdXBEYXRhVHlwZSIgbWluT2NjdXJzPSIw -IiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 -ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTmV0 -d29ya0dyb3VwRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZOZXR3b3JrR3JvdXBEYXRhVHlwZSIg -bmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -U2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNhbXBsaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJs -ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRl -bUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iTWF4TW9uaXRvcmVkSXRlbUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZElu -dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzYWJsZWRNb25p -dG9yZWRJdGVtQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTYW1wbGlu -Z0ludGVydmFsRGlhZ25vc3RpY3NEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt -ZT0iTGlzdE9mU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpz -ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNhbXBsaW5nSW50ZXJ2YWxEaWFnbm9z -dGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5 -cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9Ikxpc3RPZlNhbXBsaW5nSW50ZXJ2YWxEaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0 -bnM6TGlzdE9mU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiIG5pbGxhYmxlPSJ0 -cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlcnZlckRpYWdu -b3N0aWNzU3VtbWFyeURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJTZXJ2ZXJWaWV3Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1 -cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50U2Vzc2lvbkNvdW50IiB0 -eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iQ3VtdWxhdGVkU2Vzc2lvbkNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlSZWplY3RlZFNlc3Np -b25Db3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlJlamVjdGVkU2Vzc2lvbkNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZElu -dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvblRpbWVv -dXRDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlNlc3Npb25BYm9ydENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudFN1YnNjcmlw -dGlvbkNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iQ3VtdWxhdGVkU3Vic2NyaXB0aW9uQ291bnQiIHR5cGU9InhzOnVu -c2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJs -aXNoaW5nSW50ZXJ2YWxDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5UmVqZWN0ZWRSZXF1ZXN0c0NvdW50 -IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iUmVqZWN0ZWRSZXF1ZXN0c0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9IlNlcnZlckRpYWdub3N0aWNzU3VtbWFyeURhdGFUeXBlIiB0eXBl -PSJ0bnM6U2VydmVyRGlhZ25vc3RpY3NTdW1tYXJ5RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9IlNlcnZlclN0YXR1c0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFydFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50VGltZSIgdHlwZT0i -eHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0 -YXRlIiB0eXBlPSJ0bnM6U2VydmVyU3RhdGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IkJ1aWxkSW5mbyIgdHlwZT0idG5zOkJ1aWxkSW5mbyIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY29uZHNUaWxs -U2h1dGRvd24iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJTaHV0ZG93blJlYXNvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJTdGF0dXNEYXRhVHlw -ZSIgdHlwZT0idG5zOlNlcnZlclN0YXR1c0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJTZXNzaW9uRGlhZ25vc3RpY3NEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbklkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNz -aW9uTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50RGVzY3JpcHRpb24iIHR5cGU9InRuczpB -cHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRw -b2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJp -bmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJBY3R1YWxTZXNzaW9uVGltZW91dCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhSZXNwb25zZU1lc3NhZ2VTaXplIiB0eXBl -PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iQ2xpZW50Q29ubmVjdGlvblRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRMYXN0Q29udGFjdFRpbWUiIHR5cGU9 -InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJD -dXJyZW50U3Vic2NyaXB0aW9uc0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudE1vbml0b3JlZEl0ZW1zQ291 -bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJDdXJyZW50UHVibGlzaFJlcXVlc3RzSW5RdWV1ZSIgdHlwZT0ieHM6dW5zaWdu -ZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRvdGFsUmVx -dWVzdENvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVuYXV0aG9yaXpl -ZFJlcXVlc3RDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlJlYWRDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVy -RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJIaXN0b3J5UmVhZENvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRh -VHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IldyaXRlQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlz -dG9yeVVwZGF0ZUNvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNhbGxD -b3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVNb25pdG9yZWRJ -dGVtc0NvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmeU1vbml0 -b3JlZEl0ZW1zQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0TW9u -aXRvcmluZ01vZGVDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRU -cmlnZ2VyaW5nQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRl -TW9uaXRvcmVkSXRlbXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJD -cmVhdGVTdWJzY3JpcHRpb25Db3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUi -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJNb2RpZnlTdWJzY3JpcHRpb25Db3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5 -cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJTZXRQdWJsaXNoaW5nTW9kZUNvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRh -VHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlB1Ymxpc2hDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS -ZXB1Ymxpc2hDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2Zl -clN1YnNjcmlwdGlvbnNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJE -ZWxldGVTdWJzY3JpcHRpb25zQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBl -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iQWRkTm9kZXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRS -ZWZlcmVuY2VzQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRl -Tm9kZXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVSZWZl -cmVuY2VzQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlQ291 -bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlTmV4dENvdW50IiB0 -eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9O -b2RlSWRzQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlGaXJz -dENvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5TmV4dENvdW50 -IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyTm9kZXNDb3VudCIg -dHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbnJlZ2lzdGVyTm9kZXNDb3VudCIg -dHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTZXNz -aW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlz -dE9mU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlNlc3Npb25EaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6 -U2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJv -dW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlNlc3Npb25EaWFnbm9zdGljc0Rh -dGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIG5pbGxh -YmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlc3Np -b25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlNlc3Npb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50VXNl -cklkT2ZTZXNzaW9uIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRVc2VySWRIaXN0b3J5IiB0eXBl -PSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJBdXRoZW50aWNhdGlvbk1lY2hhbmlzbSIgdHlwZT0ieHM6c3Ry -aW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iRW5jb2RpbmciIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zcG9ydFByb3RvY29sIiB0eXBl -PSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2Rl -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVBvbGlj -eVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50Q2VydGlmaWNhdGUiIHR5cGU9InhzOmJhc2U2 -NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl -bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uU2Vj -dXJpdHlEaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U2Vzc2lvblNlY3VyaXR5RGlhZ25v -c3RpY3NEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU2Vzc2lv -blNlY3VyaXR5RGlhZ25vc3RpY3NEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvblNlY3VyaXR5RGlhZ25vc3RpY3NEYXRhVHlwZSIgdHlw -ZT0idG5zOlNlc3Npb25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIg -bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu -Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlNlc3Np -b25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZTZXNzaW9uU2Vj -dXJpdHlEaWFnbm9zdGljc0RhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXJ2aWNlQ291bnRlckRhdGFUeXBlIj4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUb3RhbENvdW50IiB0eXBlPSJ4 -czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -RXJyb3JDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJT -ZXJ2aWNlQ291bnRlckRhdGFUeXBlIiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU3RhdHVzUmVzdWx0Ij4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0 -dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9z -dGljSW5mbyIgdHlwZT0idWE6RGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iU3RhdHVzUmVzdWx0IiB0eXBlPSJ0bnM6U3RhdHVzUmVzdWx0IiAvPg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTdGF0dXNSZXN1bHQiPg0KICAgIDx4czpz -ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c1Jlc3VsdCIgdHlwZT0idG5z -OlN0YXR1c1Jlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU3RhdHVzUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mU3Rh -dHVzUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4 -VHlwZSBuYW1lPSJTdWJzY3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uSWQiIHR5cGU9InVhOk5vZGVJ -ZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJpb3JpdHkiIHR5cGU9InhzOnVuc2lnbmVkQnl0 -ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGluZ0lu -dGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9Ik1heEtlZXBBbGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4TGlmZXRpbWVDb3VudCIgdHlw -ZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9Ik1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGluZ0VuYWJsZWQi -IHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9Ik1vZGlmeUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5hYmxlQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50 -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNhYmxlQ291bnQi -IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJSZXB1Ymxpc2hSZXF1ZXN0Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXB1Ymxpc2hNZXNzYWdlUmVx -dWVzdENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUmVwdWJsaXNoTWVzc2FnZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25l -ZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNmZXJS -ZXF1ZXN0Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2ZlcnJlZFRvQWx0Q2xpZW50Q291bnQiIHR5cGU9Inhz -OnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJU -cmFuc2ZlcnJlZFRvU2FtZUNsaWVudENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaFJlcXVlc3RDb3VudCIg -dHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IkRhdGFDaGFuZ2VOb3RpZmljYXRpb25zQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50 -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudE5vdGlmaWNh -dGlvbnNDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9Ik5vdGlmaWNhdGlvbnNDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJ -bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkxhdGVQdWJsaXNo -UmVxdWVzdENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudEtlZXBBbGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNp -Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVu -dExpZmV0aW1lQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbmFja25vd2xlZGdlZE1lc3NhZ2VDb3VudCIgdHlwZT0i -eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkRpc2NhcmRlZE1lc3NhZ2VDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1Db3VudCIgdHlwZT0i -eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkRpc2FibGVkTW9uaXRvcmVkSXRlbUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ1F1ZXVlT3ZlcmZs -b3dDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9Ik5leHRTZXF1ZW5jZU51bWJlciIgdHlwZT0ieHM6dW5zaWduZWRJbnQi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50UXVldWVPdmVy -Rmxvd0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwv -eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlN1 -YnNjcmlwdGlvbkRpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTdWJzY3JpcHRpb25EaWFn -bm9zdGljc0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTdWJz -Y3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0 -bnM6U3Vic2NyaXB0aW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1 -cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg -PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU3Vic2NyaXB0aW9u -RGlhZ25vc3RpY3NEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlN1YnNjcmlwdGlvbkRpYWdub3N0 -aWNzRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBs -ZVR5cGUgIG5hbWU9Ik1vZGVsQ2hhbmdlU3RydWN0dXJlVmVyYk1hc2siPg0KICAgIDx4czpyZXN0 -cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJO -b2RlQWRkZWRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9kZURlbGV0ZWRf -MiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVmZXJlbmNlQWRkZWRfNCIgLz4N -CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVmZXJlbmNlRGVsZXRlZF84IiAvPg0KICAg -ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEYXRhVHlwZUNoYW5nZWRfMTYiIC8+DQogICAgPC94 -czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJN -b2RlbENoYW5nZVN0cnVjdHVyZVZlcmJNYXNrIiB0eXBlPSJ0bnM6TW9kZWxDaGFuZ2VTdHJ1Y3R1 -cmVWZXJiTWFzayIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9kZWxDaGFuZ2VTdHJ1 -Y3R1cmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iQWZmZWN0ZWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFmZmVjdGVkVHlwZSIgdHlwZT0idWE6Tm9k -ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iVmVyYiIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg -PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -TW9kZWxDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgdHlwZT0idG5zOk1vZGVsQ2hhbmdlU3RydWN0 -dXJlRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk1vZGVsQ2hh -bmdlU3RydWN0dXJlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9Ik1vZGVsQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIHR5cGU9InRuczpNb2RlbENo -YW5nZVN0cnVjdHVyZURhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVk -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZNb2RlbENoYW5nZVN0cnVjdHVyZURhdGFU -eXBlIiB0eXBlPSJ0bnM6TGlzdE9mTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgbmlsbGFi -bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2VtYW50 -aWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iQWZmZWN0ZWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFmZmVjdGVkVHlwZSIg -dHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv -eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNl -bWFudGljQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIHR5cGU9InRuczpTZW1hbnRpY0NoYW5nZVN0 -cnVjdHVyZURhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTZW1h -bnRpY0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJTZW1hbnRpY0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiB0eXBlPSJ0 -bnM6U2VtYW50aWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1 -cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg -PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU2VtYW50aWNDaGFu -Z2VTdHJ1Y3R1cmVEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlNlbWFudGljQ2hhbmdlU3RydWN0 -dXJlRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9IlJhbmdlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJMb3ciIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iSGlnaCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iUmFuZ2UiIHR5cGU9InRuczpSYW5nZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -RVVJbmZvcm1hdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iTmFtZXNwYWNlVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbml0SWQiIHR5cGU9InhzOmludCIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzcGxheU5hbWUiIHR5 -cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4 -dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFVUluZm9ybWF0aW9uIiB0 -eXBlPSJ0bnM6RVVJbmZvcm1hdGlvbiIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iQXhp -c1NjYWxlRW51bWVyYXRpb24iPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmci -Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJMaW5lYXJfMCIgLz4NCiAgICAgIDx4czpl -bnVtZXJhdGlvbiB2YWx1ZT0iTG9nXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 -IkxuXzIiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJBeGlzU2NhbGVFbnVtZXJhdGlvbiIgdHlwZT0idG5zOkF4aXNTY2Fs -ZUVudW1lcmF0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDb21wbGV4TnVtYmVy -VHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhbCIg -dHlwZT0ieHM6ZmxvYXQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkltYWdpbmFyeSIgdHlwZT0ieHM6ZmxvYXQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb21wbGV4 -TnVtYmVyVHlwZSIgdHlwZT0idG5zOkNvbXBsZXhOdW1iZXJUeXBlIiAvPg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJEb3VibGVDb21wbGV4TnVtYmVyVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1 -cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbWFnaW5hcnkiIHR5cGU9InhzOmRv -dWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRvdWJsZUNvbXBsZXhOdW1iZXJUeXBlIiB0eXBl -PSJ0bnM6RG91YmxlQ29tcGxleE51bWJlclR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h -bWU9IkF4aXNJbmZvcm1hdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iRW5naW5lZXJpbmdVbml0cyIgdHlwZT0idG5zOkVVSW5mb3JtYXRpb24iIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFVVJh -bmdlIiB0eXBlPSJ0bnM6UmFuZ2UiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaXRsZSIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkF4 -aXNTY2FsZVR5cGUiIHR5cGU9InRuczpBeGlzU2NhbGVFbnVtZXJhdGlvbiIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXhpc1N0ZXBzIiB0eXBlPSJ1YTpMaXN0T2ZE -b3VibGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXhpc0luZm9ybWF0 -aW9uIiB0eXBlPSJ0bnM6QXhpc0luZm9ybWF0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJYVlR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlgiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iVmFsdWUiIHR5cGU9InhzOmZsb2F0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpz -ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iWFZUeXBl -IiB0eXBlPSJ0bnM6WFZUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJQcm9ncmFt -RGlhZ25vc3RpY0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJDcmVhdGVTZXNzaW9uSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZUNsaWVudE5h -bWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ikludm9jYXRpb25DcmVhdGlvblRpbWUiIHR5cGU9InhzOmRh -dGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0VHJh -bnNpdGlvblRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kQ2FsbCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1l -dGhvZFNlc3Npb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1ldGhvZElucHV0QXJndW1lbnRz -IiB0eXBlPSJ0bnM6TGlzdE9mQXJndW1lbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kT3V0cHV0QXJndW1lbnRzIiB0 -eXBlPSJ0bnM6TGlzdE9mQXJndW1lbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kQ2FsbFRpbWUiIHR5cGU9InhzOmRh -dGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0 -aG9kUmV0dXJuU3RhdHVzIiB0eXBlPSJ0bnM6U3RhdHVzUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9IlByb2dyYW1EaWFnbm9zdGljRGF0YVR5cGUiIHR5cGU9InRu -czpQcm9ncmFtRGlhZ25vc3RpY0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJBbm5vdGF0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJNZXNzYWdlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -QW5ub3RhdGlvblRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg -PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -QW5ub3RhdGlvbiIgdHlwZT0idG5zOkFubm90YXRpb24iIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUg -IG5hbWU9IkV4Y2VwdGlvbkRldmlhdGlvbkZvcm1hdCI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJh -c2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFic29sdXRlVmFs -dWVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mVmFsdWVfMSIg -Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mUmFuZ2VfMiIgLz4NCiAg -ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mRVVSYW5nZV8zIiAvPg0KICAgICAg -PHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVbmtub3duXzQiIC8+DQogICAgPC94czpyZXN0cmljdGlv -bj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFeGNlcHRpb25EZXZp -YXRpb25Gb3JtYXQiIHR5cGU9InRuczpFeGNlcHRpb25EZXZpYXRpb25Gb3JtYXQiIC8+DQoNCjwv -eHM6c2NoZW1hPg== + + + + 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 + + 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 + + + + RuleToAdd + + i=15634 + + -1 + + + + + + + + + + RemoveIdentity + + i=15627 + i=80 + i=15620 + + + + InputArguments + + i=68 + i=78 + i=15626 + + + + + + i=297 + + + + RuleToRemove + + i=15634 + + -1 + + + + + + + + + + AddApplication + + i=16177 + i=80 + i=15620 + + + + InputArguments + + i=68 + i=78 + i=16176 + + + + + + i=297 + + + + RuleToAdd + + i=12 + + -1 + + + + + + + + + + RemoveApplication + + i=16179 + i=80 + i=15620 + + + + InputArguments + + i=68 + i=78 + i=16178 + + + + + + i=297 + + + + RuleToRemove + + i=12 + + -1 + + + + + + + + + + AddEndpoint + + i=16181 + i=80 + i=15620 + + + + InputArguments + + i=68 + i=78 + i=16180 + + + + + + i=297 + + + + RuleToAdd + + i=12 + + -1 + + + + + + + + + + RemoveEndpoint + + i=16183 + i=80 + i=15620 + + + + InputArguments + + i=68 + i=78 + i=16182 + + + + + + i=297 + + + + RuleToRemove + + i=12 + + -1 + + + + + + + + + + IdentityCriteriaType + + i=15633 + i=29 + + + + + + + + + + + + EnumValues + + i=68 + i=78 + 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 + + + + + + + + + + IdentityMappingRuleType + + i=22 + + + + + + + + RoleMappingRuleChangedAuditEventType + + i=2127 + + + + Anonymous + The Role has very limited access for use when a Session has anonymous credentials. + + 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 + + + + RuleToAdd + + i=15634 + + -1 + + + + + + + + + + RemoveIdentity + + i=15651 + i=15644 + + + + InputArguments + + i=68 + i=15650 + + + + + + i=297 + + + + RuleToRemove + + i=15634 + + -1 + + + + + + + + + + AddApplication + + i=16196 + i=15644 + + + + InputArguments + + i=68 + i=16195 + + + + + + i=297 + + + + RuleToAdd + + i=12 + + -1 + + + + + + + + + + RemoveApplication + + i=16198 + i=15644 + + + + InputArguments + + i=68 + i=16197 + + + + + + i=297 + + + + RuleToRemove + + i=12 + + -1 + + + + + + + + + + AddEndpoint + + i=16200 + i=15644 + + + + InputArguments + + i=68 + i=16199 + + + + + + i=297 + + + + RuleToAdd + + i=12 + + -1 + + + + + + + + + + RemoveEndpoint + + i=16202 + i=15644 + + + + InputArguments + + i=68 + i=16201 + + + + + + i=297 + + + + RuleToRemove + + i=12 + + -1 + + + + + + + + + + AuthenticatedUser + The Role has limited access for use when a Session has valid non-anonymous credentials but has not been explicity granted access to a Role. + + 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 + + + + RuleToAdd + + i=15634 + + -1 + + + + + + + + + + RemoveIdentity + + i=15663 + i=15656 + + + + InputArguments + + i=68 + i=15662 + + + + + + i=297 + + + + RuleToRemove + + i=15634 + + -1 + + + + + + + + + + AddApplication + + i=16207 + i=15656 + + + + InputArguments + + i=68 + i=16206 + + + + + + i=297 + + + + RuleToAdd + + i=12 + + -1 + + + + + + + + + + RemoveApplication + + i=16209 + i=15656 + + + + InputArguments + + i=68 + i=16208 + + + + + + i=297 + + + + RuleToRemove + + i=12 + + -1 + + + + + + + + + + AddEndpoint + + i=16211 + i=15656 + + + + InputArguments + + i=68 + i=16210 + + + + + + i=297 + + + + RuleToAdd + + i=12 + + -1 + + + + + + + + + + RemoveEndpoint + + i=16213 + i=15656 + + + + InputArguments + + i=68 + i=16212 + + + + + + i=297 + + + + RuleToRemove + + i=12 + + -1 + + + + + + + + + + Observer + The Role is allowed to browse, read live data, read historical data/events or subscribe to data/events. + + 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 + + + + RuleToAdd + + i=15634 + + -1 + + + + + + + + + + RemoveIdentity + + i=15675 + i=15668 + + + + InputArguments + + i=68 + i=15674 + + + + + + i=297 + + + + RuleToRemove + + i=15634 + + -1 + + + + + + + + + + AddApplication + + i=16218 + i=15668 + + + + InputArguments + + i=68 + i=16217 + + + + + + i=297 + + + + RuleToAdd + + i=12 + + -1 + + + + + + + + + + RemoveApplication + + i=16220 + i=15668 + + + + InputArguments + + i=68 + i=16219 + + + + + + i=297 + + + + RuleToRemove + + i=12 + + -1 + + + + + + + + + + AddEndpoint + + i=16222 + i=15668 + + + + InputArguments + + i=68 + i=16221 + + + + + + i=297 + + + + RuleToAdd + + i=12 + + -1 + + + + + + + + + + RemoveEndpoint + + i=16224 + i=15668 + + + + InputArguments + + i=68 + i=16223 + + + + + + i=297 + + + + RuleToRemove + + i=12 + + -1 + + + + + + + + + + Operator + The Role is allowed to browse, read live data, read historical data/events or subscribe to data/events. + + 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 + + + + RuleToAdd + + i=15634 + + -1 + + + + + + + + + + RemoveIdentity + + i=15687 + i=15680 + + + + InputArguments + + i=68 + i=15686 + + + + + + i=297 + + + + RuleToRemove + + i=15634 + + -1 + + + + + + + + + + AddApplication + + i=16229 + i=15680 + + + + InputArguments + + i=68 + i=16228 + + + + + + i=297 + + + + RuleToAdd + + i=12 + + -1 + + + + + + + + + + RemoveApplication + + i=16231 + i=15680 + + + + InputArguments + + i=68 + i=16230 + + + + + + i=297 + + + + RuleToRemove + + i=12 + + -1 + + + + + + + + + + AddEndpoint + + i=16233 + i=15680 + + + + InputArguments + + i=68 + i=16232 + + + + + + i=297 + + + + RuleToAdd + + i=12 + + -1 + + + + + + + + + + RemoveEndpoint + + i=16235 + i=15680 + + + + InputArguments + + i=68 + i=16234 + + + + + + i=297 + + + + RuleToRemove + + i=12 + + -1 + + + + + + + + + + Engineer + The Role is allowed to browse, read live data, read and update historical data/events, call methods or subscribe to data/events. + + 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 + + + + RuleToAdd + + i=15634 + + -1 + + + + + + + + + + RemoveIdentity + + i=16044 + i=16036 + + + + InputArguments + + i=68 + i=16043 + + + + + + i=297 + + + + RuleToRemove + + i=15634 + + -1 + + + + + + - - NamespaceUri - A URI that uniquely identifies the dictionary. + + AddApplication + + i=16240 + i=16036 + + + + InputArguments + + i=68 + i=16239 + + + + + + i=297 + + + + RuleToAdd + + i=12 + + -1 + + + + + + + + + + RemoveApplication + + i=16242 + i=16036 + + + + InputArguments + + i=68 + i=16241 + + + + + + i=297 + + + + RuleToRemove + + i=12 + + -1 + + + + + + + + + + AddEndpoint + + i=16244 + i=16036 + + + + InputArguments + + i=68 + i=16243 + + + + + + i=297 + + + + RuleToAdd + + i=12 + + -1 + + + + + + + + + + RemoveEndpoint + + i=16246 + i=16036 + + + + InputArguments + + i=68 + i=16245 + + + + + + i=297 + + + + RuleToRemove + + i=12 + + -1 + + + + + + + + + + Supervisor + The Role is allowed to browse, read live data, read and historical data/events, call methods or subscribe to data/events. + + 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 + + + + RuleToAdd + + i=15634 + + -1 + + + + + + + + + + RemoveIdentity + + i=15699 + i=15692 + + + + InputArguments + + i=68 + i=15698 + + + + + + i=297 + + + + RuleToRemove + + i=15634 + + -1 + + + + + + + + + + AddApplication + + i=16251 + i=15692 + + + + InputArguments + + i=68 + i=16250 + + + + + + i=297 + + + + RuleToAdd + + i=12 + + -1 + + + + + + + + + + RemoveApplication + + i=16253 + i=15692 + + + + InputArguments + + i=68 + i=16252 + + + + + + i=297 + + + + RuleToRemove + + i=12 + + -1 + + + + + + + + + + AddEndpoint + + i=16255 + i=15692 + + + + InputArguments i=68 - i=8252 + i=16254 - http://opcfoundation.org/UA/2008/02/Types.xsd + + + + i=297 + + + + RuleToAdd + + i=12 + + -1 + + + + + + - - TrustListDataType + + RemoveEndpoint - i=69 - i=8252 + i=16257 + i=15692 - - //xs:element[@name='TrustListDataType'] - - - - Argument + + + InputArguments - i=69 - i=8252 + i=68 + i=16256 - //xs:element[@name='Argument'] + + + + i=297 + + + + RuleToRemove + + i=12 + + -1 + + + + + + - - EnumValueType + + ConfigureAdmin + The Role is allowed to change the non-security related configuration settings. + + 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=69 - i=8252 + i=68 + i=15716 - - //xs:element[@name='EnumValueType'] - - - OptionSet + + Applications - i=69 - i=8252 + i=68 + i=15716 - - //xs:element[@name='OptionSet'] - - - Union + + ApplicationsExclude - i=69 - i=8252 + i=68 + i=15716 - - //xs:element[@name='Union'] - - - TimeZoneDataType + + Endpoints - i=69 - i=8252 + i=68 + i=15716 - - //xs:element[@name='TimeZoneDataType'] - - - ApplicationDescription + + EndpointsExclude - i=69 - i=8252 + i=68 + i=15716 - - //xs:element[@name='ApplicationDescription'] - - - ServerOnNetwork + + AddIdentity - i=69 - i=8252 + i=15721 + i=15716 - - //xs:element[@name='ServerOnNetwork'] - - - - UserTokenPolicy + + + InputArguments - i=69 - i=8252 + i=68 + i=15720 - //xs:element[@name='UserTokenPolicy'] + + + + i=297 + + + + RuleToAdd + + i=15634 + + -1 + + + + + + - - EndpointDescription + + RemoveIdentity - i=69 - i=8252 + i=15723 + i=15716 - - //xs:element[@name='EndpointDescription'] - - - - RegisteredServer + + + InputArguments - i=69 - i=8252 + i=68 + i=15722 - //xs:element[@name='RegisteredServer'] + + + + i=297 + + + + RuleToRemove + + i=15634 + + -1 + + + + + + - - DiscoveryConfiguration + + AddApplication - i=69 - i=8252 + i=16273 + i=15716 - - //xs:element[@name='DiscoveryConfiguration'] - - - - MdnsDiscoveryConfiguration + + + InputArguments - i=69 - i=8252 + i=68 + i=16272 - //xs:element[@name='MdnsDiscoveryConfiguration'] + + + + i=297 + + + + RuleToAdd + + i=12 + + -1 + + + + + + - - SignedSoftwareCertificate + + RemoveApplication - i=69 - i=8252 + i=16275 + i=15716 - - //xs:element[@name='SignedSoftwareCertificate'] - - - - UserIdentityToken + + + InputArguments - i=69 - i=8252 + i=68 + i=16274 - //xs:element[@name='UserIdentityToken'] + + + + i=297 + + + + RuleToRemove + + i=12 + + -1 + + + + + + - - AnonymousIdentityToken + + AddEndpoint - i=69 - i=8252 + i=16277 + i=15716 - - //xs:element[@name='AnonymousIdentityToken'] - - - - UserNameIdentityToken + + + InputArguments - i=69 - i=8252 + i=68 + i=16276 - //xs:element[@name='UserNameIdentityToken'] + + + + i=297 + + + + RuleToAdd + + i=12 + + -1 + + + + + + - - X509IdentityToken + + RemoveEndpoint - i=69 - i=8252 + i=16279 + i=15716 - - //xs:element[@name='X509IdentityToken'] - - - - IssuedIdentityToken + + + InputArguments - i=69 - i=8252 + i=68 + i=16278 - //xs:element[@name='IssuedIdentityToken'] + + + + i=297 + + + + RuleToRemove + + i=12 + + -1 + + + + + + - - AddNodesItem + + SecurityAdmin + The Role is allowed to change security related settings. + + 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=69 - i=8252 + i=68 + i=15704 - - //xs:element[@name='AddNodesItem'] - - - AddReferencesItem + + Applications - i=69 - i=8252 + i=68 + i=15704 - - //xs:element[@name='AddReferencesItem'] - - - DeleteNodesItem + + ApplicationsExclude - i=69 - i=8252 + i=68 + i=15704 - - //xs:element[@name='DeleteNodesItem'] - - - DeleteReferencesItem + + Endpoints - i=69 - i=8252 + i=68 + i=15704 - - //xs:element[@name='DeleteReferencesItem'] - - - RelativePathElement + + EndpointsExclude - i=69 - i=8252 + i=68 + i=15704 - - //xs:element[@name='RelativePathElement'] - - - RelativePath + + AddIdentity - i=69 - i=8252 + i=15709 + i=15704 - - //xs:element[@name='RelativePath'] - - - - EndpointConfiguration + + + InputArguments - i=69 - i=8252 + i=68 + i=15708 - //xs:element[@name='EndpointConfiguration'] + + + + i=297 + + + + RuleToAdd + + i=15634 + + -1 + + + + + + - - ContentFilterElement + + RemoveIdentity - i=69 - i=8252 + i=15711 + i=15704 - - //xs:element[@name='ContentFilterElement'] - - - - ContentFilter + + + InputArguments - i=69 - i=8252 + i=68 + i=15710 - //xs:element[@name='ContentFilter'] + + + + i=297 + + + + RuleToRemove + + i=15634 + + -1 + + + + + + - - FilterOperand + + AddApplication - i=69 - i=8252 + i=16262 + i=15704 - - //xs:element[@name='FilterOperand'] - - - - ElementOperand + + + InputArguments - i=69 - i=8252 + i=68 + i=16261 - //xs:element[@name='ElementOperand'] + + + + i=297 + + + + RuleToAdd + + i=12 + + -1 + + + + + + - - LiteralOperand + + RemoveApplication - i=69 - i=8252 + i=16264 + i=15704 - - //xs:element[@name='LiteralOperand'] - - - - AttributeOperand + + + InputArguments - i=69 - i=8252 + i=68 + i=16263 - //xs:element[@name='AttributeOperand'] + + + + i=297 + + + + RuleToRemove + + i=12 + + -1 + + + + + + - - SimpleAttributeOperand + + AddEndpoint - i=69 - i=8252 + i=16266 + i=15704 + + + + InputArguments + + i=68 + i=16265 - //xs:element[@name='SimpleAttributeOperand'] + + + + i=297 + + + + RuleToAdd + + i=12 + + -1 + + + + + + - - HistoryEvent + + RemoveEndpoint - i=69 - i=8252 + i=16268 + i=15704 + + + + InputArguments + + i=68 + i=16267 - //xs:element[@name='HistoryEvent'] + + + + i=297 + + + + RuleToRemove + + i=12 + + -1 + + + + + + - - MonitoringFilter + + BuildInfo - i=69 - i=8252 + i=22 - - //xs:element[@name='MonitoringFilter'] - - - - EventFilter + + + + + + + + + + + RedundancySupport - i=69 - i=8252 + i=7611 + i=29 - - //xs:element[@name='EventFilter'] - - - - AggregateConfiguration + + + + + + + + + + + EnumStrings - i=69 - i=8252 + i=68 + i=78 + i=851 - //xs:element[@name='AggregateConfiguration'] + + + + + None + + + + + Cold + + + + + Warm + + + + + Hot + + + + + Transparent + + + + + HotAndMirrored + + - - HistoryEventFieldList + + ServerState - i=69 - i=8252 + i=7612 + i=29 - - //xs:element[@name='HistoryEventFieldList'] - - - - BuildInfo + + + + + + + + + + + + + EnumStrings - i=69 - i=8252 + i=68 + i=78 + i=852 - //xs:element[@name='BuildInfo'] + + + + + Running + + + + + Failed + + + + + NoConfiguration + + + + + Suspended + + + + + Shutdown + + + + + Test + + + + + CommunicationFault + + + + + Unknown + + - + RedundantServerDataType - i=69 - i=8252 + i=22 - - //xs:element[@name='RedundantServerDataType'] - - - + + + + + + + EndpointUrlListDataType - i=69 - i=8252 + i=22 - - //xs:element[@name='EndpointUrlListDataType'] - - - + + + + + NetworkGroupDataType - i=69 - i=8252 + i=22 - - //xs:element[@name='NetworkGroupDataType'] - - - + + + + + + SamplingIntervalDiagnosticsDataType - i=69 - i=8252 + i=22 - - //xs:element[@name='SamplingIntervalDiagnosticsDataType'] - - - + + + + + + + + ServerDiagnosticsSummaryDataType - i=69 - i=8252 + i=22 - - //xs:element[@name='ServerDiagnosticsSummaryDataType'] - - - + + + + + + + + + + + + + + + + ServerStatusDataType - i=69 - i=8252 + i=22 - - //xs:element[@name='ServerStatusDataType'] - - - + + + + + + + + + + SessionDiagnosticsDataType - i=69 - i=8252 + i=22 - - //xs:element[@name='SessionDiagnosticsDataType'] - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SessionSecurityDiagnosticsDataType - i=69 - i=8252 + i=22 - - //xs:element[@name='SessionSecurityDiagnosticsDataType'] - - - + + + + + + + + + + + + + ServiceCounterDataType - i=69 - i=8252 + i=22 - - //xs:element[@name='ServiceCounterDataType'] - - - + + + + + + StatusResult - i=69 - i=8252 + i=22 - - //xs:element[@name='StatusResult'] - - - + + + + + + SubscriptionDiagnosticsDataType - i=69 - i=8252 + i=22 - - //xs:element[@name='SubscriptionDiagnosticsDataType'] - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ModelChangeStructureDataType - i=69 - i=8252 + i=22 - - //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 + i=22 - - //xs:element[@name='AxisInformation'] - - - - XVType + + + + + + + Default Binary - i=69 - i=8252 + i=14533 + i=14873 + i=76 - - //xs:element[@name='XVType'] - - - - ProgramDiagnosticDataType + + + Default Binary - i=69 - i=8252 + i=15528 + i=15734 + i=76 - - //xs:element[@name='ProgramDiagnosticDataType'] - - - - Annotation + + + Default Binary - i=69 - i=8252 + i=15634 + i=15738 + i=76 - - //xs:element[@name='Annotation'] - - + Default Binary @@ -13890,9 +13305,67 @@ eHM6c2NoZW1hPg== Opc.Ua i=7619 + i=15037 + i=14873 + i=15734 + i=15738 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=16131 + i=18178 + i=18181 + i=18184 + i=18187 i=7650 i=7656 + i=14870 i=12767 i=12770 i=8914 @@ -13949,6 +13422,7 @@ eHM6c2NoZW1hPg== i=12091 i=12094 i=8247 + i=15398 i=8244 i=93 i=72 @@ -14189,241 +13663,673 @@ ZSBlbmNvZGVkIGluIEpQRUcgZm9ybWF0Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9w YXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkltYWdlUE5HIj4NCiAgICA8b3Bj OkRvY3VtZW50YXRpb24+QW4gaW1hZ2UgZW5jb2RlZCBpbiBQTkcgZm9ybWF0Ljwvb3BjOkRvY3Vt ZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9 -IkJpdEZpZWxkTWFza0RhdGFUeXBlIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBtYXNrIG9m -IDMyIGJpdHMgdGhhdCBjYW4gYmUgdXBkYXRlZCBpbmRpdmlkdWFsbHkgYnkgdXNpbmcgdGhlIHRv -cCAzMiBiaXRzIGFzIGEgbWFzay48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVU -eXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iT3BlbkZpbGVNb2RlIiBMZW5ndGhJ -bkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWFkIiBWYWx1ZT0i -MSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJXcml0ZSIgVmFsdWU9IjIiIC8+ -DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRXJhc2VFeGlzdGluZyIgVmFsdWU9IjQi -IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQXBwZW5kIiBWYWx1ZT0iOCIgLz4N -CiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJU -cnVzdExpc3RNYXNrcyIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs -dWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt -ZT0iVHJ1c3RlZENlcnRpZmljYXRlcyIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk -VmFsdWUgTmFtZT0iVHJ1c3RlZENybHMiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRl -ZFZhbHVlIE5hbWU9Iklzc3VlckNlcnRpZmljYXRlcyIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpF -bnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNzdWVyQ3JscyIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpF -bnVtZXJhdGVkVmFsdWUgTmFtZT0iQWxsIiBWYWx1ZT0iMTUiIC8+DQogIDwvb3BjOkVudW1lcmF0 -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVHJ1c3RMaXN0RGF0YVR5cGUi -IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Bl -Y2lmaWVkTGlzdHMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iTm9PZlRydXN0ZWRDZXJ0aWZpY2F0ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJUcnVzdGVkQ2VydGlmaWNhdGVzIiBUeXBlTmFtZT0ib3BjOkJ5dGVT -dHJpbmciIExlbmd0aEZpZWxkPSJOb09mVHJ1c3RlZENlcnRpZmljYXRlcyIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vT2ZUcnVzdGVkQ3JscyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlRydXN0ZWRDcmxzIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmci -IExlbmd0aEZpZWxkPSJOb09mVHJ1c3RlZENybHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO -b09mSXNzdWVyQ2VydGlmaWNhdGVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iSXNzdWVyQ2VydGlmaWNhdGVzIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmci -IExlbmd0aEZpZWxkPSJOb09mSXNzdWVyQ2VydGlmaWNhdGVzIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTm9PZklzc3VlckNybHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJJc3N1ZXJDcmxzIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIExlbmd0aEZp -ZWxkPSJOb09mSXNzdWVyQ3JscyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w -YzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJJZFR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxv -cGM6RG9jdW1lbnRhdGlvbj5UaGUgdHlwZSBvZiBpZGVudGlmaWVyIHVzZWQgaW4gYSBub2RlIGlk -Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTnVt -ZXJpYyIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3RyaW5n -IiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJHdWlkIiBWYWx1 -ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJPcGFxdWUiIFZhbHVlPSIz -IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5h -bWU9Ik5vZGVDbGFzcyIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u -PkEgbWFzayBzcGVjaWZ5aW5nIHRoZSBjbGFzcyBvZiB0aGUgbm9kZS48L29wYzpEb2N1bWVudGF0 -aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVuc3BlY2lmaWVkIiBWYWx1ZT0i -MCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJPYmplY3QiIFZhbHVlPSIxIiAv -Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZhcmlhYmxlIiBWYWx1ZT0iMiIgLz4N -CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJNZXRob2QiIFZhbHVlPSI0IiAvPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik9iamVjdFR5cGUiIFZhbHVlPSI4IiAvPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZhcmlhYmxlVHlwZSIgVmFsdWU9IjE2IiAvPg0K -ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlZmVyZW5jZVR5cGUiIFZhbHVlPSIzMiIg -Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEYXRhVHlwZSIgVmFsdWU9IjY0IiAv -Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZpZXciIFZhbHVlPSIxMjgiIC8+DQog -IDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm9k -ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u -PlNwZWNpZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gYWxsIG5vZGVzLjwvb3Bj -OkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1 -YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0 -bnM6Tm9kZUNsYXNzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5h -bWU9InVhOlF1YWxpZmllZE5hbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFt -ZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE -ZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlTm9k -ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2VzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw -ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikluc3RhbmNlTm9kZSIgQmFzZVR5cGU9 -InRuczpOb2RlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5v -ZGVJZCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rl -Q2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNzIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWRO -YW1lIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3Bs -YXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2Fs -aXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -V3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQz -MiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVm +IkF1ZGlvRGF0YVR5cGUiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBpbWFnZSBlbmNvZGVk +IGluIFBORyBmb3JtYXQuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4N +Cg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iQml0RmllbGRNYXNrRGF0YVR5cGUiPg0KICAgIDxv +cGM6RG9jdW1lbnRhdGlvbj5BIG1hc2sgb2YgMzIgYml0cyB0aGF0IGNhbiBiZSB1cGRhdGVkIGlu +ZGl2aWR1YWxseSBieSB1c2luZyB0aGUgdG9wIDMyIGJpdHMgYXMgYSBtYXNrLjwvb3BjOkRvY3Vt +ZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO +YW1lPSJLZXlWYWx1ZVBhaXIiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iS2V5IiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFbmRwb2ludFR5 +cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +RW5kcG9pbnRVcmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iU2VjdXJpdHlNb2RlIiBUeXBlTmFtZT0idG5zOk1lc3NhZ2VTZWN1cml0eU1vZGUiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eVBvbGljeVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJp +bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc3BvcnRQcm9maWxlVXJpIiBUeXBlTmFt +ZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVt +ZXJhdGVkVHlwZSBOYW1lPSJPcGVuRmlsZU1vZGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxv +cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlYWQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IldyaXRlIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0 +ZWRWYWx1ZSBOYW1lPSJFcmFzZUV4aXN0aW5nIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1l +cmF0ZWRWYWx1ZSBOYW1lPSJBcHBlbmQiIFZhbHVlPSI4IiAvPg0KICA8L29wYzpFbnVtZXJhdGVk +VHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IklkZW50aXR5Q3JpdGVyaWFUeXBl +IiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVc2Vy +TmFtZSIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVGh1bWJw +cmludCIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUm9sZSIg +VmFsdWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iR3JvdXBJZCIgVmFs +dWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQW5vbnltb3VzIiBWYWx1 +ZT0iNSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBdXRoZW50aWNhdGVkVXNl +ciIgVmFsdWU9IjYiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 +dXJlZFR5cGUgTmFtZT0iSWRlbnRpdHlNYXBwaW5nUnVsZVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRl +bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3JpdGVyaWFUeXBlIiBUeXBlTmFt +ZT0idG5zOklkZW50aXR5Q3JpdGVyaWFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3Jp +dGVyaWEiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N +Cg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlRydXN0TGlzdE1hc2tzIiBMZW5ndGhJbkJp +dHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25lIiBWYWx1ZT0iMCIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJUcnVzdGVkQ2VydGlmaWNhdGVzIiBW +YWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJUcnVzdGVkQ3JscyIg +VmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNzdWVyQ2VydGlm +aWNhdGVzIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJc3N1 +ZXJDcmxzIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBbGwi +IFZhbHVlPSIxNSIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 +cmVkVHlwZSBOYW1lPSJUcnVzdExpc3REYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRMaXN0cyIgVHlwZU5hbWU9Im9w +YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVHJ1c3RlZENlcnRpZmljYXRl +cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRydXN0ZWRD +ZXJ0aWZpY2F0ZXMiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZU +cnVzdGVkQ2VydGlmaWNhdGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlRydXN0ZWRD +cmxzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJ1c3Rl +ZENybHMiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZUcnVzdGVk +Q3JscyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZJc3N1ZXJDZXJ0aWZpY2F0ZXMiIFR5 +cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc3N1ZXJDZXJ0aWZp +Y2F0ZXMiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZJc3N1ZXJD +ZXJ0aWZpY2F0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mSXNzdWVyQ3JscyIgVHlw +ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Iklzc3VlckNybHMiIFR5 +cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZJc3N1ZXJDcmxzIiAvPg0K +ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRl +Y2ltYWxEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJTY2FsZSIgVHlwZU5hbWU9Im9wYzpJbnQxNiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVj +dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGF0YVR5cGVTY2hlbWFI +ZWFkZXIiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTm9PZk5hbWVzcGFjZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOYW1lc3BhY2VzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5v +T2ZOYW1lc3BhY2VzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlN0cnVjdHVyZURhdGFU +eXBlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0cnVj +dHVyZURhdGFUeXBlcyIgVHlwZU5hbWU9InRuczpTdHJ1Y3R1cmVEZXNjcmlwdGlvbiIgTGVuZ3Ro +RmllbGQ9Ik5vT2ZTdHJ1Y3R1cmVEYXRhVHlwZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO +b09mRW51bURhdGFUeXBlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkVudW1EYXRhVHlwZXMiIFR5cGVOYW1lPSJ0bnM6RW51bURlc2NyaXB0aW9uIiBMZW5n +dGhGaWVsZD0iTm9PZkVudW1EYXRhVHlwZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m +U2ltcGxlRGF0YVR5cGVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iU2ltcGxlRGF0YVR5cGVzIiBUeXBlTmFtZT0idG5zOlNpbXBsZVR5cGVEZXNjcmlwdGlv +biIgTGVuZ3RoRmllbGQ9Ik5vT2ZTaW1wbGVEYXRhVHlwZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGF0YVR5cGVEZXNjcmlwdGlv +biIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE +YXRhVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +TmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3RydWN0dXJlRGVzY3JpcHRpb24i +IEJhc2VUeXBlPSJ0bnM6RGF0YVR5cGVEZXNjcmlwdGlvbiI+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJEYXRhVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6RGF0YVR5 +cGVEZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJ1 +YTpRdWFsaWZpZWROYW1lIiBTb3VyY2VUeXBlPSJ0bnM6RGF0YVR5cGVEZXNjcmlwdGlvbiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0cnVjdHVyZURlZmluaXRpb24iIFR5cGVOYW1lPSJ0bnM6 +U3RydWN0dXJlRGVmaW5pdGlvbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w +YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFbnVtRGVzY3JpcHRpb24iIEJhc2VUeXBlPSJ0bnM6RGF0 +YVR5cGVEZXNjcmlwdGlvbiI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZUlkIiBUeXBl +TmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6RGF0YVR5cGVEZXNjcmlwdGlvbiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBT +b3VyY2VUeXBlPSJ0bnM6RGF0YVR5cGVEZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkVudW1EZWZpbml0aW9uIiBUeXBlTmFtZT0idG5zOkVudW1EZWZpbml0aW9uIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iQnVpbHRJblR5cGUiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAg +PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTaW1w +bGVUeXBlRGVzY3JpcHRpb24iIEJhc2VUeXBlPSJ0bnM6RGF0YVR5cGVEZXNjcmlwdGlvbiI+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3Vy +Y2VUeXBlPSJ0bnM6RGF0YVR5cGVEZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBTb3VyY2VUeXBlPSJ0bnM6RGF0YVR5 +cGVEZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJhc2VEYXRhVHlwZSIgVHlw +ZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJ1aWx0SW5UeXBlIiBU +eXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iVUFCaW5hcnlGaWxlRGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6 +RGF0YVR5cGVTY2hlbWFIZWFkZXIiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5hbWVzcGFj +ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lc3Bh +Y2VzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZOYW1lc3BhY2VzIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlN0cnVjdHVyZURhdGFUeXBlcyIgVHlwZU5hbWU9 +Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0cnVjdHVyZURhdGFUeXBlcyIg +VHlwZU5hbWU9InRuczpTdHJ1Y3R1cmVEZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZTdHJ1 +Y3R1cmVEYXRhVHlwZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRW51bURhdGFUeXBl +cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVudW1EYXRh +VHlwZXMiIFR5cGVOYW1lPSJ0bnM6RW51bURlc2NyaXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZkVu +dW1EYXRhVHlwZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2ltcGxlRGF0YVR5cGVz +IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2ltcGxlRGF0 +YVR5cGVzIiBUeXBlTmFtZT0idG5zOlNpbXBsZVR5cGVEZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9 +Ik5vT2ZTaW1wbGVEYXRhVHlwZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTY2hlbWFMb2Nh +dGlvbiIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m +RmlsZUhlYWRlciIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkZpbGVIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6S2V5VmFsdWVQYWlyIiBMZW5ndGhGaWVsZD0iTm9P +ZkZpbGVIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCb2R5IiBUeXBlTmFtZT0idWE6 +VmFyaWFudCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVk +VHlwZSBOYW1lPSJQdWJTdWJTdGF0ZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVt +ZXJhdGVkVmFsdWUgTmFtZT0iRGlzYWJsZWQiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVy +YXRlZFZhbHVlIE5hbWU9IlBhdXNlZCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk +VmFsdWUgTmFtZT0iT3BlcmF0aW9uYWwiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRl +ZFZhbHVlIE5hbWU9IkVycm9yIiBWYWx1ZT0iMyIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+ +DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRhU2V0TWV0YURhdGFUeXBlIiBCYXNl +VHlwZT0idG5zOkRhdGFUeXBlU2NoZW1hSGVhZGVyIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v +T2ZOYW1lc3BhY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTmFtZXNwYWNlcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mTmFt +ZXNwYWNlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTdHJ1Y3R1cmVEYXRhVHlwZXMi +IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdHJ1Y3R1cmVE +YXRhVHlwZXMiIFR5cGVOYW1lPSJ0bnM6U3RydWN0dXJlRGVzY3JpcHRpb24iIExlbmd0aEZpZWxk +PSJOb09mU3RydWN0dXJlRGF0YVR5cGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkVu +dW1EYXRhVHlwZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJFbnVtRGF0YVR5cGVzIiBUeXBlTmFtZT0idG5zOkVudW1EZXNjcmlwdGlvbiIgTGVuZ3RoRmll +bGQ9Ik5vT2ZFbnVtRGF0YVR5cGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNpbXBs +ZURhdGFUeXBlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlNpbXBsZURhdGFUeXBlcyIgVHlwZU5hbWU9InRuczpTaW1wbGVUeXBlRGVzY3JpcHRpb24iIExl +bmd0aEZpZWxkPSJOb09mU2ltcGxlRGF0YVR5cGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +TmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNj +cmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJOb09mRmllbGRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iRmllbGRzIiBUeXBlTmFtZT0idG5zOkZpZWxkTWV0YURhdGEiIExlbmd0aEZpZWxkPSJO +b09mRmllbGRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVNldENsYXNzSWQiIFR5cGVO +YW1lPSJvcGM6R3VpZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbmZpZ3VyYXRpb25WZXJz +aW9uIiBUeXBlTmFtZT0idG5zOkNvbmZpZ3VyYXRpb25WZXJzaW9uRGF0YVR5cGUiIC8+DQogIDwv +b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRmllbGRN +ZXRhRGF0YSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkZpZWxkRmxhZ3MiIFR5cGVOYW1lPSJ0bnM6RGF0YVNldEZpZWxkRmxhZ3MiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCdWlsdEluVHlwZSIgVHlwZU5hbWU9Im9wYzpCeXRlIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZVJhbmsiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0ib3Bj +OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFt +ZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJNYXhTdHJpbmdMZW5ndGgiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVNldEZpZWxkSWQiIFR5cGVOYW1lPSJvcGM6R3Vp +ZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZQcm9wZXJ0aWVzIiBUeXBlTmFtZT0ib3Bj +OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJvcGVydGllcyIgVHlwZU5hbWU9InRu +czpLZXlWYWx1ZVBhaXIiIExlbmd0aEZpZWxkPSJOb09mUHJvcGVydGllcyIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJEYXRhU2V0Rmll +bGRGbGFncyIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt +ZT0iUHJvbW90ZWRGaWVsZCIgVmFsdWU9IjEiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0K +DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ29uZmlndXJhdGlvblZlcnNpb25EYXRhVHlw +ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJN +YWpvclZlcnNpb24iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTWlub3JWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0 +dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJQdWJsaXNoZWREYXRhU2V0 +RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mRGF0YVNldEZvbGRlciIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkRhdGFTZXRGb2xkZXIiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVs +ZD0iTm9PZkRhdGFTZXRGb2xkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0TWV0 +YURhdGEiIFR5cGVOYW1lPSJ0bnM6RGF0YVNldE1ldGFEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vT2ZFeHRlbnNpb25GaWVsZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJFeHRlbnNpb25GaWVsZHMiIFR5cGVOYW1lPSJ0bnM6S2V5VmFs +dWVQYWlyIiBMZW5ndGhGaWVsZD0iTm9PZkV4dGVuc2lvbkZpZWxkcyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkRhdGFTZXRTb3VyY2UiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+ +DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i +UHVibGlzaGVkRGF0YVNldFNvdXJjZURhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0Ij4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO +YW1lPSJQdWJsaXNoZWRWYXJpYWJsZURhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hlZFZhcmlhYmxlIiBUeXBlTmFtZT0i +dWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXR0cmlidXRlSWQiIFR5cGVOYW1l +PSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2FtcGxpbmdJbnRlcnZhbEhp +bnQiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVhZGJh +bmRUeXBlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRl +YWRiYW5kVmFsdWUiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iSW5kZXhSYW5nZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJTdWJzdGl0dXRlVmFsdWUiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9PZk1ldGFEYXRhUHJvcGVydGllcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1ldGFEYXRhUHJvcGVydGllcyIgVHlwZU5hbWU9InVh +OlF1YWxpZmllZE5hbWUiIExlbmd0aEZpZWxkPSJOb09mTWV0YURhdGFQcm9wZXJ0aWVzIiAvPg0K +ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlB1 +Ymxpc2hlZERhdGFJdGVtc0RhdGFUeXBlIiBCYXNlVHlwZT0idG5zOlB1Ymxpc2hlZERhdGFTZXRT +b3VyY2VEYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUHVibGlzaGVkRGF0YSIg +VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hlZERh +dGEiIFR5cGVOYW1lPSJ0bnM6UHVibGlzaGVkVmFyaWFibGVEYXRhVHlwZSIgTGVuZ3RoRmllbGQ9 +Ik5vT2ZQdWJsaXNoZWREYXRhIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj +OlN0cnVjdHVyZWRUeXBlIE5hbWU9IlB1Ymxpc2hlZEV2ZW50c0RhdGFUeXBlIiBCYXNlVHlwZT0i +dG5zOlB1Ymxpc2hlZERhdGFTZXRTb3VyY2VEYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJFdmVudE5vdGlmaWVyIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTm9PZlNlbGVjdGVkRmllbGRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iU2VsZWN0ZWRGaWVsZHMiIFR5cGVOYW1lPSJ0bnM6U2ltcGxlQXR0cmli +dXRlT3BlcmFuZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZWxlY3RlZEZpZWxkcyIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IkZpbHRlciIgVHlwZU5hbWU9InRuczpDb250ZW50RmlsdGVyIiAvPg0KICA8 +L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkRhdGFT +ZXRGaWVsZENvbnRlbnRNYXNrIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0 +ZWRWYWx1ZSBOYW1lPSJTdGF0dXNDb2RlIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0 +ZWRWYWx1ZSBOYW1lPSJTb3VyY2VUaW1lc3RhbXAiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IlNlcnZlclRpbWVzdGFtcCIgVmFsdWU9IjQiIC8+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU291cmNlUGljb1NlY29uZHMiIFZhbHVlPSI4IiAvPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNlcnZlclBpY29TZWNvbmRzIiBWYWx1ZT0i +MTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmF3RGF0YUVuY29kaW5nIiBW +YWx1ZT0iMzIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl +ZFR5cGUgTmFtZT0iRGF0YVNldFdyaXRlckRhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u +T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5n +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5hYmxlZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFu +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVNldFdyaXRlcklkIiBUeXBlTmFtZT0ib3Bj +OlVJbnQxNiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRGaWVsZENvbnRlbnRNYXNr +IiBUeXBlTmFtZT0idG5zOkRhdGFTZXRGaWVsZENvbnRlbnRNYXNrIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iS2V5RnJhbWVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJEYXRhU2V0TmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJOb09mRGF0YVNldFdyaXRlclByb3BlcnRpZXMiIFR5cGVOYW1lPSJv +cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0V3JpdGVyUHJvcGVydGll +cyIgVHlwZU5hbWU9InRuczpLZXlWYWx1ZVBhaXIiIExlbmd0aEZpZWxkPSJOb09mRGF0YVNldFdy +aXRlclByb3BlcnRpZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc3BvcnRTZXR0aW5n +cyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik1lc3NhZ2VTZXR0aW5ncyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgPC9v +cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRhU2V0 +V3JpdGVyVHJhbnNwb3J0RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K +ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRh +dGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi +Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 +IlB1YlN1Ykdyb3VwRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJFbmFibGVkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJTZWN1cml0eU1vZGUiIFR5cGVOYW1lPSJ0bnM6TWVzc2FnZVNlY3VyaXR5 +TW9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5R3JvdXBJZCIgVHlwZU5hbWU9 +Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VjdXJpdHlLZXlTZXJ2 +aWNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3Vy +aXR5S2V5U2VydmljZXMiIFR5cGVOYW1lPSJ0bnM6RW5kcG9pbnREZXNjcmlwdGlvbiIgTGVuZ3Ro +RmllbGQ9Ik5vT2ZTZWN1cml0eUtleVNlcnZpY2VzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +TWF4TmV0d29ya01lc3NhZ2VTaXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vT2ZHcm91cFByb3BlcnRpZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJHcm91cFByb3BlcnRpZXMiIFR5cGVOYW1lPSJ0bnM6S2V5 +VmFsdWVQYWlyIiBMZW5ndGhGaWVsZD0iTm9PZkdyb3VwUHJvcGVydGllcyIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJXcml0ZXJHcm91 +cERhdGFUeXBlIiBCYXNlVHlwZT0idG5zOlB1YlN1Ykdyb3VwRGF0YVR5cGUiPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIFNvdXJjZVR5cGU9InRuczpQ +dWJTdWJHcm91cERhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5hYmxlZCIgVHlw +ZU5hbWU9Im9wYzpCb29sZWFuIiBTb3VyY2VUeXBlPSJ0bnM6UHViU3ViR3JvdXBEYXRhVHlwZSIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TW9kZSIgVHlwZU5hbWU9InRuczpNZXNz +YWdlU2VjdXJpdHlNb2RlIiBTb3VyY2VUeXBlPSJ0bnM6UHViU3ViR3JvdXBEYXRhVHlwZSIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5R3JvdXBJZCIgVHlwZU5hbWU9Im9wYzpTdHJp +bmciIFNvdXJjZVR5cGU9InRuczpQdWJTdWJHcm91cERhdGFUeXBlIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9PZlNlY3VyaXR5S2V5U2VydmljZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eUtleVNlcnZpY2VzIiBUeXBlTmFtZT0idG5z +OkVuZHBvaW50RGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mU2VjdXJpdHlLZXlTZXJ2aWNl +cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heE5ldHdvcmtNZXNzYWdlU2l6ZSIgVHlwZU5h +bWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpQdWJTdWJHcm91cERhdGFUeXBlIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkdyb3VwUHJvcGVydGllcyIgVHlwZU5hbWU9Im9wYzpJ +bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikdyb3VwUHJvcGVydGllcyIgVHlwZU5hbWU9 +InRuczpLZXlWYWx1ZVBhaXIiIExlbmd0aEZpZWxkPSJOb09mR3JvdXBQcm9wZXJ0aWVzIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVyR3JvdXBJZCIgVHlwZU5hbWU9Im9wYzpVSW50MTYi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJv +cGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iS2VlcEFsaXZlVGltZSIgVHlwZU5h +bWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcmlvcml0eSIgVHlwZU5h +bWU9Im9wYzpCeXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxvY2FsZUlkcyIgVHlw +ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsZUlkcyIgVHlw +ZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mTG9jYWxlSWRzIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iVHJhbnNwb3J0U2V0dGluZ3MiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25P +YmplY3QiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXNzYWdlU2V0dGluZ3MiIFR5cGVOYW1l +PSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGF0YVNl +dFdyaXRlcnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE +YXRhU2V0V3JpdGVycyIgVHlwZU5hbWU9InRuczpEYXRhU2V0V3JpdGVyRGF0YVR5cGUiIExlbmd0 +aEZpZWxkPSJOb09mRGF0YVNldFdyaXRlcnMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K +DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlw +ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iV3JpdGVyR3JvdXBNZXNzYWdlRGF0YVR5 +cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlB1YlN1YkNvbm5lY3Rpb25EYXRhVHlw +ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO +YW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuYWJs +ZWQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxp +c2hlcklkIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRy +YW5zcG9ydFByb2ZpbGVVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iQWRkcmVzcyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik5vT2ZDb25uZWN0aW9uUHJvcGVydGllcyIgVHlwZU5hbWU9Im9wYzpJ +bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbm5lY3Rpb25Qcm9wZXJ0aWVzIiBUeXBl +TmFtZT0idG5zOktleVZhbHVlUGFpciIgTGVuZ3RoRmllbGQ9Ik5vT2ZDb25uZWN0aW9uUHJvcGVy +dGllcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyYW5zcG9ydFNldHRpbmdzIiBUeXBlTmFt +ZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZldyaXRl +ckdyb3VwcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ildy +aXRlckdyb3VwcyIgVHlwZU5hbWU9InRuczpXcml0ZXJHcm91cERhdGFUeXBlIiBMZW5ndGhGaWVs +ZD0iTm9PZldyaXRlckdyb3VwcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWFkZXJH +cm91cHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWFk +ZXJHcm91cHMiIFR5cGVOYW1lPSJ0bnM6UmVhZGVyR3JvdXBEYXRhVHlwZSIgTGVuZ3RoRmllbGQ9 +Ik5vT2ZSZWFkZXJHcm91cHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIiBCYXNlVHlw +ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w +YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJOZXR3b3JrQWRkcmVzc0RhdGFUeXBlIiBCYXNlVHlwZT0i +dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5ldHdvcmtJbnRlcmZh +Y2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K +ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik5ldHdvcmtBZGRyZXNzVXJsRGF0YVR5cGUiIEJh +c2VUeXBlPSJ0bnM6TmV0d29ya0FkZHJlc3NEYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOZXR3b3JrSW50ZXJmYWNlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgU291cmNlVHlwZT0idG5z +Ok5ldHdvcmtBZGRyZXNzRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVcmwiIFR5 +cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj +OlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlYWRlckdyb3VwRGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6 +UHViU3ViR3JvdXBEYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFt +ZT0ib3BjOlN0cmluZyIgU291cmNlVHlwZT0idG5zOlB1YlN1Ykdyb3VwRGF0YVR5cGUiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJFbmFibGVkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIFNvdXJj +ZVR5cGU9InRuczpQdWJTdWJHcm91cERhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +U2VjdXJpdHlNb2RlIiBUeXBlTmFtZT0idG5zOk1lc3NhZ2VTZWN1cml0eU1vZGUiIFNvdXJjZVR5 +cGU9InRuczpQdWJTdWJHcm91cERhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vj +dXJpdHlHcm91cElkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgU291cmNlVHlwZT0idG5zOlB1YlN1 +Ykdyb3VwRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VjdXJpdHlLZXlT +ZXJ2aWNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNl +Y3VyaXR5S2V5U2VydmljZXMiIFR5cGVOYW1lPSJ0bnM6RW5kcG9pbnREZXNjcmlwdGlvbiIgTGVu +Z3RoRmllbGQ9Ik5vT2ZTZWN1cml0eUtleVNlcnZpY2VzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTWF4TmV0d29ya01lc3NhZ2VTaXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlw +ZT0idG5zOlB1YlN1Ykdyb3VwRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m +R3JvdXBQcm9wZXJ0aWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iR3JvdXBQcm9wZXJ0aWVzIiBUeXBlTmFtZT0idG5zOktleVZhbHVlUGFpciIgTGVuZ3Ro +RmllbGQ9Ik5vT2ZHcm91cFByb3BlcnRpZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFu +c3BvcnRTZXR0aW5ncyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik1lc3NhZ2VTZXR0aW5ncyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVj +dCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEYXRhU2V0UmVhZGVycyIgVHlwZU5hbWU9 +Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRSZWFkZXJzIiBUeXBl +TmFtZT0idG5zOkRhdGFTZXRSZWFkZXJEYXRhVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZEYXRhU2V0 +UmVhZGVycyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk +VHlwZSBOYW1lPSJSZWFkZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0 +ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 +cmVkVHlwZSBOYW1lPSJSZWFkZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4 +dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 +dXJlZFR5cGUgTmFtZT0iRGF0YVNldFJlYWRlckRhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5z +aW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJvcGM6U3Ry +aW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5hYmxlZCIgVHlwZU5hbWU9Im9wYzpCb29s +ZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaGVySWQiIFR5cGVOYW1lPSJ1YTpW +YXJpYW50IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVyR3JvdXBJZCIgVHlwZU5hbWU9 +Im9wYzpVSW50MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0V3JpdGVySWQiIFR5 +cGVOYW1lPSJvcGM6VUludDE2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVNldE1ldGFE +YXRhIiBUeXBlTmFtZT0idG5zOkRhdGFTZXRNZXRhRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJEYXRhU2V0RmllbGRDb250ZW50TWFzayIgVHlwZU5hbWU9InRuczpEYXRhU2V0Rmll +bGRDb250ZW50TWFzayIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2VSZWNlaXZlVGlt +ZW91dCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1 +cml0eU1vZGUiIFR5cGVOYW1lPSJ0bnM6TWVzc2FnZVNlY3VyaXR5TW9kZSIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlNlY3VyaXR5R3JvdXBJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VjdXJpdHlLZXlTZXJ2aWNlcyIgVHlwZU5hbWU9Im9w +YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5S2V5U2VydmljZXMiIFR5 +cGVOYW1lPSJ0bnM6RW5kcG9pbnREZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZWN1cml0 +eUtleVNlcnZpY2VzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRhdGFTZXRSZWFkZXJQ +cm9wZXJ0aWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +RGF0YVNldFJlYWRlclByb3BlcnRpZXMiIFR5cGVOYW1lPSJ0bnM6S2V5VmFsdWVQYWlyIiBMZW5n +dGhGaWVsZD0iTm9PZkRhdGFTZXRSZWFkZXJQcm9wZXJ0aWVzIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iVHJhbnNwb3J0U2V0dGluZ3MiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXNzYWdlU2V0dGluZ3MiIFR5cGVOYW1lPSJ1YTpFeHRl +bnNpb25PYmplY3QiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpYmVkRGF0YVNldCIg +VHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ +DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRhU2V0UmVhZGVyVHJhbnNwb3J0RGF0 +YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVk +VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFTZXRSZWFkZXJNZXNzYWdl +RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlN1YnNjcmliZWREYXRhU2V0 +RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRhcmdldFZhcmlhYmxlc0Rh +dGFUeXBlIiBCYXNlVHlwZT0idG5zOlN1YnNjcmliZWREYXRhU2V0RGF0YVR5cGUiPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTm9PZlRhcmdldFZhcmlhYmxlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldFZhcmlhYmxlcyIgVHlwZU5hbWU9InRuczpG +aWVsZFRhcmdldERhdGFUeXBlIiBMZW5ndGhGaWVsZD0iTm9PZlRhcmdldFZhcmlhYmxlcyIgLz4N +CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJG +aWVsZFRhcmdldERhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRGaWVsZElkIiBUeXBlTmFtZT0ib3BjOkd1aWQiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJSZWNlaXZlckluZGV4UmFuZ2UiIFR5cGVOYW1lPSJvcGM6U3Ry +aW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGFyZ2V0Tm9kZUlkIiBUeXBlTmFtZT0idWE6 +Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXR0cmlidXRlSWQiIFR5cGVOYW1lPSJv +cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVJbmRleFJhbmdlIiBUeXBl +TmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik92ZXJyaWRlVmFsdWVI +YW5kbGluZyIgVHlwZU5hbWU9InRuczpPdmVycmlkZVZhbHVlSGFuZGxpbmciIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJPdmVycmlkZVZhbHVlIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgLz4NCiAg +PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJPdmVy +cmlkZVZhbHVlSGFuZGxpbmciIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRl +ZFZhbHVlIE5hbWU9IkRpc2FibGVkIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJMYXN0VXNlYWJsZVZhbHVlIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1l +cmF0ZWRWYWx1ZSBOYW1lPSJPdmVycmlkZVZhbHVlIiBWYWx1ZT0iMiIgLz4NCiAgPC9vcGM6RW51 +bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTdWJzY3JpYmVkRGF0 +YVNldE1pcnJvckRhdGFUeXBlIiBCYXNlVHlwZT0idG5zOlN1YnNjcmliZWREYXRhU2V0RGF0YVR5 +cGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGFyZW50Tm9kZU5hbWUiIFR5cGVOYW1lPSJvcGM6 +U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJvbGVQZXJtaXNzaW9ucyIgVHlw +ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJvbGVQZXJtaXNzaW9u +cyIgVHlwZU5hbWU9InRuczpSb2xlUGVybWlzc2lvblR5cGUiIExlbmd0aEZpZWxkPSJOb09mUm9s +ZVBlcm1pc3Npb25zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj +dHVyZWRUeXBlIE5hbWU9IlB1YlN1YkNvbmZpZ3VyYXRpb25EYXRhVHlwZSIgQmFzZVR5cGU9InVh +OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUHVibGlzaGVkRGF0 +YVNldHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJs +aXNoZWREYXRhU2V0cyIgVHlwZU5hbWU9InRuczpQdWJsaXNoZWREYXRhU2V0RGF0YVR5cGUiIExl +bmd0aEZpZWxkPSJOb09mUHVibGlzaGVkRGF0YVNldHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mQ29ubmVjdGlvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJDb25uZWN0aW9ucyIgVHlwZU5hbWU9InRuczpQdWJTdWJDb25uZWN0aW9uRGF0YVR5 +cGUiIExlbmd0aEZpZWxkPSJOb09mQ29ubmVjdGlvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJFbmFibGVkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRGF0YVNldE9yZGVyaW5nVHlwZSIg +TGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVW5kZWZp +bmVkIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBc2NlbmRp +bmdXcml0ZXJJZCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i +QXNjZW5kaW5nV3JpdGVySWRTaW5nbGUiIFZhbHVlPSIyIiAvPg0KICA8L29wYzpFbnVtZXJhdGVk +VHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlVhZHBOZXR3b3JrTWVzc2FnZUNv +bnRlbnRNYXNrIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO +YW1lPSJQdWJsaXNoZXJJZCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg +TmFtZT0iR3JvdXBIZWFkZXIiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9IldyaXRlckdyb3VwSWQiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh +bHVlIE5hbWU9Ikdyb3VwVmVyc2lvbiIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk +VmFsdWUgTmFtZT0iTmV0d29ya01lc3NhZ2VOdW1iZXIiIFZhbHVlPSIxNiIgLz4NCiAgICA8b3Bj +OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTZXF1ZW5jZU51bWJlciIgVmFsdWU9IjMyIiAvPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlBheWxvYWRIZWFkZXIiIFZhbHVlPSI2NCIgLz4N +CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJUaW1lc3RhbXAiIFZhbHVlPSIxMjgiIC8+ +DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUGljb3NlY29uZHMiIFZhbHVlPSIyNTYi +IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGF0YVNldENsYXNzSWQiIFZhbHVl +PSI1MTIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUHJvbW90ZWRGaWVsZHMi +IFZhbHVlPSIxMDI0IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVj +dHVyZWRUeXBlIE5hbWU9IlVhZHBXcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIgQmFzZVR5cGU9 +InRuczpXcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJH +cm91cFZlcnNpb24iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iRGF0YVNldE9yZGVyaW5nIiBUeXBlTmFtZT0idG5zOkRhdGFTZXRPcmRlcmluZ1R5cGUiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiBUeXBlTmFt +ZT0idG5zOlVhZHBOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iU2FtcGxpbmdPZmZzZXQiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9PZlB1Ymxpc2hpbmdPZmZzZXQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nT2Zmc2V0IiBUeXBlTmFtZT0ib3BjOkRv +dWJsZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZQdWJsaXNoaW5nT2Zmc2V0IiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlVhZHBEYXRhU2V0TWVz +c2FnZUNvbnRlbnRNYXNrIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJUaW1lc3RhbXAiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh +bHVlIE5hbWU9IlBpY29TZWNvbmRzIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJTdGF0dXMiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9Ik1ham9yVmVyc2lvbiIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs +dWUgTmFtZT0iTWlub3JWZXJzaW9uIiBWYWx1ZT0iMTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk +VmFsdWUgTmFtZT0iU2VxdWVuY2VOdW1iZXIiIFZhbHVlPSIzMiIgLz4NCiAgPC9vcGM6RW51bWVy +YXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVYWRwRGF0YVNldFdyaXRl +ck1lc3NhZ2VEYXRhVHlwZSIgQmFzZVR5cGU9InRuczpEYXRhU2V0V3JpdGVyTWVzc2FnZURhdGFU +eXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIFR5 +cGVOYW1lPSJ0bnM6VWFkcERhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJDb25maWd1cmVkU2l6ZSIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJOZXR3b3JrTWVzc2FnZU51bWJlciIgVHlwZU5hbWU9Im9wYzpVSW50 +MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0T2Zmc2V0IiBUeXBlTmFtZT0ib3Bj +OlVJbnQxNiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk +VHlwZSBOYW1lPSJVYWRwRGF0YVNldFJlYWRlck1lc3NhZ2VEYXRhVHlwZSIgQmFzZVR5cGU9InRu +czpEYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikdy +b3VwVmVyc2lvbiIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOZXR3b3JrTWVzc2FnZU51bWJlciIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJEYXRhU2V0T2Zmc2V0IiBUeXBlTmFtZT0ib3BjOlVJbnQxNiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRDbGFzc0lkIiBUeXBlTmFtZT0ib3BjOkd1aWQiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiBUeXBlTmFt +ZT0idG5zOlVhZHBOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgVHlwZU5hbWU9InRuczpVYWRwRGF0YVNl +dE1lc3NhZ2VDb250ZW50TWFzayIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hpbmdJ +bnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS +ZWNlaXZlT2Zmc2V0IiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlByb2Nlc3NpbmdPZmZzZXQiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9Ikpzb25OZXR3b3Jr +TWVzc2FnZUNvbnRlbnRNYXNrIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0 +ZWRWYWx1ZSBOYW1lPSJOZXR3b3JrTWVzc2FnZUhlYWRlciIgVmFsdWU9IjEiIC8+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGF0YVNldE1lc3NhZ2VIZWFkZXIiIFZhbHVlPSIyIiAv +Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNpbmdsZURhdGFTZXRNZXNzYWdlIiBW +YWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJQdWJsaXNoZXJJZCIg +VmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGF0YVNldENsYXNz +SWQiIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZXBseVRv +IiBWYWx1ZT0iMzIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 +dXJlZFR5cGUgTmFtZT0iSnNvbldyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIiBCYXNlVHlwZT0i +dG5zOldyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5l +dHdvcmtNZXNzYWdlQ29udGVudE1hc2siIFR5cGVOYW1lPSJ0bnM6SnNvbk5ldHdvcmtNZXNzYWdl +Q29udGVudE1hc2siIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVy +YXRlZFR5cGUgTmFtZT0iSnNvbkRhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIExlbmd0aEluQml0 +cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRhdGFTZXRXcml0ZXJJZCIg +VmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTWV0YURhdGFWZXJz +aW9uIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTZXF1ZW5j +ZU51bWJlciIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVGlt +ZXN0YW1wIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTdGF0 +dXMiIFZhbHVlPSIxNiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 +Y3R1cmVkVHlwZSBOYW1lPSJKc29uRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSIgQmFzZVR5 +cGU9InRuczpEYXRhU2V0V3JpdGVyTWVzc2FnZURhdGFUeXBlIj4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkRhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIFR5cGVOYW1lPSJ0bnM6SnNvbkRhdGFTZXRN +ZXNzYWdlQ29udGVudE1hc2siIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iSnNvbkRhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiIEJh +c2VUeXBlPSJ0bnM6RGF0YVNldFJlYWRlck1lc3NhZ2VEYXRhVHlwZSI+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiBUeXBlTmFtZT0idG5zOkpzb25OZXR3 +b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVNldE1l +c3NhZ2VDb250ZW50TWFzayIgVHlwZU5hbWU9InRuczpKc29uRGF0YVNldE1lc3NhZ2VDb250ZW50 +TWFzayIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw +ZSBOYW1lPSJEYXRhZ3JhbUNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSIgQmFzZVR5cGU9InRu +czpDb25uZWN0aW9uVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlz +Y292ZXJ5QWRkcmVzcyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRhZ3JhbVdy +aXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6V3JpdGVyR3JvdXBUcmFu +c3BvcnREYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXNzYWdlUmVwZWF0Q291bnQi +IFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2VSZXBl +YXREZWxheSIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJva2VyQ29ubmVjdGlvblRyYW5zcG9y +dERhdGFUeXBlIiBCYXNlVHlwZT0idG5zOkNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSI+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNvdXJjZVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdXRoZW50aWNhdGlvblByb2ZpbGVVcmkiIFR5cGVOYW1l +PSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1l +cmF0ZWRUeXBlIE5hbWU9IkJyb2tlclRyYW5zcG9ydFF1YWxpdHlPZlNlcnZpY2UiIExlbmd0aElu +Qml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vdFNwZWNpZmllZCIg +VmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQmVzdEVmZm9ydCIg +VmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQXRMZWFzdE9uY2Ui +IFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkF0TW9zdE9uY2Ui +IFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkV4YWN0bHlPbmNl +IiBWYWx1ZT0iNCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 +cmVkVHlwZSBOYW1lPSJCcm9rZXJXcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiBCYXNlVHlw +ZT0idG5zOldyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iUXVldWVOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlJlc291cmNlVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkF1dGhlbnRpY2F0aW9uUHJvZmlsZVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWREZWxpdmVyeUd1YXJhbnRlZSIgVHlwZU5h +bWU9InRuczpCcm9rZXJUcmFuc3BvcnRRdWFsaXR5T2ZTZXJ2aWNlIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb2tlckRhdGFTZXRX +cml0ZXJUcmFuc3BvcnREYXRhVHlwZSIgQmFzZVR5cGU9InRuczpEYXRhU2V0V3JpdGVyVHJhbnNw +b3J0RGF0YVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVldWVOYW1lIiBUeXBlTmFtZT0i +b3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc291cmNlVXJpIiBUeXBlTmFt +ZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF1dGhlbnRpY2F0aW9uUHJv +ZmlsZVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJN +ZXRhRGF0YVF1ZXVlTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJNZXRhRGF0YVVwZGF0ZVRpbWUiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICA8 +L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb2tl +ckRhdGFTZXRSZWFkZXJUcmFuc3BvcnREYXRhVHlwZSIgQmFzZVR5cGU9InRuczpEYXRhU2V0UmVh +ZGVyVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVldWVOYW1lIiBU +eXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc291cmNlVXJp +IiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF1dGhlbnRp +Y2F0aW9uUHJvZmlsZVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZXF1ZXN0ZWREZWxpdmVyeUd1YXJhbnRlZSIgVHlwZU5hbWU9InRuczpCcm9rZXJU +cmFuc3BvcnRRdWFsaXR5T2ZTZXJ2aWNlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWV0YURh +dGFRdWV1ZU5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk +VHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkRpYWdub3N0aWNzTGV2ZWwiIExl +bmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJhc2ljIiBW +YWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBZHZhbmNlZCIgVmFs +dWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW5mbyIgVmFsdWU9IjIi +IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTG9nIiBWYWx1ZT0iMyIgLz4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEZWJ1ZyIgVmFsdWU9IjQiIC8+DQogIDwvb3Bj +OkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iUHViU3ViRGlh +Z25vc3RpY3NDb3VudGVyQ2xhc3NpZmljYXRpb24iIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxv +cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkluZm9ybWF0aW9uIiBWYWx1ZT0iMCIgLz4NCiAgICA8 +b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJFcnJvciIgVmFsdWU9IjEiIC8+DQogIDwvb3BjOkVu +dW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iSWRUeXBlIiBMZW5n +dGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHR5cGUgb2YgaWRlbnRp +ZmllciB1c2VkIGluIGEgbm9kZSBpZC48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9Ik51bWVyaWMiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVy +YXRlZFZhbHVlIE5hbWU9IlN0cmluZyIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk +VmFsdWUgTmFtZT0iR3VpZCIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg +TmFtZT0iT3BhcXVlIiBWYWx1ZT0iMyIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAg +PG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJOb2RlQ2xhc3MiIExlbmd0aEluQml0cz0iMzIiPg0K +ICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIG1hc2sgc3BlY2lmeWluZyB0aGUgY2xhc3Mgb2YgdGhl +IG5vZGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l +PSJVbnNwZWNpZmllZCIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt +ZT0iT2JqZWN0IiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJW +YXJpYWJsZSIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTWV0 +aG9kIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJPYmplY3RU +eXBlIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJWYXJpYWJs +ZVR5cGUiIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWZl +cmVuY2VUeXBlIiBWYWx1ZT0iMzIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i +RGF0YVR5cGUiIFZhbHVlPSI2NCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJW +aWV3IiBWYWx1ZT0iMTI4IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVu +dW1lcmF0ZWRUeXBlIE5hbWU9IkFjY2Vzc0xldmVsVHlwZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQog +ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ3VycmVudFJlYWQiIFZhbHVlPSIxIiAvPg0KICAgIDxv +cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkN1cnJlbnRXcml0ZSIgVmFsdWU9IjIiIC8+DQogICAg +PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSGlzdG9yeVJlYWQiIFZhbHVlPSI0IiAvPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikhpc3RvcnlXcml0ZSIgVmFsdWU9IjE2IiAvPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN0YXR1c1dyaXRlIiBWYWx1ZT0iMzIiIC8+ +DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVGltZXN0YW1wV3JpdGUiIFZhbHVlPSI2 +NCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBO +YW1lPSJBY2Nlc3NMZXZlbEV4VHlwZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVt +ZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk +VmFsdWUgTmFtZT0iQ3VycmVudFJlYWQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRl +ZFZhbHVlIE5hbWU9IkN1cnJlbnRXcml0ZSIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJh +dGVkVmFsdWUgTmFtZT0iSGlzdG9yeVJlYWQiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVy +YXRlZFZhbHVlIE5hbWU9Ikhpc3RvcnlXcml0ZSIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IlN0YXR1c1dyaXRlIiBWYWx1ZT0iMzIiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iVGltZXN0YW1wV3JpdGUiIFZhbHVlPSI2NCIgLz4NCiAgICA8 +b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25hdG9taWNSZWFkIiBWYWx1ZT0iNjU1MzYiIC8+ +DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uYXRvbWljV3JpdGUiIFZhbHVlPSIx +MzEwNzIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iV3JpdGVGdWxsQXJyYXlP +bmx5IiBWYWx1ZT0iMjYyMTQ0IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3Bj +OkVudW1lcmF0ZWRUeXBlIE5hbWU9IkV2ZW50Tm90aWZpZXJUeXBlIiBMZW5ndGhJbkJpdHM9IjMy +Ij4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25lIiBWYWx1ZT0iMCIgLz4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTdWJzY3JpYmVUb0V2ZW50cyIgVmFsdWU9IjEi +IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSGlzdG9yeVJlYWQiIFZhbHVlPSI0 +IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikhpc3RvcnlXcml0ZSIgVmFsdWU9 +IjgiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iUm9sZVBlcm1pc3Npb25UeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJvbGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlBlcm1pc3Npb25zIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N +CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJT +dHJ1Y3R1cmVUeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 +ZSBOYW1lPSJTdHJ1Y3R1cmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9IlN0cnVjdHVyZVdpdGhPcHRpb25hbEZpZWxkcyIgVmFsdWU9IjEiIC8+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVW5pb24iIFZhbHVlPSIyIiAvPg0KICA8L29wYzpFbnVt +ZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlN0cnVjdHVyZUZpZWxk +IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5h +bWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3Jp +cHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iRGF0YVR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJWYWx1ZVJhbmsiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3Ro +RmllbGQ9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhT +dHJpbmdMZW5ndGgiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iSXNPcHRpb25hbCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlN0cnVjdHVyZURlZmluaXRp +b24iIEJhc2VUeXBlPSJ0bnM6RGF0YVR5cGVEZWZpbml0aW9uIj4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkRlZmF1bHRFbmNvZGluZ0lkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iQmFzZURhdGFUeXBlIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iU3RydWN0dXJlVHlwZSIgVHlwZU5hbWU9InRuczpTdHJ1Y3R1cmVUeXBl +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkZpZWxkcyIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpZWxkcyIgVHlwZU5hbWU9InRuczpTdHJ1Y3R1 +cmVGaWVsZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZGaWVsZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRW51bURlZmluaXRpb24iIEJhc2VU +eXBlPSJ0bnM6RGF0YVR5cGVEZWZpbml0aW9uIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZG +aWVsZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWVs +ZHMiIFR5cGVOYW1lPSJ0bnM6RW51bUZpZWxkIiBMZW5ndGhGaWVsZD0iTm9PZkZpZWxkcyIgLz4N +CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJO +b2RlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRp +b24+U3BlY2lmaWVzIHRoZSBhdHRyaWJ1dGVzIHdoaWNoIGJlbG9uZyB0byBhbGwgbm9kZXMuPC9v +cGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9 +InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9 +InRuczpOb2RlQ2xhc3MiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBl +TmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlO +YW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJ0bnM6 +Um9sZVBlcm1pc3Npb25UeXBlIiBMZW5ndGhGaWVsZD0iTm9PZlJvbGVQZXJtaXNzaW9ucyIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZVc2VyUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0i +b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlclJvbGVQZXJtaXNzaW9ucyIg +VHlwZU5hbWU9InRuczpSb2xlUGVybWlzc2lvblR5cGUiIExlbmd0aEZpZWxkPSJOb09mVXNlclJv +bGVQZXJtaXNzaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFjY2Vzc1Jlc3RyaWN0aW9u +cyIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVm ZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl ZmVyZW5jZXMiIFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlTm9kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZS ZWZlcmVuY2VzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy -ZWRUeXBlIE5hbWU9IlR5cGVOb2RlIiBCYXNlVHlwZT0idG5zOk5vZGUiPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9k -ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2Rl -Q2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJv -d3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2Rl -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2Nh -bGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5z -Ok5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6 -VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVz -ZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOklu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpS -ZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogIDwvb3BjOlN0 -cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iT2JqZWN0Tm9kZSIg -QmFzZVR5cGU9InRuczpJbnN0YW5jZU5vZGUiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5TcGVj -aWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIG9iamVjdCBub2Rlcy48L29wYzpE -b2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6 -Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v -ZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmll -ZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlz -cGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9k -ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9j -YWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZS -ZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9P -ZlJlZmVyZW5jZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVudE5vdGlmaWVyIiBUeXBl -TmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry -dWN0dXJlZFR5cGUgTmFtZT0iT2JqZWN0VHlwZU5vZGUiIEJhc2VUeXBlPSJ0bnM6VHlwZU5vZGUi -Pg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2gg -YmVsb25nIHRvIG9iamVjdCB0eXBlIG5vZGVzLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRu -czpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5z -Ok5vZGVDbGFzcyIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgU291cmNlVHlwZT0idG5z -Ok5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVh -OkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBl -PSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9 -Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpO -b2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJv -cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBlTmFtZT0i -dG5zOlJlZmVyZW5jZU5vZGUiIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlcyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAg -PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJWYXJp -YWJsZU5vZGUiIEJhc2VUeXBlPSJ0bnM6SW5zdGFuY2VOb2RlIj4NCiAgICA8b3BjOkRvY3VtZW50 -YXRpb24+U3BlY2lmaWVzIHRoZSBhdHRyaWJ1dGVzIHdoaWNoIGJlbG9uZyB0byB2YXJpYWJsZSBu -b2Rlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBU -eXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9 -InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9 -InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VU -eXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBl -TmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBl -PSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVO -YW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5n -dGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIg -VHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZSIg -VHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlUmFuayIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBcnJheURp -bWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJB -cnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkFy -cmF5RGltZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFjY2Vzc0xldmVsIiBUeXBl -TmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyQWNjZXNzTGV2ZWwi -IFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1pbmltdW1TYW1w -bGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ikhpc3Rvcml6aW5nIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVj -dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVmFyaWFibGVUeXBlTm9k -ZSIgQmFzZVR5cGU9InRuczpUeXBlTm9kZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlNwZWNp -ZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gdmFyaWFibGUgdHlwZSBub2Rlcy48 -L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFt -ZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpO -b2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1 -YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0 -bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0i -dWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6 -Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJv -cGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVs -ZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5h -bWU9InVhOlZhcmlhbnQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZSIgVHlwZU5h -bWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlUmFuayIgVHlwZU5h -bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBcnJheURpbWVuc2lv -bnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBcnJheURp -bWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkFycmF5RGlt -ZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5cGVOYW1lPSJv -cGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJSZWZlcmVuY2VUeXBlTm9kZSIgQmFzZVR5cGU9InRuczpUeXBlTm9kZSI+ -DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBi -ZWxvbmcgdG8gcmVmZXJlbmNlIHR5cGUgbm9kZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0i -dG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0 -bnM6Tm9kZUNsYXNzIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBTb3VyY2VUeXBlPSJ0 -bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0i -dWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5 -cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFt -ZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5z -Ok5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlcyIgVHlwZU5hbWU9 -Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXMiIFR5cGVOYW1l -PSJ0bnM6UmVmZXJlbmNlTm9kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2VzIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iSXNBYnN0cmFjdCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iU3ltbWV0cmljIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbnZlcnNlTmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXpl -ZFRleHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iTWV0aG9kTm9kZSIgQmFzZVR5cGU9InRuczpJbnN0YW5jZU5vZGUiPg0KICAgIDxv -cGM6RG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRv -IG1ldGhvZCBub2Rlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Tm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNv -dXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIg -VHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0 -IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0 -aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBT -b3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1h -c2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VO -b2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJFeGVjdXRhYmxlIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJVc2VyRXhlY3V0YWJsZSIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpT -dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlZpZXdOb2RlIiBC -YXNlVHlwZT0idG5zOkluc3RhbmNlTm9kZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQi -IFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgU291cmNlVHlw -ZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFt -ZT0idWE6UXVhbGlmaWVkTmFtZSIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJj -ZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5 -cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5 -cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlw -ZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBlTmFtZT0idG5zOlJlZmVyZW5jZU5vZGUiIExl -bmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbnRh -aW5zTm9Mb29wcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iRXZlbnROb3RpZmllciIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFUeXBlTm9kZSIgQmFz -ZVR5cGU9InRuczpUeXBlTm9kZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVO +ZWRUeXBlIE5hbWU9Ikluc3RhbmNlTm9kZSIgQmFzZVR5cGU9InRuczpOb2RlIj4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5z +Ok5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6 +Tm9kZUNsYXNzIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBTb3VyY2VUeXBlPSJ0bnM6 +Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6 +TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9 +InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0i +b3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5v +ZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFt +ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUm9sZVBlcm1pc3Npb25zIiBU +eXBlTmFtZT0idG5zOlJvbGVQZXJtaXNzaW9uVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSb2xlUGVy +bWlzc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVXNlclJvbGVQZXJtaXNzaW9u +cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJSb2xl +UGVybWlzc2lvbnMiIFR5cGVOYW1lPSJ0bnM6Um9sZVBlcm1pc3Npb25UeXBlIiBMZW5ndGhGaWVs +ZD0iTm9PZlVzZXJSb2xlUGVybWlzc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBY2Nl +c3NSZXN0cmljdGlvbnMiIFR5cGVOYW1lPSJvcGM6VUludDE2IiBTb3VyY2VUeXBlPSJ0bnM6Tm9k +ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3Bj +OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRu +czpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVHlwZU5vZGUi +IEJhc2VUeXBlPSJ0bnM6Tm9kZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVO YW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQg TmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgU291cmNlVHlwZT0idG5z Ok5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6 @@ -14434,450 +14340,1016 @@ PSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZp ZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRu czpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9 Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBlTmFtZT0idG5zOlJlZmVyZW5jZU5vZGUiIExlbmd0aEZp -ZWxkPSJOb09mUmVmZXJlbmNlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3Qi -IFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg -PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWZlcmVuY2VOb2RlIiBCYXNlVHlwZT0idWE6RXh0 -ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+U3BlY2lmaWVzIGEgcmVmZXJl -bmNlIHdoaWNoIGJlbG9uZ3MgdG8gYSBub2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJJc0ludmVyc2UiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldElkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2Rl -SWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg -TmFtZT0iQXJndW1lbnQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 -RG9jdW1lbnRhdGlvbj5BbiBhcmd1bWVudCBmb3IgYSBtZXRob2QuPC9vcGM6RG9jdW1lbnRhdGlv -bj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0K +ZT0iTm9PZlJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9InRuczpSb2xlUGVybWlzc2lv +blR5cGUiIExlbmd0aEZpZWxkPSJOb09mUm9sZVBlcm1pc3Npb25zIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9PZlVzZXJSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0idG5z +OlJvbGVQZXJtaXNzaW9uVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZVc2VyUm9sZVBlcm1pc3Npb25z +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWNjZXNzUmVzdHJpY3Rpb25zIiBUeXBlTmFtZT0i +b3BjOlVJbnQxNiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mUmVmZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlTm9kZSIgTGVuZ3RoRmll +bGQ9Ik5vT2ZSZWZlcmVuY2VzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj +OlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik9iamVjdE5vZGUiIEJhc2VUeXBlPSJ0bnM6SW5zdGFuY2VO +b2RlIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+U3BlY2lmaWVzIHRoZSBhdHRyaWJ1dGVzIHdo +aWNoIGJlbG9uZyB0byBvYmplY3Qgbm9kZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5z +Ok5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6 +Tm9kZUNsYXNzIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBTb3VyY2VUeXBlPSJ0bnM6 +Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6 +TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9 +InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0i +b3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5v +ZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFt +ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUm9sZVBlcm1pc3Npb25zIiBU +eXBlTmFtZT0idG5zOlJvbGVQZXJtaXNzaW9uVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSb2xlUGVy +bWlzc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVXNlclJvbGVQZXJtaXNzaW9u +cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJSb2xl +UGVybWlzc2lvbnMiIFR5cGVOYW1lPSJ0bnM6Um9sZVBlcm1pc3Npb25UeXBlIiBMZW5ndGhGaWVs +ZD0iTm9PZlVzZXJSb2xlUGVybWlzc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBY2Nl +c3NSZXN0cmljdGlvbnMiIFR5cGVOYW1lPSJvcGM6VUludDE2IiBTb3VyY2VUeXBlPSJ0bnM6Tm9k +ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3Bj +OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRu +czpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJFdmVudE5vdGlmaWVyIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwv +b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iT2JqZWN0 +VHlwZU5vZGUiIEJhc2VUeXBlPSJ0bnM6VHlwZU5vZGUiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlv +bj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIG9iamVjdCB0eXBlIG5v +ZGVzLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5 +cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgU291cmNlVHlwZT0i +dG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0i +dWE6UXVhbGlmaWVkTmFtZSIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5 +cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVO +YW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9 +InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5h +bWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTm9PZlJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9InRuczpSb2xlUGVybWlz +c2lvblR5cGUiIExlbmd0aEZpZWxkPSJOb09mUm9sZVBlcm1pc3Npb25zIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9PZlVzZXJSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0i +dG5zOlJvbGVQZXJtaXNzaW9uVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZVc2VyUm9sZVBlcm1pc3Np +b25zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWNjZXNzUmVzdHJpY3Rpb25zIiBUeXBlTmFt +ZT0ib3BjOlVJbnQxNiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJOb09mUmVmZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlTm9kZSIgTGVuZ3Ro +RmllbGQ9Ik5vT2ZSZWZlcmVuY2VzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNBYnN0cmFj +dCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K +ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlZhcmlhYmxlTm9kZSIgQmFzZVR5cGU9InRuczpJ +bnN0YW5jZU5vZGUiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJp +YnV0ZXMgd2hpY2ggYmVsb25nIHRvIHZhcmlhYmxlIG5vZGVzLjwvb3BjOkRvY3VtZW50YXRpb24+ +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 +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWUiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiAvPg0K ICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQog ICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZVJhbmsiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0ib3BjOklu dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0i b3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJBY2Nlc3NMZXZlbCIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iVXNlckFjY2Vzc0xldmVsIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9w +YzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJIaXN0b3JpemluZyIgVHlwZU5hbWU9 +Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWNjZXNzTGV2ZWxFeCIgVHlw +ZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iVmFyaWFibGVUeXBlTm9kZSIgQmFzZVR5cGU9InRuczpUeXBl +Tm9kZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0cmlidXRlcyB3 +aGljaCBiZWxvbmcgdG8gdmFyaWFibGUgdHlwZSBub2Rlcy48L29wYzpEb2N1bWVudGF0aW9uPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VU +eXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5h +bWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5 +cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVO +YW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291 +cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5 +cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBl +PSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSb2xlUGVybWlzc2lvbnMi +IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSb2xlUGVybWlz +c2lvbnMiIFR5cGVOYW1lPSJ0bnM6Um9sZVBlcm1pc3Npb25UeXBlIiBMZW5ndGhGaWVsZD0iTm9P +ZlJvbGVQZXJtaXNzaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZVc2VyUm9sZVBl +cm1pc3Npb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +VXNlclJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9InRuczpSb2xlUGVybWlzc2lvblR5cGUiIExl +bmd0aEZpZWxkPSJOb09mVXNlclJvbGVQZXJtaXNzaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkFjY2Vzc1Jlc3RyaWN0aW9ucyIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIFNvdXJjZVR5cGU9 +InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVO +YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBl +TmFtZT0idG5zOlJlZmVyZW5jZU5vZGUiIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlcyIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFUeXBlIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iVmFsdWVSYW5rIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTm9PZkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9w +YzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mQXJyYXlEaW1lbnNpb25zIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iSXNBYnN0cmFjdCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29w +YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlZmVyZW5j +ZVR5cGVOb2RlIiBCYXNlVHlwZT0idG5zOlR5cGVOb2RlIj4NCiAgICA8b3BjOkRvY3VtZW50YXRp +b24+U3BlY2lmaWVzIHRoZSBhdHRyaWJ1dGVzIHdoaWNoIGJlbG9uZyB0byByZWZlcmVuY2UgdHlw +ZSBub2Rlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlk +IiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5 +cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5h +bWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3Vy +Y2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBU +eXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VU +eXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5 +cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vT2ZSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJ0bnM6Um9sZVBl +cm1pc3Npb25UeXBlIiBMZW5ndGhGaWVsZD0iTm9PZlJvbGVQZXJtaXNzaW9ucyIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik5vT2ZVc2VyUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlclJvbGVQZXJtaXNzaW9ucyIgVHlwZU5h +bWU9InRuczpSb2xlUGVybWlzc2lvblR5cGUiIExlbmd0aEZpZWxkPSJOb09mVXNlclJvbGVQZXJt +aXNzaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFjY2Vzc1Jlc3RyaWN0aW9ucyIgVHlw +ZU5hbWU9Im9wYzpVSW50MTYiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBlTmFtZT0idG5zOlJlZmVyZW5jZU5vZGUiIExl +bmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJz +dHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN5 +bW1ldHJpYyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +SW52ZXJzZU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1ldGhvZE5vZGUiIEJh +c2VUeXBlPSJ0bnM6SW5zdGFuY2VOb2RlIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+U3BlY2lm +aWVzIHRoZSBhdHRyaWJ1dGVzIHdoaWNoIGJlbG9uZyB0byBtZXRob2Qgbm9kZXMuPC9vcGM6RG9j +dW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5v +ZGVJZCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rl +Q2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNzIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWRO +YW1lIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3Bs +YXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2Fs +aXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +V3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQz +MiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUm9s +ZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0idG5zOlJvbGVQZXJtaXNzaW9uVHlwZSIgTGVu +Z3RoRmllbGQ9Ik5vT2ZSb2xlUGVybWlzc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO +b09mVXNlclJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlVzZXJSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJ0bnM6Um9sZVBlcm1p +c3Npb25UeXBlIiBMZW5ndGhGaWVsZD0iTm9PZlVzZXJSb2xlUGVybWlzc2lvbnMiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJBY2Nlc3NSZXN0cmljdGlvbnMiIFR5cGVOYW1lPSJvcGM6VUludDE2 +IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZl +cmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVm +ZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJl +ZmVyZW5jZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFeGVjdXRhYmxlIiBUeXBlTmFtZT0i +b3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyRXhlY3V0YWJsZSIgVHlw +ZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj +OlN0cnVjdHVyZWRUeXBlIE5hbWU9IlZpZXdOb2RlIiBCYXNlVHlwZT0idG5zOkluc3RhbmNlTm9k +ZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNv +dXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNsYXNzIiBU +eXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgU291 +cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIg +VHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0 +IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFz +ayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJj +ZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJvbGVQZXJtaXNz +aW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJvbGVQ +ZXJtaXNzaW9ucyIgVHlwZU5hbWU9InRuczpSb2xlUGVybWlzc2lvblR5cGUiIExlbmd0aEZpZWxk +PSJOb09mUm9sZVBlcm1pc3Npb25zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlVzZXJS +b2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJVc2VyUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0idG5zOlJvbGVQZXJtaXNzaW9uVHlw +ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZVc2VyUm9sZVBlcm1pc3Npb25zIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iQWNjZXNzUmVzdHJpY3Rpb25zIiBUeXBlTmFtZT0ib3BjOlVJbnQxNiIgU291cmNl +VHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlcyIg +VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXMi +IFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlTm9kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2Vz +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29udGFpbnNOb0xvb3BzIiBUeXBlTmFtZT0ib3Bj +OkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVudE5vdGlmaWVyIiBUeXBlTmFt +ZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 +dXJlZFR5cGUgTmFtZT0iRGF0YVR5cGVOb2RlIiBCYXNlVHlwZT0idG5zOlR5cGVOb2RlIj4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlw +ZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1l +PSJ0bnM6Tm9kZUNsYXNzIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBTb3VyY2VUeXBl +PSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFt +ZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJj +ZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBl +TmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0i +dG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUm9sZVBlcm1pc3Npb25zIiBU +eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUm9sZVBlcm1pc3Np +b25zIiBUeXBlTmFtZT0idG5zOlJvbGVQZXJtaXNzaW9uVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZS +b2xlUGVybWlzc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVXNlclJvbGVQZXJt +aXNzaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVz +ZXJSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJ0bnM6Um9sZVBlcm1pc3Npb25UeXBlIiBMZW5n +dGhGaWVsZD0iTm9PZlVzZXJSb2xlUGVybWlzc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJBY2Nlc3NSZXN0cmljdGlvbnMiIFR5cGVOYW1lPSJvcGM6VUludDE2IiBTb3VyY2VUeXBlPSJ0 +bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFt +ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5h +bWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJJc0Fic3RyYWN0IiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZURlZmluaXRpb24iIFR5cGVOYW1lPSJ1YTpF +eHRlbnNpb25PYmplY3QiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry +dWN0dXJlZFR5cGUgTmFtZT0iUmVmZXJlbmNlTm9kZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlNwZWNpZmllcyBhIHJlZmVyZW5jZSB3aGlj +aCBiZWxvbmdzIHRvIGEgbm9kZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iUmVmZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iSXNJbnZlcnNlIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJUYXJnZXRJZCIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0K +ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFy +Z3VtZW50IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50 +YXRpb24+QW4gYXJndW1lbnQgZm9yIGEgbWV0aG9kLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IkRhdGFUeXBlIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iVmFsdWVSYW5rIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9PZkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpVSW50 +MzIiIExlbmd0aEZpZWxkPSJOb09mQXJyYXlEaW1lbnNpb25zIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICA8L29w +YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkVudW1WYWx1 +ZVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRh +dGlvbj5BIG1hcHBpbmcgYmV0d2VlbiBhIHZhbHVlIG9mIGFuIGVudW1lcmF0ZWQgdHlwZSBhbmQg +YSBuYW1lIGFuZCBkZXNjcmlwdGlvbi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iVmFsdWUiIFR5cGVOYW1lPSJvcGM6SW50NjQiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAgPG9w YzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+ DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i -RW51bVZhbHVlVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpE -b2N1bWVudGF0aW9uPkEgbWFwcGluZyBiZXR3ZWVuIGEgdmFsdWUgb2YgYW4gZW51bWVyYXRlZCB0 -eXBlIGFuZCBhIG5hbWUgYW5kIGRlc2NyaXB0aW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9Im9wYzpJbnQ2NCIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVk -VGV4dCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJPcHRpb25TZXQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv -cGM6RG9jdW1lbnRhdGlvbj5UaGlzIGFic3RyYWN0IFN0cnVjdHVyZWQgRGF0YVR5cGUgaXMgdGhl -IGJhc2UgRGF0YVR5cGUgZm9yIGFsbCBEYXRhVHlwZXMgcmVwcmVzZW50aW5nIGEgYml0IG1hc2su -PC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFt -ZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWxpZEJpdHMiIFR5 -cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg -PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVbmlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i -amVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoaXMgYWJzdHJhY3QgRGF0YVR5cGUgaXMg -dGhlIGJhc2UgRGF0YVR5cGUgZm9yIGFsbCB1bmlvbiBEYXRhVHlwZXMuPC9vcGM6RG9jdW1lbnRh -dGlvbj4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9 -Ik5vcm1hbGl6ZWRTdHJpbmciPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHN0cmluZyBub3Jt -YWxpemVkIGJhc2VkIG9uIHRoZSBydWxlcyBpbiB0aGUgdW5pY29kZSBzcGVjaWZpY2F0aW9uLjwv -b3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVU -eXBlIE5hbWU9IkRlY2ltYWxTdHJpbmciPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBhcmJp -dHJhdHkgbnVtZXJpYyB2YWx1ZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVU -eXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJEdXJhdGlvblN0cmluZyI+DQogICAgPG9w -YzpEb2N1bWVudGF0aW9uPkEgcGVyaW9kIG9mIHRpbWUgZm9ybWF0dGVkIGFzIGRlZmluZWQgaW4g -SVNPIDg2MDEtMjAwMC48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0K -DQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJUaW1lU3RyaW5nIj4NCiAgICA8b3BjOkRvY3VtZW50 -YXRpb24+QSB0aW1lIGZvcm1hdHRlZCBhcyBkZWZpbmVkIGluIElTTyA4NjAxLTIwMDAuPC9vcGM6 -RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUg -TmFtZT0iRGF0ZVN0cmluZyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgZGF0ZSBmb3JtYXR0 -ZWQgYXMgZGVmaW5lZCBpbiBJU08gODYwMS0yMDAwLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwv -b3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkR1cmF0aW9uIj4NCiAg -ICA8b3BjOkRvY3VtZW50YXRpb24+QSBwZXJpb2Qgb2YgdGltZSBtZWFzdXJlZCBpbiBtaWxsaXNl -Y29uZHMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3Bj -Ok9wYXF1ZVR5cGUgTmFtZT0iVXRjVGltZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgZGF0 -ZS90aW1lIHZhbHVlIHNwZWNpZmllZCBpbiBVbml2ZXJzYWwgQ29vcmRpbmF0ZWQgVGltZSAoVVRD -KS48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3Bh -cXVlVHlwZSBOYW1lPSJMb2NhbGVJZCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkFuIGlkZW50 -aWZpZXIgZm9yIGEgdXNlciBsb2NhbGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3Bh -cXVlVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRpbWVab25lRGF0YVR5cGUi -IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iT2Zm -c2V0IiBUeXBlTmFtZT0ib3BjOkludDE2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF5bGln -aHRTYXZpbmdJbk9mZnNldCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iSW50ZWdlcklkIj4NCiAgICA8 -b3BjOkRvY3VtZW50YXRpb24+QSBudW1lcmljIGlkZW50aWZpZXIgZm9yIGFuIG9iamVjdC48L29w -YzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRl -ZFR5cGUgTmFtZT0iQXBwbGljYXRpb25UeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3Bj -OkRvY3VtZW50YXRpb24+VGhlIHR5cGVzIG9mIGFwcGxpY2F0aW9ucy48L29wYzpEb2N1bWVudGF0 -aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNlcnZlciIgVmFsdWU9IjAiIC8+ -DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ2xpZW50IiBWYWx1ZT0iMSIgLz4NCiAg -ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDbGllbnRBbmRTZXJ2ZXIiIFZhbHVlPSIyIiAv -Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRpc2NvdmVyeVNlcnZlciIgVmFsdWU9 -IjMiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg -TmFtZT0iQXBwbGljYXRpb25EZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj -dCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkRlc2NyaWJlcyBhbiBhcHBsaWNhdGlvbiBhbmQg -aG93IHRvIGZpbmQgaXQuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkFwcGxpY2F0aW9uVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlByb2R1Y3RVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iQXBwbGljYXRpb25OYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkFwcGxpY2F0aW9uVHlwZSIgVHlwZU5hbWU9InRuczpBcHBs -aWNhdGlvblR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJHYXRld2F5U2VydmVyVXJpIiBU -eXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2NvdmVyeVBy -b2ZpbGVVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Tm9PZkRpc2NvdmVyeVVybHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJEaXNjb3ZlcnlVcmxzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9 -Ik5vT2ZEaXNjb3ZlcnlVcmxzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -OlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlcXVlc3RIZWFkZXIiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp -b25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgaGVhZGVyIHBhc3NlZCB3aXRo -IGV2ZXJ5IHNlcnZlciByZXF1ZXN0Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJBdXRoZW50aWNhdGlvblRva2VuIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iVGltZXN0YW1wIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhhbmRsZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXR1cm5EaWFnbm9zdGljcyIgVHlwZU5hbWU9Im9w -YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdWRpdEVudHJ5SWQiIFR5cGVOYW1l -PSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGltZW91dEhpbnQiIFR5cGVO -YW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWRkaXRpb25hbEhlYWRl -ciIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZXNwb25zZUhlYWRlciIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSBoZWFk -ZXIgcGFzc2VkIHdpdGggZXZlcnkgc2VydmVyIHJlc3BvbnNlLjwvb3BjOkRvY3VtZW50YXRpb24+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lc3RhbXAiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGFuZGxlIiBUeXBlTmFtZT0ib3BjOlVJ -bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZpY2VSZXN1bHQiIFR5cGVOYW1lPSJ1 -YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmljZURpYWdub3N0aWNz -IiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO -b09mU3RyaW5nVGFibGUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJTdHJpbmdUYWJsZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09m -U3RyaW5nVGFibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGRpdGlvbmFsSGVhZGVyIiBU -eXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N -Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNlcnZpY2VGYXVsdCIgQmFzZVR5cGU9InVh -OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSByZXNwb25zZSBy -ZXR1cm5lZCBieSBhbGwgc2VydmljZXMgd2hlbiB0aGVyZSBpcyBhIHNlcnZpY2UgbGV2ZWwgZXJy -b3IuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVh -ZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkZpbmRTZXJ2ZXJzUmVxdWVzdCIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkZp -bmRzIHRoZSBzZXJ2ZXJzIGtub3duIHRvIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwvb3BjOkRvY3Vt -ZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0i -dG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybCIg -VHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTG9jYWxl -SWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTG9jYWxl -SWRzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZMb2NhbGVJZHMiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VydmVyVXJpcyIgVHlwZU5hbWU9Im9wYzpJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclVyaXMiIFR5cGVOYW1lPSJvcGM6U3Ry -aW5nIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlclVyaXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRmluZFNlcnZlcnNSZXNwb25zZSIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkZp -bmRzIHRoZSBzZXJ2ZXJzIGtub3duIHRvIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwvb3BjOkRvY3Vt -ZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9 -InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJz -IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVycyIg -VHlwZU5hbWU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZlNl -cnZlcnMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iU2VydmVyT25OZXR3b3JrIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlY29yZElkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY292ZXJ5VXJsIiBUeXBlTmFtZT0ib3BjOlN0cmlu -ZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJDYXBhYmlsaXRpZXMiIFR5cGVO -YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJDYXBhYmlsaXRp -ZXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlckNhcGFiaWxp -dGllcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJGaW5kU2VydmVyc09uTmV0d29ya1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp -b25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9 -InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhcnRpbmdSZWNv -cmRJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhS -ZWNvcmRzVG9SZXR1cm4iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTm9PZlNlcnZlckNhcGFiaWxpdHlGaWx0ZXIiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJDYXBhYmlsaXR5RmlsdGVyIiBUeXBlTmFtZT0i -b3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJDYXBhYmlsaXR5RmlsdGVyIiAvPg0K -ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkZp -bmRTZXJ2ZXJzT25OZXR3b3JrUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVz -cG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0Q291bnRlclJlc2V0VGlt -ZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZT -ZXJ2ZXJzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vy -dmVycyIgVHlwZU5hbWU9InRuczpTZXJ2ZXJPbk5ldHdvcmsiIExlbmd0aEZpZWxkPSJOb09mU2Vy -dmVycyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5h -bWU9IkFwcGxpY2F0aW9uSW5zdGFuY2VDZXJ0aWZpY2F0ZSI+DQogICAgPG9wYzpEb2N1bWVudGF0 -aW9uPkEgY2VydGlmaWNhdGUgZm9yIGFuIGluc3RhbmNlIG9mIGFuIGFwcGxpY2F0aW9uLjwvb3Bj -OkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVk -VHlwZSBOYW1lPSJNZXNzYWdlU2VjdXJpdHlNb2RlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8 -b3BjOkRvY3VtZW50YXRpb24+VGhlIHR5cGUgb2Ygc2VjdXJpdHkgdG8gdXNlIG9uIGEgbWVzc2Fn -ZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Iklu -dmFsaWQiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUi -IFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNpZ24iIFZhbHVl -PSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNpZ25BbmRFbmNyeXB0IiBW -YWx1ZT0iMyIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVk -VHlwZSBOYW1lPSJVc2VyVG9rZW5UeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRv -Y3VtZW50YXRpb24+VGhlIHBvc3NpYmxlIHVzZXIgdG9rZW4gdHlwZXMuPC9vcGM6RG9jdW1lbnRh -dGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBbm9ueW1vdXMiIFZhbHVlPSIw -IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVzZXJOYW1lIiBWYWx1ZT0iMSIg -Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDZXJ0aWZpY2F0ZSIgVmFsdWU9IjIi -IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNzdWVkVG9rZW4iIFZhbHVlPSIz -IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9IlVzZXJUb2tlblBvbGljeSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg -PG9wYzpEb2N1bWVudGF0aW9uPkRlc2NyaWJlcyBhIHVzZXIgdG9rZW4gdGhhdCBjYW4gYmUgdXNl -ZCB3aXRoIGEgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJQb2xpY3lJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJUb2tlblR5cGUiIFR5cGVOYW1lPSJ0bnM6VXNlclRva2VuVHlwZSIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Iklzc3VlZFRva2VuVHlwZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJJc3N1ZXJFbmRwb2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJpbmci -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eVBvbGljeVVyaSIgVHlwZU5hbWU9Im9w -YzpTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl -ZFR5cGUgTmFtZT0iRW5kcG9pbnREZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i -amVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSBkZXNjcmlwdGlvbiBvZiBhIGVuZHBv -aW50IHRoYXQgY2FuIGJlIHVzZWQgdG8gYWNjZXNzIGEgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRp -b24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJp -bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXIiIFR5cGVOYW1lPSJ0bnM6QXBwbGlj -YXRpb25EZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlckNlcnRpZmlj -YXRlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT -ZWN1cml0eU1vZGUiIFR5cGVOYW1lPSJ0bnM6TWVzc2FnZVNlY3VyaXR5TW9kZSIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5UG9saWN5VXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZVc2VySWRlbnRpdHlUb2tlbnMiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VySWRlbnRpdHlUb2tlbnMi -IFR5cGVOYW1lPSJ0bnM6VXNlclRva2VuUG9saWN5IiBMZW5ndGhGaWVsZD0iTm9PZlVzZXJJZGVu -dGl0eVRva2VucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyYW5zcG9ydFByb2ZpbGVVcmki -IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlM -ZXZlbCIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkdldEVuZHBvaW50c1JlcXVlc3QiIEJhc2VUeXBl -PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5HZXRzIHRoZSBl -bmRwb2ludHMgdXNlZCBieSB0aGUgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJp -bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3Bj -OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3Bj -OlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZMb2NhbGVJZHMiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb09mUHJvZmlsZVVyaXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJQcm9maWxlVXJpcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxk -PSJOb09mUHJvZmlsZVVyaXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 -U3RydWN0dXJlZFR5cGUgTmFtZT0iR2V0RW5kcG9pbnRzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpF -eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5HZXRzIHRoZSBlbmRwb2lu -dHMgdXNlZCBieSB0aGUgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVs +RW51bUZpZWxkIiBCYXNlVHlwZT0idG5zOkVudW1WYWx1ZVR5cGUiPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iVmFsdWUiIFR5cGVOYW1lPSJvcGM6SW50NjQiIFNvdXJjZVR5cGU9InRuczpFbnVtVmFs +dWVUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1 +YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6RW51bVZhbHVlVHlwZSIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIg +U291cmNlVHlwZT0idG5zOkVudW1WYWx1ZVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO +YW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJPcHRpb25TZXQiIEJhc2VUeXBlPSJ1YTpFeHRl +bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGlzIGFic3RyYWN0IFN0cnVj +dHVyZWQgRGF0YVR5cGUgaXMgdGhlIGJhc2UgRGF0YVR5cGUgZm9yIGFsbCBEYXRhVHlwZXMgcmVw +cmVzZW50aW5nIGEgYml0IG1hc2suPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJWYWxpZEJpdHMiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVbmlvbiIgQmFz +ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoaXMg +YWJzdHJhY3QgRGF0YVR5cGUgaXMgdGhlIGJhc2UgRGF0YVR5cGUgZm9yIGFsbCB1bmlvbiBEYXRh +VHlwZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg +PG9wYzpPcGFxdWVUeXBlIE5hbWU9Ik5vcm1hbGl6ZWRTdHJpbmciPg0KICAgIDxvcGM6RG9jdW1l +bnRhdGlvbj5BIHN0cmluZyBub3JtYWxpemVkIGJhc2VkIG9uIHRoZSBydWxlcyBpbiB0aGUgdW5p +Y29kZSBzcGVjaWZpY2F0aW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5 +cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkRlY2ltYWxTdHJpbmciPg0KICAgIDxvcGM6 +RG9jdW1lbnRhdGlvbj5BbiBhcmJpdHJhdHkgbnVtZXJpYyB2YWx1ZS48L29wYzpEb2N1bWVudGF0 +aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJEdXJh +dGlvblN0cmluZyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgcGVyaW9kIG9mIHRpbWUgZm9y +bWF0dGVkIGFzIGRlZmluZWQgaW4gSVNPIDg2MDEtMjAwMC48L29wYzpEb2N1bWVudGF0aW9uPg0K +ICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJUaW1lU3RyaW5n +Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSB0aW1lIGZvcm1hdHRlZCBhcyBkZWZpbmVkIGlu +IElTTyA4NjAxLTIwMDAuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4N +Cg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iRGF0ZVN0cmluZyI+DQogICAgPG9wYzpEb2N1bWVu +dGF0aW9uPkEgZGF0ZSBmb3JtYXR0ZWQgYXMgZGVmaW5lZCBpbiBJU08gODYwMS0yMDAwLjwvb3Bj +OkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBl +IE5hbWU9IkR1cmF0aW9uIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBwZXJpb2Qgb2YgdGlt +ZSBtZWFzdXJlZCBpbiBtaWxsaXNlY29uZHMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6 +T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iVXRjVGltZSI+DQogICAgPG9w +YzpEb2N1bWVudGF0aW9uPkEgZGF0ZS90aW1lIHZhbHVlIHNwZWNpZmllZCBpbiBVbml2ZXJzYWwg +Q29vcmRpbmF0ZWQgVGltZSAoVVRDKS48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFx +dWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJMb2NhbGVJZCI+DQogICAgPG9wYzpE +b2N1bWVudGF0aW9uPkFuIGlkZW50aWZpZXIgZm9yIGEgdXNlciBsb2NhbGUuPC9vcGM6RG9jdW1l +bnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9IlRpbWVab25lRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iT2Zmc2V0IiBUeXBlTmFtZT0ib3BjOkludDE2IiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iRGF5bGlnaHRTYXZpbmdJbk9mZnNldCIgVHlwZU5hbWU9Im9wYzpCb29s +ZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFt +ZT0iSW50ZWdlcklkIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBudW1lcmljIGlkZW50aWZp +ZXIgZm9yIGFuIG9iamVjdC48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBl +Pg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iQXBwbGljYXRpb25UeXBlIiBMZW5ndGhJ +bkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHR5cGVzIG9mIGFwcGxpY2F0 +aW9ucy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 +IlNlcnZlciIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ2xp +ZW50IiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDbGllbnRB +bmRTZXJ2ZXIiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRp +c2NvdmVyeVNlcnZlciIgVmFsdWU9IjMiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQog +IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQXBwbGljYXRpb25EZXNjcmlwdGlvbiIgQmFzZVR5 +cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkRlc2NyaWJl +cyBhbiBhcHBsaWNhdGlvbiBhbmQgaG93IHRvIGZpbmQgaXQuPC9vcGM6RG9jdW1lbnRhdGlvbj4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkFwcGxpY2F0aW9uVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmlu +ZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByb2R1Y3RVcmkiIFR5cGVOYW1lPSJvcGM6U3Ry +aW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXBwbGljYXRpb25OYW1lIiBUeXBlTmFtZT0i +dWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFwcGxpY2F0aW9uVHlw +ZSIgVHlwZU5hbWU9InRuczpBcHBsaWNhdGlvblR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJHYXRld2F5U2VydmVyVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkRpc2NvdmVyeVByb2ZpbGVVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpc2NvdmVyeVVybHMiIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNjb3ZlcnlVcmxzIiBUeXBlTmFtZT0ib3Bj +OlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaXNjb3ZlcnlVcmxzIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlcXVlc3RIZWFkZXIi +IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5U +aGUgaGVhZGVyIHBhc3NlZCB3aXRoIGV2ZXJ5IHNlcnZlciByZXF1ZXN0Ljwvb3BjOkRvY3VtZW50 +YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdXRoZW50aWNhdGlvblRva2VuIiBUeXBlTmFt +ZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGltZXN0YW1wIiBUeXBlTmFt +ZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhhbmRsZSIg +VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXR1cm5EaWFn +bm9zdGljcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJB +dWRpdEVudHJ5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iVGltZW91dEhpbnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iQWRkaXRpb25hbEhlYWRlciIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4N +CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJS +ZXNwb25zZUhlYWRlciIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpE +b2N1bWVudGF0aW9uPlRoZSBoZWFkZXIgcGFzc2VkIHdpdGggZXZlcnkgc2VydmVyIHJlc3BvbnNl +Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lc3RhbXAiIFR5 +cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGFu +ZGxlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZp +Y2VSZXN1bHQiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iU2VydmljZURpYWdub3N0aWNzIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU3RyaW5nVGFibGUiIFR5cGVOYW1lPSJvcGM6SW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdHJpbmdUYWJsZSIgVHlwZU5hbWU9Im9wYzpTdHJp +bmciIExlbmd0aEZpZWxkPSJOb09mU3RyaW5nVGFibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJBZGRpdGlvbmFsSGVhZGVyIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICA8 +L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iVmVyc2lvblRp +bWUiPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i +U2VydmljZUZhdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRv +Y3VtZW50YXRpb24+VGhlIHJlc3BvbnNlIHJldHVybmVkIGJ5IGFsbCBzZXJ2aWNlcyB3aGVuIHRo +ZXJlIGlzIGEgc2VydmljZSBsZXZlbCBlcnJvci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFk +ZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iU2Vzc2lvbmxlc3NJbnZva2VSZXF1ZXN0VHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lv +bk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVXJpc1ZlcnNpb24iIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVcmlzVmVyc2lvbiIgVHlwZU5h +bWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mVXJpc1ZlcnNpb24iIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOb09mTmFtZXNwYWNlVXJpcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWVzcGFjZVVyaXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5n +IiBMZW5ndGhGaWVsZD0iTm9PZk5hbWVzcGFjZVVyaXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mU2VydmVyVXJpcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlNlcnZlclVyaXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9P +ZlNlcnZlclVyaXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTG9jYWxlSWRzIiBUeXBl +TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTG9jYWxlSWRzIiBUeXBl +TmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZMb2NhbGVJZHMiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJTZXJ2aWNlSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29w +YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNlc3Npb25s +ZXNzSW52b2tlUmVzcG9uc2VUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOYW1lc3BhY2VVcmlzIiBUeXBlTmFtZT0ib3BjOkludDMy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmFtZXNwYWNlVXJpcyIgVHlwZU5hbWU9Im9wYzpT +dHJpbmciIExlbmd0aEZpZWxkPSJOb09mTmFtZXNwYWNlVXJpcyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vT2ZTZXJ2ZXJVcmlzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iU2VydmVyVXJpcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxk +PSJOb09mU2VydmVyVXJpcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZpY2VJZCIgVHlw +ZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iRmluZFNlcnZlcnNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0 +ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+RmluZHMgdGhlIHNlcnZlcnMg +a25vd24gdG8gdGhlIGRpc2NvdmVyeSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRl +ciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZHBvaW50VXJsIiBUeXBlTmFtZT0ib3BjOlN0 +cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZMb2NhbGVJZHMiIFR5cGVOYW1lPSJv +cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMb2NhbGVJZHMiIFR5cGVOYW1lPSJv +cGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZkxvY2FsZUlkcyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vT2ZTZXJ2ZXJVcmlzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iU2VydmVyVXJpcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxk +PSJOb09mU2VydmVyVXJpcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT +dHJ1Y3R1cmVkVHlwZSBOYW1lPSJGaW5kU2VydmVyc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0 +ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+RmluZHMgdGhlIHNlcnZlcnMg +a25vd24gdG8gdGhlIGRpc2NvdmVyeSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVh +ZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlcnZlcnMiIFR5cGVOYW1lPSJvcGM6 +SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJzIiBUeXBlTmFtZT0idG5zOkFw +cGxpY2F0aW9uRGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mU2VydmVycyIgLz4NCiAgPC9v +cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXJ2ZXJP +bk5ldHdvcmsiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iUmVjb3JkSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iU2VydmVyTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJEaXNjb3ZlcnlVcmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9PZlNlcnZlckNhcGFiaWxpdGllcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlckNhcGFiaWxpdGllcyIgVHlwZU5hbWU9Im9w +YzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mU2VydmVyQ2FwYWJpbGl0aWVzIiAvPg0KICA8L29w +YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkZpbmRTZXJ2 +ZXJzT25OZXR3b3JrUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFk +ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGFydGluZ1JlY29yZElkIiBUeXBlTmFtZT0i +b3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heFJlY29yZHNUb1JldHVybiIg +VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VydmVy +Q2FwYWJpbGl0eUZpbHRlciIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlNlcnZlckNhcGFiaWxpdHlGaWx0ZXIiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5n +dGhGaWVsZD0iTm9PZlNlcnZlckNhcGFiaWxpdHlGaWx0ZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRmluZFNlcnZlcnNPbk5ldHdv +cmtSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFbmRwb2ludHMiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRwb2ludHMiIFR5cGVOYW1lPSJ0bnM6RW5kcG9p -bnREZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZFbmRwb2ludHMiIC8+DQogIDwvb3BjOlN0 -cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVnaXN0ZXJlZFNl -cnZlciIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0 -aW9uPlRoZSBpbmZvcm1hdGlvbiByZXF1aXJlZCB0byByZWdpc3RlciBhIHNlcnZlciB3aXRoIGEg -ZGlzY292ZXJ5IHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iU2VydmVyVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlByb2R1Y3RVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTm9PZlNlcnZlck5hbWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iU2VydmVyTmFtZXMiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBMZW5n -dGhGaWVsZD0iTm9PZlNlcnZlck5hbWVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVy -VHlwZSIgVHlwZU5hbWU9InRuczpBcHBsaWNhdGlvblR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJHYXRld2F5U2VydmVyVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vT2ZEaXNjb3ZlcnlVcmxzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY292ZXJ5VXJscyIgVHlwZU5hbWU9Im9wYzpTdHJpbmci -IExlbmd0aEZpZWxkPSJOb09mRGlzY292ZXJ5VXJscyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlNlbWFwaG9yZUZpbGVQYXRoIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IklzT25saW5lIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0 -cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVnaXN0ZXJTZXJ2 -ZXJSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3Vt -ZW50YXRpb24+UmVnaXN0ZXJzIGEgc2VydmVyIHdpdGggdGhlIGRpc2NvdmVyeSBzZXJ2ZXIuPC9v -cGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5 -cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZl -ciIgVHlwZU5hbWU9InRuczpSZWdpc3RlcmVkU2VydmVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlZ2lzdGVyU2VydmVyUmVzcG9u -c2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlv -bj5SZWdpc3RlcnMgYSBzZXJ2ZXIgd2l0aCB0aGUgZGlzY292ZXJ5IHNlcnZlci48L29wYzpEb2N1 -bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1l -PSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv -cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGlzY292ZXJ5Q29uZmlndXJhdGlvbiIgQmFzZVR5cGU9 -InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgYmFzZSB0eXBl -IGZvciBkaXNjb3ZlcnkgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbi48L29wYzpEb2N1bWVudGF0 -aW9uPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9Ik1kbnNEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiBCYXNlVHlwZT0idG5zOkRpc2NvdmVyeUNv -bmZpZ3VyYXRpb24iPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgZGlzY292ZXJ5IGluZm9y -bWF0aW9uIG5lZWRlZCBmb3IgbUROUyByZWdpc3RyYXRpb24uPC9vcGM6RG9jdW1lbnRhdGlvbj4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1kbnNTZXJ2ZXJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmlu -ZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJDYXBhYmlsaXRpZXMiIFR5cGVO -YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJDYXBhYmlsaXRp -ZXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlckNhcGFiaWxp -dGllcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJSZWdpc3RlclNlcnZlcjJSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq -ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6 -UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlciIgVHlwZU5hbWU9 -InRuczpSZWdpc3RlcmVkU2VydmVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpc2Nv -dmVyeUNvbmZpZ3VyYXRpb24iIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2Jq -ZWN0IiBMZW5ndGhGaWVsZD0iTm9PZkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIC8+DQogIDwvb3Bj -OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVnaXN0ZXJT -ZXJ2ZXIyUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQ29uZmlndXJhdGlvblJlc3VsdHMiIFR5cGVO -YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb25maWd1cmF0aW9uUmVz -dWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mQ29uZmlndXJh -dGlvblJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9z -IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3Rp -Y0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlh -Z25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1l -cmF0ZWRUeXBlIE5hbWU9IlNlY3VyaXR5VG9rZW5SZXF1ZXN0VHlwZSIgTGVuZ3RoSW5CaXRzPSIz -MiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkluZGljYXRlcyB3aGV0aGVyIGEgdG9rZW4gaWYg -YmVpbmcgY3JlYXRlZCBvciByZW5ld2VkLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpF -bnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNzdWUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVy -YXRlZFZhbHVlIE5hbWU9IlJlbmV3IiBWYWx1ZT0iMSIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDaGFubmVsU2VjdXJpdHlUb2tlbiIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRo -ZSB0b2tlbiB0aGF0IGlkZW50aWZpZXMgYSBzZXQgb2Yga2V5cyBmb3IgYW4gYWN0aXZlIHNlY3Vy -ZSBjaGFubmVsLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDaGFu -bmVsSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVG9r -ZW5JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDcmVh -dGVkQXQiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS -ZXZpc2VkTGlmZXRpbWUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik9wZW5TZWN1cmVDaGFubmVs +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxhc3RDb3VudGVyUmVzZXRUaW1lIiBUeXBlTmFtZT0ib3Bj +OkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlcnZlcnMiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJzIiBUeXBlTmFtZT0i +dG5zOlNlcnZlck9uTmV0d29yayIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJzIiAvPg0KICA8L29w +YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iQXBwbGljYXRpb25J +bnN0YW5jZUNlcnRpZmljYXRlIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBjZXJ0aWZpY2F0 +ZSBmb3IgYW4gaW5zdGFuY2Ugb2YgYW4gYXBwbGljYXRpb24uPC9vcGM6RG9jdW1lbnRhdGlvbj4N +CiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9Ik1lc3Nh +Z2VTZWN1cml0eU1vZGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlv +bj5UaGUgdHlwZSBvZiBzZWN1cml0eSB0byB1c2Ugb24gYSBtZXNzYWdlLjwvb3BjOkRvY3VtZW50 +YXRpb24+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW52YWxpZCIgVmFsdWU9IjAi +IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjEiIC8+DQog +ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU2lnbiIgVmFsdWU9IjIiIC8+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU2lnbkFuZEVuY3J5cHQiIFZhbHVlPSIzIiAvPg0KICA8 +L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlVzZXJU +b2tlblR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUg +cG9zc2libGUgdXNlciB0b2tlbiB0eXBlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6 +RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFub255bW91cyIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iVXNlck5hbWUiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IkNlcnRpZmljYXRlIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVu +dW1lcmF0ZWRWYWx1ZSBOYW1lPSJJc3N1ZWRUb2tlbiIgVmFsdWU9IjMiIC8+DQogIDwvb3BjOkVu +dW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVXNlclRva2VuUG9s +aWN5IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRp +b24+RGVzY3JpYmVzIGEgdXNlciB0b2tlbiB0aGF0IGNhbiBiZSB1c2VkIHdpdGggYSBzZXJ2ZXIu +PC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBvbGljeUlkIiBUeXBl +TmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRva2VuVHlwZSIgVHlw +ZU5hbWU9InRuczpVc2VyVG9rZW5UeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNzdWVk +VG9rZW5UeXBlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Iklzc3VlckVuZHBvaW50VXJsIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlNlY3VyaXR5UG9saWN5VXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAg +PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFbmRw +b2ludERlc2NyaXB0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj +OkRvY3VtZW50YXRpb24+VGhlIGRlc2NyaXB0aW9uIG9mIGEgZW5kcG9pbnQgdGhhdCBjYW4gYmUg +dXNlZCB0byBhY2Nlc3MgYSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkVuZHBvaW50VXJsIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlNlcnZlciIgVHlwZU5hbWU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9u +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyQ2VydGlmaWNhdGUiIFR5cGVOYW1lPSJv +cGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TW9kZSIgVHlw +ZU5hbWU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +U2VjdXJpdHlQb2xpY3lVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9PZlVzZXJJZGVudGl0eVRva2VucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJJZGVudGl0eVRva2VucyIgVHlwZU5hbWU9InRuczpV +c2VyVG9rZW5Qb2xpY3kiIExlbmd0aEZpZWxkPSJOb09mVXNlcklkZW50aXR5VG9rZW5zIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNwb3J0UHJvZmlsZVVyaSIgVHlwZU5hbWU9Im9wYzpT +dHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eUxldmVsIiBUeXBlTmFtZT0i +b3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl +ZFR5cGUgTmFtZT0iR2V0RW5kcG9pbnRzUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkdldHMgdGhlIGVuZHBvaW50cyB1c2VkIGJ5 +IHRoZSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl +cXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkVuZHBvaW50VXJsIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vT2ZMb2NhbGVJZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJMb2NhbGVJZHMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhG +aWVsZD0iTm9PZkxvY2FsZUlkcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZQcm9maWxl +VXJpcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByb2Zp +bGVVcmlzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZQcm9maWxlVXJp +cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO +YW1lPSJHZXRFbmRwb2ludHNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ +DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkdldHMgdGhlIGVuZHBvaW50cyB1c2VkIGJ5IHRoZSBz +ZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNl +SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTm9PZkVuZHBvaW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkVuZHBvaW50cyIgVHlwZU5hbWU9InRuczpFbmRwb2ludERlc2NyaXB0aW9uIiBM +ZW5ndGhGaWVsZD0iTm9PZkVuZHBvaW50cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWdpc3RlcmVkU2VydmVyIiBCYXNlVHlwZT0i +dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIGluZm9ybWF0 +aW9uIHJlcXVpcmVkIHRvIHJlZ2lzdGVyIGEgc2VydmVyIHdpdGggYSBkaXNjb3Zlcnkgc2VydmVy +Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJVcmkiIFR5 +cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJvZHVjdFVyaSIg +VHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VydmVy +TmFtZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2 +ZXJOYW1lcyIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIExlbmd0aEZpZWxkPSJOb09mU2Vy +dmVyTmFtZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJUeXBlIiBUeXBlTmFtZT0i +dG5zOkFwcGxpY2F0aW9uVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkdhdGV3YXlTZXJ2 +ZXJVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P +ZkRpc2NvdmVyeVVybHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJEaXNjb3ZlcnlVcmxzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5v +T2ZEaXNjb3ZlcnlVcmxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VtYXBob3JlRmlsZVBh +dGgiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNPbmxp +bmUiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWdpc3RlclNlcnZlclJlcXVlc3QiIEJhc2VU +eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5SZWdpc3Rl +cnMgYSBzZXJ2ZXIgd2l0aCB0aGUgZGlzY292ZXJ5IHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9u +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1 +ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyIiBUeXBlTmFtZT0idG5z +OlJlZ2lzdGVyZWRTZXJ2ZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXNwb25zZSIgQmFzZVR5cGU9InVh +OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlJlZ2lzdGVycyBhIHNl +cnZlciB3aXRoIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhl +YWRlciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw +ZSBOYW1lPSJEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBiYXNlIHR5cGUgZm9yIGRpc2NvdmVyeSBj +b25maWd1cmF0aW9uIGluZm9ybWF0aW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOlN0 +cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTWRuc0Rpc2NvdmVy +eUNvbmZpZ3VyYXRpb24iIEJhc2VUeXBlPSJ0bnM6RGlzY292ZXJ5Q29uZmlndXJhdGlvbiI+DQog +ICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSBkaXNjb3ZlcnkgaW5mb3JtYXRpb24gbmVlZGVkIGZv +ciBtRE5TIHJlZ2lzdHJhdGlvbi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTWRuc1NlcnZlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9PZlNlcnZlckNhcGFiaWxpdGllcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlckNhcGFiaWxpdGllcyIgVHlwZU5hbWU9Im9w +YzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mU2VydmVyQ2FwYWJpbGl0aWVzIiAvPg0KICA8L29w +YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlZ2lzdGVy +U2VydmVyMlJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyIiBUeXBlTmFtZT0idG5zOlJlZ2lzdGVyZWRT +ZXJ2ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlzY292ZXJ5Q29uZmlndXJhdGlv +biIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2NvdmVy +eUNvbmZpZ3VyYXRpb24iIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIExlbmd0aEZpZWxk +PSJOb09mRGlzY292ZXJ5Q29uZmlndXJhdGlvbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ +DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWdpc3RlclNlcnZlcjJSZXNwb25zZSIg +QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNw +b25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vT2ZDb25maWd1cmF0aW9uUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbmZpZ3VyYXRpb25SZXN1bHRzIiBUeXBlTmFtZT0i +dWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZDb25maWd1cmF0aW9uUmVzdWx0cyIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6 +SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1l +PSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+ +DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0i +U2VjdXJpdHlUb2tlblJlcXVlc3RUeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRv +Y3VtZW50YXRpb24+SW5kaWNhdGVzIHdoZXRoZXIgYSB0b2tlbiBpZiBiZWluZyBjcmVhdGVkIG9y +IHJlbmV3ZWQuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO +YW1lPSJJc3N1ZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i +UmVuZXciIFZhbHVlPSIxIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9IkNoYW5uZWxTZWN1cml0eVRva2VuIiBCYXNlVHlwZT0idWE6RXh0 +ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHRva2VuIHRoYXQgaWRl +bnRpZmllcyBhIHNldCBvZiBrZXlzIGZvciBhbiBhY3RpdmUgc2VjdXJlIGNoYW5uZWwuPC9vcGM6 +RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNoYW5uZWxJZCIgVHlwZU5hbWU9 +Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUb2tlbklkIiBUeXBlTmFtZT0i +b3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNyZWF0ZWRBdCIgVHlwZU5hbWU9 +Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRMaWZldGltZSIg +VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv +cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iT3BlblNlY3VyZUNoYW5uZWxSZXF1ZXN0IiBCYXNlVHlw +ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q3JlYXRlcyBh +IHNlY3VyZSBjaGFubmVsIHdpdGggYSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRl +ciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudFByb3RvY29sVmVyc2lvbiIgVHlwZU5h +bWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0VHlwZSIgVHlw +ZU5hbWU9InRuczpTZWN1cml0eVRva2VuUmVxdWVzdFR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJTZWN1cml0eU1vZGUiIFR5cGVOYW1lPSJ0bnM6TWVzc2FnZVNlY3VyaXR5TW9kZSIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudE5vbmNlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJp +bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRMaWZldGltZSIgVHlwZU5hbWU9 +Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 +dXJlZFR5cGUgTmFtZT0iT3BlblNlY3VyZUNoYW5uZWxSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4 +dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkNyZWF0ZXMgYSBzZWN1cmUg +Y2hhbm5lbCB3aXRoIGEgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclByb3RvY29sVmVyc2lvbiIgVHlwZU5hbWU9Im9w +YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eVRva2VuIiBUeXBlTmFt +ZT0idG5zOkNoYW5uZWxTZWN1cml0eVRva2VuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vy +dmVyTm9uY2UiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl +ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDbG9zZVNlY3VyZUNoYW5uZWxS +ZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50 +YXRpb24+Q2xvc2VzIGEgc2VjdXJlIGNoYW5uZWwuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRl +ciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO +YW1lPSJDbG9zZVNlY3VyZUNoYW5uZWxSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkNsb3NlcyBhIHNlY3VyZSBjaGFubmVsLjwv +b3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIg +VHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ +DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRl +IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+ +QSBzb2Z0d2FyZSBjZXJ0aWZpY2F0ZSB3aXRoIGEgZGlnaXRhbCBzaWduYXR1cmUuPC9vcGM6RG9j +dW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNlcnRpZmljYXRlRGF0YSIgVHlwZU5h +bWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2lnbmF0dXJlIiBU +eXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog +IDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJTZXNzaW9uQXV0aGVudGljYXRpb25Ub2tlbiI+DQogICAg +PG9wYzpEb2N1bWVudGF0aW9uPkEgdW5pcXVlIGlkZW50aWZpZXIgZm9yIGEgc2Vzc2lvbiB1c2Vk +IHRvIGF1dGhlbnRpY2F0ZSByZXF1ZXN0cy48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpP +cGFxdWVUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2lnbmF0dXJlRGF0YSIg +QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEg +ZGlnaXRhbCBzaWduYXR1cmUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkFsZ29yaXRobSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJTaWduYXR1cmUiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3Ry +dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDcmVhdGVTZXNzaW9u UmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVu -dGF0aW9uPkNyZWF0ZXMgYSBzZWN1cmUgY2hhbm5lbCB3aXRoIGEgc2VydmVyLjwvb3BjOkRvY3Vt -ZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0i -dG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnRQcm90b2Nv -bFZlcnNpb24iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UmVxdWVzdFR5cGUiIFR5cGVOYW1lPSJ0bnM6U2VjdXJpdHlUb2tlblJlcXVlc3RUeXBlIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlNb2RlIiBUeXBlTmFtZT0idG5zOk1lc3NhZ2VT -ZWN1cml0eU1vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnROb25jZSIgVHlwZU5h -bWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkTGlm -ZXRpbWUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N -Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik9wZW5TZWN1cmVDaGFubmVsUmVzcG9uc2Ui -IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5D -cmVhdGVzIGEgc2VjdXJlIGNoYW5uZWwgd2l0aCBhIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9u -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVz -cG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJQcm90b2NvbFZlcnNp -b24iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJp -dHlUb2tlbiIgVHlwZU5hbWU9InRuczpDaGFubmVsU2VjdXJpdHlUb2tlbiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlNlcnZlck5vbmNlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ2xv -c2VTZWN1cmVDaGFubmVsUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog -ICAgPG9wYzpEb2N1bWVudGF0aW9uPkNsb3NlcyBhIHNlY3VyZSBjaGFubmVsLjwvb3BjOkRvY3Vt -ZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0i -dG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 -U3RydWN0dXJlZFR5cGUgTmFtZT0iQ2xvc2VTZWN1cmVDaGFubmVsUmVzcG9uc2UiIEJhc2VUeXBl -PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5DbG9zZXMgYSBz -ZWN1cmUgY2hhbm5lbC48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogIDwvb3Bj -OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2lnbmVkU29m -dHdhcmVDZXJ0aWZpY2F0ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w -YzpEb2N1bWVudGF0aW9uPkEgc29mdHdhcmUgY2VydGlmaWNhdGUgd2l0aCBhIGRpZ2l0YWwgc2ln -bmF0dXJlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDZXJ0aWZp -Y2F0ZURhdGEiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlNpZ25hdHVyZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iU2Vzc2lvbkF1dGhlbnRpY2F0 -aW9uVG9rZW4iPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHVuaXF1ZSBpZGVudGlmaWVyIGZv -ciBhIHNlc3Npb24gdXNlZCB0byBhdXRoZW50aWNhdGUgcmVxdWVzdHMuPC9vcGM6RG9jdW1lbnRh -dGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -IlNpZ25hdHVyZURhdGEiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 -RG9jdW1lbnRhdGlvbj5BIGRpZ2l0YWwgc2lnbmF0dXJlLjwvb3BjOkRvY3VtZW50YXRpb24+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJBbGdvcml0aG0iIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iU2lnbmF0dXJlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmci -IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt -ZT0iQ3JlYXRlU2Vzc2lvblJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K -ICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5DcmVhdGVzIGEgbmV3IHNlc3Npb24gd2l0aCB0aGUgc2Vy -dmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVh -ZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJDbGllbnREZXNjcmlwdGlvbiIgVHlwZU5hbWU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9u -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmlu -ZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZHBvaW50VXJsIiBUeXBlTmFtZT0ib3BjOlN0 -cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlc3Npb25OYW1lIiBUeXBlTmFtZT0ib3Bj -OlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudE5vbmNlIiBUeXBlTmFtZT0i -b3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnRDZXJ0aWZpY2F0 -ZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVx -dWVzdGVkU2Vzc2lvblRpbWVvdXQiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iTWF4UmVzcG9uc2VNZXNzYWdlU2l6ZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIi -IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt -ZT0iQ3JlYXRlU2Vzc2lvblJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q3JlYXRlcyBhIG5ldyBzZXNzaW9uIHdpdGggdGhlIHNl -cnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VI -ZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJTZXNzaW9uSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJBdXRoZW50aWNhdGlvblRva2VuIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iUmV2aXNlZFNlc3Npb25UaW1lb3V0IiBUeXBlTmFtZT0ib3BjOkRvdWJs -ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlck5vbmNlIiBUeXBlTmFtZT0ib3BjOkJ5 -dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJDZXJ0aWZpY2F0ZSIgVHlw -ZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlcnZl -ckVuZHBvaW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlNlcnZlckVuZHBvaW50cyIgVHlwZU5hbWU9InRuczpFbmRwb2ludERlc2NyaXB0aW9uIiBMZW5n -dGhGaWVsZD0iTm9PZlNlcnZlckVuZHBvaW50cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v -T2ZTZXJ2ZXJTb2Z0d2FyZUNlcnRpZmljYXRlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclNvZnR3YXJlQ2VydGlmaWNhdGVzIiBUeXBlTmFtZT0i -dG5zOlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiIExlbmd0aEZpZWxkPSJOb09mU2VydmVyU29m -dHdhcmVDZXJ0aWZpY2F0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJTaWduYXR1 -cmUiIFR5cGVOYW1lPSJ0bnM6U2lnbmF0dXJlRGF0YSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -Ik1heFJlcXVlc3RNZXNzYWdlU2l6ZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3Bj -OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVXNlcklkZW50 -aXR5VG9rZW4iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1l -bnRhdGlvbj5BIGJhc2UgdHlwZSBmb3IgYSB1c2VyIGlkZW50aXR5IHRva2VuLjwvb3BjOkRvY3Vt -ZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQb2xpY3lJZCIgVHlwZU5hbWU9Im9wYzpT -dHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iQW5vbnltb3VzSWRlbnRpdHlUb2tlbiIgQmFzZVR5cGU9InRuczpVc2VySWRlbnRp -dHlUb2tlbiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgdG9rZW4gcmVwcmVzZW50aW5nIGFu -IGFub255bW91cyB1c2VyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJQb2xpY3lJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIFNvdXJjZVR5cGU9InRuczpVc2VySWRl -bnRpdHlUb2tlbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJVc2VyTmFtZUlkZW50aXR5VG9rZW4iIEJhc2VUeXBlPSJ0bnM6VXNlcklk -ZW50aXR5VG9rZW4iPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHRva2VuIHJlcHJlc2VudGlu -ZyBhIHVzZXIgaWRlbnRpZmllZCBieSBhIHVzZXIgbmFtZSBhbmQgcGFzc3dvcmQuPC9vcGM6RG9j -dW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBvbGljeUlkIiBUeXBlTmFtZT0ib3Bj -OlN0cmluZyIgU291cmNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iVXNlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iUGFzc3dvcmQiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IkVuY3J5cHRpb25BbGdvcml0aG0iIFR5cGVOYW1lPSJvcGM6U3RyaW5n -IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9Ilg1MDlJZGVudGl0eVRva2VuIiBCYXNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIj4N -CiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSB0b2tlbiByZXByZXNlbnRpbmcgYSB1c2VyIGlkZW50 -aWZpZWQgYnkgYW4gWDUwOSBjZXJ0aWZpY2F0ZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iUG9saWN5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBTb3VyY2VUeXBl -PSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDZXJ0aWZp -Y2F0ZURhdGEiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl -ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJJc3N1ZWRJZGVudGl0eVRva2Vu -IiBCYXNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIj4NCiAgICA8b3BjOkRvY3VtZW50YXRp -b24+QSB0b2tlbiByZXByZXNlbnRpbmcgYSB1c2VyIGlkZW50aWZpZWQgYnkgYSBXUy1TZWN1cml0 -eSBYTUwgdG9rZW4uPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBv -bGljeUlkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgU291cmNlVHlwZT0idG5zOlVzZXJJZGVudGl0 -eVRva2VuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVG9rZW5EYXRhIiBUeXBlTmFtZT0ib3Bj -OkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmNyeXB0aW9uQWxnb3JpdGht -IiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg -PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBY3RpdmF0ZVNlc3Npb25SZXF1ZXN0IiBCYXNlVHlw -ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QWN0aXZhdGVz -IGEgc2Vzc2lvbiB3aXRoIHRoZSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudFNpZ25hdHVyZSIgVHlwZU5hbWU9InRuczpT -aWduYXR1cmVEYXRhIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkNsaWVudFNvZnR3YXJl +dGF0aW9uPkNyZWF0ZXMgYSBuZXcgc2Vzc2lvbiB3aXRoIHRoZSBzZXJ2ZXIuPC9vcGM6RG9jdW1l +bnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0 +bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudERlc2NyaXB0 +aW9uIiBUeXBlTmFtZT0idG5zOkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJTZXJ2ZXJVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iRW5kcG9pbnRVcmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iU2Vzc2lvbk5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50Tm9uY2UiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudENlcnRpZmljYXRlIiBUeXBlTmFtZT0ib3Bj +OkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRTZXNzaW9uVGlt +ZW91dCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhS +ZXNwb25zZU1lc3NhZ2VTaXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3Ry +dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDcmVhdGVTZXNzaW9u +UmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1l +bnRhdGlvbj5DcmVhdGVzIGEgbmV3IHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwvb3BjOkRvY3Vt +ZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9 +InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlc3Npb25JZCIg +VHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF1dGhlbnRpY2F0 +aW9uVG9rZW4iIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS +ZXZpc2VkU2Vzc2lvblRpbWVvdXQiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iU2VydmVyTm9uY2UiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlckNlcnRpZmljYXRlIiBUeXBlTmFtZT0ib3BjOkJ5dGVT +dHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VydmVyRW5kcG9pbnRzIiBUeXBl +TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyRW5kcG9pbnRz +IiBUeXBlTmFtZT0idG5zOkVuZHBvaW50RGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mU2Vy +dmVyRW5kcG9pbnRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlcnZlclNvZnR3YXJl Q2VydGlmaWNhdGVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iQ2xpZW50U29mdHdhcmVDZXJ0aWZpY2F0ZXMiIFR5cGVOYW1lPSJ0bnM6U2lnbmVkU29mdHdh -cmVDZXJ0aWZpY2F0ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZDbGllbnRTb2Z0d2FyZUNlcnRpZmljYXRl -cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZMb2NhbGVJZHMiIFR5cGVOYW1lPSJvcGM6 -SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMb2NhbGVJZHMiIFR5cGVOYW1lPSJvcGM6 -U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZkxvY2FsZUlkcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlVzZXJJZGVudGl0eVRva2VuIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlclRva2VuU2lnbmF0dXJlIiBUeXBlTmFtZT0idG5zOlNp -Z25hdHVyZURhdGEiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 -dXJlZFR5cGUgTmFtZT0iQWN0aXZhdGVTZXNzaW9uUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRl -bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BY3RpdmF0ZXMgYSBzZXNzaW9u -IHdpdGggdGhlIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJOb25jZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29k -ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P -ZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5n -dGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDbG9zZVNlc3Npb25SZXF1ZXN0IiBCYXNl -VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q2xvc2Vz -IGEgc2Vzc2lvbiB3aXRoIHRoZSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlbGV0ZVN1YnNjcmlwdGlvbnMiIFR5cGVOYW1lPSJv -cGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJDbG9zZVNlc3Npb25SZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lv -bk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkNsb3NlcyBhIHNlc3Npb24gd2l0aCB0 -aGUgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNw -b25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDYW5jZWxSZXF1ZXN0 -IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+ -Q2FuY2VscyBhbiBvdXRzdGFuZGluZyByZXF1ZXN0Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFk -ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGFuZGxlIiBUeXBlTmFtZT0ib3Bj -OlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk -VHlwZSBOYW1lPSJDYW5jZWxSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkNhbmNlbHMgYW4gb3V0c3RhbmRpbmcgcmVxdWVzdC48 -L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIi -IFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJD -YW5jZWxDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iTm9kZUF0dHJpYnV0ZXNNYXNrIiBM -ZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIGJpdHMgdXNlZCB0 -byBzcGVjaWZ5IGRlZmF1bHQgYXR0cmlidXRlcyBmb3IgYSBuZXcgbm9kZS48L29wYzpEb2N1bWVu +ZT0iU2VydmVyU29mdHdhcmVDZXJ0aWZpY2F0ZXMiIFR5cGVOYW1lPSJ0bnM6U2lnbmVkU29mdHdh +cmVDZXJ0aWZpY2F0ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJTb2Z0d2FyZUNlcnRpZmljYXRl +cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclNpZ25hdHVyZSIgVHlwZU5hbWU9InRu +czpTaWduYXR1cmVEYXRhIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4UmVxdWVzdE1lc3Nh +Z2VTaXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ +DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVc2VySWRlbnRpdHlUb2tlbiIgQmFzZVR5 +cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgYmFzZSB0 +eXBlIGZvciBhIHVzZXIgaWRlbnRpdHkgdG9rZW4uPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlBvbGljeUlkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9v +cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBbm9ueW1v +dXNJZGVudGl0eVRva2VuIiBCYXNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIj4NCiAgICA8 +b3BjOkRvY3VtZW50YXRpb24+QSB0b2tlbiByZXByZXNlbnRpbmcgYW4gYW5vbnltb3VzIHVzZXIu +PC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBvbGljeUlkIiBUeXBl +TmFtZT0ib3BjOlN0cmluZyIgU291cmNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIiAvPg0K +ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlVz +ZXJOYW1lSWRlbnRpdHlUb2tlbiIgQmFzZVR5cGU9InRuczpVc2VySWRlbnRpdHlUb2tlbiI+DQog +ICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgdG9rZW4gcmVwcmVzZW50aW5nIGEgdXNlciBpZGVudGlm +aWVkIGJ5IGEgdXNlciBuYW1lIGFuZCBwYXNzd29yZC48L29wYzpEb2N1bWVudGF0aW9uPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iUG9saWN5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBTb3VyY2VU +eXBlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2Vy +TmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQYXNz +d29yZCIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +RW5jcnlwdGlvbkFsZ29yaXRobSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogIDwvb3BjOlN0 +cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iWDUwOUlkZW50aXR5 +VG9rZW4iIEJhc2VUeXBlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgIDxvcGM6RG9jdW1l +bnRhdGlvbj5BIHRva2VuIHJlcHJlc2VudGluZyBhIHVzZXIgaWRlbnRpZmllZCBieSBhbiBYNTA5 +IGNlcnRpZmljYXRlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQ +b2xpY3lJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIFNvdXJjZVR5cGU9InRuczpVc2VySWRlbnRp +dHlUb2tlbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNlcnRpZmljYXRlRGF0YSIgVHlwZU5h +bWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj +OlN0cnVjdHVyZWRUeXBlIE5hbWU9Iklzc3VlZElkZW50aXR5VG9rZW4iIEJhc2VUeXBlPSJ0bnM6 +VXNlcklkZW50aXR5VG9rZW4iPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHRva2VuIHJlcHJl +c2VudGluZyBhIHVzZXIgaWRlbnRpZmllZCBieSBhIFdTLVNlY3VyaXR5IFhNTCB0b2tlbi48L29w +YzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUG9saWN5SWQiIFR5cGVOYW1l +PSJvcGM6U3RyaW5nIiBTb3VyY2VUeXBlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJUb2tlbkRhdGEiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuY3J5cHRpb25BbGdvcml0aG0iIFR5cGVOYW1lPSJvcGM6 +U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU +eXBlIE5hbWU9IkFjdGl2YXRlU2Vzc2lvblJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P +YmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BY3RpdmF0ZXMgYSBzZXNzaW9uIHdpdGgg +dGhlIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVx +dWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iQ2xpZW50U2lnbmF0dXJlIiBUeXBlTmFtZT0idG5zOlNpZ25hdHVyZURhdGEiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQ2xpZW50U29mdHdhcmVDZXJ0aWZpY2F0ZXMiIFR5 +cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnRTb2Z0d2Fy +ZUNlcnRpZmljYXRlcyIgVHlwZU5hbWU9InRuczpTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiBM +ZW5ndGhGaWVsZD0iTm9PZkNsaWVudFNvZnR3YXJlQ2VydGlmaWNhdGVzIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9PZkxvY2FsZUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkxvY2FsZUlkcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZp +ZWxkPSJOb09mTG9jYWxlSWRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcklkZW50aXR5 +VG9rZW4iIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJVc2VyVG9rZW5TaWduYXR1cmUiIFR5cGVOYW1lPSJ0bnM6U2lnbmF0dXJlRGF0YSIgLz4N +CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJB +Y3RpdmF0ZVNlc3Npb25SZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog +ICAgPG9wYzpEb2N1bWVudGF0aW9uPkFjdGl2YXRlcyBhIHNlc3Npb24gd2l0aCB0aGUgc2VydmVy +Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRl +ciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlNlcnZlck5vbmNlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0i +Tm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9z +IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3Rp +Y0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlh +Z25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj +dHVyZWRUeXBlIE5hbWU9IkNsb3NlU2Vzc2lvblJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp +b25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5DbG9zZXMgYSBzZXNzaW9uIHdpdGgg +dGhlIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVx +dWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iRGVsZXRlU3Vic2NyaXB0aW9ucyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0K +ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNs +b3NlU2Vzc2lvblJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8 +b3BjOkRvY3VtZW50YXRpb24+Q2xvc2VzIGEgc2Vzc2lvbiB3aXRoIHRoZSBzZXJ2ZXIuPC9vcGM6 +RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBl +TmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K +ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNhbmNlbFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpF +eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5DYW5jZWxzIGFuIG91dHN0 +YW5kaW5nIHJlcXVlc3QuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlJlcXVlc3RIYW5kbGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8 +L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNhbmNl +bFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3Vt +ZW50YXRpb24+Q2FuY2VscyBhbiBvdXRzdGFuZGluZyByZXF1ZXN0Ljwvb3BjOkRvY3VtZW50YXRp +b24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpS +ZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNhbmNlbENvdW50IiBUeXBl +TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpF +bnVtZXJhdGVkVHlwZSBOYW1lPSJOb2RlQXR0cmlidXRlc01hc2siIExlbmd0aEluQml0cz0iMzIi +Pg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYml0cyB1c2VkIHRvIHNwZWNpZnkgZGVmYXVs +dCBhdHRyaWJ1dGVzIGZvciBhIG5ldyBub2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVt +ZXJhdGVkVmFsdWUgTmFtZT0iQWNjZXNzTGV2ZWwiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IkFycmF5RGltZW5zaW9ucyIgVmFsdWU9IjIiIC8+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQnJvd3NlTmFtZSIgVmFsdWU9IjQiIC8+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ29udGFpbnNOb0xvb3BzIiBWYWx1ZT0iOCIgLz4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEYXRhVHlwZSIgVmFsdWU9IjE2IiAvPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRlc2NyaXB0aW9uIiBWYWx1ZT0iMzIiIC8+DQog +ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGlzcGxheU5hbWUiIFZhbHVlPSI2NCIgLz4N +CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJFdmVudE5vdGlmaWVyIiBWYWx1ZT0iMTI4 +IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkV4ZWN1dGFibGUiIFZhbHVlPSIy +NTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSGlzdG9yaXppbmciIFZhbHVl +PSI1MTIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW52ZXJzZU5hbWUiIFZh +bHVlPSIxMDI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IklzQWJzdHJhY3Qi +IFZhbHVlPSIyMDQ4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik1pbmltdW1T +YW1wbGluZ0ludGVydmFsIiBWYWx1ZT0iNDA5NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 +ZSBOYW1lPSJOb2RlQ2xhc3MiIFZhbHVlPSI4MTkyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh +bHVlIE5hbWU9Ik5vZGVJZCIgVmFsdWU9IjE2Mzg0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh +bHVlIE5hbWU9IlN5bW1ldHJpYyIgVmFsdWU9IjMyNzY4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRl +ZFZhbHVlIE5hbWU9IlVzZXJBY2Nlc3NMZXZlbCIgVmFsdWU9IjY1NTM2IiAvPg0KICAgIDxvcGM6 +RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVzZXJFeGVjdXRhYmxlIiBWYWx1ZT0iMTMxMDcyIiAvPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVzZXJXcml0ZU1hc2siIFZhbHVlPSIyNjIx +NDQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVmFsdWVSYW5rIiBWYWx1ZT0i +NTI0Mjg4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IldyaXRlTWFzayIgVmFs +dWU9IjEwNDg1NzYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVmFsdWUiIFZh +bHVlPSIyMDk3MTUyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRhdGFUeXBl +RGVmaW5pdGlvbiIgVmFsdWU9IjQxOTQzMDQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg +TmFtZT0iUm9sZVBlcm1pc3Npb25zIiBWYWx1ZT0iODM4ODYwOCIgLz4NCiAgICA8b3BjOkVudW1l +cmF0ZWRWYWx1ZSBOYW1lPSJBY2Nlc3NSZXN0cmljdGlvbnMiIFZhbHVlPSIxNjc3NzIxNiIgLz4N +CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBbGwiIFZhbHVlPSIzMzU1NDQzMSIgLz4N +CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCYXNlTm9kZSIgVmFsdWU9IjI2NTAxMjIw +IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik9iamVjdCIgVmFsdWU9IjI2NTAx +MzQ4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik9iamVjdFR5cGUiIFZhbHVl +PSIyNjUwMzI2OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJWYXJpYWJsZSIg +VmFsdWU9IjI2NTcxMzgzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZhcmlh +YmxlVHlwZSIgVmFsdWU9IjI4NjAwNDM4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h +bWU9Ik1ldGhvZCIgVmFsdWU9IjI2NjMyNTQ4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9IlJlZmVyZW5jZVR5cGUiIFZhbHVlPSIyNjUzNzA2MCIgLz4NCiAgICA8b3BjOkVudW1l +cmF0ZWRWYWx1ZSBOYW1lPSJWaWV3IiBWYWx1ZT0iMjY1MDEzNTYiIC8+DQogIDwvb3BjOkVudW1l +cmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm9kZUF0dHJpYnV0ZXMi +IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5U +aGUgYmFzZSBhdHRyaWJ1dGVzIGZvciBhbGwgbm9kZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUlu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpM +b2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVO +YW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNr +IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0 +ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N +Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik9iamVjdEF0dHJpYnV0ZXMiIEJhc2VUeXBl +PSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYXR0cmli +dXRlcyBmb3IgYW4gb2JqZWN0IG5vZGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3Vy +Y2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNw +bGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2Rl +QXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFt +ZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291 +cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNl +cldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0 +cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50Tm90aWZpZXIiIFR5cGVOYW1l +PSJvcGM6Qnl0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 +cmVkVHlwZSBOYW1lPSJWYXJpYWJsZUF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0dHJp +YnV0ZXMiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSB2YXJp +YWJsZSBub2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVj +aWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5v +ZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVO +YW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXpl +ZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpO +b2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5 +cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlZhbHVlUmFuayIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6 +VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkFycmF5RGltZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkFjY2Vzc0xldmVsIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJVc2VyQWNjZXNzTGV2ZWwiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik1pbmltdW1TYW1wbGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRv +dWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikhpc3Rvcml6aW5nIiBUeXBlTmFtZT0ib3Bj +OkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl +ZFR5cGUgTmFtZT0iTWV0aG9kQXR0cmlidXRlcyIgQmFzZVR5cGU9InRuczpOb2RlQXR0cmlidXRl +cyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVzIGZvciBhIG1ldGhvZCBu +b2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRB +dHRyaWJ1dGVzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRy +aWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1 +YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQi +IFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0 +cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1l +PSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJFeGVjdXRhYmxlIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJVc2VyRXhlY3V0YWJsZSIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAv +Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 +Ik9iamVjdFR5cGVBdHRyaWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAg +ICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGFuIG9iamVjdCB0eXBlIG5v +ZGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNwZWNpZmllZEF0 +dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJp +YnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVh +OkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIg +U291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +V3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRy +aWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9 +Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9v +cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJWYXJpYWJs +ZVR5cGVBdHRyaWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICA8b3Bj +OkRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGEgdmFyaWFibGUgdHlwZSBub2RlLjwv +b3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1 +dGVzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVz +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2Nh +bGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJj +ZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRl +TWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRl +cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6 +VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJEYXRhVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlZhbHVlUmFuayIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5n +dGhGaWVsZD0iTm9PZkFycmF5RGltZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Iklz +QWJzdHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 +cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWZlcmVuY2VUeXBlQXR0cmlidXRl +cyIgQmFzZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u +PlRoZSBhdHRyaWJ1dGVzIGZvciBhIHJlZmVyZW5jZSB0eXBlIG5vZGUuPC9vcGM6RG9jdW1lbnRh +dGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1l +PSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNv +dXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRl +c2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5v +ZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFt +ZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJj +ZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJz +dHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN5 +bW1ldHJpYyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +SW52ZXJzZU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFUeXBlQXR0cmli +dXRlcyIgQmFzZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpEb2N1bWVudGF0 +aW9uPlRoZSBhdHRyaWJ1dGVzIGZvciBhIGRhdGEgdHlwZSBub2RlLjwvb3BjOkRvY3VtZW50YXRp +b24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0i +b3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3Vy +Y2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNj +cmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2Rl +QXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9 +Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VU +eXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0Fic3Ry +YWN0IiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K +DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVmlld0F0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0 +bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRl +cyBmb3IgYSB2aWV3IG5vZGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBl +PSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFt +ZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmli +dXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6 +TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlw +ZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRl +TWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRl +cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbnRhaW5zTm9Mb29wcyIgVHlwZU5hbWU9Im9w +YzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnROb3RpZmllciIgVHlwZU5h +bWU9Im9wYzpCeXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj +dHVyZWRUeXBlIE5hbWU9IkdlbmVyaWNBdHRyaWJ1dGVWYWx1ZSIgQmFzZVR5cGU9InVhOkV4dGVu +c2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdHRyaWJ1dGVJZCIgVHlwZU5hbWU9 +Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVh +OlZhcmlhbnQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl +ZFR5cGUgTmFtZT0iR2VuZXJpY0F0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0 +ZXMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3BlY2lmaWVkQXR0cmlidXRlcyIgVHlwZU5hbWU9 +Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291 +cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVz +Y3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9k +ZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1l +PSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNl +VHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkF0 +dHJpYnV0ZVZhbHVlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkF0dHJpYnV0ZVZhbHVlcyIgVHlwZU5hbWU9InRuczpHZW5lcmljQXR0cmlidXRlVmFsdWUi +IExlbmd0aEZpZWxkPSJOb09mQXR0cmlidXRlVmFsdWVzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk +VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFkZE5vZGVzSXRlbSIgQmFzZVR5 +cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgcmVxdWVz +dCB0byBhZGQgYSBub2RlIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVu +dGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGFyZW50Tm9kZUlkIiBUeXBlTmFtZT0idWE6 +RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBlSWQi +IFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRO +ZXdOb2RlSWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVBdHRyaWJ1dGVzIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9u +T2JqZWN0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHlwZURlZmluaXRpb24iIFR5cGVOYW1l +PSJ1YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w +YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBZGROb2Rlc1Jlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVu +c2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgcmVzdWx0IG9mIGFuIGFkZCBu +b2RlIG9wZXJhdGlvbi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +U3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJBZGRlZE5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgPC9vcGM6U3RydWN0 +dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBZGROb2Rlc1JlcXVlc3Qi +IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5B +ZGRzIG9uZSBvciBtb3JlIG5vZGVzIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpE +b2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5h +bWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVz +VG9BZGQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rl +c1RvQWRkIiBUeXBlTmFtZT0idG5zOkFkZE5vZGVzSXRlbSIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rl +c1RvQWRkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU +eXBlIE5hbWU9IkFkZE5vZGVzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi +Pg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BZGRzIG9uZSBvciBtb3JlIG5vZGVzIHRvIHRoZSBz +ZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6QWRkTm9kZXNSZXN1 +bHQiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v +T2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVu +Z3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWRkUmVmZXJlbmNlc0l0ZW0iIEJhc2VU +eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHJlcXVl +c3QgdG8gYWRkIGEgcmVmZXJlbmNlIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpE +b2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU291cmNlTm9kZUlkIiBUeXBlTmFt +ZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlVHlwZUlkIiBU +eXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNGb3J3YXJkIiBU +eXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUYXJnZXRTZXJ2 +ZXJVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGFy +Z2V0Tm9kZUlkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJUYXJnZXROb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNzIiAvPg0KICA8 +L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFkZFJl +ZmVyZW5jZXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj +OkRvY3VtZW50YXRpb24+QWRkcyBvbmUgb3IgbW9yZSByZWZlcmVuY2VzIHRvIHRoZSBzZXJ2ZXIg +YWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +UmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXNUb0FkZCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXNUb0FkZCIgVHlwZU5hbWU9InRuczpBZGRS +ZWZlcmVuY2VzSXRlbSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2VzVG9BZGQiIC8+DQogIDwv +b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWRkUmVm +ZXJlbmNlc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj +OkRvY3VtZW50YXRpb24+QWRkcyBvbmUgb3IgbW9yZSByZWZlcmVuY2VzIHRvIHRoZSBzZXJ2ZXIg +YWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +UmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhG +aWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3Rp +Y0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlh +Z25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJO +b09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj +OlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZU5vZGVzSXRlbSIgQmFzZVR5cGU9InVhOkV4dGVu +c2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgcmVxdWVzdCB0byBkZWxldGUg +YSBub2RlIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iRGVsZXRlVGFyZ2V0UmVmZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpC +b29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU +eXBlIE5hbWU9IkRlbGV0ZU5vZGVzUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj +dCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkRlbGV0ZSBvbmUgb3IgbW9yZSBub2RlcyBmcm9t +IHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVzVG9EZWxldGUiIFR5cGVOYW1lPSJvcGM6 +SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rlc1RvRGVsZXRlIiBUeXBlTmFtZT0i +dG5zOkRlbGV0ZU5vZGVzSXRlbSIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvRGVsZXRlIiAvPg0K +ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRl +bGV0ZU5vZGVzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv +cGM6RG9jdW1lbnRhdGlvbj5EZWxldGUgb25lIG9yIG1vcmUgbm9kZXMgZnJvbSB0aGUgc2VydmVy +IGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3Ro +RmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0 +aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRp +YWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0i +Tm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w +YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVSZWZlcmVuY2VzSXRlbSIgQmFzZVR5cGU9InVh +OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgcmVxdWVzdCB0byBk +ZWxldGUgYSBub2RlIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRvY3VtZW50 +YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTb3VyY2VOb2RlSWQiIFR5cGVOYW1lPSJ1YTpO +b2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBlSWQiIFR5cGVOYW1l +PSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0ZvcndhcmQiIFR5cGVOYW1l +PSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldE5vZGVJZCIgVHlw +ZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVsZXRl +QmlkaXJlY3Rpb25hbCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNS +ZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50 +YXRpb24+RGVsZXRlIG9uZSBvciBtb3JlIHJlZmVyZW5jZXMgZnJvbSB0aGUgc2VydmVyIGFkZHJl +c3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVl +c3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vT2ZSZWZlcmVuY2VzVG9EZWxldGUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzVG9EZWxldGUiIFR5cGVOYW1lPSJ0bnM6RGVs +ZXRlUmVmZXJlbmNlc0l0ZW0iIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlc1RvRGVsZXRlIiAv +Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 +IkRlbGV0ZVJlZmVyZW5jZXNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ +DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkRlbGV0ZSBvbmUgb3IgbW9yZSByZWZlcmVuY2VzIGZy +b20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRl +ciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1 +c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIg +TGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iQXR0cmlidXRlV3JpdGVNYXNrIiBM +ZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+RGVmaW5lIGJpdHMgdXNl +ZCB0byBpbmRpY2F0ZSB3aGljaCBhdHRyaWJ1dGVzIGFyZSB3cml0YWJsZS48L29wYzpEb2N1bWVu dGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAv Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFjY2Vzc0xldmVsIiBWYWx1ZT0iMSIg Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBcnJheURpbWVuc2lvbnMiIFZhbHVl @@ -14902,2129 +15374,8593 @@ dWU9IjEzMTA3MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVc2VyV3JpdGVN YXNrIiBWYWx1ZT0iMjYyMTQ0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZh bHVlUmFuayIgVmFsdWU9IjUyNDI4OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l PSJXcml0ZU1hc2siIFZhbHVlPSIxMDQ4NTc2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9IlZhbHVlIiBWYWx1ZT0iMjA5NzE1MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJBbGwiIFZhbHVlPSI0MTk0MzAzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9IkJhc2VOb2RlIiBWYWx1ZT0iMTMzNTM5NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJPYmplY3QiIFZhbHVlPSIxMzM1NTI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRl -ZFZhbHVlIE5hbWU9Ik9iamVjdFR5cGVPckRhdGFUeXBlIiBWYWx1ZT0iMTMzNzQ0NCIgLz4NCiAg -ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJWYXJpYWJsZSIgVmFsdWU9IjQwMjY5OTkiIC8+ -DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVmFyaWFibGVUeXBlIiBWYWx1ZT0iMzk1 -ODkwMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJNZXRob2QiIFZhbHVlPSIx -NDY2NzI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlZmVyZW5jZVR5cGUi -IFZhbHVlPSIxMzcxMjM2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZpZXci -IFZhbHVlPSIxMzM1NTMyIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0 -cnVjdHVyZWRUeXBlIE5hbWU9Ik5vZGVBdHRyaWJ1dGVzIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u -T2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIGJhc2UgYXR0cmlidXRlcyBmb3Ig -YWxsIG5vZGVzLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVj -aWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJ -bnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJPYmplY3RBdHRyaWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4N -CiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGFuIG9iamVjdCBub2Rl -Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRy -aWJ1dGVzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1 -dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpM -b2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNv -dXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ildy -aXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmli -dXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJv -cGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJFdmVudE5vdGlmaWVyIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3Bj -OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVmFyaWFibGVB -dHRyaWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICA8b3BjOkRvY3Vt -ZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGEgdmFyaWFibGUgbm9kZS48L29wYzpEb2N1bWVu -dGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3BlY2lmaWVkQXR0cmlidXRlcyIgVHlwZU5h -bWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIg -U291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -RGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6 -Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVO -YW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291 -cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFs -dWUiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5 -cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZVJh -bmsiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXJy -YXlEaW1lbnNpb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5v -T2ZBcnJheURpbWVuc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBY2Nlc3NMZXZlbCIg -VHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlckFjY2Vzc0xl -dmVsIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNaW5pbXVt -U2FtcGxpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJIaXN0b3JpemluZyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpT -dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1ldGhvZEF0dHJp -YnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgIDxvcGM6RG9jdW1lbnRh -dGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSBtZXRob2Qgbm9kZS48L29wYzpEb2N1bWVudGF0aW9u -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3BlY2lmaWVkQXR0cmlidXRlcyIgVHlwZU5hbWU9Im9w -YzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNl -VHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3Jp -cHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0 -dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJv -cGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlw -ZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXhlY3V0YWJs -ZSIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlckV4 -ZWN1dGFibGUiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJPYmplY3RUeXBlQXR0cmlidXRlcyIg -QmFzZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRo -ZSBhdHRyaWJ1dGVzIGZvciBhbiBvYmplY3QgdHlwZSBub2RlLjwvb3BjOkRvY3VtZW50YXRpb24+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0ib3Bj -OlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VU -eXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlw -dGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0 -cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9w -YzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBl -PSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0Fic3RyYWN0 -IiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog -IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVmFyaWFibGVUeXBlQXR0cmlidXRlcyIgQmFzZVR5 -cGU9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSBhdHRy -aWJ1dGVzIGZvciBhIHZhcmlhYmxlIHR5cGUgbm9kZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iU3BlY2lmaWVkQXR0cmlidXRlcyIgVHlwZU5hbWU9Im9wYzpVSW50 -MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0i -dG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24i -IFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0 -ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5z -Ok5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWUiIFR5cGVOYW1l -PSJ1YTpWYXJpYW50IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5cGUiIFR5cGVOYW1l -PSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZVJhbmsiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXJyYXlEaW1lbnNpb25z -IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXJyYXlEaW1l -bnNpb25zIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBcnJheURpbWVu -c2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0Fic3RyYWN0IiBUeXBlTmFtZT0ib3Bj -OkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl -ZFR5cGUgTmFtZT0iUmVmZXJlbmNlVHlwZUF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0 -dHJpYnV0ZXMiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSBy -ZWZlcmVuY2UgdHlwZSBub2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlw -ZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5h -bWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJp -YnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVh -OkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5 -cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0 -ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0 -ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0Fic3RyYWN0IiBUeXBlTmFtZT0ib3BjOkJv -b2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTeW1tZXRyaWMiIFR5cGVOYW1lPSJvcGM6 -Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkludmVyc2VOYW1lIiBUeXBlTmFtZT0i -dWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT -dHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRhVHlwZUF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9k -ZUF0dHJpYnV0ZXMiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3Ig -YSBkYXRhIHR5cGUgbm9kZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iU3BlY2lmaWVkQXR0cmlidXRlcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9 -InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1l -IiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1 -dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpM -b2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBl -PSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVN -YXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVz -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNBYnN0cmFjdCIgVHlwZU5hbWU9Im9wYzpCb29s -ZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl -IE5hbWU9IlZpZXdBdHRyaWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAg -ICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGEgdmlldyBub2RlLjwvb3Bj -OkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVz -IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6 -ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5 -cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFz -ayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJDb250YWluc05vTG9vcHMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IkV2ZW50Tm90aWZpZXIiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgPC9v -cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBZGROb2Rl -c0l0ZW0iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRh -dGlvbj5BIHJlcXVlc3QgdG8gYWRkIGEgbm9kZSB0byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2Uu -PC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBhcmVudE5vZGVJZCIg -VHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVm -ZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iUmVxdWVzdGVkTmV3Tm9kZUlkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFt -ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2Rl -Q2xhc3MiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQXR0cmlidXRlcyIgVHlwZU5hbWU9 -InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlR5cGVEZWZpbml0 -aW9uIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWRkTm9kZXNSZXN1bHQiIEJhc2VU -eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHJlc3Vs -dCBvZiBhbiBhZGQgbm9kZSBvcGVyYXRpb24uPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iQWRkZWROb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWRk -Tm9kZXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRv -Y3VtZW50YXRpb24+QWRkcyBvbmUgb3IgbW9yZSBub2RlcyB0byB0aGUgc2VydmVyIGFkZHJlc3Mg -c3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RI -ZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ik5vT2ZOb2Rlc1RvQWRkIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9kZXNUb0FkZCIgVHlwZU5hbWU9InRuczpBZGROb2Rlc0l0ZW0iIExlbmd0aEZp -ZWxkPSJOb09mTm9kZXNUb0FkZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w -YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBZGROb2Rlc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0 -ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QWRkcyBvbmUgb3IgbW9yZSBu -b2RlcyB0byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNl -SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJv -cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idG5z -OkFkZE5vZGVzUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25v -c3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpT -dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFkZFJlZmVyZW5j -ZXNJdGVtIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50 -YXRpb24+QSByZXF1ZXN0IHRvIGFkZCBhIHJlZmVyZW5jZSB0byB0aGUgc2VydmVyIGFkZHJlc3Mg -c3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvdXJjZU5v -ZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVy -ZW5jZVR5cGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IklzRm9yd2FyZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iVGFyZ2V0U2VydmVyVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlRhcmdldE5vZGVJZCIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iVGFyZ2V0Tm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVD -bGFzcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJBZGRSZWZlcmVuY2VzUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj -dCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkFkZHMgb25lIG9yIG1vcmUgcmVmZXJlbmNlcyB0 -byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzVG9BZGQiIFR5cGVOYW1lPSJv -cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzVG9BZGQiIFR5cGVO -YW1lPSJ0bnM6QWRkUmVmZXJlbmNlc0l0ZW0iIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlc1Rv -QWRkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl -IE5hbWU9IkFkZFJlZmVyZW5jZXNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj -dCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkFkZHMgb25lIG9yIG1vcmUgcmVmZXJlbmNlcyB0 -byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50 -MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVz -Q29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Tm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBM -ZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVOb2Rlc0l0ZW0iIEJhc2VU -eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHJlcXVl -c3QgdG8gZGVsZXRlIGEgbm9kZSB0byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9j -dW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5v -ZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlbGV0ZVRhcmdldFJlZmVyZW5jZXMiIFR5 -cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w -YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVOb2Rlc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpF -eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5EZWxldGUgb25lIG9yIG1v -cmUgbm9kZXMgZnJvbSB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlv -bj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVx -dWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOb2Rlc1RvRGVsZXRlIiBU -eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZXNUb0RlbGV0 -ZSIgVHlwZU5hbWU9InRuczpEZWxldGVOb2Rlc0l0ZW0iIExlbmd0aEZpZWxkPSJOb09mTm9kZXNU -b0RlbGV0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk -VHlwZSBOYW1lPSJEZWxldGVOb2Rlc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq -ZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+RGVsZXRlIG9uZSBvciBtb3JlIG5vZGVzIGZy -b20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRl -ciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOklu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1 -c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIg -TGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlUmVmZXJlbmNlc0l0ZW0i -IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5B -IHJlcXVlc3QgdG8gZGVsZXRlIGEgbm9kZSBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48 -L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU291cmNlTm9kZUlkIiBU -eXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlVHlw -ZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNGb3J3 -YXJkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUYXJn -ZXROb2RlSWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkRlbGV0ZUJpZGlyZWN0aW9uYWwiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAg -PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxl -dGVSZWZlcmVuY2VzUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg -PG9wYzpEb2N1bWVudGF0aW9uPkRlbGV0ZSBvbmUgb3IgbW9yZSByZWZlcmVuY2VzIGZyb20gdGhl -IHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlc1RvRGVsZXRlIiBUeXBlTmFtZT0ib3Bj -OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlc1RvRGVsZXRlIiBUeXBl -TmFtZT0idG5zOkRlbGV0ZVJlZmVyZW5jZXNJdGVtIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5j -ZXNUb0RlbGV0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJEZWxldGVSZWZlcmVuY2VzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRl -bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5EZWxldGUgb25lIG9yIG1vcmUg -cmVmZXJlbmNlcyBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0 -aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6 -UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlw -ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVO -YW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlh -Z25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29w -YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkF0dHJpYnV0 -ZVdyaXRlTWFzayIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkRl -ZmluZSBiaXRzIHVzZWQgdG8gaW5kaWNhdGUgd2hpY2ggYXR0cmlidXRlcyBhcmUgd3JpdGFibGUu -PC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25l -IiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBY2Nlc3NMZXZl -bCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQXJyYXlEaW1l -bnNpb25zIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCcm93 -c2VOYW1lIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDb250 -YWluc05vTG9vcHMiIFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 -IkRhdGFUeXBlIiBWYWx1ZT0iMTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i -RGVzY3JpcHRpb24iIFZhbHVlPSIzMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l -PSJEaXNwbGF5TmFtZSIgVmFsdWU9IjY0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9IkV2ZW50Tm90aWZpZXIiIFZhbHVlPSIxMjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs -dWUgTmFtZT0iRXhlY3V0YWJsZSIgVmFsdWU9IjI1NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJIaXN0b3JpemluZyIgVmFsdWU9IjUxMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0 -ZWRWYWx1ZSBOYW1lPSJJbnZlcnNlTmFtZSIgVmFsdWU9IjEwMjQiIC8+DQogICAgPG9wYzpFbnVt -ZXJhdGVkVmFsdWUgTmFtZT0iSXNBYnN0cmFjdCIgVmFsdWU9IjIwNDgiIC8+DQogICAgPG9wYzpF -bnVtZXJhdGVkVmFsdWUgTmFtZT0iTWluaW11bVNhbXBsaW5nSW50ZXJ2YWwiIFZhbHVlPSI0MDk2 -IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vZGVDbGFzcyIgVmFsdWU9Ijgx -OTIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9kZUlkIiBWYWx1ZT0iMTYz -ODQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3ltbWV0cmljIiBWYWx1ZT0i -MzI3NjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVXNlckFjY2Vzc0xldmVs -IiBWYWx1ZT0iNjU1MzYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVXNlckV4 -ZWN1dGFibGUiIFZhbHVlPSIxMzEwNzIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt -ZT0iVXNlcldyaXRlTWFzayIgVmFsdWU9IjI2MjE0NCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJWYWx1ZVJhbmsiIFZhbHVlPSI1MjQyODgiIC8+DQogICAgPG9wYzpFbnVtZXJh -dGVkVmFsdWUgTmFtZT0iV3JpdGVNYXNrIiBWYWx1ZT0iMTA0ODU3NiIgLz4NCiAgICA8b3BjOkVu -dW1lcmF0ZWRWYWx1ZSBOYW1lPSJWYWx1ZUZvclZhcmlhYmxlVHlwZSIgVmFsdWU9IjIwOTcxNTIi -IC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFt -ZT0iQnJvd3NlRGlyZWN0aW9uIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50 -YXRpb24+VGhlIGRpcmVjdGlvbnMgb2YgdGhlIHJlZmVyZW5jZXMgdG8gcmV0dXJuLjwvb3BjOkRv -Y3VtZW50YXRpb24+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRm9yd2FyZCIgVmFs -dWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW52ZXJzZSIgVmFsdWU9 -IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQm90aCIgVmFsdWU9IjIiIC8+ -DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW52YWxpZCIgVmFsdWU9IjMiIC8+DQog -IDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVmll -d0Rlc2NyaXB0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRv -Y3VtZW50YXRpb24+VGhlIHZpZXcgdG8gYnJvd3NlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJWaWV3SWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJUaW1lc3RhbXAiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJWaWV3VmVyc2lvbiIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJv -d3NlRGVzY3JpcHRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 -RG9jdW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8gYnJvd3NlIHRoZSB0aGUgcmVmZXJlbmNlcyBmcm9t -IGEgbm9kZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlk -IiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlRGly -ZWN0aW9uIiBUeXBlTmFtZT0idG5zOkJyb3dzZURpcmVjdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IkluY2x1ZGVTdWJ0eXBlcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNsYXNzTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQz -MiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBO -YW1lPSJCcm93c2VSZXN1bHRNYXNrIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3Vt -ZW50YXRpb24+QSBiaXQgbWFzayB3aGljaCBzcGVjaWZpZXMgd2hhdCBzaG91bGQgYmUgcmV0dXJu -ZWQgaW4gYSBicm93c2UgcmVzcG9uc2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkVu -dW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25lIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0 -ZWRWYWx1ZSBOYW1lPSJSZWZlcmVuY2VUeXBlSWQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9IklzRm9yd2FyZCIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVt -ZXJhdGVkVmFsdWUgTmFtZT0iTm9kZUNsYXNzIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1l -cmF0ZWRWYWx1ZSBOYW1lPSJCcm93c2VOYW1lIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1l -cmF0ZWRWYWx1ZSBOYW1lPSJEaXNwbGF5TmFtZSIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9IlR5cGVEZWZpbml0aW9uIiBWYWx1ZT0iMzIiIC8+DQogICAgPG9w -YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQWxsIiBWYWx1ZT0iNjMiIC8+DQogICAgPG9wYzpFbnVt -ZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlVHlwZUluZm8iIFZhbHVlPSIzIiAvPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlRhcmdldEluZm8iIFZhbHVlPSI2MCIgLz4NCiAgPC9v -cGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWZlcmVu -Y2VEZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpE -b2N1bWVudGF0aW9uPlRoZSBkZXNjcmlwdGlvbiBvZiBhIHJlZmVyZW5jZS48L29wYzpEb2N1bWVu -dGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0i -dWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNGb3J3YXJkIiBUeXBlTmFtZT0i -b3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1 -YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5hbWUiIFR5 -cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxh -eU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlR5cGVEZWZpbml0aW9uIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJDb250aW51 -YXRpb25Qb2ludCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkFuIGlkZW50aWZpZXIgZm9yIGEg -c3VzcGVuZGVkIHF1ZXJ5IG9yIGJyb3dzZSBvcGVyYXRpb24uPC9vcGM6RG9jdW1lbnRhdGlvbj4N -CiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb3dz -ZVJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVu -dGF0aW9uPlRoZSByZXN1bHQgb2YgYSBicm93c2Ugb3BlcmF0aW9uLjwvb3BjOkRvY3VtZW50YXRp -b24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVz -Q29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiBUeXBlTmFt -ZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNl -cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5j -ZXMiIFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlRGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09m -UmVmZXJlbmNlcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJCcm93c2VSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 -Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QnJvd3NlIHRoZSByZWZlcmVuY2VzIGZvciBvbmUg -b3IgbW9yZSBub2RlcyBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVu -dGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRu -czpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmlldyIgVHlwZU5hbWU9 -InRuczpWaWV3RGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRN -YXhSZWZlcmVuY2VzUGVyTm9kZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJOb09mTm9kZXNUb0Jyb3dzZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVzVG9Ccm93c2UiIFR5cGVOYW1lPSJ0bnM6QnJvd3NlRGVz -Y3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mTm9kZXNUb0Jyb3dzZSIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm93c2VSZXNwb25z -ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u -PkJyb3dzZSB0aGUgcmVmZXJlbmNlcyBmb3Igb25lIG9yIG1vcmUgbm9kZXMgZnJvbSB0aGUgc2Vy -dmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idG5zOkJyb3dzZVJlc3VsdCIg -TGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRp -YWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhG -aWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm93c2VOZXh0UmVxdWVzdCIgQmFzZVR5cGU9 -InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkNvbnRpbnVlcyBv -bmUgb3IgbW9yZSBicm93c2Ugb3BlcmF0aW9ucy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVsZWFzZUNvbnRpbnVhdGlvblBvaW50cyIgVHlw -ZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkNvbnRpbnVh -dGlvblBvaW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkNvbnRpbnVhdGlvblBvaW50cyIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiBMZW5ndGhGaWVs -ZD0iTm9PZkNvbnRpbnVhdGlvblBvaW50cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm93c2VOZXh0UmVzcG9uc2UiIEJhc2VUeXBl -PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5Db250aW51ZXMg -b25lIG9yIG1vcmUgYnJvd3NlIG9wZXJhdGlvbnMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVh -ZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6 -SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idG5zOkJy -b3dzZVJlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJ -bmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0 -dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWxhdGl2ZVBhdGhFbGVt -ZW50IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRp -b24+QW4gZWxlbWVudCBpbiBhIHJlbGF0aXZlIHBhdGguPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzSW52ZXJzZSIgVHlwZU5hbWU9Im9wYzpCb29sZWFu -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5jbHVkZVN1YnR5cGVzIiBUeXBlTmFtZT0ib3Bj -OkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUYXJnZXROYW1lIiBUeXBlTmFtZT0i -dWE6UXVhbGlmaWVkTmFtZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT -dHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWxhdGl2ZVBhdGgiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P -YmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHJlbGF0aXZlIHBhdGggY29uc3RydWN0 -ZWQgZnJvbSByZWZlcmVuY2UgdHlwZXMgYW5kIGJyb3dzZSBuYW1lcy48L29wYzpEb2N1bWVudGF0 -aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkVsZW1lbnRzIiBUeXBlTmFtZT0ib3BjOklu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRWxlbWVudHMiIFR5cGVOYW1lPSJ0bnM6UmVs -YXRpdmVQYXRoRWxlbWVudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZFbGVtZW50cyIgLz4NCiAgPC9vcGM6 -U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm93c2VQYXRo -IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+ -QSByZXF1ZXN0IHRvIHRyYW5zbGF0ZSBhIHBhdGggaW50byBhIG5vZGUgaWQuPC9vcGM6RG9jdW1l -bnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXJ0aW5nTm9kZSIgVHlwZU5hbWU9InVh -Ok5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlbGF0aXZlUGF0aCIgVHlwZU5hbWU9 -InRuczpSZWxhdGl2ZVBhdGgiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 -U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJvd3NlUGF0aFRhcmdldCIgQmFzZVR5cGU9InVhOkV4dGVu -c2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSB0YXJnZXQgb2YgdGhlIHRy -YW5zbGF0ZWQgcGF0aC48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -VGFyZ2V0SWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlJlbWFpbmluZ1BhdGhJbmRleCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwv +IE5hbWU9IlZhbHVlRm9yVmFyaWFibGVUeXBlIiBWYWx1ZT0iMjA5NzE1MiIgLz4NCiAgICA8b3Bj +OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEYXRhVHlwZURlZmluaXRpb24iIFZhbHVlPSI0MTk0MzA0 +IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJvbGVQZXJtaXNzaW9ucyIgVmFs +dWU9IjgzODg2MDgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQWNjZXNzUmVz +dHJpY3Rpb25zIiBWYWx1ZT0iMTY3NzcyMTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg +TmFtZT0iQWNjZXNzTGV2ZWxFeCIgVmFsdWU9IjMzNTU0NDMyIiAvPg0KICA8L29wYzpFbnVtZXJh +dGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkJyb3dzZURpcmVjdGlvbiIg +TGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSBkaXJlY3Rpb25z +IG9mIHRoZSByZWZlcmVuY2VzIHRvIHJldHVybi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxv +cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkZvcndhcmQiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6 +RW51bWVyYXRlZFZhbHVlIE5hbWU9IkludmVyc2UiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IkJvdGgiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRl +ZFZhbHVlIE5hbWU9IkludmFsaWQiIFZhbHVlPSIzIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlZpZXdEZXNjcmlwdGlvbiIgQmFzZVR5 +cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSB2aWV3 +IHRvIGJyb3dzZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmll +d0lkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGltZXN0 +YW1wIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmll +d1ZlcnNpb24iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb3dzZURlc2NyaXB0aW9uIiBCYXNl +VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSByZXF1 +ZXN0IHRvIGJyb3dzZSB0aGUgdGhlIHJlZmVyZW5jZXMgZnJvbSBhIG5vZGUuPC9vcGM6RG9jdW1l +bnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJ +ZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZURpcmVjdGlvbiIgVHlwZU5hbWU9InRu +czpCcm93c2VEaXJlY3Rpb24iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBl +SWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbmNsdWRl +U3VidHlwZXMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5vZGVDbGFzc01hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iUmVzdWx0TWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVj +dHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iQnJvd3NlUmVzdWx0TWFz +ayIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgYml0IG1hc2sg +d2hpY2ggc3BlY2lmaWVzIHdoYXQgc2hvdWxkIGJlIHJldHVybmVkIGluIGEgYnJvd3NlIHJlc3Bv +bnNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i +Tm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJl +bmNlVHlwZUlkIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJ +c0ZvcndhcmQiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5v +ZGVDbGFzcyIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQnJv +d3NlTmFtZSIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGlz +cGxheU5hbWUiIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJU +eXBlRGVmaW5pdGlvbiIgVmFsdWU9IjMyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h +bWU9IkFsbCIgVmFsdWU9IjYzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJl +ZmVyZW5jZVR5cGVJbmZvIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO +YW1lPSJUYXJnZXRJbmZvIiBWYWx1ZT0iNjAiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0K +DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVmZXJlbmNlRGVzY3JpcHRpb24iIEJhc2VU +eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgZGVz +Y3JpcHRpb24gb2YgYSByZWZlcmVuY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IklzRm9yd2FyZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVk +TmFtZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6 +TG9jYWxpemVkVGV4dCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5h +bWU9InRuczpOb2RlQ2xhc3MiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUeXBlRGVmaW5pdGlv +biIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw +ZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iQ29udGludWF0aW9uUG9pbnQiPg0KICAgIDxv +cGM6RG9jdW1lbnRhdGlvbj5BbiBpZGVudGlmaWVyIGZvciBhIHN1c3BlbmRlZCBxdWVyeSBvciBi +cm93c2Ugb3BlcmF0aW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+ +DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm93c2VSZXN1bHQiIEJhc2VUeXBlPSJ1 +YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgcmVzdWx0IG9m +IGEgYnJvd3NlIG9wZXJhdGlvbi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJDb250aW51YXRpb25Qb2ludCIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBlTmFtZT0idG5zOlJl +ZmVyZW5jZURlc2NyaXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogIDwv b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJvd3Nl -UGF0aFJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1 -bWVudGF0aW9uPlRoZSByZXN1bHQgb2YgYSB0cmFuc2xhdGUgb3BlYXJhdGlvbi48L29wYzpEb2N1 -bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVh -OlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVGFyZ2V0cyIgVHlwZU5h -bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldHMiIFR5cGVOYW1l -PSJ0bnM6QnJvd3NlUGF0aFRhcmdldCIgTGVuZ3RoRmllbGQ9Ik5vT2ZUYXJnZXRzIiAvPg0KICA8 -L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRyYW5z -bGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i -amVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRyYW5zbGF0ZXMgb25lIG9yIG1vcmUgcGF0 -aHMgaW4gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFk -ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQnJvd3NlUGF0aHMiIFR5cGVOYW1lPSJv -cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VQYXRocyIgVHlwZU5hbWU9 -InRuczpCcm93c2VQYXRoIiBMZW5ndGhGaWVsZD0iTm9PZkJyb3dzZVBhdGhzIiAvPg0KICA8L29w -YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRyYW5zbGF0 -ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl -Y3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UcmFuc2xhdGVzIG9uZSBvciBtb3JlIHBhdGhz -IGluIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFk -ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJ -bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6QnJv -d3NlUGF0aFJlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0 -aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWdpc3Rlck5vZGVz UmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVu -dGF0aW9uPlJlZ2lzdGVycyBvbmUgb3IgbW9yZSBub2RlcyBmb3IgcmVwZWF0ZWQgdXNlIHdpdGhp -biBhIHNlc3Npb24uPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl -cXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZOb2Rlc1RvUmVnaXN0ZXIiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rlc1RvUmVnaXN0ZXIiIFR5cGVOYW1lPSJ1YTpOb2RlSWQi -IExlbmd0aEZpZWxkPSJOb09mTm9kZXNUb1JlZ2lzdGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlZ2lzdGVyTm9kZXNSZXNwb25z -ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u -PlJlZ2lzdGVycyBvbmUgb3IgbW9yZSBub2RlcyBmb3IgcmVwZWF0ZWQgdXNlIHdpdGhpbiBhIHNl -c3Npb24uPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNl -SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTm9PZlJlZ2lzdGVyZWROb2RlSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iUmVnaXN0ZXJlZE5vZGVJZHMiIFR5cGVOYW1lPSJ1YTpOb2RlSWQi -IExlbmd0aEZpZWxkPSJOb09mUmVnaXN0ZXJlZE5vZGVJZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVW5yZWdpc3Rlck5vZGVzUmVx -dWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0 -aW9uPlVucmVnaXN0ZXJzIG9uZSBvciBtb3JlIHByZXZpb3VzbHkgcmVnaXN0ZXJlZCBub2Rlcy48 -L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIg -VHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P -Zk5vZGVzVG9VbnJlZ2lzdGVyIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9kZXNUb1VucmVnaXN0ZXIiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIExlbmd0aEZp -ZWxkPSJOb09mTm9kZXNUb1VucmVnaXN0ZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K -DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVW5yZWdpc3Rlck5vZGVzUmVzcG9uc2UiIEJh -c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5VbnJl -Z2lzdGVycyBvbmUgb3IgbW9yZSBwcmV2aW91c2x5IHJlZ2lzdGVyZWQgbm9kZXMuPC9vcGM6RG9j -dW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFt -ZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 -b3BjOk9wYXF1ZVR5cGUgTmFtZT0iQ291bnRlciI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEg -bW9ub3RvbmljYWxseSBpbmNyZWFzaW5nIHZhbHVlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwv -b3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9Ik51bWVyaWNSYW5nZSI+ -DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlNwZWNpZmllcyBhIHJhbmdlIG9mIGFycmF5IGluZGV4 -ZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9w -YXF1ZVR5cGUgTmFtZT0iVGltZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgdGltZSB2YWx1 -ZSBzcGVjaWZpZWQgYXMgSEg6TU06U1MuU1NTLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3Bj -Ok9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkRhdGUiPg0KICAgIDxvcGM6 -RG9jdW1lbnRhdGlvbj5BIGRhdGUgdmFsdWUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6 -T3BhcXVlVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkVuZHBvaW50Q29uZmln -dXJhdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJPcGVyYXRpb25UaW1lb3V0IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iVXNlQmluYXJ5RW5jb2RpbmciIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heFN0cmluZ0xlbmd0aCIgVHlwZU5hbWU9Im9wYzpJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heEJ5dGVTdHJpbmdMZW5ndGgiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhBcnJheUxlbmd0aCIgVHlw -ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heE1lc3NhZ2VTaXpl -IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4QnVmZmVy -U2l6ZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNoYW5u -ZWxMaWZldGltZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlNlY3VyaXR5VG9rZW5MaWZldGltZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgPC9vcGM6 -U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJRdWVyeURhdGFE -ZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJSZWxhdGl2ZVBhdGgiIFR5cGVOYW1lPSJ0bnM6UmVsYXRpdmVQYXRoIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iQXR0cmlidXRlSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iSW5kZXhSYW5nZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+ +dGF0aW9uPkJyb3dzZSB0aGUgcmVmZXJlbmNlcyBmb3Igb25lIG9yIG1vcmUgbm9kZXMgZnJvbSB0 +aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlZpZXciIFR5cGVOYW1lPSJ0bnM6Vmlld0Rlc2NyaXB0aW9u +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkTWF4UmVmZXJlbmNlc1Blck5vZGUi +IFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVz +VG9Ccm93c2UiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO +b2Rlc1RvQnJvd3NlIiBUeXBlTmFtZT0idG5zOkJyb3dzZURlc2NyaXB0aW9uIiBMZW5ndGhGaWVs +ZD0iTm9PZk5vZGVzVG9Ccm93c2UiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv +cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJvd3NlUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRl +bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5Ccm93c2UgdGhlIHJlZmVyZW5j +ZXMgZm9yIG9uZSBvciBtb3JlIG5vZGVzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwv +b3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIg +VHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v +T2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +UmVzdWx0cyIgVHlwZU5hbWU9InRuczpCcm93c2VSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUmVz +dWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVO +YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3Mi +IFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGlj +SW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iQnJvd3NlTmV4dFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi +Pg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5Db250aW51ZXMgb25lIG9yIG1vcmUgYnJvd3NlIG9w +ZXJhdGlvbnMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVl +c3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlJlbGVhc2VDb250aW51YXRpb25Qb2ludHMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZDb250aW51YXRpb25Qb2ludHMiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb250aW51YXRpb25Qb2ludHMi +IFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZDb250aW51YXRpb25Q +b2ludHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iQnJvd3NlTmV4dFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q29udGludWVzIG9uZSBvciBtb3JlIGJyb3dzZSBv +cGVyYXRpb25zLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNw +b25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InRuczpCcm93c2VSZXN1bHQiIExlbmd0aEZp +ZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGlj +SW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFn +bm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5v +T2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVsYXRpdmVQYXRoRWxlbWVudCIgQmFzZVR5cGU9InVhOkV4 +dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkFuIGVsZW1lbnQgaW4gYSBy +ZWxhdGl2ZSBwYXRoLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS +ZWZlcmVuY2VUeXBlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJJc0ludmVyc2UiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkluY2x1ZGVTdWJ0eXBlcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iVGFyZ2V0TmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIC8+ DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i -Tm9kZVR5cGVEZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJUeXBlRGVmaW5pdGlvbk5vZGUiIFR5cGVOYW1lPSJ1YTpFeHBhbmRl -ZE5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkluY2x1ZGVTdWJUeXBlcyIgVHlwZU5h -bWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRhdGFUb1JldHVy -biIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFUb1Jl -dHVybiIgVHlwZU5hbWU9InRuczpRdWVyeURhdGFEZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5v -T2ZEYXRhVG9SZXR1cm4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51 -bWVyYXRlZFR5cGUgTmFtZT0iRmlsdGVyT3BlcmF0b3IiIExlbmd0aEluQml0cz0iMzIiPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkVxdWFscyIgVmFsdWU9IjAiIC8+DQogICAgPG9w -YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNOdWxsIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVu -dW1lcmF0ZWRWYWx1ZSBOYW1lPSJHcmVhdGVyVGhhbiIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpF -bnVtZXJhdGVkVmFsdWUgTmFtZT0iTGVzc1RoYW4iIFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9IkdyZWF0ZXJUaGFuT3JFcXVhbCIgVmFsdWU9IjQiIC8+DQogICAg -PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTGVzc1RoYW5PckVxdWFsIiBWYWx1ZT0iNSIgLz4N -CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJMaWtlIiBWYWx1ZT0iNiIgLz4NCiAgICA8 -b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb3QiIFZhbHVlPSI3IiAvPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9IkJldHdlZW4iIFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6RW51bWVy -YXRlZFZhbHVlIE5hbWU9IkluTGlzdCIgVmFsdWU9IjkiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk -VmFsdWUgTmFtZT0iQW5kIiBWYWx1ZT0iMTAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iT3IiIFZhbHVlPSIxMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJD -YXN0IiBWYWx1ZT0iMTIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW5WaWV3 -IiBWYWx1ZT0iMTMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iT2ZUeXBlIiBW -YWx1ZT0iMTQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVsYXRlZFRvIiBW -YWx1ZT0iMTUiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQml0d2lzZUFuZCIg -VmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJpdHdpc2VPciIg -VmFsdWU9IjE3IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy -ZWRUeXBlIE5hbWU9IlF1ZXJ5RGF0YVNldCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJ -ZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlR5cGVEZWZpbml0aW9uTm9kZSIgVHlwZU5hbWU9 -InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlZhbHVlcyIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlcyIgVHlw -ZU5hbWU9InVhOlZhcmlhbnQiIExlbmd0aEZpZWxkPSJOb09mVmFsdWVzIiAvPg0KICA8L29wYzpT -dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik5vZGVSZWZlcmVu -Y2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Tm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVm -ZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iSXNGb3J3YXJkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb09mUmVmZXJlbmNlZE5vZGVJZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VkTm9kZUlkcyIgVHlwZU5hbWU9InVhOk5vZGVJZCIg -TGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2VkTm9kZUlkcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl -ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDb250ZW50RmlsdGVyRWxlbWVu -dCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJG -aWx0ZXJPcGVyYXRvciIgVHlwZU5hbWU9InRuczpGaWx0ZXJPcGVyYXRvciIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vT2ZGaWx0ZXJPcGVyYW5kcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRlck9wZXJhbmRzIiBUeXBlTmFtZT0idWE6RXh0ZW5z -aW9uT2JqZWN0IiBMZW5ndGhGaWVsZD0iTm9PZkZpbHRlck9wZXJhbmRzIiAvPg0KICA8L29wYzpT -dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNvbnRlbnRGaWx0 -ZXIiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Tm9PZkVsZW1lbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iRWxlbWVudHMiIFR5cGVOYW1lPSJ0bnM6Q29udGVudEZpbHRlckVsZW1lbnQiIExlbmd0aEZp -ZWxkPSJOb09mRWxlbWVudHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 -U3RydWN0dXJlZFR5cGUgTmFtZT0iRmlsdGVyT3BlcmFuZCIgQmFzZVR5cGU9InVhOkV4dGVuc2lv -bk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iRWxlbWVudE9wZXJhbmQiIEJhc2VUeXBlPSJ0bnM6RmlsdGVyT3BlcmFuZCI+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJJbmRleCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwv -b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTGl0ZXJh -bE9wZXJhbmQiIEJhc2VUeXBlPSJ0bnM6RmlsdGVyT3BlcmFuZCI+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQXR0cmlidXRlT3BlcmFuZCIgQmFz -ZVR5cGU9InRuczpGaWx0ZXJPcGVyYW5kIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIg -VHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFsaWFzIiBUeXBl -TmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZVBhdGgiIFR5 -cGVOYW1lPSJ0bnM6UmVsYXRpdmVQYXRoIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXR0cmli -dXRlSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5k -ZXhSYW5nZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl -Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2ltcGxlQXR0cmlidXRlT3BlcmFuZCIg -QmFzZVR5cGU9InRuczpGaWx0ZXJPcGVyYW5kIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlR5cGVE -ZWZpbml0aW9uSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJOb09mQnJvd3NlUGF0aCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkJyb3dzZVBhdGgiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBMZW5ndGhGaWVs -ZD0iTm9PZkJyb3dzZVBhdGgiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdHRyaWJ1dGVJZCIg -VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbmRleFJhbmdl -IiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg -PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIgQmFz -ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXND -b2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v -T2ZPcGVyYW5kU3RhdHVzQ29kZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJPcGVyYW5kU3RhdHVzQ29kZXMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBM -ZW5ndGhGaWVsZD0iTm9PZk9wZXJhbmRTdGF0dXNDb2RlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ik5vT2ZPcGVyYW5kRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iT3BlcmFuZERpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVh -OkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZk9wZXJhbmREaWFnbm9zdGljSW5mb3Mi -IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt -ZT0iQ29udGVudEZpbHRlclJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRWxlbWVudFJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50 -MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbGVtZW50UmVzdWx0cyIgVHlwZU5hbWU9InRu -czpDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZFbGVtZW50UmVz -dWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFbGVtZW50RGlhZ25vc3RpY0luZm9z -IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRWxlbWVudERp -YWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0i -Tm9PZkVsZW1lbnREaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K -DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUGFyc2luZ1Jlc3VsdCIgQmFzZVR5cGU9InVh -OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBl -TmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEYXRhU3Rh -dHVzQ29kZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE -YXRhU3RhdHVzQ29kZXMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9P -ZkRhdGFTdGF0dXNDb2RlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEYXRhRGlhZ25v -c3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -RGF0YURpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhG -aWVsZD0iTm9PZkRhdGFEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl -Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUXVlcnlGaXJzdFJlcXVlc3QiIEJhc2VU -eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhl -YWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iVmlldyIgVHlwZU5hbWU9InRuczpWaWV3RGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOb09mTm9kZVR5cGVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iTm9kZVR5cGVzIiBUeXBlTmFtZT0idG5zOk5vZGVUeXBlRGVzY3JpcHRpb24i -IExlbmd0aEZpZWxkPSJOb09mTm9kZVR5cGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmls -dGVyIiBUeXBlTmFtZT0idG5zOkNvbnRlbnRGaWx0ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJNYXhEYXRhU2V0c1RvUmV0dXJuIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik1heFJlZmVyZW5jZXNUb1JldHVybiIgVHlwZU5hbWU9Im9wYzpVSW50MzIi -IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt -ZT0iUXVlcnlGaXJzdFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNl -SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlF1ZXJ5RGF0YVNldHMiIFR5cGVO -YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJRdWVyeURhdGFTZXRzIiBU -eXBlTmFtZT0idG5zOlF1ZXJ5RGF0YVNldCIgTGVuZ3RoRmllbGQ9Ik5vT2ZRdWVyeURhdGFTZXRz -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29udGludWF0aW9uUG9pbnQiIFR5cGVOYW1lPSJv -cGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZQYXJzaW5nUmVzdWx0 -cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBhcnNpbmdS -ZXN1bHRzIiBUeXBlTmFtZT0idG5zOlBhcnNpbmdSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUGFy -c2luZ1Jlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9z -IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3Rp -Y0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlh -Z25vc3RpY0luZm9zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmlsdGVyUmVzdWx0IiBUeXBl -TmFtZT0idG5zOkNvbnRlbnRGaWx0ZXJSZXN1bHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl -Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUXVlcnlOZXh0UmVxdWVzdCIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVh -ZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJSZWxlYXNlQ29udGludWF0aW9uUG9pbnQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiBUeXBlTmFtZT0ib3BjOkJ5dGVT -dHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iUXVlcnlOZXh0UmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVz -cG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUXVlcnlEYXRhU2V0cyIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlF1ZXJ5RGF0YVNl -dHMiIFR5cGVOYW1lPSJ0bnM6UXVlcnlEYXRhU2V0IiBMZW5ndGhGaWVsZD0iTm9PZlF1ZXJ5RGF0 -YVNldHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkQ29udGludWF0aW9uUG9pbnQi -IFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iIExlbmd0aElu -Qml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNvdXJjZSIgVmFsdWU9 -IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU2VydmVyIiBWYWx1ZT0iMSIg -Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCb3RoIiBWYWx1ZT0iMiIgLz4NCiAg -ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOZWl0aGVyIiBWYWx1ZT0iMyIgLz4NCiAgICA8 -b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnZhbGlkIiBWYWx1ZT0iNCIgLz4NCiAgPC9vcGM6 -RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWFkVmFsdWVJ -ZCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO -b2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdHRy -aWJ1dGVJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJ -bmRleFJhbmdlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkRhdGFFbmNvZGluZyIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIC8+DQogIDwvb3BjOlN0 -cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVhZFJlcXVlc3Qi -IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVx +UmVsYXRpdmVQYXRoIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRv +Y3VtZW50YXRpb24+QSByZWxhdGl2ZSBwYXRoIGNvbnN0cnVjdGVkIGZyb20gcmVmZXJlbmNlIHR5 +cGVzIGFuZCBicm93c2UgbmFtZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vT2ZFbGVtZW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkVsZW1lbnRzIiBUeXBlTmFtZT0idG5zOlJlbGF0aXZlUGF0aEVsZW1lbnQiIExl +bmd0aEZpZWxkPSJOb09mRWxlbWVudHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog +IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJvd3NlUGF0aCIgQmFzZVR5cGU9InVhOkV4dGVu +c2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgcmVxdWVzdCB0byB0cmFuc2xh +dGUgYSBwYXRoIGludG8gYSBub2RlIGlkLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJTdGFydGluZ05vZGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJSZWxhdGl2ZVBhdGgiIFR5cGVOYW1lPSJ0bnM6UmVsYXRpdmVQYXRoIiAv +Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 +IkJyb3dzZVBhdGhUYXJnZXQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv +cGM6RG9jdW1lbnRhdGlvbj5UaGUgdGFyZ2V0IG9mIHRoZSB0cmFuc2xhdGVkIHBhdGguPC9vcGM6 +RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldElkIiBUeXBlTmFtZT0i +dWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZW1haW5pbmdQYXRo +SW5kZXgiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N +Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb3dzZVBhdGhSZXN1bHQiIEJhc2VUeXBl +PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgcmVzdWx0 +IG9mIGEgdHJhbnNsYXRlIG9wZWFyYXRpb24uPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTm9PZlRhcmdldHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJUYXJnZXRzIiBUeXBlTmFtZT0idG5zOkJyb3dzZVBhdGhUYXJn +ZXQiIExlbmd0aEZpZWxkPSJOb09mVGFyZ2V0cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ +DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJUcmFuc2xhdGVCcm93c2VQYXRoc1RvTm9k +ZUlkc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9j +dW1lbnRhdGlvbj5UcmFuc2xhdGVzIG9uZSBvciBtb3JlIHBhdGhzIGluIHRoZSBzZXJ2ZXIgYWRk +cmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVx dWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTWF4QWdlIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlRpbWVzdGFtcHNUb1JldHVybiIgVHlwZU5hbWU9InRuczpUaW1lc3RhbXBzVG9SZXR1 -cm4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTm9kZXNUb1JlYWQiIFR5cGVOYW1lPSJv -cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rlc1RvUmVhZCIgVHlwZU5hbWU9 -InRuczpSZWFkVmFsdWVJZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvUmVhZCIgLz4NCiAgPC9v -cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWFkUmVz -cG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpEYXRhVmFsdWUiIExlbmd0 +bGQgTmFtZT0iTm9PZkJyb3dzZVBhdGhzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iQnJvd3NlUGF0aHMiIFR5cGVOYW1lPSJ0bnM6QnJvd3NlUGF0aCIgTGVu +Z3RoRmllbGQ9Ik5vT2ZCcm93c2VQYXRocyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJUcmFuc2xhdGVCcm93c2VQYXRoc1RvTm9kZUlk +c1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3Vt +ZW50YXRpb24+VHJhbnNsYXRlcyBvbmUgb3IgbW9yZSBwYXRocyBpbiB0aGUgc2VydmVyIGFkZHJl +c3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3Bv +bnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idG5zOkJyb3dzZVBhdGhSZXN1bHQiIExlbmd0 aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9z dGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE aWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9 Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv -cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeVJlYWRWYWx1ZUlkIiBCYXNlVHlwZT0idWE6 -RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9 -InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkluZGV4UmFuZ2UiIFR5cGVOYW1l -PSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YUVuY29kaW5nIiBUeXBl -TmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbnRpbnVh -dGlvblBvaW50IiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeVJlYWRSZXN1bHQi -IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Rh -dHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJDb250aW51YXRpb25Qb2ludCIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iSGlzdG9yeURhdGEiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3Qi -IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt -ZT0iSGlzdG9yeVJlYWREZXRhaWxzIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg -PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWFk -RXZlbnREZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyI+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJOdW1WYWx1ZXNQZXJOb2RlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXJ0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXIiIFR5cGVOYW1lPSJ0bnM6RXZlbnRGaWx0 -ZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg -TmFtZT0iUmVhZFJhd01vZGlmaWVkRGV0YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5UmVhZERl -dGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNSZWFkTW9kaWZpZWQiIFR5cGVOYW1lPSJv -cGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXJ0VGltZSIgVHlwZU5hbWU9 -Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZFRpbWUiIFR5cGVOYW1l -PSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOdW1WYWx1ZXNQZXJOb2Rl -IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldHVybkJv -dW5kcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N -Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlYWRQcm9jZXNzZWREZXRhaWxzIiBCYXNl -VHlwZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGFy -dFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJF -bmRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UHJvY2Vzc2luZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZBZ2dyZWdhdGVUeXBlIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iQWdncmVnYXRlVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgTGVu -Z3RoRmllbGQ9Ik5vT2ZBZ2dyZWdhdGVUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWdn -cmVnYXRlQ29uZmlndXJhdGlvbiIgVHlwZU5hbWU9InRuczpBZ2dyZWdhdGVDb25maWd1cmF0aW9u -IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9IlJlYWRBdFRpbWVEZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyI+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVxVGltZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXFUaW1lcyIgVHlwZU5hbWU9Im9wYzpEYXRlVGlt -ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXFUaW1lcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVz -ZVNpbXBsZUJvdW5kcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlEYXRhIiBCYXNl -VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEYXRh -VmFsdWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0 -YVZhbHVlcyIgVHlwZU5hbWU9InVhOkRhdGFWYWx1ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZEYXRhVmFs -dWVzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl -IE5hbWU9Ik1vZGlmaWNhdGlvbkluZm8iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTW9kaWZpY2F0aW9uVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRl -VGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVwZGF0ZVR5cGUiIFR5cGVOYW1lPSJ0bnM6 -SGlzdG9yeVVwZGF0ZVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyTmFtZSIgVHlw -ZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 -U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeU1vZGlmaWVkRGF0YSIgQmFzZVR5cGU9InRuczpI -aXN0b3J5RGF0YSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGF0YVZhbHVlcyIgVHlwZU5h -bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFWYWx1ZXMiIFR5cGVO -YW1lPSJ1YTpEYXRhVmFsdWUiIExlbmd0aEZpZWxkPSJOb09mRGF0YVZhbHVlcyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vT2ZNb2RpZmljYXRpb25JbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vZGlmaWNhdGlvbkluZm9zIiBUeXBlTmFtZT0i -dG5zOk1vZGlmaWNhdGlvbkluZm8iIExlbmd0aEZpZWxkPSJOb09mTW9kaWZpY2F0aW9uSW5mb3Mi -IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt -ZT0iSGlzdG9yeUV2ZW50IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vT2ZFdmVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJFdmVudHMiIFR5cGVOYW1lPSJ0bnM6SGlzdG9yeUV2ZW50RmllbGRMaXN0 -IiBMZW5ndGhGaWVsZD0iTm9PZkV2ZW50cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5UmVhZFJlcXVlc3QiIEJhc2VUeXBl -PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRl -ciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -SGlzdG9yeVJlYWREZXRhaWxzIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiBUeXBlTmFtZT0idG5zOlRpbWVz -dGFtcHNUb1JldHVybiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlbGVhc2VDb250aW51YXRp -b25Qb2ludHMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -Ik5vT2ZOb2Rlc1RvUmVhZCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vZGVzVG9SZWFkIiBUeXBlTmFtZT0idG5zOkhpc3RvcnlSZWFkVmFsdWVJZCIgTGVu -Z3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvUmVhZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5UmVhZFJlc3BvbnNlIiBCYXNlVHlw -ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVh -ZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idG5zOkhpc3RvcnlSZWFkUmVzdWx0IiBMZW5ndGhGaWVs -ZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0lu -Zm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25v -c3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09m -RGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 -cnVjdHVyZWRUeXBlIE5hbWU9IldyaXRlVmFsdWUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl -Y3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAv +cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVnaXN0ZXJOb2Rlc1JlcXVlc3QiIEJhc2VUeXBlPSJ1 +YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5SZWdpc3RlcnMgb25l +IG9yIG1vcmUgbm9kZXMgZm9yIHJlcGVhdGVkIHVzZSB3aXRoaW4gYSBzZXNzaW9uLjwvb3BjOkRv +Y3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFt +ZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTm9kZXNU +b1JlZ2lzdGVyIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +Tm9kZXNUb1JlZ2lzdGVyIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBMZW5ndGhGaWVsZD0iTm9PZk5v +ZGVzVG9SZWdpc3RlciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 +Y3R1cmVkVHlwZSBOYW1lPSJSZWdpc3Rlck5vZGVzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRl +bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5SZWdpc3RlcnMgb25lIG9yIG1v +cmUgbm9kZXMgZm9yIHJlcGVhdGVkIHVzZSB3aXRoaW4gYSBzZXNzaW9uLjwvb3BjOkRvY3VtZW50 +YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRu +czpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWdpc3RlcmVk +Tm9kZUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl +Z2lzdGVyZWROb2RlSWRzIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBMZW5ndGhGaWVsZD0iTm9PZlJl +Z2lzdGVyZWROb2RlSWRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9IlVucmVnaXN0ZXJOb2Rlc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpF +eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5VbnJlZ2lzdGVycyBvbmUg +b3IgbW9yZSBwcmV2aW91c2x5IHJlZ2lzdGVyZWQgbm9kZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVz +dEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOb2Rlc1RvVW5yZWdpc3RlciIg +VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVzVG9VbnJl +Z2lzdGVyIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBMZW5ndGhGaWVsZD0iTm9PZk5vZGVzVG9VbnJl +Z2lzdGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU +eXBlIE5hbWU9IlVucmVnaXN0ZXJOb2Rlc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u +T2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VW5yZWdpc3RlcnMgb25lIG9yIG1vcmUg +cHJldmlvdXNseSByZWdpc3RlcmVkIG5vZGVzLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRl +ciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9 +IkNvdW50ZXIiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIG1vbm90b25pY2FsbHkgaW5jcmVh +c2luZyB2YWx1ZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQog +IDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJOdW1lcmljUmFuZ2UiPg0KICAgIDxvcGM6RG9jdW1lbnRh +dGlvbj5TcGVjaWZpZXMgYSByYW5nZSBvZiBhcnJheSBpbmRleGVzLjwvb3BjOkRvY3VtZW50YXRp +b24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IlRpbWUi +Pg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHRpbWUgdmFsdWUgc3BlY2lmaWVkIGFzIEhIOk1N +OlNTLlNTUy48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxv +cGM6T3BhcXVlVHlwZSBOYW1lPSJEYXRlIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBkYXRl +IHZhbHVlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9w +YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFbmRwb2ludENvbmZpZ3VyYXRpb24iIEJhc2VUeXBlPSJ1 +YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iT3BlcmF0aW9uVGltZW91 +dCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZUJpbmFy +eUVuY29kaW5nIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJNYXhTdHJpbmdMZW5ndGgiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJNYXhCeXRlU3RyaW5nTGVuZ3RoIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTWF4QXJyYXlMZW5ndGgiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhNZXNzYWdlU2l6ZSIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heEJ1ZmZlclNpemUiIFR5cGVOYW1lPSJvcGM6 +SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDaGFubmVsTGlmZXRpbWUiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eVRva2VuTGlmZXRp +bWUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog +IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUXVlcnlEYXRhRGVzY3JpcHRpb24iIEJhc2VUeXBl +PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVsYXRpdmVQYXRo +IiBUeXBlTmFtZT0idG5zOlJlbGF0aXZlUGF0aCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF0 +dHJpYnV0ZUlkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkluZGV4UmFuZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk +VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik5vZGVUeXBlRGVzY3JpcHRpb24i +IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHlw +ZURlZmluaXRpb25Ob2RlIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJJbmNsdWRlU3ViVHlwZXMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEYXRhVG9SZXR1cm4iIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVG9SZXR1cm4iIFR5cGVOYW1lPSJ0bnM6 +UXVlcnlEYXRhRGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mRGF0YVRvUmV0dXJuIiAvPg0K +ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkZp +bHRlck9wZXJhdG9yIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 +ZSBOYW1lPSJFcXVhbHMiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h +bWU9IklzTnVsbCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i +R3JlYXRlclRoYW4iIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 +Ikxlc3NUaGFuIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJH +cmVhdGVyVGhhbk9yRXF1YWwiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9Ikxlc3NUaGFuT3JFcXVhbCIgVmFsdWU9IjUiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk +VmFsdWUgTmFtZT0iTGlrZSIgVmFsdWU9IjYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg +TmFtZT0iTm90IiBWYWx1ZT0iNyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJC +ZXR3ZWVuIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbkxp +c3QiIFZhbHVlPSI5IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFuZCIgVmFs +dWU9IjEwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik9yIiBWYWx1ZT0iMTEi +IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ2FzdCIgVmFsdWU9IjEyIiAvPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkluVmlldyIgVmFsdWU9IjEzIiAvPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik9mVHlwZSIgVmFsdWU9IjE0IiAvPg0KICAgIDxv +cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlbGF0ZWRUbyIgVmFsdWU9IjE1IiAvPg0KICAgIDxv +cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJpdHdpc2VBbmQiIFZhbHVlPSIxNiIgLz4NCiAgICA8 +b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCaXR3aXNlT3IiIFZhbHVlPSIxNyIgLz4NCiAgPC9v +cGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJRdWVyeURh +dGFTZXQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJUeXBlRGVmaW5pdGlvbk5vZGUiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZWYWx1ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZXMiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiBM +ZW5ndGhGaWVsZD0iTm9PZlZhbHVlcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg +PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJOb2RlUmVmZXJlbmNlIiBCYXNlVHlwZT0idWE6RXh0 +ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVh +Ok5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgVHlwZU5h +bWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzRm9yd2FyZCIgVHlwZU5h +bWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZWRO +b2RlSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVm +ZXJlbmNlZE5vZGVJZHMiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIExlbmd0aEZpZWxkPSJOb09mUmVm +ZXJlbmNlZE5vZGVJZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry +dWN0dXJlZFR5cGUgTmFtZT0iQ29udGVudEZpbHRlckVsZW1lbnQiIEJhc2VUeXBlPSJ1YTpFeHRl +bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmlsdGVyT3BlcmF0b3IiIFR5cGVO +YW1lPSJ0bnM6RmlsdGVyT3BlcmF0b3IiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRmls +dGVyT3BlcmFuZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJGaWx0ZXJPcGVyYW5kcyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgTGVuZ3RoRmll +bGQ9Ik5vT2ZGaWx0ZXJPcGVyYW5kcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg +PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDb250ZW50RmlsdGVyIiBCYXNlVHlwZT0idWE6RXh0 +ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFbGVtZW50cyIgVHlwZU5h +bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVsZW1lbnRzIiBUeXBlTmFt +ZT0idG5zOkNvbnRlbnRGaWx0ZXJFbGVtZW50IiBMZW5ndGhGaWVsZD0iTm9PZkVsZW1lbnRzIiAv +Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 +IkZpbHRlck9wZXJhbmQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkVsZW1lbnRPcGVy +YW5kIiBCYXNlVHlwZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +SW5kZXgiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N +Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkxpdGVyYWxPcGVyYW5kIiBCYXNlVHlwZT0i +dG5zOkZpbHRlck9wZXJhbmQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWUiIFR5cGVOYW1l +PSJ1YTpWYXJpYW50IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj +dHVyZWRUeXBlIE5hbWU9IkF0dHJpYnV0ZU9wZXJhbmQiIEJhc2VUeXBlPSJ0bnM6RmlsdGVyT3Bl +cmFuZCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBbGlhcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VQYXRoIiBUeXBlTmFtZT0idG5zOlJlbGF0aXZl +UGF0aCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF0dHJpYnV0ZUlkIiBUeXBlTmFtZT0ib3Bj +OlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkluZGV4UmFuZ2UiIFR5cGVOYW1lPSJv +cGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy +ZWRUeXBlIE5hbWU9IlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIEJhc2VUeXBlPSJ0bnM6RmlsdGVy +T3BlcmFuZCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUeXBlRGVmaW5pdGlvbklkIiBUeXBlTmFt +ZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkJyb3dzZVBhdGgiIFR5 +cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VQYXRoIiBU +eXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZCcm93c2VQYXRoIiAv Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXR0cmlidXRlSWQiIFR5cGVOYW1lPSJvcGM6VUludDMy IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5kZXhSYW5nZSIgVHlwZU5hbWU9Im9wYzpTdHJp -bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOkRhdGFWYWx1 -ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJXcml0ZVJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVzVG9Xcml0ZSIgVHlwZU5hbWU9Im9w -YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVzVG9Xcml0ZSIgVHlwZU5hbWU9 -InRuczpXcml0ZVZhbHVlIiBMZW5ndGhGaWVsZD0iTm9PZk5vZGVzVG9Xcml0ZSIgLz4NCiAgPC9v -cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJXcml0ZVJl +bmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iQ29udGVudEZpbHRlckVsZW1lbnRSZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P +YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0 +YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mT3BlcmFuZFN0YXR1c0NvZGVz +IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iT3BlcmFuZFN0 +YXR1c0NvZGVzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZPcGVy +YW5kU3RhdHVzQ29kZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mT3BlcmFuZERpYWdu +b3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik9wZXJhbmREaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVu +Z3RoRmllbGQ9Ik5vT2ZPcGVyYW5kRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNvbnRlbnRGaWx0ZXJSZXN1 +bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +Tm9PZkVsZW1lbnRSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iRWxlbWVudFJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6Q29udGVudEZpbHRlckVsZW1l +bnRSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mRWxlbWVudFJlc3VsdHMiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJOb09mRWxlbWVudERpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVsZW1lbnREaWFnbm9zdGljSW5mb3MiIFR5cGVO +YW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZFbGVtZW50RGlhZ25vc3Rp +Y0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU +eXBlIE5hbWU9IlBhcnNpbmdSZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGF0YVN0YXR1c0NvZGVzIiBUeXBlTmFtZT0i +b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVN0YXR1c0NvZGVzIiBUeXBl +TmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZEYXRhU3RhdHVzQ29kZXMiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGF0YURpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9 +Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFEaWFnbm9zdGljSW5mb3Mi +IFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEYXRhRGlhZ25v +c3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy +ZWRUeXBlIE5hbWU9IlF1ZXJ5Rmlyc3RSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6 +UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZpZXciIFR5cGVOYW1lPSJ0 +bnM6Vmlld0Rlc2NyaXB0aW9uIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVUeXBl +cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVUeXBl +cyIgVHlwZU5hbWU9InRuczpOb2RlVHlwZURlc2NyaXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZk5v +ZGVUeXBlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRlciIgVHlwZU5hbWU9InRuczpD +b250ZW50RmlsdGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4RGF0YVNldHNUb1JldHVy +biIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhSZWZl +cmVuY2VzVG9SZXR1cm4iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlF1ZXJ5Rmlyc3RSZXNwb25z +ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS +ZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vT2ZRdWVyeURhdGFTZXRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iUXVlcnlEYXRhU2V0cyIgVHlwZU5hbWU9InRuczpRdWVyeURh +dGFTZXQiIExlbmd0aEZpZWxkPSJOb09mUXVlcnlEYXRhU2V0cyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUGFyc2luZ1Jlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQYXJzaW5nUmVzdWx0cyIgVHlwZU5hbWU9InRu +czpQYXJzaW5nUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlBhcnNpbmdSZXN1bHRzIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVh +OkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRlclJlc3VsdCIgVHlwZU5hbWU9InRuczpDb250ZW50Rmls +dGVyUmVzdWx0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy +ZWRUeXBlIE5hbWU9IlF1ZXJ5TmV4dFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl +Y3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpS +ZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVsZWFzZUNvbnRpbnVhdGlv +blBvaW50IiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJD +b250aW51YXRpb25Qb2ludCIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlF1ZXJ5TmV4dFJl c3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h bWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVu -Z3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdu -b3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVs -ZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg -PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5VXBkYXRlRGV0YWlscyIgQmFzZVR5cGU9 -InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVO -YW1lPSJ1YTpOb2RlSWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51 -bWVyYXRlZFR5cGUgTmFtZT0iSGlzdG9yeVVwZGF0ZVR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0K -ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikluc2VydCIgVmFsdWU9IjEiIC8+DQogICAg -PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVwbGFjZSIgVmFsdWU9IjIiIC8+DQogICAgPG9w -YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVXBkYXRlIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVu -dW1lcmF0ZWRWYWx1ZSBOYW1lPSJEZWxldGUiIFZhbHVlPSI0IiAvPg0KICA8L29wYzpFbnVtZXJh -dGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlBlcmZvcm1VcGRhdGVUeXBl -IiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnNl -cnQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlcGxhY2Ui -IFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVwZGF0ZSIgVmFs -dWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVtb3ZlIiBWYWx1ZT0i -NCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJVcGRhdGVEYXRhRGV0YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0YWls -cyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNv -dXJjZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlBlcmZvcm1JbnNlcnRSZXBsYWNlIiBUeXBlTmFtZT0idG5zOlBlcmZvcm1VcGRhdGVUeXBl -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlVwZGF0ZVZhbHVlcyIgVHlwZU5hbWU9Im9w -YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVwZGF0ZVZhbHVlcyIgVHlwZU5hbWU9 -InVhOkRhdGFWYWx1ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZVcGRhdGVWYWx1ZXMiIC8+DQogIDwvb3Bj -OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVXBkYXRlU3Ry -dWN0dXJlRGF0YURldGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VU -eXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQ -ZXJmb3JtSW5zZXJ0UmVwbGFjZSIgVHlwZU5hbWU9InRuczpQZXJmb3JtVXBkYXRlVHlwZSIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZVcGRhdGVWYWx1ZXMiIFR5cGVOYW1lPSJvcGM6SW50 -MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVcGRhdGVWYWx1ZXMiIFR5cGVOYW1lPSJ1YTpE -YXRhVmFsdWUiIExlbmd0aEZpZWxkPSJOb09mVXBkYXRlVmFsdWVzIiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlVwZGF0ZUV2ZW50RGV0 -YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpIaXN0 -b3J5VXBkYXRlRGV0YWlscyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBlcmZvcm1JbnNlcnRS -ZXBsYWNlIiBUeXBlTmFtZT0idG5zOlBlcmZvcm1VcGRhdGVUeXBlIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iRmlsdGVyIiBUeXBlTmFtZT0idG5zOkV2ZW50RmlsdGVyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iTm9PZkV2ZW50RGF0YSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IkV2ZW50RGF0YSIgVHlwZU5hbWU9InRuczpIaXN0b3J5RXZlbnRGaWVs -ZExpc3QiIExlbmd0aEZpZWxkPSJOb09mRXZlbnREYXRhIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZVJhd01vZGlmaWVkRGV0 -YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpIaXN0 -b3J5VXBkYXRlRGV0YWlscyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzRGVsZXRlTW9kaWZp -ZWQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXJ0 -VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVu -ZFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl -Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlQXRUaW1lRGV0YWlscyIgQmFz -ZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO -b2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpIaXN0b3J5VXBkYXRl -RGV0YWlscyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXFUaW1lcyIgVHlwZU5hbWU9 -Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcVRpbWVzIiBUeXBlTmFtZT0i -b3BjOkRhdGVUaW1lIiBMZW5ndGhGaWVsZD0iTm9PZlJlcVRpbWVzIiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZUV2ZW50RGV0 -YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpIaXN0 -b3J5VXBkYXRlRGV0YWlscyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFdmVudElkcyIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50SWRzIiBU -eXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mRXZlbnRJZHMiIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlz -dG9yeVVwZGF0ZVJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZPcGVyYXRpb25SZXN1bHRzIiBUeXBlTmFtZT0ib3BjOklu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iT3BlcmF0aW9uUmVzdWx0cyIgVHlwZU5hbWU9 -InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mT3BlcmF0aW9uUmVzdWx0cyIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50 -MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1 -YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlz -dG9yeVVwZGF0ZVJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkhpc3RvcnlVcGRhdGVEZXRhaWxzIiBUeXBl -TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSGlzdG9yeVVwZGF0ZURl -dGFpbHMiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIExlbmd0aEZpZWxkPSJOb09mSGlz -dG9yeVVwZGF0ZURldGFpbHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 -U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3BvbnNlIiBCYXNlVHlwZT0idWE6 +IDxvcGM6RmllbGQgTmFtZT0iTm9PZlF1ZXJ5RGF0YVNldHMiIFR5cGVOYW1lPSJvcGM6SW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJRdWVyeURhdGFTZXRzIiBUeXBlTmFtZT0idG5zOlF1 +ZXJ5RGF0YVNldCIgTGVuZ3RoRmllbGQ9Ik5vT2ZRdWVyeURhdGFTZXRzIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iUmV2aXNlZENvbnRpbnVhdGlvblBvaW50IiBUeXBlTmFtZT0ib3BjOkJ5dGVT +dHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5 +cGUgTmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3Bj +OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTb3VyY2UiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IlNlcnZlciIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJh +dGVkVmFsdWUgTmFtZT0iQm90aCIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs +dWUgTmFtZT0iTmVpdGhlciIgVmFsdWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg +TmFtZT0iSW52YWxpZCIgVmFsdWU9IjQiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQog +IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVhZFZhbHVlSWQiIEJhc2VUeXBlPSJ1YTpFeHRl +bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6 +Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXR0cmlidXRlSWQiIFR5cGVOYW1lPSJv +cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5kZXhSYW5nZSIgVHlwZU5hbWU9 +Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhRW5jb2RpbmciIFR5cGVO +YW1lPSJ1YTpRdWFsaWZpZWROYW1lIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 +b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlYWRSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5z +aW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1l +PSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heEFnZSIgVHlw +ZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lc3RhbXBzVG9S +ZXR1cm4iIFR5cGVOYW1lPSJ0bnM6VGltZXN0YW1wc1RvUmV0dXJuIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9PZk5vZGVzVG9SZWFkIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTm9kZXNUb1JlYWQiIFR5cGVOYW1lPSJ0bnM6UmVhZFZhbHVlSWQiIExl +bmd0aEZpZWxkPSJOb09mTm9kZXNUb1JlYWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K +DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVhZFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6 RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBU eXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P ZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS -ZXN1bHRzIiBUeXBlTmFtZT0idG5zOkhpc3RvcnlVcGRhdGVSZXN1bHQiIExlbmd0aEZpZWxkPSJO -b09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3Mi -IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGlj -SW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFn -bm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 -dXJlZFR5cGUgTmFtZT0iQ2FsbE1ldGhvZFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P -YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iT2JqZWN0SWQiIFR5cGVOYW1lPSJ1YTpOb2Rl -SWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXRob2RJZCIgVHlwZU5hbWU9InVhOk5vZGVJ -ZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZJbnB1dEFyZ3VtZW50cyIgVHlwZU5hbWU9 -Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklucHV0QXJndW1lbnRzIiBUeXBl -TmFtZT0idWE6VmFyaWFudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZJbnB1dEFyZ3VtZW50cyIgLz4NCiAg -PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDYWxs -TWV0aG9kUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iTm9PZklucHV0QXJndW1lbnRSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOklu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5wdXRBcmd1bWVudFJlc3VsdHMiIFR5cGVO -YW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZklucHV0QXJndW1lbnRSZXN1bHRz -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZklucHV0QXJndW1lbnREaWFnbm9zdGljSW5m -b3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbnB1dEFy -Z3VtZW50RGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0 -aEZpZWxkPSJOb09mSW5wdXRBcmd1bWVudERpYWdub3N0aWNJbmZvcyIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZPdXRwdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJPdXRwdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJ1YTpWYXJpYW50 -IiBMZW5ndGhGaWVsZD0iTm9PZk91dHB1dEFyZ3VtZW50cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl -ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDYWxsUmVxdWVzdCIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVh -ZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJOb09mTWV0aG9kc1RvQ2FsbCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik1ldGhvZHNUb0NhbGwiIFR5cGVOYW1lPSJ0bnM6Q2FsbE1ldGhvZFJlcXVlc3Qi -IExlbmd0aEZpZWxkPSJOb09mTWV0aG9kc1RvQ2FsbCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDYWxsUmVzcG9uc2UiIEJhc2VUeXBl -PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFk -ZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6Q2FsbE1ldGhvZFJlc3VsdCIgTGVuZ3RoRmllbGQ9 -Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZv -cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0 -aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRp -YWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVt -ZXJhdGVkVHlwZSBOYW1lPSJNb25pdG9yaW5nTW9kZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAg -PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGlzYWJsZWQiIFZhbHVlPSIwIiAvPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNhbXBsaW5nIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3Bj -OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZXBvcnRpbmciIFZhbHVlPSIyIiAvPg0KICA8L29wYzpF -bnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkRhdGFDaGFuZ2VU -cmlnZ2VyIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l -PSJTdGF0dXMiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN0 -YXR1c1ZhbHVlIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJT -dGF0dXNWYWx1ZVRpbWVzdGFtcCIgVmFsdWU9IjIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBl -Pg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRGVhZGJhbmRUeXBlIiBMZW5ndGhJbkJp -dHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25lIiBWYWx1ZT0iMCIg -Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBYnNvbHV0ZSIgVmFsdWU9IjEiIC8+ -DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUGVyY2VudCIgVmFsdWU9IjIiIC8+DQog -IDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9u -aXRvcmluZ0ZpbHRlciIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0 -cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGF0YUNoYW5nZUZp -bHRlciIgQmFzZVR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVyIj4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlRyaWdnZXIiIFR5cGVOYW1lPSJ0bnM6RGF0YUNoYW5nZVRyaWdnZXIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJEZWFkYmFuZFR5cGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iRGVhZGJhbmRWYWx1ZSIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+ +ZXN1bHRzIiBUeXBlTmFtZT0idWE6RGF0YVZhbHVlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0i +b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBl +TmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9z +IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9Ikhpc3RvcnlSZWFkVmFsdWVJZCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJJbmRleFJhbmdlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFFbmNvZGluZyIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5h +bWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb250aW51YXRpb25Qb2ludCIgVHlwZU5hbWU9 +Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlSZWFkUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5z +aW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1 +YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29udGludWF0aW9uUG9pbnQi +IFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikhpc3Rv +cnlEYXRhIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlSZWFkRGV0YWls +cyIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVhZEV2ZW50RGV0YWlscyIgQmFzZVR5 +cGU9InRuczpIaXN0b3J5UmVhZERldGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTnVtVmFs +dWVzUGVyTm9kZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJTdGFydFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJFbmRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iRmlsdGVyIiBUeXBlTmFtZT0idG5zOkV2ZW50RmlsdGVyIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlYWRSYXdNb2RpZmll +ZERldGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IklzUmVhZE1vZGlmaWVkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJTdGFydFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iTnVtVmFsdWVzUGVyTm9kZSIgVHlwZU5hbWU9Im9wYzpVSW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXR1cm5Cb3VuZHMiIFR5cGVOYW1lPSJvcGM6 +Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk +VHlwZSBOYW1lPSJSZWFkUHJvY2Vzc2VkRGV0YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5UmVh +ZERldGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhcnRUaW1lIiBUeXBlTmFtZT0ib3Bj +OkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kVGltZSIgVHlwZU5hbWU9Im9w +YzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByb2Nlc3NpbmdJbnRlcnZhbCIg +VHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQWdncmVn +YXRlVHlwZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFn +Z3JlZ2F0ZVR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIExlbmd0aEZpZWxkPSJOb09mQWdncmVn +YXRlVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24i +IFR5cGVOYW1lPSJ0bnM6QWdncmVnYXRlQ29uZmlndXJhdGlvbiIgLz4NCiAgPC9vcGM6U3RydWN0 +dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWFkQXRUaW1lRGV0YWls +cyIgQmFzZVR5cGU9InRuczpIaXN0b3J5UmVhZERldGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTm9PZlJlcVRpbWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iUmVxVGltZXMiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIExlbmd0aEZpZWxkPSJOb09m +UmVxVGltZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VTaW1wbGVCb3VuZHMiIFR5cGVO +YW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT +dHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5RGF0YSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGF0YVZhbHVlcyIgVHlwZU5hbWU9Im9w +YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFWYWx1ZXMiIFR5cGVOYW1lPSJ1 +YTpEYXRhVmFsdWUiIExlbmd0aEZpZWxkPSJOb09mRGF0YVZhbHVlcyIgLz4NCiAgPC9vcGM6U3Ry +dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb2RpZmljYXRpb25J +bmZvIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik1vZGlmaWNhdGlvblRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJVcGRhdGVUeXBlIiBUeXBlTmFtZT0idG5zOkhpc3RvcnlVcGRhdGVUeXBlIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAv +Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 +Ikhpc3RvcnlNb2RpZmllZERhdGEiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeURhdGEiPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTm9PZkRhdGFWYWx1ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVmFsdWVzIiBUeXBlTmFtZT0idWE6RGF0YVZhbHVlIiBM +ZW5ndGhGaWVsZD0iTm9PZkRhdGFWYWx1ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m +TW9kaWZpY2F0aW9uSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJNb2RpZmljYXRpb25JbmZvcyIgVHlwZU5hbWU9InRuczpNb2RpZmljYXRpb25JbmZv +IiBMZW5ndGhGaWVsZD0iTm9PZk1vZGlmaWNhdGlvbkluZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlFdmVudCIgQmFz +ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRXZl +bnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnRz +IiBUeXBlTmFtZT0idG5zOkhpc3RvcnlFdmVudEZpZWxkTGlzdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZF +dmVudHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iSGlzdG9yeVJlYWRSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVx +dWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikhpc3RvcnlSZWFkRGV0YWlscyIg +VHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRp +bWVzdGFtcHNUb1JldHVybiIgVHlwZU5hbWU9InRuczpUaW1lc3RhbXBzVG9SZXR1cm4iIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJSZWxlYXNlQ29udGludWF0aW9uUG9pbnRzIiBUeXBlTmFtZT0i +b3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTm9kZXNUb1JlYWQiIFR5 +cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rlc1RvUmVhZCIg +VHlwZU5hbWU9InRuczpIaXN0b3J5UmVhZFZhbHVlSWQiIExlbmd0aEZpZWxkPSJOb09mTm9kZXNU +b1JlYWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iSGlzdG9yeVJlYWRSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj +dCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpS +ZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBl +TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5h +bWU9InRuczpIaXN0b3J5UmVhZFJlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJ +bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9 +InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4N +CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJX +cml0ZVZhbHVlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkF0dHJpYnV0ZUlkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkluZGV4UmFuZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iVmFsdWUiIFR5cGVOYW1lPSJ1YTpEYXRhVmFsdWUiIC8+DQogIDwvb3BjOlN0cnVj +dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iV3JpdGVSZXF1ZXN0IiBC +YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVl +c3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vT2ZOb2Rlc1RvV3JpdGUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOb2Rlc1RvV3JpdGUiIFR5cGVOYW1lPSJ0bnM6V3JpdGVWYWx1ZSIgTGVu +Z3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvV3JpdGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K +DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iV3JpdGVSZXNwb25zZSIgQmFzZVR5cGU9InVh +OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIg +VHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v +T2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +UmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0 +cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5 +cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5m +b3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iSGlzdG9yeVVwZGF0ZURldGFpbHMiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0K +ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9Ikhp +c3RvcnlVcGRhdGVUeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJJbnNlcnQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9IlJlcGxhY2UiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h +bWU9IlVwZGF0ZSIgVmFsdWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i +RGVsZXRlIiBWYWx1ZT0iNCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpF +bnVtZXJhdGVkVHlwZSBOYW1lPSJQZXJmb3JtVXBkYXRlVHlwZSIgTGVuZ3RoSW5CaXRzPSIzMiI+ +DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW5zZXJ0IiBWYWx1ZT0iMSIgLz4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZXBsYWNlIiBWYWx1ZT0iMiIgLz4NCiAgICA8 +b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVcGRhdGUiIFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6 +RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlbW92ZSIgVmFsdWU9IjQiIC8+DQogIDwvb3BjOkVudW1l +cmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVXBkYXRlRGF0YURldGFp +bHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6SGlzdG9y +eVVwZGF0ZURldGFpbHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQZXJmb3JtSW5zZXJ0UmVw +bGFjZSIgVHlwZU5hbWU9InRuczpQZXJmb3JtVXBkYXRlVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vT2ZVcGRhdGVWYWx1ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJVcGRhdGVWYWx1ZXMiIFR5cGVOYW1lPSJ1YTpEYXRhVmFsdWUiIExlbmd0 +aEZpZWxkPSJOb09mVXBkYXRlVmFsdWVzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K +ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlVwZGF0ZVN0cnVjdHVyZURhdGFEZXRhaWxzIiBC +YXNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOkhpc3RvcnlVcGRh +dGVEZXRhaWxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGVyZm9ybUluc2VydFJlcGxhY2Ui +IFR5cGVOYW1lPSJ0bnM6UGVyZm9ybVVwZGF0ZVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mVXBkYXRlVmFsdWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iVXBkYXRlVmFsdWVzIiBUeXBlTmFtZT0idWE6RGF0YVZhbHVlIiBMZW5ndGhGaWVs +ZD0iTm9PZlVwZGF0ZVZhbHVlcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w +YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVcGRhdGVFdmVudERldGFpbHMiIEJhc2VUeXBlPSJ0bnM6 +SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBl +TmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQZXJmb3JtSW5zZXJ0UmVwbGFjZSIgVHlwZU5hbWU9InRu +czpQZXJmb3JtVXBkYXRlVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRlciIgVHlw +ZU5hbWU9InRuczpFdmVudEZpbHRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFdmVu +dERhdGEiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVu +dERhdGEiIFR5cGVOYW1lPSJ0bnM6SGlzdG9yeUV2ZW50RmllbGRMaXN0IiBMZW5ndGhGaWVsZD0i +Tm9PZkV2ZW50RGF0YSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 +Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVSYXdNb2RpZmllZERldGFpbHMiIEJhc2VUeXBlPSJ0bnM6 +SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBl +TmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0RlbGV0ZU1vZGlmaWVkIiBUeXBlTmFtZT0ib3BjOkJv +b2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGFydFRpbWUiIFR5cGVOYW1lPSJvcGM6 +RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRUaW1lIiBUeXBlTmFtZT0ib3Bj +OkRhdGVUaW1lIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy +ZWRUeXBlIE5hbWU9IkRlbGV0ZUF0VGltZURldGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVVw +ZGF0ZURldGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6 +Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOb09mUmVxVGltZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJSZXFUaW1lcyIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgTGVuZ3Ro +RmllbGQ9Ik5vT2ZSZXFUaW1lcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w +YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVFdmVudERldGFpbHMiIEJhc2VUeXBlPSJ0bnM6 +SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBl +TmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRXZlbnRJZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVudElkcyIgVHlwZU5hbWU9Im9wYzpCeXRlU3Ry +aW5nIiBMZW5ndGhGaWVsZD0iTm9PZkV2ZW50SWRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlVcGRhdGVSZXN1bHQiIEJh +c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVz +Q29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO +b09mT3BlcmF0aW9uUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik9wZXJhdGlvblJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5n +dGhGaWVsZD0iTm9PZk9wZXJhdGlvblJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO +b09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExl +bmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlVcGRhdGVSZXF1ZXN0IiBC +YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVl +c3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vT2ZIaXN0b3J5VXBkYXRlRGV0YWlscyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ikhpc3RvcnlVcGRhdGVEZXRhaWxzIiBUeXBlTmFtZT0idWE6 +RXh0ZW5zaW9uT2JqZWN0IiBMZW5ndGhGaWVsZD0iTm9PZkhpc3RvcnlVcGRhdGVEZXRhaWxzIiAv +Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 +Ikhpc3RvcnlVcGRhdGVSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25z +ZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0i +b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InRu +czpIaXN0b3J5VXBkYXRlUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6 +RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8 +L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNhbGxN +ZXRob2RSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik9iamVjdElkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTWV0aG9kSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb09mSW5wdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJJbnB1dEFyZ3VtZW50cyIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIExl +bmd0aEZpZWxkPSJOb09mSW5wdXRBcmd1bWVudHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ2FsbE1ldGhvZFJlc3VsdCIgQmFzZVR5 +cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2Rl +IiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZJ +bnB1dEFyZ3VtZW50UmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IklucHV0QXJndW1lbnRSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIg +TGVuZ3RoRmllbGQ9Ik5vT2ZJbnB1dEFyZ3VtZW50UmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vT2ZJbnB1dEFyZ3VtZW50RGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5wdXRBcmd1bWVudERpYWdub3N0aWNJbmZv +cyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZklucHV0QXJn +dW1lbnREaWFnbm9zdGljSW5mb3MiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mT3V0cHV0 +QXJndW1lbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +T3V0cHV0QXJndW1lbnRzIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZP +dXRwdXRBcmd1bWVudHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry +dWN0dXJlZFR5cGUgTmFtZT0iQ2FsbFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl +Y3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpS +ZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk1ldGhvZHNUb0NhbGwi +IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXRob2RzVG9D +YWxsIiBUeXBlTmFtZT0idG5zOkNhbGxNZXRob2RSZXF1ZXN0IiBMZW5ndGhGaWVsZD0iTm9PZk1l +dGhvZHNUb0NhbGwiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 +dXJlZFR5cGUgTmFtZT0iQ2FsbFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJl +c3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVO +YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFt +ZT0idG5zOkNhbGxNZXRob2RSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1 +YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iTW9u +aXRvcmluZ01vZGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9IkRpc2FibGVkIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO +YW1lPSJTYW1wbGluZyIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt +ZT0iUmVwb3J0aW5nIiBWYWx1ZT0iMiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAg +PG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJEYXRhQ2hhbmdlVHJpZ2dlciIgTGVuZ3RoSW5CaXRz +PSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3RhdHVzIiBWYWx1ZT0iMCIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTdGF0dXNWYWx1ZSIgVmFsdWU9IjEi +IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3RhdHVzVmFsdWVUaW1lc3RhbXAi +IFZhbHVlPSIyIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0 +ZWRUeXBlIE5hbWU9IkRlYWRiYW5kVHlwZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJh +dGVkVmFsdWUgTmFtZT0iQWJzb2x1dGUiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRl +ZFZhbHVlIE5hbWU9IlBlcmNlbnQiIFZhbHVlPSIyIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vbml0b3JpbmdGaWx0ZXIiIEJhc2VU +eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 +b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFDaGFuZ2VGaWx0ZXIiIEJhc2VUeXBlPSJ0bnM6 +TW9uaXRvcmluZ0ZpbHRlciI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmlnZ2VyIiBUeXBlTmFt +ZT0idG5zOkRhdGFDaGFuZ2VUcmlnZ2VyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVhZGJh +bmRUeXBlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRl +YWRiYW5kVmFsdWUiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk +VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkV2ZW50RmlsdGVyIiBCYXNlVHlw +ZT0idG5zOk1vbml0b3JpbmdGaWx0ZXIiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlbGVj +dENsYXVzZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT +ZWxlY3RDbGF1c2VzIiBUeXBlTmFtZT0idG5zOlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIExlbmd0 +aEZpZWxkPSJOb09mU2VsZWN0Q2xhdXNlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldoZXJl +Q2xhdXNlIiBUeXBlTmFtZT0idG5zOkNvbnRlbnRGaWx0ZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWdncmVnYXRlQ29uZmlndXJh +dGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJVc2VTZXJ2ZXJDYXBhYmlsaXRpZXNEZWZhdWx0cyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJlYXRVbmNlcnRhaW5Bc0JhZCIgVHlwZU5hbWU9Im9w +YzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGVyY2VudERhdGFCYWQiIFR5cGVO +YW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBlcmNlbnREYXRhR29vZCIg +VHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlU2xvcGVkRXh0 +cmFwb2xhdGlvbiIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk +VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFnZ3JlZ2F0ZUZpbHRlciIgQmFz +ZVR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVyIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXJ0 +VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFn +Z3JlZ2F0ZVR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJQcm9jZXNzaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iQWdncmVnYXRlQ29uZmlndXJhdGlvbiIgVHlwZU5hbWU9InRuczpBZ2dyZWdh +dGVDb25maWd1cmF0aW9uIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9Ik1vbml0b3JpbmdGaWx0ZXJSZXN1bHQiIEJhc2VUeXBlPSJ1YTpF +eHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj +dHVyZWRUeXBlIE5hbWU9IkV2ZW50RmlsdGVyUmVzdWx0IiBCYXNlVHlwZT0idG5zOk1vbml0b3Jp +bmdGaWx0ZXJSZXN1bHQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlbGVjdENsYXVzZVJl +c3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWxl +Y3RDbGF1c2VSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5v +T2ZTZWxlY3RDbGF1c2VSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlbGVj +dENsYXVzZURpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlNlbGVjdENsYXVzZURpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRp +YWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZlNlbGVjdENsYXVzZURpYWdub3N0aWNJbmZv +cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldoZXJlQ2xhdXNlUmVzdWx0IiBUeXBlTmFtZT0i +dG5zOkNvbnRlbnRGaWx0ZXJSZXN1bHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog +IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWdncmVnYXRlRmlsdGVyUmVzdWx0IiBCYXNlVHlw +ZT0idG5zOk1vbml0b3JpbmdGaWx0ZXJSZXN1bHQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2 +aXNlZFN0YXJ0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlJldmlzZWRQcm9jZXNzaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZEFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIFR5 +cGVOYW1lPSJ0bnM6QWdncmVnYXRlQ29uZmlndXJhdGlvbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJl +ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb25pdG9yaW5nUGFyYW1ldGVy +cyIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJD +bGllbnRIYW5kbGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iU2FtcGxpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJGaWx0ZXIiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJRdWV1ZVNpemUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iRGlzY2FyZE9sZGVzdCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAv +Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 +Ik1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikl0ZW1Ub01vbml0b3IiIFR5cGVOYW1lPSJ0bnM6UmVh +ZFZhbHVlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb25pdG9yaW5nTW9kZSIgVHlwZU5h +bWU9InRuczpNb25pdG9yaW5nTW9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3Rl +ZFBhcmFtZXRlcnMiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmluZ1BhcmFtZXRlcnMiIC8+DQogIDwv +b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9uaXRv +cmVkSXRlbUNyZWF0ZVJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3JlZEl0ZW1JZCIgVHlwZU5hbWU9Im9wYzpVSW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkU2FtcGxpbmdJbnRlcnZhbCIgVHlw +ZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkUXVldWVT +aXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRl +clJlc3VsdCIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgPC9vcGM6U3RydWN0 +dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDcmVhdGVNb25pdG9yZWRJ +dGVtc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUludDMy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiBUeXBlTmFtZT0i +dG5zOlRpbWVzdGFtcHNUb1JldHVybiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZJdGVt +c1RvQ3JlYXRlIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +SXRlbXNUb0NyZWF0ZSIgVHlwZU5hbWU9InRuczpNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIg +TGVuZ3RoRmllbGQ9Ik5vT2ZJdGVtc1RvQ3JlYXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zUmVz +cG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmVkSXRlbUNy +ZWF0ZVJlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJ +bmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0 +dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb25pdG9yZWRJdGVtTW9k +aWZ5UmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJNb25pdG9yZWRJdGVtSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkUGFyYW1ldGVycyIgVHlwZU5hbWU9InRuczpNb25pdG9y +aW5nUGFyYW1ldGVycyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 +Y3R1cmVkVHlwZSBOYW1lPSJNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0IiBCYXNlVHlwZT0idWE6 +RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVO +YW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZFNhbXBs +aW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iUmV2aXNlZFF1ZXVlU2l6ZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJGaWx0ZXJSZXN1bHQiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+ DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i -RXZlbnRGaWx0ZXIiIEJhc2VUeXBlPSJ0bnM6TW9uaXRvcmluZ0ZpbHRlciI+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJOb09mU2VsZWN0Q2xhdXNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlNlbGVjdENsYXVzZXMiIFR5cGVOYW1lPSJ0bnM6U2ltcGxlQXR0 -cmlidXRlT3BlcmFuZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZWxlY3RDbGF1c2VzIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iV2hlcmVDbGF1c2UiIFR5cGVOYW1lPSJ0bnM6Q29udGVudEZpbHRlciIg -Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l -PSJBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZVNlcnZlckNhcGFiaWxpdGllc0RlZmF1bHRzIiBUeXBl -TmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmVhdFVuY2VydGFp -bkFzQmFkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQ -ZXJjZW50RGF0YUJhZCIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iUGVyY2VudERhdGFHb29kIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJVc2VTbG9wZWRFeHRyYXBvbGF0aW9uIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+ +TW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVx +dWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBl +TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRpbWVzdGFtcHNUb1Jl +dHVybiIgVHlwZU5hbWU9InRuczpUaW1lc3RhbXBzVG9SZXR1cm4iIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb09mSXRlbXNUb01vZGlmeSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ikl0ZW1zVG9Nb2RpZnkiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmVkSXRl +bU1vZGlmeVJlcXVlc3QiIExlbmd0aEZpZWxkPSJOb09mSXRlbXNUb01vZGlmeSIgLz4NCiAgPC9v +cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb2RpZnlN +b25pdG9yZWRJdGVtc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNl +SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJv +cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idG5z +Ok1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6 +SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1l +PSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+ DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i -QWdncmVnYXRlRmlsdGVyIiBCYXNlVHlwZT0idG5zOk1vbml0b3JpbmdGaWx0ZXIiPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iU3RhcnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iQWdncmVnYXRlVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlByb2Nlc3NpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpE -b3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBU -eXBlTmFtZT0idG5zOkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9uaXRvcmluZ0ZpbHRlclJl -c3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRXZlbnRGaWx0ZXJSZXN1bHQiIEJh -c2VUeXBlPSJ0bnM6TW9uaXRvcmluZ0ZpbHRlclJlc3VsdCI+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJOb09mU2VsZWN0Q2xhdXNlUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlNlbGVjdENsYXVzZVJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXND -b2RlIiBMZW5ndGhGaWVsZD0iTm9PZlNlbGVjdENsYXVzZVJlc3VsdHMiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJOb09mU2VsZWN0Q2xhdXNlRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3Bj -OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VsZWN0Q2xhdXNlRGlhZ25vc3RpY0lu -Zm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mU2VsZWN0 -Q2xhdXNlRGlhZ25vc3RpY0luZm9zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV2hlcmVDbGF1 -c2VSZXN1bHQiIFR5cGVOYW1lPSJ0bnM6Q29udGVudEZpbHRlclJlc3VsdCIgLz4NCiAgPC9vcGM6 -U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBZ2dyZWdhdGVG -aWx0ZXJSZXN1bHQiIEJhc2VUeXBlPSJ0bnM6TW9uaXRvcmluZ0ZpbHRlclJlc3VsdCI+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkU3RhcnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1l -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZFByb2Nlc3NpbmdJbnRlcnZhbCIgVHlw -ZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkQWdncmVn -YXRlQ29uZmlndXJhdGlvbiIgVHlwZU5hbWU9InRuczpBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -Ik1vbml0b3JpbmdQYXJhbWV0ZXJzIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudEhhbmRsZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTYW1wbGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRv -dWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRlciIgVHlwZU5hbWU9InVhOkV4dGVu -c2lvbk9iamVjdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlF1ZXVlU2l6ZSIgVHlwZU5hbWU9 -Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNjYXJkT2xkZXN0IiBUeXBl -TmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 -U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIEJhc2VUeXBl -PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXRlbVRvTW9uaXRv -ciIgVHlwZU5hbWU9InRuczpSZWFkVmFsdWVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1v -bml0b3JpbmdNb2RlIiBUeXBlTmFtZT0idG5zOk1vbml0b3JpbmdNb2RlIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iUmVxdWVzdGVkUGFyYW1ldGVycyIgVHlwZU5hbWU9InRuczpNb25pdG9yaW5n -UGFyYW1ldGVycyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0 -ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1l -PSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmVkSXRlbUlk -IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRT -YW1wbGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlJldmlzZWRRdWV1ZVNpemUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iRmlsdGVyUmVzdWx0IiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +U2V0TW9uaXRvcmluZ01vZGVSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVz +dEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFt +ZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3JpbmdNb2RlIiBU +eXBlTmFtZT0idG5zOk1vbml0b3JpbmdNb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P +Zk1vbml0b3JlZEl0ZW1JZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJNb25pdG9yZWRJdGVtSWRzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmll +bGQ9Ik5vT2ZNb25pdG9yZWRJdGVtSWRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K +ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNldE1vbml0b3JpbmdNb2RlUmVzcG9uc2UiIEJh +c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9u +c2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0i +Tm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9z +IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3Rp +Y0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlh +Z25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj +dHVyZWRUeXBlIE5hbWU9IlNldFRyaWdnZXJpbmdSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5z +aW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1l +PSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlv +bklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyaWdn +ZXJpbmdJdGVtSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTm9PZkxpbmtzVG9BZGQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJMaW5rc1RvQWRkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5v +T2ZMaW5rc1RvQWRkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxpbmtzVG9SZW1vdmUi +IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMaW5rc1RvUmVt +b3ZlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZMaW5rc1RvUmVtb3Zl IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i -amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5z -OlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIg -VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lc3RhbXBz -VG9SZXR1cm4iIFR5cGVOYW1lPSJ0bnM6VGltZXN0YW1wc1RvUmV0dXJuIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iTm9PZkl0ZW1zVG9DcmVhdGUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJJdGVtc1RvQ3JlYXRlIiBUeXBlTmFtZT0idG5zOk1vbml0b3Jl -ZEl0ZW1DcmVhdGVSZXF1ZXN0IiBMZW5ndGhGaWVsZD0iTm9PZkl0ZW1zVG9DcmVhdGUiIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ3Jl -YXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ +bWU9IlNldFRyaWdnZXJpbmdSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNw -b25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFt -ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9 -InRuczpNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0i -b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBl -TmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9z +b25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBZGRSZXN1bHRzIiBUeXBl +TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWRkUmVzdWx0cyIgVHlw +ZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mQWRkUmVzdWx0cyIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBZGREaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6 +SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGREaWFnbm9zdGljSW5mb3MiIFR5cGVO +YW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZBZGREaWFnbm9zdGljSW5m +b3MiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVtb3ZlUmVzdWx0cyIgVHlwZU5hbWU9 +Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlbW92ZVJlc3VsdHMiIFR5cGVO +YW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlbW92ZVJlc3VsdHMiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVtb3ZlRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0i +b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVtb3ZlRGlhZ25vc3RpY0luZm9z +IiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mUmVtb3ZlRGlh +Z25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj +dHVyZWRUeXBlIE5hbWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgQmFzZVR5cGU9InVh +OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBU +eXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJz +Y3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mTW9uaXRvcmVkSXRlbUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik1vbml0b3JlZEl0ZW1JZHMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5n +dGhGaWVsZD0iTm9PZk1vbml0b3JlZEl0ZW1JZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlTW9uaXRvcmVkSXRlbXNSZXNw +b25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0 +aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9z +dGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE +aWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9 +Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv +cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ3JlYXRlU3Vic2NyaXB0aW9uUmVxdWVzdCIgQmFzZVR5 +cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVh +ZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJSZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkTGlmZXRpbWVDb3VudCIgVHlwZU5hbWU9Im9w +YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRNYXhLZWVwQWxpdmVD +b3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhO +b3RpZmljYXRpb25zUGVyUHVibGlzaCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nRW5hYmxlZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJpb3JpdHkiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4N +CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJD +cmVhdGVTdWJzY3JpcHRpb25SZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNw +b25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBl +TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRQdWJsaXNo +aW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iUmV2aXNlZExpZmV0aW1lQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUmV2aXNlZE1heEtlZXBBbGl2ZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJ +bnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw +ZSBOYW1lPSJNb2RpZnlTdWJzY3JpcHRpb25SZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u +T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0 +bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklk +IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3Rl +ZFB1Ymxpc2hpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJSZXF1ZXN0ZWRMaWZldGltZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50IiBUeXBl +TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heE5vdGlmaWNhdGlv +bnNQZXJQdWJsaXNoIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlByaW9yaXR5IiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9kaWZ5U3Vic2NyaXB0aW9uUmVz +cG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkUHVibGlzaGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3Bj +OkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRMaWZldGltZUNvdW50IiBU +eXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRNYXhL +ZWVwQWxpdmVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2V0UHVibGlzaGluZ01vZGVS +ZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hpbmdFbmFibGVkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4i +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU3Vic2NyaXB0aW9uSWRzIiBUeXBlTmFtZT0i +b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWRzIiBUeXBl +TmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZTdWJzY3JpcHRpb25JZHMiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2V0 +UHVibGlzaGluZ01vZGVSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25z +ZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0i +b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVh +OlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGlj +SW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVj +dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm90aWZpY2F0aW9uTWVz +c2FnZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJTZXF1ZW5jZU51bWJlciIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJQdWJsaXNoVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vT2ZOb3RpZmljYXRpb25EYXRhIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm90aWZpY2F0aW9uRGF0YSIgVHlwZU5hbWU9InVhOkV4 +dGVuc2lvbk9iamVjdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb3RpZmljYXRpb25EYXRhIiAvPg0KICA8 +L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik5vdGlm +aWNhdGlvbkRhdGEiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFDaGFuZ2VOb3Rp +ZmljYXRpb24iIEJhc2VUeXBlPSJ0bnM6Tm90aWZpY2F0aW9uRGF0YSI+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb09mTW9uaXRvcmVkSXRlbXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJNb25pdG9yZWRJdGVtcyIgVHlwZU5hbWU9InRuczpNb25pdG9yZWRJ +dGVtTm90aWZpY2F0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZk1vbml0b3JlZEl0ZW1zIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVh +OkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAg +PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb25p +dG9yZWRJdGVtTm90aWZpY2F0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudEhhbmRsZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOkRhdGFWYWx1ZSIgLz4N +CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJF +dmVudE5vdGlmaWNhdGlvbkxpc3QiIEJhc2VUeXBlPSJ0bnM6Tm90aWZpY2F0aW9uRGF0YSI+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRXZlbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnRzIiBUeXBlTmFtZT0idG5zOkV2ZW50RmllbGRMaXN0 +IiBMZW5ndGhGaWVsZD0iTm9PZkV2ZW50cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFdmVudEZpZWxkTGlzdCIgQmFzZVR5cGU9InVh +OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnRIYW5kbGUiIFR5 +cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkV2ZW50Rmll +bGRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnRG +aWVsZHMiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiBMZW5ndGhGaWVsZD0iTm9PZkV2ZW50RmllbGRz IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9Ik1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq -ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3JlZEl0ZW1JZCIgVHlwZU5hbWU9Im9w -YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRQYXJhbWV0ZXJzIiBU -eXBlTmFtZT0idG5zOk1vbml0b3JpbmdQYXJhbWV0ZXJzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vbml0b3JlZEl0ZW1Nb2RpZnlS -ZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJSZXZpc2VkU2FtcGxpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkUXVldWVTaXplIiBUeXBlTmFtZT0ib3BjOlVJ -bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRlclJlc3VsdCIgVHlwZU5hbWU9InVh -OkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT -dHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb2RpZnlNb25pdG9yZWRJdGVtc1JlcXVlc3QiIEJhc2VUeXBl -PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRl -ciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -U3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiBUeXBlTmFtZT0idG5zOlRpbWVzdGFtcHNUb1JldHVy -biIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZJdGVtc1RvTW9kaWZ5IiBUeXBlTmFtZT0i -b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXRlbXNUb01vZGlmeSIgVHlwZU5h -bWU9InRuczpNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZJdGVt -c1RvTW9kaWZ5IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy -ZWRUeXBlIE5hbWU9Ik1vZGlmeU1vbml0b3JlZEl0ZW1zUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpF -eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5 -cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m -UmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl -c3VsdHMiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCIgTGVuZ3RoRmll +bWU9Ikhpc3RvcnlFdmVudEZpZWxkTGlzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRXZlbnRGaWVsZHMiIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVudEZpZWxkcyIgVHlwZU5hbWU9InVhOlZh +cmlhbnQiIExlbmd0aEZpZWxkPSJOb09mRXZlbnRGaWVsZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3RhdHVzQ2hhbmdlTm90aWZp +Y2F0aW9uIiBCYXNlVHlwZT0idG5zOk5vdGlmaWNhdGlvbkRhdGEiPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iU3RhdHVzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkRpYWdub3N0aWNJbmZvIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3Vi +c2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcXVlbmNlTnVtYmVyIiBUeXBlTmFtZT0ib3Bj +OlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk +VHlwZSBOYW1lPSJQdWJsaXNoUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVl +c3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU3Vic2NyaXB0aW9uQWNrbm93 +bGVkZ2VtZW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudHMiIFR5cGVOYW1lPSJ0bnM6U3Vic2NyaXB0aW9u +QWNrbm93bGVkZ2VtZW50IiBMZW5ndGhGaWVsZD0iTm9PZlN1YnNjcmlwdGlvbkFja25vd2xlZGdl +bWVudHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iUHVibGlzaFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3Bv +bnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWQiIFR5cGVO +YW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkF2YWlsYWJsZVNl +cXVlbmNlTnVtYmVycyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkF2YWlsYWJsZVNlcXVlbmNlTnVtYmVycyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0 +aEZpZWxkPSJOb09mQXZhaWxhYmxlU2VxdWVuY2VOdW1iZXJzIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTW9yZU5vdGlmaWNhdGlvbnMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik5vdGlmaWNhdGlvbk1lc3NhZ2UiIFR5cGVOYW1lPSJ0bnM6Tm90aWZp +Y2F0aW9uTWVzc2FnZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBl +TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5h +bWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFn +bm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVwdWJsaXNo +UmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXRyYW5zbWl0U2VxdWVuY2VOdW1iZXIiIFR5cGVOYW1l +PSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj +dHVyZWRUeXBlIE5hbWU9IlJlcHVibGlzaFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u +T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0i +dG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm90aWZpY2F0aW9u +TWVzc2FnZSIgVHlwZU5hbWU9InRuczpOb3RpZmljYXRpb25NZXNzYWdlIiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRyYW5zZmVyUmVz +dWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTm9PZkF2YWlsYWJsZVNlcXVlbmNlTnVtYmVycyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF2YWlsYWJsZVNlcXVlbmNlTnVtYmVycyIgVHlwZU5h +bWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mQXZhaWxhYmxlU2VxdWVuY2VOdW1iZXJz +IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9IlRyYW5zZmVyU3Vic2NyaXB0aW9uc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P +YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRu +czpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlN1YnNjcmlwdGlv +bklkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNj +cmlwdGlvbklkcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mU3Vic2Ny +aXB0aW9uSWRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VuZEluaXRpYWxWYWx1ZXMiIFR5 +cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w +YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJUcmFuc2ZlclN1YnNjcmlwdGlvbnNSZXNwb25zZSIgQmFz +ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25z +ZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InRuczpUcmFuc2ZlclJlc3VsdCIgTGVuZ3RoRmll bGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJ bmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdu b3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9P ZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT -dHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXRNb25pdG9yaW5nTW9kZVJlcXVlc3QiIEJhc2VUeXBlPSJ1 -YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIg -VHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vi -c2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iTW9uaXRvcmluZ01vZGUiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmluZ01vZGUiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJOb09mTW9uaXRvcmVkSXRlbUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3JlZEl0ZW1JZHMiIFR5cGVOYW1lPSJv -cGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZk1vbml0b3JlZEl0ZW1JZHMiIC8+DQogIDwvb3Bj -OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2V0TW9uaXRv -cmluZ01vZGVSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRl -ciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOklu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1 -c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIg -TGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2V0VHJpZ2dlcmluZ1JlcXVlc3Qi -IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVx -dWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iU3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iVHJpZ2dlcmluZ0l0ZW1JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTGlua3NUb0FkZCIgVHlwZU5hbWU9Im9wYzpJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxpbmtzVG9BZGQiIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiBMZW5ndGhGaWVsZD0iTm9PZkxpbmtzVG9BZGQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJOb09mTGlua3NUb1JlbW92ZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkxpbmtzVG9SZW1vdmUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVs -ZD0iTm9PZkxpbmtzVG9SZW1vdmUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv -cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2V0VHJpZ2dlcmluZ1Jlc3BvbnNlIiBCYXNlVHlwZT0i -dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVy -IiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Tm9PZkFkZFJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJBZGRSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5v -T2ZBZGRSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkFkZERpYWdub3N0aWNJ -bmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFkZERp -YWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0i -Tm9PZkFkZERpYWdub3N0aWNJbmZvcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZW1v -dmVSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UmVtb3ZlUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09m -UmVtb3ZlUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZW1vdmVEaWFnbm9z -dGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS -ZW1vdmVEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3Ro -RmllbGQ9Ik5vT2ZSZW1vdmVEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlTW9uaXRvcmVkSXRlbXNS -ZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZNb25pdG9yZWRJdGVtSWRzIiBUeXBlTmFtZT0ib3Bj -OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmVkSXRlbUlkcyIgVHlwZU5h -bWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mTW9uaXRvcmVkSXRlbUlkcyIgLz4NCiAg -PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxl -dGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3Bv -bnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0i -dWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0 -aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDcmVhdGVTdWJzY3Jp -cHRpb25SZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbCIgVHlwZU5h -bWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRMaWZldGlt -ZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl -cXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoIiBUeXBlTmFtZT0ib3Bj -OlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hpbmdFbmFibGVkIiBUeXBl -TmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcmlvcml0eSIgVHlw -ZU5hbWU9Im9wYzpCeXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 -cnVjdHVyZWRUeXBlIE5hbWU9IkNyZWF0ZVN1YnNjcmlwdGlvblJlc3BvbnNlIiBCYXNlVHlwZT0i -dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVy -IiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -U3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iUmV2aXNlZFB1Ymxpc2hpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkTGlmZXRpbWVDb3VudCIgVHlwZU5hbWU9Im9w -YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkTWF4S2VlcEFsaXZlQ291 -bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvblJlcXVlc3QiIEJh -c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVz -dEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iU3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iUmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRv -dWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZExpZmV0aW1lQ291bnQiIFR5 -cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkTWF4 -S2VlcEFsaXZlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2giIFR5cGVOYW1lPSJvcGM6VUludDMyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJpb3JpdHkiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJN -b2RpZnlTdWJzY3JpcHRpb25SZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNw -b25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRQdWJsaXNoaW5nSW50 -ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2 -aXNlZExpZmV0aW1lQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iUmV2aXNlZE1heEtlZXBBbGl2ZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg -Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l -PSJTZXRQdWJsaXNoaW5nTW9kZVJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1 -ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaGluZ0VuYWJsZWQiIFR5 -cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTdWJzY3Jp -cHRpb25JZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT -dWJzY3JpcHRpb25JZHMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZlN1 -YnNjcmlwdGlvbklkcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 -Y3R1cmVkVHlwZSBOYW1lPSJTZXRQdWJsaXNoaW5nTW9kZVJlc3BvbnNlIiBCYXNlVHlwZT0idWE6 -RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBU -eXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P -ZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS -ZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRz -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9 -Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlw -ZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZv -cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJOb3RpZmljYXRpb25NZXNzYWdlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcXVlbmNlTnVtYmVyIiBUeXBlTmFtZT0ib3BjOlVJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hUaW1lIiBUeXBlTmFtZT0ib3BjOkRh -dGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vdGlmaWNhdGlvbkRhdGEiIFR5 -cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb3RpZmljYXRpb25E -YXRhIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBMZW5ndGhGaWVsZD0iTm9PZk5vdGlm -aWNhdGlvbkRhdGEiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 -dXJlZFR5cGUgTmFtZT0iTm90aWZpY2F0aW9uRGF0YSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i -amVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg -TmFtZT0iRGF0YUNoYW5nZU5vdGlmaWNhdGlvbiIgQmFzZVR5cGU9InRuczpOb3RpZmljYXRpb25E -YXRhIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZNb25pdG9yZWRJdGVtcyIgVHlwZU5hbWU9 -Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3JlZEl0ZW1zIiBUeXBl -TmFtZT0idG5zOk1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iIExlbmd0aEZpZWxkPSJOb09mTW9u -aXRvcmVkSXRlbXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9z -IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3Rp -Y0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlh -Z25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj -dHVyZWRUeXBlIE5hbWU9Ik1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iIEJhc2VUeXBlPSJ1YTpF -eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50SGFuZGxlIiBUeXBl -TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFt -ZT0idWE6RGF0YVZhbHVlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 -cnVjdHVyZWRUeXBlIE5hbWU9IkV2ZW50Tm90aWZpY2F0aW9uTGlzdCIgQmFzZVR5cGU9InRuczpO -b3RpZmljYXRpb25EYXRhIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFdmVudHMiIFR5cGVO -YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVudHMiIFR5cGVOYW1l -PSJ0bnM6RXZlbnRGaWVsZExpc3QiIExlbmd0aEZpZWxkPSJOb09mRXZlbnRzIiAvPg0KICA8L29w -YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkV2ZW50Rmll -bGRMaXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkNsaWVudEhhbmRsZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOb09mRXZlbnRGaWVsZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJFdmVudEZpZWxkcyIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIExlbmd0aEZp -ZWxkPSJOb09mRXZlbnRGaWVsZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv -cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeUV2ZW50RmllbGRMaXN0IiBCYXNlVHlwZT0i -dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFdmVudEZpZWxk -cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50Rmll -bGRzIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZFdmVudEZpZWxkcyIg -Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l -PSJTdGF0dXNDaGFuZ2VOb3RpZmljYXRpb24iIEJhc2VUeXBlPSJ0bnM6Tm90aWZpY2F0aW9uRGF0 -YSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2Rl -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm8iIFR5cGVOYW1lPSJ1YTpE -aWFnbm9zdGljSW5mbyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 -Y3R1cmVkVHlwZSBOYW1lPSJTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiIEJhc2VUeXBlPSJ1 -YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWQi -IFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VxdWVuY2VO -dW1iZXIiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N -Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlB1Ymxpc2hSZXF1ZXN0IiBCYXNlVHlwZT0i -dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIi -IFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v -T2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50cyIgVHlwZU5h -bWU9InRuczpTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiIExlbmd0aEZpZWxkPSJOb09mU3Vi -c2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJQdWJsaXNoUmVzcG9uc2UiIEJhc2VUeXBlPSJ1 -YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIi -IFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT -dWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb09mQXZhaWxhYmxlU2VxdWVuY2VOdW1iZXJzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXZhaWxhYmxlU2VxdWVuY2VOdW1iZXJzIiBUeXBlTmFt -ZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBdmFpbGFibGVTZXF1ZW5jZU51bWJlcnMi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb3JlTm90aWZpY2F0aW9ucyIgVHlwZU5hbWU9Im9w -YzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm90aWZpY2F0aW9uTWVzc2FnZSIg -VHlwZU5hbWU9InRuczpOb3RpZmljYXRpb25NZXNzYWdlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZS -ZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlw -ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZv -cyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0 -aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk -VHlwZSBOYW1lPSJSZXB1Ymxpc2hSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 -Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVx -dWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBl -TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldHJhbnNtaXRTZXF1 -ZW5jZU51bWJlciIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVwdWJsaXNoUmVzcG9uc2UiIEJh -c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9u -c2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOb3RpZmljYXRpb25NZXNzYWdlIiBUeXBlTmFtZT0idG5zOk5vdGlmaWNhdGlvbk1l -c3NhZ2UiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iVHJhbnNmZXJSZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXZhaWxhYmxlU2VxdWVuY2VOdW1iZXJzIiBU -eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXZhaWxhYmxlU2Vx -dWVuY2VOdW1iZXJzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBdmFp -bGFibGVTZXF1ZW5jZU51bWJlcnMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv -cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVHJhbnNmZXJTdWJzY3JpcHRpb25zUmVxdWVzdCIgQmFz -ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0 -SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb09mU3Vic2NyaXB0aW9uSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWRzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVu -Z3RoRmllbGQ9Ik5vT2ZTdWJzY3JpcHRpb25JZHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT -ZW5kSW5pdGlhbFZhbHVlcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRyYW5zZmVyU3Vic2Ny -aXB0aW9uc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50 -MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idG5zOlRyYW5z -ZmVyUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0lu -Zm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZVN1YnNjcmlwdGlv -bnNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTdWJzY3JpcHRpb25JZHMiIFR5cGVOYW1lPSJvcGM6SW50 -MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZHMiIFR5cGVOYW1lPSJv -cGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZlN1YnNjcmlwdGlvbklkcyIgLz4NCiAgPC9vcGM6 -U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVTdWJz -Y3JpcHRpb25zUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFk -ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJ -bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0 -dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8i -IExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJ1aWxkSW5mbyIgQmFzZVR5cGU9 -InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcm9kdWN0VXJpIiBU -eXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1hbnVmYWN0dXJl -ck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJv -ZHVjdE5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -U29mdHdhcmVWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkJ1aWxkTnVtYmVyIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkJ1aWxkRGF0ZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgPC9vcGM6 -U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJSZWR1bmRhbmN5 -U3VwcG9ydCIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt -ZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ29s -ZCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iV2FybSIgVmFs -dWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSG90IiBWYWx1ZT0iMyIg -Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJUcmFuc3BhcmVudCIgVmFsdWU9IjQi -IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSG90QW5kTWlycm9yZWQiIFZhbHVl -PSI1IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBl -IE5hbWU9IlNlcnZlclN0YXRlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0 -ZWRWYWx1ZSBOYW1lPSJSdW5uaW5nIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJGYWlsZWQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9Ik5vQ29uZmlndXJhdGlvbiIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk -VmFsdWUgTmFtZT0iU3VzcGVuZGVkIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJTaHV0ZG93biIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs -dWUgTmFtZT0iVGVzdCIgVmFsdWU9IjUiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt -ZT0iQ29tbXVuaWNhdGlvbkZhdWx0IiBWYWx1ZT0iNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJVbmtub3duIiBWYWx1ZT0iNyIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2 -ZXJJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2 -aWNlTGV2ZWwiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNl -cnZlclN0YXRlIiBUeXBlTmFtZT0idG5zOlNlcnZlclN0YXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkVuZHBvaW50VXJsTGlzdERh -dGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ik5vT2ZFbmRwb2ludFVybExpc3QiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybExpc3QiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5n -dGhGaWVsZD0iTm9PZkVuZHBvaW50VXJsTGlzdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJOZXR3b3JrR3JvdXBEYXRhVHlwZSIgQmFz -ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJV -cmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5l -dHdvcmtQYXRocyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -Ik5ldHdvcmtQYXRocyIgVHlwZU5hbWU9InRuczpFbmRwb2ludFVybExpc3REYXRhVHlwZSIgTGVu -Z3RoRmllbGQ9Ik5vT2ZOZXR3b3JrUGF0aHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K -DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNz -RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iU2FtcGxpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJNb25pdG9yZWRJdGVtQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4TW9uaXRvcmVkSXRlbUNvdW50IiBUeXBlTmFtZT0i -b3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2FibGVkTW9uaXRvcmVkSXRl -bUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXJ2ZXJEaWFnbm9zdGljc1N1bW1hcnlE -YXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJTZXJ2ZXJWaWV3Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iQ3VycmVudFNlc3Npb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdW11bGF0ZWRTZXNzaW9uQ291bnQiIFR5cGVOYW1lPSJv -cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlSZWplY3RlZFNlc3Np -b25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS -ZWplY3RlZFNlc3Npb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJTZXNzaW9uVGltZW91dENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlc3Npb25BYm9ydENvdW50IiBUeXBlTmFtZT0ib3BjOlVJ -bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1cnJlbnRTdWJzY3JpcHRpb25Db3VudCIg -VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdW11bGF0ZWRT -dWJzY3JpcHRpb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJQdWJsaXNoaW5nSW50ZXJ2YWxDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eVJlamVjdGVkUmVxdWVzdHNDb3VudCIgVHlw -ZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWplY3RlZFJlcXVl -c3RzQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw -ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNlcnZlclN0YXR1c0RhdGFUeXBlIiBC -YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXJ0 -VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1 -cnJlbnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iU3RhdGUiIFR5cGVOYW1lPSJ0bnM6U2VydmVyU3RhdGUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJCdWlsZEluZm8iIFR5cGVOYW1lPSJ0bnM6QnVpbGRJbmZvIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iU2Vjb25kc1RpbGxTaHV0ZG93biIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJTaHV0ZG93blJlYXNvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXpl -ZFRleHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp -b25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6 -Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvbk5hbWUiIFR5cGVOYW1lPSJv -cGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50RGVzY3JpcHRpb24iIFR5 -cGVOYW1lPSJ0bnM6QXBwbGljYXRpb25EZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlNlcnZlclVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJFbmRwb2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOb09mTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9 -Ik5vT2ZMb2NhbGVJZHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBY3R1YWxTZXNzaW9uVGlt -ZW91dCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhS -ZXNwb25zZU1lc3NhZ2VTaXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkNsaWVudENvbm5lY3Rpb25UaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50TGFzdENvbnRhY3RUaW1lIiBUeXBlTmFtZT0i -b3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3VycmVudFN1YnNjcmlwdGlv -bnNDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJD -dXJyZW50TW9uaXRvcmVkSXRlbXNDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJDdXJyZW50UHVibGlzaFJlcXVlc3RzSW5RdWV1ZSIgVHlwZU5hbWU9 -Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUb3RhbFJlcXVlc3RDb3VudCIg -VHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iVW5hdXRob3JpemVkUmVxdWVzdENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlYWRDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291 -bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSGlzdG9yeVJlYWRDb3VudCIg -VHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iV3JpdGVDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSGlzdG9yeVVwZGF0ZUNvdW50IiBUeXBlTmFtZT0idG5z -OlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDYWxsQ291 -bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2Vydmlj -ZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vZGlmeU1vbml0b3Jl -ZEl0ZW1zQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlNldE1vbml0b3JpbmdNb2RlQ291bnQiIFR5cGVOYW1lPSJ0bnM6 -U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNldFRyaWdn -ZXJpbmdDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iRGVsZXRlTW9uaXRvcmVkSXRlbXNDb3VudCIgVHlwZU5hbWU9InRu -czpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3JlYXRl -U3Vic2NyaXB0aW9uQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvbkNvdW50IiBUeXBlTmFt +dHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVTdWJzY3JpcHRpb25zUmVxdWVzdCIgQmFzZVR5cGU9 +InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVy +IiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO +b09mU3Vic2NyaXB0aW9uSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iU3Vic2NyaXB0aW9uSWRzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmll +bGQ9Ik5vT2ZTdWJzY3JpcHRpb25JZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog +IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlU3Vic2NyaXB0aW9uc1Jlc3BvbnNlIiBC +YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3Bv +bnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9 +Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZv +cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0 +aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRp +YWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 +Y3R1cmVkVHlwZSBOYW1lPSJCdWlsZEluZm8iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJvZHVjdFVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmci +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYW51ZmFjdHVyZXJOYW1lIiBUeXBlTmFtZT0ib3Bj +OlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByb2R1Y3ROYW1lIiBUeXBlTmFtZT0i +b3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvZnR3YXJlVmVyc2lvbiIgVHlw +ZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCdWlsZE51bWJlciIg +VHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCdWlsZERhdGUi +IFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog +IDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iUmVkdW5kYW5jeVN1cHBvcnQiIExlbmd0aEluQml0 +cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAv +Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkNvbGQiIFZhbHVlPSIxIiAvPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ildhcm0iIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6 +RW51bWVyYXRlZFZhbHVlIE5hbWU9IkhvdCIgVmFsdWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJh +dGVkVmFsdWUgTmFtZT0iVHJhbnNwYXJlbnQiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVy +YXRlZFZhbHVlIE5hbWU9IkhvdEFuZE1pcnJvcmVkIiBWYWx1ZT0iNSIgLz4NCiAgPC9vcGM6RW51 +bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJTZXJ2ZXJTdGF0ZSIg +TGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUnVubmlu +ZyIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRmFpbGVkIiBW +YWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb0NvbmZpZ3VyYXRp +b24iIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN1c3BlbmRl +ZCIgVmFsdWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU2h1dGRvd24i +IFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlRlc3QiIFZhbHVl +PSI1IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkNvbW11bmljYXRpb25GYXVs +dCIgVmFsdWU9IjYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVW5rbm93biIg +VmFsdWU9IjciIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl +ZFR5cGUgTmFtZT0iUmVkdW5kYW50U2VydmVyRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp +b25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVySWQiIFR5cGVOYW1lPSJvcGM6 +U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmljZUxldmVsIiBUeXBlTmFtZT0i +b3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJTdGF0ZSIgVHlwZU5hbWU9 +InRuczpTZXJ2ZXJTdGF0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT +dHJ1Y3R1cmVkVHlwZSBOYW1lPSJFbmRwb2ludFVybExpc3REYXRhVHlwZSIgQmFzZVR5cGU9InVh +OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRW5kcG9pbnRVcmxM +aXN0IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kcG9p +bnRVcmxMaXN0IiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZFbmRwb2lu +dFVybExpc3QiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl +ZFR5cGUgTmFtZT0iTmV0d29ya0dyb3VwRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P +YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyVXJpIiBUeXBlTmFtZT0ib3BjOlN0 +cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOZXR3b3JrUGF0aHMiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOZXR3b3JrUGF0aHMiIFR5cGVO +YW1lPSJ0bnM6RW5kcG9pbnRVcmxMaXN0RGF0YVR5cGUiIExlbmd0aEZpZWxkPSJOb09mTmV0d29y +a1BhdGhzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU +eXBlIE5hbWU9IlNhbXBsaW5nSW50ZXJ2YWxEaWFnbm9zdGljc0RhdGFUeXBlIiBCYXNlVHlwZT0i +dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNhbXBsaW5nSW50ZXJ2 +YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRv +cmVkSXRlbUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ik1heE1vbml0b3JlZEl0ZW1Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJEaXNhYmxlZE1vbml0b3JlZEl0ZW1Db3VudCIgVHlwZU5hbWU9Im9w +YzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl +ZFR5cGUgTmFtZT0iU2VydmVyRGlhZ25vc3RpY3NTdW1tYXJ5RGF0YVR5cGUiIEJhc2VUeXBlPSJ1 +YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyVmlld0NvdW50 +IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1cnJlbnRT +ZXNzaW9uQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iQ3VtdWxhdGVkU2Vzc2lvbkNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5UmVqZWN0ZWRTZXNzaW9uQ291bnQiIFR5cGVOYW1lPSJv +cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVqZWN0ZWRTZXNzaW9uQ291bnQi +IFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvblRp +bWVvdXRDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJTZXNzaW9uQWJvcnRDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJDdXJyZW50U3Vic2NyaXB0aW9uQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3VtdWxhdGVkU3Vic2NyaXB0aW9uQ291bnQiIFR5 +cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaGluZ0lu +dGVydmFsQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iU2VjdXJpdHlSZWplY3RlZFJlcXVlc3RzQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVqZWN0ZWRSZXF1ZXN0c0NvdW50IiBUeXBlTmFtZT0i +b3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 +cmVkVHlwZSBOYW1lPSJTZXJ2ZXJTdGF0dXNEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lv +bk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGFydFRpbWUiIFR5cGVOYW1lPSJvcGM6 +RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdXJyZW50VGltZSIgVHlwZU5hbWU9 +Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXRlIiBUeXBlTmFtZT0i +dG5zOlNlcnZlclN0YXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnVpbGRJbmZvIiBUeXBl +TmFtZT0idG5zOkJ1aWxkSW5mbyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY29uZHNUaWxs +U2h1dGRvd24iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +U2h1dGRvd25SZWFzb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNlc3Npb25EaWFn +bm9zdGljc0RhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlNlc3Npb25OYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkNsaWVudERlc2NyaXB0aW9uIiBUeXBlTmFtZT0idG5zOkFwcGxpY2F0 +aW9uRGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJVcmkiIFR5cGVO +YW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kcG9pbnRVcmwiIFR5 +cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxvY2FsZUlk +cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsZUlk +cyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mTG9jYWxlSWRzIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iQWN0dWFsU2Vzc2lvblRpbWVvdXQiIFR5cGVOYW1lPSJvcGM6 +RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4UmVzcG9uc2VNZXNzYWdlU2l6ZSIg +VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnRDb25u +ZWN0aW9uVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkNsaWVudExhc3RDb250YWN0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkN1cnJlbnRTdWJzY3JpcHRpb25zQ291bnQiIFR5cGVOYW1lPSJv +cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3VycmVudE1vbml0b3JlZEl0ZW1z +Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3Vy +cmVudFB1Ymxpc2hSZXF1ZXN0c0luUXVldWUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iVG90YWxSZXF1ZXN0Q291bnQiIFR5cGVOYW1lPSJ0bnM6U2Vydmlj +ZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVuYXV0aG9yaXplZFJl +cXVlc3RDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJSZWFkQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ikhpc3RvcnlSZWFkQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2Vydmlj +ZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlQ291bnQiIFR5 +cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ikhpc3RvcnlVcGRhdGVDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFU +eXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2FsbENvdW50IiBUeXBlTmFtZT0idG5zOlNl +cnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDcmVhdGVNb25p +dG9yZWRJdGVtc0NvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb2RpZnlNb25pdG9yZWRJdGVtc0NvdW50IiBUeXBlTmFt ZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT -ZXRQdWJsaXNoaW5nTW9kZUNvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5 -cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoQ291bnQiIFR5cGVOYW1lPSJ0bnM6 -U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcHVibGlz -aENvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJUcmFuc2ZlclN1YnNjcmlwdGlvbnNDb3VudCIgVHlwZU5hbWU9InRuczpT -ZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVsZXRlU3Vi -c2NyaXB0aW9uc0NvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGROb2Rlc0NvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZp -Y2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGRSZWZlcmVuY2Vz -Q291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IkRlbGV0ZU5vZGVzQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50 -ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNDb3Vu +ZXRNb25pdG9yaW5nTW9kZUNvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5 +cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXRUcmlnZ2VyaW5nQ291bnQiIFR5cGVOYW1l +PSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRl +bGV0ZU1vbml0b3JlZEl0ZW1zQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRh +VHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNyZWF0ZVN1YnNjcmlwdGlvbkNvdW50IiBU +eXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJNb2RpZnlTdWJzY3JpcHRpb25Db3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRl +ckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2V0UHVibGlzaGluZ01vZGVDb3Vu dCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iQnJvd3NlQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlw -ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5leHRDb3VudCIgVHlwZU5hbWU9InRu -czpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNs -YXRlQnJvd3NlUGF0aHNUb05vZGVJZHNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRl -ckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVlcnlGaXJzdENvdW50IiBUeXBl -TmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJRdWVyeU5leHRDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVnaXN0ZXJOb2Rlc0NvdW50IiBUeXBlTmFtZT0idG5z -OlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVbnJlZ2lz -dGVyTm9kZXNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0K -ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNl -c3Npb25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P -YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6Tm9k -ZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50VXNlcklkT2ZTZXNzaW9uIiBUeXBl -TmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZDbGllbnRVc2Vy -SWRIaXN0b3J5IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Q2xpZW50VXNlcklkSGlzdG9yeSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJO -b09mQ2xpZW50VXNlcklkSGlzdG9yeSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF1dGhlbnRp -Y2F0aW9uTWVjaGFuaXNtIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkVuY29kaW5nIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlRyYW5zcG9ydFByb3RvY29sIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TW9kZSIgVHlwZU5hbWU9InRuczpNZXNzYWdlU2VjdXJp -dHlNb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlQb2xpY3lVcmkiIFR5cGVO -YW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50Q2VydGlmaWNh -dGUiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBC -YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRvdGFs -Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXJy -b3JDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl -Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3RhdHVzUmVzdWx0IiBCYXNlVHlwZT0i -dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5 -cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3Rp -Y0luZm8iIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl -ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTdWJzY3JpcHRpb25EaWFnbm9z +bGQgTmFtZT0iUHVibGlzaENvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5 +cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXB1Ymxpc2hDb3VudCIgVHlwZU5hbWU9InRu +czpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNm +ZXJTdWJzY3JpcHRpb25zQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlw +ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlbGV0ZVN1YnNjcmlwdGlvbnNDb3VudCIgVHlw +ZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iQWRkTm9kZXNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWRkUmVmZXJlbmNlc0NvdW50IiBUeXBlTmFtZT0idG5z +OlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZWxldGVO +b2Rlc0NvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJEZWxldGVSZWZlcmVuY2VzQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2Vy +dmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZUNvdW50 +IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJCcm93c2VOZXh0Q291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRh +VHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2Rl +SWRzQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlF1ZXJ5Rmlyc3RDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291 +bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVlcnlOZXh0Q291bnQiIFR5 +cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlJlZ2lzdGVyTm9kZXNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFU +eXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVW5yZWdpc3Rlck5vZGVzQ291bnQiIFR5cGVO +YW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 +cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXNzaW9uU2VjdXJpdHlEaWFnbm9z dGljc0RhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp ZWxkIE5hbWU9IlNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlByaW9yaXR5IiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4S2VlcEFsaXZlQ291bnQiIFR5cGVOYW1lPSJvcGM6 -VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4TGlmZXRpbWVDb3VudCIgVHlwZU5h -bWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhOb3RpZmljYXRpb25z -UGVyUHVibGlzaCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJQdWJsaXNoaW5nRW5hYmxlZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iTW9kaWZ5Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iRW5hYmxlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iRGlzYWJsZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcHVibGlzaFJlcXVlc3RDb3VudCIgVHlwZU5hbWU9Im9w -YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXB1Ymxpc2hNZXNzYWdlUmVxdWVz -dENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl -cHVibGlzaE1lc3NhZ2VDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJUcmFuc2ZlclJlcXVlc3RDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc2ZlcnJlZFRvQWx0Q2xpZW50Q291bnQiIFR5cGVO -YW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNmZXJyZWRUb1Nh -bWVDbGllbnRDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJQdWJsaXNoUmVxdWVzdENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IkRhdGFDaGFuZ2VOb3RpZmljYXRpb25zQ291bnQiIFR5cGVOYW1lPSJv -cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnROb3RpZmljYXRpb25zQ291 -bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm90aWZp -Y2F0aW9uc0NvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkxhdGVQdWJsaXNoUmVxdWVzdENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkN1cnJlbnRLZWVwQWxpdmVDb3VudCIgVHlwZU5hbWU9Im9wYzpV -SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdXJyZW50TGlmZXRpbWVDb3VudCIgVHlw -ZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVbmFja25vd2xlZGdl -ZE1lc3NhZ2VDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJEaXNjYXJkZWRNZXNzYWdlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmVkSXRlbUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2FibGVkTW9uaXRvcmVkSXRlbUNvdW50IiBU -eXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3JpbmdR -dWV1ZU92ZXJmbG93Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTmV4dFNlcXVlbmNlTnVtYmVyIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50UXVldWVPdmVyRmxvd0NvdW50IiBUeXBlTmFtZT0ib3Bj -OlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVk -VHlwZSBOYW1lPSJNb2RlbENoYW5nZVN0cnVjdHVyZVZlcmJNYXNrIiBMZW5ndGhJbkJpdHM9IjMy -Ij4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlQWRkZWQiIFZhbHVlPSIxIiAv -Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vZGVEZWxldGVkIiBWYWx1ZT0iMiIg -Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWZlcmVuY2VBZGRlZCIgVmFsdWU9 -IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlRGVsZXRlZCIg -VmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGF0YVR5cGVDaGFu -Z2VkIiBWYWx1ZT0iMTYiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3Ry -dWN0dXJlZFR5cGUgTmFtZT0iTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgQmFzZVR5cGU9 -InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZmZlY3RlZCIgVHlw -ZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFmZmVjdGVkVHlwZSIg -VHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZlcmIiIFR5cGVO -YW1lPSJvcGM6Qnl0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 -Y3R1cmVkVHlwZSBOYW1lPSJTZW1hbnRpY0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiBCYXNlVHlw -ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFmZmVjdGVkIiBU -eXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWZmZWN0ZWRUeXBl -IiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 -b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJhbmdlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq -ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvdyIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJIaWdoIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAg -PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFVUlu -Zm9ybWF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5hbWVzcGFjZVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJVbml0SWQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQi -IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFt -ZT0iQXhpc1NjYWxlRW51bWVyYXRpb24iIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9IkxpbmVhciIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJh -dGVkVmFsdWUgTmFtZT0iTG9nIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJMbiIgVmFsdWU9IjIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxv -cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ29tcGxleE51bWJlclR5cGUiIEJhc2VUeXBlPSJ1YTpF -eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVhbCIgVHlwZU5hbWU9Im9w -YzpGbG9hdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkltYWdpbmFyeSIgVHlwZU5hbWU9Im9w -YzpGbG9hdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk -VHlwZSBOYW1lPSJEb3VibGVDb21wbGV4TnVtYmVyVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lv -bk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWFsIiBUeXBlTmFtZT0ib3BjOkRvdWJs -ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkltYWdpbmFyeSIgVHlwZU5hbWU9Im9wYzpEb3Vi -bGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg -TmFtZT0iQXhpc0luZm9ybWF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkVuZ2luZWVyaW5nVW5pdHMiIFR5cGVOYW1lPSJ0bnM6RVVJbmZv -cm1hdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVVUmFuZ2UiIFR5cGVOYW1lPSJ0bnM6 -UmFuZ2UiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaXRsZSIgVHlwZU5hbWU9InVhOkxvY2Fs -aXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBeGlzU2NhbGVUeXBlIiBUeXBlTmFt -ZT0idG5zOkF4aXNTY2FsZUVudW1lcmF0aW9uIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P -ZkF4aXNTdGVwcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkF4aXNTdGVwcyIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIExlbmd0aEZpZWxkPSJOb09mQXhpc1N0 -ZXBzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl -IE5hbWU9IlhWVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJYIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlZhbHVlIiBUeXBlTmFtZT0ib3BjOkZsb2F0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw -ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlByb2dyYW1EaWFnbm9zdGljRGF0YVR5 -cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Q3JlYXRlU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iQ3JlYXRlQ2xpZW50TmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJJbnZvY2F0aW9uQ3JlYXRpb25UaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVU -aW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdFRyYW5zaXRpb25UaW1lIiBUeXBlTmFt -ZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZENhbGwi -IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhv -ZFNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -Ik5vT2ZMYXN0TWV0aG9kSW5wdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kSW5wdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJ0 -bnM6QXJndW1lbnQiIExlbmd0aEZpZWxkPSJOb09mTGFzdE1ldGhvZElucHV0QXJndW1lbnRzIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxhc3RNZXRob2RPdXRwdXRBcmd1bWVudHMiIFR5 -cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kT3V0 -cHV0QXJndW1lbnRzIiBUeXBlTmFtZT0idG5zOkFyZ3VtZW50IiBMZW5ndGhGaWVsZD0iTm9PZkxh -c3RNZXRob2RPdXRwdXRBcmd1bWVudHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0 -aG9kQ2FsbFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJMYXN0TWV0aG9kUmV0dXJuU3RhdHVzIiBUeXBlTmFtZT0idG5zOlN0YXR1c1Jlc3VsdCIg -Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l -PSJBbm5vdGF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik1lc3NhZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iVXNlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iQW5ub3RhdGlvblRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogIDwv -b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRXhjZXB0 -aW9uRGV2aWF0aW9uRm9ybWF0IiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0 -ZWRWYWx1ZSBOYW1lPSJBYnNvbHV0ZVZhbHVlIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1l -cmF0ZWRWYWx1ZSBOYW1lPSJQZXJjZW50T2ZWYWx1ZSIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpF -bnVtZXJhdGVkVmFsdWUgTmFtZT0iUGVyY2VudE9mUmFuZ2UiIFZhbHVlPSIyIiAvPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlBlcmNlbnRPZkVVUmFuZ2UiIFZhbHVlPSIzIiAvPg0K -ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVua25vd24iIFZhbHVlPSI0IiAvPg0KICA8 -L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KPC9vcGM6VHlwZURpY3Rpb25hcnk+ +ZWxkIE5hbWU9IkNsaWVudFVzZXJJZE9mU2Vzc2lvbiIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQ2xpZW50VXNlcklkSGlzdG9yeSIgVHlwZU5hbWU9 +Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudFVzZXJJZEhpc3Rvcnki +IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZkNsaWVudFVzZXJJZEhpc3Rv +cnkiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdXRoZW50aWNhdGlvbk1lY2hhbmlzbSIgVHlw +ZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmNvZGluZyIgVHlw +ZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc3BvcnRQcm90 +b2NvbCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1 +cml0eU1vZGUiIFR5cGVOYW1lPSJ0bnM6TWVzc2FnZVNlY3VyaXR5TW9kZSIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlNlY3VyaXR5UG9saWN5VXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudENlcnRpZmljYXRlIiBUeXBlTmFtZT0ib3BjOkJ5 +dGVTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl +ZFR5cGUgTmFtZT0iU2VydmljZUNvdW50ZXJEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lv +bk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUb3RhbENvdW50IiBUeXBlTmFtZT0ib3Bj +OlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVycm9yQ291bnQiIFR5cGVOYW1lPSJv +cGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy +ZWRUeXBlIE5hbWU9IlN0YXR1c1Jlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29k +ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvIiBUeXBlTmFtZT0idWE6 +RGlhZ25vc3RpY0luZm8iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry +dWN0dXJlZFR5cGUgTmFtZT0iU3Vic2NyaXB0aW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgQmFzZVR5 +cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXNzaW9uSWQi +IFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRp +b25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcmlv +cml0eSIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlz +aGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ik1heEtlZXBBbGl2ZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik1heExpZmV0aW1lQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2giIFR5cGVOYW1l +PSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaGluZ0VuYWJsZWQi +IFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vZGlmeUNv +dW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuYWJs +ZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRp +c2FibGVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJSZXB1Ymxpc2hSZXF1ZXN0Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUmVwdWJsaXNoTWVzc2FnZVJlcXVlc3RDb3VudCIgVHlwZU5hbWU9Im9w +YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXB1Ymxpc2hNZXNzYWdlQ291bnQi +IFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNmZXJS +ZXF1ZXN0Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iVHJhbnNmZXJyZWRUb0FsdENsaWVudENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyYW5zZmVycmVkVG9TYW1lQ2xpZW50Q291bnQiIFR5cGVO +YW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaFJlcXVlc3RD +b3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRh +Q2hhbmdlTm90aWZpY2F0aW9uc0NvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkV2ZW50Tm90aWZpY2F0aW9uc0NvdW50IiBUeXBlTmFtZT0ib3BjOlVJ +bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vdGlmaWNhdGlvbnNDb3VudCIgVHlwZU5h +bWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXRlUHVibGlzaFJlcXVl +c3RDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJD +dXJyZW50S2VlcEFsaXZlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iQ3VycmVudExpZmV0aW1lQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVW5hY2tub3dsZWRnZWRNZXNzYWdlQ291bnQiIFR5cGVO +YW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY2FyZGVkTWVzc2Fn +ZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1v +bml0b3JlZEl0ZW1Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJEaXNhYmxlZE1vbml0b3JlZEl0ZW1Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb25pdG9yaW5nUXVldWVPdmVyZmxvd0NvdW50IiBU +eXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5leHRTZXF1ZW5j +ZU51bWJlciIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJF +dmVudFF1ZXVlT3ZlckZsb3dDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iTW9kZWxDaGFu +Z2VTdHJ1Y3R1cmVWZXJiTWFzayIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJh +dGVkVmFsdWUgTmFtZT0iTm9kZUFkZGVkIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0 +ZWRWYWx1ZSBOYW1lPSJOb2RlRGVsZXRlZCIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJh +dGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlQWRkZWQiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IlJlZmVyZW5jZURlbGV0ZWQiIFZhbHVlPSI4IiAvPg0KICAgIDxv +cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRhdGFUeXBlQ2hhbmdlZCIgVmFsdWU9IjE2IiAvPg0K +ICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1v +ZGVsQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWZmZWN0ZWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZmZlY3RlZFR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWZXJiIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2Vt +YW50aWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj +dCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZmZlY3RlZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFmZmVjdGVkVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJ +ZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO +YW1lPSJSYW5nZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJMb3ciIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iSGlnaCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRVVJbmZvcm1hdGlvbiIgQmFzZVR5cGU9 +InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lc3BhY2VVcmki +IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVW5pdElkIiBU +eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUi +IFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVz +Y3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkF4aXNTY2FsZUVudW1lcmF0 +aW9uIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJM +aW5lYXIiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkxvZyIg +VmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTG4iIFZhbHVlPSIy +IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9IkNvbXBsZXhOdW1iZXJUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlJlYWwiIFR5cGVOYW1lPSJvcGM6RmxvYXQiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJJbWFnaW5hcnkiIFR5cGVOYW1lPSJvcGM6RmxvYXQiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRG91YmxlQ29t +cGxleE51bWJlclR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iUmVhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJJbWFnaW5hcnkiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkF4aXNJbmZvcm1hdGlv +biIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJF +bmdpbmVlcmluZ1VuaXRzIiBUeXBlTmFtZT0idG5zOkVVSW5mb3JtYXRpb24iIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJFVVJhbmdlIiBUeXBlTmFtZT0idG5zOlJhbmdlIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iVGl0bGUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iQXhpc1NjYWxlVHlwZSIgVHlwZU5hbWU9InRuczpBeGlzU2NhbGVFbnVt +ZXJhdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBeGlzU3RlcHMiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBeGlzU3RlcHMiIFR5cGVOYW1l +PSJvcGM6RG91YmxlIiBMZW5ndGhGaWVsZD0iTm9PZkF4aXNTdGVwcyIgLz4NCiAgPC9vcGM6U3Ry +dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJYVlR5cGUiIEJhc2VU +eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iWCIgVHlwZU5h +bWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9 +Im9wYzpGbG9hdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 +cmVkVHlwZSBOYW1lPSJQcm9ncmFtRGlhZ25vc3RpY0RhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0 +ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNyZWF0ZVNlc3Npb25JZCIgVHlw +ZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNyZWF0ZUNsaWVudE5h +bWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW52b2Nh +dGlvbkNyZWF0aW9uVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ikxhc3RUcmFuc2l0aW9uVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxhc3RNZXRob2RDYWxsIiBUeXBlTmFtZT0ib3BjOlN0cmlu +ZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxhc3RNZXRob2RTZXNzaW9uSWQiIFR5cGVOYW1l +PSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTGFzdE1ldGhvZElucHV0 +QXJndW1lbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +TGFzdE1ldGhvZElucHV0QXJndW1lbnRzIiBUeXBlTmFtZT0idG5zOkFyZ3VtZW50IiBMZW5ndGhG +aWVsZD0iTm9PZkxhc3RNZXRob2RJbnB1dEFyZ3VtZW50cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ik5vT2ZMYXN0TWV0aG9kT3V0cHV0QXJndW1lbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZE91dHB1dEFyZ3VtZW50cyIgVHlwZU5h +bWU9InRuczpBcmd1bWVudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZMYXN0TWV0aG9kT3V0cHV0QXJndW1l +bnRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZENhbGxUaW1lIiBUeXBlTmFt +ZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZFJldHVy +blN0YXR1cyIgVHlwZU5hbWU9InRuczpTdGF0dXNSZXN1bHQiIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUHJvZ3JhbURpYWdub3N0aWMy +RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iQ3JlYXRlU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iQ3JlYXRlQ2xpZW50TmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJJbnZvY2F0aW9uQ3JlYXRpb25UaW1lIiBUeXBlTmFtZT0ib3Bj +OkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdFRyYW5zaXRpb25UaW1lIiBU +eXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhv +ZENhbGwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFz +dE1ldGhvZFNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vT2ZMYXN0TWV0aG9kSW5wdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kSW5wdXRBcmd1bWVudHMiIFR5cGVO +YW1lPSJ0bnM6QXJndW1lbnQiIExlbmd0aEZpZWxkPSJOb09mTGFzdE1ldGhvZElucHV0QXJndW1l +bnRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxhc3RNZXRob2RPdXRwdXRBcmd1bWVu +dHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0 +aG9kT3V0cHV0QXJndW1lbnRzIiBUeXBlTmFtZT0idG5zOkFyZ3VtZW50IiBMZW5ndGhGaWVsZD0i +Tm9PZkxhc3RNZXRob2RPdXRwdXRBcmd1bWVudHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO +b09mTGFzdE1ldGhvZElucHV0VmFsdWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZElucHV0VmFsdWVzIiBUeXBlTmFtZT0idWE6VmFyaWFu +dCIgTGVuZ3RoRmllbGQ9Ik5vT2ZMYXN0TWV0aG9kSW5wdXRWYWx1ZXMiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJOb09mTGFzdE1ldGhvZE91dHB1dFZhbHVlcyIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxhc3RNZXRob2RPdXRwdXRWYWx1ZXMiIFR5cGVO +YW1lPSJ1YTpWYXJpYW50IiBMZW5ndGhGaWVsZD0iTm9PZkxhc3RNZXRob2RPdXRwdXRWYWx1ZXMi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kQ2FsbFRpbWUiIFR5cGVOYW1lPSJv +cGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kUmV0dXJuU3Rh +dHVzIiBUeXBlTmFtZT0idG5zOlN0YXR1c1Jlc3VsdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 +cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBbm5vdGF0aW9uIiBCYXNlVHlwZT0i +dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2UiIFR5cGVO +YW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlck5hbWUiIFR5cGVO +YW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQW5ub3RhdGlvblRpbWUi +IFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog +IDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRXhjZXB0aW9uRGV2aWF0aW9uRm9ybWF0IiBMZW5n +dGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBYnNvbHV0ZVZh +bHVlIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJQZXJjZW50 +T2ZWYWx1ZSIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUGVy +Y2VudE9mUmFuZ2UiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 +IlBlcmNlbnRPZkVVUmFuZ2UiIFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9IlVua25vd24iIFZhbHVlPSI0IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0K +PC9vcGM6VHlwZURpY3Rpb25hcnk+ + + + + NamespaceUri + A URI that uniquely identifies the dictionary. + + i=68 + i=7617 + + + http://opcfoundation.org/UA/ + + + + Deprecated + Indicates that all of the definitions for the dictionary are available through a DataTypeDefinition Attribute. + + i=68 + i=7617 + + + true + + + + KeyValuePair + + i=69 + i=7617 + + + KeyValuePair + + + + EndpointType + + i=69 + i=7617 + + + EndpointType + + + + IdentityMappingRuleType + + i=69 + i=7617 + + + IdentityMappingRuleType + + + + 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 + + + + 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 + + + + Union + + i=69 + i=7617 + + + Union + + + + 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=14533 + i=14829 + i=76 + + + + Default XML + + i=15528 + i=16024 + i=76 + + + + Default XML + + i=15634 + i=15730 + 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 + + + + Opc.Ua + + i=8254 + i=15039 + i=14829 + i=16024 + i=15730 + 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=16127 + i=18166 + i=18169 + i=18172 + i=18175 + i=8285 + i=8291 + i=14826 + i=12759 + i=12762 + 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=15402 + 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 +cGUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCaXRG +aWVsZE1hc2tEYXRhVHlwZSIgdHlwZT0ieHM6dW5zaWduZWRMb25nIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJLZXlWYWx1ZVBhaXIiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IktleSIgdHlwZT0idWE6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlIiB0eXBl +PSJ1YTpWYXJpYW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iS2V5VmFsdWVQYWlyIiB0eXBlPSJ0 +bnM6S2V5VmFsdWVQYWlyIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZLZXlW +YWx1ZVBhaXIiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Iktl +eVZhbHVlUGFpciIgdHlwZT0idG5zOktleVZhbHVlUGFpciIgbWluT2NjdXJzPSIwIiBtYXhPY2N1 +cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mS2V5VmFsdWVQYWly +IiB0eXBlPSJ0bnM6TGlzdE9mS2V5VmFsdWVQYWlyIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVt +ZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFbmRwb2ludFR5cGUiPg0KICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50VXJsIiB0eXBlPSJ4czpz +dHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVBvbGljeVVyaSIg +dHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNwb3J0UHJvZmlsZVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv +eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50VHlwZSIgdHlwZT0i +dG5zOkVuZHBvaW50VHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRW5k +cG9pbnRUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJF +bmRwb2ludFR5cGUiIHR5cGU9InRuczpFbmRwb2ludFR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2Nj +dXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkVuZHBvaW50VHlw +ZSIgdHlwZT0idG5zOkxpc3RPZkVuZHBvaW50VHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxl +bWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iT3BlbkZpbGVNb2RlIj4NCiAgICA8eHM6 +cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 +ZT0iUmVhZF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJXcml0ZV8yIiAvPg0K +ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJFcmFzZUV4aXN0aW5nXzQiIC8+DQogICAgICA8 +eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFwcGVuZF84IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+ +DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT3BlbkZpbGVNb2RlIiB0 +eXBlPSJ0bnM6T3BlbkZpbGVNb2RlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0 +T2ZPcGVuRmlsZU1vZGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9Ik9wZW5GaWxlTW9kZSIgdHlwZT0idG5zOk9wZW5GaWxlTW9kZSIgbWluT2NjdXJzPSIwIiBt +YXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZPcGVuRmlsZU1vZGUiIHR5cGU9InRu +czpMaXN0T2ZPcGVuRmlsZU1vZGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg +PHhzOnNpbXBsZVR5cGUgIG5hbWU9IklkZW50aXR5Q3JpdGVyaWFUeXBlIj4NCiAgICA8eHM6cmVz +dHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i +VXNlck5hbWVfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVGh1bWJwcmludF8y +IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSb2xlXzMiIC8+DQogICAgICA8eHM6 +ZW51bWVyYXRpb24gdmFsdWU9Ikdyb3VwSWRfNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 +YWx1ZT0iQW5vbnltb3VzXzUiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkF1dGhl +bnRpY2F0ZWRVc2VyXzYiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJJZGVudGl0eUNyaXRlcmlhVHlwZSIgdHlwZT0idG5z +OklkZW50aXR5Q3JpdGVyaWFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0 +T2ZJZGVudGl0eUNyaXRlcmlhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iSWRlbnRpdHlDcml0ZXJpYVR5cGUiIHR5cGU9InRuczpJZGVudGl0eUNyaXRl +cmlhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0 +T2ZJZGVudGl0eUNyaXRlcmlhVHlwZSIgdHlwZT0idG5zOkxpc3RPZklkZW50aXR5Q3JpdGVyaWFU +eXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBu +YW1lPSJJZGVudGl0eU1hcHBpbmdSdWxlVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iQ3JpdGVyaWFUeXBlIiB0eXBlPSJ0bnM6SWRlbnRpdHlDcml0ZXJp +YVR5cGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNyaXRlcmlh +IiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +SWRlbnRpdHlNYXBwaW5nUnVsZVR5cGUiIHR5cGU9InRuczpJZGVudGl0eU1hcHBpbmdSdWxlVHlw +ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mSWRlbnRpdHlNYXBwaW5nUnVs +ZVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IklkZW50 +aXR5TWFwcGluZ1J1bGVUeXBlIiB0eXBlPSJ0bnM6SWRlbnRpdHlNYXBwaW5nUnVsZVR5cGUiIG1p +bk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +Ikxpc3RPZklkZW50aXR5TWFwcGluZ1J1bGVUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mSWRlbnRpdHlN +YXBwaW5nUnVsZVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNp +bXBsZVR5cGUgIG5hbWU9IlRydXN0TGlzdE1hc2tzIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFz +ZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9uZV8wIiAvPg0K +ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJUcnVzdGVkQ2VydGlmaWNhdGVzXzEiIC8+DQog +ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlRydXN0ZWRDcmxzXzIiIC8+DQogICAgICA8eHM6 +ZW51bWVyYXRpb24gdmFsdWU9Iklzc3VlckNlcnRpZmljYXRlc180IiAvPg0KICAgICAgPHhzOmVu +dW1lcmF0aW9uIHZhbHVlPSJJc3N1ZXJDcmxzXzgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g +dmFsdWU9IkFsbF8xNSIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRydXN0TGlzdE1hc2tzIiB0eXBlPSJ0bnM6VHJ1c3RM +aXN0TWFza3MiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlRydXN0TGlzdERhdGFUeXBl +Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTcGVjaWZpZWRM +aXN0cyIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlRydXN0ZWRDZXJ0aWZpY2F0ZXMiIHR5cGU9InVhOkxpc3RPZkJ5dGVTdHJp +bmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJUcnVzdGVkQ3JscyIgdHlwZT0idWE6TGlzdE9mQnl0ZVN0cmluZyIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Iklzc3VlckNlcnRp +ZmljYXRlcyIgdHlwZT0idWE6TGlzdE9mQnl0ZVN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Iklzc3VlckNybHMiIHR5cGU9InVh +Okxpc3RPZkJ5dGVTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +VHJ1c3RMaXN0RGF0YVR5cGUiIHR5cGU9InRuczpUcnVzdExpc3REYXRhVHlwZSIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mVHJ1c3RMaXN0RGF0YVR5cGUiPg0KICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRydXN0TGlzdERhdGFUeXBlIiB0eXBl +PSJ0bnM6VHJ1c3RMaXN0RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5k +ZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlRydXN0TGlzdERhdGFUeXBlIiB0eXBl +PSJ0bnM6TGlzdE9mVHJ1c3RMaXN0RGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1l +bnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlY2ltYWxEYXRhVHlwZSI+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2NhbGUiIHR5cGU9InhzOnNob3J0 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0i +eHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRl +Y2ltYWxEYXRhVHlwZSIgdHlwZT0idG5zOkRlY2ltYWxEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iRGF0YVR5cGVTY2hlbWFIZWFkZXIiPg0KICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5hbWVzcGFjZXMiIHR5cGU9InVhOkxpc3RPZlN0cmlu +ZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlN0cnVjdHVyZURhdGFUeXBlcyIgdHlwZT0idG5zOkxpc3RPZlN0cnVjdHVyZURlc2NyaXB0 +aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iRW51bURhdGFUeXBlcyIgdHlwZT0idG5zOkxpc3RPZkVudW1EZXNjcmlwdGlvbiIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNp +bXBsZURhdGFUeXBlcyIgdHlwZT0idG5zOkxpc3RPZlNpbXBsZVR5cGVEZXNjcmlwdGlvbiIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz +OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZVNjaGVtYUhlYWRlciIg +dHlwZT0idG5zOkRhdGFUeXBlU2NoZW1hSGVhZGVyIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu +YW1lPSJMaXN0T2ZEYXRhVHlwZVNjaGVtYUhlYWRlciI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVR5cGVTY2hlbWFIZWFkZXIiIHR5cGU9InRuczpEYXRh +VHlwZVNjaGVtYUhlYWRlciIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N +CiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRGF0YVR5cGVTY2hlbWFIZWFkZXIiIHR5cGU9InRu +czpMaXN0T2ZEYXRhVHlwZVNjaGVtYUhlYWRlciIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVu +dD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGF0YVR5cGVEZXNjcmlwdGlvbiI+DQogICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVR5cGVJZCIgdHlwZT0i +dWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iTmFtZSIgdHlwZT0idWE6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6RGF0 +YVR5cGVEZXNjcmlwdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGF0 +YVR5cGVEZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iRGF0YVR5cGVEZXNjcmlwdGlvbiIgdHlwZT0idG5zOkRhdGFUeXBlRGVzY3JpcHRpb24i +IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h +bWU9Ikxpc3RPZkRhdGFUeXBlRGVzY3JpcHRpb24iIHR5cGU9InRuczpMaXN0T2ZEYXRhVHlwZURl +c2NyaXB0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJTdHJ1Y3R1cmVEZXNjcmlwdGlvbiI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50 +IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpEYXRhVHlwZURl +c2NyaXB0aW9uIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlN0cnVjdHVyZURlZmluaXRpb24iIHR5cGU9InRuczpTdHJ1Y3R1cmVEZWZpbml0aW9u +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNl +Pg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU3RydWN0dXJlRGVzY3JpcHRpb24i +IHR5cGU9InRuczpTdHJ1Y3R1cmVEZXNjcmlwdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iTGlzdE9mU3RydWN0dXJlRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlN0cnVjdHVyZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6U3Ry +dWN0dXJlRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlN0cnVjdHVyZURlc2NyaXB0aW9uIiB0eXBlPSJ0 +bnM6TGlzdE9mU3RydWN0dXJlRGVzY3JpcHRpb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1l +bnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVudW1EZXNjcmlwdGlvbiI+DQogICAgPHhz +OmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9 +InRuczpEYXRhVHlwZURlc2NyaXB0aW9uIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +ICAgIDx4czplbGVtZW50IG5hbWU9IkVudW1EZWZpbml0aW9uIiB0eXBlPSJ0bnM6RW51bURlZmlu +aXRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iQnVpbHRJblR5cGUiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJz +PSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQog +ICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iRW51bURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6RW51bURlc2NyaXB0aW9uIiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZFbnVtRGVzY3JpcHRpb24iPg0KICAgIDx4 +czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVudW1EZXNjcmlwdGlvbiIgdHlw +ZT0idG5zOkVudW1EZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRl +ZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRW51bURlc2NyaXB0aW9uIiB0eXBlPSJ0 +bnM6TGlzdE9mRW51bURlc2NyaXB0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTaW1wbGVUeXBlRGVzY3JpcHRpb24iPg0KICAgIDx4 +czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNl +PSJ0bnM6RGF0YVR5cGVEZXNjcmlwdGlvbiI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCYXNlRGF0YVR5cGUiIHR5cGU9InVhOk5vZGVJZCIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJCdWlsdEluVHlwZSIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNv +bXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJT +aW1wbGVUeXBlRGVzY3JpcHRpb24iIHR5cGU9InRuczpTaW1wbGVUeXBlRGVzY3JpcHRpb24iIC8+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlNpbXBsZVR5cGVEZXNjcmlwdGlvbiI+ +DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2ltcGxlVHlwZURl +c2NyaXB0aW9uIiB0eXBlPSJ0bnM6U2ltcGxlVHlwZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAi +IG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl +bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTaW1w +bGVUeXBlRGVzY3JpcHRpb24iIHR5cGU9InRuczpMaXN0T2ZTaW1wbGVUeXBlRGVzY3JpcHRpb24i +IG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +IlVBQmluYXJ5RmlsZURhdGFUeXBlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZh +bHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkRhdGFUeXBlU2NoZW1hSGVhZGVy +Ij4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlNj +aGVtYUxvY2F0aW9uIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsZUhlYWRlciIgdHlwZT0idG5z +Okxpc3RPZktleVZhbHVlUGFpciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCb2R5IiB0eXBlPSJ1YTpWYXJpYW50IiBtaW5PY2N1 +cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4N +CiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl +bWVudCBuYW1lPSJVQUJpbmFyeUZpbGVEYXRhVHlwZSIgdHlwZT0idG5zOlVBQmluYXJ5RmlsZURh +dGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZVQUJpbmFyeUZpbGVE +YXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVUFC +aW5hcnlGaWxlRGF0YVR5cGUiIHR5cGU9InRuczpVQUJpbmFyeUZpbGVEYXRhVHlwZSIgbWluT2Nj +dXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 +czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlz +dE9mVUFCaW5hcnlGaWxlRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZVQUJpbmFyeUZpbGVEYXRh +VHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAg +bmFtZT0iUHViU3ViU3RhdGUiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmci +Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEaXNhYmxlZF8wIiAvPg0KICAgICAgPHhz +OmVudW1lcmF0aW9uIHZhbHVlPSJQYXVzZWRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 +YWx1ZT0iT3BlcmF0aW9uYWxfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRXJy +b3JfMyIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9IlB1YlN1YlN0YXRlIiB0eXBlPSJ0bnM6UHViU3ViU3RhdGUiIC8+DQoN +CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlB1YlN1YlN0YXRlIj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJTdWJTdGF0ZSIgdHlwZT0idG5zOlB1 +YlN1YlN0YXRlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxp +c3RPZlB1YlN1YlN0YXRlIiB0eXBlPSJ0bnM6TGlzdE9mUHViU3ViU3RhdGUiIG5pbGxhYmxlPSJ0 +cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFTZXRNZXRh +RGF0YVR5cGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAg +PHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6RGF0YVR5cGVTY2hlbWFIZWFkZXIiPg0KICAgICAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFtZSIgdHlwZT0ieHM6 +c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkRlc2NyaXB0aW9uIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkZp +ZWxkcyIgdHlwZT0idG5zOkxpc3RPZkZpZWxkTWV0YURhdGEiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldENsYXNzSWQi +IHR5cGU9InVhOkd1aWQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJDb25maWd1cmF0aW9uVmVyc2lvbiIgdHlwZT0idG5zOkNvbmZpZ3VyYXRpb25WZXJzaW9u +RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6 +c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50 +Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0TWV0YURh +dGFUeXBlIiB0eXBlPSJ0bnM6RGF0YVNldE1ldGFEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iTGlzdE9mRGF0YVNldE1ldGFEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldE1ldGFEYXRhVHlwZSIgdHlwZT0idG5z +OkRhdGFTZXRNZXRhRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRhdGFTZXRNZXRhRGF0YVR5cGUiIHR5cGU9 +InRuczpMaXN0T2ZEYXRhU2V0TWV0YURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVt +ZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJGaWVsZE1ldGFEYXRhIj4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOYW1lIiB0eXBlPSJ4czpzdHJpbmci +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpZWxkRmxhZ3MiIHR5cGU9 +InRuczpEYXRhU2V0RmllbGRGbGFncyIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iQnVpbHRJblR5cGUiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVR5cGUiIHR5cGU9InVhOk5vZGVJZCIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlZhbHVlUmFuayIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJBcnJheURpbWVuc2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heFN0 +cmluZ0xlbmd0aCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRGaWVsZElkIiB0eXBlPSJ1YTpHdWlkIiBtaW5PY2N1 +cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQcm9wZXJ0aWVzIiB0eXBlPSJ0bnM6 +TGlzdE9mS2V5VmFsdWVQYWlyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +IkZpZWxkTWV0YURhdGEiIHR5cGU9InRuczpGaWVsZE1ldGFEYXRhIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJMaXN0T2ZGaWVsZE1ldGFEYXRhIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWVsZE1ldGFEYXRhIiB0eXBlPSJ0bnM6RmllbGRNZXRh +RGF0YSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iTGlzdE9mRmllbGRNZXRhRGF0YSIgdHlwZT0idG5zOkxpc3RPZkZpZWxkTWV0YURh +dGEiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5h +bWU9IkRhdGFTZXRGaWVsZEZsYWdzIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6dW5z +aWduZWRTaG9ydCI+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0RmllbGRGbGFncyIgdHlwZT0idG5zOkRhdGFTZXRG +aWVsZEZsYWdzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDb25maWd1cmF0aW9uVmVy +c2lvbkRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJNYWpvclZlcnNpb24iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNaW5vclZlcnNpb24iIHR5cGU9InhzOnVuc2lnbmVkSW50 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ29uZmlndXJhdGlvblZlcnNpb25EYXRhVHlwZSIgdHlw +ZT0idG5zOkNvbmZpZ3VyYXRpb25WZXJzaW9uRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9Ikxpc3RPZkNvbmZpZ3VyYXRpb25WZXJzaW9uRGF0YVR5cGUiPg0KICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNvbmZpZ3VyYXRpb25WZXJzaW9uRGF0 +YVR5cGUiIHR5cGU9InRuczpDb25maWd1cmF0aW9uVmVyc2lvbkRhdGFUeXBlIiBtaW5PY2N1cnM9 +IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl +cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZD +b25maWd1cmF0aW9uVmVyc2lvbkRhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mQ29uZmlndXJhdGlv +blZlcnNpb25EYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iUHVibGlzaGVkRGF0YVNldERhdGFUeXBlIj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJE +YXRhU2V0Rm9sZGVyIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0TWV0YURhdGEiIHR5 +cGU9InRuczpEYXRhU2V0TWV0YURhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXh0ZW5zaW9uRmllbGRzIiB0eXBlPSJ0bnM6 +TGlzdE9mS2V5VmFsdWVQYWlyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldFNvdXJjZSIgdHlwZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hlZERhdGFT +ZXREYXRhVHlwZSIgdHlwZT0idG5zOlB1Ymxpc2hlZERhdGFTZXREYXRhVHlwZSIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUHVibGlzaGVkRGF0YVNldERhdGFUeXBlIj4NCiAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoZWREYXRhU2V0 +RGF0YVR5cGUiIHR5cGU9InRuczpQdWJsaXNoZWREYXRhU2V0RGF0YVR5cGUiIG1pbk9jY3Vycz0i +MCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx +dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlB1 +Ymxpc2hlZERhdGFTZXREYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlB1Ymxpc2hlZERhdGFTZXRE +YXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iUHVibGlzaGVkRGF0YVNldFNvdXJjZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVu +Y2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iUHVibGlzaGVkRGF0YVNldFNvdXJjZURhdGFUeXBlIiB0eXBlPSJ0bnM6UHVibGlz +aGVkRGF0YVNldFNvdXJjZURhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJM +aXN0T2ZQdWJsaXNoZWREYXRhU2V0U291cmNlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hlZERhdGFTZXRTb3VyY2VEYXRhVHlwZSIg +dHlwZT0idG5zOlB1Ymxpc2hlZERhdGFTZXRTb3VyY2VEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBt +YXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j +ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUHVibGlz +aGVkRGF0YVNldFNvdXJjZURhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mUHVibGlzaGVkRGF0YVNl +dFNvdXJjZURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJQdWJsaXNoZWRWYXJpYWJsZURhdGFUeXBlIj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoZWRWYXJpYWJsZSIgdHlwZT0i +dWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iQXR0cmlidXRlSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9 +IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTYW1wbGluZ0ludGVydmFsSGludCIgdHlw +ZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJE +ZWFkYmFuZFR5cGUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJEZWFkYmFuZFZhbHVlIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9j +Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9Inhz +OnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlN1YnN0aXR1dGVWYWx1ZSIgdHlwZT0idWE6VmFyaWFudCIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWV0YURhdGFQcm9wZXJ0aWVzIiB0eXBlPSJ1 +YTpMaXN0T2ZRdWFsaWZpZWROYW1lIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h +bWU9IlB1Ymxpc2hlZFZhcmlhYmxlRGF0YVR5cGUiIHR5cGU9InRuczpQdWJsaXNoZWRWYXJpYWJs +ZURhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZQdWJsaXNoZWRW +YXJpYWJsZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJQdWJsaXNoZWRWYXJpYWJsZURhdGFUeXBlIiB0eXBlPSJ0bnM6UHVibGlzaGVkVmFyaWFi +bGVEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iTGlzdE9mUHVibGlzaGVkVmFyaWFibGVEYXRhVHlwZSIgdHlwZT0idG5z +Okxpc3RPZlB1Ymxpc2hlZFZhcmlhYmxlRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVs +ZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlB1Ymxpc2hlZERhdGFJdGVtc0RhdGFU +eXBlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpl +eHRlbnNpb24gYmFzZT0idG5zOlB1Ymxpc2hlZERhdGFTZXRTb3VyY2VEYXRhVHlwZSI+DQogICAg +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoZWRE +YXRhIiB0eXBlPSJ0bnM6TGlzdE9mUHVibGlzaGVkVmFyaWFibGVEYXRhVHlwZSIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwv +eHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hlZERhdGFJdGVtc0RhdGFUeXBlIiB0eXBl +PSJ0bnM6UHVibGlzaGVkRGF0YUl0ZW1zRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9Ikxpc3RPZlB1Ymxpc2hlZERhdGFJdGVtc0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVu +Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoZWREYXRhSXRlbXNEYXRhVHlwZSIg +dHlwZT0idG5zOlB1Ymxpc2hlZERhdGFJdGVtc0RhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9j +Y3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZQdWJsaXNoZWRE +YXRhSXRlbXNEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlB1Ymxpc2hlZERhdGFJdGVtc0RhdGFU +eXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBu +YW1lPSJQdWJsaXNoZWRFdmVudHNEYXRhVHlwZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1p +eGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpQdWJsaXNoZWREYXRh +U2V0U291cmNlRGF0YVR5cGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iRXZlbnROb3RpZmllciIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlbGVj +dGVkRmllbGRzIiB0eXBlPSJ0bnM6TGlzdE9mU2ltcGxlQXR0cmlidXRlT3BlcmFuZCIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJG +aWx0ZXIiIHR5cGU9InRuczpDb250ZW50RmlsdGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQog +ICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iUHVibGlzaGVkRXZlbnRzRGF0YVR5cGUiIHR5cGU9InRuczpQdWJsaXNoZWRFdmVu +dHNEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUHVibGlzaGVk +RXZlbnRzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlB1Ymxpc2hlZEV2ZW50c0RhdGFUeXBlIiB0eXBlPSJ0bnM6UHVibGlzaGVkRXZlbnRzRGF0 +YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9Ikxpc3RPZlB1Ymxpc2hlZEV2ZW50c0RhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9m +UHVibGlzaGVkRXZlbnRzRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoN +CiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkRhdGFTZXRGaWVsZENvbnRlbnRNYXNrIj4NCiAgICA8 +eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6dW5zaWduZWRJbnQiPg0KICAgIDwveHM6cmVzdHJpY3Rp +b24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldEZpZWxk +Q29udGVudE1hc2siIHR5cGU9InRuczpEYXRhU2V0RmllbGRDb250ZW50TWFzayIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGF0YVNldEZpZWxkQ29udGVudE1hc2siPg0KICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRGaWVsZENvbnRl +bnRNYXNrIiB0eXBlPSJ0bnM6RGF0YVNldEZpZWxkQ29udGVudE1hc2siIG1pbk9jY3Vycz0iMCIg +bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w +bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRGF0YVNldEZpZWxkQ29udGVudE1h +c2siIHR5cGU9InRuczpMaXN0T2ZEYXRhU2V0RmllbGRDb250ZW50TWFzayIgbmlsbGFibGU9InRy +dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGF0YVNldFdyaXRl +ckRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJO +YW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmFibGVkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1 +cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0V3JpdGVySWQiIHR5cGU9 +InhzOnVuc2lnbmVkU2hvcnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IkRhdGFTZXRGaWVsZENvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6RGF0YVNldEZpZWxkQ29udGVu +dE1hc2siIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IktleUZyYW1l +Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJEYXRhU2V0TmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldFdyaXRl +clByb3BlcnRpZXMiIHR5cGU9InRuczpMaXN0T2ZLZXlWYWx1ZVBhaXIiIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc3BvcnRTZXR0 +aW5ncyIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWVzc2FnZVNldHRpbmdzIiB0eXBlPSJ1 +YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +RGF0YVNldFdyaXRlckRhdGFUeXBlIiB0eXBlPSJ0bnM6RGF0YVNldFdyaXRlckRhdGFUeXBlIiAv +Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZEYXRhU2V0V3JpdGVyRGF0YVR5cGUi +Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRXcml0 +ZXJEYXRhVHlwZSIgdHlwZT0idG5zOkRhdGFTZXRXcml0ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIw +IiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRGF0 +YVNldFdyaXRlckRhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mRGF0YVNldFdyaXRlckRhdGFUeXBl +IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJEYXRhU2V0V3JpdGVyVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJEYXRhU2V0V3JpdGVyVHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRuczpEYXRhU2V0V3JpdGVy +VHJhbnNwb3J0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkRh +dGFTZXRXcml0ZXJUcmFuc3BvcnREYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldFdyaXRlclRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0 +bnM6RGF0YVNldFdyaXRlclRyYW5zcG9ydERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vy +cz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZEYXRhU2V0V3JpdGVy +VHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZEYXRhU2V0V3JpdGVyVHJhbnNwb3J0 +RGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9IkRhdGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJEYXRhU2V0V3JpdGVyTWVzc2FnZURhdGFUeXBlIiB0eXBlPSJ0bnM6RGF0YVNldFdy +aXRlck1lc3NhZ2VEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m +RGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSIgdHlwZT0idG5z +OkRhdGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1 +bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRhdGFTZXRXcml0ZXJNZXNz +YWdlRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZEYXRhU2V0V3JpdGVyTWVzc2FnZURhdGFUeXBl +IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJQdWJTdWJHcm91cERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmFibGVkIiB0eXBlPSJ4czpib29s +ZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eU1v +ZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eUdyb3VwSWQiIHR5cGU9InhzOnN0cmluZyIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNl +Y3VyaXR5S2V5U2VydmljZXMiIHR5cGU9InRuczpMaXN0T2ZFbmRwb2ludERlc2NyaXB0aW9uIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +TWF4TmV0d29ya01lc3NhZ2VTaXplIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iR3JvdXBQcm9wZXJ0aWVzIiB0eXBlPSJ0bnM6 +TGlzdE9mS2V5VmFsdWVQYWlyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +IlB1YlN1Ykdyb3VwRGF0YVR5cGUiIHR5cGU9InRuczpQdWJTdWJHcm91cERhdGFUeXBlIiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZQdWJTdWJHcm91cERhdGFUeXBlIj4NCiAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJTdWJHcm91cERhdGFU +eXBlIiB0eXBlPSJ0bnM6UHViU3ViR3JvdXBEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1 +cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUHViU3ViR3JvdXBE +YXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlB1YlN1Ykdyb3VwRGF0YVR5cGUiIG5pbGxhYmxlPSJ0 +cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IldyaXRlckdyb3Vw +RGF0YVR5cGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAg +PHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6UHViU3ViR3JvdXBEYXRhVHlwZSI+DQogICAgICAgIDx4 +czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJXcml0ZXJHcm91cElkIiB0 +eXBlPSJ4czp1bnNpZ25lZFNob3J0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iUHVibGlzaGluZ0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vy +cz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJLZWVwQWxpdmVUaW1lIiB0eXBl +PSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJQcmlvcml0eSIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmci +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iVHJhbnNwb3J0U2V0dGluZ3MiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJN +ZXNzYWdlU2V0dGluZ3MiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0V3Jp +dGVycyIgdHlwZT0idG5zOkxpc3RPZkRhdGFTZXRXcml0ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6 +ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9IldyaXRlckdyb3VwRGF0YVR5cGUiIHR5cGU9InRuczpXcml0 +ZXJHcm91cERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZXcml0 +ZXJHcm91cERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJXcml0ZXJHcm91cERhdGFUeXBlIiB0eXBlPSJ0bnM6V3JpdGVyR3JvdXBEYXRhVHlwZSIg +bWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iTGlzdE9mV3JpdGVyR3JvdXBEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZldyaXRlckdyb3Vw +RGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9IldyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJXcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6V3JpdGVyR3Jv +dXBUcmFuc3BvcnREYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m +V3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0idG5z +OldyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1 +bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZldyaXRlckdyb3VwVHJhbnNw +b3J0RGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZXcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBl +IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJXcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ildy +aXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIiB0eXBlPSJ0bnM6V3JpdGVyR3JvdXBNZXNzYWdlRGF0 +YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZldyaXRlckdyb3VwTWVz +c2FnZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJXcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIgdHlwZT0idG5zOldyaXRlckdyb3VwTWVzc2Fn +ZURhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJMaXN0T2ZXcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIgdHlwZT0idG5z +Okxpc3RPZldyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czpl +bGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJQdWJTdWJDb25uZWN0aW9uRGF0YVR5 +cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5hbWUiIHR5 +cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IkVuYWJsZWQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hlcklkIiB0eXBlPSJ1YTpWYXJpYW50 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc3BvcnRQcm9m +aWxlVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRyZXNzIiB0eXBlPSJ1YTpFeHRlbnNpb25PYmpl +Y3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJDb25uZWN0aW9uUHJvcGVydGllcyIgdHlwZT0idG5zOkxpc3RPZktleVZhbHVlUGFpciIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlRyYW5zcG9ydFNldHRpbmdzIiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJXcml0ZXJHcm91 +cHMiIHR5cGU9InRuczpMaXN0T2ZXcml0ZXJHcm91cERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZGVyR3JvdXBzIiB0 +eXBlPSJ0bnM6TGlzdE9mUmVhZGVyR3JvdXBEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJQdWJTdWJDb25uZWN0aW9uRGF0YVR5cGUiIHR5cGU9InRuczpQdWJT +dWJDb25uZWN0aW9uRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RP +ZlB1YlN1YkNvbm5lY3Rpb25EYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iUHViU3ViQ29ubmVjdGlvbkRhdGFUeXBlIiB0eXBlPSJ0bnM6UHViU3Vi +Q29ubmVjdGlvbkRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZQdWJTdWJDb25uZWN0aW9uRGF0YVR5cGUiIHR5 +cGU9InRuczpMaXN0T2ZQdWJTdWJDb25uZWN0aW9uRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48 +L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNvbm5lY3Rpb25UcmFuc3Bv +cnREYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv +eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNvbm5lY3Rpb25UcmFuc3BvcnRE +YXRhVHlwZSIgdHlwZT0idG5zOkNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb25uZWN0aW9uVHJh +bnNwb3J0RGF0YVR5cGUiIHR5cGU9InRuczpDb25uZWN0aW9uVHJhbnNwb3J0RGF0YVR5cGUiIG1p +bk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +Ikxpc3RPZkNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZkNvbm5l +Y3Rpb25UcmFuc3BvcnREYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTmV0d29ya0FkZHJlc3NEYXRhVHlwZSI+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmV0d29ya0ludGVyZmFjZSIgdHlw +ZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 +c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik5ldHdv +cmtBZGRyZXNzRGF0YVR5cGUiIHR5cGU9InRuczpOZXR3b3JrQWRkcmVzc0RhdGFUeXBlIiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZOZXR3b3JrQWRkcmVzc0RhdGFUeXBlIj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOZXR3b3JrQWRkcmVz +c0RhdGFUeXBlIiB0eXBlPSJ0bnM6TmV0d29ya0FkZHJlc3NEYXRhVHlwZSIgbWluT2NjdXJzPSIw +IiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTmV0 +d29ya0FkZHJlc3NEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZk5ldHdvcmtBZGRyZXNzRGF0YVR5 +cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9Ik5ldHdvcmtBZGRyZXNzVXJsRGF0YVR5cGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBt +aXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6TmV0d29ya0FkZHJl +c3NEYXRhVHlwZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJVcmwiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAg +IDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9Ik5ldHdvcmtBZGRyZXNzVXJsRGF0YVR5cGUiIHR5cGU9InRuczpOZXR3b3JrQWRkcmVz +c1VybERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZOZXR3b3Jr +QWRkcmVzc1VybERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJOZXR3b3JrQWRkcmVzc1VybERhdGFUeXBlIiB0eXBlPSJ0bnM6TmV0d29ya0FkZHJl +c3NVcmxEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTmV0d29ya0FkZHJlc3NVcmxEYXRhVHlwZSIgdHlwZT0i +dG5zOkxpc3RPZk5ldHdvcmtBZGRyZXNzVXJsRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hz +OmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlYWRlckdyb3VwRGF0YVR5cGUi +Pg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVu +c2lvbiBiYXNlPSJ0bnM6UHViU3ViR3JvdXBEYXRhVHlwZSI+DQogICAgICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc3BvcnRTZXR0aW5ncyIgdHlwZT0i +dWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1lc3NhZ2VTZXR0aW5ncyIgdHlwZT0idWE6RXh0ZW5z +aW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4 +czplbGVtZW50IG5hbWU9IkRhdGFTZXRSZWFkZXJzIiB0eXBlPSJ0bnM6TGlzdE9mRGF0YVNldFJl +YWRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8 +L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29u +dGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZGVyR3Jv +dXBEYXRhVHlwZSIgdHlwZT0idG5zOlJlYWRlckdyb3VwRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlJlYWRlckdyb3VwRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlYWRlckdyb3VwRGF0YVR5cGUiIHR5cGU9 +InRuczpSZWFkZXJHcm91cERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3Vu +ZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZSZWFkZXJHcm91cERhdGFUeXBlIiB0 +eXBlPSJ0bnM6TGlzdE9mUmVhZGVyR3JvdXBEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6 +ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZGVyR3JvdXBUcmFuc3BvcnRE +YXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlYWRlckdyb3VwVHJhbnNwb3J0RGF0 +YVR5cGUiIHR5cGU9InRuczpSZWFkZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZSZWFkZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWFkZXJHcm91cFRy +YW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6UmVhZGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSIg +bWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iTGlzdE9mUmVhZGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlJl +YWRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlYWRlckdyb3VwTWVzc2FnZURhdGFUeXBlIj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiIHR5cGU9 +InRuczpSZWFkZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iTGlzdE9mUmVhZGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlYWRlckdyb3VwTWVzc2FnZURhdGFUeXBlIiB0 +eXBlPSJ0bnM6UmVhZGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2Nj +dXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlJlYWRlckdyb3Vw +TWVzc2FnZURhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mUmVhZGVyR3JvdXBNZXNzYWdlRGF0YVR5 +cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9IkRhdGFTZXRSZWFkZXJEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5hYmxlZCIgdHlwZT0ieHM6 +Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlz +aGVySWQiIHR5cGU9InVhOlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IldyaXRlckdyb3VwSWQiIHR5cGU9InhzOnVuc2lnbmVkU2hvcnQiIG1pbk9jY3Vy +cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRXcml0ZXJJZCIgdHlwZT0i +eHM6dW5zaWduZWRTaG9ydCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iRGF0YVNldE1ldGFEYXRhIiB0eXBlPSJ0bnM6RGF0YVNldE1ldGFEYXRhVHlwZSIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFT +ZXRGaWVsZENvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6RGF0YVNldEZpZWxkQ29udGVudE1hc2siIG1p +bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1lc3NhZ2VSZWNlaXZlVGlt +ZW91dCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eUdyb3VwSWQiIHR5 +cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlNlY3VyaXR5S2V5U2VydmljZXMiIHR5cGU9InRuczpMaXN0T2ZFbmRw +b2ludERlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldFJlYWRlclByb3BlcnRpZXMiIHR5cGU9InRuczpMaXN0 +T2ZLZXlWYWx1ZVBhaXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJUcmFuc3BvcnRTZXR0aW5ncyIgdHlwZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iTWVzc2FnZVNldHRpbmdzIiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3Jp +YmVkRGF0YVNldCIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRSZWFkZXJEYXRhVHlwZSIgdHlwZT0idG5zOkRhdGFT +ZXRSZWFkZXJEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGF0 +YVNldFJlYWRlckRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJEYXRhU2V0UmVhZGVyRGF0YVR5cGUiIHR5cGU9InRuczpEYXRhU2V0UmVhZGVyRGF0 +YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9Ikxpc3RPZkRhdGFTZXRSZWFkZXJEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZkRh +dGFTZXRSZWFkZXJEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iRGF0YVNldFJlYWRlclRyYW5zcG9ydERhdGFUeXBlIj4NCiAg +ICA8eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N +CiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldFJlYWRlclRyYW5zcG9ydERhdGFUeXBlIiB0eXBl +PSJ0bnM6RGF0YVNldFJlYWRlclRyYW5zcG9ydERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJMaXN0T2ZEYXRhU2V0UmVhZGVyVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDx4 +czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRSZWFkZXJUcmFuc3Bv +cnREYXRhVHlwZSIgdHlwZT0idG5zOkRhdGFTZXRSZWFkZXJUcmFuc3BvcnREYXRhVHlwZSIgbWlu +T2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +TGlzdE9mRGF0YVNldFJlYWRlclRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mRGF0 +YVNldFJlYWRlclRyYW5zcG9ydERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50 +Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBl +Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldFJlYWRlck1lc3NhZ2VEYXRhVHlwZSIg +dHlwZT0idG5zOkRhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9Ikxpc3RPZkRhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiPg0KICAgIDx4 +czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRSZWFkZXJNZXNzYWdl +RGF0YVR5cGUiIHR5cGU9InRuczpEYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIiBtaW5PY2N1 +cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0 +T2ZEYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mRGF0YVNldFJl +YWRlck1lc3NhZ2VEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iU3Vic2NyaWJlZERhdGFTZXREYXRhVHlwZSI+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9IlN1YnNjcmliZWREYXRhU2V0RGF0YVR5cGUiIHR5cGU9InRuczpTdWJz +Y3JpYmVkRGF0YVNldERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0 +T2ZTdWJzY3JpYmVkRGF0YVNldERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpYmVkRGF0YVNldERhdGFUeXBlIiB0eXBlPSJ0bnM6U3Vi +c2NyaWJlZERhdGFTZXREYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRl +ZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU3Vic2NyaWJlZERhdGFTZXREYXRhVHlw +ZSIgdHlwZT0idG5zOkxpc3RPZlN1YnNjcmliZWREYXRhU2V0RGF0YVR5cGUiIG5pbGxhYmxlPSJ0 +cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlRhcmdldFZhcmlh +Ymxlc0RhdGFUeXBlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAg +ICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOlN1YnNjcmliZWREYXRhU2V0RGF0YVR5cGUiPg0K +ICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0 +VmFyaWFibGVzIiB0eXBlPSJ0bnM6TGlzdE9mRmllbGRUYXJnZXREYXRhVHlwZSIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwv +eHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRhcmdldFZhcmlhYmxlc0RhdGFUeXBlIiB0eXBlPSJ0 +bnM6VGFyZ2V0VmFyaWFibGVzRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +Ikxpc3RPZlRhcmdldFZhcmlhYmxlc0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXRWYXJpYWJsZXNEYXRhVHlwZSIgdHlwZT0idG5zOlRh +cmdldFZhcmlhYmxlc0RhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVk +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZUYXJnZXRWYXJpYWJsZXNEYXRhVHlwZSIg +dHlwZT0idG5zOkxpc3RPZlRhcmdldFZhcmlhYmxlc0RhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+ +PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJGaWVsZFRhcmdldERhdGFU +eXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0 +RmllbGRJZCIgdHlwZT0idWE6R3VpZCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUmVjZWl2ZXJJbmRleFJhbmdlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXROb2Rl +SWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVJbmRleFJhbmdl +IiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJPdmVycmlkZVZhbHVlSGFuZGxpbmciIHR5cGU9InRuczpPdmVy +cmlkZVZhbHVlSGFuZGxpbmciIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9Ik92ZXJyaWRlVmFsdWUiIHR5cGU9InVhOlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg +ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJGaWVsZFRhcmdldERhdGFUeXBlIiB0eXBlPSJ0bnM6RmllbGRUYXJnZXREYXRhVHlwZSIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRmllbGRUYXJnZXREYXRhVHlwZSI+DQog +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmllbGRUYXJnZXREYXRh +VHlwZSIgdHlwZT0idG5zOkZpZWxkVGFyZ2V0RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2Nj +dXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkZpZWxkVGFyZ2V0 +RGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZGaWVsZFRhcmdldERhdGFUeXBlIiBuaWxsYWJsZT0i +dHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJPdmVycmlkZVZh +bHVlSGFuZGxpbmciPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAg +ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEaXNhYmxlZF8wIiAvPg0KICAgICAgPHhzOmVudW1l +cmF0aW9uIHZhbHVlPSJMYXN0VXNlYWJsZVZhbHVlXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp +b24gdmFsdWU9Ik92ZXJyaWRlVmFsdWVfMiIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8 +L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik92ZXJyaWRlVmFsdWVIYW5kbGlu +ZyIgdHlwZT0idG5zOk92ZXJyaWRlVmFsdWVIYW5kbGluZyIgLz4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iTGlzdE9mT3ZlcnJpZGVWYWx1ZUhhbmRsaW5nIj4NCiAgICA8eHM6c2VxdWVuY2U+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPdmVycmlkZVZhbHVlSGFuZGxpbmciIHR5cGU9InRu +czpPdmVycmlkZVZhbHVlSGFuZGxpbmciIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5k +ZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iTGlzdE9mT3ZlcnJpZGVWYWx1ZUhhbmRsaW5nIiB0eXBlPSJ0bnM6TGlzdE9m +T3ZlcnJpZGVWYWx1ZUhhbmRsaW5nIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJTdWJzY3JpYmVkRGF0YVNldE1pcnJvckRhdGFUeXBlIj4N +CiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNp +b24gYmFzZT0idG5zOlN1YnNjcmliZWREYXRhU2V0RGF0YVR5cGUiPg0KICAgICAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUGFyZW50Tm9kZU5hbWUiIHR5cGU9 +InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJSb2xlUGVybWlzc2lvbnMiIHR5cGU9InRuczpMaXN0T2ZSb2xlUGVy +bWlzc2lvblR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwv +eHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250 +ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpYmVk +RGF0YVNldE1pcnJvckRhdGFUeXBlIiB0eXBlPSJ0bnM6U3Vic2NyaWJlZERhdGFTZXRNaXJyb3JE +YXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU3Vic2NyaWJlZERh +dGFTZXRNaXJyb3JEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iU3Vic2NyaWJlZERhdGFTZXRNaXJyb3JEYXRhVHlwZSIgdHlwZT0idG5zOlN1YnNj +cmliZWREYXRhU2V0TWlycm9yRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJv +dW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlN1YnNjcmliZWREYXRhU2V0TWly +cm9yRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZTdWJzY3JpYmVkRGF0YVNldE1pcnJvckRhdGFU +eXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBu +YW1lPSJQdWJTdWJDb25maWd1cmF0aW9uRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hlZERhdGFTZXRzIiB0eXBlPSJ0bnM6TGlzdE9m +UHVibGlzaGVkRGF0YVNldERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29ubmVjdGlvbnMiIHR5cGU9InRuczpMaXN0T2ZQ +dWJTdWJDb25uZWN0aW9uRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmFibGVkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iUHViU3ViQ29uZmlndXJhdGlvbkRhdGFUeXBlIiB0eXBlPSJ0bnM6 +UHViU3ViQ29uZmlndXJhdGlvbkRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJMaXN0T2ZQdWJTdWJDb25maWd1cmF0aW9uRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1YlN1YkNvbmZpZ3VyYXRpb25EYXRhVHlwZSIgdHlw +ZT0idG5zOlB1YlN1YkNvbmZpZ3VyYXRpb25EYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1 +cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUHViU3ViQ29uZmln +dXJhdGlvbkRhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mUHViU3ViQ29uZmlndXJhdGlvbkRhdGFU +eXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBu +YW1lPSJEYXRhU2V0T3JkZXJpbmdUeXBlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6 +c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVW5kZWZpbmVkXzAiIC8+DQog +ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFzY2VuZGluZ1dyaXRlcklkXzEiIC8+DQogICAg +ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFzY2VuZGluZ1dyaXRlcklkU2luZ2xlXzIiIC8+DQog +ICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJEYXRhU2V0T3JkZXJpbmdUeXBlIiB0eXBlPSJ0bnM6RGF0YVNldE9yZGVyaW5nVHlwZSIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGF0YVNldE9yZGVyaW5nVHlwZSI+ +DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldE9yZGVy +aW5nVHlwZSIgdHlwZT0idG5zOkRhdGFTZXRPcmRlcmluZ1R5cGUiIG1pbk9jY3Vycz0iMCIgbWF4 +T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRGF0YVNldE9yZGVyaW5nVHlwZSIgdHlw +ZT0idG5zOkxpc3RPZkRhdGFTZXRPcmRlcmluZ1R5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVs +ZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IlVhZHBOZXR3b3JrTWVzc2FnZUNvbnRl +bnRNYXNrIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6dW5zaWduZWRJbnQiPg0KICAg +IDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iVWFkcE5ldHdvcmtNZXNzYWdlQ29udGVudE1hc2siIHR5cGU9InRuczpVYWRwTmV0d29ya01l +c3NhZ2VDb250ZW50TWFzayIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mVWFk +cE5ldHdvcmtNZXNzYWdlQ29udGVudE1hc2siPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlVhZHBOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6 +VWFkcE5ldHdvcmtNZXNzYWdlQ29udGVudE1hc2siIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1 +bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mVWFkcE5ldHdvcmtNZXNzYWdlQ29udGVudE1hc2siIHR5 +cGU9InRuczpMaXN0T2ZVYWRwTmV0d29ya01lc3NhZ2VDb250ZW50TWFzayIgbmlsbGFibGU9InRy +dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVWFkcFdyaXRlckdy +b3VwTWVzc2FnZURhdGFUeXBlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNl +Ij4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOldyaXRlckdyb3VwTWVzc2FnZURhdGFU +eXBlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 +Ikdyb3VwVmVyc2lvbiIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg +ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0T3JkZXJpbmciIHR5cGU9InRuczpEYXRh +U2V0T3JkZXJpbmdUeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iTmV0d29ya01lc3NhZ2VDb250ZW50TWFzayIgdHlwZT0idG5zOlVhZHBOZXR3b3JrTWVz +c2FnZUNvbnRlbnRNYXNrIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iU2FtcGxpbmdPZmZzZXQiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0K +ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hpbmdPZmZzZXQiIHR5cGU9InVhOkxp +c3RPZkRvdWJsZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94 +czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRl +bnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVhZHBXcml0ZXJH +cm91cE1lc3NhZ2VEYXRhVHlwZSIgdHlwZT0idG5zOlVhZHBXcml0ZXJHcm91cE1lc3NhZ2VEYXRh +VHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mVWFkcFdyaXRlckdyb3Vw +TWVzc2FnZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJVYWRwV3JpdGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpVYWRwV3JpdGVy +R3JvdXBNZXNzYWdlRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlVhZHBXcml0ZXJHcm91cE1lc3NhZ2VEYXRh +VHlwZSIgdHlwZT0idG5zOkxpc3RPZlVhZHBXcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIgbmls +bGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iVWFk +cERhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4 +czp1bnNpZ25lZEludCI+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVYWRwRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgdHlw +ZT0idG5zOlVhZHBEYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJMaXN0T2ZVYWRwRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayI+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVWFkcERhdGFTZXRNZXNzYWdlQ29u +dGVudE1hc2siIHR5cGU9InRuczpVYWRwRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgbWluT2Nj +dXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZVYWRwRGF0YVNldE1l +c3NhZ2VDb250ZW50TWFzayIgdHlwZT0idG5zOkxpc3RPZlVhZHBEYXRhU2V0TWVzc2FnZUNvbnRl +bnRNYXNrIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJVYWRwRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSI+DQogICAgPHhzOmNvbXBs +ZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpE +YXRhU2V0V3JpdGVyTWVzc2FnZURhdGFUeXBlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIHR5cGU9 +InRuczpVYWRwRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgICAgIDx4czplbGVtZW50IG5hbWU9IkNvbmZpZ3VyZWRTaXplIiB0eXBlPSJ4czp1bnNpZ25l +ZFNob3J0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmV0 +d29ya01lc3NhZ2VOdW1iZXIiIHR5cGU9InhzOnVuc2lnbmVkU2hvcnQiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0T2Zmc2V0IiB0eXBlPSJ4czp1 +bnNpZ25lZFNob3J0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQog +ICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVYWRwRGF0YVNldFdyaXRlck1lc3NhZ2VE +YXRhVHlwZSIgdHlwZT0idG5zOlVhZHBEYXRhU2V0V3JpdGVyTWVzc2FnZURhdGFUeXBlIiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZVYWRwRGF0YVNldFdyaXRlck1lc3NhZ2VE +YXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVWFk +cERhdGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpVYWRwRGF0YVNldFdyaXRl +ck1lc3NhZ2VEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N +CiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mVWFkcERhdGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5 +cGUiIHR5cGU9InRuczpMaXN0T2ZVYWRwRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSIgbmls +bGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVWFk +cERhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBt +aXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6RGF0YVNldFJlYWRl +ck1lc3NhZ2VEYXRhVHlwZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJHcm91cFZlcnNpb24iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1 +cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmV0d29ya01lc3NhZ2VOdW1i +ZXIiIHR5cGU9InhzOnVuc2lnbmVkU2hvcnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0T2Zmc2V0IiB0eXBlPSJ4czp1bnNpZ25lZFNob3J0IiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldENsYXNz +SWQiIHR5cGU9InVhOkd1aWQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6VWFkcE5ldHdvcmtN +ZXNzYWdlQ29udGVudE1hc2siIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJEYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6VWFkcERhdGFTZXRN +ZXNzYWdlQ29udGVudE1hc2siIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJQdWJsaXNoaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlY2VpdmVPZmZzZXQiIHR5cGU9Inhz +OmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlBy +b2Nlc3NpbmdPZmZzZXQiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg +ICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4 +Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVWFkcERh +dGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpVYWRwRGF0YVNldFJlYWRlck1l +c3NhZ2VEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mVWFkcERh +dGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlVhZHBEYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIiB0eXBlPSJ0 +bnM6VWFkcERhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2Nj +dXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlVhZHBEYXRhU2V0 +UmVhZGVyTWVzc2FnZURhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mVWFkcERhdGFTZXRSZWFkZXJN +ZXNzYWdlRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNp +bXBsZVR5cGUgIG5hbWU9Ikpzb25OZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIj4NCiAgICA8eHM6 +cmVzdHJpY3Rpb24gYmFzZT0ieHM6dW5zaWduZWRJbnQiPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+ +DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSnNvbk5ldHdvcmtNZXNz +YWdlQ29udGVudE1hc2siIHR5cGU9InRuczpKc29uTmV0d29ya01lc3NhZ2VDb250ZW50TWFzayIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mSnNvbk5ldHdvcmtNZXNzYWdlQ29u +dGVudE1hc2siPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikpz +b25OZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6SnNvbk5ldHdvcmtNZXNzYWdl +Q29udGVudE1hc2siIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +TGlzdE9mSnNvbk5ldHdvcmtNZXNzYWdlQ29udGVudE1hc2siIHR5cGU9InRuczpMaXN0T2ZKc29u +TmV0d29ya01lc3NhZ2VDb250ZW50TWFzayIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSnNvbldyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBl +Ij4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRl +bnNpb24gYmFzZT0idG5zOldyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIj4NCiAgICAgICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5ldHdvcmtNZXNzYWdlQ29u +dGVudE1hc2siIHR5cGU9InRuczpKc29uTmV0d29ya01lc3NhZ2VDb250ZW50TWFzayIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+ +DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iSnNvbldyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIiB0eXBlPSJ0bnM6SnNv +bldyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJMaXN0T2ZKc29uV3JpdGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikpzb25Xcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlw +ZSIgdHlwZT0idG5zOkpzb25Xcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIgbWluT2NjdXJzPSIw +IiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mSnNv +bldyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mSnNvbldyaXRlckdy +b3VwTWVzc2FnZURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4 +czpzaW1wbGVUeXBlICBuYW1lPSJKc29uRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayI+DQogICAg +PHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnVuc2lnbmVkSW50Ij4NCiAgICA8L3hzOnJlc3RyaWN0 +aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikpzb25EYXRhU2V0 +TWVzc2FnZUNvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6SnNvbkRhdGFTZXRNZXNzYWdlQ29udGVudE1h +c2siIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkpzb25EYXRhU2V0TWVzc2Fn +ZUNvbnRlbnRNYXNrIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJKc29uRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgdHlwZT0idG5zOkpzb25EYXRhU2V0TWVz +c2FnZUNvbnRlbnRNYXNrIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0K +ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h +bWU9Ikxpc3RPZkpzb25EYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6TGlzdE9m +SnNvbkRhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1l +bnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikpzb25EYXRhU2V0V3JpdGVyTWVzc2FnZURh +dGFUeXBlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4 +czpleHRlbnNpb24gYmFzZT0idG5zOkRhdGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUiPg0KICAg +ICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldE1l +c3NhZ2VDb250ZW50TWFzayIgdHlwZT0idG5zOkpzb25EYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNr +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4 +dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJKc29uRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSIgdHlw +ZT0idG5zOkpzb25EYXRhU2V0V3JpdGVyTWVzc2FnZURhdGFUeXBlIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJMaXN0T2ZKc29uRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSI+DQog +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSnNvbkRhdGFTZXRXcml0 +ZXJNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpKc29uRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRh +VHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iTGlzdE9mSnNvbkRhdGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRu +czpMaXN0T2ZKc29uRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSIgbmlsbGFibGU9InRydWUi +PjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSnNvbkRhdGFTZXRSZWFk +ZXJNZXNzYWdlRGF0YVR5cGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2Ui +Pg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6RGF0YVNldFJlYWRlck1lc3NhZ2VEYXRh +VHlwZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6SnNvbk5ldHdvcmtNZXNzYWdl +Q29udGVudE1hc2siIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJEYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6SnNvbkRhdGFTZXRNZXNzYWdl +Q29udGVudE1hc2siIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAg +ICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikpzb25EYXRhU2V0UmVhZGVyTWVzc2FnZURh +dGFUeXBlIiB0eXBlPSJ0bnM6SnNvbkRhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiIC8+DQoN +CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkpzb25EYXRhU2V0UmVhZGVyTWVzc2FnZURh +dGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJKc29u +RGF0YVNldFJlYWRlck1lc3NhZ2VEYXRhVHlwZSIgdHlwZT0idG5zOkpzb25EYXRhU2V0UmVhZGVy +TWVzc2FnZURhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZKc29uRGF0YVNldFJlYWRlck1lc3NhZ2VEYXRhVHlw +ZSIgdHlwZT0idG5zOkxpc3RPZkpzb25EYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIiBuaWxs +YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEYXRh +Z3JhbUNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50 +IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpDb25uZWN0aW9u +VHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iRGlzY292ZXJ5QWRkcmVzcyIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNl +Pg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YWdyYW1Db25uZWN0aW9uVHJh +bnNwb3J0RGF0YVR5cGUiIHR5cGU9InRuczpEYXRhZ3JhbUNvbm5lY3Rpb25UcmFuc3BvcnREYXRh +VHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGF0YWdyYW1Db25uZWN0 +aW9uVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IkRhdGFncmFtQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6 +RGF0YWdyYW1Db25uZWN0aW9uVHJhbnNwb3J0RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2Nj +dXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRhdGFncmFtQ29u +bmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mRGF0YWdyYW1Db25uZWN0 +aW9uVHJhbnNwb3J0RGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFncmFtV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlw +ZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0 +ZW5zaW9uIGJhc2U9InRuczpXcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIj4NCiAgICAgICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1lc3NhZ2VSZXBlYXRD +b3VudCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iTWVzc2FnZVJlcGVhdERlbGF5IiB0eXBlPSJ4czpkb3VibGUiIG1p +bk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5z +aW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9IkRhdGFncmFtV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSIgdHlw +ZT0idG5zOkRhdGFncmFtV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGF0YWdyYW1Xcml0ZXJHcm91cFRyYW5zcG9ydERhdGFU +eXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhZ3Jh +bVdyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRuczpEYXRhZ3JhbVdyaXRlckdy +b3VwVHJhbnNwb3J0RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRhdGFncmFtV3JpdGVyR3JvdXBUcmFuc3Bv +cnREYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZkRhdGFncmFtV3JpdGVyR3JvdXBUcmFuc3BvcnRE +YXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iQnJva2VyQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIj4NCiAgICA8eHM6Y29t +cGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5z +OkNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNvdXJjZVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h +bWU9IkF1dGhlbnRpY2F0aW9uUHJvZmlsZVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94 +czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJva2VyQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBl +IiB0eXBlPSJ0bnM6QnJva2VyQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZCcm9rZXJDb25uZWN0aW9uVHJhbnNwb3J0RGF0YVR5 +cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb2tlckNv +bm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0idG5zOkJyb2tlckNvbm5lY3Rpb25UcmFu +c3BvcnREYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQnJva2VyQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBl +IiB0eXBlPSJ0bnM6TGlzdE9mQnJva2VyQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIiBuaWxs +YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJCcm9r +ZXJUcmFuc3BvcnRRdWFsaXR5T2ZTZXJ2aWNlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0i +eHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm90U3BlY2lmaWVkXzAi +IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJlc3RFZmZvcnRfMSIgLz4NCiAgICAg +IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQXRMZWFzdE9uY2VfMiIgLz4NCiAgICAgIDx4czplbnVt +ZXJhdGlvbiB2YWx1ZT0iQXRNb3N0T25jZV8zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh +bHVlPSJFeGFjdGx5T25jZV80IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2lt +cGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJva2VyVHJhbnNwb3J0UXVhbGl0eU9mU2Vy +dmljZSIgdHlwZT0idG5zOkJyb2tlclRyYW5zcG9ydFF1YWxpdHlPZlNlcnZpY2UiIC8+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkJyb2tlclRyYW5zcG9ydFF1YWxpdHlPZlNlcnZp +Y2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb2tlclRy +YW5zcG9ydFF1YWxpdHlPZlNlcnZpY2UiIHR5cGU9InRuczpCcm9rZXJUcmFuc3BvcnRRdWFsaXR5 +T2ZTZXJ2aWNlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxp +c3RPZkJyb2tlclRyYW5zcG9ydFF1YWxpdHlPZlNlcnZpY2UiIHR5cGU9InRuczpMaXN0T2ZCcm9r +ZXJUcmFuc3BvcnRRdWFsaXR5T2ZTZXJ2aWNlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50 +Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCcm9rZXJXcml0ZXJHcm91cFRyYW5zcG9ydERh +dGFUeXBlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4 +czpleHRlbnNpb24gYmFzZT0idG5zOldyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAg +ICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVldWVOYW1l +IiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzb3VyY2VVcmkiIHR5cGU9InhzOnN0cmluZyIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJBdXRoZW50aWNhdGlvblByb2ZpbGVVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0 +ZWREZWxpdmVyeUd1YXJhbnRlZSIgdHlwZT0idG5zOkJyb2tlclRyYW5zcG9ydFF1YWxpdHlPZlNl +cnZpY2UiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwv +eHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb2tlcldyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5 +cGUiIHR5cGU9InRuczpCcm9rZXJXcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiAvPg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZCcm9rZXJXcml0ZXJHcm91cFRyYW5zcG9ydERh +dGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm9r +ZXJXcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6QnJva2VyV3JpdGVyR3Jv +dXBUcmFuc3BvcnREYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQnJva2VyV3JpdGVyR3JvdXBUcmFuc3BvcnRE +YXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZkJyb2tlcldyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5 +cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9IkJyb2tlckRhdGFTZXRXcml0ZXJUcmFuc3BvcnREYXRhVHlwZSI+DQogICAgPHhzOmNvbXBs +ZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpE +YXRhU2V0V3JpdGVyVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQog +ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVldWVOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iUmVzb3VyY2VVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdXRoZW50aWNhdGlvblByb2Zp +bGVVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXRhRGF0YVF1ZXVlTmFtZSIgdHlwZT0ieHM6 +c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czpl +bGVtZW50IG5hbWU9Ik1ldGFEYXRhVXBkYXRlVGltZSIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1 +cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4N +CiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl +bWVudCBuYW1lPSJCcm9rZXJEYXRhU2V0V3JpdGVyVHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRu +czpCcm9rZXJEYXRhU2V0V3JpdGVyVHJhbnNwb3J0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9Ikxpc3RPZkJyb2tlckRhdGFTZXRXcml0ZXJUcmFuc3BvcnREYXRhVHlwZSI+ +DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJva2VyRGF0YVNl +dFdyaXRlclRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6QnJva2VyRGF0YVNldFdyaXRlclRy +YW5zcG9ydERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZCcm9rZXJEYXRhU2V0V3JpdGVyVHJhbnNwb3J0RGF0 +YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZCcm9rZXJEYXRhU2V0V3JpdGVyVHJhbnNwb3J0RGF0YVR5 +cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9IkJyb2tlckRhdGFTZXRSZWFkZXJUcmFuc3BvcnREYXRhVHlwZSI+DQogICAgPHhzOmNvbXBs +ZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpE +YXRhU2V0UmVhZGVyVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQog +ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVldWVOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iUmVzb3VyY2VVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdXRoZW50aWNhdGlvblByb2Zp +bGVVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWREZWxpdmVyeUd1YXJhbnRlZSIg +dHlwZT0idG5zOkJyb2tlclRyYW5zcG9ydFF1YWxpdHlPZlNlcnZpY2UiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXRhRGF0YVF1ZXVlTmFtZSIgdHlwZT0i +eHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hz +OnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVu +dD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJva2VyRGF0YVNl +dFJlYWRlclRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6QnJva2VyRGF0YVNldFJlYWRlclRy +YW5zcG9ydERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZCcm9r +ZXJEYXRhU2V0UmVhZGVyVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IkJyb2tlckRhdGFTZXRSZWFkZXJUcmFuc3BvcnREYXRhVHlw +ZSIgdHlwZT0idG5zOkJyb2tlckRhdGFTZXRSZWFkZXJUcmFuc3BvcnREYXRhVHlwZSIgbWluT2Nj +dXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 +czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlz +dE9mQnJva2VyRGF0YVNldFJlYWRlclRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9m +QnJva2VyRGF0YVNldFJlYWRlclRyYW5zcG9ydERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94 +czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJEaWFnbm9zdGljc0xldmVsIj4N +CiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJh +dGlvbiB2YWx1ZT0iQmFzaWNfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQWR2 +YW5jZWRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW5mb18yIiAvPg0KICAg +ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJMb2dfMyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv +biB2YWx1ZT0iRGVidWdfNCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBs +ZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNzTGV2ZWwiIHR5cGU9InRuczpE +aWFnbm9zdGljc0xldmVsIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZEaWFn +bm9zdGljc0xldmVsIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJEaWFnbm9zdGljc0xldmVsIiB0eXBlPSJ0bnM6RGlhZ25vc3RpY3NMZXZlbCIgbWluT2NjdXJz +PSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz +OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZEaWFnbm9zdGljc0xldmVs +IiB0eXBlPSJ0bnM6TGlzdE9mRGlhZ25vc3RpY3NMZXZlbCIgbmlsbGFibGU9InRydWUiPjwveHM6 +ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iUHViU3ViRGlhZ25vc3RpY3NDb3Vu +dGVyQ2xhc3NpZmljYXRpb24iPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmci +Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJbmZvcm1hdGlvbl8wIiAvPg0KICAgICAg +PHhzOmVudW1lcmF0aW9uIHZhbHVlPSJFcnJvcl8xIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+ +DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUHViU3ViRGlhZ25vc3Rp +Y3NDb3VudGVyQ2xhc3NpZmljYXRpb24iIHR5cGU9InRuczpQdWJTdWJEaWFnbm9zdGljc0NvdW50 +ZXJDbGFzc2lmaWNhdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUHVi +U3ViRGlhZ25vc3RpY3NDb3VudGVyQ2xhc3NpZmljYXRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1YlN1YkRpYWdub3N0aWNzQ291bnRlckNsYXNzaWZp +Y2F0aW9uIiB0eXBlPSJ0bnM6UHViU3ViRGlhZ25vc3RpY3NDb3VudGVyQ2xhc3NpZmljYXRpb24i +IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5j +ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUHViU3Vi +RGlhZ25vc3RpY3NDb3VudGVyQ2xhc3NpZmljYXRpb24iIHR5cGU9InRuczpMaXN0T2ZQdWJTdWJE +aWFnbm9zdGljc0NvdW50ZXJDbGFzc2lmaWNhdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxl +bWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iSWRUeXBlIj4NCiAgICA8eHM6YW5ub3Rh +dGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSB0eXBlIG9mIGlkZW50aWZpZXIgdXNl +ZCBpbiBhIG5vZGUgaWQuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4N +CiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJh +dGlvbiB2YWx1ZT0iTnVtZXJpY18wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJT +dHJpbmdfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iR3VpZF8yIiAvPg0KICAg +ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJPcGFxdWVfMyIgLz4NCiAgICA8L3hzOnJlc3RyaWN0 +aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IklkVHlwZSIgdHlw +ZT0idG5zOklkVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mSWRUeXBl +Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJZFR5cGUiIHR5 +cGU9InRuczpJZFR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQog +ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iTGlzdE9mSWRUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mSWRUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+ +PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJOb2RlQ2xhc3MiPg0KICAg +IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBtYXNrIHNwZWNpZnlp +bmcgdGhlIGNsYXNzIG9mIHRoZSBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu +bm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8 +eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVuc3BlY2lmaWVkXzAiIC8+DQogICAgICA8eHM6ZW51bWVy +YXRpb24gdmFsdWU9Ik9iamVjdF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJW +YXJpYWJsZV8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJNZXRob2RfNCIgLz4N +CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iT2JqZWN0VHlwZV84IiAvPg0KICAgICAgPHhz +OmVudW1lcmF0aW9uIHZhbHVlPSJWYXJpYWJsZVR5cGVfMTYiIC8+DQogICAgICA8eHM6ZW51bWVy +YXRpb24gdmFsdWU9IlJlZmVyZW5jZVR5cGVfMzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g +dmFsdWU9IkRhdGFUeXBlXzY0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJWaWV3 +XzEyOCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9Ik5vZGVDbGFzcyIgdHlwZT0idG5zOk5vZGVDbGFzcyIgLz4NCg0KICA8 +eHM6c2ltcGxlVHlwZSAgbmFtZT0iQWNjZXNzTGV2ZWxUeXBlIj4NCiAgICA8eHM6cmVzdHJpY3Rp +b24gYmFzZT0ieHM6dW5zaWduZWRCeXRlIj4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hz +OnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFjY2Vzc0xldmVsVHlwZSIgdHlwZT0i +dG5zOkFjY2Vzc0xldmVsVHlwZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iQWNjZXNz +TGV2ZWxFeFR5cGUiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czp1bnNpZ25lZEludCI+ +DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJBY2Nlc3NMZXZlbEV4VHlwZSIgdHlwZT0idG5zOkFjY2Vzc0xldmVsRXhUeXBlIiAv +Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJFdmVudE5vdGlmaWVyVHlwZSI+DQogICAgPHhz +OnJlc3RyaWN0aW9uIGJhc2U9InhzOnVuc2lnbmVkSW50Ij4NCiAgICA8L3hzOnJlc3RyaWN0aW9u +Pg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkV2ZW50Tm90aWZpZXJU +eXBlIiB0eXBlPSJ0bnM6RXZlbnROb3RpZmllclR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9IlJvbGVQZXJtaXNzaW9uVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iUm9sZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQZXJtaXNzaW9ucyIgdHlw +ZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSb2xlUGVybWlzc2lvblR5 +cGUiIHR5cGU9InRuczpSb2xlUGVybWlzc2lvblR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9Ikxpc3RPZlJvbGVQZXJtaXNzaW9uVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iUm9sZVBlcm1pc3Npb25UeXBlIiB0eXBlPSJ0bnM6Um9sZVBl +cm1pc3Npb25UeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZSb2xlUGVybWlzc2lvblR5cGUiIHR5cGU9InRuczpMaXN0 +T2ZSb2xlUGVybWlzc2lvblR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFUeXBlRGVmaW5pdGlvbiI+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9IkRhdGFUeXBlRGVmaW5pdGlvbiIgdHlwZT0idG5zOkRhdGFUeXBlRGVmaW5pdGlv +biIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGF0YVR5cGVEZWZpbml0aW9u +Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZURl +ZmluaXRpb24iIHR5cGU9InRuczpEYXRhVHlwZURlZmluaXRpb24iIG1pbk9jY3Vycz0iMCIgbWF4 +T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRhdGFUeXBl +RGVmaW5pdGlvbiIgdHlwZT0idG5zOkxpc3RPZkRhdGFUeXBlRGVmaW5pdGlvbiIgbmlsbGFibGU9 +InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iU3RydWN0dXJl +VHlwZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6 +ZW51bWVyYXRpb24gdmFsdWU9IlN0cnVjdHVyZV8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u +IHZhbHVlPSJTdHJ1Y3R1cmVXaXRoT3B0aW9uYWxGaWVsZHNfMSIgLz4NCiAgICAgIDx4czplbnVt +ZXJhdGlvbiB2YWx1ZT0iVW5pb25fMiIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hz +OnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlN0cnVjdHVyZVR5cGUiIHR5cGU9InRu +czpTdHJ1Y3R1cmVUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTdHJ1Y3R1cmVG +aWVsZCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFtZSIg +dHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iRGVzY3JpcHRpb24iIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJE +YXRhVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czppbnQiIG1pbk9j +Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFycmF5RGltZW5zaW9ucyIgdHlw +ZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4U3RyaW5nTGVuZ3RoIiB0eXBlPSJ4czp1bnNpZ25lZElu +dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNPcHRpb25hbCIg +dHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlN0cnVjdHVyZUZpZWxkIiB0 +eXBlPSJ0bnM6U3RydWN0dXJlRmllbGQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxp +c3RPZlN0cnVjdHVyZUZpZWxkIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJTdHJ1Y3R1cmVGaWVsZCIgdHlwZT0idG5zOlN0cnVjdHVyZUZpZWxkIiBtaW5PY2N1 +cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0 +T2ZTdHJ1Y3R1cmVGaWVsZCIgdHlwZT0idG5zOkxpc3RPZlN0cnVjdHVyZUZpZWxkIiBuaWxsYWJs +ZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTdHJ1Y3R1 +cmVEZWZpbml0aW9uIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAg +ICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkRhdGFUeXBlRGVmaW5pdGlvbiI+DQogICAgICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWZhdWx0RW5jb2Rp +bmdJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkJhc2VEYXRhVHlwZSIgdHlwZT0idWE6Tm9kZUlk +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlN0cnVjdHVyZVR5cGUiIHR5cGU9InRuczpTdHJ1Y3R1cmVUeXBlIiBtaW5PY2N1cnM9 +IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmllbGRzIiB0eXBlPSJ0bnM6TGlz +dE9mU3RydWN0dXJlRmllbGQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBs +ZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTdHJ1 +Y3R1cmVEZWZpbml0aW9uIiB0eXBlPSJ0bnM6U3RydWN0dXJlRGVmaW5pdGlvbiIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU3RydWN0dXJlRGVmaW5pdGlvbiI+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RydWN0dXJlRGVmaW5pdGlvbiIg +dHlwZT0idG5zOlN0cnVjdHVyZURlZmluaXRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1 +bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlN0cnVjdHVyZURlZmluaXRp +b24iIHR5cGU9InRuczpMaXN0T2ZTdHJ1Y3R1cmVEZWZpbml0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+ +PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFbnVtRGVmaW5pdGlvbiI+ +DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5z +aW9uIGJhc2U9InRuczpEYXRhVHlwZURlZmluaXRpb24iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+ +DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmllbGRzIiB0eXBlPSJ0bnM6TGlzdE9mRW51 +bUZpZWxkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNl +cXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRW51bURlZmluaXRpb24i +IHR5cGU9InRuczpFbnVtRGVmaW5pdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i +TGlzdE9mRW51bURlZmluaXRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IkVudW1EZWZpbml0aW9uIiB0eXBlPSJ0bnM6RW51bURlZmluaXRpb24iIG1pbk9j +Y3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxp +c3RPZkVudW1EZWZpbml0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mRW51bURlZmluaXRpb24iIG5pbGxh +YmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik5vZGUi +Pg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+U3BlY2lmaWVz +IHRoZSBhdHRyaWJ1dGVzIHdoaWNoIGJlbG9uZyB0byBhbGwgbm9kZXMuPC94czpkb2N1bWVudGF0 +aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+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 +CiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0 +aGUgYXR0cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gb2JqZWN0IG5vZGVzLjwveHM6ZG9jdW1lbnRh +dGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVk +PSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpJbnN0YW5jZU5vZGUiPg0K +ICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnRO +b3RpZmllciIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAg +IDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhD +b250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJPYmplY3RO +b2RlIiB0eXBlPSJ0bnM6T2JqZWN0Tm9kZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i +T2JqZWN0VHlwZU5vZGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50 +YXRpb24+U3BlY2lmaWVzIHRoZSBhdHRyaWJ1dGVzIHdoaWNoIGJlbG9uZyB0byBvYmplY3QgdHlw +ZSBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4 +czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNl +PSJ0bnM6VHlwZU5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iSXNBYnN0cmFjdCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94 +czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iT2JqZWN0VHlwZU5vZGUiIHR5cGU9InRuczpPYmplY3RUeXBlTm9kZSIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iVmFyaWFibGVOb2RlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg +ICAgIDx4czpkb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBiZWxv +bmcgdG8gdmFyaWFibGUgbm9kZXMuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3Rh +dGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpl +eHRlbnNpb24gYmFzZT0idG5zOkluc3RhbmNlTm9kZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0idWE6VmFyaWFudCIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlIiB0eXBl +PSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcnJheURpbWVuc2lvbnMiIHR5cGU9InVh +Okxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJBY2Nlc3NMZXZlbCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlckFjY2Vzc0xl +dmVsIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91Ymxl +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yaXpp +bmciIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJBY2Nlc3NMZXZlbEV4IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz +PSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQog +ICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iVmFyaWFibGVOb2RlIiB0eXBlPSJ0bnM6VmFyaWFibGVOb2RlIiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJWYXJpYWJsZVR5cGVOb2RlIj4NCiAgICA8eHM6YW5ub3RhdGlv +bj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0cmlidXRlcyB3aGlj +aCBiZWxvbmcgdG8gdmFyaWFibGUgdHlwZSBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAg +PC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0K +ICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6VHlwZU5vZGUiPg0KICAgICAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUiIHR5cGU9InVhOlZhcmlh +bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlw +ZSIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlUmFuayIgdHlwZT0ieHM6aW50IiBtaW5PY2N1 +cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXJyYXlEaW1lbnNpb25zIiB0 +eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNBYnN0cmFjdCIgdHlwZT0ieHM6Ym9vbGVhbiIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRl +bnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iVmFyaWFibGVUeXBlTm9kZSIgdHlwZT0idG5zOlZhcmlhYmxlVHlw +ZU5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZmVyZW5jZVR5cGVOb2RlIj4N +CiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0 +aGUgYXR0cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gcmVmZXJlbmNlIHR5cGUgbm9kZXMuPC94czpk +b2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRl +bnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOlR5cGVOb2Rl +Ij4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Iklz +QWJzdHJhY3QiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJTeW1tZXRyaWMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0i +MCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbnZlcnNlTmFtZSIgdHlwZT0idWE6 +TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAg +PC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENv +bnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5j +ZVR5cGVOb2RlIiB0eXBlPSJ0bnM6UmVmZXJlbmNlVHlwZU5vZGUiIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9Ik1ldGhvZE5vZGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhz +OmRvY3VtZW50YXRpb24+U3BlY2lmaWVzIHRoZSBhdHRyaWJ1dGVzIHdoaWNoIGJlbG9uZyB0byBt +ZXRob2Qgbm9kZXMuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAg +ICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24g +YmFzZT0idG5zOkluc3RhbmNlTm9kZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJFeGVjdXRhYmxlIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1 +cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlckV4ZWN1dGFibGUiIHR5 +cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4N +CiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1ldGhvZE5vZGUiIHR5cGU9InRuczpN +ZXRob2ROb2RlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJWaWV3Tm9kZSI+DQogICAg +PHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJh +c2U9InRuczpJbnN0YW5jZU5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iQ29udGFpbnNOb0xvb3BzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnROb3RpZmllciIg +dHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2Vx +dWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWaWV3Tm9kZSIgdHlwZT0i +dG5zOlZpZXdOb2RlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEYXRhVHlwZU5vZGUi +Pg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVu +c2lvbiBiYXNlPSJ0bnM6VHlwZU5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNBYnN0cmFjdCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlRGVmaW5pdGlv +biIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAg +PC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg +bmFtZT0iRGF0YVR5cGVOb2RlIiB0eXBlPSJ0bnM6RGF0YVR5cGVOb2RlIiAvPg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJSZWZlcmVuY2VOb2RlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg +ICAgIDx4czpkb2N1bWVudGF0aW9uPlNwZWNpZmllcyBhIHJlZmVyZW5jZSB3aGljaCBiZWxvbmdz +IHRvIGEgbm9kZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZVR5cGVJZCIg +dHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iSXNJbnZlcnNlIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9 +IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXRJZCIgdHlwZT0idWE6RXhwYW5k +ZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNl +Tm9kZSIgdHlwZT0idG5zOlJlZmVyZW5jZU5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9Ikxpc3RPZlJlZmVyZW5jZU5vZGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlJlZmVyZW5jZU5vZGUiIHR5cGU9InRuczpSZWZlcmVuY2VOb2RlIiBtaW5P +Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM +aXN0T2ZSZWZlcmVuY2VOb2RlIiB0eXBlPSJ0bnM6TGlzdE9mUmVmZXJlbmNlTm9kZSIgbmlsbGFi +bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQXJndW1l +bnQiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QW4gYXJn +dW1lbnQgZm9yIGEgbWV0aG9kLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRp +b24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFtZSIgdHlw +ZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iRGF0YVR5cGUiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlUmFuayIgdHlw +ZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcnJh +eURpbWVuc2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlc2NyaXB0aW9uIiB0eXBlPSJ1 +YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFy +Z3VtZW50IiB0eXBlPSJ0bnM6QXJndW1lbnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +Ikxpc3RPZkFyZ3VtZW50Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJBcmd1bWVudCIgdHlwZT0idG5zOkFyZ3VtZW50IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vy +cz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZBcmd1bWVudCIgdHlw +ZT0idG5zOkxpc3RPZkFyZ3VtZW50IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJFbnVtVmFsdWVUeXBlIj4NCiAgICA8eHM6YW5ub3RhdGlv +bj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgbWFwcGluZyBiZXR3ZWVuIGEgdmFsdWUgb2Yg +YW4gZW51bWVyYXRlZCB0eXBlIGFuZCBhIG5hbWUgYW5kIGRlc2NyaXB0aW9uLjwveHM6ZG9jdW1l +bnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUiIHR5cGU9InhzOmxvbmciIG1pbk9jY3Vycz0iMCIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc3BsYXlOYW1lIiB0eXBlPSJ1YTpMb2NhbGl6ZWRU +ZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iRGVzY3JpcHRpb24iIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRW51bVZhbHVlVHlwZSIgdHlwZT0idG5zOkVudW1WYWx1 +ZVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkVudW1WYWx1ZVR5cGUi +Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVudW1WYWx1ZVR5 +cGUiIHR5cGU9InRuczpFbnVtVmFsdWVUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5i +b3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbnVtVmFsdWVUeXBlIiB0eXBl +PSJ0bnM6TGlzdE9mRW51bVZhbHVlVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRW51bUZpZWxkIj4NCiAgICA8eHM6Y29tcGxleENv +bnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkVudW1W +YWx1ZVR5cGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAg +PC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg +bmFtZT0iRW51bUZpZWxkIiB0eXBlPSJ0bnM6RW51bUZpZWxkIiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJMaXN0T2ZFbnVtRmllbGQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IkVudW1GaWVsZCIgdHlwZT0idG5zOkVudW1GaWVsZCIgbWluT2NjdXJz +PSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz +ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9m +RW51bUZpZWxkIiB0eXBlPSJ0bnM6TGlzdE9mRW51bUZpZWxkIiBuaWxsYWJsZT0idHJ1ZSI+PC94 +czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJPcHRpb25TZXQiPg0KICAgIDx4 +czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhpcyBhYnN0cmFjdCBTdHJ1 +Y3R1cmVkIERhdGFUeXBlIGlzIHRoZSBiYXNlIERhdGFUeXBlIGZvciBhbGwgRGF0YVR5cGVzIHJl +cHJlc2VudGluZyBhIGJpdCBtYXNrLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90 +YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUi +IHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbGlkQml0cyIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5 +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9wdGlvblNldCIgdHlwZT0i +dG5zOk9wdGlvblNldCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mT3B0aW9u +U2V0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPcHRpb25T +ZXQiIHR5cGU9InRuczpPcHRpb25TZXQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5k +ZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk9wdGlvblNldCIgdHlwZT0idG5zOkxp +c3RPZk9wdGlvblNldCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iVW5pb24iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRv +Y3VtZW50YXRpb24+VGhpcyBhYnN0cmFjdCBEYXRhVHlwZSBpcyB0aGUgYmFzZSBEYXRhVHlwZSBm +b3IgYWxsIHVuaW9uIERhdGFUeXBlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v +dGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVbmlvbiIgdHlwZT0idG5zOlVuaW9uIiAv +Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZVbmlvbiI+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVW5pb24iIHR5cGU9InRuczpVbmlvbiIgbWlu +T2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +TGlzdE9mVW5pb24iIHR5cGU9InRuczpMaXN0T2ZVbmlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6 +ZWxlbWVudD4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOb3JtYWxpemVkU3RyaW5nIiB0eXBlPSJ4 +czpzdHJpbmciIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVjaW1hbFN0cmluZyIgdHlwZT0i +eHM6c3RyaW5nIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkR1cmF0aW9uU3RyaW5nIiB0eXBl +PSJ4czpzdHJpbmciIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZVN0cmluZyIgdHlwZT0i +eHM6c3RyaW5nIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkRhdGVTdHJpbmciIHR5cGU9Inhz +OnN0cmluZyIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEdXJhdGlvbiIgdHlwZT0ieHM6ZG91 +YmxlIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IlV0Y1RpbWUiIHR5cGU9InhzOmRhdGVUaW1l +IiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkxvY2FsZUlkIiB0eXBlPSJ4czpzdHJpbmciIC8+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlRpbWVab25lRGF0YVR5cGUiPg0KICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik9mZnNldCIgdHlwZT0ieHM6c2hvcnQi +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRheWxpZ2h0U2F2aW5n +SW5PZmZzZXQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNl +cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lWm9u +ZURhdGFUeXBlIiB0eXBlPSJ0bnM6VGltZVpvbmVEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iTGlzdE9mVGltZVpvbmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZVpvbmVEYXRhVHlwZSIgdHlwZT0idG5zOlRpbWVa +b25lRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9Ikxpc3RPZlRpbWVab25lRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZU +aW1lWm9uZURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpl +bGVtZW50IG5hbWU9IkludGVnZXJJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIC8+DQoNCiAgPHhz +OnNpbXBsZVR5cGUgIG5hbWU9IkFwcGxpY2F0aW9uVHlwZSI+DQogICAgPHhzOmFubm90YXRpb24+ +DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgdHlwZXMgb2YgYXBwbGljYXRpb25zLjwveHM6 +ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0aW9u +IGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNlcnZlcl8w +IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDbGllbnRfMSIgLz4NCiAgICAgIDx4 +czplbnVtZXJhdGlvbiB2YWx1ZT0iQ2xpZW50QW5kU2VydmVyXzIiIC8+DQogICAgICA8eHM6ZW51 +bWVyYXRpb24gdmFsdWU9IkRpc2NvdmVyeVNlcnZlcl8zIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rp +b24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25U +eXBlIiB0eXBlPSJ0bnM6QXBwbGljYXRpb25UeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu +YW1lPSJBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAg +IDx4czpkb2N1bWVudGF0aW9uPkRlc2NyaWJlcyBhbiBhcHBsaWNhdGlvbiBhbmQgaG93IHRvIGZp +bmQgaXQuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcHBsaWNhdGlvblVyaSIgdHlwZT0i +eHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iUHJvZHVjdFVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25OYW1l +IiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25UeXBlIiB0eXBlPSJ0bnM6QXBw +bGljYXRpb25UeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJH +YXRld2F5U2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjb3ZlcnlQcm9maWxlVXJpIiB0 +eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJEaXNjb3ZlcnlVcmxzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25EZXNjcmlwdGlv +biIgdHlwZT0idG5zOkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9Ikxpc3RPZkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIHR5cGU9 +InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5i +b3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZBcHBsaWNhdGlvbkRlc2NyaXB0 +aW9uIiB0eXBlPSJ0bnM6TGlzdE9mQXBwbGljYXRpb25EZXNjcmlwdGlvbiIgbmlsbGFibGU9InRy +dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVxdWVzdEhlYWRl +ciI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgaGVh +ZGVyIHBhc3NlZCB3aXRoIGV2ZXJ5IHNlcnZlciByZXF1ZXN0LjwveHM6ZG9jdW1lbnRhdGlvbj4N +CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iQXV0aGVudGljYXRpb25Ub2tlbiIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0YW1w +IiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iUmVxdWVzdEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldHVybkRpYWdub3N0aWNzIiB0eXBlPSJ4czp1 +bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXVk +aXRFbnRyeUlkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lb3V0SGludCIgdHlwZT0ieHM6dW5zaWdu +ZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZGl0aW9u +YWxIZWFkZXIiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVzcG9uc2VIZWFkZXIiPg0KICAgIDx4czph +bm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGhlYWRlciBwYXNzZWQgd2l0 +aCBldmVyeSBzZXJ2ZXIgcmVzcG9uc2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5u +b3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1l +c3RhbXAiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJSZXF1ZXN0SGFuZGxlIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz +PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmljZVJlc3VsdCIgdHlwZT0idWE6 +U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vy +dmljZURpYWdub3N0aWNzIiB0eXBlPSJ1YTpEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0cmluZ1RhYmxlIiB0 +eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRpdGlvbmFsSGVhZGVyIiB0eXBlPSJ1YTpFeHRlbnNp +b25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VI +ZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJWZXJzaW9uVGltZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9IlNlcnZpY2VGYXVsdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6 +ZG9jdW1lbnRhdGlvbj5UaGUgcmVzcG9uc2UgcmV0dXJuZWQgYnkgYWxsIHNlcnZpY2VzIHdoZW4g +dGhlcmUgaXMgYSBzZXJ2aWNlIGxldmVsIGVycm9yLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8 +L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2aWNlRmF1bHQiIHR5cGU9InRuczpTZXJ2aWNl +RmF1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlc3Npb25sZXNzSW52b2tlUmVx +dWVzdFR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVy +aXNWZXJzaW9uIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOYW1lc3BhY2VVcmlzIiB0eXBlPSJ1 +YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJVcmlzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMb2Nh +bGVJZHMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZpY2VJZCIgdHlwZT0ieHM6dW5zaWdu +ZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9ubGVzc0ludm9rZVJlcXVlc3RUeXBl +IiB0eXBlPSJ0bnM6U2Vzc2lvbmxlc3NJbnZva2VSZXF1ZXN0VHlwZSIgLz4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iU2Vzc2lvbmxlc3NJbnZva2VSZXNwb25zZVR5cGUiPg0KICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5hbWVzcGFjZVVyaXMiIHR5cGU9InVh +Okxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlNlcnZlclVyaXMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZp +Y2VJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNl +cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9u +bGVzc0ludm9rZVJlc3BvbnNlVHlwZSIgdHlwZT0idG5zOlNlc3Npb25sZXNzSW52b2tlUmVzcG9u +c2VUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJGaW5kU2VydmVyc1JlcXVlc3Qi +Pg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+RmluZHMgdGhl +IHNlcnZlcnMga25vd24gdG8gdGhlIGRpc2NvdmVyeSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0aW9u +Pg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBv +aW50VXJsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMb2NhbGVJZHMiIHR5cGU9InVhOkxpc3RPZlN0cmlu +ZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlNlcnZlclVyaXMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJGaW5kU2VydmVyc1JlcXVlc3QiIHR5cGU9InRuczpGaW5kU2Vy +dmVyc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkZpbmRTZXJ2ZXJzUmVz +cG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Rmlu +ZHMgdGhlIHNlcnZlcnMga25vd24gdG8gdGhlIGRpc2NvdmVyeSBzZXJ2ZXIuPC94czpkb2N1bWVu +dGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVy +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iU2VydmVycyIgdHlwZT0idG5zOkxpc3RPZkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj +b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRmluZFNlcnZlcnNSZXNwb25zZSIgdHlw +ZT0idG5zOkZpbmRTZXJ2ZXJzUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +IlNlcnZlck9uTmV0d29yayI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iUmVjb3JkSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNj +b3ZlcnlVcmwiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlckNhcGFiaWxpdGllcyIgdHlwZT0idWE6 +TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 +c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNlcnZl +ck9uTmV0d29yayIgdHlwZT0idG5zOlNlcnZlck9uTmV0d29yayIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iTGlzdE9mU2VydmVyT25OZXR3b3JrIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJPbk5ldHdvcmsiIHR5cGU9InRuczpTZXJ2ZXJP +bk5ldHdvcmsiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl +bGVtZW50IG5hbWU9Ikxpc3RPZlNlcnZlck9uTmV0d29yayIgdHlwZT0idG5zOkxpc3RPZlNlcnZl +ck9uTmV0d29yayIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iRmluZFNlcnZlcnNPbk5ldHdvcmtSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVu +Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVx +dWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlN0YXJ0aW5nUmVjb3JkSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhSZWNvcmRzVG9SZXR1cm4i +IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJTZXJ2ZXJDYXBhYmlsaXR5RmlsdGVyIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRmluZFNlcnZlcnNPbk5ldHdvcmtS +ZXF1ZXN0IiB0eXBlPSJ0bnM6RmluZFNlcnZlcnNPbk5ldHdvcmtSZXF1ZXN0IiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJGaW5kU2VydmVyc09uTmV0d29ya1Jlc3BvbnNlIj4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlw +ZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdENvdW50ZXJSZXNldFRpbWUiIHR5cGU9InhzOmRh +dGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJz +IiB0eXBlPSJ0bnM6TGlzdE9mU2VydmVyT25OZXR3b3JrIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9IkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVzcG9uc2UiIHR5cGU9InRuczpG +aW5kU2VydmVyc09uTmV0d29ya1Jlc3BvbnNlIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkFw +cGxpY2F0aW9uSW5zdGFuY2VDZXJ0aWZpY2F0ZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiAvPg0K +DQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJNZXNzYWdlU2VjdXJpdHlNb2RlIj4NCiAgICA8eHM6 +YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSB0eXBlIG9mIHNlY3VyaXR5 +IHRvIHVzZSBvbiBhIG1lc3NhZ2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3Rh +dGlvbj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czpl +bnVtZXJhdGlvbiB2YWx1ZT0iSW52YWxpZF8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh +bHVlPSJOb25lXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNpZ25fMiIgLz4N +CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU2lnbkFuZEVuY3J5cHRfMyIgLz4NCiAgICA8 +L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +Ik1lc3NhZ2VTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiAvPg0K +DQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJVc2VyVG9rZW5UeXBlIj4NCiAgICA8eHM6YW5ub3Rh +dGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBwb3NzaWJsZSB1c2VyIHRva2VuIHR5 +cGVzLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJl +c3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +IkFub255bW91c18wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVc2VyTmFtZV8x +IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDZXJ0aWZpY2F0ZV8yIiAvPg0KICAg +ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJc3N1ZWRUb2tlbl8zIiAvPg0KICAgIDwveHM6cmVz +dHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlclRv +a2VuVHlwZSIgdHlwZT0idG5zOlVzZXJUb2tlblR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9IlVzZXJUb2tlblBvbGljeSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6 +ZG9jdW1lbnRhdGlvbj5EZXNjcmliZXMgYSB1c2VyIHRva2VuIHRoYXQgY2FuIGJlIHVzZWQgd2l0 +aCBhIHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBvbGljeUlkIiB0eXBlPSJ4 +czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJUb2tlblR5cGUiIHR5cGU9InRuczpVc2VyVG9rZW5UeXBlIiBtaW5PY2N1cnM9 +IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc3N1ZWRUb2tlblR5cGUiIHR5cGU9Inhz +OnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9Iklzc3VlckVuZHBvaW50VXJsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVBv +bGljeVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9IlVzZXJUb2tlblBvbGljeSIgdHlwZT0idG5zOlVzZXJUb2tlblBvbGljeSIgLz4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mVXNlclRva2VuUG9saWN5Ij4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyVG9rZW5Qb2xpY3kiIHR5cGU9 +InRuczpVc2VyVG9rZW5Qb2xpY3kiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlVzZXJUb2tlblBvbGljeSIgdHlwZT0idG5z +Okxpc3RPZlVzZXJUb2tlblBvbGljeSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRW5kcG9pbnREZXNjcmlwdGlvbiI+DQogICAgPHhzOmFu +bm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgZGVzY3JpcHRpb24gb2YgYSBl +bmRwb2ludCB0aGF0IGNhbiBiZSB1c2VkIHRvIGFjY2VzcyBhIHNlcnZlci48L3hzOmRvY3VtZW50 +YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IkVuZHBvaW50VXJsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXIiIHR5 +cGU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyQ2VydGlmaWNhdGUiIHR5cGU9 +InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5TW9kZSIgdHlwZT0idG5zOk1lc3NhZ2VTZWN1cml0 +eU1vZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5 +UG9saWN5VXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VySWRlbnRpdHlUb2tlbnMiIHR5cGU9InRu +czpMaXN0T2ZVc2VyVG9rZW5Qb2xpY3kiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc3BvcnRQcm9maWxlVXJpIiB0eXBlPSJ4czpz +dHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJTZWN1cml0eUxldmVsIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0i +MCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl +bWVudCBuYW1lPSJFbmRwb2ludERlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6RW5kcG9pbnREZXNjcmlw +dGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRW5kcG9pbnREZXNjcmlw +dGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5kcG9p +bnREZXNjcmlwdGlvbiIgdHlwZT0idG5zOkVuZHBvaW50RGVzY3JpcHRpb24iIG1pbk9jY3Vycz0i +MCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx +dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkVu +ZHBvaW50RGVzY3JpcHRpb24iIHR5cGU9InRuczpMaXN0T2ZFbmRwb2ludERlc2NyaXB0aW9uIiBu +aWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJH +ZXRFbmRwb2ludHNSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1 +bWVudGF0aW9uPkdldHMgdGhlIGVuZHBvaW50cyB1c2VkIGJ5IHRoZSBzZXJ2ZXIuPC94czpkb2N1 +bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRl +ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IkVuZHBvaW50VXJsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMb2NhbGVJZHMiIHR5cGU9InVhOkxp +c3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlByb2ZpbGVVcmlzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w +bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iR2V0RW5kcG9pbnRzUmVxdWVzdCIgdHlwZT0i +dG5zOkdldEVuZHBvaW50c1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikdl +dEVuZHBvaW50c1Jlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1 +bWVudGF0aW9uPkdldHMgdGhlIGVuZHBvaW50cyB1c2VkIGJ5IHRoZSBzZXJ2ZXIuPC94czpkb2N1 +bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVh +ZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iRW5kcG9pbnRzIiB0eXBlPSJ0bnM6TGlzdE9mRW5kcG9pbnREZXNjcmlwdGlvbiIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz +OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJHZXRFbmRwb2ludHNSZXNwb25zZSIg +dHlwZT0idG5zOkdldEVuZHBvaW50c1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu +YW1lPSJSZWdpc3RlcmVkU2VydmVyIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpk +b2N1bWVudGF0aW9uPlRoZSBpbmZvcm1hdGlvbiByZXF1aXJlZCB0byByZWdpc3RlciBhIHNlcnZl +ciB3aXRoIGEgZGlzY292ZXJ5IHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czph +bm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNl +cnZlclVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJvZHVjdFVyaSIgdHlwZT0ieHM6c3RyaW5nIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +U2VydmVyTmFtZXMiIHR5cGU9InVhOkxpc3RPZkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJUeXBlIiB0 +eXBlPSJ0bnM6QXBwbGljYXRpb25UeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJHYXRld2F5U2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjb3ZlcnlV +cmxzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZW1hcGhvcmVGaWxlUGF0aCIgdHlwZT0ieHM6 +c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iSXNPbmxpbmUiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAg +ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJSZWdpc3RlcmVkU2VydmVyIiB0eXBlPSJ0bnM6UmVnaXN0ZXJlZFNlcnZlciIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUmVnaXN0ZXJlZFNlcnZlciI+DQogICAgPHhzOnNl +cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJlZFNlcnZlciIgdHlwZT0i +dG5zOlJlZ2lzdGVyZWRTZXJ2ZXIiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlJlZ2lzdGVyZWRTZXJ2ZXIiIHR5cGU9InRu +czpMaXN0T2ZSZWdpc3RlcmVkU2VydmVyIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWdpc3RlclNlcnZlclJlcXVlc3QiPg0KICAgIDx4 +czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+UmVnaXN0ZXJzIGEgc2VydmVy +IHdpdGggdGhlIGRpc2NvdmVyeSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6 +YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS +ZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlciIgdHlwZT0idG5z +OlJlZ2lzdGVyZWRTZXJ2ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +UmVnaXN0ZXJTZXJ2ZXJSZXF1ZXN0IiB0eXBlPSJ0bnM6UmVnaXN0ZXJTZXJ2ZXJSZXF1ZXN0IiAv +Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWdpc3RlclNlcnZlclJlc3BvbnNlIj4NCiAg +ICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlJlZ2lzdGVycyBhIHNl +cnZlciB3aXRoIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8 +L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWdpc3RlclNlcnZlclJlc3BvbnNlIiB0eXBlPSJ0 +bnM6UmVnaXN0ZXJTZXJ2ZXJSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i +RGlzY292ZXJ5Q29uZmlndXJhdGlvbiI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6 +ZG9jdW1lbnRhdGlvbj5BIGJhc2UgdHlwZSBmb3IgZGlzY292ZXJ5IGNvbmZpZ3VyYXRpb24gaW5m +b3JtYXRpb24uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iRGlzY292ZXJ5Q29uZmlndXJhdGlvbiIgdHlwZT0idG5zOkRpc2Nv +dmVyeUNvbmZpZ3VyYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1kbnNEaXNj +b3ZlcnlDb25maWd1cmF0aW9uIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1 +bWVudGF0aW9uPlRoZSBkaXNjb3ZlcnkgaW5mb3JtYXRpb24gbmVlZGVkIGZvciBtRE5TIHJlZ2lz +dHJhdGlvbi48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4 +czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNl +PSJ0bnM6RGlzY292ZXJ5Q29uZmlndXJhdGlvbiI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZG5zU2VydmVyTmFtZSIgdHlwZT0ieHM6c3RyaW5n +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlNlcnZlckNhcGFiaWxpdGllcyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAg +PC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTWRuc0Rpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIHR5 +cGU9InRuczpNZG5zRGlzY292ZXJ5Q29uZmlndXJhdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXIyUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFk +ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJTZXJ2ZXIiIHR5cGU9InRuczpSZWdpc3RlcmVkU2VydmVyIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzY292ZXJ5Q29uZmln +dXJhdGlvbiIgdHlwZT0idWE6TGlzdE9mRXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyU2VydmVyMlJlcXVlc3QiIHR5cGU9InRuczpS +ZWdpc3RlclNlcnZlcjJSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWdp +c3RlclNlcnZlcjJSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNvbmZp +Z3VyYXRpb25SZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0lu +Zm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJSZWdpc3RlclNlcnZlcjJSZXNwb25zZSIgdHlwZT0idG5zOlJlZ2lz +dGVyU2VydmVyMlJlc3BvbnNlIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJTZWN1cml0 +eVRva2VuUmVxdWVzdFR5cGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3Vt +ZW50YXRpb24+SW5kaWNhdGVzIHdoZXRoZXIgYSB0b2tlbiBpZiBiZWluZyBjcmVhdGVkIG9yIHJl +bmV3ZWQuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6 +cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 +ZT0iSXNzdWVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVuZXdfMSIgLz4N +CiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9IlNlY3VyaXR5VG9rZW5SZXF1ZXN0VHlwZSIgdHlwZT0idG5zOlNlY3VyaXR5VG9rZW5S +ZXF1ZXN0VHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2hhbm5lbFNlY3VyaXR5 +VG9rZW4iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhl +IHRva2VuIHRoYXQgaWRlbnRpZmllcyBhIHNldCBvZiBrZXlzIGZvciBhbiBhY3RpdmUgc2VjdXJl +IGNoYW5uZWwuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDaGFubmVsSWQiIHR5cGU9Inhz +OnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJU +b2tlbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iQ3JlYXRlZEF0IiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZExpZmV0aW1lIiB0eXBlPSJ4czp1 +bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNoYW5uZWxTZWN1cml0eVRva2VuIiB0 +eXBlPSJ0bnM6Q2hhbm5lbFNlY3VyaXR5VG9rZW4iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9Ik9wZW5TZWN1cmVDaGFubmVsUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg +ICA8eHM6ZG9jdW1lbnRhdGlvbj5DcmVhdGVzIGEgc2VjdXJlIGNoYW5uZWwgd2l0aCBhIHNlcnZl +ci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpS +ZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iQ2xpZW50UHJvdG9jb2xWZXJzaW9uIiB0eXBlPSJ4czp1bnNpZ25lZElu +dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdFR5cGUi +IHR5cGU9InRuczpTZWN1cml0eVRva2VuUmVxdWVzdFR5cGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5TW9kZSIgdHlwZT0idG5zOk1lc3NhZ2VTZWN1 +cml0eU1vZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVu +dE5vbmNlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWRMaWZldGltZSIgdHlwZT0i +eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJPcGVuU2VjdXJlQ2hhbm5lbFJl +cXVlc3QiIHR5cGU9InRuczpPcGVuU2VjdXJlQ2hhbm5lbFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9Ik9wZW5TZWN1cmVDaGFubmVsUmVzcG9uc2UiPg0KICAgIDx4czphbm5v +dGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q3JlYXRlcyBhIHNlY3VyZSBjaGFubmVs +IHdpdGggYSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRl +ciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyUHJvdG9jb2xWZXJzaW9uIiB0eXBl +PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iU2VjdXJpdHlUb2tlbiIgdHlwZT0idG5zOkNoYW5uZWxTZWN1cml0eVRva2VuIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVy +Tm9uY2UiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl +bWVudCBuYW1lPSJPcGVuU2VjdXJlQ2hhbm5lbFJlc3BvbnNlIiB0eXBlPSJ0bnM6T3BlblNlY3Vy +ZUNoYW5uZWxSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2xvc2VTZWN1 +cmVDaGFubmVsUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l +bnRhdGlvbj5DbG9zZXMgYSBzZWN1cmUgY2hhbm5lbC48L3hzOmRvY3VtZW50YXRpb24+DQogICAg +PC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNsb3NlU2VjdXJlQ2hhbm5lbFJlcXVlc3QiIHR5cGU9 +InRuczpDbG9zZVNlY3VyZUNoYW5uZWxSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu +YW1lPSJDbG9zZVNlY3VyZUNoYW5uZWxSZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRpb24+DQog +ICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5DbG9zZXMgYSBzZWN1cmUgY2hhbm5lbC48L3hzOmRvY3Vt +ZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFk +ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xvc2VTZWN1cmVDaGFu +bmVsUmVzcG9uc2UiIHR5cGU9InRuczpDbG9zZVNlY3VyZUNoYW5uZWxSZXNwb25zZSIgLz4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSI+DQogICAg +PHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHNvZnR3YXJlIGNlcnRp +ZmljYXRlIHdpdGggYSBkaWdpdGFsIHNpZ25hdHVyZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAg +PC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IkNlcnRpZmljYXRlRGF0YSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2lnbmF0dXJlIiB0 +eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iU2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgdHlwZT0idG5zOlNpZ25lZFNvZnR3YXJlQ2Vy +dGlmaWNhdGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlNpZ25lZFNvZnR3 +YXJlQ2VydGlmaWNhdGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiIHR5cGU9InRuczpTaWduZWRTb2Z0d2FyZUNl +cnRpZmljYXRlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJMaXN0T2ZTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiB0eXBlPSJ0bnM6 +TGlzdE9mU2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxl +bWVudD4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uQXV0aGVudGljYXRpb25Ub2tlbiIg +dHlwZT0idWE6Tm9kZUlkIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTaWduYXR1cmVE +YXRhIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgZGln +aXRhbCBzaWduYXR1cmUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBbGdvcml0aG0iIHR5 +cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlNpZ25hdHVyZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNpZ25hdHVyZURhdGEiIHR5cGU9InRuczpT +aWduYXR1cmVEYXRhIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDcmVhdGVTZXNzaW9u +UmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5D +cmVhdGVzIGEgbmV3IHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4N +CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRE +ZXNjcmlwdGlvbiIgdHlwZT0idG5zOkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJVcmki +IHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50VXJsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9u +TmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50Tm9uY2UiIHR5cGU9InhzOmJhc2U2NEJpbmFy +eSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IkNsaWVudENlcnRpZmljYXRlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWRT +ZXNzaW9uVGltZW91dCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJNYXhSZXNwb25zZU1lc3NhZ2VTaXplIiB0eXBlPSJ4czp1bnNpZ25l +ZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZVNlc3Npb25SZXF1ZXN0IiB0eXBlPSJ0 +bnM6Q3JlYXRlU2Vzc2lvblJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNy +ZWF0ZVNlc3Npb25SZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9j +dW1lbnRhdGlvbj5DcmVhdGVzIGEgbmV3IHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwveHM6ZG9j +dW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhl +YWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlNlc3Npb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXV0aGVudGljYXRpb25Ub2tlbiIg +dHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFNlc3Npb25UaW1lb3V0IiB0eXBlPSJ4czpkb3VibGUi +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlck5vbmNlIiB0 +eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJDZXJ0aWZpY2F0ZSIgdHlwZT0ieHM6YmFzZTY0 +QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iU2VydmVyRW5kcG9pbnRzIiB0eXBlPSJ0bnM6TGlzdE9mRW5kcG9pbnREZXNjcmlw +dGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlNlcnZlclNvZnR3YXJlQ2VydGlmaWNhdGVzIiB0eXBlPSJ0bnM6TGlzdE9mU2lnbmVk +U29mdHdhcmVDZXJ0aWZpY2F0ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlclNpZ25hdHVyZSIgdHlwZT0idG5zOlNpZ25hdHVy +ZURhdGEiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJNYXhSZXF1ZXN0TWVzc2FnZVNpemUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iQ3JlYXRlU2Vzc2lvblJlc3BvbnNlIiB0eXBlPSJ0bnM6Q3JlYXRl +U2Vzc2lvblJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJVc2VySWRlbnRp +dHlUb2tlbiI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5B +IGJhc2UgdHlwZSBmb3IgYSB1c2VyIGlkZW50aXR5IHRva2VuLjwveHM6ZG9jdW1lbnRhdGlvbj4N +CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUG9saWN5SWQiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJVc2VySWRlbnRpdHlUb2tlbiIgdHlwZT0idG5zOlVzZXJJZGVudGl0 +eVRva2VuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBbm9ueW1vdXNJZGVudGl0eVRv +a2VuIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgdG9r +ZW4gcmVwcmVzZW50aW5nIGFuIGFub255bW91cyB1c2VyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAg +ICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+ +DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpVc2VySWRlbnRpdHlUb2tlbiI+DQogICAg +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0 +ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9IkFub255bW91c0lkZW50aXR5VG9rZW4iIHR5cGU9InRuczpBbm9u +eW1vdXNJZGVudGl0eVRva2VuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJVc2VyTmFt +ZUlkZW50aXR5VG9rZW4iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50 +YXRpb24+QSB0b2tlbiByZXByZXNlbnRpbmcgYSB1c2VyIGlkZW50aWZpZWQgYnkgYSB1c2VyIG5h +bWUgYW5kIHBhc3N3b3JkLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+ +DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5z +aW9uIGJhc2U9InRuczpVc2VySWRlbnRpdHlUb2tlbiI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h +bWU9IlBhc3N3b3JkIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5jcnlwdGlvbkFsZ29y +aXRobSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpj +b21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +VXNlck5hbWVJZGVudGl0eVRva2VuIiB0eXBlPSJ0bnM6VXNlck5hbWVJZGVudGl0eVRva2VuIiAv +Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJYNTA5SWRlbnRpdHlUb2tlbiI+DQogICAgPHhz +OmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHRva2VuIHJlcHJlc2VudGlu +ZyBhIHVzZXIgaWRlbnRpZmllZCBieSBhbiBYNTA5IGNlcnRpZmljYXRlLjwveHM6ZG9jdW1lbnRh +dGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVk +PSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpVc2VySWRlbnRpdHlUb2tl +biI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJD +ZXJ0aWZpY2F0ZURhdGEiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5z +aW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9Ilg1MDlJZGVudGl0eVRva2VuIiB0eXBlPSJ0bnM6WDUwOUlkZW50aXR5 +VG9rZW4iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Iklzc3VlZElkZW50aXR5VG9rZW4i +Pg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSB0b2tlbiBy +ZXByZXNlbnRpbmcgYSB1c2VyIGlkZW50aWZpZWQgYnkgYSBXUy1TZWN1cml0eSBYTUwgdG9rZW4u +PC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxl +eENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOlVz +ZXJJZGVudGl0eVRva2VuIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlRva2VuRGF0YSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuY3J5 +cHRpb25BbGdvcml0aG0iIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0K +ICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9Iklzc3VlZElkZW50aXR5VG9rZW4iIHR5cGU9InRuczpJc3N1ZWRJZGVudGl0eVRv +a2VuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBY3RpdmF0ZVNlc3Npb25SZXF1ZXN0 +Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkFjdGl2YXRl +cyBhIHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hz +OmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +UmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRTaWduYXR1cmUi +IHR5cGU9InRuczpTaWduYXR1cmVEYXRhIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50U29mdHdhcmVDZXJ0aWZpY2F0ZXMiIHR5 +cGU9InRuczpMaXN0T2ZTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBl +PSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VySWRlbnRpdHlUb2tlbiIgdHlwZT0idWE6RXh0ZW5zaW9u +T2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iVXNlclRva2VuU2lnbmF0dXJlIiB0eXBlPSJ0bnM6U2lnbmF0dXJlRGF0YSIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz +OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBY3RpdmF0ZVNlc3Npb25SZXF1ZXN0 +IiB0eXBlPSJ0bnM6QWN0aXZhdGVTZXNzaW9uUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iQWN0aXZhdGVTZXNzaW9uUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0K +ICAgICAgPHhzOmRvY3VtZW50YXRpb24+QWN0aXZhdGVzIGEgc2Vzc2lvbiB3aXRoIHRoZSBzZXJ2 +ZXIuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5z +OlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyTm9uY2UiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJl +c3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9 +InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9IkFjdGl2YXRlU2Vzc2lvblJlc3BvbnNlIiB0eXBlPSJ0bnM6QWN0aXZhdGVTZXNzaW9u +UmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNsb3NlU2Vzc2lvblJlcXVl +c3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q2xvc2Vz +IGEgc2Vzc2lvbiB3aXRoIHRoZSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6 +YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS +ZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZVN1YnNjcmlwdGlv +bnMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNl +Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDbG9zZVNlc3Npb25S +ZXF1ZXN0IiB0eXBlPSJ0bnM6Q2xvc2VTZXNzaW9uUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iQ2xvc2VTZXNzaW9uUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0K +ICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q2xvc2VzIGEgc2Vzc2lvbiB3aXRoIHRoZSBzZXJ2ZXIu +PC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVu +Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJl +c3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 +c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNsb3Nl +U2Vzc2lvblJlc3BvbnNlIiB0eXBlPSJ0bnM6Q2xvc2VTZXNzaW9uUmVzcG9uc2UiIC8+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNhbmNlbFJlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9u +Pg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q2FuY2VscyBhbiBvdXRzdGFuZGluZyByZXF1ZXN0 +LjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJl +cXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGFuZGxlIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9IkNhbmNlbFJlcXVlc3QiIHR5cGU9InRuczpDYW5jZWxSZXF1ZXN0IiAv +Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDYW5jZWxSZXNwb25zZSI+DQogICAgPHhzOmFu +bm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5DYW5jZWxzIGFuIG91dHN0YW5kaW5n +IHJlcXVlc3QuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlw +ZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2FuY2VsQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ2FuY2VsUmVzcG9uc2UiIHR5cGU9InRuczpDYW5jZWxS +ZXNwb25zZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iTm9kZUF0dHJpYnV0ZXNNYXNr +Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBiaXRz +IHVzZWQgdG8gc3BlY2lmeSBkZWZhdWx0IGF0dHJpYnV0ZXMgZm9yIGEgbmV3IG5vZGUuPC94czpk +b2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6cmVzdHJpY3Rpb24g +YmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9uZV8wIiAv +Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBY2Nlc3NMZXZlbF8xIiAvPg0KICAgICAg +PHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBcnJheURpbWVuc2lvbnNfMiIgLz4NCiAgICAgIDx4czpl +bnVtZXJhdGlvbiB2YWx1ZT0iQnJvd3NlTmFtZV80IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u +IHZhbHVlPSJDb250YWluc05vTG9vcHNfOCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 +ZT0iRGF0YVR5cGVfMTYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRlc2NyaXB0 +aW9uXzMyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEaXNwbGF5TmFtZV82NCIg +Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRXZlbnROb3RpZmllcl8xMjgiIC8+DQog +ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkV4ZWN1dGFibGVfMjU2IiAvPg0KICAgICAgPHhz +OmVudW1lcmF0aW9uIHZhbHVlPSJIaXN0b3JpemluZ181MTIiIC8+DQogICAgICA8eHM6ZW51bWVy +YXRpb24gdmFsdWU9IkludmVyc2VOYW1lXzEwMjQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g +dmFsdWU9IklzQWJzdHJhY3RfMjA0OCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i +TWluaW11bVNhbXBsaW5nSW50ZXJ2YWxfNDA5NiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 +YWx1ZT0iTm9kZUNsYXNzXzgxOTIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5v +ZGVJZF8xNjM4NCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU3ltbWV0cmljXzMy +NzY4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVc2VyQWNjZXNzTGV2ZWxfNjU1 +MzYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVzZXJFeGVjdXRhYmxlXzEzMTA3 +MiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVXNlcldyaXRlTWFza18yNjIxNDQi +IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZhbHVlUmFua181MjQyODgiIC8+DQog +ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IldyaXRlTWFza18xMDQ4NTc2IiAvPg0KICAgICAg +PHhzOmVudW1lcmF0aW9uIHZhbHVlPSJWYWx1ZV8yMDk3MTUyIiAvPg0KICAgICAgPHhzOmVudW1l +cmF0aW9uIHZhbHVlPSJEYXRhVHlwZURlZmluaXRpb25fNDE5NDMwNCIgLz4NCiAgICAgIDx4czpl +bnVtZXJhdGlvbiB2YWx1ZT0iUm9sZVBlcm1pc3Npb25zXzgzODg2MDgiIC8+DQogICAgICA8eHM6 +ZW51bWVyYXRpb24gdmFsdWU9IkFjY2Vzc1Jlc3RyaWN0aW9uc18xNjc3NzIxNiIgLz4NCiAgICAg +IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQWxsXzMzNTU0NDMxIiAvPg0KICAgICAgPHhzOmVudW1l +cmF0aW9uIHZhbHVlPSJCYXNlTm9kZV8yNjUwMTIyMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv +biB2YWx1ZT0iT2JqZWN0XzI2NTAxMzQ4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl +PSJPYmplY3RUeXBlXzI2NTAzMjY4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJW +YXJpYWJsZV8yNjU3MTM4MyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVmFyaWFi +bGVUeXBlXzI4NjAwNDM4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJNZXRob2Rf +MjY2MzI1NDgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlZmVyZW5jZVR5cGVf +MjY1MzcwNjAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZpZXdfMjY1MDEzNTYi +IC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxl +bWVudCBuYW1lPSJOb2RlQXR0cmlidXRlc01hc2siIHR5cGU9InRuczpOb2RlQXR0cmlidXRlc01h +c2siIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik5vZGVBdHRyaWJ1dGVzIj4NCiAgICA8 +eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBiYXNlIGF0dHJpYnV0 +ZXMgZm9yIGFsbCBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9u +Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNwZWNpZmllZEF0 +dHJpYnV0ZXMiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJEaXNwbGF5TmFtZSIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRl +c2NyaXB0aW9uIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVNYXNrIiB0eXBlPSJ4czp1 +bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNl +cldyaXRlTWFzayIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJO +b2RlQXR0cmlidXRlcyIgdHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJPYmplY3RBdHRyaWJ1dGVzIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg +ICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVzIGZvciBhbiBvYmplY3Qgbm9kZS48 +L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4 +Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9k +ZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iRXZlbnROb3RpZmllciIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9 +IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAg +ICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJPYmplY3RBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6T2JqZWN0QXR0cmlidXRlcyIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVmFyaWFibGVBdHRyaWJ1dGVzIj4NCiAgICA8eHM6 +YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVzIGZvciBh +IHZhcmlhYmxlIG5vZGUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4N +CiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNp +b24gYmFzZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlIiB0eXBlPSJ1YTpWYXJpYW50IiBtaW5PY2N1 +cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVR5cGUiIHR5cGU9InVh +Ok5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJWYWx1ZVJhbmsiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0K +ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFycmF5RGltZW5zaW9ucyIgdHlwZT0idWE6TGlz +dE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4 +czplbGVtZW50IG5hbWU9IkFjY2Vzc0xldmVsIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9j +Y3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyQWNjZXNzTGV2ZWwi +IHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czpl +bGVtZW50IG5hbWU9Ik1pbmltdW1TYW1wbGluZ0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1p +bk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3JpemluZyIg +dHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNl +Pg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVmFyaWFibGVBdHRyaWJ1dGVzIiB0 +eXBlPSJ0bnM6VmFyaWFibGVBdHRyaWJ1dGVzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJNZXRob2RBdHRyaWJ1dGVzIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1 +bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVzIGZvciBhIG1ldGhvZCBub2RlLjwveHM6ZG9jdW1lbnRh +dGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVk +PSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0cmlidXRlcyI+ +DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFeGVj +dXRhYmxlIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iVXNlckV4ZWN1dGFibGUiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vy +cz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0K +ICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9Ik1ldGhvZEF0dHJpYnV0ZXMiIHR5cGU9InRuczpNZXRob2RBdHRyaWJ1dGVzIiAv +Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJPYmplY3RUeXBlQXR0cmlidXRlcyI+DQogICAg +PHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBm +b3IgYW4gb2JqZWN0IHR5cGUgbm9kZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v +dGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhz +OmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8eHM6c2VxdWVu +Y2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNBYnN0cmFjdCIgdHlwZT0ieHM6Ym9v +bGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94 +czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT2JqZWN0VHlwZUF0dHJpYnV0ZXMiIHR5cGU9InRuczpP +YmplY3RUeXBlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVmFyaWFi +bGVUeXBlQXR0cmlidXRlcyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l +bnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSB2YXJpYWJsZSB0eXBlIG5vZGUuPC94czpkb2N1 +bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQg +bWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk5vZGVBdHRyaWJ1 +dGVzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlZhbHVlIiB0eXBlPSJ1YTpWYXJpYW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iRGF0YVR5cGUiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZVJhbmsi +IHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h +bWU9IkFycmF5RGltZW5zaW9ucyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IklzQWJzdHJh +Y3QiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1 +ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlZhcmlhYmxlVHlwZUF0dHJp +YnV0ZXMiIHR5cGU9InRuczpWYXJpYWJsZVR5cGVBdHRyaWJ1dGVzIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJSZWZlcmVuY2VUeXBlQXR0cmlidXRlcyI+DQogICAgPHhzOmFubm90YXRp +b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSByZWZlcmVu +Y2UgdHlwZSBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQog +ICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9u +IGJhc2U9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpib29sZWFuIiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3ltbWV0cmljIiB0eXBl +PSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iSW52ZXJzZU5hbWUiIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVu +c2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VUeXBlQXR0cmlidXRlcyIgdHlwZT0idG5zOlJlZmVy +ZW5jZVR5cGVBdHRyaWJ1dGVzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEYXRhVHlw +ZUF0dHJpYnV0ZXMiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRp +b24+VGhlIGF0dHJpYnV0ZXMgZm9yIGEgZGF0YSB0eXBlIG5vZGUuPC94czpkb2N1bWVudGF0aW9u +Pg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZh +bHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAg +ICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IklzQWJzdHJh +Y3QiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1 +ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlQXR0cmlidXRl +cyIgdHlwZT0idG5zOkRhdGFUeXBlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iVmlld0F0dHJpYnV0ZXMiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRv +Y3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGEgdmlldyBub2RlLjwveHM6ZG9jdW1lbnRh +dGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVk +PSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0cmlidXRlcyI+ +DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250 +YWluc05vTG9vcHMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudE5vdGlmaWVyIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUi +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0 +ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9IlZpZXdBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6Vmlld0F0dHJpYnV0 +ZXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkdlbmVyaWNBdHRyaWJ1dGVWYWx1ZSI+ +DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXR0cmlidXRlSWQi +IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJWYWx1ZSIgdHlwZT0idWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikdl +bmVyaWNBdHRyaWJ1dGVWYWx1ZSIgdHlwZT0idG5zOkdlbmVyaWNBdHRyaWJ1dGVWYWx1ZSIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mR2VuZXJpY0F0dHJpYnV0ZVZhbHVlIj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJHZW5lcmljQXR0cmli +dXRlVmFsdWUiIHR5cGU9InRuczpHZW5lcmljQXR0cmlidXRlVmFsdWUiIG1pbk9jY3Vycz0iMCIg +bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkdlbmVy +aWNBdHRyaWJ1dGVWYWx1ZSIgdHlwZT0idG5zOkxpc3RPZkdlbmVyaWNBdHRyaWJ1dGVWYWx1ZSIg +bmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i +R2VuZXJpY0F0dHJpYnV0ZXMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2Ui +Pg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgICAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXR0cmlidXRlVmFs +dWVzIiB0eXBlPSJ0bnM6TGlzdE9mR2VuZXJpY0F0dHJpYnV0ZVZhbHVlIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpl +eHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4N +CiAgPHhzOmVsZW1lbnQgbmFtZT0iR2VuZXJpY0F0dHJpYnV0ZXMiIHR5cGU9InRuczpHZW5lcmlj +QXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWRkTm9kZXNJdGVtIj4N +CiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgcmVxdWVzdCB0 +byBhZGQgYSBub2RlIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRp +b24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlBhcmVudE5vZGVJZCIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZl +cmVuY2VUeXBlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZE5ld05vZGVJZCIgdHlwZT0i +dWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VOYW1lIiB0eXBlPSJ1YTpRdWFsaWZpZWROYW1lIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +Tm9kZUNsYXNzIiB0eXBlPSJ0bnM6Tm9kZUNsYXNzIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJOb2RlQXR0cmlidXRlcyIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iVHlwZURlZmluaXRpb24iIHR5cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFkZE5vZGVzSXRlbSIgdHlwZT0idG5zOkFkZE5vZGVz +SXRlbSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQWRkTm9kZXNJdGVtIj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGROb2Rlc0l0ZW0i +IHR5cGU9InRuczpBZGROb2Rlc0l0ZW0iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5k +ZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkFkZE5vZGVzSXRlbSIgdHlwZT0idG5z +Okxpc3RPZkFkZE5vZGVzSXRlbSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iQWRkTm9kZXNSZXN1bHQiPg0KICAgIDx4czphbm5vdGF0aW9u +Pg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSByZXN1bHQgb2YgYW4gYWRkIG5vZGUgb3BlcmF0 +aW9uLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNl +cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3Rh +dHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkZWRO +b2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJBZGROb2Rlc1Jlc3VsdCIgdHlwZT0idG5zOkFkZE5vZGVzUmVzdWx0IiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZBZGROb2Rlc1Jlc3VsdCI+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkTm9kZXNSZXN1bHQiIHR5cGU9InRuczpB +ZGROb2Rlc1Jlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQWRkTm9kZXNSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZB +ZGROb2Rlc1Jlc3VsdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iQWRkTm9kZXNSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg +ICAgIDx4czpkb2N1bWVudGF0aW9uPkFkZHMgb25lIG9yIG1vcmUgbm9kZXMgdG8gdGhlIHNlcnZl +ciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+ +DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRl +ciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2Rlc1RvQWRkIiB0eXBlPSJ0bnM6TGlzdE9m +QWRkTm9kZXNJdGVtIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 +c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFkZE5v +ZGVzUmVxdWVzdCIgdHlwZT0idG5zOkFkZE5vZGVzUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iQWRkTm9kZXNSZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg +ICA8eHM6ZG9jdW1lbnRhdGlvbj5BZGRzIG9uZSBvciBtb3JlIG5vZGVzIHRvIHRoZSBzZXJ2ZXIg +YWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0K +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVy +IiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ0bnM6TGlzdE9mQWRk +Tm9kZXNSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJ +bmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFkZE5vZGVzUmVzcG9u +c2UiIHR5cGU9InRuczpBZGROb2Rlc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu +YW1lPSJBZGRSZWZlcmVuY2VzSXRlbSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6 +ZG9jdW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8gYWRkIGEgcmVmZXJlbmNlIHRvIHRoZSBzZXJ2ZXIg +YWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0K +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNvdXJjZU5vZGVJZCIg +dHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Zv +cndhcmQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlRhcmdldFNlcnZlclVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0Tm9kZUlk +IiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdldE5vZGVDbGFzcyIgdHlwZT0idG5zOk5v +ZGVDbGFzcyIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFkZFJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0 +bnM6QWRkUmVmZXJlbmNlc0l0ZW0iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RP +ZkFkZFJlZmVyZW5jZXNJdGVtIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJBZGRSZWZlcmVuY2VzSXRlbSIgdHlwZT0idG5zOkFkZFJlZmVyZW5jZXNJdGVtIiBt +aW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJMaXN0T2ZBZGRSZWZlcmVuY2VzSXRlbSIgdHlwZT0idG5zOkxpc3RPZkFkZFJlZmVyZW5jZXNJ +dGVtIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBu +YW1lPSJBZGRSZWZlcmVuY2VzUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8 +eHM6ZG9jdW1lbnRhdGlvbj5BZGRzIG9uZSBvciBtb3JlIHJlZmVyZW5jZXMgdG8gdGhlIHNlcnZl +ciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+ +DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRl +ciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VzVG9BZGQiIHR5cGU9InRuczpM +aXN0T2ZBZGRSZWZlcmVuY2VzSXRlbSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJBZGRSZWZlcmVuY2VzUmVxdWVzdCIgdHlwZT0idG5zOkFkZFJlZmVyZW5jZXNSZXF1ZXN0 +IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZGRSZWZlcmVuY2VzUmVzcG9uc2UiPg0K +ICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QWRkcyBvbmUgb3Ig +bW9yZSByZWZlcmVuY2VzIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50 +YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIi +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0 +eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl +bWVudCBuYW1lPSJBZGRSZWZlcmVuY2VzUmVzcG9uc2UiIHR5cGU9InRuczpBZGRSZWZlcmVuY2Vz +UmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZU5vZGVzSXRlbSI+ +DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHJlcXVlc3Qg +dG8gZGVsZXRlIGEgbm9kZSB0byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVu +dGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZVRhcmdldFJl +ZmVyZW5jZXMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNl +cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVO +b2Rlc0l0ZW0iIHR5cGU9InRuczpEZWxldGVOb2Rlc0l0ZW0iIC8+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9Ikxpc3RPZkRlbGV0ZU5vZGVzSXRlbSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlTm9kZXNJdGVtIiB0eXBlPSJ0bnM6RGVsZXRlTm9k +ZXNJdGVtIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl +bWVudCBuYW1lPSJMaXN0T2ZEZWxldGVOb2Rlc0l0ZW0iIHR5cGU9InRuczpMaXN0T2ZEZWxldGVO +b2Rlc0l0ZW0iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9IkRlbGV0ZU5vZGVzUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg +ICA8eHM6ZG9jdW1lbnRhdGlvbj5EZWxldGUgb25lIG9yIG1vcmUgbm9kZXMgZnJvbSB0aGUgc2Vy +dmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlv +bj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVh +ZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVzVG9EZWxldGUiIHR5cGU9InRuczpM +aXN0T2ZEZWxldGVOb2Rlc0l0ZW0iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iRGVsZXRlTm9kZXNSZXF1ZXN0IiB0eXBlPSJ0bnM6RGVsZXRlTm9kZXNSZXF1ZXN0IiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEZWxldGVOb2Rlc1Jlc3BvbnNlIj4NCiAgICA8eHM6 +YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkRlbGV0ZSBvbmUgb3IgbW9yZSBu +b2RlcyBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQog +ICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRz +IiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpM +aXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJEZWxldGVOb2Rlc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6RGVsZXRlTm9kZXNSZXNwb25zZSIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlUmVmZXJlbmNlc0l0ZW0iPg0KICAgIDx4 +czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSByZXF1ZXN0IHRvIGRlbGV0 +ZSBhIG5vZGUgZnJvbSB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9u +Pg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJTb3VyY2VOb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZVR5cGVJ +ZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNGb3J3YXJkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1 +cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXROb2RlSWQiIHR5cGU9InVh +OkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlQmlkaXJlY3Rpb25hbCIgdHlwZT0ieHM6Ym9vbGVhbiIg +bWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0bnM6RGVs +ZXRlUmVmZXJlbmNlc0l0ZW0iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkRl +bGV0ZVJlZmVyZW5jZXNJdGVtIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJEZWxldGVSZWZlcmVuY2VzSXRlbSIgdHlwZT0idG5zOkRlbGV0ZVJlZmVyZW5jZXNJ +dGVtIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJMaXN0T2ZEZWxldGVSZWZlcmVuY2VzSXRlbSIgdHlwZT0idG5zOkxpc3RPZkRlbGV0 +ZVJlZmVyZW5jZXNJdGVtIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJEZWxldGVSZWZlcmVuY2VzUmVxdWVzdCI+DQogICAgPHhzOmFubm90 +YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5EZWxldGUgb25lIG9yIG1vcmUgcmVmZXJl +bmNlcyBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQog +ICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNl +c1RvRGVsZXRlIiB0eXBlPSJ0bnM6TGlzdE9mRGVsZXRlUmVmZXJlbmNlc0l0ZW0iIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w +bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlUmVmZXJlbmNlc1JlcXVlc3QiIHR5 +cGU9InRuczpEZWxldGVSZWZlcmVuY2VzUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iRGVsZXRlUmVmZXJlbmNlc1Jlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg +ICAgIDx4czpkb2N1bWVudGF0aW9uPkRlbGV0ZSBvbmUgb3IgbW9yZSByZWZlcmVuY2VzIGZyb20g +dGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu +bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVz +cG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVh +Okxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdu +b3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx +dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZVJl +ZmVyZW5jZXNSZXNwb25zZSIgdHlwZT0idG5zOkRlbGV0ZVJlZmVyZW5jZXNSZXNwb25zZSIgLz4N +Cg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iQXR0cmlidXRlV3JpdGVNYXNrIj4NCiAgICA8eHM6 +YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkRlZmluZSBiaXRzIHVzZWQgdG8g +aW5kaWNhdGUgd2hpY2ggYXR0cmlidXRlcyBhcmUgd3JpdGFibGUuPC94czpkb2N1bWVudGF0aW9u +Pg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6dW5z +aWduZWRJbnQiPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iQXR0cmlidXRlV3JpdGVNYXNrIiB0eXBlPSJ0bnM6QXR0cmlidXRl +V3JpdGVNYXNrIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJCcm93c2VEaXJlY3Rpb24i +Pg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGRpcmVj +dGlvbnMgb2YgdGhlIHJlZmVyZW5jZXMgdG8gcmV0dXJuLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAg +ICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+ +DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkZvcndhcmRfMCIgLz4NCiAgICAgIDx4czpl +bnVtZXJhdGlvbiB2YWx1ZT0iSW52ZXJzZV8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh +bHVlPSJCb3RoXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkludmFsaWRfMyIg +Lz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9IkJyb3dzZURpcmVjdGlvbiIgdHlwZT0idG5zOkJyb3dzZURpcmVjdGlvbiIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVmlld0Rlc2NyaXB0aW9uIj4NCiAgICA8eHM6YW5u +b3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSB2aWV3IHRvIGJyb3dzZS48L3hz +OmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZpZXdJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0 +YW1wIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iVmlld1ZlcnNpb24iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAi +IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iVmlld0Rlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6Vmlld0Rlc2NyaXB0aW9uIiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VEZXNjcmlwdGlvbiI+DQogICAgPHhzOmFu +bm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8gYnJvd3NlIHRo +ZSB0aGUgcmVmZXJlbmNlcyBmcm9tIGEgbm9kZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94 +czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +Ik5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlRGlyZWN0aW9uIiB0eXBlPSJ0bnM6QnJv +d3NlRGlyZWN0aW9uIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS +ZWZlcmVuY2VUeXBlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkluY2x1ZGVTdWJ0eXBlcyIgdHlwZT0i +eHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9k +ZUNsYXNzTWFzayIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlJlc3VsdE1hc2siIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlRGVzY3JpcHRpb24iIHR5cGU9InRuczpCcm93c2VEZXNj +cmlwdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJvd3NlRGVzY3Jp +cHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dz +ZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6QnJvd3NlRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIg +bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb3dz +ZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlRGVzY3JpcHRpb24iIG5pbGxhYmxl +PSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkJyb3dzZVJl +c3VsdE1hc2siPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+ +QSBiaXQgbWFzayB3aGljaCBzcGVjaWZpZXMgd2hhdCBzaG91bGQgYmUgcmV0dXJuZWQgaW4gYSBi +cm93c2UgcmVzcG9uc2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4N +CiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJh +dGlvbiB2YWx1ZT0iTm9uZV8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZWZl +cmVuY2VUeXBlSWRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNGb3J3YXJk +XzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vZGVDbGFzc180IiAvPg0KICAg +ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJCcm93c2VOYW1lXzgiIC8+DQogICAgICA8eHM6ZW51 +bWVyYXRpb24gdmFsdWU9IkRpc3BsYXlOYW1lXzE2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u +IHZhbHVlPSJUeXBlRGVmaW5pdGlvbl8zMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 +ZT0iQWxsXzYzIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZWZlcmVuY2VUeXBl +SW5mb18zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJUYXJnZXRJbmZvXzYwIiAv +Pg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iQnJvd3NlUmVzdWx0TWFzayIgdHlwZT0idG5zOkJyb3dzZVJlc3VsdE1hc2siIC8+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZmVyZW5jZURlc2NyaXB0aW9uIj4NCiAgICA8 +eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBkZXNjcmlwdGlvbiBv +ZiBhIHJlZmVyZW5jZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0K +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZVR5cGVJ +ZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNGb3J3YXJkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1 +cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOkV4cGFu +ZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iQnJvd3NlTmFtZSIgdHlwZT0idWE6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc3BsYXlO +YW1lIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUNsYXNzIiB0eXBlPSJ0bnM6Tm9kZUNs +YXNzIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUeXBlRGVmaW5p +dGlvbiIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iUmVmZXJlbmNlRGVzY3JpcHRpb24iIHR5cGU9InRuczpSZWZlcmVuY2VEZXNj +cmlwdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUmVmZXJlbmNlRGVz +Y3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJl +ZmVyZW5jZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6UmVmZXJlbmNlRGVzY3JpcHRpb24iIG1pbk9j +Y3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxp +c3RPZlJlZmVyZW5jZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mUmVmZXJlbmNlRGVzY3Jp +cHRpb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iQ29udGludWF0aW9uUG9pbnQiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iQnJvd3NlUmVzdWx0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg +ICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSByZXN1bHQgb2YgYSBicm93c2Ugb3BlcmF0aW9uLjwv +eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29k +ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9u +UG9pbnQiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZXMiIHR5cGU9InRuczpMaXN0 +T2ZSZWZlcmVuY2VEZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJCcm93c2VSZXN1bHQiIHR5cGU9InRuczpCcm93c2VSZXN1bHQiIC8+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkJyb3dzZVJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUmVzdWx0IiB0eXBlPSJ0bnM6QnJvd3NlUmVz +dWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJMaXN0T2ZCcm93c2VSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VSZXN1bHQi +IG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +IkJyb3dzZVJlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50 +YXRpb24+QnJvd3NlIHRoZSByZWZlcmVuY2VzIGZvciBvbmUgb3IgbW9yZSBub2RlcyBmcm9tIHRo +ZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v +dGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVl +c3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmlldyIgdHlwZT0idG5zOlZpZXdE +ZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlJlcXVlc3RlZE1heFJlZmVyZW5jZXNQZXJOb2RlIiB0eXBlPSJ4czp1bnNp +Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNU +b0Jyb3dzZSIgdHlwZT0idG5zOkxpc3RPZkJyb3dzZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVJlcXVlc3QiIHR5cGU9InRuczpCcm93c2VS +ZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VSZXNwb25zZSI+DQog +ICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5Ccm93c2UgdGhlIHJl +ZmVyZW5jZXMgZm9yIG9uZSBvciBtb3JlIG5vZGVzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNw +YWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNl +cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRu +czpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VSZXN1bHQi +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVJlc3BvbnNlIiB0eXBlPSJ0bnM6 +QnJvd3NlUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb3dzZU5leHRS +ZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNv +bnRpbnVlcyBvbmUgb3IgbW9yZSBicm93c2Ugb3BlcmF0aW9ucy48L3hzOmRvY3VtZW50YXRpb24+ +DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsZWFz +ZUNvbnRpbnVhdGlvblBvaW50cyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9uUG9pbnRzIiB0eXBlPSJ1YTpMaXN0 +T2ZCeXRlU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 +c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dz +ZU5leHRSZXF1ZXN0IiB0eXBlPSJ0bnM6QnJvd3NlTmV4dFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9IkJyb3dzZU5leHRSZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRpb24+ +DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5Db250aW51ZXMgb25lIG9yIG1vcmUgYnJvd3NlIG9w +ZXJhdGlvbnMuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlw +ZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZkJyb3dzZVJl +c3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlTmV4dFJlc3BvbnNlIiB0 +eXBlPSJ0bnM6QnJvd3NlTmV4dFJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJSZWxhdGl2ZVBhdGhFbGVtZW50Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpk +b2N1bWVudGF0aW9uPkFuIGVsZW1lbnQgaW4gYSByZWxhdGl2ZSBwYXRoLjwveHM6ZG9jdW1lbnRh +dGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ludmVy +c2UiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkluY2x1ZGVTdWJ0eXBlcyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0TmFtZSIgdHlwZT0idWE6UXVhbGlmaWVk +TmFtZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl +Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWxhdGl2ZVBhdGhF +bGVtZW50IiB0eXBlPSJ0bnM6UmVsYXRpdmVQYXRoRWxlbWVudCIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iTGlzdE9mUmVsYXRpdmVQYXRoRWxlbWVudCI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsYXRpdmVQYXRoRWxlbWVudCIgdHlwZT0idG5z +OlJlbGF0aXZlUGF0aEVsZW1lbnQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlJlbGF0aXZlUGF0aEVsZW1lbnQiIHR5cGU9 +InRuczpMaXN0T2ZSZWxhdGl2ZVBhdGhFbGVtZW50IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVt +ZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWxhdGl2ZVBhdGgiPg0KICAgIDx4czph +bm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSByZWxhdGl2ZSBwYXRoIGNvbnN0 +cnVjdGVkIGZyb20gcmVmZXJlbmNlIHR5cGVzIGFuZCBicm93c2UgbmFtZXMuPC94czpkb2N1bWVu +dGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJFbGVtZW50cyIgdHlwZT0idG5zOkxpc3RPZlJlbGF0aXZlUGF0aEVs +ZW1lbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j +ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsYXRpdmVQYXRo +IiB0eXBlPSJ0bnM6UmVsYXRpdmVQYXRoIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJC +cm93c2VQYXRoIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9u +PkEgcmVxdWVzdCB0byB0cmFuc2xhdGUgYSBwYXRoIGludG8gYSBub2RlIGlkLjwveHM6ZG9jdW1l +bnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iU3RhcnRpbmdOb2RlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWxhdGl2 +ZVBhdGgiIHR5cGU9InRuczpSZWxhdGl2ZVBhdGgiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iQnJvd3NlUGF0aCIgdHlwZT0idG5zOkJyb3dzZVBhdGgiIC8+DQoNCiAgPHhz +OmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGgiPg0KICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGgiIHR5cGU9InRuczpCcm93c2VQYXRo +IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJMaXN0T2ZCcm93c2VQYXRoIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlUGF0aCIgbmlsbGFi +bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQnJvd3Nl +UGF0aFRhcmdldCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlv +bj5UaGUgdGFyZ2V0IG9mIHRoZSB0cmFuc2xhdGVkIHBhdGguPC94czpkb2N1bWVudGF0aW9uPg0K +ICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJUYXJnZXRJZCIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZW1haW5pbmdQYXRo +SW5kZXgiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpz +ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3Nl +UGF0aFRhcmdldCIgdHlwZT0idG5zOkJyb3dzZVBhdGhUYXJnZXQiIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGhUYXJnZXQiPg0KICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGhUYXJnZXQiIHR5cGU9InRuczpCcm93 +c2VQYXRoVGFyZ2V0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZCcm93c2VQYXRoVGFyZ2V0IiB0eXBlPSJ0bnM6TGlzdE9m +QnJvd3NlUGF0aFRhcmdldCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iQnJvd3NlUGF0aFJlc3VsdCI+DQogICAgPHhzOmFubm90YXRpb24+ +DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgcmVzdWx0IG9mIGEgdHJhbnNsYXRlIG9wZWFy +YXRpb24uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpT +dGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJn +ZXRzIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlUGF0aFRhcmdldCIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VQYXRoUmVzdWx0IiB0eXBlPSJ0bnM6QnJvd3NlUGF0 +aFJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJvd3NlUGF0aFJl +c3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3Nl +UGF0aFJlc3VsdCIgdHlwZT0idG5zOkJyb3dzZVBhdGhSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4 +T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb3dzZVBh +dGhSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VQYXRoUmVzdWx0IiBuaWxsYWJsZT0idHJ1 +ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJUcmFuc2xhdGVCcm93 +c2VQYXRoc1RvTm9kZUlkc1JlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhz +OmRvY3VtZW50YXRpb24+VHJhbnNsYXRlcyBvbmUgb3IgbW9yZSBwYXRocyBpbiB0aGUgc2VydmVy +IGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVy +IiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGhzIiB0eXBlPSJ0bnM6TGlzdE9m +QnJvd3NlUGF0aCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl +cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2xh +dGVCcm93c2VQYXRoc1RvTm9kZUlkc1JlcXVlc3QiIHR5cGU9InRuczpUcmFuc2xhdGVCcm93c2VQ +YXRoc1RvTm9kZUlkc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlRyYW5z +bGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0K +ICAgICAgPHhzOmRvY3VtZW50YXRpb24+VHJhbnNsYXRlcyBvbmUgb3IgbW9yZSBwYXRocyBpbiB0 +aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5u +b3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNw +b25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5z +Okxpc3RPZkJyb3dzZVBhdGhSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RP +ZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRy +YW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVzcG9uc2UiIHR5cGU9InRuczpUcmFuc2xhdGVC +cm93c2VQYXRoc1RvTm9kZUlkc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJSZWdpc3Rlck5vZGVzUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6 +ZG9jdW1lbnRhdGlvbj5SZWdpc3RlcnMgb25lIG9yIG1vcmUgbm9kZXMgZm9yIHJlcGVhdGVkIHVz +ZSB3aXRoaW4gYSBzZXNzaW9uLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRp +b24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhl +YWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2Rlc1RvUmVnaXN0ZXIiIHR5cGU9InVh +Okxpc3RPZk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWdp +c3Rlck5vZGVzUmVxdWVzdCIgdHlwZT0idG5zOlJlZ2lzdGVyTm9kZXNSZXF1ZXN0IiAvPg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWdpc3Rlck5vZGVzUmVzcG9uc2UiPg0KICAgIDx4czph +bm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+UmVnaXN0ZXJzIG9uZSBvciBtb3Jl +IG5vZGVzIGZvciByZXBlYXRlZCB1c2Ugd2l0aGluIGEgc2Vzc2lvbi48L3hzOmRvY3VtZW50YXRp +b24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS +ZWdpc3RlcmVkTm9kZUlkcyIgdHlwZT0idWE6TGlzdE9mTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyTm9kZXNSZXNwb25zZSIgdHlwZT0idG5zOlJl +Z2lzdGVyTm9kZXNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVW5yZWdp +c3Rlck5vZGVzUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l +bnRhdGlvbj5VbnJlZ2lzdGVycyBvbmUgb3IgbW9yZSBwcmV2aW91c2x5IHJlZ2lzdGVyZWQgbm9k +ZXMuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6 +UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9Ik5vZGVzVG9VbnJlZ2lzdGVyIiB0eXBlPSJ1YTpMaXN0T2ZOb2RlSWQi +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVW5yZWdpc3Rlck5vZGVzUmVx +dWVzdCIgdHlwZT0idG5zOlVucmVnaXN0ZXJOb2Rlc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9IlVucmVnaXN0ZXJOb2Rlc1Jlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlv +bj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlVucmVnaXN0ZXJzIG9uZSBvciBtb3JlIHByZXZp +b3VzbHkgcmVnaXN0ZXJlZCBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v +dGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3Bv +bnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iVW5yZWdpc3Rlck5vZGVzUmVzcG9uc2UiIHR5cGU9InRuczpVbnJl +Z2lzdGVyTm9kZXNSZXNwb25zZSIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb3VudGVyIiB0 +eXBlPSJ4czp1bnNpZ25lZEludCIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOdW1lcmljUmFu +Z2UiIHR5cGU9InhzOnN0cmluZyIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lIiB0eXBl +PSJ4czpzdHJpbmciIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0ZSIgdHlwZT0ieHM6ZGF0 +ZVRpbWUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVuZHBvaW50Q29uZmlndXJhdGlv +biI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT3BlcmF0aW9u +VGltZW91dCIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJVc2VCaW5hcnlFbmNvZGluZyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4U3RyaW5nTGVuZ3RoIiB0eXBlPSJ4czpp +bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heEJ5dGVTdHJp +bmdMZW5ndGgiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iTWF4QXJyYXlMZW5ndGgiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4TWVzc2FnZVNpemUiIHR5cGU9InhzOmludCIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4QnVmZmVyU2l6ZSIgdHlw +ZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDaGFu +bmVsTGlmZXRpbWUiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iU2VjdXJpdHlUb2tlbkxpZmV0aW1lIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vy +cz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJFbmRwb2ludENvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpFbmRwb2ludENv +bmZpZ3VyYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkVuZHBvaW50 +Q29uZmlndXJhdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iRW5kcG9pbnRDb25maWd1cmF0aW9uIiB0eXBlPSJ0bnM6RW5kcG9pbnRDb25maWd1cmF0aW9u +IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJMaXN0T2ZFbmRwb2ludENvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpMaXN0T2ZFbmRwb2lu +dENvbmZpZ3VyYXRpb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9IlF1ZXJ5RGF0YURlc2NyaXB0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWxhdGl2ZVBhdGgiIHR5cGU9InRuczpSZWxhdGl2 +ZVBhdGgiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJBdHRyaWJ1dGVJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeURhdGFEZXNjcmlwdGlv +biIgdHlwZT0idG5zOlF1ZXJ5RGF0YURlc2NyaXB0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJMaXN0T2ZRdWVyeURhdGFEZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlEYXRhRGVzY3JpcHRpb24iIHR5cGU9InRuczpR +dWVyeURhdGFEZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUXVlcnlEYXRhRGVzY3JpcHRpb24iIHR5cGU9 +InRuczpMaXN0T2ZRdWVyeURhdGFEZXNjcmlwdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxl +bWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTm9kZVR5cGVEZXNjcmlwdGlvbiI+DQog +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHlwZURlZmluaXRpb25O +b2RlIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkluY2x1ZGVTdWJUeXBlcyIgdHlwZT0ieHM6 +Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVRv +UmV0dXJuIiB0eXBlPSJ0bnM6TGlzdE9mUXVlcnlEYXRhRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZVR5cGVEZXNjcmlwdGlvbiIgdHlwZT0idG5z +Ok5vZGVUeXBlRGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RP +Zk5vZGVUeXBlRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9Ik5vZGVUeXBlRGVzY3JpcHRpb24iIHR5cGU9InRuczpOb2RlVHlwZURlc2NyaXB0 +aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJMaXN0T2ZOb2RlVHlwZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mTm9kZVR5 +cGVEZXNjcmlwdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2lt +cGxlVHlwZSAgbmFtZT0iRmlsdGVyT3BlcmF0b3IiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNl +PSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJFcXVhbHNfMCIgLz4N +CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNOdWxsXzEiIC8+DQogICAgICA8eHM6ZW51 +bWVyYXRpb24gdmFsdWU9IkdyZWF0ZXJUaGFuXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g +dmFsdWU9Ikxlc3NUaGFuXzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkdyZWF0 +ZXJUaGFuT3JFcXVhbF80IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJMZXNzVGhh +bk9yRXF1YWxfNSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTGlrZV82IiAvPg0K +ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb3RfNyIgLz4NCiAgICAgIDx4czplbnVtZXJh +dGlvbiB2YWx1ZT0iQmV0d2Vlbl84IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJ +bkxpc3RfOSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQW5kXzEwIiAvPg0KICAg +ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJPcl8xMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv +biB2YWx1ZT0iQ2FzdF8xMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW5WaWV3 +XzEzIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJPZlR5cGVfMTQiIC8+DQogICAg +ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlbGF0ZWRUb18xNSIgLz4NCiAgICAgIDx4czplbnVt +ZXJhdGlvbiB2YWx1ZT0iQml0d2lzZUFuZF8xNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 +YWx1ZT0iQml0d2lzZU9yXzE3IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2lt +cGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyT3BlcmF0b3IiIHR5cGU9InRuczpG +aWx0ZXJPcGVyYXRvciIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUXVlcnlEYXRhU2V0 +Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5 +cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHlwZURlZmluaXRpb25Ob2RlIiB0eXBlPSJ1YTpFeHBh +bmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlZhbHVlcyIgdHlwZT0idWE6TGlzdE9mVmFyaWFudCIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeURhdGFTZXQiIHR5cGU9InRuczpRdWVyeURh +dGFTZXQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlF1ZXJ5RGF0YVNldCI+ +DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlEYXRhU2V0 +IiB0eXBlPSJ0bnM6UXVlcnlEYXRhU2V0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3Vu +ZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZRdWVyeURhdGFTZXQiIHR5cGU9InRu +czpMaXN0T2ZRdWVyeURhdGFTZXQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik5vZGVSZWZlcmVuY2UiPg0KICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJl +bmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ZvcndhcmQiIHR5cGU9InhzOmJvb2xlYW4i +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZWROb2Rl +SWRzIiB0eXBlPSJ1YTpMaXN0T2ZOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iTm9kZVJlZmVyZW5jZSIgdHlwZT0idG5zOk5vZGVSZWZlcmVuY2UiIC8+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk5vZGVSZWZlcmVuY2UiPg0KICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVSZWZlcmVuY2UiIHR5cGU9InRuczpO +b2RlUmVmZXJlbmNlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZOb2RlUmVmZXJlbmNlIiB0eXBlPSJ0bnM6TGlzdE9mTm9k +ZVJlZmVyZW5jZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iQ29udGVudEZpbHRlckVsZW1lbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlck9wZXJhdG9yIiB0eXBlPSJ0bnM6RmlsdGVyT3Bl +cmF0b3IiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlck9w +ZXJhbmRzIiB0eXBlPSJ1YTpMaXN0T2ZFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N +CiAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGVudEZpbHRlckVsZW1lbnQiIHR5cGU9InRuczpDb250 +ZW50RmlsdGVyRWxlbWVudCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQ29u +dGVudEZpbHRlckVsZW1lbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkNvbnRlbnRGaWx0ZXJFbGVtZW50IiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlckVsZW1l +bnQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9Ikxpc3RPZkNvbnRlbnRGaWx0ZXJFbGVtZW50IiB0eXBlPSJ0bnM6TGlzdE9mQ29udGVu +dEZpbHRlckVsZW1lbnQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9IkNvbnRlbnRGaWx0ZXIiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IkVsZW1lbnRzIiB0eXBlPSJ0bnM6TGlzdE9mQ29udGVudEZpbHRl +ckVsZW1lbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGVudEZp +bHRlciIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXIiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9Ikxpc3RPZkNvbnRlbnRGaWx0ZXIiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkNvbnRlbnRGaWx0ZXIiIHR5cGU9InRuczpDb250ZW50RmlsdGVyIiBtaW5P +Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM +aXN0T2ZDb250ZW50RmlsdGVyIiB0eXBlPSJ0bnM6TGlzdE9mQ29udGVudEZpbHRlciIgbmlsbGFi +bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRmlsdGVy +T3BlcmFuZCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkZpbHRlck9wZXJhbmQiIHR5cGU9InRu +czpGaWx0ZXJPcGVyYW5kIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFbGVtZW50T3Bl +cmFuZCI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6 +ZXh0ZW5zaW9uIGJhc2U9InRuczpGaWx0ZXJPcGVyYW5kIj4NCiAgICAgICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkluZGV4IiB0eXBlPSJ4czp1bnNpZ25lZElu +dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpl +eHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4N +CiAgPHhzOmVsZW1lbnQgbmFtZT0iRWxlbWVudE9wZXJhbmQiIHR5cGU9InRuczpFbGVtZW50T3Bl +cmFuZCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGl0ZXJhbE9wZXJhbmQiPg0KICAg +IDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBi +YXNlPSJ0bnM6RmlsdGVyT3BlcmFuZCI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0idWE6VmFyaWFudCIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAg +PC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg +bmFtZT0iTGl0ZXJhbE9wZXJhbmQiIHR5cGU9InRuczpMaXRlcmFsT3BlcmFuZCIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iQXR0cmlidXRlT3BlcmFuZCI+DQogICAgPHhzOmNvbXBsZXhD +b250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpGaWx0 +ZXJPcGVyYW5kIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50 +IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFsaWFzIiB0eXBlPSJ4czpzdHJp +bmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iQnJvd3NlUGF0aCIgdHlwZT0idG5zOlJlbGF0aXZlUGF0aCIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdHRyaWJ1 +dGVJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJJbmRleFJhbmdlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hz +OmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBdHRyaWJ1dGVPcGVyYW5kIiB0eXBlPSJ0bnM6QXR0cmli +dXRlT3BlcmFuZCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2ltcGxlQXR0cmlidXRl +T3BlcmFuZCI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8 +eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpGaWx0ZXJPcGVyYW5kIj4NCiAgICAgICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlR5cGVEZWZpbml0aW9uSWQiIHR5cGU9 +InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VQYXRoIiB0eXBlPSJ1YTpMaXN0T2ZRdWFsaWZpZWROYW1l +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmlu +ZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5j +ZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwv +eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNpbXBsZUF0dHJpYnV0ZU9wZXJh +bmQiIHR5cGU9InRuczpTaW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJMaXN0T2ZTaW1wbGVBdHRyaWJ1dGVPcGVyYW5kIj4NCiAgICA8eHM6c2VxdWVu +Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTaW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiB0eXBl +PSJ0bnM6U2ltcGxlQXR0cmlidXRlT3BlcmFuZCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu +Ym91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj +b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU2ltcGxlQXR0cmlidXRlT3Bl +cmFuZCIgdHlwZT0idG5zOkxpc3RPZlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIG5pbGxhYmxlPSJ0 +cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNvbnRlbnRGaWx0 +ZXJFbGVtZW50UmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPcGVyYW5kU3RhdHVzQ29kZXMiIHR5cGU9InVhOkxpc3RP +ZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJPcGVyYW5kRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFn +bm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl +cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb250ZW50 +RmlsdGVyRWxlbWVudFJlc3VsdCIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0 +IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZDb250ZW50RmlsdGVyRWxlbWVu +dFJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29u +dGVudEZpbHRlckVsZW1lbnRSZXN1bHQiIHR5cGU9InRuczpDb250ZW50RmlsdGVyRWxlbWVudFJl +c3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iTGlzdE9mQ29udGVudEZpbHRlckVsZW1lbnRSZXN1bHQiIHR5cGU9InRuczpMaXN0 +T2ZDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVu +dD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ29udGVudEZpbHRlclJlc3VsdCI+DQogICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRWxlbWVudFJlc3VsdHMiIHR5 +cGU9InRuczpMaXN0T2ZDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVsZW1lbnREaWFnbm9z +dGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9IkNvbnRlbnRGaWx0ZXJSZXN1bHQiIHR5cGU9InRuczpDb250 +ZW50RmlsdGVyUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJQYXJzaW5nUmVz +dWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXND +b2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJEYXRhU3RhdHVzQ29kZXMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJE +YXRhRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJQYXJzaW5nUmVzdWx0IiB0eXBlPSJ0bnM6 +UGFyc2luZ1Jlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUGFyc2lu +Z1Jlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUGFy +c2luZ1Jlc3VsdCIgdHlwZT0idG5zOlBhcnNpbmdSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2Nj +dXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlBhcnNpbmdSZXN1 +bHQiIHR5cGU9InRuczpMaXN0T2ZQYXJzaW5nUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czpl +bGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJRdWVyeUZpcnN0UmVxdWVzdCI+DQog +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIg +dHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWaWV3IiB0eXBlPSJ0bnM6Vmlld0Rlc2NyaXB0aW9u +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iTm9kZVR5cGVzIiB0eXBlPSJ0bnM6TGlzdE9mTm9kZVR5cGVEZXNjcmlwdGlvbiIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRl +ciIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhEYXRhU2V0c1RvUmV0dXJuIiB0eXBlPSJ4 +czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +TWF4UmVmZXJlbmNlc1RvUmV0dXJuIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw +IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9IlF1ZXJ5Rmlyc3RSZXF1ZXN0IiB0eXBlPSJ0bnM6UXVlcnlGaXJzdFJlcXVlc3Qi +IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlF1ZXJ5Rmlyc3RSZXNwb25zZSI+DQogICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5 +cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5RGF0YVNldHMiIHR5cGU9InRuczpMaXN0T2ZR +dWVyeURhdGFTZXQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJDb250aW51YXRpb25Qb2ludCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +UGFyc2luZ1Jlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZQYXJzaW5nUmVzdWx0IiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3Rp +Y0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlclJlc3VsdCIgdHlw +ZT0idG5zOkNvbnRlbnRGaWx0ZXJSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iUXVlcnlGaXJzdFJlc3BvbnNlIiB0eXBlPSJ0bnM6UXVlcnlGaXJzdFJlc3BvbnNl +IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJRdWVyeU5leHRSZXF1ZXN0Ij4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBl +PSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlJlbGVhc2VDb250aW51YXRpb25Qb2ludCIgdHlwZT0ieHM6 +Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGlu +dWF0aW9uUG9pbnQiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJRdWVyeU5leHRSZXF1ZXN0IiB0eXBlPSJ0bnM6UXVlcnlOZXh0UmVx +dWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUXVlcnlOZXh0UmVzcG9uc2UiPg0K +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVy +IiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeURhdGFTZXRzIiB0eXBlPSJ0bnM6TGlz +dE9mUXVlcnlEYXRhU2V0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZENvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpiYXNl +NjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlOZXh0 +UmVzcG9uc2UiIHR5cGU9InRuczpRdWVyeU5leHRSZXNwb25zZSIgLz4NCg0KICA8eHM6c2ltcGxl +VHlwZSAgbmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFz +ZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU291cmNlXzAiIC8+ +DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNlcnZlcl8xIiAvPg0KICAgICAgPHhzOmVu +dW1lcmF0aW9uIHZhbHVlPSJCb3RoXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +Ik5laXRoZXJfMyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW52YWxpZF80IiAv +Pg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiB0eXBlPSJ0bnM6VGltZXN0YW1wc1RvUmV0dXJu +IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWFkVmFsdWVJZCI+DQogICAgPHhzOnNl +cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQi +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJBdHRyaWJ1dGVJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFF +bmNvZGluZyIgdHlwZT0idWE6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJSZWFkVmFsdWVJZCIgdHlwZT0idG5zOlJlYWRWYWx1ZUlkIiAvPg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZSZWFkVmFsdWVJZCI+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZFZhbHVlSWQiIHR5cGU9InRuczpSZWFk +VmFsdWVJZCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iTGlzdE9mUmVhZFZhbHVlSWQiIHR5cGU9InRuczpMaXN0T2ZSZWFkVmFsdWVJ +ZCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iUmVhZFJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4QWdlIiB0eXBl +PSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRp +bWVzdGFtcHNUb1JldHVybiIgdHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgbWluT2NjdXJz +PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb1JlYWQiIHR5cGU9InRuczpM +aXN0T2ZSZWFkVmFsdWVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJS +ZWFkUmVxdWVzdCIgdHlwZT0idG5zOlJlYWRSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJSZWFkUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1 +bHRzIiB0eXBlPSJ1YTpMaXN0T2ZEYXRhVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVh +Okxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h +bWU9IlJlYWRSZXNwb25zZSIgdHlwZT0idG5zOlJlYWRSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iSGlzdG9yeVJlYWRWYWx1ZUlkIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkluZGV4UmFu +Z2UiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFFbmNvZGluZyIgdHlwZT0idWE6UXVhbGlmaWVkTmFt +ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IkNvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRWYWx1ZUlkIiB0eXBlPSJ0bnM6 +SGlzdG9yeVJlYWRWYWx1ZUlkIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZI +aXN0b3J5UmVhZFZhbHVlSWQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9Ikhpc3RvcnlSZWFkVmFsdWVJZCIgdHlwZT0idG5zOkhpc3RvcnlSZWFkVmFsdWVJZCIg +bWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iTGlzdE9mSGlzdG9yeVJlYWRWYWx1ZUlkIiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeVJlYWRW +YWx1ZUlkIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJIaXN0b3J5UmVhZFJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJz +PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9uUG9pbnQiIHR5cGU9 +InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlEYXRhIiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRSZXN1bHQi +IHR5cGU9InRuczpIaXN0b3J5UmVhZFJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iTGlzdE9mSGlzdG9yeVJlYWRSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9Ikhpc3RvcnlSZWFkUmVzdWx0IiB0eXBlPSJ0bnM6SGlzdG9yeVJlYWRS +ZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9Ikxpc3RPZkhpc3RvcnlSZWFkUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9y +eVJlYWRSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9Ikhpc3RvcnlSZWFkRGV0YWlscyI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +Ikhpc3RvcnlSZWFkRGV0YWlscyIgdHlwZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyIgLz4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZEV2ZW50RGV0YWlscyI+DQogICAgPHhzOmNvbXBs +ZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpI +aXN0b3J5UmVhZERldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iTnVtVmFsdWVzUGVyTm9kZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1p +bk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFydFRpbWUiIHR5 +cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iRW5kVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXIiIHR5cGU9InRuczpFdmVudEZpbHRlciIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAg +ICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlYWRFdmVudERldGFpbHMiIHR5cGU9InRu +czpSZWFkRXZlbnREZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWFkUmF3 +TW9kaWZpZWREZXRhaWxzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4N +CiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyI+DQogICAg +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc1JlYWRNb2Rp +ZmllZCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlN0YXJ0VGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRUaW1lIiB0eXBlPSJ4czpkYXRlVGlt +ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik51bVZhbHVl +c1Blck5vZGUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV0dXJuQm91bmRzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lv +bj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJSZWFkUmF3TW9kaWZpZWREZXRhaWxzIiB0eXBlPSJ0bnM6UmVhZFJhd01v +ZGlmaWVkRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZFByb2Nlc3Nl +ZERldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAg +PHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICAgICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXJ0VGltZSIgdHlwZT0i +eHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJFbmRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAg +IDx4czplbGVtZW50IG5hbWU9IlByb2Nlc3NpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWdncmVnYXRlVHlw +ZSIgdHlwZT0idWE6TGlzdE9mTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIHR5 +cGU9InRuczpBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQog +ICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iUmVhZFByb2Nlc3NlZERldGFpbHMiIHR5cGU9InRuczpSZWFkUHJvY2Vzc2VkRGV0 +YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZEF0VGltZURldGFpbHMiPg0K +ICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lv +biBiYXNlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcVRpbWVzIiB0eXBlPSJ1YTpMaXN0T2ZEYXRl +VGltZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJVc2VTaW1wbGVCb3VuZHMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0i +MCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAg +IDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9IlJlYWRBdFRpbWVEZXRhaWxzIiB0eXBlPSJ0bnM6UmVhZEF0VGltZURldGFpbHMiIC8+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlEYXRhIj4NCiAgICA8eHM6c2VxdWVu +Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVmFsdWVzIiB0eXBlPSJ1YTpMaXN0T2ZE +YXRhVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeURh +dGEiIHR5cGU9InRuczpIaXN0b3J5RGF0YSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i +TW9kaWZpY2F0aW9uSW5mbyI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iTW9kaWZpY2F0aW9uVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVwZGF0ZVR5cGUiIHR5cGU9InRuczpIaXN0b3J5 +VXBkYXRlVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNl +ck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJNb2RpZmljYXRpb25JbmZvIiB0eXBlPSJ0bnM6TW9kaWZpY2F0aW9uSW5mbyIgLz4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTW9kaWZpY2F0aW9uSW5mbyI+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZpY2F0aW9uSW5mbyIgdHlw +ZT0idG5zOk1vZGlmaWNhdGlvbkluZm8iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5k +ZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk1vZGlmaWNhdGlvbkluZm8iIHR5cGU9 +InRuczpMaXN0T2ZNb2RpZmljYXRpb25JbmZvIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50 +Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5TW9kaWZpZWREYXRhIj4NCiAgICA8 +eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFz +ZT0idG5zOkhpc3RvcnlEYXRhIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4 +czplbGVtZW50IG5hbWU9Ik1vZGlmaWNhdGlvbkluZm9zIiB0eXBlPSJ0bnM6TGlzdE9mTW9kaWZp +Y2F0aW9uSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94 +czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRl +bnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlNb2Rp +ZmllZERhdGEiIHR5cGU9InRuczpIaXN0b3J5TW9kaWZpZWREYXRhIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJIaXN0b3J5RXZlbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IkV2ZW50cyIgdHlwZT0idG5zOkxpc3RPZkhpc3RvcnlFdmVudEZpZWxk +TGlzdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl +Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5RXZlbnQi +IHR5cGU9InRuczpIaXN0b3J5RXZlbnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhp +c3RvcnlSZWFkUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5UmVh +ZERldGFpbHMiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRpbWVzdGFtcHNUb1JldHVybiIg +dHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iUmVsZWFzZUNvbnRpbnVhdGlvblBvaW50cyIgdHlwZT0ieHM6Ym9vbGVh +biIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb1JlYWQi +IHR5cGU9InRuczpMaXN0T2ZIaXN0b3J5UmVhZFZhbHVlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRSZXF1ZXN0IiB0eXBlPSJ0bnM6SGlzdG9yeVJl +YWRSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5UmVhZFJlc3Bv +bnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25z +ZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxp +c3RPZkhpc3RvcnlSZWFkUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZE +aWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0 +b3J5UmVhZFJlc3BvbnNlIiB0eXBlPSJ0bnM6SGlzdG9yeVJlYWRSZXNwb25zZSIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iV3JpdGVWYWx1ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdHRyaWJ1dGVJ +ZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlIiB0eXBlPSJ1YTpE +YXRhVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVWYWx1 +ZSIgdHlwZT0idG5zOldyaXRlVmFsdWUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxp +c3RPZldyaXRlVmFsdWUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IldyaXRlVmFsdWUiIHR5cGU9InRuczpXcml0ZVZhbHVlIiBtaW5PY2N1cnM9IjAiIG1heE9j +Y3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZXcml0ZVZhbHVl +IiB0eXBlPSJ0bnM6TGlzdE9mV3JpdGVWYWx1ZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVu +dD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iV3JpdGVSZXF1ZXN0Ij4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6 +UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9Ik5vZGVzVG9Xcml0ZSIgdHlwZT0idG5zOkxpc3RPZldyaXRlVmFsdWUi +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVSZXF1ZXN0IiB0eXBl +PSJ0bnM6V3JpdGVSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJXcml0ZVJl +c3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNw +b25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idWE6 +TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25v +c3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVSZXNw +b25zZSIgdHlwZT0idG5zOldyaXRlUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9Ikhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5VXBkYXRlRGV0YWlscyIgdHlwZT0idG5zOkhpc3Rv +cnlVcGRhdGVEZXRhaWxzIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJIaXN0b3J5VXBk +YXRlVHlwZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8 +eHM6ZW51bWVyYXRpb24gdmFsdWU9Ikluc2VydF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u +IHZhbHVlPSJSZXBsYWNlXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVwZGF0 +ZV8zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEZWxldGVfNCIgLz4NCiAgICA8 +L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +Ikhpc3RvcnlVcGRhdGVUeXBlIiB0eXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZVR5cGUiIC8+DQoNCiAg +PHhzOnNpbXBsZVR5cGUgIG5hbWU9IlBlcmZvcm1VcGRhdGVUeXBlIj4NCiAgICA8eHM6cmVzdHJp +Y3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW5z +ZXJ0XzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlcGxhY2VfMiIgLz4NCiAg +ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVXBkYXRlXzMiIC8+DQogICAgICA8eHM6ZW51bWVy +YXRpb24gdmFsdWU9IlJlbW92ZV80IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6 +c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUGVyZm9ybVVwZGF0ZVR5cGUiIHR5cGU9 +InRuczpQZXJmb3JtVXBkYXRlVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVXBk +YXRlRGF0YURldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0K +ICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAg +ICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUGVyZm9ybUlu +c2VydFJlcGxhY2UiIHR5cGU9InRuczpQZXJmb3JtVXBkYXRlVHlwZSIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlVwZGF0ZVZhbHVlcyIgdHlwZT0idWE6TGlz +dE9mRGF0YVZhbHVlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8 +L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29u +dGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVXBkYXRlRGF0 +YURldGFpbHMiIHR5cGU9InRuczpVcGRhdGVEYXRhRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iVXBkYXRlU3RydWN0dXJlRGF0YURldGFpbHMiPg0KICAgIDx4czpjb21wbGV4 +Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlz +dG9yeVVwZGF0ZURldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iUGVyZm9ybUluc2VydFJlcGxhY2UiIHR5cGU9InRuczpQZXJmb3JtVXBk +YXRlVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlVw +ZGF0ZVZhbHVlcyIgdHlwZT0idWE6TGlzdE9mRGF0YVZhbHVlIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNp +b24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iVXBkYXRlU3RydWN0dXJlRGF0YURldGFpbHMiIHR5cGU9InRuczpVcGRh +dGVTdHJ1Y3R1cmVEYXRhRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVXBk +YXRlRXZlbnREZXRhaWxzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4N +CiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAg +ICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlBlcmZvcm1J +bnNlcnRSZXBsYWNlIiB0eXBlPSJ0bnM6UGVyZm9ybVVwZGF0ZVR5cGUiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXIiIHR5cGU9InRuczpFdmVudEZp +bHRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJFdmVudERhdGEiIHR5cGU9InRuczpMaXN0T2ZIaXN0b3J5RXZlbnRGaWVsZExp +c3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVu +Y2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVcGRhdGVFdmVudERldGFpbHMi +IHR5cGU9InRuczpVcGRhdGVFdmVudERldGFpbHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9IkRlbGV0ZVJhd01vZGlmaWVkRGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1p +eGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5VXBkYXRl +RGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJJc0RlbGV0ZU1vZGlmaWVkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhcnRUaW1lIiB0eXBlPSJ4czpkYXRlVGlt +ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZFRpbWUi +IHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVu +Y2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVSYXdNb2RpZmllZERl +dGFpbHMiIHR5cGU9InRuczpEZWxldGVSYXdNb2RpZmllZERldGFpbHMiIC8+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9IkRlbGV0ZUF0VGltZURldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29u +dGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9y +eVVwZGF0ZURldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iUmVxVGltZXMiIHR5cGU9InVhOkxpc3RPZkRhdGVUaW1lIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94 +czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlQXRUaW1lRGV0YWlscyIgdHlwZT0idG5zOkRl +bGV0ZUF0VGltZURldGFpbHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZUV2 +ZW50RGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAg +ICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudElkcyIgdHlw +ZT0idWE6TGlzdE9mQnl0ZVN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6 +Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +IkRlbGV0ZUV2ZW50RGV0YWlscyIgdHlwZT0idG5zOkRlbGV0ZUV2ZW50RGV0YWlscyIgLz4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3VsdCI+DQogICAgPHhzOnNl +cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3Rh +dHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT3BlcmF0 +aW9uUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIg +dHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3VsdCIgdHlwZT0idG5zOkhpc3RvcnlVcGRhdGVS +ZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkhpc3RvcnlVcGRhdGVS +ZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3Rv +cnlVcGRhdGVSZXN1bHQiIHR5cGU9InRuczpIaXN0b3J5VXBkYXRlUmVzdWx0IiBtaW5PY2N1cnM9 +IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl +cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZI +aXN0b3J5VXBkYXRlUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeVVwZGF0ZVJlc3VsdCIg +bmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i +SGlzdG9yeVVwZGF0ZVJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9y +eVVwZGF0ZURldGFpbHMiIHR5cGU9InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5VXBkYXRlUmVxdWVzdCIgdHlwZT0i +dG5zOkhpc3RvcnlVcGRhdGVSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJI +aXN0b3J5VXBkYXRlUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1 +bHRzIiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeVVwZGF0ZVJlc3VsdCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZv +cyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3BvbnNlIiB0eXBlPSJ0bnM6SGlzdG9yeVVw +ZGF0ZVJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDYWxsTWV0aG9kUmVx +dWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT2JqZWN0 +SWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9Ik1ldGhvZElkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbnB1dEFy +Z3VtZW50cyIgdHlwZT0idWE6TGlzdE9mVmFyaWFudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJDYWxsTWV0aG9kUmVxdWVzdCIgdHlwZT0idG5zOkNhbGxNZXRob2RSZXF1 +ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZDYWxsTWV0aG9kUmVxdWVz +dCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2FsbE1ldGhv +ZFJlcXVlc3QiIHR5cGU9InRuczpDYWxsTWV0aG9kUmVxdWVzdCIgbWluT2NjdXJzPSIwIiBtYXhP +Y2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQ2FsbE1ldGhv +ZFJlcXVlc3QiIHR5cGU9InRuczpMaXN0T2ZDYWxsTWV0aG9kUmVxdWVzdCIgbmlsbGFibGU9InRy +dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2FsbE1ldGhvZFJl +c3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVz +Q29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iSW5wdXRBcmd1bWVudFJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0Nv +ZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJJbnB1dEFyZ3VtZW50RGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9z +dGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9Ik91dHB1dEFyZ3VtZW50cyIgdHlwZT0idWE6TGlzdE9mVmFyaWFudCIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDYWxsTWV0aG9kUmVzdWx0IiB0eXBlPSJ0 +bnM6Q2FsbE1ldGhvZFJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m +Q2FsbE1ldGhvZFJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iQ2FsbE1ldGhvZFJlc3VsdCIgdHlwZT0idG5zOkNhbGxNZXRob2RSZXN1bHQiIG1pbk9j +Y3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxp +c3RPZkNhbGxNZXRob2RSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZDYWxsTWV0aG9kUmVzdWx0IiBu +aWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJD +YWxsUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +UmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXRob2RzVG9DYWxsIiB0 +eXBlPSJ0bnM6TGlzdE9mQ2FsbE1ldGhvZFJlcXVlc3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iQ2FsbFJlcXVlc3QiIHR5cGU9InRuczpDYWxsUmVxdWVzdCIgLz4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2FsbFJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3Bv +bnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZkNhbGxNZXRob2RSZXN1bHQiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJE +aWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNhbGxSZXNwb25zZSIgdHlwZT0idG5zOkNhbGxS +ZXNwb25zZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iTW9uaXRvcmluZ01vZGUiPg0K +ICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0 +aW9uIHZhbHVlPSJEaXNhYmxlZF8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJT +YW1wbGluZ18xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZXBvcnRpbmdfMiIg +Lz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9Ik1vbml0b3JpbmdNb2RlIiB0eXBlPSJ0bnM6TW9uaXRvcmluZ01vZGUiIC8+DQoN +CiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkRhdGFDaGFuZ2VUcmlnZ2VyIj4NCiAgICA8eHM6cmVz +dHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i +U3RhdHVzXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN0YXR1c1ZhbHVlXzEi +IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN0YXR1c1ZhbHVlVGltZXN0YW1wXzIi +IC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxl +bWVudCBuYW1lPSJEYXRhQ2hhbmdlVHJpZ2dlciIgdHlwZT0idG5zOkRhdGFDaGFuZ2VUcmlnZ2Vy +IiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJEZWFkYmFuZFR5cGUiPg0KICAgIDx4czpy +ZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl +PSJOb25lXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFic29sdXRlXzEiIC8+ +DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlBlcmNlbnRfMiIgLz4NCiAgICA8L3hzOnJl +c3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlYWRi +YW5kVHlwZSIgdHlwZT0idG5zOkRlYWRiYW5kVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iTW9uaXRvcmluZ0ZpbHRlciI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2Vx +dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3Jp +bmdGaWx0ZXIiIHR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVyIiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJEYXRhQ2hhbmdlRmlsdGVyIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4 +ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk1vbml0b3JpbmdGaWx0 +ZXIiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +VHJpZ2dlciIgdHlwZT0idG5zOkRhdGFDaGFuZ2VUcmlnZ2VyIiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVhZGJhbmRUeXBlIiB0eXBlPSJ4czp1bnNpZ25l +ZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlYWRi +YW5kVmFsdWUiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hz +OnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVu +dD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YUNoYW5nZUZp +bHRlciIgdHlwZT0idG5zOkRhdGFDaGFuZ2VGaWx0ZXIiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9IkV2ZW50RmlsdGVyIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNl +Ij4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk1vbml0b3JpbmdGaWx0ZXIiPg0KICAg +ICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VsZWN0Q2xh +dXNlcyIgdHlwZT0idG5zOkxpc3RPZlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iV2hlcmVD +bGF1c2UiIHR5cGU9InRuczpDb250ZW50RmlsdGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQog +ICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iRXZlbnRGaWx0ZXIiIHR5cGU9InRuczpFdmVudEZpbHRlciIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iQWdncmVnYXRlQ29uZmlndXJhdGlvbiI+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlU2VydmVyQ2FwYWJpbGl0aWVzRGVmYXVs +dHMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlRyZWF0VW5jZXJ0YWluQXNCYWQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0i +MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBlcmNlbnREYXRhQmFkIiB0eXBlPSJ4czp1 +bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBl +cmNlbnREYXRhR29vZCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VTbG9wZWRFeHRyYXBvbGF0aW9uIiB0eXBlPSJ4czpi +b29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w +bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWdncmVnYXRlQ29uZmlndXJhdGlvbiIgdHlw +ZT0idG5zOkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9IkFnZ3JlZ2F0ZUZpbHRlciI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxz +ZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpNb25pdG9yaW5nRmlsdGVyIj4NCiAg +ICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXJ0VGlt +ZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJBZ2dyZWdhdGVUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJvY2Vzc2lu +Z0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiB0eXBlPSJ0bnM6QWdncmVn +YXRlQ29uZmlndXJhdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +ICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxl +eENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFnZ3Jl +Z2F0ZUZpbHRlciIgdHlwZT0idG5zOkFnZ3JlZ2F0ZUZpbHRlciIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iTW9uaXRvcmluZ0ZpbHRlclJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h +bWU9Ik1vbml0b3JpbmdGaWx0ZXJSZXN1bHQiIHR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVyUmVz +dWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFdmVudEZpbHRlclJlc3VsdCI+DQog +ICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9u +IGJhc2U9InRuczpNb25pdG9yaW5nRmlsdGVyUmVzdWx0Ij4NCiAgICAgICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlbGVjdENsYXVzZVJlc3VsdHMiIHR5cGU9 +InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VsZWN0Q2xhdXNlRGlhZ25vc3RpY0luZm9zIiB0 +eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJXaGVyZUNsYXVzZVJlc3VsdCIgdHlw +ZT0idG5zOkNvbnRlbnRGaWx0ZXJSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8 +L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJFdmVudEZpbHRlclJlc3VsdCIgdHlwZT0idG5zOkV2ZW50RmlsdGVyUmVzdWx0IiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZ2dyZWdhdGVGaWx0ZXJSZXN1bHQiPg0KICAgIDx4 +czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNl +PSJ0bnM6TW9uaXRvcmluZ0ZpbHRlclJlc3VsdCI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkU3RhcnRUaW1lIiB0eXBlPSJ4czpkYXRl +VGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlz +ZWRQcm9jZXNzaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0K +ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRBZ2dyZWdhdGVDb25maWd1cmF0aW9u +IiB0eXBlPSJ0bnM6QWdncmVnYXRlQ29uZmlndXJhdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9u +Pg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl +bGVtZW50IG5hbWU9IkFnZ3JlZ2F0ZUZpbHRlclJlc3VsdCIgdHlwZT0idG5zOkFnZ3JlZ2F0ZUZp +bHRlclJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9uaXRvcmluZ1BhcmFt +ZXRlcnMiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVu +dEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlNhbXBsaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyIiB0eXBlPSJ1YTpFeHRl +bnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJRdWV1ZVNpemUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9 +IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjYXJkT2xkZXN0IiB0eXBlPSJ4czpi +b29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w +bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ1BhcmFtZXRlcnMiIHR5cGU9 +InRuczpNb25pdG9yaW5nUGFyYW1ldGVycyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i +TW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9Ikl0ZW1Ub01vbml0b3IiIHR5cGU9InRuczpSZWFkVmFsdWVJZCIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1v +bml0b3JpbmdNb2RlIiB0eXBlPSJ0bnM6TW9uaXRvcmluZ01vZGUiIG1pbk9jY3Vycz0iMCIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZFBhcmFtZXRlcnMiIHR5cGU9InRuczpN +b25pdG9yaW5nUGFyYW1ldGVycyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIgdHlwZT0idG5zOk1vbml0b3JlZEl0ZW1DcmVh +dGVSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJ +dGVtQ3JlYXRlUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIHR5cGU9InRuczpNb25pdG9yZWRJdGVt +Q3JlYXRlUmVxdWVzdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIHR5cGU9 +InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIgbmlsbGFibGU9InRydWUiPjwv +eHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9uaXRvcmVkSXRlbUNyZWF0 +ZVJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Rh +dHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFNhbXBsaW5nSW50 +ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUmV2aXNlZFF1ZXVlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vy +cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlclJlc3VsdCIgdHlwZT0idWE6 +RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1v +bml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIHR5cGU9InRuczpNb25pdG9yZWRJdGVtQ3JlYXRlUmVz +dWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVtQ3Jl +YXRlUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJN +b25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0IiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRlbUNyZWF0ZVJl +c3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbUNyZWF0ZVJlc3VsdCIgdHlwZT0idG5zOkxpc3RP +Zk1vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zUmVxdWVzdCI+ +DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRl +ciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlwZT0ieHM6dW5z +aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRpbWVz +dGFtcHNUb1JldHVybiIgdHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXRlbXNUb0NyZWF0ZSIgdHlwZT0idG5zOkxp +c3RPZk1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl +bGVtZW50IG5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgdHlwZT0idG5zOkNyZWF0 +ZU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ3Jl +YXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0IiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlh +Z25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiB0 +eXBlPSJ0bnM6Q3JlYXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1JZCIgdHlwZT0ieHM6dW5z +aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVl +c3RlZFBhcmFtZXRlcnMiIHR5cGU9InRuczpNb25pdG9yaW5nUGFyYW1ldGVycyIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCIg +dHlwZT0idG5zOk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCI+DQogICAgPHhzOnNl +cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVl +c3QiIHR5cGU9InRuczpNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCIgbWluT2NjdXJzPSIwIiBt +YXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j +ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTW9uaXRv +cmVkSXRlbU1vZGlmeVJlcXVlc3QiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtTW9kaWZ5 +UmVxdWVzdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFNhbXBsaW5n +SW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iUmV2aXNlZFF1ZXVlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9j +Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlclJlc3VsdCIgdHlwZT0i +dWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +Ik1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIHR5cGU9InRuczpNb25pdG9yZWRJdGVtTW9kaWZ5 +UmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVt +TW9kaWZ5UmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0IiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRlbU1vZGlm +eVJlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCIgdHlwZT0idG5zOkxp +c3RPZk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1l +bnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1vZGlmeU1vbml0b3JlZEl0ZW1zUmVxdWVz +dCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhl +YWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlwZT0ieHM6 +dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRp +bWVzdGFtcHNUb1JldHVybiIgdHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgbWluT2NjdXJz +PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXRlbXNUb01vZGlmeSIgdHlwZT0idG5z +Okxpc3RPZk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9Ik1vZGlmeU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgdHlwZT0idG5zOk1v +ZGlmeU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i +TW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRl +ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0IiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +RGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZnlNb25pdG9yZWRJdGVtc1Jlc3BvbnNl +IiB0eXBlPSJ0bnM6TW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iU2V0TW9uaXRvcmluZ01vZGVSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVu +Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVx +dWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ01vZGUiIHR5cGU9 +InRuczpNb25pdG9yaW5nTW9kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iTW9uaXRvcmVkSXRlbUlkcyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNldE1vbml0b3JpbmdNb2RlUmVxdWVzdCIgdHlw +ZT0idG5zOlNldE1vbml0b3JpbmdNb2RlUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iU2V0TW9uaXRvcmluZ01vZGVSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhl +YWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5m +b3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9IlNldE1vbml0b3JpbmdNb2RlUmVzcG9uc2UiIHR5cGU9InRuczpTZXRN +b25pdG9yaW5nTW9kZVJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXRU +cmlnZ2VyaW5nUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRp +b25JZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlRyaWdnZXJpbmdJdGVtSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaW5rc1RvQWRkIiB0eXBlPSJ1 +YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJMaW5rc1RvUmVtb3ZlIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0VHJpZ2dlcmluZ1JlcXVlc3Qi +IHR5cGU9InRuczpTZXRUcmlnZ2VyaW5nUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iU2V0VHJpZ2dlcmluZ1Jlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVy +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iQWRkUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZERpYWdub3N0aWNJ +bmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZW1vdmVSZXN1bHRzIiB0eXBl +PSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVtb3ZlRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpM +aXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJTZXRUcmlnZ2VyaW5nUmVzcG9uc2UiIHR5cGU9InRuczpTZXRUcmlnZ2VyaW5nUmVzcG9uc2Ui +IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVxdWVz +dCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhl +YWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlwZT0ieHM6 +dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1v +bml0b3JlZEl0ZW1JZHMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVNb25pdG9yZWRJdGVtc1JlcXVlc3QiIHR5cGU9InRu +czpEZWxldGVNb25pdG9yZWRJdGVtc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VI +ZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0lu +Zm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6 +RGVsZXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iQ3JlYXRlU3Vic2NyaXB0aW9uUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIi +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJSZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJz +PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTGlmZXRpbWVDb3VudCIg +dHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4Tm90aWZpY2F0aW9u +c1BlclB1Ymxpc2giIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoaW5nRW5hYmxlZCIgdHlwZT0ieHM6Ym9vbGVhbiIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJpb3JpdHkiIHR5cGU9 +InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZVN1YnNjcmlwdGlv +blJlcXVlc3QiIHR5cGU9InRuczpDcmVhdGVTdWJzY3JpcHRpb25SZXF1ZXN0IiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJDcmVhdGVTdWJzY3JpcHRpb25SZXNwb25zZSI+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9 +InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZElu +dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFB1Ymxp +c2hpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkTGlmZXRpbWVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJ +bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRNYXhL +ZWVwQWxpdmVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg +ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJDcmVhdGVTdWJzY3JpcHRpb25SZXNwb25zZSIgdHlwZT0idG5zOkNyZWF0ZVN1YnNjcmlwdGlv +blJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb2RpZnlTdWJzY3JpcHRp +b25SZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS +ZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0 +eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iUmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9j +Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZExpZmV0aW1lQ291 +bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJSZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJ +bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heE5vdGlmaWNh +dGlvbnNQZXJQdWJsaXNoIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJpb3JpdHkiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIg +bWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvblJlcXVlc3QiIHR5cGU9InRu +czpNb2RpZnlTdWJzY3JpcHRpb25SZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJNb2RpZnlTdWJzY3JpcHRpb25SZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRl +ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlJldmlzZWRQdWJsaXNoaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJz +PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZExpZmV0aW1lQ291bnQiIHR5 +cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJSZXZpc2VkTWF4S2VlcEFsaXZlQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZ5U3Vic2NyaXB0aW9uUmVzcG9uc2UiIHR5cGU9InRuczpN +b2RpZnlTdWJzY3JpcHRpb25SZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i +U2V0UHVibGlzaGluZ01vZGVSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1 +Ymxpc2hpbmdFbmFibGVkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZHMiIHR5cGU9InVhOkxpc3RPZlVJbnQz +MiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRQdWJsaXNoaW5nTW9k +ZVJlcXVlc3QiIHR5cGU9InRuczpTZXRQdWJsaXNoaW5nTW9kZVJlcXVlc3QiIC8+DQoNCiAgPHhz +OmNvbXBsZXhUeXBlIG5hbWU9IlNldFB1Ymxpc2hpbmdNb2RlUmVzcG9uc2UiPg0KICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0 +bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +RGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRQdWJsaXNoaW5nTW9kZVJlc3BvbnNlIiB0 +eXBlPSJ0bnM6U2V0UHVibGlzaGluZ01vZGVSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iTm90aWZpY2F0aW9uTWVzc2FnZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iU2VxdWVuY2VOdW1iZXIiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoVGltZSIgdHlw +ZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +Ik5vdGlmaWNhdGlvbkRhdGEiIHR5cGU9InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOb3RpZmljYXRpb25NZXNzYWdlIiB0eXBl +PSJ0bnM6Tm90aWZpY2F0aW9uTWVzc2FnZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i +Tm90aWZpY2F0aW9uRGF0YSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik5vdGlmaWNhdGlvbkRh +dGEiIHR5cGU9InRuczpOb3RpZmljYXRpb25EYXRhIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu +YW1lPSJEYXRhQ2hhbmdlTm90aWZpY2F0aW9uIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4 +ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk5vdGlmaWNhdGlvbkRh +dGEiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +TW9uaXRvcmVkSXRlbXMiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtTm90aWZpY2F0aW9u +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQog +ICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhQ2hhbmdlTm90aWZpY2F0aW9uIiB0 +eXBlPSJ0bnM6RGF0YUNoYW5nZU5vdGlmaWNhdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iTW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50SGFuZGxlIiB0eXBlPSJ4czp1bnNpZ25lZEludCIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUiIHR5cGU9InVh +OkRhdGFWYWx1ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl +cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9y +ZWRJdGVtTm90aWZpY2F0aW9uIiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbU5vdGlmaWNh +dGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRv +cmVkSXRlbU5vdGlmaWNhdGlvbiIgdHlwZT0idG5zOk1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24i +IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h +bWU9Ikxpc3RPZk1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iIHR5cGU9InRuczpMaXN0T2ZNb25p +dG9yZWRJdGVtTm90aWZpY2F0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJFdmVudE5vdGlmaWNhdGlvbkxpc3QiPg0KICAgIDx4czpj +b21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0 +bnM6Tm90aWZpY2F0aW9uRGF0YSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJFdmVudHMiIHR5cGU9InRuczpMaXN0T2ZFdmVudEZpZWxkTGlzdCIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4N +CiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkV2ZW50Tm90aWZpY2F0aW9uTGlzdCIg +dHlwZT0idG5zOkV2ZW50Tm90aWZpY2F0aW9uTGlzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iRXZlbnRGaWVsZExpc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IkNsaWVudEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i +MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50RmllbGRzIiB0eXBlPSJ1YTpMaXN0 +T2ZWYXJpYW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx +dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkV2ZW50Rmll +bGRMaXN0IiB0eXBlPSJ0bnM6RXZlbnRGaWVsZExpc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9Ikxpc3RPZkV2ZW50RmllbGRMaXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJFdmVudEZpZWxkTGlzdCIgdHlwZT0idG5zOkV2ZW50RmllbGRMaXN0 +IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJMaXN0T2ZFdmVudEZpZWxkTGlzdCIgdHlwZT0idG5zOkxpc3RPZkV2ZW50RmllbGRMaXN0 +IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJIaXN0b3J5RXZlbnRGaWVsZExpc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkV2ZW50RmllbGRzIiB0eXBlPSJ1YTpMaXN0T2ZWYXJpYW50IiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlFdmVudEZpZWxkTGlzdCIgdHlw +ZT0idG5zOkhpc3RvcnlFdmVudEZpZWxkTGlzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iTGlzdE9mSGlzdG9yeUV2ZW50RmllbGRMaXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5RXZlbnRGaWVsZExpc3QiIHR5cGU9InRuczpIaXN0 +b3J5RXZlbnRGaWVsZExpc3QiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkhpc3RvcnlFdmVudEZpZWxkTGlzdCIgdHlwZT0i +dG5zOkxpc3RPZkhpc3RvcnlFdmVudEZpZWxkTGlzdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxl +bWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU3RhdHVzQ2hhbmdlTm90aWZpY2F0aW9u +Ij4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRl +bnNpb24gYmFzZT0idG5zOk5vdGlmaWNhdGlvbkRhdGEiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+ +DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzIiB0eXBlPSJ1YTpTdGF0dXNDb2Rl +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3Rp +Y0luZm8iIHR5cGU9InVhOkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQog +ICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iU3RhdHVzQ2hhbmdlTm90aWZpY2F0aW9uIiB0eXBlPSJ0bnM6U3RhdHVzQ2hhbmdl +Tm90aWZpY2F0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTdWJzY3JpcHRpb25B +Y2tub3dsZWRnZW1lbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VxdWVuY2VOdW1iZXIiIHR5cGU9InhzOnVuc2ln +bmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w +bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50 +IiB0eXBlPSJ0bnM6U3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50IiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJMaXN0T2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiPg0KICAgIDx4 +czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbkFja25vd2xl +ZGdlbWVudCIgdHlwZT0idG5zOlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudCIgbWluT2NjdXJz +PSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz +ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9m +U3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50IiB0eXBlPSJ0bnM6TGlzdE9mU3Vic2NyaXB0aW9u +QWNrbm93bGVkZ2VtZW50IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJQdWJsaXNoUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFk +ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnRzIiB0eXBlPSJ0bnM6TGlzdE9mU3Vic2Ny +aXB0aW9uQWNrbm93bGVkZ2VtZW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h +bWU9IlB1Ymxpc2hSZXF1ZXN0IiB0eXBlPSJ0bnM6UHVibGlzaFJlcXVlc3QiIC8+DQoNCiAgPHhz +OmNvbXBsZXhUeXBlIG5hbWU9IlB1Ymxpc2hSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25z +ZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz +PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXZhaWxhYmxlU2VxdWVuY2VOdW1iZXJz +IiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb3JlTm90aWZpY2F0aW9ucyIgdHlwZT0ieHM6Ym9v +bGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm90aWZpY2F0 +aW9uTWVzc2FnZSIgdHlwZT0idG5zOk5vdGlmaWNhdGlvbk1lc3NhZ2UiIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBl +PSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZE +aWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJs +aXNoUmVzcG9uc2UiIHR5cGU9InRuczpQdWJsaXNoUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9IlJlcHVibGlzaFJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVy +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXRyYW5zbWl0U2VxdWVuY2VOdW1iZXIiIHR5cGU9 +InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVwdWJsaXNoUmVxdWVzdCIg +dHlwZT0idG5zOlJlcHVibGlzaFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +IlJlcHVibGlzaFJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm90aWZp +Y2F0aW9uTWVzc2FnZSIgdHlwZT0idG5zOk5vdGlmaWNhdGlvbk1lc3NhZ2UiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVwdWJsaXNoUmVzcG9uc2UiIHR5cGU9InRuczpS +ZXB1Ymxpc2hSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVHJhbnNmZXJS +ZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1 +c0NvZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkF2YWlsYWJsZVNlcXVlbmNlTnVtYmVycyIgdHlwZT0idWE6TGlzdE9mVUlu +dDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRyYW5zZmVyUmVzdWx0 +IiB0eXBlPSJ0bnM6VHJhbnNmZXJSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +Ikxpc3RPZlRyYW5zZmVyUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJUcmFuc2ZlclJlc3VsdCIgdHlwZT0idG5zOlRyYW5zZmVyUmVzdWx0IiBtaW5P +Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM +aXN0T2ZUcmFuc2ZlclJlc3VsdCIgdHlwZT0idG5zOkxpc3RPZlRyYW5zZmVyUmVzdWx0IiBuaWxs +YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJUcmFu +c2ZlclN1YnNjcmlwdGlvbnNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1 +YnNjcmlwdGlvbklkcyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VuZEluaXRpYWxWYWx1ZXMi +IHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2ZlclN1YnNjcmlw +dGlvbnNSZXF1ZXN0IiB0eXBlPSJ0bnM6VHJhbnNmZXJTdWJzY3JpcHRpb25zUmVxdWVzdCIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVHJhbnNmZXJTdWJzY3JpcHRpb25zUmVzcG9uc2Ui +Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVh +ZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ0bnM6TGlzdE9m +VHJhbnNmZXJSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0 +aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRyYW5zZmVyU3Vi +c2NyaXB0aW9uc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6VHJhbnNmZXJTdWJzY3JpcHRpb25zUmVzcG9u +c2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZVN1YnNjcmlwdGlvbnNSZXF1 +ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0 +SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkcyIgdHlwZT0i +dWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRl +bGV0ZVN1YnNjcmlwdGlvbnNSZXF1ZXN0IiB0eXBlPSJ0bnM6RGVsZXRlU3Vic2NyaXB0aW9uc1Jl +cXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZVN1YnNjcmlwdGlvbnNS +ZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVz +cG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVh +Okxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdu +b3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx +dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZVN1 +YnNjcmlwdGlvbnNSZXNwb25zZSIgdHlwZT0idG5zOkRlbGV0ZVN1YnNjcmlwdGlvbnNSZXNwb25z +ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQnVpbGRJbmZvIj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQcm9kdWN0VXJpIiB0eXBlPSJ4czpzdHJp +bmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJNYW51ZmFjdHVyZXJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQcm9kdWN0TmFtZSIgdHlw +ZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iU29mdHdhcmVWZXJzaW9uIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCdWlsZE51 +bWJlciIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnVpbGREYXRlIiB0eXBlPSJ4czpkYXRlVGltZSIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9IkJ1aWxkSW5mbyIgdHlwZT0idG5zOkJ1aWxkSW5mbyIgLz4NCg0K +ICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iUmVkdW5kYW5jeVN1cHBvcnQiPg0KICAgIDx4czpyZXN0 +cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJO +b25lXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkNvbGRfMSIgLz4NCiAgICAg +IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iV2FybV8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u +IHZhbHVlPSJIb3RfMyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVHJhbnNwYXJl +bnRfNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSG90QW5kTWlycm9yZWRfNSIg +Lz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9IlJlZHVuZGFuY3lTdXBwb3J0IiB0eXBlPSJ0bnM6UmVkdW5kYW5jeVN1cHBvcnQi +IC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IlNlcnZlclN0YXRlIj4NCiAgICA8eHM6cmVz +dHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i +UnVubmluZ18wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJGYWlsZWRfMSIgLz4N +CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9Db25maWd1cmF0aW9uXzIiIC8+DQogICAg +ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN1c3BlbmRlZF8zIiAvPg0KICAgICAgPHhzOmVudW1l +cmF0aW9uIHZhbHVlPSJTaHV0ZG93bl80IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl +PSJUZXN0XzUiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkNvbW11bmljYXRpb25G +YXVsdF82IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVbmtub3duXzciIC8+DQog +ICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJTZXJ2ZXJTdGF0ZSIgdHlwZT0idG5zOlNlcnZlclN0YXRlIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVySWQiIHR5cGU9InhzOnN0cmluZyIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNl +cnZpY2VMZXZlbCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJTdGF0ZSIgdHlwZT0idG5zOlNlcnZlclN0YXRlIiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N +CiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVkdW5kYW50U2VydmVyRGF0YVR5cGUiIHR5cGU9InRuczpS +ZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlz +dE9mUmVkdW5kYW50U2VydmVyRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlJlZHVuZGFudFNlcnZlckRhdGFUeXBlIiB0eXBlPSJ0bnM6UmVkdW5k +YW50U2VydmVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlJlZHVuZGFudFNlcnZlckRhdGFUeXBlIiB0eXBl +PSJ0bnM6TGlzdE9mUmVkdW5kYW50U2VydmVyRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hz +OmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVuZHBvaW50VXJsTGlzdERhdGFU +eXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2lu +dFVybExpc3QiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVybExpc3REYXRhVHlwZSIgdHlwZT0idG5zOkVuZHBvaW50 +VXJsTGlzdERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZFbmRw +b2ludFVybExpc3REYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iRW5kcG9pbnRVcmxMaXN0RGF0YVR5cGUiIHR5cGU9InRuczpFbmRwb2ludFVybExp +c3REYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iTGlzdE9mRW5kcG9pbnRVcmxMaXN0RGF0YVR5cGUiIHR5cGU9InRuczpM +aXN0T2ZFbmRwb2ludFVybExpc3REYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVu +dD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTmV0d29ya0dyb3VwRGF0YVR5cGUiPg0KICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlclVyaSIgdHlwZT0i +eHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iTmV0d29ya1BhdGhzIiB0eXBlPSJ0bnM6TGlzdE9mRW5kcG9pbnRVcmxMaXN0 +RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTmV0d29ya0dy +b3VwRGF0YVR5cGUiIHR5cGU9InRuczpOZXR3b3JrR3JvdXBEYXRhVHlwZSIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTmV0d29ya0dyb3VwRGF0YVR5cGUiPg0KICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5ldHdvcmtHcm91cERhdGFUeXBlIiB0 +eXBlPSJ0bnM6TmV0d29ya0dyb3VwRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1 +bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk5ldHdvcmtHcm91cERhdGFU +eXBlIiB0eXBlPSJ0bnM6TGlzdE9mTmV0d29ya0dyb3VwRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVl +Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNhbXBsaW5nSW50ZXJ2 +YWxEaWFnbm9zdGljc0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJTYW1wbGluZ0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0i +MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1Db3VudCIgdHlwZT0i +eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +Ik1heE1vbml0b3JlZEl0ZW1Db3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i +MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2FibGVkTW9uaXRvcmVkSXRlbUNvdW50 +IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVu +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNhbXBsaW5nSW50 +ZXJ2YWxEaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U2FtcGxpbmdJbnRlcnZhbERpYWdu +b3N0aWNzRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlNhbXBs +aW5nSW50ZXJ2YWxEaWFnbm9zdGljc0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJTYW1wbGluZ0ludGVydmFsRGlhZ25vc3RpY3NEYXRhVHlwZSIg +dHlwZT0idG5zOlNhbXBsaW5nSW50ZXJ2YWxEaWFnbm9zdGljc0RhdGFUeXBlIiBtaW5PY2N1cnM9 +IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl +cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZT +YW1wbGluZ0ludGVydmFsRGlhZ25vc3RpY3NEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlNhbXBs +aW5nSW50ZXJ2YWxEaWFnbm9zdGljc0RhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVt +ZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXJ2ZXJEaWFnbm9zdGljc1N1bW1hcnlE +YXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vy +dmVyVmlld0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudFNlc3Npb25Db3VudCIgdHlwZT0ieHM6dW5zaWdu +ZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkN1bXVsYXRl +ZFNlc3Npb25Db3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5UmVqZWN0ZWRTZXNzaW9uQ291bnQiIHR5cGU9 +InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJSZWplY3RlZFNlc3Npb25Db3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i +MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlc3Npb25UaW1lb3V0Q291bnQiIHR5cGU9 +InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJTZXNzaW9uQWJvcnRDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkN1cnJlbnRTdWJzY3JpcHRpb25Db3VudCIgdHlw +ZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IkN1bXVsYXRlZFN1YnNjcmlwdGlvbkNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGluZ0ludGVydmFs +Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJTZWN1cml0eVJlamVjdGVkUmVxdWVzdHNDb3VudCIgdHlwZT0ieHM6dW5z +aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlamVj +dGVkUmVxdWVzdHNDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJTZXJ2ZXJEaWFnbm9zdGljc1N1bW1hcnlEYXRhVHlwZSIgdHlwZT0idG5zOlNlcnZlckRp +YWdub3N0aWNzU3VtbWFyeURhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJT +ZXJ2ZXJTdGF0dXNEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iU3RhcnRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0ZSIgdHlwZT0idG5z +OlNlcnZlclN0YXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJC +dWlsZEluZm8iIHR5cGU9InRuczpCdWlsZEluZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWNvbmRzVGlsbFNodXRkb3duIiB0eXBl +PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iU2h1dGRvd25SZWFzb24iIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyU3RhdHVzRGF0YVR5cGUiIHR5cGU9InRuczpT +ZXJ2ZXJTdGF0dXNEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2Vzc2lv +bkRpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlNlc3Npb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbk5hbWUiIHR5cGU9 +InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkNsaWVudERlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6QXBwbGljYXRpb25EZXNj +cmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlNlcnZlclVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5kcG9pbnRVcmwiIHR5cGU9 +InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkxvY2FsZUlkcyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWN0dWFsU2Vz +c2lvblRpbWVvdXQiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iTWF4UmVzcG9uc2VNZXNzYWdlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJ +bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVudENvbm5l +Y3Rpb25UaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iQ2xpZW50TGFzdENvbnRhY3RUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudFN1YnNjcmlw +dGlvbnNDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IkN1cnJlbnRNb25pdG9yZWRJdGVtc0NvdW50IiB0eXBlPSJ4czp1 +bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3Vy +cmVudFB1Ymxpc2hSZXF1ZXN0c0luUXVldWUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1 +cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUb3RhbFJlcXVlc3RDb3VudCIgdHlw +ZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbmF1dGhvcml6ZWRSZXF1ZXN0Q291bnQi +IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJSZWFkQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlz +dG9yeVJlYWRDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJXcml0ZUNv +dW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlVcGRhdGVDb3Vu +dCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDYWxsQ291bnQiIHR5cGU9InRu +czpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3JlYXRlTW9uaXRvcmVkSXRlbXNDb3VudCIgdHlw +ZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZnlNb25pdG9yZWRJdGVtc0NvdW50 +IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNldE1vbml0b3JpbmdNb2RlQ291 +bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0VHJpZ2dlcmluZ0NvdW50 +IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1z +Q291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3JlYXRlU3Vic2NyaXB0 +aW9uQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZ5U3Vic2Ny +aXB0aW9uQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0UHVibGlz +aGluZ01vZGVDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNo +Q291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVwdWJsaXNoQ291bnQi +IHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNmZXJTdWJzY3JpcHRpb25z +Q291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlU3Vic2NyaXB0 +aW9uc0NvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZE5vZGVzQ291 +bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkUmVmZXJlbmNlc0NvdW50 +IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZU5vZGVzQ291bnQiIHR5 +cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlUmVmZXJlbmNlc0NvdW50IiB0 +eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZUNvdW50IiB0eXBlPSJ0bnM6 +U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZU5leHRDb3VudCIgdHlwZT0idG5zOlNlcnZp +Y2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2xhdGVCcm93c2VQYXRoc1RvTm9kZUlkc0NvdW50IiB0 +eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5Rmlyc3RDb3VudCIgdHlwZT0i +dG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeU5leHRDb3VudCIgdHlwZT0idG5zOlNl +cnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWdpc3Rlck5vZGVzQ291bnQiIHR5cGU9InRuczpTZXJ2 +aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iVW5yZWdpc3Rlck5vZGVzQ291bnQiIHR5cGU9InRuczpTZXJ2 +aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +IlNlc3Npb25EaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U2Vzc2lvbkRpYWdub3N0aWNz +RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlNlc3Npb25EaWFn +bm9zdGljc0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJTZXNzaW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgdHlwZT0idG5zOlNlc3Npb25EaWFnbm9z +dGljc0RhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTZXNzaW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgdHlwZT0i +dG5zOkxpc3RPZlNlc3Npb25EaWFnbm9zdGljc0RhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94 +czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXNzaW9uU2VjdXJpdHlEaWFn +bm9zdGljc0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJTZXNzaW9uSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVudFVzZXJJZE9mU2Vzc2lvbiIg +dHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50VXNlcklkSGlzdG9yeSIgdHlwZT0idWE6TGlzdE9mU3Ry +aW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iQXV0aGVudGljYXRpb25NZWNoYW5pc20iIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuY29kaW5n +IiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc3BvcnRQcm90b2NvbCIgdHlwZT0ieHM6c3RyaW5nIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +U2VjdXJpdHlNb2RlIiB0eXBlPSJ0bnM6TWVzc2FnZVNlY3VyaXR5TW9kZSIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlQb2xpY3lVcmkiIHR5cGU9Inhz +OnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IkNsaWVudENlcnRpZmljYXRlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj +b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvblNlY3VyaXR5RGlhZ25vc3Rp +Y3NEYXRhVHlwZSIgdHlwZT0idG5zOlNlc3Npb25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUi +IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlNlc3Npb25TZWN1cml0eURpYWdu +b3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlNlc3Npb25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTZXNzaW9u +U2VjdXJpdHlEaWFnbm9zdGljc0RhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5i +b3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTZXNzaW9uU2VjdXJpdHlEaWFn +bm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mU2Vzc2lvblNlY3VyaXR5RGlhZ25vc3Rp +Y3NEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iU2VydmljZUNvdW50ZXJEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVG90YWxDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQi +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVycm9yQ291bnQiIHR5 +cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmljZUNvdW50ZXJE +YXRhVHlwZSIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9IlN0YXR1c1Jlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm8iIHR5cGU9 +InVhOkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +IlN0YXR1c1Jlc3VsdCIgdHlwZT0idG5zOlN0YXR1c1Jlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iTGlzdE9mU3RhdHVzUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNSZXN1bHQiIHR5cGU9InRuczpTdGF0dXNSZXN1bHQi +IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h +bWU9Ikxpc3RPZlN0YXR1c1Jlc3VsdCIgdHlwZT0idG5zOkxpc3RPZlN0YXR1c1Jlc3VsdCIgbmls +bGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU3Vi +c2NyaXB0aW9uRGlhZ25vc3RpY3NEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbklkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRp +b25JZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlByaW9yaXR5IiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0i +MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hpbmdJbnRlcnZhbCIgdHlwZT0i +eHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhL +ZWVwQWxpdmVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9Ik1heExpZmV0aW1lQ291bnQiIHR5cGU9InhzOnVuc2lnbmVk +SW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhOb3RpZmlj +YXRpb25zUGVyUHVibGlzaCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hpbmdFbmFibGVkIiB0eXBlPSJ4czpib29s +ZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZnlDb3Vu +dCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IkVuYWJsZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzYWJsZUNvdW50IiB0eXBlPSJ4czp1bnNp +Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVwdWJs +aXNoUmVxdWVzdENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVwdWJsaXNoTWVzc2FnZVJlcXVlc3RDb3VudCIgdHlw +ZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlJlcHVibGlzaE1lc3NhZ2VDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vy +cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zZmVyUmVxdWVzdENvdW50IiB0 +eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iVHJhbnNmZXJyZWRUb0FsdENsaWVudENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNmZXJyZWRUb1Nh +bWVDbGllbnRDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hSZXF1ZXN0Q291bnQiIHR5cGU9InhzOnVuc2ln +bmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhQ2hh +bmdlTm90aWZpY2F0aW9uc0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnROb3RpZmljYXRpb25zQ291bnQiIHR5 +cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJOb3RpZmljYXRpb25zQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9 +IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXRlUHVibGlzaFJlcXVlc3RDb3VudCIg +dHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkN1cnJlbnRLZWVwQWxpdmVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9j +Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkN1cnJlbnRMaWZldGltZUNvdW50 +IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iVW5hY2tub3dsZWRnZWRNZXNzYWdlQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjYXJkZWRNZXNz +YWdlQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNhYmxlZE1vbml0 +b3JlZEl0ZW1Db3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JpbmdRdWV1ZU92ZXJmbG93Q291bnQiIHR5cGU9 +InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJOZXh0U2VxdWVuY2VOdW1iZXIiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudFF1ZXVlT3ZlckZsb3dDb3VudCIgdHlw +ZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25EaWFn +bm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U3Vic2NyaXB0aW9uRGlhZ25vc3RpY3NEYXRhVHlw +ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU3Vic2NyaXB0aW9uRGlhZ25v +c3RpY3NEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iU3Vic2NyaXB0aW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgdHlwZT0idG5zOlN1YnNjcmlwdGlv +bkRpYWdub3N0aWNzRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlN1YnNjcmlwdGlvbkRpYWdub3N0aWNzRGF0 +YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZTdWJzY3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIiBu +aWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJN +b2RlbENoYW5nZVN0cnVjdHVyZVZlcmJNYXNrIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0i +eHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9kZUFkZGVkXzEiIC8+ +DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vZGVEZWxldGVkXzIiIC8+DQogICAgICA8 +eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlZmVyZW5jZUFkZGVkXzQiIC8+DQogICAgICA8eHM6ZW51 +bWVyYXRpb24gdmFsdWU9IlJlZmVyZW5jZURlbGV0ZWRfOCIgLz4NCiAgICAgIDx4czplbnVtZXJh +dGlvbiB2YWx1ZT0iRGF0YVR5cGVDaGFuZ2VkXzE2IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+ +DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kZWxDaGFuZ2VTdHJ1 +Y3R1cmVWZXJiTWFzayIgdHlwZT0idG5zOk1vZGVsQ2hhbmdlU3RydWN0dXJlVmVyYk1hc2siIC8+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1vZGVsQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUi +Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFmZmVjdGVkIiB0 +eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJBZmZlY3RlZFR5cGUiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZlcmIiIHR5 +cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1vZGVsQ2hhbmdlU3Ry +dWN0dXJlRGF0YVR5cGUiIHR5cGU9InRuczpNb2RlbENoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiAv +Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb2RlbENoYW5nZVN0cnVjdHVyZURh +dGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb2Rl +bENoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiB0eXBlPSJ0bnM6TW9kZWxDaGFuZ2VTdHJ1Y3R1cmVE +YXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iTGlzdE9mTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgdHlwZT0idG5z +Okxpc3RPZk1vZGVsQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hz +OmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlbWFudGljQ2hhbmdlU3RydWN0 +dXJlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkFmZmVjdGVkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZmZlY3RlZFR5cGUiIHR5cGU9InVhOk5vZGVJ +ZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZW1hbnRpY0NoYW5nZVN0 +cnVjdHVyZURhdGFUeXBlIiB0eXBlPSJ0bnM6U2VtYW50aWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlw +ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU2VtYW50aWNDaGFuZ2VTdHJ1 +Y3R1cmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iU2VtYW50aWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgdHlwZT0idG5zOlNlbWFudGljQ2hh +bmdlU3RydWN0dXJlRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlNlbWFudGljQ2hhbmdlU3RydWN0dXJlRGF0 +YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZTZW1hbnRpY0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiBu +aWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJS +YW5nZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG93IiB0 +eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkhpZ2giIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVu +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJhbmdlIiB0eXBl +PSJ0bnM6UmFuZ2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVVSW5mb3JtYXRpb24i +Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5hbWVzcGFjZVVy +aSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iVW5pdElkIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc3BsYXlOYW1lIiB0eXBlPSJ1YTpMb2NhbGl6 +ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iRGVzY3JpcHRpb24iIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRVVJbmZvcm1hdGlvbiIgdHlwZT0idG5zOkVVSW5m +b3JtYXRpb24iIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkF4aXNTY2FsZUVudW1lcmF0 +aW9uIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czpl +bnVtZXJhdGlvbiB2YWx1ZT0iTGluZWFyXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs +dWU9IkxvZ18xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJMbl8yIiAvPg0KICAg +IDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iQXhpc1NjYWxlRW51bWVyYXRpb24iIHR5cGU9InRuczpBeGlzU2NhbGVFbnVtZXJhdGlvbiIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ29tcGxleE51bWJlclR5cGUiPg0KICAgIDx4 +czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlYWwiIHR5cGU9InhzOmZsb2F0 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbWFnaW5hcnkiIHR5 +cGU9InhzOmZsb2F0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ29tcGxleE51bWJlclR5cGUiIHR5 +cGU9InRuczpDb21wbGV4TnVtYmVyVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i +RG91YmxlQ29tcGxleE51bWJlclR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlJlYWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iSW1hZ2luYXJ5IiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vy +cz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJEb3VibGVDb21wbGV4TnVtYmVyVHlwZSIgdHlwZT0idG5zOkRvdWJsZUNv +bXBsZXhOdW1iZXJUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBeGlzSW5mb3Jt +YXRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZ2lu +ZWVyaW5nVW5pdHMiIHR5cGU9InRuczpFVUluZm9ybWF0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRVVSYW5nZSIgdHlwZT0idG5z +OlJhbmdlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iVGl0bGUiIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBeGlzU2NhbGVUeXBlIiB0 +eXBlPSJ0bnM6QXhpc1NjYWxlRW51bWVyYXRpb24iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IkF4aXNTdGVwcyIgdHlwZT0idWE6TGlzdE9mRG91YmxlIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkF4aXNJbmZvcm1hdGlvbiIgdHlwZT0idG5z +OkF4aXNJbmZvcm1hdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iWFZUeXBlIj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJYIiB0eXBlPSJ4czpk +b3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlIiB0 +eXBlPSJ4czpmbG9hdCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv +eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlhWVHlwZSIgdHlwZT0idG5zOlhW +VHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUHJvZ3JhbURpYWdub3N0aWNEYXRh +VHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3JlYXRl +U2Vzc2lvbklkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVDbGllbnROYW1lIiB0eXBlPSJ4czpz +dHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJJbnZvY2F0aW9uQ3JlYXRpb25UaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdFRyYW5zaXRpb25UaW1lIiB0 +eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iTGFzdE1ldGhvZENhbGwiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxhc3RNZXRob2RTZXNzaW9uSWQi +IHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9Ikxhc3RNZXRob2RJbnB1dEFyZ3VtZW50cyIgdHlwZT0idG5zOkxp +c3RPZkFyZ3VtZW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iTGFzdE1ldGhvZE91dHB1dEFyZ3VtZW50cyIgdHlwZT0idG5zOkxpc3RP +ZkFyZ3VtZW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iTGFzdE1ldGhvZENhbGxUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1ldGhvZFJldHVyblN0YXR1 +cyIgdHlwZT0idG5zOlN0YXR1c1Jlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJQcm9ncmFtRGlhZ25vc3RpY0RhdGFUeXBlIiB0eXBlPSJ0bnM6UHJvZ3JhbURpYWdu +b3N0aWNEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUHJvZ3JhbURpYWdu +b3N0aWMyRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IkNyZWF0ZVNlc3Npb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3JlYXRlQ2xpZW50TmFtZSIg +dHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iSW52b2NhdGlvbkNyZWF0aW9uVGltZSIgdHlwZT0ieHM6ZGF0ZVRp +bWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxhc3RUcmFuc2l0 +aW9uVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9Ikxhc3RNZXRob2RDYWxsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9k +U2Vzc2lvbklkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kSW5wdXRBcmd1bWVudHMiIHR5 +cGU9InRuczpMaXN0T2ZBcmd1bWVudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxhc3RNZXRob2RPdXRwdXRBcmd1bWVudHMiIHR5cGU9 +InRuczpMaXN0T2ZBcmd1bWVudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9Ikxhc3RNZXRob2RJbnB1dFZhbHVlcyIgdHlwZT0idWE6TGlz +dE9mVmFyaWFudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9Ikxhc3RNZXRob2RPdXRwdXRWYWx1ZXMiIHR5cGU9InVhOkxpc3RPZlZhcmlh +bnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJMYXN0TWV0aG9kQ2FsbFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kUmV0dXJuU3RhdHVzIiB0eXBl +PSJ0bnM6U3RhdHVzUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +IlByb2dyYW1EaWFnbm9zdGljMkRhdGFUeXBlIiB0eXBlPSJ0bnM6UHJvZ3JhbURpYWdub3N0aWMy +RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFubm90YXRpb24iPg0KICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1lc3NhZ2UiIHR5cGU9Inhz +OnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlVzZXJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBbm5vdGF0aW9uVGltZSIgdHlw +ZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBbm5vdGF0aW9uIiB0eXBlPSJ0 +bnM6QW5ub3RhdGlvbiIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iRXhjZXB0aW9uRGV2 +aWF0aW9uRm9ybWF0Ij4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAg +ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQWJzb2x1dGVWYWx1ZV8wIiAvPg0KICAgICAgPHhz +OmVudW1lcmF0aW9uIHZhbHVlPSJQZXJjZW50T2ZWYWx1ZV8xIiAvPg0KICAgICAgPHhzOmVudW1l +cmF0aW9uIHZhbHVlPSJQZXJjZW50T2ZSYW5nZV8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u +IHZhbHVlPSJQZXJjZW50T2ZFVVJhbmdlXzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs +dWU9IlVua25vd25fNCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkV4Y2VwdGlvbkRldmlhdGlvbkZvcm1hdCIgdHlwZT0i +dG5zOkV4Y2VwdGlvbkRldmlhdGlvbkZvcm1hdCIgLz4NCg0KPC94czpzY2hlbWE+ + + + + NamespaceUri + A URI that uniquely identifies the dictionary. + + i=68 + i=8252 + + + http://opcfoundation.org/UA/2008/02/Types.xsd + + + + Deprecated + Indicates that all of the definitions for the dictionary are available through a DataTypeDefinition Attribute. + + i=68 + i=8252 + + + true + + + + KeyValuePair + + i=69 + i=8252 + + + //xs:element[@name='KeyValuePair'] + + + + EndpointType + + i=69 + i=8252 + + + //xs:element[@name='EndpointType'] + + + + IdentityMappingRuleType + + i=69 + i=8252 + + + //xs:element[@name='IdentityMappingRuleType'] + + + + 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'] - - NamespaceUri - A URI that uniquely identifies the dictionary. + + BrokerConnectionTransportDataType - i=68 - i=7617 + i=69 + i=8252 - http://opcfoundation.org/UA/ + //xs:element[@name='BrokerConnectionTransportDataType'] - - TrustListDataType + + BrokerWriterGroupTransportDataType i=69 - i=7617 + i=8252 - TrustListDataType + //xs:element[@name='BrokerWriterGroupTransportDataType'] - + + BrokerDataSetWriterTransportDataType + + i=69 + i=8252 + + + //xs:element[@name='BrokerDataSetWriterTransportDataType'] + + + + BrokerDataSetReaderTransportDataType + + i=69 + i=8252 + + + //xs:element[@name='BrokerDataSetReaderTransportDataType'] + + + + 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=7617 + i=8252 - Argument + //xs:element[@name='Argument'] - + EnumValueType i=69 - i=7617 + i=8252 - EnumValueType + //xs:element[@name='EnumValueType'] - + + EnumField + + i=69 + i=8252 + + + //xs:element[@name='EnumField'] + + + OptionSet i=69 - i=7617 + i=8252 - OptionSet + //xs:element[@name='OptionSet'] - + Union i=69 - i=7617 + i=8252 - Union + //xs:element[@name='Union'] - + TimeZoneDataType i=69 - i=7617 + i=8252 - TimeZoneDataType + //xs:element[@name='TimeZoneDataType'] - + ApplicationDescription i=69 - i=7617 + i=8252 - ApplicationDescription + //xs:element[@name='ApplicationDescription'] - + ServerOnNetwork i=69 - i=7617 + i=8252 - ServerOnNetwork + //xs:element[@name='ServerOnNetwork'] - + UserTokenPolicy i=69 - i=7617 + i=8252 - UserTokenPolicy + //xs:element[@name='UserTokenPolicy'] - + EndpointDescription i=69 - i=7617 + i=8252 - EndpointDescription + //xs:element[@name='EndpointDescription'] - + RegisteredServer i=69 - i=7617 + i=8252 - RegisteredServer + //xs:element[@name='RegisteredServer'] - + DiscoveryConfiguration i=69 - i=7617 + i=8252 - DiscoveryConfiguration + //xs:element[@name='DiscoveryConfiguration'] - + MdnsDiscoveryConfiguration i=69 - i=7617 + i=8252 - MdnsDiscoveryConfiguration + //xs:element[@name='MdnsDiscoveryConfiguration'] - + SignedSoftwareCertificate i=69 - i=7617 + i=8252 - SignedSoftwareCertificate + //xs:element[@name='SignedSoftwareCertificate'] - + UserIdentityToken i=69 - i=7617 + i=8252 - UserIdentityToken + //xs:element[@name='UserIdentityToken'] - + AnonymousIdentityToken i=69 - i=7617 + i=8252 - AnonymousIdentityToken + //xs:element[@name='AnonymousIdentityToken'] - + UserNameIdentityToken i=69 - i=7617 + i=8252 - UserNameIdentityToken + //xs:element[@name='UserNameIdentityToken'] - + X509IdentityToken i=69 - i=7617 + i=8252 - X509IdentityToken + //xs:element[@name='X509IdentityToken'] - + IssuedIdentityToken i=69 - i=7617 + i=8252 - IssuedIdentityToken + //xs:element[@name='IssuedIdentityToken'] - + AddNodesItem i=69 - i=7617 + i=8252 - AddNodesItem + //xs:element[@name='AddNodesItem'] - + AddReferencesItem i=69 - i=7617 + i=8252 - AddReferencesItem + //xs:element[@name='AddReferencesItem'] - + DeleteNodesItem i=69 - i=7617 + i=8252 - DeleteNodesItem + //xs:element[@name='DeleteNodesItem'] - + DeleteReferencesItem i=69 - i=7617 + i=8252 - DeleteReferencesItem + //xs:element[@name='DeleteReferencesItem'] - + RelativePathElement i=69 - i=7617 + i=8252 - RelativePathElement + //xs:element[@name='RelativePathElement'] - + RelativePath i=69 - i=7617 + i=8252 - RelativePath + //xs:element[@name='RelativePath'] - + EndpointConfiguration i=69 - i=7617 + i=8252 - EndpointConfiguration + //xs:element[@name='EndpointConfiguration'] - + ContentFilterElement i=69 - i=7617 + i=8252 - ContentFilterElement + //xs:element[@name='ContentFilterElement'] - + ContentFilter i=69 - i=7617 + i=8252 - ContentFilter + //xs:element[@name='ContentFilter'] - + FilterOperand i=69 - i=7617 + i=8252 - FilterOperand + //xs:element[@name='FilterOperand'] - + ElementOperand i=69 - i=7617 + i=8252 - ElementOperand + //xs:element[@name='ElementOperand'] - + LiteralOperand i=69 - i=7617 + i=8252 - LiteralOperand + //xs:element[@name='LiteralOperand'] - + AttributeOperand i=69 - i=7617 + i=8252 - AttributeOperand + //xs:element[@name='AttributeOperand'] - + SimpleAttributeOperand i=69 - i=7617 + i=8252 - SimpleAttributeOperand + //xs:element[@name='SimpleAttributeOperand'] - + HistoryEvent i=69 - i=7617 + i=8252 - HistoryEvent + //xs:element[@name='HistoryEvent'] - + MonitoringFilter i=69 - i=7617 + i=8252 - MonitoringFilter + //xs:element[@name='MonitoringFilter'] - + EventFilter i=69 - i=7617 + i=8252 - EventFilter + //xs:element[@name='EventFilter'] - + AggregateConfiguration i=69 - i=7617 + i=8252 - AggregateConfiguration + //xs:element[@name='AggregateConfiguration'] - + HistoryEventFieldList i=69 - i=7617 + i=8252 - HistoryEventFieldList + //xs:element[@name='HistoryEventFieldList'] - + BuildInfo i=69 - i=7617 + i=8252 - BuildInfo + //xs:element[@name='BuildInfo'] - + RedundantServerDataType i=69 - i=7617 + i=8252 - RedundantServerDataType + //xs:element[@name='RedundantServerDataType'] - + EndpointUrlListDataType i=69 - i=7617 + i=8252 - EndpointUrlListDataType + //xs:element[@name='EndpointUrlListDataType'] - + NetworkGroupDataType i=69 - i=7617 + i=8252 - NetworkGroupDataType + //xs:element[@name='NetworkGroupDataType'] - + SamplingIntervalDiagnosticsDataType i=69 - i=7617 + i=8252 - SamplingIntervalDiagnosticsDataType + //xs:element[@name='SamplingIntervalDiagnosticsDataType'] - + ServerDiagnosticsSummaryDataType i=69 - i=7617 + i=8252 - ServerDiagnosticsSummaryDataType + //xs:element[@name='ServerDiagnosticsSummaryDataType'] - + ServerStatusDataType i=69 - i=7617 + i=8252 - ServerStatusDataType + //xs:element[@name='ServerStatusDataType'] - + SessionDiagnosticsDataType i=69 - i=7617 + i=8252 - SessionDiagnosticsDataType + //xs:element[@name='SessionDiagnosticsDataType'] - + SessionSecurityDiagnosticsDataType i=69 - i=7617 + i=8252 - SessionSecurityDiagnosticsDataType + //xs:element[@name='SessionSecurityDiagnosticsDataType'] - + ServiceCounterDataType i=69 - i=7617 + i=8252 - ServiceCounterDataType + //xs:element[@name='ServiceCounterDataType'] - + StatusResult i=69 - i=7617 + i=8252 - StatusResult + //xs:element[@name='StatusResult'] - + SubscriptionDiagnosticsDataType i=69 - i=7617 + i=8252 - SubscriptionDiagnosticsDataType + //xs:element[@name='SubscriptionDiagnosticsDataType'] - + ModelChangeStructureDataType i=69 - i=7617 + i=8252 - ModelChangeStructureDataType + //xs:element[@name='ModelChangeStructureDataType'] - + SemanticChangeStructureDataType i=69 - i=7617 + i=8252 - SemanticChangeStructureDataType + //xs:element[@name='SemanticChangeStructureDataType'] - + Range i=69 - i=7617 + i=8252 - Range + //xs:element[@name='Range'] - + EUInformation i=69 - i=7617 + i=8252 - EUInformation + //xs:element[@name='EUInformation'] - + ComplexNumberType i=69 - i=7617 + i=8252 - ComplexNumberType + //xs:element[@name='ComplexNumberType'] - + DoubleComplexNumberType i=69 - i=7617 + i=8252 - DoubleComplexNumberType + //xs:element[@name='DoubleComplexNumberType'] - + AxisInformation i=69 - i=7617 + i=8252 - AxisInformation + //xs:element[@name='AxisInformation'] - + XVType i=69 - i=7617 + i=8252 - XVType + //xs:element[@name='XVType'] - + ProgramDiagnosticDataType i=69 - i=7617 + i=8252 - ProgramDiagnosticDataType + //xs:element[@name='ProgramDiagnosticDataType'] - + + ProgramDiagnostic2DataType + + i=69 + i=8252 + + + //xs:element[@name='ProgramDiagnostic2DataType'] + + + Annotation i=69 - i=7617 + i=8252 - Annotation + //xs:element[@name='Annotation'] + + Default JSON + + i=14533 + i=76 + + + + Default JSON + + i=15528 + i=76 + + + + Default JSON + + i=15634 + 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 + + diff --git a/schemas/Opc.Ua.NodeSet2.Part9.xml b/schemas/Opc.Ua.NodeSet2.Part9.xml index c441cc98e..c3c7b1089 100644 --- a/schemas/Opc.Ua.NodeSet2.Part9.xml +++ b/schemas/Opc.Ua.NodeSet2.Part9.xml @@ -28,9 +28,9 @@ * http://opcfoundation.org/License/MIT/1.00/ --> - + - + i=1 @@ -149,11 +149,27 @@ IsFalseSubStateOf + + HasAlarmSuppressionGroup + + i=47 + + IsAlarmSuppressionGroupOf + + + AlarmGroupMember + + i=35 + + MemberOfAlarmGroup + ConditionType i=11112 i=11113 + i=16363 + i=16364 i=9009 i=9010 i=3874 @@ -186,6 +202,22 @@ i=2782 + + ConditionSubClassId + + i=68 + i=80 + i=2782 + + + + ConditionSubClassName + + i=68 + i=80 + i=2782 + + ConditionName @@ -217,6 +249,8 @@ i=9015 i=9016 i=9017 + i=9018 + i=9019 i=8995 i=78 i=2782 @@ -254,6 +288,34 @@ i=9011 + + TrueState + + i=68 + i=80 + i=9011 + + + + en + Enabled + + + + + FalseState + + i=68 + i=80 + i=9011 + + + + en + Disabled + + + Quality @@ -530,6 +592,8 @@ i=9056 i=9060 + i=9062 + i=9063 i=9035 i=8995 i=78 @@ -552,6 +616,34 @@ i=9055 + + TrueState + + i=68 + i=80 + i=9055 + + + + en + Active + + + + + FalseState + + i=68 + i=80 + i=9055 + + + + en + Inactive + + + Prompt @@ -676,6 +768,8 @@ i=9094 i=9098 + i=9100 + i=9101 i=9073 i=8995 i=78 @@ -698,11 +792,41 @@ 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 @@ -725,6 +849,34 @@ i=9102 + + TrueState + + i=68 + i=80 + i=9102 + + + + en + Confirmed + + + + + FalseState + + i=68 + i=80 + i=9102 + + + + en + Unconfirmed + + + Acknowledge @@ -854,9 +1006,27 @@ 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 @@ -887,6 +1057,8 @@ i=9164 i=9165 i=9166 + i=9167 + i=9168 i=9118 i=8995 i=78 @@ -925,6 +1097,34 @@ i=9160 + + TrueState + + i=68 + i=80 + i=9160 + + + + en + Active + + + + + FalseState + + i=68 + i=80 + i=9160 + + + + en + Inactive + + + InputNode @@ -938,6 +1138,8 @@ i=9170 i=9174 + i=9176 + i=9177 i=9118 i=8995 i=80 @@ -960,15 +1162,99 @@ 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=9213 i=9118 i=2929 i=80 @@ -1026,22 +1312,6 @@ i=9178 - - Unshelve - - i=11093 - i=78 - i=9178 - - - - OneShotShelve - - i=11093 - i=78 - i=9178 - - TimedShelve @@ -1083,6 +1353,22 @@ + + Unshelve + + i=11093 + i=78 + i=9178 + + + + OneShotShelve + + i=11093 + i=78 + i=9178 + + SuppressedOrShelved @@ -1099,67 +1385,726 @@ i=2915 - - ShelvedStateMachineType + + AudibleEnabled - i=9115 - i=2930 - i=2932 - i=2933 - i=2935 - i=2936 - i=2940 - i=2942 - i=2943 - i=2945 - i=2947 - i=2948 - i=2949 - i=2771 + i=68 + i=80 + i=2915 - - - UnshelveTime + + + AudibleSound - i=68 - i=78 - i=2929 + i=17986 + i=80 + i=2915 - - Unshelved + + SilenceState - i=6098 - i=2935 - i=2936 - i=2940 - i=2943 - i=2307 - i=2929 + i=16381 + i=16385 + i=16387 + i=16388 + i=8995 + i=80 + i=2915 - - - StateNumber + + + Id i=68 i=78 - i=2930 + i=16380 - - TimedShelved + + TransitionTime - i=6100 - i=2935 - i=2940 - i=2942 - i=2945 - i=2307 - i=2929 + i=68 + i=80 + i=16380 - - - StateNumber + + + 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=68 + 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=68 + i=80 + i=2915 + + + + Silence + + i=17242 + i=80 + i=2915 + + + + Suppress + + i=17225 + i=80 + i=2915 + + + + Unsuppress + + i=17225 + i=80 + i=2915 + + + + RemoveFromService + + i=17259 + i=80 + i=2915 + + + + PlaceInService + + i=17259 + i=80 + i=2915 + + + + Reset + + i=17259 + i=80 + i=2915 + + + + AlarmGroupType + + i=16406 + i=61 + + + + <AlarmConditionInstance> + + i=16407 + i=16408 + i=16409 + i=16410 + i=16411 + i=16412 + i=16413 + 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 + A globally unique identifier for the event. + + i=68 + i=78 + i=16406 + + + + EventType + The identifier for the event type. + + i=68 + i=78 + i=16406 + + + + SourceNode + The source of the event. + + i=68 + i=78 + i=16406 + + + + SourceName + A description of the source of the event. + + i=68 + i=78 + i=16406 + + + + Time + When the event occurred. + + i=68 + i=78 + i=16406 + + + + ReceiveTime + When the server received the event from the underlying system. + + i=68 + i=78 + i=16406 + + + + LocalTime + Information about the local time where the event originated. + + i=68 + i=78 + i=16406 + + + + Message + A localized description of the event. + + i=68 + i=78 + i=16406 + + + + Severity + Indicates how urgent an event is. + + 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 + + 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 + + + + Timed Shelved + + i=6100 + i=2935 + i=2940 + i=2942 + i=2945 + i=2307 + i=2929 + + + + StateNumber i=68 i=78 @@ -1167,7 +2112,7 @@ - OneShotShelved + One Shot Shelved i=6101 i=2936 @@ -1306,26 +2251,6 @@ i=2945 - - Unshelve - - i=2940 - i=2943 - i=11093 - i=78 - i=2929 - - - - OneShotShelve - - i=2936 - i=2942 - i=11093 - i=78 - i=2929 - - TimedShelve @@ -1369,6 +2294,26 @@ + + Unshelve + + i=2940 + i=2943 + i=11093 + i=78 + i=2929 + + + + OneShotShelve + + i=2936 + i=2942 + i=11093 + i=78 + i=2929 + + LimitAlarmType @@ -1376,6 +2321,10 @@ i=11125 i=11126 i=11127 + i=16572 + i=16573 + i=16574 + i=16575 i=2915 @@ -1411,6 +2360,38 @@ 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 @@ -1686,33 +2667,65 @@ i=10021 i=10025 + i=10027 + i=10028 i=9963 i=8995 i=80 - i=9906 + i=9906 + + + + Id + + i=68 + i=78 + i=10020 + + + + TransitionTime + + i=68 + i=80 + i=10020 - - Id + + TrueState i=68 - i=78 + i=80 i=10020 + + + en + HighHigh active + + - - TransitionTime + + 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 @@ -1735,11 +2748,41 @@ 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 @@ -1762,11 +2805,41 @@ 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 @@ -1789,6 +2862,34 @@ i=10047 + + TrueState + + i=68 + i=80 + i=10047 + + + + en + LowLow active + + + + + FalseState + + i=68 + i=80 + i=10047 + + + + en + LowLow inactive + + + NonExclusiveLevelAlarmType @@ -1805,6 +2906,7 @@ NonExclusiveDeviationAlarmType i=10522 + i=16776 i=9906 @@ -1816,10 +2918,34 @@ i=10368 + + BaseSetpointNode + + i=68 + i=80 + i=10368 + + + + NonExclusiveRateOfChangeAlarmType + + i=16858 + i=9906 + + + + EngineeringUnits + + i=68 + i=80 + i=10214 + + ExclusiveDeviationAlarmType i=9905 + i=16817 i=9341 @@ -1831,18 +2957,29 @@ i=9764 - - NonExclusiveRateOfChangeAlarmType + + BaseSetpointNode - i=9906 + i=68 + i=80 + i=9764 - + ExclusiveRateOfChangeAlarmType + i=16899 i=9341 + + EngineeringUnits + + i=68 + i=80 + i=9623 + + DiscreteAlarmType @@ -1870,6 +3007,24 @@ i=10637 + + TripAlarmType + + i=10637 + + + + InstrumentDiagnosticAlarmType + + i=10637 + + + + SystemDiagnosticAlarmType + + i=10637 + + CertificateExpirationAlarmType @@ -1912,36 +3067,93 @@ i=13225 - - TripAlarmType + + DiscrepancyAlarmType - i=10637 + 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 i=58 - + ProcessConditionClassType i=11163 - + MaintenanceConditionClassType i=11163 - + SystemConditionClassType i=11163 + + SafetyConditionClassType + + i=11163 + + + + HighlyManagedAlarmConditionClassType + + i=11163 + + + + TrainingConditionClassType + + i=11163 + + + + StatisticalConditionClassType + + i=11163 + + + + TestingConditionClassType + + i=11163 + + AuditConditionEventType @@ -1957,14 +3169,13 @@ AuditConditionCommentEventType - i=4170 + i=17222 i=11851 i=2790 - - EventId - A globally unique identifier for the event. + + ConditionEventId i=68 i=78 @@ -1997,14 +3208,13 @@ AuditConditionAcknowledgeEventType - i=8945 + i=17223 i=11853 i=2790 - - EventId - A globally unique identifier for the event. + + ConditionEventId i=68 i=78 @@ -2022,14 +3232,13 @@ AuditConditionConfirmEventType - i=8962 + i=17224 i=11854 i=2790 - - EventId - A globally unique identifier for the event. + + ConditionEventId i=68 i=78 @@ -2059,19 +3268,43 @@ i=11093 - + + AuditConditionSuppressEventType + + i=2790 + + + + AuditConditionSilenceEventType + + i=2790 + + + + AuditConditionResetEventType + + i=2790 + + + + AuditConditionOutOfServiceEventType + + i=2790 + + + RefreshStartEventType i=2130 - + RefreshEndEventType i=2130 - + RefreshRequiredEventType i=2130 @@ -2084,4 +3317,160 @@ IsConditionOf + + HasEffectDisable + + i=54 + + MayBeDisabledBy + + + HasEffectEnable + + i=54 + + MayBeEnabledBy + + + HasEffectSuppressed + + i=54 + + MayBeSuppressedBy + + + HasEffectUnsuppressed + + i=54 + + MayBeUnsuppressedBy + + + AlarmMetricsType + + i=17280 + i=17991 + i=17281 + i=17282 + i=17284 + i=17286 + i=17283 + i=17288 + i=18666 + i=58 + + + + AlarmCount + + i=68 + i=78 + i=17279 + + + + StartTime + + i=68 + i=78 + i=17279 + + + + MaximumActiveState + + i=68 + i=78 + i=17279 + + + + MaximumUnAck + + i=68 + 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=68 + i=78 + i=17279 + + + + AverageAlarmRate + + i=17289 + i=17277 + i=78 + i=17279 + + + + Rate + + i=68 + i=78 + i=17288 + + + + Reset + + i=78 + i=17279 + + + + AlarmRateVariableType + + i=17278 + i=63 + + + + Rate + + i=68 + i=78 + i=17277 + + diff --git a/schemas/Opc.Ua.NodeSet2.xml b/schemas/Opc.Ua.NodeSet2.xml index 3759d1b74..ce8ef45fe 100644 --- a/schemas/Opc.Ua.NodeSet2.xml +++ b/schemas/Opc.Ua.NodeSet2.xml @@ -28,9 +28,9 @@ * http://opcfoundation.org/License/MIT/1.00/ --> - + - + i=1 @@ -284,16 +284,16 @@ i=24 - + Image Describes a value that is an image encoded as a string of bytes. i=15 - - Decimal128 - Describes a 128-bit decimal value. + + Decimal + Describes an arbitrary precision decimal value. i=26 @@ -319,7 +319,7 @@ HierarchicalReferences - + HasChild The abstract base type for all non-looping hierarchical references. @@ -381,7 +381,7 @@ i=32 - GeneratesEvent + GeneratedBy AlwaysGeneratesEvent @@ -389,9 +389,9 @@ i=41 - AlwaysGeneratesEvent + AlwaysGeneratedBy - + Aggregates The type for non-looping hierarchical references that are used to aggregate nodes into complex types. @@ -551,6 +551,7 @@ i=106 i=107 + i=15001 i=63 @@ -572,6 +573,15 @@ i=72 + + Deprecated + Indicates that all of the definitions for the dictionary are available through a DataTypeDefinition Attribute. + + i=68 + i=80 + i=72 + + DataTypeSystemType @@ -892,6 +902,126 @@ i=75 + + 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 + The URI of the namespace. + + i=68 + i=15957 + + + http://opcfoundation.org/UA/ + + + + NamespaceVersion + The human readable string representing version of the namespace. + + i=68 + i=15957 + + + 1.04 + + + + NamespacePublicationDate + The publication date for the namespace. + + i=68 + i=15957 + + + 2017-11-22 + + + + IsNamespaceSubset + If TRUE then the server only supports a subset of the namespace. + + i=68 + i=15957 + + + false + + + + StaticNodeIdTypes + A list of IdTypes for nodes which are the same in every server that exposes them. + + i=68 + i=15957 + + + + 0 + + + + + StaticNumericNodeIdRange + A list of ranges for numeric node ids which are the same in every server that exposes them. + + i=68 + i=15957 + + + + 1:65535 + + + + + StaticStringNodeIdPattern + A regular expression which matches string node ids are the same in every server that exposes them. + + i=68 + i=15957 + + + + + + + + DefaultRolePermissions + + i=68 + i=15957 + + + + DefaultUserRolePermissions + + i=68 + i=15957 + + + + DefaultAccessRestrictions + + i=68 + i=15957 + + NodeVersion The version number of the node (used to indicate changes to references of the owning node). @@ -936,7 +1066,14 @@ MaxStringLength - The maximum length for a string that can be stored in the owning variable. + The maximum number of bytes supported by the DataVariable. + + i=68 + + + + MaxCharacters + The maximum number of Unicode characters supported by the DataVariable. i=68 @@ -997,6 +1134,13 @@ i=68 + + DefaultInputValues + Specifies the default values for optional input arguments. + + i=68 + + ImageBMP An image encoded in BMP format. @@ -1025,16 +1169,25 @@ i=30 + + AudioDataType + An image encoded in PNG format. + + i=15 + + ServerType Specifies the current status and capabilities of the server. i=2005 i=2006 + i=15003 i=2007 i=2008 i=2742 i=12882 + i=17612 i=2009 i=2010 i=2011 @@ -1065,6 +1218,15 @@ i=2004 + + UrisVersion + Defines the version of the ServerArray and the NamespaceArray. + + i=68 + i=80 + i=2004 + + ServerStatus The current status of the server. @@ -1209,6 +1371,15 @@ i=2004 + + LocalTime + Indicates the time zone the Server is is running in. + + i=68 + i=80 + i=2004 + + ServerCapabilities Describes capabilities supported by the server. @@ -1476,7 +1647,7 @@ i=3111 - + EnabledFlag If TRUE the diagnostics collection is enabled. @@ -1838,6 +2009,7 @@ i=2019 i=2754 i=11562 + i=16295 i=58 @@ -1966,6 +2138,134 @@ i=2013 + + Roles + Describes the roles supported by the server. + + 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 The diagnostics information for a server. @@ -2142,7 +2442,7 @@ i=2744 - + EnabledFlag If TRUE the diagnostics collection is enabled. @@ -3814,45 +4114,173 @@ - - FileDirectoryType + + AddressSpaceFileType + A file used to store a namespace exported from the server. - i=13354 - i=13366 - i=13387 - i=13390 - i=13393 - i=13395 - i=61 + i=11615 + i=11575 - - <FileDirectoryName> + + ExportNamespace + Updates the file by exporting the server namespace. - i=13355 - i=13358 - i=13361 - i=13363 - i=13353 - i=11508 - i=13353 + i=80 + i=11595 + + + + NamespaceMetadataType + Provides the metadata for a namespace used by the server. + + 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 + The URI of the namespace. + + i=68 + i=78 + i=11616 + + + + NamespaceVersion + The human readable string representing version of the namespace. + + i=68 + i=78 + i=11616 + + + + NamespacePublicationDate + The publication date for the namespace. + + i=68 + i=78 + i=11616 + + + + IsNamespaceSubset + If TRUE then the server only supports a subset of the namespace. + + i=68 + i=78 + i=11616 + + + + StaticNodeIdTypes + A list of IdTypes for nodes which are the same in every server that exposes them. + + i=68 + i=78 + i=11616 + + + + StaticNumericNodeIdRange + A list of ranges for numeric node ids which are the same in every server that exposes them. + + i=68 + i=78 + i=11616 + + + + StaticStringNodeIdPattern + A regular expression which matches string node ids are the same in every server that exposes them. + + i=68 + i=78 + i=11616 + + + + NamespaceFile + A file containing the nodes of the namespace. + + 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 - - CreateDirectory + + Size + The size of the file in bytes. - i=13356 - i=13357 + i=68 i=78 - i=13354 + i=11624 + + + + Writable + Whether the file is writable. + + i=68 + i=78 + i=11624 + + + + UserWritable + Whether the file is writable by the current user. + + i=68 + i=78 + i=11624 + + + + OpenCount + The current number of open file handles. + + i=68 + i=78 + i=11624 + + + + Open + + i=11630 + i=11631 + i=78 + i=11624 - + InputArguments i=68 i=78 - i=13355 + i=11629 @@ -3862,9 +4290,9 @@ - DirectoryName + Mode - i=12 + i=3 -1 @@ -3875,12 +4303,12 @@ - + OutputArguments i=68 i=78 - i=13355 + i=11629 @@ -3890,9 +4318,9 @@ - DirectoryNodeId + FileHandle - i=17 + i=7 -1 @@ -3903,21 +4331,20 @@ - - CreateFile + + Close - i=13359 - i=13360 + i=11633 i=78 - i=13354 + i=11624 - + InputArguments i=68 i=78 - i=13358 + i=11632 @@ -3927,25 +4354,9 @@ - FileName - - i=12 - - -1 - - - - - - - - i=297 - - - - RequestFileOpen + FileHandle - i=1 + i=7 -1 @@ -3956,12 +4367,21 @@ - - OutputArguments + + Read + + i=11635 + i=11636 + i=78 + i=11624 + + + + InputArguments i=68 i=78 - i=13358 + i=11634 @@ -3971,9 +4391,9 @@ - FileNodeId + FileHandle - i=17 + i=7 -1 @@ -3987,9 +4407,9 @@ - FileHandle + Length - i=7 + i=6 -1 @@ -4000,20 +4420,12 @@ - - Delete - - i=13362 - i=78 - i=13354 - - - - InputArguments + + OutputArguments i=68 i=78 - i=13361 + i=11634 @@ -4023,9 +4435,9 @@ - ObjectToDelete + Data - i=17 + i=15 -1 @@ -4036,21 +4448,20 @@ - - MoveOrCopy + + Write - i=13364 - i=13365 + i=11638 i=78 - i=13354 + i=11624 - + InputArguments i=68 i=78 - i=13363 + i=11637 @@ -4060,9 +4471,9 @@ - ObjectToMoveOrCopy + FileHandle - i=17 + i=7 -1 @@ -4076,9 +4487,9 @@ - TargetDirectory + Data - i=17 + i=15 -1 @@ -4086,31 +4497,36 @@ + + + + + GetPosition + + i=11640 + i=11641 + i=78 + i=11624 + + + + InputArguments + + i=68 + i=78 + i=11639 + + + i=297 - CreateCopy + FileHandle - i=1 - - -1 - - - - - - - - i=297 - - - - NewName - - i=12 + i=7 -1 @@ -4121,12 +4537,12 @@ - + OutputArguments i=68 i=78 - i=13363 + i=11639 @@ -4136,9 +4552,9 @@ - NewNodeId + Position - i=17 + i=9 -1 @@ -4149,75 +4565,20 @@ - - <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 - The size of the file in bytes. - - i=68 - i=78 - i=13366 - - - - Writable - Whether the file is writable. - - i=68 - i=78 - i=13366 - - - - UserWritable - Whether the file is writable by the current user. - - i=68 - i=78 - i=13366 - - - - OpenCount - The current number of open file handles. - - i=68 - i=78 - i=13366 - - - - Open + + SetPosition - i=13373 - i=13374 + i=11643 i=78 - i=13366 + i=11624 - + InputArguments i=68 i=78 - i=13372 + i=11642 @@ -4227,9 +4588,9 @@ - Mode + FileHandle - i=3 + i=7 -1 @@ -4237,27 +4598,15 @@ - - - - - OutputArguments - - i=68 - i=78 - i=13372 - - - i=297 - FileHandle + Position - i=7 + i=9 -1 @@ -4268,5019 +4617,4539 @@ - - Close + + DefaultRolePermissions - i=13376 - i=78 - i=13366 + i=68 + i=80 + i=11616 - - - InputArguments + + + DefaultUserRolePermissions i=68 - i=78 - i=13375 + i=80 + i=11616 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - Read + + DefaultAccessRestrictions - i=13378 - i=13379 - i=78 - i=13366 + i=68 + i=80 + i=11616 - - - InputArguments + + + NamespacesType + A container for the namespace metadata provided by the server. + + 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 + The URI of the namespace. i=68 i=78 - i=13377 + i=11646 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Length - - i=6 - - -1 - - - - - - - - - OutputArguments + + NamespaceVersion + The human readable string representing version of the namespace. i=68 i=78 - i=13377 + i=11646 - - - - - i=297 - - - - Data - - i=15 - - -1 - - - - - - - - - Write + + NamespacePublicationDate + The publication date for the namespace. - i=13381 + i=68 i=78 - i=13366 + i=11646 - - - InputArguments + + + IsNamespaceSubset + If TRUE then the server only supports a subset of the namespace. i=68 i=78 - i=13380 + i=11646 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Data - - i=15 - - -1 - - - - - - - - - GetPosition + + StaticNodeIdTypes + A list of IdTypes for nodes which are the same in every server that exposes them. - i=13383 - i=13384 + i=68 i=78 - i=13366 + i=11646 - - - InputArguments + + + StaticNumericNodeIdRange + A list of ranges for numeric node ids which are the same in every server that exposes them. i=68 i=78 - i=13382 + i=11646 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - OutputArguments + + StaticStringNodeIdPattern + A regular expression which matches string node ids are the same in every server that exposes them. i=68 i=78 - i=13382 + i=11646 - - - - - i=297 - - - - Position - - i=9 - - -1 - - - - - - - - - SetPosition + + BaseEventType + The base type for all events. - i=13386 - i=78 - i=13366 + i=2042 + i=2043 + i=2044 + i=2045 + i=2046 + i=2047 + i=3190 + i=2050 + i=2051 + i=58 - - - InputArguments + + + EventId + A globally unique identifier for the event. i=68 i=78 - i=13385 + i=2041 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Position - - i=9 - - -1 - - - - - - - - - CreateDirectory + + EventType + The identifier for the event type. - i=13388 - i=13389 + i=68 i=78 - i=13353 + i=2041 - - - InputArguments + + + SourceNode + The source of the event. i=68 i=78 - i=13387 + i=2041 - - - - - i=297 - - - - DirectoryName - - i=12 - - -1 - - - - - - - - - OutputArguments + + SourceName + A description of the source of the event. i=68 i=78 - i=13387 + i=2041 - - - - - i=297 - - - - DirectoryNodeId - - i=17 - - -1 - - - - - - - - - CreateFile + + Time + When the event occurred. - i=13391 - i=13392 + i=68 i=78 - i=13353 + i=2041 - - - InputArguments + + + ReceiveTime + When the server received the event from the underlying system. i=68 i=78 - i=13390 + i=2041 - - - - - i=297 - - - - FileName - - i=12 - - -1 - - - - - - - - i=297 - - - - RequestFileOpen - - i=1 - - -1 - - - - - - - - - OutputArguments + + LocalTime + Information about the local time where the event originated. i=68 i=78 - i=13390 + i=2041 - - - - - i=297 - - - - FileNodeId - - i=17 - - -1 - - - - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - Delete + + Message + A localized description of the event. - i=13394 + i=68 i=78 - i=13353 + i=2041 - - - InputArguments + + + Severity + Indicates how urgent an event is. i=68 i=78 - i=13393 + i=2041 - - - - - i=297 - - - - ObjectToDelete - - i=17 - - -1 - - - - - - - - - MoveOrCopy + + AuditEventType + A base type for events used to track client initiated changes to the server state. - i=13396 - i=13397 + i=2053 + i=2054 + i=2055 + i=2056 + i=2057 + i=2041 + + + + ActionTimeStamp + When the action triggering the event occurred. + + i=68 i=78 - i=13353 + i=2052 - - - InputArguments + + + Status + If TRUE the action was performed. If FALSE the action failed and the server state did not change. i=68 i=78 - i=13395 + i=2052 - - - - - 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 + + ServerId + The unique identifier for the server generating the event. i=68 i=78 - i=13395 + i=2052 - - - - - i=297 - - - - NewNodeId - - i=17 - - -1 - - - - - - - - - AddressSpaceFileType - A file used to store a namespace exported from the server. + + ClientAuditEntryId + The log entry id provided in the request that initiated the action. - i=11615 - i=11575 + i=68 + i=78 + i=2052 + + + + ClientUserId + The user identity associated with the session that initiated the action. + + i=68 + i=78 + i=2052 + + + + AuditSecurityEventType + A base type for events used to track security related changes. + + i=17615 + i=2052 - - ExportNamespace - Updates the file by exporting the server namespace. + + StatusCodeId + i=68 i=80 - i=11595 + i=2058 - - - NamespaceMetadataType - Provides the metadata for a namespace used by the server. + + + AuditChannelEventType + A base type for events used to track related changes to a secure channel. - i=11617 - i=11618 - i=11619 - i=11620 - i=11621 - i=11622 - i=11623 - i=11624 - i=58 + i=2745 + i=2058 - - NamespaceUri - The URI of the namespace. + + SecureChannelId + The identifier for the secure channel that was changed. i=68 i=78 - i=11616 + i=2059 - - NamespaceVersion - The human readable string representing version of the namespace. + + AuditOpenSecureChannelEventType + An event that is raised when a secure channel is opened. + + i=2061 + i=2746 + i=2062 + i=2063 + i=2065 + i=2066 + i=2059 + + + + ClientCertificate + The certificate provided by the client. i=68 i=78 - i=11616 + i=2060 - - NamespacePublicationDate - The publication date for the namespace. + + ClientCertificateThumbprint + The thumbprint for certificate provided by the client. i=68 i=78 - i=11616 + i=2060 - - IsNamespaceSubset - If TRUE then the server only supports a subset of the namespace. + + RequestType + The type of request (NEW or RENEW). i=68 i=78 - i=11616 + i=2060 - - StaticNodeIdTypes - A list of IdTypes for nodes which are the same in every server that exposes them. + + SecurityPolicyUri + The security policy used by the channel. i=68 i=78 - i=11616 + i=2060 - - StaticNumericNodeIdRange - A list of ranges for numeric node ids which are the same in every server that exposes them. + + SecurityMode + The security mode used by the channel. i=68 i=78 - i=11616 + i=2060 - - StaticStringNodeIdPattern - A regular expression which matches string node ids are the same in every server that exposes them. + + RequestedLifetime + The lifetime of the channel requested by the client. i=68 i=78 - i=11616 + i=2060 - - NamespaceFile - A file containing the nodes of the namespace. + + AuditSessionEventType + A base type for events used to track related changes to a session. - 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 + i=2070 + i=2058 - - - Size - The size of the file in bytes. + + + SessionId + The unique identifier for the session,. i=68 i=78 - i=11624 + i=2069 - - Writable - Whether the file is writable. + + AuditCreateSessionEventType + An event that is raised when a session is created. - i=68 - i=78 - i=11624 + i=2072 + i=2073 + i=2747 + i=2074 + i=2069 - - - UserWritable - Whether the file is writable by the current user. + + + SecureChannelId + The secure channel associated with the session. i=68 i=78 - i=11624 + i=2071 - - OpenCount - The current number of open file handles. + + ClientCertificate + The certificate provided by the client. i=68 i=78 - i=11624 + i=2071 - - Open - - i=11630 - i=11631 - i=78 - i=11624 - - - - InputArguments + + ClientCertificateThumbprint + The thumbprint of the certificate provided by the client. i=68 i=78 - i=11629 + i=2071 - - - - - i=297 - - - - Mode - - i=3 - - -1 - - - - - - - - - OutputArguments + + RevisedSessionTimeout + The timeout for the session. i=68 i=78 - i=11629 + i=2071 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - Close + + AuditUrlMismatchEventType - i=11633 - i=78 - i=11624 + i=2749 + i=2071 - - - InputArguments + + + EndpointUrl i=68 i=78 - i=11632 + i=2748 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - Read + + AuditActivateSessionEventType - i=11635 - i=11636 - i=78 - i=11624 + i=2076 + i=2077 + i=11485 + i=2069 - - - InputArguments + + + ClientSoftwareCertificates i=68 i=78 - i=11634 + i=2075 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Length - - i=6 - - -1 - - - - - - - - - OutputArguments + + UserIdentityToken i=68 i=78 - i=11634 + i=2075 - - - - - i=297 - - - - Data - - i=15 - - -1 - - - - - - - - - Write - - i=11638 - i=78 - i=11624 - - - - InputArguments + + SecureChannelId i=68 i=78 - i=11637 + i=2075 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Data - - i=15 - - -1 - - - - - - - - - GetPosition + + AuditCancelEventType - i=11640 - i=11641 - i=78 - i=11624 + i=2079 + i=2069 - - - InputArguments + + + RequestHandle i=68 i=78 - i=11639 + i=2078 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - OutputArguments + + AuditCertificateEventType + + i=2081 + i=2058 + + + + Certificate i=68 i=78 - i=11639 + i=2080 - - - - - i=297 - - - - Position - - i=9 - - -1 - - - - - - - - - SetPosition + + AuditCertificateDataMismatchEventType - i=11643 + i=2083 + i=2084 + i=2080 + + + + InvalidHostname + + i=68 i=78 - i=11624 + i=2082 - - - InputArguments + + + InvalidUri i=68 i=78 - i=11642 + i=2082 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Position - - i=9 - - -1 - - - - - - - - - NamespacesType - A container for the namespace metadata provided by the server. + + AuditCertificateExpiredEventType - i=11646 - i=11675 - i=58 + i=2080 - - <NamespaceIdentifier> + + AuditCertificateInvalidEventType - i=11647 - i=11648 - i=11649 - i=11650 - i=11651 - i=11652 - i=11653 - i=11616 - i=11508 - i=11645 + i=2080 - - - NamespaceUri - The URI of the namespace. + + + AuditCertificateUntrustedEventType - i=68 - i=78 - i=11646 + i=2080 - - - NamespaceVersion - The human readable string representing version of the namespace. + + + AuditCertificateRevokedEventType - i=68 - i=78 - i=11646 + i=2080 - - - NamespacePublicationDate - The publication date for the namespace. + + + AuditCertificateMismatchEventType - i=68 - i=78 - i=11646 + i=2080 - - - IsNamespaceSubset - If TRUE then the server only supports a subset of the namespace. + + + AuditNodeManagementEventType + + i=2052 + + + + AuditAddNodesEventType + + i=2092 + i=2090 + + + + NodesToAdd i=68 i=78 - i=11646 + i=2091 - - StaticNodeIdTypes - A list of IdTypes for nodes which are the same in every server that exposes them. + + AuditDeleteNodesEventType + + i=2094 + i=2090 + + + + NodesToDelete i=68 i=78 - i=11646 + i=2093 - - StaticNumericNodeIdRange - A list of ranges for numeric node ids which are the same in every server that exposes them. + + AuditAddReferencesEventType + + i=2096 + i=2090 + + + + ReferencesToAdd i=68 i=78 - i=11646 + i=2095 - - StaticStringNodeIdPattern - A regular expression which matches string node ids are the same in every server that exposes them. + + AuditDeleteReferencesEventType + + i=2098 + i=2090 + + + + ReferencesToDelete i=68 i=78 - i=11646 + i=2097 - - AddressSpaceFile - A file containing the nodes of the namespace. + + AuditUpdateEventType - i=11676 - i=12694 - i=12695 - i=11679 - i=11680 - i=11683 - i=11685 - i=11688 - i=11690 - i=11693 - i=11595 - i=80 - i=11645 + i=2052 - - - Size - The size of the file in bytes. + + + AuditWriteUpdateEventType + + i=2750 + i=2101 + i=2102 + i=2103 + i=2099 + + + + AttributeId i=68 i=78 - i=11675 + i=2100 - - Writable - Whether the file is writable. + + IndexRange i=68 i=78 - i=11675 + i=2100 - - UserWritable - Whether the file is writable by the current user. + + OldValue i=68 i=78 - i=11675 + i=2100 - - OpenCount - The current number of open file handles. + + NewValue i=68 i=78 - i=11675 + i=2100 - - Open + + AuditHistoryUpdateEventType - i=11681 - i=11682 - i=78 - i=11675 + i=2751 + i=2099 - - - InputArguments + + + ParameterDataTypeId i=68 i=78 - i=11680 + i=2104 - - - - - i=297 - - - - Mode - - i=3 - - -1 - - - - - - - - - OutputArguments + + AuditUpdateMethodEventType - i=68 - i=78 - i=11680 + i=2128 + i=2129 + i=2052 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - - Close + + + MethodId - i=11684 + i=68 i=78 - i=11675 + i=2127 - - + + InputArguments i=68 i=78 - i=11683 + i=2127 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - Read + + SystemEventType - i=11686 - i=11687 - i=78 - i=11675 + i=2041 - - - InputArguments + + + DeviceFailureEventType - i=68 - i=78 - i=11685 + i=2130 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Length - - i=6 - - -1 - - - - - - - - - - OutputArguments + + + SystemStatusChangeEventType + + i=11696 + i=2130 + + + + SystemState i=68 i=78 - i=11685 + i=11446 - - - - - i=297 - - - - Data - - i=15 - - -1 - - - - - - - - - Write + + BaseModelChangeEventType - i=11689 - i=78 - i=11675 + i=2041 - - - InputArguments + + + GeneralModelChangeEventType + + i=2134 + i=2132 + + + + Changes i=68 i=78 - i=11688 + i=2133 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Data - - i=15 - - -1 - - - - - - - - - GetPosition + + SemanticChangeEventType - i=11691 - i=11692 - i=78 - i=11675 + i=2739 + i=2132 - - - InputArguments + + + Changes i=68 i=78 - i=11690 + i=2738 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - OutputArguments + + EventQueueOverflowEventType - i=68 - i=78 - i=11690 + i=2041 - - - - - i=297 - - - - Position - - i=9 - - -1 - - - - - - - - - - SetPosition + + + ProgressEventType + + i=12502 + i=12503 + i=2041 + + + + Context - i=11694 + i=68 i=78 - i=11675 + i=11436 - - - InputArguments + + + Progress i=68 i=78 - i=11693 + i=11436 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Position - - i=9 - - -1 - - - - - - - - - BaseEventType - The base type for all events. + + AggregateFunctionType - i=2042 - i=2043 - i=2044 - i=2045 - i=2046 - i=2047 - i=3190 - i=2050 - i=2051 i=58 - - EventId - A globally unique identifier for the event. + + ServerVendorCapabilityType - i=68 - i=78 - i=2041 + i=63 - - - EventType - The identifier for the event type. + + + ServerStatusType - i=68 - i=78 - i=2041 + i=2139 + i=2140 + i=2141 + i=2142 + i=2752 + i=2753 + i=63 - - - SourceNode - The source of the event. + + + StartTime - i=68 + i=63 i=78 - i=2041 + i=2138 - - SourceName - A description of the source of the event. + + CurrentTime - i=68 + i=63 i=78 - i=2041 + i=2138 - - Time - When the event occurred. + + State - i=68 + i=63 i=78 - i=2041 + i=2138 - - ReceiveTime - When the server received the event from the underlying system. + + BuildInfo - i=68 + i=3698 + i=3699 + i=3700 + i=3701 + i=3702 + i=3703 + i=3051 i=78 - i=2041 + i=2138 - - LocalTime - Information about the local time where the event originated. + + ProductUri - i=68 + i=63 i=78 - i=2041 + i=2142 - - Message - A localized description of the event. + + ManufacturerName - i=68 + i=63 i=78 - i=2041 + i=2142 - - Severity - Indicates how urgent an event is. + + ProductName - i=68 + i=63 i=78 - i=2041 + i=2142 - - AuditEventType - A base type for events used to track client initiated changes to the server state. - - i=2053 - i=2054 - i=2055 - i=2056 - i=2057 - i=2041 - - - - ActionTimeStamp - When the action triggering the event occurred. + + SoftwareVersion - i=68 + i=63 i=78 - i=2052 + i=2142 - - Status - If TRUE the action was performed. If FALSE the action failed and the server state did not change. + + BuildNumber - i=68 + i=63 i=78 - i=2052 + i=2142 - - ServerId - The unique identifier for the server generating the event. + + BuildDate - i=68 + i=63 i=78 - i=2052 + i=2142 - - ClientAuditEntryId - The log entry id provided in the request that initiated the action. + + SecondsTillShutdown - i=68 + i=63 i=78 - i=2052 + i=2138 - - ClientUserId - The user identity associated with the session that initiated the action. + + ShutdownReason - i=68 + i=63 i=78 - i=2052 + i=2138 - - AuditSecurityEventType - A base type for events used to track security related changes. - - i=2052 - - - - AuditChannelEventType - A base type for events used to track related changes to a secure channel. + + BuildInfoType - i=2745 - i=2058 + i=3052 + i=3053 + i=3054 + i=3055 + i=3056 + i=3057 + i=63 - - - SecureChannelId - The identifier for the secure channel that was changed. + + + ProductUri - i=68 + i=63 i=78 - i=2059 + i=3051 - - AuditOpenSecureChannelEventType - An event that is raised when a secure channel is opened. - - i=2061 - i=2746 - i=2062 - i=2063 - i=2065 - i=2066 - i=2059 - - - - ClientCertificate - The certificate provided by the client. + + ManufacturerName - i=68 + i=63 i=78 - i=2060 + i=3051 - - ClientCertificateThumbprint - The thumbprint for certificate provided by the client. + + ProductName - i=68 + i=63 i=78 - i=2060 + i=3051 - - RequestType - The type of request (NEW or RENEW). + + SoftwareVersion - i=68 + i=63 i=78 - i=2060 + i=3051 - - SecurityPolicyUri - The security policy used by the channel. - - i=68 - i=78 - i=2060 - - - - SecurityMode - The security mode used by the channel. + + BuildNumber - i=68 + i=63 i=78 - i=2060 + i=3051 - - RequestedLifetime - The lifetime of the channel requested by the client. + + BuildDate - i=68 + i=63 i=78 - i=2060 + i=3051 - - AuditSessionEventType - A base type for events used to track related changes to a session. + + ServerDiagnosticsSummaryType - i=2070 - i=2058 + 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 - - - SessionId - The unique identifier for the session,. + + + ServerViewCount - i=68 + i=63 i=78 - i=2069 + i=2150 - - AuditCreateSessionEventType - An event that is raised when a session is created. + + CurrentSessionCount - i=2072 - i=2073 - i=2747 - i=2074 - i=2069 + i=63 + i=78 + i=2150 - - - SecureChannelId - The secure channel associated with the session. + + + CumulatedSessionCount - i=68 + i=63 i=78 - i=2071 + i=2150 - - ClientCertificate - The certificate provided by the client. + + SecurityRejectedSessionCount - i=68 + i=63 i=78 - i=2071 + i=2150 - - ClientCertificateThumbprint - The thumbprint of the certificate provided by the client. + + RejectedSessionCount - i=68 + i=63 i=78 - i=2071 + i=2150 - - RevisedSessionTimeout - The timeout for the session. + + SessionTimeoutCount - i=68 + i=63 i=78 - i=2071 + i=2150 - - AuditUrlMismatchEventType + + SessionAbortCount - i=2749 - i=2071 + i=63 + i=78 + i=2150 - - - EndpointUrl + + + PublishingIntervalCount - i=68 + i=63 i=78 - i=2748 + i=2150 - - AuditActivateSessionEventType + + CurrentSubscriptionCount - i=2076 - i=2077 - i=11485 - i=2069 + i=63 + i=78 + i=2150 - - - ClientSoftwareCertificates + + + CumulatedSubscriptionCount - i=68 + i=63 i=78 - i=2075 + i=2150 - - UserIdentityToken + + SecurityRejectedRequestsCount - i=68 + i=63 i=78 - i=2075 + i=2150 - - SecureChannelId + + RejectedRequestsCount - i=68 + i=63 i=78 - i=2075 + i=2150 - - AuditCancelEventType + + SamplingIntervalDiagnosticsArrayType - i=2079 - i=2069 + i=12779 + i=63 - - - RequestHandle + + + SamplingIntervalDiagnostics - i=68 - i=78 - i=2078 + i=12780 + i=12781 + i=12782 + i=12783 + i=2165 + i=83 + i=2164 - - AuditCertificateEventType - - i=2081 - i=2058 - - - - Certificate + + SamplingInterval - i=68 + i=63 i=78 - i=2080 + i=12779 - - AuditCertificateDataMismatchEventType + + SampledMonitoredItemsCount - i=2083 - i=2084 - i=2080 + i=63 + i=78 + i=12779 - - - InvalidHostname + + + MaxSampledMonitoredItemsCount - i=68 + i=63 i=78 - i=2082 + i=12779 - - InvalidUri + + DisabledMonitoredItemsSamplingCount - i=68 + i=63 i=78 - i=2082 + i=12779 - - AuditCertificateExpiredEventType + + SamplingIntervalDiagnosticsType - i=2080 + i=2166 + i=11697 + i=11698 + i=11699 + i=63 - - - AuditCertificateInvalidEventType + + + SamplingInterval - i=2080 + i=63 + i=78 + i=2165 - - - AuditCertificateUntrustedEventType + + + SampledMonitoredItemsCount - i=2080 + i=63 + i=78 + i=2165 - - - AuditCertificateRevokedEventType + + + MaxSampledMonitoredItemsCount - i=2080 + i=63 + i=78 + i=2165 - - - AuditCertificateMismatchEventType + + + DisabledMonitoredItemsSamplingCount - i=2080 + i=63 + i=78 + i=2165 - - - AuditNodeManagementEventType + + + SubscriptionDiagnosticsArrayType - i=2052 + i=12784 + i=63 - - - AuditAddNodesEventType + + + SubscriptionDiagnostics - i=2092 - i=2090 + 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 - - - NodesToAdd + + + SessionId - i=68 + i=63 i=78 - i=2091 + i=12784 - - AuditDeleteNodesEventType + + SubscriptionId - i=2094 - i=2090 + i=63 + i=78 + i=12784 - - - NodesToDelete + + + Priority - i=68 + i=63 i=78 - i=2093 + i=12784 - - AuditAddReferencesEventType + + PublishingInterval - i=2096 - i=2090 + i=63 + i=78 + i=12784 - - - ReferencesToAdd + + + MaxKeepAliveCount - i=68 + i=63 i=78 - i=2095 + i=12784 - - AuditDeleteReferencesEventType + + MaxLifetimeCount - i=2098 - i=2090 + i=63 + i=78 + i=12784 - - - ReferencesToDelete + + + MaxNotificationsPerPublish - i=68 + i=63 i=78 - i=2097 + i=12784 - - AuditUpdateEventType + + PublishingEnabled - i=2052 + i=63 + i=78 + i=12784 - - - AuditWriteUpdateEventType + + + ModifyCount - i=2750 - i=2101 - i=2102 - i=2103 - i=2099 + i=63 + i=78 + i=12784 - - - AttributeId + + + EnableCount - i=68 + i=63 i=78 - i=2100 + i=12784 - - IndexRange + + DisableCount - i=68 + i=63 i=78 - i=2100 + i=12784 - - OldValue + + RepublishRequestCount - i=68 + i=63 i=78 - i=2100 + i=12784 - - NewValue + + RepublishMessageRequestCount - i=68 + i=63 i=78 - i=2100 + i=12784 - - AuditHistoryUpdateEventType + + RepublishMessageCount - i=2751 - i=2099 + i=63 + i=78 + i=12784 - - - ParameterDataTypeId + + + TransferRequestCount - i=68 + i=63 i=78 - i=2104 + i=12784 - - AuditUpdateMethodEventType + + TransferredToAltClientCount - i=2128 - i=2129 - i=2052 + i=63 + i=78 + i=12784 - - - MethodId + + + TransferredToSameClientCount - i=68 + i=63 i=78 - i=2127 + i=12784 - - InputArguments + + PublishRequestCount - i=68 + i=63 i=78 - i=2127 + i=12784 - - SystemEventType + + DataChangeNotificationsCount - i=2041 + i=63 + i=78 + i=12784 - - - DeviceFailureEventType - - i=2130 - - - - SystemStatusChangeEventType - - i=11696 - i=2130 - - - - SystemState + + + EventNotificationsCount - i=68 + i=63 i=78 - i=11446 + i=12784 - - BaseModelChangeEventType + + NotificationsCount - i=2041 + i=63 + i=78 + i=12784 - - - GeneralModelChangeEventType + + + LatePublishRequestCount - i=2134 - i=2132 + i=63 + i=78 + i=12784 - - - Changes + + + CurrentKeepAliveCount - i=68 + i=63 i=78 - i=2133 + i=12784 - - SemanticChangeEventType + + CurrentLifetimeCount - i=2739 - i=2132 + i=63 + i=78 + i=12784 - - - Changes + + + UnacknowledgedMessageCount - i=68 + i=63 i=78 - i=2738 + i=12784 - - EventQueueOverflowEventType + + DiscardedMessageCount - i=2041 + i=63 + i=78 + i=12784 - - - ProgressEventType + + + MonitoredItemCount - i=12502 - i=12503 - i=2041 + i=63 + i=78 + i=12784 - - - Context + + + DisabledMonitoredItemCount - i=68 + i=63 i=78 - i=11436 + i=12784 - - Progress + + MonitoringQueueOverflowCount - i=68 + i=63 i=78 - i=11436 + i=12784 - - AggregateFunctionType + + NextSequenceNumber - i=58 + i=63 + i=78 + i=12784 - - - ServerVendorCapabilityType + + + EventQueueOverflowCount - i=63 + i=63 + i=78 + i=12784 - - - ServerStatusType + + + SubscriptionDiagnosticsType - i=2139 - i=2140 - i=2141 - i=2142 - i=2752 - i=2753 + 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 - - StartTime + + SessionId i=63 i=78 - i=2138 + i=2172 - - CurrentTime + + SubscriptionId i=63 i=78 - i=2138 + i=2172 - - State + + Priority i=63 i=78 - i=2138 + i=2172 - - BuildInfo + + PublishingInterval - i=3698 - i=3699 - i=3700 - i=3701 - i=3702 - i=3703 - i=3051 + i=63 i=78 - i=2138 + i=2172 - - ProductUri + + MaxKeepAliveCount i=63 i=78 - i=2142 + i=2172 - - ManufacturerName + + MaxLifetimeCount i=63 i=78 - i=2142 + i=2172 - - ProductName + + MaxNotificationsPerPublish i=63 i=78 - i=2142 + i=2172 - - SoftwareVersion + + PublishingEnabled i=63 i=78 - i=2142 + i=2172 - - BuildNumber + + ModifyCount i=63 i=78 - i=2142 + i=2172 - - BuildDate + + EnableCount i=63 i=78 - i=2142 + i=2172 - - SecondsTillShutdown + + DisableCount i=63 i=78 - i=2138 + i=2172 - - ShutdownReason + + RepublishRequestCount i=63 i=78 - i=2138 + i=2172 - - BuildInfoType - - i=3052 - i=3053 - i=3054 - i=3055 - i=3056 - i=3057 - i=63 - - - - ProductUri + + RepublishMessageRequestCount i=63 i=78 - i=3051 + i=2172 - - ManufacturerName + + RepublishMessageCount i=63 i=78 - i=3051 + i=2172 - - ProductName + + TransferRequestCount i=63 i=78 - i=3051 + i=2172 - - SoftwareVersion + + TransferredToAltClientCount i=63 i=78 - i=3051 + i=2172 - - BuildNumber + + TransferredToSameClientCount i=63 i=78 - i=3051 + i=2172 - - BuildDate + + PublishRequestCount i=63 i=78 - i=3051 + i=2172 - - ServerDiagnosticsSummaryType + + DataChangeNotificationsCount - 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 + i=63 + i=78 + i=2172 - - - ServerViewCount + + + EventNotificationsCount i=63 i=78 - i=2150 + i=2172 - - CurrentSessionCount + + NotificationsCount i=63 i=78 - i=2150 + i=2172 - - CumulatedSessionCount + + LatePublishRequestCount i=63 i=78 - i=2150 + i=2172 - - SecurityRejectedSessionCount + + CurrentKeepAliveCount i=63 i=78 - i=2150 + i=2172 - - RejectedSessionCount + + CurrentLifetimeCount i=63 i=78 - i=2150 + i=2172 - - SessionTimeoutCount + + UnacknowledgedMessageCount i=63 i=78 - i=2150 + i=2172 - - SessionAbortCount + + DiscardedMessageCount i=63 i=78 - i=2150 + i=2172 - - PublishingIntervalCount + + MonitoredItemCount i=63 i=78 - i=2150 + i=2172 - - CurrentSubscriptionCount + + DisabledMonitoredItemCount i=63 i=78 - i=2150 + i=2172 - - CumulatedSubscriptionCount + + MonitoringQueueOverflowCount i=63 i=78 - i=2150 + i=2172 - - SecurityRejectedRequestsCount + + NextSequenceNumber i=63 i=78 - i=2150 + i=2172 - - RejectedRequestsCount + + EventQueueOverflowCount i=63 i=78 - i=2150 + i=2172 - - SamplingIntervalDiagnosticsArrayType + + SessionDiagnosticsArrayType - i=12779 + i=12816 i=63 - - SamplingIntervalDiagnostics + + SessionDiagnostics - i=12780 - i=12781 - i=12782 - i=12783 - i=2165 + 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=2164 + i=2196 - - SamplingInterval + + SessionId i=63 i=78 - i=12779 + i=12816 - - SampledMonitoredItemsCount + + SessionName i=63 i=78 - i=12779 + i=12816 - - MaxSampledMonitoredItemsCount + + ClientDescription i=63 i=78 - i=12779 + i=12816 - - DisabledMonitoredItemsSamplingCount + + ServerUri i=63 i=78 - i=12779 + i=12816 - - SamplingIntervalDiagnosticsType + + EndpointUrl - i=2166 - i=11697 - i=11698 - i=11699 - i=63 + i=63 + i=78 + i=12816 - - - SamplingInterval + + + LocaleIds i=63 i=78 - i=2165 + i=12816 - - SampledMonitoredItemsCount + + ActualSessionTimeout i=63 i=78 - i=2165 + i=12816 - - MaxSampledMonitoredItemsCount + + MaxResponseMessageSize i=63 i=78 - i=2165 + i=12816 - - DisabledMonitoredItemsSamplingCount + + ClientConnectionTime i=63 i=78 - i=2165 + i=12816 - - SubscriptionDiagnosticsArrayType + + ClientLastContactTime - i=12784 - i=63 + i=63 + i=78 + i=12816 - - - SubscriptionDiagnostics + + + CurrentSubscriptionsCount - 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 + i=63 + i=78 + i=12816 - - SessionId + + CurrentMonitoredItemsCount i=63 i=78 - i=12784 + i=12816 - - SubscriptionId + + CurrentPublishRequestsInQueue i=63 i=78 - i=12784 + i=12816 - - Priority + + TotalRequestCount i=63 i=78 - i=12784 + i=12816 - - PublishingInterval + + UnauthorizedRequestCount i=63 i=78 - i=12784 + i=12816 - - MaxKeepAliveCount + + ReadCount i=63 i=78 - i=12784 + i=12816 - - MaxLifetimeCount + + HistoryReadCount i=63 i=78 - i=12784 + i=12816 - - MaxNotificationsPerPublish + + WriteCount i=63 i=78 - i=12784 + i=12816 - - PublishingEnabled + + HistoryUpdateCount i=63 i=78 - i=12784 + i=12816 - - ModifyCount + + CallCount i=63 i=78 - i=12784 + i=12816 - - EnableCount + + CreateMonitoredItemsCount i=63 i=78 - i=12784 + i=12816 - - DisableCount + + ModifyMonitoredItemsCount i=63 i=78 - i=12784 + i=12816 - - RepublishRequestCount + + SetMonitoringModeCount i=63 i=78 - i=12784 + i=12816 - - RepublishMessageRequestCount + + SetTriggeringCount i=63 i=78 - i=12784 + i=12816 - - RepublishMessageCount + + DeleteMonitoredItemsCount i=63 i=78 - i=12784 + i=12816 - - TransferRequestCount + + CreateSubscriptionCount i=63 i=78 - i=12784 + i=12816 - - TransferredToAltClientCount + + ModifySubscriptionCount i=63 i=78 - i=12784 + i=12816 - - TransferredToSameClientCount + + SetPublishingModeCount i=63 i=78 - i=12784 + i=12816 - - PublishRequestCount + + PublishCount i=63 i=78 - i=12784 + i=12816 - - DataChangeNotificationsCount + + RepublishCount i=63 i=78 - i=12784 + i=12816 - - EventNotificationsCount + + TransferSubscriptionsCount i=63 i=78 - i=12784 + i=12816 - - NotificationsCount + + DeleteSubscriptionsCount i=63 i=78 - i=12784 + i=12816 - - LatePublishRequestCount + + AddNodesCount i=63 i=78 - i=12784 + i=12816 - - CurrentKeepAliveCount + + AddReferencesCount i=63 i=78 - i=12784 + i=12816 - - CurrentLifetimeCount + + DeleteNodesCount i=63 i=78 - i=12784 + i=12816 - - UnacknowledgedMessageCount + + DeleteReferencesCount i=63 i=78 - i=12784 + i=12816 - - DiscardedMessageCount + + BrowseCount i=63 i=78 - i=12784 + i=12816 - - MonitoredItemCount + + BrowseNextCount i=63 i=78 - i=12784 + i=12816 - - DisabledMonitoredItemCount + + TranslateBrowsePathsToNodeIdsCount i=63 i=78 - i=12784 + i=12816 - - MonitoringQueueOverflowCount + + QueryFirstCount i=63 i=78 - i=12784 + i=12816 - - NextSequenceNumber + + QueryNextCount i=63 i=78 - i=12784 + i=12816 - - EventQueueOverFlowCount + + RegisterNodesCount i=63 i=78 - i=12784 + i=12816 - - SubscriptionDiagnosticsType + + UnregisterNodesCount - 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 + i=78 + i=12816 + + + + SessionDiagnosticsVariableType + + 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=2172 + i=2197 - - SubscriptionId + + SessionName i=63 i=78 - i=2172 + i=2197 - - Priority + + ClientDescription i=63 i=78 - i=2172 + i=2197 - - PublishingInterval + + ServerUri i=63 i=78 - i=2172 + i=2197 - - MaxKeepAliveCount + + EndpointUrl i=63 i=78 - i=2172 + i=2197 - - MaxLifetimeCount + + LocaleIds i=63 i=78 - i=2172 + i=2197 - - MaxNotificationsPerPublish + + ActualSessionTimeout i=63 i=78 - i=2172 + i=2197 - - PublishingEnabled + + MaxResponseMessageSize i=63 i=78 - i=2172 + i=2197 - - ModifyCount + + ClientConnectionTime i=63 i=78 - i=2172 + i=2197 - - EnableCount + + ClientLastContactTime i=63 i=78 - i=2172 + i=2197 - - DisableCount + + CurrentSubscriptionsCount i=63 i=78 - i=2172 + i=2197 - - RepublishRequestCount + + CurrentMonitoredItemsCount i=63 i=78 - i=2172 + i=2197 - - RepublishMessageRequestCount + + CurrentPublishRequestsInQueue i=63 i=78 - i=2172 + i=2197 - - RepublishMessageCount + + TotalRequestCount i=63 i=78 - i=2172 + i=2197 - - TransferRequestCount + + UnauthorizedRequestCount i=63 i=78 - i=2172 + i=2197 - - TransferredToAltClientCount + + ReadCount i=63 i=78 - i=2172 + i=2197 - - TransferredToSameClientCount + + HistoryReadCount i=63 i=78 - i=2172 + i=2197 - - PublishRequestCount + + WriteCount i=63 i=78 - i=2172 + i=2197 - - DataChangeNotificationsCount + + HistoryUpdateCount i=63 i=78 - i=2172 + i=2197 - - EventNotificationsCount + + CallCount i=63 i=78 - i=2172 + i=2197 - - NotificationsCount + + CreateMonitoredItemsCount i=63 i=78 - i=2172 + i=2197 - - LatePublishRequestCount + + ModifyMonitoredItemsCount i=63 i=78 - i=2172 + i=2197 - - CurrentKeepAliveCount + + SetMonitoringModeCount i=63 i=78 - i=2172 + i=2197 - - CurrentLifetimeCount + + SetTriggeringCount i=63 i=78 - i=2172 + i=2197 - - UnacknowledgedMessageCount + + DeleteMonitoredItemsCount i=63 i=78 - i=2172 + i=2197 - - DiscardedMessageCount + + CreateSubscriptionCount i=63 i=78 - i=2172 + i=2197 - - MonitoredItemCount + + ModifySubscriptionCount i=63 i=78 - i=2172 + i=2197 - - DisabledMonitoredItemCount + + SetPublishingModeCount i=63 i=78 - i=2172 + i=2197 - - MonitoringQueueOverflowCount + + PublishCount i=63 i=78 - i=2172 + i=2197 - - NextSequenceNumber + + RepublishCount i=63 i=78 - i=2172 + i=2197 - - EventQueueOverFlowCount + + TransferSubscriptionsCount i=63 i=78 - i=2172 + i=2197 - - SessionDiagnosticsArrayType + + DeleteSubscriptionsCount - 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 + i=63 + i=78 + i=2197 - - SessionId + + AddNodesCount i=63 i=78 - i=12816 + i=2197 - - SessionName + + AddReferencesCount i=63 i=78 - i=12816 + i=2197 - - ClientDescription + + DeleteNodesCount i=63 i=78 - i=12816 + i=2197 - - ServerUri + + DeleteReferencesCount i=63 i=78 - i=12816 + i=2197 - - EndpointUrl + + BrowseCount i=63 i=78 - i=12816 + i=2197 - - LocaleIds + + BrowseNextCount i=63 i=78 - i=12816 + i=2197 - - ActualSessionTimeout + + TranslateBrowsePathsToNodeIdsCount i=63 i=78 - i=12816 + i=2197 - - MaxResponseMessageSize + + QueryFirstCount i=63 i=78 - i=12816 + i=2197 - - ClientConnectionTime + + QueryNextCount i=63 i=78 - i=12816 + i=2197 - - ClientLastContactTime + + RegisterNodesCount i=63 i=78 - i=12816 + i=2197 - - CurrentSubscriptionsCount + + UnregisterNodesCount i=63 i=78 - i=12816 + i=2197 - - CurrentMonitoredItemsCount + + SessionSecurityDiagnosticsArrayType - i=63 - i=78 - i=12816 + i=12860 + i=63 - - - CurrentPublishRequestsInQueue + + + SessionSecurityDiagnostics - i=63 - i=78 - i=12816 + i=12861 + i=12862 + i=12863 + i=12864 + i=12865 + i=12866 + i=12867 + i=12868 + i=12869 + i=2244 + i=83 + i=2243 - - TotalRequestCount + + SessionId i=63 i=78 - i=12816 + i=12860 - - UnauthorizedRequestCount + + ClientUserIdOfSession i=63 i=78 - i=12816 + i=12860 - - ReadCount + + ClientUserIdHistory i=63 i=78 - i=12816 + i=12860 - - HistoryReadCount + + AuthenticationMechanism i=63 i=78 - i=12816 + i=12860 - - WriteCount + + Encoding i=63 i=78 - i=12816 + i=12860 - - HistoryUpdateCount + + TransportProtocol i=63 i=78 - i=12816 + i=12860 - - CallCount + + SecurityMode i=63 i=78 - i=12816 + i=12860 - - CreateMonitoredItemsCount + + SecurityPolicyUri i=63 i=78 - i=12816 + i=12860 - - ModifyMonitoredItemsCount + + ClientCertificate i=63 i=78 - i=12816 + i=12860 - - SetMonitoringModeCount + + SessionSecurityDiagnosticsType - i=63 - i=78 - i=12816 + i=2245 + i=2246 + i=2247 + i=2248 + i=2249 + i=2250 + i=2251 + i=2252 + i=3058 + i=63 - - - SetTriggeringCount + + + SessionId i=63 i=78 - i=12816 + i=2244 - - DeleteMonitoredItemsCount + + ClientUserIdOfSession i=63 i=78 - i=12816 + i=2244 - - CreateSubscriptionCount + + ClientUserIdHistory i=63 i=78 - i=12816 + i=2244 - - ModifySubscriptionCount + + AuthenticationMechanism i=63 i=78 - i=12816 + i=2244 - - SetPublishingModeCount + + Encoding i=63 i=78 - i=12816 + i=2244 - - PublishCount + + TransportProtocol i=63 i=78 - i=12816 + i=2244 - - RepublishCount + + SecurityMode i=63 i=78 - i=12816 + i=2244 - - TransferSubscriptionsCount + + SecurityPolicyUri i=63 i=78 - i=12816 + i=2244 - - DeleteSubscriptionsCount + + ClientCertificate i=63 i=78 - i=12816 + i=2244 - - AddNodesCount + + OptionSetType - i=63 - i=78 - i=12816 + i=11488 + i=11701 + i=63 - - - AddReferencesCount + + + OptionSetValues - i=63 + i=68 i=78 - i=12816 + i=11487 - - DeleteNodesCount + + BitMask - i=63 - i=78 - i=12816 + i=68 + i=80 + i=11487 - - DeleteReferencesCount + + SelectionListType - i=63 - i=78 - i=12816 + i=17632 + i=17633 + i=16312 + i=63 - - - BrowseCount + + + Selections - i=63 + i=68 i=78 - i=12816 + i=16309 - - BrowseNextCount + + SelectionDescriptions - i=63 - i=78 - i=12816 + i=68 + i=80 + i=16309 - - TranslateBrowsePathsToNodeIdsCount + + RestrictToList - i=63 - i=78 - i=12816 + i=68 + i=80 + i=16309 - - QueryFirstCount + + AudioVariableType - i=63 - i=78 - i=12816 + i=17988 + i=17989 + i=17990 + i=63 - - - QueryNextCount + + + ListId - i=63 - i=78 - i=12816 + i=68 + i=80 + i=17986 - - RegisterNodesCount + + AgencyId - i=63 - i=78 - i=12816 + i=68 + i=80 + i=17986 - - UnregisterNodesCount + + VersionId - i=63 - i=78 - i=12816 + i=68 + i=80 + i=17986 - - SessionDiagnosticsVariableType + + EventTypes - 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 + i=86 + i=2041 + i=61 - - - SessionId + + + Server - i=63 - i=78 - i=2197 + i=2254 + i=2255 + i=2256 + i=2267 + i=2994 + i=12885 + i=2268 + i=2274 + i=2295 + i=2296 + i=11715 + i=11492 + i=12873 + i=12749 + i=12886 + i=16313 + i=85 + i=2004 - - - SessionName + + + ServerArray + The list of server URIs used by the server. - i=63 - i=78 - i=2197 + i=68 + i=2253 - - ClientDescription + + NamespaceArray + The list of namespace URIs used by the server. - i=63 - i=78 - i=2197 + i=68 + i=2253 - - ServerUri + + ServerStatus + The current status of the server. - i=63 - i=78 - i=2197 + i=2257 + i=2258 + i=2259 + i=2260 + i=2992 + i=2993 + i=2138 + i=2253 - - EndpointUrl + + StartTime i=63 - i=78 - i=2197 + i=2256 - - LocaleIds + + CurrentTime i=63 - i=78 - i=2197 + i=2256 - - ActualSessionTimeout + + State i=63 - i=78 - i=2197 + i=2256 - - MaxResponseMessageSize + + BuildInfo - i=63 - i=78 - i=2197 + i=2262 + i=2263 + i=2261 + i=2264 + i=2265 + i=2266 + i=3051 + i=2256 - - ClientConnectionTime + + ProductUri i=63 - i=78 - i=2197 + i=2260 - - ClientLastContactTime + + ManufacturerName i=63 - i=78 - i=2197 + i=2260 - - CurrentSubscriptionsCount + + ProductName i=63 - i=78 - i=2197 + i=2260 - - CurrentMonitoredItemsCount + + SoftwareVersion i=63 - i=78 - i=2197 + i=2260 - - CurrentPublishRequestsInQueue + + BuildNumber i=63 - i=78 - i=2197 + i=2260 - - TotalRequestCount + + BuildDate i=63 - i=78 - i=2197 + i=2260 - - UnauthorizedRequestCount + + SecondsTillShutdown i=63 - i=78 - i=2197 + i=2256 - - ReadCount + + ShutdownReason i=63 - i=78 - i=2197 + i=2256 - - HistoryReadCount + + ServiceLevel + A value indicating the level of service the server can provide. 255 indicates the best. - i=63 - i=78 - i=2197 + i=68 + i=2253 - - WriteCount + + Auditing + A flag indicating whether the server is currently generating audit events. - i=63 - i=78 - i=2197 + i=68 + i=2253 - - HistoryUpdateCount + + EstimatedReturnTime + Indicates the time at which the Server is expected to be available in the state RUNNING. - i=63 - i=78 - i=2197 + i=68 + i=2253 - - CallCount + + ServerCapabilities + Describes capabilities supported by the server. - i=63 - i=78 - i=2197 + 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 - - - CreateMonitoredItemsCount + + + ServerProfileArray + A list of profiles supported by the server. - i=63 - i=78 - i=2197 + i=68 + i=2268 - - ModifyMonitoredItemsCount + + LocaleIdArray + A list of locales supported by the server. - i=63 - i=78 - i=2197 + i=68 + i=2268 - - SetMonitoringModeCount + + MinSupportedSampleRate + The minimum sampling interval supported by the server. - i=63 - i=78 - i=2197 + i=68 + i=2268 - - SetTriggeringCount + + MaxBrowseContinuationPoints + The maximum number of continuation points for Browse operations per session. - i=63 - i=78 - i=2197 + i=68 + i=2268 - - DeleteMonitoredItemsCount + + MaxQueryContinuationPoints + The maximum number of continuation points for Query operations per session. - i=63 - i=78 - i=2197 + i=68 + i=2268 - - CreateSubscriptionCount + + MaxHistoryContinuationPoints + The maximum number of continuation points for ReadHistory operations per session. - i=63 - i=78 - i=2197 + i=68 + i=2268 - - ModifySubscriptionCount + + SoftwareCertificates + The software certificates owned by the server. - i=63 - i=78 - i=2197 + i=68 + i=2268 - - SetPublishingModeCount + + MaxArrayLength + The maximum length for an array value supported by the server. - i=63 - i=78 - i=2197 + i=68 + i=2268 - - PublishCount + + MaxStringLength + The maximum length for a string value supported by the server. - i=63 - i=78 - i=2197 + i=68 + i=2268 - - RepublishCount + + MaxByteStringLength + The maximum length for a byte string value supported by the server. - i=63 - i=78 - i=2197 + i=68 + i=2268 - - TransferSubscriptionsCount + + OperationLimits + Defines the limits supported by the server for different operations. - i=63 - i=78 - i=2197 + 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 - - - DeleteSubscriptionsCount + + + MaxNodesPerRead + The maximum number of operations in a single Read request. - i=63 - i=78 - i=2197 + i=68 + i=11704 - - AddNodesCount + + MaxNodesPerHistoryReadData + The maximum number of operations in a single data HistoryRead request. - i=63 - i=78 - i=2197 + i=68 + i=11704 - - AddReferencesCount + + MaxNodesPerHistoryReadEvents + The maximum number of operations in a single event HistoryRead request. - i=63 - i=78 - i=2197 + i=68 + i=11704 - - DeleteNodesCount + + MaxNodesPerWrite + The maximum number of operations in a single Write request. - i=63 - i=78 - i=2197 + i=68 + i=11704 - - DeleteReferencesCount + + MaxNodesPerHistoryUpdateData + The maximum number of operations in a single data HistoryUpdate request. - i=63 - i=78 - i=2197 + i=68 + i=11704 - - BrowseCount + + MaxNodesPerHistoryUpdateEvents + The maximum number of operations in a single event HistoryUpdate request. - i=63 - i=78 - i=2197 + i=68 + i=11704 - - BrowseNextCount + + MaxNodesPerMethodCall + The maximum number of operations in a single Call request. - i=63 - i=78 - i=2197 + i=68 + i=11704 - - TranslateBrowsePathsToNodeIdsCount + + MaxNodesPerBrowse + The maximum number of operations in a single Browse request. - i=63 - i=78 - i=2197 + i=68 + i=11704 - - QueryFirstCount + + MaxNodesPerRegisterNodes + The maximum number of operations in a single RegisterNodes request. - i=63 - i=78 - i=2197 + i=68 + i=11704 - - QueryNextCount + + MaxNodesPerTranslateBrowsePathsToNodeIds + The maximum number of operations in a single TranslateBrowsePathsToNodeIds request. - i=63 - i=78 - i=2197 + i=68 + i=11704 - - RegisterNodesCount + + MaxNodesPerNodeManagement + The maximum number of operations in a single AddNodes, AddReferences, DeleteNodes or DeleteReferences request. - i=63 - i=78 - i=2197 + i=68 + i=11704 - - UnregisterNodesCount + + MaxMonitoredItemsPerCall + The maximum number of operations in a single MonitoredItem related request. - i=63 - i=78 - i=2197 + i=68 + i=11704 - - SessionSecurityDiagnosticsArrayType + + ModellingRules + A folder for the modelling rules supported by the server. - i=12860 - i=63 + i=61 + i=2268 - - - SessionSecurityDiagnostics + + + AggregateFunctions + A folder for the real time aggregates supported by the server. - i=12861 - i=12862 - i=12863 - i=12864 - i=12865 - i=12866 - i=12867 - i=12868 - i=12869 - i=2244 - i=83 - i=2243 + i=61 + i=2268 - - - SessionId + + + Roles + Describes the roles supported by the server. - i=63 - i=78 - i=12860 + i=16301 + i=16304 + i=15607 + i=2268 - - - ClientUserIdOfSession + + + AddRole - i=63 - i=78 - i=12860 + i=16302 + i=16303 + i=15606 - - - ClientUserIdHistory + + + InputArguments - i=63 - i=78 - i=12860 + i=68 + i=16301 + + + + + i=297 + + + + RoleName + + i=12 + + -1 + + + + + + + + i=297 + + + + NamespaceUri + + i=12 + + -1 + + + + + + + - - AuthenticationMechanism + + OutputArguments - i=63 - i=78 - i=12860 + i=68 + i=16301 + + + + + i=297 + + + + RoleNodeId + + i=17 + + -1 + + + + + + + - - Encoding + + RemoveRole - i=63 - i=78 - i=12860 + i=16305 + i=15606 - - - TransportProtocol + + + InputArguments - i=63 - i=78 - i=12860 + i=68 + i=16304 + + + + + i=297 + + + + RoleNodeId + + i=17 + + -1 + + + + + + + - - SecurityMode + + ServerDiagnostics + Reports diagnostics about the server. - i=63 - i=78 - i=12860 - - - - SecurityPolicyUri - - i=63 - i=78 - i=12860 + i=2275 + i=2289 + i=2290 + i=3706 + i=2294 + i=2020 + i=2253 - - - ClientCertificate + + + ServerDiagnosticsSummary + A summary of server level diagnostics. - i=63 - i=78 - i=12860 + 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 - - SessionSecurityDiagnosticsType - - i=2245 - i=2246 - i=2247 - i=2248 - i=2249 - i=2250 - i=2251 - i=2252 - i=3058 - i=63 - - - - SessionId + + ServerViewCount i=63 - i=78 - i=2244 + i=2275 - - ClientUserIdOfSession + + CurrentSessionCount i=63 - i=78 - i=2244 + i=2275 - - ClientUserIdHistory + + CumulatedSessionCount i=63 - i=78 - i=2244 + i=2275 - - AuthenticationMechanism + + SecurityRejectedSessionCount i=63 - i=78 - i=2244 + i=2275 - - Encoding + + RejectedSessionCount i=63 - i=78 - i=2244 + i=2275 - - TransportProtocol + + SessionTimeoutCount i=63 - i=78 - i=2244 + i=2275 - - SecurityMode + + SessionAbortCount i=63 - i=78 - i=2244 + i=2275 - - SecurityPolicyUri + + PublishingIntervalCount i=63 - i=78 - i=2244 + i=2275 - - ClientCertificate + + CurrentSubscriptionCount i=63 - i=78 - i=2244 - - - - OptionSetType - - i=11488 - i=11701 - i=63 - - - - OptionSetValues - - i=68 - i=78 - i=11487 - - - - BitMask - - i=68 - i=80 - i=11487 - - - - EventTypes - - i=86 - i=2041 - i=61 - - - - Server - - i=2254 - i=2255 - i=2256 - i=2267 - i=2994 - i=12885 - i=2268 - i=2274 - i=2295 - i=2296 - i=11715 - i=11492 - i=12873 - i=12749 - i=12886 - i=85 - i=2004 - - - - ServerArray - The list of server URIs used by the server. - - i=68 - i=2253 - - - - NamespaceArray - The list of namespace URIs used by the server. - - i=68 - i=2253 + i=2275 - - ServerStatus - The current status of the server. + + CumulatedSubscriptionCount - i=2257 - i=2258 - i=2259 - i=2260 - i=2992 - i=2993 - i=2138 - i=2253 + i=63 + i=2275 - - StartTime + + SecurityRejectedRequestsCount i=63 - i=2256 + i=2275 - - CurrentTime + + RejectedRequestsCount i=63 - i=2256 + i=2275 - - State + + SamplingIntervalDiagnosticsArray + A list of diagnostics for each sampling interval supported by the server. - i=63 - i=2256 + i=2164 + i=2274 - - BuildInfo + + SubscriptionDiagnosticsArray + A list of diagnostics for each active subscription. - i=2262 - i=2263 - i=2261 - i=2264 - i=2265 - i=2266 - i=3051 - i=2256 + i=2171 + i=2274 - - ProductUri + + SessionsDiagnosticsSummary + A summary of session level diagnostics. - i=63 - i=2260 + i=3707 + i=3708 + i=2026 + i=2274 - - - ManufacturerName + + + SessionDiagnosticsArray + A list of diagnostics for each active session. - i=63 - i=2260 + i=2196 + i=3706 - - ProductName + + SessionSecurityDiagnosticsArray + A list of security related diagnostics for each active session. - i=63 - i=2260 + i=2243 + i=3706 - - SoftwareVersion + + EnabledFlag + If TRUE the diagnostics collection is enabled. - i=63 - i=2260 + i=68 + i=2274 - - BuildNumber + + VendorServerInfo + Server information provided by the vendor. - i=63 - i=2260 + i=2033 + i=2253 - - - BuildDate + + + ServerRedundancy + Describes the redundancy capabilities of the server. - i=63 - i=2260 + i=3709 + i=11312 + i=11313 + i=11314 + i=14415 + i=2034 + i=2253 - - - SecondsTillShutdown + + + RedundancySupport + Indicates what style of redundancy is supported by the server. - i=63 - i=2256 + i=68 + i=2296 - - ShutdownReason + + CurrentServerId - i=63 - i=2256 + i=68 + i=2296 - - ServiceLevel - A value indicating the level of service the server can provide. 255 indicates the best. + + RedundantServerArray i=68 - i=2253 + i=2296 - - Auditing - A flag indicating whether the server is currently generating audit events. + + ServerUriArray i=68 - i=2253 + i=2296 - - EstimatedReturnTime - Indicates the time at which the Server is expected to be available in the state RUNNING. + + ServerNetworkGroups i=68 - i=2253 + i=2296 - - ServerCapabilities - Describes capabilities supported by the server. + + Namespaces + Describes the namespaces supported by the server. - 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=2013 + i=11645 i=2253 - - ServerProfileArray - A list of profiles supported by the server. - - i=68 - i=2268 - - - - LocaleIdArray - A list of locales supported by the server. + + GetMonitoredItems - i=68 - i=2268 + i=11493 + i=11494 + i=2253 - - - MinSupportedSampleRate - The minimum sampling interval supported by the server. + + + InputArguments i=68 - i=2268 + i=11492 + + + + + i=297 + + + + SubscriptionId + + i=7 + + -1 + + + + + + + - - MaxBrowseContinuationPoints - The maximum number of continuation points for Browse operations per session. + + OutputArguments i=68 - i=2268 + i=11492 + + + + + i=297 + + + + ServerHandles + + i=7 + + 1 + + + + + + + + i=297 + + + + ClientHandles + + i=7 + + 1 + + + + + + + - - MaxQueryContinuationPoints - The maximum number of continuation points for Query operations per session. + + ResendData - i=68 - i=2268 + i=12874 + i=2253 - - - MaxHistoryContinuationPoints - The maximum number of continuation points for ReadHistory operations per session. + + + InputArguments i=68 - i=2268 + i=12873 + + + + + i=297 + + + + SubscriptionId + + i=7 + + -1 + + + + + + + - - SoftwareCertificates - The software certificates owned by the server. + + SetSubscriptionDurable - i=68 - i=2268 + i=12750 + i=12751 + i=2253 - - - MaxArrayLength - The maximum length for an array value supported by the server. + + + InputArguments i=68 - i=2268 + i=12749 - - - MaxStringLength - The maximum length for a string value supported by the server. - - i=68 - i=2268 + + + + + i=297 + + + + SubscriptionId + + i=7 + + -1 + + + + + + + + i=297 + + + + LifetimeInHours + + i=7 + + -1 + + + + + + + + + + OutputArguments + + i=68 + i=12749 + + + + + i=297 + + + + RevisedLifetimeInHours + + i=7 + + -1 + + + + + + + - - MaxByteStringLength - The maximum length for a byte string value supported by the server. + + RequestServerStateChange + + i=12887 + i=2253 + + + + InputArguments i=68 - i=2268 + 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 + + + + + + + + + + CurrentTimeZone + + i=68 + i=2253 - - OperationLimits - Defines the limits supported by the server for different operations. + + HistoryServerCapabilities - 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=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=2268 + i=2330 - - MaxNodesPerRead - The maximum number of operations in a single Read request. + + AccessHistoryDataCapability i=68 - i=11704 + i=11192 - - MaxNodesPerHistoryReadData - The maximum number of operations in a single data HistoryRead request. + + AccessHistoryEventsCapability i=68 - i=11704 + i=11192 - - MaxNodesPerHistoryReadEvents - The maximum number of operations in a single event HistoryRead request. + + MaxReturnDataValues i=68 - i=11704 + i=11192 - - MaxNodesPerWrite - The maximum number of operations in a single Write request. + + MaxReturnEventValues i=68 - i=11704 + i=11192 - - MaxNodesPerHistoryUpdateData - The maximum number of operations in a single data HistoryUpdate request. + + InsertDataCapability i=68 - i=11704 + i=11192 - - MaxNodesPerHistoryUpdateEvents - The maximum number of operations in a single event HistoryUpdate request. + + ReplaceDataCapability i=68 - i=11704 + i=11192 - - MaxNodesPerMethodCall - The maximum number of operations in a single Call request. + + UpdateDataCapability i=68 - i=11704 + i=11192 - - MaxNodesPerBrowse - The maximum number of operations in a single Browse request. + + DeleteRawCapability i=68 - i=11704 + i=11192 - - MaxNodesPerRegisterNodes - The maximum number of operations in a single RegisterNodes request. + + DeleteAtTimeCapability i=68 - i=11704 + i=11192 - - MaxNodesPerTranslateBrowsePathsToNodeIds - The maximum number of operations in a single TranslateBrowsePathsToNodeIds request. + + InsertEventCapability i=68 - i=11704 + i=11192 - - MaxNodesPerNodeManagement - The maximum number of operations in a single AddNodes, AddReferences, DeleteNodes or DeleteReferences request. + + ReplaceEventCapability i=68 - i=11704 + i=11192 - - MaxMonitoredItemsPerCall - The maximum number of operations in a single MonitoredItem related request. + + UpdateEventCapability i=68 - i=11704 + i=11192 - - ModellingRules - A folder for the modelling rules supported by the server. + + DeleteEventCapability - i=61 - i=2268 + i=68 + i=11192 - - + + + InsertAnnotationCapability + + i=68 + i=11192 + + + AggregateFunctions - A folder for the real time aggregates supported by the server. i=61 - i=2268 + i=11192 - - ServerDiagnostics - Reports diagnostics about the server. + + BitFieldMaskDataType + A mask of 32 bits that can be updated individually by using the top 32 bits as a mask. - i=2275 - i=2289 - i=2290 - i=3706 - i=2294 - i=2020 - i=2253 + i=9 - - - ServerDiagnosticsSummary - A summary of server level diagnostics. + + + KeyValuePair - 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 + i=22 - - - ServerViewCount + + + + + + + EndpointType - i=63 - i=2275 + i=22 - - - CurrentSessionCount + + + + + + + + + StateMachineType - i=63 - i=2275 + i=2769 + i=2770 + i=58 - - - CumulatedSessionCount + + + CurrentState - i=63 - i=2275 + i=3720 + i=2755 + i=78 + i=2299 - - SecurityRejectedSessionCount + + Id - i=63 - i=2275 + i=68 + i=78 + i=2769 - - RejectedSessionCount + + LastTransition - i=63 - i=2275 + i=3724 + i=2762 + i=80 + i=2299 - - SessionTimeoutCount + + Id - i=63 - i=2275 + i=68 + i=78 + i=2770 - - SessionAbortCount + + StateVariableType - i=63 - i=2275 + i=2756 + i=2757 + i=2758 + i=2759 + i=63 - - - PublishingIntervalCount + + + Id - i=63 - i=2275 + i=68 + i=78 + i=2755 - - CurrentSubscriptionCount + + Name - i=63 - i=2275 + i=68 + i=80 + i=2755 - - CumulatedSubscriptionCount + + Number - i=63 - i=2275 + i=68 + i=80 + i=2755 - - SecurityRejectedRequestsCount + + EffectiveDisplayName - i=63 - i=2275 + i=68 + i=80 + i=2755 - - RejectedRequestsCount + + TransitionVariableType - i=63 - i=2275 + i=2763 + i=2764 + i=2765 + i=2766 + i=11456 + i=63 - - - SamplingIntervalDiagnosticsArray - A list of diagnostics for each sampling interval supported by the server. + + + Id - i=2164 - i=2274 + i=68 + i=78 + i=2762 - - SubscriptionDiagnosticsArray - A list of diagnostics for each active subscription. + + Name - i=2171 - i=2274 + i=68 + i=80 + i=2762 - - SessionsDiagnosticsSummary - A summary of session level diagnostics. + + Number - i=3707 - i=3708 - i=2026 - i=2274 + i=68 + i=80 + i=2762 - - - SessionDiagnosticsArray - A list of diagnostics for each active session. + + + TransitionTime - i=2196 - i=3706 + i=68 + i=80 + i=2762 - - SessionSecurityDiagnosticsArray - A list of security related diagnostics for each active session. + + EffectiveTransitionTime - i=2243 - i=3706 + i=68 + i=80 + i=2762 - - EnabledFlag - If TRUE the diagnostics collection is enabled. + + FiniteStateMachineType - i=68 - i=2274 + i=2772 + i=2773 + i=17635 + i=17636 + i=2299 + + + + CurrentState + + i=3728 + i=2760 + i=78 + i=2771 - - VendorServerInfo - Server information provided by the vendor. + + Id - i=2033 - i=2253 + i=68 + i=78 + i=2772 - - - ServerRedundancy - Describes the redundancy capabilities of the server. + + + LastTransition - i=3709 - i=11312 - i=11313 - i=11314 - i=14415 - i=2034 - i=2253 + i=3732 + i=2767 + i=80 + i=2771 - - - RedundancySupport - Indicates what style of redundancy is supported by the server. + + + Id i=68 - i=2296 + i=78 + i=2773 - - CurrentServerId + + AvailableStates - i=68 - i=2296 + i=63 + i=80 + i=2771 - - RedundantServerArray + + AvailableTransitions + + i=63 + i=80 + i=2771 + + + + FiniteStateVariableType + + i=2761 + i=2755 + + + + Id i=68 - i=2296 + i=78 + i=2760 - - ServerUriArray + + FiniteTransitionVariableType + + i=2768 + i=2762 + + + + Id i=68 - i=2296 + i=78 + i=2767 - - ServerNetworkGroups + + StateType + + i=2308 + i=58 + + + + StateNumber i=68 - i=2296 + i=78 + i=2307 - - Namespaces - Describes the namespaces supported by the server. + + InitialStateType - i=15182 - i=11645 - i=2253 + i=2307 - - - http://opcfoundation.org/UA/ + + + TransitionType - i=15183 - i=15184 - i=15185 - i=15186 - i=15187 - i=15188 - i=15189 - i=11616 - i=11715 + i=2312 + i=58 - - - NamespaceUri - The URI of the namespace. + + + TransitionNumber i=68 - i=15182 + i=78 + i=2310 - - http://opcfoundation.org/UA/ - - - NamespaceVersion - The human readable string representing version of the namespace. + + TransitionEventType - i=68 - i=15182 + i=2774 + i=2775 + i=2776 + i=2041 + + + + Transition + + i=3754 + i=2762 + i=78 + i=2311 - - 1.03 - - - NamespacePublicationDate - The publication date for the namespace. + + Id i=68 - i=15182 + i=78 + i=2774 - - 2016-04-15 - - - IsNamespaceSubset - If TRUE then the server only supports a subset of the namespace. + + FromState + + i=3746 + i=2755 + i=78 + i=2311 + + + + Id i=68 - i=15182 + i=78 + i=2775 - - false - - - StaticNodeIdTypes - A list of IdTypes for nodes which are the same in every server that exposes them. + + ToState + + i=3750 + i=2755 + i=78 + i=2311 + + + + Id i=68 - i=15182 + i=78 + i=2776 - - StaticNumericNodeIdRange - A list of ranges for numeric node ids which are the same in every server that exposes them. + + AuditUpdateStateEventType + + i=2777 + i=2778 + i=2127 + + + + OldStateId i=68 - i=15182 + i=78 + i=2315 - - StaticStringNodeIdPattern - A regular expression which matches string node ids are the same in every server that exposes them. + + NewStateId i=68 - i=15182 + i=78 + i=2315 - - GetMonitoredItems + + OpenFileMode - i=11493 - i=11494 - i=2253 + i=11940 + i=29 - - - InputArguments + + + + + + + + + EnumValues i=68 - i=11492 + i=78 + i=11939 - i=297 + i=7616 - - SubscriptionId - - i=7 - - -1 - + + 1 + + + + Read + - + + + + + + i=7616 + + + + 2 + + + + Write + + + + + + + + i=7616 + + + + 4 + + + + EraseExisting + + + + + + + + i=7616 + + + + 8 + + + + Append + + + - - OutputArguments + + FileDirectoryType + + 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=11492 + i=78 + i=13355 @@ -9290,27 +9159,39 @@ - ServerHandles + DirectoryName - i=7 + i=12 - 1 + -1 + + + + + OutputArguments + + i=68 + i=78 + i=13355 + + + i=297 - ClientHandles + DirectoryNodeId - i=7 + i=17 - 1 + -1 @@ -9319,18 +9200,21 @@ - - ResendData + + CreateFile - i=12874 - i=2253 + i=13359 + i=13360 + i=78 + i=13354 - + InputArguments i=68 - i=12873 + i=78 + i=13358 @@ -9340,9 +9224,25 @@ - SubscriptionId + FileName - i=7 + i=12 + + -1 + + + + + + + + i=297 + + + + RequestFileOpen + + i=1 -1 @@ -9353,19 +9253,12 @@ - - SetSubscriptionDurable - - i=12750 - i=12751 - i=2253 - - - - InputArguments + + OutputArguments i=68 - i=12749 + i=78 + i=13358 @@ -9375,9 +9268,9 @@ - SubscriptionId + FileNodeId - i=7 + i=17 -1 @@ -9391,7 +9284,7 @@ - LifetimeInHours + FileHandle i=7 @@ -9404,11 +9297,20 @@ - - OutputArguments + + Delete + + i=17719 + i=78 + i=13354 + + + + InputArguments i=68 - i=12749 + i=78 + i=17718 @@ -9418,9 +9320,9 @@ - RevisedLifetimeInHours + ObjectToDelete - i=7 + i=17 -1 @@ -9431,18 +9333,21 @@ - - RequestServerStateChange + + MoveOrCopy - i=12887 - i=2253 + i=13364 + i=13365 + i=78 + i=13354 - + InputArguments i=68 - i=12886 + i=78 + i=13363 @@ -9452,9 +9357,9 @@ - State + ObjectToMoveOrCopy - i=852 + i=17 -1 @@ -9468,9 +9373,9 @@ - EstimatedReturnTime + TargetDirectory - i=13 + i=17 -1 @@ -9484,9 +9389,9 @@ - SecondsTillShutdown + CreateCopy - i=7 + i=1 -1 @@ -9500,9 +9405,9 @@ - Reason + NewName - i=21 + i=12 -1 @@ -9510,15 +9415,27 @@ + + + + + OutputArguments + + i=68 + i=78 + i=13363 + + + i=297 - Restart + NewNodeId - i=1 + i=17 -1 @@ -9529,1113 +9446,1622 @@ - - HistoryServerCapabilities + + <FileName> - 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=2268 - i=2330 + 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 - - AccessHistoryDataCapability + + Size + The size of the file in bytes. i=68 - i=11192 + i=78 + i=13366 - - AccessHistoryEventsCapability + + Writable + Whether the file is writable. i=68 - i=11192 + i=78 + i=13366 - - MaxReturnDataValues + + UserWritable + Whether the file is writable by the current user. i=68 - i=11192 + i=78 + i=13366 - - MaxReturnEventValues + + OpenCount + The current number of open file handles. i=68 - i=11192 + i=78 + i=13366 - - InsertDataCapability + + Open - i=68 - i=11192 + i=13373 + i=13374 + i=78 + i=13366 - - - ReplaceDataCapability + + + InputArguments i=68 - i=11192 + i=78 + i=13372 + + + + + i=297 + + + + Mode + + i=3 + + -1 + + + + + + + - - UpdateDataCapability + + OutputArguments i=68 - i=11192 + i=78 + i=13372 + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + - - DeleteRawCapability + + Close - i=68 - i=11192 + i=13376 + i=78 + i=13366 - - - DeleteAtTimeCapability + + + InputArguments i=68 - i=11192 + i=78 + i=13375 + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + - - InsertEventCapability + + Read - i=68 - i=11192 + i=13378 + i=13379 + i=78 + i=13366 - - - ReplaceEventCapability + + + InputArguments i=68 - i=11192 + i=78 + i=13377 + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + i=297 + + + + Length + + i=6 + + -1 + + + + + + + - - UpdateEventCapability + + OutputArguments i=68 - i=11192 + i=78 + i=13377 + + + + + i=297 + + + + Data + + i=15 + + -1 + + + + + + + - - DeleteEventCapability + + Write - i=68 - i=11192 + i=13381 + i=78 + i=13366 - - - InsertAnnotationCapability + + + InputArguments i=68 - i=11192 + i=78 + i=13380 + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + i=297 + + + + Data + + i=15 + + -1 + + + + + + + - - AggregateFunctions - - i=61 - i=11192 - - - - BitFieldMaskDataType - A mask of 32 bits that can be updated individually by using the top 32 bits as a mask. - - i=9 - - - - StateMachineType + + GetPosition - i=2769 - i=2770 - i=58 + i=13383 + i=13384 + i=78 + i=13366 - - - CurrentState + + + InputArguments - i=3720 - i=2755 + i=68 i=78 - i=2299 + i=13382 + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + - - Id + + OutputArguments i=68 i=78 - i=2769 + i=13382 + + + + + i=297 + + + + Position + + i=9 + + -1 + + + + + + + - - LastTransition + + SetPosition - i=3724 - i=2762 - i=80 - i=2299 + i=13386 + i=78 + i=13366 - - - Id + + + InputArguments i=68 i=78 - i=2770 + i=13385 + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + i=297 + + + + Position + + i=9 + + -1 + + + + + + + - - StateVariableType + + CreateDirectory - i=2756 - i=2757 - i=2758 - i=2759 - i=63 + i=13388 + i=13389 + i=78 + i=13353 - - - Id + + + InputArguments i=68 i=78 - i=2755 + i=13387 + + + + + i=297 + + + + DirectoryName + + i=12 + + -1 + + + + + + + - - Name + + OutputArguments i=68 - i=80 - i=2755 + i=78 + i=13387 + + + + + i=297 + + + + DirectoryNodeId + + i=17 + + -1 + + + + + + + - - Number + + CreateFile - i=68 - i=80 - i=2755 + i=13391 + i=13392 + i=78 + i=13353 - - - EffectiveDisplayName - - i=68 - i=80 - i=2755 - - - - TransitionVariableType - - 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 - - i=2772 - i=2773 - 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 - - - - FiniteStateVariableType - - i=2761 - i=2755 - - - - Id - - i=68 - i=78 - i=2760 - - - - FiniteTransitionVariableType - - i=2768 - i=2762 - - - - Id - - i=68 - i=78 - i=2767 - - - - StateType - - i=2308 - i=58 - - - - StateNumber - - i=68 - i=78 - i=2307 - - - - InitialStateType - - i=2307 - - - - TransitionType - - i=2312 - i=58 - - - - TransitionNumber - - i=68 - i=78 - i=2310 - - - - TransitionEventType - - i=2774 - i=2775 - i=2776 - i=2041 - - - - Transition - - i=3754 - i=2762 - i=78 - i=2311 - - - - Id + + + InputArguments i=68 i=78 - i=2774 - - - - FromState - - i=3746 - i=2755 - i=78 - i=2311 + i=13390 + + + + + i=297 + + + + FileName + + i=12 + + -1 + + + + + + + + i=297 + + + + RequestFileOpen + + i=1 + + -1 + + + + + + + - - Id + + OutputArguments i=68 i=78 - i=2775 - - - - ToState - - i=3750 - i=2755 - i=78 - i=2311 + i=13390 + + + + + i=297 + + + + FileNodeId + + i=17 + + -1 + + + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + - - Id + + Delete - i=68 + i=13394 i=78 - i=2776 - - - - AuditUpdateStateEventType - - i=2777 - i=2778 - i=2127 + i=13353 - - - OldStateId + + + InputArguments i=68 i=78 - i=2315 + i=13393 + + + + + i=297 + + + + ObjectToDelete + + i=17 + + -1 + + + + + + + - - NewStateId + + MoveOrCopy - i=68 + i=13396 + i=13397 i=78 - i=2315 - - - - OpenFileMode - - i=11940 - i=29 + i=13353 - - - - - - - - - EnumValues + + + InputArguments i=68 i=78 - i=11939 + i=13395 - i=7616 + i=297 - - 1 - - - - Read - + + ObjectToMoveOrCopy + + i=17 + + -1 + - + - i=7616 + i=297 - - 2 - - - - Write - + + TargetDirectory + + i=17 + + -1 + - + - i=7616 + i=297 - - 4 - - - - EraseExisting - + + CreateCopy + + i=1 + + -1 + - + - i=7616 + i=297 - - 8 - - - - Append - + + NewName + + i=12 + + -1 + - + - - DataItemType - A variable that contains live automation data. - - i=2366 - i=2367 - i=63 - - - - Definition - A vendor-specific, human readable string that specifies how the value of this DataItem is calculated. - - i=68 - i=80 - i=2365 - - - - ValuePrecision - The maximum precision that the server can maintain for the item based on restrictions in the target environment. + + OutputArguments i=68 - i=80 - i=2365 + i=78 + i=13395 + + + + + i=297 + + + + NewNodeId + + i=17 + + -1 + + + + + + + - - AnalogItemType - - i=2370 - i=2369 - i=2371 - i=2365 - - - - InstrumentRange + + FileSystem - i=68 - i=80 - i=2368 + i=16348 + i=16351 + i=16354 + i=16356 + i=13353 - - - EURange + + + CreateDirectory - i=68 - i=78 - i=2368 + i=16349 + i=16350 + i=16314 - - - EngineeringUnits + + + InputArguments i=68 - i=80 - i=2368 + i=16348 - - - DiscreteItemType + + + + + i=297 + + + + DirectoryName + + i=12 + + -1 + + + + + + + + + + OutputArguments - i=2365 + i=68 + i=16348 - - - TwoStateDiscreteType + + + + + i=297 + + + + DirectoryNodeId + + i=17 + + -1 + + + + + + + + + + CreateFile - i=2374 - i=2375 - i=2372 + i=16352 + i=16353 + i=16314 - - - FalseState + + + InputArguments i=68 - i=78 - i=2373 + i=16351 + + + + + i=297 + + + + FileName + + i=12 + + -1 + + + + + + + + i=297 + + + + RequestFileOpen + + i=1 + + -1 + + + + + + + - - TrueState + + OutputArguments i=68 - i=78 - i=2373 + i=16351 + + + + + i=297 + + + + FileNodeId + + i=17 + + -1 + + + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + - - MultiStateDiscreteType + + Delete - i=2377 - i=2372 + i=16355 + i=16314 - - - EnumStrings + + + InputArguments i=68 - i=78 - i=2376 + i=16354 + + + + + i=297 + + + + ObjectToDelete + + i=17 + + -1 + + + + + + + - - MultiStateValueDiscreteType + + MoveOrCopy - i=11241 - i=11461 - i=2372 + i=16357 + i=16358 + i=16314 - - - EnumValues + + + InputArguments i=68 - i=78 - i=11238 + 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 + + + + + + + - - ValueAsText + + OutputArguments i=68 - i=78 - i=11238 + i=16356 + + + + + i=297 + + + + NewNodeId + + i=17 + + -1 + + + + + + + - - ArrayItemType - - i=12024 - i=12025 - i=12026 - i=12027 - i=12028 - i=2365 - - - - InstrumentRange + + TemporaryFileTransferType - i=68 - i=80 - i=12021 + i=15745 + i=15746 + i=15749 + i=15751 + i=15754 + i=58 - - - EURange + + + ClientProcessingTimeout i=68 i=78 - i=12021 + i=15744 - - EngineeringUnits + + GenerateFileForRead - i=68 + i=15747 + i=15748 i=78 - i=12021 + i=15744 - - - Title + + + InputArguments i=68 i=78 - i=12021 + i=15746 + + + + + i=297 + + + + GenerateOptions + + i=24 + + -1 + + + + + + + - - AxisScaleType + + OutputArguments i=68 i=78 - i=12021 + i=15746 + + + + + i=297 + + + + FileNodeId + + i=17 + + -1 + + + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + i=297 + + + + CompletionStateMachine + + i=17 + + -1 + + + + + + + - - YArrayItemType - - i=12037 - i=12021 - - - - XAxisDefinition + + GenerateFileForWrite - i=68 + i=16359 + i=15750 i=78 - i=12029 - - - - XYArrayItemType - - i=12046 - i=12021 + i=15744 - - - XAxisDefinition + + + InputArguments i=68 i=78 - i=12038 + i=15749 + + + + + i=297 + + + + GenerateOptions + + i=24 + + -1 + + + + + + + - - ImageItemType - - i=12055 - i=12056 - i=12021 - - - - XAxisDefinition + + OutputArguments i=68 i=78 - i=12047 + i=15749 + + + + + i=297 + + + + FileNodeId + + i=17 + + -1 + + + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + - - YAxisDefinition + + CloseAndCommit - i=68 + i=15752 + i=15753 i=78 - i=12047 - - - - CubeItemType - - i=12065 - i=12066 - i=12067 - i=12021 + i=15744 - - - XAxisDefinition + + + InputArguments i=68 i=78 - i=12057 + i=15751 + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + - - YAxisDefinition + + OutputArguments i=68 i=78 - i=12057 - - - - ZAxisDefinition - - i=68 - i=78 - i=12057 + i=15751 + + + + + i=297 + + + + CompletionStateMachine + + i=17 + + -1 + + + + + + + - - NDimensionArrayItemType + + <TransferState> - i=12076 - i=12021 + i=15755 + i=15794 + i=15803 + i=11508 + i=15744 - - - AxisDefinition + + + CurrentState - i=68 + i=15756 + i=2760 i=78 - i=12068 + i=15754 - - TwoStateVariableType - - i=8996 - i=9000 - i=9001 - i=11110 - i=11111 - i=2755 - - - + Id i=68 i=78 - i=8995 + i=15755 - - TransitionTime + + Reset - i=68 - i=80 - i=8995 + i=78 + i=15754 - - - EffectiveTransitionTime - - i=68 - i=80 - i=8995 + + + FileTransferStateMachineType + + 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 - - - TrueState + + + Idle - i=68 - i=80 - i=8995 + i=15816 + i=2309 + i=15803 - - - FalseState + + + StateNumber i=68 - i=80 - i=8995 + i=78 + i=15815 - - ConditionVariableType + + ReadPrepare - i=9003 - i=63 + i=15818 + i=2307 + i=15803 - - - SourceTimestamp + + + StateNumber i=68 i=78 - i=9002 + i=15817 - - HasTrueSubState + + ReadTransfer - i=32 + i=15820 + i=2307 + i=15803 - IsTrueSubStateOf - - - HasFalseSubState + + + StateNumber - i=32 + i=68 + i=78 + i=15819 - IsFalseSubStateOf - - - ConditionType + + + ApplyWrite - i=11112 - i=11113 - 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 + i=15822 + i=2307 + i=15803 - - - ConditionClassId + + + StateNumber i=68 i=78 - i=2782 + i=15821 - - ConditionClassName + + Error - i=68 - i=78 - i=2782 + i=15824 + i=2307 + i=15803 - - - ConditionName + + + StateNumber i=68 i=78 - i=2782 + i=15823 - - BranchId + + IdleToReadPrepare + + i=15826 + i=2310 + i=15803 + + + + TransitionNumber i=68 i=78 - i=2782 + i=15825 - - Retain + + ReadPrepareToReadTransfer + + i=15828 + i=2310 + i=15803 + + + + TransitionNumber i=68 i=78 - i=2782 + i=15827 - - EnabledState + + ReadTransferToIdle - i=9012 - i=9015 - i=9016 - i=9017 - i=8995 - i=78 - i=2782 + i=15830 + i=2310 + i=15803 - - - Id + + + TransitionNumber i=68 i=78 - i=9011 + i=15829 - - EffectiveDisplayName + + IdleToApplyWrite - i=68 - i=80 - i=9011 + i=15832 + i=2310 + i=15803 - - - TransitionTime + + + TransitionNumber i=68 - i=80 - i=9011 + i=78 + i=15831 - - EffectiveTransitionTime + + ApplyWriteToIdle - i=68 - i=80 - i=9011 + i=15834 + i=2310 + i=15803 - - - Quality + + + TransitionNumber - i=9021 - i=9002 + i=68 i=78 - i=2782 + i=15833 - - SourceTimestamp + + ReadPrepareToError + + i=15836 + i=2310 + i=15803 + + + + TransitionNumber i=68 i=78 - i=9020 + i=15835 - - LastSeverity + + ReadTransferToError - i=9023 - i=9002 - i=78 - i=2782 + i=15838 + i=2310 + i=15803 - - - SourceTimestamp + + + TransitionNumber i=68 i=78 - i=9022 + i=15837 - - Comment + + ApplyWriteToError - i=9025 - i=9002 - i=78 - i=2782 + i=15840 + i=2310 + i=15803 - - - SourceTimestamp + + + TransitionNumber i=68 i=78 - i=9024 + i=15839 - - ClientUserId + + ErrorToIdle + + i=15842 + i=2310 + i=15803 + + + + TransitionNumber i=68 i=78 - i=2782 + i=15841 - - Disable + + Reset - i=2803 i=78 - i=2782 + i=15803 - - Enable + + RoleSetType + A container for the roles supported by the server. - i=2803 + i=15608 + i=15997 + i=16000 + i=58 + + + + <RoleName> + + i=16162 + i=15620 + i=11508 + i=15607 + + + + Identities + + i=68 i=78 - i=2782 + i=15608 - - - AddComment + + + AddRole - i=9030 - i=2829 + i=15998 + i=15999 i=78 - i=2782 + i=15607 - + InputArguments i=68 i=78 - i=9029 + i=15997 @@ -10645,17 +11071,13 @@ - EventId + RoleName - i=15 + i=12 -1 - - - - The identifier for the event to comment. - + @@ -10665,38 +11087,25 @@ - Comment + NamespaceUri - i=21 + i=12 -1 - - - - The comment to add to the condition. - + - - ConditionRefresh - - i=3876 - i=2787 - i=2788 - i=2782 - - - - InputArguments + + OutputArguments i=68 i=78 - i=3875 + i=15997 @@ -10706,38 +11115,33 @@ - SubscriptionId + RoleNodeId - i=288 + i=17 -1 - - - - The identifier for the suscription to refresh. - + - - ConditionRefresh2 + + RemoveRole - i=12913 - i=2787 - i=2788 - i=2782 + i=16001 + i=78 + i=15607 - + InputArguments i=68 i=78 - i=12912 + i=16000 @@ -10747,166 +11151,198 @@ - SubscriptionId - - i=288 - - -1 - - - - - The identifier for the suscription to refresh. - - - - - - - i=297 - - - - MonitoredItemId + RoleNodeId - i=288 + i=17 -1 - - - - The identifier for the monitored item to refresh. - + - - DialogConditionType - - i=9035 - i=9055 - i=2831 - i=9064 - i=9065 - i=9066 - i=9067 - i=9068 - i=9069 - i=2782 + + RoleType + + i=16173 + i=16174 + i=15410 + i=16175 + i=15411 + i=15624 + i=15626 + i=16176 + i=16178 + i=16180 + i=16182 + i=58 - - EnabledState + + Identities - i=9036 - i=9055 - i=8995 + i=68 i=78 - i=2830 + i=15620 - - Id + + Applications i=68 - i=78 - i=9035 + i=80 + i=15620 - - DialogState + + ApplicationsExclude - i=9056 - i=9060 - i=9035 - i=8995 - i=78 - i=2830 + i=68 + i=80 + i=15620 - - Id + + Endpoints i=68 - i=78 - i=9055 + i=80 + i=15620 - - TransitionTime + + EndpointsExclude i=68 i=80 - i=9055 + i=15620 - - Prompt + + AddIdentity - i=68 - i=78 - i=2830 + i=15625 + i=80 + i=15620 - - - ResponseOptionSet + + + InputArguments i=68 i=78 - i=2830 + i=15624 + + + + + i=297 + + + + RuleToAdd + + i=15634 + + -1 + + + + + + + - - DefaultResponse + + RemoveIdentity - i=68 - i=78 - i=2830 + i=15627 + i=80 + i=15620 - - - OkResponse + + + InputArguments i=68 i=78 - i=2830 + i=15626 + + + + + i=297 + + + + RuleToRemove + + i=15634 + + -1 + + + + + + + - - CancelResponse + + AddApplication - i=68 - i=78 - i=2830 + i=16177 + i=80 + i=15620 - - - LastResponse + + + InputArguments i=68 i=78 - i=2830 + i=16176 + + + + + i=297 + + + + RuleToAdd + + i=12 + + -1 + + + + + + + - - Respond + + RemoveApplication - i=9070 - i=8927 - i=78 - i=2830 + i=16179 + i=80 + i=15620 - + InputArguments i=68 i=78 - i=9069 + i=16178 @@ -10916,122 +11352,296 @@ - SelectedResponse + RuleToRemove - i=6 + i=12 -1 - - - - The response to the dialog condition. - + - - AcknowledgeableConditionType + + AddEndpoint - i=9073 - i=9093 - i=9102 - i=9111 - i=9113 - i=2782 + i=16181 + i=80 + i=15620 - - - EnabledState + + + InputArguments - i=9074 - i=9093 - i=9102 - i=8995 + i=68 i=78 - i=2881 + i=16180 + + + + + i=297 + + + + RuleToAdd + + i=12 + + -1 + + + + + + + - - Id + + RemoveEndpoint + + i=16183 + i=80 + i=15620 + + + + InputArguments i=68 i=78 - i=9073 + i=16182 + + + + + i=297 + + + + RuleToRemove + + i=12 + + -1 + + + + + + + - - AckedState + + IdentityCriteriaType - i=9094 - i=9098 - i=9073 - i=8995 + i=15633 + i=29 + + + + + + + + + + + + EnumValues + + i=68 i=78 - i=2881 + 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 + + + + + + + - - Id + + IdentityMappingRuleType + + i=22 + + + + + + + + RoleMappingRuleChangedAuditEventType + + i=2127 + + + + Anonymous + The Role has very limited access for use when a Session has anonymous credentials. + + 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=78 - i=9093 + i=15644 - - TransitionTime + + Applications i=68 - i=80 - i=9093 + i=15644 - - ConfirmedState + + ApplicationsExclude - i=9103 - i=9107 - i=9073 - i=8995 - i=80 - i=2881 + i=68 + i=15644 - - Id + + Endpoints i=68 - i=78 - i=9102 + i=15644 - - TransitionTime + + EndpointsExclude i=68 - i=80 - i=9102 + i=15644 - - Acknowledge + + AddIdentity - i=9112 - i=8944 - i=78 - i=2881 + i=15649 + i=15644 - + InputArguments i=68 - i=78 - i=9111 + i=15648 @@ -11041,58 +11651,65 @@ - EventId + RuleToAdd - i=15 + i=15634 -1 - - - - The identifier for the event to comment. - + + + + + + RemoveIdentity + + i=15651 + i=15644 + + + + InputArguments + + i=68 + i=15650 + + + i=297 - Comment + RuleToRemove - i=21 + i=15634 -1 - - - - The comment to add to the condition. - + - - Confirm + + AddApplication - i=9114 - i=8961 - i=80 - i=2881 + i=16196 + i=15644 - + InputArguments i=68 - i=78 - i=9113 + i=16195 @@ -11102,253 +11719,187 @@ - EventId + RuleToAdd - i=15 + i=12 -1 - - - - The identifier for the event to comment. - + + + + + + RemoveApplication + + i=16198 + i=15644 + + + + InputArguments + + i=68 + i=16197 + + + i=297 - Comment + RuleToRemove - i=21 + i=12 -1 - - - - The comment to add to the condition. - + - - AlarmConditionType - - i=9118 - i=9160 - i=11120 - i=9169 - i=9178 - i=9215 - i=9216 - 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=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 + + AddEndpoint - i=68 - i=80 - i=9160 + i=16200 + i=15644 - - - InputNode + + + InputArguments i=68 - i=78 - i=2915 - - - - SuppressedState - - i=9170 - i=9174 - i=9118 - i=8995 - i=80 - i=2915 + i=16199 + + + + + i=297 + + + + RuleToAdd + + i=12 + + -1 + + + + + + + - - Id + + RemoveEndpoint - i=68 - i=78 - i=9169 + i=16202 + i=15644 - - - TransitionTime + + + InputArguments i=68 - i=80 - i=9169 + i=16201 + + + + + i=297 + + + + RuleToRemove + + i=12 + + -1 + + + + + + + - - ShelvingState + + AuthenticatedUser + The Role has limited access for use when a Session has valid non-anonymous credentials but has not been explicity granted access to a Role. - i=9179 - i=9184 - i=9189 - i=9211 - i=9212 - i=9213 - i=9118 - i=2929 - i=80 - i=2915 + 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 - - CurrentState - - i=9180 - i=2760 - i=78 - i=9178 - - - - Id + + Identities i=68 - i=78 - i=9179 + i=15656 - - LastTransition + + Applications - i=9185 - i=9188 - i=2767 - i=80 - i=9178 + i=68 + i=15656 - - Id + + ApplicationsExclude i=68 - i=78 - i=9184 + i=15656 - - TransitionTime + + Endpoints i=68 - i=80 - i=9184 + i=15656 - - UnshelveTime + + EndpointsExclude i=68 - i=78 - i=9178 + i=15656 - - Unshelve - - i=11093 - i=78 - i=9178 - - - - OneShotShelve - - i=11093 - i=78 - i=9178 - - - - TimedShelve + + AddIdentity - i=9214 - i=11093 - i=78 - i=9178 + i=15661 + i=15656 - + InputArguments i=68 - i=78 - i=9213 + i=15660 @@ -11358,283 +11909,425 @@ - ShelvingTime + RuleToAdd - i=290 + i=15634 -1 - - - - If not 0, this parameter specifies a fixed time for which the Alarm is to be shelved. - + - - SuppressedOrShelved + + RemoveIdentity + + i=15663 + i=15656 + + + + InputArguments i=68 - i=78 - i=2915 + i=15662 + + + + + i=297 + + + + RuleToRemove + + i=15634 + + -1 + + + + + + + - - MaxTimeShelved + + AddApplication + + i=16207 + i=15656 + + + + InputArguments i=68 - i=80 - i=2915 + i=16206 + + + + + i=297 + + + + RuleToAdd + + i=12 + + -1 + + + + + + + - - ShelvedStateMachineType + + RemoveApplication - i=9115 - i=2930 - i=2932 - i=2933 - i=2935 - i=2936 - i=2940 - i=2942 - i=2943 - i=2945 - i=2947 - i=2948 - i=2949 - i=2771 + i=16209 + i=15656 - - - UnshelveTime + + + InputArguments i=68 - i=78 - i=2929 + i=16208 + + + + + i=297 + + + + RuleToRemove + + i=12 + + -1 + + + + + + + - - Unshelved + + AddEndpoint - i=6098 - i=2935 - i=2936 - i=2940 - i=2943 - i=2307 - i=2929 + i=16211 + i=15656 - - - StateNumber + + + InputArguments i=68 - i=78 - i=2930 + i=16210 + + + + + i=297 + + + + RuleToAdd + + i=12 + + -1 + + + + + + + - - TimedShelved + + RemoveEndpoint - i=6100 - i=2935 - i=2940 - i=2942 - i=2945 - i=2307 - i=2929 + i=16213 + i=15656 - - - StateNumber + + + InputArguments i=68 - i=78 - i=2932 + i=16212 + + + + + i=297 + + + + RuleToRemove + + i=12 + + -1 + + + + + + + - - OneShotShelved + + Observer + The Role is allowed to browse, read live data, read historical data/events or subscribe to data/events. - i=6101 - i=2936 - i=2942 - i=2943 - i=2945 - i=2307 - i=2929 + 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 - - StateNumber + + Identities i=68 - i=78 - i=2933 + i=15668 - - UnshelvedToTimedShelved + + Applications - i=11322 - i=2930 - i=2932 - i=2915 - i=2949 - i=2310 - i=2929 + i=68 + i=15668 - - - TransitionNumber + + + ApplicationsExclude i=68 - i=78 - i=2935 + i=15668 - - UnshelvedToOneShotShelved + + Endpoints - i=11323 - i=2930 - i=2933 - i=2915 - i=2948 - i=2310 - i=2929 + i=68 + i=15668 - - - TransitionNumber + + + EndpointsExclude i=68 - i=78 - i=2936 + i=15668 - - TimedShelvedToUnshelved + + AddIdentity - i=11324 - i=2932 - i=2930 - i=2915 - i=2947 - i=2310 - i=2929 + i=15673 + i=15668 - - - TransitionNumber + + + InputArguments i=68 - i=78 - i=2940 + i=15672 + + + + + i=297 + + + + RuleToAdd + + i=15634 + + -1 + + + + + + + - - TimedShelvedToOneShotShelved + + RemoveIdentity - i=11325 - i=2932 - i=2933 - i=2915 - i=2948 - i=2310 - i=2929 + i=15675 + i=15668 - - - TransitionNumber + + + InputArguments i=68 - i=78 - i=2942 + i=15674 + + + + + i=297 + + + + RuleToRemove + + i=15634 + + -1 + + + + + + + - - OneShotShelvedToUnshelved + + AddApplication - i=11326 - i=2933 - i=2930 - i=2915 - i=2947 - i=2310 - i=2929 + i=16218 + i=15668 - - - TransitionNumber + + + InputArguments i=68 - i=78 - i=2943 + i=16217 + + + + + i=297 + + + + RuleToAdd + + i=12 + + -1 + + + + + + + - - OneShotShelvedToTimedShelved + + RemoveApplication - i=11327 - i=2933 - i=2932 - i=2915 - i=2949 - i=2310 - i=2929 + i=16220 + i=15668 - - - TransitionNumber + + + InputArguments i=68 - i=78 - i=2945 + i=16219 + + + + + i=297 + + + + RuleToRemove + + i=12 + + -1 + + + + + + + - - Unshelve + + AddEndpoint - i=2940 - i=2943 - i=11093 - i=78 - i=2929 + i=16222 + i=15668 - - OneShotShelve + + InputArguments - i=2936 - i=2942 - i=11093 - i=78 - i=2929 + i=68 + i=16221 - - - TimedShelve + + + + + i=297 + + + + RuleToAdd + + i=12 + + -1 + + + + + + + + + + RemoveEndpoint - i=2991 - i=2935 - i=2945 - i=11093 - i=78 - i=2929 + i=16224 + i=15668 - + InputArguments i=68 - i=78 - i=2949 + i=16223 @@ -11644,2064 +12337,2414 @@ - ShelvingTime + RuleToRemove - i=290 + i=12 -1 - - - - If not 0, this parameter specifies a fixed time for which the Alarm is to be shelved. - + - - LimitAlarmType + + Operator + The Role is allowed to browse, read live data, read historical data/events or subscribe to data/events. - i=11124 - i=11125 - i=11126 - i=11127 - i=2915 + 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 - - - HighHighLimit + + + Identities i=68 - i=80 - i=2955 + i=15680 - - HighLimit + + Applications i=68 - i=80 - i=2955 + i=15680 - - LowLimit + + ApplicationsExclude i=68 - i=80 - i=2955 + i=15680 - - LowLowLimit + + Endpoints i=68 - i=80 - i=2955 + i=15680 - - ExclusiveLimitStateMachineType + + EndpointsExclude - i=9329 - i=9331 - i=9333 - i=9335 - i=9337 - i=9338 - i=9339 - i=9340 - i=2771 + i=68 + i=15680 - - - HighHigh + + + AddIdentity - i=9330 - i=9339 - i=9340 - i=2307 - i=9318 + i=15685 + i=15680 - - - StateNumber + + + InputArguments i=68 - i=78 - i=9329 + i=15684 + + + + + i=297 + + + + RuleToAdd + + i=15634 + + -1 + + + + + + + - - High + + RemoveIdentity - i=9332 - i=9339 - i=9340 - i=2307 - i=9318 + i=15687 + i=15680 - - - StateNumber + + + InputArguments i=68 - i=78 - i=9331 + i=15686 + + + + + i=297 + + + + RuleToRemove + + i=15634 + + -1 + + + + + + + - - Low + + AddApplication - i=9334 - i=9337 - i=9338 - i=2307 - i=9318 + i=16229 + i=15680 - - - StateNumber + + + InputArguments i=68 - i=78 - i=9333 + i=16228 + + + + + i=297 + + + + RuleToAdd + + i=12 + + -1 + + + + + + + - - LowLow + + RemoveApplication - i=9336 - i=9337 - i=9338 - i=2307 - i=9318 + i=16231 + i=15680 - - - StateNumber + + + InputArguments i=68 - i=78 - i=9335 + i=16230 + + + + + i=297 + + + + RuleToRemove + + i=12 + + -1 + + + + + + + - - LowLowToLow + + AddEndpoint - i=11340 - i=9335 - i=9333 - i=2310 - i=9318 + i=16233 + i=15680 - - - TransitionNumber + + + InputArguments i=68 - i=78 - i=9337 + i=16232 + + + + + i=297 + + + + RuleToAdd + + i=12 + + -1 + + + + + + + - - LowToLowLow + + RemoveEndpoint - i=11341 - i=9333 - i=9335 - i=2310 - i=9318 + i=16235 + i=15680 - - - TransitionNumber + + + InputArguments i=68 - i=78 - i=9338 + i=16234 + + + + + i=297 + + + + RuleToRemove + + i=12 + + -1 + + + + + + + - - HighHighToHigh + + Engineer + The Role is allowed to browse, read live data, read and update historical data/events, call methods or subscribe to data/events. - i=11342 - i=9329 - i=9331 - i=2310 - i=9318 + 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 - - TransitionNumber + + Identities i=68 - i=78 - i=9339 + i=16036 - - HighToHighHigh - - i=11343 - i=9331 - i=9329 - i=2310 - i=9318 - - - - TransitionNumber + + Applications i=68 - i=78 - i=9340 - - - - ExclusiveLimitAlarmType - - i=9398 - i=9455 - i=2955 - - - - ActiveState - - i=9399 - i=9455 - i=8995 - i=78 - i=9341 + i=16036 - - Id + + ApplicationsExclude i=68 - i=78 - i=9398 + i=16036 - - LimitState - - i=9456 - i=9461 - i=9398 - i=9318 - i=78 - i=9341 - - - - CurrentState + + Endpoints - i=9457 - i=2760 - i=78 - i=9455 + i=68 + i=16036 - - Id + + EndpointsExclude i=68 - i=78 - i=9456 + i=16036 - - LastTransition + + AddIdentity - i=9462 - i=9465 - i=2767 - i=80 - i=9455 + i=16042 + i=16036 - - - Id + + + InputArguments i=68 - i=78 - i=9461 + i=16041 + + + + + i=297 + + + + RuleToAdd + + i=15634 + + -1 + + + + + + + - - TransitionTime + + RemoveIdentity - i=68 - i=80 - i=9461 + i=16044 + i=16036 - - - NonExclusiveLimitAlarmType + + + InputArguments - i=9963 - i=10020 - i=10029 - i=10038 - i=10047 - i=2955 + i=68 + i=16043 - - - ActiveState + + + + + i=297 + + + + RuleToRemove + + i=15634 + + -1 + + + + + + + + + + AddApplication - i=9964 - i=10020 - i=10029 - i=10038 - i=10047 - i=8995 - i=78 - i=9906 + i=16240 + i=16036 - - - Id + + + InputArguments i=68 - i=78 - i=9963 + i=16239 + + + + + i=297 + + + + RuleToAdd + + i=12 + + -1 + + + + + + + - - HighHighState + + RemoveApplication - i=10021 - i=10025 - i=9963 - i=8995 - i=80 - i=9906 + i=16242 + i=16036 - - - Id + + + InputArguments i=68 - i=78 - i=10020 + i=16241 + + + + + i=297 + + + + RuleToRemove + + i=12 + + -1 + + + + + + + - - TransitionTime + + AddEndpoint - i=68 - i=80 - i=10020 + i=16244 + i=16036 - - - HighState + + + InputArguments - i=10030 - i=10034 - i=9963 - i=8995 - i=80 - i=9906 + i=68 + i=16243 + + + + + i=297 + + + + RuleToAdd + + i=12 + + -1 + + + + + + + - - Id + + RemoveEndpoint - i=68 - i=78 - i=10029 + i=16246 + i=16036 - - - TransitionTime + + + InputArguments i=68 - i=80 - i=10029 + i=16245 + + + + + i=297 + + + + RuleToRemove + + i=12 + + -1 + + + + + + + - - LowState + + Supervisor + The Role is allowed to browse, read live data, read and historical data/events, call methods or subscribe to data/events. - i=10039 - i=10043 - i=9963 - i=8995 - i=80 - i=9906 + 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 - - - Id + + + Identities i=68 - i=78 - i=10038 + i=15692 - - TransitionTime + + Applications i=68 - i=80 - i=10038 + i=15692 - - LowLowState + + ApplicationsExclude - i=10048 - i=10052 - i=9963 - i=8995 - i=80 - i=9906 + i=68 + i=15692 - - Id + + Endpoints i=68 - i=78 - i=10047 + i=15692 - - TransitionTime + + EndpointsExclude i=68 - i=80 - i=10047 + i=15692 - - NonExclusiveLevelAlarmType - - i=9906 - - - - ExclusiveLevelAlarmType - - i=9341 - - - - NonExclusiveDeviationAlarmType + + AddIdentity - i=10522 - i=9906 + i=15697 + i=15692 - - - SetpointNode + + + InputArguments i=68 - i=78 - i=10368 + i=15696 + + + + + i=297 + + + + RuleToAdd + + i=15634 + + -1 + + + + + + + - - ExclusiveDeviationAlarmType + + RemoveIdentity - i=9905 - i=9341 + i=15699 + i=15692 - - - SetpointNode + + + InputArguments i=68 - i=78 - i=9764 + i=15698 + + + + + i=297 + + + + RuleToRemove + + i=15634 + + -1 + + + + + + + - - NonExclusiveRateOfChangeAlarmType + + AddApplication - i=9906 + i=16251 + i=15692 - - - ExclusiveRateOfChangeAlarmType + + + InputArguments - i=9341 + i=68 + i=16250 - - - DiscreteAlarmType - - i=2915 - - - - OffNormalAlarmType + + + + + i=297 + + + + RuleToAdd + + i=12 + + -1 + + + + + + + + + + RemoveApplication - i=11158 - i=10523 + i=16253 + i=15692 - - - NormalState + + + InputArguments i=68 - i=78 - i=10637 + i=16252 + + + + + i=297 + + + + RuleToRemove + + i=12 + + -1 + + + + + + + - - SystemOffNormalAlarmType - - i=10637 - - - - CertificateExpirationAlarmType - - i=13325 - i=14900 - i=13326 - i=13327 - i=11753 - - - - ExpirationDate + + AddEndpoint - i=68 - i=78 - i=13225 + i=16255 + i=15692 - - - ExpirationLimit + + + InputArguments i=68 - i=80 - i=13225 + i=16254 + + + + + i=297 + + + + RuleToAdd + + i=12 + + -1 + + + + + + + - - CertificateType + + RemoveEndpoint - i=68 - i=78 - i=13225 + i=16257 + i=15692 - - - Certificate + + + InputArguments i=68 - i=78 - i=13225 + i=16256 + + + + + i=297 + + + + RuleToRemove + + i=12 + + -1 + + + + + + + - - TripAlarmType - - i=10637 - - - - BaseConditionClassType - - i=58 - - - - ProcessConditionClassType - - i=11163 - - - - MaintenanceConditionClassType - - i=11163 - - - - SystemConditionClassType - - i=11163 - - - - AuditConditionEventType - - i=2127 - - - - AuditConditionEnableEventType - - i=2790 - - - - AuditConditionCommentEventType + + ConfigureAdmin + The Role is allowed to change the non-security related configuration settings. - i=4170 - i=11851 - i=2790 + 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 - - - EventId - A globally unique identifier for the event. + + + Identities i=68 - i=78 - i=2829 + i=15716 - - Comment + + Applications i=68 - i=78 - i=2829 + i=15716 - - AuditConditionRespondEventType - - i=11852 - i=2790 - - - - SelectedResponse + + ApplicationsExclude i=68 - i=78 - i=8927 + i=15716 - - AuditConditionAcknowledgeEventType - - i=8945 - i=11853 - i=2790 - - - - EventId - A globally unique identifier for the event. + + Endpoints i=68 - i=78 - i=8944 + i=15716 - - Comment + + EndpointsExclude i=68 - i=78 - i=8944 + i=15716 - - AuditConditionConfirmEventType - - i=8962 - i=11854 - i=2790 - - - - EventId - A globally unique identifier for the event. + + AddIdentity - i=68 - i=78 - i=8961 + i=15721 + i=15716 - - - Comment + + + InputArguments i=68 - i=78 - i=8961 + i=15720 + + + + + i=297 + + + + RuleToAdd + + i=15634 + + -1 + + + + + + + - - AuditConditionShelvingEventType + + RemoveIdentity - i=11855 - i=2790 + i=15723 + i=15716 - - - ShelvingTime + + + InputArguments i=68 - i=78 - i=11093 + i=15722 + + + + + i=297 + + + + RuleToRemove + + i=15634 + + -1 + + + + + + + - - RefreshStartEventType - - i=2130 - - - - RefreshEndEventType - - i=2130 - - - - RefreshRequiredEventType + + AddApplication - i=2130 + i=16273 + i=15716 - - - HasCondition + + + InputArguments - i=32 + i=68 + i=16272 - IsConditionOf - - - ProgramStateMachineType - A state machine for a program. + + + + + i=297 + + + + RuleToAdd + + i=12 + + -1 + + + + + + + + + + RemoveApplication - i=3830 - i=3835 - i=2392 - i=2393 - i=2394 - i=2395 - i=2396 - i=2397 - i=2398 - i=2399 - i=3850 - i=2400 - i=2402 - i=2404 - i=2406 - 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 + i=16275 + i=15716 - - - CurrentState + + + InputArguments - i=3831 - i=3833 - i=2760 - i=78 - i=2391 + i=68 + i=16274 + + + + + i=297 + + + + RuleToRemove + + i=12 + + -1 + + + + + + + - - Id + + AddEndpoint - i=68 - i=78 - i=3830 + i=16277 + i=15716 - - - Number + + + InputArguments i=68 - i=78 - i=3830 + i=16276 + + + + + i=297 + + + + RuleToAdd + + i=12 + + -1 + + + + + + + - - LastTransition + + RemoveEndpoint - i=3836 - i=3838 - i=3839 - i=2767 - i=78 - i=2391 + i=16279 + i=15716 - - - Id + + + InputArguments i=68 - i=78 - i=3835 + i=16278 + + + + + i=297 + + + + RuleToRemove + + i=12 + + -1 + + + + + + + - - Number + + SecurityAdmin + The Role is allowed to change security related settings. - i=68 - i=78 - i=3835 + 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 - - - TransitionTime + + + Identities i=68 - i=78 - i=3835 + i=15704 - - Creatable + + Applications i=68 - i=2391 + i=15704 - - Deletable + + ApplicationsExclude i=68 - i=78 - i=2391 + i=15704 - - AutoDelete + + Endpoints i=68 - i=79 - i=2391 + i=15704 - - RecycleCount + + EndpointsExclude i=68 - i=78 - i=2391 + i=15704 - - InstanceCount + + AddIdentity - i=68 - i=2391 + i=15709 + i=15704 - - - MaxInstanceCount + + + InputArguments i=68 - i=2391 + i=15708 + + + + + i=297 + + + + RuleToAdd + + i=15634 + + -1 + + + + + + + - - MaxRecycleCount + + RemoveIdentity - i=68 - i=2391 + i=15711 + i=15704 - - - ProgramDiagnostics + + + InputArguments - i=3840 - i=3841 - i=3842 - i=3843 - i=3844 - i=3845 - i=3846 - i=3847 - i=3848 - i=3849 - i=2380 - i=80 - i=2391 + i=68 + i=15710 + + + + + i=297 + + + + RuleToRemove + + i=15634 + + -1 + + + + + + + - - CreateSessionId + + AddApplication - i=68 - i=78 - i=2399 + i=16262 + i=15704 - - - CreateClientName + + + InputArguments i=68 - i=78 - i=2399 + i=16261 + + + + + i=297 + + + + RuleToAdd + + i=12 + + -1 + + + + + + + - - InvocationCreationTime + + RemoveApplication + + i=16264 + i=15704 + + + + InputArguments i=68 - i=78 - i=2399 + i=16263 + + + + + i=297 + + + + RuleToRemove + + i=12 + + -1 + + + + + + + - - LastTransitionTime + + AddEndpoint + + i=16266 + i=15704 + + + + InputArguments i=68 - i=78 - i=2399 + i=16265 + + + + + i=297 + + + + RuleToAdd + + i=12 + + -1 + + + + + + + - - LastMethodCall + + RemoveEndpoint + + i=16268 + i=15704 + + + + InputArguments i=68 - i=78 - i=2399 + i=16267 + + + + + i=297 + + + + RuleToRemove + + i=12 + + -1 + + + + + + + - - LastMethodSessionId + + DataItemType + A variable that contains live automation data. + + i=2366 + i=2367 + i=63 + + + + Definition + A vendor-specific, human readable string that specifies how the value of this DataItem is calculated. i=68 - i=78 - i=2399 + i=80 + i=2365 - - LastMethodInputArguments + + ValuePrecision + The maximum precision that the server can maintain for the item based on restrictions in the target environment. i=68 - i=78 - i=2399 + i=80 + i=2365 - - LastMethodOutputArguments + + AnalogItemType + + i=2370 + i=2369 + i=2371 + i=2365 + + + + InstrumentRange i=68 - i=78 - i=2399 + i=80 + i=2368 - - LastMethodCallTime + + EURange i=68 i=78 - i=2399 + i=2368 - - LastMethodReturnStatus + + EngineeringUnits i=68 - i=78 - i=2399 + i=80 + i=2368 - - FinalResultData + + DiscreteItemType - i=58 - i=80 - i=2391 + i=2365 - - - Ready - The Program is properly initialized and may be started. + + + TwoStateDiscreteType - i=2401 - i=2408 - i=2410 - i=2414 - i=2422 - i=2424 - i=2307 - i=2391 + i=2374 + i=2375 + i=2372 - - - StateNumber + + + FalseState i=68 i=78 - i=2400 + i=2373 - - 1 - - - Running - The Program is executing making progress towards completion. - - i=2403 - i=2410 - i=2412 - i=2414 - i=2416 - i=2418 - i=2307 - i=2391 - - - - StateNumber + + TrueState i=68 i=78 - i=2402 + i=2373 - - 2 - - - Suspended - The Program has been stopped prior to reaching a terminal state but may be resumed. + + MultiStateDiscreteType - i=2405 - i=2416 - i=2418 - i=2420 - i=2422 - i=2307 - i=2391 + i=2377 + i=2372 - - - StateNumber + + + EnumStrings i=68 i=78 - i=2404 + i=2376 - - 3 - - - Halted - The Program is in a terminal or failed state, and it cannot be started or resumed without being reset. + + MultiStateValueDiscreteType - i=2407 - i=2408 - i=2412 - i=2420 - i=2424 - i=2307 - i=2391 + i=11241 + i=11461 + i=2372 - - - StateNumber + + + EnumValues i=68 i=78 - i=2406 + i=11238 - - 4 - - - HaltedToReady - - i=2409 - i=2406 - i=2400 - i=2430 - i=2378 - i=2310 - i=2391 - - - - TransitionNumber + + ValueAsText i=68 i=78 - i=2408 + i=11238 - - 1 - - - ReadyToRunning + + ArrayItemType - i=2411 - i=2400 - i=2402 - i=2426 - i=2378 - i=2310 - i=2391 + i=12024 + i=12025 + i=12026 + i=12027 + i=12028 + i=2365 - - - TransitionNumber + + + InstrumentRange i=68 - i=78 - i=2410 + i=80 + i=12021 - - 2 - - - RunningToHalted - - i=2413 - i=2402 - i=2406 - i=2429 - i=2378 - i=2310 - i=2391 - - - - TransitionNumber + + EURange i=68 i=78 - i=2412 + i=12021 - - 3 - - - RunningToReady - - i=2415 - i=2402 - i=2400 - i=2378 - i=2310 - i=2391 - - - - TransitionNumber + + EngineeringUnits i=68 i=78 - i=2414 + i=12021 - - 4 - - - RunningToSuspended + + Title - i=2417 - i=2402 - i=2404 - i=2427 - i=2378 - i=2310 - i=2391 + i=68 + i=78 + i=12021 - - - TransitionNumber + + + AxisScaleType i=68 i=78 - i=2416 + i=12021 - - 5 - - - SuspendedToRunning + + YArrayItemType - i=2419 - i=2404 - i=2402 - i=2428 - i=2378 - i=2310 - i=2391 + i=12037 + i=12021 - - - TransitionNumber + + + XAxisDefinition i=68 i=78 - i=2418 + i=12029 - - 6 - - - SuspendedToHalted + + XYArrayItemType - i=2421 - i=2404 - i=2406 - i=2429 - i=2378 - i=2310 - i=2391 + i=12046 + i=12021 - - - TransitionNumber + + + XAxisDefinition i=68 i=78 - i=2420 + i=12038 - - 7 - - - SuspendedToReady + + ImageItemType - i=2423 - i=2404 - i=2400 - i=2378 - i=2310 - i=2391 + i=12055 + i=12056 + i=12021 - - - TransitionNumber + + + XAxisDefinition i=68 i=78 - i=2422 + i=12047 - - 8 - - - ReadyToHalted - - i=2425 - i=2400 - i=2406 - i=2429 - i=2378 - i=2310 - i=2391 - - - - TransitionNumber + + YAxisDefinition i=68 i=78 - i=2424 + i=12047 - - 9 - - - Start - Causes the Program to transition from the Ready state to the Running state. - - i=2410 - i=78 - i=2391 - - - - Suspend - Causes the Program to transition from the Running state to the Suspended state. - - i=2416 - i=78 - i=2391 - - - - Resume - Causes the Program to transition from the Suspended state to the Running state. - - i=2418 - i=78 - i=2391 - - - - Halt - Causes the Program to transition from the Ready, Running or Suspended state to the Halted state. - - i=2412 - i=2420 - i=2424 - i=78 - i=2391 - - - - Reset - Causes the Program to transition from the Halted state to the Ready state. - - i=2408 - i=78 - i=2391 - - - - ProgramTransitionEventType + + CubeItemType - i=2379 - i=2311 + i=12065 + i=12066 + i=12067 + i=12021 - - - IntermediateResult + + + XAxisDefinition i=68 i=78 - i=2378 + i=12057 - - AuditProgramTransitionEventType - - i=11875 - i=2315 - - - - TransitionNumber + + YAxisDefinition i=68 i=78 - i=11856 - - - - ProgramTransitionAuditEventType - - i=3825 - i=2315 - - - - Transition - - i=3826 - i=2767 - i=78 - i=3806 + i=12057 - - Id + + ZAxisDefinition i=68 i=78 - i=3825 + i=12057 - - ProgramDiagnosticType + + NDimensionArrayItemType - i=2381 - i=2382 - i=2383 - i=2384 - i=2385 - i=2386 - i=2387 - i=2388 - i=2389 - i=2390 - i=63 + i=12076 + i=12021 - - CreateSessionId + + AxisDefinition i=68 i=78 - i=2380 + i=12068 - - CreateClientName + + TwoStateVariableType - i=68 - i=78 - i=2380 + i=8996 + i=9000 + i=9001 + i=11110 + i=11111 + i=2755 - - - InvocationCreationTime + + + Id i=68 i=78 - i=2380 + i=8995 - - LastTransitionTime + + TransitionTime i=68 - i=78 - i=2380 + i=80 + i=8995 - - LastMethodCall + + EffectiveTransitionTime i=68 - i=78 - i=2380 + i=80 + i=8995 - - LastMethodSessionId + + TrueState i=68 - i=78 - i=2380 + i=80 + i=8995 - - LastMethodInputArguments + + FalseState i=68 - i=78 - i=2380 + i=80 + i=8995 - - LastMethodOutputArguments + + ConditionVariableType - i=68 - i=78 - i=2380 + i=9003 + i=63 - - - LastMethodCallTime + + + SourceTimestamp i=68 i=78 - i=2380 + i=9002 - - LastMethodReturnStatus + + HasTrueSubState - i=68 - i=78 - i=2380 + i=32 - - - Annotations + IsTrueSubStateOf + + + HasFalseSubState - i=68 + i=32 - - - HistoricalDataConfigurationType + IsFalseSubStateOf + + + HasAlarmSuppressionGroup - i=3059 - i=11876 - i=2323 - i=2324 - i=2325 - i=2326 - i=2327 - i=2328 - i=11499 - i=11500 - i=58 + i=47 - - - AggregateConfiguration + IsAlarmSuppressionGroupOf + + + AlarmGroupMember - i=11168 - i=11169 - i=11170 - i=11171 - i=11187 - i=78 - i=2318 + i=35 - - - TreatUncertainAsBad + MemberOfAlarmGroup + + + ConditionType - i=68 - i=78 - i=3059 + 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 - - - PercentDataBad + + + ConditionClassId i=68 i=78 - i=3059 + i=2782 - - PercentDataGood + + ConditionClassName i=68 i=78 - i=3059 + i=2782 - - UseSlopedExtrapolation + + ConditionSubClassId i=68 - i=78 - i=3059 - - - - AggregateFunctions - - i=61 i=80 - i=2318 - - - - Stepped - - i=68 - i=78 - i=2318 + i=2782 - - Definition + + ConditionSubClassName i=68 i=80 - i=2318 + i=2782 - - MaxTimeInterval + + ConditionName i=68 - i=80 - i=2318 + i=78 + i=2782 - - MinTimeInterval + + BranchId i=68 - i=80 - i=2318 + i=78 + i=2782 - - ExceptionDeviation + + Retain i=68 - i=80 - i=2318 + i=78 + i=2782 - - ExceptionDeviationFormat + + EnabledState - i=68 - i=80 - i=2318 + i=9012 + i=9015 + i=9016 + i=9017 + i=9018 + i=9019 + i=8995 + i=78 + i=2782 - - StartOfArchive + + Id i=68 - i=80 - i=2318 + i=78 + i=9011 - - StartOfOnlineArchive + + EffectiveDisplayName i=68 i=80 - i=2318 + i=9011 - - HA Configuration - - i=11203 - i=11208 - i=2318 - - - - AggregateConfiguration - - i=11204 - i=11205 - i=11206 - i=11207 - i=11187 - i=11202 - - - - TreatUncertainAsBad + + TransitionTime i=68 - i=11203 + i=80 + i=9011 - - PercentDataBad + + EffectiveTransitionTime i=68 - i=11203 + i=80 + i=9011 - - PercentDataGood + + TrueState i=68 - i=11203 + i=80 + i=9011 + + + en + Enabled + + - - UseSlopedExtrapolation + + FalseState i=68 - i=11203 + i=80 + i=9011 + + + en + Disabled + + - - Stepped + + Quality - i=68 - i=11202 + i=9021 + i=9002 + i=78 + i=2782 - - HistoricalEventFilter + + SourceTimestamp i=68 + i=78 + i=9020 - - HistoryServerCapabilitiesType - - 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=58 - - - - AccessHistoryDataCapability + + LastSeverity - i=68 + i=9023 + i=9002 i=78 - i=2330 + i=2782 - - AccessHistoryEventsCapability + + SourceTimestamp i=68 i=78 - i=2330 + i=9022 - - MaxReturnDataValues + + Comment - i=68 + i=9025 + i=9002 i=78 - i=2330 + i=2782 - - MaxReturnEventValues + + SourceTimestamp i=68 i=78 - i=2330 + i=9024 - - InsertDataCapability + + ClientUserId i=68 i=78 - i=2330 + i=2782 - - ReplaceDataCapability + + Disable - i=68 + i=2803 i=78 - i=2330 + i=2782 - - - UpdateDataCapability + + + Enable - i=68 + i=2803 i=78 - i=2330 + i=2782 - - - DeleteRawCapability + + + AddComment - i=68 + i=9030 + i=2829 i=78 - i=2330 + i=2782 - - - DeleteAtTimeCapability + + + InputArguments i=68 i=78 - i=2330 + i=9029 - - - InsertEventCapability + + + + + 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 - i=68 - i=78 - i=2330 + i=3876 + i=2787 + i=2788 + i=2782 - - - ReplaceEventCapability + + + InputArguments i=68 i=78 - i=2330 + i=3875 + + + + + i=297 + + + + SubscriptionId + + i=288 + + -1 + + + + + The identifier for the suscription to refresh. + + + + + + - - UpdateEventCapability + + ConditionRefresh2 + + i=12913 + i=2787 + i=2788 + i=2782 + + + + InputArguments i=68 i=78 - i=2330 + i=12912 + + + + + i=297 + + + + SubscriptionId + + i=288 + + -1 + + + + + The identifier for the suscription to refresh. + + + + + + + i=297 + + + + MonitoredItemId + + i=288 + + -1 + + + + + The identifier for the monitored item to refresh. + + + + + + - - DeleteEventCapability + + DialogConditionType - i=68 + 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=2330 + i=2830 - - InsertAnnotationCapability + + Id i=68 i=78 - i=2330 + i=9035 - - AggregateFunctions + + DialogState - i=61 + i=9056 + i=9060 + i=9062 + i=9063 + i=9035 + i=8995 i=78 - i=2330 - - - - AuditHistoryEventUpdateEventType - - i=3025 - i=3028 - i=3003 - i=3029 - i=3030 - i=2104 + i=2830 - - - UpdatedNode + + + Id i=68 i=78 - i=2999 + i=9055 - - PerformInsertReplace + + TransitionTime i=68 - i=78 - i=2999 + i=80 + i=9055 - - Filter + + TrueState i=68 - i=78 - i=2999 + i=80 + i=9055 + + + en + Active + + - - NewValues + + FalseState i=68 - i=78 - i=2999 + i=80 + i=9055 + + + en + Inactive + + - - OldValues + + Prompt i=68 i=78 - i=2999 + i=2830 - - AuditHistoryValueUpdateEventType + + ResponseOptionSet - i=3026 - i=3031 - i=3032 - i=3033 - i=2104 + i=68 + i=78 + i=2830 - - - UpdatedNode + + + DefaultResponse i=68 i=78 - i=3006 + i=2830 - - PerformInsertReplace + + OkResponse i=68 i=78 - i=3006 + i=2830 - - NewValues + + CancelResponse i=68 i=78 - i=3006 + i=2830 - - OldValues + + LastResponse i=68 i=78 - i=3006 + i=2830 - - AuditHistoryDeleteEventType + + Respond - i=3027 - i=2104 + i=9070 + i=8927 + i=78 + i=2830 - - - UpdatedNode + + + InputArguments i=68 i=78 - i=3012 + i=9069 + + + + + i=297 + + + + SelectedResponse + + i=6 + + -1 + + + + + The response to the dialog condition. + + + + + + - - AuditHistoryRawModifyDeleteEventType + + AcknowledgeableConditionType - i=3015 - i=3016 - i=3017 - i=3034 - i=3012 + i=9073 + i=9093 + i=9102 + i=9111 + i=9113 + i=2782 - - IsDeleteModified + + EnabledState - i=68 + i=9074 + i=9093 + i=9102 + i=8995 i=78 - i=3014 + i=2881 - - StartTime + + Id i=68 i=78 - i=3014 + i=9073 - - EndTime + + AckedState - i=68 + i=9094 + i=9098 + i=9100 + i=9101 + i=9073 + i=8995 i=78 - i=3014 + i=2881 - - OldValues + + Id i=68 i=78 - i=3014 + i=9093 - - AuditHistoryAtTimeDeleteEventType + + TransitionTime - i=3020 - i=3021 - i=3012 + i=68 + i=80 + i=9093 - - - ReqTimes + + + TrueState i=68 - i=78 - i=3019 + i=80 + i=9093 + + + en + Acknowledged + + - - OldValues + + FalseState i=68 - i=78 - i=3019 + i=80 + i=9093 + + + en + Unacknowledged + + - - AuditHistoryEventDeleteEventType + + ConfirmedState - i=3023 - i=3024 - i=3012 + i=9103 + i=9107 + i=9109 + i=9110 + i=9073 + i=8995 + i=80 + i=2881 - - - EventIds + + + Id i=68 i=78 - i=3022 + i=9102 - - OldValues + + TransitionTime i=68 - i=78 - i=3022 + i=80 + i=9102 - - TrustListType + + TrueState - i=12542 - i=12543 - i=12546 - i=12548 - i=12550 - i=11575 + i=68 + i=80 + i=9102 - - - LastUpdateTime + + + en + Confirmed + + + + + FalseState i=68 - i=78 - i=12522 + i=80 + i=9102 + + + en + Unconfirmed + + - - OpenWithMasks + + Acknowledge - i=12544 - i=12545 + i=9112 + i=8944 i=78 - i=12522 + i=2881 - + InputArguments i=68 i=78 - i=12543 + i=9111 @@ -13711,62 +14754,58 @@ - Masks + EventId - i=7 + i=15 -1 - + + + + The identifier for the event to comment. + - - - - - OutputArguments - - i=68 - i=78 - i=12543 - - - i=297 - FileHandle + Comment - i=7 + i=21 -1 - + + + + The comment to add to the condition. + - - CloseAndUpdate + + Confirm - i=12705 - i=12547 + i=9114 + i=8961 i=80 - i=12522 + i=2881 - + InputArguments i=68 i=78 - i=12546 + i=9113 @@ -13776,366 +14815,371 @@ - FileHandle + EventId - i=7 + i=15 -1 - + + + + The identifier for the event to comment. + - - - - - OutputArguments - - i=68 - i=78 - i=12546 - - - i=297 - ApplyChangesRequired + Comment - i=1 + i=21 -1 - + + + + The comment to add to the condition. + - - AddCertificate + + AlarmConditionType - i=12549 - i=80 - i=12522 + 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 - - - InputArguments + + + EnabledState + + i=9119 + i=9160 + i=9169 + i=9178 + i=8995 + i=78 + i=2915 + + + + Id i=68 i=78 - i=12548 + 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 - - - - i=297 - - - - Certificate - - i=15 - - -1 - - - - - - - - i=297 - - - - IsTrustedCertificate - - i=1 - - -1 - - - - - - + + en + Active + - - RemoveCertificate + + FalseState - i=12551 + i=68 i=80 - i=12522 + i=9160 - - - InputArguments + + + en + Inactive + + + + + InputNode i=68 i=78 - i=12550 + 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 - - - - i=297 - - - - Thumbprint - - i=12 - - -1 - - - - - - - - i=297 - - - - IsTrustedCertificate - - i=1 - - -1 - - - - - - + + en + Suppressed + - - TrustListMasks + + FalseState - i=12553 - i=29 + i=68 + i=80 + i=9169 - - - - - - - - - - - EnumValues + + + en + Unsuppressed + + + + + OutOfServiceState + + i=16372 + i=16376 + i=16378 + i=16379 + i=8995 + i=80 + i=2915 + + + + Id i=68 i=78 - i=12552 + i=16371 + + + + TransitionTime + + i=68 + i=80 + i=16371 + + + + TrueState + + i=68 + i=80 + i=16371 - - - - i=7616 - - - - 0 - - - - None - - - - - - - - i=7616 - - - - 1 - - - - TrustedCertificates - - - - - - - - i=7616 - - - - 2 - - - - TrustedCrls - - - - - - - - i=7616 - - - - 4 - - - - IssuerCertificates - - - - - - - - i=7616 - - - - 8 - - - - IssuerCrls - - - - - - - - i=7616 - - - - 15 - - - - All - - - - - - + + en + Out of Service + - - TrustListDataType + + FalseState - i=22 + i=68 + i=80 + i=16371 - - - - - - - - - - CertificateGroupType + + + en + In Service + + + + + ShelvingState - i=13599 - i=13631 - i=58 + i=9179 + i=9184 + i=9189 + i=9213 + i=9211 + i=9212 + i=9118 + i=2929 + i=80 + i=2915 - - - TrustList + + + CurrentState - 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=9180 + i=2760 i=78 - i=12555 + i=9178 - - - Size - The size of the file in bytes. + + + Id i=68 i=78 - i=13599 + i=9179 - - Writable - Whether the file is writable. + + LastTransition + + i=9185 + i=9188 + i=2767 + i=80 + i=9178 + + + + Id i=68 i=78 - i=13599 + i=9184 - - UserWritable - Whether the file is writable by the current user. + + TransitionTime i=68 - i=78 - i=13599 + i=80 + i=9184 - - OpenCount - The current number of open file handles. + + UnshelveTime i=68 i=78 - i=13599 + i=9178 - - Open + + TimedShelve - i=13606 - i=13607 + i=9214 + i=11093 i=78 - i=13599 + i=9178 - + InputArguments i=68 i=78 - i=13605 + i=9213 @@ -14145,178 +15189,557 @@ - Mode + ShelvingTime - i=3 + i=290 -1 - + + + + If not 0, this parameter specifies a fixed time for which the Alarm is to be shelved. + - - OutputArguments + + Unshelve - i=68 + i=11093 i=78 - i=13605 + i=9178 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - - Close + + + OneShotShelve - i=13609 + i=11093 i=78 - i=13599 + i=9178 - - InputArguments + + SuppressedOrShelved i=68 i=78 - i=13608 + 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 - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - + + en + Silenced + - - Read + + FalseState - i=13611 - i=13612 - i=78 - i=13599 + i=68 + i=80 + i=16380 - - - InputArguments + + + en + Not Silenced + + + + + OnDelay + + i=68 + i=80 + i=2915 + + + + OffDelay + + i=68 + i=80 + i=2915 + + + + FirstInGroupFlag + + i=68 + 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=13610 + i=18190 + + + + TransitionTime + + i=68 + i=80 + i=18190 + + + + TrueState + + i=68 + i=80 + i=18190 - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Length - - i=6 - - -1 - - - - - - + + en + Latched + - - OutputArguments + + FalseState i=68 - i=78 - i=13610 + i=80 + i=18190 - - - - i=297 - - - - Data - - i=15 - - -1 - - - - - - + + en + Unlatched + - - Write + + <AlarmGroup> - i=13614 + i=16405 + i=11508 + i=2915 + + + + ReAlarmTime + + i=68 + i=80 + i=2915 + + + + ReAlarmRepeatCount + + i=68 + i=80 + i=2915 + + + + Silence + + i=17242 + i=80 + i=2915 + + + + Suppress + + i=17225 + i=80 + i=2915 + + + + Unsuppress + + i=17225 + i=80 + i=2915 + + + + RemoveFromService + + i=17259 + i=80 + i=2915 + + + + PlaceInService + + i=17259 + i=80 + i=2915 + + + + Reset + + i=17259 + i=80 + i=2915 + + + + AlarmGroupType + + i=16406 + i=61 + + + + <AlarmConditionInstance> + + i=16407 + i=16408 + i=16409 + i=16410 + i=16411 + i=16412 + i=16413 + 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 + A globally unique identifier for the event. + + i=68 i=78 - i=13599 + i=16406 + + + + EventType + The identifier for the event type. + + i=68 + i=78 + i=16406 + + + + SourceNode + The source of the event. + + i=68 + i=78 + i=16406 + + + + SourceName + A description of the source of the event. + + i=68 + i=78 + i=16406 + + + + Time + When the event occurred. + + i=68 + i=78 + i=16406 + + + + ReceiveTime + When the server received the event from the underlying system. + + i=68 + i=78 + i=16406 + + + + LocalTime + Information about the local time where the event originated. + + i=68 + i=78 + i=16406 + + + + Message + A localized description of the event. + + i=68 + i=78 + i=16406 + + + + Severity + Indicates how urgent an event is. + + 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=13613 + i=16441 @@ -14326,13 +15749,17 @@ - FileHandle + EventId - i=7 + i=15 -1 - + + + + The identifier for the event to comment. + @@ -14342,34 +15769,55 @@ - Data + Comment - i=15 + i=21 -1 - + + + + The comment to add to the condition. + - - GetPosition + + AckedState - i=13616 - i=13617 + i=16444 + i=8995 i=78 - i=13599 + i=16406 + + + + Id + + i=68 + i=78 + i=16443 + + + + Acknowledge + + i=16462 + i=8944 + i=78 + i=16406 - + InputArguments i=68 i=78 - i=13615 + i=16461 @@ -14379,335 +15827,300 @@ - FileHandle + EventId - i=7 + i=15 -1 - + + + + The identifier for the event to comment. + - - - - - OutputArguments - - i=68 - i=78 - i=13615 - - - i=297 - Position + Comment - i=9 + i=21 -1 - + + + + The comment to add to the condition. + - - SetPosition + + ActiveState - i=13619 + i=16466 + i=8995 i=78 - i=13599 + i=16406 - - - InputArguments + + + Id i=68 i=78 - i=13618 + i=16465 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Position - - i=9 - - -1 - - - - - - - - - LastUpdateTime + + InputNode i=68 i=78 - i=13599 + i=16406 - - OpenWithMasks + + SuppressedOrShelved - i=13622 - i=13623 + i=68 i=78 - i=13599 + i=16406 - - - InputArguments + + + ShelvedStateMachineType + + 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=13621 + i=2929 - - - - - i=297 - - - - Masks - - i=7 - - -1 - - - - - - - - - OutputArguments + + Unshelved + + i=6098 + i=2935 + i=2936 + i=2940 + i=2943 + i=2307 + i=2929 + + + + StateNumber i=68 i=78 - i=13621 + i=2930 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - CertificateTypes + + Timed Shelved + + i=6100 + i=2935 + i=2940 + i=2942 + i=2945 + i=2307 + i=2929 + + + + StateNumber i=68 i=78 - i=12555 + i=2932 - - CertificateGroupFolderType + + One Shot Shelved - i=13814 - i=13848 - i=13882 - i=13916 - i=61 + i=6101 + i=2936 + i=2942 + i=2943 + i=2945 + i=2307 + i=2929 - - - DefaultApplicationGroup + + + StateNumber - i=13815 - i=13847 - i=12555 + i=68 i=78 - i=13813 + i=2933 - - - TrustList + + + UnshelvedToTimedShelved - 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 + i=11322 + i=2930 + i=2932 + i=2915 + i=2949 + i=2310 + i=2929 - - Size - The size of the file in bytes. + + TransitionNumber i=68 i=78 - i=13815 + i=2935 - - Writable - Whether the file is writable. + + UnshelvedToOneShotShelved + + i=11323 + i=2930 + i=2933 + i=2915 + i=2948 + i=2310 + i=2929 + + + + TransitionNumber i=68 i=78 - i=13815 + i=2936 - - UserWritable - Whether the file is writable by the current user. + + TimedShelvedToUnshelved + + i=11324 + i=2932 + i=2930 + i=2915 + i=2947 + i=2310 + i=2929 + + + + TransitionNumber i=68 i=78 - i=13815 + i=2940 - - OpenCount - The current number of open file handles. + + TimedShelvedToOneShotShelved + + i=11325 + i=2932 + i=2933 + i=2915 + i=2948 + i=2310 + i=2929 + + + + TransitionNumber i=68 i=78 - i=13815 + i=2942 - - Open + + OneShotShelvedToUnshelved - i=13822 - i=13823 - i=78 - i=13815 + i=11326 + i=2933 + i=2930 + i=2915 + i=2947 + i=2310 + i=2929 - - - InputArguments + + + TransitionNumber i=68 i=78 - i=13821 + i=2943 - - - - - i=297 - - - - Mode - - i=3 - - -1 - - - - - - - - - OutputArguments + + OneShotShelvedToTimedShelved + + i=11327 + i=2933 + i=2932 + i=2915 + i=2949 + i=2310 + i=2929 + + + + TransitionNumber i=68 i=78 - i=13821 + i=2945 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - Close + + TimedShelve - i=13825 + i=2991 + i=2935 + i=2945 + i=11093 i=78 - i=13815 + i=2929 - + InputArguments i=68 i=78 - i=13824 + i=2949 @@ -14717,3857 +16130,2660 @@ - FileHandle + ShelvingTime - i=7 + i=290 -1 - + + + + If not 0, this parameter specifies a fixed time for which the Alarm is to be shelved. + - - Read + + Unshelve - i=13827 - i=13828 + i=2940 + i=2943 + i=11093 i=78 - i=13815 + i=2929 - - InputArguments + + OneShotShelve - i=68 + i=2936 + i=2942 + i=11093 i=78 - i=13826 + i=2929 + + + + LimitAlarmType + + 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 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Length - - i=6 - - -1 - - - - - - - - - OutputArguments + + HighLimit i=68 - i=78 - i=13826 + i=80 + i=2955 - - - - - i=297 - - - - Data - - i=15 - - -1 - - - - - - - - - Write + + LowLimit - i=13830 - i=78 - i=13815 + i=68 + i=80 + i=2955 - - - InputArguments + + + LowLowLimit i=68 - i=78 - i=13829 + i=80 + i=2955 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Data - - i=15 - - -1 - - - - - - - - - GetPosition + + BaseHighHighLimit - i=13832 - i=13833 - i=78 - i=13815 + i=68 + i=80 + i=2955 - - - InputArguments + + + BaseHighLimit i=68 - i=78 - i=13831 + i=80 + i=2955 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - OutputArguments + + BaseLowLimit i=68 - i=78 - i=13831 + i=80 + i=2955 - - - - - i=297 - - - - Position - - i=9 - - -1 - - - - - - - - - SetPosition + + BaseLowLowLimit - i=13835 - i=78 - i=13815 + i=68 + i=80 + i=2955 - - - InputArguments + + + ExclusiveLimitStateMachineType + + 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=13834 + i=9329 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Position - - i=9 - - -1 - - - - - - - - - LastUpdateTime + + High + + i=9332 + i=9339 + i=9340 + i=2307 + i=9318 + + + + StateNumber i=68 i=78 - i=13815 + i=9331 - - OpenWithMasks + + Low - i=13838 - i=13839 - i=78 - i=13815 + i=9334 + i=9337 + i=9338 + i=2307 + i=9318 - - - InputArguments + + + StateNumber i=68 i=78 - i=13837 + i=9333 - - - - - i=297 - - - - Masks - - i=7 - - -1 - - - - - - - - - OutputArguments + + LowLow + + i=9336 + i=9337 + i=9338 + i=2307 + i=9318 + + + + StateNumber i=68 i=78 - i=13837 + i=9335 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - CertificateTypes + + LowLowToLow + + i=11340 + i=9335 + i=9333 + i=2310 + i=9318 + + + + TransitionNumber i=68 i=78 - i=13814 + i=9337 - - DefaultHttpsGroup + + LowToLowLow - i=13849 - i=13881 - i=12555 - i=80 - i=13813 + i=11341 + i=9333 + i=9335 + i=2310 + i=9318 - - TrustList + + TransitionNumber - 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=68 i=78 - i=13848 + i=9338 + + + + HighHighToHigh + + i=11342 + i=9329 + i=9331 + i=2310 + i=9318 - - Size - The size of the file in bytes. + + TransitionNumber i=68 i=78 - i=13849 + i=9339 - - Writable - Whether the file is writable. + + HighToHighHigh + + i=11343 + i=9331 + i=9329 + i=2310 + i=9318 + + + + TransitionNumber i=68 i=78 - i=13849 + i=9340 - - UserWritable - Whether the file is writable by the current user. + + ExclusiveLimitAlarmType - i=68 + i=9398 + i=9455 + i=2955 + + + + ActiveState + + i=9399 + i=9455 + i=8995 i=78 - i=13849 + i=9341 - - OpenCount - The current number of open file handles. + + Id i=68 i=78 - i=13849 + i=9398 - - Open + + LimitState - i=13856 - i=13857 + i=9456 + i=9461 + i=9398 + i=9318 i=78 - i=13849 + i=9341 - - - InputArguments + + + CurrentState - i=68 + i=9457 + i=2760 i=78 - i=13855 + i=9455 - - - - - i=297 - - - - Mode - - i=3 - - -1 - - - - - - - - - OutputArguments + + Id i=68 i=78 - i=13855 + i=9456 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - Close + + LastTransition - i=13859 - i=78 - i=13849 + i=9462 + i=9465 + i=2767 + i=80 + i=9455 - - - InputArguments + + + Id i=68 i=78 - i=13858 + i=9461 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - Read + + TransitionTime - i=13861 - i=13862 - i=78 - i=13849 + i=68 + i=80 + i=9461 - - - InputArguments + + + NonExclusiveLimitAlarmType - i=68 - i=78 - i=13860 + 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 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Length - - i=6 - - -1 - - - - - - - - - OutputArguments + + Id i=68 i=78 - i=13860 + i=9963 - - - - - i=297 - - - - Data - - i=15 - - -1 - - - - - - - - - Write + + HighHighState - i=13864 - i=78 - i=13849 + i=10021 + i=10025 + i=10027 + i=10028 + i=9963 + i=8995 + i=80 + i=9906 - - - InputArguments + + + Id i=68 i=78 - i=13863 + i=10020 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Data - - i=15 - - -1 - - - - - - - - - GetPosition + + TransitionTime - i=13866 - i=13867 - i=78 - i=13849 + i=68 + i=80 + i=10020 - - - InputArguments + + + TrueState i=68 - i=78 - i=13865 + i=80 + i=10020 - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - + + en + HighHigh active + - - OutputArguments + + FalseState i=68 - i=78 - i=13865 + i=80 + i=10020 - - - - i=297 - - - - Position - - i=9 - - -1 - - - - - - + + en + HighHigh inactive + - - SetPosition + + HighState - i=13869 - i=78 - i=13849 + i=10030 + i=10034 + i=10036 + i=10037 + i=9963 + i=8995 + i=80 + i=9906 - - - InputArguments + + + Id i=68 i=78 - i=13868 + i=10029 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Position - - i=9 - - -1 - - - - - - - - - LastUpdateTime + + TransitionTime i=68 - i=78 - i=13849 + i=80 + i=10029 - - OpenWithMasks - - i=13872 - i=13873 - i=78 - i=13849 - - - - InputArguments + + TrueState i=68 - i=78 - i=13871 + i=80 + i=10029 - - - - i=297 - - - - Masks - - i=7 - - -1 - - - - - - + + en + High active + - - OutputArguments + + FalseState i=68 - i=78 - i=13871 + i=80 + i=10029 - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - + + en + High inactive + - - CertificateTypes + + LowState + + i=10039 + i=10043 + i=10045 + i=10046 + i=9963 + i=8995 + i=80 + i=9906 + + + + Id i=68 i=78 - i=13848 + i=10038 - - DefaultUserTokenGroup + + TransitionTime - i=13883 - i=13915 - i=12555 + i=68 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 + i=10038 - - - Size - The size of the file in bytes. + + + TrueState i=68 - i=78 - i=13883 + i=80 + i=10038 + + + en + Low active + + - - Writable - Whether the file is writable. + + FalseState i=68 - i=78 - i=13883 + i=80 + i=10038 + + + en + Low inactive + + - - UserWritable - Whether the file is writable by the current user. + + LowLowState - i=68 - i=78 - i=13883 + i=10048 + i=10052 + i=10054 + i=10055 + i=9963 + i=8995 + i=80 + i=9906 - - OpenCount - The current number of open file handles. + + Id i=68 i=78 - i=13883 + i=10047 - - Open + + TransitionTime - i=13890 - i=13891 - i=78 - i=13883 + i=68 + i=80 + i=10047 - - - InputArguments + + + TrueState i=68 - i=78 - i=13889 + i=80 + i=10047 - - - - i=297 - - - - Mode - - i=3 - - -1 - - - - - - + + en + LowLow active + - - OutputArguments + + FalseState i=68 - i=78 - i=13889 + i=80 + i=10047 - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - + + en + LowLow inactive + - - Close + + NonExclusiveLevelAlarmType - i=13893 - i=78 - i=13883 + i=9906 - - - InputArguments + + + ExclusiveLevelAlarmType + + i=9341 + + + + NonExclusiveDeviationAlarmType + + i=10522 + i=16776 + i=9906 + + + + SetpointNode i=68 i=78 - i=13892 + i=10368 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - Read + + BaseSetpointNode - i=13895 - i=13896 - i=78 - i=13883 + i=68 + i=80 + i=10368 - - - InputArguments + + + NonExclusiveRateOfChangeAlarmType + + i=16858 + i=9906 + + + + EngineeringUnits i=68 - i=78 - i=13894 + i=80 + i=10214 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Length - - i=6 - - -1 - - - - - - - - - OutputArguments + + ExclusiveDeviationAlarmType + + i=9905 + i=16817 + i=9341 + + + + SetpointNode i=68 i=78 - i=13894 + i=9764 - - - - - i=297 - - - - Data - - i=15 - - -1 - - - - - - - - - Write + + BaseSetpointNode - i=13898 - i=78 - i=13883 + i=68 + i=80 + i=9764 - - - InputArguments + + + ExclusiveRateOfChangeAlarmType + + i=16899 + i=9341 + + + + EngineeringUnits i=68 - i=78 - i=13897 + i=80 + i=9623 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Data - - i=15 - - -1 - - - - - - - - - GetPosition + + DiscreteAlarmType - i=13900 - i=13901 - i=78 - i=13883 + i=2915 - - - InputArguments + + + OffNormalAlarmType + + i=11158 + i=10523 + + + + NormalState i=68 i=78 - i=13899 + i=10637 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - OutputArguments + + SystemOffNormalAlarmType + + i=10637 + + + + TripAlarmType + + i=10637 + + + + InstrumentDiagnosticAlarmType + + i=10637 + + + + SystemDiagnosticAlarmType + + i=10637 + + + + CertificateExpirationAlarmType + + i=13325 + i=14900 + i=13326 + i=13327 + i=11753 + + + + ExpirationDate i=68 i=78 - i=13899 + i=13225 - - - - - i=297 - - - - Position - - i=9 - - -1 - - - - - - - - - SetPosition + + ExpirationLimit - i=13903 - i=78 - i=13883 + i=68 + i=80 + i=13225 - - - InputArguments + + + CertificateType i=68 i=78 - i=13902 + i=13225 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Position - - i=9 - - -1 - - - - - - - - - LastUpdateTime + + Certificate i=68 i=78 - i=13883 + i=13225 - - OpenWithMasks + + DiscrepancyAlarmType - i=13906 - i=13907 - i=78 - i=13883 + i=17215 + i=17216 + i=17217 + i=2915 - - - InputArguments + + + TargetValueNode i=68 i=78 - i=13905 + i=17080 - - - - - i=297 - - - - Masks - - i=7 - - -1 - - - - - - - - - OutputArguments + + ExpectedTime i=68 i=78 - i=13905 + i=17080 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - CertificateTypes + + Tolerance i=68 - i=78 - i=13882 + i=80 + i=17080 - - <AdditionalGroup> + + BaseConditionClassType - i=13917 - i=13949 - i=12555 - i=11508 - i=13813 + i=58 - - - TrustList + + + ProcessConditionClassType - 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 + i=11163 - - - Size - The size of the file in bytes. + + + MaintenanceConditionClassType + + i=11163 + + + + SystemConditionClassType + + i=11163 + + + + SafetyConditionClassType + + i=11163 + + + + HighlyManagedAlarmConditionClassType + + i=11163 + + + + TrainingConditionClassType + + i=11163 + + + + StatisticalConditionClassType + + i=11163 + + + + TestingConditionClassType + + i=11163 + + + + AuditConditionEventType + + i=2127 + + + + AuditConditionEnableEventType + + i=2790 + + + + AuditConditionCommentEventType + + i=17222 + i=11851 + i=2790 + + + + ConditionEventId i=68 i=78 - i=13917 + i=2829 - - Writable - Whether the file is writable. + + Comment i=68 i=78 - i=13917 + i=2829 - - UserWritable - Whether the file is writable by the current user. + + AuditConditionRespondEventType + + i=11852 + i=2790 + + + + SelectedResponse i=68 i=78 - i=13917 + i=8927 - - OpenCount - The current number of open file handles. + + AuditConditionAcknowledgeEventType + + i=17223 + i=11853 + i=2790 + + + + ConditionEventId i=68 i=78 - i=13917 + i=8944 - - Open + + Comment - i=13924 - i=13925 + i=68 i=78 - i=13917 + i=8944 - - - InputArguments + + + AuditConditionConfirmEventType + + i=17224 + i=11854 + i=2790 + + + + ConditionEventId i=68 i=78 - i=13923 + i=8961 - - - - - i=297 - - - - Mode - - i=3 - - -1 - - - - - - - - - OutputArguments + + Comment i=68 i=78 - i=13923 + i=8961 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - Close + + AuditConditionShelvingEventType - i=13927 - i=78 - i=13917 + i=11855 + i=2790 - - - InputArguments + + + ShelvingTime i=68 i=78 - i=13926 + i=11093 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - Read + + AuditConditionSuppressEventType - i=13929 - i=13930 - i=78 - i=13917 + i=2790 - - - InputArguments + + + AuditConditionSilenceEventType + + i=2790 + + + + AuditConditionResetEventType + + i=2790 + + + + AuditConditionOutOfServiceEventType + + i=2790 + + + + RefreshStartEventType + + i=2130 + + + + RefreshEndEventType + + i=2130 + + + + RefreshRequiredEventType + + i=2130 + + + + HasCondition + + i=32 + + IsConditionOf + + + HasEffectDisable + + i=54 + + MayBeDisabledBy + + + HasEffectEnable + + i=54 + + MayBeEnabledBy + + + HasEffectSuppressed + + i=54 + + MayBeSuppressedBy + + + HasEffectUnsuppressed + + i=54 + + MayBeUnsuppressedBy + + + AlarmMetricsType + + i=17280 + i=17991 + i=17281 + i=17282 + i=17284 + i=17286 + i=17283 + i=17288 + i=18666 + i=58 + + + + AlarmCount i=68 i=78 - i=13928 + i=17279 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Length - - i=6 - - -1 - - - - - - - - - OutputArguments + + StartTime i=68 i=78 - i=13928 + i=17279 - - - - - i=297 - - - - Data - - i=15 - - -1 - - - - - - - - - Write + + MaximumActiveState - i=13932 + i=68 i=78 - i=13917 + i=17279 - - - InputArguments + + + MaximumUnAck i=68 i=78 - i=13931 + i=17279 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Data - - i=15 - - -1 - - - - - - - - - GetPosition + + CurrentAlarmRate - i=13934 - i=13935 + i=17285 + i=17277 i=78 - i=13917 + i=17279 - - - InputArguments + + + Rate i=68 i=78 - i=13933 + i=17284 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - OutputArguments + + MaximumAlarmRate - i=68 + i=17287 + i=17277 i=78 - i=13933 + i=17279 - - - - - i=297 - - - - Position - - i=9 - - -1 - - - - - - - - - SetPosition + + Rate - i=13937 + i=68 i=78 - i=13917 + i=17286 - - - InputArguments + + + MaximumReAlarmCount i=68 i=78 - i=13936 + i=17279 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Position - - i=9 - - -1 - - - - - - - - - LastUpdateTime + + AverageAlarmRate + + i=17289 + i=17277 + i=78 + i=17279 + + + + Rate i=68 i=78 - i=13917 + i=17288 - - OpenWithMasks + + Reset - i=13940 - i=13941 i=78 - i=13917 + i=17279 - - InputArguments + + AlarmRateVariableType + + i=17278 + i=63 + + + + Rate i=68 i=78 - i=13939 + i=17277 - - - - - i=297 - - - - Masks - - i=7 - - -1 - - - - - - - - - OutputArguments + + ProgramStateMachineType + A state machine for a program. - i=68 + 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=13939 + i=2391 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - CertificateTypes + + Id i=68 i=78 - i=13916 + i=3830 - - CertificateType + + Number - i=58 + i=68 + i=78 + i=3830 - - - ApplicationCertificateType + + + LastTransition - i=12556 + i=3836 + i=3838 + i=3839 + i=2767 + i=78 + i=2391 - - - HttpsCertificateType + + + Id - i=12556 + i=68 + i=78 + i=3835 - - - RsaMinApplicationCertificateType + + + Number - i=12557 + i=68 + i=78 + i=3835 - - - RsaSha256ApplicationCertificateType + + + TransitionTime - i=12557 + i=68 + i=78 + i=3835 - - - TrustListUpdatedAuditEventType + + + Creatable - i=2127 + i=68 + i=2391 - - - ServerConfigurationType + + + Deletable - i=13950 - i=12708 - i=12583 - i=12584 - i=12585 - i=12616 - i=12734 - i=12731 - i=12775 - i=58 + i=68 + i=78 + i=2391 - - - CertificateGroups + + + AutoDelete - i=13951 - i=13813 + i=68 i=78 - i=12581 + i=2391 - - - DefaultApplicationGroup + + + RecycleCount - i=13952 - i=13984 - i=12555 + i=68 i=78 - i=13950 + i=2391 - - - TrustList + + + InstanceCount - 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=68 + i=2391 + + + + MaxInstanceCount + + i=68 + i=2391 + + + + MaxRecycleCount + + i=68 + i=2391 + + + + ProgramDiagnostics + + 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=68 i=78 - i=13951 + i=2399 - - - Size - The size of the file in bytes. + + + CreateClientName i=68 i=78 - i=13952 + i=2399 - - Writable - Whether the file is writable. + + InvocationCreationTime i=68 i=78 - i=13952 + i=2399 - - UserWritable - Whether the file is writable by the current user. + + LastTransitionTime i=68 i=78 - i=13952 + i=2399 - - OpenCount - The current number of open file handles. + + LastMethodCall i=68 i=78 - i=13952 + i=2399 - - Open + + LastMethodSessionId - i=13959 - i=13960 + i=68 i=78 - i=13952 + i=2399 - - - InputArguments + + + LastMethodInputArguments i=68 i=78 - i=13958 + i=2399 - - - - - i=297 - - - - Mode - - i=3 - - -1 - - - - - - - - - OutputArguments + + LastMethodOutputArguments i=68 i=78 - i=13958 + i=2399 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - Close + + LastMethodInputValues - i=13962 + i=68 i=78 - i=13952 + i=2399 - - - InputArguments + + + LastMethodOutputValues i=68 i=78 - i=13961 + i=2399 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - Read + + LastMethodCallTime - i=13964 - i=13965 + i=68 i=78 - i=13952 + i=2399 - - - InputArguments + + + LastMethodReturnStatus i=68 i=78 - i=13963 + i=2399 + + + + FinalResultData + + i=58 + i=80 + i=2391 + + + + Halted + The Program is in a terminal or failed state, and it cannot be started or resumed without being reset. + + i=2407 + i=2408 + i=2412 + i=2420 + i=2424 + i=2307 + i=2391 + + + + StateNumber + + i=68 + i=78 + i=2406 - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Length - - i=6 - - -1 - - - - - - + 11 - - OutputArguments + + Ready + The Program is properly initialized and may be started. + + i=2401 + i=2408 + i=2410 + i=2414 + i=2422 + i=2424 + i=2307 + i=2391 + + + + StateNumber i=68 i=78 - i=13963 + i=2400 - - - - i=297 - - - - Data - - i=15 - - -1 - - - - - - + 12 - - Write + + Running + The Program is executing making progress towards completion. - i=13967 - i=78 - i=13952 + i=2403 + i=2410 + i=2412 + i=2414 + i=2416 + i=2418 + i=2307 + i=2391 - - - InputArguments + + + StateNumber i=68 i=78 - i=13966 + i=2402 - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Data - - i=15 - - -1 - - - - - - + 13 - - GetPosition + + Suspended + The Program has been stopped prior to reaching a terminal state but may be resumed. - i=13969 - i=13970 - i=78 - i=13952 + i=2405 + i=2416 + i=2418 + i=2420 + i=2422 + i=2307 + i=2391 - - - InputArguments + + + StateNumber i=68 i=78 - i=13968 + i=2404 - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - + 14 - - OutputArguments + + HaltedToReady + + i=2409 + i=2406 + i=2400 + i=2430 + i=2378 + i=2310 + i=2391 + + + + TransitionNumber i=68 i=78 - i=13968 + i=2408 - - - - i=297 - - - - Position - - i=9 - - -1 - - - - - - + 1 - - SetPosition + + ReadyToRunning - i=13972 - i=78 - i=13952 + i=2411 + i=2400 + i=2402 + i=2426 + i=2378 + i=2310 + i=2391 - - - InputArguments + + + TransitionNumber i=68 i=78 - i=13971 + i=2410 - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Position - - i=9 - - -1 - - - - - - + 2 - - LastUpdateTime + + RunningToHalted + + i=2413 + i=2402 + i=2406 + i=2429 + i=2378 + i=2310 + i=2391 + + + + TransitionNumber i=68 i=78 - i=13952 + i=2412 + + 3 + - - OpenWithMasks + + RunningToReady - i=13975 - i=13976 + i=2415 + i=2402 + i=2400 + i=2378 + i=2310 + i=2391 + + + + TransitionNumber + + i=68 i=78 - i=13952 + i=2414 - - - InputArguments + + 4 + + + + RunningToSuspended + + i=2417 + i=2402 + i=2404 + i=2427 + i=2378 + i=2310 + i=2391 + + + + TransitionNumber i=68 i=78 - i=13974 + i=2416 - - - - i=297 - - - - Masks - - i=7 - - -1 - - - - - - + 5 - - OutputArguments + + SuspendedToRunning + + i=2419 + i=2404 + i=2402 + i=2428 + i=2378 + i=2310 + i=2391 + + + + TransitionNumber i=68 i=78 - i=13974 + i=2418 - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - + 6 - - CertificateTypes + + SuspendedToHalted + + i=2421 + i=2404 + i=2406 + i=2429 + i=2378 + i=2310 + i=2391 + + + + TransitionNumber i=68 i=78 - i=13951 + i=2420 + + 7 + - - ServerCapabilities + + SuspendedToReady + + i=2423 + i=2404 + i=2400 + i=2378 + i=2310 + i=2391 + + + + TransitionNumber i=68 i=78 - i=12581 + i=2422 + + 8 + - - SupportedPrivateKeyFormats + + ReadyToHalted + + i=2425 + i=2400 + i=2406 + i=2429 + i=2378 + i=2310 + i=2391 + + + + TransitionNumber i=68 i=78 - i=12581 + i=2424 + + 9 + - - MaxTrustListSize + + Start + Causes the Program to transition from the Ready state to the Running state. + + i=2410 + i=11508 + i=2391 + + + + Suspend + Causes the Program to transition from the Running state to the Suspended state. + + i=2416 + i=11508 + i=2391 + + + + Resume + Causes the Program to transition from the Suspended state to the Running state. + + i=2418 + i=11508 + i=2391 + + + + Halt + Causes the Program to transition from the Ready, Running or Suspended state to the Halted state. + + i=2412 + i=2420 + i=2424 + i=11508 + i=2391 + + + + Reset + Causes the Program to transition from the Halted state to the Ready state. + + i=2408 + i=11508 + i=2391 + + + + ProgramTransitionEventType + + i=2379 + i=2311 + + + + IntermediateResult i=68 i=78 - i=12581 + i=2378 - - MulticastDnsEnabled + + AuditProgramTransitionEventType + + i=11875 + i=2315 + + + + TransitionNumber i=68 i=78 - i=12581 + i=11856 - - UpdateCertificate + + ProgramTransitionAuditEventType - i=12617 - i=12618 + i=3825 + i=2315 + + + + Transition + + i=3826 + i=2767 i=78 - i=12581 + i=3806 - - - InputArguments + + + Id i=68 i=78 - i=12616 + i=3825 - - - - - i=297 - - - - CertificateGroupId - - i=17 - - -1 - - - - - - - - i=297 - - - - CertificateTypeId - - i=17 - - -1 - - - - - - - - i=297 - - - - Certificate - - i=15 - - -1 - - - - - - - - i=297 - - - - IssuerCertificates - - i=15 - - 1 - - - - - - - - i=297 - - - - PrivateKeyFormat - - i=12 - - -1 - - - - - - - - i=297 - - - - PrivateKey - - i=15 - - -1 - - - - - - - - - OutputArguments + + 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=12616 + i=2380 - - - - - i=297 - - - - ApplyChangesRequired - - i=1 - - -1 - - - - - - - - - ApplyChanges + + CreateClientName + i=68 i=78 - i=12581 + i=2380 - - - CreateSigningRequest + + + InvocationCreationTime - i=12732 - i=12733 + i=68 i=78 - i=12581 + i=2380 - - - InputArguments + + + LastTransitionTime i=68 i=78 - i=12731 + i=2380 - - - - - 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 + + LastMethodCall i=68 i=78 - i=12731 + i=2380 - - - - - i=297 - - - - CertificateRequest - - i=15 - - -1 - - - - - - - - - GetRejectedList + + LastMethodSessionId - i=12776 + i=68 i=78 - i=12581 + i=2380 - - - OutputArguments + + + LastMethodInputArguments i=68 i=78 - i=12775 + i=2380 - - - - - i=297 - - - - Certificates - - i=15 - - 1 - - - - - - - - - CertificateUpdatedAuditEventType + + LastMethodOutputArguments - i=13735 - i=13736 - i=2127 + i=68 + i=78 + i=2380 - - - CertificateGroup + + + LastMethodCallTime i=68 i=78 - i=12620 + i=2380 - - CertificateType + + LastMethodReturnStatus i=68 i=78 - i=12620 + i=2380 - - ServerConfiguration + + ProgramDiagnostic2Type + + 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=14053 - i=12710 - i=12639 - i=12640 - i=12641 - i=13737 - i=12740 - i=12737 - i=12777 - i=2253 - i=12581 + i=68 + i=78 + i=15383 - - - CertificateGroups + + + CreateClientName - i=14156 - i=14088 - i=14122 - i=13813 - i=12637 + i=68 + i=78 + i=15383 - - - DefaultApplicationGroup + + + InvocationCreationTime - i=12642 - i=14161 - i=12555 - i=14053 + i=68 + i=78 + i=15383 - - - TrustList + + + LastTransitionTime - 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 + i=68 + i=78 + i=15383 - - - Size - The size of the file in bytes. + + + LastMethodCall i=68 - i=12642 + i=78 + i=15383 - - Writable - Whether the file is writable. + + LastMethodSessionId i=68 - i=12642 + i=78 + i=15383 - - UserWritable - Whether the file is writable by the current user. + + LastMethodInputArguments i=68 - i=12642 + i=78 + i=15383 - - OpenCount - The current number of open file handles. + + LastMethodOutputArguments i=68 - i=12642 + i=78 + i=15383 - - Open + + LastMethodInputValues - i=12648 - i=12649 - i=12642 + i=68 + i=78 + i=15383 - - - InputArguments + + + LastMethodOutputValues i=68 - i=12647 + i=78 + i=15383 - - - - - i=297 - - - - Mode - - i=3 - - -1 - - - - - - - - - OutputArguments + + LastMethodCallTime i=68 - i=12647 + i=78 + i=15383 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - Close + + LastMethodReturnStatus - i=12651 - i=12642 + i=68 + i=78 + i=15383 - - - InputArguments + + + Annotations i=68 - i=12650 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - Read + + HistoricalDataConfigurationType - i=12653 - i=12654 - i=12642 + i=3059 + i=11876 + i=2323 + i=2324 + i=2325 + i=2326 + i=2327 + i=2328 + i=11499 + i=11500 + i=58 - - - InputArguments + + + AggregateConfiguration + + i=11168 + i=11169 + i=11170 + i=11171 + i=11187 + i=78 + i=2318 + + + + TreatUncertainAsBad i=68 - i=12652 + i=78 + i=3059 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Length - - i=6 - - -1 - - - - - - - - - OutputArguments + + PercentDataBad i=68 - i=12652 + i=78 + i=3059 - - - - - i=297 - - - - Data - - i=15 - - -1 - - - - - - - - - Write + + PercentDataGood - i=12656 - i=12642 + i=68 + i=78 + i=3059 - - - InputArguments + + + UseSlopedExtrapolation i=68 - i=12655 + i=78 + i=3059 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Data - - i=15 - - -1 - - - - - - - - - GetPosition + + AggregateFunctions - i=12658 - i=12659 - i=12642 + i=61 + i=80 + i=2318 - - - InputArguments + + + Stepped i=68 - i=12657 + i=78 + i=2318 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - OutputArguments + + Definition i=68 - i=12657 + i=80 + i=2318 - - - - - i=297 - - - - Position - - i=9 - - -1 - - - - - - - - - SetPosition + + MaxTimeInterval - i=12661 - i=12642 + i=68 + i=80 + i=2318 - - - InputArguments + + + MinTimeInterval i=68 - i=12660 + i=80 + i=2318 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Position - - i=9 - - -1 - - - - - - - - - LastUpdateTime + + ExceptionDeviation i=68 - i=12642 + i=80 + i=2318 - - OpenWithMasks + + ExceptionDeviationFormat - i=12664 - i=12665 - i=12642 + i=68 + i=80 + i=2318 - - - InputArguments + + + StartOfArchive i=68 - i=12663 + i=80 + i=2318 - - - - - i=297 - - - - Masks - - i=7 - - -1 - - - - - - - - - OutputArguments + + StartOfOnlineArchive i=68 - i=12663 + i=80 + i=2318 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - CloseAndUpdate + + HA Configuration - i=14160 - i=12667 - i=12642 + i=11203 + i=11208 + i=2318 - - - InputArguments + + + AggregateConfiguration - i=68 - i=12666 + i=11204 + i=11205 + i=11206 + i=11207 + i=11187 + i=11202 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - - OutputArguments + + + TreatUncertainAsBad i=68 - i=12666 + i=11203 - - - - - i=297 - - - - ApplyChangesRequired - - i=1 - - -1 - - - - - - - - - AddCertificate + + PercentDataBad - i=12669 - i=12642 + i=68 + i=11203 - - - InputArguments + + + PercentDataGood i=68 - i=12668 + i=11203 - - - - - i=297 - - - - Certificate - - i=15 - - -1 - - - - - - - - i=297 - - - - IsTrustedCertificate - - i=1 - - -1 - - - - - - - - - RemoveCertificate + + UseSlopedExtrapolation - i=12671 - i=12642 + i=68 + i=11203 - - - InputArguments + + + Stepped i=68 - i=12670 + i=11202 - - - - - i=297 - - - - Thumbprint - - i=12 - - -1 - - - - - - - - i=297 - - - - IsTrustedCertificate - - i=1 - - -1 - - - - - - - - - CertificateTypes + + HistoricalEventFilter i=68 - i=14156 - - DefaultHttpsGroup + + HistoryServerCapabilitiesType - i=14089 - i=14121 - i=12555 - i=14053 + 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=58 - - - TrustList + + + AccessHistoryDataCapability - 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 + i=68 + i=78 + i=2330 - - - Size - The size of the file in bytes. + + + AccessHistoryEventsCapability i=68 - i=14089 + i=78 + i=2330 - - Writable - Whether the file is writable. + + MaxReturnDataValues i=68 - i=14089 + i=78 + i=2330 - - UserWritable - Whether the file is writable by the current user. + + MaxReturnEventValues i=68 - i=14089 + i=78 + i=2330 - - OpenCount - The current number of open file handles. + + InsertDataCapability i=68 - i=14089 + i=78 + i=2330 - - Open + + ReplaceDataCapability - i=14096 - i=14097 - i=14089 + i=68 + i=78 + i=2330 - - - InputArguments + + + UpdateDataCapability i=68 - i=14095 + i=78 + i=2330 - - - - - i=297 - - - - Mode - - i=3 - - -1 - - - - - - - - - OutputArguments + + DeleteRawCapability i=68 - i=14095 + i=78 + i=2330 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - Close + + DeleteAtTimeCapability - i=14099 - i=14089 + i=68 + i=78 + i=2330 - - - InputArguments + + + InsertEventCapability i=68 - i=14098 + i=78 + i=2330 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - Read + + ReplaceEventCapability - i=14101 - i=14102 - i=14089 + i=68 + i=78 + i=2330 - - - InputArguments + + + UpdateEventCapability i=68 - i=14100 + i=78 + i=2330 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Length - - i=6 - - -1 - - - - - - - - - OutputArguments + + DeleteEventCapability i=68 - i=14100 + i=78 + i=2330 - - - - - i=297 - - - - Data - - i=15 - - -1 - - - - - - - - - Write + + InsertAnnotationCapability - i=14104 - i=14089 + i=68 + i=78 + i=2330 - - - InputArguments + + + AggregateFunctions + + i=61 + i=78 + i=2330 + + + + AuditHistoryEventUpdateEventType + + i=3025 + i=3028 + i=3003 + i=3029 + i=3030 + i=2104 + + + + UpdatedNode i=68 - i=14103 + i=78 + i=2999 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Data - - i=15 - - -1 - - - - - - - - - GetPosition + + PerformInsertReplace - i=14106 - i=14107 - i=14089 + i=68 + i=78 + i=2999 - - - InputArguments + + + Filter i=68 - i=14105 + i=78 + i=2999 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - OutputArguments + + NewValues i=68 - i=14105 + i=78 + i=2999 - - - - - i=297 - - - - Position - - i=9 - - -1 - - - - - - - - - SetPosition + + OldValues - i=14109 - i=14089 + i=68 + i=78 + i=2999 - - - InputArguments + + + AuditHistoryValueUpdateEventType + + i=3026 + i=3031 + i=3032 + i=3033 + i=2104 + + + + UpdatedNode i=68 - i=14108 + i=78 + i=3006 - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Position - - i=9 - - -1 - - - - - - - - + + PerformInsertReplace + + i=68 + i=78 + i=3006 + + + + NewValues + + i=68 + i=78 + i=3006 + + + + OldValues + + i=68 + i=78 + i=3006 + + + + AuditHistoryDeleteEventType + + i=3027 + i=2104 + + + + UpdatedNode + + i=68 + i=78 + i=3012 + + + + AuditHistoryRawModifyDeleteEventType + + 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 + + i=3020 + i=3021 + i=3012 + + + + ReqTimes + + i=68 + i=78 + i=3019 + + + + OldValues + + i=68 + i=78 + i=3019 + + + + AuditHistoryEventDeleteEventType + + i=3023 + i=3024 + i=3012 + + + + EventIds + + i=68 + i=78 + i=3022 + + + + OldValues + + i=68 + i=78 + i=3022 + + + + TrustListType + + i=12542 + i=12543 + i=12546 + i=12548 + i=12550 + i=11575 + + + LastUpdateTime i=68 - i=14089 + i=78 + i=12522 - + OpenWithMasks - i=14112 - i=14113 - i=14089 + i=12544 + i=12545 + i=78 + i=12522 - + InputArguments i=68 - i=14111 + i=78 + i=12543 @@ -18590,11 +18806,12 @@ - + OutputArguments i=68 - i=14111 + i=78 + i=12543 @@ -18617,19 +18834,21 @@ - + CloseAndUpdate - i=14115 - i=14116 - i=14089 + i=12705 + i=12547 + i=80 + i=12522 - + InputArguments i=68 - i=14114 + i=78 + i=12546 @@ -18652,11 +18871,12 @@ - + OutputArguments i=68 - i=14114 + i=78 + i=12546 @@ -18679,18 +18899,20 @@ - + AddCertificate - i=14118 - i=14089 + i=12549 + i=80 + i=12522 - + InputArguments i=68 - i=14117 + i=78 + i=12548 @@ -18729,18 +18951,20 @@ - + RemoveCertificate - i=14120 - i=14089 + i=12551 + i=80 + i=12522 - + InputArguments i=68 - i=14119 + i=78 + i=12550 @@ -18779,89 +19003,221 @@ - - CertificateTypes + + TrustListMasks - i=68 - i=14088 + i=12553 + i=29 + + + + + + + + + + + + EnumValues + + i=68 + i=78 + 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 + + + + + + + - - DefaultUserTokenGroup + + TrustListDataType - i=14123 - i=14155 - i=12555 - i=14053 + i=22 - - + + + + + + + + + + CertificateGroupType + + i=13599 + i=13631 + i=58 + + + 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=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=14122 + i=78 + i=12555 - + Size The size of the file in bytes. i=68 - i=14123 + i=78 + i=13599 - + Writable Whether the file is writable. i=68 - i=14123 + i=78 + i=13599 - + UserWritable Whether the file is writable by the current user. i=68 - i=14123 + i=78 + i=13599 - + OpenCount The current number of open file handles. i=68 - i=14123 + i=78 + i=13599 - + Open - i=14130 - i=14131 - i=14123 + i=13606 + i=13607 + i=78 + i=13599 - + InputArguments i=68 - i=14129 + i=78 + i=13605 @@ -18884,11 +19240,12 @@ - + OutputArguments i=68 - i=14129 + i=78 + i=13605 @@ -18911,18 +19268,20 @@ - + Close - i=14133 - i=14123 + i=13609 + i=78 + i=13599 - + InputArguments i=68 - i=14132 + i=78 + i=13608 @@ -18945,19 +19304,21 @@ - + Read - i=14135 - i=14136 - i=14123 + i=13611 + i=13612 + i=78 + i=13599 - + InputArguments i=68 - i=14134 + i=78 + i=13610 @@ -18996,11 +19357,12 @@ - + OutputArguments i=68 - i=14134 + i=78 + i=13610 @@ -19023,18 +19385,20 @@ - + Write - i=14138 - i=14123 + i=13614 + i=78 + i=13599 - + InputArguments i=68 - i=14137 + i=78 + i=13613 @@ -19073,19 +19437,21 @@ - + GetPosition - i=14140 - i=14141 - i=14123 + i=13616 + i=13617 + i=78 + i=13599 - + InputArguments i=68 - i=14139 + i=78 + i=13615 @@ -19108,11 +19474,12 @@ - + OutputArguments i=68 - i=14139 + i=78 + i=13615 @@ -19135,18 +19502,20 @@ - + SetPosition - i=14143 - i=14123 + i=13619 + i=78 + i=13599 - + InputArguments i=68 - i=14142 + i=78 + i=13618 @@ -19185,26 +19554,29 @@ - + LastUpdateTime i=68 - i=14123 + i=78 + i=13599 - + OpenWithMasks - i=14146 - i=14147 - i=14123 + i=13622 + i=13623 + i=78 + i=13599 - + InputArguments i=68 - i=14145 + i=78 + i=13621 @@ -19227,11 +19599,12 @@ - + OutputArguments i=68 - i=14145 + i=78 + i=13621 @@ -19254,19 +19627,105 @@ - - CloseAndUpdate + + CertificateTypes - i=14149 - i=14150 - i=14123 + i=68 + i=78 + i=12555 + + + + 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 + The size of the file in bytes. + + i=68 + i=78 + i=13815 + + + + Writable + Whether the file is writable. + + i=68 + i=78 + i=13815 + + + + UserWritable + Whether the file is writable by the current user. + + i=68 + i=78 + i=13815 + + + + OpenCount + The current number of open file handles. + + i=68 + i=78 + i=13815 + + + + Open + + i=13822 + i=13823 + i=78 + i=13815 - + InputArguments i=68 - i=14148 + i=78 + i=13821 @@ -19276,9 +19735,9 @@ - FileHandle + Mode - i=7 + i=3 -1 @@ -19289,11 +19748,12 @@ - + OutputArguments i=68 - i=14148 + i=78 + i=13821 @@ -19303,9 +19763,9 @@ - ApplyChangesRequired + FileHandle - i=1 + i=7 -1 @@ -19316,18 +19776,20 @@ - - AddCertificate + + Close - i=14152 - i=14123 + i=13825 + i=78 + i=13815 - + InputArguments i=68 - i=14151 + i=78 + i=13824 @@ -19337,25 +19799,9 @@ - Certificate - - i=15 - - -1 - - - - - - - - i=297 - - - - IsTrustedCertificate + FileHandle - i=1 + i=7 -1 @@ -19366,18 +19812,21 @@ - - RemoveCertificate + + Read - i=14154 - i=14123 + i=13827 + i=13828 + i=78 + i=13815 - + InputArguments i=68 - i=14153 + i=78 + i=13826 @@ -19387,9 +19836,9 @@ - Thumbprint + FileHandle - i=12 + i=7 -1 @@ -19403,9 +19852,9 @@ - IsTrustedCertificate + Length - i=1 + i=6 -1 @@ -19416,54 +19865,165 @@ - - CertificateTypes + + OutputArguments i=68 - i=14122 + i=78 + i=13826 + + + + + i=297 + + + + Data + + i=15 + + -1 + + + + + + + - - ServerCapabilities + + Write - i=68 - i=12637 + i=13830 + i=78 + i=13815 - - - SupportedPrivateKeyFormats + + + InputArguments i=68 - i=12637 + i=78 + i=13829 + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + i=297 + + + + Data + + i=15 + + -1 + + + + + + + - - MaxTrustListSize + + GetPosition + + i=13832 + i=13833 + i=78 + i=13815 + + + + InputArguments i=68 - i=12637 + i=78 + i=13831 + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + - - MulticastDnsEnabled + + OutputArguments i=68 - i=12637 + i=78 + i=13831 + + + + + i=297 + + + + Position + + i=9 + + -1 + + + + + + + - - UpdateCertificate + + SetPosition - i=13738 - i=13739 - i=12637 + i=13835 + i=78 + i=13815 - + InputArguments i=68 - i=13737 + i=78 + i=13834 @@ -19473,9 +20033,9 @@ - CertificateGroupId + FileHandle - i=17 + i=7 -1 @@ -19489,9 +20049,9 @@ - CertificateTypeId + Position - i=17 + i=9 -1 @@ -19499,15 +20059,44 @@ + + + + + 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 - Certificate + Masks - i=15 + i=7 -1 @@ -19515,31 +20104,138 @@ + + + + + OutputArguments + + i=68 + i=78 + i=13837 + + + i=297 - IssuerCertificates + FileHandle - i=15 + i=7 - 1 + -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 + The size of the file in bytes. + + i=68 + i=78 + i=13849 + + + + Writable + Whether the file is writable. + + i=68 + i=78 + i=13849 + + + + UserWritable + Whether the file is writable by the current user. + + i=68 + i=78 + i=13849 + + + + OpenCount + The current number of open file handles. + + i=68 + i=78 + i=13849 + + + + Open + + i=13856 + i=13857 + i=78 + i=13849 + + + + InputArguments + + i=68 + i=78 + i=13855 + + + i=297 - PrivateKeyFormat + Mode - i=12 + i=3 -1 @@ -19547,15 +20243,27 @@ + + + + + OutputArguments + + i=68 + i=78 + i=13855 + + + i=297 - PrivateKey + FileHandle - i=15 + i=7 -1 @@ -19566,11 +20274,20 @@ - - OutputArguments + + Close + + i=13859 + i=78 + i=13849 + + + + InputArguments i=68 - i=13737 + i=78 + i=13858 @@ -19580,9 +20297,9 @@ - ApplyChangesRequired + FileHandle - i=1 + i=7 -1 @@ -19593,25 +20310,21 @@ - - ApplyChanges - - i=12637 - - - - CreateSigningRequest + + Read - i=12738 - i=12739 - i=12637 + i=13861 + i=13862 + i=78 + i=13849 - + InputArguments i=68 - i=12737 + i=78 + i=13860 @@ -19621,9 +20334,9 @@ - CertificateGroupId + FileHandle - i=17 + i=7 -1 @@ -19637,9 +20350,9 @@ - CertificateTypeId + Length - i=17 + i=6 -1 @@ -19647,15 +20360,27 @@ + + + + + OutputArguments + + i=68 + i=78 + i=13860 + + + i=297 - SubjectName + Data - i=12 + i=15 -1 @@ -19663,15 +20388,35 @@ + + + + + Write + + i=13864 + i=78 + i=13849 + + + + InputArguments + + i=68 + i=78 + i=13863 + + + i=297 - RegeneratePrivateKey + FileHandle - i=1 + i=7 -1 @@ -19685,7 +20430,7 @@ - Nonce + Data i=15 @@ -19698,11 +20443,21 @@ - - OutputArguments + + GetPosition + + i=13866 + i=13867 + i=78 + i=13849 + + + + InputArguments i=68 - i=12737 + i=78 + i=13865 @@ -19712,9 +20467,9 @@ - CertificateRequest + FileHandle - i=15 + i=7 -1 @@ -19725,18 +20480,12 @@ - - GetRejectedList - - i=12778 - i=12637 - - - + OutputArguments i=68 - i=12777 + i=78 + i=13865 @@ -19746,11 +20495,11 @@ - Certificates + Position - i=15 + i=9 - 1 + -1 @@ -19759,4313 +20508,28872 @@ - - AggregateConfigurationType + + SetPosition - i=11188 - i=11189 - i=11190 - i=11191 - i=58 + i=13869 + i=78 + i=13849 - - - TreatUncertainAsBad + + + InputArguments i=68 i=78 - i=11187 + i=13868 + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + i=297 + + + + Position + + i=9 + + -1 + + + + + + + - - PercentDataBad + + LastUpdateTime i=68 i=78 - i=11187 + i=13849 - - PercentDataGood + + OpenWithMasks - i=68 + i=13872 + i=13873 i=78 - i=11187 + i=13849 - - - UseSlopedExtrapolation + + + InputArguments i=68 i=78 - i=11187 + i=13871 + + + + + i=297 + + + + Masks + + i=7 + + -1 + + + + + + + - - Interpolative - At the beginning of each interval, retrieve the calculated value from the data points on either side of the requested timestamp. - - i=2340 - - - - Average - Retrieve the average value of the data over the interval. + + OutputArguments - i=2340 + i=68 + i=78 + i=13871 - - - TimeAverage - Retrieve the time weighted average data over the interval using Interpolated Bounding Values. + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + + CertificateTypes - i=2340 + i=68 + i=78 + i=13848 - - - TimeAverage2 - Retrieve the time weighted average data over the interval using Simple Bounding Values. + + + DefaultUserTokenGroup - i=2340 + i=13883 + i=13915 + i=12555 + i=80 + i=13813 - - Total - Retrieve the total (time integral) of the data over the interval using Interpolated Bounding Values. + + TrustList - i=2340 + 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 - - Total2 - Retrieve the total (time integral) of the data over the interval using Simple Bounding Values. + + Size + The size of the file in bytes. - i=2340 + i=68 + i=78 + i=13883 - - - Minimum - Retrieve the minimum raw value in the interval with the timestamp of the start of the interval. + + + Writable + Whether the file is writable. - i=2340 + i=68 + i=78 + i=13883 - - - Maximum - Retrieve the maximum raw value in the interval with the timestamp of the start of the interval. + + + UserWritable + Whether the file is writable by the current user. - i=2340 + i=68 + i=78 + i=13883 - - - MinimumActualTime - Retrieve the minimum value in the interval and the Timestamp of the minimum value. + + + OpenCount + The current number of open file handles. - i=2340 + i=68 + i=78 + i=13883 - - - MaximumActualTime - Retrieve the maximum value in the interval and the Timestamp of the maximum value. + + + Open - i=2340 + i=13890 + i=13891 + i=78 + i=13883 - - - Range - Retrieve the difference between the minimum and maximum Value over the interval. + + + InputArguments - i=2340 + i=68 + i=78 + i=13889 - - - Minimum2 - Retrieve the minimum value in the interval including the Simple Bounding Values. + + + + + i=297 + + + + Mode + + i=3 + + -1 + + + + + + + + + + OutputArguments - i=2340 + i=68 + i=78 + i=13889 - - - Maximum2 - Retrieve the maximum value in the interval including the Simple Bounding Values. + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + + Close - i=2340 + i=13893 + i=78 + i=13883 - - - MinimumActualTime2 - Retrieve the minimum value with the actual timestamp including the Simple Bounding Values. + + + InputArguments - i=2340 + i=68 + i=78 + i=13892 - - - MaximumActualTime2 - Retrieve the maximum value with the actual timestamp including the Simple Bounding Values. + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + + Read - i=2340 + i=13895 + i=13896 + i=78 + i=13883 - - - Range2 - Retrieve the difference between the Minimum2 and Maximum2 value over the interval. + + + InputArguments - i=2340 + i=68 + i=78 + i=13894 - - - AnnotationCount - Retrieve the number of Annotations in the interval. + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + i=297 + + + + Length + + i=6 + + -1 + + + + + + + + + + OutputArguments - i=2340 + i=68 + i=78 + i=13894 - - - Count - Retrieve the number of raw values over the interval. + + + + + i=297 + + + + Data + + i=15 + + -1 + + + + + + + + + + Write - i=2340 + i=13898 + i=78 + i=13883 - - - DurationInStateZero - Retrieve the time a Boolean or numeric was in a zero state using Simple Bounding Values. + + + InputArguments - i=2340 + i=68 + i=78 + i=13897 - - - DurationInStateNonZero - Retrieve the time a Boolean or numeric was in a non-zero state using Simple Bounding Values. + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + i=297 + + + + Data + + i=15 + + -1 + + + + + + + + + + GetPosition - i=2340 + i=13900 + i=13901 + i=78 + i=13883 - - - NumberOfTransitions - Retrieve the number of changes between zero and non-zero that a Boolean or Numeric value experienced in the interval. + + + InputArguments - i=2340 + i=68 + i=78 + i=13899 - - - Start - Retrieve the value at the beginning of the interval using Interpolated Bounding Values. + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + + OutputArguments - i=2340 + i=68 + i=78 + i=13899 - - - End - Retrieve the value at the end of the interval using Interpolated Bounding Values. + + + + + i=297 + + + + Position + + i=9 + + -1 + + + + + + + + + + SetPosition - i=2340 + i=13903 + i=78 + i=13883 - - - Delta - Retrieve the difference between the Start and End value in the interval. + + + InputArguments - i=2340 + i=68 + i=78 + i=13902 - - - StartBound - Retrieve the value at the beginning of the interval using Simple Bounding Values. - - i=2340 - - - - EndBound - Retrieve the value at the end of the interval using Simple Bounding Values. - - i=2340 - - - - DeltaBounds - Retrieve the difference between the StartBound and EndBound value in the interval. - - i=2340 - - - - DurationGood - Retrieve the total duration of time in the interval during which the data is good. - - i=2340 - - - - DurationBad - Retrieve the total duration of time in the interval during which the data is bad. + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + i=297 + + + + Position + + i=9 + + -1 + + + + + + + + + + LastUpdateTime - i=2340 + i=68 + i=78 + i=13883 - - - PercentGood - Retrieve the percent of data (0 to 100) in the interval which has a good StatusCode. + + + OpenWithMasks - i=2340 + i=13906 + i=13907 + i=78 + i=13883 - - - PercentBad - Retrieve the percent of data (0 to 100) in the interval which has a bad StatusCode. + + + InputArguments - i=2340 + i=68 + i=78 + i=13905 - - - WorstQuality - Retrieve the worst StatusCode of data in the interval. + + + + + i=297 + + + + Masks + + i=7 + + -1 + + + + + + + + + + OutputArguments - i=2340 + i=68 + i=78 + i=13905 - - - WorstQuality2 - Retrieve the worst StatusCode of data in the interval including the Simple Bounding Values. + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + + CertificateTypes - i=2340 + i=68 + i=78 + i=13882 - - - StandardDeviationSample - Retrieve the standard deviation for the interval for a sample of the population (n-1). + + + <AdditionalGroup> - i=2340 + i=13917 + i=13949 + i=12555 + i=11508 + i=13813 - - StandardDeviationPopulation - Retrieve the standard deviation for the interval for a complete population (n) which includes Simple Bounding Values. + + TrustList - i=2340 + 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 - - VarianceSample - Retrieve the variance for the interval as calculated by the StandardDeviationSample. + + Size + The size of the file in bytes. - i=2340 + i=68 + i=78 + i=13917 - - - VariancePopulation - Retrieve the variance for the interval as calculated by the StandardDeviationPopulation which includes Simple Bounding Values. + + + Writable + Whether the file is writable. - i=2340 + i=68 + i=78 + i=13917 - - - IdType - The type of identifier used in a node id. + + + UserWritable + Whether the file is writable by the current user. - i=7591 - i=29 + i=68 + i=78 + i=13917 - - - The identifier is a numeric value. 0 is a null value. - - - The identifier is a string value. An empty string is a null value. - - - The identifier is a 16 byte structure. 16 zero bytes is a null value. - - - The identifier is an array of bytes. A zero length array is a null value. - - - - - EnumStrings + + + OpenCount + The current number of open file handles. i=68 i=78 - i=256 + i=13917 - - - - - - Numeric - - - - - String - - - - - Guid - - - - - Opaque - - - - - NodeClass - A mask specifying the class of the node. + + Open - i=11878 - i=29 + i=13924 + i=13925 + i=78 + i=13917 - - - No classes are selected. - - - The node is an object. - - - The node is a variable. - - - The node is a method. - - - The node is an object type. - - - The node is an variable type. - - - The node is a reference type. - - - The node is a data type. - - - The node is a view. - - - - - EnumValues + + + InputArguments i=68 i=78 - i=257 + i=13923 - i=7616 + i=297 - - 0 - - - - Unspecified - - - - - No classes are selected. - - + + Mode + + i=3 + + -1 + + + + + + + + OutputArguments + + i=68 + i=78 + i=13923 + + + - i=7616 + i=297 - - 1 - - - - Object - - - - - The node is an object. - - + + FileHandle + + i=7 + + -1 + + + + + + + + Close + + i=13927 + i=78 + i=13917 + + + + InputArguments + + i=68 + i=78 + i=13926 + + + - i=7616 + i=297 - - 2 - - - - Variable - - - - - The node is a variable. - - + + FileHandle + + i=7 + + -1 + + + + + + + + Read + + i=13929 + i=13930 + i=78 + i=13917 + + + + InputArguments + + i=68 + i=78 + i=13928 + + + - i=7616 + i=297 - - 4 - - - - Method - - - - - The node is a method. - - + + FileHandle + + i=7 + + -1 + + + - i=7616 + i=297 - - 8 - - - - ObjectType - - - - - The node is an object type. - - + + Length + + i=6 + + -1 + + + + + + + + OutputArguments + + i=68 + i=78 + i=13928 + + + - i=7616 + i=297 - - 16 - - - - VariableType - - - - - The node is an variable type. - - + + Data + + i=15 + + -1 + + + + + + + + Write + + i=13932 + i=78 + i=13917 + + + + InputArguments + + i=68 + i=78 + i=13931 + + + - i=7616 + i=297 - - 32 - - - - ReferenceType - - - - - The node is a reference type. - - + + FileHandle + + i=7 + + -1 + + + - i=7616 + i=297 - - 64 - - - - DataType - - - - - The node is a data type. - - + + Data + + i=15 + + -1 + + + + + + + + GetPosition + + i=13934 + i=13935 + i=78 + i=13917 + + + + InputArguments + + i=68 + i=78 + i=13933 + + + - i=7616 + i=297 - - 128 - - - - View - - - - - The node is a view. - - + + FileHandle + + i=7 + + -1 + + + - - Argument - An argument for a method. + + OutputArguments - i=22 + i=68 + i=78 + i=13933 - - - The name of the argument. - - - The data type of the argument. - - - Whether the argument is an array type and the rank of the array if it is. - - - The number of dimensions if the argument is an array type and one or more dimensions have a fixed length. - - - The description for the argument. - - - - - EnumValueType - A mapping between a value of an enumerated type and a name and description. + + + + + i=297 + + + + Position + + i=9 + + -1 + + + + + + + + + + SetPosition - i=22 + i=13937 + i=78 + i=13917 - - - The value of the enumeration. - - - Human readable name for the value. - - - A description of the value. - - - - - OptionSet - This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask. + + + InputArguments - i=22 + i=68 + i=78 + i=13936 - - - Array of bytes representing the bits in the option set. - - - Array of bytes with same size as value representing the valid bits in the value parameter. - - - - - Union - This abstract DataType is the base DataType for all union DataTypes. + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + i=297 + + + + Position + + i=9 + + -1 + + + + + + + + + + LastUpdateTime - i=22 + i=68 + i=78 + i=13917 - - - NormalizedString - A string normalized based on the rules in the unicode specification. + + + OpenWithMasks - i=12 + i=13940 + i=13941 + i=78 + i=13917 - - - DecimalString - An arbitraty numeric value. + + + InputArguments - i=12 + i=68 + i=78 + i=13939 - - - DurationString - A period of time formatted as defined in ISO 8601-2000. + + + + + i=297 + + + + Masks + + i=7 + + -1 + + + + + + + + + + OutputArguments - i=12 + i=68 + i=78 + i=13939 - - - TimeString - A time formatted as defined in ISO 8601-2000. + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + + CertificateTypes - i=12 + i=68 + i=78 + i=13916 - - - DateString - A date formatted as defined in ISO 8601-2000. + + + CertificateType - i=12 + i=58 - - - Duration - A period of time measured in milliseconds. + + + ApplicationCertificateType - i=11 + i=12556 - - - UtcTime - A date/time value specified in Universal Coordinated Time (UTC). + + + HttpsCertificateType - i=13 + i=12556 - - - LocaleId - An identifier for a user locale. + + + RsaMinApplicationCertificateType - i=12 + i=12557 - - - TimeZoneDataType + + + RsaSha256ApplicationCertificateType - i=22 + i=12557 - - - - - - - IntegerId - A numeric identifier for an object. + + + TrustListUpdatedAuditEventType - i=7 + i=2127 - - - ApplicationType - The types of applications. + + + ServerConfigurationType - i=7597 - i=29 + i=13950 + i=12708 + i=12583 + i=12584 + i=12585 + i=12616 + i=12734 + i=12731 + i=12775 + i=58 - - - The application is a server. - - - The application is a client. - - - The application is a client and a server. - - - The application is a discovery server. - - - - - EnumStrings + + + CertificateGroups - i=68 + i=13951 + i=13813 i=78 - i=307 + i=12581 - - - - - - Server - - - - - Client - - - - - ClientAndServer - - - - - DiscoveryServer - - - - - - ApplicationDescription - Describes an application and how to find it. + + + DefaultApplicationGroup - i=22 + i=13952 + i=13984 + i=12555 + i=78 + i=13950 - - - The globally unique identifier for the application. - - - The globally unique identifier for the product. - - - The name of application. - - - The type of application. - - - The globally unique identifier for the server that is acting as a gateway for the server. - - - The globally unique identifier for the discovery profile supported by the server. - - - The URLs for the server's discovery endpoints. - - - - - ServerOnNetwork + + + TrustList - i=22 + 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 - - - - - - - - - ApplicationInstanceCertificate - A certificate for an instance of an application. + + + Size + The size of the file in bytes. - i=15 + i=68 + i=78 + i=13952 - - - MessageSecurityMode - The type of security to use on a message. + + + Writable + Whether the file is writable. - i=7595 - i=29 + i=68 + i=78 + i=13952 - - - An invalid mode. - - - No security is used. - - - The message is signed. - - - The message is signed and encrypted. - - - - - EnumStrings + + + UserWritable + Whether the file is writable by the current user. i=68 i=78 - i=302 + i=13952 - - - - - - Invalid - - - - - None - - - - - Sign - - - - - SignAndEncrypt - - - - - UserTokenType - The possible user token types. + + OpenCount + The current number of open file handles. - i=7596 - i=29 + i=68 + i=78 + i=13952 - - - An anonymous user. - - - A user identified by a user name and password. - - - A user identified by an X509 certificate. - - - A user identified by WS-Security XML token. - - - - - EnumStrings + + + Open + + i=13959 + i=13960 + i=78 + i=13952 + + + + InputArguments i=68 i=78 - i=303 + i=13958 - - - - - Anonymous - - - - - UserName - - - - - Certificate - - - - - IssuedToken - - + + + + i=297 + + + + Mode + + i=3 + + -1 + + + + + + - - UserTokenPolicy - Describes a user token that can be used with a server. - - i=22 - - - - A identifier for the policy assigned by the server. - - - The type of user token. - - - The type of issued token. - - - The endpoint or any other information need to contruct an issued token URL. - - - The security policy to use when encrypting or signing the user token. - - - - - EndpointDescription - The description of a endpoint that can be used to access a server. + + OutputArguments - i=22 + i=68 + i=78 + i=13958 - - - The network endpoint to use when connecting to the server. - - - The description of the server. - - - The server's application certificate. - - - The security mode that must be used when connecting to the endpoint. - - - The security policy to use when connecting to the endpoint. - - - The user identity tokens that can be used with this endpoint. - - - The transport profile to use when connecting to the endpoint. - - - A server assigned value that indicates how secure the endpoint is relative to other server endpoints. - - - - - RegisteredServer - The information required to register a server with a discovery server. + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + + Close - i=22 + i=13962 + i=78 + i=13952 - - - The globally unique identifier for the server. - - - The globally unique identifier for the product. - - - The name of server in multiple lcoales. - - - The type of server. - - - The globally unique identifier for the server that is acting as a gateway for the server. - - - The URLs for the server's discovery endpoints. - - - A path to a file that is deleted when the server is no longer accepting connections. - - - If FALSE the server will save the registration information to a persistent datastore. - - - - - DiscoveryConfiguration - A base type for discovery configuration information. + + + InputArguments - i=22 + i=68 + i=78 + i=13961 - - - MdnsDiscoveryConfiguration - The discovery information needed for mDNS registration. + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + + Read - i=12890 + i=13964 + i=13965 + i=78 + i=13952 - - - The name for server that is broadcast via mDNS. - - - The server capabilities that are broadcast via mDNS. - - - - - SecurityTokenRequestType - Indicates whether a token if being created or renewed. + + + InputArguments - i=7598 - i=29 + i=68 + i=78 + i=13963 - - - The channel is being created. - - - The channel is being renewed. - - - - - EnumStrings + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + i=297 + + + + Length + + i=6 + + -1 + + + + + + + + + + OutputArguments i=68 i=78 - i=315 + i=13963 - - - - - Issue - - - - - Renew - - + + + + i=297 + + + + Data + + i=15 + + -1 + + + + + + - - SignedSoftwareCertificate - A software certificate with a digital signature. + + Write - i=22 + i=13967 + i=78 + i=13952 - - - The data of the certificate. - - - The digital signature. - - - - - SessionAuthenticationToken - A unique identifier for a session used to authenticate requests. + + + InputArguments - i=17 + i=68 + i=78 + i=13966 - - - UserIdentityToken - A base type for a user identity token. + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + i=297 + + + + Data + + i=15 + + -1 + + + + + + + + + + GetPosition - i=22 - - - - The policy id specified in a user token policy for the endpoint being used. - - - - - AnonymousIdentityToken - A token representing an anonymous user. - - i=316 - - - - UserNameIdentityToken - A token representing a user identified by a user name and password. - - i=316 + i=13969 + i=13970 + i=78 + i=13952 - - - The user name. - - - The password encrypted with the server certificate. - - - The algorithm used to encrypt the password. - - - - - X509IdentityToken - A token representing a user identified by an X509 certificate. + + + InputArguments - i=316 + i=68 + i=78 + i=13968 - - - The certificate. - - - - - IssuedIdentityToken - A token representing a user identified by a WS-Security XML token. + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + + OutputArguments - i=316 + i=68 + i=78 + i=13968 - - - The XML token encrypted with the server certificate. - - - The algorithm used to encrypt the certificate. - - - - - NodeAttributesMask - The bits used to specify default attributes for a new node. + + + + + i=297 + + + + Position + + i=9 + + -1 + + + + + + + + + + SetPosition - i=11881 - i=29 + i=13972 + i=78 + i=13952 - - - No attribuites provided. - - - The access level attribute is specified. - - - The array dimensions attribute is specified. - - - The browse name attribute is specified. - - - The contains no loops attribute is specified. - - - The data type attribute is specified. - - - The description attribute is specified. - - - The display name attribute is specified. - - - The event notifier attribute is specified. - - - The executable attribute is specified. - - - The historizing attribute is specified. - - - The inverse name attribute is specified. - - - The is abstract attribute is specified. - - - The minimum sampling interval attribute is specified. - - - The node class attribute is specified. - - - The node id attribute is specified. - - - The symmetric attribute is specified. - - - The user access level attribute is specified. - - - The user executable attribute is specified. - - - The user write mask attribute is specified. - - - The value rank attribute is specified. - - - The write mask attribute is specified. - - - The value attribute is specified. - - - All attributes are specified. - - - All base attributes are specified. - - - All object attributes are specified. - - - All object type or data type attributes are specified. - - - All variable attributes are specified. - - - All variable type attributes are specified. - - - All method attributes are specified. - - - All reference type attributes are specified. - - - All view attributes are specified. - - - - - EnumValues + + + InputArguments i=68 i=78 - i=348 + i=13971 - i=7616 + i=297 - - 0 - - - - None - - - - - No attribuites provided. - - + + FileHandle + + i=7 + + -1 + + + - i=7616 + i=297 - - 1 - - - - AccessLevel - - - - - The access level attribute is specified. - - + + 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=7616 + i=297 - - 2 - - - - ArrayDimensions - - - - - The array dimensions attribute is specified. - - + + Masks + + i=7 + + -1 + + + + + + + + OutputArguments + + i=68 + i=78 + i=13974 + + + - i=7616 + i=297 - - 4 - - - - BrowseName - - - - - The browse name attribute is specified. - - + + 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=7616 + i=297 - - 8 - - - - ContainsNoLoops - - - - - The contains no loops attribute is specified. - - + + CertificateGroupId + + i=17 + + -1 + + + - i=7616 + i=297 - - 16 - - - - DataType - - - - - The data type attribute is specified. - - + + CertificateTypeId + + i=17 + + -1 + + + - i=7616 + i=297 - - 32 - - - - Description - - - - - The description attribute is specified. - - + + Certificate + + i=15 + + -1 + + + - i=7616 + i=297 - - 64 - - - - DisplayName - - - - - The display name attribute is specified. - - + + IssuerCertificates + + i=15 + + 1 + + + - i=7616 + i=297 - - 128 - - - - EventNotifier - - - - - The event notifier attribute is specified. - - + + PrivateKeyFormat + + i=12 + + -1 + + + - i=7616 + i=297 - - 256 - - - - Executable - - - - - The executable attribute is specified. - - + + PrivateKey + + i=15 + + -1 + + + + + + + + OutputArguments + + i=68 + i=78 + i=12616 + + + - i=7616 + i=297 - - 512 - - - - Historizing - - - - - The historizing attribute is specified. - - + + 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=7616 + i=297 - - 1024 - - - - InverseName - - - - - The inverse name attribute is specified. - - + + CertificateGroupId + + i=17 + + -1 + + + - i=7616 + i=297 - - 2048 - - - - IsAbstract - - - - - The is abstract attribute is specified. - - + + CertificateTypeId + + i=17 + + -1 + + + - i=7616 + i=297 - - 4096 - - - - MinimumSamplingInterval - - - - - The minimum sampling interval attribute is specified. - - + + SubjectName + + i=12 + + -1 + + + - i=7616 + i=297 - - 8192 - - - - NodeClass - - - - - The node class attribute is specified. - - + + RegeneratePrivateKey + + i=1 + + -1 + + + - i=7616 + i=297 - - 16384 - - - - NodeId - - - - - The node id attribute is specified. - - + + Nonce + + i=15 + + -1 + + + + + + + + OutputArguments + + i=68 + i=78 + i=12731 + + + - i=7616 + i=297 - - 32768 - - - - Symmetric - - - - - The symmetric attribute is specified. - - + + CertificateRequest + + i=15 + + -1 + + + + + + + + GetRejectedList + + i=12776 + i=78 + i=12581 + + + + OutputArguments + + i=68 + i=78 + i=12775 + + + - i=7616 + i=297 - - 65536 - - - - UserAccessLevel - - - - - The user access level attribute is specified. - - + + Certificates + + i=15 + + 1 + + + + + + + + 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 + The size of the file in bytes. + + i=68 + i=12642 + + + + Writable + Whether the file is writable. + + i=68 + i=12642 + + + + UserWritable + Whether the file is writable by the current user. + + i=68 + i=12642 + + + + OpenCount + The current number of open file handles. + + i=68 + i=12642 + + + + Open + + i=12648 + i=12649 + i=12642 + + + + InputArguments + + i=68 + i=12647 + + + - i=7616 + i=297 - - 131072 - - - - UserExecutable - - - - - The user executable attribute is specified. - - + + Mode + + i=3 + + -1 + + + + + + + + OutputArguments + + i=68 + i=12647 + + + - i=7616 + i=297 - - 262144 - - - - UserWriteMask - - - - - The user write mask attribute is specified. - - + + FileHandle + + i=7 + + -1 + + + - - - i=7616 - - - - 524288 - - - - ValueRank - - - - - The value rank attribute is specified. - - + + + + + Close + + i=12651 + i=12642 + + + + InputArguments + + i=68 + i=12650 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + Read + + i=12653 + i=12654 + i=12642 + + + + InputArguments + + i=68 + i=12652 + + + - i=7616 + i=297 - - 1048576 - - - - WriteMask - - - - - The write mask attribute is specified. - - + + FileHandle + + i=7 + + -1 + + + - i=7616 + i=297 - - 2097152 - - - - Value - - - - - The value attribute is specified. - - + + Length + + i=6 + + -1 + + + + + + + + OutputArguments + + i=68 + i=12652 + + + - i=7616 + i=297 - - 4194303 - - - - All - - - - - All attributes are specified. - - + + Data + + i=15 + + -1 + + + + + + + + Write + + i=12656 + i=12642 + + + + InputArguments + + i=68 + i=12655 + + + - i=7616 + i=297 - - 1335396 - - - - BaseNode - - - - - All base attributes are specified. - - + + FileHandle + + i=7 + + -1 + + + - i=7616 + i=297 - - 1335524 - - - - Object - - - - - All object attributes are specified. - - + + Data + + i=15 + + -1 + + + + + + + + GetPosition + + i=12658 + i=12659 + i=12642 + + + + InputArguments + + i=68 + i=12657 + + + - i=7616 + i=297 - - 1337444 - - - - ObjectTypeOrDataType - - - - - All object type or data type attributes are specified. - - + + FileHandle + + i=7 + + -1 + + + + + + + + OutputArguments + + i=68 + i=12657 + + + - i=7616 + i=297 - - 4026999 - - - - Variable - - - - - All variable attributes are specified. - - + + Position + + i=9 + + -1 + + + + + + + + SetPosition + + i=12661 + i=12642 + + + + InputArguments + + i=68 + i=12660 + + + - i=7616 + i=297 - - 3958902 - - - - VariableType - - - - - All variable type attributes are specified. - - + + FileHandle + + i=7 + + -1 + + + - i=7616 + i=297 - - 1466724 - - - - Method - - - - - All method attributes are specified. - - + + Position + + i=9 + + -1 + + + + + + + + LastUpdateTime + + i=68 + i=12642 + + + + OpenWithMasks + + i=12664 + i=12665 + i=12642 + + + + InputArguments + + i=68 + i=12663 + + + - i=7616 + i=297 - - 1371236 - - - - ReferenceType - - - - - All reference type attributes are specified. - - + + Masks + + i=7 + + -1 + + + + + + + + OutputArguments + + i=68 + i=12663 + + + - i=7616 + i=297 - - 1335532 - - - - View - - - - - All view attributes are specified. - - + + FileHandle + + i=7 + + -1 + + + - - AddNodesItem - A request to add a node to the server address space. + + CloseAndUpdate - i=22 + i=14160 + i=12667 + i=12642 - - - The node id for the parent node. - - - The type of reference from the parent to the new node. - - - The node id requested by the client. If null the server must provide one. - - - The browse name for the new node. - - - The class of the new node. - - - The default attributes for the new node. - - - The type definition for the new node. - - - - - AddReferencesItem - A request to add a reference to the server address space. + + + InputArguments - i=22 + i=68 + i=12666 - - - The source of the reference. - - - The type of reference. - - - If TRUE the reference is a forward reference. - - - The URI of the server containing the target (if in another server). - - - The target of the reference. - - - The node class of the target (if known). - - - - - DeleteNodesItem - A request to delete a node to the server address space. - - i=22 - - - - The id of the node to delete. - - - If TRUE all references to the are deleted as well. - - - - - DeleteReferencesItem - A request to delete a node from the server address space. - - i=22 - - - - The source of the reference to delete. - - - The type of reference to delete. - - - If TRUE the a forward reference is deleted. - - - The target of the reference to delete. - - - If TRUE the reference is deleted in both directions. - - - - - AttributeWriteMask - Define bits used to indicate which attributes are writable. - - i=11882 - i=29 - - - - No attributes are writable. - - - The access level attribute is writable. - - - The array dimensions attribute is writable. - - - The browse name attribute is writable. - - - The contains no loops attribute is writable. - - - The data type attribute is writable. - - - The description attribute is writable. - - - The display name attribute is writable. - - - The event notifier attribute is writable. - - - The executable attribute is writable. - - - The historizing attribute is writable. - - - The inverse name attribute is writable. - - - The is abstract attribute is writable. - - - The minimum sampling interval attribute is writable. - - - The node class attribute is writable. - - - The node id attribute is writable. - - - The symmetric attribute is writable. - - - The user access level attribute is writable. - - - The user executable attribute is writable. - - - The user write mask attribute is writable. - - - The value rank attribute is writable. - - - The write mask attribute is writable. - - - The value attribute is writable. - - - - - EnumValues + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + + OutputArguments i=68 - i=78 - i=347 + i=12666 - i=7616 + i=297 - - 0 - - - - None - - - - - No attributes are writable. - - + + ApplyChangesRequired + + i=1 + + -1 + + + + + + + + AddCertificate + + i=12669 + i=12642 + + + + InputArguments + + i=68 + i=12668 + + + - i=7616 + i=297 - - 1 - - - - AccessLevel - - - - - The access level attribute is writable. - - + + Certificate + + i=15 + + -1 + + + - i=7616 + i=297 - - 2 - - - - ArrayDimensions - - - - - The array dimensions attribute is writable. - - + + IsTrustedCertificate + + i=1 + + -1 + + + + + + + + RemoveCertificate + + i=12671 + i=12642 + + + + InputArguments + + i=68 + i=12670 + + + - i=7616 + i=297 - - 4 - - - - BrowseName - - - - - The browse name attribute is writable. - - + + Thumbprint + + i=12 + + -1 + + + - i=7616 + i=297 - - 8 - - - - ContainsNoLoops - - - - - The contains no loops attribute is writable. - - + + 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 + The size of the file in bytes. + + i=68 + i=14089 + + + + Writable + Whether the file is writable. + + i=68 + i=14089 + + + + UserWritable + Whether the file is writable by the current user. + + i=68 + i=14089 + + + + OpenCount + The current number of open file handles. + + i=68 + i=14089 + + + + Open + + i=14096 + i=14097 + i=14089 + + + + InputArguments + + i=68 + i=14095 + + + - i=7616 + i=297 - - 16 - - - - DataType - - - - - The data type attribute is writable. - - + + Mode + + i=3 + + -1 + + + + + + + + OutputArguments + + i=68 + i=14095 + + + - i=7616 + i=297 - - 32 - - - - Description - - - - - The description attribute is writable. - - + + FileHandle + + i=7 + + -1 + + + + + + + + Close + + i=14099 + i=14089 + + + + InputArguments + + i=68 + i=14098 + + + - i=7616 + i=297 - - 64 - - - - DisplayName - - - - - The display name attribute is writable. - - + + FileHandle + + i=7 + + -1 + + + + + + + + Read + + i=14101 + i=14102 + i=14089 + + + + InputArguments + + i=68 + i=14100 + + + - i=7616 + i=297 - - 128 - - - - EventNotifier - - - - - The event notifier attribute is writable. - - + + FileHandle + + i=7 + + -1 + + + - i=7616 + i=297 - - 256 - - - - Executable - - - - - The executable attribute is writable. - - - - + + Length + + i=6 + + -1 + + + + + + + + + + OutputArguments + + i=68 + i=14100 + + + - i=7616 + i=297 - - 512 - - - - Historizing - - - - - The historizing attribute is writable. - - + + Data + + i=15 + + -1 + + + + + + + + Write + + i=14104 + i=14089 + + + + InputArguments + + i=68 + i=14103 + + + - i=7616 + i=297 - - 1024 - - - - InverseName - - - - - The inverse name attribute is writable. - - + + FileHandle + + i=7 + + -1 + + + - i=7616 + i=297 - - 2048 - - - - IsAbstract - - - - - The is abstract attribute is writable. - - + + Data + + i=15 + + -1 + + + + + + + + GetPosition + + i=14106 + i=14107 + i=14089 + + + + InputArguments + + i=68 + i=14105 + + + - i=7616 + i=297 - - 4096 - - - - MinimumSamplingInterval - - - - - The minimum sampling interval attribute is writable. - - + + FileHandle + + i=7 + + -1 + + + + + + + + OutputArguments + + i=68 + i=14105 + + + - i=7616 + i=297 - - 8192 - - - - NodeClass - - - - - The node class attribute is writable. - - + + Position + + i=9 + + -1 + + + + + + + + SetPosition + + i=14109 + i=14089 + + + + InputArguments + + i=68 + i=14108 + + + - i=7616 + i=297 - - 16384 - - - - NodeId - - - - - The node id attribute is writable. - - + + FileHandle + + i=7 + + -1 + + + - i=7616 + i=297 - - 32768 - - - - Symmetric - - - - - The symmetric attribute is writable. - - + + Position + + i=9 + + -1 + + + + + + + + LastUpdateTime + + i=68 + i=14089 + + + + OpenWithMasks + + i=14112 + i=14113 + i=14089 + + + + InputArguments + + i=68 + i=14111 + + + - i=7616 + i=297 - - 65536 - - - - UserAccessLevel - - - - - The user access level attribute is writable. - - + + Masks + + i=7 + + -1 + + + + + + + + OutputArguments + + i=68 + i=14111 + + + - i=7616 + i=297 - - 131072 - - - - UserExecutable - - - - - The user executable attribute is writable. - - + + FileHandle + + i=7 + + -1 + + + + + + + + CloseAndUpdate + + i=14115 + i=14116 + i=14089 + + + + InputArguments + + i=68 + i=14114 + + + - i=7616 + i=297 - - 262144 - - - - UserWriteMask - - - - - The user write mask attribute is writable. - - + + FileHandle + + i=7 + + -1 + + + + + + + + OutputArguments + + i=68 + i=14114 + + + - i=7616 + i=297 - - 524288 - - - - ValueRank - - - - - The value rank attribute is writable. - - + + ApplyChangesRequired + + i=1 + + -1 + + + + + + + + AddCertificate + + i=14118 + i=14089 + + + + InputArguments + + i=68 + i=14117 + + + - i=7616 + i=297 - - 1048576 - - - - WriteMask - - - - - The write mask attribute is writable. - - + + Certificate + + i=15 + + -1 + + + - i=7616 + i=297 - - 2097152 - - - - ValueForVariableType - - - - - The value attribute is writable. - - + + IsTrustedCertificate + + i=1 + + -1 + + + - - ContinuationPoint - An identifier for a suspended query or browse operation. - - i=15 - - - - RelativePathElement - An element in a relative path. + + RemoveCertificate - i=22 + i=14120 + i=14089 - - - The type of reference to follow. - - - If TRUE the reverse reference is followed. - - - If TRUE then subtypes of the reference type are followed. - - - The browse name of the target. - - - - - RelativePath - A relative path constructed from reference types and browse names. + + + InputArguments - i=22 - - - - A list of elements in the path. - - - - - Counter - A monotonically increasing value. - - i=7 - - - - NumericRange - Specifies a range of array indexes. - - i=12 - - - - Time - A time value specified as HH:MM:SS.SSS. - - i=12 - - - - Date - A date value. - - i=13 - - - - EndpointConfiguration - - i=22 - - - - - - - - - - - - - - - FilterOperator - - i=7605 - i=29 - - - - - - - - - - - - - - - - - - - - - - - - EnumStrings - - i=68 - i=78 - i=576 + i=68 + i=14119 - - - - - Equals - - - - - IsNull - - - - - GreaterThan - - - - - LessThan - - - - - GreaterThanOrEqual - - - - - LessThanOrEqual - - - - - Like - - - - - Not - - - - - Between - - - - - InList - - - - - And - - - - - Or - - - - - Cast - - - - - InView - - - - - OfType - - - - - RelatedTo - - - - - BitwiseAnd - - - - - BitwiseOr - - + + + + i=297 + + + + Thumbprint + + i=12 + + -1 + + + + + + + + i=297 + + + + IsTrustedCertificate + + i=1 + + -1 + + + + + + - - ContentFilterElement - - i=22 - - - - - - - - ContentFilter + + CertificateTypes - i=22 + i=68 + i=14088 - - - - - - FilterOperand + + + DefaultUserTokenGroup - i=22 + i=14123 + i=14155 + i=12555 + i=14053 - - - ElementOperand + + + TrustList - i=589 + 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 - - - - - - LiteralOperand + + + Size + The size of the file in bytes. - i=589 + i=68 + i=14123 - - - - - - AttributeOperand + + + Writable + Whether the file is writable. - i=589 + i=68 + i=14123 - - - - - - - - - - SimpleAttributeOperand + + + UserWritable + Whether the file is writable by the current user. - i=589 + i=68 + i=14123 - - - - - - - - - HistoryEvent + + + OpenCount + The current number of open file handles. - i=22 + i=68 + i=14123 - - - - - - HistoryUpdateType + + + Open - i=11884 - i=29 + i=14130 + i=14131 + i=14123 - - - - - - - - - EnumValues + + + InputArguments i=68 - i=78 - i=11234 + i=14129 - i=7616 - - - - 1 - - - - Insert - - - - - - - - i=7616 + i=297 - - 2 - - - - Replace - + + Mode + + i=3 + + -1 + - + + + + + + OutputArguments + + i=68 + i=14129 + + + - i=7616 + i=297 - - 3 - - - - Update - + + FileHandle + + i=7 + + -1 + - + + + + + + Close + + i=14133 + i=14123 + + + + InputArguments + + i=68 + i=14132 + + + - i=7616 + i=297 - - 4 - - - - Delete - + + FileHandle + + i=7 + + -1 + - + - - PerformUpdateType + + Read - i=11885 - i=29 + i=14135 + i=14136 + i=14123 - - - - - - - - - EnumValues + + + InputArguments i=68 - i=78 - i=11293 + i=14134 - i=7616 + i=297 - - 1 - - - - Insert - + + FileHandle + + i=7 + + -1 + - + - i=7616 + i=297 - - 2 - - - - Replace - + + Length + + i=6 + + -1 + - - - - - - i=7616 - - - - 3 - - - - Update - - - + + + + + + OutputArguments + + i=68 + i=14134 + + + - i=7616 + i=297 - - 4 - - - - Remove - + + Data + + i=15 + + -1 + - + - - MonitoringFilter + + Write - i=22 + i=14138 + i=14123 - - - EventFilter + + + InputArguments - i=719 + i=68 + i=14137 - - - - - - - AggregateConfiguration + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + i=297 + + + + Data + + i=15 + + -1 + + + + + + + + + + GetPosition - i=22 + i=14140 + i=14141 + i=14123 - - - - - - - - - - HistoryEventFieldList + + + InputArguments - i=22 + i=68 + i=14139 - - - - - - BuildInfo + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + + OutputArguments - i=22 + i=68 + i=14139 - - - - - - - - - - - RedundancySupport + + + + + i=297 + + + + Position + + i=9 + + -1 + + + + + + + + + + SetPosition - i=7611 - i=29 + i=14143 + i=14123 - - - - - - - - - - - EnumStrings + + + InputArguments i=68 - i=78 - i=851 + i=14142 - - - - - None - - - - - Cold - - - - - Warm - - - - - Hot - - - - - Transparent - - - - - HotAndMirrored - - + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + i=297 + + + + Position + + i=9 + + -1 + + + + + + - - ServerState + + LastUpdateTime - i=7612 - i=29 + i=68 + i=14123 - - - - - - - - - - - - - EnumStrings + + + OpenWithMasks + + i=14146 + i=14147 + i=14123 + + + + InputArguments i=68 - i=78 - i=852 + i=14145 - - - - - Running - - - - - Failed - - - - - NoConfiguration - - - - - Suspended - - - - - Shutdown - - - - - Test - - - - - CommunicationFault - - - - - Unknown - - + + + + i=297 + + + + Masks + + i=7 + + -1 + + + + + + - - RedundantServerDataType + + OutputArguments - i=22 + i=68 + i=14145 - - - - - - - - EndpointUrlListDataType + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + + CloseAndUpdate - i=22 + i=14149 + i=14150 + i=14123 - - - - - - NetworkGroupDataType + + + InputArguments - i=22 + i=68 + i=14148 - - - - - - - SamplingIntervalDiagnosticsDataType + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + + OutputArguments - i=22 + i=68 + i=14148 - - - - - - - - - ServerDiagnosticsSummaryDataType + + + + + i=297 + + + + ApplyChangesRequired + + i=1 + + -1 + + + + + + + + + + AddCertificate - i=22 + i=14152 + i=14123 - - - - - - - - - - - - - - - - - ServerStatusDataType + + + InputArguments - i=22 - - - - - - - - - - - - SessionDiagnosticsDataType - - i=22 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SessionSecurityDiagnosticsDataType - - i=22 + i=68 + i=14151 - - - - - - - - - - - - - - ServiceCounterDataType + + + + + i=297 + + + + Certificate + + i=15 + + -1 + + + + + + + + i=297 + + + + IsTrustedCertificate + + i=1 + + -1 + + + + + + + + + + RemoveCertificate - i=22 + i=14154 + i=14123 - - - - - - - StatusResult + + + InputArguments - i=22 + i=68 + i=14153 - - - - - - - SubscriptionDiagnosticsDataType + + + + + i=297 + + + + Thumbprint + + i=12 + + -1 + + + + + + + + i=297 + + + + IsTrustedCertificate + + i=1 + + -1 + + + + + + + + + + CertificateTypes - i=22 + i=68 + i=14122 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ModelChangeStructureDataType + + + ServerCapabilities - i=22 + i=68 + i=12637 - - - - - - - - SemanticChangeStructureDataType + + + SupportedPrivateKeyFormats - i=22 + i=68 + i=12637 - - - - - - - Range + + + MaxTrustListSize - i=22 + i=68 + i=12637 - - - - - - - EUInformation + + + MulticastDnsEnabled - i=22 + i=68 + i=12637 - - - - - - - - - AxisScaleEnumeration + + + UpdateCertificate - i=12078 - i=29 + i=13738 + i=13739 + i=12637 - - - - - - - - EnumStrings + + + InputArguments i=68 - i=78 - i=12077 + i=13737 - - - - - Linear - - - - - Log - - - - - Ln - - + + + + i=297 + + + + CertificateGroupId + + i=17 + + -1 + + + + + + + + i=297 + + + + CertificateTypeId + + i=17 + + -1 + + + + + + + + i=297 + + + + Certificate + + i=15 + + -1 + + + + + + + + i=297 + + + + IssuerCertificates + + i=15 + + 1 + + + + + + + + i=297 + + + + PrivateKeyFormat + + i=12 + + -1 + + + + + + + + i=297 + + + + PrivateKey + + i=15 + + -1 + + + + + + - - ComplexNumberType - - i=22 - - - - - - - - DoubleComplexNumberType - - i=22 - - - - - - - - AxisInformation + + OutputArguments - i=22 + i=68 + i=13737 - - - - - - - - - - XVType + + + + + i=297 + + + + ApplyChangesRequired + + i=1 + + -1 + + + + + + + + + + ApplyChanges - i=22 + i=12637 - - - - - - - ProgramDiagnosticDataType + + + CreateSigningRequest - i=22 + i=12738 + i=12739 + i=12637 - - - - - - - - - - - - - - - Annotation + + + InputArguments - i=22 + i=68 + i=12737 - - - - - - - - ExceptionDeviationFormat + + + + + 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=7614 - i=29 + i=68 + i=12737 - - - - - - - - - - EnumStrings + + + + + i=297 + + + + CertificateRequest + + i=15 + + -1 + + + + + + + + + + GetRejectedList + + i=12778 + i=12637 + + + + OutputArguments i=68 - i=78 - i=890 + i=12777 - - - - - AbsoluteValue - - - - - PercentOfValue - - - - - PercentOfRange - - - - - PercentOfEURange - - - - - Unknown - - + + + + i=297 + + + + Certificates + + i=15 + + 1 + + + + + + - - Default XML + + KeyCredentialConfiguration - i=12554 - i=12677 - i=76 + i=12637 + i=61 - - Default XML + + KeyCredentialConfigurationType - i=296 - i=8285 - i=76 + i=18069 + i=18165 + i=18004 + i=18005 + i=18006 + i=18008 + i=58 - - - Default XML + + + ResourceUri - i=7594 - i=8291 - i=76 + i=68 + i=78 + i=18001 - - - Default XML + + + ProfileUri - i=12755 - i=12759 - i=76 + i=68 + i=78 + i=18001 - - - Default XML + + + EndpointUrls - i=12756 - i=12762 - i=76 + i=68 + i=80 + i=18001 - - - Default XML + + + ServiceStatus - i=8912 - i=8918 - i=76 + i=68 + i=80 + i=18001 - - - Default XML + + + UpdateCredential - i=308 - i=8300 - i=76 + i=18007 + i=80 + i=18001 - - - Default XML + + + InputArguments - i=12189 - i=12201 - i=76 + i=68 + i=78 + i=18006 - - - Default XML + + + + + 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=304 - i=8297 - i=76 + i=80 + i=18001 - - - Default XML + + + KeyCredentialAuditEventType - i=312 - i=8303 - i=76 + i=18028 + i=2127 - - - Default XML + + + ResourceUri - i=432 - i=8417 - i=76 + i=68 + i=78 + i=18011 - - - Default XML + + + KeyCredentialUpdatedAuditEventType - i=12890 - i=12894 - i=76 + i=18011 - - - Default XML + + + KeyCredentialDeletedAuditEventType - i=12891 - i=12897 - i=76 + i=18011 - - - Default XML + + + AuthorizationServices - i=344 - i=8333 - i=76 + i=12637 + i=61 - - Default XML + + AuthorizationServiceConfigurationType - i=316 - i=8306 - i=76 + i=18072 + i=17860 + i=18073 + i=58 - - - Default XML + + + ServiceUri - i=319 - i=8309 - i=76 + i=68 + i=78 + i=17852 - - - Default XML + + + ServiceCertificate - i=322 - i=8312 - i=76 + i=68 + i=78 + i=17852 - - - Default XML + + + IssuerEndpointUrl - i=325 - i=8315 - i=76 + i=68 + i=78 + i=17852 - - - Default XML + + + AggregateConfigurationType - i=938 - i=8318 - i=76 + i=11188 + i=11189 + i=11190 + i=11191 + i=58 - - - Default XML + + + TreatUncertainAsBad - i=376 - i=8363 - i=76 + i=68 + i=78 + i=11187 - - - Default XML + + + PercentDataBad - i=379 - i=8366 - i=76 + i=68 + i=78 + i=11187 - - - Default XML + + + PercentDataGood - i=382 - i=8369 - i=76 + i=68 + i=78 + i=11187 - - - Default XML + + + UseSlopedExtrapolation - i=385 - i=8372 - i=76 + i=68 + i=78 + i=11187 - - - Default XML + + + Interpolative + At the beginning of each interval, retrieve the calculated value from the data points on either side of the requested timestamp. - i=537 - i=12712 - i=76 + i=2340 - - Default XML + + Average + Retrieve the average value of the data over the interval. - i=540 - i=12715 - i=76 + i=2340 - - Default XML + + TimeAverage + Retrieve the time weighted average data over the interval using Interpolated Bounding Values. - i=331 - i=8321 - i=76 + i=2340 - - Default XML + + TimeAverage2 + Retrieve the time weighted average data over the interval using Simple Bounding Values. - i=583 - i=8564 - i=76 + i=2340 - - Default XML + + Total + Retrieve the total (time integral) of the data over the interval using Interpolated Bounding Values. - i=586 - i=8567 - i=76 + i=2340 - - Default XML + + Total2 + Retrieve the total (time integral) of the data over the interval using Simple Bounding Values. - i=589 - i=8570 - i=76 + i=2340 - - Default XML + + Minimum + Retrieve the minimum raw value in the interval with the timestamp of the start of the interval. - i=592 - i=8573 - i=76 + i=2340 - - Default XML + + Maximum + Retrieve the maximum raw value in the interval with the timestamp of the start of the interval. - i=595 - i=8576 - i=76 + i=2340 - - Default XML + + MinimumActualTime + Retrieve the minimum value in the interval and the Timestamp of the minimum value. - i=598 - i=8579 - i=76 + i=2340 - - Default XML + + MaximumActualTime + Retrieve the maximum value in the interval and the Timestamp of the maximum value. - i=601 - i=8582 - i=76 + i=2340 - - Default XML + + Range + Retrieve the difference between the minimum and maximum Value over the interval. - i=659 - i=8639 - i=76 + i=2340 - - Default XML + + Minimum2 + Retrieve the minimum value in the interval including the Simple Bounding Values. - i=719 - i=8702 - i=76 + i=2340 - - Default XML + + Maximum2 + Retrieve the maximum value in the interval including the Simple Bounding Values. - i=725 - i=8708 - i=76 + i=2340 - - Default XML + + MinimumActualTime2 + Retrieve the minimum value with the actual timestamp including the Simple Bounding Values. - i=948 - i=8711 - i=76 + i=2340 - - Default XML + + MaximumActualTime2 + Retrieve the maximum value with the actual timestamp including the Simple Bounding Values. - i=920 - i=8807 - i=76 + i=2340 - - Default XML + + Range2 + Retrieve the difference between the Minimum2 and Maximum2 value over the interval. - i=338 - i=8327 - i=76 + i=2340 - - Default XML + + AnnotationCount + Retrieve the number of Annotations in the interval. - i=853 - i=8843 - i=76 + i=2340 - - Default XML + + Count + Retrieve the number of raw values over the interval. - i=11943 - i=11951 - i=76 + i=2340 - - Default XML + + DurationInStateZero + Retrieve the time a Boolean or numeric was in a zero state using Simple Bounding Values. - i=11944 - i=11954 - i=76 + i=2340 - - Default XML + + DurationInStateNonZero + Retrieve the time a Boolean or numeric was in a non-zero state using Simple Bounding Values. - i=856 - i=8846 - i=76 + i=2340 - - Default XML + + NumberOfTransitions + Retrieve the number of changes between zero and non-zero that a Boolean or Numeric value experienced in the interval. - i=859 - i=8849 - i=76 + i=2340 - - Default XML + + Start + Retrieve the value at the beginning of the interval using Interpolated Bounding Values. - i=862 - i=8852 - i=76 + i=2340 - - Default XML + + End + Retrieve the value at the end of the interval using Interpolated Bounding Values. - i=865 - i=8855 - i=76 + i=2340 - - Default XML + + Delta + Retrieve the difference between the Start and End value in the interval. - i=868 - i=8858 - i=76 + i=2340 - - Default XML + + StartBound + Retrieve the value at the beginning of the interval using Simple Bounding Values. - i=871 - i=8861 - i=76 + i=2340 - - Default XML + + EndBound + Retrieve the value at the end of the interval using Simple Bounding Values. - i=299 - i=8294 - i=76 + i=2340 - - Default XML + + DeltaBounds + Retrieve the difference between the StartBound and EndBound value in the interval. - i=874 - i=8864 - i=76 + i=2340 - - Default XML + + DurationGood + Retrieve the total duration of time in the interval during which the data is good. - i=877 - i=8867 - i=76 + i=2340 - - Default XML + + DurationBad + Retrieve the total duration of time in the interval during which the data is bad. - i=897 - i=8870 - i=76 + i=2340 - - Default XML + + PercentGood + Retrieve the percent of data (0 to 100) in the interval which has a good StatusCode. - i=884 - i=8873 - i=76 + i=2340 - - Default XML + + PercentBad + Retrieve the percent of data (0 to 100) in the interval which has a bad StatusCode. - i=887 - i=8876 - i=76 + i=2340 - - Default XML + + WorstQuality + Retrieve the worst StatusCode of data in the interval. - i=12171 - i=12175 - i=76 + i=2340 - - Default XML + + WorstQuality2 + Retrieve the worst StatusCode of data in the interval including the Simple Bounding Values. - i=12172 - i=12178 - i=76 + i=2340 - - Default XML + + StandardDeviationSample + Retrieve the standard deviation for the interval for a sample of the population (n-1). - i=12079 - i=12083 - i=76 + i=2340 - - Default XML + + StandardDeviationPopulation + Retrieve the standard deviation for the interval for a complete population (n) which includes Simple Bounding Values. - i=12080 - i=12086 - i=76 + i=2340 - - Default XML + + VarianceSample + Retrieve the variance for the interval as calculated by the StandardDeviationSample. - i=894 - i=8882 - i=76 + i=2340 - - Default XML + + VariancePopulation + Retrieve the variance for the interval as calculated by the StandardDeviationPopulation which includes Simple Bounding Values. - i=891 - i=8879 - i=76 + i=2340 - - Opc.Ua + + DataTypeSchemaHeader - i=8254 - i=12677 - i=8285 - i=8291 - i=12759 - i=12762 - 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=8879 - i=92 - i=72 + i=22 + + + + + + + + + + DataTypeDescription + + i=22 + + + + + + + + StructureDescription + + i=14525 + + + + + + + EnumDescription + + i=14525 + + + + + + + + SimpleTypeDescription + + i=14525 + + + + + + + + UABinaryFileDataType + + i=15534 + + + + + + + + + PubSubState + + i=14648 + i=29 + + + + + + + + + + EnumStrings + + i=68 + i=78 + i=14647 - 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 + + + + + Disabled + + + + + Paused + + + + + Operational + + + + + Error + + + + + + DataSetMetaDataType + + i=15534 + + + + + + + + + + + FieldMetaData + + i=22 + + + + + + + + + + + + + + + + DataSetFieldFlags + + i=15577 + i=5 + + + + + + + OptionSetValues + + i=68 + i=78 + i=15904 + + + + + + + PromotedField + + + + + + ConfigurationVersionDataType + + i=22 + + + + + + + + PublishedDataSetDataType + + i=22 + + + + + + + + + + + PublishedDataSetSourceDataType + + i=22 + + + + PublishedVariableDataType + + i=22 + + + + + + + + + + + + + + PublishedDataItemsDataType + + i=15580 + + + + + + + PublishedEventsDataType + + i=15580 + + + + + + + + + DataSetFieldContentMask + + i=15584 + i=7 + + + + + + + + + + + + OptionSetValues + + i=68 + i=78 + i=15583 + + + + + + + StatusCode + + + + + SourceTimestamp + + + + + ServerTimestamp + + + + + SourcePicoSeconds + + + + + ServerPicoSeconds + + + + + RawDataEncoding + + + + + + DataSetWriterDataType + + i=22 + + + + + + + + + + + + + + + DataSetWriterTransportDataType + + i=22 + + + + DataSetWriterMessageDataType + + i=22 + + + + PubSubGroupDataType + + i=22 + + + + + + + + + + + + + WriterGroupDataType + + i=15609 + + + + + + + + + + + + + + WriterGroupTransportDataType + + i=22 + + + + WriterGroupMessageDataType + + i=22 + + + + PubSubConnectionDataType + + i=22 + + + + + + + + + + + + + + + ConnectionTransportDataType + + i=22 + + + + NetworkAddressDataType + + i=22 + + + + + + + NetworkAddressUrlDataType + + i=15502 + + + + + + + ReaderGroupDataType + + i=15609 + + + + + + + + + ReaderGroupTransportDataType + + i=22 + + + + ReaderGroupMessageDataType + + i=22 + + + + DataSetReaderDataType + + i=22 + + + + + + + + + + + + + + + + + + + + + DataSetReaderTransportDataType + + i=22 + + + + DataSetReaderMessageDataType + + i=22 + + + + SubscribedDataSetDataType + + i=22 + + + + TargetVariablesDataType + + i=15630 + + + + + + + FieldTargetDataType + + i=22 + + + + + + + + + + + + + OverrideValueHandling + + i=15875 + i=29 + + + + + + + + + EnumStrings + + i=68 + i=78 + i=15874 + + + + + + + Disabled + + + + + LastUseableValue + + + + + OverrideValue + + + + + + SubscribedDataSetMirrorDataType + + i=15630 + + + + + + + + PubSubConfigurationDataType + + i=22 + + + + + + + + + DataSetOrderingType + + i=15641 + i=29 + + + + + + + + + EnumStrings + + i=68 + i=78 + i=20408 + + + + + + + Undefined + + + + + AscendingWriterId + + + + + AscendingWriterIdSingle + + + + + + UadpNetworkMessageContentMask + + i=15643 + i=7 + + + + + + + + + + + + + + + + + OptionSetValues + + i=68 + i=78 + i=15642 + + + + + + + PublisherId + + + + + GroupHeader + + + + + WriterGroupId + + + + + GroupVersion + + + + + NetworkMessageNumber + + + + + SequenceNumber + + + + + PayloadHeader + + + + + Timestamp + + + + + Picoseconds + + + + + DataSetClassId + + + + + PromotedFields + + + + + + UadpWriterGroupMessageDataType + + i=15616 + + + + + + + + + + + UadpDataSetMessageContentMask + + i=15647 + i=7 + + + + + + + + + + + + OptionSetValues + + i=68 + i=78 + i=15646 + + + + + + + Timestamp + + + + + PicoSeconds + + + + + Status + + + + + MajorVersion + + + + + MinorVersion + + + + + SequenceNumber + + + + + + UadpDataSetWriterMessageDataType + + i=15605 + + + + + + + + + + UadpDataSetReaderMessageDataType + + i=15629 + + + + + + + + + + + + + + + JsonNetworkMessageContentMask + + i=15655 + i=7 + + + + + + + + + + + + OptionSetValues + + i=68 + i=78 + i=15654 + + + + + + + NetworkMessageHeader + + + + + DataSetMessageHeader + + + + + SingleDataSetMessage + + + + + PublisherId + + + + + DataSetClassId + + + + + ReplyTo + + + + + + JsonWriterGroupMessageDataType + + i=15616 + + + + + + + JsonDataSetMessageContentMask + + i=15659 + i=7 + + + + + + + + + + + OptionSetValues + + i=68 + i=78 + i=15658 + + + + + + + DataSetWriterId + + + + + MetaDataVersion + + + + + SequenceNumber + + + + + Timestamp + + + + + Status + + + + + + JsonDataSetWriterMessageDataType + + i=15605 + + + + + + + JsonDataSetReaderMessageDataType + + i=15629 + + + + + + + + DatagramConnectionTransportDataType + + i=15618 + + + + + + + DatagramWriterGroupTransportDataType + + i=15611 + + + + + + + + BrokerConnectionTransportDataType + + i=15618 + + + + + + + + BrokerTransportQualityOfService + + i=15009 + i=29 + + + + + + + + + + + EnumStrings + + i=68 + i=78 + i=15008 + + + + + + + NotSpecified + + + + + BestEffort + + + + + AtLeastOnce + + + + + AtMostOnce + + + + + ExactlyOnce + + + + + + BrokerWriterGroupTransportDataType + + i=15611 + + + + + + + + + + BrokerDataSetWriterTransportDataType + + i=15598 + + + + + + + + + + + BrokerDataSetReaderTransportDataType + + i=15628 + + + + + + + + + + + PubSubKeyServiceType + + 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 + + + + + + + + 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 + + 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 + + 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 + + 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=63 + i=78 + i=14423 + + + + 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 + + + + + + + + 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=18721 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=18717 + + + + TotalError + + i=18723 + i=18724 + i=18725 + i=18726 + 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 + + + + TimeFirstChange + + 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=18734 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=18730 + + + + StateOperationalByMethod + + i=18736 + i=18737 + i=18738 + i=18739 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=18735 + + + + StateOperationalByParent + + i=18741 + i=18742 + i=18743 + i=18744 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=18740 + + + + StateOperationalFromError + + i=18746 + i=18747 + i=18748 + i=18749 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=18745 + + + + StatePausedByParent + + i=18751 + i=18752 + i=18753 + i=18754 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=18750 + + + + StateDisabledByMethod + + i=18756 + i=18757 + i=18758 + i=18759 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=18755 + + + + 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 + + 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 + + + + + + + + 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 + + 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=17415 + i=19725 + i=17409 + + + + Active + + i=68 + i=17411 + + + + Classification + + i=68 + i=17411 + + + + DiagnosticsLevel + + i=68 + i=17411 + + + + TimeFirstChange + + i=68 + i=17411 + + + + TotalError + + i=17417 + i=17418 + i=17419 + i=17420 + i=19725 + i=17409 + + + + Active + + i=68 + i=17416 + + + + Classification + + i=68 + i=17416 + + + + DiagnosticsLevel + + i=68 + i=17416 + + + + TimeFirstChange + + 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=17430 + i=19725 + i=17423 + + + + Active + + i=68 + i=17424 + + + + Classification + + i=68 + i=17424 + + + 1 + + + + DiagnosticsLevel + + i=68 + i=17424 + + + 0 + + + + TimeFirstChange + + i=68 + i=17424 + + + + StateOperationalByMethod + + i=17432 + i=17433 + i=17434 + i=17435 + i=19725 + i=17423 + + + + Active + + i=68 + i=17431 + + + + Classification + + i=68 + i=17431 + + + 0 + + + + DiagnosticsLevel + + i=68 + i=17431 + + + 0 + + + + TimeFirstChange + + i=68 + i=17431 + + + + StateOperationalByParent + + i=17437 + i=17438 + i=17439 + i=17440 + i=19725 + i=17423 + + + + Active + + i=68 + i=17436 + + + + Classification + + i=68 + i=17436 + + + 0 + + + + DiagnosticsLevel + + i=68 + i=17436 + + + 0 + + + + TimeFirstChange + + i=68 + i=17436 + + + + StateOperationalFromError + + i=17442 + i=17443 + i=17444 + i=17445 + i=19725 + i=17423 + + + + Active + + i=68 + i=17441 + + + + Classification + + i=68 + i=17441 + + + 0 + + + + DiagnosticsLevel + + i=68 + i=17441 + + + 0 + + + + TimeFirstChange + + i=68 + i=17441 + + + + StatePausedByParent + + i=17447 + i=17448 + i=17449 + i=17450 + i=19725 + i=17423 + + + + Active + + i=68 + i=17446 + + + + Classification + + i=68 + i=17446 + + + 0 + + + + DiagnosticsLevel + + i=68 + i=17446 + + + 0 + + + + TimeFirstChange + + i=68 + i=17446 + + + + StateDisabledByMethod + + i=17452 + i=17453 + i=17454 + i=17455 + i=19725 + i=17423 + + + + Active + + i=68 + i=17451 + + + + Classification + + i=68 + i=17451 + + + 0 + + + + DiagnosticsLevel + + i=68 + i=17451 + + + 0 + + + + TimeFirstChange + + i=68 + i=17451 + + + + 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 + + i=47 + + PubSubConnectionOf + + + PublishedDataSetType + + 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 + + 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 + + i=33 + + WriterToDataSet + + + PublishedDataItemsType + + 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 + + + + + + + + i=297 + + + + PromotedFields + + i=1 + + 1 + + + + + + + + i=297 + + + + VariablesToAdd + + i=14273 + + 1 + + + + + + + + + + OutputArguments + + i=68 + i=78 + i=14555 + + + + + + i=297 + + + + NewConfigurationVersion + + i=14593 + + -1 + + + + + + + + i=297 + + + + AddResults + + i=19 + + 1 + + + + + + + + + + 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 + + + + + + + + + + OutputArguments + + i=68 + i=78 + i=14558 + + + + + + i=297 + + + + NewConfigurationVersion + + i=14593 + + -1 + + + + + + + + i=297 + + + + RemoveResults + + i=19 + + 1 + + + + + + + + + + PublishedEventsType + + 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 + + + + + + + + i=297 + + + + PromotedFields + + i=1 + + 1 + + + + + + + + i=297 + + + + SelectedFields + + i=601 + + 1 + + + + + + + + + + OutputArguments + + i=68 + i=78 + i=15052 + + + + + + i=297 + + + + NewConfigurationVersion + + i=14593 + + -1 + + + + + + + + + + DataSetFolderType + + 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 + + + + + + + + i=297 + + + + FieldFlags + + i=15904 + + 1 + + + + + + + + i=297 + + + + VariablesToAdd + + i=14273 + + 1 + + + + + + + + + + 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 + + + + + + + + + + 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 + + + + + + + + i=297 + + + + FieldFlags + + i=15904 + + 1 + + + + + + + + i=297 + + + + SelectedFields + + i=601 + + 1 + + + + + + + + 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 + + + + + + + + + + OutputArguments + + i=68 + i=78 + i=16842 + + + + + + i=297 + + + + DataSetNodeId + + i=17 + + -1 + + + + + + + + i=297 + + + + AddResults + + i=19 + + 1 + + + + + + + + + + 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 + + + + + + + + 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 + + + + + + + + i=297 + + + + FieldFlags + + i=15904 + + 1 + + + + + + + + i=297 + + + + VariablesToAdd + + i=14273 + + 1 + + + + + + + + + + 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 + + + + + + + + + + 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 + + + + + + + + i=297 + + + + FieldFlags + + i=15904 + + 1 + + + + + + + + i=297 + + + + SelectedFields + + i=601 + + 1 + + + + + + + + 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 + + + + + + + + + + OutputArguments + + i=68 + i=78 + i=16935 + + + + + + i=297 + + + + DataSetNodeId + + i=17 + + -1 + + + + + + + + i=297 + + + + AddResults + + i=19 + + 1 + + + + + + + + + + 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 + + + + + + + + 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 + + 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=63 + i=78 + i=14221 + + + + 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=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 + + + + <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=19247 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=19243 + + + + TotalError + + i=19249 + i=19250 + i=19251 + i=19252 + 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 + + + + TimeFirstChange + + 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=19260 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=19256 + + + + StateOperationalByMethod + + i=19262 + i=19263 + i=19264 + i=19265 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=19261 + + + + StateOperationalByParent + + i=19267 + i=19268 + i=19269 + i=19270 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=19266 + + + + StateOperationalFromError + + i=19272 + i=19273 + i=19274 + i=19275 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=19271 + + + + StatePausedByParent + + i=19277 + i=19278 + i=19279 + i=19280 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=19276 + + + + StateDisabledByMethod + + i=19282 + i=19283 + i=19284 + i=19285 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=19281 + + + + 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 + + i=58 + + + + PubSubGroupType + + 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 + + i=17736 + i=17737 + i=17738 + i=17739 + i=17740 + 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 + + + + 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=17818 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=17814 + + + + TotalError + + i=17820 + i=17821 + i=17822 + i=17823 + 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 + + + + TimeFirstChange + + 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=17831 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=17827 + + + + StateOperationalByMethod + + i=17833 + i=17834 + i=17835 + i=17836 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=17832 + + + + StateOperationalByParent + + i=17838 + i=17839 + i=17840 + i=17841 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=17837 + + + + StateOperationalFromError + + i=17843 + i=17844 + i=17845 + i=17846 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=17842 + + + + StatePausedByParent + + i=17848 + i=17849 + i=17850 + i=17851 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=17847 + + + + StateDisabledByMethod + + i=17854 + i=17855 + i=17856 + i=17857 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=17853 + + + + SentNetworkMessages + + i=17864 + i=17871 + i=17872 + i=17873 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=17859 + + + + FailedTransmissions + + i=17878 + i=17885 + i=17892 + i=17899 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=17874 + + + + EncryptionErrors + + i=17901 + i=17902 + i=17903 + i=17906 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=17900 + + + + 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 + + i=47 + + IsWriterInGroup + + + WriterGroupTransportType + + i=58 + + + + WriterGroupMessageType + + i=58 + + + + ReaderGroupType + + 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=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 + + + + 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=21007 + i=21008 + i=15108 + i=78 + i=18076 + + + + DataSetMetaData + + i=68 + i=78 + i=21006 + + + + MessageReceiveTimeout + + i=68 + i=78 + i=21006 + + + + 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=21021 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=21017 + + + + TotalError + + i=21023 + i=21024 + i=21025 + i=21026 + 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 + + + + TimeFirstChange + + 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=21034 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=21030 + + + + StateOperationalByMethod + + i=21036 + i=21037 + i=21038 + i=21039 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=21035 + + + + StateOperationalByParent + + i=21041 + i=21042 + i=21043 + i=21044 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=21040 + + + + StateOperationalFromError + + i=21046 + i=21047 + i=21048 + i=21049 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=21045 + + + + StatePausedByParent + + i=21051 + i=21052 + i=21053 + i=21054 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=21050 + + + + StateDisabledByMethod + + i=21056 + i=21057 + i=21058 + i=21059 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=21055 + + + + ReceivedNetworkMessages + + i=21062 + i=21063 + i=21064 + i=21065 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=21061 + + + + 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 + + i=47 + + IsReaderInGroup + + + ReaderGroupTransportType + + i=58 + + + + ReaderGroupMessageType + + i=58 + + + + DataSetWriterType + + 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=19556 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=19552 + + + + TotalError + + i=19558 + i=19559 + i=19560 + i=19561 + 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 + + + + TimeFirstChange + + 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=19569 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=19565 + + + + StateOperationalByMethod + + i=19571 + i=19572 + i=19573 + i=19574 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=19570 + + + + StateOperationalByParent + + i=19576 + i=19577 + i=19578 + i=19579 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=19575 + + + + StateOperationalFromError + + i=19581 + i=19582 + i=19583 + i=19584 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=19580 + + + + StatePausedByParent + + i=19586 + i=19587 + i=19588 + i=19589 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=19585 + + + + StateDisabledByMethod + + i=19591 + i=19592 + i=19593 + i=19594 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=19590 + + + + FailedDataSetMessages + + i=19597 + i=19598 + i=19599 + i=19600 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=19596 + + + + LiveValues + + i=58 + i=78 + i=19550 + + + + DataSetWriterTransportType + + i=58 + + + + DataSetWriterMessageType + + i=58 + + + + DataSetReaderType + + i=21097 + i=21098 + i=21099 + i=21100 + i=21101 + i=21102 + 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 + + + + 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=19615 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=19611 + + + + TotalError + + i=19617 + i=19618 + i=19619 + i=19620 + 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 + + + + TimeFirstChange + + 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=19628 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=19624 + + + + StateOperationalByMethod + + i=19630 + i=19631 + i=19632 + i=19633 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=19629 + + + + StateOperationalByParent + + i=19635 + i=19636 + i=19637 + i=19638 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=19634 + + + + StateOperationalFromError + + i=19640 + i=19641 + i=19642 + i=19643 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=19639 + + + + StatePausedByParent + + i=19645 + i=19646 + i=19647 + i=19648 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=19644 + + + + StateDisabledByMethod + + i=19650 + i=19651 + i=19652 + i=19653 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=19649 + + + + FailedDataSetMessages + + i=19656 + i=19657 + i=19658 + i=19659 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=19655 + + + + LiveValues + + i=58 + i=78 + i=19609 + + + + SubscribedDataSet + + i=15317 + i=15318 + i=15108 + i=78 + i=15306 + + + + DataSetMetaData + + i=68 + i=78 + i=15316 + + + + MessageReceiveTimeout + + i=68 + i=78 + i=15316 + + + + 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 + + + + + + + + + + OutputArguments + + i=68 + i=78 + i=17386 + + + + + + i=297 + + + + AddResults + + i=19 + + 1 + + + + + + + + + + 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 + + + + + + + + + + OutputArguments + + i=68 + i=78 + i=17389 + + + + + + i=297 + + + + ParentNodeId + + i=17 + + -1 + + + + + + + + + + DataSetReaderTransportType + + i=58 + + + + DataSetReaderMessageType + + i=58 + + + + SubscribedDataSetType + + i=15109 + i=15110 + i=58 + + + + DataSetMetaData + + i=68 + i=78 + i=15108 + + + + MessageReceiveTimeout + + i=68 + i=78 + i=15108 + + + + TargetVariablesType + + 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 + + + + + + + + + + OutputArguments + + i=68 + i=78 + i=15115 + + + + + + i=297 + + + + AddResults + + i=19 + + 1 + + + + + + + + + + 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 + + + + + + + + + + OutputArguments + + i=68 + i=78 + i=15118 + + + + + + i=297 + + + + RemoveResults + + i=19 + + 1 + + + + + + + + + + SubscribedDataSetMirrorType + + i=15108 + + + + PubSubStatusType + + 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 + + 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=19683 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=19679 + + + + TotalError + + i=19685 + i=19686 + i=19687 + i=19688 + 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 + + + + TimeFirstChange + + 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=19696 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=19692 + + + + StateOperationalByMethod + + i=19698 + i=19699 + i=19700 + i=19701 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=19697 + + + + StateOperationalByParent + + i=19703 + i=19704 + i=19705 + i=19706 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=19702 + + + + StateOperationalFromError + + i=19708 + i=19709 + i=19710 + i=19711 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=19707 + + + + StatePausedByParent + + i=19713 + i=19714 + i=19715 + i=19716 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=19712 + + + + StateDisabledByMethod + + i=19718 + i=19719 + i=19720 + i=19721 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=19717 + + + + LiveValues + + i=58 + i=78 + i=19677 + + + + DiagnosticsLevel + + i=19724 + i=29 + + + + + + + + + + + EnumStrings + + i=68 + i=78 + i=19723 + + + + + + + Basic + + + + + Advanced + + + + + Info + + + + + Log + + + + + Debug + + + + + + PubSubDiagnosticsCounterType + + 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=78 + i=19725 + + + + PubSubDiagnosticsCounterClassification + + i=19731 + i=29 + + + + + + + + EnumStrings + + i=68 + i=78 + i=19730 + + + + + + + Information + + + + + Error + + + + + + PubSubDiagnosticsRootType + + 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 + + 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 + + i=19848 + i=19879 + i=19677 + + + + Counters + + i=19849 + i=19854 + i=19859 + i=19864 + i=19869 + i=19874 + i=19880 + i=19885 + i=19890 + i=58 + i=78 + i=19834 + + + + StateError + + i=19850 + i=19851 + i=19852 + i=19853 + i=19725 + i=78 + i=19848 + + + + Active + + i=68 + i=78 + i=19849 + + + + Classification + + i=68 + i=78 + i=19849 + + + 1 + + + + DiagnosticsLevel + + i=68 + i=78 + i=19849 + + + 0 + + + + TimeFirstChange + + i=68 + i=78 + i=19849 + + + + StateOperationalByMethod + + i=19855 + i=19856 + i=19857 + i=19858 + i=19725 + i=78 + i=19848 + + + + Active + + i=68 + i=78 + i=19854 + + + + Classification + + i=68 + i=78 + i=19854 + + + 0 + + + + DiagnosticsLevel + + i=68 + i=78 + i=19854 + + + 0 + + + + TimeFirstChange + + i=68 + i=78 + i=19854 + + + + StateOperationalByParent + + i=19860 + i=19861 + i=19862 + i=19863 + i=19725 + i=78 + i=19848 + + + + Active + + i=68 + i=78 + i=19859 + + + + Classification + + i=68 + i=78 + i=19859 + + + 0 + + + + DiagnosticsLevel + + i=68 + i=78 + i=19859 + + + 0 + + + + TimeFirstChange + + i=68 + i=78 + i=19859 + + + + StateOperationalFromError + + i=19865 + i=19866 + i=19867 + i=19868 + i=19725 + i=78 + i=19848 + + + + Active + + i=68 + i=78 + i=19864 + + + + Classification + + i=68 + i=78 + i=19864 + + + 0 + + + + DiagnosticsLevel + + i=68 + i=78 + i=19864 + + + 0 + + + + TimeFirstChange + + i=68 + i=78 + i=19864 + + + + StatePausedByParent + + i=19870 + i=19871 + i=19872 + i=19873 + i=19725 + i=78 + i=19848 + + + + Active + + i=68 + i=78 + i=19869 + + + + Classification + + i=68 + i=78 + i=19869 + + + 0 + + + + DiagnosticsLevel + + i=68 + i=78 + i=19869 + + + 0 + + + + TimeFirstChange + + i=68 + i=78 + i=19869 + + + + StateDisabledByMethod + + i=19875 + i=19876 + i=19877 + i=19878 + i=19725 + i=78 + i=19848 + + + + Active + + i=68 + i=78 + i=19874 + + + + Classification + + i=68 + i=78 + i=19874 + + + 0 + + + + DiagnosticsLevel + + i=68 + i=78 + i=19874 + + + 0 + + + + TimeFirstChange + + i=68 + i=78 + i=19874 + + + + SentNetworkMessages + + i=19881 + i=19882 + i=19883 + i=19884 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=19880 + + + + FailedTransmissions + + i=19886 + i=19887 + i=19888 + i=19889 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=19885 + + + + EncryptionErrors + + i=19891 + i=19892 + i=19893 + i=19894 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=19890 + + + + 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 + + i=19917 + i=19948 + i=19677 + + + + Counters + + i=19918 + i=19923 + i=19928 + i=19933 + i=19938 + i=19943 + i=19949 + i=19954 + i=19959 + i=58 + i=78 + i=19903 + + + + StateError + + i=19919 + i=19920 + i=19921 + i=19922 + i=19725 + i=78 + i=19917 + + + + Active + + i=68 + i=78 + i=19918 + + + + Classification + + i=68 + i=78 + i=19918 + + + 1 + + + + DiagnosticsLevel + + i=68 + i=78 + i=19918 + + + 0 + + + + TimeFirstChange + + i=68 + i=78 + i=19918 + + + + StateOperationalByMethod + + i=19924 + i=19925 + i=19926 + i=19927 + i=19725 + i=78 + i=19917 + + + + Active + + i=68 + i=78 + i=19923 + + + + Classification + + i=68 + i=78 + i=19923 + + + 0 + + + + DiagnosticsLevel + + i=68 + i=78 + i=19923 + + + 0 + + + + TimeFirstChange + + i=68 + i=78 + i=19923 + + + + StateOperationalByParent + + i=19929 + i=19930 + i=19931 + i=19932 + i=19725 + i=78 + i=19917 + + + + Active + + i=68 + i=78 + i=19928 + + + + Classification + + i=68 + i=78 + i=19928 + + + 0 + + + + DiagnosticsLevel + + i=68 + i=78 + i=19928 + + + 0 + + + + TimeFirstChange + + i=68 + i=78 + i=19928 + + + + StateOperationalFromError + + i=19934 + i=19935 + i=19936 + i=19937 + i=19725 + i=78 + i=19917 + + + + Active + + i=68 + i=78 + i=19933 + + + + Classification + + i=68 + i=78 + i=19933 + + + 0 + + + + DiagnosticsLevel + + i=68 + i=78 + i=19933 + + + 0 + + + + TimeFirstChange + + i=68 + i=78 + i=19933 + + + + StatePausedByParent + + i=19939 + i=19940 + i=19941 + i=19942 + i=19725 + i=78 + i=19917 + + + + Active + + i=68 + i=78 + i=19938 + + + + Classification + + i=68 + i=78 + i=19938 + + + 0 + + + + DiagnosticsLevel + + i=68 + i=78 + i=19938 + + + 0 + + + + TimeFirstChange + + i=68 + i=78 + i=19938 + + + + StateDisabledByMethod + + i=19944 + i=19945 + i=19946 + i=19947 + i=19725 + i=78 + i=19917 + + + + Active + + i=68 + i=78 + i=19943 + + + + Classification + + i=68 + i=78 + i=19943 + + + 0 + + + + DiagnosticsLevel + + i=68 + i=78 + i=19943 + + + 0 + + + + TimeFirstChange + + i=68 + i=78 + i=19943 + + + + ReceivedNetworkMessages + + i=19950 + i=19951 + i=19952 + i=19953 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=19949 + + + + ReceivedInvalidNetworkMessages + + i=19955 + i=19956 + i=19957 + i=19958 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=19954 + + + + DecryptionErrors + + i=19960 + i=19961 + i=19962 + i=19963 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=19959 + + + + 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 + + i=19982 + i=20013 + i=19677 + + + + Counters + + i=19983 + i=19988 + i=19993 + i=19998 + i=20003 + i=20008 + i=20014 + i=58 + i=78 + i=19968 + + + + StateError + + i=19984 + i=19985 + i=19986 + i=19987 + i=19725 + i=78 + i=19982 + + + + Active + + i=68 + i=78 + i=19983 + + + + Classification + + i=68 + i=78 + i=19983 + + + 1 + + + + DiagnosticsLevel + + i=68 + i=78 + i=19983 + + + 0 + + + + TimeFirstChange + + i=68 + i=78 + i=19983 + + + + StateOperationalByMethod + + i=19989 + i=19990 + i=19991 + i=19992 + i=19725 + i=78 + i=19982 + + + + Active + + i=68 + i=78 + i=19988 + + + + Classification + + i=68 + i=78 + i=19988 + + + 0 + + + + DiagnosticsLevel + + i=68 + i=78 + i=19988 + + + 0 + + + + TimeFirstChange + + i=68 + i=78 + i=19988 + + + + StateOperationalByParent + + i=19994 + i=19995 + i=19996 + i=19997 + i=19725 + i=78 + i=19982 + + + + Active + + i=68 + i=78 + i=19993 + + + + Classification + + i=68 + i=78 + i=19993 + + + 0 + + + + DiagnosticsLevel + + i=68 + i=78 + i=19993 + + + 0 + + + + TimeFirstChange + + i=68 + i=78 + i=19993 + + + + StateOperationalFromError + + i=19999 + i=20000 + i=20001 + i=20002 + i=19725 + i=78 + i=19982 + + + + Active + + i=68 + i=78 + i=19998 + + + + Classification + + i=68 + i=78 + i=19998 + + + 0 + + + + DiagnosticsLevel + + i=68 + i=78 + i=19998 + + + 0 + + + + TimeFirstChange + + i=68 + i=78 + i=19998 + + + + StatePausedByParent + + i=20004 + i=20005 + i=20006 + i=20007 + i=19725 + i=78 + i=19982 + + + + Active + + i=68 + i=78 + i=20003 + + + + Classification + + i=68 + i=78 + i=20003 + + + 0 + + + + DiagnosticsLevel + + i=68 + i=78 + i=20003 + + + 0 + + + + TimeFirstChange + + i=68 + i=78 + i=20003 + + + + StateDisabledByMethod + + i=20009 + i=20010 + i=20011 + i=20012 + i=19725 + i=78 + i=19982 + + + + Active + + i=68 + i=78 + i=20008 + + + + Classification + + i=68 + i=78 + i=20008 + + + 0 + + + + DiagnosticsLevel + + i=68 + i=78 + i=20008 + + + 0 + + + + TimeFirstChange + + i=68 + i=78 + i=20008 + + + + FailedDataSetMessages + + i=20015 + i=20016 + i=20017 + i=20018 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=20014 + + + + 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 + + i=20041 + i=20072 + i=19677 + + + + Counters + + i=20042 + i=20047 + i=20052 + i=20057 + i=20062 + i=20067 + i=20073 + i=20078 + i=58 + i=78 + i=20027 + + + + StateError + + i=20043 + i=20044 + i=20045 + i=20046 + i=19725 + i=78 + i=20041 + + + + Active + + i=68 + i=78 + i=20042 + + + + Classification + + i=68 + i=78 + i=20042 + + + 1 + + + + DiagnosticsLevel + + i=68 + i=78 + i=20042 + + + 0 + + + + TimeFirstChange + + i=68 + i=78 + i=20042 + + + + StateOperationalByMethod + + i=20048 + i=20049 + i=20050 + i=20051 + i=19725 + i=78 + i=20041 + + + + Active + + i=68 + i=78 + i=20047 + + + + Classification + + i=68 + i=78 + i=20047 + + + 0 + + + + DiagnosticsLevel + + i=68 + i=78 + i=20047 + + + 0 + + + + TimeFirstChange + + i=68 + i=78 + i=20047 + + + + StateOperationalByParent + + i=20053 + i=20054 + i=20055 + i=20056 + i=19725 + i=78 + i=20041 + + + + Active + + i=68 + i=78 + i=20052 + + + + Classification + + i=68 + i=78 + i=20052 + + + 0 + + + + DiagnosticsLevel + + i=68 + i=78 + i=20052 + + + 0 + + + + TimeFirstChange + + i=68 + i=78 + i=20052 + + + + StateOperationalFromError + + i=20058 + i=20059 + i=20060 + i=20061 + i=19725 + i=78 + i=20041 + + + + Active + + i=68 + i=78 + i=20057 + + + + Classification + + i=68 + i=78 + i=20057 + + + 0 + + + + DiagnosticsLevel + + i=68 + i=78 + i=20057 + + + 0 + + + + TimeFirstChange + + i=68 + i=78 + i=20057 + + + + StatePausedByParent + + i=20063 + i=20064 + i=20065 + i=20066 + i=19725 + i=78 + i=20041 + + + + Active + + i=68 + i=78 + i=20062 + + + + Classification + + i=68 + i=78 + i=20062 + + + 0 + + + + DiagnosticsLevel + + i=68 + i=78 + i=20062 + + + 0 + + + + TimeFirstChange + + i=68 + i=78 + i=20062 + + + + StateDisabledByMethod + + i=20068 + i=20069 + i=20070 + i=20071 + i=19725 + i=78 + i=20041 + + + + Active + + i=68 + i=78 + i=20067 + + + + Classification + + i=68 + i=78 + i=20067 + + + 0 + + + + DiagnosticsLevel + + i=68 + i=78 + i=20067 + + + 0 + + + + TimeFirstChange + + i=68 + i=78 + i=20067 + + + + FailedDataSetMessages + + i=20074 + i=20075 + i=20076 + i=20077 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=20073 + + + + DecryptionErrors + + i=20079 + i=20080 + i=20081 + i=20082 + 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 + + + + TimeFirstChange + + i=68 + i=78 + i=20078 + + + + 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 + + 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 + + i=15561 + i=15562 + i=15535 + + + + Actual + + i=68 + i=78 + i=15548 + + + + Maximum + + i=68 + i=78 + i=15548 + + + + PubSubCommunicationFailureEventType + + i=15576 + i=15535 + + + + Error + + i=68 + i=78 + i=15563 + + + + UadpWriterGroupMessageType + + 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 + + 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 + + i=21117 + i=21118 + 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 + + + + DataSetOrdering + + 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 + + i=21127 + i=17998 + + + + NetworkMessageContentMask + + i=68 + i=78 + i=21126 + + + + JsonDataSetWriterMessageType + + i=21129 + i=21096 + + + + DataSetMessageContentMask + + i=68 + i=78 + i=21128 + + + + JsonDataSetReaderMessageType + + i=21131 + i=21132 + i=21104 + + + + NetworkMessageContentMask + + i=68 + i=78 + i=21130 + + + + DataSetMessageContentMask + + i=68 + i=78 + i=21130 + + + + DatagramConnectionTransportType + + i=15072 + i=17721 + + + + DiscoveryAddress + + i=15154 + i=21145 + i=78 + i=15064 + + + + NetworkInterface + + i=63 + i=78 + i=15072 + + + + DatagramWriterGroupTransportType + + i=21134 + i=21135 + i=17997 + + + + MessageRepeatCount + + i=68 + i=78 + i=21133 + + + + MessageRepeatDelay + + i=68 + i=78 + i=21133 + + + + BrokerConnectionTransportType + + i=15156 + i=15178 + i=17997 + + + + ResourceUri + + i=68 + i=78 + i=15155 + + + + AuthenticationProfileUri + + i=68 + i=78 + i=15155 + + + + BrokerWriterGroupTransportType + + 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 + + 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 + + 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 + + i=21146 + i=58 + + + + NetworkInterface + + i=63 + i=78 + i=21145 + + + + NetworkAddressUrlType + + i=21149 + i=21145 + + + + Url + + i=63 + i=78 + i=21147 + + + + IdType + The type of identifier used in a node id. + + i=7591 + i=29 + + + + The identifier is a numeric value. 0 is a null value. + + + The identifier is a string value. An empty string is a null value. + + + The identifier is a 16 byte structure. 16 zero bytes is a null value. + + + The identifier is an array of bytes. A zero length array is a null value. + + + + + EnumStrings + + i=68 + i=78 + i=256 + + + + + + + Numeric + + + + + String + + + + + Guid + + + + + Opaque + + + + + + NodeClass + A mask specifying the class of the node. + + i=11878 + i=29 + + + + No classes are selected. + + + The node is an object. + + + The node is a variable. + + + The node is a method. + + + The node is an object type. + + + The node is an variable type. + + + The node is a reference type. + + + The node is a data type. + + + The node is a view. + + + + + EnumValues + + i=68 + i=78 + i=257 + + + + + + i=7616 + + + + 0 + + + + Unspecified + + + + + No classes are selected. + + + + + + + i=7616 + + + + 1 + + + + Object + + + + + The node is an object. + + + + + + + i=7616 + + + + 2 + + + + Variable + + + + + The node is a variable. + + + + + + + i=7616 + + + + 4 + + + + Method + + + + + The node is a method. + + + + + + + i=7616 + + + + 8 + + + + ObjectType + + + + + The node is an object type. + + + + + + + i=7616 + + + + 16 + + + + VariableType + + + + + The node is an variable type. + + + + + + + i=7616 + + + + 32 + + + + ReferenceType + + + + + The node is a reference type. + + + + + + + i=7616 + + + + 64 + + + + DataType + + + + + The node is a data type. + + + + + + + i=7616 + + + + 128 + + + + View + + + + + The node is a view. + + + + + + + + + PermissionType + + i=15030 + i=5 + + + + + + + + + + + + + + + + + + + + + + + + + OptionSetValues + + i=68 + i=78 + i=94 + + + + + + + Browse + + + + + ReadRolePermissions + + + + + WriteAttribute + + + + + WriteRolePermissions + + + + + WriteHistorizing + + + + + Read + + + + + Write + + + + + ReadHistory + + + + + InsertHistory + + + + + ModifyHistory + + + + + DeleteHistory + + + + + ReceiveEvents + + + + + Call + + + + + AddReference + + + + + RemoveReference + + + + + DeleteNode + + + + + AddNode + + + + + + AccessLevelType + + i=15032 + i=3 + + + + + + + + + + + + + OptionSetValues + + i=68 + i=78 + i=15031 + + + + + + + CurrentRead + + + + + CurrentWrite + + + + + HistoryRead + + + + + Reserved + + + + + HistoryWrite + + + + + StatusWrite + + + + + TimestampWrite + + + + + + AccessLevelExType + + i=15407 + i=7 + + + + + + + + + + + + + + + + OptionSetValues + + i=68 + i=78 + i=15406 + + + + + + + CurrentRead + + + + + CurrentWrite + + + + + HistoryRead + + + + + Reserved + + + + + HistoryWrite + + + + + StatusWrite + + + + + TimestampWrite + + + + + Reserved + + + + + Reserved + + + + + Reserved + + + + + Reserved + + + + + Reserved + + + + + Reserved + + + + + Reserved + + + + + Reserved + + + + + Reserved + + + + + NonatomicRead + + + + + NonatomicWrite + + + + + WriteFullArrayOnly + + + + + + EventNotifierType + + i=15034 + i=7 + + + + + + + + + + OptionSetValues + + i=68 + i=78 + i=15033 + + + + + + + SubscribeToEvents + + + + + Reserved + + + + + HistoryRead + + + + + HistoryWrite + + + + + + AccessRestrictionType + + i=15035 + i=7 + + + + + + + + + + OptionSetValues + + i=68 + i=78 + i=95 + + + + + + + SigningRequired + + + + + EncryptionRequired + + + + + SessionRequired + + + + + + RolePermissionType + + i=22 + + + + + + + + DataTypeDefinition + + i=22 + + + + StructureType + + i=14528 + i=29 + + + + + + + + + EnumStrings + + i=68 + i=78 + i=98 + + + + + + + Structure + + + + + StructureWithOptionalFields + + + + + Union + + + + + + StructureField + + i=22 + + + + + + + + + + + + + StructureDefinition + + i=97 + + + + + + + + + + EnumDefinition + + i=97 + + + + + + + Argument + An argument for a method. + + i=22 + + + + The name of the argument. + + + The data type of the argument. + + + Whether the argument is an array type and the rank of the array if it is. + + + The number of dimensions if the argument is an array type and one or more dimensions have a fixed length. + + + The description for the argument. + + + + + EnumValueType + A mapping between a value of an enumerated type and a name and description. + + i=22 + + + + The value of the enumeration. + + + Human readable name for the value. + + + A description of the value. + + + + + EnumField + + i=7594 + + + + + + + OptionSet + This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask. + + i=22 + + + + Array of bytes representing the bits in the option set. + + + Array of bytes with same size as value representing the valid bits in the value parameter. + + + + + Union + This abstract DataType is the base DataType for all union DataTypes. + + i=22 + + + + NormalizedString + A string normalized based on the rules in the unicode specification. + + i=12 + + + + DecimalString + An arbitraty numeric value. + + i=12 + + + + DurationString + A period of time formatted as defined in ISO 8601-2000. + + i=12 + + + + TimeString + A time formatted as defined in ISO 8601-2000. + + i=12 + + + + DateString + A date formatted as defined in ISO 8601-2000. + + i=12 + + + + Duration + A period of time measured in milliseconds. + + i=11 + + + + UtcTime + A date/time value specified in Universal Coordinated Time (UTC). + + i=13 + + + + LocaleId + An identifier for a user locale. + + i=12 + + + + TimeZoneDataType + + i=22 + + + + + + + + IntegerId + A numeric identifier for an object. + + i=7 + + + + ApplicationType + The types of applications. + + i=7597 + i=29 + + + + The application is a server. + + + The application is a client. + + + The application is a client and a server. + + + The application is a discovery server. + + + + + EnumStrings + + i=68 + i=78 + i=307 + + + + + + + Server + + + + + Client + + + + + ClientAndServer + + + + + DiscoveryServer + + + + + + ApplicationDescription + Describes an application and how to find it. + + i=22 + + + + The globally unique identifier for the application. + + + The globally unique identifier for the product. + + + The name of application. + + + The type of application. + + + The globally unique identifier for the server that is acting as a gateway for the server. + + + The globally unique identifier for the discovery profile supported by the server. + + + The URLs for the server's discovery endpoints. + + + + + VersionTime + + i=7 + + + + ServerOnNetwork + + i=22 + + + + + + + + + + ApplicationInstanceCertificate + A certificate for an instance of an application. + + i=15 + + + + MessageSecurityMode + The type of security to use on a message. + + i=7595 + i=29 + + + + An invalid mode. + + + No security is used. + + + The message is signed. + + + The message is signed and encrypted. + + + + + EnumStrings + + i=68 + i=78 + i=302 + + + + + + + Invalid + + + + + None + + + + + Sign + + + + + SignAndEncrypt + + + + + + UserTokenType + The possible user token types. + + i=7596 + i=29 + + + + An anonymous user. + + + A user identified by a user name and password. + + + A user identified by an X509 certificate. + + + A user identified by WS-Security XML token. + + + + + EnumStrings + + i=68 + i=78 + i=303 + + + + + + + Anonymous + + + + + UserName + + + + + Certificate + + + + + IssuedToken + + + + + + UserTokenPolicy + Describes a user token that can be used with a server. + + i=22 + + + + A identifier for the policy assigned by the server. + + + The type of user token. + + + The type of issued token. + + + The endpoint or any other information need to contruct an issued token URL. + + + The security policy to use when encrypting or signing the user token. + + + + + EndpointDescription + The description of a endpoint that can be used to access a server. + + i=22 + + + + The network endpoint to use when connecting to the server. + + + The description of the server. + + + The server's application certificate. + + + The security mode that must be used when connecting to the endpoint. + + + The security policy to use when connecting to the endpoint. + + + The user identity tokens that can be used with this endpoint. + + + The transport profile to use when connecting to the endpoint. + + + A server assigned value that indicates how secure the endpoint is relative to other server endpoints. + + + + + RegisteredServer + The information required to register a server with a discovery server. + + i=22 + + + + The globally unique identifier for the server. + + + The globally unique identifier for the product. + + + The name of server in multiple lcoales. + + + The type of server. + + + The globally unique identifier for the server that is acting as a gateway for the server. + + + The URLs for the server's discovery endpoints. + + + A path to a file that is deleted when the server is no longer accepting connections. + + + If FALSE the server will save the registration information to a persistent datastore. + + + + + DiscoveryConfiguration + A base type for discovery configuration information. + + i=22 + + + + MdnsDiscoveryConfiguration + The discovery information needed for mDNS registration. + + i=12890 + + + + The name for server that is broadcast via mDNS. + + + The server capabilities that are broadcast via mDNS. + + + + + SecurityTokenRequestType + Indicates whether a token if being created or renewed. + + i=7598 + i=29 + + + + The channel is being created. + + + The channel is being renewed. + + + + + EnumStrings + + i=68 + i=78 + i=315 + + + + + + + Issue + + + + + Renew + + + + + + SignedSoftwareCertificate + A software certificate with a digital signature. + + i=22 + + + + The data of the certificate. + + + The digital signature. + + + + + SessionAuthenticationToken + A unique identifier for a session used to authenticate requests. + + i=17 + + + + UserIdentityToken + A base type for a user identity token. + + i=22 + + + + The policy id specified in a user token policy for the endpoint being used. + + + + + AnonymousIdentityToken + A token representing an anonymous user. + + i=316 + + + + UserNameIdentityToken + A token representing a user identified by a user name and password. + + i=316 + + + + The user name. + + + The password encrypted with the server certificate. + + + The algorithm used to encrypt the password. + + + + + X509IdentityToken + A token representing a user identified by an X509 certificate. + + i=316 + + + + The certificate. + + + + + IssuedIdentityToken + A token representing a user identified by a WS-Security XML token. + + i=316 + + + + The XML token encrypted with the server certificate. + + + The algorithm used to encrypt the certificate. + + + + + NodeAttributesMask + The bits used to specify default attributes for a new node. + + i=11881 + i=29 + + + + No attribuites provided. + + + The access level attribute is specified. + + + The array dimensions attribute is specified. + + + The browse name attribute is specified. + + + The contains no loops attribute is specified. + + + The data type attribute is specified. + + + The description attribute is specified. + + + The display name attribute is specified. + + + The event notifier attribute is specified. + + + The executable attribute is specified. + + + The historizing attribute is specified. + + + The inverse name attribute is specified. + + + The is abstract attribute is specified. + + + The minimum sampling interval attribute is specified. + + + The node class attribute is specified. + + + The node id attribute is specified. + + + The symmetric attribute is specified. + + + The user access level attribute is specified. + + + The user executable attribute is specified. + + + The user write mask attribute is specified. + + + The value rank attribute is specified. + + + The write mask attribute is specified. + + + The value attribute is specified. + + + The write mask attribute is specified. + + + The write mask attribute is specified. + + + The write mask attribute is specified. + + + All attributes are specified. + + + All base attributes are specified. + + + All object attributes are specified. + + + All object type attributes are specified. + + + All variable attributes are specified. + + + All variable type attributes are specified. + + + All method attributes are specified. + + + All reference type attributes are specified. + + + All view attributes are specified. + + + + + EnumValues + + i=68 + i=78 + i=348 + + + + + + i=7616 + + + + 0 + + + + None + + + + + No attribuites provided. + + + + + + + i=7616 + + + + 1 + + + + AccessLevel + + + + + The access level attribute is specified. + + + + + + + i=7616 + + + + 2 + + + + ArrayDimensions + + + + + The array dimensions attribute is specified. + + + + + + + i=7616 + + + + 4 + + + + BrowseName + + + + + The browse name attribute is specified. + + + + + + + i=7616 + + + + 8 + + + + ContainsNoLoops + + + + + The contains no loops attribute is specified. + + + + + + + i=7616 + + + + 16 + + + + DataType + + + + + The data type attribute is specified. + + + + + + + i=7616 + + + + 32 + + + + Description + + + + + The description attribute is specified. + + + + + + + i=7616 + + + + 64 + + + + DisplayName + + + + + The display name attribute is specified. + + + + + + + i=7616 + + + + 128 + + + + EventNotifier + + + + + The event notifier attribute is specified. + + + + + + + i=7616 + + + + 256 + + + + Executable + + + + + The executable attribute is specified. + + + + + + + i=7616 + + + + 512 + + + + Historizing + + + + + The historizing attribute is specified. + + + + + + + i=7616 + + + + 1024 + + + + InverseName + + + + + The inverse name attribute is specified. + + + + + + + i=7616 + + + + 2048 + + + + IsAbstract + + + + + The is abstract attribute is specified. + + + + + + + i=7616 + + + + 4096 + + + + MinimumSamplingInterval + + + + + The minimum sampling interval attribute is specified. + + + + + + + i=7616 + + + + 8192 + + + + NodeClass + + + + + The node class attribute is specified. + + + + + + + i=7616 + + + + 16384 + + + + NodeId + + + + + The node id attribute is specified. + + + + + + + i=7616 + + + + 32768 + + + + Symmetric + + + + + The symmetric attribute is specified. + + + + + + + i=7616 + + + + 65536 + + + + UserAccessLevel + + + + + The user access level attribute is specified. + + + + + + + i=7616 + + + + 131072 + + + + UserExecutable + + + + + The user executable attribute is specified. + + + + + + + i=7616 + + + + 262144 + + + + UserWriteMask + + + + + The user write mask attribute is specified. + + + + + + + i=7616 + + + + 524288 + + + + ValueRank + + + + + The value rank attribute is specified. + + + + + + + i=7616 + + + + 1048576 + + + + WriteMask + + + + + The write mask attribute is specified. + + + + + + + i=7616 + + + + 2097152 + + + + Value + + + + + The value attribute is specified. + + + + + + + i=7616 + + + + 4194304 + + + + DataTypeDefinition + + + + + The write mask attribute is specified. + + + + + + + i=7616 + + + + 8388608 + + + + RolePermissions + + + + + The write mask attribute is specified. + + + + + + + i=7616 + + + + 16777216 + + + + AccessRestrictions + + + + + The write mask attribute is specified. + + + + + + + i=7616 + + + + 33554431 + + + + All + + + + + All attributes are specified. + + + + + + + i=7616 + + + + 26501220 + + + + BaseNode + + + + + All base attributes are specified. + + + + + + + i=7616 + + + + 26501348 + + + + Object + + + + + All object attributes are specified. + + + + + + + i=7616 + + + + 26503268 + + + + ObjectType + + + + + All object type attributes are specified. + + + + + + + i=7616 + + + + 26571383 + + + + Variable + + + + + All variable attributes are specified. + + + + + + + i=7616 + + + + 28600438 + + + + VariableType + + + + + All variable type attributes are specified. + + + + + + + i=7616 + + + + 26632548 + + + + Method + + + + + All method attributes are specified. + + + + + + + i=7616 + + + + 26537060 + + + + ReferenceType + + + + + All reference type attributes are specified. + + + + + + + i=7616 + + + + 26501356 + + + + View + + + + + All view attributes are specified. + + + + + + + + + AddNodesItem + A request to add a node to the server address space. + + i=22 + + + + The node id for the parent node. + + + The type of reference from the parent to the new node. + + + The node id requested by the client. If null the server must provide one. + + + The browse name for the new node. + + + The class of the new node. + + + The default attributes for the new node. + + + The type definition for the new node. + + + + + AddReferencesItem + A request to add a reference to the server address space. + + i=22 + + + + The source of the reference. + + + The type of reference. + + + If TRUE the reference is a forward reference. + + + The URI of the server containing the target (if in another server). + + + The target of the reference. + + + The node class of the target (if known). + + + + + DeleteNodesItem + A request to delete a node to the server address space. + + i=22 + + + + The id of the node to delete. + + + If TRUE all references to the are deleted as well. + + + + + DeleteReferencesItem + A request to delete a node from the server address space. + + i=22 + + + + The source of the reference to delete. + + + The type of reference to delete. + + + If TRUE the a forward reference is deleted. + + + The target of the reference to delete. + + + If TRUE the reference is deleted in both directions. + + + + + AttributeWriteMask + Define bits used to indicate which attributes are writable. + + i=15036 + i=7 + + + + No attributes are writable. + + + The access level attribute is writable. + + + The array dimensions attribute is writable. + + + The browse name attribute is writable. + + + The contains no loops attribute is writable. + + + The data type attribute is writable. + + + The description attribute is writable. + + + The display name attribute is writable. + + + The event notifier attribute is writable. + + + The executable attribute is writable. + + + The historizing attribute is writable. + + + The inverse name attribute is writable. + + + The is abstract attribute is writable. + + + The minimum sampling interval attribute is writable. + + + The node class attribute is writable. + + + The node id attribute is writable. + + + The symmetric attribute is writable. + + + The user access level attribute is writable. + + + The user executable attribute is writable. + + + The user write mask attribute is writable. + + + The value rank attribute is writable. + + + The write mask attribute is writable. + + + The value attribute is writable. + + + The DataTypeDefinition attribute is writable. + + + The RolePermissions attribute is writable. + + + The AccessRestrictions attribute is writable. + + + The AccessLevelEx attribute is writable. + + + + + OptionSetValues + + i=68 + i=78 + 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 + + + + + + ContinuationPoint + An identifier for a suspended query or browse operation. + + i=15 + + + + RelativePathElement + An element in a relative path. + + i=22 + + + + The type of reference to follow. + + + If TRUE the reverse reference is followed. + + + If TRUE then subtypes of the reference type are followed. + + + The browse name of the target. + + + + + RelativePath + A relative path constructed from reference types and browse names. + + i=22 + + + + A list of elements in the path. + + + + + Counter + A monotonically increasing value. + + i=7 + + + + NumericRange + Specifies a range of array indexes. + + i=12 + + + + Time + A time value specified as HH:MM:SS.SSS. + + i=12 + + + + Date + A date value. + + i=13 + + + + EndpointConfiguration + + i=22 + + + + + + + + + + + + + + + FilterOperator + + i=7605 + i=29 + + + + + + + + + + + + + + + + + + + + + + + + EnumStrings + + i=68 + i=78 + i=576 + + + + + + + Equals + + + + + IsNull + + + + + GreaterThan + + + + + LessThan + + + + + GreaterThanOrEqual + + + + + LessThanOrEqual + + + + + Like + + + + + Not + + + + + Between + + + + + InList + + + + + And + + + + + Or + + + + + Cast + + + + + InView + + + + + OfType + + + + + RelatedTo + + + + + BitwiseAnd + + + + + BitwiseOr + + + + + + ContentFilterElement + + i=22 + + + + + + + + ContentFilter + + i=22 + + + + + + + FilterOperand + + i=22 + + + + ElementOperand + + i=589 + + + + + + + LiteralOperand + + i=589 + + + + + + + AttributeOperand + + i=589 + + + + + + + + + + + SimpleAttributeOperand + + i=589 + + + + + + + + + + HistoryEvent + + i=22 + + + + + + + HistoryUpdateType + + i=11884 + i=29 + + + + + + + + + + EnumValues + + i=68 + i=78 + i=11234 + + + + + + i=7616 + + + + 1 + + + + Insert + + + + + + + + i=7616 + + + + 2 + + + + Replace + + + + + + + + i=7616 + + + + 3 + + + + Update + + + + + + + + i=7616 + + + + 4 + + + + Delete + + + + + + + + + + PerformUpdateType + + i=11885 + i=29 + + + + + + + + + + EnumValues + + i=68 + i=78 + i=11293 + + + + + + i=7616 + + + + 1 + + + + Insert + + + + + + + + i=7616 + + + + 2 + + + + Replace + + + + + + + + i=7616 + + + + 3 + + + + Update + + + + + + + + i=7616 + + + + 4 + + + + Remove + + + + + + + + + + MonitoringFilter + + i=22 + + + + EventFilter + + i=719 + + + + + + + + AggregateConfiguration + + i=22 + + + + + + + + + + + HistoryEventFieldList + + i=22 + + + + + + + BuildInfo + + i=22 + + + + + + + + + + + + RedundancySupport + + i=7611 + i=29 + + + + + + + + + + + + EnumStrings + + i=68 + i=78 + i=851 + + + + + + + None + + + + + Cold + + + + + Warm + + + + + Hot + + + + + Transparent + + + + + HotAndMirrored + + + + + + ServerState + + i=7612 + i=29 + + + + + + + + + + + + + + EnumStrings + + i=68 + i=78 + i=852 + + + + + + + Running + + + + + Failed + + + + + NoConfiguration + + + + + Suspended + + + + + Shutdown + + + + + Test + + + + + CommunicationFault + + + + + Unknown + + + + + + RedundantServerDataType + + i=22 + + + + + + + + + EndpointUrlListDataType + + i=22 + + + + + + + NetworkGroupDataType + + i=22 + + + + + + + + SamplingIntervalDiagnosticsDataType + + i=22 + + + + + + + + + + ServerDiagnosticsSummaryDataType + + i=22 + + + + + + + + + + + + + + + + + + ServerStatusDataType + + i=22 + + + + + + + + + + + + SessionDiagnosticsDataType + + i=22 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SessionSecurityDiagnosticsDataType + + i=22 + + + + + + + + + + + + + + + ServiceCounterDataType + + i=22 + + + + + + + + StatusResult + + i=22 + + + + + + + + SubscriptionDiagnosticsDataType + + i=22 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ModelChangeStructureDataType + + i=22 + + + + + + + + + SemanticChangeStructureDataType + + i=22 + + + + + + + + Range + + i=22 + + + + + + + + EUInformation + + i=22 + + + + + + + + + + AxisScaleEnumeration + + i=12078 + i=29 + + + + + + + + + EnumStrings + + i=68 + i=78 + i=12077 + + + + + + + Linear + + + + + Log + + + + + Ln + + + + + + ComplexNumberType + + i=22 + + + + + + + + DoubleComplexNumberType + + i=22 + + + + + + + + AxisInformation + + i=22 + + + + + + + + + + + XVType + + i=22 + + + + + + + + ProgramDiagnosticDataType + + i=22 + + + + + + + + + + + + + + + + ProgramDiagnostic2DataType + + i=22 + + + + + + + + + + + + + + + + + + Annotation + + i=22 + + + + + + + + + ExceptionDeviationFormat + + i=7614 + i=29 + + + + + + + + + + + EnumStrings + + i=68 + i=78 + i=890 + + + + + + + AbsoluteValue + + + + + PercentOfValue + + + + + PercentOfRange + + + + + PercentOfEURange + + + + + Unknown + + + + + + Default Binary + + i=14533 + i=14873 + i=76 + + + + Default Binary + + i=15528 + i=15734 + i=76 + + + + Default Binary + + i=15634 + i=15738 + i=76 + + + + Default Binary + + i=12554 + i=12681 + 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=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=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=12756 + i=12770 + i=76 + + + + Default Binary + + i=8912 + i=8914 + i=76 + + + + Default Binary + + i=308 + i=7665 + i=76 + + + + Default Binary + + i=12189 + i=12213 + i=76 + + + + Default Binary + + i=304 + i=7662 + i=76 + + + + Default Binary + + i=312 + i=7668 + i=76 + + + + Default Binary + + i=432 + i=7782 + i=76 + + + + Default Binary + + i=12890 + i=12902 + i=76 + + + + Default Binary + + i=12891 + i=12905 + i=76 + + + + Default Binary + + i=344 + i=7698 + 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=376 + i=7728 + i=76 + + + + Default Binary + + i=379 + i=7731 + i=76 + + + + Default Binary + + i=382 + i=7734 + i=76 + + + + Default Binary + + i=385 + i=7737 + i=76 + + + + Default Binary + + i=537 + i=12718 + i=76 + + + + Default Binary + + i=540 + i=12721 + i=76 + + + + Default Binary + + i=331 + i=7686 + 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=659 + i=8004 + i=76 + + + + Default Binary + + i=719 + i=8067 + i=76 + + + + Default Binary + + i=725 + i=8073 + i=76 + + + + Default Binary + + i=948 + i=8076 + i=76 + + + + Default Binary + + i=920 + i=8172 + 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=15396 + i=15398 + i=76 + + + + Default Binary + + i=891 + i=8244 + i=76 + + + + Opc.Ua + + i=7619 + i=15037 + i=14873 + i=15734 + i=15738 + 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=16131 + i=18178 + i=18181 + i=18184 + i=18187 + i=7650 + i=7656 + i=14870 + i=12767 + i=12770 + 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=15398 + 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 +b2NhbGVTcGVjaWZpZWQiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTG9jYWxpemVkVGV4dFNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJBZGRpdGlvbmFsSW5mb1NwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbm5lclN0YXR1c0NvZGVTcGVjaWZpZWQiIFR5cGVO +YW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5uZXJEaWFnbm9zdGljSW5m +b1NwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS +ZXNlcnZlZDEiIFR5cGVOYW1lPSJvcGM6Qml0IiBMZW5ndGg9IjIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJTeW1ib2xpY0lkIiBUeXBlTmFtZT0ib3BjOkludDMyIiBTd2l0Y2hGaWVsZD0iU3lt +Ym9saWNJZFNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWVzcGFjZVVSSSIg +VHlwZU5hbWU9Im9wYzpJbnQzMiIgU3dpdGNoRmllbGQ9Ik5hbWVzcGFjZVVSSVNwZWNpZmllZCIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgU3dp +dGNoRmllbGQ9IkxvY2FsZVNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2Fs +aXplZFRleHQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIFN3aXRjaEZpZWxkPSJMb2NhbGl6ZWRUZXh0 +U3BlY2lmaWVkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWRkaXRpb25hbEluZm8iIFR5cGVO +YW1lPSJvcGM6Q2hhckFycmF5IiBTd2l0Y2hGaWVsZD0iQWRkaXRpb25hbEluZm9TcGVjaWZpZWQi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbm5lclN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpT +dGF0dXNDb2RlIiBTd2l0Y2hGaWVsZD0iSW5uZXJTdGF0dXNDb2RlU3BlY2lmaWVkIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iSW5uZXJEaWFnbm9zdGljSW5mbyIgVHlwZU5hbWU9InVhOkRpYWdu +b3N0aWNJbmZvIiBTd2l0Y2hGaWVsZD0iSW5uZXJEaWFnbm9zdGljSW5mb1NwZWNpZmllZCIgLz4N +CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJR +dWFsaWZpZWROYW1lIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBzdHJpbmcgcXVhbGlmaWVk +IHdpdGggYSBuYW1lc3BhY2UgaW5kZXguPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5hbWVzcGFjZUluZGV4IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTmFtZSIgVHlwZU5hbWU9Im9wYzpDaGFyQXJyYXkiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTG9jYWxpemVk +VGV4dCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgc3RyaW5nIHF1YWxpZmllZCB3aXRoIGEg +bmFtZXNwYWNlIGluZGV4Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJMb2NhbGVTcGVjaWZpZWQiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iVGV4dFNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZXNlcnZlZDEiIFR5cGVOYW1lPSJvcGM6Qml0IiBMZW5ndGg9IjYiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJMb2NhbGUiIFR5cGVOYW1lPSJvcGM6Q2hhckFycmF5IiBTd2l0Y2hG +aWVsZD0iTG9jYWxlU3BlY2lmaWVkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGV4dCIgVHlw +ZU5hbWU9Im9wYzpDaGFyQXJyYXkiIFN3aXRjaEZpZWxkPSJUZXh0U3BlY2lmaWVkIiAvPg0KICA8 +L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFW +YWx1ZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgdmFsdWUgd2l0aCBhbiBhc3NvY2lhdGVk +IHRpbWVzdGFtcCwgYW5kIHF1YWxpdHkuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlZhbHVlU3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlN0YXR1c0NvZGVTcGVjaWZpZWQiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iU291cmNlVGltZXN0YW1wU3BlY2lmaWVkIiBUeXBlTmFtZT0i +b3BjOkJpdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvdXJjZVBpY29zZWNvbmRzU3BlY2lm +aWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclRp +bWVzdGFtcFNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJTZXJ2ZXJQaWNvc2Vjb25kc1NwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNlcnZlZDEiIFR5cGVOYW1lPSJvcGM6Qml0IiBMZW5ndGg9 +IjIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQi +IFN3aXRjaEZpZWxkPSJWYWx1ZVNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0 +YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBTd2l0Y2hGaWVsZD0iU3RhdHVzQ29k +ZVNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvdXJjZVRpbWVzdGFtcCIgVHlw +ZU5hbWU9Im9wYzpEYXRlVGltZSIgU3dpdGNoRmllbGQ9IlNvdXJjZVRpbWVzdGFtcFNwZWNpZmll +ZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvdXJjZVBpY29zZWNvbmRzIiBUeXBlTmFtZT0i +b3BjOlVJbnQxNiIgU3dpdGNoRmllbGQ9IlNvdXJjZVBpY29zZWNvbmRzU3BlY2lmaWVkIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyVGltZXN0YW1wIiBUeXBlTmFtZT0ib3BjOkRhdGVU +aW1lIiBTd2l0Y2hGaWVsZD0iU2VydmVyVGltZXN0YW1wU3BlY2lmaWVkIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iU2VydmVyUGljb3NlY29uZHMiIFR5cGVOYW1lPSJvcGM6VUludDE2IiBTd2l0 +Y2hGaWVsZD0iU2VydmVyUGljb3NlY29uZHNTcGVjaWZpZWQiIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRXh0ZW5zaW9uT2JqZWN0Ij4N +CiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBzZXJpYWxpemVkIG9iamVjdCBwcmVmaXhlZCB3aXRo +IGl0cyBkYXRhIHR5cGUgaWRlbnRpZmllci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iVHlwZUlkU3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkJpbmFyeUJvZHkiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iWG1sQm9keSIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJSZXNlcnZlZDEiIFR5cGVOYW1lPSJvcGM6Qml0IiBMZW5ndGg9IjUiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJUeXBlSWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIg +U3dpdGNoRmllbGQ9IlR5cGVJZFNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJv +ZHlMZW5ndGgiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJC +b2R5IiBUeXBlTmFtZT0ib3BjOkJ5dGUiIExlbmd0aEZpZWxkPSJCb2R5TGVuZ3RoIiAvPg0KICA8 +L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlZhcmlh +bnQiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHVuaW9uIG9mIHNldmVyYWwgdHlwZXMuPC9v +cGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhcmlhbnRUeXBlIiBUeXBl +TmFtZT0ib3BjOkJpdCIgTGVuZ3RoPSI2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXJyYXlE +aW1lbnNpb25zU3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgTGVuZ3RoPSIxIi8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJBcnJheUxlbmd0aFNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQi +IExlbmd0aD0iMSIvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXJyYXlMZW5ndGgiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIFN3aXRjaEZpZWxkPSJBcnJheUxlbmd0aFNwZWNpZmllZCIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkJvb2xlYW4iIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgTGVuZ3RoRmll +bGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSIx +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU0J5dGUiIFR5cGVOYW1lPSJvcGM6U0J5dGUiIExl +bmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hW +YWx1ZT0iMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJ5dGUiIFR5cGVOYW1lPSJvcGM6Qnl0 +ZSIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3 +aXRjaFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW50MTYiIFR5cGVOYW1lPSJv +cGM6SW50MTYiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRU +eXBlIiBTd2l0Y2hWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVJbnQxNiIgVHlw +ZU5hbWU9Im9wYzpVSW50MTYiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9 +IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iNSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Iklu +dDMyIiBUeXBlTmFtZT0ib3BjOkludDMyIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRj +aEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjYiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJVSW50MzIiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5n +dGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjciIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJJbnQ2NCIgVHlwZU5hbWU9Im9wYzpJbnQ2NCIgTGVuZ3RoRmllbGQ9IkFy +cmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSI4IiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iVUludDY0IiBUeXBlTmFtZT0ib3BjOlVJbnQ2NCIgTGVuZ3Ro +RmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVl +PSI5IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmxvYXQiIFR5cGVOYW1lPSJvcGM6RmxvYXQi +IExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0 +Y2hWYWx1ZT0iMTAiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEb3VibGUiIFR5cGVOYW1lPSJv +cGM6RG91YmxlIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50 +VHlwZSIgU3dpdGNoVmFsdWU9IjExIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RyaW5nIiBU +eXBlTmFtZT0ib3BjOkNoYXJBcnJheSIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hG +aWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSIxMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkRhdGVUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiBMZW5ndGhGaWVsZD0iQXJyYXlM +ZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjEzIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iR3VpZCIgVHlwZU5hbWU9Im9wYzpHdWlkIiBMZW5ndGhGaWVsZD0i +QXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjE0IiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnl0ZVN0cmluZyIgVHlwZU5hbWU9Im9wYzpCeXRlU3Ry +aW5nIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIg +U3dpdGNoVmFsdWU9IjE1IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iWG1sRWxlbWVudCIgVHlw +ZU5hbWU9InVhOlhtbEVsZW1lbnQiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmll +bGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIg +U3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMTciIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJFeHBhbmRlZE5vZGVJZCIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiBM +ZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNo +VmFsdWU9IjE4IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9 +InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZh +cmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMTkiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJRdWFs +aWZpZWROYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgTGVuZ3RoRmllbGQ9IkFycmF5 +TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSIyMCIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsaXplZFRleHQiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRU +ZXh0IiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIg +U3dpdGNoVmFsdWU9IjIxIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXh0ZW5zaW9uT2JqZWN0 +IiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgi +IFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjIyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iRGF0YVZhbHVlIiBUeXBlTmFtZT0idWE6RGF0YVZhbHVlIiBMZW5ndGhGaWVs +ZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjIz +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFyaWFudCIgVHlwZU5hbWU9InVhOlZhcmlhbnQi +IExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0 +Y2hWYWx1ZT0iMjQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mbyIgVHlw +ZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRj +aEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjI1IiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTm9PZkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgU3dpdGNoRmll +bGQ9IkFycmF5RGltZW5zaW9uc1NwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFy +cmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBcnJh +eURpbWVuc2lvbnMiIFN3aXRjaEZpZWxkPSJBcnJheURpbWVuc2lvbnNTcGVjaWZpZWQiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iTmFt +aW5nUnVsZVR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9Ik1hbmRhdG9yeSIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg +TmFtZT0iT3B0aW9uYWwiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h +bWU9IkNvbnN0cmFpbnQiIFZhbHVlPSIzIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCiAg +ICANCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iSW1hZ2VCTVAiPg0KICAgIDxvcGM6RG9jdW1l +bnRhdGlvbj5BbiBpbWFnZSBlbmNvZGVkIGluIEJNUCBmb3JtYXQuPC9vcGM6RG9jdW1lbnRhdGlv +bj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iSW1hZ2VH +SUYiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBpbWFnZSBlbmNvZGVkIGluIEdJRiBmb3Jt +YXQuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9w +YXF1ZVR5cGUgTmFtZT0iSW1hZ2VKUEciPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBpbWFn +ZSBlbmNvZGVkIGluIEpQRUcgZm9ybWF0Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9w +YXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkltYWdlUE5HIj4NCiAgICA8b3Bj +OkRvY3VtZW50YXRpb24+QW4gaW1hZ2UgZW5jb2RlZCBpbiBQTkcgZm9ybWF0Ljwvb3BjOkRvY3Vt +ZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9 +IkF1ZGlvRGF0YVR5cGUiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBpbWFnZSBlbmNvZGVk +IGluIFBORyBmb3JtYXQuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4N +Cg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iQml0RmllbGRNYXNrRGF0YVR5cGUiPg0KICAgIDxv +cGM6RG9jdW1lbnRhdGlvbj5BIG1hc2sgb2YgMzIgYml0cyB0aGF0IGNhbiBiZSB1cGRhdGVkIGlu +ZGl2aWR1YWxseSBieSB1c2luZyB0aGUgdG9wIDMyIGJpdHMgYXMgYSBtYXNrLjwvb3BjOkRvY3Vt +ZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO +YW1lPSJLZXlWYWx1ZVBhaXIiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iS2V5IiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFbmRwb2ludFR5 +cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +RW5kcG9pbnRVcmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iU2VjdXJpdHlNb2RlIiBUeXBlTmFtZT0idG5zOk1lc3NhZ2VTZWN1cml0eU1vZGUiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eVBvbGljeVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJp +bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc3BvcnRQcm9maWxlVXJpIiBUeXBlTmFt +ZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVt +ZXJhdGVkVHlwZSBOYW1lPSJPcGVuRmlsZU1vZGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxv +cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlYWQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IldyaXRlIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0 +ZWRWYWx1ZSBOYW1lPSJFcmFzZUV4aXN0aW5nIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1l +cmF0ZWRWYWx1ZSBOYW1lPSJBcHBlbmQiIFZhbHVlPSI4IiAvPg0KICA8L29wYzpFbnVtZXJhdGVk +VHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IklkZW50aXR5Q3JpdGVyaWFUeXBl +IiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVc2Vy +TmFtZSIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVGh1bWJw +cmludCIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUm9sZSIg +VmFsdWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iR3JvdXBJZCIgVmFs +dWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQW5vbnltb3VzIiBWYWx1 +ZT0iNSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBdXRoZW50aWNhdGVkVXNl +ciIgVmFsdWU9IjYiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 +dXJlZFR5cGUgTmFtZT0iSWRlbnRpdHlNYXBwaW5nUnVsZVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRl +bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3JpdGVyaWFUeXBlIiBUeXBlTmFt +ZT0idG5zOklkZW50aXR5Q3JpdGVyaWFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3Jp +dGVyaWEiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N +Cg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlRydXN0TGlzdE1hc2tzIiBMZW5ndGhJbkJp +dHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25lIiBWYWx1ZT0iMCIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJUcnVzdGVkQ2VydGlmaWNhdGVzIiBW +YWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJUcnVzdGVkQ3JscyIg +VmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNzdWVyQ2VydGlm +aWNhdGVzIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJc3N1 +ZXJDcmxzIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBbGwi +IFZhbHVlPSIxNSIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 +cmVkVHlwZSBOYW1lPSJUcnVzdExpc3REYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRMaXN0cyIgVHlwZU5hbWU9Im9w +YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVHJ1c3RlZENlcnRpZmljYXRl +cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRydXN0ZWRD +ZXJ0aWZpY2F0ZXMiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZU +cnVzdGVkQ2VydGlmaWNhdGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlRydXN0ZWRD +cmxzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJ1c3Rl +ZENybHMiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZUcnVzdGVk +Q3JscyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZJc3N1ZXJDZXJ0aWZpY2F0ZXMiIFR5 +cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc3N1ZXJDZXJ0aWZp +Y2F0ZXMiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZJc3N1ZXJD +ZXJ0aWZpY2F0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mSXNzdWVyQ3JscyIgVHlw +ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Iklzc3VlckNybHMiIFR5 +cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZJc3N1ZXJDcmxzIiAvPg0K +ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRl +Y2ltYWxEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJTY2FsZSIgVHlwZU5hbWU9Im9wYzpJbnQxNiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVj +dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGF0YVR5cGVTY2hlbWFI +ZWFkZXIiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTm9PZk5hbWVzcGFjZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOYW1lc3BhY2VzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5v +T2ZOYW1lc3BhY2VzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlN0cnVjdHVyZURhdGFU +eXBlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0cnVj +dHVyZURhdGFUeXBlcyIgVHlwZU5hbWU9InRuczpTdHJ1Y3R1cmVEZXNjcmlwdGlvbiIgTGVuZ3Ro +RmllbGQ9Ik5vT2ZTdHJ1Y3R1cmVEYXRhVHlwZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO +b09mRW51bURhdGFUeXBlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkVudW1EYXRhVHlwZXMiIFR5cGVOYW1lPSJ0bnM6RW51bURlc2NyaXB0aW9uIiBMZW5n +dGhGaWVsZD0iTm9PZkVudW1EYXRhVHlwZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m +U2ltcGxlRGF0YVR5cGVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iU2ltcGxlRGF0YVR5cGVzIiBUeXBlTmFtZT0idG5zOlNpbXBsZVR5cGVEZXNjcmlwdGlv +biIgTGVuZ3RoRmllbGQ9Ik5vT2ZTaW1wbGVEYXRhVHlwZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGF0YVR5cGVEZXNjcmlwdGlv +biIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE +YXRhVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +TmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3RydWN0dXJlRGVzY3JpcHRpb24i +IEJhc2VUeXBlPSJ0bnM6RGF0YVR5cGVEZXNjcmlwdGlvbiI+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJEYXRhVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6RGF0YVR5 +cGVEZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJ1 +YTpRdWFsaWZpZWROYW1lIiBTb3VyY2VUeXBlPSJ0bnM6RGF0YVR5cGVEZXNjcmlwdGlvbiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0cnVjdHVyZURlZmluaXRpb24iIFR5cGVOYW1lPSJ0bnM6 +U3RydWN0dXJlRGVmaW5pdGlvbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w +YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFbnVtRGVzY3JpcHRpb24iIEJhc2VUeXBlPSJ0bnM6RGF0 +YVR5cGVEZXNjcmlwdGlvbiI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZUlkIiBUeXBl +TmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6RGF0YVR5cGVEZXNjcmlwdGlvbiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBT +b3VyY2VUeXBlPSJ0bnM6RGF0YVR5cGVEZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkVudW1EZWZpbml0aW9uIiBUeXBlTmFtZT0idG5zOkVudW1EZWZpbml0aW9uIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iQnVpbHRJblR5cGUiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAg +PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTaW1w +bGVUeXBlRGVzY3JpcHRpb24iIEJhc2VUeXBlPSJ0bnM6RGF0YVR5cGVEZXNjcmlwdGlvbiI+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3Vy +Y2VUeXBlPSJ0bnM6RGF0YVR5cGVEZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBTb3VyY2VUeXBlPSJ0bnM6RGF0YVR5 +cGVEZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJhc2VEYXRhVHlwZSIgVHlw +ZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJ1aWx0SW5UeXBlIiBU +eXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iVUFCaW5hcnlGaWxlRGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6 +RGF0YVR5cGVTY2hlbWFIZWFkZXIiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5hbWVzcGFj +ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lc3Bh +Y2VzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZOYW1lc3BhY2VzIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlN0cnVjdHVyZURhdGFUeXBlcyIgVHlwZU5hbWU9 +Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0cnVjdHVyZURhdGFUeXBlcyIg +VHlwZU5hbWU9InRuczpTdHJ1Y3R1cmVEZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZTdHJ1 +Y3R1cmVEYXRhVHlwZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRW51bURhdGFUeXBl +cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVudW1EYXRh +VHlwZXMiIFR5cGVOYW1lPSJ0bnM6RW51bURlc2NyaXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZkVu +dW1EYXRhVHlwZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2ltcGxlRGF0YVR5cGVz +IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2ltcGxlRGF0 +YVR5cGVzIiBUeXBlTmFtZT0idG5zOlNpbXBsZVR5cGVEZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9 +Ik5vT2ZTaW1wbGVEYXRhVHlwZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTY2hlbWFMb2Nh +dGlvbiIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m +RmlsZUhlYWRlciIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkZpbGVIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6S2V5VmFsdWVQYWlyIiBMZW5ndGhGaWVsZD0iTm9P +ZkZpbGVIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCb2R5IiBUeXBlTmFtZT0idWE6 +VmFyaWFudCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVk +VHlwZSBOYW1lPSJQdWJTdWJTdGF0ZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVt +ZXJhdGVkVmFsdWUgTmFtZT0iRGlzYWJsZWQiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVy +YXRlZFZhbHVlIE5hbWU9IlBhdXNlZCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk +VmFsdWUgTmFtZT0iT3BlcmF0aW9uYWwiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRl +ZFZhbHVlIE5hbWU9IkVycm9yIiBWYWx1ZT0iMyIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+ +DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRhU2V0TWV0YURhdGFUeXBlIiBCYXNl +VHlwZT0idG5zOkRhdGFUeXBlU2NoZW1hSGVhZGVyIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v +T2ZOYW1lc3BhY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTmFtZXNwYWNlcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mTmFt +ZXNwYWNlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTdHJ1Y3R1cmVEYXRhVHlwZXMi +IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdHJ1Y3R1cmVE +YXRhVHlwZXMiIFR5cGVOYW1lPSJ0bnM6U3RydWN0dXJlRGVzY3JpcHRpb24iIExlbmd0aEZpZWxk +PSJOb09mU3RydWN0dXJlRGF0YVR5cGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkVu +dW1EYXRhVHlwZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJFbnVtRGF0YVR5cGVzIiBUeXBlTmFtZT0idG5zOkVudW1EZXNjcmlwdGlvbiIgTGVuZ3RoRmll +bGQ9Ik5vT2ZFbnVtRGF0YVR5cGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNpbXBs +ZURhdGFUeXBlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlNpbXBsZURhdGFUeXBlcyIgVHlwZU5hbWU9InRuczpTaW1wbGVUeXBlRGVzY3JpcHRpb24iIExl +bmd0aEZpZWxkPSJOb09mU2ltcGxlRGF0YVR5cGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +TmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNj +cmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJOb09mRmllbGRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iRmllbGRzIiBUeXBlTmFtZT0idG5zOkZpZWxkTWV0YURhdGEiIExlbmd0aEZpZWxkPSJO +b09mRmllbGRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVNldENsYXNzSWQiIFR5cGVO +YW1lPSJvcGM6R3VpZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbmZpZ3VyYXRpb25WZXJz +aW9uIiBUeXBlTmFtZT0idG5zOkNvbmZpZ3VyYXRpb25WZXJzaW9uRGF0YVR5cGUiIC8+DQogIDwv +b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRmllbGRN +ZXRhRGF0YSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkZpZWxkRmxhZ3MiIFR5cGVOYW1lPSJ0bnM6RGF0YVNldEZpZWxkRmxhZ3MiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCdWlsdEluVHlwZSIgVHlwZU5hbWU9Im9wYzpCeXRlIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZVJhbmsiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0ib3Bj +OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFt +ZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJNYXhTdHJpbmdMZW5ndGgiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVNldEZpZWxkSWQiIFR5cGVOYW1lPSJvcGM6R3Vp +ZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZQcm9wZXJ0aWVzIiBUeXBlTmFtZT0ib3Bj +OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJvcGVydGllcyIgVHlwZU5hbWU9InRu +czpLZXlWYWx1ZVBhaXIiIExlbmd0aEZpZWxkPSJOb09mUHJvcGVydGllcyIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJEYXRhU2V0Rmll +bGRGbGFncyIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt +ZT0iUHJvbW90ZWRGaWVsZCIgVmFsdWU9IjEiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0K +DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ29uZmlndXJhdGlvblZlcnNpb25EYXRhVHlw +ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJN +YWpvclZlcnNpb24iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTWlub3JWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0 +dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJQdWJsaXNoZWREYXRhU2V0 +RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mRGF0YVNldEZvbGRlciIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkRhdGFTZXRGb2xkZXIiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVs +ZD0iTm9PZkRhdGFTZXRGb2xkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0TWV0 +YURhdGEiIFR5cGVOYW1lPSJ0bnM6RGF0YVNldE1ldGFEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vT2ZFeHRlbnNpb25GaWVsZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJFeHRlbnNpb25GaWVsZHMiIFR5cGVOYW1lPSJ0bnM6S2V5VmFs +dWVQYWlyIiBMZW5ndGhGaWVsZD0iTm9PZkV4dGVuc2lvbkZpZWxkcyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkRhdGFTZXRTb3VyY2UiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+ +DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i +UHVibGlzaGVkRGF0YVNldFNvdXJjZURhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0Ij4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO +YW1lPSJQdWJsaXNoZWRWYXJpYWJsZURhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hlZFZhcmlhYmxlIiBUeXBlTmFtZT0i +dWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXR0cmlidXRlSWQiIFR5cGVOYW1l +PSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2FtcGxpbmdJbnRlcnZhbEhp +bnQiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVhZGJh +bmRUeXBlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRl +YWRiYW5kVmFsdWUiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iSW5kZXhSYW5nZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJTdWJzdGl0dXRlVmFsdWUiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9PZk1ldGFEYXRhUHJvcGVydGllcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1ldGFEYXRhUHJvcGVydGllcyIgVHlwZU5hbWU9InVh +OlF1YWxpZmllZE5hbWUiIExlbmd0aEZpZWxkPSJOb09mTWV0YURhdGFQcm9wZXJ0aWVzIiAvPg0K +ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlB1 +Ymxpc2hlZERhdGFJdGVtc0RhdGFUeXBlIiBCYXNlVHlwZT0idG5zOlB1Ymxpc2hlZERhdGFTZXRT +b3VyY2VEYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUHVibGlzaGVkRGF0YSIg +VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hlZERh +dGEiIFR5cGVOYW1lPSJ0bnM6UHVibGlzaGVkVmFyaWFibGVEYXRhVHlwZSIgTGVuZ3RoRmllbGQ9 +Ik5vT2ZQdWJsaXNoZWREYXRhIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj +OlN0cnVjdHVyZWRUeXBlIE5hbWU9IlB1Ymxpc2hlZEV2ZW50c0RhdGFUeXBlIiBCYXNlVHlwZT0i +dG5zOlB1Ymxpc2hlZERhdGFTZXRTb3VyY2VEYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJFdmVudE5vdGlmaWVyIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTm9PZlNlbGVjdGVkRmllbGRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iU2VsZWN0ZWRGaWVsZHMiIFR5cGVOYW1lPSJ0bnM6U2ltcGxlQXR0cmli +dXRlT3BlcmFuZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZWxlY3RlZEZpZWxkcyIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IkZpbHRlciIgVHlwZU5hbWU9InRuczpDb250ZW50RmlsdGVyIiAvPg0KICA8 +L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkRhdGFT +ZXRGaWVsZENvbnRlbnRNYXNrIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0 +ZWRWYWx1ZSBOYW1lPSJTdGF0dXNDb2RlIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0 +ZWRWYWx1ZSBOYW1lPSJTb3VyY2VUaW1lc3RhbXAiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IlNlcnZlclRpbWVzdGFtcCIgVmFsdWU9IjQiIC8+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU291cmNlUGljb1NlY29uZHMiIFZhbHVlPSI4IiAvPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNlcnZlclBpY29TZWNvbmRzIiBWYWx1ZT0i +MTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmF3RGF0YUVuY29kaW5nIiBW +YWx1ZT0iMzIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl +ZFR5cGUgTmFtZT0iRGF0YVNldFdyaXRlckRhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u +T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5n +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5hYmxlZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFu +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVNldFdyaXRlcklkIiBUeXBlTmFtZT0ib3Bj +OlVJbnQxNiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRGaWVsZENvbnRlbnRNYXNr +IiBUeXBlTmFtZT0idG5zOkRhdGFTZXRGaWVsZENvbnRlbnRNYXNrIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iS2V5RnJhbWVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJEYXRhU2V0TmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJOb09mRGF0YVNldFdyaXRlclByb3BlcnRpZXMiIFR5cGVOYW1lPSJv +cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0V3JpdGVyUHJvcGVydGll +cyIgVHlwZU5hbWU9InRuczpLZXlWYWx1ZVBhaXIiIExlbmd0aEZpZWxkPSJOb09mRGF0YVNldFdy +aXRlclByb3BlcnRpZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc3BvcnRTZXR0aW5n +cyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik1lc3NhZ2VTZXR0aW5ncyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgPC9v +cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRhU2V0 +V3JpdGVyVHJhbnNwb3J0RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K +ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRh +dGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi +Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 +IlB1YlN1Ykdyb3VwRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJFbmFibGVkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJTZWN1cml0eU1vZGUiIFR5cGVOYW1lPSJ0bnM6TWVzc2FnZVNlY3VyaXR5 +TW9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5R3JvdXBJZCIgVHlwZU5hbWU9 +Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VjdXJpdHlLZXlTZXJ2 +aWNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3Vy +aXR5S2V5U2VydmljZXMiIFR5cGVOYW1lPSJ0bnM6RW5kcG9pbnREZXNjcmlwdGlvbiIgTGVuZ3Ro +RmllbGQ9Ik5vT2ZTZWN1cml0eUtleVNlcnZpY2VzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +TWF4TmV0d29ya01lc3NhZ2VTaXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vT2ZHcm91cFByb3BlcnRpZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJHcm91cFByb3BlcnRpZXMiIFR5cGVOYW1lPSJ0bnM6S2V5 +VmFsdWVQYWlyIiBMZW5ndGhGaWVsZD0iTm9PZkdyb3VwUHJvcGVydGllcyIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJXcml0ZXJHcm91 +cERhdGFUeXBlIiBCYXNlVHlwZT0idG5zOlB1YlN1Ykdyb3VwRGF0YVR5cGUiPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIFNvdXJjZVR5cGU9InRuczpQ +dWJTdWJHcm91cERhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5hYmxlZCIgVHlw +ZU5hbWU9Im9wYzpCb29sZWFuIiBTb3VyY2VUeXBlPSJ0bnM6UHViU3ViR3JvdXBEYXRhVHlwZSIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TW9kZSIgVHlwZU5hbWU9InRuczpNZXNz +YWdlU2VjdXJpdHlNb2RlIiBTb3VyY2VUeXBlPSJ0bnM6UHViU3ViR3JvdXBEYXRhVHlwZSIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5R3JvdXBJZCIgVHlwZU5hbWU9Im9wYzpTdHJp +bmciIFNvdXJjZVR5cGU9InRuczpQdWJTdWJHcm91cERhdGFUeXBlIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9PZlNlY3VyaXR5S2V5U2VydmljZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eUtleVNlcnZpY2VzIiBUeXBlTmFtZT0idG5z +OkVuZHBvaW50RGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mU2VjdXJpdHlLZXlTZXJ2aWNl +cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heE5ldHdvcmtNZXNzYWdlU2l6ZSIgVHlwZU5h +bWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpQdWJTdWJHcm91cERhdGFUeXBlIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkdyb3VwUHJvcGVydGllcyIgVHlwZU5hbWU9Im9wYzpJ +bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikdyb3VwUHJvcGVydGllcyIgVHlwZU5hbWU9 +InRuczpLZXlWYWx1ZVBhaXIiIExlbmd0aEZpZWxkPSJOb09mR3JvdXBQcm9wZXJ0aWVzIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVyR3JvdXBJZCIgVHlwZU5hbWU9Im9wYzpVSW50MTYi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJv +cGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iS2VlcEFsaXZlVGltZSIgVHlwZU5h +bWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcmlvcml0eSIgVHlwZU5h +bWU9Im9wYzpCeXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxvY2FsZUlkcyIgVHlw +ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsZUlkcyIgVHlw +ZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mTG9jYWxlSWRzIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iVHJhbnNwb3J0U2V0dGluZ3MiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25P +YmplY3QiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXNzYWdlU2V0dGluZ3MiIFR5cGVOYW1l +PSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGF0YVNl +dFdyaXRlcnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE +YXRhU2V0V3JpdGVycyIgVHlwZU5hbWU9InRuczpEYXRhU2V0V3JpdGVyRGF0YVR5cGUiIExlbmd0 +aEZpZWxkPSJOb09mRGF0YVNldFdyaXRlcnMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K +DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlw +ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iV3JpdGVyR3JvdXBNZXNzYWdlRGF0YVR5 +cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlB1YlN1YkNvbm5lY3Rpb25EYXRhVHlw +ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO +YW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuYWJs +ZWQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxp +c2hlcklkIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRy +YW5zcG9ydFByb2ZpbGVVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iQWRkcmVzcyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik5vT2ZDb25uZWN0aW9uUHJvcGVydGllcyIgVHlwZU5hbWU9Im9wYzpJ +bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbm5lY3Rpb25Qcm9wZXJ0aWVzIiBUeXBl +TmFtZT0idG5zOktleVZhbHVlUGFpciIgTGVuZ3RoRmllbGQ9Ik5vT2ZDb25uZWN0aW9uUHJvcGVy +dGllcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyYW5zcG9ydFNldHRpbmdzIiBUeXBlTmFt +ZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZldyaXRl +ckdyb3VwcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ildy +aXRlckdyb3VwcyIgVHlwZU5hbWU9InRuczpXcml0ZXJHcm91cERhdGFUeXBlIiBMZW5ndGhGaWVs +ZD0iTm9PZldyaXRlckdyb3VwcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWFkZXJH +cm91cHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWFk +ZXJHcm91cHMiIFR5cGVOYW1lPSJ0bnM6UmVhZGVyR3JvdXBEYXRhVHlwZSIgTGVuZ3RoRmllbGQ9 +Ik5vT2ZSZWFkZXJHcm91cHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIiBCYXNlVHlw +ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w +YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJOZXR3b3JrQWRkcmVzc0RhdGFUeXBlIiBCYXNlVHlwZT0i +dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5ldHdvcmtJbnRlcmZh +Y2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K +ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik5ldHdvcmtBZGRyZXNzVXJsRGF0YVR5cGUiIEJh +c2VUeXBlPSJ0bnM6TmV0d29ya0FkZHJlc3NEYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOZXR3b3JrSW50ZXJmYWNlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgU291cmNlVHlwZT0idG5z +Ok5ldHdvcmtBZGRyZXNzRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVcmwiIFR5 +cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj +OlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlYWRlckdyb3VwRGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6 +UHViU3ViR3JvdXBEYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFt +ZT0ib3BjOlN0cmluZyIgU291cmNlVHlwZT0idG5zOlB1YlN1Ykdyb3VwRGF0YVR5cGUiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJFbmFibGVkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIFNvdXJj +ZVR5cGU9InRuczpQdWJTdWJHcm91cERhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +U2VjdXJpdHlNb2RlIiBUeXBlTmFtZT0idG5zOk1lc3NhZ2VTZWN1cml0eU1vZGUiIFNvdXJjZVR5 +cGU9InRuczpQdWJTdWJHcm91cERhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vj +dXJpdHlHcm91cElkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgU291cmNlVHlwZT0idG5zOlB1YlN1 +Ykdyb3VwRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VjdXJpdHlLZXlT +ZXJ2aWNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNl +Y3VyaXR5S2V5U2VydmljZXMiIFR5cGVOYW1lPSJ0bnM6RW5kcG9pbnREZXNjcmlwdGlvbiIgTGVu +Z3RoRmllbGQ9Ik5vT2ZTZWN1cml0eUtleVNlcnZpY2VzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTWF4TmV0d29ya01lc3NhZ2VTaXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlw +ZT0idG5zOlB1YlN1Ykdyb3VwRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m +R3JvdXBQcm9wZXJ0aWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iR3JvdXBQcm9wZXJ0aWVzIiBUeXBlTmFtZT0idG5zOktleVZhbHVlUGFpciIgTGVuZ3Ro +RmllbGQ9Ik5vT2ZHcm91cFByb3BlcnRpZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFu +c3BvcnRTZXR0aW5ncyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik1lc3NhZ2VTZXR0aW5ncyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVj +dCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEYXRhU2V0UmVhZGVycyIgVHlwZU5hbWU9 +Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRSZWFkZXJzIiBUeXBl +TmFtZT0idG5zOkRhdGFTZXRSZWFkZXJEYXRhVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZEYXRhU2V0 +UmVhZGVycyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk +VHlwZSBOYW1lPSJSZWFkZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0 +ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 +cmVkVHlwZSBOYW1lPSJSZWFkZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4 +dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 +dXJlZFR5cGUgTmFtZT0iRGF0YVNldFJlYWRlckRhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5z +aW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJvcGM6U3Ry +aW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5hYmxlZCIgVHlwZU5hbWU9Im9wYzpCb29s +ZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaGVySWQiIFR5cGVOYW1lPSJ1YTpW +YXJpYW50IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVyR3JvdXBJZCIgVHlwZU5hbWU9 +Im9wYzpVSW50MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0V3JpdGVySWQiIFR5 +cGVOYW1lPSJvcGM6VUludDE2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVNldE1ldGFE +YXRhIiBUeXBlTmFtZT0idG5zOkRhdGFTZXRNZXRhRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJEYXRhU2V0RmllbGRDb250ZW50TWFzayIgVHlwZU5hbWU9InRuczpEYXRhU2V0Rmll +bGRDb250ZW50TWFzayIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2VSZWNlaXZlVGlt +ZW91dCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1 +cml0eU1vZGUiIFR5cGVOYW1lPSJ0bnM6TWVzc2FnZVNlY3VyaXR5TW9kZSIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlNlY3VyaXR5R3JvdXBJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VjdXJpdHlLZXlTZXJ2aWNlcyIgVHlwZU5hbWU9Im9w +YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5S2V5U2VydmljZXMiIFR5 +cGVOYW1lPSJ0bnM6RW5kcG9pbnREZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZWN1cml0 +eUtleVNlcnZpY2VzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRhdGFTZXRSZWFkZXJQ +cm9wZXJ0aWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +RGF0YVNldFJlYWRlclByb3BlcnRpZXMiIFR5cGVOYW1lPSJ0bnM6S2V5VmFsdWVQYWlyIiBMZW5n +dGhGaWVsZD0iTm9PZkRhdGFTZXRSZWFkZXJQcm9wZXJ0aWVzIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iVHJhbnNwb3J0U2V0dGluZ3MiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXNzYWdlU2V0dGluZ3MiIFR5cGVOYW1lPSJ1YTpFeHRl +bnNpb25PYmplY3QiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpYmVkRGF0YVNldCIg +VHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ +DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRhU2V0UmVhZGVyVHJhbnNwb3J0RGF0 +YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVk +VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFTZXRSZWFkZXJNZXNzYWdl +RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlN1YnNjcmliZWREYXRhU2V0 +RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRhcmdldFZhcmlhYmxlc0Rh +dGFUeXBlIiBCYXNlVHlwZT0idG5zOlN1YnNjcmliZWREYXRhU2V0RGF0YVR5cGUiPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTm9PZlRhcmdldFZhcmlhYmxlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldFZhcmlhYmxlcyIgVHlwZU5hbWU9InRuczpG +aWVsZFRhcmdldERhdGFUeXBlIiBMZW5ndGhGaWVsZD0iTm9PZlRhcmdldFZhcmlhYmxlcyIgLz4N +CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJG +aWVsZFRhcmdldERhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRGaWVsZElkIiBUeXBlTmFtZT0ib3BjOkd1aWQiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJSZWNlaXZlckluZGV4UmFuZ2UiIFR5cGVOYW1lPSJvcGM6U3Ry +aW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGFyZ2V0Tm9kZUlkIiBUeXBlTmFtZT0idWE6 +Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXR0cmlidXRlSWQiIFR5cGVOYW1lPSJv +cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVJbmRleFJhbmdlIiBUeXBl +TmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik92ZXJyaWRlVmFsdWVI +YW5kbGluZyIgVHlwZU5hbWU9InRuczpPdmVycmlkZVZhbHVlSGFuZGxpbmciIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJPdmVycmlkZVZhbHVlIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgLz4NCiAg +PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJPdmVy +cmlkZVZhbHVlSGFuZGxpbmciIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRl +ZFZhbHVlIE5hbWU9IkRpc2FibGVkIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJMYXN0VXNlYWJsZVZhbHVlIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1l +cmF0ZWRWYWx1ZSBOYW1lPSJPdmVycmlkZVZhbHVlIiBWYWx1ZT0iMiIgLz4NCiAgPC9vcGM6RW51 +bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTdWJzY3JpYmVkRGF0 +YVNldE1pcnJvckRhdGFUeXBlIiBCYXNlVHlwZT0idG5zOlN1YnNjcmliZWREYXRhU2V0RGF0YVR5 +cGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGFyZW50Tm9kZU5hbWUiIFR5cGVOYW1lPSJvcGM6 +U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJvbGVQZXJtaXNzaW9ucyIgVHlw +ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJvbGVQZXJtaXNzaW9u +cyIgVHlwZU5hbWU9InRuczpSb2xlUGVybWlzc2lvblR5cGUiIExlbmd0aEZpZWxkPSJOb09mUm9s +ZVBlcm1pc3Npb25zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj +dHVyZWRUeXBlIE5hbWU9IlB1YlN1YkNvbmZpZ3VyYXRpb25EYXRhVHlwZSIgQmFzZVR5cGU9InVh +OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUHVibGlzaGVkRGF0 +YVNldHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJs +aXNoZWREYXRhU2V0cyIgVHlwZU5hbWU9InRuczpQdWJsaXNoZWREYXRhU2V0RGF0YVR5cGUiIExl +bmd0aEZpZWxkPSJOb09mUHVibGlzaGVkRGF0YVNldHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mQ29ubmVjdGlvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJDb25uZWN0aW9ucyIgVHlwZU5hbWU9InRuczpQdWJTdWJDb25uZWN0aW9uRGF0YVR5 +cGUiIExlbmd0aEZpZWxkPSJOb09mQ29ubmVjdGlvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJFbmFibGVkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRGF0YVNldE9yZGVyaW5nVHlwZSIg +TGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVW5kZWZp +bmVkIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBc2NlbmRp +bmdXcml0ZXJJZCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i +QXNjZW5kaW5nV3JpdGVySWRTaW5nbGUiIFZhbHVlPSIyIiAvPg0KICA8L29wYzpFbnVtZXJhdGVk +VHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlVhZHBOZXR3b3JrTWVzc2FnZUNv +bnRlbnRNYXNrIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO +YW1lPSJQdWJsaXNoZXJJZCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg +TmFtZT0iR3JvdXBIZWFkZXIiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9IldyaXRlckdyb3VwSWQiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh +bHVlIE5hbWU9Ikdyb3VwVmVyc2lvbiIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk +VmFsdWUgTmFtZT0iTmV0d29ya01lc3NhZ2VOdW1iZXIiIFZhbHVlPSIxNiIgLz4NCiAgICA8b3Bj +OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTZXF1ZW5jZU51bWJlciIgVmFsdWU9IjMyIiAvPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlBheWxvYWRIZWFkZXIiIFZhbHVlPSI2NCIgLz4N +CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJUaW1lc3RhbXAiIFZhbHVlPSIxMjgiIC8+ +DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUGljb3NlY29uZHMiIFZhbHVlPSIyNTYi +IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGF0YVNldENsYXNzSWQiIFZhbHVl +PSI1MTIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUHJvbW90ZWRGaWVsZHMi +IFZhbHVlPSIxMDI0IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVj +dHVyZWRUeXBlIE5hbWU9IlVhZHBXcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIgQmFzZVR5cGU9 +InRuczpXcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJH +cm91cFZlcnNpb24iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iRGF0YVNldE9yZGVyaW5nIiBUeXBlTmFtZT0idG5zOkRhdGFTZXRPcmRlcmluZ1R5cGUiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiBUeXBlTmFt +ZT0idG5zOlVhZHBOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iU2FtcGxpbmdPZmZzZXQiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9PZlB1Ymxpc2hpbmdPZmZzZXQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nT2Zmc2V0IiBUeXBlTmFtZT0ib3BjOkRv +dWJsZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZQdWJsaXNoaW5nT2Zmc2V0IiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlVhZHBEYXRhU2V0TWVz +c2FnZUNvbnRlbnRNYXNrIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJUaW1lc3RhbXAiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh +bHVlIE5hbWU9IlBpY29TZWNvbmRzIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJTdGF0dXMiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9Ik1ham9yVmVyc2lvbiIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs +dWUgTmFtZT0iTWlub3JWZXJzaW9uIiBWYWx1ZT0iMTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk +VmFsdWUgTmFtZT0iU2VxdWVuY2VOdW1iZXIiIFZhbHVlPSIzMiIgLz4NCiAgPC9vcGM6RW51bWVy +YXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVYWRwRGF0YVNldFdyaXRl +ck1lc3NhZ2VEYXRhVHlwZSIgQmFzZVR5cGU9InRuczpEYXRhU2V0V3JpdGVyTWVzc2FnZURhdGFU +eXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIFR5 +cGVOYW1lPSJ0bnM6VWFkcERhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJDb25maWd1cmVkU2l6ZSIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJOZXR3b3JrTWVzc2FnZU51bWJlciIgVHlwZU5hbWU9Im9wYzpVSW50 +MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0T2Zmc2V0IiBUeXBlTmFtZT0ib3Bj +OlVJbnQxNiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk +VHlwZSBOYW1lPSJVYWRwRGF0YVNldFJlYWRlck1lc3NhZ2VEYXRhVHlwZSIgQmFzZVR5cGU9InRu +czpEYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikdy +b3VwVmVyc2lvbiIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOZXR3b3JrTWVzc2FnZU51bWJlciIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJEYXRhU2V0T2Zmc2V0IiBUeXBlTmFtZT0ib3BjOlVJbnQxNiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRDbGFzc0lkIiBUeXBlTmFtZT0ib3BjOkd1aWQiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiBUeXBlTmFt +ZT0idG5zOlVhZHBOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgVHlwZU5hbWU9InRuczpVYWRwRGF0YVNl +dE1lc3NhZ2VDb250ZW50TWFzayIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hpbmdJ +bnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS +ZWNlaXZlT2Zmc2V0IiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlByb2Nlc3NpbmdPZmZzZXQiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9Ikpzb25OZXR3b3Jr +TWVzc2FnZUNvbnRlbnRNYXNrIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0 +ZWRWYWx1ZSBOYW1lPSJOZXR3b3JrTWVzc2FnZUhlYWRlciIgVmFsdWU9IjEiIC8+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGF0YVNldE1lc3NhZ2VIZWFkZXIiIFZhbHVlPSIyIiAv +Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNpbmdsZURhdGFTZXRNZXNzYWdlIiBW +YWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJQdWJsaXNoZXJJZCIg +VmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGF0YVNldENsYXNz +SWQiIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZXBseVRv +IiBWYWx1ZT0iMzIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 +dXJlZFR5cGUgTmFtZT0iSnNvbldyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIiBCYXNlVHlwZT0i +dG5zOldyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5l +dHdvcmtNZXNzYWdlQ29udGVudE1hc2siIFR5cGVOYW1lPSJ0bnM6SnNvbk5ldHdvcmtNZXNzYWdl +Q29udGVudE1hc2siIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVy +YXRlZFR5cGUgTmFtZT0iSnNvbkRhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIExlbmd0aEluQml0 +cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRhdGFTZXRXcml0ZXJJZCIg +VmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTWV0YURhdGFWZXJz +aW9uIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTZXF1ZW5j +ZU51bWJlciIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVGlt +ZXN0YW1wIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTdGF0 +dXMiIFZhbHVlPSIxNiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 +Y3R1cmVkVHlwZSBOYW1lPSJKc29uRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSIgQmFzZVR5 +cGU9InRuczpEYXRhU2V0V3JpdGVyTWVzc2FnZURhdGFUeXBlIj4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkRhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIFR5cGVOYW1lPSJ0bnM6SnNvbkRhdGFTZXRN +ZXNzYWdlQ29udGVudE1hc2siIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iSnNvbkRhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiIEJh +c2VUeXBlPSJ0bnM6RGF0YVNldFJlYWRlck1lc3NhZ2VEYXRhVHlwZSI+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiBUeXBlTmFtZT0idG5zOkpzb25OZXR3 +b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVNldE1l +c3NhZ2VDb250ZW50TWFzayIgVHlwZU5hbWU9InRuczpKc29uRGF0YVNldE1lc3NhZ2VDb250ZW50 +TWFzayIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw +ZSBOYW1lPSJEYXRhZ3JhbUNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSIgQmFzZVR5cGU9InRu +czpDb25uZWN0aW9uVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlz +Y292ZXJ5QWRkcmVzcyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRhZ3JhbVdy +aXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6V3JpdGVyR3JvdXBUcmFu +c3BvcnREYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXNzYWdlUmVwZWF0Q291bnQi +IFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2VSZXBl +YXREZWxheSIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJva2VyQ29ubmVjdGlvblRyYW5zcG9y +dERhdGFUeXBlIiBCYXNlVHlwZT0idG5zOkNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSI+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNvdXJjZVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdXRoZW50aWNhdGlvblByb2ZpbGVVcmkiIFR5cGVOYW1l +PSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1l +cmF0ZWRUeXBlIE5hbWU9IkJyb2tlclRyYW5zcG9ydFF1YWxpdHlPZlNlcnZpY2UiIExlbmd0aElu +Qml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vdFNwZWNpZmllZCIg +VmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQmVzdEVmZm9ydCIg +VmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQXRMZWFzdE9uY2Ui +IFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkF0TW9zdE9uY2Ui +IFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkV4YWN0bHlPbmNl +IiBWYWx1ZT0iNCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 +cmVkVHlwZSBOYW1lPSJCcm9rZXJXcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiBCYXNlVHlw +ZT0idG5zOldyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iUXVldWVOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlJlc291cmNlVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkF1dGhlbnRpY2F0aW9uUHJvZmlsZVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWREZWxpdmVyeUd1YXJhbnRlZSIgVHlwZU5h +bWU9InRuczpCcm9rZXJUcmFuc3BvcnRRdWFsaXR5T2ZTZXJ2aWNlIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb2tlckRhdGFTZXRX +cml0ZXJUcmFuc3BvcnREYXRhVHlwZSIgQmFzZVR5cGU9InRuczpEYXRhU2V0V3JpdGVyVHJhbnNw +b3J0RGF0YVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVldWVOYW1lIiBUeXBlTmFtZT0i +b3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc291cmNlVXJpIiBUeXBlTmFt +ZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF1dGhlbnRpY2F0aW9uUHJv +ZmlsZVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJN +ZXRhRGF0YVF1ZXVlTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJNZXRhRGF0YVVwZGF0ZVRpbWUiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICA8 +L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb2tl +ckRhdGFTZXRSZWFkZXJUcmFuc3BvcnREYXRhVHlwZSIgQmFzZVR5cGU9InRuczpEYXRhU2V0UmVh +ZGVyVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVldWVOYW1lIiBU +eXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc291cmNlVXJp +IiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF1dGhlbnRp +Y2F0aW9uUHJvZmlsZVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZXF1ZXN0ZWREZWxpdmVyeUd1YXJhbnRlZSIgVHlwZU5hbWU9InRuczpCcm9rZXJU +cmFuc3BvcnRRdWFsaXR5T2ZTZXJ2aWNlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWV0YURh +dGFRdWV1ZU5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk +VHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkRpYWdub3N0aWNzTGV2ZWwiIExl +bmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJhc2ljIiBW +YWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBZHZhbmNlZCIgVmFs +dWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW5mbyIgVmFsdWU9IjIi +IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTG9nIiBWYWx1ZT0iMyIgLz4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEZWJ1ZyIgVmFsdWU9IjQiIC8+DQogIDwvb3Bj +OkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iUHViU3ViRGlh +Z25vc3RpY3NDb3VudGVyQ2xhc3NpZmljYXRpb24iIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxv +cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkluZm9ybWF0aW9uIiBWYWx1ZT0iMCIgLz4NCiAgICA8 +b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJFcnJvciIgVmFsdWU9IjEiIC8+DQogIDwvb3BjOkVu +dW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iSWRUeXBlIiBMZW5n +dGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHR5cGUgb2YgaWRlbnRp +ZmllciB1c2VkIGluIGEgbm9kZSBpZC48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9Ik51bWVyaWMiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVy +YXRlZFZhbHVlIE5hbWU9IlN0cmluZyIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk +VmFsdWUgTmFtZT0iR3VpZCIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg +TmFtZT0iT3BhcXVlIiBWYWx1ZT0iMyIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAg +PG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJOb2RlQ2xhc3MiIExlbmd0aEluQml0cz0iMzIiPg0K +ICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIG1hc2sgc3BlY2lmeWluZyB0aGUgY2xhc3Mgb2YgdGhl +IG5vZGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l +PSJVbnNwZWNpZmllZCIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt +ZT0iT2JqZWN0IiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJW +YXJpYWJsZSIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTWV0 +aG9kIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJPYmplY3RU +eXBlIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJWYXJpYWJs +ZVR5cGUiIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWZl +cmVuY2VUeXBlIiBWYWx1ZT0iMzIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i +RGF0YVR5cGUiIFZhbHVlPSI2NCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJW +aWV3IiBWYWx1ZT0iMTI4IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVu +dW1lcmF0ZWRUeXBlIE5hbWU9IkFjY2Vzc0xldmVsVHlwZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQog +ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ3VycmVudFJlYWQiIFZhbHVlPSIxIiAvPg0KICAgIDxv +cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkN1cnJlbnRXcml0ZSIgVmFsdWU9IjIiIC8+DQogICAg +PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSGlzdG9yeVJlYWQiIFZhbHVlPSI0IiAvPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikhpc3RvcnlXcml0ZSIgVmFsdWU9IjE2IiAvPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN0YXR1c1dyaXRlIiBWYWx1ZT0iMzIiIC8+ +DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVGltZXN0YW1wV3JpdGUiIFZhbHVlPSI2 +NCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBO +YW1lPSJBY2Nlc3NMZXZlbEV4VHlwZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVt +ZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk +VmFsdWUgTmFtZT0iQ3VycmVudFJlYWQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRl +ZFZhbHVlIE5hbWU9IkN1cnJlbnRXcml0ZSIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJh +dGVkVmFsdWUgTmFtZT0iSGlzdG9yeVJlYWQiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVy +YXRlZFZhbHVlIE5hbWU9Ikhpc3RvcnlXcml0ZSIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IlN0YXR1c1dyaXRlIiBWYWx1ZT0iMzIiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iVGltZXN0YW1wV3JpdGUiIFZhbHVlPSI2NCIgLz4NCiAgICA8 +b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25hdG9taWNSZWFkIiBWYWx1ZT0iNjU1MzYiIC8+ +DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uYXRvbWljV3JpdGUiIFZhbHVlPSIx +MzEwNzIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iV3JpdGVGdWxsQXJyYXlP +bmx5IiBWYWx1ZT0iMjYyMTQ0IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3Bj +OkVudW1lcmF0ZWRUeXBlIE5hbWU9IkV2ZW50Tm90aWZpZXJUeXBlIiBMZW5ndGhJbkJpdHM9IjMy +Ij4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25lIiBWYWx1ZT0iMCIgLz4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTdWJzY3JpYmVUb0V2ZW50cyIgVmFsdWU9IjEi +IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSGlzdG9yeVJlYWQiIFZhbHVlPSI0 +IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikhpc3RvcnlXcml0ZSIgVmFsdWU9 +IjgiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iUm9sZVBlcm1pc3Npb25UeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJvbGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlBlcm1pc3Npb25zIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N +CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJT +dHJ1Y3R1cmVUeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 +ZSBOYW1lPSJTdHJ1Y3R1cmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9IlN0cnVjdHVyZVdpdGhPcHRpb25hbEZpZWxkcyIgVmFsdWU9IjEiIC8+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVW5pb24iIFZhbHVlPSIyIiAvPg0KICA8L29wYzpFbnVt +ZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlN0cnVjdHVyZUZpZWxk +IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5h +bWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3Jp +cHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iRGF0YVR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJWYWx1ZVJhbmsiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3Ro +RmllbGQ9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhT +dHJpbmdMZW5ndGgiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iSXNPcHRpb25hbCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlN0cnVjdHVyZURlZmluaXRp +b24iIEJhc2VUeXBlPSJ0bnM6RGF0YVR5cGVEZWZpbml0aW9uIj4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkRlZmF1bHRFbmNvZGluZ0lkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iQmFzZURhdGFUeXBlIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iU3RydWN0dXJlVHlwZSIgVHlwZU5hbWU9InRuczpTdHJ1Y3R1cmVUeXBl +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkZpZWxkcyIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpZWxkcyIgVHlwZU5hbWU9InRuczpTdHJ1Y3R1 +cmVGaWVsZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZGaWVsZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRW51bURlZmluaXRpb24iIEJhc2VU +eXBlPSJ0bnM6RGF0YVR5cGVEZWZpbml0aW9uIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZG +aWVsZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWVs +ZHMiIFR5cGVOYW1lPSJ0bnM6RW51bUZpZWxkIiBMZW5ndGhGaWVsZD0iTm9PZkZpZWxkcyIgLz4N +CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJO +b2RlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRp +b24+U3BlY2lmaWVzIHRoZSBhdHRyaWJ1dGVzIHdoaWNoIGJlbG9uZyB0byBhbGwgbm9kZXMuPC9v +cGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9 +InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9 +InRuczpOb2RlQ2xhc3MiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBl +TmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlO +YW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJ0bnM6 +Um9sZVBlcm1pc3Npb25UeXBlIiBMZW5ndGhGaWVsZD0iTm9PZlJvbGVQZXJtaXNzaW9ucyIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZVc2VyUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0i +b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlclJvbGVQZXJtaXNzaW9ucyIg +VHlwZU5hbWU9InRuczpSb2xlUGVybWlzc2lvblR5cGUiIExlbmd0aEZpZWxkPSJOb09mVXNlclJv +bGVQZXJtaXNzaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFjY2Vzc1Jlc3RyaWN0aW9u +cyIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVm +ZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl +ZmVyZW5jZXMiIFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlTm9kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZS +ZWZlcmVuY2VzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy +ZWRUeXBlIE5hbWU9Ikluc3RhbmNlTm9kZSIgQmFzZVR5cGU9InRuczpOb2RlIj4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5z +Ok5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6 +Tm9kZUNsYXNzIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBTb3VyY2VUeXBlPSJ0bnM6 +Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6 +TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9 +InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0i +b3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5v +ZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFt +ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUm9sZVBlcm1pc3Npb25zIiBU +eXBlTmFtZT0idG5zOlJvbGVQZXJtaXNzaW9uVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSb2xlUGVy +bWlzc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVXNlclJvbGVQZXJtaXNzaW9u +cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJSb2xl +UGVybWlzc2lvbnMiIFR5cGVOYW1lPSJ0bnM6Um9sZVBlcm1pc3Npb25UeXBlIiBMZW5ndGhGaWVs +ZD0iTm9PZlVzZXJSb2xlUGVybWlzc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBY2Nl +c3NSZXN0cmljdGlvbnMiIFR5cGVOYW1lPSJvcGM6VUludDE2IiBTb3VyY2VUeXBlPSJ0bnM6Tm9k +ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3Bj +OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRu +czpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVHlwZU5vZGUi +IEJhc2VUeXBlPSJ0bnM6Tm9kZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVO +YW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgU291cmNlVHlwZT0idG5z +Ok5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6 +UXVhbGlmaWVkTmFtZSIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9 +InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1l +PSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRu +czpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9 +Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTm9PZlJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9InRuczpSb2xlUGVybWlzc2lv +blR5cGUiIExlbmd0aEZpZWxkPSJOb09mUm9sZVBlcm1pc3Npb25zIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9PZlVzZXJSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0idG5z +OlJvbGVQZXJtaXNzaW9uVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZVc2VyUm9sZVBlcm1pc3Npb25z +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWNjZXNzUmVzdHJpY3Rpb25zIiBUeXBlTmFtZT0i +b3BjOlVJbnQxNiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mUmVmZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlTm9kZSIgTGVuZ3RoRmll +bGQ9Ik5vT2ZSZWZlcmVuY2VzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj +OlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik9iamVjdE5vZGUiIEJhc2VUeXBlPSJ0bnM6SW5zdGFuY2VO +b2RlIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+U3BlY2lmaWVzIHRoZSBhdHRyaWJ1dGVzIHdo +aWNoIGJlbG9uZyB0byBvYmplY3Qgbm9kZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5z +Ok5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6 +Tm9kZUNsYXNzIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBTb3VyY2VUeXBlPSJ0bnM6 +Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6 +TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9 +InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0i +b3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5v +ZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFt +ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUm9sZVBlcm1pc3Npb25zIiBU +eXBlTmFtZT0idG5zOlJvbGVQZXJtaXNzaW9uVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSb2xlUGVy +bWlzc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVXNlclJvbGVQZXJtaXNzaW9u +cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJSb2xl +UGVybWlzc2lvbnMiIFR5cGVOYW1lPSJ0bnM6Um9sZVBlcm1pc3Npb25UeXBlIiBMZW5ndGhGaWVs +ZD0iTm9PZlVzZXJSb2xlUGVybWlzc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBY2Nl +c3NSZXN0cmljdGlvbnMiIFR5cGVOYW1lPSJvcGM6VUludDE2IiBTb3VyY2VUeXBlPSJ0bnM6Tm9k +ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3Bj +OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRu +czpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJFdmVudE5vdGlmaWVyIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwv +b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iT2JqZWN0 +VHlwZU5vZGUiIEJhc2VUeXBlPSJ0bnM6VHlwZU5vZGUiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlv +bj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIG9iamVjdCB0eXBlIG5v +ZGVzLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5 +cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgU291cmNlVHlwZT0i +dG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0i +dWE6UXVhbGlmaWVkTmFtZSIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5 +cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVO +YW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9 +InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5h +bWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTm9PZlJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9InRuczpSb2xlUGVybWlz +c2lvblR5cGUiIExlbmd0aEZpZWxkPSJOb09mUm9sZVBlcm1pc3Npb25zIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9PZlVzZXJSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0i +dG5zOlJvbGVQZXJtaXNzaW9uVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZVc2VyUm9sZVBlcm1pc3Np +b25zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWNjZXNzUmVzdHJpY3Rpb25zIiBUeXBlTmFt +ZT0ib3BjOlVJbnQxNiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJOb09mUmVmZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlTm9kZSIgTGVuZ3Ro +RmllbGQ9Ik5vT2ZSZWZlcmVuY2VzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNBYnN0cmFj +dCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K +ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlZhcmlhYmxlTm9kZSIgQmFzZVR5cGU9InRuczpJ +bnN0YW5jZU5vZGUiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJp +YnV0ZXMgd2hpY2ggYmVsb25nIHRvIHZhcmlhYmxlIG5vZGVzLjwvb3BjOkRvY3VtZW50YXRpb24+ +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 +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWUiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZVJhbmsiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0i +b3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJBY2Nlc3NMZXZlbCIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iVXNlckFjY2Vzc0xldmVsIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9w +YzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJIaXN0b3JpemluZyIgVHlwZU5hbWU9 +Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWNjZXNzTGV2ZWxFeCIgVHlw +ZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iVmFyaWFibGVUeXBlTm9kZSIgQmFzZVR5cGU9InRuczpUeXBl +Tm9kZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0cmlidXRlcyB3 +aGljaCBiZWxvbmcgdG8gdmFyaWFibGUgdHlwZSBub2Rlcy48L29wYzpEb2N1bWVudGF0aW9uPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VU +eXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5h +bWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5 +cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVO +YW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291 +cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5 +cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBl +PSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSb2xlUGVybWlzc2lvbnMi +IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSb2xlUGVybWlz +c2lvbnMiIFR5cGVOYW1lPSJ0bnM6Um9sZVBlcm1pc3Npb25UeXBlIiBMZW5ndGhGaWVsZD0iTm9P +ZlJvbGVQZXJtaXNzaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZVc2VyUm9sZVBl +cm1pc3Npb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +VXNlclJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9InRuczpSb2xlUGVybWlzc2lvblR5cGUiIExl +bmd0aEZpZWxkPSJOb09mVXNlclJvbGVQZXJtaXNzaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkFjY2Vzc1Jlc3RyaWN0aW9ucyIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIFNvdXJjZVR5cGU9 +InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVO +YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBl +TmFtZT0idG5zOlJlZmVyZW5jZU5vZGUiIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlcyIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFUeXBlIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iVmFsdWVSYW5rIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTm9PZkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9w +YzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mQXJyYXlEaW1lbnNpb25zIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iSXNBYnN0cmFjdCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29w +YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlZmVyZW5j +ZVR5cGVOb2RlIiBCYXNlVHlwZT0idG5zOlR5cGVOb2RlIj4NCiAgICA8b3BjOkRvY3VtZW50YXRp +b24+U3BlY2lmaWVzIHRoZSBhdHRyaWJ1dGVzIHdoaWNoIGJlbG9uZyB0byByZWZlcmVuY2UgdHlw +ZSBub2Rlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlk +IiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5 +cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5h +bWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3Vy +Y2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBU +eXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VU +eXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5 +cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vT2ZSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJ0bnM6Um9sZVBl +cm1pc3Npb25UeXBlIiBMZW5ndGhGaWVsZD0iTm9PZlJvbGVQZXJtaXNzaW9ucyIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik5vT2ZVc2VyUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlclJvbGVQZXJtaXNzaW9ucyIgVHlwZU5h +bWU9InRuczpSb2xlUGVybWlzc2lvblR5cGUiIExlbmd0aEZpZWxkPSJOb09mVXNlclJvbGVQZXJt +aXNzaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFjY2Vzc1Jlc3RyaWN0aW9ucyIgVHlw +ZU5hbWU9Im9wYzpVSW50MTYiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBlTmFtZT0idG5zOlJlZmVyZW5jZU5vZGUiIExl +bmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJz +dHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN5 +bW1ldHJpYyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +SW52ZXJzZU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1ldGhvZE5vZGUiIEJh +c2VUeXBlPSJ0bnM6SW5zdGFuY2VOb2RlIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+U3BlY2lm +aWVzIHRoZSBhdHRyaWJ1dGVzIHdoaWNoIGJlbG9uZyB0byBtZXRob2Qgbm9kZXMuPC9vcGM6RG9j +dW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5v +ZGVJZCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rl +Q2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNzIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWRO +YW1lIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3Bs +YXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2Fs +aXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +V3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQz +MiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUm9s +ZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0idG5zOlJvbGVQZXJtaXNzaW9uVHlwZSIgTGVu +Z3RoRmllbGQ9Ik5vT2ZSb2xlUGVybWlzc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO +b09mVXNlclJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlVzZXJSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJ0bnM6Um9sZVBlcm1p +c3Npb25UeXBlIiBMZW5ndGhGaWVsZD0iTm9PZlVzZXJSb2xlUGVybWlzc2lvbnMiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJBY2Nlc3NSZXN0cmljdGlvbnMiIFR5cGVOYW1lPSJvcGM6VUludDE2 +IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZl +cmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVm +ZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJl +ZmVyZW5jZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFeGVjdXRhYmxlIiBUeXBlTmFtZT0i +b3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyRXhlY3V0YWJsZSIgVHlw +ZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj +OlN0cnVjdHVyZWRUeXBlIE5hbWU9IlZpZXdOb2RlIiBCYXNlVHlwZT0idG5zOkluc3RhbmNlTm9k +ZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNv +dXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNsYXNzIiBU +eXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgU291 +cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIg +VHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0 +IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFz +ayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJj +ZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJvbGVQZXJtaXNz +aW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJvbGVQ +ZXJtaXNzaW9ucyIgVHlwZU5hbWU9InRuczpSb2xlUGVybWlzc2lvblR5cGUiIExlbmd0aEZpZWxk +PSJOb09mUm9sZVBlcm1pc3Npb25zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlVzZXJS +b2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJVc2VyUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0idG5zOlJvbGVQZXJtaXNzaW9uVHlw +ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZVc2VyUm9sZVBlcm1pc3Npb25zIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iQWNjZXNzUmVzdHJpY3Rpb25zIiBUeXBlTmFtZT0ib3BjOlVJbnQxNiIgU291cmNl +VHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlcyIg +VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXMi +IFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlTm9kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2Vz +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29udGFpbnNOb0xvb3BzIiBUeXBlTmFtZT0ib3Bj +OkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVudE5vdGlmaWVyIiBUeXBlTmFt +ZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 +dXJlZFR5cGUgTmFtZT0iRGF0YVR5cGVOb2RlIiBCYXNlVHlwZT0idG5zOlR5cGVOb2RlIj4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlw +ZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1l +PSJ0bnM6Tm9kZUNsYXNzIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBTb3VyY2VUeXBl +PSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFt +ZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJj +ZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBl +TmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0i +dG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUm9sZVBlcm1pc3Npb25zIiBU +eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUm9sZVBlcm1pc3Np +b25zIiBUeXBlTmFtZT0idG5zOlJvbGVQZXJtaXNzaW9uVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZS +b2xlUGVybWlzc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVXNlclJvbGVQZXJt +aXNzaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVz +ZXJSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJ0bnM6Um9sZVBlcm1pc3Npb25UeXBlIiBMZW5n +dGhGaWVsZD0iTm9PZlVzZXJSb2xlUGVybWlzc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJBY2Nlc3NSZXN0cmljdGlvbnMiIFR5cGVOYW1lPSJvcGM6VUludDE2IiBTb3VyY2VUeXBlPSJ0 +bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFt +ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5h +bWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJJc0Fic3RyYWN0IiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZURlZmluaXRpb24iIFR5cGVOYW1lPSJ1YTpF +eHRlbnNpb25PYmplY3QiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry +dWN0dXJlZFR5cGUgTmFtZT0iUmVmZXJlbmNlTm9kZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlNwZWNpZmllcyBhIHJlZmVyZW5jZSB3aGlj +aCBiZWxvbmdzIHRvIGEgbm9kZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iUmVmZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iSXNJbnZlcnNlIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJUYXJnZXRJZCIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0K +ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFy +Z3VtZW50IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50 +YXRpb24+QW4gYXJndW1lbnQgZm9yIGEgbWV0aG9kLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IkRhdGFUeXBlIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iVmFsdWVSYW5rIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9PZkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpVSW50 +MzIiIExlbmd0aEZpZWxkPSJOb09mQXJyYXlEaW1lbnNpb25zIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICA8L29w +YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkVudW1WYWx1 +ZVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRh +dGlvbj5BIG1hcHBpbmcgYmV0d2VlbiBhIHZhbHVlIG9mIGFuIGVudW1lcmF0ZWQgdHlwZSBhbmQg +YSBuYW1lIGFuZCBkZXNjcmlwdGlvbi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iVmFsdWUiIFR5cGVOYW1lPSJvcGM6SW50NjQiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+ +DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i +RW51bUZpZWxkIiBCYXNlVHlwZT0idG5zOkVudW1WYWx1ZVR5cGUiPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iVmFsdWUiIFR5cGVOYW1lPSJvcGM6SW50NjQiIFNvdXJjZVR5cGU9InRuczpFbnVtVmFs +dWVUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1 +YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6RW51bVZhbHVlVHlwZSIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIg +U291cmNlVHlwZT0idG5zOkVudW1WYWx1ZVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO +YW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJPcHRpb25TZXQiIEJhc2VUeXBlPSJ1YTpFeHRl +bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGlzIGFic3RyYWN0IFN0cnVj +dHVyZWQgRGF0YVR5cGUgaXMgdGhlIGJhc2UgRGF0YVR5cGUgZm9yIGFsbCBEYXRhVHlwZXMgcmVw +cmVzZW50aW5nIGEgYml0IG1hc2suPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJWYWxpZEJpdHMiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVbmlvbiIgQmFz +ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoaXMg +YWJzdHJhY3QgRGF0YVR5cGUgaXMgdGhlIGJhc2UgRGF0YVR5cGUgZm9yIGFsbCB1bmlvbiBEYXRh +VHlwZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg +PG9wYzpPcGFxdWVUeXBlIE5hbWU9Ik5vcm1hbGl6ZWRTdHJpbmciPg0KICAgIDxvcGM6RG9jdW1l +bnRhdGlvbj5BIHN0cmluZyBub3JtYWxpemVkIGJhc2VkIG9uIHRoZSBydWxlcyBpbiB0aGUgdW5p +Y29kZSBzcGVjaWZpY2F0aW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5 +cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkRlY2ltYWxTdHJpbmciPg0KICAgIDxvcGM6 +RG9jdW1lbnRhdGlvbj5BbiBhcmJpdHJhdHkgbnVtZXJpYyB2YWx1ZS48L29wYzpEb2N1bWVudGF0 +aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJEdXJh +dGlvblN0cmluZyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgcGVyaW9kIG9mIHRpbWUgZm9y +bWF0dGVkIGFzIGRlZmluZWQgaW4gSVNPIDg2MDEtMjAwMC48L29wYzpEb2N1bWVudGF0aW9uPg0K +ICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJUaW1lU3RyaW5n +Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSB0aW1lIGZvcm1hdHRlZCBhcyBkZWZpbmVkIGlu +IElTTyA4NjAxLTIwMDAuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4N +Cg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iRGF0ZVN0cmluZyI+DQogICAgPG9wYzpEb2N1bWVu +dGF0aW9uPkEgZGF0ZSBmb3JtYXR0ZWQgYXMgZGVmaW5lZCBpbiBJU08gODYwMS0yMDAwLjwvb3Bj +OkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBl +IE5hbWU9IkR1cmF0aW9uIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBwZXJpb2Qgb2YgdGlt +ZSBtZWFzdXJlZCBpbiBtaWxsaXNlY29uZHMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6 +T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iVXRjVGltZSI+DQogICAgPG9w +YzpEb2N1bWVudGF0aW9uPkEgZGF0ZS90aW1lIHZhbHVlIHNwZWNpZmllZCBpbiBVbml2ZXJzYWwg +Q29vcmRpbmF0ZWQgVGltZSAoVVRDKS48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFx +dWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJMb2NhbGVJZCI+DQogICAgPG9wYzpE +b2N1bWVudGF0aW9uPkFuIGlkZW50aWZpZXIgZm9yIGEgdXNlciBsb2NhbGUuPC9vcGM6RG9jdW1l +bnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9IlRpbWVab25lRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iT2Zmc2V0IiBUeXBlTmFtZT0ib3BjOkludDE2IiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iRGF5bGlnaHRTYXZpbmdJbk9mZnNldCIgVHlwZU5hbWU9Im9wYzpCb29s +ZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFt +ZT0iSW50ZWdlcklkIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBudW1lcmljIGlkZW50aWZp +ZXIgZm9yIGFuIG9iamVjdC48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBl +Pg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iQXBwbGljYXRpb25UeXBlIiBMZW5ndGhJ +bkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHR5cGVzIG9mIGFwcGxpY2F0 +aW9ucy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 +IlNlcnZlciIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ2xp +ZW50IiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDbGllbnRB +bmRTZXJ2ZXIiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRp +c2NvdmVyeVNlcnZlciIgVmFsdWU9IjMiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQog +IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQXBwbGljYXRpb25EZXNjcmlwdGlvbiIgQmFzZVR5 +cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkRlc2NyaWJl +cyBhbiBhcHBsaWNhdGlvbiBhbmQgaG93IHRvIGZpbmQgaXQuPC9vcGM6RG9jdW1lbnRhdGlvbj4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkFwcGxpY2F0aW9uVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmlu +ZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByb2R1Y3RVcmkiIFR5cGVOYW1lPSJvcGM6U3Ry +aW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXBwbGljYXRpb25OYW1lIiBUeXBlTmFtZT0i +dWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFwcGxpY2F0aW9uVHlw +ZSIgVHlwZU5hbWU9InRuczpBcHBsaWNhdGlvblR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJHYXRld2F5U2VydmVyVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkRpc2NvdmVyeVByb2ZpbGVVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpc2NvdmVyeVVybHMiIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNjb3ZlcnlVcmxzIiBUeXBlTmFtZT0ib3Bj +OlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaXNjb3ZlcnlVcmxzIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlcXVlc3RIZWFkZXIi +IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5U +aGUgaGVhZGVyIHBhc3NlZCB3aXRoIGV2ZXJ5IHNlcnZlciByZXF1ZXN0Ljwvb3BjOkRvY3VtZW50 +YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdXRoZW50aWNhdGlvblRva2VuIiBUeXBlTmFt +ZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGltZXN0YW1wIiBUeXBlTmFt +ZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhhbmRsZSIg +VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXR1cm5EaWFn +bm9zdGljcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJB +dWRpdEVudHJ5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iVGltZW91dEhpbnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iQWRkaXRpb25hbEhlYWRlciIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4N +CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJS +ZXNwb25zZUhlYWRlciIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpE +b2N1bWVudGF0aW9uPlRoZSBoZWFkZXIgcGFzc2VkIHdpdGggZXZlcnkgc2VydmVyIHJlc3BvbnNl +Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lc3RhbXAiIFR5 +cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGFu +ZGxlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZp +Y2VSZXN1bHQiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iU2VydmljZURpYWdub3N0aWNzIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU3RyaW5nVGFibGUiIFR5cGVOYW1lPSJvcGM6SW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdHJpbmdUYWJsZSIgVHlwZU5hbWU9Im9wYzpTdHJp +bmciIExlbmd0aEZpZWxkPSJOb09mU3RyaW5nVGFibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJBZGRpdGlvbmFsSGVhZGVyIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICA8 +L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iVmVyc2lvblRp +bWUiPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i +U2VydmljZUZhdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRv +Y3VtZW50YXRpb24+VGhlIHJlc3BvbnNlIHJldHVybmVkIGJ5IGFsbCBzZXJ2aWNlcyB3aGVuIHRo +ZXJlIGlzIGEgc2VydmljZSBsZXZlbCBlcnJvci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFk +ZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iU2Vzc2lvbmxlc3NJbnZva2VSZXF1ZXN0VHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lv +bk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVXJpc1ZlcnNpb24iIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVcmlzVmVyc2lvbiIgVHlwZU5h +bWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mVXJpc1ZlcnNpb24iIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOb09mTmFtZXNwYWNlVXJpcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWVzcGFjZVVyaXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5n +IiBMZW5ndGhGaWVsZD0iTm9PZk5hbWVzcGFjZVVyaXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mU2VydmVyVXJpcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlNlcnZlclVyaXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9P +ZlNlcnZlclVyaXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTG9jYWxlSWRzIiBUeXBl +TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTG9jYWxlSWRzIiBUeXBl +TmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZMb2NhbGVJZHMiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJTZXJ2aWNlSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29w +YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNlc3Npb25s +ZXNzSW52b2tlUmVzcG9uc2VUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOYW1lc3BhY2VVcmlzIiBUeXBlTmFtZT0ib3BjOkludDMy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmFtZXNwYWNlVXJpcyIgVHlwZU5hbWU9Im9wYzpT +dHJpbmciIExlbmd0aEZpZWxkPSJOb09mTmFtZXNwYWNlVXJpcyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vT2ZTZXJ2ZXJVcmlzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iU2VydmVyVXJpcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxk +PSJOb09mU2VydmVyVXJpcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZpY2VJZCIgVHlw +ZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iRmluZFNlcnZlcnNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0 +ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+RmluZHMgdGhlIHNlcnZlcnMg +a25vd24gdG8gdGhlIGRpc2NvdmVyeSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRl +ciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZHBvaW50VXJsIiBUeXBlTmFtZT0ib3BjOlN0 +cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZMb2NhbGVJZHMiIFR5cGVOYW1lPSJv +cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMb2NhbGVJZHMiIFR5cGVOYW1lPSJv +cGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZkxvY2FsZUlkcyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vT2ZTZXJ2ZXJVcmlzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iU2VydmVyVXJpcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxk +PSJOb09mU2VydmVyVXJpcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT +dHJ1Y3R1cmVkVHlwZSBOYW1lPSJGaW5kU2VydmVyc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0 +ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+RmluZHMgdGhlIHNlcnZlcnMg +a25vd24gdG8gdGhlIGRpc2NvdmVyeSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVh +ZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlcnZlcnMiIFR5cGVOYW1lPSJvcGM6 +SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJzIiBUeXBlTmFtZT0idG5zOkFw +cGxpY2F0aW9uRGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mU2VydmVycyIgLz4NCiAgPC9v +cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXJ2ZXJP +bk5ldHdvcmsiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iUmVjb3JkSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iU2VydmVyTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJEaXNjb3ZlcnlVcmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9PZlNlcnZlckNhcGFiaWxpdGllcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlckNhcGFiaWxpdGllcyIgVHlwZU5hbWU9Im9w +YzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mU2VydmVyQ2FwYWJpbGl0aWVzIiAvPg0KICA8L29w +YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkZpbmRTZXJ2 +ZXJzT25OZXR3b3JrUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFk +ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGFydGluZ1JlY29yZElkIiBUeXBlTmFtZT0i +b3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heFJlY29yZHNUb1JldHVybiIg +VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VydmVy +Q2FwYWJpbGl0eUZpbHRlciIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlNlcnZlckNhcGFiaWxpdHlGaWx0ZXIiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5n +dGhGaWVsZD0iTm9PZlNlcnZlckNhcGFiaWxpdHlGaWx0ZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRmluZFNlcnZlcnNPbk5ldHdv +cmtSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxhc3RDb3VudGVyUmVzZXRUaW1lIiBUeXBlTmFtZT0ib3Bj +OkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlcnZlcnMiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJzIiBUeXBlTmFtZT0i +dG5zOlNlcnZlck9uTmV0d29yayIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJzIiAvPg0KICA8L29w +YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iQXBwbGljYXRpb25J +bnN0YW5jZUNlcnRpZmljYXRlIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBjZXJ0aWZpY2F0 +ZSBmb3IgYW4gaW5zdGFuY2Ugb2YgYW4gYXBwbGljYXRpb24uPC9vcGM6RG9jdW1lbnRhdGlvbj4N +CiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9Ik1lc3Nh +Z2VTZWN1cml0eU1vZGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlv +bj5UaGUgdHlwZSBvZiBzZWN1cml0eSB0byB1c2Ugb24gYSBtZXNzYWdlLjwvb3BjOkRvY3VtZW50 +YXRpb24+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW52YWxpZCIgVmFsdWU9IjAi +IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjEiIC8+DQog +ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU2lnbiIgVmFsdWU9IjIiIC8+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU2lnbkFuZEVuY3J5cHQiIFZhbHVlPSIzIiAvPg0KICA8 +L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlVzZXJU +b2tlblR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUg +cG9zc2libGUgdXNlciB0b2tlbiB0eXBlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6 +RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFub255bW91cyIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iVXNlck5hbWUiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IkNlcnRpZmljYXRlIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVu +dW1lcmF0ZWRWYWx1ZSBOYW1lPSJJc3N1ZWRUb2tlbiIgVmFsdWU9IjMiIC8+DQogIDwvb3BjOkVu +dW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVXNlclRva2VuUG9s +aWN5IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRp +b24+RGVzY3JpYmVzIGEgdXNlciB0b2tlbiB0aGF0IGNhbiBiZSB1c2VkIHdpdGggYSBzZXJ2ZXIu +PC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBvbGljeUlkIiBUeXBl +TmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRva2VuVHlwZSIgVHlw +ZU5hbWU9InRuczpVc2VyVG9rZW5UeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNzdWVk +VG9rZW5UeXBlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Iklzc3VlckVuZHBvaW50VXJsIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlNlY3VyaXR5UG9saWN5VXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAg +PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFbmRw +b2ludERlc2NyaXB0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj +OkRvY3VtZW50YXRpb24+VGhlIGRlc2NyaXB0aW9uIG9mIGEgZW5kcG9pbnQgdGhhdCBjYW4gYmUg +dXNlZCB0byBhY2Nlc3MgYSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkVuZHBvaW50VXJsIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlNlcnZlciIgVHlwZU5hbWU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9u +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyQ2VydGlmaWNhdGUiIFR5cGVOYW1lPSJv +cGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TW9kZSIgVHlw +ZU5hbWU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +U2VjdXJpdHlQb2xpY3lVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9PZlVzZXJJZGVudGl0eVRva2VucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJJZGVudGl0eVRva2VucyIgVHlwZU5hbWU9InRuczpV +c2VyVG9rZW5Qb2xpY3kiIExlbmd0aEZpZWxkPSJOb09mVXNlcklkZW50aXR5VG9rZW5zIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNwb3J0UHJvZmlsZVVyaSIgVHlwZU5hbWU9Im9wYzpT +dHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eUxldmVsIiBUeXBlTmFtZT0i +b3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl +ZFR5cGUgTmFtZT0iR2V0RW5kcG9pbnRzUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkdldHMgdGhlIGVuZHBvaW50cyB1c2VkIGJ5 +IHRoZSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl +cXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkVuZHBvaW50VXJsIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vT2ZMb2NhbGVJZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJMb2NhbGVJZHMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhG +aWVsZD0iTm9PZkxvY2FsZUlkcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZQcm9maWxl +VXJpcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByb2Zp +bGVVcmlzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZQcm9maWxlVXJp +cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO +YW1lPSJHZXRFbmRwb2ludHNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ +DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkdldHMgdGhlIGVuZHBvaW50cyB1c2VkIGJ5IHRoZSBz +ZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNl +SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTm9PZkVuZHBvaW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkVuZHBvaW50cyIgVHlwZU5hbWU9InRuczpFbmRwb2ludERlc2NyaXB0aW9uIiBM +ZW5ndGhGaWVsZD0iTm9PZkVuZHBvaW50cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWdpc3RlcmVkU2VydmVyIiBCYXNlVHlwZT0i +dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIGluZm9ybWF0 +aW9uIHJlcXVpcmVkIHRvIHJlZ2lzdGVyIGEgc2VydmVyIHdpdGggYSBkaXNjb3Zlcnkgc2VydmVy +Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJVcmkiIFR5 +cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJvZHVjdFVyaSIg +VHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VydmVy +TmFtZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2 +ZXJOYW1lcyIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIExlbmd0aEZpZWxkPSJOb09mU2Vy +dmVyTmFtZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJUeXBlIiBUeXBlTmFtZT0i +dG5zOkFwcGxpY2F0aW9uVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkdhdGV3YXlTZXJ2 +ZXJVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P +ZkRpc2NvdmVyeVVybHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJEaXNjb3ZlcnlVcmxzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5v +T2ZEaXNjb3ZlcnlVcmxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VtYXBob3JlRmlsZVBh +dGgiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNPbmxp +bmUiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWdpc3RlclNlcnZlclJlcXVlc3QiIEJhc2VU +eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5SZWdpc3Rl +cnMgYSBzZXJ2ZXIgd2l0aCB0aGUgZGlzY292ZXJ5IHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9u +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1 +ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyIiBUeXBlTmFtZT0idG5z +OlJlZ2lzdGVyZWRTZXJ2ZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXNwb25zZSIgQmFzZVR5cGU9InVh +OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlJlZ2lzdGVycyBhIHNl +cnZlciB3aXRoIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhl +YWRlciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw +ZSBOYW1lPSJEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBiYXNlIHR5cGUgZm9yIGRpc2NvdmVyeSBj +b25maWd1cmF0aW9uIGluZm9ybWF0aW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOlN0 +cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTWRuc0Rpc2NvdmVy +eUNvbmZpZ3VyYXRpb24iIEJhc2VUeXBlPSJ0bnM6RGlzY292ZXJ5Q29uZmlndXJhdGlvbiI+DQog +ICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSBkaXNjb3ZlcnkgaW5mb3JtYXRpb24gbmVlZGVkIGZv +ciBtRE5TIHJlZ2lzdHJhdGlvbi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTWRuc1NlcnZlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9PZlNlcnZlckNhcGFiaWxpdGllcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlckNhcGFiaWxpdGllcyIgVHlwZU5hbWU9Im9w +YzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mU2VydmVyQ2FwYWJpbGl0aWVzIiAvPg0KICA8L29w +YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlZ2lzdGVy +U2VydmVyMlJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyIiBUeXBlTmFtZT0idG5zOlJlZ2lzdGVyZWRT +ZXJ2ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlzY292ZXJ5Q29uZmlndXJhdGlv +biIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2NvdmVy +eUNvbmZpZ3VyYXRpb24iIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIExlbmd0aEZpZWxk +PSJOb09mRGlzY292ZXJ5Q29uZmlndXJhdGlvbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ +DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWdpc3RlclNlcnZlcjJSZXNwb25zZSIg +QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNw +b25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vT2ZDb25maWd1cmF0aW9uUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbmZpZ3VyYXRpb25SZXN1bHRzIiBUeXBlTmFtZT0i +dWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZDb25maWd1cmF0aW9uUmVzdWx0cyIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6 +SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1l +PSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+ +DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0i +U2VjdXJpdHlUb2tlblJlcXVlc3RUeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRv +Y3VtZW50YXRpb24+SW5kaWNhdGVzIHdoZXRoZXIgYSB0b2tlbiBpZiBiZWluZyBjcmVhdGVkIG9y +IHJlbmV3ZWQuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO +YW1lPSJJc3N1ZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i +UmVuZXciIFZhbHVlPSIxIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9IkNoYW5uZWxTZWN1cml0eVRva2VuIiBCYXNlVHlwZT0idWE6RXh0 +ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHRva2VuIHRoYXQgaWRl +bnRpZmllcyBhIHNldCBvZiBrZXlzIGZvciBhbiBhY3RpdmUgc2VjdXJlIGNoYW5uZWwuPC9vcGM6 +RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNoYW5uZWxJZCIgVHlwZU5hbWU9 +Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUb2tlbklkIiBUeXBlTmFtZT0i +b3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNyZWF0ZWRBdCIgVHlwZU5hbWU9 +Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRMaWZldGltZSIg +VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv +cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iT3BlblNlY3VyZUNoYW5uZWxSZXF1ZXN0IiBCYXNlVHlw +ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q3JlYXRlcyBh +IHNlY3VyZSBjaGFubmVsIHdpdGggYSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRl +ciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudFByb3RvY29sVmVyc2lvbiIgVHlwZU5h +bWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0VHlwZSIgVHlw +ZU5hbWU9InRuczpTZWN1cml0eVRva2VuUmVxdWVzdFR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJTZWN1cml0eU1vZGUiIFR5cGVOYW1lPSJ0bnM6TWVzc2FnZVNlY3VyaXR5TW9kZSIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudE5vbmNlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJp +bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRMaWZldGltZSIgVHlwZU5hbWU9 +Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 +dXJlZFR5cGUgTmFtZT0iT3BlblNlY3VyZUNoYW5uZWxSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4 +dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkNyZWF0ZXMgYSBzZWN1cmUg +Y2hhbm5lbCB3aXRoIGEgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclByb3RvY29sVmVyc2lvbiIgVHlwZU5hbWU9Im9w +YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eVRva2VuIiBUeXBlTmFt +ZT0idG5zOkNoYW5uZWxTZWN1cml0eVRva2VuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vy +dmVyTm9uY2UiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl +ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDbG9zZVNlY3VyZUNoYW5uZWxS +ZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50 +YXRpb24+Q2xvc2VzIGEgc2VjdXJlIGNoYW5uZWwuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRl +ciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO +YW1lPSJDbG9zZVNlY3VyZUNoYW5uZWxSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkNsb3NlcyBhIHNlY3VyZSBjaGFubmVsLjwv +b3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIg +VHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ +DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRl +IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+ +QSBzb2Z0d2FyZSBjZXJ0aWZpY2F0ZSB3aXRoIGEgZGlnaXRhbCBzaWduYXR1cmUuPC9vcGM6RG9j +dW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNlcnRpZmljYXRlRGF0YSIgVHlwZU5h +bWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2lnbmF0dXJlIiBU +eXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog +IDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJTZXNzaW9uQXV0aGVudGljYXRpb25Ub2tlbiI+DQogICAg +PG9wYzpEb2N1bWVudGF0aW9uPkEgdW5pcXVlIGlkZW50aWZpZXIgZm9yIGEgc2Vzc2lvbiB1c2Vk +IHRvIGF1dGhlbnRpY2F0ZSByZXF1ZXN0cy48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpP +cGFxdWVUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2lnbmF0dXJlRGF0YSIg +QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEg +ZGlnaXRhbCBzaWduYXR1cmUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkFsZ29yaXRobSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJTaWduYXR1cmUiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3Ry +dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDcmVhdGVTZXNzaW9u +UmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVu +dGF0aW9uPkNyZWF0ZXMgYSBuZXcgc2Vzc2lvbiB3aXRoIHRoZSBzZXJ2ZXIuPC9vcGM6RG9jdW1l +bnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0 +bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudERlc2NyaXB0 +aW9uIiBUeXBlTmFtZT0idG5zOkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJTZXJ2ZXJVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iRW5kcG9pbnRVcmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iU2Vzc2lvbk5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50Tm9uY2UiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudENlcnRpZmljYXRlIiBUeXBlTmFtZT0ib3Bj +OkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRTZXNzaW9uVGlt +ZW91dCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhS +ZXNwb25zZU1lc3NhZ2VTaXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3Ry +dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDcmVhdGVTZXNzaW9u +UmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1l +bnRhdGlvbj5DcmVhdGVzIGEgbmV3IHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwvb3BjOkRvY3Vt +ZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9 +InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlc3Npb25JZCIg +VHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF1dGhlbnRpY2F0 +aW9uVG9rZW4iIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS +ZXZpc2VkU2Vzc2lvblRpbWVvdXQiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iU2VydmVyTm9uY2UiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlckNlcnRpZmljYXRlIiBUeXBlTmFtZT0ib3BjOkJ5dGVT +dHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VydmVyRW5kcG9pbnRzIiBUeXBl +TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyRW5kcG9pbnRz +IiBUeXBlTmFtZT0idG5zOkVuZHBvaW50RGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mU2Vy +dmVyRW5kcG9pbnRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlcnZlclNvZnR3YXJl +Q2VydGlmaWNhdGVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iU2VydmVyU29mdHdhcmVDZXJ0aWZpY2F0ZXMiIFR5cGVOYW1lPSJ0bnM6U2lnbmVkU29mdHdh +cmVDZXJ0aWZpY2F0ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJTb2Z0d2FyZUNlcnRpZmljYXRl +cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclNpZ25hdHVyZSIgVHlwZU5hbWU9InRu +czpTaWduYXR1cmVEYXRhIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4UmVxdWVzdE1lc3Nh +Z2VTaXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ +DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVc2VySWRlbnRpdHlUb2tlbiIgQmFzZVR5 +cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgYmFzZSB0 +eXBlIGZvciBhIHVzZXIgaWRlbnRpdHkgdG9rZW4uPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlBvbGljeUlkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9v +cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBbm9ueW1v +dXNJZGVudGl0eVRva2VuIiBCYXNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIj4NCiAgICA8 +b3BjOkRvY3VtZW50YXRpb24+QSB0b2tlbiByZXByZXNlbnRpbmcgYW4gYW5vbnltb3VzIHVzZXIu +PC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBvbGljeUlkIiBUeXBl +TmFtZT0ib3BjOlN0cmluZyIgU291cmNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIiAvPg0K +ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlVz +ZXJOYW1lSWRlbnRpdHlUb2tlbiIgQmFzZVR5cGU9InRuczpVc2VySWRlbnRpdHlUb2tlbiI+DQog +ICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgdG9rZW4gcmVwcmVzZW50aW5nIGEgdXNlciBpZGVudGlm +aWVkIGJ5IGEgdXNlciBuYW1lIGFuZCBwYXNzd29yZC48L29wYzpEb2N1bWVudGF0aW9uPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iUG9saWN5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBTb3VyY2VU +eXBlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2Vy +TmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQYXNz +d29yZCIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +RW5jcnlwdGlvbkFsZ29yaXRobSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogIDwvb3BjOlN0 +cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iWDUwOUlkZW50aXR5 +VG9rZW4iIEJhc2VUeXBlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgIDxvcGM6RG9jdW1l +bnRhdGlvbj5BIHRva2VuIHJlcHJlc2VudGluZyBhIHVzZXIgaWRlbnRpZmllZCBieSBhbiBYNTA5 +IGNlcnRpZmljYXRlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQ +b2xpY3lJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIFNvdXJjZVR5cGU9InRuczpVc2VySWRlbnRp +dHlUb2tlbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNlcnRpZmljYXRlRGF0YSIgVHlwZU5h +bWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj +OlN0cnVjdHVyZWRUeXBlIE5hbWU9Iklzc3VlZElkZW50aXR5VG9rZW4iIEJhc2VUeXBlPSJ0bnM6 +VXNlcklkZW50aXR5VG9rZW4iPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHRva2VuIHJlcHJl +c2VudGluZyBhIHVzZXIgaWRlbnRpZmllZCBieSBhIFdTLVNlY3VyaXR5IFhNTCB0b2tlbi48L29w +YzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUG9saWN5SWQiIFR5cGVOYW1l +PSJvcGM6U3RyaW5nIiBTb3VyY2VUeXBlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJUb2tlbkRhdGEiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuY3J5cHRpb25BbGdvcml0aG0iIFR5cGVOYW1lPSJvcGM6 +U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU +eXBlIE5hbWU9IkFjdGl2YXRlU2Vzc2lvblJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P +YmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BY3RpdmF0ZXMgYSBzZXNzaW9uIHdpdGgg +dGhlIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVx +dWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iQ2xpZW50U2lnbmF0dXJlIiBUeXBlTmFtZT0idG5zOlNpZ25hdHVyZURhdGEiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQ2xpZW50U29mdHdhcmVDZXJ0aWZpY2F0ZXMiIFR5 +cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnRTb2Z0d2Fy +ZUNlcnRpZmljYXRlcyIgVHlwZU5hbWU9InRuczpTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiBM +ZW5ndGhGaWVsZD0iTm9PZkNsaWVudFNvZnR3YXJlQ2VydGlmaWNhdGVzIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9PZkxvY2FsZUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkxvY2FsZUlkcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZp +ZWxkPSJOb09mTG9jYWxlSWRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcklkZW50aXR5 +VG9rZW4iIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJVc2VyVG9rZW5TaWduYXR1cmUiIFR5cGVOYW1lPSJ0bnM6U2lnbmF0dXJlRGF0YSIgLz4N +CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJB +Y3RpdmF0ZVNlc3Npb25SZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog +ICAgPG9wYzpEb2N1bWVudGF0aW9uPkFjdGl2YXRlcyBhIHNlc3Npb24gd2l0aCB0aGUgc2VydmVy +Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRl +ciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlNlcnZlck5vbmNlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0i +Tm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9z +IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3Rp +Y0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlh +Z25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj +dHVyZWRUeXBlIE5hbWU9IkNsb3NlU2Vzc2lvblJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp +b25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5DbG9zZXMgYSBzZXNzaW9uIHdpdGgg +dGhlIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVx +dWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iRGVsZXRlU3Vic2NyaXB0aW9ucyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0K +ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNs +b3NlU2Vzc2lvblJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8 +b3BjOkRvY3VtZW50YXRpb24+Q2xvc2VzIGEgc2Vzc2lvbiB3aXRoIHRoZSBzZXJ2ZXIuPC9vcGM6 +RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBl +TmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K +ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNhbmNlbFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpF +eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5DYW5jZWxzIGFuIG91dHN0 +YW5kaW5nIHJlcXVlc3QuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlJlcXVlc3RIYW5kbGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8 +L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNhbmNl +bFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3Vt +ZW50YXRpb24+Q2FuY2VscyBhbiBvdXRzdGFuZGluZyByZXF1ZXN0Ljwvb3BjOkRvY3VtZW50YXRp +b24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpS +ZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNhbmNlbENvdW50IiBUeXBl +TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpF +bnVtZXJhdGVkVHlwZSBOYW1lPSJOb2RlQXR0cmlidXRlc01hc2siIExlbmd0aEluQml0cz0iMzIi +Pg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYml0cyB1c2VkIHRvIHNwZWNpZnkgZGVmYXVs +dCBhdHRyaWJ1dGVzIGZvciBhIG5ldyBub2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVt +ZXJhdGVkVmFsdWUgTmFtZT0iQWNjZXNzTGV2ZWwiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IkFycmF5RGltZW5zaW9ucyIgVmFsdWU9IjIiIC8+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQnJvd3NlTmFtZSIgVmFsdWU9IjQiIC8+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ29udGFpbnNOb0xvb3BzIiBWYWx1ZT0iOCIgLz4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEYXRhVHlwZSIgVmFsdWU9IjE2IiAvPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRlc2NyaXB0aW9uIiBWYWx1ZT0iMzIiIC8+DQog +ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGlzcGxheU5hbWUiIFZhbHVlPSI2NCIgLz4N +CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJFdmVudE5vdGlmaWVyIiBWYWx1ZT0iMTI4 +IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkV4ZWN1dGFibGUiIFZhbHVlPSIy +NTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSGlzdG9yaXppbmciIFZhbHVl +PSI1MTIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW52ZXJzZU5hbWUiIFZh +bHVlPSIxMDI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IklzQWJzdHJhY3Qi +IFZhbHVlPSIyMDQ4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik1pbmltdW1T +YW1wbGluZ0ludGVydmFsIiBWYWx1ZT0iNDA5NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 +ZSBOYW1lPSJOb2RlQ2xhc3MiIFZhbHVlPSI4MTkyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh +bHVlIE5hbWU9Ik5vZGVJZCIgVmFsdWU9IjE2Mzg0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh +bHVlIE5hbWU9IlN5bW1ldHJpYyIgVmFsdWU9IjMyNzY4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRl +ZFZhbHVlIE5hbWU9IlVzZXJBY2Nlc3NMZXZlbCIgVmFsdWU9IjY1NTM2IiAvPg0KICAgIDxvcGM6 +RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVzZXJFeGVjdXRhYmxlIiBWYWx1ZT0iMTMxMDcyIiAvPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVzZXJXcml0ZU1hc2siIFZhbHVlPSIyNjIx +NDQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVmFsdWVSYW5rIiBWYWx1ZT0i +NTI0Mjg4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IldyaXRlTWFzayIgVmFs +dWU9IjEwNDg1NzYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVmFsdWUiIFZh +bHVlPSIyMDk3MTUyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRhdGFUeXBl +RGVmaW5pdGlvbiIgVmFsdWU9IjQxOTQzMDQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg +TmFtZT0iUm9sZVBlcm1pc3Npb25zIiBWYWx1ZT0iODM4ODYwOCIgLz4NCiAgICA8b3BjOkVudW1l +cmF0ZWRWYWx1ZSBOYW1lPSJBY2Nlc3NSZXN0cmljdGlvbnMiIFZhbHVlPSIxNjc3NzIxNiIgLz4N +CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBbGwiIFZhbHVlPSIzMzU1NDQzMSIgLz4N +CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCYXNlTm9kZSIgVmFsdWU9IjI2NTAxMjIw +IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik9iamVjdCIgVmFsdWU9IjI2NTAx +MzQ4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik9iamVjdFR5cGUiIFZhbHVl +PSIyNjUwMzI2OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJWYXJpYWJsZSIg +VmFsdWU9IjI2NTcxMzgzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZhcmlh +YmxlVHlwZSIgVmFsdWU9IjI4NjAwNDM4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h +bWU9Ik1ldGhvZCIgVmFsdWU9IjI2NjMyNTQ4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9IlJlZmVyZW5jZVR5cGUiIFZhbHVlPSIyNjUzNzA2MCIgLz4NCiAgICA8b3BjOkVudW1l +cmF0ZWRWYWx1ZSBOYW1lPSJWaWV3IiBWYWx1ZT0iMjY1MDEzNTYiIC8+DQogIDwvb3BjOkVudW1l +cmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm9kZUF0dHJpYnV0ZXMi +IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5U +aGUgYmFzZSBhdHRyaWJ1dGVzIGZvciBhbGwgbm9kZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUlu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpM +b2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVO +YW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNr +IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0 +ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N +Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik9iamVjdEF0dHJpYnV0ZXMiIEJhc2VUeXBl +PSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYXR0cmli +dXRlcyBmb3IgYW4gb2JqZWN0IG5vZGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3Vy +Y2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNw +bGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2Rl +QXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFt +ZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291 +cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNl +cldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0 +cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50Tm90aWZpZXIiIFR5cGVOYW1l +PSJvcGM6Qnl0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 +cmVkVHlwZSBOYW1lPSJWYXJpYWJsZUF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0dHJp +YnV0ZXMiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSB2YXJp +YWJsZSBub2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVj +aWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5v +ZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVO +YW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXpl +ZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpO +b2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5 +cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlZhbHVlUmFuayIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6 +VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkFycmF5RGltZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkFjY2Vzc0xldmVsIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJVc2VyQWNjZXNzTGV2ZWwiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik1pbmltdW1TYW1wbGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRv +dWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikhpc3Rvcml6aW5nIiBUeXBlTmFtZT0ib3Bj +OkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl +ZFR5cGUgTmFtZT0iTWV0aG9kQXR0cmlidXRlcyIgQmFzZVR5cGU9InRuczpOb2RlQXR0cmlidXRl +cyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVzIGZvciBhIG1ldGhvZCBu +b2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRB +dHRyaWJ1dGVzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRy +aWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1 +YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQi +IFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0 +cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1l +PSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJFeGVjdXRhYmxlIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJVc2VyRXhlY3V0YWJsZSIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAv +Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 +Ik9iamVjdFR5cGVBdHRyaWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAg +ICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGFuIG9iamVjdCB0eXBlIG5v +ZGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNwZWNpZmllZEF0 +dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJp +YnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVh +OkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIg +U291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +V3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRy +aWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9 +Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9v +cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJWYXJpYWJs +ZVR5cGVBdHRyaWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICA8b3Bj +OkRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGEgdmFyaWFibGUgdHlwZSBub2RlLjwv +b3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1 +dGVzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVz +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2Nh +bGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJj +ZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRl +TWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRl +cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6 +VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJEYXRhVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlZhbHVlUmFuayIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5n +dGhGaWVsZD0iTm9PZkFycmF5RGltZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Iklz +QWJzdHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 +cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWZlcmVuY2VUeXBlQXR0cmlidXRl +cyIgQmFzZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u +PlRoZSBhdHRyaWJ1dGVzIGZvciBhIHJlZmVyZW5jZSB0eXBlIG5vZGUuPC9vcGM6RG9jdW1lbnRh +dGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1l +PSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNv +dXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRl +c2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5v +ZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFt +ZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJj +ZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJz +dHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN5 +bW1ldHJpYyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +SW52ZXJzZU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFUeXBlQXR0cmli +dXRlcyIgQmFzZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpEb2N1bWVudGF0 +aW9uPlRoZSBhdHRyaWJ1dGVzIGZvciBhIGRhdGEgdHlwZSBub2RlLjwvb3BjOkRvY3VtZW50YXRp +b24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0i +b3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3Vy +Y2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNj +cmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2Rl +QXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9 +Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VU +eXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0Fic3Ry +YWN0IiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K +DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVmlld0F0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0 +bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRl +cyBmb3IgYSB2aWV3IG5vZGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBl +PSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFt +ZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmli +dXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6 +TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlw +ZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRl +TWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRl +cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbnRhaW5zTm9Mb29wcyIgVHlwZU5hbWU9Im9w +YzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnROb3RpZmllciIgVHlwZU5h +bWU9Im9wYzpCeXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj +dHVyZWRUeXBlIE5hbWU9IkdlbmVyaWNBdHRyaWJ1dGVWYWx1ZSIgQmFzZVR5cGU9InVhOkV4dGVu +c2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdHRyaWJ1dGVJZCIgVHlwZU5hbWU9 +Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVh +OlZhcmlhbnQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl +ZFR5cGUgTmFtZT0iR2VuZXJpY0F0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0 +ZXMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3BlY2lmaWVkQXR0cmlidXRlcyIgVHlwZU5hbWU9 +Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291 +cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVz +Y3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9k +ZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1l +PSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNl +VHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkF0 +dHJpYnV0ZVZhbHVlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkF0dHJpYnV0ZVZhbHVlcyIgVHlwZU5hbWU9InRuczpHZW5lcmljQXR0cmlidXRlVmFsdWUi +IExlbmd0aEZpZWxkPSJOb09mQXR0cmlidXRlVmFsdWVzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk +VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFkZE5vZGVzSXRlbSIgQmFzZVR5 +cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgcmVxdWVz +dCB0byBhZGQgYSBub2RlIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVu +dGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGFyZW50Tm9kZUlkIiBUeXBlTmFtZT0idWE6 +RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBlSWQi +IFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRO +ZXdOb2RlSWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVBdHRyaWJ1dGVzIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9u +T2JqZWN0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHlwZURlZmluaXRpb24iIFR5cGVOYW1l +PSJ1YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w +YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBZGROb2Rlc1Jlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVu +c2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgcmVzdWx0IG9mIGFuIGFkZCBu +b2RlIG9wZXJhdGlvbi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +U3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJBZGRlZE5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgPC9vcGM6U3RydWN0 +dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBZGROb2Rlc1JlcXVlc3Qi +IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5B +ZGRzIG9uZSBvciBtb3JlIG5vZGVzIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpE +b2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5h +bWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVz +VG9BZGQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rl +c1RvQWRkIiBUeXBlTmFtZT0idG5zOkFkZE5vZGVzSXRlbSIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rl +c1RvQWRkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU +eXBlIE5hbWU9IkFkZE5vZGVzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi +Pg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BZGRzIG9uZSBvciBtb3JlIG5vZGVzIHRvIHRoZSBz +ZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6QWRkTm9kZXNSZXN1 +bHQiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v +T2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVu +Z3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWRkUmVmZXJlbmNlc0l0ZW0iIEJhc2VU +eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHJlcXVl +c3QgdG8gYWRkIGEgcmVmZXJlbmNlIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpE +b2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU291cmNlTm9kZUlkIiBUeXBlTmFt +ZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlVHlwZUlkIiBU +eXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNGb3J3YXJkIiBU +eXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUYXJnZXRTZXJ2 +ZXJVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGFy +Z2V0Tm9kZUlkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJUYXJnZXROb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNzIiAvPg0KICA8 +L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFkZFJl +ZmVyZW5jZXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj +OkRvY3VtZW50YXRpb24+QWRkcyBvbmUgb3IgbW9yZSByZWZlcmVuY2VzIHRvIHRoZSBzZXJ2ZXIg +YWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +UmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXNUb0FkZCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXNUb0FkZCIgVHlwZU5hbWU9InRuczpBZGRS +ZWZlcmVuY2VzSXRlbSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2VzVG9BZGQiIC8+DQogIDwv +b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWRkUmVm +ZXJlbmNlc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj +OkRvY3VtZW50YXRpb24+QWRkcyBvbmUgb3IgbW9yZSByZWZlcmVuY2VzIHRvIHRoZSBzZXJ2ZXIg +YWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +UmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhG +aWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3Rp +Y0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlh +Z25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJO +b09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj +OlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZU5vZGVzSXRlbSIgQmFzZVR5cGU9InVhOkV4dGVu +c2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgcmVxdWVzdCB0byBkZWxldGUg +YSBub2RlIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iRGVsZXRlVGFyZ2V0UmVmZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpC +b29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU +eXBlIE5hbWU9IkRlbGV0ZU5vZGVzUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj +dCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkRlbGV0ZSBvbmUgb3IgbW9yZSBub2RlcyBmcm9t +IHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVzVG9EZWxldGUiIFR5cGVOYW1lPSJvcGM6 +SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rlc1RvRGVsZXRlIiBUeXBlTmFtZT0i +dG5zOkRlbGV0ZU5vZGVzSXRlbSIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvRGVsZXRlIiAvPg0K +ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRl +bGV0ZU5vZGVzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv +cGM6RG9jdW1lbnRhdGlvbj5EZWxldGUgb25lIG9yIG1vcmUgbm9kZXMgZnJvbSB0aGUgc2VydmVy +IGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3Ro +RmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0 +aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRp +YWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0i +Tm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w +YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVSZWZlcmVuY2VzSXRlbSIgQmFzZVR5cGU9InVh +OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgcmVxdWVzdCB0byBk +ZWxldGUgYSBub2RlIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRvY3VtZW50 +YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTb3VyY2VOb2RlSWQiIFR5cGVOYW1lPSJ1YTpO +b2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBlSWQiIFR5cGVOYW1l +PSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0ZvcndhcmQiIFR5cGVOYW1l +PSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldE5vZGVJZCIgVHlw +ZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVsZXRl +QmlkaXJlY3Rpb25hbCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNS +ZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50 +YXRpb24+RGVsZXRlIG9uZSBvciBtb3JlIHJlZmVyZW5jZXMgZnJvbSB0aGUgc2VydmVyIGFkZHJl +c3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVl +c3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vT2ZSZWZlcmVuY2VzVG9EZWxldGUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzVG9EZWxldGUiIFR5cGVOYW1lPSJ0bnM6RGVs +ZXRlUmVmZXJlbmNlc0l0ZW0iIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlc1RvRGVsZXRlIiAv +Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 +IkRlbGV0ZVJlZmVyZW5jZXNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ +DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkRlbGV0ZSBvbmUgb3IgbW9yZSByZWZlcmVuY2VzIGZy +b20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRl +ciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1 +c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIg +TGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iQXR0cmlidXRlV3JpdGVNYXNrIiBM +ZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+RGVmaW5lIGJpdHMgdXNl +ZCB0byBpbmRpY2F0ZSB3aGljaCBhdHRyaWJ1dGVzIGFyZSB3cml0YWJsZS48L29wYzpEb2N1bWVu +dGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAv +Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFjY2Vzc0xldmVsIiBWYWx1ZT0iMSIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBcnJheURpbWVuc2lvbnMiIFZhbHVl +PSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJyb3dzZU5hbWUiIFZhbHVl +PSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkNvbnRhaW5zTm9Mb29wcyIg +VmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGF0YVR5cGUiIFZh +bHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEZXNjcmlwdGlvbiIg +VmFsdWU9IjMyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRpc3BsYXlOYW1l +IiBWYWx1ZT0iNjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRXZlbnROb3Rp +ZmllciIgVmFsdWU9IjEyOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJFeGVj +dXRhYmxlIiBWYWx1ZT0iMjU2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikhp +c3Rvcml6aW5nIiBWYWx1ZT0iNTEyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 +IkludmVyc2VOYW1lIiBWYWx1ZT0iMTAyNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO +YW1lPSJJc0Fic3RyYWN0IiBWYWx1ZT0iMjA0OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 +ZSBOYW1lPSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbCIgVmFsdWU9IjQwOTYiIC8+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9kZUNsYXNzIiBWYWx1ZT0iODE5MiIgLz4NCiAgICA8 +b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlSWQiIFZhbHVlPSIxNjM4NCIgLz4NCiAgICA8 +b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTeW1tZXRyaWMiIFZhbHVlPSIzMjc2OCIgLz4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVc2VyQWNjZXNzTGV2ZWwiIFZhbHVlPSI2NTUz +NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVc2VyRXhlY3V0YWJsZSIgVmFs +dWU9IjEzMTA3MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVc2VyV3JpdGVN +YXNrIiBWYWx1ZT0iMjYyMTQ0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZh +bHVlUmFuayIgVmFsdWU9IjUyNDI4OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l +PSJXcml0ZU1hc2siIFZhbHVlPSIxMDQ4NTc2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9IlZhbHVlRm9yVmFyaWFibGVUeXBlIiBWYWx1ZT0iMjA5NzE1MiIgLz4NCiAgICA8b3Bj +OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEYXRhVHlwZURlZmluaXRpb24iIFZhbHVlPSI0MTk0MzA0 +IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJvbGVQZXJtaXNzaW9ucyIgVmFs +dWU9IjgzODg2MDgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQWNjZXNzUmVz +dHJpY3Rpb25zIiBWYWx1ZT0iMTY3NzcyMTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg +TmFtZT0iQWNjZXNzTGV2ZWxFeCIgVmFsdWU9IjMzNTU0NDMyIiAvPg0KICA8L29wYzpFbnVtZXJh +dGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkJyb3dzZURpcmVjdGlvbiIg +TGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSBkaXJlY3Rpb25z +IG9mIHRoZSByZWZlcmVuY2VzIHRvIHJldHVybi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxv +cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkZvcndhcmQiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6 +RW51bWVyYXRlZFZhbHVlIE5hbWU9IkludmVyc2UiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IkJvdGgiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRl +ZFZhbHVlIE5hbWU9IkludmFsaWQiIFZhbHVlPSIzIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlZpZXdEZXNjcmlwdGlvbiIgQmFzZVR5 +cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSB2aWV3 +IHRvIGJyb3dzZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmll +d0lkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGltZXN0 +YW1wIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmll +d1ZlcnNpb24iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb3dzZURlc2NyaXB0aW9uIiBCYXNl +VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSByZXF1 +ZXN0IHRvIGJyb3dzZSB0aGUgdGhlIHJlZmVyZW5jZXMgZnJvbSBhIG5vZGUuPC9vcGM6RG9jdW1l +bnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJ +ZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZURpcmVjdGlvbiIgVHlwZU5hbWU9InRu +czpCcm93c2VEaXJlY3Rpb24iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBl +SWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbmNsdWRl +U3VidHlwZXMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5vZGVDbGFzc01hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iUmVzdWx0TWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVj +dHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iQnJvd3NlUmVzdWx0TWFz +ayIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgYml0IG1hc2sg +d2hpY2ggc3BlY2lmaWVzIHdoYXQgc2hvdWxkIGJlIHJldHVybmVkIGluIGEgYnJvd3NlIHJlc3Bv +bnNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i +Tm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJl +bmNlVHlwZUlkIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJ +c0ZvcndhcmQiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5v +ZGVDbGFzcyIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQnJv +d3NlTmFtZSIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGlz +cGxheU5hbWUiIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJU +eXBlRGVmaW5pdGlvbiIgVmFsdWU9IjMyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h +bWU9IkFsbCIgVmFsdWU9IjYzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJl +ZmVyZW5jZVR5cGVJbmZvIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO +YW1lPSJUYXJnZXRJbmZvIiBWYWx1ZT0iNjAiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0K +DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVmZXJlbmNlRGVzY3JpcHRpb24iIEJhc2VU +eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgZGVz +Y3JpcHRpb24gb2YgYSByZWZlcmVuY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IklzRm9yd2FyZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVk +TmFtZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6 +TG9jYWxpemVkVGV4dCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5h +bWU9InRuczpOb2RlQ2xhc3MiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUeXBlRGVmaW5pdGlv +biIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw +ZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iQ29udGludWF0aW9uUG9pbnQiPg0KICAgIDxv +cGM6RG9jdW1lbnRhdGlvbj5BbiBpZGVudGlmaWVyIGZvciBhIHN1c3BlbmRlZCBxdWVyeSBvciBi +cm93c2Ugb3BlcmF0aW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+ +DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm93c2VSZXN1bHQiIEJhc2VUeXBlPSJ1 +YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgcmVzdWx0IG9m +IGEgYnJvd3NlIG9wZXJhdGlvbi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJDb250aW51YXRpb25Qb2ludCIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBlTmFtZT0idG5zOlJl +ZmVyZW5jZURlc2NyaXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogIDwv +b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJvd3Nl +UmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVu +dGF0aW9uPkJyb3dzZSB0aGUgcmVmZXJlbmNlcyBmb3Igb25lIG9yIG1vcmUgbm9kZXMgZnJvbSB0 +aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlZpZXciIFR5cGVOYW1lPSJ0bnM6Vmlld0Rlc2NyaXB0aW9u +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkTWF4UmVmZXJlbmNlc1Blck5vZGUi +IFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVz +VG9Ccm93c2UiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO +b2Rlc1RvQnJvd3NlIiBUeXBlTmFtZT0idG5zOkJyb3dzZURlc2NyaXB0aW9uIiBMZW5ndGhGaWVs +ZD0iTm9PZk5vZGVzVG9Ccm93c2UiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv +cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJvd3NlUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRl +bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5Ccm93c2UgdGhlIHJlZmVyZW5j +ZXMgZm9yIG9uZSBvciBtb3JlIG5vZGVzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwv +b3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIg +VHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v +T2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +UmVzdWx0cyIgVHlwZU5hbWU9InRuczpCcm93c2VSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUmVz +dWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVO +YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3Mi +IFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGlj +SW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iQnJvd3NlTmV4dFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi +Pg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5Db250aW51ZXMgb25lIG9yIG1vcmUgYnJvd3NlIG9w +ZXJhdGlvbnMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVl +c3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlJlbGVhc2VDb250aW51YXRpb25Qb2ludHMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZDb250aW51YXRpb25Qb2ludHMiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb250aW51YXRpb25Qb2ludHMi +IFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZDb250aW51YXRpb25Q +b2ludHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iQnJvd3NlTmV4dFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q29udGludWVzIG9uZSBvciBtb3JlIGJyb3dzZSBv +cGVyYXRpb25zLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNw +b25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InRuczpCcm93c2VSZXN1bHQiIExlbmd0aEZp +ZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGlj +SW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFn +bm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5v +T2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVsYXRpdmVQYXRoRWxlbWVudCIgQmFzZVR5cGU9InVhOkV4 +dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkFuIGVsZW1lbnQgaW4gYSBy +ZWxhdGl2ZSBwYXRoLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS +ZWZlcmVuY2VUeXBlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJJc0ludmVyc2UiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkluY2x1ZGVTdWJ0eXBlcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iVGFyZ2V0TmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIC8+ +DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i +UmVsYXRpdmVQYXRoIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRv +Y3VtZW50YXRpb24+QSByZWxhdGl2ZSBwYXRoIGNvbnN0cnVjdGVkIGZyb20gcmVmZXJlbmNlIHR5 +cGVzIGFuZCBicm93c2UgbmFtZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vT2ZFbGVtZW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkVsZW1lbnRzIiBUeXBlTmFtZT0idG5zOlJlbGF0aXZlUGF0aEVsZW1lbnQiIExl +bmd0aEZpZWxkPSJOb09mRWxlbWVudHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog +IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJvd3NlUGF0aCIgQmFzZVR5cGU9InVhOkV4dGVu +c2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgcmVxdWVzdCB0byB0cmFuc2xh +dGUgYSBwYXRoIGludG8gYSBub2RlIGlkLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJTdGFydGluZ05vZGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJSZWxhdGl2ZVBhdGgiIFR5cGVOYW1lPSJ0bnM6UmVsYXRpdmVQYXRoIiAv +Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 +IkJyb3dzZVBhdGhUYXJnZXQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv +cGM6RG9jdW1lbnRhdGlvbj5UaGUgdGFyZ2V0IG9mIHRoZSB0cmFuc2xhdGVkIHBhdGguPC9vcGM6 +RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldElkIiBUeXBlTmFtZT0i +dWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZW1haW5pbmdQYXRo +SW5kZXgiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N +Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb3dzZVBhdGhSZXN1bHQiIEJhc2VUeXBl +PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgcmVzdWx0 +IG9mIGEgdHJhbnNsYXRlIG9wZWFyYXRpb24uPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTm9PZlRhcmdldHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJUYXJnZXRzIiBUeXBlTmFtZT0idG5zOkJyb3dzZVBhdGhUYXJn +ZXQiIExlbmd0aEZpZWxkPSJOb09mVGFyZ2V0cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ +DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJUcmFuc2xhdGVCcm93c2VQYXRoc1RvTm9k +ZUlkc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9j +dW1lbnRhdGlvbj5UcmFuc2xhdGVzIG9uZSBvciBtb3JlIHBhdGhzIGluIHRoZSBzZXJ2ZXIgYWRk +cmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVx +dWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9PZkJyb3dzZVBhdGhzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iQnJvd3NlUGF0aHMiIFR5cGVOYW1lPSJ0bnM6QnJvd3NlUGF0aCIgTGVu +Z3RoRmllbGQ9Ik5vT2ZCcm93c2VQYXRocyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJUcmFuc2xhdGVCcm93c2VQYXRoc1RvTm9kZUlk +c1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3Vt +ZW50YXRpb24+VHJhbnNsYXRlcyBvbmUgb3IgbW9yZSBwYXRocyBpbiB0aGUgc2VydmVyIGFkZHJl +c3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3Bv +bnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idG5zOkJyb3dzZVBhdGhSZXN1bHQiIExlbmd0 +aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9z +dGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE +aWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9 +Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv +cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVnaXN0ZXJOb2Rlc1JlcXVlc3QiIEJhc2VUeXBlPSJ1 +YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5SZWdpc3RlcnMgb25l +IG9yIG1vcmUgbm9kZXMgZm9yIHJlcGVhdGVkIHVzZSB3aXRoaW4gYSBzZXNzaW9uLjwvb3BjOkRv +Y3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFt +ZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTm9kZXNU +b1JlZ2lzdGVyIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +Tm9kZXNUb1JlZ2lzdGVyIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBMZW5ndGhGaWVsZD0iTm9PZk5v +ZGVzVG9SZWdpc3RlciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 +Y3R1cmVkVHlwZSBOYW1lPSJSZWdpc3Rlck5vZGVzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRl +bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5SZWdpc3RlcnMgb25lIG9yIG1v +cmUgbm9kZXMgZm9yIHJlcGVhdGVkIHVzZSB3aXRoaW4gYSBzZXNzaW9uLjwvb3BjOkRvY3VtZW50 +YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRu +czpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWdpc3RlcmVk +Tm9kZUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl +Z2lzdGVyZWROb2RlSWRzIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBMZW5ndGhGaWVsZD0iTm9PZlJl +Z2lzdGVyZWROb2RlSWRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9IlVucmVnaXN0ZXJOb2Rlc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpF +eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5VbnJlZ2lzdGVycyBvbmUg +b3IgbW9yZSBwcmV2aW91c2x5IHJlZ2lzdGVyZWQgbm9kZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVz +dEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOb2Rlc1RvVW5yZWdpc3RlciIg +VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVzVG9VbnJl +Z2lzdGVyIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBMZW5ndGhGaWVsZD0iTm9PZk5vZGVzVG9VbnJl +Z2lzdGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU +eXBlIE5hbWU9IlVucmVnaXN0ZXJOb2Rlc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u +T2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VW5yZWdpc3RlcnMgb25lIG9yIG1vcmUg +cHJldmlvdXNseSByZWdpc3RlcmVkIG5vZGVzLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRl +ciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9 +IkNvdW50ZXIiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIG1vbm90b25pY2FsbHkgaW5jcmVh +c2luZyB2YWx1ZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQog +IDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJOdW1lcmljUmFuZ2UiPg0KICAgIDxvcGM6RG9jdW1lbnRh +dGlvbj5TcGVjaWZpZXMgYSByYW5nZSBvZiBhcnJheSBpbmRleGVzLjwvb3BjOkRvY3VtZW50YXRp +b24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IlRpbWUi +Pg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHRpbWUgdmFsdWUgc3BlY2lmaWVkIGFzIEhIOk1N +OlNTLlNTUy48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxv +cGM6T3BhcXVlVHlwZSBOYW1lPSJEYXRlIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBkYXRl +IHZhbHVlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9w +YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFbmRwb2ludENvbmZpZ3VyYXRpb24iIEJhc2VUeXBlPSJ1 +YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iT3BlcmF0aW9uVGltZW91 +dCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZUJpbmFy +eUVuY29kaW5nIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJNYXhTdHJpbmdMZW5ndGgiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJNYXhCeXRlU3RyaW5nTGVuZ3RoIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTWF4QXJyYXlMZW5ndGgiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhNZXNzYWdlU2l6ZSIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heEJ1ZmZlclNpemUiIFR5cGVOYW1lPSJvcGM6 +SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDaGFubmVsTGlmZXRpbWUiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eVRva2VuTGlmZXRp +bWUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog +IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUXVlcnlEYXRhRGVzY3JpcHRpb24iIEJhc2VUeXBl +PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVsYXRpdmVQYXRo +IiBUeXBlTmFtZT0idG5zOlJlbGF0aXZlUGF0aCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF0 +dHJpYnV0ZUlkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkluZGV4UmFuZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk +VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik5vZGVUeXBlRGVzY3JpcHRpb24i +IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHlw +ZURlZmluaXRpb25Ob2RlIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJJbmNsdWRlU3ViVHlwZXMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEYXRhVG9SZXR1cm4iIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVG9SZXR1cm4iIFR5cGVOYW1lPSJ0bnM6 +UXVlcnlEYXRhRGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mRGF0YVRvUmV0dXJuIiAvPg0K +ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkZp +bHRlck9wZXJhdG9yIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 +ZSBOYW1lPSJFcXVhbHMiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h +bWU9IklzTnVsbCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i +R3JlYXRlclRoYW4iIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 +Ikxlc3NUaGFuIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJH +cmVhdGVyVGhhbk9yRXF1YWwiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9Ikxlc3NUaGFuT3JFcXVhbCIgVmFsdWU9IjUiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk +VmFsdWUgTmFtZT0iTGlrZSIgVmFsdWU9IjYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg +TmFtZT0iTm90IiBWYWx1ZT0iNyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJC +ZXR3ZWVuIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbkxp +c3QiIFZhbHVlPSI5IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFuZCIgVmFs +dWU9IjEwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik9yIiBWYWx1ZT0iMTEi +IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ2FzdCIgVmFsdWU9IjEyIiAvPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkluVmlldyIgVmFsdWU9IjEzIiAvPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik9mVHlwZSIgVmFsdWU9IjE0IiAvPg0KICAgIDxv +cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlbGF0ZWRUbyIgVmFsdWU9IjE1IiAvPg0KICAgIDxv +cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJpdHdpc2VBbmQiIFZhbHVlPSIxNiIgLz4NCiAgICA8 +b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCaXR3aXNlT3IiIFZhbHVlPSIxNyIgLz4NCiAgPC9v +cGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJRdWVyeURh +dGFTZXQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJUeXBlRGVmaW5pdGlvbk5vZGUiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZWYWx1ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZXMiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiBM +ZW5ndGhGaWVsZD0iTm9PZlZhbHVlcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg +PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJOb2RlUmVmZXJlbmNlIiBCYXNlVHlwZT0idWE6RXh0 +ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVh +Ok5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgVHlwZU5h +bWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzRm9yd2FyZCIgVHlwZU5h +bWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZWRO +b2RlSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVm +ZXJlbmNlZE5vZGVJZHMiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIExlbmd0aEZpZWxkPSJOb09mUmVm +ZXJlbmNlZE5vZGVJZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry +dWN0dXJlZFR5cGUgTmFtZT0iQ29udGVudEZpbHRlckVsZW1lbnQiIEJhc2VUeXBlPSJ1YTpFeHRl +bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmlsdGVyT3BlcmF0b3IiIFR5cGVO +YW1lPSJ0bnM6RmlsdGVyT3BlcmF0b3IiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRmls +dGVyT3BlcmFuZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJGaWx0ZXJPcGVyYW5kcyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgTGVuZ3RoRmll +bGQ9Ik5vT2ZGaWx0ZXJPcGVyYW5kcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg +PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDb250ZW50RmlsdGVyIiBCYXNlVHlwZT0idWE6RXh0 +ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFbGVtZW50cyIgVHlwZU5h +bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVsZW1lbnRzIiBUeXBlTmFt +ZT0idG5zOkNvbnRlbnRGaWx0ZXJFbGVtZW50IiBMZW5ndGhGaWVsZD0iTm9PZkVsZW1lbnRzIiAv +Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 +IkZpbHRlck9wZXJhbmQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkVsZW1lbnRPcGVy +YW5kIiBCYXNlVHlwZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +SW5kZXgiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N +Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkxpdGVyYWxPcGVyYW5kIiBCYXNlVHlwZT0i +dG5zOkZpbHRlck9wZXJhbmQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWUiIFR5cGVOYW1l +PSJ1YTpWYXJpYW50IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj +dHVyZWRUeXBlIE5hbWU9IkF0dHJpYnV0ZU9wZXJhbmQiIEJhc2VUeXBlPSJ0bnM6RmlsdGVyT3Bl +cmFuZCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBbGlhcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VQYXRoIiBUeXBlTmFtZT0idG5zOlJlbGF0aXZl +UGF0aCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF0dHJpYnV0ZUlkIiBUeXBlTmFtZT0ib3Bj +OlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkluZGV4UmFuZ2UiIFR5cGVOYW1lPSJv +cGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy +ZWRUeXBlIE5hbWU9IlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIEJhc2VUeXBlPSJ0bnM6RmlsdGVy +T3BlcmFuZCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUeXBlRGVmaW5pdGlvbklkIiBUeXBlTmFt +ZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkJyb3dzZVBhdGgiIFR5 +cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VQYXRoIiBU +eXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZCcm93c2VQYXRoIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXR0cmlidXRlSWQiIFR5cGVOYW1lPSJvcGM6VUludDMy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5kZXhSYW5nZSIgVHlwZU5hbWU9Im9wYzpTdHJp +bmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iQ29udGVudEZpbHRlckVsZW1lbnRSZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P +YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0 +YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mT3BlcmFuZFN0YXR1c0NvZGVz +IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iT3BlcmFuZFN0 +YXR1c0NvZGVzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZPcGVy +YW5kU3RhdHVzQ29kZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mT3BlcmFuZERpYWdu +b3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik9wZXJhbmREaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVu +Z3RoRmllbGQ9Ik5vT2ZPcGVyYW5kRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNvbnRlbnRGaWx0ZXJSZXN1 +bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +Tm9PZkVsZW1lbnRSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iRWxlbWVudFJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6Q29udGVudEZpbHRlckVsZW1l +bnRSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mRWxlbWVudFJlc3VsdHMiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJOb09mRWxlbWVudERpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVsZW1lbnREaWFnbm9zdGljSW5mb3MiIFR5cGVO +YW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZFbGVtZW50RGlhZ25vc3Rp +Y0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU +eXBlIE5hbWU9IlBhcnNpbmdSZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGF0YVN0YXR1c0NvZGVzIiBUeXBlTmFtZT0i +b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVN0YXR1c0NvZGVzIiBUeXBl +TmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZEYXRhU3RhdHVzQ29kZXMiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGF0YURpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9 +Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFEaWFnbm9zdGljSW5mb3Mi +IFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEYXRhRGlhZ25v +c3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy +ZWRUeXBlIE5hbWU9IlF1ZXJ5Rmlyc3RSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6 +UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZpZXciIFR5cGVOYW1lPSJ0 +bnM6Vmlld0Rlc2NyaXB0aW9uIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVUeXBl +cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVUeXBl +cyIgVHlwZU5hbWU9InRuczpOb2RlVHlwZURlc2NyaXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZk5v +ZGVUeXBlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRlciIgVHlwZU5hbWU9InRuczpD +b250ZW50RmlsdGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4RGF0YVNldHNUb1JldHVy +biIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhSZWZl +cmVuY2VzVG9SZXR1cm4iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlF1ZXJ5Rmlyc3RSZXNwb25z +ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS +ZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vT2ZRdWVyeURhdGFTZXRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iUXVlcnlEYXRhU2V0cyIgVHlwZU5hbWU9InRuczpRdWVyeURh +dGFTZXQiIExlbmd0aEZpZWxkPSJOb09mUXVlcnlEYXRhU2V0cyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUGFyc2luZ1Jlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQYXJzaW5nUmVzdWx0cyIgVHlwZU5hbWU9InRu +czpQYXJzaW5nUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlBhcnNpbmdSZXN1bHRzIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVh +OkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRlclJlc3VsdCIgVHlwZU5hbWU9InRuczpDb250ZW50Rmls +dGVyUmVzdWx0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy +ZWRUeXBlIE5hbWU9IlF1ZXJ5TmV4dFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl +Y3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpS +ZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVsZWFzZUNvbnRpbnVhdGlv +blBvaW50IiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJD +b250aW51YXRpb25Qb2ludCIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlF1ZXJ5TmV4dFJl +c3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTm9PZlF1ZXJ5RGF0YVNldHMiIFR5cGVOYW1lPSJvcGM6SW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJRdWVyeURhdGFTZXRzIiBUeXBlTmFtZT0idG5zOlF1 +ZXJ5RGF0YVNldCIgTGVuZ3RoRmllbGQ9Ik5vT2ZRdWVyeURhdGFTZXRzIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iUmV2aXNlZENvbnRpbnVhdGlvblBvaW50IiBUeXBlTmFtZT0ib3BjOkJ5dGVT +dHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5 +cGUgTmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3Bj +OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTb3VyY2UiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IlNlcnZlciIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJh +dGVkVmFsdWUgTmFtZT0iQm90aCIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs +dWUgTmFtZT0iTmVpdGhlciIgVmFsdWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg +TmFtZT0iSW52YWxpZCIgVmFsdWU9IjQiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQog +IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVhZFZhbHVlSWQiIEJhc2VUeXBlPSJ1YTpFeHRl +bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6 +Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXR0cmlidXRlSWQiIFR5cGVOYW1lPSJv +cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5kZXhSYW5nZSIgVHlwZU5hbWU9 +Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhRW5jb2RpbmciIFR5cGVO +YW1lPSJ1YTpRdWFsaWZpZWROYW1lIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 +b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlYWRSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5z +aW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1l +PSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heEFnZSIgVHlw +ZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lc3RhbXBzVG9S +ZXR1cm4iIFR5cGVOYW1lPSJ0bnM6VGltZXN0YW1wc1RvUmV0dXJuIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9PZk5vZGVzVG9SZWFkIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTm9kZXNUb1JlYWQiIFR5cGVOYW1lPSJ0bnM6UmVhZFZhbHVlSWQiIExl +bmd0aEZpZWxkPSJOb09mTm9kZXNUb1JlYWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K +DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVhZFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6 +RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBU +eXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P +ZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS +ZXN1bHRzIiBUeXBlTmFtZT0idWE6RGF0YVZhbHVlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0i +b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBl +TmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9z +IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9Ikhpc3RvcnlSZWFkVmFsdWVJZCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJJbmRleFJhbmdlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFFbmNvZGluZyIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5h +bWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb250aW51YXRpb25Qb2ludCIgVHlwZU5hbWU9 +Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlSZWFkUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5z +aW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1 +YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29udGludWF0aW9uUG9pbnQi +IFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikhpc3Rv +cnlEYXRhIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlSZWFkRGV0YWls +cyIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVhZEV2ZW50RGV0YWlscyIgQmFzZVR5 +cGU9InRuczpIaXN0b3J5UmVhZERldGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTnVtVmFs +dWVzUGVyTm9kZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJTdGFydFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJFbmRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iRmlsdGVyIiBUeXBlTmFtZT0idG5zOkV2ZW50RmlsdGVyIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlYWRSYXdNb2RpZmll +ZERldGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IklzUmVhZE1vZGlmaWVkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJTdGFydFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iTnVtVmFsdWVzUGVyTm9kZSIgVHlwZU5hbWU9Im9wYzpVSW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXR1cm5Cb3VuZHMiIFR5cGVOYW1lPSJvcGM6 +Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk +VHlwZSBOYW1lPSJSZWFkUHJvY2Vzc2VkRGV0YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5UmVh +ZERldGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhcnRUaW1lIiBUeXBlTmFtZT0ib3Bj +OkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kVGltZSIgVHlwZU5hbWU9Im9w +YzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByb2Nlc3NpbmdJbnRlcnZhbCIg +VHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQWdncmVn +YXRlVHlwZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFn +Z3JlZ2F0ZVR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIExlbmd0aEZpZWxkPSJOb09mQWdncmVn +YXRlVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24i +IFR5cGVOYW1lPSJ0bnM6QWdncmVnYXRlQ29uZmlndXJhdGlvbiIgLz4NCiAgPC9vcGM6U3RydWN0 +dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWFkQXRUaW1lRGV0YWls +cyIgQmFzZVR5cGU9InRuczpIaXN0b3J5UmVhZERldGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTm9PZlJlcVRpbWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iUmVxVGltZXMiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIExlbmd0aEZpZWxkPSJOb09m +UmVxVGltZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VTaW1wbGVCb3VuZHMiIFR5cGVO +YW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT +dHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5RGF0YSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGF0YVZhbHVlcyIgVHlwZU5hbWU9Im9w +YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFWYWx1ZXMiIFR5cGVOYW1lPSJ1 +YTpEYXRhVmFsdWUiIExlbmd0aEZpZWxkPSJOb09mRGF0YVZhbHVlcyIgLz4NCiAgPC9vcGM6U3Ry +dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb2RpZmljYXRpb25J +bmZvIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik1vZGlmaWNhdGlvblRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJVcGRhdGVUeXBlIiBUeXBlTmFtZT0idG5zOkhpc3RvcnlVcGRhdGVUeXBlIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAv +Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 +Ikhpc3RvcnlNb2RpZmllZERhdGEiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeURhdGEiPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTm9PZkRhdGFWYWx1ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVmFsdWVzIiBUeXBlTmFtZT0idWE6RGF0YVZhbHVlIiBM +ZW5ndGhGaWVsZD0iTm9PZkRhdGFWYWx1ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m +TW9kaWZpY2F0aW9uSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJNb2RpZmljYXRpb25JbmZvcyIgVHlwZU5hbWU9InRuczpNb2RpZmljYXRpb25JbmZv +IiBMZW5ndGhGaWVsZD0iTm9PZk1vZGlmaWNhdGlvbkluZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlFdmVudCIgQmFz +ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRXZl +bnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnRz +IiBUeXBlTmFtZT0idG5zOkhpc3RvcnlFdmVudEZpZWxkTGlzdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZF +dmVudHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iSGlzdG9yeVJlYWRSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVx +dWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikhpc3RvcnlSZWFkRGV0YWlscyIg +VHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRp +bWVzdGFtcHNUb1JldHVybiIgVHlwZU5hbWU9InRuczpUaW1lc3RhbXBzVG9SZXR1cm4iIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJSZWxlYXNlQ29udGludWF0aW9uUG9pbnRzIiBUeXBlTmFtZT0i +b3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTm9kZXNUb1JlYWQiIFR5 +cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rlc1RvUmVhZCIg +VHlwZU5hbWU9InRuczpIaXN0b3J5UmVhZFZhbHVlSWQiIExlbmd0aEZpZWxkPSJOb09mTm9kZXNU +b1JlYWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iSGlzdG9yeVJlYWRSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj +dCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpS +ZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBl +TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5h +bWU9InRuczpIaXN0b3J5UmVhZFJlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJ +bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9 +InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4N +CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJX +cml0ZVZhbHVlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkF0dHJpYnV0ZUlkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkluZGV4UmFuZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iVmFsdWUiIFR5cGVOYW1lPSJ1YTpEYXRhVmFsdWUiIC8+DQogIDwvb3BjOlN0cnVj +dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iV3JpdGVSZXF1ZXN0IiBC +YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVl +c3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vT2ZOb2Rlc1RvV3JpdGUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOb2Rlc1RvV3JpdGUiIFR5cGVOYW1lPSJ0bnM6V3JpdGVWYWx1ZSIgTGVu +Z3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvV3JpdGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K +DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iV3JpdGVSZXNwb25zZSIgQmFzZVR5cGU9InVh +OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIg +VHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v +T2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +UmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0 +cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5 +cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5m +b3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iSGlzdG9yeVVwZGF0ZURldGFpbHMiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0K +ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9Ikhp +c3RvcnlVcGRhdGVUeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJJbnNlcnQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9IlJlcGxhY2UiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h +bWU9IlVwZGF0ZSIgVmFsdWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i +RGVsZXRlIiBWYWx1ZT0iNCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpF +bnVtZXJhdGVkVHlwZSBOYW1lPSJQZXJmb3JtVXBkYXRlVHlwZSIgTGVuZ3RoSW5CaXRzPSIzMiI+ +DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW5zZXJ0IiBWYWx1ZT0iMSIgLz4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZXBsYWNlIiBWYWx1ZT0iMiIgLz4NCiAgICA8 +b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVcGRhdGUiIFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6 +RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlbW92ZSIgVmFsdWU9IjQiIC8+DQogIDwvb3BjOkVudW1l +cmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVXBkYXRlRGF0YURldGFp +bHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6SGlzdG9y +eVVwZGF0ZURldGFpbHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQZXJmb3JtSW5zZXJ0UmVw +bGFjZSIgVHlwZU5hbWU9InRuczpQZXJmb3JtVXBkYXRlVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vT2ZVcGRhdGVWYWx1ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJVcGRhdGVWYWx1ZXMiIFR5cGVOYW1lPSJ1YTpEYXRhVmFsdWUiIExlbmd0 +aEZpZWxkPSJOb09mVXBkYXRlVmFsdWVzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K +ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlVwZGF0ZVN0cnVjdHVyZURhdGFEZXRhaWxzIiBC +YXNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOkhpc3RvcnlVcGRh +dGVEZXRhaWxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGVyZm9ybUluc2VydFJlcGxhY2Ui +IFR5cGVOYW1lPSJ0bnM6UGVyZm9ybVVwZGF0ZVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mVXBkYXRlVmFsdWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iVXBkYXRlVmFsdWVzIiBUeXBlTmFtZT0idWE6RGF0YVZhbHVlIiBMZW5ndGhGaWVs +ZD0iTm9PZlVwZGF0ZVZhbHVlcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w +YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVcGRhdGVFdmVudERldGFpbHMiIEJhc2VUeXBlPSJ0bnM6 +SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBl +TmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQZXJmb3JtSW5zZXJ0UmVwbGFjZSIgVHlwZU5hbWU9InRu +czpQZXJmb3JtVXBkYXRlVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRlciIgVHlw +ZU5hbWU9InRuczpFdmVudEZpbHRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFdmVu +dERhdGEiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVu +dERhdGEiIFR5cGVOYW1lPSJ0bnM6SGlzdG9yeUV2ZW50RmllbGRMaXN0IiBMZW5ndGhGaWVsZD0i +Tm9PZkV2ZW50RGF0YSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 +Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVSYXdNb2RpZmllZERldGFpbHMiIEJhc2VUeXBlPSJ0bnM6 +SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBl +TmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0RlbGV0ZU1vZGlmaWVkIiBUeXBlTmFtZT0ib3BjOkJv +b2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGFydFRpbWUiIFR5cGVOYW1lPSJvcGM6 +RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRUaW1lIiBUeXBlTmFtZT0ib3Bj +OkRhdGVUaW1lIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy +ZWRUeXBlIE5hbWU9IkRlbGV0ZUF0VGltZURldGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVVw +ZGF0ZURldGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6 +Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOb09mUmVxVGltZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJSZXFUaW1lcyIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgTGVuZ3Ro +RmllbGQ9Ik5vT2ZSZXFUaW1lcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w +YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVFdmVudERldGFpbHMiIEJhc2VUeXBlPSJ0bnM6 +SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBl +TmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRXZlbnRJZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVudElkcyIgVHlwZU5hbWU9Im9wYzpCeXRlU3Ry +aW5nIiBMZW5ndGhGaWVsZD0iTm9PZkV2ZW50SWRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlVcGRhdGVSZXN1bHQiIEJh +c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVz +Q29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO +b09mT3BlcmF0aW9uUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik9wZXJhdGlvblJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5n +dGhGaWVsZD0iTm9PZk9wZXJhdGlvblJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO +b09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExl +bmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlVcGRhdGVSZXF1ZXN0IiBC +YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVl +c3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vT2ZIaXN0b3J5VXBkYXRlRGV0YWlscyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ikhpc3RvcnlVcGRhdGVEZXRhaWxzIiBUeXBlTmFtZT0idWE6 +RXh0ZW5zaW9uT2JqZWN0IiBMZW5ndGhGaWVsZD0iTm9PZkhpc3RvcnlVcGRhdGVEZXRhaWxzIiAv +Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 +Ikhpc3RvcnlVcGRhdGVSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25z +ZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0i +b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InRu +czpIaXN0b3J5VXBkYXRlUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6 +RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8 +L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNhbGxN +ZXRob2RSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik9iamVjdElkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTWV0aG9kSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb09mSW5wdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJJbnB1dEFyZ3VtZW50cyIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIExl +bmd0aEZpZWxkPSJOb09mSW5wdXRBcmd1bWVudHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ2FsbE1ldGhvZFJlc3VsdCIgQmFzZVR5 +cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2Rl +IiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZJ +bnB1dEFyZ3VtZW50UmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IklucHV0QXJndW1lbnRSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIg +TGVuZ3RoRmllbGQ9Ik5vT2ZJbnB1dEFyZ3VtZW50UmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vT2ZJbnB1dEFyZ3VtZW50RGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5wdXRBcmd1bWVudERpYWdub3N0aWNJbmZv +cyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZklucHV0QXJn +dW1lbnREaWFnbm9zdGljSW5mb3MiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mT3V0cHV0 +QXJndW1lbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +T3V0cHV0QXJndW1lbnRzIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZP +dXRwdXRBcmd1bWVudHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry +dWN0dXJlZFR5cGUgTmFtZT0iQ2FsbFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl +Y3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpS +ZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk1ldGhvZHNUb0NhbGwi +IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXRob2RzVG9D +YWxsIiBUeXBlTmFtZT0idG5zOkNhbGxNZXRob2RSZXF1ZXN0IiBMZW5ndGhGaWVsZD0iTm9PZk1l +dGhvZHNUb0NhbGwiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 +dXJlZFR5cGUgTmFtZT0iQ2FsbFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJl +c3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVO +YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFt +ZT0idG5zOkNhbGxNZXRob2RSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1 +YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iTW9u +aXRvcmluZ01vZGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9IkRpc2FibGVkIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO +YW1lPSJTYW1wbGluZyIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt +ZT0iUmVwb3J0aW5nIiBWYWx1ZT0iMiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAg +PG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJEYXRhQ2hhbmdlVHJpZ2dlciIgTGVuZ3RoSW5CaXRz +PSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3RhdHVzIiBWYWx1ZT0iMCIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTdGF0dXNWYWx1ZSIgVmFsdWU9IjEi +IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3RhdHVzVmFsdWVUaW1lc3RhbXAi +IFZhbHVlPSIyIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0 +ZWRUeXBlIE5hbWU9IkRlYWRiYW5kVHlwZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJh +dGVkVmFsdWUgTmFtZT0iQWJzb2x1dGUiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRl +ZFZhbHVlIE5hbWU9IlBlcmNlbnQiIFZhbHVlPSIyIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vbml0b3JpbmdGaWx0ZXIiIEJhc2VU +eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 +b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFDaGFuZ2VGaWx0ZXIiIEJhc2VUeXBlPSJ0bnM6 +TW9uaXRvcmluZ0ZpbHRlciI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmlnZ2VyIiBUeXBlTmFt +ZT0idG5zOkRhdGFDaGFuZ2VUcmlnZ2VyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVhZGJh +bmRUeXBlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRl +YWRiYW5kVmFsdWUiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk +VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkV2ZW50RmlsdGVyIiBCYXNlVHlw +ZT0idG5zOk1vbml0b3JpbmdGaWx0ZXIiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlbGVj +dENsYXVzZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT +ZWxlY3RDbGF1c2VzIiBUeXBlTmFtZT0idG5zOlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIExlbmd0 +aEZpZWxkPSJOb09mU2VsZWN0Q2xhdXNlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldoZXJl +Q2xhdXNlIiBUeXBlTmFtZT0idG5zOkNvbnRlbnRGaWx0ZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWdncmVnYXRlQ29uZmlndXJh +dGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJVc2VTZXJ2ZXJDYXBhYmlsaXRpZXNEZWZhdWx0cyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJlYXRVbmNlcnRhaW5Bc0JhZCIgVHlwZU5hbWU9Im9w +YzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGVyY2VudERhdGFCYWQiIFR5cGVO +YW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBlcmNlbnREYXRhR29vZCIg +VHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlU2xvcGVkRXh0 +cmFwb2xhdGlvbiIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk +VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFnZ3JlZ2F0ZUZpbHRlciIgQmFz +ZVR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVyIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXJ0 +VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFn +Z3JlZ2F0ZVR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJQcm9jZXNzaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iQWdncmVnYXRlQ29uZmlndXJhdGlvbiIgVHlwZU5hbWU9InRuczpBZ2dyZWdh +dGVDb25maWd1cmF0aW9uIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9Ik1vbml0b3JpbmdGaWx0ZXJSZXN1bHQiIEJhc2VUeXBlPSJ1YTpF +eHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj +dHVyZWRUeXBlIE5hbWU9IkV2ZW50RmlsdGVyUmVzdWx0IiBCYXNlVHlwZT0idG5zOk1vbml0b3Jp +bmdGaWx0ZXJSZXN1bHQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlbGVjdENsYXVzZVJl +c3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWxl +Y3RDbGF1c2VSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5v +T2ZTZWxlY3RDbGF1c2VSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlbGVj +dENsYXVzZURpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlNlbGVjdENsYXVzZURpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRp +YWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZlNlbGVjdENsYXVzZURpYWdub3N0aWNJbmZv +cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldoZXJlQ2xhdXNlUmVzdWx0IiBUeXBlTmFtZT0i +dG5zOkNvbnRlbnRGaWx0ZXJSZXN1bHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog +IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWdncmVnYXRlRmlsdGVyUmVzdWx0IiBCYXNlVHlw +ZT0idG5zOk1vbml0b3JpbmdGaWx0ZXJSZXN1bHQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2 +aXNlZFN0YXJ0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlJldmlzZWRQcm9jZXNzaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZEFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIFR5 +cGVOYW1lPSJ0bnM6QWdncmVnYXRlQ29uZmlndXJhdGlvbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJl +ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb25pdG9yaW5nUGFyYW1ldGVy +cyIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJD +bGllbnRIYW5kbGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iU2FtcGxpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJGaWx0ZXIiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJRdWV1ZVNpemUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iRGlzY2FyZE9sZGVzdCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAv +Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 +Ik1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikl0ZW1Ub01vbml0b3IiIFR5cGVOYW1lPSJ0bnM6UmVh +ZFZhbHVlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb25pdG9yaW5nTW9kZSIgVHlwZU5h +bWU9InRuczpNb25pdG9yaW5nTW9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3Rl +ZFBhcmFtZXRlcnMiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmluZ1BhcmFtZXRlcnMiIC8+DQogIDwv +b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9uaXRv +cmVkSXRlbUNyZWF0ZVJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3JlZEl0ZW1JZCIgVHlwZU5hbWU9Im9wYzpVSW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkU2FtcGxpbmdJbnRlcnZhbCIgVHlw +ZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkUXVldWVT +aXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRl +clJlc3VsdCIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgPC9vcGM6U3RydWN0 +dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDcmVhdGVNb25pdG9yZWRJ +dGVtc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUludDMy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiBUeXBlTmFtZT0i +dG5zOlRpbWVzdGFtcHNUb1JldHVybiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZJdGVt +c1RvQ3JlYXRlIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +SXRlbXNUb0NyZWF0ZSIgVHlwZU5hbWU9InRuczpNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIg +TGVuZ3RoRmllbGQ9Ik5vT2ZJdGVtc1RvQ3JlYXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zUmVz +cG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmVkSXRlbUNy +ZWF0ZVJlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJ +bmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0 +dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb25pdG9yZWRJdGVtTW9k +aWZ5UmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJNb25pdG9yZWRJdGVtSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkUGFyYW1ldGVycyIgVHlwZU5hbWU9InRuczpNb25pdG9y +aW5nUGFyYW1ldGVycyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 +Y3R1cmVkVHlwZSBOYW1lPSJNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0IiBCYXNlVHlwZT0idWE6 +RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVO +YW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZFNhbXBs +aW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iUmV2aXNlZFF1ZXVlU2l6ZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJGaWx0ZXJSZXN1bHQiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+ +DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i +TW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVx +dWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBl +TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRpbWVzdGFtcHNUb1Jl +dHVybiIgVHlwZU5hbWU9InRuczpUaW1lc3RhbXBzVG9SZXR1cm4iIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb09mSXRlbXNUb01vZGlmeSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ikl0ZW1zVG9Nb2RpZnkiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmVkSXRl +bU1vZGlmeVJlcXVlc3QiIExlbmd0aEZpZWxkPSJOb09mSXRlbXNUb01vZGlmeSIgLz4NCiAgPC9v +cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb2RpZnlN +b25pdG9yZWRJdGVtc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNl +SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJv +cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idG5z +Ok1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6 +SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1l +PSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+ +DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i +U2V0TW9uaXRvcmluZ01vZGVSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVz +dEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFt +ZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3JpbmdNb2RlIiBU +eXBlTmFtZT0idG5zOk1vbml0b3JpbmdNb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P +Zk1vbml0b3JlZEl0ZW1JZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJNb25pdG9yZWRJdGVtSWRzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmll +bGQ9Ik5vT2ZNb25pdG9yZWRJdGVtSWRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K +ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNldE1vbml0b3JpbmdNb2RlUmVzcG9uc2UiIEJh +c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9u +c2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0i +Tm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9z +IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3Rp +Y0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlh +Z25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj +dHVyZWRUeXBlIE5hbWU9IlNldFRyaWdnZXJpbmdSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5z +aW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1l +PSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlv +bklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyaWdn +ZXJpbmdJdGVtSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTm9PZkxpbmtzVG9BZGQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJMaW5rc1RvQWRkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5v +T2ZMaW5rc1RvQWRkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxpbmtzVG9SZW1vdmUi +IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMaW5rc1RvUmVt +b3ZlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZMaW5rc1RvUmVtb3Zl +IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9IlNldFRyaWdnZXJpbmdSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNw +b25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBZGRSZXN1bHRzIiBUeXBl +TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWRkUmVzdWx0cyIgVHlw +ZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mQWRkUmVzdWx0cyIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBZGREaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6 +SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGREaWFnbm9zdGljSW5mb3MiIFR5cGVO +YW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZBZGREaWFnbm9zdGljSW5m +b3MiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVtb3ZlUmVzdWx0cyIgVHlwZU5hbWU9 +Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlbW92ZVJlc3VsdHMiIFR5cGVO +YW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlbW92ZVJlc3VsdHMiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVtb3ZlRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0i +b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVtb3ZlRGlhZ25vc3RpY0luZm9z +IiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mUmVtb3ZlRGlh +Z25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj +dHVyZWRUeXBlIE5hbWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgQmFzZVR5cGU9InVh +OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBU +eXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJz +Y3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mTW9uaXRvcmVkSXRlbUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik1vbml0b3JlZEl0ZW1JZHMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5n +dGhGaWVsZD0iTm9PZk1vbml0b3JlZEl0ZW1JZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlTW9uaXRvcmVkSXRlbXNSZXNw +b25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0 +aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9z +dGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE +aWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9 +Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv +cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ3JlYXRlU3Vic2NyaXB0aW9uUmVxdWVzdCIgQmFzZVR5 +cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVh +ZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJSZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkTGlmZXRpbWVDb3VudCIgVHlwZU5hbWU9Im9w +YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRNYXhLZWVwQWxpdmVD +b3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhO +b3RpZmljYXRpb25zUGVyUHVibGlzaCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nRW5hYmxlZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJpb3JpdHkiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4N +CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJD +cmVhdGVTdWJzY3JpcHRpb25SZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNw +b25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBl +TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRQdWJsaXNo +aW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iUmV2aXNlZExpZmV0aW1lQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUmV2aXNlZE1heEtlZXBBbGl2ZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJ +bnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw +ZSBOYW1lPSJNb2RpZnlTdWJzY3JpcHRpb25SZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u +T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0 +bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklk +IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3Rl +ZFB1Ymxpc2hpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJSZXF1ZXN0ZWRMaWZldGltZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50IiBUeXBl +TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heE5vdGlmaWNhdGlv +bnNQZXJQdWJsaXNoIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlByaW9yaXR5IiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9kaWZ5U3Vic2NyaXB0aW9uUmVz +cG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkUHVibGlzaGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3Bj +OkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRMaWZldGltZUNvdW50IiBU +eXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRNYXhL +ZWVwQWxpdmVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2V0UHVibGlzaGluZ01vZGVS +ZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hpbmdFbmFibGVkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4i +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU3Vic2NyaXB0aW9uSWRzIiBUeXBlTmFtZT0i +b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWRzIiBUeXBl +TmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZTdWJzY3JpcHRpb25JZHMiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2V0 +UHVibGlzaGluZ01vZGVSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25z +ZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0i +b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVh +OlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGlj +SW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVj +dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm90aWZpY2F0aW9uTWVz +c2FnZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJTZXF1ZW5jZU51bWJlciIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJQdWJsaXNoVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vT2ZOb3RpZmljYXRpb25EYXRhIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm90aWZpY2F0aW9uRGF0YSIgVHlwZU5hbWU9InVhOkV4 +dGVuc2lvbk9iamVjdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb3RpZmljYXRpb25EYXRhIiAvPg0KICA8 +L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik5vdGlm +aWNhdGlvbkRhdGEiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFDaGFuZ2VOb3Rp +ZmljYXRpb24iIEJhc2VUeXBlPSJ0bnM6Tm90aWZpY2F0aW9uRGF0YSI+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb09mTW9uaXRvcmVkSXRlbXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJNb25pdG9yZWRJdGVtcyIgVHlwZU5hbWU9InRuczpNb25pdG9yZWRJ +dGVtTm90aWZpY2F0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZk1vbml0b3JlZEl0ZW1zIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVh +OkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAg +PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb25p +dG9yZWRJdGVtTm90aWZpY2F0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudEhhbmRsZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOkRhdGFWYWx1ZSIgLz4N +CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJF +dmVudE5vdGlmaWNhdGlvbkxpc3QiIEJhc2VUeXBlPSJ0bnM6Tm90aWZpY2F0aW9uRGF0YSI+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRXZlbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnRzIiBUeXBlTmFtZT0idG5zOkV2ZW50RmllbGRMaXN0 +IiBMZW5ndGhGaWVsZD0iTm9PZkV2ZW50cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFdmVudEZpZWxkTGlzdCIgQmFzZVR5cGU9InVh +OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnRIYW5kbGUiIFR5 +cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkV2ZW50Rmll +bGRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnRG +aWVsZHMiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiBMZW5ndGhGaWVsZD0iTm9PZkV2ZW50RmllbGRz +IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9Ikhpc3RvcnlFdmVudEZpZWxkTGlzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRXZlbnRGaWVsZHMiIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVudEZpZWxkcyIgVHlwZU5hbWU9InVhOlZh +cmlhbnQiIExlbmd0aEZpZWxkPSJOb09mRXZlbnRGaWVsZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3RhdHVzQ2hhbmdlTm90aWZp +Y2F0aW9uIiBCYXNlVHlwZT0idG5zOk5vdGlmaWNhdGlvbkRhdGEiPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iU3RhdHVzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkRpYWdub3N0aWNJbmZvIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3Vi +c2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcXVlbmNlTnVtYmVyIiBUeXBlTmFtZT0ib3Bj +OlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk +VHlwZSBOYW1lPSJQdWJsaXNoUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVl +c3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU3Vic2NyaXB0aW9uQWNrbm93 +bGVkZ2VtZW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudHMiIFR5cGVOYW1lPSJ0bnM6U3Vic2NyaXB0aW9u +QWNrbm93bGVkZ2VtZW50IiBMZW5ndGhGaWVsZD0iTm9PZlN1YnNjcmlwdGlvbkFja25vd2xlZGdl +bWVudHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iUHVibGlzaFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3Bv +bnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWQiIFR5cGVO +YW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkF2YWlsYWJsZVNl +cXVlbmNlTnVtYmVycyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkF2YWlsYWJsZVNlcXVlbmNlTnVtYmVycyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0 +aEZpZWxkPSJOb09mQXZhaWxhYmxlU2VxdWVuY2VOdW1iZXJzIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTW9yZU5vdGlmaWNhdGlvbnMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik5vdGlmaWNhdGlvbk1lc3NhZ2UiIFR5cGVOYW1lPSJ0bnM6Tm90aWZp +Y2F0aW9uTWVzc2FnZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBl +TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5h +bWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFn +bm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVwdWJsaXNo +UmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXRyYW5zbWl0U2VxdWVuY2VOdW1iZXIiIFR5cGVOYW1l +PSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj +dHVyZWRUeXBlIE5hbWU9IlJlcHVibGlzaFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u +T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0i +dG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm90aWZpY2F0aW9u +TWVzc2FnZSIgVHlwZU5hbWU9InRuczpOb3RpZmljYXRpb25NZXNzYWdlIiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRyYW5zZmVyUmVz +dWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTm9PZkF2YWlsYWJsZVNlcXVlbmNlTnVtYmVycyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF2YWlsYWJsZVNlcXVlbmNlTnVtYmVycyIgVHlwZU5h +bWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mQXZhaWxhYmxlU2VxdWVuY2VOdW1iZXJz +IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9IlRyYW5zZmVyU3Vic2NyaXB0aW9uc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P +YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRu +czpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlN1YnNjcmlwdGlv +bklkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNj +cmlwdGlvbklkcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mU3Vic2Ny +aXB0aW9uSWRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VuZEluaXRpYWxWYWx1ZXMiIFR5 +cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w +YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJUcmFuc2ZlclN1YnNjcmlwdGlvbnNSZXNwb25zZSIgQmFz +ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25z +ZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InRuczpUcmFuc2ZlclJlc3VsdCIgTGVuZ3RoRmll +bGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJ +bmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdu +b3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9P +ZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT +dHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVTdWJzY3JpcHRpb25zUmVxdWVzdCIgQmFzZVR5cGU9 +InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVy +IiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO +b09mU3Vic2NyaXB0aW9uSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iU3Vic2NyaXB0aW9uSWRzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmll +bGQ9Ik5vT2ZTdWJzY3JpcHRpb25JZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog +IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlU3Vic2NyaXB0aW9uc1Jlc3BvbnNlIiBC +YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3Bv +bnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9 +Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZv +cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0 +aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRp +YWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 +Y3R1cmVkVHlwZSBOYW1lPSJCdWlsZEluZm8iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJvZHVjdFVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmci +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYW51ZmFjdHVyZXJOYW1lIiBUeXBlTmFtZT0ib3Bj +OlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByb2R1Y3ROYW1lIiBUeXBlTmFtZT0i +b3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvZnR3YXJlVmVyc2lvbiIgVHlw +ZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCdWlsZE51bWJlciIg +VHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCdWlsZERhdGUi +IFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog +IDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iUmVkdW5kYW5jeVN1cHBvcnQiIExlbmd0aEluQml0 +cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAv +Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkNvbGQiIFZhbHVlPSIxIiAvPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ildhcm0iIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6 +RW51bWVyYXRlZFZhbHVlIE5hbWU9IkhvdCIgVmFsdWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJh +dGVkVmFsdWUgTmFtZT0iVHJhbnNwYXJlbnQiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVy +YXRlZFZhbHVlIE5hbWU9IkhvdEFuZE1pcnJvcmVkIiBWYWx1ZT0iNSIgLz4NCiAgPC9vcGM6RW51 +bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJTZXJ2ZXJTdGF0ZSIg +TGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUnVubmlu +ZyIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRmFpbGVkIiBW +YWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb0NvbmZpZ3VyYXRp +b24iIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN1c3BlbmRl +ZCIgVmFsdWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU2h1dGRvd24i +IFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlRlc3QiIFZhbHVl +PSI1IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkNvbW11bmljYXRpb25GYXVs +dCIgVmFsdWU9IjYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVW5rbm93biIg +VmFsdWU9IjciIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl +ZFR5cGUgTmFtZT0iUmVkdW5kYW50U2VydmVyRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp +b25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVySWQiIFR5cGVOYW1lPSJvcGM6 +U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmljZUxldmVsIiBUeXBlTmFtZT0i +b3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJTdGF0ZSIgVHlwZU5hbWU9 +InRuczpTZXJ2ZXJTdGF0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT +dHJ1Y3R1cmVkVHlwZSBOYW1lPSJFbmRwb2ludFVybExpc3REYXRhVHlwZSIgQmFzZVR5cGU9InVh +OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRW5kcG9pbnRVcmxM +aXN0IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kcG9p +bnRVcmxMaXN0IiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZFbmRwb2lu +dFVybExpc3QiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl +ZFR5cGUgTmFtZT0iTmV0d29ya0dyb3VwRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P +YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyVXJpIiBUeXBlTmFtZT0ib3BjOlN0 +cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOZXR3b3JrUGF0aHMiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOZXR3b3JrUGF0aHMiIFR5cGVO +YW1lPSJ0bnM6RW5kcG9pbnRVcmxMaXN0RGF0YVR5cGUiIExlbmd0aEZpZWxkPSJOb09mTmV0d29y +a1BhdGhzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU +eXBlIE5hbWU9IlNhbXBsaW5nSW50ZXJ2YWxEaWFnbm9zdGljc0RhdGFUeXBlIiBCYXNlVHlwZT0i +dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNhbXBsaW5nSW50ZXJ2 +YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRv +cmVkSXRlbUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ik1heE1vbml0b3JlZEl0ZW1Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJEaXNhYmxlZE1vbml0b3JlZEl0ZW1Db3VudCIgVHlwZU5hbWU9Im9w +YzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl +ZFR5cGUgTmFtZT0iU2VydmVyRGlhZ25vc3RpY3NTdW1tYXJ5RGF0YVR5cGUiIEJhc2VUeXBlPSJ1 +YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyVmlld0NvdW50 +IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1cnJlbnRT +ZXNzaW9uQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iQ3VtdWxhdGVkU2Vzc2lvbkNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5UmVqZWN0ZWRTZXNzaW9uQ291bnQiIFR5cGVOYW1lPSJv +cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVqZWN0ZWRTZXNzaW9uQ291bnQi +IFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvblRp +bWVvdXRDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJTZXNzaW9uQWJvcnRDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJDdXJyZW50U3Vic2NyaXB0aW9uQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3VtdWxhdGVkU3Vic2NyaXB0aW9uQ291bnQiIFR5 +cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaGluZ0lu +dGVydmFsQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iU2VjdXJpdHlSZWplY3RlZFJlcXVlc3RzQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVqZWN0ZWRSZXF1ZXN0c0NvdW50IiBUeXBlTmFtZT0i +b3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 +cmVkVHlwZSBOYW1lPSJTZXJ2ZXJTdGF0dXNEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lv +bk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGFydFRpbWUiIFR5cGVOYW1lPSJvcGM6 +RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdXJyZW50VGltZSIgVHlwZU5hbWU9 +Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXRlIiBUeXBlTmFtZT0i +dG5zOlNlcnZlclN0YXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnVpbGRJbmZvIiBUeXBl +TmFtZT0idG5zOkJ1aWxkSW5mbyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY29uZHNUaWxs +U2h1dGRvd24iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +U2h1dGRvd25SZWFzb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNlc3Npb25EaWFn +bm9zdGljc0RhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlNlc3Npb25OYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkNsaWVudERlc2NyaXB0aW9uIiBUeXBlTmFtZT0idG5zOkFwcGxpY2F0 +aW9uRGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJVcmkiIFR5cGVO +YW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kcG9pbnRVcmwiIFR5 +cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxvY2FsZUlk +cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsZUlk +cyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mTG9jYWxlSWRzIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iQWN0dWFsU2Vzc2lvblRpbWVvdXQiIFR5cGVOYW1lPSJvcGM6 +RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4UmVzcG9uc2VNZXNzYWdlU2l6ZSIg +VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnRDb25u +ZWN0aW9uVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkNsaWVudExhc3RDb250YWN0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkN1cnJlbnRTdWJzY3JpcHRpb25zQ291bnQiIFR5cGVOYW1lPSJv +cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3VycmVudE1vbml0b3JlZEl0ZW1z +Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3Vy +cmVudFB1Ymxpc2hSZXF1ZXN0c0luUXVldWUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iVG90YWxSZXF1ZXN0Q291bnQiIFR5cGVOYW1lPSJ0bnM6U2Vydmlj +ZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVuYXV0aG9yaXplZFJl +cXVlc3RDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJSZWFkQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ikhpc3RvcnlSZWFkQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2Vydmlj +ZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlQ291bnQiIFR5 +cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ikhpc3RvcnlVcGRhdGVDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFU +eXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2FsbENvdW50IiBUeXBlTmFtZT0idG5zOlNl +cnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDcmVhdGVNb25p +dG9yZWRJdGVtc0NvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb2RpZnlNb25pdG9yZWRJdGVtc0NvdW50IiBUeXBlTmFt +ZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT +ZXRNb25pdG9yaW5nTW9kZUNvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5 +cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXRUcmlnZ2VyaW5nQ291bnQiIFR5cGVOYW1l +PSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRl +bGV0ZU1vbml0b3JlZEl0ZW1zQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRh +VHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNyZWF0ZVN1YnNjcmlwdGlvbkNvdW50IiBU +eXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJNb2RpZnlTdWJzY3JpcHRpb25Db3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRl +ckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2V0UHVibGlzaGluZ01vZGVDb3Vu +dCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iUHVibGlzaENvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5 +cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXB1Ymxpc2hDb3VudCIgVHlwZU5hbWU9InRu +czpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNm +ZXJTdWJzY3JpcHRpb25zQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlw +ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlbGV0ZVN1YnNjcmlwdGlvbnNDb3VudCIgVHlw +ZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iQWRkTm9kZXNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWRkUmVmZXJlbmNlc0NvdW50IiBUeXBlTmFtZT0idG5z +OlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZWxldGVO +b2Rlc0NvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJEZWxldGVSZWZlcmVuY2VzQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2Vy +dmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZUNvdW50 +IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJCcm93c2VOZXh0Q291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRh +VHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2Rl +SWRzQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlF1ZXJ5Rmlyc3RDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291 +bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVlcnlOZXh0Q291bnQiIFR5 +cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlJlZ2lzdGVyTm9kZXNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFU +eXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVW5yZWdpc3Rlck5vZGVzQ291bnQiIFR5cGVO +YW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 +cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXNzaW9uU2VjdXJpdHlEaWFnbm9z +dGljc0RhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkNsaWVudFVzZXJJZE9mU2Vzc2lvbiIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQ2xpZW50VXNlcklkSGlzdG9yeSIgVHlwZU5hbWU9 +Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudFVzZXJJZEhpc3Rvcnki +IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZkNsaWVudFVzZXJJZEhpc3Rv +cnkiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdXRoZW50aWNhdGlvbk1lY2hhbmlzbSIgVHlw +ZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmNvZGluZyIgVHlw +ZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc3BvcnRQcm90 +b2NvbCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1 +cml0eU1vZGUiIFR5cGVOYW1lPSJ0bnM6TWVzc2FnZVNlY3VyaXR5TW9kZSIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlNlY3VyaXR5UG9saWN5VXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudENlcnRpZmljYXRlIiBUeXBlTmFtZT0ib3BjOkJ5 +dGVTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl +ZFR5cGUgTmFtZT0iU2VydmljZUNvdW50ZXJEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lv +bk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUb3RhbENvdW50IiBUeXBlTmFtZT0ib3Bj +OlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVycm9yQ291bnQiIFR5cGVOYW1lPSJv +cGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy +ZWRUeXBlIE5hbWU9IlN0YXR1c1Jlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29k +ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvIiBUeXBlTmFtZT0idWE6 +RGlhZ25vc3RpY0luZm8iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry +dWN0dXJlZFR5cGUgTmFtZT0iU3Vic2NyaXB0aW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgQmFzZVR5 +cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXNzaW9uSWQi +IFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRp +b25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcmlv +cml0eSIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlz +aGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ik1heEtlZXBBbGl2ZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik1heExpZmV0aW1lQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2giIFR5cGVOYW1l +PSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaGluZ0VuYWJsZWQi +IFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vZGlmeUNv +dW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuYWJs +ZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRp +c2FibGVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJSZXB1Ymxpc2hSZXF1ZXN0Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUmVwdWJsaXNoTWVzc2FnZVJlcXVlc3RDb3VudCIgVHlwZU5hbWU9Im9w +YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXB1Ymxpc2hNZXNzYWdlQ291bnQi +IFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNmZXJS +ZXF1ZXN0Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iVHJhbnNmZXJyZWRUb0FsdENsaWVudENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyYW5zZmVycmVkVG9TYW1lQ2xpZW50Q291bnQiIFR5cGVO +YW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaFJlcXVlc3RD +b3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRh +Q2hhbmdlTm90aWZpY2F0aW9uc0NvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkV2ZW50Tm90aWZpY2F0aW9uc0NvdW50IiBUeXBlTmFtZT0ib3BjOlVJ +bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vdGlmaWNhdGlvbnNDb3VudCIgVHlwZU5h +bWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXRlUHVibGlzaFJlcXVl +c3RDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJD +dXJyZW50S2VlcEFsaXZlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iQ3VycmVudExpZmV0aW1lQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVW5hY2tub3dsZWRnZWRNZXNzYWdlQ291bnQiIFR5cGVO +YW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY2FyZGVkTWVzc2Fn +ZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1v +bml0b3JlZEl0ZW1Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJEaXNhYmxlZE1vbml0b3JlZEl0ZW1Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb25pdG9yaW5nUXVldWVPdmVyZmxvd0NvdW50IiBU +eXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5leHRTZXF1ZW5j +ZU51bWJlciIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJF +dmVudFF1ZXVlT3ZlckZsb3dDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iTW9kZWxDaGFu +Z2VTdHJ1Y3R1cmVWZXJiTWFzayIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJh +dGVkVmFsdWUgTmFtZT0iTm9kZUFkZGVkIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0 +ZWRWYWx1ZSBOYW1lPSJOb2RlRGVsZXRlZCIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJh +dGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlQWRkZWQiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IlJlZmVyZW5jZURlbGV0ZWQiIFZhbHVlPSI4IiAvPg0KICAgIDxv +cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRhdGFUeXBlQ2hhbmdlZCIgVmFsdWU9IjE2IiAvPg0K +ICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1v +ZGVsQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWZmZWN0ZWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZmZlY3RlZFR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWZXJiIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2Vt +YW50aWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj +dCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZmZlY3RlZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFmZmVjdGVkVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJ +ZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO +YW1lPSJSYW5nZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJMb3ciIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iSGlnaCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRVVJbmZvcm1hdGlvbiIgQmFzZVR5cGU9 +InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lc3BhY2VVcmki +IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVW5pdElkIiBU +eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUi +IFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVz +Y3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkF4aXNTY2FsZUVudW1lcmF0 +aW9uIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJM +aW5lYXIiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkxvZyIg +VmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTG4iIFZhbHVlPSIy +IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9IkNvbXBsZXhOdW1iZXJUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlJlYWwiIFR5cGVOYW1lPSJvcGM6RmxvYXQiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJJbWFnaW5hcnkiIFR5cGVOYW1lPSJvcGM6RmxvYXQiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRG91YmxlQ29t +cGxleE51bWJlclR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iUmVhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJJbWFnaW5hcnkiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkF4aXNJbmZvcm1hdGlv +biIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJF +bmdpbmVlcmluZ1VuaXRzIiBUeXBlTmFtZT0idG5zOkVVSW5mb3JtYXRpb24iIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJFVVJhbmdlIiBUeXBlTmFtZT0idG5zOlJhbmdlIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iVGl0bGUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iQXhpc1NjYWxlVHlwZSIgVHlwZU5hbWU9InRuczpBeGlzU2NhbGVFbnVt +ZXJhdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBeGlzU3RlcHMiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBeGlzU3RlcHMiIFR5cGVOYW1l +PSJvcGM6RG91YmxlIiBMZW5ndGhGaWVsZD0iTm9PZkF4aXNTdGVwcyIgLz4NCiAgPC9vcGM6U3Ry +dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJYVlR5cGUiIEJhc2VU +eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iWCIgVHlwZU5h +bWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9 +Im9wYzpGbG9hdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 +cmVkVHlwZSBOYW1lPSJQcm9ncmFtRGlhZ25vc3RpY0RhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0 +ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNyZWF0ZVNlc3Npb25JZCIgVHlw +ZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNyZWF0ZUNsaWVudE5h +bWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW52b2Nh +dGlvbkNyZWF0aW9uVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ikxhc3RUcmFuc2l0aW9uVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxhc3RNZXRob2RDYWxsIiBUeXBlTmFtZT0ib3BjOlN0cmlu +ZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxhc3RNZXRob2RTZXNzaW9uSWQiIFR5cGVOYW1l +PSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTGFzdE1ldGhvZElucHV0 +QXJndW1lbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +TGFzdE1ldGhvZElucHV0QXJndW1lbnRzIiBUeXBlTmFtZT0idG5zOkFyZ3VtZW50IiBMZW5ndGhG +aWVsZD0iTm9PZkxhc3RNZXRob2RJbnB1dEFyZ3VtZW50cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ik5vT2ZMYXN0TWV0aG9kT3V0cHV0QXJndW1lbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZE91dHB1dEFyZ3VtZW50cyIgVHlwZU5h +bWU9InRuczpBcmd1bWVudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZMYXN0TWV0aG9kT3V0cHV0QXJndW1l +bnRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZENhbGxUaW1lIiBUeXBlTmFt +ZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZFJldHVy +blN0YXR1cyIgVHlwZU5hbWU9InRuczpTdGF0dXNSZXN1bHQiIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUHJvZ3JhbURpYWdub3N0aWMy +RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iQ3JlYXRlU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iQ3JlYXRlQ2xpZW50TmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJJbnZvY2F0aW9uQ3JlYXRpb25UaW1lIiBUeXBlTmFtZT0ib3Bj +OkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdFRyYW5zaXRpb25UaW1lIiBU +eXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhv +ZENhbGwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFz +dE1ldGhvZFNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vT2ZMYXN0TWV0aG9kSW5wdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kSW5wdXRBcmd1bWVudHMiIFR5cGVO +YW1lPSJ0bnM6QXJndW1lbnQiIExlbmd0aEZpZWxkPSJOb09mTGFzdE1ldGhvZElucHV0QXJndW1l +bnRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxhc3RNZXRob2RPdXRwdXRBcmd1bWVu +dHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0 +aG9kT3V0cHV0QXJndW1lbnRzIiBUeXBlTmFtZT0idG5zOkFyZ3VtZW50IiBMZW5ndGhGaWVsZD0i +Tm9PZkxhc3RNZXRob2RPdXRwdXRBcmd1bWVudHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO +b09mTGFzdE1ldGhvZElucHV0VmFsdWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZElucHV0VmFsdWVzIiBUeXBlTmFtZT0idWE6VmFyaWFu +dCIgTGVuZ3RoRmllbGQ9Ik5vT2ZMYXN0TWV0aG9kSW5wdXRWYWx1ZXMiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJOb09mTGFzdE1ldGhvZE91dHB1dFZhbHVlcyIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxhc3RNZXRob2RPdXRwdXRWYWx1ZXMiIFR5cGVO +YW1lPSJ1YTpWYXJpYW50IiBMZW5ndGhGaWVsZD0iTm9PZkxhc3RNZXRob2RPdXRwdXRWYWx1ZXMi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kQ2FsbFRpbWUiIFR5cGVOYW1lPSJv +cGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kUmV0dXJuU3Rh +dHVzIiBUeXBlTmFtZT0idG5zOlN0YXR1c1Jlc3VsdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 +cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBbm5vdGF0aW9uIiBCYXNlVHlwZT0i +dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2UiIFR5cGVO +YW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlck5hbWUiIFR5cGVO +YW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQW5ub3RhdGlvblRpbWUi +IFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog +IDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRXhjZXB0aW9uRGV2aWF0aW9uRm9ybWF0IiBMZW5n +dGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBYnNvbHV0ZVZh +bHVlIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJQZXJjZW50 +T2ZWYWx1ZSIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUGVy +Y2VudE9mUmFuZ2UiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 +IlBlcmNlbnRPZkVVUmFuZ2UiIFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9IlVua25vd24iIFZhbHVlPSI0IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0K +PC9vcGM6VHlwZURpY3Rpb25hcnk+ + + + + NamespaceUri + A URI that uniquely identifies the dictionary. + + i=68 + i=7617 + + + http://opcfoundation.org/UA/ + + + + Deprecated + Indicates that all of the definitions for the dictionary are available through a DataTypeDefinition Attribute. + + i=68 + i=7617 + + + true + + + + KeyValuePair + + i=69 + i=7617 + + + KeyValuePair + + + + EndpointType + + i=69 + i=7617 + + + EndpointType + + + + IdentityMappingRuleType + + i=69 + i=7617 + + + IdentityMappingRuleType + + + + 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 + + + + 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 + + + + Union + + i=69 + i=7617 + + + Union + + + + 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=14533 + i=14829 + i=76 + + + + Default XML + + i=15528 + i=16024 + i=76 + + + + Default XML + + i=15634 + i=15730 + i=76 + + + + Default XML + + i=12554 + i=12677 + 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=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=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=12756 + i=12762 + i=76 + + + + Default XML + + i=8912 + i=8918 + i=76 + + + + Default XML + + i=308 + i=8300 + i=76 + + + + Default XML + + i=12189 + i=12201 + i=76 + + + + Default XML + + i=304 + i=8297 + i=76 + + + + Default XML + + i=312 + i=8303 + i=76 + + + + Default XML + + i=432 + i=8417 + i=76 + + + + Default XML + + i=12890 + i=12894 + i=76 + + + + Default XML + + i=12891 + i=12897 + i=76 + + + + Default XML + + i=344 + i=8333 + 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=376 + i=8363 + i=76 + + + + Default XML + + i=379 + i=8366 + i=76 + + + + Default XML + + i=382 + i=8369 + i=76 + + + + Default XML + + i=385 + i=8372 + i=76 + + + + Default XML + + i=537 + i=12712 + i=76 + + + + Default XML + + i=540 + i=12715 + i=76 + + + + Default XML + + i=331 + i=8321 + 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=659 + i=8639 + i=76 + + + + Default XML + + i=719 + i=8702 + i=76 + + + + Default XML + + i=725 + i=8708 + i=76 + + + + Default XML + + i=948 + i=8711 + i=76 + + + + Default XML + + i=920 + i=8807 + 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=15396 + i=15402 + i=76 + + + + Default XML + + i=891 + i=8879 + i=76 + + + + Opc.Ua + + i=8254 + i=15039 + i=14829 + i=16024 + i=15730 + 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=16127 + i=18166 + i=18169 + i=18172 + i=18175 + i=8285 + i=8291 + i=14826 + i=12759 + i=12762 + 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=15402 + 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 @@ -24335,1052 +49643,2310 @@ YWJsZT0idHJ1ZSIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJJbWFnZUJNUCIgdHlwZT0ieHM6 YmFzZTY0QmluYXJ5IiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkltYWdlR0lGIiB0eXBlPSJ4 czpiYXNlNjRCaW5hcnkiIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iSW1hZ2VKUEciIHR5cGU9 InhzOmJhc2U2NEJpbmFyeSIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJJbWFnZVBORyIgdHlw -ZT0ieHM6YmFzZTY0QmluYXJ5IiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkJpdEZpZWxkTWFz -a0RhdGFUeXBlIiB0eXBlPSJ4czp1bnNpZ25lZExvbmciIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUg -IG5hbWU9Ik9wZW5GaWxlTW9kZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmlu -ZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlYWRfMSIgLz4NCiAgICAgIDx4czpl -bnVtZXJhdGlvbiB2YWx1ZT0iV3JpdGVfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 -ZT0iRXJhc2VFeGlzdGluZ180IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBcHBl -bmRfOCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9Ik9wZW5GaWxlTW9kZSIgdHlwZT0idG5zOk9wZW5GaWxlTW9kZSIgLz4N -Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mT3BlbkZpbGVNb2RlIj4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPcGVuRmlsZU1vZGUiIHR5cGU9InRu -czpPcGVuRmlsZU1vZGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iTGlzdE9mT3BlbkZpbGVNb2RlIiB0eXBlPSJ0bnM6TGlzdE9mT3BlbkZpbGVNb2RlIiBuaWxs -YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJUcnVz -dExpc3RNYXNrcyI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAg -ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv -biB2YWx1ZT0iVHJ1c3RlZENlcnRpZmljYXRlc18xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u -IHZhbHVlPSJUcnVzdGVkQ3Jsc18yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJ -c3N1ZXJDZXJ0aWZpY2F0ZXNfNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNz -dWVyQ3Jsc184IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBbGxfMTUiIC8+DQog -ICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJUcnVzdExpc3RNYXNrcyIgdHlwZT0idG5zOlRydXN0TGlzdE1hc2tzIiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJUcnVzdExpc3REYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3BlY2lmaWVkTGlzdHMiIHR5cGU9InhzOnVuc2ln -bmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcnVzdGVk -Q2VydGlmaWNhdGVzIiB0eXBlPSJ1YTpMaXN0T2ZCeXRlU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJ1c3RlZENybHMiIHR5 -cGU9InVhOkxpc3RPZkJ5dGVTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc3N1ZXJDZXJ0aWZpY2F0ZXMiIHR5cGU9InVhOkxp -c3RPZkJ5dGVTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJJc3N1ZXJDcmxzIiB0eXBlPSJ1YTpMaXN0T2ZCeXRlU3RyaW5nIiBt +ZT0ieHM6YmFzZTY0QmluYXJ5IiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkF1ZGlvRGF0YVR5 +cGUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCaXRG +aWVsZE1hc2tEYXRhVHlwZSIgdHlwZT0ieHM6dW5zaWduZWRMb25nIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJLZXlWYWx1ZVBhaXIiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IktleSIgdHlwZT0idWE6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlIiB0eXBl +PSJ1YTpWYXJpYW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iS2V5VmFsdWVQYWlyIiB0eXBlPSJ0 +bnM6S2V5VmFsdWVQYWlyIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZLZXlW +YWx1ZVBhaXIiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Iktl +eVZhbHVlUGFpciIgdHlwZT0idG5zOktleVZhbHVlUGFpciIgbWluT2NjdXJzPSIwIiBtYXhPY2N1 +cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mS2V5VmFsdWVQYWly +IiB0eXBlPSJ0bnM6TGlzdE9mS2V5VmFsdWVQYWlyIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVt +ZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFbmRwb2ludFR5cGUiPg0KICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50VXJsIiB0eXBlPSJ4czpz +dHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVBvbGljeVVyaSIg +dHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNwb3J0UHJvZmlsZVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBt aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRydXN0TGlzdERhdGFUeXBlIiB0 -eXBlPSJ0bnM6VHJ1c3RMaXN0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 -Ikxpc3RPZlRydXN0TGlzdERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJUcnVzdExpc3REYXRhVHlwZSIgdHlwZT0idG5zOlRydXN0TGlzdERhdGFU -eXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJMaXN0T2ZUcnVzdExpc3REYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlRydXN0TGlz -dERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVU -eXBlICBuYW1lPSJJZFR5cGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3Vt -ZW50YXRpb24+VGhlIHR5cGUgb2YgaWRlbnRpZmllciB1c2VkIGluIGEgbm9kZSBpZC48L3hzOmRv -Y3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpyZXN0cmljdGlvbiBi -YXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOdW1lcmljXzAi -IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN0cmluZ18xIiAvPg0KICAgICAgPHhz -OmVudW1lcmF0aW9uIHZhbHVlPSJHdWlkXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs -dWU9Ik9wYXF1ZV8zIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSWRUeXBlIiB0eXBlPSJ0bnM6SWRUeXBlIiAvPg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZJZFR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IklkVHlwZSIgdHlwZT0idG5zOklkVHlwZSIgbWluT2Nj -dXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZJZFR5cGUiIHR5cGU9 -InRuczpMaXN0T2ZJZFR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhz -OnNpbXBsZVR5cGUgIG5hbWU9Ik5vZGVDbGFzcyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg -ICA8eHM6ZG9jdW1lbnRhdGlvbj5BIG1hc2sgc3BlY2lmeWluZyB0aGUgY2xhc3Mgb2YgdGhlIG5v -ZGUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6cmVz +eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50VHlwZSIgdHlwZT0i +dG5zOkVuZHBvaW50VHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRW5k +cG9pbnRUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJF +bmRwb2ludFR5cGUiIHR5cGU9InRuczpFbmRwb2ludFR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2Nj +dXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkVuZHBvaW50VHlw +ZSIgdHlwZT0idG5zOkxpc3RPZkVuZHBvaW50VHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxl +bWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iT3BlbkZpbGVNb2RlIj4NCiAgICA8eHM6 +cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 +ZT0iUmVhZF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJXcml0ZV8yIiAvPg0K +ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJFcmFzZUV4aXN0aW5nXzQiIC8+DQogICAgICA8 +eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFwcGVuZF84IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+ +DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT3BlbkZpbGVNb2RlIiB0 +eXBlPSJ0bnM6T3BlbkZpbGVNb2RlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0 +T2ZPcGVuRmlsZU1vZGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9Ik9wZW5GaWxlTW9kZSIgdHlwZT0idG5zOk9wZW5GaWxlTW9kZSIgbWluT2NjdXJzPSIwIiBt +YXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZPcGVuRmlsZU1vZGUiIHR5cGU9InRu +czpMaXN0T2ZPcGVuRmlsZU1vZGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg +PHhzOnNpbXBsZVR5cGUgIG5hbWU9IklkZW50aXR5Q3JpdGVyaWFUeXBlIj4NCiAgICA8eHM6cmVz dHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i -VW5zcGVjaWZpZWRfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iT2JqZWN0XzEi -IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZhcmlhYmxlXzIiIC8+DQogICAgICA8 -eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik1ldGhvZF80IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u -IHZhbHVlPSJPYmplY3RUeXBlXzgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZh -cmlhYmxlVHlwZV8xNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVmZXJlbmNl -VHlwZV8zMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGF0YVR5cGVfNjQiIC8+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZpZXdfMTI4IiAvPg0KICAgIDwveHM6cmVz -dHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUNs -YXNzIiB0eXBlPSJ0bnM6Tm9kZUNsYXNzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJO -b2RlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlNwZWNp -ZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gYWxsIG5vZGVzLjwveHM6ZG9jdW1l -bnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlQ2xhc3MiIHR5 -cGU9InRuczpOb2RlQ2xhc3MiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IkJyb3dzZU5hbWUiIHR5cGU9InVhOlF1YWxpZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNwbGF5TmFtZSIgdHlw -ZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IkRlc2NyaXB0aW9uIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0 -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iV3JpdGVNYXNrIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlcldyaXRlTWFzayIgdHlwZT0ieHM6dW5zaWduZWRJbnQi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZXMiIHR5 -cGU9InRuczpMaXN0T2ZSZWZlcmVuY2VOb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9Ik5vZGUiIHR5cGU9InRuczpOb2RlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJMaXN0T2ZOb2RlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJOb2RlIiB0eXBlPSJ0bnM6Tm9kZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91 -bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTm9kZSIgdHlwZT0idG5zOkxpc3RP -Zk5vZGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9Ikluc3RhbmNlTm9kZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxz -ZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlIj4NCiAgICAgICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQog +VXNlck5hbWVfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVGh1bWJwcmludF8y +IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSb2xlXzMiIC8+DQogICAgICA8eHM6 +ZW51bWVyYXRpb24gdmFsdWU9Ikdyb3VwSWRfNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 +YWx1ZT0iQW5vbnltb3VzXzUiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkF1dGhl +bnRpY2F0ZWRVc2VyXzYiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJJZGVudGl0eUNyaXRlcmlhVHlwZSIgdHlwZT0idG5z +OklkZW50aXR5Q3JpdGVyaWFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0 +T2ZJZGVudGl0eUNyaXRlcmlhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iSWRlbnRpdHlDcml0ZXJpYVR5cGUiIHR5cGU9InRuczpJZGVudGl0eUNyaXRl +cmlhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0 +T2ZJZGVudGl0eUNyaXRlcmlhVHlwZSIgdHlwZT0idG5zOkxpc3RPZklkZW50aXR5Q3JpdGVyaWFU +eXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBu +YW1lPSJJZGVudGl0eU1hcHBpbmdSdWxlVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iQ3JpdGVyaWFUeXBlIiB0eXBlPSJ0bnM6SWRlbnRpdHlDcml0ZXJp +YVR5cGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNyaXRlcmlh +IiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +SWRlbnRpdHlNYXBwaW5nUnVsZVR5cGUiIHR5cGU9InRuczpJZGVudGl0eU1hcHBpbmdSdWxlVHlw +ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mSWRlbnRpdHlNYXBwaW5nUnVs +ZVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IklkZW50 +aXR5TWFwcGluZ1J1bGVUeXBlIiB0eXBlPSJ0bnM6SWRlbnRpdHlNYXBwaW5nUnVsZVR5cGUiIG1p +bk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +Ikxpc3RPZklkZW50aXR5TWFwcGluZ1J1bGVUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mSWRlbnRpdHlN +YXBwaW5nUnVsZVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNp +bXBsZVR5cGUgIG5hbWU9IlRydXN0TGlzdE1hc2tzIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFz +ZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9uZV8wIiAvPg0K +ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJUcnVzdGVkQ2VydGlmaWNhdGVzXzEiIC8+DQog +ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlRydXN0ZWRDcmxzXzIiIC8+DQogICAgICA8eHM6 +ZW51bWVyYXRpb24gdmFsdWU9Iklzc3VlckNlcnRpZmljYXRlc180IiAvPg0KICAgICAgPHhzOmVu +dW1lcmF0aW9uIHZhbHVlPSJJc3N1ZXJDcmxzXzgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g +dmFsdWU9IkFsbF8xNSIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRydXN0TGlzdE1hc2tzIiB0eXBlPSJ0bnM6VHJ1c3RM +aXN0TWFza3MiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlRydXN0TGlzdERhdGFUeXBl +Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTcGVjaWZpZWRM +aXN0cyIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlRydXN0ZWRDZXJ0aWZpY2F0ZXMiIHR5cGU9InVhOkxpc3RPZkJ5dGVTdHJp +bmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJUcnVzdGVkQ3JscyIgdHlwZT0idWE6TGlzdE9mQnl0ZVN0cmluZyIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Iklzc3VlckNlcnRp +ZmljYXRlcyIgdHlwZT0idWE6TGlzdE9mQnl0ZVN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Iklzc3VlckNybHMiIHR5cGU9InVh +Okxpc3RPZkJ5dGVTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +VHJ1c3RMaXN0RGF0YVR5cGUiIHR5cGU9InRuczpUcnVzdExpc3REYXRhVHlwZSIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mVHJ1c3RMaXN0RGF0YVR5cGUiPg0KICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRydXN0TGlzdERhdGFUeXBlIiB0eXBl +PSJ0bnM6VHJ1c3RMaXN0RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5k +ZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlRydXN0TGlzdERhdGFUeXBlIiB0eXBl +PSJ0bnM6TGlzdE9mVHJ1c3RMaXN0RGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1l +bnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlY2ltYWxEYXRhVHlwZSI+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2NhbGUiIHR5cGU9InhzOnNob3J0 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0i +eHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRl +Y2ltYWxEYXRhVHlwZSIgdHlwZT0idG5zOkRlY2ltYWxEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iRGF0YVR5cGVTY2hlbWFIZWFkZXIiPg0KICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5hbWVzcGFjZXMiIHR5cGU9InVhOkxpc3RPZlN0cmlu +ZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlN0cnVjdHVyZURhdGFUeXBlcyIgdHlwZT0idG5zOkxpc3RPZlN0cnVjdHVyZURlc2NyaXB0 +aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iRW51bURhdGFUeXBlcyIgdHlwZT0idG5zOkxpc3RPZkVudW1EZXNjcmlwdGlvbiIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNp +bXBsZURhdGFUeXBlcyIgdHlwZT0idG5zOkxpc3RPZlNpbXBsZVR5cGVEZXNjcmlwdGlvbiIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz +OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZVNjaGVtYUhlYWRlciIg +dHlwZT0idG5zOkRhdGFUeXBlU2NoZW1hSGVhZGVyIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu +YW1lPSJMaXN0T2ZEYXRhVHlwZVNjaGVtYUhlYWRlciI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVR5cGVTY2hlbWFIZWFkZXIiIHR5cGU9InRuczpEYXRh +VHlwZVNjaGVtYUhlYWRlciIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N +CiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRGF0YVR5cGVTY2hlbWFIZWFkZXIiIHR5cGU9InRu +czpMaXN0T2ZEYXRhVHlwZVNjaGVtYUhlYWRlciIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVu +dD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGF0YVR5cGVEZXNjcmlwdGlvbiI+DQogICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVR5cGVJZCIgdHlwZT0i +dWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iTmFtZSIgdHlwZT0idWE6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6RGF0 +YVR5cGVEZXNjcmlwdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGF0 +YVR5cGVEZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iRGF0YVR5cGVEZXNjcmlwdGlvbiIgdHlwZT0idG5zOkRhdGFUeXBlRGVzY3JpcHRpb24i +IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h +bWU9Ikxpc3RPZkRhdGFUeXBlRGVzY3JpcHRpb24iIHR5cGU9InRuczpMaXN0T2ZEYXRhVHlwZURl +c2NyaXB0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJTdHJ1Y3R1cmVEZXNjcmlwdGlvbiI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50 +IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpEYXRhVHlwZURl +c2NyaXB0aW9uIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlN0cnVjdHVyZURlZmluaXRpb24iIHR5cGU9InRuczpTdHJ1Y3R1cmVEZWZpbml0aW9u +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNl +Pg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU3RydWN0dXJlRGVzY3JpcHRpb24i +IHR5cGU9InRuczpTdHJ1Y3R1cmVEZXNjcmlwdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iTGlzdE9mU3RydWN0dXJlRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlN0cnVjdHVyZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6U3Ry +dWN0dXJlRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlN0cnVjdHVyZURlc2NyaXB0aW9uIiB0eXBlPSJ0 +bnM6TGlzdE9mU3RydWN0dXJlRGVzY3JpcHRpb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1l +bnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVudW1EZXNjcmlwdGlvbiI+DQogICAgPHhz +OmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9 +InRuczpEYXRhVHlwZURlc2NyaXB0aW9uIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +ICAgIDx4czplbGVtZW50IG5hbWU9IkVudW1EZWZpbml0aW9uIiB0eXBlPSJ0bnM6RW51bURlZmlu +aXRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iQnVpbHRJblR5cGUiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJz +PSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQog ICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iSW5zdGFuY2VOb2RlIiB0eXBlPSJ0bnM6SW5zdGFuY2VOb2RlIiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJUeXBlTm9kZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1p -eGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlIj4NCiAgICAg -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRl -bnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iVHlwZU5vZGUiIHR5cGU9InRuczpUeXBlTm9kZSIgLz4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iT2JqZWN0Tm9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQog -ICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVs -b25nIHRvIG9iamVjdCBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 -aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4 -dGVuc2lvbiBiYXNlPSJ0bnM6SW5zdGFuY2VOb2RlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50Tm90aWZpZXIiIHR5cGU9InhzOnVuc2ln -bmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAg -PC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT2JqZWN0Tm9kZSIgdHlwZT0idG5zOk9iamVjdE5v -ZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik9iamVjdFR5cGVOb2RlIj4NCiAgICA8 -eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0 -cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gb2JqZWN0IHR5cGUgbm9kZXMuPC94czpkb2N1bWVudGF0 -aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9 -ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOlR5cGVOb2RlIj4NCiAgICAg -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IklzQWJzdHJhY3Qi -IHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5j -ZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9iamVjdFR5cGVOb2RlIiB0eXBl -PSJ0bnM6T2JqZWN0VHlwZU5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlh -YmxlTm9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5T -cGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIHZhcmlhYmxlIG5vZGVzLjwv -eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhD -b250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpJbnN0 -YW5jZU5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iVmFsdWUiIHR5cGU9InVhOlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVl -UmFuayIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iQXJyYXlEaW1lbnNpb25zIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWNj -ZXNzTGV2ZWwiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJBY2Nlc3NMZXZlbCIgdHlwZT0ieHM6dW5zaWduZWRC -eXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWluaW11 -bVNhbXBsaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3Rvcml6aW5nIiB0eXBlPSJ4czpib29sZWFuIiBt -aW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVu -c2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJWYXJpYWJsZU5vZGUiIHR5cGU9InRuczpWYXJpYWJsZU5vZGUiIC8+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhYmxlVHlwZU5vZGUiPg0KICAgIDx4czph -bm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+U3BlY2lmaWVzIHRoZSBhdHRyaWJ1 -dGVzIHdoaWNoIGJlbG9uZyB0byB2YXJpYWJsZSB0eXBlIG5vZGVzLjwveHM6ZG9jdW1lbnRhdGlv -bj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJm -YWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpUeXBlTm9kZSI+DQogICAgICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0i -dWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkRhdGFUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czppbnQi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcnJheURpbWVu -c2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpi -b29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8 -L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWYXJpYWJsZVR5cGVOb2RlIiB0eXBlPSJ0bnM6VmFy -aWFibGVUeXBlTm9kZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVmZXJlbmNlVHlw -ZU5vZGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+U3Bl -Y2lmaWVzIHRoZSBhdHRyaWJ1dGVzIHdoaWNoIGJlbG9uZyB0byByZWZlcmVuY2UgdHlwZSBub2Rl -cy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21w -bGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6 -VHlwZU5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iSXNBYnN0cmFjdCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN5bW1ldHJpYyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkludmVyc2VOYW1lIiB0 -eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpj -b21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -UmVmZXJlbmNlVHlwZU5vZGUiIHR5cGU9InRuczpSZWZlcmVuY2VUeXBlTm9kZSIgLz4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iTWV0aG9kTm9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQog -ICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVs -b25nIHRvIG1ldGhvZCBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 -aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4 -dGVuc2lvbiBiYXNlPSJ0bnM6SW5zdGFuY2VOb2RlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV4ZWN1dGFibGUiIHR5cGU9InhzOmJvb2xlYW4i -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyRXhlY3V0 -YWJsZSIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNl -cXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTWV0aG9kTm9kZSIgdHlw -ZT0idG5zOk1ldGhvZE5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZpZXdOb2Rl -Ij4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRl -bnNpb24gYmFzZT0idG5zOkluc3RhbmNlTm9kZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250YWluc05vTG9vcHMiIHR5cGU9InhzOmJvb2xl -YW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudE5v -dGlmaWVyIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg -PC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENv -bnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlZpZXdOb2Rl -IiB0eXBlPSJ0bnM6Vmlld05vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFU -eXBlTm9kZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8 -eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpUeXBlTm9kZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpib29sZWFu -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4 -dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZU5vZGUiIHR5cGU9InRuczpEYXRhVHlwZU5vZGUi -IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZmVyZW5jZU5vZGUiPg0KICAgIDx4czph -bm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+U3BlY2lmaWVzIGEgcmVmZXJlbmNl -IHdoaWNoIGJlbG9uZ3MgdG8gYSBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu -bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVm -ZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ludmVyc2UiIHR5cGU9InhzOmJvb2xl -YW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdldElkIiB0 -eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJSZWZlcmVuY2VOb2RlIiB0eXBlPSJ0bnM6UmVmZXJlbmNlTm9kZSIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUmVmZXJlbmNlTm9kZSI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlTm9kZSIgdHlwZT0idG5zOlJlZmVy -ZW5jZU5vZGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9Ikxpc3RPZlJlZmVyZW5jZU5vZGUiIHR5cGU9InRuczpMaXN0T2ZSZWZlcmVu -Y2VOb2RlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJBcmd1bWVudCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l -bnRhdGlvbj5BbiBhcmd1bWVudCBmb3IgYSBtZXRob2QuPC94czpkb2N1bWVudGF0aW9uPg0KICAg -IDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBt +bnQgbmFtZT0iRW51bURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6RW51bURlc2NyaXB0aW9uIiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZFbnVtRGVzY3JpcHRpb24iPg0KICAgIDx4 +czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVudW1EZXNjcmlwdGlvbiIgdHlw +ZT0idG5zOkVudW1EZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRl +ZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRW51bURlc2NyaXB0aW9uIiB0eXBlPSJ0 +bnM6TGlzdE9mRW51bURlc2NyaXB0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTaW1wbGVUeXBlRGVzY3JpcHRpb24iPg0KICAgIDx4 +czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNl +PSJ0bnM6RGF0YVR5cGVEZXNjcmlwdGlvbiI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCYXNlRGF0YVR5cGUiIHR5cGU9InVhOk5vZGVJZCIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJCdWlsdEluVHlwZSIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNv +bXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJT +aW1wbGVUeXBlRGVzY3JpcHRpb24iIHR5cGU9InRuczpTaW1wbGVUeXBlRGVzY3JpcHRpb24iIC8+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlNpbXBsZVR5cGVEZXNjcmlwdGlvbiI+ +DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2ltcGxlVHlwZURl +c2NyaXB0aW9uIiB0eXBlPSJ0bnM6U2ltcGxlVHlwZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAi +IG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl +bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTaW1w +bGVUeXBlRGVzY3JpcHRpb24iIHR5cGU9InRuczpMaXN0T2ZTaW1wbGVUeXBlRGVzY3JpcHRpb24i +IG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +IlVBQmluYXJ5RmlsZURhdGFUeXBlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZh +bHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkRhdGFUeXBlU2NoZW1hSGVhZGVy +Ij4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlNj +aGVtYUxvY2F0aW9uIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsZUhlYWRlciIgdHlwZT0idG5z +Okxpc3RPZktleVZhbHVlUGFpciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCb2R5IiB0eXBlPSJ1YTpWYXJpYW50IiBtaW5PY2N1 +cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4N +CiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl +bWVudCBuYW1lPSJVQUJpbmFyeUZpbGVEYXRhVHlwZSIgdHlwZT0idG5zOlVBQmluYXJ5RmlsZURh +dGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZVQUJpbmFyeUZpbGVE +YXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVUFC +aW5hcnlGaWxlRGF0YVR5cGUiIHR5cGU9InRuczpVQUJpbmFyeUZpbGVEYXRhVHlwZSIgbWluT2Nj +dXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 +czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlz +dE9mVUFCaW5hcnlGaWxlRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZVQUJpbmFyeUZpbGVEYXRh +VHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAg +bmFtZT0iUHViU3ViU3RhdGUiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmci +Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEaXNhYmxlZF8wIiAvPg0KICAgICAgPHhz +OmVudW1lcmF0aW9uIHZhbHVlPSJQYXVzZWRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 +YWx1ZT0iT3BlcmF0aW9uYWxfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRXJy +b3JfMyIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9IlB1YlN1YlN0YXRlIiB0eXBlPSJ0bnM6UHViU3ViU3RhdGUiIC8+DQoN +CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlB1YlN1YlN0YXRlIj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJTdWJTdGF0ZSIgdHlwZT0idG5zOlB1 +YlN1YlN0YXRlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxp +c3RPZlB1YlN1YlN0YXRlIiB0eXBlPSJ0bnM6TGlzdE9mUHViU3ViU3RhdGUiIG5pbGxhYmxlPSJ0 +cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFTZXRNZXRh +RGF0YVR5cGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAg +PHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6RGF0YVR5cGVTY2hlbWFIZWFkZXIiPg0KICAgICAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFtZSIgdHlwZT0ieHM6 +c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkRlc2NyaXB0aW9uIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkZp +ZWxkcyIgdHlwZT0idG5zOkxpc3RPZkZpZWxkTWV0YURhdGEiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldENsYXNzSWQi +IHR5cGU9InVhOkd1aWQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJDb25maWd1cmF0aW9uVmVyc2lvbiIgdHlwZT0idG5zOkNvbmZpZ3VyYXRpb25WZXJzaW9u +RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6 +c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50 +Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0TWV0YURh +dGFUeXBlIiB0eXBlPSJ0bnM6RGF0YVNldE1ldGFEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iTGlzdE9mRGF0YVNldE1ldGFEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldE1ldGFEYXRhVHlwZSIgdHlwZT0idG5z +OkRhdGFTZXRNZXRhRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRhdGFTZXRNZXRhRGF0YVR5cGUiIHR5cGU9 +InRuczpMaXN0T2ZEYXRhU2V0TWV0YURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVt +ZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJGaWVsZE1ldGFEYXRhIj4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOYW1lIiB0eXBlPSJ4czpzdHJpbmci +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpZWxkRmxhZ3MiIHR5cGU9 +InRuczpEYXRhU2V0RmllbGRGbGFncyIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iQnVpbHRJblR5cGUiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVR5cGUiIHR5cGU9InVhOk5vZGVJZCIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlZhbHVlUmFuayIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJBcnJheURpbWVuc2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heFN0 +cmluZ0xlbmd0aCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRGaWVsZElkIiB0eXBlPSJ1YTpHdWlkIiBtaW5PY2N1 +cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQcm9wZXJ0aWVzIiB0eXBlPSJ0bnM6 +TGlzdE9mS2V5VmFsdWVQYWlyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +IkZpZWxkTWV0YURhdGEiIHR5cGU9InRuczpGaWVsZE1ldGFEYXRhIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJMaXN0T2ZGaWVsZE1ldGFEYXRhIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWVsZE1ldGFEYXRhIiB0eXBlPSJ0bnM6RmllbGRNZXRh +RGF0YSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iTGlzdE9mRmllbGRNZXRhRGF0YSIgdHlwZT0idG5zOkxpc3RPZkZpZWxkTWV0YURh +dGEiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5h +bWU9IkRhdGFTZXRGaWVsZEZsYWdzIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6dW5z +aWduZWRTaG9ydCI+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0RmllbGRGbGFncyIgdHlwZT0idG5zOkRhdGFTZXRG +aWVsZEZsYWdzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDb25maWd1cmF0aW9uVmVy +c2lvbkRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJNYWpvclZlcnNpb24iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNaW5vclZlcnNpb24iIHR5cGU9InhzOnVuc2lnbmVkSW50 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ29uZmlndXJhdGlvblZlcnNpb25EYXRhVHlwZSIgdHlw +ZT0idG5zOkNvbmZpZ3VyYXRpb25WZXJzaW9uRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9Ikxpc3RPZkNvbmZpZ3VyYXRpb25WZXJzaW9uRGF0YVR5cGUiPg0KICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNvbmZpZ3VyYXRpb25WZXJzaW9uRGF0 +YVR5cGUiIHR5cGU9InRuczpDb25maWd1cmF0aW9uVmVyc2lvbkRhdGFUeXBlIiBtaW5PY2N1cnM9 +IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl +cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZD +b25maWd1cmF0aW9uVmVyc2lvbkRhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mQ29uZmlndXJhdGlv +blZlcnNpb25EYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iUHVibGlzaGVkRGF0YVNldERhdGFUeXBlIj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJE +YXRhU2V0Rm9sZGVyIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0TWV0YURhdGEiIHR5 +cGU9InRuczpEYXRhU2V0TWV0YURhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXh0ZW5zaW9uRmllbGRzIiB0eXBlPSJ0bnM6 +TGlzdE9mS2V5VmFsdWVQYWlyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldFNvdXJjZSIgdHlwZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hlZERhdGFT +ZXREYXRhVHlwZSIgdHlwZT0idG5zOlB1Ymxpc2hlZERhdGFTZXREYXRhVHlwZSIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUHVibGlzaGVkRGF0YVNldERhdGFUeXBlIj4NCiAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoZWREYXRhU2V0 +RGF0YVR5cGUiIHR5cGU9InRuczpQdWJsaXNoZWREYXRhU2V0RGF0YVR5cGUiIG1pbk9jY3Vycz0i +MCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx +dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlB1 +Ymxpc2hlZERhdGFTZXREYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlB1Ymxpc2hlZERhdGFTZXRE +YXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iUHVibGlzaGVkRGF0YVNldFNvdXJjZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVu +Y2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iUHVibGlzaGVkRGF0YVNldFNvdXJjZURhdGFUeXBlIiB0eXBlPSJ0bnM6UHVibGlz +aGVkRGF0YVNldFNvdXJjZURhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJM +aXN0T2ZQdWJsaXNoZWREYXRhU2V0U291cmNlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hlZERhdGFTZXRTb3VyY2VEYXRhVHlwZSIg +dHlwZT0idG5zOlB1Ymxpc2hlZERhdGFTZXRTb3VyY2VEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBt +YXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j +ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUHVibGlz +aGVkRGF0YVNldFNvdXJjZURhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mUHVibGlzaGVkRGF0YVNl +dFNvdXJjZURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJQdWJsaXNoZWRWYXJpYWJsZURhdGFUeXBlIj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoZWRWYXJpYWJsZSIgdHlwZT0i +dWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iQXR0cmlidXRlSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9 +IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTYW1wbGluZ0ludGVydmFsSGludCIgdHlw +ZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJE +ZWFkYmFuZFR5cGUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJEZWFkYmFuZFZhbHVlIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9j +Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9Inhz +OnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlN1YnN0aXR1dGVWYWx1ZSIgdHlwZT0idWE6VmFyaWFudCIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWV0YURhdGFQcm9wZXJ0aWVzIiB0eXBlPSJ1 +YTpMaXN0T2ZRdWFsaWZpZWROYW1lIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h +bWU9IlB1Ymxpc2hlZFZhcmlhYmxlRGF0YVR5cGUiIHR5cGU9InRuczpQdWJsaXNoZWRWYXJpYWJs +ZURhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZQdWJsaXNoZWRW +YXJpYWJsZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJQdWJsaXNoZWRWYXJpYWJsZURhdGFUeXBlIiB0eXBlPSJ0bnM6UHVibGlzaGVkVmFyaWFi +bGVEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iTGlzdE9mUHVibGlzaGVkVmFyaWFibGVEYXRhVHlwZSIgdHlwZT0idG5z +Okxpc3RPZlB1Ymxpc2hlZFZhcmlhYmxlRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVs +ZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlB1Ymxpc2hlZERhdGFJdGVtc0RhdGFU +eXBlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpl +eHRlbnNpb24gYmFzZT0idG5zOlB1Ymxpc2hlZERhdGFTZXRTb3VyY2VEYXRhVHlwZSI+DQogICAg +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoZWRE +YXRhIiB0eXBlPSJ0bnM6TGlzdE9mUHVibGlzaGVkVmFyaWFibGVEYXRhVHlwZSIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwv +eHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hlZERhdGFJdGVtc0RhdGFUeXBlIiB0eXBl +PSJ0bnM6UHVibGlzaGVkRGF0YUl0ZW1zRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9Ikxpc3RPZlB1Ymxpc2hlZERhdGFJdGVtc0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVu +Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoZWREYXRhSXRlbXNEYXRhVHlwZSIg +dHlwZT0idG5zOlB1Ymxpc2hlZERhdGFJdGVtc0RhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9j +Y3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZQdWJsaXNoZWRE +YXRhSXRlbXNEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlB1Ymxpc2hlZERhdGFJdGVtc0RhdGFU +eXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBu +YW1lPSJQdWJsaXNoZWRFdmVudHNEYXRhVHlwZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1p +eGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpQdWJsaXNoZWREYXRh +U2V0U291cmNlRGF0YVR5cGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iRXZlbnROb3RpZmllciIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlbGVj +dGVkRmllbGRzIiB0eXBlPSJ0bnM6TGlzdE9mU2ltcGxlQXR0cmlidXRlT3BlcmFuZCIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJG +aWx0ZXIiIHR5cGU9InRuczpDb250ZW50RmlsdGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQog +ICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iUHVibGlzaGVkRXZlbnRzRGF0YVR5cGUiIHR5cGU9InRuczpQdWJsaXNoZWRFdmVu +dHNEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUHVibGlzaGVk +RXZlbnRzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlB1Ymxpc2hlZEV2ZW50c0RhdGFUeXBlIiB0eXBlPSJ0bnM6UHVibGlzaGVkRXZlbnRzRGF0 +YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9Ikxpc3RPZlB1Ymxpc2hlZEV2ZW50c0RhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9m +UHVibGlzaGVkRXZlbnRzRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoN +CiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkRhdGFTZXRGaWVsZENvbnRlbnRNYXNrIj4NCiAgICA8 +eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6dW5zaWduZWRJbnQiPg0KICAgIDwveHM6cmVzdHJpY3Rp +b24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldEZpZWxk +Q29udGVudE1hc2siIHR5cGU9InRuczpEYXRhU2V0RmllbGRDb250ZW50TWFzayIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGF0YVNldEZpZWxkQ29udGVudE1hc2siPg0KICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRGaWVsZENvbnRl +bnRNYXNrIiB0eXBlPSJ0bnM6RGF0YVNldEZpZWxkQ29udGVudE1hc2siIG1pbk9jY3Vycz0iMCIg +bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w +bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRGF0YVNldEZpZWxkQ29udGVudE1h +c2siIHR5cGU9InRuczpMaXN0T2ZEYXRhU2V0RmllbGRDb250ZW50TWFzayIgbmlsbGFibGU9InRy +dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGF0YVNldFdyaXRl +ckRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJO +YW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmFibGVkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1 +cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0V3JpdGVySWQiIHR5cGU9 +InhzOnVuc2lnbmVkU2hvcnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IkRhdGFTZXRGaWVsZENvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6RGF0YVNldEZpZWxkQ29udGVu +dE1hc2siIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IktleUZyYW1l +Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJEYXRhU2V0TmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldFdyaXRl +clByb3BlcnRpZXMiIHR5cGU9InRuczpMaXN0T2ZLZXlWYWx1ZVBhaXIiIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc3BvcnRTZXR0 +aW5ncyIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWVzc2FnZVNldHRpbmdzIiB0eXBlPSJ1 +YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +RGF0YVNldFdyaXRlckRhdGFUeXBlIiB0eXBlPSJ0bnM6RGF0YVNldFdyaXRlckRhdGFUeXBlIiAv +Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZEYXRhU2V0V3JpdGVyRGF0YVR5cGUi +Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRXcml0 +ZXJEYXRhVHlwZSIgdHlwZT0idG5zOkRhdGFTZXRXcml0ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIw +IiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRGF0 +YVNldFdyaXRlckRhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mRGF0YVNldFdyaXRlckRhdGFUeXBl +IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJEYXRhU2V0V3JpdGVyVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJEYXRhU2V0V3JpdGVyVHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRuczpEYXRhU2V0V3JpdGVy +VHJhbnNwb3J0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkRh +dGFTZXRXcml0ZXJUcmFuc3BvcnREYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldFdyaXRlclRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0 +bnM6RGF0YVNldFdyaXRlclRyYW5zcG9ydERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vy +cz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZEYXRhU2V0V3JpdGVy +VHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZEYXRhU2V0V3JpdGVyVHJhbnNwb3J0 +RGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9IkRhdGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJEYXRhU2V0V3JpdGVyTWVzc2FnZURhdGFUeXBlIiB0eXBlPSJ0bnM6RGF0YVNldFdy +aXRlck1lc3NhZ2VEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m +RGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSIgdHlwZT0idG5z +OkRhdGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1 +bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRhdGFTZXRXcml0ZXJNZXNz +YWdlRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZEYXRhU2V0V3JpdGVyTWVzc2FnZURhdGFUeXBl +IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJQdWJTdWJHcm91cERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmFibGVkIiB0eXBlPSJ4czpib29s +ZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eU1v +ZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eUdyb3VwSWQiIHR5cGU9InhzOnN0cmluZyIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNl +Y3VyaXR5S2V5U2VydmljZXMiIHR5cGU9InRuczpMaXN0T2ZFbmRwb2ludERlc2NyaXB0aW9uIiBt aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -VmFsdWVSYW5rIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkFycmF5RGltZW5zaW9ucyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVzY3Jp -cHRpb24iIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iQXJndW1lbnQiIHR5cGU9InRuczpBcmd1bWVudCIgLz4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iTGlzdE9mQXJndW1lbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IkFyZ3VtZW50IiB0eXBlPSJ0bnM6QXJndW1lbnQiIG1pbk9jY3Vy -cz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 -c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RP -ZkFyZ3VtZW50IiB0eXBlPSJ0bnM6TGlzdE9mQXJndW1lbnQiIG5pbGxhYmxlPSJ0cnVlIj48L3hz -OmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVudW1WYWx1ZVR5cGUiPg0KICAg -IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBtYXBwaW5nIGJldHdl -ZW4gYSB2YWx1ZSBvZiBhbiBlbnVtZXJhdGVkIHR5cGUgYW5kIGEgbmFtZSBhbmQgZGVzY3JpcHRp -b24uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0ieHM6bG9uZyIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzcGxheU5hbWUiIHR5cGU9 -InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFbnVtVmFsdWVUeXBlIiB0eXBl -PSJ0bnM6RW51bVZhbHVlVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m -RW51bVZhbHVlVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iRW51bVZhbHVlVHlwZSIgdHlwZT0idG5zOkVudW1WYWx1ZVR5cGUiIG1pbk9jY3Vycz0iMCIg -bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu -Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkVudW1W -YWx1ZVR5cGUiIHR5cGU9InRuczpMaXN0T2ZFbnVtVmFsdWVUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+ -PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJPcHRpb25TZXQiPg0KICAg -IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhpcyBhYnN0cmFjdCBT -dHJ1Y3R1cmVkIERhdGFUeXBlIGlzIHRoZSBiYXNlIERhdGFUeXBlIGZvciBhbGwgRGF0YVR5cGVz -IHJlcHJlc2VudGluZyBhIGJpdCBtYXNrLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu -bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFs -dWUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbGlkQml0cyIgdHlwZT0ieHM6YmFzZTY0Qmlu -YXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9wdGlvblNldCIgdHlw -ZT0idG5zOk9wdGlvblNldCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mT3B0 -aW9uU2V0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPcHRp -b25TZXQiIHR5cGU9InRuczpPcHRpb25TZXQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJv -dW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk9wdGlvblNldCIgdHlwZT0idG5z -Okxpc3RPZk9wdGlvblNldCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iVW5pb24iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhz -OmRvY3VtZW50YXRpb24+VGhpcyBhYnN0cmFjdCBEYXRhVHlwZSBpcyB0aGUgYmFzZSBEYXRhVHlw -ZSBmb3IgYWxsIHVuaW9uIERhdGFUeXBlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czph -bm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVbmlvbiIgdHlwZT0idG5zOlVuaW9u -IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZVbmlvbiI+DQogICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVW5pb24iIHR5cGU9InRuczpVbmlvbiIg +TWF4TmV0d29ya01lc3NhZ2VTaXplIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iR3JvdXBQcm9wZXJ0aWVzIiB0eXBlPSJ0bnM6 +TGlzdE9mS2V5VmFsdWVQYWlyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +IlB1YlN1Ykdyb3VwRGF0YVR5cGUiIHR5cGU9InRuczpQdWJTdWJHcm91cERhdGFUeXBlIiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZQdWJTdWJHcm91cERhdGFUeXBlIj4NCiAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJTdWJHcm91cERhdGFU +eXBlIiB0eXBlPSJ0bnM6UHViU3ViR3JvdXBEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1 +cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUHViU3ViR3JvdXBE +YXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlB1YlN1Ykdyb3VwRGF0YVR5cGUiIG5pbGxhYmxlPSJ0 +cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IldyaXRlckdyb3Vw +RGF0YVR5cGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAg +PHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6UHViU3ViR3JvdXBEYXRhVHlwZSI+DQogICAgICAgIDx4 +czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJXcml0ZXJHcm91cElkIiB0 +eXBlPSJ4czp1bnNpZ25lZFNob3J0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iUHVibGlzaGluZ0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vy +cz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJLZWVwQWxpdmVUaW1lIiB0eXBl +PSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJQcmlvcml0eSIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmci +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iVHJhbnNwb3J0U2V0dGluZ3MiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJN +ZXNzYWdlU2V0dGluZ3MiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0V3Jp +dGVycyIgdHlwZT0idG5zOkxpc3RPZkRhdGFTZXRXcml0ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6 +ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9IldyaXRlckdyb3VwRGF0YVR5cGUiIHR5cGU9InRuczpXcml0 +ZXJHcm91cERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZXcml0 +ZXJHcm91cERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJXcml0ZXJHcm91cERhdGFUeXBlIiB0eXBlPSJ0bnM6V3JpdGVyR3JvdXBEYXRhVHlwZSIg +bWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iTGlzdE9mV3JpdGVyR3JvdXBEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZldyaXRlckdyb3Vw +RGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9IldyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJXcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6V3JpdGVyR3Jv +dXBUcmFuc3BvcnREYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m +V3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0idG5z +OldyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1 +bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZldyaXRlckdyb3VwVHJhbnNw +b3J0RGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZXcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBl +IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJXcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ildy +aXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIiB0eXBlPSJ0bnM6V3JpdGVyR3JvdXBNZXNzYWdlRGF0 +YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZldyaXRlckdyb3VwTWVz +c2FnZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJXcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIgdHlwZT0idG5zOldyaXRlckdyb3VwTWVzc2Fn +ZURhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJMaXN0T2ZXcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIgdHlwZT0idG5z +Okxpc3RPZldyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czpl +bGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJQdWJTdWJDb25uZWN0aW9uRGF0YVR5 +cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5hbWUiIHR5 +cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IkVuYWJsZWQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hlcklkIiB0eXBlPSJ1YTpWYXJpYW50 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc3BvcnRQcm9m +aWxlVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRyZXNzIiB0eXBlPSJ1YTpFeHRlbnNpb25PYmpl +Y3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJDb25uZWN0aW9uUHJvcGVydGllcyIgdHlwZT0idG5zOkxpc3RPZktleVZhbHVlUGFpciIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlRyYW5zcG9ydFNldHRpbmdzIiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJXcml0ZXJHcm91 +cHMiIHR5cGU9InRuczpMaXN0T2ZXcml0ZXJHcm91cERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZGVyR3JvdXBzIiB0 +eXBlPSJ0bnM6TGlzdE9mUmVhZGVyR3JvdXBEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJQdWJTdWJDb25uZWN0aW9uRGF0YVR5cGUiIHR5cGU9InRuczpQdWJT +dWJDb25uZWN0aW9uRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RP +ZlB1YlN1YkNvbm5lY3Rpb25EYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iUHViU3ViQ29ubmVjdGlvbkRhdGFUeXBlIiB0eXBlPSJ0bnM6UHViU3Vi +Q29ubmVjdGlvbkRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZQdWJTdWJDb25uZWN0aW9uRGF0YVR5cGUiIHR5 +cGU9InRuczpMaXN0T2ZQdWJTdWJDb25uZWN0aW9uRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48 +L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNvbm5lY3Rpb25UcmFuc3Bv +cnREYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv +eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNvbm5lY3Rpb25UcmFuc3BvcnRE +YXRhVHlwZSIgdHlwZT0idG5zOkNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb25uZWN0aW9uVHJh +bnNwb3J0RGF0YVR5cGUiIHR5cGU9InRuczpDb25uZWN0aW9uVHJhbnNwb3J0RGF0YVR5cGUiIG1p +bk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +Ikxpc3RPZkNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZkNvbm5l +Y3Rpb25UcmFuc3BvcnREYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTmV0d29ya0FkZHJlc3NEYXRhVHlwZSI+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmV0d29ya0ludGVyZmFjZSIgdHlw +ZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 +c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik5ldHdv +cmtBZGRyZXNzRGF0YVR5cGUiIHR5cGU9InRuczpOZXR3b3JrQWRkcmVzc0RhdGFUeXBlIiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZOZXR3b3JrQWRkcmVzc0RhdGFUeXBlIj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOZXR3b3JrQWRkcmVz +c0RhdGFUeXBlIiB0eXBlPSJ0bnM6TmV0d29ya0FkZHJlc3NEYXRhVHlwZSIgbWluT2NjdXJzPSIw +IiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTmV0 +d29ya0FkZHJlc3NEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZk5ldHdvcmtBZGRyZXNzRGF0YVR5 +cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9Ik5ldHdvcmtBZGRyZXNzVXJsRGF0YVR5cGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBt +aXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6TmV0d29ya0FkZHJl +c3NEYXRhVHlwZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJVcmwiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAg +IDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9Ik5ldHdvcmtBZGRyZXNzVXJsRGF0YVR5cGUiIHR5cGU9InRuczpOZXR3b3JrQWRkcmVz +c1VybERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZOZXR3b3Jr +QWRkcmVzc1VybERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJOZXR3b3JrQWRkcmVzc1VybERhdGFUeXBlIiB0eXBlPSJ0bnM6TmV0d29ya0FkZHJl +c3NVcmxEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTmV0d29ya0FkZHJlc3NVcmxEYXRhVHlwZSIgdHlwZT0i +dG5zOkxpc3RPZk5ldHdvcmtBZGRyZXNzVXJsRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hz +OmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlYWRlckdyb3VwRGF0YVR5cGUi +Pg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVu +c2lvbiBiYXNlPSJ0bnM6UHViU3ViR3JvdXBEYXRhVHlwZSI+DQogICAgICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc3BvcnRTZXR0aW5ncyIgdHlwZT0i +dWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1lc3NhZ2VTZXR0aW5ncyIgdHlwZT0idWE6RXh0ZW5z +aW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4 +czplbGVtZW50IG5hbWU9IkRhdGFTZXRSZWFkZXJzIiB0eXBlPSJ0bnM6TGlzdE9mRGF0YVNldFJl +YWRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8 +L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29u +dGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZGVyR3Jv +dXBEYXRhVHlwZSIgdHlwZT0idG5zOlJlYWRlckdyb3VwRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlJlYWRlckdyb3VwRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlYWRlckdyb3VwRGF0YVR5cGUiIHR5cGU9 +InRuczpSZWFkZXJHcm91cERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3Vu +ZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZSZWFkZXJHcm91cERhdGFUeXBlIiB0 +eXBlPSJ0bnM6TGlzdE9mUmVhZGVyR3JvdXBEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6 +ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZGVyR3JvdXBUcmFuc3BvcnRE +YXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlYWRlckdyb3VwVHJhbnNwb3J0RGF0 +YVR5cGUiIHR5cGU9InRuczpSZWFkZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZSZWFkZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWFkZXJHcm91cFRy +YW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6UmVhZGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSIg bWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQog ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iTGlzdE9mVW5pb24iIHR5cGU9InRuczpMaXN0T2ZVbmlvbiIgbmlsbGFibGU9InRydWUiPjwv -eHM6ZWxlbWVudD4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOb3JtYWxpemVkU3RyaW5nIiB0eXBl -PSJ4czpzdHJpbmciIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVjaW1hbFN0cmluZyIgdHlw -ZT0ieHM6c3RyaW5nIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkR1cmF0aW9uU3RyaW5nIiB0 -eXBlPSJ4czpzdHJpbmciIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZVN0cmluZyIgdHlw -ZT0ieHM6c3RyaW5nIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkRhdGVTdHJpbmciIHR5cGU9 -InhzOnN0cmluZyIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEdXJhdGlvbiIgdHlwZT0ieHM6 -ZG91YmxlIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IlV0Y1RpbWUiIHR5cGU9InhzOmRhdGVU -aW1lIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkxvY2FsZUlkIiB0eXBlPSJ4czpzdHJpbmci -IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlRpbWVab25lRGF0YVR5cGUiPg0KICAgIDx4 -czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik9mZnNldCIgdHlwZT0ieHM6c2hv -cnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRheWxpZ2h0U2F2 -aW5nSW5PZmZzZXQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hz -OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1l -Wm9uZURhdGFUeXBlIiB0eXBlPSJ0bnM6VGltZVpvbmVEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iTGlzdE9mVGltZVpvbmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZVpvbmVEYXRhVHlwZSIgdHlwZT0idG5zOlRp -bWVab25lRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh +ZT0iTGlzdE9mUmVhZGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlJl +YWRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlYWRlckdyb3VwTWVzc2FnZURhdGFUeXBlIj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiIHR5cGU9 +InRuczpSZWFkZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iTGlzdE9mUmVhZGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlYWRlckdyb3VwTWVzc2FnZURhdGFUeXBlIiB0 +eXBlPSJ0bnM6UmVhZGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2Nj +dXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlJlYWRlckdyb3Vw +TWVzc2FnZURhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mUmVhZGVyR3JvdXBNZXNzYWdlRGF0YVR5 +cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9IkRhdGFTZXRSZWFkZXJEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5hYmxlZCIgdHlwZT0ieHM6 +Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlz +aGVySWQiIHR5cGU9InVhOlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IldyaXRlckdyb3VwSWQiIHR5cGU9InhzOnVuc2lnbmVkU2hvcnQiIG1pbk9jY3Vy +cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRXcml0ZXJJZCIgdHlwZT0i +eHM6dW5zaWduZWRTaG9ydCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iRGF0YVNldE1ldGFEYXRhIiB0eXBlPSJ0bnM6RGF0YVNldE1ldGFEYXRhVHlwZSIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFT +ZXRGaWVsZENvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6RGF0YVNldEZpZWxkQ29udGVudE1hc2siIG1p +bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1lc3NhZ2VSZWNlaXZlVGlt +ZW91dCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eUdyb3VwSWQiIHR5 +cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlNlY3VyaXR5S2V5U2VydmljZXMiIHR5cGU9InRuczpMaXN0T2ZFbmRw +b2ludERlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldFJlYWRlclByb3BlcnRpZXMiIHR5cGU9InRuczpMaXN0 +T2ZLZXlWYWx1ZVBhaXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJUcmFuc3BvcnRTZXR0aW5ncyIgdHlwZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iTWVzc2FnZVNldHRpbmdzIiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3Jp +YmVkRGF0YVNldCIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxh YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlRpbWVab25lRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0 -T2ZUaW1lWm9uZURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4 -czplbGVtZW50IG5hbWU9IkludGVnZXJJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIC8+DQoNCiAg -PHhzOnNpbXBsZVR5cGUgIG5hbWU9IkFwcGxpY2F0aW9uVHlwZSI+DQogICAgPHhzOmFubm90YXRp -b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgdHlwZXMgb2YgYXBwbGljYXRpb25zLjwv -eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0 -aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNlcnZl -cl8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDbGllbnRfMSIgLz4NCiAgICAg -IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ2xpZW50QW5kU2VydmVyXzIiIC8+DQogICAgICA8eHM6 -ZW51bWVyYXRpb24gdmFsdWU9IkRpc2NvdmVyeVNlcnZlcl8zIiAvPg0KICAgIDwveHM6cmVzdHJp -Y3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRp -b25UeXBlIiB0eXBlPSJ0bnM6QXBwbGljYXRpb25UeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg -ICAgIDx4czpkb2N1bWVudGF0aW9uPkRlc2NyaWJlcyBhbiBhcHBsaWNhdGlvbiBhbmQgaG93IHRv -IGZpbmQgaXQuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcHBsaWNhdGlvblVyaSIgdHlw -ZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iUHJvZHVjdFVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25O -YW1lIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25UeXBlIiB0eXBlPSJ0bnM6 -QXBwbGljYXRpb25UeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJHYXRld2F5U2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjb3ZlcnlQcm9maWxlVXJp +IDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRSZWFkZXJEYXRhVHlwZSIgdHlwZT0idG5zOkRhdGFT +ZXRSZWFkZXJEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGF0 +YVNldFJlYWRlckRhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJEYXRhU2V0UmVhZGVyRGF0YVR5cGUiIHR5cGU9InRuczpEYXRhU2V0UmVhZGVyRGF0 +YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9Ikxpc3RPZkRhdGFTZXRSZWFkZXJEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZkRh +dGFTZXRSZWFkZXJEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iRGF0YVNldFJlYWRlclRyYW5zcG9ydERhdGFUeXBlIj4NCiAg +ICA8eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N +CiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldFJlYWRlclRyYW5zcG9ydERhdGFUeXBlIiB0eXBl +PSJ0bnM6RGF0YVNldFJlYWRlclRyYW5zcG9ydERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJMaXN0T2ZEYXRhU2V0UmVhZGVyVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDx4 +czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRSZWFkZXJUcmFuc3Bv +cnREYXRhVHlwZSIgdHlwZT0idG5zOkRhdGFTZXRSZWFkZXJUcmFuc3BvcnREYXRhVHlwZSIgbWlu +T2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +TGlzdE9mRGF0YVNldFJlYWRlclRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mRGF0 +YVNldFJlYWRlclRyYW5zcG9ydERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50 +Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBl +Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldFJlYWRlck1lc3NhZ2VEYXRhVHlwZSIg +dHlwZT0idG5zOkRhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9Ikxpc3RPZkRhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiPg0KICAgIDx4 +czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRSZWFkZXJNZXNzYWdl +RGF0YVR5cGUiIHR5cGU9InRuczpEYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIiBtaW5PY2N1 +cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0 +T2ZEYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mRGF0YVNldFJl +YWRlck1lc3NhZ2VEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iU3Vic2NyaWJlZERhdGFTZXREYXRhVHlwZSI+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9IlN1YnNjcmliZWREYXRhU2V0RGF0YVR5cGUiIHR5cGU9InRuczpTdWJz +Y3JpYmVkRGF0YVNldERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0 +T2ZTdWJzY3JpYmVkRGF0YVNldERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpYmVkRGF0YVNldERhdGFUeXBlIiB0eXBlPSJ0bnM6U3Vi +c2NyaWJlZERhdGFTZXREYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRl +ZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU3Vic2NyaWJlZERhdGFTZXREYXRhVHlw +ZSIgdHlwZT0idG5zOkxpc3RPZlN1YnNjcmliZWREYXRhU2V0RGF0YVR5cGUiIG5pbGxhYmxlPSJ0 +cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlRhcmdldFZhcmlh +Ymxlc0RhdGFUeXBlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAg +ICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOlN1YnNjcmliZWREYXRhU2V0RGF0YVR5cGUiPg0K +ICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0 +VmFyaWFibGVzIiB0eXBlPSJ0bnM6TGlzdE9mRmllbGRUYXJnZXREYXRhVHlwZSIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwv +eHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRhcmdldFZhcmlhYmxlc0RhdGFUeXBlIiB0eXBlPSJ0 +bnM6VGFyZ2V0VmFyaWFibGVzRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +Ikxpc3RPZlRhcmdldFZhcmlhYmxlc0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXRWYXJpYWJsZXNEYXRhVHlwZSIgdHlwZT0idG5zOlRh +cmdldFZhcmlhYmxlc0RhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVk +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZUYXJnZXRWYXJpYWJsZXNEYXRhVHlwZSIg +dHlwZT0idG5zOkxpc3RPZlRhcmdldFZhcmlhYmxlc0RhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+ +PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJGaWVsZFRhcmdldERhdGFU +eXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0 +RmllbGRJZCIgdHlwZT0idWE6R3VpZCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUmVjZWl2ZXJJbmRleFJhbmdlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXROb2Rl +SWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVJbmRleFJhbmdl IiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjb3ZlcnlVcmxzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmci -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg -PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25EZXNjcmlw -dGlvbiIgdHlwZT0idG5zOkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9Ikxpc3RPZkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1 -ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIHR5 -cGU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0i -dW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZBcHBsaWNhdGlvbkRlc2Ny -aXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mQXBwbGljYXRpb25EZXNjcmlwdGlvbiIgbmlsbGFibGU9 -InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVxdWVzdEhl -YWRlciI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUg -aGVhZGVyIHBhc3NlZCB3aXRoIGV2ZXJ5IHNlcnZlciByZXF1ZXN0LjwveHM6ZG9jdW1lbnRhdGlv -bj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iQXV0aGVudGljYXRpb25Ub2tlbiIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0 -YW1wIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iUmVxdWVzdEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldHVybkRpYWdub3N0aWNzIiB0eXBlPSJ4 -czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -QXVkaXRFbnRyeUlkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lb3V0SGludCIgdHlwZT0ieHM6dW5z -aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZGl0 -aW9uYWxIZWFkZXIiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxs +ICA8eHM6ZWxlbWVudCBuYW1lPSJPdmVycmlkZVZhbHVlSGFuZGxpbmciIHR5cGU9InRuczpPdmVy +cmlkZVZhbHVlSGFuZGxpbmciIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9Ik92ZXJyaWRlVmFsdWUiIHR5cGU9InVhOlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg +ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJGaWVsZFRhcmdldERhdGFUeXBlIiB0eXBlPSJ0bnM6RmllbGRUYXJnZXREYXRhVHlwZSIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRmllbGRUYXJnZXREYXRhVHlwZSI+DQog +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmllbGRUYXJnZXREYXRh +VHlwZSIgdHlwZT0idG5zOkZpZWxkVGFyZ2V0RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2Nj +dXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkZpZWxkVGFyZ2V0 +RGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZGaWVsZFRhcmdldERhdGFUeXBlIiBuaWxsYWJsZT0i +dHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJPdmVycmlkZVZh +bHVlSGFuZGxpbmciPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAg +ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEaXNhYmxlZF8wIiAvPg0KICAgICAgPHhzOmVudW1l +cmF0aW9uIHZhbHVlPSJMYXN0VXNlYWJsZVZhbHVlXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp +b24gdmFsdWU9Ik92ZXJyaWRlVmFsdWVfMiIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8 +L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik92ZXJyaWRlVmFsdWVIYW5kbGlu +ZyIgdHlwZT0idG5zOk92ZXJyaWRlVmFsdWVIYW5kbGluZyIgLz4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iTGlzdE9mT3ZlcnJpZGVWYWx1ZUhhbmRsaW5nIj4NCiAgICA8eHM6c2VxdWVuY2U+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPdmVycmlkZVZhbHVlSGFuZGxpbmciIHR5cGU9InRu +czpPdmVycmlkZVZhbHVlSGFuZGxpbmciIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5k +ZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iTGlzdE9mT3ZlcnJpZGVWYWx1ZUhhbmRsaW5nIiB0eXBlPSJ0bnM6TGlzdE9m +T3ZlcnJpZGVWYWx1ZUhhbmRsaW5nIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJTdWJzY3JpYmVkRGF0YVNldE1pcnJvckRhdGFUeXBlIj4N +CiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNp +b24gYmFzZT0idG5zOlN1YnNjcmliZWREYXRhU2V0RGF0YVR5cGUiPg0KICAgICAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUGFyZW50Tm9kZU5hbWUiIHR5cGU9 +InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJSb2xlUGVybWlzc2lvbnMiIHR5cGU9InRuczpMaXN0T2ZSb2xlUGVy +bWlzc2lvblR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwv +eHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250 +ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpYmVk +RGF0YVNldE1pcnJvckRhdGFUeXBlIiB0eXBlPSJ0bnM6U3Vic2NyaWJlZERhdGFTZXRNaXJyb3JE +YXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU3Vic2NyaWJlZERh +dGFTZXRNaXJyb3JEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iU3Vic2NyaWJlZERhdGFTZXRNaXJyb3JEYXRhVHlwZSIgdHlwZT0idG5zOlN1YnNj +cmliZWREYXRhU2V0TWlycm9yRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJv +dW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlN1YnNjcmliZWREYXRhU2V0TWly +cm9yRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZTdWJzY3JpYmVkRGF0YVNldE1pcnJvckRhdGFU +eXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBu +YW1lPSJQdWJTdWJDb25maWd1cmF0aW9uRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hlZERhdGFTZXRzIiB0eXBlPSJ0bnM6TGlzdE9m +UHVibGlzaGVkRGF0YVNldERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29ubmVjdGlvbnMiIHR5cGU9InRuczpMaXN0T2ZQ +dWJTdWJDb25uZWN0aW9uRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmFibGVkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iUHViU3ViQ29uZmlndXJhdGlvbkRhdGFUeXBlIiB0eXBlPSJ0bnM6 +UHViU3ViQ29uZmlndXJhdGlvbkRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJMaXN0T2ZQdWJTdWJDb25maWd1cmF0aW9uRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1YlN1YkNvbmZpZ3VyYXRpb25EYXRhVHlwZSIgdHlw +ZT0idG5zOlB1YlN1YkNvbmZpZ3VyYXRpb25EYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1 +cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUHViU3ViQ29uZmln +dXJhdGlvbkRhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mUHViU3ViQ29uZmlndXJhdGlvbkRhdGFU +eXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBu +YW1lPSJEYXRhU2V0T3JkZXJpbmdUeXBlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6 +c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVW5kZWZpbmVkXzAiIC8+DQog +ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFzY2VuZGluZ1dyaXRlcklkXzEiIC8+DQogICAg +ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFzY2VuZGluZ1dyaXRlcklkU2luZ2xlXzIiIC8+DQog +ICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJEYXRhU2V0T3JkZXJpbmdUeXBlIiB0eXBlPSJ0bnM6RGF0YVNldE9yZGVyaW5nVHlwZSIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGF0YVNldE9yZGVyaW5nVHlwZSI+ +DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldE9yZGVy +aW5nVHlwZSIgdHlwZT0idG5zOkRhdGFTZXRPcmRlcmluZ1R5cGUiIG1pbk9jY3Vycz0iMCIgbWF4 +T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRGF0YVNldE9yZGVyaW5nVHlwZSIgdHlw +ZT0idG5zOkxpc3RPZkRhdGFTZXRPcmRlcmluZ1R5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVs +ZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IlVhZHBOZXR3b3JrTWVzc2FnZUNvbnRl +bnRNYXNrIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6dW5zaWduZWRJbnQiPg0KICAg +IDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iVWFkcE5ldHdvcmtNZXNzYWdlQ29udGVudE1hc2siIHR5cGU9InRuczpVYWRwTmV0d29ya01l +c3NhZ2VDb250ZW50TWFzayIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mVWFk +cE5ldHdvcmtNZXNzYWdlQ29udGVudE1hc2siPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlVhZHBOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6 +VWFkcE5ldHdvcmtNZXNzYWdlQ29udGVudE1hc2siIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1 +bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mVWFkcE5ldHdvcmtNZXNzYWdlQ29udGVudE1hc2siIHR5 +cGU9InRuczpMaXN0T2ZVYWRwTmV0d29ya01lc3NhZ2VDb250ZW50TWFzayIgbmlsbGFibGU9InRy +dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVWFkcFdyaXRlckdy +b3VwTWVzc2FnZURhdGFUeXBlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNl +Ij4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOldyaXRlckdyb3VwTWVzc2FnZURhdGFU +eXBlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 +Ikdyb3VwVmVyc2lvbiIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg +ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0T3JkZXJpbmciIHR5cGU9InRuczpEYXRh +U2V0T3JkZXJpbmdUeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iTmV0d29ya01lc3NhZ2VDb250ZW50TWFzayIgdHlwZT0idG5zOlVhZHBOZXR3b3JrTWVz +c2FnZUNvbnRlbnRNYXNrIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iU2FtcGxpbmdPZmZzZXQiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0K +ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hpbmdPZmZzZXQiIHR5cGU9InVhOkxp +c3RPZkRvdWJsZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94 +czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRl +bnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVhZHBXcml0ZXJH +cm91cE1lc3NhZ2VEYXRhVHlwZSIgdHlwZT0idG5zOlVhZHBXcml0ZXJHcm91cE1lc3NhZ2VEYXRh +VHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mVWFkcFdyaXRlckdyb3Vw +TWVzc2FnZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJVYWRwV3JpdGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpVYWRwV3JpdGVy +R3JvdXBNZXNzYWdlRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlVhZHBXcml0ZXJHcm91cE1lc3NhZ2VEYXRh +VHlwZSIgdHlwZT0idG5zOkxpc3RPZlVhZHBXcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIgbmls +bGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iVWFk +cERhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4 +czp1bnNpZ25lZEludCI+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVYWRwRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgdHlw +ZT0idG5zOlVhZHBEYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJMaXN0T2ZVYWRwRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayI+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVWFkcERhdGFTZXRNZXNzYWdlQ29u +dGVudE1hc2siIHR5cGU9InRuczpVYWRwRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgbWluT2Nj +dXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZVYWRwRGF0YVNldE1l +c3NhZ2VDb250ZW50TWFzayIgdHlwZT0idG5zOkxpc3RPZlVhZHBEYXRhU2V0TWVzc2FnZUNvbnRl +bnRNYXNrIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJVYWRwRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSI+DQogICAgPHhzOmNvbXBs +ZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpE +YXRhU2V0V3JpdGVyTWVzc2FnZURhdGFUeXBlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIHR5cGU9 +InRuczpVYWRwRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgICAgIDx4czplbGVtZW50IG5hbWU9IkNvbmZpZ3VyZWRTaXplIiB0eXBlPSJ4czp1bnNpZ25l +ZFNob3J0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmV0 +d29ya01lc3NhZ2VOdW1iZXIiIHR5cGU9InhzOnVuc2lnbmVkU2hvcnQiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0T2Zmc2V0IiB0eXBlPSJ4czp1 +bnNpZ25lZFNob3J0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQog +ICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVYWRwRGF0YVNldFdyaXRlck1lc3NhZ2VE +YXRhVHlwZSIgdHlwZT0idG5zOlVhZHBEYXRhU2V0V3JpdGVyTWVzc2FnZURhdGFUeXBlIiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZVYWRwRGF0YVNldFdyaXRlck1lc3NhZ2VE +YXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVWFk +cERhdGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpVYWRwRGF0YVNldFdyaXRl +ck1lc3NhZ2VEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N +CiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mVWFkcERhdGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5 +cGUiIHR5cGU9InRuczpMaXN0T2ZVYWRwRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSIgbmls +bGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVWFk +cERhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBt +aXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6RGF0YVNldFJlYWRl +ck1lc3NhZ2VEYXRhVHlwZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJHcm91cFZlcnNpb24iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1 +cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmV0d29ya01lc3NhZ2VOdW1i +ZXIiIHR5cGU9InhzOnVuc2lnbmVkU2hvcnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJEYXRhU2V0T2Zmc2V0IiB0eXBlPSJ4czp1bnNpZ25lZFNob3J0IiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldENsYXNz +SWQiIHR5cGU9InVhOkd1aWQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6VWFkcE5ldHdvcmtN +ZXNzYWdlQ29udGVudE1hc2siIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJEYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6VWFkcERhdGFTZXRN +ZXNzYWdlQ29udGVudE1hc2siIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJQdWJsaXNoaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlY2VpdmVPZmZzZXQiIHR5cGU9Inhz +OmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlBy +b2Nlc3NpbmdPZmZzZXQiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg +ICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4 +Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVWFkcERh +dGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpVYWRwRGF0YVNldFJlYWRlck1l +c3NhZ2VEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mVWFkcERh +dGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlVhZHBEYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIiB0eXBlPSJ0 +bnM6VWFkcERhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2Nj +dXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlVhZHBEYXRhU2V0 +UmVhZGVyTWVzc2FnZURhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mVWFkcERhdGFTZXRSZWFkZXJN +ZXNzYWdlRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNp +bXBsZVR5cGUgIG5hbWU9Ikpzb25OZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIj4NCiAgICA8eHM6 +cmVzdHJpY3Rpb24gYmFzZT0ieHM6dW5zaWduZWRJbnQiPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+ +DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSnNvbk5ldHdvcmtNZXNz +YWdlQ29udGVudE1hc2siIHR5cGU9InRuczpKc29uTmV0d29ya01lc3NhZ2VDb250ZW50TWFzayIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mSnNvbk5ldHdvcmtNZXNzYWdlQ29u +dGVudE1hc2siPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikpz +b25OZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6SnNvbk5ldHdvcmtNZXNzYWdl +Q29udGVudE1hc2siIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +TGlzdE9mSnNvbk5ldHdvcmtNZXNzYWdlQ29udGVudE1hc2siIHR5cGU9InRuczpMaXN0T2ZKc29u +TmV0d29ya01lc3NhZ2VDb250ZW50TWFzayIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSnNvbldyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBl +Ij4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRl +bnNpb24gYmFzZT0idG5zOldyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIj4NCiAgICAgICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5ldHdvcmtNZXNzYWdlQ29u +dGVudE1hc2siIHR5cGU9InRuczpKc29uTmV0d29ya01lc3NhZ2VDb250ZW50TWFzayIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+ +DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iSnNvbldyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIiB0eXBlPSJ0bnM6SnNv +bldyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJMaXN0T2ZKc29uV3JpdGVyR3JvdXBNZXNzYWdlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikpzb25Xcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlw +ZSIgdHlwZT0idG5zOkpzb25Xcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIgbWluT2NjdXJzPSIw +IiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mSnNv +bldyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mSnNvbldyaXRlckdy +b3VwTWVzc2FnZURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4 +czpzaW1wbGVUeXBlICBuYW1lPSJKc29uRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayI+DQogICAg +PHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnVuc2lnbmVkSW50Ij4NCiAgICA8L3hzOnJlc3RyaWN0 +aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikpzb25EYXRhU2V0 +TWVzc2FnZUNvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6SnNvbkRhdGFTZXRNZXNzYWdlQ29udGVudE1h +c2siIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkpzb25EYXRhU2V0TWVzc2Fn +ZUNvbnRlbnRNYXNrIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJKc29uRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgdHlwZT0idG5zOkpzb25EYXRhU2V0TWVz +c2FnZUNvbnRlbnRNYXNrIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0K +ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h +bWU9Ikxpc3RPZkpzb25EYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6TGlzdE9m +SnNvbkRhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1l +bnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikpzb25EYXRhU2V0V3JpdGVyTWVzc2FnZURh +dGFUeXBlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4 +czpleHRlbnNpb24gYmFzZT0idG5zOkRhdGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUiPg0KICAg +ICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVNldE1l +c3NhZ2VDb250ZW50TWFzayIgdHlwZT0idG5zOkpzb25EYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNr +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4 +dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJKc29uRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSIgdHlw +ZT0idG5zOkpzb25EYXRhU2V0V3JpdGVyTWVzc2FnZURhdGFUeXBlIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJMaXN0T2ZKc29uRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSI+DQog +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSnNvbkRhdGFTZXRXcml0 +ZXJNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRuczpKc29uRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRh +VHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iTGlzdE9mSnNvbkRhdGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUiIHR5cGU9InRu +czpMaXN0T2ZKc29uRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSIgbmlsbGFibGU9InRydWUi +PjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSnNvbkRhdGFTZXRSZWFk +ZXJNZXNzYWdlRGF0YVR5cGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2Ui +Pg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6RGF0YVNldFJlYWRlck1lc3NhZ2VEYXRh +VHlwZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6SnNvbk5ldHdvcmtNZXNzYWdl +Q29udGVudE1hc2siIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJEYXRhU2V0TWVzc2FnZUNvbnRlbnRNYXNrIiB0eXBlPSJ0bnM6SnNvbkRhdGFTZXRNZXNzYWdl +Q29udGVudE1hc2siIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAg +ICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikpzb25EYXRhU2V0UmVhZGVyTWVzc2FnZURh +dGFUeXBlIiB0eXBlPSJ0bnM6SnNvbkRhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiIC8+DQoN +CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkpzb25EYXRhU2V0UmVhZGVyTWVzc2FnZURh +dGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJKc29u +RGF0YVNldFJlYWRlck1lc3NhZ2VEYXRhVHlwZSIgdHlwZT0idG5zOkpzb25EYXRhU2V0UmVhZGVy +TWVzc2FnZURhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxs YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRl -ciIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVzcG9uc2VIZWFkZXIiPg0KICAgIDx4 -czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGhlYWRlciBwYXNzZWQg -d2l0aCBldmVyeSBzZXJ2ZXIgcmVzcG9uc2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6 -YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJU -aW1lc3RhbXAiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGFuZGxlIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmljZVJlc3VsdCIgdHlwZT0i -dWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -U2VydmljZURpYWdub3N0aWNzIiB0eXBlPSJ1YTpEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0cmluZ1RhYmxl -IiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRpdGlvbmFsSGVhZGVyIiB0eXBlPSJ1YTpFeHRl -bnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz -ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9u -c2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iU2VydmljZUZhdWx0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpk -b2N1bWVudGF0aW9uPlRoZSByZXNwb25zZSByZXR1cm5lZCBieSBhbGwgc2VydmljZXMgd2hlbiB0 -aGVyZSBpcyBhIHNlcnZpY2UgbGV2ZWwgZXJyb3IuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwv -eHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAi +ICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZKc29uRGF0YVNldFJlYWRlck1lc3NhZ2VEYXRhVHlw +ZSIgdHlwZT0idG5zOkxpc3RPZkpzb25EYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIiBuaWxs +YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEYXRh +Z3JhbUNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50 +IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpDb25uZWN0aW9u +VHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iRGlzY292ZXJ5QWRkcmVzcyIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNl +Pg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YWdyYW1Db25uZWN0aW9uVHJh +bnNwb3J0RGF0YVR5cGUiIHR5cGU9InRuczpEYXRhZ3JhbUNvbm5lY3Rpb25UcmFuc3BvcnREYXRh +VHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGF0YWdyYW1Db25uZWN0 +aW9uVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IkRhdGFncmFtQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6 +RGF0YWdyYW1Db25uZWN0aW9uVHJhbnNwb3J0RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2Nj +dXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRhdGFncmFtQ29u +bmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mRGF0YWdyYW1Db25uZWN0 +aW9uVHJhbnNwb3J0RGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFncmFtV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlw +ZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0 +ZW5zaW9uIGJhc2U9InRuczpXcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIj4NCiAgICAgICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1lc3NhZ2VSZXBlYXRD +b3VudCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iTWVzc2FnZVJlcGVhdERlbGF5IiB0eXBlPSJ4czpkb3VibGUiIG1p +bk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5z +aW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9IkRhdGFncmFtV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSIgdHlw +ZT0idG5zOkRhdGFncmFtV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGF0YWdyYW1Xcml0ZXJHcm91cFRyYW5zcG9ydERhdGFU +eXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhZ3Jh +bVdyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRuczpEYXRhZ3JhbVdyaXRlckdy +b3VwVHJhbnNwb3J0RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNlcnZpY2VGYXVsdCIgdHlwZT0idG5zOlNlcnZpY2VG -YXVsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRmluZFNlcnZlcnNSZXF1ZXN0Ij4N -CiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkZpbmRzIHRoZSBz -ZXJ2ZXJzIGtub3duIHRvIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4N -CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2lu -dFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmci -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJTZXJ2ZXJVcmlzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi +cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRhdGFncmFtV3JpdGVyR3JvdXBUcmFuc3Bv +cnREYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZkRhdGFncmFtV3JpdGVyR3JvdXBUcmFuc3BvcnRE +YXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iQnJva2VyQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIj4NCiAgICA8eHM6Y29t +cGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5z +OkNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNvdXJjZVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h +bWU9IkF1dGhlbnRpY2F0aW9uUHJvZmlsZVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94 +czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJva2VyQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBl +IiB0eXBlPSJ0bnM6QnJva2VyQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZCcm9rZXJDb25uZWN0aW9uVHJhbnNwb3J0RGF0YVR5 +cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb2tlckNv +bm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSIgdHlwZT0idG5zOkJyb2tlckNvbm5lY3Rpb25UcmFu +c3BvcnREYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iRmluZFNlcnZlcnNSZXF1ZXN0IiB0eXBlPSJ0bnM6RmluZFNlcnZl -cnNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJGaW5kU2VydmVyc1Jlc3Bv -bnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkZpbmRz -IHRoZSBzZXJ2ZXJzIGtub3duIHRvIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwveHM6ZG9jdW1lbnRh -dGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlNlcnZlcnMiIHR5cGU9InRuczpMaXN0T2ZBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkZpbmRTZXJ2ZXJzUmVzcG9uc2UiIHR5cGU9 -InRuczpGaW5kU2VydmVyc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJT -ZXJ2ZXJPbk5ldHdvcmsiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlJlY29yZElkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzY292 -ZXJ5VXJsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJDYXBhYmlsaXRpZXMiIHR5cGU9InVhOkxp -c3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJP -bk5ldHdvcmsiIHR5cGU9InRuczpTZXJ2ZXJPbk5ldHdvcmsiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9Ikxpc3RPZlNlcnZlck9uTmV0d29yayI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyT25OZXR3b3JrIiB0eXBlPSJ0bnM6U2VydmVyT25O -ZXR3b3JrIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJMaXN0T2ZTZXJ2ZXJPbk5ldHdvcmsiIHR5cGU9InRuczpMaXN0T2ZTZXJ2ZXJP -bk5ldHdvcmsiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVl -c3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJTdGFydGluZ1JlY29yZElkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4UmVjb3Jkc1RvUmV0dXJuIiB0 -eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iU2VydmVyQ2FwYWJpbGl0eUZpbHRlciIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVx -dWVzdCIgdHlwZT0idG5zOkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVxdWVzdCIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iRmluZFNlcnZlcnNPbk5ldHdvcmtSZXNwb25zZSI+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9 -InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ikxhc3RDb3VudGVyUmVzZXRUaW1lIiB0eXBlPSJ4czpkYXRl -VGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVycyIg -dHlwZT0idG5zOkxpc3RPZlNlcnZlck9uTmV0d29yayIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJGaW5kU2VydmVyc09uTmV0d29ya1Jlc3BvbnNlIiB0eXBlPSJ0bnM6Rmlu -ZFNlcnZlcnNPbk5ldHdvcmtSZXNwb25zZSIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBcHBs -aWNhdGlvbkluc3RhbmNlQ2VydGlmaWNhdGUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgLz4NCg0K -ICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iTWVzc2FnZVNlY3VyaXR5TW9kZSI+DQogICAgPHhzOmFu -bm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgdHlwZSBvZiBzZWN1cml0eSB0 -byB1c2Ugb24gYSBtZXNzYWdlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRp -b24+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51 -bWVyYXRpb24gdmFsdWU9IkludmFsaWRfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 -ZT0iTm9uZV8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTaWduXzIiIC8+DQog -ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNpZ25BbmRFbmNyeXB0XzMiIC8+DQogICAgPC94 -czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJN -ZXNzYWdlU2VjdXJpdHlNb2RlIiB0eXBlPSJ0bnM6TWVzc2FnZVNlY3VyaXR5TW9kZSIgLz4NCg0K -ICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iVXNlclRva2VuVHlwZSI+DQogICAgPHhzOmFubm90YXRp -b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgcG9zc2libGUgdXNlciB0b2tlbiB0eXBl -cy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpyZXN0 -cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJB -bm9ueW1vdXNfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVXNlck5hbWVfMSIg -Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ2VydGlmaWNhdGVfMiIgLz4NCiAgICAg -IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNzdWVkVG9rZW5fMyIgLz4NCiAgICA8L3hzOnJlc3Ry -aWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVzZXJUb2tl -blR5cGUiIHR5cGU9InRuczpVc2VyVG9rZW5UeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJVc2VyVG9rZW5Qb2xpY3kiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRv -Y3VtZW50YXRpb24+RGVzY3JpYmVzIGEgdXNlciB0b2tlbiB0aGF0IGNhbiBiZSB1c2VkIHdpdGgg -YSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQb2xpY3lJZCIgdHlwZT0ieHM6 -c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iVG9rZW5UeXBlIiB0eXBlPSJ0bnM6VXNlclRva2VuVHlwZSIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNzdWVkVG9rZW5UeXBlIiB0eXBlPSJ4czpz -dHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJJc3N1ZXJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlQb2xp -Y3lVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJVc2VyVG9rZW5Qb2xpY3kiIHR5cGU9InRuczpVc2VyVG9rZW5Qb2xpY3kiIC8+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlVzZXJUb2tlblBvbGljeSI+DQogICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlclRva2VuUG9saWN5IiB0eXBlPSJ0 -bnM6VXNlclRva2VuUG9saWN5IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZVc2VyVG9rZW5Qb2xpY3kiIHR5cGU9InRuczpM -aXN0T2ZVc2VyVG9rZW5Qb2xpY3kiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVuZHBvaW50RGVzY3JpcHRpb24iPg0KICAgIDx4czphbm5v -dGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGRlc2NyaXB0aW9uIG9mIGEgZW5k -cG9pbnQgdGhhdCBjYW4gYmUgdXNlZCB0byBhY2Nlc3MgYSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0 +PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQnJva2VyQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBl +IiB0eXBlPSJ0bnM6TGlzdE9mQnJva2VyQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIiBuaWxs +YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJCcm9r +ZXJUcmFuc3BvcnRRdWFsaXR5T2ZTZXJ2aWNlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0i +eHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm90U3BlY2lmaWVkXzAi +IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJlc3RFZmZvcnRfMSIgLz4NCiAgICAg +IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQXRMZWFzdE9uY2VfMiIgLz4NCiAgICAgIDx4czplbnVt +ZXJhdGlvbiB2YWx1ZT0iQXRNb3N0T25jZV8zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh +bHVlPSJFeGFjdGx5T25jZV80IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2lt +cGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJva2VyVHJhbnNwb3J0UXVhbGl0eU9mU2Vy +dmljZSIgdHlwZT0idG5zOkJyb2tlclRyYW5zcG9ydFF1YWxpdHlPZlNlcnZpY2UiIC8+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkJyb2tlclRyYW5zcG9ydFF1YWxpdHlPZlNlcnZp +Y2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb2tlclRy +YW5zcG9ydFF1YWxpdHlPZlNlcnZpY2UiIHR5cGU9InRuczpCcm9rZXJUcmFuc3BvcnRRdWFsaXR5 +T2ZTZXJ2aWNlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxp +c3RPZkJyb2tlclRyYW5zcG9ydFF1YWxpdHlPZlNlcnZpY2UiIHR5cGU9InRuczpMaXN0T2ZCcm9r +ZXJUcmFuc3BvcnRRdWFsaXR5T2ZTZXJ2aWNlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50 +Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCcm9rZXJXcml0ZXJHcm91cFRyYW5zcG9ydERh +dGFUeXBlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4 +czpleHRlbnNpb24gYmFzZT0idG5zOldyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAg +ICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVldWVOYW1l +IiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzb3VyY2VVcmkiIHR5cGU9InhzOnN0cmluZyIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJBdXRoZW50aWNhdGlvblByb2ZpbGVVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0 +ZWREZWxpdmVyeUd1YXJhbnRlZSIgdHlwZT0idG5zOkJyb2tlclRyYW5zcG9ydFF1YWxpdHlPZlNl +cnZpY2UiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwv +eHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb2tlcldyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5 +cGUiIHR5cGU9InRuczpCcm9rZXJXcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiAvPg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZCcm9rZXJXcml0ZXJHcm91cFRyYW5zcG9ydERh +dGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm9r +ZXJXcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6QnJva2VyV3JpdGVyR3Jv +dXBUcmFuc3BvcnREYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQnJva2VyV3JpdGVyR3JvdXBUcmFuc3BvcnRE +YXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZkJyb2tlcldyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5 +cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9IkJyb2tlckRhdGFTZXRXcml0ZXJUcmFuc3BvcnREYXRhVHlwZSI+DQogICAgPHhzOmNvbXBs +ZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpE +YXRhU2V0V3JpdGVyVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQog +ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVldWVOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iUmVzb3VyY2VVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdXRoZW50aWNhdGlvblByb2Zp +bGVVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXRhRGF0YVF1ZXVlTmFtZSIgdHlwZT0ieHM6 +c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czpl +bGVtZW50IG5hbWU9Ik1ldGFEYXRhVXBkYXRlVGltZSIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1 +cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4N +CiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl +bWVudCBuYW1lPSJCcm9rZXJEYXRhU2V0V3JpdGVyVHJhbnNwb3J0RGF0YVR5cGUiIHR5cGU9InRu +czpCcm9rZXJEYXRhU2V0V3JpdGVyVHJhbnNwb3J0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9Ikxpc3RPZkJyb2tlckRhdGFTZXRXcml0ZXJUcmFuc3BvcnREYXRhVHlwZSI+ +DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJva2VyRGF0YVNl +dFdyaXRlclRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6QnJva2VyRGF0YVNldFdyaXRlclRy +YW5zcG9ydERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZCcm9rZXJEYXRhU2V0V3JpdGVyVHJhbnNwb3J0RGF0 +YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZCcm9rZXJEYXRhU2V0V3JpdGVyVHJhbnNwb3J0RGF0YVR5 +cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9IkJyb2tlckRhdGFTZXRSZWFkZXJUcmFuc3BvcnREYXRhVHlwZSI+DQogICAgPHhzOmNvbXBs +ZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpE +YXRhU2V0UmVhZGVyVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQog +ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVldWVOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iUmVzb3VyY2VVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdXRoZW50aWNhdGlvblByb2Zp +bGVVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWREZWxpdmVyeUd1YXJhbnRlZSIg +dHlwZT0idG5zOkJyb2tlclRyYW5zcG9ydFF1YWxpdHlPZlNlcnZpY2UiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXRhRGF0YVF1ZXVlTmFtZSIgdHlwZT0i +eHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hz +OnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVu +dD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJva2VyRGF0YVNl +dFJlYWRlclRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6QnJva2VyRGF0YVNldFJlYWRlclRy +YW5zcG9ydERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZCcm9r +ZXJEYXRhU2V0UmVhZGVyVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IkJyb2tlckRhdGFTZXRSZWFkZXJUcmFuc3BvcnREYXRhVHlw +ZSIgdHlwZT0idG5zOkJyb2tlckRhdGFTZXRSZWFkZXJUcmFuc3BvcnREYXRhVHlwZSIgbWluT2Nj +dXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 +czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlz +dE9mQnJva2VyRGF0YVNldFJlYWRlclRyYW5zcG9ydERhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9m +QnJva2VyRGF0YVNldFJlYWRlclRyYW5zcG9ydERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94 +czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJEaWFnbm9zdGljc0xldmVsIj4N +CiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJh +dGlvbiB2YWx1ZT0iQmFzaWNfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQWR2 +YW5jZWRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW5mb18yIiAvPg0KICAg +ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJMb2dfMyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv +biB2YWx1ZT0iRGVidWdfNCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBs +ZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNzTGV2ZWwiIHR5cGU9InRuczpE +aWFnbm9zdGljc0xldmVsIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZEaWFn +bm9zdGljc0xldmVsIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJEaWFnbm9zdGljc0xldmVsIiB0eXBlPSJ0bnM6RGlhZ25vc3RpY3NMZXZlbCIgbWluT2NjdXJz +PSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz +OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZEaWFnbm9zdGljc0xldmVs +IiB0eXBlPSJ0bnM6TGlzdE9mRGlhZ25vc3RpY3NMZXZlbCIgbmlsbGFibGU9InRydWUiPjwveHM6 +ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iUHViU3ViRGlhZ25vc3RpY3NDb3Vu +dGVyQ2xhc3NpZmljYXRpb24iPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmci +Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJbmZvcm1hdGlvbl8wIiAvPg0KICAgICAg +PHhzOmVudW1lcmF0aW9uIHZhbHVlPSJFcnJvcl8xIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+ +DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUHViU3ViRGlhZ25vc3Rp +Y3NDb3VudGVyQ2xhc3NpZmljYXRpb24iIHR5cGU9InRuczpQdWJTdWJEaWFnbm9zdGljc0NvdW50 +ZXJDbGFzc2lmaWNhdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUHVi +U3ViRGlhZ25vc3RpY3NDb3VudGVyQ2xhc3NpZmljYXRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1YlN1YkRpYWdub3N0aWNzQ291bnRlckNsYXNzaWZp +Y2F0aW9uIiB0eXBlPSJ0bnM6UHViU3ViRGlhZ25vc3RpY3NDb3VudGVyQ2xhc3NpZmljYXRpb24i +IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5j +ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUHViU3Vi +RGlhZ25vc3RpY3NDb3VudGVyQ2xhc3NpZmljYXRpb24iIHR5cGU9InRuczpMaXN0T2ZQdWJTdWJE +aWFnbm9zdGljc0NvdW50ZXJDbGFzc2lmaWNhdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxl +bWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iSWRUeXBlIj4NCiAgICA8eHM6YW5ub3Rh +dGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSB0eXBlIG9mIGlkZW50aWZpZXIgdXNl +ZCBpbiBhIG5vZGUgaWQuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4N +CiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJh +dGlvbiB2YWx1ZT0iTnVtZXJpY18wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJT +dHJpbmdfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iR3VpZF8yIiAvPg0KICAg +ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJPcGFxdWVfMyIgLz4NCiAgICA8L3hzOnJlc3RyaWN0 +aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IklkVHlwZSIgdHlw +ZT0idG5zOklkVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mSWRUeXBl +Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJZFR5cGUiIHR5 +cGU9InRuczpJZFR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQog +ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iTGlzdE9mSWRUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mSWRUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+ +PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJOb2RlQ2xhc3MiPg0KICAg +IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBtYXNrIHNwZWNpZnlp +bmcgdGhlIGNsYXNzIG9mIHRoZSBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu +bm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8 +eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVuc3BlY2lmaWVkXzAiIC8+DQogICAgICA8eHM6ZW51bWVy +YXRpb24gdmFsdWU9Ik9iamVjdF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJW +YXJpYWJsZV8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJNZXRob2RfNCIgLz4N +CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iT2JqZWN0VHlwZV84IiAvPg0KICAgICAgPHhz +OmVudW1lcmF0aW9uIHZhbHVlPSJWYXJpYWJsZVR5cGVfMTYiIC8+DQogICAgICA8eHM6ZW51bWVy +YXRpb24gdmFsdWU9IlJlZmVyZW5jZVR5cGVfMzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g +dmFsdWU9IkRhdGFUeXBlXzY0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJWaWV3 +XzEyOCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9Ik5vZGVDbGFzcyIgdHlwZT0idG5zOk5vZGVDbGFzcyIgLz4NCg0KICA8 +eHM6c2ltcGxlVHlwZSAgbmFtZT0iQWNjZXNzTGV2ZWxUeXBlIj4NCiAgICA8eHM6cmVzdHJpY3Rp +b24gYmFzZT0ieHM6dW5zaWduZWRCeXRlIj4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hz +OnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFjY2Vzc0xldmVsVHlwZSIgdHlwZT0i +dG5zOkFjY2Vzc0xldmVsVHlwZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iQWNjZXNz +TGV2ZWxFeFR5cGUiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czp1bnNpZ25lZEludCI+ +DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJBY2Nlc3NMZXZlbEV4VHlwZSIgdHlwZT0idG5zOkFjY2Vzc0xldmVsRXhUeXBlIiAv +Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJFdmVudE5vdGlmaWVyVHlwZSI+DQogICAgPHhz +OnJlc3RyaWN0aW9uIGJhc2U9InhzOnVuc2lnbmVkSW50Ij4NCiAgICA8L3hzOnJlc3RyaWN0aW9u +Pg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkV2ZW50Tm90aWZpZXJU +eXBlIiB0eXBlPSJ0bnM6RXZlbnROb3RpZmllclR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9IlJvbGVQZXJtaXNzaW9uVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iUm9sZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQZXJtaXNzaW9ucyIgdHlw +ZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSb2xlUGVybWlzc2lvblR5 +cGUiIHR5cGU9InRuczpSb2xlUGVybWlzc2lvblR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9Ikxpc3RPZlJvbGVQZXJtaXNzaW9uVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iUm9sZVBlcm1pc3Npb25UeXBlIiB0eXBlPSJ0bnM6Um9sZVBl +cm1pc3Npb25UeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZSb2xlUGVybWlzc2lvblR5cGUiIHR5cGU9InRuczpMaXN0 +T2ZSb2xlUGVybWlzc2lvblR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFUeXBlRGVmaW5pdGlvbiI+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9IkRhdGFUeXBlRGVmaW5pdGlvbiIgdHlwZT0idG5zOkRhdGFUeXBlRGVmaW5pdGlv +biIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGF0YVR5cGVEZWZpbml0aW9u +Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZURl +ZmluaXRpb24iIHR5cGU9InRuczpEYXRhVHlwZURlZmluaXRpb24iIG1pbk9jY3Vycz0iMCIgbWF4 +T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRhdGFUeXBl +RGVmaW5pdGlvbiIgdHlwZT0idG5zOkxpc3RPZkRhdGFUeXBlRGVmaW5pdGlvbiIgbmlsbGFibGU9 +InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iU3RydWN0dXJl +VHlwZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6 +ZW51bWVyYXRpb24gdmFsdWU9IlN0cnVjdHVyZV8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u +IHZhbHVlPSJTdHJ1Y3R1cmVXaXRoT3B0aW9uYWxGaWVsZHNfMSIgLz4NCiAgICAgIDx4czplbnVt +ZXJhdGlvbiB2YWx1ZT0iVW5pb25fMiIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hz +OnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlN0cnVjdHVyZVR5cGUiIHR5cGU9InRu +czpTdHJ1Y3R1cmVUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTdHJ1Y3R1cmVG +aWVsZCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFtZSIg +dHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iRGVzY3JpcHRpb24iIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJE +YXRhVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czppbnQiIG1pbk9j +Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFycmF5RGltZW5zaW9ucyIgdHlw +ZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4U3RyaW5nTGVuZ3RoIiB0eXBlPSJ4czp1bnNpZ25lZElu +dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNPcHRpb25hbCIg +dHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlN0cnVjdHVyZUZpZWxkIiB0 +eXBlPSJ0bnM6U3RydWN0dXJlRmllbGQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxp +c3RPZlN0cnVjdHVyZUZpZWxkIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJTdHJ1Y3R1cmVGaWVsZCIgdHlwZT0idG5zOlN0cnVjdHVyZUZpZWxkIiBtaW5PY2N1 +cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0 +T2ZTdHJ1Y3R1cmVGaWVsZCIgdHlwZT0idG5zOkxpc3RPZlN0cnVjdHVyZUZpZWxkIiBuaWxsYWJs +ZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTdHJ1Y3R1 +cmVEZWZpbml0aW9uIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAg +ICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkRhdGFUeXBlRGVmaW5pdGlvbiI+DQogICAgICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWZhdWx0RW5jb2Rp +bmdJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkJhc2VEYXRhVHlwZSIgdHlwZT0idWE6Tm9kZUlk +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlN0cnVjdHVyZVR5cGUiIHR5cGU9InRuczpTdHJ1Y3R1cmVUeXBlIiBtaW5PY2N1cnM9 +IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmllbGRzIiB0eXBlPSJ0bnM6TGlz +dE9mU3RydWN0dXJlRmllbGQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBs +ZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTdHJ1 +Y3R1cmVEZWZpbml0aW9uIiB0eXBlPSJ0bnM6U3RydWN0dXJlRGVmaW5pdGlvbiIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU3RydWN0dXJlRGVmaW5pdGlvbiI+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RydWN0dXJlRGVmaW5pdGlvbiIg +dHlwZT0idG5zOlN0cnVjdHVyZURlZmluaXRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1 +bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlN0cnVjdHVyZURlZmluaXRp +b24iIHR5cGU9InRuczpMaXN0T2ZTdHJ1Y3R1cmVEZWZpbml0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+ +PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFbnVtRGVmaW5pdGlvbiI+ +DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5z +aW9uIGJhc2U9InRuczpEYXRhVHlwZURlZmluaXRpb24iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+ +DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmllbGRzIiB0eXBlPSJ0bnM6TGlzdE9mRW51 +bUZpZWxkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNl +cXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRW51bURlZmluaXRpb24i +IHR5cGU9InRuczpFbnVtRGVmaW5pdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i +TGlzdE9mRW51bURlZmluaXRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IkVudW1EZWZpbml0aW9uIiB0eXBlPSJ0bnM6RW51bURlZmluaXRpb24iIG1pbk9j +Y3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxp +c3RPZkVudW1EZWZpbml0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mRW51bURlZmluaXRpb24iIG5pbGxh +YmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik5vZGUi +Pg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+U3BlY2lmaWVz +IHRoZSBhdHRyaWJ1dGVzIHdoaWNoIGJlbG9uZyB0byBhbGwgbm9kZXMuPC94czpkb2N1bWVudGF0 aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyIiB0eXBl -PSJ0bnM6QXBwbGljYXRpb25EZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlckNlcnRpZmljYXRlIiB0eXBlPSJ4 -czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlN -b2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVBv -bGljeVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlcklkZW50aXR5VG9rZW5zIiB0eXBlPSJ0bnM6 -TGlzdE9mVXNlclRva2VuUG9saWN5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNwb3J0UHJvZmlsZVVyaSIgdHlwZT0ieHM6c3Ry -aW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iU2VjdXJpdHlMZXZlbCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iRW5kcG9pbnREZXNjcmlwdGlvbiIgdHlwZT0idG5zOkVuZHBvaW50RGVzY3JpcHRp -b24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkVuZHBvaW50RGVzY3JpcHRp -b24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50 -RGVzY3JpcHRpb24iIHR5cGU9InRuczpFbmRwb2ludERlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAi -IG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl -bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbmRw -b2ludERlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mRW5kcG9pbnREZXNjcmlwdGlvbiIgbmls -bGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iR2V0 -RW5kcG9pbnRzUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l -bnRhdGlvbj5HZXRzIHRoZSBlbmRwb2ludHMgdXNlZCBieSB0aGUgc2VydmVyLjwveHM6ZG9jdW1l -bnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIi -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0 -T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJQcm9maWxlVXJpcyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkdldEVuZHBvaW50c1JlcXVlc3QiIHR5cGU9InRu -czpHZXRFbmRwb2ludHNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJHZXRF -bmRwb2ludHNSZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l -bnRhdGlvbj5HZXRzIHRoZSBlbmRwb2ludHMgdXNlZCBieSB0aGUgc2VydmVyLjwveHM6ZG9jdW1l -bnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRl -ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IkVuZHBvaW50cyIgdHlwZT0idG5zOkxpc3RPZkVuZHBvaW50RGVzY3JpcHRpb24iIG1pbk9j +ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVDbGFzcyIgdHlwZT0i +dG5zOk5vZGVDbGFzcyIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +QnJvd3NlTmFtZSIgdHlwZT0idWE6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc3BsYXlOYW1lIiB0eXBlPSJ1 +YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iRGVzY3JpcHRpb24iIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJX +cml0ZU1hc2siIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJVc2VyV3JpdGVNYXNrIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUm9sZVBlcm1pc3Npb25zIiB0 +eXBlPSJ0bnM6TGlzdE9mUm9sZVBlcm1pc3Npb25UeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlclJvbGVQZXJtaXNzaW9ucyIg +dHlwZT0idG5zOkxpc3RPZlJvbGVQZXJtaXNzaW9uVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFjY2Vzc1Jlc3RyaWN0aW9ucyIg +dHlwZT0ieHM6dW5zaWduZWRTaG9ydCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUmVmZXJlbmNlcyIgdHlwZT0idG5zOkxpc3RPZlJlZmVyZW5jZU5vZGUiIG1pbk9j Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iR2V0RW5kcG9pbnRzUmVzcG9uc2UiIHR5 -cGU9InRuczpHZXRFbmRwb2ludHNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt -ZT0iUmVnaXN0ZXJlZFNlcnZlciI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9j -dW1lbnRhdGlvbj5UaGUgaW5mb3JtYXRpb24gcmVxdWlyZWQgdG8gcmVnaXN0ZXIgYSBzZXJ2ZXIg -d2l0aCBhIGRpc2NvdmVyeSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5u -b3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2 -ZXJVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlByb2R1Y3RVcmkiIHR5cGU9InhzOnN0cmluZyIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNl -cnZlck5hbWVzIiB0eXBlPSJ1YTpMaXN0T2ZMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVHlwZSIgdHlw -ZT0idG5zOkFwcGxpY2F0aW9uVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iR2F0ZXdheVNlcnZlclVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzY292ZXJ5VXJs -cyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VtYXBob3JlRmlsZVBhdGgiIHR5cGU9InhzOnN0 -cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IklzT25saW5lIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg -PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -UmVnaXN0ZXJlZFNlcnZlciIgdHlwZT0idG5zOlJlZ2lzdGVyZWRTZXJ2ZXIiIC8+DQoNCiAgPHhz -OmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlJlZ2lzdGVyZWRTZXJ2ZXIiPg0KICAgIDx4czpzZXF1 -ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyZWRTZXJ2ZXIiIHR5cGU9InRu -czpSZWdpc3RlcmVkU2VydmVyIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZSZWdpc3RlcmVkU2VydmVyIiB0eXBlPSJ0bnM6 -TGlzdE9mUmVnaXN0ZXJlZFNlcnZlciIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0K -ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXF1ZXN0Ij4NCiAgICA8eHM6 -YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlJlZ2lzdGVycyBhIHNlcnZlciB3 -aXRoIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu -bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVx -dWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXIiIHR5cGU9InRuczpS -ZWdpc3RlcmVkU2VydmVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv -eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJl -Z2lzdGVyU2VydmVyUmVxdWVzdCIgdHlwZT0idG5zOlJlZ2lzdGVyU2VydmVyUmVxdWVzdCIgLz4N -Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXNwb25zZSI+DQogICAg -PHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5SZWdpc3RlcnMgYSBzZXJ2 -ZXIgd2l0aCB0aGUgZGlzY292ZXJ5IHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94 -czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIg +b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZSIgdHlwZT0idG5zOk5vZGUiIC8+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk5vZGUiPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGUiIHR5cGU9InRuczpOb2RlIiBtaW5PY2N1 +cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0 +T2ZOb2RlIiB0eXBlPSJ0bnM6TGlzdE9mTm9kZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVu +dD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSW5zdGFuY2VOb2RlIj4NCiAgICA8eHM6Y29t +cGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5z +Ok5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQog +ICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJJbnN0YW5jZU5vZGUiIHR5cGU9InRuczpJ +bnN0YW5jZU5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlR5cGVOb2RlIj4NCiAg +ICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24g +YmFzZT0idG5zOk5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgIDwveHM6c2Vx +dWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUeXBlTm9kZSIgdHlwZT0i +dG5zOlR5cGVOb2RlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJPYmplY3ROb2RlIj4N +CiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0 +aGUgYXR0cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gb2JqZWN0IG5vZGVzLjwveHM6ZG9jdW1lbnRh +dGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVk +PSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpJbnN0YW5jZU5vZGUiPg0K +ICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnRO +b3RpZmllciIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAg +IDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhD +b250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJPYmplY3RO +b2RlIiB0eXBlPSJ0bnM6T2JqZWN0Tm9kZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i +T2JqZWN0VHlwZU5vZGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50 +YXRpb24+U3BlY2lmaWVzIHRoZSBhdHRyaWJ1dGVzIHdoaWNoIGJlbG9uZyB0byBvYmplY3QgdHlw +ZSBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4 +czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNl +PSJ0bnM6VHlwZU5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iSXNBYnN0cmFjdCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94 +czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iT2JqZWN0VHlwZU5vZGUiIHR5cGU9InRuczpPYmplY3RUeXBlTm9kZSIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iVmFyaWFibGVOb2RlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg +ICAgIDx4czpkb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBiZWxv +bmcgdG8gdmFyaWFibGUgbm9kZXMuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3Rh +dGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpl +eHRlbnNpb24gYmFzZT0idG5zOkluc3RhbmNlTm9kZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0idWE6VmFyaWFudCIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlIiB0eXBl +PSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcnJheURpbWVuc2lvbnMiIHR5cGU9InVh +Okxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJBY2Nlc3NMZXZlbCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlckFjY2Vzc0xl +dmVsIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91Ymxl +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yaXpp +bmciIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJBY2Nlc3NMZXZlbEV4IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz +PSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQog +ICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iVmFyaWFibGVOb2RlIiB0eXBlPSJ0bnM6VmFyaWFibGVOb2RlIiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJWYXJpYWJsZVR5cGVOb2RlIj4NCiAgICA8eHM6YW5ub3RhdGlv +bj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0cmlidXRlcyB3aGlj +aCBiZWxvbmcgdG8gdmFyaWFibGUgdHlwZSBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAg +PC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0K +ICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6VHlwZU5vZGUiPg0KICAgICAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUiIHR5cGU9InVhOlZhcmlh +bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlw +ZSIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlUmFuayIgdHlwZT0ieHM6aW50IiBtaW5PY2N1 +cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXJyYXlEaW1lbnNpb25zIiB0 +eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNBYnN0cmFjdCIgdHlwZT0ieHM6Ym9vbGVhbiIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRl +bnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iVmFyaWFibGVUeXBlTm9kZSIgdHlwZT0idG5zOlZhcmlhYmxlVHlw +ZU5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZmVyZW5jZVR5cGVOb2RlIj4N +CiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0 +aGUgYXR0cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gcmVmZXJlbmNlIHR5cGUgbm9kZXMuPC94czpk +b2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRl +bnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOlR5cGVOb2Rl +Ij4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Iklz +QWJzdHJhY3QiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJTeW1tZXRyaWMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0i +MCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbnZlcnNlTmFtZSIgdHlwZT0idWE6 +TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAg +PC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENv +bnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5j +ZVR5cGVOb2RlIiB0eXBlPSJ0bnM6UmVmZXJlbmNlVHlwZU5vZGUiIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9Ik1ldGhvZE5vZGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhz +OmRvY3VtZW50YXRpb24+U3BlY2lmaWVzIHRoZSBhdHRyaWJ1dGVzIHdoaWNoIGJlbG9uZyB0byBt +ZXRob2Qgbm9kZXMuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAg +ICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24g +YmFzZT0idG5zOkluc3RhbmNlTm9kZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJFeGVjdXRhYmxlIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1 +cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlckV4ZWN1dGFibGUiIHR5 +cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4N +CiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1ldGhvZE5vZGUiIHR5cGU9InRuczpN +ZXRob2ROb2RlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJWaWV3Tm9kZSI+DQogICAg +PHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJh +c2U9InRuczpJbnN0YW5jZU5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iQ29udGFpbnNOb0xvb3BzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnROb3RpZmllciIg +dHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2Vx +dWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWaWV3Tm9kZSIgdHlwZT0i +dG5zOlZpZXdOb2RlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEYXRhVHlwZU5vZGUi +Pg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVu +c2lvbiBiYXNlPSJ0bnM6VHlwZU5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNBYnN0cmFjdCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlRGVmaW5pdGlv +biIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAg +PC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg +bmFtZT0iRGF0YVR5cGVOb2RlIiB0eXBlPSJ0bnM6RGF0YVR5cGVOb2RlIiAvPg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJSZWZlcmVuY2VOb2RlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg +ICAgIDx4czpkb2N1bWVudGF0aW9uPlNwZWNpZmllcyBhIHJlZmVyZW5jZSB3aGljaCBiZWxvbmdz +IHRvIGEgbm9kZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZVR5cGVJZCIg +dHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iSXNJbnZlcnNlIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9 +IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXRJZCIgdHlwZT0idWE6RXhwYW5k +ZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNl +Tm9kZSIgdHlwZT0idG5zOlJlZmVyZW5jZU5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9Ikxpc3RPZlJlZmVyZW5jZU5vZGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlJlZmVyZW5jZU5vZGUiIHR5cGU9InRuczpSZWZlcmVuY2VOb2RlIiBtaW5P +Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM +aXN0T2ZSZWZlcmVuY2VOb2RlIiB0eXBlPSJ0bnM6TGlzdE9mUmVmZXJlbmNlTm9kZSIgbmlsbGFi +bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQXJndW1l +bnQiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QW4gYXJn +dW1lbnQgZm9yIGEgbWV0aG9kLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRp +b24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFtZSIgdHlw +ZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iRGF0YVR5cGUiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlUmFuayIgdHlw +ZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcnJh +eURpbWVuc2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlc2NyaXB0aW9uIiB0eXBlPSJ1 +YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFy +Z3VtZW50IiB0eXBlPSJ0bnM6QXJndW1lbnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +Ikxpc3RPZkFyZ3VtZW50Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJBcmd1bWVudCIgdHlwZT0idG5zOkFyZ3VtZW50IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vy +cz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZBcmd1bWVudCIgdHlw +ZT0idG5zOkxpc3RPZkFyZ3VtZW50IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJFbnVtVmFsdWVUeXBlIj4NCiAgICA8eHM6YW5ub3RhdGlv +bj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgbWFwcGluZyBiZXR3ZWVuIGEgdmFsdWUgb2Yg +YW4gZW51bWVyYXRlZCB0eXBlIGFuZCBhIG5hbWUgYW5kIGRlc2NyaXB0aW9uLjwveHM6ZG9jdW1l +bnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUiIHR5cGU9InhzOmxvbmciIG1pbk9jY3Vycz0iMCIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc3BsYXlOYW1lIiB0eXBlPSJ1YTpMb2NhbGl6ZWRU +ZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iRGVzY3JpcHRpb24iIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIg bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXNwb25zZSIgdHlwZT0idG5z -OlJlZ2lzdGVyU2VydmVyUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRp -c2NvdmVyeUNvbmZpZ3VyYXRpb24iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRv -Y3VtZW50YXRpb24+QSBiYXNlIHR5cGUgZm9yIGRpc2NvdmVyeSBjb25maWd1cmF0aW9uIGluZm9y -bWF0aW9uLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9IkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpEaXNjb3Zl -cnlDb25maWd1cmF0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNZG5zRGlzY292 -ZXJ5Q29uZmlndXJhdGlvbiI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l -bnRhdGlvbj5UaGUgZGlzY292ZXJ5IGluZm9ybWF0aW9uIG5lZWRlZCBmb3IgbUROUyByZWdpc3Ry -YXRpb24uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6 -Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0i -dG5zOkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWRuc1NlcnZlck5hbWUiIHR5cGU9InhzOnN0cmluZyIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJTZXJ2ZXJDYXBhYmlsaXRpZXMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwv -eHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1kbnNEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiB0eXBl -PSJ0bnM6TWRuc0Rpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9IlJlZ2lzdGVyU2VydmVyMlJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVy -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iU2VydmVyIiB0eXBlPSJ0bnM6UmVnaXN0ZXJlZFNlcnZlciIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2NvdmVyeUNvbmZpZ3Vy -YXRpb24iIHR5cGU9InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxs +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRW51bVZhbHVlVHlwZSIgdHlwZT0idG5zOkVudW1WYWx1 +ZVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkVudW1WYWx1ZVR5cGUi +Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVudW1WYWx1ZVR5 +cGUiIHR5cGU9InRuczpFbnVtVmFsdWVUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5i +b3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbnVtVmFsdWVUeXBlIiB0eXBl +PSJ0bnM6TGlzdE9mRW51bVZhbHVlVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRW51bUZpZWxkIj4NCiAgICA8eHM6Y29tcGxleENv +bnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkVudW1W +YWx1ZVR5cGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAg +PC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg +bmFtZT0iRW51bUZpZWxkIiB0eXBlPSJ0bnM6RW51bUZpZWxkIiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJMaXN0T2ZFbnVtRmllbGQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IkVudW1GaWVsZCIgdHlwZT0idG5zOkVudW1GaWVsZCIgbWluT2NjdXJz +PSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz +ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9m +RW51bUZpZWxkIiB0eXBlPSJ0bnM6TGlzdE9mRW51bUZpZWxkIiBuaWxsYWJsZT0idHJ1ZSI+PC94 +czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJPcHRpb25TZXQiPg0KICAgIDx4 +czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhpcyBhYnN0cmFjdCBTdHJ1 +Y3R1cmVkIERhdGFUeXBlIGlzIHRoZSBiYXNlIERhdGFUeXBlIGZvciBhbGwgRGF0YVR5cGVzIHJl +cHJlc2VudGluZyBhIGJpdCBtYXNrLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90 +YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUi +IHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbGlkQml0cyIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5 +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9wdGlvblNldCIgdHlwZT0i +dG5zOk9wdGlvblNldCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mT3B0aW9u +U2V0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPcHRpb25T +ZXQiIHR5cGU9InRuczpPcHRpb25TZXQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5k +ZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk9wdGlvblNldCIgdHlwZT0idG5zOkxp +c3RPZk9wdGlvblNldCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iVW5pb24iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRv +Y3VtZW50YXRpb24+VGhpcyBhYnN0cmFjdCBEYXRhVHlwZSBpcyB0aGUgYmFzZSBEYXRhVHlwZSBm +b3IgYWxsIHVuaW9uIERhdGFUeXBlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v +dGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVbmlvbiIgdHlwZT0idG5zOlVuaW9uIiAv +Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZVbmlvbiI+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVW5pb24iIHR5cGU9InRuczpVbmlvbiIgbWlu +T2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +TGlzdE9mVW5pb24iIHR5cGU9InRuczpMaXN0T2ZVbmlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6 +ZWxlbWVudD4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOb3JtYWxpemVkU3RyaW5nIiB0eXBlPSJ4 +czpzdHJpbmciIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVjaW1hbFN0cmluZyIgdHlwZT0i +eHM6c3RyaW5nIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkR1cmF0aW9uU3RyaW5nIiB0eXBl +PSJ4czpzdHJpbmciIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZVN0cmluZyIgdHlwZT0i +eHM6c3RyaW5nIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkRhdGVTdHJpbmciIHR5cGU9Inhz +OnN0cmluZyIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEdXJhdGlvbiIgdHlwZT0ieHM6ZG91 +YmxlIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IlV0Y1RpbWUiIHR5cGU9InhzOmRhdGVUaW1l +IiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkxvY2FsZUlkIiB0eXBlPSJ4czpzdHJpbmciIC8+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlRpbWVab25lRGF0YVR5cGUiPg0KICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik9mZnNldCIgdHlwZT0ieHM6c2hvcnQi +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRheWxpZ2h0U2F2aW5n +SW5PZmZzZXQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNl +cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lWm9u +ZURhdGFUeXBlIiB0eXBlPSJ0bnM6VGltZVpvbmVEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iTGlzdE9mVGltZVpvbmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZVpvbmVEYXRhVHlwZSIgdHlwZT0idG5zOlRpbWVa +b25lRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9Ikxpc3RPZlRpbWVab25lRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZU +aW1lWm9uZURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpl +bGVtZW50IG5hbWU9IkludGVnZXJJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIC8+DQoNCiAgPHhz +OnNpbXBsZVR5cGUgIG5hbWU9IkFwcGxpY2F0aW9uVHlwZSI+DQogICAgPHhzOmFubm90YXRpb24+ +DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgdHlwZXMgb2YgYXBwbGljYXRpb25zLjwveHM6 +ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0aW9u +IGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNlcnZlcl8w +IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDbGllbnRfMSIgLz4NCiAgICAgIDx4 +czplbnVtZXJhdGlvbiB2YWx1ZT0iQ2xpZW50QW5kU2VydmVyXzIiIC8+DQogICAgICA8eHM6ZW51 +bWVyYXRpb24gdmFsdWU9IkRpc2NvdmVyeVNlcnZlcl8zIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rp +b24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25U +eXBlIiB0eXBlPSJ0bnM6QXBwbGljYXRpb25UeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu +YW1lPSJBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAg +IDx4czpkb2N1bWVudGF0aW9uPkRlc2NyaWJlcyBhbiBhcHBsaWNhdGlvbiBhbmQgaG93IHRvIGZp +bmQgaXQuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcHBsaWNhdGlvblVyaSIgdHlwZT0i +eHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iUHJvZHVjdFVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25OYW1l +IiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25UeXBlIiB0eXBlPSJ0bnM6QXBw +bGljYXRpb25UeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJH +YXRld2F5U2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjb3ZlcnlQcm9maWxlVXJpIiB0 +eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJEaXNjb3ZlcnlVcmxzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25EZXNjcmlwdGlv +biIgdHlwZT0idG5zOkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9Ikxpc3RPZkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIHR5cGU9 +InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5i +b3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZBcHBsaWNhdGlvbkRlc2NyaXB0 +aW9uIiB0eXBlPSJ0bnM6TGlzdE9mQXBwbGljYXRpb25EZXNjcmlwdGlvbiIgbmlsbGFibGU9InRy +dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVxdWVzdEhlYWRl +ciI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgaGVh +ZGVyIHBhc3NlZCB3aXRoIGV2ZXJ5IHNlcnZlciByZXF1ZXN0LjwveHM6ZG9jdW1lbnRhdGlvbj4N +CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iQXV0aGVudGljYXRpb25Ub2tlbiIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0YW1w +IiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iUmVxdWVzdEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldHVybkRpYWdub3N0aWNzIiB0eXBlPSJ4czp1 +bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXVk +aXRFbnRyeUlkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lb3V0SGludCIgdHlwZT0ieHM6dW5zaWdu +ZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZGl0aW9u +YWxIZWFkZXIiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVzcG9uc2VIZWFkZXIiPg0KICAgIDx4czph +bm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGhlYWRlciBwYXNzZWQgd2l0 +aCBldmVyeSBzZXJ2ZXIgcmVzcG9uc2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5u +b3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1l +c3RhbXAiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJSZXF1ZXN0SGFuZGxlIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz +PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmljZVJlc3VsdCIgdHlwZT0idWE6 +U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vy +dmljZURpYWdub3N0aWNzIiB0eXBlPSJ1YTpEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0cmluZ1RhYmxlIiB0 +eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRpdGlvbmFsSGVhZGVyIiB0eXBlPSJ1YTpFeHRlbnNp +b25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VI +ZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJWZXJzaW9uVGltZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9IlNlcnZpY2VGYXVsdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6 +ZG9jdW1lbnRhdGlvbj5UaGUgcmVzcG9uc2UgcmV0dXJuZWQgYnkgYWxsIHNlcnZpY2VzIHdoZW4g +dGhlcmUgaXMgYSBzZXJ2aWNlIGxldmVsIGVycm9yLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8 +L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2aWNlRmF1bHQiIHR5cGU9InRuczpTZXJ2aWNl +RmF1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlc3Npb25sZXNzSW52b2tlUmVx +dWVzdFR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVy +aXNWZXJzaW9uIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOYW1lc3BhY2VVcmlzIiB0eXBlPSJ1 +YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJVcmlzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMb2Nh +bGVJZHMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZpY2VJZCIgdHlwZT0ieHM6dW5zaWdu +ZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9ubGVzc0ludm9rZVJlcXVlc3RUeXBl +IiB0eXBlPSJ0bnM6U2Vzc2lvbmxlc3NJbnZva2VSZXF1ZXN0VHlwZSIgLz4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iU2Vzc2lvbmxlc3NJbnZva2VSZXNwb25zZVR5cGUiPg0KICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5hbWVzcGFjZVVyaXMiIHR5cGU9InVh +Okxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlNlcnZlclVyaXMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZp +Y2VJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNl +cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9u +bGVzc0ludm9rZVJlc3BvbnNlVHlwZSIgdHlwZT0idG5zOlNlc3Npb25sZXNzSW52b2tlUmVzcG9u +c2VUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJGaW5kU2VydmVyc1JlcXVlc3Qi +Pg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+RmluZHMgdGhl +IHNlcnZlcnMga25vd24gdG8gdGhlIGRpc2NvdmVyeSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0aW9u +Pg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBv +aW50VXJsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMb2NhbGVJZHMiIHR5cGU9InVhOkxpc3RPZlN0cmlu +ZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlNlcnZlclVyaXMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxs YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZWdpc3RlclNlcnZlcjJSZXF1ZXN0IiB0eXBlPSJ0bnM6UmVn -aXN0ZXJTZXJ2ZXIyUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0 -ZXJTZXJ2ZXIyUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb25maWd1 -cmF0aW9uUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZv -cyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXIyUmVzcG9uc2UiIHR5cGU9InRuczpSZWdpc3Rl -clNlcnZlcjJSZXNwb25zZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iU2VjdXJpdHlU -b2tlblJlcXVlc3RUeXBlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVu -dGF0aW9uPkluZGljYXRlcyB3aGV0aGVyIGEgdG9rZW4gaWYgYmVpbmcgY3JlYXRlZCBvciByZW5l -d2VkLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJl -c3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 -Iklzc3VlXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlbmV3XzEiIC8+DQog -ICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJTZWN1cml0eVRva2VuUmVxdWVzdFR5cGUiIHR5cGU9InRuczpTZWN1cml0eVRva2VuUmVx -dWVzdFR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNoYW5uZWxTZWN1cml0eVRv -a2VuIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSB0 -b2tlbiB0aGF0IGlkZW50aWZpZXMgYSBzZXQgb2Yga2V5cyBmb3IgYW4gYWN0aXZlIHNlY3VyZSBj -aGFubmVsLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2hhbm5lbElkIiB0eXBlPSJ4czp1 -bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVG9r -ZW5JZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IkNyZWF0ZWRBdCIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRMaWZldGltZSIgdHlwZT0ieHM6dW5z -aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDaGFubmVsU2VjdXJpdHlUb2tlbiIgdHlw -ZT0idG5zOkNoYW5uZWxTZWN1cml0eVRva2VuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJPcGVuU2VjdXJlQ2hhbm5lbFJlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAg -PHhzOmRvY3VtZW50YXRpb24+Q3JlYXRlcyBhIHNlY3VyZSBjaGFubmVsIHdpdGggYSBzZXJ2ZXIu -PC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVx -dWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IkNsaWVudFByb3RvY29sVmVyc2lvbiIgdHlwZT0ieHM6dW5zaWduZWRJbnQi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RUeXBlIiB0 -eXBlPSJ0bnM6U2VjdXJpdHlUb2tlblJlcXVlc3RUeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJp -dHlNb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRO -b25jZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTGlmZXRpbWUiIHR5cGU9Inhz -OnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT3BlblNlY3VyZUNoYW5uZWxSZXF1 -ZXN0IiB0eXBlPSJ0bnM6T3BlblNlY3VyZUNoYW5uZWxSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJPcGVuU2VjdXJlQ2hhbm5lbFJlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3Rh -dGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNyZWF0ZXMgYSBzZWN1cmUgY2hhbm5lbCB3 -aXRoIGEgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQog -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIi -IHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlclByb3RvY29sVmVyc2lvbiIgdHlwZT0i -eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlNlY3VyaXR5VG9rZW4iIHR5cGU9InRuczpDaGFubmVsU2VjdXJpdHlUb2tlbiIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlck5v -bmNlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iT3BlblNlY3VyZUNoYW5uZWxSZXNwb25zZSIgdHlwZT0idG5zOk9wZW5TZWN1cmVD -aGFubmVsUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNsb3NlU2VjdXJl -Q2hhbm5lbFJlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50 -YXRpb24+Q2xvc2VzIGEgc2VjdXJlIGNoYW5uZWwuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwv -eHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDbG9zZVNlY3VyZUNoYW5uZWxSZXF1ZXN0IiB0eXBlPSJ0 -bnM6Q2xvc2VTZWN1cmVDaGFubmVsUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt -ZT0iQ2xvc2VTZWN1cmVDaGFubmVsUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAg -ICAgPHhzOmRvY3VtZW50YXRpb24+Q2xvc2VzIGEgc2VjdXJlIGNoYW5uZWwuPC94czpkb2N1bWVu +ICA8eHM6ZWxlbWVudCBuYW1lPSJGaW5kU2VydmVyc1JlcXVlc3QiIHR5cGU9InRuczpGaW5kU2Vy +dmVyc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkZpbmRTZXJ2ZXJzUmVz +cG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Rmlu +ZHMgdGhlIHNlcnZlcnMga25vd24gdG8gdGhlIGRpc2NvdmVyeSBzZXJ2ZXIuPC94czpkb2N1bWVu dGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVy -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog -IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNsb3NlU2VjdXJlQ2hhbm5l -bFJlc3BvbnNlIiB0eXBlPSJ0bnM6Q2xvc2VTZWN1cmVDaGFubmVsUmVzcG9uc2UiIC8+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiPg0KICAgIDx4 -czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBzb2Z0d2FyZSBjZXJ0aWZp -Y2F0ZSB3aXRoIGEgZGlnaXRhbCBzaWduYXR1cmUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwv -eHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJDZXJ0aWZpY2F0ZURhdGEiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNpZ25hdHVyZSIgdHlw -ZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -IlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiIHR5cGU9InRuczpTaWduZWRTb2Z0d2FyZUNlcnRp -ZmljYXRlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTaWduZWRTb2Z0d2Fy -ZUNlcnRpZmljYXRlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiB0eXBlPSJ0bnM6U2lnbmVkU29mdHdhcmVDZXJ0 -aWZpY2F0ZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iTGlzdE9mU2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgdHlwZT0idG5zOkxp -c3RPZlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1l -bnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbkF1dGhlbnRpY2F0aW9uVG9rZW4iIHR5 -cGU9InVhOk5vZGVJZCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2lnbmF0dXJlRGF0 -YSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIGRpZ2l0 -YWwgc2lnbmF0dXJlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQog -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWxnb3JpdGhtIiB0eXBl -PSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJTaWduYXR1cmUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTaWduYXR1cmVEYXRhIiB0eXBlPSJ0bnM6U2ln -bmF0dXJlRGF0YSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ3JlYXRlU2Vzc2lvblJl -cXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q3Jl -YXRlcyBhIG5ldyBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQog -ICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50RGVz -Y3JpcHRpb24iIHR5cGU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVXJpIiB0 -eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbk5h -bWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVudE5vbmNlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnki -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJDbGllbnRDZXJ0aWZpY2F0ZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkU2Vz -c2lvblRpbWVvdXQiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iTWF4UmVzcG9uc2VNZXNzYWdlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJ -bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVTZXNzaW9uUmVxdWVzdCIgdHlwZT0idG5z -OkNyZWF0ZVNlc3Npb25SZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDcmVh -dGVTZXNzaW9uUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3Vt -ZW50YXRpb24+Q3JlYXRlcyBhIG5ldyBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L3hzOmRvY3Vt -ZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFk -ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJTZXNzaW9uSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkF1dGhlbnRpY2F0aW9uVG9rZW4iIHR5 -cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlJldmlzZWRTZXNzaW9uVGltZW91dCIgdHlwZT0ieHM6ZG91YmxlIiBt -aW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJOb25jZSIgdHlw -ZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyQ2VydGlmaWNhdGUiIHR5cGU9InhzOmJhc2U2NEJp -bmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlNlcnZlckVuZHBvaW50cyIgdHlwZT0idG5zOkxpc3RPZkVuZHBvaW50RGVzY3JpcHRp -b24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJTZXJ2ZXJTb2Z0d2FyZUNlcnRpZmljYXRlcyIgdHlwZT0idG5zOkxpc3RPZlNpZ25lZFNv -ZnR3YXJlQ2VydGlmaWNhdGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJTaWduYXR1cmUiIHR5cGU9InRuczpTaWduYXR1cmVE -YXRhIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iTWF4UmVxdWVzdE1lc3NhZ2VTaXplIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9IkNyZWF0ZVNlc3Npb25SZXNwb25zZSIgdHlwZT0idG5zOkNyZWF0ZVNl -c3Npb25SZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVXNlcklkZW50aXR5 -VG9rZW4iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBi -YXNlIHR5cGUgZm9yIGEgdXNlciBpZGVudGl0eSB0b2tlbi48L3hzOmRvY3VtZW50YXRpb24+DQog -ICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlBvbGljeUlkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iVXNlcklkZW50aXR5VG9rZW4iIHR5cGU9InRuczpVc2VySWRlbnRpdHlU -b2tlbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQW5vbnltb3VzSWRlbnRpdHlUb2tl -biI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHRva2Vu -IHJlcHJlc2VudGluZyBhbiBhbm9ueW1vdXMgdXNlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAg -PC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0K -ICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgICAg -ICA8eHM6c2VxdWVuY2U+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVu -c2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJBbm9ueW1vdXNJZGVudGl0eVRva2VuIiB0eXBlPSJ0bnM6QW5vbnlt -b3VzSWRlbnRpdHlUb2tlbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVXNlck5hbWVJ -ZGVudGl0eVRva2VuIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0 -aW9uPkEgdG9rZW4gcmVwcmVzZW50aW5nIGEgdXNlciBpZGVudGlmaWVkIGJ5IGEgdXNlciBuYW1l -IGFuZCBwYXNzd29yZC48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0K -ICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lv -biBiYXNlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQog -ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJQYXNzd29yZCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuY3J5cHRpb25BbGdvcml0 -aG0iIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29t -cGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVz -ZXJOYW1lSWRlbnRpdHlUb2tlbiIgdHlwZT0idG5zOlVzZXJOYW1lSWRlbnRpdHlUb2tlbiIgLz4N -Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iWDUwOUlkZW50aXR5VG9rZW4iPg0KICAgIDx4czph -bm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSB0b2tlbiByZXByZXNlbnRpbmcg -YSB1c2VyIGlkZW50aWZpZWQgYnkgYW4gWDUwOSBjZXJ0aWZpY2F0ZS48L3hzOmRvY3VtZW50YXRp -b24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0i -ZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4i -Pg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2Vy -dGlmaWNhdGVEYXRhIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lv -bj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJYNTA5SWRlbnRpdHlUb2tlbiIgdHlwZT0idG5zOlg1MDlJZGVudGl0eVRv -a2VuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJJc3N1ZWRJZGVudGl0eVRva2VuIj4N -CiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgdG9rZW4gcmVw -cmVzZW50aW5nIGEgdXNlciBpZGVudGlmaWVkIGJ5IGEgV1MtU2VjdXJpdHkgWE1MIHRva2VuLjwv -eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhD -b250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpVc2Vy -SWRlbnRpdHlUb2tlbiI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJUb2tlbkRhdGEiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmNyeXB0 -aW9uQWxnb3JpdGhtIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAg -ICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJJc3N1ZWRJZGVudGl0eVRva2VuIiB0eXBlPSJ0bnM6SXNzdWVkSWRlbnRpdHlUb2tl -biIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWN0aXZhdGVTZXNzaW9uUmVxdWVzdCI+ -DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BY3RpdmF0ZXMg -YSBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czph -bm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJl -cXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50U2lnbmF0dXJlIiB0 -eXBlPSJ0bnM6U2lnbmF0dXJlRGF0YSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVudFNvZnR3YXJlQ2VydGlmaWNhdGVzIiB0eXBl -PSJ0bnM6TGlzdE9mU2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkxvY2FsZUlkcyIgdHlwZT0i -dWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iVXNlcklkZW50aXR5VG9rZW4iIHR5cGU9InVhOkV4dGVuc2lvbk9i -amVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlVzZXJUb2tlblNpZ25hdHVyZSIgdHlwZT0idG5zOlNpZ25hdHVyZURhdGEiIG1pbk9j +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iU2VydmVycyIgdHlwZT0idG5zOkxpc3RPZkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIG1pbk9j Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWN0aXZhdGVTZXNzaW9uUmVxdWVzdCIg -dHlwZT0idG5zOkFjdGl2YXRlU2Vzc2lvblJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9IkFjdGl2YXRlU2Vzc2lvblJlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg -ICAgIDx4czpkb2N1bWVudGF0aW9uPkFjdGl2YXRlcyBhIHNlc3Npb24gd2l0aCB0aGUgc2VydmVy +b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRmluZFNlcnZlcnNSZXNwb25zZSIgdHlw +ZT0idG5zOkZpbmRTZXJ2ZXJzUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +IlNlcnZlck9uTmV0d29yayI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iUmVjb3JkSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNj +b3ZlcnlVcmwiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlckNhcGFiaWxpdGllcyIgdHlwZT0idWE6 +TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 +c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNlcnZl +ck9uTmV0d29yayIgdHlwZT0idG5zOlNlcnZlck9uTmV0d29yayIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iTGlzdE9mU2VydmVyT25OZXR3b3JrIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJPbk5ldHdvcmsiIHR5cGU9InRuczpTZXJ2ZXJP +bk5ldHdvcmsiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl +bGVtZW50IG5hbWU9Ikxpc3RPZlNlcnZlck9uTmV0d29yayIgdHlwZT0idG5zOkxpc3RPZlNlcnZl +ck9uTmV0d29yayIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iRmluZFNlcnZlcnNPbk5ldHdvcmtSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVu +Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVx +dWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlN0YXJ0aW5nUmVjb3JkSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhSZWNvcmRzVG9SZXR1cm4i +IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJTZXJ2ZXJDYXBhYmlsaXR5RmlsdGVyIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRmluZFNlcnZlcnNPbk5ldHdvcmtS +ZXF1ZXN0IiB0eXBlPSJ0bnM6RmluZFNlcnZlcnNPbk5ldHdvcmtSZXF1ZXN0IiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJGaW5kU2VydmVyc09uTmV0d29ya1Jlc3BvbnNlIj4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlw +ZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdENvdW50ZXJSZXNldFRpbWUiIHR5cGU9InhzOmRh +dGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJz +IiB0eXBlPSJ0bnM6TGlzdE9mU2VydmVyT25OZXR3b3JrIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9IkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVzcG9uc2UiIHR5cGU9InRuczpG +aW5kU2VydmVyc09uTmV0d29ya1Jlc3BvbnNlIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkFw +cGxpY2F0aW9uSW5zdGFuY2VDZXJ0aWZpY2F0ZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiAvPg0K +DQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJNZXNzYWdlU2VjdXJpdHlNb2RlIj4NCiAgICA8eHM6 +YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSB0eXBlIG9mIHNlY3VyaXR5 +IHRvIHVzZSBvbiBhIG1lc3NhZ2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3Rh +dGlvbj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czpl +bnVtZXJhdGlvbiB2YWx1ZT0iSW52YWxpZF8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh +bHVlPSJOb25lXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNpZ25fMiIgLz4N +CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU2lnbkFuZEVuY3J5cHRfMyIgLz4NCiAgICA8 +L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +Ik1lc3NhZ2VTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiAvPg0K +DQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJVc2VyVG9rZW5UeXBlIj4NCiAgICA8eHM6YW5ub3Rh +dGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBwb3NzaWJsZSB1c2VyIHRva2VuIHR5 +cGVzLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJl +c3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +IkFub255bW91c18wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVc2VyTmFtZV8x +IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDZXJ0aWZpY2F0ZV8yIiAvPg0KICAg +ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJc3N1ZWRUb2tlbl8zIiAvPg0KICAgIDwveHM6cmVz +dHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlclRv +a2VuVHlwZSIgdHlwZT0idG5zOlVzZXJUb2tlblR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9IlVzZXJUb2tlblBvbGljeSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6 +ZG9jdW1lbnRhdGlvbj5EZXNjcmliZXMgYSB1c2VyIHRva2VuIHRoYXQgY2FuIGJlIHVzZWQgd2l0 +aCBhIHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBvbGljeUlkIiB0eXBlPSJ4 +czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJUb2tlblR5cGUiIHR5cGU9InRuczpVc2VyVG9rZW5UeXBlIiBtaW5PY2N1cnM9 +IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc3N1ZWRUb2tlblR5cGUiIHR5cGU9Inhz +OnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9Iklzc3VlckVuZHBvaW50VXJsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVBv +bGljeVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9IlVzZXJUb2tlblBvbGljeSIgdHlwZT0idG5zOlVzZXJUb2tlblBvbGljeSIgLz4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mVXNlclRva2VuUG9saWN5Ij4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyVG9rZW5Qb2xpY3kiIHR5cGU9 +InRuczpVc2VyVG9rZW5Qb2xpY3kiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlVzZXJUb2tlblBvbGljeSIgdHlwZT0idG5z +Okxpc3RPZlVzZXJUb2tlblBvbGljeSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRW5kcG9pbnREZXNjcmlwdGlvbiI+DQogICAgPHhzOmFu +bm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgZGVzY3JpcHRpb24gb2YgYSBl +bmRwb2ludCB0aGF0IGNhbiBiZSB1c2VkIHRvIGFjY2VzcyBhIHNlcnZlci48L3hzOmRvY3VtZW50 +YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IkVuZHBvaW50VXJsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXIiIHR5 +cGU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyQ2VydGlmaWNhdGUiIHR5cGU9 +InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5TW9kZSIgdHlwZT0idG5zOk1lc3NhZ2VTZWN1cml0 +eU1vZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5 +UG9saWN5VXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VySWRlbnRpdHlUb2tlbnMiIHR5cGU9InRu +czpMaXN0T2ZVc2VyVG9rZW5Qb2xpY3kiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc3BvcnRQcm9maWxlVXJpIiB0eXBlPSJ4czpz +dHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJTZWN1cml0eUxldmVsIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0i +MCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl +bWVudCBuYW1lPSJFbmRwb2ludERlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6RW5kcG9pbnREZXNjcmlw +dGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRW5kcG9pbnREZXNjcmlw +dGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5kcG9p +bnREZXNjcmlwdGlvbiIgdHlwZT0idG5zOkVuZHBvaW50RGVzY3JpcHRpb24iIG1pbk9jY3Vycz0i +MCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx +dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkVu +ZHBvaW50RGVzY3JpcHRpb24iIHR5cGU9InRuczpMaXN0T2ZFbmRwb2ludERlc2NyaXB0aW9uIiBu +aWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJH +ZXRFbmRwb2ludHNSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1 +bWVudGF0aW9uPkdldHMgdGhlIGVuZHBvaW50cyB1c2VkIGJ5IHRoZSBzZXJ2ZXIuPC94czpkb2N1 +bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRl +ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IkVuZHBvaW50VXJsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMb2NhbGVJZHMiIHR5cGU9InVhOkxp +c3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlByb2ZpbGVVcmlzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w +bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iR2V0RW5kcG9pbnRzUmVxdWVzdCIgdHlwZT0i +dG5zOkdldEVuZHBvaW50c1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikdl +dEVuZHBvaW50c1Jlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1 +bWVudGF0aW9uPkdldHMgdGhlIGVuZHBvaW50cyB1c2VkIGJ5IHRoZSBzZXJ2ZXIuPC94czpkb2N1 +bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVh +ZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iRW5kcG9pbnRzIiB0eXBlPSJ0bnM6TGlzdE9mRW5kcG9pbnREZXNjcmlwdGlvbiIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz +OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJHZXRFbmRwb2ludHNSZXNwb25zZSIg +dHlwZT0idG5zOkdldEVuZHBvaW50c1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu +YW1lPSJSZWdpc3RlcmVkU2VydmVyIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpk +b2N1bWVudGF0aW9uPlRoZSBpbmZvcm1hdGlvbiByZXF1aXJlZCB0byByZWdpc3RlciBhIHNlcnZl +ciB3aXRoIGEgZGlzY292ZXJ5IHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czph +bm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNl +cnZlclVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJvZHVjdFVyaSIgdHlwZT0ieHM6c3RyaW5nIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +U2VydmVyTmFtZXMiIHR5cGU9InVhOkxpc3RPZkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJUeXBlIiB0 +eXBlPSJ0bnM6QXBwbGljYXRpb25UeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJHYXRld2F5U2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjb3ZlcnlV +cmxzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZW1hcGhvcmVGaWxlUGF0aCIgdHlwZT0ieHM6 +c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iSXNPbmxpbmUiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAg +ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJSZWdpc3RlcmVkU2VydmVyIiB0eXBlPSJ0bnM6UmVnaXN0ZXJlZFNlcnZlciIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUmVnaXN0ZXJlZFNlcnZlciI+DQogICAgPHhzOnNl +cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJlZFNlcnZlciIgdHlwZT0i +dG5zOlJlZ2lzdGVyZWRTZXJ2ZXIiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlJlZ2lzdGVyZWRTZXJ2ZXIiIHR5cGU9InRu +czpMaXN0T2ZSZWdpc3RlcmVkU2VydmVyIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWdpc3RlclNlcnZlclJlcXVlc3QiPg0KICAgIDx4 +czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+UmVnaXN0ZXJzIGEgc2VydmVy +IHdpdGggdGhlIGRpc2NvdmVyeSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6 +YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS +ZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlciIgdHlwZT0idG5z +OlJlZ2lzdGVyZWRTZXJ2ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +UmVnaXN0ZXJTZXJ2ZXJSZXF1ZXN0IiB0eXBlPSJ0bnM6UmVnaXN0ZXJTZXJ2ZXJSZXF1ZXN0IiAv +Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWdpc3RlclNlcnZlclJlc3BvbnNlIj4NCiAg +ICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlJlZ2lzdGVycyBhIHNl +cnZlciB3aXRoIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8 +L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWdpc3RlclNlcnZlclJlc3BvbnNlIiB0eXBlPSJ0 +bnM6UmVnaXN0ZXJTZXJ2ZXJSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i +RGlzY292ZXJ5Q29uZmlndXJhdGlvbiI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6 +ZG9jdW1lbnRhdGlvbj5BIGJhc2UgdHlwZSBmb3IgZGlzY292ZXJ5IGNvbmZpZ3VyYXRpb24gaW5m +b3JtYXRpb24uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iRGlzY292ZXJ5Q29uZmlndXJhdGlvbiIgdHlwZT0idG5zOkRpc2Nv +dmVyeUNvbmZpZ3VyYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1kbnNEaXNj +b3ZlcnlDb25maWd1cmF0aW9uIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1 +bWVudGF0aW9uPlRoZSBkaXNjb3ZlcnkgaW5mb3JtYXRpb24gbmVlZGVkIGZvciBtRE5TIHJlZ2lz +dHJhdGlvbi48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4 +czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNl +PSJ0bnM6RGlzY292ZXJ5Q29uZmlndXJhdGlvbiI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZG5zU2VydmVyTmFtZSIgdHlwZT0ieHM6c3RyaW5n +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlNlcnZlckNhcGFiaWxpdGllcyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAg +PC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTWRuc0Rpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIHR5 +cGU9InRuczpNZG5zRGlzY292ZXJ5Q29uZmlndXJhdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXIyUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFk +ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJTZXJ2ZXIiIHR5cGU9InRuczpSZWdpc3RlcmVkU2VydmVyIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzY292ZXJ5Q29uZmln +dXJhdGlvbiIgdHlwZT0idWE6TGlzdE9mRXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyU2VydmVyMlJlcXVlc3QiIHR5cGU9InRuczpS +ZWdpc3RlclNlcnZlcjJSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWdp +c3RlclNlcnZlcjJSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNvbmZp +Z3VyYXRpb25SZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0lu +Zm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJSZWdpc3RlclNlcnZlcjJSZXNwb25zZSIgdHlwZT0idG5zOlJlZ2lz +dGVyU2VydmVyMlJlc3BvbnNlIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJTZWN1cml0 +eVRva2VuUmVxdWVzdFR5cGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3Vt +ZW50YXRpb24+SW5kaWNhdGVzIHdoZXRoZXIgYSB0b2tlbiBpZiBiZWluZyBjcmVhdGVkIG9yIHJl +bmV3ZWQuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6 +cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 +ZT0iSXNzdWVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVuZXdfMSIgLz4N +CiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9IlNlY3VyaXR5VG9rZW5SZXF1ZXN0VHlwZSIgdHlwZT0idG5zOlNlY3VyaXR5VG9rZW5S +ZXF1ZXN0VHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2hhbm5lbFNlY3VyaXR5 +VG9rZW4iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhl +IHRva2VuIHRoYXQgaWRlbnRpZmllcyBhIHNldCBvZiBrZXlzIGZvciBhbiBhY3RpdmUgc2VjdXJl +IGNoYW5uZWwuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDaGFubmVsSWQiIHR5cGU9Inhz +OnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJU +b2tlbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iQ3JlYXRlZEF0IiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZExpZmV0aW1lIiB0eXBlPSJ4czp1 +bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNoYW5uZWxTZWN1cml0eVRva2VuIiB0 +eXBlPSJ0bnM6Q2hhbm5lbFNlY3VyaXR5VG9rZW4iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9Ik9wZW5TZWN1cmVDaGFubmVsUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg +ICA8eHM6ZG9jdW1lbnRhdGlvbj5DcmVhdGVzIGEgc2VjdXJlIGNoYW5uZWwgd2l0aCBhIHNlcnZl +ci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpS +ZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iQ2xpZW50UHJvdG9jb2xWZXJzaW9uIiB0eXBlPSJ4czp1bnNpZ25lZElu +dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdFR5cGUi +IHR5cGU9InRuczpTZWN1cml0eVRva2VuUmVxdWVzdFR5cGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5TW9kZSIgdHlwZT0idG5zOk1lc3NhZ2VTZWN1 +cml0eU1vZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVu +dE5vbmNlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWRMaWZldGltZSIgdHlwZT0i +eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJPcGVuU2VjdXJlQ2hhbm5lbFJl +cXVlc3QiIHR5cGU9InRuczpPcGVuU2VjdXJlQ2hhbm5lbFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9Ik9wZW5TZWN1cmVDaGFubmVsUmVzcG9uc2UiPg0KICAgIDx4czphbm5v +dGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q3JlYXRlcyBhIHNlY3VyZSBjaGFubmVs +IHdpdGggYSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRl +ciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyUHJvdG9jb2xWZXJzaW9uIiB0eXBl +PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iU2VjdXJpdHlUb2tlbiIgdHlwZT0idG5zOkNoYW5uZWxTZWN1cml0eVRva2VuIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVy +Tm9uY2UiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl +bWVudCBuYW1lPSJPcGVuU2VjdXJlQ2hhbm5lbFJlc3BvbnNlIiB0eXBlPSJ0bnM6T3BlblNlY3Vy +ZUNoYW5uZWxSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2xvc2VTZWN1 +cmVDaGFubmVsUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l +bnRhdGlvbj5DbG9zZXMgYSBzZWN1cmUgY2hhbm5lbC48L3hzOmRvY3VtZW50YXRpb24+DQogICAg +PC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNsb3NlU2VjdXJlQ2hhbm5lbFJlcXVlc3QiIHR5cGU9 +InRuczpDbG9zZVNlY3VyZUNoYW5uZWxSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu +YW1lPSJDbG9zZVNlY3VyZUNoYW5uZWxSZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRpb24+DQog +ICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5DbG9zZXMgYSBzZWN1cmUgY2hhbm5lbC48L3hzOmRvY3Vt +ZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFk +ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xvc2VTZWN1cmVDaGFu +bmVsUmVzcG9uc2UiIHR5cGU9InRuczpDbG9zZVNlY3VyZUNoYW5uZWxSZXNwb25zZSIgLz4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSI+DQogICAg +PHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHNvZnR3YXJlIGNlcnRp +ZmljYXRlIHdpdGggYSBkaWdpdGFsIHNpZ25hdHVyZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAg +PC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IkNlcnRpZmljYXRlRGF0YSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2lnbmF0dXJlIiB0 +eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iU2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgdHlwZT0idG5zOlNpZ25lZFNvZnR3YXJlQ2Vy +dGlmaWNhdGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlNpZ25lZFNvZnR3 +YXJlQ2VydGlmaWNhdGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiIHR5cGU9InRuczpTaWduZWRTb2Z0d2FyZUNl +cnRpZmljYXRlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJMaXN0T2ZTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiB0eXBlPSJ0bnM6 +TGlzdE9mU2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxl +bWVudD4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uQXV0aGVudGljYXRpb25Ub2tlbiIg +dHlwZT0idWE6Tm9kZUlkIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTaWduYXR1cmVE +YXRhIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgZGln +aXRhbCBzaWduYXR1cmUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBbGdvcml0aG0iIHR5 +cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlNpZ25hdHVyZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNpZ25hdHVyZURhdGEiIHR5cGU9InRuczpT +aWduYXR1cmVEYXRhIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDcmVhdGVTZXNzaW9u +UmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5D +cmVhdGVzIGEgbmV3IHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4N +CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRE +ZXNjcmlwdGlvbiIgdHlwZT0idG5zOkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJVcmki +IHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50VXJsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9u +TmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50Tm9uY2UiIHR5cGU9InhzOmJhc2U2NEJpbmFy +eSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IkNsaWVudENlcnRpZmljYXRlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWRT +ZXNzaW9uVGltZW91dCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJNYXhSZXNwb25zZU1lc3NhZ2VTaXplIiB0eXBlPSJ4czp1bnNpZ25l +ZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZVNlc3Npb25SZXF1ZXN0IiB0eXBlPSJ0 +bnM6Q3JlYXRlU2Vzc2lvblJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNy +ZWF0ZVNlc3Npb25SZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9j +dW1lbnRhdGlvbj5DcmVhdGVzIGEgbmV3IHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwveHM6ZG9j +dW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhl +YWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlNlc3Npb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXV0aGVudGljYXRpb25Ub2tlbiIg +dHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFNlc3Npb25UaW1lb3V0IiB0eXBlPSJ4czpkb3VibGUi +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlck5vbmNlIiB0 +eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJDZXJ0aWZpY2F0ZSIgdHlwZT0ieHM6YmFzZTY0 +QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iU2VydmVyRW5kcG9pbnRzIiB0eXBlPSJ0bnM6TGlzdE9mRW5kcG9pbnREZXNjcmlw +dGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlNlcnZlclNvZnR3YXJlQ2VydGlmaWNhdGVzIiB0eXBlPSJ0bnM6TGlzdE9mU2lnbmVk +U29mdHdhcmVDZXJ0aWZpY2F0ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlclNpZ25hdHVyZSIgdHlwZT0idG5zOlNpZ25hdHVy +ZURhdGEiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJNYXhSZXF1ZXN0TWVzc2FnZVNpemUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iQ3JlYXRlU2Vzc2lvblJlc3BvbnNlIiB0eXBlPSJ0bnM6Q3JlYXRl +U2Vzc2lvblJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJVc2VySWRlbnRp +dHlUb2tlbiI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5B +IGJhc2UgdHlwZSBmb3IgYSB1c2VyIGlkZW50aXR5IHRva2VuLjwveHM6ZG9jdW1lbnRhdGlvbj4N +CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUG9saWN5SWQiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJVc2VySWRlbnRpdHlUb2tlbiIgdHlwZT0idG5zOlVzZXJJZGVudGl0 +eVRva2VuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBbm9ueW1vdXNJZGVudGl0eVRv +a2VuIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgdG9r +ZW4gcmVwcmVzZW50aW5nIGFuIGFub255bW91cyB1c2VyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAg +ICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+ +DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpVc2VySWRlbnRpdHlUb2tlbiI+DQogICAg +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0 +ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9IkFub255bW91c0lkZW50aXR5VG9rZW4iIHR5cGU9InRuczpBbm9u +eW1vdXNJZGVudGl0eVRva2VuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJVc2VyTmFt +ZUlkZW50aXR5VG9rZW4iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50 +YXRpb24+QSB0b2tlbiByZXByZXNlbnRpbmcgYSB1c2VyIGlkZW50aWZpZWQgYnkgYSB1c2VyIG5h +bWUgYW5kIHBhc3N3b3JkLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+ +DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5z +aW9uIGJhc2U9InRuczpVc2VySWRlbnRpdHlUb2tlbiI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h +bWU9IlBhc3N3b3JkIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5jcnlwdGlvbkFsZ29y +aXRobSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpj +b21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +VXNlck5hbWVJZGVudGl0eVRva2VuIiB0eXBlPSJ0bnM6VXNlck5hbWVJZGVudGl0eVRva2VuIiAv +Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJYNTA5SWRlbnRpdHlUb2tlbiI+DQogICAgPHhz +OmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHRva2VuIHJlcHJlc2VudGlu +ZyBhIHVzZXIgaWRlbnRpZmllZCBieSBhbiBYNTA5IGNlcnRpZmljYXRlLjwveHM6ZG9jdW1lbnRh +dGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVk +PSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpVc2VySWRlbnRpdHlUb2tl +biI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJD +ZXJ0aWZpY2F0ZURhdGEiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5z +aW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9Ilg1MDlJZGVudGl0eVRva2VuIiB0eXBlPSJ0bnM6WDUwOUlkZW50aXR5 +VG9rZW4iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Iklzc3VlZElkZW50aXR5VG9rZW4i +Pg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSB0b2tlbiBy +ZXByZXNlbnRpbmcgYSB1c2VyIGlkZW50aWZpZWQgYnkgYSBXUy1TZWN1cml0eSBYTUwgdG9rZW4u +PC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxl +eENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOlVz +ZXJJZGVudGl0eVRva2VuIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlRva2VuRGF0YSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuY3J5 +cHRpb25BbGdvcml0aG0iIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0K +ICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9Iklzc3VlZElkZW50aXR5VG9rZW4iIHR5cGU9InRuczpJc3N1ZWRJZGVudGl0eVRv +a2VuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBY3RpdmF0ZVNlc3Npb25SZXF1ZXN0 +Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkFjdGl2YXRl +cyBhIHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hz +OmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +UmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRTaWduYXR1cmUi +IHR5cGU9InRuczpTaWduYXR1cmVEYXRhIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50U29mdHdhcmVDZXJ0aWZpY2F0ZXMiIHR5 +cGU9InRuczpMaXN0T2ZTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBl +PSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VySWRlbnRpdHlUb2tlbiIgdHlwZT0idWE6RXh0ZW5zaW9u +T2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iVXNlclRva2VuU2lnbmF0dXJlIiB0eXBlPSJ0bnM6U2lnbmF0dXJlRGF0YSIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz +OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBY3RpdmF0ZVNlc3Npb25SZXF1ZXN0 +IiB0eXBlPSJ0bnM6QWN0aXZhdGVTZXNzaW9uUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iQWN0aXZhdGVTZXNzaW9uUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0K +ICAgICAgPHhzOmRvY3VtZW50YXRpb24+QWN0aXZhdGVzIGEgc2Vzc2lvbiB3aXRoIHRoZSBzZXJ2 +ZXIuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5z +OlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyTm9uY2UiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJl +c3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9 +InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9IkFjdGl2YXRlU2Vzc2lvblJlc3BvbnNlIiB0eXBlPSJ0bnM6QWN0aXZhdGVTZXNzaW9u +UmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNsb3NlU2Vzc2lvblJlcXVl +c3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q2xvc2Vz +IGEgc2Vzc2lvbiB3aXRoIHRoZSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6 +YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS +ZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZVN1YnNjcmlwdGlv +bnMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNl +Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDbG9zZVNlc3Npb25S +ZXF1ZXN0IiB0eXBlPSJ0bnM6Q2xvc2VTZXNzaW9uUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iQ2xvc2VTZXNzaW9uUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0K +ICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q2xvc2VzIGEgc2Vzc2lvbiB3aXRoIHRoZSBzZXJ2ZXIu +PC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVu +Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJl +c3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 +c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNsb3Nl +U2Vzc2lvblJlc3BvbnNlIiB0eXBlPSJ0bnM6Q2xvc2VTZXNzaW9uUmVzcG9uc2UiIC8+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNhbmNlbFJlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9u +Pg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q2FuY2VscyBhbiBvdXRzdGFuZGluZyByZXF1ZXN0 LjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpS -ZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlNlcnZlck5vbmNlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1 -bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1 -YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJBY3RpdmF0ZVNlc3Npb25SZXNwb25zZSIgdHlwZT0idG5zOkFjdGl2YXRlU2Vzc2lvblJl -c3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDbG9zZVNlc3Npb25SZXF1ZXN0 -Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNsb3NlcyBh -IHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu -bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVx -dWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVTdWJzY3JpcHRpb25z -IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xvc2VTZXNzaW9uUmVx -dWVzdCIgdHlwZT0idG5zOkNsb3NlU2Vzc2lvblJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IkNsb3NlU2Vzc2lvblJlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg -ICAgIDx4czpkb2N1bWVudGF0aW9uPkNsb3NlcyBhIHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwv -eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNw -b25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDbG9zZVNl -c3Npb25SZXNwb25zZSIgdHlwZT0idG5zOkNsb3NlU2Vzc2lvblJlc3BvbnNlIiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJDYW5jZWxSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4N -CiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNhbmNlbHMgYW4gb3V0c3RhbmRpbmcgcmVxdWVzdC48 -L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5j -ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1 -ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVxdWVzdEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vy -cz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJDYW5jZWxSZXF1ZXN0IiB0eXBlPSJ0bnM6Q2FuY2VsUmVxdWVzdCIgLz4N -Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2FuY2VsUmVzcG9uc2UiPg0KICAgIDx4czphbm5v -dGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q2FuY2VscyBhbiBvdXRzdGFuZGluZyBy -ZXF1ZXN0LjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9 -InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IkNhbmNlbENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIg -bWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9IkNhbmNlbFJlc3BvbnNlIiB0eXBlPSJ0bnM6Q2FuY2VsUmVz -cG9uc2UiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9Ik5vZGVBdHRyaWJ1dGVzTWFzayI+ -DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYml0cyB1 -c2VkIHRvIHNwZWNpZnkgZGVmYXVsdCBhdHRyaWJ1dGVzIGZvciBhIG5ldyBub2RlLjwveHM6ZG9j -dW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJh -c2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4N -CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQWNjZXNzTGV2ZWxfMSIgLz4NCiAgICAgIDx4 -czplbnVtZXJhdGlvbiB2YWx1ZT0iQXJyYXlEaW1lbnNpb25zXzIiIC8+DQogICAgICA8eHM6ZW51 -bWVyYXRpb24gdmFsdWU9IkJyb3dzZU5hbWVfNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 -YWx1ZT0iQ29udGFpbnNOb0xvb3BzXzgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 -IkRhdGFUeXBlXzE2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEZXNjcmlwdGlv -bl8zMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGlzcGxheU5hbWVfNjQiIC8+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkV2ZW50Tm90aWZpZXJfMTI4IiAvPg0KICAg -ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJFeGVjdXRhYmxlXzI1NiIgLz4NCiAgICAgIDx4czpl -bnVtZXJhdGlvbiB2YWx1ZT0iSGlzdG9yaXppbmdfNTEyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0 -aW9uIHZhbHVlPSJJbnZlcnNlTmFtZV8xMDI0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh -bHVlPSJJc0Fic3RyYWN0XzIwNDgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik1p -bmltdW1TYW1wbGluZ0ludGVydmFsXzQwOTYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs -dWU9Ik5vZGVDbGFzc184MTkyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb2Rl -SWRfMTYzODQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN5bW1ldHJpY18zMjc2 -OCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVXNlckFjY2Vzc0xldmVsXzY1NTM2 -IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVc2VyRXhlY3V0YWJsZV8xMzEwNzIi -IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVzZXJXcml0ZU1hc2tfMjYyMTQ0IiAv -Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJWYWx1ZVJhbmtfNTI0Mjg4IiAvPg0KICAg -ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJXcml0ZU1hc2tfMTA0ODU3NiIgLz4NCiAgICAgIDx4 -czplbnVtZXJhdGlvbiB2YWx1ZT0iVmFsdWVfMjA5NzE1MiIgLz4NCiAgICAgIDx4czplbnVtZXJh -dGlvbiB2YWx1ZT0iQWxsXzQxOTQzMDMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 -IkJhc2VOb2RlXzEzMzUzOTYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik9iamVj -dF8xMzM1NTI0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJPYmplY3RUeXBlT3JE -YXRhVHlwZV8xMzM3NDQ0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJWYXJpYWJs -ZV80MDI2OTk5IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJWYXJpYWJsZVR5cGVf -Mzk1ODkwMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTWV0aG9kXzE0NjY3MjQi -IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlZmVyZW5jZVR5cGVfMTM3MTIzNiIg -Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVmlld18xMzM1NTMyIiAvPg0KICAgIDwv -eHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -Tm9kZUF0dHJpYnV0ZXNNYXNrIiB0eXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXNNYXNrIiAvPg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJOb2RlQXR0cmlidXRlcyI+DQogICAgPHhzOmFubm90YXRp -b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYmFzZSBhdHRyaWJ1dGVzIGZvciBhbGwg -bm9kZXMuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiB0 -eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iRGlzcGxheU5hbWUiIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIg -dHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IldyaXRlTWFzayIgdHlwZT0ieHM6dW5zaWduZWRJbnQi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJXcml0ZU1hc2si -IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUF0dHJpYnV0 -ZXMiIHR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt -ZT0iT2JqZWN0QXR0cmlidXRlcyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9j -dW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYW4gb2JqZWN0IG5vZGUuPC94czpkb2N1bWVu -dGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4 -ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk5vZGVBdHRyaWJ1dGVz -Ij4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2 -ZW50Tm90aWZpZXIiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21w -bGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT2Jq -ZWN0QXR0cmlidXRlcyIgdHlwZT0idG5zOk9iamVjdEF0dHJpYnV0ZXMiIC8+DQoNCiAgPHhzOmNv -bXBsZXhUeXBlIG5hbWU9IlZhcmlhYmxlQXR0cmlidXRlcyI+DQogICAgPHhzOmFubm90YXRpb24+ -DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSB2YXJpYWJsZSBu -b2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNv -bXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRu -czpOb2RlQXR0cmlidXRlcyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0idWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJBcnJheURpbWVuc2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJBY2Nlc3NMZXZlbCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+ -DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlckFjY2Vzc0xldmVsIiB0eXBlPSJ4czp1 -bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yaXppbmciIHR5cGU9InhzOmJv -b2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwv -eHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlZhcmlhYmxlQXR0cmlidXRlcyIgdHlwZT0idG5zOlZh -cmlhYmxlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTWV0aG9kQXR0 -cmlidXRlcyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5U -aGUgYXR0cmlidXRlcyBmb3IgYSBtZXRob2Qgbm9kZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAg -PC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0K -ICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXhlY3V0YWJsZSIgdHlw -ZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h -bWU9IlVzZXJFeGVjdXRhYmxlIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNv -bXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJN -ZXRob2RBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6TWV0aG9kQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iT2JqZWN0VHlwZUF0dHJpYnV0ZXMiPg0KICAgIDx4czphbm5vdGF0 -aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGFuIG9iamVj -dCB0eXBlIG5vZGUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAg -ICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24g -YmFzZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -ICAgIDx4czplbGVtZW50IG5hbWU9IklzQWJzdHJhY3QiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9u -Pg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9Ik9iamVjdFR5cGVBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6T2JqZWN0VHlwZUF0 -dHJpYnV0ZXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhYmxlVHlwZUF0dHJp -YnV0ZXMiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhl -IGF0dHJpYnV0ZXMgZm9yIGEgdmFyaWFibGUgdHlwZSBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4N -CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxz -ZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAg -ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlw -ZT0idWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h -bWU9IkRhdGFUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czpp -bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcnJheURp -bWVuc2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4 -czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAg -ICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWYXJpYWJsZVR5cGVBdHRyaWJ1dGVzIiB0eXBl -PSJ0bnM6VmFyaWFibGVUeXBlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt -ZT0iUmVmZXJlbmNlVHlwZUF0dHJpYnV0ZXMiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAg -PHhzOmRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGEgcmVmZXJlbmNlIHR5cGUgbm9k -ZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21w -bGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6 -Tm9kZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iSXNBYnN0cmFjdCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAv -Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN5bW1ldHJpYyIgdHlwZT0ieHM6Ym9vbGVh -biIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkludmVyc2VO -YW1lIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAg -PC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg -bmFtZT0iUmVmZXJlbmNlVHlwZUF0dHJpYnV0ZXMiIHR5cGU9InRuczpSZWZlcmVuY2VUeXBlQXR0 -cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGF0YVR5cGVBdHRyaWJ1dGVz -Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBhdHRy -aWJ1dGVzIGZvciBhIGRhdGEgdHlwZSBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hz -OmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAg -ICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgICAgIDx4czpz -ZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4 -czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAg -ICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZUF0dHJpYnV0ZXMiIHR5cGU9InRu -czpEYXRhVHlwZUF0dHJpYnV0ZXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZpZXdB -dHRyaWJ1dGVzIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9u -PlRoZSBhdHRyaWJ1dGVzIGZvciBhIHZpZXcgbm9kZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAg -PC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0K -ICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGFpbnNOb0xvb3Bz -IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1l +bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJl +cXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGFuZGxlIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9IkNhbmNlbFJlcXVlc3QiIHR5cGU9InRuczpDYW5jZWxSZXF1ZXN0IiAv +Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDYW5jZWxSZXNwb25zZSI+DQogICAgPHhzOmFu +bm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5DYW5jZWxzIGFuIG91dHN0YW5kaW5n +IHJlcXVlc3QuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlw +ZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2FuY2VsQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ2FuY2VsUmVzcG9uc2UiIHR5cGU9InRuczpDYW5jZWxS +ZXNwb25zZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iTm9kZUF0dHJpYnV0ZXNNYXNr +Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBiaXRz +IHVzZWQgdG8gc3BlY2lmeSBkZWZhdWx0IGF0dHJpYnV0ZXMgZm9yIGEgbmV3IG5vZGUuPC94czpk +b2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6cmVzdHJpY3Rpb24g +YmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9uZV8wIiAv +Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBY2Nlc3NMZXZlbF8xIiAvPg0KICAgICAg +PHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBcnJheURpbWVuc2lvbnNfMiIgLz4NCiAgICAgIDx4czpl +bnVtZXJhdGlvbiB2YWx1ZT0iQnJvd3NlTmFtZV80IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u +IHZhbHVlPSJDb250YWluc05vTG9vcHNfOCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 +ZT0iRGF0YVR5cGVfMTYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRlc2NyaXB0 +aW9uXzMyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEaXNwbGF5TmFtZV82NCIg +Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRXZlbnROb3RpZmllcl8xMjgiIC8+DQog +ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkV4ZWN1dGFibGVfMjU2IiAvPg0KICAgICAgPHhz +OmVudW1lcmF0aW9uIHZhbHVlPSJIaXN0b3JpemluZ181MTIiIC8+DQogICAgICA8eHM6ZW51bWVy +YXRpb24gdmFsdWU9IkludmVyc2VOYW1lXzEwMjQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g +dmFsdWU9IklzQWJzdHJhY3RfMjA0OCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i +TWluaW11bVNhbXBsaW5nSW50ZXJ2YWxfNDA5NiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 +YWx1ZT0iTm9kZUNsYXNzXzgxOTIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5v +ZGVJZF8xNjM4NCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU3ltbWV0cmljXzMy +NzY4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVc2VyQWNjZXNzTGV2ZWxfNjU1 +MzYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVzZXJFeGVjdXRhYmxlXzEzMTA3 +MiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVXNlcldyaXRlTWFza18yNjIxNDQi +IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZhbHVlUmFua181MjQyODgiIC8+DQog +ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IldyaXRlTWFza18xMDQ4NTc2IiAvPg0KICAgICAg +PHhzOmVudW1lcmF0aW9uIHZhbHVlPSJWYWx1ZV8yMDk3MTUyIiAvPg0KICAgICAgPHhzOmVudW1l +cmF0aW9uIHZhbHVlPSJEYXRhVHlwZURlZmluaXRpb25fNDE5NDMwNCIgLz4NCiAgICAgIDx4czpl +bnVtZXJhdGlvbiB2YWx1ZT0iUm9sZVBlcm1pc3Npb25zXzgzODg2MDgiIC8+DQogICAgICA8eHM6 +ZW51bWVyYXRpb24gdmFsdWU9IkFjY2Vzc1Jlc3RyaWN0aW9uc18xNjc3NzIxNiIgLz4NCiAgICAg +IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQWxsXzMzNTU0NDMxIiAvPg0KICAgICAgPHhzOmVudW1l +cmF0aW9uIHZhbHVlPSJCYXNlTm9kZV8yNjUwMTIyMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv +biB2YWx1ZT0iT2JqZWN0XzI2NTAxMzQ4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl +PSJPYmplY3RUeXBlXzI2NTAzMjY4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJW +YXJpYWJsZV8yNjU3MTM4MyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVmFyaWFi +bGVUeXBlXzI4NjAwNDM4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJNZXRob2Rf +MjY2MzI1NDgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlZmVyZW5jZVR5cGVf +MjY1MzcwNjAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZpZXdfMjY1MDEzNTYi +IC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxl +bWVudCBuYW1lPSJOb2RlQXR0cmlidXRlc01hc2siIHR5cGU9InRuczpOb2RlQXR0cmlidXRlc01h +c2siIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik5vZGVBdHRyaWJ1dGVzIj4NCiAgICA8 +eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBiYXNlIGF0dHJpYnV0 +ZXMgZm9yIGFsbCBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9u +Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNwZWNpZmllZEF0 +dHJpYnV0ZXMiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJEaXNwbGF5TmFtZSIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRl +c2NyaXB0aW9uIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVNYXNrIiB0eXBlPSJ4czp1 +bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNl +cldyaXRlTWFzayIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJO +b2RlQXR0cmlidXRlcyIgdHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJPYmplY3RBdHRyaWJ1dGVzIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg +ICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVzIGZvciBhbiBvYmplY3Qgbm9kZS48 +L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4 +Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9k +ZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1l bnQgbmFtZT0iRXZlbnROb3RpZmllciIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9 IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAg ICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJWaWV3QXR0cmlidXRlcyIgdHlwZT0idG5zOlZpZXdBdHRyaWJ1dGVzIiAvPg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZGROb2Rlc0l0ZW0iPg0KICAgIDx4czphbm5vdGF0aW9u -Pg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSByZXF1ZXN0IHRvIGFkZCBhIG5vZGUgdG8gdGhl -IHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90 -YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUGFyZW50 -Tm9kZUlkIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgdHlwZT0i -dWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVxdWVzdGVkTmV3Tm9kZUlkIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkJyb3dzZU5hbWUiIHR5cGU9InVhOlF1YWxpZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlQ2xhc3MiIHR5cGU9InRu -czpOb2RlQ2xhc3MiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5v -ZGVBdHRyaWJ1dGVzIiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUeXBlRGVmaW5pdGlvbiIg -dHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg -bmFtZT0iQWRkTm9kZXNJdGVtIiB0eXBlPSJ0bnM6QWRkTm9kZXNJdGVtIiAvPg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZBZGROb2Rlc0l0ZW0iPg0KICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZE5vZGVzSXRlbSIgdHlwZT0idG5zOkFkZE5vZGVz -SXRlbSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iTGlzdE9mQWRkTm9kZXNJdGVtIiB0eXBlPSJ0bnM6TGlzdE9mQWRkTm9kZXNJdGVt -IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJBZGROb2Rlc1Jlc3VsdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l -bnRhdGlvbj5BIHJlc3VsdCBvZiBhbiBhZGQgbm9kZSBvcGVyYXRpb24uPC94czpkb2N1bWVudGF0 -aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRlZE5vZGVJZCIgdHlwZT0idWE6Tm9k -ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFkZE5vZGVzUmVzdWx0 -IiB0eXBlPSJ0bnM6QWRkTm9kZXNSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 -Ikxpc3RPZkFkZE5vZGVzUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJBZGROb2Rlc1Jlc3VsdCIgdHlwZT0idG5zOkFkZE5vZGVzUmVzdWx0IiBtaW5P -Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM -aXN0T2ZBZGROb2Rlc1Jlc3VsdCIgdHlwZT0idG5zOkxpc3RPZkFkZE5vZGVzUmVzdWx0IiBuaWxs -YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZGRO -b2Rlc1JlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRp -b24+QWRkcyBvbmUgb3IgbW9yZSBub2RlcyB0byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94 -czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVz -dEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9Ik5vZGVzVG9BZGQiIHR5cGU9InRuczpMaXN0T2ZBZGROb2Rlc0l0ZW0iIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkTm9kZXNSZXF1ZXN0IiB0eXBlPSJ0 -bnM6QWRkTm9kZXNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZGROb2Rl -c1Jlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9u -PkFkZHMgb25lIG9yIG1vcmUgbm9kZXMgdG8gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6 -ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25z -ZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZBZGROb2Rlc1Jlc3VsdCIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdu -b3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkTm9kZXNSZXNwb25zZSIgdHlwZT0idG5zOkFkZE5v -ZGVzUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFkZFJlZmVyZW5jZXNJ -dGVtIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgcmVx -dWVzdCB0byBhZGQgYSByZWZlcmVuY2UgdG8gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6 -ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU291cmNlTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS -ZWZlcmVuY2VUeXBlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IklzRm9yd2FyZCIgdHlwZT0ieHM6Ym9v -bGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0U2Vy -dmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXROb2RlSWQiIHR5cGU9InVhOkV4cGFuZGVk -Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iVGFyZ2V0Tm9kZUNsYXNzIiB0eXBlPSJ0bnM6Tm9kZUNsYXNzIiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iQWRkUmVmZXJlbmNlc0l0ZW0iIHR5cGU9InRuczpBZGRSZWZlcmVuY2VzSXRl -bSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQWRkUmVmZXJlbmNlc0l0ZW0i -Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZFJlZmVyZW5j -ZXNJdGVtIiB0eXBlPSJ0bnM6QWRkUmVmZXJlbmNlc0l0ZW0iIG1pbk9jY3Vycz0iMCIgbWF4T2Nj -dXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog -IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkFkZFJlZmVyZW5j -ZXNJdGVtIiB0eXBlPSJ0bnM6TGlzdE9mQWRkUmVmZXJlbmNlc0l0ZW0iIG5pbGxhYmxlPSJ0cnVl -Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFkZFJlZmVyZW5jZXNS -ZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkFk -ZHMgb25lIG9yIG1vcmUgcmVmZXJlbmNlcyB0byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94 -czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVz -dEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlJlZmVyZW5jZXNUb0FkZCIgdHlwZT0idG5zOkxpc3RPZkFkZFJlZmVyZW5jZXNJ -dGVtIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFkZFJlZmVyZW5jZXNS -ZXF1ZXN0IiB0eXBlPSJ0bnM6QWRkUmVmZXJlbmNlc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9IkFkZFJlZmVyZW5jZXNSZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRpb24+ -DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BZGRzIG9uZSBvciBtb3JlIHJlZmVyZW5jZXMgdG8g +dCBuYW1lPSJPYmplY3RBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6T2JqZWN0QXR0cmlidXRlcyIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVmFyaWFibGVBdHRyaWJ1dGVzIj4NCiAgICA8eHM6 +YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVzIGZvciBh +IHZhcmlhYmxlIG5vZGUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4N +CiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNp +b24gYmFzZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlIiB0eXBlPSJ1YTpWYXJpYW50IiBtaW5PY2N1 +cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVR5cGUiIHR5cGU9InVh +Ok5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJWYWx1ZVJhbmsiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0K +ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFycmF5RGltZW5zaW9ucyIgdHlwZT0idWE6TGlz +dE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4 +czplbGVtZW50IG5hbWU9IkFjY2Vzc0xldmVsIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9j +Y3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyQWNjZXNzTGV2ZWwi +IHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czpl +bGVtZW50IG5hbWU9Ik1pbmltdW1TYW1wbGluZ0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1p +bk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3JpemluZyIg +dHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNl +Pg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVmFyaWFibGVBdHRyaWJ1dGVzIiB0 +eXBlPSJ0bnM6VmFyaWFibGVBdHRyaWJ1dGVzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJNZXRob2RBdHRyaWJ1dGVzIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1 +bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVzIGZvciBhIG1ldGhvZCBub2RlLjwveHM6ZG9jdW1lbnRh +dGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVk +PSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0cmlidXRlcyI+ +DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFeGVj +dXRhYmxlIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iVXNlckV4ZWN1dGFibGUiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vy +cz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0K +ICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9Ik1ldGhvZEF0dHJpYnV0ZXMiIHR5cGU9InRuczpNZXRob2RBdHRyaWJ1dGVzIiAv +Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJPYmplY3RUeXBlQXR0cmlidXRlcyI+DQogICAg +PHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBm +b3IgYW4gb2JqZWN0IHR5cGUgbm9kZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v +dGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhz +OmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8eHM6c2VxdWVu +Y2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNBYnN0cmFjdCIgdHlwZT0ieHM6Ym9v +bGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94 +czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT2JqZWN0VHlwZUF0dHJpYnV0ZXMiIHR5cGU9InRuczpP +YmplY3RUeXBlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVmFyaWFi +bGVUeXBlQXR0cmlidXRlcyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l +bnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSB2YXJpYWJsZSB0eXBlIG5vZGUuPC94czpkb2N1 +bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQg +bWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk5vZGVBdHRyaWJ1 +dGVzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlZhbHVlIiB0eXBlPSJ1YTpWYXJpYW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iRGF0YVR5cGUiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZVJhbmsi +IHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h +bWU9IkFycmF5RGltZW5zaW9ucyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IklzQWJzdHJh +Y3QiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1 +ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlZhcmlhYmxlVHlwZUF0dHJp +YnV0ZXMiIHR5cGU9InRuczpWYXJpYWJsZVR5cGVBdHRyaWJ1dGVzIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJSZWZlcmVuY2VUeXBlQXR0cmlidXRlcyI+DQogICAgPHhzOmFubm90YXRp +b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSByZWZlcmVu +Y2UgdHlwZSBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQog +ICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9u +IGJhc2U9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpib29sZWFuIiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3ltbWV0cmljIiB0eXBl +PSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iSW52ZXJzZU5hbWUiIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVu +c2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VUeXBlQXR0cmlidXRlcyIgdHlwZT0idG5zOlJlZmVy +ZW5jZVR5cGVBdHRyaWJ1dGVzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEYXRhVHlw +ZUF0dHJpYnV0ZXMiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRp +b24+VGhlIGF0dHJpYnV0ZXMgZm9yIGEgZGF0YSB0eXBlIG5vZGUuPC94czpkb2N1bWVudGF0aW9u +Pg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZh +bHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAg +ICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IklzQWJzdHJh +Y3QiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1 +ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlQXR0cmlidXRl +cyIgdHlwZT0idG5zOkRhdGFUeXBlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iVmlld0F0dHJpYnV0ZXMiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRv +Y3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGEgdmlldyBub2RlLjwveHM6ZG9jdW1lbnRh +dGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVk +PSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0cmlidXRlcyI+ +DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250 +YWluc05vTG9vcHMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudE5vdGlmaWVyIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUi +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0 +ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9IlZpZXdBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6Vmlld0F0dHJpYnV0 +ZXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkdlbmVyaWNBdHRyaWJ1dGVWYWx1ZSI+ +DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXR0cmlidXRlSWQi +IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJWYWx1ZSIgdHlwZT0idWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikdl +bmVyaWNBdHRyaWJ1dGVWYWx1ZSIgdHlwZT0idG5zOkdlbmVyaWNBdHRyaWJ1dGVWYWx1ZSIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mR2VuZXJpY0F0dHJpYnV0ZVZhbHVlIj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJHZW5lcmljQXR0cmli +dXRlVmFsdWUiIHR5cGU9InRuczpHZW5lcmljQXR0cmlidXRlVmFsdWUiIG1pbk9jY3Vycz0iMCIg +bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkdlbmVy +aWNBdHRyaWJ1dGVWYWx1ZSIgdHlwZT0idG5zOkxpc3RPZkdlbmVyaWNBdHRyaWJ1dGVWYWx1ZSIg +bmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i +R2VuZXJpY0F0dHJpYnV0ZXMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2Ui +Pg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgICAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXR0cmlidXRlVmFs +dWVzIiB0eXBlPSJ0bnM6TGlzdE9mR2VuZXJpY0F0dHJpYnV0ZVZhbHVlIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpl +eHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4N +CiAgPHhzOmVsZW1lbnQgbmFtZT0iR2VuZXJpY0F0dHJpYnV0ZXMiIHR5cGU9InRuczpHZW5lcmlj +QXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWRkTm9kZXNJdGVtIj4N +CiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgcmVxdWVzdCB0 +byBhZGQgYSBub2RlIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRp +b24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlBhcmVudE5vZGVJZCIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZl +cmVuY2VUeXBlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZE5ld05vZGVJZCIgdHlwZT0i +dWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VOYW1lIiB0eXBlPSJ1YTpRdWFsaWZpZWROYW1lIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +Tm9kZUNsYXNzIiB0eXBlPSJ0bnM6Tm9kZUNsYXNzIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJOb2RlQXR0cmlidXRlcyIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iVHlwZURlZmluaXRpb24iIHR5cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFkZE5vZGVzSXRlbSIgdHlwZT0idG5zOkFkZE5vZGVz +SXRlbSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQWRkTm9kZXNJdGVtIj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGROb2Rlc0l0ZW0i +IHR5cGU9InRuczpBZGROb2Rlc0l0ZW0iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5k +ZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkFkZE5vZGVzSXRlbSIgdHlwZT0idG5z +Okxpc3RPZkFkZE5vZGVzSXRlbSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iQWRkTm9kZXNSZXN1bHQiPg0KICAgIDx4czphbm5vdGF0aW9u +Pg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSByZXN1bHQgb2YgYW4gYWRkIG5vZGUgb3BlcmF0 +aW9uLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNl +cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3Rh +dHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkZWRO +b2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJBZGROb2Rlc1Jlc3VsdCIgdHlwZT0idG5zOkFkZE5vZGVzUmVzdWx0IiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZBZGROb2Rlc1Jlc3VsdCI+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkTm9kZXNSZXN1bHQiIHR5cGU9InRuczpB +ZGROb2Rlc1Jlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQWRkTm9kZXNSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZB +ZGROb2Rlc1Jlc3VsdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iQWRkTm9kZXNSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg +ICAgIDx4czpkb2N1bWVudGF0aW9uPkFkZHMgb25lIG9yIG1vcmUgbm9kZXMgdG8gdGhlIHNlcnZl +ciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+ +DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRl +ciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2Rlc1RvQWRkIiB0eXBlPSJ0bnM6TGlzdE9m +QWRkTm9kZXNJdGVtIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 +c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFkZE5v +ZGVzUmVxdWVzdCIgdHlwZT0idG5zOkFkZE5vZGVzUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iQWRkTm9kZXNSZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg +ICA8eHM6ZG9jdW1lbnRhdGlvbj5BZGRzIG9uZSBvciBtb3JlIG5vZGVzIHRvIHRoZSBzZXJ2ZXIg +YWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0K +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVy +IiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ0bnM6TGlzdE9mQWRk +Tm9kZXNSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJ +bmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFkZE5vZGVzUmVzcG9u +c2UiIHR5cGU9InRuczpBZGROb2Rlc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu +YW1lPSJBZGRSZWZlcmVuY2VzSXRlbSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6 +ZG9jdW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8gYWRkIGEgcmVmZXJlbmNlIHRvIHRoZSBzZXJ2ZXIg +YWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0K +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNvdXJjZU5vZGVJZCIg +dHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Zv +cndhcmQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlRhcmdldFNlcnZlclVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0Tm9kZUlk +IiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdldE5vZGVDbGFzcyIgdHlwZT0idG5zOk5v +ZGVDbGFzcyIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFkZFJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0 +bnM6QWRkUmVmZXJlbmNlc0l0ZW0iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RP +ZkFkZFJlZmVyZW5jZXNJdGVtIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJBZGRSZWZlcmVuY2VzSXRlbSIgdHlwZT0idG5zOkFkZFJlZmVyZW5jZXNJdGVtIiBt +aW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJMaXN0T2ZBZGRSZWZlcmVuY2VzSXRlbSIgdHlwZT0idG5zOkxpc3RPZkFkZFJlZmVyZW5jZXNJ +dGVtIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBu +YW1lPSJBZGRSZWZlcmVuY2VzUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8 +eHM6ZG9jdW1lbnRhdGlvbj5BZGRzIG9uZSBvciBtb3JlIHJlZmVyZW5jZXMgdG8gdGhlIHNlcnZl +ciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+ +DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRl +ciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VzVG9BZGQiIHR5cGU9InRuczpM +aXN0T2ZBZGRSZWZlcmVuY2VzSXRlbSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJBZGRSZWZlcmVuY2VzUmVxdWVzdCIgdHlwZT0idG5zOkFkZFJlZmVyZW5jZXNSZXF1ZXN0 +IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZGRSZWZlcmVuY2VzUmVzcG9uc2UiPg0K +ICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QWRkcyBvbmUgb3Ig +bW9yZSByZWZlcmVuY2VzIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50 +YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIi +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0 +eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl +bWVudCBuYW1lPSJBZGRSZWZlcmVuY2VzUmVzcG9uc2UiIHR5cGU9InRuczpBZGRSZWZlcmVuY2Vz +UmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZU5vZGVzSXRlbSI+ +DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHJlcXVlc3Qg +dG8gZGVsZXRlIGEgbm9kZSB0byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVu +dGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZVRhcmdldFJl +ZmVyZW5jZXMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNl +cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVO +b2Rlc0l0ZW0iIHR5cGU9InRuczpEZWxldGVOb2Rlc0l0ZW0iIC8+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9Ikxpc3RPZkRlbGV0ZU5vZGVzSXRlbSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlTm9kZXNJdGVtIiB0eXBlPSJ0bnM6RGVsZXRlTm9k +ZXNJdGVtIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl +bWVudCBuYW1lPSJMaXN0T2ZEZWxldGVOb2Rlc0l0ZW0iIHR5cGU9InRuczpMaXN0T2ZEZWxldGVO +b2Rlc0l0ZW0iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9IkRlbGV0ZU5vZGVzUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg +ICA8eHM6ZG9jdW1lbnRhdGlvbj5EZWxldGUgb25lIG9yIG1vcmUgbm9kZXMgZnJvbSB0aGUgc2Vy +dmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlv +bj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVh +ZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVzVG9EZWxldGUiIHR5cGU9InRuczpM +aXN0T2ZEZWxldGVOb2Rlc0l0ZW0iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iRGVsZXRlTm9kZXNSZXF1ZXN0IiB0eXBlPSJ0bnM6RGVsZXRlTm9kZXNSZXF1ZXN0IiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEZWxldGVOb2Rlc1Jlc3BvbnNlIj4NCiAgICA8eHM6 +YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkRlbGV0ZSBvbmUgb3IgbW9yZSBu +b2RlcyBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQog +ICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRz +IiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpM +aXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJEZWxldGVOb2Rlc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6RGVsZXRlTm9kZXNSZXNwb25zZSIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlUmVmZXJlbmNlc0l0ZW0iPg0KICAgIDx4 +czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSByZXF1ZXN0IHRvIGRlbGV0 +ZSBhIG5vZGUgZnJvbSB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9u +Pg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJTb3VyY2VOb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZVR5cGVJ +ZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNGb3J3YXJkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1 +cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXROb2RlSWQiIHR5cGU9InVh +OkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlQmlkaXJlY3Rpb25hbCIgdHlwZT0ieHM6Ym9vbGVhbiIg +bWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0bnM6RGVs +ZXRlUmVmZXJlbmNlc0l0ZW0iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkRl +bGV0ZVJlZmVyZW5jZXNJdGVtIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJEZWxldGVSZWZlcmVuY2VzSXRlbSIgdHlwZT0idG5zOkRlbGV0ZVJlZmVyZW5jZXNJ +dGVtIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJMaXN0T2ZEZWxldGVSZWZlcmVuY2VzSXRlbSIgdHlwZT0idG5zOkxpc3RPZkRlbGV0 +ZVJlZmVyZW5jZXNJdGVtIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJEZWxldGVSZWZlcmVuY2VzUmVxdWVzdCI+DQogICAgPHhzOmFubm90 +YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5EZWxldGUgb25lIG9yIG1vcmUgcmVmZXJl +bmNlcyBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQog +ICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNl +c1RvRGVsZXRlIiB0eXBlPSJ0bnM6TGlzdE9mRGVsZXRlUmVmZXJlbmNlc0l0ZW0iIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w +bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlUmVmZXJlbmNlc1JlcXVlc3QiIHR5 +cGU9InRuczpEZWxldGVSZWZlcmVuY2VzUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iRGVsZXRlUmVmZXJlbmNlc1Jlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg +ICAgIDx4czpkb2N1bWVudGF0aW9uPkRlbGV0ZSBvbmUgb3IgbW9yZSByZWZlcmVuY2VzIGZyb20g dGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVz cG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs @@ -25388,1909 +51954,1836 @@ YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVh Okxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg ICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdu b3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFkZFJlZmVy -ZW5jZXNSZXNwb25zZSIgdHlwZT0idG5zOkFkZFJlZmVyZW5jZXNSZXNwb25zZSIgLz4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlTm9kZXNJdGVtIj4NCiAgICA8eHM6YW5ub3RhdGlv -bj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgcmVxdWVzdCB0byBkZWxldGUgYSBub2RlIHRv -IHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czph -bm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5v -ZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlVGFyZ2V0UmVmZXJlbmNlcyIgdHlwZT0ieHM6 -Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZU5vZGVzSXRlbSIgdHlwZT0idG5z -OkRlbGV0ZU5vZGVzSXRlbSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGVs -ZXRlTm9kZXNJdGVtIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJEZWxldGVOb2Rlc0l0ZW0iIHR5cGU9InRuczpEZWxldGVOb2Rlc0l0ZW0iIG1pbk9jY3Vycz0i -MCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRl -bGV0ZU5vZGVzSXRlbSIgdHlwZT0idG5zOkxpc3RPZkRlbGV0ZU5vZGVzSXRlbSIgbmlsbGFibGU9 -InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlTm9k -ZXNSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9u -PkRlbGV0ZSBvbmUgb3IgbW9yZSBub2RlcyBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48 -L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5j -ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1 -ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iTm9kZXNUb0RlbGV0ZSIgdHlwZT0idG5zOkxpc3RPZkRlbGV0ZU5vZGVzSXRl -bSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVOb2Rlc1JlcXVl -c3QiIHR5cGU9InRuczpEZWxldGVOb2Rlc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9IkRlbGV0ZU5vZGVzUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAg -PHhzOmRvY3VtZW50YXRpb24+RGVsZXRlIG9uZSBvciBtb3JlIG5vZGVzIGZyb20gdGhlIHNlcnZl -ciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+ -DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFk -ZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0 -YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZv -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog -IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZU5vZGVzUmVzcG9u -c2UiIHR5cGU9InRuczpEZWxldGVOb2Rlc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJEZWxldGVSZWZlcmVuY2VzSXRlbSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg -ICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8gZGVsZXRlIGEgbm9kZSBmcm9tIHRoZSBz -ZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 -aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNvdXJjZU5v -ZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQi -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJJc0ZvcndhcmQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlRhcmdldE5vZGVJZCIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJE -ZWxldGVCaWRpcmVjdGlvbmFsIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iRGVsZXRlUmVmZXJlbmNlc0l0ZW0iIHR5cGU9InRuczpEZWxldGVSZWZlcmVuY2VzSXRlbSIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGVsZXRlUmVmZXJlbmNlc0l0ZW0i -Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZVJlZmVy -ZW5jZXNJdGVtIiB0eXBlPSJ0bnM6RGVsZXRlUmVmZXJlbmNlc0l0ZW0iIG1pbk9jY3Vycz0iMCIg +dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZVJl +ZmVyZW5jZXNSZXNwb25zZSIgdHlwZT0idG5zOkRlbGV0ZVJlZmVyZW5jZXNSZXNwb25zZSIgLz4N +Cg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iQXR0cmlidXRlV3JpdGVNYXNrIj4NCiAgICA8eHM6 +YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkRlZmluZSBiaXRzIHVzZWQgdG8g +aW5kaWNhdGUgd2hpY2ggYXR0cmlidXRlcyBhcmUgd3JpdGFibGUuPC94czpkb2N1bWVudGF0aW9u +Pg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6dW5z +aWduZWRJbnQiPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iQXR0cmlidXRlV3JpdGVNYXNrIiB0eXBlPSJ0bnM6QXR0cmlidXRl +V3JpdGVNYXNrIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJCcm93c2VEaXJlY3Rpb24i +Pg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGRpcmVj +dGlvbnMgb2YgdGhlIHJlZmVyZW5jZXMgdG8gcmV0dXJuLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAg +ICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+ +DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkZvcndhcmRfMCIgLz4NCiAgICAgIDx4czpl +bnVtZXJhdGlvbiB2YWx1ZT0iSW52ZXJzZV8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh +bHVlPSJCb3RoXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkludmFsaWRfMyIg +Lz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9IkJyb3dzZURpcmVjdGlvbiIgdHlwZT0idG5zOkJyb3dzZURpcmVjdGlvbiIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVmlld0Rlc2NyaXB0aW9uIj4NCiAgICA8eHM6YW5u +b3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSB2aWV3IHRvIGJyb3dzZS48L3hz +OmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZpZXdJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0 +YW1wIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iVmlld1ZlcnNpb24iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAi +IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iVmlld0Rlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6Vmlld0Rlc2NyaXB0aW9uIiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VEZXNjcmlwdGlvbiI+DQogICAgPHhzOmFu +bm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8gYnJvd3NlIHRo +ZSB0aGUgcmVmZXJlbmNlcyBmcm9tIGEgbm9kZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94 +czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +Ik5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlRGlyZWN0aW9uIiB0eXBlPSJ0bnM6QnJv +d3NlRGlyZWN0aW9uIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS +ZWZlcmVuY2VUeXBlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkluY2x1ZGVTdWJ0eXBlcyIgdHlwZT0i +eHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9k +ZUNsYXNzTWFzayIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlJlc3VsdE1hc2siIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlRGVzY3JpcHRpb24iIHR5cGU9InRuczpCcm93c2VEZXNj +cmlwdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJvd3NlRGVzY3Jp +cHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dz +ZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6QnJvd3NlRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIg bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu -Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRlbGV0 -ZVJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0bnM6TGlzdE9mRGVsZXRlUmVmZXJlbmNlc0l0ZW0iIG5p -bGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRl -bGV0ZVJlZmVyZW5jZXNSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpk -b2N1bWVudGF0aW9uPkRlbGV0ZSBvbmUgb3IgbW9yZSByZWZlcmVuY2VzIGZyb20gdGhlIHNlcnZl -ciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+ -DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRl -ciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VzVG9EZWxldGUiIHR5cGU9InRu -czpMaXN0T2ZEZWxldGVSZWZlcmVuY2VzSXRlbSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJEZWxldGVSZWZlcmVuY2VzUmVxdWVzdCIgdHlwZT0idG5zOkRlbGV0ZVJlZmVy -ZW5jZXNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEZWxldGVSZWZlcmVu -Y2VzUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRp -b24+RGVsZXRlIG9uZSBvciBtb3JlIHJlZmVyZW5jZXMgZnJvbSB0aGUgc2VydmVyIGFkZHJlc3Mg -c3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0i -dG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlUmVmZXJlbmNlc1Jlc3BvbnNlIiB0 -eXBlPSJ0bnM6RGVsZXRlUmVmZXJlbmNlc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpzaW1wbGVUeXBl -ICBuYW1lPSJBdHRyaWJ1dGVXcml0ZU1hc2siPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAg -PHhzOmRvY3VtZW50YXRpb24+RGVmaW5lIGJpdHMgdXNlZCB0byBpbmRpY2F0ZSB3aGljaCBhdHRy -aWJ1dGVzIGFyZSB3cml0YWJsZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 -aW9uPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVu -dW1lcmF0aW9uIHZhbHVlPSJOb25lXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 -IkFjY2Vzc0xldmVsXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFycmF5RGlt -ZW5zaW9uc18yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJCcm93c2VOYW1lXzQi -IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkNvbnRhaW5zTm9Mb29wc184IiAvPg0K -ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEYXRhVHlwZV8xNiIgLz4NCiAgICAgIDx4czpl -bnVtZXJhdGlvbiB2YWx1ZT0iRGVzY3JpcHRpb25fMzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp -b24gdmFsdWU9IkRpc3BsYXlOYW1lXzY0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl -PSJFdmVudE5vdGlmaWVyXzEyOCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRXhl -Y3V0YWJsZV8yNTYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ikhpc3Rvcml6aW5n -XzUxMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW52ZXJzZU5hbWVfMTAyNCIg -Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNBYnN0cmFjdF8yMDQ4IiAvPg0KICAg -ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbF80MDk2IiAv -Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb2RlQ2xhc3NfODE5MiIgLz4NCiAgICAg -IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9kZUlkXzE2Mzg0IiAvPg0KICAgICAgPHhzOmVudW1l -cmF0aW9uIHZhbHVlPSJTeW1tZXRyaWNfMzI3NjgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g -dmFsdWU9IlVzZXJBY2Nlc3NMZXZlbF82NTUzNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 -YWx1ZT0iVXNlckV4ZWN1dGFibGVfMTMxMDcyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh -bHVlPSJVc2VyV3JpdGVNYXNrXzI2MjE0NCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 -ZT0iVmFsdWVSYW5rXzUyNDI4OCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iV3Jp -dGVNYXNrXzEwNDg1NzYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZhbHVlRm9y -VmFyaWFibGVUeXBlXzIwOTcxNTIiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpz -aW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBdHRyaWJ1dGVXcml0ZU1hc2siIHR5cGU9 -InRuczpBdHRyaWJ1dGVXcml0ZU1hc2siIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkJy -b3dzZURpcmVjdGlvbiI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRh -dGlvbj5UaGUgZGlyZWN0aW9ucyBvZiB0aGUgcmVmZXJlbmNlcyB0byByZXR1cm4uPC94czpkb2N1 -bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFz -ZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRm9yd2FyZF8wIiAv -Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJbnZlcnNlXzEiIC8+DQogICAgICA8eHM6 -ZW51bWVyYXRpb24gdmFsdWU9IkJvdGhfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 -ZT0iSW52YWxpZF8zIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlRGlyZWN0aW9uIiB0eXBlPSJ0bnM6QnJvd3Nl -RGlyZWN0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJWaWV3RGVzY3JpcHRpb24i -Pg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIHZpZXcg -dG8gYnJvd3NlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAg -PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmlld0lkIiB0eXBlPSJ1YTpO -b2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJUaW1lc3RhbXAiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWaWV3VmVyc2lvbiIgdHlwZT0ieHM6dW5zaWduZWRJbnQi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWaWV3RGVzY3JpcHRpb24iIHR5cGU9InRuczpWaWV3RGVz -Y3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb3dzZURlc2NyaXB0aW9u -Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgcmVxdWVz -dCB0byBicm93c2UgdGhlIHRoZSByZWZlcmVuY2VzIGZyb20gYSBub2RlLjwveHM6ZG9jdW1lbnRh -dGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VEaXJlY3Rpb24i -IHR5cGU9InRuczpCcm93c2VEaXJlY3Rpb24iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5jbHVkZVN1 -YnR5cGVzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJOb2RlQ2xhc3NNYXNrIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0TWFzayIgdHlwZT0ieHM6dW5z -aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VEZXNjcmlwdGlvbiIgdHlwZT0i -dG5zOkJyb3dzZURlc2NyaXB0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0 -T2ZCcm93c2VEZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iQnJvd3NlRGVzY3JpcHRpb24iIHR5cGU9InRuczpCcm93c2VEZXNjcmlwdGlvbiIg -bWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iTGlzdE9mQnJvd3NlRGVzY3JpcHRpb24iIHR5cGU9InRuczpMaXN0T2ZCcm93c2VEZXNjcmlw -dGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAg -bmFtZT0iQnJvd3NlUmVzdWx0TWFzayI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6 -ZG9jdW1lbnRhdGlvbj5BIGJpdCBtYXNrIHdoaWNoIHNwZWNpZmllcyB3aGF0IHNob3VsZCBiZSBy -ZXR1cm5lZCBpbiBhIGJyb3dzZSByZXNwb25zZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94 -czphbm5vdGF0aW9uPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAg -ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb25lXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp -b24gdmFsdWU9IlJlZmVyZW5jZVR5cGVJZF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh -bHVlPSJJc0ZvcndhcmRfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9kZUNs -YXNzXzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJyb3dzZU5hbWVfOCIgLz4N -CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGlzcGxheU5hbWVfMTYiIC8+DQogICAgICA8 -eHM6ZW51bWVyYXRpb24gdmFsdWU9IlR5cGVEZWZpbml0aW9uXzMyIiAvPg0KICAgICAgPHhzOmVu -dW1lcmF0aW9uIHZhbHVlPSJBbGxfNjMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 -IlJlZmVyZW5jZVR5cGVJbmZvXzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlRh -cmdldEluZm9fNjAiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VSZXN1bHRNYXNrIiB0eXBlPSJ0bnM6QnJvd3Nl -UmVzdWx0TWFzayIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVmZXJlbmNlRGVzY3Jp -cHRpb24iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhl -IGRlc2NyaXB0aW9uIG9mIGEgcmVmZXJlbmNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hz -OmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -UmVmZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ZvcndhcmQiIHR5cGU9InhzOmJv -b2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIg -dHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VOYW1lIiB0eXBlPSJ1YTpRdWFsaWZpZWRO -YW1lIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iRGlzcGxheU5hbWUiIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlQ2xhc3MiIHR5 -cGU9InRuczpOb2RlQ2xhc3MiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlR5cGVEZWZpbml0aW9uIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VEZXNjcmlwdGlvbiIgdHlwZT0idG5z -OlJlZmVyZW5jZURlc2NyaXB0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0 -T2ZSZWZlcmVuY2VEZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVmZXJlbmNlRGVzY3JpcHRpb24iIHR5cGU9InRuczpSZWZlcmVuY2VEZXNj -cmlwdGlvbiIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb3dz +ZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlRGVzY3JpcHRpb24iIG5pbGxhYmxl +PSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkJyb3dzZVJl +c3VsdE1hc2siPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+ +QSBiaXQgbWFzayB3aGljaCBzcGVjaWZpZXMgd2hhdCBzaG91bGQgYmUgcmV0dXJuZWQgaW4gYSBi +cm93c2UgcmVzcG9uc2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4N +CiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJh +dGlvbiB2YWx1ZT0iTm9uZV8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZWZl +cmVuY2VUeXBlSWRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNGb3J3YXJk +XzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vZGVDbGFzc180IiAvPg0KICAg +ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJCcm93c2VOYW1lXzgiIC8+DQogICAgICA8eHM6ZW51 +bWVyYXRpb24gdmFsdWU9IkRpc3BsYXlOYW1lXzE2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u +IHZhbHVlPSJUeXBlRGVmaW5pdGlvbl8zMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 +ZT0iQWxsXzYzIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZWZlcmVuY2VUeXBl +SW5mb18zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJUYXJnZXRJbmZvXzYwIiAv +Pg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iQnJvd3NlUmVzdWx0TWFzayIgdHlwZT0idG5zOkJyb3dzZVJlc3VsdE1hc2siIC8+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZmVyZW5jZURlc2NyaXB0aW9uIj4NCiAgICA8 +eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBkZXNjcmlwdGlvbiBv +ZiBhIHJlZmVyZW5jZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0K +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZVR5cGVJ +ZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNGb3J3YXJkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1 +cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOkV4cGFu +ZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iQnJvd3NlTmFtZSIgdHlwZT0idWE6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc3BsYXlO +YW1lIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUNsYXNzIiB0eXBlPSJ0bnM6Tm9kZUNs +YXNzIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUeXBlRGVmaW5p +dGlvbiIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iTGlzdE9mUmVmZXJlbmNlRGVzY3JpcHRpb24iIHR5cGU9InRuczpMaXN0T2ZS -ZWZlcmVuY2VEZXNjcmlwdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJDb250aW51YXRpb25Qb2ludCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5 -IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VSZXN1bHQiPg0KICAgIDx4czph -bm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIHJlc3VsdCBvZiBhIGJyb3dz -ZSBvcGVyYXRpb24uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAg -ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBl -PSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJDb250aW51YXRpb25Qb2ludCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlcyIg -dHlwZT0idG5zOkxpc3RPZlJlZmVyZW5jZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVJlc3VsdCIgdHlwZT0idG5zOkJyb3dzZVJlc3VsdCIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJvd3NlUmVzdWx0Ij4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VSZXN1bHQiIHR5cGU9 -InRuczpCcm93c2VSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb3dzZVJlc3VsdCIgdHlwZT0idG5zOkxpc3RP -ZkJyb3dzZVJlc3VsdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iQnJvd3NlUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg -ICA8eHM6ZG9jdW1lbnRhdGlvbj5Ccm93c2UgdGhlIHJlZmVyZW5jZXMgZm9yIG9uZSBvciBtb3Jl -IG5vZGVzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4N -CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWaWV3IiB0 -eXBlPSJ0bnM6Vmlld0Rlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTWF4UmVmZXJlbmNlc1Blck5vZGUi -IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJOb2Rlc1RvQnJvd3NlIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlRGVzY3JpcHRpb24i -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg -PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUmVxdWVzdCIgdHlw -ZT0idG5zOkJyb3dzZVJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb3dz -ZVJlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9u -PkJyb3dzZSB0aGUgcmVmZXJlbmNlcyBmb3Igb25lIG9yIG1vcmUgbm9kZXMgZnJvbSB0aGUgc2Vy -dmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlv -bj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhl -YWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RP -ZkJyb3dzZVJlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3Rp -Y0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUmVzcG9u -c2UiIHR5cGU9InRuczpCcm93c2VSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt -ZT0iQnJvd3NlTmV4dFJlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRv -Y3VtZW50YXRpb24+Q29udGludWVzIG9uZSBvciBtb3JlIGJyb3dzZSBvcGVyYXRpb25zLjwveHM6 -ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RI -ZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJSZWxlYXNlQ29udGludWF0aW9uUG9pbnRzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250aW51YXRpb25Qb2ludHMi -IHR5cGU9InVhOkxpc3RPZkJ5dGVTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iQnJvd3NlTmV4dFJlcXVlc3QiIHR5cGU9InRuczpCcm93c2VOZXh0UmVxdWVzdCIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQnJvd3NlTmV4dFJlc3BvbnNlIj4NCiAgICA8 -eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNvbnRpbnVlcyBvbmUgb3Ig -bW9yZSBicm93c2Ugb3BlcmF0aW9ucy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v -dGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3Bv -bnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ0bnM6 -TGlzdE9mQnJvd3NlUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFn -bm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VO -ZXh0UmVzcG9uc2UiIHR5cGU9InRuczpCcm93c2VOZXh0UmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNv -bXBsZXhUeXBlIG5hbWU9IlJlbGF0aXZlUGF0aEVsZW1lbnQiPg0KICAgIDx4czphbm5vdGF0aW9u -Pg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QW4gZWxlbWVudCBpbiBhIHJlbGF0aXZlIHBhdGgu -PC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VUeXBlSWQiIHR5cGU9InVhOk5v -ZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IklzSW52ZXJzZSIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5jbHVkZVN1YnR5cGVzIiB0eXBlPSJ4czpib29sZWFuIiBt -aW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXROYW1lIiB0eXBl -PSJ1YTpRdWFsaWZpZWROYW1lIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -IlJlbGF0aXZlUGF0aEVsZW1lbnQiIHR5cGU9InRuczpSZWxhdGl2ZVBhdGhFbGVtZW50IiAvPg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZSZWxhdGl2ZVBhdGhFbGVtZW50Ij4NCiAg -ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWxhdGl2ZVBhdGhFbGVt -ZW50IiB0eXBlPSJ0bnM6UmVsYXRpdmVQYXRoRWxlbWVudCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1 -cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg -PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUmVsYXRpdmVQYXRo -RWxlbWVudCIgdHlwZT0idG5zOkxpc3RPZlJlbGF0aXZlUGF0aEVsZW1lbnQiIG5pbGxhYmxlPSJ0 -cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlbGF0aXZlUGF0 -aCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHJlbGF0 -aXZlIHBhdGggY29uc3RydWN0ZWQgZnJvbSByZWZlcmVuY2UgdHlwZXMgYW5kIGJyb3dzZSBuYW1l -cy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1 -ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVsZW1lbnRzIiB0eXBlPSJ0bnM6TGlzdE9m -UmVsYXRpdmVQYXRoRWxlbWVudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJSZWxhdGl2ZVBhdGgiIHR5cGU9InRuczpSZWxhdGl2ZVBhdGgiIC8+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9IkJyb3dzZVBhdGgiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhz -OmRvY3VtZW50YXRpb24+QSByZXF1ZXN0IHRvIHRyYW5zbGF0ZSBhIHBhdGggaW50byBhIG5vZGUg -aWQuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFydGluZ05vZGUiIHR5cGU9InVhOk5v -ZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlJlbGF0aXZlUGF0aCIgdHlwZT0idG5zOlJlbGF0aXZlUGF0aCIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VQYXRoIiB0eXBlPSJ0bnM6QnJvd3NlUGF0 -aCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJvd3NlUGF0aCI+DQogICAg -PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUGF0aCIgdHlwZT0i -dG5zOkJyb3dzZVBhdGgiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGgiIHR5cGU9InRuczpMaXN0T2ZCcm93 -c2VQYXRoIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJCcm93c2VQYXRoVGFyZ2V0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4 -czpkb2N1bWVudGF0aW9uPlRoZSB0YXJnZXQgb2YgdGhlIHRyYW5zbGF0ZWQgcGF0aC48L3hzOmRv -Y3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdldElkIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlJlbWFpbmluZ1BhdGhJbmRleCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg +ZW1lbnQgbmFtZT0iUmVmZXJlbmNlRGVzY3JpcHRpb24iIHR5cGU9InRuczpSZWZlcmVuY2VEZXNj +cmlwdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUmVmZXJlbmNlRGVz +Y3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJl +ZmVyZW5jZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6UmVmZXJlbmNlRGVzY3JpcHRpb24iIG1pbk9j +Y3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxp +c3RPZlJlZmVyZW5jZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mUmVmZXJlbmNlRGVzY3Jp +cHRpb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iQ29udGludWF0aW9uUG9pbnQiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iQnJvd3NlUmVzdWx0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg +ICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSByZXN1bHQgb2YgYSBicm93c2Ugb3BlcmF0aW9uLjwv +eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29k +ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9u +UG9pbnQiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZXMiIHR5cGU9InRuczpMaXN0 +T2ZSZWZlcmVuY2VEZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJCcm93c2VSZXN1bHQiIHR5cGU9InRuczpCcm93c2VSZXN1bHQiIC8+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkJyb3dzZVJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUmVzdWx0IiB0eXBlPSJ0bnM6QnJvd3NlUmVz +dWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJCcm93c2VQYXRoVGFyZ2V0IiB0eXBlPSJ0bnM6QnJvd3NlUGF0aFRhcmdldCIgLz4N -Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJvd3NlUGF0aFRhcmdldCI+DQogICAg -PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUGF0aFRhcmdldCIg -dHlwZT0idG5zOkJyb3dzZVBhdGhUYXJnZXQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJv -dW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGhUYXJnZXQiIHR5 -cGU9InRuczpMaXN0T2ZCcm93c2VQYXRoVGFyZ2V0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVt -ZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VQYXRoUmVzdWx0Ij4NCiAgICA8 -eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSByZXN1bHQgb2YgYSB0 -cmFuc2xhdGUgb3BlYXJhdGlvbi48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 -aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c0Nv -ZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlRhcmdldHMiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VQYXRoVGFyZ2V0IiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGhSZXN1bHQiIHR5cGU9 -InRuczpCcm93c2VQYXRoUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0 -T2ZCcm93c2VQYXRoUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJCcm93c2VQYXRoUmVzdWx0IiB0eXBlPSJ0bnM6QnJvd3NlUGF0aFJlc3VsdCIgbWlu -T2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -TGlzdE9mQnJvd3NlUGF0aFJlc3VsdCIgdHlwZT0idG5zOkxpc3RPZkJyb3dzZVBhdGhSZXN1bHQi +dCBuYW1lPSJMaXN0T2ZCcm93c2VSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VSZXN1bHQi IG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 -IlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRp -b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UcmFuc2xhdGVzIG9uZSBvciBtb3JlIHBhdGhz -IGluIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94 -czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUGF0aHMiIHR5 -cGU9InRuczpMaXN0T2ZCcm93c2VQYXRoIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9IlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVxdWVzdCIgdHlwZT0idG5zOlRy -YW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iVHJhbnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNSZXNwb25zZSI+DQogICAgPHhz -OmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UcmFuc2xhdGVzIG9uZSBvciBt -b3JlIHBhdGhzIGluIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+ +IkJyb3dzZVJlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50 +YXRpb24+QnJvd3NlIHRoZSByZWZlcmVuY2VzIGZvciBvbmUgb3IgbW9yZSBub2RlcyBmcm9tIHRo +ZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v +dGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVl +c3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmlldyIgdHlwZT0idG5zOlZpZXdE +ZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlJlcXVlc3RlZE1heFJlZmVyZW5jZXNQZXJOb2RlIiB0eXBlPSJ4czp1bnNp +Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNU +b0Jyb3dzZSIgdHlwZT0idG5zOkxpc3RPZkJyb3dzZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVJlcXVlc3QiIHR5cGU9InRuczpCcm93c2VS +ZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VSZXNwb25zZSI+DQog +ICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5Ccm93c2UgdGhlIHJl +ZmVyZW5jZXMgZm9yIG9uZSBvciBtb3JlIG5vZGVzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNw +YWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNl +cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRu +czpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VSZXN1bHQi +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVJlc3BvbnNlIiB0eXBlPSJ0bnM6 +QnJvd3NlUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb3dzZU5leHRS +ZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNv +bnRpbnVlcyBvbmUgb3IgbW9yZSBicm93c2Ugb3BlcmF0aW9ucy48L3hzOmRvY3VtZW50YXRpb24+ DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1 -bHRzIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlUGF0aFJlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIg -dHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iVHJhbnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNSZXNwb25zZSIgdHlwZT0i -dG5zOlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNv -bXBsZXhUeXBlIG5hbWU9IlJlZ2lzdGVyTm9kZXNSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlv -bj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlJlZ2lzdGVycyBvbmUgb3IgbW9yZSBub2RlcyBm -b3IgcmVwZWF0ZWQgdXNlIHdpdGhpbiBhIHNlc3Npb24uPC94czpkb2N1bWVudGF0aW9uPg0KICAg -IDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVzVG9SZWdp -c3RlciIgdHlwZT0idWE6TGlzdE9mTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9IlJlZ2lzdGVyTm9kZXNSZXF1ZXN0IiB0eXBlPSJ0bnM6UmVnaXN0ZXJOb2Rlc1Jl -cXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZ2lzdGVyTm9kZXNSZXNwb25z -ZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5SZWdpc3Rl -cnMgb25lIG9yIG1vcmUgbm9kZXMgZm9yIHJlcGVhdGVkIHVzZSB3aXRoaW4gYSBzZXNzaW9uLjwv -eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNw -b25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlJlZ2lzdGVyZWROb2RlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZOb2RlSWQiIG1p +ZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsZWFz +ZUNvbnRpbnVhdGlvblBvaW50cyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9uUG9pbnRzIiB0eXBlPSJ1YTpMaXN0 +T2ZCeXRlU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 +c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dz +ZU5leHRSZXF1ZXN0IiB0eXBlPSJ0bnM6QnJvd3NlTmV4dFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9IkJyb3dzZU5leHRSZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRpb24+ +DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5Db250aW51ZXMgb25lIG9yIG1vcmUgYnJvd3NlIG9w +ZXJhdGlvbnMuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlw +ZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZkJyb3dzZVJl +c3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1p bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJOb2Rlc1Jlc3BvbnNl -IiB0eXBlPSJ0bnM6UmVnaXN0ZXJOb2Rlc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJVbnJlZ2lzdGVyTm9kZXNSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg -ICAgIDx4czpkb2N1bWVudGF0aW9uPlVucmVnaXN0ZXJzIG9uZSBvciBtb3JlIHByZXZpb3VzbHkg -cmVnaXN0ZXJlZCBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9u -Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFk -ZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb1VucmVnaXN0ZXIiIHR5cGU9InVh +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlTmV4dFJlc3BvbnNlIiB0 +eXBlPSJ0bnM6QnJvd3NlTmV4dFJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJSZWxhdGl2ZVBhdGhFbGVtZW50Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpk +b2N1bWVudGF0aW9uPkFuIGVsZW1lbnQgaW4gYSByZWxhdGl2ZSBwYXRoLjwveHM6ZG9jdW1lbnRh +dGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ludmVy +c2UiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkluY2x1ZGVTdWJ0eXBlcyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0TmFtZSIgdHlwZT0idWE6UXVhbGlmaWVk +TmFtZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl +Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWxhdGl2ZVBhdGhF +bGVtZW50IiB0eXBlPSJ0bnM6UmVsYXRpdmVQYXRoRWxlbWVudCIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iTGlzdE9mUmVsYXRpdmVQYXRoRWxlbWVudCI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsYXRpdmVQYXRoRWxlbWVudCIgdHlwZT0idG5z +OlJlbGF0aXZlUGF0aEVsZW1lbnQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlJlbGF0aXZlUGF0aEVsZW1lbnQiIHR5cGU9 +InRuczpMaXN0T2ZSZWxhdGl2ZVBhdGhFbGVtZW50IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVt +ZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWxhdGl2ZVBhdGgiPg0KICAgIDx4czph +bm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSByZWxhdGl2ZSBwYXRoIGNvbnN0 +cnVjdGVkIGZyb20gcmVmZXJlbmNlIHR5cGVzIGFuZCBicm93c2UgbmFtZXMuPC94czpkb2N1bWVu +dGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJFbGVtZW50cyIgdHlwZT0idG5zOkxpc3RPZlJlbGF0aXZlUGF0aEVs +ZW1lbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j +ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsYXRpdmVQYXRo +IiB0eXBlPSJ0bnM6UmVsYXRpdmVQYXRoIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJC +cm93c2VQYXRoIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9u +PkEgcmVxdWVzdCB0byB0cmFuc2xhdGUgYSBwYXRoIGludG8gYSBub2RlIGlkLjwveHM6ZG9jdW1l +bnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iU3RhcnRpbmdOb2RlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWxhdGl2 +ZVBhdGgiIHR5cGU9InRuczpSZWxhdGl2ZVBhdGgiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iQnJvd3NlUGF0aCIgdHlwZT0idG5zOkJyb3dzZVBhdGgiIC8+DQoNCiAgPHhz +OmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGgiPg0KICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGgiIHR5cGU9InRuczpCcm93c2VQYXRo +IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJMaXN0T2ZCcm93c2VQYXRoIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlUGF0aCIgbmlsbGFi +bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQnJvd3Nl +UGF0aFRhcmdldCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlv +bj5UaGUgdGFyZ2V0IG9mIHRoZSB0cmFuc2xhdGVkIHBhdGguPC94czpkb2N1bWVudGF0aW9uPg0K +ICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJUYXJnZXRJZCIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZW1haW5pbmdQYXRo +SW5kZXgiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpz +ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3Nl +UGF0aFRhcmdldCIgdHlwZT0idG5zOkJyb3dzZVBhdGhUYXJnZXQiIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGhUYXJnZXQiPg0KICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGhUYXJnZXQiIHR5cGU9InRuczpCcm93 +c2VQYXRoVGFyZ2V0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZCcm93c2VQYXRoVGFyZ2V0IiB0eXBlPSJ0bnM6TGlzdE9m +QnJvd3NlUGF0aFRhcmdldCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iQnJvd3NlUGF0aFJlc3VsdCI+DQogICAgPHhzOmFubm90YXRpb24+ +DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgcmVzdWx0IG9mIGEgdHJhbnNsYXRlIG9wZWFy +YXRpb24uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpT +dGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJn +ZXRzIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlUGF0aFRhcmdldCIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VQYXRoUmVzdWx0IiB0eXBlPSJ0bnM6QnJvd3NlUGF0 +aFJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJvd3NlUGF0aFJl +c3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3Nl +UGF0aFJlc3VsdCIgdHlwZT0idG5zOkJyb3dzZVBhdGhSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4 +T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb3dzZVBh +dGhSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VQYXRoUmVzdWx0IiBuaWxsYWJsZT0idHJ1 +ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJUcmFuc2xhdGVCcm93 +c2VQYXRoc1RvTm9kZUlkc1JlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhz +OmRvY3VtZW50YXRpb24+VHJhbnNsYXRlcyBvbmUgb3IgbW9yZSBwYXRocyBpbiB0aGUgc2VydmVy +IGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVy +IiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGhzIiB0eXBlPSJ0bnM6TGlzdE9m +QnJvd3NlUGF0aCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl +cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2xh +dGVCcm93c2VQYXRoc1RvTm9kZUlkc1JlcXVlc3QiIHR5cGU9InRuczpUcmFuc2xhdGVCcm93c2VQ +YXRoc1RvTm9kZUlkc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlRyYW5z +bGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0K +ICAgICAgPHhzOmRvY3VtZW50YXRpb24+VHJhbnNsYXRlcyBvbmUgb3IgbW9yZSBwYXRocyBpbiB0 +aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5u +b3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNw +b25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5z +Okxpc3RPZkJyb3dzZVBhdGhSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RP +ZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRy +YW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVzcG9uc2UiIHR5cGU9InRuczpUcmFuc2xhdGVC +cm93c2VQYXRoc1RvTm9kZUlkc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJSZWdpc3Rlck5vZGVzUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6 +ZG9jdW1lbnRhdGlvbj5SZWdpc3RlcnMgb25lIG9yIG1vcmUgbm9kZXMgZm9yIHJlcGVhdGVkIHVz +ZSB3aXRoaW4gYSBzZXNzaW9uLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRp +b24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhl +YWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2Rlc1RvUmVnaXN0ZXIiIHR5cGU9InVh Okxpc3RPZk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz -OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVbnJl -Z2lzdGVyTm9kZXNSZXF1ZXN0IiB0eXBlPSJ0bnM6VW5yZWdpc3Rlck5vZGVzUmVxdWVzdCIgLz4N -Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVW5yZWdpc3Rlck5vZGVzUmVzcG9uc2UiPg0KICAg -IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VW5yZWdpc3RlcnMgb25l -IG9yIG1vcmUgcHJldmlvdXNseSByZWdpc3RlcmVkIG5vZGVzLjwveHM6ZG9jdW1lbnRhdGlvbj4N -CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVbnJlZ2lzdGVyTm9kZXNSZXNwb25zZSIg -dHlwZT0idG5zOlVucmVnaXN0ZXJOb2Rlc1Jlc3BvbnNlIiAvPg0KDQogIDx4czplbGVtZW50IG5h -bWU9IkNvdW50ZXIiIHR5cGU9InhzOnVuc2lnbmVkSW50IiAvPg0KDQogIDx4czplbGVtZW50IG5h -bWU9Ik51bWVyaWNSYW5nZSIgdHlwZT0ieHM6c3RyaW5nIiAvPg0KDQogIDx4czplbGVtZW50IG5h -bWU9IlRpbWUiIHR5cGU9InhzOnN0cmluZyIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRl -IiB0eXBlPSJ4czpkYXRlVGltZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRW5kcG9p -bnRDb25maWd1cmF0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJPcGVyYXRpb25UaW1lb3V0IiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlVzZUJpbmFyeUVuY29kaW5nIiB0eXBlPSJ4czpib29sZWFu -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhTdHJpbmdMZW5n -dGgiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iTWF4Qnl0ZVN0cmluZ0xlbmd0aCIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhBcnJheUxlbmd0aCIgdHlwZT0ieHM6aW50IiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhNZXNzYWdlU2l6ZSIgdHlw -ZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhC -dWZmZXJTaXplIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkNoYW5uZWxMaWZldGltZSIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVRva2VuTGlmZXRpbWUiIHR5cGU9Inhz -OmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50Q29uZmlndXJhdGlvbiIgdHlwZT0i -dG5zOkVuZHBvaW50Q29uZmlndXJhdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -TGlzdE9mRW5kcG9pbnRDb25maWd1cmF0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludENvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpFbmRwb2lu -dENvbmZpZ3VyYXRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkVuZHBvaW50Q29uZmlndXJhdGlvbiIgdHlwZT0idG5z -Okxpc3RPZkVuZHBvaW50Q29uZmlndXJhdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVu -dD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUXVlcnlEYXRhRGVzY3JpcHRpb24iPg0KICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlbGF0aXZlUGF0aCIgdHlw -ZT0idG5zOlJlbGF0aXZlUGF0aCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXhSYW5nZSIgdHlw -ZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 -c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5 -RGF0YURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6UXVlcnlEYXRhRGVzY3JpcHRpb24iIC8+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlF1ZXJ5RGF0YURlc2NyaXB0aW9uIj4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeURhdGFEZXNjcmlwdGlv -biIgdHlwZT0idG5zOlF1ZXJ5RGF0YURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vy -cz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZRdWVyeURhdGFEZXNj -cmlwdGlvbiIgdHlwZT0idG5zOkxpc3RPZlF1ZXJ5RGF0YURlc2NyaXB0aW9uIiBuaWxsYWJsZT0i -dHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJOb2RlVHlwZURl -c2NyaXB0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJU -eXBlRGVmaW5pdGlvbk5vZGUiIHR5cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5jbHVkZVN1YlR5 -cGVzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJEYXRhVG9SZXR1cm4iIHR5cGU9InRuczpMaXN0T2ZRdWVyeURhdGFEZXNjcmlwdGlv -biIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlVHlwZURlc2NyaXB0 -aW9uIiB0eXBlPSJ0bnM6Tm9kZVR5cGVEZXNjcmlwdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iTGlzdE9mTm9kZVR5cGVEZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZVR5cGVEZXNjcmlwdGlvbiIgdHlwZT0idG5zOk5v -ZGVUeXBlRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWdp +c3Rlck5vZGVzUmVxdWVzdCIgdHlwZT0idG5zOlJlZ2lzdGVyTm9kZXNSZXF1ZXN0IiAvPg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWdpc3Rlck5vZGVzUmVzcG9uc2UiPg0KICAgIDx4czph +bm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+UmVnaXN0ZXJzIG9uZSBvciBtb3Jl +IG5vZGVzIGZvciByZXBlYXRlZCB1c2Ugd2l0aGluIGEgc2Vzc2lvbi48L3hzOmRvY3VtZW50YXRp +b24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS +ZWdpc3RlcmVkTm9kZUlkcyIgdHlwZT0idWE6TGlzdE9mTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5p bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk5vZGVUeXBlRGVzY3JpcHRpb24iIHR5cGU9InRu -czpMaXN0T2ZOb2RlVHlwZURlc2NyaXB0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50 -Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJGaWx0ZXJPcGVyYXRvciI+DQogICAgPHhzOnJl -c3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 -IkVxdWFsc18wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJc051bGxfMSIgLz4N -CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iR3JlYXRlclRoYW5fMiIgLz4NCiAgICAgIDx4 -czplbnVtZXJhdGlvbiB2YWx1ZT0iTGVzc1RoYW5fMyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv -biB2YWx1ZT0iR3JlYXRlclRoYW5PckVxdWFsXzQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g -dmFsdWU9Ikxlc3NUaGFuT3JFcXVhbF81IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl -PSJMaWtlXzYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vdF83IiAvPg0KICAg -ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJCZXR3ZWVuXzgiIC8+DQogICAgICA8eHM6ZW51bWVy -YXRpb24gdmFsdWU9IkluTGlzdF85IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJB -bmRfMTAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik9yXzExIiAvPg0KICAgICAg -PHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDYXN0XzEyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u -IHZhbHVlPSJJblZpZXdfMTMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik9mVHlw -ZV8xNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVsYXRlZFRvXzE1IiAvPg0K -ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJCaXR3aXNlQW5kXzE2IiAvPg0KICAgICAgPHhz -OmVudW1lcmF0aW9uIHZhbHVlPSJCaXR3aXNlT3JfMTciIC8+DQogICAgPC94czpyZXN0cmljdGlv -bj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXJPcGVyYXRv -ciIgdHlwZT0idG5zOkZpbHRlck9wZXJhdG9yIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJRdWVyeURhdGFTZXQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9Ik5vZGVJZCIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUeXBlRGVmaW5pdGlvbk5vZGUi -IHR5cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVzIiB0eXBlPSJ1YTpMaXN0T2ZWYXJpYW50 -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog -IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5RGF0YVNldCIgdHlw -ZT0idG5zOlF1ZXJ5RGF0YVNldCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m -UXVlcnlEYXRhU2V0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJRdWVyeURhdGFTZXQiIHR5cGU9InRuczpRdWVyeURhdGFTZXQiIG1pbk9jY3Vycz0iMCIgbWF4 -T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlF1ZXJ5RGF0 -YVNldCIgdHlwZT0idG5zOkxpc3RPZlF1ZXJ5RGF0YVNldCIgbmlsbGFibGU9InRydWUiPjwveHM6 -ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTm9kZVJlZmVyZW5jZSI+DQogICAg -PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpO -b2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJSZWZlcmVuY2VUeXBlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IklzRm9yd2FyZCIgdHlw -ZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -UmVmZXJlbmNlZE5vZGVJZHMiIHR5cGU9InVhOkxpc3RPZk5vZGVJZCIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlUmVmZXJlbmNlIiB0eXBlPSJ0bnM6Tm9kZVJlZmVy -ZW5jZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTm9kZVJlZmVyZW5jZSI+ -DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZVJlZmVyZW5j -ZSIgdHlwZT0idG5zOk5vZGVSZWZlcmVuY2UiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJv -dW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk5vZGVSZWZlcmVuY2UiIHR5cGU9 -InRuczpMaXN0T2ZOb2RlUmVmZXJlbmNlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDb250ZW50RmlsdGVyRWxlbWVudCI+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyT3BlcmF0b3IiIHR5cGU9 -InRuczpGaWx0ZXJPcGVyYXRvciIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iRmlsdGVyT3BlcmFuZHMiIHR5cGU9InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb250ZW50RmlsdGVyRWxlbWVudCIg -dHlwZT0idG5zOkNvbnRlbnRGaWx0ZXJFbGVtZW50IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJMaXN0T2ZDb250ZW50RmlsdGVyRWxlbWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGVudEZpbHRlckVsZW1lbnQiIHR5cGU9InRuczpDb250 -ZW50RmlsdGVyRWxlbWVudCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQ29udGVudEZpbHRlckVsZW1lbnQiIHR5cGU9InRu -czpMaXN0T2ZDb250ZW50RmlsdGVyRWxlbWVudCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVu -dD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ29udGVudEZpbHRlciI+DQogICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRWxlbWVudHMiIHR5cGU9InRuczpMaXN0 -T2ZDb250ZW50RmlsdGVyRWxlbWVudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +DQogIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyTm9kZXNSZXNwb25zZSIgdHlwZT0idG5zOlJl +Z2lzdGVyTm9kZXNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVW5yZWdp +c3Rlck5vZGVzUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l +bnRhdGlvbj5VbnJlZ2lzdGVycyBvbmUgb3IgbW9yZSBwcmV2aW91c2x5IHJlZ2lzdGVyZWQgbm9k +ZXMuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6 +UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9Ik5vZGVzVG9VbnJlZ2lzdGVyIiB0eXBlPSJ1YTpMaXN0T2ZOb2RlSWQi +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVW5yZWdpc3Rlck5vZGVzUmVx +dWVzdCIgdHlwZT0idG5zOlVucmVnaXN0ZXJOb2Rlc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9IlVucmVnaXN0ZXJOb2Rlc1Jlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlv +bj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlVucmVnaXN0ZXJzIG9uZSBvciBtb3JlIHByZXZp +b3VzbHkgcmVnaXN0ZXJlZCBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v +dGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3Bv +bnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iVW5yZWdpc3Rlck5vZGVzUmVzcG9uc2UiIHR5cGU9InRuczpVbnJl +Z2lzdGVyTm9kZXNSZXNwb25zZSIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb3VudGVyIiB0 +eXBlPSJ4czp1bnNpZ25lZEludCIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOdW1lcmljUmFu +Z2UiIHR5cGU9InhzOnN0cmluZyIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lIiB0eXBl +PSJ4czpzdHJpbmciIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0ZSIgdHlwZT0ieHM6ZGF0 +ZVRpbWUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVuZHBvaW50Q29uZmlndXJhdGlv +biI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT3BlcmF0aW9u +VGltZW91dCIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJVc2VCaW5hcnlFbmNvZGluZyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4U3RyaW5nTGVuZ3RoIiB0eXBlPSJ4czpp +bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heEJ5dGVTdHJp +bmdMZW5ndGgiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iTWF4QXJyYXlMZW5ndGgiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4TWVzc2FnZVNpemUiIHR5cGU9InhzOmludCIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4QnVmZmVyU2l6ZSIgdHlw +ZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDaGFu +bmVsTGlmZXRpbWUiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iU2VjdXJpdHlUb2tlbkxpZmV0aW1lIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vy +cz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJFbmRwb2ludENvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpFbmRwb2ludENv +bmZpZ3VyYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkVuZHBvaW50 +Q29uZmlndXJhdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iRW5kcG9pbnRDb25maWd1cmF0aW9uIiB0eXBlPSJ0bnM6RW5kcG9pbnRDb25maWd1cmF0aW9u +IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4N CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJDb250ZW50RmlsdGVyIiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlciIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQ29udGVudEZpbHRlciI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGVudEZpbHRlciIgdHlwZT0idG5zOkNvbnRl -bnRGaWx0ZXIiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9Ikxpc3RPZkNvbnRlbnRGaWx0ZXIiIHR5cGU9InRuczpMaXN0T2ZDb250ZW50 -RmlsdGVyIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJGaWx0ZXJPcGVyYW5kIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1 -ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyT3Bl -cmFuZCIgdHlwZT0idG5zOkZpbHRlck9wZXJhbmQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h -bWU9IkVsZW1lbnRPcGVyYW5kIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNl -Ij4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgICAg -ICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXgiIHR5cGU9 -InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+ -DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFbGVtZW50T3BlcmFuZCIgdHlwZT0i -dG5zOkVsZW1lbnRPcGVyYW5kIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXRlcmFs +YW1lPSJMaXN0T2ZFbmRwb2ludENvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpMaXN0T2ZFbmRwb2lu +dENvbmZpZ3VyYXRpb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9IlF1ZXJ5RGF0YURlc2NyaXB0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWxhdGl2ZVBhdGgiIHR5cGU9InRuczpSZWxhdGl2 +ZVBhdGgiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJBdHRyaWJ1dGVJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeURhdGFEZXNjcmlwdGlv +biIgdHlwZT0idG5zOlF1ZXJ5RGF0YURlc2NyaXB0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJMaXN0T2ZRdWVyeURhdGFEZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlEYXRhRGVzY3JpcHRpb24iIHR5cGU9InRuczpR +dWVyeURhdGFEZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUXVlcnlEYXRhRGVzY3JpcHRpb24iIHR5cGU9 +InRuczpMaXN0T2ZRdWVyeURhdGFEZXNjcmlwdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxl +bWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTm9kZVR5cGVEZXNjcmlwdGlvbiI+DQog +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHlwZURlZmluaXRpb25O +b2RlIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkluY2x1ZGVTdWJUeXBlcyIgdHlwZT0ieHM6 +Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVRv +UmV0dXJuIiB0eXBlPSJ0bnM6TGlzdE9mUXVlcnlEYXRhRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZVR5cGVEZXNjcmlwdGlvbiIgdHlwZT0idG5z +Ok5vZGVUeXBlRGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RP +Zk5vZGVUeXBlRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9Ik5vZGVUeXBlRGVzY3JpcHRpb24iIHR5cGU9InRuczpOb2RlVHlwZURlc2NyaXB0 +aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJMaXN0T2ZOb2RlVHlwZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mTm9kZVR5 +cGVEZXNjcmlwdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2lt +cGxlVHlwZSAgbmFtZT0iRmlsdGVyT3BlcmF0b3IiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNl +PSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJFcXVhbHNfMCIgLz4N +CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNOdWxsXzEiIC8+DQogICAgICA8eHM6ZW51 +bWVyYXRpb24gdmFsdWU9IkdyZWF0ZXJUaGFuXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g +dmFsdWU9Ikxlc3NUaGFuXzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkdyZWF0 +ZXJUaGFuT3JFcXVhbF80IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJMZXNzVGhh +bk9yRXF1YWxfNSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTGlrZV82IiAvPg0K +ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb3RfNyIgLz4NCiAgICAgIDx4czplbnVtZXJh +dGlvbiB2YWx1ZT0iQmV0d2Vlbl84IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJ +bkxpc3RfOSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQW5kXzEwIiAvPg0KICAg +ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJPcl8xMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv +biB2YWx1ZT0iQ2FzdF8xMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW5WaWV3 +XzEzIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJPZlR5cGVfMTQiIC8+DQogICAg +ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlbGF0ZWRUb18xNSIgLz4NCiAgICAgIDx4czplbnVt +ZXJhdGlvbiB2YWx1ZT0iQml0d2lzZUFuZF8xNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 +YWx1ZT0iQml0d2lzZU9yXzE3IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2lt +cGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyT3BlcmF0b3IiIHR5cGU9InRuczpG +aWx0ZXJPcGVyYXRvciIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUXVlcnlEYXRhU2V0 +Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5 +cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHlwZURlZmluaXRpb25Ob2RlIiB0eXBlPSJ1YTpFeHBh +bmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlZhbHVlcyIgdHlwZT0idWE6TGlzdE9mVmFyaWFudCIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeURhdGFTZXQiIHR5cGU9InRuczpRdWVyeURh +dGFTZXQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlF1ZXJ5RGF0YVNldCI+ +DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlEYXRhU2V0 +IiB0eXBlPSJ0bnM6UXVlcnlEYXRhU2V0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3Vu +ZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZRdWVyeURhdGFTZXQiIHR5cGU9InRu +czpMaXN0T2ZRdWVyeURhdGFTZXQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik5vZGVSZWZlcmVuY2UiPg0KICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJl +bmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ZvcndhcmQiIHR5cGU9InhzOmJvb2xlYW4i +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZWROb2Rl +SWRzIiB0eXBlPSJ1YTpMaXN0T2ZOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iTm9kZVJlZmVyZW5jZSIgdHlwZT0idG5zOk5vZGVSZWZlcmVuY2UiIC8+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk5vZGVSZWZlcmVuY2UiPg0KICAgIDx4czpzZXF1 +ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVSZWZlcmVuY2UiIHR5cGU9InRuczpO +b2RlUmVmZXJlbmNlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZOb2RlUmVmZXJlbmNlIiB0eXBlPSJ0bnM6TGlzdE9mTm9k +ZVJlZmVyZW5jZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iQ29udGVudEZpbHRlckVsZW1lbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlck9wZXJhdG9yIiB0eXBlPSJ0bnM6RmlsdGVyT3Bl +cmF0b3IiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlck9w +ZXJhbmRzIiB0eXBlPSJ1YTpMaXN0T2ZFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N +CiAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGVudEZpbHRlckVsZW1lbnQiIHR5cGU9InRuczpDb250 +ZW50RmlsdGVyRWxlbWVudCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQ29u +dGVudEZpbHRlckVsZW1lbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkNvbnRlbnRGaWx0ZXJFbGVtZW50IiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlckVsZW1l +bnQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9Ikxpc3RPZkNvbnRlbnRGaWx0ZXJFbGVtZW50IiB0eXBlPSJ0bnM6TGlzdE9mQ29udGVu +dEZpbHRlckVsZW1lbnQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9IkNvbnRlbnRGaWx0ZXIiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IkVsZW1lbnRzIiB0eXBlPSJ0bnM6TGlzdE9mQ29udGVudEZpbHRl +ckVsZW1lbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGVudEZp +bHRlciIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXIiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9Ikxpc3RPZkNvbnRlbnRGaWx0ZXIiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkNvbnRlbnRGaWx0ZXIiIHR5cGU9InRuczpDb250ZW50RmlsdGVyIiBtaW5P +Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM +aXN0T2ZDb250ZW50RmlsdGVyIiB0eXBlPSJ0bnM6TGlzdE9mQ29udGVudEZpbHRlciIgbmlsbGFi +bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRmlsdGVy +T3BlcmFuZCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkZpbHRlck9wZXJhbmQiIHR5cGU9InRu +czpGaWx0ZXJPcGVyYW5kIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFbGVtZW50T3Bl +cmFuZCI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6 +ZXh0ZW5zaW9uIGJhc2U9InRuczpGaWx0ZXJPcGVyYW5kIj4NCiAgICAgICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkluZGV4IiB0eXBlPSJ4czp1bnNpZ25lZElu +dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpl +eHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4N +CiAgPHhzOmVsZW1lbnQgbmFtZT0iRWxlbWVudE9wZXJhbmQiIHR5cGU9InRuczpFbGVtZW50T3Bl +cmFuZCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGl0ZXJhbE9wZXJhbmQiPg0KICAg +IDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBi +YXNlPSJ0bnM6RmlsdGVyT3BlcmFuZCI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0idWE6VmFyaWFudCIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAg +PC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg +bmFtZT0iTGl0ZXJhbE9wZXJhbmQiIHR5cGU9InRuczpMaXRlcmFsT3BlcmFuZCIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iQXR0cmlidXRlT3BlcmFuZCI+DQogICAgPHhzOmNvbXBsZXhD +b250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpGaWx0 +ZXJPcGVyYW5kIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50 +IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFsaWFzIiB0eXBlPSJ4czpzdHJp +bmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iQnJvd3NlUGF0aCIgdHlwZT0idG5zOlJlbGF0aXZlUGF0aCIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdHRyaWJ1 +dGVJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJJbmRleFJhbmdlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hz +OmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBdHRyaWJ1dGVPcGVyYW5kIiB0eXBlPSJ0bnM6QXR0cmli +dXRlT3BlcmFuZCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2ltcGxlQXR0cmlidXRl T3BlcmFuZCI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8 eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpGaWx0ZXJPcGVyYW5kIj4NCiAgICAgICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlIiB0eXBlPSJ1YTpWYXJpYW50 -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4 -dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJMaXRlcmFsT3BlcmFuZCIgdHlwZT0idG5zOkxpdGVyYWxPcGVy -YW5kIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBdHRyaWJ1dGVPcGVyYW5kIj4NCiAg -ICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24g -YmFzZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWxpYXMi -IHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VQYXRoIiB0eXBlPSJ0bnM6UmVsYXRpdmVQYXRo +bmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlR5cGVEZWZpbml0aW9uSWQiIHR5cGU9 +InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VQYXRoIiB0eXBlPSJ1YTpMaXN0T2ZRdWFsaWZpZWROYW1l IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50 IG5hbWU9IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAv Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmlu ZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5j ZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkF0dHJpYnV0ZU9wZXJhbmQiIHR5 -cGU9InRuczpBdHRyaWJ1dGVPcGVyYW5kIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJT -aW1wbGVBdHRyaWJ1dGVPcGVyYW5kIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZh -bHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAg -ICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHlwZURlZmlu -aXRpb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGgiIHR5cGU9InVhOkxpc3RP -ZlF1YWxpZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iQXR0cmlidXRlSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBt -aW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXhSYW5nZSIg -dHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -ICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4 -Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2ltcGxl -QXR0cmlidXRlT3BlcmFuZCIgdHlwZT0idG5zOlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIC8+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiPg0K -ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNpbXBsZUF0dHJpYnV0 -ZU9wZXJhbmQiIHR5cGU9InRuczpTaW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiBtaW5PY2N1cnM9IjAi -IG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl -bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTaW1w -bGVBdHRyaWJ1dGVPcGVyYW5kIiB0eXBlPSJ0bnM6TGlzdE9mU2ltcGxlQXR0cmlidXRlT3BlcmFu -ZCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt -ZT0iQ29udGVudEZpbHRlckVsZW1lbnRSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlN0YXR1c0NvZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik9wZXJhbmRTdGF0dXNDb2RlcyIg -dHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik9wZXJhbmREaWFnbm9zdGljSW5mb3MiIHR5cGU9 -InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9IkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiB0eXBlPSJ0bnM6Q29udGVudEZpbHRl -ckVsZW1lbnRSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkNvbnRl -bnRGaWx0ZXJFbGVtZW50UmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIgdHlwZT0idG5zOkNvbnRlbnRG -aWx0ZXJFbGVtZW50UmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIg -dHlwZT0idG5zOkxpc3RPZkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiBuaWxsYWJsZT0idHJ1 -ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDb250ZW50RmlsdGVy -UmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbGVt -ZW50UmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiBt +eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNpbXBsZUF0dHJpYnV0ZU9wZXJh +bmQiIHR5cGU9InRuczpTaW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJMaXN0T2ZTaW1wbGVBdHRyaWJ1dGVPcGVyYW5kIj4NCiAgICA8eHM6c2VxdWVu +Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTaW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiB0eXBl +PSJ0bnM6U2ltcGxlQXR0cmlidXRlT3BlcmFuZCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu +Ym91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj +b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU2ltcGxlQXR0cmlidXRlT3Bl +cmFuZCIgdHlwZT0idG5zOkxpc3RPZlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIG5pbGxhYmxlPSJ0 +cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNvbnRlbnRGaWx0 +ZXJFbGVtZW50UmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPcGVyYW5kU3RhdHVzQ29kZXMiIHR5cGU9InVhOkxpc3RP +ZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJPcGVyYW5kRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFn +bm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl +cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb250ZW50 +RmlsdGVyRWxlbWVudFJlc3VsdCIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0 +IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZDb250ZW50RmlsdGVyRWxlbWVu +dFJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29u +dGVudEZpbHRlckVsZW1lbnRSZXN1bHQiIHR5cGU9InRuczpDb250ZW50RmlsdGVyRWxlbWVudFJl +c3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iTGlzdE9mQ29udGVudEZpbHRlckVsZW1lbnRSZXN1bHQiIHR5cGU9InRuczpMaXN0 +T2ZDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVu +dD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ29udGVudEZpbHRlclJlc3VsdCI+DQogICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRWxlbWVudFJlc3VsdHMiIHR5 +cGU9InRuczpMaXN0T2ZDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVsZW1lbnREaWFnbm9z +dGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9IkNvbnRlbnRGaWx0ZXJSZXN1bHQiIHR5cGU9InRuczpDb250 +ZW50RmlsdGVyUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJQYXJzaW5nUmVz +dWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXND +b2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJEYXRhU3RhdHVzQ29kZXMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJE +YXRhRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJQYXJzaW5nUmVzdWx0IiB0eXBlPSJ0bnM6 +UGFyc2luZ1Jlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUGFyc2lu +Z1Jlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUGFy +c2luZ1Jlc3VsdCIgdHlwZT0idG5zOlBhcnNpbmdSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2Nj +dXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlBhcnNpbmdSZXN1 +bHQiIHR5cGU9InRuczpMaXN0T2ZQYXJzaW5nUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czpl +bGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJRdWVyeUZpcnN0UmVxdWVzdCI+DQog +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIg +dHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWaWV3IiB0eXBlPSJ0bnM6Vmlld0Rlc2NyaXB0aW9u +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iTm9kZVR5cGVzIiB0eXBlPSJ0bnM6TGlzdE9mTm9kZVR5cGVEZXNjcmlwdGlvbiIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRl +ciIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhEYXRhU2V0c1RvUmV0dXJuIiB0eXBlPSJ4 +czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +TWF4UmVmZXJlbmNlc1RvUmV0dXJuIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw +IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9IlF1ZXJ5Rmlyc3RSZXF1ZXN0IiB0eXBlPSJ0bnM6UXVlcnlGaXJzdFJlcXVlc3Qi +IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlF1ZXJ5Rmlyc3RSZXNwb25zZSI+DQogICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5 +cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5RGF0YVNldHMiIHR5cGU9InRuczpMaXN0T2ZR +dWVyeURhdGFTZXQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJDb250aW51YXRpb25Qb2ludCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBt aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -RWxlbWVudERpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGVudEZpbHRlclJlc3VsdCIg -dHlwZT0idG5zOkNvbnRlbnRGaWx0ZXJSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h -bWU9IlBhcnNpbmdSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlN0YXR1c0NvZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFTdGF0dXNDb2RlcyIgdHlwZT0idWE6TGlzdE9m -U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IkRhdGFEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0 -aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu -Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlBhcnNpbmdSZXN1 -bHQiIHR5cGU9InRuczpQYXJzaW5nUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJMaXN0T2ZQYXJzaW5nUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJQYXJzaW5nUmVzdWx0IiB0eXBlPSJ0bnM6UGFyc2luZ1Jlc3VsdCIgbWluT2Nj -dXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94 -czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlz -dE9mUGFyc2luZ1Jlc3VsdCIgdHlwZT0idG5zOkxpc3RPZlBhcnNpbmdSZXN1bHQiIG5pbGxhYmxl -PSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlF1ZXJ5Rmly -c3RSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS -ZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZpZXciIHR5cGU9InRuczpW -aWV3RGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJOb2RlVHlwZXMiIHR5cGU9InRuczpMaXN0T2ZOb2RlVHlwZURlc2Ny -aXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iRmlsdGVyIiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlciIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heERhdGFTZXRzVG9S -ZXR1cm4iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJNYXhSZWZlcmVuY2VzVG9SZXR1cm4iIHR5cGU9InhzOnVuc2lnbmVkSW50 -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlGaXJzdFJlcXVlc3QiIHR5cGU9InRuczpRdWVy -eUZpcnN0UmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUXVlcnlGaXJzdFJl -c3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNw -b25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlEYXRhU2V0cyIgdHlw -ZT0idG5zOkxpc3RPZlF1ZXJ5RGF0YVNldCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpi -YXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJQYXJzaW5nUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZlBhcnNpbmdSZXN1 -bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmls -dGVyUmVzdWx0IiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlclJlc3VsdCIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeUZpcnN0UmVzcG9uc2UiIHR5cGU9InRuczpRdWVy -eUZpcnN0UmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlF1ZXJ5TmV4dFJl -cXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVl -c3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsZWFzZUNvbnRpbnVhdGlvblBv -aW50IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJDb250aW51YXRpb25Qb2ludCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5TmV4dFJlcXVlc3QiIHR5cGU9InRu -czpRdWVyeU5leHRSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJRdWVyeU5l -eHRSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -UmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5RGF0YVNldHMi -IHR5cGU9InRuczpMaXN0T2ZRdWVyeURhdGFTZXQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkQ29udGludWF0aW9uUG9pbnQi -IHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJRdWVyeU5leHRSZXNwb25zZSIgdHlwZT0idG5zOlF1ZXJ5TmV4dFJlc3BvbnNlIiAvPg0K -DQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iPg0KICAgIDx4czpy -ZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl -PSJTb3VyY2VfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU2VydmVyXzEiIC8+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJvdGhfMiIgLz4NCiAgICAgIDx4czplbnVt -ZXJhdGlvbiB2YWx1ZT0iTmVpdGhlcl8zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl -PSJJbnZhbGlkXzQiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iIHR5cGU9InRuczpUaW1l -c3RhbXBzVG9SZXR1cm4iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlYWRWYWx1ZUlk -Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5 -cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXhSYW5nZSIgdHlwZT0ieHM6 -c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iRGF0YUVuY29kaW5nIiB0eXBlPSJ1YTpRdWFsaWZpZWROYW1lIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlYWRWYWx1ZUlkIiB0eXBlPSJ0bnM6UmVhZFZh -bHVlSWQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlJlYWRWYWx1ZUlkIj4N -CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWFkVmFsdWVJZCIg -dHlwZT0idG5zOlJlYWRWYWx1ZUlkIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVk -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZSZWFkVmFsdWVJZCIgdHlwZT0idG5zOkxp -c3RPZlJlYWRWYWx1ZUlkIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJSZWFkUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIi -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJNYXhBZ2UiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiB0eXBlPSJ0bnM6VGltZXN0YW1wc1RvUmV0 -dXJuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2Rlc1RvUmVh -ZCIgdHlwZT0idG5zOkxpc3RPZlJlYWRWYWx1ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9IlJlYWRSZXF1ZXN0IiB0eXBlPSJ0bnM6UmVhZFJlcXVlc3QiIC8+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlYWRSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25z -ZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZkRhdGFWYWx1ZSIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJ -bmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iUmVhZFJlc3BvbnNlIiB0eXBlPSJ0bnM6UmVhZFJlc3BvbnNlIiAv -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5UmVhZFZhbHVlSWQiPg0KICAgIDx4 -czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6Tm9k -ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iSW5kZXhSYW5nZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YUVuY29kaW5nIiB0eXBlPSJ1 -YTpRdWFsaWZpZWROYW1lIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9uUG9pbnQiIHR5cGU9InhzOmJhc2U2NEJpbmFy -eSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5UmVhZFZhbHVl -SWQiIHR5cGU9InRuczpIaXN0b3J5UmVhZFZhbHVlSWQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9Ikxpc3RPZkhpc3RvcnlSZWFkVmFsdWVJZCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRWYWx1ZUlkIiB0eXBlPSJ0bnM6SGlzdG9y -eVJlYWRWYWx1ZUlkIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJs +UGFyc2luZ1Jlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZQYXJzaW5nUmVzdWx0IiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3Rp +Y0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlclJlc3VsdCIgdHlw +ZT0idG5zOkNvbnRlbnRGaWx0ZXJSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iUXVlcnlGaXJzdFJlc3BvbnNlIiB0eXBlPSJ0bnM6UXVlcnlGaXJzdFJlc3BvbnNl +IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJRdWVyeU5leHRSZXF1ZXN0Ij4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBl +PSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlJlbGVhc2VDb250aW51YXRpb25Qb2ludCIgdHlwZT0ieHM6 +Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGlu +dWF0aW9uUG9pbnQiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZIaXN0b3J5UmVhZFZhbHVlSWQiIHR5cGU9InRuczpMaXN0 -T2ZIaXN0b3J5UmVhZFZhbHVlSWQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlSZWFkUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXND -b2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250aW51YXRp -b25Qb2ludCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeURhdGEiIHR5cGU9InVhOkV4 -dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz -OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0 -b3J5UmVhZFJlc3VsdCIgdHlwZT0idG5zOkhpc3RvcnlSZWFkUmVzdWx0IiAvPg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZIaXN0b3J5UmVhZFJlc3VsdCI+DQogICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRSZXN1bHQiIHR5cGU9InRu -czpIaXN0b3J5UmVhZFJlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mSGlzdG9yeVJlYWRSZXN1bHQiIHR5cGU9InRu -czpMaXN0T2ZIaXN0b3J5UmVhZFJlc3VsdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4N -Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWREZXRhaWxzIiB0eXBlPSJ0bnM6SGlzdG9yeVJlYWRE -ZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWFkRXZlbnREZXRhaWxzIj4N -CiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNp -b24gYmFzZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOdW1WYWx1ZXNQZXJOb2RlIiB0eXBlPSJ4czp1 -bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlN0YXJ0VGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlciIgdHlwZT0idG5zOkV2 -ZW50RmlsdGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hz -OnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVu -dD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZEV2ZW50RGV0 -YWlscyIgdHlwZT0idG5zOlJlYWRFdmVudERldGFpbHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9IlJlYWRSYXdNb2RpZmllZERldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBt -aXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVJlYWRE -ZXRhaWxzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h -bWU9IklzUmVhZE1vZGlmaWVkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhcnRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZFRpbWUiIHR5 +eHM6ZWxlbWVudCBuYW1lPSJRdWVyeU5leHRSZXF1ZXN0IiB0eXBlPSJ0bnM6UXVlcnlOZXh0UmVx +dWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUXVlcnlOZXh0UmVzcG9uc2UiPg0K +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVy +IiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeURhdGFTZXRzIiB0eXBlPSJ0bnM6TGlz +dE9mUXVlcnlEYXRhU2V0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZENvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpiYXNl +NjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlOZXh0 +UmVzcG9uc2UiIHR5cGU9InRuczpRdWVyeU5leHRSZXNwb25zZSIgLz4NCg0KICA8eHM6c2ltcGxl +VHlwZSAgbmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFz +ZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU291cmNlXzAiIC8+ +DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNlcnZlcl8xIiAvPg0KICAgICAgPHhzOmVu +dW1lcmF0aW9uIHZhbHVlPSJCb3RoXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +Ik5laXRoZXJfMyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW52YWxpZF80IiAv +Pg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiB0eXBlPSJ0bnM6VGltZXN0YW1wc1RvUmV0dXJu +IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWFkVmFsdWVJZCI+DQogICAgPHhzOnNl +cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQi +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJBdHRyaWJ1dGVJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFF +bmNvZGluZyIgdHlwZT0idWE6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJSZWFkVmFsdWVJZCIgdHlwZT0idG5zOlJlYWRWYWx1ZUlkIiAvPg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZSZWFkVmFsdWVJZCI+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZFZhbHVlSWQiIHR5cGU9InRuczpSZWFk +VmFsdWVJZCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iTGlzdE9mUmVhZFZhbHVlSWQiIHR5cGU9InRuczpMaXN0T2ZSZWFkVmFsdWVJ +ZCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iUmVhZFJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4QWdlIiB0eXBl +PSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRp +bWVzdGFtcHNUb1JldHVybiIgdHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgbWluT2NjdXJz +PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb1JlYWQiIHR5cGU9InRuczpM +aXN0T2ZSZWFkVmFsdWVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJS +ZWFkUmVxdWVzdCIgdHlwZT0idG5zOlJlYWRSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJSZWFkUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1 +bHRzIiB0eXBlPSJ1YTpMaXN0T2ZEYXRhVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVh +Okxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h +bWU9IlJlYWRSZXNwb25zZSIgdHlwZT0idG5zOlJlYWRSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iSGlzdG9yeVJlYWRWYWx1ZUlkIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkluZGV4UmFu +Z2UiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFFbmNvZGluZyIgdHlwZT0idWE6UXVhbGlmaWVkTmFt +ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IkNvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRWYWx1ZUlkIiB0eXBlPSJ0bnM6 +SGlzdG9yeVJlYWRWYWx1ZUlkIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZI +aXN0b3J5UmVhZFZhbHVlSWQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9Ikhpc3RvcnlSZWFkVmFsdWVJZCIgdHlwZT0idG5zOkhpc3RvcnlSZWFkVmFsdWVJZCIg +bWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iTGlzdE9mSGlzdG9yeVJlYWRWYWx1ZUlkIiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeVJlYWRW +YWx1ZUlkIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJIaXN0b3J5UmVhZFJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJz +PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9uUG9pbnQiIHR5cGU9 +InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlEYXRhIiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRSZXN1bHQi +IHR5cGU9InRuczpIaXN0b3J5UmVhZFJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iTGlzdE9mSGlzdG9yeVJlYWRSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9Ikhpc3RvcnlSZWFkUmVzdWx0IiB0eXBlPSJ0bnM6SGlzdG9yeVJlYWRS +ZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9Ikxpc3RPZkhpc3RvcnlSZWFkUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9y +eVJlYWRSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9Ikhpc3RvcnlSZWFkRGV0YWlscyI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +Ikhpc3RvcnlSZWFkRGV0YWlscyIgdHlwZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyIgLz4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZEV2ZW50RGV0YWlscyI+DQogICAgPHhzOmNvbXBs +ZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpI +aXN0b3J5UmVhZERldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iTnVtVmFsdWVzUGVyTm9kZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1p +bk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFydFRpbWUiIHR5 cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iTnVtVmFsdWVzUGVyTm9kZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXR1cm5Cb3VuZHMiIHR5cGU9Inhz -OmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAg -IDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlYWRSYXdNb2RpZmllZERldGFpbHMiIHR5cGU9 -InRuczpSZWFkUmF3TW9kaWZpZWREZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJSZWFkUHJvY2Vzc2VkRGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJm -YWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5UmVhZERldGFpbHMi -Pg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Rh -cnRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4 -czplbGVtZW50IG5hbWU9IkVuZFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJvY2Vzc2luZ0ludGVydmFsIiB0eXBl -PSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJBZ2dyZWdhdGVUeXBlIiB0eXBlPSJ1YTpMaXN0T2ZOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWdncmVnYXRlQ29u -ZmlndXJhdGlvbiIgdHlwZT0idG5zOkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hz -OmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWFkUHJvY2Vzc2VkRGV0YWlscyIgdHlwZT0idG5zOlJl -YWRQcm9jZXNzZWREZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWFkQXRU -aW1lRGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAg -ICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5UmVhZERldGFpbHMiPg0KICAgICAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxVGltZXMiIHR5cGU9 -InVhOkxpc3RPZkRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZVNpbXBsZUJvdW5kcyIgdHlwZT0ieHM6Ym9vbGVh -biIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpl -eHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZEF0VGltZURldGFpbHMiIHR5cGU9InRuczpSZWFkQXRU -aW1lRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeURhdGEiPg0K -ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFWYWx1ZXMiIHR5 -cGU9InVhOkxpc3RPZkRhdGFWYWx1ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +bmFtZT0iRW5kVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXIiIHR5cGU9InRuczpFdmVudEZpbHRlciIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAg +ICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlYWRFdmVudERldGFpbHMiIHR5cGU9InRu +czpSZWFkRXZlbnREZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWFkUmF3 +TW9kaWZpZWREZXRhaWxzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4N +CiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyI+DQogICAg +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc1JlYWRNb2Rp +ZmllZCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlN0YXJ0VGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRUaW1lIiB0eXBlPSJ4czpkYXRlVGlt +ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik51bVZhbHVl +c1Blck5vZGUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV0dXJuQm91bmRzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lv +bj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJSZWFkUmF3TW9kaWZpZWREZXRhaWxzIiB0eXBlPSJ0bnM6UmVhZFJhd01v +ZGlmaWVkRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZFByb2Nlc3Nl +ZERldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAg +PHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICAgICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXJ0VGltZSIgdHlwZT0i +eHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJFbmRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAg +IDx4czplbGVtZW50IG5hbWU9IlByb2Nlc3NpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWdncmVnYXRlVHlw +ZSIgdHlwZT0idWE6TGlzdE9mTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIHR5 +cGU9InRuczpBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQog +ICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iUmVhZFByb2Nlc3NlZERldGFpbHMiIHR5cGU9InRuczpSZWFkUHJvY2Vzc2VkRGV0 +YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZEF0VGltZURldGFpbHMiPg0K +ICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lv +biBiYXNlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcVRpbWVzIiB0eXBlPSJ1YTpMaXN0T2ZEYXRl +VGltZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJVc2VTaW1wbGVCb3VuZHMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0i +MCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAg +IDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9IlJlYWRBdFRpbWVEZXRhaWxzIiB0eXBlPSJ0bnM6UmVhZEF0VGltZURldGFpbHMiIC8+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlEYXRhIj4NCiAgICA8eHM6c2VxdWVu +Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVmFsdWVzIiB0eXBlPSJ1YTpMaXN0T2ZE +YXRhVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeURh +dGEiIHR5cGU9InRuczpIaXN0b3J5RGF0YSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i +TW9kaWZpY2F0aW9uSW5mbyI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iTW9kaWZpY2F0aW9uVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVwZGF0ZVR5cGUiIHR5cGU9InRuczpIaXN0b3J5 +VXBkYXRlVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNl +ck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJIaXN0b3J5RGF0YSIgdHlwZT0idG5zOkhpc3RvcnlEYXRhIiAvPg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJNb2RpZmljYXRpb25JbmZvIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZmljYXRpb25UaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXBkYXRlVHlwZSIgdHlw -ZT0idG5zOkhpc3RvcnlVcGRhdGVUeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJVc2VyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9Ik1vZGlmaWNhdGlvbkluZm8iIHR5cGU9InRuczpNb2RpZmljYXRp -b25JbmZvIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb2RpZmljYXRpb25J -bmZvIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZmlj -YXRpb25JbmZvIiB0eXBlPSJ0bnM6TW9kaWZpY2F0aW9uSW5mbyIgbWluT2NjdXJzPSIwIiBtYXhP +YW1lPSJNb2RpZmljYXRpb25JbmZvIiB0eXBlPSJ0bnM6TW9kaWZpY2F0aW9uSW5mbyIgLz4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTW9kaWZpY2F0aW9uSW5mbyI+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZpY2F0aW9uSW5mbyIgdHlw +ZT0idG5zOk1vZGlmaWNhdGlvbkluZm8iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5k +ZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk1vZGlmaWNhdGlvbkluZm8iIHR5cGU9 +InRuczpMaXN0T2ZNb2RpZmljYXRpb25JbmZvIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50 +Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5TW9kaWZpZWREYXRhIj4NCiAgICA8 +eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFz +ZT0idG5zOkhpc3RvcnlEYXRhIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4 +czplbGVtZW50IG5hbWU9Ik1vZGlmaWNhdGlvbkluZm9zIiB0eXBlPSJ0bnM6TGlzdE9mTW9kaWZp +Y2F0aW9uSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94 +czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRl +bnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlNb2Rp +ZmllZERhdGEiIHR5cGU9InRuczpIaXN0b3J5TW9kaWZpZWREYXRhIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJIaXN0b3J5RXZlbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IkV2ZW50cyIgdHlwZT0idG5zOkxpc3RPZkhpc3RvcnlFdmVudEZpZWxk +TGlzdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl +Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5RXZlbnQi +IHR5cGU9InRuczpIaXN0b3J5RXZlbnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhp +c3RvcnlSZWFkUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5UmVh +ZERldGFpbHMiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRpbWVzdGFtcHNUb1JldHVybiIg +dHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iUmVsZWFzZUNvbnRpbnVhdGlvblBvaW50cyIgdHlwZT0ieHM6Ym9vbGVh +biIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb1JlYWQi +IHR5cGU9InRuczpMaXN0T2ZIaXN0b3J5UmVhZFZhbHVlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRSZXF1ZXN0IiB0eXBlPSJ0bnM6SGlzdG9yeVJl +YWRSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5UmVhZFJlc3Bv +bnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25z +ZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxp +c3RPZkhpc3RvcnlSZWFkUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZE +aWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0 +b3J5UmVhZFJlc3BvbnNlIiB0eXBlPSJ0bnM6SGlzdG9yeVJlYWRSZXNwb25zZSIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iV3JpdGVWYWx1ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdHRyaWJ1dGVJ +ZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlIiB0eXBlPSJ1YTpE +YXRhVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVWYWx1 +ZSIgdHlwZT0idG5zOldyaXRlVmFsdWUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxp +c3RPZldyaXRlVmFsdWUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IldyaXRlVmFsdWUiIHR5cGU9InRuczpXcml0ZVZhbHVlIiBtaW5PY2N1cnM9IjAiIG1heE9j +Y3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZXcml0ZVZhbHVl +IiB0eXBlPSJ0bnM6TGlzdE9mV3JpdGVWYWx1ZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVu +dD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iV3JpdGVSZXF1ZXN0Ij4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6 +UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9Ik5vZGVzVG9Xcml0ZSIgdHlwZT0idG5zOkxpc3RPZldyaXRlVmFsdWUi +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVSZXF1ZXN0IiB0eXBl +PSJ0bnM6V3JpdGVSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJXcml0ZVJl +c3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNw +b25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idWE6 +TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25v +c3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVSZXNw +b25zZSIgdHlwZT0idG5zOldyaXRlUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9Ikhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5VXBkYXRlRGV0YWlscyIgdHlwZT0idG5zOkhpc3Rv +cnlVcGRhdGVEZXRhaWxzIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJIaXN0b3J5VXBk +YXRlVHlwZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8 +eHM6ZW51bWVyYXRpb24gdmFsdWU9Ikluc2VydF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u +IHZhbHVlPSJSZXBsYWNlXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVwZGF0 +ZV8zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEZWxldGVfNCIgLz4NCiAgICA8 +L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +Ikhpc3RvcnlVcGRhdGVUeXBlIiB0eXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZVR5cGUiIC8+DQoNCiAg +PHhzOnNpbXBsZVR5cGUgIG5hbWU9IlBlcmZvcm1VcGRhdGVUeXBlIj4NCiAgICA8eHM6cmVzdHJp +Y3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW5z +ZXJ0XzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlcGxhY2VfMiIgLz4NCiAg +ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVXBkYXRlXzMiIC8+DQogICAgICA8eHM6ZW51bWVy +YXRpb24gdmFsdWU9IlJlbW92ZV80IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6 +c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUGVyZm9ybVVwZGF0ZVR5cGUiIHR5cGU9 +InRuczpQZXJmb3JtVXBkYXRlVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVXBk +YXRlRGF0YURldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0K +ICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAg +ICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUGVyZm9ybUlu +c2VydFJlcGxhY2UiIHR5cGU9InRuczpQZXJmb3JtVXBkYXRlVHlwZSIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlVwZGF0ZVZhbHVlcyIgdHlwZT0idWE6TGlz +dE9mRGF0YVZhbHVlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8 +L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29u +dGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVXBkYXRlRGF0 +YURldGFpbHMiIHR5cGU9InRuczpVcGRhdGVEYXRhRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iVXBkYXRlU3RydWN0dXJlRGF0YURldGFpbHMiPg0KICAgIDx4czpjb21wbGV4 +Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlz +dG9yeVVwZGF0ZURldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iUGVyZm9ybUluc2VydFJlcGxhY2UiIHR5cGU9InRuczpQZXJmb3JtVXBk +YXRlVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlVw +ZGF0ZVZhbHVlcyIgdHlwZT0idWE6TGlzdE9mRGF0YVZhbHVlIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNp +b24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iVXBkYXRlU3RydWN0dXJlRGF0YURldGFpbHMiIHR5cGU9InRuczpVcGRh +dGVTdHJ1Y3R1cmVEYXRhRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVXBk +YXRlRXZlbnREZXRhaWxzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4N +CiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAg +ICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlBlcmZvcm1J +bnNlcnRSZXBsYWNlIiB0eXBlPSJ0bnM6UGVyZm9ybVVwZGF0ZVR5cGUiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXIiIHR5cGU9InRuczpFdmVudEZp +bHRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJFdmVudERhdGEiIHR5cGU9InRuczpMaXN0T2ZIaXN0b3J5RXZlbnRGaWVsZExp +c3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVu +Y2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVcGRhdGVFdmVudERldGFpbHMi +IHR5cGU9InRuczpVcGRhdGVFdmVudERldGFpbHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9IkRlbGV0ZVJhd01vZGlmaWVkRGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1p +eGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5VXBkYXRl +RGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJJc0RlbGV0ZU1vZGlmaWVkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhcnRUaW1lIiB0eXBlPSJ4czpkYXRlVGlt +ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZFRpbWUi +IHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVu +Y2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVSYXdNb2RpZmllZERl +dGFpbHMiIHR5cGU9InRuczpEZWxldGVSYXdNb2RpZmllZERldGFpbHMiIC8+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9IkRlbGV0ZUF0VGltZURldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29u +dGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9y +eVVwZGF0ZURldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iUmVxVGltZXMiIHR5cGU9InVhOkxpc3RPZkRhdGVUaW1lIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94 +czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlQXRUaW1lRGV0YWlscyIgdHlwZT0idG5zOkRl +bGV0ZUF0VGltZURldGFpbHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZUV2 +ZW50RGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAg +ICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudElkcyIgdHlw +ZT0idWE6TGlzdE9mQnl0ZVN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6 +Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +IkRlbGV0ZUV2ZW50RGV0YWlscyIgdHlwZT0idG5zOkRlbGV0ZUV2ZW50RGV0YWlscyIgLz4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3VsdCI+DQogICAgPHhzOnNl +cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3Rh +dHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT3BlcmF0 +aW9uUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIg +dHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3VsdCIgdHlwZT0idG5zOkhpc3RvcnlVcGRhdGVS +ZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkhpc3RvcnlVcGRhdGVS +ZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3Rv +cnlVcGRhdGVSZXN1bHQiIHR5cGU9InRuczpIaXN0b3J5VXBkYXRlUmVzdWx0IiBtaW5PY2N1cnM9 +IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl +cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZI +aXN0b3J5VXBkYXRlUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeVVwZGF0ZVJlc3VsdCIg +bmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i +SGlzdG9yeVVwZGF0ZVJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9y +eVVwZGF0ZURldGFpbHMiIHR5cGU9InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5VXBkYXRlUmVxdWVzdCIgdHlwZT0i +dG5zOkhpc3RvcnlVcGRhdGVSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJI +aXN0b3J5VXBkYXRlUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1 +bHRzIiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeVVwZGF0ZVJlc3VsdCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZv +cyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3BvbnNlIiB0eXBlPSJ0bnM6SGlzdG9yeVVw +ZGF0ZVJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDYWxsTWV0aG9kUmVx +dWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT2JqZWN0 +SWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9Ik1ldGhvZElkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbnB1dEFy +Z3VtZW50cyIgdHlwZT0idWE6TGlzdE9mVmFyaWFudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJDYWxsTWV0aG9kUmVxdWVzdCIgdHlwZT0idG5zOkNhbGxNZXRob2RSZXF1 +ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZDYWxsTWV0aG9kUmVxdWVz +dCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2FsbE1ldGhv +ZFJlcXVlc3QiIHR5cGU9InRuczpDYWxsTWV0aG9kUmVxdWVzdCIgbWluT2NjdXJzPSIwIiBtYXhP Y2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTW9kaWZpY2F0 -aW9uSW5mbyIgdHlwZT0idG5zOkxpc3RPZk1vZGlmaWNhdGlvbkluZm8iIG5pbGxhYmxlPSJ0cnVl -Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlNb2RpZmll -ZERhdGEiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhz -OmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeURhdGEiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZpY2F0aW9uSW5mb3MiIHR5cGU9InRu -czpMaXN0T2ZNb2RpZmljYXRpb25JbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94 -czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iSGlzdG9yeU1vZGlmaWVkRGF0YSIgdHlwZT0idG5zOkhpc3RvcnlNb2RpZmllZERhdGEiIC8+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlFdmVudCI+DQogICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnRzIiB0eXBlPSJ0bnM6TGlzdE9mSGlz -dG9yeUV2ZW50RmllbGRMaXN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -Ikhpc3RvcnlFdmVudCIgdHlwZT0idG5zOkhpc3RvcnlFdmVudCIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iSGlzdG9yeVJlYWRSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRl -ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9Ikhpc3RvcnlSZWFkRGV0YWlscyIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0 -YW1wc1RvUmV0dXJuIiB0eXBlPSJ0bnM6VGltZXN0YW1wc1RvUmV0dXJuIiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWxlYXNlQ29udGludWF0aW9uUG9pbnRzIiB0 -eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJOb2Rlc1RvUmVhZCIgdHlwZT0idG5zOkxpc3RPZkhpc3RvcnlSZWFkVmFsdWVJZCIgbWluT2Nj +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQ2FsbE1ldGhv +ZFJlcXVlc3QiIHR5cGU9InRuczpMaXN0T2ZDYWxsTWV0aG9kUmVxdWVzdCIgbmlsbGFibGU9InRy +dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2FsbE1ldGhvZFJl +c3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVz +Q29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iSW5wdXRBcmd1bWVudFJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0Nv +ZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJJbnB1dEFyZ3VtZW50RGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9z +dGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9Ik91dHB1dEFyZ3VtZW50cyIgdHlwZT0idWE6TGlzdE9mVmFyaWFudCIgbWluT2Nj dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5UmVhZFJlcXVlc3QiIHR5cGU9 -InRuczpIaXN0b3J5UmVhZFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhp -c3RvcnlSZWFkUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRz -IiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeVJlYWRSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5 -cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9Ikhpc3RvcnlSZWFkUmVzcG9uc2UiIHR5cGU9InRuczpIaXN0b3J5UmVhZFJlc3Bv -bnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJXcml0ZVZhbHVlIj4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5vZGVJ -ZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXhSYW5nZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFs -dWUiIHR5cGU9InVhOkRhdGFWYWx1ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJXcml0ZVZhbHVlIiB0eXBlPSJ0bnM6V3JpdGVWYWx1ZSIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iTGlzdE9mV3JpdGVWYWx1ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVWYWx1ZSIgdHlwZT0idG5zOldyaXRlVmFsdWUiIG1pbk9j +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDYWxsTWV0aG9kUmVzdWx0IiB0eXBlPSJ0 +bnM6Q2FsbE1ldGhvZFJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m +Q2FsbE1ldGhvZFJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iQ2FsbE1ldGhvZFJlc3VsdCIgdHlwZT0idG5zOkNhbGxNZXRob2RSZXN1bHQiIG1pbk9j Y3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxp -c3RPZldyaXRlVmFsdWUiIHR5cGU9InRuczpMaXN0T2ZXcml0ZVZhbHVlIiBuaWxsYWJsZT0idHJ1 -ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJXcml0ZVJlcXVlc3Qi -Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFk -ZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb1dyaXRlIiB0eXBlPSJ0bnM6TGlz -dE9mV3JpdGVWYWx1ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz -OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJXcml0 -ZVJlcXVlc3QiIHR5cGU9InRuczpXcml0ZVJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9IldyaXRlUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1 -bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1 -YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJXcml0ZVJlc3BvbnNlIiB0eXBlPSJ0bnM6V3JpdGVSZXNwb25zZSIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgIDx4czpzZXF1ZW5j -ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlVcGRhdGVEZXRhaWxzIiB0 -eXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5h -bWU9Ikhpc3RvcnlVcGRhdGVUeXBlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3Ry -aW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW5zZXJ0XzEiIC8+DQogICAgICA8 -eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlcGxhY2VfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv -biB2YWx1ZT0iVXBkYXRlXzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRlbGV0 -ZV80IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iSGlzdG9yeVVwZGF0ZVR5cGUiIHR5cGU9InRuczpIaXN0b3J5VXBkYXRl -VHlwZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iUGVyZm9ybVVwZGF0ZVR5cGUiPg0K +c3RPZkNhbGxNZXRob2RSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZDYWxsTWV0aG9kUmVzdWx0IiBu +aWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJD +YWxsUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +UmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXRob2RzVG9DYWxsIiB0 +eXBlPSJ0bnM6TGlzdE9mQ2FsbE1ldGhvZFJlcXVlc3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iQ2FsbFJlcXVlc3QiIHR5cGU9InRuczpDYWxsUmVxdWVzdCIgLz4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2FsbFJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3Bv +bnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZkNhbGxNZXRob2RSZXN1bHQiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJE +aWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNhbGxSZXNwb25zZSIgdHlwZT0idG5zOkNhbGxS +ZXNwb25zZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iTW9uaXRvcmluZ01vZGUiPg0K ICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0 -aW9uIHZhbHVlPSJJbnNlcnRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVw -bGFjZV8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVcGRhdGVfMyIgLz4NCiAg -ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVtb3ZlXzQiIC8+DQogICAgPC94czpyZXN0cmlj -dGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJQZXJmb3JtVXBk -YXRlVHlwZSIgdHlwZT0idG5zOlBlcmZvcm1VcGRhdGVUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4 -VHlwZSBuYW1lPSJVcGRhdGVEYXRhRGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1p -eGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5VXBkYXRl -RGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJQZXJmb3JtSW5zZXJ0UmVwbGFjZSIgdHlwZT0idG5zOlBlcmZvcm1VcGRhdGVUeXBlIiBt -aW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXBkYXRlVmFsdWVz -IiB0eXBlPSJ1YTpMaXN0T2ZEYXRhVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +aW9uIHZhbHVlPSJEaXNhYmxlZF8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJT +YW1wbGluZ18xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZXBvcnRpbmdfMiIg +Lz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9Ik1vbml0b3JpbmdNb2RlIiB0eXBlPSJ0bnM6TW9uaXRvcmluZ01vZGUiIC8+DQoN +CiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkRhdGFDaGFuZ2VUcmlnZ2VyIj4NCiAgICA8eHM6cmVz +dHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i +U3RhdHVzXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN0YXR1c1ZhbHVlXzEi +IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN0YXR1c1ZhbHVlVGltZXN0YW1wXzIi +IC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxl +bWVudCBuYW1lPSJEYXRhQ2hhbmdlVHJpZ2dlciIgdHlwZT0idG5zOkRhdGFDaGFuZ2VUcmlnZ2Vy +IiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJEZWFkYmFuZFR5cGUiPg0KICAgIDx4czpy +ZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl +PSJOb25lXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFic29sdXRlXzEiIC8+ +DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlBlcmNlbnRfMiIgLz4NCiAgICA8L3hzOnJl +c3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlYWRi +YW5kVHlwZSIgdHlwZT0idG5zOkRlYWRiYW5kVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iTW9uaXRvcmluZ0ZpbHRlciI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2Vx +dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3Jp +bmdGaWx0ZXIiIHR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVyIiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJEYXRhQ2hhbmdlRmlsdGVyIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4 +ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk1vbml0b3JpbmdGaWx0 +ZXIiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +VHJpZ2dlciIgdHlwZT0idG5zOkRhdGFDaGFuZ2VUcmlnZ2VyIiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVhZGJhbmRUeXBlIiB0eXBlPSJ4czp1bnNpZ25l +ZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlYWRi +YW5kVmFsdWUiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hz +OnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVu +dD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YUNoYW5nZUZp +bHRlciIgdHlwZT0idG5zOkRhdGFDaGFuZ2VGaWx0ZXIiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9IkV2ZW50RmlsdGVyIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNl +Ij4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk1vbml0b3JpbmdGaWx0ZXIiPg0KICAg +ICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VsZWN0Q2xh +dXNlcyIgdHlwZT0idG5zOkxpc3RPZlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iV2hlcmVD +bGF1c2UiIHR5cGU9InRuczpDb250ZW50RmlsdGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQog +ICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iRXZlbnRGaWx0ZXIiIHR5cGU9InRuczpFdmVudEZpbHRlciIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iQWdncmVnYXRlQ29uZmlndXJhdGlvbiI+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlU2VydmVyQ2FwYWJpbGl0aWVzRGVmYXVs +dHMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlRyZWF0VW5jZXJ0YWluQXNCYWQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0i +MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBlcmNlbnREYXRhQmFkIiB0eXBlPSJ4czp1 +bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBl +cmNlbnREYXRhR29vZCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VTbG9wZWRFeHRyYXBvbGF0aW9uIiB0eXBlPSJ4czpi +b29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w +bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWdncmVnYXRlQ29uZmlndXJhdGlvbiIgdHlw +ZT0idG5zOkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9IkFnZ3JlZ2F0ZUZpbHRlciI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxz +ZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpNb25pdG9yaW5nRmlsdGVyIj4NCiAg +ICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXJ0VGlt +ZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJBZ2dyZWdhdGVUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJvY2Vzc2lu +Z0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiB0eXBlPSJ0bnM6QWdncmVn +YXRlQ29uZmlndXJhdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +ICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxl +eENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFnZ3Jl +Z2F0ZUZpbHRlciIgdHlwZT0idG5zOkFnZ3JlZ2F0ZUZpbHRlciIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iTW9uaXRvcmluZ0ZpbHRlclJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h +bWU9Ik1vbml0b3JpbmdGaWx0ZXJSZXN1bHQiIHR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVyUmVz +dWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFdmVudEZpbHRlclJlc3VsdCI+DQog +ICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9u +IGJhc2U9InRuczpNb25pdG9yaW5nRmlsdGVyUmVzdWx0Ij4NCiAgICAgICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlbGVjdENsYXVzZVJlc3VsdHMiIHR5cGU9 +InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VsZWN0Q2xhdXNlRGlhZ25vc3RpY0luZm9zIiB0 +eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJXaGVyZUNsYXVzZVJlc3VsdCIgdHlw +ZT0idG5zOkNvbnRlbnRGaWx0ZXJSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi IC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8 L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJVcGRhdGVEYXRhRGV0YWlscyIgdHlwZT0idG5zOlVwZGF0ZURhdGFEZXRhaWxzIiAvPg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJVcGRhdGVTdHJ1Y3R1cmVEYXRhRGV0YWlscyI+DQog -ICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9u -IGJhc2U9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQZXJmb3JtSW5zZXJ0UmVwbGFjZSIgdHlwZT0i -dG5zOlBlcmZvcm1VcGRhdGVUeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iVXBkYXRlVmFsdWVzIiB0eXBlPSJ1YTpMaXN0T2ZEYXRhVmFsdWUiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAg -ICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVcGRhdGVTdHJ1Y3R1cmVEYXRhRGV0YWlscyIg -dHlwZT0idG5zOlVwZGF0ZVN0cnVjdHVyZURhdGFEZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4 -VHlwZSBuYW1lPSJVcGRhdGVFdmVudERldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBt -aXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVVwZGF0 -ZURldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iUGVyZm9ybUluc2VydFJlcGxhY2UiIHR5cGU9InRuczpQZXJmb3JtVXBkYXRlVHlwZSIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlciIgdHlw -ZT0idG5zOkV2ZW50RmlsdGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50RGF0YSIgdHlwZT0idG5zOkxpc3RPZkhpc3Rv -cnlFdmVudEZpZWxkTGlzdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -ICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxl -eENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVwZGF0 -ZUV2ZW50RGV0YWlscyIgdHlwZT0idG5zOlVwZGF0ZUV2ZW50RGV0YWlscyIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlUmF3TW9kaWZpZWREZXRhaWxzIj4NCiAgICA8eHM6Y29t -cGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5z -Okhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAg -IDx4czplbGVtZW50IG5hbWU9IklzRGVsZXRlTW9kaWZpZWQiIHR5cGU9InhzOmJvb2xlYW4iIG1p -bk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFydFRpbWUiIHR5 -cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iRW5kVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg -ICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxl -eENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0 -ZVJhd01vZGlmaWVkRGV0YWlscyIgdHlwZT0idG5zOkRlbGV0ZVJhd01vZGlmaWVkRGV0YWlscyIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlQXRUaW1lRGV0YWlscyI+DQogICAg -PHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJh -c2U9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXFUaW1lcyIgdHlwZT0idWE6TGlzdE9mRGF0ZVRp -bWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVu -Y2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVBdFRpbWVEZXRhaWxz -IiB0eXBlPSJ0bnM6RGVsZXRlQXRUaW1lRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iRGVsZXRlRXZlbnREZXRhaWxzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9 -ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRh -aWxzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkV2ZW50SWRzIiB0eXBlPSJ1YTpMaXN0T2ZCeXRlU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNp -b24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iRGVsZXRlRXZlbnREZXRhaWxzIiB0eXBlPSJ0bnM6RGVsZXRlRXZlbnRE -ZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5VXBkYXRlUmVzdWx0 -Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2Rl -IiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJPcGVyYXRpb25SZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5P +YW1lPSJFdmVudEZpbHRlclJlc3VsdCIgdHlwZT0idG5zOkV2ZW50RmlsdGVyUmVzdWx0IiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZ2dyZWdhdGVGaWx0ZXJSZXN1bHQiPg0KICAgIDx4 +czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNl +PSJ0bnM6TW9uaXRvcmluZ0ZpbHRlclJlc3VsdCI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkU3RhcnRUaW1lIiB0eXBlPSJ4czpkYXRl +VGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlz +ZWRQcm9jZXNzaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0K +ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRBZ2dyZWdhdGVDb25maWd1cmF0aW9u +IiB0eXBlPSJ0bnM6QWdncmVnYXRlQ29uZmlndXJhdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9u +Pg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl +bGVtZW50IG5hbWU9IkFnZ3JlZ2F0ZUZpbHRlclJlc3VsdCIgdHlwZT0idG5zOkFnZ3JlZ2F0ZUZp +bHRlclJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9uaXRvcmluZ1BhcmFt +ZXRlcnMiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVu +dEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlNhbXBsaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyIiB0eXBlPSJ1YTpFeHRl +bnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJRdWV1ZVNpemUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9 +IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjYXJkT2xkZXN0IiB0eXBlPSJ4czpi +b29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w +bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ1BhcmFtZXRlcnMiIHR5cGU9 +InRuczpNb25pdG9yaW5nUGFyYW1ldGVycyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i +TW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9Ikl0ZW1Ub01vbml0b3IiIHR5cGU9InRuczpSZWFkVmFsdWVJZCIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1v +bml0b3JpbmdNb2RlIiB0eXBlPSJ0bnM6TW9uaXRvcmluZ01vZGUiIG1pbk9jY3Vycz0iMCIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZFBhcmFtZXRlcnMiIHR5cGU9InRuczpN +b25pdG9yaW5nUGFyYW1ldGVycyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIgdHlwZT0idG5zOk1vbml0b3JlZEl0ZW1DcmVh +dGVSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJ +dGVtQ3JlYXRlUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIHR5cGU9InRuczpNb25pdG9yZWRJdGVt +Q3JlYXRlUmVxdWVzdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIHR5cGU9 +InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIgbmlsbGFibGU9InRydWUiPjwv +eHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9uaXRvcmVkSXRlbUNyZWF0 +ZVJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Rh +dHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFNhbXBsaW5nSW50 +ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iUmV2aXNlZFF1ZXVlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vy +cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlclJlc3VsdCIgdHlwZT0idWE6 +RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1v +bml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIHR5cGU9InRuczpNb25pdG9yZWRJdGVtQ3JlYXRlUmVz +dWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVtQ3Jl +YXRlUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJN +b25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0IiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRlbUNyZWF0ZVJl +c3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbUNyZWF0ZVJlc3VsdCIgdHlwZT0idG5zOkxpc3RP +Zk1vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zUmVxdWVzdCI+ +DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRl +ciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlwZT0ieHM6dW5z +aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRpbWVz +dGFtcHNUb1JldHVybiIgdHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXRlbXNUb0NyZWF0ZSIgdHlwZT0idG5zOkxp +c3RPZk1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl +bGVtZW50IG5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgdHlwZT0idG5zOkNyZWF0 +ZU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ3Jl +YXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0IiBtaW5P Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlh Z25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIw IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5VXBkYXRlUmVzdWx0IiB0eXBlPSJ0bnM6 -SGlzdG9yeVVwZGF0ZVJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m -SGlzdG9yeVVwZGF0ZVJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3VsdCIgdHlwZT0idG5zOkhpc3RvcnlVcGRhdGVSZXN1 -bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9Ikxpc3RPZkhpc3RvcnlVcGRhdGVSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZIaXN0b3J5 -VXBkYXRlUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJIaXN0b3J5VXBkYXRlUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RI -ZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJIaXN0b3J5VXBkYXRlRGV0YWlscyIgdHlwZT0idWE6TGlzdE9mRXh0ZW5zaW9uT2Jq -ZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlVcGRhdGVS -ZXF1ZXN0IiB0eXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZVJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9Ikhpc3RvcnlVcGRhdGVSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25z -ZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZIaXN0b3J5VXBkYXRlUmVzdWx0IiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -RGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJz +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiB0 +eXBlPSJ0bnM6Q3JlYXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1JZCIgdHlwZT0ieHM6dW5z +aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVl +c3RlZFBhcmFtZXRlcnMiIHR5cGU9InRuczpNb25pdG9yaW5nUGFyYW1ldGVycyIgbWluT2NjdXJz PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5VXBkYXRlUmVzcG9uc2UiIHR5cGU9 -InRuczpIaXN0b3J5VXBkYXRlUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 -IkNhbGxNZXRob2RSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJPYmplY3RJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWV0aG9kSWQiIHR5cGU9InVhOk5v -ZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IklucHV0QXJndW1lbnRzIiB0eXBlPSJ1YTpMaXN0T2ZWYXJpYW50IiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNhbGxNZXRob2RSZXF1ZXN0IiB0eXBlPSJ0bnM6 -Q2FsbE1ldGhvZFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkNh -bGxNZXRob2RSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJDYWxsTWV0aG9kUmVxdWVzdCIgdHlwZT0idG5zOkNhbGxNZXRob2RSZXF1ZXN0IiBtaW5P -Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM -aXN0T2ZDYWxsTWV0aG9kUmVxdWVzdCIgdHlwZT0idG5zOkxpc3RPZkNhbGxNZXRob2RSZXF1ZXN0 -IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJDYWxsTWV0aG9kUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbnB1dEFyZ3VtZW50UmVzdWx0cyIgdHlwZT0idWE6 -TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IklucHV0QXJndW1lbnREaWFnbm9zdGljSW5mb3MiIHR5cGU9InVh -Okxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT3V0cHV0QXJndW1lbnRzIiB0eXBlPSJ1YTpMaXN0T2ZW -YXJpYW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu -Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNhbGxNZXRob2RS -ZXN1bHQiIHR5cGU9InRuczpDYWxsTWV0aG9kUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJMaXN0T2ZDYWxsTWV0aG9kUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJDYWxsTWV0aG9kUmVzdWx0IiB0eXBlPSJ0bnM6Q2FsbE1ldGhv -ZFJlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCIg +dHlwZT0idG5zOk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCI+DQogICAgPHhzOnNl +cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVl +c3QiIHR5cGU9InRuczpNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCIgbWluT2NjdXJzPSIwIiBt +YXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j +ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTW9uaXRv +cmVkSXRlbU1vZGlmeVJlcXVlc3QiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtTW9kaWZ5 +UmVxdWVzdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFNhbXBsaW5n +SW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iUmV2aXNlZFF1ZXVlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9j +Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlclJlc3VsdCIgdHlwZT0i +dWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +Ik1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIHR5cGU9InRuczpNb25pdG9yZWRJdGVtTW9kaWZ5 +UmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVt +TW9kaWZ5UmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0IiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRlbU1vZGlm +eVJlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iTGlzdE9mQ2FsbE1ldGhvZFJlc3VsdCIgdHlwZT0idG5zOkxpc3RPZkNhbGxN -ZXRob2RSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9IkNhbGxSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1l -dGhvZHNUb0NhbGwiIHR5cGU9InRuczpMaXN0T2ZDYWxsTWV0aG9kUmVxdWVzdCIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDYWxsUmVxdWVzdCIgdHlwZT0idG5zOkNhbGxS -ZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDYWxsUmVzcG9uc2UiPg0KICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0 -eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ0bnM6TGlzdE9mQ2FsbE1l -dGhvZFJlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0lu -Zm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ2FsbFJlc3BvbnNlIiB0 -eXBlPSJ0bnM6Q2FsbFJlc3BvbnNlIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJNb25p -dG9yaW5nTW9kZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAg -ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRpc2FibGVkXzAiIC8+DQogICAgICA8eHM6ZW51bWVy -YXRpb24gdmFsdWU9IlNhbXBsaW5nXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 -IlJlcG9ydGluZ18yIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ01vZGUiIHR5cGU9InRuczpNb25pdG9y -aW5nTW9kZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iRGF0YUNoYW5nZVRyaWdnZXIi -Pg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1l -cmF0aW9uIHZhbHVlPSJTdGF0dXNfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i -U3RhdHVzVmFsdWVfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU3RhdHVzVmFs -dWVUaW1lc3RhbXBfMiIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRhdGFDaGFuZ2VUcmlnZ2VyIiB0eXBlPSJ0bnM6RGF0 -YUNoYW5nZVRyaWdnZXIiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkRlYWRiYW5kVHlw -ZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51 -bWVyYXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i -QWJzb2x1dGVfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudF8yIiAv -Pg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iRGVhZGJhbmRUeXBlIiB0eXBlPSJ0bnM6RGVhZGJhbmRUeXBlIiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJNb25pdG9yaW5nRmlsdGVyIj4NCiAgICA8eHM6c2VxdWVuY2U+ -DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg -bmFtZT0iTW9uaXRvcmluZ0ZpbHRlciIgdHlwZT0idG5zOk1vbml0b3JpbmdGaWx0ZXIiIC8+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFDaGFuZ2VGaWx0ZXIiPg0KICAgIDx4czpjb21w -bGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6 -TW9uaXRvcmluZ0ZpbHRlciI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJUcmlnZ2VyIiB0eXBlPSJ0bnM6RGF0YUNoYW5nZVRyaWdnZXIiIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWFkYmFuZFR5cGUiIHR5 -cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iRGVhZGJhbmRWYWx1ZSIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+ -DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hz -OmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJEYXRhQ2hhbmdlRmlsdGVyIiB0eXBlPSJ0bnM6RGF0YUNoYW5nZUZpbHRlciIgLz4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iRXZlbnRGaWx0ZXIiPg0KICAgIDx4czpjb21wbGV4Q29udGVu -dCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6TW9uaXRvcmlu -Z0ZpbHRlciI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJTZWxlY3RDbGF1c2VzIiB0eXBlPSJ0bnM6TGlzdE9mU2ltcGxlQXR0cmlidXRlT3BlcmFu -ZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJXaGVyZUNsYXVzZSIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXIiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hz -OmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudEZpbHRlciIgdHlwZT0idG5zOkV2ZW50RmlsdGVy -IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZ2dyZWdhdGVDb25maWd1cmF0aW9uIj4N -CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VTZXJ2ZXJDYXBh -YmlsaXRpZXNEZWZhdWx0cyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJlYXRVbmNlcnRhaW5Bc0JhZCIgdHlwZT0ieHM6Ym9vbGVh -biIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUGVyY2VudERhdGFC -YWQiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iUGVyY2VudERhdGFHb29kIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZVNsb3BlZEV4dHJhcG9sYXRp -b24iIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNl -Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBZ2dyZWdhdGVDb25m -aWd1cmF0aW9uIiB0eXBlPSJ0bnM6QWdncmVnYXRlQ29uZmlndXJhdGlvbiIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iQWdncmVnYXRlRmlsdGVyIj4NCiAgICA8eHM6Y29tcGxleENvbnRl -bnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk1vbml0b3Jp -bmdGaWx0ZXIiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iU3RhcnRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFnZ3JlZ2F0ZVR5cGUiIHR5cGU9InVhOk5vZGVJZCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJQcm9jZXNzaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAv -Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIHR5 -cGU9InRuczpBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQog -ICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iQWdncmVnYXRlRmlsdGVyIiB0eXBlPSJ0bnM6QWdncmVnYXRlRmlsdGVyIiAvPg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb25pdG9yaW5nRmlsdGVyUmVzdWx0Ij4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ0ZpbHRlclJlc3VsdCIgdHlwZT0idG5zOk1vbml0 -b3JpbmdGaWx0ZXJSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkV2ZW50Rmls -dGVyUmVzdWx0Ij4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAg -IDx4czpleHRlbnNpb24gYmFzZT0idG5zOk1vbml0b3JpbmdGaWx0ZXJSZXN1bHQiPg0KICAgICAg -ICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VsZWN0Q2xhdXNl -UmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWxlY3RDbGF1c2VEaWFn -bm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IldoZXJlQ2xh -dXNlUmVzdWx0IiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlclJlc3VsdCIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0 -ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9IkV2ZW50RmlsdGVyUmVzdWx0IiB0eXBlPSJ0bnM6RXZlbnRGaWx0 -ZXJSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFnZ3JlZ2F0ZUZpbHRlclJl -c3VsdCI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6 -ZXh0ZW5zaW9uIGJhc2U9InRuczpNb25pdG9yaW5nRmlsdGVyUmVzdWx0Ij4NCiAgICAgICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRTdGFydFRpbWUi -IHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iUmV2aXNlZFByb2Nlc3NpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZEFnZ3JlZ2F0 -ZUNvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAg -PC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWdncmVnYXRlRmlsdGVyUmVzdWx0IiB0eXBlPSJ0 -bnM6QWdncmVnYXRlRmlsdGVyUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJN -b25pdG9yaW5nUGFyYW1ldGVycyI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iQ2xpZW50SGFuZGxlIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2FtcGxpbmdJbnRlcnZhbCIgdHlwZT0ieHM6 -ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXIi -IHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXVlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJ -bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2NhcmRPbGRl -c3QiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNl -Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yaW5nUGFy -YW1ldGVycyIgdHlwZT0idG5zOk1vbml0b3JpbmdQYXJhbWV0ZXJzIiAvPg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCI+DQogICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXRlbVRvTW9uaXRvciIgdHlwZT0idG5zOlJl -YWRWYWx1ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iTW9uaXRvcmluZ01vZGUiIHR5cGU9InRuczpNb25pdG9yaW5nTW9kZSIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkUGFyYW1ldGVy -cyIgdHlwZT0idG5zOk1vbml0b3JpbmdQYXJhbWV0ZXJzIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +ZW1lbnQgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCIgdHlwZT0idG5zOkxp +c3RPZk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1l +bnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1vZGlmeU1vbml0b3JlZEl0ZW1zUmVxdWVz +dCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhl +YWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlwZT0ieHM6 +dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRp +bWVzdGFtcHNUb1JldHVybiIgdHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgbWluT2NjdXJz +PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXRlbXNUb01vZGlmeSIgdHlwZT0idG5z +Okxpc3RPZk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0IiB0eXBlPSJ0bnM6TW9u -aXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxp -c3RPZk1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIgdHlwZT0idG5z -Ok1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5i -b3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVtQ3JlYXRl -UmVxdWVzdCIgdHlwZT0idG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0IiBuaWxs -YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb25p -dG9yZWRJdGVtQ3JlYXRlUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtSWQiIHR5cGU9InhzOnVu -c2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZp -c2VkU2FtcGxpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkUXVldWVTaXplIiB0eXBlPSJ4czp1bnNpZ25l -ZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyUmVz -dWx0IiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUNyZWF0ZVJlc3VsdCIgdHlwZT0idG5zOk1vbml0b3Jl -ZEl0ZW1DcmVhdGVSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk1v -bml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIHR5cGU9InRuczpNb25pdG9y -ZWRJdGVtQ3JlYXRlUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0IiB0 -eXBlPSJ0bnM6TGlzdE9mTW9uaXRvcmVkSXRlbUNyZWF0ZVJlc3VsdCIgbmlsbGFibGU9InRydWUi -PjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ3JlYXRlTW9uaXRvcmVk -SXRlbXNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklk -IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiB0eXBlPSJ0bnM6VGltZXN0YW1wc1RvUmV0dXJu -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJdGVtc1RvQ3JlYXRl -IiB0eXBlPSJ0bnM6TGlzdE9mTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ3JlYXRlTW9uaXRvcmVkSXRlbXNSZXF1ZXN0IiB0 -eXBlPSJ0bnM6Q3JlYXRlTW9uaXRvcmVkSXRlbXNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4 -VHlwZSBuYW1lPSJDcmVhdGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJl -c3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1DcmVh -dGVSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZv -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog -IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0 -ZW1zUmVzcG9uc2UiIHR5cGU9InRuczpDcmVhdGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiAvPg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCI+DQog -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUlk -IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iUmVxdWVzdGVkUGFyYW1ldGVycyIgdHlwZT0idG5zOk1vbml0b3JpbmdQYXJhbWV0 -ZXJzIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1N -b2RpZnlSZXF1ZXN0IiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVlc3QiIC8+DQoN -CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0 -Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJ -dGVtTW9kaWZ5UmVxdWVzdCIgdHlwZT0idG5zOk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiBt -aW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJMaXN0T2ZNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCIgdHlwZT0idG5zOkxpc3RPZk1vbml0 -b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0Ij4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1 -YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS -ZXZpc2VkU2FtcGxpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkUXVldWVTaXplIiB0eXBlPSJ4czp1bnNp -Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVy -UmVzdWx0IiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCIgdHlwZT0idG5zOk1vbml0 -b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RP -Zk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIHR5cGU9InRuczpNb25p -dG9yZWRJdGVtTW9kaWZ5UmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVk -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0 -IiB0eXBlPSJ0bnM6TGlzdE9mTW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCIgbmlsbGFibGU9InRy -dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9kaWZ5TW9uaXRv -cmVkSXRlbXNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlv -bklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiB0eXBlPSJ0bnM6VGltZXN0YW1wc1RvUmV0 -dXJuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJdGVtc1RvTW9k -aWZ5IiB0eXBlPSJ0bnM6TGlzdE9mTW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVlc3QiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXF1ZXN0 -IiB0eXBlPSJ0bnM6TW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJNb2RpZnlNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5z -OlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1N -b2RpZnlSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJ -bmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmeU1vbml0b3Jl -ZEl0ZW1zUmVzcG9uc2UiIHR5cGU9InRuczpNb2RpZnlNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiAv -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXRNb25pdG9yaW5nTW9kZVJlcXVlc3QiPg0K -ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIi -IHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9InhzOnVuc2ln -bmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9y -aW5nTW9kZSIgdHlwZT0idG5zOk1vbml0b3JpbmdNb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtSWRzIiB0eXBlPSJ1YTpMaXN0T2ZVSW50 -MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0TW9uaXRvcmluZ01v -ZGVSZXF1ZXN0IiB0eXBlPSJ0bnM6U2V0TW9uaXRvcmluZ01vZGVSZXF1ZXN0IiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJTZXRNb25pdG9yaW5nTW9kZVJlc3BvbnNlIj4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0i -dG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0TW9uaXRvcmluZ01vZGVSZXNwb25zZSIg -dHlwZT0idG5zOlNldE1vbml0b3JpbmdNb2RlUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IlNldFRyaWdnZXJpbmdSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRl +czplbGVtZW50IG5hbWU9Ik1vZGlmeU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgdHlwZT0idG5zOk1v +ZGlmeU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i +TW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRl ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJpZ2dlcmluZ0l0ZW1JZCIgdHlwZT0ieHM6dW5z -aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxpbmtz -VG9BZGQiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkxpbmtzVG9SZW1vdmUiIHR5cGU9InVhOkxp -c3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRUcmln -Z2VyaW5nUmVxdWVzdCIgdHlwZT0idG5zOlNldFRyaWdnZXJpbmdSZXF1ZXN0IiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJTZXRUcmlnZ2VyaW5nUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1 -ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6 -UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJBZGRSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBt +bWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0IiBt aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -QWRkRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlbW92 -ZVJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZW1vdmVEaWFnbm9zdGljSW5m +RGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZnlNb25pdG9yZWRJdGVtc1Jlc3BvbnNl +IiB0eXBlPSJ0bnM6TW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iU2V0TW9uaXRvcmluZ01vZGVSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVu +Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVx +dWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ01vZGUiIHR5cGU9 +InRuczpNb25pdG9yaW5nTW9kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iTW9uaXRvcmVkSXRlbUlkcyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl +eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNldE1vbml0b3JpbmdNb2RlUmVxdWVzdCIgdHlw +ZT0idG5zOlNldE1vbml0b3JpbmdNb2RlUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iU2V0TW9uaXRvcmluZ01vZGVSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhl +YWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5m b3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9IlNldFRyaWdnZXJpbmdSZXNwb25zZSIgdHlwZT0idG5zOlNldFRyaWdn -ZXJpbmdSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlTW9uaXRv -cmVkSXRlbXNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlv -bklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUlkcyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVx -dWVzdCIgdHlwZT0idG5zOkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSI+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9 -InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUi -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVzcG9u -c2UiIHR5cGU9InRuczpEZWxldGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJDcmVhdGVTdWJzY3JpcHRpb25SZXF1ZXN0Ij4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6 -UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91 -YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWRM -aWZldGltZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnQiIHR5cGU9Inhz -OnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJN -YXhOb3RpZmljYXRpb25zUGVyUHVibGlzaCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vy -cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hpbmdFbmFibGVkIiB0eXBl -PSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQ -cmlvcml0eSIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94 -czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ3Jl -YXRlU3Vic2NyaXB0aW9uUmVxdWVzdCIgdHlwZT0idG5zOkNyZWF0ZVN1YnNjcmlwdGlvblJlcXVl -c3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNyZWF0ZVN1YnNjcmlwdGlvblJlc3Bv -bnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25z -ZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9 -InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJSZXZpc2VkUHVibGlzaGluZ0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRMaWZldGltZUNvdW50IiB0eXBl -PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iUmV2aXNlZE1heEtlZXBBbGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9IkNyZWF0ZVN1YnNjcmlwdGlvblJlc3BvbnNlIiB0eXBlPSJ0bnM6Q3Jl -YXRlU3Vic2NyaXB0aW9uUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1v -ZGlmeVN1YnNjcmlwdGlvblJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vi -c2NyaXB0aW9uSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWwiIHR5cGU9Inhz -OmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVz -dGVkTGlmZXRpbWVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50IiB0eXBl -PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iTWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2giIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQcmlvcml0eSIgdHlwZT0ieHM6 -dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZ5U3Vic2NyaXB0aW9uUmVx -dWVzdCIgdHlwZT0idG5zOk1vZGlmeVN1YnNjcmlwdGlvblJlcXVlc3QiIC8+DQoNCiAgPHhzOmNv -bXBsZXhUeXBlIG5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvblJlc3BvbnNlIj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5z -OlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFB1Ymxpc2hpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91 -YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkTGlm -ZXRpbWVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRNYXhLZWVwQWxpdmVDb3VudCIgdHlwZT0ieHM6dW5z -aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZnlTdWJzY3JpcHRpb25SZXNwb25z -ZSIgdHlwZT0idG5zOk1vZGlmeVN1YnNjcmlwdGlvblJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJTZXRQdWJsaXNoaW5nTW9kZVJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5j -ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1 -ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iUHVibGlzaGluZ0VuYWJsZWQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vy -cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkcyIgdHlwZT0i -dWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv -eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNl -dFB1Ymxpc2hpbmdNb2RlUmVxdWVzdCIgdHlwZT0idG5zOlNldFB1Ymxpc2hpbmdNb2RlUmVxdWVz -dCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2V0UHVibGlzaGluZ01vZGVSZXNwb25z -ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VI -ZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RP -ZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJ -bmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNldFB1Ymxpc2hpbmdN -b2RlUmVzcG9uc2UiIHR5cGU9InRuczpTZXRQdWJsaXNoaW5nTW9kZVJlc3BvbnNlIiAvPg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJOb3RpZmljYXRpb25NZXNzYWdlIj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXF1ZW5jZU51bWJlciIgdHlwZT0ieHM6 -dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1 -Ymxpc2hUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iTm90aWZpY2F0aW9uRGF0YSIgdHlwZT0idWE6TGlzdE9mRXh0ZW5zaW9u -T2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu -Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik5vdGlmaWNhdGlv -bk1lc3NhZ2UiIHR5cGU9InRuczpOb3RpZmljYXRpb25NZXNzYWdlIiAvPg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJOb3RpZmljYXRpb25EYXRhIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg -PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -Tm90aWZpY2F0aW9uRGF0YSIgdHlwZT0idG5zOk5vdGlmaWNhdGlvbkRhdGEiIC8+DQoNCiAgPHhz -OmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFDaGFuZ2VOb3RpZmljYXRpb24iPg0KICAgIDx4czpjb21w -bGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6 -Tm90aWZpY2F0aW9uRGF0YSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtcyIgdHlwZT0idG5zOkxpc3RPZk1vbml0b3JlZEl0 -ZW1Ob3RpZmljYXRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFn -bm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94 -czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRl -bnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRhdGFDaGFuZ2VO -b3RpZmljYXRpb24iIHR5cGU9InRuczpEYXRhQ2hhbmdlTm90aWZpY2F0aW9uIiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJNb25pdG9yZWRJdGVtTm90aWZpY2F0aW9uIj4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRIYW5kbGUiIHR5cGU9Inhz -OnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJW -YWx1ZSIgdHlwZT0idWE6RGF0YVZhbHVlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9Ik1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iIHR5cGU9InRuczpNb25pdG9yZWRJdGVt -Tm90aWZpY2F0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb25pdG9y -ZWRJdGVtTm90aWZpY2F0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJNb25pdG9yZWRJdGVtTm90aWZpY2F0aW9uIiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRl -bU5vdGlmaWNhdGlvbiIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiIgdHlwZT0i -dG5zOkxpc3RPZk1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hz -OmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkV2ZW50Tm90aWZpY2F0aW9uTGlz -dCI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0 -ZW5zaW9uIGJhc2U9InRuczpOb3RpZmljYXRpb25EYXRhIj4NCiAgICAgICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50cyIgdHlwZT0idG5zOkxpc3RPZkV2 -ZW50RmllbGRMaXN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8 -L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29u -dGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnROb3Rp -ZmljYXRpb25MaXN0IiB0eXBlPSJ0bnM6RXZlbnROb3RpZmljYXRpb25MaXN0IiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJFdmVudEZpZWxkTGlzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50SGFuZGxlIiB0eXBlPSJ4czp1bnNpZ25lZElu -dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnRGaWVsZHMi -IHR5cGU9InVhOkxpc3RPZlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg -bmFtZT0iRXZlbnRGaWVsZExpc3QiIHR5cGU9InRuczpFdmVudEZpZWxkTGlzdCIgLz4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRXZlbnRGaWVsZExpc3QiPg0KICAgIDx4czpzZXF1 -ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50RmllbGRMaXN0IiB0eXBlPSJ0bnM6 -RXZlbnRGaWVsZExpc3QiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkV2ZW50RmllbGRMaXN0IiB0eXBlPSJ0bnM6TGlzdE9m -RXZlbnRGaWVsZExpc3QiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNv -bXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlFdmVudEZpZWxkTGlzdCI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnRGaWVsZHMiIHR5cGU9InVhOkxpc3RPZlZh -cmlhbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeUV2ZW50 -RmllbGRMaXN0IiB0eXBlPSJ0bnM6SGlzdG9yeUV2ZW50RmllbGRMaXN0IiAvPg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZIaXN0b3J5RXZlbnRGaWVsZExpc3QiPg0KICAgIDx4czpz -ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlFdmVudEZpZWxkTGlzdCIg -dHlwZT0idG5zOkhpc3RvcnlFdmVudEZpZWxkTGlzdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9 -InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mSGlzdG9yeUV2ZW50Rmll -bGRMaXN0IiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeUV2ZW50RmllbGRMaXN0IiBuaWxsYWJsZT0i -dHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTdGF0dXNDaGFu -Z2VOb3RpZmljYXRpb24iPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0K -ICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm90aWZpY2F0aW9uRGF0YSI+DQogICAgICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXMiIHR5cGU9 -InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJEaWFnbm9zdGljSW5mbyIgdHlwZT0idWE6RGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hz -OmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDaGFuZ2VOb3RpZmljYXRpb24iIHR5cGU9InRu -czpTdGF0dXNDaGFuZ2VOb3RpZmljYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 -IlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBt -aW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXF1ZW5jZU51bWJlciIg -dHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNl -Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25B -Y2tub3dsZWRnZW1lbnQiIHR5cGU9InRuczpTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiIC8+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlN1YnNjcmlwdGlvbkFja25vd2xlZGdl -bWVudCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2Ny -aXB0aW9uQWNrbm93bGVkZ2VtZW50IiB0eXBlPSJ0bnM6U3Vic2NyaXB0aW9uQWNrbm93bGVkZ2Vt -ZW50IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJMaXN0T2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiIHR5cGU9InRuczpMaXN0 -T2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1l -bnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlB1Ymxpc2hSZXF1ZXN0Ij4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0 -bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudHMiIHR5cGU9InRu -czpMaXN0T2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaFJlcXVlc3QiIHR5cGU9InRuczpQdWJsaXNoUmVxdWVz -dCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUHVibGlzaFJlc3BvbnNlIj4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlw -ZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9InhzOnVuc2lnbmVk -SW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdmFpbGFibGVT -ZXF1ZW5jZU51bWJlcnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vcmVOb3RpZmljYXRpb25z -IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJOb3RpZmljYXRpb25NZXNzYWdlIiB0eXBlPSJ0bnM6Tm90aWZpY2F0aW9uTWVzc2FnZSIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5 -cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9IlB1Ymxpc2hSZXNwb25zZSIgdHlwZT0idG5zOlB1Ymxpc2hSZXNwb25zZSIgLz4N -Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVwdWJsaXNoUmVxdWVzdCI+DQogICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5z -OlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1p -bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldHJhbnNtaXRTZXF1ZW5j -ZU51bWJlciIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hz -OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZXB1 -Ymxpc2hSZXF1ZXN0IiB0eXBlPSJ0bnM6UmVwdWJsaXNoUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iUmVwdWJsaXNoUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg +czplbGVtZW50IG5hbWU9IlNldE1vbml0b3JpbmdNb2RlUmVzcG9uc2UiIHR5cGU9InRuczpTZXRN +b25pdG9yaW5nTW9kZVJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXRU +cmlnZ2VyaW5nUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRp +b25JZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlRyaWdnZXJpbmdJdGVtSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaW5rc1RvQWRkIiB0eXBlPSJ1 +YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJMaW5rc1RvUmVtb3ZlIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0VHJpZ2dlcmluZ1JlcXVlc3Qi +IHR5cGU9InRuczpTZXRUcmlnZ2VyaW5nUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iU2V0VHJpZ2dlcmluZ1Jlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVy +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iQWRkUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZERpYWdub3N0aWNJ +bmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZW1vdmVSZXN1bHRzIiB0eXBl +PSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVtb3ZlRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpM +aXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJTZXRUcmlnZ2VyaW5nUmVzcG9uc2UiIHR5cGU9InRuczpTZXRUcmlnZ2VyaW5nUmVzcG9uc2Ui +IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVxdWVz +dCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhl +YWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlwZT0ieHM6 +dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1v +bml0b3JlZEl0ZW1JZHMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVNb25pdG9yZWRJdGVtc1JlcXVlc3QiIHR5cGU9InRu +czpEZWxldGVNb25pdG9yZWRJdGVtc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg ICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VI ZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJOb3RpZmljYXRpb25NZXNzYWdlIiB0eXBlPSJ0bnM6Tm90aWZpY2F0aW9uTWVzc2Fn -ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZXB1Ymxpc2hSZXNwb25z -ZSIgdHlwZT0idG5zOlJlcHVibGlzaFJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJUcmFuc2ZlclJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXZhaWxhYmxlU2VxdWVuY2VOdW1iZXJzIiB0eXBl -PSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -VHJhbnNmZXJSZXN1bHQiIHR5cGU9InRuczpUcmFuc2ZlclJlc3VsdCIgLz4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iTGlzdE9mVHJhbnNmZXJSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zZmVyUmVzdWx0IiB0eXBlPSJ0bnM6VHJhbnNm -ZXJSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9Ikxpc3RPZlRyYW5zZmVyUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mVHJhbnNm -ZXJSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IlRyYW5zZmVyU3Vic2NyaXB0aW9uc1JlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5j -ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1 -ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uSWRzIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZW5k -SW5pdGlhbFZhbHVlcyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwv -eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRy -YW5zZmVyU3Vic2NyaXB0aW9uc1JlcXVlc3QiIHR5cGU9InRuczpUcmFuc2ZlclN1YnNjcmlwdGlv -bnNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJUcmFuc2ZlclN1YnNjcmlw -dGlvbnNSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5 -cGU9InRuczpMaXN0T2ZUcmFuc2ZlclJlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6 -TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iVHJhbnNmZXJTdWJzY3JpcHRpb25zUmVzcG9uc2UiIHR5cGU9InRuczpUcmFuc2ZlclN1YnNj -cmlwdGlvbnNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlU3Vi -c2NyaXB0aW9uc1JlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0 -aW9uSWRzIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iRGVsZXRlU3Vic2NyaXB0aW9uc1JlcXVlc3QiIHR5cGU9InRuczpEZWxldGVT -dWJzY3JpcHRpb25zUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRl -U3Vic2NyaXB0aW9uc1Jlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVz -dWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0i -dWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg -bmFtZT0iRGVsZXRlU3Vic2NyaXB0aW9uc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6RGVsZXRlU3Vic2Ny -aXB0aW9uc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCdWlsZEluZm8i -Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlByb2R1Y3RVcmki -IHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9Ik1hbnVmYWN0dXJlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBy -b2R1Y3ROYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTb2Z0d2FyZVZlcnNpb24iIHR5cGU9InhzOnN0 -cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IkJ1aWxkTnVtYmVyIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCdWlsZERhdGUiIHR5cGU9Inhz -OmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnVpbGRJbmZvIiB0eXBlPSJ0bnM6QnVp -bGRJbmZvIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJSZWR1bmRhbmN5U3VwcG9ydCI+ -DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVy -YXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ29s -ZF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJXYXJtXzIiIC8+DQogICAgICA8 -eHM6ZW51bWVyYXRpb24gdmFsdWU9IkhvdF8zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh -bHVlPSJUcmFuc3BhcmVudF80IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJIb3RB -bmRNaXJyb3JlZF81IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVkdW5kYW5jeVN1cHBvcnQiIHR5cGU9InRuczpSZWR1 -bmRhbmN5U3VwcG9ydCIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iU2VydmVyU3RhdGUi -Pg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1l -cmF0aW9uIHZhbHVlPSJSdW5uaW5nXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 -IkZhaWxlZF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb0NvbmZpZ3VyYXRp -b25fMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU3VzcGVuZGVkXzMiIC8+DQog -ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNodXRkb3duXzQiIC8+DQogICAgICA8eHM6ZW51 -bWVyYXRpb24gdmFsdWU9IlRlc3RfNSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i -Q29tbXVuaWNhdGlvbkZhdWx0XzYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVu -a25vd25fNyIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9IlNlcnZlclN0YXRlIiB0eXBlPSJ0bnM6U2VydmVyU3RhdGUiIC8+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZHVuZGFudFNlcnZlckRhdGFUeXBlIj4NCiAg -ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJJZCIgdHlwZT0i +dCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0lu +Zm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6 +RGVsZXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iQ3JlYXRlU3Vic2NyaXB0aW9uUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIi +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJSZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJz +PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTGlmZXRpbWVDb3VudCIg +dHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4Tm90aWZpY2F0aW9u +c1BlclB1Ymxpc2giIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoaW5nRW5hYmxlZCIgdHlwZT0ieHM6Ym9vbGVhbiIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJpb3JpdHkiIHR5cGU9 +InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZVN1YnNjcmlwdGlv +blJlcXVlc3QiIHR5cGU9InRuczpDcmVhdGVTdWJzY3JpcHRpb25SZXF1ZXN0IiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJDcmVhdGVTdWJzY3JpcHRpb25SZXNwb25zZSI+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9 +InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZElu +dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFB1Ymxp +c2hpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkTGlmZXRpbWVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJ +bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRNYXhL +ZWVwQWxpdmVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg +ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJDcmVhdGVTdWJzY3JpcHRpb25SZXNwb25zZSIgdHlwZT0idG5zOkNyZWF0ZVN1YnNjcmlwdGlv +blJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb2RpZnlTdWJzY3JpcHRp +b25SZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS +ZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0 +eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iUmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9j +Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZExpZmV0aW1lQ291 +bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJSZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJ +bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heE5vdGlmaWNh +dGlvbnNQZXJQdWJsaXNoIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJpb3JpdHkiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIg +bWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvblJlcXVlc3QiIHR5cGU9InRu +czpNb2RpZnlTdWJzY3JpcHRpb25SZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJNb2RpZnlTdWJzY3JpcHRpb25SZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRl +ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlJldmlzZWRQdWJsaXNoaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJz +PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZExpZmV0aW1lQ291bnQiIHR5 +cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJSZXZpc2VkTWF4S2VlcEFsaXZlQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZ5U3Vic2NyaXB0aW9uUmVzcG9uc2UiIHR5cGU9InRuczpN +b2RpZnlTdWJzY3JpcHRpb25SZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i +U2V0UHVibGlzaGluZ01vZGVSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1 +Ymxpc2hpbmdFbmFibGVkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZHMiIHR5cGU9InVhOkxpc3RPZlVJbnQz +MiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRQdWJsaXNoaW5nTW9k +ZVJlcXVlc3QiIHR5cGU9InRuczpTZXRQdWJsaXNoaW5nTW9kZVJlcXVlc3QiIC8+DQoNCiAgPHhz +OmNvbXBsZXhUeXBlIG5hbWU9IlNldFB1Ymxpc2hpbmdNb2RlUmVzcG9uc2UiPg0KICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0 +bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +RGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRQdWJsaXNoaW5nTW9kZVJlc3BvbnNlIiB0 +eXBlPSJ0bnM6U2V0UHVibGlzaGluZ01vZGVSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iTm90aWZpY2F0aW9uTWVzc2FnZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iU2VxdWVuY2VOdW1iZXIiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoVGltZSIgdHlw +ZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +Ik5vdGlmaWNhdGlvbkRhdGEiIHR5cGU9InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOb3RpZmljYXRpb25NZXNzYWdlIiB0eXBl +PSJ0bnM6Tm90aWZpY2F0aW9uTWVzc2FnZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i +Tm90aWZpY2F0aW9uRGF0YSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik5vdGlmaWNhdGlvbkRh +dGEiIHR5cGU9InRuczpOb3RpZmljYXRpb25EYXRhIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu +YW1lPSJEYXRhQ2hhbmdlTm90aWZpY2F0aW9uIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4 +ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk5vdGlmaWNhdGlvbkRh +dGEiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +TW9uaXRvcmVkSXRlbXMiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtTm90aWZpY2F0aW9u +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQog +ICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhQ2hhbmdlTm90aWZpY2F0aW9uIiB0 +eXBlPSJ0bnM6RGF0YUNoYW5nZU5vdGlmaWNhdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iTW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50SGFuZGxlIiB0eXBlPSJ4czp1bnNpZ25lZEludCIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUiIHR5cGU9InVh +OkRhdGFWYWx1ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl +cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9y +ZWRJdGVtTm90aWZpY2F0aW9uIiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbU5vdGlmaWNh +dGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRv +cmVkSXRlbU5vdGlmaWNhdGlvbiIgdHlwZT0idG5zOk1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24i +IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h +bWU9Ikxpc3RPZk1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iIHR5cGU9InRuczpMaXN0T2ZNb25p +dG9yZWRJdGVtTm90aWZpY2F0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJFdmVudE5vdGlmaWNhdGlvbkxpc3QiPg0KICAgIDx4czpj +b21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0 +bnM6Tm90aWZpY2F0aW9uRGF0YSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJFdmVudHMiIHR5cGU9InRuczpMaXN0T2ZFdmVudEZpZWxkTGlzdCIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4N +CiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkV2ZW50Tm90aWZpY2F0aW9uTGlzdCIg +dHlwZT0idG5zOkV2ZW50Tm90aWZpY2F0aW9uTGlzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iRXZlbnRGaWVsZExpc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IkNsaWVudEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i +MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50RmllbGRzIiB0eXBlPSJ1YTpMaXN0 +T2ZWYXJpYW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx +dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkV2ZW50Rmll +bGRMaXN0IiB0eXBlPSJ0bnM6RXZlbnRGaWVsZExpc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9Ikxpc3RPZkV2ZW50RmllbGRMaXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJFdmVudEZpZWxkTGlzdCIgdHlwZT0idG5zOkV2ZW50RmllbGRMaXN0 +IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJMaXN0T2ZFdmVudEZpZWxkTGlzdCIgdHlwZT0idG5zOkxpc3RPZkV2ZW50RmllbGRMaXN0 +IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJIaXN0b3J5RXZlbnRGaWVsZExpc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkV2ZW50RmllbGRzIiB0eXBlPSJ1YTpMaXN0T2ZWYXJpYW50IiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlFdmVudEZpZWxkTGlzdCIgdHlw +ZT0idG5zOkhpc3RvcnlFdmVudEZpZWxkTGlzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iTGlzdE9mSGlzdG9yeUV2ZW50RmllbGRMaXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5RXZlbnRGaWVsZExpc3QiIHR5cGU9InRuczpIaXN0 +b3J5RXZlbnRGaWVsZExpc3QiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkhpc3RvcnlFdmVudEZpZWxkTGlzdCIgdHlwZT0i +dG5zOkxpc3RPZkhpc3RvcnlFdmVudEZpZWxkTGlzdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxl +bWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU3RhdHVzQ2hhbmdlTm90aWZpY2F0aW9u +Ij4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRl +bnNpb24gYmFzZT0idG5zOk5vdGlmaWNhdGlvbkRhdGEiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+ +DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzIiB0eXBlPSJ1YTpTdGF0dXNDb2Rl +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3Rp +Y0luZm8iIHR5cGU9InVhOkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQog +ICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iU3RhdHVzQ2hhbmdlTm90aWZpY2F0aW9uIiB0eXBlPSJ0bnM6U3RhdHVzQ2hhbmdl +Tm90aWZpY2F0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTdWJzY3JpcHRpb25B +Y2tub3dsZWRnZW1lbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VxdWVuY2VOdW1iZXIiIHR5cGU9InhzOnVuc2ln +bmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w +bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50 +IiB0eXBlPSJ0bnM6U3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50IiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJMaXN0T2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiPg0KICAgIDx4 +czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbkFja25vd2xl +ZGdlbWVudCIgdHlwZT0idG5zOlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudCIgbWluT2NjdXJz +PSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz +ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9m +U3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50IiB0eXBlPSJ0bnM6TGlzdE9mU3Vic2NyaXB0aW9u +QWNrbm93bGVkZ2VtZW50IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJQdWJsaXNoUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFk +ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnRzIiB0eXBlPSJ0bnM6TGlzdE9mU3Vic2Ny +aXB0aW9uQWNrbm93bGVkZ2VtZW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h +bWU9IlB1Ymxpc2hSZXF1ZXN0IiB0eXBlPSJ0bnM6UHVibGlzaFJlcXVlc3QiIC8+DQoNCiAgPHhz +OmNvbXBsZXhUeXBlIG5hbWU9IlB1Ymxpc2hSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25z +ZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz +PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXZhaWxhYmxlU2VxdWVuY2VOdW1iZXJz +IiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb3JlTm90aWZpY2F0aW9ucyIgdHlwZT0ieHM6Ym9v +bGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm90aWZpY2F0 +aW9uTWVzc2FnZSIgdHlwZT0idG5zOk5vdGlmaWNhdGlvbk1lc3NhZ2UiIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBl +PSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZE +aWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJs +aXNoUmVzcG9uc2UiIHR5cGU9InRuczpQdWJsaXNoUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9IlJlcHVibGlzaFJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVy +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXRyYW5zbWl0U2VxdWVuY2VOdW1iZXIiIHR5cGU9 +InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVwdWJsaXNoUmVxdWVzdCIg +dHlwZT0idG5zOlJlcHVibGlzaFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +IlJlcHVibGlzaFJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm90aWZp +Y2F0aW9uTWVzc2FnZSIgdHlwZT0idG5zOk5vdGlmaWNhdGlvbk1lc3NhZ2UiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVwdWJsaXNoUmVzcG9uc2UiIHR5cGU9InRuczpS +ZXB1Ymxpc2hSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVHJhbnNmZXJS +ZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1 +c0NvZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkF2YWlsYWJsZVNlcXVlbmNlTnVtYmVycyIgdHlwZT0idWE6TGlzdE9mVUlu +dDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRyYW5zZmVyUmVzdWx0 +IiB0eXBlPSJ0bnM6VHJhbnNmZXJSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +Ikxpc3RPZlRyYW5zZmVyUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJUcmFuc2ZlclJlc3VsdCIgdHlwZT0idG5zOlRyYW5zZmVyUmVzdWx0IiBtaW5P +Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM +aXN0T2ZUcmFuc2ZlclJlc3VsdCIgdHlwZT0idG5zOkxpc3RPZlRyYW5zZmVyUmVzdWx0IiBuaWxs +YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJUcmFu +c2ZlclN1YnNjcmlwdGlvbnNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1 +YnNjcmlwdGlvbklkcyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VuZEluaXRpYWxWYWx1ZXMi +IHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2ZlclN1YnNjcmlw +dGlvbnNSZXF1ZXN0IiB0eXBlPSJ0bnM6VHJhbnNmZXJTdWJzY3JpcHRpb25zUmVxdWVzdCIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVHJhbnNmZXJTdWJzY3JpcHRpb25zUmVzcG9uc2Ui +Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVh +ZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ0bnM6TGlzdE9m +VHJhbnNmZXJSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0 +aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRyYW5zZmVyU3Vi +c2NyaXB0aW9uc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6VHJhbnNmZXJTdWJzY3JpcHRpb25zUmVzcG9u +c2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZVN1YnNjcmlwdGlvbnNSZXF1 +ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0 +SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkcyIgdHlwZT0i +dWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRl +bGV0ZVN1YnNjcmlwdGlvbnNSZXF1ZXN0IiB0eXBlPSJ0bnM6RGVsZXRlU3Vic2NyaXB0aW9uc1Jl +cXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZVN1YnNjcmlwdGlvbnNS +ZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVz +cG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVh +Okxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdu +b3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx +dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZVN1 +YnNjcmlwdGlvbnNSZXNwb25zZSIgdHlwZT0idG5zOkRlbGV0ZVN1YnNjcmlwdGlvbnNSZXNwb25z +ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQnVpbGRJbmZvIj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQcm9kdWN0VXJpIiB0eXBlPSJ4czpzdHJp +bmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJNYW51ZmFjdHVyZXJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQcm9kdWN0TmFtZSIgdHlw +ZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iU29mdHdhcmVWZXJzaW9uIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCdWlsZE51 +bWJlciIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnVpbGREYXRlIiB0eXBlPSJ4czpkYXRlVGltZSIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9IkJ1aWxkSW5mbyIgdHlwZT0idG5zOkJ1aWxkSW5mbyIgLz4NCg0K +ICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iUmVkdW5kYW5jeVN1cHBvcnQiPg0KICAgIDx4czpyZXN0 +cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJO +b25lXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkNvbGRfMSIgLz4NCiAgICAg +IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iV2FybV8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u +IHZhbHVlPSJIb3RfMyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVHJhbnNwYXJl +bnRfNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSG90QW5kTWlycm9yZWRfNSIg +Lz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9IlJlZHVuZGFuY3lTdXBwb3J0IiB0eXBlPSJ0bnM6UmVkdW5kYW5jeVN1cHBvcnQi +IC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IlNlcnZlclN0YXRlIj4NCiAgICA8eHM6cmVz +dHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i +UnVubmluZ18wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJGYWlsZWRfMSIgLz4N +CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9Db25maWd1cmF0aW9uXzIiIC8+DQogICAg +ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN1c3BlbmRlZF8zIiAvPg0KICAgICAgPHhzOmVudW1l +cmF0aW9uIHZhbHVlPSJTaHV0ZG93bl80IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl +PSJUZXN0XzUiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkNvbW11bmljYXRpb25G +YXVsdF82IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVbmtub3duXzciIC8+DQog +ICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJTZXJ2ZXJTdGF0ZSIgdHlwZT0idG5zOlNlcnZlclN0YXRlIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVySWQiIHR5cGU9InhzOnN0cmluZyIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNl +cnZpY2VMZXZlbCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJTdGF0ZSIgdHlwZT0idG5zOlNlcnZlclN0YXRlIiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N +CiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVkdW5kYW50U2VydmVyRGF0YVR5cGUiIHR5cGU9InRuczpS +ZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlz +dE9mUmVkdW5kYW50U2VydmVyRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlJlZHVuZGFudFNlcnZlckRhdGFUeXBlIiB0eXBlPSJ0bnM6UmVkdW5k +YW50U2VydmVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlJlZHVuZGFudFNlcnZlckRhdGFUeXBlIiB0eXBl +PSJ0bnM6TGlzdE9mUmVkdW5kYW50U2VydmVyRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hz +OmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVuZHBvaW50VXJsTGlzdERhdGFU +eXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2lu +dFVybExpc3QiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVybExpc3REYXRhVHlwZSIgdHlwZT0idG5zOkVuZHBvaW50 +VXJsTGlzdERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZFbmRw +b2ludFVybExpc3REYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iRW5kcG9pbnRVcmxMaXN0RGF0YVR5cGUiIHR5cGU9InRuczpFbmRwb2ludFVybExp +c3REYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iTGlzdE9mRW5kcG9pbnRVcmxMaXN0RGF0YVR5cGUiIHR5cGU9InRuczpM +aXN0T2ZFbmRwb2ludFVybExpc3REYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVu +dD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTmV0d29ya0dyb3VwRGF0YVR5cGUiPg0KICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlclVyaSIgdHlwZT0i eHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iU2VydmljZUxldmVsIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vy -cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlclN0YXRlIiB0eXBlPSJ0bnM6 -U2VydmVyU3RhdGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlw -ZSIgdHlwZT0idG5zOlJlZHVuZGFudFNlcnZlckRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4 -VHlwZSBuYW1lPSJMaXN0T2ZSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVkdW5kYW50U2VydmVyRGF0YVR5cGUiIHR5 -cGU9InRuczpSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9 -InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUmVkdW5kYW50U2VydmVy -RGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIgbmlsbGFi -bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRW5kcG9p -bnRVcmxMaXN0RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IkVuZHBvaW50VXJsTGlzdCIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIiB0eXBl -PSJ0bnM6RW5kcG9pbnRVcmxMaXN0RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h -bWU9Ikxpc3RPZkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVybExpc3REYXRhVHlwZSIgdHlwZT0idG5z -OkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3Vu -ZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbmRwb2ludFVybExpc3REYXRhVHlw -ZSIgdHlwZT0idG5zOkxpc3RPZkVuZHBvaW50VXJsTGlzdERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1 -ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJOZXR3b3JrR3JvdXBE +ZW1lbnQgbmFtZT0iTmV0d29ya1BhdGhzIiB0eXBlPSJ0bnM6TGlzdE9mRW5kcG9pbnRVcmxMaXN0 +RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTmV0d29ya0dy +b3VwRGF0YVR5cGUiIHR5cGU9InRuczpOZXR3b3JrR3JvdXBEYXRhVHlwZSIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTmV0d29ya0dyb3VwRGF0YVR5cGUiPg0KICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5ldHdvcmtHcm91cERhdGFUeXBlIiB0 +eXBlPSJ0bnM6TmV0d29ya0dyb3VwRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1 +bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk5ldHdvcmtHcm91cERhdGFU +eXBlIiB0eXBlPSJ0bnM6TGlzdE9mTmV0d29ya0dyb3VwRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVl +Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNhbXBsaW5nSW50ZXJ2 +YWxEaWFnbm9zdGljc0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJTYW1wbGluZ0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0i +MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1Db3VudCIgdHlwZT0i +eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +Ik1heE1vbml0b3JlZEl0ZW1Db3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i +MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2FibGVkTW9uaXRvcmVkSXRlbUNvdW50 +IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVu +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNhbXBsaW5nSW50 +ZXJ2YWxEaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U2FtcGxpbmdJbnRlcnZhbERpYWdu +b3N0aWNzRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlNhbXBs +aW5nSW50ZXJ2YWxEaWFnbm9zdGljc0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJTYW1wbGluZ0ludGVydmFsRGlhZ25vc3RpY3NEYXRhVHlwZSIg +dHlwZT0idG5zOlNhbXBsaW5nSW50ZXJ2YWxEaWFnbm9zdGljc0RhdGFUeXBlIiBtaW5PY2N1cnM9 +IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl +cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZT +YW1wbGluZ0ludGVydmFsRGlhZ25vc3RpY3NEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlNhbXBs +aW5nSW50ZXJ2YWxEaWFnbm9zdGljc0RhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVt +ZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXJ2ZXJEaWFnbm9zdGljc1N1bW1hcnlE YXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vy -dmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOZXR3b3JrUGF0aHMiIHR5cGU9InRuczpMaXN0T2ZF -bmRwb2ludFVybExpc3REYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +dmVyVmlld0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudFNlc3Npb25Db3VudCIgdHlwZT0ieHM6dW5zaWdu +ZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkN1bXVsYXRl +ZFNlc3Npb25Db3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5UmVqZWN0ZWRTZXNzaW9uQ291bnQiIHR5cGU9 +InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJSZWplY3RlZFNlc3Npb25Db3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i +MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlc3Npb25UaW1lb3V0Q291bnQiIHR5cGU9 +InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJTZXNzaW9uQWJvcnRDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkN1cnJlbnRTdWJzY3JpcHRpb25Db3VudCIgdHlw +ZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IkN1bXVsYXRlZFN1YnNjcmlwdGlvbkNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGluZ0ludGVydmFs +Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJTZWN1cml0eVJlamVjdGVkUmVxdWVzdHNDb3VudCIgdHlwZT0ieHM6dW5z +aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlamVj +dGVkUmVxdWVzdHNDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4N CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJOZXR3b3JrR3JvdXBEYXRhVHlwZSIgdHlwZT0idG5zOk5ldHdvcmtHcm91cERhdGFUeXBl -IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZOZXR3b3JrR3JvdXBEYXRhVHlw -ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmV0d29ya0dy -b3VwRGF0YVR5cGUiIHR5cGU9InRuczpOZXR3b3JrR3JvdXBEYXRhVHlwZSIgbWluT2NjdXJzPSIw -IiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 -ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTmV0 -d29ya0dyb3VwRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZOZXR3b3JrR3JvdXBEYXRhVHlwZSIg -bmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -U2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNhbXBsaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJs -ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRl -bUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iTWF4TW9uaXRvcmVkSXRlbUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZElu -dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzYWJsZWRNb25p -dG9yZWRJdGVtQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTYW1wbGlu -Z0ludGVydmFsRGlhZ25vc3RpY3NEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt -ZT0iTGlzdE9mU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpz -ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNhbXBsaW5nSW50ZXJ2YWxEaWFnbm9z -dGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5 -cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9Ikxpc3RPZlNhbXBsaW5nSW50ZXJ2YWxEaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0 -bnM6TGlzdE9mU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiIG5pbGxhYmxlPSJ0 -cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlcnZlckRpYWdu -b3N0aWNzU3VtbWFyeURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJTZXJ2ZXJWaWV3Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1 -cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50U2Vzc2lvbkNvdW50IiB0 -eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iQ3VtdWxhdGVkU2Vzc2lvbkNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlSZWplY3RlZFNlc3Np -b25Db3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlJlamVjdGVkU2Vzc2lvbkNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZElu -dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvblRpbWVv -dXRDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlNlc3Npb25BYm9ydENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudFN1YnNjcmlw -dGlvbkNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iQ3VtdWxhdGVkU3Vic2NyaXB0aW9uQ291bnQiIHR5cGU9InhzOnVu -c2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJs -aXNoaW5nSW50ZXJ2YWxDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5UmVqZWN0ZWRSZXF1ZXN0c0NvdW50 -IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iUmVqZWN0ZWRSZXF1ZXN0c0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9IlNlcnZlckRpYWdub3N0aWNzU3VtbWFyeURhdGFUeXBlIiB0eXBl -PSJ0bnM6U2VydmVyRGlhZ25vc3RpY3NTdW1tYXJ5RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9IlNlcnZlclN0YXR1c0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFydFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDdXJyZW50VGltZSIgdHlwZT0i -eHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0 -YXRlIiB0eXBlPSJ0bnM6U2VydmVyU3RhdGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IkJ1aWxkSW5mbyIgdHlwZT0idG5zOkJ1aWxkSW5mbyIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY29uZHNUaWxs -U2h1dGRvd24iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJTaHV0ZG93blJlYXNvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJTdGF0dXNEYXRhVHlw -ZSIgdHlwZT0idG5zOlNlcnZlclN0YXR1c0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJTZXNzaW9uRGlhZ25vc3RpY3NEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbklkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNz -aW9uTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50RGVzY3JpcHRpb24iIHR5cGU9InRuczpB -cHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRw -b2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJp -bmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJBY3R1YWxTZXNzaW9uVGltZW91dCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhSZXNwb25zZU1lc3NhZ2VTaXplIiB0eXBl +YW1lPSJTZXJ2ZXJEaWFnbm9zdGljc1N1bW1hcnlEYXRhVHlwZSIgdHlwZT0idG5zOlNlcnZlckRp +YWdub3N0aWNzU3VtbWFyeURhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJT +ZXJ2ZXJTdGF0dXNEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iU3RhcnRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0ZSIgdHlwZT0idG5z +OlNlcnZlclN0YXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJC +dWlsZEluZm8iIHR5cGU9InRuczpCdWlsZEluZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWNvbmRzVGlsbFNodXRkb3duIiB0eXBl PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iQ2xpZW50Q29ubmVjdGlvblRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRMYXN0Q29udGFjdFRpbWUiIHR5cGU9 -InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJD -dXJyZW50U3Vic2NyaXB0aW9uc0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudE1vbml0b3JlZEl0ZW1zQ291 -bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJDdXJyZW50UHVibGlzaFJlcXVlc3RzSW5RdWV1ZSIgdHlwZT0ieHM6dW5zaWdu -ZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRvdGFsUmVx -dWVzdENvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVuYXV0aG9yaXpl -ZFJlcXVlc3RDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlJlYWRDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVy -RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJIaXN0b3J5UmVhZENvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRh -VHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IldyaXRlQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5P +ZT0iU2h1dGRvd25SZWFzb24iIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyU3RhdHVzRGF0YVR5cGUiIHR5cGU9InRuczpT +ZXJ2ZXJTdGF0dXNEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2Vzc2lv +bkRpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlNlc3Npb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbk5hbWUiIHR5cGU9 +InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkNsaWVudERlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6QXBwbGljYXRpb25EZXNj +cmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlNlcnZlclVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5kcG9pbnRVcmwiIHR5cGU9 +InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkxvY2FsZUlkcyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWN0dWFsU2Vz +c2lvblRpbWVvdXQiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iTWF4UmVzcG9uc2VNZXNzYWdlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJ +bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVudENvbm5l +Y3Rpb25UaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iQ2xpZW50TGFzdENvbnRhY3RUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudFN1YnNjcmlw +dGlvbnNDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IkN1cnJlbnRNb25pdG9yZWRJdGVtc0NvdW50IiB0eXBlPSJ4czp1 +bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3Vy +cmVudFB1Ymxpc2hSZXF1ZXN0c0luUXVldWUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1 +cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUb3RhbFJlcXVlc3RDb3VudCIgdHlw +ZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbmF1dGhvcml6ZWRSZXF1ZXN0Q291bnQi +IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJSZWFkQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5P Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlz -dG9yeVVwZGF0ZUNvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNhbGxD -b3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVNb25pdG9yZWRJ -dGVtc0NvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmeU1vbml0 -b3JlZEl0ZW1zQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0TW9u -aXRvcmluZ01vZGVDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRU -cmlnZ2VyaW5nQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRl -TW9uaXRvcmVkSXRlbXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJD -cmVhdGVTdWJzY3JpcHRpb25Db3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUi -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJNb2RpZnlTdWJzY3JpcHRpb25Db3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5 -cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJTZXRQdWJsaXNoaW5nTW9kZUNvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRh -VHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlB1Ymxpc2hDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS -ZXB1Ymxpc2hDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2Zl -clN1YnNjcmlwdGlvbnNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJE -ZWxldGVTdWJzY3JpcHRpb25zQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBl -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iQWRkTm9kZXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRS -ZWZlcmVuY2VzQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRl -Tm9kZXNDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVSZWZl -cmVuY2VzQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlQ291 +dG9yeVJlYWRDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJXcml0ZUNv +dW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlVcGRhdGVDb3Vu +dCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDYWxsQ291bnQiIHR5cGU9InRu +czpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3JlYXRlTW9uaXRvcmVkSXRlbXNDb3VudCIgdHlw +ZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZnlNb25pdG9yZWRJdGVtc0NvdW50 +IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNldE1vbml0b3JpbmdNb2RlQ291 bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlTmV4dENvdW50IiB0 -eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9O -b2RlSWRzQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlGaXJz -dENvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5TmV4dENvdW50 +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0VHJpZ2dlcmluZ0NvdW50 IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyTm9kZXNDb3VudCIg -dHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbnJlZ2lzdGVyTm9kZXNDb3VudCIg -dHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTZXNz -aW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlz -dE9mU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlNlc3Npb25EaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6 -U2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJv -dW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlNlc3Npb25EaWFnbm9zdGljc0Rh -dGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIG5pbGxh -YmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlc3Np -b25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlNlc3Npb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50VXNl -cklkT2ZTZXNzaW9uIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRVc2VySWRIaXN0b3J5IiB0eXBl -PSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJBdXRoZW50aWNhdGlvbk1lY2hhbmlzbSIgdHlwZT0ieHM6c3Ry +ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1z +Q291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3JlYXRlU3Vic2NyaXB0 +aW9uQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZ5U3Vic2Ny +aXB0aW9uQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0UHVibGlz +aGluZ01vZGVDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNo +Q291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVwdWJsaXNoQ291bnQi +IHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNmZXJTdWJzY3JpcHRpb25z +Q291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlU3Vic2NyaXB0 +aW9uc0NvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZE5vZGVzQ291 +bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkUmVmZXJlbmNlc0NvdW50 +IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZU5vZGVzQ291bnQiIHR5 +cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlUmVmZXJlbmNlc0NvdW50IiB0 +eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZUNvdW50IiB0eXBlPSJ0bnM6 +U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZU5leHRDb3VudCIgdHlwZT0idG5zOlNlcnZp +Y2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2xhdGVCcm93c2VQYXRoc1RvTm9kZUlkc0NvdW50IiB0 +eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5Rmlyc3RDb3VudCIgdHlwZT0i +dG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeU5leHRDb3VudCIgdHlwZT0idG5zOlNl +cnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWdpc3Rlck5vZGVzQ291bnQiIHR5cGU9InRuczpTZXJ2 +aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iVW5yZWdpc3Rlck5vZGVzQ291bnQiIHR5cGU9InRuczpTZXJ2 +aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +IlNlc3Npb25EaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U2Vzc2lvbkRpYWdub3N0aWNz +RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlNlc3Npb25EaWFn +bm9zdGljc0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJTZXNzaW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgdHlwZT0idG5zOlNlc3Npb25EaWFnbm9z +dGljc0RhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTZXNzaW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgdHlwZT0i +dG5zOkxpc3RPZlNlc3Npb25EaWFnbm9zdGljc0RhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94 +czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXNzaW9uU2VjdXJpdHlEaWFn +bm9zdGljc0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJTZXNzaW9uSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVudFVzZXJJZE9mU2Vzc2lvbiIg +dHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50VXNlcklkSGlzdG9yeSIgdHlwZT0idWE6TGlzdE9mU3Ry aW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iRW5jb2RpbmciIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zcG9ydFByb3RvY29sIiB0eXBl -PSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2Rl -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVBvbGlj -eVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50Q2VydGlmaWNhdGUiIHR5cGU9InhzOmJhc2U2 -NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl -bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uU2Vj -dXJpdHlEaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U2Vzc2lvblNlY3VyaXR5RGlhZ25v -c3RpY3NEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU2Vzc2lv -blNlY3VyaXR5RGlhZ25vc3RpY3NEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvblNlY3VyaXR5RGlhZ25vc3RpY3NEYXRhVHlwZSIgdHlw -ZT0idG5zOlNlc3Npb25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIg -bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu -Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlNlc3Np -b25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZTZXNzaW9uU2Vj -dXJpdHlEaWFnbm9zdGljc0RhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXJ2aWNlQ291bnRlckRhdGFUeXBlIj4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUb3RhbENvdW50IiB0eXBlPSJ4 -czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -RXJyb3JDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJT -ZXJ2aWNlQ291bnRlckRhdGFUeXBlIiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU3RhdHVzUmVzdWx0Ij4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0 -dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9z -dGljSW5mbyIgdHlwZT0idWE6RGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iU3RhdHVzUmVzdWx0IiB0eXBlPSJ0bnM6U3RhdHVzUmVzdWx0IiAvPg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTdGF0dXNSZXN1bHQiPg0KICAgIDx4czpz -ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c1Jlc3VsdCIgdHlwZT0idG5z -OlN0YXR1c1Jlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU3RhdHVzUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mU3Rh -dHVzUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4 -VHlwZSBuYW1lPSJTdWJzY3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uSWQiIHR5cGU9InVhOk5vZGVJ -ZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJpb3JpdHkiIHR5cGU9InhzOnVuc2lnbmVkQnl0 -ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGluZ0lu -dGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9Ik1heEtlZXBBbGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4TGlmZXRpbWVDb3VudCIgdHlw +bmFtZT0iQXV0aGVudGljYXRpb25NZWNoYW5pc20iIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuY29kaW5n +IiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc3BvcnRQcm90b2NvbCIgdHlwZT0ieHM6c3RyaW5nIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +U2VjdXJpdHlNb2RlIiB0eXBlPSJ0bnM6TWVzc2FnZVNlY3VyaXR5TW9kZSIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlQb2xpY3lVcmkiIHR5cGU9Inhz +OnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IkNsaWVudENlcnRpZmljYXRlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj +b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvblNlY3VyaXR5RGlhZ25vc3Rp +Y3NEYXRhVHlwZSIgdHlwZT0idG5zOlNlc3Npb25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUi +IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlNlc3Npb25TZWN1cml0eURpYWdu +b3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlNlc3Npb25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTZXNzaW9u +U2VjdXJpdHlEaWFnbm9zdGljc0RhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5i +b3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTZXNzaW9uU2VjdXJpdHlEaWFn +bm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mU2Vzc2lvblNlY3VyaXR5RGlhZ25vc3Rp +Y3NEYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iU2VydmljZUNvdW50ZXJEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVG90YWxDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQi +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVycm9yQ291bnQiIHR5 +cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmljZUNvdW50ZXJE +YXRhVHlwZSIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9IlN0YXR1c1Jlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm8iIHR5cGU9 +InVhOkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +IlN0YXR1c1Jlc3VsdCIgdHlwZT0idG5zOlN0YXR1c1Jlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iTGlzdE9mU3RhdHVzUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNSZXN1bHQiIHR5cGU9InRuczpTdGF0dXNSZXN1bHQi +IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h +bWU9Ikxpc3RPZlN0YXR1c1Jlc3VsdCIgdHlwZT0idG5zOkxpc3RPZlN0YXR1c1Jlc3VsdCIgbmls +bGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU3Vi +c2NyaXB0aW9uRGlhZ25vc3RpY3NEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbklkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRp +b25JZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlByaW9yaXR5IiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0i +MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hpbmdJbnRlcnZhbCIgdHlwZT0i +eHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhL +ZWVwQWxpdmVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9Ik1heExpZmV0aW1lQ291bnQiIHR5cGU9InhzOnVuc2lnbmVk +SW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhOb3RpZmlj +YXRpb25zUGVyUHVibGlzaCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hpbmdFbmFibGVkIiB0eXBlPSJ4czpib29s +ZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZnlDb3Vu +dCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IkVuYWJsZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzYWJsZUNvdW50IiB0eXBlPSJ4czp1bnNp +Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVwdWJs +aXNoUmVxdWVzdENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVwdWJsaXNoTWVzc2FnZVJlcXVlc3RDb3VudCIgdHlw ZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9Ik1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGluZ0VuYWJsZWQi -IHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9Ik1vZGlmeUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5hYmxlQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50 -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNhYmxlQ291bnQi -IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJSZXB1Ymxpc2hSZXF1ZXN0Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXB1Ymxpc2hNZXNzYWdlUmVx -dWVzdENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUmVwdWJsaXNoTWVzc2FnZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25l -ZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNmZXJS -ZXF1ZXN0Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2ZlcnJlZFRvQWx0Q2xpZW50Q291bnQiIHR5cGU9Inhz -OnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJU -cmFuc2ZlcnJlZFRvU2FtZUNsaWVudENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaFJlcXVlc3RDb3VudCIg +bWU9IlJlcHVibGlzaE1lc3NhZ2VDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vy +cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zZmVyUmVxdWVzdENvdW50IiB0 +eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iVHJhbnNmZXJyZWRUb0FsdENsaWVudENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNmZXJyZWRUb1Nh +bWVDbGllbnRDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hSZXF1ZXN0Q291bnQiIHR5cGU9InhzOnVuc2ln +bmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhQ2hh +bmdlTm90aWZpY2F0aW9uc0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnROb3RpZmljYXRpb25zQ291bnQiIHR5 +cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJOb3RpZmljYXRpb25zQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9 +IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXRlUHVibGlzaFJlcXVlc3RDb3VudCIg dHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IkRhdGFDaGFuZ2VOb3RpZmljYXRpb25zQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50 -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudE5vdGlmaWNh -dGlvbnNDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9Ik5vdGlmaWNhdGlvbnNDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJ -bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkxhdGVQdWJsaXNo -UmVxdWVzdENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudEtlZXBBbGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNp -Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVu -dExpZmV0aW1lQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbmFja25vd2xlZGdlZE1lc3NhZ2VDb3VudCIgdHlwZT0i -eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkRpc2NhcmRlZE1lc3NhZ2VDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1Db3VudCIgdHlwZT0i -eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkRpc2FibGVkTW9uaXRvcmVkSXRlbUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ1F1ZXVlT3ZlcmZs -b3dDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9Ik5leHRTZXF1ZW5jZU51bWJlciIgdHlwZT0ieHM6dW5zaWduZWRJbnQi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50UXVldWVPdmVy -Rmxvd0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwv -eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlN1 -YnNjcmlwdGlvbkRpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTdWJzY3JpcHRpb25EaWFn -bm9zdGljc0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTdWJz -Y3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0 -bnM6U3Vic2NyaXB0aW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1 -cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg -PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU3Vic2NyaXB0aW9u -RGlhZ25vc3RpY3NEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlN1YnNjcmlwdGlvbkRpYWdub3N0 -aWNzRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBs -ZVR5cGUgIG5hbWU9Ik1vZGVsQ2hhbmdlU3RydWN0dXJlVmVyYk1hc2siPg0KICAgIDx4czpyZXN0 -cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJO -b2RlQWRkZWRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9kZURlbGV0ZWRf -MiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVmZXJlbmNlQWRkZWRfNCIgLz4N -CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVmZXJlbmNlRGVsZXRlZF84IiAvPg0KICAg -ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEYXRhVHlwZUNoYW5nZWRfMTYiIC8+DQogICAgPC94 -czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJN -b2RlbENoYW5nZVN0cnVjdHVyZVZlcmJNYXNrIiB0eXBlPSJ0bnM6TW9kZWxDaGFuZ2VTdHJ1Y3R1 -cmVWZXJiTWFzayIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9kZWxDaGFuZ2VTdHJ1 +IG5hbWU9IkN1cnJlbnRLZWVwQWxpdmVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9j +Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkN1cnJlbnRMaWZldGltZUNvdW50 +IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iVW5hY2tub3dsZWRnZWRNZXNzYWdlQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjYXJkZWRNZXNz +YWdlQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNhYmxlZE1vbml0 +b3JlZEl0ZW1Db3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JpbmdRdWV1ZU92ZXJmbG93Q291bnQiIHR5cGU9 +InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJOZXh0U2VxdWVuY2VOdW1iZXIiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudFF1ZXVlT3ZlckZsb3dDb3VudCIgdHlw +ZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25EaWFn +bm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U3Vic2NyaXB0aW9uRGlhZ25vc3RpY3NEYXRhVHlw +ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU3Vic2NyaXB0aW9uRGlhZ25v +c3RpY3NEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iU3Vic2NyaXB0aW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgdHlwZT0idG5zOlN1YnNjcmlwdGlv +bkRpYWdub3N0aWNzRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlN1YnNjcmlwdGlvbkRpYWdub3N0aWNzRGF0 +YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZTdWJzY3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIiBu +aWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJN +b2RlbENoYW5nZVN0cnVjdHVyZVZlcmJNYXNrIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0i +eHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9kZUFkZGVkXzEiIC8+ +DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vZGVEZWxldGVkXzIiIC8+DQogICAgICA8 +eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlZmVyZW5jZUFkZGVkXzQiIC8+DQogICAgICA8eHM6ZW51 +bWVyYXRpb24gdmFsdWU9IlJlZmVyZW5jZURlbGV0ZWRfOCIgLz4NCiAgICAgIDx4czplbnVtZXJh +dGlvbiB2YWx1ZT0iRGF0YVR5cGVDaGFuZ2VkXzE2IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+ +DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kZWxDaGFuZ2VTdHJ1 +Y3R1cmVWZXJiTWFzayIgdHlwZT0idG5zOk1vZGVsQ2hhbmdlU3RydWN0dXJlVmVyYk1hc2siIC8+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1vZGVsQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUi +Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFmZmVjdGVkIiB0 +eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJBZmZlY3RlZFR5cGUiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZlcmIiIHR5 +cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1vZGVsQ2hhbmdlU3Ry +dWN0dXJlRGF0YVR5cGUiIHR5cGU9InRuczpNb2RlbENoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiAv +Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb2RlbENoYW5nZVN0cnVjdHVyZURh +dGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb2Rl +bENoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiB0eXBlPSJ0bnM6TW9kZWxDaGFuZ2VTdHJ1Y3R1cmVE +YXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iTGlzdE9mTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgdHlwZT0idG5z +Okxpc3RPZk1vZGVsQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hz +OmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlbWFudGljQ2hhbmdlU3RydWN0 +dXJlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkFmZmVjdGVkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZmZlY3RlZFR5cGUiIHR5cGU9InVhOk5vZGVJ +ZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZW1hbnRpY0NoYW5nZVN0 +cnVjdHVyZURhdGFUeXBlIiB0eXBlPSJ0bnM6U2VtYW50aWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlw +ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU2VtYW50aWNDaGFuZ2VTdHJ1 Y3R1cmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iQWZmZWN0ZWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFmZmVjdGVkVHlwZSIgdHlwZT0idWE6Tm9k -ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iVmVyYiIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg -PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -TW9kZWxDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgdHlwZT0idG5zOk1vZGVsQ2hhbmdlU3RydWN0 -dXJlRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk1vZGVsQ2hh -bmdlU3RydWN0dXJlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9Ik1vZGVsQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIHR5cGU9InRuczpNb2RlbENo -YW5nZVN0cnVjdHVyZURhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVk -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZNb2RlbENoYW5nZVN0cnVjdHVyZURhdGFU -eXBlIiB0eXBlPSJ0bnM6TGlzdE9mTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgbmlsbGFi -bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2VtYW50 -aWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iQWZmZWN0ZWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFmZmVjdGVkVHlwZSIg -dHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv -eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNl -bWFudGljQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIHR5cGU9InRuczpTZW1hbnRpY0NoYW5nZVN0 -cnVjdHVyZURhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTZW1h -bnRpY0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJTZW1hbnRpY0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiB0eXBlPSJ0 -bnM6U2VtYW50aWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1 -cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg -PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU2VtYW50aWNDaGFu -Z2VTdHJ1Y3R1cmVEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlNlbWFudGljQ2hhbmdlU3RydWN0 -dXJlRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9IlJhbmdlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJMb3ciIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iSGlnaCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iUmFuZ2UiIHR5cGU9InRuczpSYW5nZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -RVVJbmZvcm1hdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iTmFtZXNwYWNlVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbml0SWQiIHR5cGU9InhzOmludCIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzcGxheU5hbWUiIHR5 -cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4 -dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFVUluZm9ybWF0aW9uIiB0 -eXBlPSJ0bnM6RVVJbmZvcm1hdGlvbiIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iQXhp -c1NjYWxlRW51bWVyYXRpb24iPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmci -Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJMaW5lYXJfMCIgLz4NCiAgICAgIDx4czpl -bnVtZXJhdGlvbiB2YWx1ZT0iTG9nXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 -IkxuXzIiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJBeGlzU2NhbGVFbnVtZXJhdGlvbiIgdHlwZT0idG5zOkF4aXNTY2Fs -ZUVudW1lcmF0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDb21wbGV4TnVtYmVy -VHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhbCIg -dHlwZT0ieHM6ZmxvYXQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkltYWdpbmFyeSIgdHlwZT0ieHM6ZmxvYXQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb21wbGV4 -TnVtYmVyVHlwZSIgdHlwZT0idG5zOkNvbXBsZXhOdW1iZXJUeXBlIiAvPg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJEb3VibGVDb21wbGV4TnVtYmVyVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1 -cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbWFnaW5hcnkiIHR5cGU9InhzOmRv -dWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRvdWJsZUNvbXBsZXhOdW1iZXJUeXBlIiB0eXBl -PSJ0bnM6RG91YmxlQ29tcGxleE51bWJlclR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h -bWU9IkF4aXNJbmZvcm1hdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iRW5naW5lZXJpbmdVbml0cyIgdHlwZT0idG5zOkVVSW5mb3JtYXRpb24iIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFVVJh -bmdlIiB0eXBlPSJ0bnM6UmFuZ2UiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaXRsZSIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkF4 -aXNTY2FsZVR5cGUiIHR5cGU9InRuczpBeGlzU2NhbGVFbnVtZXJhdGlvbiIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXhpc1N0ZXBzIiB0eXBlPSJ1YTpMaXN0T2ZE -b3VibGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXhpc0luZm9ybWF0 -aW9uIiB0eXBlPSJ0bnM6QXhpc0luZm9ybWF0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJYVlR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlgiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iVmFsdWUiIHR5cGU9InhzOmZsb2F0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpz -ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iWFZUeXBl -IiB0eXBlPSJ0bnM6WFZUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJQcm9ncmFt -RGlhZ25vc3RpY0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJDcmVhdGVTZXNzaW9uSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZUNsaWVudE5h -bWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ikludm9jYXRpb25DcmVhdGlvblRpbWUiIHR5cGU9InhzOmRh -dGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0VHJh -bnNpdGlvblRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kQ2FsbCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1l -dGhvZFNlc3Npb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1ldGhvZElucHV0QXJndW1lbnRz -IiB0eXBlPSJ0bnM6TGlzdE9mQXJndW1lbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kT3V0cHV0QXJndW1lbnRzIiB0 -eXBlPSJ0bnM6TGlzdE9mQXJndW1lbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kQ2FsbFRpbWUiIHR5cGU9InhzOmRh -dGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0 -aG9kUmV0dXJuU3RhdHVzIiB0eXBlPSJ0bnM6U3RhdHVzUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9IlByb2dyYW1EaWFnbm9zdGljRGF0YVR5cGUiIHR5cGU9InRu -czpQcm9ncmFtRGlhZ25vc3RpY0RhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJBbm5vdGF0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJNZXNzYWdlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -QW5ub3RhdGlvblRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg -PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -QW5ub3RhdGlvbiIgdHlwZT0idG5zOkFubm90YXRpb24iIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUg -IG5hbWU9IkV4Y2VwdGlvbkRldmlhdGlvbkZvcm1hdCI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJh -c2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFic29sdXRlVmFs -dWVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mVmFsdWVfMSIg -Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mUmFuZ2VfMiIgLz4NCiAg -ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mRVVSYW5nZV8zIiAvPg0KICAgICAg -PHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVbmtub3duXzQiIC8+DQogICAgPC94czpyZXN0cmljdGlv -bj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFeGNlcHRpb25EZXZp -YXRpb25Gb3JtYXQiIHR5cGU9InRuczpFeGNlcHRpb25EZXZpYXRpb25Gb3JtYXQiIC8+DQoNCjwv -eHM6c2NoZW1hPg== +ZT0iU2VtYW50aWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgdHlwZT0idG5zOlNlbWFudGljQ2hh +bmdlU3RydWN0dXJlRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlNlbWFudGljQ2hhbmdlU3RydWN0dXJlRGF0 +YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZTZW1hbnRpY0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiBu +aWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJS +YW5nZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG93IiB0 +eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkhpZ2giIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVu +Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJhbmdlIiB0eXBl +PSJ0bnM6UmFuZ2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVVSW5mb3JtYXRpb24i +Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5hbWVzcGFjZVVy +aSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iVW5pdElkIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc3BsYXlOYW1lIiB0eXBlPSJ1YTpMb2NhbGl6 +ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iRGVzY3JpcHRpb24iIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRVVJbmZvcm1hdGlvbiIgdHlwZT0idG5zOkVVSW5m +b3JtYXRpb24iIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkF4aXNTY2FsZUVudW1lcmF0 +aW9uIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czpl +bnVtZXJhdGlvbiB2YWx1ZT0iTGluZWFyXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs +dWU9IkxvZ18xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJMbl8yIiAvPg0KICAg +IDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iQXhpc1NjYWxlRW51bWVyYXRpb24iIHR5cGU9InRuczpBeGlzU2NhbGVFbnVtZXJhdGlvbiIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ29tcGxleE51bWJlclR5cGUiPg0KICAgIDx4 +czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlYWwiIHR5cGU9InhzOmZsb2F0 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbWFnaW5hcnkiIHR5 +cGU9InhzOmZsb2F0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ29tcGxleE51bWJlclR5cGUiIHR5 +cGU9InRuczpDb21wbGV4TnVtYmVyVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i +RG91YmxlQ29tcGxleE51bWJlclR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlJlYWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iSW1hZ2luYXJ5IiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vy +cz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJEb3VibGVDb21wbGV4TnVtYmVyVHlwZSIgdHlwZT0idG5zOkRvdWJsZUNv +bXBsZXhOdW1iZXJUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBeGlzSW5mb3Jt +YXRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZ2lu +ZWVyaW5nVW5pdHMiIHR5cGU9InRuczpFVUluZm9ybWF0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRVVSYW5nZSIgdHlwZT0idG5z +OlJhbmdlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iVGl0bGUiIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBeGlzU2NhbGVUeXBlIiB0 +eXBlPSJ0bnM6QXhpc1NjYWxlRW51bWVyYXRpb24iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IkF4aXNTdGVwcyIgdHlwZT0idWE6TGlzdE9mRG91YmxlIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkF4aXNJbmZvcm1hdGlvbiIgdHlwZT0idG5z +OkF4aXNJbmZvcm1hdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iWFZUeXBlIj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJYIiB0eXBlPSJ4czpk +b3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlIiB0 +eXBlPSJ4czpmbG9hdCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv +eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlhWVHlwZSIgdHlwZT0idG5zOlhW +VHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUHJvZ3JhbURpYWdub3N0aWNEYXRh +VHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3JlYXRl +U2Vzc2lvbklkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVDbGllbnROYW1lIiB0eXBlPSJ4czpz +dHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJJbnZvY2F0aW9uQ3JlYXRpb25UaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdFRyYW5zaXRpb25UaW1lIiB0 +eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iTGFzdE1ldGhvZENhbGwiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxhc3RNZXRob2RTZXNzaW9uSWQi +IHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9Ikxhc3RNZXRob2RJbnB1dEFyZ3VtZW50cyIgdHlwZT0idG5zOkxp +c3RPZkFyZ3VtZW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iTGFzdE1ldGhvZE91dHB1dEFyZ3VtZW50cyIgdHlwZT0idG5zOkxpc3RP +ZkFyZ3VtZW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iTGFzdE1ldGhvZENhbGxUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1ldGhvZFJldHVyblN0YXR1 +cyIgdHlwZT0idG5zOlN0YXR1c1Jlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJQcm9ncmFtRGlhZ25vc3RpY0RhdGFUeXBlIiB0eXBlPSJ0bnM6UHJvZ3JhbURpYWdu +b3N0aWNEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUHJvZ3JhbURpYWdu +b3N0aWMyRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IkNyZWF0ZVNlc3Npb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3JlYXRlQ2xpZW50TmFtZSIg +dHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iSW52b2NhdGlvbkNyZWF0aW9uVGltZSIgdHlwZT0ieHM6ZGF0ZVRp +bWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxhc3RUcmFuc2l0 +aW9uVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9Ikxhc3RNZXRob2RDYWxsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9k +U2Vzc2lvbklkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kSW5wdXRBcmd1bWVudHMiIHR5 +cGU9InRuczpMaXN0T2ZBcmd1bWVudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxhc3RNZXRob2RPdXRwdXRBcmd1bWVudHMiIHR5cGU9 +InRuczpMaXN0T2ZBcmd1bWVudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9Ikxhc3RNZXRob2RJbnB1dFZhbHVlcyIgdHlwZT0idWE6TGlz +dE9mVmFyaWFudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9Ikxhc3RNZXRob2RPdXRwdXRWYWx1ZXMiIHR5cGU9InVhOkxpc3RPZlZhcmlh +bnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJMYXN0TWV0aG9kQ2FsbFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kUmV0dXJuU3RhdHVzIiB0eXBl +PSJ0bnM6U3RhdHVzUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +IlByb2dyYW1EaWFnbm9zdGljMkRhdGFUeXBlIiB0eXBlPSJ0bnM6UHJvZ3JhbURpYWdub3N0aWMy +RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFubm90YXRpb24iPg0KICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1lc3NhZ2UiIHR5cGU9Inhz +OnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlVzZXJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBbm5vdGF0aW9uVGltZSIgdHlw +ZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBbm5vdGF0aW9uIiB0eXBlPSJ0 +bnM6QW5ub3RhdGlvbiIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iRXhjZXB0aW9uRGV2 +aWF0aW9uRm9ybWF0Ij4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAg +ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQWJzb2x1dGVWYWx1ZV8wIiAvPg0KICAgICAgPHhz +OmVudW1lcmF0aW9uIHZhbHVlPSJQZXJjZW50T2ZWYWx1ZV8xIiAvPg0KICAgICAgPHhzOmVudW1l +cmF0aW9uIHZhbHVlPSJQZXJjZW50T2ZSYW5nZV8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u +IHZhbHVlPSJQZXJjZW50T2ZFVVJhbmdlXzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs +dWU9IlVua25vd25fNCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkV4Y2VwdGlvbkRldmlhdGlvbkZvcm1hdCIgdHlwZT0i +dG5zOkV4Y2VwdGlvbkRldmlhdGlvbkZvcm1hdCIgLz4NCg0KPC94czpzY2hlbWE+ @@ -27304,4225 +53797,2021 @@ eHM6c2NoZW1hPg== http://opcfoundation.org/UA/2008/02/Types.xsd - - TrustListDataType - - i=69 - i=8252 - - - //xs:element[@name='TrustListDataType'] - - - - Argument - - i=69 - i=8252 - - - //xs:element[@name='Argument'] - - - - EnumValueType - - i=69 - i=8252 - - - //xs:element[@name='EnumValueType'] - - - - OptionSet - - i=69 - i=8252 - - - //xs:element[@name='OptionSet'] - - - - Union + + Deprecated + Indicates that all of the definitions for the dictionary are available through a DataTypeDefinition Attribute. - i=69 - i=8252 + i=68 + i=8252 - //xs:element[@name='Union'] + true - - TimeZoneDataType + + KeyValuePair i=69 i=8252 - //xs:element[@name='TimeZoneDataType'] + //xs:element[@name='KeyValuePair'] - - ApplicationDescription + + EndpointType i=69 i=8252 - //xs:element[@name='ApplicationDescription'] + //xs:element[@name='EndpointType'] - - ServerOnNetwork + + IdentityMappingRuleType i=69 i=8252 - //xs:element[@name='ServerOnNetwork'] + //xs:element[@name='IdentityMappingRuleType'] - - UserTokenPolicy + + TrustListDataType i=69 i=8252 - //xs:element[@name='UserTokenPolicy'] + //xs:element[@name='TrustListDataType'] - - EndpointDescription + + DataTypeSchemaHeader i=69 i=8252 - //xs:element[@name='EndpointDescription'] + //xs:element[@name='DataTypeSchemaHeader'] - - RegisteredServer + + DataTypeDescription i=69 i=8252 - //xs:element[@name='RegisteredServer'] + //xs:element[@name='DataTypeDescription'] - - DiscoveryConfiguration + + StructureDescription i=69 i=8252 - //xs:element[@name='DiscoveryConfiguration'] + //xs:element[@name='StructureDescription'] - - MdnsDiscoveryConfiguration + + EnumDescription i=69 i=8252 - //xs:element[@name='MdnsDiscoveryConfiguration'] + //xs:element[@name='EnumDescription'] - - SignedSoftwareCertificate + + SimpleTypeDescription i=69 i=8252 - //xs:element[@name='SignedSoftwareCertificate'] + //xs:element[@name='SimpleTypeDescription'] - - UserIdentityToken + + UABinaryFileDataType i=69 i=8252 - //xs:element[@name='UserIdentityToken'] + //xs:element[@name='UABinaryFileDataType'] - - AnonymousIdentityToken + + DataSetMetaDataType i=69 i=8252 - //xs:element[@name='AnonymousIdentityToken'] + //xs:element[@name='DataSetMetaDataType'] - - UserNameIdentityToken + + FieldMetaData i=69 i=8252 - //xs:element[@name='UserNameIdentityToken'] + //xs:element[@name='FieldMetaData'] - - X509IdentityToken + + ConfigurationVersionDataType i=69 i=8252 - //xs:element[@name='X509IdentityToken'] + //xs:element[@name='ConfigurationVersionDataType'] - - IssuedIdentityToken + + PublishedDataSetDataType i=69 i=8252 - //xs:element[@name='IssuedIdentityToken'] + //xs:element[@name='PublishedDataSetDataType'] - - AddNodesItem + + PublishedDataSetSourceDataType i=69 i=8252 - //xs:element[@name='AddNodesItem'] + //xs:element[@name='PublishedDataSetSourceDataType'] - - AddReferencesItem + + PublishedVariableDataType i=69 i=8252 - //xs:element[@name='AddReferencesItem'] + //xs:element[@name='PublishedVariableDataType'] - - DeleteNodesItem + + PublishedDataItemsDataType i=69 i=8252 - //xs:element[@name='DeleteNodesItem'] + //xs:element[@name='PublishedDataItemsDataType'] - - DeleteReferencesItem + + PublishedEventsDataType i=69 i=8252 - //xs:element[@name='DeleteReferencesItem'] + //xs:element[@name='PublishedEventsDataType'] - - RelativePathElement + + DataSetWriterDataType i=69 i=8252 - //xs:element[@name='RelativePathElement'] + //xs:element[@name='DataSetWriterDataType'] - - RelativePath + + DataSetWriterTransportDataType i=69 i=8252 - //xs:element[@name='RelativePath'] + //xs:element[@name='DataSetWriterTransportDataType'] - - EndpointConfiguration + + DataSetWriterMessageDataType i=69 i=8252 - //xs:element[@name='EndpointConfiguration'] + //xs:element[@name='DataSetWriterMessageDataType'] - - ContentFilterElement + + PubSubGroupDataType i=69 i=8252 - //xs:element[@name='ContentFilterElement'] + //xs:element[@name='PubSubGroupDataType'] - - ContentFilter + + WriterGroupDataType i=69 i=8252 - //xs:element[@name='ContentFilter'] + //xs:element[@name='WriterGroupDataType'] - - FilterOperand + + WriterGroupTransportDataType i=69 i=8252 - //xs:element[@name='FilterOperand'] + //xs:element[@name='WriterGroupTransportDataType'] - - ElementOperand + + WriterGroupMessageDataType i=69 i=8252 - //xs:element[@name='ElementOperand'] + //xs:element[@name='WriterGroupMessageDataType'] - - LiteralOperand + + PubSubConnectionDataType i=69 i=8252 - //xs:element[@name='LiteralOperand'] + //xs:element[@name='PubSubConnectionDataType'] - - AttributeOperand + + ConnectionTransportDataType i=69 i=8252 - //xs:element[@name='AttributeOperand'] + //xs:element[@name='ConnectionTransportDataType'] - - SimpleAttributeOperand + + NetworkAddressDataType i=69 i=8252 - //xs:element[@name='SimpleAttributeOperand'] + //xs:element[@name='NetworkAddressDataType'] - - HistoryEvent + + NetworkAddressUrlDataType i=69 i=8252 - //xs:element[@name='HistoryEvent'] + //xs:element[@name='NetworkAddressUrlDataType'] - - MonitoringFilter + + ReaderGroupDataType i=69 i=8252 - //xs:element[@name='MonitoringFilter'] + //xs:element[@name='ReaderGroupDataType'] - - EventFilter + + ReaderGroupTransportDataType i=69 i=8252 - //xs:element[@name='EventFilter'] + //xs:element[@name='ReaderGroupTransportDataType'] - - AggregateConfiguration + + ReaderGroupMessageDataType i=69 i=8252 - //xs:element[@name='AggregateConfiguration'] + //xs:element[@name='ReaderGroupMessageDataType'] - - HistoryEventFieldList + + DataSetReaderDataType i=69 i=8252 - //xs:element[@name='HistoryEventFieldList'] + //xs:element[@name='DataSetReaderDataType'] - - BuildInfo + + DataSetReaderTransportDataType i=69 i=8252 - //xs:element[@name='BuildInfo'] + //xs:element[@name='DataSetReaderTransportDataType'] - - RedundantServerDataType + + DataSetReaderMessageDataType i=69 i=8252 - //xs:element[@name='RedundantServerDataType'] + //xs:element[@name='DataSetReaderMessageDataType'] - - EndpointUrlListDataType + + SubscribedDataSetDataType i=69 i=8252 - //xs:element[@name='EndpointUrlListDataType'] + //xs:element[@name='SubscribedDataSetDataType'] - - NetworkGroupDataType + + TargetVariablesDataType i=69 i=8252 - //xs:element[@name='NetworkGroupDataType'] + //xs:element[@name='TargetVariablesDataType'] - - SamplingIntervalDiagnosticsDataType + + FieldTargetDataType i=69 i=8252 - //xs:element[@name='SamplingIntervalDiagnosticsDataType'] + //xs:element[@name='FieldTargetDataType'] - - ServerDiagnosticsSummaryDataType + + SubscribedDataSetMirrorDataType i=69 i=8252 - //xs:element[@name='ServerDiagnosticsSummaryDataType'] + //xs:element[@name='SubscribedDataSetMirrorDataType'] - - ServerStatusDataType + + PubSubConfigurationDataType i=69 i=8252 - //xs:element[@name='ServerStatusDataType'] + //xs:element[@name='PubSubConfigurationDataType'] - - SessionDiagnosticsDataType + + UadpWriterGroupMessageDataType i=69 i=8252 - //xs:element[@name='SessionDiagnosticsDataType'] + //xs:element[@name='UadpWriterGroupMessageDataType'] - - SessionSecurityDiagnosticsDataType + + UadpDataSetWriterMessageDataType i=69 i=8252 - //xs:element[@name='SessionSecurityDiagnosticsDataType'] + //xs:element[@name='UadpDataSetWriterMessageDataType'] - - ServiceCounterDataType + + UadpDataSetReaderMessageDataType i=69 i=8252 - //xs:element[@name='ServiceCounterDataType'] + //xs:element[@name='UadpDataSetReaderMessageDataType'] - - StatusResult + + JsonWriterGroupMessageDataType i=69 i=8252 - //xs:element[@name='StatusResult'] + //xs:element[@name='JsonWriterGroupMessageDataType'] - - SubscriptionDiagnosticsDataType + + JsonDataSetWriterMessageDataType i=69 i=8252 - //xs:element[@name='SubscriptionDiagnosticsDataType'] + //xs:element[@name='JsonDataSetWriterMessageDataType'] - - ModelChangeStructureDataType + + JsonDataSetReaderMessageDataType i=69 i=8252 - //xs:element[@name='ModelChangeStructureDataType'] + //xs:element[@name='JsonDataSetReaderMessageDataType'] - - SemanticChangeStructureDataType + + DatagramConnectionTransportDataType i=69 i=8252 - //xs:element[@name='SemanticChangeStructureDataType'] + //xs:element[@name='DatagramConnectionTransportDataType'] - - Range + + DatagramWriterGroupTransportDataType i=69 i=8252 - //xs:element[@name='Range'] + //xs:element[@name='DatagramWriterGroupTransportDataType'] - - EUInformation + + BrokerConnectionTransportDataType i=69 i=8252 - //xs:element[@name='EUInformation'] + //xs:element[@name='BrokerConnectionTransportDataType'] - - ComplexNumberType + + BrokerWriterGroupTransportDataType i=69 i=8252 - //xs:element[@name='ComplexNumberType'] + //xs:element[@name='BrokerWriterGroupTransportDataType'] - - DoubleComplexNumberType + + BrokerDataSetWriterTransportDataType i=69 i=8252 - //xs:element[@name='DoubleComplexNumberType'] + //xs:element[@name='BrokerDataSetWriterTransportDataType'] - - AxisInformation + + BrokerDataSetReaderTransportDataType i=69 i=8252 - //xs:element[@name='AxisInformation'] + //xs:element[@name='BrokerDataSetReaderTransportDataType'] - - XVType + + RolePermissionType i=69 i=8252 - //xs:element[@name='XVType'] + //xs:element[@name='RolePermissionType'] - - ProgramDiagnosticDataType + + DataTypeDefinition i=69 i=8252 - //xs:element[@name='ProgramDiagnosticDataType'] + //xs:element[@name='DataTypeDefinition'] - - Annotation + + StructureField i=69 i=8252 - - //xs:element[@name='Annotation'] - - - - Default Binary - - i=12554 - i=12681 - i=76 - - - - Default Binary - - i=296 - i=7650 - i=76 - - - - Default Binary - - i=7594 - i=7656 - i=76 - - - - Default Binary - - i=12755 - i=12767 - i=76 - - - - Default Binary - - i=12756 - i=12770 - i=76 - - - - Default Binary - - i=8912 - i=8914 - i=76 - - - - Default Binary - - i=308 - i=7665 - i=76 - - - - Default Binary - - i=12189 - i=12213 - i=76 - - - - Default Binary - - i=304 - i=7662 - i=76 - - - - Default Binary - - i=312 - i=7668 - i=76 - - - - Default Binary - - i=432 - i=7782 - i=76 - - - - Default Binary - - i=12890 - i=12902 - i=76 - - - - Default Binary - - i=12891 - i=12905 - i=76 - - - - Default Binary - - i=344 - i=7698 - 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=376 - i=7728 - i=76 - - - - Default Binary - - i=379 - i=7731 - i=76 - - - - Default Binary - - i=382 - i=7734 - i=76 - - - - Default Binary + + //xs:element[@name='StructureField'] + + + + StructureDefinition - i=385 - i=7737 - i=76 + i=69 + i=8252 - - - Default Binary + + //xs:element[@name='StructureDefinition'] + + + + EnumDefinition - i=537 - i=12718 - i=76 + i=69 + i=8252 - - - Default Binary + + //xs:element[@name='EnumDefinition'] + + + + Argument - i=540 - i=12721 - i=76 + i=69 + i=8252 - - - Default Binary + + //xs:element[@name='Argument'] + + + + EnumValueType - i=331 - i=7686 - i=76 + i=69 + i=8252 - - - Default Binary + + //xs:element[@name='EnumValueType'] + + + + EnumField - i=583 - i=7929 - i=76 + i=69 + i=8252 - - - Default Binary + + //xs:element[@name='EnumField'] + + + + OptionSet - i=586 - i=7932 - i=76 + i=69 + i=8252 - - - Default Binary + + //xs:element[@name='OptionSet'] + + + + Union - i=589 - i=7935 - i=76 + i=69 + i=8252 - - - Default Binary + + //xs:element[@name='Union'] + + + + TimeZoneDataType - i=592 - i=7938 - i=76 + i=69 + i=8252 - - - Default Binary + + //xs:element[@name='TimeZoneDataType'] + + + + ApplicationDescription - i=595 - i=7941 - i=76 + i=69 + i=8252 - - - Default Binary + + //xs:element[@name='ApplicationDescription'] + + + + ServerOnNetwork - i=598 - i=7944 - i=76 + i=69 + i=8252 - - - Default Binary + + //xs:element[@name='ServerOnNetwork'] + + + + UserTokenPolicy - i=601 - i=7947 - i=76 + i=69 + i=8252 - - - Default Binary + + //xs:element[@name='UserTokenPolicy'] + + + + EndpointDescription - i=659 - i=8004 - i=76 + i=69 + i=8252 - - - Default Binary + + //xs:element[@name='EndpointDescription'] + + + + RegisteredServer - i=719 - i=8067 - i=76 + i=69 + i=8252 - - - Default Binary + + //xs:element[@name='RegisteredServer'] + + + + DiscoveryConfiguration - i=725 - i=8073 - i=76 + i=69 + i=8252 - - - Default Binary + + //xs:element[@name='DiscoveryConfiguration'] + + + + MdnsDiscoveryConfiguration - i=948 - i=8076 - i=76 + i=69 + i=8252 - - - Default Binary + + //xs:element[@name='MdnsDiscoveryConfiguration'] + + + + SignedSoftwareCertificate - i=920 - i=8172 - i=76 + i=69 + i=8252 - - - Default Binary + + //xs:element[@name='SignedSoftwareCertificate'] + + + + UserIdentityToken - i=338 - i=7692 - i=76 + i=69 + i=8252 - - - Default Binary + + //xs:element[@name='UserIdentityToken'] + + + + AnonymousIdentityToken - i=853 - i=8208 - i=76 + i=69 + i=8252 - - - Default Binary + + //xs:element[@name='AnonymousIdentityToken'] + + + + UserNameIdentityToken - i=11943 - i=11959 - i=76 + i=69 + i=8252 - - - Default Binary + + //xs:element[@name='UserNameIdentityToken'] + + + + X509IdentityToken - i=11944 - i=11962 - i=76 + i=69 + i=8252 - - - Default Binary + + //xs:element[@name='X509IdentityToken'] + + + + IssuedIdentityToken - i=856 - i=8211 - i=76 + i=69 + i=8252 - - - Default Binary + + //xs:element[@name='IssuedIdentityToken'] + + + + AddNodesItem - i=859 - i=8214 - i=76 + i=69 + i=8252 - - - Default Binary + + //xs:element[@name='AddNodesItem'] + + + + AddReferencesItem - i=862 - i=8217 - i=76 + i=69 + i=8252 - - - Default Binary + + //xs:element[@name='AddReferencesItem'] + + + + DeleteNodesItem - i=865 - i=8220 - i=76 + i=69 + i=8252 - - - Default Binary + + //xs:element[@name='DeleteNodesItem'] + + + + DeleteReferencesItem - i=868 - i=8223 - i=76 + i=69 + i=8252 - - - Default Binary + + //xs:element[@name='DeleteReferencesItem'] + + + + RelativePathElement - i=871 - i=8226 - i=76 + i=69 + i=8252 - - - Default Binary + + //xs:element[@name='RelativePathElement'] + + + + RelativePath - i=299 - i=7659 - i=76 + i=69 + i=8252 - - - Default Binary + + //xs:element[@name='RelativePath'] + + + + EndpointConfiguration - i=874 - i=8229 - i=76 + i=69 + i=8252 - - - Default Binary + + //xs:element[@name='EndpointConfiguration'] + + + + ContentFilterElement - i=877 - i=8232 - i=76 + i=69 + i=8252 - - - Default Binary + + //xs:element[@name='ContentFilterElement'] + + + + ContentFilter - i=897 - i=8235 - i=76 + i=69 + i=8252 - - - Default Binary + + //xs:element[@name='ContentFilter'] + + + + FilterOperand - i=884 - i=8238 - i=76 + i=69 + i=8252 - - - Default Binary + + //xs:element[@name='FilterOperand'] + + + + ElementOperand - i=887 - i=8241 - i=76 + i=69 + i=8252 - - - Default Binary + + //xs:element[@name='ElementOperand'] + + + + LiteralOperand - i=12171 - i=12183 - i=76 + i=69 + i=8252 - - - Default Binary + + //xs:element[@name='LiteralOperand'] + + + + AttributeOperand - i=12172 - i=12186 - i=76 + i=69 + i=8252 - - - Default Binary + + //xs:element[@name='AttributeOperand'] + + + + SimpleAttributeOperand - i=12079 - i=12091 - i=76 + i=69 + i=8252 - - - Default Binary + + //xs:element[@name='SimpleAttributeOperand'] + + + + HistoryEvent - i=12080 - i=12094 - i=76 + i=69 + i=8252 - - - Default Binary + + //xs:element[@name='HistoryEvent'] + + + + MonitoringFilter - i=894 - i=8247 - i=76 + i=69 + i=8252 - - - Default Binary + + //xs:element[@name='MonitoringFilter'] + + + + EventFilter - i=891 - i=8244 - i=76 + i=69 + i=8252 - - - Opc.Ua + + //xs:element[@name='EventFilter'] + + + + AggregateConfiguration - i=7619 - i=12681 - i=7650 - i=7656 - i=12767 - i=12770 - 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=8244 - i=93 - i=72 + i=69 + i=8252 - 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 -b2NhbGVTcGVjaWZpZWQiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iTG9jYWxpemVkVGV4dFNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJBZGRpdGlvbmFsSW5mb1NwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbm5lclN0YXR1c0NvZGVTcGVjaWZpZWQiIFR5cGVO -YW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5uZXJEaWFnbm9zdGljSW5m -b1NwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS -ZXNlcnZlZDEiIFR5cGVOYW1lPSJvcGM6Qml0IiBMZW5ndGg9IjIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJTeW1ib2xpY0lkIiBUeXBlTmFtZT0ib3BjOkludDMyIiBTd2l0Y2hGaWVsZD0iU3lt -Ym9saWNJZFNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWVzcGFjZVVSSSIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgU3dpdGNoRmllbGQ9Ik5hbWVzcGFjZVVSSVNwZWNpZmllZCIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgU3dp -dGNoRmllbGQ9IkxvY2FsZVNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2Fs -aXplZFRleHQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIFN3aXRjaEZpZWxkPSJMb2NhbGl6ZWRUZXh0 -U3BlY2lmaWVkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWRkaXRpb25hbEluZm8iIFR5cGVO -YW1lPSJvcGM6Q2hhckFycmF5IiBTd2l0Y2hGaWVsZD0iQWRkaXRpb25hbEluZm9TcGVjaWZpZWQi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbm5lclN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpT -dGF0dXNDb2RlIiBTd2l0Y2hGaWVsZD0iSW5uZXJTdGF0dXNDb2RlU3BlY2lmaWVkIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iSW5uZXJEaWFnbm9zdGljSW5mbyIgVHlwZU5hbWU9InVhOkRpYWdu -b3N0aWNJbmZvIiBTd2l0Y2hGaWVsZD0iSW5uZXJEaWFnbm9zdGljSW5mb1NwZWNpZmllZCIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJR -dWFsaWZpZWROYW1lIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBzdHJpbmcgcXVhbGlmaWVk -IHdpdGggYSBuYW1lc3BhY2UgaW5kZXguPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5hbWVzcGFjZUluZGV4IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iTmFtZSIgVHlwZU5hbWU9Im9wYzpDaGFyQXJyYXkiIC8+DQogIDwvb3Bj -OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTG9jYWxpemVk -VGV4dCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgc3RyaW5nIHF1YWxpZmllZCB3aXRoIGEg -bmFtZXNwYWNlIGluZGV4Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJMb2NhbGVTcGVjaWZpZWQiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iVGV4dFNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJSZXNlcnZlZDEiIFR5cGVOYW1lPSJvcGM6Qml0IiBMZW5ndGg9IjYiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJMb2NhbGUiIFR5cGVOYW1lPSJvcGM6Q2hhckFycmF5IiBTd2l0Y2hG -aWVsZD0iTG9jYWxlU3BlY2lmaWVkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGV4dCIgVHlw -ZU5hbWU9Im9wYzpDaGFyQXJyYXkiIFN3aXRjaEZpZWxkPSJUZXh0U3BlY2lmaWVkIiAvPg0KICA8 -L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFW -YWx1ZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgdmFsdWUgd2l0aCBhbiBhc3NvY2lhdGVk -IHRpbWVzdGFtcCwgYW5kIHF1YWxpdHkuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlZhbHVlU3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlN0YXR1c0NvZGVTcGVjaWZpZWQiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iU291cmNlVGltZXN0YW1wU3BlY2lmaWVkIiBUeXBlTmFtZT0i -b3BjOkJpdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvdXJjZVBpY29zZWNvbmRzU3BlY2lm -aWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclRp -bWVzdGFtcFNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJTZXJ2ZXJQaWNvc2Vjb25kc1NwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNlcnZlZDEiIFR5cGVOYW1lPSJvcGM6Qml0IiBMZW5ndGg9 -IjIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQi -IFN3aXRjaEZpZWxkPSJWYWx1ZVNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0 -YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBTd2l0Y2hGaWVsZD0iU3RhdHVzQ29k -ZVNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvdXJjZVRpbWVzdGFtcCIgVHlw -ZU5hbWU9Im9wYzpEYXRlVGltZSIgU3dpdGNoRmllbGQ9IlNvdXJjZVRpbWVzdGFtcFNwZWNpZmll -ZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvdXJjZVBpY29zZWNvbmRzIiBUeXBlTmFtZT0i -b3BjOlVJbnQxNiIgU3dpdGNoRmllbGQ9IlNvdXJjZVBpY29zZWNvbmRzU3BlY2lmaWVkIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyVGltZXN0YW1wIiBUeXBlTmFtZT0ib3BjOkRhdGVU -aW1lIiBTd2l0Y2hGaWVsZD0iU2VydmVyVGltZXN0YW1wU3BlY2lmaWVkIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iU2VydmVyUGljb3NlY29uZHMiIFR5cGVOYW1lPSJvcGM6VUludDE2IiBTd2l0 -Y2hGaWVsZD0iU2VydmVyUGljb3NlY29uZHNTcGVjaWZpZWQiIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBzZXJpYWxpemVkIG9iamVjdCBwcmVmaXhlZCB3aXRo -IGl0cyBkYXRhIHR5cGUgaWRlbnRpZmllci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iVHlwZUlkU3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IkJpbmFyeUJvZHkiIFR5cGVOYW1lPSJvcGM6Qml0IiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iWG1sQm9keSIgVHlwZU5hbWU9Im9wYzpCaXQiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJSZXNlcnZlZDEiIFR5cGVOYW1lPSJvcGM6Qml0IiBMZW5ndGg9IjUiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJUeXBlSWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIg -U3dpdGNoRmllbGQ9IlR5cGVJZFNwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJv -ZHlMZW5ndGgiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJC -b2R5IiBUeXBlTmFtZT0ib3BjOkJ5dGUiIExlbmd0aEZpZWxkPSJCb2R5TGVuZ3RoIiAvPg0KICA8 -L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlZhcmlh -bnQiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHVuaW9uIG9mIHNldmVyYWwgdHlwZXMuPC9v -cGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhcmlhbnRUeXBlIiBUeXBl -TmFtZT0ib3BjOkJpdCIgTGVuZ3RoPSI2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXJyYXlE -aW1lbnNpb25zU3BlY2lmaWVkIiBUeXBlTmFtZT0ib3BjOkJpdCIgTGVuZ3RoPSIxIi8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJBcnJheUxlbmd0aFNwZWNpZmllZCIgVHlwZU5hbWU9Im9wYzpCaXQi -IExlbmd0aD0iMSIvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXJyYXlMZW5ndGgiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIFN3aXRjaEZpZWxkPSJBcnJheUxlbmd0aFNwZWNpZmllZCIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IkJvb2xlYW4iIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgTGVuZ3RoRmll -bGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSIx -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU0J5dGUiIFR5cGVOYW1lPSJvcGM6U0J5dGUiIExl -bmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hW -YWx1ZT0iMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJ5dGUiIFR5cGVOYW1lPSJvcGM6Qnl0 -ZSIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3 -aXRjaFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW50MTYiIFR5cGVOYW1lPSJv -cGM6SW50MTYiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRU -eXBlIiBTd2l0Y2hWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVJbnQxNiIgVHlw -ZU5hbWU9Im9wYzpVSW50MTYiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9 -IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iNSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Iklu -dDMyIiBUeXBlTmFtZT0ib3BjOkludDMyIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRj -aEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjYiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJVSW50MzIiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5n -dGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjciIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJJbnQ2NCIgVHlwZU5hbWU9Im9wYzpJbnQ2NCIgTGVuZ3RoRmllbGQ9IkFy -cmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSI4IiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iVUludDY0IiBUeXBlTmFtZT0ib3BjOlVJbnQ2NCIgTGVuZ3Ro -RmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVl -PSI5IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmxvYXQiIFR5cGVOYW1lPSJvcGM6RmxvYXQi -IExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0 -Y2hWYWx1ZT0iMTAiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEb3VibGUiIFR5cGVOYW1lPSJv -cGM6RG91YmxlIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50 -VHlwZSIgU3dpdGNoVmFsdWU9IjExIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RyaW5nIiBU -eXBlTmFtZT0ib3BjOkNoYXJBcnJheSIgTGVuZ3RoRmllbGQ9IkFycmF5TGVuZ3RoIiBTd2l0Y2hG -aWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSIxMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkRhdGVUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiBMZW5ndGhGaWVsZD0iQXJyYXlM -ZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjEzIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iR3VpZCIgVHlwZU5hbWU9Im9wYzpHdWlkIiBMZW5ndGhGaWVsZD0i -QXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjE0IiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnl0ZVN0cmluZyIgVHlwZU5hbWU9Im9wYzpCeXRlU3Ry -aW5nIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIg -U3dpdGNoVmFsdWU9IjE1IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iWG1sRWxlbWVudCIgVHlw -ZU5hbWU9InVhOlhtbEVsZW1lbnQiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmll -bGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIg -U3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMTciIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJFeHBhbmRlZE5vZGVJZCIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiBM -ZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNo -VmFsdWU9IjE4IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9 -InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZh -cmlhbnRUeXBlIiBTd2l0Y2hWYWx1ZT0iMTkiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJRdWFs -aWZpZWROYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgTGVuZ3RoRmllbGQ9IkFycmF5 -TGVuZ3RoIiBTd2l0Y2hGaWVsZD0iVmFyaWFudFR5cGUiIFN3aXRjaFZhbHVlPSIyMCIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsaXplZFRleHQiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRU -ZXh0IiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIg -U3dpdGNoVmFsdWU9IjIxIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXh0ZW5zaW9uT2JqZWN0 -IiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgi -IFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjIyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iRGF0YVZhbHVlIiBUeXBlTmFtZT0idWE6RGF0YVZhbHVlIiBMZW5ndGhGaWVs -ZD0iQXJyYXlMZW5ndGgiIFN3aXRjaEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjIz -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFyaWFudCIgVHlwZU5hbWU9InVhOlZhcmlhbnQi -IExlbmd0aEZpZWxkPSJBcnJheUxlbmd0aCIgU3dpdGNoRmllbGQ9IlZhcmlhbnRUeXBlIiBTd2l0 -Y2hWYWx1ZT0iMjQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mbyIgVHlw -ZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iQXJyYXlMZW5ndGgiIFN3aXRj -aEZpZWxkPSJWYXJpYW50VHlwZSIgU3dpdGNoVmFsdWU9IjI1IiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTm9PZkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgU3dpdGNoRmll -bGQ9IkFycmF5RGltZW5zaW9uc1NwZWNpZmllZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFy -cmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBcnJh -eURpbWVuc2lvbnMiIFN3aXRjaEZpZWxkPSJBcnJheURpbWVuc2lvbnNTcGVjaWZpZWQiIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iTmFt -aW5nUnVsZVR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9Ik1hbmRhdG9yeSIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iT3B0aW9uYWwiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9IkNvbnN0cmFpbnQiIFZhbHVlPSIzIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCiAg -ICANCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iSW1hZ2VCTVAiPg0KICAgIDxvcGM6RG9jdW1l -bnRhdGlvbj5BbiBpbWFnZSBlbmNvZGVkIGluIEJNUCBmb3JtYXQuPC9vcGM6RG9jdW1lbnRhdGlv -bj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iSW1hZ2VH -SUYiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBpbWFnZSBlbmNvZGVkIGluIEdJRiBmb3Jt -YXQuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9w -YXF1ZVR5cGUgTmFtZT0iSW1hZ2VKUEciPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBpbWFn -ZSBlbmNvZGVkIGluIEpQRUcgZm9ybWF0Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9w -YXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkltYWdlUE5HIj4NCiAgICA8b3Bj -OkRvY3VtZW50YXRpb24+QW4gaW1hZ2UgZW5jb2RlZCBpbiBQTkcgZm9ybWF0Ljwvb3BjOkRvY3Vt -ZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9 -IkJpdEZpZWxkTWFza0RhdGFUeXBlIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBtYXNrIG9m -IDMyIGJpdHMgdGhhdCBjYW4gYmUgdXBkYXRlZCBpbmRpdmlkdWFsbHkgYnkgdXNpbmcgdGhlIHRv -cCAzMiBiaXRzIGFzIGEgbWFzay48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVU -eXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iT3BlbkZpbGVNb2RlIiBMZW5ndGhJ -bkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWFkIiBWYWx1ZT0i -MSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJXcml0ZSIgVmFsdWU9IjIiIC8+ -DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRXJhc2VFeGlzdGluZyIgVmFsdWU9IjQi -IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQXBwZW5kIiBWYWx1ZT0iOCIgLz4N -CiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJU -cnVzdExpc3RNYXNrcyIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs -dWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt -ZT0iVHJ1c3RlZENlcnRpZmljYXRlcyIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk -VmFsdWUgTmFtZT0iVHJ1c3RlZENybHMiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRl -ZFZhbHVlIE5hbWU9Iklzc3VlckNlcnRpZmljYXRlcyIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpF -bnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNzdWVyQ3JscyIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpF -bnVtZXJhdGVkVmFsdWUgTmFtZT0iQWxsIiBWYWx1ZT0iMTUiIC8+DQogIDwvb3BjOkVudW1lcmF0 -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVHJ1c3RMaXN0RGF0YVR5cGUi -IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Bl -Y2lmaWVkTGlzdHMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iTm9PZlRydXN0ZWRDZXJ0aWZpY2F0ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJUcnVzdGVkQ2VydGlmaWNhdGVzIiBUeXBlTmFtZT0ib3BjOkJ5dGVT -dHJpbmciIExlbmd0aEZpZWxkPSJOb09mVHJ1c3RlZENlcnRpZmljYXRlcyIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vT2ZUcnVzdGVkQ3JscyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlRydXN0ZWRDcmxzIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmci -IExlbmd0aEZpZWxkPSJOb09mVHJ1c3RlZENybHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO -b09mSXNzdWVyQ2VydGlmaWNhdGVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iSXNzdWVyQ2VydGlmaWNhdGVzIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmci -IExlbmd0aEZpZWxkPSJOb09mSXNzdWVyQ2VydGlmaWNhdGVzIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTm9PZklzc3VlckNybHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJJc3N1ZXJDcmxzIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIExlbmd0aEZp -ZWxkPSJOb09mSXNzdWVyQ3JscyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w -YzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJJZFR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxv -cGM6RG9jdW1lbnRhdGlvbj5UaGUgdHlwZSBvZiBpZGVudGlmaWVyIHVzZWQgaW4gYSBub2RlIGlk -Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTnVt -ZXJpYyIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3RyaW5n -IiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJHdWlkIiBWYWx1 -ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJPcGFxdWUiIFZhbHVlPSIz -IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5h -bWU9Ik5vZGVDbGFzcyIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u -PkEgbWFzayBzcGVjaWZ5aW5nIHRoZSBjbGFzcyBvZiB0aGUgbm9kZS48L29wYzpEb2N1bWVudGF0 -aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVuc3BlY2lmaWVkIiBWYWx1ZT0i -MCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJPYmplY3QiIFZhbHVlPSIxIiAv -Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZhcmlhYmxlIiBWYWx1ZT0iMiIgLz4N -CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJNZXRob2QiIFZhbHVlPSI0IiAvPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik9iamVjdFR5cGUiIFZhbHVlPSI4IiAvPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZhcmlhYmxlVHlwZSIgVmFsdWU9IjE2IiAvPg0K -ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlZmVyZW5jZVR5cGUiIFZhbHVlPSIzMiIg -Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEYXRhVHlwZSIgVmFsdWU9IjY0IiAv -Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZpZXciIFZhbHVlPSIxMjgiIC8+DQog -IDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm9k -ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u -PlNwZWNpZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gYWxsIG5vZGVzLjwvb3Bj -OkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1 -YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0 -bnM6Tm9kZUNsYXNzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5h -bWU9InVhOlF1YWxpZmllZE5hbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFt -ZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE -ZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlTm9k -ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2VzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw -ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikluc3RhbmNlTm9kZSIgQmFzZVR5cGU9 -InRuczpOb2RlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5v -ZGVJZCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rl -Q2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNzIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWRO -YW1lIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3Bs -YXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2Fs -aXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -V3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQz -MiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVm -ZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl -ZmVyZW5jZXMiIFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlTm9kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZS -ZWZlcmVuY2VzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy -ZWRUeXBlIE5hbWU9IlR5cGVOb2RlIiBCYXNlVHlwZT0idG5zOk5vZGUiPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9k -ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2Rl -Q2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJv -d3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2Rl -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2Nh -bGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5z -Ok5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6 -VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVz -ZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOklu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpS -ZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogIDwvb3BjOlN0 -cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iT2JqZWN0Tm9kZSIg -QmFzZVR5cGU9InRuczpJbnN0YW5jZU5vZGUiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5TcGVj -aWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIG9iamVjdCBub2Rlcy48L29wYzpE -b2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6 -Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v -ZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmll -ZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlz -cGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9k -ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9j -YWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZS -ZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9P -ZlJlZmVyZW5jZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVudE5vdGlmaWVyIiBUeXBl -TmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry -dWN0dXJlZFR5cGUgTmFtZT0iT2JqZWN0VHlwZU5vZGUiIEJhc2VUeXBlPSJ0bnM6VHlwZU5vZGUi -Pg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2gg -YmVsb25nIHRvIG9iamVjdCB0eXBlIG5vZGVzLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRu -czpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5z -Ok5vZGVDbGFzcyIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgU291cmNlVHlwZT0idG5z -Ok5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVh -OkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBl -PSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9 -Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpO -b2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJv -cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBlTmFtZT0i -dG5zOlJlZmVyZW5jZU5vZGUiIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlcyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAg -PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJWYXJp -YWJsZU5vZGUiIEJhc2VUeXBlPSJ0bnM6SW5zdGFuY2VOb2RlIj4NCiAgICA8b3BjOkRvY3VtZW50 -YXRpb24+U3BlY2lmaWVzIHRoZSBhdHRyaWJ1dGVzIHdoaWNoIGJlbG9uZyB0byB2YXJpYWJsZSBu -b2Rlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBU -eXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9 -InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9 -InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VU -eXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBl -TmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBl -PSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVO -YW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5n -dGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIg -VHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZSIg -VHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlUmFuayIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBcnJheURp -bWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJB -cnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkFy -cmF5RGltZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFjY2Vzc0xldmVsIiBUeXBl -TmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyQWNjZXNzTGV2ZWwi -IFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1pbmltdW1TYW1w -bGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ikhpc3Rvcml6aW5nIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVj -dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVmFyaWFibGVUeXBlTm9k -ZSIgQmFzZVR5cGU9InRuczpUeXBlTm9kZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlNwZWNp -ZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gdmFyaWFibGUgdHlwZSBub2Rlcy48 -L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFt -ZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpO -b2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1 -YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0 -bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0i -dWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6 -Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJv -cGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVs -ZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5h -bWU9InVhOlZhcmlhbnQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZSIgVHlwZU5h -bWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlUmFuayIgVHlwZU5h -bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBcnJheURpbWVuc2lv -bnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBcnJheURp -bWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkFycmF5RGlt -ZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5cGVOYW1lPSJv -cGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJSZWZlcmVuY2VUeXBlTm9kZSIgQmFzZVR5cGU9InRuczpUeXBlTm9kZSI+ -DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBi -ZWxvbmcgdG8gcmVmZXJlbmNlIHR5cGUgbm9kZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0i -dG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0 -bnM6Tm9kZUNsYXNzIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBTb3VyY2VUeXBlPSJ0 -bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0i -dWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5 -cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFt -ZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5z -Ok5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlcyIgVHlwZU5hbWU9 -Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXMiIFR5cGVOYW1l -PSJ0bnM6UmVmZXJlbmNlTm9kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2VzIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iSXNBYnN0cmFjdCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iU3ltbWV0cmljIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbnZlcnNlTmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXpl -ZFRleHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iTWV0aG9kTm9kZSIgQmFzZVR5cGU9InRuczpJbnN0YW5jZU5vZGUiPg0KICAgIDxv -cGM6RG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRv -IG1ldGhvZCBub2Rlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Tm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNv -dXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIg -VHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0 -IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0 -aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBT -b3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1h -c2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VO -b2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJFeGVjdXRhYmxlIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJVc2VyRXhlY3V0YWJsZSIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpT -dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlZpZXdOb2RlIiBC -YXNlVHlwZT0idG5zOkluc3RhbmNlTm9kZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQi -IFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgU291cmNlVHlw -ZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFt -ZT0idWE6UXVhbGlmaWVkTmFtZSIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJj -ZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5 -cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5 -cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlw -ZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBlTmFtZT0idG5zOlJlZmVyZW5jZU5vZGUiIExl -bmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbnRh -aW5zTm9Mb29wcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iRXZlbnROb3RpZmllciIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFUeXBlTm9kZSIgQmFz -ZVR5cGU9InRuczpUeXBlTm9kZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVO -YW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgU291cmNlVHlwZT0idG5z -Ok5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6 -UXVhbGlmaWVkTmFtZSIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9 -InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1l -PSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRu -czpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9 -Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBlTmFtZT0idG5zOlJlZmVyZW5jZU5vZGUiIExlbmd0aEZp -ZWxkPSJOb09mUmVmZXJlbmNlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3Qi -IFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg -PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWZlcmVuY2VOb2RlIiBCYXNlVHlwZT0idWE6RXh0 -ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+U3BlY2lmaWVzIGEgcmVmZXJl -bmNlIHdoaWNoIGJlbG9uZ3MgdG8gYSBub2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJJc0ludmVyc2UiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldElkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2Rl -SWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg -TmFtZT0iQXJndW1lbnQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 -RG9jdW1lbnRhdGlvbj5BbiBhcmd1bWVudCBmb3IgYSBtZXRob2QuPC9vcGM6RG9jdW1lbnRhdGlv -bj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZVJhbmsiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0ib3BjOklu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0i -b3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+ -DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i -RW51bVZhbHVlVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpE -b2N1bWVudGF0aW9uPkEgbWFwcGluZyBiZXR3ZWVuIGEgdmFsdWUgb2YgYW4gZW51bWVyYXRlZCB0 -eXBlIGFuZCBhIG5hbWUgYW5kIGRlc2NyaXB0aW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9Im9wYzpJbnQ2NCIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVk -VGV4dCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJPcHRpb25TZXQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv -cGM6RG9jdW1lbnRhdGlvbj5UaGlzIGFic3RyYWN0IFN0cnVjdHVyZWQgRGF0YVR5cGUgaXMgdGhl -IGJhc2UgRGF0YVR5cGUgZm9yIGFsbCBEYXRhVHlwZXMgcmVwcmVzZW50aW5nIGEgYml0IG1hc2su -PC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFt -ZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWxpZEJpdHMiIFR5 -cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg -PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVbmlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i -amVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoaXMgYWJzdHJhY3QgRGF0YVR5cGUgaXMg -dGhlIGJhc2UgRGF0YVR5cGUgZm9yIGFsbCB1bmlvbiBEYXRhVHlwZXMuPC9vcGM6RG9jdW1lbnRh -dGlvbj4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9 -Ik5vcm1hbGl6ZWRTdHJpbmciPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHN0cmluZyBub3Jt -YWxpemVkIGJhc2VkIG9uIHRoZSBydWxlcyBpbiB0aGUgdW5pY29kZSBzcGVjaWZpY2F0aW9uLjwv -b3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVU -eXBlIE5hbWU9IkRlY2ltYWxTdHJpbmciPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBhcmJp -dHJhdHkgbnVtZXJpYyB2YWx1ZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVU -eXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJEdXJhdGlvblN0cmluZyI+DQogICAgPG9w -YzpEb2N1bWVudGF0aW9uPkEgcGVyaW9kIG9mIHRpbWUgZm9ybWF0dGVkIGFzIGRlZmluZWQgaW4g -SVNPIDg2MDEtMjAwMC48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0K -DQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJUaW1lU3RyaW5nIj4NCiAgICA8b3BjOkRvY3VtZW50 -YXRpb24+QSB0aW1lIGZvcm1hdHRlZCBhcyBkZWZpbmVkIGluIElTTyA4NjAxLTIwMDAuPC9vcGM6 -RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUg -TmFtZT0iRGF0ZVN0cmluZyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgZGF0ZSBmb3JtYXR0 -ZWQgYXMgZGVmaW5lZCBpbiBJU08gODYwMS0yMDAwLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwv -b3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkR1cmF0aW9uIj4NCiAg -ICA8b3BjOkRvY3VtZW50YXRpb24+QSBwZXJpb2Qgb2YgdGltZSBtZWFzdXJlZCBpbiBtaWxsaXNl -Y29uZHMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3Bj -Ok9wYXF1ZVR5cGUgTmFtZT0iVXRjVGltZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgZGF0 -ZS90aW1lIHZhbHVlIHNwZWNpZmllZCBpbiBVbml2ZXJzYWwgQ29vcmRpbmF0ZWQgVGltZSAoVVRD -KS48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3Bh -cXVlVHlwZSBOYW1lPSJMb2NhbGVJZCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkFuIGlkZW50 -aWZpZXIgZm9yIGEgdXNlciBsb2NhbGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3Bh -cXVlVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRpbWVab25lRGF0YVR5cGUi -IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iT2Zm -c2V0IiBUeXBlTmFtZT0ib3BjOkludDE2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF5bGln -aHRTYXZpbmdJbk9mZnNldCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iSW50ZWdlcklkIj4NCiAgICA8 -b3BjOkRvY3VtZW50YXRpb24+QSBudW1lcmljIGlkZW50aWZpZXIgZm9yIGFuIG9iamVjdC48L29w -YzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRl -ZFR5cGUgTmFtZT0iQXBwbGljYXRpb25UeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3Bj -OkRvY3VtZW50YXRpb24+VGhlIHR5cGVzIG9mIGFwcGxpY2F0aW9ucy48L29wYzpEb2N1bWVudGF0 -aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNlcnZlciIgVmFsdWU9IjAiIC8+ -DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ2xpZW50IiBWYWx1ZT0iMSIgLz4NCiAg -ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDbGllbnRBbmRTZXJ2ZXIiIFZhbHVlPSIyIiAv -Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRpc2NvdmVyeVNlcnZlciIgVmFsdWU9 -IjMiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg -TmFtZT0iQXBwbGljYXRpb25EZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj -dCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkRlc2NyaWJlcyBhbiBhcHBsaWNhdGlvbiBhbmQg -aG93IHRvIGZpbmQgaXQuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkFwcGxpY2F0aW9uVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlByb2R1Y3RVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iQXBwbGljYXRpb25OYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkFwcGxpY2F0aW9uVHlwZSIgVHlwZU5hbWU9InRuczpBcHBs -aWNhdGlvblR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJHYXRld2F5U2VydmVyVXJpIiBU -eXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2NvdmVyeVBy -b2ZpbGVVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Tm9PZkRpc2NvdmVyeVVybHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJEaXNjb3ZlcnlVcmxzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9 -Ik5vT2ZEaXNjb3ZlcnlVcmxzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -OlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlcXVlc3RIZWFkZXIiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp -b25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgaGVhZGVyIHBhc3NlZCB3aXRo -IGV2ZXJ5IHNlcnZlciByZXF1ZXN0Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJBdXRoZW50aWNhdGlvblRva2VuIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iVGltZXN0YW1wIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhhbmRsZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXR1cm5EaWFnbm9zdGljcyIgVHlwZU5hbWU9Im9w -YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdWRpdEVudHJ5SWQiIFR5cGVOYW1l -PSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGltZW91dEhpbnQiIFR5cGVO -YW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWRkaXRpb25hbEhlYWRl -ciIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZXNwb25zZUhlYWRlciIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSBoZWFk -ZXIgcGFzc2VkIHdpdGggZXZlcnkgc2VydmVyIHJlc3BvbnNlLjwvb3BjOkRvY3VtZW50YXRpb24+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lc3RhbXAiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGFuZGxlIiBUeXBlTmFtZT0ib3BjOlVJ -bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZpY2VSZXN1bHQiIFR5cGVOYW1lPSJ1 -YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmljZURpYWdub3N0aWNz -IiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO -b09mU3RyaW5nVGFibGUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJTdHJpbmdUYWJsZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09m -U3RyaW5nVGFibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGRpdGlvbmFsSGVhZGVyIiBU -eXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N -Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNlcnZpY2VGYXVsdCIgQmFzZVR5cGU9InVh -OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSByZXNwb25zZSBy -ZXR1cm5lZCBieSBhbGwgc2VydmljZXMgd2hlbiB0aGVyZSBpcyBhIHNlcnZpY2UgbGV2ZWwgZXJy -b3IuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVh -ZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkZpbmRTZXJ2ZXJzUmVxdWVzdCIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkZp -bmRzIHRoZSBzZXJ2ZXJzIGtub3duIHRvIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwvb3BjOkRvY3Vt -ZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0i -dG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybCIg -VHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTG9jYWxl -SWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTG9jYWxl -SWRzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZMb2NhbGVJZHMiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VydmVyVXJpcyIgVHlwZU5hbWU9Im9wYzpJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclVyaXMiIFR5cGVOYW1lPSJvcGM6U3Ry -aW5nIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlclVyaXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRmluZFNlcnZlcnNSZXNwb25zZSIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkZp -bmRzIHRoZSBzZXJ2ZXJzIGtub3duIHRvIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwvb3BjOkRvY3Vt -ZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9 -InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJz -IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVycyIg -VHlwZU5hbWU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZlNl -cnZlcnMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iU2VydmVyT25OZXR3b3JrIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlY29yZElkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY292ZXJ5VXJsIiBUeXBlTmFtZT0ib3BjOlN0cmlu -ZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJDYXBhYmlsaXRpZXMiIFR5cGVO -YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJDYXBhYmlsaXRp -ZXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlckNhcGFiaWxp -dGllcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJGaW5kU2VydmVyc09uTmV0d29ya1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp -b25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9 -InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhcnRpbmdSZWNv -cmRJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhS -ZWNvcmRzVG9SZXR1cm4iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTm9PZlNlcnZlckNhcGFiaWxpdHlGaWx0ZXIiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJDYXBhYmlsaXR5RmlsdGVyIiBUeXBlTmFtZT0i -b3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJDYXBhYmlsaXR5RmlsdGVyIiAvPg0K -ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkZp -bmRTZXJ2ZXJzT25OZXR3b3JrUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVz -cG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0Q291bnRlclJlc2V0VGlt -ZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZT -ZXJ2ZXJzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vy -dmVycyIgVHlwZU5hbWU9InRuczpTZXJ2ZXJPbk5ldHdvcmsiIExlbmd0aEZpZWxkPSJOb09mU2Vy -dmVycyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5h -bWU9IkFwcGxpY2F0aW9uSW5zdGFuY2VDZXJ0aWZpY2F0ZSI+DQogICAgPG9wYzpEb2N1bWVudGF0 -aW9uPkEgY2VydGlmaWNhdGUgZm9yIGFuIGluc3RhbmNlIG9mIGFuIGFwcGxpY2F0aW9uLjwvb3Bj -OkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVk -VHlwZSBOYW1lPSJNZXNzYWdlU2VjdXJpdHlNb2RlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8 -b3BjOkRvY3VtZW50YXRpb24+VGhlIHR5cGUgb2Ygc2VjdXJpdHkgdG8gdXNlIG9uIGEgbWVzc2Fn -ZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Iklu -dmFsaWQiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUi -IFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNpZ24iIFZhbHVl -PSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNpZ25BbmRFbmNyeXB0IiBW -YWx1ZT0iMyIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVk -VHlwZSBOYW1lPSJVc2VyVG9rZW5UeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRv -Y3VtZW50YXRpb24+VGhlIHBvc3NpYmxlIHVzZXIgdG9rZW4gdHlwZXMuPC9vcGM6RG9jdW1lbnRh -dGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBbm9ueW1vdXMiIFZhbHVlPSIw -IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVzZXJOYW1lIiBWYWx1ZT0iMSIg -Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDZXJ0aWZpY2F0ZSIgVmFsdWU9IjIi -IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNzdWVkVG9rZW4iIFZhbHVlPSIz -IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9IlVzZXJUb2tlblBvbGljeSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg -PG9wYzpEb2N1bWVudGF0aW9uPkRlc2NyaWJlcyBhIHVzZXIgdG9rZW4gdGhhdCBjYW4gYmUgdXNl -ZCB3aXRoIGEgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJQb2xpY3lJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJUb2tlblR5cGUiIFR5cGVOYW1lPSJ0bnM6VXNlclRva2VuVHlwZSIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Iklzc3VlZFRva2VuVHlwZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJJc3N1ZXJFbmRwb2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJpbmci -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eVBvbGljeVVyaSIgVHlwZU5hbWU9Im9w -YzpTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl -ZFR5cGUgTmFtZT0iRW5kcG9pbnREZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i -amVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSBkZXNjcmlwdGlvbiBvZiBhIGVuZHBv -aW50IHRoYXQgY2FuIGJlIHVzZWQgdG8gYWNjZXNzIGEgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRp -b24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJp -bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXIiIFR5cGVOYW1lPSJ0bnM6QXBwbGlj -YXRpb25EZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlckNlcnRpZmlj -YXRlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT -ZWN1cml0eU1vZGUiIFR5cGVOYW1lPSJ0bnM6TWVzc2FnZVNlY3VyaXR5TW9kZSIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5UG9saWN5VXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZVc2VySWRlbnRpdHlUb2tlbnMiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VySWRlbnRpdHlUb2tlbnMi -IFR5cGVOYW1lPSJ0bnM6VXNlclRva2VuUG9saWN5IiBMZW5ndGhGaWVsZD0iTm9PZlVzZXJJZGVu -dGl0eVRva2VucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyYW5zcG9ydFByb2ZpbGVVcmki -IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlM -ZXZlbCIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkdldEVuZHBvaW50c1JlcXVlc3QiIEJhc2VUeXBl -PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5HZXRzIHRoZSBl -bmRwb2ludHMgdXNlZCBieSB0aGUgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJp -bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3Bj -OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3Bj -OlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZMb2NhbGVJZHMiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb09mUHJvZmlsZVVyaXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJQcm9maWxlVXJpcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxk -PSJOb09mUHJvZmlsZVVyaXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 -U3RydWN0dXJlZFR5cGUgTmFtZT0iR2V0RW5kcG9pbnRzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpF -eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5HZXRzIHRoZSBlbmRwb2lu -dHMgdXNlZCBieSB0aGUgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFbmRwb2ludHMiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRwb2ludHMiIFR5cGVOYW1lPSJ0bnM6RW5kcG9p -bnREZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZFbmRwb2ludHMiIC8+DQogIDwvb3BjOlN0 -cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVnaXN0ZXJlZFNl -cnZlciIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0 -aW9uPlRoZSBpbmZvcm1hdGlvbiByZXF1aXJlZCB0byByZWdpc3RlciBhIHNlcnZlciB3aXRoIGEg -ZGlzY292ZXJ5IHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iU2VydmVyVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlByb2R1Y3RVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTm9PZlNlcnZlck5hbWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iU2VydmVyTmFtZXMiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBMZW5n -dGhGaWVsZD0iTm9PZlNlcnZlck5hbWVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVy -VHlwZSIgVHlwZU5hbWU9InRuczpBcHBsaWNhdGlvblR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJHYXRld2F5U2VydmVyVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vT2ZEaXNjb3ZlcnlVcmxzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY292ZXJ5VXJscyIgVHlwZU5hbWU9Im9wYzpTdHJpbmci -IExlbmd0aEZpZWxkPSJOb09mRGlzY292ZXJ5VXJscyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlNlbWFwaG9yZUZpbGVQYXRoIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IklzT25saW5lIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0 -cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVnaXN0ZXJTZXJ2 -ZXJSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3Vt -ZW50YXRpb24+UmVnaXN0ZXJzIGEgc2VydmVyIHdpdGggdGhlIGRpc2NvdmVyeSBzZXJ2ZXIuPC9v -cGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5 -cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZl -ciIgVHlwZU5hbWU9InRuczpSZWdpc3RlcmVkU2VydmVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlZ2lzdGVyU2VydmVyUmVzcG9u -c2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlv -bj5SZWdpc3RlcnMgYSBzZXJ2ZXIgd2l0aCB0aGUgZGlzY292ZXJ5IHNlcnZlci48L29wYzpEb2N1 -bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1l -PSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv -cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGlzY292ZXJ5Q29uZmlndXJhdGlvbiIgQmFzZVR5cGU9 -InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgYmFzZSB0eXBl -IGZvciBkaXNjb3ZlcnkgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbi48L29wYzpEb2N1bWVudGF0 -aW9uPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9Ik1kbnNEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiBCYXNlVHlwZT0idG5zOkRpc2NvdmVyeUNv -bmZpZ3VyYXRpb24iPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgZGlzY292ZXJ5IGluZm9y -bWF0aW9uIG5lZWRlZCBmb3IgbUROUyByZWdpc3RyYXRpb24uPC9vcGM6RG9jdW1lbnRhdGlvbj4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1kbnNTZXJ2ZXJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmlu -ZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJDYXBhYmlsaXRpZXMiIFR5cGVO -YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJDYXBhYmlsaXRp -ZXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlckNhcGFiaWxp -dGllcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJSZWdpc3RlclNlcnZlcjJSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq -ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6 -UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlciIgVHlwZU5hbWU9 -InRuczpSZWdpc3RlcmVkU2VydmVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpc2Nv -dmVyeUNvbmZpZ3VyYXRpb24iIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2Jq -ZWN0IiBMZW5ndGhGaWVsZD0iTm9PZkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIC8+DQogIDwvb3Bj -OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVnaXN0ZXJT -ZXJ2ZXIyUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQ29uZmlndXJhdGlvblJlc3VsdHMiIFR5cGVO -YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb25maWd1cmF0aW9uUmVz -dWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mQ29uZmlndXJh -dGlvblJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9z -IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3Rp -Y0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlh -Z25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1l -cmF0ZWRUeXBlIE5hbWU9IlNlY3VyaXR5VG9rZW5SZXF1ZXN0VHlwZSIgTGVuZ3RoSW5CaXRzPSIz -MiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkluZGljYXRlcyB3aGV0aGVyIGEgdG9rZW4gaWYg -YmVpbmcgY3JlYXRlZCBvciByZW5ld2VkLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpF -bnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNzdWUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVy -YXRlZFZhbHVlIE5hbWU9IlJlbmV3IiBWYWx1ZT0iMSIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDaGFubmVsU2VjdXJpdHlUb2tlbiIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRo -ZSB0b2tlbiB0aGF0IGlkZW50aWZpZXMgYSBzZXQgb2Yga2V5cyBmb3IgYW4gYWN0aXZlIHNlY3Vy -ZSBjaGFubmVsLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDaGFu -bmVsSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVG9r -ZW5JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDcmVh -dGVkQXQiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS -ZXZpc2VkTGlmZXRpbWUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik9wZW5TZWN1cmVDaGFubmVs -UmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVu -dGF0aW9uPkNyZWF0ZXMgYSBzZWN1cmUgY2hhbm5lbCB3aXRoIGEgc2VydmVyLjwvb3BjOkRvY3Vt -ZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0i -dG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnRQcm90b2Nv -bFZlcnNpb24iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UmVxdWVzdFR5cGUiIFR5cGVOYW1lPSJ0bnM6U2VjdXJpdHlUb2tlblJlcXVlc3RUeXBlIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlNb2RlIiBUeXBlTmFtZT0idG5zOk1lc3NhZ2VT -ZWN1cml0eU1vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnROb25jZSIgVHlwZU5h -bWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkTGlm -ZXRpbWUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N -Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik9wZW5TZWN1cmVDaGFubmVsUmVzcG9uc2Ui -IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5D -cmVhdGVzIGEgc2VjdXJlIGNoYW5uZWwgd2l0aCBhIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9u -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVz -cG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJQcm90b2NvbFZlcnNp -b24iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJp -dHlUb2tlbiIgVHlwZU5hbWU9InRuczpDaGFubmVsU2VjdXJpdHlUb2tlbiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlNlcnZlck5vbmNlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ2xv -c2VTZWN1cmVDaGFubmVsUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog -ICAgPG9wYzpEb2N1bWVudGF0aW9uPkNsb3NlcyBhIHNlY3VyZSBjaGFubmVsLjwvb3BjOkRvY3Vt -ZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0i -dG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 -U3RydWN0dXJlZFR5cGUgTmFtZT0iQ2xvc2VTZWN1cmVDaGFubmVsUmVzcG9uc2UiIEJhc2VUeXBl -PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5DbG9zZXMgYSBz -ZWN1cmUgY2hhbm5lbC48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogIDwvb3Bj -OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2lnbmVkU29m -dHdhcmVDZXJ0aWZpY2F0ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w -YzpEb2N1bWVudGF0aW9uPkEgc29mdHdhcmUgY2VydGlmaWNhdGUgd2l0aCBhIGRpZ2l0YWwgc2ln -bmF0dXJlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDZXJ0aWZp -Y2F0ZURhdGEiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlNpZ25hdHVyZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iU2Vzc2lvbkF1dGhlbnRpY2F0 -aW9uVG9rZW4iPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHVuaXF1ZSBpZGVudGlmaWVyIGZv -ciBhIHNlc3Npb24gdXNlZCB0byBhdXRoZW50aWNhdGUgcmVxdWVzdHMuPC9vcGM6RG9jdW1lbnRh -dGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -IlNpZ25hdHVyZURhdGEiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 -RG9jdW1lbnRhdGlvbj5BIGRpZ2l0YWwgc2lnbmF0dXJlLjwvb3BjOkRvY3VtZW50YXRpb24+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJBbGdvcml0aG0iIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iU2lnbmF0dXJlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmci -IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt -ZT0iQ3JlYXRlU2Vzc2lvblJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K -ICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5DcmVhdGVzIGEgbmV3IHNlc3Npb24gd2l0aCB0aGUgc2Vy -dmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVh -ZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJDbGllbnREZXNjcmlwdGlvbiIgVHlwZU5hbWU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9u -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmlu -ZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZHBvaW50VXJsIiBUeXBlTmFtZT0ib3BjOlN0 -cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlc3Npb25OYW1lIiBUeXBlTmFtZT0ib3Bj -OlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudE5vbmNlIiBUeXBlTmFtZT0i -b3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnRDZXJ0aWZpY2F0 -ZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVx -dWVzdGVkU2Vzc2lvblRpbWVvdXQiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iTWF4UmVzcG9uc2VNZXNzYWdlU2l6ZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIi -IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt -ZT0iQ3JlYXRlU2Vzc2lvblJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q3JlYXRlcyBhIG5ldyBzZXNzaW9uIHdpdGggdGhlIHNl -cnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VI -ZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJTZXNzaW9uSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJBdXRoZW50aWNhdGlvblRva2VuIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iUmV2aXNlZFNlc3Npb25UaW1lb3V0IiBUeXBlTmFtZT0ib3BjOkRvdWJs -ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlck5vbmNlIiBUeXBlTmFtZT0ib3BjOkJ5 -dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJDZXJ0aWZpY2F0ZSIgVHlw -ZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlcnZl -ckVuZHBvaW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlNlcnZlckVuZHBvaW50cyIgVHlwZU5hbWU9InRuczpFbmRwb2ludERlc2NyaXB0aW9uIiBMZW5n -dGhGaWVsZD0iTm9PZlNlcnZlckVuZHBvaW50cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v -T2ZTZXJ2ZXJTb2Z0d2FyZUNlcnRpZmljYXRlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclNvZnR3YXJlQ2VydGlmaWNhdGVzIiBUeXBlTmFtZT0i -dG5zOlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiIExlbmd0aEZpZWxkPSJOb09mU2VydmVyU29m -dHdhcmVDZXJ0aWZpY2F0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJTaWduYXR1 -cmUiIFR5cGVOYW1lPSJ0bnM6U2lnbmF0dXJlRGF0YSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -Ik1heFJlcXVlc3RNZXNzYWdlU2l6ZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3Bj -OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVXNlcklkZW50 -aXR5VG9rZW4iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1l -bnRhdGlvbj5BIGJhc2UgdHlwZSBmb3IgYSB1c2VyIGlkZW50aXR5IHRva2VuLjwvb3BjOkRvY3Vt -ZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQb2xpY3lJZCIgVHlwZU5hbWU9Im9wYzpT -dHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iQW5vbnltb3VzSWRlbnRpdHlUb2tlbiIgQmFzZVR5cGU9InRuczpVc2VySWRlbnRp -dHlUb2tlbiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgdG9rZW4gcmVwcmVzZW50aW5nIGFu -IGFub255bW91cyB1c2VyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJQb2xpY3lJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIFNvdXJjZVR5cGU9InRuczpVc2VySWRl -bnRpdHlUb2tlbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJVc2VyTmFtZUlkZW50aXR5VG9rZW4iIEJhc2VUeXBlPSJ0bnM6VXNlcklk -ZW50aXR5VG9rZW4iPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHRva2VuIHJlcHJlc2VudGlu -ZyBhIHVzZXIgaWRlbnRpZmllZCBieSBhIHVzZXIgbmFtZSBhbmQgcGFzc3dvcmQuPC9vcGM6RG9j -dW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBvbGljeUlkIiBUeXBlTmFtZT0ib3Bj -OlN0cmluZyIgU291cmNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iVXNlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iUGFzc3dvcmQiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IkVuY3J5cHRpb25BbGdvcml0aG0iIFR5cGVOYW1lPSJvcGM6U3RyaW5n -IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9Ilg1MDlJZGVudGl0eVRva2VuIiBCYXNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIj4N -CiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSB0b2tlbiByZXByZXNlbnRpbmcgYSB1c2VyIGlkZW50 -aWZpZWQgYnkgYW4gWDUwOSBjZXJ0aWZpY2F0ZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iUG9saWN5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBTb3VyY2VUeXBl -PSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDZXJ0aWZp -Y2F0ZURhdGEiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl -ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJJc3N1ZWRJZGVudGl0eVRva2Vu -IiBCYXNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIj4NCiAgICA8b3BjOkRvY3VtZW50YXRp -b24+QSB0b2tlbiByZXByZXNlbnRpbmcgYSB1c2VyIGlkZW50aWZpZWQgYnkgYSBXUy1TZWN1cml0 -eSBYTUwgdG9rZW4uPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBv -bGljeUlkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgU291cmNlVHlwZT0idG5zOlVzZXJJZGVudGl0 -eVRva2VuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVG9rZW5EYXRhIiBUeXBlTmFtZT0ib3Bj -OkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmNyeXB0aW9uQWxnb3JpdGht -IiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg -PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBY3RpdmF0ZVNlc3Npb25SZXF1ZXN0IiBCYXNlVHlw -ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QWN0aXZhdGVz -IGEgc2Vzc2lvbiB3aXRoIHRoZSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudFNpZ25hdHVyZSIgVHlwZU5hbWU9InRuczpT -aWduYXR1cmVEYXRhIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkNsaWVudFNvZnR3YXJl -Q2VydGlmaWNhdGVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iQ2xpZW50U29mdHdhcmVDZXJ0aWZpY2F0ZXMiIFR5cGVOYW1lPSJ0bnM6U2lnbmVkU29mdHdh -cmVDZXJ0aWZpY2F0ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZDbGllbnRTb2Z0d2FyZUNlcnRpZmljYXRl -cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZMb2NhbGVJZHMiIFR5cGVOYW1lPSJvcGM6 -SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMb2NhbGVJZHMiIFR5cGVOYW1lPSJvcGM6 -U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZkxvY2FsZUlkcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlVzZXJJZGVudGl0eVRva2VuIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlclRva2VuU2lnbmF0dXJlIiBUeXBlTmFtZT0idG5zOlNp -Z25hdHVyZURhdGEiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 -dXJlZFR5cGUgTmFtZT0iQWN0aXZhdGVTZXNzaW9uUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRl -bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BY3RpdmF0ZXMgYSBzZXNzaW9u -IHdpdGggdGhlIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJOb25jZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29k -ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P -ZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5n -dGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDbG9zZVNlc3Npb25SZXF1ZXN0IiBCYXNl -VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q2xvc2Vz -IGEgc2Vzc2lvbiB3aXRoIHRoZSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlbGV0ZVN1YnNjcmlwdGlvbnMiIFR5cGVOYW1lPSJv -cGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJDbG9zZVNlc3Npb25SZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lv -bk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkNsb3NlcyBhIHNlc3Npb24gd2l0aCB0 -aGUgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNw -b25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDYW5jZWxSZXF1ZXN0 -IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+ -Q2FuY2VscyBhbiBvdXRzdGFuZGluZyByZXF1ZXN0Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFk -ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGFuZGxlIiBUeXBlTmFtZT0ib3Bj -OlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk -VHlwZSBOYW1lPSJDYW5jZWxSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkNhbmNlbHMgYW4gb3V0c3RhbmRpbmcgcmVxdWVzdC48 -L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIi -IFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJD -YW5jZWxDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iTm9kZUF0dHJpYnV0ZXNNYXNrIiBM -ZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIGJpdHMgdXNlZCB0 -byBzcGVjaWZ5IGRlZmF1bHQgYXR0cmlidXRlcyBmb3IgYSBuZXcgbm9kZS48L29wYzpEb2N1bWVu -dGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAv -Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFjY2Vzc0xldmVsIiBWYWx1ZT0iMSIg -Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBcnJheURpbWVuc2lvbnMiIFZhbHVl -PSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJyb3dzZU5hbWUiIFZhbHVl -PSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkNvbnRhaW5zTm9Mb29wcyIg -VmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGF0YVR5cGUiIFZh -bHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEZXNjcmlwdGlvbiIg -VmFsdWU9IjMyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRpc3BsYXlOYW1l -IiBWYWx1ZT0iNjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRXZlbnROb3Rp -ZmllciIgVmFsdWU9IjEyOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJFeGVj -dXRhYmxlIiBWYWx1ZT0iMjU2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikhp -c3Rvcml6aW5nIiBWYWx1ZT0iNTEyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 -IkludmVyc2VOYW1lIiBWYWx1ZT0iMTAyNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO -YW1lPSJJc0Fic3RyYWN0IiBWYWx1ZT0iMjA0OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbCIgVmFsdWU9IjQwOTYiIC8+DQogICAgPG9w -YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9kZUNsYXNzIiBWYWx1ZT0iODE5MiIgLz4NCiAgICA8 -b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlSWQiIFZhbHVlPSIxNjM4NCIgLz4NCiAgICA8 -b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTeW1tZXRyaWMiIFZhbHVlPSIzMjc2OCIgLz4NCiAg -ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVc2VyQWNjZXNzTGV2ZWwiIFZhbHVlPSI2NTUz -NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVc2VyRXhlY3V0YWJsZSIgVmFs -dWU9IjEzMTA3MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVc2VyV3JpdGVN -YXNrIiBWYWx1ZT0iMjYyMTQ0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZh -bHVlUmFuayIgVmFsdWU9IjUyNDI4OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l -PSJXcml0ZU1hc2siIFZhbHVlPSIxMDQ4NTc2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9IlZhbHVlIiBWYWx1ZT0iMjA5NzE1MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJBbGwiIFZhbHVlPSI0MTk0MzAzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9IkJhc2VOb2RlIiBWYWx1ZT0iMTMzNTM5NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJPYmplY3QiIFZhbHVlPSIxMzM1NTI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRl -ZFZhbHVlIE5hbWU9Ik9iamVjdFR5cGVPckRhdGFUeXBlIiBWYWx1ZT0iMTMzNzQ0NCIgLz4NCiAg -ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJWYXJpYWJsZSIgVmFsdWU9IjQwMjY5OTkiIC8+ -DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVmFyaWFibGVUeXBlIiBWYWx1ZT0iMzk1 -ODkwMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJNZXRob2QiIFZhbHVlPSIx -NDY2NzI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlZmVyZW5jZVR5cGUi -IFZhbHVlPSIxMzcxMjM2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZpZXci -IFZhbHVlPSIxMzM1NTMyIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0 -cnVjdHVyZWRUeXBlIE5hbWU9Ik5vZGVBdHRyaWJ1dGVzIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u -T2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIGJhc2UgYXR0cmlidXRlcyBmb3Ig -YWxsIG5vZGVzLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVj -aWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJ -bnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJPYmplY3RBdHRyaWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4N -CiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGFuIG9iamVjdCBub2Rl -Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRy -aWJ1dGVzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1 -dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpM -b2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNv -dXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ildy -aXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmli -dXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJv -cGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJFdmVudE5vdGlmaWVyIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3Bj -OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVmFyaWFibGVB -dHRyaWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICA8b3BjOkRvY3Vt -ZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGEgdmFyaWFibGUgbm9kZS48L29wYzpEb2N1bWVu -dGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3BlY2lmaWVkQXR0cmlidXRlcyIgVHlwZU5h -bWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIg -U291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -RGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6 -Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVO -YW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291 -cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFs -dWUiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5 -cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZVJh -bmsiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXJy -YXlEaW1lbnNpb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5v -T2ZBcnJheURpbWVuc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBY2Nlc3NMZXZlbCIg -VHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlckFjY2Vzc0xl -dmVsIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNaW5pbXVt -U2FtcGxpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJIaXN0b3JpemluZyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpT -dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1ldGhvZEF0dHJp -YnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgIDxvcGM6RG9jdW1lbnRh -dGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSBtZXRob2Qgbm9kZS48L29wYzpEb2N1bWVudGF0aW9u -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3BlY2lmaWVkQXR0cmlidXRlcyIgVHlwZU5hbWU9Im9w -YzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNl -VHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3Jp -cHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0 -dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJv -cGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlw -ZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXhlY3V0YWJs -ZSIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlckV4 -ZWN1dGFibGUiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJPYmplY3RUeXBlQXR0cmlidXRlcyIg -QmFzZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRo -ZSBhdHRyaWJ1dGVzIGZvciBhbiBvYmplY3QgdHlwZSBub2RlLjwvb3BjOkRvY3VtZW50YXRpb24+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0ib3Bj -OlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VU -eXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlw -dGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0 -cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9w -YzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBl -PSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0Fic3RyYWN0 -IiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog -IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVmFyaWFibGVUeXBlQXR0cmlidXRlcyIgQmFzZVR5 -cGU9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSBhdHRy -aWJ1dGVzIGZvciBhIHZhcmlhYmxlIHR5cGUgbm9kZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iU3BlY2lmaWVkQXR0cmlidXRlcyIgVHlwZU5hbWU9Im9wYzpVSW50 -MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0i -dG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24i -IFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0 -ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5z -Ok5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWUiIFR5cGVOYW1l -PSJ1YTpWYXJpYW50IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5cGUiIFR5cGVOYW1l -PSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZVJhbmsiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXJyYXlEaW1lbnNpb25z -IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXJyYXlEaW1l -bnNpb25zIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBcnJheURpbWVu -c2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0Fic3RyYWN0IiBUeXBlTmFtZT0ib3Bj -OkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl -ZFR5cGUgTmFtZT0iUmVmZXJlbmNlVHlwZUF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0 -dHJpYnV0ZXMiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSBy -ZWZlcmVuY2UgdHlwZSBub2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlw -ZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5h -bWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJp -YnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVh -OkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5 -cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0 -ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0 -ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0Fic3RyYWN0IiBUeXBlTmFtZT0ib3BjOkJv -b2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTeW1tZXRyaWMiIFR5cGVOYW1lPSJvcGM6 -Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkludmVyc2VOYW1lIiBUeXBlTmFtZT0i -dWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT -dHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRhVHlwZUF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9k -ZUF0dHJpYnV0ZXMiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3Ig -YSBkYXRhIHR5cGUgbm9kZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iU3BlY2lmaWVkQXR0cmlidXRlcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9 -InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1l -IiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1 -dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpM -b2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBl -PSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVN -YXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVz -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNBYnN0cmFjdCIgVHlwZU5hbWU9Im9wYzpCb29s -ZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl -IE5hbWU9IlZpZXdBdHRyaWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAg -ICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGEgdmlldyBub2RlLjwvb3Bj -OkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVz -IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6 -ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5 -cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFz -ayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJDb250YWluc05vTG9vcHMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IkV2ZW50Tm90aWZpZXIiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgPC9v -cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBZGROb2Rl -c0l0ZW0iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRh -dGlvbj5BIHJlcXVlc3QgdG8gYWRkIGEgbm9kZSB0byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2Uu -PC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBhcmVudE5vZGVJZCIg -VHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVm -ZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iUmVxdWVzdGVkTmV3Tm9kZUlkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFt -ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2Rl -Q2xhc3MiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQXR0cmlidXRlcyIgVHlwZU5hbWU9 -InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlR5cGVEZWZpbml0 -aW9uIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWRkTm9kZXNSZXN1bHQiIEJhc2VU -eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHJlc3Vs -dCBvZiBhbiBhZGQgbm9kZSBvcGVyYXRpb24uPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iQWRkZWROb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWRk -Tm9kZXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRv -Y3VtZW50YXRpb24+QWRkcyBvbmUgb3IgbW9yZSBub2RlcyB0byB0aGUgc2VydmVyIGFkZHJlc3Mg -c3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RI -ZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ik5vT2ZOb2Rlc1RvQWRkIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9kZXNUb0FkZCIgVHlwZU5hbWU9InRuczpBZGROb2Rlc0l0ZW0iIExlbmd0aEZp -ZWxkPSJOb09mTm9kZXNUb0FkZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w -YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBZGROb2Rlc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0 -ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QWRkcyBvbmUgb3IgbW9yZSBu -b2RlcyB0byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNl -SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJv -cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idG5z -OkFkZE5vZGVzUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25v -c3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpT -dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFkZFJlZmVyZW5j -ZXNJdGVtIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50 -YXRpb24+QSByZXF1ZXN0IHRvIGFkZCBhIHJlZmVyZW5jZSB0byB0aGUgc2VydmVyIGFkZHJlc3Mg -c3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvdXJjZU5v -ZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVy -ZW5jZVR5cGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IklzRm9yd2FyZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iVGFyZ2V0U2VydmVyVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlRhcmdldE5vZGVJZCIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iVGFyZ2V0Tm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVD -bGFzcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJBZGRSZWZlcmVuY2VzUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj -dCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkFkZHMgb25lIG9yIG1vcmUgcmVmZXJlbmNlcyB0 -byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzVG9BZGQiIFR5cGVOYW1lPSJv -cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzVG9BZGQiIFR5cGVO -YW1lPSJ0bnM6QWRkUmVmZXJlbmNlc0l0ZW0iIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlc1Rv -QWRkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl -IE5hbWU9IkFkZFJlZmVyZW5jZXNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj -dCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkFkZHMgb25lIG9yIG1vcmUgcmVmZXJlbmNlcyB0 -byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50 -MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVz -Q29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Tm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBM -ZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVOb2Rlc0l0ZW0iIEJhc2VU -eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHJlcXVl -c3QgdG8gZGVsZXRlIGEgbm9kZSB0byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9j -dW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5v -ZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlbGV0ZVRhcmdldFJlZmVyZW5jZXMiIFR5 -cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w -YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVOb2Rlc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpF -eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5EZWxldGUgb25lIG9yIG1v -cmUgbm9kZXMgZnJvbSB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlv -bj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVx -dWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOb2Rlc1RvRGVsZXRlIiBU -eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZXNUb0RlbGV0 -ZSIgVHlwZU5hbWU9InRuczpEZWxldGVOb2Rlc0l0ZW0iIExlbmd0aEZpZWxkPSJOb09mTm9kZXNU -b0RlbGV0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk -VHlwZSBOYW1lPSJEZWxldGVOb2Rlc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq -ZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+RGVsZXRlIG9uZSBvciBtb3JlIG5vZGVzIGZy -b20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRl -ciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOklu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1 -c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIg -TGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlUmVmZXJlbmNlc0l0ZW0i -IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5B -IHJlcXVlc3QgdG8gZGVsZXRlIGEgbm9kZSBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48 -L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU291cmNlTm9kZUlkIiBU -eXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlVHlw -ZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNGb3J3 -YXJkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUYXJn -ZXROb2RlSWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkRlbGV0ZUJpZGlyZWN0aW9uYWwiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAg -PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxl -dGVSZWZlcmVuY2VzUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg -PG9wYzpEb2N1bWVudGF0aW9uPkRlbGV0ZSBvbmUgb3IgbW9yZSByZWZlcmVuY2VzIGZyb20gdGhl -IHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlc1RvRGVsZXRlIiBUeXBlTmFtZT0ib3Bj -OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlc1RvRGVsZXRlIiBUeXBl -TmFtZT0idG5zOkRlbGV0ZVJlZmVyZW5jZXNJdGVtIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5j -ZXNUb0RlbGV0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJEZWxldGVSZWZlcmVuY2VzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRl -bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5EZWxldGUgb25lIG9yIG1vcmUg -cmVmZXJlbmNlcyBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0 -aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6 -UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlw -ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVO -YW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlh -Z25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29w -YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkF0dHJpYnV0 -ZVdyaXRlTWFzayIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkRl -ZmluZSBiaXRzIHVzZWQgdG8gaW5kaWNhdGUgd2hpY2ggYXR0cmlidXRlcyBhcmUgd3JpdGFibGUu -PC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25l -IiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBY2Nlc3NMZXZl -bCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQXJyYXlEaW1l -bnNpb25zIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCcm93 -c2VOYW1lIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDb250 -YWluc05vTG9vcHMiIFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 -IkRhdGFUeXBlIiBWYWx1ZT0iMTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i -RGVzY3JpcHRpb24iIFZhbHVlPSIzMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l -PSJEaXNwbGF5TmFtZSIgVmFsdWU9IjY0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9IkV2ZW50Tm90aWZpZXIiIFZhbHVlPSIxMjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs -dWUgTmFtZT0iRXhlY3V0YWJsZSIgVmFsdWU9IjI1NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJIaXN0b3JpemluZyIgVmFsdWU9IjUxMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0 -ZWRWYWx1ZSBOYW1lPSJJbnZlcnNlTmFtZSIgVmFsdWU9IjEwMjQiIC8+DQogICAgPG9wYzpFbnVt -ZXJhdGVkVmFsdWUgTmFtZT0iSXNBYnN0cmFjdCIgVmFsdWU9IjIwNDgiIC8+DQogICAgPG9wYzpF -bnVtZXJhdGVkVmFsdWUgTmFtZT0iTWluaW11bVNhbXBsaW5nSW50ZXJ2YWwiIFZhbHVlPSI0MDk2 -IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vZGVDbGFzcyIgVmFsdWU9Ijgx -OTIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9kZUlkIiBWYWx1ZT0iMTYz -ODQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3ltbWV0cmljIiBWYWx1ZT0i -MzI3NjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVXNlckFjY2Vzc0xldmVs -IiBWYWx1ZT0iNjU1MzYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVXNlckV4 -ZWN1dGFibGUiIFZhbHVlPSIxMzEwNzIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt -ZT0iVXNlcldyaXRlTWFzayIgVmFsdWU9IjI2MjE0NCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJWYWx1ZVJhbmsiIFZhbHVlPSI1MjQyODgiIC8+DQogICAgPG9wYzpFbnVtZXJh -dGVkVmFsdWUgTmFtZT0iV3JpdGVNYXNrIiBWYWx1ZT0iMTA0ODU3NiIgLz4NCiAgICA8b3BjOkVu -dW1lcmF0ZWRWYWx1ZSBOYW1lPSJWYWx1ZUZvclZhcmlhYmxlVHlwZSIgVmFsdWU9IjIwOTcxNTIi -IC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFt -ZT0iQnJvd3NlRGlyZWN0aW9uIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50 -YXRpb24+VGhlIGRpcmVjdGlvbnMgb2YgdGhlIHJlZmVyZW5jZXMgdG8gcmV0dXJuLjwvb3BjOkRv -Y3VtZW50YXRpb24+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRm9yd2FyZCIgVmFs -dWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW52ZXJzZSIgVmFsdWU9 -IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQm90aCIgVmFsdWU9IjIiIC8+ -DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW52YWxpZCIgVmFsdWU9IjMiIC8+DQog -IDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVmll -d0Rlc2NyaXB0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRv -Y3VtZW50YXRpb24+VGhlIHZpZXcgdG8gYnJvd3NlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJWaWV3SWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJUaW1lc3RhbXAiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJWaWV3VmVyc2lvbiIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJv -d3NlRGVzY3JpcHRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 -RG9jdW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8gYnJvd3NlIHRoZSB0aGUgcmVmZXJlbmNlcyBmcm9t -IGEgbm9kZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlk -IiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlRGly -ZWN0aW9uIiBUeXBlTmFtZT0idG5zOkJyb3dzZURpcmVjdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IkluY2x1ZGVTdWJ0eXBlcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNsYXNzTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQz -MiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBO -YW1lPSJCcm93c2VSZXN1bHRNYXNrIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3Vt -ZW50YXRpb24+QSBiaXQgbWFzayB3aGljaCBzcGVjaWZpZXMgd2hhdCBzaG91bGQgYmUgcmV0dXJu -ZWQgaW4gYSBicm93c2UgcmVzcG9uc2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkVu -dW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25lIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0 -ZWRWYWx1ZSBOYW1lPSJSZWZlcmVuY2VUeXBlSWQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9IklzRm9yd2FyZCIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVt -ZXJhdGVkVmFsdWUgTmFtZT0iTm9kZUNsYXNzIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1l -cmF0ZWRWYWx1ZSBOYW1lPSJCcm93c2VOYW1lIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1l -cmF0ZWRWYWx1ZSBOYW1lPSJEaXNwbGF5TmFtZSIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9IlR5cGVEZWZpbml0aW9uIiBWYWx1ZT0iMzIiIC8+DQogICAgPG9w -YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQWxsIiBWYWx1ZT0iNjMiIC8+DQogICAgPG9wYzpFbnVt -ZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlVHlwZUluZm8iIFZhbHVlPSIzIiAvPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlRhcmdldEluZm8iIFZhbHVlPSI2MCIgLz4NCiAgPC9v -cGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWZlcmVu -Y2VEZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpE -b2N1bWVudGF0aW9uPlRoZSBkZXNjcmlwdGlvbiBvZiBhIHJlZmVyZW5jZS48L29wYzpEb2N1bWVu -dGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0i -dWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNGb3J3YXJkIiBUeXBlTmFtZT0i -b3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1 -YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5hbWUiIFR5 -cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxh -eU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlR5cGVEZWZpbml0aW9uIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJDb250aW51 -YXRpb25Qb2ludCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkFuIGlkZW50aWZpZXIgZm9yIGEg -c3VzcGVuZGVkIHF1ZXJ5IG9yIGJyb3dzZSBvcGVyYXRpb24uPC9vcGM6RG9jdW1lbnRhdGlvbj4N -CiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb3dz -ZVJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVu -dGF0aW9uPlRoZSByZXN1bHQgb2YgYSBicm93c2Ugb3BlcmF0aW9uLjwvb3BjOkRvY3VtZW50YXRp -b24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVz -Q29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiBUeXBlTmFt -ZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNl -cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5j -ZXMiIFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlRGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09m -UmVmZXJlbmNlcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJCcm93c2VSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 -Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QnJvd3NlIHRoZSByZWZlcmVuY2VzIGZvciBvbmUg -b3IgbW9yZSBub2RlcyBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVu -dGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRu -czpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmlldyIgVHlwZU5hbWU9 -InRuczpWaWV3RGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRN -YXhSZWZlcmVuY2VzUGVyTm9kZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJOb09mTm9kZXNUb0Jyb3dzZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVzVG9Ccm93c2UiIFR5cGVOYW1lPSJ0bnM6QnJvd3NlRGVz -Y3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mTm9kZXNUb0Jyb3dzZSIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm93c2VSZXNwb25z -ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u -PkJyb3dzZSB0aGUgcmVmZXJlbmNlcyBmb3Igb25lIG9yIG1vcmUgbm9kZXMgZnJvbSB0aGUgc2Vy -dmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idG5zOkJyb3dzZVJlc3VsdCIg -TGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRp -YWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhG -aWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm93c2VOZXh0UmVxdWVzdCIgQmFzZVR5cGU9 -InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkNvbnRpbnVlcyBv -bmUgb3IgbW9yZSBicm93c2Ugb3BlcmF0aW9ucy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVsZWFzZUNvbnRpbnVhdGlvblBvaW50cyIgVHlw -ZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkNvbnRpbnVh -dGlvblBvaW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkNvbnRpbnVhdGlvblBvaW50cyIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiBMZW5ndGhGaWVs -ZD0iTm9PZkNvbnRpbnVhdGlvblBvaW50cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm93c2VOZXh0UmVzcG9uc2UiIEJhc2VUeXBl -PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5Db250aW51ZXMg -b25lIG9yIG1vcmUgYnJvd3NlIG9wZXJhdGlvbnMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVh -ZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6 -SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idG5zOkJy -b3dzZVJlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJ -bmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0 -dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWxhdGl2ZVBhdGhFbGVt -ZW50IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRp -b24+QW4gZWxlbWVudCBpbiBhIHJlbGF0aXZlIHBhdGguPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzSW52ZXJzZSIgVHlwZU5hbWU9Im9wYzpCb29sZWFu -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5jbHVkZVN1YnR5cGVzIiBUeXBlTmFtZT0ib3Bj -OkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUYXJnZXROYW1lIiBUeXBlTmFtZT0i -dWE6UXVhbGlmaWVkTmFtZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT -dHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWxhdGl2ZVBhdGgiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P -YmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHJlbGF0aXZlIHBhdGggY29uc3RydWN0 -ZWQgZnJvbSByZWZlcmVuY2UgdHlwZXMgYW5kIGJyb3dzZSBuYW1lcy48L29wYzpEb2N1bWVudGF0 -aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkVsZW1lbnRzIiBUeXBlTmFtZT0ib3BjOklu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRWxlbWVudHMiIFR5cGVOYW1lPSJ0bnM6UmVs -YXRpdmVQYXRoRWxlbWVudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZFbGVtZW50cyIgLz4NCiAgPC9vcGM6 -U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm93c2VQYXRo -IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+ -QSByZXF1ZXN0IHRvIHRyYW5zbGF0ZSBhIHBhdGggaW50byBhIG5vZGUgaWQuPC9vcGM6RG9jdW1l -bnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXJ0aW5nTm9kZSIgVHlwZU5hbWU9InVh -Ok5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlbGF0aXZlUGF0aCIgVHlwZU5hbWU9 -InRuczpSZWxhdGl2ZVBhdGgiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 -U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJvd3NlUGF0aFRhcmdldCIgQmFzZVR5cGU9InVhOkV4dGVu -c2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSB0YXJnZXQgb2YgdGhlIHRy -YW5zbGF0ZWQgcGF0aC48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -VGFyZ2V0SWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlJlbWFpbmluZ1BhdGhJbmRleCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwv -b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJvd3Nl -UGF0aFJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1 -bWVudGF0aW9uPlRoZSByZXN1bHQgb2YgYSB0cmFuc2xhdGUgb3BlYXJhdGlvbi48L29wYzpEb2N1 -bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVh -OlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVGFyZ2V0cyIgVHlwZU5h -bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldHMiIFR5cGVOYW1l -PSJ0bnM6QnJvd3NlUGF0aFRhcmdldCIgTGVuZ3RoRmllbGQ9Ik5vT2ZUYXJnZXRzIiAvPg0KICA8 -L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRyYW5z -bGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i -amVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRyYW5zbGF0ZXMgb25lIG9yIG1vcmUgcGF0 -aHMgaW4gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFk -ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQnJvd3NlUGF0aHMiIFR5cGVOYW1lPSJv -cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VQYXRocyIgVHlwZU5hbWU9 -InRuczpCcm93c2VQYXRoIiBMZW5ndGhGaWVsZD0iTm9PZkJyb3dzZVBhdGhzIiAvPg0KICA8L29w -YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRyYW5zbGF0 -ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl -Y3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UcmFuc2xhdGVzIG9uZSBvciBtb3JlIHBhdGhz -IGluIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFk -ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJ -bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6QnJv -d3NlUGF0aFJlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0 -aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWdpc3Rlck5vZGVz -UmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVu -dGF0aW9uPlJlZ2lzdGVycyBvbmUgb3IgbW9yZSBub2RlcyBmb3IgcmVwZWF0ZWQgdXNlIHdpdGhp -biBhIHNlc3Npb24uPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl -cXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZOb2Rlc1RvUmVnaXN0ZXIiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rlc1RvUmVnaXN0ZXIiIFR5cGVOYW1lPSJ1YTpOb2RlSWQi -IExlbmd0aEZpZWxkPSJOb09mTm9kZXNUb1JlZ2lzdGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlZ2lzdGVyTm9kZXNSZXNwb25z -ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u -PlJlZ2lzdGVycyBvbmUgb3IgbW9yZSBub2RlcyBmb3IgcmVwZWF0ZWQgdXNlIHdpdGhpbiBhIHNl -c3Npb24uPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNl -SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTm9PZlJlZ2lzdGVyZWROb2RlSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iUmVnaXN0ZXJlZE5vZGVJZHMiIFR5cGVOYW1lPSJ1YTpOb2RlSWQi -IExlbmd0aEZpZWxkPSJOb09mUmVnaXN0ZXJlZE5vZGVJZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVW5yZWdpc3Rlck5vZGVzUmVx -dWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0 -aW9uPlVucmVnaXN0ZXJzIG9uZSBvciBtb3JlIHByZXZpb3VzbHkgcmVnaXN0ZXJlZCBub2Rlcy48 -L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIg -VHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P -Zk5vZGVzVG9VbnJlZ2lzdGVyIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9kZXNUb1VucmVnaXN0ZXIiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIExlbmd0aEZp -ZWxkPSJOb09mTm9kZXNUb1VucmVnaXN0ZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K -DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVW5yZWdpc3Rlck5vZGVzUmVzcG9uc2UiIEJh -c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5VbnJl -Z2lzdGVycyBvbmUgb3IgbW9yZSBwcmV2aW91c2x5IHJlZ2lzdGVyZWQgbm9kZXMuPC9vcGM6RG9j -dW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFt -ZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 -b3BjOk9wYXF1ZVR5cGUgTmFtZT0iQ291bnRlciI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEg -bW9ub3RvbmljYWxseSBpbmNyZWFzaW5nIHZhbHVlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwv -b3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9Ik51bWVyaWNSYW5nZSI+ -DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlNwZWNpZmllcyBhIHJhbmdlIG9mIGFycmF5IGluZGV4 -ZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9w -YXF1ZVR5cGUgTmFtZT0iVGltZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgdGltZSB2YWx1 -ZSBzcGVjaWZpZWQgYXMgSEg6TU06U1MuU1NTLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3Bj -Ok9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkRhdGUiPg0KICAgIDxvcGM6 -RG9jdW1lbnRhdGlvbj5BIGRhdGUgdmFsdWUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6 -T3BhcXVlVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkVuZHBvaW50Q29uZmln -dXJhdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJPcGVyYXRpb25UaW1lb3V0IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iVXNlQmluYXJ5RW5jb2RpbmciIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heFN0cmluZ0xlbmd0aCIgVHlwZU5hbWU9Im9wYzpJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heEJ5dGVTdHJpbmdMZW5ndGgiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhBcnJheUxlbmd0aCIgVHlw -ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heE1lc3NhZ2VTaXpl -IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4QnVmZmVy -U2l6ZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNoYW5u -ZWxMaWZldGltZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlNlY3VyaXR5VG9rZW5MaWZldGltZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgPC9vcGM6 -U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJRdWVyeURhdGFE -ZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJSZWxhdGl2ZVBhdGgiIFR5cGVOYW1lPSJ0bnM6UmVsYXRpdmVQYXRoIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iQXR0cmlidXRlSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iSW5kZXhSYW5nZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+ -DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i -Tm9kZVR5cGVEZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJUeXBlRGVmaW5pdGlvbk5vZGUiIFR5cGVOYW1lPSJ1YTpFeHBhbmRl -ZE5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkluY2x1ZGVTdWJUeXBlcyIgVHlwZU5h -bWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRhdGFUb1JldHVy -biIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFUb1Jl -dHVybiIgVHlwZU5hbWU9InRuczpRdWVyeURhdGFEZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5v -T2ZEYXRhVG9SZXR1cm4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51 -bWVyYXRlZFR5cGUgTmFtZT0iRmlsdGVyT3BlcmF0b3IiIExlbmd0aEluQml0cz0iMzIiPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkVxdWFscyIgVmFsdWU9IjAiIC8+DQogICAgPG9w -YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSXNOdWxsIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVu -dW1lcmF0ZWRWYWx1ZSBOYW1lPSJHcmVhdGVyVGhhbiIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpF -bnVtZXJhdGVkVmFsdWUgTmFtZT0iTGVzc1RoYW4iIFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9IkdyZWF0ZXJUaGFuT3JFcXVhbCIgVmFsdWU9IjQiIC8+DQogICAg -PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTGVzc1RoYW5PckVxdWFsIiBWYWx1ZT0iNSIgLz4N -CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJMaWtlIiBWYWx1ZT0iNiIgLz4NCiAgICA8 -b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb3QiIFZhbHVlPSI3IiAvPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9IkJldHdlZW4iIFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6RW51bWVy -YXRlZFZhbHVlIE5hbWU9IkluTGlzdCIgVmFsdWU9IjkiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk -VmFsdWUgTmFtZT0iQW5kIiBWYWx1ZT0iMTAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iT3IiIFZhbHVlPSIxMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJD -YXN0IiBWYWx1ZT0iMTIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW5WaWV3 -IiBWYWx1ZT0iMTMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iT2ZUeXBlIiBW -YWx1ZT0iMTQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVsYXRlZFRvIiBW -YWx1ZT0iMTUiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQml0d2lzZUFuZCIg -VmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJpdHdpc2VPciIg -VmFsdWU9IjE3IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy -ZWRUeXBlIE5hbWU9IlF1ZXJ5RGF0YVNldCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJ -ZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlR5cGVEZWZpbml0aW9uTm9kZSIgVHlwZU5hbWU9 -InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlZhbHVlcyIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlcyIgVHlw -ZU5hbWU9InVhOlZhcmlhbnQiIExlbmd0aEZpZWxkPSJOb09mVmFsdWVzIiAvPg0KICA8L29wYzpT -dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik5vZGVSZWZlcmVu -Y2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Tm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVm -ZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iSXNGb3J3YXJkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb09mUmVmZXJlbmNlZE5vZGVJZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VkTm9kZUlkcyIgVHlwZU5hbWU9InVhOk5vZGVJZCIg -TGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2VkTm9kZUlkcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl -ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDb250ZW50RmlsdGVyRWxlbWVu -dCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJG -aWx0ZXJPcGVyYXRvciIgVHlwZU5hbWU9InRuczpGaWx0ZXJPcGVyYXRvciIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vT2ZGaWx0ZXJPcGVyYW5kcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRlck9wZXJhbmRzIiBUeXBlTmFtZT0idWE6RXh0ZW5z -aW9uT2JqZWN0IiBMZW5ndGhGaWVsZD0iTm9PZkZpbHRlck9wZXJhbmRzIiAvPg0KICA8L29wYzpT -dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNvbnRlbnRGaWx0 -ZXIiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Tm9PZkVsZW1lbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iRWxlbWVudHMiIFR5cGVOYW1lPSJ0bnM6Q29udGVudEZpbHRlckVsZW1lbnQiIExlbmd0aEZp -ZWxkPSJOb09mRWxlbWVudHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 -U3RydWN0dXJlZFR5cGUgTmFtZT0iRmlsdGVyT3BlcmFuZCIgQmFzZVR5cGU9InVhOkV4dGVuc2lv -bk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iRWxlbWVudE9wZXJhbmQiIEJhc2VUeXBlPSJ0bnM6RmlsdGVyT3BlcmFuZCI+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJJbmRleCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwv -b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTGl0ZXJh -bE9wZXJhbmQiIEJhc2VUeXBlPSJ0bnM6RmlsdGVyT3BlcmFuZCI+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQXR0cmlidXRlT3BlcmFuZCIgQmFz -ZVR5cGU9InRuczpGaWx0ZXJPcGVyYW5kIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIg -VHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFsaWFzIiBUeXBl -TmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZVBhdGgiIFR5 -cGVOYW1lPSJ0bnM6UmVsYXRpdmVQYXRoIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXR0cmli -dXRlSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5k -ZXhSYW5nZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl -Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2ltcGxlQXR0cmlidXRlT3BlcmFuZCIg -QmFzZVR5cGU9InRuczpGaWx0ZXJPcGVyYW5kIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlR5cGVE -ZWZpbml0aW9uSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJOb09mQnJvd3NlUGF0aCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkJyb3dzZVBhdGgiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBMZW5ndGhGaWVs -ZD0iTm9PZkJyb3dzZVBhdGgiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdHRyaWJ1dGVJZCIg -VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbmRleFJhbmdl -IiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg -PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIgQmFz -ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXND -b2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v -T2ZPcGVyYW5kU3RhdHVzQ29kZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJPcGVyYW5kU3RhdHVzQ29kZXMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBM -ZW5ndGhGaWVsZD0iTm9PZk9wZXJhbmRTdGF0dXNDb2RlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ik5vT2ZPcGVyYW5kRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iT3BlcmFuZERpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVh -OkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZk9wZXJhbmREaWFnbm9zdGljSW5mb3Mi -IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt -ZT0iQ29udGVudEZpbHRlclJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRWxlbWVudFJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50 -MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbGVtZW50UmVzdWx0cyIgVHlwZU5hbWU9InRu -czpDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZFbGVtZW50UmVz -dWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFbGVtZW50RGlhZ25vc3RpY0luZm9z -IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRWxlbWVudERp -YWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0i -Tm9PZkVsZW1lbnREaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K -DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUGFyc2luZ1Jlc3VsdCIgQmFzZVR5cGU9InVh -OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBl -TmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEYXRhU3Rh -dHVzQ29kZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE -YXRhU3RhdHVzQ29kZXMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9P -ZkRhdGFTdGF0dXNDb2RlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEYXRhRGlhZ25v -c3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -RGF0YURpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhG -aWVsZD0iTm9PZkRhdGFEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl -Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUXVlcnlGaXJzdFJlcXVlc3QiIEJhc2VU -eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhl -YWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iVmlldyIgVHlwZU5hbWU9InRuczpWaWV3RGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOb09mTm9kZVR5cGVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iTm9kZVR5cGVzIiBUeXBlTmFtZT0idG5zOk5vZGVUeXBlRGVzY3JpcHRpb24i -IExlbmd0aEZpZWxkPSJOb09mTm9kZVR5cGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmls -dGVyIiBUeXBlTmFtZT0idG5zOkNvbnRlbnRGaWx0ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJNYXhEYXRhU2V0c1RvUmV0dXJuIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik1heFJlZmVyZW5jZXNUb1JldHVybiIgVHlwZU5hbWU9Im9wYzpVSW50MzIi -IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt -ZT0iUXVlcnlGaXJzdFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNl -SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlF1ZXJ5RGF0YVNldHMiIFR5cGVO -YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJRdWVyeURhdGFTZXRzIiBU -eXBlTmFtZT0idG5zOlF1ZXJ5RGF0YVNldCIgTGVuZ3RoRmllbGQ9Ik5vT2ZRdWVyeURhdGFTZXRz -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29udGludWF0aW9uUG9pbnQiIFR5cGVOYW1lPSJv -cGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZQYXJzaW5nUmVzdWx0 -cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBhcnNpbmdS -ZXN1bHRzIiBUeXBlTmFtZT0idG5zOlBhcnNpbmdSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUGFy -c2luZ1Jlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9z -IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3Rp -Y0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlh -Z25vc3RpY0luZm9zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmlsdGVyUmVzdWx0IiBUeXBl -TmFtZT0idG5zOkNvbnRlbnRGaWx0ZXJSZXN1bHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl -Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUXVlcnlOZXh0UmVxdWVzdCIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVh -ZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJSZWxlYXNlQ29udGludWF0aW9uUG9pbnQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiBUeXBlTmFtZT0ib3BjOkJ5dGVT -dHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iUXVlcnlOZXh0UmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVz -cG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUXVlcnlEYXRhU2V0cyIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlF1ZXJ5RGF0YVNl -dHMiIFR5cGVOYW1lPSJ0bnM6UXVlcnlEYXRhU2V0IiBMZW5ndGhGaWVsZD0iTm9PZlF1ZXJ5RGF0 -YVNldHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkQ29udGludWF0aW9uUG9pbnQi -IFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iIExlbmd0aElu -Qml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNvdXJjZSIgVmFsdWU9 -IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU2VydmVyIiBWYWx1ZT0iMSIg -Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCb3RoIiBWYWx1ZT0iMiIgLz4NCiAg -ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOZWl0aGVyIiBWYWx1ZT0iMyIgLz4NCiAgICA8 -b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnZhbGlkIiBWYWx1ZT0iNCIgLz4NCiAgPC9vcGM6 -RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWFkVmFsdWVJ -ZCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO -b2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdHRy -aWJ1dGVJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJ -bmRleFJhbmdlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkRhdGFFbmNvZGluZyIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIC8+DQogIDwvb3BjOlN0 -cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVhZFJlcXVlc3Qi -IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVx -dWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTWF4QWdlIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlRpbWVzdGFtcHNUb1JldHVybiIgVHlwZU5hbWU9InRuczpUaW1lc3RhbXBzVG9SZXR1 -cm4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTm9kZXNUb1JlYWQiIFR5cGVOYW1lPSJv -cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rlc1RvUmVhZCIgVHlwZU5hbWU9 -InRuczpSZWFkVmFsdWVJZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvUmVhZCIgLz4NCiAgPC9v -cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWFkUmVz -cG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpEYXRhVmFsdWUiIExlbmd0 -aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9z -dGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE -aWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9 -Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv -cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeVJlYWRWYWx1ZUlkIiBCYXNlVHlwZT0idWE6 -RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9 -InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkluZGV4UmFuZ2UiIFR5cGVOYW1l -PSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YUVuY29kaW5nIiBUeXBl -TmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbnRpbnVh -dGlvblBvaW50IiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeVJlYWRSZXN1bHQi -IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Rh -dHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJDb250aW51YXRpb25Qb2ludCIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iSGlzdG9yeURhdGEiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3Qi -IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt -ZT0iSGlzdG9yeVJlYWREZXRhaWxzIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg -PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWFk -RXZlbnREZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyI+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJOdW1WYWx1ZXNQZXJOb2RlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXJ0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXIiIFR5cGVOYW1lPSJ0bnM6RXZlbnRGaWx0 -ZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg -TmFtZT0iUmVhZFJhd01vZGlmaWVkRGV0YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5UmVhZERl -dGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNSZWFkTW9kaWZpZWQiIFR5cGVOYW1lPSJv -cGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXJ0VGltZSIgVHlwZU5hbWU9 -Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZFRpbWUiIFR5cGVOYW1l -PSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOdW1WYWx1ZXNQZXJOb2Rl -IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldHVybkJv -dW5kcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N -Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlYWRQcm9jZXNzZWREZXRhaWxzIiBCYXNl -VHlwZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGFy -dFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJF -bmRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UHJvY2Vzc2luZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZBZ2dyZWdhdGVUeXBlIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iQWdncmVnYXRlVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgTGVu -Z3RoRmllbGQ9Ik5vT2ZBZ2dyZWdhdGVUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWdn -cmVnYXRlQ29uZmlndXJhdGlvbiIgVHlwZU5hbWU9InRuczpBZ2dyZWdhdGVDb25maWd1cmF0aW9u -IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9IlJlYWRBdFRpbWVEZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyI+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVxVGltZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXFUaW1lcyIgVHlwZU5hbWU9Im9wYzpEYXRlVGlt -ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXFUaW1lcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVz -ZVNpbXBsZUJvdW5kcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlEYXRhIiBCYXNl -VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEYXRh -VmFsdWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0 -YVZhbHVlcyIgVHlwZU5hbWU9InVhOkRhdGFWYWx1ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZEYXRhVmFs -dWVzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl -IE5hbWU9Ik1vZGlmaWNhdGlvbkluZm8iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTW9kaWZpY2F0aW9uVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRl -VGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVwZGF0ZVR5cGUiIFR5cGVOYW1lPSJ0bnM6 -SGlzdG9yeVVwZGF0ZVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyTmFtZSIgVHlw -ZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 -U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeU1vZGlmaWVkRGF0YSIgQmFzZVR5cGU9InRuczpI -aXN0b3J5RGF0YSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGF0YVZhbHVlcyIgVHlwZU5h -bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFWYWx1ZXMiIFR5cGVO -YW1lPSJ1YTpEYXRhVmFsdWUiIExlbmd0aEZpZWxkPSJOb09mRGF0YVZhbHVlcyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vT2ZNb2RpZmljYXRpb25JbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vZGlmaWNhdGlvbkluZm9zIiBUeXBlTmFtZT0i -dG5zOk1vZGlmaWNhdGlvbkluZm8iIExlbmd0aEZpZWxkPSJOb09mTW9kaWZpY2F0aW9uSW5mb3Mi -IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt -ZT0iSGlzdG9yeUV2ZW50IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vT2ZFdmVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJFdmVudHMiIFR5cGVOYW1lPSJ0bnM6SGlzdG9yeUV2ZW50RmllbGRMaXN0 -IiBMZW5ndGhGaWVsZD0iTm9PZkV2ZW50cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5UmVhZFJlcXVlc3QiIEJhc2VUeXBl -PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRl -ciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -SGlzdG9yeVJlYWREZXRhaWxzIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiBUeXBlTmFtZT0idG5zOlRpbWVz -dGFtcHNUb1JldHVybiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlbGVhc2VDb250aW51YXRp -b25Qb2ludHMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -Ik5vT2ZOb2Rlc1RvUmVhZCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vZGVzVG9SZWFkIiBUeXBlTmFtZT0idG5zOkhpc3RvcnlSZWFkVmFsdWVJZCIgTGVu -Z3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvUmVhZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5UmVhZFJlc3BvbnNlIiBCYXNlVHlw -ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVh -ZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idG5zOkhpc3RvcnlSZWFkUmVzdWx0IiBMZW5ndGhGaWVs -ZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0lu -Zm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25v -c3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09m -RGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 -cnVjdHVyZWRUeXBlIE5hbWU9IldyaXRlVmFsdWUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl -Y3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXR0cmlidXRlSWQiIFR5cGVOYW1lPSJvcGM6VUludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5kZXhSYW5nZSIgVHlwZU5hbWU9Im9wYzpTdHJp -bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOkRhdGFWYWx1 -ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJXcml0ZVJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVzVG9Xcml0ZSIgVHlwZU5hbWU9Im9w -YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVzVG9Xcml0ZSIgVHlwZU5hbWU9 -InRuczpXcml0ZVZhbHVlIiBMZW5ndGhGaWVsZD0iTm9PZk5vZGVzVG9Xcml0ZSIgLz4NCiAgPC9v -cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJXcml0ZVJl -c3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVu -Z3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdu -b3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVs -ZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg -PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5VXBkYXRlRGV0YWlscyIgQmFzZVR5cGU9 -InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVO -YW1lPSJ1YTpOb2RlSWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51 -bWVyYXRlZFR5cGUgTmFtZT0iSGlzdG9yeVVwZGF0ZVR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0K -ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikluc2VydCIgVmFsdWU9IjEiIC8+DQogICAg -PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVwbGFjZSIgVmFsdWU9IjIiIC8+DQogICAgPG9w -YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVXBkYXRlIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVu -dW1lcmF0ZWRWYWx1ZSBOYW1lPSJEZWxldGUiIFZhbHVlPSI0IiAvPg0KICA8L29wYzpFbnVtZXJh -dGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlBlcmZvcm1VcGRhdGVUeXBl -IiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnNl -cnQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlcGxhY2Ui -IFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVwZGF0ZSIgVmFs -dWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVtb3ZlIiBWYWx1ZT0i -NCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJVcGRhdGVEYXRhRGV0YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0YWls -cyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNv -dXJjZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlBlcmZvcm1JbnNlcnRSZXBsYWNlIiBUeXBlTmFtZT0idG5zOlBlcmZvcm1VcGRhdGVUeXBl -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlVwZGF0ZVZhbHVlcyIgVHlwZU5hbWU9Im9w -YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVwZGF0ZVZhbHVlcyIgVHlwZU5hbWU9 -InVhOkRhdGFWYWx1ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZVcGRhdGVWYWx1ZXMiIC8+DQogIDwvb3Bj -OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVXBkYXRlU3Ry -dWN0dXJlRGF0YURldGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VU -eXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQ -ZXJmb3JtSW5zZXJ0UmVwbGFjZSIgVHlwZU5hbWU9InRuczpQZXJmb3JtVXBkYXRlVHlwZSIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZVcGRhdGVWYWx1ZXMiIFR5cGVOYW1lPSJvcGM6SW50 -MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVcGRhdGVWYWx1ZXMiIFR5cGVOYW1lPSJ1YTpE -YXRhVmFsdWUiIExlbmd0aEZpZWxkPSJOb09mVXBkYXRlVmFsdWVzIiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlVwZGF0ZUV2ZW50RGV0 -YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpIaXN0 -b3J5VXBkYXRlRGV0YWlscyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBlcmZvcm1JbnNlcnRS -ZXBsYWNlIiBUeXBlTmFtZT0idG5zOlBlcmZvcm1VcGRhdGVUeXBlIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iRmlsdGVyIiBUeXBlTmFtZT0idG5zOkV2ZW50RmlsdGVyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iTm9PZkV2ZW50RGF0YSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IkV2ZW50RGF0YSIgVHlwZU5hbWU9InRuczpIaXN0b3J5RXZlbnRGaWVs -ZExpc3QiIExlbmd0aEZpZWxkPSJOb09mRXZlbnREYXRhIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZVJhd01vZGlmaWVkRGV0 -YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpIaXN0 -b3J5VXBkYXRlRGV0YWlscyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzRGVsZXRlTW9kaWZp -ZWQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXJ0 -VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVu -ZFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl -Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlQXRUaW1lRGV0YWlscyIgQmFz -ZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO -b2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpIaXN0b3J5VXBkYXRl -RGV0YWlscyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXFUaW1lcyIgVHlwZU5hbWU9 -Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcVRpbWVzIiBUeXBlTmFtZT0i -b3BjOkRhdGVUaW1lIiBMZW5ndGhGaWVsZD0iTm9PZlJlcVRpbWVzIiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZUV2ZW50RGV0 -YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpIaXN0 -b3J5VXBkYXRlRGV0YWlscyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFdmVudElkcyIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50SWRzIiBU -eXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mRXZlbnRJZHMiIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlz -dG9yeVVwZGF0ZVJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZPcGVyYXRpb25SZXN1bHRzIiBUeXBlTmFtZT0ib3BjOklu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iT3BlcmF0aW9uUmVzdWx0cyIgVHlwZU5hbWU9 -InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mT3BlcmF0aW9uUmVzdWx0cyIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50 -MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1 -YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlz -dG9yeVVwZGF0ZVJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkhpc3RvcnlVcGRhdGVEZXRhaWxzIiBUeXBl -TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSGlzdG9yeVVwZGF0ZURl -dGFpbHMiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIExlbmd0aEZpZWxkPSJOb09mSGlz -dG9yeVVwZGF0ZURldGFpbHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 -U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3BvbnNlIiBCYXNlVHlwZT0idWE6 -RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBU -eXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P -ZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS -ZXN1bHRzIiBUeXBlTmFtZT0idG5zOkhpc3RvcnlVcGRhdGVSZXN1bHQiIExlbmd0aEZpZWxkPSJO -b09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3Mi -IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGlj -SW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFn -bm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 -dXJlZFR5cGUgTmFtZT0iQ2FsbE1ldGhvZFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P -YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iT2JqZWN0SWQiIFR5cGVOYW1lPSJ1YTpOb2Rl -SWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXRob2RJZCIgVHlwZU5hbWU9InVhOk5vZGVJ -ZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZJbnB1dEFyZ3VtZW50cyIgVHlwZU5hbWU9 -Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklucHV0QXJndW1lbnRzIiBUeXBl -TmFtZT0idWE6VmFyaWFudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZJbnB1dEFyZ3VtZW50cyIgLz4NCiAg -PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDYWxs -TWV0aG9kUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iTm9PZklucHV0QXJndW1lbnRSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOklu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5wdXRBcmd1bWVudFJlc3VsdHMiIFR5cGVO -YW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZklucHV0QXJndW1lbnRSZXN1bHRz -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZklucHV0QXJndW1lbnREaWFnbm9zdGljSW5m -b3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbnB1dEFy -Z3VtZW50RGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0 -aEZpZWxkPSJOb09mSW5wdXRBcmd1bWVudERpYWdub3N0aWNJbmZvcyIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZPdXRwdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJPdXRwdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJ1YTpWYXJpYW50 -IiBMZW5ndGhGaWVsZD0iTm9PZk91dHB1dEFyZ3VtZW50cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl -ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDYWxsUmVxdWVzdCIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVh -ZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJOb09mTWV0aG9kc1RvQ2FsbCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik1ldGhvZHNUb0NhbGwiIFR5cGVOYW1lPSJ0bnM6Q2FsbE1ldGhvZFJlcXVlc3Qi -IExlbmd0aEZpZWxkPSJOb09mTWV0aG9kc1RvQ2FsbCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDYWxsUmVzcG9uc2UiIEJhc2VUeXBl -PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFk -ZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6Q2FsbE1ldGhvZFJlc3VsdCIgTGVuZ3RoRmllbGQ9 -Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZv -cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0 -aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRp -YWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVt -ZXJhdGVkVHlwZSBOYW1lPSJNb25pdG9yaW5nTW9kZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAg -PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGlzYWJsZWQiIFZhbHVlPSIwIiAvPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNhbXBsaW5nIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3Bj -OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZXBvcnRpbmciIFZhbHVlPSIyIiAvPg0KICA8L29wYzpF -bnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkRhdGFDaGFuZ2VU -cmlnZ2VyIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l -PSJTdGF0dXMiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN0 -YXR1c1ZhbHVlIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJT -dGF0dXNWYWx1ZVRpbWVzdGFtcCIgVmFsdWU9IjIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBl -Pg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRGVhZGJhbmRUeXBlIiBMZW5ndGhJbkJp -dHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25lIiBWYWx1ZT0iMCIg -Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBYnNvbHV0ZSIgVmFsdWU9IjEiIC8+ -DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUGVyY2VudCIgVmFsdWU9IjIiIC8+DQog -IDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9u -aXRvcmluZ0ZpbHRlciIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0 -cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGF0YUNoYW5nZUZp -bHRlciIgQmFzZVR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVyIj4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlRyaWdnZXIiIFR5cGVOYW1lPSJ0bnM6RGF0YUNoYW5nZVRyaWdnZXIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJEZWFkYmFuZFR5cGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iRGVhZGJhbmRWYWx1ZSIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+ -DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i -RXZlbnRGaWx0ZXIiIEJhc2VUeXBlPSJ0bnM6TW9uaXRvcmluZ0ZpbHRlciI+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJOb09mU2VsZWN0Q2xhdXNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlNlbGVjdENsYXVzZXMiIFR5cGVOYW1lPSJ0bnM6U2ltcGxlQXR0 -cmlidXRlT3BlcmFuZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZWxlY3RDbGF1c2VzIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iV2hlcmVDbGF1c2UiIFR5cGVOYW1lPSJ0bnM6Q29udGVudEZpbHRlciIg -Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l -PSJBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZVNlcnZlckNhcGFiaWxpdGllc0RlZmF1bHRzIiBUeXBl -TmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmVhdFVuY2VydGFp -bkFzQmFkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQ -ZXJjZW50RGF0YUJhZCIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iUGVyY2VudERhdGFHb29kIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJVc2VTbG9wZWRFeHRyYXBvbGF0aW9uIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+ -DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i -QWdncmVnYXRlRmlsdGVyIiBCYXNlVHlwZT0idG5zOk1vbml0b3JpbmdGaWx0ZXIiPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iU3RhcnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iQWdncmVnYXRlVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlByb2Nlc3NpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpE -b3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBU -eXBlTmFtZT0idG5zOkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9uaXRvcmluZ0ZpbHRlclJl -c3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRXZlbnRGaWx0ZXJSZXN1bHQiIEJh -c2VUeXBlPSJ0bnM6TW9uaXRvcmluZ0ZpbHRlclJlc3VsdCI+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJOb09mU2VsZWN0Q2xhdXNlUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlNlbGVjdENsYXVzZVJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXND -b2RlIiBMZW5ndGhGaWVsZD0iTm9PZlNlbGVjdENsYXVzZVJlc3VsdHMiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJOb09mU2VsZWN0Q2xhdXNlRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3Bj -OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VsZWN0Q2xhdXNlRGlhZ25vc3RpY0lu -Zm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mU2VsZWN0 -Q2xhdXNlRGlhZ25vc3RpY0luZm9zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV2hlcmVDbGF1 -c2VSZXN1bHQiIFR5cGVOYW1lPSJ0bnM6Q29udGVudEZpbHRlclJlc3VsdCIgLz4NCiAgPC9vcGM6 -U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBZ2dyZWdhdGVG -aWx0ZXJSZXN1bHQiIEJhc2VUeXBlPSJ0bnM6TW9uaXRvcmluZ0ZpbHRlclJlc3VsdCI+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkU3RhcnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1l -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZFByb2Nlc3NpbmdJbnRlcnZhbCIgVHlw -ZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkQWdncmVn -YXRlQ29uZmlndXJhdGlvbiIgVHlwZU5hbWU9InRuczpBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -Ik1vbml0b3JpbmdQYXJhbWV0ZXJzIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudEhhbmRsZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTYW1wbGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRv -dWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRlciIgVHlwZU5hbWU9InVhOkV4dGVu -c2lvbk9iamVjdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlF1ZXVlU2l6ZSIgVHlwZU5hbWU9 -Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNjYXJkT2xkZXN0IiBUeXBl -TmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 -U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIEJhc2VUeXBl -PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXRlbVRvTW9uaXRv -ciIgVHlwZU5hbWU9InRuczpSZWFkVmFsdWVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1v -bml0b3JpbmdNb2RlIiBUeXBlTmFtZT0idG5zOk1vbml0b3JpbmdNb2RlIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iUmVxdWVzdGVkUGFyYW1ldGVycyIgVHlwZU5hbWU9InRuczpNb25pdG9yaW5n -UGFyYW1ldGVycyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0 -ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1l -PSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmVkSXRlbUlk -IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRT -YW1wbGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlJldmlzZWRRdWV1ZVNpemUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iRmlsdGVyUmVzdWx0IiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0 -IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i -amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5z -OlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIg -VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lc3RhbXBz -VG9SZXR1cm4iIFR5cGVOYW1lPSJ0bnM6VGltZXN0YW1wc1RvUmV0dXJuIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iTm9PZkl0ZW1zVG9DcmVhdGUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJJdGVtc1RvQ3JlYXRlIiBUeXBlTmFtZT0idG5zOk1vbml0b3Jl -ZEl0ZW1DcmVhdGVSZXF1ZXN0IiBMZW5ndGhGaWVsZD0iTm9PZkl0ZW1zVG9DcmVhdGUiIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ3Jl -YXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNw -b25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFt -ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9 -InRuczpNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0i -b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBl -TmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9z -IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9Ik1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq -ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3JlZEl0ZW1JZCIgVHlwZU5hbWU9Im9w -YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRQYXJhbWV0ZXJzIiBU -eXBlTmFtZT0idG5zOk1vbml0b3JpbmdQYXJhbWV0ZXJzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vbml0b3JlZEl0ZW1Nb2RpZnlS -ZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJSZXZpc2VkU2FtcGxpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkUXVldWVTaXplIiBUeXBlTmFtZT0ib3BjOlVJ -bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRlclJlc3VsdCIgVHlwZU5hbWU9InVh -OkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT -dHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb2RpZnlNb25pdG9yZWRJdGVtc1JlcXVlc3QiIEJhc2VUeXBl -PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRl -ciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -U3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiBUeXBlTmFtZT0idG5zOlRpbWVzdGFtcHNUb1JldHVy -biIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZJdGVtc1RvTW9kaWZ5IiBUeXBlTmFtZT0i -b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXRlbXNUb01vZGlmeSIgVHlwZU5h -bWU9InRuczpNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZJdGVt -c1RvTW9kaWZ5IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy -ZWRUeXBlIE5hbWU9Ik1vZGlmeU1vbml0b3JlZEl0ZW1zUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpF -eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5 -cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m -UmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl -c3VsdHMiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCIgTGVuZ3RoRmll -bGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJ -bmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdu -b3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9P -ZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT -dHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXRNb25pdG9yaW5nTW9kZVJlcXVlc3QiIEJhc2VUeXBlPSJ1 -YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIg -VHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vi -c2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iTW9uaXRvcmluZ01vZGUiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmluZ01vZGUiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJOb09mTW9uaXRvcmVkSXRlbUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3JlZEl0ZW1JZHMiIFR5cGVOYW1lPSJv -cGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZk1vbml0b3JlZEl0ZW1JZHMiIC8+DQogIDwvb3Bj -OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2V0TW9uaXRv -cmluZ01vZGVSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRl -ciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOklu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1 -c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIg -TGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2V0VHJpZ2dlcmluZ1JlcXVlc3Qi -IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVx -dWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iU3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iVHJpZ2dlcmluZ0l0ZW1JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTGlua3NUb0FkZCIgVHlwZU5hbWU9Im9wYzpJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxpbmtzVG9BZGQiIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiBMZW5ndGhGaWVsZD0iTm9PZkxpbmtzVG9BZGQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJOb09mTGlua3NUb1JlbW92ZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkxpbmtzVG9SZW1vdmUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVs -ZD0iTm9PZkxpbmtzVG9SZW1vdmUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv -cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2V0VHJpZ2dlcmluZ1Jlc3BvbnNlIiBCYXNlVHlwZT0i -dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVy -IiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Tm9PZkFkZFJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJBZGRSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5v -T2ZBZGRSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkFkZERpYWdub3N0aWNJ -bmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFkZERp -YWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0i -Tm9PZkFkZERpYWdub3N0aWNJbmZvcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZW1v -dmVSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UmVtb3ZlUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09m -UmVtb3ZlUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZW1vdmVEaWFnbm9z -dGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS -ZW1vdmVEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3Ro -RmllbGQ9Ik5vT2ZSZW1vdmVEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlTW9uaXRvcmVkSXRlbXNS -ZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZNb25pdG9yZWRJdGVtSWRzIiBUeXBlTmFtZT0ib3Bj -OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmVkSXRlbUlkcyIgVHlwZU5h -bWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mTW9uaXRvcmVkSXRlbUlkcyIgLz4NCiAg -PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxl -dGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3Bv -bnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0i -dWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0 -aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDcmVhdGVTdWJzY3Jp -cHRpb25SZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbCIgVHlwZU5h -bWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRMaWZldGlt -ZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl -cXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoIiBUeXBlTmFtZT0ib3Bj -OlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hpbmdFbmFibGVkIiBUeXBl -TmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcmlvcml0eSIgVHlw -ZU5hbWU9Im9wYzpCeXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 -cnVjdHVyZWRUeXBlIE5hbWU9IkNyZWF0ZVN1YnNjcmlwdGlvblJlc3BvbnNlIiBCYXNlVHlwZT0i -dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVy -IiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -U3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iUmV2aXNlZFB1Ymxpc2hpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkTGlmZXRpbWVDb3VudCIgVHlwZU5hbWU9Im9w -YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkTWF4S2VlcEFsaXZlQ291 -bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvblJlcXVlc3QiIEJh -c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVz -dEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iU3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iUmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRv -dWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZExpZmV0aW1lQ291bnQiIFR5 -cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkTWF4 -S2VlcEFsaXZlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2giIFR5cGVOYW1lPSJvcGM6VUludDMyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJpb3JpdHkiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJN -b2RpZnlTdWJzY3JpcHRpb25SZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNw -b25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRQdWJsaXNoaW5nSW50 -ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2 -aXNlZExpZmV0aW1lQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iUmV2aXNlZE1heEtlZXBBbGl2ZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg -Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l -PSJTZXRQdWJsaXNoaW5nTW9kZVJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1 -ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaGluZ0VuYWJsZWQiIFR5 -cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTdWJzY3Jp -cHRpb25JZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT -dWJzY3JpcHRpb25JZHMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZlN1 -YnNjcmlwdGlvbklkcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 -Y3R1cmVkVHlwZSBOYW1lPSJTZXRQdWJsaXNoaW5nTW9kZVJlc3BvbnNlIiBCYXNlVHlwZT0idWE6 -RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBU -eXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P -ZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS -ZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRz -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9 -Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlw -ZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZv -cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJOb3RpZmljYXRpb25NZXNzYWdlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcXVlbmNlTnVtYmVyIiBUeXBlTmFtZT0ib3BjOlVJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hUaW1lIiBUeXBlTmFtZT0ib3BjOkRh -dGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vdGlmaWNhdGlvbkRhdGEiIFR5 -cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb3RpZmljYXRpb25E -YXRhIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBMZW5ndGhGaWVsZD0iTm9PZk5vdGlm -aWNhdGlvbkRhdGEiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 -dXJlZFR5cGUgTmFtZT0iTm90aWZpY2F0aW9uRGF0YSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i -amVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg -TmFtZT0iRGF0YUNoYW5nZU5vdGlmaWNhdGlvbiIgQmFzZVR5cGU9InRuczpOb3RpZmljYXRpb25E -YXRhIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZNb25pdG9yZWRJdGVtcyIgVHlwZU5hbWU9 -Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3JlZEl0ZW1zIiBUeXBl -TmFtZT0idG5zOk1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iIExlbmd0aEZpZWxkPSJOb09mTW9u -aXRvcmVkSXRlbXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9z -IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3Rp -Y0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlh -Z25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj -dHVyZWRUeXBlIE5hbWU9Ik1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iIEJhc2VUeXBlPSJ1YTpF -eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50SGFuZGxlIiBUeXBl -TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFt -ZT0idWE6RGF0YVZhbHVlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 -cnVjdHVyZWRUeXBlIE5hbWU9IkV2ZW50Tm90aWZpY2F0aW9uTGlzdCIgQmFzZVR5cGU9InRuczpO -b3RpZmljYXRpb25EYXRhIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFdmVudHMiIFR5cGVO -YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVudHMiIFR5cGVOYW1l -PSJ0bnM6RXZlbnRGaWVsZExpc3QiIExlbmd0aEZpZWxkPSJOb09mRXZlbnRzIiAvPg0KICA8L29w -YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkV2ZW50Rmll -bGRMaXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkNsaWVudEhhbmRsZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOb09mRXZlbnRGaWVsZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJFdmVudEZpZWxkcyIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIExlbmd0aEZp -ZWxkPSJOb09mRXZlbnRGaWVsZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv -cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeUV2ZW50RmllbGRMaXN0IiBCYXNlVHlwZT0i -dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFdmVudEZpZWxk -cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50Rmll -bGRzIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZFdmVudEZpZWxkcyIg -Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l -PSJTdGF0dXNDaGFuZ2VOb3RpZmljYXRpb24iIEJhc2VUeXBlPSJ0bnM6Tm90aWZpY2F0aW9uRGF0 -YSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2Rl -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm8iIFR5cGVOYW1lPSJ1YTpE -aWFnbm9zdGljSW5mbyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 -Y3R1cmVkVHlwZSBOYW1lPSJTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiIEJhc2VUeXBlPSJ1 -YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWQi -IFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VxdWVuY2VO -dW1iZXIiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N -Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlB1Ymxpc2hSZXF1ZXN0IiBCYXNlVHlwZT0i -dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIi -IFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v -T2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50cyIgVHlwZU5h -bWU9InRuczpTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiIExlbmd0aEZpZWxkPSJOb09mU3Vi -c2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJQdWJsaXNoUmVzcG9uc2UiIEJhc2VUeXBlPSJ1 -YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIi -IFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT -dWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb09mQXZhaWxhYmxlU2VxdWVuY2VOdW1iZXJzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXZhaWxhYmxlU2VxdWVuY2VOdW1iZXJzIiBUeXBlTmFt -ZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBdmFpbGFibGVTZXF1ZW5jZU51bWJlcnMi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb3JlTm90aWZpY2F0aW9ucyIgVHlwZU5hbWU9Im9w -YzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm90aWZpY2F0aW9uTWVzc2FnZSIg -VHlwZU5hbWU9InRuczpOb3RpZmljYXRpb25NZXNzYWdlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZS -ZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlw -ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZv -cyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0 -aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk -VHlwZSBOYW1lPSJSZXB1Ymxpc2hSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 -Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVx -dWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBl -TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldHJhbnNtaXRTZXF1 -ZW5jZU51bWJlciIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVwdWJsaXNoUmVzcG9uc2UiIEJh -c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9u -c2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOb3RpZmljYXRpb25NZXNzYWdlIiBUeXBlTmFtZT0idG5zOk5vdGlmaWNhdGlvbk1l -c3NhZ2UiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iVHJhbnNmZXJSZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXZhaWxhYmxlU2VxdWVuY2VOdW1iZXJzIiBU -eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXZhaWxhYmxlU2Vx -dWVuY2VOdW1iZXJzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBdmFp -bGFibGVTZXF1ZW5jZU51bWJlcnMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv -cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVHJhbnNmZXJTdWJzY3JpcHRpb25zUmVxdWVzdCIgQmFz -ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0 -SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb09mU3Vic2NyaXB0aW9uSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWRzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVu -Z3RoRmllbGQ9Ik5vT2ZTdWJzY3JpcHRpb25JZHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT -ZW5kSW5pdGlhbFZhbHVlcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRyYW5zZmVyU3Vic2Ny -aXB0aW9uc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50 -MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idG5zOlRyYW5z -ZmVyUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0lu -Zm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZVN1YnNjcmlwdGlv -bnNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTdWJzY3JpcHRpb25JZHMiIFR5cGVOYW1lPSJvcGM6SW50 -MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZHMiIFR5cGVOYW1lPSJv -cGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZlN1YnNjcmlwdGlvbklkcyIgLz4NCiAgPC9vcGM6 -U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVTdWJz -Y3JpcHRpb25zUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFk -ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJ -bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0 -dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8i -IExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJ1aWxkSW5mbyIgQmFzZVR5cGU9 -InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcm9kdWN0VXJpIiBU -eXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1hbnVmYWN0dXJl -ck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJv -ZHVjdE5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -U29mdHdhcmVWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkJ1aWxkTnVtYmVyIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkJ1aWxkRGF0ZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgPC9vcGM6 -U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJSZWR1bmRhbmN5 -U3VwcG9ydCIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt -ZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ29s -ZCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iV2FybSIgVmFs -dWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSG90IiBWYWx1ZT0iMyIg -Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJUcmFuc3BhcmVudCIgVmFsdWU9IjQi -IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSG90QW5kTWlycm9yZWQiIFZhbHVl -PSI1IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBl -IE5hbWU9IlNlcnZlclN0YXRlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0 -ZWRWYWx1ZSBOYW1lPSJSdW5uaW5nIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJGYWlsZWQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9Ik5vQ29uZmlndXJhdGlvbiIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk -VmFsdWUgTmFtZT0iU3VzcGVuZGVkIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJTaHV0ZG93biIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs -dWUgTmFtZT0iVGVzdCIgVmFsdWU9IjUiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt -ZT0iQ29tbXVuaWNhdGlvbkZhdWx0IiBWYWx1ZT0iNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJVbmtub3duIiBWYWx1ZT0iNyIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2 -ZXJJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2 -aWNlTGV2ZWwiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNl -cnZlclN0YXRlIiBUeXBlTmFtZT0idG5zOlNlcnZlclN0YXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkVuZHBvaW50VXJsTGlzdERh -dGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ik5vT2ZFbmRwb2ludFVybExpc3QiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybExpc3QiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5n -dGhGaWVsZD0iTm9PZkVuZHBvaW50VXJsTGlzdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJOZXR3b3JrR3JvdXBEYXRhVHlwZSIgQmFz -ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJV -cmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5l -dHdvcmtQYXRocyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -Ik5ldHdvcmtQYXRocyIgVHlwZU5hbWU9InRuczpFbmRwb2ludFVybExpc3REYXRhVHlwZSIgTGVu -Z3RoRmllbGQ9Ik5vT2ZOZXR3b3JrUGF0aHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K -DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2FtcGxpbmdJbnRlcnZhbERpYWdub3N0aWNz -RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iU2FtcGxpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJNb25pdG9yZWRJdGVtQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4TW9uaXRvcmVkSXRlbUNvdW50IiBUeXBlTmFtZT0i -b3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2FibGVkTW9uaXRvcmVkSXRl -bUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXJ2ZXJEaWFnbm9zdGljc1N1bW1hcnlE -YXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJTZXJ2ZXJWaWV3Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iQ3VycmVudFNlc3Npb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdW11bGF0ZWRTZXNzaW9uQ291bnQiIFR5cGVOYW1lPSJv -cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlSZWplY3RlZFNlc3Np -b25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS -ZWplY3RlZFNlc3Npb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJTZXNzaW9uVGltZW91dENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlc3Npb25BYm9ydENvdW50IiBUeXBlTmFtZT0ib3BjOlVJ -bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1cnJlbnRTdWJzY3JpcHRpb25Db3VudCIg -VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdW11bGF0ZWRT -dWJzY3JpcHRpb25Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJQdWJsaXNoaW5nSW50ZXJ2YWxDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eVJlamVjdGVkUmVxdWVzdHNDb3VudCIgVHlw -ZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWplY3RlZFJlcXVl -c3RzQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw -ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNlcnZlclN0YXR1c0RhdGFUeXBlIiBC -YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXJ0 -VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1 -cnJlbnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iU3RhdGUiIFR5cGVOYW1lPSJ0bnM6U2VydmVyU3RhdGUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJCdWlsZEluZm8iIFR5cGVOYW1lPSJ0bnM6QnVpbGRJbmZvIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iU2Vjb25kc1RpbGxTaHV0ZG93biIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJTaHV0ZG93blJlYXNvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXpl -ZFRleHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iU2Vzc2lvbkRpYWdub3N0aWNzRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp -b25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6 -Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvbk5hbWUiIFR5cGVOYW1lPSJv -cGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50RGVzY3JpcHRpb24iIFR5 -cGVOYW1lPSJ0bnM6QXBwbGljYXRpb25EZXNjcmlwdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlNlcnZlclVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJFbmRwb2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOb09mTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9 -Ik5vT2ZMb2NhbGVJZHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBY3R1YWxTZXNzaW9uVGlt -ZW91dCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhS -ZXNwb25zZU1lc3NhZ2VTaXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkNsaWVudENvbm5lY3Rpb25UaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50TGFzdENvbnRhY3RUaW1lIiBUeXBlTmFtZT0i -b3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3VycmVudFN1YnNjcmlwdGlv -bnNDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJD -dXJyZW50TW9uaXRvcmVkSXRlbXNDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJDdXJyZW50UHVibGlzaFJlcXVlc3RzSW5RdWV1ZSIgVHlwZU5hbWU9 -Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUb3RhbFJlcXVlc3RDb3VudCIg -VHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iVW5hdXRob3JpemVkUmVxdWVzdENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlYWRDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291 -bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSGlzdG9yeVJlYWRDb3VudCIg -VHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iV3JpdGVDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSGlzdG9yeVVwZGF0ZUNvdW50IiBUeXBlTmFtZT0idG5z -OlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDYWxsQ291 -bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2Vydmlj -ZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vZGlmeU1vbml0b3Jl -ZEl0ZW1zQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlNldE1vbml0b3JpbmdNb2RlQ291bnQiIFR5cGVOYW1lPSJ0bnM6 -U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNldFRyaWdn -ZXJpbmdDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iRGVsZXRlTW9uaXRvcmVkSXRlbXNDb3VudCIgVHlwZU5hbWU9InRu -czpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3JlYXRl -U3Vic2NyaXB0aW9uQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvbkNvdW50IiBUeXBlTmFt -ZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT -ZXRQdWJsaXNoaW5nTW9kZUNvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5 -cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoQ291bnQiIFR5cGVOYW1lPSJ0bnM6 -U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcHVibGlz -aENvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJUcmFuc2ZlclN1YnNjcmlwdGlvbnNDb3VudCIgVHlwZU5hbWU9InRuczpT -ZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVsZXRlU3Vi -c2NyaXB0aW9uc0NvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGROb2Rlc0NvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZp -Y2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGRSZWZlcmVuY2Vz -Q291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IkRlbGV0ZU5vZGVzQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50 -ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNDb3Vu -dCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iQnJvd3NlQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlw -ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5leHRDb3VudCIgVHlwZU5hbWU9InRu -czpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNs -YXRlQnJvd3NlUGF0aHNUb05vZGVJZHNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRl -ckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVlcnlGaXJzdENvdW50IiBUeXBl -TmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJRdWVyeU5leHRDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVnaXN0ZXJOb2Rlc0NvdW50IiBUeXBlTmFtZT0idG5z -OlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVbnJlZ2lz -dGVyTm9kZXNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0K -ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNl -c3Npb25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P -YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6Tm9k -ZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50VXNlcklkT2ZTZXNzaW9uIiBUeXBl -TmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZDbGllbnRVc2Vy -SWRIaXN0b3J5IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Q2xpZW50VXNlcklkSGlzdG9yeSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJO -b09mQ2xpZW50VXNlcklkSGlzdG9yeSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF1dGhlbnRp -Y2F0aW9uTWVjaGFuaXNtIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkVuY29kaW5nIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlRyYW5zcG9ydFByb3RvY29sIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TW9kZSIgVHlwZU5hbWU9InRuczpNZXNzYWdlU2VjdXJp -dHlNb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlQb2xpY3lVcmkiIFR5cGVO -YW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50Q2VydGlmaWNh -dGUiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBC -YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRvdGFs -Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXJy -b3JDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl -Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3RhdHVzUmVzdWx0IiBCYXNlVHlwZT0i -dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5 -cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3Rp -Y0luZm8iIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl -ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTdWJzY3JpcHRpb25EaWFnbm9z -dGljc0RhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlByaW9yaXR5IiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4S2VlcEFsaXZlQ291bnQiIFR5cGVOYW1lPSJvcGM6 -VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4TGlmZXRpbWVDb3VudCIgVHlwZU5h -bWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhOb3RpZmljYXRpb25z -UGVyUHVibGlzaCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJQdWJsaXNoaW5nRW5hYmxlZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iTW9kaWZ5Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iRW5hYmxlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iRGlzYWJsZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcHVibGlzaFJlcXVlc3RDb3VudCIgVHlwZU5hbWU9Im9w -YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXB1Ymxpc2hNZXNzYWdlUmVxdWVz -dENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl -cHVibGlzaE1lc3NhZ2VDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJUcmFuc2ZlclJlcXVlc3RDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc2ZlcnJlZFRvQWx0Q2xpZW50Q291bnQiIFR5cGVO -YW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNmZXJyZWRUb1Nh -bWVDbGllbnRDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJQdWJsaXNoUmVxdWVzdENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IkRhdGFDaGFuZ2VOb3RpZmljYXRpb25zQ291bnQiIFR5cGVOYW1lPSJv -cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnROb3RpZmljYXRpb25zQ291 -bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm90aWZp -Y2F0aW9uc0NvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkxhdGVQdWJsaXNoUmVxdWVzdENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkN1cnJlbnRLZWVwQWxpdmVDb3VudCIgVHlwZU5hbWU9Im9wYzpV -SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdXJyZW50TGlmZXRpbWVDb3VudCIgVHlw -ZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVbmFja25vd2xlZGdl -ZE1lc3NhZ2VDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJEaXNjYXJkZWRNZXNzYWdlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmVkSXRlbUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2FibGVkTW9uaXRvcmVkSXRlbUNvdW50IiBU -eXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3JpbmdR -dWV1ZU92ZXJmbG93Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTmV4dFNlcXVlbmNlTnVtYmVyIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50UXVldWVPdmVyRmxvd0NvdW50IiBUeXBlTmFtZT0ib3Bj -OlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVk -VHlwZSBOYW1lPSJNb2RlbENoYW5nZVN0cnVjdHVyZVZlcmJNYXNrIiBMZW5ndGhJbkJpdHM9IjMy -Ij4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlQWRkZWQiIFZhbHVlPSIxIiAv -Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vZGVEZWxldGVkIiBWYWx1ZT0iMiIg -Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWZlcmVuY2VBZGRlZCIgVmFsdWU9 -IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlRGVsZXRlZCIg -VmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGF0YVR5cGVDaGFu -Z2VkIiBWYWx1ZT0iMTYiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3Ry -dWN0dXJlZFR5cGUgTmFtZT0iTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgQmFzZVR5cGU9 -InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZmZlY3RlZCIgVHlw -ZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFmZmVjdGVkVHlwZSIg -VHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZlcmIiIFR5cGVO -YW1lPSJvcGM6Qnl0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 -Y3R1cmVkVHlwZSBOYW1lPSJTZW1hbnRpY0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiBCYXNlVHlw -ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFmZmVjdGVkIiBU -eXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWZmZWN0ZWRUeXBl -IiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 -b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJhbmdlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq -ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvdyIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJIaWdoIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAg -PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFVUlu -Zm9ybWF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5hbWVzcGFjZVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJVbml0SWQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQi -IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFt -ZT0iQXhpc1NjYWxlRW51bWVyYXRpb24iIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9IkxpbmVhciIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJh -dGVkVmFsdWUgTmFtZT0iTG9nIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJMbiIgVmFsdWU9IjIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxv -cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ29tcGxleE51bWJlclR5cGUiIEJhc2VUeXBlPSJ1YTpF -eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVhbCIgVHlwZU5hbWU9Im9w -YzpGbG9hdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkltYWdpbmFyeSIgVHlwZU5hbWU9Im9w -YzpGbG9hdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk -VHlwZSBOYW1lPSJEb3VibGVDb21wbGV4TnVtYmVyVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lv -bk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWFsIiBUeXBlTmFtZT0ib3BjOkRvdWJs -ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkltYWdpbmFyeSIgVHlwZU5hbWU9Im9wYzpEb3Vi -bGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg -TmFtZT0iQXhpc0luZm9ybWF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkVuZ2luZWVyaW5nVW5pdHMiIFR5cGVOYW1lPSJ0bnM6RVVJbmZv -cm1hdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVVUmFuZ2UiIFR5cGVOYW1lPSJ0bnM6 -UmFuZ2UiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaXRsZSIgVHlwZU5hbWU9InVhOkxvY2Fs -aXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBeGlzU2NhbGVUeXBlIiBUeXBlTmFt -ZT0idG5zOkF4aXNTY2FsZUVudW1lcmF0aW9uIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P -ZkF4aXNTdGVwcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkF4aXNTdGVwcyIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIExlbmd0aEZpZWxkPSJOb09mQXhpc1N0 -ZXBzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl -IE5hbWU9IlhWVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJYIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlZhbHVlIiBUeXBlTmFtZT0ib3BjOkZsb2F0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw -ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlByb2dyYW1EaWFnbm9zdGljRGF0YVR5 -cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Q3JlYXRlU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iQ3JlYXRlQ2xpZW50TmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJJbnZvY2F0aW9uQ3JlYXRpb25UaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVU -aW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdFRyYW5zaXRpb25UaW1lIiBUeXBlTmFt -ZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZENhbGwi -IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhv -ZFNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -Ik5vT2ZMYXN0TWV0aG9kSW5wdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kSW5wdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJ0 -bnM6QXJndW1lbnQiIExlbmd0aEZpZWxkPSJOb09mTGFzdE1ldGhvZElucHV0QXJndW1lbnRzIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxhc3RNZXRob2RPdXRwdXRBcmd1bWVudHMiIFR5 -cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kT3V0 -cHV0QXJndW1lbnRzIiBUeXBlTmFtZT0idG5zOkFyZ3VtZW50IiBMZW5ndGhGaWVsZD0iTm9PZkxh -c3RNZXRob2RPdXRwdXRBcmd1bWVudHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0 -aG9kQ2FsbFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJMYXN0TWV0aG9kUmV0dXJuU3RhdHVzIiBUeXBlTmFtZT0idG5zOlN0YXR1c1Jlc3VsdCIg -Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l -PSJBbm5vdGF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik1lc3NhZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iVXNlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iQW5ub3RhdGlvblRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogIDwv -b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRXhjZXB0 -aW9uRGV2aWF0aW9uRm9ybWF0IiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0 -ZWRWYWx1ZSBOYW1lPSJBYnNvbHV0ZVZhbHVlIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1l -cmF0ZWRWYWx1ZSBOYW1lPSJQZXJjZW50T2ZWYWx1ZSIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpF -bnVtZXJhdGVkVmFsdWUgTmFtZT0iUGVyY2VudE9mUmFuZ2UiIFZhbHVlPSIyIiAvPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlBlcmNlbnRPZkVVUmFuZ2UiIFZhbHVlPSIzIiAvPg0K -ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVua25vd24iIFZhbHVlPSI0IiAvPg0KICA8 -L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KPC9vcGM6VHlwZURpY3Rpb25hcnk+ + //xs:element[@name='AggregateConfiguration'] - - NamespaceUri - A URI that uniquely identifies the dictionary. + + HistoryEventFieldList - i=68 - i=7617 + i=69 + i=8252 - http://opcfoundation.org/UA/ + //xs:element[@name='HistoryEventFieldList'] - - TrustListDataType + + BuildInfo i=69 - i=7617 + i=8252 - TrustListDataType + //xs:element[@name='BuildInfo'] - - Argument + + RedundantServerDataType i=69 - i=7617 + i=8252 - Argument + //xs:element[@name='RedundantServerDataType'] - - EnumValueType + + EndpointUrlListDataType i=69 - i=7617 + i=8252 - EnumValueType + //xs:element[@name='EndpointUrlListDataType'] - - OptionSet + + NetworkGroupDataType i=69 - i=7617 + i=8252 - OptionSet + //xs:element[@name='NetworkGroupDataType'] - - Union + + SamplingIntervalDiagnosticsDataType i=69 - i=7617 + i=8252 - Union + //xs:element[@name='SamplingIntervalDiagnosticsDataType'] - - TimeZoneDataType + + ServerDiagnosticsSummaryDataType i=69 - i=7617 + i=8252 - TimeZoneDataType + //xs:element[@name='ServerDiagnosticsSummaryDataType'] - - ApplicationDescription + + ServerStatusDataType i=69 - i=7617 + i=8252 - ApplicationDescription + //xs:element[@name='ServerStatusDataType'] - - ServerOnNetwork + + SessionDiagnosticsDataType i=69 - i=7617 + i=8252 - ServerOnNetwork + //xs:element[@name='SessionDiagnosticsDataType'] - - UserTokenPolicy + + SessionSecurityDiagnosticsDataType i=69 - i=7617 + i=8252 - UserTokenPolicy + //xs:element[@name='SessionSecurityDiagnosticsDataType'] - - EndpointDescription + + ServiceCounterDataType i=69 - i=7617 + i=8252 - EndpointDescription + //xs:element[@name='ServiceCounterDataType'] - - RegisteredServer + + StatusResult i=69 - i=7617 + i=8252 - RegisteredServer + //xs:element[@name='StatusResult'] - - DiscoveryConfiguration + + SubscriptionDiagnosticsDataType i=69 - i=7617 + i=8252 - DiscoveryConfiguration + //xs:element[@name='SubscriptionDiagnosticsDataType'] - - MdnsDiscoveryConfiguration + + ModelChangeStructureDataType i=69 - i=7617 + i=8252 - MdnsDiscoveryConfiguration + //xs:element[@name='ModelChangeStructureDataType'] - - SignedSoftwareCertificate + + SemanticChangeStructureDataType i=69 - i=7617 + 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=14533 + i=76 + + + + Default JSON + + i=15528 + i=76 + + + + Default JSON + + i=15634 + i=76 + + + + Default JSON + + i=12554 + 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=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=296 + i=76 + + + + Default JSON + + i=7594 + i=76 + + + + Default JSON + + i=102 + i=76 + + + + Default JSON + + i=12755 + i=76 + + + + Default JSON + + i=12756 + i=76 + + + + Default JSON + + i=8912 + i=76 + + + + Default JSON + + i=308 + i=76 + + + + Default JSON + + i=12189 + i=76 + + + + Default JSON + + i=304 + i=76 + + + + Default JSON + + i=312 + i=76 + + + + Default JSON + + i=432 + i=76 + + + + Default JSON + + i=12890 + i=76 + + + + Default JSON + + i=12891 + i=76 + + + + Default JSON + + i=344 + i=76 + + + + Default JSON + + i=316 + i=76 - - SignedSoftwareCertificate - - - - UserIdentityToken + + + Default JSON - i=69 - i=7617 + i=319 + i=76 - - UserIdentityToken - - - - AnonymousIdentityToken + + + Default JSON - i=69 - i=7617 + i=322 + i=76 - - AnonymousIdentityToken - - - - UserNameIdentityToken + + + Default JSON - i=69 - i=7617 + i=325 + i=76 - - UserNameIdentityToken - - - - X509IdentityToken + + + Default JSON - i=69 - i=7617 + i=938 + i=76 - - X509IdentityToken - - - - IssuedIdentityToken + + + Default JSON - i=69 - i=7617 + i=376 + i=76 - - IssuedIdentityToken - - - - AddNodesItem + + + Default JSON - i=69 - i=7617 + i=379 + i=76 - - AddNodesItem - - - - AddReferencesItem + + + Default JSON - i=69 - i=7617 + i=382 + i=76 - - AddReferencesItem - - - - DeleteNodesItem + + + Default JSON - i=69 - i=7617 + i=385 + i=76 - - DeleteNodesItem - - - - DeleteReferencesItem + + + Default JSON - i=69 - i=7617 + i=537 + i=76 - - DeleteReferencesItem - - - - RelativePathElement + + + Default JSON - i=69 - i=7617 + i=540 + i=76 - - RelativePathElement - - - - RelativePath + + + Default JSON - i=69 - i=7617 + i=331 + i=76 - - RelativePath - - - - EndpointConfiguration + + + Default JSON - i=69 - i=7617 + i=583 + i=76 - - EndpointConfiguration - - - - ContentFilterElement + + + Default JSON - i=69 - i=7617 + i=586 + i=76 - - ContentFilterElement - - - - ContentFilter + + + Default JSON - i=69 - i=7617 + i=589 + i=76 - - ContentFilter - - - - FilterOperand + + + Default JSON - i=69 - i=7617 + i=592 + i=76 - - FilterOperand - - - - ElementOperand + + + Default JSON - i=69 - i=7617 + i=595 + i=76 - - ElementOperand - - - - LiteralOperand + + + Default JSON - i=69 - i=7617 + i=598 + i=76 - - LiteralOperand - - - - AttributeOperand + + + Default JSON - i=69 - i=7617 + i=601 + i=76 - - AttributeOperand - - - - SimpleAttributeOperand + + + Default JSON - i=69 - i=7617 + i=659 + i=76 - - SimpleAttributeOperand - - - - HistoryEvent + + + Default JSON - i=69 - i=7617 + i=719 + i=76 - - HistoryEvent - - - - MonitoringFilter + + + Default JSON - i=69 - i=7617 + i=725 + i=76 - - MonitoringFilter - - - - EventFilter + + + Default JSON - i=69 - i=7617 + i=948 + i=76 - - EventFilter - - - - AggregateConfiguration + + + Default JSON - i=69 - i=7617 + i=920 + i=76 - - AggregateConfiguration - - - - HistoryEventFieldList + + + Default JSON - i=69 - i=7617 + i=338 + i=76 - - HistoryEventFieldList - - - - BuildInfo + + + Default JSON - i=69 - i=7617 + i=853 + i=76 - - BuildInfo - - - - RedundantServerDataType + + + Default JSON - i=69 - i=7617 + i=11943 + i=76 - - RedundantServerDataType - - - - EndpointUrlListDataType + + + Default JSON - i=69 - i=7617 + i=11944 + i=76 - - EndpointUrlListDataType - - - - NetworkGroupDataType + + + Default JSON - i=69 - i=7617 + i=856 + i=76 - - NetworkGroupDataType - - - - SamplingIntervalDiagnosticsDataType + + + Default JSON - i=69 - i=7617 + i=859 + i=76 - - SamplingIntervalDiagnosticsDataType - - - - ServerDiagnosticsSummaryDataType + + + Default JSON - i=69 - i=7617 + i=862 + i=76 - - ServerDiagnosticsSummaryDataType - - - - ServerStatusDataType + + + Default JSON - i=69 - i=7617 + i=865 + i=76 - - ServerStatusDataType - - - - SessionDiagnosticsDataType + + + Default JSON - i=69 - i=7617 + i=868 + i=76 - - SessionDiagnosticsDataType - - - - SessionSecurityDiagnosticsDataType + + + Default JSON - i=69 - i=7617 + i=871 + i=76 - - SessionSecurityDiagnosticsDataType - - - - ServiceCounterDataType + + + Default JSON - i=69 - i=7617 + i=299 + i=76 - - ServiceCounterDataType - - - - StatusResult + + + Default JSON - i=69 - i=7617 + i=874 + i=76 - - StatusResult - - - - SubscriptionDiagnosticsDataType + + + Default JSON - i=69 - i=7617 + i=877 + i=76 - - SubscriptionDiagnosticsDataType - - - - ModelChangeStructureDataType + + + Default JSON - i=69 - i=7617 + i=897 + i=76 - - ModelChangeStructureDataType - - - - SemanticChangeStructureDataType + + + Default JSON - i=69 - i=7617 + i=884 + i=76 - - SemanticChangeStructureDataType - - - - Range + + + Default JSON - i=69 - i=7617 + i=887 + i=76 - - Range - - - - EUInformation + + + Default JSON - i=69 - i=7617 + i=12171 + i=76 - - EUInformation - - - - ComplexNumberType + + + Default JSON - i=69 - i=7617 + i=12172 + i=76 - - ComplexNumberType - - - - DoubleComplexNumberType + + + Default JSON - i=69 - i=7617 + i=12079 + i=76 - - DoubleComplexNumberType - - - - AxisInformation + + + Default JSON - i=69 - i=7617 + i=12080 + i=76 - - AxisInformation - - - - XVType + + + Default JSON - i=69 - i=7617 + i=894 + i=76 - - XVType - - - - ProgramDiagnosticDataType + + + Default JSON - i=69 - i=7617 + i=15396 + i=76 - - ProgramDiagnosticDataType - - - - Annotation + + + Default JSON - i=69 - i=7617 + i=891 + i=76 - - Annotation - - + diff --git a/schemas/Opc.Ua.Services.wsdl b/schemas/Opc.Ua.Services.wsdl index 1adf15a0c..036d37bc8 100644 --- a/schemas/Opc.Ua.Services.wsdl +++ b/schemas/Opc.Ua.Services.wsdl @@ -7,8 +7,6 @@ xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema" > - - diff --git a/schemas/Opc.Ua.Types.bsd b/schemas/Opc.Ua.Types.bsd index 696591e66..513577a01 100644 --- a/schemas/Opc.Ua.Types.bsd +++ b/schemas/Opc.Ua.Types.bsd @@ -235,10 +235,26 @@ An image encoded in PNG format. + + An image encoded in PNG format. + + A mask of 32 bits that can be updated individually by using the top 32 bits as a mask. + + + + + + + + + + + + @@ -246,6 +262,20 @@ + + + + + + + + + + + + + + @@ -267,6 +297,473 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The type of identifier used in a node id. @@ -288,6 +785,71 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Specifies the attributes which belong to all nodes. @@ -297,6 +859,11 @@ + + + + + @@ -309,6 +876,11 @@ + + + + + @@ -321,6 +893,11 @@ + + + + + @@ -334,6 +911,11 @@ + + + + + @@ -348,6 +930,11 @@ + + + + + @@ -362,6 +949,11 @@ + + + + + @@ -373,6 +965,7 @@ + @@ -384,6 +977,11 @@ + + + + + @@ -403,6 +1001,11 @@ + + + + + @@ -419,6 +1022,11 @@ + + + + + @@ -433,6 +1041,11 @@ + + + + + @@ -447,9 +1060,15 @@ + + + + + + @@ -476,6 +1095,13 @@ + + + + + + + This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask. @@ -569,11 +1195,34 @@ + + + The response returned by all services when there is a service level error. + + + + + + + + + + + + + + + + + + + + Finds the servers known to the discovery server. @@ -912,15 +1561,18 @@ - - - - - - - - - + + + + + + + + + + + + @@ -1029,6 +1681,21 @@ + + + + + + + + + + + + + + + A request to add a node to the server address space. @@ -1160,6 +1827,10 @@ + + + + @@ -2361,6 +3032,25 @@ + + + + + + + + + + + + + + + + + + + diff --git a/schemas/Opc.Ua.Types.xsd b/schemas/Opc.Ua.Types.xsd index fe50bb4fd..45c70f254 100644 --- a/schemas/Opc.Ua.Types.xsd +++ b/schemas/Opc.Ua.Types.xsd @@ -517,54 +517,1176 @@ + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + - + - + - - - - - + - + - + + + + + + + + + - + - + @@ -604,6 +1726,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Specifies the attributes which belong to all nodes. @@ -616,6 +1852,9 @@ + + + @@ -691,6 +1930,7 @@ + @@ -763,6 +2003,7 @@ + @@ -828,6 +2069,24 @@ + + + + + + + + + + + + + + + + + + This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask. @@ -962,6 +2221,8 @@ + + The response returned by all services when there is a service level error. @@ -972,6 +2233,26 @@ + + + + + + + + + + + + + + + + + + + + Finds the servers known to the discovery server. @@ -1523,15 +2804,18 @@ - - - - - - - - - + + + + + + + + + + + + @@ -1677,6 +2961,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + A request to add a node to the server address space. @@ -1875,30 +3185,7 @@ Define bits used to indicate which attributes are writable. - - - - - - - - - - - - - - - - - - - - - - - - + @@ -3871,6 +5158,24 @@ + + + + + + + + + + + + + + + + + + diff --git a/schemas/StatusCodes.csv b/schemas/StatusCode.csv similarity index 91% rename from schemas/StatusCodes.csv rename to schemas/StatusCode.csv index 325b672e8..57c38df90 100644 --- a/schemas/StatusCodes.csv +++ b/schemas/StatusCode.csv @@ -20,15 +20,16 @@ BadTooManyMonitoredItems,0x80DB0000,The request could not be processed because t 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. -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. +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. @@ -46,6 +47,9 @@ BadRequestHeaderInvalid,0x802A0000,The header for the request is missing or inva 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. @@ -85,18 +89,19 @@ BadNoContinuationPoints,0x804B0000,The operation could not be processed because BadReferenceTypeIdInvalid,0x804C0000,The operation could not be processed because all continuation points have been allocated. 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. +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. +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. @@ -131,24 +136,26 @@ BadSecurityModeInsufficient,0x80E60000,The operation is not permitted over the c 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 not does support writing the combination of value, status and timestamps provided. +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. 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. +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 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. +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. @@ -201,6 +208,7 @@ BadAggregateInvalidInputs,0x80D60000,The aggregate value could not be derived du BadAggregateConfigurationRejected,0x80DA0000,The aggregate configuration is not valid for specified node. GoodDataIgnored,0x00D90000,The request pecifies 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. 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. diff --git a/schemas/UANodeSet.xsd b/schemas/UANodeSet.xsd index 356f31440..08d43e500 100644 --- a/schemas/UANodeSet.xsd +++ b/schemas/UANodeSet.xsd @@ -56,7 +56,7 @@ - + @@ -87,7 +87,7 @@ - + @@ -106,7 +106,7 @@ - + @@ -120,7 +120,7 @@ - + @@ -144,7 +144,7 @@ - + @@ -153,11 +153,14 @@ + + + @@ -212,6 +215,10 @@ + + + + @@ -247,7 +254,7 @@ - + @@ -265,6 +272,20 @@ + + + + + + + + + + + + + + @@ -284,12 +305,14 @@ + + @@ -333,9 +356,19 @@ + + + + + + + + + + @@ -414,16 +447,18 @@ - + + + + - From 4e9f8fe2a15c9367f058dae51c6cdc39a13a73bd Mon Sep 17 00:00:00 2001 From: cirp-usf Date: Fri, 13 Apr 2018 13:07:51 +0200 Subject: [PATCH 056/113] cherry-pick/merge a1a621f00506a11d6efc717b3d2055acd0c59a82 --- opcua/common/event_objects.py | 113 +- .../standard_address_space_part10.py | 1193 +- .../standard_address_space_part11.py | 55 +- .../standard_address_space_part3.py | 1682 +- .../standard_address_space_part4.py | 2030 +- .../standard_address_space_part5.py | 37843 +++++++++++----- .../standard_address_space_part8.py | 2 +- .../standard_address_space_part9.py | 9558 +++- opcua/ua/attribute_ids.py | 5 + opcua/ua/object_ids.py | 10734 ++++- opcua/ua/status_codes.py | 46 +- opcua/ua/uaprotocol_auto.py | 5244 ++- 12 files changed, 52206 insertions(+), 16299 deletions(-) diff --git a/opcua/common/event_objects.py b/opcua/common/event_objects.py index d59956a2e..289b1bf91 100644 --- a/opcua/common/event_objects.py +++ b/opcua/common/event_objects.py @@ -41,6 +41,7 @@ class AuditSecurityEvent(AuditEvent): def __init__(self, sourcenode=None, message=None, severity=1): super(AuditSecurityEvent, self).__init__(sourcenode, message, severity) self.EventType = ua.NodeId(ua.ObjectIds.AuditSecurityEventType) + self.add_property('StatusCodeId', None, ua.VariantType.StatusCode) class AuditChannelEvent(AuditSecurityEvent): """ @@ -373,7 +374,7 @@ class AuditConditionCommentEvent(AuditConditionEvent): def __init__(self, sourcenode=None, message=None, severity=1): super(AuditConditionCommentEvent, self).__init__(sourcenode, message, severity) self.EventType = ua.NodeId(ua.ObjectIds.AuditConditionCommentEventType) - self.add_property('EventId', None, ua.VariantType.ByteString) + self.add_property('ConditionEventId', None, ua.VariantType.ByteString) self.add_property('Comment', None, ua.VariantType.LocalizedText) class AuditHistoryEventUpdateEvent(AuditHistoryUpdateEvent): @@ -474,7 +475,7 @@ class AuditConditionAcknowledgeEvent(AuditConditionEvent): def __init__(self, sourcenode=None, message=None, severity=1): super(AuditConditionAcknowledgeEvent, self).__init__(sourcenode, message, severity) self.EventType = ua.NodeId(ua.ObjectIds.AuditConditionAcknowledgeEventType) - self.add_property('EventId', None, ua.VariantType.ByteString) + self.add_property('ConditionEventId', None, ua.VariantType.ByteString) self.add_property('Comment', None, ua.VariantType.LocalizedText) class AuditConditionConfirmEvent(AuditConditionEvent): @@ -484,7 +485,7 @@ class AuditConditionConfirmEvent(AuditConditionEvent): def __init__(self, sourcenode=None, message=None, severity=1): super(AuditConditionConfirmEvent, self).__init__(sourcenode, message, severity) self.EventType = ua.NodeId(ua.ObjectIds.AuditConditionConfirmEventType) - self.add_property('EventId', None, ua.VariantType.ByteString) + self.add_property('ConditionEventId', None, ua.VariantType.ByteString) self.add_property('Comment', None, ua.VariantType.LocalizedText) class AuditConditionShelvingEvent(AuditConditionEvent): @@ -542,6 +543,101 @@ def __init__(self, sourcenode=None, message=None, severity=1): self.add_property('CertificateGroup', ua.NodeId(ua.ObjectIds.CertificateUpdatedAuditEventType), ua.VariantType.NodeId) self.add_property('CertificateType', ua.NodeId(ua.ObjectIds.CertificateUpdatedAuditEventType), ua.VariantType.NodeId) +class AuditConditionResetEvent(AuditConditionEvent): + """ + AuditConditionResetEvent: + """ + def __init__(self, sourcenode=None, message=None, severity=1): + super(AuditConditionResetEvent, self).__init__(sourcenode, message, severity) + self.EventType = ua.NodeId(ua.ObjectIds.AuditConditionResetEventType) + +class PubSubStatusEvent(SystemEvent): + """ + PubSubStatusEvent: + """ + def __init__(self, sourcenode=None, message=None, severity=1): + super(PubSubStatusEvent, self).__init__(sourcenode, message, severity) + self.EventType = ua.NodeId(ua.ObjectIds.PubSubStatusEventType) + self.add_property('ConnectionId', ua.NodeId(ua.ObjectIds.PubSubStatusEventType), ua.VariantType.NodeId) + self.add_property('GroupId', ua.NodeId(ua.ObjectIds.PubSubStatusEventType), ua.VariantType.NodeId) + self.add_property('State', None, ua.NodeId(ua.ObjectIds.PubSubState)) + +class PubSubTransportLimitsExceedEvent(PubSubStatusEvent): + """ + PubSubTransportLimitsExceedEvent: + """ + def __init__(self, sourcenode=None, message=None, severity=1): + super(PubSubTransportLimitsExceedEvent, self).__init__(sourcenode, message, severity) + self.EventType = ua.NodeId(ua.ObjectIds.PubSubTransportLimitsExceedEventType) + self.add_property('Actual', None, ua.VariantType.UInt32) + self.add_property('Maximum', None, ua.VariantType.UInt32) + +class PubSubCommunicationFailureEvent(PubSubStatusEvent): + """ + PubSubCommunicationFailureEvent: + """ + def __init__(self, sourcenode=None, message=None, severity=1): + super(PubSubCommunicationFailureEvent, self).__init__(sourcenode, message, severity) + self.EventType = ua.NodeId(ua.ObjectIds.PubSubCommunicationFailureEventType) + self.add_property('Error', None, ua.VariantType.StatusCode) + +class AuditConditionSuppressEvent(AuditConditionEvent): + """ + AuditConditionSuppressEvent: + """ + def __init__(self, sourcenode=None, message=None, severity=1): + super(AuditConditionSuppressEvent, self).__init__(sourcenode, message, severity) + self.EventType = ua.NodeId(ua.ObjectIds.AuditConditionSuppressEventType) + +class AuditConditionSilenceEvent(AuditConditionEvent): + """ + AuditConditionSilenceEvent: + """ + def __init__(self, sourcenode=None, message=None, severity=1): + super(AuditConditionSilenceEvent, self).__init__(sourcenode, message, severity) + self.EventType = ua.NodeId(ua.ObjectIds.AuditConditionSilenceEventType) + +class AuditConditionOutOfServiceEvent(AuditConditionEvent): + """ + AuditConditionOutOfServiceEvent: + """ + def __init__(self, sourcenode=None, message=None, severity=1): + super(AuditConditionOutOfServiceEvent, self).__init__(sourcenode, message, severity) + self.EventType = ua.NodeId(ua.ObjectIds.AuditConditionOutOfServiceEventType) + +class RoleMappingRuleChangedAuditEvent(AuditUpdateMethodEvent): + """ + RoleMappingRuleChangedAuditEvent: + """ + def __init__(self, sourcenode=None, message=None, severity=1): + super(RoleMappingRuleChangedAuditEvent, self).__init__(sourcenode, message, severity) + self.EventType = ua.NodeId(ua.ObjectIds.RoleMappingRuleChangedAuditEventType) + +class KeyCredentialAuditEvent(AuditUpdateMethodEvent): + """ + KeyCredentialAuditEvent: + """ + def __init__(self, sourcenode=None, message=None, severity=1): + super(KeyCredentialAuditEvent, self).__init__(sourcenode, message, severity) + self.EventType = ua.NodeId(ua.ObjectIds.KeyCredentialAuditEventType) + self.add_property('ResourceUri', None, ua.VariantType.String) + +class KeyCredentialUpdatedAuditEvent(KeyCredentialAuditEvent): + """ + KeyCredentialUpdatedAuditEvent: + """ + def __init__(self, sourcenode=None, message=None, severity=1): + super(KeyCredentialUpdatedAuditEvent, self).__init__(sourcenode, message, severity) + self.EventType = ua.NodeId(ua.ObjectIds.KeyCredentialUpdatedAuditEventType) + +class KeyCredentialDeletedAuditEvent(KeyCredentialAuditEvent): + """ + KeyCredentialDeletedAuditEvent: + """ + def __init__(self, sourcenode=None, message=None, severity=1): + super(KeyCredentialDeletedAuditEvent, self).__init__(sourcenode, message, severity) + self.EventType = ua.NodeId(ua.ObjectIds.KeyCredentialDeletedAuditEventType) + IMPLEMENTED_EVENTS = { ua.ObjectIds.BaseEventType: BaseEvent, @@ -601,4 +697,15 @@ def __init__(self, sourcenode=None, message=None, severity=1): ua.ObjectIds.AuditProgramTransitionEventType: AuditProgramTransitionEvent, ua.ObjectIds.TrustListUpdatedAuditEventType: TrustListUpdatedAuditEvent, ua.ObjectIds.CertificateUpdatedAuditEventType: CertificateUpdatedAuditEvent, + ua.ObjectIds.AuditConditionResetEventType: AuditConditionResetEvent, + ua.ObjectIds.PubSubStatusEventType: PubSubStatusEvent, + ua.ObjectIds.PubSubTransportLimitsExceedEventType: PubSubTransportLimitsExceedEvent, + ua.ObjectIds.PubSubCommunicationFailureEventType: PubSubCommunicationFailureEvent, + ua.ObjectIds.AuditConditionSuppressEventType: AuditConditionSuppressEvent, + ua.ObjectIds.AuditConditionSilenceEventType: AuditConditionSilenceEvent, + ua.ObjectIds.AuditConditionOutOfServiceEventType: AuditConditionOutOfServiceEvent, + ua.ObjectIds.RoleMappingRuleChangedAuditEventType: RoleMappingRuleChangedAuditEvent, + ua.ObjectIds.KeyCredentialAuditEventType: KeyCredentialAuditEvent, + ua.ObjectIds.KeyCredentialUpdatedAuditEventType: KeyCredentialUpdatedAuditEvent, + ua.ObjectIds.KeyCredentialDeletedAuditEventType: KeyCredentialDeletedAuditEvent, } diff --git a/opcua/server/standard_address_space/standard_address_space_part10.py b/opcua/server/standard_address_space/standard_address_space_part10.py index 2378a3d80..a5ead180e 100644 --- a/opcua/server/standard_address_space/standard_address_space_part10.py +++ b/opcua/server/standard_address_space/standard_address_space_part10.py @@ -106,28 +106,28 @@ def create_standard_address_space_Part10(server): ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2391") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2400") + ref.TargetNodeId = ua.NodeId.from_string("i=2406") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2391") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2402") + ref.TargetNodeId = ua.NodeId.from_string("i=2400") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2391") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2404") + ref.TargetNodeId = ua.NodeId.from_string("i=2402") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2391") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2406") + ref.TargetNodeId = ua.NodeId.from_string("i=2404") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True @@ -623,7 +623,7 @@ def create_standard_address_space_Part10(server): ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2394") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=79") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False @@ -767,10 +767,10 @@ def create_standard_address_space_Part10(server): node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2391") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2380") + node.TypeDefinition = ua.NodeId.from_string("i=15383") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("ProgramDiagnostics") - attrs.DataType = ua.NodeId.from_string("i=894") + attrs.DataType = ua.NodeId.from_string("i=15396") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -836,6 +836,20 @@ def create_standard_address_space_Part10(server): ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2399") ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15038") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2399") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15040") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2399") + ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=3848") refs.append(ref) ref = ua.AddReferencesItem() @@ -850,7 +864,7 @@ def create_standard_address_space_Part10(server): ref.ReferenceTypeId = ua.NodeId.from_string("i=40") ref.SourceNodeId = ua.NodeId.from_string("i=2399") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2380") + ref.TargetNodeId = ua.NodeId.from_string("i=15383") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True @@ -1164,6 +1178,80 @@ def create_standard_address_space_Part10(server): refs.append(ref) server.add_references(refs) + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15038") + node.BrowseName = ua.QualifiedName.from_string("LastMethodInputValues") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2399") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("LastMethodInputValues") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15038") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15038") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15038") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2399") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15040") + node.BrowseName = ua.QualifiedName.from_string("LastMethodOutputValues") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2399") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("LastMethodOutputValues") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15040") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15040") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15040") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2399") + refs.append(ref) + server.add_references(refs) + node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=3848") node.BrowseName = ua.QualifiedName.from_string("LastMethodCallTime") @@ -1210,7 +1298,7 @@ def create_standard_address_space_Part10(server): node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("LastMethodReturnStatus") - attrs.DataType = ua.NodeId.from_string("i=299") + attrs.DataType = ua.NodeId(ua.ObjectIds.StatusCode) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -1274,6 +1362,109 @@ def create_standard_address_space_Part10(server): refs.append(ref) server.add_references(refs) + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=2406") + node.BrowseName = ua.QualifiedName.from_string("Halted") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=2391") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=2307") + attrs = ua.ObjectAttributes() + attrs.Description = ua.LocalizedText("The Program is in a terminal or failed state, and it cannot be started or resumed without being reset.") + attrs.DisplayName = ua.LocalizedText("Halted") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2406") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2407") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=51") + ref.SourceNodeId = ua.NodeId.from_string("i=2406") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2408") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=52") + ref.SourceNodeId = ua.NodeId.from_string("i=2406") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2412") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=52") + ref.SourceNodeId = ua.NodeId.from_string("i=2406") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2420") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=52") + ref.SourceNodeId = ua.NodeId.from_string("i=2406") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2424") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=2406") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2307") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2406") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2391") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=2407") + node.BrowseName = ua.QualifiedName.from_string("StateNumber") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2406") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("StateNumber") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.Value = ua.Variant(11, ua.VariantType.UInt32) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=2407") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=2407") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2407") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2406") + refs.append(ref) + server.add_references(refs) + node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2400") node.BrowseName = ua.QualifiedName.from_string("Ready") @@ -1356,7 +1547,7 @@ def create_standard_address_space_Part10(server): attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("StateNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) - attrs.Value = ua.Variant(1, ua.VariantType.UInt32) + attrs.Value = ua.Variant(12, ua.VariantType.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -1466,7 +1657,7 @@ def create_standard_address_space_Part10(server): attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("StateNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) - attrs.Value = ua.Variant(2, ua.VariantType.UInt32) + attrs.Value = ua.Variant(13, ua.VariantType.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -1569,7 +1760,7 @@ def create_standard_address_space_Part10(server): attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("StateNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) - attrs.Value = ua.Variant(3, ua.VariantType.UInt32) + attrs.Value = ua.Variant(14, ua.VariantType.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -1598,15 +1789,14 @@ def create_standard_address_space_Part10(server): server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2406") - node.BrowseName = ua.QualifiedName.from_string("Halted") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2408") + node.BrowseName = ua.QualifiedName.from_string("HaltedToReady") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2391") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2307") + node.TypeDefinition = ua.NodeId.from_string("i=2310") attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("The Program is in a terminal or failed state, and it cannot be started or resumed without being reset.") - attrs.DisplayName = ua.LocalizedText("Halted") + attrs.DisplayName = ua.LocalizedText("HaltedToReady") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -1614,65 +1804,65 @@ def create_standard_address_space_Part10(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2406") + ref.SourceNodeId = ua.NodeId.from_string("i=2408") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2407") + ref.TargetNodeId = ua.NodeId.from_string("i=2409") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=2406") + ref.SourceNodeId = ua.NodeId.from_string("i=2408") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2408") + ref.TargetNodeId = ua.NodeId.from_string("i=2406") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=2406") + ref.SourceNodeId = ua.NodeId.from_string("i=2408") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2412") + ref.TargetNodeId = ua.NodeId.from_string("i=2400") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=2406") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=53") + ref.SourceNodeId = ua.NodeId.from_string("i=2408") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2420") + ref.TargetNodeId = ua.NodeId.from_string("i=2430") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=2406") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=54") + ref.SourceNodeId = ua.NodeId.from_string("i=2408") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2424") + ref.TargetNodeId = ua.NodeId.from_string("i=2378") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2406") + ref.SourceNodeId = ua.NodeId.from_string("i=2408") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2307") + ref.TargetNodeId = ua.NodeId.from_string("i=2310") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2406") + ref.SourceNodeId = ua.NodeId.from_string("i=2408") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2391") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2407") - node.BrowseName = ua.QualifiedName.from_string("StateNumber") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2409") + node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2406") + node.ParentNodeId = ua.NodeId.from_string("i=2408") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("StateNumber") + attrs.DisplayName = ua.LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) - attrs.Value = ua.Variant(4, ua.VariantType.UInt32) + attrs.Value = ua.Variant(1, ua.VariantType.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -1680,125 +1870,23 @@ def create_standard_address_space_Part10(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2407") + ref.SourceNodeId = ua.NodeId.from_string("i=2409") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2407") + ref.SourceNodeId = ua.NodeId.from_string("i=2409") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2407") + ref.SourceNodeId = ua.NodeId.from_string("i=2409") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2406") - refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2408") - node.BrowseName = ua.QualifiedName.from_string("HaltedToReady") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2391") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2310") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("HaltedToReady") - attrs.EventNotifier = 0 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2408") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2409") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=2408") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2406") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=2408") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2400") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=53") - ref.SourceNodeId = ua.NodeId.from_string("i=2408") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2430") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=54") - ref.SourceNodeId = ua.NodeId.from_string("i=2408") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2378") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2408") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2310") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2408") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2391") - refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2409") - node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2408") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionNumber") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) - attrs.Value = ua.Variant(1, ua.VariantType.UInt32) - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2409") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2409") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2409") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2408") + ref.TargetNodeId = ua.NodeId.from_string("i=2408") refs.append(ref) server.add_references(refs) @@ -2628,7 +2716,7 @@ def create_standard_address_space_Part10(server): ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2426") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=11508") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False @@ -2663,7 +2751,7 @@ def create_standard_address_space_Part10(server): ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2427") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=11508") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False @@ -2698,7 +2786,7 @@ def create_standard_address_space_Part10(server): ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2428") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=11508") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False @@ -2747,7 +2835,7 @@ def create_standard_address_space_Part10(server): ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2429") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=11508") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False @@ -2782,7 +2870,7 @@ def create_standard_address_space_Part10(server): ref.ReferenceTypeId = ua.NodeId.from_string("i=37") ref.SourceNodeId = ua.NodeId.from_string("i=2430") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=11508") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False @@ -3356,7 +3444,7 @@ def create_standard_address_space_Part10(server): node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("LastMethodInputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -3393,7 +3481,7 @@ def create_standard_address_space_Part10(server): node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("LastMethodOutputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -3467,7 +3555,7 @@ def create_standard_address_space_Part10(server): node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("LastMethodReturnStatus") - attrs.DataType = ua.NodeId.from_string("i=299") + attrs.DataType = ua.NodeId(ua.ObjectIds.StatusCode) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -3496,92 +3584,793 @@ def create_standard_address_space_Part10(server): server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=894") - node.BrowseName = ua.QualifiedName.from_string("ProgramDiagnosticDataType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15383") + node.BrowseName = ua.QualifiedName.from_string("ProgramDiagnostic2Type") + node.NodeClass = ua.NodeClass.VariableType + node.ParentNodeId = ua.NodeId.from_string("i=63") node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ProgramDiagnosticDataType") + attrs = ua.VariableTypeAttributes() + attrs.DisplayName = ua.LocalizedText("ProgramDiagnostic2Type") + attrs.DisplayName = ua.LocalizedText("ProgramDiagnostic2Type") + attrs.DataType = ua.NodeId.from_string("i=15396") + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15383") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15384") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15383") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15385") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15383") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15386") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15383") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15387") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15383") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15388") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15383") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15389") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15383") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15390") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15383") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15391") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15383") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15392") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15383") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15393") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15383") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15394") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15383") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15395") + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=894") + ref.SourceNodeId = ua.NodeId.from_string("i=15383") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=895") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=894") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") - attrs.EventNotifier = 0 + node.RequestedNewNodeId = ua.NodeId.from_string("i=15384") + node.BrowseName = ua.QualifiedName.from_string("CreateSessionId") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15383") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("CreateSessionId") + attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=895") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15384") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=894") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=895") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15384") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8882") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=895") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15384") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.TargetNodeId = ua.NodeId.from_string("i=15383") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=896") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=894") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") - attrs.EventNotifier = 0 + node.RequestedNewNodeId = ua.NodeId.from_string("i=15385") + node.BrowseName = ua.QualifiedName.from_string("CreateClientName") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15383") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("CreateClientName") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=896") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15385") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=894") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=896") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15385") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8247") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=896") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15385") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15383") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15386") + node.BrowseName = ua.QualifiedName.from_string("InvocationCreationTime") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15383") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InvocationCreationTime") + attrs.DataType = ua.NodeId.from_string("i=294") + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15386") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15386") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15386") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15383") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15387") + node.BrowseName = ua.QualifiedName.from_string("LastTransitionTime") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15383") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("LastTransitionTime") + attrs.DataType = ua.NodeId.from_string("i=294") + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15387") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15387") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15387") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15383") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15388") + node.BrowseName = ua.QualifiedName.from_string("LastMethodCall") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15383") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("LastMethodCall") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15388") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15388") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15388") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15383") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15389") + node.BrowseName = ua.QualifiedName.from_string("LastMethodSessionId") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15383") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("LastMethodSessionId") + attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15389") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15389") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15389") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15383") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15390") + node.BrowseName = ua.QualifiedName.from_string("LastMethodInputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15383") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("LastMethodInputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15390") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15390") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15390") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15383") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15391") + node.BrowseName = ua.QualifiedName.from_string("LastMethodOutputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15383") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("LastMethodOutputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15391") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15391") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15391") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15383") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15392") + node.BrowseName = ua.QualifiedName.from_string("LastMethodInputValues") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15383") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("LastMethodInputValues") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15392") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15392") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15392") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15383") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15393") + node.BrowseName = ua.QualifiedName.from_string("LastMethodOutputValues") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15383") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("LastMethodOutputValues") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15393") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15393") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15393") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15383") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15394") + node.BrowseName = ua.QualifiedName.from_string("LastMethodCallTime") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15383") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("LastMethodCallTime") + attrs.DataType = ua.NodeId.from_string("i=294") + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15394") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15394") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15394") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15383") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15395") + node.BrowseName = ua.QualifiedName.from_string("LastMethodReturnStatus") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15383") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("LastMethodReturnStatus") + attrs.DataType = ua.NodeId(ua.ObjectIds.StatusCode) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15395") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15395") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15395") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15383") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=894") + node.BrowseName = ua.QualifiedName.from_string("ProgramDiagnosticDataType") + node.NodeClass = ua.NodeClass.DataType + node.ParentNodeId = ua.NodeId.from_string("i=22") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.DataTypeAttributes() + attrs.DisplayName = ua.LocalizedText("ProgramDiagnosticDataType") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=894") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=22") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15396") + node.BrowseName = ua.QualifiedName.from_string("ProgramDiagnostic2DataType") + node.NodeClass = ua.NodeClass.DataType + node.ParentNodeId = ua.NodeId.from_string("i=22") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.DataTypeAttributes() + attrs.DisplayName = ua.LocalizedText("ProgramDiagnostic2DataType") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=15396") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=22") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=896") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=894") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=896") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=894") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=896") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8247") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=896") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15397") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=15396") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15397") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15396") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=15397") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15398") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15397") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=895") + node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=894") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=895") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=894") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=895") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8882") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=895") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15401") + node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=15396") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15401") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15396") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=15401") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15402") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15401") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15381") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=894") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15381") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=894") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15381") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15405") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=15396") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15405") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15396") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15405") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) diff --git a/opcua/server/standard_address_space/standard_address_space_part11.py b/opcua/server/standard_address_space/standard_address_space_part11.py index 0868cb61a..917b335d7 100644 --- a/opcua/server/standard_address_space/standard_address_space_part11.py +++ b/opcua/server/standard_address_space/standard_address_space_part11.py @@ -3189,7 +3189,7 @@ def create_standard_address_space_Part11(server): attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EnumStrings") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.Value = [ua.LocalizedText("AbsoluteValue"),ua.LocalizedText("PercentOfValue"),ua.LocalizedText("PercentOfRange"),ua.LocalizedText("PercentOfEURange"),ua.LocalizedText("Unknown")] + attrs.Value = [ua.LocalizedText('AbsoluteValue'),ua.LocalizedText('PercentOfValue'),ua.LocalizedText('PercentOfRange'),ua.LocalizedText('PercentOfEURange'),ua.LocalizedText('Unknown')] attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -3217,6 +3217,42 @@ def create_standard_address_space_Part11(server): refs.append(ref) server.add_references(refs) + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=893") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=891") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=893") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=891") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=893") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8244") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=893") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=892") node.BrowseName = ua.QualifiedName.from_string("Default XML") @@ -3254,14 +3290,14 @@ def create_standard_address_space_Part11(server): server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=893") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15382") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=891") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = ua.LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -3269,21 +3305,14 @@ def create_standard_address_space_Part11(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=893") + ref.SourceNodeId = ua.NodeId.from_string("i=15382") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=891") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=893") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8244") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=893") + ref.SourceNodeId = ua.NodeId.from_string("i=15382") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) diff --git a/opcua/server/standard_address_space/standard_address_space_part3.py b/opcua/server/standard_address_space/standard_address_space_part3.py index af01cbccd..2a2bfaad4 100644 --- a/opcua/server/standard_address_space/standard_address_space_part3.py +++ b/opcua/server/standard_address_space/standard_address_space_part3.py @@ -582,6 +582,7 @@ def create_standard_address_space_Part3(server): attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("Describes a value that is an image encoded as a string of bytes.") attrs.DisplayName = ua.LocalizedText("Image") + attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] @@ -595,21 +596,21 @@ def create_standard_address_space_Part3(server): server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=121") - node.BrowseName = ua.QualifiedName.from_string("Decimal128") + node.RequestedNewNodeId = ua.NodeId.from_string("i=50") + node.BrowseName = ua.QualifiedName.from_string("Decimal") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=26") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("Describes a 128-bit decimal value.") - attrs.DisplayName = ua.LocalizedText("Decimal128") + attrs.Description = ua.LocalizedText("Describes an arbitrary precision decimal value.") + attrs.DisplayName = ua.LocalizedText("Decimal") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=121") + ref.SourceNodeId = ua.NodeId.from_string("i=50") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=26") refs.append(ref) @@ -683,6 +684,7 @@ def create_standard_address_space_Part3(server): attrs.Description = ua.LocalizedText("The abstract base type for all non-looping hierarchical references.") attrs.DisplayName = ua.LocalizedText("HasChild") attrs.InverseName = ua.LocalizedText("ChildOf") + attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] @@ -836,7 +838,7 @@ def create_standard_address_space_Part3(server): attrs = ua.ReferenceTypeAttributes() attrs.Description = ua.LocalizedText("The type for references from a node to an event type that is raised by node.") attrs.DisplayName = ua.LocalizedText("GeneratesEvent") - attrs.InverseName = ua.LocalizedText("GeneratesEvent") + attrs.InverseName = ua.LocalizedText("GeneratedBy") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] @@ -858,7 +860,7 @@ def create_standard_address_space_Part3(server): attrs = ua.ReferenceTypeAttributes() attrs.Description = ua.LocalizedText("The type for references from a node to an event type that is always raised by node.") attrs.DisplayName = ua.LocalizedText("AlwaysGeneratesEvent") - attrs.InverseName = ua.LocalizedText("AlwaysGeneratesEvent") + attrs.InverseName = ua.LocalizedText("AlwaysGeneratedBy") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] @@ -881,6 +883,7 @@ def create_standard_address_space_Part3(server): attrs.Description = ua.LocalizedText("The type for non-looping hierarchical references that are used to aggregate nodes into complex types.") attrs.DisplayName = ua.LocalizedText("Aggregates") attrs.InverseName = ua.LocalizedText("AggregatedBy") + attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] @@ -1223,7 +1226,7 @@ def create_standard_address_space_Part3(server): node.NodeClass = ua.NodeClass.Variable node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum length for a string that can be stored in the owning variable.") + attrs.Description = ua.LocalizedText("The maximum number of bytes supported by the DataVariable.") attrs.DisplayName = ua.LocalizedText("MaxStringLength") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -2 @@ -1239,6 +1242,28 @@ def create_standard_address_space_Part3(server): refs.append(ref) server.add_references(refs) + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15002") + node.BrowseName = ua.QualifiedName.from_string("MaxCharacters") + node.NodeClass = ua.NodeClass.Variable + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.Description = ua.LocalizedText("The maximum number of Unicode characters supported by the DataVariable.") + attrs.DisplayName = ua.LocalizedText("MaxCharacters") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.ValueRank = -2 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15002") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + server.add_references(refs) + node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12908") node.BrowseName = ua.QualifiedName.from_string("MaxByteStringLength") @@ -1415,6 +1440,28 @@ def create_standard_address_space_Part3(server): refs.append(ref) server.add_references(refs) + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16306") + node.BrowseName = ua.QualifiedName.from_string("DefaultInputValues") + node.NodeClass = ua.NodeClass.Variable + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.Description = ua.LocalizedText("Specifies the default values for optional input arguments.") + attrs.DisplayName = ua.LocalizedText("DefaultInputValues") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16306") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + server.add_references(refs) + node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2000") node.BrowseName = ua.QualifiedName.from_string("ImageBMP") @@ -1499,6 +1546,27 @@ def create_standard_address_space_Part3(server): refs.append(ref) server.add_references(refs) + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16307") + node.BrowseName = ua.QualifiedName.from_string("AudioDataType") + node.NodeClass = ua.NodeClass.DataType + node.ParentNodeId = ua.NodeId.from_string("i=15") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.DataTypeAttributes() + attrs.Description = ua.LocalizedText("An image encoded in PNG format.") + attrs.DisplayName = ua.LocalizedText("AudioDataType") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=16307") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15") + refs.append(ref) + server.add_references(refs) + node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=256") node.BrowseName = ua.QualifiedName.from_string("IdType") @@ -1537,7 +1605,7 @@ def create_standard_address_space_Part3(server): attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EnumStrings") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.Value = [ua.LocalizedText("Numeric"),ua.LocalizedText("String"),ua.LocalizedText("Guid"),ua.LocalizedText("Opaque")] + attrs.Value = [ua.LocalizedText('Numeric'),ua.LocalizedText('String'),ua.LocalizedText('Guid'),ua.LocalizedText('Opaque')] attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -1678,274 +1746,1361 @@ def create_standard_address_space_Part3(server): server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=296") - node.BrowseName = ua.QualifiedName.from_string("Argument") + node.RequestedNewNodeId = ua.NodeId.from_string("i=94") + node.BrowseName = ua.QualifiedName.from_string("PermissionType") node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") + node.ParentNodeId = ua.NodeId.from_string("i=5") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("An argument for a method.") - attrs.DisplayName = ua.LocalizedText("Argument") + attrs.DisplayName = ua.LocalizedText("PermissionType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=94") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15030") + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=296") + ref.SourceNodeId = ua.NodeId.from_string("i=94") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.TargetNodeId = ua.NodeId.from_string("i=5") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7594") - node.BrowseName = ua.QualifiedName.from_string("EnumValueType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("A mapping between a value of an enumerated type and a name and description.") - attrs.DisplayName = ua.LocalizedText("EnumValueType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15030") + node.BrowseName = ua.QualifiedName.from_string("OptionSetValues") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=94") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("OptionSetValues") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.Value = [ua.LocalizedText('Browse'),ua.LocalizedText('ReadRolePermissions'),ua.LocalizedText('WriteAttribute'),ua.LocalizedText('WriteRolePermissions'),ua.LocalizedText('WriteHistorizing'),ua.LocalizedText('Read'),ua.LocalizedText('Write'),ua.LocalizedText('ReadHistory'),ua.LocalizedText('InsertHistory'),ua.LocalizedText('ModifyHistory'),ua.LocalizedText('DeleteHistory'),ua.LocalizedText('ReceiveEvents'),ua.LocalizedText('Call'),ua.LocalizedText('AddReference'),ua.LocalizedText('RemoveReference'),ua.LocalizedText('DeleteNode'),ua.LocalizedText('AddNode')] + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15030") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15030") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=7594") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15030") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.TargetNodeId = ua.NodeId.from_string("i=94") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12755") - node.BrowseName = ua.QualifiedName.from_string("OptionSet") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15031") + node.BrowseName = ua.QualifiedName.from_string("AccessLevelType") node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") + node.ParentNodeId = ua.NodeId.from_string("i=3") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask.") - attrs.DisplayName = ua.LocalizedText("OptionSet") + attrs.DisplayName = ua.LocalizedText("AccessLevelType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15031") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15032") + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=12755") + ref.SourceNodeId = ua.NodeId.from_string("i=15031") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.TargetNodeId = ua.NodeId.from_string("i=3") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12756") - node.BrowseName = ua.QualifiedName.from_string("Union") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("This abstract DataType is the base DataType for all union DataTypes.") - attrs.DisplayName = ua.LocalizedText("Union") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15032") + node.BrowseName = ua.QualifiedName.from_string("OptionSetValues") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15031") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("OptionSetValues") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.Value = [ua.LocalizedText('CurrentRead'),ua.LocalizedText('CurrentWrite'),ua.LocalizedText('HistoryRead'),ua.LocalizedText('Reserved'),ua.LocalizedText('HistoryWrite'),ua.LocalizedText('StatusWrite'),ua.LocalizedText('TimestampWrite')] + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15032") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15032") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=12756") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15032") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.TargetNodeId = ua.NodeId.from_string("i=15031") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12877") - node.BrowseName = ua.QualifiedName.from_string("NormalizedString") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15406") + node.BrowseName = ua.QualifiedName.from_string("AccessLevelExType") node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=12") + node.ParentNodeId = ua.NodeId.from_string("i=7") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("A string normalized based on the rules in the unicode specification.") - attrs.DisplayName = ua.LocalizedText("NormalizedString") + attrs.DisplayName = ua.LocalizedText("AccessLevelExType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15406") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15407") + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=12877") + ref.SourceNodeId = ua.NodeId.from_string("i=15406") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12") + ref.TargetNodeId = ua.NodeId.from_string("i=7") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12878") - node.BrowseName = ua.QualifiedName.from_string("DecimalString") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=12") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("An arbitraty numeric value.") - attrs.DisplayName = ua.LocalizedText("DecimalString") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15407") + node.BrowseName = ua.QualifiedName.from_string("OptionSetValues") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15406") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("OptionSetValues") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.Value = [ua.LocalizedText('CurrentRead'),ua.LocalizedText('CurrentWrite'),ua.LocalizedText('HistoryRead'),ua.LocalizedText('Reserved'),ua.LocalizedText('HistoryWrite'),ua.LocalizedText('StatusWrite'),ua.LocalizedText('TimestampWrite'),ua.LocalizedText('Reserved'),ua.LocalizedText('Reserved'),ua.LocalizedText('Reserved'),ua.LocalizedText('Reserved'),ua.LocalizedText('Reserved'),ua.LocalizedText('Reserved'),ua.LocalizedText('Reserved'),ua.LocalizedText('Reserved'),ua.LocalizedText('Reserved'),ua.LocalizedText('NonatomicRead'),ua.LocalizedText('NonatomicWrite'),ua.LocalizedText('WriteFullArrayOnly')] + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15407") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15407") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=12878") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15407") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12") + ref.TargetNodeId = ua.NodeId.from_string("i=15406") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12879") - node.BrowseName = ua.QualifiedName.from_string("DurationString") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15033") + node.BrowseName = ua.QualifiedName.from_string("EventNotifierType") node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=12") + node.ParentNodeId = ua.NodeId.from_string("i=7") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("A period of time formatted as defined in ISO 8601-2000.") - attrs.DisplayName = ua.LocalizedText("DurationString") + attrs.DisplayName = ua.LocalizedText("EventNotifierType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15033") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15034") + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=12879") + ref.SourceNodeId = ua.NodeId.from_string("i=15033") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12") + ref.TargetNodeId = ua.NodeId.from_string("i=7") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12880") - node.BrowseName = ua.QualifiedName.from_string("TimeString") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=12") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("A time formatted as defined in ISO 8601-2000.") - attrs.DisplayName = ua.LocalizedText("TimeString") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15034") + node.BrowseName = ua.QualifiedName.from_string("OptionSetValues") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15033") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("OptionSetValues") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.Value = [ua.LocalizedText('SubscribeToEvents'),ua.LocalizedText('Reserved'),ua.LocalizedText('HistoryRead'),ua.LocalizedText('HistoryWrite')] + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15034") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15034") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=12880") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15034") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12") + ref.TargetNodeId = ua.NodeId.from_string("i=15033") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12881") - node.BrowseName = ua.QualifiedName.from_string("DateString") + node.RequestedNewNodeId = ua.NodeId.from_string("i=95") + node.BrowseName = ua.QualifiedName.from_string("AccessRestrictionType") node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=12") + node.ParentNodeId = ua.NodeId.from_string("i=7") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("A date formatted as defined in ISO 8601-2000.") - attrs.DisplayName = ua.LocalizedText("DateString") + attrs.DisplayName = ua.LocalizedText("AccessRestrictionType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=95") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15035") + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=12881") + ref.SourceNodeId = ua.NodeId.from_string("i=95") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12") + ref.TargetNodeId = ua.NodeId.from_string("i=7") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=290") - node.BrowseName = ua.QualifiedName.from_string("Duration") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=11") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("A period of time measured in milliseconds.") - attrs.DisplayName = ua.LocalizedText("Duration") - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15035") + node.BrowseName = ua.QualifiedName.from_string("OptionSetValues") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=95") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("OptionSetValues") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.Value = [ua.LocalizedText('SigningRequired'),ua.LocalizedText('EncryptionRequired'),ua.LocalizedText('SessionRequired')] + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15035") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15035") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15035") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=95") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=96") + node.BrowseName = ua.QualifiedName.from_string("RolePermissionType") + node.NodeClass = ua.NodeClass.DataType + node.ParentNodeId = ua.NodeId.from_string("i=22") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.DataTypeAttributes() + attrs.DisplayName = ua.LocalizedText("RolePermissionType") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=290") + ref.SourceNodeId = ua.NodeId.from_string("i=96") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11") + ref.TargetNodeId = ua.NodeId.from_string("i=22") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=294") - node.BrowseName = ua.QualifiedName.from_string("UtcTime") + node.RequestedNewNodeId = ua.NodeId.from_string("i=97") + node.BrowseName = ua.QualifiedName.from_string("DataTypeDefinition") node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=13") + node.ParentNodeId = ua.NodeId.from_string("i=22") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("A date/time value specified in Universal Coordinated Time (UTC).") - attrs.DisplayName = ua.LocalizedText("UtcTime") + attrs.DisplayName = ua.LocalizedText("DataTypeDefinition") + attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=294") + ref.SourceNodeId = ua.NodeId.from_string("i=97") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13") + ref.TargetNodeId = ua.NodeId.from_string("i=22") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=295") - node.BrowseName = ua.QualifiedName.from_string("LocaleId") + node.RequestedNewNodeId = ua.NodeId.from_string("i=98") + node.BrowseName = ua.QualifiedName.from_string("StructureType") + node.NodeClass = ua.NodeClass.DataType + node.ParentNodeId = ua.NodeId.from_string("i=29") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.DataTypeAttributes() + attrs.DisplayName = ua.LocalizedText("StructureType") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=98") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=14528") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=98") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=29") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=14528") + node.BrowseName = ua.QualifiedName.from_string("EnumStrings") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=98") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("EnumStrings") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.Value = [ua.LocalizedText('Structure'),ua.LocalizedText('StructureWithOptionalFields'),ua.LocalizedText('Union')] + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=14528") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=14528") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=14528") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=98") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=101") + node.BrowseName = ua.QualifiedName.from_string("StructureField") + node.NodeClass = ua.NodeClass.DataType + node.ParentNodeId = ua.NodeId.from_string("i=22") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.DataTypeAttributes() + attrs.DisplayName = ua.LocalizedText("StructureField") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=101") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=22") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=99") + node.BrowseName = ua.QualifiedName.from_string("StructureDefinition") + node.NodeClass = ua.NodeClass.DataType + node.ParentNodeId = ua.NodeId.from_string("i=97") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.DataTypeAttributes() + attrs.DisplayName = ua.LocalizedText("StructureDefinition") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=99") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=97") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=100") + node.BrowseName = ua.QualifiedName.from_string("EnumDefinition") + node.NodeClass = ua.NodeClass.DataType + node.ParentNodeId = ua.NodeId.from_string("i=97") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.DataTypeAttributes() + attrs.DisplayName = ua.LocalizedText("EnumDefinition") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=100") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=97") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=296") + node.BrowseName = ua.QualifiedName.from_string("Argument") + node.NodeClass = ua.NodeClass.DataType + node.ParentNodeId = ua.NodeId.from_string("i=22") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.DataTypeAttributes() + attrs.Description = ua.LocalizedText("An argument for a method.") + attrs.DisplayName = ua.LocalizedText("Argument") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=296") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=22") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=7594") + node.BrowseName = ua.QualifiedName.from_string("EnumValueType") + node.NodeClass = ua.NodeClass.DataType + node.ParentNodeId = ua.NodeId.from_string("i=22") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.DataTypeAttributes() + attrs.Description = ua.LocalizedText("A mapping between a value of an enumerated type and a name and description.") + attrs.DisplayName = ua.LocalizedText("EnumValueType") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=7594") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=22") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=102") + node.BrowseName = ua.QualifiedName.from_string("EnumField") + node.NodeClass = ua.NodeClass.DataType + node.ParentNodeId = ua.NodeId.from_string("i=7594") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.DataTypeAttributes() + attrs.DisplayName = ua.LocalizedText("EnumField") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=102") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7594") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12755") + node.BrowseName = ua.QualifiedName.from_string("OptionSet") + node.NodeClass = ua.NodeClass.DataType + node.ParentNodeId = ua.NodeId.from_string("i=22") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.DataTypeAttributes() + attrs.Description = ua.LocalizedText("This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask.") + attrs.DisplayName = ua.LocalizedText("OptionSet") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=12755") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=22") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12756") + node.BrowseName = ua.QualifiedName.from_string("Union") + node.NodeClass = ua.NodeClass.DataType + node.ParentNodeId = ua.NodeId.from_string("i=22") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.DataTypeAttributes() + attrs.Description = ua.LocalizedText("This abstract DataType is the base DataType for all union DataTypes.") + attrs.DisplayName = ua.LocalizedText("Union") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=12756") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=22") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12877") + node.BrowseName = ua.QualifiedName.from_string("NormalizedString") node.NodeClass = ua.NodeClass.DataType node.ParentNodeId = ua.NodeId.from_string("i=12") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("An identifier for a user locale.") - attrs.DisplayName = ua.LocalizedText("LocaleId") + attrs.Description = ua.LocalizedText("A string normalized based on the rules in the unicode specification.") + attrs.DisplayName = ua.LocalizedText("NormalizedString") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=12877") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12878") + node.BrowseName = ua.QualifiedName.from_string("DecimalString") + node.NodeClass = ua.NodeClass.DataType + node.ParentNodeId = ua.NodeId.from_string("i=12") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.DataTypeAttributes() + attrs.Description = ua.LocalizedText("An arbitraty numeric value.") + attrs.DisplayName = ua.LocalizedText("DecimalString") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=12878") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12879") + node.BrowseName = ua.QualifiedName.from_string("DurationString") + node.NodeClass = ua.NodeClass.DataType + node.ParentNodeId = ua.NodeId.from_string("i=12") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.DataTypeAttributes() + attrs.Description = ua.LocalizedText("A period of time formatted as defined in ISO 8601-2000.") + attrs.DisplayName = ua.LocalizedText("DurationString") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=12879") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12880") + node.BrowseName = ua.QualifiedName.from_string("TimeString") + node.NodeClass = ua.NodeClass.DataType + node.ParentNodeId = ua.NodeId.from_string("i=12") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.DataTypeAttributes() + attrs.Description = ua.LocalizedText("A time formatted as defined in ISO 8601-2000.") + attrs.DisplayName = ua.LocalizedText("TimeString") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=12880") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12881") + node.BrowseName = ua.QualifiedName.from_string("DateString") + node.NodeClass = ua.NodeClass.DataType + node.ParentNodeId = ua.NodeId.from_string("i=12") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.DataTypeAttributes() + attrs.Description = ua.LocalizedText("A date formatted as defined in ISO 8601-2000.") + attrs.DisplayName = ua.LocalizedText("DateString") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=12881") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=290") + node.BrowseName = ua.QualifiedName.from_string("Duration") + node.NodeClass = ua.NodeClass.DataType + node.ParentNodeId = ua.NodeId.from_string("i=11") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.DataTypeAttributes() + attrs.Description = ua.LocalizedText("A period of time measured in milliseconds.") + attrs.DisplayName = ua.LocalizedText("Duration") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=290") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=294") + node.BrowseName = ua.QualifiedName.from_string("UtcTime") + node.NodeClass = ua.NodeClass.DataType + node.ParentNodeId = ua.NodeId.from_string("i=13") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.DataTypeAttributes() + attrs.Description = ua.LocalizedText("A date/time value specified in Universal Coordinated Time (UTC).") + attrs.DisplayName = ua.LocalizedText("UtcTime") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=294") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=13") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=295") + node.BrowseName = ua.QualifiedName.from_string("LocaleId") + node.NodeClass = ua.NodeClass.DataType + node.ParentNodeId = ua.NodeId.from_string("i=12") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.DataTypeAttributes() + attrs.Description = ua.LocalizedText("An identifier for a user locale.") + attrs.DisplayName = ua.LocalizedText("LocaleId") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=295") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=8912") + node.BrowseName = ua.QualifiedName.from_string("TimeZoneDataType") + node.NodeClass = ua.NodeClass.DataType + node.ParentNodeId = ua.NodeId.from_string("i=22") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.DataTypeAttributes() + attrs.DisplayName = ua.LocalizedText("TimeZoneDataType") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=8912") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=22") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=128") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=96") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=128") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=96") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=128") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16131") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=128") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=121") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=97") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=121") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=97") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=121") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=18178") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=121") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=14844") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=101") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=14844") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=101") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=14844") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=18181") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=14844") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=122") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=99") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=122") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=99") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=122") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=18184") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=122") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=123") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=100") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=123") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=100") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=123") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=18187") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=123") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=298") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=296") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=298") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=296") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=298") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7650") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=298") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=8251") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=7594") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=8251") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7594") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=8251") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7656") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=8251") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=14845") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=102") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=14845") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=102") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=14845") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=14870") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=14845") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12765") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=12755") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=12765") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12755") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=12765") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12767") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12765") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12766") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=12756") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=12766") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12756") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=12766") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12770") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12766") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=8917") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=8912") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=8917") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8912") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=8917") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8914") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=8917") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16126") + node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=96") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=16126") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=96") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=16126") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16127") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16126") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=14797") + node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=97") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=14797") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=97") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=14797") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=18166") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=14797") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=14800") + node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=101") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=14800") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=101") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=14800") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=18169") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=14800") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=14798") + node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=99") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=295") + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=14798") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12") + ref.TargetNodeId = ua.NodeId.from_string("i=99") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=14798") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=18172") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=14798") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8912") - node.BrowseName = ua.QualifiedName.from_string("TimeZoneDataType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("TimeZoneDataType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=14799") + node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=100") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=8912") + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=14799") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.TargetNodeId = ua.NodeId.from_string("i=100") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=14799") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=18175") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=14799") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) @@ -2021,6 +3176,42 @@ def create_standard_address_space_Part3(server): refs.append(ref) server.add_references(refs) + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=14801") + node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=102") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=14801") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=102") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=14801") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=14826") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=14801") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12757") node.BrowseName = ua.QualifiedName.from_string("Default XML") @@ -2130,14 +3321,14 @@ def create_standard_address_space_Part3(server): server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=298") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15062") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=296") + node.ParentNodeId = ua.NodeId.from_string("i=96") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = ua.LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -2145,35 +3336,57 @@ def create_standard_address_space_Part3(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=298") + ref.SourceNodeId = ua.NodeId.from_string("i=15062") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=296") + ref.TargetNodeId = ua.NodeId.from_string("i=96") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=298") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15062") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7650") + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15063") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=97") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15063") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=97") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=298") + ref.SourceNodeId = ua.NodeId.from_string("i=15063") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8251") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15065") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=7594") + node.ParentNodeId = ua.NodeId.from_string("i=101") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = ua.LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -2181,35 +3394,57 @@ def create_standard_address_space_Part3(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=8251") + ref.SourceNodeId = ua.NodeId.from_string("i=15065") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7594") + ref.TargetNodeId = ua.NodeId.from_string("i=101") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=8251") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15065") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7656") + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15066") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=99") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15066") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=99") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8251") + ref.SourceNodeId = ua.NodeId.from_string("i=15066") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12765") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15067") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=12755") + node.ParentNodeId = ua.NodeId.from_string("i=100") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = ua.LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -2217,35 +3452,57 @@ def create_standard_address_space_Part3(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=12765") + ref.SourceNodeId = ua.NodeId.from_string("i=15067") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12755") + ref.TargetNodeId = ua.NodeId.from_string("i=100") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=12765") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15067") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12767") + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15081") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=296") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15081") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=296") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12765") + ref.SourceNodeId = ua.NodeId.from_string("i=15081") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12766") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15082") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=12756") + node.ParentNodeId = ua.NodeId.from_string("i=7594") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = ua.LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -2253,35 +3510,57 @@ def create_standard_address_space_Part3(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=12766") + ref.SourceNodeId = ua.NodeId.from_string("i=15082") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12756") + ref.TargetNodeId = ua.NodeId.from_string("i=7594") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=12766") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15082") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12770") + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15083") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=102") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15083") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=102") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12766") + ref.SourceNodeId = ua.NodeId.from_string("i=15083") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8917") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15084") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=8912") + node.ParentNodeId = ua.NodeId.from_string("i=12755") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = ua.LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -2289,21 +3568,72 @@ def create_standard_address_space_Part3(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=8917") + ref.SourceNodeId = ua.NodeId.from_string("i=15084") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8912") + ref.TargetNodeId = ua.NodeId.from_string("i=12755") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=8917") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15084") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8914") + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15085") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=12756") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15085") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12756") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8917") + ref.SourceNodeId = ua.NodeId.from_string("i=15085") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15086") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=8912") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15086") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8912") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15086") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) diff --git a/opcua/server/standard_address_space/standard_address_space_part4.py b/opcua/server/standard_address_space/standard_address_space_part4.py index de982be26..cb90d4d3c 100644 --- a/opcua/server/standard_address_space/standard_address_space_part4.py +++ b/opcua/server/standard_address_space/standard_address_space_part4.py @@ -154,7 +154,7 @@ def create_standard_address_space_Part4(server): attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EnumStrings") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.Value = [ua.LocalizedText("Server"),ua.LocalizedText("Client"),ua.LocalizedText("ClientAndServer"),ua.LocalizedText("DiscoveryServer")] + attrs.Value = [ua.LocalizedText('Server'),ua.LocalizedText('Client'),ua.LocalizedText('ClientAndServer'),ua.LocalizedText('DiscoveryServer')] attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -203,6 +203,26 @@ def create_standard_address_space_Part4(server): refs.append(ref) server.add_references(refs) + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=20998") + node.BrowseName = ua.QualifiedName.from_string("VersionTime") + node.NodeClass = ua.NodeClass.DataType + node.ParentNodeId = ua.NodeId.from_string("i=7") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.DataTypeAttributes() + attrs.DisplayName = ua.LocalizedText("VersionTime") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=20998") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7") + refs.append(ref) + server.add_references(refs) + node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=12189") node.BrowseName = ua.QualifiedName.from_string("ServerOnNetwork") @@ -282,7 +302,7 @@ def create_standard_address_space_Part4(server): attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EnumStrings") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.Value = [ua.LocalizedText("Invalid"),ua.LocalizedText("None"),ua.LocalizedText("Sign"),ua.LocalizedText("SignAndEncrypt")] + attrs.Value = [ua.LocalizedText('Invalid'),ua.LocalizedText('None'),ua.LocalizedText('Sign'),ua.LocalizedText('SignAndEncrypt')] attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -348,7 +368,7 @@ def create_standard_address_space_Part4(server): attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EnumStrings") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.Value = [ua.LocalizedText("Anonymous"),ua.LocalizedText("UserName"),ua.LocalizedText("Certificate"),ua.LocalizedText("IssuedToken")] + attrs.Value = [ua.LocalizedText('Anonymous'),ua.LocalizedText('UserName'),ua.LocalizedText('Certificate'),ua.LocalizedText('IssuedToken')] attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -519,7 +539,7 @@ def create_standard_address_space_Part4(server): attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EnumStrings") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.Value = [ua.LocalizedText("Issue"),ua.LocalizedText("Renew")] + attrs.Value = [ua.LocalizedText('Issue'),ua.LocalizedText('Renew')] attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -598,6 +618,7 @@ def create_standard_address_space_Part4(server): attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("A base type for a user identity token.") attrs.DisplayName = ua.LocalizedText("UserIdentityToken") + attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] @@ -849,47 +870,62 @@ def create_standard_address_space_Part4(server): extobj.Description.Text = 'The value attribute is specified.' value.append(extobj) extobj = ua.EnumValueType() - extobj.Value = 4194303 + extobj.Value = 4194304 + extobj.DisplayName.Text = 'DataTypeDefinition' + extobj.Description.Text = 'The write mask attribute is specified.' + value.append(extobj) + extobj = ua.EnumValueType() + extobj.Value = 8388608 + extobj.DisplayName.Text = 'RolePermissions' + extobj.Description.Text = 'The write mask attribute is specified.' + value.append(extobj) + extobj = ua.EnumValueType() + extobj.Value = 16777216 + extobj.DisplayName.Text = 'AccessRestrictions' + extobj.Description.Text = 'The write mask attribute is specified.' + value.append(extobj) + extobj = ua.EnumValueType() + extobj.Value = 33554431 extobj.DisplayName.Text = 'All' extobj.Description.Text = 'All attributes are specified.' value.append(extobj) extobj = ua.EnumValueType() - extobj.Value = 1335396 + extobj.Value = 26501220 extobj.DisplayName.Text = 'BaseNode' extobj.Description.Text = 'All base attributes are specified.' value.append(extobj) extobj = ua.EnumValueType() - extobj.Value = 1335524 + extobj.Value = 26501348 extobj.DisplayName.Text = 'Object' extobj.Description.Text = 'All object attributes are specified.' value.append(extobj) extobj = ua.EnumValueType() - extobj.Value = 1337444 - extobj.DisplayName.Text = 'ObjectTypeOrDataType' - extobj.Description.Text = 'All object type or data type attributes are specified.' + extobj.Value = 26503268 + extobj.DisplayName.Text = 'ObjectType' + extobj.Description.Text = 'All object type attributes are specified.' value.append(extobj) extobj = ua.EnumValueType() - extobj.Value = 4026999 + extobj.Value = 26571383 extobj.DisplayName.Text = 'Variable' extobj.Description.Text = 'All variable attributes are specified.' value.append(extobj) extobj = ua.EnumValueType() - extobj.Value = 3958902 + extobj.Value = 28600438 extobj.DisplayName.Text = 'VariableType' extobj.Description.Text = 'All variable type attributes are specified.' value.append(extobj) extobj = ua.EnumValueType() - extobj.Value = 1466724 + extobj.Value = 26632548 extobj.DisplayName.Text = 'Method' extobj.Description.Text = 'All method attributes are specified.' value.append(extobj) extobj = ua.EnumValueType() - extobj.Value = 1371236 + extobj.Value = 26537060 extobj.DisplayName.Text = 'ReferenceType' extobj.Description.Text = 'All reference type attributes are specified.' value.append(extobj) extobj = ua.EnumValueType() - extobj.Value = 1335532 + extobj.Value = 26501356 extobj.DisplayName.Text = 'View' extobj.Description.Text = 'All view attributes are specified.' value.append(extobj) @@ -1009,7 +1045,7 @@ def create_standard_address_space_Part4(server): node.RequestedNewNodeId = ua.NodeId.from_string("i=347") node.BrowseName = ua.QualifiedName.from_string("AttributeWriteMask") node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=29") + node.ParentNodeId = ua.NodeId.from_string("i=7") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.DataTypeAttributes() attrs.Description = ua.LocalizedText("Define bits used to indicate which attributes are writable.") @@ -1022,144 +1058,28 @@ def create_standard_address_space_Part4(server): ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=347") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11882") + ref.TargetNodeId = ua.NodeId.from_string("i=15036") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=45") ref.SourceNodeId = ua.NodeId.from_string("i=347") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=29") + ref.TargetNodeId = ua.NodeId.from_string("i=7") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11882") - node.BrowseName = ua.QualifiedName.from_string("EnumValues") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15036") + node.BrowseName = ua.QualifiedName.from_string("OptionSetValues") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=347") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EnumValues") - attrs.DataType = ua.NodeId.from_string("i=7594") - value = [] - extobj = ua.EnumValueType() - extobj.Value = 0 - extobj.DisplayName.Text = 'None' - extobj.Description.Text = 'No attributes are writable.' - value.append(extobj) - extobj = ua.EnumValueType() - extobj.Value = 1 - extobj.DisplayName.Text = 'AccessLevel' - extobj.Description.Text = 'The access level attribute is writable.' - value.append(extobj) - extobj = ua.EnumValueType() - extobj.Value = 2 - extobj.DisplayName.Text = 'ArrayDimensions' - extobj.Description.Text = 'The array dimensions attribute is writable.' - value.append(extobj) - extobj = ua.EnumValueType() - extobj.Value = 4 - extobj.DisplayName.Text = 'BrowseName' - extobj.Description.Text = 'The browse name attribute is writable.' - value.append(extobj) - extobj = ua.EnumValueType() - extobj.Value = 8 - extobj.DisplayName.Text = 'ContainsNoLoops' - extobj.Description.Text = 'The contains no loops attribute is writable.' - value.append(extobj) - extobj = ua.EnumValueType() - extobj.Value = 16 - extobj.DisplayName.Text = 'DataType' - extobj.Description.Text = 'The data type attribute is writable.' - value.append(extobj) - extobj = ua.EnumValueType() - extobj.Value = 32 - extobj.DisplayName.Text = 'Description' - extobj.Description.Text = 'The description attribute is writable.' - value.append(extobj) - extobj = ua.EnumValueType() - extobj.Value = 64 - extobj.DisplayName.Text = 'DisplayName' - extobj.Description.Text = 'The display name attribute is writable.' - value.append(extobj) - extobj = ua.EnumValueType() - extobj.Value = 128 - extobj.DisplayName.Text = 'EventNotifier' - extobj.Description.Text = 'The event notifier attribute is writable.' - value.append(extobj) - extobj = ua.EnumValueType() - extobj.Value = 256 - extobj.DisplayName.Text = 'Executable' - extobj.Description.Text = 'The executable attribute is writable.' - value.append(extobj) - extobj = ua.EnumValueType() - extobj.Value = 512 - extobj.DisplayName.Text = 'Historizing' - extobj.Description.Text = 'The historizing attribute is writable.' - value.append(extobj) - extobj = ua.EnumValueType() - extobj.Value = 1024 - extobj.DisplayName.Text = 'InverseName' - extobj.Description.Text = 'The inverse name attribute is writable.' - value.append(extobj) - extobj = ua.EnumValueType() - extobj.Value = 2048 - extobj.DisplayName.Text = 'IsAbstract' - extobj.Description.Text = 'The is abstract attribute is writable.' - value.append(extobj) - extobj = ua.EnumValueType() - extobj.Value = 4096 - extobj.DisplayName.Text = 'MinimumSamplingInterval' - extobj.Description.Text = 'The minimum sampling interval attribute is writable.' - value.append(extobj) - extobj = ua.EnumValueType() - extobj.Value = 8192 - extobj.DisplayName.Text = 'NodeClass' - extobj.Description.Text = 'The node class attribute is writable.' - value.append(extobj) - extobj = ua.EnumValueType() - extobj.Value = 16384 - extobj.DisplayName.Text = 'NodeId' - extobj.Description.Text = 'The node id attribute is writable.' - value.append(extobj) - extobj = ua.EnumValueType() - extobj.Value = 32768 - extobj.DisplayName.Text = 'Symmetric' - extobj.Description.Text = 'The symmetric attribute is writable.' - value.append(extobj) - extobj = ua.EnumValueType() - extobj.Value = 65536 - extobj.DisplayName.Text = 'UserAccessLevel' - extobj.Description.Text = 'The user access level attribute is writable.' - value.append(extobj) - extobj = ua.EnumValueType() - extobj.Value = 131072 - extobj.DisplayName.Text = 'UserExecutable' - extobj.Description.Text = 'The user executable attribute is writable.' - value.append(extobj) - extobj = ua.EnumValueType() - extobj.Value = 262144 - extobj.DisplayName.Text = 'UserWriteMask' - extobj.Description.Text = 'The user write mask attribute is writable.' - value.append(extobj) - extobj = ua.EnumValueType() - extobj.Value = 524288 - extobj.DisplayName.Text = 'ValueRank' - extobj.Description.Text = 'The value rank attribute is writable.' - value.append(extobj) - extobj = ua.EnumValueType() - extobj.Value = 1048576 - extobj.DisplayName.Text = 'WriteMask' - extobj.Description.Text = 'The write mask attribute is writable.' - value.append(extobj) - extobj = ua.EnumValueType() - extobj.Value = 2097152 - extobj.DisplayName.Text = 'ValueForVariableType' - extobj.Description.Text = 'The value attribute is writable.' - value.append(extobj) - attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.DisplayName = ua.LocalizedText("OptionSetValues") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.Value = [ua.LocalizedText('AccessLevel'),ua.LocalizedText('ArrayDimensions'),ua.LocalizedText('BrowseName'),ua.LocalizedText('ContainsNoLoops'),ua.LocalizedText('DataType'),ua.LocalizedText('Description'),ua.LocalizedText('DisplayName'),ua.LocalizedText('EventNotifier'),ua.LocalizedText('Executable'),ua.LocalizedText('Historizing'),ua.LocalizedText('InverseName'),ua.LocalizedText('IsAbstract'),ua.LocalizedText('MinimumSamplingInterval'),ua.LocalizedText('NodeClass'),ua.LocalizedText('NodeId'),ua.LocalizedText('Symmetric'),ua.LocalizedText('UserAccessLevel'),ua.LocalizedText('UserExecutable'),ua.LocalizedText('UserWriteMask'),ua.LocalizedText('ValueRank'),ua.LocalizedText('WriteMask'),ua.LocalizedText('ValueForVariableType'),ua.LocalizedText('DataTypeDefinition'),ua.LocalizedText('RolePermissions'),ua.LocalizedText('AccessRestrictions'),ua.LocalizedText('AccessLevelEx')] attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -1167,21 +1087,21 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11882") + ref.SourceNodeId = ua.NodeId.from_string("i=15036") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11882") + ref.SourceNodeId = ua.NodeId.from_string("i=15036") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11882") + ref.SourceNodeId = ua.NodeId.from_string("i=15036") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=347") refs.append(ref) @@ -1391,7 +1311,7 @@ def create_standard_address_space_Part4(server): attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EnumStrings") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.Value = [ua.LocalizedText("Equals"),ua.LocalizedText("IsNull"),ua.LocalizedText("GreaterThan"),ua.LocalizedText("LessThan"),ua.LocalizedText("GreaterThanOrEqual"),ua.LocalizedText("LessThanOrEqual"),ua.LocalizedText("Like"),ua.LocalizedText("Not"),ua.LocalizedText("Between"),ua.LocalizedText("InList"),ua.LocalizedText("And"),ua.LocalizedText("Or"),ua.LocalizedText("Cast"),ua.LocalizedText("InView"),ua.LocalizedText("OfType"),ua.LocalizedText("RelatedTo"),ua.LocalizedText("BitwiseAnd"),ua.LocalizedText("BitwiseOr")] + attrs.Value = [ua.LocalizedText('Equals'),ua.LocalizedText('IsNull'),ua.LocalizedText('GreaterThan'),ua.LocalizedText('LessThan'),ua.LocalizedText('GreaterThanOrEqual'),ua.LocalizedText('LessThanOrEqual'),ua.LocalizedText('Like'),ua.LocalizedText('Not'),ua.LocalizedText('Between'),ua.LocalizedText('InList'),ua.LocalizedText('And'),ua.LocalizedText('Or'),ua.LocalizedText('Cast'),ua.LocalizedText('InView'),ua.LocalizedText('OfType'),ua.LocalizedText('RelatedTo'),ua.LocalizedText('BitwiseAnd'),ua.LocalizedText('BitwiseOr')] attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -1824,14 +1744,14 @@ def create_standard_address_space_Part4(server): server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=309") - node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.RequestedNewNodeId = ua.NodeId.from_string("i=310") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=308") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -1839,35 +1759,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=309") + ref.SourceNodeId = ua.NodeId.from_string("i=310") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=308") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=309") + ref.SourceNodeId = ua.NodeId.from_string("i=310") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8300") + ref.TargetNodeId = ua.NodeId.from_string("i=7665") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=309") + ref.SourceNodeId = ua.NodeId.from_string("i=310") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12195") - node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12207") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=12189") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -1875,35 +1795,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=12195") + ref.SourceNodeId = ua.NodeId.from_string("i=12207") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12189") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=12195") + ref.SourceNodeId = ua.NodeId.from_string("i=12207") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12201") + ref.TargetNodeId = ua.NodeId.from_string("i=12213") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12195") + ref.SourceNodeId = ua.NodeId.from_string("i=12207") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=305") - node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.RequestedNewNodeId = ua.NodeId.from_string("i=306") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=304") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -1911,35 +1831,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=305") + ref.SourceNodeId = ua.NodeId.from_string("i=306") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=304") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=305") + ref.SourceNodeId = ua.NodeId.from_string("i=306") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8297") + ref.TargetNodeId = ua.NodeId.from_string("i=7662") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=305") + ref.SourceNodeId = ua.NodeId.from_string("i=306") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=313") - node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.RequestedNewNodeId = ua.NodeId.from_string("i=314") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=312") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -1947,35 +1867,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=313") + ref.SourceNodeId = ua.NodeId.from_string("i=314") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=312") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=313") + ref.SourceNodeId = ua.NodeId.from_string("i=314") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8303") + ref.TargetNodeId = ua.NodeId.from_string("i=7668") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=313") + ref.SourceNodeId = ua.NodeId.from_string("i=314") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=433") - node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.RequestedNewNodeId = ua.NodeId.from_string("i=434") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=432") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -1983,35 +1903,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=433") + ref.SourceNodeId = ua.NodeId.from_string("i=434") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=432") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=433") + ref.SourceNodeId = ua.NodeId.from_string("i=434") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8417") + ref.TargetNodeId = ua.NodeId.from_string("i=7782") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=433") + ref.SourceNodeId = ua.NodeId.from_string("i=434") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12892") - node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12900") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=12890") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -2019,35 +1939,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=12892") + ref.SourceNodeId = ua.NodeId.from_string("i=12900") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12890") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=12892") + ref.SourceNodeId = ua.NodeId.from_string("i=12900") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12894") + ref.TargetNodeId = ua.NodeId.from_string("i=12902") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12892") + ref.SourceNodeId = ua.NodeId.from_string("i=12900") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12893") - node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12901") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=12891") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -2055,35 +1975,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=12893") + ref.SourceNodeId = ua.NodeId.from_string("i=12901") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12891") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=12893") + ref.SourceNodeId = ua.NodeId.from_string("i=12901") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12897") + ref.TargetNodeId = ua.NodeId.from_string("i=12905") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12893") + ref.SourceNodeId = ua.NodeId.from_string("i=12901") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=345") - node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.RequestedNewNodeId = ua.NodeId.from_string("i=346") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=344") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -2091,35 +2011,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=345") + ref.SourceNodeId = ua.NodeId.from_string("i=346") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=344") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=345") + ref.SourceNodeId = ua.NodeId.from_string("i=346") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8333") + ref.TargetNodeId = ua.NodeId.from_string("i=7698") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=345") + ref.SourceNodeId = ua.NodeId.from_string("i=346") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=317") - node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.RequestedNewNodeId = ua.NodeId.from_string("i=318") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=316") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -2127,35 +2047,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=317") + ref.SourceNodeId = ua.NodeId.from_string("i=318") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=316") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=317") + ref.SourceNodeId = ua.NodeId.from_string("i=318") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8306") + ref.TargetNodeId = ua.NodeId.from_string("i=7671") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=317") + ref.SourceNodeId = ua.NodeId.from_string("i=318") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=320") - node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.RequestedNewNodeId = ua.NodeId.from_string("i=321") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=319") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -2163,35 +2083,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=320") + ref.SourceNodeId = ua.NodeId.from_string("i=321") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=319") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=320") + ref.SourceNodeId = ua.NodeId.from_string("i=321") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8309") + ref.TargetNodeId = ua.NodeId.from_string("i=7674") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=320") + ref.SourceNodeId = ua.NodeId.from_string("i=321") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=323") - node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.RequestedNewNodeId = ua.NodeId.from_string("i=324") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=322") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -2199,35 +2119,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=323") + ref.SourceNodeId = ua.NodeId.from_string("i=324") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=322") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=323") + ref.SourceNodeId = ua.NodeId.from_string("i=324") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8312") + ref.TargetNodeId = ua.NodeId.from_string("i=7677") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=323") + ref.SourceNodeId = ua.NodeId.from_string("i=324") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=326") - node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.RequestedNewNodeId = ua.NodeId.from_string("i=327") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=325") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -2235,35 +2155,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=326") + ref.SourceNodeId = ua.NodeId.from_string("i=327") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=325") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=326") + ref.SourceNodeId = ua.NodeId.from_string("i=327") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8315") + ref.TargetNodeId = ua.NodeId.from_string("i=7680") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=326") + ref.SourceNodeId = ua.NodeId.from_string("i=327") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=939") - node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.RequestedNewNodeId = ua.NodeId.from_string("i=940") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=938") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -2271,35 +2191,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=939") + ref.SourceNodeId = ua.NodeId.from_string("i=940") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=938") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=939") + ref.SourceNodeId = ua.NodeId.from_string("i=940") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8318") + ref.TargetNodeId = ua.NodeId.from_string("i=7683") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=939") + ref.SourceNodeId = ua.NodeId.from_string("i=940") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=377") - node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.RequestedNewNodeId = ua.NodeId.from_string("i=378") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=376") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -2307,35 +2227,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=377") + ref.SourceNodeId = ua.NodeId.from_string("i=378") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=376") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=377") + ref.SourceNodeId = ua.NodeId.from_string("i=378") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8363") + ref.TargetNodeId = ua.NodeId.from_string("i=7728") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=377") + ref.SourceNodeId = ua.NodeId.from_string("i=378") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=380") - node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.RequestedNewNodeId = ua.NodeId.from_string("i=381") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=379") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -2343,35 +2263,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=380") + ref.SourceNodeId = ua.NodeId.from_string("i=381") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=379") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=380") + ref.SourceNodeId = ua.NodeId.from_string("i=381") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8366") + ref.TargetNodeId = ua.NodeId.from_string("i=7731") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=380") + ref.SourceNodeId = ua.NodeId.from_string("i=381") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=383") - node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.RequestedNewNodeId = ua.NodeId.from_string("i=384") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=382") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -2379,35 +2299,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=383") + ref.SourceNodeId = ua.NodeId.from_string("i=384") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=382") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=383") + ref.SourceNodeId = ua.NodeId.from_string("i=384") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8369") + ref.TargetNodeId = ua.NodeId.from_string("i=7734") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=383") + ref.SourceNodeId = ua.NodeId.from_string("i=384") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=386") - node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.RequestedNewNodeId = ua.NodeId.from_string("i=387") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=385") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -2415,35 +2335,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=386") + ref.SourceNodeId = ua.NodeId.from_string("i=387") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=385") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=386") + ref.SourceNodeId = ua.NodeId.from_string("i=387") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8372") + ref.TargetNodeId = ua.NodeId.from_string("i=7737") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=386") + ref.SourceNodeId = ua.NodeId.from_string("i=387") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=538") - node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.RequestedNewNodeId = ua.NodeId.from_string("i=539") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=537") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -2451,35 +2371,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=538") + ref.SourceNodeId = ua.NodeId.from_string("i=539") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=537") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=538") + ref.SourceNodeId = ua.NodeId.from_string("i=539") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12712") + ref.TargetNodeId = ua.NodeId.from_string("i=12718") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=538") + ref.SourceNodeId = ua.NodeId.from_string("i=539") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=541") - node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.RequestedNewNodeId = ua.NodeId.from_string("i=542") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=540") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -2487,35 +2407,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=541") + ref.SourceNodeId = ua.NodeId.from_string("i=542") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=540") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=541") + ref.SourceNodeId = ua.NodeId.from_string("i=542") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12715") + ref.TargetNodeId = ua.NodeId.from_string("i=12721") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=541") + ref.SourceNodeId = ua.NodeId.from_string("i=542") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=332") - node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.RequestedNewNodeId = ua.NodeId.from_string("i=333") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=331") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -2523,35 +2443,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=332") + ref.SourceNodeId = ua.NodeId.from_string("i=333") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=331") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=332") + ref.SourceNodeId = ua.NodeId.from_string("i=333") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8321") + ref.TargetNodeId = ua.NodeId.from_string("i=7686") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=332") + ref.SourceNodeId = ua.NodeId.from_string("i=333") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=584") - node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.RequestedNewNodeId = ua.NodeId.from_string("i=585") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=583") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -2559,35 +2479,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=584") + ref.SourceNodeId = ua.NodeId.from_string("i=585") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=583") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=584") + ref.SourceNodeId = ua.NodeId.from_string("i=585") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8564") + ref.TargetNodeId = ua.NodeId.from_string("i=7929") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=584") + ref.SourceNodeId = ua.NodeId.from_string("i=585") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=587") - node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.RequestedNewNodeId = ua.NodeId.from_string("i=588") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=586") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -2595,35 +2515,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=587") + ref.SourceNodeId = ua.NodeId.from_string("i=588") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=586") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=587") + ref.SourceNodeId = ua.NodeId.from_string("i=588") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8567") + ref.TargetNodeId = ua.NodeId.from_string("i=7932") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=587") + ref.SourceNodeId = ua.NodeId.from_string("i=588") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=590") - node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.RequestedNewNodeId = ua.NodeId.from_string("i=591") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=589") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -2631,35 +2551,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=590") + ref.SourceNodeId = ua.NodeId.from_string("i=591") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=589") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=590") + ref.SourceNodeId = ua.NodeId.from_string("i=591") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8570") + ref.TargetNodeId = ua.NodeId.from_string("i=7935") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=590") + ref.SourceNodeId = ua.NodeId.from_string("i=591") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=593") - node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.RequestedNewNodeId = ua.NodeId.from_string("i=594") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=592") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -2667,35 +2587,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=593") + ref.SourceNodeId = ua.NodeId.from_string("i=594") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=592") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=593") + ref.SourceNodeId = ua.NodeId.from_string("i=594") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8573") + ref.TargetNodeId = ua.NodeId.from_string("i=7938") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=593") + ref.SourceNodeId = ua.NodeId.from_string("i=594") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=596") - node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.RequestedNewNodeId = ua.NodeId.from_string("i=597") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=595") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -2703,35 +2623,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=596") + ref.SourceNodeId = ua.NodeId.from_string("i=597") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=595") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=596") + ref.SourceNodeId = ua.NodeId.from_string("i=597") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8576") + ref.TargetNodeId = ua.NodeId.from_string("i=7941") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=596") + ref.SourceNodeId = ua.NodeId.from_string("i=597") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=599") - node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.RequestedNewNodeId = ua.NodeId.from_string("i=600") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=598") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -2739,35 +2659,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=599") + ref.SourceNodeId = ua.NodeId.from_string("i=600") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=598") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=599") + ref.SourceNodeId = ua.NodeId.from_string("i=600") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8579") + ref.TargetNodeId = ua.NodeId.from_string("i=7944") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=599") + ref.SourceNodeId = ua.NodeId.from_string("i=600") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=602") - node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.RequestedNewNodeId = ua.NodeId.from_string("i=603") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=601") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -2775,35 +2695,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=602") + ref.SourceNodeId = ua.NodeId.from_string("i=603") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=601") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=602") + ref.SourceNodeId = ua.NodeId.from_string("i=603") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8582") + ref.TargetNodeId = ua.NodeId.from_string("i=7947") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=602") + ref.SourceNodeId = ua.NodeId.from_string("i=603") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=660") - node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.RequestedNewNodeId = ua.NodeId.from_string("i=661") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=659") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -2811,35 +2731,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=660") + ref.SourceNodeId = ua.NodeId.from_string("i=661") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=659") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=660") + ref.SourceNodeId = ua.NodeId.from_string("i=661") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8639") + ref.TargetNodeId = ua.NodeId.from_string("i=8004") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=660") + ref.SourceNodeId = ua.NodeId.from_string("i=661") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=720") - node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.RequestedNewNodeId = ua.NodeId.from_string("i=721") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=719") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -2847,35 +2767,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=720") + ref.SourceNodeId = ua.NodeId.from_string("i=721") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=719") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=720") + ref.SourceNodeId = ua.NodeId.from_string("i=721") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8702") + ref.TargetNodeId = ua.NodeId.from_string("i=8067") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=720") + ref.SourceNodeId = ua.NodeId.from_string("i=721") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=726") - node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.RequestedNewNodeId = ua.NodeId.from_string("i=727") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=725") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -2883,35 +2803,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=726") + ref.SourceNodeId = ua.NodeId.from_string("i=727") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=725") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=726") + ref.SourceNodeId = ua.NodeId.from_string("i=727") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8708") + ref.TargetNodeId = ua.NodeId.from_string("i=8073") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=726") + ref.SourceNodeId = ua.NodeId.from_string("i=727") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=949") - node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.RequestedNewNodeId = ua.NodeId.from_string("i=950") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=948") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -2919,35 +2839,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=949") + ref.SourceNodeId = ua.NodeId.from_string("i=950") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=948") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=949") + ref.SourceNodeId = ua.NodeId.from_string("i=950") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8711") + ref.TargetNodeId = ua.NodeId.from_string("i=8076") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=949") + ref.SourceNodeId = ua.NodeId.from_string("i=950") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=921") - node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.RequestedNewNodeId = ua.NodeId.from_string("i=922") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=920") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = ua.LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -2955,35 +2875,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=921") + ref.SourceNodeId = ua.NodeId.from_string("i=922") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=920") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=921") + ref.SourceNodeId = ua.NodeId.from_string("i=922") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8807") + ref.TargetNodeId = ua.NodeId.from_string("i=8172") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=921") + ref.SourceNodeId = ua.NodeId.from_string("i=922") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=310") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=309") + node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=308") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -2991,35 +2911,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=310") + ref.SourceNodeId = ua.NodeId.from_string("i=309") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=308") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=310") + ref.SourceNodeId = ua.NodeId.from_string("i=309") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7665") + ref.TargetNodeId = ua.NodeId.from_string("i=8300") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=310") + ref.SourceNodeId = ua.NodeId.from_string("i=309") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12207") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12195") + node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=12189") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -3027,35 +2947,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=12207") + ref.SourceNodeId = ua.NodeId.from_string("i=12195") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12189") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=12207") + ref.SourceNodeId = ua.NodeId.from_string("i=12195") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12213") + ref.TargetNodeId = ua.NodeId.from_string("i=12201") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12207") + ref.SourceNodeId = ua.NodeId.from_string("i=12195") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=306") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=305") + node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=304") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -3063,35 +2983,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=306") + ref.SourceNodeId = ua.NodeId.from_string("i=305") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=304") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=306") + ref.SourceNodeId = ua.NodeId.from_string("i=305") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7662") + ref.TargetNodeId = ua.NodeId.from_string("i=8297") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=306") + ref.SourceNodeId = ua.NodeId.from_string("i=305") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=314") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=313") + node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=312") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -3099,35 +3019,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=314") + ref.SourceNodeId = ua.NodeId.from_string("i=313") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=312") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=314") + ref.SourceNodeId = ua.NodeId.from_string("i=313") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7668") + ref.TargetNodeId = ua.NodeId.from_string("i=8303") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=314") + ref.SourceNodeId = ua.NodeId.from_string("i=313") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=434") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=433") + node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=432") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -3135,35 +3055,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=434") + ref.SourceNodeId = ua.NodeId.from_string("i=433") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=432") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=434") + ref.SourceNodeId = ua.NodeId.from_string("i=433") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7782") + ref.TargetNodeId = ua.NodeId.from_string("i=8417") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=434") + ref.SourceNodeId = ua.NodeId.from_string("i=433") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12900") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12892") + node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=12890") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -3171,35 +3091,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=12900") + ref.SourceNodeId = ua.NodeId.from_string("i=12892") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12890") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=12900") + ref.SourceNodeId = ua.NodeId.from_string("i=12892") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12902") + ref.TargetNodeId = ua.NodeId.from_string("i=12894") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12900") + ref.SourceNodeId = ua.NodeId.from_string("i=12892") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12901") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12893") + node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=12891") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -3207,35 +3127,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=12901") + ref.SourceNodeId = ua.NodeId.from_string("i=12893") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=12891") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=12901") + ref.SourceNodeId = ua.NodeId.from_string("i=12893") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12905") + ref.TargetNodeId = ua.NodeId.from_string("i=12897") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12901") + ref.SourceNodeId = ua.NodeId.from_string("i=12893") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=346") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=345") + node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=344") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -3243,35 +3163,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=346") + ref.SourceNodeId = ua.NodeId.from_string("i=345") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=344") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=346") + ref.SourceNodeId = ua.NodeId.from_string("i=345") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7698") + ref.TargetNodeId = ua.NodeId.from_string("i=8333") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=346") + ref.SourceNodeId = ua.NodeId.from_string("i=345") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=318") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=317") + node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=316") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -3279,35 +3199,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=318") + ref.SourceNodeId = ua.NodeId.from_string("i=317") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=316") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=318") + ref.SourceNodeId = ua.NodeId.from_string("i=317") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7671") + ref.TargetNodeId = ua.NodeId.from_string("i=8306") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=318") + ref.SourceNodeId = ua.NodeId.from_string("i=317") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=321") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=320") + node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=319") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -3315,35 +3235,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=321") + ref.SourceNodeId = ua.NodeId.from_string("i=320") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=319") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=321") + ref.SourceNodeId = ua.NodeId.from_string("i=320") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7674") + ref.TargetNodeId = ua.NodeId.from_string("i=8309") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=321") + ref.SourceNodeId = ua.NodeId.from_string("i=320") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=324") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=323") + node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=322") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -3351,35 +3271,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=324") + ref.SourceNodeId = ua.NodeId.from_string("i=323") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=322") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=324") + ref.SourceNodeId = ua.NodeId.from_string("i=323") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7677") + ref.TargetNodeId = ua.NodeId.from_string("i=8312") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=324") + ref.SourceNodeId = ua.NodeId.from_string("i=323") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=327") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=326") + node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=325") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -3387,35 +3307,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=327") + ref.SourceNodeId = ua.NodeId.from_string("i=326") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=325") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=327") + ref.SourceNodeId = ua.NodeId.from_string("i=326") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7680") + ref.TargetNodeId = ua.NodeId.from_string("i=8315") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=327") + ref.SourceNodeId = ua.NodeId.from_string("i=326") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=940") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=939") + node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=938") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -3423,35 +3343,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=940") + ref.SourceNodeId = ua.NodeId.from_string("i=939") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=938") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=940") + ref.SourceNodeId = ua.NodeId.from_string("i=939") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7683") + ref.TargetNodeId = ua.NodeId.from_string("i=8318") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=940") + ref.SourceNodeId = ua.NodeId.from_string("i=939") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=378") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=377") + node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=376") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -3459,35 +3379,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=378") + ref.SourceNodeId = ua.NodeId.from_string("i=377") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=376") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=378") + ref.SourceNodeId = ua.NodeId.from_string("i=377") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7728") + ref.TargetNodeId = ua.NodeId.from_string("i=8363") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=378") + ref.SourceNodeId = ua.NodeId.from_string("i=377") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=381") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=380") + node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=379") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -3495,35 +3415,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=381") + ref.SourceNodeId = ua.NodeId.from_string("i=380") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=379") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=381") + ref.SourceNodeId = ua.NodeId.from_string("i=380") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7731") + ref.TargetNodeId = ua.NodeId.from_string("i=8366") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=381") + ref.SourceNodeId = ua.NodeId.from_string("i=380") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=384") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=383") + node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=382") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -3531,35 +3451,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=384") + ref.SourceNodeId = ua.NodeId.from_string("i=383") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=382") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=384") + ref.SourceNodeId = ua.NodeId.from_string("i=383") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7734") + ref.TargetNodeId = ua.NodeId.from_string("i=8369") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=384") + ref.SourceNodeId = ua.NodeId.from_string("i=383") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=387") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=386") + node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=385") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -3567,35 +3487,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=387") + ref.SourceNodeId = ua.NodeId.from_string("i=386") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=385") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=387") + ref.SourceNodeId = ua.NodeId.from_string("i=386") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7737") + ref.TargetNodeId = ua.NodeId.from_string("i=8372") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=387") + ref.SourceNodeId = ua.NodeId.from_string("i=386") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=539") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=538") + node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=537") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -3603,35 +3523,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=539") + ref.SourceNodeId = ua.NodeId.from_string("i=538") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=537") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=539") + ref.SourceNodeId = ua.NodeId.from_string("i=538") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12718") + ref.TargetNodeId = ua.NodeId.from_string("i=12712") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=539") + ref.SourceNodeId = ua.NodeId.from_string("i=538") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=542") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=541") + node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=540") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -3639,35 +3559,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=542") + ref.SourceNodeId = ua.NodeId.from_string("i=541") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=540") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=542") + ref.SourceNodeId = ua.NodeId.from_string("i=541") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12721") + ref.TargetNodeId = ua.NodeId.from_string("i=12715") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=542") + ref.SourceNodeId = ua.NodeId.from_string("i=541") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=333") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=332") + node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=331") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -3675,35 +3595,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=333") + ref.SourceNodeId = ua.NodeId.from_string("i=332") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=331") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=333") + ref.SourceNodeId = ua.NodeId.from_string("i=332") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7686") + ref.TargetNodeId = ua.NodeId.from_string("i=8321") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=333") + ref.SourceNodeId = ua.NodeId.from_string("i=332") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=585") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=584") + node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=583") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -3711,35 +3631,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=585") + ref.SourceNodeId = ua.NodeId.from_string("i=584") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=583") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=585") + ref.SourceNodeId = ua.NodeId.from_string("i=584") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7929") + ref.TargetNodeId = ua.NodeId.from_string("i=8564") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=585") + ref.SourceNodeId = ua.NodeId.from_string("i=584") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=588") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=587") + node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=586") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -3747,35 +3667,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=588") + ref.SourceNodeId = ua.NodeId.from_string("i=587") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=586") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=588") + ref.SourceNodeId = ua.NodeId.from_string("i=587") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7932") + ref.TargetNodeId = ua.NodeId.from_string("i=8567") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=588") + ref.SourceNodeId = ua.NodeId.from_string("i=587") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=591") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=590") + node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=589") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -3783,35 +3703,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=591") + ref.SourceNodeId = ua.NodeId.from_string("i=590") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=589") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=591") + ref.SourceNodeId = ua.NodeId.from_string("i=590") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7935") + ref.TargetNodeId = ua.NodeId.from_string("i=8570") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=591") + ref.SourceNodeId = ua.NodeId.from_string("i=590") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=594") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=593") + node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=592") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -3819,35 +3739,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=594") + ref.SourceNodeId = ua.NodeId.from_string("i=593") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=592") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=594") + ref.SourceNodeId = ua.NodeId.from_string("i=593") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7938") + ref.TargetNodeId = ua.NodeId.from_string("i=8573") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=594") + ref.SourceNodeId = ua.NodeId.from_string("i=593") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=597") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=596") + node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=595") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -3855,35 +3775,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=597") + ref.SourceNodeId = ua.NodeId.from_string("i=596") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=595") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=597") + ref.SourceNodeId = ua.NodeId.from_string("i=596") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7941") + ref.TargetNodeId = ua.NodeId.from_string("i=8576") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=597") + ref.SourceNodeId = ua.NodeId.from_string("i=596") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=600") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=599") + node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=598") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -3891,35 +3811,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=600") + ref.SourceNodeId = ua.NodeId.from_string("i=599") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=598") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=600") + ref.SourceNodeId = ua.NodeId.from_string("i=599") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7944") + ref.TargetNodeId = ua.NodeId.from_string("i=8579") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=600") + ref.SourceNodeId = ua.NodeId.from_string("i=599") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=603") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=602") + node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=601") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -3927,35 +3847,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=603") + ref.SourceNodeId = ua.NodeId.from_string("i=602") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=601") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=603") + ref.SourceNodeId = ua.NodeId.from_string("i=602") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7947") + ref.TargetNodeId = ua.NodeId.from_string("i=8582") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=603") + ref.SourceNodeId = ua.NodeId.from_string("i=602") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=661") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=660") + node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=659") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -3963,35 +3883,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=661") + ref.SourceNodeId = ua.NodeId.from_string("i=660") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=659") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=661") + ref.SourceNodeId = ua.NodeId.from_string("i=660") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8004") + ref.TargetNodeId = ua.NodeId.from_string("i=8639") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=661") + ref.SourceNodeId = ua.NodeId.from_string("i=660") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=721") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=720") + node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=719") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -3999,35 +3919,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=721") + ref.SourceNodeId = ua.NodeId.from_string("i=720") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=719") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=721") + ref.SourceNodeId = ua.NodeId.from_string("i=720") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8067") + ref.TargetNodeId = ua.NodeId.from_string("i=8702") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=721") + ref.SourceNodeId = ua.NodeId.from_string("i=720") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=727") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=726") + node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=725") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -4035,35 +3955,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=727") + ref.SourceNodeId = ua.NodeId.from_string("i=726") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=725") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=727") + ref.SourceNodeId = ua.NodeId.from_string("i=726") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8073") + ref.TargetNodeId = ua.NodeId.from_string("i=8708") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=727") + ref.SourceNodeId = ua.NodeId.from_string("i=726") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=950") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=949") + node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=948") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -4071,35 +3991,35 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=950") + ref.SourceNodeId = ua.NodeId.from_string("i=949") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=948") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=950") + ref.SourceNodeId = ua.NodeId.from_string("i=949") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8076") + ref.TargetNodeId = ua.NodeId.from_string("i=8711") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=950") + ref.SourceNodeId = ua.NodeId.from_string("i=949") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=922") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=921") + node.BrowseName = ua.QualifiedName.from_string("Default XML") node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=920") node.ReferenceTypeId = ua.NodeId.from_string("i=38") node.TypeDefinition = ua.NodeId.from_string("i=76") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = ua.LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -4107,21 +4027,949 @@ def create_standard_address_space_Part4(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=922") + ref.SourceNodeId = ua.NodeId.from_string("i=921") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=920") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=922") + ref.SourceNodeId = ua.NodeId.from_string("i=921") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8172") + ref.TargetNodeId = ua.NodeId.from_string("i=8807") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=922") + ref.SourceNodeId = ua.NodeId.from_string("i=921") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15087") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=308") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15087") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=308") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15087") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15095") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=12189") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15095") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12189") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15095") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15098") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=304") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15098") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=304") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15098") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15099") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=312") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15099") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=312") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15099") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15102") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=432") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15102") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=432") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15102") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15105") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=12890") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15105") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12890") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15105") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15106") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=12891") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15106") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12891") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15106") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15136") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=344") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15136") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=344") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15136") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15140") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=316") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15140") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=316") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15140") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15141") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=319") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15141") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=319") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15141") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15142") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=322") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15142") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=322") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15142") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15143") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=325") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15143") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=325") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15143") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15144") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=938") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15144") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=938") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15144") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15165") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=376") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15165") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=376") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15165") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15169") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=379") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15169") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=379") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15169") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15172") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=382") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15172") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=382") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15172") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15175") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=385") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15175") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=385") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15175") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15188") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=537") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15188") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=537") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15188") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15189") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=540") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15189") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=540") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15189") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15199") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=331") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15199") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=331") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15199") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15204") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=583") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15204") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=583") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15204") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15205") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=586") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15205") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=586") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15205") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15206") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=589") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15206") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=589") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15206") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15207") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=592") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15207") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=592") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15207") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15208") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=595") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15208") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=595") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15208") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15209") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=598") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15209") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=598") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15209") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15210") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=601") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15210") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=601") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15210") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15273") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=659") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15273") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=659") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15273") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15293") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=719") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15293") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=719") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15293") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15295") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=725") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15295") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=725") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15295") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15304") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=948") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15304") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=948") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15304") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15349") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=920") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15349") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=920") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15349") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) diff --git a/opcua/server/standard_address_space/standard_address_space_part5.py b/opcua/server/standard_address_space/standard_address_space_part5.py index 7ce0e5b08..08d0ebf59 100644 --- a/opcua/server/standard_address_space/standard_address_space_part5.py +++ b/opcua/server/standard_address_space/standard_address_space_part5.py @@ -365,6 +365,13 @@ def create_standard_address_space_Part5(server): ref.TargetNodeId = ua.NodeId.from_string("i=107") refs.append(ref) ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=72") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15001") + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=45") ref.SourceNodeId = ua.NodeId.from_string("i=72") @@ -449,6 +456,44 @@ def create_standard_address_space_Part5(server): refs.append(ref) server.add_references(refs) + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15001") + node.BrowseName = ua.QualifiedName.from_string("Deprecated") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=72") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.Description = ua.LocalizedText("Indicates that all of the definitions for the dictionary are available through a DataTypeDefinition Attribute.") + attrs.DisplayName = ua.LocalizedText("Deprecated") + attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15001") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15001") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15001") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=72") + refs.append(ref) + server.add_references(refs) + node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=75") node.BrowseName = ua.QualifiedName.from_string("DataTypeSystemType") @@ -1238,6 +1283,419 @@ def create_standard_address_space_Part5(server): refs.append(ref) server.add_references(refs) + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15957") + node.BrowseName = ua.QualifiedName.from_string("0:http://opcfoundation.org/UA/") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=11715") + node.ReferenceTypeId = ua.NodeId.from_string("i=35") + node.TypeDefinition = ua.NodeId.from_string("i=11616") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("http://opcfoundation.org/UA/") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15957") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15958") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15957") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15959") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15957") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15960") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15957") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15961") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15957") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15962") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15957") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15963") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15957") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15964") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15957") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16134") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15957") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16135") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15957") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16136") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=35") + ref.SourceNodeId = ua.NodeId.from_string("i=15957") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11715") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15957") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11616") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15958") + node.BrowseName = ua.QualifiedName.from_string("NamespaceUri") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15957") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.Description = ua.LocalizedText("The URI of the namespace.") + attrs.DisplayName = ua.LocalizedText("NamespaceUri") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('http://opcfoundation.org/UA/', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15958") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15958") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15957") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15959") + node.BrowseName = ua.QualifiedName.from_string("NamespaceVersion") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15957") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.Description = ua.LocalizedText("The human readable string representing version of the namespace.") + attrs.DisplayName = ua.LocalizedText("NamespaceVersion") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('1.04', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15959") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15959") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15957") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15960") + node.BrowseName = ua.QualifiedName.from_string("NamespacePublicationDate") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15957") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.Description = ua.LocalizedText("The publication date for the namespace.") + attrs.DisplayName = ua.LocalizedText("NamespacePublicationDate") + attrs.DataType = ua.NodeId(ua.ObjectIds.DateTime) + attrs.Value = ua.Variant('2017-11-22', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15960") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15960") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15957") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15961") + node.BrowseName = ua.QualifiedName.from_string("IsNamespaceSubset") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15957") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.Description = ua.LocalizedText("If TRUE then the server only supports a subset of the namespace.") + attrs.DisplayName = ua.LocalizedText("IsNamespaceSubset") + attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) + attrs.Value = ua.Variant(False, ua.VariantType.Boolean) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15961") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15961") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15957") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15962") + node.BrowseName = ua.QualifiedName.from_string("StaticNodeIdTypes") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15957") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.Description = ua.LocalizedText("A list of IdTypes for nodes which are the same in every server that exposes them.") + attrs.DisplayName = ua.LocalizedText("StaticNodeIdTypes") + attrs.DataType = ua.NodeId.from_string("i=256") + attrs.Value = ua.Variant([0], ua.VariantType.Int32) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15962") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15962") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15957") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15963") + node.BrowseName = ua.QualifiedName.from_string("StaticNumericNodeIdRange") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15957") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.Description = ua.LocalizedText("A list of ranges for numeric node ids which are the same in every server that exposes them.") + attrs.DisplayName = ua.LocalizedText("StaticNumericNodeIdRange") + attrs.DataType = ua.NodeId.from_string("i=291") + attrs.Value = ua.Variant(['1:65535'], ua.VariantType.String) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15963") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15963") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15957") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15964") + node.BrowseName = ua.QualifiedName.from_string("StaticStringNodeIdPattern") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15957") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.Description = ua.LocalizedText("A regular expression which matches string node ids are the same in every server that exposes them.") + attrs.DisplayName = ua.LocalizedText("StaticStringNodeIdPattern") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('\n ', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15964") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15964") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15957") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16134") + node.BrowseName = ua.QualifiedName.from_string("DefaultRolePermissions") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15957") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("DefaultRolePermissions") + attrs.DataType = ua.NodeId.from_string("i=96") + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16134") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16134") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15957") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16135") + node.BrowseName = ua.QualifiedName.from_string("DefaultUserRolePermissions") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15957") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("DefaultUserRolePermissions") + attrs.DataType = ua.NodeId.from_string("i=96") + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16135") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16135") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15957") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16136") + node.BrowseName = ua.QualifiedName.from_string("DefaultAccessRestrictions") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15957") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("DefaultAccessRestrictions") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16136") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16136") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15957") + refs.append(ref) + server.add_references(refs) + node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2004") node.BrowseName = ua.QualifiedName.from_string("ServerType") @@ -1267,6 +1725,13 @@ def create_standard_address_space_Part5(server): refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2004") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15003") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2004") ref.TargetNodeClass = ua.NodeClass.DataType @@ -1295,6 +1760,13 @@ def create_standard_address_space_Part5(server): refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2004") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=17612") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2004") ref.TargetNodeClass = ua.NodeClass.DataType @@ -1443,6 +1915,45 @@ def create_standard_address_space_Part5(server): refs.append(ref) server.add_references(refs) + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15003") + node.BrowseName = ua.QualifiedName.from_string("UrisVersion") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2004") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.MinimumSamplingInterval = 1000 + attrs.Description = ua.LocalizedText("Defines the version of the ServerArray and the NamespaceArray.") + attrs.DisplayName = ua.LocalizedText("UrisVersion") + attrs.DataType = ua.NodeId.from_string("i=20998") + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15003") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15003") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15003") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2004") + refs.append(ref) + server.add_references(refs) + node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2007") node.BrowseName = ua.QualifiedName.from_string("ServerStatus") @@ -2133,6 +2644,45 @@ def create_standard_address_space_Part5(server): refs.append(ref) server.add_references(refs) + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=17612") + node.BrowseName = ua.QualifiedName.from_string("LocalTime") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2004") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.MinimumSamplingInterval = 1000 + attrs.Description = ua.LocalizedText("Indicates the time zone the Server is is running in.") + attrs.DisplayName = ua.LocalizedText("LocalTime") + attrs.DataType = ua.NodeId.from_string("i=8912") + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=17612") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=17612") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=17612") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2004") + refs.append(ref) + server.add_references(refs) + node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2009") node.BrowseName = ua.QualifiedName.from_string("ServerCapabilities") @@ -3382,7 +3932,6 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 attrs.AccessLevel = 3 - attrs.UserAccessLevel = 3 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] @@ -3618,7 +4167,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = SubscriptionId + extobj.Name = 'SubscriptionId' extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -3662,12 +4211,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = ServerHandles + extobj.Name = 'ServerHandles' extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = 1 value.append(extobj) extobj = ua.Argument() - extobj.Name = ClientHandles + extobj.Name = 'ClientHandles' extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = 1 value.append(extobj) @@ -3745,7 +4294,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = SubscriptionId + extobj.Name = 'SubscriptionId' extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -3830,12 +4379,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = SubscriptionId + extobj.Name = 'SubscriptionId' extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = LifetimeInHours + extobj.Name = 'LifetimeInHours' extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -3879,7 +4428,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = RevisedLifetimeInHours + extobj.Name = 'RevisedLifetimeInHours' extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -3957,27 +4506,27 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = State + extobj.Name = 'State' extobj.DataType = ua.NodeId.from_string("i=852") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = EstimatedReturnTime + extobj.Name = 'EstimatedReturnTime' extobj.DataType = ua.NodeId.from_string("i=13") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = SecondsTillShutdown + extobj.Name = 'SecondsTillShutdown' extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = Reason + extobj.Name = 'Reason' extobj.DataType = ua.NodeId.from_string("i=21") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = Restart + extobj.Name = 'Restart' extobj.DataType = ua.NodeId.from_string("i=1") extobj.ValueRank = -1 value.append(extobj) @@ -4121,6 +4670,13 @@ def create_standard_address_space_Part5(server): ref.TargetNodeId = ua.NodeId.from_string("i=11562") refs.append(ref) ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2013") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16295") + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=45") ref.SourceNodeId = ua.NodeId.from_string("i=2013") @@ -4657,6 +5213,269 @@ def create_standard_address_space_Part5(server): refs.append(ref) server.add_references(refs) + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16295") + node.BrowseName = ua.QualifiedName.from_string("Roles") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=2013") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=15607") + attrs = ua.ObjectAttributes() + attrs.Description = ua.LocalizedText("Describes the roles supported by the server.") + attrs.DisplayName = ua.LocalizedText("Roles") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16295") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16296") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16295") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16299") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16295") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15607") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16295") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16295") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2013") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16296") + node.BrowseName = ua.QualifiedName.from_string("AddRole") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=16295") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("AddRole") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16296") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16297") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16296") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16298") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16296") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16296") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16295") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16297") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16296") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RoleName' + extobj.DataType = ua.NodeId.from_string("i=12") + extobj.ValueRank = -1 + value.append(extobj) + extobj = ua.Argument() + extobj.Name = 'NamespaceUri' + extobj.DataType = ua.NodeId.from_string("i=12") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16297") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16297") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16297") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16296") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16298") + node.BrowseName = ua.QualifiedName.from_string("OutputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16296") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("OutputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RoleNodeId' + extobj.DataType = ua.NodeId.from_string("i=17") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16298") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16298") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16298") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16296") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16299") + node.BrowseName = ua.QualifiedName.from_string("RemoveRole") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=16295") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("RemoveRole") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16299") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16300") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16299") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16299") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16295") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16300") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16299") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RoleNodeId' + extobj.DataType = ua.NodeId.from_string("i=17") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16300") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16300") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16300") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16299") + refs.append(ref) + server.add_references(refs) + node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2020") node.BrowseName = ua.QualifiedName.from_string("ServerDiagnosticsType") @@ -5496,7 +6315,6 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 attrs.AccessLevel = 3 - attrs.UserAccessLevel = 3 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] @@ -11783,7 +12601,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = Mode + extobj.Name = 'Mode' extobj.DataType = ua.NodeId.from_string("i=3") extobj.ValueRank = -1 value.append(extobj) @@ -11827,7 +12645,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = FileHandle + extobj.Name = 'FileHandle' extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -11905,7 +12723,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = FileHandle + extobj.Name = 'FileHandle' extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -11990,12 +12808,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = FileHandle + extobj.Name = 'FileHandle' extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = Length + extobj.Name = 'Length' extobj.DataType = ua.NodeId.from_string("i=6") extobj.ValueRank = -1 value.append(extobj) @@ -12039,7 +12857,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = Data + extobj.Name = 'Data' extobj.DataType = ua.NodeId.from_string("i=15") extobj.ValueRank = -1 value.append(extobj) @@ -12117,12 +12935,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = FileHandle + extobj.Name = 'FileHandle' extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = Data + extobj.Name = 'Data' extobj.DataType = ua.NodeId.from_string("i=15") extobj.ValueRank = -1 value.append(extobj) @@ -12207,7 +13025,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = FileHandle + extobj.Name = 'FileHandle' extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -12251,7 +13069,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = Position + extobj.Name = 'Position' extobj.DataType = ua.NodeId.from_string("i=9") extobj.ValueRank = -1 value.append(extobj) @@ -12329,12 +13147,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = FileHandle + extobj.Name = 'FileHandle' extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = Position + extobj.Name = 'Position' extobj.DataType = ua.NodeId.from_string("i=9") extobj.ValueRank = -1 value.append(extobj) @@ -12367,13 +13185,14 @@ def create_standard_address_space_Part5(server): server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13353") - node.BrowseName = ua.QualifiedName.from_string("FileDirectoryType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11595") + node.BrowseName = ua.QualifiedName.from_string("AddressSpaceFileType") node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=61") + node.ParentNodeId = ua.NodeId.from_string("i=11575") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("FileDirectoryType") + attrs.Description = ua.LocalizedText("A file used to store a namespace exported from the server.") + attrs.DisplayName = ua.LocalizedText("AddressSpaceFileType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) @@ -12381,537 +13200,347 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13353") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13354") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13353") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13366") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13353") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13387") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13353") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13390") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13353") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13393") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13353") + ref.SourceNodeId = ua.NodeId.from_string("i=11595") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13395") + ref.TargetNodeId = ua.NodeId.from_string("i=11615") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=13353") + ref.SourceNodeId = ua.NodeId.from_string("i=11595") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=61") + ref.TargetNodeId = ua.NodeId.from_string("i=11575") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13354") - node.BrowseName = ua.QualifiedName.from_string("") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=13353") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11615") + node.BrowseName = ua.QualifiedName.from_string("ExportNamespace") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=11595") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=13353") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("") - attrs.EventNotifier = 0 + attrs = ua.MethodAttributes() + attrs.Description = ua.LocalizedText("Updates the file by exporting the server namespace.") + attrs.DisplayName = ua.LocalizedText("ExportNamespace") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13354") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13355") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13354") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13358") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13354") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13361") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13354") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13363") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13354") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13353") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13354") + ref.SourceNodeId = ua.NodeId.from_string("i=11615") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11508") + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13354") + ref.SourceNodeId = ua.NodeId.from_string("i=11615") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13353") + ref.TargetNodeId = ua.NodeId.from_string("i=11595") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13355") - node.BrowseName = ua.QualifiedName.from_string("CreateDirectory") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=13354") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("CreateDirectory") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11616") + node.BrowseName = ua.QualifiedName.from_string("NamespaceMetadataType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=58") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.Description = ua.LocalizedText("Provides the metadata for a namespace used by the server.") + attrs.DisplayName = ua.LocalizedText("NamespaceMetadataType") + attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13355") + ref.SourceNodeId = ua.NodeId.from_string("i=11616") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13356") + ref.TargetNodeId = ua.NodeId.from_string("i=11617") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13355") + ref.SourceNodeId = ua.NodeId.from_string("i=11616") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13357") + ref.TargetNodeId = ua.NodeId.from_string("i=11618") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13355") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13355") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11616") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13354") + ref.TargetNodeId = ua.NodeId.from_string("i=11619") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13356") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13355") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") - value = [] - extobj = ua.Argument() - extobj.Name = DirectoryName - extobj.DataType = ua.NodeId.from_string("i=12") - extobj.ValueRank = -1 - value.append(extobj) - attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) - attrs.ValueRank = 1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13356") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11616") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=11620") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13356") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13356") + ref.SourceNodeId = ua.NodeId.from_string("i=11616") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13355") + ref.TargetNodeId = ua.NodeId.from_string("i=11621") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13357") - node.BrowseName = ua.QualifiedName.from_string("OutputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13355") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OutputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") - value = [] - extobj = ua.Argument() - extobj.Name = DirectoryNodeId - extobj.DataType = ua.NodeId.from_string("i=17") - extobj.ValueRank = -1 - value.append(extobj) - attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) - attrs.ValueRank = 1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13357") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11616") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=11622") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13357") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11616") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=11623") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13357") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=11616") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13355") + ref.TargetNodeId = ua.NodeId.from_string("i=11624") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13358") - node.BrowseName = ua.QualifiedName.from_string("CreateFile") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=13354") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("CreateFile") - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13358") + ref.SourceNodeId = ua.NodeId.from_string("i=11616") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13359") + ref.TargetNodeId = ua.NodeId.from_string("i=16137") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13358") + ref.SourceNodeId = ua.NodeId.from_string("i=11616") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13360") + ref.TargetNodeId = ua.NodeId.from_string("i=16138") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13358") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11616") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=16139") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13358") + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=11616") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13354") + ref.TargetNodeId = ua.NodeId.from_string("i=58") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13359") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11617") + node.BrowseName = ua.QualifiedName.from_string("NamespaceUri") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13358") + node.ParentNodeId = ua.NodeId.from_string("i=11616") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") - value = [] - extobj = ua.Argument() - extobj.Name = FileName - extobj.DataType = ua.NodeId.from_string("i=12") - extobj.ValueRank = -1 - value.append(extobj) - extobj = ua.Argument() - extobj.Name = RequestFileOpen - extobj.DataType = ua.NodeId.from_string("i=1") - extobj.ValueRank = -1 - value.append(extobj) - attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) - attrs.ValueRank = 1 + attrs.Description = ua.LocalizedText("The URI of the namespace.") + attrs.DisplayName = ua.LocalizedText("NamespaceUri") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13359") + ref.SourceNodeId = ua.NodeId.from_string("i=11617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13359") + ref.SourceNodeId = ua.NodeId.from_string("i=11617") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13359") + ref.SourceNodeId = ua.NodeId.from_string("i=11617") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13358") + ref.TargetNodeId = ua.NodeId.from_string("i=11616") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13360") - node.BrowseName = ua.QualifiedName.from_string("OutputArguments") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11618") + node.BrowseName = ua.QualifiedName.from_string("NamespaceVersion") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13358") + node.ParentNodeId = ua.NodeId.from_string("i=11616") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OutputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") - value = [] - extobj = ua.Argument() - extobj.Name = FileNodeId - extobj.DataType = ua.NodeId.from_string("i=17") - extobj.ValueRank = -1 - value.append(extobj) - extobj = ua.Argument() - extobj.Name = FileHandle - extobj.DataType = ua.NodeId.from_string("i=7") - extobj.ValueRank = -1 - value.append(extobj) - attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) - attrs.ValueRank = 1 + attrs.Description = ua.LocalizedText("The human readable string representing version of the namespace.") + attrs.DisplayName = ua.LocalizedText("NamespaceVersion") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13360") + ref.SourceNodeId = ua.NodeId.from_string("i=11618") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13360") + ref.SourceNodeId = ua.NodeId.from_string("i=11618") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13360") + ref.SourceNodeId = ua.NodeId.from_string("i=11618") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13358") + ref.TargetNodeId = ua.NodeId.from_string("i=11616") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13361") - node.BrowseName = ua.QualifiedName.from_string("Delete") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=13354") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("Delete") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11619") + node.BrowseName = ua.QualifiedName.from_string("NamespacePublicationDate") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=11616") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.Description = ua.LocalizedText("The publication date for the namespace.") + attrs.DisplayName = ua.LocalizedText("NamespacePublicationDate") + attrs.DataType = ua.NodeId(ua.ObjectIds.DateTime) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13361") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=11619") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13362") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13361") + ref.SourceNodeId = ua.NodeId.from_string("i=11619") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13361") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11619") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13354") + ref.TargetNodeId = ua.NodeId.from_string("i=11616") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13362") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11620") + node.BrowseName = ua.QualifiedName.from_string("IsNamespaceSubset") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13361") + node.ParentNodeId = ua.NodeId.from_string("i=11616") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") - value = [] - extobj = ua.Argument() - extobj.Name = ObjectToDelete - extobj.DataType = ua.NodeId.from_string("i=17") - extobj.ValueRank = -1 - value.append(extobj) - attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) - attrs.ValueRank = 1 + attrs.Description = ua.LocalizedText("If TRUE then the server only supports a subset of the namespace.") + attrs.DisplayName = ua.LocalizedText("IsNamespaceSubset") + attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13362") + ref.SourceNodeId = ua.NodeId.from_string("i=11620") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13362") + ref.SourceNodeId = ua.NodeId.from_string("i=11620") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13362") + ref.SourceNodeId = ua.NodeId.from_string("i=11620") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13361") + ref.TargetNodeId = ua.NodeId.from_string("i=11616") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13363") - node.BrowseName = ua.QualifiedName.from_string("MoveOrCopy") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=13354") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("MoveOrCopy") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11621") + node.BrowseName = ua.QualifiedName.from_string("StaticNodeIdTypes") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=11616") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.Description = ua.LocalizedText("A list of IdTypes for nodes which are the same in every server that exposes them.") + attrs.DisplayName = ua.LocalizedText("StaticNodeIdTypes") + attrs.DataType = ua.NodeId.from_string("i=256") + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13363") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13364") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13363") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=11621") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13365") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13363") + ref.SourceNodeId = ua.NodeId.from_string("i=11621") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13363") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11621") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13354") + ref.TargetNodeId = ua.NodeId.from_string("i=11616") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13364") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11622") + node.BrowseName = ua.QualifiedName.from_string("StaticNumericNodeIdRange") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13363") + node.ParentNodeId = ua.NodeId.from_string("i=11616") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") - value = [] - extobj = ua.Argument() - extobj.Name = ObjectToMoveOrCopy - extobj.DataType = ua.NodeId.from_string("i=17") - extobj.ValueRank = -1 - value.append(extobj) - extobj = ua.Argument() - extobj.Name = TargetDirectory - extobj.DataType = ua.NodeId.from_string("i=17") - extobj.ValueRank = -1 - value.append(extobj) - extobj = ua.Argument() - extobj.Name = CreateCopy - extobj.DataType = ua.NodeId.from_string("i=1") - extobj.ValueRank = -1 - value.append(extobj) - extobj = ua.Argument() - extobj.Name = NewName - extobj.DataType = ua.NodeId.from_string("i=12") - extobj.ValueRank = -1 - value.append(extobj) - attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.Description = ua.LocalizedText("A list of ranges for numeric node ids which are the same in every server that exposes them.") + attrs.DisplayName = ua.LocalizedText("StaticNumericNodeIdRange") + attrs.DataType = ua.NodeId.from_string("i=291") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -12919,79 +13548,74 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13364") + ref.SourceNodeId = ua.NodeId.from_string("i=11622") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13364") + ref.SourceNodeId = ua.NodeId.from_string("i=11622") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13364") + ref.SourceNodeId = ua.NodeId.from_string("i=11622") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13363") + ref.TargetNodeId = ua.NodeId.from_string("i=11616") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13365") - node.BrowseName = ua.QualifiedName.from_string("OutputArguments") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11623") + node.BrowseName = ua.QualifiedName.from_string("StaticStringNodeIdPattern") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13363") + node.ParentNodeId = ua.NodeId.from_string("i=11616") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OutputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") - value = [] - extobj = ua.Argument() - extobj.Name = NewNodeId - extobj.DataType = ua.NodeId.from_string("i=17") - extobj.ValueRank = -1 - value.append(extobj) - attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) - attrs.ValueRank = 1 + attrs.Description = ua.LocalizedText("A regular expression which matches string node ids are the same in every server that exposes them.") + attrs.DisplayName = ua.LocalizedText("StaticStringNodeIdPattern") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13365") + ref.SourceNodeId = ua.NodeId.from_string("i=11623") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13365") + ref.SourceNodeId = ua.NodeId.from_string("i=11623") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13365") + ref.SourceNodeId = ua.NodeId.from_string("i=11623") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13363") + ref.TargetNodeId = ua.NodeId.from_string("i=11616") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13366") - node.BrowseName = ua.QualifiedName.from_string("") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11624") + node.BrowseName = ua.QualifiedName.from_string("NamespaceFile") node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=13353") + node.ParentNodeId = ua.NodeId.from_string("i=11616") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=11575") + node.TypeDefinition = ua.NodeId.from_string("i=11595") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("") + attrs.Description = ua.LocalizedText("A file containing the nodes of the namespace.") + attrs.DisplayName = ua.LocalizedText("NamespaceFile") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -12999,101 +13623,101 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13366") + ref.SourceNodeId = ua.NodeId.from_string("i=11624") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13367") + ref.TargetNodeId = ua.NodeId.from_string("i=11625") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13366") + ref.SourceNodeId = ua.NodeId.from_string("i=11624") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13368") + ref.TargetNodeId = ua.NodeId.from_string("i=12690") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13366") + ref.SourceNodeId = ua.NodeId.from_string("i=11624") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13369") + ref.TargetNodeId = ua.NodeId.from_string("i=12691") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13366") + ref.SourceNodeId = ua.NodeId.from_string("i=11624") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13370") + ref.TargetNodeId = ua.NodeId.from_string("i=11628") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13366") + ref.SourceNodeId = ua.NodeId.from_string("i=11624") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13372") + ref.TargetNodeId = ua.NodeId.from_string("i=11629") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13366") + ref.SourceNodeId = ua.NodeId.from_string("i=11624") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13375") + ref.TargetNodeId = ua.NodeId.from_string("i=11632") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13366") + ref.SourceNodeId = ua.NodeId.from_string("i=11624") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13377") + ref.TargetNodeId = ua.NodeId.from_string("i=11634") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13366") + ref.SourceNodeId = ua.NodeId.from_string("i=11624") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13380") + ref.TargetNodeId = ua.NodeId.from_string("i=11637") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13366") + ref.SourceNodeId = ua.NodeId.from_string("i=11624") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13382") + ref.TargetNodeId = ua.NodeId.from_string("i=11639") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13366") + ref.SourceNodeId = ua.NodeId.from_string("i=11624") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13385") + ref.TargetNodeId = ua.NodeId.from_string("i=11642") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13366") + ref.SourceNodeId = ua.NodeId.from_string("i=11624") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11575") + ref.TargetNodeId = ua.NodeId.from_string("i=11595") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13366") + ref.SourceNodeId = ua.NodeId.from_string("i=11624") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11508") + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13366") + ref.SourceNodeId = ua.NodeId.from_string("i=11624") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13353") + ref.TargetNodeId = ua.NodeId.from_string("i=11616") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13367") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11625") node.BrowseName = ua.QualifiedName.from_string("Size") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13366") + node.ParentNodeId = ua.NodeId.from_string("i=11624") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() @@ -13107,31 +13731,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13367") + ref.SourceNodeId = ua.NodeId.from_string("i=11625") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13367") + ref.SourceNodeId = ua.NodeId.from_string("i=11625") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13367") + ref.SourceNodeId = ua.NodeId.from_string("i=11625") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13366") + ref.TargetNodeId = ua.NodeId.from_string("i=11624") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13368") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12690") node.BrowseName = ua.QualifiedName.from_string("Writable") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13366") + node.ParentNodeId = ua.NodeId.from_string("i=11624") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() @@ -13145,31 +13769,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13368") + ref.SourceNodeId = ua.NodeId.from_string("i=12690") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13368") + ref.SourceNodeId = ua.NodeId.from_string("i=12690") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13368") + ref.SourceNodeId = ua.NodeId.from_string("i=12690") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13366") + ref.TargetNodeId = ua.NodeId.from_string("i=11624") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13369") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12691") node.BrowseName = ua.QualifiedName.from_string("UserWritable") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13366") + node.ParentNodeId = ua.NodeId.from_string("i=11624") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() @@ -13183,31 +13807,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13369") + ref.SourceNodeId = ua.NodeId.from_string("i=12691") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13369") + ref.SourceNodeId = ua.NodeId.from_string("i=12691") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13369") + ref.SourceNodeId = ua.NodeId.from_string("i=12691") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13366") + ref.TargetNodeId = ua.NodeId.from_string("i=11624") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13370") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11628") node.BrowseName = ua.QualifiedName.from_string("OpenCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13366") + node.ParentNodeId = ua.NodeId.from_string("i=11624") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() @@ -13221,31 +13845,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13370") + ref.SourceNodeId = ua.NodeId.from_string("i=11628") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13370") + ref.SourceNodeId = ua.NodeId.from_string("i=11628") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13370") + ref.SourceNodeId = ua.NodeId.from_string("i=11628") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13366") + ref.TargetNodeId = ua.NodeId.from_string("i=11624") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13372") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11629") node.BrowseName = ua.QualifiedName.from_string("Open") node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=13366") + node.ParentNodeId = ua.NodeId.from_string("i=11624") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("Open") @@ -13255,38 +13879,38 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13372") + ref.SourceNodeId = ua.NodeId.from_string("i=11629") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13373") + ref.TargetNodeId = ua.NodeId.from_string("i=11630") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13372") + ref.SourceNodeId = ua.NodeId.from_string("i=11629") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13374") + ref.TargetNodeId = ua.NodeId.from_string("i=11631") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13372") + ref.SourceNodeId = ua.NodeId.from_string("i=11629") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13372") + ref.SourceNodeId = ua.NodeId.from_string("i=11629") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13366") + ref.TargetNodeId = ua.NodeId.from_string("i=11624") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13373") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11630") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13372") + node.ParentNodeId = ua.NodeId.from_string("i=11629") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() @@ -13294,7 +13918,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = Mode + extobj.Name = 'Mode' extobj.DataType = ua.NodeId.from_string("i=3") extobj.ValueRank = -1 value.append(extobj) @@ -13306,31 +13930,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13373") + ref.SourceNodeId = ua.NodeId.from_string("i=11630") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13373") + ref.SourceNodeId = ua.NodeId.from_string("i=11630") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13373") + ref.SourceNodeId = ua.NodeId.from_string("i=11630") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13372") + ref.TargetNodeId = ua.NodeId.from_string("i=11629") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13374") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11631") node.BrowseName = ua.QualifiedName.from_string("OutputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13372") + node.ParentNodeId = ua.NodeId.from_string("i=11629") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() @@ -13338,7 +13962,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = FileHandle + extobj.Name = 'FileHandle' extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -13350,31 +13974,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13374") + ref.SourceNodeId = ua.NodeId.from_string("i=11631") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13374") + ref.SourceNodeId = ua.NodeId.from_string("i=11631") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13374") + ref.SourceNodeId = ua.NodeId.from_string("i=11631") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13372") + ref.TargetNodeId = ua.NodeId.from_string("i=11629") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13375") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11632") node.BrowseName = ua.QualifiedName.from_string("Close") node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=13366") + node.ParentNodeId = ua.NodeId.from_string("i=11624") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("Close") @@ -13384,31 +14008,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13375") + ref.SourceNodeId = ua.NodeId.from_string("i=11632") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13376") + ref.TargetNodeId = ua.NodeId.from_string("i=11633") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13375") + ref.SourceNodeId = ua.NodeId.from_string("i=11632") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13375") + ref.SourceNodeId = ua.NodeId.from_string("i=11632") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13366") + ref.TargetNodeId = ua.NodeId.from_string("i=11624") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13376") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11633") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13375") + node.ParentNodeId = ua.NodeId.from_string("i=11632") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() @@ -13416,7 +14040,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = FileHandle + extobj.Name = 'FileHandle' extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -13428,31 +14052,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13376") + ref.SourceNodeId = ua.NodeId.from_string("i=11633") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13376") + ref.SourceNodeId = ua.NodeId.from_string("i=11633") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13376") + ref.SourceNodeId = ua.NodeId.from_string("i=11633") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13375") + ref.TargetNodeId = ua.NodeId.from_string("i=11632") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13377") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11634") node.BrowseName = ua.QualifiedName.from_string("Read") node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=13366") + node.ParentNodeId = ua.NodeId.from_string("i=11624") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("Read") @@ -13462,38 +14086,38 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13377") + ref.SourceNodeId = ua.NodeId.from_string("i=11634") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13378") + ref.TargetNodeId = ua.NodeId.from_string("i=11635") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13377") + ref.SourceNodeId = ua.NodeId.from_string("i=11634") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13379") + ref.TargetNodeId = ua.NodeId.from_string("i=11636") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13377") + ref.SourceNodeId = ua.NodeId.from_string("i=11634") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13377") + ref.SourceNodeId = ua.NodeId.from_string("i=11634") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13366") + ref.TargetNodeId = ua.NodeId.from_string("i=11624") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13378") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11635") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13377") + node.ParentNodeId = ua.NodeId.from_string("i=11634") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() @@ -13501,12 +14125,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = FileHandle + extobj.Name = 'FileHandle' extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = Length + extobj.Name = 'Length' extobj.DataType = ua.NodeId.from_string("i=6") extobj.ValueRank = -1 value.append(extobj) @@ -13518,31 +14142,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13378") + ref.SourceNodeId = ua.NodeId.from_string("i=11635") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13378") + ref.SourceNodeId = ua.NodeId.from_string("i=11635") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13378") + ref.SourceNodeId = ua.NodeId.from_string("i=11635") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13377") + ref.TargetNodeId = ua.NodeId.from_string("i=11634") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13379") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11636") node.BrowseName = ua.QualifiedName.from_string("OutputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13377") + node.ParentNodeId = ua.NodeId.from_string("i=11634") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() @@ -13550,7 +14174,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = Data + extobj.Name = 'Data' extobj.DataType = ua.NodeId.from_string("i=15") extobj.ValueRank = -1 value.append(extobj) @@ -13562,31 +14186,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13379") + ref.SourceNodeId = ua.NodeId.from_string("i=11636") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13379") + ref.SourceNodeId = ua.NodeId.from_string("i=11636") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13379") + ref.SourceNodeId = ua.NodeId.from_string("i=11636") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13377") + ref.TargetNodeId = ua.NodeId.from_string("i=11634") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13380") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11637") node.BrowseName = ua.QualifiedName.from_string("Write") node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=13366") + node.ParentNodeId = ua.NodeId.from_string("i=11624") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("Write") @@ -13596,31 +14220,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13380") + ref.SourceNodeId = ua.NodeId.from_string("i=11637") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13381") + ref.TargetNodeId = ua.NodeId.from_string("i=11638") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13380") + ref.SourceNodeId = ua.NodeId.from_string("i=11637") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13380") + ref.SourceNodeId = ua.NodeId.from_string("i=11637") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13366") + ref.TargetNodeId = ua.NodeId.from_string("i=11624") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13381") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11638") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13380") + node.ParentNodeId = ua.NodeId.from_string("i=11637") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() @@ -13628,12 +14252,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = FileHandle + extobj.Name = 'FileHandle' extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = Data + extobj.Name = 'Data' extobj.DataType = ua.NodeId.from_string("i=15") extobj.ValueRank = -1 value.append(extobj) @@ -13645,31 +14269,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13381") + ref.SourceNodeId = ua.NodeId.from_string("i=11638") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13381") + ref.SourceNodeId = ua.NodeId.from_string("i=11638") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13381") + ref.SourceNodeId = ua.NodeId.from_string("i=11638") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13380") + ref.TargetNodeId = ua.NodeId.from_string("i=11637") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13382") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11639") node.BrowseName = ua.QualifiedName.from_string("GetPosition") node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=13366") + node.ParentNodeId = ua.NodeId.from_string("i=11624") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("GetPosition") @@ -13679,38 +14303,38 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13382") + ref.SourceNodeId = ua.NodeId.from_string("i=11639") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13383") + ref.TargetNodeId = ua.NodeId.from_string("i=11640") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13382") + ref.SourceNodeId = ua.NodeId.from_string("i=11639") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13384") + ref.TargetNodeId = ua.NodeId.from_string("i=11641") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13382") + ref.SourceNodeId = ua.NodeId.from_string("i=11639") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13382") + ref.SourceNodeId = ua.NodeId.from_string("i=11639") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13366") + ref.TargetNodeId = ua.NodeId.from_string("i=11624") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13383") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11640") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13382") + node.ParentNodeId = ua.NodeId.from_string("i=11639") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() @@ -13718,7 +14342,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = FileHandle + extobj.Name = 'FileHandle' extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) @@ -13730,31 +14354,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13383") + ref.SourceNodeId = ua.NodeId.from_string("i=11640") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13383") + ref.SourceNodeId = ua.NodeId.from_string("i=11640") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13383") + ref.SourceNodeId = ua.NodeId.from_string("i=11640") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13382") + ref.TargetNodeId = ua.NodeId.from_string("i=11639") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13384") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11641") node.BrowseName = ua.QualifiedName.from_string("OutputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13382") + node.ParentNodeId = ua.NodeId.from_string("i=11639") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() @@ -13762,7 +14386,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = Position + extobj.Name = 'Position' extobj.DataType = ua.NodeId.from_string("i=9") extobj.ValueRank = -1 value.append(extobj) @@ -13774,31 +14398,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13384") + ref.SourceNodeId = ua.NodeId.from_string("i=11641") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13384") + ref.SourceNodeId = ua.NodeId.from_string("i=11641") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13384") + ref.SourceNodeId = ua.NodeId.from_string("i=11641") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13382") + ref.TargetNodeId = ua.NodeId.from_string("i=11639") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13385") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11642") node.BrowseName = ua.QualifiedName.from_string("SetPosition") node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=13366") + node.ParentNodeId = ua.NodeId.from_string("i=11624") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() attrs.DisplayName = ua.LocalizedText("SetPosition") @@ -13808,31 +14432,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13385") + ref.SourceNodeId = ua.NodeId.from_string("i=11642") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13386") + ref.TargetNodeId = ua.NodeId.from_string("i=11643") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13385") + ref.SourceNodeId = ua.NodeId.from_string("i=11642") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13385") + ref.SourceNodeId = ua.NodeId.from_string("i=11642") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13366") + ref.TargetNodeId = ua.NodeId.from_string("i=11624") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13386") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11643") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13385") + node.ParentNodeId = ua.NodeId.from_string("i=11642") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() @@ -13840,12 +14464,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = FileHandle + extobj.Name = 'FileHandle' extobj.DataType = ua.NodeId.from_string("i=7") extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = Position + extobj.Name = 'Position' extobj.DataType = ua.NodeId.from_string("i=9") extobj.ValueRank = -1 value.append(extobj) @@ -13857,84 +14481,73 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13386") + ref.SourceNodeId = ua.NodeId.from_string("i=11643") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13386") + ref.SourceNodeId = ua.NodeId.from_string("i=11643") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13386") + ref.SourceNodeId = ua.NodeId.from_string("i=11643") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13385") + ref.TargetNodeId = ua.NodeId.from_string("i=11642") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13387") - node.BrowseName = ua.QualifiedName.from_string("CreateDirectory") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=13353") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("CreateDirectory") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16137") + node.BrowseName = ua.QualifiedName.from_string("DefaultRolePermissions") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=11616") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("DefaultRolePermissions") + attrs.DataType = ua.NodeId.from_string("i=96") + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13387") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13388") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13387") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16137") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13389") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13387") + ref.SourceNodeId = ua.NodeId.from_string("i=16137") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13387") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16137") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13353") + ref.TargetNodeId = ua.NodeId.from_string("i=11616") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13388") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16138") + node.BrowseName = ua.QualifiedName.from_string("DefaultUserRolePermissions") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13387") + node.ParentNodeId = ua.NodeId.from_string("i=11616") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") - value = [] - extobj = ua.Argument() - extobj.Name = DirectoryName - extobj.DataType = ua.NodeId.from_string("i=12") - extobj.ValueRank = -1 - value.append(extobj) - attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.DisplayName = ua.LocalizedText("DefaultUserRolePermissions") + attrs.DataType = ua.NodeId.from_string("i=96") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -13942,360 +14555,340 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13388") + ref.SourceNodeId = ua.NodeId.from_string("i=16138") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13388") + ref.SourceNodeId = ua.NodeId.from_string("i=16138") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13388") + ref.SourceNodeId = ua.NodeId.from_string("i=16138") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13387") + ref.TargetNodeId = ua.NodeId.from_string("i=11616") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13389") - node.BrowseName = ua.QualifiedName.from_string("OutputArguments") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16139") + node.BrowseName = ua.QualifiedName.from_string("DefaultAccessRestrictions") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13387") + node.ParentNodeId = ua.NodeId.from_string("i=11616") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OutputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") - value = [] - extobj = ua.Argument() - extobj.Name = DirectoryNodeId - extobj.DataType = ua.NodeId.from_string("i=17") - extobj.ValueRank = -1 - value.append(extobj) - attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) - attrs.ValueRank = 1 + attrs.DisplayName = ua.LocalizedText("DefaultAccessRestrictions") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13389") + ref.SourceNodeId = ua.NodeId.from_string("i=16139") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13389") + ref.SourceNodeId = ua.NodeId.from_string("i=16139") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13389") + ref.SourceNodeId = ua.NodeId.from_string("i=16139") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13387") + ref.TargetNodeId = ua.NodeId.from_string("i=11616") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13390") - node.BrowseName = ua.QualifiedName.from_string("CreateFile") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=13353") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11645") + node.BrowseName = ua.QualifiedName.from_string("NamespacesType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=58") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.Description = ua.LocalizedText("A container for the namespace metadata provided by the server.") + attrs.DisplayName = ua.LocalizedText("NamespacesType") + attrs.IsAbstract = False + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=11645") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11646") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=11645") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=58") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=11646") + node.BrowseName = ua.QualifiedName.from_string("") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=11645") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("CreateFile") + node.TypeDefinition = ua.NodeId.from_string("i=11616") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("") + attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13390") + ref.SourceNodeId = ua.NodeId.from_string("i=11646") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13391") + ref.TargetNodeId = ua.NodeId.from_string("i=11647") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13390") + ref.SourceNodeId = ua.NodeId.from_string("i=11646") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13392") + ref.TargetNodeId = ua.NodeId.from_string("i=11648") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13390") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11646") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=11649") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13390") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11646") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13353") + ref.TargetNodeId = ua.NodeId.from_string("i=11650") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11646") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11651") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11646") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11652") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11646") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11653") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13391") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13390") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") - value = [] - extobj = ua.Argument() - extobj.Name = FileName - extobj.DataType = ua.NodeId.from_string("i=12") - extobj.ValueRank = -1 - value.append(extobj) - extobj = ua.Argument() - extobj.Name = RequestFileOpen - extobj.DataType = ua.NodeId.from_string("i=1") - extobj.ValueRank = -1 - value.append(extobj) - attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) - attrs.ValueRank = 1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13391") + ref.SourceNodeId = ua.NodeId.from_string("i=11646") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=11616") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13391") + ref.SourceNodeId = ua.NodeId.from_string("i=11646") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=11508") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13391") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=11646") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13390") + ref.TargetNodeId = ua.NodeId.from_string("i=11645") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13392") - node.BrowseName = ua.QualifiedName.from_string("OutputArguments") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11647") + node.BrowseName = ua.QualifiedName.from_string("NamespaceUri") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13390") + node.ParentNodeId = ua.NodeId.from_string("i=11646") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OutputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") - value = [] - extobj = ua.Argument() - extobj.Name = FileNodeId - extobj.DataType = ua.NodeId.from_string("i=17") - extobj.ValueRank = -1 - value.append(extobj) - extobj = ua.Argument() - extobj.Name = FileHandle - extobj.DataType = ua.NodeId.from_string("i=7") - extobj.ValueRank = -1 - value.append(extobj) - attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) - attrs.ValueRank = 1 + attrs.Description = ua.LocalizedText("The URI of the namespace.") + attrs.DisplayName = ua.LocalizedText("NamespaceUri") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13392") + ref.SourceNodeId = ua.NodeId.from_string("i=11647") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13392") + ref.SourceNodeId = ua.NodeId.from_string("i=11647") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13392") + ref.SourceNodeId = ua.NodeId.from_string("i=11647") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13390") + ref.TargetNodeId = ua.NodeId.from_string("i=11646") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13393") - node.BrowseName = ua.QualifiedName.from_string("Delete") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=13353") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("Delete") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11648") + node.BrowseName = ua.QualifiedName.from_string("NamespaceVersion") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=11646") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.Description = ua.LocalizedText("The human readable string representing version of the namespace.") + attrs.DisplayName = ua.LocalizedText("NamespaceVersion") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13393") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=11648") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13394") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13393") + ref.SourceNodeId = ua.NodeId.from_string("i=11648") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13393") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11648") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13353") + ref.TargetNodeId = ua.NodeId.from_string("i=11646") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13394") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11649") + node.BrowseName = ua.QualifiedName.from_string("NamespacePublicationDate") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13393") + node.ParentNodeId = ua.NodeId.from_string("i=11646") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") - value = [] - extobj = ua.Argument() - extobj.Name = ObjectToDelete - extobj.DataType = ua.NodeId.from_string("i=17") - extobj.ValueRank = -1 - value.append(extobj) - attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) - attrs.ValueRank = 1 + attrs.Description = ua.LocalizedText("The publication date for the namespace.") + attrs.DisplayName = ua.LocalizedText("NamespacePublicationDate") + attrs.DataType = ua.NodeId(ua.ObjectIds.DateTime) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13394") + ref.SourceNodeId = ua.NodeId.from_string("i=11649") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13394") + ref.SourceNodeId = ua.NodeId.from_string("i=11649") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13394") + ref.SourceNodeId = ua.NodeId.from_string("i=11649") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13393") + ref.TargetNodeId = ua.NodeId.from_string("i=11646") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13395") - node.BrowseName = ua.QualifiedName.from_string("MoveOrCopy") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=13353") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("MoveOrCopy") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11650") + node.BrowseName = ua.QualifiedName.from_string("IsNamespaceSubset") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=11646") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.Description = ua.LocalizedText("If TRUE then the server only supports a subset of the namespace.") + attrs.DisplayName = ua.LocalizedText("IsNamespaceSubset") + attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13395") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13396") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13395") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=11650") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13397") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13395") + ref.SourceNodeId = ua.NodeId.from_string("i=11650") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13395") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11650") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13353") + ref.TargetNodeId = ua.NodeId.from_string("i=11646") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13396") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11651") + node.BrowseName = ua.QualifiedName.from_string("StaticNodeIdTypes") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13395") + node.ParentNodeId = ua.NodeId.from_string("i=11646") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") - value = [] - extobj = ua.Argument() - extobj.Name = ObjectToMoveOrCopy - extobj.DataType = ua.NodeId.from_string("i=17") - extobj.ValueRank = -1 - value.append(extobj) - extobj = ua.Argument() - extobj.Name = TargetDirectory - extobj.DataType = ua.NodeId.from_string("i=17") - extobj.ValueRank = -1 - value.append(extobj) - extobj = ua.Argument() - extobj.Name = CreateCopy - extobj.DataType = ua.NodeId.from_string("i=1") - extobj.ValueRank = -1 - value.append(extobj) - extobj = ua.Argument() - extobj.Name = NewName - extobj.DataType = ua.NodeId.from_string("i=12") - extobj.ValueRank = -1 - value.append(extobj) - attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.Description = ua.LocalizedText("A list of IdTypes for nodes which are the same in every server that exposes them.") + attrs.DisplayName = ua.LocalizedText("StaticNodeIdTypes") + attrs.DataType = ua.NodeId.from_string("i=256") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -14303,43 +14896,37 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13396") + ref.SourceNodeId = ua.NodeId.from_string("i=11651") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13396") + ref.SourceNodeId = ua.NodeId.from_string("i=11651") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13396") + ref.SourceNodeId = ua.NodeId.from_string("i=11651") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13395") + ref.TargetNodeId = ua.NodeId.from_string("i=11646") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13397") - node.BrowseName = ua.QualifiedName.from_string("OutputArguments") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11652") + node.BrowseName = ua.QualifiedName.from_string("StaticNumericNodeIdRange") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13395") + node.ParentNodeId = ua.NodeId.from_string("i=11646") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OutputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") - value = [] - extobj = ua.Argument() - extobj.Name = NewNodeId - extobj.DataType = ua.NodeId.from_string("i=17") - extobj.ValueRank = -1 - value.append(extobj) - attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.Description = ua.LocalizedText("A list of ranges for numeric node ids which are the same in every server that exposes them.") + attrs.DisplayName = ua.LocalizedText("StaticNumericNodeIdRange") + attrs.DataType = ua.NodeId.from_string("i=291") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -14347,172 +14934,160 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13397") + ref.SourceNodeId = ua.NodeId.from_string("i=11652") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13397") + ref.SourceNodeId = ua.NodeId.from_string("i=11652") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13397") + ref.SourceNodeId = ua.NodeId.from_string("i=11652") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13395") + ref.TargetNodeId = ua.NodeId.from_string("i=11646") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11595") - node.BrowseName = ua.QualifiedName.from_string("AddressSpaceFileType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=11575") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.Description = ua.LocalizedText("A file used to store a namespace exported from the server.") - attrs.DisplayName = ua.LocalizedText("AddressSpaceFileType") - attrs.IsAbstract = False + node.RequestedNewNodeId = ua.NodeId.from_string("i=11653") + node.BrowseName = ua.QualifiedName.from_string("StaticStringNodeIdPattern") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=11646") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.Description = ua.LocalizedText("A regular expression which matches string node ids are the same in every server that exposes them.") + attrs.DisplayName = ua.LocalizedText("StaticStringNodeIdPattern") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11595") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11615") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=11595") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=11653") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11575") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11615") - node.BrowseName = ua.QualifiedName.from_string("ExportNamespace") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=11595") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - attrs = ua.MethodAttributes() - attrs.Description = ua.LocalizedText("Updates the file by exporting the server namespace.") - attrs.DisplayName = ua.LocalizedText("ExportNamespace") - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11615") + ref.SourceNodeId = ua.NodeId.from_string("i=11653") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11615") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11653") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11595") + ref.TargetNodeId = ua.NodeId.from_string("i=11646") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11616") - node.BrowseName = ua.QualifiedName.from_string("NamespaceMetadataType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2041") + node.BrowseName = ua.QualifiedName.from_string("BaseEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=58") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() - attrs.Description = ua.LocalizedText("Provides the metadata for a namespace used by the server.") - attrs.DisplayName = ua.LocalizedText("NamespaceMetadataType") - attrs.IsAbstract = False + attrs.Description = ua.LocalizedText("The base type for all events.") + attrs.DisplayName = ua.LocalizedText("BaseEventType") + attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11616") + ref.SourceNodeId = ua.NodeId.from_string("i=2041") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11617") + ref.TargetNodeId = ua.NodeId.from_string("i=2042") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11616") + ref.SourceNodeId = ua.NodeId.from_string("i=2041") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11618") + ref.TargetNodeId = ua.NodeId.from_string("i=2043") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11616") + ref.SourceNodeId = ua.NodeId.from_string("i=2041") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11619") + ref.TargetNodeId = ua.NodeId.from_string("i=2044") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11616") + ref.SourceNodeId = ua.NodeId.from_string("i=2041") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11620") + ref.TargetNodeId = ua.NodeId.from_string("i=2045") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11616") + ref.SourceNodeId = ua.NodeId.from_string("i=2041") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11621") + ref.TargetNodeId = ua.NodeId.from_string("i=2046") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11616") + ref.SourceNodeId = ua.NodeId.from_string("i=2041") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11622") + ref.TargetNodeId = ua.NodeId.from_string("i=2047") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11616") + ref.SourceNodeId = ua.NodeId.from_string("i=2041") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11623") + ref.TargetNodeId = ua.NodeId.from_string("i=3190") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11616") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2041") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11624") + ref.TargetNodeId = ua.NodeId.from_string("i=2050") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2041") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2051") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=11616") + ref.SourceNodeId = ua.NodeId.from_string("i=2041") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=58") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11617") - node.BrowseName = ua.QualifiedName.from_string("NamespaceUri") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11616") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2042") + node.BrowseName = ua.QualifiedName.from_string("EventId") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2041") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The URI of the namespace.") - attrs.DisplayName = ua.LocalizedText("NamespaceUri") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Description = ua.LocalizedText("A globally unique identifier for the event.") + attrs.DisplayName = ua.LocalizedText("EventId") + attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -14520,37 +15095,37 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11617") + ref.SourceNodeId = ua.NodeId.from_string("i=2042") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11617") + ref.SourceNodeId = ua.NodeId.from_string("i=2042") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11617") + ref.SourceNodeId = ua.NodeId.from_string("i=2042") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11616") + ref.TargetNodeId = ua.NodeId.from_string("i=2041") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11618") - node.BrowseName = ua.QualifiedName.from_string("NamespaceVersion") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2043") + node.BrowseName = ua.QualifiedName.from_string("EventType") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11616") + node.ParentNodeId = ua.NodeId.from_string("i=2041") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The human readable string representing version of the namespace.") - attrs.DisplayName = ua.LocalizedText("NamespaceVersion") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Description = ua.LocalizedText("The identifier for the event type.") + attrs.DisplayName = ua.LocalizedText("EventType") + attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -14558,37 +15133,37 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11618") + ref.SourceNodeId = ua.NodeId.from_string("i=2043") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11618") + ref.SourceNodeId = ua.NodeId.from_string("i=2043") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11618") + ref.SourceNodeId = ua.NodeId.from_string("i=2043") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11616") + ref.TargetNodeId = ua.NodeId.from_string("i=2041") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11619") - node.BrowseName = ua.QualifiedName.from_string("NamespacePublicationDate") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2044") + node.BrowseName = ua.QualifiedName.from_string("SourceNode") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11616") + node.ParentNodeId = ua.NodeId.from_string("i=2041") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The publication date for the namespace.") - attrs.DisplayName = ua.LocalizedText("NamespacePublicationDate") - attrs.DataType = ua.NodeId(ua.ObjectIds.DateTime) + attrs.Description = ua.LocalizedText("The source of the event.") + attrs.DisplayName = ua.LocalizedText("SourceNode") + attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -14596,37 +15171,37 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11619") + ref.SourceNodeId = ua.NodeId.from_string("i=2044") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11619") + ref.SourceNodeId = ua.NodeId.from_string("i=2044") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11619") + ref.SourceNodeId = ua.NodeId.from_string("i=2044") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11616") + ref.TargetNodeId = ua.NodeId.from_string("i=2041") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11620") - node.BrowseName = ua.QualifiedName.from_string("IsNamespaceSubset") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2045") + node.BrowseName = ua.QualifiedName.from_string("SourceName") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11616") + node.ParentNodeId = ua.NodeId.from_string("i=2041") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("If TRUE then the server only supports a subset of the namespace.") - attrs.DisplayName = ua.LocalizedText("IsNamespaceSubset") - attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) + attrs.Description = ua.LocalizedText("A description of the source of the event.") + attrs.DisplayName = ua.LocalizedText("SourceName") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -14634,113 +15209,113 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11620") + ref.SourceNodeId = ua.NodeId.from_string("i=2045") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11620") + ref.SourceNodeId = ua.NodeId.from_string("i=2045") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11620") + ref.SourceNodeId = ua.NodeId.from_string("i=2045") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11616") + ref.TargetNodeId = ua.NodeId.from_string("i=2041") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11621") - node.BrowseName = ua.QualifiedName.from_string("StaticNodeIdTypes") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2046") + node.BrowseName = ua.QualifiedName.from_string("Time") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11616") + node.ParentNodeId = ua.NodeId.from_string("i=2041") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A list of IdTypes for nodes which are the same in every server that exposes them.") - attrs.DisplayName = ua.LocalizedText("StaticNodeIdTypes") - attrs.DataType = ua.NodeId.from_string("i=256") - attrs.ValueRank = 1 + attrs.Description = ua.LocalizedText("When the event occurred.") + attrs.DisplayName = ua.LocalizedText("Time") + attrs.DataType = ua.NodeId.from_string("i=294") + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11621") + ref.SourceNodeId = ua.NodeId.from_string("i=2046") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11621") + ref.SourceNodeId = ua.NodeId.from_string("i=2046") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11621") + ref.SourceNodeId = ua.NodeId.from_string("i=2046") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11616") + ref.TargetNodeId = ua.NodeId.from_string("i=2041") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11622") - node.BrowseName = ua.QualifiedName.from_string("StaticNumericNodeIdRange") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2047") + node.BrowseName = ua.QualifiedName.from_string("ReceiveTime") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11616") + node.ParentNodeId = ua.NodeId.from_string("i=2041") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A list of ranges for numeric node ids which are the same in every server that exposes them.") - attrs.DisplayName = ua.LocalizedText("StaticNumericNodeIdRange") - attrs.DataType = ua.NodeId.from_string("i=291") - attrs.ValueRank = 1 + attrs.Description = ua.LocalizedText("When the server received the event from the underlying system.") + attrs.DisplayName = ua.LocalizedText("ReceiveTime") + attrs.DataType = ua.NodeId.from_string("i=294") + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11622") + ref.SourceNodeId = ua.NodeId.from_string("i=2047") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11622") + ref.SourceNodeId = ua.NodeId.from_string("i=2047") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11622") + ref.SourceNodeId = ua.NodeId.from_string("i=2047") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11616") + ref.TargetNodeId = ua.NodeId.from_string("i=2041") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11623") - node.BrowseName = ua.QualifiedName.from_string("StaticStringNodeIdPattern") + node.RequestedNewNodeId = ua.NodeId.from_string("i=3190") + node.BrowseName = ua.QualifiedName.from_string("LocalTime") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11616") + node.ParentNodeId = ua.NodeId.from_string("i=2041") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A regular expression which matches string node ids are the same in every server that exposes them.") - attrs.DisplayName = ua.LocalizedText("StaticStringNodeIdPattern") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Description = ua.LocalizedText("Information about the local time where the event originated.") + attrs.DisplayName = ua.LocalizedText("LocalTime") + attrs.DataType = ua.NodeId.from_string("i=8912") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -14748,144 +15323,170 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11623") + ref.SourceNodeId = ua.NodeId.from_string("i=3190") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11623") + ref.SourceNodeId = ua.NodeId.from_string("i=3190") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11623") + ref.SourceNodeId = ua.NodeId.from_string("i=3190") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11616") + ref.TargetNodeId = ua.NodeId.from_string("i=2041") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11624") - node.BrowseName = ua.QualifiedName.from_string("NamespaceFile") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=11616") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=11595") - attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("A file containing the nodes of the namespace.") - attrs.DisplayName = ua.LocalizedText("NamespaceFile") - attrs.EventNotifier = 0 + node.RequestedNewNodeId = ua.NodeId.from_string("i=2050") + node.BrowseName = ua.QualifiedName.from_string("Message") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2041") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.Description = ua.LocalizedText("A localized description of the event.") + attrs.DisplayName = ua.LocalizedText("Message") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11624") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11625") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11624") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=2050") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12690") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11624") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=2050") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12691") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11624") + ref.SourceNodeId = ua.NodeId.from_string("i=2050") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11628") + ref.TargetNodeId = ua.NodeId.from_string("i=2041") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=2051") + node.BrowseName = ua.QualifiedName.from_string("Severity") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2041") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.Description = ua.LocalizedText("Indicates how urgent an event is.") + attrs.DisplayName = ua.LocalizedText("Severity") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11624") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=2051") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11629") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11624") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=2051") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11632") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11624") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2051") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11634") + ref.TargetNodeId = ua.NodeId.from_string("i=2041") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=2052") + node.BrowseName = ua.QualifiedName.from_string("AuditEventType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=2041") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.Description = ua.LocalizedText("A base type for events used to track client initiated changes to the server state.") + attrs.DisplayName = ua.LocalizedText("AuditEventType") + attrs.IsAbstract = True + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11624") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2052") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11637") + ref.TargetNodeId = ua.NodeId.from_string("i=2053") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11624") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2052") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11639") + ref.TargetNodeId = ua.NodeId.from_string("i=2054") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11624") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2052") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11642") + ref.TargetNodeId = ua.NodeId.from_string("i=2055") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11624") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2052") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11595") + ref.TargetNodeId = ua.NodeId.from_string("i=2056") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11624") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2052") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.TargetNodeId = ua.NodeId.from_string("i=2057") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11624") + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=2052") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11616") + ref.TargetNodeId = ua.NodeId.from_string("i=2041") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11625") - node.BrowseName = ua.QualifiedName.from_string("Size") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2053") + node.BrowseName = ua.QualifiedName.from_string("ActionTimeStamp") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11624") + node.ParentNodeId = ua.NodeId.from_string("i=2052") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The size of the file in bytes.") - attrs.DisplayName = ua.LocalizedText("Size") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt64) + attrs.Description = ua.LocalizedText("When the action triggering the event occurred.") + attrs.DisplayName = ua.LocalizedText("ActionTimeStamp") + attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -14893,36 +15494,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11625") + ref.SourceNodeId = ua.NodeId.from_string("i=2053") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11625") + ref.SourceNodeId = ua.NodeId.from_string("i=2053") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11625") + ref.SourceNodeId = ua.NodeId.from_string("i=2053") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11624") + ref.TargetNodeId = ua.NodeId.from_string("i=2052") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12690") - node.BrowseName = ua.QualifiedName.from_string("Writable") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2054") + node.BrowseName = ua.QualifiedName.from_string("Status") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11624") + node.ParentNodeId = ua.NodeId.from_string("i=2052") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("Whether the file is writable.") - attrs.DisplayName = ua.LocalizedText("Writable") + attrs.Description = ua.LocalizedText("If TRUE the action was performed. If FALSE the action failed and the server state did not change.") + attrs.DisplayName = ua.LocalizedText("Status") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -14931,37 +15532,37 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12690") + ref.SourceNodeId = ua.NodeId.from_string("i=2054") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12690") + ref.SourceNodeId = ua.NodeId.from_string("i=2054") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12690") + ref.SourceNodeId = ua.NodeId.from_string("i=2054") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11624") + ref.TargetNodeId = ua.NodeId.from_string("i=2052") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12691") - node.BrowseName = ua.QualifiedName.from_string("UserWritable") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2055") + node.BrowseName = ua.QualifiedName.from_string("ServerId") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11624") + node.ParentNodeId = ua.NodeId.from_string("i=2052") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("Whether the file is writable by the current user.") - attrs.DisplayName = ua.LocalizedText("UserWritable") - attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) + attrs.Description = ua.LocalizedText("The unique identifier for the server generating the event.") + attrs.DisplayName = ua.LocalizedText("ServerId") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -14969,37 +15570,37 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12691") + ref.SourceNodeId = ua.NodeId.from_string("i=2055") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12691") + ref.SourceNodeId = ua.NodeId.from_string("i=2055") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12691") + ref.SourceNodeId = ua.NodeId.from_string("i=2055") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11624") + ref.TargetNodeId = ua.NodeId.from_string("i=2052") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11628") - node.BrowseName = ua.QualifiedName.from_string("OpenCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2056") + node.BrowseName = ua.QualifiedName.from_string("ClientAuditEntryId") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11624") + node.ParentNodeId = ua.NodeId.from_string("i=2052") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The current number of open file handles.") - attrs.DisplayName = ua.LocalizedText("OpenCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) + attrs.Description = ua.LocalizedText("The log entry id provided in the request that initiated the action.") + attrs.DisplayName = ua.LocalizedText("ClientAuditEntryId") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -15007,793 +15608,616 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11628") + ref.SourceNodeId = ua.NodeId.from_string("i=2056") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11628") + ref.SourceNodeId = ua.NodeId.from_string("i=2056") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11628") + ref.SourceNodeId = ua.NodeId.from_string("i=2056") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11624") + ref.TargetNodeId = ua.NodeId.from_string("i=2052") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11629") - node.BrowseName = ua.QualifiedName.from_string("Open") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=11624") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("Open") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2057") + node.BrowseName = ua.QualifiedName.from_string("ClientUserId") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2052") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.Description = ua.LocalizedText("The user identity associated with the session that initiated the action.") + attrs.DisplayName = ua.LocalizedText("ClientUserId") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11629") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11630") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11629") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=2057") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11631") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11629") + ref.SourceNodeId = ua.NodeId.from_string("i=2057") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11629") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2057") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11624") + ref.TargetNodeId = ua.NodeId.from_string("i=2052") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11630") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11629") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") - value = [] - extobj = ua.Argument() - extobj.Name = Mode - extobj.DataType = ua.NodeId.from_string("i=3") - extobj.ValueRank = -1 - value.append(extobj) - attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) - attrs.ValueRank = 1 + node.RequestedNewNodeId = ua.NodeId.from_string("i=2058") + node.BrowseName = ua.QualifiedName.from_string("AuditSecurityEventType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=2052") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.Description = ua.LocalizedText("A base type for events used to track security related changes.") + attrs.DisplayName = ua.LocalizedText("AuditSecurityEventType") + attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11630") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11630") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2058") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=17615") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11630") + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=2058") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11629") + ref.TargetNodeId = ua.NodeId.from_string("i=2052") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11631") - node.BrowseName = ua.QualifiedName.from_string("OutputArguments") + node.RequestedNewNodeId = ua.NodeId.from_string("i=17615") + node.BrowseName = ua.QualifiedName.from_string("StatusCodeId") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11629") + node.ParentNodeId = ua.NodeId.from_string("i=2058") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OutputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") - value = [] - extobj = ua.Argument() - extobj.Name = FileHandle - extobj.DataType = ua.NodeId.from_string("i=7") - extobj.ValueRank = -1 - value.append(extobj) - attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) - attrs.ValueRank = 1 + attrs.DisplayName = ua.LocalizedText("StatusCodeId") + attrs.DataType = ua.NodeId(ua.ObjectIds.StatusCode) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11631") + ref.SourceNodeId = ua.NodeId.from_string("i=17615") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11631") + ref.SourceNodeId = ua.NodeId.from_string("i=17615") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11631") + ref.SourceNodeId = ua.NodeId.from_string("i=17615") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11629") + ref.TargetNodeId = ua.NodeId.from_string("i=2058") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11632") - node.BrowseName = ua.QualifiedName.from_string("Close") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=11624") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("Close") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2059") + node.BrowseName = ua.QualifiedName.from_string("AuditChannelEventType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=2058") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.Description = ua.LocalizedText("A base type for events used to track related changes to a secure channel.") + attrs.DisplayName = ua.LocalizedText("AuditChannelEventType") + attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11632") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11633") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11632") + ref.SourceNodeId = ua.NodeId.from_string("i=2059") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=2745") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11632") + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=2059") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11624") + ref.TargetNodeId = ua.NodeId.from_string("i=2058") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11633") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2745") + node.BrowseName = ua.QualifiedName.from_string("SecureChannelId") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11632") + node.ParentNodeId = ua.NodeId.from_string("i=2059") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") - value = [] - extobj = ua.Argument() - extobj.Name = FileHandle - extobj.DataType = ua.NodeId.from_string("i=7") - extobj.ValueRank = -1 - value.append(extobj) - attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) - attrs.ValueRank = 1 + attrs.Description = ua.LocalizedText("The identifier for the secure channel that was changed.") + attrs.DisplayName = ua.LocalizedText("SecureChannelId") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11633") + ref.SourceNodeId = ua.NodeId.from_string("i=2745") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11633") + ref.SourceNodeId = ua.NodeId.from_string("i=2745") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11633") + ref.SourceNodeId = ua.NodeId.from_string("i=2745") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11632") + ref.TargetNodeId = ua.NodeId.from_string("i=2059") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11634") - node.BrowseName = ua.QualifiedName.from_string("Read") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=11624") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("Read") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2060") + node.BrowseName = ua.QualifiedName.from_string("AuditOpenSecureChannelEventType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=2059") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.Description = ua.LocalizedText("An event that is raised when a secure channel is opened.") + attrs.DisplayName = ua.LocalizedText("AuditOpenSecureChannelEventType") + attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11634") + ref.SourceNodeId = ua.NodeId.from_string("i=2060") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11635") + ref.TargetNodeId = ua.NodeId.from_string("i=2061") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11634") + ref.SourceNodeId = ua.NodeId.from_string("i=2060") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11636") + ref.TargetNodeId = ua.NodeId.from_string("i=2746") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11634") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2060") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=2062") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11634") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2060") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11624") + ref.TargetNodeId = ua.NodeId.from_string("i=2063") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11635") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11634") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") - value = [] - extobj = ua.Argument() - extobj.Name = FileHandle - extobj.DataType = ua.NodeId.from_string("i=7") - extobj.ValueRank = -1 - value.append(extobj) - extobj = ua.Argument() - extobj.Name = Length - extobj.DataType = ua.NodeId.from_string("i=6") - extobj.ValueRank = -1 - value.append(extobj) - attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) - attrs.ValueRank = 1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11635") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2060") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=2065") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11635") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2060") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=2066") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11635") + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=2060") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11634") + ref.TargetNodeId = ua.NodeId.from_string("i=2059") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11636") - node.BrowseName = ua.QualifiedName.from_string("OutputArguments") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2061") + node.BrowseName = ua.QualifiedName.from_string("ClientCertificate") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11634") + node.ParentNodeId = ua.NodeId.from_string("i=2060") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OutputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") - value = [] - extobj = ua.Argument() - extobj.Name = Data - extobj.DataType = ua.NodeId.from_string("i=15") - extobj.ValueRank = -1 - value.append(extobj) - attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) - attrs.ValueRank = 1 + attrs.Description = ua.LocalizedText("The certificate provided by the client.") + attrs.DisplayName = ua.LocalizedText("ClientCertificate") + attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11636") + ref.SourceNodeId = ua.NodeId.from_string("i=2061") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11636") + ref.SourceNodeId = ua.NodeId.from_string("i=2061") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11636") + ref.SourceNodeId = ua.NodeId.from_string("i=2061") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11634") + ref.TargetNodeId = ua.NodeId.from_string("i=2060") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11637") - node.BrowseName = ua.QualifiedName.from_string("Write") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=11624") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("Write") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2746") + node.BrowseName = ua.QualifiedName.from_string("ClientCertificateThumbprint") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2060") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.Description = ua.LocalizedText("The thumbprint for certificate provided by the client.") + attrs.DisplayName = ua.LocalizedText("ClientCertificateThumbprint") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11637") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=2746") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11638") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11637") + ref.SourceNodeId = ua.NodeId.from_string("i=2746") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11637") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2746") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11624") + ref.TargetNodeId = ua.NodeId.from_string("i=2060") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11638") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2062") + node.BrowseName = ua.QualifiedName.from_string("RequestType") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11637") + node.ParentNodeId = ua.NodeId.from_string("i=2060") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") - value = [] - extobj = ua.Argument() - extobj.Name = FileHandle - extobj.DataType = ua.NodeId.from_string("i=7") - extobj.ValueRank = -1 - value.append(extobj) - extobj = ua.Argument() - extobj.Name = Data - extobj.DataType = ua.NodeId.from_string("i=15") - extobj.ValueRank = -1 - value.append(extobj) - attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) - attrs.ValueRank = 1 + attrs.Description = ua.LocalizedText("The type of request (NEW or RENEW).") + attrs.DisplayName = ua.LocalizedText("RequestType") + attrs.DataType = ua.NodeId.from_string("i=315") + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11638") + ref.SourceNodeId = ua.NodeId.from_string("i=2062") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11638") + ref.SourceNodeId = ua.NodeId.from_string("i=2062") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11638") + ref.SourceNodeId = ua.NodeId.from_string("i=2062") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11637") + ref.TargetNodeId = ua.NodeId.from_string("i=2060") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11639") - node.BrowseName = ua.QualifiedName.from_string("GetPosition") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=11624") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("GetPosition") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2063") + node.BrowseName = ua.QualifiedName.from_string("SecurityPolicyUri") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2060") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.Description = ua.LocalizedText("The security policy used by the channel.") + attrs.DisplayName = ua.LocalizedText("SecurityPolicyUri") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11639") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11640") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11639") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=2063") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11641") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11639") + ref.SourceNodeId = ua.NodeId.from_string("i=2063") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11639") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2063") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11624") + ref.TargetNodeId = ua.NodeId.from_string("i=2060") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11640") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2065") + node.BrowseName = ua.QualifiedName.from_string("SecurityMode") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11639") + node.ParentNodeId = ua.NodeId.from_string("i=2060") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") - value = [] - extobj = ua.Argument() - extobj.Name = FileHandle - extobj.DataType = ua.NodeId.from_string("i=7") - extobj.ValueRank = -1 - value.append(extobj) - attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) - attrs.ValueRank = 1 + attrs.Description = ua.LocalizedText("The security mode used by the channel.") + attrs.DisplayName = ua.LocalizedText("SecurityMode") + attrs.DataType = ua.NodeId.from_string("i=302") + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11640") + ref.SourceNodeId = ua.NodeId.from_string("i=2065") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11640") + ref.SourceNodeId = ua.NodeId.from_string("i=2065") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11640") + ref.SourceNodeId = ua.NodeId.from_string("i=2065") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11639") + ref.TargetNodeId = ua.NodeId.from_string("i=2060") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11641") - node.BrowseName = ua.QualifiedName.from_string("OutputArguments") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2066") + node.BrowseName = ua.QualifiedName.from_string("RequestedLifetime") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11639") + node.ParentNodeId = ua.NodeId.from_string("i=2060") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OutputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") - value = [] - extobj = ua.Argument() - extobj.Name = Position - extobj.DataType = ua.NodeId.from_string("i=9") - extobj.ValueRank = -1 - value.append(extobj) - attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) - attrs.ValueRank = 1 + attrs.Description = ua.LocalizedText("The lifetime of the channel requested by the client.") + attrs.DisplayName = ua.LocalizedText("RequestedLifetime") + attrs.DataType = ua.NodeId.from_string("i=290") + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11641") + ref.SourceNodeId = ua.NodeId.from_string("i=2066") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11641") + ref.SourceNodeId = ua.NodeId.from_string("i=2066") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11641") + ref.SourceNodeId = ua.NodeId.from_string("i=2066") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11639") + ref.TargetNodeId = ua.NodeId.from_string("i=2060") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11642") - node.BrowseName = ua.QualifiedName.from_string("SetPosition") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=11624") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("SetPosition") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2069") + node.BrowseName = ua.QualifiedName.from_string("AuditSessionEventType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=2058") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.Description = ua.LocalizedText("A base type for events used to track related changes to a session.") + attrs.DisplayName = ua.LocalizedText("AuditSessionEventType") + attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11642") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11643") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11642") + ref.SourceNodeId = ua.NodeId.from_string("i=2069") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=2070") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11642") + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=2069") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11624") + ref.TargetNodeId = ua.NodeId.from_string("i=2058") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11643") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2070") + node.BrowseName = ua.QualifiedName.from_string("SessionId") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11642") + node.ParentNodeId = ua.NodeId.from_string("i=2069") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") - value = [] - extobj = ua.Argument() - extobj.Name = FileHandle - extobj.DataType = ua.NodeId.from_string("i=7") - extobj.ValueRank = -1 - value.append(extobj) - extobj = ua.Argument() - extobj.Name = Position - extobj.DataType = ua.NodeId.from_string("i=9") - extobj.ValueRank = -1 - value.append(extobj) - attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) - attrs.ValueRank = 1 + attrs.Description = ua.LocalizedText("The unique identifier for the session,.") + attrs.DisplayName = ua.LocalizedText("SessionId") + attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11643") + ref.SourceNodeId = ua.NodeId.from_string("i=2070") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11643") + ref.SourceNodeId = ua.NodeId.from_string("i=2070") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11643") + ref.SourceNodeId = ua.NodeId.from_string("i=2070") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11642") + ref.TargetNodeId = ua.NodeId.from_string("i=2069") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11645") - node.BrowseName = ua.QualifiedName.from_string("NamespacesType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2071") + node.BrowseName = ua.QualifiedName.from_string("AuditCreateSessionEventType") node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=58") + node.ParentNodeId = ua.NodeId.from_string("i=2069") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() - attrs.Description = ua.LocalizedText("A container for the namespace metadata provided by the server.") - attrs.DisplayName = ua.LocalizedText("NamespacesType") - attrs.IsAbstract = False - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11645") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11646") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11645") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11675") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=11645") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=58") - refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11646") - node.BrowseName = ua.QualifiedName.from_string("") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=11645") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=11616") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("") - attrs.EventNotifier = 0 + attrs.Description = ua.LocalizedText("An event that is raised when a session is created.") + attrs.DisplayName = ua.LocalizedText("AuditCreateSessionEventType") + attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11646") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11647") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11646") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11648") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11646") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11649") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11646") + ref.SourceNodeId = ua.NodeId.from_string("i=2071") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11650") + ref.TargetNodeId = ua.NodeId.from_string("i=2072") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11646") + ref.SourceNodeId = ua.NodeId.from_string("i=2071") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11651") + ref.TargetNodeId = ua.NodeId.from_string("i=2073") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11646") + ref.SourceNodeId = ua.NodeId.from_string("i=2071") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11652") + ref.TargetNodeId = ua.NodeId.from_string("i=2747") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11646") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11653") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11646") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11616") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11646") + ref.SourceNodeId = ua.NodeId.from_string("i=2071") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11508") + ref.TargetNodeId = ua.NodeId.from_string("i=2074") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11646") + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=2071") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11645") + ref.TargetNodeId = ua.NodeId.from_string("i=2069") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11647") - node.BrowseName = ua.QualifiedName.from_string("NamespaceUri") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2072") + node.BrowseName = ua.QualifiedName.from_string("SecureChannelId") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11646") + node.ParentNodeId = ua.NodeId.from_string("i=2071") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The URI of the namespace.") - attrs.DisplayName = ua.LocalizedText("NamespaceUri") + attrs.Description = ua.LocalizedText("The secure channel associated with the session.") + attrs.DisplayName = ua.LocalizedText("SecureChannelId") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -15802,37 +16226,37 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11647") + ref.SourceNodeId = ua.NodeId.from_string("i=2072") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11647") + ref.SourceNodeId = ua.NodeId.from_string("i=2072") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11647") + ref.SourceNodeId = ua.NodeId.from_string("i=2072") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11646") + ref.TargetNodeId = ua.NodeId.from_string("i=2071") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11648") - node.BrowseName = ua.QualifiedName.from_string("NamespaceVersion") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2073") + node.BrowseName = ua.QualifiedName.from_string("ClientCertificate") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11646") + node.ParentNodeId = ua.NodeId.from_string("i=2071") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The human readable string representing version of the namespace.") - attrs.DisplayName = ua.LocalizedText("NamespaceVersion") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Description = ua.LocalizedText("The certificate provided by the client.") + attrs.DisplayName = ua.LocalizedText("ClientCertificate") + attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -15840,37 +16264,37 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11648") + ref.SourceNodeId = ua.NodeId.from_string("i=2073") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11648") + ref.SourceNodeId = ua.NodeId.from_string("i=2073") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11648") + ref.SourceNodeId = ua.NodeId.from_string("i=2073") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11646") + ref.TargetNodeId = ua.NodeId.from_string("i=2071") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11649") - node.BrowseName = ua.QualifiedName.from_string("NamespacePublicationDate") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2747") + node.BrowseName = ua.QualifiedName.from_string("ClientCertificateThumbprint") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11646") + node.ParentNodeId = ua.NodeId.from_string("i=2071") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The publication date for the namespace.") - attrs.DisplayName = ua.LocalizedText("NamespacePublicationDate") - attrs.DataType = ua.NodeId(ua.ObjectIds.DateTime) + attrs.Description = ua.LocalizedText("The thumbprint of the certificate provided by the client.") + attrs.DisplayName = ua.LocalizedText("ClientCertificateThumbprint") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -15878,37 +16302,37 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11649") + ref.SourceNodeId = ua.NodeId.from_string("i=2747") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11649") + ref.SourceNodeId = ua.NodeId.from_string("i=2747") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11649") + ref.SourceNodeId = ua.NodeId.from_string("i=2747") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11646") + ref.TargetNodeId = ua.NodeId.from_string("i=2071") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11650") - node.BrowseName = ua.QualifiedName.from_string("IsNamespaceSubset") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2074") + node.BrowseName = ua.QualifiedName.from_string("RevisedSessionTimeout") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11646") + node.ParentNodeId = ua.NodeId.from_string("i=2071") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("If TRUE then the server only supports a subset of the namespace.") - attrs.DisplayName = ua.LocalizedText("IsNamespaceSubset") - attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) + attrs.Description = ua.LocalizedText("The timeout for the session.") + attrs.DisplayName = ua.LocalizedText("RevisedSessionTimeout") + attrs.DataType = ua.NodeId.from_string("i=290") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -15916,112 +16340,63 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11650") + ref.SourceNodeId = ua.NodeId.from_string("i=2074") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11650") + ref.SourceNodeId = ua.NodeId.from_string("i=2074") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11650") + ref.SourceNodeId = ua.NodeId.from_string("i=2074") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11646") + ref.TargetNodeId = ua.NodeId.from_string("i=2071") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11651") - node.BrowseName = ua.QualifiedName.from_string("StaticNodeIdTypes") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11646") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A list of IdTypes for nodes which are the same in every server that exposes them.") - attrs.DisplayName = ua.LocalizedText("StaticNodeIdTypes") - attrs.DataType = ua.NodeId.from_string("i=256") - attrs.ValueRank = 1 + node.RequestedNewNodeId = ua.NodeId.from_string("i=2748") + node.BrowseName = ua.QualifiedName.from_string("AuditUrlMismatchEventType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=2071") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("AuditUrlMismatchEventType") + attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11651") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11651") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11651") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11646") - refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11652") - node.BrowseName = ua.QualifiedName.from_string("StaticNumericNodeIdRange") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11646") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A list of ranges for numeric node ids which are the same in every server that exposes them.") - attrs.DisplayName = ua.LocalizedText("StaticNumericNodeIdRange") - attrs.DataType = ua.NodeId.from_string("i=291") - attrs.ValueRank = 1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11652") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11652") + ref.SourceNodeId = ua.NodeId.from_string("i=2748") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=2749") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11652") + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=2748") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11646") + ref.TargetNodeId = ua.NodeId.from_string("i=2071") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11653") - node.BrowseName = ua.QualifiedName.from_string("StaticStringNodeIdPattern") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2749") + node.BrowseName = ua.QualifiedName.from_string("EndpointUrl") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11646") + node.ParentNodeId = ua.NodeId.from_string("i=2748") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A regular expression which matches string node ids are the same in every server that exposes them.") - attrs.DisplayName = ua.LocalizedText("StaticStringNodeIdPattern") + attrs.DisplayName = ua.LocalizedText("EndpointUrl") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -16030,220 +16405,115 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11653") + ref.SourceNodeId = ua.NodeId.from_string("i=2749") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11653") + ref.SourceNodeId = ua.NodeId.from_string("i=2749") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11653") + ref.SourceNodeId = ua.NodeId.from_string("i=2749") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11646") + ref.TargetNodeId = ua.NodeId.from_string("i=2748") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11675") - node.BrowseName = ua.QualifiedName.from_string("AddressSpaceFile") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=11645") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=11595") - attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("A file containing the nodes of the namespace.") - attrs.DisplayName = ua.LocalizedText("AddressSpaceFile") - attrs.EventNotifier = 0 + node.RequestedNewNodeId = ua.NodeId.from_string("i=2075") + node.BrowseName = ua.QualifiedName.from_string("AuditActivateSessionEventType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=2069") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("AuditActivateSessionEventType") + attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11675") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11676") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11675") + ref.SourceNodeId = ua.NodeId.from_string("i=2075") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12694") + ref.TargetNodeId = ua.NodeId.from_string("i=2076") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11675") + ref.SourceNodeId = ua.NodeId.from_string("i=2075") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12695") + ref.TargetNodeId = ua.NodeId.from_string("i=2077") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11675") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11679") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11675") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11680") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11675") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11683") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11675") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11685") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11675") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11688") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11675") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11690") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11675") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11693") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11675") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11595") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11675") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11675") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11645") - refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11676") - node.BrowseName = ua.QualifiedName.from_string("Size") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11675") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The size of the file in bytes.") - attrs.DisplayName = ua.LocalizedText("Size") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt64) - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11676") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11676") + ref.SourceNodeId = ua.NodeId.from_string("i=2075") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=11485") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11676") + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=2075") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11675") + ref.TargetNodeId = ua.NodeId.from_string("i=2069") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12694") - node.BrowseName = ua.QualifiedName.from_string("Writable") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2076") + node.BrowseName = ua.QualifiedName.from_string("ClientSoftwareCertificates") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11675") + node.ParentNodeId = ua.NodeId.from_string("i=2075") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("Whether the file is writable.") - attrs.DisplayName = ua.LocalizedText("Writable") - attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("ClientSoftwareCertificates") + attrs.DataType = ua.NodeId.from_string("i=344") + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12694") + ref.SourceNodeId = ua.NodeId.from_string("i=2076") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12694") + ref.SourceNodeId = ua.NodeId.from_string("i=2076") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12694") + ref.SourceNodeId = ua.NodeId.from_string("i=2076") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11675") + ref.TargetNodeId = ua.NodeId.from_string("i=2075") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12695") - node.BrowseName = ua.QualifiedName.from_string("UserWritable") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2077") + node.BrowseName = ua.QualifiedName.from_string("UserIdentityToken") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11675") + node.ParentNodeId = ua.NodeId.from_string("i=2075") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("Whether the file is writable by the current user.") - attrs.DisplayName = ua.LocalizedText("UserWritable") - attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) + attrs.DisplayName = ua.LocalizedText("UserIdentityToken") + attrs.DataType = ua.NodeId.from_string("i=316") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -16251,37 +16521,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12695") + ref.SourceNodeId = ua.NodeId.from_string("i=2077") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12695") + ref.SourceNodeId = ua.NodeId.from_string("i=2077") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12695") + ref.SourceNodeId = ua.NodeId.from_string("i=2077") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11675") + ref.TargetNodeId = ua.NodeId.from_string("i=2075") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11679") - node.BrowseName = ua.QualifiedName.from_string("OpenCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11485") + node.BrowseName = ua.QualifiedName.from_string("SecureChannelId") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11675") + node.ParentNodeId = ua.NodeId.from_string("i=2075") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The current number of open file handles.") - attrs.DisplayName = ua.LocalizedText("OpenCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) + attrs.DisplayName = ua.LocalizedText("SecureChannelId") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -16289,508 +16558,429 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11679") + ref.SourceNodeId = ua.NodeId.from_string("i=11485") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11679") + ref.SourceNodeId = ua.NodeId.from_string("i=11485") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11679") + ref.SourceNodeId = ua.NodeId.from_string("i=11485") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11675") + ref.TargetNodeId = ua.NodeId.from_string("i=2075") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11680") - node.BrowseName = ua.QualifiedName.from_string("Open") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=11675") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("Open") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2078") + node.BrowseName = ua.QualifiedName.from_string("AuditCancelEventType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=2069") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("AuditCancelEventType") + attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11680") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11681") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11680") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11682") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11680") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11680") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11675") - refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11681") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11680") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") - value = [] - extobj = ua.Argument() - extobj.Name = Mode - extobj.DataType = ua.NodeId.from_string("i=3") - extobj.ValueRank = -1 - value.append(extobj) - attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) - attrs.ValueRank = 1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11681") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11681") + ref.SourceNodeId = ua.NodeId.from_string("i=2078") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=2079") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11681") + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=2078") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11680") + ref.TargetNodeId = ua.NodeId.from_string("i=2069") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11682") - node.BrowseName = ua.QualifiedName.from_string("OutputArguments") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2079") + node.BrowseName = ua.QualifiedName.from_string("RequestHandle") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11680") + node.ParentNodeId = ua.NodeId.from_string("i=2078") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OutputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") - value = [] - extobj = ua.Argument() - extobj.Name = FileHandle - extobj.DataType = ua.NodeId.from_string("i=7") - extobj.ValueRank = -1 - value.append(extobj) - attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) - attrs.ValueRank = 1 + attrs.DisplayName = ua.LocalizedText("RequestHandle") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11682") + ref.SourceNodeId = ua.NodeId.from_string("i=2079") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11682") + ref.SourceNodeId = ua.NodeId.from_string("i=2079") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11682") + ref.SourceNodeId = ua.NodeId.from_string("i=2079") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11680") + ref.TargetNodeId = ua.NodeId.from_string("i=2078") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11683") - node.BrowseName = ua.QualifiedName.from_string("Close") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=11675") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("Close") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2080") + node.BrowseName = ua.QualifiedName.from_string("AuditCertificateEventType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=2058") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("AuditCertificateEventType") + attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11683") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11684") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11683") + ref.SourceNodeId = ua.NodeId.from_string("i=2080") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=2081") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11683") + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=2080") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11675") + ref.TargetNodeId = ua.NodeId.from_string("i=2058") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11684") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2081") + node.BrowseName = ua.QualifiedName.from_string("Certificate") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11683") + node.ParentNodeId = ua.NodeId.from_string("i=2080") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") - value = [] - extobj = ua.Argument() - extobj.Name = FileHandle - extobj.DataType = ua.NodeId.from_string("i=7") - extobj.ValueRank = -1 - value.append(extobj) - attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) - attrs.ValueRank = 1 + attrs.DisplayName = ua.LocalizedText("Certificate") + attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11684") + ref.SourceNodeId = ua.NodeId.from_string("i=2081") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11684") + ref.SourceNodeId = ua.NodeId.from_string("i=2081") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11684") + ref.SourceNodeId = ua.NodeId.from_string("i=2081") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11683") + ref.TargetNodeId = ua.NodeId.from_string("i=2080") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11685") - node.BrowseName = ua.QualifiedName.from_string("Read") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=11675") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("Read") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2082") + node.BrowseName = ua.QualifiedName.from_string("AuditCertificateDataMismatchEventType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=2080") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("AuditCertificateDataMismatchEventType") + attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11685") + ref.SourceNodeId = ua.NodeId.from_string("i=2082") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11686") + ref.TargetNodeId = ua.NodeId.from_string("i=2083") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11685") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11687") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11685") + ref.SourceNodeId = ua.NodeId.from_string("i=2082") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=2084") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11685") + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=2082") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11675") + ref.TargetNodeId = ua.NodeId.from_string("i=2080") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11686") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2083") + node.BrowseName = ua.QualifiedName.from_string("InvalidHostname") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11685") + node.ParentNodeId = ua.NodeId.from_string("i=2082") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") - value = [] - extobj = ua.Argument() - extobj.Name = FileHandle - extobj.DataType = ua.NodeId.from_string("i=7") - extobj.ValueRank = -1 - value.append(extobj) - extobj = ua.Argument() - extobj.Name = Length - extobj.DataType = ua.NodeId.from_string("i=6") - extobj.ValueRank = -1 - value.append(extobj) - attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) - attrs.ValueRank = 1 + attrs.DisplayName = ua.LocalizedText("InvalidHostname") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11686") + ref.SourceNodeId = ua.NodeId.from_string("i=2083") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11686") + ref.SourceNodeId = ua.NodeId.from_string("i=2083") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11686") + ref.SourceNodeId = ua.NodeId.from_string("i=2083") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11685") + ref.TargetNodeId = ua.NodeId.from_string("i=2082") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11687") - node.BrowseName = ua.QualifiedName.from_string("OutputArguments") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2084") + node.BrowseName = ua.QualifiedName.from_string("InvalidUri") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11685") + node.ParentNodeId = ua.NodeId.from_string("i=2082") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OutputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") - value = [] - extobj = ua.Argument() - extobj.Name = Data - extobj.DataType = ua.NodeId.from_string("i=15") - extobj.ValueRank = -1 - value.append(extobj) - attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) - attrs.ValueRank = 1 + attrs.DisplayName = ua.LocalizedText("InvalidUri") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11687") + ref.SourceNodeId = ua.NodeId.from_string("i=2084") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11687") + ref.SourceNodeId = ua.NodeId.from_string("i=2084") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11687") + ref.SourceNodeId = ua.NodeId.from_string("i=2084") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11685") + ref.TargetNodeId = ua.NodeId.from_string("i=2082") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11688") - node.BrowseName = ua.QualifiedName.from_string("Write") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=11675") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("Write") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2085") + node.BrowseName = ua.QualifiedName.from_string("AuditCertificateExpiredEventType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=2080") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("AuditCertificateExpiredEventType") + attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11688") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11689") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11688") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") - refs.append(ref) - ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11688") + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=2085") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11675") + ref.TargetNodeId = ua.NodeId.from_string("i=2080") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11689") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11688") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") - value = [] - extobj = ua.Argument() - extobj.Name = FileHandle - extobj.DataType = ua.NodeId.from_string("i=7") - extobj.ValueRank = -1 - value.append(extobj) - extobj = ua.Argument() - extobj.Name = Data - extobj.DataType = ua.NodeId.from_string("i=15") - extobj.ValueRank = -1 - value.append(extobj) - attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) - attrs.ValueRank = 1 + node.RequestedNewNodeId = ua.NodeId.from_string("i=2086") + node.BrowseName = ua.QualifiedName.from_string("AuditCertificateInvalidEventType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=2080") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("AuditCertificateInvalidEventType") + attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11689") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11689") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=2086") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=2080") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=2087") + node.BrowseName = ua.QualifiedName.from_string("AuditCertificateUntrustedEventType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=2080") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("AuditCertificateUntrustedEventType") + attrs.IsAbstract = True + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11689") + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=2087") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11688") + ref.TargetNodeId = ua.NodeId.from_string("i=2080") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11690") - node.BrowseName = ua.QualifiedName.from_string("GetPosition") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=11675") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("GetPosition") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2088") + node.BrowseName = ua.QualifiedName.from_string("AuditCertificateRevokedEventType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=2080") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("AuditCertificateRevokedEventType") + attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11690") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=2088") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11691") + ref.TargetNodeId = ua.NodeId.from_string("i=2080") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=2089") + node.BrowseName = ua.QualifiedName.from_string("AuditCertificateMismatchEventType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=2080") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("AuditCertificateMismatchEventType") + attrs.IsAbstract = True + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11690") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=2089") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2080") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=2090") + node.BrowseName = ua.QualifiedName.from_string("AuditNodeManagementEventType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=2052") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("AuditNodeManagementEventType") + attrs.IsAbstract = True + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=2090") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11692") + ref.TargetNodeId = ua.NodeId.from_string("i=2052") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=2091") + node.BrowseName = ua.QualifiedName.from_string("AuditAddNodesEventType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=2090") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("AuditAddNodesEventType") + attrs.IsAbstract = True + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11690") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2091") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=2092") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11690") + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=2091") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11675") + ref.TargetNodeId = ua.NodeId.from_string("i=2090") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11691") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2092") + node.BrowseName = ua.QualifiedName.from_string("NodesToAdd") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11690") + node.ParentNodeId = ua.NodeId.from_string("i=2091") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") - value = [] - extobj = ua.Argument() - extobj.Name = FileHandle - extobj.DataType = ua.NodeId.from_string("i=7") - extobj.ValueRank = -1 - value.append(extobj) - attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.DisplayName = ua.LocalizedText("NodesToAdd") + attrs.DataType = ua.NodeId.from_string("i=376") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -16798,43 +16988,64 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11691") + ref.SourceNodeId = ua.NodeId.from_string("i=2092") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11691") + ref.SourceNodeId = ua.NodeId.from_string("i=2092") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11691") + ref.SourceNodeId = ua.NodeId.from_string("i=2092") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11690") + ref.TargetNodeId = ua.NodeId.from_string("i=2091") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11692") - node.BrowseName = ua.QualifiedName.from_string("OutputArguments") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2093") + node.BrowseName = ua.QualifiedName.from_string("AuditDeleteNodesEventType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=2090") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("AuditDeleteNodesEventType") + attrs.IsAbstract = True + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2093") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2094") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=2093") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2090") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=2094") + node.BrowseName = ua.QualifiedName.from_string("NodesToDelete") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11690") + node.ParentNodeId = ua.NodeId.from_string("i=2093") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OutputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") - value = [] - extobj = ua.Argument() - extobj.Name = Position - extobj.DataType = ua.NodeId.from_string("i=9") - extobj.ValueRank = -1 - value.append(extobj) - attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.DisplayName = ua.LocalizedText("NodesToDelete") + attrs.DataType = ua.NodeId.from_string("i=382") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -16842,82 +17053,64 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11692") + ref.SourceNodeId = ua.NodeId.from_string("i=2094") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11692") + ref.SourceNodeId = ua.NodeId.from_string("i=2094") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11692") + ref.SourceNodeId = ua.NodeId.from_string("i=2094") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11690") + ref.TargetNodeId = ua.NodeId.from_string("i=2093") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11693") - node.BrowseName = ua.QualifiedName.from_string("SetPosition") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=11675") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("SetPosition") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2095") + node.BrowseName = ua.QualifiedName.from_string("AuditAddReferencesEventType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=2090") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("AuditAddReferencesEventType") + attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11693") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11694") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11693") + ref.SourceNodeId = ua.NodeId.from_string("i=2095") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=2096") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11693") + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=2095") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11675") + ref.TargetNodeId = ua.NodeId.from_string("i=2090") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11694") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2096") + node.BrowseName = ua.QualifiedName.from_string("ReferencesToAdd") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11693") + node.ParentNodeId = ua.NodeId.from_string("i=2095") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") - value = [] - extobj = ua.Argument() - extobj.Name = FileHandle - extobj.DataType = ua.NodeId.from_string("i=7") - extobj.ValueRank = -1 - value.append(extobj) - extobj = ua.Argument() - extobj.Name = Position - extobj.DataType = ua.NodeId.from_string("i=9") - extobj.ValueRank = -1 - value.append(extobj) - attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.DisplayName = ua.LocalizedText("ReferencesToAdd") + attrs.DataType = ua.NodeId.from_string("i=379") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -16925,35 +17118,34 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11694") + ref.SourceNodeId = ua.NodeId.from_string("i=2096") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11694") + ref.SourceNodeId = ua.NodeId.from_string("i=2096") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11694") + ref.SourceNodeId = ua.NodeId.from_string("i=2096") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11693") + ref.TargetNodeId = ua.NodeId.from_string("i=2095") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2041") - node.BrowseName = ua.QualifiedName.from_string("BaseEventType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2097") + node.BrowseName = ua.QualifiedName.from_string("AuditDeleteReferencesEventType") node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=58") + node.ParentNodeId = ua.NodeId.from_string("i=2090") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() - attrs.Description = ua.LocalizedText("The base type for all events.") - attrs.DisplayName = ua.LocalizedText("BaseEventType") + attrs.DisplayName = ua.LocalizedText("AuditDeleteReferencesEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) @@ -16961,86 +17153,136 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2041") + ref.SourceNodeId = ua.NodeId.from_string("i=2097") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2042") + ref.TargetNodeId = ua.NodeId.from_string("i=2098") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2041") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=2097") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2043") + ref.TargetNodeId = ua.NodeId.from_string("i=2090") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=2098") + node.BrowseName = ua.QualifiedName.from_string("ReferencesToDelete") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2097") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("ReferencesToDelete") + attrs.DataType = ua.NodeId.from_string("i=385") + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2041") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=2098") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2044") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2041") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=2098") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2045") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2041") + ref.SourceNodeId = ua.NodeId.from_string("i=2098") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2046") + ref.TargetNodeId = ua.NodeId.from_string("i=2097") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=2099") + node.BrowseName = ua.QualifiedName.from_string("AuditUpdateEventType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=2052") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("AuditUpdateEventType") + attrs.IsAbstract = True + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=2099") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2052") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=2100") + node.BrowseName = ua.QualifiedName.from_string("AuditWriteUpdateEventType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=2099") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("AuditWriteUpdateEventType") + attrs.IsAbstract = True + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2041") + ref.SourceNodeId = ua.NodeId.from_string("i=2100") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2047") + ref.TargetNodeId = ua.NodeId.from_string("i=2750") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2041") + ref.SourceNodeId = ua.NodeId.from_string("i=2100") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3190") + ref.TargetNodeId = ua.NodeId.from_string("i=2101") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2041") + ref.SourceNodeId = ua.NodeId.from_string("i=2100") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2050") + ref.TargetNodeId = ua.NodeId.from_string("i=2102") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2041") + ref.SourceNodeId = ua.NodeId.from_string("i=2100") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2051") + ref.TargetNodeId = ua.NodeId.from_string("i=2103") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2041") + ref.SourceNodeId = ua.NodeId.from_string("i=2100") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=58") + ref.TargetNodeId = ua.NodeId.from_string("i=2099") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2042") - node.BrowseName = ua.QualifiedName.from_string("EventId") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2750") + node.BrowseName = ua.QualifiedName.from_string("AttributeId") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2041") + node.ParentNodeId = ua.NodeId.from_string("i=2100") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A globally unique identifier for the event.") - attrs.DisplayName = ua.LocalizedText("EventId") - attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) + attrs.DisplayName = ua.LocalizedText("AttributeId") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -17048,37 +17290,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2042") + ref.SourceNodeId = ua.NodeId.from_string("i=2750") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2042") + ref.SourceNodeId = ua.NodeId.from_string("i=2750") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2042") + ref.SourceNodeId = ua.NodeId.from_string("i=2750") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2041") + ref.TargetNodeId = ua.NodeId.from_string("i=2100") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2043") - node.BrowseName = ua.QualifiedName.from_string("EventType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2101") + node.BrowseName = ua.QualifiedName.from_string("IndexRange") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2041") + node.ParentNodeId = ua.NodeId.from_string("i=2100") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The identifier for the event type.") - attrs.DisplayName = ua.LocalizedText("EventType") - attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) + attrs.DisplayName = ua.LocalizedText("IndexRange") + attrs.DataType = ua.NodeId.from_string("i=291") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -17086,37 +17327,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2043") + ref.SourceNodeId = ua.NodeId.from_string("i=2101") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2043") + ref.SourceNodeId = ua.NodeId.from_string("i=2101") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2043") + ref.SourceNodeId = ua.NodeId.from_string("i=2101") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2041") + ref.TargetNodeId = ua.NodeId.from_string("i=2100") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2044") - node.BrowseName = ua.QualifiedName.from_string("SourceNode") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2102") + node.BrowseName = ua.QualifiedName.from_string("OldValue") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2041") + node.ParentNodeId = ua.NodeId.from_string("i=2100") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The source of the event.") - attrs.DisplayName = ua.LocalizedText("SourceNode") - attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) + attrs.DisplayName = ua.LocalizedText("OldValue") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -17124,36 +17364,35 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2044") + ref.SourceNodeId = ua.NodeId.from_string("i=2102") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2044") + ref.SourceNodeId = ua.NodeId.from_string("i=2102") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2044") + ref.SourceNodeId = ua.NodeId.from_string("i=2102") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2041") + ref.TargetNodeId = ua.NodeId.from_string("i=2100") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2045") - node.BrowseName = ua.QualifiedName.from_string("SourceName") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2103") + node.BrowseName = ua.QualifiedName.from_string("NewValue") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2041") + node.ParentNodeId = ua.NodeId.from_string("i=2100") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A description of the source of the event.") - attrs.DisplayName = ua.LocalizedText("SourceName") + attrs.DisplayName = ua.LocalizedText("NewValue") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -17162,75 +17401,64 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2045") + ref.SourceNodeId = ua.NodeId.from_string("i=2103") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2045") + ref.SourceNodeId = ua.NodeId.from_string("i=2103") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2045") + ref.SourceNodeId = ua.NodeId.from_string("i=2103") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2041") + ref.TargetNodeId = ua.NodeId.from_string("i=2100") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2046") - node.BrowseName = ua.QualifiedName.from_string("Time") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2041") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("When the event occurred.") - attrs.DisplayName = ua.LocalizedText("Time") - attrs.DataType = ua.NodeId.from_string("i=294") - attrs.ValueRank = -1 + node.RequestedNewNodeId = ua.NodeId.from_string("i=2104") + node.BrowseName = ua.QualifiedName.from_string("AuditHistoryUpdateEventType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=2099") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("AuditHistoryUpdateEventType") + attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2046") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2046") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2104") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=2751") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2046") + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=2104") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2041") + ref.TargetNodeId = ua.NodeId.from_string("i=2099") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2047") - node.BrowseName = ua.QualifiedName.from_string("ReceiveTime") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2751") + node.BrowseName = ua.QualifiedName.from_string("ParameterDataTypeId") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2041") + node.ParentNodeId = ua.NodeId.from_string("i=2104") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("When the server received the event from the underlying system.") - attrs.DisplayName = ua.LocalizedText("ReceiveTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = ua.LocalizedText("ParameterDataTypeId") + attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -17238,75 +17466,71 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2047") + ref.SourceNodeId = ua.NodeId.from_string("i=2751") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2047") + ref.SourceNodeId = ua.NodeId.from_string("i=2751") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2047") + ref.SourceNodeId = ua.NodeId.from_string("i=2751") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2041") + ref.TargetNodeId = ua.NodeId.from_string("i=2104") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3190") - node.BrowseName = ua.QualifiedName.from_string("LocalTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2041") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("Information about the local time where the event originated.") - attrs.DisplayName = ua.LocalizedText("LocalTime") - attrs.DataType = ua.NodeId.from_string("i=8912") - attrs.ValueRank = -1 + node.RequestedNewNodeId = ua.NodeId.from_string("i=2127") + node.BrowseName = ua.QualifiedName.from_string("AuditUpdateMethodEventType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=2052") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("AuditUpdateMethodEventType") + attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3190") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2127") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=2128") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3190") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2127") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=2129") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3190") + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=2127") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2041") + ref.TargetNodeId = ua.NodeId.from_string("i=2052") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2050") - node.BrowseName = ua.QualifiedName.from_string("Message") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2128") + node.BrowseName = ua.QualifiedName.from_string("MethodId") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2041") + node.ParentNodeId = ua.NodeId.from_string("i=2127") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A localized description of the event.") - attrs.DisplayName = ua.LocalizedText("Message") - attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.DisplayName = ua.LocalizedText("MethodId") + attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -17314,132 +17538,143 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2050") + ref.SourceNodeId = ua.NodeId.from_string("i=2128") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2050") + ref.SourceNodeId = ua.NodeId.from_string("i=2128") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2050") + ref.SourceNodeId = ua.NodeId.from_string("i=2128") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2041") + ref.TargetNodeId = ua.NodeId.from_string("i=2127") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2051") - node.BrowseName = ua.QualifiedName.from_string("Severity") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2041") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2129") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2127") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("Indicates how urgent an event is.") - attrs.DisplayName = ua.LocalizedText("Severity") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2051") + ref.SourceNodeId = ua.NodeId.from_string("i=2129") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2051") + ref.SourceNodeId = ua.NodeId.from_string("i=2129") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2051") + ref.SourceNodeId = ua.NodeId.from_string("i=2129") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2041") + ref.TargetNodeId = ua.NodeId.from_string("i=2127") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2052") - node.BrowseName = ua.QualifiedName.from_string("AuditEventType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2130") + node.BrowseName = ua.QualifiedName.from_string("SystemEventType") node.NodeClass = ua.NodeClass.ObjectType node.ParentNodeId = ua.NodeId.from_string("i=2041") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() - attrs.Description = ua.LocalizedText("A base type for events used to track client initiated changes to the server state.") - attrs.DisplayName = ua.LocalizedText("AuditEventType") + attrs.DisplayName = ua.LocalizedText("SystemEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2052") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2053") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2052") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2054") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2052") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=2130") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2055") + ref.TargetNodeId = ua.NodeId.from_string("i=2041") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=2131") + node.BrowseName = ua.QualifiedName.from_string("DeviceFailureEventType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=2130") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("DeviceFailureEventType") + attrs.IsAbstract = True + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2052") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=2131") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2056") + ref.TargetNodeId = ua.NodeId.from_string("i=2130") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=11446") + node.BrowseName = ua.QualifiedName.from_string("SystemStatusChangeEventType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=2130") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("SystemStatusChangeEventType") + attrs.IsAbstract = True + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2052") + ref.SourceNodeId = ua.NodeId.from_string("i=11446") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2057") + ref.TargetNodeId = ua.NodeId.from_string("i=11696") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2052") + ref.SourceNodeId = ua.NodeId.from_string("i=11446") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2041") + ref.TargetNodeId = ua.NodeId.from_string("i=2130") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2053") - node.BrowseName = ua.QualifiedName.from_string("ActionTimeStamp") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11696") + node.BrowseName = ua.QualifiedName.from_string("SystemState") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2052") + node.ParentNodeId = ua.NodeId.from_string("i=11446") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("When the action triggering the event occurred.") - attrs.DisplayName = ua.LocalizedText("ActionTimeStamp") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = ua.LocalizedText("SystemState") + attrs.DataType = ua.NodeId.from_string("i=852") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -17447,187 +17682,185 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2053") + ref.SourceNodeId = ua.NodeId.from_string("i=11696") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2053") + ref.SourceNodeId = ua.NodeId.from_string("i=11696") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2053") + ref.SourceNodeId = ua.NodeId.from_string("i=11696") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2052") + ref.TargetNodeId = ua.NodeId.from_string("i=11446") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2054") - node.BrowseName = ua.QualifiedName.from_string("Status") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2052") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("If TRUE the action was performed. If FALSE the action failed and the server state did not change.") - attrs.DisplayName = ua.LocalizedText("Status") - attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) - attrs.ValueRank = -1 + node.RequestedNewNodeId = ua.NodeId.from_string("i=2132") + node.BrowseName = ua.QualifiedName.from_string("BaseModelChangeEventType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=2041") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("BaseModelChangeEventType") + attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2054") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=2132") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=2041") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=2133") + node.BrowseName = ua.QualifiedName.from_string("GeneralModelChangeEventType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=2132") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("GeneralModelChangeEventType") + attrs.IsAbstract = True + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2054") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2133") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=2134") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2054") + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=2133") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2052") + ref.TargetNodeId = ua.NodeId.from_string("i=2132") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2055") - node.BrowseName = ua.QualifiedName.from_string("ServerId") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2134") + node.BrowseName = ua.QualifiedName.from_string("Changes") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2052") + node.ParentNodeId = ua.NodeId.from_string("i=2133") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The unique identifier for the server generating the event.") - attrs.DisplayName = ua.LocalizedText("ServerId") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("Changes") + attrs.DataType = ua.NodeId.from_string("i=877") + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2055") + ref.SourceNodeId = ua.NodeId.from_string("i=2134") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2055") + ref.SourceNodeId = ua.NodeId.from_string("i=2134") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2055") + ref.SourceNodeId = ua.NodeId.from_string("i=2134") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2052") + ref.TargetNodeId = ua.NodeId.from_string("i=2133") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2056") - node.BrowseName = ua.QualifiedName.from_string("ClientAuditEntryId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2052") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The log entry id provided in the request that initiated the action.") - attrs.DisplayName = ua.LocalizedText("ClientAuditEntryId") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.ValueRank = -1 + node.RequestedNewNodeId = ua.NodeId.from_string("i=2738") + node.BrowseName = ua.QualifiedName.from_string("SemanticChangeEventType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=2132") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("SemanticChangeEventType") + attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2056") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2056") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2738") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=2739") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2056") + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=2738") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2052") + ref.TargetNodeId = ua.NodeId.from_string("i=2132") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2057") - node.BrowseName = ua.QualifiedName.from_string("ClientUserId") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2739") + node.BrowseName = ua.QualifiedName.from_string("Changes") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2052") + node.ParentNodeId = ua.NodeId.from_string("i=2738") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The user identity associated with the session that initiated the action.") - attrs.DisplayName = ua.LocalizedText("ClientUserId") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("Changes") + attrs.DataType = ua.NodeId.from_string("i=897") + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2057") + ref.SourceNodeId = ua.NodeId.from_string("i=2739") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2057") + ref.SourceNodeId = ua.NodeId.from_string("i=2739") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2057") + ref.SourceNodeId = ua.NodeId.from_string("i=2739") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2052") + ref.TargetNodeId = ua.NodeId.from_string("i=2738") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2058") - node.BrowseName = ua.QualifiedName.from_string("AuditSecurityEventType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=3035") + node.BrowseName = ua.QualifiedName.from_string("EventQueueOverflowEventType") node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2052") + node.ParentNodeId = ua.NodeId.from_string("i=2041") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() - attrs.Description = ua.LocalizedText("A base type for events used to track security related changes.") - attrs.DisplayName = ua.LocalizedText("AuditSecurityEventType") + attrs.DisplayName = ua.LocalizedText("EventQueueOverflowEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) @@ -17635,21 +17868,20 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2058") + ref.SourceNodeId = ua.NodeId.from_string("i=3035") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2052") + ref.TargetNodeId = ua.NodeId.from_string("i=2041") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2059") - node.BrowseName = ua.QualifiedName.from_string("AuditChannelEventType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11436") + node.BrowseName = ua.QualifiedName.from_string("ProgressEventType") node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2058") + node.ParentNodeId = ua.NodeId.from_string("i=2041") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() - attrs.Description = ua.LocalizedText("A base type for events used to track related changes to a secure channel.") - attrs.DisplayName = ua.LocalizedText("AuditChannelEventType") + attrs.DisplayName = ua.LocalizedText("ProgressEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) @@ -17657,29 +17889,35 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2059") + ref.SourceNodeId = ua.NodeId.from_string("i=11436") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2745") + ref.TargetNodeId = ua.NodeId.from_string("i=12502") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11436") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12503") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2059") + ref.SourceNodeId = ua.NodeId.from_string("i=11436") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2058") + ref.TargetNodeId = ua.NodeId.from_string("i=2041") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2745") - node.BrowseName = ua.QualifiedName.from_string("SecureChannelId") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12502") + node.BrowseName = ua.QualifiedName.from_string("Context") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2059") + node.ParentNodeId = ua.NodeId.from_string("i=11436") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The identifier for the secure channel that was changed.") - attrs.DisplayName = ua.LocalizedText("SecureChannelId") + attrs.DisplayName = ua.LocalizedText("Context") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -17688,101 +17926,183 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2745") + ref.SourceNodeId = ua.NodeId.from_string("i=12502") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2745") + ref.SourceNodeId = ua.NodeId.from_string("i=12502") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2745") + ref.SourceNodeId = ua.NodeId.from_string("i=12502") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2059") + ref.TargetNodeId = ua.NodeId.from_string("i=11436") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2060") - node.BrowseName = ua.QualifiedName.from_string("AuditOpenSecureChannelEventType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12503") + node.BrowseName = ua.QualifiedName.from_string("Progress") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=11436") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Progress") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12503") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=12503") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=12503") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11436") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=2340") + node.BrowseName = ua.QualifiedName.from_string("AggregateFunctionType") node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2059") + node.ParentNodeId = ua.NodeId.from_string("i=58") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() - attrs.Description = ua.LocalizedText("An event that is raised when a secure channel is opened.") - attrs.DisplayName = ua.LocalizedText("AuditOpenSecureChannelEventType") + attrs.DisplayName = ua.LocalizedText("AggregateFunctionType") + attrs.IsAbstract = False + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=2340") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=58") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=2137") + node.BrowseName = ua.QualifiedName.from_string("ServerVendorCapabilityType") + node.NodeClass = ua.NodeClass.VariableType + node.ParentNodeId = ua.NodeId.from_string("i=63") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.VariableTypeAttributes() + attrs.DisplayName = ua.LocalizedText("ServerVendorCapabilityType") attrs.IsAbstract = True + attrs.DisplayName = ua.LocalizedText("ServerVendorCapabilityType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=2137") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=63") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=2138") + node.BrowseName = ua.QualifiedName.from_string("ServerStatusType") + node.NodeClass = ua.NodeClass.VariableType + node.ParentNodeId = ua.NodeId.from_string("i=63") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.VariableTypeAttributes() + attrs.DisplayName = ua.LocalizedText("ServerStatusType") + attrs.DisplayName = ua.LocalizedText("ServerStatusType") + attrs.DataType = ua.NodeId.from_string("i=862") + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2060") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2138") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2061") + ref.TargetNodeId = ua.NodeId.from_string("i=2139") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2060") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2138") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2746") + ref.TargetNodeId = ua.NodeId.from_string("i=2140") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2060") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2138") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2062") + ref.TargetNodeId = ua.NodeId.from_string("i=2141") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2060") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2138") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2063") + ref.TargetNodeId = ua.NodeId.from_string("i=2142") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2060") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2138") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2065") + ref.TargetNodeId = ua.NodeId.from_string("i=2752") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2060") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2138") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2066") + ref.TargetNodeId = ua.NodeId.from_string("i=2753") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2060") + ref.SourceNodeId = ua.NodeId.from_string("i=2138") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2059") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2061") - node.BrowseName = ua.QualifiedName.from_string("ClientCertificate") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2139") + node.BrowseName = ua.QualifiedName.from_string("StartTime") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2060") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.ParentNodeId = ua.NodeId.from_string("i=2138") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The certificate provided by the client.") - attrs.DisplayName = ua.LocalizedText("ClientCertificate") - attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) + attrs.DisplayName = ua.LocalizedText("StartTime") + attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -17790,37 +18110,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2061") + ref.SourceNodeId = ua.NodeId.from_string("i=2139") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2061") + ref.SourceNodeId = ua.NodeId.from_string("i=2139") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2061") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2139") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2060") + ref.TargetNodeId = ua.NodeId.from_string("i=2138") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2746") - node.BrowseName = ua.QualifiedName.from_string("ClientCertificateThumbprint") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2140") + node.BrowseName = ua.QualifiedName.from_string("CurrentTime") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2060") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.ParentNodeId = ua.NodeId.from_string("i=2138") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The thumbprint for certificate provided by the client.") - attrs.DisplayName = ua.LocalizedText("ClientCertificateThumbprint") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.DisplayName = ua.LocalizedText("CurrentTime") + attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -17828,37 +18147,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2746") + ref.SourceNodeId = ua.NodeId.from_string("i=2140") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2746") + ref.SourceNodeId = ua.NodeId.from_string("i=2140") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2746") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2140") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2060") + ref.TargetNodeId = ua.NodeId.from_string("i=2138") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2062") - node.BrowseName = ua.QualifiedName.from_string("RequestType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2141") + node.BrowseName = ua.QualifiedName.from_string("State") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2060") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.ParentNodeId = ua.NodeId.from_string("i=2138") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The type of request (NEW or RENEW).") - attrs.DisplayName = ua.LocalizedText("RequestType") - attrs.DataType = ua.NodeId.from_string("i=315") + attrs.DisplayName = ua.LocalizedText("State") + attrs.DataType = ua.NodeId.from_string("i=852") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -17866,180 +18184,116 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2062") + ref.SourceNodeId = ua.NodeId.from_string("i=2141") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2062") + ref.SourceNodeId = ua.NodeId.from_string("i=2141") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2062") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2141") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2060") + ref.TargetNodeId = ua.NodeId.from_string("i=2138") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2063") - node.BrowseName = ua.QualifiedName.from_string("SecurityPolicyUri") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2142") + node.BrowseName = ua.QualifiedName.from_string("BuildInfo") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2060") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.ParentNodeId = ua.NodeId.from_string("i=2138") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=3051") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The security policy used by the channel.") - attrs.DisplayName = ua.LocalizedText("SecurityPolicyUri") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.DisplayName = ua.LocalizedText("BuildInfo") + attrs.DataType = ua.NodeId.from_string("i=338") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2063") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2142") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=3698") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2063") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2142") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=3699") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2063") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2142") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2060") + ref.TargetNodeId = ua.NodeId.from_string("i=3700") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2065") - node.BrowseName = ua.QualifiedName.from_string("SecurityMode") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2060") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The security mode used by the channel.") - attrs.DisplayName = ua.LocalizedText("SecurityMode") - attrs.DataType = ua.NodeId.from_string("i=302") - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2065") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2142") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=3701") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2065") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2142") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=3702") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2065") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2142") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2060") + ref.TargetNodeId = ua.NodeId.from_string("i=3703") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2066") - node.BrowseName = ua.QualifiedName.from_string("RequestedLifetime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2060") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The lifetime of the channel requested by the client.") - attrs.DisplayName = ua.LocalizedText("RequestedLifetime") - attrs.DataType = ua.NodeId.from_string("i=290") - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2066") + ref.SourceNodeId = ua.NodeId.from_string("i=2142") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=3051") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2066") + ref.SourceNodeId = ua.NodeId.from_string("i=2142") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2066") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2060") - refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2069") - node.BrowseName = ua.QualifiedName.from_string("AuditSessionEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2058") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.Description = ua.LocalizedText("A base type for events used to track related changes to a session.") - attrs.DisplayName = ua.LocalizedText("AuditSessionEventType") - attrs.IsAbstract = True - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2069") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2070") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2069") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2142") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2058") + ref.TargetNodeId = ua.NodeId.from_string("i=2138") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2070") - node.BrowseName = ua.QualifiedName.from_string("SessionId") + node.RequestedNewNodeId = ua.NodeId.from_string("i=3698") + node.BrowseName = ua.QualifiedName.from_string("ProductUri") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2069") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.ParentNodeId = ua.NodeId.from_string("i=2142") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The unique identifier for the session,.") - attrs.DisplayName = ua.LocalizedText("SessionId") - attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) + attrs.MinimumSamplingInterval = 1000 + attrs.DisplayName = ua.LocalizedText("ProductUri") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -18047,86 +18301,74 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2070") + ref.SourceNodeId = ua.NodeId.from_string("i=3698") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2070") + ref.SourceNodeId = ua.NodeId.from_string("i=3698") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2070") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=3698") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2069") + ref.TargetNodeId = ua.NodeId.from_string("i=2142") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2071") - node.BrowseName = ua.QualifiedName.from_string("AuditCreateSessionEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2069") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.Description = ua.LocalizedText("An event that is raised when a session is created.") - attrs.DisplayName = ua.LocalizedText("AuditCreateSessionEventType") - attrs.IsAbstract = True + node.RequestedNewNodeId = ua.NodeId.from_string("i=3699") + node.BrowseName = ua.QualifiedName.from_string("ManufacturerName") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2142") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") + attrs = ua.VariableAttributes() + attrs.MinimumSamplingInterval = 1000 + attrs.DisplayName = ua.LocalizedText("ManufacturerName") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2071") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2072") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2071") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2073") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2071") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=3699") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2747") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2071") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=3699") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2074") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2071") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=3699") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2069") + ref.TargetNodeId = ua.NodeId.from_string("i=2142") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2072") - node.BrowseName = ua.QualifiedName.from_string("SecureChannelId") + node.RequestedNewNodeId = ua.NodeId.from_string("i=3700") + node.BrowseName = ua.QualifiedName.from_string("ProductName") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2071") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.ParentNodeId = ua.NodeId.from_string("i=2142") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The secure channel associated with the session.") - attrs.DisplayName = ua.LocalizedText("SecureChannelId") + attrs.MinimumSamplingInterval = 1000 + attrs.DisplayName = ua.LocalizedText("ProductName") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -18135,37 +18377,37 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2072") + ref.SourceNodeId = ua.NodeId.from_string("i=3700") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2072") + ref.SourceNodeId = ua.NodeId.from_string("i=3700") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2072") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=3700") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2071") + ref.TargetNodeId = ua.NodeId.from_string("i=2142") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2073") - node.BrowseName = ua.QualifiedName.from_string("ClientCertificate") + node.RequestedNewNodeId = ua.NodeId.from_string("i=3701") + node.BrowseName = ua.QualifiedName.from_string("SoftwareVersion") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2071") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.ParentNodeId = ua.NodeId.from_string("i=2142") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The certificate provided by the client.") - attrs.DisplayName = ua.LocalizedText("ClientCertificate") - attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) + attrs.MinimumSamplingInterval = 1000 + attrs.DisplayName = ua.LocalizedText("SoftwareVersion") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -18173,36 +18415,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2073") + ref.SourceNodeId = ua.NodeId.from_string("i=3701") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2073") + ref.SourceNodeId = ua.NodeId.from_string("i=3701") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2073") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=3701") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2071") + ref.TargetNodeId = ua.NodeId.from_string("i=2142") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2747") - node.BrowseName = ua.QualifiedName.from_string("ClientCertificateThumbprint") + node.RequestedNewNodeId = ua.NodeId.from_string("i=3702") + node.BrowseName = ua.QualifiedName.from_string("BuildNumber") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2071") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.ParentNodeId = ua.NodeId.from_string("i=2142") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The thumbprint of the certificate provided by the client.") - attrs.DisplayName = ua.LocalizedText("ClientCertificateThumbprint") + attrs.MinimumSamplingInterval = 1000 + attrs.DisplayName = ua.LocalizedText("BuildNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -18211,37 +18453,37 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2747") + ref.SourceNodeId = ua.NodeId.from_string("i=3702") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2747") + ref.SourceNodeId = ua.NodeId.from_string("i=3702") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2747") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=3702") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2071") + ref.TargetNodeId = ua.NodeId.from_string("i=2142") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2074") - node.BrowseName = ua.QualifiedName.from_string("RevisedSessionTimeout") + node.RequestedNewNodeId = ua.NodeId.from_string("i=3703") + node.BrowseName = ua.QualifiedName.from_string("BuildDate") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2071") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.ParentNodeId = ua.NodeId.from_string("i=2142") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The timeout for the session.") - attrs.DisplayName = ua.LocalizedText("RevisedSessionTimeout") - attrs.DataType = ua.NodeId.from_string("i=290") + attrs.MinimumSamplingInterval = 1000 + attrs.DisplayName = ua.LocalizedText("BuildDate") + attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -18249,64 +18491,73 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2074") + ref.SourceNodeId = ua.NodeId.from_string("i=3703") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2074") + ref.SourceNodeId = ua.NodeId.from_string("i=3703") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2074") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=3703") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2071") + ref.TargetNodeId = ua.NodeId.from_string("i=2142") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2748") - node.BrowseName = ua.QualifiedName.from_string("AuditUrlMismatchEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2071") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditUrlMismatchEventType") - attrs.IsAbstract = True + node.RequestedNewNodeId = ua.NodeId.from_string("i=2752") + node.BrowseName = ua.QualifiedName.from_string("SecondsTillShutdown") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2138") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("SecondsTillShutdown") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2748") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=2752") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2749") + ref.TargetNodeId = ua.NodeId.from_string("i=63") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=2752") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2748") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2752") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2071") + ref.TargetNodeId = ua.NodeId.from_string("i=2138") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2749") - node.BrowseName = ua.QualifiedName.from_string("EndpointUrl") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2753") + node.BrowseName = ua.QualifiedName.from_string("ShutdownReason") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2748") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.ParentNodeId = ua.NodeId.from_string("i=2138") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EndpointUrl") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.DisplayName = ua.LocalizedText("ShutdownReason") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -18314,115 +18565,102 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2749") + ref.SourceNodeId = ua.NodeId.from_string("i=2753") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2749") + ref.SourceNodeId = ua.NodeId.from_string("i=2753") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2749") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2753") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2748") + ref.TargetNodeId = ua.NodeId.from_string("i=2138") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2075") - node.BrowseName = ua.QualifiedName.from_string("AuditActivateSessionEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2069") + node.RequestedNewNodeId = ua.NodeId.from_string("i=3051") + node.BrowseName = ua.QualifiedName.from_string("BuildInfoType") + node.NodeClass = ua.NodeClass.VariableType + node.ParentNodeId = ua.NodeId.from_string("i=63") node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditActivateSessionEventType") - attrs.IsAbstract = True + attrs = ua.VariableTypeAttributes() + attrs.DisplayName = ua.LocalizedText("BuildInfoType") + attrs.DisplayName = ua.LocalizedText("BuildInfoType") + attrs.DataType = ua.NodeId.from_string("i=338") + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2075") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=3051") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2076") + ref.TargetNodeId = ua.NodeId.from_string("i=3052") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2075") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=3051") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2077") + ref.TargetNodeId = ua.NodeId.from_string("i=3053") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2075") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=3051") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11485") + ref.TargetNodeId = ua.NodeId.from_string("i=3054") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2075") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=3051") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2069") + ref.TargetNodeId = ua.NodeId.from_string("i=3055") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2076") - node.BrowseName = ua.QualifiedName.from_string("ClientSoftwareCertificates") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2075") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ClientSoftwareCertificates") - attrs.DataType = ua.NodeId.from_string("i=344") - attrs.ValueRank = 1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2076") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=3051") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=3056") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2076") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=3051") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=3057") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2076") + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=3051") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2075") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2077") - node.BrowseName = ua.QualifiedName.from_string("UserIdentityToken") + node.RequestedNewNodeId = ua.NodeId.from_string("i=3052") + node.BrowseName = ua.QualifiedName.from_string("ProductUri") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2075") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.ParentNodeId = ua.NodeId.from_string("i=3051") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("UserIdentityToken") - attrs.DataType = ua.NodeId.from_string("i=316") + attrs.MinimumSamplingInterval = 1000 + attrs.DisplayName = ua.LocalizedText("ProductUri") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -18430,35 +18668,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2077") + ref.SourceNodeId = ua.NodeId.from_string("i=3052") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2077") + ref.SourceNodeId = ua.NodeId.from_string("i=3052") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2077") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=3052") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2075") + ref.TargetNodeId = ua.NodeId.from_string("i=3051") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11485") - node.BrowseName = ua.QualifiedName.from_string("SecureChannelId") + node.RequestedNewNodeId = ua.NodeId.from_string("i=3053") + node.BrowseName = ua.QualifiedName.from_string("ManufacturerName") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2075") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.ParentNodeId = ua.NodeId.from_string("i=3051") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SecureChannelId") + attrs.MinimumSamplingInterval = 1000 + attrs.DisplayName = ua.LocalizedText("ManufacturerName") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -18467,64 +18706,75 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11485") + ref.SourceNodeId = ua.NodeId.from_string("i=3053") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11485") + ref.SourceNodeId = ua.NodeId.from_string("i=3053") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11485") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=3053") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2075") + ref.TargetNodeId = ua.NodeId.from_string("i=3051") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2078") - node.BrowseName = ua.QualifiedName.from_string("AuditCancelEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2069") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditCancelEventType") - attrs.IsAbstract = True + node.RequestedNewNodeId = ua.NodeId.from_string("i=3054") + node.BrowseName = ua.QualifiedName.from_string("ProductName") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=3051") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") + attrs = ua.VariableAttributes() + attrs.MinimumSamplingInterval = 1000 + attrs.DisplayName = ua.LocalizedText("ProductName") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2078") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=3054") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2079") + ref.TargetNodeId = ua.NodeId.from_string("i=63") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=3054") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2078") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=3054") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2069") + ref.TargetNodeId = ua.NodeId.from_string("i=3051") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2079") - node.BrowseName = ua.QualifiedName.from_string("RequestHandle") + node.RequestedNewNodeId = ua.NodeId.from_string("i=3055") + node.BrowseName = ua.QualifiedName.from_string("SoftwareVersion") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2078") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.ParentNodeId = ua.NodeId.from_string("i=3051") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RequestHandle") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.MinimumSamplingInterval = 1000 + attrs.DisplayName = ua.LocalizedText("SoftwareVersion") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -18532,64 +18782,75 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2079") + ref.SourceNodeId = ua.NodeId.from_string("i=3055") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2079") + ref.SourceNodeId = ua.NodeId.from_string("i=3055") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2079") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=3055") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2078") + ref.TargetNodeId = ua.NodeId.from_string("i=3051") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2080") - node.BrowseName = ua.QualifiedName.from_string("AuditCertificateEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2058") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditCertificateEventType") - attrs.IsAbstract = True + node.RequestedNewNodeId = ua.NodeId.from_string("i=3056") + node.BrowseName = ua.QualifiedName.from_string("BuildNumber") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=3051") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") + attrs = ua.VariableAttributes() + attrs.MinimumSamplingInterval = 1000 + attrs.DisplayName = ua.LocalizedText("BuildNumber") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2080") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=3056") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2081") + ref.TargetNodeId = ua.NodeId.from_string("i=63") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=3056") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2080") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=3056") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2058") + ref.TargetNodeId = ua.NodeId.from_string("i=3051") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2081") - node.BrowseName = ua.QualifiedName.from_string("Certificate") + node.RequestedNewNodeId = ua.NodeId.from_string("i=3057") + node.BrowseName = ua.QualifiedName.from_string("BuildDate") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2080") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.ParentNodeId = ua.NodeId.from_string("i=3051") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Certificate") - attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) + attrs.MinimumSamplingInterval = 1000 + attrs.DisplayName = ua.LocalizedText("BuildDate") + attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -18597,71 +18858,143 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2081") + ref.SourceNodeId = ua.NodeId.from_string("i=3057") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2081") + ref.SourceNodeId = ua.NodeId.from_string("i=3057") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2081") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=3057") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2080") + ref.TargetNodeId = ua.NodeId.from_string("i=3051") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2082") - node.BrowseName = ua.QualifiedName.from_string("AuditCertificateDataMismatchEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2080") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2150") + node.BrowseName = ua.QualifiedName.from_string("ServerDiagnosticsSummaryType") + node.NodeClass = ua.NodeClass.VariableType + node.ParentNodeId = ua.NodeId.from_string("i=63") node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditCertificateDataMismatchEventType") - attrs.IsAbstract = True + attrs = ua.VariableTypeAttributes() + attrs.DisplayName = ua.LocalizedText("ServerDiagnosticsSummaryType") + attrs.DisplayName = ua.LocalizedText("ServerDiagnosticsSummaryType") + attrs.DataType = ua.NodeId.from_string("i=859") + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2082") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2150") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2083") + ref.TargetNodeId = ua.NodeId.from_string("i=2151") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2082") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2150") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2084") + ref.TargetNodeId = ua.NodeId.from_string("i=2152") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2150") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2153") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2150") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2154") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2150") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2155") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2150") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2156") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2150") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2157") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2150") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2159") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2150") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2160") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2150") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2161") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2150") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2162") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2150") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2163") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2082") + ref.SourceNodeId = ua.NodeId.from_string("i=2150") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2080") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2083") - node.BrowseName = ua.QualifiedName.from_string("InvalidHostname") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2151") + node.BrowseName = ua.QualifiedName.from_string("ServerViewCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2082") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.ParentNodeId = ua.NodeId.from_string("i=2150") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InvalidHostname") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.DisplayName = ua.LocalizedText("ServerViewCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -18669,36 +19002,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2083") + ref.SourceNodeId = ua.NodeId.from_string("i=2151") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2083") + ref.SourceNodeId = ua.NodeId.from_string("i=2151") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2083") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2151") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2082") + ref.TargetNodeId = ua.NodeId.from_string("i=2150") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2084") - node.BrowseName = ua.QualifiedName.from_string("InvalidUri") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2152") + node.BrowseName = ua.QualifiedName.from_string("CurrentSessionCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2082") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.ParentNodeId = ua.NodeId.from_string("i=2150") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InvalidUri") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.DisplayName = ua.LocalizedText("CurrentSessionCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -18706,492 +19039,501 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2084") + ref.SourceNodeId = ua.NodeId.from_string("i=2152") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2084") + ref.SourceNodeId = ua.NodeId.from_string("i=2152") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2084") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2152") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2082") + ref.TargetNodeId = ua.NodeId.from_string("i=2150") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2085") - node.BrowseName = ua.QualifiedName.from_string("AuditCertificateExpiredEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2080") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditCertificateExpiredEventType") - attrs.IsAbstract = True + node.RequestedNewNodeId = ua.NodeId.from_string("i=2153") + node.BrowseName = ua.QualifiedName.from_string("CumulatedSessionCount") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2150") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("CumulatedSessionCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2085") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=2153") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2080") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2086") - node.BrowseName = ua.QualifiedName.from_string("AuditCertificateInvalidEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2080") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditCertificateInvalidEventType") - attrs.IsAbstract = True - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2086") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=2153") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2080") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2087") - node.BrowseName = ua.QualifiedName.from_string("AuditCertificateUntrustedEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2080") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditCertificateUntrustedEventType") - attrs.IsAbstract = True - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2087") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2153") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2080") + ref.TargetNodeId = ua.NodeId.from_string("i=2150") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2088") - node.BrowseName = ua.QualifiedName.from_string("AuditCertificateRevokedEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2080") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditCertificateRevokedEventType") - attrs.IsAbstract = True + node.RequestedNewNodeId = ua.NodeId.from_string("i=2154") + node.BrowseName = ua.QualifiedName.from_string("SecurityRejectedSessionCount") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2150") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("SecurityRejectedSessionCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2088") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=2154") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2080") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2089") - node.BrowseName = ua.QualifiedName.from_string("AuditCertificateMismatchEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2080") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditCertificateMismatchEventType") - attrs.IsAbstract = True - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2089") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=2154") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2080") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2090") - node.BrowseName = ua.QualifiedName.from_string("AuditNodeManagementEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2052") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditNodeManagementEventType") - attrs.IsAbstract = True - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2090") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2154") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2052") + ref.TargetNodeId = ua.NodeId.from_string("i=2150") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2091") - node.BrowseName = ua.QualifiedName.from_string("AuditAddNodesEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2090") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditAddNodesEventType") - attrs.IsAbstract = True + node.RequestedNewNodeId = ua.NodeId.from_string("i=2155") + node.BrowseName = ua.QualifiedName.from_string("RejectedSessionCount") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2150") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("RejectedSessionCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2091") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=2155") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2092") + ref.TargetNodeId = ua.NodeId.from_string("i=63") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=2155") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2091") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2155") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2090") + ref.TargetNodeId = ua.NodeId.from_string("i=2150") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2092") - node.BrowseName = ua.QualifiedName.from_string("NodesToAdd") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2156") + node.BrowseName = ua.QualifiedName.from_string("SessionTimeoutCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2091") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.ParentNodeId = ua.NodeId.from_string("i=2150") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("NodesToAdd") - attrs.DataType = ua.NodeId.from_string("i=376") - attrs.ValueRank = 1 + attrs.DisplayName = ua.LocalizedText("SessionTimeoutCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2092") + ref.SourceNodeId = ua.NodeId.from_string("i=2156") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2092") + ref.SourceNodeId = ua.NodeId.from_string("i=2156") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2092") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2156") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2091") + ref.TargetNodeId = ua.NodeId.from_string("i=2150") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2093") - node.BrowseName = ua.QualifiedName.from_string("AuditDeleteNodesEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2090") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditDeleteNodesEventType") - attrs.IsAbstract = True + node.RequestedNewNodeId = ua.NodeId.from_string("i=2157") + node.BrowseName = ua.QualifiedName.from_string("SessionAbortCount") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2150") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("SessionAbortCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2093") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=2157") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2094") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2093") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2090") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=2157") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2157") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2150") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2094") - node.BrowseName = ua.QualifiedName.from_string("NodesToDelete") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2159") + node.BrowseName = ua.QualifiedName.from_string("PublishingIntervalCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2093") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.ParentNodeId = ua.NodeId.from_string("i=2150") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("NodesToDelete") - attrs.DataType = ua.NodeId.from_string("i=382") - attrs.ValueRank = 1 + attrs.DisplayName = ua.LocalizedText("PublishingIntervalCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2094") + ref.SourceNodeId = ua.NodeId.from_string("i=2159") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2094") + ref.SourceNodeId = ua.NodeId.from_string("i=2159") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2094") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2159") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2093") + ref.TargetNodeId = ua.NodeId.from_string("i=2150") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2095") - node.BrowseName = ua.QualifiedName.from_string("AuditAddReferencesEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2090") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditAddReferencesEventType") - attrs.IsAbstract = True + node.RequestedNewNodeId = ua.NodeId.from_string("i=2160") + node.BrowseName = ua.QualifiedName.from_string("CurrentSubscriptionCount") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2150") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("CurrentSubscriptionCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2095") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=2160") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2096") + ref.TargetNodeId = ua.NodeId.from_string("i=63") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=2160") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2095") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2160") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2090") + ref.TargetNodeId = ua.NodeId.from_string("i=2150") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2096") - node.BrowseName = ua.QualifiedName.from_string("ReferencesToAdd") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2161") + node.BrowseName = ua.QualifiedName.from_string("CumulatedSubscriptionCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2095") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.ParentNodeId = ua.NodeId.from_string("i=2150") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ReferencesToAdd") - attrs.DataType = ua.NodeId.from_string("i=379") - attrs.ValueRank = 1 + attrs.DisplayName = ua.LocalizedText("CumulatedSubscriptionCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2096") + ref.SourceNodeId = ua.NodeId.from_string("i=2161") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2096") + ref.SourceNodeId = ua.NodeId.from_string("i=2161") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2096") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2161") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2095") + ref.TargetNodeId = ua.NodeId.from_string("i=2150") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2097") - node.BrowseName = ua.QualifiedName.from_string("AuditDeleteReferencesEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2090") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditDeleteReferencesEventType") - attrs.IsAbstract = True + node.RequestedNewNodeId = ua.NodeId.from_string("i=2162") + node.BrowseName = ua.QualifiedName.from_string("SecurityRejectedRequestsCount") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2150") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("SecurityRejectedRequestsCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2097") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=2162") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2098") + ref.TargetNodeId = ua.NodeId.from_string("i=63") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=2162") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2097") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2162") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2090") + ref.TargetNodeId = ua.NodeId.from_string("i=2150") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2098") - node.BrowseName = ua.QualifiedName.from_string("ReferencesToDelete") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2163") + node.BrowseName = ua.QualifiedName.from_string("RejectedRequestsCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2097") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.ParentNodeId = ua.NodeId.from_string("i=2150") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ReferencesToDelete") - attrs.DataType = ua.NodeId.from_string("i=385") - attrs.ValueRank = 1 + attrs.DisplayName = ua.LocalizedText("RejectedRequestsCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2098") + ref.SourceNodeId = ua.NodeId.from_string("i=2163") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2098") + ref.SourceNodeId = ua.NodeId.from_string("i=2163") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2098") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2163") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2097") + ref.TargetNodeId = ua.NodeId.from_string("i=2150") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2099") - node.BrowseName = ua.QualifiedName.from_string("AuditUpdateEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2052") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2164") + node.BrowseName = ua.QualifiedName.from_string("SamplingIntervalDiagnosticsArrayType") + node.NodeClass = ua.NodeClass.VariableType + node.ParentNodeId = ua.NodeId.from_string("i=63") node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditUpdateEventType") - attrs.IsAbstract = True + attrs = ua.VariableTypeAttributes() + attrs.DisplayName = ua.LocalizedText("SamplingIntervalDiagnosticsArrayType") + attrs.DisplayName = ua.LocalizedText("SamplingIntervalDiagnosticsArrayType") + attrs.DataType = ua.NodeId.from_string("i=856") + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2164") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12779") + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2099") + ref.SourceNodeId = ua.NodeId.from_string("i=2164") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2052") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2100") - node.BrowseName = ua.QualifiedName.from_string("AuditWriteUpdateEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2099") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditWriteUpdateEventType") - attrs.IsAbstract = True + node.RequestedNewNodeId = ua.NodeId.from_string("i=12779") + node.BrowseName = ua.QualifiedName.from_string("SamplingIntervalDiagnostics") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2164") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=2165") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("SamplingIntervalDiagnostics") + attrs.DataType = ua.NodeId.from_string("i=856") + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2100") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12779") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2750") + ref.TargetNodeId = ua.NodeId.from_string("i=12780") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2100") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12779") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2101") + ref.TargetNodeId = ua.NodeId.from_string("i=12781") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2100") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12779") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2102") + ref.TargetNodeId = ua.NodeId.from_string("i=12782") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2100") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12779") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2103") + ref.TargetNodeId = ua.NodeId.from_string("i=12783") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12779") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2165") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=12779") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=83") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2100") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12779") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2099") + ref.TargetNodeId = ua.NodeId.from_string("i=2164") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2750") - node.BrowseName = ua.QualifiedName.from_string("AttributeId") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12780") + node.BrowseName = ua.QualifiedName.from_string("SamplingInterval") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2100") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.ParentNodeId = ua.NodeId.from_string("i=12779") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AttributeId") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.DisplayName = ua.LocalizedText("SamplingInterval") + attrs.DataType = ua.NodeId.from_string("i=290") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -19199,36 +19541,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2750") + ref.SourceNodeId = ua.NodeId.from_string("i=12780") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2750") + ref.SourceNodeId = ua.NodeId.from_string("i=12780") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2750") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12780") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2100") + ref.TargetNodeId = ua.NodeId.from_string("i=12779") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2101") - node.BrowseName = ua.QualifiedName.from_string("IndexRange") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12781") + node.BrowseName = ua.QualifiedName.from_string("SampledMonitoredItemsCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2100") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.ParentNodeId = ua.NodeId.from_string("i=12779") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("IndexRange") - attrs.DataType = ua.NodeId.from_string("i=291") + attrs.DisplayName = ua.LocalizedText("SampledMonitoredItemsCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -19236,36 +19578,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2101") + ref.SourceNodeId = ua.NodeId.from_string("i=12781") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2101") + ref.SourceNodeId = ua.NodeId.from_string("i=12781") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2101") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12781") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2100") + ref.TargetNodeId = ua.NodeId.from_string("i=12779") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2102") - node.BrowseName = ua.QualifiedName.from_string("OldValue") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12782") + node.BrowseName = ua.QualifiedName.from_string("MaxSampledMonitoredItemsCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2100") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.ParentNodeId = ua.NodeId.from_string("i=12779") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OldValue") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.DisplayName = ua.LocalizedText("MaxSampledMonitoredItemsCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -19273,36 +19615,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2102") + ref.SourceNodeId = ua.NodeId.from_string("i=12782") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2102") + ref.SourceNodeId = ua.NodeId.from_string("i=12782") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2102") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12782") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2100") + ref.TargetNodeId = ua.NodeId.from_string("i=12779") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2103") - node.BrowseName = ua.QualifiedName.from_string("NewValue") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12783") + node.BrowseName = ua.QualifiedName.from_string("DisabledMonitoredItemsSamplingCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2100") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.ParentNodeId = ua.NodeId.from_string("i=12779") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("NewValue") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.DisplayName = ua.LocalizedText("DisabledMonitoredItemsSamplingCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -19310,136 +19652,124 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2103") + ref.SourceNodeId = ua.NodeId.from_string("i=12783") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2103") + ref.SourceNodeId = ua.NodeId.from_string("i=12783") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2103") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12783") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2100") + ref.TargetNodeId = ua.NodeId.from_string("i=12779") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2104") - node.BrowseName = ua.QualifiedName.from_string("AuditHistoryUpdateEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2099") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2165") + node.BrowseName = ua.QualifiedName.from_string("SamplingIntervalDiagnosticsType") + node.NodeClass = ua.NodeClass.VariableType + node.ParentNodeId = ua.NodeId.from_string("i=63") node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditHistoryUpdateEventType") - attrs.IsAbstract = True + attrs = ua.VariableTypeAttributes() + attrs.DisplayName = ua.LocalizedText("SamplingIntervalDiagnosticsType") + attrs.DisplayName = ua.LocalizedText("SamplingIntervalDiagnosticsType") + attrs.DataType = ua.NodeId.from_string("i=856") + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2104") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2165") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2751") + ref.TargetNodeId = ua.NodeId.from_string("i=2166") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2104") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2165") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2099") + ref.TargetNodeId = ua.NodeId.from_string("i=11697") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2751") - node.BrowseName = ua.QualifiedName.from_string("ParameterDataTypeId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2104") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ParameterDataTypeId") - attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2751") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2165") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=11698") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2751") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2165") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=11699") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2751") + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=2165") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2104") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2127") - node.BrowseName = ua.QualifiedName.from_string("AuditUpdateMethodEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2052") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditUpdateMethodEventType") - attrs.IsAbstract = True + node.RequestedNewNodeId = ua.NodeId.from_string("i=2166") + node.BrowseName = ua.QualifiedName.from_string("SamplingInterval") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2165") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("SamplingInterval") + attrs.DataType = ua.NodeId.from_string("i=290") + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2127") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=2166") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2128") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2127") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=2166") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2129") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2127") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2166") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2052") + ref.TargetNodeId = ua.NodeId.from_string("i=2165") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2128") - node.BrowseName = ua.QualifiedName.from_string("MethodId") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11697") + node.BrowseName = ua.QualifiedName.from_string("SampledMonitoredItemsCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2127") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.ParentNodeId = ua.NodeId.from_string("i=2165") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MethodId") - attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) + attrs.DisplayName = ua.LocalizedText("SampledMonitoredItemsCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -19447,571 +19777,394 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2128") + ref.SourceNodeId = ua.NodeId.from_string("i=11697") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2128") + ref.SourceNodeId = ua.NodeId.from_string("i=11697") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2128") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=11697") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2127") + ref.TargetNodeId = ua.NodeId.from_string("i=2165") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2129") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11698") + node.BrowseName = ua.QualifiedName.from_string("MaxSampledMonitoredItemsCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2127") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.ParentNodeId = ua.NodeId.from_string("i=2165") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.ValueRank = 1 + attrs.DisplayName = ua.LocalizedText("MaxSampledMonitoredItemsCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2129") + ref.SourceNodeId = ua.NodeId.from_string("i=11698") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2129") + ref.SourceNodeId = ua.NodeId.from_string("i=11698") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2129") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=11698") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2127") + ref.TargetNodeId = ua.NodeId.from_string("i=2165") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2130") - node.BrowseName = ua.QualifiedName.from_string("SystemEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2041") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("SystemEventType") - attrs.IsAbstract = True + node.RequestedNewNodeId = ua.NodeId.from_string("i=11699") + node.BrowseName = ua.QualifiedName.from_string("DisabledMonitoredItemsSamplingCount") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2165") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("DisabledMonitoredItemsSamplingCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2130") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=11699") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2041") + ref.TargetNodeId = ua.NodeId.from_string("i=63") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=11699") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2131") - node.BrowseName = ua.QualifiedName.from_string("DeviceFailureEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2130") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("DeviceFailureEventType") - attrs.IsAbstract = True - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2131") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=11699") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2130") + ref.TargetNodeId = ua.NodeId.from_string("i=2165") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11446") - node.BrowseName = ua.QualifiedName.from_string("SystemStatusChangeEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2130") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2171") + node.BrowseName = ua.QualifiedName.from_string("SubscriptionDiagnosticsArrayType") + node.NodeClass = ua.NodeClass.VariableType + node.ParentNodeId = ua.NodeId.from_string("i=63") node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("SystemStatusChangeEventType") - attrs.IsAbstract = True + attrs = ua.VariableTypeAttributes() + attrs.DisplayName = ua.LocalizedText("SubscriptionDiagnosticsArrayType") + attrs.DisplayName = ua.LocalizedText("SubscriptionDiagnosticsArrayType") + attrs.DataType = ua.NodeId.from_string("i=874") + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11446") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2171") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11696") + ref.TargetNodeId = ua.NodeId.from_string("i=12784") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=11446") + ref.SourceNodeId = ua.NodeId.from_string("i=2171") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2130") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11696") - node.BrowseName = ua.QualifiedName.from_string("SystemState") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12784") + node.BrowseName = ua.QualifiedName.from_string("SubscriptionDiagnostics") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11446") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.ParentNodeId = ua.NodeId.from_string("i=2171") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=2172") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SystemState") - attrs.DataType = ua.NodeId.from_string("i=852") + attrs.DisplayName = ua.LocalizedText("SubscriptionDiagnostics") + attrs.DataType = ua.NodeId.from_string("i=874") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11696") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=12785") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11696") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=12786") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11696") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11446") + ref.TargetNodeId = ua.NodeId.from_string("i=12787") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2132") - node.BrowseName = ua.QualifiedName.from_string("BaseModelChangeEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2041") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("BaseModelChangeEventType") - attrs.IsAbstract = True - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2132") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2041") + ref.TargetNodeId = ua.NodeId.from_string("i=12788") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2133") - node.BrowseName = ua.QualifiedName.from_string("GeneralModelChangeEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2132") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("GeneralModelChangeEventType") - attrs.IsAbstract = True - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2133") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2134") + ref.TargetNodeId = ua.NodeId.from_string("i=12789") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2133") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2132") + ref.TargetNodeId = ua.NodeId.from_string("i=12790") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2134") - node.BrowseName = ua.QualifiedName.from_string("Changes") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2133") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Changes") - attrs.DataType = ua.NodeId.from_string("i=877") - attrs.ValueRank = 1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2134") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=12791") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2134") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=12792") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2134") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2133") + ref.TargetNodeId = ua.NodeId.from_string("i=12793") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2738") - node.BrowseName = ua.QualifiedName.from_string("SemanticChangeEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2132") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("SemanticChangeEventType") - attrs.IsAbstract = True - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2738") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2739") + ref.TargetNodeId = ua.NodeId.from_string("i=12794") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2738") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2132") + ref.TargetNodeId = ua.NodeId.from_string("i=12795") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2739") - node.BrowseName = ua.QualifiedName.from_string("Changes") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2738") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Changes") - attrs.DataType = ua.NodeId.from_string("i=897") - attrs.ValueRank = 1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2739") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=12796") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2739") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=12797") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2739") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2738") + ref.TargetNodeId = ua.NodeId.from_string("i=12798") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3035") - node.BrowseName = ua.QualifiedName.from_string("EventQueueOverflowEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2041") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("EventQueueOverflowEventType") - attrs.IsAbstract = True - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=3035") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2041") + ref.TargetNodeId = ua.NodeId.from_string("i=12799") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11436") - node.BrowseName = ua.QualifiedName.from_string("ProgressEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2041") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ProgressEventType") - attrs.IsAbstract = True - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11436") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12502") + ref.TargetNodeId = ua.NodeId.from_string("i=12800") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11436") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12503") + ref.TargetNodeId = ua.NodeId.from_string("i=12801") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=11436") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2041") + ref.TargetNodeId = ua.NodeId.from_string("i=12802") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12502") - node.BrowseName = ua.QualifiedName.from_string("Context") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11436") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Context") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12502") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=12803") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12502") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=12804") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12502") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11436") + ref.TargetNodeId = ua.NodeId.from_string("i=12805") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12503") - node.BrowseName = ua.QualifiedName.from_string("Progress") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11436") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Progress") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12503") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=12806") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12503") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=12807") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12503") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11436") + ref.TargetNodeId = ua.NodeId.from_string("i=12808") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2340") - node.BrowseName = ua.QualifiedName.from_string("AggregateFunctionType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=58") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AggregateFunctionType") - attrs.IsAbstract = False - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2340") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=58") + ref.TargetNodeId = ua.NodeId.from_string("i=12809") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2137") - node.BrowseName = ua.QualifiedName.from_string("ServerVendorCapabilityType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=63") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ServerVendorCapabilityType") - attrs.IsAbstract = True - attrs.DisplayName = ua.LocalizedText("ServerVendorCapabilityType") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2137") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=12810") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2138") - node.BrowseName = ua.QualifiedName.from_string("ServerStatusType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=63") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ServerStatusType") - attrs.DisplayName = ua.LocalizedText("ServerStatusType") - attrs.DataType = ua.NodeId.from_string("i=862") - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2138") + ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2139") + ref.TargetNodeId = ua.NodeId.from_string("i=12811") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2138") + ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2140") + ref.TargetNodeId = ua.NodeId.from_string("i=12812") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2138") + ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2141") + ref.TargetNodeId = ua.NodeId.from_string("i=12813") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2138") + ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2142") + ref.TargetNodeId = ua.NodeId.from_string("i=12814") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2138") + ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2752") + ref.TargetNodeId = ua.NodeId.from_string("i=12815") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2138") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2753") + ref.TargetNodeId = ua.NodeId.from_string("i=2172") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=12784") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=83") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2138") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12784") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=2171") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2139") - node.BrowseName = ua.QualifiedName.from_string("StartTime") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12785") + node.BrowseName = ua.QualifiedName.from_string("SessionId") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2138") + node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("StartTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = ua.LocalizedText("SessionId") + attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -20019,36 +20172,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2139") + ref.SourceNodeId = ua.NodeId.from_string("i=12785") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2139") + ref.SourceNodeId = ua.NodeId.from_string("i=12785") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2139") + ref.SourceNodeId = ua.NodeId.from_string("i=12785") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2138") + ref.TargetNodeId = ua.NodeId.from_string("i=12784") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2140") - node.BrowseName = ua.QualifiedName.from_string("CurrentTime") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12786") + node.BrowseName = ua.QualifiedName.from_string("SubscriptionId") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2138") + node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = ua.LocalizedText("SubscriptionId") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -20056,36 +20209,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2140") + ref.SourceNodeId = ua.NodeId.from_string("i=12786") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2140") + ref.SourceNodeId = ua.NodeId.from_string("i=12786") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2140") + ref.SourceNodeId = ua.NodeId.from_string("i=12786") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2138") + ref.TargetNodeId = ua.NodeId.from_string("i=12784") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2141") - node.BrowseName = ua.QualifiedName.from_string("State") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12787") + node.BrowseName = ua.QualifiedName.from_string("Priority") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2138") + node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("State") - attrs.DataType = ua.NodeId.from_string("i=852") + attrs.DisplayName = ua.LocalizedText("Priority") + attrs.DataType = ua.NodeId(ua.ObjectIds.Byte) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -20093,116 +20246,147 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2141") + ref.SourceNodeId = ua.NodeId.from_string("i=12787") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2141") + ref.SourceNodeId = ua.NodeId.from_string("i=12787") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2141") + ref.SourceNodeId = ua.NodeId.from_string("i=12787") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2138") + ref.TargetNodeId = ua.NodeId.from_string("i=12784") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2142") - node.BrowseName = ua.QualifiedName.from_string("BuildInfo") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12788") + node.BrowseName = ua.QualifiedName.from_string("PublishingInterval") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2138") + node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=3051") + node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("BuildInfo") - attrs.DataType = ua.NodeId.from_string("i=338") + attrs.DisplayName = ua.LocalizedText("PublishingInterval") + attrs.DataType = ua.NodeId(ua.ObjectIds.Double) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2142") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12788") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3698") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2142") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=12788") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3699") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2142") + ref.SourceNodeId = ua.NodeId.from_string("i=12788") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3700") + ref.TargetNodeId = ua.NodeId.from_string("i=12784") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12789") + node.BrowseName = ua.QualifiedName.from_string("MaxKeepAliveCount") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=12784") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("MaxKeepAliveCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2142") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12789") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3701") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2142") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=12789") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3702") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2142") + ref.SourceNodeId = ua.NodeId.from_string("i=12789") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3703") + ref.TargetNodeId = ua.NodeId.from_string("i=12784") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12790") + node.BrowseName = ua.QualifiedName.from_string("MaxLifetimeCount") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=12784") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("MaxLifetimeCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2142") + ref.SourceNodeId = ua.NodeId.from_string("i=12790") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3051") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2142") + ref.SourceNodeId = ua.NodeId.from_string("i=12790") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2142") + ref.SourceNodeId = ua.NodeId.from_string("i=12790") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2138") + ref.TargetNodeId = ua.NodeId.from_string("i=12784") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3698") - node.BrowseName = ua.QualifiedName.from_string("ProductUri") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12791") + node.BrowseName = ua.QualifiedName.from_string("MaxNotificationsPerPublish") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2142") + node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.MinimumSamplingInterval = 1000 - attrs.DisplayName = ua.LocalizedText("ProductUri") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.DisplayName = ua.LocalizedText("MaxNotificationsPerPublish") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -20210,37 +20394,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3698") + ref.SourceNodeId = ua.NodeId.from_string("i=12791") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3698") + ref.SourceNodeId = ua.NodeId.from_string("i=12791") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3698") + ref.SourceNodeId = ua.NodeId.from_string("i=12791") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2142") + ref.TargetNodeId = ua.NodeId.from_string("i=12784") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3699") - node.BrowseName = ua.QualifiedName.from_string("ManufacturerName") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12792") + node.BrowseName = ua.QualifiedName.from_string("PublishingEnabled") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2142") + node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.MinimumSamplingInterval = 1000 - attrs.DisplayName = ua.LocalizedText("ManufacturerName") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.DisplayName = ua.LocalizedText("PublishingEnabled") + attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -20248,37 +20431,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3699") + ref.SourceNodeId = ua.NodeId.from_string("i=12792") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3699") + ref.SourceNodeId = ua.NodeId.from_string("i=12792") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3699") + ref.SourceNodeId = ua.NodeId.from_string("i=12792") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2142") + ref.TargetNodeId = ua.NodeId.from_string("i=12784") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3700") - node.BrowseName = ua.QualifiedName.from_string("ProductName") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12793") + node.BrowseName = ua.QualifiedName.from_string("ModifyCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2142") + node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.MinimumSamplingInterval = 1000 - attrs.DisplayName = ua.LocalizedText("ProductName") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.DisplayName = ua.LocalizedText("ModifyCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -20286,37 +20468,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3700") + ref.SourceNodeId = ua.NodeId.from_string("i=12793") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3700") + ref.SourceNodeId = ua.NodeId.from_string("i=12793") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3700") + ref.SourceNodeId = ua.NodeId.from_string("i=12793") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2142") + ref.TargetNodeId = ua.NodeId.from_string("i=12784") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3701") - node.BrowseName = ua.QualifiedName.from_string("SoftwareVersion") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12794") + node.BrowseName = ua.QualifiedName.from_string("EnableCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2142") + node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.MinimumSamplingInterval = 1000 - attrs.DisplayName = ua.LocalizedText("SoftwareVersion") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.DisplayName = ua.LocalizedText("EnableCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -20324,37 +20505,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3701") + ref.SourceNodeId = ua.NodeId.from_string("i=12794") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3701") + ref.SourceNodeId = ua.NodeId.from_string("i=12794") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3701") + ref.SourceNodeId = ua.NodeId.from_string("i=12794") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2142") + ref.TargetNodeId = ua.NodeId.from_string("i=12784") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3702") - node.BrowseName = ua.QualifiedName.from_string("BuildNumber") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12795") + node.BrowseName = ua.QualifiedName.from_string("DisableCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2142") + node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.MinimumSamplingInterval = 1000 - attrs.DisplayName = ua.LocalizedText("BuildNumber") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.DisplayName = ua.LocalizedText("DisableCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -20362,37 +20542,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3702") + ref.SourceNodeId = ua.NodeId.from_string("i=12795") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3702") + ref.SourceNodeId = ua.NodeId.from_string("i=12795") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3702") + ref.SourceNodeId = ua.NodeId.from_string("i=12795") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2142") + ref.TargetNodeId = ua.NodeId.from_string("i=12784") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3703") - node.BrowseName = ua.QualifiedName.from_string("BuildDate") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12796") + node.BrowseName = ua.QualifiedName.from_string("RepublishRequestCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2142") + node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.MinimumSamplingInterval = 1000 - attrs.DisplayName = ua.LocalizedText("BuildDate") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = ua.LocalizedText("RepublishRequestCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -20400,35 +20579,35 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3703") + ref.SourceNodeId = ua.NodeId.from_string("i=12796") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3703") + ref.SourceNodeId = ua.NodeId.from_string("i=12796") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3703") + ref.SourceNodeId = ua.NodeId.from_string("i=12796") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2142") + ref.TargetNodeId = ua.NodeId.from_string("i=12784") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2752") - node.BrowseName = ua.QualifiedName.from_string("SecondsTillShutdown") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12797") + node.BrowseName = ua.QualifiedName.from_string("RepublishMessageRequestCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2138") + node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SecondsTillShutdown") + attrs.DisplayName = ua.LocalizedText("RepublishMessageRequestCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -20437,36 +20616,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2752") + ref.SourceNodeId = ua.NodeId.from_string("i=12797") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2752") + ref.SourceNodeId = ua.NodeId.from_string("i=12797") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2752") + ref.SourceNodeId = ua.NodeId.from_string("i=12797") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2138") + ref.TargetNodeId = ua.NodeId.from_string("i=12784") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2753") - node.BrowseName = ua.QualifiedName.from_string("ShutdownReason") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12798") + node.BrowseName = ua.QualifiedName.from_string("RepublishMessageCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2138") + node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ShutdownReason") - attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.DisplayName = ua.LocalizedText("RepublishMessageCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -20474,102 +20653,110 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2753") + ref.SourceNodeId = ua.NodeId.from_string("i=12798") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2753") + ref.SourceNodeId = ua.NodeId.from_string("i=12798") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2753") + ref.SourceNodeId = ua.NodeId.from_string("i=12798") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2138") + ref.TargetNodeId = ua.NodeId.from_string("i=12784") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3051") - node.BrowseName = ua.QualifiedName.from_string("BuildInfoType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=63") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("BuildInfoType") - attrs.DisplayName = ua.LocalizedText("BuildInfoType") - attrs.DataType = ua.NodeId.from_string("i=338") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12799") + node.BrowseName = ua.QualifiedName.from_string("TransferRequestCount") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=12784") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("TransferRequestCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3051") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3052") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3051") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12799") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3053") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3051") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=12799") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3054") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3051") + ref.SourceNodeId = ua.NodeId.from_string("i=12799") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3055") + ref.TargetNodeId = ua.NodeId.from_string("i=12784") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12800") + node.BrowseName = ua.QualifiedName.from_string("TransferredToAltClientCount") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=12784") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("TransferredToAltClientCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3051") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12800") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3056") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3051") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=12800") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3057") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=3051") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12800") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=12784") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3052") - node.BrowseName = ua.QualifiedName.from_string("ProductUri") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12801") + node.BrowseName = ua.QualifiedName.from_string("TransferredToSameClientCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3051") + node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.MinimumSamplingInterval = 1000 - attrs.DisplayName = ua.LocalizedText("ProductUri") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.DisplayName = ua.LocalizedText("TransferredToSameClientCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -20577,37 +20764,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3052") + ref.SourceNodeId = ua.NodeId.from_string("i=12801") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3052") + ref.SourceNodeId = ua.NodeId.from_string("i=12801") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3052") + ref.SourceNodeId = ua.NodeId.from_string("i=12801") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3051") + ref.TargetNodeId = ua.NodeId.from_string("i=12784") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3053") - node.BrowseName = ua.QualifiedName.from_string("ManufacturerName") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12802") + node.BrowseName = ua.QualifiedName.from_string("PublishRequestCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3051") + node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.MinimumSamplingInterval = 1000 - attrs.DisplayName = ua.LocalizedText("ManufacturerName") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.DisplayName = ua.LocalizedText("PublishRequestCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -20615,37 +20801,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3053") + ref.SourceNodeId = ua.NodeId.from_string("i=12802") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3053") + ref.SourceNodeId = ua.NodeId.from_string("i=12802") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3053") + ref.SourceNodeId = ua.NodeId.from_string("i=12802") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3051") + ref.TargetNodeId = ua.NodeId.from_string("i=12784") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3054") - node.BrowseName = ua.QualifiedName.from_string("ProductName") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12803") + node.BrowseName = ua.QualifiedName.from_string("DataChangeNotificationsCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3051") + node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.MinimumSamplingInterval = 1000 - attrs.DisplayName = ua.LocalizedText("ProductName") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.DisplayName = ua.LocalizedText("DataChangeNotificationsCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -20653,37 +20838,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3054") + ref.SourceNodeId = ua.NodeId.from_string("i=12803") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3054") + ref.SourceNodeId = ua.NodeId.from_string("i=12803") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3054") + ref.SourceNodeId = ua.NodeId.from_string("i=12803") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3051") + ref.TargetNodeId = ua.NodeId.from_string("i=12784") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3055") - node.BrowseName = ua.QualifiedName.from_string("SoftwareVersion") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12804") + node.BrowseName = ua.QualifiedName.from_string("EventNotificationsCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3051") + node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.MinimumSamplingInterval = 1000 - attrs.DisplayName = ua.LocalizedText("SoftwareVersion") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.DisplayName = ua.LocalizedText("EventNotificationsCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -20691,37 +20875,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3055") + ref.SourceNodeId = ua.NodeId.from_string("i=12804") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3055") + ref.SourceNodeId = ua.NodeId.from_string("i=12804") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3055") + ref.SourceNodeId = ua.NodeId.from_string("i=12804") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3051") + ref.TargetNodeId = ua.NodeId.from_string("i=12784") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3056") - node.BrowseName = ua.QualifiedName.from_string("BuildNumber") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12805") + node.BrowseName = ua.QualifiedName.from_string("NotificationsCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3051") + node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.MinimumSamplingInterval = 1000 - attrs.DisplayName = ua.LocalizedText("BuildNumber") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.DisplayName = ua.LocalizedText("NotificationsCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -20729,37 +20912,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3056") + ref.SourceNodeId = ua.NodeId.from_string("i=12805") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3056") + ref.SourceNodeId = ua.NodeId.from_string("i=12805") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3056") + ref.SourceNodeId = ua.NodeId.from_string("i=12805") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3051") + ref.TargetNodeId = ua.NodeId.from_string("i=12784") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3057") - node.BrowseName = ua.QualifiedName.from_string("BuildDate") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12806") + node.BrowseName = ua.QualifiedName.from_string("LatePublishRequestCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3051") + node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.MinimumSamplingInterval = 1000 - attrs.DisplayName = ua.LocalizedText("BuildDate") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = ua.LocalizedText("LatePublishRequestCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -20767,142 +20949,72 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3057") + ref.SourceNodeId = ua.NodeId.from_string("i=12806") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3057") + ref.SourceNodeId = ua.NodeId.from_string("i=12806") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3057") + ref.SourceNodeId = ua.NodeId.from_string("i=12806") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3051") + ref.TargetNodeId = ua.NodeId.from_string("i=12784") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2150") - node.BrowseName = ua.QualifiedName.from_string("ServerDiagnosticsSummaryType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=63") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ServerDiagnosticsSummaryType") - attrs.DisplayName = ua.LocalizedText("ServerDiagnosticsSummaryType") - attrs.DataType = ua.NodeId.from_string("i=859") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12807") + node.BrowseName = ua.QualifiedName.from_string("CurrentKeepAliveCount") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=12784") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("CurrentKeepAliveCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2150") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2151") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2150") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12807") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2152") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2150") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=12807") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2153") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2150") + ref.SourceNodeId = ua.NodeId.from_string("i=12807") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2154") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2150") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2155") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2150") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2156") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2150") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2157") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2150") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2159") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2150") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2160") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2150") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2161") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2150") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2162") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2150") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2163") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2150") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=12784") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2151") - node.BrowseName = ua.QualifiedName.from_string("ServerViewCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12808") + node.BrowseName = ua.QualifiedName.from_string("CurrentLifetimeCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2150") + node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ServerViewCount") + attrs.DisplayName = ua.LocalizedText("CurrentLifetimeCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -20911,35 +21023,35 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2151") + ref.SourceNodeId = ua.NodeId.from_string("i=12808") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2151") + ref.SourceNodeId = ua.NodeId.from_string("i=12808") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2151") + ref.SourceNodeId = ua.NodeId.from_string("i=12808") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2150") + ref.TargetNodeId = ua.NodeId.from_string("i=12784") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2152") - node.BrowseName = ua.QualifiedName.from_string("CurrentSessionCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12809") + node.BrowseName = ua.QualifiedName.from_string("UnacknowledgedMessageCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2150") + node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentSessionCount") + attrs.DisplayName = ua.LocalizedText("UnacknowledgedMessageCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -20948,35 +21060,35 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2152") + ref.SourceNodeId = ua.NodeId.from_string("i=12809") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2152") + ref.SourceNodeId = ua.NodeId.from_string("i=12809") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2152") + ref.SourceNodeId = ua.NodeId.from_string("i=12809") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2150") + ref.TargetNodeId = ua.NodeId.from_string("i=12784") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2153") - node.BrowseName = ua.QualifiedName.from_string("CumulatedSessionCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12810") + node.BrowseName = ua.QualifiedName.from_string("DiscardedMessageCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2150") + node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CumulatedSessionCount") + attrs.DisplayName = ua.LocalizedText("DiscardedMessageCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -20985,35 +21097,35 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2153") + ref.SourceNodeId = ua.NodeId.from_string("i=12810") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2153") + ref.SourceNodeId = ua.NodeId.from_string("i=12810") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2153") + ref.SourceNodeId = ua.NodeId.from_string("i=12810") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2150") + ref.TargetNodeId = ua.NodeId.from_string("i=12784") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2154") - node.BrowseName = ua.QualifiedName.from_string("SecurityRejectedSessionCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12811") + node.BrowseName = ua.QualifiedName.from_string("MonitoredItemCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2150") + node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SecurityRejectedSessionCount") + attrs.DisplayName = ua.LocalizedText("MonitoredItemCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -21022,35 +21134,35 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2154") + ref.SourceNodeId = ua.NodeId.from_string("i=12811") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2154") + ref.SourceNodeId = ua.NodeId.from_string("i=12811") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2154") + ref.SourceNodeId = ua.NodeId.from_string("i=12811") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2150") + ref.TargetNodeId = ua.NodeId.from_string("i=12784") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2155") - node.BrowseName = ua.QualifiedName.from_string("RejectedSessionCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12812") + node.BrowseName = ua.QualifiedName.from_string("DisabledMonitoredItemCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2150") + node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RejectedSessionCount") + attrs.DisplayName = ua.LocalizedText("DisabledMonitoredItemCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -21059,35 +21171,35 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2155") + ref.SourceNodeId = ua.NodeId.from_string("i=12812") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2155") + ref.SourceNodeId = ua.NodeId.from_string("i=12812") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2155") + ref.SourceNodeId = ua.NodeId.from_string("i=12812") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2150") + ref.TargetNodeId = ua.NodeId.from_string("i=12784") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2156") - node.BrowseName = ua.QualifiedName.from_string("SessionTimeoutCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12813") + node.BrowseName = ua.QualifiedName.from_string("MonitoringQueueOverflowCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2150") + node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SessionTimeoutCount") + attrs.DisplayName = ua.LocalizedText("MonitoringQueueOverflowCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -21096,35 +21208,35 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2156") + ref.SourceNodeId = ua.NodeId.from_string("i=12813") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2156") + ref.SourceNodeId = ua.NodeId.from_string("i=12813") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2156") + ref.SourceNodeId = ua.NodeId.from_string("i=12813") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2150") + ref.TargetNodeId = ua.NodeId.from_string("i=12784") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2157") - node.BrowseName = ua.QualifiedName.from_string("SessionAbortCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12814") + node.BrowseName = ua.QualifiedName.from_string("NextSequenceNumber") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2150") + node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SessionAbortCount") + attrs.DisplayName = ua.LocalizedText("NextSequenceNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -21133,35 +21245,35 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2157") + ref.SourceNodeId = ua.NodeId.from_string("i=12814") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2157") + ref.SourceNodeId = ua.NodeId.from_string("i=12814") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2157") + ref.SourceNodeId = ua.NodeId.from_string("i=12814") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2150") + ref.TargetNodeId = ua.NodeId.from_string("i=12784") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2159") - node.BrowseName = ua.QualifiedName.from_string("PublishingIntervalCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12815") + node.BrowseName = ua.QualifiedName.from_string("EventQueueOverflowCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2150") + node.ParentNodeId = ua.NodeId.from_string("i=12784") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("PublishingIntervalCount") + attrs.DisplayName = ua.LocalizedText("EventQueueOverflowCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -21170,279 +21282,276 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2159") + ref.SourceNodeId = ua.NodeId.from_string("i=12815") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2159") + ref.SourceNodeId = ua.NodeId.from_string("i=12815") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2159") + ref.SourceNodeId = ua.NodeId.from_string("i=12815") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2150") + ref.TargetNodeId = ua.NodeId.from_string("i=12784") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2160") - node.BrowseName = ua.QualifiedName.from_string("CurrentSubscriptionCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2150") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentSubscriptionCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + node.RequestedNewNodeId = ua.NodeId.from_string("i=2172") + node.BrowseName = ua.QualifiedName.from_string("SubscriptionDiagnosticsType") + node.NodeClass = ua.NodeClass.VariableType + node.ParentNodeId = ua.NodeId.from_string("i=63") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.VariableTypeAttributes() + attrs.DisplayName = ua.LocalizedText("SubscriptionDiagnosticsType") + attrs.DisplayName = ua.LocalizedText("SubscriptionDiagnosticsType") + attrs.DataType = ua.NodeId.from_string("i=874") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2160") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=2173") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2160") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=2174") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2160") + ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2150") + ref.TargetNodeId = ua.NodeId.from_string("i=2175") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2161") - node.BrowseName = ua.QualifiedName.from_string("CumulatedSubscriptionCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2150") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CumulatedSubscriptionCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2161") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=2176") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2161") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=2177") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2161") + ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2150") + ref.TargetNodeId = ua.NodeId.from_string("i=8888") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2162") - node.BrowseName = ua.QualifiedName.from_string("SecurityRejectedRequestsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2150") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SecurityRejectedRequestsCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2162") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=2179") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2162") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=2180") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2162") + ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2150") + ref.TargetNodeId = ua.NodeId.from_string("i=2181") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2163") - node.BrowseName = ua.QualifiedName.from_string("RejectedRequestsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2150") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RejectedRequestsCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2163") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=2182") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2163") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=2183") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2163") + ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2150") + ref.TargetNodeId = ua.NodeId.from_string("i=2184") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2164") - node.BrowseName = ua.QualifiedName.from_string("SamplingIntervalDiagnosticsArrayType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=63") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("SamplingIntervalDiagnosticsArrayType") - attrs.DisplayName = ua.LocalizedText("SamplingIntervalDiagnosticsArrayType") - attrs.DataType = ua.NodeId.from_string("i=856") - attrs.ValueRank = 1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2164") + ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12779") + ref.TargetNodeId = ua.NodeId.from_string("i=2185") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2164") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=2186") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12779") - node.BrowseName = ua.QualifiedName.from_string("SamplingIntervalDiagnostics") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2164") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2165") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SamplingIntervalDiagnostics") - attrs.DataType = ua.NodeId.from_string("i=856") - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12779") + ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12780") + ref.TargetNodeId = ua.NodeId.from_string("i=2187") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12779") + ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12781") + ref.TargetNodeId = ua.NodeId.from_string("i=2188") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12779") + ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12782") + ref.TargetNodeId = ua.NodeId.from_string("i=2189") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12779") + ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12783") + ref.TargetNodeId = ua.NodeId.from_string("i=2190") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12779") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2165") + ref.TargetNodeId = ua.NodeId.from_string("i=2191") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12779") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=83") + ref.TargetNodeId = ua.NodeId.from_string("i=2998") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12779") + ref.SourceNodeId = ua.NodeId.from_string("i=2172") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2164") + ref.TargetNodeId = ua.NodeId.from_string("i=2193") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2172") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8889") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2172") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8890") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2172") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8891") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2172") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8892") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2172") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8893") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2172") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8894") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2172") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8895") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2172") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8896") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2172") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8897") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2172") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8902") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=2172") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12780") - node.BrowseName = ua.QualifiedName.from_string("SamplingInterval") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2173") + node.BrowseName = ua.QualifiedName.from_string("SessionId") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12779") + node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SamplingInterval") - attrs.DataType = ua.NodeId.from_string("i=290") + attrs.DisplayName = ua.LocalizedText("SessionId") + attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -21450,35 +21559,35 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12780") + ref.SourceNodeId = ua.NodeId.from_string("i=2173") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12780") + ref.SourceNodeId = ua.NodeId.from_string("i=2173") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12780") + ref.SourceNodeId = ua.NodeId.from_string("i=2173") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12779") + ref.TargetNodeId = ua.NodeId.from_string("i=2172") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12781") - node.BrowseName = ua.QualifiedName.from_string("SampledMonitoredItemsCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2174") + node.BrowseName = ua.QualifiedName.from_string("SubscriptionId") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12779") + node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SampledMonitoredItemsCount") + attrs.DisplayName = ua.LocalizedText("SubscriptionId") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -21487,36 +21596,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12781") + ref.SourceNodeId = ua.NodeId.from_string("i=2174") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12781") + ref.SourceNodeId = ua.NodeId.from_string("i=2174") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12781") + ref.SourceNodeId = ua.NodeId.from_string("i=2174") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12779") + ref.TargetNodeId = ua.NodeId.from_string("i=2172") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12782") - node.BrowseName = ua.QualifiedName.from_string("MaxSampledMonitoredItemsCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2175") + node.BrowseName = ua.QualifiedName.from_string("Priority") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12779") + node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MaxSampledMonitoredItemsCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.DisplayName = ua.LocalizedText("Priority") + attrs.DataType = ua.NodeId(ua.ObjectIds.Byte) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -21524,36 +21633,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12782") + ref.SourceNodeId = ua.NodeId.from_string("i=2175") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12782") + ref.SourceNodeId = ua.NodeId.from_string("i=2175") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12782") + ref.SourceNodeId = ua.NodeId.from_string("i=2175") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12779") + ref.TargetNodeId = ua.NodeId.from_string("i=2172") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12783") - node.BrowseName = ua.QualifiedName.from_string("DisabledMonitoredItemsSamplingCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2176") + node.BrowseName = ua.QualifiedName.from_string("PublishingInterval") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12779") + node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DisabledMonitoredItemsSamplingCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.DisplayName = ua.LocalizedText("PublishingInterval") + attrs.DataType = ua.NodeId(ua.ObjectIds.Double) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -21561,87 +21670,73 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12783") + ref.SourceNodeId = ua.NodeId.from_string("i=2176") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12783") + ref.SourceNodeId = ua.NodeId.from_string("i=2176") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12783") + ref.SourceNodeId = ua.NodeId.from_string("i=2176") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12779") + ref.TargetNodeId = ua.NodeId.from_string("i=2172") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2165") - node.BrowseName = ua.QualifiedName.from_string("SamplingIntervalDiagnosticsType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=63") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("SamplingIntervalDiagnosticsType") - attrs.DisplayName = ua.LocalizedText("SamplingIntervalDiagnosticsType") - attrs.DataType = ua.NodeId.from_string("i=856") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2177") + node.BrowseName = ua.QualifiedName.from_string("MaxKeepAliveCount") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2172") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("MaxKeepAliveCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2165") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2166") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2165") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11697") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2165") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=2177") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11698") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2165") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=2177") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11699") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2165") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2177") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=2172") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2166") - node.BrowseName = ua.QualifiedName.from_string("SamplingInterval") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8888") + node.BrowseName = ua.QualifiedName.from_string("MaxLifetimeCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2165") + node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SamplingInterval") - attrs.DataType = ua.NodeId.from_string("i=290") + attrs.DisplayName = ua.LocalizedText("MaxLifetimeCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -21649,35 +21744,35 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2166") + ref.SourceNodeId = ua.NodeId.from_string("i=8888") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2166") + ref.SourceNodeId = ua.NodeId.from_string("i=8888") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2166") + ref.SourceNodeId = ua.NodeId.from_string("i=8888") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2165") + ref.TargetNodeId = ua.NodeId.from_string("i=2172") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11697") - node.BrowseName = ua.QualifiedName.from_string("SampledMonitoredItemsCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2179") + node.BrowseName = ua.QualifiedName.from_string("MaxNotificationsPerPublish") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2165") + node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SampledMonitoredItemsCount") + attrs.DisplayName = ua.LocalizedText("MaxNotificationsPerPublish") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -21686,36 +21781,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11697") + ref.SourceNodeId = ua.NodeId.from_string("i=2179") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11697") + ref.SourceNodeId = ua.NodeId.from_string("i=2179") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11697") + ref.SourceNodeId = ua.NodeId.from_string("i=2179") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2165") + ref.TargetNodeId = ua.NodeId.from_string("i=2172") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11698") - node.BrowseName = ua.QualifiedName.from_string("MaxSampledMonitoredItemsCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2180") + node.BrowseName = ua.QualifiedName.from_string("PublishingEnabled") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2165") + node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MaxSampledMonitoredItemsCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.DisplayName = ua.LocalizedText("PublishingEnabled") + attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -21723,35 +21818,35 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11698") + ref.SourceNodeId = ua.NodeId.from_string("i=2180") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11698") + ref.SourceNodeId = ua.NodeId.from_string("i=2180") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11698") + ref.SourceNodeId = ua.NodeId.from_string("i=2180") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2165") + ref.TargetNodeId = ua.NodeId.from_string("i=2172") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11699") - node.BrowseName = ua.QualifiedName.from_string("DisabledMonitoredItemsSamplingCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2181") + node.BrowseName = ua.QualifiedName.from_string("ModifyCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2165") + node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DisabledMonitoredItemsSamplingCount") + attrs.DisplayName = ua.LocalizedText("ModifyCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -21760,320 +21855,73 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11699") + ref.SourceNodeId = ua.NodeId.from_string("i=2181") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11699") + ref.SourceNodeId = ua.NodeId.from_string("i=2181") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11699") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2165") - refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2171") - node.BrowseName = ua.QualifiedName.from_string("SubscriptionDiagnosticsArrayType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=63") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("SubscriptionDiagnosticsArrayType") - attrs.DisplayName = ua.LocalizedText("SubscriptionDiagnosticsArrayType") - attrs.DataType = ua.NodeId.from_string("i=874") - attrs.ValueRank = 1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2171") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2171") + ref.SourceNodeId = ua.NodeId.from_string("i=2181") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=2172") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12784") - node.BrowseName = ua.QualifiedName.from_string("SubscriptionDiagnostics") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2182") + node.BrowseName = ua.QualifiedName.from_string("EnableCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2171") + node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2172") + node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SubscriptionDiagnostics") - attrs.DataType = ua.NodeId.from_string("i=874") + attrs.DisplayName = ua.LocalizedText("EnableCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12785") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12786") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12787") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12788") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12789") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12790") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12791") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12792") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12793") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12794") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12795") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12796") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12797") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12798") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12799") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12800") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12801") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12802") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12803") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12804") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12805") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12806") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12807") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12808") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12809") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12810") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12811") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12812") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12813") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12814") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12815") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") + ref.SourceNodeId = ua.NodeId.from_string("i=2182") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") + ref.SourceNodeId = ua.NodeId.from_string("i=2182") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=83") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") + ref.SourceNodeId = ua.NodeId.from_string("i=2182") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2171") + ref.TargetNodeId = ua.NodeId.from_string("i=2172") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12785") - node.BrowseName = ua.QualifiedName.from_string("SessionId") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2183") + node.BrowseName = ua.QualifiedName.from_string("DisableCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") + node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SessionId") - attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) + attrs.DisplayName = ua.LocalizedText("DisableCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -22081,35 +21929,35 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12785") + ref.SourceNodeId = ua.NodeId.from_string("i=2183") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12785") + ref.SourceNodeId = ua.NodeId.from_string("i=2183") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12785") + ref.SourceNodeId = ua.NodeId.from_string("i=2183") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.TargetNodeId = ua.NodeId.from_string("i=2172") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12786") - node.BrowseName = ua.QualifiedName.from_string("SubscriptionId") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2184") + node.BrowseName = ua.QualifiedName.from_string("RepublishRequestCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") + node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SubscriptionId") + attrs.DisplayName = ua.LocalizedText("RepublishRequestCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -22118,36 +21966,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12786") + ref.SourceNodeId = ua.NodeId.from_string("i=2184") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12786") + ref.SourceNodeId = ua.NodeId.from_string("i=2184") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12786") + ref.SourceNodeId = ua.NodeId.from_string("i=2184") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.TargetNodeId = ua.NodeId.from_string("i=2172") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12787") - node.BrowseName = ua.QualifiedName.from_string("Priority") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2185") + node.BrowseName = ua.QualifiedName.from_string("RepublishMessageRequestCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") + node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Priority") - attrs.DataType = ua.NodeId(ua.ObjectIds.Byte) + attrs.DisplayName = ua.LocalizedText("RepublishMessageRequestCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -22155,36 +22003,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12787") + ref.SourceNodeId = ua.NodeId.from_string("i=2185") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12787") + ref.SourceNodeId = ua.NodeId.from_string("i=2185") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12787") + ref.SourceNodeId = ua.NodeId.from_string("i=2185") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.TargetNodeId = ua.NodeId.from_string("i=2172") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12788") - node.BrowseName = ua.QualifiedName.from_string("PublishingInterval") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2186") + node.BrowseName = ua.QualifiedName.from_string("RepublishMessageCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") + node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("PublishingInterval") - attrs.DataType = ua.NodeId(ua.ObjectIds.Double) + attrs.DisplayName = ua.LocalizedText("RepublishMessageCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -22192,35 +22040,35 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12788") + ref.SourceNodeId = ua.NodeId.from_string("i=2186") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12788") + ref.SourceNodeId = ua.NodeId.from_string("i=2186") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12788") + ref.SourceNodeId = ua.NodeId.from_string("i=2186") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.TargetNodeId = ua.NodeId.from_string("i=2172") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12789") - node.BrowseName = ua.QualifiedName.from_string("MaxKeepAliveCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2187") + node.BrowseName = ua.QualifiedName.from_string("TransferRequestCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") + node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MaxKeepAliveCount") + attrs.DisplayName = ua.LocalizedText("TransferRequestCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -22229,35 +22077,35 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12789") + ref.SourceNodeId = ua.NodeId.from_string("i=2187") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12789") + ref.SourceNodeId = ua.NodeId.from_string("i=2187") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12789") + ref.SourceNodeId = ua.NodeId.from_string("i=2187") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.TargetNodeId = ua.NodeId.from_string("i=2172") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12790") - node.BrowseName = ua.QualifiedName.from_string("MaxLifetimeCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2188") + node.BrowseName = ua.QualifiedName.from_string("TransferredToAltClientCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") + node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MaxLifetimeCount") + attrs.DisplayName = ua.LocalizedText("TransferredToAltClientCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -22266,35 +22114,35 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12790") + ref.SourceNodeId = ua.NodeId.from_string("i=2188") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12790") + ref.SourceNodeId = ua.NodeId.from_string("i=2188") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12790") + ref.SourceNodeId = ua.NodeId.from_string("i=2188") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.TargetNodeId = ua.NodeId.from_string("i=2172") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12791") - node.BrowseName = ua.QualifiedName.from_string("MaxNotificationsPerPublish") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2189") + node.BrowseName = ua.QualifiedName.from_string("TransferredToSameClientCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") + node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MaxNotificationsPerPublish") + attrs.DisplayName = ua.LocalizedText("TransferredToSameClientCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -22303,36 +22151,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12791") + ref.SourceNodeId = ua.NodeId.from_string("i=2189") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12791") + ref.SourceNodeId = ua.NodeId.from_string("i=2189") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12791") + ref.SourceNodeId = ua.NodeId.from_string("i=2189") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.TargetNodeId = ua.NodeId.from_string("i=2172") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12792") - node.BrowseName = ua.QualifiedName.from_string("PublishingEnabled") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2190") + node.BrowseName = ua.QualifiedName.from_string("PublishRequestCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") + node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("PublishingEnabled") - attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) + attrs.DisplayName = ua.LocalizedText("PublishRequestCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -22340,35 +22188,35 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12792") + ref.SourceNodeId = ua.NodeId.from_string("i=2190") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12792") + ref.SourceNodeId = ua.NodeId.from_string("i=2190") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12792") + ref.SourceNodeId = ua.NodeId.from_string("i=2190") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.TargetNodeId = ua.NodeId.from_string("i=2172") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12793") - node.BrowseName = ua.QualifiedName.from_string("ModifyCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2191") + node.BrowseName = ua.QualifiedName.from_string("DataChangeNotificationsCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") + node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ModifyCount") + attrs.DisplayName = ua.LocalizedText("DataChangeNotificationsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -22377,35 +22225,35 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12793") + ref.SourceNodeId = ua.NodeId.from_string("i=2191") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12793") + ref.SourceNodeId = ua.NodeId.from_string("i=2191") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12793") + ref.SourceNodeId = ua.NodeId.from_string("i=2191") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.TargetNodeId = ua.NodeId.from_string("i=2172") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12794") - node.BrowseName = ua.QualifiedName.from_string("EnableCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2998") + node.BrowseName = ua.QualifiedName.from_string("EventNotificationsCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") + node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EnableCount") + attrs.DisplayName = ua.LocalizedText("EventNotificationsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -22414,35 +22262,35 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12794") + ref.SourceNodeId = ua.NodeId.from_string("i=2998") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12794") + ref.SourceNodeId = ua.NodeId.from_string("i=2998") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12794") + ref.SourceNodeId = ua.NodeId.from_string("i=2998") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.TargetNodeId = ua.NodeId.from_string("i=2172") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12795") - node.BrowseName = ua.QualifiedName.from_string("DisableCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2193") + node.BrowseName = ua.QualifiedName.from_string("NotificationsCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") + node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DisableCount") + attrs.DisplayName = ua.LocalizedText("NotificationsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -22451,35 +22299,35 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12795") + ref.SourceNodeId = ua.NodeId.from_string("i=2193") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12795") + ref.SourceNodeId = ua.NodeId.from_string("i=2193") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12795") + ref.SourceNodeId = ua.NodeId.from_string("i=2193") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.TargetNodeId = ua.NodeId.from_string("i=2172") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12796") - node.BrowseName = ua.QualifiedName.from_string("RepublishRequestCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8889") + node.BrowseName = ua.QualifiedName.from_string("LatePublishRequestCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") + node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RepublishRequestCount") + attrs.DisplayName = ua.LocalizedText("LatePublishRequestCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -22488,35 +22336,35 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12796") + ref.SourceNodeId = ua.NodeId.from_string("i=8889") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12796") + ref.SourceNodeId = ua.NodeId.from_string("i=8889") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12796") + ref.SourceNodeId = ua.NodeId.from_string("i=8889") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.TargetNodeId = ua.NodeId.from_string("i=2172") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12797") - node.BrowseName = ua.QualifiedName.from_string("RepublishMessageRequestCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8890") + node.BrowseName = ua.QualifiedName.from_string("CurrentKeepAliveCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") + node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RepublishMessageRequestCount") + attrs.DisplayName = ua.LocalizedText("CurrentKeepAliveCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -22525,35 +22373,35 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12797") + ref.SourceNodeId = ua.NodeId.from_string("i=8890") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12797") + ref.SourceNodeId = ua.NodeId.from_string("i=8890") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12797") + ref.SourceNodeId = ua.NodeId.from_string("i=8890") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.TargetNodeId = ua.NodeId.from_string("i=2172") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12798") - node.BrowseName = ua.QualifiedName.from_string("RepublishMessageCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8891") + node.BrowseName = ua.QualifiedName.from_string("CurrentLifetimeCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") + node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RepublishMessageCount") + attrs.DisplayName = ua.LocalizedText("CurrentLifetimeCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -22562,35 +22410,35 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12798") + ref.SourceNodeId = ua.NodeId.from_string("i=8891") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12798") + ref.SourceNodeId = ua.NodeId.from_string("i=8891") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12798") + ref.SourceNodeId = ua.NodeId.from_string("i=8891") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.TargetNodeId = ua.NodeId.from_string("i=2172") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12799") - node.BrowseName = ua.QualifiedName.from_string("TransferRequestCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8892") + node.BrowseName = ua.QualifiedName.from_string("UnacknowledgedMessageCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") + node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransferRequestCount") + attrs.DisplayName = ua.LocalizedText("UnacknowledgedMessageCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -22599,35 +22447,35 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12799") + ref.SourceNodeId = ua.NodeId.from_string("i=8892") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12799") + ref.SourceNodeId = ua.NodeId.from_string("i=8892") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12799") + ref.SourceNodeId = ua.NodeId.from_string("i=8892") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.TargetNodeId = ua.NodeId.from_string("i=2172") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12800") - node.BrowseName = ua.QualifiedName.from_string("TransferredToAltClientCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8893") + node.BrowseName = ua.QualifiedName.from_string("DiscardedMessageCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") + node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransferredToAltClientCount") + attrs.DisplayName = ua.LocalizedText("DiscardedMessageCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -22636,35 +22484,35 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12800") + ref.SourceNodeId = ua.NodeId.from_string("i=8893") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12800") + ref.SourceNodeId = ua.NodeId.from_string("i=8893") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12800") + ref.SourceNodeId = ua.NodeId.from_string("i=8893") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.TargetNodeId = ua.NodeId.from_string("i=2172") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12801") - node.BrowseName = ua.QualifiedName.from_string("TransferredToSameClientCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8894") + node.BrowseName = ua.QualifiedName.from_string("MonitoredItemCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") + node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransferredToSameClientCount") + attrs.DisplayName = ua.LocalizedText("MonitoredItemCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -22673,35 +22521,35 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12801") + ref.SourceNodeId = ua.NodeId.from_string("i=8894") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12801") + ref.SourceNodeId = ua.NodeId.from_string("i=8894") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12801") + ref.SourceNodeId = ua.NodeId.from_string("i=8894") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.TargetNodeId = ua.NodeId.from_string("i=2172") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12802") - node.BrowseName = ua.QualifiedName.from_string("PublishRequestCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8895") + node.BrowseName = ua.QualifiedName.from_string("DisabledMonitoredItemCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") + node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("PublishRequestCount") + attrs.DisplayName = ua.LocalizedText("DisabledMonitoredItemCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -22710,35 +22558,35 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12802") + ref.SourceNodeId = ua.NodeId.from_string("i=8895") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12802") + ref.SourceNodeId = ua.NodeId.from_string("i=8895") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12802") + ref.SourceNodeId = ua.NodeId.from_string("i=8895") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.TargetNodeId = ua.NodeId.from_string("i=2172") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12803") - node.BrowseName = ua.QualifiedName.from_string("DataChangeNotificationsCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8896") + node.BrowseName = ua.QualifiedName.from_string("MonitoringQueueOverflowCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") + node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DataChangeNotificationsCount") + attrs.DisplayName = ua.LocalizedText("MonitoringQueueOverflowCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -22747,35 +22595,35 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12803") + ref.SourceNodeId = ua.NodeId.from_string("i=8896") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12803") + ref.SourceNodeId = ua.NodeId.from_string("i=8896") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12803") + ref.SourceNodeId = ua.NodeId.from_string("i=8896") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.TargetNodeId = ua.NodeId.from_string("i=2172") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12804") - node.BrowseName = ua.QualifiedName.from_string("EventNotificationsCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8897") + node.BrowseName = ua.QualifiedName.from_string("NextSequenceNumber") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") + node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EventNotificationsCount") + attrs.DisplayName = ua.LocalizedText("NextSequenceNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -22784,35 +22632,35 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12804") + ref.SourceNodeId = ua.NodeId.from_string("i=8897") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12804") + ref.SourceNodeId = ua.NodeId.from_string("i=8897") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12804") + ref.SourceNodeId = ua.NodeId.from_string("i=8897") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.TargetNodeId = ua.NodeId.from_string("i=2172") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12805") - node.BrowseName = ua.QualifiedName.from_string("NotificationsCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8902") + node.BrowseName = ua.QualifiedName.from_string("EventQueueOverflowCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") + node.ParentNodeId = ua.NodeId.from_string("i=2172") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("NotificationsCount") + attrs.DisplayName = ua.LocalizedText("EventQueueOverflowCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -22821,641 +22669,399 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12805") + ref.SourceNodeId = ua.NodeId.from_string("i=8902") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12805") + ref.SourceNodeId = ua.NodeId.from_string("i=8902") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12805") + ref.SourceNodeId = ua.NodeId.from_string("i=8902") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.TargetNodeId = ua.NodeId.from_string("i=2172") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12806") - node.BrowseName = ua.QualifiedName.from_string("LatePublishRequestCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LatePublishRequestCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) - attrs.ValueRank = -1 + node.RequestedNewNodeId = ua.NodeId.from_string("i=2196") + node.BrowseName = ua.QualifiedName.from_string("SessionDiagnosticsArrayType") + node.NodeClass = ua.NodeClass.VariableType + node.ParentNodeId = ua.NodeId.from_string("i=63") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.VariableTypeAttributes() + attrs.DisplayName = ua.LocalizedText("SessionDiagnosticsArrayType") + attrs.DisplayName = ua.LocalizedText("SessionDiagnosticsArrayType") + attrs.DataType = ua.NodeId.from_string("i=865") + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12806") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12806") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2196") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=12816") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12806") + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=2196") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12807") - node.BrowseName = ua.QualifiedName.from_string("CurrentKeepAliveCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12816") + node.BrowseName = ua.QualifiedName.from_string("SessionDiagnostics") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") + node.ParentNodeId = ua.NodeId.from_string("i=2196") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.TypeDefinition = ua.NodeId.from_string("i=2197") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentKeepAliveCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.DisplayName = ua.LocalizedText("SessionDiagnostics") + attrs.DataType = ua.NodeId.from_string("i=865") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12807") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=12817") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12807") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=12818") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12807") + ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.TargetNodeId = ua.NodeId.from_string("i=12819") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12808") - node.BrowseName = ua.QualifiedName.from_string("CurrentLifetimeCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentLifetimeCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12808") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=12820") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12808") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=12821") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12808") + ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.TargetNodeId = ua.NodeId.from_string("i=12822") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12809") - node.BrowseName = ua.QualifiedName.from_string("UnacknowledgedMessageCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("UnacknowledgedMessageCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12809") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=12823") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12809") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=12824") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12809") + ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.TargetNodeId = ua.NodeId.from_string("i=12825") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12810") - node.BrowseName = ua.QualifiedName.from_string("DiscardedMessageCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DiscardedMessageCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12810") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=12826") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12810") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=12827") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12810") + ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.TargetNodeId = ua.NodeId.from_string("i=12828") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12811") - node.BrowseName = ua.QualifiedName.from_string("MonitoredItemCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MonitoredItemCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12811") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=12829") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12811") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=12830") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12811") + ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.TargetNodeId = ua.NodeId.from_string("i=12831") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12812") - node.BrowseName = ua.QualifiedName.from_string("DisabledMonitoredItemCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DisabledMonitoredItemCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12812") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=12832") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12812") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=12833") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12812") + ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") - refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12813") - node.BrowseName = ua.QualifiedName.from_string("MonitoringQueueOverflowCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MonitoringQueueOverflowCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12813") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12813") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12813") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") - refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12814") - node.BrowseName = ua.QualifiedName.from_string("NextSequenceNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("NextSequenceNumber") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12814") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12814") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12814") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") - refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12815") - node.BrowseName = ua.QualifiedName.from_string("EventQueueOverFlowCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EventQueueOverFlowCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12815") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12815") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12815") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") - refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2172") - node.BrowseName = ua.QualifiedName.from_string("SubscriptionDiagnosticsType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=63") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("SubscriptionDiagnosticsType") - attrs.DisplayName = ua.LocalizedText("SubscriptionDiagnosticsType") - attrs.DataType = ua.NodeId.from_string("i=874") - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2173") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2174") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2175") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2176") + ref.TargetNodeId = ua.NodeId.from_string("i=12834") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") + ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2177") + ref.TargetNodeId = ua.NodeId.from_string("i=12835") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") + ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8888") + ref.TargetNodeId = ua.NodeId.from_string("i=12836") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") + ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2179") + ref.TargetNodeId = ua.NodeId.from_string("i=12837") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") + ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2180") + ref.TargetNodeId = ua.NodeId.from_string("i=12838") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") + ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2181") + ref.TargetNodeId = ua.NodeId.from_string("i=12839") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") + ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2182") + ref.TargetNodeId = ua.NodeId.from_string("i=12840") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") + ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2183") + ref.TargetNodeId = ua.NodeId.from_string("i=12841") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") + ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2184") + ref.TargetNodeId = ua.NodeId.from_string("i=12842") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") + ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2185") + ref.TargetNodeId = ua.NodeId.from_string("i=12843") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") + ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2186") + ref.TargetNodeId = ua.NodeId.from_string("i=12844") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") + ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2187") + ref.TargetNodeId = ua.NodeId.from_string("i=12845") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") + ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2188") + ref.TargetNodeId = ua.NodeId.from_string("i=12846") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") + ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2189") + ref.TargetNodeId = ua.NodeId.from_string("i=12847") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") + ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2190") + ref.TargetNodeId = ua.NodeId.from_string("i=12848") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") + ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2191") + ref.TargetNodeId = ua.NodeId.from_string("i=12849") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") + ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2998") + ref.TargetNodeId = ua.NodeId.from_string("i=12850") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") + ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2193") + ref.TargetNodeId = ua.NodeId.from_string("i=12851") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") + ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8889") + ref.TargetNodeId = ua.NodeId.from_string("i=12852") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") + ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8890") + ref.TargetNodeId = ua.NodeId.from_string("i=12853") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") + ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8891") + ref.TargetNodeId = ua.NodeId.from_string("i=12854") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") + ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8892") + ref.TargetNodeId = ua.NodeId.from_string("i=12855") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") + ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8893") + ref.TargetNodeId = ua.NodeId.from_string("i=12856") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") + ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8894") + ref.TargetNodeId = ua.NodeId.from_string("i=12857") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") + ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8895") + ref.TargetNodeId = ua.NodeId.from_string("i=12858") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") + ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8896") + ref.TargetNodeId = ua.NodeId.from_string("i=12859") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8897") + ref.TargetNodeId = ua.NodeId.from_string("i=2197") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8902") + ref.TargetNodeId = ua.NodeId.from_string("i=83") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12816") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=2196") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2173") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12817") node.BrowseName = ua.QualifiedName.from_string("SessionId") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") + node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() @@ -23468,36 +23074,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2173") + ref.SourceNodeId = ua.NodeId.from_string("i=12817") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2173") + ref.SourceNodeId = ua.NodeId.from_string("i=12817") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2173") + ref.SourceNodeId = ua.NodeId.from_string("i=12817") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.TargetNodeId = ua.NodeId.from_string("i=12816") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2174") - node.BrowseName = ua.QualifiedName.from_string("SubscriptionId") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12818") + node.BrowseName = ua.QualifiedName.from_string("SessionName") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") + node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SubscriptionId") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.DisplayName = ua.LocalizedText("SessionName") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -23505,36 +23111,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2174") + ref.SourceNodeId = ua.NodeId.from_string("i=12818") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2174") + ref.SourceNodeId = ua.NodeId.from_string("i=12818") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2174") + ref.SourceNodeId = ua.NodeId.from_string("i=12818") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.TargetNodeId = ua.NodeId.from_string("i=12816") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2175") - node.BrowseName = ua.QualifiedName.from_string("Priority") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12819") + node.BrowseName = ua.QualifiedName.from_string("ClientDescription") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") + node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Priority") - attrs.DataType = ua.NodeId(ua.ObjectIds.Byte) + attrs.DisplayName = ua.LocalizedText("ClientDescription") + attrs.DataType = ua.NodeId.from_string("i=308") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -23542,36 +23148,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2175") + ref.SourceNodeId = ua.NodeId.from_string("i=12819") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2175") + ref.SourceNodeId = ua.NodeId.from_string("i=12819") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2175") + ref.SourceNodeId = ua.NodeId.from_string("i=12819") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.TargetNodeId = ua.NodeId.from_string("i=12816") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2176") - node.BrowseName = ua.QualifiedName.from_string("PublishingInterval") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12820") + node.BrowseName = ua.QualifiedName.from_string("ServerUri") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") + node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("PublishingInterval") - attrs.DataType = ua.NodeId(ua.ObjectIds.Double) + attrs.DisplayName = ua.LocalizedText("ServerUri") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -23579,36 +23185,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2176") + ref.SourceNodeId = ua.NodeId.from_string("i=12820") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2176") + ref.SourceNodeId = ua.NodeId.from_string("i=12820") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2176") + ref.SourceNodeId = ua.NodeId.from_string("i=12820") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.TargetNodeId = ua.NodeId.from_string("i=12816") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2177") - node.BrowseName = ua.QualifiedName.from_string("MaxKeepAliveCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12821") + node.BrowseName = ua.QualifiedName.from_string("EndpointUrl") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") + node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MaxKeepAliveCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.DisplayName = ua.LocalizedText("EndpointUrl") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -23616,73 +23222,73 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2177") + ref.SourceNodeId = ua.NodeId.from_string("i=12821") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2177") + ref.SourceNodeId = ua.NodeId.from_string("i=12821") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2177") + ref.SourceNodeId = ua.NodeId.from_string("i=12821") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.TargetNodeId = ua.NodeId.from_string("i=12816") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8888") - node.BrowseName = ua.QualifiedName.from_string("MaxLifetimeCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12822") + node.BrowseName = ua.QualifiedName.from_string("LocaleIds") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") + node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MaxLifetimeCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("LocaleIds") + attrs.DataType = ua.NodeId.from_string("i=295") + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8888") + ref.SourceNodeId = ua.NodeId.from_string("i=12822") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=8888") + ref.SourceNodeId = ua.NodeId.from_string("i=12822") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8888") + ref.SourceNodeId = ua.NodeId.from_string("i=12822") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.TargetNodeId = ua.NodeId.from_string("i=12816") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2179") - node.BrowseName = ua.QualifiedName.from_string("MaxNotificationsPerPublish") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12823") + node.BrowseName = ua.QualifiedName.from_string("ActualSessionTimeout") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") + node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MaxNotificationsPerPublish") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.DisplayName = ua.LocalizedText("ActualSessionTimeout") + attrs.DataType = ua.NodeId.from_string("i=290") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -23690,36 +23296,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2179") + ref.SourceNodeId = ua.NodeId.from_string("i=12823") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2179") + ref.SourceNodeId = ua.NodeId.from_string("i=12823") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2179") + ref.SourceNodeId = ua.NodeId.from_string("i=12823") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.TargetNodeId = ua.NodeId.from_string("i=12816") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2180") - node.BrowseName = ua.QualifiedName.from_string("PublishingEnabled") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12824") + node.BrowseName = ua.QualifiedName.from_string("MaxResponseMessageSize") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") + node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("PublishingEnabled") - attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) + attrs.DisplayName = ua.LocalizedText("MaxResponseMessageSize") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -23727,36 +23333,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2180") + ref.SourceNodeId = ua.NodeId.from_string("i=12824") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2180") + ref.SourceNodeId = ua.NodeId.from_string("i=12824") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2180") + ref.SourceNodeId = ua.NodeId.from_string("i=12824") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.TargetNodeId = ua.NodeId.from_string("i=12816") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2181") - node.BrowseName = ua.QualifiedName.from_string("ModifyCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12825") + node.BrowseName = ua.QualifiedName.from_string("ClientConnectionTime") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") + node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ModifyCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.DisplayName = ua.LocalizedText("ClientConnectionTime") + attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -23764,36 +23370,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2181") + ref.SourceNodeId = ua.NodeId.from_string("i=12825") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2181") + ref.SourceNodeId = ua.NodeId.from_string("i=12825") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2181") + ref.SourceNodeId = ua.NodeId.from_string("i=12825") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.TargetNodeId = ua.NodeId.from_string("i=12816") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2182") - node.BrowseName = ua.QualifiedName.from_string("EnableCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12826") + node.BrowseName = ua.QualifiedName.from_string("ClientLastContactTime") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") + node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EnableCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.DisplayName = ua.LocalizedText("ClientLastContactTime") + attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -23801,35 +23407,35 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2182") + ref.SourceNodeId = ua.NodeId.from_string("i=12826") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2182") + ref.SourceNodeId = ua.NodeId.from_string("i=12826") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2182") + ref.SourceNodeId = ua.NodeId.from_string("i=12826") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.TargetNodeId = ua.NodeId.from_string("i=12816") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2183") - node.BrowseName = ua.QualifiedName.from_string("DisableCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12827") + node.BrowseName = ua.QualifiedName.from_string("CurrentSubscriptionsCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") + node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DisableCount") + attrs.DisplayName = ua.LocalizedText("CurrentSubscriptionsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -23838,35 +23444,35 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2183") + ref.SourceNodeId = ua.NodeId.from_string("i=12827") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2183") + ref.SourceNodeId = ua.NodeId.from_string("i=12827") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2183") + ref.SourceNodeId = ua.NodeId.from_string("i=12827") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.TargetNodeId = ua.NodeId.from_string("i=12816") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2184") - node.BrowseName = ua.QualifiedName.from_string("RepublishRequestCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12828") + node.BrowseName = ua.QualifiedName.from_string("CurrentMonitoredItemsCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") + node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RepublishRequestCount") + attrs.DisplayName = ua.LocalizedText("CurrentMonitoredItemsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -23875,35 +23481,35 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2184") + ref.SourceNodeId = ua.NodeId.from_string("i=12828") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2184") + ref.SourceNodeId = ua.NodeId.from_string("i=12828") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2184") + ref.SourceNodeId = ua.NodeId.from_string("i=12828") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.TargetNodeId = ua.NodeId.from_string("i=12816") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2185") - node.BrowseName = ua.QualifiedName.from_string("RepublishMessageRequestCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12829") + node.BrowseName = ua.QualifiedName.from_string("CurrentPublishRequestsInQueue") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") + node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RepublishMessageRequestCount") + attrs.DisplayName = ua.LocalizedText("CurrentPublishRequestsInQueue") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -23912,36 +23518,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2185") + ref.SourceNodeId = ua.NodeId.from_string("i=12829") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2185") + ref.SourceNodeId = ua.NodeId.from_string("i=12829") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2185") + ref.SourceNodeId = ua.NodeId.from_string("i=12829") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.TargetNodeId = ua.NodeId.from_string("i=12816") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2186") - node.BrowseName = ua.QualifiedName.from_string("RepublishMessageCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12830") + node.BrowseName = ua.QualifiedName.from_string("TotalRequestCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") + node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RepublishMessageCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.DisplayName = ua.LocalizedText("TotalRequestCount") + attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -23949,35 +23555,35 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2186") + ref.SourceNodeId = ua.NodeId.from_string("i=12830") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2186") + ref.SourceNodeId = ua.NodeId.from_string("i=12830") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2186") + ref.SourceNodeId = ua.NodeId.from_string("i=12830") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.TargetNodeId = ua.NodeId.from_string("i=12816") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2187") - node.BrowseName = ua.QualifiedName.from_string("TransferRequestCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12831") + node.BrowseName = ua.QualifiedName.from_string("UnauthorizedRequestCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") + node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransferRequestCount") + attrs.DisplayName = ua.LocalizedText("UnauthorizedRequestCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -23986,36 +23592,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2187") + ref.SourceNodeId = ua.NodeId.from_string("i=12831") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2187") + ref.SourceNodeId = ua.NodeId.from_string("i=12831") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2187") + ref.SourceNodeId = ua.NodeId.from_string("i=12831") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.TargetNodeId = ua.NodeId.from_string("i=12816") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2188") - node.BrowseName = ua.QualifiedName.from_string("TransferredToAltClientCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12832") + node.BrowseName = ua.QualifiedName.from_string("ReadCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") + node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransferredToAltClientCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.DisplayName = ua.LocalizedText("ReadCount") + attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -24023,36 +23629,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2188") + ref.SourceNodeId = ua.NodeId.from_string("i=12832") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2188") + ref.SourceNodeId = ua.NodeId.from_string("i=12832") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2188") + ref.SourceNodeId = ua.NodeId.from_string("i=12832") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.TargetNodeId = ua.NodeId.from_string("i=12816") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2189") - node.BrowseName = ua.QualifiedName.from_string("TransferredToSameClientCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12833") + node.BrowseName = ua.QualifiedName.from_string("HistoryReadCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") + node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransferredToSameClientCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.DisplayName = ua.LocalizedText("HistoryReadCount") + attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -24060,36 +23666,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2189") + ref.SourceNodeId = ua.NodeId.from_string("i=12833") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2189") + ref.SourceNodeId = ua.NodeId.from_string("i=12833") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2189") + ref.SourceNodeId = ua.NodeId.from_string("i=12833") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.TargetNodeId = ua.NodeId.from_string("i=12816") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2190") - node.BrowseName = ua.QualifiedName.from_string("PublishRequestCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12834") + node.BrowseName = ua.QualifiedName.from_string("WriteCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") + node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("PublishRequestCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.DisplayName = ua.LocalizedText("WriteCount") + attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -24097,36 +23703,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2190") + ref.SourceNodeId = ua.NodeId.from_string("i=12834") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2190") + ref.SourceNodeId = ua.NodeId.from_string("i=12834") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2190") + ref.SourceNodeId = ua.NodeId.from_string("i=12834") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.TargetNodeId = ua.NodeId.from_string("i=12816") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2191") - node.BrowseName = ua.QualifiedName.from_string("DataChangeNotificationsCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12835") + node.BrowseName = ua.QualifiedName.from_string("HistoryUpdateCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") + node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DataChangeNotificationsCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.DisplayName = ua.LocalizedText("HistoryUpdateCount") + attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -24134,36 +23740,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2191") + ref.SourceNodeId = ua.NodeId.from_string("i=12835") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2191") + ref.SourceNodeId = ua.NodeId.from_string("i=12835") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2191") + ref.SourceNodeId = ua.NodeId.from_string("i=12835") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.TargetNodeId = ua.NodeId.from_string("i=12816") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2998") - node.BrowseName = ua.QualifiedName.from_string("EventNotificationsCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12836") + node.BrowseName = ua.QualifiedName.from_string("CallCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") + node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EventNotificationsCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.DisplayName = ua.LocalizedText("CallCount") + attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -24171,36 +23777,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2998") + ref.SourceNodeId = ua.NodeId.from_string("i=12836") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2998") + ref.SourceNodeId = ua.NodeId.from_string("i=12836") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2998") + ref.SourceNodeId = ua.NodeId.from_string("i=12836") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.TargetNodeId = ua.NodeId.from_string("i=12816") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2193") - node.BrowseName = ua.QualifiedName.from_string("NotificationsCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12837") + node.BrowseName = ua.QualifiedName.from_string("CreateMonitoredItemsCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") + node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("NotificationsCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.DisplayName = ua.LocalizedText("CreateMonitoredItemsCount") + attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -24208,36 +23814,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2193") + ref.SourceNodeId = ua.NodeId.from_string("i=12837") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2193") + ref.SourceNodeId = ua.NodeId.from_string("i=12837") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2193") + ref.SourceNodeId = ua.NodeId.from_string("i=12837") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.TargetNodeId = ua.NodeId.from_string("i=12816") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8889") - node.BrowseName = ua.QualifiedName.from_string("LatePublishRequestCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12838") + node.BrowseName = ua.QualifiedName.from_string("ModifyMonitoredItemsCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") + node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LatePublishRequestCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.DisplayName = ua.LocalizedText("ModifyMonitoredItemsCount") + attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -24245,36 +23851,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8889") + ref.SourceNodeId = ua.NodeId.from_string("i=12838") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=8889") + ref.SourceNodeId = ua.NodeId.from_string("i=12838") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8889") + ref.SourceNodeId = ua.NodeId.from_string("i=12838") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.TargetNodeId = ua.NodeId.from_string("i=12816") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8890") - node.BrowseName = ua.QualifiedName.from_string("CurrentKeepAliveCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12839") + node.BrowseName = ua.QualifiedName.from_string("SetMonitoringModeCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") + node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentKeepAliveCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.DisplayName = ua.LocalizedText("SetMonitoringModeCount") + attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -24282,36 +23888,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8890") + ref.SourceNodeId = ua.NodeId.from_string("i=12839") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=8890") + ref.SourceNodeId = ua.NodeId.from_string("i=12839") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8890") + ref.SourceNodeId = ua.NodeId.from_string("i=12839") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.TargetNodeId = ua.NodeId.from_string("i=12816") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8891") - node.BrowseName = ua.QualifiedName.from_string("CurrentLifetimeCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12840") + node.BrowseName = ua.QualifiedName.from_string("SetTriggeringCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") + node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentLifetimeCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.DisplayName = ua.LocalizedText("SetTriggeringCount") + attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -24319,36 +23925,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8891") + ref.SourceNodeId = ua.NodeId.from_string("i=12840") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=8891") + ref.SourceNodeId = ua.NodeId.from_string("i=12840") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8891") + ref.SourceNodeId = ua.NodeId.from_string("i=12840") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.TargetNodeId = ua.NodeId.from_string("i=12816") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8892") - node.BrowseName = ua.QualifiedName.from_string("UnacknowledgedMessageCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12841") + node.BrowseName = ua.QualifiedName.from_string("DeleteMonitoredItemsCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") + node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("UnacknowledgedMessageCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.DisplayName = ua.LocalizedText("DeleteMonitoredItemsCount") + attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -24356,36 +23962,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8892") + ref.SourceNodeId = ua.NodeId.from_string("i=12841") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=8892") + ref.SourceNodeId = ua.NodeId.from_string("i=12841") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8892") + ref.SourceNodeId = ua.NodeId.from_string("i=12841") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.TargetNodeId = ua.NodeId.from_string("i=12816") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8893") - node.BrowseName = ua.QualifiedName.from_string("DiscardedMessageCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12842") + node.BrowseName = ua.QualifiedName.from_string("CreateSubscriptionCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") + node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DiscardedMessageCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.DisplayName = ua.LocalizedText("CreateSubscriptionCount") + attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -24393,36 +23999,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8893") + ref.SourceNodeId = ua.NodeId.from_string("i=12842") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=8893") + ref.SourceNodeId = ua.NodeId.from_string("i=12842") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8893") + ref.SourceNodeId = ua.NodeId.from_string("i=12842") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.TargetNodeId = ua.NodeId.from_string("i=12816") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8894") - node.BrowseName = ua.QualifiedName.from_string("MonitoredItemCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12843") + node.BrowseName = ua.QualifiedName.from_string("ModifySubscriptionCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") + node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MonitoredItemCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.DisplayName = ua.LocalizedText("ModifySubscriptionCount") + attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -24430,36 +24036,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8894") + ref.SourceNodeId = ua.NodeId.from_string("i=12843") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=8894") + ref.SourceNodeId = ua.NodeId.from_string("i=12843") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8894") + ref.SourceNodeId = ua.NodeId.from_string("i=12843") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.TargetNodeId = ua.NodeId.from_string("i=12816") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8895") - node.BrowseName = ua.QualifiedName.from_string("DisabledMonitoredItemCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12844") + node.BrowseName = ua.QualifiedName.from_string("SetPublishingModeCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") + node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DisabledMonitoredItemCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.DisplayName = ua.LocalizedText("SetPublishingModeCount") + attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -24467,36 +24073,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8895") + ref.SourceNodeId = ua.NodeId.from_string("i=12844") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=8895") + ref.SourceNodeId = ua.NodeId.from_string("i=12844") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8895") + ref.SourceNodeId = ua.NodeId.from_string("i=12844") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.TargetNodeId = ua.NodeId.from_string("i=12816") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8896") - node.BrowseName = ua.QualifiedName.from_string("MonitoringQueueOverflowCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12845") + node.BrowseName = ua.QualifiedName.from_string("PublishCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") + node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MonitoringQueueOverflowCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.DisplayName = ua.LocalizedText("PublishCount") + attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -24504,36 +24110,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8896") + ref.SourceNodeId = ua.NodeId.from_string("i=12845") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=8896") + ref.SourceNodeId = ua.NodeId.from_string("i=12845") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8896") + ref.SourceNodeId = ua.NodeId.from_string("i=12845") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.TargetNodeId = ua.NodeId.from_string("i=12816") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8897") - node.BrowseName = ua.QualifiedName.from_string("NextSequenceNumber") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12846") + node.BrowseName = ua.QualifiedName.from_string("RepublishCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") + node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("NextSequenceNumber") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.DisplayName = ua.LocalizedText("RepublishCount") + attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -24541,36 +24147,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8897") + ref.SourceNodeId = ua.NodeId.from_string("i=12846") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=8897") + ref.SourceNodeId = ua.NodeId.from_string("i=12846") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8897") + ref.SourceNodeId = ua.NodeId.from_string("i=12846") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.TargetNodeId = ua.NodeId.from_string("i=12816") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8902") - node.BrowseName = ua.QualifiedName.from_string("EventQueueOverFlowCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12847") + node.BrowseName = ua.QualifiedName.from_string("TransferSubscriptionsCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") + node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EventQueueOverFlowCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.DisplayName = ua.LocalizedText("TransferSubscriptionsCount") + attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -24578,399 +24184,799 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8902") + ref.SourceNodeId = ua.NodeId.from_string("i=12847") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=8902") + ref.SourceNodeId = ua.NodeId.from_string("i=12847") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8902") + ref.SourceNodeId = ua.NodeId.from_string("i=12847") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.TargetNodeId = ua.NodeId.from_string("i=12816") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2196") - node.BrowseName = ua.QualifiedName.from_string("SessionDiagnosticsArrayType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=63") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("SessionDiagnosticsArrayType") - attrs.DisplayName = ua.LocalizedText("SessionDiagnosticsArrayType") - attrs.DataType = ua.NodeId.from_string("i=865") - attrs.ValueRank = 1 + node.RequestedNewNodeId = ua.NodeId.from_string("i=12848") + node.BrowseName = ua.QualifiedName.from_string("DeleteSubscriptionsCount") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("DeleteSubscriptionsCount") + attrs.DataType = ua.NodeId.from_string("i=871") + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2196") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12848") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.TargetNodeId = ua.NodeId.from_string("i=63") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=12848") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2196") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12848") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=12816") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12816") - node.BrowseName = ua.QualifiedName.from_string("SessionDiagnostics") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12849") + node.BrowseName = ua.QualifiedName.from_string("AddNodesCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2196") + node.ParentNodeId = ua.NodeId.from_string("i=12816") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2197") + node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SessionDiagnostics") - attrs.DataType = ua.NodeId.from_string("i=865") + attrs.DisplayName = ua.LocalizedText("AddNodesCount") + attrs.DataType = ua.NodeId.from_string("i=871") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12849") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12817") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=12849") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12818") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") + ref.SourceNodeId = ua.NodeId.from_string("i=12849") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12819") + ref.TargetNodeId = ua.NodeId.from_string("i=12816") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12850") + node.BrowseName = ua.QualifiedName.from_string("AddReferencesCount") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("AddReferencesCount") + attrs.DataType = ua.NodeId.from_string("i=871") + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12850") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12820") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=12850") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12821") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") + ref.SourceNodeId = ua.NodeId.from_string("i=12850") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12822") + ref.TargetNodeId = ua.NodeId.from_string("i=12816") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12851") + node.BrowseName = ua.QualifiedName.from_string("DeleteNodesCount") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("DeleteNodesCount") + attrs.DataType = ua.NodeId.from_string("i=871") + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12851") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12823") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=12851") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12824") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") + ref.SourceNodeId = ua.NodeId.from_string("i=12851") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12825") + ref.TargetNodeId = ua.NodeId.from_string("i=12816") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12852") + node.BrowseName = ua.QualifiedName.from_string("DeleteReferencesCount") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("DeleteReferencesCount") + attrs.DataType = ua.NodeId.from_string("i=871") + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12852") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12826") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=12852") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12827") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") + ref.SourceNodeId = ua.NodeId.from_string("i=12852") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12828") + ref.TargetNodeId = ua.NodeId.from_string("i=12816") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12853") + node.BrowseName = ua.QualifiedName.from_string("BrowseCount") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("BrowseCount") + attrs.DataType = ua.NodeId.from_string("i=871") + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12853") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12829") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=12853") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12830") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") + ref.SourceNodeId = ua.NodeId.from_string("i=12853") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12831") + ref.TargetNodeId = ua.NodeId.from_string("i=12816") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12854") + node.BrowseName = ua.QualifiedName.from_string("BrowseNextCount") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("BrowseNextCount") + attrs.DataType = ua.NodeId.from_string("i=871") + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12854") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12832") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=12854") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") + ref.SourceNodeId = ua.NodeId.from_string("i=12854") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12833") + ref.TargetNodeId = ua.NodeId.from_string("i=12816") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12855") + node.BrowseName = ua.QualifiedName.from_string("TranslateBrowsePathsToNodeIdsCount") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("TranslateBrowsePathsToNodeIdsCount") + attrs.DataType = ua.NodeId.from_string("i=871") + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12855") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=12855") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") + ref.SourceNodeId = ua.NodeId.from_string("i=12855") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12834") + ref.TargetNodeId = ua.NodeId.from_string("i=12816") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12856") + node.BrowseName = ua.QualifiedName.from_string("QueryFirstCount") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("QueryFirstCount") + attrs.DataType = ua.NodeId.from_string("i=871") + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12856") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=12856") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") + ref.SourceNodeId = ua.NodeId.from_string("i=12856") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12835") + ref.TargetNodeId = ua.NodeId.from_string("i=12816") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12857") + node.BrowseName = ua.QualifiedName.from_string("QueryNextCount") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("QueryNextCount") + attrs.DataType = ua.NodeId.from_string("i=871") + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12857") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=12857") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") + ref.SourceNodeId = ua.NodeId.from_string("i=12857") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12836") + ref.TargetNodeId = ua.NodeId.from_string("i=12816") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12858") + node.BrowseName = ua.QualifiedName.from_string("RegisterNodesCount") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("RegisterNodesCount") + attrs.DataType = ua.NodeId.from_string("i=871") + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12858") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=12858") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") + ref.SourceNodeId = ua.NodeId.from_string("i=12858") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12837") + ref.TargetNodeId = ua.NodeId.from_string("i=12816") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12859") + node.BrowseName = ua.QualifiedName.from_string("UnregisterNodesCount") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("UnregisterNodesCount") + attrs.DataType = ua.NodeId.from_string("i=871") + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12859") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=12859") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") + ref.SourceNodeId = ua.NodeId.from_string("i=12859") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12838") + ref.TargetNodeId = ua.NodeId.from_string("i=12816") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=2197") + node.BrowseName = ua.QualifiedName.from_string("SessionDiagnosticsVariableType") + node.NodeClass = ua.NodeClass.VariableType + node.ParentNodeId = ua.NodeId.from_string("i=63") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.VariableTypeAttributes() + attrs.DisplayName = ua.LocalizedText("SessionDiagnosticsVariableType") + attrs.DisplayName = ua.LocalizedText("SessionDiagnosticsVariableType") + attrs.DataType = ua.NodeId.from_string("i=865") + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") + ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12839") + ref.TargetNodeId = ua.NodeId.from_string("i=2198") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") + ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12840") + ref.TargetNodeId = ua.NodeId.from_string("i=2199") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") + ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12841") + ref.TargetNodeId = ua.NodeId.from_string("i=2200") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") + ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12842") + ref.TargetNodeId = ua.NodeId.from_string("i=2201") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") + ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12843") + ref.TargetNodeId = ua.NodeId.from_string("i=2202") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") + ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12844") + ref.TargetNodeId = ua.NodeId.from_string("i=2203") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") + ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12845") + ref.TargetNodeId = ua.NodeId.from_string("i=2204") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") + ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12846") + ref.TargetNodeId = ua.NodeId.from_string("i=3050") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") + ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12847") + ref.TargetNodeId = ua.NodeId.from_string("i=2205") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") + ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12848") + ref.TargetNodeId = ua.NodeId.from_string("i=2206") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") + ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12849") + ref.TargetNodeId = ua.NodeId.from_string("i=2207") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") + ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12850") + ref.TargetNodeId = ua.NodeId.from_string("i=2208") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") + ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12851") + ref.TargetNodeId = ua.NodeId.from_string("i=2209") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") + ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12852") + ref.TargetNodeId = ua.NodeId.from_string("i=8900") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") + ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12853") + ref.TargetNodeId = ua.NodeId.from_string("i=11892") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") + ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12854") + ref.TargetNodeId = ua.NodeId.from_string("i=2217") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") + ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12855") + ref.TargetNodeId = ua.NodeId.from_string("i=2218") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") + ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12856") + ref.TargetNodeId = ua.NodeId.from_string("i=2219") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") + ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12857") + ref.TargetNodeId = ua.NodeId.from_string("i=2220") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") + ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12858") + ref.TargetNodeId = ua.NodeId.from_string("i=2221") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") + ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12859") + ref.TargetNodeId = ua.NodeId.from_string("i=2222") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeId = ua.NodeId.from_string("i=2223") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=83") + ref.TargetNodeId = ua.NodeId.from_string("i=2224") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") + ref.SourceNodeId = ua.NodeId.from_string("i=2197") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2196") + ref.TargetNodeId = ua.NodeId.from_string("i=2225") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2226") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2227") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2228") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2229") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2230") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2231") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2232") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2233") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2234") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2235") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2236") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2237") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2238") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2239") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2240") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2241") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2242") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2730") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2731") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12817") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2198") node.BrowseName = ua.QualifiedName.from_string("SessionId") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() @@ -24983,31 +24989,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12817") + ref.SourceNodeId = ua.NodeId.from_string("i=2198") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12817") + ref.SourceNodeId = ua.NodeId.from_string("i=2198") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12817") + ref.SourceNodeId = ua.NodeId.from_string("i=2198") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.TargetNodeId = ua.NodeId.from_string("i=2197") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12818") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2199") node.BrowseName = ua.QualifiedName.from_string("SessionName") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() @@ -25020,31 +25026,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12818") + ref.SourceNodeId = ua.NodeId.from_string("i=2199") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12818") + ref.SourceNodeId = ua.NodeId.from_string("i=2199") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12818") + ref.SourceNodeId = ua.NodeId.from_string("i=2199") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.TargetNodeId = ua.NodeId.from_string("i=2197") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12819") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2200") node.BrowseName = ua.QualifiedName.from_string("ClientDescription") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() @@ -25057,31 +25063,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12819") + ref.SourceNodeId = ua.NodeId.from_string("i=2200") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12819") + ref.SourceNodeId = ua.NodeId.from_string("i=2200") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12819") + ref.SourceNodeId = ua.NodeId.from_string("i=2200") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.TargetNodeId = ua.NodeId.from_string("i=2197") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12820") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2201") node.BrowseName = ua.QualifiedName.from_string("ServerUri") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() @@ -25094,31 +25100,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12820") + ref.SourceNodeId = ua.NodeId.from_string("i=2201") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12820") + ref.SourceNodeId = ua.NodeId.from_string("i=2201") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12820") + ref.SourceNodeId = ua.NodeId.from_string("i=2201") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.TargetNodeId = ua.NodeId.from_string("i=2197") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12821") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2202") node.BrowseName = ua.QualifiedName.from_string("EndpointUrl") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() @@ -25131,31 +25137,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12821") + ref.SourceNodeId = ua.NodeId.from_string("i=2202") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12821") + ref.SourceNodeId = ua.NodeId.from_string("i=2202") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12821") + ref.SourceNodeId = ua.NodeId.from_string("i=2202") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.TargetNodeId = ua.NodeId.from_string("i=2197") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12822") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2203") node.BrowseName = ua.QualifiedName.from_string("LocaleIds") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() @@ -25168,31 +25174,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12822") + ref.SourceNodeId = ua.NodeId.from_string("i=2203") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12822") + ref.SourceNodeId = ua.NodeId.from_string("i=2203") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12822") + ref.SourceNodeId = ua.NodeId.from_string("i=2203") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.TargetNodeId = ua.NodeId.from_string("i=2197") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12823") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2204") node.BrowseName = ua.QualifiedName.from_string("ActualSessionTimeout") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() @@ -25205,31 +25211,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12823") + ref.SourceNodeId = ua.NodeId.from_string("i=2204") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12823") + ref.SourceNodeId = ua.NodeId.from_string("i=2204") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12823") + ref.SourceNodeId = ua.NodeId.from_string("i=2204") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.TargetNodeId = ua.NodeId.from_string("i=2197") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12824") + node.RequestedNewNodeId = ua.NodeId.from_string("i=3050") node.BrowseName = ua.QualifiedName.from_string("MaxResponseMessageSize") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() @@ -25242,31 +25248,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12824") + ref.SourceNodeId = ua.NodeId.from_string("i=3050") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12824") + ref.SourceNodeId = ua.NodeId.from_string("i=3050") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12824") + ref.SourceNodeId = ua.NodeId.from_string("i=3050") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.TargetNodeId = ua.NodeId.from_string("i=2197") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12825") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2205") node.BrowseName = ua.QualifiedName.from_string("ClientConnectionTime") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() @@ -25279,31 +25285,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12825") + ref.SourceNodeId = ua.NodeId.from_string("i=2205") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12825") + ref.SourceNodeId = ua.NodeId.from_string("i=2205") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12825") + ref.SourceNodeId = ua.NodeId.from_string("i=2205") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.TargetNodeId = ua.NodeId.from_string("i=2197") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12826") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2206") node.BrowseName = ua.QualifiedName.from_string("ClientLastContactTime") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() @@ -25316,31 +25322,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12826") + ref.SourceNodeId = ua.NodeId.from_string("i=2206") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12826") + ref.SourceNodeId = ua.NodeId.from_string("i=2206") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12826") + ref.SourceNodeId = ua.NodeId.from_string("i=2206") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.TargetNodeId = ua.NodeId.from_string("i=2197") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12827") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2207") node.BrowseName = ua.QualifiedName.from_string("CurrentSubscriptionsCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() @@ -25353,31 +25359,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12827") + ref.SourceNodeId = ua.NodeId.from_string("i=2207") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12827") + ref.SourceNodeId = ua.NodeId.from_string("i=2207") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12827") + ref.SourceNodeId = ua.NodeId.from_string("i=2207") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.TargetNodeId = ua.NodeId.from_string("i=2197") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12828") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2208") node.BrowseName = ua.QualifiedName.from_string("CurrentMonitoredItemsCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() @@ -25390,31 +25396,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12828") + ref.SourceNodeId = ua.NodeId.from_string("i=2208") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12828") + ref.SourceNodeId = ua.NodeId.from_string("i=2208") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12828") + ref.SourceNodeId = ua.NodeId.from_string("i=2208") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.TargetNodeId = ua.NodeId.from_string("i=2197") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12829") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2209") node.BrowseName = ua.QualifiedName.from_string("CurrentPublishRequestsInQueue") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() @@ -25427,31 +25433,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12829") + ref.SourceNodeId = ua.NodeId.from_string("i=2209") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12829") + ref.SourceNodeId = ua.NodeId.from_string("i=2209") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12829") + ref.SourceNodeId = ua.NodeId.from_string("i=2209") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.TargetNodeId = ua.NodeId.from_string("i=2197") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12830") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8900") node.BrowseName = ua.QualifiedName.from_string("TotalRequestCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() @@ -25464,31 +25470,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12830") + ref.SourceNodeId = ua.NodeId.from_string("i=8900") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12830") + ref.SourceNodeId = ua.NodeId.from_string("i=8900") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12830") + ref.SourceNodeId = ua.NodeId.from_string("i=8900") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.TargetNodeId = ua.NodeId.from_string("i=2197") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12831") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11892") node.BrowseName = ua.QualifiedName.from_string("UnauthorizedRequestCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() @@ -25501,31 +25507,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12831") + ref.SourceNodeId = ua.NodeId.from_string("i=11892") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12831") + ref.SourceNodeId = ua.NodeId.from_string("i=11892") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12831") + ref.SourceNodeId = ua.NodeId.from_string("i=11892") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.TargetNodeId = ua.NodeId.from_string("i=2197") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12832") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2217") node.BrowseName = ua.QualifiedName.from_string("ReadCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() @@ -25538,31 +25544,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12832") + ref.SourceNodeId = ua.NodeId.from_string("i=2217") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12832") + ref.SourceNodeId = ua.NodeId.from_string("i=2217") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12832") + ref.SourceNodeId = ua.NodeId.from_string("i=2217") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.TargetNodeId = ua.NodeId.from_string("i=2197") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12833") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2218") node.BrowseName = ua.QualifiedName.from_string("HistoryReadCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() @@ -25575,31 +25581,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12833") + ref.SourceNodeId = ua.NodeId.from_string("i=2218") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12833") + ref.SourceNodeId = ua.NodeId.from_string("i=2218") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12833") + ref.SourceNodeId = ua.NodeId.from_string("i=2218") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.TargetNodeId = ua.NodeId.from_string("i=2197") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12834") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2219") node.BrowseName = ua.QualifiedName.from_string("WriteCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() @@ -25612,31 +25618,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12834") + ref.SourceNodeId = ua.NodeId.from_string("i=2219") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12834") + ref.SourceNodeId = ua.NodeId.from_string("i=2219") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12834") + ref.SourceNodeId = ua.NodeId.from_string("i=2219") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.TargetNodeId = ua.NodeId.from_string("i=2197") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12835") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2220") node.BrowseName = ua.QualifiedName.from_string("HistoryUpdateCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() @@ -25649,31 +25655,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12835") + ref.SourceNodeId = ua.NodeId.from_string("i=2220") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12835") + ref.SourceNodeId = ua.NodeId.from_string("i=2220") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12835") + ref.SourceNodeId = ua.NodeId.from_string("i=2220") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.TargetNodeId = ua.NodeId.from_string("i=2197") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12836") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2221") node.BrowseName = ua.QualifiedName.from_string("CallCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() @@ -25686,31 +25692,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12836") + ref.SourceNodeId = ua.NodeId.from_string("i=2221") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12836") + ref.SourceNodeId = ua.NodeId.from_string("i=2221") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12836") + ref.SourceNodeId = ua.NodeId.from_string("i=2221") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.TargetNodeId = ua.NodeId.from_string("i=2197") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12837") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2222") node.BrowseName = ua.QualifiedName.from_string("CreateMonitoredItemsCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() @@ -25723,31 +25729,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12837") + ref.SourceNodeId = ua.NodeId.from_string("i=2222") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12837") + ref.SourceNodeId = ua.NodeId.from_string("i=2222") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12837") + ref.SourceNodeId = ua.NodeId.from_string("i=2222") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.TargetNodeId = ua.NodeId.from_string("i=2197") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12838") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2223") node.BrowseName = ua.QualifiedName.from_string("ModifyMonitoredItemsCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() @@ -25760,31 +25766,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12838") + ref.SourceNodeId = ua.NodeId.from_string("i=2223") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12838") + ref.SourceNodeId = ua.NodeId.from_string("i=2223") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12838") + ref.SourceNodeId = ua.NodeId.from_string("i=2223") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.TargetNodeId = ua.NodeId.from_string("i=2197") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12839") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2224") node.BrowseName = ua.QualifiedName.from_string("SetMonitoringModeCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() @@ -25797,31 +25803,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12839") + ref.SourceNodeId = ua.NodeId.from_string("i=2224") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12839") + ref.SourceNodeId = ua.NodeId.from_string("i=2224") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12839") + ref.SourceNodeId = ua.NodeId.from_string("i=2224") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.TargetNodeId = ua.NodeId.from_string("i=2197") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12840") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2225") node.BrowseName = ua.QualifiedName.from_string("SetTriggeringCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() @@ -25834,31 +25840,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12840") + ref.SourceNodeId = ua.NodeId.from_string("i=2225") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12840") + ref.SourceNodeId = ua.NodeId.from_string("i=2225") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12840") + ref.SourceNodeId = ua.NodeId.from_string("i=2225") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.TargetNodeId = ua.NodeId.from_string("i=2197") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12841") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2226") node.BrowseName = ua.QualifiedName.from_string("DeleteMonitoredItemsCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() @@ -25871,31 +25877,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12841") + ref.SourceNodeId = ua.NodeId.from_string("i=2226") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12841") + ref.SourceNodeId = ua.NodeId.from_string("i=2226") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12841") + ref.SourceNodeId = ua.NodeId.from_string("i=2226") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.TargetNodeId = ua.NodeId.from_string("i=2197") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12842") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2227") node.BrowseName = ua.QualifiedName.from_string("CreateSubscriptionCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() @@ -25908,31 +25914,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12842") + ref.SourceNodeId = ua.NodeId.from_string("i=2227") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12842") + ref.SourceNodeId = ua.NodeId.from_string("i=2227") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12842") + ref.SourceNodeId = ua.NodeId.from_string("i=2227") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.TargetNodeId = ua.NodeId.from_string("i=2197") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12843") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2228") node.BrowseName = ua.QualifiedName.from_string("ModifySubscriptionCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() @@ -25945,31 +25951,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12843") + ref.SourceNodeId = ua.NodeId.from_string("i=2228") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12843") + ref.SourceNodeId = ua.NodeId.from_string("i=2228") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12843") + ref.SourceNodeId = ua.NodeId.from_string("i=2228") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.TargetNodeId = ua.NodeId.from_string("i=2197") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12844") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2229") node.BrowseName = ua.QualifiedName.from_string("SetPublishingModeCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() @@ -25982,31 +25988,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12844") + ref.SourceNodeId = ua.NodeId.from_string("i=2229") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12844") + ref.SourceNodeId = ua.NodeId.from_string("i=2229") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12844") + ref.SourceNodeId = ua.NodeId.from_string("i=2229") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.TargetNodeId = ua.NodeId.from_string("i=2197") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12845") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2230") node.BrowseName = ua.QualifiedName.from_string("PublishCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() @@ -26019,31 +26025,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12845") + ref.SourceNodeId = ua.NodeId.from_string("i=2230") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12845") + ref.SourceNodeId = ua.NodeId.from_string("i=2230") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12845") + ref.SourceNodeId = ua.NodeId.from_string("i=2230") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.TargetNodeId = ua.NodeId.from_string("i=2197") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12846") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2231") node.BrowseName = ua.QualifiedName.from_string("RepublishCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() @@ -26056,31 +26062,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12846") + ref.SourceNodeId = ua.NodeId.from_string("i=2231") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12846") + ref.SourceNodeId = ua.NodeId.from_string("i=2231") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12846") + ref.SourceNodeId = ua.NodeId.from_string("i=2231") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.TargetNodeId = ua.NodeId.from_string("i=2197") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12847") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2232") node.BrowseName = ua.QualifiedName.from_string("TransferSubscriptionsCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() @@ -26093,31 +26099,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12847") + ref.SourceNodeId = ua.NodeId.from_string("i=2232") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12847") + ref.SourceNodeId = ua.NodeId.from_string("i=2232") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12847") + ref.SourceNodeId = ua.NodeId.from_string("i=2232") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.TargetNodeId = ua.NodeId.from_string("i=2197") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12848") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2233") node.BrowseName = ua.QualifiedName.from_string("DeleteSubscriptionsCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() @@ -26130,31 +26136,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12848") + ref.SourceNodeId = ua.NodeId.from_string("i=2233") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12848") + ref.SourceNodeId = ua.NodeId.from_string("i=2233") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12848") + ref.SourceNodeId = ua.NodeId.from_string("i=2233") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.TargetNodeId = ua.NodeId.from_string("i=2197") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12849") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2234") node.BrowseName = ua.QualifiedName.from_string("AddNodesCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() @@ -26167,31 +26173,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12849") + ref.SourceNodeId = ua.NodeId.from_string("i=2234") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12849") + ref.SourceNodeId = ua.NodeId.from_string("i=2234") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12849") + ref.SourceNodeId = ua.NodeId.from_string("i=2234") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.TargetNodeId = ua.NodeId.from_string("i=2197") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12850") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2235") node.BrowseName = ua.QualifiedName.from_string("AddReferencesCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() @@ -26204,31 +26210,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12850") + ref.SourceNodeId = ua.NodeId.from_string("i=2235") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12850") + ref.SourceNodeId = ua.NodeId.from_string("i=2235") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12850") + ref.SourceNodeId = ua.NodeId.from_string("i=2235") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.TargetNodeId = ua.NodeId.from_string("i=2197") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12851") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2236") node.BrowseName = ua.QualifiedName.from_string("DeleteNodesCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() @@ -26241,31 +26247,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12851") + ref.SourceNodeId = ua.NodeId.from_string("i=2236") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12851") + ref.SourceNodeId = ua.NodeId.from_string("i=2236") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12851") + ref.SourceNodeId = ua.NodeId.from_string("i=2236") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.TargetNodeId = ua.NodeId.from_string("i=2197") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12852") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2237") node.BrowseName = ua.QualifiedName.from_string("DeleteReferencesCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() @@ -26278,31 +26284,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12852") + ref.SourceNodeId = ua.NodeId.from_string("i=2237") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12852") + ref.SourceNodeId = ua.NodeId.from_string("i=2237") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12852") + ref.SourceNodeId = ua.NodeId.from_string("i=2237") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.TargetNodeId = ua.NodeId.from_string("i=2197") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12853") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2238") node.BrowseName = ua.QualifiedName.from_string("BrowseCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() @@ -26315,31 +26321,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12853") + ref.SourceNodeId = ua.NodeId.from_string("i=2238") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12853") + ref.SourceNodeId = ua.NodeId.from_string("i=2238") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12853") + ref.SourceNodeId = ua.NodeId.from_string("i=2238") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.TargetNodeId = ua.NodeId.from_string("i=2197") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12854") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2239") node.BrowseName = ua.QualifiedName.from_string("BrowseNextCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() @@ -26352,31 +26358,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12854") + ref.SourceNodeId = ua.NodeId.from_string("i=2239") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12854") + ref.SourceNodeId = ua.NodeId.from_string("i=2239") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12854") + ref.SourceNodeId = ua.NodeId.from_string("i=2239") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.TargetNodeId = ua.NodeId.from_string("i=2197") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12855") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2240") node.BrowseName = ua.QualifiedName.from_string("TranslateBrowsePathsToNodeIdsCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() @@ -26389,31 +26395,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12855") + ref.SourceNodeId = ua.NodeId.from_string("i=2240") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12855") + ref.SourceNodeId = ua.NodeId.from_string("i=2240") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12855") + ref.SourceNodeId = ua.NodeId.from_string("i=2240") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.TargetNodeId = ua.NodeId.from_string("i=2197") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12856") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2241") node.BrowseName = ua.QualifiedName.from_string("QueryFirstCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() @@ -26426,31 +26432,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12856") + ref.SourceNodeId = ua.NodeId.from_string("i=2241") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12856") + ref.SourceNodeId = ua.NodeId.from_string("i=2241") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12856") + ref.SourceNodeId = ua.NodeId.from_string("i=2241") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.TargetNodeId = ua.NodeId.from_string("i=2197") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12857") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2242") node.BrowseName = ua.QualifiedName.from_string("QueryNextCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() @@ -26463,31 +26469,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12857") + ref.SourceNodeId = ua.NodeId.from_string("i=2242") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12857") + ref.SourceNodeId = ua.NodeId.from_string("i=2242") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12857") + ref.SourceNodeId = ua.NodeId.from_string("i=2242") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.TargetNodeId = ua.NodeId.from_string("i=2197") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12858") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2730") node.BrowseName = ua.QualifiedName.from_string("RegisterNodesCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() @@ -26500,31 +26506,31 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12858") + ref.SourceNodeId = ua.NodeId.from_string("i=2730") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12858") + ref.SourceNodeId = ua.NodeId.from_string("i=2730") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12858") + ref.SourceNodeId = ua.NodeId.from_string("i=2730") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.TargetNodeId = ua.NodeId.from_string("i=2197") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12859") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2731") node.BrowseName = ua.QualifiedName.from_string("UnregisterNodesCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") + node.ParentNodeId = ua.NodeId.from_string("i=2197") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() @@ -26537,355 +26543,580 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12859") + ref.SourceNodeId = ua.NodeId.from_string("i=2731") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12859") + ref.SourceNodeId = ua.NodeId.from_string("i=2731") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12859") + ref.SourceNodeId = ua.NodeId.from_string("i=2731") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.TargetNodeId = ua.NodeId.from_string("i=2197") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2197") - node.BrowseName = ua.QualifiedName.from_string("SessionDiagnosticsVariableType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2243") + node.BrowseName = ua.QualifiedName.from_string("SessionSecurityDiagnosticsArrayType") node.NodeClass = ua.NodeClass.VariableType node.ParentNodeId = ua.NodeId.from_string("i=63") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("SessionDiagnosticsVariableType") - attrs.DisplayName = ua.LocalizedText("SessionDiagnosticsVariableType") - attrs.DataType = ua.NodeId.from_string("i=865") - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("SessionSecurityDiagnosticsArrayType") + attrs.DisplayName = ua.LocalizedText("SessionSecurityDiagnosticsArrayType") + attrs.DataType = ua.NodeId.from_string("i=868") + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.SourceNodeId = ua.NodeId.from_string("i=2243") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2198") + ref.TargetNodeId = ua.NodeId.from_string("i=12860") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=2243") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2199") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12860") + node.BrowseName = ua.QualifiedName.from_string("SessionSecurityDiagnostics") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2243") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=2244") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("SessionSecurityDiagnostics") + attrs.DataType = ua.NodeId.from_string("i=868") + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.SourceNodeId = ua.NodeId.from_string("i=12860") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2200") + ref.TargetNodeId = ua.NodeId.from_string("i=12861") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.SourceNodeId = ua.NodeId.from_string("i=12860") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2201") + ref.TargetNodeId = ua.NodeId.from_string("i=12862") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.SourceNodeId = ua.NodeId.from_string("i=12860") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2202") + ref.TargetNodeId = ua.NodeId.from_string("i=12863") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.SourceNodeId = ua.NodeId.from_string("i=12860") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2203") + ref.TargetNodeId = ua.NodeId.from_string("i=12864") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.SourceNodeId = ua.NodeId.from_string("i=12860") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2204") + ref.TargetNodeId = ua.NodeId.from_string("i=12865") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.SourceNodeId = ua.NodeId.from_string("i=12860") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3050") + ref.TargetNodeId = ua.NodeId.from_string("i=12866") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.SourceNodeId = ua.NodeId.from_string("i=12860") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2205") + ref.TargetNodeId = ua.NodeId.from_string("i=12867") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.SourceNodeId = ua.NodeId.from_string("i=12860") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2206") + ref.TargetNodeId = ua.NodeId.from_string("i=12868") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.SourceNodeId = ua.NodeId.from_string("i=12860") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2207") + ref.TargetNodeId = ua.NodeId.from_string("i=12869") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12860") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2208") + ref.TargetNodeId = ua.NodeId.from_string("i=2244") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=12860") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2209") + ref.TargetNodeId = ua.NodeId.from_string("i=83") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.SourceNodeId = ua.NodeId.from_string("i=12860") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8900") + ref.TargetNodeId = ua.NodeId.from_string("i=2243") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12861") + node.BrowseName = ua.QualifiedName.from_string("SessionId") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=12860") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("SessionId") + attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12861") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11892") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=12861") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2217") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.SourceNodeId = ua.NodeId.from_string("i=12861") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2218") + ref.TargetNodeId = ua.NodeId.from_string("i=12860") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12862") + node.BrowseName = ua.QualifiedName.from_string("ClientUserIdOfSession") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=12860") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("ClientUserIdOfSession") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12862") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2219") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=12862") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2220") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.SourceNodeId = ua.NodeId.from_string("i=12862") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2221") + ref.TargetNodeId = ua.NodeId.from_string("i=12860") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12863") + node.BrowseName = ua.QualifiedName.from_string("ClientUserIdHistory") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=12860") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("ClientUserIdHistory") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12863") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2222") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=12863") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.SourceNodeId = ua.NodeId.from_string("i=12863") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2223") + ref.TargetNodeId = ua.NodeId.from_string("i=12860") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12864") + node.BrowseName = ua.QualifiedName.from_string("AuthenticationMechanism") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=12860") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("AuthenticationMechanism") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12864") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2224") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=12864") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.SourceNodeId = ua.NodeId.from_string("i=12864") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2225") + ref.TargetNodeId = ua.NodeId.from_string("i=12860") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12865") + node.BrowseName = ua.QualifiedName.from_string("Encoding") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=12860") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Encoding") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12865") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2226") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=12865") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.SourceNodeId = ua.NodeId.from_string("i=12865") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2227") + ref.TargetNodeId = ua.NodeId.from_string("i=12860") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12866") + node.BrowseName = ua.QualifiedName.from_string("TransportProtocol") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=12860") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("TransportProtocol") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12866") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2228") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=12866") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.SourceNodeId = ua.NodeId.from_string("i=12866") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2229") + ref.TargetNodeId = ua.NodeId.from_string("i=12860") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12867") + node.BrowseName = ua.QualifiedName.from_string("SecurityMode") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=12860") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("SecurityMode") + attrs.DataType = ua.NodeId.from_string("i=302") + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12867") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2230") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=12867") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.SourceNodeId = ua.NodeId.from_string("i=12867") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2231") + ref.TargetNodeId = ua.NodeId.from_string("i=12860") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12868") + node.BrowseName = ua.QualifiedName.from_string("SecurityPolicyUri") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=12860") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("SecurityPolicyUri") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12868") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2232") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=12868") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.SourceNodeId = ua.NodeId.from_string("i=12868") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2233") + ref.TargetNodeId = ua.NodeId.from_string("i=12860") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12869") + node.BrowseName = ua.QualifiedName.from_string("ClientCertificate") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=12860") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("ClientCertificate") + attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12869") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2234") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=12869") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.SourceNodeId = ua.NodeId.from_string("i=12869") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2235") + ref.TargetNodeId = ua.NodeId.from_string("i=12860") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=2244") + node.BrowseName = ua.QualifiedName.from_string("SessionSecurityDiagnosticsType") + node.NodeClass = ua.NodeClass.VariableType + node.ParentNodeId = ua.NodeId.from_string("i=63") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.VariableTypeAttributes() + attrs.DisplayName = ua.LocalizedText("SessionSecurityDiagnosticsType") + attrs.DisplayName = ua.LocalizedText("SessionSecurityDiagnosticsType") + attrs.DataType = ua.NodeId.from_string("i=868") + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.SourceNodeId = ua.NodeId.from_string("i=2244") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2236") + ref.TargetNodeId = ua.NodeId.from_string("i=2245") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.SourceNodeId = ua.NodeId.from_string("i=2244") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2237") + ref.TargetNodeId = ua.NodeId.from_string("i=2246") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.SourceNodeId = ua.NodeId.from_string("i=2244") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2238") + ref.TargetNodeId = ua.NodeId.from_string("i=2247") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.SourceNodeId = ua.NodeId.from_string("i=2244") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2239") + ref.TargetNodeId = ua.NodeId.from_string("i=2248") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.SourceNodeId = ua.NodeId.from_string("i=2244") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2240") + ref.TargetNodeId = ua.NodeId.from_string("i=2249") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.SourceNodeId = ua.NodeId.from_string("i=2244") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2241") + ref.TargetNodeId = ua.NodeId.from_string("i=2250") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.SourceNodeId = ua.NodeId.from_string("i=2244") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2242") + ref.TargetNodeId = ua.NodeId.from_string("i=2251") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.SourceNodeId = ua.NodeId.from_string("i=2244") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2730") + ref.TargetNodeId = ua.NodeId.from_string("i=2252") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.SourceNodeId = ua.NodeId.from_string("i=2244") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2731") + ref.TargetNodeId = ua.NodeId.from_string("i=3058") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") + ref.SourceNodeId = ua.NodeId.from_string("i=2244") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2198") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2245") node.BrowseName = ua.QualifiedName.from_string("SessionId") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") + node.ParentNodeId = ua.NodeId.from_string("i=2244") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() @@ -26898,35 +27129,35 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2198") + ref.SourceNodeId = ua.NodeId.from_string("i=2245") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2198") + ref.SourceNodeId = ua.NodeId.from_string("i=2245") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2198") + ref.SourceNodeId = ua.NodeId.from_string("i=2245") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeId = ua.NodeId.from_string("i=2244") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2199") - node.BrowseName = ua.QualifiedName.from_string("SessionName") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2246") + node.BrowseName = ua.QualifiedName.from_string("ClientUserIdOfSession") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") + node.ParentNodeId = ua.NodeId.from_string("i=2244") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SessionName") + attrs.DisplayName = ua.LocalizedText("ClientUserIdOfSession") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -26935,72 +27166,72 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2199") + ref.SourceNodeId = ua.NodeId.from_string("i=2246") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2199") + ref.SourceNodeId = ua.NodeId.from_string("i=2246") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2199") + ref.SourceNodeId = ua.NodeId.from_string("i=2246") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeId = ua.NodeId.from_string("i=2244") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2200") - node.BrowseName = ua.QualifiedName.from_string("ClientDescription") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2247") + node.BrowseName = ua.QualifiedName.from_string("ClientUserIdHistory") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") + node.ParentNodeId = ua.NodeId.from_string("i=2244") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ClientDescription") - attrs.DataType = ua.NodeId.from_string("i=308") - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("ClientUserIdHistory") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2200") + ref.SourceNodeId = ua.NodeId.from_string("i=2247") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2200") + ref.SourceNodeId = ua.NodeId.from_string("i=2247") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2200") + ref.SourceNodeId = ua.NodeId.from_string("i=2247") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeId = ua.NodeId.from_string("i=2244") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2201") - node.BrowseName = ua.QualifiedName.from_string("ServerUri") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2248") + node.BrowseName = ua.QualifiedName.from_string("AuthenticationMechanism") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") + node.ParentNodeId = ua.NodeId.from_string("i=2244") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ServerUri") + attrs.DisplayName = ua.LocalizedText("AuthenticationMechanism") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -27009,35 +27240,35 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2201") + ref.SourceNodeId = ua.NodeId.from_string("i=2248") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2201") + ref.SourceNodeId = ua.NodeId.from_string("i=2248") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2201") + ref.SourceNodeId = ua.NodeId.from_string("i=2248") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeId = ua.NodeId.from_string("i=2244") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2202") - node.BrowseName = ua.QualifiedName.from_string("EndpointUrl") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2249") + node.BrowseName = ua.QualifiedName.from_string("Encoding") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") + node.ParentNodeId = ua.NodeId.from_string("i=2244") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EndpointUrl") + attrs.DisplayName = ua.LocalizedText("Encoding") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -27046,73 +27277,73 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2202") + ref.SourceNodeId = ua.NodeId.from_string("i=2249") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2202") + ref.SourceNodeId = ua.NodeId.from_string("i=2249") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2202") + ref.SourceNodeId = ua.NodeId.from_string("i=2249") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeId = ua.NodeId.from_string("i=2244") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2203") - node.BrowseName = ua.QualifiedName.from_string("LocaleIds") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2250") + node.BrowseName = ua.QualifiedName.from_string("TransportProtocol") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") + node.ParentNodeId = ua.NodeId.from_string("i=2244") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LocaleIds") - attrs.DataType = ua.NodeId.from_string("i=295") - attrs.ValueRank = 1 + attrs.DisplayName = ua.LocalizedText("TransportProtocol") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2203") + ref.SourceNodeId = ua.NodeId.from_string("i=2250") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2203") + ref.SourceNodeId = ua.NodeId.from_string("i=2250") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2203") + ref.SourceNodeId = ua.NodeId.from_string("i=2250") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeId = ua.NodeId.from_string("i=2244") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2204") - node.BrowseName = ua.QualifiedName.from_string("ActualSessionTimeout") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2251") + node.BrowseName = ua.QualifiedName.from_string("SecurityMode") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") + node.ParentNodeId = ua.NodeId.from_string("i=2244") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ActualSessionTimeout") - attrs.DataType = ua.NodeId.from_string("i=290") + attrs.DisplayName = ua.LocalizedText("SecurityMode") + attrs.DataType = ua.NodeId.from_string("i=302") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -27120,36 +27351,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2204") + ref.SourceNodeId = ua.NodeId.from_string("i=2251") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2204") + ref.SourceNodeId = ua.NodeId.from_string("i=2251") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2204") + ref.SourceNodeId = ua.NodeId.from_string("i=2251") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeId = ua.NodeId.from_string("i=2244") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3050") - node.BrowseName = ua.QualifiedName.from_string("MaxResponseMessageSize") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2252") + node.BrowseName = ua.QualifiedName.from_string("SecurityPolicyUri") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") + node.ParentNodeId = ua.NodeId.from_string("i=2244") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MaxResponseMessageSize") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.DisplayName = ua.LocalizedText("SecurityPolicyUri") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -27157,36 +27388,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3050") + ref.SourceNodeId = ua.NodeId.from_string("i=2252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3050") + ref.SourceNodeId = ua.NodeId.from_string("i=2252") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3050") + ref.SourceNodeId = ua.NodeId.from_string("i=2252") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeId = ua.NodeId.from_string("i=2244") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2205") - node.BrowseName = ua.QualifiedName.from_string("ClientConnectionTime") + node.RequestedNewNodeId = ua.NodeId.from_string("i=3058") + node.BrowseName = ua.QualifiedName.from_string("ClientCertificate") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") + node.ParentNodeId = ua.NodeId.from_string("i=2244") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ClientConnectionTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = ua.LocalizedText("ClientCertificate") + attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -27194,258 +27425,265 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2205") + ref.SourceNodeId = ua.NodeId.from_string("i=3058") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2205") + ref.SourceNodeId = ua.NodeId.from_string("i=3058") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2205") + ref.SourceNodeId = ua.NodeId.from_string("i=3058") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeId = ua.NodeId.from_string("i=2244") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2206") - node.BrowseName = ua.QualifiedName.from_string("ClientLastContactTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ClientLastContactTime") - attrs.DataType = ua.NodeId.from_string("i=294") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11487") + node.BrowseName = ua.QualifiedName.from_string("OptionSetType") + node.NodeClass = ua.NodeClass.VariableType + node.ParentNodeId = ua.NodeId.from_string("i=63") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.VariableTypeAttributes() + attrs.DisplayName = ua.LocalizedText("OptionSetType") + attrs.DisplayName = ua.LocalizedText("OptionSetType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2206") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11487") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=11488") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2206") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11487") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=11701") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2206") + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=11487") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2207") - node.BrowseName = ua.QualifiedName.from_string("CurrentSubscriptionsCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11488") + node.BrowseName = ua.QualifiedName.from_string("OptionSetValues") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.ParentNodeId = ua.NodeId.from_string("i=11487") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentSubscriptionsCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("OptionSetValues") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2207") + ref.SourceNodeId = ua.NodeId.from_string("i=11488") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2207") + ref.SourceNodeId = ua.NodeId.from_string("i=11488") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2207") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11488") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeId = ua.NodeId.from_string("i=11487") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2208") - node.BrowseName = ua.QualifiedName.from_string("CurrentMonitoredItemsCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11701") + node.BrowseName = ua.QualifiedName.from_string("BitMask") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.ParentNodeId = ua.NodeId.from_string("i=11487") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentMonitoredItemsCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("BitMask") + attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2208") + ref.SourceNodeId = ua.NodeId.from_string("i=11701") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2208") + ref.SourceNodeId = ua.NodeId.from_string("i=11701") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2208") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11701") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeId = ua.NodeId.from_string("i=11487") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2209") - node.BrowseName = ua.QualifiedName.from_string("CurrentPublishRequestsInQueue") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentPublishRequestsInQueue") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) - attrs.ValueRank = -1 + node.RequestedNewNodeId = ua.NodeId.from_string("i=16309") + node.BrowseName = ua.QualifiedName.from_string("SelectionListType") + node.NodeClass = ua.NodeClass.VariableType + node.ParentNodeId = ua.NodeId.from_string("i=63") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.VariableTypeAttributes() + attrs.DisplayName = ua.LocalizedText("SelectionListType") + attrs.DisplayName = ua.LocalizedText("SelectionListType") + attrs.DataType = ua.NodeId.from_string("i=862") + attrs.ValueRank = -2 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2209") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16309") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=17632") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2209") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16309") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=17633") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16309") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16312") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2209") + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=16309") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8900") - node.BrowseName = ua.QualifiedName.from_string("TotalRequestCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=17632") + node.BrowseName = ua.QualifiedName.from_string("Selections") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.ParentNodeId = ua.NodeId.from_string("i=16309") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TotalRequestCount") - attrs.DataType = ua.NodeId.from_string("i=871") - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("Selections") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8900") + ref.SourceNodeId = ua.NodeId.from_string("i=17632") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=8900") + ref.SourceNodeId = ua.NodeId.from_string("i=17632") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8900") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=17632") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeId = ua.NodeId.from_string("i=16309") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11892") - node.BrowseName = ua.QualifiedName.from_string("UnauthorizedRequestCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=17633") + node.BrowseName = ua.QualifiedName.from_string("SelectionDescriptions") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.ParentNodeId = ua.NodeId.from_string("i=16309") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("UnauthorizedRequestCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("SelectionDescriptions") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11892") + ref.SourceNodeId = ua.NodeId.from_string("i=17633") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11892") + ref.SourceNodeId = ua.NodeId.from_string("i=17633") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11892") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=17633") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeId = ua.NodeId.from_string("i=16309") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2217") - node.BrowseName = ua.QualifiedName.from_string("ReadCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16312") + node.BrowseName = ua.QualifiedName.from_string("RestrictToList") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.ParentNodeId = ua.NodeId.from_string("i=16309") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ReadCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = ua.LocalizedText("RestrictToList") + attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -27453,73 +27691,80 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2217") + ref.SourceNodeId = ua.NodeId.from_string("i=16312") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2217") + ref.SourceNodeId = ua.NodeId.from_string("i=16312") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2217") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16312") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeId = ua.NodeId.from_string("i=16309") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2218") - node.BrowseName = ua.QualifiedName.from_string("HistoryReadCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("HistoryReadCount") - attrs.DataType = ua.NodeId.from_string("i=871") + node.RequestedNewNodeId = ua.NodeId.from_string("i=17986") + node.BrowseName = ua.QualifiedName.from_string("AudioVariableType") + node.NodeClass = ua.NodeClass.VariableType + node.ParentNodeId = ua.NodeId.from_string("i=63") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.VariableTypeAttributes() + attrs.DisplayName = ua.LocalizedText("AudioVariableType") + attrs.DisplayName = ua.LocalizedText("AudioVariableType") + attrs.DataType = ua.NodeId.from_string("i=16307") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2218") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=17986") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=17988") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2218") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=17986") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=17989") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=17986") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=17990") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2218") + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=17986") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2219") - node.BrowseName = ua.QualifiedName.from_string("WriteCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=17988") + node.BrowseName = ua.QualifiedName.from_string("ListId") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.ParentNodeId = ua.NodeId.from_string("i=17986") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("WriteCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = ua.LocalizedText("ListId") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -27527,36 +27772,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2219") + ref.SourceNodeId = ua.NodeId.from_string("i=17988") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2219") + ref.SourceNodeId = ua.NodeId.from_string("i=17988") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2219") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=17988") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeId = ua.NodeId.from_string("i=17986") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2220") - node.BrowseName = ua.QualifiedName.from_string("HistoryUpdateCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=17989") + node.BrowseName = ua.QualifiedName.from_string("AgencyId") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.ParentNodeId = ua.NodeId.from_string("i=17986") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("HistoryUpdateCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = ua.LocalizedText("AgencyId") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -27564,36 +27809,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2220") + ref.SourceNodeId = ua.NodeId.from_string("i=17989") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2220") + ref.SourceNodeId = ua.NodeId.from_string("i=17989") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2220") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=17989") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeId = ua.NodeId.from_string("i=17986") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2221") - node.BrowseName = ua.QualifiedName.from_string("CallCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=17990") + node.BrowseName = ua.QualifiedName.from_string("VersionId") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.ParentNodeId = ua.NodeId.from_string("i=17986") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CallCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = ua.LocalizedText("VersionId") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -27601,406 +27846,351 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2221") + ref.SourceNodeId = ua.NodeId.from_string("i=17990") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2221") + ref.SourceNodeId = ua.NodeId.from_string("i=17990") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2221") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=17990") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeId = ua.NodeId.from_string("i=17986") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2222") - node.BrowseName = ua.QualifiedName.from_string("CreateMonitoredItemsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CreateMonitoredItemsCount") - attrs.DataType = ua.NodeId.from_string("i=871") - attrs.ValueRank = -1 + node.RequestedNewNodeId = ua.NodeId.from_string("i=3048") + node.BrowseName = ua.QualifiedName.from_string("EventTypes") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=86") + node.ReferenceTypeId = ua.NodeId.from_string("i=35") + node.TypeDefinition = ua.NodeId.from_string("i=61") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("EventTypes") + attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2222") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=35") + ref.SourceNodeId = ua.NodeId.from_string("i=3048") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=86") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2222") + ref.ReferenceTypeId = ua.NodeId.from_string("i=35") + ref.SourceNodeId = ua.NodeId.from_string("i=3048") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=2041") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2222") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=3048") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeId = ua.NodeId.from_string("i=61") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2223") - node.BrowseName = ua.QualifiedName.from_string("ModifyMonitoredItemsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ModifyMonitoredItemsCount") - attrs.DataType = ua.NodeId.from_string("i=871") - attrs.ValueRank = -1 + node.RequestedNewNodeId = ua.NodeId.from_string("i=2253") + node.BrowseName = ua.QualifiedName.from_string("Server") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=85") + node.ReferenceTypeId = ua.NodeId.from_string("i=35") + node.TypeDefinition = ua.NodeId.from_string("i=2004") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Server") + attrs.EventNotifier = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2223") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2253") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=2254") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2223") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2253") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=2255") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2223") + ref.SourceNodeId = ua.NodeId.from_string("i=2253") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeId = ua.NodeId.from_string("i=2256") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2224") - node.BrowseName = ua.QualifiedName.from_string("SetMonitoringModeCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SetMonitoringModeCount") - attrs.DataType = ua.NodeId.from_string("i=871") - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2224") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2253") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=2267") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2224") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2253") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=2994") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2224") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2253") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeId = ua.NodeId.from_string("i=12885") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2225") - node.BrowseName = ua.QualifiedName.from_string("SetTriggeringCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SetTriggeringCount") - attrs.DataType = ua.NodeId.from_string("i=871") - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2225") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2253") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=2268") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2225") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2253") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=2274") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2225") + ref.SourceNodeId = ua.NodeId.from_string("i=2253") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeId = ua.NodeId.from_string("i=2295") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2226") - node.BrowseName = ua.QualifiedName.from_string("DeleteMonitoredItemsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DeleteMonitoredItemsCount") - attrs.DataType = ua.NodeId.from_string("i=871") - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2226") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2253") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=2296") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2226") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2253") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=11715") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2226") + ref.SourceNodeId = ua.NodeId.from_string("i=2253") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeId = ua.NodeId.from_string("i=11492") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2227") - node.BrowseName = ua.QualifiedName.from_string("CreateSubscriptionCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CreateSubscriptionCount") - attrs.DataType = ua.NodeId.from_string("i=871") - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2227") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2253") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=12873") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2227") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2253") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12749") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2227") + ref.SourceNodeId = ua.NodeId.from_string("i=2253") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeId = ua.NodeId.from_string("i=12886") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2253") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16313") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=35") + ref.SourceNodeId = ua.NodeId.from_string("i=2253") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=85") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=2253") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2004") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2228") - node.BrowseName = ua.QualifiedName.from_string("ModifySubscriptionCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2254") + node.BrowseName = ua.QualifiedName.from_string("ServerArray") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.ParentNodeId = ua.NodeId.from_string("i=2253") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ModifySubscriptionCount") - attrs.DataType = ua.NodeId.from_string("i=871") - attrs.ValueRank = -1 + attrs.MinimumSamplingInterval = 1000 + attrs.Description = ua.LocalizedText("The list of server URIs used by the server.") + attrs.DisplayName = ua.LocalizedText("ServerArray") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2228") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2228") + ref.SourceNodeId = ua.NodeId.from_string("i=2254") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2228") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2254") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeId = ua.NodeId.from_string("i=2253") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2229") - node.BrowseName = ua.QualifiedName.from_string("SetPublishingModeCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2255") + node.BrowseName = ua.QualifiedName.from_string("NamespaceArray") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.ParentNodeId = ua.NodeId.from_string("i=2253") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SetPublishingModeCount") - attrs.DataType = ua.NodeId.from_string("i=871") - attrs.ValueRank = -1 + attrs.MinimumSamplingInterval = 1000 + attrs.Description = ua.LocalizedText("The list of namespace URIs used by the server.") + attrs.DisplayName = ua.LocalizedText("NamespaceArray") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2229") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2229") + ref.SourceNodeId = ua.NodeId.from_string("i=2255") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2229") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2255") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeId = ua.NodeId.from_string("i=2253") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2230") - node.BrowseName = ua.QualifiedName.from_string("PublishCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2256") + node.BrowseName = ua.QualifiedName.from_string("ServerStatus") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") + node.ParentNodeId = ua.NodeId.from_string("i=2253") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.TypeDefinition = ua.NodeId.from_string("i=2138") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("PublishCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.MinimumSamplingInterval = 1000 + attrs.Description = ua.LocalizedText("The current status of the server.") + attrs.DisplayName = ua.LocalizedText("ServerStatus") + attrs.DataType = ua.NodeId.from_string("i=862") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2230") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2256") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=2257") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2230") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2256") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=2258") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2230") + ref.SourceNodeId = ua.NodeId.from_string("i=2256") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeId = ua.NodeId.from_string("i=2259") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2231") - node.BrowseName = ua.QualifiedName.from_string("RepublishCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RepublishCount") - attrs.DataType = ua.NodeId.from_string("i=871") - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2231") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2256") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=2260") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2231") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2256") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=2992") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2256") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2993") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=2256") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2138") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2231") + ref.SourceNodeId = ua.NodeId.from_string("i=2256") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeId = ua.NodeId.from_string("i=2253") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2232") - node.BrowseName = ua.QualifiedName.from_string("TransferSubscriptionsCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2257") + node.BrowseName = ua.QualifiedName.from_string("StartTime") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") + node.ParentNodeId = ua.NodeId.from_string("i=2256") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransferSubscriptionsCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = ua.LocalizedText("StartTime") + attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -28008,36 +28198,29 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2232") + ref.SourceNodeId = ua.NodeId.from_string("i=2257") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2232") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") - refs.append(ref) - ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2232") + ref.SourceNodeId = ua.NodeId.from_string("i=2257") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeId = ua.NodeId.from_string("i=2256") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2233") - node.BrowseName = ua.QualifiedName.from_string("DeleteSubscriptionsCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2258") + node.BrowseName = ua.QualifiedName.from_string("CurrentTime") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") + node.ParentNodeId = ua.NodeId.from_string("i=2256") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DeleteSubscriptionsCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = ua.LocalizedText("CurrentTime") + attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -28045,36 +28228,29 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2233") + ref.SourceNodeId = ua.NodeId.from_string("i=2258") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2233") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") - refs.append(ref) - ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2233") + ref.SourceNodeId = ua.NodeId.from_string("i=2258") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeId = ua.NodeId.from_string("i=2256") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2234") - node.BrowseName = ua.QualifiedName.from_string("AddNodesCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2259") + node.BrowseName = ua.QualifiedName.from_string("State") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") + node.ParentNodeId = ua.NodeId.from_string("i=2256") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AddNodesCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = ua.LocalizedText("State") + attrs.DataType = ua.NodeId.from_string("i=852") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -28082,110 +28258,102 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2234") + ref.SourceNodeId = ua.NodeId.from_string("i=2259") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2234") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") - refs.append(ref) - ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2234") + ref.SourceNodeId = ua.NodeId.from_string("i=2259") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeId = ua.NodeId.from_string("i=2256") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2235") - node.BrowseName = ua.QualifiedName.from_string("AddReferencesCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2260") + node.BrowseName = ua.QualifiedName.from_string("BuildInfo") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") + node.ParentNodeId = ua.NodeId.from_string("i=2256") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.TypeDefinition = ua.NodeId.from_string("i=3051") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AddReferencesCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = ua.LocalizedText("BuildInfo") + attrs.DataType = ua.NodeId.from_string("i=338") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2235") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2260") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=2262") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2235") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2260") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=2263") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2235") + ref.SourceNodeId = ua.NodeId.from_string("i=2260") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeId = ua.NodeId.from_string("i=2261") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2236") - node.BrowseName = ua.QualifiedName.from_string("DeleteNodesCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DeleteNodesCount") - attrs.DataType = ua.NodeId.from_string("i=871") - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2236") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2260") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=2264") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2236") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2260") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=2265") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2260") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2266") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=2260") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=3051") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2236") + ref.SourceNodeId = ua.NodeId.from_string("i=2260") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeId = ua.NodeId.from_string("i=2256") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2237") - node.BrowseName = ua.QualifiedName.from_string("DeleteReferencesCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2262") + node.BrowseName = ua.QualifiedName.from_string("ProductUri") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") + node.ParentNodeId = ua.NodeId.from_string("i=2260") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DeleteReferencesCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.MinimumSamplingInterval = 1000 + attrs.DisplayName = ua.LocalizedText("ProductUri") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -28193,36 +28361,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2237") + ref.SourceNodeId = ua.NodeId.from_string("i=2262") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2237") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") - refs.append(ref) - ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2237") + ref.SourceNodeId = ua.NodeId.from_string("i=2262") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeId = ua.NodeId.from_string("i=2260") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2238") - node.BrowseName = ua.QualifiedName.from_string("BrowseCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2263") + node.BrowseName = ua.QualifiedName.from_string("ManufacturerName") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") + node.ParentNodeId = ua.NodeId.from_string("i=2260") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("BrowseCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.MinimumSamplingInterval = 1000 + attrs.DisplayName = ua.LocalizedText("ManufacturerName") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -28230,36 +28392,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2238") + ref.SourceNodeId = ua.NodeId.from_string("i=2263") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2238") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") - refs.append(ref) - ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2238") + ref.SourceNodeId = ua.NodeId.from_string("i=2263") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeId = ua.NodeId.from_string("i=2260") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2239") - node.BrowseName = ua.QualifiedName.from_string("BrowseNextCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2261") + node.BrowseName = ua.QualifiedName.from_string("ProductName") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") + node.ParentNodeId = ua.NodeId.from_string("i=2260") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("BrowseNextCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.MinimumSamplingInterval = 1000 + attrs.DisplayName = ua.LocalizedText("ProductName") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -28267,36 +28423,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2239") + ref.SourceNodeId = ua.NodeId.from_string("i=2261") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2239") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") - refs.append(ref) - ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2239") + ref.SourceNodeId = ua.NodeId.from_string("i=2261") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeId = ua.NodeId.from_string("i=2260") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2240") - node.BrowseName = ua.QualifiedName.from_string("TranslateBrowsePathsToNodeIdsCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2264") + node.BrowseName = ua.QualifiedName.from_string("SoftwareVersion") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") + node.ParentNodeId = ua.NodeId.from_string("i=2260") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TranslateBrowsePathsToNodeIdsCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.MinimumSamplingInterval = 1000 + attrs.DisplayName = ua.LocalizedText("SoftwareVersion") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -28304,36 +28454,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2240") + ref.SourceNodeId = ua.NodeId.from_string("i=2264") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2240") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") - refs.append(ref) - ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2240") + ref.SourceNodeId = ua.NodeId.from_string("i=2264") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeId = ua.NodeId.from_string("i=2260") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2241") - node.BrowseName = ua.QualifiedName.from_string("QueryFirstCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2265") + node.BrowseName = ua.QualifiedName.from_string("BuildNumber") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") + node.ParentNodeId = ua.NodeId.from_string("i=2260") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("QueryFirstCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.MinimumSamplingInterval = 1000 + attrs.DisplayName = ua.LocalizedText("BuildNumber") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -28341,36 +28485,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2241") + ref.SourceNodeId = ua.NodeId.from_string("i=2265") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2241") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") - refs.append(ref) - ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2241") + ref.SourceNodeId = ua.NodeId.from_string("i=2265") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeId = ua.NodeId.from_string("i=2260") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2242") - node.BrowseName = ua.QualifiedName.from_string("QueryNextCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2266") + node.BrowseName = ua.QualifiedName.from_string("BuildDate") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") + node.ParentNodeId = ua.NodeId.from_string("i=2260") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("QueryNextCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.MinimumSamplingInterval = 1000 + attrs.DisplayName = ua.LocalizedText("BuildDate") + attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -28378,36 +28516,29 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2242") + ref.SourceNodeId = ua.NodeId.from_string("i=2266") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2242") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") - refs.append(ref) - ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2242") + ref.SourceNodeId = ua.NodeId.from_string("i=2266") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeId = ua.NodeId.from_string("i=2260") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2730") - node.BrowseName = ua.QualifiedName.from_string("RegisterNodesCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2992") + node.BrowseName = ua.QualifiedName.from_string("SecondsTillShutdown") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") + node.ParentNodeId = ua.NodeId.from_string("i=2256") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RegisterNodesCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = ua.LocalizedText("SecondsTillShutdown") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -28415,36 +28546,29 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2730") + ref.SourceNodeId = ua.NodeId.from_string("i=2992") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2730") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") - refs.append(ref) - ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2730") + ref.SourceNodeId = ua.NodeId.from_string("i=2992") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeId = ua.NodeId.from_string("i=2256") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2731") - node.BrowseName = ua.QualifiedName.from_string("UnregisterNodesCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2993") + node.BrowseName = ua.QualifiedName.from_string("ShutdownReason") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") + node.ParentNodeId = ua.NodeId.from_string("i=2256") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("UnregisterNodesCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = ua.LocalizedText("ShutdownReason") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -28452,240 +28576,285 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2731") + ref.SourceNodeId = ua.NodeId.from_string("i=2993") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2731") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") - refs.append(ref) - ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2731") + ref.SourceNodeId = ua.NodeId.from_string("i=2993") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.TargetNodeId = ua.NodeId.from_string("i=2256") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2243") - node.BrowseName = ua.QualifiedName.from_string("SessionSecurityDiagnosticsArrayType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=63") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("SessionSecurityDiagnosticsArrayType") - attrs.DisplayName = ua.LocalizedText("SessionSecurityDiagnosticsArrayType") - attrs.DataType = ua.NodeId.from_string("i=868") - attrs.ValueRank = 1 + node.RequestedNewNodeId = ua.NodeId.from_string("i=2267") + node.BrowseName = ua.QualifiedName.from_string("ServiceLevel") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2253") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.MinimumSamplingInterval = 1000 + attrs.Description = ua.LocalizedText("A value indicating the level of service the server can provide. 255 indicates the best.") + attrs.DisplayName = ua.LocalizedText("ServiceLevel") + attrs.DataType = ua.NodeId(ua.ObjectIds.Byte) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2243") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=2267") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12860") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2243") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2267") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=2253") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12860") - node.BrowseName = ua.QualifiedName.from_string("SessionSecurityDiagnostics") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2994") + node.BrowseName = ua.QualifiedName.from_string("Auditing") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2243") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2244") + node.ParentNodeId = ua.NodeId.from_string("i=2253") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SessionSecurityDiagnostics") - attrs.DataType = ua.NodeId.from_string("i=868") + attrs.MinimumSamplingInterval = 1000 + attrs.Description = ua.LocalizedText("A flag indicating whether the server is currently generating audit events.") + attrs.DisplayName = ua.LocalizedText("Auditing") + attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12860") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=2994") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12861") + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2994") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2253") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12885") + node.BrowseName = ua.QualifiedName.from_string("EstimatedReturnTime") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2253") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.MinimumSamplingInterval = 1000 + attrs.Description = ua.LocalizedText("Indicates the time at which the Server is expected to be available in the state RUNNING.") + attrs.DisplayName = ua.LocalizedText("EstimatedReturnTime") + attrs.DataType = ua.NodeId(ua.ObjectIds.DateTime) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12860") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12885") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12862") + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=12885") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2253") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=2268") + node.BrowseName = ua.QualifiedName.from_string("ServerCapabilities") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=2253") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=2013") + attrs = ua.ObjectAttributes() + attrs.Description = ua.LocalizedText("Describes capabilities supported by the server.") + attrs.DisplayName = ua.LocalizedText("ServerCapabilities") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12860") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2268") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12863") + ref.TargetNodeId = ua.NodeId.from_string("i=2269") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12860") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2268") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12864") + ref.TargetNodeId = ua.NodeId.from_string("i=2271") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12860") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2268") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12865") + ref.TargetNodeId = ua.NodeId.from_string("i=2272") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12860") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2268") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12866") + ref.TargetNodeId = ua.NodeId.from_string("i=2735") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12860") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2268") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12867") + ref.TargetNodeId = ua.NodeId.from_string("i=2736") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12860") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2268") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12868") + ref.TargetNodeId = ua.NodeId.from_string("i=2737") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12860") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2268") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12869") + ref.TargetNodeId = ua.NodeId.from_string("i=3704") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12860") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2268") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2244") + ref.TargetNodeId = ua.NodeId.from_string("i=11702") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12860") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2268") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=83") + ref.TargetNodeId = ua.NodeId.from_string("i=11703") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2268") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12911") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12860") + ref.SourceNodeId = ua.NodeId.from_string("i=2268") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2243") + ref.TargetNodeId = ua.NodeId.from_string("i=11704") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12861") - node.BrowseName = ua.QualifiedName.from_string("SessionId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12860") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SessionId") - attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12861") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2268") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=2996") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12861") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2268") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=2997") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2268") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15606") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=2268") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2013") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12861") + ref.SourceNodeId = ua.NodeId.from_string("i=2268") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12860") + ref.TargetNodeId = ua.NodeId.from_string("i=2253") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12862") - node.BrowseName = ua.QualifiedName.from_string("ClientUserIdOfSession") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2269") + node.BrowseName = ua.QualifiedName.from_string("ServerProfileArray") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12860") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.ParentNodeId = ua.NodeId.from_string("i=2268") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ClientUserIdOfSession") + attrs.Description = ua.LocalizedText("A list of profiles supported by the server.") + attrs.DisplayName = ua.LocalizedText("ServerProfileArray") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.ValueRank = -1 + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12862") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12862") + ref.SourceNodeId = ua.NodeId.from_string("i=2269") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12862") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2269") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12860") + ref.TargetNodeId = ua.NodeId.from_string("i=2268") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12863") - node.BrowseName = ua.QualifiedName.from_string("ClientUserIdHistory") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2271") + node.BrowseName = ua.QualifiedName.from_string("LocaleIdArray") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12860") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.ParentNodeId = ua.NodeId.from_string("i=2268") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ClientUserIdHistory") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Description = ua.LocalizedText("A list of locales supported by the server.") + attrs.DisplayName = ua.LocalizedText("LocaleIdArray") + attrs.DataType = ua.NodeId.from_string("i=295") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -28693,36 +28862,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12863") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12863") + ref.SourceNodeId = ua.NodeId.from_string("i=2271") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12863") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2271") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12860") + ref.TargetNodeId = ua.NodeId.from_string("i=2268") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12864") - node.BrowseName = ua.QualifiedName.from_string("AuthenticationMechanism") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2272") + node.BrowseName = ua.QualifiedName.from_string("MinSupportedSampleRate") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12860") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.ParentNodeId = ua.NodeId.from_string("i=2268") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AuthenticationMechanism") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Description = ua.LocalizedText("The minimum sampling interval supported by the server.") + attrs.DisplayName = ua.LocalizedText("MinSupportedSampleRate") + attrs.DataType = ua.NodeId.from_string("i=290") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -28730,36 +28893,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12864") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12864") + ref.SourceNodeId = ua.NodeId.from_string("i=2272") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12864") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2272") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12860") + ref.TargetNodeId = ua.NodeId.from_string("i=2268") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12865") - node.BrowseName = ua.QualifiedName.from_string("Encoding") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2735") + node.BrowseName = ua.QualifiedName.from_string("MaxBrowseContinuationPoints") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12860") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.ParentNodeId = ua.NodeId.from_string("i=2268") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Encoding") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Description = ua.LocalizedText("The maximum number of continuation points for Browse operations per session.") + attrs.DisplayName = ua.LocalizedText("MaxBrowseContinuationPoints") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -28767,36 +28924,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12865") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12865") + ref.SourceNodeId = ua.NodeId.from_string("i=2735") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12865") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2735") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12860") + ref.TargetNodeId = ua.NodeId.from_string("i=2268") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12866") - node.BrowseName = ua.QualifiedName.from_string("TransportProtocol") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2736") + node.BrowseName = ua.QualifiedName.from_string("MaxQueryContinuationPoints") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12860") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.ParentNodeId = ua.NodeId.from_string("i=2268") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransportProtocol") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Description = ua.LocalizedText("The maximum number of continuation points for Query operations per session.") + attrs.DisplayName = ua.LocalizedText("MaxQueryContinuationPoints") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -28804,36 +28955,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12866") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12866") + ref.SourceNodeId = ua.NodeId.from_string("i=2736") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12866") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2736") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12860") + ref.TargetNodeId = ua.NodeId.from_string("i=2268") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12867") - node.BrowseName = ua.QualifiedName.from_string("SecurityMode") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2737") + node.BrowseName = ua.QualifiedName.from_string("MaxHistoryContinuationPoints") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12860") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.ParentNodeId = ua.NodeId.from_string("i=2268") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SecurityMode") - attrs.DataType = ua.NodeId.from_string("i=302") + attrs.Description = ua.LocalizedText("The maximum number of continuation points for ReadHistory operations per session.") + attrs.DisplayName = ua.LocalizedText("MaxHistoryContinuationPoints") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -28841,73 +28986,61 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12867") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12867") + ref.SourceNodeId = ua.NodeId.from_string("i=2737") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12867") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2737") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12860") + ref.TargetNodeId = ua.NodeId.from_string("i=2268") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12868") - node.BrowseName = ua.QualifiedName.from_string("SecurityPolicyUri") + node.RequestedNewNodeId = ua.NodeId.from_string("i=3704") + node.BrowseName = ua.QualifiedName.from_string("SoftwareCertificates") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12860") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.ParentNodeId = ua.NodeId.from_string("i=2268") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SecurityPolicyUri") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.ValueRank = -1 + attrs.Description = ua.LocalizedText("The software certificates owned by the server.") + attrs.DisplayName = ua.LocalizedText("SoftwareCertificates") + attrs.DataType = ua.NodeId.from_string("i=344") + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12868") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12868") + ref.SourceNodeId = ua.NodeId.from_string("i=3704") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12868") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=3704") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12860") + ref.TargetNodeId = ua.NodeId.from_string("i=2268") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12869") - node.BrowseName = ua.QualifiedName.from_string("ClientCertificate") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11702") + node.BrowseName = ua.QualifiedName.from_string("MaxArrayLength") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12860") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.ParentNodeId = ua.NodeId.from_string("i=2268") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ClientCertificate") - attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) + attrs.Description = ua.LocalizedText("The maximum length for an array value supported by the server.") + attrs.DisplayName = ua.LocalizedText("MaxArrayLength") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -28915,159 +29048,206 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12869") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12869") + ref.SourceNodeId = ua.NodeId.from_string("i=11702") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12869") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11702") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12860") + ref.TargetNodeId = ua.NodeId.from_string("i=2268") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2244") - node.BrowseName = ua.QualifiedName.from_string("SessionSecurityDiagnosticsType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=63") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("SessionSecurityDiagnosticsType") - attrs.DisplayName = ua.LocalizedText("SessionSecurityDiagnosticsType") - attrs.DataType = ua.NodeId.from_string("i=868") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11703") + node.BrowseName = ua.QualifiedName.from_string("MaxStringLength") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2268") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.Description = ua.LocalizedText("The maximum length for a string value supported by the server.") + attrs.DisplayName = ua.LocalizedText("MaxStringLength") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2244") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=11703") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2245") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2244") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2246") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11703") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2268") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12911") + node.BrowseName = ua.QualifiedName.from_string("MaxByteStringLength") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2268") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.Description = ua.LocalizedText("The maximum length for a byte string value supported by the server.") + attrs.DisplayName = ua.LocalizedText("MaxByteStringLength") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2244") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12911") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2247") + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=12911") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2268") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=11704") + node.BrowseName = ua.QualifiedName.from_string("OperationLimits") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=2268") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=11564") + attrs = ua.ObjectAttributes() + attrs.Description = ua.LocalizedText("Defines the limits supported by the server for different operations.") + attrs.DisplayName = ua.LocalizedText("OperationLimits") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2244") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11704") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2248") + ref.TargetNodeId = ua.NodeId.from_string("i=11705") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2244") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11704") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2249") + ref.TargetNodeId = ua.NodeId.from_string("i=12165") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2244") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11704") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2250") + ref.TargetNodeId = ua.NodeId.from_string("i=12166") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2244") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11704") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2251") + ref.TargetNodeId = ua.NodeId.from_string("i=11707") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2244") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11704") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2252") + ref.TargetNodeId = ua.NodeId.from_string("i=12167") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2244") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11704") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3058") + ref.TargetNodeId = ua.NodeId.from_string("i=12168") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2244") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11704") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=11709") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2245") - node.BrowseName = ua.QualifiedName.from_string("SessionId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2244") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SessionId") - attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2245") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11704") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=11710") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2245") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11704") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=11711") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11704") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11712") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11704") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11713") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11704") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11714") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=11704") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11564") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2245") + ref.SourceNodeId = ua.NodeId.from_string("i=11704") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2244") + ref.TargetNodeId = ua.NodeId.from_string("i=2268") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2246") - node.BrowseName = ua.QualifiedName.from_string("ClientUserIdOfSession") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11705") + node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerRead") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2244") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.ParentNodeId = ua.NodeId.from_string("i=11704") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ClientUserIdOfSession") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Description = ua.LocalizedText("The maximum number of operations in a single Read request.") + attrs.DisplayName = ua.LocalizedText("MaxNodesPerRead") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -29075,73 +29255,61 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2246") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2246") + ref.SourceNodeId = ua.NodeId.from_string("i=11705") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2246") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11705") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2244") + ref.TargetNodeId = ua.NodeId.from_string("i=11704") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2247") - node.BrowseName = ua.QualifiedName.from_string("ClientUserIdHistory") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12165") + node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerHistoryReadData") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2244") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.ParentNodeId = ua.NodeId.from_string("i=11704") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ClientUserIdHistory") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.ValueRank = 1 + attrs.Description = ua.LocalizedText("The maximum number of operations in a single data HistoryRead request.") + attrs.DisplayName = ua.LocalizedText("MaxNodesPerHistoryReadData") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2247") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2247") + ref.SourceNodeId = ua.NodeId.from_string("i=12165") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2247") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=12165") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2244") + ref.TargetNodeId = ua.NodeId.from_string("i=11704") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2248") - node.BrowseName = ua.QualifiedName.from_string("AuthenticationMechanism") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12166") + node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerHistoryReadEvents") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2244") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.ParentNodeId = ua.NodeId.from_string("i=11704") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AuthenticationMechanism") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Description = ua.LocalizedText("The maximum number of operations in a single event HistoryRead request.") + attrs.DisplayName = ua.LocalizedText("MaxNodesPerHistoryReadEvents") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -29149,36 +29317,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2248") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2248") + ref.SourceNodeId = ua.NodeId.from_string("i=12166") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2248") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=12166") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2244") + ref.TargetNodeId = ua.NodeId.from_string("i=11704") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2249") - node.BrowseName = ua.QualifiedName.from_string("Encoding") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11707") + node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerWrite") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2244") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.ParentNodeId = ua.NodeId.from_string("i=11704") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Encoding") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Description = ua.LocalizedText("The maximum number of operations in a single Write request.") + attrs.DisplayName = ua.LocalizedText("MaxNodesPerWrite") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -29186,36 +29348,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2249") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2249") + ref.SourceNodeId = ua.NodeId.from_string("i=11707") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2249") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11707") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2244") + ref.TargetNodeId = ua.NodeId.from_string("i=11704") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2250") - node.BrowseName = ua.QualifiedName.from_string("TransportProtocol") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12167") + node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerHistoryUpdateData") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2244") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.ParentNodeId = ua.NodeId.from_string("i=11704") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransportProtocol") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Description = ua.LocalizedText("The maximum number of operations in a single data HistoryUpdate request.") + attrs.DisplayName = ua.LocalizedText("MaxNodesPerHistoryUpdateData") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -29223,36 +29379,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2250") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2250") + ref.SourceNodeId = ua.NodeId.from_string("i=12167") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2250") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=12167") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2244") + ref.TargetNodeId = ua.NodeId.from_string("i=11704") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2251") - node.BrowseName = ua.QualifiedName.from_string("SecurityMode") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12168") + node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerHistoryUpdateEvents") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2244") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.ParentNodeId = ua.NodeId.from_string("i=11704") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SecurityMode") - attrs.DataType = ua.NodeId.from_string("i=302") + attrs.Description = ua.LocalizedText("The maximum number of operations in a single event HistoryUpdate request.") + attrs.DisplayName = ua.LocalizedText("MaxNodesPerHistoryUpdateEvents") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -29260,36 +29410,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2251") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2251") + ref.SourceNodeId = ua.NodeId.from_string("i=12168") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2251") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=12168") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2244") + ref.TargetNodeId = ua.NodeId.from_string("i=11704") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2252") - node.BrowseName = ua.QualifiedName.from_string("SecurityPolicyUri") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11709") + node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerMethodCall") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2244") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.ParentNodeId = ua.NodeId.from_string("i=11704") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SecurityPolicyUri") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Description = ua.LocalizedText("The maximum number of operations in a single Call request.") + attrs.DisplayName = ua.LocalizedText("MaxNodesPerMethodCall") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -29297,36 +29441,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2252") + ref.SourceNodeId = ua.NodeId.from_string("i=11709") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2252") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11709") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2244") + ref.TargetNodeId = ua.NodeId.from_string("i=11704") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3058") - node.BrowseName = ua.QualifiedName.from_string("ClientCertificate") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11710") + node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerBrowse") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2244") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.ParentNodeId = ua.NodeId.from_string("i=11704") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ClientCertificate") - attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) + attrs.Description = ua.LocalizedText("The maximum number of operations in a single Browse request.") + attrs.DisplayName = ua.LocalizedText("MaxNodesPerBrowse") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -29334,319 +29472,340 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3058") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3058") + ref.SourceNodeId = ua.NodeId.from_string("i=11710") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3058") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11710") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2244") + ref.TargetNodeId = ua.NodeId.from_string("i=11704") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11487") - node.BrowseName = ua.QualifiedName.from_string("OptionSetType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=63") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("OptionSetType") - attrs.DisplayName = ua.LocalizedText("OptionSetType") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) + node.RequestedNewNodeId = ua.NodeId.from_string("i=11711") + node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerRegisterNodes") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=11704") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.Description = ua.LocalizedText("The maximum number of operations in a single RegisterNodes request.") + attrs.DisplayName = ua.LocalizedText("MaxNodesPerRegisterNodes") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11487") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11488") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11487") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=11711") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11701") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=11487") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11711") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=11704") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11488") - node.BrowseName = ua.QualifiedName.from_string("OptionSetValues") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11712") + node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerTranslateBrowsePathsToNodeIds") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11487") + node.ParentNodeId = ua.NodeId.from_string("i=11704") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OptionSetValues") - attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.ValueRank = 1 + attrs.Description = ua.LocalizedText("The maximum number of operations in a single TranslateBrowsePathsToNodeIds request.") + attrs.DisplayName = ua.LocalizedText("MaxNodesPerTranslateBrowsePathsToNodeIds") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11488") + ref.SourceNodeId = ua.NodeId.from_string("i=11712") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11488") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") - refs.append(ref) - ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11488") + ref.SourceNodeId = ua.NodeId.from_string("i=11712") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11487") + ref.TargetNodeId = ua.NodeId.from_string("i=11704") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11701") - node.BrowseName = ua.QualifiedName.from_string("BitMask") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11713") + node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerNodeManagement") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11487") + node.ParentNodeId = ua.NodeId.from_string("i=11704") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("BitMask") - attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) - attrs.ValueRank = 1 + attrs.Description = ua.LocalizedText("The maximum number of operations in a single AddNodes, AddReferences, DeleteNodes or DeleteReferences request.") + attrs.DisplayName = ua.LocalizedText("MaxNodesPerNodeManagement") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11701") + ref.SourceNodeId = ua.NodeId.from_string("i=11713") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11701") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") - refs.append(ref) - ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11701") + ref.SourceNodeId = ua.NodeId.from_string("i=11713") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11487") + ref.TargetNodeId = ua.NodeId.from_string("i=11704") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3048") - node.BrowseName = ua.QualifiedName.from_string("EventTypes") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=86") - node.ReferenceTypeId = ua.NodeId.from_string("i=35") - node.TypeDefinition = ua.NodeId.from_string("i=61") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("EventTypes") - attrs.EventNotifier = 0 + node.RequestedNewNodeId = ua.NodeId.from_string("i=11714") + node.BrowseName = ua.QualifiedName.from_string("MaxMonitoredItemsPerCall") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=11704") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.Description = ua.LocalizedText("The maximum number of operations in a single MonitoredItem related request.") + attrs.DisplayName = ua.LocalizedText("MaxMonitoredItemsPerCall") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=35") - ref.SourceNodeId = ua.NodeId.from_string("i=3048") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=86") - refs.append(ref) - ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=35") - ref.SourceNodeId = ua.NodeId.from_string("i=3048") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=11714") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2041") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3048") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11714") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=61") + ref.TargetNodeId = ua.NodeId.from_string("i=11704") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2253") - node.BrowseName = ua.QualifiedName.from_string("Server") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2996") + node.BrowseName = ua.QualifiedName.from_string("ModellingRules") node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=85") - node.ReferenceTypeId = ua.NodeId.from_string("i=35") - node.TypeDefinition = ua.NodeId.from_string("i=2004") + node.ParentNodeId = ua.NodeId.from_string("i=2268") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=61") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Server") - attrs.EventNotifier = 1 + attrs.Description = ua.LocalizedText("A folder for the modelling rules supported by the server.") + attrs.DisplayName = ua.LocalizedText("ModellingRules") + attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2253") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2254") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2253") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=2996") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2255") + ref.TargetNodeId = ua.NodeId.from_string("i=61") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2253") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2256") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2253") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2267") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2253") + ref.SourceNodeId = ua.NodeId.from_string("i=2996") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2994") + ref.TargetNodeId = ua.NodeId.from_string("i=2268") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=2997") + node.BrowseName = ua.QualifiedName.from_string("AggregateFunctions") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=2268") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=61") + attrs = ua.ObjectAttributes() + attrs.Description = ua.LocalizedText("A folder for the real time aggregates supported by the server.") + attrs.DisplayName = ua.LocalizedText("AggregateFunctions") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2253") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=2997") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12885") + ref.TargetNodeId = ua.NodeId.from_string("i=61") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2253") + ref.SourceNodeId = ua.NodeId.from_string("i=2997") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2268") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15606") + node.BrowseName = ua.QualifiedName.from_string("Roles") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=2268") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=15607") + attrs = ua.ObjectAttributes() + attrs.Description = ua.LocalizedText("Describes the roles supported by the server.") + attrs.DisplayName = ua.LocalizedText("Roles") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2253") + ref.SourceNodeId = ua.NodeId.from_string("i=15606") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2274") + ref.TargetNodeId = ua.NodeId.from_string("i=16301") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2253") + ref.SourceNodeId = ua.NodeId.from_string("i=15606") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2295") + ref.TargetNodeId = ua.NodeId.from_string("i=16304") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2253") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15606") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2296") + ref.TargetNodeId = ua.NodeId.from_string("i=15607") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2253") + ref.SourceNodeId = ua.NodeId.from_string("i=15606") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11715") + ref.TargetNodeId = ua.NodeId.from_string("i=2268") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16301") + node.BrowseName = ua.QualifiedName.from_string("AddRole") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15606") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("AddRole") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2253") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16301") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11492") + ref.TargetNodeId = ua.NodeId.from_string("i=16302") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2253") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16301") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12873") + ref.TargetNodeId = ua.NodeId.from_string("i=16303") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2253") + ref.SourceNodeId = ua.NodeId.from_string("i=16301") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12749") + ref.TargetNodeId = ua.NodeId.from_string("i=15606") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16302") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16301") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RoleName' + extobj.DataType = ua.NodeId.from_string("i=12") + extobj.ValueRank = -1 + value.append(extobj) + extobj = ua.Argument() + extobj.Name = 'NamespaceUri' + extobj.DataType = ua.NodeId.from_string("i=12") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2253") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16302") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12886") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=35") - ref.SourceNodeId = ua.NodeId.from_string("i=2253") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=85") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2253") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16302") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2004") + ref.TargetNodeId = ua.NodeId.from_string("i=16301") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2254") - node.BrowseName = ua.QualifiedName.from_string("ServerArray") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16303") + node.BrowseName = ua.QualifiedName.from_string("OutputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2253") + node.ParentNodeId = ua.NodeId.from_string("i=16301") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.MinimumSamplingInterval = 1000 - attrs.Description = ua.LocalizedText("The list of server URIs used by the server.") - attrs.DisplayName = ua.LocalizedText("ServerArray") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.DisplayName = ua.LocalizedText("OutputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RoleNodeId' + extobj.DataType = ua.NodeId.from_string("i=17") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -29654,31 +29813,63 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2254") + ref.SourceNodeId = ua.NodeId.from_string("i=16303") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2254") + ref.SourceNodeId = ua.NodeId.from_string("i=16303") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2253") + ref.TargetNodeId = ua.NodeId.from_string("i=16301") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2255") - node.BrowseName = ua.QualifiedName.from_string("NamespaceArray") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16304") + node.BrowseName = ua.QualifiedName.from_string("RemoveRole") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15606") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("RemoveRole") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16304") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16305") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16304") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15606") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16305") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2253") + node.ParentNodeId = ua.NodeId.from_string("i=16304") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.MinimumSamplingInterval = 1000 - attrs.Description = ua.LocalizedText("The list of namespace URIs used by the server.") - attrs.DisplayName = ua.LocalizedText("NamespaceArray") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RoleNodeId' + extobj.DataType = ua.NodeId.from_string("i=17") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -29686,266 +29877,209 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2255") + ref.SourceNodeId = ua.NodeId.from_string("i=16305") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2255") + ref.SourceNodeId = ua.NodeId.from_string("i=16305") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2253") + ref.TargetNodeId = ua.NodeId.from_string("i=16304") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2256") - node.BrowseName = ua.QualifiedName.from_string("ServerStatus") - node.NodeClass = ua.NodeClass.Variable + node.RequestedNewNodeId = ua.NodeId.from_string("i=2274") + node.BrowseName = ua.QualifiedName.from_string("ServerDiagnostics") + node.NodeClass = ua.NodeClass.Object node.ParentNodeId = ua.NodeId.from_string("i=2253") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2138") - attrs = ua.VariableAttributes() - attrs.MinimumSamplingInterval = 1000 - attrs.Description = ua.LocalizedText("The current status of the server.") - attrs.DisplayName = ua.LocalizedText("ServerStatus") - attrs.DataType = ua.NodeId.from_string("i=862") - attrs.ValueRank = -1 + node.TypeDefinition = ua.NodeId.from_string("i=2020") + attrs = ua.ObjectAttributes() + attrs.Description = ua.LocalizedText("Reports diagnostics about the server.") + attrs.DisplayName = ua.LocalizedText("ServerDiagnostics") + attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2256") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2257") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2256") + ref.SourceNodeId = ua.NodeId.from_string("i=2274") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2258") + ref.TargetNodeId = ua.NodeId.from_string("i=2275") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2256") + ref.SourceNodeId = ua.NodeId.from_string("i=2274") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2259") + ref.TargetNodeId = ua.NodeId.from_string("i=2289") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2256") + ref.SourceNodeId = ua.NodeId.from_string("i=2274") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2260") + ref.TargetNodeId = ua.NodeId.from_string("i=2290") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2256") + ref.SourceNodeId = ua.NodeId.from_string("i=2274") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2992") + ref.TargetNodeId = ua.NodeId.from_string("i=3706") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2256") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2274") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2993") + ref.TargetNodeId = ua.NodeId.from_string("i=2294") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2256") + ref.SourceNodeId = ua.NodeId.from_string("i=2274") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2138") + ref.TargetNodeId = ua.NodeId.from_string("i=2020") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2256") + ref.SourceNodeId = ua.NodeId.from_string("i=2274") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2253") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2257") - node.BrowseName = ua.QualifiedName.from_string("StartTime") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2275") + node.BrowseName = ua.QualifiedName.from_string("ServerDiagnosticsSummary") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2256") + node.ParentNodeId = ua.NodeId.from_string("i=2274") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.TypeDefinition = ua.NodeId.from_string("i=2150") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("StartTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.Description = ua.LocalizedText("A summary of server level diagnostics.") + attrs.DisplayName = ua.LocalizedText("ServerDiagnosticsSummary") + attrs.DataType = ua.NodeId.from_string("i=859") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2257") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2275") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=2276") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2257") + ref.SourceNodeId = ua.NodeId.from_string("i=2275") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2256") + ref.TargetNodeId = ua.NodeId.from_string("i=2277") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2258") - node.BrowseName = ua.QualifiedName.from_string("CurrentTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2256") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentTime") - attrs.DataType = ua.NodeId.from_string("i=294") - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2258") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2275") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=2278") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2258") + ref.SourceNodeId = ua.NodeId.from_string("i=2275") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2256") + ref.TargetNodeId = ua.NodeId.from_string("i=2279") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2259") - node.BrowseName = ua.QualifiedName.from_string("State") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2256") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("State") - attrs.DataType = ua.NodeId.from_string("i=852") - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2259") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2275") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=3705") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2259") + ref.SourceNodeId = ua.NodeId.from_string("i=2275") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2256") + ref.TargetNodeId = ua.NodeId.from_string("i=2281") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2260") - node.BrowseName = ua.QualifiedName.from_string("BuildInfo") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2256") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=3051") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("BuildInfo") - attrs.DataType = ua.NodeId.from_string("i=338") - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2260") + ref.SourceNodeId = ua.NodeId.from_string("i=2275") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2262") + ref.TargetNodeId = ua.NodeId.from_string("i=2282") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2260") + ref.SourceNodeId = ua.NodeId.from_string("i=2275") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2263") + ref.TargetNodeId = ua.NodeId.from_string("i=2284") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2260") + ref.SourceNodeId = ua.NodeId.from_string("i=2275") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2261") + ref.TargetNodeId = ua.NodeId.from_string("i=2285") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2260") + ref.SourceNodeId = ua.NodeId.from_string("i=2275") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2264") + ref.TargetNodeId = ua.NodeId.from_string("i=2286") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2260") + ref.SourceNodeId = ua.NodeId.from_string("i=2275") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2265") + ref.TargetNodeId = ua.NodeId.from_string("i=2287") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2260") + ref.SourceNodeId = ua.NodeId.from_string("i=2275") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2266") + ref.TargetNodeId = ua.NodeId.from_string("i=2288") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2260") + ref.SourceNodeId = ua.NodeId.from_string("i=2275") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3051") + ref.TargetNodeId = ua.NodeId.from_string("i=2150") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2260") + ref.SourceNodeId = ua.NodeId.from_string("i=2275") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2256") + ref.TargetNodeId = ua.NodeId.from_string("i=2274") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2262") - node.BrowseName = ua.QualifiedName.from_string("ProductUri") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2276") + node.BrowseName = ua.QualifiedName.from_string("ServerViewCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2260") + node.ParentNodeId = ua.NodeId.from_string("i=2275") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.MinimumSamplingInterval = 1000 - attrs.DisplayName = ua.LocalizedText("ProductUri") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.DisplayName = ua.LocalizedText("ServerViewCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -29953,30 +30087,29 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2262") + ref.SourceNodeId = ua.NodeId.from_string("i=2276") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2262") + ref.SourceNodeId = ua.NodeId.from_string("i=2276") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2260") + ref.TargetNodeId = ua.NodeId.from_string("i=2275") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2263") - node.BrowseName = ua.QualifiedName.from_string("ManufacturerName") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2277") + node.BrowseName = ua.QualifiedName.from_string("CurrentSessionCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2260") + node.ParentNodeId = ua.NodeId.from_string("i=2275") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.MinimumSamplingInterval = 1000 - attrs.DisplayName = ua.LocalizedText("ManufacturerName") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.DisplayName = ua.LocalizedText("CurrentSessionCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -29984,30 +30117,29 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2263") + ref.SourceNodeId = ua.NodeId.from_string("i=2277") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2263") + ref.SourceNodeId = ua.NodeId.from_string("i=2277") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2260") + ref.TargetNodeId = ua.NodeId.from_string("i=2275") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2261") - node.BrowseName = ua.QualifiedName.from_string("ProductName") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2278") + node.BrowseName = ua.QualifiedName.from_string("CumulatedSessionCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2260") + node.ParentNodeId = ua.NodeId.from_string("i=2275") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.MinimumSamplingInterval = 1000 - attrs.DisplayName = ua.LocalizedText("ProductName") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.DisplayName = ua.LocalizedText("CumulatedSessionCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -30015,30 +30147,29 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2261") + ref.SourceNodeId = ua.NodeId.from_string("i=2278") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2261") + ref.SourceNodeId = ua.NodeId.from_string("i=2278") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2260") + ref.TargetNodeId = ua.NodeId.from_string("i=2275") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2264") - node.BrowseName = ua.QualifiedName.from_string("SoftwareVersion") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2279") + node.BrowseName = ua.QualifiedName.from_string("SecurityRejectedSessionCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2260") + node.ParentNodeId = ua.NodeId.from_string("i=2275") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.MinimumSamplingInterval = 1000 - attrs.DisplayName = ua.LocalizedText("SoftwareVersion") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.DisplayName = ua.LocalizedText("SecurityRejectedSessionCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -30046,30 +30177,29 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2264") + ref.SourceNodeId = ua.NodeId.from_string("i=2279") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2264") + ref.SourceNodeId = ua.NodeId.from_string("i=2279") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2260") + ref.TargetNodeId = ua.NodeId.from_string("i=2275") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2265") - node.BrowseName = ua.QualifiedName.from_string("BuildNumber") + node.RequestedNewNodeId = ua.NodeId.from_string("i=3705") + node.BrowseName = ua.QualifiedName.from_string("RejectedSessionCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2260") + node.ParentNodeId = ua.NodeId.from_string("i=2275") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.MinimumSamplingInterval = 1000 - attrs.DisplayName = ua.LocalizedText("BuildNumber") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.DisplayName = ua.LocalizedText("RejectedSessionCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -30077,30 +30207,29 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2265") + ref.SourceNodeId = ua.NodeId.from_string("i=3705") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2265") + ref.SourceNodeId = ua.NodeId.from_string("i=3705") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2260") + ref.TargetNodeId = ua.NodeId.from_string("i=2275") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2266") - node.BrowseName = ua.QualifiedName.from_string("BuildDate") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2281") + node.BrowseName = ua.QualifiedName.from_string("SessionTimeoutCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2260") + node.ParentNodeId = ua.NodeId.from_string("i=2275") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.MinimumSamplingInterval = 1000 - attrs.DisplayName = ua.LocalizedText("BuildDate") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = ua.LocalizedText("SessionTimeoutCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -30108,28 +30237,28 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2266") + ref.SourceNodeId = ua.NodeId.from_string("i=2281") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2266") + ref.SourceNodeId = ua.NodeId.from_string("i=2281") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2260") + ref.TargetNodeId = ua.NodeId.from_string("i=2275") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2992") - node.BrowseName = ua.QualifiedName.from_string("SecondsTillShutdown") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2282") + node.BrowseName = ua.QualifiedName.from_string("SessionAbortCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2256") + node.ParentNodeId = ua.NodeId.from_string("i=2275") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SecondsTillShutdown") + attrs.DisplayName = ua.LocalizedText("SessionAbortCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -30138,29 +30267,29 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2992") + ref.SourceNodeId = ua.NodeId.from_string("i=2282") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2992") + ref.SourceNodeId = ua.NodeId.from_string("i=2282") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2256") + ref.TargetNodeId = ua.NodeId.from_string("i=2275") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2993") - node.BrowseName = ua.QualifiedName.from_string("ShutdownReason") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2284") + node.BrowseName = ua.QualifiedName.from_string("PublishingIntervalCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2256") + node.ParentNodeId = ua.NodeId.from_string("i=2275") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ShutdownReason") - attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.DisplayName = ua.LocalizedText("PublishingIntervalCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -30168,31 +30297,29 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2993") + ref.SourceNodeId = ua.NodeId.from_string("i=2284") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2993") + ref.SourceNodeId = ua.NodeId.from_string("i=2284") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2256") + ref.TargetNodeId = ua.NodeId.from_string("i=2275") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2267") - node.BrowseName = ua.QualifiedName.from_string("ServiceLevel") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2285") + node.BrowseName = ua.QualifiedName.from_string("CurrentSubscriptionCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2253") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.ParentNodeId = ua.NodeId.from_string("i=2275") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.MinimumSamplingInterval = 1000 - attrs.Description = ua.LocalizedText("A value indicating the level of service the server can provide. 255 indicates the best.") - attrs.DisplayName = ua.LocalizedText("ServiceLevel") - attrs.DataType = ua.NodeId(ua.ObjectIds.Byte) + attrs.DisplayName = ua.LocalizedText("CurrentSubscriptionCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -30200,31 +30327,29 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2267") + ref.SourceNodeId = ua.NodeId.from_string("i=2285") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2267") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2285") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2253") + ref.TargetNodeId = ua.NodeId.from_string("i=2275") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2994") - node.BrowseName = ua.QualifiedName.from_string("Auditing") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2286") + node.BrowseName = ua.QualifiedName.from_string("CumulatedSubscriptionCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2253") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.ParentNodeId = ua.NodeId.from_string("i=2275") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.MinimumSamplingInterval = 1000 - attrs.Description = ua.LocalizedText("A flag indicating whether the server is currently generating audit events.") - attrs.DisplayName = ua.LocalizedText("Auditing") - attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) + attrs.DisplayName = ua.LocalizedText("CumulatedSubscriptionCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -30232,31 +30357,29 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2994") + ref.SourceNodeId = ua.NodeId.from_string("i=2286") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2994") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2286") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2253") + ref.TargetNodeId = ua.NodeId.from_string("i=2275") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12885") - node.BrowseName = ua.QualifiedName.from_string("EstimatedReturnTime") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2287") + node.BrowseName = ua.QualifiedName.from_string("SecurityRejectedRequestsCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2253") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.ParentNodeId = ua.NodeId.from_string("i=2275") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.MinimumSamplingInterval = 1000 - attrs.Description = ua.LocalizedText("Indicates the time at which the Server is expected to be available in the state RUNNING.") - attrs.DisplayName = ua.LocalizedText("EstimatedReturnTime") - attrs.DataType = ua.NodeId(ua.ObjectIds.DateTime) + attrs.DisplayName = ua.LocalizedText("SecurityRejectedRequestsCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -30264,151 +30387,166 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12885") + ref.SourceNodeId = ua.NodeId.from_string("i=2287") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12885") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2287") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2253") + ref.TargetNodeId = ua.NodeId.from_string("i=2275") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2268") - node.BrowseName = ua.QualifiedName.from_string("ServerCapabilities") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2253") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2288") + node.BrowseName = ua.QualifiedName.from_string("RejectedRequestsCount") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2275") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2013") - attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Describes capabilities supported by the server.") - attrs.DisplayName = ua.LocalizedText("ServerCapabilities") - attrs.EventNotifier = 0 + node.TypeDefinition = ua.NodeId.from_string("i=63") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("RejectedRequestsCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2268") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2269") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2268") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2271") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2268") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2272") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2268") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2735") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2268") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2736") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2268") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=2288") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2737") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2268") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2288") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3704") + ref.TargetNodeId = ua.NodeId.from_string("i=2275") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=2289") + node.BrowseName = ua.QualifiedName.from_string("SamplingIntervalDiagnosticsArray") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2274") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=2164") + attrs = ua.VariableAttributes() + attrs.Description = ua.LocalizedText("A list of diagnostics for each sampling interval supported by the server.") + attrs.DisplayName = ua.LocalizedText("SamplingIntervalDiagnosticsArray") + attrs.DataType = ua.NodeId.from_string("i=856") + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2268") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=2289") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11702") + ref.TargetNodeId = ua.NodeId.from_string("i=2164") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2268") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2289") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11703") + ref.TargetNodeId = ua.NodeId.from_string("i=2274") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=2290") + node.BrowseName = ua.QualifiedName.from_string("SubscriptionDiagnosticsArray") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2274") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=2171") + attrs = ua.VariableAttributes() + attrs.Description = ua.LocalizedText("A list of diagnostics for each active subscription.") + attrs.DisplayName = ua.LocalizedText("SubscriptionDiagnosticsArray") + attrs.DataType = ua.NodeId.from_string("i=874") + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2268") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=2290") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12911") + ref.TargetNodeId = ua.NodeId.from_string("i=2171") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2268") + ref.SourceNodeId = ua.NodeId.from_string("i=2290") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11704") + ref.TargetNodeId = ua.NodeId.from_string("i=2274") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=3706") + node.BrowseName = ua.QualifiedName.from_string("SessionsDiagnosticsSummary") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=2274") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=2026") + attrs = ua.ObjectAttributes() + attrs.Description = ua.LocalizedText("A summary of session level diagnostics.") + attrs.DisplayName = ua.LocalizedText("SessionsDiagnosticsSummary") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2268") + ref.SourceNodeId = ua.NodeId.from_string("i=3706") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2996") + ref.TargetNodeId = ua.NodeId.from_string("i=3707") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2268") + ref.SourceNodeId = ua.NodeId.from_string("i=3706") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2997") + ref.TargetNodeId = ua.NodeId.from_string("i=3708") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2268") + ref.SourceNodeId = ua.NodeId.from_string("i=3706") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2013") + ref.TargetNodeId = ua.NodeId.from_string("i=2026") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2268") + ref.SourceNodeId = ua.NodeId.from_string("i=3706") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2253") + ref.TargetNodeId = ua.NodeId.from_string("i=2274") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2269") - node.BrowseName = ua.QualifiedName.from_string("ServerProfileArray") + node.RequestedNewNodeId = ua.NodeId.from_string("i=3707") + node.BrowseName = ua.QualifiedName.from_string("SessionDiagnosticsArray") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2268") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.ParentNodeId = ua.NodeId.from_string("i=3706") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=2196") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A list of profiles supported by the server.") - attrs.DisplayName = ua.LocalizedText("ServerProfileArray") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Description = ua.LocalizedText("A list of diagnostics for each active session.") + attrs.DisplayName = ua.LocalizedText("SessionDiagnosticsArray") + attrs.DataType = ua.NodeId.from_string("i=865") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -30416,30 +30554,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2269") + ref.SourceNodeId = ua.NodeId.from_string("i=3707") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=2196") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2269") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=3707") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2268") + ref.TargetNodeId = ua.NodeId.from_string("i=3706") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2271") - node.BrowseName = ua.QualifiedName.from_string("LocaleIdArray") + node.RequestedNewNodeId = ua.NodeId.from_string("i=3708") + node.BrowseName = ua.QualifiedName.from_string("SessionSecurityDiagnosticsArray") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2268") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.ParentNodeId = ua.NodeId.from_string("i=3706") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=2243") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A list of locales supported by the server.") - attrs.DisplayName = ua.LocalizedText("LocaleIdArray") - attrs.DataType = ua.NodeId.from_string("i=295") + attrs.Description = ua.LocalizedText("A list of security related diagnostics for each active session.") + attrs.DisplayName = ua.LocalizedText("SessionSecurityDiagnosticsArray") + attrs.DataType = ua.NodeId.from_string("i=868") attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -30447,123 +30585,157 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2271") + ref.SourceNodeId = ua.NodeId.from_string("i=3708") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=2243") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2271") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=3708") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2268") + ref.TargetNodeId = ua.NodeId.from_string("i=3706") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2272") - node.BrowseName = ua.QualifiedName.from_string("MinSupportedSampleRate") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2294") + node.BrowseName = ua.QualifiedName.from_string("EnabledFlag") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2268") + node.ParentNodeId = ua.NodeId.from_string("i=2274") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The minimum sampling interval supported by the server.") - attrs.DisplayName = ua.LocalizedText("MinSupportedSampleRate") - attrs.DataType = ua.NodeId.from_string("i=290") + attrs.Description = ua.LocalizedText("If TRUE the diagnostics collection is enabled.") + attrs.DisplayName = ua.LocalizedText("EnabledFlag") + attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 + attrs.AccessLevel = 3 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2272") + ref.SourceNodeId = ua.NodeId.from_string("i=2294") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2272") + ref.SourceNodeId = ua.NodeId.from_string("i=2294") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2268") + ref.TargetNodeId = ua.NodeId.from_string("i=2274") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2735") - node.BrowseName = ua.QualifiedName.from_string("MaxBrowseContinuationPoints") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2268") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum number of continuation points for Browse operations per session.") - attrs.DisplayName = ua.LocalizedText("MaxBrowseContinuationPoints") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) - attrs.ValueRank = -1 + node.RequestedNewNodeId = ua.NodeId.from_string("i=2295") + node.BrowseName = ua.QualifiedName.from_string("VendorServerInfo") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=2253") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=2033") + attrs = ua.ObjectAttributes() + attrs.Description = ua.LocalizedText("Server information provided by the vendor.") + attrs.DisplayName = ua.LocalizedText("VendorServerInfo") + attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2735") + ref.SourceNodeId = ua.NodeId.from_string("i=2295") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=2033") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2735") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2295") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2268") + ref.TargetNodeId = ua.NodeId.from_string("i=2253") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2736") - node.BrowseName = ua.QualifiedName.from_string("MaxQueryContinuationPoints") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2268") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum number of continuation points for Query operations per session.") - attrs.DisplayName = ua.LocalizedText("MaxQueryContinuationPoints") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) - attrs.ValueRank = -1 + node.RequestedNewNodeId = ua.NodeId.from_string("i=2296") + node.BrowseName = ua.QualifiedName.from_string("ServerRedundancy") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=2253") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=2034") + attrs = ua.ObjectAttributes() + attrs.Description = ua.LocalizedText("Describes the redundancy capabilities of the server.") + attrs.DisplayName = ua.LocalizedText("ServerRedundancy") + attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2296") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=3709") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2296") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11312") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2296") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11313") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2296") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11314") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2296") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=14415") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2736") + ref.SourceNodeId = ua.NodeId.from_string("i=2296") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=2034") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2736") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2296") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2268") + ref.TargetNodeId = ua.NodeId.from_string("i=2253") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2737") - node.BrowseName = ua.QualifiedName.from_string("MaxHistoryContinuationPoints") + node.RequestedNewNodeId = ua.NodeId.from_string("i=3709") + node.BrowseName = ua.QualifiedName.from_string("RedundancySupport") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2268") + node.ParentNodeId = ua.NodeId.from_string("i=2296") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum number of continuation points for ReadHistory operations per session.") - attrs.DisplayName = ua.LocalizedText("MaxHistoryContinuationPoints") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) + attrs.Description = ua.LocalizedText("Indicates what style of redundancy is supported by the server.") + attrs.DisplayName = ua.LocalizedText("RedundancySupport") + attrs.DataType = ua.NodeId.from_string("i=851") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -30571,547 +30743,553 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2737") + ref.SourceNodeId = ua.NodeId.from_string("i=3709") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2737") + ref.SourceNodeId = ua.NodeId.from_string("i=3709") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2268") + ref.TargetNodeId = ua.NodeId.from_string("i=2296") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3704") - node.BrowseName = ua.QualifiedName.from_string("SoftwareCertificates") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11312") + node.BrowseName = ua.QualifiedName.from_string("CurrentServerId") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2268") + node.ParentNodeId = ua.NodeId.from_string("i=2296") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The software certificates owned by the server.") - attrs.DisplayName = ua.LocalizedText("SoftwareCertificates") - attrs.DataType = ua.NodeId.from_string("i=344") - attrs.ValueRank = 1 + attrs.DisplayName = ua.LocalizedText("CurrentServerId") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3704") + ref.SourceNodeId = ua.NodeId.from_string("i=11312") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3704") + ref.SourceNodeId = ua.NodeId.from_string("i=11312") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2268") + ref.TargetNodeId = ua.NodeId.from_string("i=2296") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11702") - node.BrowseName = ua.QualifiedName.from_string("MaxArrayLength") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11313") + node.BrowseName = ua.QualifiedName.from_string("RedundantServerArray") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2268") + node.ParentNodeId = ua.NodeId.from_string("i=2296") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum length for an array value supported by the server.") - attrs.DisplayName = ua.LocalizedText("MaxArrayLength") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("RedundantServerArray") + attrs.DataType = ua.NodeId.from_string("i=853") + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11702") + ref.SourceNodeId = ua.NodeId.from_string("i=11313") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11702") + ref.SourceNodeId = ua.NodeId.from_string("i=11313") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2268") + ref.TargetNodeId = ua.NodeId.from_string("i=2296") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11703") - node.BrowseName = ua.QualifiedName.from_string("MaxStringLength") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11314") + node.BrowseName = ua.QualifiedName.from_string("ServerUriArray") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2268") + node.ParentNodeId = ua.NodeId.from_string("i=2296") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum length for a string value supported by the server.") - attrs.DisplayName = ua.LocalizedText("MaxStringLength") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("ServerUriArray") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11703") + ref.SourceNodeId = ua.NodeId.from_string("i=11314") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11703") + ref.SourceNodeId = ua.NodeId.from_string("i=11314") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2268") + ref.TargetNodeId = ua.NodeId.from_string("i=2296") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12911") - node.BrowseName = ua.QualifiedName.from_string("MaxByteStringLength") + node.RequestedNewNodeId = ua.NodeId.from_string("i=14415") + node.BrowseName = ua.QualifiedName.from_string("ServerNetworkGroups") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2268") + node.ParentNodeId = ua.NodeId.from_string("i=2296") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum length for a byte string value supported by the server.") - attrs.DisplayName = ua.LocalizedText("MaxByteStringLength") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("ServerNetworkGroups") + attrs.DataType = ua.NodeId.from_string("i=11944") + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12911") + ref.SourceNodeId = ua.NodeId.from_string("i=14415") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12911") + ref.SourceNodeId = ua.NodeId.from_string("i=14415") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2268") + ref.TargetNodeId = ua.NodeId.from_string("i=2296") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11704") - node.BrowseName = ua.QualifiedName.from_string("OperationLimits") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11715") + node.BrowseName = ua.QualifiedName.from_string("Namespaces") node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2268") + node.ParentNodeId = ua.NodeId.from_string("i=2253") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=11564") + node.TypeDefinition = ua.NodeId.from_string("i=11645") attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Defines the limits supported by the server for different operations.") - attrs.DisplayName = ua.LocalizedText("OperationLimits") + attrs.Description = ua.LocalizedText("Describes the namespaces supported by the server.") + attrs.DisplayName = ua.LocalizedText("Namespaces") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11704") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11705") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11704") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12165") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11704") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12166") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11704") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11707") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11704") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12167") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11704") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12168") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11704") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11709") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11704") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11710") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11704") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=11715") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11711") + ref.TargetNodeId = ua.NodeId.from_string("i=11645") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11704") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=11715") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11712") + ref.TargetNodeId = ua.NodeId.from_string("i=2253") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=11492") + node.BrowseName = ua.QualifiedName.from_string("GetMonitoredItems") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=2253") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("GetMonitoredItems") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11704") + ref.SourceNodeId = ua.NodeId.from_string("i=11492") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11713") + ref.TargetNodeId = ua.NodeId.from_string("i=11493") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11704") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11714") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11704") + ref.SourceNodeId = ua.NodeId.from_string("i=11492") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11564") + ref.TargetNodeId = ua.NodeId.from_string("i=11494") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11704") + ref.SourceNodeId = ua.NodeId.from_string("i=11492") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2268") + ref.TargetNodeId = ua.NodeId.from_string("i=2253") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11705") - node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerRead") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11493") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11704") + node.ParentNodeId = ua.NodeId.from_string("i=11492") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum number of operations in a single Read request.") - attrs.DisplayName = ua.LocalizedText("MaxNodesPerRead") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'SubscriptionId' + extobj.DataType = ua.NodeId.from_string("i=7") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11705") + ref.SourceNodeId = ua.NodeId.from_string("i=11493") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11705") + ref.SourceNodeId = ua.NodeId.from_string("i=11493") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11704") + ref.TargetNodeId = ua.NodeId.from_string("i=11492") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12165") - node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerHistoryReadData") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11494") + node.BrowseName = ua.QualifiedName.from_string("OutputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11704") + node.ParentNodeId = ua.NodeId.from_string("i=11492") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum number of operations in a single data HistoryRead request.") - attrs.DisplayName = ua.LocalizedText("MaxNodesPerHistoryReadData") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("OutputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'ServerHandles' + extobj.DataType = ua.NodeId.from_string("i=7") + extobj.ValueRank = 1 + value.append(extobj) + extobj = ua.Argument() + extobj.Name = 'ClientHandles' + extobj.DataType = ua.NodeId.from_string("i=7") + extobj.ValueRank = 1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12165") + ref.SourceNodeId = ua.NodeId.from_string("i=11494") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12165") + ref.SourceNodeId = ua.NodeId.from_string("i=11494") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11704") + ref.TargetNodeId = ua.NodeId.from_string("i=11492") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12166") - node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerHistoryReadEvents") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11704") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum number of operations in a single event HistoryRead request.") - attrs.DisplayName = ua.LocalizedText("MaxNodesPerHistoryReadEvents") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) - attrs.ValueRank = -1 + node.RequestedNewNodeId = ua.NodeId.from_string("i=12873") + node.BrowseName = ua.QualifiedName.from_string("ResendData") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=2253") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("ResendData") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12166") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=12873") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=12874") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12166") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12873") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11704") + ref.TargetNodeId = ua.NodeId.from_string("i=2253") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11707") - node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerWrite") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12874") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11704") + node.ParentNodeId = ua.NodeId.from_string("i=12873") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum number of operations in a single Write request.") - attrs.DisplayName = ua.LocalizedText("MaxNodesPerWrite") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'SubscriptionId' + extobj.DataType = ua.NodeId.from_string("i=7") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11707") + ref.SourceNodeId = ua.NodeId.from_string("i=12874") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11707") + ref.SourceNodeId = ua.NodeId.from_string("i=12874") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11704") + ref.TargetNodeId = ua.NodeId.from_string("i=12873") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12167") - node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerHistoryUpdateData") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11704") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum number of operations in a single data HistoryUpdate request.") - attrs.DisplayName = ua.LocalizedText("MaxNodesPerHistoryUpdateData") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) - attrs.ValueRank = -1 + node.RequestedNewNodeId = ua.NodeId.from_string("i=12749") + node.BrowseName = ua.QualifiedName.from_string("SetSubscriptionDurable") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=2253") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("SetSubscriptionDurable") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12167") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=12749") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=12750") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12167") + ref.SourceNodeId = ua.NodeId.from_string("i=12749") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11704") + ref.TargetNodeId = ua.NodeId.from_string("i=12751") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12749") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2253") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12168") - node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerHistoryUpdateEvents") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12750") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11704") + node.ParentNodeId = ua.NodeId.from_string("i=12749") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum number of operations in a single event HistoryUpdate request.") - attrs.DisplayName = ua.LocalizedText("MaxNodesPerHistoryUpdateEvents") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'SubscriptionId' + extobj.DataType = ua.NodeId.from_string("i=7") + extobj.ValueRank = -1 + value.append(extobj) + extobj = ua.Argument() + extobj.Name = 'LifetimeInHours' + extobj.DataType = ua.NodeId.from_string("i=7") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12168") + ref.SourceNodeId = ua.NodeId.from_string("i=12750") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12168") + ref.SourceNodeId = ua.NodeId.from_string("i=12750") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11704") + ref.TargetNodeId = ua.NodeId.from_string("i=12749") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11709") - node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerMethodCall") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12751") + node.BrowseName = ua.QualifiedName.from_string("OutputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11704") + node.ParentNodeId = ua.NodeId.from_string("i=12749") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum number of operations in a single Call request.") - attrs.DisplayName = ua.LocalizedText("MaxNodesPerMethodCall") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("OutputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RevisedLifetimeInHours' + extobj.DataType = ua.NodeId.from_string("i=7") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11709") + ref.SourceNodeId = ua.NodeId.from_string("i=12751") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11709") + ref.SourceNodeId = ua.NodeId.from_string("i=12751") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11704") + ref.TargetNodeId = ua.NodeId.from_string("i=12749") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11710") - node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerBrowse") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11704") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum number of operations in a single Browse request.") - attrs.DisplayName = ua.LocalizedText("MaxNodesPerBrowse") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) - attrs.ValueRank = -1 + node.RequestedNewNodeId = ua.NodeId.from_string("i=12886") + node.BrowseName = ua.QualifiedName.from_string("RequestServerStateChange") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=2253") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("RequestServerStateChange") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11710") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=12886") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=12887") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11710") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12886") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11704") + ref.TargetNodeId = ua.NodeId.from_string("i=2253") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11711") - node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerRegisterNodes") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12887") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11704") + node.ParentNodeId = ua.NodeId.from_string("i=12886") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum number of operations in a single RegisterNodes request.") - attrs.DisplayName = ua.LocalizedText("MaxNodesPerRegisterNodes") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'State' + extobj.DataType = ua.NodeId.from_string("i=852") + extobj.ValueRank = -1 + value.append(extobj) + extobj = ua.Argument() + extobj.Name = 'EstimatedReturnTime' + extobj.DataType = ua.NodeId.from_string("i=13") + extobj.ValueRank = -1 + value.append(extobj) + extobj = ua.Argument() + extobj.Name = 'SecondsTillShutdown' + extobj.DataType = ua.NodeId.from_string("i=7") + extobj.ValueRank = -1 + value.append(extobj) + extobj = ua.Argument() + extobj.Name = 'Reason' + extobj.DataType = ua.NodeId.from_string("i=21") + extobj.ValueRank = -1 + value.append(extobj) + extobj = ua.Argument() + extobj.Name = 'Restart' + extobj.DataType = ua.NodeId.from_string("i=1") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11711") + ref.SourceNodeId = ua.NodeId.from_string("i=12887") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11711") + ref.SourceNodeId = ua.NodeId.from_string("i=12887") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11704") + ref.TargetNodeId = ua.NodeId.from_string("i=12886") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11712") - node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerTranslateBrowsePathsToNodeIds") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16313") + node.BrowseName = ua.QualifiedName.from_string("CurrentTimeZone") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11704") + node.ParentNodeId = ua.NodeId.from_string("i=2253") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum number of operations in a single TranslateBrowsePathsToNodeIds request.") - attrs.DisplayName = ua.LocalizedText("MaxNodesPerTranslateBrowsePathsToNodeIds") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.DisplayName = ua.LocalizedText("CurrentTimeZone") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -31119,331 +31297,338 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11712") + ref.SourceNodeId = ua.NodeId.from_string("i=16313") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11712") + ref.SourceNodeId = ua.NodeId.from_string("i=16313") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11704") + ref.TargetNodeId = ua.NodeId.from_string("i=2253") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11713") - node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerNodeManagement") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11704") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum number of operations in a single AddNodes, AddReferences, DeleteNodes or DeleteReferences request.") - attrs.DisplayName = ua.LocalizedText("MaxNodesPerNodeManagement") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) - attrs.ValueRank = -1 + node.RequestedNewNodeId = ua.NodeId.from_string("i=11737") + node.BrowseName = ua.QualifiedName.from_string("BitFieldMaskDataType") + node.NodeClass = ua.NodeClass.DataType + node.ParentNodeId = ua.NodeId.from_string("i=9") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.DataTypeAttributes() + attrs.Description = ua.LocalizedText("A mask of 32 bits that can be updated individually by using the top 32 bits as a mask.") + attrs.DisplayName = ua.LocalizedText("BitFieldMaskDataType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11713") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") - refs.append(ref) - ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11713") + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=11737") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11704") + ref.TargetNodeId = ua.NodeId.from_string("i=9") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11714") - node.BrowseName = ua.QualifiedName.from_string("MaxMonitoredItemsPerCall") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11704") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum number of operations in a single MonitoredItem related request.") - attrs.DisplayName = ua.LocalizedText("MaxMonitoredItemsPerCall") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) - attrs.ValueRank = -1 + node.RequestedNewNodeId = ua.NodeId.from_string("i=14533") + node.BrowseName = ua.QualifiedName.from_string("KeyValuePair") + node.NodeClass = ua.NodeClass.DataType + node.ParentNodeId = ua.NodeId.from_string("i=22") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.DataTypeAttributes() + attrs.DisplayName = ua.LocalizedText("KeyValuePair") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11714") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") - refs.append(ref) - ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11714") + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=14533") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11704") + ref.TargetNodeId = ua.NodeId.from_string("i=22") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2996") - node.BrowseName = ua.QualifiedName.from_string("ModellingRules") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2268") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=61") - attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("A folder for the modelling rules supported by the server.") - attrs.DisplayName = ua.LocalizedText("ModellingRules") - attrs.EventNotifier = 0 + node.RequestedNewNodeId = ua.NodeId.from_string("i=15528") + node.BrowseName = ua.QualifiedName.from_string("EndpointType") + node.NodeClass = ua.NodeClass.DataType + node.ParentNodeId = ua.NodeId.from_string("i=22") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.DataTypeAttributes() + attrs.DisplayName = ua.LocalizedText("EndpointType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2996") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=15528") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=61") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2996") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2268") + ref.TargetNodeId = ua.NodeId.from_string("i=22") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2997") - node.BrowseName = ua.QualifiedName.from_string("AggregateFunctions") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2268") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=61") - attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("A folder for the real time aggregates supported by the server.") - attrs.DisplayName = ua.LocalizedText("AggregateFunctions") - attrs.EventNotifier = 0 + node.RequestedNewNodeId = ua.NodeId.from_string("i=2299") + node.BrowseName = ua.QualifiedName.from_string("StateMachineType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=58") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("StateMachineType") + attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2997") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2299") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=61") + ref.TargetNodeId = ua.NodeId.from_string("i=2769") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2997") + ref.SourceNodeId = ua.NodeId.from_string("i=2299") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2268") + ref.TargetNodeId = ua.NodeId.from_string("i=2770") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=2299") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=58") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2274") - node.BrowseName = ua.QualifiedName.from_string("ServerDiagnostics") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2253") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2769") + node.BrowseName = ua.QualifiedName.from_string("CurrentState") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2299") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2020") - attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Reports diagnostics about the server.") - attrs.DisplayName = ua.LocalizedText("ServerDiagnostics") - attrs.EventNotifier = 0 + node.TypeDefinition = ua.NodeId.from_string("i=2755") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("CurrentState") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2274") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2769") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2275") + ref.TargetNodeId = ua.NodeId.from_string("i=3720") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2274") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=2769") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2289") + ref.TargetNodeId = ua.NodeId.from_string("i=2755") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2274") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=2769") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2290") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2274") + ref.SourceNodeId = ua.NodeId.from_string("i=2769") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3706") + ref.TargetNodeId = ua.NodeId.from_string("i=2299") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=3720") + node.BrowseName = ua.QualifiedName.from_string("Id") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2769") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Id") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2274") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=3720") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2294") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2274") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=3720") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2020") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2274") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=3720") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2253") + ref.TargetNodeId = ua.NodeId.from_string("i=2769") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2275") - node.BrowseName = ua.QualifiedName.from_string("ServerDiagnosticsSummary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2770") + node.BrowseName = ua.QualifiedName.from_string("LastTransition") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2274") + node.ParentNodeId = ua.NodeId.from_string("i=2299") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2150") + node.TypeDefinition = ua.NodeId.from_string("i=2762") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A summary of server level diagnostics.") - attrs.DisplayName = ua.LocalizedText("ServerDiagnosticsSummary") - attrs.DataType = ua.NodeId.from_string("i=859") + attrs.DisplayName = ua.LocalizedText("LastTransition") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2275") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2276") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2275") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2277") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2275") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2770") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2278") + ref.TargetNodeId = ua.NodeId.from_string("i=3724") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2275") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=2770") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2279") + ref.TargetNodeId = ua.NodeId.from_string("i=2762") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2275") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=2770") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3705") + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2275") + ref.SourceNodeId = ua.NodeId.from_string("i=2770") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2281") + ref.TargetNodeId = ua.NodeId.from_string("i=2299") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=3724") + node.BrowseName = ua.QualifiedName.from_string("Id") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2770") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Id") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2275") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=3724") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2282") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2275") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=3724") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2284") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2275") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=3724") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2285") + ref.TargetNodeId = ua.NodeId.from_string("i=2770") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=2755") + node.BrowseName = ua.QualifiedName.from_string("StateVariableType") + node.NodeClass = ua.NodeClass.VariableType + node.ParentNodeId = ua.NodeId.from_string("i=63") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.VariableTypeAttributes() + attrs.DisplayName = ua.LocalizedText("StateVariableType") + attrs.DisplayName = ua.LocalizedText("StateVariableType") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2275") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2755") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2286") + ref.TargetNodeId = ua.NodeId.from_string("i=2756") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2275") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2755") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2287") + ref.TargetNodeId = ua.NodeId.from_string("i=2757") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2275") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2755") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2288") + ref.TargetNodeId = ua.NodeId.from_string("i=2758") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2275") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2755") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2150") + ref.TargetNodeId = ua.NodeId.from_string("i=2759") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2275") + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=2755") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2274") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2276") - node.BrowseName = ua.QualifiedName.from_string("ServerViewCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2756") + node.BrowseName = ua.QualifiedName.from_string("Id") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2275") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.ParentNodeId = ua.NodeId.from_string("i=2755") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ServerViewCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.DisplayName = ua.LocalizedText("Id") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -31451,29 +31636,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2276") + ref.SourceNodeId = ua.NodeId.from_string("i=2756") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=2756") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2276") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2756") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2275") + ref.TargetNodeId = ua.NodeId.from_string("i=2755") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2277") - node.BrowseName = ua.QualifiedName.from_string("CurrentSessionCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2757") + node.BrowseName = ua.QualifiedName.from_string("Name") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2275") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.ParentNodeId = ua.NodeId.from_string("i=2755") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentSessionCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.DisplayName = ua.LocalizedText("Name") + attrs.DataType = ua.NodeId(ua.ObjectIds.QualifiedName) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -31481,28 +31673,35 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2277") + ref.SourceNodeId = ua.NodeId.from_string("i=2757") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=2757") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2277") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2757") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2275") + ref.TargetNodeId = ua.NodeId.from_string("i=2755") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2278") - node.BrowseName = ua.QualifiedName.from_string("CumulatedSessionCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2758") + node.BrowseName = ua.QualifiedName.from_string("Number") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2275") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.ParentNodeId = ua.NodeId.from_string("i=2755") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CumulatedSessionCount") + attrs.DisplayName = ua.LocalizedText("Number") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -31511,29 +31710,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2278") + ref.SourceNodeId = ua.NodeId.from_string("i=2758") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=2758") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2278") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2758") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2275") + ref.TargetNodeId = ua.NodeId.from_string("i=2755") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2279") - node.BrowseName = ua.QualifiedName.from_string("SecurityRejectedSessionCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2759") + node.BrowseName = ua.QualifiedName.from_string("EffectiveDisplayName") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2275") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.ParentNodeId = ua.NodeId.from_string("i=2755") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SecurityRejectedSessionCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.DisplayName = ua.LocalizedText("EffectiveDisplayName") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -31541,59 +31747,94 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2279") + ref.SourceNodeId = ua.NodeId.from_string("i=2759") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=2759") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2279") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2759") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2275") + ref.TargetNodeId = ua.NodeId.from_string("i=2755") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3705") - node.BrowseName = ua.QualifiedName.from_string("RejectedSessionCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2275") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RejectedSessionCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + node.RequestedNewNodeId = ua.NodeId.from_string("i=2762") + node.BrowseName = ua.QualifiedName.from_string("TransitionVariableType") + node.NodeClass = ua.NodeClass.VariableType + node.ParentNodeId = ua.NodeId.from_string("i=63") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.VariableTypeAttributes() + attrs.DisplayName = ua.LocalizedText("TransitionVariableType") + attrs.DisplayName = ua.LocalizedText("TransitionVariableType") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3705") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2762") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=2763") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2762") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2764") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2762") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2765") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2762") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2766") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2762") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11456") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3705") + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=2762") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2275") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2281") - node.BrowseName = ua.QualifiedName.from_string("SessionTimeoutCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2763") + node.BrowseName = ua.QualifiedName.from_string("Id") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2275") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.ParentNodeId = ua.NodeId.from_string("i=2762") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SessionTimeoutCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.DisplayName = ua.LocalizedText("Id") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -31601,29 +31842,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2281") + ref.SourceNodeId = ua.NodeId.from_string("i=2763") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=2763") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2281") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2763") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2275") + ref.TargetNodeId = ua.NodeId.from_string("i=2762") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2282") - node.BrowseName = ua.QualifiedName.from_string("SessionAbortCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2764") + node.BrowseName = ua.QualifiedName.from_string("Name") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2275") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.ParentNodeId = ua.NodeId.from_string("i=2762") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SessionAbortCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.DisplayName = ua.LocalizedText("Name") + attrs.DataType = ua.NodeId(ua.ObjectIds.QualifiedName) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -31631,28 +31879,35 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2282") + ref.SourceNodeId = ua.NodeId.from_string("i=2764") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=2764") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2282") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2764") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2275") + ref.TargetNodeId = ua.NodeId.from_string("i=2762") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2284") - node.BrowseName = ua.QualifiedName.from_string("PublishingIntervalCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2765") + node.BrowseName = ua.QualifiedName.from_string("Number") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2275") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.ParentNodeId = ua.NodeId.from_string("i=2762") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("PublishingIntervalCount") + attrs.DisplayName = ua.LocalizedText("Number") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -31661,29 +31916,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2284") + ref.SourceNodeId = ua.NodeId.from_string("i=2765") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=2765") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2284") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2765") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2275") + ref.TargetNodeId = ua.NodeId.from_string("i=2762") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2285") - node.BrowseName = ua.QualifiedName.from_string("CurrentSubscriptionCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2766") + node.BrowseName = ua.QualifiedName.from_string("TransitionTime") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2275") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.ParentNodeId = ua.NodeId.from_string("i=2762") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentSubscriptionCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.DisplayName = ua.LocalizedText("TransitionTime") + attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -31691,29 +31953,36 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2285") + ref.SourceNodeId = ua.NodeId.from_string("i=2766") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=2766") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2285") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2766") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2275") + ref.TargetNodeId = ua.NodeId.from_string("i=2762") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2286") - node.BrowseName = ua.QualifiedName.from_string("CumulatedSubscriptionCount") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11456") + node.BrowseName = ua.QualifiedName.from_string("EffectiveTransitionTime") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2275") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.ParentNodeId = ua.NodeId.from_string("i=2762") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CumulatedSubscriptionCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.DisplayName = ua.LocalizedText("EffectiveTransitionTime") + attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -31721,227 +31990,247 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2286") + ref.SourceNodeId = ua.NodeId.from_string("i=11456") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=11456") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2286") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11456") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2275") + ref.TargetNodeId = ua.NodeId.from_string("i=2762") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2287") - node.BrowseName = ua.QualifiedName.from_string("SecurityRejectedRequestsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2275") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SecurityRejectedRequestsCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) - attrs.ValueRank = -1 + node.RequestedNewNodeId = ua.NodeId.from_string("i=2771") + node.BrowseName = ua.QualifiedName.from_string("FiniteStateMachineType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=2299") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("FiniteStateMachineType") + attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2287") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2771") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=2772") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2287") + ref.SourceNodeId = ua.NodeId.from_string("i=2771") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2275") + ref.TargetNodeId = ua.NodeId.from_string("i=2773") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2288") - node.BrowseName = ua.QualifiedName.from_string("RejectedRequestsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2275") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RejectedRequestsCount") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2288") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2771") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=17635") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2288") + ref.SourceNodeId = ua.NodeId.from_string("i=2771") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2275") + ref.TargetNodeId = ua.NodeId.from_string("i=17636") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=2771") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2299") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2289") - node.BrowseName = ua.QualifiedName.from_string("SamplingIntervalDiagnosticsArray") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2772") + node.BrowseName = ua.QualifiedName.from_string("CurrentState") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2274") + node.ParentNodeId = ua.NodeId.from_string("i=2771") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2164") + node.TypeDefinition = ua.NodeId.from_string("i=2760") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A list of diagnostics for each sampling interval supported by the server.") - attrs.DisplayName = ua.LocalizedText("SamplingIntervalDiagnosticsArray") - attrs.DataType = ua.NodeId.from_string("i=856") - attrs.ValueRank = 1 + attrs.DisplayName = ua.LocalizedText("CurrentState") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2772") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=3728") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2289") + ref.SourceNodeId = ua.NodeId.from_string("i=2772") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2164") + ref.TargetNodeId = ua.NodeId.from_string("i=2760") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=2772") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2289") + ref.SourceNodeId = ua.NodeId.from_string("i=2772") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2274") + ref.TargetNodeId = ua.NodeId.from_string("i=2771") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2290") - node.BrowseName = ua.QualifiedName.from_string("SubscriptionDiagnosticsArray") + node.RequestedNewNodeId = ua.NodeId.from_string("i=3728") + node.BrowseName = ua.QualifiedName.from_string("Id") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2274") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2171") + node.ParentNodeId = ua.NodeId.from_string("i=2772") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A list of diagnostics for each active subscription.") - attrs.DisplayName = ua.LocalizedText("SubscriptionDiagnosticsArray") - attrs.DataType = ua.NodeId.from_string("i=874") - attrs.ValueRank = 1 + attrs.DisplayName = ua.LocalizedText("Id") + attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2290") + ref.SourceNodeId = ua.NodeId.from_string("i=3728") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2171") + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=3728") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2290") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=3728") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2274") + ref.TargetNodeId = ua.NodeId.from_string("i=2772") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3706") - node.BrowseName = ua.QualifiedName.from_string("SessionsDiagnosticsSummary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2274") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2773") + node.BrowseName = ua.QualifiedName.from_string("LastTransition") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2771") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2026") - attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("A summary of session level diagnostics.") - attrs.DisplayName = ua.LocalizedText("SessionsDiagnosticsSummary") - attrs.EventNotifier = 0 + node.TypeDefinition = ua.NodeId.from_string("i=2767") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("LastTransition") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3706") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2773") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3707") + ref.TargetNodeId = ua.NodeId.from_string("i=3732") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3706") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=2773") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3708") + ref.TargetNodeId = ua.NodeId.from_string("i=2767") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3706") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=2773") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2026") + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3706") + ref.SourceNodeId = ua.NodeId.from_string("i=2773") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2274") + ref.TargetNodeId = ua.NodeId.from_string("i=2771") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3707") - node.BrowseName = ua.QualifiedName.from_string("SessionDiagnosticsArray") + node.RequestedNewNodeId = ua.NodeId.from_string("i=3732") + node.BrowseName = ua.QualifiedName.from_string("Id") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3706") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2196") + node.ParentNodeId = ua.NodeId.from_string("i=2773") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A list of diagnostics for each active session.") - attrs.DisplayName = ua.LocalizedText("SessionDiagnosticsArray") - attrs.DataType = ua.NodeId.from_string("i=865") - attrs.ValueRank = 1 + attrs.DisplayName = ua.LocalizedText("Id") + attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3707") + ref.SourceNodeId = ua.NodeId.from_string("i=3732") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2196") + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=3732") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3707") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=3732") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3706") + ref.TargetNodeId = ua.NodeId.from_string("i=2773") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3708") - node.BrowseName = ua.QualifiedName.from_string("SessionSecurityDiagnosticsArray") + node.RequestedNewNodeId = ua.NodeId.from_string("i=17635") + node.BrowseName = ua.QualifiedName.from_string("AvailableStates") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3706") + node.ParentNodeId = ua.NodeId.from_string("i=2771") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2243") + node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A list of security related diagnostics for each active session.") - attrs.DisplayName = ua.LocalizedText("SessionSecurityDiagnosticsArray") - attrs.DataType = ua.NodeId.from_string("i=868") + attrs.DisplayName = ua.LocalizedText("AvailableStates") + attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -31949,158 +32238,170 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3708") + ref.SourceNodeId = ua.NodeId.from_string("i=17635") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2243") + ref.TargetNodeId = ua.NodeId.from_string("i=63") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=17635") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3708") + ref.SourceNodeId = ua.NodeId.from_string("i=17635") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3706") + ref.TargetNodeId = ua.NodeId.from_string("i=2771") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2294") - node.BrowseName = ua.QualifiedName.from_string("EnabledFlag") + node.RequestedNewNodeId = ua.NodeId.from_string("i=17636") + node.BrowseName = ua.QualifiedName.from_string("AvailableTransitions") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2274") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.ParentNodeId = ua.NodeId.from_string("i=2771") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=63") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("If TRUE the diagnostics collection is enabled.") - attrs.DisplayName = ua.LocalizedText("EnabledFlag") - attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) - attrs.ValueRank = -1 - attrs.AccessLevel = 3 - attrs.UserAccessLevel = 3 + attrs.DisplayName = ua.LocalizedText("AvailableTransitions") + attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2294") + ref.SourceNodeId = ua.NodeId.from_string("i=17636") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=63") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=17636") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2294") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=17636") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2274") + ref.TargetNodeId = ua.NodeId.from_string("i=2771") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2295") - node.BrowseName = ua.QualifiedName.from_string("VendorServerInfo") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2253") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2033") - attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Server information provided by the vendor.") - attrs.DisplayName = ua.LocalizedText("VendorServerInfo") - attrs.EventNotifier = 0 + node.RequestedNewNodeId = ua.NodeId.from_string("i=2760") + node.BrowseName = ua.QualifiedName.from_string("FiniteStateVariableType") + node.NodeClass = ua.NodeClass.VariableType + node.ParentNodeId = ua.NodeId.from_string("i=2755") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.VariableTypeAttributes() + attrs.DisplayName = ua.LocalizedText("FiniteStateVariableType") + attrs.DisplayName = ua.LocalizedText("FiniteStateVariableType") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2295") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2760") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2033") + ref.TargetNodeId = ua.NodeId.from_string("i=2761") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2295") + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=2760") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2253") + ref.TargetNodeId = ua.NodeId.from_string("i=2755") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2296") - node.BrowseName = ua.QualifiedName.from_string("ServerRedundancy") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2253") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2034") - attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Describes the redundancy capabilities of the server.") - attrs.DisplayName = ua.LocalizedText("ServerRedundancy") - attrs.EventNotifier = 0 + node.RequestedNewNodeId = ua.NodeId.from_string("i=2761") + node.BrowseName = ua.QualifiedName.from_string("Id") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2760") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Id") + attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2296") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3709") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2296") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=2761") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11312") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2296") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=2761") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11313") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2296") + ref.SourceNodeId = ua.NodeId.from_string("i=2761") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11314") + ref.TargetNodeId = ua.NodeId.from_string("i=2760") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=2767") + node.BrowseName = ua.QualifiedName.from_string("FiniteTransitionVariableType") + node.NodeClass = ua.NodeClass.VariableType + node.ParentNodeId = ua.NodeId.from_string("i=2762") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.VariableTypeAttributes() + attrs.DisplayName = ua.LocalizedText("FiniteTransitionVariableType") + attrs.DisplayName = ua.LocalizedText("FiniteTransitionVariableType") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2296") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=14415") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2296") + ref.SourceNodeId = ua.NodeId.from_string("i=2767") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2034") + ref.TargetNodeId = ua.NodeId.from_string("i=2768") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2296") + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=2767") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2253") + ref.TargetNodeId = ua.NodeId.from_string("i=2762") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3709") - node.BrowseName = ua.QualifiedName.from_string("RedundancySupport") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2768") + node.BrowseName = ua.QualifiedName.from_string("Id") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2296") + node.ParentNodeId = ua.NodeId.from_string("i=2767") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("Indicates what style of redundancy is supported by the server.") - attrs.DisplayName = ua.LocalizedText("RedundancySupport") - attrs.DataType = ua.NodeId.from_string("i=851") + attrs.DisplayName = ua.LocalizedText("Id") + attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -32108,266 +32409,273 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3709") + ref.SourceNodeId = ua.NodeId.from_string("i=2768") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=2768") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3709") + ref.SourceNodeId = ua.NodeId.from_string("i=2768") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2296") + ref.TargetNodeId = ua.NodeId.from_string("i=2767") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11312") - node.BrowseName = ua.QualifiedName.from_string("CurrentServerId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2296") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentServerId") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.ValueRank = -1 + node.RequestedNewNodeId = ua.NodeId.from_string("i=2307") + node.BrowseName = ua.QualifiedName.from_string("StateType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=58") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("StateType") + attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11312") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2307") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=2308") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11312") + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=2307") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2296") + ref.TargetNodeId = ua.NodeId.from_string("i=58") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11313") - node.BrowseName = ua.QualifiedName.from_string("RedundantServerArray") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2308") + node.BrowseName = ua.QualifiedName.from_string("StateNumber") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2296") + node.ParentNodeId = ua.NodeId.from_string("i=2307") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RedundantServerArray") - attrs.DataType = ua.NodeId.from_string("i=853") - attrs.ValueRank = 1 + attrs.DisplayName = ua.LocalizedText("StateNumber") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11313") + ref.SourceNodeId = ua.NodeId.from_string("i=2308") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=2308") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11313") + ref.SourceNodeId = ua.NodeId.from_string("i=2308") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2296") + ref.TargetNodeId = ua.NodeId.from_string("i=2307") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11314") - node.BrowseName = ua.QualifiedName.from_string("ServerUriArray") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2296") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ServerUriArray") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.ValueRank = 1 + node.RequestedNewNodeId = ua.NodeId.from_string("i=2309") + node.BrowseName = ua.QualifiedName.from_string("InitialStateType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=2307") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("InitialStateType") + attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11314") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") - refs.append(ref) - ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11314") + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=2309") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2296") + ref.TargetNodeId = ua.NodeId.from_string("i=2307") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=14415") - node.BrowseName = ua.QualifiedName.from_string("ServerNetworkGroups") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2296") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ServerNetworkGroups") - attrs.DataType = ua.NodeId.from_string("i=11944") - attrs.ValueRank = 1 + node.RequestedNewNodeId = ua.NodeId.from_string("i=2310") + node.BrowseName = ua.QualifiedName.from_string("TransitionType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=58") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("TransitionType") + attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=14415") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2310") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=2312") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=14415") + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=2310") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2296") + ref.TargetNodeId = ua.NodeId.from_string("i=58") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11715") - node.BrowseName = ua.QualifiedName.from_string("Namespaces") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2253") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=11645") - attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Describes the namespaces supported by the server.") - attrs.DisplayName = ua.LocalizedText("Namespaces") - attrs.EventNotifier = 0 + node.RequestedNewNodeId = ua.NodeId.from_string("i=2312") + node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2310") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("TransitionNumber") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11715") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=2312") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15182") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11715") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=2312") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11645") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11715") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2312") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2253") + ref.TargetNodeId = ua.NodeId.from_string("i=2310") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15182") - node.BrowseName = ua.QualifiedName.from_string("0:http://opcfoundation.org/UA/") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=11715") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=11616") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("http://opcfoundation.org/UA/") - attrs.EventNotifier = 0 + node.RequestedNewNodeId = ua.NodeId.from_string("i=2311") + node.BrowseName = ua.QualifiedName.from_string("TransitionEventType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=2041") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("TransitionEventType") + attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15182") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15183") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15182") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2311") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15184") + ref.TargetNodeId = ua.NodeId.from_string("i=2774") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15182") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2311") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15185") + ref.TargetNodeId = ua.NodeId.from_string("i=2775") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15182") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2311") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15186") + ref.TargetNodeId = ua.NodeId.from_string("i=2776") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15182") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=2311") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15187") + ref.TargetNodeId = ua.NodeId.from_string("i=2041") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=2774") + node.BrowseName = ua.QualifiedName.from_string("Transition") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2311") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=2762") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Transition") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15182") + ref.SourceNodeId = ua.NodeId.from_string("i=2774") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15188") + ref.TargetNodeId = ua.NodeId.from_string("i=3754") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15182") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=2774") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15189") + ref.TargetNodeId = ua.NodeId.from_string("i=2762") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15182") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=2774") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11616") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15182") + ref.SourceNodeId = ua.NodeId.from_string("i=2774") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11715") + ref.TargetNodeId = ua.NodeId.from_string("i=2311") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15183") - node.BrowseName = ua.QualifiedName.from_string("NamespaceUri") + node.RequestedNewNodeId = ua.NodeId.from_string("i=3754") + node.BrowseName = ua.QualifiedName.from_string("Id") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15182") + node.ParentNodeId = ua.NodeId.from_string("i=2774") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The URI of the namespace.") - attrs.DisplayName = ua.LocalizedText("NamespaceUri") + attrs.DisplayName = ua.LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("http://opcfoundation.org/UA/", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -32375,95 +32683,80 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15183") + ref.SourceNodeId = ua.NodeId.from_string("i=3754") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=3754") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15183") + ref.SourceNodeId = ua.NodeId.from_string("i=3754") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15182") + ref.TargetNodeId = ua.NodeId.from_string("i=2774") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15184") - node.BrowseName = ua.QualifiedName.from_string("NamespaceVersion") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2775") + node.BrowseName = ua.QualifiedName.from_string("FromState") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15182") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.ParentNodeId = ua.NodeId.from_string("i=2311") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=2755") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The human readable string representing version of the namespace.") - attrs.DisplayName = ua.LocalizedText("NamespaceVersion") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("1.03", ua.VariantType.String) + attrs.DisplayName = ua.LocalizedText("FromState") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15184") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2775") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=3746") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15184") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=2775") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15182") + ref.TargetNodeId = ua.NodeId.from_string("i=2755") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15185") - node.BrowseName = ua.QualifiedName.from_string("NamespacePublicationDate") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15182") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The publication date for the namespace.") - attrs.DisplayName = ua.LocalizedText("NamespacePublicationDate") - attrs.DataType = ua.NodeId(ua.ObjectIds.DateTime) - attrs.Value = ua.Variant("2016-04-15", ua.VariantType.String) - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15185") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=2775") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15185") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2775") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15182") + ref.TargetNodeId = ua.NodeId.from_string("i=2311") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15186") - node.BrowseName = ua.QualifiedName.from_string("IsNamespaceSubset") + node.RequestedNewNodeId = ua.NodeId.from_string("i=3746") + node.BrowseName = ua.QualifiedName.from_string("Id") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15182") + node.ParentNodeId = ua.NodeId.from_string("i=2775") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("If TRUE then the server only supports a subset of the namespace.") - attrs.DisplayName = ua.LocalizedText("IsNamespaceSubset") - attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) - attrs.Value = ua.Variant(False, ua.VariantType.Boolean) + attrs.DisplayName = ua.LocalizedText("Id") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -32471,91 +32764,79 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15186") + ref.SourceNodeId = ua.NodeId.from_string("i=3746") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=3746") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15186") + ref.SourceNodeId = ua.NodeId.from_string("i=3746") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15182") + ref.TargetNodeId = ua.NodeId.from_string("i=2775") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15187") - node.BrowseName = ua.QualifiedName.from_string("StaticNodeIdTypes") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2776") + node.BrowseName = ua.QualifiedName.from_string("ToState") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15182") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.ParentNodeId = ua.NodeId.from_string("i=2311") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=2755") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A list of IdTypes for nodes which are the same in every server that exposes them.") - attrs.DisplayName = ua.LocalizedText("StaticNodeIdTypes") - attrs.DataType = ua.NodeId.from_string("i=256") - attrs.ValueRank = 1 + attrs.DisplayName = ua.LocalizedText("ToState") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15187") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2776") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=3750") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15187") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=2776") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15182") + ref.TargetNodeId = ua.NodeId.from_string("i=2755") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15188") - node.BrowseName = ua.QualifiedName.from_string("StaticNumericNodeIdRange") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15182") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A list of ranges for numeric node ids which are the same in every server that exposes them.") - attrs.DisplayName = ua.LocalizedText("StaticNumericNodeIdRange") - attrs.DataType = ua.NodeId.from_string("i=291") - attrs.ValueRank = 1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15188") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=2776") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15188") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2776") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15182") + ref.TargetNodeId = ua.NodeId.from_string("i=2311") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15189") - node.BrowseName = ua.QualifiedName.from_string("StaticStringNodeIdPattern") + node.RequestedNewNodeId = ua.NodeId.from_string("i=3750") + node.BrowseName = ua.QualifiedName.from_string("Id") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15182") + node.ParentNodeId = ua.NodeId.from_string("i=2776") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A regular expression which matches string node ids are the same in every server that exposes them.") - attrs.DisplayName = ua.LocalizedText("StaticStringNodeIdPattern") + attrs.DisplayName = ua.LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -32564,341 +32845,308 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15189") + ref.SourceNodeId = ua.NodeId.from_string("i=3750") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=3750") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15189") + ref.SourceNodeId = ua.NodeId.from_string("i=3750") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15182") + ref.TargetNodeId = ua.NodeId.from_string("i=2776") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11492") - node.BrowseName = ua.QualifiedName.from_string("GetMonitoredItems") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=2253") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("GetMonitoredItems") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2315") + node.BrowseName = ua.QualifiedName.from_string("AuditUpdateStateEventType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=2127") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("AuditUpdateStateEventType") + attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11492") + ref.SourceNodeId = ua.NodeId.from_string("i=2315") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11493") + ref.TargetNodeId = ua.NodeId.from_string("i=2777") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11492") + ref.SourceNodeId = ua.NodeId.from_string("i=2315") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11494") + ref.TargetNodeId = ua.NodeId.from_string("i=2778") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11492") + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=2315") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2253") + ref.TargetNodeId = ua.NodeId.from_string("i=2127") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11493") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2777") + node.BrowseName = ua.QualifiedName.from_string("OldStateId") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11492") + node.ParentNodeId = ua.NodeId.from_string("i=2315") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") - value = [] - extobj = ua.Argument() - extobj.Name = SubscriptionId - extobj.DataType = ua.NodeId.from_string("i=7") - extobj.ValueRank = -1 - value.append(extobj) - attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) - attrs.ValueRank = 1 + attrs.DisplayName = ua.LocalizedText("OldStateId") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11493") + ref.SourceNodeId = ua.NodeId.from_string("i=2777") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=2777") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11493") + ref.SourceNodeId = ua.NodeId.from_string("i=2777") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11492") + ref.TargetNodeId = ua.NodeId.from_string("i=2315") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11494") - node.BrowseName = ua.QualifiedName.from_string("OutputArguments") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2778") + node.BrowseName = ua.QualifiedName.from_string("NewStateId") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11492") + node.ParentNodeId = ua.NodeId.from_string("i=2315") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OutputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") - value = [] - extobj = ua.Argument() - extobj.Name = ServerHandles - extobj.DataType = ua.NodeId.from_string("i=7") - extobj.ValueRank = 1 - value.append(extobj) - extobj = ua.Argument() - extobj.Name = ClientHandles - extobj.DataType = ua.NodeId.from_string("i=7") - extobj.ValueRank = 1 - value.append(extobj) - attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) - attrs.ValueRank = 1 + attrs.DisplayName = ua.LocalizedText("NewStateId") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11494") + ref.SourceNodeId = ua.NodeId.from_string("i=2778") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=2778") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11494") + ref.SourceNodeId = ua.NodeId.from_string("i=2778") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11492") + ref.TargetNodeId = ua.NodeId.from_string("i=2315") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12873") - node.BrowseName = ua.QualifiedName.from_string("ResendData") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=2253") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("ResendData") + node.RequestedNewNodeId = ua.NodeId.from_string("i=13353") + node.BrowseName = ua.QualifiedName.from_string("FileDirectoryType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=61") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("FileDirectoryType") + attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12873") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=13353") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12874") + ref.TargetNodeId = ua.NodeId.from_string("i=13354") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12873") + ref.SourceNodeId = ua.NodeId.from_string("i=13353") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2253") + ref.TargetNodeId = ua.NodeId.from_string("i=13366") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12874") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12873") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") - value = [] - extobj = ua.Argument() - extobj.Name = SubscriptionId - extobj.DataType = ua.NodeId.from_string("i=7") - extobj.ValueRank = -1 - value.append(extobj) - attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) - attrs.ValueRank = 1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12874") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=13353") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=13387") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12874") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=13353") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12873") + ref.TargetNodeId = ua.NodeId.from_string("i=13390") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12749") - node.BrowseName = ua.QualifiedName.from_string("SetSubscriptionDurable") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=2253") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("SetSubscriptionDurable") - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12749") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=13353") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12750") + ref.TargetNodeId = ua.NodeId.from_string("i=13393") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12749") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=13353") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12751") + ref.TargetNodeId = ua.NodeId.from_string("i=13395") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12749") + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=13353") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2253") + ref.TargetNodeId = ua.NodeId.from_string("i=61") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12750") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12749") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") - value = [] - extobj = ua.Argument() - extobj.Name = SubscriptionId - extobj.DataType = ua.NodeId.from_string("i=7") - extobj.ValueRank = -1 - value.append(extobj) - extobj = ua.Argument() - extobj.Name = LifetimeInHours - extobj.DataType = ua.NodeId.from_string("i=7") - extobj.ValueRank = -1 - value.append(extobj) - attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) - attrs.ValueRank = 1 + node.RequestedNewNodeId = ua.NodeId.from_string("i=13354") + node.BrowseName = ua.QualifiedName.from_string("") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=13353") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=13353") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("") + attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12750") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=13354") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=13355") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12750") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=13354") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12749") + ref.TargetNodeId = ua.NodeId.from_string("i=13358") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=13354") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=17718") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=13354") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=13363") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12751") - node.BrowseName = ua.QualifiedName.from_string("OutputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12749") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OutputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") - value = [] - extobj = ua.Argument() - extobj.Name = RevisedLifetimeInHours - extobj.DataType = ua.NodeId.from_string("i=7") - extobj.ValueRank = -1 - value.append(extobj) - attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) - attrs.ValueRank = 1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12751") + ref.SourceNodeId = ua.NodeId.from_string("i=13354") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=13353") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=13354") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11508") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12751") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=13354") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12749") + ref.TargetNodeId = ua.NodeId.from_string("i=13353") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12886") - node.BrowseName = ua.QualifiedName.from_string("RequestServerStateChange") + node.RequestedNewNodeId = ua.NodeId.from_string("i=13355") + node.BrowseName = ua.QualifiedName.from_string("CreateDirectory") node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=2253") + node.ParentNodeId = ua.NodeId.from_string("i=13354") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("RequestServerStateChange") + attrs.DisplayName = ua.LocalizedText("CreateDirectory") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12886") + ref.SourceNodeId = ua.NodeId.from_string("i=13355") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12887") + ref.TargetNodeId = ua.NodeId.from_string("i=13356") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=13355") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=13357") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=13355") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12886") + ref.SourceNodeId = ua.NodeId.from_string("i=13355") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2253") + ref.TargetNodeId = ua.NodeId.from_string("i=13354") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12887") + node.RequestedNewNodeId = ua.NodeId.from_string("i=13356") node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12886") + node.ParentNodeId = ua.NodeId.from_string("i=13355") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() @@ -32906,28 +33154,8 @@ def create_standard_address_space_Part5(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = State - extobj.DataType = ua.NodeId.from_string("i=852") - extobj.ValueRank = -1 - value.append(extobj) - extobj = ua.Argument() - extobj.Name = EstimatedReturnTime - extobj.DataType = ua.NodeId.from_string("i=13") - extobj.ValueRank = -1 - value.append(extobj) - extobj = ua.Argument() - extobj.Name = SecondsTillShutdown - extobj.DataType = ua.NodeId.from_string("i=7") - extobj.ValueRank = -1 - value.append(extobj) - extobj = ua.Argument() - extobj.Name = Reason - extobj.DataType = ua.NodeId.from_string("i=21") - extobj.ValueRank = -1 - value.append(extobj) - extobj = ua.Argument() - extobj.Name = Restart - extobj.DataType = ua.NodeId.from_string("i=1") + extobj.Name = 'DirectoryName' + extobj.DataType = ua.NodeId.from_string("i=12") extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -32938,541 +33166,548 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12887") + ref.SourceNodeId = ua.NodeId.from_string("i=13356") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12887") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=13356") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12886") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11737") - node.BrowseName = ua.QualifiedName.from_string("BitFieldMaskDataType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=9") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("A mask of 32 bits that can be updated individually by using the top 32 bits as a mask.") - attrs.DisplayName = ua.LocalizedText("BitFieldMaskDataType") - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=11737") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=13356") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9") + ref.TargetNodeId = ua.NodeId.from_string("i=13355") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2299") - node.BrowseName = ua.QualifiedName.from_string("StateMachineType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=58") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("StateMachineType") - attrs.IsAbstract = False + node.RequestedNewNodeId = ua.NodeId.from_string("i=13357") + node.BrowseName = ua.QualifiedName.from_string("OutputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=13355") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("OutputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'DirectoryNodeId' + extobj.DataType = ua.NodeId.from_string("i=17") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2299") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=13357") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2769") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2299") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=13357") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2770") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2299") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=13357") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=58") + ref.TargetNodeId = ua.NodeId.from_string("i=13355") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2769") - node.BrowseName = ua.QualifiedName.from_string("CurrentState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2299") + node.RequestedNewNodeId = ua.NodeId.from_string("i=13358") + node.BrowseName = ua.QualifiedName.from_string("CreateFile") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=13354") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2755") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentState") - attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.ValueRank = -1 + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("CreateFile") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2769") + ref.SourceNodeId = ua.NodeId.from_string("i=13358") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3720") + ref.TargetNodeId = ua.NodeId.from_string("i=13359") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2769") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=13358") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2755") + ref.TargetNodeId = ua.NodeId.from_string("i=13360") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2769") + ref.SourceNodeId = ua.NodeId.from_string("i=13358") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2769") + ref.SourceNodeId = ua.NodeId.from_string("i=13358") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2299") + ref.TargetNodeId = ua.NodeId.from_string("i=13354") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3720") - node.BrowseName = ua.QualifiedName.from_string("Id") + node.RequestedNewNodeId = ua.NodeId.from_string("i=13359") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2769") + node.ParentNodeId = ua.NodeId.from_string("i=13358") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'FileName' + extobj.DataType = ua.NodeId.from_string("i=12") + extobj.ValueRank = -1 + value.append(extobj) + extobj = ua.Argument() + extobj.Name = 'RequestFileOpen' + extobj.DataType = ua.NodeId.from_string("i=1") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3720") + ref.SourceNodeId = ua.NodeId.from_string("i=13359") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3720") + ref.SourceNodeId = ua.NodeId.from_string("i=13359") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3720") + ref.SourceNodeId = ua.NodeId.from_string("i=13359") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2769") + ref.TargetNodeId = ua.NodeId.from_string("i=13358") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2770") - node.BrowseName = ua.QualifiedName.from_string("LastTransition") + node.RequestedNewNodeId = ua.NodeId.from_string("i=13360") + node.BrowseName = ua.QualifiedName.from_string("OutputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2299") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2762") + node.ParentNodeId = ua.NodeId.from_string("i=13358") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LastTransition") - attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("OutputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'FileNodeId' + extobj.DataType = ua.NodeId.from_string("i=17") + extobj.ValueRank = -1 + value.append(extobj) + extobj = ua.Argument() + extobj.Name = 'FileHandle' + extobj.DataType = ua.NodeId.from_string("i=7") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=13360") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=13360") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2770") + ref.SourceNodeId = ua.NodeId.from_string("i=13360") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3724") + ref.TargetNodeId = ua.NodeId.from_string("i=13358") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=17718") + node.BrowseName = ua.QualifiedName.from_string("Delete") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=13354") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("Delete") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2770") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=17718") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2762") + ref.TargetNodeId = ua.NodeId.from_string("i=17719") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2770") + ref.SourceNodeId = ua.NodeId.from_string("i=17718") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2770") + ref.SourceNodeId = ua.NodeId.from_string("i=17718") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2299") + ref.TargetNodeId = ua.NodeId.from_string("i=13354") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3724") - node.BrowseName = ua.QualifiedName.from_string("Id") + node.RequestedNewNodeId = ua.NodeId.from_string("i=17719") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2770") + node.ParentNodeId = ua.NodeId.from_string("i=17718") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'ObjectToDelete' + extobj.DataType = ua.NodeId.from_string("i=17") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3724") + ref.SourceNodeId = ua.NodeId.from_string("i=17719") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3724") + ref.SourceNodeId = ua.NodeId.from_string("i=17719") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3724") + ref.SourceNodeId = ua.NodeId.from_string("i=17719") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2770") + ref.TargetNodeId = ua.NodeId.from_string("i=17718") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2755") - node.BrowseName = ua.QualifiedName.from_string("StateVariableType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=63") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("StateVariableType") - attrs.DisplayName = ua.LocalizedText("StateVariableType") - attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.ValueRank = -1 + node.RequestedNewNodeId = ua.NodeId.from_string("i=13363") + node.BrowseName = ua.QualifiedName.from_string("MoveOrCopy") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=13354") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("MoveOrCopy") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2755") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2756") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2755") + ref.SourceNodeId = ua.NodeId.from_string("i=13363") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2757") + ref.TargetNodeId = ua.NodeId.from_string("i=13364") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2755") + ref.SourceNodeId = ua.NodeId.from_string("i=13363") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2758") + ref.TargetNodeId = ua.NodeId.from_string("i=13365") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2755") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=13363") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2759") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2755") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=13363") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=13354") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2756") - node.BrowseName = ua.QualifiedName.from_string("Id") + node.RequestedNewNodeId = ua.NodeId.from_string("i=13364") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2755") + node.ParentNodeId = ua.NodeId.from_string("i=13363") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'ObjectToMoveOrCopy' + extobj.DataType = ua.NodeId.from_string("i=17") + extobj.ValueRank = -1 + value.append(extobj) + extobj = ua.Argument() + extobj.Name = 'TargetDirectory' + extobj.DataType = ua.NodeId.from_string("i=17") + extobj.ValueRank = -1 + value.append(extobj) + extobj = ua.Argument() + extobj.Name = 'CreateCopy' + extobj.DataType = ua.NodeId.from_string("i=1") + extobj.ValueRank = -1 + value.append(extobj) + extobj = ua.Argument() + extobj.Name = 'NewName' + extobj.DataType = ua.NodeId.from_string("i=12") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2756") + ref.SourceNodeId = ua.NodeId.from_string("i=13364") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2756") + ref.SourceNodeId = ua.NodeId.from_string("i=13364") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2756") + ref.SourceNodeId = ua.NodeId.from_string("i=13364") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2755") + ref.TargetNodeId = ua.NodeId.from_string("i=13363") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2757") - node.BrowseName = ua.QualifiedName.from_string("Name") + node.RequestedNewNodeId = ua.NodeId.from_string("i=13365") + node.BrowseName = ua.QualifiedName.from_string("OutputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2755") + node.ParentNodeId = ua.NodeId.from_string("i=13363") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Name") - attrs.DataType = ua.NodeId(ua.ObjectIds.QualifiedName) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("OutputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'NewNodeId' + extobj.DataType = ua.NodeId.from_string("i=17") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2757") + ref.SourceNodeId = ua.NodeId.from_string("i=13365") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2757") + ref.SourceNodeId = ua.NodeId.from_string("i=13365") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2757") + ref.SourceNodeId = ua.NodeId.from_string("i=13365") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2755") + ref.TargetNodeId = ua.NodeId.from_string("i=13363") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2758") - node.BrowseName = ua.QualifiedName.from_string("Number") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2755") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Number") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) - attrs.ValueRank = -1 + node.RequestedNewNodeId = ua.NodeId.from_string("i=13366") + node.BrowseName = ua.QualifiedName.from_string("") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=13353") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=11575") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("") + attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2758") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=13366") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=13367") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2758") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2758") + ref.SourceNodeId = ua.NodeId.from_string("i=13366") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2755") + ref.TargetNodeId = ua.NodeId.from_string("i=13368") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2759") - node.BrowseName = ua.QualifiedName.from_string("EffectiveDisplayName") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2755") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EffectiveDisplayName") - attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2759") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=13366") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=13369") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2759") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2759") + ref.SourceNodeId = ua.NodeId.from_string("i=13366") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2755") + ref.TargetNodeId = ua.NodeId.from_string("i=13370") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2762") - node.BrowseName = ua.QualifiedName.from_string("TransitionVariableType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=63") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionVariableType") - attrs.DisplayName = ua.LocalizedText("TransitionVariableType") - attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2762") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=13366") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2763") + ref.TargetNodeId = ua.NodeId.from_string("i=13372") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2762") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=13366") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2764") + ref.TargetNodeId = ua.NodeId.from_string("i=13375") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2762") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=13366") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2765") + ref.TargetNodeId = ua.NodeId.from_string("i=13377") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2762") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=13366") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2766") + ref.TargetNodeId = ua.NodeId.from_string("i=13380") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2762") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=13366") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11456") + ref.TargetNodeId = ua.NodeId.from_string("i=13382") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2762") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=13366") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.TargetNodeId = ua.NodeId.from_string("i=13385") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2763") - node.BrowseName = ua.QualifiedName.from_string("Id") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2762") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2763") + ref.SourceNodeId = ua.NodeId.from_string("i=13366") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=11575") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2763") + ref.SourceNodeId = ua.NodeId.from_string("i=13366") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=11508") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2763") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=13366") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2762") + ref.TargetNodeId = ua.NodeId.from_string("i=13353") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2764") - node.BrowseName = ua.QualifiedName.from_string("Name") + node.RequestedNewNodeId = ua.NodeId.from_string("i=13367") + node.BrowseName = ua.QualifiedName.from_string("Size") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2762") + node.ParentNodeId = ua.NodeId.from_string("i=13366") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Name") - attrs.DataType = ua.NodeId(ua.ObjectIds.QualifiedName) + attrs.Description = ua.LocalizedText("The size of the file in bytes.") + attrs.DisplayName = ua.LocalizedText("Size") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt64) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -33480,36 +33715,37 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2764") + ref.SourceNodeId = ua.NodeId.from_string("i=13367") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2764") + ref.SourceNodeId = ua.NodeId.from_string("i=13367") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2764") + ref.SourceNodeId = ua.NodeId.from_string("i=13367") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2762") + ref.TargetNodeId = ua.NodeId.from_string("i=13366") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2765") - node.BrowseName = ua.QualifiedName.from_string("Number") + node.RequestedNewNodeId = ua.NodeId.from_string("i=13368") + node.BrowseName = ua.QualifiedName.from_string("Writable") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2762") + node.ParentNodeId = ua.NodeId.from_string("i=13366") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Number") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.Description = ua.LocalizedText("Whether the file is writable.") + attrs.DisplayName = ua.LocalizedText("Writable") + attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -33517,36 +33753,37 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2765") + ref.SourceNodeId = ua.NodeId.from_string("i=13368") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2765") + ref.SourceNodeId = ua.NodeId.from_string("i=13368") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2765") + ref.SourceNodeId = ua.NodeId.from_string("i=13368") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2762") + ref.TargetNodeId = ua.NodeId.from_string("i=13366") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2766") - node.BrowseName = ua.QualifiedName.from_string("TransitionTime") + node.RequestedNewNodeId = ua.NodeId.from_string("i=13369") + node.BrowseName = ua.QualifiedName.from_string("UserWritable") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2762") + node.ParentNodeId = ua.NodeId.from_string("i=13366") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.Description = ua.LocalizedText("Whether the file is writable by the current user.") + attrs.DisplayName = ua.LocalizedText("UserWritable") + attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -33554,36 +33791,37 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2766") + ref.SourceNodeId = ua.NodeId.from_string("i=13369") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2766") + ref.SourceNodeId = ua.NodeId.from_string("i=13369") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2766") + ref.SourceNodeId = ua.NodeId.from_string("i=13369") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2762") + ref.TargetNodeId = ua.NodeId.from_string("i=13366") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11456") - node.BrowseName = ua.QualifiedName.from_string("EffectiveTransitionTime") + node.RequestedNewNodeId = ua.NodeId.from_string("i=13370") + node.BrowseName = ua.QualifiedName.from_string("OpenCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2762") + node.ParentNodeId = ua.NodeId.from_string("i=13366") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EffectiveTransitionTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.Description = ua.LocalizedText("The current number of open file handles.") + attrs.DisplayName = ua.LocalizedText("OpenCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -33591,960 +33829,1081 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11456") + ref.SourceNodeId = ua.NodeId.from_string("i=13370") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11456") + ref.SourceNodeId = ua.NodeId.from_string("i=13370") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11456") + ref.SourceNodeId = ua.NodeId.from_string("i=13370") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2762") + ref.TargetNodeId = ua.NodeId.from_string("i=13366") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2771") - node.BrowseName = ua.QualifiedName.from_string("FiniteStateMachineType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2299") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("FiniteStateMachineType") - attrs.IsAbstract = True + node.RequestedNewNodeId = ua.NodeId.from_string("i=13372") + node.BrowseName = ua.QualifiedName.from_string("Open") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=13366") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("Open") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2771") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=13372") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2772") + ref.TargetNodeId = ua.NodeId.from_string("i=13373") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2771") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=13372") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2773") + ref.TargetNodeId = ua.NodeId.from_string("i=13374") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=13372") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2771") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=13372") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2299") + ref.TargetNodeId = ua.NodeId.from_string("i=13366") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2772") - node.BrowseName = ua.QualifiedName.from_string("CurrentState") + node.RequestedNewNodeId = ua.NodeId.from_string("i=13373") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2771") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2760") + node.ParentNodeId = ua.NodeId.from_string("i=13372") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentState") - attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'Mode' + extobj.DataType = ua.NodeId.from_string("i=3") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2772") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3728") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2772") + ref.SourceNodeId = ua.NodeId.from_string("i=13373") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2760") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2772") + ref.SourceNodeId = ua.NodeId.from_string("i=13373") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2772") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=13373") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2771") + ref.TargetNodeId = ua.NodeId.from_string("i=13372") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3728") - node.BrowseName = ua.QualifiedName.from_string("Id") + node.RequestedNewNodeId = ua.NodeId.from_string("i=13374") + node.BrowseName = ua.QualifiedName.from_string("OutputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2772") + node.ParentNodeId = ua.NodeId.from_string("i=13372") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") - attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("OutputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'FileHandle' + extobj.DataType = ua.NodeId.from_string("i=7") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3728") + ref.SourceNodeId = ua.NodeId.from_string("i=13374") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3728") + ref.SourceNodeId = ua.NodeId.from_string("i=13374") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3728") + ref.SourceNodeId = ua.NodeId.from_string("i=13374") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2772") + ref.TargetNodeId = ua.NodeId.from_string("i=13372") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2773") - node.BrowseName = ua.QualifiedName.from_string("LastTransition") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2771") + node.RequestedNewNodeId = ua.NodeId.from_string("i=13375") + node.BrowseName = ua.QualifiedName.from_string("Close") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=13366") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2767") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LastTransition") - attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.ValueRank = -1 + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("Close") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2773") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3732") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2773") + ref.SourceNodeId = ua.NodeId.from_string("i=13375") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2767") + ref.TargetNodeId = ua.NodeId.from_string("i=13376") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2773") + ref.SourceNodeId = ua.NodeId.from_string("i=13375") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2773") + ref.SourceNodeId = ua.NodeId.from_string("i=13375") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2771") + ref.TargetNodeId = ua.NodeId.from_string("i=13366") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3732") - node.BrowseName = ua.QualifiedName.from_string("Id") + node.RequestedNewNodeId = ua.NodeId.from_string("i=13376") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2773") + node.ParentNodeId = ua.NodeId.from_string("i=13375") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") - attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'FileHandle' + extobj.DataType = ua.NodeId.from_string("i=7") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3732") + ref.SourceNodeId = ua.NodeId.from_string("i=13376") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3732") + ref.SourceNodeId = ua.NodeId.from_string("i=13376") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3732") + ref.SourceNodeId = ua.NodeId.from_string("i=13376") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2773") + ref.TargetNodeId = ua.NodeId.from_string("i=13375") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2760") - node.BrowseName = ua.QualifiedName.from_string("FiniteStateVariableType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=2755") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("FiniteStateVariableType") - attrs.DisplayName = ua.LocalizedText("FiniteStateVariableType") - attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.ValueRank = -1 + node.RequestedNewNodeId = ua.NodeId.from_string("i=13377") + node.BrowseName = ua.QualifiedName.from_string("Read") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=13366") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("Read") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2760") + ref.SourceNodeId = ua.NodeId.from_string("i=13377") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2761") + ref.TargetNodeId = ua.NodeId.from_string("i=13378") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=13377") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=13379") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=13377") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2760") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=13377") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2755") + ref.TargetNodeId = ua.NodeId.from_string("i=13366") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2761") - node.BrowseName = ua.QualifiedName.from_string("Id") + node.RequestedNewNodeId = ua.NodeId.from_string("i=13378") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2760") + node.ParentNodeId = ua.NodeId.from_string("i=13377") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") - attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'FileHandle' + extobj.DataType = ua.NodeId.from_string("i=7") + extobj.ValueRank = -1 + value.append(extobj) + extobj = ua.Argument() + extobj.Name = 'Length' + extobj.DataType = ua.NodeId.from_string("i=6") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2761") + ref.SourceNodeId = ua.NodeId.from_string("i=13378") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2761") + ref.SourceNodeId = ua.NodeId.from_string("i=13378") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2761") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2760") - refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2767") - node.BrowseName = ua.QualifiedName.from_string("FiniteTransitionVariableType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=2762") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("FiniteTransitionVariableType") - attrs.DisplayName = ua.LocalizedText("FiniteTransitionVariableType") - attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2767") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2768") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2767") + ref.SourceNodeId = ua.NodeId.from_string("i=13378") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2762") + ref.TargetNodeId = ua.NodeId.from_string("i=13377") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2768") - node.BrowseName = ua.QualifiedName.from_string("Id") + node.RequestedNewNodeId = ua.NodeId.from_string("i=13379") + node.BrowseName = ua.QualifiedName.from_string("OutputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2767") + node.ParentNodeId = ua.NodeId.from_string("i=13377") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") - attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("OutputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'Data' + extobj.DataType = ua.NodeId.from_string("i=15") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2768") + ref.SourceNodeId = ua.NodeId.from_string("i=13379") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2768") + ref.SourceNodeId = ua.NodeId.from_string("i=13379") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2768") + ref.SourceNodeId = ua.NodeId.from_string("i=13379") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2767") + ref.TargetNodeId = ua.NodeId.from_string("i=13377") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2307") - node.BrowseName = ua.QualifiedName.from_string("StateType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=58") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("StateType") - attrs.IsAbstract = False - node.NodeAttributes = attrs + node.RequestedNewNodeId = ua.NodeId.from_string("i=13380") + node.BrowseName = ua.QualifiedName.from_string("Write") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=13366") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("Write") + node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2307") + ref.SourceNodeId = ua.NodeId.from_string("i=13380") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2308") + ref.TargetNodeId = ua.NodeId.from_string("i=13381") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=13380") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2307") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=13380") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=58") + ref.TargetNodeId = ua.NodeId.from_string("i=13366") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2308") - node.BrowseName = ua.QualifiedName.from_string("StateNumber") + node.RequestedNewNodeId = ua.NodeId.from_string("i=13381") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2307") + node.ParentNodeId = ua.NodeId.from_string("i=13380") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("StateNumber") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'FileHandle' + extobj.DataType = ua.NodeId.from_string("i=7") + extobj.ValueRank = -1 + value.append(extobj) + extobj = ua.Argument() + extobj.Name = 'Data' + extobj.DataType = ua.NodeId.from_string("i=15") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2308") + ref.SourceNodeId = ua.NodeId.from_string("i=13381") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2308") + ref.SourceNodeId = ua.NodeId.from_string("i=13381") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2308") + ref.SourceNodeId = ua.NodeId.from_string("i=13381") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2307") + ref.TargetNodeId = ua.NodeId.from_string("i=13380") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2309") - node.BrowseName = ua.QualifiedName.from_string("InitialStateType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2307") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("InitialStateType") - attrs.IsAbstract = False + node.RequestedNewNodeId = ua.NodeId.from_string("i=13382") + node.BrowseName = ua.QualifiedName.from_string("GetPosition") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=13366") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("GetPosition") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2309") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=13382") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2307") + ref.TargetNodeId = ua.NodeId.from_string("i=13383") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2310") - node.BrowseName = ua.QualifiedName.from_string("TransitionType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=58") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionType") - attrs.IsAbstract = False - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2310") + ref.SourceNodeId = ua.NodeId.from_string("i=13382") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2312") + ref.TargetNodeId = ua.NodeId.from_string("i=13384") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=13382") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2310") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=13382") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=58") + ref.TargetNodeId = ua.NodeId.from_string("i=13366") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2312") - node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") + node.RequestedNewNodeId = ua.NodeId.from_string("i=13383") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2310") + node.ParentNodeId = ua.NodeId.from_string("i=13382") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionNumber") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'FileHandle' + extobj.DataType = ua.NodeId.from_string("i=7") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2312") + ref.SourceNodeId = ua.NodeId.from_string("i=13383") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2312") + ref.SourceNodeId = ua.NodeId.from_string("i=13383") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2312") + ref.SourceNodeId = ua.NodeId.from_string("i=13383") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2310") + ref.TargetNodeId = ua.NodeId.from_string("i=13382") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2311") - node.BrowseName = ua.QualifiedName.from_string("TransitionEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2041") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionEventType") - attrs.IsAbstract = False + node.RequestedNewNodeId = ua.NodeId.from_string("i=13384") + node.BrowseName = ua.QualifiedName.from_string("OutputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=13382") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("OutputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'Position' + extobj.DataType = ua.NodeId.from_string("i=9") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2311") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2774") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2311") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=13384") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2775") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2311") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=13384") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2776") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2311") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=13384") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2041") + ref.TargetNodeId = ua.NodeId.from_string("i=13382") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2774") - node.BrowseName = ua.QualifiedName.from_string("Transition") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2311") + node.RequestedNewNodeId = ua.NodeId.from_string("i=13385") + node.BrowseName = ua.QualifiedName.from_string("SetPosition") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=13366") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2762") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Transition") - attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.ValueRank = -1 + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("SetPosition") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2774") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3754") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2774") + ref.SourceNodeId = ua.NodeId.from_string("i=13385") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2762") + ref.TargetNodeId = ua.NodeId.from_string("i=13386") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2774") + ref.SourceNodeId = ua.NodeId.from_string("i=13385") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2774") + ref.SourceNodeId = ua.NodeId.from_string("i=13385") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2311") + ref.TargetNodeId = ua.NodeId.from_string("i=13366") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3754") - node.BrowseName = ua.QualifiedName.from_string("Id") + node.RequestedNewNodeId = ua.NodeId.from_string("i=13386") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2774") + node.ParentNodeId = ua.NodeId.from_string("i=13385") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'FileHandle' + extobj.DataType = ua.NodeId.from_string("i=7") + extobj.ValueRank = -1 + value.append(extobj) + extobj = ua.Argument() + extobj.Name = 'Position' + extobj.DataType = ua.NodeId.from_string("i=9") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3754") + ref.SourceNodeId = ua.NodeId.from_string("i=13386") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3754") + ref.SourceNodeId = ua.NodeId.from_string("i=13386") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3754") + ref.SourceNodeId = ua.NodeId.from_string("i=13386") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2774") + ref.TargetNodeId = ua.NodeId.from_string("i=13385") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2775") - node.BrowseName = ua.QualifiedName.from_string("FromState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2311") + node.RequestedNewNodeId = ua.NodeId.from_string("i=13387") + node.BrowseName = ua.QualifiedName.from_string("CreateDirectory") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=13353") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2755") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("FromState") - attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.ValueRank = -1 + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("CreateDirectory") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2775") + ref.SourceNodeId = ua.NodeId.from_string("i=13387") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3746") + ref.TargetNodeId = ua.NodeId.from_string("i=13388") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2775") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=13387") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2755") + ref.TargetNodeId = ua.NodeId.from_string("i=13389") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2775") + ref.SourceNodeId = ua.NodeId.from_string("i=13387") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2775") + ref.SourceNodeId = ua.NodeId.from_string("i=13387") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2311") + ref.TargetNodeId = ua.NodeId.from_string("i=13353") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3746") - node.BrowseName = ua.QualifiedName.from_string("Id") + node.RequestedNewNodeId = ua.NodeId.from_string("i=13388") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2775") + node.ParentNodeId = ua.NodeId.from_string("i=13387") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'DirectoryName' + extobj.DataType = ua.NodeId.from_string("i=12") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3746") + ref.SourceNodeId = ua.NodeId.from_string("i=13388") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3746") + ref.SourceNodeId = ua.NodeId.from_string("i=13388") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3746") + ref.SourceNodeId = ua.NodeId.from_string("i=13388") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2775") + ref.TargetNodeId = ua.NodeId.from_string("i=13387") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2776") - node.BrowseName = ua.QualifiedName.from_string("ToState") + node.RequestedNewNodeId = ua.NodeId.from_string("i=13389") + node.BrowseName = ua.QualifiedName.from_string("OutputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2311") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2755") + node.ParentNodeId = ua.NodeId.from_string("i=13387") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ToState") - attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("OutputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'DirectoryNodeId' + extobj.DataType = ua.NodeId.from_string("i=17") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=13389") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=13389") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2776") + ref.SourceNodeId = ua.NodeId.from_string("i=13389") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3750") + ref.TargetNodeId = ua.NodeId.from_string("i=13387") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=13390") + node.BrowseName = ua.QualifiedName.from_string("CreateFile") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=13353") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("CreateFile") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=13390") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=13391") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2776") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=13390") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2755") + ref.TargetNodeId = ua.NodeId.from_string("i=13392") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2776") + ref.SourceNodeId = ua.NodeId.from_string("i=13390") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2776") + ref.SourceNodeId = ua.NodeId.from_string("i=13390") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2311") + ref.TargetNodeId = ua.NodeId.from_string("i=13353") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3750") - node.BrowseName = ua.QualifiedName.from_string("Id") + node.RequestedNewNodeId = ua.NodeId.from_string("i=13391") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2776") + node.ParentNodeId = ua.NodeId.from_string("i=13390") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'FileName' + extobj.DataType = ua.NodeId.from_string("i=12") + extobj.ValueRank = -1 + value.append(extobj) + extobj = ua.Argument() + extobj.Name = 'RequestFileOpen' + extobj.DataType = ua.NodeId.from_string("i=1") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3750") + ref.SourceNodeId = ua.NodeId.from_string("i=13391") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3750") + ref.SourceNodeId = ua.NodeId.from_string("i=13391") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3750") + ref.SourceNodeId = ua.NodeId.from_string("i=13391") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2776") + ref.TargetNodeId = ua.NodeId.from_string("i=13390") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2315") - node.BrowseName = ua.QualifiedName.from_string("AuditUpdateStateEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2127") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditUpdateStateEventType") - attrs.IsAbstract = True + node.RequestedNewNodeId = ua.NodeId.from_string("i=13392") + node.BrowseName = ua.QualifiedName.from_string("OutputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=13390") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("OutputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'FileNodeId' + extobj.DataType = ua.NodeId.from_string("i=17") + extobj.ValueRank = -1 + value.append(extobj) + extobj = ua.Argument() + extobj.Name = 'FileHandle' + extobj.DataType = ua.NodeId.from_string("i=7") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2315") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=13392") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2777") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2315") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=13392") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2778") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2315") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=13392") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2127") + ref.TargetNodeId = ua.NodeId.from_string("i=13390") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2777") - node.BrowseName = ua.QualifiedName.from_string("OldStateId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2315") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OldStateId") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.ValueRank = -1 + node.RequestedNewNodeId = ua.NodeId.from_string("i=13393") + node.BrowseName = ua.QualifiedName.from_string("Delete") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=13353") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("Delete") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2777") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=13393") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=13394") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2777") + ref.SourceNodeId = ua.NodeId.from_string("i=13393") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2777") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=13393") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2315") + ref.TargetNodeId = ua.NodeId.from_string("i=13353") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2778") - node.BrowseName = ua.QualifiedName.from_string("NewStateId") + node.RequestedNewNodeId = ua.NodeId.from_string("i=13394") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2315") + node.ParentNodeId = ua.NodeId.from_string("i=13393") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("NewStateId") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'ObjectToDelete' + extobj.DataType = ua.NodeId.from_string("i=17") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2778") + ref.SourceNodeId = ua.NodeId.from_string("i=13394") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2778") + ref.SourceNodeId = ua.NodeId.from_string("i=13394") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2778") + ref.SourceNodeId = ua.NodeId.from_string("i=13394") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2315") + ref.TargetNodeId = ua.NodeId.from_string("i=13393") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=338") - node.BrowseName = ua.QualifiedName.from_string("BuildInfo") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("BuildInfo") + node.RequestedNewNodeId = ua.NodeId.from_string("i=13395") + node.BrowseName = ua.QualifiedName.from_string("MoveOrCopy") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=13353") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("MoveOrCopy") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=338") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=13395") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.TargetNodeId = ua.NodeId.from_string("i=13396") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=851") - node.BrowseName = ua.QualifiedName.from_string("RedundancySupport") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=29") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("RedundancySupport") - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=851") + ref.SourceNodeId = ua.NodeId.from_string("i=13395") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7611") + ref.TargetNodeId = ua.NodeId.from_string("i=13397") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=13395") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=851") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=13395") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=29") + ref.TargetNodeId = ua.NodeId.from_string("i=13353") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7611") - node.BrowseName = ua.QualifiedName.from_string("EnumStrings") + node.RequestedNewNodeId = ua.NodeId.from_string("i=13396") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=851") + node.ParentNodeId = ua.NodeId.from_string("i=13395") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EnumStrings") - attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.Value = [ua.LocalizedText("None"),ua.LocalizedText("Cold"),ua.LocalizedText("Warm"),ua.LocalizedText("Hot"),ua.LocalizedText("Transparent"),ua.LocalizedText("HotAndMirrored")] + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'ObjectToMoveOrCopy' + extobj.DataType = ua.NodeId.from_string("i=17") + extobj.ValueRank = -1 + value.append(extobj) + extobj = ua.Argument() + extobj.Name = 'TargetDirectory' + extobj.DataType = ua.NodeId.from_string("i=17") + extobj.ValueRank = -1 + value.append(extobj) + extobj = ua.Argument() + extobj.Name = 'CreateCopy' + extobj.DataType = ua.NodeId.from_string("i=1") + extobj.ValueRank = -1 + value.append(extobj) + extobj = ua.Argument() + extobj.Name = 'NewName' + extobj.DataType = ua.NodeId.from_string("i=12") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -34552,64 +34911,43 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7611") + ref.SourceNodeId = ua.NodeId.from_string("i=13396") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=7611") + ref.SourceNodeId = ua.NodeId.from_string("i=13396") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=7611") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=851") - refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=852") - node.BrowseName = ua.QualifiedName.from_string("ServerState") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=29") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ServerState") - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=852") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7612") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=852") + ref.SourceNodeId = ua.NodeId.from_string("i=13396") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=29") + ref.TargetNodeId = ua.NodeId.from_string("i=13395") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7612") - node.BrowseName = ua.QualifiedName.from_string("EnumStrings") + node.RequestedNewNodeId = ua.NodeId.from_string("i=13397") + node.BrowseName = ua.QualifiedName.from_string("OutputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=852") + node.ParentNodeId = ua.NodeId.from_string("i=13395") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EnumStrings") - attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.Value = [ua.LocalizedText("Running"),ua.LocalizedText("Failed"),ua.LocalizedText("NoConfiguration"),ua.LocalizedText("Suspended"),ua.LocalizedText("Shutdown"),ua.LocalizedText("Test"),ua.LocalizedText("CommunicationFault"),ua.LocalizedText("Unknown")] + attrs.DisplayName = ua.LocalizedText("OutputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'NewNodeId' + extobj.DataType = ua.NodeId.from_string("i=17") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -34617,1260 +34955,1823 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7612") + ref.SourceNodeId = ua.NodeId.from_string("i=13397") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=7612") + ref.SourceNodeId = ua.NodeId.from_string("i=13397") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=7612") + ref.SourceNodeId = ua.NodeId.from_string("i=13397") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=852") + ref.TargetNodeId = ua.NodeId.from_string("i=13395") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=853") - node.BrowseName = ua.QualifiedName.from_string("RedundantServerDataType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("RedundantServerDataType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16314") + node.BrowseName = ua.QualifiedName.from_string("FileSystem") + node.NodeClass = ua.NodeClass.Object + node.TypeDefinition = ua.NodeId.from_string("i=13353") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("FileSystem") + attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=853") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16314") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.TargetNodeId = ua.NodeId.from_string("i=16348") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16314") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16351") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16314") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16354") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16314") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16356") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16314") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=13353") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11943") - node.BrowseName = ua.QualifiedName.from_string("EndpointUrlListDataType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("EndpointUrlListDataType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16348") + node.BrowseName = ua.QualifiedName.from_string("CreateDirectory") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=16314") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("CreateDirectory") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16348") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16349") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16348") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16350") + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=11943") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16348") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.TargetNodeId = ua.NodeId.from_string("i=16314") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11944") - node.BrowseName = ua.QualifiedName.from_string("NetworkGroupDataType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("NetworkGroupDataType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16349") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16348") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'DirectoryName' + extobj.DataType = ua.NodeId.from_string("i=12") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16349") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=11944") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16349") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.TargetNodeId = ua.NodeId.from_string("i=16348") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=856") - node.BrowseName = ua.QualifiedName.from_string("SamplingIntervalDiagnosticsDataType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("SamplingIntervalDiagnosticsDataType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16350") + node.BrowseName = ua.QualifiedName.from_string("OutputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16348") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("OutputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'DirectoryNodeId' + extobj.DataType = ua.NodeId.from_string("i=17") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16350") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=856") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16350") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.TargetNodeId = ua.NodeId.from_string("i=16348") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=859") - node.BrowseName = ua.QualifiedName.from_string("ServerDiagnosticsSummaryDataType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ServerDiagnosticsSummaryDataType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16351") + node.BrowseName = ua.QualifiedName.from_string("CreateFile") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=16314") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("CreateFile") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16351") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16352") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16351") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16353") + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=859") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16351") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.TargetNodeId = ua.NodeId.from_string("i=16314") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=862") - node.BrowseName = ua.QualifiedName.from_string("ServerStatusDataType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ServerStatusDataType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16352") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16351") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'FileName' + extobj.DataType = ua.NodeId.from_string("i=12") + extobj.ValueRank = -1 + value.append(extobj) + extobj = ua.Argument() + extobj.Name = 'RequestFileOpen' + extobj.DataType = ua.NodeId.from_string("i=1") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16352") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=862") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16352") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.TargetNodeId = ua.NodeId.from_string("i=16351") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=865") - node.BrowseName = ua.QualifiedName.from_string("SessionDiagnosticsDataType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("SessionDiagnosticsDataType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16353") + node.BrowseName = ua.QualifiedName.from_string("OutputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16351") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("OutputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'FileNodeId' + extobj.DataType = ua.NodeId.from_string("i=17") + extobj.ValueRank = -1 + value.append(extobj) + extobj = ua.Argument() + extobj.Name = 'FileHandle' + extobj.DataType = ua.NodeId.from_string("i=7") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16353") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=865") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16353") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.TargetNodeId = ua.NodeId.from_string("i=16351") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=868") - node.BrowseName = ua.QualifiedName.from_string("SessionSecurityDiagnosticsDataType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("SessionSecurityDiagnosticsDataType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16354") + node.BrowseName = ua.QualifiedName.from_string("Delete") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=16314") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("Delete") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16354") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16355") + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=868") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16354") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.TargetNodeId = ua.NodeId.from_string("i=16314") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=871") - node.BrowseName = ua.QualifiedName.from_string("ServiceCounterDataType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ServiceCounterDataType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16355") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16354") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'ObjectToDelete' + extobj.DataType = ua.NodeId.from_string("i=17") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16355") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=871") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16355") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.TargetNodeId = ua.NodeId.from_string("i=16354") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=299") - node.BrowseName = ua.QualifiedName.from_string("StatusResult") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("StatusResult") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16356") + node.BrowseName = ua.QualifiedName.from_string("MoveOrCopy") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=16314") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("MoveOrCopy") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16356") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16357") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16356") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16358") + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=299") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16356") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.TargetNodeId = ua.NodeId.from_string("i=16314") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=874") - node.BrowseName = ua.QualifiedName.from_string("SubscriptionDiagnosticsDataType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("SubscriptionDiagnosticsDataType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16357") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16356") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'ObjectToMoveOrCopy' + extobj.DataType = ua.NodeId.from_string("i=17") + extobj.ValueRank = -1 + value.append(extobj) + extobj = ua.Argument() + extobj.Name = 'TargetDirectory' + extobj.DataType = ua.NodeId.from_string("i=17") + extobj.ValueRank = -1 + value.append(extobj) + extobj = ua.Argument() + extobj.Name = 'CreateCopy' + extobj.DataType = ua.NodeId.from_string("i=1") + extobj.ValueRank = -1 + value.append(extobj) + extobj = ua.Argument() + extobj.Name = 'NewName' + extobj.DataType = ua.NodeId.from_string("i=12") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16357") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=874") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16357") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.TargetNodeId = ua.NodeId.from_string("i=16356") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=877") - node.BrowseName = ua.QualifiedName.from_string("ModelChangeStructureDataType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ModelChangeStructureDataType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16358") + node.BrowseName = ua.QualifiedName.from_string("OutputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16356") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("OutputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'NewNodeId' + extobj.DataType = ua.NodeId.from_string("i=17") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16358") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=877") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16358") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.TargetNodeId = ua.NodeId.from_string("i=16356") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=897") - node.BrowseName = ua.QualifiedName.from_string("SemanticChangeStructureDataType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15744") + node.BrowseName = ua.QualifiedName.from_string("TemporaryFileTransferType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=58") node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("SemanticChangeStructureDataType") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("TemporaryFileTransferType") + attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=897") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15744") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.TargetNodeId = ua.NodeId.from_string("i=15745") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=339") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=338") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") - attrs.EventNotifier = 0 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=339") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15744") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=338") + ref.TargetNodeId = ua.NodeId.from_string("i=15746") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=339") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15744") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8327") + ref.TargetNodeId = ua.NodeId.from_string("i=15749") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=339") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15744") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.TargetNodeId = ua.NodeId.from_string("i=15751") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15744") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15754") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=15744") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=58") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=854") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=853") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") - attrs.EventNotifier = 0 + node.RequestedNewNodeId = ua.NodeId.from_string("i=15745") + node.BrowseName = ua.QualifiedName.from_string("ClientProcessingTimeout") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15744") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("ClientProcessingTimeout") + attrs.DataType = ua.NodeId.from_string("i=290") + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=854") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15745") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=853") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=854") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15745") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8843") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=854") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15745") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.TargetNodeId = ua.NodeId.from_string("i=15744") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11949") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=11943") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") - attrs.EventNotifier = 0 + node.RequestedNewNodeId = ua.NodeId.from_string("i=15746") + node.BrowseName = ua.QualifiedName.from_string("GenerateFileForRead") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15744") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("GenerateFileForRead") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=11949") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15746") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11943") + ref.TargetNodeId = ua.NodeId.from_string("i=15747") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=11949") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15746") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11951") + ref.TargetNodeId = ua.NodeId.from_string("i=15748") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11949") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15746") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15746") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15744") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11950") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=11944") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") - attrs.EventNotifier = 0 + node.RequestedNewNodeId = ua.NodeId.from_string("i=15747") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15746") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'GenerateOptions' + extobj.DataType = ua.NodeId.from_string("i=24") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=11950") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15747") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11944") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=11950") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15747") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11954") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11950") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15747") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.TargetNodeId = ua.NodeId.from_string("i=15746") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=857") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=856") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") - attrs.EventNotifier = 0 + node.RequestedNewNodeId = ua.NodeId.from_string("i=15748") + node.BrowseName = ua.QualifiedName.from_string("OutputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15746") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("OutputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'FileNodeId' + extobj.DataType = ua.NodeId.from_string("i=17") + extobj.ValueRank = -1 + value.append(extobj) + extobj = ua.Argument() + extobj.Name = 'FileHandle' + extobj.DataType = ua.NodeId.from_string("i=7") + extobj.ValueRank = -1 + value.append(extobj) + extobj = ua.Argument() + extobj.Name = 'CompletionStateMachine' + extobj.DataType = ua.NodeId.from_string("i=17") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=857") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15748") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=856") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=857") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15748") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8846") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=857") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15748") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.TargetNodeId = ua.NodeId.from_string("i=15746") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=860") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=859") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") - attrs.EventNotifier = 0 + node.RequestedNewNodeId = ua.NodeId.from_string("i=15749") + node.BrowseName = ua.QualifiedName.from_string("GenerateFileForWrite") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15744") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("GenerateFileForWrite") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=860") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15749") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=859") + ref.TargetNodeId = ua.NodeId.from_string("i=16359") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=860") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15749") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8849") + ref.TargetNodeId = ua.NodeId.from_string("i=15750") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=860") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15749") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15749") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15744") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=863") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=862") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") - attrs.EventNotifier = 0 + node.RequestedNewNodeId = ua.NodeId.from_string("i=16359") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15749") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'GenerateOptions' + extobj.DataType = ua.NodeId.from_string("i=24") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=863") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16359") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=862") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=863") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16359") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8852") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=863") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16359") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.TargetNodeId = ua.NodeId.from_string("i=15749") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=866") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=865") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") - attrs.EventNotifier = 0 + node.RequestedNewNodeId = ua.NodeId.from_string("i=15750") + node.BrowseName = ua.QualifiedName.from_string("OutputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15749") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("OutputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'FileNodeId' + extobj.DataType = ua.NodeId.from_string("i=17") + extobj.ValueRank = -1 + value.append(extobj) + extobj = ua.Argument() + extobj.Name = 'FileHandle' + extobj.DataType = ua.NodeId.from_string("i=7") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=866") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15750") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=865") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=866") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15750") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8855") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=866") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15750") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.TargetNodeId = ua.NodeId.from_string("i=15749") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=869") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=868") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") - attrs.EventNotifier = 0 + node.RequestedNewNodeId = ua.NodeId.from_string("i=15751") + node.BrowseName = ua.QualifiedName.from_string("CloseAndCommit") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15744") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("CloseAndCommit") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=869") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15751") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=868") + ref.TargetNodeId = ua.NodeId.from_string("i=15752") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=869") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15751") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8858") + ref.TargetNodeId = ua.NodeId.from_string("i=15753") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=869") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15751") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15751") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15744") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=872") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=871") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") - attrs.EventNotifier = 0 + node.RequestedNewNodeId = ua.NodeId.from_string("i=15752") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15751") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'FileHandle' + extobj.DataType = ua.NodeId.from_string("i=7") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=872") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15752") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=871") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=872") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15752") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8861") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=872") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15752") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.TargetNodeId = ua.NodeId.from_string("i=15751") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=300") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=299") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") - attrs.EventNotifier = 0 + node.RequestedNewNodeId = ua.NodeId.from_string("i=15753") + node.BrowseName = ua.QualifiedName.from_string("OutputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15751") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("OutputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'CompletionStateMachine' + extobj.DataType = ua.NodeId.from_string("i=17") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=300") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15753") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=299") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=300") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15753") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8294") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=300") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15753") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.TargetNodeId = ua.NodeId.from_string("i=15751") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=875") - node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15754") + node.BrowseName = ua.QualifiedName.from_string("") node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=874") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.ParentNodeId = ua.NodeId.from_string("i=15744") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=15803") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = ua.LocalizedText("") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=875") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15754") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=874") + ref.TargetNodeId = ua.NodeId.from_string("i=15755") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=875") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15754") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8864") + ref.TargetNodeId = ua.NodeId.from_string("i=15794") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=875") + ref.SourceNodeId = ua.NodeId.from_string("i=15754") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.TargetNodeId = ua.NodeId.from_string("i=15803") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15754") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11508") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15754") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15744") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=878") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=877") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") - attrs.EventNotifier = 0 + node.RequestedNewNodeId = ua.NodeId.from_string("i=15755") + node.BrowseName = ua.QualifiedName.from_string("CurrentState") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15754") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=2760") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("CurrentState") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=878") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15755") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=877") + ref.TargetNodeId = ua.NodeId.from_string("i=15756") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=878") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15755") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8867") + ref.TargetNodeId = ua.NodeId.from_string("i=2760") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=878") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15755") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15755") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15754") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=898") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=897") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") - attrs.EventNotifier = 0 + node.RequestedNewNodeId = ua.NodeId.from_string("i=15756") + node.BrowseName = ua.QualifiedName.from_string("Id") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15755") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Id") + attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=898") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15756") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=897") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=898") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15756") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8870") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=898") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15756") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.TargetNodeId = ua.NodeId.from_string("i=15755") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8252") - node.BrowseName = ua.QualifiedName.from_string("Opc.Ua") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=92") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15794") + node.BrowseName = ua.QualifiedName.from_string("Reset") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15754") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=72") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Opc.Ua") - attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) - attrs.Value = ua.Variant(b'\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n true\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n true\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n true\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The type of identifier used in a node id.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A mask specifying the class of the node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to all nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to object nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to object type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to variable nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to variable type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to reference type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to method nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies a reference which belongs to a node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n An argument for a method.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A mapping between a value of an enumerated type and a name and description.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n This abstract DataType is the base DataType for all union DataTypes.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n The types of applications.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Describes an application and how to find it.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The header passed with every server request.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The header passed with every server response.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The response returned by all services when there is a service level error.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Finds the servers known to the discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Finds the servers known to the discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n The type of security to use on a message.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The possible user token types.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Describes a user token that can be used with a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The description of a endpoint that can be used to access a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Gets the endpoints used by the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Gets the endpoints used by the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The information required to register a server with a discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Registers a server with the discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Registers a server with the discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A base type for discovery configuration information.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The discovery information needed for mDNS registration.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Indicates whether a token if being created or renewed.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The token that identifies a set of keys for an active secure channel.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Creates a secure channel with a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Creates a secure channel with a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Closes a secure channel.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Closes a secure channel.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A software certificate with a digital signature.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n A digital signature.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Creates a new session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Creates a new session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A base type for a user identity token.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A token representing an anonymous user.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A token representing a user identified by a user name and password.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A token representing a user identified by an X509 certificate.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A token representing a user identified by a WS-Security XML token.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Activates a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Activates a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Closes a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Closes a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Cancels an outstanding request.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Cancels an outstanding request.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The bits used to specify default attributes for a new node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The base attributes for all nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for an object node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a variable node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a method node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for an object type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a variable type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a reference type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a data type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a view node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to add a node to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A result of an add node operation.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Adds one or more nodes to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Adds one or more nodes to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to add a reference to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Adds one or more references to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Adds one or more references to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to delete a node to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Delete one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Delete one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to delete a node from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Delete one or more references from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Delete one or more references from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Define bits used to indicate which attributes are writable.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The directions of the references to return.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The view to browse.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to browse the the references from a node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A bit mask which specifies what should be returned in a browse response.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The description of a reference.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n The result of a browse operation.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Browse the references for one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Browse the references for one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Continues one or more browse operations.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Continues one or more browse operations.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n An element in a relative path.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A relative path constructed from reference types and browse names.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to translate a path into a node id.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The target of the translated path.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The result of a translate opearation.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Translates one or more paths in the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Translates one or more paths in the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Registers one or more nodes for repeated use within a session.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Registers one or more nodes for repeated use within a session.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Unregisters one or more previously registered nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Unregisters one or more previously registered nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n', ua.VariantType.ByteString) - attrs.ValueRank = -1 + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("Reset") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15794") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8254") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.SourceNodeId = ua.NodeId.from_string("i=15794") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12677") + ref.TargetNodeId = ua.NodeId.from_string("i=15754") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15803") + node.BrowseName = ua.QualifiedName.from_string("FileTransferStateMachineType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=2771") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("FileTransferStateMachineType") + attrs.IsAbstract = False + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.SourceNodeId = ua.NodeId.from_string("i=15803") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8285") + ref.TargetNodeId = ua.NodeId.from_string("i=15815") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.SourceNodeId = ua.NodeId.from_string("i=15803") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8291") + ref.TargetNodeId = ua.NodeId.from_string("i=15817") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.SourceNodeId = ua.NodeId.from_string("i=15803") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12759") + ref.TargetNodeId = ua.NodeId.from_string("i=15819") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.SourceNodeId = ua.NodeId.from_string("i=15803") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12762") + ref.TargetNodeId = ua.NodeId.from_string("i=15821") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.SourceNodeId = ua.NodeId.from_string("i=15803") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8918") + ref.TargetNodeId = ua.NodeId.from_string("i=15823") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.SourceNodeId = ua.NodeId.from_string("i=15803") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8300") + ref.TargetNodeId = ua.NodeId.from_string("i=15825") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.SourceNodeId = ua.NodeId.from_string("i=15803") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12201") + ref.TargetNodeId = ua.NodeId.from_string("i=15827") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.SourceNodeId = ua.NodeId.from_string("i=15803") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8297") + ref.TargetNodeId = ua.NodeId.from_string("i=15829") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.SourceNodeId = ua.NodeId.from_string("i=15803") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8303") + ref.TargetNodeId = ua.NodeId.from_string("i=15831") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.SourceNodeId = ua.NodeId.from_string("i=15803") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8417") + ref.TargetNodeId = ua.NodeId.from_string("i=15833") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.SourceNodeId = ua.NodeId.from_string("i=15803") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12894") + ref.TargetNodeId = ua.NodeId.from_string("i=15835") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.SourceNodeId = ua.NodeId.from_string("i=15803") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12897") + ref.TargetNodeId = ua.NodeId.from_string("i=15837") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.SourceNodeId = ua.NodeId.from_string("i=15803") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8333") + ref.TargetNodeId = ua.NodeId.from_string("i=15839") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.SourceNodeId = ua.NodeId.from_string("i=15803") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8306") + ref.TargetNodeId = ua.NodeId.from_string("i=15841") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.SourceNodeId = ua.NodeId.from_string("i=15803") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8309") + ref.TargetNodeId = ua.NodeId.from_string("i=15843") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=15803") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8312") + ref.TargetNodeId = ua.NodeId.from_string("i=2771") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15815") + node.BrowseName = ua.QualifiedName.from_string("Idle") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=15803") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=2309") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Idle") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15815") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8315") + ref.TargetNodeId = ua.NodeId.from_string("i=15816") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15815") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8318") + ref.TargetNodeId = ua.NodeId.from_string("i=2309") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.SourceNodeId = ua.NodeId.from_string("i=15815") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8363") + ref.TargetNodeId = ua.NodeId.from_string("i=15803") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15816") + node.BrowseName = ua.QualifiedName.from_string("StateNumber") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15815") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("StateNumber") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15816") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8366") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15816") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8369") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15816") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8372") + ref.TargetNodeId = ua.NodeId.from_string("i=15815") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15817") + node.BrowseName = ua.QualifiedName.from_string("ReadPrepare") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=15803") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=2307") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("ReadPrepare") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15817") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12712") + ref.TargetNodeId = ua.NodeId.from_string("i=15818") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15817") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12715") + ref.TargetNodeId = ua.NodeId.from_string("i=2307") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.SourceNodeId = ua.NodeId.from_string("i=15817") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8321") + ref.TargetNodeId = ua.NodeId.from_string("i=15803") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15818") + node.BrowseName = ua.QualifiedName.from_string("StateNumber") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15817") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("StateNumber") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15818") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8564") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15818") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8567") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15818") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8570") + ref.TargetNodeId = ua.NodeId.from_string("i=15817") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15819") + node.BrowseName = ua.QualifiedName.from_string("ReadTransfer") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=15803") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=2307") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("ReadTransfer") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15819") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8573") + ref.TargetNodeId = ua.NodeId.from_string("i=15820") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15819") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8576") + ref.TargetNodeId = ua.NodeId.from_string("i=2307") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.SourceNodeId = ua.NodeId.from_string("i=15819") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8579") + ref.TargetNodeId = ua.NodeId.from_string("i=15803") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15820") + node.BrowseName = ua.QualifiedName.from_string("StateNumber") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15819") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("StateNumber") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15820") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8582") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15820") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8639") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15820") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8702") + ref.TargetNodeId = ua.NodeId.from_string("i=15819") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15821") + node.BrowseName = ua.QualifiedName.from_string("ApplyWrite") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=15803") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=2307") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("ApplyWrite") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15821") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8708") + ref.TargetNodeId = ua.NodeId.from_string("i=15822") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15821") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8711") + ref.TargetNodeId = ua.NodeId.from_string("i=2307") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.SourceNodeId = ua.NodeId.from_string("i=15821") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8807") + ref.TargetNodeId = ua.NodeId.from_string("i=15803") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15822") + node.BrowseName = ua.QualifiedName.from_string("StateNumber") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15821") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("StateNumber") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15822") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8327") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15822") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8843") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15822") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11951") + ref.TargetNodeId = ua.NodeId.from_string("i=15821") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15823") + node.BrowseName = ua.QualifiedName.from_string("Error") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=15803") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=2307") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Error") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15823") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11954") + ref.TargetNodeId = ua.NodeId.from_string("i=15824") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15823") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8846") + ref.TargetNodeId = ua.NodeId.from_string("i=2307") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.SourceNodeId = ua.NodeId.from_string("i=15823") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8849") + ref.TargetNodeId = ua.NodeId.from_string("i=15803") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15824") + node.BrowseName = ua.QualifiedName.from_string("StateNumber") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15823") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("StateNumber") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15824") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8852") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15824") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8855") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15824") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8858") + ref.TargetNodeId = ua.NodeId.from_string("i=15823") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15825") + node.BrowseName = ua.QualifiedName.from_string("IdleToReadPrepare") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=15803") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=2310") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("IdleToReadPrepare") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15825") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8861") + ref.TargetNodeId = ua.NodeId.from_string("i=15826") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15825") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8294") + ref.TargetNodeId = ua.NodeId.from_string("i=2310") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.SourceNodeId = ua.NodeId.from_string("i=15825") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8864") + ref.TargetNodeId = ua.NodeId.from_string("i=15803") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15826") + node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15825") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("TransitionNumber") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15826") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8867") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15826") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8870") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15826") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8873") + ref.TargetNodeId = ua.NodeId.from_string("i=15825") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15827") + node.BrowseName = ua.QualifiedName.from_string("ReadPrepareToReadTransfer") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=15803") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=2310") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("ReadPrepareToReadTransfer") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15827") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8876") + ref.TargetNodeId = ua.NodeId.from_string("i=15828") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15827") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12175") + ref.TargetNodeId = ua.NodeId.from_string("i=2310") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.SourceNodeId = ua.NodeId.from_string("i=15827") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12178") + ref.TargetNodeId = ua.NodeId.from_string("i=15803") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15828") + node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15827") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("TransitionNumber") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15828") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12083") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15828") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12086") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15828") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8882") + ref.TargetNodeId = ua.NodeId.from_string("i=15827") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15829") + node.BrowseName = ua.QualifiedName.from_string("ReadTransferToIdle") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=15803") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=2310") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("ReadTransferToIdle") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15829") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8879") + ref.TargetNodeId = ua.NodeId.from_string("i=15830") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15829") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=92") + ref.TargetNodeId = ua.NodeId.from_string("i=2310") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15829") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=72") + ref.TargetNodeId = ua.NodeId.from_string("i=15803") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8254") - node.BrowseName = ua.QualifiedName.from_string("NamespaceUri") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15830") + node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ParentNodeId = ua.NodeId.from_string("i=15829") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A URI that uniquely identifies the dictionary.") - attrs.DisplayName = ua.LocalizedText("NamespaceUri") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("http://opcfoundation.org/UA/2008/02/Types.xsd", ua.VariantType.String) + attrs.DisplayName = ua.LocalizedText("TransitionNumber") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -35878,61 +36779,72 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8254") + ref.SourceNodeId = ua.NodeId.from_string("i=15830") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15830") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=8254") + ref.SourceNodeId = ua.NodeId.from_string("i=15830") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=15829") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12677") - node.BrowseName = ua.QualifiedName.from_string("TrustListDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15831") + node.BrowseName = ua.QualifiedName.from_string("IdleToApplyWrite") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=15803") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TrustListDataType") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='TrustListDataType']", ua.VariantType.String) - attrs.ValueRank = -1 + node.TypeDefinition = ua.NodeId.from_string("i=2310") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("IdleToApplyWrite") + attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15831") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15832") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12677") + ref.SourceNodeId = ua.NodeId.from_string("i=15831") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=2310") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12677") + ref.SourceNodeId = ua.NodeId.from_string("i=15831") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=15803") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8285") - node.BrowseName = ua.QualifiedName.from_string("Argument") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15832") + node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.ParentNodeId = ua.NodeId.from_string("i=15831") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Argument") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='Argument']", ua.VariantType.String) + attrs.DisplayName = ua.LocalizedText("TransitionNumber") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -35940,61 +36852,72 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8285") + ref.SourceNodeId = ua.NodeId.from_string("i=15832") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15832") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8285") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15832") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=15831") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8291") - node.BrowseName = ua.QualifiedName.from_string("EnumValueType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15833") + node.BrowseName = ua.QualifiedName.from_string("ApplyWriteToIdle") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=15803") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EnumValueType") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='EnumValueType']", ua.VariantType.String) - attrs.ValueRank = -1 + node.TypeDefinition = ua.NodeId.from_string("i=2310") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("ApplyWriteToIdle") + attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15833") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15834") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8291") + ref.SourceNodeId = ua.NodeId.from_string("i=15833") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=2310") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8291") + ref.SourceNodeId = ua.NodeId.from_string("i=15833") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=15803") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12759") - node.BrowseName = ua.QualifiedName.from_string("OptionSet") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15834") + node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.ParentNodeId = ua.NodeId.from_string("i=15833") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OptionSet") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='OptionSet']", ua.VariantType.String) + attrs.DisplayName = ua.LocalizedText("TransitionNumber") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -36002,61 +36925,72 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12759") + ref.SourceNodeId = ua.NodeId.from_string("i=15834") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15834") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12759") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15834") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=15833") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12762") - node.BrowseName = ua.QualifiedName.from_string("Union") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15835") + node.BrowseName = ua.QualifiedName.from_string("ReadPrepareToError") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=15803") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Union") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='Union']", ua.VariantType.String) - attrs.ValueRank = -1 + node.TypeDefinition = ua.NodeId.from_string("i=2310") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("ReadPrepareToError") + attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15835") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15836") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12762") + ref.SourceNodeId = ua.NodeId.from_string("i=15835") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=2310") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12762") + ref.SourceNodeId = ua.NodeId.from_string("i=15835") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=15803") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8918") - node.BrowseName = ua.QualifiedName.from_string("TimeZoneDataType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15836") + node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.ParentNodeId = ua.NodeId.from_string("i=15835") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TimeZoneDataType") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='TimeZoneDataType']", ua.VariantType.String) + attrs.DisplayName = ua.LocalizedText("TransitionNumber") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -36064,61 +36998,72 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8918") + ref.SourceNodeId = ua.NodeId.from_string("i=15836") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15836") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8918") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15836") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=15835") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8300") - node.BrowseName = ua.QualifiedName.from_string("ApplicationDescription") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15837") + node.BrowseName = ua.QualifiedName.from_string("ReadTransferToError") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=15803") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ApplicationDescription") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='ApplicationDescription']", ua.VariantType.String) - attrs.ValueRank = -1 + node.TypeDefinition = ua.NodeId.from_string("i=2310") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("ReadTransferToError") + attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15837") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15838") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8300") + ref.SourceNodeId = ua.NodeId.from_string("i=15837") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=2310") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8300") + ref.SourceNodeId = ua.NodeId.from_string("i=15837") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=15803") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12201") - node.BrowseName = ua.QualifiedName.from_string("ServerOnNetwork") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15838") + node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.ParentNodeId = ua.NodeId.from_string("i=15837") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ServerOnNetwork") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='ServerOnNetwork']", ua.VariantType.String) + attrs.DisplayName = ua.LocalizedText("TransitionNumber") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -36126,61 +37071,72 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12201") + ref.SourceNodeId = ua.NodeId.from_string("i=15838") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15838") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12201") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15838") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=15837") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8297") - node.BrowseName = ua.QualifiedName.from_string("UserTokenPolicy") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15839") + node.BrowseName = ua.QualifiedName.from_string("ApplyWriteToError") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=15803") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("UserTokenPolicy") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='UserTokenPolicy']", ua.VariantType.String) - attrs.ValueRank = -1 + node.TypeDefinition = ua.NodeId.from_string("i=2310") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("ApplyWriteToError") + attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15839") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15840") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8297") + ref.SourceNodeId = ua.NodeId.from_string("i=15839") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=2310") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8297") + ref.SourceNodeId = ua.NodeId.from_string("i=15839") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=15803") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8303") - node.BrowseName = ua.QualifiedName.from_string("EndpointDescription") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15840") + node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.ParentNodeId = ua.NodeId.from_string("i=15839") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EndpointDescription") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='EndpointDescription']", ua.VariantType.String) + attrs.DisplayName = ua.LocalizedText("TransitionNumber") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -36188,61 +37144,72 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8303") + ref.SourceNodeId = ua.NodeId.from_string("i=15840") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15840") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8303") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15840") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=15839") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8417") - node.BrowseName = ua.QualifiedName.from_string("RegisteredServer") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15841") + node.BrowseName = ua.QualifiedName.from_string("ErrorToIdle") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=15803") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RegisteredServer") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='RegisteredServer']", ua.VariantType.String) - attrs.ValueRank = -1 + node.TypeDefinition = ua.NodeId.from_string("i=2310") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("ErrorToIdle") + attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15841") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15842") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8417") + ref.SourceNodeId = ua.NodeId.from_string("i=15841") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=2310") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8417") + ref.SourceNodeId = ua.NodeId.from_string("i=15841") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=15803") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12894") - node.BrowseName = ua.QualifiedName.from_string("DiscoveryConfiguration") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15842") + node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.ParentNodeId = ua.NodeId.from_string("i=15841") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DiscoveryConfiguration") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='DiscoveryConfiguration']", ua.VariantType.String) + attrs.DisplayName = ua.LocalizedText("TransitionNumber") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -36250,495 +37217,570 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12894") + ref.SourceNodeId = ua.NodeId.from_string("i=15842") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15842") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12894") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15842") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=15841") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12897") - node.BrowseName = ua.QualifiedName.from_string("MdnsDiscoveryConfiguration") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15843") + node.BrowseName = ua.QualifiedName.from_string("Reset") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15803") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MdnsDiscoveryConfiguration") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='MdnsDiscoveryConfiguration']", ua.VariantType.String) - attrs.ValueRank = -1 + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("Reset") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12897") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15843") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12897") + ref.SourceNodeId = ua.NodeId.from_string("i=15843") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=15803") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8333") - node.BrowseName = ua.QualifiedName.from_string("SignedSoftwareCertificate") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SignedSoftwareCertificate") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='SignedSoftwareCertificate']", ua.VariantType.String) - attrs.ValueRank = -1 + node.RequestedNewNodeId = ua.NodeId.from_string("i=15607") + node.BrowseName = ua.QualifiedName.from_string("RoleSetType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=58") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.Description = ua.LocalizedText("A container for the roles supported by the server.") + attrs.DisplayName = ua.LocalizedText("RoleSetType") + attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8333") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15607") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=15608") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8333") + ref.SourceNodeId = ua.NodeId.from_string("i=15607") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=15997") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8306") - node.BrowseName = ua.QualifiedName.from_string("UserIdentityToken") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("UserIdentityToken") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='UserIdentityToken']", ua.VariantType.String) - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8306") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15607") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=16000") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8306") + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=15607") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=58") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8309") - node.BrowseName = ua.QualifiedName.from_string("AnonymousIdentityToken") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15608") + node.BrowseName = ua.QualifiedName.from_string("") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=15607") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AnonymousIdentityToken") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='AnonymousIdentityToken']", ua.VariantType.String) - attrs.ValueRank = -1 + node.TypeDefinition = ua.NodeId.from_string("i=15620") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("") + attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15608") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16162") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8309") + ref.SourceNodeId = ua.NodeId.from_string("i=15608") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=15620") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15608") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11508") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8309") + ref.SourceNodeId = ua.NodeId.from_string("i=15608") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=15607") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8312") - node.BrowseName = ua.QualifiedName.from_string("UserNameIdentityToken") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16162") + node.BrowseName = ua.QualifiedName.from_string("Identities") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.ParentNodeId = ua.NodeId.from_string("i=15608") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("UserNameIdentityToken") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='UserNameIdentityToken']", ua.VariantType.String) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("Identities") + attrs.DataType = ua.NodeId.from_string("i=15634") + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8312") + ref.SourceNodeId = ua.NodeId.from_string("i=16162") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16162") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8312") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16162") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=15608") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8315") - node.BrowseName = ua.QualifiedName.from_string("X509IdentityToken") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15997") + node.BrowseName = ua.QualifiedName.from_string("AddRole") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15607") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("X509IdentityToken") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='X509IdentityToken']", ua.VariantType.String) - attrs.ValueRank = -1 + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("AddRole") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8315") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15997") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=15998") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15997") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15999") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15997") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8315") + ref.SourceNodeId = ua.NodeId.from_string("i=15997") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=15607") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8318") - node.BrowseName = ua.QualifiedName.from_string("IssuedIdentityToken") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15998") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.ParentNodeId = ua.NodeId.from_string("i=15997") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("IssuedIdentityToken") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='IssuedIdentityToken']", ua.VariantType.String) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RoleName' + extobj.DataType = ua.NodeId.from_string("i=12") + extobj.ValueRank = -1 + value.append(extobj) + extobj = ua.Argument() + extobj.Name = 'NamespaceUri' + extobj.DataType = ua.NodeId.from_string("i=12") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8318") + ref.SourceNodeId = ua.NodeId.from_string("i=15998") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15998") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8318") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15998") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=15997") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8363") - node.BrowseName = ua.QualifiedName.from_string("AddNodesItem") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15999") + node.BrowseName = ua.QualifiedName.from_string("OutputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.ParentNodeId = ua.NodeId.from_string("i=15997") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AddNodesItem") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='AddNodesItem']", ua.VariantType.String) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("OutputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RoleNodeId' + extobj.DataType = ua.NodeId.from_string("i=17") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8363") + ref.SourceNodeId = ua.NodeId.from_string("i=15999") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8363") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15999") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15999") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15997") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8366") - node.BrowseName = ua.QualifiedName.from_string("AddReferencesItem") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16000") + node.BrowseName = ua.QualifiedName.from_string("RemoveRole") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15607") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AddReferencesItem") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='AddReferencesItem']", ua.VariantType.String) - attrs.ValueRank = -1 + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("RemoveRole") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8366") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16000") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=16001") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16000") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8366") + ref.SourceNodeId = ua.NodeId.from_string("i=16000") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=15607") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8369") - node.BrowseName = ua.QualifiedName.from_string("DeleteNodesItem") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16001") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.ParentNodeId = ua.NodeId.from_string("i=16000") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DeleteNodesItem") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='DeleteNodesItem']", ua.VariantType.String) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RoleNodeId' + extobj.DataType = ua.NodeId.from_string("i=17") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8369") + ref.SourceNodeId = ua.NodeId.from_string("i=16001") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16001") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8369") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16001") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=16000") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8372") - node.BrowseName = ua.QualifiedName.from_string("DeleteReferencesItem") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DeleteReferencesItem") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='DeleteReferencesItem']", ua.VariantType.String) - attrs.ValueRank = -1 + node.RequestedNewNodeId = ua.NodeId.from_string("i=15620") + node.BrowseName = ua.QualifiedName.from_string("RoleType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=58") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("RoleType") + attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8372") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15620") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=16173") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15620") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16174") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15620") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15410") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15620") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16175") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15620") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15411") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8372") + ref.SourceNodeId = ua.NodeId.from_string("i=15620") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=15624") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12712") - node.BrowseName = ua.QualifiedName.from_string("RelativePathElement") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RelativePathElement") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='RelativePathElement']", ua.VariantType.String) - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12712") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15620") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=15626") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12712") + ref.SourceNodeId = ua.NodeId.from_string("i=15620") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=16176") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12715") - node.BrowseName = ua.QualifiedName.from_string("RelativePath") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RelativePath") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='RelativePath']", ua.VariantType.String) - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12715") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15620") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=16178") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12715") + ref.SourceNodeId = ua.NodeId.from_string("i=15620") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=16180") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15620") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16182") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=15620") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=58") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8321") - node.BrowseName = ua.QualifiedName.from_string("EndpointConfiguration") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16173") + node.BrowseName = ua.QualifiedName.from_string("Identities") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.ParentNodeId = ua.NodeId.from_string("i=15620") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EndpointConfiguration") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='EndpointConfiguration']", ua.VariantType.String) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("Identities") + attrs.DataType = ua.NodeId.from_string("i=15634") + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8321") + ref.SourceNodeId = ua.NodeId.from_string("i=16173") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16173") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8321") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16173") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=15620") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8564") - node.BrowseName = ua.QualifiedName.from_string("ContentFilterElement") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16174") + node.BrowseName = ua.QualifiedName.from_string("Applications") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.ParentNodeId = ua.NodeId.from_string("i=15620") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ContentFilterElement") + attrs.DisplayName = ua.LocalizedText("Applications") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='ContentFilterElement']", ua.VariantType.String) - attrs.ValueRank = -1 + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8564") + ref.SourceNodeId = ua.NodeId.from_string("i=16174") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16174") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8564") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16174") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=15620") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8567") - node.BrowseName = ua.QualifiedName.from_string("ContentFilter") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15410") + node.BrowseName = ua.QualifiedName.from_string("ApplicationsExclude") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.ParentNodeId = ua.NodeId.from_string("i=15620") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ContentFilter") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='ContentFilter']", ua.VariantType.String) + attrs.DisplayName = ua.LocalizedText("ApplicationsExclude") + attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -36746,61 +37788,73 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8567") + ref.SourceNodeId = ua.NodeId.from_string("i=15410") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15410") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8567") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15410") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=15620") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8570") - node.BrowseName = ua.QualifiedName.from_string("FilterOperand") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16175") + node.BrowseName = ua.QualifiedName.from_string("Endpoints") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.ParentNodeId = ua.NodeId.from_string("i=15620") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("FilterOperand") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='FilterOperand']", ua.VariantType.String) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("Endpoints") + attrs.DataType = ua.NodeId.from_string("i=15528") + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8570") + ref.SourceNodeId = ua.NodeId.from_string("i=16175") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16175") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8570") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16175") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=15620") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8573") - node.BrowseName = ua.QualifiedName.from_string("ElementOperand") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15411") + node.BrowseName = ua.QualifiedName.from_string("EndpointsExclude") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.ParentNodeId = ua.NodeId.from_string("i=15620") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ElementOperand") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='ElementOperand']", ua.VariantType.String) + attrs.DisplayName = ua.LocalizedText("EndpointsExclude") + attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -36808,619 +37862,802 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8573") + ref.SourceNodeId = ua.NodeId.from_string("i=15411") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15411") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8573") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15411") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=15620") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8576") - node.BrowseName = ua.QualifiedName.from_string("LiteralOperand") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15624") + node.BrowseName = ua.QualifiedName.from_string("AddIdentity") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15620") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LiteralOperand") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='LiteralOperand']", ua.VariantType.String) - attrs.ValueRank = -1 + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("AddIdentity") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8576") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15624") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=15625") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15624") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8576") + ref.SourceNodeId = ua.NodeId.from_string("i=15624") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=15620") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8579") - node.BrowseName = ua.QualifiedName.from_string("AttributeOperand") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15625") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.ParentNodeId = ua.NodeId.from_string("i=15624") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AttributeOperand") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='AttributeOperand']", ua.VariantType.String) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToAdd' + extobj.DataType = ua.NodeId.from_string("i=15634") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8579") + ref.SourceNodeId = ua.NodeId.from_string("i=15625") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15625") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8579") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15625") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=15624") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8582") - node.BrowseName = ua.QualifiedName.from_string("SimpleAttributeOperand") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15626") + node.BrowseName = ua.QualifiedName.from_string("RemoveIdentity") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15620") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SimpleAttributeOperand") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='SimpleAttributeOperand']", ua.VariantType.String) - attrs.ValueRank = -1 + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("RemoveIdentity") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8582") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15626") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=15627") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15626") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8582") + ref.SourceNodeId = ua.NodeId.from_string("i=15626") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=15620") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8639") - node.BrowseName = ua.QualifiedName.from_string("HistoryEvent") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15627") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.ParentNodeId = ua.NodeId.from_string("i=15626") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("HistoryEvent") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='HistoryEvent']", ua.VariantType.String) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToRemove' + extobj.DataType = ua.NodeId.from_string("i=15634") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8639") + ref.SourceNodeId = ua.NodeId.from_string("i=15627") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15627") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8639") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15627") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=15626") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8702") - node.BrowseName = ua.QualifiedName.from_string("MonitoringFilter") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16176") + node.BrowseName = ua.QualifiedName.from_string("AddApplication") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15620") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MonitoringFilter") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='MonitoringFilter']", ua.VariantType.String) - attrs.ValueRank = -1 + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("AddApplication") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8702") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16176") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=16177") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16176") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8702") + ref.SourceNodeId = ua.NodeId.from_string("i=16176") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=15620") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8708") - node.BrowseName = ua.QualifiedName.from_string("EventFilter") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16177") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.ParentNodeId = ua.NodeId.from_string("i=16176") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EventFilter") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='EventFilter']", ua.VariantType.String) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToAdd' + extobj.DataType = ua.NodeId.from_string("i=12") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8708") + ref.SourceNodeId = ua.NodeId.from_string("i=16177") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16177") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8708") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16177") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=16176") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8711") - node.BrowseName = ua.QualifiedName.from_string("AggregateConfiguration") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16178") + node.BrowseName = ua.QualifiedName.from_string("RemoveApplication") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15620") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AggregateConfiguration") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='AggregateConfiguration']", ua.VariantType.String) - attrs.ValueRank = -1 + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("RemoveApplication") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8711") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16178") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=16179") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16178") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8711") + ref.SourceNodeId = ua.NodeId.from_string("i=16178") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=15620") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8807") - node.BrowseName = ua.QualifiedName.from_string("HistoryEventFieldList") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16179") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.ParentNodeId = ua.NodeId.from_string("i=16178") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("HistoryEventFieldList") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='HistoryEventFieldList']", ua.VariantType.String) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToRemove' + extobj.DataType = ua.NodeId.from_string("i=12") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8807") + ref.SourceNodeId = ua.NodeId.from_string("i=16179") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16179") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8807") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16179") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=16178") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8327") - node.BrowseName = ua.QualifiedName.from_string("BuildInfo") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16180") + node.BrowseName = ua.QualifiedName.from_string("AddEndpoint") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15620") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("BuildInfo") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='BuildInfo']", ua.VariantType.String) - attrs.ValueRank = -1 + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("AddEndpoint") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8327") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16180") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=16181") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16180") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8327") + ref.SourceNodeId = ua.NodeId.from_string("i=16180") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=15620") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8843") - node.BrowseName = ua.QualifiedName.from_string("RedundantServerDataType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16181") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.ParentNodeId = ua.NodeId.from_string("i=16180") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RedundantServerDataType") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='RedundantServerDataType']", ua.VariantType.String) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToAdd' + extobj.DataType = ua.NodeId.from_string("i=12") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8843") + ref.SourceNodeId = ua.NodeId.from_string("i=16181") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16181") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8843") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16181") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=16180") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11951") - node.BrowseName = ua.QualifiedName.from_string("EndpointUrlListDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16182") + node.BrowseName = ua.QualifiedName.from_string("RemoveEndpoint") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15620") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EndpointUrlListDataType") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='EndpointUrlListDataType']", ua.VariantType.String) - attrs.ValueRank = -1 + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("RemoveEndpoint") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11951") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16182") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=16183") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16182") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11951") + ref.SourceNodeId = ua.NodeId.from_string("i=16182") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=15620") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11954") - node.BrowseName = ua.QualifiedName.from_string("NetworkGroupDataType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16183") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.ParentNodeId = ua.NodeId.from_string("i=16182") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("NetworkGroupDataType") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='NetworkGroupDataType']", ua.VariantType.String) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToRemove' + extobj.DataType = ua.NodeId.from_string("i=12") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11954") + ref.SourceNodeId = ua.NodeId.from_string("i=16183") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16183") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11954") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16183") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=16182") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8846") - node.BrowseName = ua.QualifiedName.from_string("SamplingIntervalDiagnosticsDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SamplingIntervalDiagnosticsDataType") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='SamplingIntervalDiagnosticsDataType']", ua.VariantType.String) - attrs.ValueRank = -1 + node.RequestedNewNodeId = ua.NodeId.from_string("i=15632") + node.BrowseName = ua.QualifiedName.from_string("IdentityCriteriaType") + node.NodeClass = ua.NodeClass.DataType + node.ParentNodeId = ua.NodeId.from_string("i=29") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.DataTypeAttributes() + attrs.DisplayName = ua.LocalizedText("IdentityCriteriaType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8846") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15632") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=15633") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8846") + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=15632") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=29") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8849") - node.BrowseName = ua.QualifiedName.from_string("ServerDiagnosticsSummaryDataType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15633") + node.BrowseName = ua.QualifiedName.from_string("EnumValues") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.ParentNodeId = ua.NodeId.from_string("i=15632") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ServerDiagnosticsSummaryDataType") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='ServerDiagnosticsSummaryDataType']", ua.VariantType.String) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("EnumValues") + attrs.DataType = ua.NodeId.from_string("i=7594") + value = [] + extobj = ua.EnumValueType() + extobj.Value = 1 + extobj.DisplayName.Text = 'UserName' + value.append(extobj) + extobj = ua.EnumValueType() + extobj.Value = 2 + extobj.DisplayName.Text = 'Thumbprint' + value.append(extobj) + extobj = ua.EnumValueType() + extobj.Value = 3 + extobj.DisplayName.Text = 'Role' + value.append(extobj) + extobj = ua.EnumValueType() + extobj.Value = 4 + extobj.DisplayName.Text = 'GroupId' + value.append(extobj) + extobj = ua.EnumValueType() + extobj.Value = 5 + extobj.DisplayName.Text = 'Anonymous' + value.append(extobj) + extobj = ua.EnumValueType() + extobj.Value = 6 + extobj.DisplayName.Text = 'AuthenticatedUser' + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8849") + ref.SourceNodeId = ua.NodeId.from_string("i=15633") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=15633") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8849") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15633") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=15632") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8852") - node.BrowseName = ua.QualifiedName.from_string("ServerStatusDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ServerStatusDataType") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='ServerStatusDataType']", ua.VariantType.String) - attrs.ValueRank = -1 + node.RequestedNewNodeId = ua.NodeId.from_string("i=15634") + node.BrowseName = ua.QualifiedName.from_string("IdentityMappingRuleType") + node.NodeClass = ua.NodeClass.DataType + node.ParentNodeId = ua.NodeId.from_string("i=22") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.DataTypeAttributes() + attrs.DisplayName = ua.LocalizedText("IdentityMappingRuleType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8852") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=15634") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=22") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=17641") + node.BrowseName = ua.QualifiedName.from_string("RoleMappingRuleChangedAuditEventType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=2127") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("RoleMappingRuleChangedAuditEventType") + attrs.IsAbstract = False + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8852") + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=17641") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=2127") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8855") - node.BrowseName = ua.QualifiedName.from_string("SessionDiagnosticsDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SessionDiagnosticsDataType") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='SessionDiagnosticsDataType']", ua.VariantType.String) - attrs.ValueRank = -1 + node.RequestedNewNodeId = ua.NodeId.from_string("i=15644") + node.BrowseName = ua.QualifiedName.from_string("AnonymousRole") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=15606") + node.ReferenceTypeId = ua.NodeId.from_string("i=35") + node.TypeDefinition = ua.NodeId.from_string("i=15620") + attrs = ua.ObjectAttributes() + attrs.Description = ua.LocalizedText("The Role has very limited access for use when a Session has anonymous credentials.") + attrs.DisplayName = ua.LocalizedText("Anonymous") + attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8855") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15644") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=16192") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15644") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16193") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15644") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15412") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15644") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16194") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15644") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15413") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8855") + ref.SourceNodeId = ua.NodeId.from_string("i=15644") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=15648") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8858") - node.BrowseName = ua.QualifiedName.from_string("SessionSecurityDiagnosticsDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SessionSecurityDiagnosticsDataType") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='SessionSecurityDiagnosticsDataType']", ua.VariantType.String) - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8858") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15644") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=15650") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8858") + ref.SourceNodeId = ua.NodeId.from_string("i=15644") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=16195") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15644") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16197") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15644") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16199") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15644") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16201") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=35") + ref.SourceNodeId = ua.NodeId.from_string("i=15644") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15606") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15644") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15620") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8861") - node.BrowseName = ua.QualifiedName.from_string("ServiceCounterDataType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16192") + node.BrowseName = ua.QualifiedName.from_string("Identities") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.ParentNodeId = ua.NodeId.from_string("i=15644") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ServiceCounterDataType") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='ServiceCounterDataType']", ua.VariantType.String) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("Identities") + attrs.DataType = ua.NodeId.from_string("i=15634") + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8861") + ref.SourceNodeId = ua.NodeId.from_string("i=16192") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8861") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16192") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=15644") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8294") - node.BrowseName = ua.QualifiedName.from_string("StatusResult") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16193") + node.BrowseName = ua.QualifiedName.from_string("Applications") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.ParentNodeId = ua.NodeId.from_string("i=15644") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("StatusResult") + attrs.DisplayName = ua.LocalizedText("Applications") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='StatusResult']", ua.VariantType.String) - attrs.ValueRank = -1 + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8294") + ref.SourceNodeId = ua.NodeId.from_string("i=16193") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8294") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16193") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=15644") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8864") - node.BrowseName = ua.QualifiedName.from_string("SubscriptionDiagnosticsDataType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15412") + node.BrowseName = ua.QualifiedName.from_string("ApplicationsExclude") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.ParentNodeId = ua.NodeId.from_string("i=15644") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SubscriptionDiagnosticsDataType") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='SubscriptionDiagnosticsDataType']", ua.VariantType.String) + attrs.DisplayName = ua.LocalizedText("ApplicationsExclude") + attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -37428,61 +38665,59 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8864") + ref.SourceNodeId = ua.NodeId.from_string("i=15412") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8864") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15412") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=15644") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8867") - node.BrowseName = ua.QualifiedName.from_string("ModelChangeStructureDataType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16194") + node.BrowseName = ua.QualifiedName.from_string("Endpoints") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.ParentNodeId = ua.NodeId.from_string("i=15644") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ModelChangeStructureDataType") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='ModelChangeStructureDataType']", ua.VariantType.String) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("Endpoints") + attrs.DataType = ua.NodeId.from_string("i=15528") + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8867") + ref.SourceNodeId = ua.NodeId.from_string("i=16194") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8867") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16194") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=15644") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8870") - node.BrowseName = ua.QualifiedName.from_string("SemanticChangeStructureDataType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15413") + node.BrowseName = ua.QualifiedName.from_string("EndpointsExclude") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.ParentNodeId = ua.NodeId.from_string("i=15644") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SemanticChangeStructureDataType") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='SemanticChangeStructureDataType']", ua.VariantType.String) + attrs.DisplayName = ua.LocalizedText("EndpointsExclude") + attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -37490,1241 +38725,14078 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8870") + ref.SourceNodeId = ua.NodeId.from_string("i=15413") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8870") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15413") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=15644") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8873") - node.BrowseName = ua.QualifiedName.from_string("Range") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15648") + node.BrowseName = ua.QualifiedName.from_string("AddIdentity") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15644") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Range") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='Range']", ua.VariantType.String) - attrs.ValueRank = -1 + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("AddIdentity") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8873") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15648") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=15649") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8873") + ref.SourceNodeId = ua.NodeId.from_string("i=15648") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=15644") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8876") - node.BrowseName = ua.QualifiedName.from_string("EUInformation") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15649") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.ParentNodeId = ua.NodeId.from_string("i=15648") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EUInformation") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='EUInformation']", ua.VariantType.String) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToAdd' + extobj.DataType = ua.NodeId.from_string("i=15634") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8876") + ref.SourceNodeId = ua.NodeId.from_string("i=15649") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8876") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15649") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=15648") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12175") - node.BrowseName = ua.QualifiedName.from_string("ComplexNumberType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15650") + node.BrowseName = ua.QualifiedName.from_string("RemoveIdentity") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15644") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ComplexNumberType") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='ComplexNumberType']", ua.VariantType.String) - attrs.ValueRank = -1 + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("RemoveIdentity") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12175") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15650") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=15651") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12175") + ref.SourceNodeId = ua.NodeId.from_string("i=15650") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=15644") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12178") - node.BrowseName = ua.QualifiedName.from_string("DoubleComplexNumberType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15651") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.ParentNodeId = ua.NodeId.from_string("i=15650") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DoubleComplexNumberType") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='DoubleComplexNumberType']", ua.VariantType.String) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToRemove' + extobj.DataType = ua.NodeId.from_string("i=15634") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12178") + ref.SourceNodeId = ua.NodeId.from_string("i=15651") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12178") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15651") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=15650") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12083") - node.BrowseName = ua.QualifiedName.from_string("AxisInformation") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16195") + node.BrowseName = ua.QualifiedName.from_string("AddApplication") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15644") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AxisInformation") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='AxisInformation']", ua.VariantType.String) - attrs.ValueRank = -1 + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("AddApplication") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12083") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16195") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=16196") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12083") + ref.SourceNodeId = ua.NodeId.from_string("i=16195") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=15644") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12086") - node.BrowseName = ua.QualifiedName.from_string("XVType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16196") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.ParentNodeId = ua.NodeId.from_string("i=16195") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("XVType") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='XVType']", ua.VariantType.String) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToAdd' + extobj.DataType = ua.NodeId.from_string("i=12") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12086") + ref.SourceNodeId = ua.NodeId.from_string("i=16196") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12086") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16196") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=16195") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8882") - node.BrowseName = ua.QualifiedName.from_string("ProgramDiagnosticDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16197") + node.BrowseName = ua.QualifiedName.from_string("RemoveApplication") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15644") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ProgramDiagnosticDataType") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='ProgramDiagnosticDataType']", ua.VariantType.String) - attrs.ValueRank = -1 + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("RemoveApplication") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8882") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16197") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=16198") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8882") + ref.SourceNodeId = ua.NodeId.from_string("i=16197") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=15644") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8879") - node.BrowseName = ua.QualifiedName.from_string("Annotation") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16198") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.ParentNodeId = ua.NodeId.from_string("i=16197") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Annotation") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("//xs:element[@name='Annotation']", ua.VariantType.String) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToRemove' + extobj.DataType = ua.NodeId.from_string("i=12") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8879") + ref.SourceNodeId = ua.NodeId.from_string("i=16198") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8879") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16198") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeId = ua.NodeId.from_string("i=16197") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=340") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=338") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") - attrs.EventNotifier = 0 + node.RequestedNewNodeId = ua.NodeId.from_string("i=16199") + node.BrowseName = ua.QualifiedName.from_string("AddEndpoint") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15644") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("AddEndpoint") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=340") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=338") - refs.append(ref) - ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=340") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16199") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7692") + ref.TargetNodeId = ua.NodeId.from_string("i=16200") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=340") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16199") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.TargetNodeId = ua.NodeId.from_string("i=15644") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=855") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=853") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") - attrs.EventNotifier = 0 + node.RequestedNewNodeId = ua.NodeId.from_string("i=16200") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16199") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToAdd' + extobj.DataType = ua.NodeId.from_string("i=12") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=855") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=853") - refs.append(ref) - ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=855") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16200") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8208") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=855") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16200") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.TargetNodeId = ua.NodeId.from_string("i=16199") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11957") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=11943") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") - attrs.EventNotifier = 0 + node.RequestedNewNodeId = ua.NodeId.from_string("i=16201") + node.BrowseName = ua.QualifiedName.from_string("RemoveEndpoint") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15644") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("RemoveEndpoint") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=11957") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11943") - refs.append(ref) - ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=11957") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16201") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11959") + ref.TargetNodeId = ua.NodeId.from_string("i=16202") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11957") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16201") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.TargetNodeId = ua.NodeId.from_string("i=15644") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11958") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=11944") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") - attrs.EventNotifier = 0 + node.RequestedNewNodeId = ua.NodeId.from_string("i=16202") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16201") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToRemove' + extobj.DataType = ua.NodeId.from_string("i=12") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=11958") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11944") - refs.append(ref) - ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=11958") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16202") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11962") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11958") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16202") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.TargetNodeId = ua.NodeId.from_string("i=16201") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=858") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15656") + node.BrowseName = ua.QualifiedName.from_string("AuthenticatedUserRole") node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=856") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.ParentNodeId = ua.NodeId.from_string("i=15606") + node.ReferenceTypeId = ua.NodeId.from_string("i=35") + node.TypeDefinition = ua.NodeId.from_string("i=15620") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.Description = ua.LocalizedText("The Role has limited access for use when a Session has valid non-anonymous credentials but has not been explicity granted access to a Role.") + attrs.DisplayName = ua.LocalizedText("AuthenticatedUser") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=858") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15656") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=856") + ref.TargetNodeId = ua.NodeId.from_string("i=16203") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=858") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15656") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8211") + ref.TargetNodeId = ua.NodeId.from_string("i=16204") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=858") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15656") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.TargetNodeId = ua.NodeId.from_string("i=15414") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=861") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=859") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") - attrs.EventNotifier = 0 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=861") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15656") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=859") + ref.TargetNodeId = ua.NodeId.from_string("i=16205") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=861") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15656") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8214") + ref.TargetNodeId = ua.NodeId.from_string("i=15415") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=861") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15656") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.TargetNodeId = ua.NodeId.from_string("i=15660") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=864") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=862") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") - attrs.EventNotifier = 0 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=864") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15656") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=862") + ref.TargetNodeId = ua.NodeId.from_string("i=15662") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=864") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15656") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8217") + ref.TargetNodeId = ua.NodeId.from_string("i=16206") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=864") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15656") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.TargetNodeId = ua.NodeId.from_string("i=16208") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=867") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=865") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") - attrs.EventNotifier = 0 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=867") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15656") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=865") + ref.TargetNodeId = ua.NodeId.from_string("i=16210") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=867") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15656") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8220") + ref.TargetNodeId = ua.NodeId.from_string("i=16212") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=35") + ref.SourceNodeId = ua.NodeId.from_string("i=15656") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15606") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=867") + ref.SourceNodeId = ua.NodeId.from_string("i=15656") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.TargetNodeId = ua.NodeId.from_string("i=15620") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=870") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=868") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") - attrs.EventNotifier = 0 + node.RequestedNewNodeId = ua.NodeId.from_string("i=16203") + node.BrowseName = ua.QualifiedName.from_string("Identities") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15656") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Identities") + attrs.DataType = ua.NodeId.from_string("i=15634") + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=870") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=868") - refs.append(ref) - ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=870") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16203") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8223") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=870") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16203") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.TargetNodeId = ua.NodeId.from_string("i=15656") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=873") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=871") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") - attrs.EventNotifier = 0 + node.RequestedNewNodeId = ua.NodeId.from_string("i=16204") + node.BrowseName = ua.QualifiedName.from_string("Applications") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15656") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Applications") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=873") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=871") - refs.append(ref) - ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=873") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16204") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8226") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=873") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16204") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.TargetNodeId = ua.NodeId.from_string("i=15656") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=301") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=299") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") - attrs.EventNotifier = 0 + node.RequestedNewNodeId = ua.NodeId.from_string("i=15414") + node.BrowseName = ua.QualifiedName.from_string("ApplicationsExclude") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15656") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("ApplicationsExclude") + attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=301") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=299") - refs.append(ref) - ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=301") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15414") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7659") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=301") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15414") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.TargetNodeId = ua.NodeId.from_string("i=15656") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=876") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=874") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") - attrs.EventNotifier = 0 + node.RequestedNewNodeId = ua.NodeId.from_string("i=16205") + node.BrowseName = ua.QualifiedName.from_string("Endpoints") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15656") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Endpoints") + attrs.DataType = ua.NodeId.from_string("i=15528") + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=876") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=874") - refs.append(ref) - ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=876") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16205") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8229") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=876") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16205") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.TargetNodeId = ua.NodeId.from_string("i=15656") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=879") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=877") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") - attrs.EventNotifier = 0 + node.RequestedNewNodeId = ua.NodeId.from_string("i=15415") + node.BrowseName = ua.QualifiedName.from_string("EndpointsExclude") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15656") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("EndpointsExclude") + attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=879") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=877") - refs.append(ref) - ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=879") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15415") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8232") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=879") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15415") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.TargetNodeId = ua.NodeId.from_string("i=15656") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=899") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=897") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") - attrs.EventNotifier = 0 + node.RequestedNewNodeId = ua.NodeId.from_string("i=15660") + node.BrowseName = ua.QualifiedName.from_string("AddIdentity") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15656") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("AddIdentity") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=899") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15660") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=897") + ref.TargetNodeId = ua.NodeId.from_string("i=15661") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=899") - ref.TargetNodeClass = ua.NodeClass.DataType + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15660") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15656") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15661") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15660") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToAdd' + extobj.DataType = ua.NodeId.from_string("i=15634") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15661") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15661") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15660") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15662") + node.BrowseName = ua.QualifiedName.from_string("RemoveIdentity") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15656") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("RemoveIdentity") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15662") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15663") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15662") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15656") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15663") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15662") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToRemove' + extobj.DataType = ua.NodeId.from_string("i=15634") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15663") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15663") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15662") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16206") + node.BrowseName = ua.QualifiedName.from_string("AddApplication") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15656") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("AddApplication") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16206") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16207") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16206") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15656") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16207") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16206") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToAdd' + extobj.DataType = ua.NodeId.from_string("i=12") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16207") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16207") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16206") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16208") + node.BrowseName = ua.QualifiedName.from_string("RemoveApplication") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15656") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("RemoveApplication") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16208") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16209") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16208") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15656") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16209") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16208") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToRemove' + extobj.DataType = ua.NodeId.from_string("i=12") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16209") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16209") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16208") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16210") + node.BrowseName = ua.QualifiedName.from_string("AddEndpoint") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15656") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("AddEndpoint") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16210") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16211") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16210") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15656") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16211") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16210") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToAdd' + extobj.DataType = ua.NodeId.from_string("i=12") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16211") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16211") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16210") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16212") + node.BrowseName = ua.QualifiedName.from_string("RemoveEndpoint") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15656") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("RemoveEndpoint") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16212") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16213") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16212") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15656") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16213") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16212") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToRemove' + extobj.DataType = ua.NodeId.from_string("i=12") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16213") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16213") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16212") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15668") + node.BrowseName = ua.QualifiedName.from_string("ObserverRole") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=15606") + node.ReferenceTypeId = ua.NodeId.from_string("i=35") + node.TypeDefinition = ua.NodeId.from_string("i=15620") + attrs = ua.ObjectAttributes() + attrs.Description = ua.LocalizedText("The Role is allowed to browse, read live data, read historical data/events or subscribe to data/events.") + attrs.DisplayName = ua.LocalizedText("Observer") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15668") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16214") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15668") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16215") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15668") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15416") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15668") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16216") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15668") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15417") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15668") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15672") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15668") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15674") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15668") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16217") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15668") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16219") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15668") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16221") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15668") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16223") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=35") + ref.SourceNodeId = ua.NodeId.from_string("i=15668") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15606") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15668") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15620") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16214") + node.BrowseName = ua.QualifiedName.from_string("Identities") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15668") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Identities") + attrs.DataType = ua.NodeId.from_string("i=15634") + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16214") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16214") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15668") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16215") + node.BrowseName = ua.QualifiedName.from_string("Applications") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15668") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Applications") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16215") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16215") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15668") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15416") + node.BrowseName = ua.QualifiedName.from_string("ApplicationsExclude") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15668") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("ApplicationsExclude") + attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15416") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15416") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15668") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16216") + node.BrowseName = ua.QualifiedName.from_string("Endpoints") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15668") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Endpoints") + attrs.DataType = ua.NodeId.from_string("i=15528") + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16216") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16216") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15668") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15417") + node.BrowseName = ua.QualifiedName.from_string("EndpointsExclude") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15668") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("EndpointsExclude") + attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15417") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15417") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15668") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15672") + node.BrowseName = ua.QualifiedName.from_string("AddIdentity") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15668") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("AddIdentity") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15672") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15673") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15672") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15668") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15673") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15672") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToAdd' + extobj.DataType = ua.NodeId.from_string("i=15634") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15673") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15673") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15672") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15674") + node.BrowseName = ua.QualifiedName.from_string("RemoveIdentity") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15668") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("RemoveIdentity") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15674") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15675") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15674") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15668") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15675") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15674") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToRemove' + extobj.DataType = ua.NodeId.from_string("i=15634") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15675") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15675") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15674") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16217") + node.BrowseName = ua.QualifiedName.from_string("AddApplication") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15668") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("AddApplication") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16217") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16218") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16217") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15668") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16218") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16217") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToAdd' + extobj.DataType = ua.NodeId.from_string("i=12") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16218") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16218") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16217") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16219") + node.BrowseName = ua.QualifiedName.from_string("RemoveApplication") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15668") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("RemoveApplication") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16219") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16220") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16219") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15668") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16220") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16219") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToRemove' + extobj.DataType = ua.NodeId.from_string("i=12") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16220") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16220") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16219") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16221") + node.BrowseName = ua.QualifiedName.from_string("AddEndpoint") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15668") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("AddEndpoint") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16221") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16222") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16221") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15668") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16222") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16221") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToAdd' + extobj.DataType = ua.NodeId.from_string("i=12") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16222") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16222") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16221") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16223") + node.BrowseName = ua.QualifiedName.from_string("RemoveEndpoint") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15668") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("RemoveEndpoint") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16223") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16224") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16223") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15668") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16224") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16223") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToRemove' + extobj.DataType = ua.NodeId.from_string("i=12") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16224") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16224") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16223") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15680") + node.BrowseName = ua.QualifiedName.from_string("OperatorRole") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=15606") + node.ReferenceTypeId = ua.NodeId.from_string("i=35") + node.TypeDefinition = ua.NodeId.from_string("i=15620") + attrs = ua.ObjectAttributes() + attrs.Description = ua.LocalizedText("The Role is allowed to browse, read live data, read historical data/events or subscribe to data/events.") + attrs.DisplayName = ua.LocalizedText("Operator") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15680") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16225") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15680") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16226") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15680") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15418") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15680") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16227") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15680") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15423") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15680") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15684") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15680") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15686") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15680") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16228") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15680") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16230") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15680") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16232") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15680") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16234") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=35") + ref.SourceNodeId = ua.NodeId.from_string("i=15680") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15606") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15680") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15620") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16225") + node.BrowseName = ua.QualifiedName.from_string("Identities") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15680") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Identities") + attrs.DataType = ua.NodeId.from_string("i=15634") + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16225") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16225") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15680") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16226") + node.BrowseName = ua.QualifiedName.from_string("Applications") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15680") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Applications") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16226") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16226") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15680") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15418") + node.BrowseName = ua.QualifiedName.from_string("ApplicationsExclude") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15680") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("ApplicationsExclude") + attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15418") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15418") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15680") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16227") + node.BrowseName = ua.QualifiedName.from_string("Endpoints") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15680") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Endpoints") + attrs.DataType = ua.NodeId.from_string("i=15528") + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16227") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16227") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15680") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15423") + node.BrowseName = ua.QualifiedName.from_string("EndpointsExclude") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15680") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("EndpointsExclude") + attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15423") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15423") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15680") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15684") + node.BrowseName = ua.QualifiedName.from_string("AddIdentity") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15680") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("AddIdentity") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15684") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15685") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15684") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15680") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15685") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15684") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToAdd' + extobj.DataType = ua.NodeId.from_string("i=15634") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15685") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15685") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15684") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15686") + node.BrowseName = ua.QualifiedName.from_string("RemoveIdentity") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15680") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("RemoveIdentity") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15686") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15687") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15686") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15680") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15687") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15686") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToRemove' + extobj.DataType = ua.NodeId.from_string("i=15634") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15687") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15687") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15686") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16228") + node.BrowseName = ua.QualifiedName.from_string("AddApplication") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15680") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("AddApplication") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16228") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16229") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16228") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15680") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16229") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16228") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToAdd' + extobj.DataType = ua.NodeId.from_string("i=12") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16229") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16229") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16228") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16230") + node.BrowseName = ua.QualifiedName.from_string("RemoveApplication") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15680") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("RemoveApplication") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16230") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16231") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16230") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15680") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16231") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16230") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToRemove' + extobj.DataType = ua.NodeId.from_string("i=12") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16231") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16231") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16230") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16232") + node.BrowseName = ua.QualifiedName.from_string("AddEndpoint") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15680") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("AddEndpoint") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16232") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16233") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16232") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15680") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16233") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16232") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToAdd' + extobj.DataType = ua.NodeId.from_string("i=12") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16233") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16233") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16232") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16234") + node.BrowseName = ua.QualifiedName.from_string("RemoveEndpoint") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15680") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("RemoveEndpoint") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16234") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16235") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16234") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15680") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16235") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16234") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToRemove' + extobj.DataType = ua.NodeId.from_string("i=12") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16235") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16235") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16234") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16036") + node.BrowseName = ua.QualifiedName.from_string("EngineerRole") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=15606") + node.ReferenceTypeId = ua.NodeId.from_string("i=35") + node.TypeDefinition = ua.NodeId.from_string("i=15620") + attrs = ua.ObjectAttributes() + attrs.Description = ua.LocalizedText("The Role is allowed to browse, read live data, read and update historical data/events, call methods or subscribe to data/events.") + attrs.DisplayName = ua.LocalizedText("Engineer") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16036") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16236") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16036") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16237") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16036") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15424") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16036") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16238") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16036") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15425") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16036") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16041") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16036") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16043") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16036") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16239") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16036") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16241") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16036") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16243") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16036") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16245") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=35") + ref.SourceNodeId = ua.NodeId.from_string("i=16036") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15606") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16036") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15620") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16236") + node.BrowseName = ua.QualifiedName.from_string("Identities") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16036") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Identities") + attrs.DataType = ua.NodeId.from_string("i=15634") + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16236") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16236") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16036") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16237") + node.BrowseName = ua.QualifiedName.from_string("Applications") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16036") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Applications") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16237") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16237") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16036") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15424") + node.BrowseName = ua.QualifiedName.from_string("ApplicationsExclude") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16036") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("ApplicationsExclude") + attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15424") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15424") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16036") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16238") + node.BrowseName = ua.QualifiedName.from_string("Endpoints") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16036") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Endpoints") + attrs.DataType = ua.NodeId.from_string("i=15528") + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16238") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16238") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16036") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15425") + node.BrowseName = ua.QualifiedName.from_string("EndpointsExclude") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16036") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("EndpointsExclude") + attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15425") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15425") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16036") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16041") + node.BrowseName = ua.QualifiedName.from_string("AddIdentity") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=16036") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("AddIdentity") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16041") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16042") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16041") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16036") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16042") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16041") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToAdd' + extobj.DataType = ua.NodeId.from_string("i=15634") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16042") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16042") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16041") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16043") + node.BrowseName = ua.QualifiedName.from_string("RemoveIdentity") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=16036") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("RemoveIdentity") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16043") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16044") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16043") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16036") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16044") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16043") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToRemove' + extobj.DataType = ua.NodeId.from_string("i=15634") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16044") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16044") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16043") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16239") + node.BrowseName = ua.QualifiedName.from_string("AddApplication") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=16036") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("AddApplication") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16239") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16240") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16239") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16036") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16240") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16239") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToAdd' + extobj.DataType = ua.NodeId.from_string("i=12") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16240") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16240") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16239") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16241") + node.BrowseName = ua.QualifiedName.from_string("RemoveApplication") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=16036") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("RemoveApplication") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16241") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16242") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16241") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16036") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16242") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16241") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToRemove' + extobj.DataType = ua.NodeId.from_string("i=12") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16242") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16242") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16241") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16243") + node.BrowseName = ua.QualifiedName.from_string("AddEndpoint") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=16036") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("AddEndpoint") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16243") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16244") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16243") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16036") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16244") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16243") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToAdd' + extobj.DataType = ua.NodeId.from_string("i=12") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16244") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16244") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16243") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16245") + node.BrowseName = ua.QualifiedName.from_string("RemoveEndpoint") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=16036") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("RemoveEndpoint") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16245") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16246") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16245") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16036") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16246") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16245") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToRemove' + extobj.DataType = ua.NodeId.from_string("i=12") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16246") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16246") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16245") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15692") + node.BrowseName = ua.QualifiedName.from_string("SupervisorRole") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=15606") + node.ReferenceTypeId = ua.NodeId.from_string("i=35") + node.TypeDefinition = ua.NodeId.from_string("i=15620") + attrs = ua.ObjectAttributes() + attrs.Description = ua.LocalizedText("The Role is allowed to browse, read live data, read and historical data/events, call methods or subscribe to data/events.") + attrs.DisplayName = ua.LocalizedText("Supervisor") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15692") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16247") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15692") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16248") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15692") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15426") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15692") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16249") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15692") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15427") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15692") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15696") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15692") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15698") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15692") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16250") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15692") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16252") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15692") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16254") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15692") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16256") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=35") + ref.SourceNodeId = ua.NodeId.from_string("i=15692") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15606") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15692") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15620") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16247") + node.BrowseName = ua.QualifiedName.from_string("Identities") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15692") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Identities") + attrs.DataType = ua.NodeId.from_string("i=15634") + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16247") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16247") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15692") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16248") + node.BrowseName = ua.QualifiedName.from_string("Applications") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15692") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Applications") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16248") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16248") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15692") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15426") + node.BrowseName = ua.QualifiedName.from_string("ApplicationsExclude") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15692") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("ApplicationsExclude") + attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15426") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15426") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15692") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16249") + node.BrowseName = ua.QualifiedName.from_string("Endpoints") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15692") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Endpoints") + attrs.DataType = ua.NodeId.from_string("i=15528") + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16249") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16249") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15692") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15427") + node.BrowseName = ua.QualifiedName.from_string("EndpointsExclude") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15692") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("EndpointsExclude") + attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15427") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15427") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15692") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15696") + node.BrowseName = ua.QualifiedName.from_string("AddIdentity") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15692") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("AddIdentity") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15696") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15697") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15696") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15692") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15697") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15696") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToAdd' + extobj.DataType = ua.NodeId.from_string("i=15634") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15697") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15697") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15696") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15698") + node.BrowseName = ua.QualifiedName.from_string("RemoveIdentity") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15692") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("RemoveIdentity") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15698") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15699") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15698") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15692") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15699") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15698") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToRemove' + extobj.DataType = ua.NodeId.from_string("i=15634") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15699") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15699") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15698") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16250") + node.BrowseName = ua.QualifiedName.from_string("AddApplication") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15692") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("AddApplication") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16250") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16251") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16250") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15692") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16251") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16250") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToAdd' + extobj.DataType = ua.NodeId.from_string("i=12") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16251") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16251") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16250") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16252") + node.BrowseName = ua.QualifiedName.from_string("RemoveApplication") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15692") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("RemoveApplication") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16253") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15692") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16253") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16252") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToRemove' + extobj.DataType = ua.NodeId.from_string("i=12") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16253") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16253") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16252") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16254") + node.BrowseName = ua.QualifiedName.from_string("AddEndpoint") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15692") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("AddEndpoint") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16254") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16255") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16254") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15692") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16255") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16254") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToAdd' + extobj.DataType = ua.NodeId.from_string("i=12") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16255") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16255") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16254") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16256") + node.BrowseName = ua.QualifiedName.from_string("RemoveEndpoint") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15692") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("RemoveEndpoint") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16256") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16257") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16256") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15692") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16257") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16256") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToRemove' + extobj.DataType = ua.NodeId.from_string("i=12") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16257") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16257") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16256") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15716") + node.BrowseName = ua.QualifiedName.from_string("ConfigureAdminRole") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=15606") + node.ReferenceTypeId = ua.NodeId.from_string("i=35") + node.TypeDefinition = ua.NodeId.from_string("i=15620") + attrs = ua.ObjectAttributes() + attrs.Description = ua.LocalizedText("The Role is allowed to change the non-security related configuration settings.") + attrs.DisplayName = ua.LocalizedText("ConfigureAdmin") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15716") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16269") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15716") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16270") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15716") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15428") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15716") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16271") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15716") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15429") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15716") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15720") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15716") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15722") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15716") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16272") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15716") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16274") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15716") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16276") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15716") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16278") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=35") + ref.SourceNodeId = ua.NodeId.from_string("i=15716") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15606") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15716") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15620") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16269") + node.BrowseName = ua.QualifiedName.from_string("Identities") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15716") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Identities") + attrs.DataType = ua.NodeId.from_string("i=15634") + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16269") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16269") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15716") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16270") + node.BrowseName = ua.QualifiedName.from_string("Applications") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15716") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Applications") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16270") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16270") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15716") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15428") + node.BrowseName = ua.QualifiedName.from_string("ApplicationsExclude") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15716") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("ApplicationsExclude") + attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15428") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15428") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15716") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16271") + node.BrowseName = ua.QualifiedName.from_string("Endpoints") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15716") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Endpoints") + attrs.DataType = ua.NodeId.from_string("i=15528") + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16271") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16271") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15716") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15429") + node.BrowseName = ua.QualifiedName.from_string("EndpointsExclude") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15716") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("EndpointsExclude") + attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15429") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15429") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15716") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15720") + node.BrowseName = ua.QualifiedName.from_string("AddIdentity") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15716") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("AddIdentity") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15720") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15721") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15720") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15716") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15721") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15720") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToAdd' + extobj.DataType = ua.NodeId.from_string("i=15634") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15721") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15721") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15720") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15722") + node.BrowseName = ua.QualifiedName.from_string("RemoveIdentity") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15716") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("RemoveIdentity") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15722") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15723") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15722") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15716") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15723") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15722") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToRemove' + extobj.DataType = ua.NodeId.from_string("i=15634") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15723") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15723") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15722") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16272") + node.BrowseName = ua.QualifiedName.from_string("AddApplication") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15716") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("AddApplication") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16272") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16273") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16272") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15716") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16273") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16272") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToAdd' + extobj.DataType = ua.NodeId.from_string("i=12") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16273") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16273") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16272") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16274") + node.BrowseName = ua.QualifiedName.from_string("RemoveApplication") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15716") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("RemoveApplication") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16274") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16275") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16274") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15716") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16275") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16274") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToRemove' + extobj.DataType = ua.NodeId.from_string("i=12") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16275") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16275") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16274") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16276") + node.BrowseName = ua.QualifiedName.from_string("AddEndpoint") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15716") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("AddEndpoint") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16276") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16277") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16276") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15716") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16277") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16276") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToAdd' + extobj.DataType = ua.NodeId.from_string("i=12") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16277") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16277") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16276") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16278") + node.BrowseName = ua.QualifiedName.from_string("RemoveEndpoint") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15716") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("RemoveEndpoint") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16278") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16279") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16278") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15716") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16279") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16278") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToRemove' + extobj.DataType = ua.NodeId.from_string("i=12") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16279") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16279") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16278") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15704") + node.BrowseName = ua.QualifiedName.from_string("SecurityAdminRole") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=15606") + node.ReferenceTypeId = ua.NodeId.from_string("i=35") + node.TypeDefinition = ua.NodeId.from_string("i=15620") + attrs = ua.ObjectAttributes() + attrs.Description = ua.LocalizedText("The Role is allowed to change security related settings.") + attrs.DisplayName = ua.LocalizedText("SecurityAdmin") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15704") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16258") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15704") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16259") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15704") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15430") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15704") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16260") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15704") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15527") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15704") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15708") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15704") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15710") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15704") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16261") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15704") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16263") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15704") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16265") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15704") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16267") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=35") + ref.SourceNodeId = ua.NodeId.from_string("i=15704") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15606") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15704") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15620") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16258") + node.BrowseName = ua.QualifiedName.from_string("Identities") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15704") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Identities") + attrs.DataType = ua.NodeId.from_string("i=15634") + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16258") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16258") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15704") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16259") + node.BrowseName = ua.QualifiedName.from_string("Applications") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15704") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Applications") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16259") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16259") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15704") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15430") + node.BrowseName = ua.QualifiedName.from_string("ApplicationsExclude") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15704") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("ApplicationsExclude") + attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15430") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15430") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15704") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16260") + node.BrowseName = ua.QualifiedName.from_string("Endpoints") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15704") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Endpoints") + attrs.DataType = ua.NodeId.from_string("i=15528") + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16260") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16260") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15704") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15527") + node.BrowseName = ua.QualifiedName.from_string("EndpointsExclude") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15704") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("EndpointsExclude") + attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15527") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15527") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15704") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15708") + node.BrowseName = ua.QualifiedName.from_string("AddIdentity") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15704") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("AddIdentity") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15708") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15709") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15708") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15704") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15709") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15708") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToAdd' + extobj.DataType = ua.NodeId.from_string("i=15634") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15709") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15709") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15708") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15710") + node.BrowseName = ua.QualifiedName.from_string("RemoveIdentity") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15704") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("RemoveIdentity") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15710") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15711") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15710") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15704") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15711") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=15710") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToRemove' + extobj.DataType = ua.NodeId.from_string("i=15634") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15711") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15711") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15710") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16261") + node.BrowseName = ua.QualifiedName.from_string("AddApplication") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15704") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("AddApplication") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16261") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16262") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16261") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15704") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16262") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16261") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToAdd' + extobj.DataType = ua.NodeId.from_string("i=12") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16262") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16262") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16261") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16263") + node.BrowseName = ua.QualifiedName.from_string("RemoveApplication") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15704") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("RemoveApplication") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16263") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16264") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16263") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15704") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16264") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16263") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToRemove' + extobj.DataType = ua.NodeId.from_string("i=12") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16264") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16264") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16263") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16265") + node.BrowseName = ua.QualifiedName.from_string("AddEndpoint") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15704") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("AddEndpoint") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16265") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16266") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16265") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15704") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16266") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16265") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToAdd' + extobj.DataType = ua.NodeId.from_string("i=12") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16266") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16266") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16265") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16267") + node.BrowseName = ua.QualifiedName.from_string("RemoveEndpoint") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=15704") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("RemoveEndpoint") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16267") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16268") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16267") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15704") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16268") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16267") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'RuleToRemove' + extobj.DataType = ua.NodeId.from_string("i=12") + extobj.ValueRank = -1 + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16268") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16268") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16267") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=338") + node.BrowseName = ua.QualifiedName.from_string("BuildInfo") + node.NodeClass = ua.NodeClass.DataType + node.ParentNodeId = ua.NodeId.from_string("i=22") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.DataTypeAttributes() + attrs.DisplayName = ua.LocalizedText("BuildInfo") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=338") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=22") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=851") + node.BrowseName = ua.QualifiedName.from_string("RedundancySupport") + node.NodeClass = ua.NodeClass.DataType + node.ParentNodeId = ua.NodeId.from_string("i=29") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.DataTypeAttributes() + attrs.DisplayName = ua.LocalizedText("RedundancySupport") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=851") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7611") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=851") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=29") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=7611") + node.BrowseName = ua.QualifiedName.from_string("EnumStrings") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=851") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("EnumStrings") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.Value = [ua.LocalizedText('None'),ua.LocalizedText('Cold'),ua.LocalizedText('Warm'),ua.LocalizedText('Hot'),ua.LocalizedText('Transparent'),ua.LocalizedText('HotAndMirrored')] + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=7611") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=7611") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=7611") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=851") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=852") + node.BrowseName = ua.QualifiedName.from_string("ServerState") + node.NodeClass = ua.NodeClass.DataType + node.ParentNodeId = ua.NodeId.from_string("i=29") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.DataTypeAttributes() + attrs.DisplayName = ua.LocalizedText("ServerState") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=852") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7612") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=852") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=29") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=7612") + node.BrowseName = ua.QualifiedName.from_string("EnumStrings") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=852") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("EnumStrings") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.Value = [ua.LocalizedText('Running'),ua.LocalizedText('Failed'),ua.LocalizedText('NoConfiguration'),ua.LocalizedText('Suspended'),ua.LocalizedText('Shutdown'),ua.LocalizedText('Test'),ua.LocalizedText('CommunicationFault'),ua.LocalizedText('Unknown')] + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=7612") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=7612") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=7612") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=852") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=853") + node.BrowseName = ua.QualifiedName.from_string("RedundantServerDataType") + node.NodeClass = ua.NodeClass.DataType + node.ParentNodeId = ua.NodeId.from_string("i=22") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.DataTypeAttributes() + attrs.DisplayName = ua.LocalizedText("RedundantServerDataType") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=853") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=22") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=11943") + node.BrowseName = ua.QualifiedName.from_string("EndpointUrlListDataType") + node.NodeClass = ua.NodeClass.DataType + node.ParentNodeId = ua.NodeId.from_string("i=22") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.DataTypeAttributes() + attrs.DisplayName = ua.LocalizedText("EndpointUrlListDataType") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=11943") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=22") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=11944") + node.BrowseName = ua.QualifiedName.from_string("NetworkGroupDataType") + node.NodeClass = ua.NodeClass.DataType + node.ParentNodeId = ua.NodeId.from_string("i=22") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.DataTypeAttributes() + attrs.DisplayName = ua.LocalizedText("NetworkGroupDataType") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=11944") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=22") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=856") + node.BrowseName = ua.QualifiedName.from_string("SamplingIntervalDiagnosticsDataType") + node.NodeClass = ua.NodeClass.DataType + node.ParentNodeId = ua.NodeId.from_string("i=22") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.DataTypeAttributes() + attrs.DisplayName = ua.LocalizedText("SamplingIntervalDiagnosticsDataType") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=856") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=22") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=859") + node.BrowseName = ua.QualifiedName.from_string("ServerDiagnosticsSummaryDataType") + node.NodeClass = ua.NodeClass.DataType + node.ParentNodeId = ua.NodeId.from_string("i=22") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.DataTypeAttributes() + attrs.DisplayName = ua.LocalizedText("ServerDiagnosticsSummaryDataType") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=859") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=22") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=862") + node.BrowseName = ua.QualifiedName.from_string("ServerStatusDataType") + node.NodeClass = ua.NodeClass.DataType + node.ParentNodeId = ua.NodeId.from_string("i=22") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.DataTypeAttributes() + attrs.DisplayName = ua.LocalizedText("ServerStatusDataType") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=862") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=22") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=865") + node.BrowseName = ua.QualifiedName.from_string("SessionDiagnosticsDataType") + node.NodeClass = ua.NodeClass.DataType + node.ParentNodeId = ua.NodeId.from_string("i=22") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.DataTypeAttributes() + attrs.DisplayName = ua.LocalizedText("SessionDiagnosticsDataType") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=865") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=22") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=868") + node.BrowseName = ua.QualifiedName.from_string("SessionSecurityDiagnosticsDataType") + node.NodeClass = ua.NodeClass.DataType + node.ParentNodeId = ua.NodeId.from_string("i=22") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.DataTypeAttributes() + attrs.DisplayName = ua.LocalizedText("SessionSecurityDiagnosticsDataType") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=868") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=22") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=871") + node.BrowseName = ua.QualifiedName.from_string("ServiceCounterDataType") + node.NodeClass = ua.NodeClass.DataType + node.ParentNodeId = ua.NodeId.from_string("i=22") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.DataTypeAttributes() + attrs.DisplayName = ua.LocalizedText("ServiceCounterDataType") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=871") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=22") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=299") + node.BrowseName = ua.QualifiedName.from_string("StatusResult") + node.NodeClass = ua.NodeClass.DataType + node.ParentNodeId = ua.NodeId.from_string("i=22") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.DataTypeAttributes() + attrs.DisplayName = ua.LocalizedText("StatusResult") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=299") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=22") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=874") + node.BrowseName = ua.QualifiedName.from_string("SubscriptionDiagnosticsDataType") + node.NodeClass = ua.NodeClass.DataType + node.ParentNodeId = ua.NodeId.from_string("i=22") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.DataTypeAttributes() + attrs.DisplayName = ua.LocalizedText("SubscriptionDiagnosticsDataType") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=874") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=22") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=877") + node.BrowseName = ua.QualifiedName.from_string("ModelChangeStructureDataType") + node.NodeClass = ua.NodeClass.DataType + node.ParentNodeId = ua.NodeId.from_string("i=22") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.DataTypeAttributes() + attrs.DisplayName = ua.LocalizedText("ModelChangeStructureDataType") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=877") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=22") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=897") + node.BrowseName = ua.QualifiedName.from_string("SemanticChangeStructureDataType") + node.NodeClass = ua.NodeClass.DataType + node.ParentNodeId = ua.NodeId.from_string("i=22") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.DataTypeAttributes() + attrs.DisplayName = ua.LocalizedText("SemanticChangeStructureDataType") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=897") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=22") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=14846") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=14533") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=14846") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=14533") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=14846") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=14873") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=14846") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15671") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=15528") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15671") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15528") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=15671") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15734") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15671") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15736") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=15634") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15736") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15634") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=15736") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15738") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15736") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=340") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=338") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=340") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=338") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=340") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7692") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=340") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=855") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=853") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=855") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=853") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=855") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8208") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=855") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=11957") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=11943") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=11957") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11943") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=11957") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11959") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=11957") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=11958") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=11944") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=11958") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11944") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=11958") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11962") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=11958") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=858") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=856") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=858") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=856") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=858") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8211") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=858") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=861") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=859") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=861") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=859") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=861") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8214") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=861") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=864") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=862") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=864") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=862") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=864") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8217") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=864") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=867") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=865") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=867") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=865") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=867") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8220") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=867") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=870") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=868") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=870") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=868") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=870") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8223") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=870") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=873") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=871") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=873") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=871") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=873") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8226") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=873") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=301") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=299") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=301") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=299") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=301") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7659") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=301") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=876") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=874") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=876") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=874") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=876") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8229") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=876") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=879") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=877") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=879") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=877") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=879") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8232") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=879") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=899") + node.BrowseName = ua.QualifiedName.from_string("Default Binary") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=897") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=899") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=897") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=899") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8235") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=899") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=7617") + node.BrowseName = ua.QualifiedName.from_string("Opc.Ua") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=93") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=72") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Opc.Ua") + attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) + attrs.Value = ua.Variant(b'\r\n\r\n \r\n\r\n \r\n An XML element encoded as a UTF-8 string.\r\n \r\n \r\n \r\n\r\n \r\n The possible encodings for a NodeId value.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n An identifier for a node in a UA server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n An identifier for a node in a UA server address space qualified with a complete namespace string.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A 32-bit status code value.\r\n \r\n\r\n \r\n A recursive structure containing diagnostic information associated with a status code.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A string qualified with a namespace index.\r\n \r\n \r\n \r\n\r\n \r\n A string qualified with a namespace index.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A value with an associated timestamp, and quality.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A serialized object prefixed with its data type identifier.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A union of several types.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n An image encoded in BMP format.\r\n \r\n\r\n \r\n An image encoded in GIF format.\r\n \r\n\r\n \r\n An image encoded in JPEG format.\r\n \r\n\r\n \r\n An image encoded in PNG format.\r\n \r\n\r\n \r\n An image encoded in PNG format.\r\n \r\n\r\n \r\n A mask of 32 bits that can be updated individually by using the top 32 bits as a mask.\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n The type of identifier used in a node id.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A mask specifying the class of the node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to all nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to object nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to object type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to variable nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to variable type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to reference type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to method nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies a reference which belongs to a node.\r\n \r\n \r\n \r\n \r\n\r\n \r\n An argument for a method.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A mapping between a value of an enumerated type and a name and description.\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask.\r\n \r\n \r\n \r\n\r\n \r\n This abstract DataType is the base DataType for all union DataTypes.\r\n \r\n\r\n \r\n A string normalized based on the rules in the unicode specification.\r\n \r\n\r\n \r\n An arbitraty numeric value.\r\n \r\n\r\n \r\n A period of time formatted as defined in ISO 8601-2000.\r\n \r\n\r\n \r\n A time formatted as defined in ISO 8601-2000.\r\n \r\n\r\n \r\n A date formatted as defined in ISO 8601-2000.\r\n \r\n\r\n \r\n A period of time measured in milliseconds.\r\n \r\n\r\n \r\n A date/time value specified in Universal Coordinated Time (UTC).\r\n \r\n\r\n \r\n An identifier for a user locale.\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n A numeric identifier for an object.\r\n \r\n\r\n \r\n The types of applications.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Describes an application and how to find it.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The header passed with every server request.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The header passed with every server response.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n The response returned by all services when there is a service level error.\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Finds the servers known to the discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Finds the servers known to the discovery server.\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A certificate for an instance of an application.\r\n \r\n\r\n \r\n The type of security to use on a message.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The possible user token types.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Describes a user token that can be used with a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The description of a endpoint that can be used to access a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Gets the endpoints used by the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Gets the endpoints used by the server.\r\n \r\n \r\n \r\n \r\n\r\n \r\n The information required to register a server with a discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Registers a server with the discovery server.\r\n \r\n \r\n \r\n\r\n \r\n Registers a server with the discovery server.\r\n \r\n \r\n\r\n \r\n A base type for discovery configuration information.\r\n \r\n\r\n \r\n The discovery information needed for mDNS registration.\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Indicates whether a token if being created or renewed.\r\n \r\n \r\n \r\n\r\n \r\n The token that identifies a set of keys for an active secure channel.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Creates a secure channel with a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Creates a secure channel with a server.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Closes a secure channel.\r\n \r\n \r\n\r\n \r\n Closes a secure channel.\r\n \r\n \r\n\r\n \r\n A software certificate with a digital signature.\r\n \r\n \r\n \r\n\r\n \r\n A unique identifier for a session used to authenticate requests.\r\n \r\n\r\n \r\n A digital signature.\r\n \r\n \r\n \r\n\r\n \r\n Creates a new session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Creates a new session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A base type for a user identity token.\r\n \r\n \r\n\r\n \r\n A token representing an anonymous user.\r\n \r\n \r\n\r\n \r\n A token representing a user identified by a user name and password.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A token representing a user identified by an X509 certificate.\r\n \r\n \r\n \r\n\r\n \r\n A token representing a user identified by a WS-Security XML token.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Activates a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Activates a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Closes a session with the server.\r\n \r\n \r\n \r\n\r\n \r\n Closes a session with the server.\r\n \r\n \r\n\r\n \r\n Cancels an outstanding request.\r\n \r\n \r\n \r\n\r\n \r\n Cancels an outstanding request.\r\n \r\n \r\n \r\n\r\n \r\n The bits used to specify default attributes for a new node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The base attributes for all nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for an object node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a variable node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a method node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for an object type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a variable type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a reference type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a data type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a view node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A request to add a node to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A result of an add node operation.\r\n \r\n \r\n \r\n\r\n \r\n Adds one or more nodes to the server address space.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Adds one or more nodes to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A request to add a reference to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Adds one or more references to the server address space.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Adds one or more references to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A request to delete a node to the server address space.\r\n \r\n \r\n \r\n\r\n \r\n Delete one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Delete one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A request to delete a node from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Delete one or more references from the server address space.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Delete one or more references from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Define bits used to indicate which attributes are writable.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The directions of the references to return.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The view to browse.\r\n \r\n \r\n \r\n \r\n\r\n \r\n A request to browse the the references from a node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A bit mask which specifies what should be returned in a browse response.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The description of a reference.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n An identifier for a suspended query or browse operation.\r\n \r\n\r\n \r\n The result of a browse operation.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Browse the references for one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Browse the references for one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Continues one or more browse operations.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Continues one or more browse operations.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n An element in a relative path.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A relative path constructed from reference types and browse names.\r\n \r\n \r\n \r\n\r\n \r\n A request to translate a path into a node id.\r\n \r\n \r\n \r\n\r\n \r\n The target of the translated path.\r\n \r\n \r\n \r\n\r\n \r\n The result of a translate opearation.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Translates one or more paths in the server address space.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Translates one or more paths in the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Registers one or more nodes for repeated use within a session.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Registers one or more nodes for repeated use within a session.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Unregisters one or more previously registered nodes.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Unregisters one or more previously registered nodes.\r\n \r\n \r\n\r\n \r\n A monotonically increasing value.\r\n \r\n\r\n \r\n Specifies a range of array indexes.\r\n \r\n\r\n \r\n A time value specified as HH:MM:SS.SSS.\r\n \r\n\r\n \r\n A date value.\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n', ua.VariantType.ByteString) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7619") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15037") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=14873") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15734") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15738") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12681") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15741") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=14855") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15599") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15602") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15501") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15521") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=14849") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=14852") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=14876") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15766") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15769") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=14324") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15772") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15775") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15778") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15781") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15784") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15787") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=21156") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15793") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15854") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15857") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15860") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=21159") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=21162") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=21165") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15866") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15869") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15872") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15877") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15880") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15883") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15886") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=21002") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15889") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=21168") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15895") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15898") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15919") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15922") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15925") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15931") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=17469") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=21171") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15524") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15940") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15943") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15946") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16131") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=18178") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=18181") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=18184") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=18187") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7650") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7656") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=14870") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12767") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12770") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8914") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7665") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12213") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7662") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7668") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7782") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12902") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12905") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7698") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7671") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7674") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7677") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7680") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7683") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7728") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7731") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7734") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7737") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12718") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12721") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7686") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7929") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7932") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7935") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7938") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7941") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7944") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7947") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8004") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8067") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8073") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8076") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8172") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7692") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8208") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11959") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11962") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8211") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8214") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8217") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8220") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8223") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8226") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7659") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8229") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8232") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8235") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=899") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8238") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8241") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12183") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12186") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12091") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12094") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8247") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15398") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8244") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=93") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=72") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=7619") + node.BrowseName = ua.QualifiedName.from_string("NamespaceUri") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.Description = ua.LocalizedText("A URI that uniquely identifies the dictionary.") + attrs.DisplayName = ua.LocalizedText("NamespaceUri") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('http://opcfoundation.org/UA/', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=7619") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=7619") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15037") + node.BrowseName = ua.QualifiedName.from_string("Deprecated") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.Description = ua.LocalizedText("Indicates that all of the definitions for the dictionary are available through a DataTypeDefinition Attribute.") + attrs.DisplayName = ua.LocalizedText("Deprecated") + attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) + attrs.Value = ua.Variant(True, ua.VariantType.Boolean) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15037") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15037") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=14873") + node.BrowseName = ua.QualifiedName.from_string("KeyValuePair") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("KeyValuePair") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('KeyValuePair', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=14873") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=14873") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15734") + node.BrowseName = ua.QualifiedName.from_string("EndpointType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("EndpointType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('EndpointType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15734") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15734") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15738") + node.BrowseName = ua.QualifiedName.from_string("IdentityMappingRuleType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("IdentityMappingRuleType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('IdentityMappingRuleType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15738") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15738") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12681") + node.BrowseName = ua.QualifiedName.from_string("TrustListDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("TrustListDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('TrustListDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12681") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12681") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15741") + node.BrowseName = ua.QualifiedName.from_string("DataTypeSchemaHeader") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("DataTypeSchemaHeader") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('DataTypeSchemaHeader', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15741") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15741") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=14855") + node.BrowseName = ua.QualifiedName.from_string("DataTypeDescription") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("DataTypeDescription") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('DataTypeDescription', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=14855") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=14855") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15599") + node.BrowseName = ua.QualifiedName.from_string("StructureDescription") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("StructureDescription") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('StructureDescription', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15599") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15599") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15602") + node.BrowseName = ua.QualifiedName.from_string("EnumDescription") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("EnumDescription") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('EnumDescription', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15602") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15602") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15501") + node.BrowseName = ua.QualifiedName.from_string("SimpleTypeDescription") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("SimpleTypeDescription") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('SimpleTypeDescription', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15501") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15501") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15521") + node.BrowseName = ua.QualifiedName.from_string("UABinaryFileDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("UABinaryFileDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('UABinaryFileDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15521") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15521") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=14849") + node.BrowseName = ua.QualifiedName.from_string("DataSetMetaDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("DataSetMetaDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('DataSetMetaDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=14849") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=14849") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=14852") + node.BrowseName = ua.QualifiedName.from_string("FieldMetaData") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("FieldMetaData") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('FieldMetaData', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=14852") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=14852") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=14876") + node.BrowseName = ua.QualifiedName.from_string("ConfigurationVersionDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("ConfigurationVersionDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('ConfigurationVersionDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=14876") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=14876") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15766") + node.BrowseName = ua.QualifiedName.from_string("PublishedDataSetDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("PublishedDataSetDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('PublishedDataSetDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15766") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15766") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15769") + node.BrowseName = ua.QualifiedName.from_string("PublishedDataSetSourceDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("PublishedDataSetSourceDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('PublishedDataSetSourceDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15769") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15769") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=14324") + node.BrowseName = ua.QualifiedName.from_string("PublishedVariableDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("PublishedVariableDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('PublishedVariableDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=14324") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=14324") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15772") + node.BrowseName = ua.QualifiedName.from_string("PublishedDataItemsDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("PublishedDataItemsDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('PublishedDataItemsDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15772") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15772") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15775") + node.BrowseName = ua.QualifiedName.from_string("PublishedEventsDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("PublishedEventsDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('PublishedEventsDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15775") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15775") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15778") + node.BrowseName = ua.QualifiedName.from_string("DataSetWriterDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("DataSetWriterDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('DataSetWriterDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15778") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15778") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15781") + node.BrowseName = ua.QualifiedName.from_string("DataSetWriterTransportDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("DataSetWriterTransportDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('DataSetWriterTransportDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15781") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15781") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15784") + node.BrowseName = ua.QualifiedName.from_string("DataSetWriterMessageDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("DataSetWriterMessageDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('DataSetWriterMessageDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15784") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15784") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15787") + node.BrowseName = ua.QualifiedName.from_string("PubSubGroupDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("PubSubGroupDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('PubSubGroupDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15787") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15787") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=21156") + node.BrowseName = ua.QualifiedName.from_string("WriterGroupDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("WriterGroupDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('WriterGroupDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=21156") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=21156") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15793") + node.BrowseName = ua.QualifiedName.from_string("WriterGroupTransportDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("WriterGroupTransportDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('WriterGroupTransportDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15793") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15793") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15854") + node.BrowseName = ua.QualifiedName.from_string("WriterGroupMessageDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("WriterGroupMessageDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('WriterGroupMessageDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15854") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15854") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15857") + node.BrowseName = ua.QualifiedName.from_string("PubSubConnectionDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("PubSubConnectionDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('PubSubConnectionDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15857") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15857") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15860") + node.BrowseName = ua.QualifiedName.from_string("ConnectionTransportDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("ConnectionTransportDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('ConnectionTransportDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15860") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15860") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=21159") + node.BrowseName = ua.QualifiedName.from_string("NetworkAddressDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("NetworkAddressDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('NetworkAddressDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=21159") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=21159") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=21162") + node.BrowseName = ua.QualifiedName.from_string("NetworkAddressUrlDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("NetworkAddressUrlDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('NetworkAddressUrlDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=21162") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=21162") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=21165") + node.BrowseName = ua.QualifiedName.from_string("ReaderGroupDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("ReaderGroupDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('ReaderGroupDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=21165") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=21165") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15866") + node.BrowseName = ua.QualifiedName.from_string("ReaderGroupTransportDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("ReaderGroupTransportDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('ReaderGroupTransportDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15866") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15866") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15869") + node.BrowseName = ua.QualifiedName.from_string("ReaderGroupMessageDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("ReaderGroupMessageDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('ReaderGroupMessageDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15869") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15869") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15872") + node.BrowseName = ua.QualifiedName.from_string("DataSetReaderDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("DataSetReaderDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('DataSetReaderDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15872") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15872") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15877") + node.BrowseName = ua.QualifiedName.from_string("DataSetReaderTransportDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("DataSetReaderTransportDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('DataSetReaderTransportDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15877") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15877") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15880") + node.BrowseName = ua.QualifiedName.from_string("DataSetReaderMessageDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("DataSetReaderMessageDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('DataSetReaderMessageDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15880") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15880") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15883") + node.BrowseName = ua.QualifiedName.from_string("SubscribedDataSetDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("SubscribedDataSetDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('SubscribedDataSetDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15883") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15883") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15886") + node.BrowseName = ua.QualifiedName.from_string("TargetVariablesDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("TargetVariablesDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('TargetVariablesDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15886") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15886") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=21002") + node.BrowseName = ua.QualifiedName.from_string("FieldTargetDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("FieldTargetDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('FieldTargetDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=21002") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=21002") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15889") + node.BrowseName = ua.QualifiedName.from_string("SubscribedDataSetMirrorDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("SubscribedDataSetMirrorDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('SubscribedDataSetMirrorDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15889") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15889") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=21168") + node.BrowseName = ua.QualifiedName.from_string("PubSubConfigurationDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("PubSubConfigurationDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('PubSubConfigurationDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=21168") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=21168") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15895") + node.BrowseName = ua.QualifiedName.from_string("UadpWriterGroupMessageDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("UadpWriterGroupMessageDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('UadpWriterGroupMessageDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15895") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15895") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15898") + node.BrowseName = ua.QualifiedName.from_string("UadpDataSetWriterMessageDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("UadpDataSetWriterMessageDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('UadpDataSetWriterMessageDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15898") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15898") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15919") + node.BrowseName = ua.QualifiedName.from_string("UadpDataSetReaderMessageDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("UadpDataSetReaderMessageDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('UadpDataSetReaderMessageDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15919") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15919") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15922") + node.BrowseName = ua.QualifiedName.from_string("JsonWriterGroupMessageDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("JsonWriterGroupMessageDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('JsonWriterGroupMessageDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15922") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15922") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15925") + node.BrowseName = ua.QualifiedName.from_string("JsonDataSetWriterMessageDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("JsonDataSetWriterMessageDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('JsonDataSetWriterMessageDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15925") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15925") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15931") + node.BrowseName = ua.QualifiedName.from_string("JsonDataSetReaderMessageDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("JsonDataSetReaderMessageDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('JsonDataSetReaderMessageDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15931") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15931") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=17469") + node.BrowseName = ua.QualifiedName.from_string("DatagramConnectionTransportDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("DatagramConnectionTransportDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('DatagramConnectionTransportDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=17469") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=17469") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=21171") + node.BrowseName = ua.QualifiedName.from_string("DatagramWriterGroupTransportDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("DatagramWriterGroupTransportDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('DatagramWriterGroupTransportDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=21171") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=21171") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15524") + node.BrowseName = ua.QualifiedName.from_string("BrokerConnectionTransportDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("BrokerConnectionTransportDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('BrokerConnectionTransportDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15524") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15524") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15940") + node.BrowseName = ua.QualifiedName.from_string("BrokerWriterGroupTransportDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("BrokerWriterGroupTransportDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('BrokerWriterGroupTransportDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15940") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15940") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15943") + node.BrowseName = ua.QualifiedName.from_string("BrokerDataSetWriterTransportDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("BrokerDataSetWriterTransportDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('BrokerDataSetWriterTransportDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15943") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15943") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15946") + node.BrowseName = ua.QualifiedName.from_string("BrokerDataSetReaderTransportDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("BrokerDataSetReaderTransportDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('BrokerDataSetReaderTransportDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15946") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15946") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16131") + node.BrowseName = ua.QualifiedName.from_string("RolePermissionType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("RolePermissionType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('RolePermissionType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16131") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16131") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=18178") + node.BrowseName = ua.QualifiedName.from_string("DataTypeDefinition") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("DataTypeDefinition") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('DataTypeDefinition', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=18178") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=18178") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=18181") + node.BrowseName = ua.QualifiedName.from_string("StructureField") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("StructureField") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('StructureField', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=18181") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=18181") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=18184") + node.BrowseName = ua.QualifiedName.from_string("StructureDefinition") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("StructureDefinition") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('StructureDefinition', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=18184") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=18184") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=18187") + node.BrowseName = ua.QualifiedName.from_string("EnumDefinition") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("EnumDefinition") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('EnumDefinition', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=18187") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=18187") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=7650") + node.BrowseName = ua.QualifiedName.from_string("Argument") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Argument") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('Argument', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=7650") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7650") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=7656") + node.BrowseName = ua.QualifiedName.from_string("EnumValueType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("EnumValueType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('EnumValueType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=7656") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7656") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=14870") + node.BrowseName = ua.QualifiedName.from_string("EnumField") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("EnumField") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('EnumField', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=14870") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=14870") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12767") + node.BrowseName = ua.QualifiedName.from_string("OptionSet") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("OptionSet") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('OptionSet', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12767") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12767") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12770") + node.BrowseName = ua.QualifiedName.from_string("Union") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Union") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('Union', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12770") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12770") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=8914") + node.BrowseName = ua.QualifiedName.from_string("TimeZoneDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("TimeZoneDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('TimeZoneDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=8914") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8914") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=7665") + node.BrowseName = ua.QualifiedName.from_string("ApplicationDescription") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("ApplicationDescription") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('ApplicationDescription', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=7665") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7665") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12213") + node.BrowseName = ua.QualifiedName.from_string("ServerOnNetwork") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("ServerOnNetwork") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('ServerOnNetwork', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12213") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12213") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=7662") + node.BrowseName = ua.QualifiedName.from_string("UserTokenPolicy") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("UserTokenPolicy") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('UserTokenPolicy', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=7662") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7662") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=7668") + node.BrowseName = ua.QualifiedName.from_string("EndpointDescription") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("EndpointDescription") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('EndpointDescription', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=7668") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7668") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=7782") + node.BrowseName = ua.QualifiedName.from_string("RegisteredServer") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("RegisteredServer") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('RegisteredServer', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=7782") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7782") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12902") + node.BrowseName = ua.QualifiedName.from_string("DiscoveryConfiguration") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("DiscoveryConfiguration") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('DiscoveryConfiguration', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12902") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12902") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12905") + node.BrowseName = ua.QualifiedName.from_string("MdnsDiscoveryConfiguration") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("MdnsDiscoveryConfiguration") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('MdnsDiscoveryConfiguration', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12905") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12905") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=7698") + node.BrowseName = ua.QualifiedName.from_string("SignedSoftwareCertificate") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("SignedSoftwareCertificate") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('SignedSoftwareCertificate', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=7698") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7698") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=7671") + node.BrowseName = ua.QualifiedName.from_string("UserIdentityToken") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("UserIdentityToken") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('UserIdentityToken', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=7671") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7671") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=7674") + node.BrowseName = ua.QualifiedName.from_string("AnonymousIdentityToken") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("AnonymousIdentityToken") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('AnonymousIdentityToken', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=7674") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7674") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=7677") + node.BrowseName = ua.QualifiedName.from_string("UserNameIdentityToken") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("UserNameIdentityToken") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('UserNameIdentityToken', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=7677") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7677") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=7680") + node.BrowseName = ua.QualifiedName.from_string("X509IdentityToken") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("X509IdentityToken") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('X509IdentityToken', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=7680") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7680") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=7683") + node.BrowseName = ua.QualifiedName.from_string("IssuedIdentityToken") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("IssuedIdentityToken") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('IssuedIdentityToken', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=7683") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7683") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=7728") + node.BrowseName = ua.QualifiedName.from_string("AddNodesItem") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("AddNodesItem") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('AddNodesItem', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=7728") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7728") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=7731") + node.BrowseName = ua.QualifiedName.from_string("AddReferencesItem") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("AddReferencesItem") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('AddReferencesItem', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=7731") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7731") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=7734") + node.BrowseName = ua.QualifiedName.from_string("DeleteNodesItem") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("DeleteNodesItem") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('DeleteNodesItem', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=7734") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7734") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=7737") + node.BrowseName = ua.QualifiedName.from_string("DeleteReferencesItem") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("DeleteReferencesItem") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('DeleteReferencesItem', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=7737") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7737") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12718") + node.BrowseName = ua.QualifiedName.from_string("RelativePathElement") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("RelativePathElement") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('RelativePathElement', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12718") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12718") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12721") + node.BrowseName = ua.QualifiedName.from_string("RelativePath") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("RelativePath") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('RelativePath', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12721") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12721") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=7686") + node.BrowseName = ua.QualifiedName.from_string("EndpointConfiguration") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("EndpointConfiguration") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('EndpointConfiguration', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=7686") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7686") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=7929") + node.BrowseName = ua.QualifiedName.from_string("ContentFilterElement") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("ContentFilterElement") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('ContentFilterElement', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=7929") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7929") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=7932") + node.BrowseName = ua.QualifiedName.from_string("ContentFilter") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("ContentFilter") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('ContentFilter', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=7932") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7932") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=7935") + node.BrowseName = ua.QualifiedName.from_string("FilterOperand") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("FilterOperand") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('FilterOperand', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=7935") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7935") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=7938") + node.BrowseName = ua.QualifiedName.from_string("ElementOperand") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("ElementOperand") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('ElementOperand', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=7938") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7938") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=7941") + node.BrowseName = ua.QualifiedName.from_string("LiteralOperand") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("LiteralOperand") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('LiteralOperand', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=7941") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7941") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=7944") + node.BrowseName = ua.QualifiedName.from_string("AttributeOperand") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("AttributeOperand") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('AttributeOperand', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=7944") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7944") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=7947") + node.BrowseName = ua.QualifiedName.from_string("SimpleAttributeOperand") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("SimpleAttributeOperand") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('SimpleAttributeOperand', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=7947") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7947") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=8004") + node.BrowseName = ua.QualifiedName.from_string("HistoryEvent") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("HistoryEvent") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('HistoryEvent', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=8004") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8004") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=8067") + node.BrowseName = ua.QualifiedName.from_string("MonitoringFilter") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("MonitoringFilter") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('MonitoringFilter', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=8067") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8067") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=8073") + node.BrowseName = ua.QualifiedName.from_string("EventFilter") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("EventFilter") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('EventFilter', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=8073") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8073") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=8076") + node.BrowseName = ua.QualifiedName.from_string("AggregateConfiguration") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("AggregateConfiguration") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('AggregateConfiguration', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=8076") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8076") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=8172") + node.BrowseName = ua.QualifiedName.from_string("HistoryEventFieldList") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("HistoryEventFieldList") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('HistoryEventFieldList', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=8172") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8172") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=7692") + node.BrowseName = ua.QualifiedName.from_string("BuildInfo") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("BuildInfo") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('BuildInfo', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=7692") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7692") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=8208") + node.BrowseName = ua.QualifiedName.from_string("RedundantServerDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("RedundantServerDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('RedundantServerDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=8208") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8208") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=11959") + node.BrowseName = ua.QualifiedName.from_string("EndpointUrlListDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("EndpointUrlListDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('EndpointUrlListDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=11959") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=11959") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=11962") + node.BrowseName = ua.QualifiedName.from_string("NetworkGroupDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("NetworkGroupDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('NetworkGroupDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=11962") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=11962") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=8211") + node.BrowseName = ua.QualifiedName.from_string("SamplingIntervalDiagnosticsDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("SamplingIntervalDiagnosticsDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('SamplingIntervalDiagnosticsDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=8211") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8211") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=8214") + node.BrowseName = ua.QualifiedName.from_string("ServerDiagnosticsSummaryDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("ServerDiagnosticsSummaryDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('ServerDiagnosticsSummaryDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=8214") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8214") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=8217") + node.BrowseName = ua.QualifiedName.from_string("ServerStatusDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("ServerStatusDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('ServerStatusDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=8217") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8217") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=8220") + node.BrowseName = ua.QualifiedName.from_string("SessionDiagnosticsDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("SessionDiagnosticsDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('SessionDiagnosticsDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=8220") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8220") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=8223") + node.BrowseName = ua.QualifiedName.from_string("SessionSecurityDiagnosticsDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("SessionSecurityDiagnosticsDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('SessionSecurityDiagnosticsDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=8223") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8223") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=8226") + node.BrowseName = ua.QualifiedName.from_string("ServiceCounterDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("ServiceCounterDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('ServiceCounterDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=8226") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8226") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=7659") + node.BrowseName = ua.QualifiedName.from_string("StatusResult") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("StatusResult") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('StatusResult', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=7659") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=7659") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=8229") + node.BrowseName = ua.QualifiedName.from_string("SubscriptionDiagnosticsDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("SubscriptionDiagnosticsDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('SubscriptionDiagnosticsDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=8229") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8229") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=8232") + node.BrowseName = ua.QualifiedName.from_string("ModelChangeStructureDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("ModelChangeStructureDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('ModelChangeStructureDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=8232") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8232") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=8235") + node.BrowseName = ua.QualifiedName.from_string("SemanticChangeStructureDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("SemanticChangeStructureDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('SemanticChangeStructureDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=8235") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8235") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=8238") + node.BrowseName = ua.QualifiedName.from_string("Range") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Range") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('Range', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=8238") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8238") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=8241") + node.BrowseName = ua.QualifiedName.from_string("EUInformation") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("EUInformation") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('EUInformation', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=8241") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8241") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12183") + node.BrowseName = ua.QualifiedName.from_string("ComplexNumberType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("ComplexNumberType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('ComplexNumberType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12183") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12183") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12186") + node.BrowseName = ua.QualifiedName.from_string("DoubleComplexNumberType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("DoubleComplexNumberType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('DoubleComplexNumberType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12186") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12186") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12091") + node.BrowseName = ua.QualifiedName.from_string("AxisInformation") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("AxisInformation") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('AxisInformation', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12091") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12091") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12094") + node.BrowseName = ua.QualifiedName.from_string("XVType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("XVType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('XVType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12094") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12094") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=8247") + node.BrowseName = ua.QualifiedName.from_string("ProgramDiagnosticDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("ProgramDiagnosticDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('ProgramDiagnosticDataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=8247") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8247") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15398") + node.BrowseName = ua.QualifiedName.from_string("ProgramDiagnostic2DataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("ProgramDiagnostic2DataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('ProgramDiagnostic2DataType', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15398") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15398") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=8244") + node.BrowseName = ua.QualifiedName.from_string("Annotation") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Annotation") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('Annotation', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=8244") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8244") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=7617") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=14802") + node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=14533") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=14802") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=14533") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=14802") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=14829") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=14802") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15949") + node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=15528") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15949") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15528") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=15949") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16024") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15949") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15728") + node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=15634") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15728") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15634") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=15728") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15730") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15728") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=339") + node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=338") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=339") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=338") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=339") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8327") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=339") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=854") + node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=853") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=854") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=853") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=854") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8843") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=854") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=11949") + node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=11943") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=11949") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11943") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=11949") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11951") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=11949") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=11950") + node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=11944") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=11950") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11944") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=11950") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11954") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=11950") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=857") + node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=856") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=857") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=856") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=857") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8846") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=857") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=860") + node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=859") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=860") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=859") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=860") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8849") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=860") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=863") + node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=862") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=863") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=862") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=863") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8852") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=863") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=866") + node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=865") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=866") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=865") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=866") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8855") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=866") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=869") + node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=868") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=869") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=868") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=869") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8858") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=869") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=872") + node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=871") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=872") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=871") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=872") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8861") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=872") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=300") + node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=299") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=300") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=299") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=300") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8294") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=300") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=875") + node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=874") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=875") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=874") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=875") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8864") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=875") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=878") + node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=877") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=878") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=877") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=878") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8867") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=878") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=898") + node.BrowseName = ua.QualifiedName.from_string("Default XML") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=897") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=898") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=897") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=39") + ref.SourceNodeId = ua.NodeId.from_string("i=898") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8870") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=898") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=8252") + node.BrowseName = ua.QualifiedName.from_string("Opc.Ua") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=92") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=72") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Opc.Ua") + attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) + attrs.Value = ua.Variant(b'\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n true\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n true\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n true\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The type of identifier used in a node id.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A mask specifying the class of the node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to all nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to object nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to object type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to variable nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to variable type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to reference type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to method nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies a reference which belongs to a node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n An argument for a method.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A mapping between a value of an enumerated type and a name and description.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n This abstract DataType is the base DataType for all union DataTypes.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n The types of applications.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Describes an application and how to find it.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The header passed with every server request.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The header passed with every server response.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n The response returned by all services when there is a service level error.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Finds the servers known to the discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Finds the servers known to the discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n The type of security to use on a message.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The possible user token types.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Describes a user token that can be used with a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The description of a endpoint that can be used to access a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Gets the endpoints used by the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Gets the endpoints used by the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The information required to register a server with a discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Registers a server with the discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Registers a server with the discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A base type for discovery configuration information.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The discovery information needed for mDNS registration.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Indicates whether a token if being created or renewed.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The token that identifies a set of keys for an active secure channel.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Creates a secure channel with a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Creates a secure channel with a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Closes a secure channel.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Closes a secure channel.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A software certificate with a digital signature.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n A digital signature.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Creates a new session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Creates a new session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A base type for a user identity token.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A token representing an anonymous user.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A token representing a user identified by a user name and password.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A token representing a user identified by an X509 certificate.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A token representing a user identified by a WS-Security XML token.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Activates a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Activates a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Closes a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Closes a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Cancels an outstanding request.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Cancels an outstanding request.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The bits used to specify default attributes for a new node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The base attributes for all nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for an object node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a variable node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a method node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for an object type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a variable type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a reference type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a data type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a view node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to add a node to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A result of an add node operation.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Adds one or more nodes to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Adds one or more nodes to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to add a reference to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Adds one or more references to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Adds one or more references to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to delete a node to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Delete one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Delete one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to delete a node from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Delete one or more references from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Delete one or more references from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Define bits used to indicate which attributes are writable.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The directions of the references to return.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The view to browse.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to browse the the references from a node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A bit mask which specifies what should be returned in a browse response.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The description of a reference.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n The result of a browse operation.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Browse the references for one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Browse the references for one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Continues one or more browse operations.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Continues one or more browse operations.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n An element in a relative path.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A relative path constructed from reference types and browse names.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to translate a path into a node id.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The target of the translated path.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The result of a translate opearation.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Translates one or more paths in the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Translates one or more paths in the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Registers one or more nodes for repeated use within a session.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Registers one or more nodes for repeated use within a session.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Unregisters one or more previously registered nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Unregisters one or more previously registered nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n', ua.VariantType.ByteString) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8254") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15039") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=14829") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16024") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15730") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12677") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16027") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=14811") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15591") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15594") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15585") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15588") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=14805") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=14808") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=14832") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16030") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16033") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=14320") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16037") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16040") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16047") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16050") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16053") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16056") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=21180") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16062") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16065") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16068") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16071") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=21183") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=21186") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=21189") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16077") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16080") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16083") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16086") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16089") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16092") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16095") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=14835") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16098") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=21192") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16104") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16107") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16110") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16113") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16116") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16119") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=17473") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=21195") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15640") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16125") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16144") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16147") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16127") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=18166") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=18169") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=18172") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=18175") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8285") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8291") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=14826") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12759") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12762") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8918") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8300") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12201") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8297") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8303") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8417") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12894") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12897") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8333") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8306") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8309") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8312") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8315") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8318") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8363") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8366") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8369") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8372") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12712") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12715") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8321") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8564") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8567") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8570") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8573") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8576") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8579") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8582") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8639") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8702") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8708") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8711") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8807") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8327") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8843") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11951") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11954") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8846") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8849") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8852") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8855") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8858") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8861") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8294") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8864") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8867") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8870") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8873") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8876") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12175") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12178") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12083") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=12086") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8882") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15402") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8879") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=92") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=8252") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=72") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=8254") + node.BrowseName = ua.QualifiedName.from_string("NamespaceUri") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.Description = ua.LocalizedText("A URI that uniquely identifies the dictionary.") + attrs.DisplayName = ua.LocalizedText("NamespaceUri") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant('http://opcfoundation.org/UA/2008/02/Types.xsd', ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=8254") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=8254") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8252") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15039") + node.BrowseName = ua.QualifiedName.from_string("Deprecated") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.Description = ua.LocalizedText("Indicates that all of the definitions for the dictionary are available through a DataTypeDefinition Attribute.") + attrs.DisplayName = ua.LocalizedText("Deprecated") + attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) + attrs.Value = ua.Variant(True, ua.VariantType.Boolean) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15039") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=15039") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8252") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=14829") + node.BrowseName = ua.QualifiedName.from_string("KeyValuePair") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("KeyValuePair") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='KeyValuePair']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=14829") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=14829") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8252") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16024") + node.BrowseName = ua.QualifiedName.from_string("EndpointType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("EndpointType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='EndpointType']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16024") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16024") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8252") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15730") + node.BrowseName = ua.QualifiedName.from_string("IdentityMappingRuleType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("IdentityMappingRuleType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='IdentityMappingRuleType']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15730") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15730") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8252") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12677") + node.BrowseName = ua.QualifiedName.from_string("TrustListDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("TrustListDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='TrustListDataType']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12677") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=12677") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8252") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16027") + node.BrowseName = ua.QualifiedName.from_string("DataTypeSchemaHeader") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("DataTypeSchemaHeader") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='DataTypeSchemaHeader']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16027") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16027") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8252") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=14811") + node.BrowseName = ua.QualifiedName.from_string("DataTypeDescription") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("DataTypeDescription") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='DataTypeDescription']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=14811") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=14811") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8252") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15591") + node.BrowseName = ua.QualifiedName.from_string("StructureDescription") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("StructureDescription") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='StructureDescription']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15591") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15591") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8252") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15594") + node.BrowseName = ua.QualifiedName.from_string("EnumDescription") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("EnumDescription") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='EnumDescription']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15594") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15594") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8252") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15585") + node.BrowseName = ua.QualifiedName.from_string("SimpleTypeDescription") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("SimpleTypeDescription") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='SimpleTypeDescription']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15585") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15585") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8252") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15588") + node.BrowseName = ua.QualifiedName.from_string("UABinaryFileDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("UABinaryFileDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='UABinaryFileDataType']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15588") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=15588") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8252") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=14805") + node.BrowseName = ua.QualifiedName.from_string("DataSetMetaDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("DataSetMetaDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='DataSetMetaDataType']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=14805") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=14805") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8252") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=14808") + node.BrowseName = ua.QualifiedName.from_string("FieldMetaData") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("FieldMetaData") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='FieldMetaData']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=14808") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=14808") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8252") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=14832") + node.BrowseName = ua.QualifiedName.from_string("ConfigurationVersionDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("ConfigurationVersionDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='ConfigurationVersionDataType']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=14832") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=14832") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8252") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16030") + node.BrowseName = ua.QualifiedName.from_string("PublishedDataSetDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("PublishedDataSetDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='PublishedDataSetDataType']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16030") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16030") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8252") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16033") + node.BrowseName = ua.QualifiedName.from_string("PublishedDataSetSourceDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("PublishedDataSetSourceDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='PublishedDataSetSourceDataType']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16033") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16033") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8252") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=14320") + node.BrowseName = ua.QualifiedName.from_string("PublishedVariableDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("PublishedVariableDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='PublishedVariableDataType']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=14320") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=14320") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8252") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16037") + node.BrowseName = ua.QualifiedName.from_string("PublishedDataItemsDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("PublishedDataItemsDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='PublishedDataItemsDataType']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16037") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16037") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8252") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16040") + node.BrowseName = ua.QualifiedName.from_string("PublishedEventsDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("PublishedEventsDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='PublishedEventsDataType']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16040") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16040") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8252") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16047") + node.BrowseName = ua.QualifiedName.from_string("DataSetWriterDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("DataSetWriterDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='DataSetWriterDataType']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16047") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16047") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8252") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16050") + node.BrowseName = ua.QualifiedName.from_string("DataSetWriterTransportDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("DataSetWriterTransportDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='DataSetWriterTransportDataType']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16050") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16050") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8252") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16053") + node.BrowseName = ua.QualifiedName.from_string("DataSetWriterMessageDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("DataSetWriterMessageDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='DataSetWriterMessageDataType']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16053") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16053") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8252") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16056") + node.BrowseName = ua.QualifiedName.from_string("PubSubGroupDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("PubSubGroupDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='PubSubGroupDataType']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16056") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16056") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8252") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=21180") + node.BrowseName = ua.QualifiedName.from_string("WriterGroupDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("WriterGroupDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='WriterGroupDataType']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=21180") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=21180") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8252") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16062") + node.BrowseName = ua.QualifiedName.from_string("WriterGroupTransportDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("WriterGroupTransportDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='WriterGroupTransportDataType']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16062") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16062") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8252") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16065") + node.BrowseName = ua.QualifiedName.from_string("WriterGroupMessageDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("WriterGroupMessageDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='WriterGroupMessageDataType']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16065") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16065") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8252") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16068") + node.BrowseName = ua.QualifiedName.from_string("PubSubConnectionDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("PubSubConnectionDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='PubSubConnectionDataType']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16068") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16068") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8252") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16071") + node.BrowseName = ua.QualifiedName.from_string("ConnectionTransportDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("ConnectionTransportDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='ConnectionTransportDataType']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16071") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16071") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8252") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=21183") + node.BrowseName = ua.QualifiedName.from_string("NetworkAddressDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("NetworkAddressDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='NetworkAddressDataType']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=21183") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=21183") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8252") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=21186") + node.BrowseName = ua.QualifiedName.from_string("NetworkAddressUrlDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("NetworkAddressUrlDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='NetworkAddressUrlDataType']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=21186") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=21186") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8252") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=21189") + node.BrowseName = ua.QualifiedName.from_string("ReaderGroupDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("ReaderGroupDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='ReaderGroupDataType']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=21189") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=21189") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7617") - node.BrowseName = ua.QualifiedName.from_string("Opc.Ua") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16077") + node.BrowseName = ua.QualifiedName.from_string("ReaderGroupTransportDataType") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=93") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=72") + node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Opc.Ua") - attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) - attrs.Value = ua.Variant(b'\r\n\r\n \r\n\r\n \r\n An XML element encoded as a UTF-8 string.\r\n \r\n \r\n \r\n\r\n \r\n The possible encodings for a NodeId value.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n An identifier for a node in a UA server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n An identifier for a node in a UA server address space qualified with a complete namespace string.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A 32-bit status code value.\r\n \r\n\r\n \r\n A recursive structure containing diagnostic information associated with a status code.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A string qualified with a namespace index.\r\n \r\n \r\n \r\n\r\n \r\n A string qualified with a namespace index.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A value with an associated timestamp, and quality.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A serialized object prefixed with its data type identifier.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A union of several types.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n An image encoded in BMP format.\r\n \r\n\r\n \r\n An image encoded in GIF format.\r\n \r\n\r\n \r\n An image encoded in JPEG format.\r\n \r\n\r\n \r\n An image encoded in PNG format.\r\n \r\n\r\n \r\n A mask of 32 bits that can be updated individually by using the top 32 bits as a mask.\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The type of identifier used in a node id.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A mask specifying the class of the node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to all nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to object nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to object type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to variable nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to variable type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to reference type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to method nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies a reference which belongs to a node.\r\n \r\n \r\n \r\n \r\n\r\n \r\n An argument for a method.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A mapping between a value of an enumerated type and a name and description.\r\n \r\n \r\n \r\n \r\n\r\n \r\n This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask.\r\n \r\n \r\n \r\n\r\n \r\n This abstract DataType is the base DataType for all union DataTypes.\r\n \r\n\r\n \r\n A string normalized based on the rules in the unicode specification.\r\n \r\n\r\n \r\n An arbitraty numeric value.\r\n \r\n\r\n \r\n A period of time formatted as defined in ISO 8601-2000.\r\n \r\n\r\n \r\n A time formatted as defined in ISO 8601-2000.\r\n \r\n\r\n \r\n A date formatted as defined in ISO 8601-2000.\r\n \r\n\r\n \r\n A period of time measured in milliseconds.\r\n \r\n\r\n \r\n A date/time value specified in Universal Coordinated Time (UTC).\r\n \r\n\r\n \r\n An identifier for a user locale.\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n A numeric identifier for an object.\r\n \r\n\r\n \r\n The types of applications.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Describes an application and how to find it.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The header passed with every server request.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The header passed with every server response.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The response returned by all services when there is a service level error.\r\n \r\n \r\n\r\n \r\n Finds the servers known to the discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Finds the servers known to the discovery server.\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A certificate for an instance of an application.\r\n \r\n\r\n \r\n The type of security to use on a message.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The possible user token types.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Describes a user token that can be used with a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The description of a endpoint that can be used to access a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Gets the endpoints used by the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Gets the endpoints used by the server.\r\n \r\n \r\n \r\n \r\n\r\n \r\n The information required to register a server with a discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Registers a server with the discovery server.\r\n \r\n \r\n \r\n\r\n \r\n Registers a server with the discovery server.\r\n \r\n \r\n\r\n \r\n A base type for discovery configuration information.\r\n \r\n\r\n \r\n The discovery information needed for mDNS registration.\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Indicates whether a token if being created or renewed.\r\n \r\n \r\n \r\n\r\n \r\n The token that identifies a set of keys for an active secure channel.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Creates a secure channel with a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Creates a secure channel with a server.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Closes a secure channel.\r\n \r\n \r\n\r\n \r\n Closes a secure channel.\r\n \r\n \r\n\r\n \r\n A software certificate with a digital signature.\r\n \r\n \r\n \r\n\r\n \r\n A unique identifier for a session used to authenticate requests.\r\n \r\n\r\n \r\n A digital signature.\r\n \r\n \r\n \r\n\r\n \r\n Creates a new session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Creates a new session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A base type for a user identity token.\r\n \r\n \r\n\r\n \r\n A token representing an anonymous user.\r\n \r\n \r\n\r\n \r\n A token representing a user identified by a user name and password.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A token representing a user identified by an X509 certificate.\r\n \r\n \r\n \r\n\r\n \r\n A token representing a user identified by a WS-Security XML token.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Activates a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Activates a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Closes a session with the server.\r\n \r\n \r\n \r\n\r\n \r\n Closes a session with the server.\r\n \r\n \r\n\r\n \r\n Cancels an outstanding request.\r\n \r\n \r\n \r\n\r\n \r\n Cancels an outstanding request.\r\n \r\n \r\n \r\n\r\n \r\n The bits used to specify default attributes for a new node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The base attributes for all nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for an object node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a variable node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a method node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for an object type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a variable type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a reference type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a data type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a view node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A request to add a node to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A result of an add node operation.\r\n \r\n \r\n \r\n\r\n \r\n Adds one or more nodes to the server address space.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Adds one or more nodes to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A request to add a reference to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Adds one or more references to the server address space.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Adds one or more references to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A request to delete a node to the server address space.\r\n \r\n \r\n \r\n\r\n \r\n Delete one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Delete one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A request to delete a node from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Delete one or more references from the server address space.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Delete one or more references from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Define bits used to indicate which attributes are writable.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The directions of the references to return.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The view to browse.\r\n \r\n \r\n \r\n \r\n\r\n \r\n A request to browse the the references from a node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A bit mask which specifies what should be returned in a browse response.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The description of a reference.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n An identifier for a suspended query or browse operation.\r\n \r\n\r\n \r\n The result of a browse operation.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Browse the references for one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Browse the references for one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Continues one or more browse operations.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Continues one or more browse operations.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n An element in a relative path.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A relative path constructed from reference types and browse names.\r\n \r\n \r\n \r\n\r\n \r\n A request to translate a path into a node id.\r\n \r\n \r\n \r\n\r\n \r\n The target of the translated path.\r\n \r\n \r\n \r\n\r\n \r\n The result of a translate opearation.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Translates one or more paths in the server address space.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Translates one or more paths in the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Registers one or more nodes for repeated use within a session.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Registers one or more nodes for repeated use within a session.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Unregisters one or more previously registered nodes.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Unregisters one or more previously registered nodes.\r\n \r\n \r\n\r\n \r\n A monotonically increasing value.\r\n \r\n\r\n \r\n Specifies a range of array indexes.\r\n \r\n\r\n \r\n A time value specified as HH:MM:SS.SSS.\r\n \r\n\r\n \r\n A date value.\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n', ua.VariantType.ByteString) + attrs.DisplayName = ua.LocalizedText("ReaderGroupTransportDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='ReaderGroupTransportDataType']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16077") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7619") + ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.SourceNodeId = ua.NodeId.from_string("i=16077") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12681") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16080") + node.BrowseName = ua.QualifiedName.from_string("ReaderGroupMessageDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("ReaderGroupMessageDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='ReaderGroupMessageDataType']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16080") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7650") + ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.SourceNodeId = ua.NodeId.from_string("i=16080") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7656") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16083") + node.BrowseName = ua.QualifiedName.from_string("DataSetReaderDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("DataSetReaderDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='DataSetReaderDataType']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16083") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12767") + ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.SourceNodeId = ua.NodeId.from_string("i=16083") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12770") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16086") + node.BrowseName = ua.QualifiedName.from_string("DataSetReaderTransportDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("DataSetReaderTransportDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='DataSetReaderTransportDataType']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16086") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8914") + ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.SourceNodeId = ua.NodeId.from_string("i=16086") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7665") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16089") + node.BrowseName = ua.QualifiedName.from_string("DataSetReaderMessageDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("DataSetReaderMessageDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='DataSetReaderMessageDataType']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16089") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12213") + ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.SourceNodeId = ua.NodeId.from_string("i=16089") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7662") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16092") + node.BrowseName = ua.QualifiedName.from_string("SubscribedDataSetDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("SubscribedDataSetDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='SubscribedDataSetDataType']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16092") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7668") + ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.SourceNodeId = ua.NodeId.from_string("i=16092") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7782") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16095") + node.BrowseName = ua.QualifiedName.from_string("TargetVariablesDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("TargetVariablesDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='TargetVariablesDataType']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16095") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12902") + ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.SourceNodeId = ua.NodeId.from_string("i=16095") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12905") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=14835") + node.BrowseName = ua.QualifiedName.from_string("FieldTargetDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("FieldTargetDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='FieldTargetDataType']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=14835") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7698") + ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.SourceNodeId = ua.NodeId.from_string("i=14835") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7671") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16098") + node.BrowseName = ua.QualifiedName.from_string("SubscribedDataSetMirrorDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("SubscribedDataSetMirrorDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='SubscribedDataSetMirrorDataType']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16098") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7674") + ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.SourceNodeId = ua.NodeId.from_string("i=16098") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7677") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=21192") + node.BrowseName = ua.QualifiedName.from_string("PubSubConfigurationDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("PubSubConfigurationDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='PubSubConfigurationDataType']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=21192") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7680") + ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.SourceNodeId = ua.NodeId.from_string("i=21192") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7683") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16104") + node.BrowseName = ua.QualifiedName.from_string("UadpWriterGroupMessageDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("UadpWriterGroupMessageDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='UadpWriterGroupMessageDataType']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16104") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7728") + ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.SourceNodeId = ua.NodeId.from_string("i=16104") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7731") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16107") + node.BrowseName = ua.QualifiedName.from_string("UadpDataSetWriterMessageDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("UadpDataSetWriterMessageDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='UadpDataSetWriterMessageDataType']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16107") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7734") + ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.SourceNodeId = ua.NodeId.from_string("i=16107") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7737") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16110") + node.BrowseName = ua.QualifiedName.from_string("UadpDataSetReaderMessageDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("UadpDataSetReaderMessageDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='UadpDataSetReaderMessageDataType']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16110") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12718") + ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.SourceNodeId = ua.NodeId.from_string("i=16110") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12721") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16113") + node.BrowseName = ua.QualifiedName.from_string("JsonWriterGroupMessageDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("JsonWriterGroupMessageDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='JsonWriterGroupMessageDataType']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16113") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7686") + ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.SourceNodeId = ua.NodeId.from_string("i=16113") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7929") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16116") + node.BrowseName = ua.QualifiedName.from_string("JsonDataSetWriterMessageDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("JsonDataSetWriterMessageDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='JsonDataSetWriterMessageDataType']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16116") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.SourceNodeId = ua.NodeId.from_string("i=16116") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7932") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16119") + node.BrowseName = ua.QualifiedName.from_string("JsonDataSetReaderMessageDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("JsonDataSetReaderMessageDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='JsonDataSetReaderMessageDataType']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16119") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.SourceNodeId = ua.NodeId.from_string("i=16119") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7935") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=17473") + node.BrowseName = ua.QualifiedName.from_string("DatagramConnectionTransportDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("DatagramConnectionTransportDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='DatagramConnectionTransportDataType']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=17473") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.SourceNodeId = ua.NodeId.from_string("i=17473") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7938") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=21195") + node.BrowseName = ua.QualifiedName.from_string("DatagramWriterGroupTransportDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("DatagramWriterGroupTransportDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='DatagramWriterGroupTransportDataType']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=21195") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.SourceNodeId = ua.NodeId.from_string("i=21195") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7941") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15640") + node.BrowseName = ua.QualifiedName.from_string("BrokerConnectionTransportDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("BrokerConnectionTransportDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='BrokerConnectionTransportDataType']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15640") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.SourceNodeId = ua.NodeId.from_string("i=15640") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7944") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16125") + node.BrowseName = ua.QualifiedName.from_string("BrokerWriterGroupTransportDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("BrokerWriterGroupTransportDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='BrokerWriterGroupTransportDataType']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16125") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.SourceNodeId = ua.NodeId.from_string("i=16125") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7947") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16144") + node.BrowseName = ua.QualifiedName.from_string("BrokerDataSetWriterTransportDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("BrokerDataSetWriterTransportDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='BrokerDataSetWriterTransportDataType']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16144") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.SourceNodeId = ua.NodeId.from_string("i=16144") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8004") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16147") + node.BrowseName = ua.QualifiedName.from_string("BrokerDataSetReaderTransportDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("BrokerDataSetReaderTransportDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='BrokerDataSetReaderTransportDataType']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16147") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=69") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.SourceNodeId = ua.NodeId.from_string("i=16147") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8067") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16127") + node.BrowseName = ua.QualifiedName.from_string("RolePermissionType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("RolePermissionType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='RolePermissionType']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16127") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8073") + ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.SourceNodeId = ua.NodeId.from_string("i=16127") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8076") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=18166") + node.BrowseName = ua.QualifiedName.from_string("DataTypeDefinition") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("DataTypeDefinition") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='DataTypeDefinition']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=18166") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8172") + ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.SourceNodeId = ua.NodeId.from_string("i=18166") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7692") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=18169") + node.BrowseName = ua.QualifiedName.from_string("StructureField") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("StructureField") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='StructureField']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=18169") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8208") + ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.SourceNodeId = ua.NodeId.from_string("i=18169") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11959") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=18172") + node.BrowseName = ua.QualifiedName.from_string("StructureDefinition") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("StructureDefinition") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='StructureDefinition']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=18172") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11962") + ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.SourceNodeId = ua.NodeId.from_string("i=18172") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8211") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=18175") + node.BrowseName = ua.QualifiedName.from_string("EnumDefinition") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("EnumDefinition") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='EnumDefinition']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=18175") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8214") + ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.SourceNodeId = ua.NodeId.from_string("i=18175") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8217") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=8285") + node.BrowseName = ua.QualifiedName.from_string("Argument") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Argument") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='Argument']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=8285") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8220") + ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.SourceNodeId = ua.NodeId.from_string("i=8285") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8223") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=8291") + node.BrowseName = ua.QualifiedName.from_string("EnumValueType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("EnumValueType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='EnumValueType']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=8291") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8226") + ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.SourceNodeId = ua.NodeId.from_string("i=8291") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7659") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=14826") + node.BrowseName = ua.QualifiedName.from_string("EnumField") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("EnumField") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='EnumField']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=14826") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8229") + ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.SourceNodeId = ua.NodeId.from_string("i=14826") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8232") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12759") + node.BrowseName = ua.QualifiedName.from_string("OptionSet") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("OptionSet") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='OptionSet']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12759") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8235") + ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.SourceNodeId = ua.NodeId.from_string("i=12759") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8238") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12762") + node.BrowseName = ua.QualifiedName.from_string("Union") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Union") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='Union']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12762") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8241") + ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.SourceNodeId = ua.NodeId.from_string("i=12762") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12183") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=8918") + node.BrowseName = ua.QualifiedName.from_string("TimeZoneDataType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("TimeZoneDataType") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='TimeZoneDataType']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=8918") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12186") + ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.SourceNodeId = ua.NodeId.from_string("i=8918") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12091") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=8300") + node.BrowseName = ua.QualifiedName.from_string("ApplicationDescription") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("ApplicationDescription") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='ApplicationDescription']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=8300") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12094") + ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.SourceNodeId = ua.NodeId.from_string("i=8300") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8247") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=12201") + node.BrowseName = ua.QualifiedName.from_string("ServerOnNetwork") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("ServerOnNetwork") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) + attrs.Value = ua.Variant("//xs:element[@name='ServerOnNetwork']", ua.VariantType.String) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=12201") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8244") + ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=93") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") + ref.SourceNodeId = ua.NodeId.from_string("i=12201") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=72") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7619") - node.BrowseName = ua.QualifiedName.from_string("NamespaceUri") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8297") + node.BrowseName = ua.QualifiedName.from_string("UserTokenPolicy") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.ParentNodeId = ua.NodeId.from_string("i=8252") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A URI that uniquely identifies the dictionary.") - attrs.DisplayName = ua.LocalizedText("NamespaceUri") + attrs.DisplayName = ua.LocalizedText("UserTokenPolicy") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("http://opcfoundation.org/UA/", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='UserTokenPolicy']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -38732,30 +52804,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7619") + ref.SourceNodeId = ua.NodeId.from_string("i=8297") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=7619") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=8297") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12681") - node.BrowseName = ua.QualifiedName.from_string("TrustListDataType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8303") + node.BrowseName = ua.QualifiedName.from_string("EndpointDescription") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TrustListDataType") + attrs.DisplayName = ua.LocalizedText("EndpointDescription") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("TrustListDataType", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='EndpointDescription']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -38763,30 +52835,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12681") + ref.SourceNodeId = ua.NodeId.from_string("i=8303") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12681") + ref.SourceNodeId = ua.NodeId.from_string("i=8303") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7650") - node.BrowseName = ua.QualifiedName.from_string("Argument") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8417") + node.BrowseName = ua.QualifiedName.from_string("RegisteredServer") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Argument") + attrs.DisplayName = ua.LocalizedText("RegisteredServer") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("Argument", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='RegisteredServer']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -38794,30 +52866,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7650") + ref.SourceNodeId = ua.NodeId.from_string("i=8417") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7650") + ref.SourceNodeId = ua.NodeId.from_string("i=8417") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7656") - node.BrowseName = ua.QualifiedName.from_string("EnumValueType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12894") + node.BrowseName = ua.QualifiedName.from_string("DiscoveryConfiguration") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EnumValueType") + attrs.DisplayName = ua.LocalizedText("DiscoveryConfiguration") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("EnumValueType", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='DiscoveryConfiguration']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -38825,30 +52897,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7656") + ref.SourceNodeId = ua.NodeId.from_string("i=12894") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7656") + ref.SourceNodeId = ua.NodeId.from_string("i=12894") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12767") - node.BrowseName = ua.QualifiedName.from_string("OptionSet") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12897") + node.BrowseName = ua.QualifiedName.from_string("MdnsDiscoveryConfiguration") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OptionSet") + attrs.DisplayName = ua.LocalizedText("MdnsDiscoveryConfiguration") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("OptionSet", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='MdnsDiscoveryConfiguration']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -38856,30 +52928,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12767") + ref.SourceNodeId = ua.NodeId.from_string("i=12897") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12767") + ref.SourceNodeId = ua.NodeId.from_string("i=12897") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12770") - node.BrowseName = ua.QualifiedName.from_string("Union") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8333") + node.BrowseName = ua.QualifiedName.from_string("SignedSoftwareCertificate") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Union") + attrs.DisplayName = ua.LocalizedText("SignedSoftwareCertificate") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("Union", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='SignedSoftwareCertificate']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -38887,30 +52959,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12770") + ref.SourceNodeId = ua.NodeId.from_string("i=8333") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12770") + ref.SourceNodeId = ua.NodeId.from_string("i=8333") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8914") - node.BrowseName = ua.QualifiedName.from_string("TimeZoneDataType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8306") + node.BrowseName = ua.QualifiedName.from_string("UserIdentityToken") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TimeZoneDataType") + attrs.DisplayName = ua.LocalizedText("UserIdentityToken") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("TimeZoneDataType", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='UserIdentityToken']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -38918,30 +52990,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8914") + ref.SourceNodeId = ua.NodeId.from_string("i=8306") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8914") + ref.SourceNodeId = ua.NodeId.from_string("i=8306") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7665") - node.BrowseName = ua.QualifiedName.from_string("ApplicationDescription") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8309") + node.BrowseName = ua.QualifiedName.from_string("AnonymousIdentityToken") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ApplicationDescription") + attrs.DisplayName = ua.LocalizedText("AnonymousIdentityToken") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("ApplicationDescription", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='AnonymousIdentityToken']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -38949,30 +53021,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7665") + ref.SourceNodeId = ua.NodeId.from_string("i=8309") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7665") + ref.SourceNodeId = ua.NodeId.from_string("i=8309") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12213") - node.BrowseName = ua.QualifiedName.from_string("ServerOnNetwork") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8312") + node.BrowseName = ua.QualifiedName.from_string("UserNameIdentityToken") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ServerOnNetwork") + attrs.DisplayName = ua.LocalizedText("UserNameIdentityToken") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("ServerOnNetwork", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='UserNameIdentityToken']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -38980,30 +53052,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12213") + ref.SourceNodeId = ua.NodeId.from_string("i=8312") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12213") + ref.SourceNodeId = ua.NodeId.from_string("i=8312") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7662") - node.BrowseName = ua.QualifiedName.from_string("UserTokenPolicy") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8315") + node.BrowseName = ua.QualifiedName.from_string("X509IdentityToken") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("UserTokenPolicy") + attrs.DisplayName = ua.LocalizedText("X509IdentityToken") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("UserTokenPolicy", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='X509IdentityToken']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -39011,30 +53083,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7662") + ref.SourceNodeId = ua.NodeId.from_string("i=8315") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7662") + ref.SourceNodeId = ua.NodeId.from_string("i=8315") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7668") - node.BrowseName = ua.QualifiedName.from_string("EndpointDescription") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8318") + node.BrowseName = ua.QualifiedName.from_string("IssuedIdentityToken") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EndpointDescription") + attrs.DisplayName = ua.LocalizedText("IssuedIdentityToken") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("EndpointDescription", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='IssuedIdentityToken']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -39042,30 +53114,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7668") + ref.SourceNodeId = ua.NodeId.from_string("i=8318") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7668") + ref.SourceNodeId = ua.NodeId.from_string("i=8318") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7782") - node.BrowseName = ua.QualifiedName.from_string("RegisteredServer") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8363") + node.BrowseName = ua.QualifiedName.from_string("AddNodesItem") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RegisteredServer") + attrs.DisplayName = ua.LocalizedText("AddNodesItem") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("RegisteredServer", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='AddNodesItem']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -39073,30 +53145,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7782") + ref.SourceNodeId = ua.NodeId.from_string("i=8363") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7782") + ref.SourceNodeId = ua.NodeId.from_string("i=8363") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12902") - node.BrowseName = ua.QualifiedName.from_string("DiscoveryConfiguration") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8366") + node.BrowseName = ua.QualifiedName.from_string("AddReferencesItem") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DiscoveryConfiguration") + attrs.DisplayName = ua.LocalizedText("AddReferencesItem") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("DiscoveryConfiguration", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='AddReferencesItem']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -39104,30 +53176,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12902") + ref.SourceNodeId = ua.NodeId.from_string("i=8366") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12902") + ref.SourceNodeId = ua.NodeId.from_string("i=8366") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12905") - node.BrowseName = ua.QualifiedName.from_string("MdnsDiscoveryConfiguration") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8369") + node.BrowseName = ua.QualifiedName.from_string("DeleteNodesItem") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MdnsDiscoveryConfiguration") + attrs.DisplayName = ua.LocalizedText("DeleteNodesItem") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("MdnsDiscoveryConfiguration", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='DeleteNodesItem']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -39135,30 +53207,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12905") + ref.SourceNodeId = ua.NodeId.from_string("i=8369") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12905") + ref.SourceNodeId = ua.NodeId.from_string("i=8369") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7698") - node.BrowseName = ua.QualifiedName.from_string("SignedSoftwareCertificate") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8372") + node.BrowseName = ua.QualifiedName.from_string("DeleteReferencesItem") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SignedSoftwareCertificate") + attrs.DisplayName = ua.LocalizedText("DeleteReferencesItem") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("SignedSoftwareCertificate", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='DeleteReferencesItem']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -39166,30 +53238,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7698") + ref.SourceNodeId = ua.NodeId.from_string("i=8372") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7698") + ref.SourceNodeId = ua.NodeId.from_string("i=8372") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7671") - node.BrowseName = ua.QualifiedName.from_string("UserIdentityToken") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12712") + node.BrowseName = ua.QualifiedName.from_string("RelativePathElement") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("UserIdentityToken") + attrs.DisplayName = ua.LocalizedText("RelativePathElement") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("UserIdentityToken", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='RelativePathElement']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -39197,30 +53269,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7671") + ref.SourceNodeId = ua.NodeId.from_string("i=12712") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7671") + ref.SourceNodeId = ua.NodeId.from_string("i=12712") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7674") - node.BrowseName = ua.QualifiedName.from_string("AnonymousIdentityToken") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12715") + node.BrowseName = ua.QualifiedName.from_string("RelativePath") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AnonymousIdentityToken") + attrs.DisplayName = ua.LocalizedText("RelativePath") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("AnonymousIdentityToken", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='RelativePath']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -39228,30 +53300,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7674") + ref.SourceNodeId = ua.NodeId.from_string("i=12715") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7674") + ref.SourceNodeId = ua.NodeId.from_string("i=12715") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7677") - node.BrowseName = ua.QualifiedName.from_string("UserNameIdentityToken") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8321") + node.BrowseName = ua.QualifiedName.from_string("EndpointConfiguration") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("UserNameIdentityToken") + attrs.DisplayName = ua.LocalizedText("EndpointConfiguration") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("UserNameIdentityToken", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='EndpointConfiguration']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -39259,30 +53331,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7677") + ref.SourceNodeId = ua.NodeId.from_string("i=8321") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7677") + ref.SourceNodeId = ua.NodeId.from_string("i=8321") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7680") - node.BrowseName = ua.QualifiedName.from_string("X509IdentityToken") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8564") + node.BrowseName = ua.QualifiedName.from_string("ContentFilterElement") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("X509IdentityToken") + attrs.DisplayName = ua.LocalizedText("ContentFilterElement") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("X509IdentityToken", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='ContentFilterElement']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -39290,30 +53362,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7680") + ref.SourceNodeId = ua.NodeId.from_string("i=8564") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7680") + ref.SourceNodeId = ua.NodeId.from_string("i=8564") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7683") - node.BrowseName = ua.QualifiedName.from_string("IssuedIdentityToken") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8567") + node.BrowseName = ua.QualifiedName.from_string("ContentFilter") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("IssuedIdentityToken") + attrs.DisplayName = ua.LocalizedText("ContentFilter") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("IssuedIdentityToken", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='ContentFilter']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -39321,30 +53393,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7683") + ref.SourceNodeId = ua.NodeId.from_string("i=8567") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7683") + ref.SourceNodeId = ua.NodeId.from_string("i=8567") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7728") - node.BrowseName = ua.QualifiedName.from_string("AddNodesItem") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8570") + node.BrowseName = ua.QualifiedName.from_string("FilterOperand") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AddNodesItem") + attrs.DisplayName = ua.LocalizedText("FilterOperand") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("AddNodesItem", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='FilterOperand']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -39352,30 +53424,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7728") + ref.SourceNodeId = ua.NodeId.from_string("i=8570") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7728") + ref.SourceNodeId = ua.NodeId.from_string("i=8570") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7731") - node.BrowseName = ua.QualifiedName.from_string("AddReferencesItem") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8573") + node.BrowseName = ua.QualifiedName.from_string("ElementOperand") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AddReferencesItem") + attrs.DisplayName = ua.LocalizedText("ElementOperand") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("AddReferencesItem", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='ElementOperand']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -39383,30 +53455,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7731") + ref.SourceNodeId = ua.NodeId.from_string("i=8573") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7731") + ref.SourceNodeId = ua.NodeId.from_string("i=8573") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7734") - node.BrowseName = ua.QualifiedName.from_string("DeleteNodesItem") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8576") + node.BrowseName = ua.QualifiedName.from_string("LiteralOperand") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DeleteNodesItem") + attrs.DisplayName = ua.LocalizedText("LiteralOperand") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("DeleteNodesItem", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='LiteralOperand']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -39414,30 +53486,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7734") + ref.SourceNodeId = ua.NodeId.from_string("i=8576") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7734") + ref.SourceNodeId = ua.NodeId.from_string("i=8576") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7737") - node.BrowseName = ua.QualifiedName.from_string("DeleteReferencesItem") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8579") + node.BrowseName = ua.QualifiedName.from_string("AttributeOperand") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DeleteReferencesItem") + attrs.DisplayName = ua.LocalizedText("AttributeOperand") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("DeleteReferencesItem", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='AttributeOperand']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -39445,30 +53517,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7737") + ref.SourceNodeId = ua.NodeId.from_string("i=8579") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7737") + ref.SourceNodeId = ua.NodeId.from_string("i=8579") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12718") - node.BrowseName = ua.QualifiedName.from_string("RelativePathElement") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8582") + node.BrowseName = ua.QualifiedName.from_string("SimpleAttributeOperand") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RelativePathElement") + attrs.DisplayName = ua.LocalizedText("SimpleAttributeOperand") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("RelativePathElement", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='SimpleAttributeOperand']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -39476,30 +53548,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12718") + ref.SourceNodeId = ua.NodeId.from_string("i=8582") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12718") + ref.SourceNodeId = ua.NodeId.from_string("i=8582") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12721") - node.BrowseName = ua.QualifiedName.from_string("RelativePath") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8639") + node.BrowseName = ua.QualifiedName.from_string("HistoryEvent") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RelativePath") + attrs.DisplayName = ua.LocalizedText("HistoryEvent") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("RelativePath", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='HistoryEvent']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -39507,30 +53579,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12721") + ref.SourceNodeId = ua.NodeId.from_string("i=8639") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12721") + ref.SourceNodeId = ua.NodeId.from_string("i=8639") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7686") - node.BrowseName = ua.QualifiedName.from_string("EndpointConfiguration") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8702") + node.BrowseName = ua.QualifiedName.from_string("MonitoringFilter") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EndpointConfiguration") + attrs.DisplayName = ua.LocalizedText("MonitoringFilter") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("EndpointConfiguration", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='MonitoringFilter']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -39538,30 +53610,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7686") + ref.SourceNodeId = ua.NodeId.from_string("i=8702") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7686") + ref.SourceNodeId = ua.NodeId.from_string("i=8702") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7929") - node.BrowseName = ua.QualifiedName.from_string("ContentFilterElement") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8708") + node.BrowseName = ua.QualifiedName.from_string("EventFilter") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ContentFilterElement") + attrs.DisplayName = ua.LocalizedText("EventFilter") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("ContentFilterElement", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='EventFilter']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -39569,30 +53641,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7929") + ref.SourceNodeId = ua.NodeId.from_string("i=8708") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7929") + ref.SourceNodeId = ua.NodeId.from_string("i=8708") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7932") - node.BrowseName = ua.QualifiedName.from_string("ContentFilter") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8711") + node.BrowseName = ua.QualifiedName.from_string("AggregateConfiguration") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ContentFilter") + attrs.DisplayName = ua.LocalizedText("AggregateConfiguration") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("ContentFilter", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='AggregateConfiguration']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -39600,30 +53672,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7932") + ref.SourceNodeId = ua.NodeId.from_string("i=8711") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7932") + ref.SourceNodeId = ua.NodeId.from_string("i=8711") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7935") - node.BrowseName = ua.QualifiedName.from_string("FilterOperand") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8807") + node.BrowseName = ua.QualifiedName.from_string("HistoryEventFieldList") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("FilterOperand") + attrs.DisplayName = ua.LocalizedText("HistoryEventFieldList") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("FilterOperand", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='HistoryEventFieldList']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -39631,30 +53703,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7935") + ref.SourceNodeId = ua.NodeId.from_string("i=8807") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7935") + ref.SourceNodeId = ua.NodeId.from_string("i=8807") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7938") - node.BrowseName = ua.QualifiedName.from_string("ElementOperand") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8327") + node.BrowseName = ua.QualifiedName.from_string("BuildInfo") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ElementOperand") + attrs.DisplayName = ua.LocalizedText("BuildInfo") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("ElementOperand", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='BuildInfo']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -39662,30 +53734,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7938") + ref.SourceNodeId = ua.NodeId.from_string("i=8327") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7938") + ref.SourceNodeId = ua.NodeId.from_string("i=8327") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7941") - node.BrowseName = ua.QualifiedName.from_string("LiteralOperand") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8843") + node.BrowseName = ua.QualifiedName.from_string("RedundantServerDataType") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LiteralOperand") + attrs.DisplayName = ua.LocalizedText("RedundantServerDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("LiteralOperand", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='RedundantServerDataType']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -39693,30 +53765,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7941") + ref.SourceNodeId = ua.NodeId.from_string("i=8843") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7941") + ref.SourceNodeId = ua.NodeId.from_string("i=8843") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7944") - node.BrowseName = ua.QualifiedName.from_string("AttributeOperand") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11951") + node.BrowseName = ua.QualifiedName.from_string("EndpointUrlListDataType") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AttributeOperand") + attrs.DisplayName = ua.LocalizedText("EndpointUrlListDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("AttributeOperand", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='EndpointUrlListDataType']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -39724,30 +53796,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7944") + ref.SourceNodeId = ua.NodeId.from_string("i=11951") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7944") + ref.SourceNodeId = ua.NodeId.from_string("i=11951") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7947") - node.BrowseName = ua.QualifiedName.from_string("SimpleAttributeOperand") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11954") + node.BrowseName = ua.QualifiedName.from_string("NetworkGroupDataType") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SimpleAttributeOperand") + attrs.DisplayName = ua.LocalizedText("NetworkGroupDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("SimpleAttributeOperand", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='NetworkGroupDataType']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -39755,30 +53827,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7947") + ref.SourceNodeId = ua.NodeId.from_string("i=11954") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7947") + ref.SourceNodeId = ua.NodeId.from_string("i=11954") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8004") - node.BrowseName = ua.QualifiedName.from_string("HistoryEvent") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8846") + node.BrowseName = ua.QualifiedName.from_string("SamplingIntervalDiagnosticsDataType") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("HistoryEvent") + attrs.DisplayName = ua.LocalizedText("SamplingIntervalDiagnosticsDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("HistoryEvent", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='SamplingIntervalDiagnosticsDataType']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -39786,30 +53858,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8004") + ref.SourceNodeId = ua.NodeId.from_string("i=8846") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8004") + ref.SourceNodeId = ua.NodeId.from_string("i=8846") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8067") - node.BrowseName = ua.QualifiedName.from_string("MonitoringFilter") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8849") + node.BrowseName = ua.QualifiedName.from_string("ServerDiagnosticsSummaryDataType") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MonitoringFilter") + attrs.DisplayName = ua.LocalizedText("ServerDiagnosticsSummaryDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("MonitoringFilter", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='ServerDiagnosticsSummaryDataType']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -39817,30 +53889,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8067") + ref.SourceNodeId = ua.NodeId.from_string("i=8849") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8067") + ref.SourceNodeId = ua.NodeId.from_string("i=8849") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8073") - node.BrowseName = ua.QualifiedName.from_string("EventFilter") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8852") + node.BrowseName = ua.QualifiedName.from_string("ServerStatusDataType") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EventFilter") + attrs.DisplayName = ua.LocalizedText("ServerStatusDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("EventFilter", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='ServerStatusDataType']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -39848,30 +53920,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8073") + ref.SourceNodeId = ua.NodeId.from_string("i=8852") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8073") + ref.SourceNodeId = ua.NodeId.from_string("i=8852") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8076") - node.BrowseName = ua.QualifiedName.from_string("AggregateConfiguration") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8855") + node.BrowseName = ua.QualifiedName.from_string("SessionDiagnosticsDataType") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AggregateConfiguration") + attrs.DisplayName = ua.LocalizedText("SessionDiagnosticsDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("AggregateConfiguration", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='SessionDiagnosticsDataType']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -39879,30 +53951,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8076") + ref.SourceNodeId = ua.NodeId.from_string("i=8855") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8076") + ref.SourceNodeId = ua.NodeId.from_string("i=8855") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8172") - node.BrowseName = ua.QualifiedName.from_string("HistoryEventFieldList") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8858") + node.BrowseName = ua.QualifiedName.from_string("SessionSecurityDiagnosticsDataType") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("HistoryEventFieldList") + attrs.DisplayName = ua.LocalizedText("SessionSecurityDiagnosticsDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("HistoryEventFieldList", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='SessionSecurityDiagnosticsDataType']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -39910,30 +53982,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8172") + ref.SourceNodeId = ua.NodeId.from_string("i=8858") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8172") + ref.SourceNodeId = ua.NodeId.from_string("i=8858") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7692") - node.BrowseName = ua.QualifiedName.from_string("BuildInfo") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8861") + node.BrowseName = ua.QualifiedName.from_string("ServiceCounterDataType") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("BuildInfo") + attrs.DisplayName = ua.LocalizedText("ServiceCounterDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("BuildInfo", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='ServiceCounterDataType']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -39941,30 +54013,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7692") + ref.SourceNodeId = ua.NodeId.from_string("i=8861") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7692") + ref.SourceNodeId = ua.NodeId.from_string("i=8861") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8208") - node.BrowseName = ua.QualifiedName.from_string("RedundantServerDataType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8294") + node.BrowseName = ua.QualifiedName.from_string("StatusResult") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RedundantServerDataType") + attrs.DisplayName = ua.LocalizedText("StatusResult") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("RedundantServerDataType", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='StatusResult']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -39972,30 +54044,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8208") + ref.SourceNodeId = ua.NodeId.from_string("i=8294") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8208") + ref.SourceNodeId = ua.NodeId.from_string("i=8294") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11959") - node.BrowseName = ua.QualifiedName.from_string("EndpointUrlListDataType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8864") + node.BrowseName = ua.QualifiedName.from_string("SubscriptionDiagnosticsDataType") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EndpointUrlListDataType") + attrs.DisplayName = ua.LocalizedText("SubscriptionDiagnosticsDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("EndpointUrlListDataType", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='SubscriptionDiagnosticsDataType']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -40003,30 +54075,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11959") + ref.SourceNodeId = ua.NodeId.from_string("i=8864") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11959") + ref.SourceNodeId = ua.NodeId.from_string("i=8864") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11962") - node.BrowseName = ua.QualifiedName.from_string("NetworkGroupDataType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8867") + node.BrowseName = ua.QualifiedName.from_string("ModelChangeStructureDataType") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("NetworkGroupDataType") + attrs.DisplayName = ua.LocalizedText("ModelChangeStructureDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("NetworkGroupDataType", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='ModelChangeStructureDataType']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -40034,30 +54106,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11962") + ref.SourceNodeId = ua.NodeId.from_string("i=8867") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11962") + ref.SourceNodeId = ua.NodeId.from_string("i=8867") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8211") - node.BrowseName = ua.QualifiedName.from_string("SamplingIntervalDiagnosticsDataType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8870") + node.BrowseName = ua.QualifiedName.from_string("SemanticChangeStructureDataType") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SamplingIntervalDiagnosticsDataType") + attrs.DisplayName = ua.LocalizedText("SemanticChangeStructureDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("SamplingIntervalDiagnosticsDataType", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='SemanticChangeStructureDataType']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -40065,30 +54137,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8211") + ref.SourceNodeId = ua.NodeId.from_string("i=8870") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8211") + ref.SourceNodeId = ua.NodeId.from_string("i=8870") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8214") - node.BrowseName = ua.QualifiedName.from_string("ServerDiagnosticsSummaryDataType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8873") + node.BrowseName = ua.QualifiedName.from_string("Range") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ServerDiagnosticsSummaryDataType") + attrs.DisplayName = ua.LocalizedText("Range") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("ServerDiagnosticsSummaryDataType", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='Range']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -40096,30 +54168,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8214") + ref.SourceNodeId = ua.NodeId.from_string("i=8873") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8214") + ref.SourceNodeId = ua.NodeId.from_string("i=8873") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8217") - node.BrowseName = ua.QualifiedName.from_string("ServerStatusDataType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8876") + node.BrowseName = ua.QualifiedName.from_string("EUInformation") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ServerStatusDataType") + attrs.DisplayName = ua.LocalizedText("EUInformation") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("ServerStatusDataType", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='EUInformation']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -40127,30 +54199,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8217") + ref.SourceNodeId = ua.NodeId.from_string("i=8876") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8217") + ref.SourceNodeId = ua.NodeId.from_string("i=8876") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8220") - node.BrowseName = ua.QualifiedName.from_string("SessionDiagnosticsDataType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12175") + node.BrowseName = ua.QualifiedName.from_string("ComplexNumberType") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SessionDiagnosticsDataType") + attrs.DisplayName = ua.LocalizedText("ComplexNumberType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("SessionDiagnosticsDataType", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='ComplexNumberType']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -40158,30 +54230,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8220") + ref.SourceNodeId = ua.NodeId.from_string("i=12175") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8220") + ref.SourceNodeId = ua.NodeId.from_string("i=12175") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8223") - node.BrowseName = ua.QualifiedName.from_string("SessionSecurityDiagnosticsDataType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12178") + node.BrowseName = ua.QualifiedName.from_string("DoubleComplexNumberType") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SessionSecurityDiagnosticsDataType") + attrs.DisplayName = ua.LocalizedText("DoubleComplexNumberType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("SessionSecurityDiagnosticsDataType", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='DoubleComplexNumberType']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -40189,30 +54261,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8223") + ref.SourceNodeId = ua.NodeId.from_string("i=12178") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8223") + ref.SourceNodeId = ua.NodeId.from_string("i=12178") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8226") - node.BrowseName = ua.QualifiedName.from_string("ServiceCounterDataType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12083") + node.BrowseName = ua.QualifiedName.from_string("AxisInformation") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ServiceCounterDataType") + attrs.DisplayName = ua.LocalizedText("AxisInformation") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("ServiceCounterDataType", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='AxisInformation']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -40220,30 +54292,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8226") + ref.SourceNodeId = ua.NodeId.from_string("i=12083") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8226") + ref.SourceNodeId = ua.NodeId.from_string("i=12083") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7659") - node.BrowseName = ua.QualifiedName.from_string("StatusResult") + node.RequestedNewNodeId = ua.NodeId.from_string("i=12086") + node.BrowseName = ua.QualifiedName.from_string("XVType") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("StatusResult") + attrs.DisplayName = ua.LocalizedText("XVType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("StatusResult", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='XVType']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -40251,30 +54323,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7659") + ref.SourceNodeId = ua.NodeId.from_string("i=12086") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7659") + ref.SourceNodeId = ua.NodeId.from_string("i=12086") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8229") - node.BrowseName = ua.QualifiedName.from_string("SubscriptionDiagnosticsDataType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8882") + node.BrowseName = ua.QualifiedName.from_string("ProgramDiagnosticDataType") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SubscriptionDiagnosticsDataType") + attrs.DisplayName = ua.LocalizedText("ProgramDiagnosticDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("SubscriptionDiagnosticsDataType", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='ProgramDiagnosticDataType']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -40282,30 +54354,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8229") + ref.SourceNodeId = ua.NodeId.from_string("i=8882") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8229") + ref.SourceNodeId = ua.NodeId.from_string("i=8882") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8232") - node.BrowseName = ua.QualifiedName.from_string("ModelChangeStructureDataType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15402") + node.BrowseName = ua.QualifiedName.from_string("ProgramDiagnostic2DataType") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ModelChangeStructureDataType") + attrs.DisplayName = ua.LocalizedText("ProgramDiagnostic2DataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("ModelChangeStructureDataType", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='ProgramDiagnostic2DataType']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -40313,30 +54385,30 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8232") + ref.SourceNodeId = ua.NodeId.from_string("i=15402") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8232") + ref.SourceNodeId = ua.NodeId.from_string("i=15402") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8235") - node.BrowseName = ua.QualifiedName.from_string("SemanticChangeStructureDataType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8879") + node.BrowseName = ua.QualifiedName.from_string("Annotation") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") + node.ParentNodeId = ua.NodeId.from_string("i=8252") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=69") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SemanticChangeStructureDataType") + attrs.DisplayName = ua.LocalizedText("Annotation") attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("SemanticChangeStructureDataType", ua.VariantType.String) + attrs.Value = ua.Variant("//xs:element[@name='Annotation']", ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -40344,263 +54416,508 @@ def create_standard_address_space_Part5(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8235") + ref.SourceNodeId = ua.NodeId.from_string("i=8879") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=69") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8235") + ref.SourceNodeId = ua.NodeId.from_string("i=8879") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=8252") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8238") - node.BrowseName = ua.QualifiedName.from_string("Range") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Range") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("Range", ua.VariantType.String) - attrs.ValueRank = -1 + node.RequestedNewNodeId = ua.NodeId.from_string("i=15041") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=14533") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15041") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=14533") + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8238") + ref.SourceNodeId = ua.NodeId.from_string("i=15041") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16150") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=15528") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8238") + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=16150") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=15528") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16150") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8241") - node.BrowseName = ua.QualifiedName.from_string("EUInformation") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EUInformation") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("EUInformation", ua.VariantType.String) - attrs.ValueRank = -1 + node.RequestedNewNodeId = ua.NodeId.from_string("i=15042") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=15634") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15042") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=15634") + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8241") + ref.SourceNodeId = ua.NodeId.from_string("i=15042") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15361") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=338") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8241") + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15361") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=338") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15361") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12183") - node.BrowseName = ua.QualifiedName.from_string("ComplexNumberType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ComplexNumberType") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("ComplexNumberType", ua.VariantType.String) - attrs.ValueRank = -1 + node.RequestedNewNodeId = ua.NodeId.from_string("i=15362") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=853") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15362") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=853") + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12183") + ref.SourceNodeId = ua.NodeId.from_string("i=15362") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15363") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=11943") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12183") + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15363") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=11943") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15363") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12186") - node.BrowseName = ua.QualifiedName.from_string("DoubleComplexNumberType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DoubleComplexNumberType") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("DoubleComplexNumberType", ua.VariantType.String) - attrs.ValueRank = -1 + node.RequestedNewNodeId = ua.NodeId.from_string("i=15364") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=11944") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15364") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11944") + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12186") + ref.SourceNodeId = ua.NodeId.from_string("i=15364") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15365") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=856") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12186") + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15365") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=856") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15365") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12091") - node.BrowseName = ua.QualifiedName.from_string("AxisInformation") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AxisInformation") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("AxisInformation", ua.VariantType.String) - attrs.ValueRank = -1 + node.RequestedNewNodeId = ua.NodeId.from_string("i=15366") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=859") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15366") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=859") + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12091") + ref.SourceNodeId = ua.NodeId.from_string("i=15366") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15367") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=862") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12091") + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15367") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=862") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15367") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12094") - node.BrowseName = ua.QualifiedName.from_string("XVType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("XVType") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("XVType", ua.VariantType.String) - attrs.ValueRank = -1 + node.RequestedNewNodeId = ua.NodeId.from_string("i=15368") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=865") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15368") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=865") + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12094") + ref.SourceNodeId = ua.NodeId.from_string("i=15368") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15369") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=868") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12094") + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15369") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=868") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15369") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8247") - node.BrowseName = ua.QualifiedName.from_string("ProgramDiagnosticDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ProgramDiagnosticDataType") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("ProgramDiagnosticDataType", ua.VariantType.String) - attrs.ValueRank = -1 + node.RequestedNewNodeId = ua.NodeId.from_string("i=15370") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=871") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15370") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=871") + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8247") + ref.SourceNodeId = ua.NodeId.from_string("i=15370") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15371") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=299") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8247") + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15371") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=299") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15371") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8244") - node.BrowseName = ua.QualifiedName.from_string("Annotation") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Annotation") - attrs.DataType = ua.NodeId(ua.ObjectIds.String) - attrs.Value = ua.Variant("Annotation", ua.VariantType.String) - attrs.ValueRank = -1 + node.RequestedNewNodeId = ua.NodeId.from_string("i=15372") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=874") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15372") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=874") + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8244") + ref.SourceNodeId = ua.NodeId.from_string("i=15372") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15373") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=877") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8244") + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15373") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.TargetNodeId = ua.NodeId.from_string("i=877") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15373") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=15374") + node.BrowseName = ua.QualifiedName.from_string("Default JSON") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=897") + node.ReferenceTypeId = ua.NodeId.from_string("i=38") + node.TypeDefinition = ua.NodeId.from_string("i=76") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=38") + ref.SourceNodeId = ua.NodeId.from_string("i=15374") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=897") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=15374") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=76") refs.append(ref) server.add_references(refs) diff --git a/opcua/server/standard_address_space/standard_address_space_part8.py b/opcua/server/standard_address_space/standard_address_space_part8.py index a5ad4efb4..a2227fcf9 100644 --- a/opcua/server/standard_address_space/standard_address_space_part8.py +++ b/opcua/server/standard_address_space/standard_address_space_part8.py @@ -1384,7 +1384,7 @@ def create_standard_address_space_Part8(server): attrs = ua.VariableAttributes() attrs.DisplayName = ua.LocalizedText("EnumStrings") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.Value = [ua.LocalizedText("Linear"),ua.LocalizedText("Log"),ua.LocalizedText("Ln")] + attrs.Value = [ua.LocalizedText('Linear'),ua.LocalizedText('Log'),ua.LocalizedText('Ln')] attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) diff --git a/opcua/server/standard_address_space/standard_address_space_part9.py b/opcua/server/standard_address_space/standard_address_space_part9.py index 3fedcd27b..3e7caef31 100644 --- a/opcua/server/standard_address_space/standard_address_space_part9.py +++ b/opcua/server/standard_address_space/standard_address_space_part9.py @@ -363,6 +363,48 @@ def create_standard_address_space_Part9(server): refs.append(ref) server.add_references(refs) + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16361") + node.BrowseName = ua.QualifiedName.from_string("HasAlarmSuppressionGroup") + node.NodeClass = ua.NodeClass.ReferenceType + node.ParentNodeId = ua.NodeId.from_string("i=47") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ReferenceTypeAttributes() + attrs.DisplayName = ua.LocalizedText("HasAlarmSuppressionGroup") + attrs.InverseName = ua.LocalizedText("IsAlarmSuppressionGroupOf") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=16361") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=47") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16362") + node.BrowseName = ua.QualifiedName.from_string("AlarmGroupMember") + node.NodeClass = ua.NodeClass.ReferenceType + node.ParentNodeId = ua.NodeId.from_string("i=35") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ReferenceTypeAttributes() + attrs.DisplayName = ua.LocalizedText("AlarmGroupMember") + attrs.InverseName = ua.LocalizedText("MemberOfAlarmGroup") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=16362") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=35") + refs.append(ref) + server.add_references(refs) + node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=2782") node.BrowseName = ua.QualifiedName.from_string("ConditionType") @@ -394,6 +436,20 @@ def create_standard_address_space_Part9(server): ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2782") ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16363") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2782") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16364") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2782") + ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9009") refs.append(ref) ref = ua.AddReferencesItem() @@ -563,6 +619,80 @@ def create_standard_address_space_Part9(server): refs.append(ref) server.add_references(refs) + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16363") + node.BrowseName = ua.QualifiedName.from_string("ConditionSubClassId") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2782") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("ConditionSubClassId") + attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16363") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16363") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16363") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2782") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16364") + node.BrowseName = ua.QualifiedName.from_string("ConditionSubClassName") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2782") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("ConditionSubClassName") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16364") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16364") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16364") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2782") + refs.append(ref) + server.add_references(refs) + node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9009") node.BrowseName = ua.QualifiedName.from_string("ConditionName") @@ -718,6 +848,20 @@ def create_standard_address_space_Part9(server): refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9011") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9018") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9011") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9019") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") ref.SourceNodeId = ua.NodeId.from_string("i=9011") ref.TargetNodeClass = ua.NodeClass.DataType @@ -887,6 +1031,82 @@ def create_standard_address_space_Part9(server): refs.append(ref) server.add_references(refs) + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=9018") + node.BrowseName = ua.QualifiedName.from_string("TrueState") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=9011") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("TrueState") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'Enabled')], ua.VariantType.LocalizedText) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=9018") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=9018") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9018") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9011") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=9019") + node.BrowseName = ua.QualifiedName.from_string("FalseState") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=9011") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("FalseState") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'Disabled')], ua.VariantType.LocalizedText) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=9019") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=9019") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9019") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9011") + refs.append(ref) + server.add_references(refs) + node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9020") node.BrowseName = ua.QualifiedName.from_string("Quality") @@ -1288,13 +1508,13 @@ def create_standard_address_space_Part9(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = EventId + extobj.Name = 'EventId' extobj.DataType = ua.NodeId.from_string("i=15") extobj.ValueRank = -1 extobj.Description.Text = 'The identifier for the event to comment.' value.append(extobj) extobj = ua.Argument() - extobj.Name = Comment + extobj.Name = 'Comment' extobj.DataType = ua.NodeId.from_string("i=21") extobj.ValueRank = -1 extobj.Description.Text = 'The comment to add to the condition.' @@ -1380,7 +1600,7 @@ def create_standard_address_space_Part9(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = SubscriptionId + extobj.Name = 'SubscriptionId' extobj.DataType = ua.NodeId.from_string("i=288") extobj.ValueRank = -1 extobj.Description.Text = 'The identifier for the suscription to refresh.' @@ -1466,13 +1686,13 @@ def create_standard_address_space_Part9(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = SubscriptionId + extobj.Name = 'SubscriptionId' extobj.DataType = ua.NodeId.from_string("i=288") extobj.ValueRank = -1 extobj.Description.Text = 'The identifier for the suscription to refresh.' value.append(extobj) extobj = ua.Argument() - extobj.Name = MonitoredItemId + extobj.Name = 'MonitoredItemId' extobj.DataType = ua.NodeId.from_string("i=288") extobj.ValueRank = -1 extobj.Description.Text = 'The identifier for the monitored item to refresh.' @@ -1706,6 +1926,20 @@ def create_standard_address_space_Part9(server): ref.TargetNodeId = ua.NodeId.from_string("i=9060") refs.append(ref) ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9055") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9062") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9055") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9063") + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") ref.SourceNodeId = ua.NodeId.from_string("i=9055") @@ -1810,15 +2044,16 @@ def create_standard_address_space_Part9(server): server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2831") - node.BrowseName = ua.QualifiedName.from_string("Prompt") + node.RequestedNewNodeId = ua.NodeId.from_string("i=9062") + node.BrowseName = ua.QualifiedName.from_string("TrueState") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2830") + node.ParentNodeId = ua.NodeId.from_string("i=9055") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Prompt") + attrs.DisplayName = ua.LocalizedText("TrueState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'Active')], ua.VariantType.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -1826,73 +2061,74 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2831") + ref.SourceNodeId = ua.NodeId.from_string("i=9062") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2831") + ref.SourceNodeId = ua.NodeId.from_string("i=9062") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2831") + ref.SourceNodeId = ua.NodeId.from_string("i=9062") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2830") + ref.TargetNodeId = ua.NodeId.from_string("i=9055") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9064") - node.BrowseName = ua.QualifiedName.from_string("ResponseOptionSet") + node.RequestedNewNodeId = ua.NodeId.from_string("i=9063") + node.BrowseName = ua.QualifiedName.from_string("FalseState") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2830") + node.ParentNodeId = ua.NodeId.from_string("i=9055") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ResponseOptionSet") + attrs.DisplayName = ua.LocalizedText("FalseState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.ValueRank = 1 + attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'Inactive')], ua.VariantType.LocalizedText) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9064") + ref.SourceNodeId = ua.NodeId.from_string("i=9063") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9064") + ref.SourceNodeId = ua.NodeId.from_string("i=9063") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9064") + ref.SourceNodeId = ua.NodeId.from_string("i=9063") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2830") + ref.TargetNodeId = ua.NodeId.from_string("i=9055") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9065") - node.BrowseName = ua.QualifiedName.from_string("DefaultResponse") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2831") + node.BrowseName = ua.QualifiedName.from_string("Prompt") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2830") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DefaultResponse") - attrs.DataType = ua.NodeId(ua.ObjectIds.Int32) + attrs.DisplayName = ua.LocalizedText("Prompt") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -1900,66 +2136,140 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9065") + ref.SourceNodeId = ua.NodeId.from_string("i=2831") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9065") + ref.SourceNodeId = ua.NodeId.from_string("i=2831") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9065") + ref.SourceNodeId = ua.NodeId.from_string("i=2831") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2830") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9066") - node.BrowseName = ua.QualifiedName.from_string("OkResponse") + node.RequestedNewNodeId = ua.NodeId.from_string("i=9064") + node.BrowseName = ua.QualifiedName.from_string("ResponseOptionSet") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2830") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OkResponse") - attrs.DataType = ua.NodeId(ua.ObjectIds.Int32) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("ResponseOptionSet") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9066") + ref.SourceNodeId = ua.NodeId.from_string("i=9064") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9066") + ref.SourceNodeId = ua.NodeId.from_string("i=9064") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9066") + ref.SourceNodeId = ua.NodeId.from_string("i=9064") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2830") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9067") - node.BrowseName = ua.QualifiedName.from_string("CancelResponse") + node.RequestedNewNodeId = ua.NodeId.from_string("i=9065") + node.BrowseName = ua.QualifiedName.from_string("DefaultResponse") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2830") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("DefaultResponse") + attrs.DataType = ua.NodeId(ua.ObjectIds.Int32) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=9065") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=9065") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9065") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2830") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=9066") + node.BrowseName = ua.QualifiedName.from_string("OkResponse") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2830") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("OkResponse") + attrs.DataType = ua.NodeId(ua.ObjectIds.Int32) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=9066") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=9066") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9066") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2830") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=9067") + node.BrowseName = ua.QualifiedName.from_string("CancelResponse") node.NodeClass = ua.NodeClass.Variable node.ParentNodeId = ua.NodeId.from_string("i=2830") node.ReferenceTypeId = ua.NodeId.from_string("i=46") @@ -2084,7 +2394,7 @@ def create_standard_address_space_Part9(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = SelectedResponse + extobj.Name = 'SelectedResponse' extobj.DataType = ua.NodeId.from_string("i=6") extobj.ValueRank = -1 extobj.Description.Text = 'The response to the dialog condition.' @@ -2297,6 +2607,20 @@ def create_standard_address_space_Part9(server): ref.TargetNodeId = ua.NodeId.from_string("i=9098") refs.append(ref) ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9093") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9100") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9093") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9101") + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") ref.SourceNodeId = ua.NodeId.from_string("i=9093") @@ -2400,6 +2724,82 @@ def create_standard_address_space_Part9(server): refs.append(ref) server.add_references(refs) + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=9100") + node.BrowseName = ua.QualifiedName.from_string("TrueState") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=9093") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("TrueState") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'Acknowledged')], ua.VariantType.LocalizedText) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=9100") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=9100") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9100") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9093") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=9101") + node.BrowseName = ua.QualifiedName.from_string("FalseState") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=9093") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("FalseState") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'Unacknowledged')], ua.VariantType.LocalizedText) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=9101") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=9101") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9101") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9093") + refs.append(ref) + server.add_references(refs) + node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9102") node.BrowseName = ua.QualifiedName.from_string("ConfirmedState") @@ -2429,6 +2829,20 @@ def create_standard_address_space_Part9(server): ref.TargetNodeId = ua.NodeId.from_string("i=9107") refs.append(ref) ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9102") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9109") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9102") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9110") + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") ref.SourceNodeId = ua.NodeId.from_string("i=9102") @@ -2532,6 +2946,82 @@ def create_standard_address_space_Part9(server): refs.append(ref) server.add_references(refs) + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=9109") + node.BrowseName = ua.QualifiedName.from_string("TrueState") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=9102") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("TrueState") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'Confirmed')], ua.VariantType.LocalizedText) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=9109") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=9109") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9109") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9102") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=9110") + node.BrowseName = ua.QualifiedName.from_string("FalseState") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=9102") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("FalseState") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'Unconfirmed')], ua.VariantType.LocalizedText) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=9110") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=9110") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9110") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9102") + refs.append(ref) + server.add_references(refs) + node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=9111") node.BrowseName = ua.QualifiedName.from_string("Acknowledge") @@ -2585,13 +3075,13 @@ def create_standard_address_space_Part9(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = EventId + extobj.Name = 'EventId' extobj.DataType = ua.NodeId.from_string("i=15") extobj.ValueRank = -1 extobj.Description.Text = 'The identifier for the event to comment.' value.append(extobj) extobj = ua.Argument() - extobj.Name = Comment + extobj.Name = 'Comment' extobj.DataType = ua.NodeId.from_string("i=21") extobj.ValueRank = -1 extobj.Description.Text = 'The comment to add to the condition.' @@ -2677,13 +3167,13 @@ def create_standard_address_space_Part9(server): attrs.DataType = ua.NodeId.from_string("i=296") value = [] extobj = ua.Argument() - extobj.Name = EventId + extobj.Name = 'EventId' extobj.DataType = ua.NodeId.from_string("i=15") extobj.ValueRank = -1 extobj.Description.Text = 'The identifier for the event to comment.' value.append(extobj) extobj = ua.Argument() - extobj.Name = Comment + extobj.Name = 'Comment' extobj.DataType = ua.NodeId.from_string("i=21") extobj.ValueRank = -1 extobj.Description.Text = 'The comment to add to the condition.' @@ -2761,6 +3251,13 @@ def create_standard_address_space_Part9(server): ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=2915") ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16371") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2915") + ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9178") refs.append(ref) ref = ua.AddReferencesItem() @@ -2778,27 +3275,146 @@ def create_standard_address_space_Part9(server): ref.TargetNodeId = ua.NodeId.from_string("i=9216") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") ref.SourceNodeId = ua.NodeId.from_string("i=2915") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2881") + ref.TargetNodeId = ua.NodeId.from_string("i=16389") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9118") - node.BrowseName = ua.QualifiedName.from_string("EnabledState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2915") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=8995") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EnabledState") - attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2915") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16390") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2915") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16380") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2915") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16395") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2915") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16396") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2915") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16397") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2915") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16398") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2915") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=18190") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=16361") + ref.SourceNodeId = ua.NodeId.from_string("i=2915") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16399") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2915") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16400") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2915") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16401") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2915") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16402") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2915") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16403") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2915") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=17868") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2915") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=17869") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2915") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=17870") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2915") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=18199") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=2915") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2881") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=9118") + node.BrowseName = ua.QualifiedName.from_string("EnabledState") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2915") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=8995") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("EnabledState") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True @@ -2931,6 +3547,20 @@ def create_standard_address_space_Part9(server): ref.TargetNodeId = ua.NodeId.from_string("i=9166") refs.append(ref) ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9160") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9167") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9160") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9168") + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") ref.SourceNodeId = ua.NodeId.from_string("i=9160") @@ -3108,6 +3738,82 @@ def create_standard_address_space_Part9(server): refs.append(ref) server.add_references(refs) + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=9167") + node.BrowseName = ua.QualifiedName.from_string("TrueState") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=9160") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("TrueState") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'Active')], ua.VariantType.LocalizedText) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=9167") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=9167") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9167") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9160") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=9168") + node.BrowseName = ua.QualifiedName.from_string("FalseState") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=9160") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("FalseState") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'Inactive')], ua.VariantType.LocalizedText) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=9168") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=9168") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9168") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9160") + refs.append(ref) + server.add_references(refs) + node = ua.AddNodesItem() node.RequestedNewNodeId = ua.NodeId.from_string("i=11120") node.BrowseName = ua.QualifiedName.from_string("InputNode") @@ -3174,6 +3880,20 @@ def create_standard_address_space_Part9(server): ref.TargetNodeId = ua.NodeId.from_string("i=9174") refs.append(ref) ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9169") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9176") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9169") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9177") + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") ref.SourceNodeId = ua.NodeId.from_string("i=9169") @@ -3278,52 +3998,329 @@ def create_standard_address_space_Part9(server): server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9178") - node.BrowseName = ua.QualifiedName.from_string("ShelvingState") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2915") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2929") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("ShelvingState") - attrs.EventNotifier = 0 + node.RequestedNewNodeId = ua.NodeId.from_string("i=9176") + node.BrowseName = ua.QualifiedName.from_string("TrueState") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=9169") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("TrueState") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'Suppressed')], ua.VariantType.LocalizedText) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9178") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=9176") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9179") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9178") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=9176") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9184") + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9178") + ref.SourceNodeId = ua.NodeId.from_string("i=9176") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9189") + ref.TargetNodeId = ua.NodeId.from_string("i=9169") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=9177") + node.BrowseName = ua.QualifiedName.from_string("FalseState") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=9169") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("FalseState") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'Unsuppressed')], ua.VariantType.LocalizedText) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=9177") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=9177") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9177") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9169") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16371") + node.BrowseName = ua.QualifiedName.from_string("OutOfServiceState") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2915") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=8995") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("OutOfServiceState") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16371") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16372") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16371") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16376") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16371") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16378") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16371") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16379") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16371") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8995") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16371") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16371") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2915") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16372") + node.BrowseName = ua.QualifiedName.from_string("Id") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16371") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Id") + attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16372") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16372") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16372") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16371") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16376") + node.BrowseName = ua.QualifiedName.from_string("TransitionTime") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16371") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("TransitionTime") + attrs.DataType = ua.NodeId.from_string("i=294") + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16376") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16376") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16376") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16371") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16378") + node.BrowseName = ua.QualifiedName.from_string("TrueState") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16371") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("TrueState") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'Out of Service')], ua.VariantType.LocalizedText) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16378") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16378") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16378") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16371") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16379") + node.BrowseName = ua.QualifiedName.from_string("FalseState") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16371") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("FalseState") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'In Service')], ua.VariantType.LocalizedText) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16379") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16379") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16379") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16371") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=9178") + node.BrowseName = ua.QualifiedName.from_string("ShelvingState") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=2915") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=2929") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("ShelvingState") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=9178") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9211") + ref.TargetNodeId = ua.NodeId.from_string("i=9179") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") ref.SourceNodeId = ua.NodeId.from_string("i=9178") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9212") + ref.TargetNodeId = ua.NodeId.from_string("i=9184") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9178") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9189") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True @@ -3333,6 +4330,20 @@ def create_standard_address_space_Part9(server): ref.TargetNodeId = ua.NodeId.from_string("i=9213") refs.append(ref) ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=9178") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9211") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=9178") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9212") + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") ref.SourceNodeId = ua.NodeId.from_string("i=9178") @@ -3606,156 +4617,156 @@ def create_standard_address_space_Part9(server): server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9211") - node.BrowseName = ua.QualifiedName.from_string("Unshelve") + node.RequestedNewNodeId = ua.NodeId.from_string("i=9213") + node.BrowseName = ua.QualifiedName.from_string("TimedShelve") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=9178") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("Unshelve") + attrs.DisplayName = ua.LocalizedText("TimedShelve") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9213") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9214") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") - ref.SourceNodeId = ua.NodeId.from_string("i=9211") + ref.SourceNodeId = ua.NodeId.from_string("i=9213") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11093") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9211") + ref.SourceNodeId = ua.NodeId.from_string("i=9213") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9211") + ref.SourceNodeId = ua.NodeId.from_string("i=9213") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9178") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9212") - node.BrowseName = ua.QualifiedName.from_string("OneShotShelve") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=9178") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("OneShotShelve") + node.RequestedNewNodeId = ua.NodeId.from_string("i=9214") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=9213") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'ShelvingTime' + extobj.DataType = ua.NodeId.from_string("i=290") + extobj.ValueRank = -1 + extobj.Description.Text = 'If not 0, this parameter specifies a fixed time for which the Alarm is to be shelved.' + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") - ref.SourceNodeId = ua.NodeId.from_string("i=9212") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=9214") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11093") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9212") + ref.SourceNodeId = ua.NodeId.from_string("i=9214") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9212") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9214") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9178") + ref.TargetNodeId = ua.NodeId.from_string("i=9213") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9213") - node.BrowseName = ua.QualifiedName.from_string("TimedShelve") + node.RequestedNewNodeId = ua.NodeId.from_string("i=9211") + node.BrowseName = ua.QualifiedName.from_string("Unshelve") node.NodeClass = ua.NodeClass.Method node.ParentNodeId = ua.NodeId.from_string("i=9178") node.ReferenceTypeId = ua.NodeId.from_string("i=47") attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("TimedShelve") + attrs.DisplayName = ua.LocalizedText("Unshelve") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9213") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9214") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") - ref.SourceNodeId = ua.NodeId.from_string("i=9213") + ref.SourceNodeId = ua.NodeId.from_string("i=9211") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=11093") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9213") + ref.SourceNodeId = ua.NodeId.from_string("i=9211") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9213") + ref.SourceNodeId = ua.NodeId.from_string("i=9211") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=9178") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9214") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9213") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") - value = [] - extobj = ua.Argument() - extobj.Name = ShelvingTime - extobj.DataType = ua.NodeId.from_string("i=290") - extobj.ValueRank = -1 - extobj.Description.Text = 'If not 0, this parameter specifies a fixed time for which the Alarm is to be shelved.' - value.append(extobj) - attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) - attrs.ValueRank = 1 + node.RequestedNewNodeId = ua.NodeId.from_string("i=9212") + node.BrowseName = ua.QualifiedName.from_string("OneShotShelve") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=9178") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("OneShotShelve") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9214") + ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") + ref.SourceNodeId = ua.NodeId.from_string("i=9212") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=11093") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9214") + ref.SourceNodeId = ua.NodeId.from_string("i=9212") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9214") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=9212") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9213") + ref.TargetNodeId = ua.NodeId.from_string("i=9178") refs.append(ref) server.add_references(refs) @@ -3834,127 +4845,154 @@ def create_standard_address_space_Part9(server): server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2929") - node.BrowseName = ua.QualifiedName.from_string("ShelvedStateMachineType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2771") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ShelvedStateMachineType") - attrs.IsAbstract = False + node.RequestedNewNodeId = ua.NodeId.from_string("i=16389") + node.BrowseName = ua.QualifiedName.from_string("AudibleEnabled") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2915") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("AudibleEnabled") + attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2929") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9115") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2929") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16389") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2930") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2929") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16389") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2932") + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2929") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16389") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2933") + ref.TargetNodeId = ua.NodeId.from_string("i=2915") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16390") + node.BrowseName = ua.QualifiedName.from_string("AudibleSound") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2915") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=17986") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("AudibleSound") + attrs.DataType = ua.NodeId.from_string("i=16307") + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2929") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16390") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2935") + ref.TargetNodeId = ua.NodeId.from_string("i=17986") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2929") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16390") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2936") + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True + ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2929") + ref.SourceNodeId = ua.NodeId.from_string("i=16390") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2940") + ref.TargetNodeId = ua.NodeId.from_string("i=2915") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16380") + node.BrowseName = ua.QualifiedName.from_string("SilenceState") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2915") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=8995") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("SilenceState") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2929") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16380") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2942") + ref.TargetNodeId = ua.NodeId.from_string("i=16381") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2929") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16380") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2943") + ref.TargetNodeId = ua.NodeId.from_string("i=16385") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2929") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16380") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2945") + ref.TargetNodeId = ua.NodeId.from_string("i=16387") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2929") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16380") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2947") + ref.TargetNodeId = ua.NodeId.from_string("i=16388") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2929") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16380") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2948") + ref.TargetNodeId = ua.NodeId.from_string("i=8995") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2929") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16380") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2949") + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2929") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16380") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2771") + ref.TargetNodeId = ua.NodeId.from_string("i=2915") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9115") - node.BrowseName = ua.QualifiedName.from_string("UnshelveTime") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16381") + node.BrowseName = ua.QualifiedName.from_string("Id") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2929") + node.ParentNodeId = ua.NodeId.from_string("i=16380") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("UnshelveTime") - attrs.DataType = ua.NodeId.from_string("i=290") + attrs.DisplayName = ua.LocalizedText("Id") + attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -3962,100 +5000,74 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9115") + ref.SourceNodeId = ua.NodeId.from_string("i=16381") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9115") + ref.SourceNodeId = ua.NodeId.from_string("i=16381") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9115") + ref.SourceNodeId = ua.NodeId.from_string("i=16381") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2929") + ref.TargetNodeId = ua.NodeId.from_string("i=16380") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2930") - node.BrowseName = ua.QualifiedName.from_string("Unshelved") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2929") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2307") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Unshelved") - attrs.EventNotifier = 0 + node.RequestedNewNodeId = ua.NodeId.from_string("i=16385") + node.BrowseName = ua.QualifiedName.from_string("TransitionTime") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16380") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("TransitionTime") + attrs.DataType = ua.NodeId.from_string("i=294") + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2930") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=6098") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=2930") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16385") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2935") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=2930") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16385") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2936") + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=2930") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16385") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2940") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=2930") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2943") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2930") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2307") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2930") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2929") + ref.TargetNodeId = ua.NodeId.from_string("i=16380") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=6098") - node.BrowseName = ua.QualifiedName.from_string("StateNumber") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16387") + node.BrowseName = ua.QualifiedName.from_string("TrueState") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2930") + node.ParentNodeId = ua.NodeId.from_string("i=16380") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("StateNumber") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.DisplayName = ua.LocalizedText("TrueState") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'Silenced')], ua.VariantType.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -4063,100 +5075,74 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=6098") + ref.SourceNodeId = ua.NodeId.from_string("i=16387") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=6098") + ref.SourceNodeId = ua.NodeId.from_string("i=16387") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=6098") + ref.SourceNodeId = ua.NodeId.from_string("i=16387") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2930") + ref.TargetNodeId = ua.NodeId.from_string("i=16380") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2932") - node.BrowseName = ua.QualifiedName.from_string("TimedShelved") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2929") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2307") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("TimedShelved") - attrs.EventNotifier = 0 + node.RequestedNewNodeId = ua.NodeId.from_string("i=16388") + node.BrowseName = ua.QualifiedName.from_string("FalseState") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16380") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("FalseState") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'Not Silenced')], ua.VariantType.LocalizedText) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2932") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=6100") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=2932") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2935") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=2932") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2940") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=2932") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2942") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=2932") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16388") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2945") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2932") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16388") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2307") + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2932") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16388") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2929") + ref.TargetNodeId = ua.NodeId.from_string("i=16380") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=6100") - node.BrowseName = ua.QualifiedName.from_string("StateNumber") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16395") + node.BrowseName = ua.QualifiedName.from_string("OnDelay") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2932") + node.ParentNodeId = ua.NodeId.from_string("i=2915") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("StateNumber") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.DisplayName = ua.LocalizedText("OnDelay") + attrs.DataType = ua.NodeId.from_string("i=290") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -4164,100 +5150,73 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=6100") + ref.SourceNodeId = ua.NodeId.from_string("i=16395") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=6100") + ref.SourceNodeId = ua.NodeId.from_string("i=16395") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=6100") + ref.SourceNodeId = ua.NodeId.from_string("i=16395") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2932") + ref.TargetNodeId = ua.NodeId.from_string("i=2915") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2933") - node.BrowseName = ua.QualifiedName.from_string("OneShotShelved") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2929") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2307") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("OneShotShelved") - attrs.EventNotifier = 0 + node.RequestedNewNodeId = ua.NodeId.from_string("i=16396") + node.BrowseName = ua.QualifiedName.from_string("OffDelay") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2915") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("OffDelay") + attrs.DataType = ua.NodeId.from_string("i=290") + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2933") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=6101") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=2933") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2936") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=2933") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2942") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=2933") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2943") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=2933") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16396") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2945") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2933") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16396") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2307") + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2933") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16396") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2929") + ref.TargetNodeId = ua.NodeId.from_string("i=2915") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=6101") - node.BrowseName = ua.QualifiedName.from_string("StateNumber") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16397") + node.BrowseName = ua.QualifiedName.from_string("FirstInGroupFlag") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2933") + node.ParentNodeId = ua.NodeId.from_string("i=2915") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("StateNumber") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.DisplayName = ua.LocalizedText("FirstInGroupFlag") + attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -4265,100 +5224,137 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=6101") + ref.SourceNodeId = ua.NodeId.from_string("i=16397") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=6101") + ref.SourceNodeId = ua.NodeId.from_string("i=16397") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=6101") + ref.SourceNodeId = ua.NodeId.from_string("i=16397") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2933") + ref.TargetNodeId = ua.NodeId.from_string("i=2915") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2935") - node.BrowseName = ua.QualifiedName.from_string("UnshelvedToTimedShelved") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16398") + node.BrowseName = ua.QualifiedName.from_string("FirstInGroup") node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2929") + node.ParentNodeId = ua.NodeId.from_string("i=2915") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2310") + node.TypeDefinition = ua.NodeId.from_string("i=16405") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("UnshelvedToTimedShelved") + attrs.DisplayName = ua.LocalizedText("FirstInGroup") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2935") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16398") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11322") + ref.TargetNodeId = ua.NodeId.from_string("i=16405") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=2935") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16398") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2930") + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16398") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2915") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=18190") + node.BrowseName = ua.QualifiedName.from_string("LatchedState") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2915") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=8995") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("LatchedState") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=2935") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=18190") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2932") + ref.TargetNodeId = ua.NodeId.from_string("i=18191") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=54") - ref.SourceNodeId = ua.NodeId.from_string("i=2935") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=18190") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2915") + ref.TargetNodeId = ua.NodeId.from_string("i=18195") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=53") - ref.SourceNodeId = ua.NodeId.from_string("i=2935") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=18190") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2949") + ref.TargetNodeId = ua.NodeId.from_string("i=18197") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=18190") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=18198") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2935") + ref.SourceNodeId = ua.NodeId.from_string("i=18190") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2310") + ref.TargetNodeId = ua.NodeId.from_string("i=8995") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=18190") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2935") + ref.SourceNodeId = ua.NodeId.from_string("i=18190") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2929") + ref.TargetNodeId = ua.NodeId.from_string("i=2915") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11322") - node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") + node.RequestedNewNodeId = ua.NodeId.from_string("i=18191") + node.BrowseName = ua.QualifiedName.from_string("Id") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2935") + node.ParentNodeId = ua.NodeId.from_string("i=18190") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionNumber") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.DisplayName = ua.LocalizedText("Id") + attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -4366,100 +5362,112 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11322") + ref.SourceNodeId = ua.NodeId.from_string("i=18191") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11322") + ref.SourceNodeId = ua.NodeId.from_string("i=18191") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11322") + ref.SourceNodeId = ua.NodeId.from_string("i=18191") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2935") + ref.TargetNodeId = ua.NodeId.from_string("i=18190") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2936") - node.BrowseName = ua.QualifiedName.from_string("UnshelvedToOneShotShelved") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2929") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2310") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("UnshelvedToOneShotShelved") - attrs.EventNotifier = 0 + node.RequestedNewNodeId = ua.NodeId.from_string("i=18195") + node.BrowseName = ua.QualifiedName.from_string("TransitionTime") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=18190") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("TransitionTime") + attrs.DataType = ua.NodeId.from_string("i=294") + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2936") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11323") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=2936") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=18195") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2930") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=2936") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=18195") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2933") + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=54") - ref.SourceNodeId = ua.NodeId.from_string("i=2936") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=18195") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2915") + ref.TargetNodeId = ua.NodeId.from_string("i=18190") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=18197") + node.BrowseName = ua.QualifiedName.from_string("TrueState") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=18190") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("TrueState") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'Latched')], ua.VariantType.LocalizedText) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=53") - ref.SourceNodeId = ua.NodeId.from_string("i=2936") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=18197") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2948") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2936") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=18197") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2310") + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2936") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=18197") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2929") + ref.TargetNodeId = ua.NodeId.from_string("i=18190") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11323") - node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") + node.RequestedNewNodeId = ua.NodeId.from_string("i=18198") + node.BrowseName = ua.QualifiedName.from_string("FalseState") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2936") + node.ParentNodeId = ua.NodeId.from_string("i=18190") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionNumber") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.DisplayName = ua.LocalizedText("FalseState") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'Unlatched')], ua.VariantType.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -4467,100 +5475,109 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11323") + ref.SourceNodeId = ua.NodeId.from_string("i=18198") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11323") + ref.SourceNodeId = ua.NodeId.from_string("i=18198") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11323") + ref.SourceNodeId = ua.NodeId.from_string("i=18198") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2936") + ref.TargetNodeId = ua.NodeId.from_string("i=18190") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2940") - node.BrowseName = ua.QualifiedName.from_string("TimedShelvedToUnshelved") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16399") + node.BrowseName = ua.QualifiedName.from_string("") node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2929") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2310") + node.ParentNodeId = ua.NodeId.from_string("i=2915") + node.ReferenceTypeId = ua.NodeId.from_string("i=16361") + node.TypeDefinition = ua.NodeId.from_string("i=16405") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("TimedShelvedToUnshelved") + attrs.DisplayName = ua.LocalizedText("") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2940") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11324") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=2940") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16399") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2932") + ref.TargetNodeId = ua.NodeId.from_string("i=16405") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=2940") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16399") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2930") + ref.TargetNodeId = ua.NodeId.from_string("i=11508") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=54") - ref.SourceNodeId = ua.NodeId.from_string("i=2940") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=16361") + ref.SourceNodeId = ua.NodeId.from_string("i=16399") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2915") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16400") + node.BrowseName = ua.QualifiedName.from_string("ReAlarmTime") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2915") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("ReAlarmTime") + attrs.DataType = ua.NodeId.from_string("i=290") + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=53") - ref.SourceNodeId = ua.NodeId.from_string("i=2940") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16400") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2947") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2940") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16400") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2310") + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2940") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16400") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2929") + ref.TargetNodeId = ua.NodeId.from_string("i=2915") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11324") - node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16401") + node.BrowseName = ua.QualifiedName.from_string("ReAlarmRepeatCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2940") + node.ParentNodeId = ua.NodeId.from_string("i=2915") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionNumber") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.DisplayName = ua.LocalizedText("ReAlarmRepeatCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.Int16) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -4568,237 +5585,267 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11324") + ref.SourceNodeId = ua.NodeId.from_string("i=16401") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11324") + ref.SourceNodeId = ua.NodeId.from_string("i=16401") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11324") + ref.SourceNodeId = ua.NodeId.from_string("i=16401") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2940") + ref.TargetNodeId = ua.NodeId.from_string("i=2915") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2942") - node.BrowseName = ua.QualifiedName.from_string("TimedShelvedToOneShotShelved") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2929") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16402") + node.BrowseName = ua.QualifiedName.from_string("Silence") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=2915") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2310") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("TimedShelvedToOneShotShelved") - attrs.EventNotifier = 0 + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("Silence") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2942") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11325") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=2942") + ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") + ref.SourceNodeId = ua.NodeId.from_string("i=16402") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2932") + ref.TargetNodeId = ua.NodeId.from_string("i=17242") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=2942") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16402") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2933") + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=54") - ref.SourceNodeId = ua.NodeId.from_string("i=2942") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16402") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2915") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16403") + node.BrowseName = ua.QualifiedName.from_string("Suppress") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=2915") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("Suppress") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=53") - ref.SourceNodeId = ua.NodeId.from_string("i=2942") + ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") + ref.SourceNodeId = ua.NodeId.from_string("i=16403") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2948") + ref.TargetNodeId = ua.NodeId.from_string("i=17225") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2942") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16403") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2310") + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2942") + ref.SourceNodeId = ua.NodeId.from_string("i=16403") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2929") + ref.TargetNodeId = ua.NodeId.from_string("i=2915") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11325") - node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2942") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionNumber") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) - attrs.ValueRank = -1 + node.RequestedNewNodeId = ua.NodeId.from_string("i=17868") + node.BrowseName = ua.QualifiedName.from_string("Unsuppress") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=2915") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("Unsuppress") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11325") + ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") + ref.SourceNodeId = ua.NodeId.from_string("i=17868") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=17225") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11325") + ref.SourceNodeId = ua.NodeId.from_string("i=17868") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11325") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=17868") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2942") + ref.TargetNodeId = ua.NodeId.from_string("i=2915") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2943") - node.BrowseName = ua.QualifiedName.from_string("OneShotShelvedToUnshelved") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2929") + node.RequestedNewNodeId = ua.NodeId.from_string("i=17869") + node.BrowseName = ua.QualifiedName.from_string("RemoveFromService") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=2915") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2310") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("OneShotShelvedToUnshelved") - attrs.EventNotifier = 0 + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("RemoveFromService") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2943") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11326") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=2943") + ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") + ref.SourceNodeId = ua.NodeId.from_string("i=17869") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2933") + ref.TargetNodeId = ua.NodeId.from_string("i=17259") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=2943") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=17869") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2930") + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=54") - ref.SourceNodeId = ua.NodeId.from_string("i=2943") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=17869") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=2915") refs.append(ref) - ref = ua.AddReferencesItem() + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=17870") + node.BrowseName = ua.QualifiedName.from_string("PlaceInService") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=2915") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("PlaceInService") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=53") - ref.SourceNodeId = ua.NodeId.from_string("i=2943") + ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") + ref.SourceNodeId = ua.NodeId.from_string("i=17870") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2947") + ref.TargetNodeId = ua.NodeId.from_string("i=17259") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2943") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=17870") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2310") + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2943") + ref.SourceNodeId = ua.NodeId.from_string("i=17870") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2929") + ref.TargetNodeId = ua.NodeId.from_string("i=2915") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11326") - node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2943") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionNumber") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) - attrs.ValueRank = -1 + node.RequestedNewNodeId = ua.NodeId.from_string("i=18199") + node.BrowseName = ua.QualifiedName.from_string("Reset") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=2915") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("Reset") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11326") + ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") + ref.SourceNodeId = ua.NodeId.from_string("i=18199") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=17259") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11326") + ref.SourceNodeId = ua.NodeId.from_string("i=18199") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=80") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11326") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=18199") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2943") + ref.TargetNodeId = ua.NodeId.from_string("i=2915") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2945") - node.BrowseName = ua.QualifiedName.from_string("OneShotShelvedToTimedShelved") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16405") + node.BrowseName = ua.QualifiedName.from_string("AlarmGroupType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=61") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("AlarmGroupType") + attrs.IsAbstract = False + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=16362") + ref.SourceNodeId = ua.NodeId.from_string("i=16405") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16406") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=16405") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=61") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16406") + node.BrowseName = ua.QualifiedName.from_string("") node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2929") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2310") + node.ParentNodeId = ua.NodeId.from_string("i=16405") + node.ReferenceTypeId = ua.NodeId.from_string("i=16362") + node.TypeDefinition = ua.NodeId.from_string("i=2915") attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("OneShotShelvedToTimedShelved") + attrs.DisplayName = ua.LocalizedText("") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -4806,346 +5853,264 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2945") + ref.SourceNodeId = ua.NodeId.from_string("i=16406") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11327") + ref.TargetNodeId = ua.NodeId.from_string("i=16407") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=2945") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16406") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2933") + ref.TargetNodeId = ua.NodeId.from_string("i=16408") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=2945") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16406") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2932") + ref.TargetNodeId = ua.NodeId.from_string("i=16409") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=54") - ref.SourceNodeId = ua.NodeId.from_string("i=2945") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16406") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2915") + ref.TargetNodeId = ua.NodeId.from_string("i=16410") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=53") - ref.SourceNodeId = ua.NodeId.from_string("i=2945") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16406") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2949") + ref.TargetNodeId = ua.NodeId.from_string("i=16411") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2945") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16406") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2310") + ref.TargetNodeId = ua.NodeId.from_string("i=16412") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2945") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16406") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2929") + ref.TargetNodeId = ua.NodeId.from_string("i=16413") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11327") - node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2945") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionNumber") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11327") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16406") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=16414") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11327") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16406") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=16415") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11327") + ref.SourceNodeId = ua.NodeId.from_string("i=16406") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2945") + ref.TargetNodeId = ua.NodeId.from_string("i=16416") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2947") - node.BrowseName = ua.QualifiedName.from_string("Unshelve") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=2929") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("Unshelve") - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=53") - ref.SourceNodeId = ua.NodeId.from_string("i=2947") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16406") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2940") + ref.TargetNodeId = ua.NodeId.from_string("i=16417") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=53") - ref.SourceNodeId = ua.NodeId.from_string("i=2947") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16406") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2943") + ref.TargetNodeId = ua.NodeId.from_string("i=16420") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") - ref.SourceNodeId = ua.NodeId.from_string("i=2947") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16406") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11093") + ref.TargetNodeId = ua.NodeId.from_string("i=16421") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2947") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16406") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=16422") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2947") + ref.SourceNodeId = ua.NodeId.from_string("i=16406") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2929") + ref.TargetNodeId = ua.NodeId.from_string("i=16423") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2948") - node.BrowseName = ua.QualifiedName.from_string("OneShotShelve") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=2929") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("OneShotShelve") - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=53") - ref.SourceNodeId = ua.NodeId.from_string("i=2948") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16406") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2936") + ref.TargetNodeId = ua.NodeId.from_string("i=16432") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=53") - ref.SourceNodeId = ua.NodeId.from_string("i=2948") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16406") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2942") + ref.TargetNodeId = ua.NodeId.from_string("i=16434") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") - ref.SourceNodeId = ua.NodeId.from_string("i=2948") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16406") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11093") + ref.TargetNodeId = ua.NodeId.from_string("i=16436") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2948") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16406") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=16438") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2948") + ref.SourceNodeId = ua.NodeId.from_string("i=16406") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2929") + ref.TargetNodeId = ua.NodeId.from_string("i=16439") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2949") - node.BrowseName = ua.QualifiedName.from_string("TimedShelve") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=2929") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("TimedShelve") - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2949") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16406") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2991") + ref.TargetNodeId = ua.NodeId.from_string("i=16440") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=53") - ref.SourceNodeId = ua.NodeId.from_string("i=2949") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16406") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2935") + ref.TargetNodeId = ua.NodeId.from_string("i=16441") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=53") - ref.SourceNodeId = ua.NodeId.from_string("i=2949") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16406") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2945") + ref.TargetNodeId = ua.NodeId.from_string("i=16443") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") - ref.SourceNodeId = ua.NodeId.from_string("i=2949") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16406") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11093") + ref.TargetNodeId = ua.NodeId.from_string("i=16461") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2949") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16406") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=16465") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2949") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16406") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2929") + ref.TargetNodeId = ua.NodeId.from_string("i=16474") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16406") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16519") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2991") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2949") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") - value = [] - extobj = ua.Argument() - extobj.Name = ShelvingTime - extobj.DataType = ua.NodeId.from_string("i=290") - extobj.ValueRank = -1 - extobj.Description.Text = 'If not 0, this parameter specifies a fixed time for which the Alarm is to be shelved.' - value.append(extobj) - attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) - attrs.ValueRank = 1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2991") + ref.SourceNodeId = ua.NodeId.from_string("i=16406") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=2915") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2991") + ref.SourceNodeId = ua.NodeId.from_string("i=16406") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=11508") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2991") + ref.ReferenceTypeId = ua.NodeId.from_string("i=16362") + ref.SourceNodeId = ua.NodeId.from_string("i=16406") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2949") + ref.TargetNodeId = ua.NodeId.from_string("i=16405") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2955") - node.BrowseName = ua.QualifiedName.from_string("LimitAlarmType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2915") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("LimitAlarmType") - attrs.IsAbstract = False + node.RequestedNewNodeId = ua.NodeId.from_string("i=16407") + node.BrowseName = ua.QualifiedName.from_string("EventId") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16406") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.Description = ua.LocalizedText("A globally unique identifier for the event.") + attrs.DisplayName = ua.LocalizedText("EventId") + attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2955") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11124") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2955") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11125") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2955") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16407") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11126") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2955") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16407") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11127") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2955") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16407") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2915") + ref.TargetNodeId = ua.NodeId.from_string("i=16406") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11124") - node.BrowseName = ua.QualifiedName.from_string("HighHighLimit") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16408") + node.BrowseName = ua.QualifiedName.from_string("EventType") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2955") + node.ParentNodeId = ua.NodeId.from_string("i=16406") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("HighHighLimit") - attrs.DataType = ua.NodeId(ua.ObjectIds.Double) + attrs.Description = ua.LocalizedText("The identifier for the event type.") + attrs.DisplayName = ua.LocalizedText("EventType") + attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -5153,36 +6118,37 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11124") + ref.SourceNodeId = ua.NodeId.from_string("i=16408") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11124") + ref.SourceNodeId = ua.NodeId.from_string("i=16408") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11124") + ref.SourceNodeId = ua.NodeId.from_string("i=16408") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2955") + ref.TargetNodeId = ua.NodeId.from_string("i=16406") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11125") - node.BrowseName = ua.QualifiedName.from_string("HighLimit") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16409") + node.BrowseName = ua.QualifiedName.from_string("SourceNode") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2955") + node.ParentNodeId = ua.NodeId.from_string("i=16406") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("HighLimit") - attrs.DataType = ua.NodeId(ua.ObjectIds.Double) + attrs.Description = ua.LocalizedText("The source of the event.") + attrs.DisplayName = ua.LocalizedText("SourceNode") + attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -5190,36 +6156,37 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11125") + ref.SourceNodeId = ua.NodeId.from_string("i=16409") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11125") + ref.SourceNodeId = ua.NodeId.from_string("i=16409") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11125") + ref.SourceNodeId = ua.NodeId.from_string("i=16409") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2955") + ref.TargetNodeId = ua.NodeId.from_string("i=16406") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11126") - node.BrowseName = ua.QualifiedName.from_string("LowLimit") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16410") + node.BrowseName = ua.QualifiedName.from_string("SourceName") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2955") + node.ParentNodeId = ua.NodeId.from_string("i=16406") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LowLimit") - attrs.DataType = ua.NodeId(ua.ObjectIds.Double) + attrs.Description = ua.LocalizedText("A description of the source of the event.") + attrs.DisplayName = ua.LocalizedText("SourceName") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -5227,36 +6194,37 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11126") + ref.SourceNodeId = ua.NodeId.from_string("i=16410") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11126") + ref.SourceNodeId = ua.NodeId.from_string("i=16410") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11126") + ref.SourceNodeId = ua.NodeId.from_string("i=16410") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2955") + ref.TargetNodeId = ua.NodeId.from_string("i=16406") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11127") - node.BrowseName = ua.QualifiedName.from_string("LowLowLimit") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16411") + node.BrowseName = ua.QualifiedName.from_string("Time") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2955") + node.ParentNodeId = ua.NodeId.from_string("i=16406") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LowLowLimit") - attrs.DataType = ua.NodeId(ua.ObjectIds.Double) + attrs.Description = ua.LocalizedText("When the event occurred.") + attrs.DisplayName = ua.LocalizedText("Time") + attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -5264,163 +6232,188 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11127") + ref.SourceNodeId = ua.NodeId.from_string("i=16411") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11127") + ref.SourceNodeId = ua.NodeId.from_string("i=16411") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11127") + ref.SourceNodeId = ua.NodeId.from_string("i=16411") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2955") + ref.TargetNodeId = ua.NodeId.from_string("i=16406") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9318") - node.BrowseName = ua.QualifiedName.from_string("ExclusiveLimitStateMachineType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2771") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ExclusiveLimitStateMachineType") - attrs.IsAbstract = False + node.RequestedNewNodeId = ua.NodeId.from_string("i=16412") + node.BrowseName = ua.QualifiedName.from_string("ReceiveTime") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16406") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.Description = ua.LocalizedText("When the server received the event from the underlying system.") + attrs.DisplayName = ua.LocalizedText("ReceiveTime") + attrs.DataType = ua.NodeId.from_string("i=294") + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9318") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16412") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9329") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9318") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16412") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9331") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9318") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16412") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9333") + ref.TargetNodeId = ua.NodeId.from_string("i=16406") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16413") + node.BrowseName = ua.QualifiedName.from_string("LocalTime") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16406") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.Description = ua.LocalizedText("Information about the local time where the event originated.") + attrs.DisplayName = ua.LocalizedText("LocalTime") + attrs.DataType = ua.NodeId.from_string("i=8912") + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9318") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16413") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9335") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9318") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16413") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9337") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9318") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16413") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9338") + ref.TargetNodeId = ua.NodeId.from_string("i=16406") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16414") + node.BrowseName = ua.QualifiedName.from_string("Message") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16406") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.Description = ua.LocalizedText("A localized description of the event.") + attrs.DisplayName = ua.LocalizedText("Message") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9318") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16414") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9339") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9318") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16414") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9340") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=9318") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16414") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2771") + ref.TargetNodeId = ua.NodeId.from_string("i=16406") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9329") - node.BrowseName = ua.QualifiedName.from_string("HighHigh") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=9318") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2307") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("HighHigh") - attrs.EventNotifier = 0 + node.RequestedNewNodeId = ua.NodeId.from_string("i=16415") + node.BrowseName = ua.QualifiedName.from_string("Severity") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16406") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.Description = ua.LocalizedText("Indicates how urgent an event is.") + attrs.DisplayName = ua.LocalizedText("Severity") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9329") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9330") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=9329") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9339") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=9329") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16415") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9340") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9329") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16415") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2307") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9329") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16415") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9318") + ref.TargetNodeId = ua.NodeId.from_string("i=16406") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9330") - node.BrowseName = ua.QualifiedName.from_string("StateNumber") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16416") + node.BrowseName = ua.QualifiedName.from_string("ConditionClassId") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9329") + node.ParentNodeId = ua.NodeId.from_string("i=16406") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("StateNumber") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.DisplayName = ua.LocalizedText("ConditionClassId") + attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -5428,86 +6421,73 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9330") + ref.SourceNodeId = ua.NodeId.from_string("i=16416") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9330") + ref.SourceNodeId = ua.NodeId.from_string("i=16416") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9330") + ref.SourceNodeId = ua.NodeId.from_string("i=16416") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9329") + ref.TargetNodeId = ua.NodeId.from_string("i=16406") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9331") - node.BrowseName = ua.QualifiedName.from_string("High") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=9318") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2307") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("High") - attrs.EventNotifier = 0 + node.RequestedNewNodeId = ua.NodeId.from_string("i=16417") + node.BrowseName = ua.QualifiedName.from_string("ConditionClassName") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16406") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("ConditionClassName") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9331") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9332") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=9331") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9339") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=9331") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16417") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9340") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9331") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16417") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2307") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9331") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16417") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9318") + ref.TargetNodeId = ua.NodeId.from_string("i=16406") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9332") - node.BrowseName = ua.QualifiedName.from_string("StateNumber") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16420") + node.BrowseName = ua.QualifiedName.from_string("ConditionName") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9331") + node.ParentNodeId = ua.NodeId.from_string("i=16406") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("StateNumber") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.DisplayName = ua.LocalizedText("ConditionName") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -5515,86 +6495,73 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9332") + ref.SourceNodeId = ua.NodeId.from_string("i=16420") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9332") + ref.SourceNodeId = ua.NodeId.from_string("i=16420") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9332") + ref.SourceNodeId = ua.NodeId.from_string("i=16420") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9331") + ref.TargetNodeId = ua.NodeId.from_string("i=16406") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9333") - node.BrowseName = ua.QualifiedName.from_string("Low") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=9318") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2307") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Low") - attrs.EventNotifier = 0 + node.RequestedNewNodeId = ua.NodeId.from_string("i=16421") + node.BrowseName = ua.QualifiedName.from_string("BranchId") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16406") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("BranchId") + attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9333") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9334") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=9333") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9337") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=9333") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16421") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9338") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9333") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16421") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2307") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9333") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16421") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9318") + ref.TargetNodeId = ua.NodeId.from_string("i=16406") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9334") - node.BrowseName = ua.QualifiedName.from_string("StateNumber") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16422") + node.BrowseName = ua.QualifiedName.from_string("Retain") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9333") + node.ParentNodeId = ua.NodeId.from_string("i=16406") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("StateNumber") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.DisplayName = ua.LocalizedText("Retain") + attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -5602,86 +6569,80 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9334") + ref.SourceNodeId = ua.NodeId.from_string("i=16422") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9334") + ref.SourceNodeId = ua.NodeId.from_string("i=16422") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9334") + ref.SourceNodeId = ua.NodeId.from_string("i=16422") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9333") + ref.TargetNodeId = ua.NodeId.from_string("i=16406") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9335") - node.BrowseName = ua.QualifiedName.from_string("LowLow") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=9318") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16423") + node.BrowseName = ua.QualifiedName.from_string("EnabledState") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16406") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2307") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("LowLow") - attrs.EventNotifier = 0 + node.TypeDefinition = ua.NodeId.from_string("i=8995") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("EnabledState") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9335") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9336") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=9335") + ref.SourceNodeId = ua.NodeId.from_string("i=16423") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9337") + ref.TargetNodeId = ua.NodeId.from_string("i=16424") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=9335") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16423") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9338") + ref.TargetNodeId = ua.NodeId.from_string("i=8995") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9335") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16423") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2307") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9335") + ref.SourceNodeId = ua.NodeId.from_string("i=16423") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9318") + ref.TargetNodeId = ua.NodeId.from_string("i=16406") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9336") - node.BrowseName = ua.QualifiedName.from_string("StateNumber") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16424") + node.BrowseName = ua.QualifiedName.from_string("Id") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9335") + node.ParentNodeId = ua.NodeId.from_string("i=16423") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("StateNumber") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.DisplayName = ua.LocalizedText("Id") + attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -5689,86 +6650,80 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9336") + ref.SourceNodeId = ua.NodeId.from_string("i=16424") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9336") + ref.SourceNodeId = ua.NodeId.from_string("i=16424") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9336") + ref.SourceNodeId = ua.NodeId.from_string("i=16424") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9335") + ref.TargetNodeId = ua.NodeId.from_string("i=16423") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9337") - node.BrowseName = ua.QualifiedName.from_string("LowLowToLow") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=9318") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16432") + node.BrowseName = ua.QualifiedName.from_string("Quality") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16406") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2310") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("LowLowToLow") - attrs.EventNotifier = 0 + node.TypeDefinition = ua.NodeId.from_string("i=9002") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Quality") + attrs.DataType = ua.NodeId(ua.ObjectIds.StatusCode) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9337") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11340") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=9337") + ref.SourceNodeId = ua.NodeId.from_string("i=16432") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9335") + ref.TargetNodeId = ua.NodeId.from_string("i=16433") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=9337") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16432") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9333") + ref.TargetNodeId = ua.NodeId.from_string("i=9002") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9337") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16432") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2310") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9337") + ref.SourceNodeId = ua.NodeId.from_string("i=16432") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9318") + ref.TargetNodeId = ua.NodeId.from_string("i=16406") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11340") - node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16433") + node.BrowseName = ua.QualifiedName.from_string("SourceTimestamp") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9337") + node.ParentNodeId = ua.NodeId.from_string("i=16432") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionNumber") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.DisplayName = ua.LocalizedText("SourceTimestamp") + attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -5776,86 +6731,80 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11340") + ref.SourceNodeId = ua.NodeId.from_string("i=16433") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11340") + ref.SourceNodeId = ua.NodeId.from_string("i=16433") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11340") + ref.SourceNodeId = ua.NodeId.from_string("i=16433") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9337") + ref.TargetNodeId = ua.NodeId.from_string("i=16432") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9338") - node.BrowseName = ua.QualifiedName.from_string("LowToLowLow") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=9318") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16434") + node.BrowseName = ua.QualifiedName.from_string("LastSeverity") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16406") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2310") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("LowToLowLow") - attrs.EventNotifier = 0 + node.TypeDefinition = ua.NodeId.from_string("i=9002") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("LastSeverity") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9338") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11341") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=9338") + ref.SourceNodeId = ua.NodeId.from_string("i=16434") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9333") + ref.TargetNodeId = ua.NodeId.from_string("i=16435") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=9338") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16434") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9335") + ref.TargetNodeId = ua.NodeId.from_string("i=9002") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9338") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16434") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2310") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9338") + ref.SourceNodeId = ua.NodeId.from_string("i=16434") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9318") + ref.TargetNodeId = ua.NodeId.from_string("i=16406") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11341") - node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16435") + node.BrowseName = ua.QualifiedName.from_string("SourceTimestamp") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9338") + node.ParentNodeId = ua.NodeId.from_string("i=16434") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionNumber") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.DisplayName = ua.LocalizedText("SourceTimestamp") + attrs.DataType = ua.NodeId.from_string("i=294") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -5863,86 +6812,117 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11341") + ref.SourceNodeId = ua.NodeId.from_string("i=16435") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11341") + ref.SourceNodeId = ua.NodeId.from_string("i=16435") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11341") + ref.SourceNodeId = ua.NodeId.from_string("i=16435") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9338") + ref.TargetNodeId = ua.NodeId.from_string("i=16434") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9339") - node.BrowseName = ua.QualifiedName.from_string("HighHighToHigh") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=9318") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16436") + node.BrowseName = ua.QualifiedName.from_string("Comment") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16406") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2310") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("HighHighToHigh") - attrs.EventNotifier = 0 + node.TypeDefinition = ua.NodeId.from_string("i=9002") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Comment") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9339") + ref.SourceNodeId = ua.NodeId.from_string("i=16436") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11342") + ref.TargetNodeId = ua.NodeId.from_string("i=16437") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=9339") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16436") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9329") + ref.TargetNodeId = ua.NodeId.from_string("i=9002") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=9339") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16436") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9331") + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16436") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16406") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16437") + node.BrowseName = ua.QualifiedName.from_string("SourceTimestamp") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16436") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("SourceTimestamp") + attrs.DataType = ua.NodeId.from_string("i=294") + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9339") + ref.SourceNodeId = ua.NodeId.from_string("i=16437") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2310") + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16437") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9339") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16437") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9318") + ref.TargetNodeId = ua.NodeId.from_string("i=16436") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11342") - node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16438") + node.BrowseName = ua.QualifiedName.from_string("ClientUserId") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9339") + node.ParentNodeId = ua.NodeId.from_string("i=16406") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionNumber") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.DisplayName = ua.LocalizedText("ClientUserId") + attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -5950,157 +6930,195 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11342") + ref.SourceNodeId = ua.NodeId.from_string("i=16438") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11342") + ref.SourceNodeId = ua.NodeId.from_string("i=16438") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11342") + ref.SourceNodeId = ua.NodeId.from_string("i=16438") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9339") + ref.TargetNodeId = ua.NodeId.from_string("i=16406") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9340") - node.BrowseName = ua.QualifiedName.from_string("HighToHighHigh") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=9318") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16439") + node.BrowseName = ua.QualifiedName.from_string("Disable") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=16406") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2310") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("HighToHighHigh") - attrs.EventNotifier = 0 + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("Disable") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9340") + ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") + ref.SourceNodeId = ua.NodeId.from_string("i=16439") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11343") + ref.TargetNodeId = ua.NodeId.from_string("i=2803") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=9340") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16439") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9331") + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16439") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16406") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16440") + node.BrowseName = ua.QualifiedName.from_string("Enable") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=16406") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("Enable") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=9340") + ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") + ref.SourceNodeId = ua.NodeId.from_string("i=16440") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9329") + ref.TargetNodeId = ua.NodeId.from_string("i=2803") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9340") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16440") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2310") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9340") + ref.SourceNodeId = ua.NodeId.from_string("i=16440") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9318") + ref.TargetNodeId = ua.NodeId.from_string("i=16406") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11343") - node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9340") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionNumber") - attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) - attrs.ValueRank = -1 + node.RequestedNewNodeId = ua.NodeId.from_string("i=16441") + node.BrowseName = ua.QualifiedName.from_string("AddComment") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=16406") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("AddComment") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11343") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16441") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=16442") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") + ref.SourceNodeId = ua.NodeId.from_string("i=16441") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2829") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11343") + ref.SourceNodeId = ua.NodeId.from_string("i=16441") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11343") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16441") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9340") + ref.TargetNodeId = ua.NodeId.from_string("i=16406") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9341") - node.BrowseName = ua.QualifiedName.from_string("ExclusiveLimitAlarmType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2955") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ExclusiveLimitAlarmType") - attrs.IsAbstract = False + node.RequestedNewNodeId = ua.NodeId.from_string("i=16442") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=16441") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'EventId' + extobj.DataType = ua.NodeId.from_string("i=15") + extobj.ValueRank = -1 + extobj.Description.Text = 'The identifier for the event to comment.' + value.append(extobj) + extobj = ua.Argument() + extobj.Name = 'Comment' + extobj.DataType = ua.NodeId.from_string("i=21") + extobj.ValueRank = -1 + extobj.Description.Text = 'The comment to add to the condition.' + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9341") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16442") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9398") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9341") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16442") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9455") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=9341") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16442") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2955") + ref.TargetNodeId = ua.NodeId.from_string("i=16441") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9398") - node.BrowseName = ua.QualifiedName.from_string("ActiveState") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16443") + node.BrowseName = ua.QualifiedName.from_string("AckedState") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9341") + node.ParentNodeId = ua.NodeId.from_string("i=16406") node.ReferenceTypeId = ua.NodeId.from_string("i=47") node.TypeDefinition = ua.NodeId.from_string("i=8995") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ActiveState") + attrs.DisplayName = ua.LocalizedText("AckedState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -6109,45 +7127,38 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9398") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9399") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") - ref.SourceNodeId = ua.NodeId.from_string("i=9398") + ref.SourceNodeId = ua.NodeId.from_string("i=16443") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9455") + ref.TargetNodeId = ua.NodeId.from_string("i=16444") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9398") + ref.SourceNodeId = ua.NodeId.from_string("i=16443") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=8995") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9398") + ref.SourceNodeId = ua.NodeId.from_string("i=16443") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9398") + ref.SourceNodeId = ua.NodeId.from_string("i=16443") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9341") + ref.TargetNodeId = ua.NodeId.from_string("i=16406") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9399") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16444") node.BrowseName = ua.QualifiedName.from_string("Id") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9398") + node.ParentNodeId = ua.NodeId.from_string("i=16443") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() @@ -6160,224 +7171,208 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9399") + ref.SourceNodeId = ua.NodeId.from_string("i=16444") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9399") + ref.SourceNodeId = ua.NodeId.from_string("i=16444") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9399") + ref.SourceNodeId = ua.NodeId.from_string("i=16444") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9398") + ref.TargetNodeId = ua.NodeId.from_string("i=16443") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9455") - node.BrowseName = ua.QualifiedName.from_string("LimitState") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=9341") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16461") + node.BrowseName = ua.QualifiedName.from_string("Acknowledge") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=16406") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=9318") - attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("LimitState") - attrs.EventNotifier = 0 + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("Acknowledge") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9455") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16461") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9456") + ref.TargetNodeId = ua.NodeId.from_string("i=16462") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9455") + ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") + ref.SourceNodeId = ua.NodeId.from_string("i=16461") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9461") + ref.TargetNodeId = ua.NodeId.from_string("i=8944") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") - ref.SourceNodeId = ua.NodeId.from_string("i=9455") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16461") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9398") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9455") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9318") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9455") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9455") + ref.SourceNodeId = ua.NodeId.from_string("i=16461") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9341") + ref.TargetNodeId = ua.NodeId.from_string("i=16406") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9456") - node.BrowseName = ua.QualifiedName.from_string("CurrentState") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16462") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9455") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2760") + node.ParentNodeId = ua.NodeId.from_string("i=16461") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentState") - attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.ValueRank = -1 + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'EventId' + extobj.DataType = ua.NodeId.from_string("i=15") + extobj.ValueRank = -1 + extobj.Description.Text = 'The identifier for the event to comment.' + value.append(extobj) + extobj = ua.Argument() + extobj.Name = 'Comment' + extobj.DataType = ua.NodeId.from_string("i=21") + extobj.ValueRank = -1 + extobj.Description.Text = 'The comment to add to the condition.' + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9456") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9457") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9456") + ref.SourceNodeId = ua.NodeId.from_string("i=16462") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2760") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9456") + ref.SourceNodeId = ua.NodeId.from_string("i=16462") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9456") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16462") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9455") + ref.TargetNodeId = ua.NodeId.from_string("i=16461") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9457") - node.BrowseName = ua.QualifiedName.from_string("Id") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16465") + node.BrowseName = ua.QualifiedName.from_string("ActiveState") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9456") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.ParentNodeId = ua.NodeId.from_string("i=16406") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=8995") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") - attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) + attrs.DisplayName = ua.LocalizedText("ActiveState") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16465") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16466") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9457") + ref.SourceNodeId = ua.NodeId.from_string("i=16465") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=8995") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9457") + ref.SourceNodeId = ua.NodeId.from_string("i=16465") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9457") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=16465") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9456") + ref.TargetNodeId = ua.NodeId.from_string("i=16406") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9461") - node.BrowseName = ua.QualifiedName.from_string("LastTransition") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16466") + node.BrowseName = ua.QualifiedName.from_string("Id") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9455") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2767") + node.ParentNodeId = ua.NodeId.from_string("i=16465") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LastTransition") - attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.DisplayName = ua.LocalizedText("Id") + attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9461") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9462") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9461") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9465") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9461") + ref.SourceNodeId = ua.NodeId.from_string("i=16466") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2767") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9461") + ref.SourceNodeId = ua.NodeId.from_string("i=16466") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9461") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16466") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9455") + ref.TargetNodeId = ua.NodeId.from_string("i=16465") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9462") - node.BrowseName = ua.QualifiedName.from_string("Id") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16474") + node.BrowseName = ua.QualifiedName.from_string("InputNode") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9461") + node.ParentNodeId = ua.NodeId.from_string("i=16406") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") + attrs.DisplayName = ua.LocalizedText("InputNode") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -6386,36 +7381,36 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9462") + ref.SourceNodeId = ua.NodeId.from_string("i=16474") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9462") + ref.SourceNodeId = ua.NodeId.from_string("i=16474") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9462") + ref.SourceNodeId = ua.NodeId.from_string("i=16474") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9461") + ref.TargetNodeId = ua.NodeId.from_string("i=16406") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9465") - node.BrowseName = ua.QualifiedName.from_string("TransitionTime") + node.RequestedNewNodeId = ua.NodeId.from_string("i=16519") + node.BrowseName = ua.QualifiedName.from_string("SuppressedOrShelved") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9461") + node.ParentNodeId = ua.NodeId.from_string("i=16406") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = ua.LocalizedText("SuppressedOrShelved") + attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -6423,164 +7418,148 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9465") + ref.SourceNodeId = ua.NodeId.from_string("i=16519") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9465") + ref.SourceNodeId = ua.NodeId.from_string("i=16519") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9465") + ref.SourceNodeId = ua.NodeId.from_string("i=16519") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9461") + ref.TargetNodeId = ua.NodeId.from_string("i=16406") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9906") - node.BrowseName = ua.QualifiedName.from_string("NonExclusiveLimitAlarmType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2929") + node.BrowseName = ua.QualifiedName.from_string("ShelvedStateMachineType") node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2955") + node.ParentNodeId = ua.NodeId.from_string("i=2771") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("NonExclusiveLimitAlarmType") + attrs.DisplayName = ua.LocalizedText("ShelvedStateMachineType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9906") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2929") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9963") + ref.TargetNodeId = ua.NodeId.from_string("i=9115") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9906") + ref.SourceNodeId = ua.NodeId.from_string("i=2929") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10020") + ref.TargetNodeId = ua.NodeId.from_string("i=2930") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9906") + ref.SourceNodeId = ua.NodeId.from_string("i=2929") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10029") + ref.TargetNodeId = ua.NodeId.from_string("i=2932") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9906") + ref.SourceNodeId = ua.NodeId.from_string("i=2929") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10038") + ref.TargetNodeId = ua.NodeId.from_string("i=2933") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9906") + ref.SourceNodeId = ua.NodeId.from_string("i=2929") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10047") + ref.TargetNodeId = ua.NodeId.from_string("i=2935") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=9906") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2929") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2955") + ref.TargetNodeId = ua.NodeId.from_string("i=2936") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9963") - node.BrowseName = ua.QualifiedName.from_string("ActiveState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9906") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=8995") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ActiveState") - attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9963") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2929") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9964") + ref.TargetNodeId = ua.NodeId.from_string("i=2940") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") - ref.SourceNodeId = ua.NodeId.from_string("i=9963") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2929") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10020") + ref.TargetNodeId = ua.NodeId.from_string("i=2942") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") - ref.SourceNodeId = ua.NodeId.from_string("i=9963") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2929") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10029") + ref.TargetNodeId = ua.NodeId.from_string("i=2943") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") - ref.SourceNodeId = ua.NodeId.from_string("i=9963") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2929") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10038") + ref.TargetNodeId = ua.NodeId.from_string("i=2945") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") - ref.SourceNodeId = ua.NodeId.from_string("i=9963") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2929") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10047") + ref.TargetNodeId = ua.NodeId.from_string("i=2949") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9963") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2929") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8995") + ref.TargetNodeId = ua.NodeId.from_string("i=2947") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9963") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2929") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=2948") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9963") + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=2929") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9906") + ref.TargetNodeId = ua.NodeId.from_string("i=2771") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9964") - node.BrowseName = ua.QualifiedName.from_string("Id") + node.RequestedNewNodeId = ua.NodeId.from_string("i=9115") + node.BrowseName = ua.QualifiedName.from_string("UnshelveTime") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9963") + node.ParentNodeId = ua.NodeId.from_string("i=2929") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") - attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) + attrs.DisplayName = ua.LocalizedText("UnshelveTime") + attrs.DataType = ua.NodeId.from_string("i=290") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -6588,94 +7567,100 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9964") + ref.SourceNodeId = ua.NodeId.from_string("i=9115") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9964") + ref.SourceNodeId = ua.NodeId.from_string("i=9115") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9964") + ref.SourceNodeId = ua.NodeId.from_string("i=9115") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9963") + ref.TargetNodeId = ua.NodeId.from_string("i=2929") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=10020") - node.BrowseName = ua.QualifiedName.from_string("HighHighState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9906") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2930") + node.BrowseName = ua.QualifiedName.from_string("Unshelved") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=2929") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=8995") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("HighHighState") - attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.ValueRank = -1 + node.TypeDefinition = ua.NodeId.from_string("i=2307") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Unshelved") + attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10020") + ref.SourceNodeId = ua.NodeId.from_string("i=2930") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10021") + ref.TargetNodeId = ua.NodeId.from_string("i=6098") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10020") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=51") + ref.SourceNodeId = ua.NodeId.from_string("i=2930") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10025") + ref.TargetNodeId = ua.NodeId.from_string("i=2935") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") - ref.SourceNodeId = ua.NodeId.from_string("i=10020") + ref.ReferenceTypeId = ua.NodeId.from_string("i=51") + ref.SourceNodeId = ua.NodeId.from_string("i=2930") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9963") + ref.TargetNodeId = ua.NodeId.from_string("i=2936") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=10020") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=52") + ref.SourceNodeId = ua.NodeId.from_string("i=2930") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8995") + ref.TargetNodeId = ua.NodeId.from_string("i=2940") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=52") + ref.SourceNodeId = ua.NodeId.from_string("i=2930") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2943") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=10020") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=2930") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.TargetNodeId = ua.NodeId.from_string("i=2307") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=10020") + ref.SourceNodeId = ua.NodeId.from_string("i=2930") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9906") + ref.TargetNodeId = ua.NodeId.from_string("i=2929") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=10021") - node.BrowseName = ua.QualifiedName.from_string("Id") + node.RequestedNewNodeId = ua.NodeId.from_string("i=6098") + node.BrowseName = ua.QualifiedName.from_string("StateNumber") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=10020") + node.ParentNodeId = ua.NodeId.from_string("i=2930") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") - attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) + attrs.DisplayName = ua.LocalizedText("StateNumber") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -6683,36 +7668,100 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=10021") + ref.SourceNodeId = ua.NodeId.from_string("i=6098") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=10021") + ref.SourceNodeId = ua.NodeId.from_string("i=6098") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10021") + ref.SourceNodeId = ua.NodeId.from_string("i=6098") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10020") + ref.TargetNodeId = ua.NodeId.from_string("i=2930") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=10025") - node.BrowseName = ua.QualifiedName.from_string("TransitionTime") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2932") + node.BrowseName = ua.QualifiedName.from_string("TimedShelved") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=2929") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=2307") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Timed Shelved") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2932") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=6100") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=52") + ref.SourceNodeId = ua.NodeId.from_string("i=2932") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2935") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=51") + ref.SourceNodeId = ua.NodeId.from_string("i=2932") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2940") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=51") + ref.SourceNodeId = ua.NodeId.from_string("i=2932") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2942") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=52") + ref.SourceNodeId = ua.NodeId.from_string("i=2932") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2945") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=2932") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2307") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2932") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2929") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=6100") + node.BrowseName = ua.QualifiedName.from_string("StateNumber") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=10020") + node.ParentNodeId = ua.NodeId.from_string("i=2932") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = ua.LocalizedText("StateNumber") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -6720,94 +7769,100 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=10025") + ref.SourceNodeId = ua.NodeId.from_string("i=6100") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=10025") + ref.SourceNodeId = ua.NodeId.from_string("i=6100") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10025") + ref.SourceNodeId = ua.NodeId.from_string("i=6100") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10020") + ref.TargetNodeId = ua.NodeId.from_string("i=2932") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=10029") - node.BrowseName = ua.QualifiedName.from_string("HighState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9906") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2933") + node.BrowseName = ua.QualifiedName.from_string("OneShotShelved") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=2929") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=8995") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("HighState") - attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.ValueRank = -1 + node.TypeDefinition = ua.NodeId.from_string("i=2307") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("One Shot Shelved") + attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10029") + ref.SourceNodeId = ua.NodeId.from_string("i=2933") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10030") + ref.TargetNodeId = ua.NodeId.from_string("i=6101") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10029") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=52") + ref.SourceNodeId = ua.NodeId.from_string("i=2933") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10034") + ref.TargetNodeId = ua.NodeId.from_string("i=2936") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") - ref.SourceNodeId = ua.NodeId.from_string("i=10029") + ref.ReferenceTypeId = ua.NodeId.from_string("i=52") + ref.SourceNodeId = ua.NodeId.from_string("i=2933") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9963") + ref.TargetNodeId = ua.NodeId.from_string("i=2942") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=10029") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=51") + ref.SourceNodeId = ua.NodeId.from_string("i=2933") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8995") + ref.TargetNodeId = ua.NodeId.from_string("i=2943") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=51") + ref.SourceNodeId = ua.NodeId.from_string("i=2933") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2945") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=10029") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=2933") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.TargetNodeId = ua.NodeId.from_string("i=2307") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=10029") + ref.SourceNodeId = ua.NodeId.from_string("i=2933") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9906") + ref.TargetNodeId = ua.NodeId.from_string("i=2929") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=10030") - node.BrowseName = ua.QualifiedName.from_string("Id") + node.RequestedNewNodeId = ua.NodeId.from_string("i=6101") + node.BrowseName = ua.QualifiedName.from_string("StateNumber") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=10029") + node.ParentNodeId = ua.NodeId.from_string("i=2933") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") - attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) + attrs.DisplayName = ua.LocalizedText("StateNumber") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -6815,131 +7870,100 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=10030") + ref.SourceNodeId = ua.NodeId.from_string("i=6101") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=10030") + ref.SourceNodeId = ua.NodeId.from_string("i=6101") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10030") + ref.SourceNodeId = ua.NodeId.from_string("i=6101") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10029") + ref.TargetNodeId = ua.NodeId.from_string("i=2933") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=10034") - node.BrowseName = ua.QualifiedName.from_string("TransitionTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=10029") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionTime") - attrs.DataType = ua.NodeId.from_string("i=294") - attrs.ValueRank = -1 - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=10034") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=10034") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10034") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10029") - refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=10038") - node.BrowseName = ua.QualifiedName.from_string("LowState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9906") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2935") + node.BrowseName = ua.QualifiedName.from_string("UnshelvedToTimedShelved") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=2929") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=8995") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LowState") - attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.ValueRank = -1 + node.TypeDefinition = ua.NodeId.from_string("i=2310") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("UnshelvedToTimedShelved") + attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10038") + ref.SourceNodeId = ua.NodeId.from_string("i=2935") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10039") + ref.TargetNodeId = ua.NodeId.from_string("i=11322") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10038") + ref.ReferenceTypeId = ua.NodeId.from_string("i=51") + ref.SourceNodeId = ua.NodeId.from_string("i=2935") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10043") + ref.TargetNodeId = ua.NodeId.from_string("i=2930") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") - ref.SourceNodeId = ua.NodeId.from_string("i=10038") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=52") + ref.SourceNodeId = ua.NodeId.from_string("i=2935") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9963") + ref.TargetNodeId = ua.NodeId.from_string("i=2932") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=10038") + ref.ReferenceTypeId = ua.NodeId.from_string("i=54") + ref.SourceNodeId = ua.NodeId.from_string("i=2935") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8995") + ref.TargetNodeId = ua.NodeId.from_string("i=2915") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=10038") + ref.ReferenceTypeId = ua.NodeId.from_string("i=53") + ref.SourceNodeId = ua.NodeId.from_string("i=2935") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.TargetNodeId = ua.NodeId.from_string("i=2949") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=2935") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2310") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=10038") + ref.SourceNodeId = ua.NodeId.from_string("i=2935") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9906") + ref.TargetNodeId = ua.NodeId.from_string("i=2929") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=10039") - node.BrowseName = ua.QualifiedName.from_string("Id") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11322") + node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=10038") + node.ParentNodeId = ua.NodeId.from_string("i=2935") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") - attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) + attrs.DisplayName = ua.LocalizedText("TransitionNumber") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -6947,36 +7971,100 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=10039") + ref.SourceNodeId = ua.NodeId.from_string("i=11322") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=10039") + ref.SourceNodeId = ua.NodeId.from_string("i=11322") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10039") + ref.SourceNodeId = ua.NodeId.from_string("i=11322") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10038") + ref.TargetNodeId = ua.NodeId.from_string("i=2935") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=10043") - node.BrowseName = ua.QualifiedName.from_string("TransitionTime") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2936") + node.BrowseName = ua.QualifiedName.from_string("UnshelvedToOneShotShelved") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=2929") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=2310") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("UnshelvedToOneShotShelved") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2936") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11323") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=51") + ref.SourceNodeId = ua.NodeId.from_string("i=2936") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2930") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=52") + ref.SourceNodeId = ua.NodeId.from_string("i=2936") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2933") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=54") + ref.SourceNodeId = ua.NodeId.from_string("i=2936") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2915") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=53") + ref.SourceNodeId = ua.NodeId.from_string("i=2936") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2948") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=2936") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2310") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2936") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2929") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=11323") + node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=10038") + node.ParentNodeId = ua.NodeId.from_string("i=2936") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = ua.LocalizedText("TransitionNumber") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -6984,94 +8072,100 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=10043") + ref.SourceNodeId = ua.NodeId.from_string("i=11323") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=10043") + ref.SourceNodeId = ua.NodeId.from_string("i=11323") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10043") + ref.SourceNodeId = ua.NodeId.from_string("i=11323") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10038") + ref.TargetNodeId = ua.NodeId.from_string("i=2936") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=10047") - node.BrowseName = ua.QualifiedName.from_string("LowLowState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9906") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2940") + node.BrowseName = ua.QualifiedName.from_string("TimedShelvedToUnshelved") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=2929") node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=8995") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LowLowState") - attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.ValueRank = -1 + node.TypeDefinition = ua.NodeId.from_string("i=2310") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("TimedShelvedToUnshelved") + attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10047") + ref.SourceNodeId = ua.NodeId.from_string("i=2940") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10048") + ref.TargetNodeId = ua.NodeId.from_string("i=11324") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10047") + ref.ReferenceTypeId = ua.NodeId.from_string("i=51") + ref.SourceNodeId = ua.NodeId.from_string("i=2940") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10052") + ref.TargetNodeId = ua.NodeId.from_string("i=2932") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") - ref.SourceNodeId = ua.NodeId.from_string("i=10047") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=52") + ref.SourceNodeId = ua.NodeId.from_string("i=2940") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9963") + ref.TargetNodeId = ua.NodeId.from_string("i=2930") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=10047") + ref.ReferenceTypeId = ua.NodeId.from_string("i=54") + ref.SourceNodeId = ua.NodeId.from_string("i=2940") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8995") + ref.TargetNodeId = ua.NodeId.from_string("i=2915") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=10047") + ref.ReferenceTypeId = ua.NodeId.from_string("i=53") + ref.SourceNodeId = ua.NodeId.from_string("i=2940") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.TargetNodeId = ua.NodeId.from_string("i=2947") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=2940") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2310") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=10047") + ref.SourceNodeId = ua.NodeId.from_string("i=2940") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9906") + ref.TargetNodeId = ua.NodeId.from_string("i=2929") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=10048") - node.BrowseName = ua.QualifiedName.from_string("Id") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11324") + node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=10047") + node.ParentNodeId = ua.NodeId.from_string("i=2940") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") - attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) + attrs.DisplayName = ua.LocalizedText("TransitionNumber") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -7079,71 +8173,4217 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=10048") + ref.SourceNodeId = ua.NodeId.from_string("i=11324") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=10048") + ref.SourceNodeId = ua.NodeId.from_string("i=11324") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10048") + ref.SourceNodeId = ua.NodeId.from_string("i=11324") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10047") + ref.TargetNodeId = ua.NodeId.from_string("i=2940") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=2942") + node.BrowseName = ua.QualifiedName.from_string("TimedShelvedToOneShotShelved") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=2929") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=2310") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("TimedShelvedToOneShotShelved") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2942") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11325") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=51") + ref.SourceNodeId = ua.NodeId.from_string("i=2942") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2932") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=52") + ref.SourceNodeId = ua.NodeId.from_string("i=2942") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2933") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=54") + ref.SourceNodeId = ua.NodeId.from_string("i=2942") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2915") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=53") + ref.SourceNodeId = ua.NodeId.from_string("i=2942") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2948") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=2942") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2310") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2942") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2929") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=11325") + node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2942") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("TransitionNumber") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=11325") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=11325") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11325") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2942") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=2943") + node.BrowseName = ua.QualifiedName.from_string("OneShotShelvedToUnshelved") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=2929") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=2310") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("OneShotShelvedToUnshelved") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2943") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11326") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=51") + ref.SourceNodeId = ua.NodeId.from_string("i=2943") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2933") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=52") + ref.SourceNodeId = ua.NodeId.from_string("i=2943") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2930") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=54") + ref.SourceNodeId = ua.NodeId.from_string("i=2943") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2915") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=53") + ref.SourceNodeId = ua.NodeId.from_string("i=2943") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2947") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=2943") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2310") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2943") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2929") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=11326") + node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2943") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("TransitionNumber") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=11326") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=11326") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11326") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2943") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=2945") + node.BrowseName = ua.QualifiedName.from_string("OneShotShelvedToTimedShelved") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=2929") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=2310") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("OneShotShelvedToTimedShelved") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2945") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11327") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=51") + ref.SourceNodeId = ua.NodeId.from_string("i=2945") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2933") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=52") + ref.SourceNodeId = ua.NodeId.from_string("i=2945") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2932") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=54") + ref.SourceNodeId = ua.NodeId.from_string("i=2945") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2915") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=53") + ref.SourceNodeId = ua.NodeId.from_string("i=2945") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2949") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=2945") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2310") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2945") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2929") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=11327") + node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2945") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("TransitionNumber") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=11327") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=11327") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11327") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2945") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=2949") + node.BrowseName = ua.QualifiedName.from_string("TimedShelve") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=2929") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("TimedShelve") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2949") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2991") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=53") + ref.SourceNodeId = ua.NodeId.from_string("i=2949") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2935") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=53") + ref.SourceNodeId = ua.NodeId.from_string("i=2949") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2945") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") + ref.SourceNodeId = ua.NodeId.from_string("i=2949") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11093") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=2949") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2949") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2929") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=2991") + node.BrowseName = ua.QualifiedName.from_string("InputArguments") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2949") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DataType = ua.NodeId.from_string("i=296") + value = [] + extobj = ua.Argument() + extobj.Name = 'ShelvingTime' + extobj.DataType = ua.NodeId.from_string("i=290") + extobj.ValueRank = -1 + extobj.Description.Text = 'If not 0, this parameter specifies a fixed time for which the Alarm is to be shelved.' + value.append(extobj) + attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) + attrs.ValueRank = 1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=2991") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=2991") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2991") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2949") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=2947") + node.BrowseName = ua.QualifiedName.from_string("Unshelve") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=2929") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("Unshelve") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=53") + ref.SourceNodeId = ua.NodeId.from_string("i=2947") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2940") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=53") + ref.SourceNodeId = ua.NodeId.from_string("i=2947") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2943") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") + ref.SourceNodeId = ua.NodeId.from_string("i=2947") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11093") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=2947") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2947") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2929") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=2948") + node.BrowseName = ua.QualifiedName.from_string("OneShotShelve") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=2929") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("OneShotShelve") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=53") + ref.SourceNodeId = ua.NodeId.from_string("i=2948") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2936") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=53") + ref.SourceNodeId = ua.NodeId.from_string("i=2948") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2942") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") + ref.SourceNodeId = ua.NodeId.from_string("i=2948") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11093") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=2948") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=2948") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2929") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=2955") + node.BrowseName = ua.QualifiedName.from_string("LimitAlarmType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=2915") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("LimitAlarmType") + attrs.IsAbstract = False + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2955") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11124") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2955") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11125") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2955") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11126") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2955") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11127") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2955") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16572") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2955") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16573") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2955") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16574") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2955") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16575") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=2955") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2915") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=11124") + node.BrowseName = ua.QualifiedName.from_string("HighHighLimit") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2955") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("HighHighLimit") + attrs.DataType = ua.NodeId(ua.ObjectIds.Double) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=11124") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=11124") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11124") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2955") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=11125") + node.BrowseName = ua.QualifiedName.from_string("HighLimit") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2955") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("HighLimit") + attrs.DataType = ua.NodeId(ua.ObjectIds.Double) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=11125") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=11125") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11125") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2955") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=11126") + node.BrowseName = ua.QualifiedName.from_string("LowLimit") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2955") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("LowLimit") + attrs.DataType = ua.NodeId(ua.ObjectIds.Double) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=11126") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=11126") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11126") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2955") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=11127") + node.BrowseName = ua.QualifiedName.from_string("LowLowLimit") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2955") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("LowLowLimit") + attrs.DataType = ua.NodeId(ua.ObjectIds.Double) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=11127") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=11127") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11127") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2955") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16572") + node.BrowseName = ua.QualifiedName.from_string("BaseHighHighLimit") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2955") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("BaseHighHighLimit") + attrs.DataType = ua.NodeId(ua.ObjectIds.Double) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16572") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16572") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16572") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2955") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16573") + node.BrowseName = ua.QualifiedName.from_string("BaseHighLimit") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2955") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("BaseHighLimit") + attrs.DataType = ua.NodeId(ua.ObjectIds.Double) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16573") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16573") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16573") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2955") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16574") + node.BrowseName = ua.QualifiedName.from_string("BaseLowLimit") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2955") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("BaseLowLimit") + attrs.DataType = ua.NodeId(ua.ObjectIds.Double) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16574") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16574") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16574") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2955") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16575") + node.BrowseName = ua.QualifiedName.from_string("BaseLowLowLimit") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2955") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("BaseLowLowLimit") + attrs.DataType = ua.NodeId(ua.ObjectIds.Double) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16575") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16575") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16575") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2955") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=9318") + node.BrowseName = ua.QualifiedName.from_string("ExclusiveLimitStateMachineType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=2771") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("ExclusiveLimitStateMachineType") + attrs.IsAbstract = False + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=9318") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9329") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=9318") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9331") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=9318") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9333") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=9318") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9335") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=9318") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9337") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=9318") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9338") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=9318") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9339") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=9318") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9340") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=9318") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2771") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=9329") + node.BrowseName = ua.QualifiedName.from_string("HighHigh") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=9318") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=2307") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("HighHigh") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9329") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9330") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=51") + ref.SourceNodeId = ua.NodeId.from_string("i=9329") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9339") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=52") + ref.SourceNodeId = ua.NodeId.from_string("i=9329") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9340") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=9329") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2307") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=9329") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9318") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=9330") + node.BrowseName = ua.QualifiedName.from_string("StateNumber") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=9329") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("StateNumber") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=9330") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=9330") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9330") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9329") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=9331") + node.BrowseName = ua.QualifiedName.from_string("High") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=9318") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=2307") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("High") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9331") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9332") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=52") + ref.SourceNodeId = ua.NodeId.from_string("i=9331") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9339") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=51") + ref.SourceNodeId = ua.NodeId.from_string("i=9331") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9340") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=9331") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2307") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=9331") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9318") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=9332") + node.BrowseName = ua.QualifiedName.from_string("StateNumber") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=9331") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("StateNumber") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=9332") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=9332") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9332") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9331") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=9333") + node.BrowseName = ua.QualifiedName.from_string("Low") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=9318") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=2307") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("Low") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9333") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9334") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=52") + ref.SourceNodeId = ua.NodeId.from_string("i=9333") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9337") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=51") + ref.SourceNodeId = ua.NodeId.from_string("i=9333") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9338") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=9333") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2307") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=9333") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9318") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=9334") + node.BrowseName = ua.QualifiedName.from_string("StateNumber") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=9333") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("StateNumber") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=9334") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=9334") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9334") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9333") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=9335") + node.BrowseName = ua.QualifiedName.from_string("LowLow") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=9318") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=2307") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("LowLow") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9335") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9336") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=51") + ref.SourceNodeId = ua.NodeId.from_string("i=9335") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9337") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=52") + ref.SourceNodeId = ua.NodeId.from_string("i=9335") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9338") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=9335") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2307") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=9335") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9318") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=9336") + node.BrowseName = ua.QualifiedName.from_string("StateNumber") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=9335") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("StateNumber") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=9336") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=9336") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9336") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9335") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=9337") + node.BrowseName = ua.QualifiedName.from_string("LowLowToLow") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=9318") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=2310") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("LowLowToLow") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9337") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11340") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=51") + ref.SourceNodeId = ua.NodeId.from_string("i=9337") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9335") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=52") + ref.SourceNodeId = ua.NodeId.from_string("i=9337") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9333") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=9337") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2310") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=9337") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9318") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=11340") + node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=9337") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("TransitionNumber") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=11340") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=11340") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11340") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9337") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=9338") + node.BrowseName = ua.QualifiedName.from_string("LowToLowLow") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=9318") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=2310") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("LowToLowLow") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9338") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11341") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=51") + ref.SourceNodeId = ua.NodeId.from_string("i=9338") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9333") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=52") + ref.SourceNodeId = ua.NodeId.from_string("i=9338") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9335") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=9338") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2310") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=9338") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9318") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=11341") + node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=9338") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("TransitionNumber") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=11341") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=11341") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11341") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9338") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=9339") + node.BrowseName = ua.QualifiedName.from_string("HighHighToHigh") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=9318") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=2310") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("HighHighToHigh") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9339") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11342") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=51") + ref.SourceNodeId = ua.NodeId.from_string("i=9339") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9329") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=52") + ref.SourceNodeId = ua.NodeId.from_string("i=9339") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9331") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=9339") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2310") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=9339") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9318") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=11342") + node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=9339") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("TransitionNumber") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=11342") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=11342") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11342") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9339") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=9340") + node.BrowseName = ua.QualifiedName.from_string("HighToHighHigh") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=9318") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=2310") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("HighToHighHigh") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9340") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11343") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=51") + ref.SourceNodeId = ua.NodeId.from_string("i=9340") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9331") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=52") + ref.SourceNodeId = ua.NodeId.from_string("i=9340") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9329") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=9340") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2310") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=9340") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9318") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=11343") + node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=9340") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("TransitionNumber") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=11343") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=11343") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11343") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9340") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=9341") + node.BrowseName = ua.QualifiedName.from_string("ExclusiveLimitAlarmType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=2955") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("ExclusiveLimitAlarmType") + attrs.IsAbstract = False + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=9341") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9398") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=9341") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9455") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=9341") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2955") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=9398") + node.BrowseName = ua.QualifiedName.from_string("ActiveState") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=9341") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=8995") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("ActiveState") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9398") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9399") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") + ref.SourceNodeId = ua.NodeId.from_string("i=9398") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9455") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=9398") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8995") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=9398") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=9398") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9341") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=9399") + node.BrowseName = ua.QualifiedName.from_string("Id") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=9398") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Id") + attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=9399") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=9399") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9399") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9398") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=9455") + node.BrowseName = ua.QualifiedName.from_string("LimitState") + node.NodeClass = ua.NodeClass.Object + node.ParentNodeId = ua.NodeId.from_string("i=9341") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=9318") + attrs = ua.ObjectAttributes() + attrs.DisplayName = ua.LocalizedText("LimitState") + attrs.EventNotifier = 0 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=9455") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9456") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=9455") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9461") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") + ref.SourceNodeId = ua.NodeId.from_string("i=9455") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9398") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=9455") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9318") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=9455") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=9455") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9341") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=9456") + node.BrowseName = ua.QualifiedName.from_string("CurrentState") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=9455") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=2760") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("CurrentState") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9456") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9457") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=9456") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2760") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=9456") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=9456") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9455") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=9457") + node.BrowseName = ua.QualifiedName.from_string("Id") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=9456") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Id") + attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=9457") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=9457") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9457") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9456") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=9461") + node.BrowseName = ua.QualifiedName.from_string("LastTransition") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=9455") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=2767") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("LastTransition") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9461") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9462") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9461") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9465") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=9461") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2767") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=9461") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=9461") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9455") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=9462") + node.BrowseName = ua.QualifiedName.from_string("Id") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=9461") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Id") + attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=9462") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=9462") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9462") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9461") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=9465") + node.BrowseName = ua.QualifiedName.from_string("TransitionTime") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=9461") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("TransitionTime") + attrs.DataType = ua.NodeId.from_string("i=294") + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=9465") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=9465") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9465") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9461") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=9906") + node.BrowseName = ua.QualifiedName.from_string("NonExclusiveLimitAlarmType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=2955") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("NonExclusiveLimitAlarmType") + attrs.IsAbstract = False + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=9906") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9963") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=9906") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=10020") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=9906") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=10029") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=9906") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=10038") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=9906") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=10047") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=9906") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2955") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=9963") + node.BrowseName = ua.QualifiedName.from_string("ActiveState") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=9906") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=8995") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("ActiveState") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9963") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9964") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") + ref.SourceNodeId = ua.NodeId.from_string("i=9963") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=10020") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") + ref.SourceNodeId = ua.NodeId.from_string("i=9963") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=10029") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") + ref.SourceNodeId = ua.NodeId.from_string("i=9963") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=10038") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") + ref.SourceNodeId = ua.NodeId.from_string("i=9963") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=10047") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=9963") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8995") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=9963") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=9963") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9906") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=9964") + node.BrowseName = ua.QualifiedName.from_string("Id") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=9963") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Id") + attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=9964") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=9964") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9964") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9963") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=10020") + node.BrowseName = ua.QualifiedName.from_string("HighHighState") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=9906") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=8995") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("HighHighState") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=10020") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=10021") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=10020") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=10025") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=10020") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=10027") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=10020") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=10028") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") + ref.SourceNodeId = ua.NodeId.from_string("i=10020") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9963") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=10020") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8995") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=10020") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=10020") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9906") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=10021") + node.BrowseName = ua.QualifiedName.from_string("Id") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=10020") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Id") + attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=10021") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=10021") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=10021") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=10020") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=10025") + node.BrowseName = ua.QualifiedName.from_string("TransitionTime") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=10020") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("TransitionTime") + attrs.DataType = ua.NodeId.from_string("i=294") + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=10025") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=10025") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=10025") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=10020") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=10027") + node.BrowseName = ua.QualifiedName.from_string("TrueState") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=10020") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("TrueState") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'HighHigh active')], ua.VariantType.LocalizedText) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=10027") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=10027") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=10027") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=10020") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=10028") + node.BrowseName = ua.QualifiedName.from_string("FalseState") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=10020") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("FalseState") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'HighHigh inactive')], ua.VariantType.LocalizedText) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=10028") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=10028") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=10028") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=10020") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=10029") + node.BrowseName = ua.QualifiedName.from_string("HighState") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=9906") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=8995") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("HighState") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=10029") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=10030") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=10029") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=10034") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=10029") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=10036") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=10029") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=10037") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") + ref.SourceNodeId = ua.NodeId.from_string("i=10029") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9963") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=10029") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8995") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=10029") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=10029") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9906") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=10030") + node.BrowseName = ua.QualifiedName.from_string("Id") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=10029") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Id") + attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=10030") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=10030") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=10030") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=10029") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=10034") + node.BrowseName = ua.QualifiedName.from_string("TransitionTime") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=10029") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("TransitionTime") + attrs.DataType = ua.NodeId.from_string("i=294") + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=10034") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=10034") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=10034") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=10029") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=10036") + node.BrowseName = ua.QualifiedName.from_string("TrueState") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=10029") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("TrueState") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'High active')], ua.VariantType.LocalizedText) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=10036") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=10036") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=10036") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=10029") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=10037") + node.BrowseName = ua.QualifiedName.from_string("FalseState") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=10029") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("FalseState") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'High inactive')], ua.VariantType.LocalizedText) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=10037") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=10037") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=10037") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=10029") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=10038") + node.BrowseName = ua.QualifiedName.from_string("LowState") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=9906") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=8995") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("LowState") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=10038") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=10039") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=10038") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=10043") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=10038") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=10045") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=10038") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=10046") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") + ref.SourceNodeId = ua.NodeId.from_string("i=10038") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9963") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=10038") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8995") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=10038") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=10038") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9906") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=10039") + node.BrowseName = ua.QualifiedName.from_string("Id") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=10038") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Id") + attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=10039") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=10039") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=10039") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=10038") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=10043") + node.BrowseName = ua.QualifiedName.from_string("TransitionTime") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=10038") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("TransitionTime") + attrs.DataType = ua.NodeId.from_string("i=294") + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=10043") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=10043") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=10043") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=10038") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=10045") + node.BrowseName = ua.QualifiedName.from_string("TrueState") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=10038") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("TrueState") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'Low active')], ua.VariantType.LocalizedText) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=10045") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=10045") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=10045") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=10038") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=10046") + node.BrowseName = ua.QualifiedName.from_string("FalseState") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=10038") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("FalseState") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'Low inactive')], ua.VariantType.LocalizedText) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=10046") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=10046") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=10046") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=10038") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=10047") + node.BrowseName = ua.QualifiedName.from_string("LowLowState") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=9906") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=8995") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("LowLowState") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=10047") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=10048") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=10047") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=10052") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=10047") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=10054") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=10047") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=10055") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") + ref.SourceNodeId = ua.NodeId.from_string("i=10047") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9963") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=10047") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=8995") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=10047") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=10047") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9906") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=10048") + node.BrowseName = ua.QualifiedName.from_string("Id") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=10047") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Id") + attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=10048") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=10048") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=10048") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=10047") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=10052") + node.BrowseName = ua.QualifiedName.from_string("TransitionTime") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=10047") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("TransitionTime") + attrs.DataType = ua.NodeId.from_string("i=294") + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=10052") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=10052") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=10052") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=10047") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=10054") + node.BrowseName = ua.QualifiedName.from_string("TrueState") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=10047") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("TrueState") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'LowLow active')], ua.VariantType.LocalizedText) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=10054") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=10054") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=10054") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=10047") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=10055") + node.BrowseName = ua.QualifiedName.from_string("FalseState") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=10047") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("FalseState") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'LowLow inactive')], ua.VariantType.LocalizedText) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=10055") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=10055") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=10055") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=10047") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=10060") + node.BrowseName = ua.QualifiedName.from_string("NonExclusiveLevelAlarmType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=9906") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("NonExclusiveLevelAlarmType") + attrs.IsAbstract = False + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=10060") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9906") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=9482") + node.BrowseName = ua.QualifiedName.from_string("ExclusiveLevelAlarmType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=9341") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("ExclusiveLevelAlarmType") + attrs.IsAbstract = False + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=9482") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9341") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=10368") + node.BrowseName = ua.QualifiedName.from_string("NonExclusiveDeviationAlarmType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=9906") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("NonExclusiveDeviationAlarmType") + attrs.IsAbstract = False + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=10368") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=10522") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=10368") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16776") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=10368") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9906") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=10522") + node.BrowseName = ua.QualifiedName.from_string("SetpointNode") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=10368") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("SetpointNode") + attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=10522") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=10522") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=10522") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=10368") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16776") + node.BrowseName = ua.QualifiedName.from_string("BaseSetpointNode") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=10368") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("BaseSetpointNode") + attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16776") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16776") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16776") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=10368") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=10214") + node.BrowseName = ua.QualifiedName.from_string("NonExclusiveRateOfChangeAlarmType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=9906") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("NonExclusiveRateOfChangeAlarmType") + attrs.IsAbstract = False + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=10214") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16858") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=10214") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9906") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16858") + node.BrowseName = ua.QualifiedName.from_string("EngineeringUnits") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=10214") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("EngineeringUnits") + attrs.DataType = ua.NodeId.from_string("i=887") + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16858") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16858") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16858") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=10214") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=9764") + node.BrowseName = ua.QualifiedName.from_string("ExclusiveDeviationAlarmType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=9341") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("ExclusiveDeviationAlarmType") + attrs.IsAbstract = False + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9764") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9905") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9764") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16817") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=9764") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9341") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=9905") + node.BrowseName = ua.QualifiedName.from_string("SetpointNode") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=9764") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("SetpointNode") + attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=9905") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=9905") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9905") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9764") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16817") + node.BrowseName = ua.QualifiedName.from_string("BaseSetpointNode") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=9764") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("BaseSetpointNode") + attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16817") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16817") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16817") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9764") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=9623") + node.BrowseName = ua.QualifiedName.from_string("ExclusiveRateOfChangeAlarmType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=9341") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("ExclusiveRateOfChangeAlarmType") + attrs.IsAbstract = False + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=9623") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=16899") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=9623") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9341") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=16899") + node.BrowseName = ua.QualifiedName.from_string("EngineeringUnits") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=9623") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("EngineeringUnits") + attrs.DataType = ua.NodeId.from_string("i=887") + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=16899") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=16899") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=16899") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=9623") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=10523") + node.BrowseName = ua.QualifiedName.from_string("DiscreteAlarmType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=2915") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("DiscreteAlarmType") + attrs.IsAbstract = False + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=10523") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2915") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=10637") + node.BrowseName = ua.QualifiedName.from_string("OffNormalAlarmType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=10523") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("OffNormalAlarmType") + attrs.IsAbstract = False + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=10637") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11158") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=10637") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=10523") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=11158") + node.BrowseName = ua.QualifiedName.from_string("NormalState") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=10637") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("NormalState") + attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=11158") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=11158") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11158") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=10637") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=11753") + node.BrowseName = ua.QualifiedName.from_string("SystemOffNormalAlarmType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=10637") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("SystemOffNormalAlarmType") + attrs.IsAbstract = False + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=11753") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=10637") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=10751") + node.BrowseName = ua.QualifiedName.from_string("TripAlarmType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=10637") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("TripAlarmType") + attrs.IsAbstract = False + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=10751") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=10637") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=18347") + node.BrowseName = ua.QualifiedName.from_string("InstrumentDiagnosticAlarmType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=10637") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("InstrumentDiagnosticAlarmType") + attrs.IsAbstract = False + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=18347") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=10637") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=18496") + node.BrowseName = ua.QualifiedName.from_string("SystemDiagnosticAlarmType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=10637") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("SystemDiagnosticAlarmType") + attrs.IsAbstract = False + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=18496") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=10637") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=13225") + node.BrowseName = ua.QualifiedName.from_string("CertificateExpirationAlarmType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=11753") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("CertificateExpirationAlarmType") + attrs.IsAbstract = False + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=13225") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=13325") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=13225") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=14900") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=13225") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=13326") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=13225") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=13327") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=13225") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11753") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=13325") + node.BrowseName = ua.QualifiedName.from_string("ExpirationDate") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=13225") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("ExpirationDate") + attrs.DataType = ua.NodeId(ua.ObjectIds.DateTime) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=13325") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=13325") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=13325") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=13225") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=14900") + node.BrowseName = ua.QualifiedName.from_string("ExpirationLimit") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=13225") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("ExpirationLimit") + attrs.DataType = ua.NodeId.from_string("i=290") + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=14900") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=14900") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=14900") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=13225") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=13326") + node.BrowseName = ua.QualifiedName.from_string("CertificateType") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=13225") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("CertificateType") + attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=13326") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=13326") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=13326") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=13225") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=13327") + node.BrowseName = ua.QualifiedName.from_string("Certificate") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=13225") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Certificate") + attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=13327") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=13327") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=13327") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=13225") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=17080") + node.BrowseName = ua.QualifiedName.from_string("DiscrepancyAlarmType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=2915") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("DiscrepancyAlarmType") + attrs.IsAbstract = False + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=17080") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=17215") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=17080") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=17216") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=17080") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=17217") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=17080") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2915") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=17215") + node.BrowseName = ua.QualifiedName.from_string("TargetValueNode") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=17080") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("TargetValueNode") + attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=17215") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=17215") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=17215") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=17080") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=17216") + node.BrowseName = ua.QualifiedName.from_string("ExpectedTime") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=17080") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("ExpectedTime") + attrs.DataType = ua.NodeId.from_string("i=290") + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=17216") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=17216") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=17216") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=17080") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=17217") + node.BrowseName = ua.QualifiedName.from_string("Tolerance") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=17080") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Tolerance") + attrs.DataType = ua.NodeId(ua.ObjectIds.Double) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=17217") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=17217") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=80") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=17217") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=17080") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=11163") + node.BrowseName = ua.QualifiedName.from_string("BaseConditionClassType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=58") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("BaseConditionClassType") + attrs.IsAbstract = True + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=11163") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=58") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=10052") - node.BrowseName = ua.QualifiedName.from_string("TransitionTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=10047") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionTime") - attrs.DataType = ua.NodeId.from_string("i=294") - attrs.ValueRank = -1 + node.RequestedNewNodeId = ua.NodeId.from_string("i=11164") + node.BrowseName = ua.QualifiedName.from_string("ProcessConditionClassType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=11163") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("ProcessConditionClassType") + attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=10052") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=11164") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=11163") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=11165") + node.BrowseName = ua.QualifiedName.from_string("MaintenanceConditionClassType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=11163") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("MaintenanceConditionClassType") + attrs.IsAbstract = True + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=10052") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=11165") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.TargetNodeId = ua.NodeId.from_string("i=11163") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=11166") + node.BrowseName = ua.QualifiedName.from_string("SystemConditionClassType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=11163") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("SystemConditionClassType") + attrs.IsAbstract = True + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=11166") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11163") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=17218") + node.BrowseName = ua.QualifiedName.from_string("SafetyConditionClassType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=11163") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("SafetyConditionClassType") + attrs.IsAbstract = True + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10052") + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=17218") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10047") + ref.TargetNodeId = ua.NodeId.from_string("i=11163") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=10060") - node.BrowseName = ua.QualifiedName.from_string("NonExclusiveLevelAlarmType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=17219") + node.BrowseName = ua.QualifiedName.from_string("HighlyManagedAlarmConditionClassType") node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=9906") + node.ParentNodeId = ua.NodeId.from_string("i=11163") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("NonExclusiveLevelAlarmType") + attrs.DisplayName = ua.LocalizedText("HighlyManagedAlarmConditionClassType") + attrs.IsAbstract = True + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=17219") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11163") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=17220") + node.BrowseName = ua.QualifiedName.from_string("TrainingConditionClassType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=11163") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("TrainingConditionClassType") + attrs.IsAbstract = True + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=17220") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11163") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=18665") + node.BrowseName = ua.QualifiedName.from_string("StatisticalConditionClassType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=11163") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("StatisticalConditionClassType") + attrs.IsAbstract = True + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=18665") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11163") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=17221") + node.BrowseName = ua.QualifiedName.from_string("TestingConditionClassType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=11163") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("TestingConditionClassType") + attrs.IsAbstract = True + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=17221") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11163") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=2790") + node.BrowseName = ua.QualifiedName.from_string("AuditConditionEventType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=2127") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("AuditConditionEventType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) @@ -7151,20 +12391,20 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=10060") + ref.SourceNodeId = ua.NodeId.from_string("i=2790") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9906") + ref.TargetNodeId = ua.NodeId.from_string("i=2127") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9482") - node.BrowseName = ua.QualifiedName.from_string("ExclusiveLevelAlarmType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2803") + node.BrowseName = ua.QualifiedName.from_string("AuditConditionEnableEventType") node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=9341") + node.ParentNodeId = ua.NodeId.from_string("i=2790") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ExclusiveLevelAlarmType") + attrs.DisplayName = ua.LocalizedText("AuditConditionEnableEventType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) @@ -7172,20 +12412,20 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=9482") + ref.SourceNodeId = ua.NodeId.from_string("i=2803") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9341") + ref.TargetNodeId = ua.NodeId.from_string("i=2790") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=10368") - node.BrowseName = ua.QualifiedName.from_string("NonExclusiveDeviationAlarmType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2829") + node.BrowseName = ua.QualifiedName.from_string("AuditConditionCommentEventType") node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=9906") + node.ParentNodeId = ua.NodeId.from_string("i=2790") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("NonExclusiveDeviationAlarmType") + attrs.DisplayName = ua.LocalizedText("AuditConditionCommentEventType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) @@ -7193,29 +12433,36 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10368") + ref.SourceNodeId = ua.NodeId.from_string("i=2829") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10522") + ref.TargetNodeId = ua.NodeId.from_string("i=17222") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=2829") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=11851") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=10368") + ref.SourceNodeId = ua.NodeId.from_string("i=2829") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9906") + ref.TargetNodeId = ua.NodeId.from_string("i=2790") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=10522") - node.BrowseName = ua.QualifiedName.from_string("SetpointNode") + node.RequestedNewNodeId = ua.NodeId.from_string("i=17222") + node.BrowseName = ua.QualifiedName.from_string("ConditionEventId") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=10368") + node.ParentNodeId = ua.NodeId.from_string("i=2829") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SetpointNode") - attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) + attrs.DisplayName = ua.LocalizedText("ConditionEventId") + attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -7223,34 +12470,71 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=10522") + ref.SourceNodeId = ua.NodeId.from_string("i=17222") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=10522") + ref.SourceNodeId = ua.NodeId.from_string("i=17222") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=17222") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=2829") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=11851") + node.BrowseName = ua.QualifiedName.from_string("Comment") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=2829") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Comment") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=11851") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=11851") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10522") + ref.SourceNodeId = ua.NodeId.from_string("i=11851") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10368") + ref.TargetNodeId = ua.NodeId.from_string("i=2829") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9764") - node.BrowseName = ua.QualifiedName.from_string("ExclusiveDeviationAlarmType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8927") + node.BrowseName = ua.QualifiedName.from_string("AuditConditionRespondEventType") node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=9341") + node.ParentNodeId = ua.NodeId.from_string("i=2790") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ExclusiveDeviationAlarmType") + attrs.DisplayName = ua.LocalizedText("AuditConditionRespondEventType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) @@ -7258,29 +12542,29 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9764") + ref.SourceNodeId = ua.NodeId.from_string("i=8927") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9905") + ref.TargetNodeId = ua.NodeId.from_string("i=11852") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=9764") + ref.SourceNodeId = ua.NodeId.from_string("i=8927") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9341") + ref.TargetNodeId = ua.NodeId.from_string("i=2790") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9905") - node.BrowseName = ua.QualifiedName.from_string("SetpointNode") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11852") + node.BrowseName = ua.QualifiedName.from_string("SelectedResponse") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9764") + node.ParentNodeId = ua.NodeId.from_string("i=8927") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SetpointNode") - attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) + attrs.DisplayName = ua.LocalizedText("SelectedResponse") + attrs.DataType = ua.NodeId(ua.ObjectIds.Int32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -7288,127 +12572,108 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9905") + ref.SourceNodeId = ua.NodeId.from_string("i=11852") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9905") + ref.SourceNodeId = ua.NodeId.from_string("i=11852") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9905") + ref.SourceNodeId = ua.NodeId.from_string("i=11852") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9764") + ref.TargetNodeId = ua.NodeId.from_string("i=8927") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=10214") - node.BrowseName = ua.QualifiedName.from_string("NonExclusiveRateOfChangeAlarmType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8944") + node.BrowseName = ua.QualifiedName.from_string("AuditConditionAcknowledgeEventType") node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=9906") + node.ParentNodeId = ua.NodeId.from_string("i=2790") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("NonExclusiveRateOfChangeAlarmType") + attrs.DisplayName = ua.LocalizedText("AuditConditionAcknowledgeEventType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=10214") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=8944") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9906") + ref.TargetNodeId = ua.NodeId.from_string("i=17223") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9623") - node.BrowseName = ua.QualifiedName.from_string("ExclusiveRateOfChangeAlarmType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=9341") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ExclusiveRateOfChangeAlarmType") - attrs.IsAbstract = False - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=9623") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=8944") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9341") + ref.TargetNodeId = ua.NodeId.from_string("i=11853") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=10523") - node.BrowseName = ua.QualifiedName.from_string("DiscreteAlarmType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2915") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("DiscreteAlarmType") - attrs.IsAbstract = False - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=10523") + ref.SourceNodeId = ua.NodeId.from_string("i=8944") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2915") + ref.TargetNodeId = ua.NodeId.from_string("i=2790") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=10637") - node.BrowseName = ua.QualifiedName.from_string("OffNormalAlarmType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=10523") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("OffNormalAlarmType") - attrs.IsAbstract = False + node.RequestedNewNodeId = ua.NodeId.from_string("i=17223") + node.BrowseName = ua.QualifiedName.from_string("ConditionEventId") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=8944") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("ConditionEventId") + attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10637") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=17223") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11158") + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=17223") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=10637") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=17223") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10523") + ref.TargetNodeId = ua.NodeId.from_string("i=8944") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11158") - node.BrowseName = ua.QualifiedName.from_string("NormalState") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11853") + node.BrowseName = ua.QualifiedName.from_string("Comment") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=10637") + node.ParentNodeId = ua.NodeId.from_string("i=8944") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("NormalState") - attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) + attrs.DisplayName = ua.LocalizedText("Comment") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -7416,55 +12681,34 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11158") + ref.SourceNodeId = ua.NodeId.from_string("i=11853") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11158") + ref.SourceNodeId = ua.NodeId.from_string("i=11853") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11158") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10637") - refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11753") - node.BrowseName = ua.QualifiedName.from_string("SystemOffNormalAlarmType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=10637") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("SystemOffNormalAlarmType") - attrs.IsAbstract = False - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] - ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=11753") + ref.SourceNodeId = ua.NodeId.from_string("i=11853") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10637") + ref.TargetNodeId = ua.NodeId.from_string("i=8944") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13225") - node.BrowseName = ua.QualifiedName.from_string("CertificateExpirationAlarmType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=8961") + node.BrowseName = ua.QualifiedName.from_string("AuditConditionConfirmEventType") node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=11753") + node.ParentNodeId = ua.NodeId.from_string("i=2790") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("CertificateExpirationAlarmType") + attrs.DisplayName = ua.LocalizedText("AuditConditionConfirmEventType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) @@ -7472,50 +12716,36 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13225") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13325") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13225") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=14900") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13225") + ref.SourceNodeId = ua.NodeId.from_string("i=8961") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13326") + ref.TargetNodeId = ua.NodeId.from_string("i=17224") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13225") + ref.SourceNodeId = ua.NodeId.from_string("i=8961") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13327") + ref.TargetNodeId = ua.NodeId.from_string("i=11854") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=13225") + ref.SourceNodeId = ua.NodeId.from_string("i=8961") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11753") + ref.TargetNodeId = ua.NodeId.from_string("i=2790") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13325") - node.BrowseName = ua.QualifiedName.from_string("ExpirationDate") + node.RequestedNewNodeId = ua.NodeId.from_string("i=17224") + node.BrowseName = ua.QualifiedName.from_string("ConditionEventId") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13225") + node.ParentNodeId = ua.NodeId.from_string("i=8961") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ExpirationDate") - attrs.DataType = ua.NodeId(ua.ObjectIds.DateTime) + attrs.DisplayName = ua.LocalizedText("ConditionEventId") + attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -7523,36 +12753,36 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13325") + ref.SourceNodeId = ua.NodeId.from_string("i=17224") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13325") + ref.SourceNodeId = ua.NodeId.from_string("i=17224") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13325") + ref.SourceNodeId = ua.NodeId.from_string("i=17224") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13225") + ref.TargetNodeId = ua.NodeId.from_string("i=8961") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=14900") - node.BrowseName = ua.QualifiedName.from_string("ExpirationLimit") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11854") + node.BrowseName = ua.QualifiedName.from_string("Comment") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13225") + node.ParentNodeId = ua.NodeId.from_string("i=8961") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ExpirationLimit") - attrs.DataType = ua.NodeId.from_string("i=290") + attrs.DisplayName = ua.LocalizedText("Comment") + attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -7560,73 +12790,64 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=14900") + ref.SourceNodeId = ua.NodeId.from_string("i=11854") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=14900") + ref.SourceNodeId = ua.NodeId.from_string("i=11854") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=14900") + ref.SourceNodeId = ua.NodeId.from_string("i=11854") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13225") + ref.TargetNodeId = ua.NodeId.from_string("i=8961") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13326") - node.BrowseName = ua.QualifiedName.from_string("CertificateType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13225") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CertificateType") - attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) - attrs.ValueRank = -1 + node.RequestedNewNodeId = ua.NodeId.from_string("i=11093") + node.BrowseName = ua.QualifiedName.from_string("AuditConditionShelvingEventType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=2790") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("AuditConditionShelvingEventType") + attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13326") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") - refs.append(ref) - ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13326") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=11093") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=11855") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13326") + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=11093") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13225") + ref.TargetNodeId = ua.NodeId.from_string("i=2790") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13327") - node.BrowseName = ua.QualifiedName.from_string("Certificate") + node.RequestedNewNodeId = ua.NodeId.from_string("i=11855") + node.BrowseName = ua.QualifiedName.from_string("ShelvingTime") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13225") + node.ParentNodeId = ua.NodeId.from_string("i=11093") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Certificate") - attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) + attrs.DisplayName = ua.LocalizedText("ShelvingTime") + attrs.DataType = ua.NodeId.from_string("i=290") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -7634,34 +12855,34 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13327") + ref.SourceNodeId = ua.NodeId.from_string("i=11855") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13327") + ref.SourceNodeId = ua.NodeId.from_string("i=11855") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13327") + ref.SourceNodeId = ua.NodeId.from_string("i=11855") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13225") + ref.TargetNodeId = ua.NodeId.from_string("i=11093") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=10751") - node.BrowseName = ua.QualifiedName.from_string("TripAlarmType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=17225") + node.BrowseName = ua.QualifiedName.from_string("AuditConditionSuppressEventType") node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=10637") + node.ParentNodeId = ua.NodeId.from_string("i=2790") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("TripAlarmType") + attrs.DisplayName = ua.LocalizedText("AuditConditionSuppressEventType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) @@ -7669,20 +12890,20 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=10751") + ref.SourceNodeId = ua.NodeId.from_string("i=17225") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10637") + ref.TargetNodeId = ua.NodeId.from_string("i=2790") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11163") - node.BrowseName = ua.QualifiedName.from_string("BaseConditionClassType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=17242") + node.BrowseName = ua.QualifiedName.from_string("AuditConditionSilenceEventType") node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=58") + node.ParentNodeId = ua.NodeId.from_string("i=2790") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("BaseConditionClassType") + attrs.DisplayName = ua.LocalizedText("AuditConditionSilenceEventType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) @@ -7690,20 +12911,20 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=11163") + ref.SourceNodeId = ua.NodeId.from_string("i=17242") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=58") + ref.TargetNodeId = ua.NodeId.from_string("i=2790") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11164") - node.BrowseName = ua.QualifiedName.from_string("ProcessConditionClassType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=15013") + node.BrowseName = ua.QualifiedName.from_string("AuditConditionResetEventType") node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=11163") + node.ParentNodeId = ua.NodeId.from_string("i=2790") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ProcessConditionClassType") + attrs.DisplayName = ua.LocalizedText("AuditConditionResetEventType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) @@ -7711,20 +12932,20 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=11164") + ref.SourceNodeId = ua.NodeId.from_string("i=15013") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11163") + ref.TargetNodeId = ua.NodeId.from_string("i=2790") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11165") - node.BrowseName = ua.QualifiedName.from_string("MaintenanceConditionClassType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=17259") + node.BrowseName = ua.QualifiedName.from_string("AuditConditionOutOfServiceEventType") node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=11163") + node.ParentNodeId = ua.NodeId.from_string("i=2790") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("MaintenanceConditionClassType") + attrs.DisplayName = ua.LocalizedText("AuditConditionOutOfServiceEventType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) @@ -7732,158 +12953,274 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=11165") + ref.SourceNodeId = ua.NodeId.from_string("i=17259") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11163") + ref.TargetNodeId = ua.NodeId.from_string("i=2790") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11166") - node.BrowseName = ua.QualifiedName.from_string("SystemConditionClassType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2787") + node.BrowseName = ua.QualifiedName.from_string("RefreshStartEventType") node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=11163") + node.ParentNodeId = ua.NodeId.from_string("i=2130") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("SystemConditionClassType") - attrs.IsAbstract = False + attrs.DisplayName = ua.LocalizedText("RefreshStartEventType") + attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=11166") + ref.SourceNodeId = ua.NodeId.from_string("i=2787") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11163") + ref.TargetNodeId = ua.NodeId.from_string("i=2130") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2790") - node.BrowseName = ua.QualifiedName.from_string("AuditConditionEventType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2788") + node.BrowseName = ua.QualifiedName.from_string("RefreshEndEventType") node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2127") + node.ParentNodeId = ua.NodeId.from_string("i=2130") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditConditionEventType") - attrs.IsAbstract = False + attrs.DisplayName = ua.LocalizedText("RefreshEndEventType") + attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2790") + ref.SourceNodeId = ua.NodeId.from_string("i=2788") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2127") + ref.TargetNodeId = ua.NodeId.from_string("i=2130") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2803") - node.BrowseName = ua.QualifiedName.from_string("AuditConditionEnableEventType") + node.RequestedNewNodeId = ua.NodeId.from_string("i=2789") + node.BrowseName = ua.QualifiedName.from_string("RefreshRequiredEventType") node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2790") + node.ParentNodeId = ua.NodeId.from_string("i=2130") node.ReferenceTypeId = ua.NodeId.from_string("i=45") attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditConditionEnableEventType") - attrs.IsAbstract = False + attrs.DisplayName = ua.LocalizedText("RefreshRequiredEventType") + attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2803") + ref.SourceNodeId = ua.NodeId.from_string("i=2789") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2790") + ref.TargetNodeId = ua.NodeId.from_string("i=2130") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2829") - node.BrowseName = ua.QualifiedName.from_string("AuditConditionCommentEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2790") + node.RequestedNewNodeId = ua.NodeId.from_string("i=9006") + node.BrowseName = ua.QualifiedName.from_string("HasCondition") + node.NodeClass = ua.NodeClass.ReferenceType + node.ParentNodeId = ua.NodeId.from_string("i=32") node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditConditionCommentEventType") - attrs.IsAbstract = False + attrs = ua.ReferenceTypeAttributes() + attrs.DisplayName = ua.LocalizedText("HasCondition") + attrs.InverseName = ua.LocalizedText("IsConditionOf") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2829") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=9006") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=32") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=17276") + node.BrowseName = ua.QualifiedName.from_string("HasEffectDisable") + node.NodeClass = ua.NodeClass.ReferenceType + node.ParentNodeId = ua.NodeId.from_string("i=54") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ReferenceTypeAttributes() + attrs.DisplayName = ua.LocalizedText("HasEffectDisable") + attrs.InverseName = ua.LocalizedText("MayBeDisabledBy") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=17276") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=4170") + ref.TargetNodeId = ua.NodeId.from_string("i=54") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=17983") + node.BrowseName = ua.QualifiedName.from_string("HasEffectEnable") + node.NodeClass = ua.NodeClass.ReferenceType + node.ParentNodeId = ua.NodeId.from_string("i=54") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ReferenceTypeAttributes() + attrs.DisplayName = ua.LocalizedText("HasEffectEnable") + attrs.InverseName = ua.LocalizedText("MayBeEnabledBy") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() - ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2829") + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=17983") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11851") + ref.TargetNodeId = ua.NodeId.from_string("i=54") + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=17984") + node.BrowseName = ua.QualifiedName.from_string("HasEffectSuppressed") + node.NodeClass = ua.NodeClass.ReferenceType + node.ParentNodeId = ua.NodeId.from_string("i=54") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ReferenceTypeAttributes() + attrs.DisplayName = ua.LocalizedText("HasEffectSuppressed") + attrs.InverseName = ua.LocalizedText("MayBeSuppressedBy") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=17984") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=54") refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = ua.NodeId.from_string("i=17985") + node.BrowseName = ua.QualifiedName.from_string("HasEffectUnsuppressed") + node.NodeClass = ua.NodeClass.ReferenceType + node.ParentNodeId = ua.NodeId.from_string("i=54") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ReferenceTypeAttributes() + attrs.DisplayName = ua.LocalizedText("HasEffectUnsuppressed") + attrs.InverseName = ua.LocalizedText("MayBeUnsuppressedBy") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2829") + ref.SourceNodeId = ua.NodeId.from_string("i=17985") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2790") + ref.TargetNodeId = ua.NodeId.from_string("i=54") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=4170") - node.BrowseName = ua.QualifiedName.from_string("EventId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2829") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") - attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A globally unique identifier for the event.") - attrs.DisplayName = ua.LocalizedText("EventId") - attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) - attrs.ValueRank = -1 + node.RequestedNewNodeId = ua.NodeId.from_string("i=17279") + node.BrowseName = ua.QualifiedName.from_string("AlarmMetricsType") + node.NodeClass = ua.NodeClass.ObjectType + node.ParentNodeId = ua.NodeId.from_string("i=58") + node.ReferenceTypeId = ua.NodeId.from_string("i=45") + attrs = ua.ObjectTypeAttributes() + attrs.DisplayName = ua.LocalizedText("AlarmMetricsType") + attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=4170") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=17279") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=17280") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=4170") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=17279") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.TargetNodeId = ua.NodeId.from_string("i=17991") refs.append(ref) ref = ua.AddReferencesItem() - ref.IsForward = False + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=4170") + ref.SourceNodeId = ua.NodeId.from_string("i=17279") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2829") + ref.TargetNodeId = ua.NodeId.from_string("i=17281") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=17279") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=17282") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=17279") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=17284") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=17279") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=17286") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=17279") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=17283") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=17279") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=17288") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=17279") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=18666") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = ua.NodeId.from_string("i=45") + ref.SourceNodeId = ua.NodeId.from_string("i=17279") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=58") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11851") - node.BrowseName = ua.QualifiedName.from_string("Comment") + node.RequestedNewNodeId = ua.NodeId.from_string("i=17280") + node.BrowseName = ua.QualifiedName.from_string("AlarmCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2829") + node.ParentNodeId = ua.NodeId.from_string("i=17279") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Comment") - attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.DisplayName = ua.LocalizedText("AlarmCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -7891,64 +13228,73 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11851") + ref.SourceNodeId = ua.NodeId.from_string("i=17280") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11851") + ref.SourceNodeId = ua.NodeId.from_string("i=17280") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11851") + ref.SourceNodeId = ua.NodeId.from_string("i=17280") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2829") + ref.TargetNodeId = ua.NodeId.from_string("i=17279") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8927") - node.BrowseName = ua.QualifiedName.from_string("AuditConditionRespondEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2790") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditConditionRespondEventType") - attrs.IsAbstract = False + node.RequestedNewNodeId = ua.NodeId.from_string("i=17991") + node.BrowseName = ua.QualifiedName.from_string("StartTime") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=17279") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("StartTime") + attrs.DataType = ua.NodeId.from_string("i=294") + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=8927") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=17991") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11852") + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=17991") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=8927") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=17991") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2790") + ref.TargetNodeId = ua.NodeId.from_string("i=17279") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11852") - node.BrowseName = ua.QualifiedName.from_string("SelectedResponse") + node.RequestedNewNodeId = ua.NodeId.from_string("i=17281") + node.BrowseName = ua.QualifiedName.from_string("MaximumActiveState") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8927") + node.ParentNodeId = ua.NodeId.from_string("i=17279") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SelectedResponse") - attrs.DataType = ua.NodeId(ua.ObjectIds.Int32) + attrs.DisplayName = ua.LocalizedText("MaximumActiveState") + attrs.DataType = ua.NodeId.from_string("i=290") attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -7956,109 +13302,117 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11852") + ref.SourceNodeId = ua.NodeId.from_string("i=17281") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11852") + ref.SourceNodeId = ua.NodeId.from_string("i=17281") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11852") + ref.SourceNodeId = ua.NodeId.from_string("i=17281") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8927") + ref.TargetNodeId = ua.NodeId.from_string("i=17279") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8944") - node.BrowseName = ua.QualifiedName.from_string("AuditConditionAcknowledgeEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2790") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditConditionAcknowledgeEventType") - attrs.IsAbstract = False + node.RequestedNewNodeId = ua.NodeId.from_string("i=17282") + node.BrowseName = ua.QualifiedName.from_string("MaximumUnAck") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=17279") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("MaximumUnAck") + attrs.DataType = ua.NodeId.from_string("i=290") + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=8944") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=17282") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8945") + ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=8944") + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=17282") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11853") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=8944") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=17282") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2790") + ref.TargetNodeId = ua.NodeId.from_string("i=17279") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8945") - node.BrowseName = ua.QualifiedName.from_string("EventId") + node.RequestedNewNodeId = ua.NodeId.from_string("i=17284") + node.BrowseName = ua.QualifiedName.from_string("CurrentAlarmRate") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8944") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.ParentNodeId = ua.NodeId.from_string("i=17279") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=17277") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A globally unique identifier for the event.") - attrs.DisplayName = ua.LocalizedText("EventId") - attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) + attrs.DisplayName = ua.LocalizedText("CurrentAlarmRate") + attrs.DataType = ua.NodeId(ua.ObjectIds.Double) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=17284") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=17285") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8945") + ref.SourceNodeId = ua.NodeId.from_string("i=17284") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.TargetNodeId = ua.NodeId.from_string("i=17277") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=8945") + ref.SourceNodeId = ua.NodeId.from_string("i=17284") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=8945") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=17284") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8944") + ref.TargetNodeId = ua.NodeId.from_string("i=17279") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11853") - node.BrowseName = ua.QualifiedName.from_string("Comment") + node.RequestedNewNodeId = ua.NodeId.from_string("i=17285") + node.BrowseName = ua.QualifiedName.from_string("Rate") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8944") + node.ParentNodeId = ua.NodeId.from_string("i=17284") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Comment") - attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.DisplayName = ua.LocalizedText("Rate") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -8066,72 +13420,80 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11853") + ref.SourceNodeId = ua.NodeId.from_string("i=17285") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11853") + ref.SourceNodeId = ua.NodeId.from_string("i=17285") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11853") + ref.SourceNodeId = ua.NodeId.from_string("i=17285") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8944") + ref.TargetNodeId = ua.NodeId.from_string("i=17284") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8961") - node.BrowseName = ua.QualifiedName.from_string("AuditConditionConfirmEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2790") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditConditionConfirmEventType") - attrs.IsAbstract = False + node.RequestedNewNodeId = ua.NodeId.from_string("i=17286") + node.BrowseName = ua.QualifiedName.from_string("MaximumAlarmRate") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=17279") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=17277") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("MaximumAlarmRate") + attrs.DataType = ua.NodeId(ua.ObjectIds.Double) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=8961") + ref.SourceNodeId = ua.NodeId.from_string("i=17286") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8962") + ref.TargetNodeId = ua.NodeId.from_string("i=17287") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=8961") + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=17286") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11854") + ref.TargetNodeId = ua.NodeId.from_string("i=17277") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=17286") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=8961") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=17286") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2790") + ref.TargetNodeId = ua.NodeId.from_string("i=17279") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8962") - node.BrowseName = ua.QualifiedName.from_string("EventId") + node.RequestedNewNodeId = ua.NodeId.from_string("i=17287") + node.BrowseName = ua.QualifiedName.from_string("Rate") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8961") + node.ParentNodeId = ua.NodeId.from_string("i=17286") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A globally unique identifier for the event.") - attrs.DisplayName = ua.LocalizedText("EventId") - attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) + attrs.DisplayName = ua.LocalizedText("Rate") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -8139,36 +13501,36 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8962") + ref.SourceNodeId = ua.NodeId.from_string("i=17287") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=8962") + ref.SourceNodeId = ua.NodeId.from_string("i=17287") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=8962") + ref.SourceNodeId = ua.NodeId.from_string("i=17287") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8961") + ref.TargetNodeId = ua.NodeId.from_string("i=17286") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11854") - node.BrowseName = ua.QualifiedName.from_string("Comment") + node.RequestedNewNodeId = ua.NodeId.from_string("i=17283") + node.BrowseName = ua.QualifiedName.from_string("MaximumReAlarmCount") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8961") + node.ParentNodeId = ua.NodeId.from_string("i=17279") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Comment") - attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) + attrs.DisplayName = ua.LocalizedText("MaximumReAlarmCount") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -8176,64 +13538,80 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11854") + ref.SourceNodeId = ua.NodeId.from_string("i=17283") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11854") + ref.SourceNodeId = ua.NodeId.from_string("i=17283") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11854") + ref.SourceNodeId = ua.NodeId.from_string("i=17283") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8961") + ref.TargetNodeId = ua.NodeId.from_string("i=17279") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11093") - node.BrowseName = ua.QualifiedName.from_string("AuditConditionShelvingEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2790") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditConditionShelvingEventType") - attrs.IsAbstract = False + node.RequestedNewNodeId = ua.NodeId.from_string("i=17288") + node.BrowseName = ua.QualifiedName.from_string("AverageAlarmRate") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=17279") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.TypeDefinition = ua.NodeId.from_string("i=17277") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("AverageAlarmRate") + attrs.DataType = ua.NodeId(ua.ObjectIds.Double) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11093") + ref.SourceNodeId = ua.NodeId.from_string("i=17288") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11855") + ref.TargetNodeId = ua.NodeId.from_string("i=17289") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=17288") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=17277") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=17288") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=11093") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=17288") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2790") + ref.TargetNodeId = ua.NodeId.from_string("i=17279") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11855") - node.BrowseName = ua.QualifiedName.from_string("ShelvingTime") + node.RequestedNewNodeId = ua.NodeId.from_string("i=17289") + node.BrowseName = ua.QualifiedName.from_string("Rate") node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11093") + node.ParentNodeId = ua.NodeId.from_string("i=17288") node.ReferenceTypeId = ua.NodeId.from_string("i=46") node.TypeDefinition = ua.NodeId.from_string("i=68") attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ShelvingTime") - attrs.DataType = ua.NodeId.from_string("i=290") + attrs.DisplayName = ua.LocalizedText("Rate") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -8241,106 +13619,116 @@ def create_standard_address_space_Part9(server): ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11855") + ref.SourceNodeId = ua.NodeId.from_string("i=17289") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=68") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11855") + ref.SourceNodeId = ua.NodeId.from_string("i=17289") ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11855") + ref.SourceNodeId = ua.NodeId.from_string("i=17289") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11093") + ref.TargetNodeId = ua.NodeId.from_string("i=17288") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2787") - node.BrowseName = ua.QualifiedName.from_string("RefreshStartEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2130") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("RefreshStartEventType") - attrs.IsAbstract = False + node.RequestedNewNodeId = ua.NodeId.from_string("i=18666") + node.BrowseName = ua.QualifiedName.from_string("Reset") + node.NodeClass = ua.NodeClass.Method + node.ParentNodeId = ua.NodeId.from_string("i=17279") + node.ReferenceTypeId = ua.NodeId.from_string("i=47") + attrs = ua.MethodAttributes() + attrs.DisplayName = ua.LocalizedText("Reset") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() - ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2787") + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=18666") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2130") + ref.TargetNodeId = ua.NodeId.from_string("i=78") refs.append(ref) - server.add_references(refs) - - node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2788") - node.BrowseName = ua.QualifiedName.from_string("RefreshEndEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2130") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("RefreshEndEventType") - attrs.IsAbstract = False - node.NodeAttributes = attrs - server.add_nodes([node]) - refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2788") + ref.ReferenceTypeId = ua.NodeId.from_string("i=47") + ref.SourceNodeId = ua.NodeId.from_string("i=18666") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2130") + ref.TargetNodeId = ua.NodeId.from_string("i=17279") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2789") - node.BrowseName = ua.QualifiedName.from_string("RefreshRequiredEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2130") + node.RequestedNewNodeId = ua.NodeId.from_string("i=17277") + node.BrowseName = ua.QualifiedName.from_string("AlarmRateVariableType") + node.NodeClass = ua.NodeClass.VariableType + node.ParentNodeId = ua.NodeId.from_string("i=63") node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("RefreshRequiredEventType") - attrs.IsAbstract = False + attrs = ua.VariableTypeAttributes() + attrs.DisplayName = ua.LocalizedText("AlarmRateVariableType") + attrs.DisplayName = ua.LocalizedText("AlarmRateVariableType") + attrs.DataType = ua.NodeId(ua.ObjectIds.Double) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=17277") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=17278") + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = False ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2789") + ref.SourceNodeId = ua.NodeId.from_string("i=17277") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2130") + ref.TargetNodeId = ua.NodeId.from_string("i=63") refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9006") - node.BrowseName = ua.QualifiedName.from_string("HasCondition") - node.NodeClass = ua.NodeClass.ReferenceType - node.ParentNodeId = ua.NodeId.from_string("i=32") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") - attrs = ua.ReferenceTypeAttributes() - attrs.DisplayName = ua.LocalizedText("HasCondition") - attrs.InverseName = ua.LocalizedText("IsConditionOf") + node.RequestedNewNodeId = ua.NodeId.from_string("i=17278") + node.BrowseName = ua.QualifiedName.from_string("Rate") + node.NodeClass = ua.NodeClass.Variable + node.ParentNodeId = ua.NodeId.from_string("i=17277") + node.ReferenceTypeId = ua.NodeId.from_string("i=46") + node.TypeDefinition = ua.NodeId.from_string("i=68") + attrs = ua.VariableAttributes() + attrs.DisplayName = ua.LocalizedText("Rate") + attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) + attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=40") + ref.SourceNodeId = ua.NodeId.from_string("i=17278") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=68") + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = ua.NodeId.from_string("i=37") + ref.SourceNodeId = ua.NodeId.from_string("i=17278") + ref.TargetNodeClass = ua.NodeClass.DataType + ref.TargetNodeId = ua.NodeId.from_string("i=78") + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=9006") + ref.ReferenceTypeId = ua.NodeId.from_string("i=46") + ref.SourceNodeId = ua.NodeId.from_string("i=17278") ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=32") + ref.TargetNodeId = ua.NodeId.from_string("i=17277") refs.append(ref) server.add_references(refs) diff --git a/opcua/ua/attribute_ids.py b/opcua/ua/attribute_ids.py index 155ba0b4d..64e1da4ca 100644 --- a/opcua/ua/attribute_ids.py +++ b/opcua/ua/attribute_ids.py @@ -25,3 +25,8 @@ class AttributeIds(IntEnum): Historizing = 20 Executable = 21 UserExecutable = 22 + DataTypeDefinition = 23 + RolePermissions = 24 + UserRolePermissions = 25 + AccessRestrictions = 26 + AccessLevelEx = 27 diff --git a/opcua/ua/object_ids.py b/opcua/ua/object_ids.py index e4a2b765e..25f43b891 100644 --- a/opcua/ua/object_ids.py +++ b/opcua/ua/object_ids.py @@ -51,6 +51,7 @@ class ObjectIds(object): HasComponent = 47 HasNotifier = 48 HasOrderedComponent = 49 + Decimal = 50 FromState = 51 ToState = 52 HasCause = 53 @@ -80,6 +81,15 @@ class ObjectIds(object): ReferenceTypesFolder = 91 XmlSchema_TypeSystem = 92 OPCBinarySchema_TypeSystem = 93 + PermissionType = 94 + AccessRestrictionType = 95 + RolePermissionType = 96 + DataTypeDefinition = 97 + StructureType = 98 + StructureDefinition = 99 + EnumDefinition = 100 + StructureField = 101 + EnumField = 102 DataTypeDescriptionType_DataTypeVersion = 104 DataTypeDescriptionType_DictionaryFragment = 105 DataTypeDictionaryType_DataTypeVersion = 106 @@ -91,7 +101,14 @@ class ObjectIds(object): ModellingRule_MandatoryShared_NamingRule = 116 HasSubStateMachine = 117 NamingRuleType = 120 - Decimal128 = 121 + DataTypeDefinition_Encoding_DefaultBinary = 121 + StructureDefinition_Encoding_DefaultBinary = 122 + EnumDefinition_Encoding_DefaultBinary = 123 + DataSetMetaDataType_Encoding_DefaultBinary = 124 + DataTypeDescription_Encoding_DefaultBinary = 125 + StructureDescription_Encoding_DefaultBinary = 126 + EnumDescription_Encoding_DefaultBinary = 127 + RolePermissionType_Encoding_DefaultBinary = 128 IdType = 256 NodeClass = 257 Node = 258 @@ -167,16 +184,9 @@ class ObjectIds(object): EndpointConfiguration = 331 EndpointConfiguration_Encoding_DefaultXml = 332 EndpointConfiguration_Encoding_DefaultBinary = 333 - ComplianceLevel = 334 - SupportedProfile = 335 - SupportedProfile_Encoding_DefaultXml = 336 - SupportedProfile_Encoding_DefaultBinary = 337 BuildInfo = 338 BuildInfo_Encoding_DefaultXml = 339 BuildInfo_Encoding_DefaultBinary = 340 - SoftwareCertificate = 341 - SoftwareCertificate_Encoding_DefaultXml = 342 - SoftwareCertificate_Encoding_DefaultBinary = 343 SignedSoftwareCertificate = 344 SignedSoftwareCertificate_Encoding_DefaultXml = 345 SignedSoftwareCertificate_Encoding_DefaultBinary = 346 @@ -231,7 +241,6 @@ class ObjectIds(object): ServiceFault = 395 ServiceFault_Encoding_DefaultXml = 396 ServiceFault_Encoding_DefaultBinary = 397 - EnumeratedTestType = 398 FindServersRequest = 420 FindServersRequest_Encoding_DefaultXml = 421 FindServersRequest_Encoding_DefaultBinary = 422 @@ -2110,7 +2119,6 @@ class ObjectIds(object): UserTokenType_EnumStrings = 7596 ApplicationType_EnumStrings = 7597 SecurityTokenRequestType_EnumStrings = 7598 - ComplianceLevel_EnumStrings = 7599 BrowseDirection_EnumStrings = 7603 FilterOperator_EnumStrings = 7605 TimestampsToReturn_EnumStrings = 7606 @@ -2160,15 +2168,9 @@ class ObjectIds(object): OpcUa_BinarySchema_EndpointConfiguration = 7686 OpcUa_BinarySchema_EndpointConfiguration_DataTypeVersion = 7687 OpcUa_BinarySchema_EndpointConfiguration_DictionaryFragment = 7688 - OpcUa_BinarySchema_SupportedProfile = 7689 - OpcUa_BinarySchema_SupportedProfile_DataTypeVersion = 7690 - OpcUa_BinarySchema_SupportedProfile_DictionaryFragment = 7691 OpcUa_BinarySchema_BuildInfo = 7692 OpcUa_BinarySchema_BuildInfo_DataTypeVersion = 7693 OpcUa_BinarySchema_BuildInfo_DictionaryFragment = 7694 - OpcUa_BinarySchema_SoftwareCertificate = 7695 - OpcUa_BinarySchema_SoftwareCertificate_DataTypeVersion = 7696 - OpcUa_BinarySchema_SoftwareCertificate_DictionaryFragment = 7697 OpcUa_BinarySchema_SignedSoftwareCertificate = 7698 OpcUa_BinarySchema_SignedSoftwareCertificate_DataTypeVersion = 7699 OpcUa_BinarySchema_SignedSoftwareCertificate_DictionaryFragment = 7700 @@ -2305,15 +2307,9 @@ class ObjectIds(object): OpcUa_XmlSchema_EndpointConfiguration = 8321 OpcUa_XmlSchema_EndpointConfiguration_DataTypeVersion = 8322 OpcUa_XmlSchema_EndpointConfiguration_DictionaryFragment = 8323 - OpcUa_XmlSchema_SupportedProfile = 8324 - OpcUa_XmlSchema_SupportedProfile_DataTypeVersion = 8325 - OpcUa_XmlSchema_SupportedProfile_DictionaryFragment = 8326 OpcUa_XmlSchema_BuildInfo = 8327 OpcUa_XmlSchema_BuildInfo_DataTypeVersion = 8328 OpcUa_XmlSchema_BuildInfo_DictionaryFragment = 8329 - OpcUa_XmlSchema_SoftwareCertificate = 8330 - OpcUa_XmlSchema_SoftwareCertificate_DataTypeVersion = 8331 - OpcUa_XmlSchema_SoftwareCertificate_DictionaryFragment = 8332 OpcUa_XmlSchema_SignedSoftwareCertificate = 8333 OpcUa_XmlSchema_SignedSoftwareCertificate_DataTypeVersion = 8334 OpcUa_XmlSchema_SignedSoftwareCertificate_DictionaryFragment = 8335 @@ -2422,7 +2418,7 @@ class ObjectIds(object): SubscriptionDiagnosticsType_NextSequenceNumber = 8897 SessionDiagnosticsObjectType_SessionDiagnostics_TotalRequestCount = 8898 SessionDiagnosticsVariableType_TotalRequestCount = 8900 - SubscriptionDiagnosticsType_EventQueueOverFlowCount = 8902 + SubscriptionDiagnosticsType_EventQueueOverflowCount = 8902 TimeZoneDataType = 8912 TimeZoneDataType_Encoding_DefaultXml = 8913 OpcUa_BinarySchema_TimeZoneDataType = 8914 @@ -4283,25 +4279,6 @@ class ObjectIds(object): ServerType_ServerCapabilities_OperationLimits_MaxNodesPerNodeManagement = 11525 ServerType_ServerCapabilities_OperationLimits_MaxMonitoredItemsPerCall = 11526 ServerType_Namespaces = 11527 - ServerType_Namespaces_AddressSpaceFile = 11528 - ServerType_Namespaces_AddressSpaceFile_Size = 11529 - ServerType_Namespaces_AddressSpaceFile_OpenCount = 11532 - ServerType_Namespaces_AddressSpaceFile_Open = 11533 - ServerType_Namespaces_AddressSpaceFile_Open_InputArguments = 11534 - ServerType_Namespaces_AddressSpaceFile_Open_OutputArguments = 11535 - ServerType_Namespaces_AddressSpaceFile_Close = 11536 - ServerType_Namespaces_AddressSpaceFile_Close_InputArguments = 11537 - ServerType_Namespaces_AddressSpaceFile_Read = 11538 - ServerType_Namespaces_AddressSpaceFile_Read_InputArguments = 11539 - ServerType_Namespaces_AddressSpaceFile_Read_OutputArguments = 11540 - ServerType_Namespaces_AddressSpaceFile_Write = 11541 - ServerType_Namespaces_AddressSpaceFile_Write_InputArguments = 11542 - ServerType_Namespaces_AddressSpaceFile_GetPosition = 11543 - ServerType_Namespaces_AddressSpaceFile_GetPosition_InputArguments = 11544 - ServerType_Namespaces_AddressSpaceFile_GetPosition_OutputArguments = 11545 - ServerType_Namespaces_AddressSpaceFile_SetPosition = 11546 - ServerType_Namespaces_AddressSpaceFile_SetPosition_InputArguments = 11547 - ServerType_Namespaces_AddressSpaceFile_ExportNamespace = 11548 ServerCapabilitiesType_MaxArrayLength = 11549 ServerCapabilitiesType_MaxStringLength = 11550 ServerCapabilitiesType_OperationLimits = 11551 @@ -4313,7 +4290,7 @@ class ObjectIds(object): ServerCapabilitiesType_OperationLimits_MaxNodesPerTranslateBrowsePathsToNodeIds = 11559 ServerCapabilitiesType_OperationLimits_MaxNodesPerNodeManagement = 11560 ServerCapabilitiesType_OperationLimits_MaxMonitoredItemsPerCall = 11561 - ServerCapabilitiesType_VendorCapability = 11562 + ServerCapabilitiesType_VendorCapability_Placeholder = 11562 OperationLimitsType = 11564 OperationLimitsType_MaxNodesPerRead = 11565 OperationLimitsType_MaxNodesPerWrite = 11567 @@ -4365,7 +4342,7 @@ class ObjectIds(object): NamespaceMetadataType_NamespaceVersion = 11618 NamespaceMetadataType_NamespacePublicationDate = 11619 NamespaceMetadataType_IsNamespaceSubset = 11620 - NamespaceMetadataType_StaticNodeIdIdentifierTypes = 11621 + NamespaceMetadataType_StaticNodeIdTypes = 11621 NamespaceMetadataType_StaticNumericNodeIdRange = 11622 NamespaceMetadataType_StaticStringNodeIdPattern = 11623 NamespaceMetadataType_NamespaceFile = 11624 @@ -4388,52 +4365,33 @@ class ObjectIds(object): NamespaceMetadataType_NamespaceFile_SetPosition_InputArguments = 11643 NamespaceMetadataType_NamespaceFile_ExportNamespace = 11644 NamespacesType = 11645 - NamespacesType_NamespaceIdentifier = 11646 - NamespacesType_NamespaceIdentifier_NamespaceUri = 11647 - NamespacesType_NamespaceIdentifier_NamespaceVersion = 11648 - NamespacesType_NamespaceIdentifier_NamespacePublicationDate = 11649 - NamespacesType_NamespaceIdentifier_IsNamespaceSubset = 11650 - NamespacesType_NamespaceIdentifier_StaticNodeIdIdentifierTypes = 11651 - NamespacesType_NamespaceIdentifier_StaticNumericNodeIdRange = 11652 - NamespacesType_NamespaceIdentifier_StaticStringNodeIdPattern = 11653 - NamespacesType_NamespaceIdentifier_NamespaceFile = 11654 - NamespacesType_NamespaceIdentifier_NamespaceFile_Size = 11655 - NamespacesType_NamespaceIdentifier_NamespaceFile_OpenCount = 11658 - NamespacesType_NamespaceIdentifier_NamespaceFile_Open = 11659 - NamespacesType_NamespaceIdentifier_NamespaceFile_Open_InputArguments = 11660 - NamespacesType_NamespaceIdentifier_NamespaceFile_Open_OutputArguments = 11661 - NamespacesType_NamespaceIdentifier_NamespaceFile_Close = 11662 - NamespacesType_NamespaceIdentifier_NamespaceFile_Close_InputArguments = 11663 - NamespacesType_NamespaceIdentifier_NamespaceFile_Read = 11664 - NamespacesType_NamespaceIdentifier_NamespaceFile_Read_InputArguments = 11665 - NamespacesType_NamespaceIdentifier_NamespaceFile_Read_OutputArguments = 11666 - NamespacesType_NamespaceIdentifier_NamespaceFile_Write = 11667 - NamespacesType_NamespaceIdentifier_NamespaceFile_Write_InputArguments = 11668 - NamespacesType_NamespaceIdentifier_NamespaceFile_GetPosition = 11669 - NamespacesType_NamespaceIdentifier_NamespaceFile_GetPosition_InputArguments = 11670 - NamespacesType_NamespaceIdentifier_NamespaceFile_GetPosition_OutputArguments = 11671 - NamespacesType_NamespaceIdentifier_NamespaceFile_SetPosition = 11672 - NamespacesType_NamespaceIdentifier_NamespaceFile_SetPosition_InputArguments = 11673 - NamespacesType_NamespaceIdentifier_NamespaceFile_ExportNamespace = 11674 - NamespacesType_AddressSpaceFile = 11675 - NamespacesType_AddressSpaceFile_Size = 11676 - NamespacesType_AddressSpaceFile_OpenCount = 11679 - NamespacesType_AddressSpaceFile_Open = 11680 - NamespacesType_AddressSpaceFile_Open_InputArguments = 11681 - NamespacesType_AddressSpaceFile_Open_OutputArguments = 11682 - NamespacesType_AddressSpaceFile_Close = 11683 - NamespacesType_AddressSpaceFile_Close_InputArguments = 11684 - NamespacesType_AddressSpaceFile_Read = 11685 - NamespacesType_AddressSpaceFile_Read_InputArguments = 11686 - NamespacesType_AddressSpaceFile_Read_OutputArguments = 11687 - NamespacesType_AddressSpaceFile_Write = 11688 - NamespacesType_AddressSpaceFile_Write_InputArguments = 11689 - NamespacesType_AddressSpaceFile_GetPosition = 11690 - NamespacesType_AddressSpaceFile_GetPosition_InputArguments = 11691 - NamespacesType_AddressSpaceFile_GetPosition_OutputArguments = 11692 - NamespacesType_AddressSpaceFile_SetPosition = 11693 - NamespacesType_AddressSpaceFile_SetPosition_InputArguments = 11694 - NamespacesType_AddressSpaceFile_ExportNamespace = 11695 + NamespacesType_NamespaceIdentifier_Placeholder = 11646 + NamespacesType_NamespaceIdentifier_Placeholder_NamespaceUri = 11647 + NamespacesType_NamespaceIdentifier_Placeholder_NamespaceVersion = 11648 + NamespacesType_NamespaceIdentifier_Placeholder_NamespacePublicationDate = 11649 + NamespacesType_NamespaceIdentifier_Placeholder_IsNamespaceSubset = 11650 + NamespacesType_NamespaceIdentifier_Placeholder_StaticNodeIdTypes = 11651 + NamespacesType_NamespaceIdentifier_Placeholder_StaticNumericNodeIdRange = 11652 + NamespacesType_NamespaceIdentifier_Placeholder_StaticStringNodeIdPattern = 11653 + NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile = 11654 + NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_Size = 11655 + NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_OpenCount = 11658 + NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_Open = 11659 + NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_Open_InputArguments = 11660 + NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_Open_OutputArguments = 11661 + NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_Close = 11662 + NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_Close_InputArguments = 11663 + NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_Read = 11664 + NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_Read_InputArguments = 11665 + NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_Read_OutputArguments = 11666 + NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_Write = 11667 + NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_Write_InputArguments = 11668 + NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_GetPosition = 11669 + NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_GetPosition_InputArguments = 11670 + NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_GetPosition_OutputArguments = 11671 + NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_SetPosition = 11672 + NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_SetPosition_InputArguments = 11673 + NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_ExportNamespace = 11674 SystemStatusChangeEventType_SystemState = 11696 SamplingIntervalDiagnosticsType_SampledMonitoredItemsCount = 11697 SamplingIntervalDiagnosticsType_MaxSampledMonitoredItemsCount = 11698 @@ -4451,25 +4409,6 @@ class ObjectIds(object): Server_ServerCapabilities_OperationLimits_MaxNodesPerNodeManagement = 11713 Server_ServerCapabilities_OperationLimits_MaxMonitoredItemsPerCall = 11714 Server_Namespaces = 11715 - Server_Namespaces_AddressSpaceFile = 11716 - Server_Namespaces_AddressSpaceFile_Size = 11717 - Server_Namespaces_AddressSpaceFile_OpenCount = 11720 - Server_Namespaces_AddressSpaceFile_Open = 11721 - Server_Namespaces_AddressSpaceFile_Open_InputArguments = 11722 - Server_Namespaces_AddressSpaceFile_Open_OutputArguments = 11723 - Server_Namespaces_AddressSpaceFile_Close = 11724 - Server_Namespaces_AddressSpaceFile_Close_InputArguments = 11725 - Server_Namespaces_AddressSpaceFile_Read = 11726 - Server_Namespaces_AddressSpaceFile_Read_InputArguments = 11727 - Server_Namespaces_AddressSpaceFile_Read_OutputArguments = 11728 - Server_Namespaces_AddressSpaceFile_Write = 11729 - Server_Namespaces_AddressSpaceFile_Write_InputArguments = 11730 - Server_Namespaces_AddressSpaceFile_GetPosition = 11731 - Server_Namespaces_AddressSpaceFile_GetPosition_InputArguments = 11732 - Server_Namespaces_AddressSpaceFile_GetPosition_OutputArguments = 11733 - Server_Namespaces_AddressSpaceFile_SetPosition = 11734 - Server_Namespaces_AddressSpaceFile_SetPosition_InputArguments = 11735 - Server_Namespaces_AddressSpaceFile_ExportNamespace = 11736 BitFieldMaskDataType = 11737 OpenMethodType = 11738 OpenMethodType_InputArguments = 11739 @@ -4615,11 +4554,9 @@ class ObjectIds(object): InstanceNode = 11879 TypeNode = 11880 NodeAttributesMask_EnumValues = 11881 - AttributeWriteMask_EnumValues = 11882 BrowseResultMask_EnumValues = 11883 HistoryUpdateType_EnumValues = 11884 PerformUpdateType_EnumValues = 11885 - EnumeratedTestType_EnumValues = 11886 InstanceNode_Encoding_DefaultXml = 11887 TypeNode_Encoding_DefaultXml = 11888 InstanceNode_Encoding_DefaultBinary = 11889 @@ -4728,62 +4665,62 @@ class ObjectIds(object): OpcUa_BinarySchema_XVType = 12094 OpcUa_BinarySchema_XVType_DataTypeVersion = 12095 OpcUa_BinarySchema_XVType_DictionaryFragment = 12096 - SessionsDiagnosticsSummaryType_SessionPlaceholder = 12097 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics = 12098 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SessionId = 12099 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SessionName = 12100 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ClientDescription = 12101 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ServerUri = 12102 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_EndpointUrl = 12103 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_LocaleIds = 12104 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ActualSessionTimeout = 12105 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_MaxResponseMessageSize = 12106 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ClientConnectionTime = 12107 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ClientLastContactTime = 12108 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CurrentSubscriptionsCount = 12109 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CurrentMonitoredItemsCount = 12110 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CurrentPublishRequestsInQueue = 12111 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_TotalRequestCount = 12112 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_UnauthorizedRequestCount = 12113 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ReadCount = 12114 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_HistoryReadCount = 12115 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_WriteCount = 12116 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_HistoryUpdateCount = 12117 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CallCount = 12118 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CreateMonitoredItemsCount = 12119 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ModifyMonitoredItemsCount = 12120 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SetMonitoringModeCount = 12121 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SetTriggeringCount = 12122 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_DeleteMonitoredItemsCount = 12123 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CreateSubscriptionCount = 12124 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ModifySubscriptionCount = 12125 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SetPublishingModeCount = 12126 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_PublishCount = 12127 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_RepublishCount = 12128 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_TransferSubscriptionsCount = 12129 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_DeleteSubscriptionsCount = 12130 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_AddNodesCount = 12131 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_AddReferencesCount = 12132 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_DeleteNodesCount = 12133 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_DeleteReferencesCount = 12134 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_BrowseCount = 12135 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_BrowseNextCount = 12136 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_TranslateBrowsePathsToNodeIdsCount = 12137 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_QueryFirstCount = 12138 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_QueryNextCount = 12139 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_RegisterNodesCount = 12140 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_UnregisterNodesCount = 12141 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics = 12142 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_SessionId = 12143 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_ClientUserIdOfSession = 12144 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_ClientUserIdHistory = 12145 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_AuthenticationMechanism = 12146 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_Encoding = 12147 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_TransportProtocol = 12148 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_SecurityMode = 12149 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_SecurityPolicyUri = 12150 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_ClientCertificate = 12151 - SessionsDiagnosticsSummaryType_SessionPlaceholder_SubscriptionDiagnosticsArray = 12152 + SessionsDiagnosticsSummaryType_ClientName_Placeholder = 12097 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics = 12098 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_SessionId = 12099 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_SessionName = 12100 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_ClientDescription = 12101 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_ServerUri = 12102 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_EndpointUrl = 12103 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_LocaleIds = 12104 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_ActualSessionTimeout = 12105 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_MaxResponseMessageSize = 12106 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_ClientConnectionTime = 12107 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_ClientLastContactTime = 12108 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_CurrentSubscriptionsCount = 12109 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_CurrentMonitoredItemsCount = 12110 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_CurrentPublishRequestsInQueue = 12111 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_TotalRequestCount = 12112 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_UnauthorizedRequestCount = 12113 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_ReadCount = 12114 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_HistoryReadCount = 12115 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_WriteCount = 12116 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_HistoryUpdateCount = 12117 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_CallCount = 12118 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_CreateMonitoredItemsCount = 12119 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_ModifyMonitoredItemsCount = 12120 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_SetMonitoringModeCount = 12121 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_SetTriggeringCount = 12122 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_DeleteMonitoredItemsCount = 12123 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_CreateSubscriptionCount = 12124 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_ModifySubscriptionCount = 12125 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_SetPublishingModeCount = 12126 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_PublishCount = 12127 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_RepublishCount = 12128 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_TransferSubscriptionsCount = 12129 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_DeleteSubscriptionsCount = 12130 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_AddNodesCount = 12131 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_AddReferencesCount = 12132 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_DeleteNodesCount = 12133 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_DeleteReferencesCount = 12134 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_BrowseCount = 12135 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_BrowseNextCount = 12136 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_TranslateBrowsePathsToNodeIdsCount = 12137 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_QueryFirstCount = 12138 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_QueryNextCount = 12139 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_RegisterNodesCount = 12140 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_UnregisterNodesCount = 12141 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionSecurityDiagnostics = 12142 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionSecurityDiagnostics_SessionId = 12143 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionSecurityDiagnostics_ClientUserIdOfSession = 12144 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionSecurityDiagnostics_ClientUserIdHistory = 12145 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionSecurityDiagnostics_AuthenticationMechanism = 12146 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionSecurityDiagnostics_Encoding = 12147 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionSecurityDiagnostics_TransportProtocol = 12148 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionSecurityDiagnostics_SecurityMode = 12149 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionSecurityDiagnostics_SecurityPolicyUri = 12150 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionSecurityDiagnostics_ClientCertificate = 12151 + SessionsDiagnosticsSummaryType_ClientName_Placeholder_SubscriptionDiagnosticsArray = 12152 ServerType_ServerCapabilities_OperationLimits_MaxNodesPerHistoryReadData = 12153 ServerType_ServerCapabilities_OperationLimits_MaxNodesPerHistoryReadEvents = 12154 ServerType_ServerCapabilities_OperationLimits_MaxNodesPerHistoryUpdateData = 12155 @@ -4843,15 +4780,6 @@ class ObjectIds(object): OpcUa_BinarySchema_ServerOnNetwork_DictionaryFragment = 12215 ProgressEventType_Context = 12502 ProgressEventType_Progress = 12503 - KerberosIdentityToken = 12504 - KerberosIdentityToken_Encoding_DefaultXml = 12505 - OpcUa_XmlSchema_KerberosIdentityToken = 12506 - OpcUa_XmlSchema_KerberosIdentityToken_DataTypeVersion = 12507 - OpcUa_XmlSchema_KerberosIdentityToken_DictionaryFragment = 12508 - KerberosIdentityToken_Encoding_DefaultBinary = 12509 - OpcUa_BinarySchema_KerberosIdentityToken = 12510 - OpcUa_BinarySchema_KerberosIdentityToken_DataTypeVersion = 12511 - OpcUa_BinarySchema_KerberosIdentityToken_DictionaryFragment = 12512 OpenWithMasksMethodType = 12513 OpenWithMasksMethodType_InputArguments = 12514 OpenWithMasksMethodType_OutputArguments = 12515 @@ -4982,20 +4910,14 @@ class ObjectIds(object): OpcUa_BinarySchema_TrustListDataType = 12681 OpcUa_BinarySchema_TrustListDataType_DataTypeVersion = 12682 OpcUa_BinarySchema_TrustListDataType_DictionaryFragment = 12683 - ServerType_Namespaces_AddressSpaceFile_Writable = 12684 - ServerType_Namespaces_AddressSpaceFile_UserWritable = 12685 FileType_Writable = 12686 FileType_UserWritable = 12687 AddressSpaceFileType_Writable = 12688 AddressSpaceFileType_UserWritable = 12689 NamespaceMetadataType_NamespaceFile_Writable = 12690 NamespaceMetadataType_NamespaceFile_UserWritable = 12691 - NamespacesType_NamespaceIdentifier_NamespaceFile_Writable = 12692 - NamespacesType_NamespaceIdentifier_NamespaceFile_UserWritable = 12693 - NamespacesType_AddressSpaceFile_Writable = 12694 - NamespacesType_AddressSpaceFile_UserWritable = 12695 - Server_Namespaces_AddressSpaceFile_Writable = 12696 - Server_Namespaces_AddressSpaceFile_UserWritable = 12697 + NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_Writable = 12692 + NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_UserWritable = 12693 TrustListType_Writable = 12698 TrustListType_UserWritable = 12699 CloseAndUpdateMethodType_InputArguments = 12704 @@ -5095,7 +5017,7 @@ class ObjectIds(object): SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_DisabledMonitoredItemCount = 12812 SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_MonitoringQueueOverflowCount = 12813 SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_NextSequenceNumber = 12814 - SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_EventQueueOverFlowCount = 12815 + SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_EventQueueOverflowCount = 12815 SessionDiagnosticsArrayType_SessionDiagnostics = 12816 SessionDiagnosticsArrayType_SessionDiagnostics_SessionId = 12817 SessionDiagnosticsArrayType_SessionDiagnostics_SessionName = 12818 @@ -5330,7 +5252,6 @@ class ObjectIds(object): CertificateExpirationAlarmType_ExpirationDate = 13325 CertificateExpirationAlarmType_CertificateType = 13326 CertificateExpirationAlarmType_Certificate = 13327 - ServerType_Namespaces_AddressSpaceFile_MimeType = 13340 FileType_MimeType = 13341 CreateDirectoryMethodType = 13342 CreateDirectoryMethodType_InputArguments = 13343 @@ -5344,55 +5265,51 @@ class ObjectIds(object): MoveOrCopyMethodType_InputArguments = 13351 MoveOrCopyMethodType_OutputArguments = 13352 FileDirectoryType = 13353 - FileDirectoryType_xFileDirectoryNamex = 13354 - FileDirectoryType_xFileDirectoryNamex_CreateDirectory = 13355 - FileDirectoryType_xFileDirectoryNamex_CreateDirectory_InputArguments = 13356 - FileDirectoryType_xFileDirectoryNamex_CreateDirectory_OutputArguments = 13357 - FileDirectoryType_xFileDirectoryNamex_CreateFile = 13358 - FileDirectoryType_xFileDirectoryNamex_CreateFile_InputArguments = 13359 - FileDirectoryType_xFileDirectoryNamex_CreateFile_OutputArguments = 13360 - FileDirectoryType_xFileDirectoryNamex_Delete = 13361 - FileDirectoryType_xFileDirectoryNamex_Delete_InputArguments = 13362 - FileDirectoryType_xFileDirectoryNamex_MoveOrCopy = 13363 - FileDirectoryType_xFileDirectoryNamex_MoveOrCopy_InputArguments = 13364 - FileDirectoryType_xFileDirectoryNamex_MoveOrCopy_OutputArguments = 13365 - FileDirectoryType_xFileNamex = 13366 - FileDirectoryType_xFileNamex_Size = 13367 - FileDirectoryType_xFileNamex_Writable = 13368 - FileDirectoryType_xFileNamex_UserWritable = 13369 - FileDirectoryType_xFileNamex_OpenCount = 13370 - FileDirectoryType_xFileNamex_MimeType = 13371 - FileDirectoryType_xFileNamex_Open = 13372 - FileDirectoryType_xFileNamex_Open_InputArguments = 13373 - FileDirectoryType_xFileNamex_Open_OutputArguments = 13374 - FileDirectoryType_xFileNamex_Close = 13375 - FileDirectoryType_xFileNamex_Close_InputArguments = 13376 - FileDirectoryType_xFileNamex_Read = 13377 - FileDirectoryType_xFileNamex_Read_InputArguments = 13378 - FileDirectoryType_xFileNamex_Read_OutputArguments = 13379 - FileDirectoryType_xFileNamex_Write = 13380 - FileDirectoryType_xFileNamex_Write_InputArguments = 13381 - FileDirectoryType_xFileNamex_GetPosition = 13382 - FileDirectoryType_xFileNamex_GetPosition_InputArguments = 13383 - FileDirectoryType_xFileNamex_GetPosition_OutputArguments = 13384 - FileDirectoryType_xFileNamex_SetPosition = 13385 - FileDirectoryType_xFileNamex_SetPosition_InputArguments = 13386 + FileDirectoryType_FileDirectoryName_Placeholder = 13354 + FileDirectoryType_FileDirectoryName_Placeholder_CreateDirectory = 13355 + FileDirectoryType_FileDirectoryName_Placeholder_CreateDirectory_InputArguments = 13356 + FileDirectoryType_FileDirectoryName_Placeholder_CreateDirectory_OutputArguments = 13357 + FileDirectoryType_FileDirectoryName_Placeholder_CreateFile = 13358 + FileDirectoryType_FileDirectoryName_Placeholder_CreateFile_InputArguments = 13359 + FileDirectoryType_FileDirectoryName_Placeholder_CreateFile_OutputArguments = 13360 + FileDirectoryType_FileDirectoryName_Placeholder_MoveOrCopy = 13363 + FileDirectoryType_FileDirectoryName_Placeholder_MoveOrCopy_InputArguments = 13364 + FileDirectoryType_FileDirectoryName_Placeholder_MoveOrCopy_OutputArguments = 13365 + FileDirectoryType_FileName_Placeholder = 13366 + FileDirectoryType_FileName_Placeholder_Size = 13367 + FileDirectoryType_FileName_Placeholder_Writable = 13368 + FileDirectoryType_FileName_Placeholder_UserWritable = 13369 + FileDirectoryType_FileName_Placeholder_OpenCount = 13370 + FileDirectoryType_FileName_Placeholder_MimeType = 13371 + FileDirectoryType_FileName_Placeholder_Open = 13372 + FileDirectoryType_FileName_Placeholder_Open_InputArguments = 13373 + FileDirectoryType_FileName_Placeholder_Open_OutputArguments = 13374 + FileDirectoryType_FileName_Placeholder_Close = 13375 + FileDirectoryType_FileName_Placeholder_Close_InputArguments = 13376 + FileDirectoryType_FileName_Placeholder_Read = 13377 + FileDirectoryType_FileName_Placeholder_Read_InputArguments = 13378 + FileDirectoryType_FileName_Placeholder_Read_OutputArguments = 13379 + FileDirectoryType_FileName_Placeholder_Write = 13380 + FileDirectoryType_FileName_Placeholder_Write_InputArguments = 13381 + FileDirectoryType_FileName_Placeholder_GetPosition = 13382 + FileDirectoryType_FileName_Placeholder_GetPosition_InputArguments = 13383 + FileDirectoryType_FileName_Placeholder_GetPosition_OutputArguments = 13384 + FileDirectoryType_FileName_Placeholder_SetPosition = 13385 + FileDirectoryType_FileName_Placeholder_SetPosition_InputArguments = 13386 FileDirectoryType_CreateDirectory = 13387 FileDirectoryType_CreateDirectory_InputArguments = 13388 FileDirectoryType_CreateDirectory_OutputArguments = 13389 FileDirectoryType_CreateFile = 13390 FileDirectoryType_CreateFile_InputArguments = 13391 FileDirectoryType_CreateFile_OutputArguments = 13392 - FileDirectoryType_Delete = 13393 - FileDirectoryType_Delete_InputArguments = 13394 + FileDirectoryType_DeleteFileSystemObject = 13393 + FileDirectoryType_DeleteFileSystemObject_InputArguments = 13394 FileDirectoryType_MoveOrCopy = 13395 FileDirectoryType_MoveOrCopy_InputArguments = 13396 FileDirectoryType_MoveOrCopy_OutputArguments = 13397 AddressSpaceFileType_MimeType = 13398 NamespaceMetadataType_NamespaceFile_MimeType = 13399 - NamespacesType_NamespaceIdentifier_NamespaceFile_MimeType = 13400 - NamespacesType_AddressSpaceFile_MimeType = 13401 - Server_Namespaces_AddressSpaceFile_MimeType = 13402 + NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_MimeType = 13400 TrustListType_MimeType = 13403 CertificateGroupType_TrustList = 13599 CertificateGroupType_TrustList_Size = 13600 @@ -5535,40 +5452,40 @@ class ObjectIds(object): CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_RemoveCertificate = 13913 CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_RemoveCertificate_InputArguments = 13914 CertificateGroupFolderType_DefaultUserTokenGroup_CertificateTypes = 13915 - CertificateGroupFolderType_xCertificateGroupx = 13916 - CertificateGroupFolderType_xCertificateGroupx_TrustList = 13917 - CertificateGroupFolderType_xCertificateGroupx_TrustList_Size = 13918 - CertificateGroupFolderType_xCertificateGroupx_TrustList_Writable = 13919 - CertificateGroupFolderType_xCertificateGroupx_TrustList_UserWritable = 13920 - CertificateGroupFolderType_xCertificateGroupx_TrustList_OpenCount = 13921 - CertificateGroupFolderType_xCertificateGroupx_TrustList_MimeType = 13922 - CertificateGroupFolderType_xCertificateGroupx_TrustList_Open = 13923 - CertificateGroupFolderType_xCertificateGroupx_TrustList_Open_InputArguments = 13924 - CertificateGroupFolderType_xCertificateGroupx_TrustList_Open_OutputArguments = 13925 - CertificateGroupFolderType_xCertificateGroupx_TrustList_Close = 13926 - CertificateGroupFolderType_xCertificateGroupx_TrustList_Close_InputArguments = 13927 - CertificateGroupFolderType_xCertificateGroupx_TrustList_Read = 13928 - CertificateGroupFolderType_xCertificateGroupx_TrustList_Read_InputArguments = 13929 - CertificateGroupFolderType_xCertificateGroupx_TrustList_Read_OutputArguments = 13930 - CertificateGroupFolderType_xCertificateGroupx_TrustList_Write = 13931 - CertificateGroupFolderType_xCertificateGroupx_TrustList_Write_InputArguments = 13932 - CertificateGroupFolderType_xCertificateGroupx_TrustList_GetPosition = 13933 - CertificateGroupFolderType_xCertificateGroupx_TrustList_GetPosition_InputArguments = 13934 - CertificateGroupFolderType_xCertificateGroupx_TrustList_GetPosition_OutputArguments = 13935 - CertificateGroupFolderType_xCertificateGroupx_TrustList_SetPosition = 13936 - CertificateGroupFolderType_xCertificateGroupx_TrustList_SetPosition_InputArguments = 13937 - CertificateGroupFolderType_xCertificateGroupx_TrustList_LastUpdateTime = 13938 - CertificateGroupFolderType_xCertificateGroupx_TrustList_OpenWithMasks = 13939 - CertificateGroupFolderType_xCertificateGroupx_TrustList_OpenWithMasks_InputArguments = 13940 - CertificateGroupFolderType_xCertificateGroupx_TrustList_OpenWithMasks_OutputArguments = 13941 - CertificateGroupFolderType_xCertificateGroupx_TrustList_CloseAndUpdate = 13942 - CertificateGroupFolderType_xCertificateGroupx_TrustList_CloseAndUpdate_InputArguments = 13943 - CertificateGroupFolderType_xCertificateGroupx_TrustList_CloseAndUpdate_OutputArguments = 13944 - CertificateGroupFolderType_xCertificateGroupx_TrustList_AddCertificate = 13945 - CertificateGroupFolderType_xCertificateGroupx_TrustList_AddCertificate_InputArguments = 13946 - CertificateGroupFolderType_xCertificateGroupx_TrustList_RemoveCertificate = 13947 - CertificateGroupFolderType_xCertificateGroupx_TrustList_RemoveCertificate_InputArguments = 13948 - CertificateGroupFolderType_xCertificateGroupx_CertificateTypes = 13949 + CertificateGroupFolderType_AdditionalGroup_Placeholder = 13916 + CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList = 13917 + CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Size = 13918 + CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Writable = 13919 + CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_UserWritable = 13920 + CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_OpenCount = 13921 + CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_MimeType = 13922 + CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Open = 13923 + CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Open_InputArguments = 13924 + CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Open_OutputArguments = 13925 + CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Close = 13926 + CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Close_InputArguments = 13927 + CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Read = 13928 + CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Read_InputArguments = 13929 + CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Read_OutputArguments = 13930 + CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Write = 13931 + CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Write_InputArguments = 13932 + CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_GetPosition = 13933 + CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_GetPosition_InputArguments = 13934 + CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_GetPosition_OutputArguments = 13935 + CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_SetPosition = 13936 + CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_SetPosition_InputArguments = 13937 + CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_LastUpdateTime = 13938 + CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_OpenWithMasks = 13939 + CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_OpenWithMasks_InputArguments = 13940 + CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_OpenWithMasks_OutputArguments = 13941 + CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_CloseAndUpdate = 13942 + CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_CloseAndUpdate_InputArguments = 13943 + CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_CloseAndUpdate_OutputArguments = 13944 + CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_AddCertificate = 13945 + CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_AddCertificate_InputArguments = 13946 + CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_RemoveCertificate = 13947 + CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_RemoveCertificate_InputArguments = 13948 + CertificateGroupFolderType_AdditionalGroup_Placeholder_CertificateTypes = 13949 ServerConfigurationType_CertificateGroups = 13950 ServerConfigurationType_CertificateGroups_DefaultApplicationGroup = 13951 ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList = 13952 @@ -5747,9 +5664,4943 @@ class ObjectIds(object): ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_MimeType = 14159 ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_CloseAndUpdate_InputArguments = 14160 ServerConfiguration_CertificateGroups_DefaultApplicationGroup_CertificateTypes = 14161 + RemoveConnectionMethodType = 14183 + RemoveConnectionMethodType_InputArguments = 14184 + PubSubConnectionType = 14209 + PubSubConnectionType_Address = 14221 + PubSubConnectionType_RemoveGroup = 14225 + PubSubConnectionType_RemoveGroup_InputArguments = 14226 + PubSubGroupType = 14232 + PublishedVariableDataType = 14273 + PublishedVariableDataType_Encoding_DefaultXml = 14319 + OpcUa_XmlSchema_PublishedVariableDataType = 14320 + OpcUa_XmlSchema_PublishedVariableDataType_DataTypeVersion = 14321 + OpcUa_XmlSchema_PublishedVariableDataType_DictionaryFragment = 14322 + PublishedVariableDataType_Encoding_DefaultBinary = 14323 + OpcUa_BinarySchema_PublishedVariableDataType = 14324 + OpcUa_BinarySchema_PublishedVariableDataType_DataTypeVersion = 14325 + OpcUa_BinarySchema_PublishedVariableDataType_DictionaryFragment = 14326 AuditCreateSessionEventType_SessionId = 14413 AuditUrlMismatchEventType_SessionId = 14414 Server_ServerRedundancy_ServerNetworkGroups = 14415 + PublishSubscribeType = 14416 + PublishSubscribeType_ConnectionName_Placeholder = 14417 + PublishSubscribeType_ConnectionName_Placeholder_PublisherId = 14418 + PublishSubscribeType_ConnectionName_Placeholder_Status = 14419 + PublishSubscribeType_ConnectionName_Placeholder_Status_State = 14420 + PublishSubscribeType_ConnectionName_Placeholder_Status_Enable = 14421 + PublishSubscribeType_ConnectionName_Placeholder_Status_Disable = 14422 + PublishSubscribeType_ConnectionName_Placeholder_Address = 14423 + PublishSubscribeType_ConnectionName_Placeholder_RemoveGroup = 14424 + PublishSubscribeType_ConnectionName_Placeholder_RemoveGroup_InputArguments = 14425 + PublishSubscribeType_RemoveConnection = 14432 + PublishSubscribeType_RemoveConnection_InputArguments = 14433 + PublishSubscribeType_PublishedDataSets = 14434 + PublishSubscribeType_PublishedDataSets_AddPublishedDataItems = 14435 + PublishSubscribeType_PublishedDataSets_AddPublishedDataItems_InputArguments = 14436 + PublishSubscribeType_PublishedDataSets_AddPublishedDataItems_OutputArguments = 14437 + PublishSubscribeType_PublishedDataSets_AddPublishedEvents = 14438 + PublishSubscribeType_PublishedDataSets_AddPublishedEvents_InputArguments = 14439 + PublishSubscribeType_PublishedDataSets_AddPublishedEvents_OutputArguments = 14440 + PublishSubscribeType_PublishedDataSets_RemovePublishedDataSet = 14441 + PublishSubscribeType_PublishedDataSets_RemovePublishedDataSet_InputArguments = 14442 + PublishSubscribe = 14443 + HasPubSubConnection = 14476 + DataSetFolderType = 14477 + DataSetFolderType_DataSetFolderName_Placeholder = 14478 + DataSetFolderType_DataSetFolderName_Placeholder_AddPublishedDataItems = 14479 + DataSetFolderType_DataSetFolderName_Placeholder_AddPublishedDataItems_InputArguments = 14480 + DataSetFolderType_DataSetFolderName_Placeholder_AddPublishedDataItems_OutputArguments = 14481 + DataSetFolderType_DataSetFolderName_Placeholder_AddPublishedEvents = 14482 + DataSetFolderType_DataSetFolderName_Placeholder_AddPublishedEvents_InputArguments = 14483 + DataSetFolderType_DataSetFolderName_Placeholder_AddPublishedEvents_OutputArguments = 14484 + DataSetFolderType_DataSetFolderName_Placeholder_RemovePublishedDataSet = 14485 + DataSetFolderType_DataSetFolderName_Placeholder_RemovePublishedDataSet_InputArguments = 14486 + DataSetFolderType_PublishedDataSetName_Placeholder = 14487 + DataSetFolderType_PublishedDataSetName_Placeholder_ConfigurationVersion = 14489 + DataSetFolderType_AddPublishedDataItems = 14493 + DataSetFolderType_AddPublishedDataItems_InputArguments = 14494 + DataSetFolderType_AddPublishedDataItems_OutputArguments = 14495 + DataSetFolderType_AddPublishedEvents = 14496 + DataSetFolderType_AddPublishedEvents_InputArguments = 14497 + DataSetFolderType_AddPublishedEvents_OutputArguments = 14498 + DataSetFolderType_RemovePublishedDataSet = 14499 + DataSetFolderType_RemovePublishedDataSet_InputArguments = 14500 + AddPublishedDataItemsMethodType = 14501 + AddPublishedDataItemsMethodType_InputArguments = 14502 + AddPublishedDataItemsMethodType_OutputArguments = 14503 + AddPublishedEventsMethodType = 14504 + AddPublishedEventsMethodType_InputArguments = 14505 + AddPublishedEventsMethodType_OutputArguments = 14506 + RemovePublishedDataSetMethodType = 14507 + RemovePublishedDataSetMethodType_InputArguments = 14508 + PublishedDataSetType = 14509 + PublishedDataSetType_ConfigurationVersion = 14519 + DataSetMetaDataType = 14523 + FieldMetaData = 14524 + DataTypeDescription = 14525 + StructureType_EnumStrings = 14528 + KeyValuePair = 14533 + PublishedDataItemsType = 14534 + PublishedDataItemsType_ConfigurationVersion = 14544 + PublishedDataItemsType_PublishedData = 14548 + PublishedDataItemsType_AddVariables = 14555 + PublishedDataItemsType_AddVariables_InputArguments = 14556 + PublishedDataItemsType_AddVariables_OutputArguments = 14557 + PublishedDataItemsType_RemoveVariables = 14558 + PublishedDataItemsType_RemoveVariables_InputArguments = 14559 + PublishedDataItemsType_RemoveVariables_OutputArguments = 14560 + PublishedDataItemsAddVariablesMethodType = 14564 + PublishedDataItemsAddVariablesMethodType_InputArguments = 14565 + PublishedDataItemsAddVariablesMethodType_OutputArguments = 14566 + PublishedDataItemsRemoveVariablesMethodType = 14567 + PublishedDataItemsRemoveVariablesMethodType_InputArguments = 14568 + PublishedDataItemsRemoveVariablesMethodType_OutputArguments = 14569 + PublishedEventsType = 14572 + PublishedEventsType_ConfigurationVersion = 14582 + PublishedEventsType_PubSubEventNotifier = 14586 + PublishedEventsType_SelectedFields = 14587 + PublishedEventsType_Filter = 14588 + ConfigurationVersionDataType = 14593 + PubSubConnectionType_PublisherId = 14595 + PubSubConnectionType_Status = 14600 + PubSubConnectionType_Status_State = 14601 + PubSubConnectionType_Status_Enable = 14602 + PubSubConnectionType_Status_Disable = 14603 + PubSubConnectionTypeRemoveGroupMethodType = 14604 + PubSubConnectionTypeRemoveGroupMethodType_InputArguments = 14605 + PubSubGroupTypeRemoveWriterMethodType = 14623 + PubSubGroupTypeRemoveWriterMethodType_InputArguments = 14624 + PubSubGroupTypeRemoveReaderMethodType = 14625 + PubSubGroupTypeRemoveReaderMethodType_InputArguments = 14626 + PubSubStatusType = 14643 + PubSubStatusType_State = 14644 + PubSubStatusType_Enable = 14645 + PubSubStatusType_Disable = 14646 + PubSubState = 14647 + PubSubState_EnumStrings = 14648 + FieldTargetDataType = 14744 + DataSetMetaDataType_Encoding_DefaultXml = 14794 + FieldMetaData_Encoding_DefaultXml = 14795 + DataTypeDescription_Encoding_DefaultXml = 14796 + DataTypeDefinition_Encoding_DefaultXml = 14797 + StructureDefinition_Encoding_DefaultXml = 14798 + EnumDefinition_Encoding_DefaultXml = 14799 + StructureField_Encoding_DefaultXml = 14800 + EnumField_Encoding_DefaultXml = 14801 + KeyValuePair_Encoding_DefaultXml = 14802 + ConfigurationVersionDataType_Encoding_DefaultXml = 14803 + FieldTargetDataType_Encoding_DefaultXml = 14804 + OpcUa_XmlSchema_DataSetMetaDataType = 14805 + OpcUa_XmlSchema_DataSetMetaDataType_DataTypeVersion = 14806 + OpcUa_XmlSchema_DataSetMetaDataType_DictionaryFragment = 14807 + OpcUa_XmlSchema_FieldMetaData = 14808 + OpcUa_XmlSchema_FieldMetaData_DataTypeVersion = 14809 + OpcUa_XmlSchema_FieldMetaData_DictionaryFragment = 14810 + OpcUa_XmlSchema_DataTypeDescription = 14811 + OpcUa_XmlSchema_DataTypeDescription_DataTypeVersion = 14812 + OpcUa_XmlSchema_DataTypeDescription_DictionaryFragment = 14813 + OpcUa_XmlSchema_EnumField = 14826 + OpcUa_XmlSchema_EnumField_DataTypeVersion = 14827 + OpcUa_XmlSchema_EnumField_DictionaryFragment = 14828 + OpcUa_XmlSchema_KeyValuePair = 14829 + OpcUa_XmlSchema_KeyValuePair_DataTypeVersion = 14830 + OpcUa_XmlSchema_KeyValuePair_DictionaryFragment = 14831 + OpcUa_XmlSchema_ConfigurationVersionDataType = 14832 + OpcUa_XmlSchema_ConfigurationVersionDataType_DataTypeVersion = 14833 + OpcUa_XmlSchema_ConfigurationVersionDataType_DictionaryFragment = 14834 + OpcUa_XmlSchema_FieldTargetDataType = 14835 + OpcUa_XmlSchema_FieldTargetDataType_DataTypeVersion = 14836 + OpcUa_XmlSchema_FieldTargetDataType_DictionaryFragment = 14837 + FieldMetaData_Encoding_DefaultBinary = 14839 + StructureField_Encoding_DefaultBinary = 14844 + EnumField_Encoding_DefaultBinary = 14845 + KeyValuePair_Encoding_DefaultBinary = 14846 + ConfigurationVersionDataType_Encoding_DefaultBinary = 14847 + FieldTargetDataType_Encoding_DefaultBinary = 14848 + OpcUa_BinarySchema_DataSetMetaDataType = 14849 + OpcUa_BinarySchema_DataSetMetaDataType_DataTypeVersion = 14850 + OpcUa_BinarySchema_DataSetMetaDataType_DictionaryFragment = 14851 + OpcUa_BinarySchema_FieldMetaData = 14852 + OpcUa_BinarySchema_FieldMetaData_DataTypeVersion = 14853 + OpcUa_BinarySchema_FieldMetaData_DictionaryFragment = 14854 + OpcUa_BinarySchema_DataTypeDescription = 14855 + OpcUa_BinarySchema_DataTypeDescription_DataTypeVersion = 14856 + OpcUa_BinarySchema_DataTypeDescription_DictionaryFragment = 14857 + OpcUa_BinarySchema_EnumField = 14870 + OpcUa_BinarySchema_EnumField_DataTypeVersion = 14871 + OpcUa_BinarySchema_EnumField_DictionaryFragment = 14872 + OpcUa_BinarySchema_KeyValuePair = 14873 + OpcUa_BinarySchema_KeyValuePair_DataTypeVersion = 14874 + OpcUa_BinarySchema_KeyValuePair_DictionaryFragment = 14875 + OpcUa_BinarySchema_ConfigurationVersionDataType = 14876 + OpcUa_BinarySchema_ConfigurationVersionDataType_DataTypeVersion = 14877 + OpcUa_BinarySchema_ConfigurationVersionDataType_DictionaryFragment = 14878 + OpcUa_BinarySchema_FieldTargetDataType_DataTypeVersion = 14880 + OpcUa_BinarySchema_FieldTargetDataType_DictionaryFragment = 14881 + CertificateExpirationAlarmType_ExpirationLimit = 14900 + DataSetToWriter = 14936 + DataTypeDictionaryType_Deprecated = 15001 + MaxCharacters = 15002 + ServerType_UrisVersion = 15003 + Server_UrisVersion = 15004 + SimpleTypeDescription = 15005 + UABinaryFileDataType = 15006 + BrokerConnectionTransportDataType = 15007 + BrokerTransportQualityOfService = 15008 + BrokerTransportQualityOfService_EnumStrings = 15009 + SecurityGroupFolderType_SecurityGroupName_Placeholder_KeyLifetime = 15010 + SecurityGroupFolderType_SecurityGroupName_Placeholder_SecurityPolicyUri = 15011 + SecurityGroupFolderType_SecurityGroupName_Placeholder_MaxFutureKeyCount = 15012 + AuditConditionResetEventType = 15013 + AuditConditionResetEventType_EventId = 15014 + AuditConditionResetEventType_EventType = 15015 + AuditConditionResetEventType_SourceNode = 15016 + AuditConditionResetEventType_SourceName = 15017 + AuditConditionResetEventType_Time = 15018 + AuditConditionResetEventType_ReceiveTime = 15019 + AuditConditionResetEventType_LocalTime = 15020 + AuditConditionResetEventType_Message = 15021 + AuditConditionResetEventType_Severity = 15022 + AuditConditionResetEventType_ActionTimeStamp = 15023 + AuditConditionResetEventType_Status = 15024 + AuditConditionResetEventType_ServerId = 15025 + AuditConditionResetEventType_ClientAuditEntryId = 15026 + AuditConditionResetEventType_ClientUserId = 15027 + AuditConditionResetEventType_MethodId = 15028 + AuditConditionResetEventType_InputArguments = 15029 + PermissionType_OptionSetValues = 15030 + AccessLevelType = 15031 + AccessLevelType_OptionSetValues = 15032 + EventNotifierType = 15033 + EventNotifierType_OptionSetValues = 15034 + AccessRestrictionType_OptionSetValues = 15035 + AttributeWriteMask_OptionSetValues = 15036 + OpcUa_BinarySchema_Deprecated = 15037 + ProgramStateMachineType_ProgramDiagnostics_LastMethodInputValues = 15038 + OpcUa_XmlSchema_Deprecated = 15039 + ProgramStateMachineType_ProgramDiagnostics_LastMethodOutputValues = 15040 + KeyValuePair_Encoding_DefaultJson = 15041 + IdentityMappingRuleType_Encoding_DefaultJson = 15042 + SecurityGroupFolderType_SecurityGroupName_Placeholder_MaxPastKeyCount = 15043 + TrustListDataType_Encoding_DefaultJson = 15044 + DecimalDataType_Encoding_DefaultJson = 15045 + SecurityGroupType_KeyLifetime = 15046 + SecurityGroupType_SecurityPolicyUri = 15047 + SecurityGroupType_MaxFutureKeyCount = 15048 + ConfigurationVersionDataType_Encoding_DefaultJson = 15049 + DataSetMetaDataType_Encoding_DefaultJson = 15050 + FieldMetaData_Encoding_DefaultJson = 15051 + PublishedEventsType_ModifyFieldSelection = 15052 + PublishedEventsType_ModifyFieldSelection_InputArguments = 15053 + PublishedEventsTypeModifyFieldSelectionMethodType = 15054 + PublishedEventsTypeModifyFieldSelectionMethodType_InputArguments = 15055 + SecurityGroupType_MaxPastKeyCount = 15056 + DataTypeDescription_Encoding_DefaultJson = 15057 + StructureDescription_Encoding_DefaultJson = 15058 + EnumDescription_Encoding_DefaultJson = 15059 + PublishedVariableDataType_Encoding_DefaultJson = 15060 + FieldTargetDataType_Encoding_DefaultJson = 15061 + RolePermissionType_Encoding_DefaultJson = 15062 + DataTypeDefinition_Encoding_DefaultJson = 15063 + DatagramConnectionTransportType = 15064 + StructureField_Encoding_DefaultJson = 15065 + StructureDefinition_Encoding_DefaultJson = 15066 + EnumDefinition_Encoding_DefaultJson = 15067 + Node_Encoding_DefaultJson = 15068 + InstanceNode_Encoding_DefaultJson = 15069 + TypeNode_Encoding_DefaultJson = 15070 + ObjectNode_Encoding_DefaultJson = 15071 + DatagramConnectionTransportType_DiscoveryAddress = 15072 + ObjectTypeNode_Encoding_DefaultJson = 15073 + VariableNode_Encoding_DefaultJson = 15074 + VariableTypeNode_Encoding_DefaultJson = 15075 + ReferenceTypeNode_Encoding_DefaultJson = 15076 + MethodNode_Encoding_DefaultJson = 15077 + ViewNode_Encoding_DefaultJson = 15078 + DataTypeNode_Encoding_DefaultJson = 15079 + ReferenceNode_Encoding_DefaultJson = 15080 + Argument_Encoding_DefaultJson = 15081 + EnumValueType_Encoding_DefaultJson = 15082 + EnumField_Encoding_DefaultJson = 15083 + OptionSet_Encoding_DefaultJson = 15084 + Union_Encoding_DefaultJson = 15085 + TimeZoneDataType_Encoding_DefaultJson = 15086 + ApplicationDescription_Encoding_DefaultJson = 15087 + RequestHeader_Encoding_DefaultJson = 15088 + ResponseHeader_Encoding_DefaultJson = 15089 + ServiceFault_Encoding_DefaultJson = 15090 + SessionlessInvokeRequestType_Encoding_DefaultJson = 15091 + SessionlessInvokeResponseType_Encoding_DefaultJson = 15092 + FindServersRequest_Encoding_DefaultJson = 15093 + FindServersResponse_Encoding_DefaultJson = 15094 + ServerOnNetwork_Encoding_DefaultJson = 15095 + FindServersOnNetworkRequest_Encoding_DefaultJson = 15096 + FindServersOnNetworkResponse_Encoding_DefaultJson = 15097 + UserTokenPolicy_Encoding_DefaultJson = 15098 + EndpointDescription_Encoding_DefaultJson = 15099 + GetEndpointsRequest_Encoding_DefaultJson = 15100 + GetEndpointsResponse_Encoding_DefaultJson = 15101 + RegisteredServer_Encoding_DefaultJson = 15102 + RegisterServerRequest_Encoding_DefaultJson = 15103 + RegisterServerResponse_Encoding_DefaultJson = 15104 + DiscoveryConfiguration_Encoding_DefaultJson = 15105 + MdnsDiscoveryConfiguration_Encoding_DefaultJson = 15106 + RegisterServer2Request_Encoding_DefaultJson = 15107 + SubscribedDataSetType = 15108 + SubscribedDataSetType_DataSetMetaData = 15109 + SubscribedDataSetType_MessageReceiveTimeout = 15110 + TargetVariablesType = 15111 + TargetVariablesType_DataSetMetaData = 15112 + TargetVariablesType_MessageReceiveTimeout = 15113 + TargetVariablesType_TargetVariables = 15114 + TargetVariablesType_AddTargetVariables = 15115 + TargetVariablesType_AddTargetVariables_InputArguments = 15116 + TargetVariablesType_AddTargetVariables_OutputArguments = 15117 + TargetVariablesType_RemoveTargetVariables = 15118 + TargetVariablesType_RemoveTargetVariables_InputArguments = 15119 + TargetVariablesType_RemoveTargetVariables_OutputArguments = 15120 + TargetVariablesTypeAddTargetVariablesMethodType = 15121 + TargetVariablesTypeAddTargetVariablesMethodType_InputArguments = 15122 + TargetVariablesTypeAddTargetVariablesMethodType_OutputArguments = 15123 + TargetVariablesTypeRemoveTargetVariablesMethodType = 15124 + TargetVariablesTypeRemoveTargetVariablesMethodType_InputArguments = 15125 + TargetVariablesTypeRemoveTargetVariablesMethodType_OutputArguments = 15126 + SubscribedDataSetMirrorType = 15127 + SubscribedDataSetMirrorType_DataSetMetaData = 15128 + SubscribedDataSetMirrorType_MessageReceiveTimeout = 15129 + RegisterServer2Response_Encoding_DefaultJson = 15130 + ChannelSecurityToken_Encoding_DefaultJson = 15131 + OpenSecureChannelRequest_Encoding_DefaultJson = 15132 + OpenSecureChannelResponse_Encoding_DefaultJson = 15133 + CloseSecureChannelRequest_Encoding_DefaultJson = 15134 + CloseSecureChannelResponse_Encoding_DefaultJson = 15135 + SignedSoftwareCertificate_Encoding_DefaultJson = 15136 + SignatureData_Encoding_DefaultJson = 15137 + CreateSessionRequest_Encoding_DefaultJson = 15138 + CreateSessionResponse_Encoding_DefaultJson = 15139 + UserIdentityToken_Encoding_DefaultJson = 15140 + AnonymousIdentityToken_Encoding_DefaultJson = 15141 + UserNameIdentityToken_Encoding_DefaultJson = 15142 + X509IdentityToken_Encoding_DefaultJson = 15143 + IssuedIdentityToken_Encoding_DefaultJson = 15144 + ActivateSessionRequest_Encoding_DefaultJson = 15145 + ActivateSessionResponse_Encoding_DefaultJson = 15146 + CloseSessionRequest_Encoding_DefaultJson = 15147 + CloseSessionResponse_Encoding_DefaultJson = 15148 + CancelRequest_Encoding_DefaultJson = 15149 + CancelResponse_Encoding_DefaultJson = 15150 + NodeAttributes_Encoding_DefaultJson = 15151 + ObjectAttributes_Encoding_DefaultJson = 15152 + VariableAttributes_Encoding_DefaultJson = 15153 + DatagramConnectionTransportType_DiscoveryAddress_NetworkInterface = 15154 + BrokerConnectionTransportType = 15155 + BrokerConnectionTransportType_ResourceUri = 15156 + MethodAttributes_Encoding_DefaultJson = 15157 + ObjectTypeAttributes_Encoding_DefaultJson = 15158 + VariableTypeAttributes_Encoding_DefaultJson = 15159 + ReferenceTypeAttributes_Encoding_DefaultJson = 15160 + DataTypeAttributes_Encoding_DefaultJson = 15161 + ViewAttributes_Encoding_DefaultJson = 15162 + GenericAttributeValue_Encoding_DefaultJson = 15163 + GenericAttributes_Encoding_DefaultJson = 15164 + AddNodesItem_Encoding_DefaultJson = 15165 + AddNodesResult_Encoding_DefaultJson = 15166 + AddNodesRequest_Encoding_DefaultJson = 15167 + AddNodesResponse_Encoding_DefaultJson = 15168 + AddReferencesItem_Encoding_DefaultJson = 15169 + AddReferencesRequest_Encoding_DefaultJson = 15170 + AddReferencesResponse_Encoding_DefaultJson = 15171 + DeleteNodesItem_Encoding_DefaultJson = 15172 + DeleteNodesRequest_Encoding_DefaultJson = 15173 + DeleteNodesResponse_Encoding_DefaultJson = 15174 + DeleteReferencesItem_Encoding_DefaultJson = 15175 + DeleteReferencesRequest_Encoding_DefaultJson = 15176 + DeleteReferencesResponse_Encoding_DefaultJson = 15177 + BrokerConnectionTransportType_AuthenticationProfileUri = 15178 + ViewDescription_Encoding_DefaultJson = 15179 + BrowseDescription_Encoding_DefaultJson = 15180 + ReferenceDescription_Encoding_DefaultJson = 15182 + BrowseResult_Encoding_DefaultJson = 15183 + BrowseRequest_Encoding_DefaultJson = 15184 + BrowseResponse_Encoding_DefaultJson = 15185 + BrowseNextRequest_Encoding_DefaultJson = 15186 + BrowseNextResponse_Encoding_DefaultJson = 15187 + RelativePathElement_Encoding_DefaultJson = 15188 + RelativePath_Encoding_DefaultJson = 15189 + BrowsePath_Encoding_DefaultJson = 15190 + BrowsePathTarget_Encoding_DefaultJson = 15191 + BrowsePathResult_Encoding_DefaultJson = 15192 + TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultJson = 15193 + TranslateBrowsePathsToNodeIdsResponse_Encoding_DefaultJson = 15194 + RegisterNodesRequest_Encoding_DefaultJson = 15195 + RegisterNodesResponse_Encoding_DefaultJson = 15196 + UnregisterNodesRequest_Encoding_DefaultJson = 15197 + UnregisterNodesResponse_Encoding_DefaultJson = 15198 + EndpointConfiguration_Encoding_DefaultJson = 15199 + QueryDataDescription_Encoding_DefaultJson = 15200 + NodeTypeDescription_Encoding_DefaultJson = 15201 + QueryDataSet_Encoding_DefaultJson = 15202 + NodeReference_Encoding_DefaultJson = 15203 + ContentFilterElement_Encoding_DefaultJson = 15204 + ContentFilter_Encoding_DefaultJson = 15205 + FilterOperand_Encoding_DefaultJson = 15206 + ElementOperand_Encoding_DefaultJson = 15207 + LiteralOperand_Encoding_DefaultJson = 15208 + AttributeOperand_Encoding_DefaultJson = 15209 + SimpleAttributeOperand_Encoding_DefaultJson = 15210 + ContentFilterElementResult_Encoding_DefaultJson = 15211 + PublishSubscribeType_GetSecurityKeys = 15212 + PublishSubscribeType_GetSecurityKeys_InputArguments = 15213 + PublishSubscribeType_GetSecurityKeys_OutputArguments = 15214 + PublishSubscribe_GetSecurityKeys = 15215 + PublishSubscribe_GetSecurityKeys_InputArguments = 15216 + PublishSubscribe_GetSecurityKeys_OutputArguments = 15217 + GetSecurityKeysMethodType = 15218 + GetSecurityKeysMethodType_InputArguments = 15219 + GetSecurityKeysMethodType_OutputArguments = 15220 + DataSetFolderType_PublishedDataSetName_Placeholder_DataSetMetaData = 15221 + PublishedDataSetType_DataSetWriterName_Placeholder = 15222 + PublishedDataSetType_DataSetWriterName_Placeholder_Status = 15223 + PublishedDataSetType_DataSetWriterName_Placeholder_Status_State = 15224 + PublishedDataSetType_DataSetWriterName_Placeholder_Status_Enable = 15225 + PublishedDataSetType_DataSetWriterName_Placeholder_Status_Disable = 15226 + PublishedDataSetType_DataSetWriterName_Placeholder_TransportSettings = 15227 + ContentFilterResult_Encoding_DefaultJson = 15228 + PublishedDataSetType_DataSetMetaData = 15229 + PublishedDataItemsType_DataSetWriterName_Placeholder = 15230 + PublishedDataItemsType_DataSetWriterName_Placeholder_Status = 15231 + PublishedDataItemsType_DataSetWriterName_Placeholder_Status_State = 15232 + PublishedDataItemsType_DataSetWriterName_Placeholder_Status_Enable = 15233 + PublishedDataItemsType_DataSetWriterName_Placeholder_Status_Disable = 15234 + PublishedDataItemsType_DataSetWriterName_Placeholder_TransportSettings = 15235 + ParsingResult_Encoding_DefaultJson = 15236 + PublishedDataItemsType_DataSetMetaData = 15237 + PublishedEventsType_DataSetWriterName_Placeholder = 15238 + PublishedEventsType_DataSetWriterName_Placeholder_Status = 15239 + PublishedEventsType_DataSetWriterName_Placeholder_Status_State = 15240 + PublishedEventsType_DataSetWriterName_Placeholder_Status_Enable = 15241 + PublishedEventsType_DataSetWriterName_Placeholder_Status_Disable = 15242 + PublishedEventsType_DataSetWriterName_Placeholder_TransportSettings = 15243 + QueryFirstRequest_Encoding_DefaultJson = 15244 + PublishedEventsType_DataSetMetaData = 15245 + BrokerWriterGroupTransportType_ResourceUri = 15246 + BrokerWriterGroupTransportType_AuthenticationProfileUri = 15247 + BrokerWriterGroupTransportType_RequestedDeliveryGuarantee = 15249 + BrokerDataSetWriterTransportType_ResourceUri = 15250 + BrokerDataSetWriterTransportType_AuthenticationProfileUri = 15251 + QueryFirstResponse_Encoding_DefaultJson = 15252 + QueryNextRequest_Encoding_DefaultJson = 15254 + QueryNextResponse_Encoding_DefaultJson = 15255 + ReadValueId_Encoding_DefaultJson = 15256 + ReadRequest_Encoding_DefaultJson = 15257 + ReadResponse_Encoding_DefaultJson = 15258 + HistoryReadValueId_Encoding_DefaultJson = 15259 + HistoryReadResult_Encoding_DefaultJson = 15260 + HistoryReadDetails_Encoding_DefaultJson = 15261 + ReadEventDetails_Encoding_DefaultJson = 15262 + ReadRawModifiedDetails_Encoding_DefaultJson = 15263 + ReadProcessedDetails_Encoding_DefaultJson = 15264 + PubSubGroupType_Status = 15265 + PubSubGroupType_Status_State = 15266 + PubSubGroupType_Status_Enable = 15267 + PubSubGroupType_Status_Disable = 15268 + ReadAtTimeDetails_Encoding_DefaultJson = 15269 + HistoryData_Encoding_DefaultJson = 15270 + ModificationInfo_Encoding_DefaultJson = 15271 + HistoryModifiedData_Encoding_DefaultJson = 15272 + HistoryEvent_Encoding_DefaultJson = 15273 + HistoryReadRequest_Encoding_DefaultJson = 15274 + HistoryReadResponse_Encoding_DefaultJson = 15275 + WriteValue_Encoding_DefaultJson = 15276 + WriteRequest_Encoding_DefaultJson = 15277 + WriteResponse_Encoding_DefaultJson = 15278 + HistoryUpdateDetails_Encoding_DefaultJson = 15279 + UpdateDataDetails_Encoding_DefaultJson = 15280 + UpdateStructureDataDetails_Encoding_DefaultJson = 15281 + UpdateEventDetails_Encoding_DefaultJson = 15282 + DeleteRawModifiedDetails_Encoding_DefaultJson = 15283 + DeleteAtTimeDetails_Encoding_DefaultJson = 15284 + DeleteEventDetails_Encoding_DefaultJson = 15285 + HistoryUpdateResult_Encoding_DefaultJson = 15286 + HistoryUpdateRequest_Encoding_DefaultJson = 15287 + HistoryUpdateResponse_Encoding_DefaultJson = 15288 + CallMethodRequest_Encoding_DefaultJson = 15289 + CallMethodResult_Encoding_DefaultJson = 15290 + CallRequest_Encoding_DefaultJson = 15291 + CallResponse_Encoding_DefaultJson = 15292 + MonitoringFilter_Encoding_DefaultJson = 15293 + DataChangeFilter_Encoding_DefaultJson = 15294 + EventFilter_Encoding_DefaultJson = 15295 + HasDataSetWriter = 15296 + HasDataSetReader = 15297 + DataSetWriterType = 15298 + DataSetWriterType_Status = 15299 + DataSetWriterType_Status_State = 15300 + DataSetWriterType_Status_Enable = 15301 + DataSetWriterType_Status_Disable = 15302 + DataSetWriterType_TransportSettings = 15303 + AggregateConfiguration_Encoding_DefaultJson = 15304 + DataSetWriterTransportType = 15305 + DataSetReaderType = 15306 + DataSetReaderType_Status = 15307 + DataSetReaderType_Status_State = 15308 + DataSetReaderType_Status_Enable = 15309 + DataSetReaderType_Status_Disable = 15310 + DataSetReaderType_TransportSettings = 15311 + AggregateFilter_Encoding_DefaultJson = 15312 + MonitoringFilterResult_Encoding_DefaultJson = 15313 + EventFilterResult_Encoding_DefaultJson = 15314 + AggregateFilterResult_Encoding_DefaultJson = 15315 + DataSetReaderType_SubscribedDataSet = 15316 + DataSetReaderType_SubscribedDataSet_DataSetMetaData = 15317 + DataSetReaderType_SubscribedDataSet_MessageReceiveTimeout = 15318 + DataSetReaderTransportType = 15319 + MonitoringParameters_Encoding_DefaultJson = 15320 + MonitoredItemCreateRequest_Encoding_DefaultJson = 15321 + MonitoredItemCreateResult_Encoding_DefaultJson = 15322 + CreateMonitoredItemsRequest_Encoding_DefaultJson = 15323 + CreateMonitoredItemsResponse_Encoding_DefaultJson = 15324 + MonitoredItemModifyRequest_Encoding_DefaultJson = 15325 + MonitoredItemModifyResult_Encoding_DefaultJson = 15326 + ModifyMonitoredItemsRequest_Encoding_DefaultJson = 15327 + ModifyMonitoredItemsResponse_Encoding_DefaultJson = 15328 + SetMonitoringModeRequest_Encoding_DefaultJson = 15329 + BrokerDataSetWriterTransportType_RequestedDeliveryGuarantee = 15330 + SetMonitoringModeResponse_Encoding_DefaultJson = 15331 + SetTriggeringRequest_Encoding_DefaultJson = 15332 + SetTriggeringResponse_Encoding_DefaultJson = 15333 + BrokerDataSetReaderTransportType_ResourceUri = 15334 + DeleteMonitoredItemsRequest_Encoding_DefaultJson = 15335 + DeleteMonitoredItemsResponse_Encoding_DefaultJson = 15336 + CreateSubscriptionRequest_Encoding_DefaultJson = 15337 + CreateSubscriptionResponse_Encoding_DefaultJson = 15338 + ModifySubscriptionRequest_Encoding_DefaultJson = 15339 + ModifySubscriptionResponse_Encoding_DefaultJson = 15340 + SetPublishingModeRequest_Encoding_DefaultJson = 15341 + SetPublishingModeResponse_Encoding_DefaultJson = 15342 + NotificationMessage_Encoding_DefaultJson = 15343 + NotificationData_Encoding_DefaultJson = 15344 + DataChangeNotification_Encoding_DefaultJson = 15345 + MonitoredItemNotification_Encoding_DefaultJson = 15346 + EventNotificationList_Encoding_DefaultJson = 15347 + EventFieldList_Encoding_DefaultJson = 15348 + HistoryEventFieldList_Encoding_DefaultJson = 15349 + StatusChangeNotification_Encoding_DefaultJson = 15350 + SubscriptionAcknowledgement_Encoding_DefaultJson = 15351 + PublishRequest_Encoding_DefaultJson = 15352 + PublishResponse_Encoding_DefaultJson = 15353 + RepublishRequest_Encoding_DefaultJson = 15354 + RepublishResponse_Encoding_DefaultJson = 15355 + TransferResult_Encoding_DefaultJson = 15356 + TransferSubscriptionsRequest_Encoding_DefaultJson = 15357 + TransferSubscriptionsResponse_Encoding_DefaultJson = 15358 + DeleteSubscriptionsRequest_Encoding_DefaultJson = 15359 + DeleteSubscriptionsResponse_Encoding_DefaultJson = 15360 + BuildInfo_Encoding_DefaultJson = 15361 + RedundantServerDataType_Encoding_DefaultJson = 15362 + EndpointUrlListDataType_Encoding_DefaultJson = 15363 + NetworkGroupDataType_Encoding_DefaultJson = 15364 + SamplingIntervalDiagnosticsDataType_Encoding_DefaultJson = 15365 + ServerDiagnosticsSummaryDataType_Encoding_DefaultJson = 15366 + ServerStatusDataType_Encoding_DefaultJson = 15367 + SessionDiagnosticsDataType_Encoding_DefaultJson = 15368 + SessionSecurityDiagnosticsDataType_Encoding_DefaultJson = 15369 + ServiceCounterDataType_Encoding_DefaultJson = 15370 + StatusResult_Encoding_DefaultJson = 15371 + SubscriptionDiagnosticsDataType_Encoding_DefaultJson = 15372 + ModelChangeStructureDataType_Encoding_DefaultJson = 15373 + SemanticChangeStructureDataType_Encoding_DefaultJson = 15374 + Range_Encoding_DefaultJson = 15375 + EUInformation_Encoding_DefaultJson = 15376 + ComplexNumberType_Encoding_DefaultJson = 15377 + DoubleComplexNumberType_Encoding_DefaultJson = 15378 + AxisInformation_Encoding_DefaultJson = 15379 + XVType_Encoding_DefaultJson = 15380 + ProgramDiagnosticDataType_Encoding_DefaultJson = 15381 + Annotation_Encoding_DefaultJson = 15382 + ProgramDiagnostic2Type = 15383 + ProgramDiagnostic2Type_CreateSessionId = 15384 + ProgramDiagnostic2Type_CreateClientName = 15385 + ProgramDiagnostic2Type_InvocationCreationTime = 15386 + ProgramDiagnostic2Type_LastTransitionTime = 15387 + ProgramDiagnostic2Type_LastMethodCall = 15388 + ProgramDiagnostic2Type_LastMethodSessionId = 15389 + ProgramDiagnostic2Type_LastMethodInputArguments = 15390 + ProgramDiagnostic2Type_LastMethodOutputArguments = 15391 + ProgramDiagnostic2Type_LastMethodInputValues = 15392 + ProgramDiagnostic2Type_LastMethodOutputValues = 15393 + ProgramDiagnostic2Type_LastMethodCallTime = 15394 + ProgramDiagnostic2Type_LastMethodReturnStatus = 15395 + ProgramDiagnostic2DataType = 15396 + ProgramDiagnostic2DataType_Encoding_DefaultBinary = 15397 + OpcUa_BinarySchema_ProgramDiagnostic2DataType = 15398 + OpcUa_BinarySchema_ProgramDiagnostic2DataType_DataTypeVersion = 15399 + OpcUa_BinarySchema_ProgramDiagnostic2DataType_DictionaryFragment = 15400 + ProgramDiagnostic2DataType_Encoding_DefaultXml = 15401 + OpcUa_XmlSchema_ProgramDiagnostic2DataType = 15402 + OpcUa_XmlSchema_ProgramDiagnostic2DataType_DataTypeVersion = 15403 + OpcUa_XmlSchema_ProgramDiagnostic2DataType_DictionaryFragment = 15404 + ProgramDiagnostic2DataType_Encoding_DefaultJson = 15405 + AccessLevelExType = 15406 + AccessLevelExType_OptionSetValues = 15407 + RoleSetType_RoleName_Placeholder_ApplicationsExclude = 15408 + RoleSetType_RoleName_Placeholder_EndpointsExclude = 15409 + RoleType_ApplicationsExclude = 15410 + RoleType_EndpointsExclude = 15411 + WellKnownRole_Anonymous_ApplicationsExclude = 15412 + WellKnownRole_Anonymous_EndpointsExclude = 15413 + WellKnownRole_AuthenticatedUser_ApplicationsExclude = 15414 + WellKnownRole_AuthenticatedUser_EndpointsExclude = 15415 + WellKnownRole_Observer_ApplicationsExclude = 15416 + WellKnownRole_Observer_EndpointsExclude = 15417 + WellKnownRole_Operator_ApplicationsExclude = 15418 + BrokerDataSetReaderTransportType_AuthenticationProfileUri = 15419 + BrokerDataSetReaderTransportType_RequestedDeliveryGuarantee = 15420 + SimpleTypeDescription_Encoding_DefaultBinary = 15421 + UABinaryFileDataType_Encoding_DefaultBinary = 15422 + WellKnownRole_Operator_EndpointsExclude = 15423 + WellKnownRole_Engineer_ApplicationsExclude = 15424 + WellKnownRole_Engineer_EndpointsExclude = 15425 + WellKnownRole_Supervisor_ApplicationsExclude = 15426 + WellKnownRole_Supervisor_EndpointsExclude = 15427 + WellKnownRole_ConfigureAdmin_ApplicationsExclude = 15428 + WellKnownRole_ConfigureAdmin_EndpointsExclude = 15429 + WellKnownRole_SecurityAdmin_ApplicationsExclude = 15430 + PublishSubscribeType_GetSecurityGroup = 15431 + PublishSubscribeType_GetSecurityGroup_InputArguments = 15432 + PublishSubscribeType_GetSecurityGroup_OutputArguments = 15433 + PublishSubscribeType_SecurityGroups = 15434 + PublishSubscribeType_SecurityGroups_AddSecurityGroup = 15435 + PublishSubscribeType_SecurityGroups_AddSecurityGroup_InputArguments = 15436 + PublishSubscribeType_SecurityGroups_AddSecurityGroup_OutputArguments = 15437 + PublishSubscribeType_SecurityGroups_RemoveSecurityGroup = 15438 + PublishSubscribeType_SecurityGroups_RemoveSecurityGroup_InputArguments = 15439 + PublishSubscribe_GetSecurityGroup = 15440 + PublishSubscribe_GetSecurityGroup_InputArguments = 15441 + PublishSubscribe_GetSecurityGroup_OutputArguments = 15442 + PublishSubscribe_SecurityGroups = 15443 + PublishSubscribe_SecurityGroups_AddSecurityGroup = 15444 + PublishSubscribe_SecurityGroups_AddSecurityGroup_InputArguments = 15445 + PublishSubscribe_SecurityGroups_AddSecurityGroup_OutputArguments = 15446 + PublishSubscribe_SecurityGroups_RemoveSecurityGroup = 15447 + PublishSubscribe_SecurityGroups_RemoveSecurityGroup_InputArguments = 15448 + GetSecurityGroupMethodType = 15449 + GetSecurityGroupMethodType_InputArguments = 15450 + GetSecurityGroupMethodType_OutputArguments = 15451 + SecurityGroupFolderType = 15452 + SecurityGroupFolderType_SecurityGroupFolderName_Placeholder = 15453 + SecurityGroupFolderType_SecurityGroupFolderName_Placeholder_AddSecurityGroup = 15454 + SecurityGroupFolderType_SecurityGroupFolderName_Placeholder_AddSecurityGroup_InputArguments = 15455 + SecurityGroupFolderType_SecurityGroupFolderName_Placeholder_AddSecurityGroup_OutputArguments = 15456 + SecurityGroupFolderType_SecurityGroupFolderName_Placeholder_RemoveSecurityGroup = 15457 + SecurityGroupFolderType_SecurityGroupFolderName_Placeholder_RemoveSecurityGroup_InputArguments = 15458 + SecurityGroupFolderType_SecurityGroupName_Placeholder = 15459 + SecurityGroupFolderType_SecurityGroupName_Placeholder_SecurityGroupId = 15460 + SecurityGroupFolderType_AddSecurityGroup = 15461 + SecurityGroupFolderType_AddSecurityGroup_InputArguments = 15462 + SecurityGroupFolderType_AddSecurityGroup_OutputArguments = 15463 + SecurityGroupFolderType_RemoveSecurityGroup = 15464 + SecurityGroupFolderType_RemoveSecurityGroup_InputArguments = 15465 + AddSecurityGroupMethodType = 15466 + AddSecurityGroupMethodType_InputArguments = 15467 + AddSecurityGroupMethodType_OutputArguments = 15468 + RemoveSecurityGroupMethodType = 15469 + RemoveSecurityGroupMethodType_InputArguments = 15470 + SecurityGroupType = 15471 + SecurityGroupType_SecurityGroupId = 15472 + DataSetFolderType_PublishedDataSetName_Placeholder_ExtensionFields = 15473 + DataSetFolderType_PublishedDataSetName_Placeholder_ExtensionFields_AddExtensionField = 15474 + DataSetFolderType_PublishedDataSetName_Placeholder_ExtensionFields_AddExtensionField_InputArguments = 15475 + DataSetFolderType_PublishedDataSetName_Placeholder_ExtensionFields_AddExtensionField_OutputArguments = 15476 + DataSetFolderType_PublishedDataSetName_Placeholder_ExtensionFields_RemoveExtensionField = 15477 + DataSetFolderType_PublishedDataSetName_Placeholder_ExtensionFields_RemoveExtensionField_InputArguments = 15478 + BrokerConnectionTransportDataType_Encoding_DefaultBinary = 15479 + WriterGroupDataType = 15480 + PublishedDataSetType_ExtensionFields = 15481 + PublishedDataSetType_ExtensionFields_AddExtensionField = 15482 + PublishedDataSetType_ExtensionFields_AddExtensionField_InputArguments = 15483 + PublishedDataSetType_ExtensionFields_AddExtensionField_OutputArguments = 15484 + PublishedDataSetType_ExtensionFields_RemoveExtensionField = 15485 + PublishedDataSetType_ExtensionFields_RemoveExtensionField_InputArguments = 15486 + StructureDescription = 15487 + EnumDescription = 15488 + ExtensionFieldsType = 15489 + ExtensionFieldsType_ExtensionFieldName_Placeholder = 15490 + ExtensionFieldsType_AddExtensionField = 15491 + ExtensionFieldsType_AddExtensionField_InputArguments = 15492 + ExtensionFieldsType_AddExtensionField_OutputArguments = 15493 + ExtensionFieldsType_RemoveExtensionField = 15494 + ExtensionFieldsType_RemoveExtensionField_InputArguments = 15495 + AddExtensionFieldMethodType = 15496 + AddExtensionFieldMethodType_InputArguments = 15497 + AddExtensionFieldMethodType_OutputArguments = 15498 + RemoveExtensionFieldMethodType = 15499 + RemoveExtensionFieldMethodType_InputArguments = 15500 + OpcUa_BinarySchema_SimpleTypeDescription = 15501 + NetworkAddressDataType = 15502 + PublishedDataItemsType_ExtensionFields = 15503 + PublishedDataItemsType_ExtensionFields_AddExtensionField = 15504 + PublishedDataItemsType_ExtensionFields_AddExtensionField_InputArguments = 15505 + PublishedDataItemsType_ExtensionFields_AddExtensionField_OutputArguments = 15506 + PublishedDataItemsType_ExtensionFields_RemoveExtensionField = 15507 + PublishedDataItemsType_ExtensionFields_RemoveExtensionField_InputArguments = 15508 + OpcUa_BinarySchema_SimpleTypeDescription_DataTypeVersion = 15509 + NetworkAddressUrlDataType = 15510 + PublishedEventsType_ExtensionFields = 15511 + PublishedEventsType_ExtensionFields_AddExtensionField = 15512 + PublishedEventsType_ExtensionFields_AddExtensionField_InputArguments = 15513 + PublishedEventsType_ExtensionFields_AddExtensionField_OutputArguments = 15514 + PublishedEventsType_ExtensionFields_RemoveExtensionField = 15515 + PublishedEventsType_ExtensionFields_RemoveExtensionField_InputArguments = 15516 + PublishedEventsType_ModifyFieldSelection_OutputArguments = 15517 + PublishedEventsTypeModifyFieldSelectionMethodType_OutputArguments = 15518 + OpcUa_BinarySchema_SimpleTypeDescription_DictionaryFragment = 15519 + ReaderGroupDataType = 15520 + OpcUa_BinarySchema_UABinaryFileDataType = 15521 + OpcUa_BinarySchema_UABinaryFileDataType_DataTypeVersion = 15522 + OpcUa_BinarySchema_UABinaryFileDataType_DictionaryFragment = 15523 + OpcUa_BinarySchema_BrokerConnectionTransportDataType = 15524 + OpcUa_BinarySchema_BrokerConnectionTransportDataType_DataTypeVersion = 15525 + OpcUa_BinarySchema_BrokerConnectionTransportDataType_DictionaryFragment = 15526 + WellKnownRole_SecurityAdmin_EndpointsExclude = 15527 + EndpointType = 15528 + SimpleTypeDescription_Encoding_DefaultXml = 15529 + PubSubConfigurationDataType = 15530 + UABinaryFileDataType_Encoding_DefaultXml = 15531 + DatagramWriterGroupTransportDataType = 15532 + PublishSubscribeType_ConnectionName_Placeholder_Address_NetworkInterface = 15533 + DataTypeSchemaHeader = 15534 + PubSubStatusEventType = 15535 + PubSubStatusEventType_EventId = 15536 + PubSubStatusEventType_EventType = 15537 + PubSubStatusEventType_SourceNode = 15538 + PubSubStatusEventType_SourceName = 15539 + PubSubStatusEventType_Time = 15540 + PubSubStatusEventType_ReceiveTime = 15541 + PubSubStatusEventType_LocalTime = 15542 + PubSubStatusEventType_Message = 15543 + PubSubStatusEventType_Severity = 15544 + PubSubStatusEventType_ConnectionId = 15545 + PubSubStatusEventType_GroupId = 15546 + PubSubStatusEventType_State = 15547 + PubSubTransportLimitsExceedEventType = 15548 + PubSubTransportLimitsExceedEventType_EventId = 15549 + PubSubTransportLimitsExceedEventType_EventType = 15550 + PubSubTransportLimitsExceedEventType_SourceNode = 15551 + PubSubTransportLimitsExceedEventType_SourceName = 15552 + PubSubTransportLimitsExceedEventType_Time = 15553 + PubSubTransportLimitsExceedEventType_ReceiveTime = 15554 + PubSubTransportLimitsExceedEventType_LocalTime = 15555 + PubSubTransportLimitsExceedEventType_Message = 15556 + PubSubTransportLimitsExceedEventType_Severity = 15557 + PubSubTransportLimitsExceedEventType_ConnectionId = 15558 + PubSubTransportLimitsExceedEventType_GroupId = 15559 + PubSubTransportLimitsExceedEventType_State = 15560 + PubSubTransportLimitsExceedEventType_Actual = 15561 + PubSubTransportLimitsExceedEventType_Maximum = 15562 + PubSubCommunicationFailureEventType = 15563 + PubSubCommunicationFailureEventType_EventId = 15564 + PubSubCommunicationFailureEventType_EventType = 15565 + PubSubCommunicationFailureEventType_SourceNode = 15566 + PubSubCommunicationFailureEventType_SourceName = 15567 + PubSubCommunicationFailureEventType_Time = 15568 + PubSubCommunicationFailureEventType_ReceiveTime = 15569 + PubSubCommunicationFailureEventType_LocalTime = 15570 + PubSubCommunicationFailureEventType_Message = 15571 + PubSubCommunicationFailureEventType_Severity = 15572 + PubSubCommunicationFailureEventType_ConnectionId = 15573 + PubSubCommunicationFailureEventType_GroupId = 15574 + PubSubCommunicationFailureEventType_State = 15575 + PubSubCommunicationFailureEventType_Error = 15576 + DataSetFieldFlags_OptionSetValues = 15577 + PublishedDataSetDataType = 15578 + BrokerConnectionTransportDataType_Encoding_DefaultXml = 15579 + PublishedDataSetSourceDataType = 15580 + PublishedDataItemsDataType = 15581 + PublishedEventsDataType = 15582 + DataSetFieldContentMask = 15583 + DataSetFieldContentMask_OptionSetValues = 15584 + OpcUa_XmlSchema_SimpleTypeDescription = 15585 + OpcUa_XmlSchema_SimpleTypeDescription_DataTypeVersion = 15586 + OpcUa_XmlSchema_SimpleTypeDescription_DictionaryFragment = 15587 + OpcUa_XmlSchema_UABinaryFileDataType = 15588 + StructureDescription_Encoding_DefaultXml = 15589 + EnumDescription_Encoding_DefaultXml = 15590 + OpcUa_XmlSchema_StructureDescription = 15591 + OpcUa_XmlSchema_StructureDescription_DataTypeVersion = 15592 + OpcUa_XmlSchema_StructureDescription_DictionaryFragment = 15593 + OpcUa_XmlSchema_EnumDescription = 15594 + OpcUa_XmlSchema_EnumDescription_DataTypeVersion = 15595 + OpcUa_XmlSchema_EnumDescription_DictionaryFragment = 15596 + DataSetWriterDataType = 15597 + DataSetWriterTransportDataType = 15598 + OpcUa_BinarySchema_StructureDescription = 15599 + OpcUa_BinarySchema_StructureDescription_DataTypeVersion = 15600 + OpcUa_BinarySchema_StructureDescription_DictionaryFragment = 15601 + OpcUa_BinarySchema_EnumDescription = 15602 + OpcUa_BinarySchema_EnumDescription_DataTypeVersion = 15603 + OpcUa_BinarySchema_EnumDescription_DictionaryFragment = 15604 + DataSetWriterMessageDataType = 15605 + Server_ServerCapabilities_Roles = 15606 + RoleSetType = 15607 + RoleSetType_RoleName_Placeholder = 15608 + PubSubGroupDataType = 15609 + OpcUa_XmlSchema_UABinaryFileDataType_DataTypeVersion = 15610 + WriterGroupTransportDataType = 15611 + RoleSetType_RoleName_Placeholder_AddIdentity = 15612 + RoleSetType_RoleName_Placeholder_AddIdentity_InputArguments = 15613 + RoleSetType_RoleName_Placeholder_RemoveIdentity = 15614 + RoleSetType_RoleName_Placeholder_RemoveIdentity_InputArguments = 15615 + WriterGroupMessageDataType = 15616 + PubSubConnectionDataType = 15617 + ConnectionTransportDataType = 15618 + OpcUa_XmlSchema_UABinaryFileDataType_DictionaryFragment = 15619 + RoleType = 15620 + ReaderGroupTransportDataType = 15621 + ReaderGroupMessageDataType = 15622 + DataSetReaderDataType = 15623 + RoleType_AddIdentity = 15624 + RoleType_AddIdentity_InputArguments = 15625 + RoleType_RemoveIdentity = 15626 + RoleType_RemoveIdentity_InputArguments = 15627 + DataSetReaderTransportDataType = 15628 + DataSetReaderMessageDataType = 15629 + SubscribedDataSetDataType = 15630 + TargetVariablesDataType = 15631 + IdentityCriteriaType = 15632 + IdentityCriteriaType_EnumValues = 15633 + IdentityMappingRuleType = 15634 + SubscribedDataSetMirrorDataType = 15635 + AddIdentityMethodType = 15636 + AddIdentityMethodType_InputArguments = 15637 + RemoveIdentityMethodType = 15638 + RemoveIdentityMethodType_InputArguments = 15639 + OpcUa_XmlSchema_BrokerConnectionTransportDataType = 15640 + DataSetOrderingType_EnumStrings = 15641 + UadpNetworkMessageContentMask = 15642 + UadpNetworkMessageContentMask_OptionSetValues = 15643 + WellKnownRole_Anonymous = 15644 + UadpWriterGroupMessageDataType = 15645 + UadpDataSetMessageContentMask = 15646 + UadpDataSetMessageContentMask_OptionSetValues = 15647 + WellKnownRole_Anonymous_AddIdentity = 15648 + WellKnownRole_Anonymous_AddIdentity_InputArguments = 15649 + WellKnownRole_Anonymous_RemoveIdentity = 15650 + WellKnownRole_Anonymous_RemoveIdentity_InputArguments = 15651 + UadpDataSetWriterMessageDataType = 15652 + UadpDataSetReaderMessageDataType = 15653 + JsonNetworkMessageContentMask = 15654 + JsonNetworkMessageContentMask_OptionSetValues = 15655 + WellKnownRole_AuthenticatedUser = 15656 + JsonWriterGroupMessageDataType = 15657 + JsonDataSetMessageContentMask = 15658 + JsonDataSetMessageContentMask_OptionSetValues = 15659 + WellKnownRole_AuthenticatedUser_AddIdentity = 15660 + WellKnownRole_AuthenticatedUser_AddIdentity_InputArguments = 15661 + WellKnownRole_AuthenticatedUser_RemoveIdentity = 15662 + WellKnownRole_AuthenticatedUser_RemoveIdentity_InputArguments = 15663 + JsonDataSetWriterMessageDataType = 15664 + JsonDataSetReaderMessageDataType = 15665 + OpcUa_XmlSchema_BrokerConnectionTransportDataType_DataTypeVersion = 15666 + BrokerWriterGroupTransportDataType = 15667 + WellKnownRole_Observer = 15668 + BrokerDataSetWriterTransportDataType = 15669 + BrokerDataSetReaderTransportDataType = 15670 + EndpointType_Encoding_DefaultBinary = 15671 + WellKnownRole_Observer_AddIdentity = 15672 + WellKnownRole_Observer_AddIdentity_InputArguments = 15673 + WellKnownRole_Observer_RemoveIdentity = 15674 + WellKnownRole_Observer_RemoveIdentity_InputArguments = 15675 + DataTypeSchemaHeader_Encoding_DefaultBinary = 15676 + PublishedDataSetDataType_Encoding_DefaultBinary = 15677 + PublishedDataSetSourceDataType_Encoding_DefaultBinary = 15678 + PublishedDataItemsDataType_Encoding_DefaultBinary = 15679 + WellKnownRole_Operator = 15680 + PublishedEventsDataType_Encoding_DefaultBinary = 15681 + DataSetWriterDataType_Encoding_DefaultBinary = 15682 + DataSetWriterTransportDataType_Encoding_DefaultBinary = 15683 + WellKnownRole_Operator_AddIdentity = 15684 + WellKnownRole_Operator_AddIdentity_InputArguments = 15685 + WellKnownRole_Operator_RemoveIdentity = 15686 + WellKnownRole_Operator_RemoveIdentity_InputArguments = 15687 + DataSetWriterMessageDataType_Encoding_DefaultBinary = 15688 + PubSubGroupDataType_Encoding_DefaultBinary = 15689 + OpcUa_XmlSchema_BrokerConnectionTransportDataType_DictionaryFragment = 15690 + WriterGroupTransportDataType_Encoding_DefaultBinary = 15691 + WellKnownRole_Supervisor = 15692 + WriterGroupMessageDataType_Encoding_DefaultBinary = 15693 + PubSubConnectionDataType_Encoding_DefaultBinary = 15694 + ConnectionTransportDataType_Encoding_DefaultBinary = 15695 + WellKnownRole_Supervisor_AddIdentity = 15696 + WellKnownRole_Supervisor_AddIdentity_InputArguments = 15697 + WellKnownRole_Supervisor_RemoveIdentity = 15698 + WellKnownRole_Supervisor_RemoveIdentity_InputArguments = 15699 + SimpleTypeDescription_Encoding_DefaultJson = 15700 + ReaderGroupTransportDataType_Encoding_DefaultBinary = 15701 + ReaderGroupMessageDataType_Encoding_DefaultBinary = 15702 + DataSetReaderDataType_Encoding_DefaultBinary = 15703 + WellKnownRole_SecurityAdmin = 15704 + DataSetReaderTransportDataType_Encoding_DefaultBinary = 15705 + DataSetReaderMessageDataType_Encoding_DefaultBinary = 15706 + SubscribedDataSetDataType_Encoding_DefaultBinary = 15707 + WellKnownRole_SecurityAdmin_AddIdentity = 15708 + WellKnownRole_SecurityAdmin_AddIdentity_InputArguments = 15709 + WellKnownRole_SecurityAdmin_RemoveIdentity = 15710 + WellKnownRole_SecurityAdmin_RemoveIdentity_InputArguments = 15711 + TargetVariablesDataType_Encoding_DefaultBinary = 15712 + SubscribedDataSetMirrorDataType_Encoding_DefaultBinary = 15713 + UABinaryFileDataType_Encoding_DefaultJson = 15714 + UadpWriterGroupMessageDataType_Encoding_DefaultBinary = 15715 + WellKnownRole_ConfigureAdmin = 15716 + UadpDataSetWriterMessageDataType_Encoding_DefaultBinary = 15717 + UadpDataSetReaderMessageDataType_Encoding_DefaultBinary = 15718 + JsonWriterGroupMessageDataType_Encoding_DefaultBinary = 15719 + WellKnownRole_ConfigureAdmin_AddIdentity = 15720 + WellKnownRole_ConfigureAdmin_AddIdentity_InputArguments = 15721 + WellKnownRole_ConfigureAdmin_RemoveIdentity = 15722 + WellKnownRole_ConfigureAdmin_RemoveIdentity_InputArguments = 15723 + JsonDataSetWriterMessageDataType_Encoding_DefaultBinary = 15724 + JsonDataSetReaderMessageDataType_Encoding_DefaultBinary = 15725 + BrokerConnectionTransportDataType_Encoding_DefaultJson = 15726 + BrokerWriterGroupTransportDataType_Encoding_DefaultBinary = 15727 + IdentityMappingRuleType_Encoding_DefaultXml = 15728 + BrokerDataSetWriterTransportDataType_Encoding_DefaultBinary = 15729 + OpcUa_XmlSchema_IdentityMappingRuleType = 15730 + OpcUa_XmlSchema_IdentityMappingRuleType_DataTypeVersion = 15731 + OpcUa_XmlSchema_IdentityMappingRuleType_DictionaryFragment = 15732 + BrokerDataSetReaderTransportDataType_Encoding_DefaultBinary = 15733 + OpcUa_BinarySchema_EndpointType = 15734 + OpcUa_BinarySchema_EndpointType_DataTypeVersion = 15735 + IdentityMappingRuleType_Encoding_DefaultBinary = 15736 + OpcUa_BinarySchema_EndpointType_DictionaryFragment = 15737 + OpcUa_BinarySchema_IdentityMappingRuleType = 15738 + OpcUa_BinarySchema_IdentityMappingRuleType_DataTypeVersion = 15739 + OpcUa_BinarySchema_IdentityMappingRuleType_DictionaryFragment = 15740 + OpcUa_BinarySchema_DataTypeSchemaHeader = 15741 + OpcUa_BinarySchema_DataTypeSchemaHeader_DataTypeVersion = 15742 + OpcUa_BinarySchema_DataTypeSchemaHeader_DictionaryFragment = 15743 + TemporaryFileTransferType = 15744 + TemporaryFileTransferType_ClientProcessingTimeout = 15745 + TemporaryFileTransferType_GenerateFileForRead = 15746 + TemporaryFileTransferType_GenerateFileForRead_InputArguments = 15747 + TemporaryFileTransferType_GenerateFileForRead_OutputArguments = 15748 + TemporaryFileTransferType_GenerateFileForWrite = 15749 + TemporaryFileTransferType_GenerateFileForWrite_OutputArguments = 15750 + TemporaryFileTransferType_CloseAndCommit = 15751 + TemporaryFileTransferType_CloseAndCommit_InputArguments = 15752 + TemporaryFileTransferType_CloseAndCommit_OutputArguments = 15753 + TemporaryFileTransferType_TransferState_Placeholder = 15754 + TemporaryFileTransferType_TransferState_Placeholder_CurrentState = 15755 + TemporaryFileTransferType_TransferState_Placeholder_CurrentState_Id = 15756 + TemporaryFileTransferType_TransferState_Placeholder_CurrentState_Name = 15757 + TemporaryFileTransferType_TransferState_Placeholder_CurrentState_Number = 15758 + TemporaryFileTransferType_TransferState_Placeholder_CurrentState_EffectiveDisplayName = 15759 + TemporaryFileTransferType_TransferState_Placeholder_LastTransition = 15760 + TemporaryFileTransferType_TransferState_Placeholder_LastTransition_Id = 15761 + TemporaryFileTransferType_TransferState_Placeholder_LastTransition_Name = 15762 + TemporaryFileTransferType_TransferState_Placeholder_LastTransition_Number = 15763 + TemporaryFileTransferType_TransferState_Placeholder_LastTransition_TransitionTime = 15764 + TemporaryFileTransferType_TransferState_Placeholder_LastTransition_EffectiveTransitionTime = 15765 + OpcUa_BinarySchema_PublishedDataSetDataType = 15766 + OpcUa_BinarySchema_PublishedDataSetDataType_DataTypeVersion = 15767 + OpcUa_BinarySchema_PublishedDataSetDataType_DictionaryFragment = 15768 + OpcUa_BinarySchema_PublishedDataSetSourceDataType = 15769 + OpcUa_BinarySchema_PublishedDataSetSourceDataType_DataTypeVersion = 15770 + OpcUa_BinarySchema_PublishedDataSetSourceDataType_DictionaryFragment = 15771 + OpcUa_BinarySchema_PublishedDataItemsDataType = 15772 + OpcUa_BinarySchema_PublishedDataItemsDataType_DataTypeVersion = 15773 + OpcUa_BinarySchema_PublishedDataItemsDataType_DictionaryFragment = 15774 + OpcUa_BinarySchema_PublishedEventsDataType = 15775 + OpcUa_BinarySchema_PublishedEventsDataType_DataTypeVersion = 15776 + OpcUa_BinarySchema_PublishedEventsDataType_DictionaryFragment = 15777 + OpcUa_BinarySchema_DataSetWriterDataType = 15778 + OpcUa_BinarySchema_DataSetWriterDataType_DataTypeVersion = 15779 + OpcUa_BinarySchema_DataSetWriterDataType_DictionaryFragment = 15780 + OpcUa_BinarySchema_DataSetWriterTransportDataType = 15781 + OpcUa_BinarySchema_DataSetWriterTransportDataType_DataTypeVersion = 15782 + OpcUa_BinarySchema_DataSetWriterTransportDataType_DictionaryFragment = 15783 + OpcUa_BinarySchema_DataSetWriterMessageDataType = 15784 + OpcUa_BinarySchema_DataSetWriterMessageDataType_DataTypeVersion = 15785 + OpcUa_BinarySchema_DataSetWriterMessageDataType_DictionaryFragment = 15786 + OpcUa_BinarySchema_PubSubGroupDataType = 15787 + OpcUa_BinarySchema_PubSubGroupDataType_DataTypeVersion = 15788 + OpcUa_BinarySchema_PubSubGroupDataType_DictionaryFragment = 15789 + PublishSubscribe_ConnectionName_Placeholder = 15790 + PublishSubscribe_ConnectionName_Placeholder_PublisherId = 15791 + PublishSubscribe_ConnectionName_Placeholder_TransportProfileUri = 15792 + OpcUa_BinarySchema_WriterGroupTransportDataType = 15793 + TemporaryFileTransferType_TransferState_Placeholder_Reset = 15794 + GenerateFileForReadMethodType = 15795 + GenerateFileForReadMethodType_InputArguments = 15796 + GenerateFileForReadMethodType_OutputArguments = 15797 + GenerateFileForWriteMethodType = 15798 + GenerateFileForWriteMethodType_OutputArguments = 15799 + CloseAndCommitMethodType = 15800 + CloseAndCommitMethodType_InputArguments = 15801 + CloseAndCommitMethodType_OutputArguments = 15802 + FileTransferStateMachineType = 15803 + FileTransferStateMachineType_CurrentState = 15804 + FileTransferStateMachineType_CurrentState_Id = 15805 + FileTransferStateMachineType_CurrentState_Name = 15806 + FileTransferStateMachineType_CurrentState_Number = 15807 + FileTransferStateMachineType_CurrentState_EffectiveDisplayName = 15808 + FileTransferStateMachineType_LastTransition = 15809 + FileTransferStateMachineType_LastTransition_Id = 15810 + FileTransferStateMachineType_LastTransition_Name = 15811 + FileTransferStateMachineType_LastTransition_Number = 15812 + FileTransferStateMachineType_LastTransition_TransitionTime = 15813 + FileTransferStateMachineType_LastTransition_EffectiveTransitionTime = 15814 + FileTransferStateMachineType_Idle = 15815 + FileTransferStateMachineType_Idle_StateNumber = 15816 + FileTransferStateMachineType_ReadPrepare = 15817 + FileTransferStateMachineType_ReadPrepare_StateNumber = 15818 + FileTransferStateMachineType_ReadTransfer = 15819 + FileTransferStateMachineType_ReadTransfer_StateNumber = 15820 + FileTransferStateMachineType_ApplyWrite = 15821 + FileTransferStateMachineType_ApplyWrite_StateNumber = 15822 + FileTransferStateMachineType_Error = 15823 + FileTransferStateMachineType_Error_StateNumber = 15824 + FileTransferStateMachineType_IdleToReadPrepare = 15825 + FileTransferStateMachineType_IdleToReadPrepare_TransitionNumber = 15826 + FileTransferStateMachineType_ReadPrepareToReadTransfer = 15827 + FileTransferStateMachineType_ReadPrepareToReadTransfer_TransitionNumber = 15828 + FileTransferStateMachineType_ReadTransferToIdle = 15829 + FileTransferStateMachineType_ReadTransferToIdle_TransitionNumber = 15830 + FileTransferStateMachineType_IdleToApplyWrite = 15831 + FileTransferStateMachineType_IdleToApplyWrite_TransitionNumber = 15832 + FileTransferStateMachineType_ApplyWriteToIdle = 15833 + FileTransferStateMachineType_ApplyWriteToIdle_TransitionNumber = 15834 + FileTransferStateMachineType_ReadPrepareToError = 15835 + FileTransferStateMachineType_ReadPrepareToError_TransitionNumber = 15836 + FileTransferStateMachineType_ReadTransferToError = 15837 + FileTransferStateMachineType_ReadTransferToError_TransitionNumber = 15838 + FileTransferStateMachineType_ApplyWriteToError = 15839 + FileTransferStateMachineType_ApplyWriteToError_TransitionNumber = 15840 + FileTransferStateMachineType_ErrorToIdle = 15841 + FileTransferStateMachineType_ErrorToIdle_TransitionNumber = 15842 + FileTransferStateMachineType_Reset = 15843 + PublishSubscribeType_Status = 15844 + PublishSubscribeType_Status_State = 15845 + PublishSubscribeType_Status_Enable = 15846 + PublishSubscribeType_Status_Disable = 15847 + PublishSubscribe_ConnectionName_Placeholder_TransportProfileUri_Selections = 15848 + PublishSubscribe_ConnectionName_Placeholder_TransportProfileUri_SelectionDescriptions = 15849 + PublishSubscribe_ConnectionName_Placeholder_TransportProfileUri_RestrictToList = 15850 + PublishSubscribe_ConnectionName_Placeholder_Address = 15851 + OpcUa_BinarySchema_WriterGroupTransportDataType_DataTypeVersion = 15852 + OpcUa_BinarySchema_WriterGroupTransportDataType_DictionaryFragment = 15853 + OpcUa_BinarySchema_WriterGroupMessageDataType = 15854 + OpcUa_BinarySchema_WriterGroupMessageDataType_DataTypeVersion = 15855 + OpcUa_BinarySchema_WriterGroupMessageDataType_DictionaryFragment = 15856 + OpcUa_BinarySchema_PubSubConnectionDataType = 15857 + OpcUa_BinarySchema_PubSubConnectionDataType_DataTypeVersion = 15858 + OpcUa_BinarySchema_PubSubConnectionDataType_DictionaryFragment = 15859 + OpcUa_BinarySchema_ConnectionTransportDataType = 15860 + OpcUa_BinarySchema_ConnectionTransportDataType_DataTypeVersion = 15861 + OpcUa_BinarySchema_ConnectionTransportDataType_DictionaryFragment = 15862 + PublishSubscribe_ConnectionName_Placeholder_Address_NetworkInterface = 15863 + PublishSubscribe_ConnectionName_Placeholder_TransportSettings = 15864 + PublishSubscribe_ConnectionName_Placeholder_Status = 15865 + OpcUa_BinarySchema_ReaderGroupTransportDataType = 15866 + OpcUa_BinarySchema_ReaderGroupTransportDataType_DataTypeVersion = 15867 + OpcUa_BinarySchema_ReaderGroupTransportDataType_DictionaryFragment = 15868 + OpcUa_BinarySchema_ReaderGroupMessageDataType = 15869 + OpcUa_BinarySchema_ReaderGroupMessageDataType_DataTypeVersion = 15870 + OpcUa_BinarySchema_ReaderGroupMessageDataType_DictionaryFragment = 15871 + OpcUa_BinarySchema_DataSetReaderDataType = 15872 + OpcUa_BinarySchema_DataSetReaderDataType_DataTypeVersion = 15873 + OverrideValueHandling = 15874 + OverrideValueHandling_EnumStrings = 15875 + OpcUa_BinarySchema_DataSetReaderDataType_DictionaryFragment = 15876 + OpcUa_BinarySchema_DataSetReaderTransportDataType = 15877 + OpcUa_BinarySchema_DataSetReaderTransportDataType_DataTypeVersion = 15878 + OpcUa_BinarySchema_DataSetReaderTransportDataType_DictionaryFragment = 15879 + OpcUa_BinarySchema_DataSetReaderMessageDataType = 15880 + OpcUa_BinarySchema_DataSetReaderMessageDataType_DataTypeVersion = 15881 + OpcUa_BinarySchema_DataSetReaderMessageDataType_DictionaryFragment = 15882 + OpcUa_BinarySchema_SubscribedDataSetDataType = 15883 + OpcUa_BinarySchema_SubscribedDataSetDataType_DataTypeVersion = 15884 + OpcUa_BinarySchema_SubscribedDataSetDataType_DictionaryFragment = 15885 + OpcUa_BinarySchema_TargetVariablesDataType = 15886 + OpcUa_BinarySchema_TargetVariablesDataType_DataTypeVersion = 15887 + OpcUa_BinarySchema_TargetVariablesDataType_DictionaryFragment = 15888 + OpcUa_BinarySchema_SubscribedDataSetMirrorDataType = 15889 + OpcUa_BinarySchema_SubscribedDataSetMirrorDataType_DataTypeVersion = 15890 + OpcUa_BinarySchema_SubscribedDataSetMirrorDataType_DictionaryFragment = 15891 + PublishSubscribe_ConnectionName_Placeholder_Status_State = 15892 + PublishSubscribe_ConnectionName_Placeholder_Status_Enable = 15893 + PublishSubscribe_ConnectionName_Placeholder_Status_Disable = 15894 + OpcUa_BinarySchema_UadpWriterGroupMessageDataType = 15895 + OpcUa_BinarySchema_UadpWriterGroupMessageDataType_DataTypeVersion = 15896 + OpcUa_BinarySchema_UadpWriterGroupMessageDataType_DictionaryFragment = 15897 + OpcUa_BinarySchema_UadpDataSetWriterMessageDataType = 15898 + OpcUa_BinarySchema_UadpDataSetWriterMessageDataType_DataTypeVersion = 15899 + OpcUa_BinarySchema_UadpDataSetWriterMessageDataType_DictionaryFragment = 15900 + SessionlessInvokeRequestType = 15901 + SessionlessInvokeRequestType_Encoding_DefaultXml = 15902 + SessionlessInvokeRequestType_Encoding_DefaultBinary = 15903 + DataSetFieldFlags = 15904 + PublishSubscribeType_ConnectionName_Placeholder_TransportSettings = 15905 + PubSubKeyServiceType = 15906 + PubSubKeyServiceType_GetSecurityKeys = 15907 + PubSubKeyServiceType_GetSecurityKeys_InputArguments = 15908 + PubSubKeyServiceType_GetSecurityKeys_OutputArguments = 15909 + PubSubKeyServiceType_GetSecurityGroup = 15910 + PubSubKeyServiceType_GetSecurityGroup_InputArguments = 15911 + PubSubKeyServiceType_GetSecurityGroup_OutputArguments = 15912 + PubSubKeyServiceType_SecurityGroups = 15913 + PubSubKeyServiceType_SecurityGroups_AddSecurityGroup = 15914 + PubSubKeyServiceType_SecurityGroups_AddSecurityGroup_InputArguments = 15915 + PubSubKeyServiceType_SecurityGroups_AddSecurityGroup_OutputArguments = 15916 + PubSubKeyServiceType_SecurityGroups_RemoveSecurityGroup = 15917 + PubSubKeyServiceType_SecurityGroups_RemoveSecurityGroup_InputArguments = 15918 + OpcUa_BinarySchema_UadpDataSetReaderMessageDataType = 15919 + OpcUa_BinarySchema_UadpDataSetReaderMessageDataType_DataTypeVersion = 15920 + OpcUa_BinarySchema_UadpDataSetReaderMessageDataType_DictionaryFragment = 15921 + OpcUa_BinarySchema_JsonWriterGroupMessageDataType = 15922 + OpcUa_BinarySchema_JsonWriterGroupMessageDataType_DataTypeVersion = 15923 + OpcUa_BinarySchema_JsonWriterGroupMessageDataType_DictionaryFragment = 15924 + OpcUa_BinarySchema_JsonDataSetWriterMessageDataType = 15925 + PubSubGroupType_SecurityMode = 15926 + PubSubGroupType_SecurityGroupId = 15927 + PubSubGroupType_SecurityKeyServices = 15928 + OpcUa_BinarySchema_JsonDataSetWriterMessageDataType_DataTypeVersion = 15929 + OpcUa_BinarySchema_JsonDataSetWriterMessageDataType_DictionaryFragment = 15930 + OpcUa_BinarySchema_JsonDataSetReaderMessageDataType = 15931 + DataSetReaderType_SecurityMode = 15932 + DataSetReaderType_SecurityGroupId = 15933 + DataSetReaderType_SecurityKeyServices = 15934 + OpcUa_BinarySchema_JsonDataSetReaderMessageDataType_DataTypeVersion = 15935 + OpcUa_BinarySchema_JsonDataSetReaderMessageDataType_DictionaryFragment = 15936 + PublishSubscribe_ConnectionName_Placeholder_Diagnostics = 15937 + PublishSubscribe_ConnectionName_Placeholder_Diagnostics_DiagnosticsLevel = 15938 + PublishSubscribe_ConnectionName_Placeholder_Diagnostics_TotalInformation = 15939 + OpcUa_BinarySchema_BrokerWriterGroupTransportDataType = 15940 + OpcUa_BinarySchema_BrokerWriterGroupTransportDataType_DataTypeVersion = 15941 + OpcUa_BinarySchema_BrokerWriterGroupTransportDataType_DictionaryFragment = 15942 + OpcUa_BinarySchema_BrokerDataSetWriterTransportDataType = 15943 + OpcUa_BinarySchema_BrokerDataSetWriterTransportDataType_DataTypeVersion = 15944 + OpcUa_BinarySchema_BrokerDataSetWriterTransportDataType_DictionaryFragment = 15945 + OpcUa_BinarySchema_BrokerDataSetReaderTransportDataType = 15946 + OpcUa_BinarySchema_BrokerDataSetReaderTransportDataType_DataTypeVersion = 15947 + OpcUa_BinarySchema_BrokerDataSetReaderTransportDataType_DictionaryFragment = 15948 + EndpointType_Encoding_DefaultXml = 15949 + DataTypeSchemaHeader_Encoding_DefaultXml = 15950 + PublishedDataSetDataType_Encoding_DefaultXml = 15951 + PublishedDataSetSourceDataType_Encoding_DefaultXml = 15952 + PublishedDataItemsDataType_Encoding_DefaultXml = 15953 + PublishedEventsDataType_Encoding_DefaultXml = 15954 + DataSetWriterDataType_Encoding_DefaultXml = 15955 + DataSetWriterTransportDataType_Encoding_DefaultXml = 15956 + OPCUANamespaceMetadata = 15957 + OPCUANamespaceMetadata_NamespaceUri = 15958 + OPCUANamespaceMetadata_NamespaceVersion = 15959 + OPCUANamespaceMetadata_NamespacePublicationDate = 15960 + OPCUANamespaceMetadata_IsNamespaceSubset = 15961 + OPCUANamespaceMetadata_StaticNodeIdTypes = 15962 + OPCUANamespaceMetadata_StaticNumericNodeIdRange = 15963 + OPCUANamespaceMetadata_StaticStringNodeIdPattern = 15964 + OPCUANamespaceMetadata_NamespaceFile = 15965 + OPCUANamespaceMetadata_NamespaceFile_Size = 15966 + OPCUANamespaceMetadata_NamespaceFile_Writable = 15967 + OPCUANamespaceMetadata_NamespaceFile_UserWritable = 15968 + OPCUANamespaceMetadata_NamespaceFile_OpenCount = 15969 + OPCUANamespaceMetadata_NamespaceFile_MimeType = 15970 + OPCUANamespaceMetadata_NamespaceFile_Open = 15971 + OPCUANamespaceMetadata_NamespaceFile_Open_InputArguments = 15972 + OPCUANamespaceMetadata_NamespaceFile_Open_OutputArguments = 15973 + OPCUANamespaceMetadata_NamespaceFile_Close = 15974 + OPCUANamespaceMetadata_NamespaceFile_Close_InputArguments = 15975 + OPCUANamespaceMetadata_NamespaceFile_Read = 15976 + OPCUANamespaceMetadata_NamespaceFile_Read_InputArguments = 15977 + OPCUANamespaceMetadata_NamespaceFile_Read_OutputArguments = 15978 + OPCUANamespaceMetadata_NamespaceFile_Write = 15979 + OPCUANamespaceMetadata_NamespaceFile_Write_InputArguments = 15980 + OPCUANamespaceMetadata_NamespaceFile_GetPosition = 15981 + OPCUANamespaceMetadata_NamespaceFile_GetPosition_InputArguments = 15982 + OPCUANamespaceMetadata_NamespaceFile_GetPosition_OutputArguments = 15983 + OPCUANamespaceMetadata_NamespaceFile_SetPosition = 15984 + OPCUANamespaceMetadata_NamespaceFile_SetPosition_InputArguments = 15985 + OPCUANamespaceMetadata_NamespaceFile_ExportNamespace = 15986 + DataSetWriterMessageDataType_Encoding_DefaultXml = 15987 + PubSubGroupDataType_Encoding_DefaultXml = 15988 + PublishSubscribe_ConnectionName_Placeholder_Diagnostics_TotalInformation_Active = 15989 + WriterGroupTransportDataType_Encoding_DefaultXml = 15990 + WriterGroupMessageDataType_Encoding_DefaultXml = 15991 + PubSubConnectionDataType_Encoding_DefaultXml = 15992 + ConnectionTransportDataType_Encoding_DefaultXml = 15993 + PublishSubscribe_ConnectionName_Placeholder_Diagnostics_TotalInformation_Classification = 15994 + ReaderGroupTransportDataType_Encoding_DefaultXml = 15995 + ReaderGroupMessageDataType_Encoding_DefaultXml = 15996 + RoleSetType_AddRole = 15997 + RoleSetType_AddRole_InputArguments = 15998 + RoleSetType_AddRole_OutputArguments = 15999 + RoleSetType_RemoveRole = 16000 + RoleSetType_RemoveRole_InputArguments = 16001 + AddRoleMethodType = 16002 + AddRoleMethodType_InputArguments = 16003 + AddRoleMethodType_OutputArguments = 16004 + RemoveRoleMethodType = 16005 + RemoveRoleMethodType_InputArguments = 16006 + DataSetReaderDataType_Encoding_DefaultXml = 16007 + DataSetReaderTransportDataType_Encoding_DefaultXml = 16008 + DataSetReaderMessageDataType_Encoding_DefaultXml = 16009 + SubscribedDataSetDataType_Encoding_DefaultXml = 16010 + TargetVariablesDataType_Encoding_DefaultXml = 16011 + SubscribedDataSetMirrorDataType_Encoding_DefaultXml = 16012 + PublishSubscribe_ConnectionName_Placeholder_Diagnostics_TotalInformation_DiagnosticsLevel = 16013 + UadpWriterGroupMessageDataType_Encoding_DefaultXml = 16014 + UadpDataSetWriterMessageDataType_Encoding_DefaultXml = 16015 + UadpDataSetReaderMessageDataType_Encoding_DefaultXml = 16016 + JsonWriterGroupMessageDataType_Encoding_DefaultXml = 16017 + JsonDataSetWriterMessageDataType_Encoding_DefaultXml = 16018 + JsonDataSetReaderMessageDataType_Encoding_DefaultXml = 16019 + PublishSubscribe_ConnectionName_Placeholder_Diagnostics_TotalInformation_TimeFirstChange = 16020 + BrokerWriterGroupTransportDataType_Encoding_DefaultXml = 16021 + BrokerDataSetWriterTransportDataType_Encoding_DefaultXml = 16022 + BrokerDataSetReaderTransportDataType_Encoding_DefaultXml = 16023 + OpcUa_XmlSchema_EndpointType = 16024 + OpcUa_XmlSchema_EndpointType_DataTypeVersion = 16025 + OpcUa_XmlSchema_EndpointType_DictionaryFragment = 16026 + OpcUa_XmlSchema_DataTypeSchemaHeader = 16027 + OpcUa_XmlSchema_DataTypeSchemaHeader_DataTypeVersion = 16028 + OpcUa_XmlSchema_DataTypeSchemaHeader_DictionaryFragment = 16029 + OpcUa_XmlSchema_PublishedDataSetDataType = 16030 + OpcUa_XmlSchema_PublishedDataSetDataType_DataTypeVersion = 16031 + OpcUa_XmlSchema_PublishedDataSetDataType_DictionaryFragment = 16032 + OpcUa_XmlSchema_PublishedDataSetSourceDataType = 16033 + OpcUa_XmlSchema_PublishedDataSetSourceDataType_DataTypeVersion = 16034 + OpcUa_XmlSchema_PublishedDataSetSourceDataType_DictionaryFragment = 16035 + WellKnownRole_Engineer = 16036 + OpcUa_XmlSchema_PublishedDataItemsDataType = 16037 + OpcUa_XmlSchema_PublishedDataItemsDataType_DataTypeVersion = 16038 + OpcUa_XmlSchema_PublishedDataItemsDataType_DictionaryFragment = 16039 + OpcUa_XmlSchema_PublishedEventsDataType = 16040 + WellKnownRole_Engineer_AddIdentity = 16041 + WellKnownRole_Engineer_AddIdentity_InputArguments = 16042 + WellKnownRole_Engineer_RemoveIdentity = 16043 + WellKnownRole_Engineer_RemoveIdentity_InputArguments = 16044 + OpcUa_XmlSchema_PublishedEventsDataType_DataTypeVersion = 16045 + OpcUa_XmlSchema_PublishedEventsDataType_DictionaryFragment = 16046 + OpcUa_XmlSchema_DataSetWriterDataType = 16047 + OpcUa_XmlSchema_DataSetWriterDataType_DataTypeVersion = 16048 + OpcUa_XmlSchema_DataSetWriterDataType_DictionaryFragment = 16049 + OpcUa_XmlSchema_DataSetWriterTransportDataType = 16050 + OpcUa_XmlSchema_DataSetWriterTransportDataType_DataTypeVersion = 16051 + OpcUa_XmlSchema_DataSetWriterTransportDataType_DictionaryFragment = 16052 + OpcUa_XmlSchema_DataSetWriterMessageDataType = 16053 + OpcUa_XmlSchema_DataSetWriterMessageDataType_DataTypeVersion = 16054 + OpcUa_XmlSchema_DataSetWriterMessageDataType_DictionaryFragment = 16055 + OpcUa_XmlSchema_PubSubGroupDataType = 16056 + OpcUa_XmlSchema_PubSubGroupDataType_DataTypeVersion = 16057 + OpcUa_XmlSchema_PubSubGroupDataType_DictionaryFragment = 16058 + PublishSubscribe_ConnectionName_Placeholder_Diagnostics_TotalError = 16059 + PublishSubscribe_ConnectionName_Placeholder_Diagnostics_TotalError_Active = 16060 + PublishSubscribe_ConnectionName_Placeholder_Diagnostics_TotalError_Classification = 16061 + OpcUa_XmlSchema_WriterGroupTransportDataType = 16062 + OpcUa_XmlSchema_WriterGroupTransportDataType_DataTypeVersion = 16063 + OpcUa_XmlSchema_WriterGroupTransportDataType_DictionaryFragment = 16064 + OpcUa_XmlSchema_WriterGroupMessageDataType = 16065 + OpcUa_XmlSchema_WriterGroupMessageDataType_DataTypeVersion = 16066 + OpcUa_XmlSchema_WriterGroupMessageDataType_DictionaryFragment = 16067 + OpcUa_XmlSchema_PubSubConnectionDataType = 16068 + OpcUa_XmlSchema_PubSubConnectionDataType_DataTypeVersion = 16069 + OpcUa_XmlSchema_PubSubConnectionDataType_DictionaryFragment = 16070 + OpcUa_XmlSchema_ConnectionTransportDataType = 16071 + OpcUa_XmlSchema_ConnectionTransportDataType_DataTypeVersion = 16072 + OpcUa_XmlSchema_ConnectionTransportDataType_DictionaryFragment = 16073 + PublishSubscribe_ConnectionName_Placeholder_Diagnostics_TotalError_DiagnosticsLevel = 16074 + PublishSubscribe_ConnectionName_Placeholder_Diagnostics_TotalError_TimeFirstChange = 16075 + PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Reset = 16076 + OpcUa_XmlSchema_ReaderGroupTransportDataType = 16077 + OpcUa_XmlSchema_ReaderGroupTransportDataType_DataTypeVersion = 16078 + OpcUa_XmlSchema_ReaderGroupTransportDataType_DictionaryFragment = 16079 + OpcUa_XmlSchema_ReaderGroupMessageDataType = 16080 + OpcUa_XmlSchema_ReaderGroupMessageDataType_DataTypeVersion = 16081 + OpcUa_XmlSchema_ReaderGroupMessageDataType_DictionaryFragment = 16082 + OpcUa_XmlSchema_DataSetReaderDataType = 16083 + OpcUa_XmlSchema_DataSetReaderDataType_DataTypeVersion = 16084 + OpcUa_XmlSchema_DataSetReaderDataType_DictionaryFragment = 16085 + OpcUa_XmlSchema_DataSetReaderTransportDataType = 16086 + OpcUa_XmlSchema_DataSetReaderTransportDataType_DataTypeVersion = 16087 + OpcUa_XmlSchema_DataSetReaderTransportDataType_DictionaryFragment = 16088 + OpcUa_XmlSchema_DataSetReaderMessageDataType = 16089 + OpcUa_XmlSchema_DataSetReaderMessageDataType_DataTypeVersion = 16090 + OpcUa_XmlSchema_DataSetReaderMessageDataType_DictionaryFragment = 16091 + OpcUa_XmlSchema_SubscribedDataSetDataType = 16092 + OpcUa_XmlSchema_SubscribedDataSetDataType_DataTypeVersion = 16093 + OpcUa_XmlSchema_SubscribedDataSetDataType_DictionaryFragment = 16094 + OpcUa_XmlSchema_TargetVariablesDataType = 16095 + OpcUa_XmlSchema_TargetVariablesDataType_DataTypeVersion = 16096 + OpcUa_XmlSchema_TargetVariablesDataType_DictionaryFragment = 16097 + OpcUa_XmlSchema_SubscribedDataSetMirrorDataType = 16098 + OpcUa_XmlSchema_SubscribedDataSetMirrorDataType_DataTypeVersion = 16099 + OpcUa_XmlSchema_SubscribedDataSetMirrorDataType_DictionaryFragment = 16100 + PublishSubscribe_ConnectionName_Placeholder_Diagnostics_SubError = 16101 + PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters = 16102 + PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateError = 16103 + OpcUa_XmlSchema_UadpWriterGroupMessageDataType = 16104 + OpcUa_XmlSchema_UadpWriterGroupMessageDataType_DataTypeVersion = 16105 + OpcUa_XmlSchema_UadpWriterGroupMessageDataType_DictionaryFragment = 16106 + OpcUa_XmlSchema_UadpDataSetWriterMessageDataType = 16107 + OpcUa_XmlSchema_UadpDataSetWriterMessageDataType_DataTypeVersion = 16108 + OpcUa_XmlSchema_UadpDataSetWriterMessageDataType_DictionaryFragment = 16109 + OpcUa_XmlSchema_UadpDataSetReaderMessageDataType = 16110 + OpcUa_XmlSchema_UadpDataSetReaderMessageDataType_DataTypeVersion = 16111 + OpcUa_XmlSchema_UadpDataSetReaderMessageDataType_DictionaryFragment = 16112 + OpcUa_XmlSchema_JsonWriterGroupMessageDataType = 16113 + OpcUa_XmlSchema_JsonWriterGroupMessageDataType_DataTypeVersion = 16114 + OpcUa_XmlSchema_JsonWriterGroupMessageDataType_DictionaryFragment = 16115 + OpcUa_XmlSchema_JsonDataSetWriterMessageDataType = 16116 + OpcUa_XmlSchema_JsonDataSetWriterMessageDataType_DataTypeVersion = 16117 + OpcUa_XmlSchema_JsonDataSetWriterMessageDataType_DictionaryFragment = 16118 + OpcUa_XmlSchema_JsonDataSetReaderMessageDataType = 16119 + OpcUa_XmlSchema_JsonDataSetReaderMessageDataType_DataTypeVersion = 16120 + OpcUa_XmlSchema_JsonDataSetReaderMessageDataType_DictionaryFragment = 16121 + PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateError_Active = 16122 + PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateError_Classification = 16123 + PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateError_DiagnosticsLevel = 16124 + OpcUa_XmlSchema_BrokerWriterGroupTransportDataType = 16125 + RolePermissionType_Encoding_DefaultXml = 16126 + OpcUa_XmlSchema_RolePermissionType = 16127 + OpcUa_XmlSchema_RolePermissionType_DataTypeVersion = 16128 + OpcUa_XmlSchema_RolePermissionType_DictionaryFragment = 16129 + OpcUa_XmlSchema_BrokerWriterGroupTransportDataType_DataTypeVersion = 16130 + OpcUa_BinarySchema_RolePermissionType = 16131 + OpcUa_BinarySchema_RolePermissionType_DataTypeVersion = 16132 + OpcUa_BinarySchema_RolePermissionType_DictionaryFragment = 16133 + OPCUANamespaceMetadata_DefaultRolePermissions = 16134 + OPCUANamespaceMetadata_DefaultUserRolePermissions = 16135 + OPCUANamespaceMetadata_DefaultAccessRestrictions = 16136 + NamespaceMetadataType_DefaultRolePermissions = 16137 + NamespaceMetadataType_DefaultUserRolePermissions = 16138 + NamespaceMetadataType_DefaultAccessRestrictions = 16139 + NamespacesType_NamespaceIdentifier_Placeholder_DefaultRolePermissions = 16140 + NamespacesType_NamespaceIdentifier_Placeholder_DefaultUserRolePermissions = 16141 + NamespacesType_NamespaceIdentifier_Placeholder_DefaultAccessRestrictions = 16142 + OpcUa_XmlSchema_BrokerWriterGroupTransportDataType_DictionaryFragment = 16143 + OpcUa_XmlSchema_BrokerDataSetWriterTransportDataType = 16144 + OpcUa_XmlSchema_BrokerDataSetWriterTransportDataType_DataTypeVersion = 16145 + OpcUa_XmlSchema_BrokerDataSetWriterTransportDataType_DictionaryFragment = 16146 + OpcUa_XmlSchema_BrokerDataSetReaderTransportDataType = 16147 + OpcUa_XmlSchema_BrokerDataSetReaderTransportDataType_DataTypeVersion = 16148 + OpcUa_XmlSchema_BrokerDataSetReaderTransportDataType_DictionaryFragment = 16149 + EndpointType_Encoding_DefaultJson = 16150 + DataTypeSchemaHeader_Encoding_DefaultJson = 16151 + PublishedDataSetDataType_Encoding_DefaultJson = 16152 + PublishedDataSetSourceDataType_Encoding_DefaultJson = 16153 + PublishedDataItemsDataType_Encoding_DefaultJson = 16154 + PublishedEventsDataType_Encoding_DefaultJson = 16155 + DataSetWriterDataType_Encoding_DefaultJson = 16156 + DataSetWriterTransportDataType_Encoding_DefaultJson = 16157 + DataSetWriterMessageDataType_Encoding_DefaultJson = 16158 + PubSubGroupDataType_Encoding_DefaultJson = 16159 + PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateError_TimeFirstChange = 16160 + WriterGroupTransportDataType_Encoding_DefaultJson = 16161 + RoleSetType_RoleName_Placeholder_Identities = 16162 + RoleSetType_RoleName_Placeholder_Applications = 16163 + RoleSetType_RoleName_Placeholder_Endpoints = 16164 + RoleSetType_RoleName_Placeholder_AddApplication = 16165 + RoleSetType_RoleName_Placeholder_AddApplication_InputArguments = 16166 + RoleSetType_RoleName_Placeholder_RemoveApplication = 16167 + RoleSetType_RoleName_Placeholder_RemoveApplication_InputArguments = 16168 + RoleSetType_RoleName_Placeholder_AddEndpoint = 16169 + RoleSetType_RoleName_Placeholder_AddEndpoint_InputArguments = 16170 + RoleSetType_RoleName_Placeholder_RemoveEndpoint = 16171 + RoleSetType_RoleName_Placeholder_RemoveEndpoint_InputArguments = 16172 + RoleType_Identities = 16173 + RoleType_Applications = 16174 + RoleType_Endpoints = 16175 + RoleType_AddApplication = 16176 + RoleType_AddApplication_InputArguments = 16177 + RoleType_RemoveApplication = 16178 + RoleType_RemoveApplication_InputArguments = 16179 + RoleType_AddEndpoint = 16180 + RoleType_AddEndpoint_InputArguments = 16181 + RoleType_RemoveEndpoint = 16182 + RoleType_RemoveEndpoint_InputArguments = 16183 + AddApplicationMethodType = 16184 + AddApplicationMethodType_InputArguments = 16185 + RemoveApplicationMethodType = 16186 + RemoveApplicationMethodType_InputArguments = 16187 + AddEndpointMethodType = 16188 + AddEndpointMethodType_InputArguments = 16189 + RemoveEndpointMethodType = 16190 + RemoveEndpointMethodType_InputArguments = 16191 + WellKnownRole_Anonymous_Identities = 16192 + WellKnownRole_Anonymous_Applications = 16193 + WellKnownRole_Anonymous_Endpoints = 16194 + WellKnownRole_Anonymous_AddApplication = 16195 + WellKnownRole_Anonymous_AddApplication_InputArguments = 16196 + WellKnownRole_Anonymous_RemoveApplication = 16197 + WellKnownRole_Anonymous_RemoveApplication_InputArguments = 16198 + WellKnownRole_Anonymous_AddEndpoint = 16199 + WellKnownRole_Anonymous_AddEndpoint_InputArguments = 16200 + WellKnownRole_Anonymous_RemoveEndpoint = 16201 + WellKnownRole_Anonymous_RemoveEndpoint_InputArguments = 16202 + WellKnownRole_AuthenticatedUser_Identities = 16203 + WellKnownRole_AuthenticatedUser_Applications = 16204 + WellKnownRole_AuthenticatedUser_Endpoints = 16205 + WellKnownRole_AuthenticatedUser_AddApplication = 16206 + WellKnownRole_AuthenticatedUser_AddApplication_InputArguments = 16207 + WellKnownRole_AuthenticatedUser_RemoveApplication = 16208 + WellKnownRole_AuthenticatedUser_RemoveApplication_InputArguments = 16209 + WellKnownRole_AuthenticatedUser_AddEndpoint = 16210 + WellKnownRole_AuthenticatedUser_AddEndpoint_InputArguments = 16211 + WellKnownRole_AuthenticatedUser_RemoveEndpoint = 16212 + WellKnownRole_AuthenticatedUser_RemoveEndpoint_InputArguments = 16213 + WellKnownRole_Observer_Identities = 16214 + WellKnownRole_Observer_Applications = 16215 + WellKnownRole_Observer_Endpoints = 16216 + WellKnownRole_Observer_AddApplication = 16217 + WellKnownRole_Observer_AddApplication_InputArguments = 16218 + WellKnownRole_Observer_RemoveApplication = 16219 + WellKnownRole_Observer_RemoveApplication_InputArguments = 16220 + WellKnownRole_Observer_AddEndpoint = 16221 + WellKnownRole_Observer_AddEndpoint_InputArguments = 16222 + WellKnownRole_Observer_RemoveEndpoint = 16223 + WellKnownRole_Observer_RemoveEndpoint_InputArguments = 16224 + WellKnownRole_Operator_Identities = 16225 + WellKnownRole_Operator_Applications = 16226 + WellKnownRole_Operator_Endpoints = 16227 + WellKnownRole_Operator_AddApplication = 16228 + WellKnownRole_Operator_AddApplication_InputArguments = 16229 + WellKnownRole_Operator_RemoveApplication = 16230 + WellKnownRole_Operator_RemoveApplication_InputArguments = 16231 + WellKnownRole_Operator_AddEndpoint = 16232 + WellKnownRole_Operator_AddEndpoint_InputArguments = 16233 + WellKnownRole_Operator_RemoveEndpoint = 16234 + WellKnownRole_Operator_RemoveEndpoint_InputArguments = 16235 + WellKnownRole_Engineer_Identities = 16236 + WellKnownRole_Engineer_Applications = 16237 + WellKnownRole_Engineer_Endpoints = 16238 + WellKnownRole_Engineer_AddApplication = 16239 + WellKnownRole_Engineer_AddApplication_InputArguments = 16240 + WellKnownRole_Engineer_RemoveApplication = 16241 + WellKnownRole_Engineer_RemoveApplication_InputArguments = 16242 + WellKnownRole_Engineer_AddEndpoint = 16243 + WellKnownRole_Engineer_AddEndpoint_InputArguments = 16244 + WellKnownRole_Engineer_RemoveEndpoint = 16245 + WellKnownRole_Engineer_RemoveEndpoint_InputArguments = 16246 + WellKnownRole_Supervisor_Identities = 16247 + WellKnownRole_Supervisor_Applications = 16248 + WellKnownRole_Supervisor_Endpoints = 16249 + WellKnownRole_Supervisor_AddApplication = 16250 + WellKnownRole_Supervisor_AddApplication_InputArguments = 16251 + WellKnownRole_Supervisor_RemoveApplication = 16252 + WellKnownRole_Supervisor_RemoveApplication_InputArguments = 16253 + WellKnownRole_Supervisor_AddEndpoint = 16254 + WellKnownRole_Supervisor_AddEndpoint_InputArguments = 16255 + WellKnownRole_Supervisor_RemoveEndpoint = 16256 + WellKnownRole_Supervisor_RemoveEndpoint_InputArguments = 16257 + WellKnownRole_SecurityAdmin_Identities = 16258 + WellKnownRole_SecurityAdmin_Applications = 16259 + WellKnownRole_SecurityAdmin_Endpoints = 16260 + WellKnownRole_SecurityAdmin_AddApplication = 16261 + WellKnownRole_SecurityAdmin_AddApplication_InputArguments = 16262 + WellKnownRole_SecurityAdmin_RemoveApplication = 16263 + WellKnownRole_SecurityAdmin_RemoveApplication_InputArguments = 16264 + WellKnownRole_SecurityAdmin_AddEndpoint = 16265 + WellKnownRole_SecurityAdmin_AddEndpoint_InputArguments = 16266 + WellKnownRole_SecurityAdmin_RemoveEndpoint = 16267 + WellKnownRole_SecurityAdmin_RemoveEndpoint_InputArguments = 16268 + WellKnownRole_ConfigureAdmin_Identities = 16269 + WellKnownRole_ConfigureAdmin_Applications = 16270 + WellKnownRole_ConfigureAdmin_Endpoints = 16271 + WellKnownRole_ConfigureAdmin_AddApplication = 16272 + WellKnownRole_ConfigureAdmin_AddApplication_InputArguments = 16273 + WellKnownRole_ConfigureAdmin_RemoveApplication = 16274 + WellKnownRole_ConfigureAdmin_RemoveApplication_InputArguments = 16275 + WellKnownRole_ConfigureAdmin_AddEndpoint = 16276 + WellKnownRole_ConfigureAdmin_AddEndpoint_InputArguments = 16277 + WellKnownRole_ConfigureAdmin_RemoveEndpoint = 16278 + WellKnownRole_ConfigureAdmin_RemoveEndpoint_InputArguments = 16279 + WriterGroupMessageDataType_Encoding_DefaultJson = 16280 + PubSubConnectionDataType_Encoding_DefaultJson = 16281 + ConnectionTransportDataType_Encoding_DefaultJson = 16282 + PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByMethod = 16283 + ReaderGroupTransportDataType_Encoding_DefaultJson = 16284 + ReaderGroupMessageDataType_Encoding_DefaultJson = 16285 + DataSetReaderDataType_Encoding_DefaultJson = 16286 + DataSetReaderTransportDataType_Encoding_DefaultJson = 16287 + DataSetReaderMessageDataType_Encoding_DefaultJson = 16288 + ServerType_ServerCapabilities_Roles = 16289 + ServerType_ServerCapabilities_Roles_AddRole = 16290 + ServerType_ServerCapabilities_Roles_AddRole_InputArguments = 16291 + ServerType_ServerCapabilities_Roles_AddRole_OutputArguments = 16292 + ServerType_ServerCapabilities_Roles_RemoveRole = 16293 + ServerType_ServerCapabilities_Roles_RemoveRole_InputArguments = 16294 + ServerCapabilitiesType_Roles = 16295 + ServerCapabilitiesType_Roles_AddRole = 16296 + ServerCapabilitiesType_Roles_AddRole_InputArguments = 16297 + ServerCapabilitiesType_Roles_AddRole_OutputArguments = 16298 + ServerCapabilitiesType_Roles_RemoveRole = 16299 + ServerCapabilitiesType_Roles_RemoveRole_InputArguments = 16300 + Server_ServerCapabilities_Roles_AddRole = 16301 + Server_ServerCapabilities_Roles_AddRole_InputArguments = 16302 + Server_ServerCapabilities_Roles_AddRole_OutputArguments = 16303 + Server_ServerCapabilities_Roles_RemoveRole = 16304 + Server_ServerCapabilities_Roles_RemoveRole_InputArguments = 16305 + DefaultInputValues = 16306 + AudioDataType = 16307 + SubscribedDataSetDataType_Encoding_DefaultJson = 16308 + SelectionListType = 16309 + TargetVariablesDataType_Encoding_DefaultJson = 16310 + SubscribedDataSetMirrorDataType_Encoding_DefaultJson = 16311 + SelectionListType_RestrictToList = 16312 + Server_CurrentTimeZone = 16313 + FileSystem = 16314 + FileSystem_FileDirectoryName_Placeholder = 16315 + FileSystem_FileDirectoryName_Placeholder_CreateDirectory = 16316 + FileSystem_FileDirectoryName_Placeholder_CreateDirectory_InputArguments = 16317 + FileSystem_FileDirectoryName_Placeholder_CreateDirectory_OutputArguments = 16318 + FileSystem_FileDirectoryName_Placeholder_CreateFile = 16319 + FileSystem_FileDirectoryName_Placeholder_CreateFile_InputArguments = 16320 + FileSystem_FileDirectoryName_Placeholder_CreateFile_OutputArguments = 16321 + PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Active = 16322 + UadpWriterGroupMessageDataType_Encoding_DefaultJson = 16323 + FileSystem_FileDirectoryName_Placeholder_MoveOrCopy = 16324 + FileSystem_FileDirectoryName_Placeholder_MoveOrCopy_InputArguments = 16325 + FileSystem_FileDirectoryName_Placeholder_MoveOrCopy_OutputArguments = 16326 + FileSystem_FileName_Placeholder = 16327 + FileSystem_FileName_Placeholder_Size = 16328 + FileSystem_FileName_Placeholder_Writable = 16329 + FileSystem_FileName_Placeholder_UserWritable = 16330 + FileSystem_FileName_Placeholder_OpenCount = 16331 + FileSystem_FileName_Placeholder_MimeType = 16332 + FileSystem_FileName_Placeholder_Open = 16333 + FileSystem_FileName_Placeholder_Open_InputArguments = 16334 + FileSystem_FileName_Placeholder_Open_OutputArguments = 16335 + FileSystem_FileName_Placeholder_Close = 16336 + FileSystem_FileName_Placeholder_Close_InputArguments = 16337 + FileSystem_FileName_Placeholder_Read = 16338 + FileSystem_FileName_Placeholder_Read_InputArguments = 16339 + FileSystem_FileName_Placeholder_Read_OutputArguments = 16340 + FileSystem_FileName_Placeholder_Write = 16341 + FileSystem_FileName_Placeholder_Write_InputArguments = 16342 + FileSystem_FileName_Placeholder_GetPosition = 16343 + FileSystem_FileName_Placeholder_GetPosition_InputArguments = 16344 + FileSystem_FileName_Placeholder_GetPosition_OutputArguments = 16345 + FileSystem_FileName_Placeholder_SetPosition = 16346 + FileSystem_FileName_Placeholder_SetPosition_InputArguments = 16347 + FileSystem_CreateDirectory = 16348 + FileSystem_CreateDirectory_InputArguments = 16349 + FileSystem_CreateDirectory_OutputArguments = 16350 + FileSystem_CreateFile = 16351 + FileSystem_CreateFile_InputArguments = 16352 + FileSystem_CreateFile_OutputArguments = 16353 + FileSystem_DeleteFileSystemObject = 16354 + FileSystem_DeleteFileSystemObject_InputArguments = 16355 + FileSystem_MoveOrCopy = 16356 + FileSystem_MoveOrCopy_InputArguments = 16357 + FileSystem_MoveOrCopy_OutputArguments = 16358 + TemporaryFileTransferType_GenerateFileForWrite_InputArguments = 16359 + GenerateFileForWriteMethodType_InputArguments = 16360 + HasAlarmSuppressionGroup = 16361 + AlarmGroupMember = 16362 + ConditionType_ConditionSubClassId = 16363 + ConditionType_ConditionSubClassName = 16364 + DialogConditionType_ConditionSubClassId = 16365 + DialogConditionType_ConditionSubClassName = 16366 + AcknowledgeableConditionType_ConditionSubClassId = 16367 + AcknowledgeableConditionType_ConditionSubClassName = 16368 + AlarmConditionType_ConditionSubClassId = 16369 + AlarmConditionType_ConditionSubClassName = 16370 + AlarmConditionType_OutOfServiceState = 16371 + AlarmConditionType_OutOfServiceState_Id = 16372 + AlarmConditionType_OutOfServiceState_Name = 16373 + AlarmConditionType_OutOfServiceState_Number = 16374 + AlarmConditionType_OutOfServiceState_EffectiveDisplayName = 16375 + AlarmConditionType_OutOfServiceState_TransitionTime = 16376 + AlarmConditionType_OutOfServiceState_EffectiveTransitionTime = 16377 + AlarmConditionType_OutOfServiceState_TrueState = 16378 + AlarmConditionType_OutOfServiceState_FalseState = 16379 + AlarmConditionType_SilenceState = 16380 + AlarmConditionType_SilenceState_Id = 16381 + AlarmConditionType_SilenceState_Name = 16382 + AlarmConditionType_SilenceState_Number = 16383 + AlarmConditionType_SilenceState_EffectiveDisplayName = 16384 + AlarmConditionType_SilenceState_TransitionTime = 16385 + AlarmConditionType_SilenceState_EffectiveTransitionTime = 16386 + AlarmConditionType_SilenceState_TrueState = 16387 + AlarmConditionType_SilenceState_FalseState = 16388 + AlarmConditionType_AudibleEnabled = 16389 + AlarmConditionType_AudibleSound = 16390 + UadpDataSetWriterMessageDataType_Encoding_DefaultJson = 16391 + UadpDataSetReaderMessageDataType_Encoding_DefaultJson = 16392 + JsonWriterGroupMessageDataType_Encoding_DefaultJson = 16393 + JsonDataSetWriterMessageDataType_Encoding_DefaultJson = 16394 + AlarmConditionType_OnDelay = 16395 + AlarmConditionType_OffDelay = 16396 + AlarmConditionType_FirstInGroupFlag = 16397 + AlarmConditionType_FirstInGroup = 16398 + AlarmConditionType_AlarmGroup_Placeholder = 16399 + AlarmConditionType_ReAlarmTime = 16400 + AlarmConditionType_ReAlarmRepeatCount = 16401 + AlarmConditionType_Silence = 16402 + AlarmConditionType_Suppress = 16403 + JsonDataSetReaderMessageDataType_Encoding_DefaultJson = 16404 + AlarmGroupType = 16405 + AlarmGroupType_AlarmConditionInstance_Placeholder = 16406 + AlarmGroupType_AlarmConditionInstance_Placeholder_EventId = 16407 + AlarmGroupType_AlarmConditionInstance_Placeholder_EventType = 16408 + AlarmGroupType_AlarmConditionInstance_Placeholder_SourceNode = 16409 + AlarmGroupType_AlarmConditionInstance_Placeholder_SourceName = 16410 + AlarmGroupType_AlarmConditionInstance_Placeholder_Time = 16411 + AlarmGroupType_AlarmConditionInstance_Placeholder_ReceiveTime = 16412 + AlarmGroupType_AlarmConditionInstance_Placeholder_LocalTime = 16413 + AlarmGroupType_AlarmConditionInstance_Placeholder_Message = 16414 + AlarmGroupType_AlarmConditionInstance_Placeholder_Severity = 16415 + AlarmGroupType_AlarmConditionInstance_Placeholder_ConditionClassId = 16416 + AlarmGroupType_AlarmConditionInstance_Placeholder_ConditionClassName = 16417 + AlarmGroupType_AlarmConditionInstance_Placeholder_ConditionSubClassId = 16418 + AlarmGroupType_AlarmConditionInstance_Placeholder_ConditionSubClassName = 16419 + AlarmGroupType_AlarmConditionInstance_Placeholder_ConditionName = 16420 + AlarmGroupType_AlarmConditionInstance_Placeholder_BranchId = 16421 + AlarmGroupType_AlarmConditionInstance_Placeholder_Retain = 16422 + AlarmGroupType_AlarmConditionInstance_Placeholder_EnabledState = 16423 + AlarmGroupType_AlarmConditionInstance_Placeholder_EnabledState_Id = 16424 + AlarmGroupType_AlarmConditionInstance_Placeholder_EnabledState_Name = 16425 + AlarmGroupType_AlarmConditionInstance_Placeholder_EnabledState_Number = 16426 + AlarmGroupType_AlarmConditionInstance_Placeholder_EnabledState_EffectiveDisplayName = 16427 + AlarmGroupType_AlarmConditionInstance_Placeholder_EnabledState_TransitionTime = 16428 + AlarmGroupType_AlarmConditionInstance_Placeholder_EnabledState_EffectiveTransitionTime = 16429 + AlarmGroupType_AlarmConditionInstance_Placeholder_EnabledState_TrueState = 16430 + AlarmGroupType_AlarmConditionInstance_Placeholder_EnabledState_FalseState = 16431 + AlarmGroupType_AlarmConditionInstance_Placeholder_Quality = 16432 + AlarmGroupType_AlarmConditionInstance_Placeholder_Quality_SourceTimestamp = 16433 + AlarmGroupType_AlarmConditionInstance_Placeholder_LastSeverity = 16434 + AlarmGroupType_AlarmConditionInstance_Placeholder_LastSeverity_SourceTimestamp = 16435 + AlarmGroupType_AlarmConditionInstance_Placeholder_Comment = 16436 + AlarmGroupType_AlarmConditionInstance_Placeholder_Comment_SourceTimestamp = 16437 + AlarmGroupType_AlarmConditionInstance_Placeholder_ClientUserId = 16438 + AlarmGroupType_AlarmConditionInstance_Placeholder_Disable = 16439 + AlarmGroupType_AlarmConditionInstance_Placeholder_Enable = 16440 + AlarmGroupType_AlarmConditionInstance_Placeholder_AddComment = 16441 + AlarmGroupType_AlarmConditionInstance_Placeholder_AddComment_InputArguments = 16442 + AlarmGroupType_AlarmConditionInstance_Placeholder_AckedState = 16443 + AlarmGroupType_AlarmConditionInstance_Placeholder_AckedState_Id = 16444 + AlarmGroupType_AlarmConditionInstance_Placeholder_AckedState_Name = 16445 + AlarmGroupType_AlarmConditionInstance_Placeholder_AckedState_Number = 16446 + AlarmGroupType_AlarmConditionInstance_Placeholder_AckedState_EffectiveDisplayName = 16447 + AlarmGroupType_AlarmConditionInstance_Placeholder_AckedState_TransitionTime = 16448 + AlarmGroupType_AlarmConditionInstance_Placeholder_AckedState_EffectiveTransitionTime = 16449 + AlarmGroupType_AlarmConditionInstance_Placeholder_AckedState_TrueState = 16450 + AlarmGroupType_AlarmConditionInstance_Placeholder_AckedState_FalseState = 16451 + AlarmGroupType_AlarmConditionInstance_Placeholder_ConfirmedState = 16452 + AlarmGroupType_AlarmConditionInstance_Placeholder_ConfirmedState_Id = 16453 + AlarmGroupType_AlarmConditionInstance_Placeholder_ConfirmedState_Name = 16454 + AlarmGroupType_AlarmConditionInstance_Placeholder_ConfirmedState_Number = 16455 + AlarmGroupType_AlarmConditionInstance_Placeholder_ConfirmedState_EffectiveDisplayName = 16456 + AlarmGroupType_AlarmConditionInstance_Placeholder_ConfirmedState_TransitionTime = 16457 + AlarmGroupType_AlarmConditionInstance_Placeholder_ConfirmedState_EffectiveTransitionTime = 16458 + AlarmGroupType_AlarmConditionInstance_Placeholder_ConfirmedState_TrueState = 16459 + AlarmGroupType_AlarmConditionInstance_Placeholder_ConfirmedState_FalseState = 16460 + AlarmGroupType_AlarmConditionInstance_Placeholder_Acknowledge = 16461 + AlarmGroupType_AlarmConditionInstance_Placeholder_Acknowledge_InputArguments = 16462 + AlarmGroupType_AlarmConditionInstance_Placeholder_Confirm = 16463 + AlarmGroupType_AlarmConditionInstance_Placeholder_Confirm_InputArguments = 16464 + AlarmGroupType_AlarmConditionInstance_Placeholder_ActiveState = 16465 + AlarmGroupType_AlarmConditionInstance_Placeholder_ActiveState_Id = 16466 + AlarmGroupType_AlarmConditionInstance_Placeholder_ActiveState_Name = 16467 + AlarmGroupType_AlarmConditionInstance_Placeholder_ActiveState_Number = 16468 + AlarmGroupType_AlarmConditionInstance_Placeholder_ActiveState_EffectiveDisplayName = 16469 + AlarmGroupType_AlarmConditionInstance_Placeholder_ActiveState_TransitionTime = 16470 + AlarmGroupType_AlarmConditionInstance_Placeholder_ActiveState_EffectiveTransitionTime = 16471 + AlarmGroupType_AlarmConditionInstance_Placeholder_ActiveState_TrueState = 16472 + AlarmGroupType_AlarmConditionInstance_Placeholder_ActiveState_FalseState = 16473 + AlarmGroupType_AlarmConditionInstance_Placeholder_InputNode = 16474 + AlarmGroupType_AlarmConditionInstance_Placeholder_SuppressedState = 16475 + AlarmGroupType_AlarmConditionInstance_Placeholder_SuppressedState_Id = 16476 + AlarmGroupType_AlarmConditionInstance_Placeholder_SuppressedState_Name = 16477 + AlarmGroupType_AlarmConditionInstance_Placeholder_SuppressedState_Number = 16478 + AlarmGroupType_AlarmConditionInstance_Placeholder_SuppressedState_EffectiveDisplayName = 16479 + AlarmGroupType_AlarmConditionInstance_Placeholder_SuppressedState_TransitionTime = 16480 + AlarmGroupType_AlarmConditionInstance_Placeholder_SuppressedState_EffectiveTransitionTime = 16481 + AlarmGroupType_AlarmConditionInstance_Placeholder_SuppressedState_TrueState = 16482 + AlarmGroupType_AlarmConditionInstance_Placeholder_SuppressedState_FalseState = 16483 + AlarmGroupType_AlarmConditionInstance_Placeholder_OutOfServiceState = 16484 + AlarmGroupType_AlarmConditionInstance_Placeholder_OutOfServiceState_Id = 16485 + AlarmGroupType_AlarmConditionInstance_Placeholder_OutOfServiceState_Name = 16486 + AlarmGroupType_AlarmConditionInstance_Placeholder_OutOfServiceState_Number = 16487 + AlarmGroupType_AlarmConditionInstance_Placeholder_OutOfServiceState_EffectiveDisplayName = 16488 + AlarmGroupType_AlarmConditionInstance_Placeholder_OutOfServiceState_TransitionTime = 16489 + AlarmGroupType_AlarmConditionInstance_Placeholder_OutOfServiceState_EffectiveTransitionTime = 16490 + AlarmGroupType_AlarmConditionInstance_Placeholder_OutOfServiceState_TrueState = 16491 + AlarmGroupType_AlarmConditionInstance_Placeholder_OutOfServiceState_FalseState = 16492 + AlarmGroupType_AlarmConditionInstance_Placeholder_SilenceState = 16493 + AlarmGroupType_AlarmConditionInstance_Placeholder_SilenceState_Id = 16494 + AlarmGroupType_AlarmConditionInstance_Placeholder_SilenceState_Name = 16495 + AlarmGroupType_AlarmConditionInstance_Placeholder_SilenceState_Number = 16496 + AlarmGroupType_AlarmConditionInstance_Placeholder_SilenceState_EffectiveDisplayName = 16497 + AlarmGroupType_AlarmConditionInstance_Placeholder_SilenceState_TransitionTime = 16498 + AlarmGroupType_AlarmConditionInstance_Placeholder_SilenceState_EffectiveTransitionTime = 16499 + AlarmGroupType_AlarmConditionInstance_Placeholder_SilenceState_TrueState = 16500 + AlarmGroupType_AlarmConditionInstance_Placeholder_SilenceState_FalseState = 16501 + AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState = 16502 + AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_CurrentState = 16503 + AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_CurrentState_Id = 16504 + AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_CurrentState_Name = 16505 + AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_CurrentState_Number = 16506 + AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_CurrentState_EffectiveDisplayName = 16507 + AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_LastTransition = 16508 + AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_LastTransition_Id = 16509 + AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_LastTransition_Name = 16510 + AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_LastTransition_Number = 16511 + AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_LastTransition_TransitionTime = 16512 + AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_LastTransition_EffectiveTransitionTime = 16513 + AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_UnshelveTime = 16514 + AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_Unshelve = 16515 + AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_OneShotShelve = 16516 + AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_TimedShelve = 16517 + AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_TimedShelve_InputArguments = 16518 + AlarmGroupType_AlarmConditionInstance_Placeholder_SuppressedOrShelved = 16519 + AlarmGroupType_AlarmConditionInstance_Placeholder_MaxTimeShelved = 16520 + AlarmGroupType_AlarmConditionInstance_Placeholder_AudibleEnabled = 16521 + AlarmGroupType_AlarmConditionInstance_Placeholder_AudibleSound = 16522 + PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Classification = 16523 + BrokerWriterGroupTransportDataType_Encoding_DefaultJson = 16524 + BrokerDataSetWriterTransportDataType_Encoding_DefaultJson = 16525 + BrokerDataSetReaderTransportDataType_Encoding_DefaultJson = 16526 + AlarmGroupType_AlarmConditionInstance_Placeholder_OnDelay = 16527 + AlarmGroupType_AlarmConditionInstance_Placeholder_OffDelay = 16528 + AlarmGroupType_AlarmConditionInstance_Placeholder_FirstInGroupFlag = 16529 + AlarmGroupType_AlarmConditionInstance_Placeholder_FirstInGroup = 16530 + AlarmGroupType_AlarmConditionInstance_Placeholder_ReAlarmTime = 16531 + AlarmGroupType_AlarmConditionInstance_Placeholder_ReAlarmRepeatCount = 16532 + AlarmGroupType_AlarmConditionInstance_Placeholder_Silence = 16533 + AlarmGroupType_AlarmConditionInstance_Placeholder_Suppress = 16534 + PublishSubscribeType_ConnectionName_Placeholder_AddWriterGroup = 16535 + LimitAlarmType_ConditionSubClassId = 16536 + LimitAlarmType_ConditionSubClassName = 16537 + LimitAlarmType_OutOfServiceState = 16538 + LimitAlarmType_OutOfServiceState_Id = 16539 + LimitAlarmType_OutOfServiceState_Name = 16540 + LimitAlarmType_OutOfServiceState_Number = 16541 + LimitAlarmType_OutOfServiceState_EffectiveDisplayName = 16542 + LimitAlarmType_OutOfServiceState_TransitionTime = 16543 + LimitAlarmType_OutOfServiceState_EffectiveTransitionTime = 16544 + LimitAlarmType_OutOfServiceState_TrueState = 16545 + LimitAlarmType_OutOfServiceState_FalseState = 16546 + LimitAlarmType_SilenceState = 16547 + LimitAlarmType_SilenceState_Id = 16548 + LimitAlarmType_SilenceState_Name = 16549 + LimitAlarmType_SilenceState_Number = 16550 + LimitAlarmType_SilenceState_EffectiveDisplayName = 16551 + LimitAlarmType_SilenceState_TransitionTime = 16552 + LimitAlarmType_SilenceState_EffectiveTransitionTime = 16553 + LimitAlarmType_SilenceState_TrueState = 16554 + LimitAlarmType_SilenceState_FalseState = 16555 + LimitAlarmType_AudibleEnabled = 16556 + LimitAlarmType_AudibleSound = 16557 + PublishSubscribeType_ConnectionName_Placeholder_AddWriterGroup_InputArguments = 16558 + PublishSubscribeType_ConnectionName_Placeholder_AddWriterGroup_OutputArguments = 16559 + PublishSubscribeType_ConnectionName_Placeholder_AddReaderGroup = 16560 + PublishSubscribeType_ConnectionName_Placeholder_AddReaderGroup_InputArguments = 16561 + LimitAlarmType_OnDelay = 16562 + LimitAlarmType_OffDelay = 16563 + LimitAlarmType_FirstInGroupFlag = 16564 + LimitAlarmType_FirstInGroup = 16565 + LimitAlarmType_AlarmGroup_Placeholder = 16566 + LimitAlarmType_ReAlarmTime = 16567 + LimitAlarmType_ReAlarmRepeatCount = 16568 + LimitAlarmType_Silence = 16569 + LimitAlarmType_Suppress = 16570 + PublishSubscribeType_ConnectionName_Placeholder_AddReaderGroup_OutputArguments = 16571 + LimitAlarmType_BaseHighHighLimit = 16572 + LimitAlarmType_BaseHighLimit = 16573 + LimitAlarmType_BaseLowLimit = 16574 + LimitAlarmType_BaseLowLowLimit = 16575 + ExclusiveLimitAlarmType_ConditionSubClassId = 16576 + ExclusiveLimitAlarmType_ConditionSubClassName = 16577 + ExclusiveLimitAlarmType_OutOfServiceState = 16578 + ExclusiveLimitAlarmType_OutOfServiceState_Id = 16579 + ExclusiveLimitAlarmType_OutOfServiceState_Name = 16580 + ExclusiveLimitAlarmType_OutOfServiceState_Number = 16581 + ExclusiveLimitAlarmType_OutOfServiceState_EffectiveDisplayName = 16582 + ExclusiveLimitAlarmType_OutOfServiceState_TransitionTime = 16583 + ExclusiveLimitAlarmType_OutOfServiceState_EffectiveTransitionTime = 16584 + ExclusiveLimitAlarmType_OutOfServiceState_TrueState = 16585 + ExclusiveLimitAlarmType_OutOfServiceState_FalseState = 16586 + ExclusiveLimitAlarmType_SilenceState = 16587 + ExclusiveLimitAlarmType_SilenceState_Id = 16588 + ExclusiveLimitAlarmType_SilenceState_Name = 16589 + ExclusiveLimitAlarmType_SilenceState_Number = 16590 + ExclusiveLimitAlarmType_SilenceState_EffectiveDisplayName = 16591 + ExclusiveLimitAlarmType_SilenceState_TransitionTime = 16592 + ExclusiveLimitAlarmType_SilenceState_EffectiveTransitionTime = 16593 + ExclusiveLimitAlarmType_SilenceState_TrueState = 16594 + ExclusiveLimitAlarmType_SilenceState_FalseState = 16595 + ExclusiveLimitAlarmType_AudibleEnabled = 16596 + ExclusiveLimitAlarmType_AudibleSound = 16597 + PublishSubscribeType_AddConnection = 16598 + PublishSubscribeType_AddConnection_InputArguments = 16599 + PublishSubscribeType_AddConnection_OutputArguments = 16600 + PublishSubscribeType_PublishedDataSets_AddPublishedDataItemsTemplate = 16601 + ExclusiveLimitAlarmType_OnDelay = 16602 + ExclusiveLimitAlarmType_OffDelay = 16603 + ExclusiveLimitAlarmType_FirstInGroupFlag = 16604 + ExclusiveLimitAlarmType_FirstInGroup = 16605 + ExclusiveLimitAlarmType_AlarmGroup_Placeholder = 16606 + ExclusiveLimitAlarmType_ReAlarmTime = 16607 + ExclusiveLimitAlarmType_ReAlarmRepeatCount = 16608 + ExclusiveLimitAlarmType_Silence = 16609 + ExclusiveLimitAlarmType_Suppress = 16610 + PublishSubscribeType_PublishedDataSets_AddPublishedDataItemsTemplate_InputArguments = 16611 + ExclusiveLimitAlarmType_BaseHighHighLimit = 16612 + ExclusiveLimitAlarmType_BaseHighLimit = 16613 + ExclusiveLimitAlarmType_BaseLowLimit = 16614 + ExclusiveLimitAlarmType_BaseLowLowLimit = 16615 + NonExclusiveLimitAlarmType_ConditionSubClassId = 16616 + NonExclusiveLimitAlarmType_ConditionSubClassName = 16617 + NonExclusiveLimitAlarmType_OutOfServiceState = 16618 + NonExclusiveLimitAlarmType_OutOfServiceState_Id = 16619 + NonExclusiveLimitAlarmType_OutOfServiceState_Name = 16620 + NonExclusiveLimitAlarmType_OutOfServiceState_Number = 16621 + NonExclusiveLimitAlarmType_OutOfServiceState_EffectiveDisplayName = 16622 + NonExclusiveLimitAlarmType_OutOfServiceState_TransitionTime = 16623 + NonExclusiveLimitAlarmType_OutOfServiceState_EffectiveTransitionTime = 16624 + NonExclusiveLimitAlarmType_OutOfServiceState_TrueState = 16625 + NonExclusiveLimitAlarmType_OutOfServiceState_FalseState = 16626 + NonExclusiveLimitAlarmType_SilenceState = 16627 + NonExclusiveLimitAlarmType_SilenceState_Id = 16628 + NonExclusiveLimitAlarmType_SilenceState_Name = 16629 + NonExclusiveLimitAlarmType_SilenceState_Number = 16630 + NonExclusiveLimitAlarmType_SilenceState_EffectiveDisplayName = 16631 + NonExclusiveLimitAlarmType_SilenceState_TransitionTime = 16632 + NonExclusiveLimitAlarmType_SilenceState_EffectiveTransitionTime = 16633 + NonExclusiveLimitAlarmType_SilenceState_TrueState = 16634 + NonExclusiveLimitAlarmType_SilenceState_FalseState = 16635 + NonExclusiveLimitAlarmType_AudibleEnabled = 16636 + NonExclusiveLimitAlarmType_AudibleSound = 16637 + PublishSubscribeType_PublishedDataSets_AddPublishedDataItemsTemplate_OutputArguments = 16638 + PublishSubscribeType_PublishedDataSets_AddPublishedEventsTemplate = 16639 + PublishSubscribeType_PublishedDataSets_AddPublishedEventsTemplate_InputArguments = 16640 + PublishSubscribeType_PublishedDataSets_AddPublishedEventsTemplate_OutputArguments = 16641 + NonExclusiveLimitAlarmType_OnDelay = 16642 + NonExclusiveLimitAlarmType_OffDelay = 16643 + NonExclusiveLimitAlarmType_FirstInGroupFlag = 16644 + NonExclusiveLimitAlarmType_FirstInGroup = 16645 + NonExclusiveLimitAlarmType_AlarmGroup_Placeholder = 16646 + NonExclusiveLimitAlarmType_ReAlarmTime = 16647 + NonExclusiveLimitAlarmType_ReAlarmRepeatCount = 16648 + NonExclusiveLimitAlarmType_Silence = 16649 + NonExclusiveLimitAlarmType_Suppress = 16650 + PublishSubscribeType_PublishedDataSets_AddDataSetFolder = 16651 + NonExclusiveLimitAlarmType_BaseHighHighLimit = 16652 + NonExclusiveLimitAlarmType_BaseHighLimit = 16653 + NonExclusiveLimitAlarmType_BaseLowLimit = 16654 + NonExclusiveLimitAlarmType_BaseLowLowLimit = 16655 + NonExclusiveLevelAlarmType_ConditionSubClassId = 16656 + NonExclusiveLevelAlarmType_ConditionSubClassName = 16657 + NonExclusiveLevelAlarmType_OutOfServiceState = 16658 + NonExclusiveLevelAlarmType_OutOfServiceState_Id = 16659 + NonExclusiveLevelAlarmType_OutOfServiceState_Name = 16660 + NonExclusiveLevelAlarmType_OutOfServiceState_Number = 16661 + NonExclusiveLevelAlarmType_OutOfServiceState_EffectiveDisplayName = 16662 + NonExclusiveLevelAlarmType_OutOfServiceState_TransitionTime = 16663 + NonExclusiveLevelAlarmType_OutOfServiceState_EffectiveTransitionTime = 16664 + NonExclusiveLevelAlarmType_OutOfServiceState_TrueState = 16665 + NonExclusiveLevelAlarmType_OutOfServiceState_FalseState = 16666 + NonExclusiveLevelAlarmType_SilenceState = 16667 + NonExclusiveLevelAlarmType_SilenceState_Id = 16668 + NonExclusiveLevelAlarmType_SilenceState_Name = 16669 + NonExclusiveLevelAlarmType_SilenceState_Number = 16670 + NonExclusiveLevelAlarmType_SilenceState_EffectiveDisplayName = 16671 + NonExclusiveLevelAlarmType_SilenceState_TransitionTime = 16672 + NonExclusiveLevelAlarmType_SilenceState_EffectiveTransitionTime = 16673 + NonExclusiveLevelAlarmType_SilenceState_TrueState = 16674 + NonExclusiveLevelAlarmType_SilenceState_FalseState = 16675 + NonExclusiveLevelAlarmType_AudibleEnabled = 16676 + NonExclusiveLevelAlarmType_AudibleSound = 16677 + PublishSubscribeType_PublishedDataSets_AddDataSetFolder_InputArguments = 16678 + PublishSubscribeType_PublishedDataSets_AddDataSetFolder_OutputArguments = 16679 + PublishSubscribeType_PublishedDataSets_RemoveDataSetFolder = 16680 + PublishSubscribeType_PublishedDataSets_RemoveDataSetFolder_InputArguments = 16681 + NonExclusiveLevelAlarmType_OnDelay = 16682 + NonExclusiveLevelAlarmType_OffDelay = 16683 + NonExclusiveLevelAlarmType_FirstInGroupFlag = 16684 + NonExclusiveLevelAlarmType_FirstInGroup = 16685 + NonExclusiveLevelAlarmType_AlarmGroup_Placeholder = 16686 + NonExclusiveLevelAlarmType_ReAlarmTime = 16687 + NonExclusiveLevelAlarmType_ReAlarmRepeatCount = 16688 + NonExclusiveLevelAlarmType_Silence = 16689 + NonExclusiveLevelAlarmType_Suppress = 16690 + AddConnectionMethodType = 16691 + NonExclusiveLevelAlarmType_BaseHighHighLimit = 16692 + NonExclusiveLevelAlarmType_BaseHighLimit = 16693 + NonExclusiveLevelAlarmType_BaseLowLimit = 16694 + NonExclusiveLevelAlarmType_BaseLowLowLimit = 16695 + ExclusiveLevelAlarmType_ConditionSubClassId = 16696 + ExclusiveLevelAlarmType_ConditionSubClassName = 16697 + ExclusiveLevelAlarmType_OutOfServiceState = 16698 + ExclusiveLevelAlarmType_OutOfServiceState_Id = 16699 + ExclusiveLevelAlarmType_OutOfServiceState_Name = 16700 + ExclusiveLevelAlarmType_OutOfServiceState_Number = 16701 + ExclusiveLevelAlarmType_OutOfServiceState_EffectiveDisplayName = 16702 + ExclusiveLevelAlarmType_OutOfServiceState_TransitionTime = 16703 + ExclusiveLevelAlarmType_OutOfServiceState_EffectiveTransitionTime = 16704 + ExclusiveLevelAlarmType_OutOfServiceState_TrueState = 16705 + ExclusiveLevelAlarmType_OutOfServiceState_FalseState = 16706 + ExclusiveLevelAlarmType_SilenceState = 16707 + ExclusiveLevelAlarmType_SilenceState_Id = 16708 + ExclusiveLevelAlarmType_SilenceState_Name = 16709 + ExclusiveLevelAlarmType_SilenceState_Number = 16710 + ExclusiveLevelAlarmType_SilenceState_EffectiveDisplayName = 16711 + ExclusiveLevelAlarmType_SilenceState_TransitionTime = 16712 + ExclusiveLevelAlarmType_SilenceState_EffectiveTransitionTime = 16713 + ExclusiveLevelAlarmType_SilenceState_TrueState = 16714 + ExclusiveLevelAlarmType_SilenceState_FalseState = 16715 + ExclusiveLevelAlarmType_AudibleEnabled = 16716 + ExclusiveLevelAlarmType_AudibleSound = 16717 + AddConnectionMethodType_InputArguments = 16718 + AddConnectionMethodType_OutputArguments = 16719 + PublishedDataSetType_DataSetWriterName_Placeholder_DataSetWriterId = 16720 + PublishedDataSetType_DataSetWriterName_Placeholder_DataSetFieldContentMask = 16721 + ExclusiveLevelAlarmType_OnDelay = 16722 + ExclusiveLevelAlarmType_OffDelay = 16723 + ExclusiveLevelAlarmType_FirstInGroupFlag = 16724 + ExclusiveLevelAlarmType_FirstInGroup = 16725 + ExclusiveLevelAlarmType_AlarmGroup_Placeholder = 16726 + ExclusiveLevelAlarmType_ReAlarmTime = 16727 + ExclusiveLevelAlarmType_ReAlarmRepeatCount = 16728 + ExclusiveLevelAlarmType_Silence = 16729 + ExclusiveLevelAlarmType_Suppress = 16730 + PublishedDataSetType_DataSetWriterName_Placeholder_KeyFrameCount = 16731 + ExclusiveLevelAlarmType_BaseHighHighLimit = 16732 + ExclusiveLevelAlarmType_BaseHighLimit = 16733 + ExclusiveLevelAlarmType_BaseLowLimit = 16734 + ExclusiveLevelAlarmType_BaseLowLowLimit = 16735 + NonExclusiveDeviationAlarmType_ConditionSubClassId = 16736 + NonExclusiveDeviationAlarmType_ConditionSubClassName = 16737 + NonExclusiveDeviationAlarmType_OutOfServiceState = 16738 + NonExclusiveDeviationAlarmType_OutOfServiceState_Id = 16739 + NonExclusiveDeviationAlarmType_OutOfServiceState_Name = 16740 + NonExclusiveDeviationAlarmType_OutOfServiceState_Number = 16741 + NonExclusiveDeviationAlarmType_OutOfServiceState_EffectiveDisplayName = 16742 + NonExclusiveDeviationAlarmType_OutOfServiceState_TransitionTime = 16743 + NonExclusiveDeviationAlarmType_OutOfServiceState_EffectiveTransitionTime = 16744 + NonExclusiveDeviationAlarmType_OutOfServiceState_TrueState = 16745 + NonExclusiveDeviationAlarmType_OutOfServiceState_FalseState = 16746 + NonExclusiveDeviationAlarmType_SilenceState = 16747 + NonExclusiveDeviationAlarmType_SilenceState_Id = 16748 + NonExclusiveDeviationAlarmType_SilenceState_Name = 16749 + NonExclusiveDeviationAlarmType_SilenceState_Number = 16750 + NonExclusiveDeviationAlarmType_SilenceState_EffectiveDisplayName = 16751 + NonExclusiveDeviationAlarmType_SilenceState_TransitionTime = 16752 + NonExclusiveDeviationAlarmType_SilenceState_EffectiveTransitionTime = 16753 + NonExclusiveDeviationAlarmType_SilenceState_TrueState = 16754 + NonExclusiveDeviationAlarmType_SilenceState_FalseState = 16755 + NonExclusiveDeviationAlarmType_AudibleEnabled = 16756 + NonExclusiveDeviationAlarmType_AudibleSound = 16757 + PublishedDataSetType_DataSetWriterName_Placeholder_MessageSettings = 16758 + PublishedDataSetType_DataSetClassId = 16759 + PublishedDataItemsType_DataSetWriterName_Placeholder_DataSetWriterId = 16760 + PublishedDataItemsType_DataSetWriterName_Placeholder_DataSetFieldContentMask = 16761 + NonExclusiveDeviationAlarmType_OnDelay = 16762 + NonExclusiveDeviationAlarmType_OffDelay = 16763 + NonExclusiveDeviationAlarmType_FirstInGroupFlag = 16764 + NonExclusiveDeviationAlarmType_FirstInGroup = 16765 + NonExclusiveDeviationAlarmType_AlarmGroup_Placeholder = 16766 + NonExclusiveDeviationAlarmType_ReAlarmTime = 16767 + NonExclusiveDeviationAlarmType_ReAlarmRepeatCount = 16768 + NonExclusiveDeviationAlarmType_Silence = 16769 + NonExclusiveDeviationAlarmType_Suppress = 16770 + PublishedDataItemsType_DataSetWriterName_Placeholder_KeyFrameCount = 16771 + NonExclusiveDeviationAlarmType_BaseHighHighLimit = 16772 + NonExclusiveDeviationAlarmType_BaseHighLimit = 16773 + NonExclusiveDeviationAlarmType_BaseLowLimit = 16774 + NonExclusiveDeviationAlarmType_BaseLowLowLimit = 16775 + NonExclusiveDeviationAlarmType_BaseSetpointNode = 16776 + ExclusiveDeviationAlarmType_ConditionSubClassId = 16777 + ExclusiveDeviationAlarmType_ConditionSubClassName = 16778 + ExclusiveDeviationAlarmType_OutOfServiceState = 16779 + ExclusiveDeviationAlarmType_OutOfServiceState_Id = 16780 + ExclusiveDeviationAlarmType_OutOfServiceState_Name = 16781 + ExclusiveDeviationAlarmType_OutOfServiceState_Number = 16782 + ExclusiveDeviationAlarmType_OutOfServiceState_EffectiveDisplayName = 16783 + ExclusiveDeviationAlarmType_OutOfServiceState_TransitionTime = 16784 + ExclusiveDeviationAlarmType_OutOfServiceState_EffectiveTransitionTime = 16785 + ExclusiveDeviationAlarmType_OutOfServiceState_TrueState = 16786 + ExclusiveDeviationAlarmType_OutOfServiceState_FalseState = 16787 + ExclusiveDeviationAlarmType_SilenceState = 16788 + ExclusiveDeviationAlarmType_SilenceState_Id = 16789 + ExclusiveDeviationAlarmType_SilenceState_Name = 16790 + ExclusiveDeviationAlarmType_SilenceState_Number = 16791 + ExclusiveDeviationAlarmType_SilenceState_EffectiveDisplayName = 16792 + ExclusiveDeviationAlarmType_SilenceState_TransitionTime = 16793 + ExclusiveDeviationAlarmType_SilenceState_EffectiveTransitionTime = 16794 + ExclusiveDeviationAlarmType_SilenceState_TrueState = 16795 + ExclusiveDeviationAlarmType_SilenceState_FalseState = 16796 + ExclusiveDeviationAlarmType_AudibleEnabled = 16797 + ExclusiveDeviationAlarmType_AudibleSound = 16798 + PublishedDataItemsType_DataSetWriterName_Placeholder_MessageSettings = 16799 + PublishedDataItemsType_DataSetClassId = 16800 + PublishedEventsType_DataSetWriterName_Placeholder_DataSetWriterId = 16801 + PublishedEventsType_DataSetWriterName_Placeholder_DataSetFieldContentMask = 16802 + ExclusiveDeviationAlarmType_OnDelay = 16803 + ExclusiveDeviationAlarmType_OffDelay = 16804 + ExclusiveDeviationAlarmType_FirstInGroupFlag = 16805 + ExclusiveDeviationAlarmType_FirstInGroup = 16806 + ExclusiveDeviationAlarmType_AlarmGroup_Placeholder = 16807 + ExclusiveDeviationAlarmType_ReAlarmTime = 16808 + ExclusiveDeviationAlarmType_ReAlarmRepeatCount = 16809 + ExclusiveDeviationAlarmType_Silence = 16810 + ExclusiveDeviationAlarmType_Suppress = 16811 + PublishedEventsType_DataSetWriterName_Placeholder_KeyFrameCount = 16812 + ExclusiveDeviationAlarmType_BaseHighHighLimit = 16813 + ExclusiveDeviationAlarmType_BaseHighLimit = 16814 + ExclusiveDeviationAlarmType_BaseLowLimit = 16815 + ExclusiveDeviationAlarmType_BaseLowLowLimit = 16816 + ExclusiveDeviationAlarmType_BaseSetpointNode = 16817 + NonExclusiveRateOfChangeAlarmType_ConditionSubClassId = 16818 + NonExclusiveRateOfChangeAlarmType_ConditionSubClassName = 16819 + NonExclusiveRateOfChangeAlarmType_OutOfServiceState = 16820 + NonExclusiveRateOfChangeAlarmType_OutOfServiceState_Id = 16821 + NonExclusiveRateOfChangeAlarmType_OutOfServiceState_Name = 16822 + NonExclusiveRateOfChangeAlarmType_OutOfServiceState_Number = 16823 + NonExclusiveRateOfChangeAlarmType_OutOfServiceState_EffectiveDisplayName = 16824 + NonExclusiveRateOfChangeAlarmType_OutOfServiceState_TransitionTime = 16825 + NonExclusiveRateOfChangeAlarmType_OutOfServiceState_EffectiveTransitionTime = 16826 + NonExclusiveRateOfChangeAlarmType_OutOfServiceState_TrueState = 16827 + NonExclusiveRateOfChangeAlarmType_OutOfServiceState_FalseState = 16828 + NonExclusiveRateOfChangeAlarmType_SilenceState = 16829 + NonExclusiveRateOfChangeAlarmType_SilenceState_Id = 16830 + NonExclusiveRateOfChangeAlarmType_SilenceState_Name = 16831 + NonExclusiveRateOfChangeAlarmType_SilenceState_Number = 16832 + NonExclusiveRateOfChangeAlarmType_SilenceState_EffectiveDisplayName = 16833 + NonExclusiveRateOfChangeAlarmType_SilenceState_TransitionTime = 16834 + NonExclusiveRateOfChangeAlarmType_SilenceState_EffectiveTransitionTime = 16835 + NonExclusiveRateOfChangeAlarmType_SilenceState_TrueState = 16836 + NonExclusiveRateOfChangeAlarmType_SilenceState_FalseState = 16837 + NonExclusiveRateOfChangeAlarmType_AudibleEnabled = 16838 + NonExclusiveRateOfChangeAlarmType_AudibleSound = 16839 + PublishedEventsType_DataSetWriterName_Placeholder_MessageSettings = 16840 + PublishedEventsType_DataSetClassId = 16841 + DataSetFolderType_DataSetFolderName_Placeholder_AddPublishedDataItemsTemplate = 16842 + DataSetFolderType_DataSetFolderName_Placeholder_AddPublishedDataItemsTemplate_InputArguments = 16843 + NonExclusiveRateOfChangeAlarmType_OnDelay = 16844 + NonExclusiveRateOfChangeAlarmType_OffDelay = 16845 + NonExclusiveRateOfChangeAlarmType_FirstInGroupFlag = 16846 + NonExclusiveRateOfChangeAlarmType_FirstInGroup = 16847 + NonExclusiveRateOfChangeAlarmType_AlarmGroup_Placeholder = 16848 + NonExclusiveRateOfChangeAlarmType_ReAlarmTime = 16849 + NonExclusiveRateOfChangeAlarmType_ReAlarmRepeatCount = 16850 + NonExclusiveRateOfChangeAlarmType_Silence = 16851 + NonExclusiveRateOfChangeAlarmType_Suppress = 16852 + DataSetFolderType_DataSetFolderName_Placeholder_AddPublishedDataItemsTemplate_OutputArguments = 16853 + NonExclusiveRateOfChangeAlarmType_BaseHighHighLimit = 16854 + NonExclusiveRateOfChangeAlarmType_BaseHighLimit = 16855 + NonExclusiveRateOfChangeAlarmType_BaseLowLimit = 16856 + NonExclusiveRateOfChangeAlarmType_BaseLowLowLimit = 16857 + NonExclusiveRateOfChangeAlarmType_EngineeringUnits = 16858 + ExclusiveRateOfChangeAlarmType_ConditionSubClassId = 16859 + ExclusiveRateOfChangeAlarmType_ConditionSubClassName = 16860 + ExclusiveRateOfChangeAlarmType_OutOfServiceState = 16861 + ExclusiveRateOfChangeAlarmType_OutOfServiceState_Id = 16862 + ExclusiveRateOfChangeAlarmType_OutOfServiceState_Name = 16863 + ExclusiveRateOfChangeAlarmType_OutOfServiceState_Number = 16864 + ExclusiveRateOfChangeAlarmType_OutOfServiceState_EffectiveDisplayName = 16865 + ExclusiveRateOfChangeAlarmType_OutOfServiceState_TransitionTime = 16866 + ExclusiveRateOfChangeAlarmType_OutOfServiceState_EffectiveTransitionTime = 16867 + ExclusiveRateOfChangeAlarmType_OutOfServiceState_TrueState = 16868 + ExclusiveRateOfChangeAlarmType_OutOfServiceState_FalseState = 16869 + ExclusiveRateOfChangeAlarmType_SilenceState = 16870 + ExclusiveRateOfChangeAlarmType_SilenceState_Id = 16871 + ExclusiveRateOfChangeAlarmType_SilenceState_Name = 16872 + ExclusiveRateOfChangeAlarmType_SilenceState_Number = 16873 + ExclusiveRateOfChangeAlarmType_SilenceState_EffectiveDisplayName = 16874 + ExclusiveRateOfChangeAlarmType_SilenceState_TransitionTime = 16875 + ExclusiveRateOfChangeAlarmType_SilenceState_EffectiveTransitionTime = 16876 + ExclusiveRateOfChangeAlarmType_SilenceState_TrueState = 16877 + ExclusiveRateOfChangeAlarmType_SilenceState_FalseState = 16878 + ExclusiveRateOfChangeAlarmType_AudibleEnabled = 16879 + ExclusiveRateOfChangeAlarmType_AudibleSound = 16880 + DataSetFolderType_DataSetFolderName_Placeholder_AddPublishedEventsTemplate = 16881 + DataSetFolderType_DataSetFolderName_Placeholder_AddPublishedEventsTemplate_InputArguments = 16882 + DataSetFolderType_DataSetFolderName_Placeholder_AddPublishedEventsTemplate_OutputArguments = 16883 + DataSetFolderType_DataSetFolderName_Placeholder_AddDataSetFolder = 16884 + ExclusiveRateOfChangeAlarmType_OnDelay = 16885 + ExclusiveRateOfChangeAlarmType_OffDelay = 16886 + ExclusiveRateOfChangeAlarmType_FirstInGroupFlag = 16887 + ExclusiveRateOfChangeAlarmType_FirstInGroup = 16888 + ExclusiveRateOfChangeAlarmType_AlarmGroup_Placeholder = 16889 + ExclusiveRateOfChangeAlarmType_ReAlarmTime = 16890 + ExclusiveRateOfChangeAlarmType_ReAlarmRepeatCount = 16891 + ExclusiveRateOfChangeAlarmType_Silence = 16892 + ExclusiveRateOfChangeAlarmType_Suppress = 16893 + DataSetFolderType_DataSetFolderName_Placeholder_AddDataSetFolder_InputArguments = 16894 + ExclusiveRateOfChangeAlarmType_BaseHighHighLimit = 16895 + ExclusiveRateOfChangeAlarmType_BaseHighLimit = 16896 + ExclusiveRateOfChangeAlarmType_BaseLowLimit = 16897 + ExclusiveRateOfChangeAlarmType_BaseLowLowLimit = 16898 + ExclusiveRateOfChangeAlarmType_EngineeringUnits = 16899 + DiscreteAlarmType_ConditionSubClassId = 16900 + DiscreteAlarmType_ConditionSubClassName = 16901 + DiscreteAlarmType_OutOfServiceState = 16902 + DiscreteAlarmType_OutOfServiceState_Id = 16903 + DiscreteAlarmType_OutOfServiceState_Name = 16904 + DiscreteAlarmType_OutOfServiceState_Number = 16905 + DiscreteAlarmType_OutOfServiceState_EffectiveDisplayName = 16906 + DiscreteAlarmType_OutOfServiceState_TransitionTime = 16907 + DiscreteAlarmType_OutOfServiceState_EffectiveTransitionTime = 16908 + DiscreteAlarmType_OutOfServiceState_TrueState = 16909 + DiscreteAlarmType_OutOfServiceState_FalseState = 16910 + DiscreteAlarmType_SilenceState = 16911 + DiscreteAlarmType_SilenceState_Id = 16912 + DiscreteAlarmType_SilenceState_Name = 16913 + DiscreteAlarmType_SilenceState_Number = 16914 + DiscreteAlarmType_SilenceState_EffectiveDisplayName = 16915 + DiscreteAlarmType_SilenceState_TransitionTime = 16916 + DiscreteAlarmType_SilenceState_EffectiveTransitionTime = 16917 + DiscreteAlarmType_SilenceState_TrueState = 16918 + DiscreteAlarmType_SilenceState_FalseState = 16919 + DiscreteAlarmType_AudibleEnabled = 16920 + DiscreteAlarmType_AudibleSound = 16921 + DataSetFolderType_DataSetFolderName_Placeholder_AddDataSetFolder_OutputArguments = 16922 + DataSetFolderType_DataSetFolderName_Placeholder_RemoveDataSetFolder = 16923 + DataSetFolderType_DataSetFolderName_Placeholder_RemoveDataSetFolder_InputArguments = 16924 + DataSetFolderType_PublishedDataSetName_Placeholder_DataSetClassId = 16925 + DiscreteAlarmType_OnDelay = 16926 + DiscreteAlarmType_OffDelay = 16927 + DiscreteAlarmType_FirstInGroupFlag = 16928 + DiscreteAlarmType_FirstInGroup = 16929 + DiscreteAlarmType_AlarmGroup_Placeholder = 16930 + DiscreteAlarmType_ReAlarmTime = 16931 + DiscreteAlarmType_ReAlarmRepeatCount = 16932 + DiscreteAlarmType_Silence = 16933 + DiscreteAlarmType_Suppress = 16934 + DataSetFolderType_AddPublishedDataItemsTemplate = 16935 + OffNormalAlarmType_ConditionSubClassId = 16936 + OffNormalAlarmType_ConditionSubClassName = 16937 + OffNormalAlarmType_OutOfServiceState = 16938 + OffNormalAlarmType_OutOfServiceState_Id = 16939 + OffNormalAlarmType_OutOfServiceState_Name = 16940 + OffNormalAlarmType_OutOfServiceState_Number = 16941 + OffNormalAlarmType_OutOfServiceState_EffectiveDisplayName = 16942 + OffNormalAlarmType_OutOfServiceState_TransitionTime = 16943 + OffNormalAlarmType_OutOfServiceState_EffectiveTransitionTime = 16944 + OffNormalAlarmType_OutOfServiceState_TrueState = 16945 + OffNormalAlarmType_OutOfServiceState_FalseState = 16946 + OffNormalAlarmType_SilenceState = 16947 + OffNormalAlarmType_SilenceState_Id = 16948 + OffNormalAlarmType_SilenceState_Name = 16949 + OffNormalAlarmType_SilenceState_Number = 16950 + OffNormalAlarmType_SilenceState_EffectiveDisplayName = 16951 + OffNormalAlarmType_SilenceState_TransitionTime = 16952 + OffNormalAlarmType_SilenceState_EffectiveTransitionTime = 16953 + OffNormalAlarmType_SilenceState_TrueState = 16954 + OffNormalAlarmType_SilenceState_FalseState = 16955 + OffNormalAlarmType_AudibleEnabled = 16956 + OffNormalAlarmType_AudibleSound = 16957 + DataSetFolderType_AddPublishedDataItemsTemplate_InputArguments = 16958 + DataSetFolderType_AddPublishedDataItemsTemplate_OutputArguments = 16959 + DataSetFolderType_AddPublishedEventsTemplate = 16960 + DataSetFolderType_AddPublishedEventsTemplate_InputArguments = 16961 + OffNormalAlarmType_OnDelay = 16962 + OffNormalAlarmType_OffDelay = 16963 + OffNormalAlarmType_FirstInGroupFlag = 16964 + OffNormalAlarmType_FirstInGroup = 16965 + OffNormalAlarmType_AlarmGroup_Placeholder = 16966 + OffNormalAlarmType_ReAlarmTime = 16967 + OffNormalAlarmType_ReAlarmRepeatCount = 16968 + OffNormalAlarmType_Silence = 16969 + OffNormalAlarmType_Suppress = 16970 + DataSetFolderType_AddPublishedEventsTemplate_OutputArguments = 16971 + SystemOffNormalAlarmType_ConditionSubClassId = 16972 + SystemOffNormalAlarmType_ConditionSubClassName = 16973 + SystemOffNormalAlarmType_OutOfServiceState = 16974 + SystemOffNormalAlarmType_OutOfServiceState_Id = 16975 + SystemOffNormalAlarmType_OutOfServiceState_Name = 16976 + SystemOffNormalAlarmType_OutOfServiceState_Number = 16977 + SystemOffNormalAlarmType_OutOfServiceState_EffectiveDisplayName = 16978 + SystemOffNormalAlarmType_OutOfServiceState_TransitionTime = 16979 + SystemOffNormalAlarmType_OutOfServiceState_EffectiveTransitionTime = 16980 + SystemOffNormalAlarmType_OutOfServiceState_TrueState = 16981 + SystemOffNormalAlarmType_OutOfServiceState_FalseState = 16982 + SystemOffNormalAlarmType_SilenceState = 16983 + SystemOffNormalAlarmType_SilenceState_Id = 16984 + SystemOffNormalAlarmType_SilenceState_Name = 16985 + SystemOffNormalAlarmType_SilenceState_Number = 16986 + SystemOffNormalAlarmType_SilenceState_EffectiveDisplayName = 16987 + SystemOffNormalAlarmType_SilenceState_TransitionTime = 16988 + SystemOffNormalAlarmType_SilenceState_EffectiveTransitionTime = 16989 + SystemOffNormalAlarmType_SilenceState_TrueState = 16990 + SystemOffNormalAlarmType_SilenceState_FalseState = 16991 + SystemOffNormalAlarmType_AudibleEnabled = 16992 + SystemOffNormalAlarmType_AudibleSound = 16993 + DataSetFolderType_AddDataSetFolder = 16994 + DataSetFolderType_AddDataSetFolder_InputArguments = 16995 + DataSetFolderType_AddDataSetFolder_OutputArguments = 16996 + DataSetFolderType_RemoveDataSetFolder = 16997 + SystemOffNormalAlarmType_OnDelay = 16998 + SystemOffNormalAlarmType_OffDelay = 16999 + SystemOffNormalAlarmType_FirstInGroupFlag = 17000 + SystemOffNormalAlarmType_FirstInGroup = 17001 + SystemOffNormalAlarmType_AlarmGroup_Placeholder = 17002 + SystemOffNormalAlarmType_ReAlarmTime = 17003 + SystemOffNormalAlarmType_ReAlarmRepeatCount = 17004 + SystemOffNormalAlarmType_Silence = 17005 + SystemOffNormalAlarmType_Suppress = 17006 + DataSetFolderType_RemoveDataSetFolder_InputArguments = 17007 + TripAlarmType_ConditionSubClassId = 17008 + TripAlarmType_ConditionSubClassName = 17009 + TripAlarmType_OutOfServiceState = 17010 + TripAlarmType_OutOfServiceState_Id = 17011 + TripAlarmType_OutOfServiceState_Name = 17012 + TripAlarmType_OutOfServiceState_Number = 17013 + TripAlarmType_OutOfServiceState_EffectiveDisplayName = 17014 + TripAlarmType_OutOfServiceState_TransitionTime = 17015 + TripAlarmType_OutOfServiceState_EffectiveTransitionTime = 17016 + TripAlarmType_OutOfServiceState_TrueState = 17017 + TripAlarmType_OutOfServiceState_FalseState = 17018 + TripAlarmType_SilenceState = 17019 + TripAlarmType_SilenceState_Id = 17020 + TripAlarmType_SilenceState_Name = 17021 + TripAlarmType_SilenceState_Number = 17022 + TripAlarmType_SilenceState_EffectiveDisplayName = 17023 + TripAlarmType_SilenceState_TransitionTime = 17024 + TripAlarmType_SilenceState_EffectiveTransitionTime = 17025 + TripAlarmType_SilenceState_TrueState = 17026 + TripAlarmType_SilenceState_FalseState = 17027 + TripAlarmType_AudibleEnabled = 17028 + TripAlarmType_AudibleSound = 17029 + AddPublishedDataItemsTemplateMethodType = 17030 + AddPublishedDataItemsTemplateMethodType_InputArguments = 17031 + AddPublishedDataItemsTemplateMethodType_OutputArguments = 17032 + AddPublishedEventsTemplateMethodType = 17033 + TripAlarmType_OnDelay = 17034 + TripAlarmType_OffDelay = 17035 + TripAlarmType_FirstInGroupFlag = 17036 + TripAlarmType_FirstInGroup = 17037 + TripAlarmType_AlarmGroup_Placeholder = 17038 + TripAlarmType_ReAlarmTime = 17039 + TripAlarmType_ReAlarmRepeatCount = 17040 + TripAlarmType_Silence = 17041 + TripAlarmType_Suppress = 17042 + AddPublishedEventsTemplateMethodType_InputArguments = 17043 + CertificateExpirationAlarmType_ConditionSubClassId = 17044 + CertificateExpirationAlarmType_ConditionSubClassName = 17045 + CertificateExpirationAlarmType_OutOfServiceState = 17046 + CertificateExpirationAlarmType_OutOfServiceState_Id = 17047 + CertificateExpirationAlarmType_OutOfServiceState_Name = 17048 + CertificateExpirationAlarmType_OutOfServiceState_Number = 17049 + CertificateExpirationAlarmType_OutOfServiceState_EffectiveDisplayName = 17050 + CertificateExpirationAlarmType_OutOfServiceState_TransitionTime = 17051 + CertificateExpirationAlarmType_OutOfServiceState_EffectiveTransitionTime = 17052 + CertificateExpirationAlarmType_OutOfServiceState_TrueState = 17053 + CertificateExpirationAlarmType_OutOfServiceState_FalseState = 17054 + CertificateExpirationAlarmType_SilenceState = 17055 + CertificateExpirationAlarmType_SilenceState_Id = 17056 + CertificateExpirationAlarmType_SilenceState_Name = 17057 + CertificateExpirationAlarmType_SilenceState_Number = 17058 + CertificateExpirationAlarmType_SilenceState_EffectiveDisplayName = 17059 + CertificateExpirationAlarmType_SilenceState_TransitionTime = 17060 + CertificateExpirationAlarmType_SilenceState_EffectiveTransitionTime = 17061 + CertificateExpirationAlarmType_SilenceState_TrueState = 17062 + CertificateExpirationAlarmType_SilenceState_FalseState = 17063 + CertificateExpirationAlarmType_AudibleEnabled = 17064 + CertificateExpirationAlarmType_AudibleSound = 17065 + AddPublishedEventsTemplateMethodType_OutputArguments = 17066 + AddDataSetFolderMethodType = 17067 + AddDataSetFolderMethodType_InputArguments = 17068 + AddDataSetFolderMethodType_OutputArguments = 17069 + CertificateExpirationAlarmType_OnDelay = 17070 + CertificateExpirationAlarmType_OffDelay = 17071 + CertificateExpirationAlarmType_FirstInGroupFlag = 17072 + CertificateExpirationAlarmType_FirstInGroup = 17073 + CertificateExpirationAlarmType_AlarmGroup_Placeholder = 17074 + CertificateExpirationAlarmType_ReAlarmTime = 17075 + CertificateExpirationAlarmType_ReAlarmRepeatCount = 17076 + CertificateExpirationAlarmType_Silence = 17077 + CertificateExpirationAlarmType_Suppress = 17078 + RemoveDataSetFolderMethodType = 17079 + DiscrepancyAlarmType = 17080 + DiscrepancyAlarmType_EventId = 17081 + DiscrepancyAlarmType_EventType = 17082 + DiscrepancyAlarmType_SourceNode = 17083 + DiscrepancyAlarmType_SourceName = 17084 + DiscrepancyAlarmType_Time = 17085 + DiscrepancyAlarmType_ReceiveTime = 17086 + DiscrepancyAlarmType_LocalTime = 17087 + DiscrepancyAlarmType_Message = 17088 + DiscrepancyAlarmType_Severity = 17089 + DiscrepancyAlarmType_ConditionClassId = 17090 + DiscrepancyAlarmType_ConditionClassName = 17091 + DiscrepancyAlarmType_ConditionSubClassId = 17092 + DiscrepancyAlarmType_ConditionSubClassName = 17093 + DiscrepancyAlarmType_ConditionName = 17094 + DiscrepancyAlarmType_BranchId = 17095 + DiscrepancyAlarmType_Retain = 17096 + DiscrepancyAlarmType_EnabledState = 17097 + DiscrepancyAlarmType_EnabledState_Id = 17098 + DiscrepancyAlarmType_EnabledState_Name = 17099 + DiscrepancyAlarmType_EnabledState_Number = 17100 + DiscrepancyAlarmType_EnabledState_EffectiveDisplayName = 17101 + DiscrepancyAlarmType_EnabledState_TransitionTime = 17102 + DiscrepancyAlarmType_EnabledState_EffectiveTransitionTime = 17103 + DiscrepancyAlarmType_EnabledState_TrueState = 17104 + DiscrepancyAlarmType_EnabledState_FalseState = 17105 + DiscrepancyAlarmType_Quality = 17106 + DiscrepancyAlarmType_Quality_SourceTimestamp = 17107 + DiscrepancyAlarmType_LastSeverity = 17108 + DiscrepancyAlarmType_LastSeverity_SourceTimestamp = 17109 + DiscrepancyAlarmType_Comment = 17110 + DiscrepancyAlarmType_Comment_SourceTimestamp = 17111 + DiscrepancyAlarmType_ClientUserId = 17112 + DiscrepancyAlarmType_Disable = 17113 + DiscrepancyAlarmType_Enable = 17114 + DiscrepancyAlarmType_AddComment = 17115 + DiscrepancyAlarmType_AddComment_InputArguments = 17116 + DiscrepancyAlarmType_ConditionRefresh = 17117 + DiscrepancyAlarmType_ConditionRefresh_InputArguments = 17118 + DiscrepancyAlarmType_ConditionRefresh2 = 17119 + DiscrepancyAlarmType_ConditionRefresh2_InputArguments = 17120 + DiscrepancyAlarmType_AckedState = 17121 + DiscrepancyAlarmType_AckedState_Id = 17122 + DiscrepancyAlarmType_AckedState_Name = 17123 + DiscrepancyAlarmType_AckedState_Number = 17124 + DiscrepancyAlarmType_AckedState_EffectiveDisplayName = 17125 + DiscrepancyAlarmType_AckedState_TransitionTime = 17126 + DiscrepancyAlarmType_AckedState_EffectiveTransitionTime = 17127 + DiscrepancyAlarmType_AckedState_TrueState = 17128 + DiscrepancyAlarmType_AckedState_FalseState = 17129 + DiscrepancyAlarmType_ConfirmedState = 17130 + DiscrepancyAlarmType_ConfirmedState_Id = 17131 + DiscrepancyAlarmType_ConfirmedState_Name = 17132 + DiscrepancyAlarmType_ConfirmedState_Number = 17133 + DiscrepancyAlarmType_ConfirmedState_EffectiveDisplayName = 17134 + DiscrepancyAlarmType_ConfirmedState_TransitionTime = 17135 + DiscrepancyAlarmType_ConfirmedState_EffectiveTransitionTime = 17136 + DiscrepancyAlarmType_ConfirmedState_TrueState = 17137 + DiscrepancyAlarmType_ConfirmedState_FalseState = 17138 + DiscrepancyAlarmType_Acknowledge = 17139 + DiscrepancyAlarmType_Acknowledge_InputArguments = 17140 + DiscrepancyAlarmType_Confirm = 17141 + DiscrepancyAlarmType_Confirm_InputArguments = 17142 + DiscrepancyAlarmType_ActiveState = 17143 + DiscrepancyAlarmType_ActiveState_Id = 17144 + DiscrepancyAlarmType_ActiveState_Name = 17145 + DiscrepancyAlarmType_ActiveState_Number = 17146 + DiscrepancyAlarmType_ActiveState_EffectiveDisplayName = 17147 + DiscrepancyAlarmType_ActiveState_TransitionTime = 17148 + DiscrepancyAlarmType_ActiveState_EffectiveTransitionTime = 17149 + DiscrepancyAlarmType_ActiveState_TrueState = 17150 + DiscrepancyAlarmType_ActiveState_FalseState = 17151 + DiscrepancyAlarmType_InputNode = 17152 + DiscrepancyAlarmType_SuppressedState = 17153 + DiscrepancyAlarmType_SuppressedState_Id = 17154 + DiscrepancyAlarmType_SuppressedState_Name = 17155 + DiscrepancyAlarmType_SuppressedState_Number = 17156 + DiscrepancyAlarmType_SuppressedState_EffectiveDisplayName = 17157 + DiscrepancyAlarmType_SuppressedState_TransitionTime = 17158 + DiscrepancyAlarmType_SuppressedState_EffectiveTransitionTime = 17159 + DiscrepancyAlarmType_SuppressedState_TrueState = 17160 + DiscrepancyAlarmType_SuppressedState_FalseState = 17161 + DiscrepancyAlarmType_OutOfServiceState = 17162 + DiscrepancyAlarmType_OutOfServiceState_Id = 17163 + DiscrepancyAlarmType_OutOfServiceState_Name = 17164 + DiscrepancyAlarmType_OutOfServiceState_Number = 17165 + DiscrepancyAlarmType_OutOfServiceState_EffectiveDisplayName = 17166 + DiscrepancyAlarmType_OutOfServiceState_TransitionTime = 17167 + DiscrepancyAlarmType_OutOfServiceState_EffectiveTransitionTime = 17168 + DiscrepancyAlarmType_OutOfServiceState_TrueState = 17169 + DiscrepancyAlarmType_OutOfServiceState_FalseState = 17170 + DiscrepancyAlarmType_SilenceState = 17171 + DiscrepancyAlarmType_SilenceState_Id = 17172 + DiscrepancyAlarmType_SilenceState_Name = 17173 + DiscrepancyAlarmType_SilenceState_Number = 17174 + DiscrepancyAlarmType_SilenceState_EffectiveDisplayName = 17175 + DiscrepancyAlarmType_SilenceState_TransitionTime = 17176 + DiscrepancyAlarmType_SilenceState_EffectiveTransitionTime = 17177 + DiscrepancyAlarmType_SilenceState_TrueState = 17178 + DiscrepancyAlarmType_SilenceState_FalseState = 17179 + DiscrepancyAlarmType_ShelvingState = 17180 + DiscrepancyAlarmType_ShelvingState_CurrentState = 17181 + DiscrepancyAlarmType_ShelvingState_CurrentState_Id = 17182 + DiscrepancyAlarmType_ShelvingState_CurrentState_Name = 17183 + DiscrepancyAlarmType_ShelvingState_CurrentState_Number = 17184 + DiscrepancyAlarmType_ShelvingState_CurrentState_EffectiveDisplayName = 17185 + DiscrepancyAlarmType_ShelvingState_LastTransition = 17186 + DiscrepancyAlarmType_ShelvingState_LastTransition_Id = 17187 + DiscrepancyAlarmType_ShelvingState_LastTransition_Name = 17188 + DiscrepancyAlarmType_ShelvingState_LastTransition_Number = 17189 + DiscrepancyAlarmType_ShelvingState_LastTransition_TransitionTime = 17190 + DiscrepancyAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime = 17191 + DiscrepancyAlarmType_ShelvingState_UnshelveTime = 17192 + DiscrepancyAlarmType_ShelvingState_Unshelve = 17193 + DiscrepancyAlarmType_ShelvingState_OneShotShelve = 17194 + DiscrepancyAlarmType_ShelvingState_TimedShelve = 17195 + DiscrepancyAlarmType_ShelvingState_TimedShelve_InputArguments = 17196 + DiscrepancyAlarmType_SuppressedOrShelved = 17197 + DiscrepancyAlarmType_MaxTimeShelved = 17198 + DiscrepancyAlarmType_AudibleEnabled = 17199 + DiscrepancyAlarmType_AudibleSound = 17200 + RemoveDataSetFolderMethodType_InputArguments = 17201 + PubSubConnectionType_Address_NetworkInterface = 17202 + PubSubConnectionType_TransportSettings = 17203 + PubSubConnectionType_WriterGroupName_Placeholder_MaxNetworkMessageSize = 17204 + DiscrepancyAlarmType_OnDelay = 17205 + DiscrepancyAlarmType_OffDelay = 17206 + DiscrepancyAlarmType_FirstInGroupFlag = 17207 + DiscrepancyAlarmType_FirstInGroup = 17208 + DiscrepancyAlarmType_AlarmGroup_Placeholder = 17209 + DiscrepancyAlarmType_ReAlarmTime = 17210 + DiscrepancyAlarmType_ReAlarmRepeatCount = 17211 + DiscrepancyAlarmType_Silence = 17212 + DiscrepancyAlarmType_Suppress = 17213 + PubSubConnectionType_WriterGroupName_Placeholder_WriterGroupId = 17214 + DiscrepancyAlarmType_TargetValueNode = 17215 + DiscrepancyAlarmType_ExpectedTime = 17216 + DiscrepancyAlarmType_Tolerance = 17217 + SafetyConditionClassType = 17218 + HighlyManagedAlarmConditionClassType = 17219 + TrainingConditionClassType = 17220 + TestingConditionClassType = 17221 + AuditConditionCommentEventType_ConditionEventId = 17222 + AuditConditionAcknowledgeEventType_ConditionEventId = 17223 + AuditConditionConfirmEventType_ConditionEventId = 17224 + AuditConditionSuppressEventType = 17225 + AuditConditionSuppressEventType_EventId = 17226 + AuditConditionSuppressEventType_EventType = 17227 + AuditConditionSuppressEventType_SourceNode = 17228 + AuditConditionSuppressEventType_SourceName = 17229 + AuditConditionSuppressEventType_Time = 17230 + AuditConditionSuppressEventType_ReceiveTime = 17231 + AuditConditionSuppressEventType_LocalTime = 17232 + AuditConditionSuppressEventType_Message = 17233 + AuditConditionSuppressEventType_Severity = 17234 + AuditConditionSuppressEventType_ActionTimeStamp = 17235 + AuditConditionSuppressEventType_Status = 17236 + AuditConditionSuppressEventType_ServerId = 17237 + AuditConditionSuppressEventType_ClientAuditEntryId = 17238 + AuditConditionSuppressEventType_ClientUserId = 17239 + AuditConditionSuppressEventType_MethodId = 17240 + AuditConditionSuppressEventType_InputArguments = 17241 + AuditConditionSilenceEventType = 17242 + AuditConditionSilenceEventType_EventId = 17243 + AuditConditionSilenceEventType_EventType = 17244 + AuditConditionSilenceEventType_SourceNode = 17245 + AuditConditionSilenceEventType_SourceName = 17246 + AuditConditionSilenceEventType_Time = 17247 + AuditConditionSilenceEventType_ReceiveTime = 17248 + AuditConditionSilenceEventType_LocalTime = 17249 + AuditConditionSilenceEventType_Message = 17250 + AuditConditionSilenceEventType_Severity = 17251 + AuditConditionSilenceEventType_ActionTimeStamp = 17252 + AuditConditionSilenceEventType_Status = 17253 + AuditConditionSilenceEventType_ServerId = 17254 + AuditConditionSilenceEventType_ClientAuditEntryId = 17255 + AuditConditionSilenceEventType_ClientUserId = 17256 + AuditConditionSilenceEventType_MethodId = 17257 + AuditConditionSilenceEventType_InputArguments = 17258 + AuditConditionOutOfServiceEventType = 17259 + AuditConditionOutOfServiceEventType_EventId = 17260 + AuditConditionOutOfServiceEventType_EventType = 17261 + AuditConditionOutOfServiceEventType_SourceNode = 17262 + AuditConditionOutOfServiceEventType_SourceName = 17263 + AuditConditionOutOfServiceEventType_Time = 17264 + AuditConditionOutOfServiceEventType_ReceiveTime = 17265 + AuditConditionOutOfServiceEventType_LocalTime = 17266 + AuditConditionOutOfServiceEventType_Message = 17267 + AuditConditionOutOfServiceEventType_Severity = 17268 + AuditConditionOutOfServiceEventType_ActionTimeStamp = 17269 + AuditConditionOutOfServiceEventType_Status = 17270 + AuditConditionOutOfServiceEventType_ServerId = 17271 + AuditConditionOutOfServiceEventType_ClientAuditEntryId = 17272 + AuditConditionOutOfServiceEventType_ClientUserId = 17273 + AuditConditionOutOfServiceEventType_MethodId = 17274 + AuditConditionOutOfServiceEventType_InputArguments = 17275 + HasEffectDisable = 17276 + AlarmRateVariableType = 17277 + AlarmRateVariableType_Rate = 17278 + AlarmMetricsType = 17279 + AlarmMetricsType_AlarmCount = 17280 + AlarmMetricsType_MaximumActiveState = 17281 + AlarmMetricsType_MaximumUnAck = 17282 + AlarmMetricsType_MaximumReAlarmCount = 17283 + AlarmMetricsType_CurrentAlarmRate = 17284 + AlarmMetricsType_CurrentAlarmRate_Rate = 17285 + AlarmMetricsType_MaximumAlarmRate = 17286 + AlarmMetricsType_MaximumAlarmRate_Rate = 17287 + AlarmMetricsType_AverageAlarmRate = 17288 + AlarmMetricsType_AverageAlarmRate_Rate = 17289 + PubSubConnectionType_WriterGroupName_Placeholder_TransportSettings = 17290 + PubSubConnectionType_WriterGroupName_Placeholder_MessageSettings = 17291 + PublishSubscribeType_ConnectionName_Placeholder_TransportProfileUri = 17292 + PubSubConnectionType_WriterGroupName_Placeholder_AddDataSetWriter = 17293 + PubSubConnectionType_WriterGroupName_Placeholder_AddDataSetWriter_InputArguments = 17294 + PublishSubscribeType_ConnectionName_Placeholder_TransportProfileUri_RestrictToList = 17295 + PublishSubscribeType_SetSecurityKeys = 17296 + PublishSubscribeType_SetSecurityKeys_InputArguments = 17297 + SetSecurityKeysMethodType = 17298 + SetSecurityKeysMethodType_InputArguments = 17299 + PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_DiagnosticsLevel = 17300 + PubSubConnectionType_WriterGroupName_Placeholder_AddDataSetWriter_OutputArguments = 17301 + PubSubConnectionType_ReaderGroupName_Placeholder_MaxNetworkMessageSize = 17302 + PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_TimeFirstChange = 17303 + PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByParent = 17304 + PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Active = 17305 + PubSubConnectionType_TransportProfileUri = 17306 + PubSubConnectionType_ReaderGroupName_Placeholder_TransportSettings = 17307 + PubSubConnectionType_ReaderGroupName_Placeholder_MessageSettings = 17308 + PubSubConnectionType_TransportProfileUri_RestrictToList = 17309 + PubSubConnectionType_WriterGroupName_Placeholder = 17310 + PubSubConnectionType_WriterGroupName_Placeholder_SecurityMode = 17311 + PubSubConnectionType_WriterGroupName_Placeholder_SecurityGroupId = 17312 + PubSubConnectionType_WriterGroupName_Placeholder_SecurityKeyServices = 17313 + PubSubConnectionType_WriterGroupName_Placeholder_Status = 17314 + PubSubConnectionType_WriterGroupName_Placeholder_Status_State = 17315 + PubSubConnectionType_WriterGroupName_Placeholder_Status_Enable = 17316 + PubSubConnectionType_WriterGroupName_Placeholder_Status_Disable = 17317 + PubSubConnectionType_WriterGroupName_Placeholder_PublishingInterval = 17318 + PubSubConnectionType_WriterGroupName_Placeholder_KeepAliveTime = 17319 + PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Classification = 17320 + PubSubConnectionType_WriterGroupName_Placeholder_Priority = 17321 + PubSubConnectionType_WriterGroupName_Placeholder_LocaleIds = 17322 + PubSubConnectionType_WriterGroupName_Placeholder_RemoveDataSetWriter = 17323 + PubSubConnectionType_WriterGroupName_Placeholder_RemoveDataSetWriter_InputArguments = 17324 + PubSubConnectionType_ReaderGroupName_Placeholder = 17325 + PubSubConnectionType_ReaderGroupName_Placeholder_SecurityMode = 17326 + PubSubConnectionType_ReaderGroupName_Placeholder_SecurityGroupId = 17327 + PubSubConnectionType_ReaderGroupName_Placeholder_SecurityKeyServices = 17328 + PubSubConnectionType_ReaderGroupName_Placeholder_Status = 17329 + PubSubConnectionType_ReaderGroupName_Placeholder_Status_State = 17330 + PubSubConnectionType_ReaderGroupName_Placeholder_Status_Enable = 17331 + PubSubConnectionType_ReaderGroupName_Placeholder_Status_Disable = 17332 + PubSubConnectionType_ReaderGroupName_Placeholder_RemoveDataSetReader = 17333 + PubSubConnectionType_ReaderGroupName_Placeholder_RemoveDataSetReader_InputArguments = 17334 + PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByParent_DiagnosticsLevel = 17335 + PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByParent_TimeFirstChange = 17336 + PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalFromError = 17337 + PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Active = 17338 + PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Classification = 17339 + PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalFromError_DiagnosticsLevel = 17340 + PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalFromError_TimeFirstChange = 17341 + PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StatePausedByParent = 17342 + PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StatePausedByParent_Active = 17343 + PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StatePausedByParent_Classification = 17344 + PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StatePausedByParent_DiagnosticsLevel = 17345 + PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StatePausedByParent_TimeFirstChange = 17346 + PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateDisabledByMethod = 17347 + PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Active = 17348 + PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Classification = 17349 + PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_DiagnosticsLevel = 17350 + PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_TimeFirstChange = 17351 + PublishSubscribe_ConnectionName_Placeholder_Diagnostics_LiveValues = 17352 + PublishSubscribe_ConnectionName_Placeholder_Diagnostics_LiveValues_ResolvedAddress = 17353 + PublishSubscribe_ConnectionName_Placeholder_Diagnostics_LiveValues_ResolvedAddress_DiagnosticsLevel = 17354 + PubSubConnectionType_ReaderGroupName_Placeholder_AddDataSetReader = 17355 + PublishSubscribe_ConnectionName_Placeholder_AddWriterGroup = 17356 + PublishSubscribe_ConnectionName_Placeholder_AddWriterGroup_InputArguments = 17357 + PublishSubscribe_ConnectionName_Placeholder_AddWriterGroup_OutputArguments = 17358 + PublishSubscribe_ConnectionName_Placeholder_AddReaderGroup = 17359 + PublishSubscribe_ConnectionName_Placeholder_AddReaderGroup_InputArguments = 17360 + PublishSubscribe_ConnectionName_Placeholder_AddReaderGroup_OutputArguments = 17361 + PublishSubscribe_ConnectionName_Placeholder_RemoveGroup = 17362 + PublishSubscribe_ConnectionName_Placeholder_RemoveGroup_InputArguments = 17363 + PublishSubscribe_SetSecurityKeys = 17364 + PublishSubscribe_SetSecurityKeys_InputArguments = 17365 + PublishSubscribe_AddConnection = 17366 + PublishSubscribe_AddConnection_InputArguments = 17367 + PublishSubscribe_AddConnection_OutputArguments = 17368 + PublishSubscribe_RemoveConnection = 17369 + PublishSubscribe_RemoveConnection_InputArguments = 17370 + PublishSubscribe_PublishedDataSets = 17371 + PublishSubscribe_PublishedDataSets_AddPublishedDataItems = 17372 + PublishSubscribe_PublishedDataSets_AddPublishedDataItems_InputArguments = 17373 + PublishSubscribe_PublishedDataSets_AddPublishedDataItems_OutputArguments = 17374 + PublishSubscribe_PublishedDataSets_AddPublishedEvents = 17375 + PublishSubscribe_PublishedDataSets_AddPublishedEvents_InputArguments = 17376 + PublishSubscribe_PublishedDataSets_AddPublishedEvents_OutputArguments = 17377 + PublishSubscribe_PublishedDataSets_AddPublishedDataItemsTemplate = 17378 + PublishSubscribe_PublishedDataSets_AddPublishedDataItemsTemplate_InputArguments = 17379 + PublishSubscribe_PublishedDataSets_AddPublishedDataItemsTemplate_OutputArguments = 17380 + PublishSubscribe_PublishedDataSets_AddPublishedEventsTemplate = 17381 + PublishSubscribe_PublishedDataSets_AddPublishedEventsTemplate_InputArguments = 17382 + PublishSubscribe_PublishedDataSets_AddPublishedEventsTemplate_OutputArguments = 17383 + PublishSubscribe_PublishedDataSets_RemovePublishedDataSet = 17384 + PublishSubscribe_PublishedDataSets_RemovePublishedDataSet_InputArguments = 17385 + DataSetReaderType_CreateTargetVariables = 17386 + DataSetReaderType_CreateTargetVariables_InputArguments = 17387 + DataSetReaderType_CreateTargetVariables_OutputArguments = 17388 + DataSetReaderType_CreateDataSetMirror = 17389 + DataSetReaderType_CreateDataSetMirror_InputArguments = 17390 + DataSetReaderType_CreateDataSetMirror_OutputArguments = 17391 + DataSetReaderTypeCreateTargetVariablesMethodType = 17392 + DataSetReaderTypeCreateTargetVariablesMethodType_InputArguments = 17393 + DataSetReaderTypeCreateTargetVariablesMethodType_OutputArguments = 17394 + DataSetReaderTypeCreateDataSetMirrorMethodType = 17395 + DataSetReaderTypeCreateDataSetMirrorMethodType_InputArguments = 17396 + DataSetReaderTypeCreateDataSetMirrorMethodType_OutputArguments = 17397 + PublishSubscribe_PublishedDataSets_AddDataSetFolder = 17398 + PubSubConnectionType_ReaderGroupName_Placeholder_AddDataSetReader_InputArguments = 17399 + PubSubConnectionType_ReaderGroupName_Placeholder_AddDataSetReader_OutputArguments = 17400 + PublishSubscribe_PublishedDataSets_AddDataSetFolder_InputArguments = 17401 + PublishSubscribe_PublishedDataSets_AddDataSetFolder_OutputArguments = 17402 + PublishSubscribe_PublishedDataSets_RemoveDataSetFolder = 17403 + PublishSubscribe_PublishedDataSets_RemoveDataSetFolder_InputArguments = 17404 + PublishSubscribe_Status = 17405 + PublishSubscribe_Status_State = 17406 + PublishSubscribe_Status_Enable = 17407 + PublishSubscribe_Status_Disable = 17408 + PublishSubscribe_Diagnostics = 17409 + PublishSubscribe_Diagnostics_DiagnosticsLevel = 17410 + PublishSubscribe_Diagnostics_TotalInformation = 17411 + PublishSubscribe_Diagnostics_TotalInformation_Active = 17412 + PublishSubscribe_Diagnostics_TotalInformation_Classification = 17413 + PublishSubscribe_Diagnostics_TotalInformation_DiagnosticsLevel = 17414 + PublishSubscribe_Diagnostics_TotalInformation_TimeFirstChange = 17415 + PublishSubscribe_Diagnostics_TotalError = 17416 + PublishSubscribe_Diagnostics_TotalError_Active = 17417 + PublishSubscribe_Diagnostics_TotalError_Classification = 17418 + PublishSubscribe_Diagnostics_TotalError_DiagnosticsLevel = 17419 + PublishSubscribe_Diagnostics_TotalError_TimeFirstChange = 17420 + PublishSubscribe_Diagnostics_Reset = 17421 + PublishSubscribe_Diagnostics_SubError = 17422 + PublishSubscribe_Diagnostics_Counters = 17423 + PublishSubscribe_Diagnostics_Counters_StateError = 17424 + PublishSubscribe_Diagnostics_Counters_StateError_Active = 17425 + PublishSubscribe_Diagnostics_Counters_StateError_Classification = 17426 + PubSubConnectionType_AddWriterGroup = 17427 + PubSubConnectionType_AddWriterGroup_InputArguments = 17428 + PublishSubscribe_Diagnostics_Counters_StateError_DiagnosticsLevel = 17429 + PublishSubscribe_Diagnostics_Counters_StateError_TimeFirstChange = 17430 + PublishSubscribe_Diagnostics_Counters_StateOperationalByMethod = 17431 + PublishSubscribe_Diagnostics_Counters_StateOperationalByMethod_Active = 17432 + PublishSubscribe_Diagnostics_Counters_StateOperationalByMethod_Classification = 17433 + PublishSubscribe_Diagnostics_Counters_StateOperationalByMethod_DiagnosticsLevel = 17434 + PublishSubscribe_Diagnostics_Counters_StateOperationalByMethod_TimeFirstChange = 17435 + PublishSubscribe_Diagnostics_Counters_StateOperationalByParent = 17436 + PublishSubscribe_Diagnostics_Counters_StateOperationalByParent_Active = 17437 + PublishSubscribe_Diagnostics_Counters_StateOperationalByParent_Classification = 17438 + PublishSubscribe_Diagnostics_Counters_StateOperationalByParent_DiagnosticsLevel = 17439 + PublishSubscribe_Diagnostics_Counters_StateOperationalByParent_TimeFirstChange = 17440 + PublishSubscribe_Diagnostics_Counters_StateOperationalFromError = 17441 + PublishSubscribe_Diagnostics_Counters_StateOperationalFromError_Active = 17442 + PublishSubscribe_Diagnostics_Counters_StateOperationalFromError_Classification = 17443 + PublishSubscribe_Diagnostics_Counters_StateOperationalFromError_DiagnosticsLevel = 17444 + PublishSubscribe_Diagnostics_Counters_StateOperationalFromError_TimeFirstChange = 17445 + PublishSubscribe_Diagnostics_Counters_StatePausedByParent = 17446 + PublishSubscribe_Diagnostics_Counters_StatePausedByParent_Active = 17447 + PublishSubscribe_Diagnostics_Counters_StatePausedByParent_Classification = 17448 + PublishSubscribe_Diagnostics_Counters_StatePausedByParent_DiagnosticsLevel = 17449 + PublishSubscribe_Diagnostics_Counters_StatePausedByParent_TimeFirstChange = 17450 + PublishSubscribe_Diagnostics_Counters_StateDisabledByMethod = 17451 + PublishSubscribe_Diagnostics_Counters_StateDisabledByMethod_Active = 17452 + PublishSubscribe_Diagnostics_Counters_StateDisabledByMethod_Classification = 17453 + PublishSubscribe_Diagnostics_Counters_StateDisabledByMethod_DiagnosticsLevel = 17454 + PublishSubscribe_Diagnostics_Counters_StateDisabledByMethod_TimeFirstChange = 17455 + PubSubConnectionType_AddWriterGroup_OutputArguments = 17456 + PublishSubscribe_Diagnostics_LiveValues = 17457 + PublishSubscribe_Diagnostics_LiveValues_ConfiguredDataSetWriters = 17458 + PublishSubscribe_Diagnostics_LiveValues_ConfiguredDataSetWriters_DiagnosticsLevel = 17459 + PublishSubscribe_Diagnostics_LiveValues_ConfiguredDataSetReaders = 17460 + PublishSubscribe_Diagnostics_LiveValues_ConfiguredDataSetReaders_DiagnosticsLevel = 17461 + PublishSubscribe_Diagnostics_LiveValues_OperationalDataSetWriters = 17462 + PublishSubscribe_Diagnostics_LiveValues_OperationalDataSetWriters_DiagnosticsLevel = 17463 + PublishSubscribe_Diagnostics_LiveValues_OperationalDataSetReaders = 17464 + PubSubConnectionType_AddReaderGroup = 17465 + PublishSubscribe_Diagnostics_LiveValues_OperationalDataSetReaders_DiagnosticsLevel = 17466 + DatagramConnectionTransportDataType = 17467 + DatagramConnectionTransportDataType_Encoding_DefaultBinary = 17468 + OpcUa_BinarySchema_DatagramConnectionTransportDataType = 17469 + OpcUa_BinarySchema_DatagramConnectionTransportDataType_DataTypeVersion = 17470 + OpcUa_BinarySchema_DatagramConnectionTransportDataType_DictionaryFragment = 17471 + DatagramConnectionTransportDataType_Encoding_DefaultXml = 17472 + OpcUa_XmlSchema_DatagramConnectionTransportDataType = 17473 + OpcUa_XmlSchema_DatagramConnectionTransportDataType_DataTypeVersion = 17474 + OpcUa_XmlSchema_DatagramConnectionTransportDataType_DictionaryFragment = 17475 + DatagramConnectionTransportDataType_Encoding_DefaultJson = 17476 + UadpDataSetReaderMessageType_DataSetOffset = 17477 + PublishSubscribeType_ConnectionName_Placeholder_ConnectionProperties = 17478 + PublishSubscribeType_SupportedTransportProfiles = 17479 + PublishSubscribe_ConnectionName_Placeholder_ConnectionProperties = 17480 + PublishSubscribe_SupportedTransportProfiles = 17481 + PublishedDataSetType_DataSetWriterName_Placeholder_DataSetWriterProperties = 17482 + PublishedDataItemsType_DataSetWriterName_Placeholder_DataSetWriterProperties = 17483 + PublishedEventsType_DataSetWriterName_Placeholder_DataSetWriterProperties = 17484 + PubSubConnectionType_ConnectionProperties = 17485 + PubSubConnectionType_WriterGroupName_Placeholder_GroupProperties = 17486 + PubSubConnectionType_ReaderGroupName_Placeholder_GroupProperties = 17487 + PubSubGroupType_GroupProperties = 17488 + WriterGroupType_GroupProperties = 17489 + WriterGroupType_DataSetWriterName_Placeholder_DataSetWriterProperties = 17490 + ReaderGroupType_GroupProperties = 17491 + ReaderGroupType_DataSetReaderName_Placeholder_DataSetReaderProperties = 17492 + DataSetWriterType_DataSetWriterProperties = 17493 + DataSetReaderType_DataSetReaderProperties = 17494 + PubSubConnectionType_AddReaderGroup_InputArguments = 17507 + PubSubConnectionType_AddReaderGroup_OutputArguments = 17508 + PubSubConnectionTypeAddWriterGroupMethodType = 17561 + GenericAttributeValue = 17606 + GenericAttributes = 17607 + GenericAttributeValue_Encoding_DefaultXml = 17608 + GenericAttributes_Encoding_DefaultXml = 17609 + GenericAttributeValue_Encoding_DefaultBinary = 17610 + GenericAttributes_Encoding_DefaultBinary = 17611 + ServerType_LocalTime = 17612 + PubSubConnectionTypeAddWriterGroupMethodType_InputArguments = 17613 + PubSubConnectionTypeAddWriterGroupMethodType_OutputArguments = 17614 + AuditSecurityEventType_StatusCodeId = 17615 + AuditChannelEventType_StatusCodeId = 17616 + AuditOpenSecureChannelEventType_StatusCodeId = 17617 + AuditSessionEventType_StatusCodeId = 17618 + AuditCreateSessionEventType_StatusCodeId = 17619 + AuditUrlMismatchEventType_StatusCodeId = 17620 + AuditActivateSessionEventType_StatusCodeId = 17621 + AuditCancelEventType_StatusCodeId = 17622 + AuditCertificateEventType_StatusCodeId = 17623 + AuditCertificateDataMismatchEventType_StatusCodeId = 17624 + AuditCertificateExpiredEventType_StatusCodeId = 17625 + AuditCertificateInvalidEventType_StatusCodeId = 17626 + AuditCertificateUntrustedEventType_StatusCodeId = 17627 + AuditCertificateRevokedEventType_StatusCodeId = 17628 + AuditCertificateMismatchEventType_StatusCodeId = 17629 + PubSubConnectionAddReaderGroupGroupMethodType = 17630 + PubSubConnectionAddReaderGroupGroupMethodType_InputArguments = 17631 + SelectionListType_Selections = 17632 + SelectionListType_SelectionDescriptions = 17633 + Server_LocalTime = 17634 + FiniteStateMachineType_AvailableStates = 17635 + FiniteStateMachineType_AvailableTransitions = 17636 + TemporaryFileTransferType_TransferState_Placeholder_AvailableStates = 17637 + TemporaryFileTransferType_TransferState_Placeholder_AvailableTransitions = 17638 + FileTransferStateMachineType_AvailableStates = 17639 + FileTransferStateMachineType_AvailableTransitions = 17640 + RoleMappingRuleChangedAuditEventType = 17641 + RoleMappingRuleChangedAuditEventType_EventId = 17642 + RoleMappingRuleChangedAuditEventType_EventType = 17643 + RoleMappingRuleChangedAuditEventType_SourceNode = 17644 + RoleMappingRuleChangedAuditEventType_SourceName = 17645 + RoleMappingRuleChangedAuditEventType_Time = 17646 + RoleMappingRuleChangedAuditEventType_ReceiveTime = 17647 + RoleMappingRuleChangedAuditEventType_LocalTime = 17648 + RoleMappingRuleChangedAuditEventType_Message = 17649 + RoleMappingRuleChangedAuditEventType_Severity = 17650 + RoleMappingRuleChangedAuditEventType_ActionTimeStamp = 17651 + RoleMappingRuleChangedAuditEventType_Status = 17652 + RoleMappingRuleChangedAuditEventType_ServerId = 17653 + RoleMappingRuleChangedAuditEventType_ClientAuditEntryId = 17654 + RoleMappingRuleChangedAuditEventType_ClientUserId = 17655 + RoleMappingRuleChangedAuditEventType_MethodId = 17656 + RoleMappingRuleChangedAuditEventType_InputArguments = 17657 + AlarmConditionType_ShelvingState_AvailableStates = 17658 + AlarmConditionType_ShelvingState_AvailableTransitions = 17659 + AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_AvailableStates = 17660 + AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_AvailableTransitions = 17661 + ShelvedStateMachineType_AvailableStates = 17662 + ShelvedStateMachineType_AvailableTransitions = 17663 + LimitAlarmType_ShelvingState_AvailableStates = 17664 + LimitAlarmType_ShelvingState_AvailableTransitions = 17665 + ExclusiveLimitStateMachineType_AvailableStates = 17666 + ExclusiveLimitStateMachineType_AvailableTransitions = 17667 + ExclusiveLimitAlarmType_ShelvingState_AvailableStates = 17668 + ExclusiveLimitAlarmType_ShelvingState_AvailableTransitions = 17669 + ExclusiveLimitAlarmType_LimitState_AvailableStates = 17670 + ExclusiveLimitAlarmType_LimitState_AvailableTransitions = 17671 + NonExclusiveLimitAlarmType_ShelvingState_AvailableStates = 17672 + NonExclusiveLimitAlarmType_ShelvingState_AvailableTransitions = 17673 + NonExclusiveLevelAlarmType_ShelvingState_AvailableStates = 17674 + NonExclusiveLevelAlarmType_ShelvingState_AvailableTransitions = 17675 + ExclusiveLevelAlarmType_ShelvingState_AvailableStates = 17676 + ExclusiveLevelAlarmType_ShelvingState_AvailableTransitions = 17677 + ExclusiveLevelAlarmType_LimitState_AvailableStates = 17678 + ExclusiveLevelAlarmType_LimitState_AvailableTransitions = 17679 + NonExclusiveDeviationAlarmType_ShelvingState_AvailableStates = 17680 + NonExclusiveDeviationAlarmType_ShelvingState_AvailableTransitions = 17681 + ExclusiveDeviationAlarmType_ShelvingState_AvailableStates = 17682 + ExclusiveDeviationAlarmType_ShelvingState_AvailableTransitions = 17683 + ExclusiveDeviationAlarmType_LimitState_AvailableStates = 17684 + ExclusiveDeviationAlarmType_LimitState_AvailableTransitions = 17685 + NonExclusiveRateOfChangeAlarmType_ShelvingState_AvailableStates = 17686 + NonExclusiveRateOfChangeAlarmType_ShelvingState_AvailableTransitions = 17687 + ExclusiveRateOfChangeAlarmType_ShelvingState_AvailableStates = 17688 + ExclusiveRateOfChangeAlarmType_ShelvingState_AvailableTransitions = 17689 + ExclusiveRateOfChangeAlarmType_LimitState_AvailableStates = 17690 + ExclusiveRateOfChangeAlarmType_LimitState_AvailableTransitions = 17691 + DiscreteAlarmType_ShelvingState_AvailableStates = 17692 + DiscreteAlarmType_ShelvingState_AvailableTransitions = 17693 + OffNormalAlarmType_ShelvingState_AvailableStates = 17694 + OffNormalAlarmType_ShelvingState_AvailableTransitions = 17695 + SystemOffNormalAlarmType_ShelvingState_AvailableStates = 17696 + SystemOffNormalAlarmType_ShelvingState_AvailableTransitions = 17697 + TripAlarmType_ShelvingState_AvailableStates = 17698 + TripAlarmType_ShelvingState_AvailableTransitions = 17699 + CertificateExpirationAlarmType_ShelvingState_AvailableStates = 17700 + CertificateExpirationAlarmType_ShelvingState_AvailableTransitions = 17701 + DiscrepancyAlarmType_ShelvingState_AvailableStates = 17702 + DiscrepancyAlarmType_ShelvingState_AvailableTransitions = 17703 + ProgramStateMachineType_AvailableStates = 17704 + ProgramStateMachineType_AvailableTransitions = 17705 + PublishSubscribeType_ConnectionName_Placeholder_TransportProfileUri_Selections = 17706 + PublishSubscribeType_ConnectionName_Placeholder_TransportProfileUri_SelectionDescriptions = 17707 + PubSubConnectionType_TransportProfileUri_Selections = 17710 + PubSubConnectionType_TransportProfileUri_SelectionDescriptions = 17711 + FileDirectoryType_FileDirectoryName_Placeholder_DeleteFileSystemObject = 17718 + FileDirectoryType_FileDirectoryName_Placeholder_DeleteFileSystemObject_InputArguments = 17719 + PubSubConnectionAddReaderGroupGroupMethodType_OutputArguments = 17720 + ConnectionTransportType = 17721 + FileSystem_FileDirectoryName_Placeholder_DeleteFileSystemObject = 17722 + FileSystem_FileDirectoryName_Placeholder_DeleteFileSystemObject_InputArguments = 17723 + PubSubGroupType_MaxNetworkMessageSize = 17724 + WriterGroupType = 17725 + WriterGroupType_SecurityMode = 17726 + WriterGroupType_SecurityGroupId = 17727 + WriterGroupType_SecurityKeyServices = 17728 + WriterGroupType_MaxNetworkMessageSize = 17729 + WriterGroupType_Status = 17730 + WriterGroupType_Status_State = 17731 + AuthorizationServices = 17732 + AuthorizationServices_ServiceName_Placeholder = 17733 + WriterGroupType_Status_Enable = 17734 + WriterGroupType_Status_Disable = 17735 + WriterGroupType_WriterGroupId = 17736 + WriterGroupType_PublishingInterval = 17737 + WriterGroupType_KeepAliveTime = 17738 + WriterGroupType_Priority = 17739 + WriterGroupType_LocaleIds = 17740 + WriterGroupType_TransportSettings = 17741 + WriterGroupType_MessageSettings = 17742 + WriterGroupType_DataSetWriterName_Placeholder = 17743 + WriterGroupType_DataSetWriterName_Placeholder_DataSetWriterId = 17744 + WriterGroupType_DataSetWriterName_Placeholder_DataSetFieldContentMask = 17745 + WriterGroupType_DataSetWriterName_Placeholder_KeyFrameCount = 17746 + WriterGroupType_DataSetWriterName_Placeholder_TransportSettings = 17747 + WriterGroupType_DataSetWriterName_Placeholder_MessageSettings = 17748 + WriterGroupType_DataSetWriterName_Placeholder_Status = 17749 + WriterGroupType_DataSetWriterName_Placeholder_Status_State = 17750 + WriterGroupType_DataSetWriterName_Placeholder_Status_Enable = 17751 + WriterGroupType_DataSetWriterName_Placeholder_Status_Disable = 17752 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics = 17753 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_DiagnosticsLevel = 17754 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation = 17755 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation_Active = 17756 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation_Classification = 17757 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation_DiagnosticsLevel = 17758 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation_TimeFirstChange = 17759 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_TotalError = 17760 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_TotalError_Active = 17761 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_TotalError_Classification = 17762 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_TotalError_DiagnosticsLevel = 17763 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_TotalError_TimeFirstChange = 17764 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Reset = 17765 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_SubError = 17766 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters = 17767 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError = 17768 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError_Active = 17769 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError_Classification = 17770 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError_DiagnosticsLevel = 17771 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError_TimeFirstChange = 17772 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod = 17773 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Active = 17774 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Classification = 17775 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_DiagnosticsLevel = 17776 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_TimeFirstChange = 17777 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent = 17778 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Active = 17779 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Classification = 17780 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent_DiagnosticsLevel = 17781 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent_TimeFirstChange = 17782 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError = 17783 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Active = 17784 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Classification = 17785 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError_DiagnosticsLevel = 17786 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError_TimeFirstChange = 17787 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent = 17788 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent_Active = 17789 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent_Classification = 17790 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent_DiagnosticsLevel = 17791 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent_TimeFirstChange = 17792 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod = 17793 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Active = 17794 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Classification = 17795 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_DiagnosticsLevel = 17796 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_TimeFirstChange = 17797 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_LiveValues = 17798 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages = 17799 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_Active = 17800 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_Classification = 17801 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_DiagnosticsLevel = 17802 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_TimeFirstChange = 17803 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MessageSequenceNumber = 17804 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MessageSequenceNumber_DiagnosticsLevel = 17805 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_StatusCode = 17806 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_StatusCode_DiagnosticsLevel = 17807 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MajorVersion = 17808 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MajorVersion_DiagnosticsLevel = 17809 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MinorVersion = 17810 + WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MinorVersion_DiagnosticsLevel = 17811 + WriterGroupType_Diagnostics = 17812 + WriterGroupType_Diagnostics_DiagnosticsLevel = 17813 + WriterGroupType_Diagnostics_TotalInformation = 17814 + WriterGroupType_Diagnostics_TotalInformation_Active = 17815 + WriterGroupType_Diagnostics_TotalInformation_Classification = 17816 + WriterGroupType_Diagnostics_TotalInformation_DiagnosticsLevel = 17817 + WriterGroupType_Diagnostics_TotalInformation_TimeFirstChange = 17818 + WriterGroupType_Diagnostics_TotalError = 17819 + WriterGroupType_Diagnostics_TotalError_Active = 17820 + WriterGroupType_Diagnostics_TotalError_Classification = 17821 + WriterGroupType_Diagnostics_TotalError_DiagnosticsLevel = 17822 + WriterGroupType_Diagnostics_TotalError_TimeFirstChange = 17823 + WriterGroupType_Diagnostics_Reset = 17824 + WriterGroupType_Diagnostics_SubError = 17825 + WriterGroupType_Diagnostics_Counters = 17826 + WriterGroupType_Diagnostics_Counters_StateError = 17827 + WriterGroupType_Diagnostics_Counters_StateError_Active = 17828 + WriterGroupType_Diagnostics_Counters_StateError_Classification = 17829 + WriterGroupType_Diagnostics_Counters_StateError_DiagnosticsLevel = 17830 + WriterGroupType_Diagnostics_Counters_StateError_TimeFirstChange = 17831 + WriterGroupType_Diagnostics_Counters_StateOperationalByMethod = 17832 + WriterGroupType_Diagnostics_Counters_StateOperationalByMethod_Active = 17833 + WriterGroupType_Diagnostics_Counters_StateOperationalByMethod_Classification = 17834 + WriterGroupType_Diagnostics_Counters_StateOperationalByMethod_DiagnosticsLevel = 17835 + WriterGroupType_Diagnostics_Counters_StateOperationalByMethod_TimeFirstChange = 17836 + WriterGroupType_Diagnostics_Counters_StateOperationalByParent = 17837 + WriterGroupType_Diagnostics_Counters_StateOperationalByParent_Active = 17838 + WriterGroupType_Diagnostics_Counters_StateOperationalByParent_Classification = 17839 + WriterGroupType_Diagnostics_Counters_StateOperationalByParent_DiagnosticsLevel = 17840 + WriterGroupType_Diagnostics_Counters_StateOperationalByParent_TimeFirstChange = 17841 + WriterGroupType_Diagnostics_Counters_StateOperationalFromError = 17842 + WriterGroupType_Diagnostics_Counters_StateOperationalFromError_Active = 17843 + WriterGroupType_Diagnostics_Counters_StateOperationalFromError_Classification = 17844 + WriterGroupType_Diagnostics_Counters_StateOperationalFromError_DiagnosticsLevel = 17845 + WriterGroupType_Diagnostics_Counters_StateOperationalFromError_TimeFirstChange = 17846 + WriterGroupType_Diagnostics_Counters_StatePausedByParent = 17847 + WriterGroupType_Diagnostics_Counters_StatePausedByParent_Active = 17848 + WriterGroupType_Diagnostics_Counters_StatePausedByParent_Classification = 17849 + WriterGroupType_Diagnostics_Counters_StatePausedByParent_DiagnosticsLevel = 17850 + WriterGroupType_Diagnostics_Counters_StatePausedByParent_TimeFirstChange = 17851 + AuthorizationServiceConfigurationType = 17852 + WriterGroupType_Diagnostics_Counters_StateDisabledByMethod = 17853 + WriterGroupType_Diagnostics_Counters_StateDisabledByMethod_Active = 17854 + WriterGroupType_Diagnostics_Counters_StateDisabledByMethod_Classification = 17855 + WriterGroupType_Diagnostics_Counters_StateDisabledByMethod_DiagnosticsLevel = 17856 + WriterGroupType_Diagnostics_Counters_StateDisabledByMethod_TimeFirstChange = 17857 + WriterGroupType_Diagnostics_LiveValues = 17858 + WriterGroupType_Diagnostics_Counters_SentNetworkMessages = 17859 + AuthorizationServiceConfigurationType_ServiceCertificate = 17860 + DecimalDataType = 17861 + DecimalDataType_Encoding_DefaultXml = 17862 + DecimalDataType_Encoding_DefaultBinary = 17863 + WriterGroupType_Diagnostics_Counters_SentNetworkMessages_Active = 17864 + AlarmConditionType_AudibleSound_ListId = 17865 + AlarmConditionType_AudibleSound_AgencyId = 17866 + AlarmConditionType_AudibleSound_VersionId = 17867 + AlarmConditionType_Unsuppress = 17868 + AlarmConditionType_RemoveFromService = 17869 + AlarmConditionType_PlaceInService = 17870 + WriterGroupType_Diagnostics_Counters_SentNetworkMessages_Classification = 17871 + WriterGroupType_Diagnostics_Counters_SentNetworkMessages_DiagnosticsLevel = 17872 + WriterGroupType_Diagnostics_Counters_SentNetworkMessages_TimeFirstChange = 17873 + WriterGroupType_Diagnostics_Counters_FailedTransmissions = 17874 + AlarmGroupType_AlarmConditionInstance_Placeholder_Unsuppress = 17875 + AlarmGroupType_AlarmConditionInstance_Placeholder_RemoveFromService = 17876 + AlarmGroupType_AlarmConditionInstance_Placeholder_PlaceInService = 17877 + WriterGroupType_Diagnostics_Counters_FailedTransmissions_Active = 17878 + LimitAlarmType_AudibleSound_ListId = 17879 + LimitAlarmType_AudibleSound_AgencyId = 17880 + LimitAlarmType_AudibleSound_VersionId = 17881 + LimitAlarmType_Unsuppress = 17882 + LimitAlarmType_RemoveFromService = 17883 + LimitAlarmType_PlaceInService = 17884 + WriterGroupType_Diagnostics_Counters_FailedTransmissions_Classification = 17885 + ExclusiveLimitAlarmType_AudibleSound_ListId = 17886 + ExclusiveLimitAlarmType_AudibleSound_AgencyId = 17887 + ExclusiveLimitAlarmType_AudibleSound_VersionId = 17888 + ExclusiveLimitAlarmType_Unsuppress = 17889 + ExclusiveLimitAlarmType_RemoveFromService = 17890 + ExclusiveLimitAlarmType_PlaceInService = 17891 + WriterGroupType_Diagnostics_Counters_FailedTransmissions_DiagnosticsLevel = 17892 + NonExclusiveLimitAlarmType_AudibleSound_ListId = 17893 + NonExclusiveLimitAlarmType_AudibleSound_AgencyId = 17894 + NonExclusiveLimitAlarmType_AudibleSound_VersionId = 17895 + NonExclusiveLimitAlarmType_Unsuppress = 17896 + NonExclusiveLimitAlarmType_RemoveFromService = 17897 + NonExclusiveLimitAlarmType_PlaceInService = 17898 + WriterGroupType_Diagnostics_Counters_FailedTransmissions_TimeFirstChange = 17899 + WriterGroupType_Diagnostics_Counters_EncryptionErrors = 17900 + WriterGroupType_Diagnostics_Counters_EncryptionErrors_Active = 17901 + WriterGroupType_Diagnostics_Counters_EncryptionErrors_Classification = 17902 + WriterGroupType_Diagnostics_Counters_EncryptionErrors_DiagnosticsLevel = 17903 + NonExclusiveLevelAlarmType_RemoveFromService = 17904 + NonExclusiveLevelAlarmType_PlaceInService = 17905 + WriterGroupType_Diagnostics_Counters_EncryptionErrors_TimeFirstChange = 17906 + ExclusiveLevelAlarmType_AudibleSound_ListId = 17907 + ExclusiveLevelAlarmType_AudibleSound_AgencyId = 17908 + ExclusiveLevelAlarmType_AudibleSound_VersionId = 17909 + ExclusiveLevelAlarmType_Unsuppress = 17910 + ExclusiveLevelAlarmType_RemoveFromService = 17911 + ExclusiveLevelAlarmType_PlaceInService = 17912 + WriterGroupType_Diagnostics_LiveValues_ConfiguredDataSetWriters = 17913 + NonExclusiveDeviationAlarmType_AudibleSound_ListId = 17914 + NonExclusiveDeviationAlarmType_AudibleSound_AgencyId = 17915 + NonExclusiveDeviationAlarmType_AudibleSound_VersionId = 17916 + NonExclusiveDeviationAlarmType_Unsuppress = 17917 + NonExclusiveDeviationAlarmType_RemoveFromService = 17918 + NonExclusiveDeviationAlarmType_PlaceInService = 17919 + WriterGroupType_Diagnostics_LiveValues_ConfiguredDataSetWriters_DiagnosticsLevel = 17920 + NonExclusiveRateOfChangeAlarmType_AudibleSound_ListId = 17921 + NonExclusiveRateOfChangeAlarmType_AudibleSound_AgencyId = 17922 + NonExclusiveRateOfChangeAlarmType_AudibleSound_VersionId = 17923 + NonExclusiveRateOfChangeAlarmType_Unsuppress = 17924 + NonExclusiveRateOfChangeAlarmType_RemoveFromService = 17925 + NonExclusiveRateOfChangeAlarmType_PlaceInService = 17926 + WriterGroupType_Diagnostics_LiveValues_OperationalDataSetWriters = 17927 + ExclusiveDeviationAlarmType_AudibleSound_ListId = 17928 + ExclusiveDeviationAlarmType_AudibleSound_AgencyId = 17929 + ExclusiveDeviationAlarmType_AudibleSound_VersionId = 17930 + ExclusiveDeviationAlarmType_Unsuppress = 17931 + ExclusiveDeviationAlarmType_RemoveFromService = 17932 + ExclusiveDeviationAlarmType_PlaceInService = 17933 + WriterGroupType_Diagnostics_LiveValues_OperationalDataSetWriters_DiagnosticsLevel = 17934 + ExclusiveRateOfChangeAlarmType_AudibleSound_ListId = 17935 + ExclusiveRateOfChangeAlarmType_AudibleSound_AgencyId = 17936 + ExclusiveRateOfChangeAlarmType_AudibleSound_VersionId = 17937 + ExclusiveRateOfChangeAlarmType_Unsuppress = 17938 + ExclusiveRateOfChangeAlarmType_RemoveFromService = 17939 + ExclusiveRateOfChangeAlarmType_PlaceInService = 17940 + WriterGroupType_Diagnostics_LiveValues_SecurityTokenID = 17941 + DiscreteAlarmType_AudibleSound_ListId = 17942 + DiscreteAlarmType_AudibleSound_AgencyId = 17943 + DiscreteAlarmType_AudibleSound_VersionId = 17944 + DiscreteAlarmType_Unsuppress = 17945 + DiscreteAlarmType_RemoveFromService = 17946 + DiscreteAlarmType_PlaceInService = 17947 + WriterGroupType_Diagnostics_LiveValues_SecurityTokenID_DiagnosticsLevel = 17948 + OffNormalAlarmType_AudibleSound_ListId = 17949 + OffNormalAlarmType_AudibleSound_AgencyId = 17950 + OffNormalAlarmType_AudibleSound_VersionId = 17951 + OffNormalAlarmType_Unsuppress = 17952 + OffNormalAlarmType_RemoveFromService = 17953 + OffNormalAlarmType_PlaceInService = 17954 + WriterGroupType_Diagnostics_LiveValues_TimeToNextTokenID = 17955 + SystemOffNormalAlarmType_AudibleSound_ListId = 17956 + SystemOffNormalAlarmType_AudibleSound_AgencyId = 17957 + SystemOffNormalAlarmType_AudibleSound_VersionId = 17958 + SystemOffNormalAlarmType_Unsuppress = 17959 + SystemOffNormalAlarmType_RemoveFromService = 17960 + SystemOffNormalAlarmType_PlaceInService = 17961 + WriterGroupType_Diagnostics_LiveValues_TimeToNextTokenID_DiagnosticsLevel = 17962 + TripAlarmType_AudibleSound_ListId = 17963 + TripAlarmType_AudibleSound_AgencyId = 17964 + TripAlarmType_AudibleSound_VersionId = 17965 + TripAlarmType_Unsuppress = 17966 + TripAlarmType_RemoveFromService = 17967 + TripAlarmType_PlaceInService = 17968 + WriterGroupType_AddDataSetWriter = 17969 + CertificateExpirationAlarmType_AudibleSound_ListId = 17970 + CertificateExpirationAlarmType_AudibleSound_AgencyId = 17971 + CertificateExpirationAlarmType_AudibleSound_VersionId = 17972 + CertificateExpirationAlarmType_Unsuppress = 17973 + CertificateExpirationAlarmType_RemoveFromService = 17974 + CertificateExpirationAlarmType_PlaceInService = 17975 + WriterGroupType_AddDataSetWriter_InputArguments = 17976 + DiscrepancyAlarmType_AudibleSound_ListId = 17977 + DiscrepancyAlarmType_AudibleSound_AgencyId = 17978 + DiscrepancyAlarmType_AudibleSound_VersionId = 17979 + DiscrepancyAlarmType_Unsuppress = 17980 + DiscrepancyAlarmType_RemoveFromService = 17981 + DiscrepancyAlarmType_PlaceInService = 17982 + HasEffectEnable = 17983 + HasEffectSuppressed = 17984 + HasEffectUnsuppressed = 17985 + AudioVariableType = 17986 + WriterGroupType_AddDataSetWriter_OutputArguments = 17987 + AudioVariableType_ListId = 17988 + AudioVariableType_AgencyId = 17989 + AudioVariableType_VersionId = 17990 + AlarmMetricsType_StartTime = 17991 + WriterGroupType_RemoveDataSetWriter = 17992 + WriterGroupType_RemoveDataSetWriter_InputArguments = 17993 + PubSubGroupTypeAddWriterrMethodType = 17994 + PubSubGroupTypeAddWriterrMethodType_InputArguments = 17995 + PubSubGroupTypeAddWriterrMethodType_OutputArguments = 17996 + WriterGroupTransportType = 17997 + WriterGroupMessageType = 17998 + ReaderGroupType = 17999 + ReaderGroupType_SecurityMode = 18000 + KeyCredentialConfigurationType = 18001 + ReaderGroupType_SecurityGroupId = 18002 + ReaderGroupType_SecurityKeyServices = 18003 + KeyCredentialConfigurationType_EndpointUrls = 18004 + KeyCredentialConfigurationType_ServiceStatus = 18005 + KeyCredentialConfigurationType_UpdateCredential = 18006 + KeyCredentialConfigurationType_UpdateCredential_InputArguments = 18007 + KeyCredentialConfigurationType_DeleteCredential = 18008 + KeyCredentialUpdateMethodType = 18009 + KeyCredentialUpdateMethodType_InputArguments = 18010 + KeyCredentialAuditEventType = 18011 + KeyCredentialAuditEventType_EventId = 18012 + KeyCredentialAuditEventType_EventType = 18013 + KeyCredentialAuditEventType_SourceNode = 18014 + KeyCredentialAuditEventType_SourceName = 18015 + KeyCredentialAuditEventType_Time = 18016 + KeyCredentialAuditEventType_ReceiveTime = 18017 + KeyCredentialAuditEventType_LocalTime = 18018 + KeyCredentialAuditEventType_Message = 18019 + KeyCredentialAuditEventType_Severity = 18020 + KeyCredentialAuditEventType_ActionTimeStamp = 18021 + KeyCredentialAuditEventType_Status = 18022 + KeyCredentialAuditEventType_ServerId = 18023 + KeyCredentialAuditEventType_ClientAuditEntryId = 18024 + KeyCredentialAuditEventType_ClientUserId = 18025 + KeyCredentialAuditEventType_MethodId = 18026 + KeyCredentialAuditEventType_InputArguments = 18027 + KeyCredentialAuditEventType_ResourceUri = 18028 + KeyCredentialUpdatedAuditEventType = 18029 + KeyCredentialUpdatedAuditEventType_EventId = 18030 + KeyCredentialUpdatedAuditEventType_EventType = 18031 + KeyCredentialUpdatedAuditEventType_SourceNode = 18032 + KeyCredentialUpdatedAuditEventType_SourceName = 18033 + KeyCredentialUpdatedAuditEventType_Time = 18034 + KeyCredentialUpdatedAuditEventType_ReceiveTime = 18035 + KeyCredentialUpdatedAuditEventType_LocalTime = 18036 + KeyCredentialUpdatedAuditEventType_Message = 18037 + KeyCredentialUpdatedAuditEventType_Severity = 18038 + KeyCredentialUpdatedAuditEventType_ActionTimeStamp = 18039 + KeyCredentialUpdatedAuditEventType_Status = 18040 + KeyCredentialUpdatedAuditEventType_ServerId = 18041 + KeyCredentialUpdatedAuditEventType_ClientAuditEntryId = 18042 + KeyCredentialUpdatedAuditEventType_ClientUserId = 18043 + KeyCredentialUpdatedAuditEventType_MethodId = 18044 + KeyCredentialUpdatedAuditEventType_InputArguments = 18045 + KeyCredentialUpdatedAuditEventType_ResourceUri = 18046 + KeyCredentialDeletedAuditEventType = 18047 + KeyCredentialDeletedAuditEventType_EventId = 18048 + KeyCredentialDeletedAuditEventType_EventType = 18049 + KeyCredentialDeletedAuditEventType_SourceNode = 18050 + KeyCredentialDeletedAuditEventType_SourceName = 18051 + KeyCredentialDeletedAuditEventType_Time = 18052 + KeyCredentialDeletedAuditEventType_ReceiveTime = 18053 + KeyCredentialDeletedAuditEventType_LocalTime = 18054 + KeyCredentialDeletedAuditEventType_Message = 18055 + KeyCredentialDeletedAuditEventType_Severity = 18056 + KeyCredentialDeletedAuditEventType_ActionTimeStamp = 18057 + KeyCredentialDeletedAuditEventType_Status = 18058 + KeyCredentialDeletedAuditEventType_ServerId = 18059 + KeyCredentialDeletedAuditEventType_ClientAuditEntryId = 18060 + KeyCredentialDeletedAuditEventType_ClientUserId = 18061 + KeyCredentialDeletedAuditEventType_MethodId = 18062 + KeyCredentialDeletedAuditEventType_InputArguments = 18063 + KeyCredentialDeletedAuditEventType_ResourceUri = 18064 + ReaderGroupType_MaxNetworkMessageSize = 18065 + AuthorizationServices_ServiceName_Placeholder_ServiceCertificate = 18066 + ReaderGroupType_Status = 18067 + ReaderGroupType_Status_State = 18068 + KeyCredentialConfigurationType_ResourceUri = 18069 + AuthorizationServices_ServiceName_Placeholder_ServiceUri = 18070 + AuthorizationServices_ServiceName_Placeholder_IssuerEndpointUrl = 18071 + AuthorizationServiceConfigurationType_ServiceUri = 18072 + AuthorizationServiceConfigurationType_IssuerEndpointUrl = 18073 + ReaderGroupType_Status_Enable = 18074 + ReaderGroupType_Status_Disable = 18075 + ReaderGroupType_DataSetReaderName_Placeholder = 18076 + ReaderGroupType_DataSetReaderName_Placeholder_PublisherId = 18077 + ReaderGroupType_DataSetReaderName_Placeholder_WriterGroupId = 18078 + ReaderGroupType_DataSetReaderName_Placeholder_DataSetWriterId = 18079 + ReaderGroupType_DataSetReaderName_Placeholder_DataSetMetaData = 18080 + ReaderGroupType_DataSetReaderName_Placeholder_DataSetFieldContentMask = 18081 + ReaderGroupType_DataSetReaderName_Placeholder_MessageReceiveTimeout = 18082 + ReaderGroupType_DataSetReaderName_Placeholder_SecurityMode = 18083 + ReaderGroupType_DataSetReaderName_Placeholder_SecurityGroupId = 18084 + ReaderGroupType_DataSetReaderName_Placeholder_SecurityKeyServices = 18085 + ReaderGroupType_DataSetReaderName_Placeholder_TransportSettings = 18086 + ReaderGroupType_DataSetReaderName_Placeholder_MessageSettings = 18087 + ReaderGroupType_DataSetReaderName_Placeholder_Status = 18088 + ReaderGroupType_DataSetReaderName_Placeholder_Status_State = 18089 + ReaderGroupType_DataSetReaderName_Placeholder_Status_Enable = 18090 + ReaderGroupType_DataSetReaderName_Placeholder_Status_Disable = 18091 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics = 18092 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_DiagnosticsLevel = 18093 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_TotalInformation = 18094 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_TotalInformation_Active = 18095 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_TotalInformation_Classification = 18096 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_TotalInformation_DiagnosticsLevel = 18097 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_TotalInformation_TimeFirstChange = 18098 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_TotalError = 18099 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_TotalError_Active = 18100 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_TotalError_Classification = 18101 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_TotalError_DiagnosticsLevel = 18102 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_TotalError_TimeFirstChange = 18103 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Reset = 18104 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_SubError = 18105 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters = 18106 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateError = 18107 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateError_Active = 18108 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateError_Classification = 18109 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateError_DiagnosticsLevel = 18110 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateError_TimeFirstChange = 18111 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateOperationalByMethod = 18112 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Active = 18113 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Classification = 18114 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_DiagnosticsLevel = 18115 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_TimeFirstChange = 18116 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateOperationalByParent = 18117 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Active = 18118 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Classification = 18119 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateOperationalByParent_DiagnosticsLevel = 18120 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateOperationalByParent_TimeFirstChange = 18121 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateOperationalFromError = 18122 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Active = 18123 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Classification = 18124 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateOperationalFromError_DiagnosticsLevel = 18125 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateOperationalFromError_TimeFirstChange = 18126 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StatePausedByParent = 18127 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StatePausedByParent_Active = 18128 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StatePausedByParent_Classification = 18129 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StatePausedByParent_DiagnosticsLevel = 18130 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StatePausedByParent_TimeFirstChange = 18131 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateDisabledByMethod = 18132 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Active = 18133 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Classification = 18134 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_DiagnosticsLevel = 18135 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_TimeFirstChange = 18136 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_LiveValues = 18137 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_FailedDataSetMessages = 18138 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_Active = 18139 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_Classification = 18140 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_DiagnosticsLevel = 18141 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_TimeFirstChange = 18142 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_DecryptionErrors = 18143 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_DecryptionErrors_Active = 18144 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_DecryptionErrors_Classification = 18145 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_DecryptionErrors_DiagnosticsLevel = 18146 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_DecryptionErrors_TimeFirstChange = 18147 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_LiveValues_MessageSequenceNumber = 18148 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_LiveValues_MessageSequenceNumber_DiagnosticsLevel = 18149 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_LiveValues_StatusCode = 18150 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_LiveValues_StatusCode_DiagnosticsLevel = 18151 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_LiveValues_MajorVersion = 18152 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_LiveValues_MajorVersion_DiagnosticsLevel = 18153 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_LiveValues_MinorVersion = 18154 + KeyCredentialConfiguration = 18155 + KeyCredentialConfiguration_ServiceName_Placeholder = 18156 + KeyCredentialConfiguration_ServiceName_Placeholder_ResourceUri = 18157 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_LiveValues_MinorVersion_DiagnosticsLevel = 18158 + KeyCredentialConfiguration_ServiceName_Placeholder_EndpointUrls = 18159 + KeyCredentialConfiguration_ServiceName_Placeholder_ServiceStatus = 18160 + KeyCredentialConfiguration_ServiceName_Placeholder_UpdateCredential = 18161 + KeyCredentialConfiguration_ServiceName_Placeholder_UpdateCredential_InputArguments = 18162 + KeyCredentialConfiguration_ServiceName_Placeholder_DeleteCredential = 18163 + KeyCredentialConfiguration_ServiceName_Placeholder_ProfileUri = 18164 + KeyCredentialConfigurationType_ProfileUri = 18165 + OpcUa_XmlSchema_DataTypeDefinition = 18166 + OpcUa_XmlSchema_DataTypeDefinition_DataTypeVersion = 18167 + OpcUa_XmlSchema_DataTypeDefinition_DictionaryFragment = 18168 + OpcUa_XmlSchema_StructureField = 18169 + OpcUa_XmlSchema_StructureField_DataTypeVersion = 18170 + OpcUa_XmlSchema_StructureField_DictionaryFragment = 18171 + OpcUa_XmlSchema_StructureDefinition = 18172 + OpcUa_XmlSchema_StructureDefinition_DataTypeVersion = 18173 + OpcUa_XmlSchema_StructureDefinition_DictionaryFragment = 18174 + OpcUa_XmlSchema_EnumDefinition = 18175 + OpcUa_XmlSchema_EnumDefinition_DataTypeVersion = 18176 + OpcUa_XmlSchema_EnumDefinition_DictionaryFragment = 18177 + OpcUa_BinarySchema_DataTypeDefinition = 18178 + OpcUa_BinarySchema_DataTypeDefinition_DataTypeVersion = 18179 + OpcUa_BinarySchema_DataTypeDefinition_DictionaryFragment = 18180 + OpcUa_BinarySchema_StructureField = 18181 + OpcUa_BinarySchema_StructureField_DataTypeVersion = 18182 + OpcUa_BinarySchema_StructureField_DictionaryFragment = 18183 + OpcUa_BinarySchema_StructureDefinition = 18184 + OpcUa_BinarySchema_StructureDefinition_DataTypeVersion = 18185 + OpcUa_BinarySchema_StructureDefinition_DictionaryFragment = 18186 + OpcUa_BinarySchema_EnumDefinition = 18187 + OpcUa_BinarySchema_EnumDefinition_DataTypeVersion = 18188 + OpcUa_BinarySchema_EnumDefinition_DictionaryFragment = 18189 + AlarmConditionType_LatchedState = 18190 + AlarmConditionType_LatchedState_Id = 18191 + AlarmConditionType_LatchedState_Name = 18192 + AlarmConditionType_LatchedState_Number = 18193 + AlarmConditionType_LatchedState_EffectiveDisplayName = 18194 + AlarmConditionType_LatchedState_TransitionTime = 18195 + AlarmConditionType_LatchedState_EffectiveTransitionTime = 18196 + AlarmConditionType_LatchedState_TrueState = 18197 + AlarmConditionType_LatchedState_FalseState = 18198 + AlarmConditionType_Reset = 18199 + AlarmGroupType_AlarmConditionInstance_Placeholder_AudibleSound_ListId = 18200 + AlarmGroupType_AlarmConditionInstance_Placeholder_AudibleSound_AgencyId = 18201 + AlarmGroupType_AlarmConditionInstance_Placeholder_AudibleSound_VersionId = 18202 + AlarmGroupType_AlarmConditionInstance_Placeholder_LatchedState = 18203 + AlarmGroupType_AlarmConditionInstance_Placeholder_LatchedState_Id = 18204 + AlarmGroupType_AlarmConditionInstance_Placeholder_LatchedState_Name = 18205 + AlarmGroupType_AlarmConditionInstance_Placeholder_LatchedState_Number = 18206 + AlarmGroupType_AlarmConditionInstance_Placeholder_LatchedState_EffectiveDisplayName = 18207 + AlarmGroupType_AlarmConditionInstance_Placeholder_LatchedState_TransitionTime = 18208 + AlarmGroupType_AlarmConditionInstance_Placeholder_LatchedState_EffectiveTransitionTime = 18209 + AlarmGroupType_AlarmConditionInstance_Placeholder_LatchedState_TrueState = 18210 + AlarmGroupType_AlarmConditionInstance_Placeholder_LatchedState_FalseState = 18211 + AlarmGroupType_AlarmConditionInstance_Placeholder_Reset = 18212 + LimitAlarmType_LatchedState = 18213 + LimitAlarmType_LatchedState_Id = 18214 + LimitAlarmType_LatchedState_Name = 18215 + LimitAlarmType_LatchedState_Number = 18216 + LimitAlarmType_LatchedState_EffectiveDisplayName = 18217 + LimitAlarmType_LatchedState_TransitionTime = 18218 + LimitAlarmType_LatchedState_EffectiveTransitionTime = 18219 + LimitAlarmType_LatchedState_TrueState = 18220 + LimitAlarmType_LatchedState_FalseState = 18221 + LimitAlarmType_Reset = 18222 + ExclusiveLimitAlarmType_LatchedState = 18223 + ExclusiveLimitAlarmType_LatchedState_Id = 18224 + ExclusiveLimitAlarmType_LatchedState_Name = 18225 + ExclusiveLimitAlarmType_LatchedState_Number = 18226 + ExclusiveLimitAlarmType_LatchedState_EffectiveDisplayName = 18227 + ExclusiveLimitAlarmType_LatchedState_TransitionTime = 18228 + ExclusiveLimitAlarmType_LatchedState_EffectiveTransitionTime = 18229 + ExclusiveLimitAlarmType_LatchedState_TrueState = 18230 + ExclusiveLimitAlarmType_LatchedState_FalseState = 18231 + ExclusiveLimitAlarmType_Reset = 18232 + NonExclusiveLimitAlarmType_LatchedState = 18233 + NonExclusiveLimitAlarmType_LatchedState_Id = 18234 + NonExclusiveLimitAlarmType_LatchedState_Name = 18235 + NonExclusiveLimitAlarmType_LatchedState_Number = 18236 + NonExclusiveLimitAlarmType_LatchedState_EffectiveDisplayName = 18237 + NonExclusiveLimitAlarmType_LatchedState_TransitionTime = 18238 + NonExclusiveLimitAlarmType_LatchedState_EffectiveTransitionTime = 18239 + NonExclusiveLimitAlarmType_LatchedState_TrueState = 18240 + NonExclusiveLimitAlarmType_LatchedState_FalseState = 18241 + NonExclusiveLimitAlarmType_Reset = 18242 + NonExclusiveLevelAlarmType_AudibleSound_ListId = 18243 + NonExclusiveLevelAlarmType_AudibleSound_AgencyId = 18244 + NonExclusiveLevelAlarmType_AudibleSound_VersionId = 18245 + NonExclusiveLevelAlarmType_LatchedState = 18246 + NonExclusiveLevelAlarmType_LatchedState_Id = 18247 + NonExclusiveLevelAlarmType_LatchedState_Name = 18248 + NonExclusiveLevelAlarmType_LatchedState_Number = 18249 + NonExclusiveLevelAlarmType_LatchedState_EffectiveDisplayName = 18250 + NonExclusiveLevelAlarmType_LatchedState_TransitionTime = 18251 + NonExclusiveLevelAlarmType_LatchedState_EffectiveTransitionTime = 18252 + NonExclusiveLevelAlarmType_LatchedState_TrueState = 18253 + NonExclusiveLevelAlarmType_LatchedState_FalseState = 18254 + NonExclusiveLevelAlarmType_Unsuppress = 18255 + NonExclusiveLevelAlarmType_Reset = 18256 + ExclusiveLevelAlarmType_LatchedState = 18257 + ExclusiveLevelAlarmType_LatchedState_Id = 18258 + ExclusiveLevelAlarmType_LatchedState_Name = 18259 + ExclusiveLevelAlarmType_LatchedState_Number = 18260 + ExclusiveLevelAlarmType_LatchedState_EffectiveDisplayName = 18261 + ExclusiveLevelAlarmType_LatchedState_TransitionTime = 18262 + ExclusiveLevelAlarmType_LatchedState_EffectiveTransitionTime = 18263 + ExclusiveLevelAlarmType_LatchedState_TrueState = 18264 + ExclusiveLevelAlarmType_LatchedState_FalseState = 18265 + ExclusiveLevelAlarmType_Reset = 18266 + NonExclusiveDeviationAlarmType_LatchedState = 18267 + NonExclusiveDeviationAlarmType_LatchedState_Id = 18268 + NonExclusiveDeviationAlarmType_LatchedState_Name = 18269 + NonExclusiveDeviationAlarmType_LatchedState_Number = 18270 + NonExclusiveDeviationAlarmType_LatchedState_EffectiveDisplayName = 18271 + NonExclusiveDeviationAlarmType_LatchedState_TransitionTime = 18272 + NonExclusiveDeviationAlarmType_LatchedState_EffectiveTransitionTime = 18273 + NonExclusiveDeviationAlarmType_LatchedState_TrueState = 18274 + NonExclusiveDeviationAlarmType_LatchedState_FalseState = 18275 + NonExclusiveDeviationAlarmType_Reset = 18276 + NonExclusiveRateOfChangeAlarmType_LatchedState = 18277 + NonExclusiveRateOfChangeAlarmType_LatchedState_Id = 18278 + NonExclusiveRateOfChangeAlarmType_LatchedState_Name = 18279 + NonExclusiveRateOfChangeAlarmType_LatchedState_Number = 18280 + NonExclusiveRateOfChangeAlarmType_LatchedState_EffectiveDisplayName = 18281 + NonExclusiveRateOfChangeAlarmType_LatchedState_TransitionTime = 18282 + NonExclusiveRateOfChangeAlarmType_LatchedState_EffectiveTransitionTime = 18283 + NonExclusiveRateOfChangeAlarmType_LatchedState_TrueState = 18284 + NonExclusiveRateOfChangeAlarmType_LatchedState_FalseState = 18285 + NonExclusiveRateOfChangeAlarmType_Reset = 18286 + ExclusiveDeviationAlarmType_LatchedState = 18287 + ExclusiveDeviationAlarmType_LatchedState_Id = 18288 + ExclusiveDeviationAlarmType_LatchedState_Name = 18289 + ExclusiveDeviationAlarmType_LatchedState_Number = 18290 + ExclusiveDeviationAlarmType_LatchedState_EffectiveDisplayName = 18291 + ExclusiveDeviationAlarmType_LatchedState_TransitionTime = 18292 + ExclusiveDeviationAlarmType_LatchedState_EffectiveTransitionTime = 18293 + ExclusiveDeviationAlarmType_LatchedState_TrueState = 18294 + ExclusiveDeviationAlarmType_LatchedState_FalseState = 18295 + ExclusiveDeviationAlarmType_Reset = 18296 + ExclusiveRateOfChangeAlarmType_LatchedState = 18297 + ExclusiveRateOfChangeAlarmType_LatchedState_Id = 18298 + ExclusiveRateOfChangeAlarmType_LatchedState_Name = 18299 + ExclusiveRateOfChangeAlarmType_LatchedState_Number = 18300 + ExclusiveRateOfChangeAlarmType_LatchedState_EffectiveDisplayName = 18301 + ExclusiveRateOfChangeAlarmType_LatchedState_TransitionTime = 18302 + ExclusiveRateOfChangeAlarmType_LatchedState_EffectiveTransitionTime = 18303 + ExclusiveRateOfChangeAlarmType_LatchedState_TrueState = 18304 + ExclusiveRateOfChangeAlarmType_LatchedState_FalseState = 18305 + ExclusiveRateOfChangeAlarmType_Reset = 18306 + DiscreteAlarmType_LatchedState = 18307 + DiscreteAlarmType_LatchedState_Id = 18308 + DiscreteAlarmType_LatchedState_Name = 18309 + DiscreteAlarmType_LatchedState_Number = 18310 + DiscreteAlarmType_LatchedState_EffectiveDisplayName = 18311 + DiscreteAlarmType_LatchedState_TransitionTime = 18312 + DiscreteAlarmType_LatchedState_EffectiveTransitionTime = 18313 + DiscreteAlarmType_LatchedState_TrueState = 18314 + DiscreteAlarmType_LatchedState_FalseState = 18315 + DiscreteAlarmType_Reset = 18316 + OffNormalAlarmType_LatchedState = 18317 + OffNormalAlarmType_LatchedState_Id = 18318 + OffNormalAlarmType_LatchedState_Name = 18319 + OffNormalAlarmType_LatchedState_Number = 18320 + OffNormalAlarmType_LatchedState_EffectiveDisplayName = 18321 + OffNormalAlarmType_LatchedState_TransitionTime = 18322 + OffNormalAlarmType_LatchedState_EffectiveTransitionTime = 18323 + OffNormalAlarmType_LatchedState_TrueState = 18324 + OffNormalAlarmType_LatchedState_FalseState = 18325 + OffNormalAlarmType_Reset = 18326 + SystemOffNormalAlarmType_LatchedState = 18327 + SystemOffNormalAlarmType_LatchedState_Id = 18328 + SystemOffNormalAlarmType_LatchedState_Name = 18329 + SystemOffNormalAlarmType_LatchedState_Number = 18330 + SystemOffNormalAlarmType_LatchedState_EffectiveDisplayName = 18331 + SystemOffNormalAlarmType_LatchedState_TransitionTime = 18332 + SystemOffNormalAlarmType_LatchedState_EffectiveTransitionTime = 18333 + SystemOffNormalAlarmType_LatchedState_TrueState = 18334 + SystemOffNormalAlarmType_LatchedState_FalseState = 18335 + SystemOffNormalAlarmType_Reset = 18336 + TripAlarmType_LatchedState = 18337 + TripAlarmType_LatchedState_Id = 18338 + TripAlarmType_LatchedState_Name = 18339 + TripAlarmType_LatchedState_Number = 18340 + TripAlarmType_LatchedState_EffectiveDisplayName = 18341 + TripAlarmType_LatchedState_TransitionTime = 18342 + TripAlarmType_LatchedState_EffectiveTransitionTime = 18343 + TripAlarmType_LatchedState_TrueState = 18344 + TripAlarmType_LatchedState_FalseState = 18345 + TripAlarmType_Reset = 18346 + InstrumentDiagnosticAlarmType = 18347 + InstrumentDiagnosticAlarmType_EventId = 18348 + InstrumentDiagnosticAlarmType_EventType = 18349 + InstrumentDiagnosticAlarmType_SourceNode = 18350 + InstrumentDiagnosticAlarmType_SourceName = 18351 + InstrumentDiagnosticAlarmType_Time = 18352 + InstrumentDiagnosticAlarmType_ReceiveTime = 18353 + InstrumentDiagnosticAlarmType_LocalTime = 18354 + InstrumentDiagnosticAlarmType_Message = 18355 + InstrumentDiagnosticAlarmType_Severity = 18356 + InstrumentDiagnosticAlarmType_ConditionClassId = 18357 + InstrumentDiagnosticAlarmType_ConditionClassName = 18358 + InstrumentDiagnosticAlarmType_ConditionSubClassId = 18359 + InstrumentDiagnosticAlarmType_ConditionSubClassName = 18360 + InstrumentDiagnosticAlarmType_ConditionName = 18361 + InstrumentDiagnosticAlarmType_BranchId = 18362 + InstrumentDiagnosticAlarmType_Retain = 18363 + InstrumentDiagnosticAlarmType_EnabledState = 18364 + InstrumentDiagnosticAlarmType_EnabledState_Id = 18365 + InstrumentDiagnosticAlarmType_EnabledState_Name = 18366 + InstrumentDiagnosticAlarmType_EnabledState_Number = 18367 + InstrumentDiagnosticAlarmType_EnabledState_EffectiveDisplayName = 18368 + InstrumentDiagnosticAlarmType_EnabledState_TransitionTime = 18369 + InstrumentDiagnosticAlarmType_EnabledState_EffectiveTransitionTime = 18370 + InstrumentDiagnosticAlarmType_EnabledState_TrueState = 18371 + InstrumentDiagnosticAlarmType_EnabledState_FalseState = 18372 + InstrumentDiagnosticAlarmType_Quality = 18373 + InstrumentDiagnosticAlarmType_Quality_SourceTimestamp = 18374 + InstrumentDiagnosticAlarmType_LastSeverity = 18375 + InstrumentDiagnosticAlarmType_LastSeverity_SourceTimestamp = 18376 + InstrumentDiagnosticAlarmType_Comment = 18377 + InstrumentDiagnosticAlarmType_Comment_SourceTimestamp = 18378 + InstrumentDiagnosticAlarmType_ClientUserId = 18379 + InstrumentDiagnosticAlarmType_Disable = 18380 + InstrumentDiagnosticAlarmType_Enable = 18381 + InstrumentDiagnosticAlarmType_AddComment = 18382 + InstrumentDiagnosticAlarmType_AddComment_InputArguments = 18383 + InstrumentDiagnosticAlarmType_ConditionRefresh = 18384 + InstrumentDiagnosticAlarmType_ConditionRefresh_InputArguments = 18385 + InstrumentDiagnosticAlarmType_ConditionRefresh2 = 18386 + InstrumentDiagnosticAlarmType_ConditionRefresh2_InputArguments = 18387 + InstrumentDiagnosticAlarmType_AckedState = 18388 + InstrumentDiagnosticAlarmType_AckedState_Id = 18389 + InstrumentDiagnosticAlarmType_AckedState_Name = 18390 + InstrumentDiagnosticAlarmType_AckedState_Number = 18391 + InstrumentDiagnosticAlarmType_AckedState_EffectiveDisplayName = 18392 + InstrumentDiagnosticAlarmType_AckedState_TransitionTime = 18393 + InstrumentDiagnosticAlarmType_AckedState_EffectiveTransitionTime = 18394 + InstrumentDiagnosticAlarmType_AckedState_TrueState = 18395 + InstrumentDiagnosticAlarmType_AckedState_FalseState = 18396 + InstrumentDiagnosticAlarmType_ConfirmedState = 18397 + InstrumentDiagnosticAlarmType_ConfirmedState_Id = 18398 + InstrumentDiagnosticAlarmType_ConfirmedState_Name = 18399 + InstrumentDiagnosticAlarmType_ConfirmedState_Number = 18400 + InstrumentDiagnosticAlarmType_ConfirmedState_EffectiveDisplayName = 18401 + InstrumentDiagnosticAlarmType_ConfirmedState_TransitionTime = 18402 + InstrumentDiagnosticAlarmType_ConfirmedState_EffectiveTransitionTime = 18403 + InstrumentDiagnosticAlarmType_ConfirmedState_TrueState = 18404 + InstrumentDiagnosticAlarmType_ConfirmedState_FalseState = 18405 + InstrumentDiagnosticAlarmType_Acknowledge = 18406 + InstrumentDiagnosticAlarmType_Acknowledge_InputArguments = 18407 + InstrumentDiagnosticAlarmType_Confirm = 18408 + InstrumentDiagnosticAlarmType_Confirm_InputArguments = 18409 + InstrumentDiagnosticAlarmType_ActiveState = 18410 + InstrumentDiagnosticAlarmType_ActiveState_Id = 18411 + InstrumentDiagnosticAlarmType_ActiveState_Name = 18412 + InstrumentDiagnosticAlarmType_ActiveState_Number = 18413 + InstrumentDiagnosticAlarmType_ActiveState_EffectiveDisplayName = 18414 + InstrumentDiagnosticAlarmType_ActiveState_TransitionTime = 18415 + InstrumentDiagnosticAlarmType_ActiveState_EffectiveTransitionTime = 18416 + InstrumentDiagnosticAlarmType_ActiveState_TrueState = 18417 + InstrumentDiagnosticAlarmType_ActiveState_FalseState = 18418 + InstrumentDiagnosticAlarmType_InputNode = 18419 + InstrumentDiagnosticAlarmType_SuppressedState = 18420 + InstrumentDiagnosticAlarmType_SuppressedState_Id = 18421 + InstrumentDiagnosticAlarmType_SuppressedState_Name = 18422 + InstrumentDiagnosticAlarmType_SuppressedState_Number = 18423 + InstrumentDiagnosticAlarmType_SuppressedState_EffectiveDisplayName = 18424 + InstrumentDiagnosticAlarmType_SuppressedState_TransitionTime = 18425 + InstrumentDiagnosticAlarmType_SuppressedState_EffectiveTransitionTime = 18426 + InstrumentDiagnosticAlarmType_SuppressedState_TrueState = 18427 + InstrumentDiagnosticAlarmType_SuppressedState_FalseState = 18428 + InstrumentDiagnosticAlarmType_OutOfServiceState = 18429 + InstrumentDiagnosticAlarmType_OutOfServiceState_Id = 18430 + InstrumentDiagnosticAlarmType_OutOfServiceState_Name = 18431 + InstrumentDiagnosticAlarmType_OutOfServiceState_Number = 18432 + InstrumentDiagnosticAlarmType_OutOfServiceState_EffectiveDisplayName = 18433 + InstrumentDiagnosticAlarmType_OutOfServiceState_TransitionTime = 18434 + InstrumentDiagnosticAlarmType_OutOfServiceState_EffectiveTransitionTime = 18435 + InstrumentDiagnosticAlarmType_OutOfServiceState_TrueState = 18436 + InstrumentDiagnosticAlarmType_OutOfServiceState_FalseState = 18437 + InstrumentDiagnosticAlarmType_ShelvingState = 18438 + InstrumentDiagnosticAlarmType_ShelvingState_CurrentState = 18439 + InstrumentDiagnosticAlarmType_ShelvingState_CurrentState_Id = 18440 + InstrumentDiagnosticAlarmType_ShelvingState_CurrentState_Name = 18441 + InstrumentDiagnosticAlarmType_ShelvingState_CurrentState_Number = 18442 + InstrumentDiagnosticAlarmType_ShelvingState_CurrentState_EffectiveDisplayName = 18443 + InstrumentDiagnosticAlarmType_ShelvingState_LastTransition = 18444 + InstrumentDiagnosticAlarmType_ShelvingState_LastTransition_Id = 18445 + InstrumentDiagnosticAlarmType_ShelvingState_LastTransition_Name = 18446 + InstrumentDiagnosticAlarmType_ShelvingState_LastTransition_Number = 18447 + InstrumentDiagnosticAlarmType_ShelvingState_LastTransition_TransitionTime = 18448 + InstrumentDiagnosticAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime = 18449 + InstrumentDiagnosticAlarmType_ShelvingState_AvailableStates = 18450 + InstrumentDiagnosticAlarmType_ShelvingState_AvailableTransitions = 18451 + InstrumentDiagnosticAlarmType_ShelvingState_UnshelveTime = 18452 + InstrumentDiagnosticAlarmType_ShelvingState_TimedShelve = 18453 + InstrumentDiagnosticAlarmType_ShelvingState_TimedShelve_InputArguments = 18454 + InstrumentDiagnosticAlarmType_ShelvingState_Unshelve = 18455 + InstrumentDiagnosticAlarmType_ShelvingState_OneShotShelve = 18456 + InstrumentDiagnosticAlarmType_SuppressedOrShelved = 18457 + InstrumentDiagnosticAlarmType_MaxTimeShelved = 18458 + InstrumentDiagnosticAlarmType_AudibleEnabled = 18459 + InstrumentDiagnosticAlarmType_AudibleSound = 18460 + InstrumentDiagnosticAlarmType_AudibleSound_ListId = 18461 + InstrumentDiagnosticAlarmType_AudibleSound_AgencyId = 18462 + InstrumentDiagnosticAlarmType_AudibleSound_VersionId = 18463 + InstrumentDiagnosticAlarmType_SilenceState = 18464 + InstrumentDiagnosticAlarmType_SilenceState_Id = 18465 + InstrumentDiagnosticAlarmType_SilenceState_Name = 18466 + InstrumentDiagnosticAlarmType_SilenceState_Number = 18467 + InstrumentDiagnosticAlarmType_SilenceState_EffectiveDisplayName = 18468 + InstrumentDiagnosticAlarmType_SilenceState_TransitionTime = 18469 + InstrumentDiagnosticAlarmType_SilenceState_EffectiveTransitionTime = 18470 + InstrumentDiagnosticAlarmType_SilenceState_TrueState = 18471 + InstrumentDiagnosticAlarmType_SilenceState_FalseState = 18472 + InstrumentDiagnosticAlarmType_OnDelay = 18473 + InstrumentDiagnosticAlarmType_OffDelay = 18474 + InstrumentDiagnosticAlarmType_FirstInGroupFlag = 18475 + InstrumentDiagnosticAlarmType_FirstInGroup = 18476 + InstrumentDiagnosticAlarmType_LatchedState = 18477 + InstrumentDiagnosticAlarmType_LatchedState_Id = 18478 + InstrumentDiagnosticAlarmType_LatchedState_Name = 18479 + InstrumentDiagnosticAlarmType_LatchedState_Number = 18480 + InstrumentDiagnosticAlarmType_LatchedState_EffectiveDisplayName = 18481 + InstrumentDiagnosticAlarmType_LatchedState_TransitionTime = 18482 + InstrumentDiagnosticAlarmType_LatchedState_EffectiveTransitionTime = 18483 + InstrumentDiagnosticAlarmType_LatchedState_TrueState = 18484 + InstrumentDiagnosticAlarmType_LatchedState_FalseState = 18485 + InstrumentDiagnosticAlarmType_AlarmGroup_Placeholder = 18486 + InstrumentDiagnosticAlarmType_ReAlarmTime = 18487 + InstrumentDiagnosticAlarmType_ReAlarmRepeatCount = 18488 + InstrumentDiagnosticAlarmType_Silence = 18489 + InstrumentDiagnosticAlarmType_Suppress = 18490 + InstrumentDiagnosticAlarmType_Unsuppress = 18491 + InstrumentDiagnosticAlarmType_RemoveFromService = 18492 + InstrumentDiagnosticAlarmType_PlaceInService = 18493 + InstrumentDiagnosticAlarmType_Reset = 18494 + InstrumentDiagnosticAlarmType_NormalState = 18495 + SystemDiagnosticAlarmType = 18496 + SystemDiagnosticAlarmType_EventId = 18497 + SystemDiagnosticAlarmType_EventType = 18498 + SystemDiagnosticAlarmType_SourceNode = 18499 + SystemDiagnosticAlarmType_SourceName = 18500 + SystemDiagnosticAlarmType_Time = 18501 + SystemDiagnosticAlarmType_ReceiveTime = 18502 + SystemDiagnosticAlarmType_LocalTime = 18503 + SystemDiagnosticAlarmType_Message = 18504 + SystemDiagnosticAlarmType_Severity = 18505 + SystemDiagnosticAlarmType_ConditionClassId = 18506 + SystemDiagnosticAlarmType_ConditionClassName = 18507 + SystemDiagnosticAlarmType_ConditionSubClassId = 18508 + SystemDiagnosticAlarmType_ConditionSubClassName = 18509 + SystemDiagnosticAlarmType_ConditionName = 18510 + SystemDiagnosticAlarmType_BranchId = 18511 + SystemDiagnosticAlarmType_Retain = 18512 + SystemDiagnosticAlarmType_EnabledState = 18513 + SystemDiagnosticAlarmType_EnabledState_Id = 18514 + SystemDiagnosticAlarmType_EnabledState_Name = 18515 + SystemDiagnosticAlarmType_EnabledState_Number = 18516 + SystemDiagnosticAlarmType_EnabledState_EffectiveDisplayName = 18517 + SystemDiagnosticAlarmType_EnabledState_TransitionTime = 18518 + SystemDiagnosticAlarmType_EnabledState_EffectiveTransitionTime = 18519 + SystemDiagnosticAlarmType_EnabledState_TrueState = 18520 + SystemDiagnosticAlarmType_EnabledState_FalseState = 18521 + SystemDiagnosticAlarmType_Quality = 18522 + SystemDiagnosticAlarmType_Quality_SourceTimestamp = 18523 + SystemDiagnosticAlarmType_LastSeverity = 18524 + SystemDiagnosticAlarmType_LastSeverity_SourceTimestamp = 18525 + SystemDiagnosticAlarmType_Comment = 18526 + SystemDiagnosticAlarmType_Comment_SourceTimestamp = 18527 + SystemDiagnosticAlarmType_ClientUserId = 18528 + SystemDiagnosticAlarmType_Disable = 18529 + SystemDiagnosticAlarmType_Enable = 18530 + SystemDiagnosticAlarmType_AddComment = 18531 + SystemDiagnosticAlarmType_AddComment_InputArguments = 18532 + SystemDiagnosticAlarmType_ConditionRefresh = 18533 + SystemDiagnosticAlarmType_ConditionRefresh_InputArguments = 18534 + SystemDiagnosticAlarmType_ConditionRefresh2 = 18535 + SystemDiagnosticAlarmType_ConditionRefresh2_InputArguments = 18536 + SystemDiagnosticAlarmType_AckedState = 18537 + SystemDiagnosticAlarmType_AckedState_Id = 18538 + SystemDiagnosticAlarmType_AckedState_Name = 18539 + SystemDiagnosticAlarmType_AckedState_Number = 18540 + SystemDiagnosticAlarmType_AckedState_EffectiveDisplayName = 18541 + SystemDiagnosticAlarmType_AckedState_TransitionTime = 18542 + SystemDiagnosticAlarmType_AckedState_EffectiveTransitionTime = 18543 + SystemDiagnosticAlarmType_AckedState_TrueState = 18544 + SystemDiagnosticAlarmType_AckedState_FalseState = 18545 + SystemDiagnosticAlarmType_ConfirmedState = 18546 + SystemDiagnosticAlarmType_ConfirmedState_Id = 18547 + SystemDiagnosticAlarmType_ConfirmedState_Name = 18548 + SystemDiagnosticAlarmType_ConfirmedState_Number = 18549 + SystemDiagnosticAlarmType_ConfirmedState_EffectiveDisplayName = 18550 + SystemDiagnosticAlarmType_ConfirmedState_TransitionTime = 18551 + SystemDiagnosticAlarmType_ConfirmedState_EffectiveTransitionTime = 18552 + SystemDiagnosticAlarmType_ConfirmedState_TrueState = 18553 + SystemDiagnosticAlarmType_ConfirmedState_FalseState = 18554 + SystemDiagnosticAlarmType_Acknowledge = 18555 + SystemDiagnosticAlarmType_Acknowledge_InputArguments = 18556 + SystemDiagnosticAlarmType_Confirm = 18557 + SystemDiagnosticAlarmType_Confirm_InputArguments = 18558 + SystemDiagnosticAlarmType_ActiveState = 18559 + SystemDiagnosticAlarmType_ActiveState_Id = 18560 + SystemDiagnosticAlarmType_ActiveState_Name = 18561 + SystemDiagnosticAlarmType_ActiveState_Number = 18562 + SystemDiagnosticAlarmType_ActiveState_EffectiveDisplayName = 18563 + SystemDiagnosticAlarmType_ActiveState_TransitionTime = 18564 + SystemDiagnosticAlarmType_ActiveState_EffectiveTransitionTime = 18565 + SystemDiagnosticAlarmType_ActiveState_TrueState = 18566 + SystemDiagnosticAlarmType_ActiveState_FalseState = 18567 + SystemDiagnosticAlarmType_InputNode = 18568 + SystemDiagnosticAlarmType_SuppressedState = 18569 + SystemDiagnosticAlarmType_SuppressedState_Id = 18570 + SystemDiagnosticAlarmType_SuppressedState_Name = 18571 + SystemDiagnosticAlarmType_SuppressedState_Number = 18572 + SystemDiagnosticAlarmType_SuppressedState_EffectiveDisplayName = 18573 + SystemDiagnosticAlarmType_SuppressedState_TransitionTime = 18574 + SystemDiagnosticAlarmType_SuppressedState_EffectiveTransitionTime = 18575 + SystemDiagnosticAlarmType_SuppressedState_TrueState = 18576 + SystemDiagnosticAlarmType_SuppressedState_FalseState = 18577 + SystemDiagnosticAlarmType_OutOfServiceState = 18578 + SystemDiagnosticAlarmType_OutOfServiceState_Id = 18579 + SystemDiagnosticAlarmType_OutOfServiceState_Name = 18580 + SystemDiagnosticAlarmType_OutOfServiceState_Number = 18581 + SystemDiagnosticAlarmType_OutOfServiceState_EffectiveDisplayName = 18582 + SystemDiagnosticAlarmType_OutOfServiceState_TransitionTime = 18583 + SystemDiagnosticAlarmType_OutOfServiceState_EffectiveTransitionTime = 18584 + SystemDiagnosticAlarmType_OutOfServiceState_TrueState = 18585 + SystemDiagnosticAlarmType_OutOfServiceState_FalseState = 18586 + SystemDiagnosticAlarmType_ShelvingState = 18587 + SystemDiagnosticAlarmType_ShelvingState_CurrentState = 18588 + SystemDiagnosticAlarmType_ShelvingState_CurrentState_Id = 18589 + SystemDiagnosticAlarmType_ShelvingState_CurrentState_Name = 18590 + SystemDiagnosticAlarmType_ShelvingState_CurrentState_Number = 18591 + SystemDiagnosticAlarmType_ShelvingState_CurrentState_EffectiveDisplayName = 18592 + SystemDiagnosticAlarmType_ShelvingState_LastTransition = 18593 + SystemDiagnosticAlarmType_ShelvingState_LastTransition_Id = 18594 + SystemDiagnosticAlarmType_ShelvingState_LastTransition_Name = 18595 + SystemDiagnosticAlarmType_ShelvingState_LastTransition_Number = 18596 + SystemDiagnosticAlarmType_ShelvingState_LastTransition_TransitionTime = 18597 + SystemDiagnosticAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime = 18598 + SystemDiagnosticAlarmType_ShelvingState_AvailableStates = 18599 + SystemDiagnosticAlarmType_ShelvingState_AvailableTransitions = 18600 + SystemDiagnosticAlarmType_ShelvingState_UnshelveTime = 18601 + SystemDiagnosticAlarmType_ShelvingState_TimedShelve = 18602 + SystemDiagnosticAlarmType_ShelvingState_TimedShelve_InputArguments = 18603 + SystemDiagnosticAlarmType_ShelvingState_Unshelve = 18604 + SystemDiagnosticAlarmType_ShelvingState_OneShotShelve = 18605 + SystemDiagnosticAlarmType_SuppressedOrShelved = 18606 + SystemDiagnosticAlarmType_MaxTimeShelved = 18607 + SystemDiagnosticAlarmType_AudibleEnabled = 18608 + SystemDiagnosticAlarmType_AudibleSound = 18609 + SystemDiagnosticAlarmType_AudibleSound_ListId = 18610 + SystemDiagnosticAlarmType_AudibleSound_AgencyId = 18611 + SystemDiagnosticAlarmType_AudibleSound_VersionId = 18612 + SystemDiagnosticAlarmType_SilenceState = 18613 + SystemDiagnosticAlarmType_SilenceState_Id = 18614 + SystemDiagnosticAlarmType_SilenceState_Name = 18615 + SystemDiagnosticAlarmType_SilenceState_Number = 18616 + SystemDiagnosticAlarmType_SilenceState_EffectiveDisplayName = 18617 + SystemDiagnosticAlarmType_SilenceState_TransitionTime = 18618 + SystemDiagnosticAlarmType_SilenceState_EffectiveTransitionTime = 18619 + SystemDiagnosticAlarmType_SilenceState_TrueState = 18620 + SystemDiagnosticAlarmType_SilenceState_FalseState = 18621 + SystemDiagnosticAlarmType_OnDelay = 18622 + SystemDiagnosticAlarmType_OffDelay = 18623 + SystemDiagnosticAlarmType_FirstInGroupFlag = 18624 + SystemDiagnosticAlarmType_FirstInGroup = 18625 + SystemDiagnosticAlarmType_LatchedState = 18626 + SystemDiagnosticAlarmType_LatchedState_Id = 18627 + SystemDiagnosticAlarmType_LatchedState_Name = 18628 + SystemDiagnosticAlarmType_LatchedState_Number = 18629 + SystemDiagnosticAlarmType_LatchedState_EffectiveDisplayName = 18630 + SystemDiagnosticAlarmType_LatchedState_TransitionTime = 18631 + SystemDiagnosticAlarmType_LatchedState_EffectiveTransitionTime = 18632 + SystemDiagnosticAlarmType_LatchedState_TrueState = 18633 + SystemDiagnosticAlarmType_LatchedState_FalseState = 18634 + SystemDiagnosticAlarmType_AlarmGroup_Placeholder = 18635 + SystemDiagnosticAlarmType_ReAlarmTime = 18636 + SystemDiagnosticAlarmType_ReAlarmRepeatCount = 18637 + SystemDiagnosticAlarmType_Silence = 18638 + SystemDiagnosticAlarmType_Suppress = 18639 + SystemDiagnosticAlarmType_Unsuppress = 18640 + SystemDiagnosticAlarmType_RemoveFromService = 18641 + SystemDiagnosticAlarmType_PlaceInService = 18642 + SystemDiagnosticAlarmType_Reset = 18643 + SystemDiagnosticAlarmType_NormalState = 18644 + CertificateExpirationAlarmType_LatchedState = 18645 + CertificateExpirationAlarmType_LatchedState_Id = 18646 + CertificateExpirationAlarmType_LatchedState_Name = 18647 + CertificateExpirationAlarmType_LatchedState_Number = 18648 + CertificateExpirationAlarmType_LatchedState_EffectiveDisplayName = 18649 + CertificateExpirationAlarmType_LatchedState_TransitionTime = 18650 + CertificateExpirationAlarmType_LatchedState_EffectiveTransitionTime = 18651 + CertificateExpirationAlarmType_LatchedState_TrueState = 18652 + CertificateExpirationAlarmType_LatchedState_FalseState = 18653 + CertificateExpirationAlarmType_Reset = 18654 + DiscrepancyAlarmType_LatchedState = 18655 + DiscrepancyAlarmType_LatchedState_Id = 18656 + DiscrepancyAlarmType_LatchedState_Name = 18657 + DiscrepancyAlarmType_LatchedState_Number = 18658 + DiscrepancyAlarmType_LatchedState_EffectiveDisplayName = 18659 + DiscrepancyAlarmType_LatchedState_TransitionTime = 18660 + DiscrepancyAlarmType_LatchedState_EffectiveTransitionTime = 18661 + DiscrepancyAlarmType_LatchedState_TrueState = 18662 + DiscrepancyAlarmType_LatchedState_FalseState = 18663 + DiscrepancyAlarmType_Reset = 18664 + StatisticalConditionClassType = 18665 + AlarmMetricsType_Reset = 18666 + PublishSubscribeType_ConnectionName_Placeholder_Diagnostics = 18667 + PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_DiagnosticsLevel = 18668 + PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_TotalInformation = 18669 + PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_TotalInformation_Active = 18670 + PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_TotalInformation_Classification = 18671 + PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_TotalInformation_DiagnosticsLevel = 18672 + PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_TotalInformation_TimeFirstChange = 18673 + PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_TotalError = 18674 + PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_TotalError_Active = 18675 + PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_TotalError_Classification = 18676 + PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_TotalError_DiagnosticsLevel = 18677 + PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_TotalError_TimeFirstChange = 18678 + PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Reset = 18679 + PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_SubError = 18680 + PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters = 18681 + PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateError = 18682 + PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateError_Active = 18683 + PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateError_Classification = 18684 + PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateError_DiagnosticsLevel = 18685 + PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateError_TimeFirstChange = 18686 + PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByMethod = 18687 + PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Active = 18688 + PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Classification = 18689 + PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_DiagnosticsLevel = 18690 + PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_TimeFirstChange = 18691 + PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByParent = 18692 + PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Active = 18693 + PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Classification = 18694 + PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByParent_DiagnosticsLevel = 18695 + PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByParent_TimeFirstChange = 18696 + PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalFromError = 18697 + PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Active = 18698 + PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Classification = 18699 + PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalFromError_DiagnosticsLevel = 18700 + PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalFromError_TimeFirstChange = 18701 + PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StatePausedByParent = 18702 + PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StatePausedByParent_Active = 18703 + PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StatePausedByParent_Classification = 18704 + PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StatePausedByParent_DiagnosticsLevel = 18705 + PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StatePausedByParent_TimeFirstChange = 18706 + PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateDisabledByMethod = 18707 + PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Active = 18708 + PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Classification = 18709 + PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_DiagnosticsLevel = 18710 + PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_TimeFirstChange = 18711 + PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_LiveValues = 18712 + PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_LiveValues_ResolvedAddress = 18713 + PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_LiveValues_ResolvedAddress_DiagnosticsLevel = 18714 + PublishSubscribeType_Diagnostics = 18715 + PublishSubscribeType_Diagnostics_DiagnosticsLevel = 18716 + PublishSubscribeType_Diagnostics_TotalInformation = 18717 + PublishSubscribeType_Diagnostics_TotalInformation_Active = 18718 + PublishSubscribeType_Diagnostics_TotalInformation_Classification = 18719 + PublishSubscribeType_Diagnostics_TotalInformation_DiagnosticsLevel = 18720 + PublishSubscribeType_Diagnostics_TotalInformation_TimeFirstChange = 18721 + PublishSubscribeType_Diagnostics_TotalError = 18722 + PublishSubscribeType_Diagnostics_TotalError_Active = 18723 + PublishSubscribeType_Diagnostics_TotalError_Classification = 18724 + PublishSubscribeType_Diagnostics_TotalError_DiagnosticsLevel = 18725 + PublishSubscribeType_Diagnostics_TotalError_TimeFirstChange = 18726 + PublishSubscribeType_Diagnostics_Reset = 18727 + PublishSubscribeType_Diagnostics_SubError = 18728 + PublishSubscribeType_Diagnostics_Counters = 18729 + PublishSubscribeType_Diagnostics_Counters_StateError = 18730 + PublishSubscribeType_Diagnostics_Counters_StateError_Active = 18731 + PublishSubscribeType_Diagnostics_Counters_StateError_Classification = 18732 + PublishSubscribeType_Diagnostics_Counters_StateError_DiagnosticsLevel = 18733 + PublishSubscribeType_Diagnostics_Counters_StateError_TimeFirstChange = 18734 + PublishSubscribeType_Diagnostics_Counters_StateOperationalByMethod = 18735 + PublishSubscribeType_Diagnostics_Counters_StateOperationalByMethod_Active = 18736 + PublishSubscribeType_Diagnostics_Counters_StateOperationalByMethod_Classification = 18737 + PublishSubscribeType_Diagnostics_Counters_StateOperationalByMethod_DiagnosticsLevel = 18738 + PublishSubscribeType_Diagnostics_Counters_StateOperationalByMethod_TimeFirstChange = 18739 + PublishSubscribeType_Diagnostics_Counters_StateOperationalByParent = 18740 + PublishSubscribeType_Diagnostics_Counters_StateOperationalByParent_Active = 18741 + PublishSubscribeType_Diagnostics_Counters_StateOperationalByParent_Classification = 18742 + PublishSubscribeType_Diagnostics_Counters_StateOperationalByParent_DiagnosticsLevel = 18743 + PublishSubscribeType_Diagnostics_Counters_StateOperationalByParent_TimeFirstChange = 18744 + PublishSubscribeType_Diagnostics_Counters_StateOperationalFromError = 18745 + PublishSubscribeType_Diagnostics_Counters_StateOperationalFromError_Active = 18746 + PublishSubscribeType_Diagnostics_Counters_StateOperationalFromError_Classification = 18747 + PublishSubscribeType_Diagnostics_Counters_StateOperationalFromError_DiagnosticsLevel = 18748 + PublishSubscribeType_Diagnostics_Counters_StateOperationalFromError_TimeFirstChange = 18749 + PublishSubscribeType_Diagnostics_Counters_StatePausedByParent = 18750 + PublishSubscribeType_Diagnostics_Counters_StatePausedByParent_Active = 18751 + PublishSubscribeType_Diagnostics_Counters_StatePausedByParent_Classification = 18752 + PublishSubscribeType_Diagnostics_Counters_StatePausedByParent_DiagnosticsLevel = 18753 + PublishSubscribeType_Diagnostics_Counters_StatePausedByParent_TimeFirstChange = 18754 + PublishSubscribeType_Diagnostics_Counters_StateDisabledByMethod = 18755 + PublishSubscribeType_Diagnostics_Counters_StateDisabledByMethod_Active = 18756 + PublishSubscribeType_Diagnostics_Counters_StateDisabledByMethod_Classification = 18757 + PublishSubscribeType_Diagnostics_Counters_StateDisabledByMethod_DiagnosticsLevel = 18758 + PublishSubscribeType_Diagnostics_Counters_StateDisabledByMethod_TimeFirstChange = 18759 + PublishSubscribeType_Diagnostics_LiveValues = 18760 + PublishSubscribeType_Diagnostics_LiveValues_ConfiguredDataSetWriters = 18761 + PublishSubscribeType_Diagnostics_LiveValues_ConfiguredDataSetWriters_DiagnosticsLevel = 18762 + PublishSubscribeType_Diagnostics_LiveValues_ConfiguredDataSetReaders = 18763 + PublishSubscribeType_Diagnostics_LiveValues_ConfiguredDataSetReaders_DiagnosticsLevel = 18764 + PublishSubscribeType_Diagnostics_LiveValues_OperationalDataSetWriters = 18765 + PublishSubscribeType_Diagnostics_LiveValues_OperationalDataSetWriters_DiagnosticsLevel = 18766 + PublishSubscribeType_Diagnostics_LiveValues_OperationalDataSetReaders = 18767 + PublishSubscribeType_Diagnostics_LiveValues_OperationalDataSetReaders_DiagnosticsLevel = 18768 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics = 18871 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_DiagnosticsLevel = 18872 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation = 18873 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation_Active = 18874 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation_Classification = 18875 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation_DiagnosticsLevel = 18876 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation_TimeFirstChange = 18877 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_TotalError = 18878 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_TotalError_Active = 18879 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_TotalError_Classification = 18880 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_TotalError_DiagnosticsLevel = 18881 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_TotalError_TimeFirstChange = 18882 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Reset = 18883 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_SubError = 18884 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters = 18885 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError = 18886 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError_Active = 18887 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError_Classification = 18888 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError_DiagnosticsLevel = 18889 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError_TimeFirstChange = 18890 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod = 18891 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Active = 18892 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Classification = 18893 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_DiagnosticsLevel = 18894 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_TimeFirstChange = 18895 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent = 18896 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Active = 18897 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Classification = 18898 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent_DiagnosticsLevel = 18899 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent_TimeFirstChange = 18900 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError = 18901 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Active = 18902 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Classification = 18903 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError_DiagnosticsLevel = 18904 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError_TimeFirstChange = 18905 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent = 18906 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent_Active = 18907 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent_Classification = 18908 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent_DiagnosticsLevel = 18909 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent_TimeFirstChange = 18910 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod = 18911 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Active = 18912 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Classification = 18913 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_DiagnosticsLevel = 18914 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_TimeFirstChange = 18915 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_LiveValues = 18916 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages = 18917 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_Active = 18918 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_Classification = 18919 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_DiagnosticsLevel = 18920 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_TimeFirstChange = 18921 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MessageSequenceNumber = 18922 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MessageSequenceNumber_DiagnosticsLevel = 18923 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_StatusCode = 18924 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_StatusCode_DiagnosticsLevel = 18925 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MajorVersion = 18926 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MajorVersion_DiagnosticsLevel = 18927 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MinorVersion = 18928 + PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MinorVersion_DiagnosticsLevel = 18929 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics = 18930 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_DiagnosticsLevel = 18931 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation = 18932 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation_Active = 18933 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation_Classification = 18934 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation_DiagnosticsLevel = 18935 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation_TimeFirstChange = 18936 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_TotalError = 18937 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_TotalError_Active = 18938 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_TotalError_Classification = 18939 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_TotalError_DiagnosticsLevel = 18940 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_TotalError_TimeFirstChange = 18941 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Reset = 18942 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_SubError = 18943 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters = 18944 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError = 18945 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError_Active = 18946 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError_Classification = 18947 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError_DiagnosticsLevel = 18948 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError_TimeFirstChange = 18949 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod = 18950 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Active = 18951 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Classification = 18952 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_DiagnosticsLevel = 18953 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_TimeFirstChange = 18954 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent = 18955 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Active = 18956 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Classification = 18957 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent_DiagnosticsLevel = 18958 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent_TimeFirstChange = 18959 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError = 18960 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Active = 18961 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Classification = 18962 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError_DiagnosticsLevel = 18963 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError_TimeFirstChange = 18964 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent = 18965 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent_Active = 18966 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent_Classification = 18967 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent_DiagnosticsLevel = 18968 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent_TimeFirstChange = 18969 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod = 18970 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Active = 18971 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Classification = 18972 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_DiagnosticsLevel = 18973 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_TimeFirstChange = 18974 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues = 18975 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages = 18976 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_Active = 18977 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_Classification = 18978 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_DiagnosticsLevel = 18979 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_TimeFirstChange = 18980 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MessageSequenceNumber = 18981 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MessageSequenceNumber_DiagnosticsLevel = 18982 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_StatusCode = 18983 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_StatusCode_DiagnosticsLevel = 18984 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MajorVersion = 18985 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MajorVersion_DiagnosticsLevel = 18986 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MinorVersion = 18987 + PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MinorVersion_DiagnosticsLevel = 18988 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics = 18989 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_DiagnosticsLevel = 18990 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation = 18991 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation_Active = 18992 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation_Classification = 18993 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation_DiagnosticsLevel = 18994 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation_TimeFirstChange = 18995 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_TotalError = 18996 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_TotalError_Active = 18997 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_TotalError_Classification = 18998 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_TotalError_DiagnosticsLevel = 18999 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_TotalError_TimeFirstChange = 19000 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Reset = 19001 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_SubError = 19002 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters = 19003 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError = 19004 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError_Active = 19005 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError_Classification = 19006 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError_DiagnosticsLevel = 19007 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError_TimeFirstChange = 19008 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod = 19009 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Active = 19010 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Classification = 19011 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_DiagnosticsLevel = 19012 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_TimeFirstChange = 19013 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent = 19014 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Active = 19015 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Classification = 19016 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent_DiagnosticsLevel = 19017 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent_TimeFirstChange = 19018 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError = 19019 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Active = 19020 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Classification = 19021 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError_DiagnosticsLevel = 19022 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError_TimeFirstChange = 19023 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent = 19024 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent_Active = 19025 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent_Classification = 19026 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent_DiagnosticsLevel = 19027 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent_TimeFirstChange = 19028 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod = 19029 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Active = 19030 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Classification = 19031 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_DiagnosticsLevel = 19032 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_TimeFirstChange = 19033 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues = 19034 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages = 19035 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_Active = 19036 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_Classification = 19037 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_DiagnosticsLevel = 19038 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_TimeFirstChange = 19039 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MessageSequenceNumber = 19040 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MessageSequenceNumber_DiagnosticsLevel = 19041 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_StatusCode = 19042 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_StatusCode_DiagnosticsLevel = 19043 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MajorVersion = 19044 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MajorVersion_DiagnosticsLevel = 19045 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MinorVersion = 19046 + PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MinorVersion_DiagnosticsLevel = 19047 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics = 19107 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_DiagnosticsLevel = 19108 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_TotalInformation = 19109 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_TotalInformation_Active = 19110 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_TotalInformation_Classification = 19111 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_TotalInformation_DiagnosticsLevel = 19112 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_TotalInformation_TimeFirstChange = 19113 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_TotalError = 19114 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_TotalError_Active = 19115 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_TotalError_Classification = 19116 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_TotalError_DiagnosticsLevel = 19117 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_TotalError_TimeFirstChange = 19118 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Reset = 19119 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_SubError = 19120 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters = 19121 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateError = 19122 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateError_Active = 19123 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateError_Classification = 19124 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateError_DiagnosticsLevel = 19125 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateError_TimeFirstChange = 19126 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateOperationalByMethod = 19127 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Active = 19128 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Classification = 19129 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_DiagnosticsLevel = 19130 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_TimeFirstChange = 19131 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateOperationalByParent = 19132 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Active = 19133 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Classification = 19134 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateOperationalByParent_DiagnosticsLevel = 19135 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateOperationalByParent_TimeFirstChange = 19136 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateOperationalFromError = 19137 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Active = 19138 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Classification = 19139 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateOperationalFromError_DiagnosticsLevel = 19140 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateOperationalFromError_TimeFirstChange = 19141 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StatePausedByParent = 19142 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StatePausedByParent_Active = 19143 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StatePausedByParent_Classification = 19144 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StatePausedByParent_DiagnosticsLevel = 19145 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StatePausedByParent_TimeFirstChange = 19146 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateDisabledByMethod = 19147 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Active = 19148 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Classification = 19149 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_DiagnosticsLevel = 19150 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_TimeFirstChange = 19151 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_LiveValues = 19152 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_SentNetworkMessages = 19153 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_SentNetworkMessages_Active = 19154 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_SentNetworkMessages_Classification = 19155 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_SentNetworkMessages_DiagnosticsLevel = 19156 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_SentNetworkMessages_TimeFirstChange = 19157 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_FailedTransmissions = 19158 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_FailedTransmissions_Active = 19159 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_FailedTransmissions_Classification = 19160 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_FailedTransmissions_DiagnosticsLevel = 19161 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_FailedTransmissions_TimeFirstChange = 19162 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_EncryptionErrors = 19163 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_EncryptionErrors_Active = 19164 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_EncryptionErrors_Classification = 19165 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_EncryptionErrors_DiagnosticsLevel = 19166 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_EncryptionErrors_TimeFirstChange = 19167 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_LiveValues_ConfiguredDataSetWriters = 19168 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_LiveValues_ConfiguredDataSetWriters_DiagnosticsLevel = 19169 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_LiveValues_OperationalDataSetWriters = 19170 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_LiveValues_OperationalDataSetWriters_DiagnosticsLevel = 19171 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_LiveValues_SecurityTokenID = 19172 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_LiveValues_SecurityTokenID_DiagnosticsLevel = 19173 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_LiveValues_TimeToNextTokenID = 19174 + PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_LiveValues_TimeToNextTokenID_DiagnosticsLevel = 19175 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics = 19176 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_DiagnosticsLevel = 19177 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_TotalInformation = 19178 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_TotalInformation_Active = 19179 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_TotalInformation_Classification = 19180 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_TotalInformation_DiagnosticsLevel = 19181 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_TotalInformation_TimeFirstChange = 19182 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_TotalError = 19183 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_TotalError_Active = 19184 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_TotalError_Classification = 19185 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_TotalError_DiagnosticsLevel = 19186 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_TotalError_TimeFirstChange = 19187 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Reset = 19188 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_SubError = 19189 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters = 19190 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateError = 19191 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateError_Active = 19192 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateError_Classification = 19193 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateError_DiagnosticsLevel = 19194 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateError_TimeFirstChange = 19195 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateOperationalByMethod = 19196 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Active = 19197 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Classification = 19198 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_DiagnosticsLevel = 19199 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_TimeFirstChange = 19200 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateOperationalByParent = 19201 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Active = 19202 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Classification = 19203 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateOperationalByParent_DiagnosticsLevel = 19204 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateOperationalByParent_TimeFirstChange = 19205 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateOperationalFromError = 19206 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Active = 19207 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Classification = 19208 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateOperationalFromError_DiagnosticsLevel = 19209 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateOperationalFromError_TimeFirstChange = 19210 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StatePausedByParent = 19211 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StatePausedByParent_Active = 19212 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StatePausedByParent_Classification = 19213 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StatePausedByParent_DiagnosticsLevel = 19214 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StatePausedByParent_TimeFirstChange = 19215 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateDisabledByMethod = 19216 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Active = 19217 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Classification = 19218 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_DiagnosticsLevel = 19219 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_TimeFirstChange = 19220 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_LiveValues = 19221 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_ReceivedNetworkMessages = 19222 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_ReceivedNetworkMessages_Active = 19223 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_ReceivedNetworkMessages_Classification = 19224 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_ReceivedNetworkMessages_DiagnosticsLevel = 19225 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_ReceivedNetworkMessages_TimeFirstChange = 19226 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_ReceivedInvalidNetworkMessages = 19227 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_ReceivedInvalidNetworkMessages_Active = 19228 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_ReceivedInvalidNetworkMessages_Classification = 19229 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_ReceivedInvalidNetworkMessages_DiagnosticsLevel = 19230 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_ReceivedInvalidNetworkMessages_TimeFirstChange = 19231 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_DecryptionErrors = 19232 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_DecryptionErrors_Active = 19233 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_DecryptionErrors_Classification = 19234 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_DecryptionErrors_DiagnosticsLevel = 19235 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_DecryptionErrors_TimeFirstChange = 19236 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_LiveValues_ConfiguredDataSetReaders = 19237 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_LiveValues_ConfiguredDataSetReaders_DiagnosticsLevel = 19238 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_LiveValues_OperationalDataSetReaders = 19239 + PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_LiveValues_OperationalDataSetReaders_DiagnosticsLevel = 19240 + PubSubConnectionType_Diagnostics = 19241 + PubSubConnectionType_Diagnostics_DiagnosticsLevel = 19242 + PubSubConnectionType_Diagnostics_TotalInformation = 19243 + PubSubConnectionType_Diagnostics_TotalInformation_Active = 19244 + PubSubConnectionType_Diagnostics_TotalInformation_Classification = 19245 + PubSubConnectionType_Diagnostics_TotalInformation_DiagnosticsLevel = 19246 + PubSubConnectionType_Diagnostics_TotalInformation_TimeFirstChange = 19247 + PubSubConnectionType_Diagnostics_TotalError = 19248 + PubSubConnectionType_Diagnostics_TotalError_Active = 19249 + PubSubConnectionType_Diagnostics_TotalError_Classification = 19250 + PubSubConnectionType_Diagnostics_TotalError_DiagnosticsLevel = 19251 + PubSubConnectionType_Diagnostics_TotalError_TimeFirstChange = 19252 + PubSubConnectionType_Diagnostics_Reset = 19253 + PubSubConnectionType_Diagnostics_SubError = 19254 + PubSubConnectionType_Diagnostics_Counters = 19255 + PubSubConnectionType_Diagnostics_Counters_StateError = 19256 + PubSubConnectionType_Diagnostics_Counters_StateError_Active = 19257 + PubSubConnectionType_Diagnostics_Counters_StateError_Classification = 19258 + PubSubConnectionType_Diagnostics_Counters_StateError_DiagnosticsLevel = 19259 + PubSubConnectionType_Diagnostics_Counters_StateError_TimeFirstChange = 19260 + PubSubConnectionType_Diagnostics_Counters_StateOperationalByMethod = 19261 + PubSubConnectionType_Diagnostics_Counters_StateOperationalByMethod_Active = 19262 + PubSubConnectionType_Diagnostics_Counters_StateOperationalByMethod_Classification = 19263 + PubSubConnectionType_Diagnostics_Counters_StateOperationalByMethod_DiagnosticsLevel = 19264 + PubSubConnectionType_Diagnostics_Counters_StateOperationalByMethod_TimeFirstChange = 19265 + PubSubConnectionType_Diagnostics_Counters_StateOperationalByParent = 19266 + PubSubConnectionType_Diagnostics_Counters_StateOperationalByParent_Active = 19267 + PubSubConnectionType_Diagnostics_Counters_StateOperationalByParent_Classification = 19268 + PubSubConnectionType_Diagnostics_Counters_StateOperationalByParent_DiagnosticsLevel = 19269 + PubSubConnectionType_Diagnostics_Counters_StateOperationalByParent_TimeFirstChange = 19270 + PubSubConnectionType_Diagnostics_Counters_StateOperationalFromError = 19271 + PubSubConnectionType_Diagnostics_Counters_StateOperationalFromError_Active = 19272 + PubSubConnectionType_Diagnostics_Counters_StateOperationalFromError_Classification = 19273 + PubSubConnectionType_Diagnostics_Counters_StateOperationalFromError_DiagnosticsLevel = 19274 + PubSubConnectionType_Diagnostics_Counters_StateOperationalFromError_TimeFirstChange = 19275 + PubSubConnectionType_Diagnostics_Counters_StatePausedByParent = 19276 + PubSubConnectionType_Diagnostics_Counters_StatePausedByParent_Active = 19277 + PubSubConnectionType_Diagnostics_Counters_StatePausedByParent_Classification = 19278 + PubSubConnectionType_Diagnostics_Counters_StatePausedByParent_DiagnosticsLevel = 19279 + PubSubConnectionType_Diagnostics_Counters_StatePausedByParent_TimeFirstChange = 19280 + PubSubConnectionType_Diagnostics_Counters_StateDisabledByMethod = 19281 + PubSubConnectionType_Diagnostics_Counters_StateDisabledByMethod_Active = 19282 + PubSubConnectionType_Diagnostics_Counters_StateDisabledByMethod_Classification = 19283 + PubSubConnectionType_Diagnostics_Counters_StateDisabledByMethod_DiagnosticsLevel = 19284 + PubSubConnectionType_Diagnostics_Counters_StateDisabledByMethod_TimeFirstChange = 19285 + PubSubConnectionType_Diagnostics_LiveValues = 19286 + PubSubConnectionType_Diagnostics_LiveValues_ResolvedAddress = 19287 + PubSubConnectionType_Diagnostics_LiveValues_ResolvedAddress_DiagnosticsLevel = 19288 + DataSetWriterType_Diagnostics = 19550 + DataSetWriterType_Diagnostics_DiagnosticsLevel = 19551 + DataSetWriterType_Diagnostics_TotalInformation = 19552 + DataSetWriterType_Diagnostics_TotalInformation_Active = 19553 + DataSetWriterType_Diagnostics_TotalInformation_Classification = 19554 + DataSetWriterType_Diagnostics_TotalInformation_DiagnosticsLevel = 19555 + DataSetWriterType_Diagnostics_TotalInformation_TimeFirstChange = 19556 + DataSetWriterType_Diagnostics_TotalError = 19557 + DataSetWriterType_Diagnostics_TotalError_Active = 19558 + DataSetWriterType_Diagnostics_TotalError_Classification = 19559 + DataSetWriterType_Diagnostics_TotalError_DiagnosticsLevel = 19560 + DataSetWriterType_Diagnostics_TotalError_TimeFirstChange = 19561 + DataSetWriterType_Diagnostics_Reset = 19562 + DataSetWriterType_Diagnostics_SubError = 19563 + DataSetWriterType_Diagnostics_Counters = 19564 + DataSetWriterType_Diagnostics_Counters_StateError = 19565 + DataSetWriterType_Diagnostics_Counters_StateError_Active = 19566 + DataSetWriterType_Diagnostics_Counters_StateError_Classification = 19567 + DataSetWriterType_Diagnostics_Counters_StateError_DiagnosticsLevel = 19568 + DataSetWriterType_Diagnostics_Counters_StateError_TimeFirstChange = 19569 + DataSetWriterType_Diagnostics_Counters_StateOperationalByMethod = 19570 + DataSetWriterType_Diagnostics_Counters_StateOperationalByMethod_Active = 19571 + DataSetWriterType_Diagnostics_Counters_StateOperationalByMethod_Classification = 19572 + DataSetWriterType_Diagnostics_Counters_StateOperationalByMethod_DiagnosticsLevel = 19573 + DataSetWriterType_Diagnostics_Counters_StateOperationalByMethod_TimeFirstChange = 19574 + DataSetWriterType_Diagnostics_Counters_StateOperationalByParent = 19575 + DataSetWriterType_Diagnostics_Counters_StateOperationalByParent_Active = 19576 + DataSetWriterType_Diagnostics_Counters_StateOperationalByParent_Classification = 19577 + DataSetWriterType_Diagnostics_Counters_StateOperationalByParent_DiagnosticsLevel = 19578 + DataSetWriterType_Diagnostics_Counters_StateOperationalByParent_TimeFirstChange = 19579 + DataSetWriterType_Diagnostics_Counters_StateOperationalFromError = 19580 + DataSetWriterType_Diagnostics_Counters_StateOperationalFromError_Active = 19581 + DataSetWriterType_Diagnostics_Counters_StateOperationalFromError_Classification = 19582 + DataSetWriterType_Diagnostics_Counters_StateOperationalFromError_DiagnosticsLevel = 19583 + DataSetWriterType_Diagnostics_Counters_StateOperationalFromError_TimeFirstChange = 19584 + DataSetWriterType_Diagnostics_Counters_StatePausedByParent = 19585 + DataSetWriterType_Diagnostics_Counters_StatePausedByParent_Active = 19586 + DataSetWriterType_Diagnostics_Counters_StatePausedByParent_Classification = 19587 + DataSetWriterType_Diagnostics_Counters_StatePausedByParent_DiagnosticsLevel = 19588 + DataSetWriterType_Diagnostics_Counters_StatePausedByParent_TimeFirstChange = 19589 + DataSetWriterType_Diagnostics_Counters_StateDisabledByMethod = 19590 + DataSetWriterType_Diagnostics_Counters_StateDisabledByMethod_Active = 19591 + DataSetWriterType_Diagnostics_Counters_StateDisabledByMethod_Classification = 19592 + DataSetWriterType_Diagnostics_Counters_StateDisabledByMethod_DiagnosticsLevel = 19593 + DataSetWriterType_Diagnostics_Counters_StateDisabledByMethod_TimeFirstChange = 19594 + DataSetWriterType_Diagnostics_LiveValues = 19595 + DataSetWriterType_Diagnostics_Counters_FailedDataSetMessages = 19596 + DataSetWriterType_Diagnostics_Counters_FailedDataSetMessages_Active = 19597 + DataSetWriterType_Diagnostics_Counters_FailedDataSetMessages_Classification = 19598 + DataSetWriterType_Diagnostics_Counters_FailedDataSetMessages_DiagnosticsLevel = 19599 + DataSetWriterType_Diagnostics_Counters_FailedDataSetMessages_TimeFirstChange = 19600 + DataSetWriterType_Diagnostics_LiveValues_MessageSequenceNumber = 19601 + DataSetWriterType_Diagnostics_LiveValues_MessageSequenceNumber_DiagnosticsLevel = 19602 + DataSetWriterType_Diagnostics_LiveValues_StatusCode = 19603 + DataSetWriterType_Diagnostics_LiveValues_StatusCode_DiagnosticsLevel = 19604 + DataSetWriterType_Diagnostics_LiveValues_MajorVersion = 19605 + DataSetWriterType_Diagnostics_LiveValues_MajorVersion_DiagnosticsLevel = 19606 + DataSetWriterType_Diagnostics_LiveValues_MinorVersion = 19607 + DataSetWriterType_Diagnostics_LiveValues_MinorVersion_DiagnosticsLevel = 19608 + DataSetReaderType_Diagnostics = 19609 + DataSetReaderType_Diagnostics_DiagnosticsLevel = 19610 + DataSetReaderType_Diagnostics_TotalInformation = 19611 + DataSetReaderType_Diagnostics_TotalInformation_Active = 19612 + DataSetReaderType_Diagnostics_TotalInformation_Classification = 19613 + DataSetReaderType_Diagnostics_TotalInformation_DiagnosticsLevel = 19614 + DataSetReaderType_Diagnostics_TotalInformation_TimeFirstChange = 19615 + DataSetReaderType_Diagnostics_TotalError = 19616 + DataSetReaderType_Diagnostics_TotalError_Active = 19617 + DataSetReaderType_Diagnostics_TotalError_Classification = 19618 + DataSetReaderType_Diagnostics_TotalError_DiagnosticsLevel = 19619 + DataSetReaderType_Diagnostics_TotalError_TimeFirstChange = 19620 + DataSetReaderType_Diagnostics_Reset = 19621 + DataSetReaderType_Diagnostics_SubError = 19622 + DataSetReaderType_Diagnostics_Counters = 19623 + DataSetReaderType_Diagnostics_Counters_StateError = 19624 + DataSetReaderType_Diagnostics_Counters_StateError_Active = 19625 + DataSetReaderType_Diagnostics_Counters_StateError_Classification = 19626 + DataSetReaderType_Diagnostics_Counters_StateError_DiagnosticsLevel = 19627 + DataSetReaderType_Diagnostics_Counters_StateError_TimeFirstChange = 19628 + DataSetReaderType_Diagnostics_Counters_StateOperationalByMethod = 19629 + DataSetReaderType_Diagnostics_Counters_StateOperationalByMethod_Active = 19630 + DataSetReaderType_Diagnostics_Counters_StateOperationalByMethod_Classification = 19631 + DataSetReaderType_Diagnostics_Counters_StateOperationalByMethod_DiagnosticsLevel = 19632 + DataSetReaderType_Diagnostics_Counters_StateOperationalByMethod_TimeFirstChange = 19633 + DataSetReaderType_Diagnostics_Counters_StateOperationalByParent = 19634 + DataSetReaderType_Diagnostics_Counters_StateOperationalByParent_Active = 19635 + DataSetReaderType_Diagnostics_Counters_StateOperationalByParent_Classification = 19636 + DataSetReaderType_Diagnostics_Counters_StateOperationalByParent_DiagnosticsLevel = 19637 + DataSetReaderType_Diagnostics_Counters_StateOperationalByParent_TimeFirstChange = 19638 + DataSetReaderType_Diagnostics_Counters_StateOperationalFromError = 19639 + DataSetReaderType_Diagnostics_Counters_StateOperationalFromError_Active = 19640 + DataSetReaderType_Diagnostics_Counters_StateOperationalFromError_Classification = 19641 + DataSetReaderType_Diagnostics_Counters_StateOperationalFromError_DiagnosticsLevel = 19642 + DataSetReaderType_Diagnostics_Counters_StateOperationalFromError_TimeFirstChange = 19643 + DataSetReaderType_Diagnostics_Counters_StatePausedByParent = 19644 + DataSetReaderType_Diagnostics_Counters_StatePausedByParent_Active = 19645 + DataSetReaderType_Diagnostics_Counters_StatePausedByParent_Classification = 19646 + DataSetReaderType_Diagnostics_Counters_StatePausedByParent_DiagnosticsLevel = 19647 + DataSetReaderType_Diagnostics_Counters_StatePausedByParent_TimeFirstChange = 19648 + DataSetReaderType_Diagnostics_Counters_StateDisabledByMethod = 19649 + DataSetReaderType_Diagnostics_Counters_StateDisabledByMethod_Active = 19650 + DataSetReaderType_Diagnostics_Counters_StateDisabledByMethod_Classification = 19651 + DataSetReaderType_Diagnostics_Counters_StateDisabledByMethod_DiagnosticsLevel = 19652 + DataSetReaderType_Diagnostics_Counters_StateDisabledByMethod_TimeFirstChange = 19653 + DataSetReaderType_Diagnostics_LiveValues = 19654 + DataSetReaderType_Diagnostics_Counters_FailedDataSetMessages = 19655 + DataSetReaderType_Diagnostics_Counters_FailedDataSetMessages_Active = 19656 + DataSetReaderType_Diagnostics_Counters_FailedDataSetMessages_Classification = 19657 + DataSetReaderType_Diagnostics_Counters_FailedDataSetMessages_DiagnosticsLevel = 19658 + DataSetReaderType_Diagnostics_Counters_FailedDataSetMessages_TimeFirstChange = 19659 + DataSetReaderType_Diagnostics_Counters_DecryptionErrors = 19660 + DataSetReaderType_Diagnostics_Counters_DecryptionErrors_Active = 19661 + DataSetReaderType_Diagnostics_Counters_DecryptionErrors_Classification = 19662 + DataSetReaderType_Diagnostics_Counters_DecryptionErrors_DiagnosticsLevel = 19663 + DataSetReaderType_Diagnostics_Counters_DecryptionErrors_TimeFirstChange = 19664 + DataSetReaderType_Diagnostics_LiveValues_MessageSequenceNumber = 19665 + DataSetReaderType_Diagnostics_LiveValues_MessageSequenceNumber_DiagnosticsLevel = 19666 + DataSetReaderType_Diagnostics_LiveValues_StatusCode = 19667 + DataSetReaderType_Diagnostics_LiveValues_StatusCode_DiagnosticsLevel = 19668 + DataSetReaderType_Diagnostics_LiveValues_MajorVersion = 19669 + DataSetReaderType_Diagnostics_LiveValues_MajorVersion_DiagnosticsLevel = 19670 + DataSetReaderType_Diagnostics_LiveValues_MinorVersion = 19671 + DataSetReaderType_Diagnostics_LiveValues_MinorVersion_DiagnosticsLevel = 19672 + DataSetReaderType_Diagnostics_LiveValues_SecurityTokenID = 19673 + DataSetReaderType_Diagnostics_LiveValues_SecurityTokenID_DiagnosticsLevel = 19674 + DataSetReaderType_Diagnostics_LiveValues_TimeToNextTokenID = 19675 + DataSetReaderType_Diagnostics_LiveValues_TimeToNextTokenID_DiagnosticsLevel = 19676 + PubSubDiagnosticsType = 19677 + PubSubDiagnosticsType_DiagnosticsLevel = 19678 + PubSubDiagnosticsType_TotalInformation = 19679 + PubSubDiagnosticsType_TotalInformation_Active = 19680 + PubSubDiagnosticsType_TotalInformation_Classification = 19681 + PubSubDiagnosticsType_TotalInformation_DiagnosticsLevel = 19682 + PubSubDiagnosticsType_TotalInformation_TimeFirstChange = 19683 + PubSubDiagnosticsType_TotalError = 19684 + PubSubDiagnosticsType_TotalError_Active = 19685 + PubSubDiagnosticsType_TotalError_Classification = 19686 + PubSubDiagnosticsType_TotalError_DiagnosticsLevel = 19687 + PubSubDiagnosticsType_TotalError_TimeFirstChange = 19688 + PubSubDiagnosticsType_Reset = 19689 + PubSubDiagnosticsType_SubError = 19690 + PubSubDiagnosticsType_Counters = 19691 + PubSubDiagnosticsType_Counters_StateError = 19692 + PubSubDiagnosticsType_Counters_StateError_Active = 19693 + PubSubDiagnosticsType_Counters_StateError_Classification = 19694 + PubSubDiagnosticsType_Counters_StateError_DiagnosticsLevel = 19695 + PubSubDiagnosticsType_Counters_StateError_TimeFirstChange = 19696 + PubSubDiagnosticsType_Counters_StateOperationalByMethod = 19697 + PubSubDiagnosticsType_Counters_StateOperationalByMethod_Active = 19698 + PubSubDiagnosticsType_Counters_StateOperationalByMethod_Classification = 19699 + PubSubDiagnosticsType_Counters_StateOperationalByMethod_DiagnosticsLevel = 19700 + PubSubDiagnosticsType_Counters_StateOperationalByMethod_TimeFirstChange = 19701 + PubSubDiagnosticsType_Counters_StateOperationalByParent = 19702 + PubSubDiagnosticsType_Counters_StateOperationalByParent_Active = 19703 + PubSubDiagnosticsType_Counters_StateOperationalByParent_Classification = 19704 + PubSubDiagnosticsType_Counters_StateOperationalByParent_DiagnosticsLevel = 19705 + PubSubDiagnosticsType_Counters_StateOperationalByParent_TimeFirstChange = 19706 + PubSubDiagnosticsType_Counters_StateOperationalFromError = 19707 + PubSubDiagnosticsType_Counters_StateOperationalFromError_Active = 19708 + PubSubDiagnosticsType_Counters_StateOperationalFromError_Classification = 19709 + PubSubDiagnosticsType_Counters_StateOperationalFromError_DiagnosticsLevel = 19710 + PubSubDiagnosticsType_Counters_StateOperationalFromError_TimeFirstChange = 19711 + PubSubDiagnosticsType_Counters_StatePausedByParent = 19712 + PubSubDiagnosticsType_Counters_StatePausedByParent_Active = 19713 + PubSubDiagnosticsType_Counters_StatePausedByParent_Classification = 19714 + PubSubDiagnosticsType_Counters_StatePausedByParent_DiagnosticsLevel = 19715 + PubSubDiagnosticsType_Counters_StatePausedByParent_TimeFirstChange = 19716 + PubSubDiagnosticsType_Counters_StateDisabledByMethod = 19717 + PubSubDiagnosticsType_Counters_StateDisabledByMethod_Active = 19718 + PubSubDiagnosticsType_Counters_StateDisabledByMethod_Classification = 19719 + PubSubDiagnosticsType_Counters_StateDisabledByMethod_DiagnosticsLevel = 19720 + PubSubDiagnosticsType_Counters_StateDisabledByMethod_TimeFirstChange = 19721 + PubSubDiagnosticsType_LiveValues = 19722 + DiagnosticsLevel = 19723 + DiagnosticsLevel_EnumStrings = 19724 + PubSubDiagnosticsCounterType = 19725 + PubSubDiagnosticsCounterType_Active = 19726 + PubSubDiagnosticsCounterType_Classification = 19727 + PubSubDiagnosticsCounterType_DiagnosticsLevel = 19728 + PubSubDiagnosticsCounterType_TimeFirstChange = 19729 + PubSubDiagnosticsCounterClassification = 19730 + PubSubDiagnosticsCounterClassification_EnumStrings = 19731 + PubSubDiagnosticsRootType = 19732 + PubSubDiagnosticsRootType_DiagnosticsLevel = 19733 + PubSubDiagnosticsRootType_TotalInformation = 19734 + PubSubDiagnosticsRootType_TotalInformation_Active = 19735 + PubSubDiagnosticsRootType_TotalInformation_Classification = 19736 + PubSubDiagnosticsRootType_TotalInformation_DiagnosticsLevel = 19737 + PubSubDiagnosticsRootType_TotalInformation_TimeFirstChange = 19738 + PubSubDiagnosticsRootType_TotalError = 19739 + PubSubDiagnosticsRootType_TotalError_Active = 19740 + PubSubDiagnosticsRootType_TotalError_Classification = 19741 + PubSubDiagnosticsRootType_TotalError_DiagnosticsLevel = 19742 + PubSubDiagnosticsRootType_TotalError_TimeFirstChange = 19743 + PubSubDiagnosticsRootType_Reset = 19744 + PubSubDiagnosticsRootType_SubError = 19745 + PubSubDiagnosticsRootType_Counters = 19746 + PubSubDiagnosticsRootType_Counters_StateError = 19747 + PubSubDiagnosticsRootType_Counters_StateError_Active = 19748 + PubSubDiagnosticsRootType_Counters_StateError_Classification = 19749 + PubSubDiagnosticsRootType_Counters_StateError_DiagnosticsLevel = 19750 + PubSubDiagnosticsRootType_Counters_StateError_TimeFirstChange = 19751 + PubSubDiagnosticsRootType_Counters_StateOperationalByMethod = 19752 + PubSubDiagnosticsRootType_Counters_StateOperationalByMethod_Active = 19753 + PubSubDiagnosticsRootType_Counters_StateOperationalByMethod_Classification = 19754 + PubSubDiagnosticsRootType_Counters_StateOperationalByMethod_DiagnosticsLevel = 19755 + PubSubDiagnosticsRootType_Counters_StateOperationalByMethod_TimeFirstChange = 19756 + PubSubDiagnosticsRootType_Counters_StateOperationalByParent = 19757 + PubSubDiagnosticsRootType_Counters_StateOperationalByParent_Active = 19758 + PubSubDiagnosticsRootType_Counters_StateOperationalByParent_Classification = 19759 + PubSubDiagnosticsRootType_Counters_StateOperationalByParent_DiagnosticsLevel = 19760 + PubSubDiagnosticsRootType_Counters_StateOperationalByParent_TimeFirstChange = 19761 + PubSubDiagnosticsRootType_Counters_StateOperationalFromError = 19762 + PubSubDiagnosticsRootType_Counters_StateOperationalFromError_Active = 19763 + PubSubDiagnosticsRootType_Counters_StateOperationalFromError_Classification = 19764 + PubSubDiagnosticsRootType_Counters_StateOperationalFromError_DiagnosticsLevel = 19765 + PubSubDiagnosticsRootType_Counters_StateOperationalFromError_TimeFirstChange = 19766 + PubSubDiagnosticsRootType_Counters_StatePausedByParent = 19767 + PubSubDiagnosticsRootType_Counters_StatePausedByParent_Active = 19768 + PubSubDiagnosticsRootType_Counters_StatePausedByParent_Classification = 19769 + PubSubDiagnosticsRootType_Counters_StatePausedByParent_DiagnosticsLevel = 19770 + PubSubDiagnosticsRootType_Counters_StatePausedByParent_TimeFirstChange = 19771 + PubSubDiagnosticsRootType_Counters_StateDisabledByMethod = 19772 + PubSubDiagnosticsRootType_Counters_StateDisabledByMethod_Active = 19773 + PubSubDiagnosticsRootType_Counters_StateDisabledByMethod_Classification = 19774 + PubSubDiagnosticsRootType_Counters_StateDisabledByMethod_DiagnosticsLevel = 19775 + PubSubDiagnosticsRootType_Counters_StateDisabledByMethod_TimeFirstChange = 19776 + PubSubDiagnosticsRootType_LiveValues = 19777 + PubSubDiagnosticsRootType_LiveValues_ConfiguredDataSetWriters = 19778 + PubSubDiagnosticsRootType_LiveValues_ConfiguredDataSetWriters_DiagnosticsLevel = 19779 + PubSubDiagnosticsRootType_LiveValues_ConfiguredDataSetReaders = 19780 + PubSubDiagnosticsRootType_LiveValues_ConfiguredDataSetReaders_DiagnosticsLevel = 19781 + PubSubDiagnosticsRootType_LiveValues_OperationalDataSetWriters = 19782 + PubSubDiagnosticsRootType_LiveValues_OperationalDataSetWriters_DiagnosticsLevel = 19783 + PubSubDiagnosticsRootType_LiveValues_OperationalDataSetReaders = 19784 + PubSubDiagnosticsRootType_LiveValues_OperationalDataSetReaders_DiagnosticsLevel = 19785 + PubSubDiagnosticsConnectionType = 19786 + PubSubDiagnosticsConnectionType_DiagnosticsLevel = 19787 + PubSubDiagnosticsConnectionType_TotalInformation = 19788 + PubSubDiagnosticsConnectionType_TotalInformation_Active = 19789 + PubSubDiagnosticsConnectionType_TotalInformation_Classification = 19790 + PubSubDiagnosticsConnectionType_TotalInformation_DiagnosticsLevel = 19791 + PubSubDiagnosticsConnectionType_TotalInformation_TimeFirstChange = 19792 + PubSubDiagnosticsConnectionType_TotalError = 19793 + PubSubDiagnosticsConnectionType_TotalError_Active = 19794 + PubSubDiagnosticsConnectionType_TotalError_Classification = 19795 + PubSubDiagnosticsConnectionType_TotalError_DiagnosticsLevel = 19796 + PubSubDiagnosticsConnectionType_TotalError_TimeFirstChange = 19797 + PubSubDiagnosticsConnectionType_Reset = 19798 + PubSubDiagnosticsConnectionType_SubError = 19799 + PubSubDiagnosticsConnectionType_Counters = 19800 + PubSubDiagnosticsConnectionType_Counters_StateError = 19801 + PubSubDiagnosticsConnectionType_Counters_StateError_Active = 19802 + PubSubDiagnosticsConnectionType_Counters_StateError_Classification = 19803 + PubSubDiagnosticsConnectionType_Counters_StateError_DiagnosticsLevel = 19804 + PubSubDiagnosticsConnectionType_Counters_StateError_TimeFirstChange = 19805 + PubSubDiagnosticsConnectionType_Counters_StateOperationalByMethod = 19806 + PubSubDiagnosticsConnectionType_Counters_StateOperationalByMethod_Active = 19807 + PubSubDiagnosticsConnectionType_Counters_StateOperationalByMethod_Classification = 19808 + PubSubDiagnosticsConnectionType_Counters_StateOperationalByMethod_DiagnosticsLevel = 19809 + PubSubDiagnosticsConnectionType_Counters_StateOperationalByMethod_TimeFirstChange = 19810 + PubSubDiagnosticsConnectionType_Counters_StateOperationalByParent = 19811 + PubSubDiagnosticsConnectionType_Counters_StateOperationalByParent_Active = 19812 + PubSubDiagnosticsConnectionType_Counters_StateOperationalByParent_Classification = 19813 + PubSubDiagnosticsConnectionType_Counters_StateOperationalByParent_DiagnosticsLevel = 19814 + PubSubDiagnosticsConnectionType_Counters_StateOperationalByParent_TimeFirstChange = 19815 + PubSubDiagnosticsConnectionType_Counters_StateOperationalFromError = 19816 + PubSubDiagnosticsConnectionType_Counters_StateOperationalFromError_Active = 19817 + PubSubDiagnosticsConnectionType_Counters_StateOperationalFromError_Classification = 19818 + PubSubDiagnosticsConnectionType_Counters_StateOperationalFromError_DiagnosticsLevel = 19819 + PubSubDiagnosticsConnectionType_Counters_StateOperationalFromError_TimeFirstChange = 19820 + PubSubDiagnosticsConnectionType_Counters_StatePausedByParent = 19821 + PubSubDiagnosticsConnectionType_Counters_StatePausedByParent_Active = 19822 + PubSubDiagnosticsConnectionType_Counters_StatePausedByParent_Classification = 19823 + PubSubDiagnosticsConnectionType_Counters_StatePausedByParent_DiagnosticsLevel = 19824 + PubSubDiagnosticsConnectionType_Counters_StatePausedByParent_TimeFirstChange = 19825 + PubSubDiagnosticsConnectionType_Counters_StateDisabledByMethod = 19826 + PubSubDiagnosticsConnectionType_Counters_StateDisabledByMethod_Active = 19827 + PubSubDiagnosticsConnectionType_Counters_StateDisabledByMethod_Classification = 19828 + PubSubDiagnosticsConnectionType_Counters_StateDisabledByMethod_DiagnosticsLevel = 19829 + PubSubDiagnosticsConnectionType_Counters_StateDisabledByMethod_TimeFirstChange = 19830 + PubSubDiagnosticsConnectionType_LiveValues = 19831 + PubSubDiagnosticsConnectionType_LiveValues_ResolvedAddress = 19832 + PubSubDiagnosticsConnectionType_LiveValues_ResolvedAddress_DiagnosticsLevel = 19833 + PubSubDiagnosticsWriterGroupType = 19834 + PubSubDiagnosticsWriterGroupType_DiagnosticsLevel = 19835 + PubSubDiagnosticsWriterGroupType_TotalInformation = 19836 + PubSubDiagnosticsWriterGroupType_TotalInformation_Active = 19837 + PubSubDiagnosticsWriterGroupType_TotalInformation_Classification = 19838 + PubSubDiagnosticsWriterGroupType_TotalInformation_DiagnosticsLevel = 19839 + PubSubDiagnosticsWriterGroupType_TotalInformation_TimeFirstChange = 19840 + PubSubDiagnosticsWriterGroupType_TotalError = 19841 + PubSubDiagnosticsWriterGroupType_TotalError_Active = 19842 + PubSubDiagnosticsWriterGroupType_TotalError_Classification = 19843 + PubSubDiagnosticsWriterGroupType_TotalError_DiagnosticsLevel = 19844 + PubSubDiagnosticsWriterGroupType_TotalError_TimeFirstChange = 19845 + PubSubDiagnosticsWriterGroupType_Reset = 19846 + PubSubDiagnosticsWriterGroupType_SubError = 19847 + PubSubDiagnosticsWriterGroupType_Counters = 19848 + PubSubDiagnosticsWriterGroupType_Counters_StateError = 19849 + PubSubDiagnosticsWriterGroupType_Counters_StateError_Active = 19850 + PubSubDiagnosticsWriterGroupType_Counters_StateError_Classification = 19851 + PubSubDiagnosticsWriterGroupType_Counters_StateError_DiagnosticsLevel = 19852 + PubSubDiagnosticsWriterGroupType_Counters_StateError_TimeFirstChange = 19853 + PubSubDiagnosticsWriterGroupType_Counters_StateOperationalByMethod = 19854 + PubSubDiagnosticsWriterGroupType_Counters_StateOperationalByMethod_Active = 19855 + PubSubDiagnosticsWriterGroupType_Counters_StateOperationalByMethod_Classification = 19856 + PubSubDiagnosticsWriterGroupType_Counters_StateOperationalByMethod_DiagnosticsLevel = 19857 + PubSubDiagnosticsWriterGroupType_Counters_StateOperationalByMethod_TimeFirstChange = 19858 + PubSubDiagnosticsWriterGroupType_Counters_StateOperationalByParent = 19859 + PubSubDiagnosticsWriterGroupType_Counters_StateOperationalByParent_Active = 19860 + PubSubDiagnosticsWriterGroupType_Counters_StateOperationalByParent_Classification = 19861 + PubSubDiagnosticsWriterGroupType_Counters_StateOperationalByParent_DiagnosticsLevel = 19862 + PubSubDiagnosticsWriterGroupType_Counters_StateOperationalByParent_TimeFirstChange = 19863 + PubSubDiagnosticsWriterGroupType_Counters_StateOperationalFromError = 19864 + PubSubDiagnosticsWriterGroupType_Counters_StateOperationalFromError_Active = 19865 + PubSubDiagnosticsWriterGroupType_Counters_StateOperationalFromError_Classification = 19866 + PubSubDiagnosticsWriterGroupType_Counters_StateOperationalFromError_DiagnosticsLevel = 19867 + PubSubDiagnosticsWriterGroupType_Counters_StateOperationalFromError_TimeFirstChange = 19868 + PubSubDiagnosticsWriterGroupType_Counters_StatePausedByParent = 19869 + PubSubDiagnosticsWriterGroupType_Counters_StatePausedByParent_Active = 19870 + PubSubDiagnosticsWriterGroupType_Counters_StatePausedByParent_Classification = 19871 + PubSubDiagnosticsWriterGroupType_Counters_StatePausedByParent_DiagnosticsLevel = 19872 + PubSubDiagnosticsWriterGroupType_Counters_StatePausedByParent_TimeFirstChange = 19873 + PubSubDiagnosticsWriterGroupType_Counters_StateDisabledByMethod = 19874 + PubSubDiagnosticsWriterGroupType_Counters_StateDisabledByMethod_Active = 19875 + PubSubDiagnosticsWriterGroupType_Counters_StateDisabledByMethod_Classification = 19876 + PubSubDiagnosticsWriterGroupType_Counters_StateDisabledByMethod_DiagnosticsLevel = 19877 + PubSubDiagnosticsWriterGroupType_Counters_StateDisabledByMethod_TimeFirstChange = 19878 + PubSubDiagnosticsWriterGroupType_LiveValues = 19879 + PubSubDiagnosticsWriterGroupType_Counters_SentNetworkMessages = 19880 + PubSubDiagnosticsWriterGroupType_Counters_SentNetworkMessages_Active = 19881 + PubSubDiagnosticsWriterGroupType_Counters_SentNetworkMessages_Classification = 19882 + PubSubDiagnosticsWriterGroupType_Counters_SentNetworkMessages_DiagnosticsLevel = 19883 + PubSubDiagnosticsWriterGroupType_Counters_SentNetworkMessages_TimeFirstChange = 19884 + PubSubDiagnosticsWriterGroupType_Counters_FailedTransmissions = 19885 + PubSubDiagnosticsWriterGroupType_Counters_FailedTransmissions_Active = 19886 + PubSubDiagnosticsWriterGroupType_Counters_FailedTransmissions_Classification = 19887 + PubSubDiagnosticsWriterGroupType_Counters_FailedTransmissions_DiagnosticsLevel = 19888 + PubSubDiagnosticsWriterGroupType_Counters_FailedTransmissions_TimeFirstChange = 19889 + PubSubDiagnosticsWriterGroupType_Counters_EncryptionErrors = 19890 + PubSubDiagnosticsWriterGroupType_Counters_EncryptionErrors_Active = 19891 + PubSubDiagnosticsWriterGroupType_Counters_EncryptionErrors_Classification = 19892 + PubSubDiagnosticsWriterGroupType_Counters_EncryptionErrors_DiagnosticsLevel = 19893 + PubSubDiagnosticsWriterGroupType_Counters_EncryptionErrors_TimeFirstChange = 19894 + PubSubDiagnosticsWriterGroupType_LiveValues_ConfiguredDataSetWriters = 19895 + PubSubDiagnosticsWriterGroupType_LiveValues_ConfiguredDataSetWriters_DiagnosticsLevel = 19896 + PubSubDiagnosticsWriterGroupType_LiveValues_OperationalDataSetWriters = 19897 + PubSubDiagnosticsWriterGroupType_LiveValues_OperationalDataSetWriters_DiagnosticsLevel = 19898 + PubSubDiagnosticsWriterGroupType_LiveValues_SecurityTokenID = 19899 + PubSubDiagnosticsWriterGroupType_LiveValues_SecurityTokenID_DiagnosticsLevel = 19900 + PubSubDiagnosticsWriterGroupType_LiveValues_TimeToNextTokenID = 19901 + PubSubDiagnosticsWriterGroupType_LiveValues_TimeToNextTokenID_DiagnosticsLevel = 19902 + PubSubDiagnosticsReaderGroupType = 19903 + PubSubDiagnosticsReaderGroupType_DiagnosticsLevel = 19904 + PubSubDiagnosticsReaderGroupType_TotalInformation = 19905 + PubSubDiagnosticsReaderGroupType_TotalInformation_Active = 19906 + PubSubDiagnosticsReaderGroupType_TotalInformation_Classification = 19907 + PubSubDiagnosticsReaderGroupType_TotalInformation_DiagnosticsLevel = 19908 + PubSubDiagnosticsReaderGroupType_TotalInformation_TimeFirstChange = 19909 + PubSubDiagnosticsReaderGroupType_TotalError = 19910 + PubSubDiagnosticsReaderGroupType_TotalError_Active = 19911 + PubSubDiagnosticsReaderGroupType_TotalError_Classification = 19912 + PubSubDiagnosticsReaderGroupType_TotalError_DiagnosticsLevel = 19913 + PubSubDiagnosticsReaderGroupType_TotalError_TimeFirstChange = 19914 + PubSubDiagnosticsReaderGroupType_Reset = 19915 + PubSubDiagnosticsReaderGroupType_SubError = 19916 + PubSubDiagnosticsReaderGroupType_Counters = 19917 + PubSubDiagnosticsReaderGroupType_Counters_StateError = 19918 + PubSubDiagnosticsReaderGroupType_Counters_StateError_Active = 19919 + PubSubDiagnosticsReaderGroupType_Counters_StateError_Classification = 19920 + PubSubDiagnosticsReaderGroupType_Counters_StateError_DiagnosticsLevel = 19921 + PubSubDiagnosticsReaderGroupType_Counters_StateError_TimeFirstChange = 19922 + PubSubDiagnosticsReaderGroupType_Counters_StateOperationalByMethod = 19923 + PubSubDiagnosticsReaderGroupType_Counters_StateOperationalByMethod_Active = 19924 + PubSubDiagnosticsReaderGroupType_Counters_StateOperationalByMethod_Classification = 19925 + PubSubDiagnosticsReaderGroupType_Counters_StateOperationalByMethod_DiagnosticsLevel = 19926 + PubSubDiagnosticsReaderGroupType_Counters_StateOperationalByMethod_TimeFirstChange = 19927 + PubSubDiagnosticsReaderGroupType_Counters_StateOperationalByParent = 19928 + PubSubDiagnosticsReaderGroupType_Counters_StateOperationalByParent_Active = 19929 + PubSubDiagnosticsReaderGroupType_Counters_StateOperationalByParent_Classification = 19930 + PubSubDiagnosticsReaderGroupType_Counters_StateOperationalByParent_DiagnosticsLevel = 19931 + PubSubDiagnosticsReaderGroupType_Counters_StateOperationalByParent_TimeFirstChange = 19932 + PubSubDiagnosticsReaderGroupType_Counters_StateOperationalFromError = 19933 + PubSubDiagnosticsReaderGroupType_Counters_StateOperationalFromError_Active = 19934 + PubSubDiagnosticsReaderGroupType_Counters_StateOperationalFromError_Classification = 19935 + PubSubDiagnosticsReaderGroupType_Counters_StateOperationalFromError_DiagnosticsLevel = 19936 + PubSubDiagnosticsReaderGroupType_Counters_StateOperationalFromError_TimeFirstChange = 19937 + PubSubDiagnosticsReaderGroupType_Counters_StatePausedByParent = 19938 + PubSubDiagnosticsReaderGroupType_Counters_StatePausedByParent_Active = 19939 + PubSubDiagnosticsReaderGroupType_Counters_StatePausedByParent_Classification = 19940 + PubSubDiagnosticsReaderGroupType_Counters_StatePausedByParent_DiagnosticsLevel = 19941 + PubSubDiagnosticsReaderGroupType_Counters_StatePausedByParent_TimeFirstChange = 19942 + PubSubDiagnosticsReaderGroupType_Counters_StateDisabledByMethod = 19943 + PubSubDiagnosticsReaderGroupType_Counters_StateDisabledByMethod_Active = 19944 + PubSubDiagnosticsReaderGroupType_Counters_StateDisabledByMethod_Classification = 19945 + PubSubDiagnosticsReaderGroupType_Counters_StateDisabledByMethod_DiagnosticsLevel = 19946 + PubSubDiagnosticsReaderGroupType_Counters_StateDisabledByMethod_TimeFirstChange = 19947 + PubSubDiagnosticsReaderGroupType_LiveValues = 19948 + PubSubDiagnosticsReaderGroupType_Counters_ReceivedNetworkMessages = 19949 + PubSubDiagnosticsReaderGroupType_Counters_ReceivedNetworkMessages_Active = 19950 + PubSubDiagnosticsReaderGroupType_Counters_ReceivedNetworkMessages_Classification = 19951 + PubSubDiagnosticsReaderGroupType_Counters_ReceivedNetworkMessages_DiagnosticsLevel = 19952 + PubSubDiagnosticsReaderGroupType_Counters_ReceivedNetworkMessages_TimeFirstChange = 19953 + PubSubDiagnosticsReaderGroupType_Counters_ReceivedInvalidNetworkMessages = 19954 + PubSubDiagnosticsReaderGroupType_Counters_ReceivedInvalidNetworkMessages_Active = 19955 + PubSubDiagnosticsReaderGroupType_Counters_ReceivedInvalidNetworkMessages_Classification = 19956 + PubSubDiagnosticsReaderGroupType_Counters_ReceivedInvalidNetworkMessages_DiagnosticsLevel = 19957 + PubSubDiagnosticsReaderGroupType_Counters_ReceivedInvalidNetworkMessages_TimeFirstChange = 19958 + PubSubDiagnosticsReaderGroupType_Counters_DecryptionErrors = 19959 + PubSubDiagnosticsReaderGroupType_Counters_DecryptionErrors_Active = 19960 + PubSubDiagnosticsReaderGroupType_Counters_DecryptionErrors_Classification = 19961 + PubSubDiagnosticsReaderGroupType_Counters_DecryptionErrors_DiagnosticsLevel = 19962 + PubSubDiagnosticsReaderGroupType_Counters_DecryptionErrors_TimeFirstChange = 19963 + PubSubDiagnosticsReaderGroupType_LiveValues_ConfiguredDataSetReaders = 19964 + PubSubDiagnosticsReaderGroupType_LiveValues_ConfiguredDataSetReaders_DiagnosticsLevel = 19965 + PubSubDiagnosticsReaderGroupType_LiveValues_OperationalDataSetReaders = 19966 + PubSubDiagnosticsReaderGroupType_LiveValues_OperationalDataSetReaders_DiagnosticsLevel = 19967 + PubSubDiagnosticsDataSetWriterType = 19968 + PubSubDiagnosticsDataSetWriterType_DiagnosticsLevel = 19969 + PubSubDiagnosticsDataSetWriterType_TotalInformation = 19970 + PubSubDiagnosticsDataSetWriterType_TotalInformation_Active = 19971 + PubSubDiagnosticsDataSetWriterType_TotalInformation_Classification = 19972 + PubSubDiagnosticsDataSetWriterType_TotalInformation_DiagnosticsLevel = 19973 + PubSubDiagnosticsDataSetWriterType_TotalInformation_TimeFirstChange = 19974 + PubSubDiagnosticsDataSetWriterType_TotalError = 19975 + PubSubDiagnosticsDataSetWriterType_TotalError_Active = 19976 + PubSubDiagnosticsDataSetWriterType_TotalError_Classification = 19977 + PubSubDiagnosticsDataSetWriterType_TotalError_DiagnosticsLevel = 19978 + PubSubDiagnosticsDataSetWriterType_TotalError_TimeFirstChange = 19979 + PubSubDiagnosticsDataSetWriterType_Reset = 19980 + PubSubDiagnosticsDataSetWriterType_SubError = 19981 + PubSubDiagnosticsDataSetWriterType_Counters = 19982 + PubSubDiagnosticsDataSetWriterType_Counters_StateError = 19983 + PubSubDiagnosticsDataSetWriterType_Counters_StateError_Active = 19984 + PubSubDiagnosticsDataSetWriterType_Counters_StateError_Classification = 19985 + PubSubDiagnosticsDataSetWriterType_Counters_StateError_DiagnosticsLevel = 19986 + PubSubDiagnosticsDataSetWriterType_Counters_StateError_TimeFirstChange = 19987 + PubSubDiagnosticsDataSetWriterType_Counters_StateOperationalByMethod = 19988 + PubSubDiagnosticsDataSetWriterType_Counters_StateOperationalByMethod_Active = 19989 + PubSubDiagnosticsDataSetWriterType_Counters_StateOperationalByMethod_Classification = 19990 + PubSubDiagnosticsDataSetWriterType_Counters_StateOperationalByMethod_DiagnosticsLevel = 19991 + PubSubDiagnosticsDataSetWriterType_Counters_StateOperationalByMethod_TimeFirstChange = 19992 + PubSubDiagnosticsDataSetWriterType_Counters_StateOperationalByParent = 19993 + PubSubDiagnosticsDataSetWriterType_Counters_StateOperationalByParent_Active = 19994 + PubSubDiagnosticsDataSetWriterType_Counters_StateOperationalByParent_Classification = 19995 + PubSubDiagnosticsDataSetWriterType_Counters_StateOperationalByParent_DiagnosticsLevel = 19996 + PubSubDiagnosticsDataSetWriterType_Counters_StateOperationalByParent_TimeFirstChange = 19997 + PubSubDiagnosticsDataSetWriterType_Counters_StateOperationalFromError = 19998 + PubSubDiagnosticsDataSetWriterType_Counters_StateOperationalFromError_Active = 19999 + PubSubDiagnosticsDataSetWriterType_Counters_StateOperationalFromError_Classification = 20000 + PubSubDiagnosticsDataSetWriterType_Counters_StateOperationalFromError_DiagnosticsLevel = 20001 + PubSubDiagnosticsDataSetWriterType_Counters_StateOperationalFromError_TimeFirstChange = 20002 + PubSubDiagnosticsDataSetWriterType_Counters_StatePausedByParent = 20003 + PubSubDiagnosticsDataSetWriterType_Counters_StatePausedByParent_Active = 20004 + PubSubDiagnosticsDataSetWriterType_Counters_StatePausedByParent_Classification = 20005 + PubSubDiagnosticsDataSetWriterType_Counters_StatePausedByParent_DiagnosticsLevel = 20006 + PubSubDiagnosticsDataSetWriterType_Counters_StatePausedByParent_TimeFirstChange = 20007 + PubSubDiagnosticsDataSetWriterType_Counters_StateDisabledByMethod = 20008 + PubSubDiagnosticsDataSetWriterType_Counters_StateDisabledByMethod_Active = 20009 + PubSubDiagnosticsDataSetWriterType_Counters_StateDisabledByMethod_Classification = 20010 + PubSubDiagnosticsDataSetWriterType_Counters_StateDisabledByMethod_DiagnosticsLevel = 20011 + PubSubDiagnosticsDataSetWriterType_Counters_StateDisabledByMethod_TimeFirstChange = 20012 + PubSubDiagnosticsDataSetWriterType_LiveValues = 20013 + PubSubDiagnosticsDataSetWriterType_Counters_FailedDataSetMessages = 20014 + PubSubDiagnosticsDataSetWriterType_Counters_FailedDataSetMessages_Active = 20015 + PubSubDiagnosticsDataSetWriterType_Counters_FailedDataSetMessages_Classification = 20016 + PubSubDiagnosticsDataSetWriterType_Counters_FailedDataSetMessages_DiagnosticsLevel = 20017 + PubSubDiagnosticsDataSetWriterType_Counters_FailedDataSetMessages_TimeFirstChange = 20018 + PubSubDiagnosticsDataSetWriterType_LiveValues_MessageSequenceNumber = 20019 + PubSubDiagnosticsDataSetWriterType_LiveValues_MessageSequenceNumber_DiagnosticsLevel = 20020 + PubSubDiagnosticsDataSetWriterType_LiveValues_StatusCode = 20021 + PubSubDiagnosticsDataSetWriterType_LiveValues_StatusCode_DiagnosticsLevel = 20022 + PubSubDiagnosticsDataSetWriterType_LiveValues_MajorVersion = 20023 + PubSubDiagnosticsDataSetWriterType_LiveValues_MajorVersion_DiagnosticsLevel = 20024 + PubSubDiagnosticsDataSetWriterType_LiveValues_MinorVersion = 20025 + PubSubDiagnosticsDataSetWriterType_LiveValues_MinorVersion_DiagnosticsLevel = 20026 + PubSubDiagnosticsDataSetReaderType = 20027 + PubSubDiagnosticsDataSetReaderType_DiagnosticsLevel = 20028 + PubSubDiagnosticsDataSetReaderType_TotalInformation = 20029 + PubSubDiagnosticsDataSetReaderType_TotalInformation_Active = 20030 + PubSubDiagnosticsDataSetReaderType_TotalInformation_Classification = 20031 + PubSubDiagnosticsDataSetReaderType_TotalInformation_DiagnosticsLevel = 20032 + PubSubDiagnosticsDataSetReaderType_TotalInformation_TimeFirstChange = 20033 + PubSubDiagnosticsDataSetReaderType_TotalError = 20034 + PubSubDiagnosticsDataSetReaderType_TotalError_Active = 20035 + PubSubDiagnosticsDataSetReaderType_TotalError_Classification = 20036 + PubSubDiagnosticsDataSetReaderType_TotalError_DiagnosticsLevel = 20037 + PubSubDiagnosticsDataSetReaderType_TotalError_TimeFirstChange = 20038 + PubSubDiagnosticsDataSetReaderType_Reset = 20039 + PubSubDiagnosticsDataSetReaderType_SubError = 20040 + PubSubDiagnosticsDataSetReaderType_Counters = 20041 + PubSubDiagnosticsDataSetReaderType_Counters_StateError = 20042 + PubSubDiagnosticsDataSetReaderType_Counters_StateError_Active = 20043 + PubSubDiagnosticsDataSetReaderType_Counters_StateError_Classification = 20044 + PubSubDiagnosticsDataSetReaderType_Counters_StateError_DiagnosticsLevel = 20045 + PubSubDiagnosticsDataSetReaderType_Counters_StateError_TimeFirstChange = 20046 + PubSubDiagnosticsDataSetReaderType_Counters_StateOperationalByMethod = 20047 + PubSubDiagnosticsDataSetReaderType_Counters_StateOperationalByMethod_Active = 20048 + PubSubDiagnosticsDataSetReaderType_Counters_StateOperationalByMethod_Classification = 20049 + PubSubDiagnosticsDataSetReaderType_Counters_StateOperationalByMethod_DiagnosticsLevel = 20050 + PubSubDiagnosticsDataSetReaderType_Counters_StateOperationalByMethod_TimeFirstChange = 20051 + PubSubDiagnosticsDataSetReaderType_Counters_StateOperationalByParent = 20052 + PubSubDiagnosticsDataSetReaderType_Counters_StateOperationalByParent_Active = 20053 + PubSubDiagnosticsDataSetReaderType_Counters_StateOperationalByParent_Classification = 20054 + PubSubDiagnosticsDataSetReaderType_Counters_StateOperationalByParent_DiagnosticsLevel = 20055 + PubSubDiagnosticsDataSetReaderType_Counters_StateOperationalByParent_TimeFirstChange = 20056 + PubSubDiagnosticsDataSetReaderType_Counters_StateOperationalFromError = 20057 + PubSubDiagnosticsDataSetReaderType_Counters_StateOperationalFromError_Active = 20058 + PubSubDiagnosticsDataSetReaderType_Counters_StateOperationalFromError_Classification = 20059 + PubSubDiagnosticsDataSetReaderType_Counters_StateOperationalFromError_DiagnosticsLevel = 20060 + PubSubDiagnosticsDataSetReaderType_Counters_StateOperationalFromError_TimeFirstChange = 20061 + PubSubDiagnosticsDataSetReaderType_Counters_StatePausedByParent = 20062 + PubSubDiagnosticsDataSetReaderType_Counters_StatePausedByParent_Active = 20063 + PubSubDiagnosticsDataSetReaderType_Counters_StatePausedByParent_Classification = 20064 + PubSubDiagnosticsDataSetReaderType_Counters_StatePausedByParent_DiagnosticsLevel = 20065 + PubSubDiagnosticsDataSetReaderType_Counters_StatePausedByParent_TimeFirstChange = 20066 + PubSubDiagnosticsDataSetReaderType_Counters_StateDisabledByMethod = 20067 + PubSubDiagnosticsDataSetReaderType_Counters_StateDisabledByMethod_Active = 20068 + PubSubDiagnosticsDataSetReaderType_Counters_StateDisabledByMethod_Classification = 20069 + PubSubDiagnosticsDataSetReaderType_Counters_StateDisabledByMethod_DiagnosticsLevel = 20070 + PubSubDiagnosticsDataSetReaderType_Counters_StateDisabledByMethod_TimeFirstChange = 20071 + PubSubDiagnosticsDataSetReaderType_LiveValues = 20072 + PubSubDiagnosticsDataSetReaderType_Counters_FailedDataSetMessages = 20073 + PubSubDiagnosticsDataSetReaderType_Counters_FailedDataSetMessages_Active = 20074 + PubSubDiagnosticsDataSetReaderType_Counters_FailedDataSetMessages_Classification = 20075 + PubSubDiagnosticsDataSetReaderType_Counters_FailedDataSetMessages_DiagnosticsLevel = 20076 + PubSubDiagnosticsDataSetReaderType_Counters_FailedDataSetMessages_TimeFirstChange = 20077 + PubSubDiagnosticsDataSetReaderType_Counters_DecryptionErrors = 20078 + PubSubDiagnosticsDataSetReaderType_Counters_DecryptionErrors_Active = 20079 + PubSubDiagnosticsDataSetReaderType_Counters_DecryptionErrors_Classification = 20080 + PubSubDiagnosticsDataSetReaderType_Counters_DecryptionErrors_DiagnosticsLevel = 20081 + PubSubDiagnosticsDataSetReaderType_Counters_DecryptionErrors_TimeFirstChange = 20082 + PubSubDiagnosticsDataSetReaderType_LiveValues_MessageSequenceNumber = 20083 + PubSubDiagnosticsDataSetReaderType_LiveValues_MessageSequenceNumber_DiagnosticsLevel = 20084 + PubSubDiagnosticsDataSetReaderType_LiveValues_StatusCode = 20085 + PubSubDiagnosticsDataSetReaderType_LiveValues_StatusCode_DiagnosticsLevel = 20086 + PubSubDiagnosticsDataSetReaderType_LiveValues_MajorVersion = 20087 + PubSubDiagnosticsDataSetReaderType_LiveValues_MajorVersion_DiagnosticsLevel = 20088 + PubSubDiagnosticsDataSetReaderType_LiveValues_MinorVersion = 20089 + PubSubDiagnosticsDataSetReaderType_LiveValues_MinorVersion_DiagnosticsLevel = 20090 + PubSubDiagnosticsDataSetReaderType_LiveValues_SecurityTokenID = 20091 + PubSubDiagnosticsDataSetReaderType_LiveValues_SecurityTokenID_DiagnosticsLevel = 20092 + PubSubDiagnosticsDataSetReaderType_LiveValues_TimeToNextTokenID = 20093 + PubSubDiagnosticsDataSetReaderType_LiveValues_TimeToNextTokenID_DiagnosticsLevel = 20094 + DataSetOrderingType = 20408 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_LiveValues_SecurityTokenID = 20409 + VersionTime = 20998 + SessionlessInvokeResponseType = 20999 + SessionlessInvokeResponseType_Encoding_DefaultXml = 21000 + SessionlessInvokeResponseType_Encoding_DefaultBinary = 21001 + OpcUa_BinarySchema_FieldTargetDataType = 21002 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_LiveValues_SecurityTokenID_DiagnosticsLevel = 21003 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_LiveValues_TimeToNextTokenID = 21004 + ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_LiveValues_TimeToNextTokenID_DiagnosticsLevel = 21005 + ReaderGroupType_DataSetReaderName_Placeholder_SubscribedDataSet = 21006 + ReaderGroupType_DataSetReaderName_Placeholder_SubscribedDataSet_DataSetMetaData = 21007 + ReaderGroupType_DataSetReaderName_Placeholder_SubscribedDataSet_MessageReceiveTimeout = 21008 + ReaderGroupType_DataSetReaderName_Placeholder_CreateTargetVariables = 21009 + ReaderGroupType_DataSetReaderName_Placeholder_CreateTargetVariables_InputArguments = 21010 + ReaderGroupType_DataSetReaderName_Placeholder_CreateTargetVariables_OutputArguments = 21011 + ReaderGroupType_DataSetReaderName_Placeholder_CreateDataSetMirror = 21012 + ReaderGroupType_DataSetReaderName_Placeholder_CreateDataSetMirror_InputArguments = 21013 + ReaderGroupType_DataSetReaderName_Placeholder_CreateDataSetMirror_OutputArguments = 21014 + ReaderGroupType_Diagnostics = 21015 + ReaderGroupType_Diagnostics_DiagnosticsLevel = 21016 + ReaderGroupType_Diagnostics_TotalInformation = 21017 + ReaderGroupType_Diagnostics_TotalInformation_Active = 21018 + ReaderGroupType_Diagnostics_TotalInformation_Classification = 21019 + ReaderGroupType_Diagnostics_TotalInformation_DiagnosticsLevel = 21020 + ReaderGroupType_Diagnostics_TotalInformation_TimeFirstChange = 21021 + ReaderGroupType_Diagnostics_TotalError = 21022 + ReaderGroupType_Diagnostics_TotalError_Active = 21023 + ReaderGroupType_Diagnostics_TotalError_Classification = 21024 + ReaderGroupType_Diagnostics_TotalError_DiagnosticsLevel = 21025 + ReaderGroupType_Diagnostics_TotalError_TimeFirstChange = 21026 + ReaderGroupType_Diagnostics_Reset = 21027 + ReaderGroupType_Diagnostics_SubError = 21028 + ReaderGroupType_Diagnostics_Counters = 21029 + ReaderGroupType_Diagnostics_Counters_StateError = 21030 + ReaderGroupType_Diagnostics_Counters_StateError_Active = 21031 + ReaderGroupType_Diagnostics_Counters_StateError_Classification = 21032 + ReaderGroupType_Diagnostics_Counters_StateError_DiagnosticsLevel = 21033 + ReaderGroupType_Diagnostics_Counters_StateError_TimeFirstChange = 21034 + ReaderGroupType_Diagnostics_Counters_StateOperationalByMethod = 21035 + ReaderGroupType_Diagnostics_Counters_StateOperationalByMethod_Active = 21036 + ReaderGroupType_Diagnostics_Counters_StateOperationalByMethod_Classification = 21037 + ReaderGroupType_Diagnostics_Counters_StateOperationalByMethod_DiagnosticsLevel = 21038 + ReaderGroupType_Diagnostics_Counters_StateOperationalByMethod_TimeFirstChange = 21039 + ReaderGroupType_Diagnostics_Counters_StateOperationalByParent = 21040 + ReaderGroupType_Diagnostics_Counters_StateOperationalByParent_Active = 21041 + ReaderGroupType_Diagnostics_Counters_StateOperationalByParent_Classification = 21042 + ReaderGroupType_Diagnostics_Counters_StateOperationalByParent_DiagnosticsLevel = 21043 + ReaderGroupType_Diagnostics_Counters_StateOperationalByParent_TimeFirstChange = 21044 + ReaderGroupType_Diagnostics_Counters_StateOperationalFromError = 21045 + ReaderGroupType_Diagnostics_Counters_StateOperationalFromError_Active = 21046 + ReaderGroupType_Diagnostics_Counters_StateOperationalFromError_Classification = 21047 + ReaderGroupType_Diagnostics_Counters_StateOperationalFromError_DiagnosticsLevel = 21048 + ReaderGroupType_Diagnostics_Counters_StateOperationalFromError_TimeFirstChange = 21049 + ReaderGroupType_Diagnostics_Counters_StatePausedByParent = 21050 + ReaderGroupType_Diagnostics_Counters_StatePausedByParent_Active = 21051 + ReaderGroupType_Diagnostics_Counters_StatePausedByParent_Classification = 21052 + ReaderGroupType_Diagnostics_Counters_StatePausedByParent_DiagnosticsLevel = 21053 + ReaderGroupType_Diagnostics_Counters_StatePausedByParent_TimeFirstChange = 21054 + ReaderGroupType_Diagnostics_Counters_StateDisabledByMethod = 21055 + ReaderGroupType_Diagnostics_Counters_StateDisabledByMethod_Active = 21056 + ReaderGroupType_Diagnostics_Counters_StateDisabledByMethod_Classification = 21057 + ReaderGroupType_Diagnostics_Counters_StateDisabledByMethod_DiagnosticsLevel = 21058 + ReaderGroupType_Diagnostics_Counters_StateDisabledByMethod_TimeFirstChange = 21059 + ReaderGroupType_Diagnostics_LiveValues = 21060 + ReaderGroupType_Diagnostics_Counters_ReceivedNetworkMessages = 21061 + ReaderGroupType_Diagnostics_Counters_ReceivedNetworkMessages_Active = 21062 + ReaderGroupType_Diagnostics_Counters_ReceivedNetworkMessages_Classification = 21063 + ReaderGroupType_Diagnostics_Counters_ReceivedNetworkMessages_DiagnosticsLevel = 21064 + ReaderGroupType_Diagnostics_Counters_ReceivedNetworkMessages_TimeFirstChange = 21065 + ReaderGroupType_Diagnostics_Counters_ReceivedInvalidNetworkMessages = 21066 + ReaderGroupType_Diagnostics_Counters_ReceivedInvalidNetworkMessages_Active = 21067 + ReaderGroupType_Diagnostics_Counters_ReceivedInvalidNetworkMessages_Classification = 21068 + ReaderGroupType_Diagnostics_Counters_ReceivedInvalidNetworkMessages_DiagnosticsLevel = 21069 + ReaderGroupType_Diagnostics_Counters_ReceivedInvalidNetworkMessages_TimeFirstChange = 21070 + ReaderGroupType_Diagnostics_Counters_DecryptionErrors = 21071 + ReaderGroupType_Diagnostics_Counters_DecryptionErrors_Active = 21072 + ReaderGroupType_Diagnostics_Counters_DecryptionErrors_Classification = 21073 + ReaderGroupType_Diagnostics_Counters_DecryptionErrors_DiagnosticsLevel = 21074 + ReaderGroupType_Diagnostics_Counters_DecryptionErrors_TimeFirstChange = 21075 + ReaderGroupType_Diagnostics_LiveValues_ConfiguredDataSetReaders = 21076 + ReaderGroupType_Diagnostics_LiveValues_ConfiguredDataSetReaders_DiagnosticsLevel = 21077 + ReaderGroupType_Diagnostics_LiveValues_OperationalDataSetReaders = 21078 + ReaderGroupType_Diagnostics_LiveValues_OperationalDataSetReaders_DiagnosticsLevel = 21079 + ReaderGroupType_TransportSettings = 21080 + ReaderGroupType_MessageSettings = 21081 + ReaderGroupType_AddDataSetReader = 21082 + ReaderGroupType_AddDataSetReader_InputArguments = 21083 + ReaderGroupType_AddDataSetReader_OutputArguments = 21084 + ReaderGroupType_RemoveDataSetReader = 21085 + ReaderGroupType_RemoveDataSetReader_InputArguments = 21086 + PubSubGroupTypeAddReaderMethodType = 21087 + PubSubGroupTypeAddReaderMethodType_InputArguments = 21088 + PubSubGroupTypeAddReaderMethodType_OutputArguments = 21089 + ReaderGroupTransportType = 21090 + ReaderGroupMessageType = 21091 + DataSetWriterType_DataSetWriterId = 21092 + DataSetWriterType_DataSetFieldContentMask = 21093 + DataSetWriterType_KeyFrameCount = 21094 + DataSetWriterType_MessageSettings = 21095 + DataSetWriterMessageType = 21096 + DataSetReaderType_PublisherId = 21097 + DataSetReaderType_WriterGroupId = 21098 + DataSetReaderType_DataSetWriterId = 21099 + DataSetReaderType_DataSetMetaData = 21100 + DataSetReaderType_DataSetFieldContentMask = 21101 + DataSetReaderType_MessageReceiveTimeout = 21102 + DataSetReaderType_MessageSettings = 21103 + DataSetReaderMessageType = 21104 + UadpWriterGroupMessageType = 21105 + UadpWriterGroupMessageType_GroupVersion = 21106 + UadpWriterGroupMessageType_DataSetOrdering = 21107 + UadpWriterGroupMessageType_NetworkMessageContentMask = 21108 + UadpWriterGroupMessageType_SamplingOffset = 21109 + UadpWriterGroupMessageType_PublishingOffset = 21110 + UadpDataSetWriterMessageType = 21111 + UadpDataSetWriterMessageType_DataSetMessageContentMask = 21112 + UadpDataSetWriterMessageType_ConfiguredSize = 21113 + UadpDataSetWriterMessageType_NetworkMessageNumber = 21114 + UadpDataSetWriterMessageType_DataSetOffset = 21115 + UadpDataSetReaderMessageType = 21116 + UadpDataSetReaderMessageType_GroupVersion = 21117 + UadpDataSetReaderMessageType_DataSetOrdering = 21118 + UadpDataSetReaderMessageType_NetworkMessageNumber = 21119 + UadpDataSetReaderMessageType_DataSetClassId = 21120 + UadpDataSetReaderMessageType_NetworkMessageContentMask = 21121 + UadpDataSetReaderMessageType_DataSetMessageContentMask = 21122 + UadpDataSetReaderMessageType_PublishingInterval = 21123 + UadpDataSetReaderMessageType_ProcessingOffset = 21124 + UadpDataSetReaderMessageType_ReceiveOffset = 21125 + JsonWriterGroupMessageType = 21126 + JsonWriterGroupMessageType_NetworkMessageContentMask = 21127 + JsonDataSetWriterMessageType = 21128 + JsonDataSetWriterMessageType_DataSetMessageContentMask = 21129 + JsonDataSetReaderMessageType = 21130 + JsonDataSetReaderMessageType_NetworkMessageContentMask = 21131 + JsonDataSetReaderMessageType_DataSetMessageContentMask = 21132 + DatagramWriterGroupTransportType = 21133 + DatagramWriterGroupTransportType_MessageRepeatCount = 21134 + DatagramWriterGroupTransportType_MessageRepeatDelay = 21135 + BrokerWriterGroupTransportType = 21136 + BrokerWriterGroupTransportType_QueueName = 21137 + BrokerDataSetWriterTransportType = 21138 + BrokerDataSetWriterTransportType_QueueName = 21139 + BrokerDataSetWriterTransportType_MetaDataQueueName = 21140 + BrokerDataSetWriterTransportType_MetaDataUpdateTime = 21141 + BrokerDataSetReaderTransportType = 21142 + BrokerDataSetReaderTransportType_QueueName = 21143 + BrokerDataSetReaderTransportType_MetaDataQueueName = 21144 + NetworkAddressType = 21145 + NetworkAddressType_NetworkInterface = 21146 + NetworkAddressUrlType = 21147 + NetworkAddressUrlType_NetworkInterface = 21148 + NetworkAddressUrlType_Url = 21149 + WriterGroupDataType_Encoding_DefaultBinary = 21150 + NetworkAddressDataType_Encoding_DefaultBinary = 21151 + NetworkAddressUrlDataType_Encoding_DefaultBinary = 21152 + ReaderGroupDataType_Encoding_DefaultBinary = 21153 + PubSubConfigurationDataType_Encoding_DefaultBinary = 21154 + DatagramWriterGroupTransportDataType_Encoding_DefaultBinary = 21155 + OpcUa_BinarySchema_WriterGroupDataType = 21156 + OpcUa_BinarySchema_WriterGroupDataType_DataTypeVersion = 21157 + OpcUa_BinarySchema_WriterGroupDataType_DictionaryFragment = 21158 + OpcUa_BinarySchema_NetworkAddressDataType = 21159 + OpcUa_BinarySchema_NetworkAddressDataType_DataTypeVersion = 21160 + OpcUa_BinarySchema_NetworkAddressDataType_DictionaryFragment = 21161 + OpcUa_BinarySchema_NetworkAddressUrlDataType = 21162 + OpcUa_BinarySchema_NetworkAddressUrlDataType_DataTypeVersion = 21163 + OpcUa_BinarySchema_NetworkAddressUrlDataType_DictionaryFragment = 21164 + OpcUa_BinarySchema_ReaderGroupDataType = 21165 + OpcUa_BinarySchema_ReaderGroupDataType_DataTypeVersion = 21166 + OpcUa_BinarySchema_ReaderGroupDataType_DictionaryFragment = 21167 + OpcUa_BinarySchema_PubSubConfigurationDataType = 21168 + OpcUa_BinarySchema_PubSubConfigurationDataType_DataTypeVersion = 21169 + OpcUa_BinarySchema_PubSubConfigurationDataType_DictionaryFragment = 21170 + OpcUa_BinarySchema_DatagramWriterGroupTransportDataType = 21171 + OpcUa_BinarySchema_DatagramWriterGroupTransportDataType_DataTypeVersion = 21172 + OpcUa_BinarySchema_DatagramWriterGroupTransportDataType_DictionaryFragment = 21173 + WriterGroupDataType_Encoding_DefaultXml = 21174 + NetworkAddressDataType_Encoding_DefaultXml = 21175 + NetworkAddressUrlDataType_Encoding_DefaultXml = 21176 + ReaderGroupDataType_Encoding_DefaultXml = 21177 + PubSubConfigurationDataType_Encoding_DefaultXml = 21178 + DatagramWriterGroupTransportDataType_Encoding_DefaultXml = 21179 + OpcUa_XmlSchema_WriterGroupDataType = 21180 + OpcUa_XmlSchema_WriterGroupDataType_DataTypeVersion = 21181 + OpcUa_XmlSchema_WriterGroupDataType_DictionaryFragment = 21182 + OpcUa_XmlSchema_NetworkAddressDataType = 21183 + OpcUa_XmlSchema_NetworkAddressDataType_DataTypeVersion = 21184 + OpcUa_XmlSchema_NetworkAddressDataType_DictionaryFragment = 21185 + OpcUa_XmlSchema_NetworkAddressUrlDataType = 21186 + OpcUa_XmlSchema_NetworkAddressUrlDataType_DataTypeVersion = 21187 + OpcUa_XmlSchema_NetworkAddressUrlDataType_DictionaryFragment = 21188 + OpcUa_XmlSchema_ReaderGroupDataType = 21189 + OpcUa_XmlSchema_ReaderGroupDataType_DataTypeVersion = 21190 + OpcUa_XmlSchema_ReaderGroupDataType_DictionaryFragment = 21191 + OpcUa_XmlSchema_PubSubConfigurationDataType = 21192 + OpcUa_XmlSchema_PubSubConfigurationDataType_DataTypeVersion = 21193 + OpcUa_XmlSchema_PubSubConfigurationDataType_DictionaryFragment = 21194 + OpcUa_XmlSchema_DatagramWriterGroupTransportDataType = 21195 + OpcUa_XmlSchema_DatagramWriterGroupTransportDataType_DataTypeVersion = 21196 + OpcUa_XmlSchema_DatagramWriterGroupTransportDataType_DictionaryFragment = 21197 + WriterGroupDataType_Encoding_DefaultJson = 21198 + NetworkAddressDataType_Encoding_DefaultJson = 21199 + NetworkAddressUrlDataType_Encoding_DefaultJson = 21200 + ReaderGroupDataType_Encoding_DefaultJson = 21201 + PubSubConfigurationDataType_Encoding_DefaultJson = 21202 + DatagramWriterGroupTransportDataType_Encoding_DefaultJson = 21203 ObjectIdNames = {} @@ -5801,6 +10652,7 @@ class ObjectIds(object): ObjectIdNames[47] = 'HasComponent' ObjectIdNames[48] = 'HasNotifier' ObjectIdNames[49] = 'HasOrderedComponent' +ObjectIdNames[50] = 'Decimal' ObjectIdNames[51] = 'FromState' ObjectIdNames[52] = 'ToState' ObjectIdNames[53] = 'HasCause' @@ -5830,6 +10682,15 @@ class ObjectIds(object): ObjectIdNames[91] = 'ReferenceTypesFolder' ObjectIdNames[92] = 'XmlSchema_TypeSystem' ObjectIdNames[93] = 'OPCBinarySchema_TypeSystem' +ObjectIdNames[94] = 'PermissionType' +ObjectIdNames[95] = 'AccessRestrictionType' +ObjectIdNames[96] = 'RolePermissionType' +ObjectIdNames[97] = 'DataTypeDefinition' +ObjectIdNames[98] = 'StructureType' +ObjectIdNames[99] = 'StructureDefinition' +ObjectIdNames[100] = 'EnumDefinition' +ObjectIdNames[101] = 'StructureField' +ObjectIdNames[102] = 'EnumField' ObjectIdNames[104] = 'DataTypeDescriptionType_DataTypeVersion' ObjectIdNames[105] = 'DataTypeDescriptionType_DictionaryFragment' ObjectIdNames[106] = 'DataTypeDictionaryType_DataTypeVersion' @@ -5841,7 +10702,14 @@ class ObjectIds(object): ObjectIdNames[116] = 'ModellingRule_MandatoryShared_NamingRule' ObjectIdNames[117] = 'HasSubStateMachine' ObjectIdNames[120] = 'NamingRuleType' -ObjectIdNames[121] = 'Decimal128' +ObjectIdNames[121] = 'DataTypeDefinition_Encoding_DefaultBinary' +ObjectIdNames[122] = 'StructureDefinition_Encoding_DefaultBinary' +ObjectIdNames[123] = 'EnumDefinition_Encoding_DefaultBinary' +ObjectIdNames[124] = 'DataSetMetaDataType_Encoding_DefaultBinary' +ObjectIdNames[125] = 'DataTypeDescription_Encoding_DefaultBinary' +ObjectIdNames[126] = 'StructureDescription_Encoding_DefaultBinary' +ObjectIdNames[127] = 'EnumDescription_Encoding_DefaultBinary' +ObjectIdNames[128] = 'RolePermissionType_Encoding_DefaultBinary' ObjectIdNames[256] = 'IdType' ObjectIdNames[257] = 'NodeClass' ObjectIdNames[258] = 'Node' @@ -5917,16 +10785,9 @@ class ObjectIds(object): ObjectIdNames[331] = 'EndpointConfiguration' ObjectIdNames[332] = 'EndpointConfiguration_Encoding_DefaultXml' ObjectIdNames[333] = 'EndpointConfiguration_Encoding_DefaultBinary' -ObjectIdNames[334] = 'ComplianceLevel' -ObjectIdNames[335] = 'SupportedProfile' -ObjectIdNames[336] = 'SupportedProfile_Encoding_DefaultXml' -ObjectIdNames[337] = 'SupportedProfile_Encoding_DefaultBinary' ObjectIdNames[338] = 'BuildInfo' ObjectIdNames[339] = 'BuildInfo_Encoding_DefaultXml' ObjectIdNames[340] = 'BuildInfo_Encoding_DefaultBinary' -ObjectIdNames[341] = 'SoftwareCertificate' -ObjectIdNames[342] = 'SoftwareCertificate_Encoding_DefaultXml' -ObjectIdNames[343] = 'SoftwareCertificate_Encoding_DefaultBinary' ObjectIdNames[344] = 'SignedSoftwareCertificate' ObjectIdNames[345] = 'SignedSoftwareCertificate_Encoding_DefaultXml' ObjectIdNames[346] = 'SignedSoftwareCertificate_Encoding_DefaultBinary' @@ -5981,7 +10842,6 @@ class ObjectIds(object): ObjectIdNames[395] = 'ServiceFault' ObjectIdNames[396] = 'ServiceFault_Encoding_DefaultXml' ObjectIdNames[397] = 'ServiceFault_Encoding_DefaultBinary' -ObjectIdNames[398] = 'EnumeratedTestType' ObjectIdNames[420] = 'FindServersRequest' ObjectIdNames[421] = 'FindServersRequest_Encoding_DefaultXml' ObjectIdNames[422] = 'FindServersRequest_Encoding_DefaultBinary' @@ -7860,7 +12720,6 @@ class ObjectIds(object): ObjectIdNames[7596] = 'UserTokenType_EnumStrings' ObjectIdNames[7597] = 'ApplicationType_EnumStrings' ObjectIdNames[7598] = 'SecurityTokenRequestType_EnumStrings' -ObjectIdNames[7599] = 'ComplianceLevel_EnumStrings' ObjectIdNames[7603] = 'BrowseDirection_EnumStrings' ObjectIdNames[7605] = 'FilterOperator_EnumStrings' ObjectIdNames[7606] = 'TimestampsToReturn_EnumStrings' @@ -7910,15 +12769,9 @@ class ObjectIds(object): ObjectIdNames[7686] = 'OpcUa_BinarySchema_EndpointConfiguration' ObjectIdNames[7687] = 'OpcUa_BinarySchema_EndpointConfiguration_DataTypeVersion' ObjectIdNames[7688] = 'OpcUa_BinarySchema_EndpointConfiguration_DictionaryFragment' -ObjectIdNames[7689] = 'OpcUa_BinarySchema_SupportedProfile' -ObjectIdNames[7690] = 'OpcUa_BinarySchema_SupportedProfile_DataTypeVersion' -ObjectIdNames[7691] = 'OpcUa_BinarySchema_SupportedProfile_DictionaryFragment' ObjectIdNames[7692] = 'OpcUa_BinarySchema_BuildInfo' ObjectIdNames[7693] = 'OpcUa_BinarySchema_BuildInfo_DataTypeVersion' ObjectIdNames[7694] = 'OpcUa_BinarySchema_BuildInfo_DictionaryFragment' -ObjectIdNames[7695] = 'OpcUa_BinarySchema_SoftwareCertificate' -ObjectIdNames[7696] = 'OpcUa_BinarySchema_SoftwareCertificate_DataTypeVersion' -ObjectIdNames[7697] = 'OpcUa_BinarySchema_SoftwareCertificate_DictionaryFragment' ObjectIdNames[7698] = 'OpcUa_BinarySchema_SignedSoftwareCertificate' ObjectIdNames[7699] = 'OpcUa_BinarySchema_SignedSoftwareCertificate_DataTypeVersion' ObjectIdNames[7700] = 'OpcUa_BinarySchema_SignedSoftwareCertificate_DictionaryFragment' @@ -8055,15 +12908,9 @@ class ObjectIds(object): ObjectIdNames[8321] = 'OpcUa_XmlSchema_EndpointConfiguration' ObjectIdNames[8322] = 'OpcUa_XmlSchema_EndpointConfiguration_DataTypeVersion' ObjectIdNames[8323] = 'OpcUa_XmlSchema_EndpointConfiguration_DictionaryFragment' -ObjectIdNames[8324] = 'OpcUa_XmlSchema_SupportedProfile' -ObjectIdNames[8325] = 'OpcUa_XmlSchema_SupportedProfile_DataTypeVersion' -ObjectIdNames[8326] = 'OpcUa_XmlSchema_SupportedProfile_DictionaryFragment' ObjectIdNames[8327] = 'OpcUa_XmlSchema_BuildInfo' ObjectIdNames[8328] = 'OpcUa_XmlSchema_BuildInfo_DataTypeVersion' ObjectIdNames[8329] = 'OpcUa_XmlSchema_BuildInfo_DictionaryFragment' -ObjectIdNames[8330] = 'OpcUa_XmlSchema_SoftwareCertificate' -ObjectIdNames[8331] = 'OpcUa_XmlSchema_SoftwareCertificate_DataTypeVersion' -ObjectIdNames[8332] = 'OpcUa_XmlSchema_SoftwareCertificate_DictionaryFragment' ObjectIdNames[8333] = 'OpcUa_XmlSchema_SignedSoftwareCertificate' ObjectIdNames[8334] = 'OpcUa_XmlSchema_SignedSoftwareCertificate_DataTypeVersion' ObjectIdNames[8335] = 'OpcUa_XmlSchema_SignedSoftwareCertificate_DictionaryFragment' @@ -8172,7 +13019,7 @@ class ObjectIds(object): ObjectIdNames[8897] = 'SubscriptionDiagnosticsType_NextSequenceNumber' ObjectIdNames[8898] = 'SessionDiagnosticsObjectType_SessionDiagnostics_TotalRequestCount' ObjectIdNames[8900] = 'SessionDiagnosticsVariableType_TotalRequestCount' -ObjectIdNames[8902] = 'SubscriptionDiagnosticsType_EventQueueOverFlowCount' +ObjectIdNames[8902] = 'SubscriptionDiagnosticsType_EventQueueOverflowCount' ObjectIdNames[8912] = 'TimeZoneDataType' ObjectIdNames[8913] = 'TimeZoneDataType_Encoding_DefaultXml' ObjectIdNames[8914] = 'OpcUa_BinarySchema_TimeZoneDataType' @@ -10033,25 +14880,6 @@ class ObjectIds(object): ObjectIdNames[11525] = 'ServerType_ServerCapabilities_OperationLimits_MaxNodesPerNodeManagement' ObjectIdNames[11526] = 'ServerType_ServerCapabilities_OperationLimits_MaxMonitoredItemsPerCall' ObjectIdNames[11527] = 'ServerType_Namespaces' -ObjectIdNames[11528] = 'ServerType_Namespaces_AddressSpaceFile' -ObjectIdNames[11529] = 'ServerType_Namespaces_AddressSpaceFile_Size' -ObjectIdNames[11532] = 'ServerType_Namespaces_AddressSpaceFile_OpenCount' -ObjectIdNames[11533] = 'ServerType_Namespaces_AddressSpaceFile_Open' -ObjectIdNames[11534] = 'ServerType_Namespaces_AddressSpaceFile_Open_InputArguments' -ObjectIdNames[11535] = 'ServerType_Namespaces_AddressSpaceFile_Open_OutputArguments' -ObjectIdNames[11536] = 'ServerType_Namespaces_AddressSpaceFile_Close' -ObjectIdNames[11537] = 'ServerType_Namespaces_AddressSpaceFile_Close_InputArguments' -ObjectIdNames[11538] = 'ServerType_Namespaces_AddressSpaceFile_Read' -ObjectIdNames[11539] = 'ServerType_Namespaces_AddressSpaceFile_Read_InputArguments' -ObjectIdNames[11540] = 'ServerType_Namespaces_AddressSpaceFile_Read_OutputArguments' -ObjectIdNames[11541] = 'ServerType_Namespaces_AddressSpaceFile_Write' -ObjectIdNames[11542] = 'ServerType_Namespaces_AddressSpaceFile_Write_InputArguments' -ObjectIdNames[11543] = 'ServerType_Namespaces_AddressSpaceFile_GetPosition' -ObjectIdNames[11544] = 'ServerType_Namespaces_AddressSpaceFile_GetPosition_InputArguments' -ObjectIdNames[11545] = 'ServerType_Namespaces_AddressSpaceFile_GetPosition_OutputArguments' -ObjectIdNames[11546] = 'ServerType_Namespaces_AddressSpaceFile_SetPosition' -ObjectIdNames[11547] = 'ServerType_Namespaces_AddressSpaceFile_SetPosition_InputArguments' -ObjectIdNames[11548] = 'ServerType_Namespaces_AddressSpaceFile_ExportNamespace' ObjectIdNames[11549] = 'ServerCapabilitiesType_MaxArrayLength' ObjectIdNames[11550] = 'ServerCapabilitiesType_MaxStringLength' ObjectIdNames[11551] = 'ServerCapabilitiesType_OperationLimits' @@ -10063,7 +14891,7 @@ class ObjectIds(object): ObjectIdNames[11559] = 'ServerCapabilitiesType_OperationLimits_MaxNodesPerTranslateBrowsePathsToNodeIds' ObjectIdNames[11560] = 'ServerCapabilitiesType_OperationLimits_MaxNodesPerNodeManagement' ObjectIdNames[11561] = 'ServerCapabilitiesType_OperationLimits_MaxMonitoredItemsPerCall' -ObjectIdNames[11562] = 'ServerCapabilitiesType_VendorCapability' +ObjectIdNames[11562] = 'ServerCapabilitiesType_VendorCapability_Placeholder' ObjectIdNames[11564] = 'OperationLimitsType' ObjectIdNames[11565] = 'OperationLimitsType_MaxNodesPerRead' ObjectIdNames[11567] = 'OperationLimitsType_MaxNodesPerWrite' @@ -10115,7 +14943,7 @@ class ObjectIds(object): ObjectIdNames[11618] = 'NamespaceMetadataType_NamespaceVersion' ObjectIdNames[11619] = 'NamespaceMetadataType_NamespacePublicationDate' ObjectIdNames[11620] = 'NamespaceMetadataType_IsNamespaceSubset' -ObjectIdNames[11621] = 'NamespaceMetadataType_StaticNodeIdIdentifierTypes' +ObjectIdNames[11621] = 'NamespaceMetadataType_StaticNodeIdTypes' ObjectIdNames[11622] = 'NamespaceMetadataType_StaticNumericNodeIdRange' ObjectIdNames[11623] = 'NamespaceMetadataType_StaticStringNodeIdPattern' ObjectIdNames[11624] = 'NamespaceMetadataType_NamespaceFile' @@ -10138,52 +14966,33 @@ class ObjectIds(object): ObjectIdNames[11643] = 'NamespaceMetadataType_NamespaceFile_SetPosition_InputArguments' ObjectIdNames[11644] = 'NamespaceMetadataType_NamespaceFile_ExportNamespace' ObjectIdNames[11645] = 'NamespacesType' -ObjectIdNames[11646] = 'NamespacesType_NamespaceIdentifier' -ObjectIdNames[11647] = 'NamespacesType_NamespaceIdentifier_NamespaceUri' -ObjectIdNames[11648] = 'NamespacesType_NamespaceIdentifier_NamespaceVersion' -ObjectIdNames[11649] = 'NamespacesType_NamespaceIdentifier_NamespacePublicationDate' -ObjectIdNames[11650] = 'NamespacesType_NamespaceIdentifier_IsNamespaceSubset' -ObjectIdNames[11651] = 'NamespacesType_NamespaceIdentifier_StaticNodeIdIdentifierTypes' -ObjectIdNames[11652] = 'NamespacesType_NamespaceIdentifier_StaticNumericNodeIdRange' -ObjectIdNames[11653] = 'NamespacesType_NamespaceIdentifier_StaticStringNodeIdPattern' -ObjectIdNames[11654] = 'NamespacesType_NamespaceIdentifier_NamespaceFile' -ObjectIdNames[11655] = 'NamespacesType_NamespaceIdentifier_NamespaceFile_Size' -ObjectIdNames[11658] = 'NamespacesType_NamespaceIdentifier_NamespaceFile_OpenCount' -ObjectIdNames[11659] = 'NamespacesType_NamespaceIdentifier_NamespaceFile_Open' -ObjectIdNames[11660] = 'NamespacesType_NamespaceIdentifier_NamespaceFile_Open_InputArguments' -ObjectIdNames[11661] = 'NamespacesType_NamespaceIdentifier_NamespaceFile_Open_OutputArguments' -ObjectIdNames[11662] = 'NamespacesType_NamespaceIdentifier_NamespaceFile_Close' -ObjectIdNames[11663] = 'NamespacesType_NamespaceIdentifier_NamespaceFile_Close_InputArguments' -ObjectIdNames[11664] = 'NamespacesType_NamespaceIdentifier_NamespaceFile_Read' -ObjectIdNames[11665] = 'NamespacesType_NamespaceIdentifier_NamespaceFile_Read_InputArguments' -ObjectIdNames[11666] = 'NamespacesType_NamespaceIdentifier_NamespaceFile_Read_OutputArguments' -ObjectIdNames[11667] = 'NamespacesType_NamespaceIdentifier_NamespaceFile_Write' -ObjectIdNames[11668] = 'NamespacesType_NamespaceIdentifier_NamespaceFile_Write_InputArguments' -ObjectIdNames[11669] = 'NamespacesType_NamespaceIdentifier_NamespaceFile_GetPosition' -ObjectIdNames[11670] = 'NamespacesType_NamespaceIdentifier_NamespaceFile_GetPosition_InputArguments' -ObjectIdNames[11671] = 'NamespacesType_NamespaceIdentifier_NamespaceFile_GetPosition_OutputArguments' -ObjectIdNames[11672] = 'NamespacesType_NamespaceIdentifier_NamespaceFile_SetPosition' -ObjectIdNames[11673] = 'NamespacesType_NamespaceIdentifier_NamespaceFile_SetPosition_InputArguments' -ObjectIdNames[11674] = 'NamespacesType_NamespaceIdentifier_NamespaceFile_ExportNamespace' -ObjectIdNames[11675] = 'NamespacesType_AddressSpaceFile' -ObjectIdNames[11676] = 'NamespacesType_AddressSpaceFile_Size' -ObjectIdNames[11679] = 'NamespacesType_AddressSpaceFile_OpenCount' -ObjectIdNames[11680] = 'NamespacesType_AddressSpaceFile_Open' -ObjectIdNames[11681] = 'NamespacesType_AddressSpaceFile_Open_InputArguments' -ObjectIdNames[11682] = 'NamespacesType_AddressSpaceFile_Open_OutputArguments' -ObjectIdNames[11683] = 'NamespacesType_AddressSpaceFile_Close' -ObjectIdNames[11684] = 'NamespacesType_AddressSpaceFile_Close_InputArguments' -ObjectIdNames[11685] = 'NamespacesType_AddressSpaceFile_Read' -ObjectIdNames[11686] = 'NamespacesType_AddressSpaceFile_Read_InputArguments' -ObjectIdNames[11687] = 'NamespacesType_AddressSpaceFile_Read_OutputArguments' -ObjectIdNames[11688] = 'NamespacesType_AddressSpaceFile_Write' -ObjectIdNames[11689] = 'NamespacesType_AddressSpaceFile_Write_InputArguments' -ObjectIdNames[11690] = 'NamespacesType_AddressSpaceFile_GetPosition' -ObjectIdNames[11691] = 'NamespacesType_AddressSpaceFile_GetPosition_InputArguments' -ObjectIdNames[11692] = 'NamespacesType_AddressSpaceFile_GetPosition_OutputArguments' -ObjectIdNames[11693] = 'NamespacesType_AddressSpaceFile_SetPosition' -ObjectIdNames[11694] = 'NamespacesType_AddressSpaceFile_SetPosition_InputArguments' -ObjectIdNames[11695] = 'NamespacesType_AddressSpaceFile_ExportNamespace' +ObjectIdNames[11646] = 'NamespacesType_NamespaceIdentifier_Placeholder' +ObjectIdNames[11647] = 'NamespacesType_NamespaceIdentifier_Placeholder_NamespaceUri' +ObjectIdNames[11648] = 'NamespacesType_NamespaceIdentifier_Placeholder_NamespaceVersion' +ObjectIdNames[11649] = 'NamespacesType_NamespaceIdentifier_Placeholder_NamespacePublicationDate' +ObjectIdNames[11650] = 'NamespacesType_NamespaceIdentifier_Placeholder_IsNamespaceSubset' +ObjectIdNames[11651] = 'NamespacesType_NamespaceIdentifier_Placeholder_StaticNodeIdTypes' +ObjectIdNames[11652] = 'NamespacesType_NamespaceIdentifier_Placeholder_StaticNumericNodeIdRange' +ObjectIdNames[11653] = 'NamespacesType_NamespaceIdentifier_Placeholder_StaticStringNodeIdPattern' +ObjectIdNames[11654] = 'NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile' +ObjectIdNames[11655] = 'NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_Size' +ObjectIdNames[11658] = 'NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_OpenCount' +ObjectIdNames[11659] = 'NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_Open' +ObjectIdNames[11660] = 'NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_Open_InputArguments' +ObjectIdNames[11661] = 'NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_Open_OutputArguments' +ObjectIdNames[11662] = 'NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_Close' +ObjectIdNames[11663] = 'NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_Close_InputArguments' +ObjectIdNames[11664] = 'NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_Read' +ObjectIdNames[11665] = 'NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_Read_InputArguments' +ObjectIdNames[11666] = 'NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_Read_OutputArguments' +ObjectIdNames[11667] = 'NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_Write' +ObjectIdNames[11668] = 'NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_Write_InputArguments' +ObjectIdNames[11669] = 'NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_GetPosition' +ObjectIdNames[11670] = 'NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_GetPosition_InputArguments' +ObjectIdNames[11671] = 'NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_GetPosition_OutputArguments' +ObjectIdNames[11672] = 'NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_SetPosition' +ObjectIdNames[11673] = 'NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_SetPosition_InputArguments' +ObjectIdNames[11674] = 'NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_ExportNamespace' ObjectIdNames[11696] = 'SystemStatusChangeEventType_SystemState' ObjectIdNames[11697] = 'SamplingIntervalDiagnosticsType_SampledMonitoredItemsCount' ObjectIdNames[11698] = 'SamplingIntervalDiagnosticsType_MaxSampledMonitoredItemsCount' @@ -10201,25 +15010,6 @@ class ObjectIds(object): ObjectIdNames[11713] = 'Server_ServerCapabilities_OperationLimits_MaxNodesPerNodeManagement' ObjectIdNames[11714] = 'Server_ServerCapabilities_OperationLimits_MaxMonitoredItemsPerCall' ObjectIdNames[11715] = 'Server_Namespaces' -ObjectIdNames[11716] = 'Server_Namespaces_AddressSpaceFile' -ObjectIdNames[11717] = 'Server_Namespaces_AddressSpaceFile_Size' -ObjectIdNames[11720] = 'Server_Namespaces_AddressSpaceFile_OpenCount' -ObjectIdNames[11721] = 'Server_Namespaces_AddressSpaceFile_Open' -ObjectIdNames[11722] = 'Server_Namespaces_AddressSpaceFile_Open_InputArguments' -ObjectIdNames[11723] = 'Server_Namespaces_AddressSpaceFile_Open_OutputArguments' -ObjectIdNames[11724] = 'Server_Namespaces_AddressSpaceFile_Close' -ObjectIdNames[11725] = 'Server_Namespaces_AddressSpaceFile_Close_InputArguments' -ObjectIdNames[11726] = 'Server_Namespaces_AddressSpaceFile_Read' -ObjectIdNames[11727] = 'Server_Namespaces_AddressSpaceFile_Read_InputArguments' -ObjectIdNames[11728] = 'Server_Namespaces_AddressSpaceFile_Read_OutputArguments' -ObjectIdNames[11729] = 'Server_Namespaces_AddressSpaceFile_Write' -ObjectIdNames[11730] = 'Server_Namespaces_AddressSpaceFile_Write_InputArguments' -ObjectIdNames[11731] = 'Server_Namespaces_AddressSpaceFile_GetPosition' -ObjectIdNames[11732] = 'Server_Namespaces_AddressSpaceFile_GetPosition_InputArguments' -ObjectIdNames[11733] = 'Server_Namespaces_AddressSpaceFile_GetPosition_OutputArguments' -ObjectIdNames[11734] = 'Server_Namespaces_AddressSpaceFile_SetPosition' -ObjectIdNames[11735] = 'Server_Namespaces_AddressSpaceFile_SetPosition_InputArguments' -ObjectIdNames[11736] = 'Server_Namespaces_AddressSpaceFile_ExportNamespace' ObjectIdNames[11737] = 'BitFieldMaskDataType' ObjectIdNames[11738] = 'OpenMethodType' ObjectIdNames[11739] = 'OpenMethodType_InputArguments' @@ -10365,11 +15155,9 @@ class ObjectIds(object): ObjectIdNames[11879] = 'InstanceNode' ObjectIdNames[11880] = 'TypeNode' ObjectIdNames[11881] = 'NodeAttributesMask_EnumValues' -ObjectIdNames[11882] = 'AttributeWriteMask_EnumValues' ObjectIdNames[11883] = 'BrowseResultMask_EnumValues' ObjectIdNames[11884] = 'HistoryUpdateType_EnumValues' ObjectIdNames[11885] = 'PerformUpdateType_EnumValues' -ObjectIdNames[11886] = 'EnumeratedTestType_EnumValues' ObjectIdNames[11887] = 'InstanceNode_Encoding_DefaultXml' ObjectIdNames[11888] = 'TypeNode_Encoding_DefaultXml' ObjectIdNames[11889] = 'InstanceNode_Encoding_DefaultBinary' @@ -10478,62 +15266,62 @@ class ObjectIds(object): ObjectIdNames[12094] = 'OpcUa_BinarySchema_XVType' ObjectIdNames[12095] = 'OpcUa_BinarySchema_XVType_DataTypeVersion' ObjectIdNames[12096] = 'OpcUa_BinarySchema_XVType_DictionaryFragment' -ObjectIdNames[12097] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder' -ObjectIdNames[12098] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics' -ObjectIdNames[12099] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SessionId' -ObjectIdNames[12100] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SessionName' -ObjectIdNames[12101] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ClientDescription' -ObjectIdNames[12102] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ServerUri' -ObjectIdNames[12103] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_EndpointUrl' -ObjectIdNames[12104] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_LocaleIds' -ObjectIdNames[12105] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ActualSessionTimeout' -ObjectIdNames[12106] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_MaxResponseMessageSize' -ObjectIdNames[12107] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ClientConnectionTime' -ObjectIdNames[12108] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ClientLastContactTime' -ObjectIdNames[12109] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CurrentSubscriptionsCount' -ObjectIdNames[12110] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CurrentMonitoredItemsCount' -ObjectIdNames[12111] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CurrentPublishRequestsInQueue' -ObjectIdNames[12112] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_TotalRequestCount' -ObjectIdNames[12113] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_UnauthorizedRequestCount' -ObjectIdNames[12114] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ReadCount' -ObjectIdNames[12115] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_HistoryReadCount' -ObjectIdNames[12116] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_WriteCount' -ObjectIdNames[12117] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_HistoryUpdateCount' -ObjectIdNames[12118] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CallCount' -ObjectIdNames[12119] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CreateMonitoredItemsCount' -ObjectIdNames[12120] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ModifyMonitoredItemsCount' -ObjectIdNames[12121] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SetMonitoringModeCount' -ObjectIdNames[12122] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SetTriggeringCount' -ObjectIdNames[12123] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_DeleteMonitoredItemsCount' -ObjectIdNames[12124] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_CreateSubscriptionCount' -ObjectIdNames[12125] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_ModifySubscriptionCount' -ObjectIdNames[12126] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_SetPublishingModeCount' -ObjectIdNames[12127] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_PublishCount' -ObjectIdNames[12128] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_RepublishCount' -ObjectIdNames[12129] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_TransferSubscriptionsCount' -ObjectIdNames[12130] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_DeleteSubscriptionsCount' -ObjectIdNames[12131] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_AddNodesCount' -ObjectIdNames[12132] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_AddReferencesCount' -ObjectIdNames[12133] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_DeleteNodesCount' -ObjectIdNames[12134] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_DeleteReferencesCount' -ObjectIdNames[12135] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_BrowseCount' -ObjectIdNames[12136] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_BrowseNextCount' -ObjectIdNames[12137] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_TranslateBrowsePathsToNodeIdsCount' -ObjectIdNames[12138] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_QueryFirstCount' -ObjectIdNames[12139] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_QueryNextCount' -ObjectIdNames[12140] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_RegisterNodesCount' -ObjectIdNames[12141] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionDiagnostics_UnregisterNodesCount' -ObjectIdNames[12142] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics' -ObjectIdNames[12143] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_SessionId' -ObjectIdNames[12144] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_ClientUserIdOfSession' -ObjectIdNames[12145] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_ClientUserIdHistory' -ObjectIdNames[12146] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_AuthenticationMechanism' -ObjectIdNames[12147] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_Encoding' -ObjectIdNames[12148] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_TransportProtocol' -ObjectIdNames[12149] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_SecurityMode' -ObjectIdNames[12150] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_SecurityPolicyUri' -ObjectIdNames[12151] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SessionSecurityDiagnostics_ClientCertificate' -ObjectIdNames[12152] = 'SessionsDiagnosticsSummaryType_SessionPlaceholder_SubscriptionDiagnosticsArray' +ObjectIdNames[12097] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder' +ObjectIdNames[12098] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics' +ObjectIdNames[12099] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_SessionId' +ObjectIdNames[12100] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_SessionName' +ObjectIdNames[12101] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_ClientDescription' +ObjectIdNames[12102] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_ServerUri' +ObjectIdNames[12103] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_EndpointUrl' +ObjectIdNames[12104] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_LocaleIds' +ObjectIdNames[12105] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_ActualSessionTimeout' +ObjectIdNames[12106] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_MaxResponseMessageSize' +ObjectIdNames[12107] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_ClientConnectionTime' +ObjectIdNames[12108] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_ClientLastContactTime' +ObjectIdNames[12109] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_CurrentSubscriptionsCount' +ObjectIdNames[12110] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_CurrentMonitoredItemsCount' +ObjectIdNames[12111] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_CurrentPublishRequestsInQueue' +ObjectIdNames[12112] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_TotalRequestCount' +ObjectIdNames[12113] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_UnauthorizedRequestCount' +ObjectIdNames[12114] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_ReadCount' +ObjectIdNames[12115] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_HistoryReadCount' +ObjectIdNames[12116] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_WriteCount' +ObjectIdNames[12117] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_HistoryUpdateCount' +ObjectIdNames[12118] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_CallCount' +ObjectIdNames[12119] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_CreateMonitoredItemsCount' +ObjectIdNames[12120] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_ModifyMonitoredItemsCount' +ObjectIdNames[12121] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_SetMonitoringModeCount' +ObjectIdNames[12122] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_SetTriggeringCount' +ObjectIdNames[12123] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_DeleteMonitoredItemsCount' +ObjectIdNames[12124] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_CreateSubscriptionCount' +ObjectIdNames[12125] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_ModifySubscriptionCount' +ObjectIdNames[12126] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_SetPublishingModeCount' +ObjectIdNames[12127] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_PublishCount' +ObjectIdNames[12128] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_RepublishCount' +ObjectIdNames[12129] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_TransferSubscriptionsCount' +ObjectIdNames[12130] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_DeleteSubscriptionsCount' +ObjectIdNames[12131] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_AddNodesCount' +ObjectIdNames[12132] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_AddReferencesCount' +ObjectIdNames[12133] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_DeleteNodesCount' +ObjectIdNames[12134] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_DeleteReferencesCount' +ObjectIdNames[12135] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_BrowseCount' +ObjectIdNames[12136] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_BrowseNextCount' +ObjectIdNames[12137] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_TranslateBrowsePathsToNodeIdsCount' +ObjectIdNames[12138] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_QueryFirstCount' +ObjectIdNames[12139] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_QueryNextCount' +ObjectIdNames[12140] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_RegisterNodesCount' +ObjectIdNames[12141] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionDiagnostics_UnregisterNodesCount' +ObjectIdNames[12142] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionSecurityDiagnostics' +ObjectIdNames[12143] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionSecurityDiagnostics_SessionId' +ObjectIdNames[12144] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionSecurityDiagnostics_ClientUserIdOfSession' +ObjectIdNames[12145] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionSecurityDiagnostics_ClientUserIdHistory' +ObjectIdNames[12146] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionSecurityDiagnostics_AuthenticationMechanism' +ObjectIdNames[12147] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionSecurityDiagnostics_Encoding' +ObjectIdNames[12148] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionSecurityDiagnostics_TransportProtocol' +ObjectIdNames[12149] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionSecurityDiagnostics_SecurityMode' +ObjectIdNames[12150] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionSecurityDiagnostics_SecurityPolicyUri' +ObjectIdNames[12151] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SessionSecurityDiagnostics_ClientCertificate' +ObjectIdNames[12152] = 'SessionsDiagnosticsSummaryType_ClientName_Placeholder_SubscriptionDiagnosticsArray' ObjectIdNames[12153] = 'ServerType_ServerCapabilities_OperationLimits_MaxNodesPerHistoryReadData' ObjectIdNames[12154] = 'ServerType_ServerCapabilities_OperationLimits_MaxNodesPerHistoryReadEvents' ObjectIdNames[12155] = 'ServerType_ServerCapabilities_OperationLimits_MaxNodesPerHistoryUpdateData' @@ -10593,15 +15381,6 @@ class ObjectIds(object): ObjectIdNames[12215] = 'OpcUa_BinarySchema_ServerOnNetwork_DictionaryFragment' ObjectIdNames[12502] = 'ProgressEventType_Context' ObjectIdNames[12503] = 'ProgressEventType_Progress' -ObjectIdNames[12504] = 'KerberosIdentityToken' -ObjectIdNames[12505] = 'KerberosIdentityToken_Encoding_DefaultXml' -ObjectIdNames[12506] = 'OpcUa_XmlSchema_KerberosIdentityToken' -ObjectIdNames[12507] = 'OpcUa_XmlSchema_KerberosIdentityToken_DataTypeVersion' -ObjectIdNames[12508] = 'OpcUa_XmlSchema_KerberosIdentityToken_DictionaryFragment' -ObjectIdNames[12509] = 'KerberosIdentityToken_Encoding_DefaultBinary' -ObjectIdNames[12510] = 'OpcUa_BinarySchema_KerberosIdentityToken' -ObjectIdNames[12511] = 'OpcUa_BinarySchema_KerberosIdentityToken_DataTypeVersion' -ObjectIdNames[12512] = 'OpcUa_BinarySchema_KerberosIdentityToken_DictionaryFragment' ObjectIdNames[12513] = 'OpenWithMasksMethodType' ObjectIdNames[12514] = 'OpenWithMasksMethodType_InputArguments' ObjectIdNames[12515] = 'OpenWithMasksMethodType_OutputArguments' @@ -10732,20 +15511,14 @@ class ObjectIds(object): ObjectIdNames[12681] = 'OpcUa_BinarySchema_TrustListDataType' ObjectIdNames[12682] = 'OpcUa_BinarySchema_TrustListDataType_DataTypeVersion' ObjectIdNames[12683] = 'OpcUa_BinarySchema_TrustListDataType_DictionaryFragment' -ObjectIdNames[12684] = 'ServerType_Namespaces_AddressSpaceFile_Writable' -ObjectIdNames[12685] = 'ServerType_Namespaces_AddressSpaceFile_UserWritable' ObjectIdNames[12686] = 'FileType_Writable' ObjectIdNames[12687] = 'FileType_UserWritable' ObjectIdNames[12688] = 'AddressSpaceFileType_Writable' ObjectIdNames[12689] = 'AddressSpaceFileType_UserWritable' ObjectIdNames[12690] = 'NamespaceMetadataType_NamespaceFile_Writable' ObjectIdNames[12691] = 'NamespaceMetadataType_NamespaceFile_UserWritable' -ObjectIdNames[12692] = 'NamespacesType_NamespaceIdentifier_NamespaceFile_Writable' -ObjectIdNames[12693] = 'NamespacesType_NamespaceIdentifier_NamespaceFile_UserWritable' -ObjectIdNames[12694] = 'NamespacesType_AddressSpaceFile_Writable' -ObjectIdNames[12695] = 'NamespacesType_AddressSpaceFile_UserWritable' -ObjectIdNames[12696] = 'Server_Namespaces_AddressSpaceFile_Writable' -ObjectIdNames[12697] = 'Server_Namespaces_AddressSpaceFile_UserWritable' +ObjectIdNames[12692] = 'NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_Writable' +ObjectIdNames[12693] = 'NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_UserWritable' ObjectIdNames[12698] = 'TrustListType_Writable' ObjectIdNames[12699] = 'TrustListType_UserWritable' ObjectIdNames[12704] = 'CloseAndUpdateMethodType_InputArguments' @@ -10845,7 +15618,7 @@ class ObjectIds(object): ObjectIdNames[12812] = 'SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_DisabledMonitoredItemCount' ObjectIdNames[12813] = 'SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_MonitoringQueueOverflowCount' ObjectIdNames[12814] = 'SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_NextSequenceNumber' -ObjectIdNames[12815] = 'SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_EventQueueOverFlowCount' +ObjectIdNames[12815] = 'SubscriptionDiagnosticsArrayType_SubscriptionDiagnostics_EventQueueOverflowCount' ObjectIdNames[12816] = 'SessionDiagnosticsArrayType_SessionDiagnostics' ObjectIdNames[12817] = 'SessionDiagnosticsArrayType_SessionDiagnostics_SessionId' ObjectIdNames[12818] = 'SessionDiagnosticsArrayType_SessionDiagnostics_SessionName' @@ -11080,7 +15853,6 @@ class ObjectIds(object): ObjectIdNames[13325] = 'CertificateExpirationAlarmType_ExpirationDate' ObjectIdNames[13326] = 'CertificateExpirationAlarmType_CertificateType' ObjectIdNames[13327] = 'CertificateExpirationAlarmType_Certificate' -ObjectIdNames[13340] = 'ServerType_Namespaces_AddressSpaceFile_MimeType' ObjectIdNames[13341] = 'FileType_MimeType' ObjectIdNames[13342] = 'CreateDirectoryMethodType' ObjectIdNames[13343] = 'CreateDirectoryMethodType_InputArguments' @@ -11094,55 +15866,51 @@ class ObjectIds(object): ObjectIdNames[13351] = 'MoveOrCopyMethodType_InputArguments' ObjectIdNames[13352] = 'MoveOrCopyMethodType_OutputArguments' ObjectIdNames[13353] = 'FileDirectoryType' -ObjectIdNames[13354] = 'FileDirectoryType_xFileDirectoryNamex' -ObjectIdNames[13355] = 'FileDirectoryType_xFileDirectoryNamex_CreateDirectory' -ObjectIdNames[13356] = 'FileDirectoryType_xFileDirectoryNamex_CreateDirectory_InputArguments' -ObjectIdNames[13357] = 'FileDirectoryType_xFileDirectoryNamex_CreateDirectory_OutputArguments' -ObjectIdNames[13358] = 'FileDirectoryType_xFileDirectoryNamex_CreateFile' -ObjectIdNames[13359] = 'FileDirectoryType_xFileDirectoryNamex_CreateFile_InputArguments' -ObjectIdNames[13360] = 'FileDirectoryType_xFileDirectoryNamex_CreateFile_OutputArguments' -ObjectIdNames[13361] = 'FileDirectoryType_xFileDirectoryNamex_Delete' -ObjectIdNames[13362] = 'FileDirectoryType_xFileDirectoryNamex_Delete_InputArguments' -ObjectIdNames[13363] = 'FileDirectoryType_xFileDirectoryNamex_MoveOrCopy' -ObjectIdNames[13364] = 'FileDirectoryType_xFileDirectoryNamex_MoveOrCopy_InputArguments' -ObjectIdNames[13365] = 'FileDirectoryType_xFileDirectoryNamex_MoveOrCopy_OutputArguments' -ObjectIdNames[13366] = 'FileDirectoryType_xFileNamex' -ObjectIdNames[13367] = 'FileDirectoryType_xFileNamex_Size' -ObjectIdNames[13368] = 'FileDirectoryType_xFileNamex_Writable' -ObjectIdNames[13369] = 'FileDirectoryType_xFileNamex_UserWritable' -ObjectIdNames[13370] = 'FileDirectoryType_xFileNamex_OpenCount' -ObjectIdNames[13371] = 'FileDirectoryType_xFileNamex_MimeType' -ObjectIdNames[13372] = 'FileDirectoryType_xFileNamex_Open' -ObjectIdNames[13373] = 'FileDirectoryType_xFileNamex_Open_InputArguments' -ObjectIdNames[13374] = 'FileDirectoryType_xFileNamex_Open_OutputArguments' -ObjectIdNames[13375] = 'FileDirectoryType_xFileNamex_Close' -ObjectIdNames[13376] = 'FileDirectoryType_xFileNamex_Close_InputArguments' -ObjectIdNames[13377] = 'FileDirectoryType_xFileNamex_Read' -ObjectIdNames[13378] = 'FileDirectoryType_xFileNamex_Read_InputArguments' -ObjectIdNames[13379] = 'FileDirectoryType_xFileNamex_Read_OutputArguments' -ObjectIdNames[13380] = 'FileDirectoryType_xFileNamex_Write' -ObjectIdNames[13381] = 'FileDirectoryType_xFileNamex_Write_InputArguments' -ObjectIdNames[13382] = 'FileDirectoryType_xFileNamex_GetPosition' -ObjectIdNames[13383] = 'FileDirectoryType_xFileNamex_GetPosition_InputArguments' -ObjectIdNames[13384] = 'FileDirectoryType_xFileNamex_GetPosition_OutputArguments' -ObjectIdNames[13385] = 'FileDirectoryType_xFileNamex_SetPosition' -ObjectIdNames[13386] = 'FileDirectoryType_xFileNamex_SetPosition_InputArguments' +ObjectIdNames[13354] = 'FileDirectoryType_FileDirectoryName_Placeholder' +ObjectIdNames[13355] = 'FileDirectoryType_FileDirectoryName_Placeholder_CreateDirectory' +ObjectIdNames[13356] = 'FileDirectoryType_FileDirectoryName_Placeholder_CreateDirectory_InputArguments' +ObjectIdNames[13357] = 'FileDirectoryType_FileDirectoryName_Placeholder_CreateDirectory_OutputArguments' +ObjectIdNames[13358] = 'FileDirectoryType_FileDirectoryName_Placeholder_CreateFile' +ObjectIdNames[13359] = 'FileDirectoryType_FileDirectoryName_Placeholder_CreateFile_InputArguments' +ObjectIdNames[13360] = 'FileDirectoryType_FileDirectoryName_Placeholder_CreateFile_OutputArguments' +ObjectIdNames[13363] = 'FileDirectoryType_FileDirectoryName_Placeholder_MoveOrCopy' +ObjectIdNames[13364] = 'FileDirectoryType_FileDirectoryName_Placeholder_MoveOrCopy_InputArguments' +ObjectIdNames[13365] = 'FileDirectoryType_FileDirectoryName_Placeholder_MoveOrCopy_OutputArguments' +ObjectIdNames[13366] = 'FileDirectoryType_FileName_Placeholder' +ObjectIdNames[13367] = 'FileDirectoryType_FileName_Placeholder_Size' +ObjectIdNames[13368] = 'FileDirectoryType_FileName_Placeholder_Writable' +ObjectIdNames[13369] = 'FileDirectoryType_FileName_Placeholder_UserWritable' +ObjectIdNames[13370] = 'FileDirectoryType_FileName_Placeholder_OpenCount' +ObjectIdNames[13371] = 'FileDirectoryType_FileName_Placeholder_MimeType' +ObjectIdNames[13372] = 'FileDirectoryType_FileName_Placeholder_Open' +ObjectIdNames[13373] = 'FileDirectoryType_FileName_Placeholder_Open_InputArguments' +ObjectIdNames[13374] = 'FileDirectoryType_FileName_Placeholder_Open_OutputArguments' +ObjectIdNames[13375] = 'FileDirectoryType_FileName_Placeholder_Close' +ObjectIdNames[13376] = 'FileDirectoryType_FileName_Placeholder_Close_InputArguments' +ObjectIdNames[13377] = 'FileDirectoryType_FileName_Placeholder_Read' +ObjectIdNames[13378] = 'FileDirectoryType_FileName_Placeholder_Read_InputArguments' +ObjectIdNames[13379] = 'FileDirectoryType_FileName_Placeholder_Read_OutputArguments' +ObjectIdNames[13380] = 'FileDirectoryType_FileName_Placeholder_Write' +ObjectIdNames[13381] = 'FileDirectoryType_FileName_Placeholder_Write_InputArguments' +ObjectIdNames[13382] = 'FileDirectoryType_FileName_Placeholder_GetPosition' +ObjectIdNames[13383] = 'FileDirectoryType_FileName_Placeholder_GetPosition_InputArguments' +ObjectIdNames[13384] = 'FileDirectoryType_FileName_Placeholder_GetPosition_OutputArguments' +ObjectIdNames[13385] = 'FileDirectoryType_FileName_Placeholder_SetPosition' +ObjectIdNames[13386] = 'FileDirectoryType_FileName_Placeholder_SetPosition_InputArguments' ObjectIdNames[13387] = 'FileDirectoryType_CreateDirectory' ObjectIdNames[13388] = 'FileDirectoryType_CreateDirectory_InputArguments' ObjectIdNames[13389] = 'FileDirectoryType_CreateDirectory_OutputArguments' ObjectIdNames[13390] = 'FileDirectoryType_CreateFile' ObjectIdNames[13391] = 'FileDirectoryType_CreateFile_InputArguments' ObjectIdNames[13392] = 'FileDirectoryType_CreateFile_OutputArguments' -ObjectIdNames[13393] = 'FileDirectoryType_Delete' -ObjectIdNames[13394] = 'FileDirectoryType_Delete_InputArguments' +ObjectIdNames[13393] = 'FileDirectoryType_DeleteFileSystemObject' +ObjectIdNames[13394] = 'FileDirectoryType_DeleteFileSystemObject_InputArguments' ObjectIdNames[13395] = 'FileDirectoryType_MoveOrCopy' ObjectIdNames[13396] = 'FileDirectoryType_MoveOrCopy_InputArguments' ObjectIdNames[13397] = 'FileDirectoryType_MoveOrCopy_OutputArguments' ObjectIdNames[13398] = 'AddressSpaceFileType_MimeType' ObjectIdNames[13399] = 'NamespaceMetadataType_NamespaceFile_MimeType' -ObjectIdNames[13400] = 'NamespacesType_NamespaceIdentifier_NamespaceFile_MimeType' -ObjectIdNames[13401] = 'NamespacesType_AddressSpaceFile_MimeType' -ObjectIdNames[13402] = 'Server_Namespaces_AddressSpaceFile_MimeType' +ObjectIdNames[13400] = 'NamespacesType_NamespaceIdentifier_Placeholder_NamespaceFile_MimeType' ObjectIdNames[13403] = 'TrustListType_MimeType' ObjectIdNames[13599] = 'CertificateGroupType_TrustList' ObjectIdNames[13600] = 'CertificateGroupType_TrustList_Size' @@ -11285,40 +16053,40 @@ class ObjectIds(object): ObjectIdNames[13913] = 'CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_RemoveCertificate' ObjectIdNames[13914] = 'CertificateGroupFolderType_DefaultUserTokenGroup_TrustList_RemoveCertificate_InputArguments' ObjectIdNames[13915] = 'CertificateGroupFolderType_DefaultUserTokenGroup_CertificateTypes' -ObjectIdNames[13916] = 'CertificateGroupFolderType_xCertificateGroupx' -ObjectIdNames[13917] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList' -ObjectIdNames[13918] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_Size' -ObjectIdNames[13919] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_Writable' -ObjectIdNames[13920] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_UserWritable' -ObjectIdNames[13921] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_OpenCount' -ObjectIdNames[13922] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_MimeType' -ObjectIdNames[13923] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_Open' -ObjectIdNames[13924] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_Open_InputArguments' -ObjectIdNames[13925] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_Open_OutputArguments' -ObjectIdNames[13926] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_Close' -ObjectIdNames[13927] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_Close_InputArguments' -ObjectIdNames[13928] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_Read' -ObjectIdNames[13929] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_Read_InputArguments' -ObjectIdNames[13930] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_Read_OutputArguments' -ObjectIdNames[13931] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_Write' -ObjectIdNames[13932] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_Write_InputArguments' -ObjectIdNames[13933] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_GetPosition' -ObjectIdNames[13934] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_GetPosition_InputArguments' -ObjectIdNames[13935] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_GetPosition_OutputArguments' -ObjectIdNames[13936] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_SetPosition' -ObjectIdNames[13937] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_SetPosition_InputArguments' -ObjectIdNames[13938] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_LastUpdateTime' -ObjectIdNames[13939] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_OpenWithMasks' -ObjectIdNames[13940] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_OpenWithMasks_InputArguments' -ObjectIdNames[13941] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_OpenWithMasks_OutputArguments' -ObjectIdNames[13942] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_CloseAndUpdate' -ObjectIdNames[13943] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_CloseAndUpdate_InputArguments' -ObjectIdNames[13944] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_CloseAndUpdate_OutputArguments' -ObjectIdNames[13945] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_AddCertificate' -ObjectIdNames[13946] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_AddCertificate_InputArguments' -ObjectIdNames[13947] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_RemoveCertificate' -ObjectIdNames[13948] = 'CertificateGroupFolderType_xCertificateGroupx_TrustList_RemoveCertificate_InputArguments' -ObjectIdNames[13949] = 'CertificateGroupFolderType_xCertificateGroupx_CertificateTypes' +ObjectIdNames[13916] = 'CertificateGroupFolderType_AdditionalGroup_Placeholder' +ObjectIdNames[13917] = 'CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList' +ObjectIdNames[13918] = 'CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Size' +ObjectIdNames[13919] = 'CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Writable' +ObjectIdNames[13920] = 'CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_UserWritable' +ObjectIdNames[13921] = 'CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_OpenCount' +ObjectIdNames[13922] = 'CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_MimeType' +ObjectIdNames[13923] = 'CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Open' +ObjectIdNames[13924] = 'CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Open_InputArguments' +ObjectIdNames[13925] = 'CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Open_OutputArguments' +ObjectIdNames[13926] = 'CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Close' +ObjectIdNames[13927] = 'CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Close_InputArguments' +ObjectIdNames[13928] = 'CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Read' +ObjectIdNames[13929] = 'CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Read_InputArguments' +ObjectIdNames[13930] = 'CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Read_OutputArguments' +ObjectIdNames[13931] = 'CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Write' +ObjectIdNames[13932] = 'CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_Write_InputArguments' +ObjectIdNames[13933] = 'CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_GetPosition' +ObjectIdNames[13934] = 'CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_GetPosition_InputArguments' +ObjectIdNames[13935] = 'CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_GetPosition_OutputArguments' +ObjectIdNames[13936] = 'CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_SetPosition' +ObjectIdNames[13937] = 'CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_SetPosition_InputArguments' +ObjectIdNames[13938] = 'CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_LastUpdateTime' +ObjectIdNames[13939] = 'CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_OpenWithMasks' +ObjectIdNames[13940] = 'CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_OpenWithMasks_InputArguments' +ObjectIdNames[13941] = 'CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_OpenWithMasks_OutputArguments' +ObjectIdNames[13942] = 'CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_CloseAndUpdate' +ObjectIdNames[13943] = 'CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_CloseAndUpdate_InputArguments' +ObjectIdNames[13944] = 'CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_CloseAndUpdate_OutputArguments' +ObjectIdNames[13945] = 'CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_AddCertificate' +ObjectIdNames[13946] = 'CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_AddCertificate_InputArguments' +ObjectIdNames[13947] = 'CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_RemoveCertificate' +ObjectIdNames[13948] = 'CertificateGroupFolderType_AdditionalGroup_Placeholder_TrustList_RemoveCertificate_InputArguments' +ObjectIdNames[13949] = 'CertificateGroupFolderType_AdditionalGroup_Placeholder_CertificateTypes' ObjectIdNames[13950] = 'ServerConfigurationType_CertificateGroups' ObjectIdNames[13951] = 'ServerConfigurationType_CertificateGroups_DefaultApplicationGroup' ObjectIdNames[13952] = 'ServerConfigurationType_CertificateGroups_DefaultApplicationGroup_TrustList' @@ -11497,6 +16265,4940 @@ class ObjectIds(object): ObjectIdNames[14159] = 'ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_MimeType' ObjectIdNames[14160] = 'ServerConfiguration_CertificateGroups_DefaultApplicationGroup_TrustList_CloseAndUpdate_InputArguments' ObjectIdNames[14161] = 'ServerConfiguration_CertificateGroups_DefaultApplicationGroup_CertificateTypes' +ObjectIdNames[14183] = 'RemoveConnectionMethodType' +ObjectIdNames[14184] = 'RemoveConnectionMethodType_InputArguments' +ObjectIdNames[14209] = 'PubSubConnectionType' +ObjectIdNames[14221] = 'PubSubConnectionType_Address' +ObjectIdNames[14225] = 'PubSubConnectionType_RemoveGroup' +ObjectIdNames[14226] = 'PubSubConnectionType_RemoveGroup_InputArguments' +ObjectIdNames[14232] = 'PubSubGroupType' +ObjectIdNames[14273] = 'PublishedVariableDataType' +ObjectIdNames[14319] = 'PublishedVariableDataType_Encoding_DefaultXml' +ObjectIdNames[14320] = 'OpcUa_XmlSchema_PublishedVariableDataType' +ObjectIdNames[14321] = 'OpcUa_XmlSchema_PublishedVariableDataType_DataTypeVersion' +ObjectIdNames[14322] = 'OpcUa_XmlSchema_PublishedVariableDataType_DictionaryFragment' +ObjectIdNames[14323] = 'PublishedVariableDataType_Encoding_DefaultBinary' +ObjectIdNames[14324] = 'OpcUa_BinarySchema_PublishedVariableDataType' +ObjectIdNames[14325] = 'OpcUa_BinarySchema_PublishedVariableDataType_DataTypeVersion' +ObjectIdNames[14326] = 'OpcUa_BinarySchema_PublishedVariableDataType_DictionaryFragment' ObjectIdNames[14413] = 'AuditCreateSessionEventType_SessionId' ObjectIdNames[14414] = 'AuditUrlMismatchEventType_SessionId' ObjectIdNames[14415] = 'Server_ServerRedundancy_ServerNetworkGroups' +ObjectIdNames[14416] = 'PublishSubscribeType' +ObjectIdNames[14417] = 'PublishSubscribeType_ConnectionName_Placeholder' +ObjectIdNames[14418] = 'PublishSubscribeType_ConnectionName_Placeholder_PublisherId' +ObjectIdNames[14419] = 'PublishSubscribeType_ConnectionName_Placeholder_Status' +ObjectIdNames[14420] = 'PublishSubscribeType_ConnectionName_Placeholder_Status_State' +ObjectIdNames[14421] = 'PublishSubscribeType_ConnectionName_Placeholder_Status_Enable' +ObjectIdNames[14422] = 'PublishSubscribeType_ConnectionName_Placeholder_Status_Disable' +ObjectIdNames[14423] = 'PublishSubscribeType_ConnectionName_Placeholder_Address' +ObjectIdNames[14424] = 'PublishSubscribeType_ConnectionName_Placeholder_RemoveGroup' +ObjectIdNames[14425] = 'PublishSubscribeType_ConnectionName_Placeholder_RemoveGroup_InputArguments' +ObjectIdNames[14432] = 'PublishSubscribeType_RemoveConnection' +ObjectIdNames[14433] = 'PublishSubscribeType_RemoveConnection_InputArguments' +ObjectIdNames[14434] = 'PublishSubscribeType_PublishedDataSets' +ObjectIdNames[14435] = 'PublishSubscribeType_PublishedDataSets_AddPublishedDataItems' +ObjectIdNames[14436] = 'PublishSubscribeType_PublishedDataSets_AddPublishedDataItems_InputArguments' +ObjectIdNames[14437] = 'PublishSubscribeType_PublishedDataSets_AddPublishedDataItems_OutputArguments' +ObjectIdNames[14438] = 'PublishSubscribeType_PublishedDataSets_AddPublishedEvents' +ObjectIdNames[14439] = 'PublishSubscribeType_PublishedDataSets_AddPublishedEvents_InputArguments' +ObjectIdNames[14440] = 'PublishSubscribeType_PublishedDataSets_AddPublishedEvents_OutputArguments' +ObjectIdNames[14441] = 'PublishSubscribeType_PublishedDataSets_RemovePublishedDataSet' +ObjectIdNames[14442] = 'PublishSubscribeType_PublishedDataSets_RemovePublishedDataSet_InputArguments' +ObjectIdNames[14443] = 'PublishSubscribe' +ObjectIdNames[14476] = 'HasPubSubConnection' +ObjectIdNames[14477] = 'DataSetFolderType' +ObjectIdNames[14478] = 'DataSetFolderType_DataSetFolderName_Placeholder' +ObjectIdNames[14479] = 'DataSetFolderType_DataSetFolderName_Placeholder_AddPublishedDataItems' +ObjectIdNames[14480] = 'DataSetFolderType_DataSetFolderName_Placeholder_AddPublishedDataItems_InputArguments' +ObjectIdNames[14481] = 'DataSetFolderType_DataSetFolderName_Placeholder_AddPublishedDataItems_OutputArguments' +ObjectIdNames[14482] = 'DataSetFolderType_DataSetFolderName_Placeholder_AddPublishedEvents' +ObjectIdNames[14483] = 'DataSetFolderType_DataSetFolderName_Placeholder_AddPublishedEvents_InputArguments' +ObjectIdNames[14484] = 'DataSetFolderType_DataSetFolderName_Placeholder_AddPublishedEvents_OutputArguments' +ObjectIdNames[14485] = 'DataSetFolderType_DataSetFolderName_Placeholder_RemovePublishedDataSet' +ObjectIdNames[14486] = 'DataSetFolderType_DataSetFolderName_Placeholder_RemovePublishedDataSet_InputArguments' +ObjectIdNames[14487] = 'DataSetFolderType_PublishedDataSetName_Placeholder' +ObjectIdNames[14489] = 'DataSetFolderType_PublishedDataSetName_Placeholder_ConfigurationVersion' +ObjectIdNames[14493] = 'DataSetFolderType_AddPublishedDataItems' +ObjectIdNames[14494] = 'DataSetFolderType_AddPublishedDataItems_InputArguments' +ObjectIdNames[14495] = 'DataSetFolderType_AddPublishedDataItems_OutputArguments' +ObjectIdNames[14496] = 'DataSetFolderType_AddPublishedEvents' +ObjectIdNames[14497] = 'DataSetFolderType_AddPublishedEvents_InputArguments' +ObjectIdNames[14498] = 'DataSetFolderType_AddPublishedEvents_OutputArguments' +ObjectIdNames[14499] = 'DataSetFolderType_RemovePublishedDataSet' +ObjectIdNames[14500] = 'DataSetFolderType_RemovePublishedDataSet_InputArguments' +ObjectIdNames[14501] = 'AddPublishedDataItemsMethodType' +ObjectIdNames[14502] = 'AddPublishedDataItemsMethodType_InputArguments' +ObjectIdNames[14503] = 'AddPublishedDataItemsMethodType_OutputArguments' +ObjectIdNames[14504] = 'AddPublishedEventsMethodType' +ObjectIdNames[14505] = 'AddPublishedEventsMethodType_InputArguments' +ObjectIdNames[14506] = 'AddPublishedEventsMethodType_OutputArguments' +ObjectIdNames[14507] = 'RemovePublishedDataSetMethodType' +ObjectIdNames[14508] = 'RemovePublishedDataSetMethodType_InputArguments' +ObjectIdNames[14509] = 'PublishedDataSetType' +ObjectIdNames[14519] = 'PublishedDataSetType_ConfigurationVersion' +ObjectIdNames[14523] = 'DataSetMetaDataType' +ObjectIdNames[14524] = 'FieldMetaData' +ObjectIdNames[14525] = 'DataTypeDescription' +ObjectIdNames[14528] = 'StructureType_EnumStrings' +ObjectIdNames[14533] = 'KeyValuePair' +ObjectIdNames[14534] = 'PublishedDataItemsType' +ObjectIdNames[14544] = 'PublishedDataItemsType_ConfigurationVersion' +ObjectIdNames[14548] = 'PublishedDataItemsType_PublishedData' +ObjectIdNames[14555] = 'PublishedDataItemsType_AddVariables' +ObjectIdNames[14556] = 'PublishedDataItemsType_AddVariables_InputArguments' +ObjectIdNames[14557] = 'PublishedDataItemsType_AddVariables_OutputArguments' +ObjectIdNames[14558] = 'PublishedDataItemsType_RemoveVariables' +ObjectIdNames[14559] = 'PublishedDataItemsType_RemoveVariables_InputArguments' +ObjectIdNames[14560] = 'PublishedDataItemsType_RemoveVariables_OutputArguments' +ObjectIdNames[14564] = 'PublishedDataItemsAddVariablesMethodType' +ObjectIdNames[14565] = 'PublishedDataItemsAddVariablesMethodType_InputArguments' +ObjectIdNames[14566] = 'PublishedDataItemsAddVariablesMethodType_OutputArguments' +ObjectIdNames[14567] = 'PublishedDataItemsRemoveVariablesMethodType' +ObjectIdNames[14568] = 'PublishedDataItemsRemoveVariablesMethodType_InputArguments' +ObjectIdNames[14569] = 'PublishedDataItemsRemoveVariablesMethodType_OutputArguments' +ObjectIdNames[14572] = 'PublishedEventsType' +ObjectIdNames[14582] = 'PublishedEventsType_ConfigurationVersion' +ObjectIdNames[14586] = 'PublishedEventsType_PubSubEventNotifier' +ObjectIdNames[14587] = 'PublishedEventsType_SelectedFields' +ObjectIdNames[14588] = 'PublishedEventsType_Filter' +ObjectIdNames[14593] = 'ConfigurationVersionDataType' +ObjectIdNames[14595] = 'PubSubConnectionType_PublisherId' +ObjectIdNames[14600] = 'PubSubConnectionType_Status' +ObjectIdNames[14601] = 'PubSubConnectionType_Status_State' +ObjectIdNames[14602] = 'PubSubConnectionType_Status_Enable' +ObjectIdNames[14603] = 'PubSubConnectionType_Status_Disable' +ObjectIdNames[14604] = 'PubSubConnectionTypeRemoveGroupMethodType' +ObjectIdNames[14605] = 'PubSubConnectionTypeRemoveGroupMethodType_InputArguments' +ObjectIdNames[14623] = 'PubSubGroupTypeRemoveWriterMethodType' +ObjectIdNames[14624] = 'PubSubGroupTypeRemoveWriterMethodType_InputArguments' +ObjectIdNames[14625] = 'PubSubGroupTypeRemoveReaderMethodType' +ObjectIdNames[14626] = 'PubSubGroupTypeRemoveReaderMethodType_InputArguments' +ObjectIdNames[14643] = 'PubSubStatusType' +ObjectIdNames[14644] = 'PubSubStatusType_State' +ObjectIdNames[14645] = 'PubSubStatusType_Enable' +ObjectIdNames[14646] = 'PubSubStatusType_Disable' +ObjectIdNames[14647] = 'PubSubState' +ObjectIdNames[14648] = 'PubSubState_EnumStrings' +ObjectIdNames[14744] = 'FieldTargetDataType' +ObjectIdNames[14794] = 'DataSetMetaDataType_Encoding_DefaultXml' +ObjectIdNames[14795] = 'FieldMetaData_Encoding_DefaultXml' +ObjectIdNames[14796] = 'DataTypeDescription_Encoding_DefaultXml' +ObjectIdNames[14797] = 'DataTypeDefinition_Encoding_DefaultXml' +ObjectIdNames[14798] = 'StructureDefinition_Encoding_DefaultXml' +ObjectIdNames[14799] = 'EnumDefinition_Encoding_DefaultXml' +ObjectIdNames[14800] = 'StructureField_Encoding_DefaultXml' +ObjectIdNames[14801] = 'EnumField_Encoding_DefaultXml' +ObjectIdNames[14802] = 'KeyValuePair_Encoding_DefaultXml' +ObjectIdNames[14803] = 'ConfigurationVersionDataType_Encoding_DefaultXml' +ObjectIdNames[14804] = 'FieldTargetDataType_Encoding_DefaultXml' +ObjectIdNames[14805] = 'OpcUa_XmlSchema_DataSetMetaDataType' +ObjectIdNames[14806] = 'OpcUa_XmlSchema_DataSetMetaDataType_DataTypeVersion' +ObjectIdNames[14807] = 'OpcUa_XmlSchema_DataSetMetaDataType_DictionaryFragment' +ObjectIdNames[14808] = 'OpcUa_XmlSchema_FieldMetaData' +ObjectIdNames[14809] = 'OpcUa_XmlSchema_FieldMetaData_DataTypeVersion' +ObjectIdNames[14810] = 'OpcUa_XmlSchema_FieldMetaData_DictionaryFragment' +ObjectIdNames[14811] = 'OpcUa_XmlSchema_DataTypeDescription' +ObjectIdNames[14812] = 'OpcUa_XmlSchema_DataTypeDescription_DataTypeVersion' +ObjectIdNames[14813] = 'OpcUa_XmlSchema_DataTypeDescription_DictionaryFragment' +ObjectIdNames[14826] = 'OpcUa_XmlSchema_EnumField' +ObjectIdNames[14827] = 'OpcUa_XmlSchema_EnumField_DataTypeVersion' +ObjectIdNames[14828] = 'OpcUa_XmlSchema_EnumField_DictionaryFragment' +ObjectIdNames[14829] = 'OpcUa_XmlSchema_KeyValuePair' +ObjectIdNames[14830] = 'OpcUa_XmlSchema_KeyValuePair_DataTypeVersion' +ObjectIdNames[14831] = 'OpcUa_XmlSchema_KeyValuePair_DictionaryFragment' +ObjectIdNames[14832] = 'OpcUa_XmlSchema_ConfigurationVersionDataType' +ObjectIdNames[14833] = 'OpcUa_XmlSchema_ConfigurationVersionDataType_DataTypeVersion' +ObjectIdNames[14834] = 'OpcUa_XmlSchema_ConfigurationVersionDataType_DictionaryFragment' +ObjectIdNames[14835] = 'OpcUa_XmlSchema_FieldTargetDataType' +ObjectIdNames[14836] = 'OpcUa_XmlSchema_FieldTargetDataType_DataTypeVersion' +ObjectIdNames[14837] = 'OpcUa_XmlSchema_FieldTargetDataType_DictionaryFragment' +ObjectIdNames[14839] = 'FieldMetaData_Encoding_DefaultBinary' +ObjectIdNames[14844] = 'StructureField_Encoding_DefaultBinary' +ObjectIdNames[14845] = 'EnumField_Encoding_DefaultBinary' +ObjectIdNames[14846] = 'KeyValuePair_Encoding_DefaultBinary' +ObjectIdNames[14847] = 'ConfigurationVersionDataType_Encoding_DefaultBinary' +ObjectIdNames[14848] = 'FieldTargetDataType_Encoding_DefaultBinary' +ObjectIdNames[14849] = 'OpcUa_BinarySchema_DataSetMetaDataType' +ObjectIdNames[14850] = 'OpcUa_BinarySchema_DataSetMetaDataType_DataTypeVersion' +ObjectIdNames[14851] = 'OpcUa_BinarySchema_DataSetMetaDataType_DictionaryFragment' +ObjectIdNames[14852] = 'OpcUa_BinarySchema_FieldMetaData' +ObjectIdNames[14853] = 'OpcUa_BinarySchema_FieldMetaData_DataTypeVersion' +ObjectIdNames[14854] = 'OpcUa_BinarySchema_FieldMetaData_DictionaryFragment' +ObjectIdNames[14855] = 'OpcUa_BinarySchema_DataTypeDescription' +ObjectIdNames[14856] = 'OpcUa_BinarySchema_DataTypeDescription_DataTypeVersion' +ObjectIdNames[14857] = 'OpcUa_BinarySchema_DataTypeDescription_DictionaryFragment' +ObjectIdNames[14870] = 'OpcUa_BinarySchema_EnumField' +ObjectIdNames[14871] = 'OpcUa_BinarySchema_EnumField_DataTypeVersion' +ObjectIdNames[14872] = 'OpcUa_BinarySchema_EnumField_DictionaryFragment' +ObjectIdNames[14873] = 'OpcUa_BinarySchema_KeyValuePair' +ObjectIdNames[14874] = 'OpcUa_BinarySchema_KeyValuePair_DataTypeVersion' +ObjectIdNames[14875] = 'OpcUa_BinarySchema_KeyValuePair_DictionaryFragment' +ObjectIdNames[14876] = 'OpcUa_BinarySchema_ConfigurationVersionDataType' +ObjectIdNames[14877] = 'OpcUa_BinarySchema_ConfigurationVersionDataType_DataTypeVersion' +ObjectIdNames[14878] = 'OpcUa_BinarySchema_ConfigurationVersionDataType_DictionaryFragment' +ObjectIdNames[14880] = 'OpcUa_BinarySchema_FieldTargetDataType_DataTypeVersion' +ObjectIdNames[14881] = 'OpcUa_BinarySchema_FieldTargetDataType_DictionaryFragment' +ObjectIdNames[14900] = 'CertificateExpirationAlarmType_ExpirationLimit' +ObjectIdNames[14936] = 'DataSetToWriter' +ObjectIdNames[15001] = 'DataTypeDictionaryType_Deprecated' +ObjectIdNames[15002] = 'MaxCharacters' +ObjectIdNames[15003] = 'ServerType_UrisVersion' +ObjectIdNames[15004] = 'Server_UrisVersion' +ObjectIdNames[15005] = 'SimpleTypeDescription' +ObjectIdNames[15006] = 'UABinaryFileDataType' +ObjectIdNames[15007] = 'BrokerConnectionTransportDataType' +ObjectIdNames[15008] = 'BrokerTransportQualityOfService' +ObjectIdNames[15009] = 'BrokerTransportQualityOfService_EnumStrings' +ObjectIdNames[15010] = 'SecurityGroupFolderType_SecurityGroupName_Placeholder_KeyLifetime' +ObjectIdNames[15011] = 'SecurityGroupFolderType_SecurityGroupName_Placeholder_SecurityPolicyUri' +ObjectIdNames[15012] = 'SecurityGroupFolderType_SecurityGroupName_Placeholder_MaxFutureKeyCount' +ObjectIdNames[15013] = 'AuditConditionResetEventType' +ObjectIdNames[15014] = 'AuditConditionResetEventType_EventId' +ObjectIdNames[15015] = 'AuditConditionResetEventType_EventType' +ObjectIdNames[15016] = 'AuditConditionResetEventType_SourceNode' +ObjectIdNames[15017] = 'AuditConditionResetEventType_SourceName' +ObjectIdNames[15018] = 'AuditConditionResetEventType_Time' +ObjectIdNames[15019] = 'AuditConditionResetEventType_ReceiveTime' +ObjectIdNames[15020] = 'AuditConditionResetEventType_LocalTime' +ObjectIdNames[15021] = 'AuditConditionResetEventType_Message' +ObjectIdNames[15022] = 'AuditConditionResetEventType_Severity' +ObjectIdNames[15023] = 'AuditConditionResetEventType_ActionTimeStamp' +ObjectIdNames[15024] = 'AuditConditionResetEventType_Status' +ObjectIdNames[15025] = 'AuditConditionResetEventType_ServerId' +ObjectIdNames[15026] = 'AuditConditionResetEventType_ClientAuditEntryId' +ObjectIdNames[15027] = 'AuditConditionResetEventType_ClientUserId' +ObjectIdNames[15028] = 'AuditConditionResetEventType_MethodId' +ObjectIdNames[15029] = 'AuditConditionResetEventType_InputArguments' +ObjectIdNames[15030] = 'PermissionType_OptionSetValues' +ObjectIdNames[15031] = 'AccessLevelType' +ObjectIdNames[15032] = 'AccessLevelType_OptionSetValues' +ObjectIdNames[15033] = 'EventNotifierType' +ObjectIdNames[15034] = 'EventNotifierType_OptionSetValues' +ObjectIdNames[15035] = 'AccessRestrictionType_OptionSetValues' +ObjectIdNames[15036] = 'AttributeWriteMask_OptionSetValues' +ObjectIdNames[15037] = 'OpcUa_BinarySchema_Deprecated' +ObjectIdNames[15038] = 'ProgramStateMachineType_ProgramDiagnostics_LastMethodInputValues' +ObjectIdNames[15039] = 'OpcUa_XmlSchema_Deprecated' +ObjectIdNames[15040] = 'ProgramStateMachineType_ProgramDiagnostics_LastMethodOutputValues' +ObjectIdNames[15041] = 'KeyValuePair_Encoding_DefaultJson' +ObjectIdNames[15042] = 'IdentityMappingRuleType_Encoding_DefaultJson' +ObjectIdNames[15043] = 'SecurityGroupFolderType_SecurityGroupName_Placeholder_MaxPastKeyCount' +ObjectIdNames[15044] = 'TrustListDataType_Encoding_DefaultJson' +ObjectIdNames[15045] = 'DecimalDataType_Encoding_DefaultJson' +ObjectIdNames[15046] = 'SecurityGroupType_KeyLifetime' +ObjectIdNames[15047] = 'SecurityGroupType_SecurityPolicyUri' +ObjectIdNames[15048] = 'SecurityGroupType_MaxFutureKeyCount' +ObjectIdNames[15049] = 'ConfigurationVersionDataType_Encoding_DefaultJson' +ObjectIdNames[15050] = 'DataSetMetaDataType_Encoding_DefaultJson' +ObjectIdNames[15051] = 'FieldMetaData_Encoding_DefaultJson' +ObjectIdNames[15052] = 'PublishedEventsType_ModifyFieldSelection' +ObjectIdNames[15053] = 'PublishedEventsType_ModifyFieldSelection_InputArguments' +ObjectIdNames[15054] = 'PublishedEventsTypeModifyFieldSelectionMethodType' +ObjectIdNames[15055] = 'PublishedEventsTypeModifyFieldSelectionMethodType_InputArguments' +ObjectIdNames[15056] = 'SecurityGroupType_MaxPastKeyCount' +ObjectIdNames[15057] = 'DataTypeDescription_Encoding_DefaultJson' +ObjectIdNames[15058] = 'StructureDescription_Encoding_DefaultJson' +ObjectIdNames[15059] = 'EnumDescription_Encoding_DefaultJson' +ObjectIdNames[15060] = 'PublishedVariableDataType_Encoding_DefaultJson' +ObjectIdNames[15061] = 'FieldTargetDataType_Encoding_DefaultJson' +ObjectIdNames[15062] = 'RolePermissionType_Encoding_DefaultJson' +ObjectIdNames[15063] = 'DataTypeDefinition_Encoding_DefaultJson' +ObjectIdNames[15064] = 'DatagramConnectionTransportType' +ObjectIdNames[15065] = 'StructureField_Encoding_DefaultJson' +ObjectIdNames[15066] = 'StructureDefinition_Encoding_DefaultJson' +ObjectIdNames[15067] = 'EnumDefinition_Encoding_DefaultJson' +ObjectIdNames[15068] = 'Node_Encoding_DefaultJson' +ObjectIdNames[15069] = 'InstanceNode_Encoding_DefaultJson' +ObjectIdNames[15070] = 'TypeNode_Encoding_DefaultJson' +ObjectIdNames[15071] = 'ObjectNode_Encoding_DefaultJson' +ObjectIdNames[15072] = 'DatagramConnectionTransportType_DiscoveryAddress' +ObjectIdNames[15073] = 'ObjectTypeNode_Encoding_DefaultJson' +ObjectIdNames[15074] = 'VariableNode_Encoding_DefaultJson' +ObjectIdNames[15075] = 'VariableTypeNode_Encoding_DefaultJson' +ObjectIdNames[15076] = 'ReferenceTypeNode_Encoding_DefaultJson' +ObjectIdNames[15077] = 'MethodNode_Encoding_DefaultJson' +ObjectIdNames[15078] = 'ViewNode_Encoding_DefaultJson' +ObjectIdNames[15079] = 'DataTypeNode_Encoding_DefaultJson' +ObjectIdNames[15080] = 'ReferenceNode_Encoding_DefaultJson' +ObjectIdNames[15081] = 'Argument_Encoding_DefaultJson' +ObjectIdNames[15082] = 'EnumValueType_Encoding_DefaultJson' +ObjectIdNames[15083] = 'EnumField_Encoding_DefaultJson' +ObjectIdNames[15084] = 'OptionSet_Encoding_DefaultJson' +ObjectIdNames[15085] = 'Union_Encoding_DefaultJson' +ObjectIdNames[15086] = 'TimeZoneDataType_Encoding_DefaultJson' +ObjectIdNames[15087] = 'ApplicationDescription_Encoding_DefaultJson' +ObjectIdNames[15088] = 'RequestHeader_Encoding_DefaultJson' +ObjectIdNames[15089] = 'ResponseHeader_Encoding_DefaultJson' +ObjectIdNames[15090] = 'ServiceFault_Encoding_DefaultJson' +ObjectIdNames[15091] = 'SessionlessInvokeRequestType_Encoding_DefaultJson' +ObjectIdNames[15092] = 'SessionlessInvokeResponseType_Encoding_DefaultJson' +ObjectIdNames[15093] = 'FindServersRequest_Encoding_DefaultJson' +ObjectIdNames[15094] = 'FindServersResponse_Encoding_DefaultJson' +ObjectIdNames[15095] = 'ServerOnNetwork_Encoding_DefaultJson' +ObjectIdNames[15096] = 'FindServersOnNetworkRequest_Encoding_DefaultJson' +ObjectIdNames[15097] = 'FindServersOnNetworkResponse_Encoding_DefaultJson' +ObjectIdNames[15098] = 'UserTokenPolicy_Encoding_DefaultJson' +ObjectIdNames[15099] = 'EndpointDescription_Encoding_DefaultJson' +ObjectIdNames[15100] = 'GetEndpointsRequest_Encoding_DefaultJson' +ObjectIdNames[15101] = 'GetEndpointsResponse_Encoding_DefaultJson' +ObjectIdNames[15102] = 'RegisteredServer_Encoding_DefaultJson' +ObjectIdNames[15103] = 'RegisterServerRequest_Encoding_DefaultJson' +ObjectIdNames[15104] = 'RegisterServerResponse_Encoding_DefaultJson' +ObjectIdNames[15105] = 'DiscoveryConfiguration_Encoding_DefaultJson' +ObjectIdNames[15106] = 'MdnsDiscoveryConfiguration_Encoding_DefaultJson' +ObjectIdNames[15107] = 'RegisterServer2Request_Encoding_DefaultJson' +ObjectIdNames[15108] = 'SubscribedDataSetType' +ObjectIdNames[15109] = 'SubscribedDataSetType_DataSetMetaData' +ObjectIdNames[15110] = 'SubscribedDataSetType_MessageReceiveTimeout' +ObjectIdNames[15111] = 'TargetVariablesType' +ObjectIdNames[15112] = 'TargetVariablesType_DataSetMetaData' +ObjectIdNames[15113] = 'TargetVariablesType_MessageReceiveTimeout' +ObjectIdNames[15114] = 'TargetVariablesType_TargetVariables' +ObjectIdNames[15115] = 'TargetVariablesType_AddTargetVariables' +ObjectIdNames[15116] = 'TargetVariablesType_AddTargetVariables_InputArguments' +ObjectIdNames[15117] = 'TargetVariablesType_AddTargetVariables_OutputArguments' +ObjectIdNames[15118] = 'TargetVariablesType_RemoveTargetVariables' +ObjectIdNames[15119] = 'TargetVariablesType_RemoveTargetVariables_InputArguments' +ObjectIdNames[15120] = 'TargetVariablesType_RemoveTargetVariables_OutputArguments' +ObjectIdNames[15121] = 'TargetVariablesTypeAddTargetVariablesMethodType' +ObjectIdNames[15122] = 'TargetVariablesTypeAddTargetVariablesMethodType_InputArguments' +ObjectIdNames[15123] = 'TargetVariablesTypeAddTargetVariablesMethodType_OutputArguments' +ObjectIdNames[15124] = 'TargetVariablesTypeRemoveTargetVariablesMethodType' +ObjectIdNames[15125] = 'TargetVariablesTypeRemoveTargetVariablesMethodType_InputArguments' +ObjectIdNames[15126] = 'TargetVariablesTypeRemoveTargetVariablesMethodType_OutputArguments' +ObjectIdNames[15127] = 'SubscribedDataSetMirrorType' +ObjectIdNames[15128] = 'SubscribedDataSetMirrorType_DataSetMetaData' +ObjectIdNames[15129] = 'SubscribedDataSetMirrorType_MessageReceiveTimeout' +ObjectIdNames[15130] = 'RegisterServer2Response_Encoding_DefaultJson' +ObjectIdNames[15131] = 'ChannelSecurityToken_Encoding_DefaultJson' +ObjectIdNames[15132] = 'OpenSecureChannelRequest_Encoding_DefaultJson' +ObjectIdNames[15133] = 'OpenSecureChannelResponse_Encoding_DefaultJson' +ObjectIdNames[15134] = 'CloseSecureChannelRequest_Encoding_DefaultJson' +ObjectIdNames[15135] = 'CloseSecureChannelResponse_Encoding_DefaultJson' +ObjectIdNames[15136] = 'SignedSoftwareCertificate_Encoding_DefaultJson' +ObjectIdNames[15137] = 'SignatureData_Encoding_DefaultJson' +ObjectIdNames[15138] = 'CreateSessionRequest_Encoding_DefaultJson' +ObjectIdNames[15139] = 'CreateSessionResponse_Encoding_DefaultJson' +ObjectIdNames[15140] = 'UserIdentityToken_Encoding_DefaultJson' +ObjectIdNames[15141] = 'AnonymousIdentityToken_Encoding_DefaultJson' +ObjectIdNames[15142] = 'UserNameIdentityToken_Encoding_DefaultJson' +ObjectIdNames[15143] = 'X509IdentityToken_Encoding_DefaultJson' +ObjectIdNames[15144] = 'IssuedIdentityToken_Encoding_DefaultJson' +ObjectIdNames[15145] = 'ActivateSessionRequest_Encoding_DefaultJson' +ObjectIdNames[15146] = 'ActivateSessionResponse_Encoding_DefaultJson' +ObjectIdNames[15147] = 'CloseSessionRequest_Encoding_DefaultJson' +ObjectIdNames[15148] = 'CloseSessionResponse_Encoding_DefaultJson' +ObjectIdNames[15149] = 'CancelRequest_Encoding_DefaultJson' +ObjectIdNames[15150] = 'CancelResponse_Encoding_DefaultJson' +ObjectIdNames[15151] = 'NodeAttributes_Encoding_DefaultJson' +ObjectIdNames[15152] = 'ObjectAttributes_Encoding_DefaultJson' +ObjectIdNames[15153] = 'VariableAttributes_Encoding_DefaultJson' +ObjectIdNames[15154] = 'DatagramConnectionTransportType_DiscoveryAddress_NetworkInterface' +ObjectIdNames[15155] = 'BrokerConnectionTransportType' +ObjectIdNames[15156] = 'BrokerConnectionTransportType_ResourceUri' +ObjectIdNames[15157] = 'MethodAttributes_Encoding_DefaultJson' +ObjectIdNames[15158] = 'ObjectTypeAttributes_Encoding_DefaultJson' +ObjectIdNames[15159] = 'VariableTypeAttributes_Encoding_DefaultJson' +ObjectIdNames[15160] = 'ReferenceTypeAttributes_Encoding_DefaultJson' +ObjectIdNames[15161] = 'DataTypeAttributes_Encoding_DefaultJson' +ObjectIdNames[15162] = 'ViewAttributes_Encoding_DefaultJson' +ObjectIdNames[15163] = 'GenericAttributeValue_Encoding_DefaultJson' +ObjectIdNames[15164] = 'GenericAttributes_Encoding_DefaultJson' +ObjectIdNames[15165] = 'AddNodesItem_Encoding_DefaultJson' +ObjectIdNames[15166] = 'AddNodesResult_Encoding_DefaultJson' +ObjectIdNames[15167] = 'AddNodesRequest_Encoding_DefaultJson' +ObjectIdNames[15168] = 'AddNodesResponse_Encoding_DefaultJson' +ObjectIdNames[15169] = 'AddReferencesItem_Encoding_DefaultJson' +ObjectIdNames[15170] = 'AddReferencesRequest_Encoding_DefaultJson' +ObjectIdNames[15171] = 'AddReferencesResponse_Encoding_DefaultJson' +ObjectIdNames[15172] = 'DeleteNodesItem_Encoding_DefaultJson' +ObjectIdNames[15173] = 'DeleteNodesRequest_Encoding_DefaultJson' +ObjectIdNames[15174] = 'DeleteNodesResponse_Encoding_DefaultJson' +ObjectIdNames[15175] = 'DeleteReferencesItem_Encoding_DefaultJson' +ObjectIdNames[15176] = 'DeleteReferencesRequest_Encoding_DefaultJson' +ObjectIdNames[15177] = 'DeleteReferencesResponse_Encoding_DefaultJson' +ObjectIdNames[15178] = 'BrokerConnectionTransportType_AuthenticationProfileUri' +ObjectIdNames[15179] = 'ViewDescription_Encoding_DefaultJson' +ObjectIdNames[15180] = 'BrowseDescription_Encoding_DefaultJson' +ObjectIdNames[15182] = 'ReferenceDescription_Encoding_DefaultJson' +ObjectIdNames[15183] = 'BrowseResult_Encoding_DefaultJson' +ObjectIdNames[15184] = 'BrowseRequest_Encoding_DefaultJson' +ObjectIdNames[15185] = 'BrowseResponse_Encoding_DefaultJson' +ObjectIdNames[15186] = 'BrowseNextRequest_Encoding_DefaultJson' +ObjectIdNames[15187] = 'BrowseNextResponse_Encoding_DefaultJson' +ObjectIdNames[15188] = 'RelativePathElement_Encoding_DefaultJson' +ObjectIdNames[15189] = 'RelativePath_Encoding_DefaultJson' +ObjectIdNames[15190] = 'BrowsePath_Encoding_DefaultJson' +ObjectIdNames[15191] = 'BrowsePathTarget_Encoding_DefaultJson' +ObjectIdNames[15192] = 'BrowsePathResult_Encoding_DefaultJson' +ObjectIdNames[15193] = 'TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultJson' +ObjectIdNames[15194] = 'TranslateBrowsePathsToNodeIdsResponse_Encoding_DefaultJson' +ObjectIdNames[15195] = 'RegisterNodesRequest_Encoding_DefaultJson' +ObjectIdNames[15196] = 'RegisterNodesResponse_Encoding_DefaultJson' +ObjectIdNames[15197] = 'UnregisterNodesRequest_Encoding_DefaultJson' +ObjectIdNames[15198] = 'UnregisterNodesResponse_Encoding_DefaultJson' +ObjectIdNames[15199] = 'EndpointConfiguration_Encoding_DefaultJson' +ObjectIdNames[15200] = 'QueryDataDescription_Encoding_DefaultJson' +ObjectIdNames[15201] = 'NodeTypeDescription_Encoding_DefaultJson' +ObjectIdNames[15202] = 'QueryDataSet_Encoding_DefaultJson' +ObjectIdNames[15203] = 'NodeReference_Encoding_DefaultJson' +ObjectIdNames[15204] = 'ContentFilterElement_Encoding_DefaultJson' +ObjectIdNames[15205] = 'ContentFilter_Encoding_DefaultJson' +ObjectIdNames[15206] = 'FilterOperand_Encoding_DefaultJson' +ObjectIdNames[15207] = 'ElementOperand_Encoding_DefaultJson' +ObjectIdNames[15208] = 'LiteralOperand_Encoding_DefaultJson' +ObjectIdNames[15209] = 'AttributeOperand_Encoding_DefaultJson' +ObjectIdNames[15210] = 'SimpleAttributeOperand_Encoding_DefaultJson' +ObjectIdNames[15211] = 'ContentFilterElementResult_Encoding_DefaultJson' +ObjectIdNames[15212] = 'PublishSubscribeType_GetSecurityKeys' +ObjectIdNames[15213] = 'PublishSubscribeType_GetSecurityKeys_InputArguments' +ObjectIdNames[15214] = 'PublishSubscribeType_GetSecurityKeys_OutputArguments' +ObjectIdNames[15215] = 'PublishSubscribe_GetSecurityKeys' +ObjectIdNames[15216] = 'PublishSubscribe_GetSecurityKeys_InputArguments' +ObjectIdNames[15217] = 'PublishSubscribe_GetSecurityKeys_OutputArguments' +ObjectIdNames[15218] = 'GetSecurityKeysMethodType' +ObjectIdNames[15219] = 'GetSecurityKeysMethodType_InputArguments' +ObjectIdNames[15220] = 'GetSecurityKeysMethodType_OutputArguments' +ObjectIdNames[15221] = 'DataSetFolderType_PublishedDataSetName_Placeholder_DataSetMetaData' +ObjectIdNames[15222] = 'PublishedDataSetType_DataSetWriterName_Placeholder' +ObjectIdNames[15223] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Status' +ObjectIdNames[15224] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Status_State' +ObjectIdNames[15225] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Status_Enable' +ObjectIdNames[15226] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Status_Disable' +ObjectIdNames[15227] = 'PublishedDataSetType_DataSetWriterName_Placeholder_TransportSettings' +ObjectIdNames[15228] = 'ContentFilterResult_Encoding_DefaultJson' +ObjectIdNames[15229] = 'PublishedDataSetType_DataSetMetaData' +ObjectIdNames[15230] = 'PublishedDataItemsType_DataSetWriterName_Placeholder' +ObjectIdNames[15231] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Status' +ObjectIdNames[15232] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Status_State' +ObjectIdNames[15233] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Status_Enable' +ObjectIdNames[15234] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Status_Disable' +ObjectIdNames[15235] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_TransportSettings' +ObjectIdNames[15236] = 'ParsingResult_Encoding_DefaultJson' +ObjectIdNames[15237] = 'PublishedDataItemsType_DataSetMetaData' +ObjectIdNames[15238] = 'PublishedEventsType_DataSetWriterName_Placeholder' +ObjectIdNames[15239] = 'PublishedEventsType_DataSetWriterName_Placeholder_Status' +ObjectIdNames[15240] = 'PublishedEventsType_DataSetWriterName_Placeholder_Status_State' +ObjectIdNames[15241] = 'PublishedEventsType_DataSetWriterName_Placeholder_Status_Enable' +ObjectIdNames[15242] = 'PublishedEventsType_DataSetWriterName_Placeholder_Status_Disable' +ObjectIdNames[15243] = 'PublishedEventsType_DataSetWriterName_Placeholder_TransportSettings' +ObjectIdNames[15244] = 'QueryFirstRequest_Encoding_DefaultJson' +ObjectIdNames[15245] = 'PublishedEventsType_DataSetMetaData' +ObjectIdNames[15246] = 'BrokerWriterGroupTransportType_ResourceUri' +ObjectIdNames[15247] = 'BrokerWriterGroupTransportType_AuthenticationProfileUri' +ObjectIdNames[15249] = 'BrokerWriterGroupTransportType_RequestedDeliveryGuarantee' +ObjectIdNames[15250] = 'BrokerDataSetWriterTransportType_ResourceUri' +ObjectIdNames[15251] = 'BrokerDataSetWriterTransportType_AuthenticationProfileUri' +ObjectIdNames[15252] = 'QueryFirstResponse_Encoding_DefaultJson' +ObjectIdNames[15254] = 'QueryNextRequest_Encoding_DefaultJson' +ObjectIdNames[15255] = 'QueryNextResponse_Encoding_DefaultJson' +ObjectIdNames[15256] = 'ReadValueId_Encoding_DefaultJson' +ObjectIdNames[15257] = 'ReadRequest_Encoding_DefaultJson' +ObjectIdNames[15258] = 'ReadResponse_Encoding_DefaultJson' +ObjectIdNames[15259] = 'HistoryReadValueId_Encoding_DefaultJson' +ObjectIdNames[15260] = 'HistoryReadResult_Encoding_DefaultJson' +ObjectIdNames[15261] = 'HistoryReadDetails_Encoding_DefaultJson' +ObjectIdNames[15262] = 'ReadEventDetails_Encoding_DefaultJson' +ObjectIdNames[15263] = 'ReadRawModifiedDetails_Encoding_DefaultJson' +ObjectIdNames[15264] = 'ReadProcessedDetails_Encoding_DefaultJson' +ObjectIdNames[15265] = 'PubSubGroupType_Status' +ObjectIdNames[15266] = 'PubSubGroupType_Status_State' +ObjectIdNames[15267] = 'PubSubGroupType_Status_Enable' +ObjectIdNames[15268] = 'PubSubGroupType_Status_Disable' +ObjectIdNames[15269] = 'ReadAtTimeDetails_Encoding_DefaultJson' +ObjectIdNames[15270] = 'HistoryData_Encoding_DefaultJson' +ObjectIdNames[15271] = 'ModificationInfo_Encoding_DefaultJson' +ObjectIdNames[15272] = 'HistoryModifiedData_Encoding_DefaultJson' +ObjectIdNames[15273] = 'HistoryEvent_Encoding_DefaultJson' +ObjectIdNames[15274] = 'HistoryReadRequest_Encoding_DefaultJson' +ObjectIdNames[15275] = 'HistoryReadResponse_Encoding_DefaultJson' +ObjectIdNames[15276] = 'WriteValue_Encoding_DefaultJson' +ObjectIdNames[15277] = 'WriteRequest_Encoding_DefaultJson' +ObjectIdNames[15278] = 'WriteResponse_Encoding_DefaultJson' +ObjectIdNames[15279] = 'HistoryUpdateDetails_Encoding_DefaultJson' +ObjectIdNames[15280] = 'UpdateDataDetails_Encoding_DefaultJson' +ObjectIdNames[15281] = 'UpdateStructureDataDetails_Encoding_DefaultJson' +ObjectIdNames[15282] = 'UpdateEventDetails_Encoding_DefaultJson' +ObjectIdNames[15283] = 'DeleteRawModifiedDetails_Encoding_DefaultJson' +ObjectIdNames[15284] = 'DeleteAtTimeDetails_Encoding_DefaultJson' +ObjectIdNames[15285] = 'DeleteEventDetails_Encoding_DefaultJson' +ObjectIdNames[15286] = 'HistoryUpdateResult_Encoding_DefaultJson' +ObjectIdNames[15287] = 'HistoryUpdateRequest_Encoding_DefaultJson' +ObjectIdNames[15288] = 'HistoryUpdateResponse_Encoding_DefaultJson' +ObjectIdNames[15289] = 'CallMethodRequest_Encoding_DefaultJson' +ObjectIdNames[15290] = 'CallMethodResult_Encoding_DefaultJson' +ObjectIdNames[15291] = 'CallRequest_Encoding_DefaultJson' +ObjectIdNames[15292] = 'CallResponse_Encoding_DefaultJson' +ObjectIdNames[15293] = 'MonitoringFilter_Encoding_DefaultJson' +ObjectIdNames[15294] = 'DataChangeFilter_Encoding_DefaultJson' +ObjectIdNames[15295] = 'EventFilter_Encoding_DefaultJson' +ObjectIdNames[15296] = 'HasDataSetWriter' +ObjectIdNames[15297] = 'HasDataSetReader' +ObjectIdNames[15298] = 'DataSetWriterType' +ObjectIdNames[15299] = 'DataSetWriterType_Status' +ObjectIdNames[15300] = 'DataSetWriterType_Status_State' +ObjectIdNames[15301] = 'DataSetWriterType_Status_Enable' +ObjectIdNames[15302] = 'DataSetWriterType_Status_Disable' +ObjectIdNames[15303] = 'DataSetWriterType_TransportSettings' +ObjectIdNames[15304] = 'AggregateConfiguration_Encoding_DefaultJson' +ObjectIdNames[15305] = 'DataSetWriterTransportType' +ObjectIdNames[15306] = 'DataSetReaderType' +ObjectIdNames[15307] = 'DataSetReaderType_Status' +ObjectIdNames[15308] = 'DataSetReaderType_Status_State' +ObjectIdNames[15309] = 'DataSetReaderType_Status_Enable' +ObjectIdNames[15310] = 'DataSetReaderType_Status_Disable' +ObjectIdNames[15311] = 'DataSetReaderType_TransportSettings' +ObjectIdNames[15312] = 'AggregateFilter_Encoding_DefaultJson' +ObjectIdNames[15313] = 'MonitoringFilterResult_Encoding_DefaultJson' +ObjectIdNames[15314] = 'EventFilterResult_Encoding_DefaultJson' +ObjectIdNames[15315] = 'AggregateFilterResult_Encoding_DefaultJson' +ObjectIdNames[15316] = 'DataSetReaderType_SubscribedDataSet' +ObjectIdNames[15317] = 'DataSetReaderType_SubscribedDataSet_DataSetMetaData' +ObjectIdNames[15318] = 'DataSetReaderType_SubscribedDataSet_MessageReceiveTimeout' +ObjectIdNames[15319] = 'DataSetReaderTransportType' +ObjectIdNames[15320] = 'MonitoringParameters_Encoding_DefaultJson' +ObjectIdNames[15321] = 'MonitoredItemCreateRequest_Encoding_DefaultJson' +ObjectIdNames[15322] = 'MonitoredItemCreateResult_Encoding_DefaultJson' +ObjectIdNames[15323] = 'CreateMonitoredItemsRequest_Encoding_DefaultJson' +ObjectIdNames[15324] = 'CreateMonitoredItemsResponse_Encoding_DefaultJson' +ObjectIdNames[15325] = 'MonitoredItemModifyRequest_Encoding_DefaultJson' +ObjectIdNames[15326] = 'MonitoredItemModifyResult_Encoding_DefaultJson' +ObjectIdNames[15327] = 'ModifyMonitoredItemsRequest_Encoding_DefaultJson' +ObjectIdNames[15328] = 'ModifyMonitoredItemsResponse_Encoding_DefaultJson' +ObjectIdNames[15329] = 'SetMonitoringModeRequest_Encoding_DefaultJson' +ObjectIdNames[15330] = 'BrokerDataSetWriterTransportType_RequestedDeliveryGuarantee' +ObjectIdNames[15331] = 'SetMonitoringModeResponse_Encoding_DefaultJson' +ObjectIdNames[15332] = 'SetTriggeringRequest_Encoding_DefaultJson' +ObjectIdNames[15333] = 'SetTriggeringResponse_Encoding_DefaultJson' +ObjectIdNames[15334] = 'BrokerDataSetReaderTransportType_ResourceUri' +ObjectIdNames[15335] = 'DeleteMonitoredItemsRequest_Encoding_DefaultJson' +ObjectIdNames[15336] = 'DeleteMonitoredItemsResponse_Encoding_DefaultJson' +ObjectIdNames[15337] = 'CreateSubscriptionRequest_Encoding_DefaultJson' +ObjectIdNames[15338] = 'CreateSubscriptionResponse_Encoding_DefaultJson' +ObjectIdNames[15339] = 'ModifySubscriptionRequest_Encoding_DefaultJson' +ObjectIdNames[15340] = 'ModifySubscriptionResponse_Encoding_DefaultJson' +ObjectIdNames[15341] = 'SetPublishingModeRequest_Encoding_DefaultJson' +ObjectIdNames[15342] = 'SetPublishingModeResponse_Encoding_DefaultJson' +ObjectIdNames[15343] = 'NotificationMessage_Encoding_DefaultJson' +ObjectIdNames[15344] = 'NotificationData_Encoding_DefaultJson' +ObjectIdNames[15345] = 'DataChangeNotification_Encoding_DefaultJson' +ObjectIdNames[15346] = 'MonitoredItemNotification_Encoding_DefaultJson' +ObjectIdNames[15347] = 'EventNotificationList_Encoding_DefaultJson' +ObjectIdNames[15348] = 'EventFieldList_Encoding_DefaultJson' +ObjectIdNames[15349] = 'HistoryEventFieldList_Encoding_DefaultJson' +ObjectIdNames[15350] = 'StatusChangeNotification_Encoding_DefaultJson' +ObjectIdNames[15351] = 'SubscriptionAcknowledgement_Encoding_DefaultJson' +ObjectIdNames[15352] = 'PublishRequest_Encoding_DefaultJson' +ObjectIdNames[15353] = 'PublishResponse_Encoding_DefaultJson' +ObjectIdNames[15354] = 'RepublishRequest_Encoding_DefaultJson' +ObjectIdNames[15355] = 'RepublishResponse_Encoding_DefaultJson' +ObjectIdNames[15356] = 'TransferResult_Encoding_DefaultJson' +ObjectIdNames[15357] = 'TransferSubscriptionsRequest_Encoding_DefaultJson' +ObjectIdNames[15358] = 'TransferSubscriptionsResponse_Encoding_DefaultJson' +ObjectIdNames[15359] = 'DeleteSubscriptionsRequest_Encoding_DefaultJson' +ObjectIdNames[15360] = 'DeleteSubscriptionsResponse_Encoding_DefaultJson' +ObjectIdNames[15361] = 'BuildInfo_Encoding_DefaultJson' +ObjectIdNames[15362] = 'RedundantServerDataType_Encoding_DefaultJson' +ObjectIdNames[15363] = 'EndpointUrlListDataType_Encoding_DefaultJson' +ObjectIdNames[15364] = 'NetworkGroupDataType_Encoding_DefaultJson' +ObjectIdNames[15365] = 'SamplingIntervalDiagnosticsDataType_Encoding_DefaultJson' +ObjectIdNames[15366] = 'ServerDiagnosticsSummaryDataType_Encoding_DefaultJson' +ObjectIdNames[15367] = 'ServerStatusDataType_Encoding_DefaultJson' +ObjectIdNames[15368] = 'SessionDiagnosticsDataType_Encoding_DefaultJson' +ObjectIdNames[15369] = 'SessionSecurityDiagnosticsDataType_Encoding_DefaultJson' +ObjectIdNames[15370] = 'ServiceCounterDataType_Encoding_DefaultJson' +ObjectIdNames[15371] = 'StatusResult_Encoding_DefaultJson' +ObjectIdNames[15372] = 'SubscriptionDiagnosticsDataType_Encoding_DefaultJson' +ObjectIdNames[15373] = 'ModelChangeStructureDataType_Encoding_DefaultJson' +ObjectIdNames[15374] = 'SemanticChangeStructureDataType_Encoding_DefaultJson' +ObjectIdNames[15375] = 'Range_Encoding_DefaultJson' +ObjectIdNames[15376] = 'EUInformation_Encoding_DefaultJson' +ObjectIdNames[15377] = 'ComplexNumberType_Encoding_DefaultJson' +ObjectIdNames[15378] = 'DoubleComplexNumberType_Encoding_DefaultJson' +ObjectIdNames[15379] = 'AxisInformation_Encoding_DefaultJson' +ObjectIdNames[15380] = 'XVType_Encoding_DefaultJson' +ObjectIdNames[15381] = 'ProgramDiagnosticDataType_Encoding_DefaultJson' +ObjectIdNames[15382] = 'Annotation_Encoding_DefaultJson' +ObjectIdNames[15383] = 'ProgramDiagnostic2Type' +ObjectIdNames[15384] = 'ProgramDiagnostic2Type_CreateSessionId' +ObjectIdNames[15385] = 'ProgramDiagnostic2Type_CreateClientName' +ObjectIdNames[15386] = 'ProgramDiagnostic2Type_InvocationCreationTime' +ObjectIdNames[15387] = 'ProgramDiagnostic2Type_LastTransitionTime' +ObjectIdNames[15388] = 'ProgramDiagnostic2Type_LastMethodCall' +ObjectIdNames[15389] = 'ProgramDiagnostic2Type_LastMethodSessionId' +ObjectIdNames[15390] = 'ProgramDiagnostic2Type_LastMethodInputArguments' +ObjectIdNames[15391] = 'ProgramDiagnostic2Type_LastMethodOutputArguments' +ObjectIdNames[15392] = 'ProgramDiagnostic2Type_LastMethodInputValues' +ObjectIdNames[15393] = 'ProgramDiagnostic2Type_LastMethodOutputValues' +ObjectIdNames[15394] = 'ProgramDiagnostic2Type_LastMethodCallTime' +ObjectIdNames[15395] = 'ProgramDiagnostic2Type_LastMethodReturnStatus' +ObjectIdNames[15396] = 'ProgramDiagnostic2DataType' +ObjectIdNames[15397] = 'ProgramDiagnostic2DataType_Encoding_DefaultBinary' +ObjectIdNames[15398] = 'OpcUa_BinarySchema_ProgramDiagnostic2DataType' +ObjectIdNames[15399] = 'OpcUa_BinarySchema_ProgramDiagnostic2DataType_DataTypeVersion' +ObjectIdNames[15400] = 'OpcUa_BinarySchema_ProgramDiagnostic2DataType_DictionaryFragment' +ObjectIdNames[15401] = 'ProgramDiagnostic2DataType_Encoding_DefaultXml' +ObjectIdNames[15402] = 'OpcUa_XmlSchema_ProgramDiagnostic2DataType' +ObjectIdNames[15403] = 'OpcUa_XmlSchema_ProgramDiagnostic2DataType_DataTypeVersion' +ObjectIdNames[15404] = 'OpcUa_XmlSchema_ProgramDiagnostic2DataType_DictionaryFragment' +ObjectIdNames[15405] = 'ProgramDiagnostic2DataType_Encoding_DefaultJson' +ObjectIdNames[15406] = 'AccessLevelExType' +ObjectIdNames[15407] = 'AccessLevelExType_OptionSetValues' +ObjectIdNames[15408] = 'RoleSetType_RoleName_Placeholder_ApplicationsExclude' +ObjectIdNames[15409] = 'RoleSetType_RoleName_Placeholder_EndpointsExclude' +ObjectIdNames[15410] = 'RoleType_ApplicationsExclude' +ObjectIdNames[15411] = 'RoleType_EndpointsExclude' +ObjectIdNames[15412] = 'WellKnownRole_Anonymous_ApplicationsExclude' +ObjectIdNames[15413] = 'WellKnownRole_Anonymous_EndpointsExclude' +ObjectIdNames[15414] = 'WellKnownRole_AuthenticatedUser_ApplicationsExclude' +ObjectIdNames[15415] = 'WellKnownRole_AuthenticatedUser_EndpointsExclude' +ObjectIdNames[15416] = 'WellKnownRole_Observer_ApplicationsExclude' +ObjectIdNames[15417] = 'WellKnownRole_Observer_EndpointsExclude' +ObjectIdNames[15418] = 'WellKnownRole_Operator_ApplicationsExclude' +ObjectIdNames[15419] = 'BrokerDataSetReaderTransportType_AuthenticationProfileUri' +ObjectIdNames[15420] = 'BrokerDataSetReaderTransportType_RequestedDeliveryGuarantee' +ObjectIdNames[15421] = 'SimpleTypeDescription_Encoding_DefaultBinary' +ObjectIdNames[15422] = 'UABinaryFileDataType_Encoding_DefaultBinary' +ObjectIdNames[15423] = 'WellKnownRole_Operator_EndpointsExclude' +ObjectIdNames[15424] = 'WellKnownRole_Engineer_ApplicationsExclude' +ObjectIdNames[15425] = 'WellKnownRole_Engineer_EndpointsExclude' +ObjectIdNames[15426] = 'WellKnownRole_Supervisor_ApplicationsExclude' +ObjectIdNames[15427] = 'WellKnownRole_Supervisor_EndpointsExclude' +ObjectIdNames[15428] = 'WellKnownRole_ConfigureAdmin_ApplicationsExclude' +ObjectIdNames[15429] = 'WellKnownRole_ConfigureAdmin_EndpointsExclude' +ObjectIdNames[15430] = 'WellKnownRole_SecurityAdmin_ApplicationsExclude' +ObjectIdNames[15431] = 'PublishSubscribeType_GetSecurityGroup' +ObjectIdNames[15432] = 'PublishSubscribeType_GetSecurityGroup_InputArguments' +ObjectIdNames[15433] = 'PublishSubscribeType_GetSecurityGroup_OutputArguments' +ObjectIdNames[15434] = 'PublishSubscribeType_SecurityGroups' +ObjectIdNames[15435] = 'PublishSubscribeType_SecurityGroups_AddSecurityGroup' +ObjectIdNames[15436] = 'PublishSubscribeType_SecurityGroups_AddSecurityGroup_InputArguments' +ObjectIdNames[15437] = 'PublishSubscribeType_SecurityGroups_AddSecurityGroup_OutputArguments' +ObjectIdNames[15438] = 'PublishSubscribeType_SecurityGroups_RemoveSecurityGroup' +ObjectIdNames[15439] = 'PublishSubscribeType_SecurityGroups_RemoveSecurityGroup_InputArguments' +ObjectIdNames[15440] = 'PublishSubscribe_GetSecurityGroup' +ObjectIdNames[15441] = 'PublishSubscribe_GetSecurityGroup_InputArguments' +ObjectIdNames[15442] = 'PublishSubscribe_GetSecurityGroup_OutputArguments' +ObjectIdNames[15443] = 'PublishSubscribe_SecurityGroups' +ObjectIdNames[15444] = 'PublishSubscribe_SecurityGroups_AddSecurityGroup' +ObjectIdNames[15445] = 'PublishSubscribe_SecurityGroups_AddSecurityGroup_InputArguments' +ObjectIdNames[15446] = 'PublishSubscribe_SecurityGroups_AddSecurityGroup_OutputArguments' +ObjectIdNames[15447] = 'PublishSubscribe_SecurityGroups_RemoveSecurityGroup' +ObjectIdNames[15448] = 'PublishSubscribe_SecurityGroups_RemoveSecurityGroup_InputArguments' +ObjectIdNames[15449] = 'GetSecurityGroupMethodType' +ObjectIdNames[15450] = 'GetSecurityGroupMethodType_InputArguments' +ObjectIdNames[15451] = 'GetSecurityGroupMethodType_OutputArguments' +ObjectIdNames[15452] = 'SecurityGroupFolderType' +ObjectIdNames[15453] = 'SecurityGroupFolderType_SecurityGroupFolderName_Placeholder' +ObjectIdNames[15454] = 'SecurityGroupFolderType_SecurityGroupFolderName_Placeholder_AddSecurityGroup' +ObjectIdNames[15455] = 'SecurityGroupFolderType_SecurityGroupFolderName_Placeholder_AddSecurityGroup_InputArguments' +ObjectIdNames[15456] = 'SecurityGroupFolderType_SecurityGroupFolderName_Placeholder_AddSecurityGroup_OutputArguments' +ObjectIdNames[15457] = 'SecurityGroupFolderType_SecurityGroupFolderName_Placeholder_RemoveSecurityGroup' +ObjectIdNames[15458] = 'SecurityGroupFolderType_SecurityGroupFolderName_Placeholder_RemoveSecurityGroup_InputArguments' +ObjectIdNames[15459] = 'SecurityGroupFolderType_SecurityGroupName_Placeholder' +ObjectIdNames[15460] = 'SecurityGroupFolderType_SecurityGroupName_Placeholder_SecurityGroupId' +ObjectIdNames[15461] = 'SecurityGroupFolderType_AddSecurityGroup' +ObjectIdNames[15462] = 'SecurityGroupFolderType_AddSecurityGroup_InputArguments' +ObjectIdNames[15463] = 'SecurityGroupFolderType_AddSecurityGroup_OutputArguments' +ObjectIdNames[15464] = 'SecurityGroupFolderType_RemoveSecurityGroup' +ObjectIdNames[15465] = 'SecurityGroupFolderType_RemoveSecurityGroup_InputArguments' +ObjectIdNames[15466] = 'AddSecurityGroupMethodType' +ObjectIdNames[15467] = 'AddSecurityGroupMethodType_InputArguments' +ObjectIdNames[15468] = 'AddSecurityGroupMethodType_OutputArguments' +ObjectIdNames[15469] = 'RemoveSecurityGroupMethodType' +ObjectIdNames[15470] = 'RemoveSecurityGroupMethodType_InputArguments' +ObjectIdNames[15471] = 'SecurityGroupType' +ObjectIdNames[15472] = 'SecurityGroupType_SecurityGroupId' +ObjectIdNames[15473] = 'DataSetFolderType_PublishedDataSetName_Placeholder_ExtensionFields' +ObjectIdNames[15474] = 'DataSetFolderType_PublishedDataSetName_Placeholder_ExtensionFields_AddExtensionField' +ObjectIdNames[15475] = 'DataSetFolderType_PublishedDataSetName_Placeholder_ExtensionFields_AddExtensionField_InputArguments' +ObjectIdNames[15476] = 'DataSetFolderType_PublishedDataSetName_Placeholder_ExtensionFields_AddExtensionField_OutputArguments' +ObjectIdNames[15477] = 'DataSetFolderType_PublishedDataSetName_Placeholder_ExtensionFields_RemoveExtensionField' +ObjectIdNames[15478] = 'DataSetFolderType_PublishedDataSetName_Placeholder_ExtensionFields_RemoveExtensionField_InputArguments' +ObjectIdNames[15479] = 'BrokerConnectionTransportDataType_Encoding_DefaultBinary' +ObjectIdNames[15480] = 'WriterGroupDataType' +ObjectIdNames[15481] = 'PublishedDataSetType_ExtensionFields' +ObjectIdNames[15482] = 'PublishedDataSetType_ExtensionFields_AddExtensionField' +ObjectIdNames[15483] = 'PublishedDataSetType_ExtensionFields_AddExtensionField_InputArguments' +ObjectIdNames[15484] = 'PublishedDataSetType_ExtensionFields_AddExtensionField_OutputArguments' +ObjectIdNames[15485] = 'PublishedDataSetType_ExtensionFields_RemoveExtensionField' +ObjectIdNames[15486] = 'PublishedDataSetType_ExtensionFields_RemoveExtensionField_InputArguments' +ObjectIdNames[15487] = 'StructureDescription' +ObjectIdNames[15488] = 'EnumDescription' +ObjectIdNames[15489] = 'ExtensionFieldsType' +ObjectIdNames[15490] = 'ExtensionFieldsType_ExtensionFieldName_Placeholder' +ObjectIdNames[15491] = 'ExtensionFieldsType_AddExtensionField' +ObjectIdNames[15492] = 'ExtensionFieldsType_AddExtensionField_InputArguments' +ObjectIdNames[15493] = 'ExtensionFieldsType_AddExtensionField_OutputArguments' +ObjectIdNames[15494] = 'ExtensionFieldsType_RemoveExtensionField' +ObjectIdNames[15495] = 'ExtensionFieldsType_RemoveExtensionField_InputArguments' +ObjectIdNames[15496] = 'AddExtensionFieldMethodType' +ObjectIdNames[15497] = 'AddExtensionFieldMethodType_InputArguments' +ObjectIdNames[15498] = 'AddExtensionFieldMethodType_OutputArguments' +ObjectIdNames[15499] = 'RemoveExtensionFieldMethodType' +ObjectIdNames[15500] = 'RemoveExtensionFieldMethodType_InputArguments' +ObjectIdNames[15501] = 'OpcUa_BinarySchema_SimpleTypeDescription' +ObjectIdNames[15502] = 'NetworkAddressDataType' +ObjectIdNames[15503] = 'PublishedDataItemsType_ExtensionFields' +ObjectIdNames[15504] = 'PublishedDataItemsType_ExtensionFields_AddExtensionField' +ObjectIdNames[15505] = 'PublishedDataItemsType_ExtensionFields_AddExtensionField_InputArguments' +ObjectIdNames[15506] = 'PublishedDataItemsType_ExtensionFields_AddExtensionField_OutputArguments' +ObjectIdNames[15507] = 'PublishedDataItemsType_ExtensionFields_RemoveExtensionField' +ObjectIdNames[15508] = 'PublishedDataItemsType_ExtensionFields_RemoveExtensionField_InputArguments' +ObjectIdNames[15509] = 'OpcUa_BinarySchema_SimpleTypeDescription_DataTypeVersion' +ObjectIdNames[15510] = 'NetworkAddressUrlDataType' +ObjectIdNames[15511] = 'PublishedEventsType_ExtensionFields' +ObjectIdNames[15512] = 'PublishedEventsType_ExtensionFields_AddExtensionField' +ObjectIdNames[15513] = 'PublishedEventsType_ExtensionFields_AddExtensionField_InputArguments' +ObjectIdNames[15514] = 'PublishedEventsType_ExtensionFields_AddExtensionField_OutputArguments' +ObjectIdNames[15515] = 'PublishedEventsType_ExtensionFields_RemoveExtensionField' +ObjectIdNames[15516] = 'PublishedEventsType_ExtensionFields_RemoveExtensionField_InputArguments' +ObjectIdNames[15517] = 'PublishedEventsType_ModifyFieldSelection_OutputArguments' +ObjectIdNames[15518] = 'PublishedEventsTypeModifyFieldSelectionMethodType_OutputArguments' +ObjectIdNames[15519] = 'OpcUa_BinarySchema_SimpleTypeDescription_DictionaryFragment' +ObjectIdNames[15520] = 'ReaderGroupDataType' +ObjectIdNames[15521] = 'OpcUa_BinarySchema_UABinaryFileDataType' +ObjectIdNames[15522] = 'OpcUa_BinarySchema_UABinaryFileDataType_DataTypeVersion' +ObjectIdNames[15523] = 'OpcUa_BinarySchema_UABinaryFileDataType_DictionaryFragment' +ObjectIdNames[15524] = 'OpcUa_BinarySchema_BrokerConnectionTransportDataType' +ObjectIdNames[15525] = 'OpcUa_BinarySchema_BrokerConnectionTransportDataType_DataTypeVersion' +ObjectIdNames[15526] = 'OpcUa_BinarySchema_BrokerConnectionTransportDataType_DictionaryFragment' +ObjectIdNames[15527] = 'WellKnownRole_SecurityAdmin_EndpointsExclude' +ObjectIdNames[15528] = 'EndpointType' +ObjectIdNames[15529] = 'SimpleTypeDescription_Encoding_DefaultXml' +ObjectIdNames[15530] = 'PubSubConfigurationDataType' +ObjectIdNames[15531] = 'UABinaryFileDataType_Encoding_DefaultXml' +ObjectIdNames[15532] = 'DatagramWriterGroupTransportDataType' +ObjectIdNames[15533] = 'PublishSubscribeType_ConnectionName_Placeholder_Address_NetworkInterface' +ObjectIdNames[15534] = 'DataTypeSchemaHeader' +ObjectIdNames[15535] = 'PubSubStatusEventType' +ObjectIdNames[15536] = 'PubSubStatusEventType_EventId' +ObjectIdNames[15537] = 'PubSubStatusEventType_EventType' +ObjectIdNames[15538] = 'PubSubStatusEventType_SourceNode' +ObjectIdNames[15539] = 'PubSubStatusEventType_SourceName' +ObjectIdNames[15540] = 'PubSubStatusEventType_Time' +ObjectIdNames[15541] = 'PubSubStatusEventType_ReceiveTime' +ObjectIdNames[15542] = 'PubSubStatusEventType_LocalTime' +ObjectIdNames[15543] = 'PubSubStatusEventType_Message' +ObjectIdNames[15544] = 'PubSubStatusEventType_Severity' +ObjectIdNames[15545] = 'PubSubStatusEventType_ConnectionId' +ObjectIdNames[15546] = 'PubSubStatusEventType_GroupId' +ObjectIdNames[15547] = 'PubSubStatusEventType_State' +ObjectIdNames[15548] = 'PubSubTransportLimitsExceedEventType' +ObjectIdNames[15549] = 'PubSubTransportLimitsExceedEventType_EventId' +ObjectIdNames[15550] = 'PubSubTransportLimitsExceedEventType_EventType' +ObjectIdNames[15551] = 'PubSubTransportLimitsExceedEventType_SourceNode' +ObjectIdNames[15552] = 'PubSubTransportLimitsExceedEventType_SourceName' +ObjectIdNames[15553] = 'PubSubTransportLimitsExceedEventType_Time' +ObjectIdNames[15554] = 'PubSubTransportLimitsExceedEventType_ReceiveTime' +ObjectIdNames[15555] = 'PubSubTransportLimitsExceedEventType_LocalTime' +ObjectIdNames[15556] = 'PubSubTransportLimitsExceedEventType_Message' +ObjectIdNames[15557] = 'PubSubTransportLimitsExceedEventType_Severity' +ObjectIdNames[15558] = 'PubSubTransportLimitsExceedEventType_ConnectionId' +ObjectIdNames[15559] = 'PubSubTransportLimitsExceedEventType_GroupId' +ObjectIdNames[15560] = 'PubSubTransportLimitsExceedEventType_State' +ObjectIdNames[15561] = 'PubSubTransportLimitsExceedEventType_Actual' +ObjectIdNames[15562] = 'PubSubTransportLimitsExceedEventType_Maximum' +ObjectIdNames[15563] = 'PubSubCommunicationFailureEventType' +ObjectIdNames[15564] = 'PubSubCommunicationFailureEventType_EventId' +ObjectIdNames[15565] = 'PubSubCommunicationFailureEventType_EventType' +ObjectIdNames[15566] = 'PubSubCommunicationFailureEventType_SourceNode' +ObjectIdNames[15567] = 'PubSubCommunicationFailureEventType_SourceName' +ObjectIdNames[15568] = 'PubSubCommunicationFailureEventType_Time' +ObjectIdNames[15569] = 'PubSubCommunicationFailureEventType_ReceiveTime' +ObjectIdNames[15570] = 'PubSubCommunicationFailureEventType_LocalTime' +ObjectIdNames[15571] = 'PubSubCommunicationFailureEventType_Message' +ObjectIdNames[15572] = 'PubSubCommunicationFailureEventType_Severity' +ObjectIdNames[15573] = 'PubSubCommunicationFailureEventType_ConnectionId' +ObjectIdNames[15574] = 'PubSubCommunicationFailureEventType_GroupId' +ObjectIdNames[15575] = 'PubSubCommunicationFailureEventType_State' +ObjectIdNames[15576] = 'PubSubCommunicationFailureEventType_Error' +ObjectIdNames[15577] = 'DataSetFieldFlags_OptionSetValues' +ObjectIdNames[15578] = 'PublishedDataSetDataType' +ObjectIdNames[15579] = 'BrokerConnectionTransportDataType_Encoding_DefaultXml' +ObjectIdNames[15580] = 'PublishedDataSetSourceDataType' +ObjectIdNames[15581] = 'PublishedDataItemsDataType' +ObjectIdNames[15582] = 'PublishedEventsDataType' +ObjectIdNames[15583] = 'DataSetFieldContentMask' +ObjectIdNames[15584] = 'DataSetFieldContentMask_OptionSetValues' +ObjectIdNames[15585] = 'OpcUa_XmlSchema_SimpleTypeDescription' +ObjectIdNames[15586] = 'OpcUa_XmlSchema_SimpleTypeDescription_DataTypeVersion' +ObjectIdNames[15587] = 'OpcUa_XmlSchema_SimpleTypeDescription_DictionaryFragment' +ObjectIdNames[15588] = 'OpcUa_XmlSchema_UABinaryFileDataType' +ObjectIdNames[15589] = 'StructureDescription_Encoding_DefaultXml' +ObjectIdNames[15590] = 'EnumDescription_Encoding_DefaultXml' +ObjectIdNames[15591] = 'OpcUa_XmlSchema_StructureDescription' +ObjectIdNames[15592] = 'OpcUa_XmlSchema_StructureDescription_DataTypeVersion' +ObjectIdNames[15593] = 'OpcUa_XmlSchema_StructureDescription_DictionaryFragment' +ObjectIdNames[15594] = 'OpcUa_XmlSchema_EnumDescription' +ObjectIdNames[15595] = 'OpcUa_XmlSchema_EnumDescription_DataTypeVersion' +ObjectIdNames[15596] = 'OpcUa_XmlSchema_EnumDescription_DictionaryFragment' +ObjectIdNames[15597] = 'DataSetWriterDataType' +ObjectIdNames[15598] = 'DataSetWriterTransportDataType' +ObjectIdNames[15599] = 'OpcUa_BinarySchema_StructureDescription' +ObjectIdNames[15600] = 'OpcUa_BinarySchema_StructureDescription_DataTypeVersion' +ObjectIdNames[15601] = 'OpcUa_BinarySchema_StructureDescription_DictionaryFragment' +ObjectIdNames[15602] = 'OpcUa_BinarySchema_EnumDescription' +ObjectIdNames[15603] = 'OpcUa_BinarySchema_EnumDescription_DataTypeVersion' +ObjectIdNames[15604] = 'OpcUa_BinarySchema_EnumDescription_DictionaryFragment' +ObjectIdNames[15605] = 'DataSetWriterMessageDataType' +ObjectIdNames[15606] = 'Server_ServerCapabilities_Roles' +ObjectIdNames[15607] = 'RoleSetType' +ObjectIdNames[15608] = 'RoleSetType_RoleName_Placeholder' +ObjectIdNames[15609] = 'PubSubGroupDataType' +ObjectIdNames[15610] = 'OpcUa_XmlSchema_UABinaryFileDataType_DataTypeVersion' +ObjectIdNames[15611] = 'WriterGroupTransportDataType' +ObjectIdNames[15612] = 'RoleSetType_RoleName_Placeholder_AddIdentity' +ObjectIdNames[15613] = 'RoleSetType_RoleName_Placeholder_AddIdentity_InputArguments' +ObjectIdNames[15614] = 'RoleSetType_RoleName_Placeholder_RemoveIdentity' +ObjectIdNames[15615] = 'RoleSetType_RoleName_Placeholder_RemoveIdentity_InputArguments' +ObjectIdNames[15616] = 'WriterGroupMessageDataType' +ObjectIdNames[15617] = 'PubSubConnectionDataType' +ObjectIdNames[15618] = 'ConnectionTransportDataType' +ObjectIdNames[15619] = 'OpcUa_XmlSchema_UABinaryFileDataType_DictionaryFragment' +ObjectIdNames[15620] = 'RoleType' +ObjectIdNames[15621] = 'ReaderGroupTransportDataType' +ObjectIdNames[15622] = 'ReaderGroupMessageDataType' +ObjectIdNames[15623] = 'DataSetReaderDataType' +ObjectIdNames[15624] = 'RoleType_AddIdentity' +ObjectIdNames[15625] = 'RoleType_AddIdentity_InputArguments' +ObjectIdNames[15626] = 'RoleType_RemoveIdentity' +ObjectIdNames[15627] = 'RoleType_RemoveIdentity_InputArguments' +ObjectIdNames[15628] = 'DataSetReaderTransportDataType' +ObjectIdNames[15629] = 'DataSetReaderMessageDataType' +ObjectIdNames[15630] = 'SubscribedDataSetDataType' +ObjectIdNames[15631] = 'TargetVariablesDataType' +ObjectIdNames[15632] = 'IdentityCriteriaType' +ObjectIdNames[15633] = 'IdentityCriteriaType_EnumValues' +ObjectIdNames[15634] = 'IdentityMappingRuleType' +ObjectIdNames[15635] = 'SubscribedDataSetMirrorDataType' +ObjectIdNames[15636] = 'AddIdentityMethodType' +ObjectIdNames[15637] = 'AddIdentityMethodType_InputArguments' +ObjectIdNames[15638] = 'RemoveIdentityMethodType' +ObjectIdNames[15639] = 'RemoveIdentityMethodType_InputArguments' +ObjectIdNames[15640] = 'OpcUa_XmlSchema_BrokerConnectionTransportDataType' +ObjectIdNames[15641] = 'DataSetOrderingType_EnumStrings' +ObjectIdNames[15642] = 'UadpNetworkMessageContentMask' +ObjectIdNames[15643] = 'UadpNetworkMessageContentMask_OptionSetValues' +ObjectIdNames[15644] = 'WellKnownRole_Anonymous' +ObjectIdNames[15645] = 'UadpWriterGroupMessageDataType' +ObjectIdNames[15646] = 'UadpDataSetMessageContentMask' +ObjectIdNames[15647] = 'UadpDataSetMessageContentMask_OptionSetValues' +ObjectIdNames[15648] = 'WellKnownRole_Anonymous_AddIdentity' +ObjectIdNames[15649] = 'WellKnownRole_Anonymous_AddIdentity_InputArguments' +ObjectIdNames[15650] = 'WellKnownRole_Anonymous_RemoveIdentity' +ObjectIdNames[15651] = 'WellKnownRole_Anonymous_RemoveIdentity_InputArguments' +ObjectIdNames[15652] = 'UadpDataSetWriterMessageDataType' +ObjectIdNames[15653] = 'UadpDataSetReaderMessageDataType' +ObjectIdNames[15654] = 'JsonNetworkMessageContentMask' +ObjectIdNames[15655] = 'JsonNetworkMessageContentMask_OptionSetValues' +ObjectIdNames[15656] = 'WellKnownRole_AuthenticatedUser' +ObjectIdNames[15657] = 'JsonWriterGroupMessageDataType' +ObjectIdNames[15658] = 'JsonDataSetMessageContentMask' +ObjectIdNames[15659] = 'JsonDataSetMessageContentMask_OptionSetValues' +ObjectIdNames[15660] = 'WellKnownRole_AuthenticatedUser_AddIdentity' +ObjectIdNames[15661] = 'WellKnownRole_AuthenticatedUser_AddIdentity_InputArguments' +ObjectIdNames[15662] = 'WellKnownRole_AuthenticatedUser_RemoveIdentity' +ObjectIdNames[15663] = 'WellKnownRole_AuthenticatedUser_RemoveIdentity_InputArguments' +ObjectIdNames[15664] = 'JsonDataSetWriterMessageDataType' +ObjectIdNames[15665] = 'JsonDataSetReaderMessageDataType' +ObjectIdNames[15666] = 'OpcUa_XmlSchema_BrokerConnectionTransportDataType_DataTypeVersion' +ObjectIdNames[15667] = 'BrokerWriterGroupTransportDataType' +ObjectIdNames[15668] = 'WellKnownRole_Observer' +ObjectIdNames[15669] = 'BrokerDataSetWriterTransportDataType' +ObjectIdNames[15670] = 'BrokerDataSetReaderTransportDataType' +ObjectIdNames[15671] = 'EndpointType_Encoding_DefaultBinary' +ObjectIdNames[15672] = 'WellKnownRole_Observer_AddIdentity' +ObjectIdNames[15673] = 'WellKnownRole_Observer_AddIdentity_InputArguments' +ObjectIdNames[15674] = 'WellKnownRole_Observer_RemoveIdentity' +ObjectIdNames[15675] = 'WellKnownRole_Observer_RemoveIdentity_InputArguments' +ObjectIdNames[15676] = 'DataTypeSchemaHeader_Encoding_DefaultBinary' +ObjectIdNames[15677] = 'PublishedDataSetDataType_Encoding_DefaultBinary' +ObjectIdNames[15678] = 'PublishedDataSetSourceDataType_Encoding_DefaultBinary' +ObjectIdNames[15679] = 'PublishedDataItemsDataType_Encoding_DefaultBinary' +ObjectIdNames[15680] = 'WellKnownRole_Operator' +ObjectIdNames[15681] = 'PublishedEventsDataType_Encoding_DefaultBinary' +ObjectIdNames[15682] = 'DataSetWriterDataType_Encoding_DefaultBinary' +ObjectIdNames[15683] = 'DataSetWriterTransportDataType_Encoding_DefaultBinary' +ObjectIdNames[15684] = 'WellKnownRole_Operator_AddIdentity' +ObjectIdNames[15685] = 'WellKnownRole_Operator_AddIdentity_InputArguments' +ObjectIdNames[15686] = 'WellKnownRole_Operator_RemoveIdentity' +ObjectIdNames[15687] = 'WellKnownRole_Operator_RemoveIdentity_InputArguments' +ObjectIdNames[15688] = 'DataSetWriterMessageDataType_Encoding_DefaultBinary' +ObjectIdNames[15689] = 'PubSubGroupDataType_Encoding_DefaultBinary' +ObjectIdNames[15690] = 'OpcUa_XmlSchema_BrokerConnectionTransportDataType_DictionaryFragment' +ObjectIdNames[15691] = 'WriterGroupTransportDataType_Encoding_DefaultBinary' +ObjectIdNames[15692] = 'WellKnownRole_Supervisor' +ObjectIdNames[15693] = 'WriterGroupMessageDataType_Encoding_DefaultBinary' +ObjectIdNames[15694] = 'PubSubConnectionDataType_Encoding_DefaultBinary' +ObjectIdNames[15695] = 'ConnectionTransportDataType_Encoding_DefaultBinary' +ObjectIdNames[15696] = 'WellKnownRole_Supervisor_AddIdentity' +ObjectIdNames[15697] = 'WellKnownRole_Supervisor_AddIdentity_InputArguments' +ObjectIdNames[15698] = 'WellKnownRole_Supervisor_RemoveIdentity' +ObjectIdNames[15699] = 'WellKnownRole_Supervisor_RemoveIdentity_InputArguments' +ObjectIdNames[15700] = 'SimpleTypeDescription_Encoding_DefaultJson' +ObjectIdNames[15701] = 'ReaderGroupTransportDataType_Encoding_DefaultBinary' +ObjectIdNames[15702] = 'ReaderGroupMessageDataType_Encoding_DefaultBinary' +ObjectIdNames[15703] = 'DataSetReaderDataType_Encoding_DefaultBinary' +ObjectIdNames[15704] = 'WellKnownRole_SecurityAdmin' +ObjectIdNames[15705] = 'DataSetReaderTransportDataType_Encoding_DefaultBinary' +ObjectIdNames[15706] = 'DataSetReaderMessageDataType_Encoding_DefaultBinary' +ObjectIdNames[15707] = 'SubscribedDataSetDataType_Encoding_DefaultBinary' +ObjectIdNames[15708] = 'WellKnownRole_SecurityAdmin_AddIdentity' +ObjectIdNames[15709] = 'WellKnownRole_SecurityAdmin_AddIdentity_InputArguments' +ObjectIdNames[15710] = 'WellKnownRole_SecurityAdmin_RemoveIdentity' +ObjectIdNames[15711] = 'WellKnownRole_SecurityAdmin_RemoveIdentity_InputArguments' +ObjectIdNames[15712] = 'TargetVariablesDataType_Encoding_DefaultBinary' +ObjectIdNames[15713] = 'SubscribedDataSetMirrorDataType_Encoding_DefaultBinary' +ObjectIdNames[15714] = 'UABinaryFileDataType_Encoding_DefaultJson' +ObjectIdNames[15715] = 'UadpWriterGroupMessageDataType_Encoding_DefaultBinary' +ObjectIdNames[15716] = 'WellKnownRole_ConfigureAdmin' +ObjectIdNames[15717] = 'UadpDataSetWriterMessageDataType_Encoding_DefaultBinary' +ObjectIdNames[15718] = 'UadpDataSetReaderMessageDataType_Encoding_DefaultBinary' +ObjectIdNames[15719] = 'JsonWriterGroupMessageDataType_Encoding_DefaultBinary' +ObjectIdNames[15720] = 'WellKnownRole_ConfigureAdmin_AddIdentity' +ObjectIdNames[15721] = 'WellKnownRole_ConfigureAdmin_AddIdentity_InputArguments' +ObjectIdNames[15722] = 'WellKnownRole_ConfigureAdmin_RemoveIdentity' +ObjectIdNames[15723] = 'WellKnownRole_ConfigureAdmin_RemoveIdentity_InputArguments' +ObjectIdNames[15724] = 'JsonDataSetWriterMessageDataType_Encoding_DefaultBinary' +ObjectIdNames[15725] = 'JsonDataSetReaderMessageDataType_Encoding_DefaultBinary' +ObjectIdNames[15726] = 'BrokerConnectionTransportDataType_Encoding_DefaultJson' +ObjectIdNames[15727] = 'BrokerWriterGroupTransportDataType_Encoding_DefaultBinary' +ObjectIdNames[15728] = 'IdentityMappingRuleType_Encoding_DefaultXml' +ObjectIdNames[15729] = 'BrokerDataSetWriterTransportDataType_Encoding_DefaultBinary' +ObjectIdNames[15730] = 'OpcUa_XmlSchema_IdentityMappingRuleType' +ObjectIdNames[15731] = 'OpcUa_XmlSchema_IdentityMappingRuleType_DataTypeVersion' +ObjectIdNames[15732] = 'OpcUa_XmlSchema_IdentityMappingRuleType_DictionaryFragment' +ObjectIdNames[15733] = 'BrokerDataSetReaderTransportDataType_Encoding_DefaultBinary' +ObjectIdNames[15734] = 'OpcUa_BinarySchema_EndpointType' +ObjectIdNames[15735] = 'OpcUa_BinarySchema_EndpointType_DataTypeVersion' +ObjectIdNames[15736] = 'IdentityMappingRuleType_Encoding_DefaultBinary' +ObjectIdNames[15737] = 'OpcUa_BinarySchema_EndpointType_DictionaryFragment' +ObjectIdNames[15738] = 'OpcUa_BinarySchema_IdentityMappingRuleType' +ObjectIdNames[15739] = 'OpcUa_BinarySchema_IdentityMappingRuleType_DataTypeVersion' +ObjectIdNames[15740] = 'OpcUa_BinarySchema_IdentityMappingRuleType_DictionaryFragment' +ObjectIdNames[15741] = 'OpcUa_BinarySchema_DataTypeSchemaHeader' +ObjectIdNames[15742] = 'OpcUa_BinarySchema_DataTypeSchemaHeader_DataTypeVersion' +ObjectIdNames[15743] = 'OpcUa_BinarySchema_DataTypeSchemaHeader_DictionaryFragment' +ObjectIdNames[15744] = 'TemporaryFileTransferType' +ObjectIdNames[15745] = 'TemporaryFileTransferType_ClientProcessingTimeout' +ObjectIdNames[15746] = 'TemporaryFileTransferType_GenerateFileForRead' +ObjectIdNames[15747] = 'TemporaryFileTransferType_GenerateFileForRead_InputArguments' +ObjectIdNames[15748] = 'TemporaryFileTransferType_GenerateFileForRead_OutputArguments' +ObjectIdNames[15749] = 'TemporaryFileTransferType_GenerateFileForWrite' +ObjectIdNames[15750] = 'TemporaryFileTransferType_GenerateFileForWrite_OutputArguments' +ObjectIdNames[15751] = 'TemporaryFileTransferType_CloseAndCommit' +ObjectIdNames[15752] = 'TemporaryFileTransferType_CloseAndCommit_InputArguments' +ObjectIdNames[15753] = 'TemporaryFileTransferType_CloseAndCommit_OutputArguments' +ObjectIdNames[15754] = 'TemporaryFileTransferType_TransferState_Placeholder' +ObjectIdNames[15755] = 'TemporaryFileTransferType_TransferState_Placeholder_CurrentState' +ObjectIdNames[15756] = 'TemporaryFileTransferType_TransferState_Placeholder_CurrentState_Id' +ObjectIdNames[15757] = 'TemporaryFileTransferType_TransferState_Placeholder_CurrentState_Name' +ObjectIdNames[15758] = 'TemporaryFileTransferType_TransferState_Placeholder_CurrentState_Number' +ObjectIdNames[15759] = 'TemporaryFileTransferType_TransferState_Placeholder_CurrentState_EffectiveDisplayName' +ObjectIdNames[15760] = 'TemporaryFileTransferType_TransferState_Placeholder_LastTransition' +ObjectIdNames[15761] = 'TemporaryFileTransferType_TransferState_Placeholder_LastTransition_Id' +ObjectIdNames[15762] = 'TemporaryFileTransferType_TransferState_Placeholder_LastTransition_Name' +ObjectIdNames[15763] = 'TemporaryFileTransferType_TransferState_Placeholder_LastTransition_Number' +ObjectIdNames[15764] = 'TemporaryFileTransferType_TransferState_Placeholder_LastTransition_TransitionTime' +ObjectIdNames[15765] = 'TemporaryFileTransferType_TransferState_Placeholder_LastTransition_EffectiveTransitionTime' +ObjectIdNames[15766] = 'OpcUa_BinarySchema_PublishedDataSetDataType' +ObjectIdNames[15767] = 'OpcUa_BinarySchema_PublishedDataSetDataType_DataTypeVersion' +ObjectIdNames[15768] = 'OpcUa_BinarySchema_PublishedDataSetDataType_DictionaryFragment' +ObjectIdNames[15769] = 'OpcUa_BinarySchema_PublishedDataSetSourceDataType' +ObjectIdNames[15770] = 'OpcUa_BinarySchema_PublishedDataSetSourceDataType_DataTypeVersion' +ObjectIdNames[15771] = 'OpcUa_BinarySchema_PublishedDataSetSourceDataType_DictionaryFragment' +ObjectIdNames[15772] = 'OpcUa_BinarySchema_PublishedDataItemsDataType' +ObjectIdNames[15773] = 'OpcUa_BinarySchema_PublishedDataItemsDataType_DataTypeVersion' +ObjectIdNames[15774] = 'OpcUa_BinarySchema_PublishedDataItemsDataType_DictionaryFragment' +ObjectIdNames[15775] = 'OpcUa_BinarySchema_PublishedEventsDataType' +ObjectIdNames[15776] = 'OpcUa_BinarySchema_PublishedEventsDataType_DataTypeVersion' +ObjectIdNames[15777] = 'OpcUa_BinarySchema_PublishedEventsDataType_DictionaryFragment' +ObjectIdNames[15778] = 'OpcUa_BinarySchema_DataSetWriterDataType' +ObjectIdNames[15779] = 'OpcUa_BinarySchema_DataSetWriterDataType_DataTypeVersion' +ObjectIdNames[15780] = 'OpcUa_BinarySchema_DataSetWriterDataType_DictionaryFragment' +ObjectIdNames[15781] = 'OpcUa_BinarySchema_DataSetWriterTransportDataType' +ObjectIdNames[15782] = 'OpcUa_BinarySchema_DataSetWriterTransportDataType_DataTypeVersion' +ObjectIdNames[15783] = 'OpcUa_BinarySchema_DataSetWriterTransportDataType_DictionaryFragment' +ObjectIdNames[15784] = 'OpcUa_BinarySchema_DataSetWriterMessageDataType' +ObjectIdNames[15785] = 'OpcUa_BinarySchema_DataSetWriterMessageDataType_DataTypeVersion' +ObjectIdNames[15786] = 'OpcUa_BinarySchema_DataSetWriterMessageDataType_DictionaryFragment' +ObjectIdNames[15787] = 'OpcUa_BinarySchema_PubSubGroupDataType' +ObjectIdNames[15788] = 'OpcUa_BinarySchema_PubSubGroupDataType_DataTypeVersion' +ObjectIdNames[15789] = 'OpcUa_BinarySchema_PubSubGroupDataType_DictionaryFragment' +ObjectIdNames[15790] = 'PublishSubscribe_ConnectionName_Placeholder' +ObjectIdNames[15791] = 'PublishSubscribe_ConnectionName_Placeholder_PublisherId' +ObjectIdNames[15792] = 'PublishSubscribe_ConnectionName_Placeholder_TransportProfileUri' +ObjectIdNames[15793] = 'OpcUa_BinarySchema_WriterGroupTransportDataType' +ObjectIdNames[15794] = 'TemporaryFileTransferType_TransferState_Placeholder_Reset' +ObjectIdNames[15795] = 'GenerateFileForReadMethodType' +ObjectIdNames[15796] = 'GenerateFileForReadMethodType_InputArguments' +ObjectIdNames[15797] = 'GenerateFileForReadMethodType_OutputArguments' +ObjectIdNames[15798] = 'GenerateFileForWriteMethodType' +ObjectIdNames[15799] = 'GenerateFileForWriteMethodType_OutputArguments' +ObjectIdNames[15800] = 'CloseAndCommitMethodType' +ObjectIdNames[15801] = 'CloseAndCommitMethodType_InputArguments' +ObjectIdNames[15802] = 'CloseAndCommitMethodType_OutputArguments' +ObjectIdNames[15803] = 'FileTransferStateMachineType' +ObjectIdNames[15804] = 'FileTransferStateMachineType_CurrentState' +ObjectIdNames[15805] = 'FileTransferStateMachineType_CurrentState_Id' +ObjectIdNames[15806] = 'FileTransferStateMachineType_CurrentState_Name' +ObjectIdNames[15807] = 'FileTransferStateMachineType_CurrentState_Number' +ObjectIdNames[15808] = 'FileTransferStateMachineType_CurrentState_EffectiveDisplayName' +ObjectIdNames[15809] = 'FileTransferStateMachineType_LastTransition' +ObjectIdNames[15810] = 'FileTransferStateMachineType_LastTransition_Id' +ObjectIdNames[15811] = 'FileTransferStateMachineType_LastTransition_Name' +ObjectIdNames[15812] = 'FileTransferStateMachineType_LastTransition_Number' +ObjectIdNames[15813] = 'FileTransferStateMachineType_LastTransition_TransitionTime' +ObjectIdNames[15814] = 'FileTransferStateMachineType_LastTransition_EffectiveTransitionTime' +ObjectIdNames[15815] = 'FileTransferStateMachineType_Idle' +ObjectIdNames[15816] = 'FileTransferStateMachineType_Idle_StateNumber' +ObjectIdNames[15817] = 'FileTransferStateMachineType_ReadPrepare' +ObjectIdNames[15818] = 'FileTransferStateMachineType_ReadPrepare_StateNumber' +ObjectIdNames[15819] = 'FileTransferStateMachineType_ReadTransfer' +ObjectIdNames[15820] = 'FileTransferStateMachineType_ReadTransfer_StateNumber' +ObjectIdNames[15821] = 'FileTransferStateMachineType_ApplyWrite' +ObjectIdNames[15822] = 'FileTransferStateMachineType_ApplyWrite_StateNumber' +ObjectIdNames[15823] = 'FileTransferStateMachineType_Error' +ObjectIdNames[15824] = 'FileTransferStateMachineType_Error_StateNumber' +ObjectIdNames[15825] = 'FileTransferStateMachineType_IdleToReadPrepare' +ObjectIdNames[15826] = 'FileTransferStateMachineType_IdleToReadPrepare_TransitionNumber' +ObjectIdNames[15827] = 'FileTransferStateMachineType_ReadPrepareToReadTransfer' +ObjectIdNames[15828] = 'FileTransferStateMachineType_ReadPrepareToReadTransfer_TransitionNumber' +ObjectIdNames[15829] = 'FileTransferStateMachineType_ReadTransferToIdle' +ObjectIdNames[15830] = 'FileTransferStateMachineType_ReadTransferToIdle_TransitionNumber' +ObjectIdNames[15831] = 'FileTransferStateMachineType_IdleToApplyWrite' +ObjectIdNames[15832] = 'FileTransferStateMachineType_IdleToApplyWrite_TransitionNumber' +ObjectIdNames[15833] = 'FileTransferStateMachineType_ApplyWriteToIdle' +ObjectIdNames[15834] = 'FileTransferStateMachineType_ApplyWriteToIdle_TransitionNumber' +ObjectIdNames[15835] = 'FileTransferStateMachineType_ReadPrepareToError' +ObjectIdNames[15836] = 'FileTransferStateMachineType_ReadPrepareToError_TransitionNumber' +ObjectIdNames[15837] = 'FileTransferStateMachineType_ReadTransferToError' +ObjectIdNames[15838] = 'FileTransferStateMachineType_ReadTransferToError_TransitionNumber' +ObjectIdNames[15839] = 'FileTransferStateMachineType_ApplyWriteToError' +ObjectIdNames[15840] = 'FileTransferStateMachineType_ApplyWriteToError_TransitionNumber' +ObjectIdNames[15841] = 'FileTransferStateMachineType_ErrorToIdle' +ObjectIdNames[15842] = 'FileTransferStateMachineType_ErrorToIdle_TransitionNumber' +ObjectIdNames[15843] = 'FileTransferStateMachineType_Reset' +ObjectIdNames[15844] = 'PublishSubscribeType_Status' +ObjectIdNames[15845] = 'PublishSubscribeType_Status_State' +ObjectIdNames[15846] = 'PublishSubscribeType_Status_Enable' +ObjectIdNames[15847] = 'PublishSubscribeType_Status_Disable' +ObjectIdNames[15848] = 'PublishSubscribe_ConnectionName_Placeholder_TransportProfileUri_Selections' +ObjectIdNames[15849] = 'PublishSubscribe_ConnectionName_Placeholder_TransportProfileUri_SelectionDescriptions' +ObjectIdNames[15850] = 'PublishSubscribe_ConnectionName_Placeholder_TransportProfileUri_RestrictToList' +ObjectIdNames[15851] = 'PublishSubscribe_ConnectionName_Placeholder_Address' +ObjectIdNames[15852] = 'OpcUa_BinarySchema_WriterGroupTransportDataType_DataTypeVersion' +ObjectIdNames[15853] = 'OpcUa_BinarySchema_WriterGroupTransportDataType_DictionaryFragment' +ObjectIdNames[15854] = 'OpcUa_BinarySchema_WriterGroupMessageDataType' +ObjectIdNames[15855] = 'OpcUa_BinarySchema_WriterGroupMessageDataType_DataTypeVersion' +ObjectIdNames[15856] = 'OpcUa_BinarySchema_WriterGroupMessageDataType_DictionaryFragment' +ObjectIdNames[15857] = 'OpcUa_BinarySchema_PubSubConnectionDataType' +ObjectIdNames[15858] = 'OpcUa_BinarySchema_PubSubConnectionDataType_DataTypeVersion' +ObjectIdNames[15859] = 'OpcUa_BinarySchema_PubSubConnectionDataType_DictionaryFragment' +ObjectIdNames[15860] = 'OpcUa_BinarySchema_ConnectionTransportDataType' +ObjectIdNames[15861] = 'OpcUa_BinarySchema_ConnectionTransportDataType_DataTypeVersion' +ObjectIdNames[15862] = 'OpcUa_BinarySchema_ConnectionTransportDataType_DictionaryFragment' +ObjectIdNames[15863] = 'PublishSubscribe_ConnectionName_Placeholder_Address_NetworkInterface' +ObjectIdNames[15864] = 'PublishSubscribe_ConnectionName_Placeholder_TransportSettings' +ObjectIdNames[15865] = 'PublishSubscribe_ConnectionName_Placeholder_Status' +ObjectIdNames[15866] = 'OpcUa_BinarySchema_ReaderGroupTransportDataType' +ObjectIdNames[15867] = 'OpcUa_BinarySchema_ReaderGroupTransportDataType_DataTypeVersion' +ObjectIdNames[15868] = 'OpcUa_BinarySchema_ReaderGroupTransportDataType_DictionaryFragment' +ObjectIdNames[15869] = 'OpcUa_BinarySchema_ReaderGroupMessageDataType' +ObjectIdNames[15870] = 'OpcUa_BinarySchema_ReaderGroupMessageDataType_DataTypeVersion' +ObjectIdNames[15871] = 'OpcUa_BinarySchema_ReaderGroupMessageDataType_DictionaryFragment' +ObjectIdNames[15872] = 'OpcUa_BinarySchema_DataSetReaderDataType' +ObjectIdNames[15873] = 'OpcUa_BinarySchema_DataSetReaderDataType_DataTypeVersion' +ObjectIdNames[15874] = 'OverrideValueHandling' +ObjectIdNames[15875] = 'OverrideValueHandling_EnumStrings' +ObjectIdNames[15876] = 'OpcUa_BinarySchema_DataSetReaderDataType_DictionaryFragment' +ObjectIdNames[15877] = 'OpcUa_BinarySchema_DataSetReaderTransportDataType' +ObjectIdNames[15878] = 'OpcUa_BinarySchema_DataSetReaderTransportDataType_DataTypeVersion' +ObjectIdNames[15879] = 'OpcUa_BinarySchema_DataSetReaderTransportDataType_DictionaryFragment' +ObjectIdNames[15880] = 'OpcUa_BinarySchema_DataSetReaderMessageDataType' +ObjectIdNames[15881] = 'OpcUa_BinarySchema_DataSetReaderMessageDataType_DataTypeVersion' +ObjectIdNames[15882] = 'OpcUa_BinarySchema_DataSetReaderMessageDataType_DictionaryFragment' +ObjectIdNames[15883] = 'OpcUa_BinarySchema_SubscribedDataSetDataType' +ObjectIdNames[15884] = 'OpcUa_BinarySchema_SubscribedDataSetDataType_DataTypeVersion' +ObjectIdNames[15885] = 'OpcUa_BinarySchema_SubscribedDataSetDataType_DictionaryFragment' +ObjectIdNames[15886] = 'OpcUa_BinarySchema_TargetVariablesDataType' +ObjectIdNames[15887] = 'OpcUa_BinarySchema_TargetVariablesDataType_DataTypeVersion' +ObjectIdNames[15888] = 'OpcUa_BinarySchema_TargetVariablesDataType_DictionaryFragment' +ObjectIdNames[15889] = 'OpcUa_BinarySchema_SubscribedDataSetMirrorDataType' +ObjectIdNames[15890] = 'OpcUa_BinarySchema_SubscribedDataSetMirrorDataType_DataTypeVersion' +ObjectIdNames[15891] = 'OpcUa_BinarySchema_SubscribedDataSetMirrorDataType_DictionaryFragment' +ObjectIdNames[15892] = 'PublishSubscribe_ConnectionName_Placeholder_Status_State' +ObjectIdNames[15893] = 'PublishSubscribe_ConnectionName_Placeholder_Status_Enable' +ObjectIdNames[15894] = 'PublishSubscribe_ConnectionName_Placeholder_Status_Disable' +ObjectIdNames[15895] = 'OpcUa_BinarySchema_UadpWriterGroupMessageDataType' +ObjectIdNames[15896] = 'OpcUa_BinarySchema_UadpWriterGroupMessageDataType_DataTypeVersion' +ObjectIdNames[15897] = 'OpcUa_BinarySchema_UadpWriterGroupMessageDataType_DictionaryFragment' +ObjectIdNames[15898] = 'OpcUa_BinarySchema_UadpDataSetWriterMessageDataType' +ObjectIdNames[15899] = 'OpcUa_BinarySchema_UadpDataSetWriterMessageDataType_DataTypeVersion' +ObjectIdNames[15900] = 'OpcUa_BinarySchema_UadpDataSetWriterMessageDataType_DictionaryFragment' +ObjectIdNames[15901] = 'SessionlessInvokeRequestType' +ObjectIdNames[15902] = 'SessionlessInvokeRequestType_Encoding_DefaultXml' +ObjectIdNames[15903] = 'SessionlessInvokeRequestType_Encoding_DefaultBinary' +ObjectIdNames[15904] = 'DataSetFieldFlags' +ObjectIdNames[15905] = 'PublishSubscribeType_ConnectionName_Placeholder_TransportSettings' +ObjectIdNames[15906] = 'PubSubKeyServiceType' +ObjectIdNames[15907] = 'PubSubKeyServiceType_GetSecurityKeys' +ObjectIdNames[15908] = 'PubSubKeyServiceType_GetSecurityKeys_InputArguments' +ObjectIdNames[15909] = 'PubSubKeyServiceType_GetSecurityKeys_OutputArguments' +ObjectIdNames[15910] = 'PubSubKeyServiceType_GetSecurityGroup' +ObjectIdNames[15911] = 'PubSubKeyServiceType_GetSecurityGroup_InputArguments' +ObjectIdNames[15912] = 'PubSubKeyServiceType_GetSecurityGroup_OutputArguments' +ObjectIdNames[15913] = 'PubSubKeyServiceType_SecurityGroups' +ObjectIdNames[15914] = 'PubSubKeyServiceType_SecurityGroups_AddSecurityGroup' +ObjectIdNames[15915] = 'PubSubKeyServiceType_SecurityGroups_AddSecurityGroup_InputArguments' +ObjectIdNames[15916] = 'PubSubKeyServiceType_SecurityGroups_AddSecurityGroup_OutputArguments' +ObjectIdNames[15917] = 'PubSubKeyServiceType_SecurityGroups_RemoveSecurityGroup' +ObjectIdNames[15918] = 'PubSubKeyServiceType_SecurityGroups_RemoveSecurityGroup_InputArguments' +ObjectIdNames[15919] = 'OpcUa_BinarySchema_UadpDataSetReaderMessageDataType' +ObjectIdNames[15920] = 'OpcUa_BinarySchema_UadpDataSetReaderMessageDataType_DataTypeVersion' +ObjectIdNames[15921] = 'OpcUa_BinarySchema_UadpDataSetReaderMessageDataType_DictionaryFragment' +ObjectIdNames[15922] = 'OpcUa_BinarySchema_JsonWriterGroupMessageDataType' +ObjectIdNames[15923] = 'OpcUa_BinarySchema_JsonWriterGroupMessageDataType_DataTypeVersion' +ObjectIdNames[15924] = 'OpcUa_BinarySchema_JsonWriterGroupMessageDataType_DictionaryFragment' +ObjectIdNames[15925] = 'OpcUa_BinarySchema_JsonDataSetWriterMessageDataType' +ObjectIdNames[15926] = 'PubSubGroupType_SecurityMode' +ObjectIdNames[15927] = 'PubSubGroupType_SecurityGroupId' +ObjectIdNames[15928] = 'PubSubGroupType_SecurityKeyServices' +ObjectIdNames[15929] = 'OpcUa_BinarySchema_JsonDataSetWriterMessageDataType_DataTypeVersion' +ObjectIdNames[15930] = 'OpcUa_BinarySchema_JsonDataSetWriterMessageDataType_DictionaryFragment' +ObjectIdNames[15931] = 'OpcUa_BinarySchema_JsonDataSetReaderMessageDataType' +ObjectIdNames[15932] = 'DataSetReaderType_SecurityMode' +ObjectIdNames[15933] = 'DataSetReaderType_SecurityGroupId' +ObjectIdNames[15934] = 'DataSetReaderType_SecurityKeyServices' +ObjectIdNames[15935] = 'OpcUa_BinarySchema_JsonDataSetReaderMessageDataType_DataTypeVersion' +ObjectIdNames[15936] = 'OpcUa_BinarySchema_JsonDataSetReaderMessageDataType_DictionaryFragment' +ObjectIdNames[15937] = 'PublishSubscribe_ConnectionName_Placeholder_Diagnostics' +ObjectIdNames[15938] = 'PublishSubscribe_ConnectionName_Placeholder_Diagnostics_DiagnosticsLevel' +ObjectIdNames[15939] = 'PublishSubscribe_ConnectionName_Placeholder_Diagnostics_TotalInformation' +ObjectIdNames[15940] = 'OpcUa_BinarySchema_BrokerWriterGroupTransportDataType' +ObjectIdNames[15941] = 'OpcUa_BinarySchema_BrokerWriterGroupTransportDataType_DataTypeVersion' +ObjectIdNames[15942] = 'OpcUa_BinarySchema_BrokerWriterGroupTransportDataType_DictionaryFragment' +ObjectIdNames[15943] = 'OpcUa_BinarySchema_BrokerDataSetWriterTransportDataType' +ObjectIdNames[15944] = 'OpcUa_BinarySchema_BrokerDataSetWriterTransportDataType_DataTypeVersion' +ObjectIdNames[15945] = 'OpcUa_BinarySchema_BrokerDataSetWriterTransportDataType_DictionaryFragment' +ObjectIdNames[15946] = 'OpcUa_BinarySchema_BrokerDataSetReaderTransportDataType' +ObjectIdNames[15947] = 'OpcUa_BinarySchema_BrokerDataSetReaderTransportDataType_DataTypeVersion' +ObjectIdNames[15948] = 'OpcUa_BinarySchema_BrokerDataSetReaderTransportDataType_DictionaryFragment' +ObjectIdNames[15949] = 'EndpointType_Encoding_DefaultXml' +ObjectIdNames[15950] = 'DataTypeSchemaHeader_Encoding_DefaultXml' +ObjectIdNames[15951] = 'PublishedDataSetDataType_Encoding_DefaultXml' +ObjectIdNames[15952] = 'PublishedDataSetSourceDataType_Encoding_DefaultXml' +ObjectIdNames[15953] = 'PublishedDataItemsDataType_Encoding_DefaultXml' +ObjectIdNames[15954] = 'PublishedEventsDataType_Encoding_DefaultXml' +ObjectIdNames[15955] = 'DataSetWriterDataType_Encoding_DefaultXml' +ObjectIdNames[15956] = 'DataSetWriterTransportDataType_Encoding_DefaultXml' +ObjectIdNames[15957] = 'OPCUANamespaceMetadata' +ObjectIdNames[15958] = 'OPCUANamespaceMetadata_NamespaceUri' +ObjectIdNames[15959] = 'OPCUANamespaceMetadata_NamespaceVersion' +ObjectIdNames[15960] = 'OPCUANamespaceMetadata_NamespacePublicationDate' +ObjectIdNames[15961] = 'OPCUANamespaceMetadata_IsNamespaceSubset' +ObjectIdNames[15962] = 'OPCUANamespaceMetadata_StaticNodeIdTypes' +ObjectIdNames[15963] = 'OPCUANamespaceMetadata_StaticNumericNodeIdRange' +ObjectIdNames[15964] = 'OPCUANamespaceMetadata_StaticStringNodeIdPattern' +ObjectIdNames[15965] = 'OPCUANamespaceMetadata_NamespaceFile' +ObjectIdNames[15966] = 'OPCUANamespaceMetadata_NamespaceFile_Size' +ObjectIdNames[15967] = 'OPCUANamespaceMetadata_NamespaceFile_Writable' +ObjectIdNames[15968] = 'OPCUANamespaceMetadata_NamespaceFile_UserWritable' +ObjectIdNames[15969] = 'OPCUANamespaceMetadata_NamespaceFile_OpenCount' +ObjectIdNames[15970] = 'OPCUANamespaceMetadata_NamespaceFile_MimeType' +ObjectIdNames[15971] = 'OPCUANamespaceMetadata_NamespaceFile_Open' +ObjectIdNames[15972] = 'OPCUANamespaceMetadata_NamespaceFile_Open_InputArguments' +ObjectIdNames[15973] = 'OPCUANamespaceMetadata_NamespaceFile_Open_OutputArguments' +ObjectIdNames[15974] = 'OPCUANamespaceMetadata_NamespaceFile_Close' +ObjectIdNames[15975] = 'OPCUANamespaceMetadata_NamespaceFile_Close_InputArguments' +ObjectIdNames[15976] = 'OPCUANamespaceMetadata_NamespaceFile_Read' +ObjectIdNames[15977] = 'OPCUANamespaceMetadata_NamespaceFile_Read_InputArguments' +ObjectIdNames[15978] = 'OPCUANamespaceMetadata_NamespaceFile_Read_OutputArguments' +ObjectIdNames[15979] = 'OPCUANamespaceMetadata_NamespaceFile_Write' +ObjectIdNames[15980] = 'OPCUANamespaceMetadata_NamespaceFile_Write_InputArguments' +ObjectIdNames[15981] = 'OPCUANamespaceMetadata_NamespaceFile_GetPosition' +ObjectIdNames[15982] = 'OPCUANamespaceMetadata_NamespaceFile_GetPosition_InputArguments' +ObjectIdNames[15983] = 'OPCUANamespaceMetadata_NamespaceFile_GetPosition_OutputArguments' +ObjectIdNames[15984] = 'OPCUANamespaceMetadata_NamespaceFile_SetPosition' +ObjectIdNames[15985] = 'OPCUANamespaceMetadata_NamespaceFile_SetPosition_InputArguments' +ObjectIdNames[15986] = 'OPCUANamespaceMetadata_NamespaceFile_ExportNamespace' +ObjectIdNames[15987] = 'DataSetWriterMessageDataType_Encoding_DefaultXml' +ObjectIdNames[15988] = 'PubSubGroupDataType_Encoding_DefaultXml' +ObjectIdNames[15989] = 'PublishSubscribe_ConnectionName_Placeholder_Diagnostics_TotalInformation_Active' +ObjectIdNames[15990] = 'WriterGroupTransportDataType_Encoding_DefaultXml' +ObjectIdNames[15991] = 'WriterGroupMessageDataType_Encoding_DefaultXml' +ObjectIdNames[15992] = 'PubSubConnectionDataType_Encoding_DefaultXml' +ObjectIdNames[15993] = 'ConnectionTransportDataType_Encoding_DefaultXml' +ObjectIdNames[15994] = 'PublishSubscribe_ConnectionName_Placeholder_Diagnostics_TotalInformation_Classification' +ObjectIdNames[15995] = 'ReaderGroupTransportDataType_Encoding_DefaultXml' +ObjectIdNames[15996] = 'ReaderGroupMessageDataType_Encoding_DefaultXml' +ObjectIdNames[15997] = 'RoleSetType_AddRole' +ObjectIdNames[15998] = 'RoleSetType_AddRole_InputArguments' +ObjectIdNames[15999] = 'RoleSetType_AddRole_OutputArguments' +ObjectIdNames[16000] = 'RoleSetType_RemoveRole' +ObjectIdNames[16001] = 'RoleSetType_RemoveRole_InputArguments' +ObjectIdNames[16002] = 'AddRoleMethodType' +ObjectIdNames[16003] = 'AddRoleMethodType_InputArguments' +ObjectIdNames[16004] = 'AddRoleMethodType_OutputArguments' +ObjectIdNames[16005] = 'RemoveRoleMethodType' +ObjectIdNames[16006] = 'RemoveRoleMethodType_InputArguments' +ObjectIdNames[16007] = 'DataSetReaderDataType_Encoding_DefaultXml' +ObjectIdNames[16008] = 'DataSetReaderTransportDataType_Encoding_DefaultXml' +ObjectIdNames[16009] = 'DataSetReaderMessageDataType_Encoding_DefaultXml' +ObjectIdNames[16010] = 'SubscribedDataSetDataType_Encoding_DefaultXml' +ObjectIdNames[16011] = 'TargetVariablesDataType_Encoding_DefaultXml' +ObjectIdNames[16012] = 'SubscribedDataSetMirrorDataType_Encoding_DefaultXml' +ObjectIdNames[16013] = 'PublishSubscribe_ConnectionName_Placeholder_Diagnostics_TotalInformation_DiagnosticsLevel' +ObjectIdNames[16014] = 'UadpWriterGroupMessageDataType_Encoding_DefaultXml' +ObjectIdNames[16015] = 'UadpDataSetWriterMessageDataType_Encoding_DefaultXml' +ObjectIdNames[16016] = 'UadpDataSetReaderMessageDataType_Encoding_DefaultXml' +ObjectIdNames[16017] = 'JsonWriterGroupMessageDataType_Encoding_DefaultXml' +ObjectIdNames[16018] = 'JsonDataSetWriterMessageDataType_Encoding_DefaultXml' +ObjectIdNames[16019] = 'JsonDataSetReaderMessageDataType_Encoding_DefaultXml' +ObjectIdNames[16020] = 'PublishSubscribe_ConnectionName_Placeholder_Diagnostics_TotalInformation_TimeFirstChange' +ObjectIdNames[16021] = 'BrokerWriterGroupTransportDataType_Encoding_DefaultXml' +ObjectIdNames[16022] = 'BrokerDataSetWriterTransportDataType_Encoding_DefaultXml' +ObjectIdNames[16023] = 'BrokerDataSetReaderTransportDataType_Encoding_DefaultXml' +ObjectIdNames[16024] = 'OpcUa_XmlSchema_EndpointType' +ObjectIdNames[16025] = 'OpcUa_XmlSchema_EndpointType_DataTypeVersion' +ObjectIdNames[16026] = 'OpcUa_XmlSchema_EndpointType_DictionaryFragment' +ObjectIdNames[16027] = 'OpcUa_XmlSchema_DataTypeSchemaHeader' +ObjectIdNames[16028] = 'OpcUa_XmlSchema_DataTypeSchemaHeader_DataTypeVersion' +ObjectIdNames[16029] = 'OpcUa_XmlSchema_DataTypeSchemaHeader_DictionaryFragment' +ObjectIdNames[16030] = 'OpcUa_XmlSchema_PublishedDataSetDataType' +ObjectIdNames[16031] = 'OpcUa_XmlSchema_PublishedDataSetDataType_DataTypeVersion' +ObjectIdNames[16032] = 'OpcUa_XmlSchema_PublishedDataSetDataType_DictionaryFragment' +ObjectIdNames[16033] = 'OpcUa_XmlSchema_PublishedDataSetSourceDataType' +ObjectIdNames[16034] = 'OpcUa_XmlSchema_PublishedDataSetSourceDataType_DataTypeVersion' +ObjectIdNames[16035] = 'OpcUa_XmlSchema_PublishedDataSetSourceDataType_DictionaryFragment' +ObjectIdNames[16036] = 'WellKnownRole_Engineer' +ObjectIdNames[16037] = 'OpcUa_XmlSchema_PublishedDataItemsDataType' +ObjectIdNames[16038] = 'OpcUa_XmlSchema_PublishedDataItemsDataType_DataTypeVersion' +ObjectIdNames[16039] = 'OpcUa_XmlSchema_PublishedDataItemsDataType_DictionaryFragment' +ObjectIdNames[16040] = 'OpcUa_XmlSchema_PublishedEventsDataType' +ObjectIdNames[16041] = 'WellKnownRole_Engineer_AddIdentity' +ObjectIdNames[16042] = 'WellKnownRole_Engineer_AddIdentity_InputArguments' +ObjectIdNames[16043] = 'WellKnownRole_Engineer_RemoveIdentity' +ObjectIdNames[16044] = 'WellKnownRole_Engineer_RemoveIdentity_InputArguments' +ObjectIdNames[16045] = 'OpcUa_XmlSchema_PublishedEventsDataType_DataTypeVersion' +ObjectIdNames[16046] = 'OpcUa_XmlSchema_PublishedEventsDataType_DictionaryFragment' +ObjectIdNames[16047] = 'OpcUa_XmlSchema_DataSetWriterDataType' +ObjectIdNames[16048] = 'OpcUa_XmlSchema_DataSetWriterDataType_DataTypeVersion' +ObjectIdNames[16049] = 'OpcUa_XmlSchema_DataSetWriterDataType_DictionaryFragment' +ObjectIdNames[16050] = 'OpcUa_XmlSchema_DataSetWriterTransportDataType' +ObjectIdNames[16051] = 'OpcUa_XmlSchema_DataSetWriterTransportDataType_DataTypeVersion' +ObjectIdNames[16052] = 'OpcUa_XmlSchema_DataSetWriterTransportDataType_DictionaryFragment' +ObjectIdNames[16053] = 'OpcUa_XmlSchema_DataSetWriterMessageDataType' +ObjectIdNames[16054] = 'OpcUa_XmlSchema_DataSetWriterMessageDataType_DataTypeVersion' +ObjectIdNames[16055] = 'OpcUa_XmlSchema_DataSetWriterMessageDataType_DictionaryFragment' +ObjectIdNames[16056] = 'OpcUa_XmlSchema_PubSubGroupDataType' +ObjectIdNames[16057] = 'OpcUa_XmlSchema_PubSubGroupDataType_DataTypeVersion' +ObjectIdNames[16058] = 'OpcUa_XmlSchema_PubSubGroupDataType_DictionaryFragment' +ObjectIdNames[16059] = 'PublishSubscribe_ConnectionName_Placeholder_Diagnostics_TotalError' +ObjectIdNames[16060] = 'PublishSubscribe_ConnectionName_Placeholder_Diagnostics_TotalError_Active' +ObjectIdNames[16061] = 'PublishSubscribe_ConnectionName_Placeholder_Diagnostics_TotalError_Classification' +ObjectIdNames[16062] = 'OpcUa_XmlSchema_WriterGroupTransportDataType' +ObjectIdNames[16063] = 'OpcUa_XmlSchema_WriterGroupTransportDataType_DataTypeVersion' +ObjectIdNames[16064] = 'OpcUa_XmlSchema_WriterGroupTransportDataType_DictionaryFragment' +ObjectIdNames[16065] = 'OpcUa_XmlSchema_WriterGroupMessageDataType' +ObjectIdNames[16066] = 'OpcUa_XmlSchema_WriterGroupMessageDataType_DataTypeVersion' +ObjectIdNames[16067] = 'OpcUa_XmlSchema_WriterGroupMessageDataType_DictionaryFragment' +ObjectIdNames[16068] = 'OpcUa_XmlSchema_PubSubConnectionDataType' +ObjectIdNames[16069] = 'OpcUa_XmlSchema_PubSubConnectionDataType_DataTypeVersion' +ObjectIdNames[16070] = 'OpcUa_XmlSchema_PubSubConnectionDataType_DictionaryFragment' +ObjectIdNames[16071] = 'OpcUa_XmlSchema_ConnectionTransportDataType' +ObjectIdNames[16072] = 'OpcUa_XmlSchema_ConnectionTransportDataType_DataTypeVersion' +ObjectIdNames[16073] = 'OpcUa_XmlSchema_ConnectionTransportDataType_DictionaryFragment' +ObjectIdNames[16074] = 'PublishSubscribe_ConnectionName_Placeholder_Diagnostics_TotalError_DiagnosticsLevel' +ObjectIdNames[16075] = 'PublishSubscribe_ConnectionName_Placeholder_Diagnostics_TotalError_TimeFirstChange' +ObjectIdNames[16076] = 'PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Reset' +ObjectIdNames[16077] = 'OpcUa_XmlSchema_ReaderGroupTransportDataType' +ObjectIdNames[16078] = 'OpcUa_XmlSchema_ReaderGroupTransportDataType_DataTypeVersion' +ObjectIdNames[16079] = 'OpcUa_XmlSchema_ReaderGroupTransportDataType_DictionaryFragment' +ObjectIdNames[16080] = 'OpcUa_XmlSchema_ReaderGroupMessageDataType' +ObjectIdNames[16081] = 'OpcUa_XmlSchema_ReaderGroupMessageDataType_DataTypeVersion' +ObjectIdNames[16082] = 'OpcUa_XmlSchema_ReaderGroupMessageDataType_DictionaryFragment' +ObjectIdNames[16083] = 'OpcUa_XmlSchema_DataSetReaderDataType' +ObjectIdNames[16084] = 'OpcUa_XmlSchema_DataSetReaderDataType_DataTypeVersion' +ObjectIdNames[16085] = 'OpcUa_XmlSchema_DataSetReaderDataType_DictionaryFragment' +ObjectIdNames[16086] = 'OpcUa_XmlSchema_DataSetReaderTransportDataType' +ObjectIdNames[16087] = 'OpcUa_XmlSchema_DataSetReaderTransportDataType_DataTypeVersion' +ObjectIdNames[16088] = 'OpcUa_XmlSchema_DataSetReaderTransportDataType_DictionaryFragment' +ObjectIdNames[16089] = 'OpcUa_XmlSchema_DataSetReaderMessageDataType' +ObjectIdNames[16090] = 'OpcUa_XmlSchema_DataSetReaderMessageDataType_DataTypeVersion' +ObjectIdNames[16091] = 'OpcUa_XmlSchema_DataSetReaderMessageDataType_DictionaryFragment' +ObjectIdNames[16092] = 'OpcUa_XmlSchema_SubscribedDataSetDataType' +ObjectIdNames[16093] = 'OpcUa_XmlSchema_SubscribedDataSetDataType_DataTypeVersion' +ObjectIdNames[16094] = 'OpcUa_XmlSchema_SubscribedDataSetDataType_DictionaryFragment' +ObjectIdNames[16095] = 'OpcUa_XmlSchema_TargetVariablesDataType' +ObjectIdNames[16096] = 'OpcUa_XmlSchema_TargetVariablesDataType_DataTypeVersion' +ObjectIdNames[16097] = 'OpcUa_XmlSchema_TargetVariablesDataType_DictionaryFragment' +ObjectIdNames[16098] = 'OpcUa_XmlSchema_SubscribedDataSetMirrorDataType' +ObjectIdNames[16099] = 'OpcUa_XmlSchema_SubscribedDataSetMirrorDataType_DataTypeVersion' +ObjectIdNames[16100] = 'OpcUa_XmlSchema_SubscribedDataSetMirrorDataType_DictionaryFragment' +ObjectIdNames[16101] = 'PublishSubscribe_ConnectionName_Placeholder_Diagnostics_SubError' +ObjectIdNames[16102] = 'PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters' +ObjectIdNames[16103] = 'PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateError' +ObjectIdNames[16104] = 'OpcUa_XmlSchema_UadpWriterGroupMessageDataType' +ObjectIdNames[16105] = 'OpcUa_XmlSchema_UadpWriterGroupMessageDataType_DataTypeVersion' +ObjectIdNames[16106] = 'OpcUa_XmlSchema_UadpWriterGroupMessageDataType_DictionaryFragment' +ObjectIdNames[16107] = 'OpcUa_XmlSchema_UadpDataSetWriterMessageDataType' +ObjectIdNames[16108] = 'OpcUa_XmlSchema_UadpDataSetWriterMessageDataType_DataTypeVersion' +ObjectIdNames[16109] = 'OpcUa_XmlSchema_UadpDataSetWriterMessageDataType_DictionaryFragment' +ObjectIdNames[16110] = 'OpcUa_XmlSchema_UadpDataSetReaderMessageDataType' +ObjectIdNames[16111] = 'OpcUa_XmlSchema_UadpDataSetReaderMessageDataType_DataTypeVersion' +ObjectIdNames[16112] = 'OpcUa_XmlSchema_UadpDataSetReaderMessageDataType_DictionaryFragment' +ObjectIdNames[16113] = 'OpcUa_XmlSchema_JsonWriterGroupMessageDataType' +ObjectIdNames[16114] = 'OpcUa_XmlSchema_JsonWriterGroupMessageDataType_DataTypeVersion' +ObjectIdNames[16115] = 'OpcUa_XmlSchema_JsonWriterGroupMessageDataType_DictionaryFragment' +ObjectIdNames[16116] = 'OpcUa_XmlSchema_JsonDataSetWriterMessageDataType' +ObjectIdNames[16117] = 'OpcUa_XmlSchema_JsonDataSetWriterMessageDataType_DataTypeVersion' +ObjectIdNames[16118] = 'OpcUa_XmlSchema_JsonDataSetWriterMessageDataType_DictionaryFragment' +ObjectIdNames[16119] = 'OpcUa_XmlSchema_JsonDataSetReaderMessageDataType' +ObjectIdNames[16120] = 'OpcUa_XmlSchema_JsonDataSetReaderMessageDataType_DataTypeVersion' +ObjectIdNames[16121] = 'OpcUa_XmlSchema_JsonDataSetReaderMessageDataType_DictionaryFragment' +ObjectIdNames[16122] = 'PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateError_Active' +ObjectIdNames[16123] = 'PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateError_Classification' +ObjectIdNames[16124] = 'PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateError_DiagnosticsLevel' +ObjectIdNames[16125] = 'OpcUa_XmlSchema_BrokerWriterGroupTransportDataType' +ObjectIdNames[16126] = 'RolePermissionType_Encoding_DefaultXml' +ObjectIdNames[16127] = 'OpcUa_XmlSchema_RolePermissionType' +ObjectIdNames[16128] = 'OpcUa_XmlSchema_RolePermissionType_DataTypeVersion' +ObjectIdNames[16129] = 'OpcUa_XmlSchema_RolePermissionType_DictionaryFragment' +ObjectIdNames[16130] = 'OpcUa_XmlSchema_BrokerWriterGroupTransportDataType_DataTypeVersion' +ObjectIdNames[16131] = 'OpcUa_BinarySchema_RolePermissionType' +ObjectIdNames[16132] = 'OpcUa_BinarySchema_RolePermissionType_DataTypeVersion' +ObjectIdNames[16133] = 'OpcUa_BinarySchema_RolePermissionType_DictionaryFragment' +ObjectIdNames[16134] = 'OPCUANamespaceMetadata_DefaultRolePermissions' +ObjectIdNames[16135] = 'OPCUANamespaceMetadata_DefaultUserRolePermissions' +ObjectIdNames[16136] = 'OPCUANamespaceMetadata_DefaultAccessRestrictions' +ObjectIdNames[16137] = 'NamespaceMetadataType_DefaultRolePermissions' +ObjectIdNames[16138] = 'NamespaceMetadataType_DefaultUserRolePermissions' +ObjectIdNames[16139] = 'NamespaceMetadataType_DefaultAccessRestrictions' +ObjectIdNames[16140] = 'NamespacesType_NamespaceIdentifier_Placeholder_DefaultRolePermissions' +ObjectIdNames[16141] = 'NamespacesType_NamespaceIdentifier_Placeholder_DefaultUserRolePermissions' +ObjectIdNames[16142] = 'NamespacesType_NamespaceIdentifier_Placeholder_DefaultAccessRestrictions' +ObjectIdNames[16143] = 'OpcUa_XmlSchema_BrokerWriterGroupTransportDataType_DictionaryFragment' +ObjectIdNames[16144] = 'OpcUa_XmlSchema_BrokerDataSetWriterTransportDataType' +ObjectIdNames[16145] = 'OpcUa_XmlSchema_BrokerDataSetWriterTransportDataType_DataTypeVersion' +ObjectIdNames[16146] = 'OpcUa_XmlSchema_BrokerDataSetWriterTransportDataType_DictionaryFragment' +ObjectIdNames[16147] = 'OpcUa_XmlSchema_BrokerDataSetReaderTransportDataType' +ObjectIdNames[16148] = 'OpcUa_XmlSchema_BrokerDataSetReaderTransportDataType_DataTypeVersion' +ObjectIdNames[16149] = 'OpcUa_XmlSchema_BrokerDataSetReaderTransportDataType_DictionaryFragment' +ObjectIdNames[16150] = 'EndpointType_Encoding_DefaultJson' +ObjectIdNames[16151] = 'DataTypeSchemaHeader_Encoding_DefaultJson' +ObjectIdNames[16152] = 'PublishedDataSetDataType_Encoding_DefaultJson' +ObjectIdNames[16153] = 'PublishedDataSetSourceDataType_Encoding_DefaultJson' +ObjectIdNames[16154] = 'PublishedDataItemsDataType_Encoding_DefaultJson' +ObjectIdNames[16155] = 'PublishedEventsDataType_Encoding_DefaultJson' +ObjectIdNames[16156] = 'DataSetWriterDataType_Encoding_DefaultJson' +ObjectIdNames[16157] = 'DataSetWriterTransportDataType_Encoding_DefaultJson' +ObjectIdNames[16158] = 'DataSetWriterMessageDataType_Encoding_DefaultJson' +ObjectIdNames[16159] = 'PubSubGroupDataType_Encoding_DefaultJson' +ObjectIdNames[16160] = 'PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateError_TimeFirstChange' +ObjectIdNames[16161] = 'WriterGroupTransportDataType_Encoding_DefaultJson' +ObjectIdNames[16162] = 'RoleSetType_RoleName_Placeholder_Identities' +ObjectIdNames[16163] = 'RoleSetType_RoleName_Placeholder_Applications' +ObjectIdNames[16164] = 'RoleSetType_RoleName_Placeholder_Endpoints' +ObjectIdNames[16165] = 'RoleSetType_RoleName_Placeholder_AddApplication' +ObjectIdNames[16166] = 'RoleSetType_RoleName_Placeholder_AddApplication_InputArguments' +ObjectIdNames[16167] = 'RoleSetType_RoleName_Placeholder_RemoveApplication' +ObjectIdNames[16168] = 'RoleSetType_RoleName_Placeholder_RemoveApplication_InputArguments' +ObjectIdNames[16169] = 'RoleSetType_RoleName_Placeholder_AddEndpoint' +ObjectIdNames[16170] = 'RoleSetType_RoleName_Placeholder_AddEndpoint_InputArguments' +ObjectIdNames[16171] = 'RoleSetType_RoleName_Placeholder_RemoveEndpoint' +ObjectIdNames[16172] = 'RoleSetType_RoleName_Placeholder_RemoveEndpoint_InputArguments' +ObjectIdNames[16173] = 'RoleType_Identities' +ObjectIdNames[16174] = 'RoleType_Applications' +ObjectIdNames[16175] = 'RoleType_Endpoints' +ObjectIdNames[16176] = 'RoleType_AddApplication' +ObjectIdNames[16177] = 'RoleType_AddApplication_InputArguments' +ObjectIdNames[16178] = 'RoleType_RemoveApplication' +ObjectIdNames[16179] = 'RoleType_RemoveApplication_InputArguments' +ObjectIdNames[16180] = 'RoleType_AddEndpoint' +ObjectIdNames[16181] = 'RoleType_AddEndpoint_InputArguments' +ObjectIdNames[16182] = 'RoleType_RemoveEndpoint' +ObjectIdNames[16183] = 'RoleType_RemoveEndpoint_InputArguments' +ObjectIdNames[16184] = 'AddApplicationMethodType' +ObjectIdNames[16185] = 'AddApplicationMethodType_InputArguments' +ObjectIdNames[16186] = 'RemoveApplicationMethodType' +ObjectIdNames[16187] = 'RemoveApplicationMethodType_InputArguments' +ObjectIdNames[16188] = 'AddEndpointMethodType' +ObjectIdNames[16189] = 'AddEndpointMethodType_InputArguments' +ObjectIdNames[16190] = 'RemoveEndpointMethodType' +ObjectIdNames[16191] = 'RemoveEndpointMethodType_InputArguments' +ObjectIdNames[16192] = 'WellKnownRole_Anonymous_Identities' +ObjectIdNames[16193] = 'WellKnownRole_Anonymous_Applications' +ObjectIdNames[16194] = 'WellKnownRole_Anonymous_Endpoints' +ObjectIdNames[16195] = 'WellKnownRole_Anonymous_AddApplication' +ObjectIdNames[16196] = 'WellKnownRole_Anonymous_AddApplication_InputArguments' +ObjectIdNames[16197] = 'WellKnownRole_Anonymous_RemoveApplication' +ObjectIdNames[16198] = 'WellKnownRole_Anonymous_RemoveApplication_InputArguments' +ObjectIdNames[16199] = 'WellKnownRole_Anonymous_AddEndpoint' +ObjectIdNames[16200] = 'WellKnownRole_Anonymous_AddEndpoint_InputArguments' +ObjectIdNames[16201] = 'WellKnownRole_Anonymous_RemoveEndpoint' +ObjectIdNames[16202] = 'WellKnownRole_Anonymous_RemoveEndpoint_InputArguments' +ObjectIdNames[16203] = 'WellKnownRole_AuthenticatedUser_Identities' +ObjectIdNames[16204] = 'WellKnownRole_AuthenticatedUser_Applications' +ObjectIdNames[16205] = 'WellKnownRole_AuthenticatedUser_Endpoints' +ObjectIdNames[16206] = 'WellKnownRole_AuthenticatedUser_AddApplication' +ObjectIdNames[16207] = 'WellKnownRole_AuthenticatedUser_AddApplication_InputArguments' +ObjectIdNames[16208] = 'WellKnownRole_AuthenticatedUser_RemoveApplication' +ObjectIdNames[16209] = 'WellKnownRole_AuthenticatedUser_RemoveApplication_InputArguments' +ObjectIdNames[16210] = 'WellKnownRole_AuthenticatedUser_AddEndpoint' +ObjectIdNames[16211] = 'WellKnownRole_AuthenticatedUser_AddEndpoint_InputArguments' +ObjectIdNames[16212] = 'WellKnownRole_AuthenticatedUser_RemoveEndpoint' +ObjectIdNames[16213] = 'WellKnownRole_AuthenticatedUser_RemoveEndpoint_InputArguments' +ObjectIdNames[16214] = 'WellKnownRole_Observer_Identities' +ObjectIdNames[16215] = 'WellKnownRole_Observer_Applications' +ObjectIdNames[16216] = 'WellKnownRole_Observer_Endpoints' +ObjectIdNames[16217] = 'WellKnownRole_Observer_AddApplication' +ObjectIdNames[16218] = 'WellKnownRole_Observer_AddApplication_InputArguments' +ObjectIdNames[16219] = 'WellKnownRole_Observer_RemoveApplication' +ObjectIdNames[16220] = 'WellKnownRole_Observer_RemoveApplication_InputArguments' +ObjectIdNames[16221] = 'WellKnownRole_Observer_AddEndpoint' +ObjectIdNames[16222] = 'WellKnownRole_Observer_AddEndpoint_InputArguments' +ObjectIdNames[16223] = 'WellKnownRole_Observer_RemoveEndpoint' +ObjectIdNames[16224] = 'WellKnownRole_Observer_RemoveEndpoint_InputArguments' +ObjectIdNames[16225] = 'WellKnownRole_Operator_Identities' +ObjectIdNames[16226] = 'WellKnownRole_Operator_Applications' +ObjectIdNames[16227] = 'WellKnownRole_Operator_Endpoints' +ObjectIdNames[16228] = 'WellKnownRole_Operator_AddApplication' +ObjectIdNames[16229] = 'WellKnownRole_Operator_AddApplication_InputArguments' +ObjectIdNames[16230] = 'WellKnownRole_Operator_RemoveApplication' +ObjectIdNames[16231] = 'WellKnownRole_Operator_RemoveApplication_InputArguments' +ObjectIdNames[16232] = 'WellKnownRole_Operator_AddEndpoint' +ObjectIdNames[16233] = 'WellKnownRole_Operator_AddEndpoint_InputArguments' +ObjectIdNames[16234] = 'WellKnownRole_Operator_RemoveEndpoint' +ObjectIdNames[16235] = 'WellKnownRole_Operator_RemoveEndpoint_InputArguments' +ObjectIdNames[16236] = 'WellKnownRole_Engineer_Identities' +ObjectIdNames[16237] = 'WellKnownRole_Engineer_Applications' +ObjectIdNames[16238] = 'WellKnownRole_Engineer_Endpoints' +ObjectIdNames[16239] = 'WellKnownRole_Engineer_AddApplication' +ObjectIdNames[16240] = 'WellKnownRole_Engineer_AddApplication_InputArguments' +ObjectIdNames[16241] = 'WellKnownRole_Engineer_RemoveApplication' +ObjectIdNames[16242] = 'WellKnownRole_Engineer_RemoveApplication_InputArguments' +ObjectIdNames[16243] = 'WellKnownRole_Engineer_AddEndpoint' +ObjectIdNames[16244] = 'WellKnownRole_Engineer_AddEndpoint_InputArguments' +ObjectIdNames[16245] = 'WellKnownRole_Engineer_RemoveEndpoint' +ObjectIdNames[16246] = 'WellKnownRole_Engineer_RemoveEndpoint_InputArguments' +ObjectIdNames[16247] = 'WellKnownRole_Supervisor_Identities' +ObjectIdNames[16248] = 'WellKnownRole_Supervisor_Applications' +ObjectIdNames[16249] = 'WellKnownRole_Supervisor_Endpoints' +ObjectIdNames[16250] = 'WellKnownRole_Supervisor_AddApplication' +ObjectIdNames[16251] = 'WellKnownRole_Supervisor_AddApplication_InputArguments' +ObjectIdNames[16252] = 'WellKnownRole_Supervisor_RemoveApplication' +ObjectIdNames[16253] = 'WellKnownRole_Supervisor_RemoveApplication_InputArguments' +ObjectIdNames[16254] = 'WellKnownRole_Supervisor_AddEndpoint' +ObjectIdNames[16255] = 'WellKnownRole_Supervisor_AddEndpoint_InputArguments' +ObjectIdNames[16256] = 'WellKnownRole_Supervisor_RemoveEndpoint' +ObjectIdNames[16257] = 'WellKnownRole_Supervisor_RemoveEndpoint_InputArguments' +ObjectIdNames[16258] = 'WellKnownRole_SecurityAdmin_Identities' +ObjectIdNames[16259] = 'WellKnownRole_SecurityAdmin_Applications' +ObjectIdNames[16260] = 'WellKnownRole_SecurityAdmin_Endpoints' +ObjectIdNames[16261] = 'WellKnownRole_SecurityAdmin_AddApplication' +ObjectIdNames[16262] = 'WellKnownRole_SecurityAdmin_AddApplication_InputArguments' +ObjectIdNames[16263] = 'WellKnownRole_SecurityAdmin_RemoveApplication' +ObjectIdNames[16264] = 'WellKnownRole_SecurityAdmin_RemoveApplication_InputArguments' +ObjectIdNames[16265] = 'WellKnownRole_SecurityAdmin_AddEndpoint' +ObjectIdNames[16266] = 'WellKnownRole_SecurityAdmin_AddEndpoint_InputArguments' +ObjectIdNames[16267] = 'WellKnownRole_SecurityAdmin_RemoveEndpoint' +ObjectIdNames[16268] = 'WellKnownRole_SecurityAdmin_RemoveEndpoint_InputArguments' +ObjectIdNames[16269] = 'WellKnownRole_ConfigureAdmin_Identities' +ObjectIdNames[16270] = 'WellKnownRole_ConfigureAdmin_Applications' +ObjectIdNames[16271] = 'WellKnownRole_ConfigureAdmin_Endpoints' +ObjectIdNames[16272] = 'WellKnownRole_ConfigureAdmin_AddApplication' +ObjectIdNames[16273] = 'WellKnownRole_ConfigureAdmin_AddApplication_InputArguments' +ObjectIdNames[16274] = 'WellKnownRole_ConfigureAdmin_RemoveApplication' +ObjectIdNames[16275] = 'WellKnownRole_ConfigureAdmin_RemoveApplication_InputArguments' +ObjectIdNames[16276] = 'WellKnownRole_ConfigureAdmin_AddEndpoint' +ObjectIdNames[16277] = 'WellKnownRole_ConfigureAdmin_AddEndpoint_InputArguments' +ObjectIdNames[16278] = 'WellKnownRole_ConfigureAdmin_RemoveEndpoint' +ObjectIdNames[16279] = 'WellKnownRole_ConfigureAdmin_RemoveEndpoint_InputArguments' +ObjectIdNames[16280] = 'WriterGroupMessageDataType_Encoding_DefaultJson' +ObjectIdNames[16281] = 'PubSubConnectionDataType_Encoding_DefaultJson' +ObjectIdNames[16282] = 'ConnectionTransportDataType_Encoding_DefaultJson' +ObjectIdNames[16283] = 'PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByMethod' +ObjectIdNames[16284] = 'ReaderGroupTransportDataType_Encoding_DefaultJson' +ObjectIdNames[16285] = 'ReaderGroupMessageDataType_Encoding_DefaultJson' +ObjectIdNames[16286] = 'DataSetReaderDataType_Encoding_DefaultJson' +ObjectIdNames[16287] = 'DataSetReaderTransportDataType_Encoding_DefaultJson' +ObjectIdNames[16288] = 'DataSetReaderMessageDataType_Encoding_DefaultJson' +ObjectIdNames[16289] = 'ServerType_ServerCapabilities_Roles' +ObjectIdNames[16290] = 'ServerType_ServerCapabilities_Roles_AddRole' +ObjectIdNames[16291] = 'ServerType_ServerCapabilities_Roles_AddRole_InputArguments' +ObjectIdNames[16292] = 'ServerType_ServerCapabilities_Roles_AddRole_OutputArguments' +ObjectIdNames[16293] = 'ServerType_ServerCapabilities_Roles_RemoveRole' +ObjectIdNames[16294] = 'ServerType_ServerCapabilities_Roles_RemoveRole_InputArguments' +ObjectIdNames[16295] = 'ServerCapabilitiesType_Roles' +ObjectIdNames[16296] = 'ServerCapabilitiesType_Roles_AddRole' +ObjectIdNames[16297] = 'ServerCapabilitiesType_Roles_AddRole_InputArguments' +ObjectIdNames[16298] = 'ServerCapabilitiesType_Roles_AddRole_OutputArguments' +ObjectIdNames[16299] = 'ServerCapabilitiesType_Roles_RemoveRole' +ObjectIdNames[16300] = 'ServerCapabilitiesType_Roles_RemoveRole_InputArguments' +ObjectIdNames[16301] = 'Server_ServerCapabilities_Roles_AddRole' +ObjectIdNames[16302] = 'Server_ServerCapabilities_Roles_AddRole_InputArguments' +ObjectIdNames[16303] = 'Server_ServerCapabilities_Roles_AddRole_OutputArguments' +ObjectIdNames[16304] = 'Server_ServerCapabilities_Roles_RemoveRole' +ObjectIdNames[16305] = 'Server_ServerCapabilities_Roles_RemoveRole_InputArguments' +ObjectIdNames[16306] = 'DefaultInputValues' +ObjectIdNames[16307] = 'AudioDataType' +ObjectIdNames[16308] = 'SubscribedDataSetDataType_Encoding_DefaultJson' +ObjectIdNames[16309] = 'SelectionListType' +ObjectIdNames[16310] = 'TargetVariablesDataType_Encoding_DefaultJson' +ObjectIdNames[16311] = 'SubscribedDataSetMirrorDataType_Encoding_DefaultJson' +ObjectIdNames[16312] = 'SelectionListType_RestrictToList' +ObjectIdNames[16313] = 'Server_CurrentTimeZone' +ObjectIdNames[16314] = 'FileSystem' +ObjectIdNames[16315] = 'FileSystem_FileDirectoryName_Placeholder' +ObjectIdNames[16316] = 'FileSystem_FileDirectoryName_Placeholder_CreateDirectory' +ObjectIdNames[16317] = 'FileSystem_FileDirectoryName_Placeholder_CreateDirectory_InputArguments' +ObjectIdNames[16318] = 'FileSystem_FileDirectoryName_Placeholder_CreateDirectory_OutputArguments' +ObjectIdNames[16319] = 'FileSystem_FileDirectoryName_Placeholder_CreateFile' +ObjectIdNames[16320] = 'FileSystem_FileDirectoryName_Placeholder_CreateFile_InputArguments' +ObjectIdNames[16321] = 'FileSystem_FileDirectoryName_Placeholder_CreateFile_OutputArguments' +ObjectIdNames[16322] = 'PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Active' +ObjectIdNames[16323] = 'UadpWriterGroupMessageDataType_Encoding_DefaultJson' +ObjectIdNames[16324] = 'FileSystem_FileDirectoryName_Placeholder_MoveOrCopy' +ObjectIdNames[16325] = 'FileSystem_FileDirectoryName_Placeholder_MoveOrCopy_InputArguments' +ObjectIdNames[16326] = 'FileSystem_FileDirectoryName_Placeholder_MoveOrCopy_OutputArguments' +ObjectIdNames[16327] = 'FileSystem_FileName_Placeholder' +ObjectIdNames[16328] = 'FileSystem_FileName_Placeholder_Size' +ObjectIdNames[16329] = 'FileSystem_FileName_Placeholder_Writable' +ObjectIdNames[16330] = 'FileSystem_FileName_Placeholder_UserWritable' +ObjectIdNames[16331] = 'FileSystem_FileName_Placeholder_OpenCount' +ObjectIdNames[16332] = 'FileSystem_FileName_Placeholder_MimeType' +ObjectIdNames[16333] = 'FileSystem_FileName_Placeholder_Open' +ObjectIdNames[16334] = 'FileSystem_FileName_Placeholder_Open_InputArguments' +ObjectIdNames[16335] = 'FileSystem_FileName_Placeholder_Open_OutputArguments' +ObjectIdNames[16336] = 'FileSystem_FileName_Placeholder_Close' +ObjectIdNames[16337] = 'FileSystem_FileName_Placeholder_Close_InputArguments' +ObjectIdNames[16338] = 'FileSystem_FileName_Placeholder_Read' +ObjectIdNames[16339] = 'FileSystem_FileName_Placeholder_Read_InputArguments' +ObjectIdNames[16340] = 'FileSystem_FileName_Placeholder_Read_OutputArguments' +ObjectIdNames[16341] = 'FileSystem_FileName_Placeholder_Write' +ObjectIdNames[16342] = 'FileSystem_FileName_Placeholder_Write_InputArguments' +ObjectIdNames[16343] = 'FileSystem_FileName_Placeholder_GetPosition' +ObjectIdNames[16344] = 'FileSystem_FileName_Placeholder_GetPosition_InputArguments' +ObjectIdNames[16345] = 'FileSystem_FileName_Placeholder_GetPosition_OutputArguments' +ObjectIdNames[16346] = 'FileSystem_FileName_Placeholder_SetPosition' +ObjectIdNames[16347] = 'FileSystem_FileName_Placeholder_SetPosition_InputArguments' +ObjectIdNames[16348] = 'FileSystem_CreateDirectory' +ObjectIdNames[16349] = 'FileSystem_CreateDirectory_InputArguments' +ObjectIdNames[16350] = 'FileSystem_CreateDirectory_OutputArguments' +ObjectIdNames[16351] = 'FileSystem_CreateFile' +ObjectIdNames[16352] = 'FileSystem_CreateFile_InputArguments' +ObjectIdNames[16353] = 'FileSystem_CreateFile_OutputArguments' +ObjectIdNames[16354] = 'FileSystem_DeleteFileSystemObject' +ObjectIdNames[16355] = 'FileSystem_DeleteFileSystemObject_InputArguments' +ObjectIdNames[16356] = 'FileSystem_MoveOrCopy' +ObjectIdNames[16357] = 'FileSystem_MoveOrCopy_InputArguments' +ObjectIdNames[16358] = 'FileSystem_MoveOrCopy_OutputArguments' +ObjectIdNames[16359] = 'TemporaryFileTransferType_GenerateFileForWrite_InputArguments' +ObjectIdNames[16360] = 'GenerateFileForWriteMethodType_InputArguments' +ObjectIdNames[16361] = 'HasAlarmSuppressionGroup' +ObjectIdNames[16362] = 'AlarmGroupMember' +ObjectIdNames[16363] = 'ConditionType_ConditionSubClassId' +ObjectIdNames[16364] = 'ConditionType_ConditionSubClassName' +ObjectIdNames[16365] = 'DialogConditionType_ConditionSubClassId' +ObjectIdNames[16366] = 'DialogConditionType_ConditionSubClassName' +ObjectIdNames[16367] = 'AcknowledgeableConditionType_ConditionSubClassId' +ObjectIdNames[16368] = 'AcknowledgeableConditionType_ConditionSubClassName' +ObjectIdNames[16369] = 'AlarmConditionType_ConditionSubClassId' +ObjectIdNames[16370] = 'AlarmConditionType_ConditionSubClassName' +ObjectIdNames[16371] = 'AlarmConditionType_OutOfServiceState' +ObjectIdNames[16372] = 'AlarmConditionType_OutOfServiceState_Id' +ObjectIdNames[16373] = 'AlarmConditionType_OutOfServiceState_Name' +ObjectIdNames[16374] = 'AlarmConditionType_OutOfServiceState_Number' +ObjectIdNames[16375] = 'AlarmConditionType_OutOfServiceState_EffectiveDisplayName' +ObjectIdNames[16376] = 'AlarmConditionType_OutOfServiceState_TransitionTime' +ObjectIdNames[16377] = 'AlarmConditionType_OutOfServiceState_EffectiveTransitionTime' +ObjectIdNames[16378] = 'AlarmConditionType_OutOfServiceState_TrueState' +ObjectIdNames[16379] = 'AlarmConditionType_OutOfServiceState_FalseState' +ObjectIdNames[16380] = 'AlarmConditionType_SilenceState' +ObjectIdNames[16381] = 'AlarmConditionType_SilenceState_Id' +ObjectIdNames[16382] = 'AlarmConditionType_SilenceState_Name' +ObjectIdNames[16383] = 'AlarmConditionType_SilenceState_Number' +ObjectIdNames[16384] = 'AlarmConditionType_SilenceState_EffectiveDisplayName' +ObjectIdNames[16385] = 'AlarmConditionType_SilenceState_TransitionTime' +ObjectIdNames[16386] = 'AlarmConditionType_SilenceState_EffectiveTransitionTime' +ObjectIdNames[16387] = 'AlarmConditionType_SilenceState_TrueState' +ObjectIdNames[16388] = 'AlarmConditionType_SilenceState_FalseState' +ObjectIdNames[16389] = 'AlarmConditionType_AudibleEnabled' +ObjectIdNames[16390] = 'AlarmConditionType_AudibleSound' +ObjectIdNames[16391] = 'UadpDataSetWriterMessageDataType_Encoding_DefaultJson' +ObjectIdNames[16392] = 'UadpDataSetReaderMessageDataType_Encoding_DefaultJson' +ObjectIdNames[16393] = 'JsonWriterGroupMessageDataType_Encoding_DefaultJson' +ObjectIdNames[16394] = 'JsonDataSetWriterMessageDataType_Encoding_DefaultJson' +ObjectIdNames[16395] = 'AlarmConditionType_OnDelay' +ObjectIdNames[16396] = 'AlarmConditionType_OffDelay' +ObjectIdNames[16397] = 'AlarmConditionType_FirstInGroupFlag' +ObjectIdNames[16398] = 'AlarmConditionType_FirstInGroup' +ObjectIdNames[16399] = 'AlarmConditionType_AlarmGroup_Placeholder' +ObjectIdNames[16400] = 'AlarmConditionType_ReAlarmTime' +ObjectIdNames[16401] = 'AlarmConditionType_ReAlarmRepeatCount' +ObjectIdNames[16402] = 'AlarmConditionType_Silence' +ObjectIdNames[16403] = 'AlarmConditionType_Suppress' +ObjectIdNames[16404] = 'JsonDataSetReaderMessageDataType_Encoding_DefaultJson' +ObjectIdNames[16405] = 'AlarmGroupType' +ObjectIdNames[16406] = 'AlarmGroupType_AlarmConditionInstance_Placeholder' +ObjectIdNames[16407] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_EventId' +ObjectIdNames[16408] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_EventType' +ObjectIdNames[16409] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_SourceNode' +ObjectIdNames[16410] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_SourceName' +ObjectIdNames[16411] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_Time' +ObjectIdNames[16412] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_ReceiveTime' +ObjectIdNames[16413] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_LocalTime' +ObjectIdNames[16414] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_Message' +ObjectIdNames[16415] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_Severity' +ObjectIdNames[16416] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_ConditionClassId' +ObjectIdNames[16417] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_ConditionClassName' +ObjectIdNames[16418] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_ConditionSubClassId' +ObjectIdNames[16419] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_ConditionSubClassName' +ObjectIdNames[16420] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_ConditionName' +ObjectIdNames[16421] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_BranchId' +ObjectIdNames[16422] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_Retain' +ObjectIdNames[16423] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_EnabledState' +ObjectIdNames[16424] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_EnabledState_Id' +ObjectIdNames[16425] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_EnabledState_Name' +ObjectIdNames[16426] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_EnabledState_Number' +ObjectIdNames[16427] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_EnabledState_EffectiveDisplayName' +ObjectIdNames[16428] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_EnabledState_TransitionTime' +ObjectIdNames[16429] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_EnabledState_EffectiveTransitionTime' +ObjectIdNames[16430] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_EnabledState_TrueState' +ObjectIdNames[16431] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_EnabledState_FalseState' +ObjectIdNames[16432] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_Quality' +ObjectIdNames[16433] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_Quality_SourceTimestamp' +ObjectIdNames[16434] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_LastSeverity' +ObjectIdNames[16435] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_LastSeverity_SourceTimestamp' +ObjectIdNames[16436] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_Comment' +ObjectIdNames[16437] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_Comment_SourceTimestamp' +ObjectIdNames[16438] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_ClientUserId' +ObjectIdNames[16439] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_Disable' +ObjectIdNames[16440] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_Enable' +ObjectIdNames[16441] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_AddComment' +ObjectIdNames[16442] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_AddComment_InputArguments' +ObjectIdNames[16443] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_AckedState' +ObjectIdNames[16444] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_AckedState_Id' +ObjectIdNames[16445] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_AckedState_Name' +ObjectIdNames[16446] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_AckedState_Number' +ObjectIdNames[16447] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_AckedState_EffectiveDisplayName' +ObjectIdNames[16448] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_AckedState_TransitionTime' +ObjectIdNames[16449] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_AckedState_EffectiveTransitionTime' +ObjectIdNames[16450] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_AckedState_TrueState' +ObjectIdNames[16451] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_AckedState_FalseState' +ObjectIdNames[16452] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_ConfirmedState' +ObjectIdNames[16453] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_ConfirmedState_Id' +ObjectIdNames[16454] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_ConfirmedState_Name' +ObjectIdNames[16455] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_ConfirmedState_Number' +ObjectIdNames[16456] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_ConfirmedState_EffectiveDisplayName' +ObjectIdNames[16457] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_ConfirmedState_TransitionTime' +ObjectIdNames[16458] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_ConfirmedState_EffectiveTransitionTime' +ObjectIdNames[16459] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_ConfirmedState_TrueState' +ObjectIdNames[16460] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_ConfirmedState_FalseState' +ObjectIdNames[16461] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_Acknowledge' +ObjectIdNames[16462] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_Acknowledge_InputArguments' +ObjectIdNames[16463] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_Confirm' +ObjectIdNames[16464] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_Confirm_InputArguments' +ObjectIdNames[16465] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_ActiveState' +ObjectIdNames[16466] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_ActiveState_Id' +ObjectIdNames[16467] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_ActiveState_Name' +ObjectIdNames[16468] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_ActiveState_Number' +ObjectIdNames[16469] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_ActiveState_EffectiveDisplayName' +ObjectIdNames[16470] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_ActiveState_TransitionTime' +ObjectIdNames[16471] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_ActiveState_EffectiveTransitionTime' +ObjectIdNames[16472] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_ActiveState_TrueState' +ObjectIdNames[16473] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_ActiveState_FalseState' +ObjectIdNames[16474] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_InputNode' +ObjectIdNames[16475] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_SuppressedState' +ObjectIdNames[16476] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_SuppressedState_Id' +ObjectIdNames[16477] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_SuppressedState_Name' +ObjectIdNames[16478] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_SuppressedState_Number' +ObjectIdNames[16479] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_SuppressedState_EffectiveDisplayName' +ObjectIdNames[16480] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_SuppressedState_TransitionTime' +ObjectIdNames[16481] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_SuppressedState_EffectiveTransitionTime' +ObjectIdNames[16482] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_SuppressedState_TrueState' +ObjectIdNames[16483] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_SuppressedState_FalseState' +ObjectIdNames[16484] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_OutOfServiceState' +ObjectIdNames[16485] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_OutOfServiceState_Id' +ObjectIdNames[16486] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_OutOfServiceState_Name' +ObjectIdNames[16487] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_OutOfServiceState_Number' +ObjectIdNames[16488] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_OutOfServiceState_EffectiveDisplayName' +ObjectIdNames[16489] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_OutOfServiceState_TransitionTime' +ObjectIdNames[16490] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_OutOfServiceState_EffectiveTransitionTime' +ObjectIdNames[16491] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_OutOfServiceState_TrueState' +ObjectIdNames[16492] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_OutOfServiceState_FalseState' +ObjectIdNames[16493] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_SilenceState' +ObjectIdNames[16494] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_SilenceState_Id' +ObjectIdNames[16495] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_SilenceState_Name' +ObjectIdNames[16496] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_SilenceState_Number' +ObjectIdNames[16497] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_SilenceState_EffectiveDisplayName' +ObjectIdNames[16498] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_SilenceState_TransitionTime' +ObjectIdNames[16499] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_SilenceState_EffectiveTransitionTime' +ObjectIdNames[16500] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_SilenceState_TrueState' +ObjectIdNames[16501] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_SilenceState_FalseState' +ObjectIdNames[16502] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState' +ObjectIdNames[16503] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_CurrentState' +ObjectIdNames[16504] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_CurrentState_Id' +ObjectIdNames[16505] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_CurrentState_Name' +ObjectIdNames[16506] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_CurrentState_Number' +ObjectIdNames[16507] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_CurrentState_EffectiveDisplayName' +ObjectIdNames[16508] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_LastTransition' +ObjectIdNames[16509] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_LastTransition_Id' +ObjectIdNames[16510] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_LastTransition_Name' +ObjectIdNames[16511] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_LastTransition_Number' +ObjectIdNames[16512] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_LastTransition_TransitionTime' +ObjectIdNames[16513] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_LastTransition_EffectiveTransitionTime' +ObjectIdNames[16514] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_UnshelveTime' +ObjectIdNames[16515] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_Unshelve' +ObjectIdNames[16516] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_OneShotShelve' +ObjectIdNames[16517] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_TimedShelve' +ObjectIdNames[16518] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_TimedShelve_InputArguments' +ObjectIdNames[16519] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_SuppressedOrShelved' +ObjectIdNames[16520] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_MaxTimeShelved' +ObjectIdNames[16521] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_AudibleEnabled' +ObjectIdNames[16522] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_AudibleSound' +ObjectIdNames[16523] = 'PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Classification' +ObjectIdNames[16524] = 'BrokerWriterGroupTransportDataType_Encoding_DefaultJson' +ObjectIdNames[16525] = 'BrokerDataSetWriterTransportDataType_Encoding_DefaultJson' +ObjectIdNames[16526] = 'BrokerDataSetReaderTransportDataType_Encoding_DefaultJson' +ObjectIdNames[16527] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_OnDelay' +ObjectIdNames[16528] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_OffDelay' +ObjectIdNames[16529] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_FirstInGroupFlag' +ObjectIdNames[16530] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_FirstInGroup' +ObjectIdNames[16531] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_ReAlarmTime' +ObjectIdNames[16532] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_ReAlarmRepeatCount' +ObjectIdNames[16533] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_Silence' +ObjectIdNames[16534] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_Suppress' +ObjectIdNames[16535] = 'PublishSubscribeType_ConnectionName_Placeholder_AddWriterGroup' +ObjectIdNames[16536] = 'LimitAlarmType_ConditionSubClassId' +ObjectIdNames[16537] = 'LimitAlarmType_ConditionSubClassName' +ObjectIdNames[16538] = 'LimitAlarmType_OutOfServiceState' +ObjectIdNames[16539] = 'LimitAlarmType_OutOfServiceState_Id' +ObjectIdNames[16540] = 'LimitAlarmType_OutOfServiceState_Name' +ObjectIdNames[16541] = 'LimitAlarmType_OutOfServiceState_Number' +ObjectIdNames[16542] = 'LimitAlarmType_OutOfServiceState_EffectiveDisplayName' +ObjectIdNames[16543] = 'LimitAlarmType_OutOfServiceState_TransitionTime' +ObjectIdNames[16544] = 'LimitAlarmType_OutOfServiceState_EffectiveTransitionTime' +ObjectIdNames[16545] = 'LimitAlarmType_OutOfServiceState_TrueState' +ObjectIdNames[16546] = 'LimitAlarmType_OutOfServiceState_FalseState' +ObjectIdNames[16547] = 'LimitAlarmType_SilenceState' +ObjectIdNames[16548] = 'LimitAlarmType_SilenceState_Id' +ObjectIdNames[16549] = 'LimitAlarmType_SilenceState_Name' +ObjectIdNames[16550] = 'LimitAlarmType_SilenceState_Number' +ObjectIdNames[16551] = 'LimitAlarmType_SilenceState_EffectiveDisplayName' +ObjectIdNames[16552] = 'LimitAlarmType_SilenceState_TransitionTime' +ObjectIdNames[16553] = 'LimitAlarmType_SilenceState_EffectiveTransitionTime' +ObjectIdNames[16554] = 'LimitAlarmType_SilenceState_TrueState' +ObjectIdNames[16555] = 'LimitAlarmType_SilenceState_FalseState' +ObjectIdNames[16556] = 'LimitAlarmType_AudibleEnabled' +ObjectIdNames[16557] = 'LimitAlarmType_AudibleSound' +ObjectIdNames[16558] = 'PublishSubscribeType_ConnectionName_Placeholder_AddWriterGroup_InputArguments' +ObjectIdNames[16559] = 'PublishSubscribeType_ConnectionName_Placeholder_AddWriterGroup_OutputArguments' +ObjectIdNames[16560] = 'PublishSubscribeType_ConnectionName_Placeholder_AddReaderGroup' +ObjectIdNames[16561] = 'PublishSubscribeType_ConnectionName_Placeholder_AddReaderGroup_InputArguments' +ObjectIdNames[16562] = 'LimitAlarmType_OnDelay' +ObjectIdNames[16563] = 'LimitAlarmType_OffDelay' +ObjectIdNames[16564] = 'LimitAlarmType_FirstInGroupFlag' +ObjectIdNames[16565] = 'LimitAlarmType_FirstInGroup' +ObjectIdNames[16566] = 'LimitAlarmType_AlarmGroup_Placeholder' +ObjectIdNames[16567] = 'LimitAlarmType_ReAlarmTime' +ObjectIdNames[16568] = 'LimitAlarmType_ReAlarmRepeatCount' +ObjectIdNames[16569] = 'LimitAlarmType_Silence' +ObjectIdNames[16570] = 'LimitAlarmType_Suppress' +ObjectIdNames[16571] = 'PublishSubscribeType_ConnectionName_Placeholder_AddReaderGroup_OutputArguments' +ObjectIdNames[16572] = 'LimitAlarmType_BaseHighHighLimit' +ObjectIdNames[16573] = 'LimitAlarmType_BaseHighLimit' +ObjectIdNames[16574] = 'LimitAlarmType_BaseLowLimit' +ObjectIdNames[16575] = 'LimitAlarmType_BaseLowLowLimit' +ObjectIdNames[16576] = 'ExclusiveLimitAlarmType_ConditionSubClassId' +ObjectIdNames[16577] = 'ExclusiveLimitAlarmType_ConditionSubClassName' +ObjectIdNames[16578] = 'ExclusiveLimitAlarmType_OutOfServiceState' +ObjectIdNames[16579] = 'ExclusiveLimitAlarmType_OutOfServiceState_Id' +ObjectIdNames[16580] = 'ExclusiveLimitAlarmType_OutOfServiceState_Name' +ObjectIdNames[16581] = 'ExclusiveLimitAlarmType_OutOfServiceState_Number' +ObjectIdNames[16582] = 'ExclusiveLimitAlarmType_OutOfServiceState_EffectiveDisplayName' +ObjectIdNames[16583] = 'ExclusiveLimitAlarmType_OutOfServiceState_TransitionTime' +ObjectIdNames[16584] = 'ExclusiveLimitAlarmType_OutOfServiceState_EffectiveTransitionTime' +ObjectIdNames[16585] = 'ExclusiveLimitAlarmType_OutOfServiceState_TrueState' +ObjectIdNames[16586] = 'ExclusiveLimitAlarmType_OutOfServiceState_FalseState' +ObjectIdNames[16587] = 'ExclusiveLimitAlarmType_SilenceState' +ObjectIdNames[16588] = 'ExclusiveLimitAlarmType_SilenceState_Id' +ObjectIdNames[16589] = 'ExclusiveLimitAlarmType_SilenceState_Name' +ObjectIdNames[16590] = 'ExclusiveLimitAlarmType_SilenceState_Number' +ObjectIdNames[16591] = 'ExclusiveLimitAlarmType_SilenceState_EffectiveDisplayName' +ObjectIdNames[16592] = 'ExclusiveLimitAlarmType_SilenceState_TransitionTime' +ObjectIdNames[16593] = 'ExclusiveLimitAlarmType_SilenceState_EffectiveTransitionTime' +ObjectIdNames[16594] = 'ExclusiveLimitAlarmType_SilenceState_TrueState' +ObjectIdNames[16595] = 'ExclusiveLimitAlarmType_SilenceState_FalseState' +ObjectIdNames[16596] = 'ExclusiveLimitAlarmType_AudibleEnabled' +ObjectIdNames[16597] = 'ExclusiveLimitAlarmType_AudibleSound' +ObjectIdNames[16598] = 'PublishSubscribeType_AddConnection' +ObjectIdNames[16599] = 'PublishSubscribeType_AddConnection_InputArguments' +ObjectIdNames[16600] = 'PublishSubscribeType_AddConnection_OutputArguments' +ObjectIdNames[16601] = 'PublishSubscribeType_PublishedDataSets_AddPublishedDataItemsTemplate' +ObjectIdNames[16602] = 'ExclusiveLimitAlarmType_OnDelay' +ObjectIdNames[16603] = 'ExclusiveLimitAlarmType_OffDelay' +ObjectIdNames[16604] = 'ExclusiveLimitAlarmType_FirstInGroupFlag' +ObjectIdNames[16605] = 'ExclusiveLimitAlarmType_FirstInGroup' +ObjectIdNames[16606] = 'ExclusiveLimitAlarmType_AlarmGroup_Placeholder' +ObjectIdNames[16607] = 'ExclusiveLimitAlarmType_ReAlarmTime' +ObjectIdNames[16608] = 'ExclusiveLimitAlarmType_ReAlarmRepeatCount' +ObjectIdNames[16609] = 'ExclusiveLimitAlarmType_Silence' +ObjectIdNames[16610] = 'ExclusiveLimitAlarmType_Suppress' +ObjectIdNames[16611] = 'PublishSubscribeType_PublishedDataSets_AddPublishedDataItemsTemplate_InputArguments' +ObjectIdNames[16612] = 'ExclusiveLimitAlarmType_BaseHighHighLimit' +ObjectIdNames[16613] = 'ExclusiveLimitAlarmType_BaseHighLimit' +ObjectIdNames[16614] = 'ExclusiveLimitAlarmType_BaseLowLimit' +ObjectIdNames[16615] = 'ExclusiveLimitAlarmType_BaseLowLowLimit' +ObjectIdNames[16616] = 'NonExclusiveLimitAlarmType_ConditionSubClassId' +ObjectIdNames[16617] = 'NonExclusiveLimitAlarmType_ConditionSubClassName' +ObjectIdNames[16618] = 'NonExclusiveLimitAlarmType_OutOfServiceState' +ObjectIdNames[16619] = 'NonExclusiveLimitAlarmType_OutOfServiceState_Id' +ObjectIdNames[16620] = 'NonExclusiveLimitAlarmType_OutOfServiceState_Name' +ObjectIdNames[16621] = 'NonExclusiveLimitAlarmType_OutOfServiceState_Number' +ObjectIdNames[16622] = 'NonExclusiveLimitAlarmType_OutOfServiceState_EffectiveDisplayName' +ObjectIdNames[16623] = 'NonExclusiveLimitAlarmType_OutOfServiceState_TransitionTime' +ObjectIdNames[16624] = 'NonExclusiveLimitAlarmType_OutOfServiceState_EffectiveTransitionTime' +ObjectIdNames[16625] = 'NonExclusiveLimitAlarmType_OutOfServiceState_TrueState' +ObjectIdNames[16626] = 'NonExclusiveLimitAlarmType_OutOfServiceState_FalseState' +ObjectIdNames[16627] = 'NonExclusiveLimitAlarmType_SilenceState' +ObjectIdNames[16628] = 'NonExclusiveLimitAlarmType_SilenceState_Id' +ObjectIdNames[16629] = 'NonExclusiveLimitAlarmType_SilenceState_Name' +ObjectIdNames[16630] = 'NonExclusiveLimitAlarmType_SilenceState_Number' +ObjectIdNames[16631] = 'NonExclusiveLimitAlarmType_SilenceState_EffectiveDisplayName' +ObjectIdNames[16632] = 'NonExclusiveLimitAlarmType_SilenceState_TransitionTime' +ObjectIdNames[16633] = 'NonExclusiveLimitAlarmType_SilenceState_EffectiveTransitionTime' +ObjectIdNames[16634] = 'NonExclusiveLimitAlarmType_SilenceState_TrueState' +ObjectIdNames[16635] = 'NonExclusiveLimitAlarmType_SilenceState_FalseState' +ObjectIdNames[16636] = 'NonExclusiveLimitAlarmType_AudibleEnabled' +ObjectIdNames[16637] = 'NonExclusiveLimitAlarmType_AudibleSound' +ObjectIdNames[16638] = 'PublishSubscribeType_PublishedDataSets_AddPublishedDataItemsTemplate_OutputArguments' +ObjectIdNames[16639] = 'PublishSubscribeType_PublishedDataSets_AddPublishedEventsTemplate' +ObjectIdNames[16640] = 'PublishSubscribeType_PublishedDataSets_AddPublishedEventsTemplate_InputArguments' +ObjectIdNames[16641] = 'PublishSubscribeType_PublishedDataSets_AddPublishedEventsTemplate_OutputArguments' +ObjectIdNames[16642] = 'NonExclusiveLimitAlarmType_OnDelay' +ObjectIdNames[16643] = 'NonExclusiveLimitAlarmType_OffDelay' +ObjectIdNames[16644] = 'NonExclusiveLimitAlarmType_FirstInGroupFlag' +ObjectIdNames[16645] = 'NonExclusiveLimitAlarmType_FirstInGroup' +ObjectIdNames[16646] = 'NonExclusiveLimitAlarmType_AlarmGroup_Placeholder' +ObjectIdNames[16647] = 'NonExclusiveLimitAlarmType_ReAlarmTime' +ObjectIdNames[16648] = 'NonExclusiveLimitAlarmType_ReAlarmRepeatCount' +ObjectIdNames[16649] = 'NonExclusiveLimitAlarmType_Silence' +ObjectIdNames[16650] = 'NonExclusiveLimitAlarmType_Suppress' +ObjectIdNames[16651] = 'PublishSubscribeType_PublishedDataSets_AddDataSetFolder' +ObjectIdNames[16652] = 'NonExclusiveLimitAlarmType_BaseHighHighLimit' +ObjectIdNames[16653] = 'NonExclusiveLimitAlarmType_BaseHighLimit' +ObjectIdNames[16654] = 'NonExclusiveLimitAlarmType_BaseLowLimit' +ObjectIdNames[16655] = 'NonExclusiveLimitAlarmType_BaseLowLowLimit' +ObjectIdNames[16656] = 'NonExclusiveLevelAlarmType_ConditionSubClassId' +ObjectIdNames[16657] = 'NonExclusiveLevelAlarmType_ConditionSubClassName' +ObjectIdNames[16658] = 'NonExclusiveLevelAlarmType_OutOfServiceState' +ObjectIdNames[16659] = 'NonExclusiveLevelAlarmType_OutOfServiceState_Id' +ObjectIdNames[16660] = 'NonExclusiveLevelAlarmType_OutOfServiceState_Name' +ObjectIdNames[16661] = 'NonExclusiveLevelAlarmType_OutOfServiceState_Number' +ObjectIdNames[16662] = 'NonExclusiveLevelAlarmType_OutOfServiceState_EffectiveDisplayName' +ObjectIdNames[16663] = 'NonExclusiveLevelAlarmType_OutOfServiceState_TransitionTime' +ObjectIdNames[16664] = 'NonExclusiveLevelAlarmType_OutOfServiceState_EffectiveTransitionTime' +ObjectIdNames[16665] = 'NonExclusiveLevelAlarmType_OutOfServiceState_TrueState' +ObjectIdNames[16666] = 'NonExclusiveLevelAlarmType_OutOfServiceState_FalseState' +ObjectIdNames[16667] = 'NonExclusiveLevelAlarmType_SilenceState' +ObjectIdNames[16668] = 'NonExclusiveLevelAlarmType_SilenceState_Id' +ObjectIdNames[16669] = 'NonExclusiveLevelAlarmType_SilenceState_Name' +ObjectIdNames[16670] = 'NonExclusiveLevelAlarmType_SilenceState_Number' +ObjectIdNames[16671] = 'NonExclusiveLevelAlarmType_SilenceState_EffectiveDisplayName' +ObjectIdNames[16672] = 'NonExclusiveLevelAlarmType_SilenceState_TransitionTime' +ObjectIdNames[16673] = 'NonExclusiveLevelAlarmType_SilenceState_EffectiveTransitionTime' +ObjectIdNames[16674] = 'NonExclusiveLevelAlarmType_SilenceState_TrueState' +ObjectIdNames[16675] = 'NonExclusiveLevelAlarmType_SilenceState_FalseState' +ObjectIdNames[16676] = 'NonExclusiveLevelAlarmType_AudibleEnabled' +ObjectIdNames[16677] = 'NonExclusiveLevelAlarmType_AudibleSound' +ObjectIdNames[16678] = 'PublishSubscribeType_PublishedDataSets_AddDataSetFolder_InputArguments' +ObjectIdNames[16679] = 'PublishSubscribeType_PublishedDataSets_AddDataSetFolder_OutputArguments' +ObjectIdNames[16680] = 'PublishSubscribeType_PublishedDataSets_RemoveDataSetFolder' +ObjectIdNames[16681] = 'PublishSubscribeType_PublishedDataSets_RemoveDataSetFolder_InputArguments' +ObjectIdNames[16682] = 'NonExclusiveLevelAlarmType_OnDelay' +ObjectIdNames[16683] = 'NonExclusiveLevelAlarmType_OffDelay' +ObjectIdNames[16684] = 'NonExclusiveLevelAlarmType_FirstInGroupFlag' +ObjectIdNames[16685] = 'NonExclusiveLevelAlarmType_FirstInGroup' +ObjectIdNames[16686] = 'NonExclusiveLevelAlarmType_AlarmGroup_Placeholder' +ObjectIdNames[16687] = 'NonExclusiveLevelAlarmType_ReAlarmTime' +ObjectIdNames[16688] = 'NonExclusiveLevelAlarmType_ReAlarmRepeatCount' +ObjectIdNames[16689] = 'NonExclusiveLevelAlarmType_Silence' +ObjectIdNames[16690] = 'NonExclusiveLevelAlarmType_Suppress' +ObjectIdNames[16691] = 'AddConnectionMethodType' +ObjectIdNames[16692] = 'NonExclusiveLevelAlarmType_BaseHighHighLimit' +ObjectIdNames[16693] = 'NonExclusiveLevelAlarmType_BaseHighLimit' +ObjectIdNames[16694] = 'NonExclusiveLevelAlarmType_BaseLowLimit' +ObjectIdNames[16695] = 'NonExclusiveLevelAlarmType_BaseLowLowLimit' +ObjectIdNames[16696] = 'ExclusiveLevelAlarmType_ConditionSubClassId' +ObjectIdNames[16697] = 'ExclusiveLevelAlarmType_ConditionSubClassName' +ObjectIdNames[16698] = 'ExclusiveLevelAlarmType_OutOfServiceState' +ObjectIdNames[16699] = 'ExclusiveLevelAlarmType_OutOfServiceState_Id' +ObjectIdNames[16700] = 'ExclusiveLevelAlarmType_OutOfServiceState_Name' +ObjectIdNames[16701] = 'ExclusiveLevelAlarmType_OutOfServiceState_Number' +ObjectIdNames[16702] = 'ExclusiveLevelAlarmType_OutOfServiceState_EffectiveDisplayName' +ObjectIdNames[16703] = 'ExclusiveLevelAlarmType_OutOfServiceState_TransitionTime' +ObjectIdNames[16704] = 'ExclusiveLevelAlarmType_OutOfServiceState_EffectiveTransitionTime' +ObjectIdNames[16705] = 'ExclusiveLevelAlarmType_OutOfServiceState_TrueState' +ObjectIdNames[16706] = 'ExclusiveLevelAlarmType_OutOfServiceState_FalseState' +ObjectIdNames[16707] = 'ExclusiveLevelAlarmType_SilenceState' +ObjectIdNames[16708] = 'ExclusiveLevelAlarmType_SilenceState_Id' +ObjectIdNames[16709] = 'ExclusiveLevelAlarmType_SilenceState_Name' +ObjectIdNames[16710] = 'ExclusiveLevelAlarmType_SilenceState_Number' +ObjectIdNames[16711] = 'ExclusiveLevelAlarmType_SilenceState_EffectiveDisplayName' +ObjectIdNames[16712] = 'ExclusiveLevelAlarmType_SilenceState_TransitionTime' +ObjectIdNames[16713] = 'ExclusiveLevelAlarmType_SilenceState_EffectiveTransitionTime' +ObjectIdNames[16714] = 'ExclusiveLevelAlarmType_SilenceState_TrueState' +ObjectIdNames[16715] = 'ExclusiveLevelAlarmType_SilenceState_FalseState' +ObjectIdNames[16716] = 'ExclusiveLevelAlarmType_AudibleEnabled' +ObjectIdNames[16717] = 'ExclusiveLevelAlarmType_AudibleSound' +ObjectIdNames[16718] = 'AddConnectionMethodType_InputArguments' +ObjectIdNames[16719] = 'AddConnectionMethodType_OutputArguments' +ObjectIdNames[16720] = 'PublishedDataSetType_DataSetWriterName_Placeholder_DataSetWriterId' +ObjectIdNames[16721] = 'PublishedDataSetType_DataSetWriterName_Placeholder_DataSetFieldContentMask' +ObjectIdNames[16722] = 'ExclusiveLevelAlarmType_OnDelay' +ObjectIdNames[16723] = 'ExclusiveLevelAlarmType_OffDelay' +ObjectIdNames[16724] = 'ExclusiveLevelAlarmType_FirstInGroupFlag' +ObjectIdNames[16725] = 'ExclusiveLevelAlarmType_FirstInGroup' +ObjectIdNames[16726] = 'ExclusiveLevelAlarmType_AlarmGroup_Placeholder' +ObjectIdNames[16727] = 'ExclusiveLevelAlarmType_ReAlarmTime' +ObjectIdNames[16728] = 'ExclusiveLevelAlarmType_ReAlarmRepeatCount' +ObjectIdNames[16729] = 'ExclusiveLevelAlarmType_Silence' +ObjectIdNames[16730] = 'ExclusiveLevelAlarmType_Suppress' +ObjectIdNames[16731] = 'PublishedDataSetType_DataSetWriterName_Placeholder_KeyFrameCount' +ObjectIdNames[16732] = 'ExclusiveLevelAlarmType_BaseHighHighLimit' +ObjectIdNames[16733] = 'ExclusiveLevelAlarmType_BaseHighLimit' +ObjectIdNames[16734] = 'ExclusiveLevelAlarmType_BaseLowLimit' +ObjectIdNames[16735] = 'ExclusiveLevelAlarmType_BaseLowLowLimit' +ObjectIdNames[16736] = 'NonExclusiveDeviationAlarmType_ConditionSubClassId' +ObjectIdNames[16737] = 'NonExclusiveDeviationAlarmType_ConditionSubClassName' +ObjectIdNames[16738] = 'NonExclusiveDeviationAlarmType_OutOfServiceState' +ObjectIdNames[16739] = 'NonExclusiveDeviationAlarmType_OutOfServiceState_Id' +ObjectIdNames[16740] = 'NonExclusiveDeviationAlarmType_OutOfServiceState_Name' +ObjectIdNames[16741] = 'NonExclusiveDeviationAlarmType_OutOfServiceState_Number' +ObjectIdNames[16742] = 'NonExclusiveDeviationAlarmType_OutOfServiceState_EffectiveDisplayName' +ObjectIdNames[16743] = 'NonExclusiveDeviationAlarmType_OutOfServiceState_TransitionTime' +ObjectIdNames[16744] = 'NonExclusiveDeviationAlarmType_OutOfServiceState_EffectiveTransitionTime' +ObjectIdNames[16745] = 'NonExclusiveDeviationAlarmType_OutOfServiceState_TrueState' +ObjectIdNames[16746] = 'NonExclusiveDeviationAlarmType_OutOfServiceState_FalseState' +ObjectIdNames[16747] = 'NonExclusiveDeviationAlarmType_SilenceState' +ObjectIdNames[16748] = 'NonExclusiveDeviationAlarmType_SilenceState_Id' +ObjectIdNames[16749] = 'NonExclusiveDeviationAlarmType_SilenceState_Name' +ObjectIdNames[16750] = 'NonExclusiveDeviationAlarmType_SilenceState_Number' +ObjectIdNames[16751] = 'NonExclusiveDeviationAlarmType_SilenceState_EffectiveDisplayName' +ObjectIdNames[16752] = 'NonExclusiveDeviationAlarmType_SilenceState_TransitionTime' +ObjectIdNames[16753] = 'NonExclusiveDeviationAlarmType_SilenceState_EffectiveTransitionTime' +ObjectIdNames[16754] = 'NonExclusiveDeviationAlarmType_SilenceState_TrueState' +ObjectIdNames[16755] = 'NonExclusiveDeviationAlarmType_SilenceState_FalseState' +ObjectIdNames[16756] = 'NonExclusiveDeviationAlarmType_AudibleEnabled' +ObjectIdNames[16757] = 'NonExclusiveDeviationAlarmType_AudibleSound' +ObjectIdNames[16758] = 'PublishedDataSetType_DataSetWriterName_Placeholder_MessageSettings' +ObjectIdNames[16759] = 'PublishedDataSetType_DataSetClassId' +ObjectIdNames[16760] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_DataSetWriterId' +ObjectIdNames[16761] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_DataSetFieldContentMask' +ObjectIdNames[16762] = 'NonExclusiveDeviationAlarmType_OnDelay' +ObjectIdNames[16763] = 'NonExclusiveDeviationAlarmType_OffDelay' +ObjectIdNames[16764] = 'NonExclusiveDeviationAlarmType_FirstInGroupFlag' +ObjectIdNames[16765] = 'NonExclusiveDeviationAlarmType_FirstInGroup' +ObjectIdNames[16766] = 'NonExclusiveDeviationAlarmType_AlarmGroup_Placeholder' +ObjectIdNames[16767] = 'NonExclusiveDeviationAlarmType_ReAlarmTime' +ObjectIdNames[16768] = 'NonExclusiveDeviationAlarmType_ReAlarmRepeatCount' +ObjectIdNames[16769] = 'NonExclusiveDeviationAlarmType_Silence' +ObjectIdNames[16770] = 'NonExclusiveDeviationAlarmType_Suppress' +ObjectIdNames[16771] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_KeyFrameCount' +ObjectIdNames[16772] = 'NonExclusiveDeviationAlarmType_BaseHighHighLimit' +ObjectIdNames[16773] = 'NonExclusiveDeviationAlarmType_BaseHighLimit' +ObjectIdNames[16774] = 'NonExclusiveDeviationAlarmType_BaseLowLimit' +ObjectIdNames[16775] = 'NonExclusiveDeviationAlarmType_BaseLowLowLimit' +ObjectIdNames[16776] = 'NonExclusiveDeviationAlarmType_BaseSetpointNode' +ObjectIdNames[16777] = 'ExclusiveDeviationAlarmType_ConditionSubClassId' +ObjectIdNames[16778] = 'ExclusiveDeviationAlarmType_ConditionSubClassName' +ObjectIdNames[16779] = 'ExclusiveDeviationAlarmType_OutOfServiceState' +ObjectIdNames[16780] = 'ExclusiveDeviationAlarmType_OutOfServiceState_Id' +ObjectIdNames[16781] = 'ExclusiveDeviationAlarmType_OutOfServiceState_Name' +ObjectIdNames[16782] = 'ExclusiveDeviationAlarmType_OutOfServiceState_Number' +ObjectIdNames[16783] = 'ExclusiveDeviationAlarmType_OutOfServiceState_EffectiveDisplayName' +ObjectIdNames[16784] = 'ExclusiveDeviationAlarmType_OutOfServiceState_TransitionTime' +ObjectIdNames[16785] = 'ExclusiveDeviationAlarmType_OutOfServiceState_EffectiveTransitionTime' +ObjectIdNames[16786] = 'ExclusiveDeviationAlarmType_OutOfServiceState_TrueState' +ObjectIdNames[16787] = 'ExclusiveDeviationAlarmType_OutOfServiceState_FalseState' +ObjectIdNames[16788] = 'ExclusiveDeviationAlarmType_SilenceState' +ObjectIdNames[16789] = 'ExclusiveDeviationAlarmType_SilenceState_Id' +ObjectIdNames[16790] = 'ExclusiveDeviationAlarmType_SilenceState_Name' +ObjectIdNames[16791] = 'ExclusiveDeviationAlarmType_SilenceState_Number' +ObjectIdNames[16792] = 'ExclusiveDeviationAlarmType_SilenceState_EffectiveDisplayName' +ObjectIdNames[16793] = 'ExclusiveDeviationAlarmType_SilenceState_TransitionTime' +ObjectIdNames[16794] = 'ExclusiveDeviationAlarmType_SilenceState_EffectiveTransitionTime' +ObjectIdNames[16795] = 'ExclusiveDeviationAlarmType_SilenceState_TrueState' +ObjectIdNames[16796] = 'ExclusiveDeviationAlarmType_SilenceState_FalseState' +ObjectIdNames[16797] = 'ExclusiveDeviationAlarmType_AudibleEnabled' +ObjectIdNames[16798] = 'ExclusiveDeviationAlarmType_AudibleSound' +ObjectIdNames[16799] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_MessageSettings' +ObjectIdNames[16800] = 'PublishedDataItemsType_DataSetClassId' +ObjectIdNames[16801] = 'PublishedEventsType_DataSetWriterName_Placeholder_DataSetWriterId' +ObjectIdNames[16802] = 'PublishedEventsType_DataSetWriterName_Placeholder_DataSetFieldContentMask' +ObjectIdNames[16803] = 'ExclusiveDeviationAlarmType_OnDelay' +ObjectIdNames[16804] = 'ExclusiveDeviationAlarmType_OffDelay' +ObjectIdNames[16805] = 'ExclusiveDeviationAlarmType_FirstInGroupFlag' +ObjectIdNames[16806] = 'ExclusiveDeviationAlarmType_FirstInGroup' +ObjectIdNames[16807] = 'ExclusiveDeviationAlarmType_AlarmGroup_Placeholder' +ObjectIdNames[16808] = 'ExclusiveDeviationAlarmType_ReAlarmTime' +ObjectIdNames[16809] = 'ExclusiveDeviationAlarmType_ReAlarmRepeatCount' +ObjectIdNames[16810] = 'ExclusiveDeviationAlarmType_Silence' +ObjectIdNames[16811] = 'ExclusiveDeviationAlarmType_Suppress' +ObjectIdNames[16812] = 'PublishedEventsType_DataSetWriterName_Placeholder_KeyFrameCount' +ObjectIdNames[16813] = 'ExclusiveDeviationAlarmType_BaseHighHighLimit' +ObjectIdNames[16814] = 'ExclusiveDeviationAlarmType_BaseHighLimit' +ObjectIdNames[16815] = 'ExclusiveDeviationAlarmType_BaseLowLimit' +ObjectIdNames[16816] = 'ExclusiveDeviationAlarmType_BaseLowLowLimit' +ObjectIdNames[16817] = 'ExclusiveDeviationAlarmType_BaseSetpointNode' +ObjectIdNames[16818] = 'NonExclusiveRateOfChangeAlarmType_ConditionSubClassId' +ObjectIdNames[16819] = 'NonExclusiveRateOfChangeAlarmType_ConditionSubClassName' +ObjectIdNames[16820] = 'NonExclusiveRateOfChangeAlarmType_OutOfServiceState' +ObjectIdNames[16821] = 'NonExclusiveRateOfChangeAlarmType_OutOfServiceState_Id' +ObjectIdNames[16822] = 'NonExclusiveRateOfChangeAlarmType_OutOfServiceState_Name' +ObjectIdNames[16823] = 'NonExclusiveRateOfChangeAlarmType_OutOfServiceState_Number' +ObjectIdNames[16824] = 'NonExclusiveRateOfChangeAlarmType_OutOfServiceState_EffectiveDisplayName' +ObjectIdNames[16825] = 'NonExclusiveRateOfChangeAlarmType_OutOfServiceState_TransitionTime' +ObjectIdNames[16826] = 'NonExclusiveRateOfChangeAlarmType_OutOfServiceState_EffectiveTransitionTime' +ObjectIdNames[16827] = 'NonExclusiveRateOfChangeAlarmType_OutOfServiceState_TrueState' +ObjectIdNames[16828] = 'NonExclusiveRateOfChangeAlarmType_OutOfServiceState_FalseState' +ObjectIdNames[16829] = 'NonExclusiveRateOfChangeAlarmType_SilenceState' +ObjectIdNames[16830] = 'NonExclusiveRateOfChangeAlarmType_SilenceState_Id' +ObjectIdNames[16831] = 'NonExclusiveRateOfChangeAlarmType_SilenceState_Name' +ObjectIdNames[16832] = 'NonExclusiveRateOfChangeAlarmType_SilenceState_Number' +ObjectIdNames[16833] = 'NonExclusiveRateOfChangeAlarmType_SilenceState_EffectiveDisplayName' +ObjectIdNames[16834] = 'NonExclusiveRateOfChangeAlarmType_SilenceState_TransitionTime' +ObjectIdNames[16835] = 'NonExclusiveRateOfChangeAlarmType_SilenceState_EffectiveTransitionTime' +ObjectIdNames[16836] = 'NonExclusiveRateOfChangeAlarmType_SilenceState_TrueState' +ObjectIdNames[16837] = 'NonExclusiveRateOfChangeAlarmType_SilenceState_FalseState' +ObjectIdNames[16838] = 'NonExclusiveRateOfChangeAlarmType_AudibleEnabled' +ObjectIdNames[16839] = 'NonExclusiveRateOfChangeAlarmType_AudibleSound' +ObjectIdNames[16840] = 'PublishedEventsType_DataSetWriterName_Placeholder_MessageSettings' +ObjectIdNames[16841] = 'PublishedEventsType_DataSetClassId' +ObjectIdNames[16842] = 'DataSetFolderType_DataSetFolderName_Placeholder_AddPublishedDataItemsTemplate' +ObjectIdNames[16843] = 'DataSetFolderType_DataSetFolderName_Placeholder_AddPublishedDataItemsTemplate_InputArguments' +ObjectIdNames[16844] = 'NonExclusiveRateOfChangeAlarmType_OnDelay' +ObjectIdNames[16845] = 'NonExclusiveRateOfChangeAlarmType_OffDelay' +ObjectIdNames[16846] = 'NonExclusiveRateOfChangeAlarmType_FirstInGroupFlag' +ObjectIdNames[16847] = 'NonExclusiveRateOfChangeAlarmType_FirstInGroup' +ObjectIdNames[16848] = 'NonExclusiveRateOfChangeAlarmType_AlarmGroup_Placeholder' +ObjectIdNames[16849] = 'NonExclusiveRateOfChangeAlarmType_ReAlarmTime' +ObjectIdNames[16850] = 'NonExclusiveRateOfChangeAlarmType_ReAlarmRepeatCount' +ObjectIdNames[16851] = 'NonExclusiveRateOfChangeAlarmType_Silence' +ObjectIdNames[16852] = 'NonExclusiveRateOfChangeAlarmType_Suppress' +ObjectIdNames[16853] = 'DataSetFolderType_DataSetFolderName_Placeholder_AddPublishedDataItemsTemplate_OutputArguments' +ObjectIdNames[16854] = 'NonExclusiveRateOfChangeAlarmType_BaseHighHighLimit' +ObjectIdNames[16855] = 'NonExclusiveRateOfChangeAlarmType_BaseHighLimit' +ObjectIdNames[16856] = 'NonExclusiveRateOfChangeAlarmType_BaseLowLimit' +ObjectIdNames[16857] = 'NonExclusiveRateOfChangeAlarmType_BaseLowLowLimit' +ObjectIdNames[16858] = 'NonExclusiveRateOfChangeAlarmType_EngineeringUnits' +ObjectIdNames[16859] = 'ExclusiveRateOfChangeAlarmType_ConditionSubClassId' +ObjectIdNames[16860] = 'ExclusiveRateOfChangeAlarmType_ConditionSubClassName' +ObjectIdNames[16861] = 'ExclusiveRateOfChangeAlarmType_OutOfServiceState' +ObjectIdNames[16862] = 'ExclusiveRateOfChangeAlarmType_OutOfServiceState_Id' +ObjectIdNames[16863] = 'ExclusiveRateOfChangeAlarmType_OutOfServiceState_Name' +ObjectIdNames[16864] = 'ExclusiveRateOfChangeAlarmType_OutOfServiceState_Number' +ObjectIdNames[16865] = 'ExclusiveRateOfChangeAlarmType_OutOfServiceState_EffectiveDisplayName' +ObjectIdNames[16866] = 'ExclusiveRateOfChangeAlarmType_OutOfServiceState_TransitionTime' +ObjectIdNames[16867] = 'ExclusiveRateOfChangeAlarmType_OutOfServiceState_EffectiveTransitionTime' +ObjectIdNames[16868] = 'ExclusiveRateOfChangeAlarmType_OutOfServiceState_TrueState' +ObjectIdNames[16869] = 'ExclusiveRateOfChangeAlarmType_OutOfServiceState_FalseState' +ObjectIdNames[16870] = 'ExclusiveRateOfChangeAlarmType_SilenceState' +ObjectIdNames[16871] = 'ExclusiveRateOfChangeAlarmType_SilenceState_Id' +ObjectIdNames[16872] = 'ExclusiveRateOfChangeAlarmType_SilenceState_Name' +ObjectIdNames[16873] = 'ExclusiveRateOfChangeAlarmType_SilenceState_Number' +ObjectIdNames[16874] = 'ExclusiveRateOfChangeAlarmType_SilenceState_EffectiveDisplayName' +ObjectIdNames[16875] = 'ExclusiveRateOfChangeAlarmType_SilenceState_TransitionTime' +ObjectIdNames[16876] = 'ExclusiveRateOfChangeAlarmType_SilenceState_EffectiveTransitionTime' +ObjectIdNames[16877] = 'ExclusiveRateOfChangeAlarmType_SilenceState_TrueState' +ObjectIdNames[16878] = 'ExclusiveRateOfChangeAlarmType_SilenceState_FalseState' +ObjectIdNames[16879] = 'ExclusiveRateOfChangeAlarmType_AudibleEnabled' +ObjectIdNames[16880] = 'ExclusiveRateOfChangeAlarmType_AudibleSound' +ObjectIdNames[16881] = 'DataSetFolderType_DataSetFolderName_Placeholder_AddPublishedEventsTemplate' +ObjectIdNames[16882] = 'DataSetFolderType_DataSetFolderName_Placeholder_AddPublishedEventsTemplate_InputArguments' +ObjectIdNames[16883] = 'DataSetFolderType_DataSetFolderName_Placeholder_AddPublishedEventsTemplate_OutputArguments' +ObjectIdNames[16884] = 'DataSetFolderType_DataSetFolderName_Placeholder_AddDataSetFolder' +ObjectIdNames[16885] = 'ExclusiveRateOfChangeAlarmType_OnDelay' +ObjectIdNames[16886] = 'ExclusiveRateOfChangeAlarmType_OffDelay' +ObjectIdNames[16887] = 'ExclusiveRateOfChangeAlarmType_FirstInGroupFlag' +ObjectIdNames[16888] = 'ExclusiveRateOfChangeAlarmType_FirstInGroup' +ObjectIdNames[16889] = 'ExclusiveRateOfChangeAlarmType_AlarmGroup_Placeholder' +ObjectIdNames[16890] = 'ExclusiveRateOfChangeAlarmType_ReAlarmTime' +ObjectIdNames[16891] = 'ExclusiveRateOfChangeAlarmType_ReAlarmRepeatCount' +ObjectIdNames[16892] = 'ExclusiveRateOfChangeAlarmType_Silence' +ObjectIdNames[16893] = 'ExclusiveRateOfChangeAlarmType_Suppress' +ObjectIdNames[16894] = 'DataSetFolderType_DataSetFolderName_Placeholder_AddDataSetFolder_InputArguments' +ObjectIdNames[16895] = 'ExclusiveRateOfChangeAlarmType_BaseHighHighLimit' +ObjectIdNames[16896] = 'ExclusiveRateOfChangeAlarmType_BaseHighLimit' +ObjectIdNames[16897] = 'ExclusiveRateOfChangeAlarmType_BaseLowLimit' +ObjectIdNames[16898] = 'ExclusiveRateOfChangeAlarmType_BaseLowLowLimit' +ObjectIdNames[16899] = 'ExclusiveRateOfChangeAlarmType_EngineeringUnits' +ObjectIdNames[16900] = 'DiscreteAlarmType_ConditionSubClassId' +ObjectIdNames[16901] = 'DiscreteAlarmType_ConditionSubClassName' +ObjectIdNames[16902] = 'DiscreteAlarmType_OutOfServiceState' +ObjectIdNames[16903] = 'DiscreteAlarmType_OutOfServiceState_Id' +ObjectIdNames[16904] = 'DiscreteAlarmType_OutOfServiceState_Name' +ObjectIdNames[16905] = 'DiscreteAlarmType_OutOfServiceState_Number' +ObjectIdNames[16906] = 'DiscreteAlarmType_OutOfServiceState_EffectiveDisplayName' +ObjectIdNames[16907] = 'DiscreteAlarmType_OutOfServiceState_TransitionTime' +ObjectIdNames[16908] = 'DiscreteAlarmType_OutOfServiceState_EffectiveTransitionTime' +ObjectIdNames[16909] = 'DiscreteAlarmType_OutOfServiceState_TrueState' +ObjectIdNames[16910] = 'DiscreteAlarmType_OutOfServiceState_FalseState' +ObjectIdNames[16911] = 'DiscreteAlarmType_SilenceState' +ObjectIdNames[16912] = 'DiscreteAlarmType_SilenceState_Id' +ObjectIdNames[16913] = 'DiscreteAlarmType_SilenceState_Name' +ObjectIdNames[16914] = 'DiscreteAlarmType_SilenceState_Number' +ObjectIdNames[16915] = 'DiscreteAlarmType_SilenceState_EffectiveDisplayName' +ObjectIdNames[16916] = 'DiscreteAlarmType_SilenceState_TransitionTime' +ObjectIdNames[16917] = 'DiscreteAlarmType_SilenceState_EffectiveTransitionTime' +ObjectIdNames[16918] = 'DiscreteAlarmType_SilenceState_TrueState' +ObjectIdNames[16919] = 'DiscreteAlarmType_SilenceState_FalseState' +ObjectIdNames[16920] = 'DiscreteAlarmType_AudibleEnabled' +ObjectIdNames[16921] = 'DiscreteAlarmType_AudibleSound' +ObjectIdNames[16922] = 'DataSetFolderType_DataSetFolderName_Placeholder_AddDataSetFolder_OutputArguments' +ObjectIdNames[16923] = 'DataSetFolderType_DataSetFolderName_Placeholder_RemoveDataSetFolder' +ObjectIdNames[16924] = 'DataSetFolderType_DataSetFolderName_Placeholder_RemoveDataSetFolder_InputArguments' +ObjectIdNames[16925] = 'DataSetFolderType_PublishedDataSetName_Placeholder_DataSetClassId' +ObjectIdNames[16926] = 'DiscreteAlarmType_OnDelay' +ObjectIdNames[16927] = 'DiscreteAlarmType_OffDelay' +ObjectIdNames[16928] = 'DiscreteAlarmType_FirstInGroupFlag' +ObjectIdNames[16929] = 'DiscreteAlarmType_FirstInGroup' +ObjectIdNames[16930] = 'DiscreteAlarmType_AlarmGroup_Placeholder' +ObjectIdNames[16931] = 'DiscreteAlarmType_ReAlarmTime' +ObjectIdNames[16932] = 'DiscreteAlarmType_ReAlarmRepeatCount' +ObjectIdNames[16933] = 'DiscreteAlarmType_Silence' +ObjectIdNames[16934] = 'DiscreteAlarmType_Suppress' +ObjectIdNames[16935] = 'DataSetFolderType_AddPublishedDataItemsTemplate' +ObjectIdNames[16936] = 'OffNormalAlarmType_ConditionSubClassId' +ObjectIdNames[16937] = 'OffNormalAlarmType_ConditionSubClassName' +ObjectIdNames[16938] = 'OffNormalAlarmType_OutOfServiceState' +ObjectIdNames[16939] = 'OffNormalAlarmType_OutOfServiceState_Id' +ObjectIdNames[16940] = 'OffNormalAlarmType_OutOfServiceState_Name' +ObjectIdNames[16941] = 'OffNormalAlarmType_OutOfServiceState_Number' +ObjectIdNames[16942] = 'OffNormalAlarmType_OutOfServiceState_EffectiveDisplayName' +ObjectIdNames[16943] = 'OffNormalAlarmType_OutOfServiceState_TransitionTime' +ObjectIdNames[16944] = 'OffNormalAlarmType_OutOfServiceState_EffectiveTransitionTime' +ObjectIdNames[16945] = 'OffNormalAlarmType_OutOfServiceState_TrueState' +ObjectIdNames[16946] = 'OffNormalAlarmType_OutOfServiceState_FalseState' +ObjectIdNames[16947] = 'OffNormalAlarmType_SilenceState' +ObjectIdNames[16948] = 'OffNormalAlarmType_SilenceState_Id' +ObjectIdNames[16949] = 'OffNormalAlarmType_SilenceState_Name' +ObjectIdNames[16950] = 'OffNormalAlarmType_SilenceState_Number' +ObjectIdNames[16951] = 'OffNormalAlarmType_SilenceState_EffectiveDisplayName' +ObjectIdNames[16952] = 'OffNormalAlarmType_SilenceState_TransitionTime' +ObjectIdNames[16953] = 'OffNormalAlarmType_SilenceState_EffectiveTransitionTime' +ObjectIdNames[16954] = 'OffNormalAlarmType_SilenceState_TrueState' +ObjectIdNames[16955] = 'OffNormalAlarmType_SilenceState_FalseState' +ObjectIdNames[16956] = 'OffNormalAlarmType_AudibleEnabled' +ObjectIdNames[16957] = 'OffNormalAlarmType_AudibleSound' +ObjectIdNames[16958] = 'DataSetFolderType_AddPublishedDataItemsTemplate_InputArguments' +ObjectIdNames[16959] = 'DataSetFolderType_AddPublishedDataItemsTemplate_OutputArguments' +ObjectIdNames[16960] = 'DataSetFolderType_AddPublishedEventsTemplate' +ObjectIdNames[16961] = 'DataSetFolderType_AddPublishedEventsTemplate_InputArguments' +ObjectIdNames[16962] = 'OffNormalAlarmType_OnDelay' +ObjectIdNames[16963] = 'OffNormalAlarmType_OffDelay' +ObjectIdNames[16964] = 'OffNormalAlarmType_FirstInGroupFlag' +ObjectIdNames[16965] = 'OffNormalAlarmType_FirstInGroup' +ObjectIdNames[16966] = 'OffNormalAlarmType_AlarmGroup_Placeholder' +ObjectIdNames[16967] = 'OffNormalAlarmType_ReAlarmTime' +ObjectIdNames[16968] = 'OffNormalAlarmType_ReAlarmRepeatCount' +ObjectIdNames[16969] = 'OffNormalAlarmType_Silence' +ObjectIdNames[16970] = 'OffNormalAlarmType_Suppress' +ObjectIdNames[16971] = 'DataSetFolderType_AddPublishedEventsTemplate_OutputArguments' +ObjectIdNames[16972] = 'SystemOffNormalAlarmType_ConditionSubClassId' +ObjectIdNames[16973] = 'SystemOffNormalAlarmType_ConditionSubClassName' +ObjectIdNames[16974] = 'SystemOffNormalAlarmType_OutOfServiceState' +ObjectIdNames[16975] = 'SystemOffNormalAlarmType_OutOfServiceState_Id' +ObjectIdNames[16976] = 'SystemOffNormalAlarmType_OutOfServiceState_Name' +ObjectIdNames[16977] = 'SystemOffNormalAlarmType_OutOfServiceState_Number' +ObjectIdNames[16978] = 'SystemOffNormalAlarmType_OutOfServiceState_EffectiveDisplayName' +ObjectIdNames[16979] = 'SystemOffNormalAlarmType_OutOfServiceState_TransitionTime' +ObjectIdNames[16980] = 'SystemOffNormalAlarmType_OutOfServiceState_EffectiveTransitionTime' +ObjectIdNames[16981] = 'SystemOffNormalAlarmType_OutOfServiceState_TrueState' +ObjectIdNames[16982] = 'SystemOffNormalAlarmType_OutOfServiceState_FalseState' +ObjectIdNames[16983] = 'SystemOffNormalAlarmType_SilenceState' +ObjectIdNames[16984] = 'SystemOffNormalAlarmType_SilenceState_Id' +ObjectIdNames[16985] = 'SystemOffNormalAlarmType_SilenceState_Name' +ObjectIdNames[16986] = 'SystemOffNormalAlarmType_SilenceState_Number' +ObjectIdNames[16987] = 'SystemOffNormalAlarmType_SilenceState_EffectiveDisplayName' +ObjectIdNames[16988] = 'SystemOffNormalAlarmType_SilenceState_TransitionTime' +ObjectIdNames[16989] = 'SystemOffNormalAlarmType_SilenceState_EffectiveTransitionTime' +ObjectIdNames[16990] = 'SystemOffNormalAlarmType_SilenceState_TrueState' +ObjectIdNames[16991] = 'SystemOffNormalAlarmType_SilenceState_FalseState' +ObjectIdNames[16992] = 'SystemOffNormalAlarmType_AudibleEnabled' +ObjectIdNames[16993] = 'SystemOffNormalAlarmType_AudibleSound' +ObjectIdNames[16994] = 'DataSetFolderType_AddDataSetFolder' +ObjectIdNames[16995] = 'DataSetFolderType_AddDataSetFolder_InputArguments' +ObjectIdNames[16996] = 'DataSetFolderType_AddDataSetFolder_OutputArguments' +ObjectIdNames[16997] = 'DataSetFolderType_RemoveDataSetFolder' +ObjectIdNames[16998] = 'SystemOffNormalAlarmType_OnDelay' +ObjectIdNames[16999] = 'SystemOffNormalAlarmType_OffDelay' +ObjectIdNames[17000] = 'SystemOffNormalAlarmType_FirstInGroupFlag' +ObjectIdNames[17001] = 'SystemOffNormalAlarmType_FirstInGroup' +ObjectIdNames[17002] = 'SystemOffNormalAlarmType_AlarmGroup_Placeholder' +ObjectIdNames[17003] = 'SystemOffNormalAlarmType_ReAlarmTime' +ObjectIdNames[17004] = 'SystemOffNormalAlarmType_ReAlarmRepeatCount' +ObjectIdNames[17005] = 'SystemOffNormalAlarmType_Silence' +ObjectIdNames[17006] = 'SystemOffNormalAlarmType_Suppress' +ObjectIdNames[17007] = 'DataSetFolderType_RemoveDataSetFolder_InputArguments' +ObjectIdNames[17008] = 'TripAlarmType_ConditionSubClassId' +ObjectIdNames[17009] = 'TripAlarmType_ConditionSubClassName' +ObjectIdNames[17010] = 'TripAlarmType_OutOfServiceState' +ObjectIdNames[17011] = 'TripAlarmType_OutOfServiceState_Id' +ObjectIdNames[17012] = 'TripAlarmType_OutOfServiceState_Name' +ObjectIdNames[17013] = 'TripAlarmType_OutOfServiceState_Number' +ObjectIdNames[17014] = 'TripAlarmType_OutOfServiceState_EffectiveDisplayName' +ObjectIdNames[17015] = 'TripAlarmType_OutOfServiceState_TransitionTime' +ObjectIdNames[17016] = 'TripAlarmType_OutOfServiceState_EffectiveTransitionTime' +ObjectIdNames[17017] = 'TripAlarmType_OutOfServiceState_TrueState' +ObjectIdNames[17018] = 'TripAlarmType_OutOfServiceState_FalseState' +ObjectIdNames[17019] = 'TripAlarmType_SilenceState' +ObjectIdNames[17020] = 'TripAlarmType_SilenceState_Id' +ObjectIdNames[17021] = 'TripAlarmType_SilenceState_Name' +ObjectIdNames[17022] = 'TripAlarmType_SilenceState_Number' +ObjectIdNames[17023] = 'TripAlarmType_SilenceState_EffectiveDisplayName' +ObjectIdNames[17024] = 'TripAlarmType_SilenceState_TransitionTime' +ObjectIdNames[17025] = 'TripAlarmType_SilenceState_EffectiveTransitionTime' +ObjectIdNames[17026] = 'TripAlarmType_SilenceState_TrueState' +ObjectIdNames[17027] = 'TripAlarmType_SilenceState_FalseState' +ObjectIdNames[17028] = 'TripAlarmType_AudibleEnabled' +ObjectIdNames[17029] = 'TripAlarmType_AudibleSound' +ObjectIdNames[17030] = 'AddPublishedDataItemsTemplateMethodType' +ObjectIdNames[17031] = 'AddPublishedDataItemsTemplateMethodType_InputArguments' +ObjectIdNames[17032] = 'AddPublishedDataItemsTemplateMethodType_OutputArguments' +ObjectIdNames[17033] = 'AddPublishedEventsTemplateMethodType' +ObjectIdNames[17034] = 'TripAlarmType_OnDelay' +ObjectIdNames[17035] = 'TripAlarmType_OffDelay' +ObjectIdNames[17036] = 'TripAlarmType_FirstInGroupFlag' +ObjectIdNames[17037] = 'TripAlarmType_FirstInGroup' +ObjectIdNames[17038] = 'TripAlarmType_AlarmGroup_Placeholder' +ObjectIdNames[17039] = 'TripAlarmType_ReAlarmTime' +ObjectIdNames[17040] = 'TripAlarmType_ReAlarmRepeatCount' +ObjectIdNames[17041] = 'TripAlarmType_Silence' +ObjectIdNames[17042] = 'TripAlarmType_Suppress' +ObjectIdNames[17043] = 'AddPublishedEventsTemplateMethodType_InputArguments' +ObjectIdNames[17044] = 'CertificateExpirationAlarmType_ConditionSubClassId' +ObjectIdNames[17045] = 'CertificateExpirationAlarmType_ConditionSubClassName' +ObjectIdNames[17046] = 'CertificateExpirationAlarmType_OutOfServiceState' +ObjectIdNames[17047] = 'CertificateExpirationAlarmType_OutOfServiceState_Id' +ObjectIdNames[17048] = 'CertificateExpirationAlarmType_OutOfServiceState_Name' +ObjectIdNames[17049] = 'CertificateExpirationAlarmType_OutOfServiceState_Number' +ObjectIdNames[17050] = 'CertificateExpirationAlarmType_OutOfServiceState_EffectiveDisplayName' +ObjectIdNames[17051] = 'CertificateExpirationAlarmType_OutOfServiceState_TransitionTime' +ObjectIdNames[17052] = 'CertificateExpirationAlarmType_OutOfServiceState_EffectiveTransitionTime' +ObjectIdNames[17053] = 'CertificateExpirationAlarmType_OutOfServiceState_TrueState' +ObjectIdNames[17054] = 'CertificateExpirationAlarmType_OutOfServiceState_FalseState' +ObjectIdNames[17055] = 'CertificateExpirationAlarmType_SilenceState' +ObjectIdNames[17056] = 'CertificateExpirationAlarmType_SilenceState_Id' +ObjectIdNames[17057] = 'CertificateExpirationAlarmType_SilenceState_Name' +ObjectIdNames[17058] = 'CertificateExpirationAlarmType_SilenceState_Number' +ObjectIdNames[17059] = 'CertificateExpirationAlarmType_SilenceState_EffectiveDisplayName' +ObjectIdNames[17060] = 'CertificateExpirationAlarmType_SilenceState_TransitionTime' +ObjectIdNames[17061] = 'CertificateExpirationAlarmType_SilenceState_EffectiveTransitionTime' +ObjectIdNames[17062] = 'CertificateExpirationAlarmType_SilenceState_TrueState' +ObjectIdNames[17063] = 'CertificateExpirationAlarmType_SilenceState_FalseState' +ObjectIdNames[17064] = 'CertificateExpirationAlarmType_AudibleEnabled' +ObjectIdNames[17065] = 'CertificateExpirationAlarmType_AudibleSound' +ObjectIdNames[17066] = 'AddPublishedEventsTemplateMethodType_OutputArguments' +ObjectIdNames[17067] = 'AddDataSetFolderMethodType' +ObjectIdNames[17068] = 'AddDataSetFolderMethodType_InputArguments' +ObjectIdNames[17069] = 'AddDataSetFolderMethodType_OutputArguments' +ObjectIdNames[17070] = 'CertificateExpirationAlarmType_OnDelay' +ObjectIdNames[17071] = 'CertificateExpirationAlarmType_OffDelay' +ObjectIdNames[17072] = 'CertificateExpirationAlarmType_FirstInGroupFlag' +ObjectIdNames[17073] = 'CertificateExpirationAlarmType_FirstInGroup' +ObjectIdNames[17074] = 'CertificateExpirationAlarmType_AlarmGroup_Placeholder' +ObjectIdNames[17075] = 'CertificateExpirationAlarmType_ReAlarmTime' +ObjectIdNames[17076] = 'CertificateExpirationAlarmType_ReAlarmRepeatCount' +ObjectIdNames[17077] = 'CertificateExpirationAlarmType_Silence' +ObjectIdNames[17078] = 'CertificateExpirationAlarmType_Suppress' +ObjectIdNames[17079] = 'RemoveDataSetFolderMethodType' +ObjectIdNames[17080] = 'DiscrepancyAlarmType' +ObjectIdNames[17081] = 'DiscrepancyAlarmType_EventId' +ObjectIdNames[17082] = 'DiscrepancyAlarmType_EventType' +ObjectIdNames[17083] = 'DiscrepancyAlarmType_SourceNode' +ObjectIdNames[17084] = 'DiscrepancyAlarmType_SourceName' +ObjectIdNames[17085] = 'DiscrepancyAlarmType_Time' +ObjectIdNames[17086] = 'DiscrepancyAlarmType_ReceiveTime' +ObjectIdNames[17087] = 'DiscrepancyAlarmType_LocalTime' +ObjectIdNames[17088] = 'DiscrepancyAlarmType_Message' +ObjectIdNames[17089] = 'DiscrepancyAlarmType_Severity' +ObjectIdNames[17090] = 'DiscrepancyAlarmType_ConditionClassId' +ObjectIdNames[17091] = 'DiscrepancyAlarmType_ConditionClassName' +ObjectIdNames[17092] = 'DiscrepancyAlarmType_ConditionSubClassId' +ObjectIdNames[17093] = 'DiscrepancyAlarmType_ConditionSubClassName' +ObjectIdNames[17094] = 'DiscrepancyAlarmType_ConditionName' +ObjectIdNames[17095] = 'DiscrepancyAlarmType_BranchId' +ObjectIdNames[17096] = 'DiscrepancyAlarmType_Retain' +ObjectIdNames[17097] = 'DiscrepancyAlarmType_EnabledState' +ObjectIdNames[17098] = 'DiscrepancyAlarmType_EnabledState_Id' +ObjectIdNames[17099] = 'DiscrepancyAlarmType_EnabledState_Name' +ObjectIdNames[17100] = 'DiscrepancyAlarmType_EnabledState_Number' +ObjectIdNames[17101] = 'DiscrepancyAlarmType_EnabledState_EffectiveDisplayName' +ObjectIdNames[17102] = 'DiscrepancyAlarmType_EnabledState_TransitionTime' +ObjectIdNames[17103] = 'DiscrepancyAlarmType_EnabledState_EffectiveTransitionTime' +ObjectIdNames[17104] = 'DiscrepancyAlarmType_EnabledState_TrueState' +ObjectIdNames[17105] = 'DiscrepancyAlarmType_EnabledState_FalseState' +ObjectIdNames[17106] = 'DiscrepancyAlarmType_Quality' +ObjectIdNames[17107] = 'DiscrepancyAlarmType_Quality_SourceTimestamp' +ObjectIdNames[17108] = 'DiscrepancyAlarmType_LastSeverity' +ObjectIdNames[17109] = 'DiscrepancyAlarmType_LastSeverity_SourceTimestamp' +ObjectIdNames[17110] = 'DiscrepancyAlarmType_Comment' +ObjectIdNames[17111] = 'DiscrepancyAlarmType_Comment_SourceTimestamp' +ObjectIdNames[17112] = 'DiscrepancyAlarmType_ClientUserId' +ObjectIdNames[17113] = 'DiscrepancyAlarmType_Disable' +ObjectIdNames[17114] = 'DiscrepancyAlarmType_Enable' +ObjectIdNames[17115] = 'DiscrepancyAlarmType_AddComment' +ObjectIdNames[17116] = 'DiscrepancyAlarmType_AddComment_InputArguments' +ObjectIdNames[17117] = 'DiscrepancyAlarmType_ConditionRefresh' +ObjectIdNames[17118] = 'DiscrepancyAlarmType_ConditionRefresh_InputArguments' +ObjectIdNames[17119] = 'DiscrepancyAlarmType_ConditionRefresh2' +ObjectIdNames[17120] = 'DiscrepancyAlarmType_ConditionRefresh2_InputArguments' +ObjectIdNames[17121] = 'DiscrepancyAlarmType_AckedState' +ObjectIdNames[17122] = 'DiscrepancyAlarmType_AckedState_Id' +ObjectIdNames[17123] = 'DiscrepancyAlarmType_AckedState_Name' +ObjectIdNames[17124] = 'DiscrepancyAlarmType_AckedState_Number' +ObjectIdNames[17125] = 'DiscrepancyAlarmType_AckedState_EffectiveDisplayName' +ObjectIdNames[17126] = 'DiscrepancyAlarmType_AckedState_TransitionTime' +ObjectIdNames[17127] = 'DiscrepancyAlarmType_AckedState_EffectiveTransitionTime' +ObjectIdNames[17128] = 'DiscrepancyAlarmType_AckedState_TrueState' +ObjectIdNames[17129] = 'DiscrepancyAlarmType_AckedState_FalseState' +ObjectIdNames[17130] = 'DiscrepancyAlarmType_ConfirmedState' +ObjectIdNames[17131] = 'DiscrepancyAlarmType_ConfirmedState_Id' +ObjectIdNames[17132] = 'DiscrepancyAlarmType_ConfirmedState_Name' +ObjectIdNames[17133] = 'DiscrepancyAlarmType_ConfirmedState_Number' +ObjectIdNames[17134] = 'DiscrepancyAlarmType_ConfirmedState_EffectiveDisplayName' +ObjectIdNames[17135] = 'DiscrepancyAlarmType_ConfirmedState_TransitionTime' +ObjectIdNames[17136] = 'DiscrepancyAlarmType_ConfirmedState_EffectiveTransitionTime' +ObjectIdNames[17137] = 'DiscrepancyAlarmType_ConfirmedState_TrueState' +ObjectIdNames[17138] = 'DiscrepancyAlarmType_ConfirmedState_FalseState' +ObjectIdNames[17139] = 'DiscrepancyAlarmType_Acknowledge' +ObjectIdNames[17140] = 'DiscrepancyAlarmType_Acknowledge_InputArguments' +ObjectIdNames[17141] = 'DiscrepancyAlarmType_Confirm' +ObjectIdNames[17142] = 'DiscrepancyAlarmType_Confirm_InputArguments' +ObjectIdNames[17143] = 'DiscrepancyAlarmType_ActiveState' +ObjectIdNames[17144] = 'DiscrepancyAlarmType_ActiveState_Id' +ObjectIdNames[17145] = 'DiscrepancyAlarmType_ActiveState_Name' +ObjectIdNames[17146] = 'DiscrepancyAlarmType_ActiveState_Number' +ObjectIdNames[17147] = 'DiscrepancyAlarmType_ActiveState_EffectiveDisplayName' +ObjectIdNames[17148] = 'DiscrepancyAlarmType_ActiveState_TransitionTime' +ObjectIdNames[17149] = 'DiscrepancyAlarmType_ActiveState_EffectiveTransitionTime' +ObjectIdNames[17150] = 'DiscrepancyAlarmType_ActiveState_TrueState' +ObjectIdNames[17151] = 'DiscrepancyAlarmType_ActiveState_FalseState' +ObjectIdNames[17152] = 'DiscrepancyAlarmType_InputNode' +ObjectIdNames[17153] = 'DiscrepancyAlarmType_SuppressedState' +ObjectIdNames[17154] = 'DiscrepancyAlarmType_SuppressedState_Id' +ObjectIdNames[17155] = 'DiscrepancyAlarmType_SuppressedState_Name' +ObjectIdNames[17156] = 'DiscrepancyAlarmType_SuppressedState_Number' +ObjectIdNames[17157] = 'DiscrepancyAlarmType_SuppressedState_EffectiveDisplayName' +ObjectIdNames[17158] = 'DiscrepancyAlarmType_SuppressedState_TransitionTime' +ObjectIdNames[17159] = 'DiscrepancyAlarmType_SuppressedState_EffectiveTransitionTime' +ObjectIdNames[17160] = 'DiscrepancyAlarmType_SuppressedState_TrueState' +ObjectIdNames[17161] = 'DiscrepancyAlarmType_SuppressedState_FalseState' +ObjectIdNames[17162] = 'DiscrepancyAlarmType_OutOfServiceState' +ObjectIdNames[17163] = 'DiscrepancyAlarmType_OutOfServiceState_Id' +ObjectIdNames[17164] = 'DiscrepancyAlarmType_OutOfServiceState_Name' +ObjectIdNames[17165] = 'DiscrepancyAlarmType_OutOfServiceState_Number' +ObjectIdNames[17166] = 'DiscrepancyAlarmType_OutOfServiceState_EffectiveDisplayName' +ObjectIdNames[17167] = 'DiscrepancyAlarmType_OutOfServiceState_TransitionTime' +ObjectIdNames[17168] = 'DiscrepancyAlarmType_OutOfServiceState_EffectiveTransitionTime' +ObjectIdNames[17169] = 'DiscrepancyAlarmType_OutOfServiceState_TrueState' +ObjectIdNames[17170] = 'DiscrepancyAlarmType_OutOfServiceState_FalseState' +ObjectIdNames[17171] = 'DiscrepancyAlarmType_SilenceState' +ObjectIdNames[17172] = 'DiscrepancyAlarmType_SilenceState_Id' +ObjectIdNames[17173] = 'DiscrepancyAlarmType_SilenceState_Name' +ObjectIdNames[17174] = 'DiscrepancyAlarmType_SilenceState_Number' +ObjectIdNames[17175] = 'DiscrepancyAlarmType_SilenceState_EffectiveDisplayName' +ObjectIdNames[17176] = 'DiscrepancyAlarmType_SilenceState_TransitionTime' +ObjectIdNames[17177] = 'DiscrepancyAlarmType_SilenceState_EffectiveTransitionTime' +ObjectIdNames[17178] = 'DiscrepancyAlarmType_SilenceState_TrueState' +ObjectIdNames[17179] = 'DiscrepancyAlarmType_SilenceState_FalseState' +ObjectIdNames[17180] = 'DiscrepancyAlarmType_ShelvingState' +ObjectIdNames[17181] = 'DiscrepancyAlarmType_ShelvingState_CurrentState' +ObjectIdNames[17182] = 'DiscrepancyAlarmType_ShelvingState_CurrentState_Id' +ObjectIdNames[17183] = 'DiscrepancyAlarmType_ShelvingState_CurrentState_Name' +ObjectIdNames[17184] = 'DiscrepancyAlarmType_ShelvingState_CurrentState_Number' +ObjectIdNames[17185] = 'DiscrepancyAlarmType_ShelvingState_CurrentState_EffectiveDisplayName' +ObjectIdNames[17186] = 'DiscrepancyAlarmType_ShelvingState_LastTransition' +ObjectIdNames[17187] = 'DiscrepancyAlarmType_ShelvingState_LastTransition_Id' +ObjectIdNames[17188] = 'DiscrepancyAlarmType_ShelvingState_LastTransition_Name' +ObjectIdNames[17189] = 'DiscrepancyAlarmType_ShelvingState_LastTransition_Number' +ObjectIdNames[17190] = 'DiscrepancyAlarmType_ShelvingState_LastTransition_TransitionTime' +ObjectIdNames[17191] = 'DiscrepancyAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime' +ObjectIdNames[17192] = 'DiscrepancyAlarmType_ShelvingState_UnshelveTime' +ObjectIdNames[17193] = 'DiscrepancyAlarmType_ShelvingState_Unshelve' +ObjectIdNames[17194] = 'DiscrepancyAlarmType_ShelvingState_OneShotShelve' +ObjectIdNames[17195] = 'DiscrepancyAlarmType_ShelvingState_TimedShelve' +ObjectIdNames[17196] = 'DiscrepancyAlarmType_ShelvingState_TimedShelve_InputArguments' +ObjectIdNames[17197] = 'DiscrepancyAlarmType_SuppressedOrShelved' +ObjectIdNames[17198] = 'DiscrepancyAlarmType_MaxTimeShelved' +ObjectIdNames[17199] = 'DiscrepancyAlarmType_AudibleEnabled' +ObjectIdNames[17200] = 'DiscrepancyAlarmType_AudibleSound' +ObjectIdNames[17201] = 'RemoveDataSetFolderMethodType_InputArguments' +ObjectIdNames[17202] = 'PubSubConnectionType_Address_NetworkInterface' +ObjectIdNames[17203] = 'PubSubConnectionType_TransportSettings' +ObjectIdNames[17204] = 'PubSubConnectionType_WriterGroupName_Placeholder_MaxNetworkMessageSize' +ObjectIdNames[17205] = 'DiscrepancyAlarmType_OnDelay' +ObjectIdNames[17206] = 'DiscrepancyAlarmType_OffDelay' +ObjectIdNames[17207] = 'DiscrepancyAlarmType_FirstInGroupFlag' +ObjectIdNames[17208] = 'DiscrepancyAlarmType_FirstInGroup' +ObjectIdNames[17209] = 'DiscrepancyAlarmType_AlarmGroup_Placeholder' +ObjectIdNames[17210] = 'DiscrepancyAlarmType_ReAlarmTime' +ObjectIdNames[17211] = 'DiscrepancyAlarmType_ReAlarmRepeatCount' +ObjectIdNames[17212] = 'DiscrepancyAlarmType_Silence' +ObjectIdNames[17213] = 'DiscrepancyAlarmType_Suppress' +ObjectIdNames[17214] = 'PubSubConnectionType_WriterGroupName_Placeholder_WriterGroupId' +ObjectIdNames[17215] = 'DiscrepancyAlarmType_TargetValueNode' +ObjectIdNames[17216] = 'DiscrepancyAlarmType_ExpectedTime' +ObjectIdNames[17217] = 'DiscrepancyAlarmType_Tolerance' +ObjectIdNames[17218] = 'SafetyConditionClassType' +ObjectIdNames[17219] = 'HighlyManagedAlarmConditionClassType' +ObjectIdNames[17220] = 'TrainingConditionClassType' +ObjectIdNames[17221] = 'TestingConditionClassType' +ObjectIdNames[17222] = 'AuditConditionCommentEventType_ConditionEventId' +ObjectIdNames[17223] = 'AuditConditionAcknowledgeEventType_ConditionEventId' +ObjectIdNames[17224] = 'AuditConditionConfirmEventType_ConditionEventId' +ObjectIdNames[17225] = 'AuditConditionSuppressEventType' +ObjectIdNames[17226] = 'AuditConditionSuppressEventType_EventId' +ObjectIdNames[17227] = 'AuditConditionSuppressEventType_EventType' +ObjectIdNames[17228] = 'AuditConditionSuppressEventType_SourceNode' +ObjectIdNames[17229] = 'AuditConditionSuppressEventType_SourceName' +ObjectIdNames[17230] = 'AuditConditionSuppressEventType_Time' +ObjectIdNames[17231] = 'AuditConditionSuppressEventType_ReceiveTime' +ObjectIdNames[17232] = 'AuditConditionSuppressEventType_LocalTime' +ObjectIdNames[17233] = 'AuditConditionSuppressEventType_Message' +ObjectIdNames[17234] = 'AuditConditionSuppressEventType_Severity' +ObjectIdNames[17235] = 'AuditConditionSuppressEventType_ActionTimeStamp' +ObjectIdNames[17236] = 'AuditConditionSuppressEventType_Status' +ObjectIdNames[17237] = 'AuditConditionSuppressEventType_ServerId' +ObjectIdNames[17238] = 'AuditConditionSuppressEventType_ClientAuditEntryId' +ObjectIdNames[17239] = 'AuditConditionSuppressEventType_ClientUserId' +ObjectIdNames[17240] = 'AuditConditionSuppressEventType_MethodId' +ObjectIdNames[17241] = 'AuditConditionSuppressEventType_InputArguments' +ObjectIdNames[17242] = 'AuditConditionSilenceEventType' +ObjectIdNames[17243] = 'AuditConditionSilenceEventType_EventId' +ObjectIdNames[17244] = 'AuditConditionSilenceEventType_EventType' +ObjectIdNames[17245] = 'AuditConditionSilenceEventType_SourceNode' +ObjectIdNames[17246] = 'AuditConditionSilenceEventType_SourceName' +ObjectIdNames[17247] = 'AuditConditionSilenceEventType_Time' +ObjectIdNames[17248] = 'AuditConditionSilenceEventType_ReceiveTime' +ObjectIdNames[17249] = 'AuditConditionSilenceEventType_LocalTime' +ObjectIdNames[17250] = 'AuditConditionSilenceEventType_Message' +ObjectIdNames[17251] = 'AuditConditionSilenceEventType_Severity' +ObjectIdNames[17252] = 'AuditConditionSilenceEventType_ActionTimeStamp' +ObjectIdNames[17253] = 'AuditConditionSilenceEventType_Status' +ObjectIdNames[17254] = 'AuditConditionSilenceEventType_ServerId' +ObjectIdNames[17255] = 'AuditConditionSilenceEventType_ClientAuditEntryId' +ObjectIdNames[17256] = 'AuditConditionSilenceEventType_ClientUserId' +ObjectIdNames[17257] = 'AuditConditionSilenceEventType_MethodId' +ObjectIdNames[17258] = 'AuditConditionSilenceEventType_InputArguments' +ObjectIdNames[17259] = 'AuditConditionOutOfServiceEventType' +ObjectIdNames[17260] = 'AuditConditionOutOfServiceEventType_EventId' +ObjectIdNames[17261] = 'AuditConditionOutOfServiceEventType_EventType' +ObjectIdNames[17262] = 'AuditConditionOutOfServiceEventType_SourceNode' +ObjectIdNames[17263] = 'AuditConditionOutOfServiceEventType_SourceName' +ObjectIdNames[17264] = 'AuditConditionOutOfServiceEventType_Time' +ObjectIdNames[17265] = 'AuditConditionOutOfServiceEventType_ReceiveTime' +ObjectIdNames[17266] = 'AuditConditionOutOfServiceEventType_LocalTime' +ObjectIdNames[17267] = 'AuditConditionOutOfServiceEventType_Message' +ObjectIdNames[17268] = 'AuditConditionOutOfServiceEventType_Severity' +ObjectIdNames[17269] = 'AuditConditionOutOfServiceEventType_ActionTimeStamp' +ObjectIdNames[17270] = 'AuditConditionOutOfServiceEventType_Status' +ObjectIdNames[17271] = 'AuditConditionOutOfServiceEventType_ServerId' +ObjectIdNames[17272] = 'AuditConditionOutOfServiceEventType_ClientAuditEntryId' +ObjectIdNames[17273] = 'AuditConditionOutOfServiceEventType_ClientUserId' +ObjectIdNames[17274] = 'AuditConditionOutOfServiceEventType_MethodId' +ObjectIdNames[17275] = 'AuditConditionOutOfServiceEventType_InputArguments' +ObjectIdNames[17276] = 'HasEffectDisable' +ObjectIdNames[17277] = 'AlarmRateVariableType' +ObjectIdNames[17278] = 'AlarmRateVariableType_Rate' +ObjectIdNames[17279] = 'AlarmMetricsType' +ObjectIdNames[17280] = 'AlarmMetricsType_AlarmCount' +ObjectIdNames[17281] = 'AlarmMetricsType_MaximumActiveState' +ObjectIdNames[17282] = 'AlarmMetricsType_MaximumUnAck' +ObjectIdNames[17283] = 'AlarmMetricsType_MaximumReAlarmCount' +ObjectIdNames[17284] = 'AlarmMetricsType_CurrentAlarmRate' +ObjectIdNames[17285] = 'AlarmMetricsType_CurrentAlarmRate_Rate' +ObjectIdNames[17286] = 'AlarmMetricsType_MaximumAlarmRate' +ObjectIdNames[17287] = 'AlarmMetricsType_MaximumAlarmRate_Rate' +ObjectIdNames[17288] = 'AlarmMetricsType_AverageAlarmRate' +ObjectIdNames[17289] = 'AlarmMetricsType_AverageAlarmRate_Rate' +ObjectIdNames[17290] = 'PubSubConnectionType_WriterGroupName_Placeholder_TransportSettings' +ObjectIdNames[17291] = 'PubSubConnectionType_WriterGroupName_Placeholder_MessageSettings' +ObjectIdNames[17292] = 'PublishSubscribeType_ConnectionName_Placeholder_TransportProfileUri' +ObjectIdNames[17293] = 'PubSubConnectionType_WriterGroupName_Placeholder_AddDataSetWriter' +ObjectIdNames[17294] = 'PubSubConnectionType_WriterGroupName_Placeholder_AddDataSetWriter_InputArguments' +ObjectIdNames[17295] = 'PublishSubscribeType_ConnectionName_Placeholder_TransportProfileUri_RestrictToList' +ObjectIdNames[17296] = 'PublishSubscribeType_SetSecurityKeys' +ObjectIdNames[17297] = 'PublishSubscribeType_SetSecurityKeys_InputArguments' +ObjectIdNames[17298] = 'SetSecurityKeysMethodType' +ObjectIdNames[17299] = 'SetSecurityKeysMethodType_InputArguments' +ObjectIdNames[17300] = 'PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_DiagnosticsLevel' +ObjectIdNames[17301] = 'PubSubConnectionType_WriterGroupName_Placeholder_AddDataSetWriter_OutputArguments' +ObjectIdNames[17302] = 'PubSubConnectionType_ReaderGroupName_Placeholder_MaxNetworkMessageSize' +ObjectIdNames[17303] = 'PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_TimeFirstChange' +ObjectIdNames[17304] = 'PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByParent' +ObjectIdNames[17305] = 'PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Active' +ObjectIdNames[17306] = 'PubSubConnectionType_TransportProfileUri' +ObjectIdNames[17307] = 'PubSubConnectionType_ReaderGroupName_Placeholder_TransportSettings' +ObjectIdNames[17308] = 'PubSubConnectionType_ReaderGroupName_Placeholder_MessageSettings' +ObjectIdNames[17309] = 'PubSubConnectionType_TransportProfileUri_RestrictToList' +ObjectIdNames[17310] = 'PubSubConnectionType_WriterGroupName_Placeholder' +ObjectIdNames[17311] = 'PubSubConnectionType_WriterGroupName_Placeholder_SecurityMode' +ObjectIdNames[17312] = 'PubSubConnectionType_WriterGroupName_Placeholder_SecurityGroupId' +ObjectIdNames[17313] = 'PubSubConnectionType_WriterGroupName_Placeholder_SecurityKeyServices' +ObjectIdNames[17314] = 'PubSubConnectionType_WriterGroupName_Placeholder_Status' +ObjectIdNames[17315] = 'PubSubConnectionType_WriterGroupName_Placeholder_Status_State' +ObjectIdNames[17316] = 'PubSubConnectionType_WriterGroupName_Placeholder_Status_Enable' +ObjectIdNames[17317] = 'PubSubConnectionType_WriterGroupName_Placeholder_Status_Disable' +ObjectIdNames[17318] = 'PubSubConnectionType_WriterGroupName_Placeholder_PublishingInterval' +ObjectIdNames[17319] = 'PubSubConnectionType_WriterGroupName_Placeholder_KeepAliveTime' +ObjectIdNames[17320] = 'PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Classification' +ObjectIdNames[17321] = 'PubSubConnectionType_WriterGroupName_Placeholder_Priority' +ObjectIdNames[17322] = 'PubSubConnectionType_WriterGroupName_Placeholder_LocaleIds' +ObjectIdNames[17323] = 'PubSubConnectionType_WriterGroupName_Placeholder_RemoveDataSetWriter' +ObjectIdNames[17324] = 'PubSubConnectionType_WriterGroupName_Placeholder_RemoveDataSetWriter_InputArguments' +ObjectIdNames[17325] = 'PubSubConnectionType_ReaderGroupName_Placeholder' +ObjectIdNames[17326] = 'PubSubConnectionType_ReaderGroupName_Placeholder_SecurityMode' +ObjectIdNames[17327] = 'PubSubConnectionType_ReaderGroupName_Placeholder_SecurityGroupId' +ObjectIdNames[17328] = 'PubSubConnectionType_ReaderGroupName_Placeholder_SecurityKeyServices' +ObjectIdNames[17329] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Status' +ObjectIdNames[17330] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Status_State' +ObjectIdNames[17331] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Status_Enable' +ObjectIdNames[17332] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Status_Disable' +ObjectIdNames[17333] = 'PubSubConnectionType_ReaderGroupName_Placeholder_RemoveDataSetReader' +ObjectIdNames[17334] = 'PubSubConnectionType_ReaderGroupName_Placeholder_RemoveDataSetReader_InputArguments' +ObjectIdNames[17335] = 'PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByParent_DiagnosticsLevel' +ObjectIdNames[17336] = 'PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByParent_TimeFirstChange' +ObjectIdNames[17337] = 'PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalFromError' +ObjectIdNames[17338] = 'PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Active' +ObjectIdNames[17339] = 'PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Classification' +ObjectIdNames[17340] = 'PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalFromError_DiagnosticsLevel' +ObjectIdNames[17341] = 'PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalFromError_TimeFirstChange' +ObjectIdNames[17342] = 'PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StatePausedByParent' +ObjectIdNames[17343] = 'PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StatePausedByParent_Active' +ObjectIdNames[17344] = 'PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StatePausedByParent_Classification' +ObjectIdNames[17345] = 'PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StatePausedByParent_DiagnosticsLevel' +ObjectIdNames[17346] = 'PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StatePausedByParent_TimeFirstChange' +ObjectIdNames[17347] = 'PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateDisabledByMethod' +ObjectIdNames[17348] = 'PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Active' +ObjectIdNames[17349] = 'PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Classification' +ObjectIdNames[17350] = 'PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_DiagnosticsLevel' +ObjectIdNames[17351] = 'PublishSubscribe_ConnectionName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_TimeFirstChange' +ObjectIdNames[17352] = 'PublishSubscribe_ConnectionName_Placeholder_Diagnostics_LiveValues' +ObjectIdNames[17353] = 'PublishSubscribe_ConnectionName_Placeholder_Diagnostics_LiveValues_ResolvedAddress' +ObjectIdNames[17354] = 'PublishSubscribe_ConnectionName_Placeholder_Diagnostics_LiveValues_ResolvedAddress_DiagnosticsLevel' +ObjectIdNames[17355] = 'PubSubConnectionType_ReaderGroupName_Placeholder_AddDataSetReader' +ObjectIdNames[17356] = 'PublishSubscribe_ConnectionName_Placeholder_AddWriterGroup' +ObjectIdNames[17357] = 'PublishSubscribe_ConnectionName_Placeholder_AddWriterGroup_InputArguments' +ObjectIdNames[17358] = 'PublishSubscribe_ConnectionName_Placeholder_AddWriterGroup_OutputArguments' +ObjectIdNames[17359] = 'PublishSubscribe_ConnectionName_Placeholder_AddReaderGroup' +ObjectIdNames[17360] = 'PublishSubscribe_ConnectionName_Placeholder_AddReaderGroup_InputArguments' +ObjectIdNames[17361] = 'PublishSubscribe_ConnectionName_Placeholder_AddReaderGroup_OutputArguments' +ObjectIdNames[17362] = 'PublishSubscribe_ConnectionName_Placeholder_RemoveGroup' +ObjectIdNames[17363] = 'PublishSubscribe_ConnectionName_Placeholder_RemoveGroup_InputArguments' +ObjectIdNames[17364] = 'PublishSubscribe_SetSecurityKeys' +ObjectIdNames[17365] = 'PublishSubscribe_SetSecurityKeys_InputArguments' +ObjectIdNames[17366] = 'PublishSubscribe_AddConnection' +ObjectIdNames[17367] = 'PublishSubscribe_AddConnection_InputArguments' +ObjectIdNames[17368] = 'PublishSubscribe_AddConnection_OutputArguments' +ObjectIdNames[17369] = 'PublishSubscribe_RemoveConnection' +ObjectIdNames[17370] = 'PublishSubscribe_RemoveConnection_InputArguments' +ObjectIdNames[17371] = 'PublishSubscribe_PublishedDataSets' +ObjectIdNames[17372] = 'PublishSubscribe_PublishedDataSets_AddPublishedDataItems' +ObjectIdNames[17373] = 'PublishSubscribe_PublishedDataSets_AddPublishedDataItems_InputArguments' +ObjectIdNames[17374] = 'PublishSubscribe_PublishedDataSets_AddPublishedDataItems_OutputArguments' +ObjectIdNames[17375] = 'PublishSubscribe_PublishedDataSets_AddPublishedEvents' +ObjectIdNames[17376] = 'PublishSubscribe_PublishedDataSets_AddPublishedEvents_InputArguments' +ObjectIdNames[17377] = 'PublishSubscribe_PublishedDataSets_AddPublishedEvents_OutputArguments' +ObjectIdNames[17378] = 'PublishSubscribe_PublishedDataSets_AddPublishedDataItemsTemplate' +ObjectIdNames[17379] = 'PublishSubscribe_PublishedDataSets_AddPublishedDataItemsTemplate_InputArguments' +ObjectIdNames[17380] = 'PublishSubscribe_PublishedDataSets_AddPublishedDataItemsTemplate_OutputArguments' +ObjectIdNames[17381] = 'PublishSubscribe_PublishedDataSets_AddPublishedEventsTemplate' +ObjectIdNames[17382] = 'PublishSubscribe_PublishedDataSets_AddPublishedEventsTemplate_InputArguments' +ObjectIdNames[17383] = 'PublishSubscribe_PublishedDataSets_AddPublishedEventsTemplate_OutputArguments' +ObjectIdNames[17384] = 'PublishSubscribe_PublishedDataSets_RemovePublishedDataSet' +ObjectIdNames[17385] = 'PublishSubscribe_PublishedDataSets_RemovePublishedDataSet_InputArguments' +ObjectIdNames[17386] = 'DataSetReaderType_CreateTargetVariables' +ObjectIdNames[17387] = 'DataSetReaderType_CreateTargetVariables_InputArguments' +ObjectIdNames[17388] = 'DataSetReaderType_CreateTargetVariables_OutputArguments' +ObjectIdNames[17389] = 'DataSetReaderType_CreateDataSetMirror' +ObjectIdNames[17390] = 'DataSetReaderType_CreateDataSetMirror_InputArguments' +ObjectIdNames[17391] = 'DataSetReaderType_CreateDataSetMirror_OutputArguments' +ObjectIdNames[17392] = 'DataSetReaderTypeCreateTargetVariablesMethodType' +ObjectIdNames[17393] = 'DataSetReaderTypeCreateTargetVariablesMethodType_InputArguments' +ObjectIdNames[17394] = 'DataSetReaderTypeCreateTargetVariablesMethodType_OutputArguments' +ObjectIdNames[17395] = 'DataSetReaderTypeCreateDataSetMirrorMethodType' +ObjectIdNames[17396] = 'DataSetReaderTypeCreateDataSetMirrorMethodType_InputArguments' +ObjectIdNames[17397] = 'DataSetReaderTypeCreateDataSetMirrorMethodType_OutputArguments' +ObjectIdNames[17398] = 'PublishSubscribe_PublishedDataSets_AddDataSetFolder' +ObjectIdNames[17399] = 'PubSubConnectionType_ReaderGroupName_Placeholder_AddDataSetReader_InputArguments' +ObjectIdNames[17400] = 'PubSubConnectionType_ReaderGroupName_Placeholder_AddDataSetReader_OutputArguments' +ObjectIdNames[17401] = 'PublishSubscribe_PublishedDataSets_AddDataSetFolder_InputArguments' +ObjectIdNames[17402] = 'PublishSubscribe_PublishedDataSets_AddDataSetFolder_OutputArguments' +ObjectIdNames[17403] = 'PublishSubscribe_PublishedDataSets_RemoveDataSetFolder' +ObjectIdNames[17404] = 'PublishSubscribe_PublishedDataSets_RemoveDataSetFolder_InputArguments' +ObjectIdNames[17405] = 'PublishSubscribe_Status' +ObjectIdNames[17406] = 'PublishSubscribe_Status_State' +ObjectIdNames[17407] = 'PublishSubscribe_Status_Enable' +ObjectIdNames[17408] = 'PublishSubscribe_Status_Disable' +ObjectIdNames[17409] = 'PublishSubscribe_Diagnostics' +ObjectIdNames[17410] = 'PublishSubscribe_Diagnostics_DiagnosticsLevel' +ObjectIdNames[17411] = 'PublishSubscribe_Diagnostics_TotalInformation' +ObjectIdNames[17412] = 'PublishSubscribe_Diagnostics_TotalInformation_Active' +ObjectIdNames[17413] = 'PublishSubscribe_Diagnostics_TotalInformation_Classification' +ObjectIdNames[17414] = 'PublishSubscribe_Diagnostics_TotalInformation_DiagnosticsLevel' +ObjectIdNames[17415] = 'PublishSubscribe_Diagnostics_TotalInformation_TimeFirstChange' +ObjectIdNames[17416] = 'PublishSubscribe_Diagnostics_TotalError' +ObjectIdNames[17417] = 'PublishSubscribe_Diagnostics_TotalError_Active' +ObjectIdNames[17418] = 'PublishSubscribe_Diagnostics_TotalError_Classification' +ObjectIdNames[17419] = 'PublishSubscribe_Diagnostics_TotalError_DiagnosticsLevel' +ObjectIdNames[17420] = 'PublishSubscribe_Diagnostics_TotalError_TimeFirstChange' +ObjectIdNames[17421] = 'PublishSubscribe_Diagnostics_Reset' +ObjectIdNames[17422] = 'PublishSubscribe_Diagnostics_SubError' +ObjectIdNames[17423] = 'PublishSubscribe_Diagnostics_Counters' +ObjectIdNames[17424] = 'PublishSubscribe_Diagnostics_Counters_StateError' +ObjectIdNames[17425] = 'PublishSubscribe_Diagnostics_Counters_StateError_Active' +ObjectIdNames[17426] = 'PublishSubscribe_Diagnostics_Counters_StateError_Classification' +ObjectIdNames[17427] = 'PubSubConnectionType_AddWriterGroup' +ObjectIdNames[17428] = 'PubSubConnectionType_AddWriterGroup_InputArguments' +ObjectIdNames[17429] = 'PublishSubscribe_Diagnostics_Counters_StateError_DiagnosticsLevel' +ObjectIdNames[17430] = 'PublishSubscribe_Diagnostics_Counters_StateError_TimeFirstChange' +ObjectIdNames[17431] = 'PublishSubscribe_Diagnostics_Counters_StateOperationalByMethod' +ObjectIdNames[17432] = 'PublishSubscribe_Diagnostics_Counters_StateOperationalByMethod_Active' +ObjectIdNames[17433] = 'PublishSubscribe_Diagnostics_Counters_StateOperationalByMethod_Classification' +ObjectIdNames[17434] = 'PublishSubscribe_Diagnostics_Counters_StateOperationalByMethod_DiagnosticsLevel' +ObjectIdNames[17435] = 'PublishSubscribe_Diagnostics_Counters_StateOperationalByMethod_TimeFirstChange' +ObjectIdNames[17436] = 'PublishSubscribe_Diagnostics_Counters_StateOperationalByParent' +ObjectIdNames[17437] = 'PublishSubscribe_Diagnostics_Counters_StateOperationalByParent_Active' +ObjectIdNames[17438] = 'PublishSubscribe_Diagnostics_Counters_StateOperationalByParent_Classification' +ObjectIdNames[17439] = 'PublishSubscribe_Diagnostics_Counters_StateOperationalByParent_DiagnosticsLevel' +ObjectIdNames[17440] = 'PublishSubscribe_Diagnostics_Counters_StateOperationalByParent_TimeFirstChange' +ObjectIdNames[17441] = 'PublishSubscribe_Diagnostics_Counters_StateOperationalFromError' +ObjectIdNames[17442] = 'PublishSubscribe_Diagnostics_Counters_StateOperationalFromError_Active' +ObjectIdNames[17443] = 'PublishSubscribe_Diagnostics_Counters_StateOperationalFromError_Classification' +ObjectIdNames[17444] = 'PublishSubscribe_Diagnostics_Counters_StateOperationalFromError_DiagnosticsLevel' +ObjectIdNames[17445] = 'PublishSubscribe_Diagnostics_Counters_StateOperationalFromError_TimeFirstChange' +ObjectIdNames[17446] = 'PublishSubscribe_Diagnostics_Counters_StatePausedByParent' +ObjectIdNames[17447] = 'PublishSubscribe_Diagnostics_Counters_StatePausedByParent_Active' +ObjectIdNames[17448] = 'PublishSubscribe_Diagnostics_Counters_StatePausedByParent_Classification' +ObjectIdNames[17449] = 'PublishSubscribe_Diagnostics_Counters_StatePausedByParent_DiagnosticsLevel' +ObjectIdNames[17450] = 'PublishSubscribe_Diagnostics_Counters_StatePausedByParent_TimeFirstChange' +ObjectIdNames[17451] = 'PublishSubscribe_Diagnostics_Counters_StateDisabledByMethod' +ObjectIdNames[17452] = 'PublishSubscribe_Diagnostics_Counters_StateDisabledByMethod_Active' +ObjectIdNames[17453] = 'PublishSubscribe_Diagnostics_Counters_StateDisabledByMethod_Classification' +ObjectIdNames[17454] = 'PublishSubscribe_Diagnostics_Counters_StateDisabledByMethod_DiagnosticsLevel' +ObjectIdNames[17455] = 'PublishSubscribe_Diagnostics_Counters_StateDisabledByMethod_TimeFirstChange' +ObjectIdNames[17456] = 'PubSubConnectionType_AddWriterGroup_OutputArguments' +ObjectIdNames[17457] = 'PublishSubscribe_Diagnostics_LiveValues' +ObjectIdNames[17458] = 'PublishSubscribe_Diagnostics_LiveValues_ConfiguredDataSetWriters' +ObjectIdNames[17459] = 'PublishSubscribe_Diagnostics_LiveValues_ConfiguredDataSetWriters_DiagnosticsLevel' +ObjectIdNames[17460] = 'PublishSubscribe_Diagnostics_LiveValues_ConfiguredDataSetReaders' +ObjectIdNames[17461] = 'PublishSubscribe_Diagnostics_LiveValues_ConfiguredDataSetReaders_DiagnosticsLevel' +ObjectIdNames[17462] = 'PublishSubscribe_Diagnostics_LiveValues_OperationalDataSetWriters' +ObjectIdNames[17463] = 'PublishSubscribe_Diagnostics_LiveValues_OperationalDataSetWriters_DiagnosticsLevel' +ObjectIdNames[17464] = 'PublishSubscribe_Diagnostics_LiveValues_OperationalDataSetReaders' +ObjectIdNames[17465] = 'PubSubConnectionType_AddReaderGroup' +ObjectIdNames[17466] = 'PublishSubscribe_Diagnostics_LiveValues_OperationalDataSetReaders_DiagnosticsLevel' +ObjectIdNames[17467] = 'DatagramConnectionTransportDataType' +ObjectIdNames[17468] = 'DatagramConnectionTransportDataType_Encoding_DefaultBinary' +ObjectIdNames[17469] = 'OpcUa_BinarySchema_DatagramConnectionTransportDataType' +ObjectIdNames[17470] = 'OpcUa_BinarySchema_DatagramConnectionTransportDataType_DataTypeVersion' +ObjectIdNames[17471] = 'OpcUa_BinarySchema_DatagramConnectionTransportDataType_DictionaryFragment' +ObjectIdNames[17472] = 'DatagramConnectionTransportDataType_Encoding_DefaultXml' +ObjectIdNames[17473] = 'OpcUa_XmlSchema_DatagramConnectionTransportDataType' +ObjectIdNames[17474] = 'OpcUa_XmlSchema_DatagramConnectionTransportDataType_DataTypeVersion' +ObjectIdNames[17475] = 'OpcUa_XmlSchema_DatagramConnectionTransportDataType_DictionaryFragment' +ObjectIdNames[17476] = 'DatagramConnectionTransportDataType_Encoding_DefaultJson' +ObjectIdNames[17477] = 'UadpDataSetReaderMessageType_DataSetOffset' +ObjectIdNames[17478] = 'PublishSubscribeType_ConnectionName_Placeholder_ConnectionProperties' +ObjectIdNames[17479] = 'PublishSubscribeType_SupportedTransportProfiles' +ObjectIdNames[17480] = 'PublishSubscribe_ConnectionName_Placeholder_ConnectionProperties' +ObjectIdNames[17481] = 'PublishSubscribe_SupportedTransportProfiles' +ObjectIdNames[17482] = 'PublishedDataSetType_DataSetWriterName_Placeholder_DataSetWriterProperties' +ObjectIdNames[17483] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_DataSetWriterProperties' +ObjectIdNames[17484] = 'PublishedEventsType_DataSetWriterName_Placeholder_DataSetWriterProperties' +ObjectIdNames[17485] = 'PubSubConnectionType_ConnectionProperties' +ObjectIdNames[17486] = 'PubSubConnectionType_WriterGroupName_Placeholder_GroupProperties' +ObjectIdNames[17487] = 'PubSubConnectionType_ReaderGroupName_Placeholder_GroupProperties' +ObjectIdNames[17488] = 'PubSubGroupType_GroupProperties' +ObjectIdNames[17489] = 'WriterGroupType_GroupProperties' +ObjectIdNames[17490] = 'WriterGroupType_DataSetWriterName_Placeholder_DataSetWriterProperties' +ObjectIdNames[17491] = 'ReaderGroupType_GroupProperties' +ObjectIdNames[17492] = 'ReaderGroupType_DataSetReaderName_Placeholder_DataSetReaderProperties' +ObjectIdNames[17493] = 'DataSetWriterType_DataSetWriterProperties' +ObjectIdNames[17494] = 'DataSetReaderType_DataSetReaderProperties' +ObjectIdNames[17507] = 'PubSubConnectionType_AddReaderGroup_InputArguments' +ObjectIdNames[17508] = 'PubSubConnectionType_AddReaderGroup_OutputArguments' +ObjectIdNames[17561] = 'PubSubConnectionTypeAddWriterGroupMethodType' +ObjectIdNames[17606] = 'GenericAttributeValue' +ObjectIdNames[17607] = 'GenericAttributes' +ObjectIdNames[17608] = 'GenericAttributeValue_Encoding_DefaultXml' +ObjectIdNames[17609] = 'GenericAttributes_Encoding_DefaultXml' +ObjectIdNames[17610] = 'GenericAttributeValue_Encoding_DefaultBinary' +ObjectIdNames[17611] = 'GenericAttributes_Encoding_DefaultBinary' +ObjectIdNames[17612] = 'ServerType_LocalTime' +ObjectIdNames[17613] = 'PubSubConnectionTypeAddWriterGroupMethodType_InputArguments' +ObjectIdNames[17614] = 'PubSubConnectionTypeAddWriterGroupMethodType_OutputArguments' +ObjectIdNames[17615] = 'AuditSecurityEventType_StatusCodeId' +ObjectIdNames[17616] = 'AuditChannelEventType_StatusCodeId' +ObjectIdNames[17617] = 'AuditOpenSecureChannelEventType_StatusCodeId' +ObjectIdNames[17618] = 'AuditSessionEventType_StatusCodeId' +ObjectIdNames[17619] = 'AuditCreateSessionEventType_StatusCodeId' +ObjectIdNames[17620] = 'AuditUrlMismatchEventType_StatusCodeId' +ObjectIdNames[17621] = 'AuditActivateSessionEventType_StatusCodeId' +ObjectIdNames[17622] = 'AuditCancelEventType_StatusCodeId' +ObjectIdNames[17623] = 'AuditCertificateEventType_StatusCodeId' +ObjectIdNames[17624] = 'AuditCertificateDataMismatchEventType_StatusCodeId' +ObjectIdNames[17625] = 'AuditCertificateExpiredEventType_StatusCodeId' +ObjectIdNames[17626] = 'AuditCertificateInvalidEventType_StatusCodeId' +ObjectIdNames[17627] = 'AuditCertificateUntrustedEventType_StatusCodeId' +ObjectIdNames[17628] = 'AuditCertificateRevokedEventType_StatusCodeId' +ObjectIdNames[17629] = 'AuditCertificateMismatchEventType_StatusCodeId' +ObjectIdNames[17630] = 'PubSubConnectionAddReaderGroupGroupMethodType' +ObjectIdNames[17631] = 'PubSubConnectionAddReaderGroupGroupMethodType_InputArguments' +ObjectIdNames[17632] = 'SelectionListType_Selections' +ObjectIdNames[17633] = 'SelectionListType_SelectionDescriptions' +ObjectIdNames[17634] = 'Server_LocalTime' +ObjectIdNames[17635] = 'FiniteStateMachineType_AvailableStates' +ObjectIdNames[17636] = 'FiniteStateMachineType_AvailableTransitions' +ObjectIdNames[17637] = 'TemporaryFileTransferType_TransferState_Placeholder_AvailableStates' +ObjectIdNames[17638] = 'TemporaryFileTransferType_TransferState_Placeholder_AvailableTransitions' +ObjectIdNames[17639] = 'FileTransferStateMachineType_AvailableStates' +ObjectIdNames[17640] = 'FileTransferStateMachineType_AvailableTransitions' +ObjectIdNames[17641] = 'RoleMappingRuleChangedAuditEventType' +ObjectIdNames[17642] = 'RoleMappingRuleChangedAuditEventType_EventId' +ObjectIdNames[17643] = 'RoleMappingRuleChangedAuditEventType_EventType' +ObjectIdNames[17644] = 'RoleMappingRuleChangedAuditEventType_SourceNode' +ObjectIdNames[17645] = 'RoleMappingRuleChangedAuditEventType_SourceName' +ObjectIdNames[17646] = 'RoleMappingRuleChangedAuditEventType_Time' +ObjectIdNames[17647] = 'RoleMappingRuleChangedAuditEventType_ReceiveTime' +ObjectIdNames[17648] = 'RoleMappingRuleChangedAuditEventType_LocalTime' +ObjectIdNames[17649] = 'RoleMappingRuleChangedAuditEventType_Message' +ObjectIdNames[17650] = 'RoleMappingRuleChangedAuditEventType_Severity' +ObjectIdNames[17651] = 'RoleMappingRuleChangedAuditEventType_ActionTimeStamp' +ObjectIdNames[17652] = 'RoleMappingRuleChangedAuditEventType_Status' +ObjectIdNames[17653] = 'RoleMappingRuleChangedAuditEventType_ServerId' +ObjectIdNames[17654] = 'RoleMappingRuleChangedAuditEventType_ClientAuditEntryId' +ObjectIdNames[17655] = 'RoleMappingRuleChangedAuditEventType_ClientUserId' +ObjectIdNames[17656] = 'RoleMappingRuleChangedAuditEventType_MethodId' +ObjectIdNames[17657] = 'RoleMappingRuleChangedAuditEventType_InputArguments' +ObjectIdNames[17658] = 'AlarmConditionType_ShelvingState_AvailableStates' +ObjectIdNames[17659] = 'AlarmConditionType_ShelvingState_AvailableTransitions' +ObjectIdNames[17660] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_AvailableStates' +ObjectIdNames[17661] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_ShelvingState_AvailableTransitions' +ObjectIdNames[17662] = 'ShelvedStateMachineType_AvailableStates' +ObjectIdNames[17663] = 'ShelvedStateMachineType_AvailableTransitions' +ObjectIdNames[17664] = 'LimitAlarmType_ShelvingState_AvailableStates' +ObjectIdNames[17665] = 'LimitAlarmType_ShelvingState_AvailableTransitions' +ObjectIdNames[17666] = 'ExclusiveLimitStateMachineType_AvailableStates' +ObjectIdNames[17667] = 'ExclusiveLimitStateMachineType_AvailableTransitions' +ObjectIdNames[17668] = 'ExclusiveLimitAlarmType_ShelvingState_AvailableStates' +ObjectIdNames[17669] = 'ExclusiveLimitAlarmType_ShelvingState_AvailableTransitions' +ObjectIdNames[17670] = 'ExclusiveLimitAlarmType_LimitState_AvailableStates' +ObjectIdNames[17671] = 'ExclusiveLimitAlarmType_LimitState_AvailableTransitions' +ObjectIdNames[17672] = 'NonExclusiveLimitAlarmType_ShelvingState_AvailableStates' +ObjectIdNames[17673] = 'NonExclusiveLimitAlarmType_ShelvingState_AvailableTransitions' +ObjectIdNames[17674] = 'NonExclusiveLevelAlarmType_ShelvingState_AvailableStates' +ObjectIdNames[17675] = 'NonExclusiveLevelAlarmType_ShelvingState_AvailableTransitions' +ObjectIdNames[17676] = 'ExclusiveLevelAlarmType_ShelvingState_AvailableStates' +ObjectIdNames[17677] = 'ExclusiveLevelAlarmType_ShelvingState_AvailableTransitions' +ObjectIdNames[17678] = 'ExclusiveLevelAlarmType_LimitState_AvailableStates' +ObjectIdNames[17679] = 'ExclusiveLevelAlarmType_LimitState_AvailableTransitions' +ObjectIdNames[17680] = 'NonExclusiveDeviationAlarmType_ShelvingState_AvailableStates' +ObjectIdNames[17681] = 'NonExclusiveDeviationAlarmType_ShelvingState_AvailableTransitions' +ObjectIdNames[17682] = 'ExclusiveDeviationAlarmType_ShelvingState_AvailableStates' +ObjectIdNames[17683] = 'ExclusiveDeviationAlarmType_ShelvingState_AvailableTransitions' +ObjectIdNames[17684] = 'ExclusiveDeviationAlarmType_LimitState_AvailableStates' +ObjectIdNames[17685] = 'ExclusiveDeviationAlarmType_LimitState_AvailableTransitions' +ObjectIdNames[17686] = 'NonExclusiveRateOfChangeAlarmType_ShelvingState_AvailableStates' +ObjectIdNames[17687] = 'NonExclusiveRateOfChangeAlarmType_ShelvingState_AvailableTransitions' +ObjectIdNames[17688] = 'ExclusiveRateOfChangeAlarmType_ShelvingState_AvailableStates' +ObjectIdNames[17689] = 'ExclusiveRateOfChangeAlarmType_ShelvingState_AvailableTransitions' +ObjectIdNames[17690] = 'ExclusiveRateOfChangeAlarmType_LimitState_AvailableStates' +ObjectIdNames[17691] = 'ExclusiveRateOfChangeAlarmType_LimitState_AvailableTransitions' +ObjectIdNames[17692] = 'DiscreteAlarmType_ShelvingState_AvailableStates' +ObjectIdNames[17693] = 'DiscreteAlarmType_ShelvingState_AvailableTransitions' +ObjectIdNames[17694] = 'OffNormalAlarmType_ShelvingState_AvailableStates' +ObjectIdNames[17695] = 'OffNormalAlarmType_ShelvingState_AvailableTransitions' +ObjectIdNames[17696] = 'SystemOffNormalAlarmType_ShelvingState_AvailableStates' +ObjectIdNames[17697] = 'SystemOffNormalAlarmType_ShelvingState_AvailableTransitions' +ObjectIdNames[17698] = 'TripAlarmType_ShelvingState_AvailableStates' +ObjectIdNames[17699] = 'TripAlarmType_ShelvingState_AvailableTransitions' +ObjectIdNames[17700] = 'CertificateExpirationAlarmType_ShelvingState_AvailableStates' +ObjectIdNames[17701] = 'CertificateExpirationAlarmType_ShelvingState_AvailableTransitions' +ObjectIdNames[17702] = 'DiscrepancyAlarmType_ShelvingState_AvailableStates' +ObjectIdNames[17703] = 'DiscrepancyAlarmType_ShelvingState_AvailableTransitions' +ObjectIdNames[17704] = 'ProgramStateMachineType_AvailableStates' +ObjectIdNames[17705] = 'ProgramStateMachineType_AvailableTransitions' +ObjectIdNames[17706] = 'PublishSubscribeType_ConnectionName_Placeholder_TransportProfileUri_Selections' +ObjectIdNames[17707] = 'PublishSubscribeType_ConnectionName_Placeholder_TransportProfileUri_SelectionDescriptions' +ObjectIdNames[17710] = 'PubSubConnectionType_TransportProfileUri_Selections' +ObjectIdNames[17711] = 'PubSubConnectionType_TransportProfileUri_SelectionDescriptions' +ObjectIdNames[17718] = 'FileDirectoryType_FileDirectoryName_Placeholder_DeleteFileSystemObject' +ObjectIdNames[17719] = 'FileDirectoryType_FileDirectoryName_Placeholder_DeleteFileSystemObject_InputArguments' +ObjectIdNames[17720] = 'PubSubConnectionAddReaderGroupGroupMethodType_OutputArguments' +ObjectIdNames[17721] = 'ConnectionTransportType' +ObjectIdNames[17722] = 'FileSystem_FileDirectoryName_Placeholder_DeleteFileSystemObject' +ObjectIdNames[17723] = 'FileSystem_FileDirectoryName_Placeholder_DeleteFileSystemObject_InputArguments' +ObjectIdNames[17724] = 'PubSubGroupType_MaxNetworkMessageSize' +ObjectIdNames[17725] = 'WriterGroupType' +ObjectIdNames[17726] = 'WriterGroupType_SecurityMode' +ObjectIdNames[17727] = 'WriterGroupType_SecurityGroupId' +ObjectIdNames[17728] = 'WriterGroupType_SecurityKeyServices' +ObjectIdNames[17729] = 'WriterGroupType_MaxNetworkMessageSize' +ObjectIdNames[17730] = 'WriterGroupType_Status' +ObjectIdNames[17731] = 'WriterGroupType_Status_State' +ObjectIdNames[17732] = 'AuthorizationServices' +ObjectIdNames[17733] = 'AuthorizationServices_ServiceName_Placeholder' +ObjectIdNames[17734] = 'WriterGroupType_Status_Enable' +ObjectIdNames[17735] = 'WriterGroupType_Status_Disable' +ObjectIdNames[17736] = 'WriterGroupType_WriterGroupId' +ObjectIdNames[17737] = 'WriterGroupType_PublishingInterval' +ObjectIdNames[17738] = 'WriterGroupType_KeepAliveTime' +ObjectIdNames[17739] = 'WriterGroupType_Priority' +ObjectIdNames[17740] = 'WriterGroupType_LocaleIds' +ObjectIdNames[17741] = 'WriterGroupType_TransportSettings' +ObjectIdNames[17742] = 'WriterGroupType_MessageSettings' +ObjectIdNames[17743] = 'WriterGroupType_DataSetWriterName_Placeholder' +ObjectIdNames[17744] = 'WriterGroupType_DataSetWriterName_Placeholder_DataSetWriterId' +ObjectIdNames[17745] = 'WriterGroupType_DataSetWriterName_Placeholder_DataSetFieldContentMask' +ObjectIdNames[17746] = 'WriterGroupType_DataSetWriterName_Placeholder_KeyFrameCount' +ObjectIdNames[17747] = 'WriterGroupType_DataSetWriterName_Placeholder_TransportSettings' +ObjectIdNames[17748] = 'WriterGroupType_DataSetWriterName_Placeholder_MessageSettings' +ObjectIdNames[17749] = 'WriterGroupType_DataSetWriterName_Placeholder_Status' +ObjectIdNames[17750] = 'WriterGroupType_DataSetWriterName_Placeholder_Status_State' +ObjectIdNames[17751] = 'WriterGroupType_DataSetWriterName_Placeholder_Status_Enable' +ObjectIdNames[17752] = 'WriterGroupType_DataSetWriterName_Placeholder_Status_Disable' +ObjectIdNames[17753] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics' +ObjectIdNames[17754] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_DiagnosticsLevel' +ObjectIdNames[17755] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation' +ObjectIdNames[17756] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation_Active' +ObjectIdNames[17757] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation_Classification' +ObjectIdNames[17758] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation_DiagnosticsLevel' +ObjectIdNames[17759] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation_TimeFirstChange' +ObjectIdNames[17760] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_TotalError' +ObjectIdNames[17761] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_TotalError_Active' +ObjectIdNames[17762] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_TotalError_Classification' +ObjectIdNames[17763] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_TotalError_DiagnosticsLevel' +ObjectIdNames[17764] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_TotalError_TimeFirstChange' +ObjectIdNames[17765] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Reset' +ObjectIdNames[17766] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_SubError' +ObjectIdNames[17767] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters' +ObjectIdNames[17768] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError' +ObjectIdNames[17769] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError_Active' +ObjectIdNames[17770] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError_Classification' +ObjectIdNames[17771] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError_DiagnosticsLevel' +ObjectIdNames[17772] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError_TimeFirstChange' +ObjectIdNames[17773] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod' +ObjectIdNames[17774] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Active' +ObjectIdNames[17775] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Classification' +ObjectIdNames[17776] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_DiagnosticsLevel' +ObjectIdNames[17777] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_TimeFirstChange' +ObjectIdNames[17778] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent' +ObjectIdNames[17779] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Active' +ObjectIdNames[17780] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Classification' +ObjectIdNames[17781] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent_DiagnosticsLevel' +ObjectIdNames[17782] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent_TimeFirstChange' +ObjectIdNames[17783] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError' +ObjectIdNames[17784] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Active' +ObjectIdNames[17785] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Classification' +ObjectIdNames[17786] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError_DiagnosticsLevel' +ObjectIdNames[17787] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError_TimeFirstChange' +ObjectIdNames[17788] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent' +ObjectIdNames[17789] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent_Active' +ObjectIdNames[17790] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent_Classification' +ObjectIdNames[17791] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent_DiagnosticsLevel' +ObjectIdNames[17792] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent_TimeFirstChange' +ObjectIdNames[17793] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod' +ObjectIdNames[17794] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Active' +ObjectIdNames[17795] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Classification' +ObjectIdNames[17796] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_DiagnosticsLevel' +ObjectIdNames[17797] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_TimeFirstChange' +ObjectIdNames[17798] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_LiveValues' +ObjectIdNames[17799] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages' +ObjectIdNames[17800] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_Active' +ObjectIdNames[17801] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_Classification' +ObjectIdNames[17802] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_DiagnosticsLevel' +ObjectIdNames[17803] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_TimeFirstChange' +ObjectIdNames[17804] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MessageSequenceNumber' +ObjectIdNames[17805] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MessageSequenceNumber_DiagnosticsLevel' +ObjectIdNames[17806] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_StatusCode' +ObjectIdNames[17807] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_StatusCode_DiagnosticsLevel' +ObjectIdNames[17808] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MajorVersion' +ObjectIdNames[17809] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MajorVersion_DiagnosticsLevel' +ObjectIdNames[17810] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MinorVersion' +ObjectIdNames[17811] = 'WriterGroupType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MinorVersion_DiagnosticsLevel' +ObjectIdNames[17812] = 'WriterGroupType_Diagnostics' +ObjectIdNames[17813] = 'WriterGroupType_Diagnostics_DiagnosticsLevel' +ObjectIdNames[17814] = 'WriterGroupType_Diagnostics_TotalInformation' +ObjectIdNames[17815] = 'WriterGroupType_Diagnostics_TotalInformation_Active' +ObjectIdNames[17816] = 'WriterGroupType_Diagnostics_TotalInformation_Classification' +ObjectIdNames[17817] = 'WriterGroupType_Diagnostics_TotalInformation_DiagnosticsLevel' +ObjectIdNames[17818] = 'WriterGroupType_Diagnostics_TotalInformation_TimeFirstChange' +ObjectIdNames[17819] = 'WriterGroupType_Diagnostics_TotalError' +ObjectIdNames[17820] = 'WriterGroupType_Diagnostics_TotalError_Active' +ObjectIdNames[17821] = 'WriterGroupType_Diagnostics_TotalError_Classification' +ObjectIdNames[17822] = 'WriterGroupType_Diagnostics_TotalError_DiagnosticsLevel' +ObjectIdNames[17823] = 'WriterGroupType_Diagnostics_TotalError_TimeFirstChange' +ObjectIdNames[17824] = 'WriterGroupType_Diagnostics_Reset' +ObjectIdNames[17825] = 'WriterGroupType_Diagnostics_SubError' +ObjectIdNames[17826] = 'WriterGroupType_Diagnostics_Counters' +ObjectIdNames[17827] = 'WriterGroupType_Diagnostics_Counters_StateError' +ObjectIdNames[17828] = 'WriterGroupType_Diagnostics_Counters_StateError_Active' +ObjectIdNames[17829] = 'WriterGroupType_Diagnostics_Counters_StateError_Classification' +ObjectIdNames[17830] = 'WriterGroupType_Diagnostics_Counters_StateError_DiagnosticsLevel' +ObjectIdNames[17831] = 'WriterGroupType_Diagnostics_Counters_StateError_TimeFirstChange' +ObjectIdNames[17832] = 'WriterGroupType_Diagnostics_Counters_StateOperationalByMethod' +ObjectIdNames[17833] = 'WriterGroupType_Diagnostics_Counters_StateOperationalByMethod_Active' +ObjectIdNames[17834] = 'WriterGroupType_Diagnostics_Counters_StateOperationalByMethod_Classification' +ObjectIdNames[17835] = 'WriterGroupType_Diagnostics_Counters_StateOperationalByMethod_DiagnosticsLevel' +ObjectIdNames[17836] = 'WriterGroupType_Diagnostics_Counters_StateOperationalByMethod_TimeFirstChange' +ObjectIdNames[17837] = 'WriterGroupType_Diagnostics_Counters_StateOperationalByParent' +ObjectIdNames[17838] = 'WriterGroupType_Diagnostics_Counters_StateOperationalByParent_Active' +ObjectIdNames[17839] = 'WriterGroupType_Diagnostics_Counters_StateOperationalByParent_Classification' +ObjectIdNames[17840] = 'WriterGroupType_Diagnostics_Counters_StateOperationalByParent_DiagnosticsLevel' +ObjectIdNames[17841] = 'WriterGroupType_Diagnostics_Counters_StateOperationalByParent_TimeFirstChange' +ObjectIdNames[17842] = 'WriterGroupType_Diagnostics_Counters_StateOperationalFromError' +ObjectIdNames[17843] = 'WriterGroupType_Diagnostics_Counters_StateOperationalFromError_Active' +ObjectIdNames[17844] = 'WriterGroupType_Diagnostics_Counters_StateOperationalFromError_Classification' +ObjectIdNames[17845] = 'WriterGroupType_Diagnostics_Counters_StateOperationalFromError_DiagnosticsLevel' +ObjectIdNames[17846] = 'WriterGroupType_Diagnostics_Counters_StateOperationalFromError_TimeFirstChange' +ObjectIdNames[17847] = 'WriterGroupType_Diagnostics_Counters_StatePausedByParent' +ObjectIdNames[17848] = 'WriterGroupType_Diagnostics_Counters_StatePausedByParent_Active' +ObjectIdNames[17849] = 'WriterGroupType_Diagnostics_Counters_StatePausedByParent_Classification' +ObjectIdNames[17850] = 'WriterGroupType_Diagnostics_Counters_StatePausedByParent_DiagnosticsLevel' +ObjectIdNames[17851] = 'WriterGroupType_Diagnostics_Counters_StatePausedByParent_TimeFirstChange' +ObjectIdNames[17852] = 'AuthorizationServiceConfigurationType' +ObjectIdNames[17853] = 'WriterGroupType_Diagnostics_Counters_StateDisabledByMethod' +ObjectIdNames[17854] = 'WriterGroupType_Diagnostics_Counters_StateDisabledByMethod_Active' +ObjectIdNames[17855] = 'WriterGroupType_Diagnostics_Counters_StateDisabledByMethod_Classification' +ObjectIdNames[17856] = 'WriterGroupType_Diagnostics_Counters_StateDisabledByMethod_DiagnosticsLevel' +ObjectIdNames[17857] = 'WriterGroupType_Diagnostics_Counters_StateDisabledByMethod_TimeFirstChange' +ObjectIdNames[17858] = 'WriterGroupType_Diagnostics_LiveValues' +ObjectIdNames[17859] = 'WriterGroupType_Diagnostics_Counters_SentNetworkMessages' +ObjectIdNames[17860] = 'AuthorizationServiceConfigurationType_ServiceCertificate' +ObjectIdNames[17861] = 'DecimalDataType' +ObjectIdNames[17862] = 'DecimalDataType_Encoding_DefaultXml' +ObjectIdNames[17863] = 'DecimalDataType_Encoding_DefaultBinary' +ObjectIdNames[17864] = 'WriterGroupType_Diagnostics_Counters_SentNetworkMessages_Active' +ObjectIdNames[17865] = 'AlarmConditionType_AudibleSound_ListId' +ObjectIdNames[17866] = 'AlarmConditionType_AudibleSound_AgencyId' +ObjectIdNames[17867] = 'AlarmConditionType_AudibleSound_VersionId' +ObjectIdNames[17868] = 'AlarmConditionType_Unsuppress' +ObjectIdNames[17869] = 'AlarmConditionType_RemoveFromService' +ObjectIdNames[17870] = 'AlarmConditionType_PlaceInService' +ObjectIdNames[17871] = 'WriterGroupType_Diagnostics_Counters_SentNetworkMessages_Classification' +ObjectIdNames[17872] = 'WriterGroupType_Diagnostics_Counters_SentNetworkMessages_DiagnosticsLevel' +ObjectIdNames[17873] = 'WriterGroupType_Diagnostics_Counters_SentNetworkMessages_TimeFirstChange' +ObjectIdNames[17874] = 'WriterGroupType_Diagnostics_Counters_FailedTransmissions' +ObjectIdNames[17875] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_Unsuppress' +ObjectIdNames[17876] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_RemoveFromService' +ObjectIdNames[17877] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_PlaceInService' +ObjectIdNames[17878] = 'WriterGroupType_Diagnostics_Counters_FailedTransmissions_Active' +ObjectIdNames[17879] = 'LimitAlarmType_AudibleSound_ListId' +ObjectIdNames[17880] = 'LimitAlarmType_AudibleSound_AgencyId' +ObjectIdNames[17881] = 'LimitAlarmType_AudibleSound_VersionId' +ObjectIdNames[17882] = 'LimitAlarmType_Unsuppress' +ObjectIdNames[17883] = 'LimitAlarmType_RemoveFromService' +ObjectIdNames[17884] = 'LimitAlarmType_PlaceInService' +ObjectIdNames[17885] = 'WriterGroupType_Diagnostics_Counters_FailedTransmissions_Classification' +ObjectIdNames[17886] = 'ExclusiveLimitAlarmType_AudibleSound_ListId' +ObjectIdNames[17887] = 'ExclusiveLimitAlarmType_AudibleSound_AgencyId' +ObjectIdNames[17888] = 'ExclusiveLimitAlarmType_AudibleSound_VersionId' +ObjectIdNames[17889] = 'ExclusiveLimitAlarmType_Unsuppress' +ObjectIdNames[17890] = 'ExclusiveLimitAlarmType_RemoveFromService' +ObjectIdNames[17891] = 'ExclusiveLimitAlarmType_PlaceInService' +ObjectIdNames[17892] = 'WriterGroupType_Diagnostics_Counters_FailedTransmissions_DiagnosticsLevel' +ObjectIdNames[17893] = 'NonExclusiveLimitAlarmType_AudibleSound_ListId' +ObjectIdNames[17894] = 'NonExclusiveLimitAlarmType_AudibleSound_AgencyId' +ObjectIdNames[17895] = 'NonExclusiveLimitAlarmType_AudibleSound_VersionId' +ObjectIdNames[17896] = 'NonExclusiveLimitAlarmType_Unsuppress' +ObjectIdNames[17897] = 'NonExclusiveLimitAlarmType_RemoveFromService' +ObjectIdNames[17898] = 'NonExclusiveLimitAlarmType_PlaceInService' +ObjectIdNames[17899] = 'WriterGroupType_Diagnostics_Counters_FailedTransmissions_TimeFirstChange' +ObjectIdNames[17900] = 'WriterGroupType_Diagnostics_Counters_EncryptionErrors' +ObjectIdNames[17901] = 'WriterGroupType_Diagnostics_Counters_EncryptionErrors_Active' +ObjectIdNames[17902] = 'WriterGroupType_Diagnostics_Counters_EncryptionErrors_Classification' +ObjectIdNames[17903] = 'WriterGroupType_Diagnostics_Counters_EncryptionErrors_DiagnosticsLevel' +ObjectIdNames[17904] = 'NonExclusiveLevelAlarmType_RemoveFromService' +ObjectIdNames[17905] = 'NonExclusiveLevelAlarmType_PlaceInService' +ObjectIdNames[17906] = 'WriterGroupType_Diagnostics_Counters_EncryptionErrors_TimeFirstChange' +ObjectIdNames[17907] = 'ExclusiveLevelAlarmType_AudibleSound_ListId' +ObjectIdNames[17908] = 'ExclusiveLevelAlarmType_AudibleSound_AgencyId' +ObjectIdNames[17909] = 'ExclusiveLevelAlarmType_AudibleSound_VersionId' +ObjectIdNames[17910] = 'ExclusiveLevelAlarmType_Unsuppress' +ObjectIdNames[17911] = 'ExclusiveLevelAlarmType_RemoveFromService' +ObjectIdNames[17912] = 'ExclusiveLevelAlarmType_PlaceInService' +ObjectIdNames[17913] = 'WriterGroupType_Diagnostics_LiveValues_ConfiguredDataSetWriters' +ObjectIdNames[17914] = 'NonExclusiveDeviationAlarmType_AudibleSound_ListId' +ObjectIdNames[17915] = 'NonExclusiveDeviationAlarmType_AudibleSound_AgencyId' +ObjectIdNames[17916] = 'NonExclusiveDeviationAlarmType_AudibleSound_VersionId' +ObjectIdNames[17917] = 'NonExclusiveDeviationAlarmType_Unsuppress' +ObjectIdNames[17918] = 'NonExclusiveDeviationAlarmType_RemoveFromService' +ObjectIdNames[17919] = 'NonExclusiveDeviationAlarmType_PlaceInService' +ObjectIdNames[17920] = 'WriterGroupType_Diagnostics_LiveValues_ConfiguredDataSetWriters_DiagnosticsLevel' +ObjectIdNames[17921] = 'NonExclusiveRateOfChangeAlarmType_AudibleSound_ListId' +ObjectIdNames[17922] = 'NonExclusiveRateOfChangeAlarmType_AudibleSound_AgencyId' +ObjectIdNames[17923] = 'NonExclusiveRateOfChangeAlarmType_AudibleSound_VersionId' +ObjectIdNames[17924] = 'NonExclusiveRateOfChangeAlarmType_Unsuppress' +ObjectIdNames[17925] = 'NonExclusiveRateOfChangeAlarmType_RemoveFromService' +ObjectIdNames[17926] = 'NonExclusiveRateOfChangeAlarmType_PlaceInService' +ObjectIdNames[17927] = 'WriterGroupType_Diagnostics_LiveValues_OperationalDataSetWriters' +ObjectIdNames[17928] = 'ExclusiveDeviationAlarmType_AudibleSound_ListId' +ObjectIdNames[17929] = 'ExclusiveDeviationAlarmType_AudibleSound_AgencyId' +ObjectIdNames[17930] = 'ExclusiveDeviationAlarmType_AudibleSound_VersionId' +ObjectIdNames[17931] = 'ExclusiveDeviationAlarmType_Unsuppress' +ObjectIdNames[17932] = 'ExclusiveDeviationAlarmType_RemoveFromService' +ObjectIdNames[17933] = 'ExclusiveDeviationAlarmType_PlaceInService' +ObjectIdNames[17934] = 'WriterGroupType_Diagnostics_LiveValues_OperationalDataSetWriters_DiagnosticsLevel' +ObjectIdNames[17935] = 'ExclusiveRateOfChangeAlarmType_AudibleSound_ListId' +ObjectIdNames[17936] = 'ExclusiveRateOfChangeAlarmType_AudibleSound_AgencyId' +ObjectIdNames[17937] = 'ExclusiveRateOfChangeAlarmType_AudibleSound_VersionId' +ObjectIdNames[17938] = 'ExclusiveRateOfChangeAlarmType_Unsuppress' +ObjectIdNames[17939] = 'ExclusiveRateOfChangeAlarmType_RemoveFromService' +ObjectIdNames[17940] = 'ExclusiveRateOfChangeAlarmType_PlaceInService' +ObjectIdNames[17941] = 'WriterGroupType_Diagnostics_LiveValues_SecurityTokenID' +ObjectIdNames[17942] = 'DiscreteAlarmType_AudibleSound_ListId' +ObjectIdNames[17943] = 'DiscreteAlarmType_AudibleSound_AgencyId' +ObjectIdNames[17944] = 'DiscreteAlarmType_AudibleSound_VersionId' +ObjectIdNames[17945] = 'DiscreteAlarmType_Unsuppress' +ObjectIdNames[17946] = 'DiscreteAlarmType_RemoveFromService' +ObjectIdNames[17947] = 'DiscreteAlarmType_PlaceInService' +ObjectIdNames[17948] = 'WriterGroupType_Diagnostics_LiveValues_SecurityTokenID_DiagnosticsLevel' +ObjectIdNames[17949] = 'OffNormalAlarmType_AudibleSound_ListId' +ObjectIdNames[17950] = 'OffNormalAlarmType_AudibleSound_AgencyId' +ObjectIdNames[17951] = 'OffNormalAlarmType_AudibleSound_VersionId' +ObjectIdNames[17952] = 'OffNormalAlarmType_Unsuppress' +ObjectIdNames[17953] = 'OffNormalAlarmType_RemoveFromService' +ObjectIdNames[17954] = 'OffNormalAlarmType_PlaceInService' +ObjectIdNames[17955] = 'WriterGroupType_Diagnostics_LiveValues_TimeToNextTokenID' +ObjectIdNames[17956] = 'SystemOffNormalAlarmType_AudibleSound_ListId' +ObjectIdNames[17957] = 'SystemOffNormalAlarmType_AudibleSound_AgencyId' +ObjectIdNames[17958] = 'SystemOffNormalAlarmType_AudibleSound_VersionId' +ObjectIdNames[17959] = 'SystemOffNormalAlarmType_Unsuppress' +ObjectIdNames[17960] = 'SystemOffNormalAlarmType_RemoveFromService' +ObjectIdNames[17961] = 'SystemOffNormalAlarmType_PlaceInService' +ObjectIdNames[17962] = 'WriterGroupType_Diagnostics_LiveValues_TimeToNextTokenID_DiagnosticsLevel' +ObjectIdNames[17963] = 'TripAlarmType_AudibleSound_ListId' +ObjectIdNames[17964] = 'TripAlarmType_AudibleSound_AgencyId' +ObjectIdNames[17965] = 'TripAlarmType_AudibleSound_VersionId' +ObjectIdNames[17966] = 'TripAlarmType_Unsuppress' +ObjectIdNames[17967] = 'TripAlarmType_RemoveFromService' +ObjectIdNames[17968] = 'TripAlarmType_PlaceInService' +ObjectIdNames[17969] = 'WriterGroupType_AddDataSetWriter' +ObjectIdNames[17970] = 'CertificateExpirationAlarmType_AudibleSound_ListId' +ObjectIdNames[17971] = 'CertificateExpirationAlarmType_AudibleSound_AgencyId' +ObjectIdNames[17972] = 'CertificateExpirationAlarmType_AudibleSound_VersionId' +ObjectIdNames[17973] = 'CertificateExpirationAlarmType_Unsuppress' +ObjectIdNames[17974] = 'CertificateExpirationAlarmType_RemoveFromService' +ObjectIdNames[17975] = 'CertificateExpirationAlarmType_PlaceInService' +ObjectIdNames[17976] = 'WriterGroupType_AddDataSetWriter_InputArguments' +ObjectIdNames[17977] = 'DiscrepancyAlarmType_AudibleSound_ListId' +ObjectIdNames[17978] = 'DiscrepancyAlarmType_AudibleSound_AgencyId' +ObjectIdNames[17979] = 'DiscrepancyAlarmType_AudibleSound_VersionId' +ObjectIdNames[17980] = 'DiscrepancyAlarmType_Unsuppress' +ObjectIdNames[17981] = 'DiscrepancyAlarmType_RemoveFromService' +ObjectIdNames[17982] = 'DiscrepancyAlarmType_PlaceInService' +ObjectIdNames[17983] = 'HasEffectEnable' +ObjectIdNames[17984] = 'HasEffectSuppressed' +ObjectIdNames[17985] = 'HasEffectUnsuppressed' +ObjectIdNames[17986] = 'AudioVariableType' +ObjectIdNames[17987] = 'WriterGroupType_AddDataSetWriter_OutputArguments' +ObjectIdNames[17988] = 'AudioVariableType_ListId' +ObjectIdNames[17989] = 'AudioVariableType_AgencyId' +ObjectIdNames[17990] = 'AudioVariableType_VersionId' +ObjectIdNames[17991] = 'AlarmMetricsType_StartTime' +ObjectIdNames[17992] = 'WriterGroupType_RemoveDataSetWriter' +ObjectIdNames[17993] = 'WriterGroupType_RemoveDataSetWriter_InputArguments' +ObjectIdNames[17994] = 'PubSubGroupTypeAddWriterrMethodType' +ObjectIdNames[17995] = 'PubSubGroupTypeAddWriterrMethodType_InputArguments' +ObjectIdNames[17996] = 'PubSubGroupTypeAddWriterrMethodType_OutputArguments' +ObjectIdNames[17997] = 'WriterGroupTransportType' +ObjectIdNames[17998] = 'WriterGroupMessageType' +ObjectIdNames[17999] = 'ReaderGroupType' +ObjectIdNames[18000] = 'ReaderGroupType_SecurityMode' +ObjectIdNames[18001] = 'KeyCredentialConfigurationType' +ObjectIdNames[18002] = 'ReaderGroupType_SecurityGroupId' +ObjectIdNames[18003] = 'ReaderGroupType_SecurityKeyServices' +ObjectIdNames[18004] = 'KeyCredentialConfigurationType_EndpointUrls' +ObjectIdNames[18005] = 'KeyCredentialConfigurationType_ServiceStatus' +ObjectIdNames[18006] = 'KeyCredentialConfigurationType_UpdateCredential' +ObjectIdNames[18007] = 'KeyCredentialConfigurationType_UpdateCredential_InputArguments' +ObjectIdNames[18008] = 'KeyCredentialConfigurationType_DeleteCredential' +ObjectIdNames[18009] = 'KeyCredentialUpdateMethodType' +ObjectIdNames[18010] = 'KeyCredentialUpdateMethodType_InputArguments' +ObjectIdNames[18011] = 'KeyCredentialAuditEventType' +ObjectIdNames[18012] = 'KeyCredentialAuditEventType_EventId' +ObjectIdNames[18013] = 'KeyCredentialAuditEventType_EventType' +ObjectIdNames[18014] = 'KeyCredentialAuditEventType_SourceNode' +ObjectIdNames[18015] = 'KeyCredentialAuditEventType_SourceName' +ObjectIdNames[18016] = 'KeyCredentialAuditEventType_Time' +ObjectIdNames[18017] = 'KeyCredentialAuditEventType_ReceiveTime' +ObjectIdNames[18018] = 'KeyCredentialAuditEventType_LocalTime' +ObjectIdNames[18019] = 'KeyCredentialAuditEventType_Message' +ObjectIdNames[18020] = 'KeyCredentialAuditEventType_Severity' +ObjectIdNames[18021] = 'KeyCredentialAuditEventType_ActionTimeStamp' +ObjectIdNames[18022] = 'KeyCredentialAuditEventType_Status' +ObjectIdNames[18023] = 'KeyCredentialAuditEventType_ServerId' +ObjectIdNames[18024] = 'KeyCredentialAuditEventType_ClientAuditEntryId' +ObjectIdNames[18025] = 'KeyCredentialAuditEventType_ClientUserId' +ObjectIdNames[18026] = 'KeyCredentialAuditEventType_MethodId' +ObjectIdNames[18027] = 'KeyCredentialAuditEventType_InputArguments' +ObjectIdNames[18028] = 'KeyCredentialAuditEventType_ResourceUri' +ObjectIdNames[18029] = 'KeyCredentialUpdatedAuditEventType' +ObjectIdNames[18030] = 'KeyCredentialUpdatedAuditEventType_EventId' +ObjectIdNames[18031] = 'KeyCredentialUpdatedAuditEventType_EventType' +ObjectIdNames[18032] = 'KeyCredentialUpdatedAuditEventType_SourceNode' +ObjectIdNames[18033] = 'KeyCredentialUpdatedAuditEventType_SourceName' +ObjectIdNames[18034] = 'KeyCredentialUpdatedAuditEventType_Time' +ObjectIdNames[18035] = 'KeyCredentialUpdatedAuditEventType_ReceiveTime' +ObjectIdNames[18036] = 'KeyCredentialUpdatedAuditEventType_LocalTime' +ObjectIdNames[18037] = 'KeyCredentialUpdatedAuditEventType_Message' +ObjectIdNames[18038] = 'KeyCredentialUpdatedAuditEventType_Severity' +ObjectIdNames[18039] = 'KeyCredentialUpdatedAuditEventType_ActionTimeStamp' +ObjectIdNames[18040] = 'KeyCredentialUpdatedAuditEventType_Status' +ObjectIdNames[18041] = 'KeyCredentialUpdatedAuditEventType_ServerId' +ObjectIdNames[18042] = 'KeyCredentialUpdatedAuditEventType_ClientAuditEntryId' +ObjectIdNames[18043] = 'KeyCredentialUpdatedAuditEventType_ClientUserId' +ObjectIdNames[18044] = 'KeyCredentialUpdatedAuditEventType_MethodId' +ObjectIdNames[18045] = 'KeyCredentialUpdatedAuditEventType_InputArguments' +ObjectIdNames[18046] = 'KeyCredentialUpdatedAuditEventType_ResourceUri' +ObjectIdNames[18047] = 'KeyCredentialDeletedAuditEventType' +ObjectIdNames[18048] = 'KeyCredentialDeletedAuditEventType_EventId' +ObjectIdNames[18049] = 'KeyCredentialDeletedAuditEventType_EventType' +ObjectIdNames[18050] = 'KeyCredentialDeletedAuditEventType_SourceNode' +ObjectIdNames[18051] = 'KeyCredentialDeletedAuditEventType_SourceName' +ObjectIdNames[18052] = 'KeyCredentialDeletedAuditEventType_Time' +ObjectIdNames[18053] = 'KeyCredentialDeletedAuditEventType_ReceiveTime' +ObjectIdNames[18054] = 'KeyCredentialDeletedAuditEventType_LocalTime' +ObjectIdNames[18055] = 'KeyCredentialDeletedAuditEventType_Message' +ObjectIdNames[18056] = 'KeyCredentialDeletedAuditEventType_Severity' +ObjectIdNames[18057] = 'KeyCredentialDeletedAuditEventType_ActionTimeStamp' +ObjectIdNames[18058] = 'KeyCredentialDeletedAuditEventType_Status' +ObjectIdNames[18059] = 'KeyCredentialDeletedAuditEventType_ServerId' +ObjectIdNames[18060] = 'KeyCredentialDeletedAuditEventType_ClientAuditEntryId' +ObjectIdNames[18061] = 'KeyCredentialDeletedAuditEventType_ClientUserId' +ObjectIdNames[18062] = 'KeyCredentialDeletedAuditEventType_MethodId' +ObjectIdNames[18063] = 'KeyCredentialDeletedAuditEventType_InputArguments' +ObjectIdNames[18064] = 'KeyCredentialDeletedAuditEventType_ResourceUri' +ObjectIdNames[18065] = 'ReaderGroupType_MaxNetworkMessageSize' +ObjectIdNames[18066] = 'AuthorizationServices_ServiceName_Placeholder_ServiceCertificate' +ObjectIdNames[18067] = 'ReaderGroupType_Status' +ObjectIdNames[18068] = 'ReaderGroupType_Status_State' +ObjectIdNames[18069] = 'KeyCredentialConfigurationType_ResourceUri' +ObjectIdNames[18070] = 'AuthorizationServices_ServiceName_Placeholder_ServiceUri' +ObjectIdNames[18071] = 'AuthorizationServices_ServiceName_Placeholder_IssuerEndpointUrl' +ObjectIdNames[18072] = 'AuthorizationServiceConfigurationType_ServiceUri' +ObjectIdNames[18073] = 'AuthorizationServiceConfigurationType_IssuerEndpointUrl' +ObjectIdNames[18074] = 'ReaderGroupType_Status_Enable' +ObjectIdNames[18075] = 'ReaderGroupType_Status_Disable' +ObjectIdNames[18076] = 'ReaderGroupType_DataSetReaderName_Placeholder' +ObjectIdNames[18077] = 'ReaderGroupType_DataSetReaderName_Placeholder_PublisherId' +ObjectIdNames[18078] = 'ReaderGroupType_DataSetReaderName_Placeholder_WriterGroupId' +ObjectIdNames[18079] = 'ReaderGroupType_DataSetReaderName_Placeholder_DataSetWriterId' +ObjectIdNames[18080] = 'ReaderGroupType_DataSetReaderName_Placeholder_DataSetMetaData' +ObjectIdNames[18081] = 'ReaderGroupType_DataSetReaderName_Placeholder_DataSetFieldContentMask' +ObjectIdNames[18082] = 'ReaderGroupType_DataSetReaderName_Placeholder_MessageReceiveTimeout' +ObjectIdNames[18083] = 'ReaderGroupType_DataSetReaderName_Placeholder_SecurityMode' +ObjectIdNames[18084] = 'ReaderGroupType_DataSetReaderName_Placeholder_SecurityGroupId' +ObjectIdNames[18085] = 'ReaderGroupType_DataSetReaderName_Placeholder_SecurityKeyServices' +ObjectIdNames[18086] = 'ReaderGroupType_DataSetReaderName_Placeholder_TransportSettings' +ObjectIdNames[18087] = 'ReaderGroupType_DataSetReaderName_Placeholder_MessageSettings' +ObjectIdNames[18088] = 'ReaderGroupType_DataSetReaderName_Placeholder_Status' +ObjectIdNames[18089] = 'ReaderGroupType_DataSetReaderName_Placeholder_Status_State' +ObjectIdNames[18090] = 'ReaderGroupType_DataSetReaderName_Placeholder_Status_Enable' +ObjectIdNames[18091] = 'ReaderGroupType_DataSetReaderName_Placeholder_Status_Disable' +ObjectIdNames[18092] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics' +ObjectIdNames[18093] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_DiagnosticsLevel' +ObjectIdNames[18094] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_TotalInformation' +ObjectIdNames[18095] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_TotalInformation_Active' +ObjectIdNames[18096] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_TotalInformation_Classification' +ObjectIdNames[18097] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_TotalInformation_DiagnosticsLevel' +ObjectIdNames[18098] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_TotalInformation_TimeFirstChange' +ObjectIdNames[18099] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_TotalError' +ObjectIdNames[18100] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_TotalError_Active' +ObjectIdNames[18101] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_TotalError_Classification' +ObjectIdNames[18102] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_TotalError_DiagnosticsLevel' +ObjectIdNames[18103] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_TotalError_TimeFirstChange' +ObjectIdNames[18104] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Reset' +ObjectIdNames[18105] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_SubError' +ObjectIdNames[18106] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters' +ObjectIdNames[18107] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateError' +ObjectIdNames[18108] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateError_Active' +ObjectIdNames[18109] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateError_Classification' +ObjectIdNames[18110] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateError_DiagnosticsLevel' +ObjectIdNames[18111] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateError_TimeFirstChange' +ObjectIdNames[18112] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateOperationalByMethod' +ObjectIdNames[18113] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Active' +ObjectIdNames[18114] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Classification' +ObjectIdNames[18115] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_DiagnosticsLevel' +ObjectIdNames[18116] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_TimeFirstChange' +ObjectIdNames[18117] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateOperationalByParent' +ObjectIdNames[18118] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Active' +ObjectIdNames[18119] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Classification' +ObjectIdNames[18120] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateOperationalByParent_DiagnosticsLevel' +ObjectIdNames[18121] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateOperationalByParent_TimeFirstChange' +ObjectIdNames[18122] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateOperationalFromError' +ObjectIdNames[18123] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Active' +ObjectIdNames[18124] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Classification' +ObjectIdNames[18125] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateOperationalFromError_DiagnosticsLevel' +ObjectIdNames[18126] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateOperationalFromError_TimeFirstChange' +ObjectIdNames[18127] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StatePausedByParent' +ObjectIdNames[18128] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StatePausedByParent_Active' +ObjectIdNames[18129] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StatePausedByParent_Classification' +ObjectIdNames[18130] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StatePausedByParent_DiagnosticsLevel' +ObjectIdNames[18131] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StatePausedByParent_TimeFirstChange' +ObjectIdNames[18132] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateDisabledByMethod' +ObjectIdNames[18133] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Active' +ObjectIdNames[18134] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Classification' +ObjectIdNames[18135] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_DiagnosticsLevel' +ObjectIdNames[18136] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_TimeFirstChange' +ObjectIdNames[18137] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_LiveValues' +ObjectIdNames[18138] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_FailedDataSetMessages' +ObjectIdNames[18139] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_Active' +ObjectIdNames[18140] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_Classification' +ObjectIdNames[18141] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_DiagnosticsLevel' +ObjectIdNames[18142] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_TimeFirstChange' +ObjectIdNames[18143] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_DecryptionErrors' +ObjectIdNames[18144] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_DecryptionErrors_Active' +ObjectIdNames[18145] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_DecryptionErrors_Classification' +ObjectIdNames[18146] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_DecryptionErrors_DiagnosticsLevel' +ObjectIdNames[18147] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_Counters_DecryptionErrors_TimeFirstChange' +ObjectIdNames[18148] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_LiveValues_MessageSequenceNumber' +ObjectIdNames[18149] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_LiveValues_MessageSequenceNumber_DiagnosticsLevel' +ObjectIdNames[18150] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_LiveValues_StatusCode' +ObjectIdNames[18151] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_LiveValues_StatusCode_DiagnosticsLevel' +ObjectIdNames[18152] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_LiveValues_MajorVersion' +ObjectIdNames[18153] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_LiveValues_MajorVersion_DiagnosticsLevel' +ObjectIdNames[18154] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_LiveValues_MinorVersion' +ObjectIdNames[18155] = 'KeyCredentialConfiguration' +ObjectIdNames[18156] = 'KeyCredentialConfiguration_ServiceName_Placeholder' +ObjectIdNames[18157] = 'KeyCredentialConfiguration_ServiceName_Placeholder_ResourceUri' +ObjectIdNames[18158] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_LiveValues_MinorVersion_DiagnosticsLevel' +ObjectIdNames[18159] = 'KeyCredentialConfiguration_ServiceName_Placeholder_EndpointUrls' +ObjectIdNames[18160] = 'KeyCredentialConfiguration_ServiceName_Placeholder_ServiceStatus' +ObjectIdNames[18161] = 'KeyCredentialConfiguration_ServiceName_Placeholder_UpdateCredential' +ObjectIdNames[18162] = 'KeyCredentialConfiguration_ServiceName_Placeholder_UpdateCredential_InputArguments' +ObjectIdNames[18163] = 'KeyCredentialConfiguration_ServiceName_Placeholder_DeleteCredential' +ObjectIdNames[18164] = 'KeyCredentialConfiguration_ServiceName_Placeholder_ProfileUri' +ObjectIdNames[18165] = 'KeyCredentialConfigurationType_ProfileUri' +ObjectIdNames[18166] = 'OpcUa_XmlSchema_DataTypeDefinition' +ObjectIdNames[18167] = 'OpcUa_XmlSchema_DataTypeDefinition_DataTypeVersion' +ObjectIdNames[18168] = 'OpcUa_XmlSchema_DataTypeDefinition_DictionaryFragment' +ObjectIdNames[18169] = 'OpcUa_XmlSchema_StructureField' +ObjectIdNames[18170] = 'OpcUa_XmlSchema_StructureField_DataTypeVersion' +ObjectIdNames[18171] = 'OpcUa_XmlSchema_StructureField_DictionaryFragment' +ObjectIdNames[18172] = 'OpcUa_XmlSchema_StructureDefinition' +ObjectIdNames[18173] = 'OpcUa_XmlSchema_StructureDefinition_DataTypeVersion' +ObjectIdNames[18174] = 'OpcUa_XmlSchema_StructureDefinition_DictionaryFragment' +ObjectIdNames[18175] = 'OpcUa_XmlSchema_EnumDefinition' +ObjectIdNames[18176] = 'OpcUa_XmlSchema_EnumDefinition_DataTypeVersion' +ObjectIdNames[18177] = 'OpcUa_XmlSchema_EnumDefinition_DictionaryFragment' +ObjectIdNames[18178] = 'OpcUa_BinarySchema_DataTypeDefinition' +ObjectIdNames[18179] = 'OpcUa_BinarySchema_DataTypeDefinition_DataTypeVersion' +ObjectIdNames[18180] = 'OpcUa_BinarySchema_DataTypeDefinition_DictionaryFragment' +ObjectIdNames[18181] = 'OpcUa_BinarySchema_StructureField' +ObjectIdNames[18182] = 'OpcUa_BinarySchema_StructureField_DataTypeVersion' +ObjectIdNames[18183] = 'OpcUa_BinarySchema_StructureField_DictionaryFragment' +ObjectIdNames[18184] = 'OpcUa_BinarySchema_StructureDefinition' +ObjectIdNames[18185] = 'OpcUa_BinarySchema_StructureDefinition_DataTypeVersion' +ObjectIdNames[18186] = 'OpcUa_BinarySchema_StructureDefinition_DictionaryFragment' +ObjectIdNames[18187] = 'OpcUa_BinarySchema_EnumDefinition' +ObjectIdNames[18188] = 'OpcUa_BinarySchema_EnumDefinition_DataTypeVersion' +ObjectIdNames[18189] = 'OpcUa_BinarySchema_EnumDefinition_DictionaryFragment' +ObjectIdNames[18190] = 'AlarmConditionType_LatchedState' +ObjectIdNames[18191] = 'AlarmConditionType_LatchedState_Id' +ObjectIdNames[18192] = 'AlarmConditionType_LatchedState_Name' +ObjectIdNames[18193] = 'AlarmConditionType_LatchedState_Number' +ObjectIdNames[18194] = 'AlarmConditionType_LatchedState_EffectiveDisplayName' +ObjectIdNames[18195] = 'AlarmConditionType_LatchedState_TransitionTime' +ObjectIdNames[18196] = 'AlarmConditionType_LatchedState_EffectiveTransitionTime' +ObjectIdNames[18197] = 'AlarmConditionType_LatchedState_TrueState' +ObjectIdNames[18198] = 'AlarmConditionType_LatchedState_FalseState' +ObjectIdNames[18199] = 'AlarmConditionType_Reset' +ObjectIdNames[18200] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_AudibleSound_ListId' +ObjectIdNames[18201] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_AudibleSound_AgencyId' +ObjectIdNames[18202] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_AudibleSound_VersionId' +ObjectIdNames[18203] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_LatchedState' +ObjectIdNames[18204] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_LatchedState_Id' +ObjectIdNames[18205] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_LatchedState_Name' +ObjectIdNames[18206] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_LatchedState_Number' +ObjectIdNames[18207] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_LatchedState_EffectiveDisplayName' +ObjectIdNames[18208] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_LatchedState_TransitionTime' +ObjectIdNames[18209] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_LatchedState_EffectiveTransitionTime' +ObjectIdNames[18210] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_LatchedState_TrueState' +ObjectIdNames[18211] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_LatchedState_FalseState' +ObjectIdNames[18212] = 'AlarmGroupType_AlarmConditionInstance_Placeholder_Reset' +ObjectIdNames[18213] = 'LimitAlarmType_LatchedState' +ObjectIdNames[18214] = 'LimitAlarmType_LatchedState_Id' +ObjectIdNames[18215] = 'LimitAlarmType_LatchedState_Name' +ObjectIdNames[18216] = 'LimitAlarmType_LatchedState_Number' +ObjectIdNames[18217] = 'LimitAlarmType_LatchedState_EffectiveDisplayName' +ObjectIdNames[18218] = 'LimitAlarmType_LatchedState_TransitionTime' +ObjectIdNames[18219] = 'LimitAlarmType_LatchedState_EffectiveTransitionTime' +ObjectIdNames[18220] = 'LimitAlarmType_LatchedState_TrueState' +ObjectIdNames[18221] = 'LimitAlarmType_LatchedState_FalseState' +ObjectIdNames[18222] = 'LimitAlarmType_Reset' +ObjectIdNames[18223] = 'ExclusiveLimitAlarmType_LatchedState' +ObjectIdNames[18224] = 'ExclusiveLimitAlarmType_LatchedState_Id' +ObjectIdNames[18225] = 'ExclusiveLimitAlarmType_LatchedState_Name' +ObjectIdNames[18226] = 'ExclusiveLimitAlarmType_LatchedState_Number' +ObjectIdNames[18227] = 'ExclusiveLimitAlarmType_LatchedState_EffectiveDisplayName' +ObjectIdNames[18228] = 'ExclusiveLimitAlarmType_LatchedState_TransitionTime' +ObjectIdNames[18229] = 'ExclusiveLimitAlarmType_LatchedState_EffectiveTransitionTime' +ObjectIdNames[18230] = 'ExclusiveLimitAlarmType_LatchedState_TrueState' +ObjectIdNames[18231] = 'ExclusiveLimitAlarmType_LatchedState_FalseState' +ObjectIdNames[18232] = 'ExclusiveLimitAlarmType_Reset' +ObjectIdNames[18233] = 'NonExclusiveLimitAlarmType_LatchedState' +ObjectIdNames[18234] = 'NonExclusiveLimitAlarmType_LatchedState_Id' +ObjectIdNames[18235] = 'NonExclusiveLimitAlarmType_LatchedState_Name' +ObjectIdNames[18236] = 'NonExclusiveLimitAlarmType_LatchedState_Number' +ObjectIdNames[18237] = 'NonExclusiveLimitAlarmType_LatchedState_EffectiveDisplayName' +ObjectIdNames[18238] = 'NonExclusiveLimitAlarmType_LatchedState_TransitionTime' +ObjectIdNames[18239] = 'NonExclusiveLimitAlarmType_LatchedState_EffectiveTransitionTime' +ObjectIdNames[18240] = 'NonExclusiveLimitAlarmType_LatchedState_TrueState' +ObjectIdNames[18241] = 'NonExclusiveLimitAlarmType_LatchedState_FalseState' +ObjectIdNames[18242] = 'NonExclusiveLimitAlarmType_Reset' +ObjectIdNames[18243] = 'NonExclusiveLevelAlarmType_AudibleSound_ListId' +ObjectIdNames[18244] = 'NonExclusiveLevelAlarmType_AudibleSound_AgencyId' +ObjectIdNames[18245] = 'NonExclusiveLevelAlarmType_AudibleSound_VersionId' +ObjectIdNames[18246] = 'NonExclusiveLevelAlarmType_LatchedState' +ObjectIdNames[18247] = 'NonExclusiveLevelAlarmType_LatchedState_Id' +ObjectIdNames[18248] = 'NonExclusiveLevelAlarmType_LatchedState_Name' +ObjectIdNames[18249] = 'NonExclusiveLevelAlarmType_LatchedState_Number' +ObjectIdNames[18250] = 'NonExclusiveLevelAlarmType_LatchedState_EffectiveDisplayName' +ObjectIdNames[18251] = 'NonExclusiveLevelAlarmType_LatchedState_TransitionTime' +ObjectIdNames[18252] = 'NonExclusiveLevelAlarmType_LatchedState_EffectiveTransitionTime' +ObjectIdNames[18253] = 'NonExclusiveLevelAlarmType_LatchedState_TrueState' +ObjectIdNames[18254] = 'NonExclusiveLevelAlarmType_LatchedState_FalseState' +ObjectIdNames[18255] = 'NonExclusiveLevelAlarmType_Unsuppress' +ObjectIdNames[18256] = 'NonExclusiveLevelAlarmType_Reset' +ObjectIdNames[18257] = 'ExclusiveLevelAlarmType_LatchedState' +ObjectIdNames[18258] = 'ExclusiveLevelAlarmType_LatchedState_Id' +ObjectIdNames[18259] = 'ExclusiveLevelAlarmType_LatchedState_Name' +ObjectIdNames[18260] = 'ExclusiveLevelAlarmType_LatchedState_Number' +ObjectIdNames[18261] = 'ExclusiveLevelAlarmType_LatchedState_EffectiveDisplayName' +ObjectIdNames[18262] = 'ExclusiveLevelAlarmType_LatchedState_TransitionTime' +ObjectIdNames[18263] = 'ExclusiveLevelAlarmType_LatchedState_EffectiveTransitionTime' +ObjectIdNames[18264] = 'ExclusiveLevelAlarmType_LatchedState_TrueState' +ObjectIdNames[18265] = 'ExclusiveLevelAlarmType_LatchedState_FalseState' +ObjectIdNames[18266] = 'ExclusiveLevelAlarmType_Reset' +ObjectIdNames[18267] = 'NonExclusiveDeviationAlarmType_LatchedState' +ObjectIdNames[18268] = 'NonExclusiveDeviationAlarmType_LatchedState_Id' +ObjectIdNames[18269] = 'NonExclusiveDeviationAlarmType_LatchedState_Name' +ObjectIdNames[18270] = 'NonExclusiveDeviationAlarmType_LatchedState_Number' +ObjectIdNames[18271] = 'NonExclusiveDeviationAlarmType_LatchedState_EffectiveDisplayName' +ObjectIdNames[18272] = 'NonExclusiveDeviationAlarmType_LatchedState_TransitionTime' +ObjectIdNames[18273] = 'NonExclusiveDeviationAlarmType_LatchedState_EffectiveTransitionTime' +ObjectIdNames[18274] = 'NonExclusiveDeviationAlarmType_LatchedState_TrueState' +ObjectIdNames[18275] = 'NonExclusiveDeviationAlarmType_LatchedState_FalseState' +ObjectIdNames[18276] = 'NonExclusiveDeviationAlarmType_Reset' +ObjectIdNames[18277] = 'NonExclusiveRateOfChangeAlarmType_LatchedState' +ObjectIdNames[18278] = 'NonExclusiveRateOfChangeAlarmType_LatchedState_Id' +ObjectIdNames[18279] = 'NonExclusiveRateOfChangeAlarmType_LatchedState_Name' +ObjectIdNames[18280] = 'NonExclusiveRateOfChangeAlarmType_LatchedState_Number' +ObjectIdNames[18281] = 'NonExclusiveRateOfChangeAlarmType_LatchedState_EffectiveDisplayName' +ObjectIdNames[18282] = 'NonExclusiveRateOfChangeAlarmType_LatchedState_TransitionTime' +ObjectIdNames[18283] = 'NonExclusiveRateOfChangeAlarmType_LatchedState_EffectiveTransitionTime' +ObjectIdNames[18284] = 'NonExclusiveRateOfChangeAlarmType_LatchedState_TrueState' +ObjectIdNames[18285] = 'NonExclusiveRateOfChangeAlarmType_LatchedState_FalseState' +ObjectIdNames[18286] = 'NonExclusiveRateOfChangeAlarmType_Reset' +ObjectIdNames[18287] = 'ExclusiveDeviationAlarmType_LatchedState' +ObjectIdNames[18288] = 'ExclusiveDeviationAlarmType_LatchedState_Id' +ObjectIdNames[18289] = 'ExclusiveDeviationAlarmType_LatchedState_Name' +ObjectIdNames[18290] = 'ExclusiveDeviationAlarmType_LatchedState_Number' +ObjectIdNames[18291] = 'ExclusiveDeviationAlarmType_LatchedState_EffectiveDisplayName' +ObjectIdNames[18292] = 'ExclusiveDeviationAlarmType_LatchedState_TransitionTime' +ObjectIdNames[18293] = 'ExclusiveDeviationAlarmType_LatchedState_EffectiveTransitionTime' +ObjectIdNames[18294] = 'ExclusiveDeviationAlarmType_LatchedState_TrueState' +ObjectIdNames[18295] = 'ExclusiveDeviationAlarmType_LatchedState_FalseState' +ObjectIdNames[18296] = 'ExclusiveDeviationAlarmType_Reset' +ObjectIdNames[18297] = 'ExclusiveRateOfChangeAlarmType_LatchedState' +ObjectIdNames[18298] = 'ExclusiveRateOfChangeAlarmType_LatchedState_Id' +ObjectIdNames[18299] = 'ExclusiveRateOfChangeAlarmType_LatchedState_Name' +ObjectIdNames[18300] = 'ExclusiveRateOfChangeAlarmType_LatchedState_Number' +ObjectIdNames[18301] = 'ExclusiveRateOfChangeAlarmType_LatchedState_EffectiveDisplayName' +ObjectIdNames[18302] = 'ExclusiveRateOfChangeAlarmType_LatchedState_TransitionTime' +ObjectIdNames[18303] = 'ExclusiveRateOfChangeAlarmType_LatchedState_EffectiveTransitionTime' +ObjectIdNames[18304] = 'ExclusiveRateOfChangeAlarmType_LatchedState_TrueState' +ObjectIdNames[18305] = 'ExclusiveRateOfChangeAlarmType_LatchedState_FalseState' +ObjectIdNames[18306] = 'ExclusiveRateOfChangeAlarmType_Reset' +ObjectIdNames[18307] = 'DiscreteAlarmType_LatchedState' +ObjectIdNames[18308] = 'DiscreteAlarmType_LatchedState_Id' +ObjectIdNames[18309] = 'DiscreteAlarmType_LatchedState_Name' +ObjectIdNames[18310] = 'DiscreteAlarmType_LatchedState_Number' +ObjectIdNames[18311] = 'DiscreteAlarmType_LatchedState_EffectiveDisplayName' +ObjectIdNames[18312] = 'DiscreteAlarmType_LatchedState_TransitionTime' +ObjectIdNames[18313] = 'DiscreteAlarmType_LatchedState_EffectiveTransitionTime' +ObjectIdNames[18314] = 'DiscreteAlarmType_LatchedState_TrueState' +ObjectIdNames[18315] = 'DiscreteAlarmType_LatchedState_FalseState' +ObjectIdNames[18316] = 'DiscreteAlarmType_Reset' +ObjectIdNames[18317] = 'OffNormalAlarmType_LatchedState' +ObjectIdNames[18318] = 'OffNormalAlarmType_LatchedState_Id' +ObjectIdNames[18319] = 'OffNormalAlarmType_LatchedState_Name' +ObjectIdNames[18320] = 'OffNormalAlarmType_LatchedState_Number' +ObjectIdNames[18321] = 'OffNormalAlarmType_LatchedState_EffectiveDisplayName' +ObjectIdNames[18322] = 'OffNormalAlarmType_LatchedState_TransitionTime' +ObjectIdNames[18323] = 'OffNormalAlarmType_LatchedState_EffectiveTransitionTime' +ObjectIdNames[18324] = 'OffNormalAlarmType_LatchedState_TrueState' +ObjectIdNames[18325] = 'OffNormalAlarmType_LatchedState_FalseState' +ObjectIdNames[18326] = 'OffNormalAlarmType_Reset' +ObjectIdNames[18327] = 'SystemOffNormalAlarmType_LatchedState' +ObjectIdNames[18328] = 'SystemOffNormalAlarmType_LatchedState_Id' +ObjectIdNames[18329] = 'SystemOffNormalAlarmType_LatchedState_Name' +ObjectIdNames[18330] = 'SystemOffNormalAlarmType_LatchedState_Number' +ObjectIdNames[18331] = 'SystemOffNormalAlarmType_LatchedState_EffectiveDisplayName' +ObjectIdNames[18332] = 'SystemOffNormalAlarmType_LatchedState_TransitionTime' +ObjectIdNames[18333] = 'SystemOffNormalAlarmType_LatchedState_EffectiveTransitionTime' +ObjectIdNames[18334] = 'SystemOffNormalAlarmType_LatchedState_TrueState' +ObjectIdNames[18335] = 'SystemOffNormalAlarmType_LatchedState_FalseState' +ObjectIdNames[18336] = 'SystemOffNormalAlarmType_Reset' +ObjectIdNames[18337] = 'TripAlarmType_LatchedState' +ObjectIdNames[18338] = 'TripAlarmType_LatchedState_Id' +ObjectIdNames[18339] = 'TripAlarmType_LatchedState_Name' +ObjectIdNames[18340] = 'TripAlarmType_LatchedState_Number' +ObjectIdNames[18341] = 'TripAlarmType_LatchedState_EffectiveDisplayName' +ObjectIdNames[18342] = 'TripAlarmType_LatchedState_TransitionTime' +ObjectIdNames[18343] = 'TripAlarmType_LatchedState_EffectiveTransitionTime' +ObjectIdNames[18344] = 'TripAlarmType_LatchedState_TrueState' +ObjectIdNames[18345] = 'TripAlarmType_LatchedState_FalseState' +ObjectIdNames[18346] = 'TripAlarmType_Reset' +ObjectIdNames[18347] = 'InstrumentDiagnosticAlarmType' +ObjectIdNames[18348] = 'InstrumentDiagnosticAlarmType_EventId' +ObjectIdNames[18349] = 'InstrumentDiagnosticAlarmType_EventType' +ObjectIdNames[18350] = 'InstrumentDiagnosticAlarmType_SourceNode' +ObjectIdNames[18351] = 'InstrumentDiagnosticAlarmType_SourceName' +ObjectIdNames[18352] = 'InstrumentDiagnosticAlarmType_Time' +ObjectIdNames[18353] = 'InstrumentDiagnosticAlarmType_ReceiveTime' +ObjectIdNames[18354] = 'InstrumentDiagnosticAlarmType_LocalTime' +ObjectIdNames[18355] = 'InstrumentDiagnosticAlarmType_Message' +ObjectIdNames[18356] = 'InstrumentDiagnosticAlarmType_Severity' +ObjectIdNames[18357] = 'InstrumentDiagnosticAlarmType_ConditionClassId' +ObjectIdNames[18358] = 'InstrumentDiagnosticAlarmType_ConditionClassName' +ObjectIdNames[18359] = 'InstrumentDiagnosticAlarmType_ConditionSubClassId' +ObjectIdNames[18360] = 'InstrumentDiagnosticAlarmType_ConditionSubClassName' +ObjectIdNames[18361] = 'InstrumentDiagnosticAlarmType_ConditionName' +ObjectIdNames[18362] = 'InstrumentDiagnosticAlarmType_BranchId' +ObjectIdNames[18363] = 'InstrumentDiagnosticAlarmType_Retain' +ObjectIdNames[18364] = 'InstrumentDiagnosticAlarmType_EnabledState' +ObjectIdNames[18365] = 'InstrumentDiagnosticAlarmType_EnabledState_Id' +ObjectIdNames[18366] = 'InstrumentDiagnosticAlarmType_EnabledState_Name' +ObjectIdNames[18367] = 'InstrumentDiagnosticAlarmType_EnabledState_Number' +ObjectIdNames[18368] = 'InstrumentDiagnosticAlarmType_EnabledState_EffectiveDisplayName' +ObjectIdNames[18369] = 'InstrumentDiagnosticAlarmType_EnabledState_TransitionTime' +ObjectIdNames[18370] = 'InstrumentDiagnosticAlarmType_EnabledState_EffectiveTransitionTime' +ObjectIdNames[18371] = 'InstrumentDiagnosticAlarmType_EnabledState_TrueState' +ObjectIdNames[18372] = 'InstrumentDiagnosticAlarmType_EnabledState_FalseState' +ObjectIdNames[18373] = 'InstrumentDiagnosticAlarmType_Quality' +ObjectIdNames[18374] = 'InstrumentDiagnosticAlarmType_Quality_SourceTimestamp' +ObjectIdNames[18375] = 'InstrumentDiagnosticAlarmType_LastSeverity' +ObjectIdNames[18376] = 'InstrumentDiagnosticAlarmType_LastSeverity_SourceTimestamp' +ObjectIdNames[18377] = 'InstrumentDiagnosticAlarmType_Comment' +ObjectIdNames[18378] = 'InstrumentDiagnosticAlarmType_Comment_SourceTimestamp' +ObjectIdNames[18379] = 'InstrumentDiagnosticAlarmType_ClientUserId' +ObjectIdNames[18380] = 'InstrumentDiagnosticAlarmType_Disable' +ObjectIdNames[18381] = 'InstrumentDiagnosticAlarmType_Enable' +ObjectIdNames[18382] = 'InstrumentDiagnosticAlarmType_AddComment' +ObjectIdNames[18383] = 'InstrumentDiagnosticAlarmType_AddComment_InputArguments' +ObjectIdNames[18384] = 'InstrumentDiagnosticAlarmType_ConditionRefresh' +ObjectIdNames[18385] = 'InstrumentDiagnosticAlarmType_ConditionRefresh_InputArguments' +ObjectIdNames[18386] = 'InstrumentDiagnosticAlarmType_ConditionRefresh2' +ObjectIdNames[18387] = 'InstrumentDiagnosticAlarmType_ConditionRefresh2_InputArguments' +ObjectIdNames[18388] = 'InstrumentDiagnosticAlarmType_AckedState' +ObjectIdNames[18389] = 'InstrumentDiagnosticAlarmType_AckedState_Id' +ObjectIdNames[18390] = 'InstrumentDiagnosticAlarmType_AckedState_Name' +ObjectIdNames[18391] = 'InstrumentDiagnosticAlarmType_AckedState_Number' +ObjectIdNames[18392] = 'InstrumentDiagnosticAlarmType_AckedState_EffectiveDisplayName' +ObjectIdNames[18393] = 'InstrumentDiagnosticAlarmType_AckedState_TransitionTime' +ObjectIdNames[18394] = 'InstrumentDiagnosticAlarmType_AckedState_EffectiveTransitionTime' +ObjectIdNames[18395] = 'InstrumentDiagnosticAlarmType_AckedState_TrueState' +ObjectIdNames[18396] = 'InstrumentDiagnosticAlarmType_AckedState_FalseState' +ObjectIdNames[18397] = 'InstrumentDiagnosticAlarmType_ConfirmedState' +ObjectIdNames[18398] = 'InstrumentDiagnosticAlarmType_ConfirmedState_Id' +ObjectIdNames[18399] = 'InstrumentDiagnosticAlarmType_ConfirmedState_Name' +ObjectIdNames[18400] = 'InstrumentDiagnosticAlarmType_ConfirmedState_Number' +ObjectIdNames[18401] = 'InstrumentDiagnosticAlarmType_ConfirmedState_EffectiveDisplayName' +ObjectIdNames[18402] = 'InstrumentDiagnosticAlarmType_ConfirmedState_TransitionTime' +ObjectIdNames[18403] = 'InstrumentDiagnosticAlarmType_ConfirmedState_EffectiveTransitionTime' +ObjectIdNames[18404] = 'InstrumentDiagnosticAlarmType_ConfirmedState_TrueState' +ObjectIdNames[18405] = 'InstrumentDiagnosticAlarmType_ConfirmedState_FalseState' +ObjectIdNames[18406] = 'InstrumentDiagnosticAlarmType_Acknowledge' +ObjectIdNames[18407] = 'InstrumentDiagnosticAlarmType_Acknowledge_InputArguments' +ObjectIdNames[18408] = 'InstrumentDiagnosticAlarmType_Confirm' +ObjectIdNames[18409] = 'InstrumentDiagnosticAlarmType_Confirm_InputArguments' +ObjectIdNames[18410] = 'InstrumentDiagnosticAlarmType_ActiveState' +ObjectIdNames[18411] = 'InstrumentDiagnosticAlarmType_ActiveState_Id' +ObjectIdNames[18412] = 'InstrumentDiagnosticAlarmType_ActiveState_Name' +ObjectIdNames[18413] = 'InstrumentDiagnosticAlarmType_ActiveState_Number' +ObjectIdNames[18414] = 'InstrumentDiagnosticAlarmType_ActiveState_EffectiveDisplayName' +ObjectIdNames[18415] = 'InstrumentDiagnosticAlarmType_ActiveState_TransitionTime' +ObjectIdNames[18416] = 'InstrumentDiagnosticAlarmType_ActiveState_EffectiveTransitionTime' +ObjectIdNames[18417] = 'InstrumentDiagnosticAlarmType_ActiveState_TrueState' +ObjectIdNames[18418] = 'InstrumentDiagnosticAlarmType_ActiveState_FalseState' +ObjectIdNames[18419] = 'InstrumentDiagnosticAlarmType_InputNode' +ObjectIdNames[18420] = 'InstrumentDiagnosticAlarmType_SuppressedState' +ObjectIdNames[18421] = 'InstrumentDiagnosticAlarmType_SuppressedState_Id' +ObjectIdNames[18422] = 'InstrumentDiagnosticAlarmType_SuppressedState_Name' +ObjectIdNames[18423] = 'InstrumentDiagnosticAlarmType_SuppressedState_Number' +ObjectIdNames[18424] = 'InstrumentDiagnosticAlarmType_SuppressedState_EffectiveDisplayName' +ObjectIdNames[18425] = 'InstrumentDiagnosticAlarmType_SuppressedState_TransitionTime' +ObjectIdNames[18426] = 'InstrumentDiagnosticAlarmType_SuppressedState_EffectiveTransitionTime' +ObjectIdNames[18427] = 'InstrumentDiagnosticAlarmType_SuppressedState_TrueState' +ObjectIdNames[18428] = 'InstrumentDiagnosticAlarmType_SuppressedState_FalseState' +ObjectIdNames[18429] = 'InstrumentDiagnosticAlarmType_OutOfServiceState' +ObjectIdNames[18430] = 'InstrumentDiagnosticAlarmType_OutOfServiceState_Id' +ObjectIdNames[18431] = 'InstrumentDiagnosticAlarmType_OutOfServiceState_Name' +ObjectIdNames[18432] = 'InstrumentDiagnosticAlarmType_OutOfServiceState_Number' +ObjectIdNames[18433] = 'InstrumentDiagnosticAlarmType_OutOfServiceState_EffectiveDisplayName' +ObjectIdNames[18434] = 'InstrumentDiagnosticAlarmType_OutOfServiceState_TransitionTime' +ObjectIdNames[18435] = 'InstrumentDiagnosticAlarmType_OutOfServiceState_EffectiveTransitionTime' +ObjectIdNames[18436] = 'InstrumentDiagnosticAlarmType_OutOfServiceState_TrueState' +ObjectIdNames[18437] = 'InstrumentDiagnosticAlarmType_OutOfServiceState_FalseState' +ObjectIdNames[18438] = 'InstrumentDiagnosticAlarmType_ShelvingState' +ObjectIdNames[18439] = 'InstrumentDiagnosticAlarmType_ShelvingState_CurrentState' +ObjectIdNames[18440] = 'InstrumentDiagnosticAlarmType_ShelvingState_CurrentState_Id' +ObjectIdNames[18441] = 'InstrumentDiagnosticAlarmType_ShelvingState_CurrentState_Name' +ObjectIdNames[18442] = 'InstrumentDiagnosticAlarmType_ShelvingState_CurrentState_Number' +ObjectIdNames[18443] = 'InstrumentDiagnosticAlarmType_ShelvingState_CurrentState_EffectiveDisplayName' +ObjectIdNames[18444] = 'InstrumentDiagnosticAlarmType_ShelvingState_LastTransition' +ObjectIdNames[18445] = 'InstrumentDiagnosticAlarmType_ShelvingState_LastTransition_Id' +ObjectIdNames[18446] = 'InstrumentDiagnosticAlarmType_ShelvingState_LastTransition_Name' +ObjectIdNames[18447] = 'InstrumentDiagnosticAlarmType_ShelvingState_LastTransition_Number' +ObjectIdNames[18448] = 'InstrumentDiagnosticAlarmType_ShelvingState_LastTransition_TransitionTime' +ObjectIdNames[18449] = 'InstrumentDiagnosticAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime' +ObjectIdNames[18450] = 'InstrumentDiagnosticAlarmType_ShelvingState_AvailableStates' +ObjectIdNames[18451] = 'InstrumentDiagnosticAlarmType_ShelvingState_AvailableTransitions' +ObjectIdNames[18452] = 'InstrumentDiagnosticAlarmType_ShelvingState_UnshelveTime' +ObjectIdNames[18453] = 'InstrumentDiagnosticAlarmType_ShelvingState_TimedShelve' +ObjectIdNames[18454] = 'InstrumentDiagnosticAlarmType_ShelvingState_TimedShelve_InputArguments' +ObjectIdNames[18455] = 'InstrumentDiagnosticAlarmType_ShelvingState_Unshelve' +ObjectIdNames[18456] = 'InstrumentDiagnosticAlarmType_ShelvingState_OneShotShelve' +ObjectIdNames[18457] = 'InstrumentDiagnosticAlarmType_SuppressedOrShelved' +ObjectIdNames[18458] = 'InstrumentDiagnosticAlarmType_MaxTimeShelved' +ObjectIdNames[18459] = 'InstrumentDiagnosticAlarmType_AudibleEnabled' +ObjectIdNames[18460] = 'InstrumentDiagnosticAlarmType_AudibleSound' +ObjectIdNames[18461] = 'InstrumentDiagnosticAlarmType_AudibleSound_ListId' +ObjectIdNames[18462] = 'InstrumentDiagnosticAlarmType_AudibleSound_AgencyId' +ObjectIdNames[18463] = 'InstrumentDiagnosticAlarmType_AudibleSound_VersionId' +ObjectIdNames[18464] = 'InstrumentDiagnosticAlarmType_SilenceState' +ObjectIdNames[18465] = 'InstrumentDiagnosticAlarmType_SilenceState_Id' +ObjectIdNames[18466] = 'InstrumentDiagnosticAlarmType_SilenceState_Name' +ObjectIdNames[18467] = 'InstrumentDiagnosticAlarmType_SilenceState_Number' +ObjectIdNames[18468] = 'InstrumentDiagnosticAlarmType_SilenceState_EffectiveDisplayName' +ObjectIdNames[18469] = 'InstrumentDiagnosticAlarmType_SilenceState_TransitionTime' +ObjectIdNames[18470] = 'InstrumentDiagnosticAlarmType_SilenceState_EffectiveTransitionTime' +ObjectIdNames[18471] = 'InstrumentDiagnosticAlarmType_SilenceState_TrueState' +ObjectIdNames[18472] = 'InstrumentDiagnosticAlarmType_SilenceState_FalseState' +ObjectIdNames[18473] = 'InstrumentDiagnosticAlarmType_OnDelay' +ObjectIdNames[18474] = 'InstrumentDiagnosticAlarmType_OffDelay' +ObjectIdNames[18475] = 'InstrumentDiagnosticAlarmType_FirstInGroupFlag' +ObjectIdNames[18476] = 'InstrumentDiagnosticAlarmType_FirstInGroup' +ObjectIdNames[18477] = 'InstrumentDiagnosticAlarmType_LatchedState' +ObjectIdNames[18478] = 'InstrumentDiagnosticAlarmType_LatchedState_Id' +ObjectIdNames[18479] = 'InstrumentDiagnosticAlarmType_LatchedState_Name' +ObjectIdNames[18480] = 'InstrumentDiagnosticAlarmType_LatchedState_Number' +ObjectIdNames[18481] = 'InstrumentDiagnosticAlarmType_LatchedState_EffectiveDisplayName' +ObjectIdNames[18482] = 'InstrumentDiagnosticAlarmType_LatchedState_TransitionTime' +ObjectIdNames[18483] = 'InstrumentDiagnosticAlarmType_LatchedState_EffectiveTransitionTime' +ObjectIdNames[18484] = 'InstrumentDiagnosticAlarmType_LatchedState_TrueState' +ObjectIdNames[18485] = 'InstrumentDiagnosticAlarmType_LatchedState_FalseState' +ObjectIdNames[18486] = 'InstrumentDiagnosticAlarmType_AlarmGroup_Placeholder' +ObjectIdNames[18487] = 'InstrumentDiagnosticAlarmType_ReAlarmTime' +ObjectIdNames[18488] = 'InstrumentDiagnosticAlarmType_ReAlarmRepeatCount' +ObjectIdNames[18489] = 'InstrumentDiagnosticAlarmType_Silence' +ObjectIdNames[18490] = 'InstrumentDiagnosticAlarmType_Suppress' +ObjectIdNames[18491] = 'InstrumentDiagnosticAlarmType_Unsuppress' +ObjectIdNames[18492] = 'InstrumentDiagnosticAlarmType_RemoveFromService' +ObjectIdNames[18493] = 'InstrumentDiagnosticAlarmType_PlaceInService' +ObjectIdNames[18494] = 'InstrumentDiagnosticAlarmType_Reset' +ObjectIdNames[18495] = 'InstrumentDiagnosticAlarmType_NormalState' +ObjectIdNames[18496] = 'SystemDiagnosticAlarmType' +ObjectIdNames[18497] = 'SystemDiagnosticAlarmType_EventId' +ObjectIdNames[18498] = 'SystemDiagnosticAlarmType_EventType' +ObjectIdNames[18499] = 'SystemDiagnosticAlarmType_SourceNode' +ObjectIdNames[18500] = 'SystemDiagnosticAlarmType_SourceName' +ObjectIdNames[18501] = 'SystemDiagnosticAlarmType_Time' +ObjectIdNames[18502] = 'SystemDiagnosticAlarmType_ReceiveTime' +ObjectIdNames[18503] = 'SystemDiagnosticAlarmType_LocalTime' +ObjectIdNames[18504] = 'SystemDiagnosticAlarmType_Message' +ObjectIdNames[18505] = 'SystemDiagnosticAlarmType_Severity' +ObjectIdNames[18506] = 'SystemDiagnosticAlarmType_ConditionClassId' +ObjectIdNames[18507] = 'SystemDiagnosticAlarmType_ConditionClassName' +ObjectIdNames[18508] = 'SystemDiagnosticAlarmType_ConditionSubClassId' +ObjectIdNames[18509] = 'SystemDiagnosticAlarmType_ConditionSubClassName' +ObjectIdNames[18510] = 'SystemDiagnosticAlarmType_ConditionName' +ObjectIdNames[18511] = 'SystemDiagnosticAlarmType_BranchId' +ObjectIdNames[18512] = 'SystemDiagnosticAlarmType_Retain' +ObjectIdNames[18513] = 'SystemDiagnosticAlarmType_EnabledState' +ObjectIdNames[18514] = 'SystemDiagnosticAlarmType_EnabledState_Id' +ObjectIdNames[18515] = 'SystemDiagnosticAlarmType_EnabledState_Name' +ObjectIdNames[18516] = 'SystemDiagnosticAlarmType_EnabledState_Number' +ObjectIdNames[18517] = 'SystemDiagnosticAlarmType_EnabledState_EffectiveDisplayName' +ObjectIdNames[18518] = 'SystemDiagnosticAlarmType_EnabledState_TransitionTime' +ObjectIdNames[18519] = 'SystemDiagnosticAlarmType_EnabledState_EffectiveTransitionTime' +ObjectIdNames[18520] = 'SystemDiagnosticAlarmType_EnabledState_TrueState' +ObjectIdNames[18521] = 'SystemDiagnosticAlarmType_EnabledState_FalseState' +ObjectIdNames[18522] = 'SystemDiagnosticAlarmType_Quality' +ObjectIdNames[18523] = 'SystemDiagnosticAlarmType_Quality_SourceTimestamp' +ObjectIdNames[18524] = 'SystemDiagnosticAlarmType_LastSeverity' +ObjectIdNames[18525] = 'SystemDiagnosticAlarmType_LastSeverity_SourceTimestamp' +ObjectIdNames[18526] = 'SystemDiagnosticAlarmType_Comment' +ObjectIdNames[18527] = 'SystemDiagnosticAlarmType_Comment_SourceTimestamp' +ObjectIdNames[18528] = 'SystemDiagnosticAlarmType_ClientUserId' +ObjectIdNames[18529] = 'SystemDiagnosticAlarmType_Disable' +ObjectIdNames[18530] = 'SystemDiagnosticAlarmType_Enable' +ObjectIdNames[18531] = 'SystemDiagnosticAlarmType_AddComment' +ObjectIdNames[18532] = 'SystemDiagnosticAlarmType_AddComment_InputArguments' +ObjectIdNames[18533] = 'SystemDiagnosticAlarmType_ConditionRefresh' +ObjectIdNames[18534] = 'SystemDiagnosticAlarmType_ConditionRefresh_InputArguments' +ObjectIdNames[18535] = 'SystemDiagnosticAlarmType_ConditionRefresh2' +ObjectIdNames[18536] = 'SystemDiagnosticAlarmType_ConditionRefresh2_InputArguments' +ObjectIdNames[18537] = 'SystemDiagnosticAlarmType_AckedState' +ObjectIdNames[18538] = 'SystemDiagnosticAlarmType_AckedState_Id' +ObjectIdNames[18539] = 'SystemDiagnosticAlarmType_AckedState_Name' +ObjectIdNames[18540] = 'SystemDiagnosticAlarmType_AckedState_Number' +ObjectIdNames[18541] = 'SystemDiagnosticAlarmType_AckedState_EffectiveDisplayName' +ObjectIdNames[18542] = 'SystemDiagnosticAlarmType_AckedState_TransitionTime' +ObjectIdNames[18543] = 'SystemDiagnosticAlarmType_AckedState_EffectiveTransitionTime' +ObjectIdNames[18544] = 'SystemDiagnosticAlarmType_AckedState_TrueState' +ObjectIdNames[18545] = 'SystemDiagnosticAlarmType_AckedState_FalseState' +ObjectIdNames[18546] = 'SystemDiagnosticAlarmType_ConfirmedState' +ObjectIdNames[18547] = 'SystemDiagnosticAlarmType_ConfirmedState_Id' +ObjectIdNames[18548] = 'SystemDiagnosticAlarmType_ConfirmedState_Name' +ObjectIdNames[18549] = 'SystemDiagnosticAlarmType_ConfirmedState_Number' +ObjectIdNames[18550] = 'SystemDiagnosticAlarmType_ConfirmedState_EffectiveDisplayName' +ObjectIdNames[18551] = 'SystemDiagnosticAlarmType_ConfirmedState_TransitionTime' +ObjectIdNames[18552] = 'SystemDiagnosticAlarmType_ConfirmedState_EffectiveTransitionTime' +ObjectIdNames[18553] = 'SystemDiagnosticAlarmType_ConfirmedState_TrueState' +ObjectIdNames[18554] = 'SystemDiagnosticAlarmType_ConfirmedState_FalseState' +ObjectIdNames[18555] = 'SystemDiagnosticAlarmType_Acknowledge' +ObjectIdNames[18556] = 'SystemDiagnosticAlarmType_Acknowledge_InputArguments' +ObjectIdNames[18557] = 'SystemDiagnosticAlarmType_Confirm' +ObjectIdNames[18558] = 'SystemDiagnosticAlarmType_Confirm_InputArguments' +ObjectIdNames[18559] = 'SystemDiagnosticAlarmType_ActiveState' +ObjectIdNames[18560] = 'SystemDiagnosticAlarmType_ActiveState_Id' +ObjectIdNames[18561] = 'SystemDiagnosticAlarmType_ActiveState_Name' +ObjectIdNames[18562] = 'SystemDiagnosticAlarmType_ActiveState_Number' +ObjectIdNames[18563] = 'SystemDiagnosticAlarmType_ActiveState_EffectiveDisplayName' +ObjectIdNames[18564] = 'SystemDiagnosticAlarmType_ActiveState_TransitionTime' +ObjectIdNames[18565] = 'SystemDiagnosticAlarmType_ActiveState_EffectiveTransitionTime' +ObjectIdNames[18566] = 'SystemDiagnosticAlarmType_ActiveState_TrueState' +ObjectIdNames[18567] = 'SystemDiagnosticAlarmType_ActiveState_FalseState' +ObjectIdNames[18568] = 'SystemDiagnosticAlarmType_InputNode' +ObjectIdNames[18569] = 'SystemDiagnosticAlarmType_SuppressedState' +ObjectIdNames[18570] = 'SystemDiagnosticAlarmType_SuppressedState_Id' +ObjectIdNames[18571] = 'SystemDiagnosticAlarmType_SuppressedState_Name' +ObjectIdNames[18572] = 'SystemDiagnosticAlarmType_SuppressedState_Number' +ObjectIdNames[18573] = 'SystemDiagnosticAlarmType_SuppressedState_EffectiveDisplayName' +ObjectIdNames[18574] = 'SystemDiagnosticAlarmType_SuppressedState_TransitionTime' +ObjectIdNames[18575] = 'SystemDiagnosticAlarmType_SuppressedState_EffectiveTransitionTime' +ObjectIdNames[18576] = 'SystemDiagnosticAlarmType_SuppressedState_TrueState' +ObjectIdNames[18577] = 'SystemDiagnosticAlarmType_SuppressedState_FalseState' +ObjectIdNames[18578] = 'SystemDiagnosticAlarmType_OutOfServiceState' +ObjectIdNames[18579] = 'SystemDiagnosticAlarmType_OutOfServiceState_Id' +ObjectIdNames[18580] = 'SystemDiagnosticAlarmType_OutOfServiceState_Name' +ObjectIdNames[18581] = 'SystemDiagnosticAlarmType_OutOfServiceState_Number' +ObjectIdNames[18582] = 'SystemDiagnosticAlarmType_OutOfServiceState_EffectiveDisplayName' +ObjectIdNames[18583] = 'SystemDiagnosticAlarmType_OutOfServiceState_TransitionTime' +ObjectIdNames[18584] = 'SystemDiagnosticAlarmType_OutOfServiceState_EffectiveTransitionTime' +ObjectIdNames[18585] = 'SystemDiagnosticAlarmType_OutOfServiceState_TrueState' +ObjectIdNames[18586] = 'SystemDiagnosticAlarmType_OutOfServiceState_FalseState' +ObjectIdNames[18587] = 'SystemDiagnosticAlarmType_ShelvingState' +ObjectIdNames[18588] = 'SystemDiagnosticAlarmType_ShelvingState_CurrentState' +ObjectIdNames[18589] = 'SystemDiagnosticAlarmType_ShelvingState_CurrentState_Id' +ObjectIdNames[18590] = 'SystemDiagnosticAlarmType_ShelvingState_CurrentState_Name' +ObjectIdNames[18591] = 'SystemDiagnosticAlarmType_ShelvingState_CurrentState_Number' +ObjectIdNames[18592] = 'SystemDiagnosticAlarmType_ShelvingState_CurrentState_EffectiveDisplayName' +ObjectIdNames[18593] = 'SystemDiagnosticAlarmType_ShelvingState_LastTransition' +ObjectIdNames[18594] = 'SystemDiagnosticAlarmType_ShelvingState_LastTransition_Id' +ObjectIdNames[18595] = 'SystemDiagnosticAlarmType_ShelvingState_LastTransition_Name' +ObjectIdNames[18596] = 'SystemDiagnosticAlarmType_ShelvingState_LastTransition_Number' +ObjectIdNames[18597] = 'SystemDiagnosticAlarmType_ShelvingState_LastTransition_TransitionTime' +ObjectIdNames[18598] = 'SystemDiagnosticAlarmType_ShelvingState_LastTransition_EffectiveTransitionTime' +ObjectIdNames[18599] = 'SystemDiagnosticAlarmType_ShelvingState_AvailableStates' +ObjectIdNames[18600] = 'SystemDiagnosticAlarmType_ShelvingState_AvailableTransitions' +ObjectIdNames[18601] = 'SystemDiagnosticAlarmType_ShelvingState_UnshelveTime' +ObjectIdNames[18602] = 'SystemDiagnosticAlarmType_ShelvingState_TimedShelve' +ObjectIdNames[18603] = 'SystemDiagnosticAlarmType_ShelvingState_TimedShelve_InputArguments' +ObjectIdNames[18604] = 'SystemDiagnosticAlarmType_ShelvingState_Unshelve' +ObjectIdNames[18605] = 'SystemDiagnosticAlarmType_ShelvingState_OneShotShelve' +ObjectIdNames[18606] = 'SystemDiagnosticAlarmType_SuppressedOrShelved' +ObjectIdNames[18607] = 'SystemDiagnosticAlarmType_MaxTimeShelved' +ObjectIdNames[18608] = 'SystemDiagnosticAlarmType_AudibleEnabled' +ObjectIdNames[18609] = 'SystemDiagnosticAlarmType_AudibleSound' +ObjectIdNames[18610] = 'SystemDiagnosticAlarmType_AudibleSound_ListId' +ObjectIdNames[18611] = 'SystemDiagnosticAlarmType_AudibleSound_AgencyId' +ObjectIdNames[18612] = 'SystemDiagnosticAlarmType_AudibleSound_VersionId' +ObjectIdNames[18613] = 'SystemDiagnosticAlarmType_SilenceState' +ObjectIdNames[18614] = 'SystemDiagnosticAlarmType_SilenceState_Id' +ObjectIdNames[18615] = 'SystemDiagnosticAlarmType_SilenceState_Name' +ObjectIdNames[18616] = 'SystemDiagnosticAlarmType_SilenceState_Number' +ObjectIdNames[18617] = 'SystemDiagnosticAlarmType_SilenceState_EffectiveDisplayName' +ObjectIdNames[18618] = 'SystemDiagnosticAlarmType_SilenceState_TransitionTime' +ObjectIdNames[18619] = 'SystemDiagnosticAlarmType_SilenceState_EffectiveTransitionTime' +ObjectIdNames[18620] = 'SystemDiagnosticAlarmType_SilenceState_TrueState' +ObjectIdNames[18621] = 'SystemDiagnosticAlarmType_SilenceState_FalseState' +ObjectIdNames[18622] = 'SystemDiagnosticAlarmType_OnDelay' +ObjectIdNames[18623] = 'SystemDiagnosticAlarmType_OffDelay' +ObjectIdNames[18624] = 'SystemDiagnosticAlarmType_FirstInGroupFlag' +ObjectIdNames[18625] = 'SystemDiagnosticAlarmType_FirstInGroup' +ObjectIdNames[18626] = 'SystemDiagnosticAlarmType_LatchedState' +ObjectIdNames[18627] = 'SystemDiagnosticAlarmType_LatchedState_Id' +ObjectIdNames[18628] = 'SystemDiagnosticAlarmType_LatchedState_Name' +ObjectIdNames[18629] = 'SystemDiagnosticAlarmType_LatchedState_Number' +ObjectIdNames[18630] = 'SystemDiagnosticAlarmType_LatchedState_EffectiveDisplayName' +ObjectIdNames[18631] = 'SystemDiagnosticAlarmType_LatchedState_TransitionTime' +ObjectIdNames[18632] = 'SystemDiagnosticAlarmType_LatchedState_EffectiveTransitionTime' +ObjectIdNames[18633] = 'SystemDiagnosticAlarmType_LatchedState_TrueState' +ObjectIdNames[18634] = 'SystemDiagnosticAlarmType_LatchedState_FalseState' +ObjectIdNames[18635] = 'SystemDiagnosticAlarmType_AlarmGroup_Placeholder' +ObjectIdNames[18636] = 'SystemDiagnosticAlarmType_ReAlarmTime' +ObjectIdNames[18637] = 'SystemDiagnosticAlarmType_ReAlarmRepeatCount' +ObjectIdNames[18638] = 'SystemDiagnosticAlarmType_Silence' +ObjectIdNames[18639] = 'SystemDiagnosticAlarmType_Suppress' +ObjectIdNames[18640] = 'SystemDiagnosticAlarmType_Unsuppress' +ObjectIdNames[18641] = 'SystemDiagnosticAlarmType_RemoveFromService' +ObjectIdNames[18642] = 'SystemDiagnosticAlarmType_PlaceInService' +ObjectIdNames[18643] = 'SystemDiagnosticAlarmType_Reset' +ObjectIdNames[18644] = 'SystemDiagnosticAlarmType_NormalState' +ObjectIdNames[18645] = 'CertificateExpirationAlarmType_LatchedState' +ObjectIdNames[18646] = 'CertificateExpirationAlarmType_LatchedState_Id' +ObjectIdNames[18647] = 'CertificateExpirationAlarmType_LatchedState_Name' +ObjectIdNames[18648] = 'CertificateExpirationAlarmType_LatchedState_Number' +ObjectIdNames[18649] = 'CertificateExpirationAlarmType_LatchedState_EffectiveDisplayName' +ObjectIdNames[18650] = 'CertificateExpirationAlarmType_LatchedState_TransitionTime' +ObjectIdNames[18651] = 'CertificateExpirationAlarmType_LatchedState_EffectiveTransitionTime' +ObjectIdNames[18652] = 'CertificateExpirationAlarmType_LatchedState_TrueState' +ObjectIdNames[18653] = 'CertificateExpirationAlarmType_LatchedState_FalseState' +ObjectIdNames[18654] = 'CertificateExpirationAlarmType_Reset' +ObjectIdNames[18655] = 'DiscrepancyAlarmType_LatchedState' +ObjectIdNames[18656] = 'DiscrepancyAlarmType_LatchedState_Id' +ObjectIdNames[18657] = 'DiscrepancyAlarmType_LatchedState_Name' +ObjectIdNames[18658] = 'DiscrepancyAlarmType_LatchedState_Number' +ObjectIdNames[18659] = 'DiscrepancyAlarmType_LatchedState_EffectiveDisplayName' +ObjectIdNames[18660] = 'DiscrepancyAlarmType_LatchedState_TransitionTime' +ObjectIdNames[18661] = 'DiscrepancyAlarmType_LatchedState_EffectiveTransitionTime' +ObjectIdNames[18662] = 'DiscrepancyAlarmType_LatchedState_TrueState' +ObjectIdNames[18663] = 'DiscrepancyAlarmType_LatchedState_FalseState' +ObjectIdNames[18664] = 'DiscrepancyAlarmType_Reset' +ObjectIdNames[18665] = 'StatisticalConditionClassType' +ObjectIdNames[18666] = 'AlarmMetricsType_Reset' +ObjectIdNames[18667] = 'PublishSubscribeType_ConnectionName_Placeholder_Diagnostics' +ObjectIdNames[18668] = 'PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_DiagnosticsLevel' +ObjectIdNames[18669] = 'PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_TotalInformation' +ObjectIdNames[18670] = 'PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_TotalInformation_Active' +ObjectIdNames[18671] = 'PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_TotalInformation_Classification' +ObjectIdNames[18672] = 'PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_TotalInformation_DiagnosticsLevel' +ObjectIdNames[18673] = 'PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_TotalInformation_TimeFirstChange' +ObjectIdNames[18674] = 'PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_TotalError' +ObjectIdNames[18675] = 'PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_TotalError_Active' +ObjectIdNames[18676] = 'PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_TotalError_Classification' +ObjectIdNames[18677] = 'PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_TotalError_DiagnosticsLevel' +ObjectIdNames[18678] = 'PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_TotalError_TimeFirstChange' +ObjectIdNames[18679] = 'PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Reset' +ObjectIdNames[18680] = 'PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_SubError' +ObjectIdNames[18681] = 'PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters' +ObjectIdNames[18682] = 'PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateError' +ObjectIdNames[18683] = 'PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateError_Active' +ObjectIdNames[18684] = 'PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateError_Classification' +ObjectIdNames[18685] = 'PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateError_DiagnosticsLevel' +ObjectIdNames[18686] = 'PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateError_TimeFirstChange' +ObjectIdNames[18687] = 'PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByMethod' +ObjectIdNames[18688] = 'PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Active' +ObjectIdNames[18689] = 'PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Classification' +ObjectIdNames[18690] = 'PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_DiagnosticsLevel' +ObjectIdNames[18691] = 'PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_TimeFirstChange' +ObjectIdNames[18692] = 'PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByParent' +ObjectIdNames[18693] = 'PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Active' +ObjectIdNames[18694] = 'PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Classification' +ObjectIdNames[18695] = 'PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByParent_DiagnosticsLevel' +ObjectIdNames[18696] = 'PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalByParent_TimeFirstChange' +ObjectIdNames[18697] = 'PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalFromError' +ObjectIdNames[18698] = 'PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Active' +ObjectIdNames[18699] = 'PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Classification' +ObjectIdNames[18700] = 'PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalFromError_DiagnosticsLevel' +ObjectIdNames[18701] = 'PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateOperationalFromError_TimeFirstChange' +ObjectIdNames[18702] = 'PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StatePausedByParent' +ObjectIdNames[18703] = 'PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StatePausedByParent_Active' +ObjectIdNames[18704] = 'PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StatePausedByParent_Classification' +ObjectIdNames[18705] = 'PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StatePausedByParent_DiagnosticsLevel' +ObjectIdNames[18706] = 'PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StatePausedByParent_TimeFirstChange' +ObjectIdNames[18707] = 'PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateDisabledByMethod' +ObjectIdNames[18708] = 'PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Active' +ObjectIdNames[18709] = 'PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Classification' +ObjectIdNames[18710] = 'PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_DiagnosticsLevel' +ObjectIdNames[18711] = 'PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_TimeFirstChange' +ObjectIdNames[18712] = 'PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_LiveValues' +ObjectIdNames[18713] = 'PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_LiveValues_ResolvedAddress' +ObjectIdNames[18714] = 'PublishSubscribeType_ConnectionName_Placeholder_Diagnostics_LiveValues_ResolvedAddress_DiagnosticsLevel' +ObjectIdNames[18715] = 'PublishSubscribeType_Diagnostics' +ObjectIdNames[18716] = 'PublishSubscribeType_Diagnostics_DiagnosticsLevel' +ObjectIdNames[18717] = 'PublishSubscribeType_Diagnostics_TotalInformation' +ObjectIdNames[18718] = 'PublishSubscribeType_Diagnostics_TotalInformation_Active' +ObjectIdNames[18719] = 'PublishSubscribeType_Diagnostics_TotalInformation_Classification' +ObjectIdNames[18720] = 'PublishSubscribeType_Diagnostics_TotalInformation_DiagnosticsLevel' +ObjectIdNames[18721] = 'PublishSubscribeType_Diagnostics_TotalInformation_TimeFirstChange' +ObjectIdNames[18722] = 'PublishSubscribeType_Diagnostics_TotalError' +ObjectIdNames[18723] = 'PublishSubscribeType_Diagnostics_TotalError_Active' +ObjectIdNames[18724] = 'PublishSubscribeType_Diagnostics_TotalError_Classification' +ObjectIdNames[18725] = 'PublishSubscribeType_Diagnostics_TotalError_DiagnosticsLevel' +ObjectIdNames[18726] = 'PublishSubscribeType_Diagnostics_TotalError_TimeFirstChange' +ObjectIdNames[18727] = 'PublishSubscribeType_Diagnostics_Reset' +ObjectIdNames[18728] = 'PublishSubscribeType_Diagnostics_SubError' +ObjectIdNames[18729] = 'PublishSubscribeType_Diagnostics_Counters' +ObjectIdNames[18730] = 'PublishSubscribeType_Diagnostics_Counters_StateError' +ObjectIdNames[18731] = 'PublishSubscribeType_Diagnostics_Counters_StateError_Active' +ObjectIdNames[18732] = 'PublishSubscribeType_Diagnostics_Counters_StateError_Classification' +ObjectIdNames[18733] = 'PublishSubscribeType_Diagnostics_Counters_StateError_DiagnosticsLevel' +ObjectIdNames[18734] = 'PublishSubscribeType_Diagnostics_Counters_StateError_TimeFirstChange' +ObjectIdNames[18735] = 'PublishSubscribeType_Diagnostics_Counters_StateOperationalByMethod' +ObjectIdNames[18736] = 'PublishSubscribeType_Diagnostics_Counters_StateOperationalByMethod_Active' +ObjectIdNames[18737] = 'PublishSubscribeType_Diagnostics_Counters_StateOperationalByMethod_Classification' +ObjectIdNames[18738] = 'PublishSubscribeType_Diagnostics_Counters_StateOperationalByMethod_DiagnosticsLevel' +ObjectIdNames[18739] = 'PublishSubscribeType_Diagnostics_Counters_StateOperationalByMethod_TimeFirstChange' +ObjectIdNames[18740] = 'PublishSubscribeType_Diagnostics_Counters_StateOperationalByParent' +ObjectIdNames[18741] = 'PublishSubscribeType_Diagnostics_Counters_StateOperationalByParent_Active' +ObjectIdNames[18742] = 'PublishSubscribeType_Diagnostics_Counters_StateOperationalByParent_Classification' +ObjectIdNames[18743] = 'PublishSubscribeType_Diagnostics_Counters_StateOperationalByParent_DiagnosticsLevel' +ObjectIdNames[18744] = 'PublishSubscribeType_Diagnostics_Counters_StateOperationalByParent_TimeFirstChange' +ObjectIdNames[18745] = 'PublishSubscribeType_Diagnostics_Counters_StateOperationalFromError' +ObjectIdNames[18746] = 'PublishSubscribeType_Diagnostics_Counters_StateOperationalFromError_Active' +ObjectIdNames[18747] = 'PublishSubscribeType_Diagnostics_Counters_StateOperationalFromError_Classification' +ObjectIdNames[18748] = 'PublishSubscribeType_Diagnostics_Counters_StateOperationalFromError_DiagnosticsLevel' +ObjectIdNames[18749] = 'PublishSubscribeType_Diagnostics_Counters_StateOperationalFromError_TimeFirstChange' +ObjectIdNames[18750] = 'PublishSubscribeType_Diagnostics_Counters_StatePausedByParent' +ObjectIdNames[18751] = 'PublishSubscribeType_Diagnostics_Counters_StatePausedByParent_Active' +ObjectIdNames[18752] = 'PublishSubscribeType_Diagnostics_Counters_StatePausedByParent_Classification' +ObjectIdNames[18753] = 'PublishSubscribeType_Diagnostics_Counters_StatePausedByParent_DiagnosticsLevel' +ObjectIdNames[18754] = 'PublishSubscribeType_Diagnostics_Counters_StatePausedByParent_TimeFirstChange' +ObjectIdNames[18755] = 'PublishSubscribeType_Diagnostics_Counters_StateDisabledByMethod' +ObjectIdNames[18756] = 'PublishSubscribeType_Diagnostics_Counters_StateDisabledByMethod_Active' +ObjectIdNames[18757] = 'PublishSubscribeType_Diagnostics_Counters_StateDisabledByMethod_Classification' +ObjectIdNames[18758] = 'PublishSubscribeType_Diagnostics_Counters_StateDisabledByMethod_DiagnosticsLevel' +ObjectIdNames[18759] = 'PublishSubscribeType_Diagnostics_Counters_StateDisabledByMethod_TimeFirstChange' +ObjectIdNames[18760] = 'PublishSubscribeType_Diagnostics_LiveValues' +ObjectIdNames[18761] = 'PublishSubscribeType_Diagnostics_LiveValues_ConfiguredDataSetWriters' +ObjectIdNames[18762] = 'PublishSubscribeType_Diagnostics_LiveValues_ConfiguredDataSetWriters_DiagnosticsLevel' +ObjectIdNames[18763] = 'PublishSubscribeType_Diagnostics_LiveValues_ConfiguredDataSetReaders' +ObjectIdNames[18764] = 'PublishSubscribeType_Diagnostics_LiveValues_ConfiguredDataSetReaders_DiagnosticsLevel' +ObjectIdNames[18765] = 'PublishSubscribeType_Diagnostics_LiveValues_OperationalDataSetWriters' +ObjectIdNames[18766] = 'PublishSubscribeType_Diagnostics_LiveValues_OperationalDataSetWriters_DiagnosticsLevel' +ObjectIdNames[18767] = 'PublishSubscribeType_Diagnostics_LiveValues_OperationalDataSetReaders' +ObjectIdNames[18768] = 'PublishSubscribeType_Diagnostics_LiveValues_OperationalDataSetReaders_DiagnosticsLevel' +ObjectIdNames[18871] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics' +ObjectIdNames[18872] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_DiagnosticsLevel' +ObjectIdNames[18873] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation' +ObjectIdNames[18874] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation_Active' +ObjectIdNames[18875] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation_Classification' +ObjectIdNames[18876] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation_DiagnosticsLevel' +ObjectIdNames[18877] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation_TimeFirstChange' +ObjectIdNames[18878] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_TotalError' +ObjectIdNames[18879] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_TotalError_Active' +ObjectIdNames[18880] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_TotalError_Classification' +ObjectIdNames[18881] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_TotalError_DiagnosticsLevel' +ObjectIdNames[18882] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_TotalError_TimeFirstChange' +ObjectIdNames[18883] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Reset' +ObjectIdNames[18884] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_SubError' +ObjectIdNames[18885] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters' +ObjectIdNames[18886] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError' +ObjectIdNames[18887] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError_Active' +ObjectIdNames[18888] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError_Classification' +ObjectIdNames[18889] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError_DiagnosticsLevel' +ObjectIdNames[18890] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError_TimeFirstChange' +ObjectIdNames[18891] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod' +ObjectIdNames[18892] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Active' +ObjectIdNames[18893] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Classification' +ObjectIdNames[18894] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_DiagnosticsLevel' +ObjectIdNames[18895] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_TimeFirstChange' +ObjectIdNames[18896] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent' +ObjectIdNames[18897] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Active' +ObjectIdNames[18898] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Classification' +ObjectIdNames[18899] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent_DiagnosticsLevel' +ObjectIdNames[18900] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent_TimeFirstChange' +ObjectIdNames[18901] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError' +ObjectIdNames[18902] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Active' +ObjectIdNames[18903] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Classification' +ObjectIdNames[18904] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError_DiagnosticsLevel' +ObjectIdNames[18905] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError_TimeFirstChange' +ObjectIdNames[18906] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent' +ObjectIdNames[18907] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent_Active' +ObjectIdNames[18908] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent_Classification' +ObjectIdNames[18909] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent_DiagnosticsLevel' +ObjectIdNames[18910] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent_TimeFirstChange' +ObjectIdNames[18911] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod' +ObjectIdNames[18912] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Active' +ObjectIdNames[18913] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Classification' +ObjectIdNames[18914] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_DiagnosticsLevel' +ObjectIdNames[18915] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_TimeFirstChange' +ObjectIdNames[18916] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_LiveValues' +ObjectIdNames[18917] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages' +ObjectIdNames[18918] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_Active' +ObjectIdNames[18919] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_Classification' +ObjectIdNames[18920] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_DiagnosticsLevel' +ObjectIdNames[18921] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_TimeFirstChange' +ObjectIdNames[18922] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MessageSequenceNumber' +ObjectIdNames[18923] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MessageSequenceNumber_DiagnosticsLevel' +ObjectIdNames[18924] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_StatusCode' +ObjectIdNames[18925] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_StatusCode_DiagnosticsLevel' +ObjectIdNames[18926] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MajorVersion' +ObjectIdNames[18927] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MajorVersion_DiagnosticsLevel' +ObjectIdNames[18928] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MinorVersion' +ObjectIdNames[18929] = 'PublishedDataSetType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MinorVersion_DiagnosticsLevel' +ObjectIdNames[18930] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics' +ObjectIdNames[18931] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_DiagnosticsLevel' +ObjectIdNames[18932] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation' +ObjectIdNames[18933] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation_Active' +ObjectIdNames[18934] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation_Classification' +ObjectIdNames[18935] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation_DiagnosticsLevel' +ObjectIdNames[18936] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation_TimeFirstChange' +ObjectIdNames[18937] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_TotalError' +ObjectIdNames[18938] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_TotalError_Active' +ObjectIdNames[18939] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_TotalError_Classification' +ObjectIdNames[18940] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_TotalError_DiagnosticsLevel' +ObjectIdNames[18941] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_TotalError_TimeFirstChange' +ObjectIdNames[18942] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Reset' +ObjectIdNames[18943] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_SubError' +ObjectIdNames[18944] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters' +ObjectIdNames[18945] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError' +ObjectIdNames[18946] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError_Active' +ObjectIdNames[18947] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError_Classification' +ObjectIdNames[18948] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError_DiagnosticsLevel' +ObjectIdNames[18949] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError_TimeFirstChange' +ObjectIdNames[18950] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod' +ObjectIdNames[18951] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Active' +ObjectIdNames[18952] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Classification' +ObjectIdNames[18953] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_DiagnosticsLevel' +ObjectIdNames[18954] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_TimeFirstChange' +ObjectIdNames[18955] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent' +ObjectIdNames[18956] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Active' +ObjectIdNames[18957] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Classification' +ObjectIdNames[18958] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent_DiagnosticsLevel' +ObjectIdNames[18959] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent_TimeFirstChange' +ObjectIdNames[18960] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError' +ObjectIdNames[18961] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Active' +ObjectIdNames[18962] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Classification' +ObjectIdNames[18963] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError_DiagnosticsLevel' +ObjectIdNames[18964] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError_TimeFirstChange' +ObjectIdNames[18965] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent' +ObjectIdNames[18966] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent_Active' +ObjectIdNames[18967] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent_Classification' +ObjectIdNames[18968] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent_DiagnosticsLevel' +ObjectIdNames[18969] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent_TimeFirstChange' +ObjectIdNames[18970] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod' +ObjectIdNames[18971] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Active' +ObjectIdNames[18972] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Classification' +ObjectIdNames[18973] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_DiagnosticsLevel' +ObjectIdNames[18974] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_TimeFirstChange' +ObjectIdNames[18975] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues' +ObjectIdNames[18976] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages' +ObjectIdNames[18977] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_Active' +ObjectIdNames[18978] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_Classification' +ObjectIdNames[18979] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_DiagnosticsLevel' +ObjectIdNames[18980] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_TimeFirstChange' +ObjectIdNames[18981] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MessageSequenceNumber' +ObjectIdNames[18982] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MessageSequenceNumber_DiagnosticsLevel' +ObjectIdNames[18983] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_StatusCode' +ObjectIdNames[18984] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_StatusCode_DiagnosticsLevel' +ObjectIdNames[18985] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MajorVersion' +ObjectIdNames[18986] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MajorVersion_DiagnosticsLevel' +ObjectIdNames[18987] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MinorVersion' +ObjectIdNames[18988] = 'PublishedDataItemsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MinorVersion_DiagnosticsLevel' +ObjectIdNames[18989] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics' +ObjectIdNames[18990] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_DiagnosticsLevel' +ObjectIdNames[18991] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation' +ObjectIdNames[18992] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation_Active' +ObjectIdNames[18993] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation_Classification' +ObjectIdNames[18994] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation_DiagnosticsLevel' +ObjectIdNames[18995] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_TotalInformation_TimeFirstChange' +ObjectIdNames[18996] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_TotalError' +ObjectIdNames[18997] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_TotalError_Active' +ObjectIdNames[18998] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_TotalError_Classification' +ObjectIdNames[18999] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_TotalError_DiagnosticsLevel' +ObjectIdNames[19000] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_TotalError_TimeFirstChange' +ObjectIdNames[19001] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Reset' +ObjectIdNames[19002] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_SubError' +ObjectIdNames[19003] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters' +ObjectIdNames[19004] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError' +ObjectIdNames[19005] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError_Active' +ObjectIdNames[19006] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError_Classification' +ObjectIdNames[19007] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError_DiagnosticsLevel' +ObjectIdNames[19008] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateError_TimeFirstChange' +ObjectIdNames[19009] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod' +ObjectIdNames[19010] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Active' +ObjectIdNames[19011] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Classification' +ObjectIdNames[19012] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_DiagnosticsLevel' +ObjectIdNames[19013] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_TimeFirstChange' +ObjectIdNames[19014] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent' +ObjectIdNames[19015] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Active' +ObjectIdNames[19016] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Classification' +ObjectIdNames[19017] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent_DiagnosticsLevel' +ObjectIdNames[19018] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalByParent_TimeFirstChange' +ObjectIdNames[19019] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError' +ObjectIdNames[19020] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Active' +ObjectIdNames[19021] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Classification' +ObjectIdNames[19022] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError_DiagnosticsLevel' +ObjectIdNames[19023] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateOperationalFromError_TimeFirstChange' +ObjectIdNames[19024] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent' +ObjectIdNames[19025] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent_Active' +ObjectIdNames[19026] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent_Classification' +ObjectIdNames[19027] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent_DiagnosticsLevel' +ObjectIdNames[19028] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StatePausedByParent_TimeFirstChange' +ObjectIdNames[19029] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod' +ObjectIdNames[19030] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Active' +ObjectIdNames[19031] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Classification' +ObjectIdNames[19032] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_DiagnosticsLevel' +ObjectIdNames[19033] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_TimeFirstChange' +ObjectIdNames[19034] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues' +ObjectIdNames[19035] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages' +ObjectIdNames[19036] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_Active' +ObjectIdNames[19037] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_Classification' +ObjectIdNames[19038] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_DiagnosticsLevel' +ObjectIdNames[19039] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_Counters_FailedDataSetMessages_TimeFirstChange' +ObjectIdNames[19040] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MessageSequenceNumber' +ObjectIdNames[19041] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MessageSequenceNumber_DiagnosticsLevel' +ObjectIdNames[19042] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_StatusCode' +ObjectIdNames[19043] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_StatusCode_DiagnosticsLevel' +ObjectIdNames[19044] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MajorVersion' +ObjectIdNames[19045] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MajorVersion_DiagnosticsLevel' +ObjectIdNames[19046] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MinorVersion' +ObjectIdNames[19047] = 'PublishedEventsType_DataSetWriterName_Placeholder_Diagnostics_LiveValues_MinorVersion_DiagnosticsLevel' +ObjectIdNames[19107] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics' +ObjectIdNames[19108] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_DiagnosticsLevel' +ObjectIdNames[19109] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_TotalInformation' +ObjectIdNames[19110] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_TotalInformation_Active' +ObjectIdNames[19111] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_TotalInformation_Classification' +ObjectIdNames[19112] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_TotalInformation_DiagnosticsLevel' +ObjectIdNames[19113] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_TotalInformation_TimeFirstChange' +ObjectIdNames[19114] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_TotalError' +ObjectIdNames[19115] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_TotalError_Active' +ObjectIdNames[19116] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_TotalError_Classification' +ObjectIdNames[19117] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_TotalError_DiagnosticsLevel' +ObjectIdNames[19118] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_TotalError_TimeFirstChange' +ObjectIdNames[19119] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Reset' +ObjectIdNames[19120] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_SubError' +ObjectIdNames[19121] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters' +ObjectIdNames[19122] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateError' +ObjectIdNames[19123] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateError_Active' +ObjectIdNames[19124] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateError_Classification' +ObjectIdNames[19125] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateError_DiagnosticsLevel' +ObjectIdNames[19126] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateError_TimeFirstChange' +ObjectIdNames[19127] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateOperationalByMethod' +ObjectIdNames[19128] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Active' +ObjectIdNames[19129] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Classification' +ObjectIdNames[19130] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_DiagnosticsLevel' +ObjectIdNames[19131] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_TimeFirstChange' +ObjectIdNames[19132] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateOperationalByParent' +ObjectIdNames[19133] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Active' +ObjectIdNames[19134] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Classification' +ObjectIdNames[19135] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateOperationalByParent_DiagnosticsLevel' +ObjectIdNames[19136] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateOperationalByParent_TimeFirstChange' +ObjectIdNames[19137] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateOperationalFromError' +ObjectIdNames[19138] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Active' +ObjectIdNames[19139] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Classification' +ObjectIdNames[19140] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateOperationalFromError_DiagnosticsLevel' +ObjectIdNames[19141] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateOperationalFromError_TimeFirstChange' +ObjectIdNames[19142] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StatePausedByParent' +ObjectIdNames[19143] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StatePausedByParent_Active' +ObjectIdNames[19144] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StatePausedByParent_Classification' +ObjectIdNames[19145] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StatePausedByParent_DiagnosticsLevel' +ObjectIdNames[19146] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StatePausedByParent_TimeFirstChange' +ObjectIdNames[19147] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateDisabledByMethod' +ObjectIdNames[19148] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Active' +ObjectIdNames[19149] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Classification' +ObjectIdNames[19150] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_DiagnosticsLevel' +ObjectIdNames[19151] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_TimeFirstChange' +ObjectIdNames[19152] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_LiveValues' +ObjectIdNames[19153] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_SentNetworkMessages' +ObjectIdNames[19154] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_SentNetworkMessages_Active' +ObjectIdNames[19155] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_SentNetworkMessages_Classification' +ObjectIdNames[19156] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_SentNetworkMessages_DiagnosticsLevel' +ObjectIdNames[19157] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_SentNetworkMessages_TimeFirstChange' +ObjectIdNames[19158] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_FailedTransmissions' +ObjectIdNames[19159] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_FailedTransmissions_Active' +ObjectIdNames[19160] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_FailedTransmissions_Classification' +ObjectIdNames[19161] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_FailedTransmissions_DiagnosticsLevel' +ObjectIdNames[19162] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_FailedTransmissions_TimeFirstChange' +ObjectIdNames[19163] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_EncryptionErrors' +ObjectIdNames[19164] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_EncryptionErrors_Active' +ObjectIdNames[19165] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_EncryptionErrors_Classification' +ObjectIdNames[19166] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_EncryptionErrors_DiagnosticsLevel' +ObjectIdNames[19167] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_Counters_EncryptionErrors_TimeFirstChange' +ObjectIdNames[19168] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_LiveValues_ConfiguredDataSetWriters' +ObjectIdNames[19169] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_LiveValues_ConfiguredDataSetWriters_DiagnosticsLevel' +ObjectIdNames[19170] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_LiveValues_OperationalDataSetWriters' +ObjectIdNames[19171] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_LiveValues_OperationalDataSetWriters_DiagnosticsLevel' +ObjectIdNames[19172] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_LiveValues_SecurityTokenID' +ObjectIdNames[19173] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_LiveValues_SecurityTokenID_DiagnosticsLevel' +ObjectIdNames[19174] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_LiveValues_TimeToNextTokenID' +ObjectIdNames[19175] = 'PubSubConnectionType_WriterGroupName_Placeholder_Diagnostics_LiveValues_TimeToNextTokenID_DiagnosticsLevel' +ObjectIdNames[19176] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics' +ObjectIdNames[19177] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_DiagnosticsLevel' +ObjectIdNames[19178] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_TotalInformation' +ObjectIdNames[19179] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_TotalInformation_Active' +ObjectIdNames[19180] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_TotalInformation_Classification' +ObjectIdNames[19181] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_TotalInformation_DiagnosticsLevel' +ObjectIdNames[19182] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_TotalInformation_TimeFirstChange' +ObjectIdNames[19183] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_TotalError' +ObjectIdNames[19184] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_TotalError_Active' +ObjectIdNames[19185] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_TotalError_Classification' +ObjectIdNames[19186] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_TotalError_DiagnosticsLevel' +ObjectIdNames[19187] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_TotalError_TimeFirstChange' +ObjectIdNames[19188] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Reset' +ObjectIdNames[19189] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_SubError' +ObjectIdNames[19190] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters' +ObjectIdNames[19191] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateError' +ObjectIdNames[19192] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateError_Active' +ObjectIdNames[19193] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateError_Classification' +ObjectIdNames[19194] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateError_DiagnosticsLevel' +ObjectIdNames[19195] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateError_TimeFirstChange' +ObjectIdNames[19196] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateOperationalByMethod' +ObjectIdNames[19197] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Active' +ObjectIdNames[19198] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_Classification' +ObjectIdNames[19199] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_DiagnosticsLevel' +ObjectIdNames[19200] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateOperationalByMethod_TimeFirstChange' +ObjectIdNames[19201] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateOperationalByParent' +ObjectIdNames[19202] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Active' +ObjectIdNames[19203] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateOperationalByParent_Classification' +ObjectIdNames[19204] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateOperationalByParent_DiagnosticsLevel' +ObjectIdNames[19205] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateOperationalByParent_TimeFirstChange' +ObjectIdNames[19206] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateOperationalFromError' +ObjectIdNames[19207] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Active' +ObjectIdNames[19208] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateOperationalFromError_Classification' +ObjectIdNames[19209] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateOperationalFromError_DiagnosticsLevel' +ObjectIdNames[19210] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateOperationalFromError_TimeFirstChange' +ObjectIdNames[19211] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StatePausedByParent' +ObjectIdNames[19212] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StatePausedByParent_Active' +ObjectIdNames[19213] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StatePausedByParent_Classification' +ObjectIdNames[19214] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StatePausedByParent_DiagnosticsLevel' +ObjectIdNames[19215] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StatePausedByParent_TimeFirstChange' +ObjectIdNames[19216] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateDisabledByMethod' +ObjectIdNames[19217] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Active' +ObjectIdNames[19218] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_Classification' +ObjectIdNames[19219] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_DiagnosticsLevel' +ObjectIdNames[19220] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_StateDisabledByMethod_TimeFirstChange' +ObjectIdNames[19221] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_LiveValues' +ObjectIdNames[19222] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_ReceivedNetworkMessages' +ObjectIdNames[19223] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_ReceivedNetworkMessages_Active' +ObjectIdNames[19224] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_ReceivedNetworkMessages_Classification' +ObjectIdNames[19225] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_ReceivedNetworkMessages_DiagnosticsLevel' +ObjectIdNames[19226] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_ReceivedNetworkMessages_TimeFirstChange' +ObjectIdNames[19227] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_ReceivedInvalidNetworkMessages' +ObjectIdNames[19228] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_ReceivedInvalidNetworkMessages_Active' +ObjectIdNames[19229] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_ReceivedInvalidNetworkMessages_Classification' +ObjectIdNames[19230] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_ReceivedInvalidNetworkMessages_DiagnosticsLevel' +ObjectIdNames[19231] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_ReceivedInvalidNetworkMessages_TimeFirstChange' +ObjectIdNames[19232] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_DecryptionErrors' +ObjectIdNames[19233] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_DecryptionErrors_Active' +ObjectIdNames[19234] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_DecryptionErrors_Classification' +ObjectIdNames[19235] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_DecryptionErrors_DiagnosticsLevel' +ObjectIdNames[19236] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_Counters_DecryptionErrors_TimeFirstChange' +ObjectIdNames[19237] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_LiveValues_ConfiguredDataSetReaders' +ObjectIdNames[19238] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_LiveValues_ConfiguredDataSetReaders_DiagnosticsLevel' +ObjectIdNames[19239] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_LiveValues_OperationalDataSetReaders' +ObjectIdNames[19240] = 'PubSubConnectionType_ReaderGroupName_Placeholder_Diagnostics_LiveValues_OperationalDataSetReaders_DiagnosticsLevel' +ObjectIdNames[19241] = 'PubSubConnectionType_Diagnostics' +ObjectIdNames[19242] = 'PubSubConnectionType_Diagnostics_DiagnosticsLevel' +ObjectIdNames[19243] = 'PubSubConnectionType_Diagnostics_TotalInformation' +ObjectIdNames[19244] = 'PubSubConnectionType_Diagnostics_TotalInformation_Active' +ObjectIdNames[19245] = 'PubSubConnectionType_Diagnostics_TotalInformation_Classification' +ObjectIdNames[19246] = 'PubSubConnectionType_Diagnostics_TotalInformation_DiagnosticsLevel' +ObjectIdNames[19247] = 'PubSubConnectionType_Diagnostics_TotalInformation_TimeFirstChange' +ObjectIdNames[19248] = 'PubSubConnectionType_Diagnostics_TotalError' +ObjectIdNames[19249] = 'PubSubConnectionType_Diagnostics_TotalError_Active' +ObjectIdNames[19250] = 'PubSubConnectionType_Diagnostics_TotalError_Classification' +ObjectIdNames[19251] = 'PubSubConnectionType_Diagnostics_TotalError_DiagnosticsLevel' +ObjectIdNames[19252] = 'PubSubConnectionType_Diagnostics_TotalError_TimeFirstChange' +ObjectIdNames[19253] = 'PubSubConnectionType_Diagnostics_Reset' +ObjectIdNames[19254] = 'PubSubConnectionType_Diagnostics_SubError' +ObjectIdNames[19255] = 'PubSubConnectionType_Diagnostics_Counters' +ObjectIdNames[19256] = 'PubSubConnectionType_Diagnostics_Counters_StateError' +ObjectIdNames[19257] = 'PubSubConnectionType_Diagnostics_Counters_StateError_Active' +ObjectIdNames[19258] = 'PubSubConnectionType_Diagnostics_Counters_StateError_Classification' +ObjectIdNames[19259] = 'PubSubConnectionType_Diagnostics_Counters_StateError_DiagnosticsLevel' +ObjectIdNames[19260] = 'PubSubConnectionType_Diagnostics_Counters_StateError_TimeFirstChange' +ObjectIdNames[19261] = 'PubSubConnectionType_Diagnostics_Counters_StateOperationalByMethod' +ObjectIdNames[19262] = 'PubSubConnectionType_Diagnostics_Counters_StateOperationalByMethod_Active' +ObjectIdNames[19263] = 'PubSubConnectionType_Diagnostics_Counters_StateOperationalByMethod_Classification' +ObjectIdNames[19264] = 'PubSubConnectionType_Diagnostics_Counters_StateOperationalByMethod_DiagnosticsLevel' +ObjectIdNames[19265] = 'PubSubConnectionType_Diagnostics_Counters_StateOperationalByMethod_TimeFirstChange' +ObjectIdNames[19266] = 'PubSubConnectionType_Diagnostics_Counters_StateOperationalByParent' +ObjectIdNames[19267] = 'PubSubConnectionType_Diagnostics_Counters_StateOperationalByParent_Active' +ObjectIdNames[19268] = 'PubSubConnectionType_Diagnostics_Counters_StateOperationalByParent_Classification' +ObjectIdNames[19269] = 'PubSubConnectionType_Diagnostics_Counters_StateOperationalByParent_DiagnosticsLevel' +ObjectIdNames[19270] = 'PubSubConnectionType_Diagnostics_Counters_StateOperationalByParent_TimeFirstChange' +ObjectIdNames[19271] = 'PubSubConnectionType_Diagnostics_Counters_StateOperationalFromError' +ObjectIdNames[19272] = 'PubSubConnectionType_Diagnostics_Counters_StateOperationalFromError_Active' +ObjectIdNames[19273] = 'PubSubConnectionType_Diagnostics_Counters_StateOperationalFromError_Classification' +ObjectIdNames[19274] = 'PubSubConnectionType_Diagnostics_Counters_StateOperationalFromError_DiagnosticsLevel' +ObjectIdNames[19275] = 'PubSubConnectionType_Diagnostics_Counters_StateOperationalFromError_TimeFirstChange' +ObjectIdNames[19276] = 'PubSubConnectionType_Diagnostics_Counters_StatePausedByParent' +ObjectIdNames[19277] = 'PubSubConnectionType_Diagnostics_Counters_StatePausedByParent_Active' +ObjectIdNames[19278] = 'PubSubConnectionType_Diagnostics_Counters_StatePausedByParent_Classification' +ObjectIdNames[19279] = 'PubSubConnectionType_Diagnostics_Counters_StatePausedByParent_DiagnosticsLevel' +ObjectIdNames[19280] = 'PubSubConnectionType_Diagnostics_Counters_StatePausedByParent_TimeFirstChange' +ObjectIdNames[19281] = 'PubSubConnectionType_Diagnostics_Counters_StateDisabledByMethod' +ObjectIdNames[19282] = 'PubSubConnectionType_Diagnostics_Counters_StateDisabledByMethod_Active' +ObjectIdNames[19283] = 'PubSubConnectionType_Diagnostics_Counters_StateDisabledByMethod_Classification' +ObjectIdNames[19284] = 'PubSubConnectionType_Diagnostics_Counters_StateDisabledByMethod_DiagnosticsLevel' +ObjectIdNames[19285] = 'PubSubConnectionType_Diagnostics_Counters_StateDisabledByMethod_TimeFirstChange' +ObjectIdNames[19286] = 'PubSubConnectionType_Diagnostics_LiveValues' +ObjectIdNames[19287] = 'PubSubConnectionType_Diagnostics_LiveValues_ResolvedAddress' +ObjectIdNames[19288] = 'PubSubConnectionType_Diagnostics_LiveValues_ResolvedAddress_DiagnosticsLevel' +ObjectIdNames[19550] = 'DataSetWriterType_Diagnostics' +ObjectIdNames[19551] = 'DataSetWriterType_Diagnostics_DiagnosticsLevel' +ObjectIdNames[19552] = 'DataSetWriterType_Diagnostics_TotalInformation' +ObjectIdNames[19553] = 'DataSetWriterType_Diagnostics_TotalInformation_Active' +ObjectIdNames[19554] = 'DataSetWriterType_Diagnostics_TotalInformation_Classification' +ObjectIdNames[19555] = 'DataSetWriterType_Diagnostics_TotalInformation_DiagnosticsLevel' +ObjectIdNames[19556] = 'DataSetWriterType_Diagnostics_TotalInformation_TimeFirstChange' +ObjectIdNames[19557] = 'DataSetWriterType_Diagnostics_TotalError' +ObjectIdNames[19558] = 'DataSetWriterType_Diagnostics_TotalError_Active' +ObjectIdNames[19559] = 'DataSetWriterType_Diagnostics_TotalError_Classification' +ObjectIdNames[19560] = 'DataSetWriterType_Diagnostics_TotalError_DiagnosticsLevel' +ObjectIdNames[19561] = 'DataSetWriterType_Diagnostics_TotalError_TimeFirstChange' +ObjectIdNames[19562] = 'DataSetWriterType_Diagnostics_Reset' +ObjectIdNames[19563] = 'DataSetWriterType_Diagnostics_SubError' +ObjectIdNames[19564] = 'DataSetWriterType_Diagnostics_Counters' +ObjectIdNames[19565] = 'DataSetWriterType_Diagnostics_Counters_StateError' +ObjectIdNames[19566] = 'DataSetWriterType_Diagnostics_Counters_StateError_Active' +ObjectIdNames[19567] = 'DataSetWriterType_Diagnostics_Counters_StateError_Classification' +ObjectIdNames[19568] = 'DataSetWriterType_Diagnostics_Counters_StateError_DiagnosticsLevel' +ObjectIdNames[19569] = 'DataSetWriterType_Diagnostics_Counters_StateError_TimeFirstChange' +ObjectIdNames[19570] = 'DataSetWriterType_Diagnostics_Counters_StateOperationalByMethod' +ObjectIdNames[19571] = 'DataSetWriterType_Diagnostics_Counters_StateOperationalByMethod_Active' +ObjectIdNames[19572] = 'DataSetWriterType_Diagnostics_Counters_StateOperationalByMethod_Classification' +ObjectIdNames[19573] = 'DataSetWriterType_Diagnostics_Counters_StateOperationalByMethod_DiagnosticsLevel' +ObjectIdNames[19574] = 'DataSetWriterType_Diagnostics_Counters_StateOperationalByMethod_TimeFirstChange' +ObjectIdNames[19575] = 'DataSetWriterType_Diagnostics_Counters_StateOperationalByParent' +ObjectIdNames[19576] = 'DataSetWriterType_Diagnostics_Counters_StateOperationalByParent_Active' +ObjectIdNames[19577] = 'DataSetWriterType_Diagnostics_Counters_StateOperationalByParent_Classification' +ObjectIdNames[19578] = 'DataSetWriterType_Diagnostics_Counters_StateOperationalByParent_DiagnosticsLevel' +ObjectIdNames[19579] = 'DataSetWriterType_Diagnostics_Counters_StateOperationalByParent_TimeFirstChange' +ObjectIdNames[19580] = 'DataSetWriterType_Diagnostics_Counters_StateOperationalFromError' +ObjectIdNames[19581] = 'DataSetWriterType_Diagnostics_Counters_StateOperationalFromError_Active' +ObjectIdNames[19582] = 'DataSetWriterType_Diagnostics_Counters_StateOperationalFromError_Classification' +ObjectIdNames[19583] = 'DataSetWriterType_Diagnostics_Counters_StateOperationalFromError_DiagnosticsLevel' +ObjectIdNames[19584] = 'DataSetWriterType_Diagnostics_Counters_StateOperationalFromError_TimeFirstChange' +ObjectIdNames[19585] = 'DataSetWriterType_Diagnostics_Counters_StatePausedByParent' +ObjectIdNames[19586] = 'DataSetWriterType_Diagnostics_Counters_StatePausedByParent_Active' +ObjectIdNames[19587] = 'DataSetWriterType_Diagnostics_Counters_StatePausedByParent_Classification' +ObjectIdNames[19588] = 'DataSetWriterType_Diagnostics_Counters_StatePausedByParent_DiagnosticsLevel' +ObjectIdNames[19589] = 'DataSetWriterType_Diagnostics_Counters_StatePausedByParent_TimeFirstChange' +ObjectIdNames[19590] = 'DataSetWriterType_Diagnostics_Counters_StateDisabledByMethod' +ObjectIdNames[19591] = 'DataSetWriterType_Diagnostics_Counters_StateDisabledByMethod_Active' +ObjectIdNames[19592] = 'DataSetWriterType_Diagnostics_Counters_StateDisabledByMethod_Classification' +ObjectIdNames[19593] = 'DataSetWriterType_Diagnostics_Counters_StateDisabledByMethod_DiagnosticsLevel' +ObjectIdNames[19594] = 'DataSetWriterType_Diagnostics_Counters_StateDisabledByMethod_TimeFirstChange' +ObjectIdNames[19595] = 'DataSetWriterType_Diagnostics_LiveValues' +ObjectIdNames[19596] = 'DataSetWriterType_Diagnostics_Counters_FailedDataSetMessages' +ObjectIdNames[19597] = 'DataSetWriterType_Diagnostics_Counters_FailedDataSetMessages_Active' +ObjectIdNames[19598] = 'DataSetWriterType_Diagnostics_Counters_FailedDataSetMessages_Classification' +ObjectIdNames[19599] = 'DataSetWriterType_Diagnostics_Counters_FailedDataSetMessages_DiagnosticsLevel' +ObjectIdNames[19600] = 'DataSetWriterType_Diagnostics_Counters_FailedDataSetMessages_TimeFirstChange' +ObjectIdNames[19601] = 'DataSetWriterType_Diagnostics_LiveValues_MessageSequenceNumber' +ObjectIdNames[19602] = 'DataSetWriterType_Diagnostics_LiveValues_MessageSequenceNumber_DiagnosticsLevel' +ObjectIdNames[19603] = 'DataSetWriterType_Diagnostics_LiveValues_StatusCode' +ObjectIdNames[19604] = 'DataSetWriterType_Diagnostics_LiveValues_StatusCode_DiagnosticsLevel' +ObjectIdNames[19605] = 'DataSetWriterType_Diagnostics_LiveValues_MajorVersion' +ObjectIdNames[19606] = 'DataSetWriterType_Diagnostics_LiveValues_MajorVersion_DiagnosticsLevel' +ObjectIdNames[19607] = 'DataSetWriterType_Diagnostics_LiveValues_MinorVersion' +ObjectIdNames[19608] = 'DataSetWriterType_Diagnostics_LiveValues_MinorVersion_DiagnosticsLevel' +ObjectIdNames[19609] = 'DataSetReaderType_Diagnostics' +ObjectIdNames[19610] = 'DataSetReaderType_Diagnostics_DiagnosticsLevel' +ObjectIdNames[19611] = 'DataSetReaderType_Diagnostics_TotalInformation' +ObjectIdNames[19612] = 'DataSetReaderType_Diagnostics_TotalInformation_Active' +ObjectIdNames[19613] = 'DataSetReaderType_Diagnostics_TotalInformation_Classification' +ObjectIdNames[19614] = 'DataSetReaderType_Diagnostics_TotalInformation_DiagnosticsLevel' +ObjectIdNames[19615] = 'DataSetReaderType_Diagnostics_TotalInformation_TimeFirstChange' +ObjectIdNames[19616] = 'DataSetReaderType_Diagnostics_TotalError' +ObjectIdNames[19617] = 'DataSetReaderType_Diagnostics_TotalError_Active' +ObjectIdNames[19618] = 'DataSetReaderType_Diagnostics_TotalError_Classification' +ObjectIdNames[19619] = 'DataSetReaderType_Diagnostics_TotalError_DiagnosticsLevel' +ObjectIdNames[19620] = 'DataSetReaderType_Diagnostics_TotalError_TimeFirstChange' +ObjectIdNames[19621] = 'DataSetReaderType_Diagnostics_Reset' +ObjectIdNames[19622] = 'DataSetReaderType_Diagnostics_SubError' +ObjectIdNames[19623] = 'DataSetReaderType_Diagnostics_Counters' +ObjectIdNames[19624] = 'DataSetReaderType_Diagnostics_Counters_StateError' +ObjectIdNames[19625] = 'DataSetReaderType_Diagnostics_Counters_StateError_Active' +ObjectIdNames[19626] = 'DataSetReaderType_Diagnostics_Counters_StateError_Classification' +ObjectIdNames[19627] = 'DataSetReaderType_Diagnostics_Counters_StateError_DiagnosticsLevel' +ObjectIdNames[19628] = 'DataSetReaderType_Diagnostics_Counters_StateError_TimeFirstChange' +ObjectIdNames[19629] = 'DataSetReaderType_Diagnostics_Counters_StateOperationalByMethod' +ObjectIdNames[19630] = 'DataSetReaderType_Diagnostics_Counters_StateOperationalByMethod_Active' +ObjectIdNames[19631] = 'DataSetReaderType_Diagnostics_Counters_StateOperationalByMethod_Classification' +ObjectIdNames[19632] = 'DataSetReaderType_Diagnostics_Counters_StateOperationalByMethod_DiagnosticsLevel' +ObjectIdNames[19633] = 'DataSetReaderType_Diagnostics_Counters_StateOperationalByMethod_TimeFirstChange' +ObjectIdNames[19634] = 'DataSetReaderType_Diagnostics_Counters_StateOperationalByParent' +ObjectIdNames[19635] = 'DataSetReaderType_Diagnostics_Counters_StateOperationalByParent_Active' +ObjectIdNames[19636] = 'DataSetReaderType_Diagnostics_Counters_StateOperationalByParent_Classification' +ObjectIdNames[19637] = 'DataSetReaderType_Diagnostics_Counters_StateOperationalByParent_DiagnosticsLevel' +ObjectIdNames[19638] = 'DataSetReaderType_Diagnostics_Counters_StateOperationalByParent_TimeFirstChange' +ObjectIdNames[19639] = 'DataSetReaderType_Diagnostics_Counters_StateOperationalFromError' +ObjectIdNames[19640] = 'DataSetReaderType_Diagnostics_Counters_StateOperationalFromError_Active' +ObjectIdNames[19641] = 'DataSetReaderType_Diagnostics_Counters_StateOperationalFromError_Classification' +ObjectIdNames[19642] = 'DataSetReaderType_Diagnostics_Counters_StateOperationalFromError_DiagnosticsLevel' +ObjectIdNames[19643] = 'DataSetReaderType_Diagnostics_Counters_StateOperationalFromError_TimeFirstChange' +ObjectIdNames[19644] = 'DataSetReaderType_Diagnostics_Counters_StatePausedByParent' +ObjectIdNames[19645] = 'DataSetReaderType_Diagnostics_Counters_StatePausedByParent_Active' +ObjectIdNames[19646] = 'DataSetReaderType_Diagnostics_Counters_StatePausedByParent_Classification' +ObjectIdNames[19647] = 'DataSetReaderType_Diagnostics_Counters_StatePausedByParent_DiagnosticsLevel' +ObjectIdNames[19648] = 'DataSetReaderType_Diagnostics_Counters_StatePausedByParent_TimeFirstChange' +ObjectIdNames[19649] = 'DataSetReaderType_Diagnostics_Counters_StateDisabledByMethod' +ObjectIdNames[19650] = 'DataSetReaderType_Diagnostics_Counters_StateDisabledByMethod_Active' +ObjectIdNames[19651] = 'DataSetReaderType_Diagnostics_Counters_StateDisabledByMethod_Classification' +ObjectIdNames[19652] = 'DataSetReaderType_Diagnostics_Counters_StateDisabledByMethod_DiagnosticsLevel' +ObjectIdNames[19653] = 'DataSetReaderType_Diagnostics_Counters_StateDisabledByMethod_TimeFirstChange' +ObjectIdNames[19654] = 'DataSetReaderType_Diagnostics_LiveValues' +ObjectIdNames[19655] = 'DataSetReaderType_Diagnostics_Counters_FailedDataSetMessages' +ObjectIdNames[19656] = 'DataSetReaderType_Diagnostics_Counters_FailedDataSetMessages_Active' +ObjectIdNames[19657] = 'DataSetReaderType_Diagnostics_Counters_FailedDataSetMessages_Classification' +ObjectIdNames[19658] = 'DataSetReaderType_Diagnostics_Counters_FailedDataSetMessages_DiagnosticsLevel' +ObjectIdNames[19659] = 'DataSetReaderType_Diagnostics_Counters_FailedDataSetMessages_TimeFirstChange' +ObjectIdNames[19660] = 'DataSetReaderType_Diagnostics_Counters_DecryptionErrors' +ObjectIdNames[19661] = 'DataSetReaderType_Diagnostics_Counters_DecryptionErrors_Active' +ObjectIdNames[19662] = 'DataSetReaderType_Diagnostics_Counters_DecryptionErrors_Classification' +ObjectIdNames[19663] = 'DataSetReaderType_Diagnostics_Counters_DecryptionErrors_DiagnosticsLevel' +ObjectIdNames[19664] = 'DataSetReaderType_Diagnostics_Counters_DecryptionErrors_TimeFirstChange' +ObjectIdNames[19665] = 'DataSetReaderType_Diagnostics_LiveValues_MessageSequenceNumber' +ObjectIdNames[19666] = 'DataSetReaderType_Diagnostics_LiveValues_MessageSequenceNumber_DiagnosticsLevel' +ObjectIdNames[19667] = 'DataSetReaderType_Diagnostics_LiveValues_StatusCode' +ObjectIdNames[19668] = 'DataSetReaderType_Diagnostics_LiveValues_StatusCode_DiagnosticsLevel' +ObjectIdNames[19669] = 'DataSetReaderType_Diagnostics_LiveValues_MajorVersion' +ObjectIdNames[19670] = 'DataSetReaderType_Diagnostics_LiveValues_MajorVersion_DiagnosticsLevel' +ObjectIdNames[19671] = 'DataSetReaderType_Diagnostics_LiveValues_MinorVersion' +ObjectIdNames[19672] = 'DataSetReaderType_Diagnostics_LiveValues_MinorVersion_DiagnosticsLevel' +ObjectIdNames[19673] = 'DataSetReaderType_Diagnostics_LiveValues_SecurityTokenID' +ObjectIdNames[19674] = 'DataSetReaderType_Diagnostics_LiveValues_SecurityTokenID_DiagnosticsLevel' +ObjectIdNames[19675] = 'DataSetReaderType_Diagnostics_LiveValues_TimeToNextTokenID' +ObjectIdNames[19676] = 'DataSetReaderType_Diagnostics_LiveValues_TimeToNextTokenID_DiagnosticsLevel' +ObjectIdNames[19677] = 'PubSubDiagnosticsType' +ObjectIdNames[19678] = 'PubSubDiagnosticsType_DiagnosticsLevel' +ObjectIdNames[19679] = 'PubSubDiagnosticsType_TotalInformation' +ObjectIdNames[19680] = 'PubSubDiagnosticsType_TotalInformation_Active' +ObjectIdNames[19681] = 'PubSubDiagnosticsType_TotalInformation_Classification' +ObjectIdNames[19682] = 'PubSubDiagnosticsType_TotalInformation_DiagnosticsLevel' +ObjectIdNames[19683] = 'PubSubDiagnosticsType_TotalInformation_TimeFirstChange' +ObjectIdNames[19684] = 'PubSubDiagnosticsType_TotalError' +ObjectIdNames[19685] = 'PubSubDiagnosticsType_TotalError_Active' +ObjectIdNames[19686] = 'PubSubDiagnosticsType_TotalError_Classification' +ObjectIdNames[19687] = 'PubSubDiagnosticsType_TotalError_DiagnosticsLevel' +ObjectIdNames[19688] = 'PubSubDiagnosticsType_TotalError_TimeFirstChange' +ObjectIdNames[19689] = 'PubSubDiagnosticsType_Reset' +ObjectIdNames[19690] = 'PubSubDiagnosticsType_SubError' +ObjectIdNames[19691] = 'PubSubDiagnosticsType_Counters' +ObjectIdNames[19692] = 'PubSubDiagnosticsType_Counters_StateError' +ObjectIdNames[19693] = 'PubSubDiagnosticsType_Counters_StateError_Active' +ObjectIdNames[19694] = 'PubSubDiagnosticsType_Counters_StateError_Classification' +ObjectIdNames[19695] = 'PubSubDiagnosticsType_Counters_StateError_DiagnosticsLevel' +ObjectIdNames[19696] = 'PubSubDiagnosticsType_Counters_StateError_TimeFirstChange' +ObjectIdNames[19697] = 'PubSubDiagnosticsType_Counters_StateOperationalByMethod' +ObjectIdNames[19698] = 'PubSubDiagnosticsType_Counters_StateOperationalByMethod_Active' +ObjectIdNames[19699] = 'PubSubDiagnosticsType_Counters_StateOperationalByMethod_Classification' +ObjectIdNames[19700] = 'PubSubDiagnosticsType_Counters_StateOperationalByMethod_DiagnosticsLevel' +ObjectIdNames[19701] = 'PubSubDiagnosticsType_Counters_StateOperationalByMethod_TimeFirstChange' +ObjectIdNames[19702] = 'PubSubDiagnosticsType_Counters_StateOperationalByParent' +ObjectIdNames[19703] = 'PubSubDiagnosticsType_Counters_StateOperationalByParent_Active' +ObjectIdNames[19704] = 'PubSubDiagnosticsType_Counters_StateOperationalByParent_Classification' +ObjectIdNames[19705] = 'PubSubDiagnosticsType_Counters_StateOperationalByParent_DiagnosticsLevel' +ObjectIdNames[19706] = 'PubSubDiagnosticsType_Counters_StateOperationalByParent_TimeFirstChange' +ObjectIdNames[19707] = 'PubSubDiagnosticsType_Counters_StateOperationalFromError' +ObjectIdNames[19708] = 'PubSubDiagnosticsType_Counters_StateOperationalFromError_Active' +ObjectIdNames[19709] = 'PubSubDiagnosticsType_Counters_StateOperationalFromError_Classification' +ObjectIdNames[19710] = 'PubSubDiagnosticsType_Counters_StateOperationalFromError_DiagnosticsLevel' +ObjectIdNames[19711] = 'PubSubDiagnosticsType_Counters_StateOperationalFromError_TimeFirstChange' +ObjectIdNames[19712] = 'PubSubDiagnosticsType_Counters_StatePausedByParent' +ObjectIdNames[19713] = 'PubSubDiagnosticsType_Counters_StatePausedByParent_Active' +ObjectIdNames[19714] = 'PubSubDiagnosticsType_Counters_StatePausedByParent_Classification' +ObjectIdNames[19715] = 'PubSubDiagnosticsType_Counters_StatePausedByParent_DiagnosticsLevel' +ObjectIdNames[19716] = 'PubSubDiagnosticsType_Counters_StatePausedByParent_TimeFirstChange' +ObjectIdNames[19717] = 'PubSubDiagnosticsType_Counters_StateDisabledByMethod' +ObjectIdNames[19718] = 'PubSubDiagnosticsType_Counters_StateDisabledByMethod_Active' +ObjectIdNames[19719] = 'PubSubDiagnosticsType_Counters_StateDisabledByMethod_Classification' +ObjectIdNames[19720] = 'PubSubDiagnosticsType_Counters_StateDisabledByMethod_DiagnosticsLevel' +ObjectIdNames[19721] = 'PubSubDiagnosticsType_Counters_StateDisabledByMethod_TimeFirstChange' +ObjectIdNames[19722] = 'PubSubDiagnosticsType_LiveValues' +ObjectIdNames[19723] = 'DiagnosticsLevel' +ObjectIdNames[19724] = 'DiagnosticsLevel_EnumStrings' +ObjectIdNames[19725] = 'PubSubDiagnosticsCounterType' +ObjectIdNames[19726] = 'PubSubDiagnosticsCounterType_Active' +ObjectIdNames[19727] = 'PubSubDiagnosticsCounterType_Classification' +ObjectIdNames[19728] = 'PubSubDiagnosticsCounterType_DiagnosticsLevel' +ObjectIdNames[19729] = 'PubSubDiagnosticsCounterType_TimeFirstChange' +ObjectIdNames[19730] = 'PubSubDiagnosticsCounterClassification' +ObjectIdNames[19731] = 'PubSubDiagnosticsCounterClassification_EnumStrings' +ObjectIdNames[19732] = 'PubSubDiagnosticsRootType' +ObjectIdNames[19733] = 'PubSubDiagnosticsRootType_DiagnosticsLevel' +ObjectIdNames[19734] = 'PubSubDiagnosticsRootType_TotalInformation' +ObjectIdNames[19735] = 'PubSubDiagnosticsRootType_TotalInformation_Active' +ObjectIdNames[19736] = 'PubSubDiagnosticsRootType_TotalInformation_Classification' +ObjectIdNames[19737] = 'PubSubDiagnosticsRootType_TotalInformation_DiagnosticsLevel' +ObjectIdNames[19738] = 'PubSubDiagnosticsRootType_TotalInformation_TimeFirstChange' +ObjectIdNames[19739] = 'PubSubDiagnosticsRootType_TotalError' +ObjectIdNames[19740] = 'PubSubDiagnosticsRootType_TotalError_Active' +ObjectIdNames[19741] = 'PubSubDiagnosticsRootType_TotalError_Classification' +ObjectIdNames[19742] = 'PubSubDiagnosticsRootType_TotalError_DiagnosticsLevel' +ObjectIdNames[19743] = 'PubSubDiagnosticsRootType_TotalError_TimeFirstChange' +ObjectIdNames[19744] = 'PubSubDiagnosticsRootType_Reset' +ObjectIdNames[19745] = 'PubSubDiagnosticsRootType_SubError' +ObjectIdNames[19746] = 'PubSubDiagnosticsRootType_Counters' +ObjectIdNames[19747] = 'PubSubDiagnosticsRootType_Counters_StateError' +ObjectIdNames[19748] = 'PubSubDiagnosticsRootType_Counters_StateError_Active' +ObjectIdNames[19749] = 'PubSubDiagnosticsRootType_Counters_StateError_Classification' +ObjectIdNames[19750] = 'PubSubDiagnosticsRootType_Counters_StateError_DiagnosticsLevel' +ObjectIdNames[19751] = 'PubSubDiagnosticsRootType_Counters_StateError_TimeFirstChange' +ObjectIdNames[19752] = 'PubSubDiagnosticsRootType_Counters_StateOperationalByMethod' +ObjectIdNames[19753] = 'PubSubDiagnosticsRootType_Counters_StateOperationalByMethod_Active' +ObjectIdNames[19754] = 'PubSubDiagnosticsRootType_Counters_StateOperationalByMethod_Classification' +ObjectIdNames[19755] = 'PubSubDiagnosticsRootType_Counters_StateOperationalByMethod_DiagnosticsLevel' +ObjectIdNames[19756] = 'PubSubDiagnosticsRootType_Counters_StateOperationalByMethod_TimeFirstChange' +ObjectIdNames[19757] = 'PubSubDiagnosticsRootType_Counters_StateOperationalByParent' +ObjectIdNames[19758] = 'PubSubDiagnosticsRootType_Counters_StateOperationalByParent_Active' +ObjectIdNames[19759] = 'PubSubDiagnosticsRootType_Counters_StateOperationalByParent_Classification' +ObjectIdNames[19760] = 'PubSubDiagnosticsRootType_Counters_StateOperationalByParent_DiagnosticsLevel' +ObjectIdNames[19761] = 'PubSubDiagnosticsRootType_Counters_StateOperationalByParent_TimeFirstChange' +ObjectIdNames[19762] = 'PubSubDiagnosticsRootType_Counters_StateOperationalFromError' +ObjectIdNames[19763] = 'PubSubDiagnosticsRootType_Counters_StateOperationalFromError_Active' +ObjectIdNames[19764] = 'PubSubDiagnosticsRootType_Counters_StateOperationalFromError_Classification' +ObjectIdNames[19765] = 'PubSubDiagnosticsRootType_Counters_StateOperationalFromError_DiagnosticsLevel' +ObjectIdNames[19766] = 'PubSubDiagnosticsRootType_Counters_StateOperationalFromError_TimeFirstChange' +ObjectIdNames[19767] = 'PubSubDiagnosticsRootType_Counters_StatePausedByParent' +ObjectIdNames[19768] = 'PubSubDiagnosticsRootType_Counters_StatePausedByParent_Active' +ObjectIdNames[19769] = 'PubSubDiagnosticsRootType_Counters_StatePausedByParent_Classification' +ObjectIdNames[19770] = 'PubSubDiagnosticsRootType_Counters_StatePausedByParent_DiagnosticsLevel' +ObjectIdNames[19771] = 'PubSubDiagnosticsRootType_Counters_StatePausedByParent_TimeFirstChange' +ObjectIdNames[19772] = 'PubSubDiagnosticsRootType_Counters_StateDisabledByMethod' +ObjectIdNames[19773] = 'PubSubDiagnosticsRootType_Counters_StateDisabledByMethod_Active' +ObjectIdNames[19774] = 'PubSubDiagnosticsRootType_Counters_StateDisabledByMethod_Classification' +ObjectIdNames[19775] = 'PubSubDiagnosticsRootType_Counters_StateDisabledByMethod_DiagnosticsLevel' +ObjectIdNames[19776] = 'PubSubDiagnosticsRootType_Counters_StateDisabledByMethod_TimeFirstChange' +ObjectIdNames[19777] = 'PubSubDiagnosticsRootType_LiveValues' +ObjectIdNames[19778] = 'PubSubDiagnosticsRootType_LiveValues_ConfiguredDataSetWriters' +ObjectIdNames[19779] = 'PubSubDiagnosticsRootType_LiveValues_ConfiguredDataSetWriters_DiagnosticsLevel' +ObjectIdNames[19780] = 'PubSubDiagnosticsRootType_LiveValues_ConfiguredDataSetReaders' +ObjectIdNames[19781] = 'PubSubDiagnosticsRootType_LiveValues_ConfiguredDataSetReaders_DiagnosticsLevel' +ObjectIdNames[19782] = 'PubSubDiagnosticsRootType_LiveValues_OperationalDataSetWriters' +ObjectIdNames[19783] = 'PubSubDiagnosticsRootType_LiveValues_OperationalDataSetWriters_DiagnosticsLevel' +ObjectIdNames[19784] = 'PubSubDiagnosticsRootType_LiveValues_OperationalDataSetReaders' +ObjectIdNames[19785] = 'PubSubDiagnosticsRootType_LiveValues_OperationalDataSetReaders_DiagnosticsLevel' +ObjectIdNames[19786] = 'PubSubDiagnosticsConnectionType' +ObjectIdNames[19787] = 'PubSubDiagnosticsConnectionType_DiagnosticsLevel' +ObjectIdNames[19788] = 'PubSubDiagnosticsConnectionType_TotalInformation' +ObjectIdNames[19789] = 'PubSubDiagnosticsConnectionType_TotalInformation_Active' +ObjectIdNames[19790] = 'PubSubDiagnosticsConnectionType_TotalInformation_Classification' +ObjectIdNames[19791] = 'PubSubDiagnosticsConnectionType_TotalInformation_DiagnosticsLevel' +ObjectIdNames[19792] = 'PubSubDiagnosticsConnectionType_TotalInformation_TimeFirstChange' +ObjectIdNames[19793] = 'PubSubDiagnosticsConnectionType_TotalError' +ObjectIdNames[19794] = 'PubSubDiagnosticsConnectionType_TotalError_Active' +ObjectIdNames[19795] = 'PubSubDiagnosticsConnectionType_TotalError_Classification' +ObjectIdNames[19796] = 'PubSubDiagnosticsConnectionType_TotalError_DiagnosticsLevel' +ObjectIdNames[19797] = 'PubSubDiagnosticsConnectionType_TotalError_TimeFirstChange' +ObjectIdNames[19798] = 'PubSubDiagnosticsConnectionType_Reset' +ObjectIdNames[19799] = 'PubSubDiagnosticsConnectionType_SubError' +ObjectIdNames[19800] = 'PubSubDiagnosticsConnectionType_Counters' +ObjectIdNames[19801] = 'PubSubDiagnosticsConnectionType_Counters_StateError' +ObjectIdNames[19802] = 'PubSubDiagnosticsConnectionType_Counters_StateError_Active' +ObjectIdNames[19803] = 'PubSubDiagnosticsConnectionType_Counters_StateError_Classification' +ObjectIdNames[19804] = 'PubSubDiagnosticsConnectionType_Counters_StateError_DiagnosticsLevel' +ObjectIdNames[19805] = 'PubSubDiagnosticsConnectionType_Counters_StateError_TimeFirstChange' +ObjectIdNames[19806] = 'PubSubDiagnosticsConnectionType_Counters_StateOperationalByMethod' +ObjectIdNames[19807] = 'PubSubDiagnosticsConnectionType_Counters_StateOperationalByMethod_Active' +ObjectIdNames[19808] = 'PubSubDiagnosticsConnectionType_Counters_StateOperationalByMethod_Classification' +ObjectIdNames[19809] = 'PubSubDiagnosticsConnectionType_Counters_StateOperationalByMethod_DiagnosticsLevel' +ObjectIdNames[19810] = 'PubSubDiagnosticsConnectionType_Counters_StateOperationalByMethod_TimeFirstChange' +ObjectIdNames[19811] = 'PubSubDiagnosticsConnectionType_Counters_StateOperationalByParent' +ObjectIdNames[19812] = 'PubSubDiagnosticsConnectionType_Counters_StateOperationalByParent_Active' +ObjectIdNames[19813] = 'PubSubDiagnosticsConnectionType_Counters_StateOperationalByParent_Classification' +ObjectIdNames[19814] = 'PubSubDiagnosticsConnectionType_Counters_StateOperationalByParent_DiagnosticsLevel' +ObjectIdNames[19815] = 'PubSubDiagnosticsConnectionType_Counters_StateOperationalByParent_TimeFirstChange' +ObjectIdNames[19816] = 'PubSubDiagnosticsConnectionType_Counters_StateOperationalFromError' +ObjectIdNames[19817] = 'PubSubDiagnosticsConnectionType_Counters_StateOperationalFromError_Active' +ObjectIdNames[19818] = 'PubSubDiagnosticsConnectionType_Counters_StateOperationalFromError_Classification' +ObjectIdNames[19819] = 'PubSubDiagnosticsConnectionType_Counters_StateOperationalFromError_DiagnosticsLevel' +ObjectIdNames[19820] = 'PubSubDiagnosticsConnectionType_Counters_StateOperationalFromError_TimeFirstChange' +ObjectIdNames[19821] = 'PubSubDiagnosticsConnectionType_Counters_StatePausedByParent' +ObjectIdNames[19822] = 'PubSubDiagnosticsConnectionType_Counters_StatePausedByParent_Active' +ObjectIdNames[19823] = 'PubSubDiagnosticsConnectionType_Counters_StatePausedByParent_Classification' +ObjectIdNames[19824] = 'PubSubDiagnosticsConnectionType_Counters_StatePausedByParent_DiagnosticsLevel' +ObjectIdNames[19825] = 'PubSubDiagnosticsConnectionType_Counters_StatePausedByParent_TimeFirstChange' +ObjectIdNames[19826] = 'PubSubDiagnosticsConnectionType_Counters_StateDisabledByMethod' +ObjectIdNames[19827] = 'PubSubDiagnosticsConnectionType_Counters_StateDisabledByMethod_Active' +ObjectIdNames[19828] = 'PubSubDiagnosticsConnectionType_Counters_StateDisabledByMethod_Classification' +ObjectIdNames[19829] = 'PubSubDiagnosticsConnectionType_Counters_StateDisabledByMethod_DiagnosticsLevel' +ObjectIdNames[19830] = 'PubSubDiagnosticsConnectionType_Counters_StateDisabledByMethod_TimeFirstChange' +ObjectIdNames[19831] = 'PubSubDiagnosticsConnectionType_LiveValues' +ObjectIdNames[19832] = 'PubSubDiagnosticsConnectionType_LiveValues_ResolvedAddress' +ObjectIdNames[19833] = 'PubSubDiagnosticsConnectionType_LiveValues_ResolvedAddress_DiagnosticsLevel' +ObjectIdNames[19834] = 'PubSubDiagnosticsWriterGroupType' +ObjectIdNames[19835] = 'PubSubDiagnosticsWriterGroupType_DiagnosticsLevel' +ObjectIdNames[19836] = 'PubSubDiagnosticsWriterGroupType_TotalInformation' +ObjectIdNames[19837] = 'PubSubDiagnosticsWriterGroupType_TotalInformation_Active' +ObjectIdNames[19838] = 'PubSubDiagnosticsWriterGroupType_TotalInformation_Classification' +ObjectIdNames[19839] = 'PubSubDiagnosticsWriterGroupType_TotalInformation_DiagnosticsLevel' +ObjectIdNames[19840] = 'PubSubDiagnosticsWriterGroupType_TotalInformation_TimeFirstChange' +ObjectIdNames[19841] = 'PubSubDiagnosticsWriterGroupType_TotalError' +ObjectIdNames[19842] = 'PubSubDiagnosticsWriterGroupType_TotalError_Active' +ObjectIdNames[19843] = 'PubSubDiagnosticsWriterGroupType_TotalError_Classification' +ObjectIdNames[19844] = 'PubSubDiagnosticsWriterGroupType_TotalError_DiagnosticsLevel' +ObjectIdNames[19845] = 'PubSubDiagnosticsWriterGroupType_TotalError_TimeFirstChange' +ObjectIdNames[19846] = 'PubSubDiagnosticsWriterGroupType_Reset' +ObjectIdNames[19847] = 'PubSubDiagnosticsWriterGroupType_SubError' +ObjectIdNames[19848] = 'PubSubDiagnosticsWriterGroupType_Counters' +ObjectIdNames[19849] = 'PubSubDiagnosticsWriterGroupType_Counters_StateError' +ObjectIdNames[19850] = 'PubSubDiagnosticsWriterGroupType_Counters_StateError_Active' +ObjectIdNames[19851] = 'PubSubDiagnosticsWriterGroupType_Counters_StateError_Classification' +ObjectIdNames[19852] = 'PubSubDiagnosticsWriterGroupType_Counters_StateError_DiagnosticsLevel' +ObjectIdNames[19853] = 'PubSubDiagnosticsWriterGroupType_Counters_StateError_TimeFirstChange' +ObjectIdNames[19854] = 'PubSubDiagnosticsWriterGroupType_Counters_StateOperationalByMethod' +ObjectIdNames[19855] = 'PubSubDiagnosticsWriterGroupType_Counters_StateOperationalByMethod_Active' +ObjectIdNames[19856] = 'PubSubDiagnosticsWriterGroupType_Counters_StateOperationalByMethod_Classification' +ObjectIdNames[19857] = 'PubSubDiagnosticsWriterGroupType_Counters_StateOperationalByMethod_DiagnosticsLevel' +ObjectIdNames[19858] = 'PubSubDiagnosticsWriterGroupType_Counters_StateOperationalByMethod_TimeFirstChange' +ObjectIdNames[19859] = 'PubSubDiagnosticsWriterGroupType_Counters_StateOperationalByParent' +ObjectIdNames[19860] = 'PubSubDiagnosticsWriterGroupType_Counters_StateOperationalByParent_Active' +ObjectIdNames[19861] = 'PubSubDiagnosticsWriterGroupType_Counters_StateOperationalByParent_Classification' +ObjectIdNames[19862] = 'PubSubDiagnosticsWriterGroupType_Counters_StateOperationalByParent_DiagnosticsLevel' +ObjectIdNames[19863] = 'PubSubDiagnosticsWriterGroupType_Counters_StateOperationalByParent_TimeFirstChange' +ObjectIdNames[19864] = 'PubSubDiagnosticsWriterGroupType_Counters_StateOperationalFromError' +ObjectIdNames[19865] = 'PubSubDiagnosticsWriterGroupType_Counters_StateOperationalFromError_Active' +ObjectIdNames[19866] = 'PubSubDiagnosticsWriterGroupType_Counters_StateOperationalFromError_Classification' +ObjectIdNames[19867] = 'PubSubDiagnosticsWriterGroupType_Counters_StateOperationalFromError_DiagnosticsLevel' +ObjectIdNames[19868] = 'PubSubDiagnosticsWriterGroupType_Counters_StateOperationalFromError_TimeFirstChange' +ObjectIdNames[19869] = 'PubSubDiagnosticsWriterGroupType_Counters_StatePausedByParent' +ObjectIdNames[19870] = 'PubSubDiagnosticsWriterGroupType_Counters_StatePausedByParent_Active' +ObjectIdNames[19871] = 'PubSubDiagnosticsWriterGroupType_Counters_StatePausedByParent_Classification' +ObjectIdNames[19872] = 'PubSubDiagnosticsWriterGroupType_Counters_StatePausedByParent_DiagnosticsLevel' +ObjectIdNames[19873] = 'PubSubDiagnosticsWriterGroupType_Counters_StatePausedByParent_TimeFirstChange' +ObjectIdNames[19874] = 'PubSubDiagnosticsWriterGroupType_Counters_StateDisabledByMethod' +ObjectIdNames[19875] = 'PubSubDiagnosticsWriterGroupType_Counters_StateDisabledByMethod_Active' +ObjectIdNames[19876] = 'PubSubDiagnosticsWriterGroupType_Counters_StateDisabledByMethod_Classification' +ObjectIdNames[19877] = 'PubSubDiagnosticsWriterGroupType_Counters_StateDisabledByMethod_DiagnosticsLevel' +ObjectIdNames[19878] = 'PubSubDiagnosticsWriterGroupType_Counters_StateDisabledByMethod_TimeFirstChange' +ObjectIdNames[19879] = 'PubSubDiagnosticsWriterGroupType_LiveValues' +ObjectIdNames[19880] = 'PubSubDiagnosticsWriterGroupType_Counters_SentNetworkMessages' +ObjectIdNames[19881] = 'PubSubDiagnosticsWriterGroupType_Counters_SentNetworkMessages_Active' +ObjectIdNames[19882] = 'PubSubDiagnosticsWriterGroupType_Counters_SentNetworkMessages_Classification' +ObjectIdNames[19883] = 'PubSubDiagnosticsWriterGroupType_Counters_SentNetworkMessages_DiagnosticsLevel' +ObjectIdNames[19884] = 'PubSubDiagnosticsWriterGroupType_Counters_SentNetworkMessages_TimeFirstChange' +ObjectIdNames[19885] = 'PubSubDiagnosticsWriterGroupType_Counters_FailedTransmissions' +ObjectIdNames[19886] = 'PubSubDiagnosticsWriterGroupType_Counters_FailedTransmissions_Active' +ObjectIdNames[19887] = 'PubSubDiagnosticsWriterGroupType_Counters_FailedTransmissions_Classification' +ObjectIdNames[19888] = 'PubSubDiagnosticsWriterGroupType_Counters_FailedTransmissions_DiagnosticsLevel' +ObjectIdNames[19889] = 'PubSubDiagnosticsWriterGroupType_Counters_FailedTransmissions_TimeFirstChange' +ObjectIdNames[19890] = 'PubSubDiagnosticsWriterGroupType_Counters_EncryptionErrors' +ObjectIdNames[19891] = 'PubSubDiagnosticsWriterGroupType_Counters_EncryptionErrors_Active' +ObjectIdNames[19892] = 'PubSubDiagnosticsWriterGroupType_Counters_EncryptionErrors_Classification' +ObjectIdNames[19893] = 'PubSubDiagnosticsWriterGroupType_Counters_EncryptionErrors_DiagnosticsLevel' +ObjectIdNames[19894] = 'PubSubDiagnosticsWriterGroupType_Counters_EncryptionErrors_TimeFirstChange' +ObjectIdNames[19895] = 'PubSubDiagnosticsWriterGroupType_LiveValues_ConfiguredDataSetWriters' +ObjectIdNames[19896] = 'PubSubDiagnosticsWriterGroupType_LiveValues_ConfiguredDataSetWriters_DiagnosticsLevel' +ObjectIdNames[19897] = 'PubSubDiagnosticsWriterGroupType_LiveValues_OperationalDataSetWriters' +ObjectIdNames[19898] = 'PubSubDiagnosticsWriterGroupType_LiveValues_OperationalDataSetWriters_DiagnosticsLevel' +ObjectIdNames[19899] = 'PubSubDiagnosticsWriterGroupType_LiveValues_SecurityTokenID' +ObjectIdNames[19900] = 'PubSubDiagnosticsWriterGroupType_LiveValues_SecurityTokenID_DiagnosticsLevel' +ObjectIdNames[19901] = 'PubSubDiagnosticsWriterGroupType_LiveValues_TimeToNextTokenID' +ObjectIdNames[19902] = 'PubSubDiagnosticsWriterGroupType_LiveValues_TimeToNextTokenID_DiagnosticsLevel' +ObjectIdNames[19903] = 'PubSubDiagnosticsReaderGroupType' +ObjectIdNames[19904] = 'PubSubDiagnosticsReaderGroupType_DiagnosticsLevel' +ObjectIdNames[19905] = 'PubSubDiagnosticsReaderGroupType_TotalInformation' +ObjectIdNames[19906] = 'PubSubDiagnosticsReaderGroupType_TotalInformation_Active' +ObjectIdNames[19907] = 'PubSubDiagnosticsReaderGroupType_TotalInformation_Classification' +ObjectIdNames[19908] = 'PubSubDiagnosticsReaderGroupType_TotalInformation_DiagnosticsLevel' +ObjectIdNames[19909] = 'PubSubDiagnosticsReaderGroupType_TotalInformation_TimeFirstChange' +ObjectIdNames[19910] = 'PubSubDiagnosticsReaderGroupType_TotalError' +ObjectIdNames[19911] = 'PubSubDiagnosticsReaderGroupType_TotalError_Active' +ObjectIdNames[19912] = 'PubSubDiagnosticsReaderGroupType_TotalError_Classification' +ObjectIdNames[19913] = 'PubSubDiagnosticsReaderGroupType_TotalError_DiagnosticsLevel' +ObjectIdNames[19914] = 'PubSubDiagnosticsReaderGroupType_TotalError_TimeFirstChange' +ObjectIdNames[19915] = 'PubSubDiagnosticsReaderGroupType_Reset' +ObjectIdNames[19916] = 'PubSubDiagnosticsReaderGroupType_SubError' +ObjectIdNames[19917] = 'PubSubDiagnosticsReaderGroupType_Counters' +ObjectIdNames[19918] = 'PubSubDiagnosticsReaderGroupType_Counters_StateError' +ObjectIdNames[19919] = 'PubSubDiagnosticsReaderGroupType_Counters_StateError_Active' +ObjectIdNames[19920] = 'PubSubDiagnosticsReaderGroupType_Counters_StateError_Classification' +ObjectIdNames[19921] = 'PubSubDiagnosticsReaderGroupType_Counters_StateError_DiagnosticsLevel' +ObjectIdNames[19922] = 'PubSubDiagnosticsReaderGroupType_Counters_StateError_TimeFirstChange' +ObjectIdNames[19923] = 'PubSubDiagnosticsReaderGroupType_Counters_StateOperationalByMethod' +ObjectIdNames[19924] = 'PubSubDiagnosticsReaderGroupType_Counters_StateOperationalByMethod_Active' +ObjectIdNames[19925] = 'PubSubDiagnosticsReaderGroupType_Counters_StateOperationalByMethod_Classification' +ObjectIdNames[19926] = 'PubSubDiagnosticsReaderGroupType_Counters_StateOperationalByMethod_DiagnosticsLevel' +ObjectIdNames[19927] = 'PubSubDiagnosticsReaderGroupType_Counters_StateOperationalByMethod_TimeFirstChange' +ObjectIdNames[19928] = 'PubSubDiagnosticsReaderGroupType_Counters_StateOperationalByParent' +ObjectIdNames[19929] = 'PubSubDiagnosticsReaderGroupType_Counters_StateOperationalByParent_Active' +ObjectIdNames[19930] = 'PubSubDiagnosticsReaderGroupType_Counters_StateOperationalByParent_Classification' +ObjectIdNames[19931] = 'PubSubDiagnosticsReaderGroupType_Counters_StateOperationalByParent_DiagnosticsLevel' +ObjectIdNames[19932] = 'PubSubDiagnosticsReaderGroupType_Counters_StateOperationalByParent_TimeFirstChange' +ObjectIdNames[19933] = 'PubSubDiagnosticsReaderGroupType_Counters_StateOperationalFromError' +ObjectIdNames[19934] = 'PubSubDiagnosticsReaderGroupType_Counters_StateOperationalFromError_Active' +ObjectIdNames[19935] = 'PubSubDiagnosticsReaderGroupType_Counters_StateOperationalFromError_Classification' +ObjectIdNames[19936] = 'PubSubDiagnosticsReaderGroupType_Counters_StateOperationalFromError_DiagnosticsLevel' +ObjectIdNames[19937] = 'PubSubDiagnosticsReaderGroupType_Counters_StateOperationalFromError_TimeFirstChange' +ObjectIdNames[19938] = 'PubSubDiagnosticsReaderGroupType_Counters_StatePausedByParent' +ObjectIdNames[19939] = 'PubSubDiagnosticsReaderGroupType_Counters_StatePausedByParent_Active' +ObjectIdNames[19940] = 'PubSubDiagnosticsReaderGroupType_Counters_StatePausedByParent_Classification' +ObjectIdNames[19941] = 'PubSubDiagnosticsReaderGroupType_Counters_StatePausedByParent_DiagnosticsLevel' +ObjectIdNames[19942] = 'PubSubDiagnosticsReaderGroupType_Counters_StatePausedByParent_TimeFirstChange' +ObjectIdNames[19943] = 'PubSubDiagnosticsReaderGroupType_Counters_StateDisabledByMethod' +ObjectIdNames[19944] = 'PubSubDiagnosticsReaderGroupType_Counters_StateDisabledByMethod_Active' +ObjectIdNames[19945] = 'PubSubDiagnosticsReaderGroupType_Counters_StateDisabledByMethod_Classification' +ObjectIdNames[19946] = 'PubSubDiagnosticsReaderGroupType_Counters_StateDisabledByMethod_DiagnosticsLevel' +ObjectIdNames[19947] = 'PubSubDiagnosticsReaderGroupType_Counters_StateDisabledByMethod_TimeFirstChange' +ObjectIdNames[19948] = 'PubSubDiagnosticsReaderGroupType_LiveValues' +ObjectIdNames[19949] = 'PubSubDiagnosticsReaderGroupType_Counters_ReceivedNetworkMessages' +ObjectIdNames[19950] = 'PubSubDiagnosticsReaderGroupType_Counters_ReceivedNetworkMessages_Active' +ObjectIdNames[19951] = 'PubSubDiagnosticsReaderGroupType_Counters_ReceivedNetworkMessages_Classification' +ObjectIdNames[19952] = 'PubSubDiagnosticsReaderGroupType_Counters_ReceivedNetworkMessages_DiagnosticsLevel' +ObjectIdNames[19953] = 'PubSubDiagnosticsReaderGroupType_Counters_ReceivedNetworkMessages_TimeFirstChange' +ObjectIdNames[19954] = 'PubSubDiagnosticsReaderGroupType_Counters_ReceivedInvalidNetworkMessages' +ObjectIdNames[19955] = 'PubSubDiagnosticsReaderGroupType_Counters_ReceivedInvalidNetworkMessages_Active' +ObjectIdNames[19956] = 'PubSubDiagnosticsReaderGroupType_Counters_ReceivedInvalidNetworkMessages_Classification' +ObjectIdNames[19957] = 'PubSubDiagnosticsReaderGroupType_Counters_ReceivedInvalidNetworkMessages_DiagnosticsLevel' +ObjectIdNames[19958] = 'PubSubDiagnosticsReaderGroupType_Counters_ReceivedInvalidNetworkMessages_TimeFirstChange' +ObjectIdNames[19959] = 'PubSubDiagnosticsReaderGroupType_Counters_DecryptionErrors' +ObjectIdNames[19960] = 'PubSubDiagnosticsReaderGroupType_Counters_DecryptionErrors_Active' +ObjectIdNames[19961] = 'PubSubDiagnosticsReaderGroupType_Counters_DecryptionErrors_Classification' +ObjectIdNames[19962] = 'PubSubDiagnosticsReaderGroupType_Counters_DecryptionErrors_DiagnosticsLevel' +ObjectIdNames[19963] = 'PubSubDiagnosticsReaderGroupType_Counters_DecryptionErrors_TimeFirstChange' +ObjectIdNames[19964] = 'PubSubDiagnosticsReaderGroupType_LiveValues_ConfiguredDataSetReaders' +ObjectIdNames[19965] = 'PubSubDiagnosticsReaderGroupType_LiveValues_ConfiguredDataSetReaders_DiagnosticsLevel' +ObjectIdNames[19966] = 'PubSubDiagnosticsReaderGroupType_LiveValues_OperationalDataSetReaders' +ObjectIdNames[19967] = 'PubSubDiagnosticsReaderGroupType_LiveValues_OperationalDataSetReaders_DiagnosticsLevel' +ObjectIdNames[19968] = 'PubSubDiagnosticsDataSetWriterType' +ObjectIdNames[19969] = 'PubSubDiagnosticsDataSetWriterType_DiagnosticsLevel' +ObjectIdNames[19970] = 'PubSubDiagnosticsDataSetWriterType_TotalInformation' +ObjectIdNames[19971] = 'PubSubDiagnosticsDataSetWriterType_TotalInformation_Active' +ObjectIdNames[19972] = 'PubSubDiagnosticsDataSetWriterType_TotalInformation_Classification' +ObjectIdNames[19973] = 'PubSubDiagnosticsDataSetWriterType_TotalInformation_DiagnosticsLevel' +ObjectIdNames[19974] = 'PubSubDiagnosticsDataSetWriterType_TotalInformation_TimeFirstChange' +ObjectIdNames[19975] = 'PubSubDiagnosticsDataSetWriterType_TotalError' +ObjectIdNames[19976] = 'PubSubDiagnosticsDataSetWriterType_TotalError_Active' +ObjectIdNames[19977] = 'PubSubDiagnosticsDataSetWriterType_TotalError_Classification' +ObjectIdNames[19978] = 'PubSubDiagnosticsDataSetWriterType_TotalError_DiagnosticsLevel' +ObjectIdNames[19979] = 'PubSubDiagnosticsDataSetWriterType_TotalError_TimeFirstChange' +ObjectIdNames[19980] = 'PubSubDiagnosticsDataSetWriterType_Reset' +ObjectIdNames[19981] = 'PubSubDiagnosticsDataSetWriterType_SubError' +ObjectIdNames[19982] = 'PubSubDiagnosticsDataSetWriterType_Counters' +ObjectIdNames[19983] = 'PubSubDiagnosticsDataSetWriterType_Counters_StateError' +ObjectIdNames[19984] = 'PubSubDiagnosticsDataSetWriterType_Counters_StateError_Active' +ObjectIdNames[19985] = 'PubSubDiagnosticsDataSetWriterType_Counters_StateError_Classification' +ObjectIdNames[19986] = 'PubSubDiagnosticsDataSetWriterType_Counters_StateError_DiagnosticsLevel' +ObjectIdNames[19987] = 'PubSubDiagnosticsDataSetWriterType_Counters_StateError_TimeFirstChange' +ObjectIdNames[19988] = 'PubSubDiagnosticsDataSetWriterType_Counters_StateOperationalByMethod' +ObjectIdNames[19989] = 'PubSubDiagnosticsDataSetWriterType_Counters_StateOperationalByMethod_Active' +ObjectIdNames[19990] = 'PubSubDiagnosticsDataSetWriterType_Counters_StateOperationalByMethod_Classification' +ObjectIdNames[19991] = 'PubSubDiagnosticsDataSetWriterType_Counters_StateOperationalByMethod_DiagnosticsLevel' +ObjectIdNames[19992] = 'PubSubDiagnosticsDataSetWriterType_Counters_StateOperationalByMethod_TimeFirstChange' +ObjectIdNames[19993] = 'PubSubDiagnosticsDataSetWriterType_Counters_StateOperationalByParent' +ObjectIdNames[19994] = 'PubSubDiagnosticsDataSetWriterType_Counters_StateOperationalByParent_Active' +ObjectIdNames[19995] = 'PubSubDiagnosticsDataSetWriterType_Counters_StateOperationalByParent_Classification' +ObjectIdNames[19996] = 'PubSubDiagnosticsDataSetWriterType_Counters_StateOperationalByParent_DiagnosticsLevel' +ObjectIdNames[19997] = 'PubSubDiagnosticsDataSetWriterType_Counters_StateOperationalByParent_TimeFirstChange' +ObjectIdNames[19998] = 'PubSubDiagnosticsDataSetWriterType_Counters_StateOperationalFromError' +ObjectIdNames[19999] = 'PubSubDiagnosticsDataSetWriterType_Counters_StateOperationalFromError_Active' +ObjectIdNames[20000] = 'PubSubDiagnosticsDataSetWriterType_Counters_StateOperationalFromError_Classification' +ObjectIdNames[20001] = 'PubSubDiagnosticsDataSetWriterType_Counters_StateOperationalFromError_DiagnosticsLevel' +ObjectIdNames[20002] = 'PubSubDiagnosticsDataSetWriterType_Counters_StateOperationalFromError_TimeFirstChange' +ObjectIdNames[20003] = 'PubSubDiagnosticsDataSetWriterType_Counters_StatePausedByParent' +ObjectIdNames[20004] = 'PubSubDiagnosticsDataSetWriterType_Counters_StatePausedByParent_Active' +ObjectIdNames[20005] = 'PubSubDiagnosticsDataSetWriterType_Counters_StatePausedByParent_Classification' +ObjectIdNames[20006] = 'PubSubDiagnosticsDataSetWriterType_Counters_StatePausedByParent_DiagnosticsLevel' +ObjectIdNames[20007] = 'PubSubDiagnosticsDataSetWriterType_Counters_StatePausedByParent_TimeFirstChange' +ObjectIdNames[20008] = 'PubSubDiagnosticsDataSetWriterType_Counters_StateDisabledByMethod' +ObjectIdNames[20009] = 'PubSubDiagnosticsDataSetWriterType_Counters_StateDisabledByMethod_Active' +ObjectIdNames[20010] = 'PubSubDiagnosticsDataSetWriterType_Counters_StateDisabledByMethod_Classification' +ObjectIdNames[20011] = 'PubSubDiagnosticsDataSetWriterType_Counters_StateDisabledByMethod_DiagnosticsLevel' +ObjectIdNames[20012] = 'PubSubDiagnosticsDataSetWriterType_Counters_StateDisabledByMethod_TimeFirstChange' +ObjectIdNames[20013] = 'PubSubDiagnosticsDataSetWriterType_LiveValues' +ObjectIdNames[20014] = 'PubSubDiagnosticsDataSetWriterType_Counters_FailedDataSetMessages' +ObjectIdNames[20015] = 'PubSubDiagnosticsDataSetWriterType_Counters_FailedDataSetMessages_Active' +ObjectIdNames[20016] = 'PubSubDiagnosticsDataSetWriterType_Counters_FailedDataSetMessages_Classification' +ObjectIdNames[20017] = 'PubSubDiagnosticsDataSetWriterType_Counters_FailedDataSetMessages_DiagnosticsLevel' +ObjectIdNames[20018] = 'PubSubDiagnosticsDataSetWriterType_Counters_FailedDataSetMessages_TimeFirstChange' +ObjectIdNames[20019] = 'PubSubDiagnosticsDataSetWriterType_LiveValues_MessageSequenceNumber' +ObjectIdNames[20020] = 'PubSubDiagnosticsDataSetWriterType_LiveValues_MessageSequenceNumber_DiagnosticsLevel' +ObjectIdNames[20021] = 'PubSubDiagnosticsDataSetWriterType_LiveValues_StatusCode' +ObjectIdNames[20022] = 'PubSubDiagnosticsDataSetWriterType_LiveValues_StatusCode_DiagnosticsLevel' +ObjectIdNames[20023] = 'PubSubDiagnosticsDataSetWriterType_LiveValues_MajorVersion' +ObjectIdNames[20024] = 'PubSubDiagnosticsDataSetWriterType_LiveValues_MajorVersion_DiagnosticsLevel' +ObjectIdNames[20025] = 'PubSubDiagnosticsDataSetWriterType_LiveValues_MinorVersion' +ObjectIdNames[20026] = 'PubSubDiagnosticsDataSetWriterType_LiveValues_MinorVersion_DiagnosticsLevel' +ObjectIdNames[20027] = 'PubSubDiagnosticsDataSetReaderType' +ObjectIdNames[20028] = 'PubSubDiagnosticsDataSetReaderType_DiagnosticsLevel' +ObjectIdNames[20029] = 'PubSubDiagnosticsDataSetReaderType_TotalInformation' +ObjectIdNames[20030] = 'PubSubDiagnosticsDataSetReaderType_TotalInformation_Active' +ObjectIdNames[20031] = 'PubSubDiagnosticsDataSetReaderType_TotalInformation_Classification' +ObjectIdNames[20032] = 'PubSubDiagnosticsDataSetReaderType_TotalInformation_DiagnosticsLevel' +ObjectIdNames[20033] = 'PubSubDiagnosticsDataSetReaderType_TotalInformation_TimeFirstChange' +ObjectIdNames[20034] = 'PubSubDiagnosticsDataSetReaderType_TotalError' +ObjectIdNames[20035] = 'PubSubDiagnosticsDataSetReaderType_TotalError_Active' +ObjectIdNames[20036] = 'PubSubDiagnosticsDataSetReaderType_TotalError_Classification' +ObjectIdNames[20037] = 'PubSubDiagnosticsDataSetReaderType_TotalError_DiagnosticsLevel' +ObjectIdNames[20038] = 'PubSubDiagnosticsDataSetReaderType_TotalError_TimeFirstChange' +ObjectIdNames[20039] = 'PubSubDiagnosticsDataSetReaderType_Reset' +ObjectIdNames[20040] = 'PubSubDiagnosticsDataSetReaderType_SubError' +ObjectIdNames[20041] = 'PubSubDiagnosticsDataSetReaderType_Counters' +ObjectIdNames[20042] = 'PubSubDiagnosticsDataSetReaderType_Counters_StateError' +ObjectIdNames[20043] = 'PubSubDiagnosticsDataSetReaderType_Counters_StateError_Active' +ObjectIdNames[20044] = 'PubSubDiagnosticsDataSetReaderType_Counters_StateError_Classification' +ObjectIdNames[20045] = 'PubSubDiagnosticsDataSetReaderType_Counters_StateError_DiagnosticsLevel' +ObjectIdNames[20046] = 'PubSubDiagnosticsDataSetReaderType_Counters_StateError_TimeFirstChange' +ObjectIdNames[20047] = 'PubSubDiagnosticsDataSetReaderType_Counters_StateOperationalByMethod' +ObjectIdNames[20048] = 'PubSubDiagnosticsDataSetReaderType_Counters_StateOperationalByMethod_Active' +ObjectIdNames[20049] = 'PubSubDiagnosticsDataSetReaderType_Counters_StateOperationalByMethod_Classification' +ObjectIdNames[20050] = 'PubSubDiagnosticsDataSetReaderType_Counters_StateOperationalByMethod_DiagnosticsLevel' +ObjectIdNames[20051] = 'PubSubDiagnosticsDataSetReaderType_Counters_StateOperationalByMethod_TimeFirstChange' +ObjectIdNames[20052] = 'PubSubDiagnosticsDataSetReaderType_Counters_StateOperationalByParent' +ObjectIdNames[20053] = 'PubSubDiagnosticsDataSetReaderType_Counters_StateOperationalByParent_Active' +ObjectIdNames[20054] = 'PubSubDiagnosticsDataSetReaderType_Counters_StateOperationalByParent_Classification' +ObjectIdNames[20055] = 'PubSubDiagnosticsDataSetReaderType_Counters_StateOperationalByParent_DiagnosticsLevel' +ObjectIdNames[20056] = 'PubSubDiagnosticsDataSetReaderType_Counters_StateOperationalByParent_TimeFirstChange' +ObjectIdNames[20057] = 'PubSubDiagnosticsDataSetReaderType_Counters_StateOperationalFromError' +ObjectIdNames[20058] = 'PubSubDiagnosticsDataSetReaderType_Counters_StateOperationalFromError_Active' +ObjectIdNames[20059] = 'PubSubDiagnosticsDataSetReaderType_Counters_StateOperationalFromError_Classification' +ObjectIdNames[20060] = 'PubSubDiagnosticsDataSetReaderType_Counters_StateOperationalFromError_DiagnosticsLevel' +ObjectIdNames[20061] = 'PubSubDiagnosticsDataSetReaderType_Counters_StateOperationalFromError_TimeFirstChange' +ObjectIdNames[20062] = 'PubSubDiagnosticsDataSetReaderType_Counters_StatePausedByParent' +ObjectIdNames[20063] = 'PubSubDiagnosticsDataSetReaderType_Counters_StatePausedByParent_Active' +ObjectIdNames[20064] = 'PubSubDiagnosticsDataSetReaderType_Counters_StatePausedByParent_Classification' +ObjectIdNames[20065] = 'PubSubDiagnosticsDataSetReaderType_Counters_StatePausedByParent_DiagnosticsLevel' +ObjectIdNames[20066] = 'PubSubDiagnosticsDataSetReaderType_Counters_StatePausedByParent_TimeFirstChange' +ObjectIdNames[20067] = 'PubSubDiagnosticsDataSetReaderType_Counters_StateDisabledByMethod' +ObjectIdNames[20068] = 'PubSubDiagnosticsDataSetReaderType_Counters_StateDisabledByMethod_Active' +ObjectIdNames[20069] = 'PubSubDiagnosticsDataSetReaderType_Counters_StateDisabledByMethod_Classification' +ObjectIdNames[20070] = 'PubSubDiagnosticsDataSetReaderType_Counters_StateDisabledByMethod_DiagnosticsLevel' +ObjectIdNames[20071] = 'PubSubDiagnosticsDataSetReaderType_Counters_StateDisabledByMethod_TimeFirstChange' +ObjectIdNames[20072] = 'PubSubDiagnosticsDataSetReaderType_LiveValues' +ObjectIdNames[20073] = 'PubSubDiagnosticsDataSetReaderType_Counters_FailedDataSetMessages' +ObjectIdNames[20074] = 'PubSubDiagnosticsDataSetReaderType_Counters_FailedDataSetMessages_Active' +ObjectIdNames[20075] = 'PubSubDiagnosticsDataSetReaderType_Counters_FailedDataSetMessages_Classification' +ObjectIdNames[20076] = 'PubSubDiagnosticsDataSetReaderType_Counters_FailedDataSetMessages_DiagnosticsLevel' +ObjectIdNames[20077] = 'PubSubDiagnosticsDataSetReaderType_Counters_FailedDataSetMessages_TimeFirstChange' +ObjectIdNames[20078] = 'PubSubDiagnosticsDataSetReaderType_Counters_DecryptionErrors' +ObjectIdNames[20079] = 'PubSubDiagnosticsDataSetReaderType_Counters_DecryptionErrors_Active' +ObjectIdNames[20080] = 'PubSubDiagnosticsDataSetReaderType_Counters_DecryptionErrors_Classification' +ObjectIdNames[20081] = 'PubSubDiagnosticsDataSetReaderType_Counters_DecryptionErrors_DiagnosticsLevel' +ObjectIdNames[20082] = 'PubSubDiagnosticsDataSetReaderType_Counters_DecryptionErrors_TimeFirstChange' +ObjectIdNames[20083] = 'PubSubDiagnosticsDataSetReaderType_LiveValues_MessageSequenceNumber' +ObjectIdNames[20084] = 'PubSubDiagnosticsDataSetReaderType_LiveValues_MessageSequenceNumber_DiagnosticsLevel' +ObjectIdNames[20085] = 'PubSubDiagnosticsDataSetReaderType_LiveValues_StatusCode' +ObjectIdNames[20086] = 'PubSubDiagnosticsDataSetReaderType_LiveValues_StatusCode_DiagnosticsLevel' +ObjectIdNames[20087] = 'PubSubDiagnosticsDataSetReaderType_LiveValues_MajorVersion' +ObjectIdNames[20088] = 'PubSubDiagnosticsDataSetReaderType_LiveValues_MajorVersion_DiagnosticsLevel' +ObjectIdNames[20089] = 'PubSubDiagnosticsDataSetReaderType_LiveValues_MinorVersion' +ObjectIdNames[20090] = 'PubSubDiagnosticsDataSetReaderType_LiveValues_MinorVersion_DiagnosticsLevel' +ObjectIdNames[20091] = 'PubSubDiagnosticsDataSetReaderType_LiveValues_SecurityTokenID' +ObjectIdNames[20092] = 'PubSubDiagnosticsDataSetReaderType_LiveValues_SecurityTokenID_DiagnosticsLevel' +ObjectIdNames[20093] = 'PubSubDiagnosticsDataSetReaderType_LiveValues_TimeToNextTokenID' +ObjectIdNames[20094] = 'PubSubDiagnosticsDataSetReaderType_LiveValues_TimeToNextTokenID_DiagnosticsLevel' +ObjectIdNames[20408] = 'DataSetOrderingType' +ObjectIdNames[20409] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_LiveValues_SecurityTokenID' +ObjectIdNames[20998] = 'VersionTime' +ObjectIdNames[20999] = 'SessionlessInvokeResponseType' +ObjectIdNames[21000] = 'SessionlessInvokeResponseType_Encoding_DefaultXml' +ObjectIdNames[21001] = 'SessionlessInvokeResponseType_Encoding_DefaultBinary' +ObjectIdNames[21002] = 'OpcUa_BinarySchema_FieldTargetDataType' +ObjectIdNames[21003] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_LiveValues_SecurityTokenID_DiagnosticsLevel' +ObjectIdNames[21004] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_LiveValues_TimeToNextTokenID' +ObjectIdNames[21005] = 'ReaderGroupType_DataSetReaderName_Placeholder_Diagnostics_LiveValues_TimeToNextTokenID_DiagnosticsLevel' +ObjectIdNames[21006] = 'ReaderGroupType_DataSetReaderName_Placeholder_SubscribedDataSet' +ObjectIdNames[21007] = 'ReaderGroupType_DataSetReaderName_Placeholder_SubscribedDataSet_DataSetMetaData' +ObjectIdNames[21008] = 'ReaderGroupType_DataSetReaderName_Placeholder_SubscribedDataSet_MessageReceiveTimeout' +ObjectIdNames[21009] = 'ReaderGroupType_DataSetReaderName_Placeholder_CreateTargetVariables' +ObjectIdNames[21010] = 'ReaderGroupType_DataSetReaderName_Placeholder_CreateTargetVariables_InputArguments' +ObjectIdNames[21011] = 'ReaderGroupType_DataSetReaderName_Placeholder_CreateTargetVariables_OutputArguments' +ObjectIdNames[21012] = 'ReaderGroupType_DataSetReaderName_Placeholder_CreateDataSetMirror' +ObjectIdNames[21013] = 'ReaderGroupType_DataSetReaderName_Placeholder_CreateDataSetMirror_InputArguments' +ObjectIdNames[21014] = 'ReaderGroupType_DataSetReaderName_Placeholder_CreateDataSetMirror_OutputArguments' +ObjectIdNames[21015] = 'ReaderGroupType_Diagnostics' +ObjectIdNames[21016] = 'ReaderGroupType_Diagnostics_DiagnosticsLevel' +ObjectIdNames[21017] = 'ReaderGroupType_Diagnostics_TotalInformation' +ObjectIdNames[21018] = 'ReaderGroupType_Diagnostics_TotalInformation_Active' +ObjectIdNames[21019] = 'ReaderGroupType_Diagnostics_TotalInformation_Classification' +ObjectIdNames[21020] = 'ReaderGroupType_Diagnostics_TotalInformation_DiagnosticsLevel' +ObjectIdNames[21021] = 'ReaderGroupType_Diagnostics_TotalInformation_TimeFirstChange' +ObjectIdNames[21022] = 'ReaderGroupType_Diagnostics_TotalError' +ObjectIdNames[21023] = 'ReaderGroupType_Diagnostics_TotalError_Active' +ObjectIdNames[21024] = 'ReaderGroupType_Diagnostics_TotalError_Classification' +ObjectIdNames[21025] = 'ReaderGroupType_Diagnostics_TotalError_DiagnosticsLevel' +ObjectIdNames[21026] = 'ReaderGroupType_Diagnostics_TotalError_TimeFirstChange' +ObjectIdNames[21027] = 'ReaderGroupType_Diagnostics_Reset' +ObjectIdNames[21028] = 'ReaderGroupType_Diagnostics_SubError' +ObjectIdNames[21029] = 'ReaderGroupType_Diagnostics_Counters' +ObjectIdNames[21030] = 'ReaderGroupType_Diagnostics_Counters_StateError' +ObjectIdNames[21031] = 'ReaderGroupType_Diagnostics_Counters_StateError_Active' +ObjectIdNames[21032] = 'ReaderGroupType_Diagnostics_Counters_StateError_Classification' +ObjectIdNames[21033] = 'ReaderGroupType_Diagnostics_Counters_StateError_DiagnosticsLevel' +ObjectIdNames[21034] = 'ReaderGroupType_Diagnostics_Counters_StateError_TimeFirstChange' +ObjectIdNames[21035] = 'ReaderGroupType_Diagnostics_Counters_StateOperationalByMethod' +ObjectIdNames[21036] = 'ReaderGroupType_Diagnostics_Counters_StateOperationalByMethod_Active' +ObjectIdNames[21037] = 'ReaderGroupType_Diagnostics_Counters_StateOperationalByMethod_Classification' +ObjectIdNames[21038] = 'ReaderGroupType_Diagnostics_Counters_StateOperationalByMethod_DiagnosticsLevel' +ObjectIdNames[21039] = 'ReaderGroupType_Diagnostics_Counters_StateOperationalByMethod_TimeFirstChange' +ObjectIdNames[21040] = 'ReaderGroupType_Diagnostics_Counters_StateOperationalByParent' +ObjectIdNames[21041] = 'ReaderGroupType_Diagnostics_Counters_StateOperationalByParent_Active' +ObjectIdNames[21042] = 'ReaderGroupType_Diagnostics_Counters_StateOperationalByParent_Classification' +ObjectIdNames[21043] = 'ReaderGroupType_Diagnostics_Counters_StateOperationalByParent_DiagnosticsLevel' +ObjectIdNames[21044] = 'ReaderGroupType_Diagnostics_Counters_StateOperationalByParent_TimeFirstChange' +ObjectIdNames[21045] = 'ReaderGroupType_Diagnostics_Counters_StateOperationalFromError' +ObjectIdNames[21046] = 'ReaderGroupType_Diagnostics_Counters_StateOperationalFromError_Active' +ObjectIdNames[21047] = 'ReaderGroupType_Diagnostics_Counters_StateOperationalFromError_Classification' +ObjectIdNames[21048] = 'ReaderGroupType_Diagnostics_Counters_StateOperationalFromError_DiagnosticsLevel' +ObjectIdNames[21049] = 'ReaderGroupType_Diagnostics_Counters_StateOperationalFromError_TimeFirstChange' +ObjectIdNames[21050] = 'ReaderGroupType_Diagnostics_Counters_StatePausedByParent' +ObjectIdNames[21051] = 'ReaderGroupType_Diagnostics_Counters_StatePausedByParent_Active' +ObjectIdNames[21052] = 'ReaderGroupType_Diagnostics_Counters_StatePausedByParent_Classification' +ObjectIdNames[21053] = 'ReaderGroupType_Diagnostics_Counters_StatePausedByParent_DiagnosticsLevel' +ObjectIdNames[21054] = 'ReaderGroupType_Diagnostics_Counters_StatePausedByParent_TimeFirstChange' +ObjectIdNames[21055] = 'ReaderGroupType_Diagnostics_Counters_StateDisabledByMethod' +ObjectIdNames[21056] = 'ReaderGroupType_Diagnostics_Counters_StateDisabledByMethod_Active' +ObjectIdNames[21057] = 'ReaderGroupType_Diagnostics_Counters_StateDisabledByMethod_Classification' +ObjectIdNames[21058] = 'ReaderGroupType_Diagnostics_Counters_StateDisabledByMethod_DiagnosticsLevel' +ObjectIdNames[21059] = 'ReaderGroupType_Diagnostics_Counters_StateDisabledByMethod_TimeFirstChange' +ObjectIdNames[21060] = 'ReaderGroupType_Diagnostics_LiveValues' +ObjectIdNames[21061] = 'ReaderGroupType_Diagnostics_Counters_ReceivedNetworkMessages' +ObjectIdNames[21062] = 'ReaderGroupType_Diagnostics_Counters_ReceivedNetworkMessages_Active' +ObjectIdNames[21063] = 'ReaderGroupType_Diagnostics_Counters_ReceivedNetworkMessages_Classification' +ObjectIdNames[21064] = 'ReaderGroupType_Diagnostics_Counters_ReceivedNetworkMessages_DiagnosticsLevel' +ObjectIdNames[21065] = 'ReaderGroupType_Diagnostics_Counters_ReceivedNetworkMessages_TimeFirstChange' +ObjectIdNames[21066] = 'ReaderGroupType_Diagnostics_Counters_ReceivedInvalidNetworkMessages' +ObjectIdNames[21067] = 'ReaderGroupType_Diagnostics_Counters_ReceivedInvalidNetworkMessages_Active' +ObjectIdNames[21068] = 'ReaderGroupType_Diagnostics_Counters_ReceivedInvalidNetworkMessages_Classification' +ObjectIdNames[21069] = 'ReaderGroupType_Diagnostics_Counters_ReceivedInvalidNetworkMessages_DiagnosticsLevel' +ObjectIdNames[21070] = 'ReaderGroupType_Diagnostics_Counters_ReceivedInvalidNetworkMessages_TimeFirstChange' +ObjectIdNames[21071] = 'ReaderGroupType_Diagnostics_Counters_DecryptionErrors' +ObjectIdNames[21072] = 'ReaderGroupType_Diagnostics_Counters_DecryptionErrors_Active' +ObjectIdNames[21073] = 'ReaderGroupType_Diagnostics_Counters_DecryptionErrors_Classification' +ObjectIdNames[21074] = 'ReaderGroupType_Diagnostics_Counters_DecryptionErrors_DiagnosticsLevel' +ObjectIdNames[21075] = 'ReaderGroupType_Diagnostics_Counters_DecryptionErrors_TimeFirstChange' +ObjectIdNames[21076] = 'ReaderGroupType_Diagnostics_LiveValues_ConfiguredDataSetReaders' +ObjectIdNames[21077] = 'ReaderGroupType_Diagnostics_LiveValues_ConfiguredDataSetReaders_DiagnosticsLevel' +ObjectIdNames[21078] = 'ReaderGroupType_Diagnostics_LiveValues_OperationalDataSetReaders' +ObjectIdNames[21079] = 'ReaderGroupType_Diagnostics_LiveValues_OperationalDataSetReaders_DiagnosticsLevel' +ObjectIdNames[21080] = 'ReaderGroupType_TransportSettings' +ObjectIdNames[21081] = 'ReaderGroupType_MessageSettings' +ObjectIdNames[21082] = 'ReaderGroupType_AddDataSetReader' +ObjectIdNames[21083] = 'ReaderGroupType_AddDataSetReader_InputArguments' +ObjectIdNames[21084] = 'ReaderGroupType_AddDataSetReader_OutputArguments' +ObjectIdNames[21085] = 'ReaderGroupType_RemoveDataSetReader' +ObjectIdNames[21086] = 'ReaderGroupType_RemoveDataSetReader_InputArguments' +ObjectIdNames[21087] = 'PubSubGroupTypeAddReaderMethodType' +ObjectIdNames[21088] = 'PubSubGroupTypeAddReaderMethodType_InputArguments' +ObjectIdNames[21089] = 'PubSubGroupTypeAddReaderMethodType_OutputArguments' +ObjectIdNames[21090] = 'ReaderGroupTransportType' +ObjectIdNames[21091] = 'ReaderGroupMessageType' +ObjectIdNames[21092] = 'DataSetWriterType_DataSetWriterId' +ObjectIdNames[21093] = 'DataSetWriterType_DataSetFieldContentMask' +ObjectIdNames[21094] = 'DataSetWriterType_KeyFrameCount' +ObjectIdNames[21095] = 'DataSetWriterType_MessageSettings' +ObjectIdNames[21096] = 'DataSetWriterMessageType' +ObjectIdNames[21097] = 'DataSetReaderType_PublisherId' +ObjectIdNames[21098] = 'DataSetReaderType_WriterGroupId' +ObjectIdNames[21099] = 'DataSetReaderType_DataSetWriterId' +ObjectIdNames[21100] = 'DataSetReaderType_DataSetMetaData' +ObjectIdNames[21101] = 'DataSetReaderType_DataSetFieldContentMask' +ObjectIdNames[21102] = 'DataSetReaderType_MessageReceiveTimeout' +ObjectIdNames[21103] = 'DataSetReaderType_MessageSettings' +ObjectIdNames[21104] = 'DataSetReaderMessageType' +ObjectIdNames[21105] = 'UadpWriterGroupMessageType' +ObjectIdNames[21106] = 'UadpWriterGroupMessageType_GroupVersion' +ObjectIdNames[21107] = 'UadpWriterGroupMessageType_DataSetOrdering' +ObjectIdNames[21108] = 'UadpWriterGroupMessageType_NetworkMessageContentMask' +ObjectIdNames[21109] = 'UadpWriterGroupMessageType_SamplingOffset' +ObjectIdNames[21110] = 'UadpWriterGroupMessageType_PublishingOffset' +ObjectIdNames[21111] = 'UadpDataSetWriterMessageType' +ObjectIdNames[21112] = 'UadpDataSetWriterMessageType_DataSetMessageContentMask' +ObjectIdNames[21113] = 'UadpDataSetWriterMessageType_ConfiguredSize' +ObjectIdNames[21114] = 'UadpDataSetWriterMessageType_NetworkMessageNumber' +ObjectIdNames[21115] = 'UadpDataSetWriterMessageType_DataSetOffset' +ObjectIdNames[21116] = 'UadpDataSetReaderMessageType' +ObjectIdNames[21117] = 'UadpDataSetReaderMessageType_GroupVersion' +ObjectIdNames[21118] = 'UadpDataSetReaderMessageType_DataSetOrdering' +ObjectIdNames[21119] = 'UadpDataSetReaderMessageType_NetworkMessageNumber' +ObjectIdNames[21120] = 'UadpDataSetReaderMessageType_DataSetClassId' +ObjectIdNames[21121] = 'UadpDataSetReaderMessageType_NetworkMessageContentMask' +ObjectIdNames[21122] = 'UadpDataSetReaderMessageType_DataSetMessageContentMask' +ObjectIdNames[21123] = 'UadpDataSetReaderMessageType_PublishingInterval' +ObjectIdNames[21124] = 'UadpDataSetReaderMessageType_ProcessingOffset' +ObjectIdNames[21125] = 'UadpDataSetReaderMessageType_ReceiveOffset' +ObjectIdNames[21126] = 'JsonWriterGroupMessageType' +ObjectIdNames[21127] = 'JsonWriterGroupMessageType_NetworkMessageContentMask' +ObjectIdNames[21128] = 'JsonDataSetWriterMessageType' +ObjectIdNames[21129] = 'JsonDataSetWriterMessageType_DataSetMessageContentMask' +ObjectIdNames[21130] = 'JsonDataSetReaderMessageType' +ObjectIdNames[21131] = 'JsonDataSetReaderMessageType_NetworkMessageContentMask' +ObjectIdNames[21132] = 'JsonDataSetReaderMessageType_DataSetMessageContentMask' +ObjectIdNames[21133] = 'DatagramWriterGroupTransportType' +ObjectIdNames[21134] = 'DatagramWriterGroupTransportType_MessageRepeatCount' +ObjectIdNames[21135] = 'DatagramWriterGroupTransportType_MessageRepeatDelay' +ObjectIdNames[21136] = 'BrokerWriterGroupTransportType' +ObjectIdNames[21137] = 'BrokerWriterGroupTransportType_QueueName' +ObjectIdNames[21138] = 'BrokerDataSetWriterTransportType' +ObjectIdNames[21139] = 'BrokerDataSetWriterTransportType_QueueName' +ObjectIdNames[21140] = 'BrokerDataSetWriterTransportType_MetaDataQueueName' +ObjectIdNames[21141] = 'BrokerDataSetWriterTransportType_MetaDataUpdateTime' +ObjectIdNames[21142] = 'BrokerDataSetReaderTransportType' +ObjectIdNames[21143] = 'BrokerDataSetReaderTransportType_QueueName' +ObjectIdNames[21144] = 'BrokerDataSetReaderTransportType_MetaDataQueueName' +ObjectIdNames[21145] = 'NetworkAddressType' +ObjectIdNames[21146] = 'NetworkAddressType_NetworkInterface' +ObjectIdNames[21147] = 'NetworkAddressUrlType' +ObjectIdNames[21148] = 'NetworkAddressUrlType_NetworkInterface' +ObjectIdNames[21149] = 'NetworkAddressUrlType_Url' +ObjectIdNames[21150] = 'WriterGroupDataType_Encoding_DefaultBinary' +ObjectIdNames[21151] = 'NetworkAddressDataType_Encoding_DefaultBinary' +ObjectIdNames[21152] = 'NetworkAddressUrlDataType_Encoding_DefaultBinary' +ObjectIdNames[21153] = 'ReaderGroupDataType_Encoding_DefaultBinary' +ObjectIdNames[21154] = 'PubSubConfigurationDataType_Encoding_DefaultBinary' +ObjectIdNames[21155] = 'DatagramWriterGroupTransportDataType_Encoding_DefaultBinary' +ObjectIdNames[21156] = 'OpcUa_BinarySchema_WriterGroupDataType' +ObjectIdNames[21157] = 'OpcUa_BinarySchema_WriterGroupDataType_DataTypeVersion' +ObjectIdNames[21158] = 'OpcUa_BinarySchema_WriterGroupDataType_DictionaryFragment' +ObjectIdNames[21159] = 'OpcUa_BinarySchema_NetworkAddressDataType' +ObjectIdNames[21160] = 'OpcUa_BinarySchema_NetworkAddressDataType_DataTypeVersion' +ObjectIdNames[21161] = 'OpcUa_BinarySchema_NetworkAddressDataType_DictionaryFragment' +ObjectIdNames[21162] = 'OpcUa_BinarySchema_NetworkAddressUrlDataType' +ObjectIdNames[21163] = 'OpcUa_BinarySchema_NetworkAddressUrlDataType_DataTypeVersion' +ObjectIdNames[21164] = 'OpcUa_BinarySchema_NetworkAddressUrlDataType_DictionaryFragment' +ObjectIdNames[21165] = 'OpcUa_BinarySchema_ReaderGroupDataType' +ObjectIdNames[21166] = 'OpcUa_BinarySchema_ReaderGroupDataType_DataTypeVersion' +ObjectIdNames[21167] = 'OpcUa_BinarySchema_ReaderGroupDataType_DictionaryFragment' +ObjectIdNames[21168] = 'OpcUa_BinarySchema_PubSubConfigurationDataType' +ObjectIdNames[21169] = 'OpcUa_BinarySchema_PubSubConfigurationDataType_DataTypeVersion' +ObjectIdNames[21170] = 'OpcUa_BinarySchema_PubSubConfigurationDataType_DictionaryFragment' +ObjectIdNames[21171] = 'OpcUa_BinarySchema_DatagramWriterGroupTransportDataType' +ObjectIdNames[21172] = 'OpcUa_BinarySchema_DatagramWriterGroupTransportDataType_DataTypeVersion' +ObjectIdNames[21173] = 'OpcUa_BinarySchema_DatagramWriterGroupTransportDataType_DictionaryFragment' +ObjectIdNames[21174] = 'WriterGroupDataType_Encoding_DefaultXml' +ObjectIdNames[21175] = 'NetworkAddressDataType_Encoding_DefaultXml' +ObjectIdNames[21176] = 'NetworkAddressUrlDataType_Encoding_DefaultXml' +ObjectIdNames[21177] = 'ReaderGroupDataType_Encoding_DefaultXml' +ObjectIdNames[21178] = 'PubSubConfigurationDataType_Encoding_DefaultXml' +ObjectIdNames[21179] = 'DatagramWriterGroupTransportDataType_Encoding_DefaultXml' +ObjectIdNames[21180] = 'OpcUa_XmlSchema_WriterGroupDataType' +ObjectIdNames[21181] = 'OpcUa_XmlSchema_WriterGroupDataType_DataTypeVersion' +ObjectIdNames[21182] = 'OpcUa_XmlSchema_WriterGroupDataType_DictionaryFragment' +ObjectIdNames[21183] = 'OpcUa_XmlSchema_NetworkAddressDataType' +ObjectIdNames[21184] = 'OpcUa_XmlSchema_NetworkAddressDataType_DataTypeVersion' +ObjectIdNames[21185] = 'OpcUa_XmlSchema_NetworkAddressDataType_DictionaryFragment' +ObjectIdNames[21186] = 'OpcUa_XmlSchema_NetworkAddressUrlDataType' +ObjectIdNames[21187] = 'OpcUa_XmlSchema_NetworkAddressUrlDataType_DataTypeVersion' +ObjectIdNames[21188] = 'OpcUa_XmlSchema_NetworkAddressUrlDataType_DictionaryFragment' +ObjectIdNames[21189] = 'OpcUa_XmlSchema_ReaderGroupDataType' +ObjectIdNames[21190] = 'OpcUa_XmlSchema_ReaderGroupDataType_DataTypeVersion' +ObjectIdNames[21191] = 'OpcUa_XmlSchema_ReaderGroupDataType_DictionaryFragment' +ObjectIdNames[21192] = 'OpcUa_XmlSchema_PubSubConfigurationDataType' +ObjectIdNames[21193] = 'OpcUa_XmlSchema_PubSubConfigurationDataType_DataTypeVersion' +ObjectIdNames[21194] = 'OpcUa_XmlSchema_PubSubConfigurationDataType_DictionaryFragment' +ObjectIdNames[21195] = 'OpcUa_XmlSchema_DatagramWriterGroupTransportDataType' +ObjectIdNames[21196] = 'OpcUa_XmlSchema_DatagramWriterGroupTransportDataType_DataTypeVersion' +ObjectIdNames[21197] = 'OpcUa_XmlSchema_DatagramWriterGroupTransportDataType_DictionaryFragment' +ObjectIdNames[21198] = 'WriterGroupDataType_Encoding_DefaultJson' +ObjectIdNames[21199] = 'NetworkAddressDataType_Encoding_DefaultJson' +ObjectIdNames[21200] = 'NetworkAddressUrlDataType_Encoding_DefaultJson' +ObjectIdNames[21201] = 'ReaderGroupDataType_Encoding_DefaultJson' +ObjectIdNames[21202] = 'PubSubConfigurationDataType_Encoding_DefaultJson' +ObjectIdNames[21203] = 'DatagramWriterGroupTransportDataType_Encoding_DefaultJson' diff --git a/opcua/ua/status_codes.py b/opcua/ua/status_codes.py index 21a4d180f..d300ccee6 100644 --- a/opcua/ua/status_codes.py +++ b/opcua/ua/status_codes.py @@ -28,6 +28,7 @@ class StatusCodes(object): BadDataTypeIdUnknown = 0x80110000 BadCertificateInvalid = 0x80120000 BadSecurityChecksFailed = 0x80130000 + BadCertificatePolicyCheckFailed = 0x81140000 BadCertificateTimeInvalid = 0x80140000 BadCertificateIssuerTimeInvalid = 0x80150000 BadCertificateHostNameInvalid = 0x80160000 @@ -54,6 +55,9 @@ class StatusCodes(object): BadTimestampsToReturnInvalid = 0x802B0000 BadRequestCancelledByClient = 0x802C0000 BadTooManyArguments = 0x80E50000 + BadLicenseExpired = 0x810E0000 + BadLicenseLimitsExceeded = 0x810F0000 + BadLicenseNotAvailable = 0x81100000 GoodSubscriptionTransferred = 0x002D0000 GoodCompletesAsynchronously = 0x002E0000 GoodOverload = 0x002F0000 @@ -93,6 +97,7 @@ class StatusCodes(object): BadReferenceTypeIdInvalid = 0x804C0000 BadBrowseDirectionInvalid = 0x804D0000 BadNodeNotInView = 0x804E0000 + BadNumericOverflow = 0x81120000 BadServerUriInvalid = 0x804F0000 BadServerNameMissing = 0x80500000 BadDiscoveryUrlMissing = 0x80510000 @@ -143,6 +148,7 @@ class StatusCodes(object): BadTypeMismatch = 0x80740000 BadMethodInvalid = 0x80750000 BadArgumentsMissing = 0x80760000 + BadNotExecutable = 0x81110000 BadTooManySubscriptions = 0x80770000 BadTooManyPublishRequests = 0x80780000 BadNoSubscription = 0x80790000 @@ -150,6 +156,7 @@ class StatusCodes(object): BadMessageNotAvailable = 0x807B0000 BadInsufficientClientProfile = 0x807C0000 BadStateNotActive = 0x80BF0000 + BadAlreadyExists = 0x81150000 BadTcpServerTooBusy = 0x807D0000 BadTcpMessageTypeInvalid = 0x807E0000 BadTcpSecureChannelUnknown = 0x807F0000 @@ -209,6 +216,7 @@ class StatusCodes(object): BadAggregateConfigurationRejected = 0x80DA0000 GoodDataIgnored = 0x00D90000 BadRequestNotAllowed = 0x80E40000 + BadRequestNotComplete = 0x81130000 GoodEdited = 0x00DC0000 GoodPostActionFailed = 0x00DD0000 UncertainDominantValueChanged = 0x40DE0000 @@ -261,15 +269,16 @@ class StatusCodes(object): 0x80110000: ('BadDataTypeIdUnknown', 'The extension object cannot be (de)serialized because the data type id is not recognized.'), 0x80120000: ('BadCertificateInvalid', 'The certificate provided as a parameter is not valid.'), 0x80130000: ('BadSecurityChecksFailed', 'An error occurred verifying security.'), - 0x80140000: ('BadCertificateTimeInvalid', 'The Certificate has expired or is not yet valid.'), - 0x80150000: ('BadCertificateIssuerTimeInvalid', 'An Issuer Certificate has expired or is not yet valid.'), - 0x80160000: ('BadCertificateHostNameInvalid', 'The HostName used to connect to a Server does not match a HostName in the Certificate.'), - 0x80170000: ('BadCertificateUriInvalid', 'The URI specified in the ApplicationDescription does not match the URI in the Certificate.'), - 0x80180000: ('BadCertificateUseNotAllowed', 'The Certificate may not be used for the requested operation.'), - 0x80190000: ('BadCertificateIssuerUseNotAllowed', 'The Issuer Certificate may not be used for the requested operation.'), - 0x801A0000: ('BadCertificateUntrusted', 'The Certificate is not trusted.'), - 0x801B0000: ('BadCertificateRevocationUnknown', 'It was not possible to determine if the Certificate has been revoked.'), - 0x801C0000: ('BadCertificateIssuerRevocationUnknown', 'It was not possible to determine if the Issuer Certificate has been revoked.'), + 0x81140000: ('BadCertificatePolicyCheckFailed', 'The certificate does not meet the requirements of the security policy.'), + 0x80140000: ('BadCertificateTimeInvalid', 'The certificate has expired or is not yet valid.'), + 0x80150000: ('BadCertificateIssuerTimeInvalid', 'An issuer certificate has expired or is not yet valid.'), + 0x80160000: ('BadCertificateHostNameInvalid', 'The HostName used to connect to a server does not match a HostName in the certificate.'), + 0x80170000: ('BadCertificateUriInvalid', 'The URI specified in the ApplicationDescription does not match the URI in the certificate.'), + 0x80180000: ('BadCertificateUseNotAllowed', 'The certificate may not be used for the requested operation.'), + 0x80190000: ('BadCertificateIssuerUseNotAllowed', 'The issuer certificate may not be used for the requested operation.'), + 0x801A0000: ('BadCertificateUntrusted', 'The certificate is not trusted.'), + 0x801B0000: ('BadCertificateRevocationUnknown', 'It was not possible to determine if the certificate has been revoked.'), + 0x801C0000: ('BadCertificateIssuerRevocationUnknown', 'It was not possible to determine if the issuer certificate has been revoked.'), 0x801D0000: ('BadCertificateRevoked', 'The certificate has been revoked.'), 0x801E0000: ('BadCertificateIssuerRevoked', 'The issuer certificate has been revoked.'), 0x810D0000: ('BadCertificateChainIncomplete', 'The certificate chain is incomplete.'), @@ -287,6 +296,9 @@ class StatusCodes(object): 0x802B0000: ('BadTimestampsToReturnInvalid', 'The timestamps to return parameter is invalid.'), 0x802C0000: ('BadRequestCancelledByClient', 'The request was cancelled by the client.'), 0x80E50000: ('BadTooManyArguments', 'Too many arguments were provided.'), + 0x810E0000: ('BadLicenseExpired', 'The server requires a license to operate in general or to perform a service or operation, but existing license is expired.'), + 0x810F0000: ('BadLicenseLimitsExceeded', 'The server has limits on number of allowed operations / objects, based on installed licenses, and these limits where exceeded.'), + 0x81100000: ('BadLicenseNotAvailable', 'The server does not have a license which is required to operate in general or to perform a service or operation.'), 0x002D0000: ('GoodSubscriptionTransferred', 'The subscription was transferred to another session.'), 0x002E0000: ('GoodCompletesAsynchronously', 'The processing will complete asynchronously.'), 0x002F0000: ('GoodOverload', 'Sampling has slowed down due to resource limitations.'), @@ -326,18 +338,19 @@ class StatusCodes(object): 0x804C0000: ('BadReferenceTypeIdInvalid', 'The operation could not be processed because all continuation points have been allocated.'), 0x804D0000: ('BadBrowseDirectionInvalid', 'The browse direction is not valid.'), 0x804E0000: ('BadNodeNotInView', 'The node is not part of the view.'), + 0x81120000: ('BadNumericOverflow', 'The number was not accepted because of a numeric overflow.'), 0x804F0000: ('BadServerUriInvalid', 'The ServerUri is not a valid URI.'), 0x80500000: ('BadServerNameMissing', 'No ServerName was specified.'), 0x80510000: ('BadDiscoveryUrlMissing', 'No DiscoveryUrl was specified.'), 0x80520000: ('BadSempahoreFileMissing', 'The semaphore file specified by the client is not valid.'), 0x80530000: ('BadRequestTypeInvalid', 'The security token request type is not valid.'), - 0x80540000: ('BadSecurityModeRejected', 'The security mode does not meet the requirements set by the Server.'), - 0x80550000: ('BadSecurityPolicyRejected', 'The security policy does not meet the requirements set by the Server.'), + 0x80540000: ('BadSecurityModeRejected', 'The security mode does not meet the requirements set by the server.'), + 0x80550000: ('BadSecurityPolicyRejected', 'The security policy does not meet the requirements set by the server.'), 0x80560000: ('BadTooManySessions', 'The server has reached its maximum number of sessions.'), 0x80570000: ('BadUserSignatureInvalid', 'The user token signature is missing or invalid.'), 0x80580000: ('BadApplicationSignatureInvalid', 'The signature generated with the client certificate is missing or invalid.'), 0x80590000: ('BadNoValidCertificates', 'The client did not provide at least one software certificate that is valid and meets the profile requirements for the server.'), - 0x80C60000: ('BadIdentityChangeNotSupported', 'The Server does not support changing the user identity assigned to the session.'), + 0x80C60000: ('BadIdentityChangeNotSupported', 'The server does not support changing the user identity assigned to the session.'), 0x805A0000: ('BadRequestCancelledByRequest', 'The request was cancelled by the client with the Cancel service.'), 0x805B0000: ('BadParentNodeIdInvalid', 'The parent node id does not to refer to a valid node.'), 0x805C0000: ('BadReferenceNotAllowed', 'The reference could not be created because it violates constraints imposed by the data model.'), @@ -372,24 +385,26 @@ class StatusCodes(object): 0x80710000: ('BadHistoryOperationInvalid', 'The history details parameter is not valid.'), 0x80720000: ('BadHistoryOperationUnsupported', 'The server does not support the requested operation.'), 0x80BD0000: ('BadInvalidTimestampArgument', 'The defined timestamp to return was invalid.'), - 0x80730000: ('BadWriteNotSupported', 'The server not does support writing the combination of value, status and timestamps provided.'), + 0x80730000: ('BadWriteNotSupported', 'The server does not support writing the combination of value, status and timestamps provided.'), 0x80740000: ('BadTypeMismatch', 'The value supplied for the attribute is not of the same type as the attribute"s value.'), 0x80750000: ('BadMethodInvalid', 'The method id does not refer to a method for the specified object.'), 0x80760000: ('BadArgumentsMissing', 'The client did not specify all of the input arguments for the method.'), + 0x81110000: ('BadNotExecutable', 'The executable attribute does not allow the execution of the method.'), 0x80770000: ('BadTooManySubscriptions', 'The server has reached its maximum number of subscriptions.'), 0x80780000: ('BadTooManyPublishRequests', 'The server has reached the maximum number of queued publish requests.'), 0x80790000: ('BadNoSubscription', 'There is no subscription available for this session.'), 0x807A0000: ('BadSequenceNumberUnknown', 'The sequence number is unknown to the server.'), 0x807B0000: ('BadMessageNotAvailable', 'The requested notification message is no longer available.'), - 0x807C0000: ('BadInsufficientClientProfile', 'The Client of the current Session does not support one or more Profiles that are necessary for the Subscription.'), + 0x807C0000: ('BadInsufficientClientProfile', 'The client of the current session does not support one or more Profiles that are necessary for the subscription.'), 0x80BF0000: ('BadStateNotActive', 'The sub-state machine is not currently active.'), + 0x81150000: ('BadAlreadyExists', 'An equivalent rule already exists.'), 0x807D0000: ('BadTcpServerTooBusy', 'The server cannot process the request because it is too busy.'), 0x807E0000: ('BadTcpMessageTypeInvalid', 'The type of the message specified in the header invalid.'), 0x807F0000: ('BadTcpSecureChannelUnknown', 'The SecureChannelId and/or TokenId are not currently in use.'), 0x80800000: ('BadTcpMessageTooLarge', 'The size of the message specified in the header is too large.'), 0x80810000: ('BadTcpNotEnoughResources', 'There are not enough resources to process the request.'), 0x80820000: ('BadTcpInternalError', 'An internal error occurred.'), - 0x80830000: ('BadTcpEndpointUrlInvalid', 'The Server does not recognize the QueryString specified.'), + 0x80830000: ('BadTcpEndpointUrlInvalid', 'The server does not recognize the QueryString specified.'), 0x80840000: ('BadRequestInterrupted', 'The request could not be sent because of a network interruption.'), 0x80850000: ('BadRequestTimeout', 'Timeout occurred while processing the request.'), 0x80860000: ('BadSecureChannelClosed', 'The secure channel has been closed.'), @@ -442,6 +457,7 @@ class StatusCodes(object): 0x80DA0000: ('BadAggregateConfigurationRejected', 'The aggregate configuration is not valid for specified node.'), 0x00D90000: ('GoodDataIgnored', 'The request pecifies fields which are not valid for the EventType or cannot be saved by the historian.'), 0x80E40000: ('BadRequestNotAllowed', 'The request was rejected by the server because it did not meet the criteria set by the server.'), + 0x81130000: ('BadRequestNotComplete', 'The request has not been processed by the server yet.'), 0x00DC0000: ('GoodEdited', 'The value does not come from the real source and has been edited by the server.'), 0x00DD0000: ('GoodPostActionFailed', 'There was an error in execution of these post-actions.'), 0x40DE0000: ('UncertainDominantValueChanged', 'The related EngineeringUnit has been changed but the Variable Value is still provided based on the previous unit.'), diff --git a/opcua/ua/uaprotocol_auto.py b/opcua/ua/uaprotocol_auto.py index 2b226c6fe..794b503ec 100644 --- a/opcua/ua/uaprotocol_auto.py +++ b/opcua/ua/uaprotocol_auto.py @@ -1,6 +1,6 @@ -""" +''' Autogenerate code from xml spec -""" +''' from datetime import datetime from enum import IntEnum @@ -10,21 +10,21 @@ class NamingRuleType(IntEnum): - """ + ''' :ivar Mandatory: :vartype Mandatory: 1 :ivar Optional: :vartype Optional: 2 :ivar Constraint: :vartype Constraint: 3 - """ + ''' Mandatory = 1 Optional = 2 Constraint = 3 class OpenFileMode(IntEnum): - """ + ''' :ivar Read: :vartype Read: 1 :ivar Write: @@ -33,15 +33,38 @@ class OpenFileMode(IntEnum): :vartype EraseExisting: 4 :ivar Append: :vartype Append: 8 - """ + ''' Read = 1 Write = 2 EraseExisting = 4 Append = 8 +class IdentityCriteriaType(IntEnum): + ''' + :ivar UserName: + :vartype UserName: 1 + :ivar Thumbprint: + :vartype Thumbprint: 2 + :ivar Role: + :vartype Role: 3 + :ivar GroupId: + :vartype GroupId: 4 + :ivar Anonymous: + :vartype Anonymous: 5 + :ivar AuthenticatedUser: + :vartype AuthenticatedUser: 6 + ''' + UserName = 1 + Thumbprint = 2 + Role = 3 + GroupId = 4 + Anonymous = 5 + AuthenticatedUser = 6 + + class TrustListMasks(IntEnum): - """ + ''' :ivar None_: :vartype None_: 0 :ivar TrustedCertificates: @@ -54,7 +77,7 @@ class TrustListMasks(IntEnum): :vartype IssuerCrls: 8 :ivar All: :vartype All: 15 - """ + ''' None_ = 0 TrustedCertificates = 1 TrustedCrls = 2 @@ -63,8 +86,239 @@ class TrustListMasks(IntEnum): All = 15 +class PubSubState(IntEnum): + ''' + :ivar Disabled: + :vartype Disabled: 0 + :ivar Paused: + :vartype Paused: 1 + :ivar Operational: + :vartype Operational: 2 + :ivar Error: + :vartype Error: 3 + ''' + Disabled = 0 + Paused = 1 + Operational = 2 + Error = 3 + + +class DataSetFieldFlags(IntEnum): + ''' + :ivar PromotedField: + :vartype PromotedField: 1 + ''' + PromotedField = 1 + + +class DataSetFieldContentMask(IntEnum): + ''' + :ivar StatusCode: + :vartype StatusCode: 1 + :ivar SourceTimestamp: + :vartype SourceTimestamp: 2 + :ivar ServerTimestamp: + :vartype ServerTimestamp: 4 + :ivar SourcePicoSeconds: + :vartype SourcePicoSeconds: 8 + :ivar ServerPicoSeconds: + :vartype ServerPicoSeconds: 16 + :ivar RawDataEncoding: + :vartype RawDataEncoding: 32 + ''' + StatusCode = 1 + SourceTimestamp = 2 + ServerTimestamp = 4 + SourcePicoSeconds = 8 + ServerPicoSeconds = 16 + RawDataEncoding = 32 + + +class OverrideValueHandling(IntEnum): + ''' + :ivar Disabled: + :vartype Disabled: 0 + :ivar LastUseableValue: + :vartype LastUseableValue: 1 + :ivar OverrideValue: + :vartype OverrideValue: 2 + ''' + Disabled = 0 + LastUseableValue = 1 + OverrideValue = 2 + + +class DataSetOrderingType(IntEnum): + ''' + :ivar Undefined: + :vartype Undefined: 0 + :ivar AscendingWriterId: + :vartype AscendingWriterId: 1 + :ivar AscendingWriterIdSingle: + :vartype AscendingWriterIdSingle: 2 + ''' + Undefined = 0 + AscendingWriterId = 1 + AscendingWriterIdSingle = 2 + + +class UadpNetworkMessageContentMask(IntEnum): + ''' + :ivar PublisherId: + :vartype PublisherId: 1 + :ivar GroupHeader: + :vartype GroupHeader: 2 + :ivar WriterGroupId: + :vartype WriterGroupId: 4 + :ivar GroupVersion: + :vartype GroupVersion: 8 + :ivar NetworkMessageNumber: + :vartype NetworkMessageNumber: 16 + :ivar SequenceNumber: + :vartype SequenceNumber: 32 + :ivar PayloadHeader: + :vartype PayloadHeader: 64 + :ivar Timestamp: + :vartype Timestamp: 128 + :ivar Picoseconds: + :vartype Picoseconds: 256 + :ivar DataSetClassId: + :vartype DataSetClassId: 512 + :ivar PromotedFields: + :vartype PromotedFields: 1024 + ''' + PublisherId = 1 + GroupHeader = 2 + WriterGroupId = 4 + GroupVersion = 8 + NetworkMessageNumber = 16 + SequenceNumber = 32 + PayloadHeader = 64 + Timestamp = 128 + Picoseconds = 256 + DataSetClassId = 512 + PromotedFields = 1024 + + +class UadpDataSetMessageContentMask(IntEnum): + ''' + :ivar Timestamp: + :vartype Timestamp: 1 + :ivar PicoSeconds: + :vartype PicoSeconds: 2 + :ivar Status: + :vartype Status: 4 + :ivar MajorVersion: + :vartype MajorVersion: 8 + :ivar MinorVersion: + :vartype MinorVersion: 16 + :ivar SequenceNumber: + :vartype SequenceNumber: 32 + ''' + Timestamp = 1 + PicoSeconds = 2 + Status = 4 + MajorVersion = 8 + MinorVersion = 16 + SequenceNumber = 32 + + +class JsonNetworkMessageContentMask(IntEnum): + ''' + :ivar NetworkMessageHeader: + :vartype NetworkMessageHeader: 1 + :ivar DataSetMessageHeader: + :vartype DataSetMessageHeader: 2 + :ivar SingleDataSetMessage: + :vartype SingleDataSetMessage: 4 + :ivar PublisherId: + :vartype PublisherId: 8 + :ivar DataSetClassId: + :vartype DataSetClassId: 16 + :ivar ReplyTo: + :vartype ReplyTo: 32 + ''' + NetworkMessageHeader = 1 + DataSetMessageHeader = 2 + SingleDataSetMessage = 4 + PublisherId = 8 + DataSetClassId = 16 + ReplyTo = 32 + + +class JsonDataSetMessageContentMask(IntEnum): + ''' + :ivar DataSetWriterId: + :vartype DataSetWriterId: 1 + :ivar MetaDataVersion: + :vartype MetaDataVersion: 2 + :ivar SequenceNumber: + :vartype SequenceNumber: 4 + :ivar Timestamp: + :vartype Timestamp: 8 + :ivar Status: + :vartype Status: 16 + ''' + DataSetWriterId = 1 + MetaDataVersion = 2 + SequenceNumber = 4 + Timestamp = 8 + Status = 16 + + +class BrokerTransportQualityOfService(IntEnum): + ''' + :ivar NotSpecified: + :vartype NotSpecified: 0 + :ivar BestEffort: + :vartype BestEffort: 1 + :ivar AtLeastOnce: + :vartype AtLeastOnce: 2 + :ivar AtMostOnce: + :vartype AtMostOnce: 3 + :ivar ExactlyOnce: + :vartype ExactlyOnce: 4 + ''' + NotSpecified = 0 + BestEffort = 1 + AtLeastOnce = 2 + AtMostOnce = 3 + ExactlyOnce = 4 + + +class DiagnosticsLevel(IntEnum): + ''' + :ivar Basic: + :vartype Basic: 0 + :ivar Advanced: + :vartype Advanced: 1 + :ivar Info: + :vartype Info: 2 + :ivar Log: + :vartype Log: 3 + :ivar Debug: + :vartype Debug: 4 + ''' + Basic = 0 + Advanced = 1 + Info = 2 + Log = 3 + Debug = 4 + + +class PubSubDiagnosticsCounterClassification(IntEnum): + ''' + :ivar Information: + :vartype Information: 0 + :ivar Error: + :vartype Error: 1 + ''' + Information = 0 + Error = 1 + + class IdType(IntEnum): - """ + ''' The type of identifier used in a node id. :ivar Numeric: @@ -75,7 +329,7 @@ class IdType(IntEnum): :vartype Guid: 2 :ivar Opaque: :vartype Opaque: 3 - """ + ''' Numeric = 0 String = 1 Guid = 2 @@ -83,7 +337,7 @@ class IdType(IntEnum): class NodeClass(IntEnum): - """ + ''' A mask specifying the class of the node. :ivar Unspecified: @@ -104,7 +358,7 @@ class NodeClass(IntEnum): :vartype DataType: 64 :ivar View: :vartype View: 128 - """ + ''' Unspecified = 0 Object = 1 Variable = 2 @@ -116,8 +370,100 @@ class NodeClass(IntEnum): View = 128 +class AccessLevelType(IntEnum): + ''' + :ivar None_: + :vartype None_: 0 + :ivar CurrentRead: + :vartype CurrentRead: 1 + :ivar CurrentWrite: + :vartype CurrentWrite: 2 + :ivar HistoryRead: + :vartype HistoryRead: 4 + :ivar HistoryWrite: + :vartype HistoryWrite: 16 + :ivar StatusWrite: + :vartype StatusWrite: 32 + :ivar TimestampWrite: + :vartype TimestampWrite: 64 + ''' + None_ = 0 + CurrentRead = 1 + CurrentWrite = 2 + HistoryRead = 4 + HistoryWrite = 16 + StatusWrite = 32 + TimestampWrite = 64 + + +class AccessLevelExType(IntEnum): + ''' + :ivar None_: + :vartype None_: 0 + :ivar CurrentRead: + :vartype CurrentRead: 1 + :ivar CurrentWrite: + :vartype CurrentWrite: 2 + :ivar HistoryRead: + :vartype HistoryRead: 4 + :ivar HistoryWrite: + :vartype HistoryWrite: 16 + :ivar StatusWrite: + :vartype StatusWrite: 32 + :ivar TimestampWrite: + :vartype TimestampWrite: 64 + :ivar NonatomicRead: + :vartype NonatomicRead: 65536 + :ivar NonatomicWrite: + :vartype NonatomicWrite: 131072 + :ivar WriteFullArrayOnly: + :vartype WriteFullArrayOnly: 262144 + ''' + None_ = 0 + CurrentRead = 1 + CurrentWrite = 2 + HistoryRead = 4 + HistoryWrite = 16 + StatusWrite = 32 + TimestampWrite = 64 + NonatomicRead = 65536 + NonatomicWrite = 131072 + WriteFullArrayOnly = 262144 + + +class EventNotifierType(IntEnum): + ''' + :ivar None_: + :vartype None_: 0 + :ivar SubscribeToEvents: + :vartype SubscribeToEvents: 1 + :ivar HistoryRead: + :vartype HistoryRead: 4 + :ivar HistoryWrite: + :vartype HistoryWrite: 8 + ''' + None_ = 0 + SubscribeToEvents = 1 + HistoryRead = 4 + HistoryWrite = 8 + + +class StructureType(IntEnum): + ''' + :ivar Structure: + :vartype Structure: 0 + :ivar StructureWithOptionalFields: + :vartype StructureWithOptionalFields: 1 + :ivar Union: + :vartype Union: 2 + ''' + Structure = 0 + StructureWithOptionalFields = 1 + Union = 2 + + class ApplicationType(IntEnum): - """ + ''' The types of applications. :ivar Server: @@ -128,7 +474,7 @@ class ApplicationType(IntEnum): :vartype ClientAndServer: 2 :ivar DiscoveryServer: :vartype DiscoveryServer: 3 - """ + ''' Server = 0 Client = 1 ClientAndServer = 2 @@ -136,7 +482,7 @@ class ApplicationType(IntEnum): class MessageSecurityMode(IntEnum): - """ + ''' The type of security to use on a message. :ivar Invalid: @@ -147,7 +493,7 @@ class MessageSecurityMode(IntEnum): :vartype Sign: 2 :ivar SignAndEncrypt: :vartype SignAndEncrypt: 3 - """ + ''' Invalid = 0 None_ = 1 Sign = 2 @@ -155,7 +501,7 @@ class MessageSecurityMode(IntEnum): class UserTokenType(IntEnum): - """ + ''' The possible user token types. :ivar Anonymous: @@ -166,7 +512,7 @@ class UserTokenType(IntEnum): :vartype Certificate: 2 :ivar IssuedToken: :vartype IssuedToken: 3 - """ + ''' Anonymous = 0 UserName = 1 Certificate = 2 @@ -174,20 +520,20 @@ class UserTokenType(IntEnum): class SecurityTokenRequestType(IntEnum): - """ + ''' Indicates whether a token if being created or renewed. :ivar Issue: :vartype Issue: 0 :ivar Renew: :vartype Renew: 1 - """ + ''' Issue = 0 Renew = 1 class NodeAttributesMask(IntEnum): - """ + ''' The bits used to specify default attributes for a new node. :ivar None_: @@ -236,25 +582,31 @@ class NodeAttributesMask(IntEnum): :vartype WriteMask: 1048576 :ivar Value: :vartype Value: 2097152 + :ivar DataTypeDefinition: + :vartype DataTypeDefinition: 4194304 + :ivar RolePermissions: + :vartype RolePermissions: 8388608 + :ivar AccessRestrictions: + :vartype AccessRestrictions: 16777216 :ivar All: - :vartype All: 4194303 + :vartype All: 33554431 :ivar BaseNode: - :vartype BaseNode: 1335396 + :vartype BaseNode: 26501220 :ivar Object: - :vartype Object: 1335524 - :ivar ObjectTypeOrDataType: - :vartype ObjectTypeOrDataType: 1337444 + :vartype Object: 26501348 + :ivar ObjectType: + :vartype ObjectType: 26503268 :ivar Variable: - :vartype Variable: 4026999 + :vartype Variable: 26571383 :ivar VariableType: - :vartype VariableType: 3958902 + :vartype VariableType: 28600438 :ivar Method: - :vartype Method: 1466724 + :vartype Method: 26632548 :ivar ReferenceType: - :vartype ReferenceType: 1371236 + :vartype ReferenceType: 26537060 :ivar View: - :vartype View: 1335532 - """ + :vartype View: 26501356 + ''' None_ = 0 AccessLevel = 1 ArrayDimensions = 2 @@ -278,19 +630,22 @@ class NodeAttributesMask(IntEnum): ValueRank = 524288 WriteMask = 1048576 Value = 2097152 - All = 4194303 - BaseNode = 1335396 - Object = 1335524 - ObjectTypeOrDataType = 1337444 - Variable = 4026999 - VariableType = 3958902 - Method = 1466724 - ReferenceType = 1371236 - View = 1335532 + DataTypeDefinition = 4194304 + RolePermissions = 8388608 + AccessRestrictions = 16777216 + All = 33554431 + BaseNode = 26501220 + Object = 26501348 + ObjectType = 26503268 + Variable = 26571383 + VariableType = 28600438 + Method = 26632548 + ReferenceType = 26537060 + View = 26501356 class AttributeWriteMask(IntEnum): - """ + ''' Define bits used to indicate which attributes are writable. :ivar None_: @@ -339,7 +694,15 @@ class AttributeWriteMask(IntEnum): :vartype WriteMask: 1048576 :ivar ValueForVariableType: :vartype ValueForVariableType: 2097152 - """ + :ivar DataTypeDefinition: + :vartype DataTypeDefinition: 4194304 + :ivar RolePermissions: + :vartype RolePermissions: 8388608 + :ivar AccessRestrictions: + :vartype AccessRestrictions: 16777216 + :ivar AccessLevelEx: + :vartype AccessLevelEx: 33554432 + ''' None_ = 0 AccessLevel = 1 ArrayDimensions = 2 @@ -363,10 +726,14 @@ class AttributeWriteMask(IntEnum): ValueRank = 524288 WriteMask = 1048576 ValueForVariableType = 2097152 + DataTypeDefinition = 4194304 + RolePermissions = 8388608 + AccessRestrictions = 16777216 + AccessLevelEx = 33554432 class BrowseDirection(IntEnum): - """ + ''' The directions of the references to return. :ivar Forward: @@ -377,7 +744,7 @@ class BrowseDirection(IntEnum): :vartype Both: 2 :ivar Invalid: :vartype Invalid: 3 - """ + ''' Forward = 0 Inverse = 1 Both = 2 @@ -385,7 +752,7 @@ class BrowseDirection(IntEnum): class BrowseResultMask(IntEnum): - """ + ''' A bit mask which specifies what should be returned in a browse response. :ivar None_: @@ -408,7 +775,7 @@ class BrowseResultMask(IntEnum): :vartype ReferenceTypeInfo: 3 :ivar TargetInfo: :vartype TargetInfo: 60 - """ + ''' None_ = 0 ReferenceTypeId = 1 IsForward = 2 @@ -422,7 +789,7 @@ class BrowseResultMask(IntEnum): class FilterOperator(IntEnum): - """ + ''' :ivar Equals: :vartype Equals: 0 :ivar IsNull: @@ -459,7 +826,7 @@ class FilterOperator(IntEnum): :vartype BitwiseAnd: 16 :ivar BitwiseOr: :vartype BitwiseOr: 17 - """ + ''' Equals = 0 IsNull = 1 GreaterThan = 2 @@ -481,7 +848,7 @@ class FilterOperator(IntEnum): class TimestampsToReturn(IntEnum): - """ + ''' :ivar Source: :vartype Source: 0 :ivar Server: @@ -492,7 +859,7 @@ class TimestampsToReturn(IntEnum): :vartype Neither: 3 :ivar Invalid: :vartype Invalid: 4 - """ + ''' Source = 0 Server = 1 Both = 2 @@ -501,7 +868,7 @@ class TimestampsToReturn(IntEnum): class HistoryUpdateType(IntEnum): - """ + ''' :ivar Insert: :vartype Insert: 1 :ivar Replace: @@ -510,7 +877,7 @@ class HistoryUpdateType(IntEnum): :vartype Update: 3 :ivar Delete: :vartype Delete: 4 - """ + ''' Insert = 1 Replace = 2 Update = 3 @@ -518,7 +885,7 @@ class HistoryUpdateType(IntEnum): class PerformUpdateType(IntEnum): - """ + ''' :ivar Insert: :vartype Insert: 1 :ivar Replace: @@ -527,7 +894,7 @@ class PerformUpdateType(IntEnum): :vartype Update: 3 :ivar Remove: :vartype Remove: 4 - """ + ''' Insert = 1 Replace = 2 Update = 3 @@ -535,49 +902,49 @@ class PerformUpdateType(IntEnum): class MonitoringMode(IntEnum): - """ + ''' :ivar Disabled: :vartype Disabled: 0 :ivar Sampling: :vartype Sampling: 1 :ivar Reporting: :vartype Reporting: 2 - """ + ''' Disabled = 0 Sampling = 1 Reporting = 2 class DataChangeTrigger(IntEnum): - """ + ''' :ivar Status: :vartype Status: 0 :ivar StatusValue: :vartype StatusValue: 1 :ivar StatusValueTimestamp: :vartype StatusValueTimestamp: 2 - """ + ''' Status = 0 StatusValue = 1 StatusValueTimestamp = 2 class DeadbandType(IntEnum): - """ + ''' :ivar None_: :vartype None_: 0 :ivar Absolute: :vartype Absolute: 1 :ivar Percent: :vartype Percent: 2 - """ + ''' None_ = 0 Absolute = 1 Percent = 2 class RedundancySupport(IntEnum): - """ + ''' :ivar None_: :vartype None_: 0 :ivar Cold: @@ -590,7 +957,7 @@ class RedundancySupport(IntEnum): :vartype Transparent: 4 :ivar HotAndMirrored: :vartype HotAndMirrored: 5 - """ + ''' None_ = 0 Cold = 1 Warm = 2 @@ -600,7 +967,7 @@ class RedundancySupport(IntEnum): class ServerState(IntEnum): - """ + ''' :ivar Running: :vartype Running: 0 :ivar Failed: @@ -617,7 +984,7 @@ class ServerState(IntEnum): :vartype CommunicationFault: 6 :ivar Unknown: :vartype Unknown: 7 - """ + ''' Running = 0 Failed = 1 NoConfiguration = 2 @@ -629,7 +996,7 @@ class ServerState(IntEnum): class ModelChangeStructureVerbMask(IntEnum): - """ + ''' :ivar NodeAdded: :vartype NodeAdded: 1 :ivar NodeDeleted: @@ -640,7 +1007,7 @@ class ModelChangeStructureVerbMask(IntEnum): :vartype ReferenceDeleted: 8 :ivar DataTypeChanged: :vartype DataTypeChanged: 16 - """ + ''' NodeAdded = 1 NodeDeleted = 2 ReferenceAdded = 4 @@ -649,136 +1016,2054 @@ class ModelChangeStructureVerbMask(IntEnum): class AxisScaleEnumeration(IntEnum): - """ + ''' :ivar Linear: :vartype Linear: 0 :ivar Log: :vartype Log: 1 :ivar Ln: :vartype Ln: 2 - """ + ''' Linear = 0 Log = 1 Ln = 2 -class ExceptionDeviationFormat(IntEnum): - """ - :ivar AbsoluteValue: - :vartype AbsoluteValue: 0 - :ivar PercentOfValue: - :vartype PercentOfValue: 1 - :ivar PercentOfRange: - :vartype PercentOfRange: 2 - :ivar PercentOfEURange: - :vartype PercentOfEURange: 3 - :ivar Unknown: - :vartype Unknown: 4 - """ - AbsoluteValue = 0 - PercentOfValue = 1 - PercentOfRange = 2 - PercentOfEURange = 3 - Unknown = 4 +class ExceptionDeviationFormat(IntEnum): + ''' + :ivar AbsoluteValue: + :vartype AbsoluteValue: 0 + :ivar PercentOfValue: + :vartype PercentOfValue: 1 + :ivar PercentOfRange: + :vartype PercentOfRange: 2 + :ivar PercentOfEURange: + :vartype PercentOfEURange: 3 + :ivar Unknown: + :vartype Unknown: 4 + ''' + AbsoluteValue = 0 + PercentOfValue = 1 + PercentOfRange = 2 + PercentOfEURange = 3 + Unknown = 4 + + +class DataTypeDefinition(FrozenClass): + ''' + ''' + + ua_types = [ + ] + + def __init__(self): + self._freeze = True + + def __str__(self): + return 'DataTypeDefinition(' + + ')' + + __repr__ = __str__ + + +class DiagnosticInfo(FrozenClass): + ''' + A recursive structure containing diagnostic information associated with a status code. + + :ivar Encoding: + :vartype Encoding: Byte + :ivar SymbolicId: + :vartype SymbolicId: Int32 + :ivar NamespaceURI: + :vartype NamespaceURI: Int32 + :ivar Locale: + :vartype Locale: Int32 + :ivar LocalizedText: + :vartype LocalizedText: Int32 + :ivar AdditionalInfo: + :vartype AdditionalInfo: String + :ivar InnerStatusCode: + :vartype InnerStatusCode: StatusCode + :ivar InnerDiagnosticInfo: + :vartype InnerDiagnosticInfo: DiagnosticInfo + ''' + + ua_switches = { + 'SymbolicId': ('Encoding', 0), + 'NamespaceURI': ('Encoding', 1), + 'Locale': ('Encoding', 2), + 'LocalizedText': ('Encoding', 3), + 'AdditionalInfo': ('Encoding', 4), + 'InnerStatusCode': ('Encoding', 5), + 'InnerDiagnosticInfo': ('Encoding', 6), + } + ua_types = [ + ('Encoding', 'Byte'), + ('SymbolicId', 'Int32'), + ('NamespaceURI', 'Int32'), + ('Locale', 'Int32'), + ('LocalizedText', 'Int32'), + ('AdditionalInfo', 'String'), + ('InnerStatusCode', 'StatusCode'), + ('InnerDiagnosticInfo', 'DiagnosticInfo'), + ] + + def __init__(self): + self.Encoding = 0 + self.SymbolicId = None + self.NamespaceURI = None + self.Locale = None + self.LocalizedText = None + self.AdditionalInfo = None + self.InnerStatusCode = None + self.InnerDiagnosticInfo = None + self._freeze = True + + def __str__(self): + return 'DiagnosticInfo(' + 'Encoding:' + str(self.Encoding) + ', ' + \ + 'SymbolicId:' + str(self.SymbolicId) + ', ' + \ + 'NamespaceURI:' + str(self.NamespaceURI) + ', ' + \ + 'Locale:' + str(self.Locale) + ', ' + \ + 'LocalizedText:' + str(self.LocalizedText) + ', ' + \ + 'AdditionalInfo:' + str(self.AdditionalInfo) + ', ' + \ + 'InnerStatusCode:' + str(self.InnerStatusCode) + ', ' + \ + 'InnerDiagnosticInfo:' + str(self.InnerDiagnosticInfo) + ')' + + __repr__ = __str__ + + +class KeyValuePair(FrozenClass): + ''' + :ivar Key: + :vartype Key: QualifiedName + :ivar Value: + :vartype Value: Variant + ''' + + ua_types = [ + ('Key', 'QualifiedName'), + ('Value', 'Variant'), + ] + + def __init__(self): + self.Key = QualifiedName() + self.Value = Variant() + self._freeze = True + + def __str__(self): + return 'KeyValuePair(' + 'Key:' + str(self.Key) + ', ' + \ + 'Value:' + str(self.Value) + ')' + + __repr__ = __str__ + + +class EndpointType(FrozenClass): + ''' + :ivar EndpointUrl: + :vartype EndpointUrl: String + :ivar SecurityMode: + :vartype SecurityMode: MessageSecurityMode + :ivar SecurityPolicyUri: + :vartype SecurityPolicyUri: String + :ivar TransportProfileUri: + :vartype TransportProfileUri: String + ''' + + ua_types = [ + ('EndpointUrl', 'String'), + ('SecurityMode', 'MessageSecurityMode'), + ('SecurityPolicyUri', 'String'), + ('TransportProfileUri', 'String'), + ] + + def __init__(self): + self.EndpointUrl = None + self.SecurityMode = MessageSecurityMode(0) + self.SecurityPolicyUri = None + self.TransportProfileUri = None + self._freeze = True + + def __str__(self): + return 'EndpointType(' + 'EndpointUrl:' + str(self.EndpointUrl) + ', ' + \ + 'SecurityMode:' + str(self.SecurityMode) + ', ' + \ + 'SecurityPolicyUri:' + str(self.SecurityPolicyUri) + ', ' + \ + 'TransportProfileUri:' + str(self.TransportProfileUri) + ')' + + __repr__ = __str__ + + +class IdentityMappingRuleType(FrozenClass): + ''' + :ivar CriteriaType: + :vartype CriteriaType: IdentityCriteriaType + :ivar Criteria: + :vartype Criteria: String + ''' + + ua_types = [ + ('CriteriaType', 'IdentityCriteriaType'), + ('Criteria', 'String'), + ] + + def __init__(self): + self.CriteriaType = IdentityCriteriaType(0) + self.Criteria = None + self._freeze = True + + def __str__(self): + return 'IdentityMappingRuleType(' + 'CriteriaType:' + str(self.CriteriaType) + ', ' + \ + 'Criteria:' + str(self.Criteria) + ')' + + __repr__ = __str__ + + +class TrustListDataType(FrozenClass): + ''' + :ivar SpecifiedLists: + :vartype SpecifiedLists: UInt32 + :ivar TrustedCertificates: + :vartype TrustedCertificates: ByteString + :ivar TrustedCrls: + :vartype TrustedCrls: ByteString + :ivar IssuerCertificates: + :vartype IssuerCertificates: ByteString + :ivar IssuerCrls: + :vartype IssuerCrls: ByteString + ''' + + ua_types = [ + ('SpecifiedLists', 'UInt32'), + ('TrustedCertificates', 'ListOfByteString'), + ('TrustedCrls', 'ListOfByteString'), + ('IssuerCertificates', 'ListOfByteString'), + ('IssuerCrls', 'ListOfByteString'), + ] + + def __init__(self): + self.SpecifiedLists = 0 + self.TrustedCertificates = [] + self.TrustedCrls = [] + self.IssuerCertificates = [] + self.IssuerCrls = [] + self._freeze = True + + def __str__(self): + return 'TrustListDataType(' + 'SpecifiedLists:' + str(self.SpecifiedLists) + ', ' + \ + 'TrustedCertificates:' + str(self.TrustedCertificates) + ', ' + \ + 'TrustedCrls:' + str(self.TrustedCrls) + ', ' + \ + 'IssuerCertificates:' + str(self.IssuerCertificates) + ', ' + \ + 'IssuerCrls:' + str(self.IssuerCrls) + ')' + + __repr__ = __str__ + + +class DecimalDataType(FrozenClass): + ''' + :ivar Scale: + :vartype Scale: Int16 + :ivar Value: + :vartype Value: ByteString + ''' + + ua_types = [ + ('Scale', 'Int16'), + ('Value', 'ByteString'), + ] + + def __init__(self): + self.Scale = 0 + self.Value = None + self._freeze = True + + def __str__(self): + return 'DecimalDataType(' + 'Scale:' + str(self.Scale) + ', ' + \ + 'Value:' + str(self.Value) + ')' + + __repr__ = __str__ + + +class DataTypeSchemaHeader(FrozenClass): + ''' + :ivar Namespaces: + :vartype Namespaces: String + :ivar StructureDataTypes: + :vartype StructureDataTypes: StructureDescription + :ivar EnumDataTypes: + :vartype EnumDataTypes: EnumDescription + :ivar SimpleDataTypes: + :vartype SimpleDataTypes: SimpleTypeDescription + ''' + + ua_types = [ + ('Namespaces', 'ListOfString'), + ('StructureDataTypes', 'ListOfStructureDescription'), + ('EnumDataTypes', 'ListOfEnumDescription'), + ('SimpleDataTypes', 'ListOfSimpleTypeDescription'), + ] + + def __init__(self): + self.Namespaces = [] + self.StructureDataTypes = [] + self.EnumDataTypes = [] + self.SimpleDataTypes = [] + self._freeze = True + + def __str__(self): + return 'DataTypeSchemaHeader(' + 'Namespaces:' + str(self.Namespaces) + ', ' + \ + 'StructureDataTypes:' + str(self.StructureDataTypes) + ', ' + \ + 'EnumDataTypes:' + str(self.EnumDataTypes) + ', ' + \ + 'SimpleDataTypes:' + str(self.SimpleDataTypes) + ')' + + __repr__ = __str__ + + +class DataTypeDescription(FrozenClass): + ''' + :ivar DataTypeId: + :vartype DataTypeId: NodeId + :ivar Name: + :vartype Name: QualifiedName + ''' + + ua_types = [ + ('DataTypeId', 'NodeId'), + ('Name', 'QualifiedName'), + ] + + def __init__(self): + self.DataTypeId = NodeId() + self.Name = QualifiedName() + self._freeze = True + + def __str__(self): + return 'DataTypeDescription(' + 'DataTypeId:' + str(self.DataTypeId) + ', ' + \ + 'Name:' + str(self.Name) + ')' + + __repr__ = __str__ + + +class StructureDescription(FrozenClass): + ''' + :ivar DataTypeId: + :vartype DataTypeId: NodeId + :ivar Name: + :vartype Name: QualifiedName + :ivar StructureDefinition: + :vartype StructureDefinition: StructureDefinition + ''' + + ua_types = [ + ('DataTypeId', 'NodeId'), + ('Name', 'QualifiedName'), + ('StructureDefinition', 'StructureDefinition'), + ] + + def __init__(self): + self.DataTypeId = NodeId() + self.Name = QualifiedName() + self.StructureDefinition = StructureDefinition() + self._freeze = True + + def __str__(self): + return 'StructureDescription(' + 'DataTypeId:' + str(self.DataTypeId) + ', ' + \ + 'Name:' + str(self.Name) + ', ' + \ + 'StructureDefinition:' + str(self.StructureDefinition) + ')' + + __repr__ = __str__ + + +class EnumDescription(FrozenClass): + ''' + :ivar DataTypeId: + :vartype DataTypeId: NodeId + :ivar Name: + :vartype Name: QualifiedName + :ivar EnumDefinition: + :vartype EnumDefinition: EnumDefinition + :ivar BuiltInType: + :vartype BuiltInType: Byte + ''' + + ua_types = [ + ('DataTypeId', 'NodeId'), + ('Name', 'QualifiedName'), + ('EnumDefinition', 'EnumDefinition'), + ('BuiltInType', 'Byte'), + ] + + def __init__(self): + self.DataTypeId = NodeId() + self.Name = QualifiedName() + self.EnumDefinition = EnumDefinition() + self.BuiltInType = 0 + self._freeze = True + + def __str__(self): + return 'EnumDescription(' + 'DataTypeId:' + str(self.DataTypeId) + ', ' + \ + 'Name:' + str(self.Name) + ', ' + \ + 'EnumDefinition:' + str(self.EnumDefinition) + ', ' + \ + 'BuiltInType:' + str(self.BuiltInType) + ')' + + __repr__ = __str__ + + +class SimpleTypeDescription(FrozenClass): + ''' + :ivar DataTypeId: + :vartype DataTypeId: NodeId + :ivar Name: + :vartype Name: QualifiedName + :ivar BaseDataType: + :vartype BaseDataType: NodeId + :ivar BuiltInType: + :vartype BuiltInType: Byte + ''' + + ua_types = [ + ('DataTypeId', 'NodeId'), + ('Name', 'QualifiedName'), + ('BaseDataType', 'NodeId'), + ('BuiltInType', 'Byte'), + ] + + def __init__(self): + self.DataTypeId = NodeId() + self.Name = QualifiedName() + self.BaseDataType = NodeId() + self.BuiltInType = 0 + self._freeze = True + + def __str__(self): + return 'SimpleTypeDescription(' + 'DataTypeId:' + str(self.DataTypeId) + ', ' + \ + 'Name:' + str(self.Name) + ', ' + \ + 'BaseDataType:' + str(self.BaseDataType) + ', ' + \ + 'BuiltInType:' + str(self.BuiltInType) + ')' + + __repr__ = __str__ + + +class UABinaryFileDataType(FrozenClass): + ''' + :ivar Namespaces: + :vartype Namespaces: String + :ivar StructureDataTypes: + :vartype StructureDataTypes: StructureDescription + :ivar EnumDataTypes: + :vartype EnumDataTypes: EnumDescription + :ivar SimpleDataTypes: + :vartype SimpleDataTypes: SimpleTypeDescription + :ivar SchemaLocation: + :vartype SchemaLocation: String + :ivar FileHeader: + :vartype FileHeader: KeyValuePair + :ivar Body: + :vartype Body: Variant + ''' + + ua_types = [ + ('Namespaces', 'ListOfString'), + ('StructureDataTypes', 'ListOfStructureDescription'), + ('EnumDataTypes', 'ListOfEnumDescription'), + ('SimpleDataTypes', 'ListOfSimpleTypeDescription'), + ('SchemaLocation', 'String'), + ('FileHeader', 'ListOfKeyValuePair'), + ('Body', 'Variant'), + ] + + def __init__(self): + self.Namespaces = [] + self.StructureDataTypes = [] + self.EnumDataTypes = [] + self.SimpleDataTypes = [] + self.SchemaLocation = None + self.FileHeader = [] + self.Body = Variant() + self._freeze = True + + def __str__(self): + return 'UABinaryFileDataType(' + 'Namespaces:' + str(self.Namespaces) + ', ' + \ + 'StructureDataTypes:' + str(self.StructureDataTypes) + ', ' + \ + 'EnumDataTypes:' + str(self.EnumDataTypes) + ', ' + \ + 'SimpleDataTypes:' + str(self.SimpleDataTypes) + ', ' + \ + 'SchemaLocation:' + str(self.SchemaLocation) + ', ' + \ + 'FileHeader:' + str(self.FileHeader) + ', ' + \ + 'Body:' + str(self.Body) + ')' + + __repr__ = __str__ + + +class DataSetMetaDataType(FrozenClass): + ''' + :ivar Namespaces: + :vartype Namespaces: String + :ivar StructureDataTypes: + :vartype StructureDataTypes: StructureDescription + :ivar EnumDataTypes: + :vartype EnumDataTypes: EnumDescription + :ivar SimpleDataTypes: + :vartype SimpleDataTypes: SimpleTypeDescription + :ivar Name: + :vartype Name: String + :ivar Description: + :vartype Description: LocalizedText + :ivar Fields: + :vartype Fields: FieldMetaData + :ivar DataSetClassId: + :vartype DataSetClassId: Guid + :ivar ConfigurationVersion: + :vartype ConfigurationVersion: ConfigurationVersionDataType + ''' + + ua_types = [ + ('Namespaces', 'ListOfString'), + ('StructureDataTypes', 'ListOfStructureDescription'), + ('EnumDataTypes', 'ListOfEnumDescription'), + ('SimpleDataTypes', 'ListOfSimpleTypeDescription'), + ('Name', 'String'), + ('Description', 'LocalizedText'), + ('Fields', 'ListOfFieldMetaData'), + ('DataSetClassId', 'Guid'), + ('ConfigurationVersion', 'ConfigurationVersionDataType'), + ] + + def __init__(self): + self.Namespaces = [] + self.StructureDataTypes = [] + self.EnumDataTypes = [] + self.SimpleDataTypes = [] + self.Name = None + self.Description = LocalizedText() + self.Fields = [] + self.DataSetClassId = Guid() + self.ConfigurationVersion = ConfigurationVersionDataType() + self._freeze = True + + def __str__(self): + return 'DataSetMetaDataType(' + 'Namespaces:' + str(self.Namespaces) + ', ' + \ + 'StructureDataTypes:' + str(self.StructureDataTypes) + ', ' + \ + 'EnumDataTypes:' + str(self.EnumDataTypes) + ', ' + \ + 'SimpleDataTypes:' + str(self.SimpleDataTypes) + ', ' + \ + 'Name:' + str(self.Name) + ', ' + \ + 'Description:' + str(self.Description) + ', ' + \ + 'Fields:' + str(self.Fields) + ', ' + \ + 'DataSetClassId:' + str(self.DataSetClassId) + ', ' + \ + 'ConfigurationVersion:' + str(self.ConfigurationVersion) + ')' + + __repr__ = __str__ + + +class FieldMetaData(FrozenClass): + ''' + :ivar Name: + :vartype Name: String + :ivar Description: + :vartype Description: LocalizedText + :ivar FieldFlags: + :vartype FieldFlags: DataSetFieldFlags + :ivar BuiltInType: + :vartype BuiltInType: Byte + :ivar DataType: + :vartype DataType: NodeId + :ivar ValueRank: + :vartype ValueRank: Int32 + :ivar ArrayDimensions: + :vartype ArrayDimensions: UInt32 + :ivar MaxStringLength: + :vartype MaxStringLength: UInt32 + :ivar DataSetFieldId: + :vartype DataSetFieldId: Guid + :ivar Properties: + :vartype Properties: KeyValuePair + ''' + + ua_types = [ + ('Name', 'String'), + ('Description', 'LocalizedText'), + ('FieldFlags', 'DataSetFieldFlags'), + ('BuiltInType', 'Byte'), + ('DataType', 'NodeId'), + ('ValueRank', 'Int32'), + ('ArrayDimensions', 'ListOfUInt32'), + ('MaxStringLength', 'UInt32'), + ('DataSetFieldId', 'Guid'), + ('Properties', 'ListOfKeyValuePair'), + ] + + def __init__(self): + self.Name = None + self.Description = LocalizedText() + self.FieldFlags = DataSetFieldFlags(0) + self.BuiltInType = 0 + self.DataType = NodeId() + self.ValueRank = 0 + self.ArrayDimensions = [] + self.MaxStringLength = 0 + self.DataSetFieldId = Guid() + self.Properties = [] + self._freeze = True + + def __str__(self): + return 'FieldMetaData(' + 'Name:' + str(self.Name) + ', ' + \ + 'Description:' + str(self.Description) + ', ' + \ + 'FieldFlags:' + str(self.FieldFlags) + ', ' + \ + 'BuiltInType:' + str(self.BuiltInType) + ', ' + \ + 'DataType:' + str(self.DataType) + ', ' + \ + 'ValueRank:' + str(self.ValueRank) + ', ' + \ + 'ArrayDimensions:' + str(self.ArrayDimensions) + ', ' + \ + 'MaxStringLength:' + str(self.MaxStringLength) + ', ' + \ + 'DataSetFieldId:' + str(self.DataSetFieldId) + ', ' + \ + 'Properties:' + str(self.Properties) + ')' + + __repr__ = __str__ + + +class ConfigurationVersionDataType(FrozenClass): + ''' + :ivar MajorVersion: + :vartype MajorVersion: UInt32 + :ivar MinorVersion: + :vartype MinorVersion: UInt32 + ''' + + ua_types = [ + ('MajorVersion', 'UInt32'), + ('MinorVersion', 'UInt32'), + ] + + def __init__(self): + self.MajorVersion = 0 + self.MinorVersion = 0 + self._freeze = True + + def __str__(self): + return 'ConfigurationVersionDataType(' + 'MajorVersion:' + str(self.MajorVersion) + ', ' + \ + 'MinorVersion:' + str(self.MinorVersion) + ')' + + __repr__ = __str__ + + +class PublishedDataSetDataType(FrozenClass): + ''' + :ivar Name: + :vartype Name: String + :ivar DataSetFolder: + :vartype DataSetFolder: String + :ivar DataSetMetaData: + :vartype DataSetMetaData: DataSetMetaDataType + :ivar ExtensionFields: + :vartype ExtensionFields: KeyValuePair + :ivar DataSetSource: + :vartype DataSetSource: ExtensionObject + ''' + + ua_types = [ + ('Name', 'String'), + ('DataSetFolder', 'ListOfString'), + ('DataSetMetaData', 'DataSetMetaDataType'), + ('ExtensionFields', 'ListOfKeyValuePair'), + ('DataSetSource', 'ExtensionObject'), + ] + + def __init__(self): + self.Name = None + self.DataSetFolder = [] + self.DataSetMetaData = DataSetMetaDataType() + self.ExtensionFields = [] + self.DataSetSource = ExtensionObject() + self._freeze = True + + def __str__(self): + return 'PublishedDataSetDataType(' + 'Name:' + str(self.Name) + ', ' + \ + 'DataSetFolder:' + str(self.DataSetFolder) + ', ' + \ + 'DataSetMetaData:' + str(self.DataSetMetaData) + ', ' + \ + 'ExtensionFields:' + str(self.ExtensionFields) + ', ' + \ + 'DataSetSource:' + str(self.DataSetSource) + ')' + + __repr__ = __str__ + + +class PublishedDataSetSourceDataType(FrozenClass): + ''' + ''' + + ua_types = [ + ] + + def __init__(self): + self._freeze = True + + def __str__(self): + return 'PublishedDataSetSourceDataType(' + + ')' + + __repr__ = __str__ + + +class PublishedVariableDataType(FrozenClass): + ''' + :ivar PublishedVariable: + :vartype PublishedVariable: NodeId + :ivar AttributeId: + :vartype AttributeId: UInt32 + :ivar SamplingIntervalHint: + :vartype SamplingIntervalHint: Double + :ivar DeadbandType: + :vartype DeadbandType: UInt32 + :ivar DeadbandValue: + :vartype DeadbandValue: Double + :ivar IndexRange: + :vartype IndexRange: String + :ivar SubstituteValue: + :vartype SubstituteValue: Variant + :ivar MetaDataProperties: + :vartype MetaDataProperties: QualifiedName + ''' + + ua_types = [ + ('PublishedVariable', 'NodeId'), + ('AttributeId', 'UInt32'), + ('SamplingIntervalHint', 'Double'), + ('DeadbandType', 'UInt32'), + ('DeadbandValue', 'Double'), + ('IndexRange', 'String'), + ('SubstituteValue', 'Variant'), + ('MetaDataProperties', 'ListOfQualifiedName'), + ] + + def __init__(self): + self.PublishedVariable = NodeId() + self.AttributeId = 0 + self.SamplingIntervalHint = 0 + self.DeadbandType = 0 + self.DeadbandValue = 0 + self.IndexRange = None + self.SubstituteValue = Variant() + self.MetaDataProperties = [] + self._freeze = True + + def __str__(self): + return 'PublishedVariableDataType(' + 'PublishedVariable:' + str(self.PublishedVariable) + ', ' + \ + 'AttributeId:' + str(self.AttributeId) + ', ' + \ + 'SamplingIntervalHint:' + str(self.SamplingIntervalHint) + ', ' + \ + 'DeadbandType:' + str(self.DeadbandType) + ', ' + \ + 'DeadbandValue:' + str(self.DeadbandValue) + ', ' + \ + 'IndexRange:' + str(self.IndexRange) + ', ' + \ + 'SubstituteValue:' + str(self.SubstituteValue) + ', ' + \ + 'MetaDataProperties:' + str(self.MetaDataProperties) + ')' + + __repr__ = __str__ + + +class PublishedDataItemsDataType(FrozenClass): + ''' + :ivar PublishedData: + :vartype PublishedData: PublishedVariableDataType + ''' + + ua_types = [ + ('PublishedData', 'ListOfPublishedVariableDataType'), + ] + + def __init__(self): + self.PublishedData = [] + self._freeze = True + + def __str__(self): + return 'PublishedDataItemsDataType(' + 'PublishedData:' + str(self.PublishedData) + ')' + + __repr__ = __str__ + + +class PublishedEventsDataType(FrozenClass): + ''' + :ivar EventNotifier: + :vartype EventNotifier: NodeId + :ivar SelectedFields: + :vartype SelectedFields: SimpleAttributeOperand + :ivar Filter: + :vartype Filter: ContentFilter + ''' + + ua_types = [ + ('EventNotifier', 'NodeId'), + ('SelectedFields', 'ListOfSimpleAttributeOperand'), + ('Filter', 'ContentFilter'), + ] + + def __init__(self): + self.EventNotifier = NodeId() + self.SelectedFields = [] + self.Filter = ContentFilter() + self._freeze = True + + def __str__(self): + return 'PublishedEventsDataType(' + 'EventNotifier:' + str(self.EventNotifier) + ', ' + \ + 'SelectedFields:' + str(self.SelectedFields) + ', ' + \ + 'Filter:' + str(self.Filter) + ')' + + __repr__ = __str__ + + +class DataSetWriterDataType(FrozenClass): + ''' + :ivar Name: + :vartype Name: String + :ivar Enabled: + :vartype Enabled: Boolean + :ivar DataSetWriterId: + :vartype DataSetWriterId: UInt16 + :ivar DataSetFieldContentMask: + :vartype DataSetFieldContentMask: DataSetFieldContentMask + :ivar KeyFrameCount: + :vartype KeyFrameCount: UInt32 + :ivar DataSetName: + :vartype DataSetName: String + :ivar DataSetWriterProperties: + :vartype DataSetWriterProperties: KeyValuePair + :ivar TransportSettings: + :vartype TransportSettings: ExtensionObject + :ivar MessageSettings: + :vartype MessageSettings: ExtensionObject + ''' + + ua_types = [ + ('Name', 'String'), + ('Enabled', 'Boolean'), + ('DataSetWriterId', 'UInt16'), + ('DataSetFieldContentMask', 'DataSetFieldContentMask'), + ('KeyFrameCount', 'UInt32'), + ('DataSetName', 'String'), + ('DataSetWriterProperties', 'ListOfKeyValuePair'), + ('TransportSettings', 'ExtensionObject'), + ('MessageSettings', 'ExtensionObject'), + ] + + def __init__(self): + self.Name = None + self.Enabled = True + self.DataSetWriterId = 0 + self.DataSetFieldContentMask = DataSetFieldContentMask(0) + self.KeyFrameCount = 0 + self.DataSetName = None + self.DataSetWriterProperties = [] + self.TransportSettings = ExtensionObject() + self.MessageSettings = ExtensionObject() + self._freeze = True + + def __str__(self): + return 'DataSetWriterDataType(' + 'Name:' + str(self.Name) + ', ' + \ + 'Enabled:' + str(self.Enabled) + ', ' + \ + 'DataSetWriterId:' + str(self.DataSetWriterId) + ', ' + \ + 'DataSetFieldContentMask:' + str(self.DataSetFieldContentMask) + ', ' + \ + 'KeyFrameCount:' + str(self.KeyFrameCount) + ', ' + \ + 'DataSetName:' + str(self.DataSetName) + ', ' + \ + 'DataSetWriterProperties:' + str(self.DataSetWriterProperties) + ', ' + \ + 'TransportSettings:' + str(self.TransportSettings) + ', ' + \ + 'MessageSettings:' + str(self.MessageSettings) + ')' + + __repr__ = __str__ + + +class DataSetWriterTransportDataType(FrozenClass): + ''' + ''' + + ua_types = [ + ] + + def __init__(self): + self._freeze = True + + def __str__(self): + return 'DataSetWriterTransportDataType(' + + ')' + + __repr__ = __str__ + + +class DataSetWriterMessageDataType(FrozenClass): + ''' + ''' + + ua_types = [ + ] + + def __init__(self): + self._freeze = True + + def __str__(self): + return 'DataSetWriterMessageDataType(' + + ')' + + __repr__ = __str__ + + +class PubSubGroupDataType(FrozenClass): + ''' + :ivar Name: + :vartype Name: String + :ivar Enabled: + :vartype Enabled: Boolean + :ivar SecurityMode: + :vartype SecurityMode: MessageSecurityMode + :ivar SecurityGroupId: + :vartype SecurityGroupId: String + :ivar SecurityKeyServices: + :vartype SecurityKeyServices: EndpointDescription + :ivar MaxNetworkMessageSize: + :vartype MaxNetworkMessageSize: UInt32 + :ivar GroupProperties: + :vartype GroupProperties: KeyValuePair + ''' + + ua_types = [ + ('Name', 'String'), + ('Enabled', 'Boolean'), + ('SecurityMode', 'MessageSecurityMode'), + ('SecurityGroupId', 'String'), + ('SecurityKeyServices', 'ListOfEndpointDescription'), + ('MaxNetworkMessageSize', 'UInt32'), + ('GroupProperties', 'ListOfKeyValuePair'), + ] + + def __init__(self): + self.Name = None + self.Enabled = True + self.SecurityMode = MessageSecurityMode(0) + self.SecurityGroupId = None + self.SecurityKeyServices = [] + self.MaxNetworkMessageSize = 0 + self.GroupProperties = [] + self._freeze = True + + def __str__(self): + return 'PubSubGroupDataType(' + 'Name:' + str(self.Name) + ', ' + \ + 'Enabled:' + str(self.Enabled) + ', ' + \ + 'SecurityMode:' + str(self.SecurityMode) + ', ' + \ + 'SecurityGroupId:' + str(self.SecurityGroupId) + ', ' + \ + 'SecurityKeyServices:' + str(self.SecurityKeyServices) + ', ' + \ + 'MaxNetworkMessageSize:' + str(self.MaxNetworkMessageSize) + ', ' + \ + 'GroupProperties:' + str(self.GroupProperties) + ')' + + __repr__ = __str__ + + +class WriterGroupDataType(FrozenClass): + ''' + :ivar Name: + :vartype Name: String + :ivar Enabled: + :vartype Enabled: Boolean + :ivar SecurityMode: + :vartype SecurityMode: MessageSecurityMode + :ivar SecurityGroupId: + :vartype SecurityGroupId: String + :ivar SecurityKeyServices: + :vartype SecurityKeyServices: EndpointDescription + :ivar MaxNetworkMessageSize: + :vartype MaxNetworkMessageSize: UInt32 + :ivar GroupProperties: + :vartype GroupProperties: KeyValuePair + :ivar WriterGroupId: + :vartype WriterGroupId: UInt16 + :ivar PublishingInterval: + :vartype PublishingInterval: Double + :ivar KeepAliveTime: + :vartype KeepAliveTime: Double + :ivar Priority: + :vartype Priority: Byte + :ivar LocaleIds: + :vartype LocaleIds: String + :ivar TransportSettings: + :vartype TransportSettings: ExtensionObject + :ivar MessageSettings: + :vartype MessageSettings: ExtensionObject + :ivar DataSetWriters: + :vartype DataSetWriters: DataSetWriterDataType + ''' + + ua_types = [ + ('Name', 'String'), + ('Enabled', 'Boolean'), + ('SecurityMode', 'MessageSecurityMode'), + ('SecurityGroupId', 'String'), + ('SecurityKeyServices', 'ListOfEndpointDescription'), + ('MaxNetworkMessageSize', 'UInt32'), + ('GroupProperties', 'ListOfKeyValuePair'), + ('WriterGroupId', 'UInt16'), + ('PublishingInterval', 'Double'), + ('KeepAliveTime', 'Double'), + ('Priority', 'Byte'), + ('LocaleIds', 'ListOfString'), + ('TransportSettings', 'ExtensionObject'), + ('MessageSettings', 'ExtensionObject'), + ('DataSetWriters', 'ListOfDataSetWriterDataType'), + ] + + def __init__(self): + self.Name = None + self.Enabled = True + self.SecurityMode = MessageSecurityMode(0) + self.SecurityGroupId = None + self.SecurityKeyServices = [] + self.MaxNetworkMessageSize = 0 + self.GroupProperties = [] + self.WriterGroupId = 0 + self.PublishingInterval = 0 + self.KeepAliveTime = 0 + self.Priority = 0 + self.LocaleIds = [] + self.TransportSettings = ExtensionObject() + self.MessageSettings = ExtensionObject() + self.DataSetWriters = [] + self._freeze = True + + def __str__(self): + return 'WriterGroupDataType(' + 'Name:' + str(self.Name) + ', ' + \ + 'Enabled:' + str(self.Enabled) + ', ' + \ + 'SecurityMode:' + str(self.SecurityMode) + ', ' + \ + 'SecurityGroupId:' + str(self.SecurityGroupId) + ', ' + \ + 'SecurityKeyServices:' + str(self.SecurityKeyServices) + ', ' + \ + 'MaxNetworkMessageSize:' + str(self.MaxNetworkMessageSize) + ', ' + \ + 'GroupProperties:' + str(self.GroupProperties) + ', ' + \ + 'WriterGroupId:' + str(self.WriterGroupId) + ', ' + \ + 'PublishingInterval:' + str(self.PublishingInterval) + ', ' + \ + 'KeepAliveTime:' + str(self.KeepAliveTime) + ', ' + \ + 'Priority:' + str(self.Priority) + ', ' + \ + 'LocaleIds:' + str(self.LocaleIds) + ', ' + \ + 'TransportSettings:' + str(self.TransportSettings) + ', ' + \ + 'MessageSettings:' + str(self.MessageSettings) + ', ' + \ + 'DataSetWriters:' + str(self.DataSetWriters) + ')' + + __repr__ = __str__ + + +class WriterGroupTransportDataType(FrozenClass): + ''' + ''' + + ua_types = [ + ] + + def __init__(self): + self._freeze = True + + def __str__(self): + return 'WriterGroupTransportDataType(' + + ')' + + __repr__ = __str__ + + +class WriterGroupMessageDataType(FrozenClass): + ''' + ''' + + ua_types = [ + ] + + def __init__(self): + self._freeze = True + + def __str__(self): + return 'WriterGroupMessageDataType(' + + ')' + + __repr__ = __str__ + + +class PubSubConnectionDataType(FrozenClass): + ''' + :ivar Name: + :vartype Name: String + :ivar Enabled: + :vartype Enabled: Boolean + :ivar PublisherId: + :vartype PublisherId: Variant + :ivar TransportProfileUri: + :vartype TransportProfileUri: String + :ivar Address: + :vartype Address: ExtensionObject + :ivar ConnectionProperties: + :vartype ConnectionProperties: KeyValuePair + :ivar TransportSettings: + :vartype TransportSettings: ExtensionObject + :ivar WriterGroups: + :vartype WriterGroups: WriterGroupDataType + :ivar ReaderGroups: + :vartype ReaderGroups: ReaderGroupDataType + ''' + + ua_types = [ + ('Name', 'String'), + ('Enabled', 'Boolean'), + ('PublisherId', 'Variant'), + ('TransportProfileUri', 'String'), + ('Address', 'ExtensionObject'), + ('ConnectionProperties', 'ListOfKeyValuePair'), + ('TransportSettings', 'ExtensionObject'), + ('WriterGroups', 'ListOfWriterGroupDataType'), + ('ReaderGroups', 'ListOfReaderGroupDataType'), + ] + + def __init__(self): + self.Name = None + self.Enabled = True + self.PublisherId = Variant() + self.TransportProfileUri = None + self.Address = ExtensionObject() + self.ConnectionProperties = [] + self.TransportSettings = ExtensionObject() + self.WriterGroups = [] + self.ReaderGroups = [] + self._freeze = True + + def __str__(self): + return 'PubSubConnectionDataType(' + 'Name:' + str(self.Name) + ', ' + \ + 'Enabled:' + str(self.Enabled) + ', ' + \ + 'PublisherId:' + str(self.PublisherId) + ', ' + \ + 'TransportProfileUri:' + str(self.TransportProfileUri) + ', ' + \ + 'Address:' + str(self.Address) + ', ' + \ + 'ConnectionProperties:' + str(self.ConnectionProperties) + ', ' + \ + 'TransportSettings:' + str(self.TransportSettings) + ', ' + \ + 'WriterGroups:' + str(self.WriterGroups) + ', ' + \ + 'ReaderGroups:' + str(self.ReaderGroups) + ')' + + __repr__ = __str__ + + +class ConnectionTransportDataType(FrozenClass): + ''' + ''' + + ua_types = [ + ] + + def __init__(self): + self._freeze = True + + def __str__(self): + return 'ConnectionTransportDataType(' + + ')' + + __repr__ = __str__ + + +class NetworkAddressDataType(FrozenClass): + ''' + :ivar NetworkInterface: + :vartype NetworkInterface: String + ''' + + ua_types = [ + ('NetworkInterface', 'String'), + ] + + def __init__(self): + self.NetworkInterface = None + self._freeze = True + + def __str__(self): + return 'NetworkAddressDataType(' + 'NetworkInterface:' + str(self.NetworkInterface) + ')' + + __repr__ = __str__ + + +class NetworkAddressUrlDataType(FrozenClass): + ''' + :ivar NetworkInterface: + :vartype NetworkInterface: String + :ivar Url: + :vartype Url: String + ''' + + ua_types = [ + ('NetworkInterface', 'String'), + ('Url', 'String'), + ] + + def __init__(self): + self.NetworkInterface = None + self.Url = None + self._freeze = True + + def __str__(self): + return 'NetworkAddressUrlDataType(' + 'NetworkInterface:' + str(self.NetworkInterface) + ', ' + \ + 'Url:' + str(self.Url) + ')' + + __repr__ = __str__ + + +class ReaderGroupDataType(FrozenClass): + ''' + :ivar Name: + :vartype Name: String + :ivar Enabled: + :vartype Enabled: Boolean + :ivar SecurityMode: + :vartype SecurityMode: MessageSecurityMode + :ivar SecurityGroupId: + :vartype SecurityGroupId: String + :ivar SecurityKeyServices: + :vartype SecurityKeyServices: EndpointDescription + :ivar MaxNetworkMessageSize: + :vartype MaxNetworkMessageSize: UInt32 + :ivar GroupProperties: + :vartype GroupProperties: KeyValuePair + :ivar TransportSettings: + :vartype TransportSettings: ExtensionObject + :ivar MessageSettings: + :vartype MessageSettings: ExtensionObject + :ivar DataSetReaders: + :vartype DataSetReaders: DataSetReaderDataType + ''' + + ua_types = [ + ('Name', 'String'), + ('Enabled', 'Boolean'), + ('SecurityMode', 'MessageSecurityMode'), + ('SecurityGroupId', 'String'), + ('SecurityKeyServices', 'ListOfEndpointDescription'), + ('MaxNetworkMessageSize', 'UInt32'), + ('GroupProperties', 'ListOfKeyValuePair'), + ('TransportSettings', 'ExtensionObject'), + ('MessageSettings', 'ExtensionObject'), + ('DataSetReaders', 'ListOfDataSetReaderDataType'), + ] + + def __init__(self): + self.Name = None + self.Enabled = True + self.SecurityMode = MessageSecurityMode(0) + self.SecurityGroupId = None + self.SecurityKeyServices = [] + self.MaxNetworkMessageSize = 0 + self.GroupProperties = [] + self.TransportSettings = ExtensionObject() + self.MessageSettings = ExtensionObject() + self.DataSetReaders = [] + self._freeze = True + + def __str__(self): + return 'ReaderGroupDataType(' + 'Name:' + str(self.Name) + ', ' + \ + 'Enabled:' + str(self.Enabled) + ', ' + \ + 'SecurityMode:' + str(self.SecurityMode) + ', ' + \ + 'SecurityGroupId:' + str(self.SecurityGroupId) + ', ' + \ + 'SecurityKeyServices:' + str(self.SecurityKeyServices) + ', ' + \ + 'MaxNetworkMessageSize:' + str(self.MaxNetworkMessageSize) + ', ' + \ + 'GroupProperties:' + str(self.GroupProperties) + ', ' + \ + 'TransportSettings:' + str(self.TransportSettings) + ', ' + \ + 'MessageSettings:' + str(self.MessageSettings) + ', ' + \ + 'DataSetReaders:' + str(self.DataSetReaders) + ')' + + __repr__ = __str__ + + +class ReaderGroupTransportDataType(FrozenClass): + ''' + ''' + + ua_types = [ + ] + + def __init__(self): + self._freeze = True + + def __str__(self): + return 'ReaderGroupTransportDataType(' + + ')' + + __repr__ = __str__ + + +class ReaderGroupMessageDataType(FrozenClass): + ''' + ''' + + ua_types = [ + ] + + def __init__(self): + self._freeze = True + + def __str__(self): + return 'ReaderGroupMessageDataType(' + + ')' + + __repr__ = __str__ + + +class DataSetReaderDataType(FrozenClass): + ''' + :ivar Name: + :vartype Name: String + :ivar Enabled: + :vartype Enabled: Boolean + :ivar PublisherId: + :vartype PublisherId: Variant + :ivar WriterGroupId: + :vartype WriterGroupId: UInt16 + :ivar DataSetWriterId: + :vartype DataSetWriterId: UInt16 + :ivar DataSetMetaData: + :vartype DataSetMetaData: DataSetMetaDataType + :ivar DataSetFieldContentMask: + :vartype DataSetFieldContentMask: DataSetFieldContentMask + :ivar MessageReceiveTimeout: + :vartype MessageReceiveTimeout: Double + :ivar SecurityMode: + :vartype SecurityMode: MessageSecurityMode + :ivar SecurityGroupId: + :vartype SecurityGroupId: String + :ivar SecurityKeyServices: + :vartype SecurityKeyServices: EndpointDescription + :ivar DataSetReaderProperties: + :vartype DataSetReaderProperties: KeyValuePair + :ivar TransportSettings: + :vartype TransportSettings: ExtensionObject + :ivar MessageSettings: + :vartype MessageSettings: ExtensionObject + :ivar SubscribedDataSet: + :vartype SubscribedDataSet: ExtensionObject + ''' + + ua_types = [ + ('Name', 'String'), + ('Enabled', 'Boolean'), + ('PublisherId', 'Variant'), + ('WriterGroupId', 'UInt16'), + ('DataSetWriterId', 'UInt16'), + ('DataSetMetaData', 'DataSetMetaDataType'), + ('DataSetFieldContentMask', 'DataSetFieldContentMask'), + ('MessageReceiveTimeout', 'Double'), + ('SecurityMode', 'MessageSecurityMode'), + ('SecurityGroupId', 'String'), + ('SecurityKeyServices', 'ListOfEndpointDescription'), + ('DataSetReaderProperties', 'ListOfKeyValuePair'), + ('TransportSettings', 'ExtensionObject'), + ('MessageSettings', 'ExtensionObject'), + ('SubscribedDataSet', 'ExtensionObject'), + ] + + def __init__(self): + self.Name = None + self.Enabled = True + self.PublisherId = Variant() + self.WriterGroupId = 0 + self.DataSetWriterId = 0 + self.DataSetMetaData = DataSetMetaDataType() + self.DataSetFieldContentMask = DataSetFieldContentMask(0) + self.MessageReceiveTimeout = 0 + self.SecurityMode = MessageSecurityMode(0) + self.SecurityGroupId = None + self.SecurityKeyServices = [] + self.DataSetReaderProperties = [] + self.TransportSettings = ExtensionObject() + self.MessageSettings = ExtensionObject() + self.SubscribedDataSet = ExtensionObject() + self._freeze = True + + def __str__(self): + return 'DataSetReaderDataType(' + 'Name:' + str(self.Name) + ', ' + \ + 'Enabled:' + str(self.Enabled) + ', ' + \ + 'PublisherId:' + str(self.PublisherId) + ', ' + \ + 'WriterGroupId:' + str(self.WriterGroupId) + ', ' + \ + 'DataSetWriterId:' + str(self.DataSetWriterId) + ', ' + \ + 'DataSetMetaData:' + str(self.DataSetMetaData) + ', ' + \ + 'DataSetFieldContentMask:' + str(self.DataSetFieldContentMask) + ', ' + \ + 'MessageReceiveTimeout:' + str(self.MessageReceiveTimeout) + ', ' + \ + 'SecurityMode:' + str(self.SecurityMode) + ', ' + \ + 'SecurityGroupId:' + str(self.SecurityGroupId) + ', ' + \ + 'SecurityKeyServices:' + str(self.SecurityKeyServices) + ', ' + \ + 'DataSetReaderProperties:' + str(self.DataSetReaderProperties) + ', ' + \ + 'TransportSettings:' + str(self.TransportSettings) + ', ' + \ + 'MessageSettings:' + str(self.MessageSettings) + ', ' + \ + 'SubscribedDataSet:' + str(self.SubscribedDataSet) + ')' + + __repr__ = __str__ + + +class DataSetReaderTransportDataType(FrozenClass): + ''' + ''' + + ua_types = [ + ] + + def __init__(self): + self._freeze = True + + def __str__(self): + return 'DataSetReaderTransportDataType(' + + ')' + + __repr__ = __str__ + + +class DataSetReaderMessageDataType(FrozenClass): + ''' + ''' + + ua_types = [ + ] + + def __init__(self): + self._freeze = True + + def __str__(self): + return 'DataSetReaderMessageDataType(' + + ')' + + __repr__ = __str__ + + +class SubscribedDataSetDataType(FrozenClass): + ''' + ''' + + ua_types = [ + ] + + def __init__(self): + self._freeze = True + + def __str__(self): + return 'SubscribedDataSetDataType(' + + ')' + + __repr__ = __str__ + + +class TargetVariablesDataType(FrozenClass): + ''' + :ivar TargetVariables: + :vartype TargetVariables: FieldTargetDataType + ''' + + ua_types = [ + ('TargetVariables', 'ListOfFieldTargetDataType'), + ] + + def __init__(self): + self.TargetVariables = [] + self._freeze = True + + def __str__(self): + return 'TargetVariablesDataType(' + 'TargetVariables:' + str(self.TargetVariables) + ')' + + __repr__ = __str__ + + +class FieldTargetDataType(FrozenClass): + ''' + :ivar DataSetFieldId: + :vartype DataSetFieldId: Guid + :ivar ReceiverIndexRange: + :vartype ReceiverIndexRange: String + :ivar TargetNodeId: + :vartype TargetNodeId: NodeId + :ivar AttributeId: + :vartype AttributeId: UInt32 + :ivar WriteIndexRange: + :vartype WriteIndexRange: String + :ivar OverrideValueHandling: + :vartype OverrideValueHandling: OverrideValueHandling + :ivar OverrideValue: + :vartype OverrideValue: Variant + ''' + + ua_types = [ + ('DataSetFieldId', 'Guid'), + ('ReceiverIndexRange', 'String'), + ('TargetNodeId', 'NodeId'), + ('AttributeId', 'UInt32'), + ('WriteIndexRange', 'String'), + ('OverrideValueHandling', 'OverrideValueHandling'), + ('OverrideValue', 'Variant'), + ] + + def __init__(self): + self.DataSetFieldId = Guid() + self.ReceiverIndexRange = None + self.TargetNodeId = NodeId() + self.AttributeId = 0 + self.WriteIndexRange = None + self.OverrideValueHandling = OverrideValueHandling(0) + self.OverrideValue = Variant() + self._freeze = True + + def __str__(self): + return 'FieldTargetDataType(' + 'DataSetFieldId:' + str(self.DataSetFieldId) + ', ' + \ + 'ReceiverIndexRange:' + str(self.ReceiverIndexRange) + ', ' + \ + 'TargetNodeId:' + str(self.TargetNodeId) + ', ' + \ + 'AttributeId:' + str(self.AttributeId) + ', ' + \ + 'WriteIndexRange:' + str(self.WriteIndexRange) + ', ' + \ + 'OverrideValueHandling:' + str(self.OverrideValueHandling) + ', ' + \ + 'OverrideValue:' + str(self.OverrideValue) + ')' + + __repr__ = __str__ + + +class SubscribedDataSetMirrorDataType(FrozenClass): + ''' + :ivar ParentNodeName: + :vartype ParentNodeName: String + :ivar RolePermissions: + :vartype RolePermissions: RolePermissionType + ''' + + ua_types = [ + ('ParentNodeName', 'String'), + ('RolePermissions', 'ListOfRolePermissionType'), + ] + + def __init__(self): + self.ParentNodeName = None + self.RolePermissions = [] + self._freeze = True + + def __str__(self): + return 'SubscribedDataSetMirrorDataType(' + 'ParentNodeName:' + str(self.ParentNodeName) + ', ' + \ + 'RolePermissions:' + str(self.RolePermissions) + ')' + + __repr__ = __str__ + + +class PubSubConfigurationDataType(FrozenClass): + ''' + :ivar PublishedDataSets: + :vartype PublishedDataSets: PublishedDataSetDataType + :ivar Connections: + :vartype Connections: PubSubConnectionDataType + :ivar Enabled: + :vartype Enabled: Boolean + ''' + + ua_types = [ + ('PublishedDataSets', 'ListOfPublishedDataSetDataType'), + ('Connections', 'ListOfPubSubConnectionDataType'), + ('Enabled', 'Boolean'), + ] + + def __init__(self): + self.PublishedDataSets = [] + self.Connections = [] + self.Enabled = True + self._freeze = True + + def __str__(self): + return 'PubSubConfigurationDataType(' + 'PublishedDataSets:' + str(self.PublishedDataSets) + ', ' + \ + 'Connections:' + str(self.Connections) + ', ' + \ + 'Enabled:' + str(self.Enabled) + ')' + + __repr__ = __str__ + + +class UadpWriterGroupMessageDataType(FrozenClass): + ''' + :ivar GroupVersion: + :vartype GroupVersion: UInt32 + :ivar DataSetOrdering: + :vartype DataSetOrdering: DataSetOrderingType + :ivar NetworkMessageContentMask: + :vartype NetworkMessageContentMask: UadpNetworkMessageContentMask + :ivar SamplingOffset: + :vartype SamplingOffset: Double + :ivar PublishingOffset: + :vartype PublishingOffset: Double + ''' + + ua_types = [ + ('GroupVersion', 'UInt32'), + ('DataSetOrdering', 'DataSetOrderingType'), + ('NetworkMessageContentMask', 'UadpNetworkMessageContentMask'), + ('SamplingOffset', 'Double'), + ('PublishingOffset', 'ListOfDouble'), + ] + + def __init__(self): + self.GroupVersion = 0 + self.DataSetOrdering = DataSetOrderingType(0) + self.NetworkMessageContentMask = UadpNetworkMessageContentMask(0) + self.SamplingOffset = 0 + self.PublishingOffset = [] + self._freeze = True + + def __str__(self): + return 'UadpWriterGroupMessageDataType(' + 'GroupVersion:' + str(self.GroupVersion) + ', ' + \ + 'DataSetOrdering:' + str(self.DataSetOrdering) + ', ' + \ + 'NetworkMessageContentMask:' + str(self.NetworkMessageContentMask) + ', ' + \ + 'SamplingOffset:' + str(self.SamplingOffset) + ', ' + \ + 'PublishingOffset:' + str(self.PublishingOffset) + ')' + + __repr__ = __str__ + + +class UadpDataSetWriterMessageDataType(FrozenClass): + ''' + :ivar DataSetMessageContentMask: + :vartype DataSetMessageContentMask: UadpDataSetMessageContentMask + :ivar ConfiguredSize: + :vartype ConfiguredSize: UInt16 + :ivar NetworkMessageNumber: + :vartype NetworkMessageNumber: UInt16 + :ivar DataSetOffset: + :vartype DataSetOffset: UInt16 + ''' + + ua_types = [ + ('DataSetMessageContentMask', 'UadpDataSetMessageContentMask'), + ('ConfiguredSize', 'UInt16'), + ('NetworkMessageNumber', 'UInt16'), + ('DataSetOffset', 'UInt16'), + ] + + def __init__(self): + self.DataSetMessageContentMask = UadpDataSetMessageContentMask(0) + self.ConfiguredSize = 0 + self.NetworkMessageNumber = 0 + self.DataSetOffset = 0 + self._freeze = True + + def __str__(self): + return 'UadpDataSetWriterMessageDataType(' + 'DataSetMessageContentMask:' + str(self.DataSetMessageContentMask) + ', ' + \ + 'ConfiguredSize:' + str(self.ConfiguredSize) + ', ' + \ + 'NetworkMessageNumber:' + str(self.NetworkMessageNumber) + ', ' + \ + 'DataSetOffset:' + str(self.DataSetOffset) + ')' + + __repr__ = __str__ + + +class UadpDataSetReaderMessageDataType(FrozenClass): + ''' + :ivar GroupVersion: + :vartype GroupVersion: UInt32 + :ivar NetworkMessageNumber: + :vartype NetworkMessageNumber: UInt16 + :ivar DataSetOffset: + :vartype DataSetOffset: UInt16 + :ivar DataSetClassId: + :vartype DataSetClassId: Guid + :ivar NetworkMessageContentMask: + :vartype NetworkMessageContentMask: UadpNetworkMessageContentMask + :ivar DataSetMessageContentMask: + :vartype DataSetMessageContentMask: UadpDataSetMessageContentMask + :ivar PublishingInterval: + :vartype PublishingInterval: Double + :ivar ReceiveOffset: + :vartype ReceiveOffset: Double + :ivar ProcessingOffset: + :vartype ProcessingOffset: Double + ''' + + ua_types = [ + ('GroupVersion', 'UInt32'), + ('NetworkMessageNumber', 'UInt16'), + ('DataSetOffset', 'UInt16'), + ('DataSetClassId', 'Guid'), + ('NetworkMessageContentMask', 'UadpNetworkMessageContentMask'), + ('DataSetMessageContentMask', 'UadpDataSetMessageContentMask'), + ('PublishingInterval', 'Double'), + ('ReceiveOffset', 'Double'), + ('ProcessingOffset', 'Double'), + ] + + def __init__(self): + self.GroupVersion = 0 + self.NetworkMessageNumber = 0 + self.DataSetOffset = 0 + self.DataSetClassId = Guid() + self.NetworkMessageContentMask = UadpNetworkMessageContentMask(0) + self.DataSetMessageContentMask = UadpDataSetMessageContentMask(0) + self.PublishingInterval = 0 + self.ReceiveOffset = 0 + self.ProcessingOffset = 0 + self._freeze = True + + def __str__(self): + return 'UadpDataSetReaderMessageDataType(' + 'GroupVersion:' + str(self.GroupVersion) + ', ' + \ + 'NetworkMessageNumber:' + str(self.NetworkMessageNumber) + ', ' + \ + 'DataSetOffset:' + str(self.DataSetOffset) + ', ' + \ + 'DataSetClassId:' + str(self.DataSetClassId) + ', ' + \ + 'NetworkMessageContentMask:' + str(self.NetworkMessageContentMask) + ', ' + \ + 'DataSetMessageContentMask:' + str(self.DataSetMessageContentMask) + ', ' + \ + 'PublishingInterval:' + str(self.PublishingInterval) + ', ' + \ + 'ReceiveOffset:' + str(self.ReceiveOffset) + ', ' + \ + 'ProcessingOffset:' + str(self.ProcessingOffset) + ')' + + __repr__ = __str__ + + +class JsonWriterGroupMessageDataType(FrozenClass): + ''' + :ivar NetworkMessageContentMask: + :vartype NetworkMessageContentMask: JsonNetworkMessageContentMask + ''' + + ua_types = [ + ('NetworkMessageContentMask', 'JsonNetworkMessageContentMask'), + ] + + def __init__(self): + self.NetworkMessageContentMask = JsonNetworkMessageContentMask(0) + self._freeze = True + + def __str__(self): + return 'JsonWriterGroupMessageDataType(' + 'NetworkMessageContentMask:' + str(self.NetworkMessageContentMask) + ')' + + __repr__ = __str__ + + +class JsonDataSetWriterMessageDataType(FrozenClass): + ''' + :ivar DataSetMessageContentMask: + :vartype DataSetMessageContentMask: JsonDataSetMessageContentMask + ''' + + ua_types = [ + ('DataSetMessageContentMask', 'JsonDataSetMessageContentMask'), + ] + + def __init__(self): + self.DataSetMessageContentMask = JsonDataSetMessageContentMask(0) + self._freeze = True + + def __str__(self): + return 'JsonDataSetWriterMessageDataType(' + 'DataSetMessageContentMask:' + str(self.DataSetMessageContentMask) + ')' + + __repr__ = __str__ + + +class JsonDataSetReaderMessageDataType(FrozenClass): + ''' + :ivar NetworkMessageContentMask: + :vartype NetworkMessageContentMask: JsonNetworkMessageContentMask + :ivar DataSetMessageContentMask: + :vartype DataSetMessageContentMask: JsonDataSetMessageContentMask + ''' + + ua_types = [ + ('NetworkMessageContentMask', 'JsonNetworkMessageContentMask'), + ('DataSetMessageContentMask', 'JsonDataSetMessageContentMask'), + ] + + def __init__(self): + self.NetworkMessageContentMask = JsonNetworkMessageContentMask(0) + self.DataSetMessageContentMask = JsonDataSetMessageContentMask(0) + self._freeze = True + + def __str__(self): + return 'JsonDataSetReaderMessageDataType(' + 'NetworkMessageContentMask:' + str(self.NetworkMessageContentMask) + ', ' + \ + 'DataSetMessageContentMask:' + str(self.DataSetMessageContentMask) + ')' + + __repr__ = __str__ + + +class DatagramConnectionTransportDataType(FrozenClass): + ''' + :ivar DiscoveryAddress: + :vartype DiscoveryAddress: ExtensionObject + ''' + + ua_types = [ + ('DiscoveryAddress', 'ExtensionObject'), + ] + + def __init__(self): + self.DiscoveryAddress = ExtensionObject() + self._freeze = True + + def __str__(self): + return 'DatagramConnectionTransportDataType(' + 'DiscoveryAddress:' + str(self.DiscoveryAddress) + ')' + + __repr__ = __str__ + + +class DatagramWriterGroupTransportDataType(FrozenClass): + ''' + :ivar MessageRepeatCount: + :vartype MessageRepeatCount: Byte + :ivar MessageRepeatDelay: + :vartype MessageRepeatDelay: Double + ''' + + ua_types = [ + ('MessageRepeatCount', 'Byte'), + ('MessageRepeatDelay', 'Double'), + ] + + def __init__(self): + self.MessageRepeatCount = 0 + self.MessageRepeatDelay = 0 + self._freeze = True + + def __str__(self): + return 'DatagramWriterGroupTransportDataType(' + 'MessageRepeatCount:' + str(self.MessageRepeatCount) + ', ' + \ + 'MessageRepeatDelay:' + str(self.MessageRepeatDelay) + ')' + + __repr__ = __str__ + + +class BrokerConnectionTransportDataType(FrozenClass): + ''' + :ivar ResourceUri: + :vartype ResourceUri: String + :ivar AuthenticationProfileUri: + :vartype AuthenticationProfileUri: String + ''' + + ua_types = [ + ('ResourceUri', 'String'), + ('AuthenticationProfileUri', 'String'), + ] + + def __init__(self): + self.ResourceUri = None + self.AuthenticationProfileUri = None + self._freeze = True + + def __str__(self): + return 'BrokerConnectionTransportDataType(' + 'ResourceUri:' + str(self.ResourceUri) + ', ' + \ + 'AuthenticationProfileUri:' + str(self.AuthenticationProfileUri) + ')' + + __repr__ = __str__ + + +class BrokerWriterGroupTransportDataType(FrozenClass): + ''' + :ivar QueueName: + :vartype QueueName: String + :ivar ResourceUri: + :vartype ResourceUri: String + :ivar AuthenticationProfileUri: + :vartype AuthenticationProfileUri: String + :ivar RequestedDeliveryGuarantee: + :vartype RequestedDeliveryGuarantee: BrokerTransportQualityOfService + ''' + + ua_types = [ + ('QueueName', 'String'), + ('ResourceUri', 'String'), + ('AuthenticationProfileUri', 'String'), + ('RequestedDeliveryGuarantee', 'BrokerTransportQualityOfService'), + ] + + def __init__(self): + self.QueueName = None + self.ResourceUri = None + self.AuthenticationProfileUri = None + self.RequestedDeliveryGuarantee = BrokerTransportQualityOfService(0) + self._freeze = True + + def __str__(self): + return 'BrokerWriterGroupTransportDataType(' + 'QueueName:' + str(self.QueueName) + ', ' + \ + 'ResourceUri:' + str(self.ResourceUri) + ', ' + \ + 'AuthenticationProfileUri:' + str(self.AuthenticationProfileUri) + ', ' + \ + 'RequestedDeliveryGuarantee:' + str(self.RequestedDeliveryGuarantee) + ')' + + __repr__ = __str__ + + +class BrokerDataSetWriterTransportDataType(FrozenClass): + ''' + :ivar QueueName: + :vartype QueueName: String + :ivar ResourceUri: + :vartype ResourceUri: String + :ivar AuthenticationProfileUri: + :vartype AuthenticationProfileUri: String + :ivar MetaDataQueueName: + :vartype MetaDataQueueName: String + :ivar MetaDataUpdateTime: + :vartype MetaDataUpdateTime: Double + ''' + + ua_types = [ + ('QueueName', 'String'), + ('ResourceUri', 'String'), + ('AuthenticationProfileUri', 'String'), + ('MetaDataQueueName', 'String'), + ('MetaDataUpdateTime', 'Double'), + ] + + def __init__(self): + self.QueueName = None + self.ResourceUri = None + self.AuthenticationProfileUri = None + self.MetaDataQueueName = None + self.MetaDataUpdateTime = 0 + self._freeze = True + + def __str__(self): + return 'BrokerDataSetWriterTransportDataType(' + 'QueueName:' + str(self.QueueName) + ', ' + \ + 'ResourceUri:' + str(self.ResourceUri) + ', ' + \ + 'AuthenticationProfileUri:' + str(self.AuthenticationProfileUri) + ', ' + \ + 'MetaDataQueueName:' + str(self.MetaDataQueueName) + ', ' + \ + 'MetaDataUpdateTime:' + str(self.MetaDataUpdateTime) + ')' + + __repr__ = __str__ + + +class BrokerDataSetReaderTransportDataType(FrozenClass): + ''' + :ivar QueueName: + :vartype QueueName: String + :ivar ResourceUri: + :vartype ResourceUri: String + :ivar AuthenticationProfileUri: + :vartype AuthenticationProfileUri: String + :ivar RequestedDeliveryGuarantee: + :vartype RequestedDeliveryGuarantee: BrokerTransportQualityOfService + :ivar MetaDataQueueName: + :vartype MetaDataQueueName: String + ''' + + ua_types = [ + ('QueueName', 'String'), + ('ResourceUri', 'String'), + ('AuthenticationProfileUri', 'String'), + ('RequestedDeliveryGuarantee', 'BrokerTransportQualityOfService'), + ('MetaDataQueueName', 'String'), + ] + + def __init__(self): + self.QueueName = None + self.ResourceUri = None + self.AuthenticationProfileUri = None + self.RequestedDeliveryGuarantee = BrokerTransportQualityOfService(0) + self.MetaDataQueueName = None + self._freeze = True + + def __str__(self): + return 'BrokerDataSetReaderTransportDataType(' + 'QueueName:' + str(self.QueueName) + ', ' + \ + 'ResourceUri:' + str(self.ResourceUri) + ', ' + \ + 'AuthenticationProfileUri:' + str(self.AuthenticationProfileUri) + ', ' + \ + 'RequestedDeliveryGuarantee:' + str(self.RequestedDeliveryGuarantee) + ', ' + \ + 'MetaDataQueueName:' + str(self.MetaDataQueueName) + ')' + + __repr__ = __str__ + + +class RolePermissionType(FrozenClass): + ''' + :ivar RoleId: + :vartype RoleId: NodeId + :ivar Permissions: + :vartype Permissions: UInt32 + ''' + + ua_types = [ + ('RoleId', 'NodeId'), + ('Permissions', 'UInt32'), + ] + + def __init__(self): + self.RoleId = NodeId() + self.Permissions = 0 + self._freeze = True + + def __str__(self): + return 'RolePermissionType(' + 'RoleId:' + str(self.RoleId) + ', ' + \ + 'Permissions:' + str(self.Permissions) + ')' + + __repr__ = __str__ + + +class StructureField(FrozenClass): + ''' + :ivar Name: + :vartype Name: String + :ivar Description: + :vartype Description: LocalizedText + :ivar DataType: + :vartype DataType: NodeId + :ivar ValueRank: + :vartype ValueRank: Int32 + :ivar ArrayDimensions: + :vartype ArrayDimensions: UInt32 + :ivar MaxStringLength: + :vartype MaxStringLength: UInt32 + :ivar IsOptional: + :vartype IsOptional: Boolean + ''' + + ua_types = [ + ('Name', 'String'), + ('Description', 'LocalizedText'), + ('DataType', 'NodeId'), + ('ValueRank', 'Int32'), + ('ArrayDimensions', 'ListOfUInt32'), + ('MaxStringLength', 'UInt32'), + ('IsOptional', 'Boolean'), + ] + + def __init__(self): + self.Name = None + self.Description = LocalizedText() + self.DataType = NodeId() + self.ValueRank = 0 + self.ArrayDimensions = [] + self.MaxStringLength = 0 + self.IsOptional = True + self._freeze = True + + def __str__(self): + return 'StructureField(' + 'Name:' + str(self.Name) + ', ' + \ + 'Description:' + str(self.Description) + ', ' + \ + 'DataType:' + str(self.DataType) + ', ' + \ + 'ValueRank:' + str(self.ValueRank) + ', ' + \ + 'ArrayDimensions:' + str(self.ArrayDimensions) + ', ' + \ + 'MaxStringLength:' + str(self.MaxStringLength) + ', ' + \ + 'IsOptional:' + str(self.IsOptional) + ')' + __repr__ = __str__ -class DiagnosticInfo(FrozenClass): - """ - A recursive structure containing diagnostic information associated with a status code. - :ivar Encoding: - :vartype Encoding: Byte - :ivar SymbolicId: - :vartype SymbolicId: Int32 - :ivar NamespaceURI: - :vartype NamespaceURI: Int32 - :ivar Locale: - :vartype Locale: Int32 - :ivar LocalizedText: - :vartype LocalizedText: Int32 - :ivar AdditionalInfo: - :vartype AdditionalInfo: String - :ivar InnerStatusCode: - :vartype InnerStatusCode: StatusCode - :ivar InnerDiagnosticInfo: - :vartype InnerDiagnosticInfo: DiagnosticInfo - """ +class StructureDefinition(FrozenClass): + ''' + :ivar DefaultEncodingId: + :vartype DefaultEncodingId: NodeId + :ivar BaseDataType: + :vartype BaseDataType: NodeId + :ivar StructureType: + :vartype StructureType: StructureType + :ivar Fields: + :vartype Fields: StructureField + ''' - ua_switches = { - 'SymbolicId': ('Encoding', 0), - 'NamespaceURI': ('Encoding', 1), - 'Locale': ('Encoding', 2), - 'LocalizedText': ('Encoding', 3), - 'AdditionalInfo': ('Encoding', 4), - 'InnerStatusCode': ('Encoding', 5), - 'InnerDiagnosticInfo': ('Encoding', 6), - } ua_types = [ - ('Encoding', 'Byte'), - ('SymbolicId', 'Int32'), - ('NamespaceURI', 'Int32'), - ('Locale', 'Int32'), - ('LocalizedText', 'Int32'), - ('AdditionalInfo', 'String'), - ('InnerStatusCode', 'StatusCode'), - ('InnerDiagnosticInfo', 'DiagnosticInfo'), + ('DefaultEncodingId', 'NodeId'), + ('BaseDataType', 'NodeId'), + ('StructureType', 'StructureType'), + ('Fields', 'ListOfStructureField'), ] def __init__(self): - self.Encoding = 0 - self.SymbolicId = None - self.NamespaceURI = None - self.Locale = None - self.LocalizedText = None - self.AdditionalInfo = None - self.InnerStatusCode = None - self.InnerDiagnosticInfo = None + self.DefaultEncodingId = NodeId() + self.BaseDataType = NodeId() + self.StructureType = StructureType(0) + self.Fields = [] self._freeze = True def __str__(self): - return f'DiagnosticInfo(Encoding:{self.Encoding}, SymbolicId:{self.SymbolicId}, NamespaceURI:{self.NamespaceURI}, Locale:{self.Locale}, LocalizedText:{self.LocalizedText}, AdditionalInfo:{self.AdditionalInfo}, InnerStatusCode:{self.InnerStatusCode}, InnerDiagnosticInfo:{self.InnerDiagnosticInfo})' + return 'StructureDefinition(' + 'DefaultEncodingId:' + str(self.DefaultEncodingId) + ', ' + \ + 'BaseDataType:' + str(self.BaseDataType) + ', ' + \ + 'StructureType:' + str(self.StructureType) + ', ' + \ + 'Fields:' + str(self.Fields) + ')' __repr__ = __str__ -class TrustListDataType(FrozenClass): - """ - :ivar SpecifiedLists: - :vartype SpecifiedLists: UInt32 - :ivar TrustedCertificates: - :vartype TrustedCertificates: ByteString - :ivar TrustedCrls: - :vartype TrustedCrls: ByteString - :ivar IssuerCertificates: - :vartype IssuerCertificates: ByteString - :ivar IssuerCrls: - :vartype IssuerCrls: ByteString - """ +class EnumDefinition(FrozenClass): + ''' + :ivar Fields: + :vartype Fields: EnumField + ''' ua_types = [ - ('SpecifiedLists', 'UInt32'), - ('TrustedCertificates', 'ListOfByteString'), - ('TrustedCrls', 'ListOfByteString'), - ('IssuerCertificates', 'ListOfByteString'), - ('IssuerCrls', 'ListOfByteString'), + ('Fields', 'ListOfEnumField'), ] def __init__(self): - self.SpecifiedLists = 0 - self.TrustedCertificates = [] - self.TrustedCrls = [] - self.IssuerCertificates = [] - self.IssuerCrls = [] + self.Fields = [] self._freeze = True def __str__(self): - return f'TrustListDataType(SpecifiedLists:{self.SpecifiedLists}, TrustedCertificates:{self.TrustedCertificates}, TrustedCrls:{self.TrustedCrls}, IssuerCertificates:{self.IssuerCertificates}, IssuerCrls:{self.IssuerCrls})' + return 'EnumDefinition(' + 'Fields:' + str(self.Fields) + ')' __repr__ = __str__ class Argument(FrozenClass): - """ + ''' An argument for a method. :ivar Name: @@ -791,7 +3076,7 @@ class Argument(FrozenClass): :vartype ArrayDimensions: UInt32 :ivar Description: :vartype Description: LocalizedText - """ + ''' ua_types = [ ('Name', 'String'), @@ -810,13 +3095,17 @@ def __init__(self): self._freeze = True def __str__(self): - return f'Argument(Name:{self.Name}, DataType:{self.DataType}, ValueRank:{self.ValueRank}, ArrayDimensions:{self.ArrayDimensions}, Description:{self.Description})' + return 'Argument(' + 'Name:' + str(self.Name) + ', ' + \ + 'DataType:' + str(self.DataType) + ', ' + \ + 'ValueRank:' + str(self.ValueRank) + ', ' + \ + 'ArrayDimensions:' + str(self.ArrayDimensions) + ', ' + \ + 'Description:' + str(self.Description) + ')' __repr__ = __str__ class EnumValueType(FrozenClass): - """ + ''' A mapping between a value of an enumerated type and a name and description. :ivar Value: @@ -825,35 +3114,72 @@ class EnumValueType(FrozenClass): :vartype DisplayName: LocalizedText :ivar Description: :vartype Description: LocalizedText - """ + ''' + + ua_types = [ + ('Value', 'Int64'), + ('DisplayName', 'LocalizedText'), + ('Description', 'LocalizedText'), + ] + + def __init__(self): + self.Value = 0 + self.DisplayName = LocalizedText() + self.Description = LocalizedText() + self._freeze = True + + def __str__(self): + return 'EnumValueType(' + 'Value:' + str(self.Value) + ', ' + \ + 'DisplayName:' + str(self.DisplayName) + ', ' + \ + 'Description:' + str(self.Description) + ')' + + __repr__ = __str__ + + +class EnumField(FrozenClass): + ''' + :ivar Value: + :vartype Value: Int64 + :ivar DisplayName: + :vartype DisplayName: LocalizedText + :ivar Description: + :vartype Description: LocalizedText + :ivar Name: + :vartype Name: String + ''' ua_types = [ ('Value', 'Int64'), ('DisplayName', 'LocalizedText'), ('Description', 'LocalizedText'), + ('Name', 'String'), ] def __init__(self): self.Value = 0 self.DisplayName = LocalizedText() self.Description = LocalizedText() + self.Name = None self._freeze = True def __str__(self): - return f'EnumValueType(Value:{self.Value}, DisplayName:{self.DisplayName}, Description:{self.Description})' + return 'EnumField(' + 'Value:' + str(self.Value) + ', ' + \ + 'DisplayName:' + str(self.DisplayName) + ', ' + \ + 'Description:' + str(self.Description) + ', ' + \ + 'Name:' + str(self.Name) + ')' __repr__ = __str__ class OptionSet(FrozenClass): - """ + ''' This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask. :ivar Value: :vartype Value: ByteString :ivar ValidBits: :vartype ValidBits: ByteString - """ + ''' ua_types = [ ('Value', 'ByteString'), @@ -866,16 +3192,17 @@ def __init__(self): self._freeze = True def __str__(self): - return f'OptionSet(Value:{self.Value}, ValidBits:{self.ValidBits})' + return 'OptionSet(' + 'Value:' + str(self.Value) + ', ' + \ + 'ValidBits:' + str(self.ValidBits) + ')' __repr__ = __str__ class Union(FrozenClass): - """ + ''' This abstract DataType is the base DataType for all union DataTypes. - """ + ''' ua_types = [ ] @@ -884,18 +3211,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'Union()' + return 'Union(' + + ')' __repr__ = __str__ class TimeZoneDataType(FrozenClass): - """ + ''' :ivar Offset: :vartype Offset: Int16 :ivar DaylightSavingInOffset: :vartype DaylightSavingInOffset: Boolean - """ + ''' ua_types = [ ('Offset', 'Int16'), @@ -908,13 +3235,14 @@ def __init__(self): self._freeze = True def __str__(self): - return f'TimeZoneDataType(Offset:{self.Offset}, DaylightSavingInOffset:{self.DaylightSavingInOffset})' + return 'TimeZoneDataType(' + 'Offset:' + str(self.Offset) + ', ' + \ + 'DaylightSavingInOffset:' + str(self.DaylightSavingInOffset) + ')' __repr__ = __str__ class ApplicationDescription(FrozenClass): - """ + ''' Describes an application and how to find it. :ivar ApplicationUri: @@ -931,7 +3259,7 @@ class ApplicationDescription(FrozenClass): :vartype DiscoveryProfileUri: String :ivar DiscoveryUrls: :vartype DiscoveryUrls: String - """ + ''' ua_types = [ ('ApplicationUri', 'String'), @@ -954,13 +3282,19 @@ def __init__(self): self._freeze = True def __str__(self): - return f'ApplicationDescription(ApplicationUri:{self.ApplicationUri}, ProductUri:{self.ProductUri}, ApplicationName:{self.ApplicationName}, ApplicationType:{self.ApplicationType}, GatewayServerUri:{self.GatewayServerUri}, DiscoveryProfileUri:{self.DiscoveryProfileUri}, DiscoveryUrls:{self.DiscoveryUrls})' + return 'ApplicationDescription(' + 'ApplicationUri:' + str(self.ApplicationUri) + ', ' + \ + 'ProductUri:' + str(self.ProductUri) + ', ' + \ + 'ApplicationName:' + str(self.ApplicationName) + ', ' + \ + 'ApplicationType:' + str(self.ApplicationType) + ', ' + \ + 'GatewayServerUri:' + str(self.GatewayServerUri) + ', ' + \ + 'DiscoveryProfileUri:' + str(self.DiscoveryProfileUri) + ', ' + \ + 'DiscoveryUrls:' + str(self.DiscoveryUrls) + ')' __repr__ = __str__ class RequestHeader(FrozenClass): - """ + ''' The header passed with every server request. :ivar AuthenticationToken: @@ -977,7 +3311,7 @@ class RequestHeader(FrozenClass): :vartype TimeoutHint: UInt32 :ivar AdditionalHeader: :vartype AdditionalHeader: ExtensionObject - """ + ''' ua_types = [ ('AuthenticationToken', 'NodeId'), @@ -1000,13 +3334,19 @@ def __init__(self): self._freeze = True def __str__(self): - return f'RequestHeader(AuthenticationToken:{self.AuthenticationToken}, Timestamp:{self.Timestamp}, RequestHandle:{self.RequestHandle}, ReturnDiagnostics:{self.ReturnDiagnostics}, AuditEntryId:{self.AuditEntryId}, TimeoutHint:{self.TimeoutHint}, AdditionalHeader:{self.AdditionalHeader})' + return 'RequestHeader(' + 'AuthenticationToken:' + str(self.AuthenticationToken) + ', ' + \ + 'Timestamp:' + str(self.Timestamp) + ', ' + \ + 'RequestHandle:' + str(self.RequestHandle) + ', ' + \ + 'ReturnDiagnostics:' + str(self.ReturnDiagnostics) + ', ' + \ + 'AuditEntryId:' + str(self.AuditEntryId) + ', ' + \ + 'TimeoutHint:' + str(self.TimeoutHint) + ', ' + \ + 'AdditionalHeader:' + str(self.AdditionalHeader) + ')' __repr__ = __str__ class ResponseHeader(FrozenClass): - """ + ''' The header passed with every server response. :ivar Timestamp: @@ -1021,7 +3361,7 @@ class ResponseHeader(FrozenClass): :vartype StringTable: String :ivar AdditionalHeader: :vartype AdditionalHeader: ExtensionObject - """ + ''' ua_types = [ ('Timestamp', 'DateTime'), @@ -1042,20 +3382,25 @@ def __init__(self): self._freeze = True def __str__(self): - return f'ResponseHeader(Timestamp:{self.Timestamp}, RequestHandle:{self.RequestHandle}, ServiceResult:{self.ServiceResult}, ServiceDiagnostics:{self.ServiceDiagnostics}, StringTable:{self.StringTable}, AdditionalHeader:{self.AdditionalHeader})' + return 'ResponseHeader(' + 'Timestamp:' + str(self.Timestamp) + ', ' + \ + 'RequestHandle:' + str(self.RequestHandle) + ', ' + \ + 'ServiceResult:' + str(self.ServiceResult) + ', ' + \ + 'ServiceDiagnostics:' + str(self.ServiceDiagnostics) + ', ' + \ + 'StringTable:' + str(self.StringTable) + ', ' + \ + 'AdditionalHeader:' + str(self.AdditionalHeader) + ')' __repr__ = __str__ class ServiceFault(FrozenClass): - """ + ''' The response returned by all services when there is a service level error. :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -1068,20 +3413,91 @@ def __init__(self): self._freeze = True def __str__(self): - return f'ServiceFault(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader})' + return 'ServiceFault(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'ResponseHeader:' + str(self.ResponseHeader) + ')' + + __repr__ = __str__ + + +class SessionlessInvokeRequestType(FrozenClass): + ''' + :ivar UrisVersion: + :vartype UrisVersion: UInt32 + :ivar NamespaceUris: + :vartype NamespaceUris: String + :ivar ServerUris: + :vartype ServerUris: String + :ivar LocaleIds: + :vartype LocaleIds: String + :ivar ServiceId: + :vartype ServiceId: UInt32 + ''' + + ua_types = [ + ('UrisVersion', 'ListOfUInt32'), + ('NamespaceUris', 'ListOfString'), + ('ServerUris', 'ListOfString'), + ('LocaleIds', 'ListOfString'), + ('ServiceId', 'UInt32'), + ] + + def __init__(self): + self.UrisVersion = [] + self.NamespaceUris = [] + self.ServerUris = [] + self.LocaleIds = [] + self.ServiceId = 0 + self._freeze = True + + def __str__(self): + return 'SessionlessInvokeRequestType(' + 'UrisVersion:' + str(self.UrisVersion) + ', ' + \ + 'NamespaceUris:' + str(self.NamespaceUris) + ', ' + \ + 'ServerUris:' + str(self.ServerUris) + ', ' + \ + 'LocaleIds:' + str(self.LocaleIds) + ', ' + \ + 'ServiceId:' + str(self.ServiceId) + ')' + + __repr__ = __str__ + + +class SessionlessInvokeResponseType(FrozenClass): + ''' + :ivar NamespaceUris: + :vartype NamespaceUris: String + :ivar ServerUris: + :vartype ServerUris: String + :ivar ServiceId: + :vartype ServiceId: UInt32 + ''' + + ua_types = [ + ('NamespaceUris', 'ListOfString'), + ('ServerUris', 'ListOfString'), + ('ServiceId', 'UInt32'), + ] + + def __init__(self): + self.NamespaceUris = [] + self.ServerUris = [] + self.ServiceId = 0 + self._freeze = True + + def __str__(self): + return 'SessionlessInvokeResponseType(' + 'NamespaceUris:' + str(self.NamespaceUris) + ', ' + \ + 'ServerUris:' + str(self.ServerUris) + ', ' + \ + 'ServiceId:' + str(self.ServiceId) + ')' __repr__ = __str__ class FindServersParameters(FrozenClass): - """ + ''' :ivar EndpointUrl: :vartype EndpointUrl: String :ivar LocaleIds: :vartype LocaleIds: String :ivar ServerUris: :vartype ServerUris: String - """ + ''' ua_types = [ ('EndpointUrl', 'String'), @@ -1096,13 +3512,15 @@ def __init__(self): self._freeze = True def __str__(self): - return f'FindServersParameters(EndpointUrl:{self.EndpointUrl}, LocaleIds:{self.LocaleIds}, ServerUris:{self.ServerUris})' + return 'FindServersParameters(' + 'EndpointUrl:' + str(self.EndpointUrl) + ', ' + \ + 'LocaleIds:' + str(self.LocaleIds) + ', ' + \ + 'ServerUris:' + str(self.ServerUris) + ')' __repr__ = __str__ class FindServersRequest(FrozenClass): - """ + ''' Finds the servers known to the discovery server. :ivar TypeId: @@ -1111,7 +3529,7 @@ class FindServersRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: FindServersParameters - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -1126,13 +3544,15 @@ def __init__(self): self._freeze = True def __str__(self): - return f'FindServersRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' + return 'FindServersRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class FindServersResponse(FrozenClass): - """ + ''' Finds the servers known to the discovery server. :ivar TypeId: @@ -1141,7 +3561,7 @@ class FindServersResponse(FrozenClass): :vartype ResponseHeader: ResponseHeader :ivar Servers: :vartype Servers: ApplicationDescription - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -1156,13 +3576,15 @@ def __init__(self): self._freeze = True def __str__(self): - return f'FindServersResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Servers:{self.Servers})' + return 'FindServersResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ + 'Servers:' + str(self.Servers) + ')' __repr__ = __str__ class ServerOnNetwork(FrozenClass): - """ + ''' :ivar RecordId: :vartype RecordId: UInt32 :ivar ServerName: @@ -1171,7 +3593,7 @@ class ServerOnNetwork(FrozenClass): :vartype DiscoveryUrl: String :ivar ServerCapabilities: :vartype ServerCapabilities: String - """ + ''' ua_types = [ ('RecordId', 'UInt32'), @@ -1188,20 +3610,23 @@ def __init__(self): self._freeze = True def __str__(self): - return f'ServerOnNetwork(RecordId:{self.RecordId}, ServerName:{self.ServerName}, DiscoveryUrl:{self.DiscoveryUrl}, ServerCapabilities:{self.ServerCapabilities})' + return 'ServerOnNetwork(' + 'RecordId:' + str(self.RecordId) + ', ' + \ + 'ServerName:' + str(self.ServerName) + ', ' + \ + 'DiscoveryUrl:' + str(self.DiscoveryUrl) + ', ' + \ + 'ServerCapabilities:' + str(self.ServerCapabilities) + ')' __repr__ = __str__ class FindServersOnNetworkParameters(FrozenClass): - """ + ''' :ivar StartingRecordId: :vartype StartingRecordId: UInt32 :ivar MaxRecordsToReturn: :vartype MaxRecordsToReturn: UInt32 :ivar ServerCapabilityFilter: :vartype ServerCapabilityFilter: String - """ + ''' ua_types = [ ('StartingRecordId', 'UInt32'), @@ -1216,20 +3641,22 @@ def __init__(self): self._freeze = True def __str__(self): - return f'FindServersOnNetworkParameters(StartingRecordId:{self.StartingRecordId}, MaxRecordsToReturn:{self.MaxRecordsToReturn}, ServerCapabilityFilter:{self.ServerCapabilityFilter})' + return 'FindServersOnNetworkParameters(' + 'StartingRecordId:' + str(self.StartingRecordId) + ', ' + \ + 'MaxRecordsToReturn:' + str(self.MaxRecordsToReturn) + ', ' + \ + 'ServerCapabilityFilter:' + str(self.ServerCapabilityFilter) + ')' __repr__ = __str__ class FindServersOnNetworkRequest(FrozenClass): - """ + ''' :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: FindServersOnNetworkParameters - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -1244,18 +3671,20 @@ def __init__(self): self._freeze = True def __str__(self): - return f'FindServersOnNetworkRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' + return 'FindServersOnNetworkRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class FindServersOnNetworkResult(FrozenClass): - """ + ''' :ivar LastCounterResetTime: :vartype LastCounterResetTime: DateTime :ivar Servers: :vartype Servers: ServerOnNetwork - """ + ''' ua_types = [ ('LastCounterResetTime', 'DateTime'), @@ -1268,20 +3697,21 @@ def __init__(self): self._freeze = True def __str__(self): - return f'FindServersOnNetworkResult(LastCounterResetTime:{self.LastCounterResetTime}, Servers:{self.Servers})' + return 'FindServersOnNetworkResult(' + 'LastCounterResetTime:' + str(self.LastCounterResetTime) + ', ' + \ + 'Servers:' + str(self.Servers) + ')' __repr__ = __str__ class FindServersOnNetworkResponse(FrozenClass): - """ + ''' :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: FindServersOnNetworkResult - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -1296,13 +3726,15 @@ def __init__(self): self._freeze = True def __str__(self): - return f'FindServersOnNetworkResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' + return 'FindServersOnNetworkResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class UserTokenPolicy(FrozenClass): - """ + ''' Describes a user token that can be used with a server. :ivar PolicyId: @@ -1315,7 +3747,7 @@ class UserTokenPolicy(FrozenClass): :vartype IssuerEndpointUrl: String :ivar SecurityPolicyUri: :vartype SecurityPolicyUri: String - """ + ''' ua_types = [ ('PolicyId', 'String'), @@ -1334,13 +3766,17 @@ def __init__(self): self._freeze = True def __str__(self): - return f'UserTokenPolicy(PolicyId:{self.PolicyId}, TokenType:{self.TokenType}, IssuedTokenType:{self.IssuedTokenType}, IssuerEndpointUrl:{self.IssuerEndpointUrl}, SecurityPolicyUri:{self.SecurityPolicyUri})' + return 'UserTokenPolicy(' + 'PolicyId:' + str(self.PolicyId) + ', ' + \ + 'TokenType:' + str(self.TokenType) + ', ' + \ + 'IssuedTokenType:' + str(self.IssuedTokenType) + ', ' + \ + 'IssuerEndpointUrl:' + str(self.IssuerEndpointUrl) + ', ' + \ + 'SecurityPolicyUri:' + str(self.SecurityPolicyUri) + ')' __repr__ = __str__ class EndpointDescription(FrozenClass): - """ + ''' The description of a endpoint that can be used to access a server. :ivar EndpointUrl: @@ -1359,7 +3795,7 @@ class EndpointDescription(FrozenClass): :vartype TransportProfileUri: String :ivar SecurityLevel: :vartype SecurityLevel: Byte - """ + ''' ua_types = [ ('EndpointUrl', 'String'), @@ -1384,20 +3820,27 @@ def __init__(self): self._freeze = True def __str__(self): - return f'EndpointDescription(EndpointUrl:{self.EndpointUrl}, Server:{self.Server}, ServerCertificate:{self.ServerCertificate}, SecurityMode:{self.SecurityMode}, SecurityPolicyUri:{self.SecurityPolicyUri}, UserIdentityTokens:{self.UserIdentityTokens}, TransportProfileUri:{self.TransportProfileUri}, SecurityLevel:{self.SecurityLevel})' + return 'EndpointDescription(' + 'EndpointUrl:' + str(self.EndpointUrl) + ', ' + \ + 'Server:' + str(self.Server) + ', ' + \ + 'ServerCertificate:' + str(self.ServerCertificate) + ', ' + \ + 'SecurityMode:' + str(self.SecurityMode) + ', ' + \ + 'SecurityPolicyUri:' + str(self.SecurityPolicyUri) + ', ' + \ + 'UserIdentityTokens:' + str(self.UserIdentityTokens) + ', ' + \ + 'TransportProfileUri:' + str(self.TransportProfileUri) + ', ' + \ + 'SecurityLevel:' + str(self.SecurityLevel) + ')' __repr__ = __str__ class GetEndpointsParameters(FrozenClass): - """ + ''' :ivar EndpointUrl: :vartype EndpointUrl: String :ivar LocaleIds: :vartype LocaleIds: String :ivar ProfileUris: :vartype ProfileUris: String - """ + ''' ua_types = [ ('EndpointUrl', 'String'), @@ -1412,13 +3855,15 @@ def __init__(self): self._freeze = True def __str__(self): - return f'GetEndpointsParameters(EndpointUrl:{self.EndpointUrl}, LocaleIds:{self.LocaleIds}, ProfileUris:{self.ProfileUris})' + return 'GetEndpointsParameters(' + 'EndpointUrl:' + str(self.EndpointUrl) + ', ' + \ + 'LocaleIds:' + str(self.LocaleIds) + ', ' + \ + 'ProfileUris:' + str(self.ProfileUris) + ')' __repr__ = __str__ class GetEndpointsRequest(FrozenClass): - """ + ''' Gets the endpoints used by the server. :ivar TypeId: @@ -1427,7 +3872,7 @@ class GetEndpointsRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: GetEndpointsParameters - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -1442,13 +3887,15 @@ def __init__(self): self._freeze = True def __str__(self): - return f'GetEndpointsRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' + return 'GetEndpointsRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class GetEndpointsResponse(FrozenClass): - """ + ''' Gets the endpoints used by the server. :ivar TypeId: @@ -1457,7 +3904,7 @@ class GetEndpointsResponse(FrozenClass): :vartype ResponseHeader: ResponseHeader :ivar Endpoints: :vartype Endpoints: EndpointDescription - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -1472,13 +3919,15 @@ def __init__(self): self._freeze = True def __str__(self): - return f'GetEndpointsResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Endpoints:{self.Endpoints})' + return 'GetEndpointsResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ + 'Endpoints:' + str(self.Endpoints) + ')' __repr__ = __str__ class RegisteredServer(FrozenClass): - """ + ''' The information required to register a server with a discovery server. :ivar ServerUri: @@ -1497,7 +3946,7 @@ class RegisteredServer(FrozenClass): :vartype SemaphoreFilePath: String :ivar IsOnline: :vartype IsOnline: Boolean - """ + ''' ua_types = [ ('ServerUri', 'String'), @@ -1522,13 +3971,20 @@ def __init__(self): self._freeze = True def __str__(self): - return f'RegisteredServer(ServerUri:{self.ServerUri}, ProductUri:{self.ProductUri}, ServerNames:{self.ServerNames}, ServerType:{self.ServerType}, GatewayServerUri:{self.GatewayServerUri}, DiscoveryUrls:{self.DiscoveryUrls}, SemaphoreFilePath:{self.SemaphoreFilePath}, IsOnline:{self.IsOnline})' + return 'RegisteredServer(' + 'ServerUri:' + str(self.ServerUri) + ', ' + \ + 'ProductUri:' + str(self.ProductUri) + ', ' + \ + 'ServerNames:' + str(self.ServerNames) + ', ' + \ + 'ServerType:' + str(self.ServerType) + ', ' + \ + 'GatewayServerUri:' + str(self.GatewayServerUri) + ', ' + \ + 'DiscoveryUrls:' + str(self.DiscoveryUrls) + ', ' + \ + 'SemaphoreFilePath:' + str(self.SemaphoreFilePath) + ', ' + \ + 'IsOnline:' + str(self.IsOnline) + ')' __repr__ = __str__ class RegisterServerRequest(FrozenClass): - """ + ''' Registers a server with the discovery server. :ivar TypeId: @@ -1537,7 +3993,7 @@ class RegisterServerRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Server: :vartype Server: RegisteredServer - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -1552,20 +4008,22 @@ def __init__(self): self._freeze = True def __str__(self): - return f'RegisterServerRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Server:{self.Server})' + return 'RegisterServerRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ + 'Server:' + str(self.Server) + ')' __repr__ = __str__ class RegisterServerResponse(FrozenClass): - """ + ''' Registers a server with the discovery server. :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -1578,16 +4036,17 @@ def __init__(self): self._freeze = True def __str__(self): - return f'RegisterServerResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader})' + return 'RegisterServerResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'ResponseHeader:' + str(self.ResponseHeader) + ')' __repr__ = __str__ class DiscoveryConfiguration(FrozenClass): - """ + ''' A base type for discovery configuration information. - """ + ''' ua_types = [ ] @@ -1596,20 +4055,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DiscoveryConfiguration()' + return 'DiscoveryConfiguration(' + + ')' __repr__ = __str__ class MdnsDiscoveryConfiguration(FrozenClass): - """ + ''' The discovery information needed for mDNS registration. :ivar MdnsServerName: :vartype MdnsServerName: String :ivar ServerCapabilities: :vartype ServerCapabilities: String - """ + ''' ua_types = [ ('MdnsServerName', 'String'), @@ -1622,18 +4081,19 @@ def __init__(self): self._freeze = True def __str__(self): - return f'MdnsDiscoveryConfiguration(MdnsServerName:{self.MdnsServerName}, ServerCapabilities:{self.ServerCapabilities})' + return 'MdnsDiscoveryConfiguration(' + 'MdnsServerName:' + str(self.MdnsServerName) + ', ' + \ + 'ServerCapabilities:' + str(self.ServerCapabilities) + ')' __repr__ = __str__ class RegisterServer2Parameters(FrozenClass): - """ + ''' :ivar Server: :vartype Server: RegisteredServer :ivar DiscoveryConfiguration: :vartype DiscoveryConfiguration: ExtensionObject - """ + ''' ua_types = [ ('Server', 'RegisteredServer'), @@ -1646,20 +4106,21 @@ def __init__(self): self._freeze = True def __str__(self): - return f'RegisterServer2Parameters(Server:{self.Server}, DiscoveryConfiguration:{self.DiscoveryConfiguration})' + return 'RegisterServer2Parameters(' + 'Server:' + str(self.Server) + ', ' + \ + 'DiscoveryConfiguration:' + str(self.DiscoveryConfiguration) + ')' __repr__ = __str__ class RegisterServer2Request(FrozenClass): - """ + ''' :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: RegisterServer2Parameters - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -1674,13 +4135,15 @@ def __init__(self): self._freeze = True def __str__(self): - return f'RegisterServer2Request(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' + return 'RegisterServer2Request(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class RegisterServer2Response(FrozenClass): - """ + ''' :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: @@ -1689,7 +4152,7 @@ class RegisterServer2Response(FrozenClass): :vartype ConfigurationResults: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -1706,13 +4169,16 @@ def __init__(self): self._freeze = True def __str__(self): - return f'RegisterServer2Response(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, ConfigurationResults:{self.ConfigurationResults}, DiagnosticInfos:{self.DiagnosticInfos})' + return 'RegisterServer2Response(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ + 'ConfigurationResults:' + str(self.ConfigurationResults) + ', ' + \ + 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' __repr__ = __str__ class ChannelSecurityToken(FrozenClass): - """ + ''' The token that identifies a set of keys for an active secure channel. :ivar ChannelId: @@ -1723,7 +4189,7 @@ class ChannelSecurityToken(FrozenClass): :vartype CreatedAt: DateTime :ivar RevisedLifetime: :vartype RevisedLifetime: UInt32 - """ + ''' ua_types = [ ('ChannelId', 'UInt32'), @@ -1740,13 +4206,16 @@ def __init__(self): self._freeze = True def __str__(self): - return f'ChannelSecurityToken(ChannelId:{self.ChannelId}, TokenId:{self.TokenId}, CreatedAt:{self.CreatedAt}, RevisedLifetime:{self.RevisedLifetime})' + return 'ChannelSecurityToken(' + 'ChannelId:' + str(self.ChannelId) + ', ' + \ + 'TokenId:' + str(self.TokenId) + ', ' + \ + 'CreatedAt:' + str(self.CreatedAt) + ', ' + \ + 'RevisedLifetime:' + str(self.RevisedLifetime) + ')' __repr__ = __str__ class OpenSecureChannelParameters(FrozenClass): - """ + ''' :ivar ClientProtocolVersion: :vartype ClientProtocolVersion: UInt32 :ivar RequestType: @@ -1757,7 +4226,7 @@ class OpenSecureChannelParameters(FrozenClass): :vartype ClientNonce: ByteString :ivar RequestedLifetime: :vartype RequestedLifetime: UInt32 - """ + ''' ua_types = [ ('ClientProtocolVersion', 'UInt32'), @@ -1776,13 +4245,17 @@ def __init__(self): self._freeze = True def __str__(self): - return f'OpenSecureChannelParameters(ClientProtocolVersion:{self.ClientProtocolVersion}, RequestType:{self.RequestType}, SecurityMode:{self.SecurityMode}, ClientNonce:{self.ClientNonce}, RequestedLifetime:{self.RequestedLifetime})' + return 'OpenSecureChannelParameters(' + 'ClientProtocolVersion:' + str(self.ClientProtocolVersion) + ', ' + \ + 'RequestType:' + str(self.RequestType) + ', ' + \ + 'SecurityMode:' + str(self.SecurityMode) + ', ' + \ + 'ClientNonce:' + str(self.ClientNonce) + ', ' + \ + 'RequestedLifetime:' + str(self.RequestedLifetime) + ')' __repr__ = __str__ class OpenSecureChannelRequest(FrozenClass): - """ + ''' Creates a secure channel with a server. :ivar TypeId: @@ -1791,7 +4264,7 @@ class OpenSecureChannelRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: OpenSecureChannelParameters - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -1806,20 +4279,22 @@ def __init__(self): self._freeze = True def __str__(self): - return f'OpenSecureChannelRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' + return 'OpenSecureChannelRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class OpenSecureChannelResult(FrozenClass): - """ + ''' :ivar ServerProtocolVersion: :vartype ServerProtocolVersion: UInt32 :ivar SecurityToken: :vartype SecurityToken: ChannelSecurityToken :ivar ServerNonce: :vartype ServerNonce: ByteString - """ + ''' ua_types = [ ('ServerProtocolVersion', 'UInt32'), @@ -1834,13 +4309,15 @@ def __init__(self): self._freeze = True def __str__(self): - return f'OpenSecureChannelResult(ServerProtocolVersion:{self.ServerProtocolVersion}, SecurityToken:{self.SecurityToken}, ServerNonce:{self.ServerNonce})' + return 'OpenSecureChannelResult(' + 'ServerProtocolVersion:' + str(self.ServerProtocolVersion) + ', ' + \ + 'SecurityToken:' + str(self.SecurityToken) + ', ' + \ + 'ServerNonce:' + str(self.ServerNonce) + ')' __repr__ = __str__ class OpenSecureChannelResponse(FrozenClass): - """ + ''' Creates a secure channel with a server. :ivar TypeId: @@ -1849,7 +4326,7 @@ class OpenSecureChannelResponse(FrozenClass): :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: OpenSecureChannelResult - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -1864,20 +4341,22 @@ def __init__(self): self._freeze = True def __str__(self): - return f'OpenSecureChannelResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' + return 'OpenSecureChannelResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class CloseSecureChannelRequest(FrozenClass): - """ + ''' Closes a secure channel. :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -1890,20 +4369,21 @@ def __init__(self): self._freeze = True def __str__(self): - return f'CloseSecureChannelRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader})' + return 'CloseSecureChannelRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'RequestHeader:' + str(self.RequestHeader) + ')' __repr__ = __str__ class CloseSecureChannelResponse(FrozenClass): - """ + ''' Closes a secure channel. :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -1916,20 +4396,21 @@ def __init__(self): self._freeze = True def __str__(self): - return f'CloseSecureChannelResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader})' + return 'CloseSecureChannelResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'ResponseHeader:' + str(self.ResponseHeader) + ')' __repr__ = __str__ class SignedSoftwareCertificate(FrozenClass): - """ + ''' A software certificate with a digital signature. :ivar CertificateData: :vartype CertificateData: ByteString :ivar Signature: :vartype Signature: ByteString - """ + ''' ua_types = [ ('CertificateData', 'ByteString'), @@ -1942,20 +4423,21 @@ def __init__(self): self._freeze = True def __str__(self): - return f'SignedSoftwareCertificate(CertificateData:{self.CertificateData}, Signature:{self.Signature})' + return 'SignedSoftwareCertificate(' + 'CertificateData:' + str(self.CertificateData) + ', ' + \ + 'Signature:' + str(self.Signature) + ')' __repr__ = __str__ class SignatureData(FrozenClass): - """ + ''' A digital signature. :ivar Algorithm: :vartype Algorithm: String :ivar Signature: :vartype Signature: ByteString - """ + ''' ua_types = [ ('Algorithm', 'String'), @@ -1968,13 +4450,14 @@ def __init__(self): self._freeze = True def __str__(self): - return f'SignatureData(Algorithm:{self.Algorithm}, Signature:{self.Signature})' + return 'SignatureData(' + 'Algorithm:' + str(self.Algorithm) + ', ' + \ + 'Signature:' + str(self.Signature) + ')' __repr__ = __str__ class CreateSessionParameters(FrozenClass): - """ + ''' :ivar ClientDescription: :vartype ClientDescription: ApplicationDescription :ivar ServerUri: @@ -1991,7 +4474,7 @@ class CreateSessionParameters(FrozenClass): :vartype RequestedSessionTimeout: Double :ivar MaxResponseMessageSize: :vartype MaxResponseMessageSize: UInt32 - """ + ''' ua_types = [ ('ClientDescription', 'ApplicationDescription'), @@ -2016,13 +4499,20 @@ def __init__(self): self._freeze = True def __str__(self): - return f'CreateSessionParameters(ClientDescription:{self.ClientDescription}, ServerUri:{self.ServerUri}, EndpointUrl:{self.EndpointUrl}, SessionName:{self.SessionName}, ClientNonce:{self.ClientNonce}, ClientCertificate:{self.ClientCertificate}, RequestedSessionTimeout:{self.RequestedSessionTimeout}, MaxResponseMessageSize:{self.MaxResponseMessageSize})' + return 'CreateSessionParameters(' + 'ClientDescription:' + str(self.ClientDescription) + ', ' + \ + 'ServerUri:' + str(self.ServerUri) + ', ' + \ + 'EndpointUrl:' + str(self.EndpointUrl) + ', ' + \ + 'SessionName:' + str(self.SessionName) + ', ' + \ + 'ClientNonce:' + str(self.ClientNonce) + ', ' + \ + 'ClientCertificate:' + str(self.ClientCertificate) + ', ' + \ + 'RequestedSessionTimeout:' + str(self.RequestedSessionTimeout) + ', ' + \ + 'MaxResponseMessageSize:' + str(self.MaxResponseMessageSize) + ')' __repr__ = __str__ class CreateSessionRequest(FrozenClass): - """ + ''' Creates a new session with the server. :ivar TypeId: @@ -2031,7 +4521,7 @@ class CreateSessionRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: CreateSessionParameters - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -2046,13 +4536,15 @@ def __init__(self): self._freeze = True def __str__(self): - return f'CreateSessionRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' + return 'CreateSessionRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class CreateSessionResult(FrozenClass): - """ + ''' :ivar SessionId: :vartype SessionId: NodeId :ivar AuthenticationToken: @@ -2071,7 +4563,7 @@ class CreateSessionResult(FrozenClass): :vartype ServerSignature: SignatureData :ivar MaxRequestMessageSize: :vartype MaxRequestMessageSize: UInt32 - """ + ''' ua_types = [ ('SessionId', 'NodeId'), @@ -2098,13 +4590,21 @@ def __init__(self): self._freeze = True def __str__(self): - return f'CreateSessionResult(SessionId:{self.SessionId}, AuthenticationToken:{self.AuthenticationToken}, RevisedSessionTimeout:{self.RevisedSessionTimeout}, ServerNonce:{self.ServerNonce}, ServerCertificate:{self.ServerCertificate}, ServerEndpoints:{self.ServerEndpoints}, ServerSoftwareCertificates:{self.ServerSoftwareCertificates}, ServerSignature:{self.ServerSignature}, MaxRequestMessageSize:{self.MaxRequestMessageSize})' + return 'CreateSessionResult(' + 'SessionId:' + str(self.SessionId) + ', ' + \ + 'AuthenticationToken:' + str(self.AuthenticationToken) + ', ' + \ + 'RevisedSessionTimeout:' + str(self.RevisedSessionTimeout) + ', ' + \ + 'ServerNonce:' + str(self.ServerNonce) + ', ' + \ + 'ServerCertificate:' + str(self.ServerCertificate) + ', ' + \ + 'ServerEndpoints:' + str(self.ServerEndpoints) + ', ' + \ + 'ServerSoftwareCertificates:' + str(self.ServerSoftwareCertificates) + ', ' + \ + 'ServerSignature:' + str(self.ServerSignature) + ', ' + \ + 'MaxRequestMessageSize:' + str(self.MaxRequestMessageSize) + ')' __repr__ = __str__ class CreateSessionResponse(FrozenClass): - """ + ''' Creates a new session with the server. :ivar TypeId: @@ -2113,7 +4613,7 @@ class CreateSessionResponse(FrozenClass): :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: CreateSessionResult - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -2128,18 +4628,20 @@ def __init__(self): self._freeze = True def __str__(self): - return f'CreateSessionResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' + return 'CreateSessionResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class UserIdentityToken(FrozenClass): - """ + ''' A base type for a user identity token. :ivar PolicyId: :vartype PolicyId: String - """ + ''' ua_types = [ ('PolicyId', 'String'), @@ -2150,18 +4652,18 @@ def __init__(self): self._freeze = True def __str__(self): - return f'UserIdentityToken(PolicyId:{self.PolicyId})' + return 'UserIdentityToken(' + 'PolicyId:' + str(self.PolicyId) + ')' __repr__ = __str__ class AnonymousIdentityToken(FrozenClass): - """ + ''' A token representing an anonymous user. :ivar PolicyId: :vartype PolicyId: String - """ + ''' ua_types = [ ('PolicyId', 'String'), @@ -2172,13 +4674,13 @@ def __init__(self): self._freeze = True def __str__(self): - return f'AnonymousIdentityToken(PolicyId:{self.PolicyId})' + return 'AnonymousIdentityToken(' + 'PolicyId:' + str(self.PolicyId) + ')' __repr__ = __str__ class UserNameIdentityToken(FrozenClass): - """ + ''' A token representing a user identified by a user name and password. :ivar PolicyId: @@ -2189,7 +4691,7 @@ class UserNameIdentityToken(FrozenClass): :vartype Password: ByteString :ivar EncryptionAlgorithm: :vartype EncryptionAlgorithm: String - """ + ''' ua_types = [ ('PolicyId', 'String'), @@ -2206,20 +4708,23 @@ def __init__(self): self._freeze = True def __str__(self): - return f'UserNameIdentityToken(PolicyId:{self.PolicyId}, UserName:{self.UserName}, Password:{self.Password}, EncryptionAlgorithm:{self.EncryptionAlgorithm})' + return 'UserNameIdentityToken(' + 'PolicyId:' + str(self.PolicyId) + ', ' + \ + 'UserName:' + str(self.UserName) + ', ' + \ + 'Password:' + str(self.Password) + ', ' + \ + 'EncryptionAlgorithm:' + str(self.EncryptionAlgorithm) + ')' __repr__ = __str__ class X509IdentityToken(FrozenClass): - """ + ''' A token representing a user identified by an X509 certificate. :ivar PolicyId: :vartype PolicyId: String :ivar CertificateData: :vartype CertificateData: ByteString - """ + ''' ua_types = [ ('PolicyId', 'String'), @@ -2232,13 +4737,14 @@ def __init__(self): self._freeze = True def __str__(self): - return f'X509IdentityToken(PolicyId:{self.PolicyId}, CertificateData:{self.CertificateData})' + return 'X509IdentityToken(' + 'PolicyId:' + str(self.PolicyId) + ', ' + \ + 'CertificateData:' + str(self.CertificateData) + ')' __repr__ = __str__ class IssuedIdentityToken(FrozenClass): - """ + ''' A token representing a user identified by a WS-Security XML token. :ivar PolicyId: @@ -2247,7 +4753,7 @@ class IssuedIdentityToken(FrozenClass): :vartype TokenData: ByteString :ivar EncryptionAlgorithm: :vartype EncryptionAlgorithm: String - """ + ''' ua_types = [ ('PolicyId', 'String'), @@ -2262,13 +4768,15 @@ def __init__(self): self._freeze = True def __str__(self): - return f'IssuedIdentityToken(PolicyId:{self.PolicyId}, TokenData:{self.TokenData}, EncryptionAlgorithm:{self.EncryptionAlgorithm})' + return 'IssuedIdentityToken(' + 'PolicyId:' + str(self.PolicyId) + ', ' + \ + 'TokenData:' + str(self.TokenData) + ', ' + \ + 'EncryptionAlgorithm:' + str(self.EncryptionAlgorithm) + ')' __repr__ = __str__ class ActivateSessionParameters(FrozenClass): - """ + ''' :ivar ClientSignature: :vartype ClientSignature: SignatureData :ivar ClientSoftwareCertificates: @@ -2279,7 +4787,7 @@ class ActivateSessionParameters(FrozenClass): :vartype UserIdentityToken: ExtensionObject :ivar UserTokenSignature: :vartype UserTokenSignature: SignatureData - """ + ''' ua_types = [ ('ClientSignature', 'SignatureData'), @@ -2298,13 +4806,17 @@ def __init__(self): self._freeze = True def __str__(self): - return f'ActivateSessionParameters(ClientSignature:{self.ClientSignature}, ClientSoftwareCertificates:{self.ClientSoftwareCertificates}, LocaleIds:{self.LocaleIds}, UserIdentityToken:{self.UserIdentityToken}, UserTokenSignature:{self.UserTokenSignature})' + return 'ActivateSessionParameters(' + 'ClientSignature:' + str(self.ClientSignature) + ', ' + \ + 'ClientSoftwareCertificates:' + str(self.ClientSoftwareCertificates) + ', ' + \ + 'LocaleIds:' + str(self.LocaleIds) + ', ' + \ + 'UserIdentityToken:' + str(self.UserIdentityToken) + ', ' + \ + 'UserTokenSignature:' + str(self.UserTokenSignature) + ')' __repr__ = __str__ class ActivateSessionRequest(FrozenClass): - """ + ''' Activates a session with the server. :ivar TypeId: @@ -2313,7 +4825,7 @@ class ActivateSessionRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: ActivateSessionParameters - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -2328,20 +4840,22 @@ def __init__(self): self._freeze = True def __str__(self): - return f'ActivateSessionRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' + return 'ActivateSessionRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class ActivateSessionResult(FrozenClass): - """ + ''' :ivar ServerNonce: :vartype ServerNonce: ByteString :ivar Results: :vartype Results: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - """ + ''' ua_types = [ ('ServerNonce', 'ByteString'), @@ -2356,13 +4870,15 @@ def __init__(self): self._freeze = True def __str__(self): - return f'ActivateSessionResult(ServerNonce:{self.ServerNonce}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' + return 'ActivateSessionResult(' + 'ServerNonce:' + str(self.ServerNonce) + ', ' + \ + 'Results:' + str(self.Results) + ', ' + \ + 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' __repr__ = __str__ class ActivateSessionResponse(FrozenClass): - """ + ''' Activates a session with the server. :ivar TypeId: @@ -2371,7 +4887,7 @@ class ActivateSessionResponse(FrozenClass): :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: ActivateSessionResult - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -2386,13 +4902,15 @@ def __init__(self): self._freeze = True def __str__(self): - return f'ActivateSessionResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' + return 'ActivateSessionResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class CloseSessionRequest(FrozenClass): - """ + ''' Closes a session with the server. :ivar TypeId: @@ -2401,7 +4919,7 @@ class CloseSessionRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar DeleteSubscriptions: :vartype DeleteSubscriptions: Boolean - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -2416,20 +4934,22 @@ def __init__(self): self._freeze = True def __str__(self): - return f'CloseSessionRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, DeleteSubscriptions:{self.DeleteSubscriptions})' + return 'CloseSessionRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ + 'DeleteSubscriptions:' + str(self.DeleteSubscriptions) + ')' __repr__ = __str__ class CloseSessionResponse(FrozenClass): - """ + ''' Closes a session with the server. :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -2442,16 +4962,17 @@ def __init__(self): self._freeze = True def __str__(self): - return f'CloseSessionResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader})' + return 'CloseSessionResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'ResponseHeader:' + str(self.ResponseHeader) + ')' __repr__ = __str__ class CancelParameters(FrozenClass): - """ + ''' :ivar RequestHandle: :vartype RequestHandle: UInt32 - """ + ''' ua_types = [ ('RequestHandle', 'UInt32'), @@ -2462,13 +4983,13 @@ def __init__(self): self._freeze = True def __str__(self): - return f'CancelParameters(RequestHandle:{self.RequestHandle})' + return 'CancelParameters(' + 'RequestHandle:' + str(self.RequestHandle) + ')' __repr__ = __str__ class CancelRequest(FrozenClass): - """ + ''' Cancels an outstanding request. :ivar TypeId: @@ -2477,7 +4998,7 @@ class CancelRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: CancelParameters - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -2492,16 +5013,18 @@ def __init__(self): self._freeze = True def __str__(self): - return f'CancelRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' + return 'CancelRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class CancelResult(FrozenClass): - """ + ''' :ivar CancelCount: :vartype CancelCount: UInt32 - """ + ''' ua_types = [ ('CancelCount', 'UInt32'), @@ -2512,13 +5035,13 @@ def __init__(self): self._freeze = True def __str__(self): - return f'CancelResult(CancelCount:{self.CancelCount})' + return 'CancelResult(' + 'CancelCount:' + str(self.CancelCount) + ')' __repr__ = __str__ class CancelResponse(FrozenClass): - """ + ''' Cancels an outstanding request. :ivar TypeId: @@ -2527,7 +5050,7 @@ class CancelResponse(FrozenClass): :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: CancelResult - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -2542,13 +5065,15 @@ def __init__(self): self._freeze = True def __str__(self): - return f'CancelResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' + return 'CancelResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class NodeAttributes(FrozenClass): - """ + ''' The base attributes for all nodes. :ivar SpecifiedAttributes: @@ -2561,7 +5086,7 @@ class NodeAttributes(FrozenClass): :vartype WriteMask: UInt32 :ivar UserWriteMask: :vartype UserWriteMask: UInt32 - """ + ''' ua_types = [ ('SpecifiedAttributes', 'UInt32'), @@ -2580,13 +5105,17 @@ def __init__(self): self._freeze = True def __str__(self): - return f'NodeAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}, DisplayName:{self.DisplayName}, Description:{self.Description}, WriteMask:{self.WriteMask}, UserWriteMask:{self.UserWriteMask})' + return 'NodeAttributes(' + 'SpecifiedAttributes:' + str(self.SpecifiedAttributes) + ', ' + \ + 'DisplayName:' + str(self.DisplayName) + ', ' + \ + 'Description:' + str(self.Description) + ', ' + \ + 'WriteMask:' + str(self.WriteMask) + ', ' + \ + 'UserWriteMask:' + str(self.UserWriteMask) + ')' __repr__ = __str__ class ObjectAttributes(FrozenClass): - """ + ''' The attributes for an object node. :ivar SpecifiedAttributes: @@ -2601,7 +5130,7 @@ class ObjectAttributes(FrozenClass): :vartype UserWriteMask: UInt32 :ivar EventNotifier: :vartype EventNotifier: Byte - """ + ''' ua_types = [ ('SpecifiedAttributes', 'UInt32'), @@ -2622,13 +5151,18 @@ def __init__(self): self._freeze = True def __str__(self): - return f'ObjectAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}, DisplayName:{self.DisplayName}, Description:{self.Description}, WriteMask:{self.WriteMask}, UserWriteMask:{self.UserWriteMask}, EventNotifier:{self.EventNotifier})' + return 'ObjectAttributes(' + 'SpecifiedAttributes:' + str(self.SpecifiedAttributes) + ', ' + \ + 'DisplayName:' + str(self.DisplayName) + ', ' + \ + 'Description:' + str(self.Description) + ', ' + \ + 'WriteMask:' + str(self.WriteMask) + ', ' + \ + 'UserWriteMask:' + str(self.UserWriteMask) + ', ' + \ + 'EventNotifier:' + str(self.EventNotifier) + ')' __repr__ = __str__ class VariableAttributes(FrozenClass): - """ + ''' The attributes for a variable node. :ivar SpecifiedAttributes: @@ -2657,7 +5191,7 @@ class VariableAttributes(FrozenClass): :vartype MinimumSamplingInterval: Double :ivar Historizing: :vartype Historizing: Boolean - """ + ''' ua_types = [ ('SpecifiedAttributes', 'UInt32'), @@ -2692,13 +5226,25 @@ def __init__(self): self._freeze = True def __str__(self): - return f'VariableAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}, DisplayName:{self.DisplayName}, Description:{self.Description}, WriteMask:{self.WriteMask}, UserWriteMask:{self.UserWriteMask}, Value:{self.Value}, DataType:{self.DataType}, ValueRank:{self.ValueRank}, ArrayDimensions:{self.ArrayDimensions}, AccessLevel:{self.AccessLevel}, UserAccessLevel:{self.UserAccessLevel}, MinimumSamplingInterval:{self.MinimumSamplingInterval}, Historizing:{self.Historizing})' + return 'VariableAttributes(' + 'SpecifiedAttributes:' + str(self.SpecifiedAttributes) + ', ' + \ + 'DisplayName:' + str(self.DisplayName) + ', ' + \ + 'Description:' + str(self.Description) + ', ' + \ + 'WriteMask:' + str(self.WriteMask) + ', ' + \ + 'UserWriteMask:' + str(self.UserWriteMask) + ', ' + \ + 'Value:' + str(self.Value) + ', ' + \ + 'DataType:' + str(self.DataType) + ', ' + \ + 'ValueRank:' + str(self.ValueRank) + ', ' + \ + 'ArrayDimensions:' + str(self.ArrayDimensions) + ', ' + \ + 'AccessLevel:' + str(self.AccessLevel) + ', ' + \ + 'UserAccessLevel:' + str(self.UserAccessLevel) + ', ' + \ + 'MinimumSamplingInterval:' + str(self.MinimumSamplingInterval) + ', ' + \ + 'Historizing:' + str(self.Historizing) + ')' __repr__ = __str__ class MethodAttributes(FrozenClass): - """ + ''' The attributes for a method node. :ivar SpecifiedAttributes: @@ -2715,7 +5261,7 @@ class MethodAttributes(FrozenClass): :vartype Executable: Boolean :ivar UserExecutable: :vartype UserExecutable: Boolean - """ + ''' ua_types = [ ('SpecifiedAttributes', 'UInt32'), @@ -2738,13 +5284,19 @@ def __init__(self): self._freeze = True def __str__(self): - return f'MethodAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}, DisplayName:{self.DisplayName}, Description:{self.Description}, WriteMask:{self.WriteMask}, UserWriteMask:{self.UserWriteMask}, Executable:{self.Executable}, UserExecutable:{self.UserExecutable})' + return 'MethodAttributes(' + 'SpecifiedAttributes:' + str(self.SpecifiedAttributes) + ', ' + \ + 'DisplayName:' + str(self.DisplayName) + ', ' + \ + 'Description:' + str(self.Description) + ', ' + \ + 'WriteMask:' + str(self.WriteMask) + ', ' + \ + 'UserWriteMask:' + str(self.UserWriteMask) + ', ' + \ + 'Executable:' + str(self.Executable) + ', ' + \ + 'UserExecutable:' + str(self.UserExecutable) + ')' __repr__ = __str__ class ObjectTypeAttributes(FrozenClass): - """ + ''' The attributes for an object type node. :ivar SpecifiedAttributes: @@ -2759,7 +5311,7 @@ class ObjectTypeAttributes(FrozenClass): :vartype UserWriteMask: UInt32 :ivar IsAbstract: :vartype IsAbstract: Boolean - """ + ''' ua_types = [ ('SpecifiedAttributes', 'UInt32'), @@ -2780,13 +5332,18 @@ def __init__(self): self._freeze = True def __str__(self): - return f'ObjectTypeAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}, DisplayName:{self.DisplayName}, Description:{self.Description}, WriteMask:{self.WriteMask}, UserWriteMask:{self.UserWriteMask}, IsAbstract:{self.IsAbstract})' + return 'ObjectTypeAttributes(' + 'SpecifiedAttributes:' + str(self.SpecifiedAttributes) + ', ' + \ + 'DisplayName:' + str(self.DisplayName) + ', ' + \ + 'Description:' + str(self.Description) + ', ' + \ + 'WriteMask:' + str(self.WriteMask) + ', ' + \ + 'UserWriteMask:' + str(self.UserWriteMask) + ', ' + \ + 'IsAbstract:' + str(self.IsAbstract) + ')' __repr__ = __str__ class VariableTypeAttributes(FrozenClass): - """ + ''' The attributes for a variable type node. :ivar SpecifiedAttributes: @@ -2809,7 +5366,7 @@ class VariableTypeAttributes(FrozenClass): :vartype ArrayDimensions: UInt32 :ivar IsAbstract: :vartype IsAbstract: Boolean - """ + ''' ua_types = [ ('SpecifiedAttributes', 'UInt32'), @@ -2838,13 +5395,22 @@ def __init__(self): self._freeze = True def __str__(self): - return f'VariableTypeAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}, DisplayName:{self.DisplayName}, Description:{self.Description}, WriteMask:{self.WriteMask}, UserWriteMask:{self.UserWriteMask}, Value:{self.Value}, DataType:{self.DataType}, ValueRank:{self.ValueRank}, ArrayDimensions:{self.ArrayDimensions}, IsAbstract:{self.IsAbstract})' + return 'VariableTypeAttributes(' + 'SpecifiedAttributes:' + str(self.SpecifiedAttributes) + ', ' + \ + 'DisplayName:' + str(self.DisplayName) + ', ' + \ + 'Description:' + str(self.Description) + ', ' + \ + 'WriteMask:' + str(self.WriteMask) + ', ' + \ + 'UserWriteMask:' + str(self.UserWriteMask) + ', ' + \ + 'Value:' + str(self.Value) + ', ' + \ + 'DataType:' + str(self.DataType) + ', ' + \ + 'ValueRank:' + str(self.ValueRank) + ', ' + \ + 'ArrayDimensions:' + str(self.ArrayDimensions) + ', ' + \ + 'IsAbstract:' + str(self.IsAbstract) + ')' __repr__ = __str__ class ReferenceTypeAttributes(FrozenClass): - """ + ''' The attributes for a reference type node. :ivar SpecifiedAttributes: @@ -2863,7 +5429,7 @@ class ReferenceTypeAttributes(FrozenClass): :vartype Symmetric: Boolean :ivar InverseName: :vartype InverseName: LocalizedText - """ + ''' ua_types = [ ('SpecifiedAttributes', 'UInt32'), @@ -2888,13 +5454,20 @@ def __init__(self): self._freeze = True def __str__(self): - return f'ReferenceTypeAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}, DisplayName:{self.DisplayName}, Description:{self.Description}, WriteMask:{self.WriteMask}, UserWriteMask:{self.UserWriteMask}, IsAbstract:{self.IsAbstract}, Symmetric:{self.Symmetric}, InverseName:{self.InverseName})' + return 'ReferenceTypeAttributes(' + 'SpecifiedAttributes:' + str(self.SpecifiedAttributes) + ', ' + \ + 'DisplayName:' + str(self.DisplayName) + ', ' + \ + 'Description:' + str(self.Description) + ', ' + \ + 'WriteMask:' + str(self.WriteMask) + ', ' + \ + 'UserWriteMask:' + str(self.UserWriteMask) + ', ' + \ + 'IsAbstract:' + str(self.IsAbstract) + ', ' + \ + 'Symmetric:' + str(self.Symmetric) + ', ' + \ + 'InverseName:' + str(self.InverseName) + ')' __repr__ = __str__ class DataTypeAttributes(FrozenClass): - """ + ''' The attributes for a data type node. :ivar SpecifiedAttributes: @@ -2909,7 +5482,7 @@ class DataTypeAttributes(FrozenClass): :vartype UserWriteMask: UInt32 :ivar IsAbstract: :vartype IsAbstract: Boolean - """ + ''' ua_types = [ ('SpecifiedAttributes', 'UInt32'), @@ -2930,13 +5503,18 @@ def __init__(self): self._freeze = True def __str__(self): - return f'DataTypeAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}, DisplayName:{self.DisplayName}, Description:{self.Description}, WriteMask:{self.WriteMask}, UserWriteMask:{self.UserWriteMask}, IsAbstract:{self.IsAbstract})' + return 'DataTypeAttributes(' + 'SpecifiedAttributes:' + str(self.SpecifiedAttributes) + ', ' + \ + 'DisplayName:' + str(self.DisplayName) + ', ' + \ + 'Description:' + str(self.Description) + ', ' + \ + 'WriteMask:' + str(self.WriteMask) + ', ' + \ + 'UserWriteMask:' + str(self.UserWriteMask) + ', ' + \ + 'IsAbstract:' + str(self.IsAbstract) + ')' __repr__ = __str__ class ViewAttributes(FrozenClass): - """ + ''' The attributes for a view node. :ivar SpecifiedAttributes: @@ -2953,7 +5531,7 @@ class ViewAttributes(FrozenClass): :vartype ContainsNoLoops: Boolean :ivar EventNotifier: :vartype EventNotifier: Byte - """ + ''' ua_types = [ ('SpecifiedAttributes', 'UInt32'), @@ -2976,13 +5554,89 @@ def __init__(self): self._freeze = True def __str__(self): - return f'ViewAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}, DisplayName:{self.DisplayName}, Description:{self.Description}, WriteMask:{self.WriteMask}, UserWriteMask:{self.UserWriteMask}, ContainsNoLoops:{self.ContainsNoLoops}, EventNotifier:{self.EventNotifier})' + return 'ViewAttributes(' + 'SpecifiedAttributes:' + str(self.SpecifiedAttributes) + ', ' + \ + 'DisplayName:' + str(self.DisplayName) + ', ' + \ + 'Description:' + str(self.Description) + ', ' + \ + 'WriteMask:' + str(self.WriteMask) + ', ' + \ + 'UserWriteMask:' + str(self.UserWriteMask) + ', ' + \ + 'ContainsNoLoops:' + str(self.ContainsNoLoops) + ', ' + \ + 'EventNotifier:' + str(self.EventNotifier) + ')' + + __repr__ = __str__ + + +class GenericAttributeValue(FrozenClass): + ''' + :ivar AttributeId: + :vartype AttributeId: UInt32 + :ivar Value: + :vartype Value: Variant + ''' + + ua_types = [ + ('AttributeId', 'UInt32'), + ('Value', 'Variant'), + ] + + def __init__(self): + self.AttributeId = 0 + self.Value = Variant() + self._freeze = True + + def __str__(self): + return 'GenericAttributeValue(' + 'AttributeId:' + str(self.AttributeId) + ', ' + \ + 'Value:' + str(self.Value) + ')' + + __repr__ = __str__ + + +class GenericAttributes(FrozenClass): + ''' + :ivar SpecifiedAttributes: + :vartype SpecifiedAttributes: UInt32 + :ivar DisplayName: + :vartype DisplayName: LocalizedText + :ivar Description: + :vartype Description: LocalizedText + :ivar WriteMask: + :vartype WriteMask: UInt32 + :ivar UserWriteMask: + :vartype UserWriteMask: UInt32 + :ivar AttributeValues: + :vartype AttributeValues: GenericAttributeValue + ''' + + ua_types = [ + ('SpecifiedAttributes', 'UInt32'), + ('DisplayName', 'LocalizedText'), + ('Description', 'LocalizedText'), + ('WriteMask', 'UInt32'), + ('UserWriteMask', 'UInt32'), + ('AttributeValues', 'ListOfGenericAttributeValue'), + ] + + def __init__(self): + self.SpecifiedAttributes = 0 + self.DisplayName = LocalizedText() + self.Description = LocalizedText() + self.WriteMask = 0 + self.UserWriteMask = 0 + self.AttributeValues = [] + self._freeze = True + + def __str__(self): + return 'GenericAttributes(' + 'SpecifiedAttributes:' + str(self.SpecifiedAttributes) + ', ' + \ + 'DisplayName:' + str(self.DisplayName) + ', ' + \ + 'Description:' + str(self.Description) + ', ' + \ + 'WriteMask:' + str(self.WriteMask) + ', ' + \ + 'UserWriteMask:' + str(self.UserWriteMask) + ', ' + \ + 'AttributeValues:' + str(self.AttributeValues) + ')' __repr__ = __str__ class AddNodesItem(FrozenClass): - """ + ''' A request to add a node to the server address space. :ivar ParentNodeId: @@ -2999,7 +5653,7 @@ class AddNodesItem(FrozenClass): :vartype NodeAttributes: ExtensionObject :ivar TypeDefinition: :vartype TypeDefinition: ExpandedNodeId - """ + ''' ua_types = [ ('ParentNodeId', 'ExpandedNodeId'), @@ -3022,20 +5676,26 @@ def __init__(self): self._freeze = True def __str__(self): - return f'AddNodesItem(ParentNodeId:{self.ParentNodeId}, ReferenceTypeId:{self.ReferenceTypeId}, RequestedNewNodeId:{self.RequestedNewNodeId}, BrowseName:{self.BrowseName}, NodeClass:{self.NodeClass}, NodeAttributes:{self.NodeAttributes}, TypeDefinition:{self.TypeDefinition})' + return 'AddNodesItem(' + 'ParentNodeId:' + str(self.ParentNodeId) + ', ' + \ + 'ReferenceTypeId:' + str(self.ReferenceTypeId) + ', ' + \ + 'RequestedNewNodeId:' + str(self.RequestedNewNodeId) + ', ' + \ + 'BrowseName:' + str(self.BrowseName) + ', ' + \ + 'NodeClass:' + str(self.NodeClass) + ', ' + \ + 'NodeAttributes:' + str(self.NodeAttributes) + ', ' + \ + 'TypeDefinition:' + str(self.TypeDefinition) + ')' __repr__ = __str__ class AddNodesResult(FrozenClass): - """ + ''' A result of an add node operation. :ivar StatusCode: :vartype StatusCode: StatusCode :ivar AddedNodeId: :vartype AddedNodeId: NodeId - """ + ''' ua_types = [ ('StatusCode', 'StatusCode'), @@ -3048,16 +5708,17 @@ def __init__(self): self._freeze = True def __str__(self): - return f'AddNodesResult(StatusCode:{self.StatusCode}, AddedNodeId:{self.AddedNodeId})' + return 'AddNodesResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ + 'AddedNodeId:' + str(self.AddedNodeId) + ')' __repr__ = __str__ class AddNodesParameters(FrozenClass): - """ + ''' :ivar NodesToAdd: :vartype NodesToAdd: AddNodesItem - """ + ''' ua_types = [ ('NodesToAdd', 'ListOfAddNodesItem'), @@ -3068,13 +5729,13 @@ def __init__(self): self._freeze = True def __str__(self): - return f'AddNodesParameters(NodesToAdd:{self.NodesToAdd})' + return 'AddNodesParameters(' + 'NodesToAdd:' + str(self.NodesToAdd) + ')' __repr__ = __str__ class AddNodesRequest(FrozenClass): - """ + ''' Adds one or more nodes to the server address space. :ivar TypeId: @@ -3083,7 +5744,7 @@ class AddNodesRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: AddNodesParameters - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -3098,13 +5759,15 @@ def __init__(self): self._freeze = True def __str__(self): - return f'AddNodesRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' + return 'AddNodesRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class AddNodesResponse(FrozenClass): - """ + ''' Adds one or more nodes to the server address space. :ivar TypeId: @@ -3115,7 +5778,7 @@ class AddNodesResponse(FrozenClass): :vartype Results: AddNodesResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -3132,13 +5795,16 @@ def __init__(self): self._freeze = True def __str__(self): - return f'AddNodesResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' + return 'AddNodesResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ + 'Results:' + str(self.Results) + ', ' + \ + 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' __repr__ = __str__ class AddReferencesItem(FrozenClass): - """ + ''' A request to add a reference to the server address space. :ivar SourceNodeId: @@ -3153,7 +5819,7 @@ class AddReferencesItem(FrozenClass): :vartype TargetNodeId: ExpandedNodeId :ivar TargetNodeClass: :vartype TargetNodeClass: NodeClass - """ + ''' ua_types = [ ('SourceNodeId', 'NodeId'), @@ -3174,16 +5840,21 @@ def __init__(self): self._freeze = True def __str__(self): - return f'AddReferencesItem(SourceNodeId:{self.SourceNodeId}, ReferenceTypeId:{self.ReferenceTypeId}, IsForward:{self.IsForward}, TargetServerUri:{self.TargetServerUri}, TargetNodeId:{self.TargetNodeId}, TargetNodeClass:{self.TargetNodeClass})' + return 'AddReferencesItem(' + 'SourceNodeId:' + str(self.SourceNodeId) + ', ' + \ + 'ReferenceTypeId:' + str(self.ReferenceTypeId) + ', ' + \ + 'IsForward:' + str(self.IsForward) + ', ' + \ + 'TargetServerUri:' + str(self.TargetServerUri) + ', ' + \ + 'TargetNodeId:' + str(self.TargetNodeId) + ', ' + \ + 'TargetNodeClass:' + str(self.TargetNodeClass) + ')' __repr__ = __str__ class AddReferencesParameters(FrozenClass): - """ + ''' :ivar ReferencesToAdd: :vartype ReferencesToAdd: AddReferencesItem - """ + ''' ua_types = [ ('ReferencesToAdd', 'ListOfAddReferencesItem'), @@ -3194,13 +5865,13 @@ def __init__(self): self._freeze = True def __str__(self): - return f'AddReferencesParameters(ReferencesToAdd:{self.ReferencesToAdd})' + return 'AddReferencesParameters(' + 'ReferencesToAdd:' + str(self.ReferencesToAdd) + ')' __repr__ = __str__ class AddReferencesRequest(FrozenClass): - """ + ''' Adds one or more references to the server address space. :ivar TypeId: @@ -3209,7 +5880,7 @@ class AddReferencesRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: AddReferencesParameters - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -3224,13 +5895,15 @@ def __init__(self): self._freeze = True def __str__(self): - return f'AddReferencesRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' + return 'AddReferencesRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class AddReferencesResponse(FrozenClass): - """ + ''' Adds one or more references to the server address space. :ivar TypeId: @@ -3241,7 +5914,7 @@ class AddReferencesResponse(FrozenClass): :vartype Results: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -3258,20 +5931,23 @@ def __init__(self): self._freeze = True def __str__(self): - return f'AddReferencesResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' + return 'AddReferencesResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ + 'Results:' + str(self.Results) + ', ' + \ + 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' __repr__ = __str__ class DeleteNodesItem(FrozenClass): - """ + ''' A request to delete a node to the server address space. :ivar NodeId: :vartype NodeId: NodeId :ivar DeleteTargetReferences: :vartype DeleteTargetReferences: Boolean - """ + ''' ua_types = [ ('NodeId', 'NodeId'), @@ -3284,16 +5960,17 @@ def __init__(self): self._freeze = True def __str__(self): - return f'DeleteNodesItem(NodeId:{self.NodeId}, DeleteTargetReferences:{self.DeleteTargetReferences})' + return 'DeleteNodesItem(' + 'NodeId:' + str(self.NodeId) + ', ' + \ + 'DeleteTargetReferences:' + str(self.DeleteTargetReferences) + ')' __repr__ = __str__ class DeleteNodesParameters(FrozenClass): - """ + ''' :ivar NodesToDelete: :vartype NodesToDelete: DeleteNodesItem - """ + ''' ua_types = [ ('NodesToDelete', 'ListOfDeleteNodesItem'), @@ -3304,13 +5981,13 @@ def __init__(self): self._freeze = True def __str__(self): - return f'DeleteNodesParameters(NodesToDelete:{self.NodesToDelete})' + return 'DeleteNodesParameters(' + 'NodesToDelete:' + str(self.NodesToDelete) + ')' __repr__ = __str__ class DeleteNodesRequest(FrozenClass): - """ + ''' Delete one or more nodes from the server address space. :ivar TypeId: @@ -3319,7 +5996,7 @@ class DeleteNodesRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: DeleteNodesParameters - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -3334,13 +6011,15 @@ def __init__(self): self._freeze = True def __str__(self): - return f'DeleteNodesRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' + return 'DeleteNodesRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class DeleteNodesResponse(FrozenClass): - """ + ''' Delete one or more nodes from the server address space. :ivar TypeId: @@ -3351,7 +6030,7 @@ class DeleteNodesResponse(FrozenClass): :vartype Results: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -3368,13 +6047,16 @@ def __init__(self): self._freeze = True def __str__(self): - return f'DeleteNodesResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' + return 'DeleteNodesResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ + 'Results:' + str(self.Results) + ', ' + \ + 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' __repr__ = __str__ class DeleteReferencesItem(FrozenClass): - """ + ''' A request to delete a node from the server address space. :ivar SourceNodeId: @@ -3387,7 +6069,7 @@ class DeleteReferencesItem(FrozenClass): :vartype TargetNodeId: ExpandedNodeId :ivar DeleteBidirectional: :vartype DeleteBidirectional: Boolean - """ + ''' ua_types = [ ('SourceNodeId', 'NodeId'), @@ -3406,16 +6088,20 @@ def __init__(self): self._freeze = True def __str__(self): - return f'DeleteReferencesItem(SourceNodeId:{self.SourceNodeId}, ReferenceTypeId:{self.ReferenceTypeId}, IsForward:{self.IsForward}, TargetNodeId:{self.TargetNodeId}, DeleteBidirectional:{self.DeleteBidirectional})' + return 'DeleteReferencesItem(' + 'SourceNodeId:' + str(self.SourceNodeId) + ', ' + \ + 'ReferenceTypeId:' + str(self.ReferenceTypeId) + ', ' + \ + 'IsForward:' + str(self.IsForward) + ', ' + \ + 'TargetNodeId:' + str(self.TargetNodeId) + ', ' + \ + 'DeleteBidirectional:' + str(self.DeleteBidirectional) + ')' __repr__ = __str__ class DeleteReferencesParameters(FrozenClass): - """ + ''' :ivar ReferencesToDelete: :vartype ReferencesToDelete: DeleteReferencesItem - """ + ''' ua_types = [ ('ReferencesToDelete', 'ListOfDeleteReferencesItem'), @@ -3426,13 +6112,13 @@ def __init__(self): self._freeze = True def __str__(self): - return f'DeleteReferencesParameters(ReferencesToDelete:{self.ReferencesToDelete})' + return 'DeleteReferencesParameters(' + 'ReferencesToDelete:' + str(self.ReferencesToDelete) + ')' __repr__ = __str__ class DeleteReferencesRequest(FrozenClass): - """ + ''' Delete one or more references from the server address space. :ivar TypeId: @@ -3441,7 +6127,7 @@ class DeleteReferencesRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: DeleteReferencesParameters - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -3456,18 +6142,20 @@ def __init__(self): self._freeze = True def __str__(self): - return f'DeleteReferencesRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' + return 'DeleteReferencesRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class DeleteReferencesResult(FrozenClass): - """ + ''' :ivar Results: :vartype Results: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - """ + ''' ua_types = [ ('Results', 'ListOfStatusCode'), @@ -3480,13 +6168,14 @@ def __init__(self): self._freeze = True def __str__(self): - return f'DeleteReferencesResult(Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' + return 'DeleteReferencesResult(' + 'Results:' + str(self.Results) + ', ' + \ + 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' __repr__ = __str__ class DeleteReferencesResponse(FrozenClass): - """ + ''' Delete one or more references from the server address space. :ivar TypeId: @@ -3495,7 +6184,7 @@ class DeleteReferencesResponse(FrozenClass): :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: DeleteReferencesResult - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -3510,13 +6199,15 @@ def __init__(self): self._freeze = True def __str__(self): - return f'DeleteReferencesResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' + return 'DeleteReferencesResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class ViewDescription(FrozenClass): - """ + ''' The view to browse. :ivar ViewId: @@ -3525,7 +6216,7 @@ class ViewDescription(FrozenClass): :vartype Timestamp: DateTime :ivar ViewVersion: :vartype ViewVersion: UInt32 - """ + ''' ua_types = [ ('ViewId', 'NodeId'), @@ -3540,13 +6231,15 @@ def __init__(self): self._freeze = True def __str__(self): - return f'ViewDescription(ViewId:{self.ViewId}, Timestamp:{self.Timestamp}, ViewVersion:{self.ViewVersion})' + return 'ViewDescription(' + 'ViewId:' + str(self.ViewId) + ', ' + \ + 'Timestamp:' + str(self.Timestamp) + ', ' + \ + 'ViewVersion:' + str(self.ViewVersion) + ')' __repr__ = __str__ class BrowseDescription(FrozenClass): - """ + ''' A request to browse the the references from a node. :ivar NodeId: @@ -3561,7 +6254,7 @@ class BrowseDescription(FrozenClass): :vartype NodeClassMask: UInt32 :ivar ResultMask: :vartype ResultMask: UInt32 - """ + ''' ua_types = [ ('NodeId', 'NodeId'), @@ -3582,13 +6275,18 @@ def __init__(self): self._freeze = True def __str__(self): - return f'BrowseDescription(NodeId:{self.NodeId}, BrowseDirection:{self.BrowseDirection}, ReferenceTypeId:{self.ReferenceTypeId}, IncludeSubtypes:{self.IncludeSubtypes}, NodeClassMask:{self.NodeClassMask}, ResultMask:{self.ResultMask})' + return 'BrowseDescription(' + 'NodeId:' + str(self.NodeId) + ', ' + \ + 'BrowseDirection:' + str(self.BrowseDirection) + ', ' + \ + 'ReferenceTypeId:' + str(self.ReferenceTypeId) + ', ' + \ + 'IncludeSubtypes:' + str(self.IncludeSubtypes) + ', ' + \ + 'NodeClassMask:' + str(self.NodeClassMask) + ', ' + \ + 'ResultMask:' + str(self.ResultMask) + ')' __repr__ = __str__ class ReferenceDescription(FrozenClass): - """ + ''' The description of a reference. :ivar ReferenceTypeId: @@ -3605,7 +6303,7 @@ class ReferenceDescription(FrozenClass): :vartype NodeClass: NodeClass :ivar TypeDefinition: :vartype TypeDefinition: ExpandedNodeId - """ + ''' ua_types = [ ('ReferenceTypeId', 'NodeId'), @@ -3628,13 +6326,19 @@ def __init__(self): self._freeze = True def __str__(self): - return f'ReferenceDescription(ReferenceTypeId:{self.ReferenceTypeId}, IsForward:{self.IsForward}, NodeId:{self.NodeId}, BrowseName:{self.BrowseName}, DisplayName:{self.DisplayName}, NodeClass:{self.NodeClass}, TypeDefinition:{self.TypeDefinition})' + return 'ReferenceDescription(' + 'ReferenceTypeId:' + str(self.ReferenceTypeId) + ', ' + \ + 'IsForward:' + str(self.IsForward) + ', ' + \ + 'NodeId:' + str(self.NodeId) + ', ' + \ + 'BrowseName:' + str(self.BrowseName) + ', ' + \ + 'DisplayName:' + str(self.DisplayName) + ', ' + \ + 'NodeClass:' + str(self.NodeClass) + ', ' + \ + 'TypeDefinition:' + str(self.TypeDefinition) + ')' __repr__ = __str__ class BrowseResult(FrozenClass): - """ + ''' The result of a browse operation. :ivar StatusCode: @@ -3643,7 +6347,7 @@ class BrowseResult(FrozenClass): :vartype ContinuationPoint: ByteString :ivar References: :vartype References: ReferenceDescription - """ + ''' ua_types = [ ('StatusCode', 'StatusCode'), @@ -3658,20 +6362,22 @@ def __init__(self): self._freeze = True def __str__(self): - return f'BrowseResult(StatusCode:{self.StatusCode}, ContinuationPoint:{self.ContinuationPoint}, References:{self.References})' + return 'BrowseResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ + 'ContinuationPoint:' + str(self.ContinuationPoint) + ', ' + \ + 'References:' + str(self.References) + ')' __repr__ = __str__ class BrowseParameters(FrozenClass): - """ + ''' :ivar View: :vartype View: ViewDescription :ivar RequestedMaxReferencesPerNode: :vartype RequestedMaxReferencesPerNode: UInt32 :ivar NodesToBrowse: :vartype NodesToBrowse: BrowseDescription - """ + ''' ua_types = [ ('View', 'ViewDescription'), @@ -3686,13 +6392,15 @@ def __init__(self): self._freeze = True def __str__(self): - return f'BrowseParameters(View:{self.View}, RequestedMaxReferencesPerNode:{self.RequestedMaxReferencesPerNode}, NodesToBrowse:{self.NodesToBrowse})' + return 'BrowseParameters(' + 'View:' + str(self.View) + ', ' + \ + 'RequestedMaxReferencesPerNode:' + str(self.RequestedMaxReferencesPerNode) + ', ' + \ + 'NodesToBrowse:' + str(self.NodesToBrowse) + ')' __repr__ = __str__ class BrowseRequest(FrozenClass): - """ + ''' Browse the references for one or more nodes from the server address space. :ivar TypeId: @@ -3701,7 +6409,7 @@ class BrowseRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: BrowseParameters - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -3716,13 +6424,15 @@ def __init__(self): self._freeze = True def __str__(self): - return f'BrowseRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' + return 'BrowseRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class BrowseResponse(FrozenClass): - """ + ''' Browse the references for one or more nodes from the server address space. :ivar TypeId: @@ -3733,7 +6443,7 @@ class BrowseResponse(FrozenClass): :vartype Results: BrowseResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -3750,18 +6460,21 @@ def __init__(self): self._freeze = True def __str__(self): - return f'BrowseResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' + return 'BrowseResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ + 'Results:' + str(self.Results) + ', ' + \ + 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' __repr__ = __str__ class BrowseNextParameters(FrozenClass): - """ + ''' :ivar ReleaseContinuationPoints: :vartype ReleaseContinuationPoints: Boolean :ivar ContinuationPoints: :vartype ContinuationPoints: ByteString - """ + ''' ua_types = [ ('ReleaseContinuationPoints', 'Boolean'), @@ -3774,13 +6487,14 @@ def __init__(self): self._freeze = True def __str__(self): - return f'BrowseNextParameters(ReleaseContinuationPoints:{self.ReleaseContinuationPoints}, ContinuationPoints:{self.ContinuationPoints})' + return 'BrowseNextParameters(' + 'ReleaseContinuationPoints:' + str(self.ReleaseContinuationPoints) + ', ' + \ + 'ContinuationPoints:' + str(self.ContinuationPoints) + ')' __repr__ = __str__ class BrowseNextRequest(FrozenClass): - """ + ''' Continues one or more browse operations. :ivar TypeId: @@ -3789,7 +6503,7 @@ class BrowseNextRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: BrowseNextParameters - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -3804,18 +6518,20 @@ def __init__(self): self._freeze = True def __str__(self): - return f'BrowseNextRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' + return 'BrowseNextRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class BrowseNextResult(FrozenClass): - """ + ''' :ivar Results: :vartype Results: BrowseResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - """ + ''' ua_types = [ ('Results', 'ListOfBrowseResult'), @@ -3828,13 +6544,14 @@ def __init__(self): self._freeze = True def __str__(self): - return f'BrowseNextResult(Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' + return 'BrowseNextResult(' + 'Results:' + str(self.Results) + ', ' + \ + 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' __repr__ = __str__ class BrowseNextResponse(FrozenClass): - """ + ''' Continues one or more browse operations. :ivar TypeId: @@ -3843,7 +6560,7 @@ class BrowseNextResponse(FrozenClass): :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: BrowseNextResult - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -3858,13 +6575,15 @@ def __init__(self): self._freeze = True def __str__(self): - return f'BrowseNextResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' + return 'BrowseNextResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class RelativePathElement(FrozenClass): - """ + ''' An element in a relative path. :ivar ReferenceTypeId: @@ -3875,7 +6594,7 @@ class RelativePathElement(FrozenClass): :vartype IncludeSubtypes: Boolean :ivar TargetName: :vartype TargetName: QualifiedName - """ + ''' ua_types = [ ('ReferenceTypeId', 'NodeId'), @@ -3892,18 +6611,21 @@ def __init__(self): self._freeze = True def __str__(self): - return f'RelativePathElement(ReferenceTypeId:{self.ReferenceTypeId}, IsInverse:{self.IsInverse}, IncludeSubtypes:{self.IncludeSubtypes}, TargetName:{self.TargetName})' + return 'RelativePathElement(' + 'ReferenceTypeId:' + str(self.ReferenceTypeId) + ', ' + \ + 'IsInverse:' + str(self.IsInverse) + ', ' + \ + 'IncludeSubtypes:' + str(self.IncludeSubtypes) + ', ' + \ + 'TargetName:' + str(self.TargetName) + ')' __repr__ = __str__ class RelativePath(FrozenClass): - """ + ''' A relative path constructed from reference types and browse names. :ivar Elements: :vartype Elements: RelativePathElement - """ + ''' ua_types = [ ('Elements', 'ListOfRelativePathElement'), @@ -3914,20 +6636,20 @@ def __init__(self): self._freeze = True def __str__(self): - return f'RelativePath(Elements:{self.Elements})' + return 'RelativePath(' + 'Elements:' + str(self.Elements) + ')' __repr__ = __str__ class BrowsePath(FrozenClass): - """ + ''' A request to translate a path into a node id. :ivar StartingNode: :vartype StartingNode: NodeId :ivar RelativePath: :vartype RelativePath: RelativePath - """ + ''' ua_types = [ ('StartingNode', 'NodeId'), @@ -3940,20 +6662,21 @@ def __init__(self): self._freeze = True def __str__(self): - return f'BrowsePath(StartingNode:{self.StartingNode}, RelativePath:{self.RelativePath})' + return 'BrowsePath(' + 'StartingNode:' + str(self.StartingNode) + ', ' + \ + 'RelativePath:' + str(self.RelativePath) + ')' __repr__ = __str__ class BrowsePathTarget(FrozenClass): - """ + ''' The target of the translated path. :ivar TargetId: :vartype TargetId: ExpandedNodeId :ivar RemainingPathIndex: :vartype RemainingPathIndex: UInt32 - """ + ''' ua_types = [ ('TargetId', 'ExpandedNodeId'), @@ -3966,20 +6689,21 @@ def __init__(self): self._freeze = True def __str__(self): - return f'BrowsePathTarget(TargetId:{self.TargetId}, RemainingPathIndex:{self.RemainingPathIndex})' + return 'BrowsePathTarget(' + 'TargetId:' + str(self.TargetId) + ', ' + \ + 'RemainingPathIndex:' + str(self.RemainingPathIndex) + ')' __repr__ = __str__ class BrowsePathResult(FrozenClass): - """ + ''' The result of a translate opearation. :ivar StatusCode: :vartype StatusCode: StatusCode :ivar Targets: :vartype Targets: BrowsePathTarget - """ + ''' ua_types = [ ('StatusCode', 'StatusCode'), @@ -3992,16 +6716,17 @@ def __init__(self): self._freeze = True def __str__(self): - return f'BrowsePathResult(StatusCode:{self.StatusCode}, Targets:{self.Targets})' + return 'BrowsePathResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ + 'Targets:' + str(self.Targets) + ')' __repr__ = __str__ class TranslateBrowsePathsToNodeIdsParameters(FrozenClass): - """ + ''' :ivar BrowsePaths: :vartype BrowsePaths: BrowsePath - """ + ''' ua_types = [ ('BrowsePaths', 'ListOfBrowsePath'), @@ -4012,13 +6737,13 @@ def __init__(self): self._freeze = True def __str__(self): - return f'TranslateBrowsePathsToNodeIdsParameters(BrowsePaths:{self.BrowsePaths})' + return 'TranslateBrowsePathsToNodeIdsParameters(' + 'BrowsePaths:' + str(self.BrowsePaths) + ')' __repr__ = __str__ class TranslateBrowsePathsToNodeIdsRequest(FrozenClass): - """ + ''' Translates one or more paths in the server address space. :ivar TypeId: @@ -4027,7 +6752,7 @@ class TranslateBrowsePathsToNodeIdsRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: TranslateBrowsePathsToNodeIdsParameters - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -4042,13 +6767,15 @@ def __init__(self): self._freeze = True def __str__(self): - return f'TranslateBrowsePathsToNodeIdsRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' + return 'TranslateBrowsePathsToNodeIdsRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class TranslateBrowsePathsToNodeIdsResponse(FrozenClass): - """ + ''' Translates one or more paths in the server address space. :ivar TypeId: @@ -4059,7 +6786,7 @@ class TranslateBrowsePathsToNodeIdsResponse(FrozenClass): :vartype Results: BrowsePathResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -4076,16 +6803,19 @@ def __init__(self): self._freeze = True def __str__(self): - return f'TranslateBrowsePathsToNodeIdsResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' + return 'TranslateBrowsePathsToNodeIdsResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ + 'Results:' + str(self.Results) + ', ' + \ + 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' __repr__ = __str__ class RegisterNodesParameters(FrozenClass): - """ + ''' :ivar NodesToRegister: :vartype NodesToRegister: NodeId - """ + ''' ua_types = [ ('NodesToRegister', 'ListOfNodeId'), @@ -4096,13 +6826,13 @@ def __init__(self): self._freeze = True def __str__(self): - return f'RegisterNodesParameters(NodesToRegister:{self.NodesToRegister})' + return 'RegisterNodesParameters(' + 'NodesToRegister:' + str(self.NodesToRegister) + ')' __repr__ = __str__ class RegisterNodesRequest(FrozenClass): - """ + ''' Registers one or more nodes for repeated use within a session. :ivar TypeId: @@ -4111,7 +6841,7 @@ class RegisterNodesRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: RegisterNodesParameters - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -4126,16 +6856,18 @@ def __init__(self): self._freeze = True def __str__(self): - return f'RegisterNodesRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' + return 'RegisterNodesRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class RegisterNodesResult(FrozenClass): - """ + ''' :ivar RegisteredNodeIds: :vartype RegisteredNodeIds: NodeId - """ + ''' ua_types = [ ('RegisteredNodeIds', 'ListOfNodeId'), @@ -4146,13 +6878,13 @@ def __init__(self): self._freeze = True def __str__(self): - return f'RegisterNodesResult(RegisteredNodeIds:{self.RegisteredNodeIds})' + return 'RegisterNodesResult(' + 'RegisteredNodeIds:' + str(self.RegisteredNodeIds) + ')' __repr__ = __str__ class RegisterNodesResponse(FrozenClass): - """ + ''' Registers one or more nodes for repeated use within a session. :ivar TypeId: @@ -4161,7 +6893,7 @@ class RegisterNodesResponse(FrozenClass): :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: RegisterNodesResult - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -4176,16 +6908,18 @@ def __init__(self): self._freeze = True def __str__(self): - return f'RegisterNodesResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' + return 'RegisterNodesResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class UnregisterNodesParameters(FrozenClass): - """ + ''' :ivar NodesToUnregister: :vartype NodesToUnregister: NodeId - """ + ''' ua_types = [ ('NodesToUnregister', 'ListOfNodeId'), @@ -4196,13 +6930,13 @@ def __init__(self): self._freeze = True def __str__(self): - return f'UnregisterNodesParameters(NodesToUnregister:{self.NodesToUnregister})' + return 'UnregisterNodesParameters(' + 'NodesToUnregister:' + str(self.NodesToUnregister) + ')' __repr__ = __str__ class UnregisterNodesRequest(FrozenClass): - """ + ''' Unregisters one or more previously registered nodes. :ivar TypeId: @@ -4211,7 +6945,7 @@ class UnregisterNodesRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: UnregisterNodesParameters - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -4226,20 +6960,22 @@ def __init__(self): self._freeze = True def __str__(self): - return f'UnregisterNodesRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' + return 'UnregisterNodesRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class UnregisterNodesResponse(FrozenClass): - """ + ''' Unregisters one or more previously registered nodes. :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -4252,13 +6988,14 @@ def __init__(self): self._freeze = True def __str__(self): - return f'UnregisterNodesResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader})' + return 'UnregisterNodesResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'ResponseHeader:' + str(self.ResponseHeader) + ')' __repr__ = __str__ class EndpointConfiguration(FrozenClass): - """ + ''' :ivar OperationTimeout: :vartype OperationTimeout: Int32 :ivar UseBinaryEncoding: @@ -4277,7 +7014,7 @@ class EndpointConfiguration(FrozenClass): :vartype ChannelLifetime: Int32 :ivar SecurityTokenLifetime: :vartype SecurityTokenLifetime: Int32 - """ + ''' ua_types = [ ('OperationTimeout', 'Int32'), @@ -4304,20 +7041,28 @@ def __init__(self): self._freeze = True def __str__(self): - return f'EndpointConfiguration(OperationTimeout:{self.OperationTimeout}, UseBinaryEncoding:{self.UseBinaryEncoding}, MaxStringLength:{self.MaxStringLength}, MaxByteStringLength:{self.MaxByteStringLength}, MaxArrayLength:{self.MaxArrayLength}, MaxMessageSize:{self.MaxMessageSize}, MaxBufferSize:{self.MaxBufferSize}, ChannelLifetime:{self.ChannelLifetime}, SecurityTokenLifetime:{self.SecurityTokenLifetime})' + return 'EndpointConfiguration(' + 'OperationTimeout:' + str(self.OperationTimeout) + ', ' + \ + 'UseBinaryEncoding:' + str(self.UseBinaryEncoding) + ', ' + \ + 'MaxStringLength:' + str(self.MaxStringLength) + ', ' + \ + 'MaxByteStringLength:' + str(self.MaxByteStringLength) + ', ' + \ + 'MaxArrayLength:' + str(self.MaxArrayLength) + ', ' + \ + 'MaxMessageSize:' + str(self.MaxMessageSize) + ', ' + \ + 'MaxBufferSize:' + str(self.MaxBufferSize) + ', ' + \ + 'ChannelLifetime:' + str(self.ChannelLifetime) + ', ' + \ + 'SecurityTokenLifetime:' + str(self.SecurityTokenLifetime) + ')' __repr__ = __str__ class QueryDataDescription(FrozenClass): - """ + ''' :ivar RelativePath: :vartype RelativePath: RelativePath :ivar AttributeId: :vartype AttributeId: UInt32 :ivar IndexRange: :vartype IndexRange: String - """ + ''' ua_types = [ ('RelativePath', 'RelativePath'), @@ -4332,20 +7077,22 @@ def __init__(self): self._freeze = True def __str__(self): - return f'QueryDataDescription(RelativePath:{self.RelativePath}, AttributeId:{self.AttributeId}, IndexRange:{self.IndexRange})' + return 'QueryDataDescription(' + 'RelativePath:' + str(self.RelativePath) + ', ' + \ + 'AttributeId:' + str(self.AttributeId) + ', ' + \ + 'IndexRange:' + str(self.IndexRange) + ')' __repr__ = __str__ class NodeTypeDescription(FrozenClass): - """ + ''' :ivar TypeDefinitionNode: :vartype TypeDefinitionNode: ExpandedNodeId :ivar IncludeSubTypes: :vartype IncludeSubTypes: Boolean :ivar DataToReturn: :vartype DataToReturn: QueryDataDescription - """ + ''' ua_types = [ ('TypeDefinitionNode', 'ExpandedNodeId'), @@ -4360,20 +7107,22 @@ def __init__(self): self._freeze = True def __str__(self): - return f'NodeTypeDescription(TypeDefinitionNode:{self.TypeDefinitionNode}, IncludeSubTypes:{self.IncludeSubTypes}, DataToReturn:{self.DataToReturn})' + return 'NodeTypeDescription(' + 'TypeDefinitionNode:' + str(self.TypeDefinitionNode) + ', ' + \ + 'IncludeSubTypes:' + str(self.IncludeSubTypes) + ', ' + \ + 'DataToReturn:' + str(self.DataToReturn) + ')' __repr__ = __str__ class QueryDataSet(FrozenClass): - """ + ''' :ivar NodeId: :vartype NodeId: ExpandedNodeId :ivar TypeDefinitionNode: :vartype TypeDefinitionNode: ExpandedNodeId :ivar Values: :vartype Values: Variant - """ + ''' ua_types = [ ('NodeId', 'ExpandedNodeId'), @@ -4388,13 +7137,15 @@ def __init__(self): self._freeze = True def __str__(self): - return f'QueryDataSet(NodeId:{self.NodeId}, TypeDefinitionNode:{self.TypeDefinitionNode}, Values:{self.Values})' + return 'QueryDataSet(' + 'NodeId:' + str(self.NodeId) + ', ' + \ + 'TypeDefinitionNode:' + str(self.TypeDefinitionNode) + ', ' + \ + 'Values:' + str(self.Values) + ')' __repr__ = __str__ class NodeReference(FrozenClass): - """ + ''' :ivar NodeId: :vartype NodeId: NodeId :ivar ReferenceTypeId: @@ -4403,7 +7154,7 @@ class NodeReference(FrozenClass): :vartype IsForward: Boolean :ivar ReferencedNodeIds: :vartype ReferencedNodeIds: NodeId - """ + ''' ua_types = [ ('NodeId', 'NodeId'), @@ -4420,18 +7171,21 @@ def __init__(self): self._freeze = True def __str__(self): - return f'NodeReference(NodeId:{self.NodeId}, ReferenceTypeId:{self.ReferenceTypeId}, IsForward:{self.IsForward}, ReferencedNodeIds:{self.ReferencedNodeIds})' + return 'NodeReference(' + 'NodeId:' + str(self.NodeId) + ', ' + \ + 'ReferenceTypeId:' + str(self.ReferenceTypeId) + ', ' + \ + 'IsForward:' + str(self.IsForward) + ', ' + \ + 'ReferencedNodeIds:' + str(self.ReferencedNodeIds) + ')' __repr__ = __str__ class ContentFilterElement(FrozenClass): - """ + ''' :ivar FilterOperator: :vartype FilterOperator: FilterOperator :ivar FilterOperands: :vartype FilterOperands: ExtensionObject - """ + ''' ua_types = [ ('FilterOperator', 'FilterOperator'), @@ -4444,16 +7198,17 @@ def __init__(self): self._freeze = True def __str__(self): - return f'ContentFilterElement(FilterOperator:{self.FilterOperator}, FilterOperands:{self.FilterOperands})' + return 'ContentFilterElement(' + 'FilterOperator:' + str(self.FilterOperator) + ', ' + \ + 'FilterOperands:' + str(self.FilterOperands) + ')' __repr__ = __str__ class ContentFilter(FrozenClass): - """ + ''' :ivar Elements: :vartype Elements: ContentFilterElement - """ + ''' ua_types = [ ('Elements', 'ListOfContentFilterElement'), @@ -4464,16 +7219,16 @@ def __init__(self): self._freeze = True def __str__(self): - return f'ContentFilter(Elements:{self.Elements})' + return 'ContentFilter(' + 'Elements:' + str(self.Elements) + ')' __repr__ = __str__ class ElementOperand(FrozenClass): - """ + ''' :ivar Index: :vartype Index: UInt32 - """ + ''' ua_types = [ ('Index', 'UInt32'), @@ -4484,16 +7239,16 @@ def __init__(self): self._freeze = True def __str__(self): - return f'ElementOperand(Index:{self.Index})' + return 'ElementOperand(' + 'Index:' + str(self.Index) + ')' __repr__ = __str__ class LiteralOperand(FrozenClass): - """ + ''' :ivar Value: :vartype Value: Variant - """ + ''' ua_types = [ ('Value', 'Variant'), @@ -4504,13 +7259,13 @@ def __init__(self): self._freeze = True def __str__(self): - return f'LiteralOperand(Value:{self.Value})' + return 'LiteralOperand(' + 'Value:' + str(self.Value) + ')' __repr__ = __str__ class AttributeOperand(FrozenClass): - """ + ''' :ivar NodeId: :vartype NodeId: NodeId :ivar Alias: @@ -4521,7 +7276,7 @@ class AttributeOperand(FrozenClass): :vartype AttributeId: UInt32 :ivar IndexRange: :vartype IndexRange: String - """ + ''' ua_types = [ ('NodeId', 'NodeId'), @@ -4540,13 +7295,17 @@ def __init__(self): self._freeze = True def __str__(self): - return f'AttributeOperand(NodeId:{self.NodeId}, Alias:{self.Alias}, BrowsePath:{self.BrowsePath}, AttributeId:{self.AttributeId}, IndexRange:{self.IndexRange})' + return 'AttributeOperand(' + 'NodeId:' + str(self.NodeId) + ', ' + \ + 'Alias:' + str(self.Alias) + ', ' + \ + 'BrowsePath:' + str(self.BrowsePath) + ', ' + \ + 'AttributeId:' + str(self.AttributeId) + ', ' + \ + 'IndexRange:' + str(self.IndexRange) + ')' __repr__ = __str__ class SimpleAttributeOperand(FrozenClass): - """ + ''' :ivar TypeDefinitionId: :vartype TypeDefinitionId: NodeId :ivar BrowsePath: @@ -4555,7 +7314,7 @@ class SimpleAttributeOperand(FrozenClass): :vartype AttributeId: UInt32 :ivar IndexRange: :vartype IndexRange: String - """ + ''' ua_types = [ ('TypeDefinitionId', 'NodeId'), @@ -4572,20 +7331,23 @@ def __init__(self): self._freeze = True def __str__(self): - return f'SimpleAttributeOperand(TypeDefinitionId:{self.TypeDefinitionId}, BrowsePath:{self.BrowsePath}, AttributeId:{self.AttributeId}, IndexRange:{self.IndexRange})' + return 'SimpleAttributeOperand(' + 'TypeDefinitionId:' + str(self.TypeDefinitionId) + ', ' + \ + 'BrowsePath:' + str(self.BrowsePath) + ', ' + \ + 'AttributeId:' + str(self.AttributeId) + ', ' + \ + 'IndexRange:' + str(self.IndexRange) + ')' __repr__ = __str__ class ContentFilterElementResult(FrozenClass): - """ + ''' :ivar StatusCode: :vartype StatusCode: StatusCode :ivar OperandStatusCodes: :vartype OperandStatusCodes: StatusCode :ivar OperandDiagnosticInfos: :vartype OperandDiagnosticInfos: DiagnosticInfo - """ + ''' ua_types = [ ('StatusCode', 'StatusCode'), @@ -4600,18 +7362,20 @@ def __init__(self): self._freeze = True def __str__(self): - return f'ContentFilterElementResult(StatusCode:{self.StatusCode}, OperandStatusCodes:{self.OperandStatusCodes}, OperandDiagnosticInfos:{self.OperandDiagnosticInfos})' + return 'ContentFilterElementResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ + 'OperandStatusCodes:' + str(self.OperandStatusCodes) + ', ' + \ + 'OperandDiagnosticInfos:' + str(self.OperandDiagnosticInfos) + ')' __repr__ = __str__ class ContentFilterResult(FrozenClass): - """ + ''' :ivar ElementResults: :vartype ElementResults: ContentFilterElementResult :ivar ElementDiagnosticInfos: :vartype ElementDiagnosticInfos: DiagnosticInfo - """ + ''' ua_types = [ ('ElementResults', 'ListOfContentFilterElementResult'), @@ -4624,20 +7388,21 @@ def __init__(self): self._freeze = True def __str__(self): - return f'ContentFilterResult(ElementResults:{self.ElementResults}, ElementDiagnosticInfos:{self.ElementDiagnosticInfos})' + return 'ContentFilterResult(' + 'ElementResults:' + str(self.ElementResults) + ', ' + \ + 'ElementDiagnosticInfos:' + str(self.ElementDiagnosticInfos) + ')' __repr__ = __str__ class ParsingResult(FrozenClass): - """ + ''' :ivar StatusCode: :vartype StatusCode: StatusCode :ivar DataStatusCodes: :vartype DataStatusCodes: StatusCode :ivar DataDiagnosticInfos: :vartype DataDiagnosticInfos: DiagnosticInfo - """ + ''' ua_types = [ ('StatusCode', 'StatusCode'), @@ -4652,13 +7417,15 @@ def __init__(self): self._freeze = True def __str__(self): - return f'ParsingResult(StatusCode:{self.StatusCode}, DataStatusCodes:{self.DataStatusCodes}, DataDiagnosticInfos:{self.DataDiagnosticInfos})' + return 'ParsingResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ + 'DataStatusCodes:' + str(self.DataStatusCodes) + ', ' + \ + 'DataDiagnosticInfos:' + str(self.DataDiagnosticInfos) + ')' __repr__ = __str__ class QueryFirstParameters(FrozenClass): - """ + ''' :ivar View: :vartype View: ViewDescription :ivar NodeTypes: @@ -4669,7 +7436,7 @@ class QueryFirstParameters(FrozenClass): :vartype MaxDataSetsToReturn: UInt32 :ivar MaxReferencesToReturn: :vartype MaxReferencesToReturn: UInt32 - """ + ''' ua_types = [ ('View', 'ViewDescription'), @@ -4688,20 +7455,24 @@ def __init__(self): self._freeze = True def __str__(self): - return f'QueryFirstParameters(View:{self.View}, NodeTypes:{self.NodeTypes}, Filter:{self.Filter}, MaxDataSetsToReturn:{self.MaxDataSetsToReturn}, MaxReferencesToReturn:{self.MaxReferencesToReturn})' + return 'QueryFirstParameters(' + 'View:' + str(self.View) + ', ' + \ + 'NodeTypes:' + str(self.NodeTypes) + ', ' + \ + 'Filter:' + str(self.Filter) + ', ' + \ + 'MaxDataSetsToReturn:' + str(self.MaxDataSetsToReturn) + ', ' + \ + 'MaxReferencesToReturn:' + str(self.MaxReferencesToReturn) + ')' __repr__ = __str__ class QueryFirstRequest(FrozenClass): - """ + ''' :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: QueryFirstParameters - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -4716,13 +7487,15 @@ def __init__(self): self._freeze = True def __str__(self): - return f'QueryFirstRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' + return 'QueryFirstRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class QueryFirstResult(FrozenClass): - """ + ''' :ivar QueryDataSets: :vartype QueryDataSets: QueryDataSet :ivar ContinuationPoint: @@ -4733,7 +7506,7 @@ class QueryFirstResult(FrozenClass): :vartype DiagnosticInfos: DiagnosticInfo :ivar FilterResult: :vartype FilterResult: ContentFilterResult - """ + ''' ua_types = [ ('QueryDataSets', 'ListOfQueryDataSet'), @@ -4752,20 +7525,24 @@ def __init__(self): self._freeze = True def __str__(self): - return f'QueryFirstResult(QueryDataSets:{self.QueryDataSets}, ContinuationPoint:{self.ContinuationPoint}, ParsingResults:{self.ParsingResults}, DiagnosticInfos:{self.DiagnosticInfos}, FilterResult:{self.FilterResult})' + return 'QueryFirstResult(' + 'QueryDataSets:' + str(self.QueryDataSets) + ', ' + \ + 'ContinuationPoint:' + str(self.ContinuationPoint) + ', ' + \ + 'ParsingResults:' + str(self.ParsingResults) + ', ' + \ + 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ', ' + \ + 'FilterResult:' + str(self.FilterResult) + ')' __repr__ = __str__ class QueryFirstResponse(FrozenClass): - """ + ''' :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: QueryFirstResult - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -4780,18 +7557,20 @@ def __init__(self): self._freeze = True def __str__(self): - return f'QueryFirstResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' + return 'QueryFirstResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class QueryNextParameters(FrozenClass): - """ + ''' :ivar ReleaseContinuationPoint: :vartype ReleaseContinuationPoint: Boolean :ivar ContinuationPoint: :vartype ContinuationPoint: ByteString - """ + ''' ua_types = [ ('ReleaseContinuationPoint', 'Boolean'), @@ -4804,20 +7583,21 @@ def __init__(self): self._freeze = True def __str__(self): - return f'QueryNextParameters(ReleaseContinuationPoint:{self.ReleaseContinuationPoint}, ContinuationPoint:{self.ContinuationPoint})' + return 'QueryNextParameters(' + 'ReleaseContinuationPoint:' + str(self.ReleaseContinuationPoint) + ', ' + \ + 'ContinuationPoint:' + str(self.ContinuationPoint) + ')' __repr__ = __str__ class QueryNextRequest(FrozenClass): - """ + ''' :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: QueryNextParameters - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -4832,18 +7612,20 @@ def __init__(self): self._freeze = True def __str__(self): - return f'QueryNextRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' + return 'QueryNextRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class QueryNextResult(FrozenClass): - """ + ''' :ivar QueryDataSets: :vartype QueryDataSets: QueryDataSet :ivar RevisedContinuationPoint: :vartype RevisedContinuationPoint: ByteString - """ + ''' ua_types = [ ('QueryDataSets', 'ListOfQueryDataSet'), @@ -4856,20 +7638,21 @@ def __init__(self): self._freeze = True def __str__(self): - return f'QueryNextResult(QueryDataSets:{self.QueryDataSets}, RevisedContinuationPoint:{self.RevisedContinuationPoint})' + return 'QueryNextResult(' + 'QueryDataSets:' + str(self.QueryDataSets) + ', ' + \ + 'RevisedContinuationPoint:' + str(self.RevisedContinuationPoint) + ')' __repr__ = __str__ class QueryNextResponse(FrozenClass): - """ + ''' :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: QueryNextResult - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -4884,13 +7667,15 @@ def __init__(self): self._freeze = True def __str__(self): - return f'QueryNextResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' + return 'QueryNextResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class ReadValueId(FrozenClass): - """ + ''' :ivar NodeId: :vartype NodeId: NodeId :ivar AttributeId: @@ -4899,7 +7684,7 @@ class ReadValueId(FrozenClass): :vartype IndexRange: String :ivar DataEncoding: :vartype DataEncoding: QualifiedName - """ + ''' ua_types = [ ('NodeId', 'NodeId'), @@ -4916,20 +7701,23 @@ def __init__(self): self._freeze = True def __str__(self): - return f'ReadValueId(NodeId:{self.NodeId}, AttributeId:{self.AttributeId}, IndexRange:{self.IndexRange}, DataEncoding:{self.DataEncoding})' + return 'ReadValueId(' + 'NodeId:' + str(self.NodeId) + ', ' + \ + 'AttributeId:' + str(self.AttributeId) + ', ' + \ + 'IndexRange:' + str(self.IndexRange) + ', ' + \ + 'DataEncoding:' + str(self.DataEncoding) + ')' __repr__ = __str__ class ReadParameters(FrozenClass): - """ + ''' :ivar MaxAge: :vartype MaxAge: Double :ivar TimestampsToReturn: :vartype TimestampsToReturn: TimestampsToReturn :ivar NodesToRead: :vartype NodesToRead: ReadValueId - """ + ''' ua_types = [ ('MaxAge', 'Double'), @@ -4944,20 +7732,22 @@ def __init__(self): self._freeze = True def __str__(self): - return f'ReadParameters(MaxAge:{self.MaxAge}, TimestampsToReturn:{self.TimestampsToReturn}, NodesToRead:{self.NodesToRead})' + return 'ReadParameters(' + 'MaxAge:' + str(self.MaxAge) + ', ' + \ + 'TimestampsToReturn:' + str(self.TimestampsToReturn) + ', ' + \ + 'NodesToRead:' + str(self.NodesToRead) + ')' __repr__ = __str__ class ReadRequest(FrozenClass): - """ + ''' :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: ReadParameters - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -4972,13 +7762,15 @@ def __init__(self): self._freeze = True def __str__(self): - return f'ReadRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' + return 'ReadRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class ReadResponse(FrozenClass): - """ + ''' :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: @@ -4987,7 +7779,7 @@ class ReadResponse(FrozenClass): :vartype Results: DataValue :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -5004,13 +7796,16 @@ def __init__(self): self._freeze = True def __str__(self): - return f'ReadResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' + return 'ReadResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ + 'Results:' + str(self.Results) + ', ' + \ + 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' __repr__ = __str__ class HistoryReadValueId(FrozenClass): - """ + ''' :ivar NodeId: :vartype NodeId: NodeId :ivar IndexRange: @@ -5019,7 +7814,7 @@ class HistoryReadValueId(FrozenClass): :vartype DataEncoding: QualifiedName :ivar ContinuationPoint: :vartype ContinuationPoint: ByteString - """ + ''' ua_types = [ ('NodeId', 'NodeId'), @@ -5036,20 +7831,23 @@ def __init__(self): self._freeze = True def __str__(self): - return f'HistoryReadValueId(NodeId:{self.NodeId}, IndexRange:{self.IndexRange}, DataEncoding:{self.DataEncoding}, ContinuationPoint:{self.ContinuationPoint})' + return 'HistoryReadValueId(' + 'NodeId:' + str(self.NodeId) + ', ' + \ + 'IndexRange:' + str(self.IndexRange) + ', ' + \ + 'DataEncoding:' + str(self.DataEncoding) + ', ' + \ + 'ContinuationPoint:' + str(self.ContinuationPoint) + ')' __repr__ = __str__ class HistoryReadResult(FrozenClass): - """ + ''' :ivar StatusCode: :vartype StatusCode: StatusCode :ivar ContinuationPoint: :vartype ContinuationPoint: ByteString :ivar HistoryData: :vartype HistoryData: ExtensionObject - """ + ''' ua_types = [ ('StatusCode', 'StatusCode'), @@ -5064,14 +7862,16 @@ def __init__(self): self._freeze = True def __str__(self): - return f'HistoryReadResult(StatusCode:{self.StatusCode}, ContinuationPoint:{self.ContinuationPoint}, HistoryData:{self.HistoryData})' + return 'HistoryReadResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ + 'ContinuationPoint:' + str(self.ContinuationPoint) + ', ' + \ + 'HistoryData:' + str(self.HistoryData) + ')' __repr__ = __str__ class HistoryReadDetails(FrozenClass): - """ - """ + ''' + ''' ua_types = [ ] @@ -5080,13 +7880,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'HistoryReadDetails()' + return 'HistoryReadDetails(' + + ')' __repr__ = __str__ class ReadEventDetails(FrozenClass): - """ + ''' :ivar NumValuesPerNode: :vartype NumValuesPerNode: UInt32 :ivar StartTime: @@ -5095,7 +7895,7 @@ class ReadEventDetails(FrozenClass): :vartype EndTime: DateTime :ivar Filter: :vartype Filter: EventFilter - """ + ''' ua_types = [ ('NumValuesPerNode', 'UInt32'), @@ -5112,13 +7912,16 @@ def __init__(self): self._freeze = True def __str__(self): - return f'ReadEventDetails(NumValuesPerNode:{self.NumValuesPerNode}, StartTime:{self.StartTime}, EndTime:{self.EndTime}, Filter:{self.Filter})' + return 'ReadEventDetails(' + 'NumValuesPerNode:' + str(self.NumValuesPerNode) + ', ' + \ + 'StartTime:' + str(self.StartTime) + ', ' + \ + 'EndTime:' + str(self.EndTime) + ', ' + \ + 'Filter:' + str(self.Filter) + ')' __repr__ = __str__ class ReadRawModifiedDetails(FrozenClass): - """ + ''' :ivar IsReadModified: :vartype IsReadModified: Boolean :ivar StartTime: @@ -5129,7 +7932,7 @@ class ReadRawModifiedDetails(FrozenClass): :vartype NumValuesPerNode: UInt32 :ivar ReturnBounds: :vartype ReturnBounds: Boolean - """ + ''' ua_types = [ ('IsReadModified', 'Boolean'), @@ -5148,13 +7951,17 @@ def __init__(self): self._freeze = True def __str__(self): - return f'ReadRawModifiedDetails(IsReadModified:{self.IsReadModified}, StartTime:{self.StartTime}, EndTime:{self.EndTime}, NumValuesPerNode:{self.NumValuesPerNode}, ReturnBounds:{self.ReturnBounds})' + return 'ReadRawModifiedDetails(' + 'IsReadModified:' + str(self.IsReadModified) + ', ' + \ + 'StartTime:' + str(self.StartTime) + ', ' + \ + 'EndTime:' + str(self.EndTime) + ', ' + \ + 'NumValuesPerNode:' + str(self.NumValuesPerNode) + ', ' + \ + 'ReturnBounds:' + str(self.ReturnBounds) + ')' __repr__ = __str__ class ReadProcessedDetails(FrozenClass): - """ + ''' :ivar StartTime: :vartype StartTime: DateTime :ivar EndTime: @@ -5165,7 +7972,7 @@ class ReadProcessedDetails(FrozenClass): :vartype AggregateType: NodeId :ivar AggregateConfiguration: :vartype AggregateConfiguration: AggregateConfiguration - """ + ''' ua_types = [ ('StartTime', 'DateTime'), @@ -5184,18 +7991,22 @@ def __init__(self): self._freeze = True def __str__(self): - return f'ReadProcessedDetails(StartTime:{self.StartTime}, EndTime:{self.EndTime}, ProcessingInterval:{self.ProcessingInterval}, AggregateType:{self.AggregateType}, AggregateConfiguration:{self.AggregateConfiguration})' + return 'ReadProcessedDetails(' + 'StartTime:' + str(self.StartTime) + ', ' + \ + 'EndTime:' + str(self.EndTime) + ', ' + \ + 'ProcessingInterval:' + str(self.ProcessingInterval) + ', ' + \ + 'AggregateType:' + str(self.AggregateType) + ', ' + \ + 'AggregateConfiguration:' + str(self.AggregateConfiguration) + ')' __repr__ = __str__ class ReadAtTimeDetails(FrozenClass): - """ + ''' :ivar ReqTimes: :vartype ReqTimes: DateTime :ivar UseSimpleBounds: :vartype UseSimpleBounds: Boolean - """ + ''' ua_types = [ ('ReqTimes', 'ListOfDateTime'), @@ -5208,16 +8019,17 @@ def __init__(self): self._freeze = True def __str__(self): - return f'ReadAtTimeDetails(ReqTimes:{self.ReqTimes}, UseSimpleBounds:{self.UseSimpleBounds})' + return 'ReadAtTimeDetails(' + 'ReqTimes:' + str(self.ReqTimes) + ', ' + \ + 'UseSimpleBounds:' + str(self.UseSimpleBounds) + ')' __repr__ = __str__ class HistoryData(FrozenClass): - """ + ''' :ivar DataValues: :vartype DataValues: DataValue - """ + ''' ua_types = [ ('DataValues', 'ListOfDataValue'), @@ -5228,20 +8040,20 @@ def __init__(self): self._freeze = True def __str__(self): - return f'HistoryData(DataValues:{self.DataValues})' + return 'HistoryData(' + 'DataValues:' + str(self.DataValues) + ')' __repr__ = __str__ class ModificationInfo(FrozenClass): - """ + ''' :ivar ModificationTime: :vartype ModificationTime: DateTime :ivar UpdateType: :vartype UpdateType: HistoryUpdateType :ivar UserName: :vartype UserName: String - """ + ''' ua_types = [ ('ModificationTime', 'DateTime'), @@ -5256,18 +8068,20 @@ def __init__(self): self._freeze = True def __str__(self): - return f'ModificationInfo(ModificationTime:{self.ModificationTime}, UpdateType:{self.UpdateType}, UserName:{self.UserName})' + return 'ModificationInfo(' + 'ModificationTime:' + str(self.ModificationTime) + ', ' + \ + 'UpdateType:' + str(self.UpdateType) + ', ' + \ + 'UserName:' + str(self.UserName) + ')' __repr__ = __str__ class HistoryModifiedData(FrozenClass): - """ + ''' :ivar DataValues: :vartype DataValues: DataValue :ivar ModificationInfos: :vartype ModificationInfos: ModificationInfo - """ + ''' ua_types = [ ('DataValues', 'ListOfDataValue'), @@ -5280,16 +8094,17 @@ def __init__(self): self._freeze = True def __str__(self): - return f'HistoryModifiedData(DataValues:{self.DataValues}, ModificationInfos:{self.ModificationInfos})' + return 'HistoryModifiedData(' + 'DataValues:' + str(self.DataValues) + ', ' + \ + 'ModificationInfos:' + str(self.ModificationInfos) + ')' __repr__ = __str__ class HistoryEvent(FrozenClass): - """ + ''' :ivar Events: :vartype Events: HistoryEventFieldList - """ + ''' ua_types = [ ('Events', 'ListOfHistoryEventFieldList'), @@ -5300,13 +8115,13 @@ def __init__(self): self._freeze = True def __str__(self): - return f'HistoryEvent(Events:{self.Events})' + return 'HistoryEvent(' + 'Events:' + str(self.Events) + ')' __repr__ = __str__ class HistoryReadParameters(FrozenClass): - """ + ''' :ivar HistoryReadDetails: :vartype HistoryReadDetails: ExtensionObject :ivar TimestampsToReturn: @@ -5315,7 +8130,7 @@ class HistoryReadParameters(FrozenClass): :vartype ReleaseContinuationPoints: Boolean :ivar NodesToRead: :vartype NodesToRead: HistoryReadValueId - """ + ''' ua_types = [ ('HistoryReadDetails', 'ExtensionObject'), @@ -5332,20 +8147,23 @@ def __init__(self): self._freeze = True def __str__(self): - return f'HistoryReadParameters(HistoryReadDetails:{self.HistoryReadDetails}, TimestampsToReturn:{self.TimestampsToReturn}, ReleaseContinuationPoints:{self.ReleaseContinuationPoints}, NodesToRead:{self.NodesToRead})' + return 'HistoryReadParameters(' + 'HistoryReadDetails:' + str(self.HistoryReadDetails) + ', ' + \ + 'TimestampsToReturn:' + str(self.TimestampsToReturn) + ', ' + \ + 'ReleaseContinuationPoints:' + str(self.ReleaseContinuationPoints) + ', ' + \ + 'NodesToRead:' + str(self.NodesToRead) + ')' __repr__ = __str__ class HistoryReadRequest(FrozenClass): - """ + ''' :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: HistoryReadParameters - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -5360,13 +8178,15 @@ def __init__(self): self._freeze = True def __str__(self): - return f'HistoryReadRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' + return 'HistoryReadRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class HistoryReadResponse(FrozenClass): - """ + ''' :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: @@ -5375,7 +8195,7 @@ class HistoryReadResponse(FrozenClass): :vartype Results: HistoryReadResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -5392,13 +8212,16 @@ def __init__(self): self._freeze = True def __str__(self): - return f'HistoryReadResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' + return 'HistoryReadResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ + 'Results:' + str(self.Results) + ', ' + \ + 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' __repr__ = __str__ class WriteValue(FrozenClass): - """ + ''' :ivar NodeId: :vartype NodeId: NodeId :ivar AttributeId: @@ -5407,7 +8230,7 @@ class WriteValue(FrozenClass): :vartype IndexRange: String :ivar Value: :vartype Value: DataValue - """ + ''' ua_types = [ ('NodeId', 'NodeId'), @@ -5424,16 +8247,19 @@ def __init__(self): self._freeze = True def __str__(self): - return f'WriteValue(NodeId:{self.NodeId}, AttributeId:{self.AttributeId}, IndexRange:{self.IndexRange}, Value:{self.Value})' + return 'WriteValue(' + 'NodeId:' + str(self.NodeId) + ', ' + \ + 'AttributeId:' + str(self.AttributeId) + ', ' + \ + 'IndexRange:' + str(self.IndexRange) + ', ' + \ + 'Value:' + str(self.Value) + ')' __repr__ = __str__ class WriteParameters(FrozenClass): - """ + ''' :ivar NodesToWrite: :vartype NodesToWrite: WriteValue - """ + ''' ua_types = [ ('NodesToWrite', 'ListOfWriteValue'), @@ -5444,20 +8270,20 @@ def __init__(self): self._freeze = True def __str__(self): - return f'WriteParameters(NodesToWrite:{self.NodesToWrite})' + return 'WriteParameters(' + 'NodesToWrite:' + str(self.NodesToWrite) + ')' __repr__ = __str__ class WriteRequest(FrozenClass): - """ + ''' :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: WriteParameters - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -5472,13 +8298,15 @@ def __init__(self): self._freeze = True def __str__(self): - return f'WriteRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' + return 'WriteRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class WriteResponse(FrozenClass): - """ + ''' :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: @@ -5487,7 +8315,7 @@ class WriteResponse(FrozenClass): :vartype Results: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -5504,16 +8332,19 @@ def __init__(self): self._freeze = True def __str__(self): - return f'WriteResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' + return 'WriteResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ + 'Results:' + str(self.Results) + ', ' + \ + 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' __repr__ = __str__ class HistoryUpdateDetails(FrozenClass): - """ + ''' :ivar NodeId: :vartype NodeId: NodeId - """ + ''' ua_types = [ ('NodeId', 'NodeId'), @@ -5524,20 +8355,20 @@ def __init__(self): self._freeze = True def __str__(self): - return f'HistoryUpdateDetails(NodeId:{self.NodeId})' + return 'HistoryUpdateDetails(' + 'NodeId:' + str(self.NodeId) + ')' __repr__ = __str__ class UpdateDataDetails(FrozenClass): - """ + ''' :ivar NodeId: :vartype NodeId: NodeId :ivar PerformInsertReplace: :vartype PerformInsertReplace: PerformUpdateType :ivar UpdateValues: :vartype UpdateValues: DataValue - """ + ''' ua_types = [ ('NodeId', 'NodeId'), @@ -5552,20 +8383,22 @@ def __init__(self): self._freeze = True def __str__(self): - return f'UpdateDataDetails(NodeId:{self.NodeId}, PerformInsertReplace:{self.PerformInsertReplace}, UpdateValues:{self.UpdateValues})' + return 'UpdateDataDetails(' + 'NodeId:' + str(self.NodeId) + ', ' + \ + 'PerformInsertReplace:' + str(self.PerformInsertReplace) + ', ' + \ + 'UpdateValues:' + str(self.UpdateValues) + ')' __repr__ = __str__ class UpdateStructureDataDetails(FrozenClass): - """ + ''' :ivar NodeId: :vartype NodeId: NodeId :ivar PerformInsertReplace: :vartype PerformInsertReplace: PerformUpdateType :ivar UpdateValues: :vartype UpdateValues: DataValue - """ + ''' ua_types = [ ('NodeId', 'NodeId'), @@ -5580,13 +8413,15 @@ def __init__(self): self._freeze = True def __str__(self): - return f'UpdateStructureDataDetails(NodeId:{self.NodeId}, PerformInsertReplace:{self.PerformInsertReplace}, UpdateValues:{self.UpdateValues})' + return 'UpdateStructureDataDetails(' + 'NodeId:' + str(self.NodeId) + ', ' + \ + 'PerformInsertReplace:' + str(self.PerformInsertReplace) + ', ' + \ + 'UpdateValues:' + str(self.UpdateValues) + ')' __repr__ = __str__ class UpdateEventDetails(FrozenClass): - """ + ''' :ivar NodeId: :vartype NodeId: NodeId :ivar PerformInsertReplace: @@ -5595,7 +8430,7 @@ class UpdateEventDetails(FrozenClass): :vartype Filter: EventFilter :ivar EventData: :vartype EventData: HistoryEventFieldList - """ + ''' ua_types = [ ('NodeId', 'NodeId'), @@ -5612,13 +8447,16 @@ def __init__(self): self._freeze = True def __str__(self): - return f'UpdateEventDetails(NodeId:{self.NodeId}, PerformInsertReplace:{self.PerformInsertReplace}, Filter:{self.Filter}, EventData:{self.EventData})' + return 'UpdateEventDetails(' + 'NodeId:' + str(self.NodeId) + ', ' + \ + 'PerformInsertReplace:' + str(self.PerformInsertReplace) + ', ' + \ + 'Filter:' + str(self.Filter) + ', ' + \ + 'EventData:' + str(self.EventData) + ')' __repr__ = __str__ class DeleteRawModifiedDetails(FrozenClass): - """ + ''' :ivar NodeId: :vartype NodeId: NodeId :ivar IsDeleteModified: @@ -5627,7 +8465,7 @@ class DeleteRawModifiedDetails(FrozenClass): :vartype StartTime: DateTime :ivar EndTime: :vartype EndTime: DateTime - """ + ''' ua_types = [ ('NodeId', 'NodeId'), @@ -5644,18 +8482,21 @@ def __init__(self): self._freeze = True def __str__(self): - return f'DeleteRawModifiedDetails(NodeId:{self.NodeId}, IsDeleteModified:{self.IsDeleteModified}, StartTime:{self.StartTime}, EndTime:{self.EndTime})' + return 'DeleteRawModifiedDetails(' + 'NodeId:' + str(self.NodeId) + ', ' + \ + 'IsDeleteModified:' + str(self.IsDeleteModified) + ', ' + \ + 'StartTime:' + str(self.StartTime) + ', ' + \ + 'EndTime:' + str(self.EndTime) + ')' __repr__ = __str__ class DeleteAtTimeDetails(FrozenClass): - """ + ''' :ivar NodeId: :vartype NodeId: NodeId :ivar ReqTimes: :vartype ReqTimes: DateTime - """ + ''' ua_types = [ ('NodeId', 'NodeId'), @@ -5668,18 +8509,19 @@ def __init__(self): self._freeze = True def __str__(self): - return f'DeleteAtTimeDetails(NodeId:{self.NodeId}, ReqTimes:{self.ReqTimes})' + return 'DeleteAtTimeDetails(' + 'NodeId:' + str(self.NodeId) + ', ' + \ + 'ReqTimes:' + str(self.ReqTimes) + ')' __repr__ = __str__ class DeleteEventDetails(FrozenClass): - """ + ''' :ivar NodeId: :vartype NodeId: NodeId :ivar EventIds: :vartype EventIds: ByteString - """ + ''' ua_types = [ ('NodeId', 'NodeId'), @@ -5692,20 +8534,21 @@ def __init__(self): self._freeze = True def __str__(self): - return f'DeleteEventDetails(NodeId:{self.NodeId}, EventIds:{self.EventIds})' + return 'DeleteEventDetails(' + 'NodeId:' + str(self.NodeId) + ', ' + \ + 'EventIds:' + str(self.EventIds) + ')' __repr__ = __str__ class HistoryUpdateResult(FrozenClass): - """ + ''' :ivar StatusCode: :vartype StatusCode: StatusCode :ivar OperationResults: :vartype OperationResults: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - """ + ''' ua_types = [ ('StatusCode', 'StatusCode'), @@ -5720,16 +8563,18 @@ def __init__(self): self._freeze = True def __str__(self): - return f'HistoryUpdateResult(StatusCode:{self.StatusCode}, OperationResults:{self.OperationResults}, DiagnosticInfos:{self.DiagnosticInfos})' + return 'HistoryUpdateResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ + 'OperationResults:' + str(self.OperationResults) + ', ' + \ + 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' __repr__ = __str__ class HistoryUpdateParameters(FrozenClass): - """ + ''' :ivar HistoryUpdateDetails: :vartype HistoryUpdateDetails: ExtensionObject - """ + ''' ua_types = [ ('HistoryUpdateDetails', 'ListOfExtensionObject'), @@ -5740,20 +8585,20 @@ def __init__(self): self._freeze = True def __str__(self): - return f'HistoryUpdateParameters(HistoryUpdateDetails:{self.HistoryUpdateDetails})' + return 'HistoryUpdateParameters(' + 'HistoryUpdateDetails:' + str(self.HistoryUpdateDetails) + ')' __repr__ = __str__ class HistoryUpdateRequest(FrozenClass): - """ + ''' :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: HistoryUpdateParameters - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -5768,13 +8613,15 @@ def __init__(self): self._freeze = True def __str__(self): - return f'HistoryUpdateRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' + return 'HistoryUpdateRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class HistoryUpdateResponse(FrozenClass): - """ + ''' :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: @@ -5783,7 +8630,7 @@ class HistoryUpdateResponse(FrozenClass): :vartype Results: HistoryUpdateResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -5800,20 +8647,23 @@ def __init__(self): self._freeze = True def __str__(self): - return f'HistoryUpdateResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' + return 'HistoryUpdateResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ + 'Results:' + str(self.Results) + ', ' + \ + 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' __repr__ = __str__ class CallMethodRequest(FrozenClass): - """ + ''' :ivar ObjectId: :vartype ObjectId: NodeId :ivar MethodId: :vartype MethodId: NodeId :ivar InputArguments: :vartype InputArguments: Variant - """ + ''' ua_types = [ ('ObjectId', 'NodeId'), @@ -5828,13 +8678,15 @@ def __init__(self): self._freeze = True def __str__(self): - return f'CallMethodRequest(ObjectId:{self.ObjectId}, MethodId:{self.MethodId}, InputArguments:{self.InputArguments})' + return 'CallMethodRequest(' + 'ObjectId:' + str(self.ObjectId) + ', ' + \ + 'MethodId:' + str(self.MethodId) + ', ' + \ + 'InputArguments:' + str(self.InputArguments) + ')' __repr__ = __str__ class CallMethodResult(FrozenClass): - """ + ''' :ivar StatusCode: :vartype StatusCode: StatusCode :ivar InputArgumentResults: @@ -5843,7 +8695,7 @@ class CallMethodResult(FrozenClass): :vartype InputArgumentDiagnosticInfos: DiagnosticInfo :ivar OutputArguments: :vartype OutputArguments: Variant - """ + ''' ua_types = [ ('StatusCode', 'StatusCode'), @@ -5860,16 +8712,19 @@ def __init__(self): self._freeze = True def __str__(self): - return f'CallMethodResult(StatusCode:{self.StatusCode}, InputArgumentResults:{self.InputArgumentResults}, InputArgumentDiagnosticInfos:{self.InputArgumentDiagnosticInfos}, OutputArguments:{self.OutputArguments})' + return 'CallMethodResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ + 'InputArgumentResults:' + str(self.InputArgumentResults) + ', ' + \ + 'InputArgumentDiagnosticInfos:' + str(self.InputArgumentDiagnosticInfos) + ', ' + \ + 'OutputArguments:' + str(self.OutputArguments) + ')' __repr__ = __str__ class CallParameters(FrozenClass): - """ + ''' :ivar MethodsToCall: :vartype MethodsToCall: CallMethodRequest - """ + ''' ua_types = [ ('MethodsToCall', 'ListOfCallMethodRequest'), @@ -5880,20 +8735,20 @@ def __init__(self): self._freeze = True def __str__(self): - return f'CallParameters(MethodsToCall:{self.MethodsToCall})' + return 'CallParameters(' + 'MethodsToCall:' + str(self.MethodsToCall) + ')' __repr__ = __str__ class CallRequest(FrozenClass): - """ + ''' :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: CallParameters - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -5908,13 +8763,15 @@ def __init__(self): self._freeze = True def __str__(self): - return f'CallRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' + return 'CallRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class CallResponse(FrozenClass): - """ + ''' :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: @@ -5923,7 +8780,7 @@ class CallResponse(FrozenClass): :vartype Results: CallMethodResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -5940,14 +8797,17 @@ def __init__(self): self._freeze = True def __str__(self): - return f'CallResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' + return 'CallResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ + 'Results:' + str(self.Results) + ', ' + \ + 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' __repr__ = __str__ class MonitoringFilter(FrozenClass): - """ - """ + ''' + ''' ua_types = [ ] @@ -5956,20 +8816,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'MonitoringFilter()' + return 'MonitoringFilter(' + + ')' __repr__ = __str__ class DataChangeFilter(FrozenClass): - """ + ''' :ivar Trigger: :vartype Trigger: DataChangeTrigger :ivar DeadbandType: :vartype DeadbandType: UInt32 :ivar DeadbandValue: :vartype DeadbandValue: Double - """ + ''' ua_types = [ ('Trigger', 'DataChangeTrigger'), @@ -5984,18 +8844,20 @@ def __init__(self): self._freeze = True def __str__(self): - return f'DataChangeFilter(Trigger:{self.Trigger}, DeadbandType:{self.DeadbandType}, DeadbandValue:{self.DeadbandValue})' + return 'DataChangeFilter(' + 'Trigger:' + str(self.Trigger) + ', ' + \ + 'DeadbandType:' + str(self.DeadbandType) + ', ' + \ + 'DeadbandValue:' + str(self.DeadbandValue) + ')' __repr__ = __str__ class EventFilter(FrozenClass): - """ + ''' :ivar SelectClauses: :vartype SelectClauses: SimpleAttributeOperand :ivar WhereClause: :vartype WhereClause: ContentFilter - """ + ''' ua_types = [ ('SelectClauses', 'ListOfSimpleAttributeOperand'), @@ -6008,13 +8870,14 @@ def __init__(self): self._freeze = True def __str__(self): - return f'EventFilter(SelectClauses:{self.SelectClauses}, WhereClause:{self.WhereClause})' + return 'EventFilter(' + 'SelectClauses:' + str(self.SelectClauses) + ', ' + \ + 'WhereClause:' + str(self.WhereClause) + ')' __repr__ = __str__ class AggregateConfiguration(FrozenClass): - """ + ''' :ivar UseServerCapabilitiesDefaults: :vartype UseServerCapabilitiesDefaults: Boolean :ivar TreatUncertainAsBad: @@ -6025,7 +8888,7 @@ class AggregateConfiguration(FrozenClass): :vartype PercentDataGood: Byte :ivar UseSlopedExtrapolation: :vartype UseSlopedExtrapolation: Boolean - """ + ''' ua_types = [ ('UseServerCapabilitiesDefaults', 'Boolean'), @@ -6044,13 +8907,17 @@ def __init__(self): self._freeze = True def __str__(self): - return f'AggregateConfiguration(UseServerCapabilitiesDefaults:{self.UseServerCapabilitiesDefaults}, TreatUncertainAsBad:{self.TreatUncertainAsBad}, PercentDataBad:{self.PercentDataBad}, PercentDataGood:{self.PercentDataGood}, UseSlopedExtrapolation:{self.UseSlopedExtrapolation})' + return 'AggregateConfiguration(' + 'UseServerCapabilitiesDefaults:' + str(self.UseServerCapabilitiesDefaults) + ', ' + \ + 'TreatUncertainAsBad:' + str(self.TreatUncertainAsBad) + ', ' + \ + 'PercentDataBad:' + str(self.PercentDataBad) + ', ' + \ + 'PercentDataGood:' + str(self.PercentDataGood) + ', ' + \ + 'UseSlopedExtrapolation:' + str(self.UseSlopedExtrapolation) + ')' __repr__ = __str__ class AggregateFilter(FrozenClass): - """ + ''' :ivar StartTime: :vartype StartTime: DateTime :ivar AggregateType: @@ -6059,7 +8926,7 @@ class AggregateFilter(FrozenClass): :vartype ProcessingInterval: Double :ivar AggregateConfiguration: :vartype AggregateConfiguration: AggregateConfiguration - """ + ''' ua_types = [ ('StartTime', 'DateTime'), @@ -6076,14 +8943,17 @@ def __init__(self): self._freeze = True def __str__(self): - return f'AggregateFilter(StartTime:{self.StartTime}, AggregateType:{self.AggregateType}, ProcessingInterval:{self.ProcessingInterval}, AggregateConfiguration:{self.AggregateConfiguration})' + return 'AggregateFilter(' + 'StartTime:' + str(self.StartTime) + ', ' + \ + 'AggregateType:' + str(self.AggregateType) + ', ' + \ + 'ProcessingInterval:' + str(self.ProcessingInterval) + ', ' + \ + 'AggregateConfiguration:' + str(self.AggregateConfiguration) + ')' __repr__ = __str__ class MonitoringFilterResult(FrozenClass): - """ - """ + ''' + ''' ua_types = [ ] @@ -6092,20 +8962,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'MonitoringFilterResult()' + return 'MonitoringFilterResult(' + + ')' __repr__ = __str__ class EventFilterResult(FrozenClass): - """ + ''' :ivar SelectClauseResults: :vartype SelectClauseResults: StatusCode :ivar SelectClauseDiagnosticInfos: :vartype SelectClauseDiagnosticInfos: DiagnosticInfo :ivar WhereClauseResult: :vartype WhereClauseResult: ContentFilterResult - """ + ''' ua_types = [ ('SelectClauseResults', 'ListOfStatusCode'), @@ -6120,20 +8990,22 @@ def __init__(self): self._freeze = True def __str__(self): - return f'EventFilterResult(SelectClauseResults:{self.SelectClauseResults}, SelectClauseDiagnosticInfos:{self.SelectClauseDiagnosticInfos}, WhereClauseResult:{self.WhereClauseResult})' + return 'EventFilterResult(' + 'SelectClauseResults:' + str(self.SelectClauseResults) + ', ' + \ + 'SelectClauseDiagnosticInfos:' + str(self.SelectClauseDiagnosticInfos) + ', ' + \ + 'WhereClauseResult:' + str(self.WhereClauseResult) + ')' __repr__ = __str__ class AggregateFilterResult(FrozenClass): - """ + ''' :ivar RevisedStartTime: :vartype RevisedStartTime: DateTime :ivar RevisedProcessingInterval: :vartype RevisedProcessingInterval: Double :ivar RevisedAggregateConfiguration: :vartype RevisedAggregateConfiguration: AggregateConfiguration - """ + ''' ua_types = [ ('RevisedStartTime', 'DateTime'), @@ -6148,13 +9020,15 @@ def __init__(self): self._freeze = True def __str__(self): - return f'AggregateFilterResult(RevisedStartTime:{self.RevisedStartTime}, RevisedProcessingInterval:{self.RevisedProcessingInterval}, RevisedAggregateConfiguration:{self.RevisedAggregateConfiguration})' + return 'AggregateFilterResult(' + 'RevisedStartTime:' + str(self.RevisedStartTime) + ', ' + \ + 'RevisedProcessingInterval:' + str(self.RevisedProcessingInterval) + ', ' + \ + 'RevisedAggregateConfiguration:' + str(self.RevisedAggregateConfiguration) + ')' __repr__ = __str__ class MonitoringParameters(FrozenClass): - """ + ''' :ivar ClientHandle: :vartype ClientHandle: UInt32 :ivar SamplingInterval: @@ -6165,7 +9039,7 @@ class MonitoringParameters(FrozenClass): :vartype QueueSize: UInt32 :ivar DiscardOldest: :vartype DiscardOldest: Boolean - """ + ''' ua_types = [ ('ClientHandle', 'UInt32'), @@ -6184,20 +9058,24 @@ def __init__(self): self._freeze = True def __str__(self): - return f'MonitoringParameters(ClientHandle:{self.ClientHandle}, SamplingInterval:{self.SamplingInterval}, Filter:{self.Filter}, QueueSize:{self.QueueSize}, DiscardOldest:{self.DiscardOldest})' + return 'MonitoringParameters(' + 'ClientHandle:' + str(self.ClientHandle) + ', ' + \ + 'SamplingInterval:' + str(self.SamplingInterval) + ', ' + \ + 'Filter:' + str(self.Filter) + ', ' + \ + 'QueueSize:' + str(self.QueueSize) + ', ' + \ + 'DiscardOldest:' + str(self.DiscardOldest) + ')' __repr__ = __str__ class MonitoredItemCreateRequest(FrozenClass): - """ + ''' :ivar ItemToMonitor: :vartype ItemToMonitor: ReadValueId :ivar MonitoringMode: :vartype MonitoringMode: MonitoringMode :ivar RequestedParameters: :vartype RequestedParameters: MonitoringParameters - """ + ''' ua_types = [ ('ItemToMonitor', 'ReadValueId'), @@ -6212,13 +9090,15 @@ def __init__(self): self._freeze = True def __str__(self): - return f'MonitoredItemCreateRequest(ItemToMonitor:{self.ItemToMonitor}, MonitoringMode:{self.MonitoringMode}, RequestedParameters:{self.RequestedParameters})' + return 'MonitoredItemCreateRequest(' + 'ItemToMonitor:' + str(self.ItemToMonitor) + ', ' + \ + 'MonitoringMode:' + str(self.MonitoringMode) + ', ' + \ + 'RequestedParameters:' + str(self.RequestedParameters) + ')' __repr__ = __str__ class MonitoredItemCreateResult(FrozenClass): - """ + ''' :ivar StatusCode: :vartype StatusCode: StatusCode :ivar MonitoredItemId: @@ -6229,7 +9109,7 @@ class MonitoredItemCreateResult(FrozenClass): :vartype RevisedQueueSize: UInt32 :ivar FilterResult: :vartype FilterResult: ExtensionObject - """ + ''' ua_types = [ ('StatusCode', 'StatusCode'), @@ -6248,20 +9128,24 @@ def __init__(self): self._freeze = True def __str__(self): - return f'MonitoredItemCreateResult(StatusCode:{self.StatusCode}, MonitoredItemId:{self.MonitoredItemId}, RevisedSamplingInterval:{self.RevisedSamplingInterval}, RevisedQueueSize:{self.RevisedQueueSize}, FilterResult:{self.FilterResult})' + return 'MonitoredItemCreateResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ + 'MonitoredItemId:' + str(self.MonitoredItemId) + ', ' + \ + 'RevisedSamplingInterval:' + str(self.RevisedSamplingInterval) + ', ' + \ + 'RevisedQueueSize:' + str(self.RevisedQueueSize) + ', ' + \ + 'FilterResult:' + str(self.FilterResult) + ')' __repr__ = __str__ class CreateMonitoredItemsParameters(FrozenClass): - """ + ''' :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar TimestampsToReturn: :vartype TimestampsToReturn: TimestampsToReturn :ivar ItemsToCreate: :vartype ItemsToCreate: MonitoredItemCreateRequest - """ + ''' ua_types = [ ('SubscriptionId', 'UInt32'), @@ -6276,20 +9160,22 @@ def __init__(self): self._freeze = True def __str__(self): - return f'CreateMonitoredItemsParameters(SubscriptionId:{self.SubscriptionId}, TimestampsToReturn:{self.TimestampsToReturn}, ItemsToCreate:{self.ItemsToCreate})' + return 'CreateMonitoredItemsParameters(' + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ + 'TimestampsToReturn:' + str(self.TimestampsToReturn) + ', ' + \ + 'ItemsToCreate:' + str(self.ItemsToCreate) + ')' __repr__ = __str__ class CreateMonitoredItemsRequest(FrozenClass): - """ + ''' :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: CreateMonitoredItemsParameters - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -6304,13 +9190,15 @@ def __init__(self): self._freeze = True def __str__(self): - return f'CreateMonitoredItemsRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' + return 'CreateMonitoredItemsRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class CreateMonitoredItemsResponse(FrozenClass): - """ + ''' :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: @@ -6319,7 +9207,7 @@ class CreateMonitoredItemsResponse(FrozenClass): :vartype Results: MonitoredItemCreateResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -6336,18 +9224,21 @@ def __init__(self): self._freeze = True def __str__(self): - return f'CreateMonitoredItemsResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' + return 'CreateMonitoredItemsResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ + 'Results:' + str(self.Results) + ', ' + \ + 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' __repr__ = __str__ class MonitoredItemModifyRequest(FrozenClass): - """ + ''' :ivar MonitoredItemId: :vartype MonitoredItemId: UInt32 :ivar RequestedParameters: :vartype RequestedParameters: MonitoringParameters - """ + ''' ua_types = [ ('MonitoredItemId', 'UInt32'), @@ -6360,13 +9251,14 @@ def __init__(self): self._freeze = True def __str__(self): - return f'MonitoredItemModifyRequest(MonitoredItemId:{self.MonitoredItemId}, RequestedParameters:{self.RequestedParameters})' + return 'MonitoredItemModifyRequest(' + 'MonitoredItemId:' + str(self.MonitoredItemId) + ', ' + \ + 'RequestedParameters:' + str(self.RequestedParameters) + ')' __repr__ = __str__ class MonitoredItemModifyResult(FrozenClass): - """ + ''' :ivar StatusCode: :vartype StatusCode: StatusCode :ivar RevisedSamplingInterval: @@ -6375,7 +9267,7 @@ class MonitoredItemModifyResult(FrozenClass): :vartype RevisedQueueSize: UInt32 :ivar FilterResult: :vartype FilterResult: ExtensionObject - """ + ''' ua_types = [ ('StatusCode', 'StatusCode'), @@ -6392,20 +9284,23 @@ def __init__(self): self._freeze = True def __str__(self): - return f'MonitoredItemModifyResult(StatusCode:{self.StatusCode}, RevisedSamplingInterval:{self.RevisedSamplingInterval}, RevisedQueueSize:{self.RevisedQueueSize}, FilterResult:{self.FilterResult})' + return 'MonitoredItemModifyResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ + 'RevisedSamplingInterval:' + str(self.RevisedSamplingInterval) + ', ' + \ + 'RevisedQueueSize:' + str(self.RevisedQueueSize) + ', ' + \ + 'FilterResult:' + str(self.FilterResult) + ')' __repr__ = __str__ class ModifyMonitoredItemsParameters(FrozenClass): - """ + ''' :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar TimestampsToReturn: :vartype TimestampsToReturn: TimestampsToReturn :ivar ItemsToModify: :vartype ItemsToModify: MonitoredItemModifyRequest - """ + ''' ua_types = [ ('SubscriptionId', 'UInt32'), @@ -6420,20 +9315,22 @@ def __init__(self): self._freeze = True def __str__(self): - return f'ModifyMonitoredItemsParameters(SubscriptionId:{self.SubscriptionId}, TimestampsToReturn:{self.TimestampsToReturn}, ItemsToModify:{self.ItemsToModify})' + return 'ModifyMonitoredItemsParameters(' + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ + 'TimestampsToReturn:' + str(self.TimestampsToReturn) + ', ' + \ + 'ItemsToModify:' + str(self.ItemsToModify) + ')' __repr__ = __str__ class ModifyMonitoredItemsRequest(FrozenClass): - """ + ''' :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: ModifyMonitoredItemsParameters - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -6448,13 +9345,15 @@ def __init__(self): self._freeze = True def __str__(self): - return f'ModifyMonitoredItemsRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' + return 'ModifyMonitoredItemsRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class ModifyMonitoredItemsResponse(FrozenClass): - """ + ''' :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: @@ -6463,7 +9362,7 @@ class ModifyMonitoredItemsResponse(FrozenClass): :vartype Results: MonitoredItemModifyResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -6480,20 +9379,23 @@ def __init__(self): self._freeze = True def __str__(self): - return f'ModifyMonitoredItemsResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' + return 'ModifyMonitoredItemsResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ + 'Results:' + str(self.Results) + ', ' + \ + 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' __repr__ = __str__ class SetMonitoringModeParameters(FrozenClass): - """ + ''' :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar MonitoringMode: :vartype MonitoringMode: MonitoringMode :ivar MonitoredItemIds: :vartype MonitoredItemIds: UInt32 - """ + ''' ua_types = [ ('SubscriptionId', 'UInt32'), @@ -6508,20 +9410,22 @@ def __init__(self): self._freeze = True def __str__(self): - return f'SetMonitoringModeParameters(SubscriptionId:{self.SubscriptionId}, MonitoringMode:{self.MonitoringMode}, MonitoredItemIds:{self.MonitoredItemIds})' + return 'SetMonitoringModeParameters(' + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ + 'MonitoringMode:' + str(self.MonitoringMode) + ', ' + \ + 'MonitoredItemIds:' + str(self.MonitoredItemIds) + ')' __repr__ = __str__ class SetMonitoringModeRequest(FrozenClass): - """ + ''' :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: SetMonitoringModeParameters - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -6536,18 +9440,20 @@ def __init__(self): self._freeze = True def __str__(self): - return f'SetMonitoringModeRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' + return 'SetMonitoringModeRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class SetMonitoringModeResult(FrozenClass): - """ + ''' :ivar Results: :vartype Results: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - """ + ''' ua_types = [ ('Results', 'ListOfStatusCode'), @@ -6560,20 +9466,21 @@ def __init__(self): self._freeze = True def __str__(self): - return f'SetMonitoringModeResult(Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' + return 'SetMonitoringModeResult(' + 'Results:' + str(self.Results) + ', ' + \ + 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' __repr__ = __str__ class SetMonitoringModeResponse(FrozenClass): - """ + ''' :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: SetMonitoringModeResult - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -6588,13 +9495,15 @@ def __init__(self): self._freeze = True def __str__(self): - return f'SetMonitoringModeResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' + return 'SetMonitoringModeResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class SetTriggeringParameters(FrozenClass): - """ + ''' :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar TriggeringItemId: @@ -6603,7 +9512,7 @@ class SetTriggeringParameters(FrozenClass): :vartype LinksToAdd: UInt32 :ivar LinksToRemove: :vartype LinksToRemove: UInt32 - """ + ''' ua_types = [ ('SubscriptionId', 'UInt32'), @@ -6620,20 +9529,23 @@ def __init__(self): self._freeze = True def __str__(self): - return f'SetTriggeringParameters(SubscriptionId:{self.SubscriptionId}, TriggeringItemId:{self.TriggeringItemId}, LinksToAdd:{self.LinksToAdd}, LinksToRemove:{self.LinksToRemove})' + return 'SetTriggeringParameters(' + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ + 'TriggeringItemId:' + str(self.TriggeringItemId) + ', ' + \ + 'LinksToAdd:' + str(self.LinksToAdd) + ', ' + \ + 'LinksToRemove:' + str(self.LinksToRemove) + ')' __repr__ = __str__ class SetTriggeringRequest(FrozenClass): - """ + ''' :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: SetTriggeringParameters - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -6648,13 +9560,15 @@ def __init__(self): self._freeze = True def __str__(self): - return f'SetTriggeringRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' + return 'SetTriggeringRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class SetTriggeringResult(FrozenClass): - """ + ''' :ivar AddResults: :vartype AddResults: StatusCode :ivar AddDiagnosticInfos: @@ -6663,7 +9577,7 @@ class SetTriggeringResult(FrozenClass): :vartype RemoveResults: StatusCode :ivar RemoveDiagnosticInfos: :vartype RemoveDiagnosticInfos: DiagnosticInfo - """ + ''' ua_types = [ ('AddResults', 'ListOfStatusCode'), @@ -6680,20 +9594,23 @@ def __init__(self): self._freeze = True def __str__(self): - return f'SetTriggeringResult(AddResults:{self.AddResults}, AddDiagnosticInfos:{self.AddDiagnosticInfos}, RemoveResults:{self.RemoveResults}, RemoveDiagnosticInfos:{self.RemoveDiagnosticInfos})' + return 'SetTriggeringResult(' + 'AddResults:' + str(self.AddResults) + ', ' + \ + 'AddDiagnosticInfos:' + str(self.AddDiagnosticInfos) + ', ' + \ + 'RemoveResults:' + str(self.RemoveResults) + ', ' + \ + 'RemoveDiagnosticInfos:' + str(self.RemoveDiagnosticInfos) + ')' __repr__ = __str__ class SetTriggeringResponse(FrozenClass): - """ + ''' :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: SetTriggeringResult - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -6708,18 +9625,20 @@ def __init__(self): self._freeze = True def __str__(self): - return f'SetTriggeringResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' + return 'SetTriggeringResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class DeleteMonitoredItemsParameters(FrozenClass): - """ + ''' :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar MonitoredItemIds: :vartype MonitoredItemIds: UInt32 - """ + ''' ua_types = [ ('SubscriptionId', 'UInt32'), @@ -6732,20 +9651,21 @@ def __init__(self): self._freeze = True def __str__(self): - return f'DeleteMonitoredItemsParameters(SubscriptionId:{self.SubscriptionId}, MonitoredItemIds:{self.MonitoredItemIds})' + return 'DeleteMonitoredItemsParameters(' + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ + 'MonitoredItemIds:' + str(self.MonitoredItemIds) + ')' __repr__ = __str__ class DeleteMonitoredItemsRequest(FrozenClass): - """ + ''' :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: DeleteMonitoredItemsParameters - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -6760,13 +9680,15 @@ def __init__(self): self._freeze = True def __str__(self): - return f'DeleteMonitoredItemsRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' + return 'DeleteMonitoredItemsRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class DeleteMonitoredItemsResponse(FrozenClass): - """ + ''' :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: @@ -6775,7 +9697,7 @@ class DeleteMonitoredItemsResponse(FrozenClass): :vartype Results: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -6792,13 +9714,16 @@ def __init__(self): self._freeze = True def __str__(self): - return f'DeleteMonitoredItemsResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' + return 'DeleteMonitoredItemsResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ + 'Results:' + str(self.Results) + ', ' + \ + 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' __repr__ = __str__ class CreateSubscriptionParameters(FrozenClass): - """ + ''' :ivar RequestedPublishingInterval: :vartype RequestedPublishingInterval: Double :ivar RequestedLifetimeCount: @@ -6811,7 +9736,7 @@ class CreateSubscriptionParameters(FrozenClass): :vartype PublishingEnabled: Boolean :ivar Priority: :vartype Priority: Byte - """ + ''' ua_types = [ ('RequestedPublishingInterval', 'Double'), @@ -6832,20 +9757,25 @@ def __init__(self): self._freeze = True def __str__(self): - return f'CreateSubscriptionParameters(RequestedPublishingInterval:{self.RequestedPublishingInterval}, RequestedLifetimeCount:{self.RequestedLifetimeCount}, RequestedMaxKeepAliveCount:{self.RequestedMaxKeepAliveCount}, MaxNotificationsPerPublish:{self.MaxNotificationsPerPublish}, PublishingEnabled:{self.PublishingEnabled}, Priority:{self.Priority})' + return 'CreateSubscriptionParameters(' + 'RequestedPublishingInterval:' + str(self.RequestedPublishingInterval) + ', ' + \ + 'RequestedLifetimeCount:' + str(self.RequestedLifetimeCount) + ', ' + \ + 'RequestedMaxKeepAliveCount:' + str(self.RequestedMaxKeepAliveCount) + ', ' + \ + 'MaxNotificationsPerPublish:' + str(self.MaxNotificationsPerPublish) + ', ' + \ + 'PublishingEnabled:' + str(self.PublishingEnabled) + ', ' + \ + 'Priority:' + str(self.Priority) + ')' __repr__ = __str__ class CreateSubscriptionRequest(FrozenClass): - """ + ''' :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: CreateSubscriptionParameters - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -6860,13 +9790,15 @@ def __init__(self): self._freeze = True def __str__(self): - return f'CreateSubscriptionRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' + return 'CreateSubscriptionRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class CreateSubscriptionResult(FrozenClass): - """ + ''' :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar RevisedPublishingInterval: @@ -6875,7 +9807,7 @@ class CreateSubscriptionResult(FrozenClass): :vartype RevisedLifetimeCount: UInt32 :ivar RevisedMaxKeepAliveCount: :vartype RevisedMaxKeepAliveCount: UInt32 - """ + ''' ua_types = [ ('SubscriptionId', 'UInt32'), @@ -6892,20 +9824,23 @@ def __init__(self): self._freeze = True def __str__(self): - return f'CreateSubscriptionResult(SubscriptionId:{self.SubscriptionId}, RevisedPublishingInterval:{self.RevisedPublishingInterval}, RevisedLifetimeCount:{self.RevisedLifetimeCount}, RevisedMaxKeepAliveCount:{self.RevisedMaxKeepAliveCount})' + return 'CreateSubscriptionResult(' + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ + 'RevisedPublishingInterval:' + str(self.RevisedPublishingInterval) + ', ' + \ + 'RevisedLifetimeCount:' + str(self.RevisedLifetimeCount) + ', ' + \ + 'RevisedMaxKeepAliveCount:' + str(self.RevisedMaxKeepAliveCount) + ')' __repr__ = __str__ class CreateSubscriptionResponse(FrozenClass): - """ + ''' :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: CreateSubscriptionResult - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -6920,13 +9855,15 @@ def __init__(self): self._freeze = True def __str__(self): - return f'CreateSubscriptionResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' + return 'CreateSubscriptionResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class ModifySubscriptionParameters(FrozenClass): - """ + ''' :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar RequestedPublishingInterval: @@ -6939,7 +9876,7 @@ class ModifySubscriptionParameters(FrozenClass): :vartype MaxNotificationsPerPublish: UInt32 :ivar Priority: :vartype Priority: Byte - """ + ''' ua_types = [ ('SubscriptionId', 'UInt32'), @@ -6960,20 +9897,25 @@ def __init__(self): self._freeze = True def __str__(self): - return f'ModifySubscriptionParameters(SubscriptionId:{self.SubscriptionId}, RequestedPublishingInterval:{self.RequestedPublishingInterval}, RequestedLifetimeCount:{self.RequestedLifetimeCount}, RequestedMaxKeepAliveCount:{self.RequestedMaxKeepAliveCount}, MaxNotificationsPerPublish:{self.MaxNotificationsPerPublish}, Priority:{self.Priority})' + return 'ModifySubscriptionParameters(' + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ + 'RequestedPublishingInterval:' + str(self.RequestedPublishingInterval) + ', ' + \ + 'RequestedLifetimeCount:' + str(self.RequestedLifetimeCount) + ', ' + \ + 'RequestedMaxKeepAliveCount:' + str(self.RequestedMaxKeepAliveCount) + ', ' + \ + 'MaxNotificationsPerPublish:' + str(self.MaxNotificationsPerPublish) + ', ' + \ + 'Priority:' + str(self.Priority) + ')' __repr__ = __str__ class ModifySubscriptionRequest(FrozenClass): - """ + ''' :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: ModifySubscriptionParameters - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -6988,20 +9930,22 @@ def __init__(self): self._freeze = True def __str__(self): - return f'ModifySubscriptionRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' + return 'ModifySubscriptionRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class ModifySubscriptionResult(FrozenClass): - """ + ''' :ivar RevisedPublishingInterval: :vartype RevisedPublishingInterval: Double :ivar RevisedLifetimeCount: :vartype RevisedLifetimeCount: UInt32 :ivar RevisedMaxKeepAliveCount: :vartype RevisedMaxKeepAliveCount: UInt32 - """ + ''' ua_types = [ ('RevisedPublishingInterval', 'Double'), @@ -7016,20 +9960,22 @@ def __init__(self): self._freeze = True def __str__(self): - return f'ModifySubscriptionResult(RevisedPublishingInterval:{self.RevisedPublishingInterval}, RevisedLifetimeCount:{self.RevisedLifetimeCount}, RevisedMaxKeepAliveCount:{self.RevisedMaxKeepAliveCount})' + return 'ModifySubscriptionResult(' + 'RevisedPublishingInterval:' + str(self.RevisedPublishingInterval) + ', ' + \ + 'RevisedLifetimeCount:' + str(self.RevisedLifetimeCount) + ', ' + \ + 'RevisedMaxKeepAliveCount:' + str(self.RevisedMaxKeepAliveCount) + ')' __repr__ = __str__ class ModifySubscriptionResponse(FrozenClass): - """ + ''' :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: ModifySubscriptionResult - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -7044,18 +9990,20 @@ def __init__(self): self._freeze = True def __str__(self): - return f'ModifySubscriptionResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' + return 'ModifySubscriptionResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class SetPublishingModeParameters(FrozenClass): - """ + ''' :ivar PublishingEnabled: :vartype PublishingEnabled: Boolean :ivar SubscriptionIds: :vartype SubscriptionIds: UInt32 - """ + ''' ua_types = [ ('PublishingEnabled', 'Boolean'), @@ -7068,20 +10016,21 @@ def __init__(self): self._freeze = True def __str__(self): - return f'SetPublishingModeParameters(PublishingEnabled:{self.PublishingEnabled}, SubscriptionIds:{self.SubscriptionIds})' + return 'SetPublishingModeParameters(' + 'PublishingEnabled:' + str(self.PublishingEnabled) + ', ' + \ + 'SubscriptionIds:' + str(self.SubscriptionIds) + ')' __repr__ = __str__ class SetPublishingModeRequest(FrozenClass): - """ + ''' :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: SetPublishingModeParameters - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -7096,18 +10045,20 @@ def __init__(self): self._freeze = True def __str__(self): - return f'SetPublishingModeRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' + return 'SetPublishingModeRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class SetPublishingModeResult(FrozenClass): - """ + ''' :ivar Results: :vartype Results: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - """ + ''' ua_types = [ ('Results', 'ListOfStatusCode'), @@ -7120,20 +10071,21 @@ def __init__(self): self._freeze = True def __str__(self): - return f'SetPublishingModeResult(Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' + return 'SetPublishingModeResult(' + 'Results:' + str(self.Results) + ', ' + \ + 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' __repr__ = __str__ class SetPublishingModeResponse(FrozenClass): - """ + ''' :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: SetPublishingModeResult - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -7148,20 +10100,22 @@ def __init__(self): self._freeze = True def __str__(self): - return f'SetPublishingModeResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' + return 'SetPublishingModeResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class NotificationMessage(FrozenClass): - """ + ''' :ivar SequenceNumber: :vartype SequenceNumber: UInt32 :ivar PublishTime: :vartype PublishTime: DateTime :ivar NotificationData: :vartype NotificationData: ExtensionObject - """ + ''' ua_types = [ ('SequenceNumber', 'UInt32'), @@ -7176,14 +10130,16 @@ def __init__(self): self._freeze = True def __str__(self): - return f'NotificationMessage(SequenceNumber:{self.SequenceNumber}, PublishTime:{self.PublishTime}, NotificationData:{self.NotificationData})' + return 'NotificationMessage(' + 'SequenceNumber:' + str(self.SequenceNumber) + ', ' + \ + 'PublishTime:' + str(self.PublishTime) + ', ' + \ + 'NotificationData:' + str(self.NotificationData) + ')' __repr__ = __str__ class NotificationData(FrozenClass): - """ - """ + ''' + ''' ua_types = [ ] @@ -7192,18 +10148,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'NotificationData()' + return 'NotificationData(' + + ')' __repr__ = __str__ class DataChangeNotification(FrozenClass): - """ + ''' :ivar MonitoredItems: :vartype MonitoredItems: MonitoredItemNotification :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - """ + ''' ua_types = [ ('MonitoredItems', 'ListOfMonitoredItemNotification'), @@ -7216,18 +10172,19 @@ def __init__(self): self._freeze = True def __str__(self): - return f'DataChangeNotification(MonitoredItems:{self.MonitoredItems}, DiagnosticInfos:{self.DiagnosticInfos})' + return 'DataChangeNotification(' + 'MonitoredItems:' + str(self.MonitoredItems) + ', ' + \ + 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' __repr__ = __str__ class MonitoredItemNotification(FrozenClass): - """ + ''' :ivar ClientHandle: :vartype ClientHandle: UInt32 :ivar Value: :vartype Value: DataValue - """ + ''' ua_types = [ ('ClientHandle', 'UInt32'), @@ -7240,16 +10197,17 @@ def __init__(self): self._freeze = True def __str__(self): - return f'MonitoredItemNotification(ClientHandle:{self.ClientHandle}, Value:{self.Value})' + return 'MonitoredItemNotification(' + 'ClientHandle:' + str(self.ClientHandle) + ', ' + \ + 'Value:' + str(self.Value) + ')' __repr__ = __str__ class EventNotificationList(FrozenClass): - """ + ''' :ivar Events: :vartype Events: EventFieldList - """ + ''' ua_types = [ ('Events', 'ListOfEventFieldList'), @@ -7260,18 +10218,18 @@ def __init__(self): self._freeze = True def __str__(self): - return f'EventNotificationList(Events:{self.Events})' + return 'EventNotificationList(' + 'Events:' + str(self.Events) + ')' __repr__ = __str__ class EventFieldList(FrozenClass): - """ + ''' :ivar ClientHandle: :vartype ClientHandle: UInt32 :ivar EventFields: :vartype EventFields: Variant - """ + ''' ua_types = [ ('ClientHandle', 'UInt32'), @@ -7284,16 +10242,17 @@ def __init__(self): self._freeze = True def __str__(self): - return f'EventFieldList(ClientHandle:{self.ClientHandle}, EventFields:{self.EventFields})' + return 'EventFieldList(' + 'ClientHandle:' + str(self.ClientHandle) + ', ' + \ + 'EventFields:' + str(self.EventFields) + ')' __repr__ = __str__ class HistoryEventFieldList(FrozenClass): - """ + ''' :ivar EventFields: :vartype EventFields: Variant - """ + ''' ua_types = [ ('EventFields', 'ListOfVariant'), @@ -7304,18 +10263,18 @@ def __init__(self): self._freeze = True def __str__(self): - return f'HistoryEventFieldList(EventFields:{self.EventFields})' + return 'HistoryEventFieldList(' + 'EventFields:' + str(self.EventFields) + ')' __repr__ = __str__ class StatusChangeNotification(FrozenClass): - """ + ''' :ivar Status: :vartype Status: StatusCode :ivar DiagnosticInfo: :vartype DiagnosticInfo: DiagnosticInfo - """ + ''' ua_types = [ ('Status', 'StatusCode'), @@ -7328,18 +10287,19 @@ def __init__(self): self._freeze = True def __str__(self): - return f'StatusChangeNotification(Status:{self.Status}, DiagnosticInfo:{self.DiagnosticInfo})' + return 'StatusChangeNotification(' + 'Status:' + str(self.Status) + ', ' + \ + 'DiagnosticInfo:' + str(self.DiagnosticInfo) + ')' __repr__ = __str__ class SubscriptionAcknowledgement(FrozenClass): - """ + ''' :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar SequenceNumber: :vartype SequenceNumber: UInt32 - """ + ''' ua_types = [ ('SubscriptionId', 'UInt32'), @@ -7352,16 +10312,17 @@ def __init__(self): self._freeze = True def __str__(self): - return f'SubscriptionAcknowledgement(SubscriptionId:{self.SubscriptionId}, SequenceNumber:{self.SequenceNumber})' + return 'SubscriptionAcknowledgement(' + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ + 'SequenceNumber:' + str(self.SequenceNumber) + ')' __repr__ = __str__ class PublishParameters(FrozenClass): - """ + ''' :ivar SubscriptionAcknowledgements: :vartype SubscriptionAcknowledgements: SubscriptionAcknowledgement - """ + ''' ua_types = [ ('SubscriptionAcknowledgements', 'ListOfSubscriptionAcknowledgement'), @@ -7372,20 +10333,20 @@ def __init__(self): self._freeze = True def __str__(self): - return f'PublishParameters(SubscriptionAcknowledgements:{self.SubscriptionAcknowledgements})' + return 'PublishParameters(' + 'SubscriptionAcknowledgements:' + str(self.SubscriptionAcknowledgements) + ')' __repr__ = __str__ class PublishRequest(FrozenClass): - """ + ''' :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: PublishParameters - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -7400,13 +10361,15 @@ def __init__(self): self._freeze = True def __str__(self): - return f'PublishRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' + return 'PublishRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class PublishResult(FrozenClass): - """ + ''' :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar AvailableSequenceNumbers: @@ -7419,7 +10382,7 @@ class PublishResult(FrozenClass): :vartype Results: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - """ + ''' ua_types = [ ('SubscriptionId', 'UInt32'), @@ -7440,20 +10403,25 @@ def __init__(self): self._freeze = True def __str__(self): - return f'PublishResult(SubscriptionId:{self.SubscriptionId}, AvailableSequenceNumbers:{self.AvailableSequenceNumbers}, MoreNotifications:{self.MoreNotifications}, NotificationMessage:{self.NotificationMessage}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' + return 'PublishResult(' + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ + 'AvailableSequenceNumbers:' + str(self.AvailableSequenceNumbers) + ', ' + \ + 'MoreNotifications:' + str(self.MoreNotifications) + ', ' + \ + 'NotificationMessage:' + str(self.NotificationMessage) + ', ' + \ + 'Results:' + str(self.Results) + ', ' + \ + 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' __repr__ = __str__ class PublishResponse(FrozenClass): - """ + ''' :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: PublishResult - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -7468,18 +10436,20 @@ def __init__(self): self._freeze = True def __str__(self): - return f'PublishResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' + return 'PublishResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class RepublishParameters(FrozenClass): - """ + ''' :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar RetransmitSequenceNumber: :vartype RetransmitSequenceNumber: UInt32 - """ + ''' ua_types = [ ('SubscriptionId', 'UInt32'), @@ -7492,20 +10462,21 @@ def __init__(self): self._freeze = True def __str__(self): - return f'RepublishParameters(SubscriptionId:{self.SubscriptionId}, RetransmitSequenceNumber:{self.RetransmitSequenceNumber})' + return 'RepublishParameters(' + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ + 'RetransmitSequenceNumber:' + str(self.RetransmitSequenceNumber) + ')' __repr__ = __str__ class RepublishRequest(FrozenClass): - """ + ''' :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: RepublishParameters - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -7520,20 +10491,22 @@ def __init__(self): self._freeze = True def __str__(self): - return f'RepublishRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' + return 'RepublishRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class RepublishResponse(FrozenClass): - """ + ''' :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar NotificationMessage: :vartype NotificationMessage: NotificationMessage - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -7548,18 +10521,20 @@ def __init__(self): self._freeze = True def __str__(self): - return f'RepublishResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, NotificationMessage:{self.NotificationMessage})' + return 'RepublishResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ + 'NotificationMessage:' + str(self.NotificationMessage) + ')' __repr__ = __str__ class TransferResult(FrozenClass): - """ + ''' :ivar StatusCode: :vartype StatusCode: StatusCode :ivar AvailableSequenceNumbers: :vartype AvailableSequenceNumbers: UInt32 - """ + ''' ua_types = [ ('StatusCode', 'StatusCode'), @@ -7572,18 +10547,19 @@ def __init__(self): self._freeze = True def __str__(self): - return f'TransferResult(StatusCode:{self.StatusCode}, AvailableSequenceNumbers:{self.AvailableSequenceNumbers})' + return 'TransferResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ + 'AvailableSequenceNumbers:' + str(self.AvailableSequenceNumbers) + ')' __repr__ = __str__ class TransferSubscriptionsParameters(FrozenClass): - """ + ''' :ivar SubscriptionIds: :vartype SubscriptionIds: UInt32 :ivar SendInitialValues: :vartype SendInitialValues: Boolean - """ + ''' ua_types = [ ('SubscriptionIds', 'ListOfUInt32'), @@ -7596,20 +10572,21 @@ def __init__(self): self._freeze = True def __str__(self): - return f'TransferSubscriptionsParameters(SubscriptionIds:{self.SubscriptionIds}, SendInitialValues:{self.SendInitialValues})' + return 'TransferSubscriptionsParameters(' + 'SubscriptionIds:' + str(self.SubscriptionIds) + ', ' + \ + 'SendInitialValues:' + str(self.SendInitialValues) + ')' __repr__ = __str__ class TransferSubscriptionsRequest(FrozenClass): - """ + ''' :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: TransferSubscriptionsParameters - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -7624,18 +10601,20 @@ def __init__(self): self._freeze = True def __str__(self): - return f'TransferSubscriptionsRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' + return 'TransferSubscriptionsRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class TransferSubscriptionsResult(FrozenClass): - """ + ''' :ivar Results: :vartype Results: TransferResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - """ + ''' ua_types = [ ('Results', 'ListOfTransferResult'), @@ -7648,20 +10627,21 @@ def __init__(self): self._freeze = True def __str__(self): - return f'TransferSubscriptionsResult(Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' + return 'TransferSubscriptionsResult(' + 'Results:' + str(self.Results) + ', ' + \ + 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' __repr__ = __str__ class TransferSubscriptionsResponse(FrozenClass): - """ + ''' :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: TransferSubscriptionsResult - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -7676,16 +10656,18 @@ def __init__(self): self._freeze = True def __str__(self): - return f'TransferSubscriptionsResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' + return 'TransferSubscriptionsResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class DeleteSubscriptionsParameters(FrozenClass): - """ + ''' :ivar SubscriptionIds: :vartype SubscriptionIds: UInt32 - """ + ''' ua_types = [ ('SubscriptionIds', 'ListOfUInt32'), @@ -7696,20 +10678,20 @@ def __init__(self): self._freeze = True def __str__(self): - return f'DeleteSubscriptionsParameters(SubscriptionIds:{self.SubscriptionIds})' + return 'DeleteSubscriptionsParameters(' + 'SubscriptionIds:' + str(self.SubscriptionIds) + ')' __repr__ = __str__ class DeleteSubscriptionsRequest(FrozenClass): - """ + ''' :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: DeleteSubscriptionsParameters - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -7724,13 +10706,15 @@ def __init__(self): self._freeze = True def __str__(self): - return f'DeleteSubscriptionsRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' + return 'DeleteSubscriptionsRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ + 'Parameters:' + str(self.Parameters) + ')' __repr__ = __str__ class DeleteSubscriptionsResponse(FrozenClass): - """ + ''' :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: @@ -7739,7 +10723,7 @@ class DeleteSubscriptionsResponse(FrozenClass): :vartype Results: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - """ + ''' ua_types = [ ('TypeId', 'NodeId'), @@ -7756,13 +10740,16 @@ def __init__(self): self._freeze = True def __str__(self): - return f'DeleteSubscriptionsResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' + return 'DeleteSubscriptionsResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ + 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ + 'Results:' + str(self.Results) + ', ' + \ + 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' __repr__ = __str__ class BuildInfo(FrozenClass): - """ + ''' :ivar ProductUri: :vartype ProductUri: String :ivar ManufacturerName: @@ -7775,7 +10762,7 @@ class BuildInfo(FrozenClass): :vartype BuildNumber: String :ivar BuildDate: :vartype BuildDate: DateTime - """ + ''' ua_types = [ ('ProductUri', 'String'), @@ -7796,20 +10783,25 @@ def __init__(self): self._freeze = True def __str__(self): - return f'BuildInfo(ProductUri:{self.ProductUri}, ManufacturerName:{self.ManufacturerName}, ProductName:{self.ProductName}, SoftwareVersion:{self.SoftwareVersion}, BuildNumber:{self.BuildNumber}, BuildDate:{self.BuildDate})' + return 'BuildInfo(' + 'ProductUri:' + str(self.ProductUri) + ', ' + \ + 'ManufacturerName:' + str(self.ManufacturerName) + ', ' + \ + 'ProductName:' + str(self.ProductName) + ', ' + \ + 'SoftwareVersion:' + str(self.SoftwareVersion) + ', ' + \ + 'BuildNumber:' + str(self.BuildNumber) + ', ' + \ + 'BuildDate:' + str(self.BuildDate) + ')' __repr__ = __str__ class RedundantServerDataType(FrozenClass): - """ + ''' :ivar ServerId: :vartype ServerId: String :ivar ServiceLevel: :vartype ServiceLevel: Byte :ivar ServerState: :vartype ServerState: ServerState - """ + ''' ua_types = [ ('ServerId', 'String'), @@ -7824,16 +10816,18 @@ def __init__(self): self._freeze = True def __str__(self): - return f'RedundantServerDataType(ServerId:{self.ServerId}, ServiceLevel:{self.ServiceLevel}, ServerState:{self.ServerState})' + return 'RedundantServerDataType(' + 'ServerId:' + str(self.ServerId) + ', ' + \ + 'ServiceLevel:' + str(self.ServiceLevel) + ', ' + \ + 'ServerState:' + str(self.ServerState) + ')' __repr__ = __str__ class EndpointUrlListDataType(FrozenClass): - """ + ''' :ivar EndpointUrlList: :vartype EndpointUrlList: String - """ + ''' ua_types = [ ('EndpointUrlList', 'ListOfString'), @@ -7844,18 +10838,18 @@ def __init__(self): self._freeze = True def __str__(self): - return f'EndpointUrlListDataType(EndpointUrlList:{self.EndpointUrlList})' + return 'EndpointUrlListDataType(' + 'EndpointUrlList:' + str(self.EndpointUrlList) + ')' __repr__ = __str__ class NetworkGroupDataType(FrozenClass): - """ + ''' :ivar ServerUri: :vartype ServerUri: String :ivar NetworkPaths: :vartype NetworkPaths: EndpointUrlListDataType - """ + ''' ua_types = [ ('ServerUri', 'String'), @@ -7868,13 +10862,14 @@ def __init__(self): self._freeze = True def __str__(self): - return f'NetworkGroupDataType(ServerUri:{self.ServerUri}, NetworkPaths:{self.NetworkPaths})' + return 'NetworkGroupDataType(' + 'ServerUri:' + str(self.ServerUri) + ', ' + \ + 'NetworkPaths:' + str(self.NetworkPaths) + ')' __repr__ = __str__ class SamplingIntervalDiagnosticsDataType(FrozenClass): - """ + ''' :ivar SamplingInterval: :vartype SamplingInterval: Double :ivar MonitoredItemCount: @@ -7883,7 +10878,7 @@ class SamplingIntervalDiagnosticsDataType(FrozenClass): :vartype MaxMonitoredItemCount: UInt32 :ivar DisabledMonitoredItemCount: :vartype DisabledMonitoredItemCount: UInt32 - """ + ''' ua_types = [ ('SamplingInterval', 'Double'), @@ -7900,13 +10895,16 @@ def __init__(self): self._freeze = True def __str__(self): - return f'SamplingIntervalDiagnosticsDataType(SamplingInterval:{self.SamplingInterval}, MonitoredItemCount:{self.MonitoredItemCount}, MaxMonitoredItemCount:{self.MaxMonitoredItemCount}, DisabledMonitoredItemCount:{self.DisabledMonitoredItemCount})' + return 'SamplingIntervalDiagnosticsDataType(' + 'SamplingInterval:' + str(self.SamplingInterval) + ', ' + \ + 'MonitoredItemCount:' + str(self.MonitoredItemCount) + ', ' + \ + 'MaxMonitoredItemCount:' + str(self.MaxMonitoredItemCount) + ', ' + \ + 'DisabledMonitoredItemCount:' + str(self.DisabledMonitoredItemCount) + ')' __repr__ = __str__ class ServerDiagnosticsSummaryDataType(FrozenClass): - """ + ''' :ivar ServerViewCount: :vartype ServerViewCount: UInt32 :ivar CurrentSessionCount: @@ -7931,7 +10929,7 @@ class ServerDiagnosticsSummaryDataType(FrozenClass): :vartype SecurityRejectedRequestsCount: UInt32 :ivar RejectedRequestsCount: :vartype RejectedRequestsCount: UInt32 - """ + ''' ua_types = [ ('ServerViewCount', 'UInt32'), @@ -7964,13 +10962,24 @@ def __init__(self): self._freeze = True def __str__(self): - return f'ServerDiagnosticsSummaryDataType(ServerViewCount:{self.ServerViewCount}, CurrentSessionCount:{self.CurrentSessionCount}, CumulatedSessionCount:{self.CumulatedSessionCount}, SecurityRejectedSessionCount:{self.SecurityRejectedSessionCount}, RejectedSessionCount:{self.RejectedSessionCount}, SessionTimeoutCount:{self.SessionTimeoutCount}, SessionAbortCount:{self.SessionAbortCount}, CurrentSubscriptionCount:{self.CurrentSubscriptionCount}, CumulatedSubscriptionCount:{self.CumulatedSubscriptionCount}, PublishingIntervalCount:{self.PublishingIntervalCount}, SecurityRejectedRequestsCount:{self.SecurityRejectedRequestsCount}, RejectedRequestsCount:{self.RejectedRequestsCount})' + return 'ServerDiagnosticsSummaryDataType(' + 'ServerViewCount:' + str(self.ServerViewCount) + ', ' + \ + 'CurrentSessionCount:' + str(self.CurrentSessionCount) + ', ' + \ + 'CumulatedSessionCount:' + str(self.CumulatedSessionCount) + ', ' + \ + 'SecurityRejectedSessionCount:' + str(self.SecurityRejectedSessionCount) + ', ' + \ + 'RejectedSessionCount:' + str(self.RejectedSessionCount) + ', ' + \ + 'SessionTimeoutCount:' + str(self.SessionTimeoutCount) + ', ' + \ + 'SessionAbortCount:' + str(self.SessionAbortCount) + ', ' + \ + 'CurrentSubscriptionCount:' + str(self.CurrentSubscriptionCount) + ', ' + \ + 'CumulatedSubscriptionCount:' + str(self.CumulatedSubscriptionCount) + ', ' + \ + 'PublishingIntervalCount:' + str(self.PublishingIntervalCount) + ', ' + \ + 'SecurityRejectedRequestsCount:' + str(self.SecurityRejectedRequestsCount) + ', ' + \ + 'RejectedRequestsCount:' + str(self.RejectedRequestsCount) + ')' __repr__ = __str__ class ServerStatusDataType(FrozenClass): - """ + ''' :ivar StartTime: :vartype StartTime: DateTime :ivar CurrentTime: @@ -7983,7 +10992,7 @@ class ServerStatusDataType(FrozenClass): :vartype SecondsTillShutdown: UInt32 :ivar ShutdownReason: :vartype ShutdownReason: LocalizedText - """ + ''' ua_types = [ ('StartTime', 'DateTime'), @@ -8004,13 +11013,18 @@ def __init__(self): self._freeze = True def __str__(self): - return f'ServerStatusDataType(StartTime:{self.StartTime}, CurrentTime:{self.CurrentTime}, State:{self.State}, BuildInfo:{self.BuildInfo}, SecondsTillShutdown:{self.SecondsTillShutdown}, ShutdownReason:{self.ShutdownReason})' + return 'ServerStatusDataType(' + 'StartTime:' + str(self.StartTime) + ', ' + \ + 'CurrentTime:' + str(self.CurrentTime) + ', ' + \ + 'State:' + str(self.State) + ', ' + \ + 'BuildInfo:' + str(self.BuildInfo) + ', ' + \ + 'SecondsTillShutdown:' + str(self.SecondsTillShutdown) + ', ' + \ + 'ShutdownReason:' + str(self.ShutdownReason) + ')' __repr__ = __str__ class SessionDiagnosticsDataType(FrozenClass): - """ + ''' :ivar SessionId: :vartype SessionId: NodeId :ivar SessionName: @@ -8097,7 +11111,7 @@ class SessionDiagnosticsDataType(FrozenClass): :vartype RegisterNodesCount: ServiceCounterDataType :ivar UnregisterNodesCount: :vartype UnregisterNodesCount: ServiceCounterDataType - """ + ''' ua_types = [ ('SessionId', 'NodeId'), @@ -8192,13 +11206,55 @@ def __init__(self): self._freeze = True def __str__(self): - return f'SessionDiagnosticsDataType(SessionId:{self.SessionId}, SessionName:{self.SessionName}, ClientDescription:{self.ClientDescription}, ServerUri:{self.ServerUri}, EndpointUrl:{self.EndpointUrl}, LocaleIds:{self.LocaleIds}, ActualSessionTimeout:{self.ActualSessionTimeout}, MaxResponseMessageSize:{self.MaxResponseMessageSize}, ClientConnectionTime:{self.ClientConnectionTime}, ClientLastContactTime:{self.ClientLastContactTime}, CurrentSubscriptionsCount:{self.CurrentSubscriptionsCount}, CurrentMonitoredItemsCount:{self.CurrentMonitoredItemsCount}, CurrentPublishRequestsInQueue:{self.CurrentPublishRequestsInQueue}, TotalRequestCount:{self.TotalRequestCount}, UnauthorizedRequestCount:{self.UnauthorizedRequestCount}, ReadCount:{self.ReadCount}, HistoryReadCount:{self.HistoryReadCount}, WriteCount:{self.WriteCount}, HistoryUpdateCount:{self.HistoryUpdateCount}, CallCount:{self.CallCount}, CreateMonitoredItemsCount:{self.CreateMonitoredItemsCount}, ModifyMonitoredItemsCount:{self.ModifyMonitoredItemsCount}, SetMonitoringModeCount:{self.SetMonitoringModeCount}, SetTriggeringCount:{self.SetTriggeringCount}, DeleteMonitoredItemsCount:{self.DeleteMonitoredItemsCount}, CreateSubscriptionCount:{self.CreateSubscriptionCount}, ModifySubscriptionCount:{self.ModifySubscriptionCount}, SetPublishingModeCount:{self.SetPublishingModeCount}, PublishCount:{self.PublishCount}, RepublishCount:{self.RepublishCount}, TransferSubscriptionsCount:{self.TransferSubscriptionsCount}, DeleteSubscriptionsCount:{self.DeleteSubscriptionsCount}, AddNodesCount:{self.AddNodesCount}, AddReferencesCount:{self.AddReferencesCount}, DeleteNodesCount:{self.DeleteNodesCount}, DeleteReferencesCount:{self.DeleteReferencesCount}, BrowseCount:{self.BrowseCount}, BrowseNextCount:{self.BrowseNextCount}, TranslateBrowsePathsToNodeIdsCount:{self.TranslateBrowsePathsToNodeIdsCount}, QueryFirstCount:{self.QueryFirstCount}, QueryNextCount:{self.QueryNextCount}, RegisterNodesCount:{self.RegisterNodesCount}, UnregisterNodesCount:{self.UnregisterNodesCount})' + return 'SessionDiagnosticsDataType(' + 'SessionId:' + str(self.SessionId) + ', ' + \ + 'SessionName:' + str(self.SessionName) + ', ' + \ + 'ClientDescription:' + str(self.ClientDescription) + ', ' + \ + 'ServerUri:' + str(self.ServerUri) + ', ' + \ + 'EndpointUrl:' + str(self.EndpointUrl) + ', ' + \ + 'LocaleIds:' + str(self.LocaleIds) + ', ' + \ + 'ActualSessionTimeout:' + str(self.ActualSessionTimeout) + ', ' + \ + 'MaxResponseMessageSize:' + str(self.MaxResponseMessageSize) + ', ' + \ + 'ClientConnectionTime:' + str(self.ClientConnectionTime) + ', ' + \ + 'ClientLastContactTime:' + str(self.ClientLastContactTime) + ', ' + \ + 'CurrentSubscriptionsCount:' + str(self.CurrentSubscriptionsCount) + ', ' + \ + 'CurrentMonitoredItemsCount:' + str(self.CurrentMonitoredItemsCount) + ', ' + \ + 'CurrentPublishRequestsInQueue:' + str(self.CurrentPublishRequestsInQueue) + ', ' + \ + 'TotalRequestCount:' + str(self.TotalRequestCount) + ', ' + \ + 'UnauthorizedRequestCount:' + str(self.UnauthorizedRequestCount) + ', ' + \ + 'ReadCount:' + str(self.ReadCount) + ', ' + \ + 'HistoryReadCount:' + str(self.HistoryReadCount) + ', ' + \ + 'WriteCount:' + str(self.WriteCount) + ', ' + \ + 'HistoryUpdateCount:' + str(self.HistoryUpdateCount) + ', ' + \ + 'CallCount:' + str(self.CallCount) + ', ' + \ + 'CreateMonitoredItemsCount:' + str(self.CreateMonitoredItemsCount) + ', ' + \ + 'ModifyMonitoredItemsCount:' + str(self.ModifyMonitoredItemsCount) + ', ' + \ + 'SetMonitoringModeCount:' + str(self.SetMonitoringModeCount) + ', ' + \ + 'SetTriggeringCount:' + str(self.SetTriggeringCount) + ', ' + \ + 'DeleteMonitoredItemsCount:' + str(self.DeleteMonitoredItemsCount) + ', ' + \ + 'CreateSubscriptionCount:' + str(self.CreateSubscriptionCount) + ', ' + \ + 'ModifySubscriptionCount:' + str(self.ModifySubscriptionCount) + ', ' + \ + 'SetPublishingModeCount:' + str(self.SetPublishingModeCount) + ', ' + \ + 'PublishCount:' + str(self.PublishCount) + ', ' + \ + 'RepublishCount:' + str(self.RepublishCount) + ', ' + \ + 'TransferSubscriptionsCount:' + str(self.TransferSubscriptionsCount) + ', ' + \ + 'DeleteSubscriptionsCount:' + str(self.DeleteSubscriptionsCount) + ', ' + \ + 'AddNodesCount:' + str(self.AddNodesCount) + ', ' + \ + 'AddReferencesCount:' + str(self.AddReferencesCount) + ', ' + \ + 'DeleteNodesCount:' + str(self.DeleteNodesCount) + ', ' + \ + 'DeleteReferencesCount:' + str(self.DeleteReferencesCount) + ', ' + \ + 'BrowseCount:' + str(self.BrowseCount) + ', ' + \ + 'BrowseNextCount:' + str(self.BrowseNextCount) + ', ' + \ + 'TranslateBrowsePathsToNodeIdsCount:' + str(self.TranslateBrowsePathsToNodeIdsCount) + ', ' + \ + 'QueryFirstCount:' + str(self.QueryFirstCount) + ', ' + \ + 'QueryNextCount:' + str(self.QueryNextCount) + ', ' + \ + 'RegisterNodesCount:' + str(self.RegisterNodesCount) + ', ' + \ + 'UnregisterNodesCount:' + str(self.UnregisterNodesCount) + ')' __repr__ = __str__ class SessionSecurityDiagnosticsDataType(FrozenClass): - """ + ''' :ivar SessionId: :vartype SessionId: NodeId :ivar ClientUserIdOfSession: @@ -8217,7 +11273,7 @@ class SessionSecurityDiagnosticsDataType(FrozenClass): :vartype SecurityPolicyUri: String :ivar ClientCertificate: :vartype ClientCertificate: ByteString - """ + ''' ua_types = [ ('SessionId', 'NodeId'), @@ -8244,18 +11300,26 @@ def __init__(self): self._freeze = True def __str__(self): - return f'SessionSecurityDiagnosticsDataType(SessionId:{self.SessionId}, ClientUserIdOfSession:{self.ClientUserIdOfSession}, ClientUserIdHistory:{self.ClientUserIdHistory}, AuthenticationMechanism:{self.AuthenticationMechanism}, Encoding:{self.Encoding}, TransportProtocol:{self.TransportProtocol}, SecurityMode:{self.SecurityMode}, SecurityPolicyUri:{self.SecurityPolicyUri}, ClientCertificate:{self.ClientCertificate})' + return 'SessionSecurityDiagnosticsDataType(' + 'SessionId:' + str(self.SessionId) + ', ' + \ + 'ClientUserIdOfSession:' + str(self.ClientUserIdOfSession) + ', ' + \ + 'ClientUserIdHistory:' + str(self.ClientUserIdHistory) + ', ' + \ + 'AuthenticationMechanism:' + str(self.AuthenticationMechanism) + ', ' + \ + 'Encoding:' + str(self.Encoding) + ', ' + \ + 'TransportProtocol:' + str(self.TransportProtocol) + ', ' + \ + 'SecurityMode:' + str(self.SecurityMode) + ', ' + \ + 'SecurityPolicyUri:' + str(self.SecurityPolicyUri) + ', ' + \ + 'ClientCertificate:' + str(self.ClientCertificate) + ')' __repr__ = __str__ class ServiceCounterDataType(FrozenClass): - """ + ''' :ivar TotalCount: :vartype TotalCount: UInt32 :ivar ErrorCount: :vartype ErrorCount: UInt32 - """ + ''' ua_types = [ ('TotalCount', 'UInt32'), @@ -8268,18 +11332,19 @@ def __init__(self): self._freeze = True def __str__(self): - return f'ServiceCounterDataType(TotalCount:{self.TotalCount}, ErrorCount:{self.ErrorCount})' + return 'ServiceCounterDataType(' + 'TotalCount:' + str(self.TotalCount) + ', ' + \ + 'ErrorCount:' + str(self.ErrorCount) + ')' __repr__ = __str__ class StatusResult(FrozenClass): - """ + ''' :ivar StatusCode: :vartype StatusCode: StatusCode :ivar DiagnosticInfo: :vartype DiagnosticInfo: DiagnosticInfo - """ + ''' ua_types = [ ('StatusCode', 'StatusCode'), @@ -8292,13 +11357,14 @@ def __init__(self): self._freeze = True def __str__(self): - return f'StatusResult(StatusCode:{self.StatusCode}, DiagnosticInfo:{self.DiagnosticInfo})' + return 'StatusResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ + 'DiagnosticInfo:' + str(self.DiagnosticInfo) + ')' __repr__ = __str__ class SubscriptionDiagnosticsDataType(FrozenClass): - """ + ''' :ivar SessionId: :vartype SessionId: NodeId :ivar SubscriptionId: @@ -8361,7 +11427,7 @@ class SubscriptionDiagnosticsDataType(FrozenClass): :vartype NextSequenceNumber: UInt32 :ivar EventQueueOverFlowCount: :vartype EventQueueOverFlowCount: UInt32 - """ + ''' ua_types = [ ('SessionId', 'NodeId'), @@ -8432,20 +11498,50 @@ def __init__(self): self._freeze = True def __str__(self): - return f'SubscriptionDiagnosticsDataType(SessionId:{self.SessionId}, SubscriptionId:{self.SubscriptionId}, Priority:{self.Priority}, PublishingInterval:{self.PublishingInterval}, MaxKeepAliveCount:{self.MaxKeepAliveCount}, MaxLifetimeCount:{self.MaxLifetimeCount}, MaxNotificationsPerPublish:{self.MaxNotificationsPerPublish}, PublishingEnabled:{self.PublishingEnabled}, ModifyCount:{self.ModifyCount}, EnableCount:{self.EnableCount}, DisableCount:{self.DisableCount}, RepublishRequestCount:{self.RepublishRequestCount}, RepublishMessageRequestCount:{self.RepublishMessageRequestCount}, RepublishMessageCount:{self.RepublishMessageCount}, TransferRequestCount:{self.TransferRequestCount}, TransferredToAltClientCount:{self.TransferredToAltClientCount}, TransferredToSameClientCount:{self.TransferredToSameClientCount}, PublishRequestCount:{self.PublishRequestCount}, DataChangeNotificationsCount:{self.DataChangeNotificationsCount}, EventNotificationsCount:{self.EventNotificationsCount}, NotificationsCount:{self.NotificationsCount}, LatePublishRequestCount:{self.LatePublishRequestCount}, CurrentKeepAliveCount:{self.CurrentKeepAliveCount}, CurrentLifetimeCount:{self.CurrentLifetimeCount}, UnacknowledgedMessageCount:{self.UnacknowledgedMessageCount}, DiscardedMessageCount:{self.DiscardedMessageCount}, MonitoredItemCount:{self.MonitoredItemCount}, DisabledMonitoredItemCount:{self.DisabledMonitoredItemCount}, MonitoringQueueOverflowCount:{self.MonitoringQueueOverflowCount}, NextSequenceNumber:{self.NextSequenceNumber}, EventQueueOverFlowCount:{self.EventQueueOverFlowCount})' + return 'SubscriptionDiagnosticsDataType(' + 'SessionId:' + str(self.SessionId) + ', ' + \ + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ + 'Priority:' + str(self.Priority) + ', ' + \ + 'PublishingInterval:' + str(self.PublishingInterval) + ', ' + \ + 'MaxKeepAliveCount:' + str(self.MaxKeepAliveCount) + ', ' + \ + 'MaxLifetimeCount:' + str(self.MaxLifetimeCount) + ', ' + \ + 'MaxNotificationsPerPublish:' + str(self.MaxNotificationsPerPublish) + ', ' + \ + 'PublishingEnabled:' + str(self.PublishingEnabled) + ', ' + \ + 'ModifyCount:' + str(self.ModifyCount) + ', ' + \ + 'EnableCount:' + str(self.EnableCount) + ', ' + \ + 'DisableCount:' + str(self.DisableCount) + ', ' + \ + 'RepublishRequestCount:' + str(self.RepublishRequestCount) + ', ' + \ + 'RepublishMessageRequestCount:' + str(self.RepublishMessageRequestCount) + ', ' + \ + 'RepublishMessageCount:' + str(self.RepublishMessageCount) + ', ' + \ + 'TransferRequestCount:' + str(self.TransferRequestCount) + ', ' + \ + 'TransferredToAltClientCount:' + str(self.TransferredToAltClientCount) + ', ' + \ + 'TransferredToSameClientCount:' + str(self.TransferredToSameClientCount) + ', ' + \ + 'PublishRequestCount:' + str(self.PublishRequestCount) + ', ' + \ + 'DataChangeNotificationsCount:' + str(self.DataChangeNotificationsCount) + ', ' + \ + 'EventNotificationsCount:' + str(self.EventNotificationsCount) + ', ' + \ + 'NotificationsCount:' + str(self.NotificationsCount) + ', ' + \ + 'LatePublishRequestCount:' + str(self.LatePublishRequestCount) + ', ' + \ + 'CurrentKeepAliveCount:' + str(self.CurrentKeepAliveCount) + ', ' + \ + 'CurrentLifetimeCount:' + str(self.CurrentLifetimeCount) + ', ' + \ + 'UnacknowledgedMessageCount:' + str(self.UnacknowledgedMessageCount) + ', ' + \ + 'DiscardedMessageCount:' + str(self.DiscardedMessageCount) + ', ' + \ + 'MonitoredItemCount:' + str(self.MonitoredItemCount) + ', ' + \ + 'DisabledMonitoredItemCount:' + str(self.DisabledMonitoredItemCount) + ', ' + \ + 'MonitoringQueueOverflowCount:' + str(self.MonitoringQueueOverflowCount) + ', ' + \ + 'NextSequenceNumber:' + str(self.NextSequenceNumber) + ', ' + \ + 'EventQueueOverFlowCount:' + str(self.EventQueueOverFlowCount) + ')' __repr__ = __str__ class ModelChangeStructureDataType(FrozenClass): - """ + ''' :ivar Affected: :vartype Affected: NodeId :ivar AffectedType: :vartype AffectedType: NodeId :ivar Verb: :vartype Verb: Byte - """ + ''' ua_types = [ ('Affected', 'NodeId'), @@ -8460,18 +11556,20 @@ def __init__(self): self._freeze = True def __str__(self): - return f'ModelChangeStructureDataType(Affected:{self.Affected}, AffectedType:{self.AffectedType}, Verb:{self.Verb})' + return 'ModelChangeStructureDataType(' + 'Affected:' + str(self.Affected) + ', ' + \ + 'AffectedType:' + str(self.AffectedType) + ', ' + \ + 'Verb:' + str(self.Verb) + ')' __repr__ = __str__ class SemanticChangeStructureDataType(FrozenClass): - """ + ''' :ivar Affected: :vartype Affected: NodeId :ivar AffectedType: :vartype AffectedType: NodeId - """ + ''' ua_types = [ ('Affected', 'NodeId'), @@ -8484,18 +11582,19 @@ def __init__(self): self._freeze = True def __str__(self): - return f'SemanticChangeStructureDataType(Affected:{self.Affected}, AffectedType:{self.AffectedType})' + return 'SemanticChangeStructureDataType(' + 'Affected:' + str(self.Affected) + ', ' + \ + 'AffectedType:' + str(self.AffectedType) + ')' __repr__ = __str__ class Range(FrozenClass): - """ + ''' :ivar Low: :vartype Low: Double :ivar High: :vartype High: Double - """ + ''' ua_types = [ ('Low', 'Double'), @@ -8508,13 +11607,14 @@ def __init__(self): self._freeze = True def __str__(self): - return f'Range(Low:{self.Low}, High:{self.High})' + return 'Range(' + 'Low:' + str(self.Low) + ', ' + \ + 'High:' + str(self.High) + ')' __repr__ = __str__ class EUInformation(FrozenClass): - """ + ''' :ivar NamespaceUri: :vartype NamespaceUri: String :ivar UnitId: @@ -8523,7 +11623,7 @@ class EUInformation(FrozenClass): :vartype DisplayName: LocalizedText :ivar Description: :vartype Description: LocalizedText - """ + ''' ua_types = [ ('NamespaceUri', 'String'), @@ -8540,18 +11640,21 @@ def __init__(self): self._freeze = True def __str__(self): - return f'EUInformation(NamespaceUri:{self.NamespaceUri}, UnitId:{self.UnitId}, DisplayName:{self.DisplayName}, Description:{self.Description})' + return 'EUInformation(' + 'NamespaceUri:' + str(self.NamespaceUri) + ', ' + \ + 'UnitId:' + str(self.UnitId) + ', ' + \ + 'DisplayName:' + str(self.DisplayName) + ', ' + \ + 'Description:' + str(self.Description) + ')' __repr__ = __str__ class ComplexNumberType(FrozenClass): - """ + ''' :ivar Real: :vartype Real: Float :ivar Imaginary: :vartype Imaginary: Float - """ + ''' ua_types = [ ('Real', 'Float'), @@ -8564,18 +11667,19 @@ def __init__(self): self._freeze = True def __str__(self): - return f'ComplexNumberType(Real:{self.Real}, Imaginary:{self.Imaginary})' + return 'ComplexNumberType(' + 'Real:' + str(self.Real) + ', ' + \ + 'Imaginary:' + str(self.Imaginary) + ')' __repr__ = __str__ class DoubleComplexNumberType(FrozenClass): - """ + ''' :ivar Real: :vartype Real: Double :ivar Imaginary: :vartype Imaginary: Double - """ + ''' ua_types = [ ('Real', 'Double'), @@ -8588,13 +11692,14 @@ def __init__(self): self._freeze = True def __str__(self): - return f'DoubleComplexNumberType(Real:{self.Real}, Imaginary:{self.Imaginary})' + return 'DoubleComplexNumberType(' + 'Real:' + str(self.Real) + ', ' + \ + 'Imaginary:' + str(self.Imaginary) + ')' __repr__ = __str__ class AxisInformation(FrozenClass): - """ + ''' :ivar EngineeringUnits: :vartype EngineeringUnits: EUInformation :ivar EURange: @@ -8605,7 +11710,7 @@ class AxisInformation(FrozenClass): :vartype AxisScaleType: AxisScaleEnumeration :ivar AxisSteps: :vartype AxisSteps: Double - """ + ''' ua_types = [ ('EngineeringUnits', 'EUInformation'), @@ -8624,18 +11729,22 @@ def __init__(self): self._freeze = True def __str__(self): - return f'AxisInformation(EngineeringUnits:{self.EngineeringUnits}, EURange:{self.EURange}, Title:{self.Title}, AxisScaleType:{self.AxisScaleType}, AxisSteps:{self.AxisSteps})' + return 'AxisInformation(' + 'EngineeringUnits:' + str(self.EngineeringUnits) + ', ' + \ + 'EURange:' + str(self.EURange) + ', ' + \ + 'Title:' + str(self.Title) + ', ' + \ + 'AxisScaleType:' + str(self.AxisScaleType) + ', ' + \ + 'AxisSteps:' + str(self.AxisSteps) + ')' __repr__ = __str__ class XVType(FrozenClass): - """ + ''' :ivar X: :vartype X: Double :ivar Value: :vartype Value: Float - """ + ''' ua_types = [ ('X', 'Double'), @@ -8648,13 +11757,79 @@ def __init__(self): self._freeze = True def __str__(self): - return f'XVType(X:{self.X}, Value:{self.Value})' + return 'XVType(' + 'X:' + str(self.X) + ', ' + \ + 'Value:' + str(self.Value) + ')' __repr__ = __str__ class ProgramDiagnosticDataType(FrozenClass): - """ + ''' + :ivar CreateSessionId: + :vartype CreateSessionId: NodeId + :ivar CreateClientName: + :vartype CreateClientName: String + :ivar InvocationCreationTime: + :vartype InvocationCreationTime: DateTime + :ivar LastTransitionTime: + :vartype LastTransitionTime: DateTime + :ivar LastMethodCall: + :vartype LastMethodCall: String + :ivar LastMethodSessionId: + :vartype LastMethodSessionId: NodeId + :ivar LastMethodInputArguments: + :vartype LastMethodInputArguments: Argument + :ivar LastMethodOutputArguments: + :vartype LastMethodOutputArguments: Argument + :ivar LastMethodCallTime: + :vartype LastMethodCallTime: DateTime + :ivar LastMethodReturnStatus: + :vartype LastMethodReturnStatus: StatusResult + ''' + + ua_types = [ + ('CreateSessionId', 'NodeId'), + ('CreateClientName', 'String'), + ('InvocationCreationTime', 'DateTime'), + ('LastTransitionTime', 'DateTime'), + ('LastMethodCall', 'String'), + ('LastMethodSessionId', 'NodeId'), + ('LastMethodInputArguments', 'ListOfArgument'), + ('LastMethodOutputArguments', 'ListOfArgument'), + ('LastMethodCallTime', 'DateTime'), + ('LastMethodReturnStatus', 'StatusResult'), + ] + + def __init__(self): + self.CreateSessionId = NodeId() + self.CreateClientName = None + self.InvocationCreationTime = datetime.utcnow() + self.LastTransitionTime = datetime.utcnow() + self.LastMethodCall = None + self.LastMethodSessionId = NodeId() + self.LastMethodInputArguments = [] + self.LastMethodOutputArguments = [] + self.LastMethodCallTime = datetime.utcnow() + self.LastMethodReturnStatus = StatusResult() + self._freeze = True + + def __str__(self): + return 'ProgramDiagnosticDataType(' + 'CreateSessionId:' + str(self.CreateSessionId) + ', ' + \ + 'CreateClientName:' + str(self.CreateClientName) + ', ' + \ + 'InvocationCreationTime:' + str(self.InvocationCreationTime) + ', ' + \ + 'LastTransitionTime:' + str(self.LastTransitionTime) + ', ' + \ + 'LastMethodCall:' + str(self.LastMethodCall) + ', ' + \ + 'LastMethodSessionId:' + str(self.LastMethodSessionId) + ', ' + \ + 'LastMethodInputArguments:' + str(self.LastMethodInputArguments) + ', ' + \ + 'LastMethodOutputArguments:' + str(self.LastMethodOutputArguments) + ', ' + \ + 'LastMethodCallTime:' + str(self.LastMethodCallTime) + ', ' + \ + 'LastMethodReturnStatus:' + str(self.LastMethodReturnStatus) + ')' + + __repr__ = __str__ + + +class ProgramDiagnostic2DataType(FrozenClass): + ''' :ivar CreateSessionId: :vartype CreateSessionId: NodeId :ivar CreateClientName: @@ -8671,11 +11846,15 @@ class ProgramDiagnosticDataType(FrozenClass): :vartype LastMethodInputArguments: Argument :ivar LastMethodOutputArguments: :vartype LastMethodOutputArguments: Argument + :ivar LastMethodInputValues: + :vartype LastMethodInputValues: Variant + :ivar LastMethodOutputValues: + :vartype LastMethodOutputValues: Variant :ivar LastMethodCallTime: :vartype LastMethodCallTime: DateTime :ivar LastMethodReturnStatus: :vartype LastMethodReturnStatus: StatusResult - """ + ''' ua_types = [ ('CreateSessionId', 'NodeId'), @@ -8686,6 +11865,8 @@ class ProgramDiagnosticDataType(FrozenClass): ('LastMethodSessionId', 'NodeId'), ('LastMethodInputArguments', 'ListOfArgument'), ('LastMethodOutputArguments', 'ListOfArgument'), + ('LastMethodInputValues', 'ListOfVariant'), + ('LastMethodOutputValues', 'ListOfVariant'), ('LastMethodCallTime', 'DateTime'), ('LastMethodReturnStatus', 'StatusResult'), ] @@ -8699,25 +11880,38 @@ def __init__(self): self.LastMethodSessionId = NodeId() self.LastMethodInputArguments = [] self.LastMethodOutputArguments = [] + self.LastMethodInputValues = [] + self.LastMethodOutputValues = [] self.LastMethodCallTime = datetime.utcnow() self.LastMethodReturnStatus = StatusResult() self._freeze = True def __str__(self): - return f'ProgramDiagnosticDataType(CreateSessionId:{self.CreateSessionId}, CreateClientName:{self.CreateClientName}, InvocationCreationTime:{self.InvocationCreationTime}, LastTransitionTime:{self.LastTransitionTime}, LastMethodCall:{self.LastMethodCall}, LastMethodSessionId:{self.LastMethodSessionId}, LastMethodInputArguments:{self.LastMethodInputArguments}, LastMethodOutputArguments:{self.LastMethodOutputArguments}, LastMethodCallTime:{self.LastMethodCallTime}, LastMethodReturnStatus:{self.LastMethodReturnStatus})' + return 'ProgramDiagnostic2DataType(' + 'CreateSessionId:' + str(self.CreateSessionId) + ', ' + \ + 'CreateClientName:' + str(self.CreateClientName) + ', ' + \ + 'InvocationCreationTime:' + str(self.InvocationCreationTime) + ', ' + \ + 'LastTransitionTime:' + str(self.LastTransitionTime) + ', ' + \ + 'LastMethodCall:' + str(self.LastMethodCall) + ', ' + \ + 'LastMethodSessionId:' + str(self.LastMethodSessionId) + ', ' + \ + 'LastMethodInputArguments:' + str(self.LastMethodInputArguments) + ', ' + \ + 'LastMethodOutputArguments:' + str(self.LastMethodOutputArguments) + ', ' + \ + 'LastMethodInputValues:' + str(self.LastMethodInputValues) + ', ' + \ + 'LastMethodOutputValues:' + str(self.LastMethodOutputValues) + ', ' + \ + 'LastMethodCallTime:' + str(self.LastMethodCallTime) + ', ' + \ + 'LastMethodReturnStatus:' + str(self.LastMethodReturnStatus) + ')' __repr__ = __str__ class Annotation(FrozenClass): - """ + ''' :ivar Message: :vartype Message: String :ivar UserName: :vartype UserName: String :ivar AnnotationTime: :vartype AnnotationTime: DateTime - """ + ''' ua_types = [ ('Message', 'String'), @@ -8732,20 +11926,187 @@ def __init__(self): self._freeze = True def __str__(self): - return f'Annotation(Message:{self.Message}, UserName:{self.UserName}, AnnotationTime:{self.AnnotationTime})' + return 'Annotation(' + 'Message:' + str(self.Message) + ', ' + \ + 'UserName:' + str(self.UserName) + ', ' + \ + 'AnnotationTime:' + str(self.AnnotationTime) + ')' __repr__ = __str__ +nid = FourByteNodeId(ObjectIds.KeyValuePair_Encoding_DefaultBinary) +extension_object_classes[nid] = KeyValuePair +extension_object_ids['KeyValuePair'] = nid +nid = FourByteNodeId(ObjectIds.EndpointType_Encoding_DefaultBinary) +extension_object_classes[nid] = EndpointType +extension_object_ids['EndpointType'] = nid +nid = FourByteNodeId(ObjectIds.IdentityMappingRuleType_Encoding_DefaultBinary) +extension_object_classes[nid] = IdentityMappingRuleType +extension_object_ids['IdentityMappingRuleType'] = nid nid = FourByteNodeId(ObjectIds.TrustListDataType_Encoding_DefaultBinary) extension_object_classes[nid] = TrustListDataType extension_object_ids['TrustListDataType'] = nid +nid = FourByteNodeId(ObjectIds.DecimalDataType_Encoding_DefaultBinary) +extension_object_classes[nid] = DecimalDataType +extension_object_ids['DecimalDataType'] = nid +nid = FourByteNodeId(ObjectIds.DataTypeSchemaHeader_Encoding_DefaultBinary) +extension_object_classes[nid] = DataTypeSchemaHeader +extension_object_ids['DataTypeSchemaHeader'] = nid +nid = FourByteNodeId(ObjectIds.DataTypeDescription_Encoding_DefaultBinary) +extension_object_classes[nid] = DataTypeDescription +extension_object_ids['DataTypeDescription'] = nid +nid = FourByteNodeId(ObjectIds.StructureDescription_Encoding_DefaultBinary) +extension_object_classes[nid] = StructureDescription +extension_object_ids['StructureDescription'] = nid +nid = FourByteNodeId(ObjectIds.EnumDescription_Encoding_DefaultBinary) +extension_object_classes[nid] = EnumDescription +extension_object_ids['EnumDescription'] = nid +nid = FourByteNodeId(ObjectIds.SimpleTypeDescription_Encoding_DefaultBinary) +extension_object_classes[nid] = SimpleTypeDescription +extension_object_ids['SimpleTypeDescription'] = nid +nid = FourByteNodeId(ObjectIds.UABinaryFileDataType_Encoding_DefaultBinary) +extension_object_classes[nid] = UABinaryFileDataType +extension_object_ids['UABinaryFileDataType'] = nid +nid = FourByteNodeId(ObjectIds.DataSetMetaDataType_Encoding_DefaultBinary) +extension_object_classes[nid] = DataSetMetaDataType +extension_object_ids['DataSetMetaDataType'] = nid +nid = FourByteNodeId(ObjectIds.FieldMetaData_Encoding_DefaultBinary) +extension_object_classes[nid] = FieldMetaData +extension_object_ids['FieldMetaData'] = nid +nid = FourByteNodeId(ObjectIds.ConfigurationVersionDataType_Encoding_DefaultBinary) +extension_object_classes[nid] = ConfigurationVersionDataType +extension_object_ids['ConfigurationVersionDataType'] = nid +nid = FourByteNodeId(ObjectIds.PublishedDataSetDataType_Encoding_DefaultBinary) +extension_object_classes[nid] = PublishedDataSetDataType +extension_object_ids['PublishedDataSetDataType'] = nid +nid = FourByteNodeId(ObjectIds.PublishedDataSetSourceDataType_Encoding_DefaultBinary) +extension_object_classes[nid] = PublishedDataSetSourceDataType +extension_object_ids['PublishedDataSetSourceDataType'] = nid +nid = FourByteNodeId(ObjectIds.PublishedVariableDataType_Encoding_DefaultBinary) +extension_object_classes[nid] = PublishedVariableDataType +extension_object_ids['PublishedVariableDataType'] = nid +nid = FourByteNodeId(ObjectIds.PublishedDataItemsDataType_Encoding_DefaultBinary) +extension_object_classes[nid] = PublishedDataItemsDataType +extension_object_ids['PublishedDataItemsDataType'] = nid +nid = FourByteNodeId(ObjectIds.PublishedEventsDataType_Encoding_DefaultBinary) +extension_object_classes[nid] = PublishedEventsDataType +extension_object_ids['PublishedEventsDataType'] = nid +nid = FourByteNodeId(ObjectIds.DataSetWriterDataType_Encoding_DefaultBinary) +extension_object_classes[nid] = DataSetWriterDataType +extension_object_ids['DataSetWriterDataType'] = nid +nid = FourByteNodeId(ObjectIds.DataSetWriterTransportDataType_Encoding_DefaultBinary) +extension_object_classes[nid] = DataSetWriterTransportDataType +extension_object_ids['DataSetWriterTransportDataType'] = nid +nid = FourByteNodeId(ObjectIds.DataSetWriterMessageDataType_Encoding_DefaultBinary) +extension_object_classes[nid] = DataSetWriterMessageDataType +extension_object_ids['DataSetWriterMessageDataType'] = nid +nid = FourByteNodeId(ObjectIds.PubSubGroupDataType_Encoding_DefaultBinary) +extension_object_classes[nid] = PubSubGroupDataType +extension_object_ids['PubSubGroupDataType'] = nid +nid = FourByteNodeId(ObjectIds.WriterGroupDataType_Encoding_DefaultBinary) +extension_object_classes[nid] = WriterGroupDataType +extension_object_ids['WriterGroupDataType'] = nid +nid = FourByteNodeId(ObjectIds.WriterGroupTransportDataType_Encoding_DefaultBinary) +extension_object_classes[nid] = WriterGroupTransportDataType +extension_object_ids['WriterGroupTransportDataType'] = nid +nid = FourByteNodeId(ObjectIds.WriterGroupMessageDataType_Encoding_DefaultBinary) +extension_object_classes[nid] = WriterGroupMessageDataType +extension_object_ids['WriterGroupMessageDataType'] = nid +nid = FourByteNodeId(ObjectIds.PubSubConnectionDataType_Encoding_DefaultBinary) +extension_object_classes[nid] = PubSubConnectionDataType +extension_object_ids['PubSubConnectionDataType'] = nid +nid = FourByteNodeId(ObjectIds.ConnectionTransportDataType_Encoding_DefaultBinary) +extension_object_classes[nid] = ConnectionTransportDataType +extension_object_ids['ConnectionTransportDataType'] = nid +nid = FourByteNodeId(ObjectIds.NetworkAddressDataType_Encoding_DefaultBinary) +extension_object_classes[nid] = NetworkAddressDataType +extension_object_ids['NetworkAddressDataType'] = nid +nid = FourByteNodeId(ObjectIds.NetworkAddressUrlDataType_Encoding_DefaultBinary) +extension_object_classes[nid] = NetworkAddressUrlDataType +extension_object_ids['NetworkAddressUrlDataType'] = nid +nid = FourByteNodeId(ObjectIds.ReaderGroupDataType_Encoding_DefaultBinary) +extension_object_classes[nid] = ReaderGroupDataType +extension_object_ids['ReaderGroupDataType'] = nid +nid = FourByteNodeId(ObjectIds.ReaderGroupTransportDataType_Encoding_DefaultBinary) +extension_object_classes[nid] = ReaderGroupTransportDataType +extension_object_ids['ReaderGroupTransportDataType'] = nid +nid = FourByteNodeId(ObjectIds.ReaderGroupMessageDataType_Encoding_DefaultBinary) +extension_object_classes[nid] = ReaderGroupMessageDataType +extension_object_ids['ReaderGroupMessageDataType'] = nid +nid = FourByteNodeId(ObjectIds.DataSetReaderDataType_Encoding_DefaultBinary) +extension_object_classes[nid] = DataSetReaderDataType +extension_object_ids['DataSetReaderDataType'] = nid +nid = FourByteNodeId(ObjectIds.DataSetReaderTransportDataType_Encoding_DefaultBinary) +extension_object_classes[nid] = DataSetReaderTransportDataType +extension_object_ids['DataSetReaderTransportDataType'] = nid +nid = FourByteNodeId(ObjectIds.DataSetReaderMessageDataType_Encoding_DefaultBinary) +extension_object_classes[nid] = DataSetReaderMessageDataType +extension_object_ids['DataSetReaderMessageDataType'] = nid +nid = FourByteNodeId(ObjectIds.SubscribedDataSetDataType_Encoding_DefaultBinary) +extension_object_classes[nid] = SubscribedDataSetDataType +extension_object_ids['SubscribedDataSetDataType'] = nid +nid = FourByteNodeId(ObjectIds.TargetVariablesDataType_Encoding_DefaultBinary) +extension_object_classes[nid] = TargetVariablesDataType +extension_object_ids['TargetVariablesDataType'] = nid +nid = FourByteNodeId(ObjectIds.FieldTargetDataType_Encoding_DefaultBinary) +extension_object_classes[nid] = FieldTargetDataType +extension_object_ids['FieldTargetDataType'] = nid +nid = FourByteNodeId(ObjectIds.SubscribedDataSetMirrorDataType_Encoding_DefaultBinary) +extension_object_classes[nid] = SubscribedDataSetMirrorDataType +extension_object_ids['SubscribedDataSetMirrorDataType'] = nid +nid = FourByteNodeId(ObjectIds.PubSubConfigurationDataType_Encoding_DefaultBinary) +extension_object_classes[nid] = PubSubConfigurationDataType +extension_object_ids['PubSubConfigurationDataType'] = nid +nid = FourByteNodeId(ObjectIds.UadpWriterGroupMessageDataType_Encoding_DefaultBinary) +extension_object_classes[nid] = UadpWriterGroupMessageDataType +extension_object_ids['UadpWriterGroupMessageDataType'] = nid +nid = FourByteNodeId(ObjectIds.UadpDataSetWriterMessageDataType_Encoding_DefaultBinary) +extension_object_classes[nid] = UadpDataSetWriterMessageDataType +extension_object_ids['UadpDataSetWriterMessageDataType'] = nid +nid = FourByteNodeId(ObjectIds.UadpDataSetReaderMessageDataType_Encoding_DefaultBinary) +extension_object_classes[nid] = UadpDataSetReaderMessageDataType +extension_object_ids['UadpDataSetReaderMessageDataType'] = nid +nid = FourByteNodeId(ObjectIds.JsonWriterGroupMessageDataType_Encoding_DefaultBinary) +extension_object_classes[nid] = JsonWriterGroupMessageDataType +extension_object_ids['JsonWriterGroupMessageDataType'] = nid +nid = FourByteNodeId(ObjectIds.JsonDataSetWriterMessageDataType_Encoding_DefaultBinary) +extension_object_classes[nid] = JsonDataSetWriterMessageDataType +extension_object_ids['JsonDataSetWriterMessageDataType'] = nid +nid = FourByteNodeId(ObjectIds.JsonDataSetReaderMessageDataType_Encoding_DefaultBinary) +extension_object_classes[nid] = JsonDataSetReaderMessageDataType +extension_object_ids['JsonDataSetReaderMessageDataType'] = nid +nid = FourByteNodeId(ObjectIds.DatagramConnectionTransportDataType_Encoding_DefaultBinary) +extension_object_classes[nid] = DatagramConnectionTransportDataType +extension_object_ids['DatagramConnectionTransportDataType'] = nid +nid = FourByteNodeId(ObjectIds.DatagramWriterGroupTransportDataType_Encoding_DefaultBinary) +extension_object_classes[nid] = DatagramWriterGroupTransportDataType +extension_object_ids['DatagramWriterGroupTransportDataType'] = nid +nid = FourByteNodeId(ObjectIds.BrokerConnectionTransportDataType_Encoding_DefaultBinary) +extension_object_classes[nid] = BrokerConnectionTransportDataType +extension_object_ids['BrokerConnectionTransportDataType'] = nid +nid = FourByteNodeId(ObjectIds.BrokerWriterGroupTransportDataType_Encoding_DefaultBinary) +extension_object_classes[nid] = BrokerWriterGroupTransportDataType +extension_object_ids['BrokerWriterGroupTransportDataType'] = nid +nid = FourByteNodeId(ObjectIds.BrokerDataSetWriterTransportDataType_Encoding_DefaultBinary) +extension_object_classes[nid] = BrokerDataSetWriterTransportDataType +extension_object_ids['BrokerDataSetWriterTransportDataType'] = nid +nid = FourByteNodeId(ObjectIds.BrokerDataSetReaderTransportDataType_Encoding_DefaultBinary) +extension_object_classes[nid] = BrokerDataSetReaderTransportDataType +extension_object_ids['BrokerDataSetReaderTransportDataType'] = nid +nid = FourByteNodeId(ObjectIds.RolePermissionType_Encoding_DefaultBinary) +extension_object_classes[nid] = RolePermissionType +extension_object_ids['RolePermissionType'] = nid +nid = FourByteNodeId(ObjectIds.StructureField_Encoding_DefaultBinary) +extension_object_classes[nid] = StructureField +extension_object_ids['StructureField'] = nid nid = FourByteNodeId(ObjectIds.Argument_Encoding_DefaultBinary) extension_object_classes[nid] = Argument extension_object_ids['Argument'] = nid nid = FourByteNodeId(ObjectIds.EnumValueType_Encoding_DefaultBinary) extension_object_classes[nid] = EnumValueType extension_object_ids['EnumValueType'] = nid +nid = FourByteNodeId(ObjectIds.EnumField_Encoding_DefaultBinary) +extension_object_classes[nid] = EnumField +extension_object_ids['EnumField'] = nid nid = FourByteNodeId(ObjectIds.OptionSet_Encoding_DefaultBinary) extension_object_classes[nid] = OptionSet extension_object_ids['OptionSet'] = nid @@ -8767,6 +12128,12 @@ def __str__(self): nid = FourByteNodeId(ObjectIds.ServiceFault_Encoding_DefaultBinary) extension_object_classes[nid] = ServiceFault extension_object_ids['ServiceFault'] = nid +nid = FourByteNodeId(ObjectIds.SessionlessInvokeRequestType_Encoding_DefaultBinary) +extension_object_classes[nid] = SessionlessInvokeRequestType +extension_object_ids['SessionlessInvokeRequestType'] = nid +nid = FourByteNodeId(ObjectIds.SessionlessInvokeResponseType_Encoding_DefaultBinary) +extension_object_classes[nid] = SessionlessInvokeResponseType +extension_object_ids['SessionlessInvokeResponseType'] = nid nid = FourByteNodeId(ObjectIds.FindServersRequest_Encoding_DefaultBinary) extension_object_classes[nid] = FindServersRequest extension_object_ids['FindServersRequest'] = nid @@ -8902,6 +12269,12 @@ def __str__(self): nid = FourByteNodeId(ObjectIds.ViewAttributes_Encoding_DefaultBinary) extension_object_classes[nid] = ViewAttributes extension_object_ids['ViewAttributes'] = nid +nid = FourByteNodeId(ObjectIds.GenericAttributeValue_Encoding_DefaultBinary) +extension_object_classes[nid] = GenericAttributeValue +extension_object_ids['GenericAttributeValue'] = nid +nid = FourByteNodeId(ObjectIds.GenericAttributes_Encoding_DefaultBinary) +extension_object_classes[nid] = GenericAttributes +extension_object_ids['GenericAttributes'] = nid nid = FourByteNodeId(ObjectIds.AddNodesItem_Encoding_DefaultBinary) extension_object_classes[nid] = AddNodesItem extension_object_ids['AddNodesItem'] = nid @@ -9355,6 +12728,9 @@ def __str__(self): nid = FourByteNodeId(ObjectIds.ProgramDiagnosticDataType_Encoding_DefaultBinary) extension_object_classes[nid] = ProgramDiagnosticDataType extension_object_ids['ProgramDiagnosticDataType'] = nid +nid = FourByteNodeId(ObjectIds.ProgramDiagnostic2DataType_Encoding_DefaultBinary) +extension_object_classes[nid] = ProgramDiagnostic2DataType +extension_object_ids['ProgramDiagnostic2DataType'] = nid nid = FourByteNodeId(ObjectIds.Annotation_Encoding_DefaultBinary) extension_object_classes[nid] = Annotation extension_object_ids['Annotation'] = nid From 069149c5bd551e1f9b5cf17e2a460f5fe7e776a1 Mon Sep 17 00:00:00 2001 From: cirp-usf Date: Fri, 13 Apr 2018 13:19:07 +0200 Subject: [PATCH 057/113] Update tests --- tests/tests_common.py | 2 +- tests/tests_xml.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/tests_common.py b/tests/tests_common.py index 540539d5e..04859ade1 100644 --- a/tests/tests_common.py +++ b/tests/tests_common.py @@ -955,7 +955,7 @@ def test_data_type_to_variant_type(self): ua.ObjectIds.Structure: ua.VariantType.ExtensionObject, ua.ObjectIds.EnumValueType: ua.VariantType.ExtensionObject, ua.ObjectIds.Enumeration: ua.VariantType.Int32, # enumeration - ua.ObjectIds.AttributeWriteMask: ua.VariantType.Int32, # enumeration + ua.ObjectIds.AttributeWriteMask: ua.VariantType.UInt32, ua.ObjectIds.AxisScaleEnumeration: ua.VariantType.Int32 # enumeration } for dt, vdt in test_data.items(): diff --git a/tests/tests_xml.py b/tests/tests_xml.py index 1d22a1cec..9f71dc66d 100644 --- a/tests/tests_xml.py +++ b/tests/tests_xml.py @@ -302,7 +302,7 @@ def test_xml_enum(self): self._test_xml_var_type(o, "enum") def test_xml_enumvalues(self): - o = self.opc.nodes.objects.add_variable(2, "xmlenumvalues", 0, varianttype=ua.VariantType.Int32, datatype=ua.ObjectIds.AttributeWriteMask) + o = self.opc.nodes.objects.add_variable(2, "xmlenumvalues", 0, varianttype=ua.VariantType.UInt32, datatype=ua.ObjectIds.AttributeWriteMask) self._test_xml_var_type(o, "enumvalues") def test_xml_custom_uint32(self): From 093ab1c99f21a3d75bc3970c7dea4498204a7d0a Mon Sep 17 00:00:00 2001 From: oroulet Date: Tue, 1 May 2018 18:33:34 +0200 Subject: [PATCH 058/113] cherry-pick/merge b01896556b74114ad26e1ffce8fe7e4ca7a7dc8e --- opcua/common/instantiate.py | 51 +++++++++++++++++++++++++------------ 1 file changed, 35 insertions(+), 16 deletions(-) diff --git a/opcua/common/instantiate.py b/opcua/common/instantiate.py index 1ac37b2ed..15ba4b8e4 100644 --- a/opcua/common/instantiate.py +++ b/opcua/common/instantiate.py @@ -4,17 +4,15 @@ import logging - from opcua import Node from opcua import ua from opcua.common import ua_utils from opcua.common.copy_node import _rdesc_from_node, _read_and_copy_attrs - logger = logging.getLogger(__name__) -async def instantiate(parent, node_type, nodeid=None, bname=None, dname=None, idx=0): +async def instantiate(parent, node_type, nodeid=None, bname=None, dname=None, idx=0, instantiate_optional=True): """ instantiate a node type under a parent node. nodeid and browse name of new node can be specified, or just namespace index @@ -33,12 +31,25 @@ async def instantiate(parent, node_type, nodeid=None, bname=None, dname=None, id nodeids = await _instantiate_node( parent.server, - Node(parent.server, rdesc.NodeId), parent.nodeid, rdesc, nodeid, bname, dname=dname, toplevel=True - ) + Node(parent.server, rdesc.NodeId), + parent.nodeid, + rdesc, + nodeid, + bname, + dname=dname, + instantiate_optional=instantiate_optional) return [Node(parent.server, nid) for nid in nodeids] -async def _instantiate_node(server, node_type, parentid, rdesc, nodeid, bname, dname=None, recursive=True, toplevel=False): +async def _instantiate_node(server, + node_type, + parentid, + rdesc, + nodeid, + bname, + dname=None, + recursive=True, + instantiate_optional=True): """ instantiate a node type under parent """ @@ -56,10 +67,10 @@ async def _instantiate_node(server, node_type, parentid, rdesc, nodeid, bname, d elif rdesc.NodeClass in (ua.NodeClass.Variable, ua.NodeClass.VariableType): addnode.NodeClass = ua.NodeClass.Variable await _read_and_copy_attrs(node_type, ua.VariableAttributes(), addnode) - elif rdesc.NodeClass in (ua.NodeClass.Method,): + elif rdesc.NodeClass in (ua.NodeClass.Method, ): addnode.NodeClass = ua.NodeClass.Method await _read_and_copy_attrs(node_type, ua.MethodAttributes(), addnode) - elif rdesc.NodeClass in (ua.NodeClass.DataType,): + elif rdesc.NodeClass in (ua.NodeClass.DataType, ): addnode.NodeClass = ua.NodeClass.DataType await _read_and_copy_attrs(node_type, ua.DataTypeAttributes(), addnode) else: @@ -81,25 +92,33 @@ async def _instantiate_node(server, node_type, parentid, rdesc, nodeid, bname, d if not await ua_utils.is_child_present(node, c_rdesc.BrowseName): c_node_type = Node(server, c_rdesc.NodeId) refs = await c_node_type.get_referenced_nodes(refs=ua.ObjectIds.HasModellingRule) - # exclude nodes without ModellingRule at top-level - if toplevel and len(refs) == 0: + if not refs: + # spec says to ignore nodes without modelling rules + logger.info("Instantiate: Skip node without modelling rule %s as part of %s", c_rdesc.BrowseName, addnode.BrowseName) continue - # skip optional elements (server policy) - if len(refs) == 1 and refs[0].nodeid == ua.NodeId(ua.ObjectIds.ModellingRule_Optional): - logger.info("Will not instantiate optional node %s as part of %s", c_rdesc.BrowseName, addnode.BrowseName) + # exclude nodes with optional ModellingRule if requested + if not instantiate_optional and refs[0].nodeid == ua.NodeId(ua.ObjectIds.ModellingRule_Optional): + logger.info("Instantiate: Skip optional node %s as part of %s", c_rdesc.BrowseName, addnode.BrowseName) continue # if root node being instantiated has a String NodeId, create the children with a String NodeId if res.AddedNodeId.NodeIdType is ua.NodeIdType.String: inst_nodeid = res.AddedNodeId.Identifier + "." + c_rdesc.BrowseName.Name nodeids = await _instantiate_node( - server, c_node_type, res.AddedNodeId, c_rdesc, + server, + c_node_type, + res.AddedNodeId, + c_rdesc, nodeid=ua.NodeId(identifier=inst_nodeid, namespaceidx=res.AddedNodeId.NamespaceIndex), bname=c_rdesc.BrowseName ) else: nodeids = await _instantiate_node( - server, c_node_type, res.AddedNodeId, c_rdesc, - nodeid=ua.NodeId(namespaceidx=res.AddedNodeId.NamespaceIndex), bname=c_rdesc.BrowseName + server, + c_node_type, + res.AddedNodeId, + c_rdesc, + nodeid=ua.NodeId(namespaceidx=res.AddedNodeId.NamespaceIndex), + bname=c_rdesc.BrowseName ) added_nodes.extend(nodeids) return added_nodes From 258c975ee9509e195368cd42d4b5b39c14e29fb5 Mon Sep 17 00:00:00 2001 From: oroulet Date: Wed, 2 May 2018 12:43:02 +0200 Subject: [PATCH 059/113] cherry-pick/merge 12562266b7400f39a605d4898eb5b0b8cd29705f --- opcua/common/node.py | 50 +++++++++++++++++++------------------------- 1 file changed, 21 insertions(+), 29 deletions(-) diff --git a/opcua/common/node.py b/opcua/common/node.py index a3ee2853b..c7cdf56af 100644 --- a/opcua/common/node.py +++ b/opcua/common/node.py @@ -619,35 +619,29 @@ async def add_reference(self, target, reftype, forward=True, bidirectional=True) results = await self.server.add_references(params) _check_results(results, len(params)) - async def _add_modelling_rule(self, parent, mandatory=True): - if mandatory is not None and await parent.get_node_class() == ua.NodeClass.ObjectType: - rule = ua.ObjectIds.ModellingRule_Mandatory if mandatory else ua.ObjectIds.ModellingRule_Optional - await self.add_reference(rule, ua.ObjectIds.HasModellingRule, True, False) - return self - - async def set_modelling_rule(self, mandatory): - parent = await self.get_parent() - if parent is None: - return ua.StatusCode(ua.StatusCodes.BadParentNodeIdInvalid) - if await parent.get_node_class() != ua.NodeClass.ObjectType: - return ua.StatusCode(ua.StatusCodes.BadTypeMismatch) + def set_modelling_rule(self, mandatory): + """ + Add a modelling rule reference to Node. + When creating a new object type, its variable and child nodes will not + be instanciated if they do not have modelling rule + if mandatory is None, the modelling rule is removed + """ # remove all existing modelling rule rules = await self.get_references(ua.ObjectIds.HasModellingRule) await self.server.delete_references(list(map(self._fill_delete_reference_item, rules))) - await self._add_modelling_rule(parent, mandatory) - return ua.StatusCode() + # add new modelling rule as requested + if mandatory is not None: + rule = ua.ObjectIds.ModellingRule_Mandatory if mandatory else ua.ObjectIds.ModellingRule_Optional + await self.add_reference(rule, ua.ObjectIds.HasModellingRule, True, False) - async def add_folder(self, nodeid, bname): - folder = await opcua.common.manage_nodes.create_folder(self, nodeid, bname) - return await folder._add_modelling_rule(self) + def add_folder(self, nodeid, bname): + return opcua.common.manage_nodes.create_folder(self, nodeid, bname) - async def add_object(self, nodeid, bname, objecttype=None): - obj = await opcua.common.manage_nodes.create_object(self, nodeid, bname, objecttype) - return await obj._add_modelling_rule(self) + def add_object(self, nodeid, bname, objecttype=None): + return opcua.common.manage_nodes.create_object(self, nodeid, bname, objecttype) - async def add_variable(self, nodeid, bname, val, varianttype=None, datatype=None): - var = await opcua.common.manage_nodes.create_variable(self, nodeid, bname, val, varianttype, datatype) - return await var._add_modelling_rule(self) + def add_variable(self, nodeid, bname, val, varianttype=None, datatype=None): + return opcua.common.manage_nodes.create_variable(self, nodeid, bname, val, varianttype, datatype) def add_object_type(self, nodeid, bname): return opcua.common.manage_nodes.create_object_type(self, nodeid, bname) @@ -658,13 +652,11 @@ def add_variable_type(self, nodeid, bname, datatype): def add_data_type(self, nodeid, bname, description=None): return opcua.common.manage_nodes.create_data_type(self, nodeid, bname, description=None) - async def add_property(self, nodeid, bname, val, varianttype=None, datatype=None): - prop = await opcua.common.manage_nodes.create_property(self, nodeid, bname, val, varianttype, datatype) - return await prop._add_modelling_rule(self) + def add_property(self, nodeid, bname, val, varianttype=None, datatype=None): + return opcua.common.manage_nodes.create_property(self, nodeid, bname, val, varianttype, datatype) - async def add_method(self, *args): - method = await opcua.common.manage_nodes.create_method(self, *args) - return await method._add_modelling_rule(self) + def add_method(self, *args): + return opcua.common.manage_nodes.create_method(self, *args) def add_reference_type(self, nodeid, bname, symmetric=True, inversename=None): return opcua.common.manage_nodes.create_reference_type(self, nodeid, bname, symmetric, inversename) From 92a8deae66926033c77e633b0246c043dcd3d00d Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Mon, 30 Jul 2018 11:54:50 +0200 Subject: [PATCH 060/113] cherry-pick/merge 12562266b7400f39a605d4898eb5b0b8cd29705f --- opcua/common/instantiate.py | 26 ++++++++++++++------------ opcua/common/node.py | 2 +- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/opcua/common/instantiate.py b/opcua/common/instantiate.py index 15ba4b8e4..32072b414 100644 --- a/opcua/common/instantiate.py +++ b/opcua/common/instantiate.py @@ -42,14 +42,14 @@ async def instantiate(parent, node_type, nodeid=None, bname=None, dname=None, id async def _instantiate_node(server, - node_type, - parentid, - rdesc, - nodeid, - bname, - dname=None, - recursive=True, - instantiate_optional=True): + node_type, + parentid, + rdesc, + nodeid, + bname, + dname=None, + recursive=True, + instantiate_optional=True): """ instantiate a node type under parent """ @@ -67,10 +67,10 @@ async def _instantiate_node(server, elif rdesc.NodeClass in (ua.NodeClass.Variable, ua.NodeClass.VariableType): addnode.NodeClass = ua.NodeClass.Variable await _read_and_copy_attrs(node_type, ua.VariableAttributes(), addnode) - elif rdesc.NodeClass in (ua.NodeClass.Method, ): + elif rdesc.NodeClass in (ua.NodeClass.Method,): addnode.NodeClass = ua.NodeClass.Method await _read_and_copy_attrs(node_type, ua.MethodAttributes(), addnode) - elif rdesc.NodeClass in (ua.NodeClass.DataType, ): + elif rdesc.NodeClass in (ua.NodeClass.DataType,): addnode.NodeClass = ua.NodeClass.DataType await _read_and_copy_attrs(node_type, ua.DataTypeAttributes(), addnode) else: @@ -94,11 +94,13 @@ async def _instantiate_node(server, refs = await c_node_type.get_referenced_nodes(refs=ua.ObjectIds.HasModellingRule) if not refs: # spec says to ignore nodes without modelling rules - logger.info("Instantiate: Skip node without modelling rule %s as part of %s", c_rdesc.BrowseName, addnode.BrowseName) + logger.info("Instantiate: Skip node without modelling rule %s as part of %s", + c_rdesc.BrowseName, addnode.BrowseName) continue # exclude nodes with optional ModellingRule if requested if not instantiate_optional and refs[0].nodeid == ua.NodeId(ua.ObjectIds.ModellingRule_Optional): - logger.info("Instantiate: Skip optional node %s as part of %s", c_rdesc.BrowseName, addnode.BrowseName) + logger.info("Instantiate: Skip optional node %s as part of %s", c_rdesc.BrowseName, + addnode.BrowseName) continue # if root node being instantiated has a String NodeId, create the children with a String NodeId if res.AddedNodeId.NodeIdType is ua.NodeIdType.String: diff --git a/opcua/common/node.py b/opcua/common/node.py index c7cdf56af..479966925 100644 --- a/opcua/common/node.py +++ b/opcua/common/node.py @@ -635,7 +635,7 @@ def set_modelling_rule(self, mandatory): await self.add_reference(rule, ua.ObjectIds.HasModellingRule, True, False) def add_folder(self, nodeid, bname): - return opcua.common.manage_nodes.create_folder(self, nodeid, bname) + return opcua.common.manage_nodes.create_folder(self, nodeid, bname) def add_object(self, nodeid, bname, objecttype=None): return opcua.common.manage_nodes.create_object(self, nodeid, bname, objecttype) From 272865bb2193eb100d7072adf18f8042c9778b6c Mon Sep 17 00:00:00 2001 From: oroulet Date: Wed, 2 May 2018 12:44:15 +0200 Subject: [PATCH 061/113] cherry-pick/merge 183a6b74169271f518ae9d23e359cbd3c0c88b39 --- tests/tests_common.py | 108 ++++++++++-------------------------------- 1 file changed, 25 insertions(+), 83 deletions(-) diff --git a/tests/tests_common.py b/tests/tests_common.py index 04859ade1..c9f29ade9 100644 --- a/tests/tests_common.py +++ b/tests/tests_common.py @@ -74,22 +74,6 @@ def func5(parent): [ua.VariantType.Int64, ua.VariantType.Int64, ua.VariantType.Int64]) -def _test_modelling_rules(test, parent, mandatory, result): - f = parent.add_folder(3, 'MyFolder') - f.set_modelling_rule(mandatory) - test.assertEqual(f.get_referenced_nodes(ua.ObjectIds.HasModellingRule), result) - - o = parent.add_object(3, 'MyObject') - o.set_modelling_rule(mandatory) - test.assertEqual(o.get_referenced_nodes(ua.ObjectIds.HasModellingRule), result) - - v = parent.add_variable(3, 'MyVariable', 6) - v.set_modelling_rule(mandatory) - test.assertEqual(v.get_referenced_nodes(ua.ObjectIds.HasModellingRule), result) - - p = parent.add_property(3, 'MyProperty', 10) - p.set_modelling_rule(mandatory) - test.assertEqual(p.get_referenced_nodes(ua.ObjectIds.HasModellingRule), result) class CommonTests(object): @@ -624,77 +608,25 @@ def test_add_nodes(self): self.assertTrue(v in childs) self.assertTrue(p in childs) - def test_add_nodes_modelling_rules_type_default(self): - base_otype = self.opc.get_node(ua.ObjectIds.BaseObjectType) - custom_otype = base_otype.add_object_type(2, 'MyFooObjectType') - - result = [self.opc.get_node(ua.ObjectIds.ModellingRule_Mandatory)] - - f = custom_otype.add_folder(3, 'MyFolder') - self.assertEqual(f.get_referenced_nodes(ua.ObjectIds.HasModellingRule), result) - - o = custom_otype.add_object(3, 'MyObject') - self.assertEqual(o.get_referenced_nodes(ua.ObjectIds.HasModellingRule), result) - - v = custom_otype.add_variable(3, 'MyVariable', 6) - self.assertEqual(v.get_referenced_nodes(ua.ObjectIds.HasModellingRule), result) - - p = custom_otype.add_property(3, 'MyProperty', 10) - self.assertEqual(p.get_referenced_nodes(ua.ObjectIds.HasModellingRule), result) - - m = base_otype.get_child(['2:ObjectWithMethodsType', '2:ServerMethodDefault']) - self.assertEqual(m.get_referenced_nodes(ua.ObjectIds.HasModellingRule), result) - - objects = self.opc.get_objects_node() - c = objects.get_child(['2:ObjectWithMethods', '2:ServerMethodDefault']) - - def test_add_nodes_modelling_rules_type_true(self): - base_otype = self.opc.get_node(ua.ObjectIds.BaseObjectType) - custom_otype = base_otype.add_object_type(2, 'MyFooObjectType') - - result = [self.opc.get_node(ua.ObjectIds.ModellingRule_Mandatory)] - _test_modelling_rules(self, custom_otype, True, result) - - m = base_otype.get_child(['2:ObjectWithMethodsType', '2:ServerMethodMandatory']) - self.assertEqual(m.get_referenced_nodes(ua.ObjectIds.HasModellingRule), result) - - objects = self.opc.get_objects_node() - objects.get_child(['2:ObjectWithMethods', '2:ServerMethodMandatory']) - - def test_add_nodes_modelling_rules_type_false(self): - base_otype = self.opc.get_node(ua.ObjectIds.BaseObjectType) - custom_otype = base_otype.add_object_type(2, 'MyFooObjectType') - - result = [self.opc.get_node(ua.ObjectIds.ModellingRule_Optional)] - _test_modelling_rules(self, custom_otype, False, result) + def test_modelling_rules(self): + obj = self.opc.nodes.base_object_type.add_object_type(2, 'MyFooObjectType') + v = obj.add_variable(2, "myvar", 1.1) + v.set_modelling_rule(True) + p = obj.add_property(2, "myvar", 1.1) + p.set_modelling_rule(False) - m = base_otype.get_child(['2:ObjectWithMethodsType', '2:ServerMethodOptional']) - self.assertEqual(m.get_referenced_nodes(ua.ObjectIds.HasModellingRule), result) + refs = obj.get_referenced_nodes(refs=ua.ObjectIds.HasModellingRule) + self.assertEqual(len(refs), 0) - def test_add_nodes_modelling_rules_type_none(self): - base_otype = self.opc.get_node(ua.ObjectIds.BaseObjectType) - custom_otype = base_otype.add_object_type(2, 'MyFooObjectType') - - result = [] - _test_modelling_rules(self, custom_otype, None, result) - - m = base_otype.get_child(['2:ObjectWithMethodsType', '2:ServerMethodNone']) - self.assertEqual(m.get_referenced_nodes(ua.ObjectIds.HasModellingRule), result) + refs = v.get_referenced_nodes(refs=ua.ObjectIds.HasModellingRule) + self.assertEqual(refs[0], self.opc.get_node(ua.ObjectIds.ModellingRule_Mandatory)) - def test_add_nodes_modelling_rules_folder_true(self): - objects = self.opc.get_objects_node() - folder = objects.add_folder(3, 'MyFolder') - _test_modelling_rules(self, folder, True, []) - - def test_add_nodes_modelling_rules_folder_false(self): - objects = self.opc.get_objects_node() - folder = objects.add_folder(3, 'MyFolder') - _test_modelling_rules(self, folder, False, []) + refs = p.get_referenced_nodes(refs=ua.ObjectIds.HasModellingRule) + self.assertEqual(refs[0], self.opc.get_node(ua.ObjectIds.ModellingRule_Optional)) - def test_add_nodes_modelling_rules_folder_none(self): - objects = self.opc.get_objects_node() - folder = objects.add_folder(3, 'MyFolder') - _test_modelling_rules(self, folder, None, []) + p.set_modelling_rule(None) + refs = p.get_referenced_nodes(refs=ua.ObjectIds.HasModellingRule) + self.assertEqual(len(refs), 0) def test_incl_subtypes(self): base_type = self.opc.get_root_node().get_child(["0:Types", "0:ObjectTypes", "0:BaseObjectType"]) @@ -823,18 +755,24 @@ def test_instantiate_1(self): # Create device type dev_t = self.opc.nodes.base_object_type.add_object_type(0, "MyDevice") v_t = dev_t.add_variable(0, "sensor", 1.0) + v_t.set_modelling_rule(True) p_t = dev_t.add_property(0, "sensor_id", "0340") + p_t.set_modelling_rule(True) ctrl_t = dev_t.add_object(0, "controller") + ctrl_t.set_modelling_rule(True) v_opt_t = dev_t.add_variable(0, "vendor", 1.0) v_opt_t.set_modelling_rule(False) v_none_t = dev_t.add_variable(0, "model", 1.0) v_none_t.set_modelling_rule(None) prop_t = ctrl_t.add_property(0, "state", "Running") + prop_t.set_modelling_rule(True) # Create device sutype devd_t = dev_t.add_object_type(0, "MyDeviceDervived") v_t = devd_t.add_variable(0, "childparam", 1.0) + v_t.set_modelling_rule(True) p_t = devd_t.add_property(0, "sensorx_id", "0340") + p_t.set_modelling_rule(True) # instanciate device nodes = instantiate(self.opc.nodes.objects, dev_t, bname="2:Device0001") @@ -865,9 +803,13 @@ def test_instantiate_string_nodeid(self): # Create device type dev_t = self.opc.nodes.base_object_type.add_object_type(0, "MyDevice2") v_t = dev_t.add_variable(0, "sensor", 1.0) + v_t.set_modelling_rule(True) p_t = dev_t.add_property(0, "sensor_id", "0340") + p_t.set_modelling_rule(True) ctrl_t = dev_t.add_object(0, "controller") + ctrl_t.set_modelling_rule(True) prop_t = ctrl_t.add_property(0, "state", "Running") + prop_t.set_modelling_rule(True) # instanciate device nodes = instantiate(self.opc.nodes.objects, dev_t, nodeid=ua.NodeId("InstDevice", 2, ua.NodeIdType.String), From 99ae4b8521e9f3c389caaffea1113a4358e5b581 Mon Sep 17 00:00:00 2001 From: oroulet Date: Wed, 2 May 2018 13:39:55 +0200 Subject: [PATCH 062/113] remove one more assert in operating code that should never have been there!!!! --- opcua/common/xmlimporter.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/opcua/common/xmlimporter.py b/opcua/common/xmlimporter.py index adfa6f564..138097ab7 100644 --- a/opcua/common/xmlimporter.py +++ b/opcua/common/xmlimporter.py @@ -72,7 +72,8 @@ def import_xml(self, xmlpath): self.refs, remaining_refs = [], self.refs self._add_references(remaining_refs) - assert len(self.refs) == 0, self.refs + if len(self.refs) != 0: + self.logger.warning("The following references could not be imported and are probaly broken: %s", self.refs) return nodes From 818a1ff4cad06a5fbc323094193891fa98ee101c Mon Sep 17 00:00:00 2001 From: oroulet Date: Wed, 2 May 2018 13:48:05 +0200 Subject: [PATCH 063/113] new release --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 89deaeb65..24936f4c4 100644 --- a/setup.py +++ b/setup.py @@ -7,7 +7,7 @@ install_requires.extend(["enum34", "trollius", "futures"]) setup(name="opcua", - version="0.95.1", + version="0.95.2", description="Pure Python OPC-UA client and server library", author="Olivier Roulet-Dubonnet", author_email="olivier.roulet@gmail.com", From 6faf349bbb7ee1f7a26e91213e2cd9d360ac5ca2 Mon Sep 17 00:00:00 2001 From: oroulet Date: Wed, 2 May 2018 14:50:17 +0200 Subject: [PATCH 064/113] fix server example for api change --- examples/server-example.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/examples/server-example.py b/examples/server-example.py index 4fb32e69c..321e38a1d 100644 --- a/examples/server-example.py +++ b/examples/server-example.py @@ -74,10 +74,11 @@ def multiply(parent, x, y): # create a new node type we can instantiate in our address space dev = server.nodes.base_object_type.add_object_type(0, "MyDevice") - dev.add_variable(0, "sensor1", 1.0) - dev.add_property(0, "device_id", "0340") + dev.add_variable(0, "sensor1", 1.0).set_modelling_rule(True) + dev.add_property(0, "device_id", "0340").set_modelling_rule(True) ctrl = dev.add_object(0, "controller") - ctrl.add_property(0, "state", "Idle") + ctrl.set_modelling_rule(True) + ctrl.add_property(0, "state", "Idle").set_modelling_rule(True) # populating our address space From 54d63786a6352f742f117c9aec20e78a4cc5703c Mon Sep 17 00:00:00 2001 From: Helmut Jacob Date: Tue, 8 May 2018 12:31:54 +0200 Subject: [PATCH 065/113] Allow importing XML from string Introduce an optional parameter xmlstring throughout the import_xml chain (client, server, xmlimporter, xmlparser) to allow specifying a XML string instead of a path. If both are given the string takes precendence. --- opcua/client/client.py | 4 ++-- opcua/common/xmlimporter.py | 4 ++-- opcua/common/xmlparser.py | 9 ++++++--- opcua/server/server.py | 4 ++-- tests/tests_xml.py | 6 +----- 5 files changed, 13 insertions(+), 14 deletions(-) diff --git a/opcua/client/client.py b/opcua/client/client.py index 85da5b14d..39629d491 100644 --- a/opcua/client/client.py +++ b/opcua/client/client.py @@ -524,12 +524,12 @@ async def get_namespace_index(self, uri): def delete_nodes(self, nodes, recursive=False): return delete_nodes(self.uaclient, nodes, recursive) - def import_xml(self, path): + def import_xml(self, path=None, xmlstring=None): """ Import nodes defined in xml """ importer = XmlImporter(self) - return importer.import_xml(path) + return importer.import_xml(path, xmlstring) def export_xml(self, nodes, path): """ diff --git a/opcua/common/xmlimporter.py b/opcua/common/xmlimporter.py index 138097ab7..2221003d3 100644 --- a/opcua/common/xmlimporter.py +++ b/opcua/common/xmlimporter.py @@ -46,12 +46,12 @@ def _map_aliases(self, aliases): aliases_mapped[alias] = self.to_nodeid(node_id) return aliases_mapped - def import_xml(self, xmlpath): + def import_xml(self, xmlpath=None, xmlstring=None): """ import xml and return added nodes """ self.logger.info("Importing XML file %s", xmlpath) - self.parser = xmlparser.XMLParser(xmlpath) + self.parser = xmlparser.XMLParser(xmlpath, xmlstring) self.namespaces = self._map_namespaces(self.parser.get_used_namespaces()) self.aliases = self._map_aliases(self.parser.get_aliases()) diff --git a/opcua/common/xmlparser.py b/opcua/common/xmlparser.py index b934a2a84..0c586a64e 100644 --- a/opcua/common/xmlparser.py +++ b/opcua/common/xmlparser.py @@ -89,13 +89,16 @@ def __str__(self): class XMLParser(object): - def __init__(self, xmlpath): + def __init__(self, xmlpath=None, xmlstring=None): self.logger = logging.getLogger(__name__) self._retag = re.compile(r"(\{.*\})(.*)") self.path = xmlpath - self.tree = ET.parse(xmlpath) - self.root = self.tree.getroot() + if xmlstring: + self.root = ET.fromstring(xmlstring) + else: + self.root = ET.parse(xmlpath).getroot() + # FIXME: hard to get these xml namespaces with ElementTree, we may have to shift to lxml self.ns = { 'base': "http://opcfoundation.org/UA/2011/03/UANodeSet.xsd", diff --git a/opcua/server/server.py b/opcua/server/server.py index f88c31b99..66e33bc73 100644 --- a/opcua/server/server.py +++ b/opcua/server/server.py @@ -433,12 +433,12 @@ async def _create_custom_type(self, idx, name, basetype, properties, variables, await custom_t.add_method(idx, method[0], method[1], method[2], method[3]) return custom_t - def import_xml(self, path): + def import_xml(self, path=None, xmlstring=None): """ Import nodes defined in xml """ importer = XmlImporter(self) - return importer.import_xml(path) + return importer.import_xml(path, xmlstring) def export_xml(self, nodes, path): """ diff --git a/tests/tests_xml.py b/tests/tests_xml.py index 9f71dc66d..39e4028b4 100644 --- a/tests/tests_xml.py +++ b/tests/tests_xml.py @@ -349,11 +349,7 @@ def test_xml_var_nillable(self): """ - fp = open('tmp_test_import-nillable.xml', 'w') - fp.write(xml) - fp.close() - # TODO: when the xml parser also support loading from string, remove write to file - _new_nodes = self.opc.import_xml('tmp_test_import-nillable.xml') + _new_nodes = self.opc.import_xml(xmlstring=xml) var_string = self.opc.get_node(ua.NodeId('test_xml.string.nillabel', 2)) var_bool = self.opc.get_node(ua.NodeId('test_xml.bool.nillabel', 2)) self.assertEqual(var_string.get_value(), None) From 01fe0a81d2c08f4e4f8ee27dc5c41a6281192fd7 Mon Sep 17 00:00:00 2001 From: oroulet Date: Mon, 21 May 2018 12:03:18 +0200 Subject: [PATCH 066/113] cherry-pick/merge 4e5e65e2383556aaa8bf4d0c3a58e9b95b08a7bd --- opcua/common/ua_utils.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/opcua/common/ua_utils.py b/opcua/common/ua_utils.py index 4f0927257..46734179a 100644 --- a/opcua/common/ua_utils.py +++ b/opcua/common/ua_utils.py @@ -266,3 +266,14 @@ def get_default_value(uatype): return ua.get_default_value(getattr(ua.VariantType, uatype)) else: return getattr(ua, uatype)() + + +def data_type_to_string(dtype): + # we could just display browse name of node but it requires a query + if dtype.Identifier in ua.ObjectIdNames: + string = ua.ObjectIdNames[dtype.Identifier] + else: + string = dtype.to_string() + return string + + From a17d8783883aa0a8b39b7003ad6e69a0b2ff2fd3 Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Mon, 30 Jul 2018 12:12:21 +0200 Subject: [PATCH 067/113] cleanup --- opcua/common/ua_utils.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/opcua/common/ua_utils.py b/opcua/common/ua_utils.py index 46734179a..984912f96 100644 --- a/opcua/common/ua_utils.py +++ b/opcua/common/ua_utils.py @@ -275,5 +275,3 @@ def data_type_to_string(dtype): else: string = dtype.to_string() return string - - From c71ac81da1a48e6ea9bd945d399ea5ed81cd5dfa Mon Sep 17 00:00:00 2001 From: Jonas Neubert Date: Sun, 27 May 2018 17:09:00 -0700 Subject: [PATCH 068/113] cherry puck/merge 86711c1f918be95cc712aead3688f05e3f7cd974 --- opcua/client/client.py | 4 ++-- opcua/server/server.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/opcua/client/client.py b/opcua/client/client.py index 39629d491..4940938bb 100644 --- a/opcua/client/client.py +++ b/opcua/client/client.py @@ -49,8 +49,8 @@ def __init__(self, url, timeout=4): self._password = self.server_url.password self.name = 'Pure Python Async. Client' self.description = self.name - self.application_uri = 'urn:freeopcua:client' - self.product_uri = 'urn:freeopcua.github.no:client' + self.application_uri = "urn:freeopcua:client" + self.product_uri = "urn:freeopcua.github.io:client" self.security_policy = ua.SecurityPolicy() self.secure_channel_id = None self.secure_channel_timeout = 3600000 # 1 hour diff --git a/opcua/server/server.py b/opcua/server/server.py index 66e33bc73..f667f093c 100644 --- a/opcua/server/server.py +++ b/opcua/server/server.py @@ -75,7 +75,7 @@ def __init__(self, iserver=None): self.logger = logging.getLogger(__name__) self.endpoint = urlparse("opc.tcp://0.0.0.0:4840/freeopcua/server/") self._application_uri = "urn:freeopcua:python:server" - self.product_uri = "urn:freeopcua.github.no:python:server" + self.product_uri = "urn:freeopcua.github.io:python:server" self.name = "FreeOpcUa Python Server" self.application_type = ua.ApplicationType.ClientAndServer self.default_timeout = 60 * 60 * 1000 From a78aa7ea5d35418469d328909c33016949ee6141 Mon Sep 17 00:00:00 2001 From: Jonas Neubert Date: Sun, 27 May 2018 18:18:38 -0700 Subject: [PATCH 069/113] cherry puck/merge bbf752c624f505ec2afb8eacaed61e2b14331013 --- opcua/client/ua_client.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/opcua/client/ua_client.py b/opcua/client/ua_client.py index 898a411e9..54f0d5e29 100644 --- a/opcua/client/ua_client.py +++ b/opcua/client/ua_client.py @@ -142,11 +142,11 @@ def _create_request_header(self, timeout=1000): return hdr def disconnect_socket(self): - self.logger.info("stop request") + self.logger.info("Request to close socket received") if self.transport: self.transport.close() else: - self.logger.warning('disconnect_socket was called but transport is None') + self.logger.warning("disconnect_socket was called but transport is None") async def send_hello(self, url, max_messagesize=0, max_chunkcount=0): hello = ua.Hello() From 226f90da361527df9853aec4f5b57e1506a0ae32 Mon Sep 17 00:00:00 2001 From: Jonas Neubert Date: Sun, 27 May 2018 19:08:11 -0700 Subject: [PATCH 070/113] setup.cfg for flake8 settings --- setup.cfg | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 setup.cfg diff --git a/setup.cfg b/setup.cfg new file mode 100644 index 000000000..34d8f9bfd --- /dev/null +++ b/setup.cfg @@ -0,0 +1,3 @@ +[flake8] +max-line-length = 120 +exclude = opcua/ua/,opcua/common/event_objects.py,opcua/server/standard_address_space/standard_address_space*.py From 741ad33bc55324f8bd88dec388b1ddc4a0ed0b91 Mon Sep 17 00:00:00 2001 From: jobasto <35599890+jobasto@users.noreply.github.com> Date: Wed, 23 May 2018 13:38:30 +0200 Subject: [PATCH 071/113] Parsing of custom structures Previously custom structures that contain enums wouldn't be parsed correctly when calling load_type_definitions(). This is now fixed by also creating enum classes that represent the enums that are exposed in the server's address space and changing get_default_value() so that it is able to create default values for enums. --- opcua/common/structures.py | 64 +++++++++++++++++++++++++++++++++++--- 1 file changed, 59 insertions(+), 5 deletions(-) diff --git a/opcua/common/structures.py b/opcua/common/structures.py index 67226668a..54757c677 100644 --- a/opcua/common/structures.py +++ b/opcua/common/structures.py @@ -18,8 +18,9 @@ from opcua.ua.ua_binary import Primitives from opcua import ua +from enum import IntEnum, EnumMeta -def get_default_value(uatype): +def get_default_value(uatype, enums): if uatype == "String": return "None" elif uatype == "Guid": @@ -32,10 +33,44 @@ def get_default_value(uatype): return "datetime.utcnow()" elif uatype in ("Int16", "Int32", "Int64", "UInt16", "UInt32", "UInt64", "Double", "Float", "Byte", "SByte"): return 0 + elif uatype in enums: + return "ua." + uatype + "(" + enums[uatype] + ")" + elif issubclass(eval("ua."+uatype), IntEnum): + return "ua." + uatype + "(" + list(eval("ua."+uatype))[0] + ")" else: return "ua." + uatype + "()" +class EnumType(object): + def __init__(self, name ): + self.name = name + self.fields= [] + self.typeid = None + + def get_code(self): + code = """ + + + +class {0}(IntEnum): + + ''' + {0} EnumInt autogenerated from xml + ''' + +""".format(self.name) + for EnumeratedValue in self.fields: + name = EnumeratedValue.Name + value = EnumeratedValue.Value + code += " {} = {}\n".format(name, value) + + return code + +class EnumeratedValue(object): + def __init__(self, name, value): + self.Name=name + self.Value=value + class Struct(object): def __init__(self, name): self.name = name @@ -65,7 +100,7 @@ class {self.name}(object): def __init__(self): """.format(self.name) if not self.fields: - code += " pass" + code += " pass" for field in self.fields: code += f" self.{field.name} = {field.value}\n" return code @@ -93,6 +128,17 @@ def make_model_from_file(self, path): self._make_model(root) def _make_model(self, root): + enums = {} + for child in root.iter("{*}EnumeratedType"): + intenum = EnumType(child.get("Name")) + for xmlfield in child.iter("{*}EnumeratedValue"): + name = xmlfield.get("Name") + value = xmlfield.get("Value") + enumvalue = EnumeratedValue(name, value) + intenum.fields.append(enumvalue) + enums[child.get("Name")] = value + self.model.append(intenum) + for child in root.iter("{*}StructuredType"): struct = Struct(child.get("Name")) array = False @@ -106,7 +152,7 @@ def _make_model(self, root): if ":" in field.uatype: field.uatype = field.uatype.split(":")[1] field.uatype = _clean_name(field.uatype) - field.value = get_default_value(field.uatype) + field.value = get_default_value(field.uatype, enums) if array: field.array = True field.value = [] @@ -145,9 +191,11 @@ def get_python_classes(self, env=None): env['datetime'] = datetime if "uuid" not in env: env['uuid'] = uuid + if "enum" not in env: + env['IntEnum'] = IntEnum # generate classes one by one and add them to dict - for struct in self.model: - code = struct.get_code() + for element in self.model: + code = element.get_code() exec(code, env) return env @@ -234,6 +282,12 @@ def load_type_definitions(server, nodes=None): ua.register_extension_object(name, nodeid, structs_dict[name]) # save the typeid if user want to create static file for type definitnion generator.set_typeid(name, nodeid.to_string()) + + for key in structs_dict.keys(): + if type(structs_dict[key]) is EnumMeta and key is not "IntEnum": + import opcua.ua + setattr(opcua.ua, key, structs_dict[key]) + return generators, structs_dict From e2a4aa33fc3f0c76f3bd1cb7a0577008353df516 Mon Sep 17 00:00:00 2001 From: jobasto <35599890+jobasto@users.noreply.github.com> Date: Wed, 23 May 2018 13:39:38 +0200 Subject: [PATCH 072/113] cherry puck/merge d552f1f2c3e34f1b1eb62961b1eca584354aae07 --- tests/enum_struct_test_nodes.xml | 206 +++++++++++++++++++++++++++++++ tests/tests_enum_struct.py | 40 ++++++ 2 files changed, 246 insertions(+) create mode 100644 tests/enum_struct_test_nodes.xml create mode 100644 tests/tests_enum_struct.py diff --git a/tests/enum_struct_test_nodes.xml b/tests/enum_struct_test_nodes.xml new file mode 100644 index 000000000..a3bd02bdc --- /dev/null +++ b/tests/enum_struct_test_nodes.xml @@ -0,0 +1,206 @@ + + + + http://yourorganisation.org/struct_enum_example/ + + + i=4 + i=12 + i=15 + i=21 + i=35 + i=37 + i=38 + i=39 + i=40 + i=45 + i=46 + i=47 + ns=1;i=3002 + ns=1;i=3003 + + + + + + + + ExampleEnum + + ns=1;i=6001 + i=29 + + + + + + + + + EnumStrings + + i=68 + ns=1;i=3002 + i=78 + + + + + EnumVal1 + + + EnumVal2 + + + EnumVal3 + + + + + + ExampleStruct + + ns=1;i=5001 + ns=1;i=5002 + i=22 + + + + + + + + ExampleStruct + + ns=1;i=6002 + i=69 + ns=1;i=5001 + + + ExampleStruct + + + + ExampleStruct + + ns=1;i=6004 + i=69 + ns=1;i=5002 + + + //xs:element[@name='ExampleStruct'] + + + + TypeDictionary + Collects the data type descriptions of http://yourorganisation.org/struct_enum_example/ + + ns=1;i=6006 + ns=1;i=6003 + i=72 + i=93 + + + PG9wYzpUeXBlRGljdGlvbmFyeSB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZ + W1hLWluc3RhbmNlIiB4bWxuczp0bnM9Imh0dHA6Ly95b3Vyb3JnYW5pc2F0aW9uLm9yZy9zd + HJ1Y3RfZW51bV9leGFtcGxlLyIgRGVmYXVsdEJ5dGVPcmRlcj0iTGl0dGxlRW5kaWFuIiB4b + WxuczpvcGM9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9CaW5hcnlTY2hlbWEvIiB4bWxuc + zp1YT0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VBLyIgVGFyZ2V0TmFtZXNwYWNlPSJod + HRwOi8veW91cm9yZ2FuaXNhdGlvbi5vcmcvc3RydWN0X2VudW1fZXhhbXBsZS8iPgogPG9wY + zpJbXBvcnQgTmFtZXNwYWNlPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvIi8+CiA8b + 3BjOlN0cnVjdHVyZWRUeXBlIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiIE5hbWU9I + kV4YW1wbGVTdHJ1Y3QiPgogIDxvcGM6RmllbGQgVHlwZU5hbWU9Im9wYzpJbnQxNiIgTmFtZ + T0iSW50VmFsMSIvPgogIDxvcGM6RmllbGQgVHlwZU5hbWU9InRuczpFeGFtcGxlRW51bSIgT + mFtZT0iRW51bVZhbCIvPgogPC9vcGM6U3RydWN0dXJlZFR5cGU+CiA8b3BjOkVudW1lcmF0Z + WRUeXBlIExlbmd0aEluQml0cz0iMzIiIE5hbWU9IkV4YW1wbGVFbnVtIj4KICA8b3BjOkVud + W1lcmF0ZWRWYWx1ZSBOYW1lPSJFbnVtVmFsMSIgVmFsdWU9IjAiLz4KICA8b3BjOkVudW1lc + mF0ZWRWYWx1ZSBOYW1lPSJFbnVtVmFsMiIgVmFsdWU9IjEiLz4KICA8b3BjOkVudW1lcmF0Z + WRWYWx1ZSBOYW1lPSJFbnVtVmFsMyIgVmFsdWU9IjIiLz4KIDwvb3BjOkVudW1lcmF0ZWRUe + XBlPgo8L29wYzpUeXBlRGljdGlvbmFyeT4K + + + + NamespaceUri + + i=68 + ns=1;i=6002 + + + http://yourorganisation.org/struct_enum_example/ + + + + TypeDictionary + Collects the data type descriptions of http://yourorganisation.org/struct_enum_example/ + + ns=1;i=6007 + ns=1;i=6005 + i=72 + i=92 + + + PHhzOnNjaGVtYSBlbGVtZW50Rm9ybURlZmF1bHQ9InF1YWxpZmllZCIgdGFyZ2V0TmFtZXNwYWNlPSJod + HRwOi8veW91cm9yZ2FuaXNhdGlvbi5vcmcvc3RydWN0X2VudW1fZXhhbXBsZS9UeXBlcy54c + 2QiIHhtbG5zOnRucz0iaHR0cDovL3lvdXJvcmdhbmlzYXRpb24ub3JnL3N0cnVjdF9lbnVtX + 2V4YW1wbGUvVHlwZXMueHNkIiB4bWxuczp1YT0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL + 1VBLzIwMDgvMDIvVHlwZXMueHNkIiB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwM + S9YTUxTY2hlbWEiPgogPHhzOmltcG9ydCBuYW1lc3BhY2U9Imh0dHA6Ly9vcGNmb3VuZGF0a + W9uLm9yZy9VQS8yMDA4LzAyL1R5cGVzLnhzZCIvPgogPHhzOnNpbXBsZVR5cGUgbmFtZT0iR + XhhbXBsZUVudW0iPgogIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPgogICA8e + HM6ZW51bWVyYXRpb24gdmFsdWU9IkVudW1WYWwxXzAiLz4KICAgPHhzOmVudW1lcmF0aW9uI + HZhbHVlPSJFbnVtVmFsMl8xIi8+CiAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRW51bVZhb + DNfMiIvPgogIDwveHM6cmVzdHJpY3Rpb24+CiA8L3hzOnNpbXBsZVR5cGU+CiA8eHM6ZWxlb + WVudCB0eXBlPSJ0bnM6RXhhbXBsZUVudW0iIG5hbWU9IkV4YW1wbGVFbnVtIi8+CiA8eHM6Y + 29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRXhhbXBsZUVudW0iPgogIDx4czpzZXF1ZW5jZT4KI + CAgPHhzOmVsZW1lbnQgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgdHlwZ + T0idG5zOkV4YW1wbGVFbnVtIiBuYW1lPSJFeGFtcGxlRW51bSIgbmlsbGFibGU9InRydWUiL + z4KICA8L3hzOnNlcXVlbmNlPgogPC94czpjb21wbGV4VHlwZT4KIDx4czplbGVtZW50IHR5c + GU9InRuczpMaXN0T2ZFeGFtcGxlRW51bSIgbmFtZT0iTGlzdE9mRXhhbXBsZUVudW0iIG5pb + GxhYmxlPSJ0cnVlIi8+CiA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRXhhbXBsZVN0cnVjdCI+C + iAgPHhzOnNlcXVlbmNlPgogICA8eHM6ZWxlbWVudCBtaW5PY2N1cnM9IjAiIG1heE9jY3Vyc + z0iMSIgdHlwZT0ieHM6c2hvcnQiIG5hbWU9IkludFZhbDEiLz4KICAgPHhzOmVsZW1lbnQgb + WluT2NjdXJzPSIwIiBtYXhPY2N1cnM9IjEiIHR5cGU9InRuczpFeGFtcGxlRW51bSIgbmFtZ + T0iRW51bVZhbCIvPgogIDwveHM6c2VxdWVuY2U+CiA8L3hzOmNvbXBsZXhUeXBlPgogPHhzO + mVsZW1lbnQgdHlwZT0idG5zOkV4YW1wbGVTdHJ1Y3QiIG5hbWU9IkV4YW1wbGVTdHJ1Y3QiL + z4KIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZFeGFtcGxlU3RydWN0Ij4KICA8eHM6c + 2VxdWVuY2U+CiAgIDx4czplbGVtZW50IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvd + W5kZWQiIHR5cGU9InRuczpFeGFtcGxlU3RydWN0IiBuYW1lPSJFeGFtcGxlU3RydWN0IiBua + WxsYWJsZT0idHJ1ZSIvPgogIDwveHM6c2VxdWVuY2U+CiA8L3hzOmNvbXBsZXhUeXBlPgogP + HhzOmVsZW1lbnQgdHlwZT0idG5zOkxpc3RPZkV4YW1wbGVTdHJ1Y3QiIG5hbWU9Ikxpc3RPZ + kV4YW1wbGVTdHJ1Y3QiIG5pbGxhYmxlPSJ0cnVlIi8+CjwveHM6c2NoZW1hPgo= + + + + NamespaceUri + + i=68 + ns=1;i=6004 + + + http://yourorganisation.org/struct_enum_example/Types.xsd + + + + MyVar + + i=63 + i=85 + + + + Default Binary + + ns=1;i=3003 + i=76 + ns=1;i=6006 + + + + Default XML + + ns=1;i=3003 + i=76 + ns=1;i=6007 + + + diff --git a/tests/tests_enum_struct.py b/tests/tests_enum_struct.py new file mode 100644 index 000000000..46e4b381e --- /dev/null +++ b/tests/tests_enum_struct.py @@ -0,0 +1,40 @@ +from opcua import ua +from opcua.ua import uatypes +from enum import IntEnum + +class ExampleEnum(IntEnum): + EnumVal1 = 0 + EnumVal2 = 1 + EnumVal3 = 2 + +import opcua.ua +setattr(opcua.ua, 'ExampleEnum', ExampleEnum) + +class ExampleStruct(uatypes.FrozenClass): + + ua_types = [ + ('IntVal1', 'Int16'), + ('EnumVal', 'ExampleEnum'), + ] + + def __init__(self): + self.IntVal1 = 0 + self.EnumVal = ExampleEnum(0) + self._freeze = True + + def __str__(self): + return 'ExampleStruct(' + 'IntVal1:' + str(self.IntVal1) + ', ' + \ + 'EnumVal:' + str(self.EnumVal) + ')' + + __repr__ = __str__ + +def add_server_custom_enum_struct(server): + # import some nodes from xml + server.import_xml("tests/enum_struct_test_nodes.xml") + ns = server.get_namespace_index('http://yourorganisation.org/struct_enum_example/') + uatypes.register_extension_object('ExampleStruct', ua.NodeId(5001, ns), ExampleStruct) + val = ua.ExampleStruct() + val.IntVal1 = 242 + val.EnumVal = ua.ExampleEnum.EnumVal2 + myvar = server.get_node(ua.NodeId(6009, ns)) + myvar.set_value(val) \ No newline at end of file From 9c17a2f4a1e7a132a2d418280b2bd0f1a29a7bff Mon Sep 17 00:00:00 2001 From: oroulet Date: Tue, 29 May 2018 08:30:42 +0200 Subject: [PATCH 073/113] new release --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 24936f4c4..0b34dbc3e 100644 --- a/setup.py +++ b/setup.py @@ -7,7 +7,7 @@ install_requires.extend(["enum34", "trollius", "futures"]) setup(name="opcua", - version="0.95.2", + version="0.95.3", description="Pure Python OPC-UA client and server library", author="Olivier Roulet-Dubonnet", author_email="olivier.roulet@gmail.com", From c1dab647475aedb0a928a1a1ed2538e05c569b64 Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Mon, 30 Jul 2018 12:33:24 +0200 Subject: [PATCH 074/113] cleanup --- setup.py | 1 - tests/test_client.py | 11 +++++++++++ tests/tests_enum_struct.py | 15 ++++++++++----- 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/setup.py b/setup.py index 0b34dbc3e..ae2d84ea0 100644 --- a/setup.py +++ b/setup.py @@ -43,4 +43,3 @@ ] } ) - diff --git a/tests/test_client.py b/tests/test_client.py index 640319219..c7571ca5c 100644 --- a/tests/test_client.py +++ b/tests/test_client.py @@ -9,6 +9,7 @@ from .tests_subscriptions import SubscriptionTests from .tests_common import CommonTests, add_server_methods from .tests_xml import XmlTests +from .tests_enum_struct import add_server_custom_enum_struct port_num1 = 48510 _logger = logging.getLogger(__name__) @@ -40,6 +41,7 @@ async def server(): await srv.init() srv.set_endpoint(f'opc.tcp://127.0.0.1:{port_num1}') await add_server_methods(srv) + await add_server_custom_enum_struct(srv) await srv.start() yield srv # stop the server @@ -115,3 +117,12 @@ async def test_enumstrings_getvalue(server, client): """ nenumstrings = client.get_node(ua.ObjectIds.AxisScaleEnumeration_EnumStrings) value = ua.Variant(await nenumstrings.get_value()) + + +async def test_custom_enum_struct(server, client): + client.load_type_definitions() + ns = await client.get_namespace_index('http://yourorganisation.org/struct_enum_example/') + myvar = client.get_node(ua.NodeId(6009, ns)) + val = await myvar.get_value() + assert 242 == val.IntVal1 + assert ua.ExampleEnum.EnumVal2 == val.EnumVal diff --git a/tests/tests_enum_struct.py b/tests/tests_enum_struct.py index 46e4b381e..45240fd51 100644 --- a/tests/tests_enum_struct.py +++ b/tests/tests_enum_struct.py @@ -1,21 +1,25 @@ from opcua import ua from opcua.ua import uatypes from enum import IntEnum +from opcua import Server + class ExampleEnum(IntEnum): EnumVal1 = 0 EnumVal2 = 1 EnumVal3 = 2 + import opcua.ua + setattr(opcua.ua, 'ExampleEnum', ExampleEnum) -class ExampleStruct(uatypes.FrozenClass): +class ExampleStruct(uatypes.FrozenClass): ua_types = [ ('IntVal1', 'Int16'), ('EnumVal', 'ExampleEnum'), - ] + ] def __init__(self): self.IntVal1 = 0 @@ -28,13 +32,14 @@ def __str__(self): __repr__ = __str__ -def add_server_custom_enum_struct(server): + +async def add_server_custom_enum_struct(server: Server): # import some nodes from xml server.import_xml("tests/enum_struct_test_nodes.xml") - ns = server.get_namespace_index('http://yourorganisation.org/struct_enum_example/') + ns = await server.get_namespace_index('http://yourorganisation.org/struct_enum_example/') uatypes.register_extension_object('ExampleStruct', ua.NodeId(5001, ns), ExampleStruct) val = ua.ExampleStruct() val.IntVal1 = 242 val.EnumVal = ua.ExampleEnum.EnumVal2 myvar = server.get_node(ua.NodeId(6009, ns)) - myvar.set_value(val) \ No newline at end of file + await myvar.set_value(val) From c42190c33e7c77bbcb35c732c72dabe265662f95 Mon Sep 17 00:00:00 2001 From: oroulet Date: Thu, 31 May 2018 10:59:05 +0200 Subject: [PATCH 075/113] small doc update --- opcua/server/server.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/opcua/server/server.py b/opcua/server/server.py index f667f093c..4a790ae10 100644 --- a/opcua/server/server.py +++ b/opcua/server/server.py @@ -327,6 +327,11 @@ async def create_subscription(self, period, handler): Create a subscription. returns a Subscription object which allow to subscribe to events or data on server + period is in milliseconds + handler is a python object with following methods: + def datachange_notification(self, node, val, data): + def event_notification(self, event): + def status_change_notification(self, status): """ params = ua.CreateSubscriptionParameters() params.RequestedPublishingInterval = period From 13a21ce0d4a025d1017a762ca368ee795068d50f Mon Sep 17 00:00:00 2001 From: oroulet Date: Thu, 31 May 2018 13:57:12 +0200 Subject: [PATCH 076/113] cherry pick/merge ddfff2c1cee9189b33dc8edd76741f3681ee756f --- opcua/ua/ua_binary.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/opcua/ua/ua_binary.py b/opcua/ua/ua_binary.py index 8df7e9d62..31232820a 100644 --- a/opcua/ua/ua_binary.py +++ b/opcua/ua/ua_binary.py @@ -288,9 +288,9 @@ def list_to_binary(uatype, val): def nodeid_to_binary(nodeid): if nodeid.NodeIdType == ua.NodeIdType.TwoByte: - data = struct.pack(' Date: Fri, 1 Jun 2018 13:32:57 +0200 Subject: [PATCH 077/113] cherry pick/merge cc12f5fb5ef737b2462ed0e88617fe5dd126e69d --- opcua/server/server.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/opcua/server/server.py b/opcua/server/server.py index 4a790ae10..ad4cfd1f9 100644 --- a/opcua/server/server.py +++ b/opcua/server/server.py @@ -4,7 +4,7 @@ import asyncio import logging -from datetime import timedelta +from datetime import timedelta, datetime from urllib.parse import urlparse from opcua import ua @@ -77,6 +77,7 @@ def __init__(self, iserver=None): self._application_uri = "urn:freeopcua:python:server" self.product_uri = "urn:freeopcua.github.io:python:server" self.name = "FreeOpcUa Python Server" + self.manufacturer_name = "FreeOpcUa" self.application_type = ua.ApplicationType.ClientAndServer self.default_timeout = 60 * 60 * 1000 if iserver is not None: @@ -97,6 +98,18 @@ async def init(self, shelf_file=None): self.set_application_uri(self._application_uri) sa_node = self.get_node(ua.NodeId(ua.ObjectIds.Server_ServerArray)) await sa_node.set_value([self._application_uri]) + status_node = self.get_node(ua.NodeId(ua.ObjectIds.Server_ServerStatus)) + build_node = self.get_node(ua.NodeId(ua.ObjectIds.Server_ServerStatus_BuildInfo)) + status = ua.ServerStatusDataType() + status.BuildInfo.ProductUri = self.product_uri + status.BuildInfo.ManufacturerName = self.manufacturer_name + status.BuildInfo.ProductName = self.name + status.BuildInfo.SoftwareVersion = "1.0pre" + status.BuildInfo.BuildNumber = "0" + status.BuildInfo.BuildDate = datetime.now() + status.SecondsTillShutdown = 0 + status_node.set_value(status) + build_node.set_value(status.BuildInfo) async def __aenter__(self): await self.start() From 75dc638ff94e6bb53d1f4f9610c954019b2f9e31 Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Mon, 30 Jul 2018 13:15:57 +0200 Subject: [PATCH 078/113] cleanup --- opcua/server/server.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/opcua/server/server.py b/opcua/server/server.py index ad4cfd1f9..71e6974e3 100644 --- a/opcua/server/server.py +++ b/opcua/server/server.py @@ -108,8 +108,8 @@ async def init(self, shelf_file=None): status.BuildInfo.BuildNumber = "0" status.BuildInfo.BuildDate = datetime.now() status.SecondsTillShutdown = 0 - status_node.set_value(status) - build_node.set_value(status.BuildInfo) + await status_node.set_value(status) + await build_node.set_value(status.BuildInfo) async def __aenter__(self): await self.start() From 7c247f65a4f99dc2ff87f6cda5aab0d020fc2d65 Mon Sep 17 00:00:00 2001 From: nic Date: Sat, 2 Jun 2018 22:54:14 +0200 Subject: [PATCH 079/113] cherry pick/merge 8b665fbed0b8e9241708c0d7d9a729cc2df798de --- opcua/server/server.py | 121 ++++++++++++++++++++++------------------- 1 file changed, 65 insertions(+), 56 deletions(-) diff --git a/opcua/server/server.py b/opcua/server/server.py index 71e6974e3..74cf22dca 100644 --- a/opcua/server/server.py +++ b/opcua/server/server.py @@ -91,6 +91,10 @@ def __init__(self, iserver=None): self.private_key = None self._policies = [] self.nodes = Shortcuts(self.iserver.isession) + self.security_endpoints = ["None", "Basic128Rsa15_Sign", + "Basic128Rsa15_SignAndEncrypt", + "Basic256_Sign", "Basic256_SignAndEncrypt"] + self.policyIDs = ["Anonymous", "Basic256", "Basic128", "Username"] async def init(self, shelf_file=None): await self.iserver.init(shelf_file) @@ -208,63 +212,68 @@ def get_endpoints(self): async def _setup_server_nodes(self): # to be called just before starting server since it needs all parameters to be setup - self._set_endpoints() - self._policies = [ua.SecurityPolicyFactory()] - if self.certificate and self.private_key: - self._set_endpoints( - security_policies.SecurityPolicyBasic128Rsa15, ua.MessageSecurityMode.SignAndEncrypt - ) - self._policies.append( - ua.SecurityPolicyFactory( - security_policies.SecurityPolicyBasic128Rsa15, - ua.MessageSecurityMode.SignAndEncrypt, - self.certificate, - self.private_key) - ) - self._set_endpoints(security_policies.SecurityPolicyBasic128Rsa15, ua.MessageSecurityMode.Sign) - self._policies.append( - ua.SecurityPolicyFactory( - security_policies.SecurityPolicyBasic128Rsa15, - ua.MessageSecurityMode.Sign, - self.certificate, - self.private_key - ) - ) - self._set_endpoints(security_policies.SecurityPolicyBasic256, ua.MessageSecurityMode.SignAndEncrypt) - self._policies.append( - ua.SecurityPolicyFactory( - security_policies.SecurityPolicyBasic256, - ua.MessageSecurityMode.SignAndEncrypt, - self.certificate, - self.private_key - ) - ) - self._set_endpoints(security_policies.SecurityPolicyBasic256, ua.MessageSecurityMode.Sign) - self._policies.append( - ua.SecurityPolicyFactory( - security_policies.SecurityPolicyBasic256, - ua.MessageSecurityMode.Sign, - self.certificate, - self.private_key - ) - ) + if "None" in self.security_endpoints: + self._set_endpoints() + self._policies = [ua.SecurityPolicyFactory()] + if self.certificate and self.private_key: + if "Basic128Rsa15_Sign" in self.security_endpoints: + self._set_endpoints(security_policies.SecurityPolicyBasic128Rsa15, + ua.MessageSecurityMode.SignAndEncrypt) + self._policies.append(ua.SecurityPolicyFactory(security_policies.SecurityPolicyBasic128Rsa15, + ua.MessageSecurityMode.SignAndEncrypt, + self.certificate, + self.private_key) + ) + if "Basic128Rsa15_SignAndEncrypt" in self.security_endpoints: + self._set_endpoints(security_policies.SecurityPolicyBasic128Rsa15, + ua.MessageSecurityMode.Sign) + self._policies.append(ua.SecurityPolicyFactory(security_policies.SecurityPolicyBasic128Rsa15, + ua.MessageSecurityMode.Sign, + self.certificate, + self.private_key) + ) + if "Basic256_Sign" in self.security_endpoints: + self._set_endpoints(security_policies.SecurityPolicyBasic256, + ua.MessageSecurityMode.SignAndEncrypt) + self._policies.append(ua.SecurityPolicyFactory(security_policies.SecurityPolicyBasic256, + ua.MessageSecurityMode.SignAndEncrypt, + self.certificate, + self.private_key) + ) + if "Basic256_SignAndEncrypt" in self.security_endpoints: + self._set_endpoints(security_policies.SecurityPolicyBasic256, + ua.MessageSecurityMode.Sign) + self._policies.append(ua.SecurityPolicyFactory(security_policies.SecurityPolicyBasic256, + ua.MessageSecurityMode.Sign, + self.certificate, + self.private_key) + ) def _set_endpoints(self, policy=ua.SecurityPolicy, mode=ua.MessageSecurityMode.None_): - idtoken = ua.UserTokenPolicy() - idtoken.PolicyId = 'anonymous' - idtoken.TokenType = ua.UserTokenType.Anonymous - - idtoken2 = ua.UserTokenPolicy() - idtoken2.PolicyId = 'certificate_basic256' - idtoken2.TokenType = ua.UserTokenType.Certificate - - idtoken3 = ua.UserTokenPolicy() - idtoken3.PolicyId = 'certificate_basic128' - idtoken3.TokenType = ua.UserTokenType.Certificate - - idtoken4 = ua.UserTokenPolicy() - idtoken4.PolicyId = 'username' - idtoken4.TokenType = ua.UserTokenType.UserName + idtokens = [] + if "Anonymous" in self.policyIDs: + idtoken1 = ua.UserTokenPolicy() + idtoken1.PolicyId = 'anonymous' + idtoken1.TokenType = ua.UserTokenType.Anonymous + idtokens.append(idtoken1) + + if "Basic256" in self.policyIDs: + idtoken2 = ua.UserTokenPolicy() + idtoken2.PolicyId = 'certificate_basic256' + idtoken2.TokenType = ua.UserTokenType.Certificate + idtokens.append(idtoken2) + + if "Basic128" in self.policyIDs: + idtoken3 = ua.UserTokenPolicy() + idtoken3.PolicyId = 'certificate_basic128' + idtoken3.TokenType = ua.UserTokenType.Certificate + idtokens.append(idtoken3) + + if "Username" in self.policyIDs: + idtoken4 = ua.UserTokenPolicy() + idtoken4.PolicyId = 'username' + idtoken4.TokenType = ua.UserTokenType.UserName + idtokens.append(idtoken4) appdesc = ua.ApplicationDescription() appdesc.ApplicationName = ua.LocalizedText(self.name) @@ -280,7 +289,7 @@ def _set_endpoints(self, policy=ua.SecurityPolicy, mode=ua.MessageSecurityMode.N edp.ServerCertificate = uacrypto.der_from_x509(self.certificate) edp.SecurityMode = mode edp.SecurityPolicyUri = policy.URI - edp.UserIdentityTokens = [idtoken, idtoken2, idtoken3, idtoken4] + edp.UserIdentityTokens = idtokens edp.TransportProfileUri = 'http://opcfoundation.org/UA-Profile/Transport/uatcp-uasc-uabinary' edp.SecurityLevel = 0 self.iserver.add_endpoint(edp) From 951b0ca5db3c17344762e409126f9ce48bfd77e3 Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Mon, 30 Jul 2018 13:27:15 +0200 Subject: [PATCH 080/113] cleanup --- opcua/server/server.py | 86 +++++++++++++++++++++++++----------------- 1 file changed, 52 insertions(+), 34 deletions(-) diff --git a/opcua/server/server.py b/opcua/server/server.py index 74cf22dca..98814b4ca 100644 --- a/opcua/server/server.py +++ b/opcua/server/server.py @@ -91,9 +91,9 @@ def __init__(self, iserver=None): self.private_key = None self._policies = [] self.nodes = Shortcuts(self.iserver.isession) - self.security_endpoints = ["None", "Basic128Rsa15_Sign", - "Basic128Rsa15_SignAndEncrypt", - "Basic256_Sign", "Basic256_SignAndEncrypt"] + self.security_endpoints = [ + "None", "Basic128Rsa15_Sign", "Basic128Rsa15_SignAndEncrypt", "Basic256_Sign", "Basic256_SignAndEncrypt" + ] self.policyIDs = ["Anonymous", "Basic256", "Basic128", "Username"] async def init(self, shelf_file=None): @@ -218,37 +218,54 @@ async def _setup_server_nodes(self): if self.certificate and self.private_key: if "Basic128Rsa15_Sign" in self.security_endpoints: - self._set_endpoints(security_policies.SecurityPolicyBasic128Rsa15, - ua.MessageSecurityMode.SignAndEncrypt) - self._policies.append(ua.SecurityPolicyFactory(security_policies.SecurityPolicyBasic128Rsa15, - ua.MessageSecurityMode.SignAndEncrypt, - self.certificate, - self.private_key) - ) + self._set_endpoints( + security_policies.SecurityPolicyBasic128Rsa15, + ua.MessageSecurityMode.SignAndEncrypt) + self._policies.append( + ua.SecurityPolicyFactory( + security_policies.SecurityPolicyBasic128Rsa15, + ua.MessageSecurityMode.SignAndEncrypt, + self.certificate, + self.private_key + ) + ) if "Basic128Rsa15_SignAndEncrypt" in self.security_endpoints: - self._set_endpoints(security_policies.SecurityPolicyBasic128Rsa15, - ua.MessageSecurityMode.Sign) - self._policies.append(ua.SecurityPolicyFactory(security_policies.SecurityPolicyBasic128Rsa15, - ua.MessageSecurityMode.Sign, - self.certificate, - self.private_key) - ) + self._set_endpoints( + security_policies.SecurityPolicyBasic128Rsa15, + ua.MessageSecurityMode.Sign) + self._policies.append( + ua.SecurityPolicyFactory( + security_policies.SecurityPolicyBasic128Rsa15, + ua.MessageSecurityMode.Sign, + self.certificate, + self.private_key + ) + ) if "Basic256_Sign" in self.security_endpoints: - self._set_endpoints(security_policies.SecurityPolicyBasic256, - ua.MessageSecurityMode.SignAndEncrypt) - self._policies.append(ua.SecurityPolicyFactory(security_policies.SecurityPolicyBasic256, - ua.MessageSecurityMode.SignAndEncrypt, - self.certificate, - self.private_key) - ) + self._set_endpoints( + security_policies.SecurityPolicyBasic256, + ua.MessageSecurityMode.SignAndEncrypt) + self._policies.append( + ua.SecurityPolicyFactory( + security_policies.SecurityPolicyBasic256, + ua.MessageSecurityMode.SignAndEncrypt, + self.certificate, + self.private_key + ) + ) if "Basic256_SignAndEncrypt" in self.security_endpoints: - self._set_endpoints(security_policies.SecurityPolicyBasic256, - ua.MessageSecurityMode.Sign) - self._policies.append(ua.SecurityPolicyFactory(security_policies.SecurityPolicyBasic256, - ua.MessageSecurityMode.Sign, - self.certificate, - self.private_key) - ) + self._set_endpoints( + security_policies.SecurityPolicyBasic256, + ua.MessageSecurityMode.Sign) + self._policies.append( + ua.SecurityPolicyFactory( + security_policies.SecurityPolicyBasic256, + ua.MessageSecurityMode.Sign, + self.certificate, + self.private_key + ) + ) + def _set_endpoints(self, policy=ua.SecurityPolicy, mode=ua.MessageSecurityMode.None_): idtokens = [] if "Anonymous" in self.policyIDs: @@ -414,7 +431,7 @@ def create_custom_event_type(self, idx, name, basetype=ua.ObjectIds.BaseEventTyp return self._create_custom_type(idx, name, basetype, properties, [], []) def create_custom_object_type(self, idx, name, basetype=ua.ObjectIds.BaseObjectType, properties=None, - variables=None, methods=None): + variables=None, methods=None): if properties is None: properties = [] if variables is None: @@ -427,7 +444,7 @@ def create_custom_object_type(self, idx, name, basetype=ua.ObjectIds.BaseObjectT # return self._create_custom_type(idx, name, basetype, properties) def create_custom_variable_type(self, idx, name, basetype=ua.ObjectIds.BaseVariableType, properties=None, - variables=None, methods=None): + variables=None, methods=None): if properties is None: properties = [] if variables is None: @@ -448,7 +465,8 @@ async def _create_custom_type(self, idx, name, basetype, properties, variables, datatype = None if len(prop) > 2: datatype = prop[2] - await custom_t.add_property(idx, prop[0], ua.get_default_value(prop[1]), varianttype=prop[1], datatype=datatype) + await custom_t.add_property(idx, prop[0], ua.get_default_value(prop[1]), varianttype=prop[1], + datatype=datatype) for variable in variables: datatype = None if len(variable) > 2: From ac108cca349a47891e64673b5702d53ed9ec3b36 Mon Sep 17 00:00:00 2001 From: nic Date: Mon, 4 Jun 2018 14:10:33 +0200 Subject: [PATCH 081/113] cherry pick/merge 3759134aba6d67fc268e51dad02c4280ca5aee84 --- opcua/server/server.py | 103 +++++++++++++++++++++++++++++------------ 1 file changed, 73 insertions(+), 30 deletions(-) diff --git a/opcua/server/server.py b/opcua/server/server.py index 98814b4ca..8867bd17b 100644 --- a/opcua/server/server.py +++ b/opcua/server/server.py @@ -91,10 +91,10 @@ def __init__(self, iserver=None): self.private_key = None self._policies = [] self.nodes = Shortcuts(self.iserver.isession) - self.security_endpoints = [ + self._security_endpoints = [ "None", "Basic128Rsa15_Sign", "Basic128Rsa15_SignAndEncrypt", "Basic256_Sign", "Basic256_SignAndEncrypt" ] - self.policyIDs = ["Anonymous", "Basic256", "Basic128", "Username"] + self._policyIDs = ["Anonymous", "Basic256", "Basic128", "Username"] async def init(self, shelf_file=None): await self.iserver.init(shelf_file) @@ -210,14 +210,57 @@ def set_endpoint(self, url): def get_endpoints(self): return self.iserver.get_endpoints() + def set_security_policy(self, security_policy): + """ + Method setting up the security policies for connections + to the server. During server object initialization, all + possible endpoints are enabled: + + security_policy = ["None", + "Basic128Rsa15_Sign", + "Basic128Rsa15_SignAndEncrypt", + "Basic256_Sign", + "Basic256_SignAndEncrypt"] + + where security_policy is a list of strings. "None" enables an + endpoint without any security. + + E.g. to limit the number of endpoints and disable no encryption: + + set_security_policy(["Basic256_Sign", + "Basic256_SignAndEncrypt"]) + + """ + self._security_policy = security_policy + + + def set_security_IDs(self, policyIDs): + """ + Method setting up the security endpoints for identification + of clients. During server object initialization, all possible + endpoints are enabled: + + self._policyIDs = ["Anonymous", "Basic256", "Basic128", "Username"] + + E.g. to limit the number of IDs and disable anonymous clients: + + set_security_policy(["Basic256"]) + + (Implementation for ID check is currently not finalized...) + + """ + self._policyIDs = policyIDs + async def _setup_server_nodes(self): # to be called just before starting server since it needs all parameters to be setup - if "None" in self.security_endpoints: + if "None" in self._security_policy: self._set_endpoints() self._policies = [ua.SecurityPolicyFactory()] + if (len(self._security_policy)>1) and self.private_key: + self.logger.warning("Creating an open endpoint to the server, although encrypted endpoints are enabled.") if self.certificate and self.private_key: - if "Basic128Rsa15_Sign" in self.security_endpoints: + if "Basic128Rsa15_Sign" in self._security_endpoints: self._set_endpoints( security_policies.SecurityPolicyBasic128Rsa15, ua.MessageSecurityMode.SignAndEncrypt) @@ -229,7 +272,7 @@ async def _setup_server_nodes(self): self.private_key ) ) - if "Basic128Rsa15_SignAndEncrypt" in self.security_endpoints: + if "Basic128Rsa15_SignAndEncrypt" in self._security_endpoints: self._set_endpoints( security_policies.SecurityPolicyBasic128Rsa15, ua.MessageSecurityMode.Sign) @@ -241,7 +284,7 @@ async def _setup_server_nodes(self): self.private_key ) ) - if "Basic256_Sign" in self.security_endpoints: + if "Basic256_Sign" in self._security_endpoints: self._set_endpoints( security_policies.SecurityPolicyBasic256, ua.MessageSecurityMode.SignAndEncrypt) @@ -253,7 +296,7 @@ async def _setup_server_nodes(self): self.private_key ) ) - if "Basic256_SignAndEncrypt" in self.security_endpoints: + if "Basic256_SignAndEncrypt" in self._security_endpoints: self._set_endpoints( security_policies.SecurityPolicyBasic256, ua.MessageSecurityMode.Sign) @@ -268,29 +311,29 @@ async def _setup_server_nodes(self): def _set_endpoints(self, policy=ua.SecurityPolicy, mode=ua.MessageSecurityMode.None_): idtokens = [] - if "Anonymous" in self.policyIDs: - idtoken1 = ua.UserTokenPolicy() - idtoken1.PolicyId = 'anonymous' - idtoken1.TokenType = ua.UserTokenType.Anonymous - idtokens.append(idtoken1) - - if "Basic256" in self.policyIDs: - idtoken2 = ua.UserTokenPolicy() - idtoken2.PolicyId = 'certificate_basic256' - idtoken2.TokenType = ua.UserTokenType.Certificate - idtokens.append(idtoken2) - - if "Basic128" in self.policyIDs: - idtoken3 = ua.UserTokenPolicy() - idtoken3.PolicyId = 'certificate_basic128' - idtoken3.TokenType = ua.UserTokenType.Certificate - idtokens.append(idtoken3) - - if "Username" in self.policyIDs: - idtoken4 = ua.UserTokenPolicy() - idtoken4.PolicyId = 'username' - idtoken4.TokenType = ua.UserTokenType.UserName - idtokens.append(idtoken4) + if "Anonymous" in self._policyIDs: + idtoken = ua.UserTokenPolicy() + idtoken.PolicyId = 'anonymous' + idtoken.TokenType = ua.UserTokenType.Anonymous + idtokens.append(idtoken) + + if "Basic256" in self._policyIDs: + idtoken = ua.UserTokenPolicy() + idtoken.PolicyId = 'certificate_basic256' + idtoken.TokenType = ua.UserTokenType.Certificate + idtokens.append(idtoken) + + if "Basic128" in self._policyIDs: + idtoken = ua.UserTokenPolicy() + idtoken.PolicyId = 'certificate_basic128' + idtoken.TokenType = ua.UserTokenType.Certificate + idtokens.append(idtoken) + + if "Username" in self._policyIDs: + idtoken = ua.UserTokenPolicy() + idtoken.PolicyId = 'username' + idtoken.TokenType = ua.UserTokenType.UserName + idtokens.append(idtoken) appdesc = ua.ApplicationDescription() appdesc.ApplicationName = ua.LocalizedText(self.name) From 00ae5f46ac013adcdb87b90a1c84e8a8d191ebbb Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Mon, 30 Jul 2018 13:38:54 +0200 Subject: [PATCH 082/113] cleanup --- opcua/server/server.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/opcua/server/server.py b/opcua/server/server.py index 8867bd17b..0aeff4a6d 100644 --- a/opcua/server/server.py +++ b/opcua/server/server.py @@ -233,7 +233,6 @@ def set_security_policy(self, security_policy): """ self._security_policy = security_policy - def set_security_IDs(self, policyIDs): """ Method setting up the security endpoints for identification @@ -256,8 +255,9 @@ async def _setup_server_nodes(self): if "None" in self._security_policy: self._set_endpoints() self._policies = [ua.SecurityPolicyFactory()] - if (len(self._security_policy)>1) and self.private_key: - self.logger.warning("Creating an open endpoint to the server, although encrypted endpoints are enabled.") + if (len(self._security_policy) > 1) and self.private_key: + self.logger.warning( + "Creating an open endpoint to the server, although encrypted endpoints are enabled.") if self.certificate and self.private_key: if "Basic128Rsa15_Sign" in self._security_endpoints: From f7aaa254c1ba83f32b0ee609fd81c2d8b3986f79 Mon Sep 17 00:00:00 2001 From: nic Date: Mon, 4 Jun 2018 14:35:34 +0200 Subject: [PATCH 083/113] example in server-example.py\ --- examples/server-example.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/examples/server-example.py b/examples/server-example.py index 321e38a1d..e34812a4e 100644 --- a/examples/server-example.py +++ b/examples/server-example.py @@ -67,6 +67,12 @@ def multiply(parent, x, y): #server.set_endpoint("opc.tcp://localhost:4840/freeopcua/server/") server.set_endpoint("opc.tcp://0.0.0.0:4840/freeopcua/server/") server.set_server_name("FreeOpcUa Example Server") + # set possible endpoint policies for clients to connect through + server.set_security_policy(["None", + "Basic128Rsa15_Sign", + "Basic128Rsa15_SignAndEncrypt", + "Basic256_Sign", + "Basic256_SignAndEncrypt"]) # setup our own namespace uri = "http://examples.freeopcua.github.io" From 7991a6655dcec0b7fcd8f50d043661cf7be34126 Mon Sep 17 00:00:00 2001 From: oroulet Date: Wed, 30 May 2018 19:05:05 +0200 Subject: [PATCH 084/113] cherry pick/merge f82f044033cd46624373721fe52b55e75deba3c0 --- opcua/ua/uatypes.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/opcua/ua/uatypes.py b/opcua/ua/uatypes.py index 338f345c7..1d5750a40 100644 --- a/opcua/ua/uatypes.py +++ b/opcua/ua/uatypes.py @@ -79,15 +79,13 @@ def __setattr__(self, key, value): object.__setattr__(self, key, value) -if 'PYOPCUA_NO_TYPO_CHECK' in os.environ: +if "PYOPCUA_TYPO_CHECK" in os.environ: # typo check is cpu consuming, but it will make debug easy. - # if typo check is not need (in production), please set env PYOPCUA_NO_TYPO_CHECK. - # this will make all uatype class inherit from object instead of _FrozenClass - # and skip the typo check. - FrozenClass = object -else: + # set PYOPCUA_TYPO_CHECK will make all uatype classes inherit from _FrozenClass logger.warning('uaypes typo checking is active') FrozenClass = _FrozenClass +else: + FrozenClass = object class ValueRank(IntEnum): From cbe733d6489c951d040c87111c335424cc45a336 Mon Sep 17 00:00:00 2001 From: oroulet Date: Wed, 30 May 2018 19:05:30 +0200 Subject: [PATCH 085/113] attempt to speed up node comparison --- opcua/ua/uatypes.py | 16 ++++------------ tests/tests_unit.py | 12 +++++------- 2 files changed, 9 insertions(+), 19 deletions(-) diff --git a/opcua/ua/uatypes.py b/opcua/ua/uatypes.py index 1d5750a40..57e898c12 100644 --- a/opcua/ua/uatypes.py +++ b/opcua/ua/uatypes.py @@ -262,7 +262,7 @@ class NodeIdType(IntEnum): ByteString = 5 -class NodeId(FrozenClass): +class NodeId(object): """ NodeId Object @@ -290,8 +290,6 @@ def __init__(self, identifier=None, namespaceidx=0, nodeidtype=None): self.NamespaceUri = "" self.ServerIndex = 0 self._freeze = True - if not isinstance(self.NamespaceIndex, int): - raise UaError("NamespaceIndex must be an int") if self.Identifier is None: self.Identifier = 0 self.NodeIdType = NodeIdType.TwoByte @@ -308,25 +306,19 @@ def __init__(self, identifier=None, namespaceidx=0, nodeidtype=None): else: raise UaError("NodeId: Could not guess type of NodeId, set NodeIdType") - def _key(self): - if self.NodeIdType in (NodeIdType.TwoByte, NodeIdType.FourByte, NodeIdType.Numeric): - # twobyte, fourbyte and numeric may represent the same node - return (NodeIdType.Numeric, self.NamespaceIndex, self.Identifier) - return (self.NodeIdType, self.NamespaceIndex, self.Identifier) - def __eq__(self, node): - return isinstance(node, NodeId) and self._key() == node._key() + return isinstance(node, NodeId) and self.NamespaceIndex == node.NamespaceIndex and self.Identifier == node.Identifier def __ne__(self, other): return not self.__eq__(other) def __hash__(self): - return hash(self._key()) + return hash((self.NamespaceIndex, self.Identifier)) def __lt__(self, other): if not isinstance(other, NodeId): raise AttributeError("Can only compare to NodeId") - return self._key() < other._key() + return (self.NodeIdType, self.NamespaceIndex, self.Identifier) < (other.NodeIdType, other.NamespaceIndex, other.Identifier) def is_null(self): if self.NamespaceIndex != 0: diff --git a/tests/tests_unit.py b/tests/tests_unit.py index 4e371d4de..23ab90e54 100755 --- a/tests/tests_unit.py +++ b/tests/tests_unit.py @@ -176,7 +176,7 @@ def test_nodeid_ordering(self): mylist = [a, b, c, d, e, f, g, h, i, j] mylist.sort() - expected = [c, h, a, b, e, d, f, g, i, j] + expected = [h, c, a, b, e, d, f, g, i, j] self.assertEqual(mylist, expected) def test_string_to_variant_int(self): @@ -317,7 +317,6 @@ def test_nodeid(self): fb = ua.FourByteNodeId(53) n = ua.NumericNodeId(53) n1 = ua.NumericNodeId(53, 0) - s = ua.StringNodeId(53, 0) # should we raise an exception??? s1 = ua.StringNodeId("53", 0) bs = ua.ByteStringNodeId(b"53", 0) gid = uuid.uuid4() @@ -327,9 +326,6 @@ def test_nodeid(self): self.assertEqual(tb, n) self.assertEqual(tb, n1) self.assertEqual(n1, fb) - self.assertNotEqual(n1, s) - self.assertNotEqual(s, bs) - self.assertNotEqual(s, g) self.assertNotEqual(g, guid) self.assertEqual(tb, nodeid_from_binary(ua.utils.Buffer(nodeid_to_binary(tb)))) self.assertEqual(fb, nodeid_from_binary(ua.utils.Buffer(nodeid_to_binary(fb)))) @@ -351,8 +347,10 @@ def test_nodeid_string(self): nid1 = ua.NodeId("myid.mynodeid", 7) self.assertEqual(nid1, ua.NodeId.from_string("ns=7; s=myid.mynodeid")) - with self.assertRaises(ua.UaError): - nid1 = ua.NodeId(7, "myid.mynodeid") + #with self.assertRaises(ua.UaError): + #nid1 = ua.NodeId(7, "myid.mynodeid") + #with self.assertRaises(ua.UaError): + #nid1 = ua.StringNodeId(1, 2) def test_bad_string(self): with self.assertRaises(ua.UaStringParsingError): From e0c9d1f90c473b058c455df82c9e658a566bb8ec Mon Sep 17 00:00:00 2001 From: oroulet Date: Wed, 30 May 2018 22:07:18 +0200 Subject: [PATCH 086/113] cherry pick/merge c1162fb470c83b567653372e5bfd4b5917f8015a --- opcua/server/address_space.py | 98 ++++++++++--------- .../standard_address_space.py | 4 +- 2 files changed, 56 insertions(+), 46 deletions(-) diff --git a/opcua/server/address_space.py b/opcua/server/address_space.py index d026e5695..3182506d5 100644 --- a/opcua/server/address_space.py +++ b/opcua/server/address_space.py @@ -187,54 +187,60 @@ def add_nodes(self, addnodeitems, user=User.Admin): results.append(self._add_node(item, user)) return results - def try_add_nodes(self, addnodeitems, user=User.Admin): + def try_add_nodes(self, addnodeitems, user=User.Admin, check=True): for item in addnodeitems: - ret = self._add_node(item, user) + ret = self._add_node(item, user, check=check) if not ret.StatusCode.is_good(): yield item - def _add_node(self, item, user): + def _add_node(self, item, user, check=True): + self.logger.debug("Adding node %s %s", item.RequestedNewNodeId, item.BrowseName) result = ua.AddNodesResult() - # If Identifier of requested NodeId is null we generate a new NodeId using - # the namespace of the nodeid, this is an extention of the spec to allow - # to requests the server to generate a new nodeid in a specified namespace + if not user == User.Admin: + result.StatusCode = ua.StatusCode(ua.StatusCodes.BadUserAccessDenied) + return result + if item.RequestedNewNodeId.has_null_identifier(): + # If Identifier of requested NodeId is null we generate a new NodeId using + # the namespace of the nodeid, this is an extention of the spec to allow + # to requests the server to generate a new nodeid in a specified namespace self.logger.debug("RequestedNewNodeId has null identifier, generating Identifier") - nodedata = NodeData(self._aspace.generate_nodeid(item.RequestedNewNodeId.NamespaceIndex)) + item.RequestedNewNodeId = self._aspace.generate_nodeid(item.RequestedNewNodeId.NamespaceIndex) else: - nodedata = NodeData(item.RequestedNewNodeId) - - if nodedata.nodeid in self._aspace: - self.logger.warning("AddNodesItem: Requested NodeId %s already exists", nodedata.nodeid) - result.StatusCode = ua.StatusCode(ua.StatusCodes.BadNodeIdExists) - return result + if item.RequestedNewNodeId in self._aspace: + self.logger.warning("AddNodesItem: Requested NodeId %s already exists", item.RequestedNewNodeId) + result.StatusCode = ua.StatusCode(ua.StatusCodes.BadNodeIdExists) + return result if item.ParentNodeId.is_null(): - # self.logger.warning("add_node: creating node %s without parent", nodedata.nodeid) - # should return Error here, but the standard namespace define many nodes without parents... - pass - elif item.ParentNodeId not in self._aspace: - self.logger.warning("add_node: while adding node %s, requested parent node %s does not exists", nodedata.nodeid, item.ParentNodeId) + self.logger.info("add_node: while adding node %s, requested parent node is null %s %s", + item.RequestedNewNodeId, item.ParentNodeId, item.ParentNodeId.is_null()) + if check: + result.StatusCode = ua.StatusCode(ua.StatusCodes.BadParentNodeIdInvalid) + return result + + parentdata = self._aspace.get(item.ParentNodeId) + if parentdata is None and not item.ParentNodeId.is_null(): + self.logger.info("add_node: while adding node %s, requested parent node %s does not exists", + item.RequestedNewNodeId, item.ParentNodeId) result.StatusCode = ua.StatusCode(ua.StatusCodes.BadParentNodeIdInvalid) return result - if not user == User.Admin: - result.StatusCode = ua.StatusCode(ua.StatusCodes.BadUserAccessDenied) - return result + nodedata = NodeData(item.RequestedNewNodeId) self._add_node_attributes(nodedata, item) # now add our node to db self._aspace[nodedata.nodeid] = nodedata - if not item.ParentNodeId.is_null(): - self._add_ref_from_parent(nodedata, item) - self._add_ref_to_parent(nodedata, item, user) + if parentdata is not None: + self._add_ref_from_parent(nodedata, item, parentdata) + self._add_ref_to_parent(nodedata, item, parentdata) # add type definition if item.TypeDefinition != ua.NodeId(): - self._add_type_definition(nodedata, item, user) + self._add_type_definition(nodedata, item) result.StatusCode = ua.StatusCode() result.AddedNodeId = nodedata.nodeid @@ -255,20 +261,18 @@ def _add_node_attributes(self, nodedata, item): # add requested attrs self._add_nodeattributes(item.NodeAttributes, nodedata) - - def _add_unique_reference(self, source, desc): - refs = self._aspace[source].references - for r in refs: + def _add_unique_reference(self, nodedata, desc): + for r in nodedata.references: if r.ReferenceTypeId == desc.ReferenceTypeId and r.NodeId == desc.NodeId: - if r.IsForward != desc.IsForward: + if r.IsForward != desc.IsForward: self.logger.error("Cannot add conflicting reference %s ", str(desc)) return ua.StatusCode(ua.StatusCodes.BadReferenceNotAllowed) - break # ref already exists + break # ref already exists else: - refs.append(desc) + nodedata.references.append(desc) return ua.StatusCode() - def _add_ref_from_parent(self, nodedata, item): + def _add_ref_from_parent(self, nodedata, item, parentdata): desc = ua.ReferenceDescription() desc.ReferenceTypeId = item.ReferenceTypeId desc.NodeId = nodedata.nodeid @@ -277,25 +281,25 @@ def _add_ref_from_parent(self, nodedata, item): desc.DisplayName = item.NodeAttributes.DisplayName desc.TypeDefinition = item.TypeDefinition desc.IsForward = True - self._add_unique_reference(item.ParentNodeId, desc) + self._add_unique_reference(parentdata, desc) - def _add_ref_to_parent(self, nodedata, item, user): + def _add_ref_to_parent(self, nodedata, item, parentdata): addref = ua.AddReferencesItem() addref.ReferenceTypeId = item.ReferenceTypeId addref.SourceNodeId = nodedata.nodeid addref.TargetNodeId = item.ParentNodeId - addref.TargetNodeClass = self._aspace[item.ParentNodeId].attributes[ua.AttributeIds.NodeClass].value.Value.Value + addref.TargetNodeClass = parentdata.attributes[ua.AttributeIds.NodeClass].value.Value.Value addref.IsForward = False - self._add_reference(addref, user) + self._add_reference_no_check(nodedata, addref) - def _add_type_definition(self, nodedata, item, user): + def _add_type_definition(self, nodedata, item): addref = ua.AddReferencesItem() addref.SourceNodeId = nodedata.nodeid addref.IsForward = True addref.ReferenceTypeId = ua.NodeId(ua.ObjectIds.HasTypeDefinition) addref.TargetNodeId = item.TypeDefinition addref.TargetNodeClass = ua.NodeClass.DataType - self._add_reference(addref, user) + self._add_reference_no_check(nodedata, addref) def delete_nodes(self, deletenodeitems, user=User.Admin): results = [] @@ -344,12 +348,16 @@ def try_add_references(self, refs, user=User.Admin): yield ref def _add_reference(self, addref, user): - if addref.SourceNodeId not in self._aspace: + sourcedata = self._aspace.get(addref.SourceNodeId) + if sourcedata is None: return ua.StatusCode(ua.StatusCodes.BadSourceNodeIdInvalid) if addref.TargetNodeId not in self._aspace: return ua.StatusCode(ua.StatusCodes.BadTargetNodeIdInvalid) if user != User.Admin: return ua.StatusCode(ua.StatusCodes.BadUserAccessDenied) + return self._add_reference_no_check(sourcedata, addref) + + def _add_reference_no_check(self, sourcedata, addref): rdesc = ua.ReferenceDescription() rdesc.ReferenceTypeId = addref.ReferenceTypeId rdesc.IsForward = addref.IsForward @@ -361,7 +369,7 @@ def _add_reference(self, addref, user): dname = self._aspace.get_attribute_value(addref.TargetNodeId, ua.AttributeIds.DisplayName).Value.Value if dname: rdesc.DisplayName = dname - return self._add_unique_reference(addref.SourceNodeId, rdesc) + return self._add_unique_reference(sourcedata, rdesc) def delete_references(self, refs, user=User.Admin): result = [] @@ -369,7 +377,7 @@ def delete_references(self, refs, user=User.Admin): result.append(self._delete_reference(ref, user)) return result - def _delete_unique_reference(self, item, invert = False): + def _delete_unique_reference(self, item, invert=False): if invert: source, target, forward = item.TargetNodeId, item.SourceNodeId, not item.IsForward else: @@ -482,8 +490,10 @@ def __init__(self): self._nodeid_counter = {0: 20000, 1: 2000} def __getitem__(self, nodeid): - if nodeid in self._nodes: - return self._nodes.__getitem__(nodeid) + return self._nodes.__getitem__(nodeid) + + def get(self, nodeid): + return self._nodes.get(nodeid, None) def __setitem__(self, nodeid, value): return self._nodes.__setitem__(nodeid, value) diff --git a/opcua/server/standard_address_space/standard_address_space.py b/opcua/server/standard_address_space/standard_address_space.py index 12e929019..4187c1f83 100644 --- a/opcua/server/standard_address_space/standard_address_space.py +++ b/opcua/server/standard_address_space/standard_address_space.py @@ -20,7 +20,7 @@ def __init__(self, server): #self.add_nodes = self.server.add_nodes def add_nodes(self,nodes): - self.postponed_nodes.extend(self.server.try_add_nodes(nodes)) + self.postponed_nodes.extend(self.server.try_add_nodes(nodes, check=False)) def add_references(self, refs): self.postponed_refs.extend(self.server.try_add_references(refs)) @@ -33,7 +33,7 @@ def __enter__(self): def __exit__(self, exc_type, exc_val, exc_tb): if exc_type is None and exc_val is None: - remaining_nodes = list(self.server.try_add_nodes(self.postponed_nodes)) + remaining_nodes = list(self.server.try_add_nodes(self.postponed_nodes, check=False)) assert len(remaining_nodes) == 0, remaining_nodes remaining_refs = list(self.server.try_add_references(self.postponed_refs)) assert len(remaining_refs) == 0, remaining_refs From 90939cb572141133075c3b1572fe5c784cc4a400 Mon Sep 17 00:00:00 2001 From: oroulet Date: Thu, 31 May 2018 14:56:18 +0200 Subject: [PATCH 087/113] only add timestamps for value attribute and not for standard address space fix timestamp typo and use SourceTimestamp in histry make History always use SourceTimestamp not ServerTimestamp (ServerTimestampd is often not set) --- opcua/server/address_space.py | 17 +++++++++-------- opcua/server/history.py | 18 +++++++++--------- opcua/server/history_sql.py | 12 ++++++------ tests/tests_history.py | 2 +- 4 files changed, 25 insertions(+), 24 deletions(-) diff --git a/opcua/server/address_space.py b/opcua/server/address_space.py index 3182506d5..8bcbcfe6b 100644 --- a/opcua/server/address_space.py +++ b/opcua/server/address_space.py @@ -229,7 +229,7 @@ def _add_node(self, item, user, check=True): nodedata = NodeData(item.RequestedNewNodeId) - self._add_node_attributes(nodedata, item) + self._add_node_attributes(nodedata, item, add_timestamps=check) # now add our node to db self._aspace[nodedata.nodeid] = nodedata @@ -247,7 +247,7 @@ def _add_node(self, item, user, check=True): return result - def _add_node_attributes(self, nodedata, item): + def _add_node_attributes(self, nodedata, item, add_timestamps): # add common attrs nodedata.attributes[ua.AttributeIds.NodeId] = AttributeValue( ua.DataValue(ua.Variant(nodedata.nodeid, ua.VariantType.NodeId)) @@ -259,7 +259,7 @@ def _add_node_attributes(self, nodedata, item): ua.DataValue(ua.Variant(item.NodeClass, ua.VariantType.Int32)) ) # add requested attrs - self._add_nodeattributes(item.NodeAttributes, nodedata) + self._add_nodeattributes(item.NodeAttributes, nodedata, add_timestamps) def _add_unique_reference(self, nodedata, desc): for r in nodedata.references: @@ -403,14 +403,15 @@ def _delete_reference(self, item, user): self._delete_unique_reference(item, True) return self._delete_unique_reference(item) - def _add_node_attr(self, item, nodedata, name, vtype=None): + def _add_node_attr(self, item, nodedata, name, vtype=None, add_timestamps=False): if item.SpecifiedAttributes & getattr(ua.NodeAttributesMask, name): dv = ua.DataValue(ua.Variant(getattr(item, name), vtype)) - dv.ServerTimestamp = datetime.utcnow() - dv.SourceTimestamp = datetime.utcnow() + if add_timestamps: + # dv.ServerTimestamp = datetime.utcnow() # Disabled until someone explains us it should be there + dv.SourceTimestamp = datetime.utcnow() nodedata.attributes[getattr(ua.AttributeIds, name)] = AttributeValue(dv) - def _add_nodeattributes(self, item, nodedata): + def _add_nodeattributes(self, item, nodedata, add_timestamps): self._add_node_attr(item, nodedata, "AccessLevel", ua.VariantType.Byte) self._add_node_attr(item, nodedata, "ArrayDimensions", ua.VariantType.UInt32) self._add_node_attr(item, nodedata, "BrowseName", ua.VariantType.QualifiedName) @@ -433,7 +434,7 @@ def _add_nodeattributes(self, item, nodedata): self._add_node_attr(item, nodedata, "ValueRank", ua.VariantType.Int32) self._add_node_attr(item, nodedata, "WriteMask", ua.VariantType.UInt32) self._add_node_attr(item, nodedata, "UserWriteMask", ua.VariantType.UInt32) - self._add_node_attr(item, nodedata, "Value") + self._add_node_attr(item, nodedata, "Value", add_timestamps=add_timestamps) class MethodService(object): diff --git a/opcua/server/history.py b/opcua/server/history.py index 9be427e9d..b2e892fb5 100644 --- a/opcua/server/history.py +++ b/opcua/server/history.py @@ -39,7 +39,7 @@ def read_node_history(self, node_id, start, end, nb_values): nb_values is the max number of values to read. Ignored if 0 Start time and end time are inclusive Returns a list of DataValues and a continuation point which - is None if all nodes are read or the ServerTimeStamp of the last rejected DataValue + is None if all nodes are read or the SourceTimeStamp of the last rejected DataValue """ raise NotImplementedError @@ -62,7 +62,7 @@ def read_event_history(self, source_id, start, end, nb_values, evfilter): Called when a client make a history read request for events Start time and end time are inclusive Returns a list of Events and a continuation point which - is None if all events are read or the ServerTimeStamp of the last rejected event + is None if all events are read or the SourceTimeStamp of the last rejected event """ raise NotImplementedError @@ -98,7 +98,7 @@ def save_node_value(self, node_id, datavalue): data.append(datavalue) now = datetime.utcnow() if period: - while len(data) and now - data[0].ServerTimestamp > period: + while len(data) and now - data[0].SourceTimestamp > period: data.pop(0) if count and len(data) > count: data.pop(0) @@ -114,16 +114,16 @@ def read_node_history(self, node_id, start, end, nb_values): if end is None: end = ua.get_win_epoch() if start == ua.get_win_epoch(): - results = [dv for dv in reversed(self._datachanges[node_id]) if start <= dv.ServerTimestamp] + results = [dv for dv in reversed(self._datachanges[node_id]) if start <= dv.SourceTimestamp] elif end == ua.get_win_epoch(): - results = [dv for dv in self._datachanges[node_id] if start <= dv.ServerTimestamp] + results = [dv for dv in self._datachanges[node_id] if start <= dv.SourceTimestamp] elif start > end: - results = [dv for dv in reversed(self._datachanges[node_id]) if end <= dv.ServerTimestamp <= start] + results = [dv for dv in reversed(self._datachanges[node_id]) if end <= dv.SourceTimestamp <= start] else: - results = [dv for dv in self._datachanges[node_id] if start <= dv.ServerTimestamp <= end] + results = [dv for dv in self._datachanges[node_id] if start <= dv.SourceTimestamp <= end] if nb_values and len(results) > nb_values: - cont = results[nb_values + 1].ServerTimestamp + cont = results[nb_values + 1].SourceTimestamp results = results[:nb_values] return results, cont @@ -139,7 +139,7 @@ def save_event(self, event): period, count = self._events_periods[event.SourceNode] now = datetime.utcnow() if period: - while len(evts) and now - evts[0].ServerTimestamp > period: + while len(evts) and now - evts[0].SourceTimestamp > period: evts.pop(0) if count and len(evts) > count: evts.pop(0) diff --git a/opcua/server/history_sql.py b/opcua/server/history_sql.py index 9e9ccae36..d064a160b 100644 --- a/opcua/server/history_sql.py +++ b/opcua/server/history_sql.py @@ -91,12 +91,12 @@ def execute_sql_delete(condition, args): if period: # after the insert, if a period was specified delete all records older than period date_limit = datetime.utcnow() - period - execute_sql_delete('ServerTimestamp < ?', (date_limit,)) + execute_sql_delete('SourceTimestamp < ?', (date_limit,)) if count: # ensure that no more than count records are stored for the specified node - execute_sql_delete('ServerTimestamp = (SELECT CASE WHEN COUNT(*) > ? ' - 'THEN MIN(ServerTimestamp) ELSE NULL END FROM "{tn}")', (count,)) + execute_sql_delete('SourceTimestamp = (SELECT CASE WHEN COUNT(*) > ? ' + 'THEN MIN(SourceTimestamp) ELSE NULL END FROM "{tn}")', (count,)) def read_node_history(self, node_id, start, end, nb_values): with self._lock: @@ -110,13 +110,13 @@ def read_node_history(self, node_id, start, end, nb_values): # select values from the database; recreate UA Variant from binary try: - for row in _c_read.execute('SELECT * FROM "{tn}" WHERE "ServerTimestamp" BETWEEN ? AND ? ' + for row in _c_read.execute('SELECT * FROM "{tn}" WHERE "SourceTimestamp" BETWEEN ? AND ? ' 'ORDER BY "_Id" {dir} LIMIT ?'.format(tn=table, dir=order), (start_time, end_time, limit,)): # rebuild the data value object dv = ua.DataValue(variant_from_binary(Buffer(row[6]))) - dv.ServerTimestamp = row[1] + dv.SourceTimestamp = row[1] dv.SourceTimestamp = row[2] dv.StatusCode = ua.StatusCode(row[3]) @@ -127,7 +127,7 @@ def read_node_history(self, node_id, start, end, nb_values): if nb_values: if len(results) > nb_values: - cont = results[nb_values].ServerTimestamp + cont = results[nb_values].SourceTimestamp results = results[:nb_values] diff --git a/tests/tests_history.py b/tests/tests_history.py index 08af7a0cb..496148d09 100644 --- a/tests/tests_history.py +++ b/tests/tests_history.py @@ -260,7 +260,7 @@ def resultCount(self): def addValue(self, age): value = ua.DataValue() - value.ServerTimestamp = datetime.utcnow() - timedelta(hours = age) + value.SourceTimestamp = datetime.utcnow() - timedelta(hours = age) self.history.save_node_value(self.id, value) def test_count_limit(self): From e429feebeb4315e09dc9dde26491c14525b6d645 Mon Sep 17 00:00:00 2001 From: oroulet Date: Thu, 31 May 2018 22:05:59 +0200 Subject: [PATCH 088/113] cherry pick/merge f86f82b189ab6b1c6ac5269569a919285b68e6d5 --- .../standard_address_space_part10.py | 4628 +- .../standard_address_space_part11.py | 3464 +- .../standard_address_space_part13.py | 946 +- .../standard_address_space_part3.py | 3692 +- .../standard_address_space_part4.py | 4978 +- .../standard_address_space_part5.py | 56832 ++++++++-------- .../standard_address_space_part8.py | 2190 +- .../standard_address_space_part9.py | 14342 ++-- schemas/generate_address_space.py | 121 +- 9 files changed, 45628 insertions(+), 45565 deletions(-) diff --git a/opcua/server/standard_address_space/standard_address_space_part10.py b/opcua/server/standard_address_space/standard_address_space_part10.py index a5ead180e..af691bedb 100644 --- a/opcua/server/standard_address_space/standard_address_space_part10.py +++ b/opcua/server/standard_address_space/standard_address_space_part10.py @@ -6,245 +6,247 @@ """ from opcua import ua +from opcua.ua import NodeId, QualifiedName, NumericNodeId, StringNodeId, GuidNodeId +from opcua.ua import NodeClass, LocalizedText def create_standard_address_space_Part10(server): node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2391") - node.BrowseName = ua.QualifiedName.from_string("ProgramStateMachineType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2771") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2391, 0) + node.BrowseName = QualifiedName('ProgramStateMachineType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2771, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.Description = ua.LocalizedText("A state machine for a program.") - attrs.DisplayName = ua.LocalizedText("ProgramStateMachineType") + attrs.Description = LocalizedText("A state machine for a program.") + attrs.DisplayName = LocalizedText("ProgramStateMachineType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2391") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3830") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2391, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3830, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2391") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3835") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2391, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3835, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2391") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2392") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2391, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2392, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2391") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2393") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2391, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2393, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2391") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2394") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2391, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2394, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2391") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2395") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2391, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2395, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2391") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2396") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2391, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2396, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2391") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2397") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2391, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2397, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2391") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2398") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2391, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2398, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2391") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2399") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2391, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2399, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2391") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3850") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2391, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3850, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2391") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2406") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2391, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2406, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2391") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2400") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2391, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2400, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2391") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2402") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2391, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2402, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2391") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2404") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2391, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2404, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2391") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2408") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2391, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2408, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2391") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2410") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2391, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2410, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2391") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2412") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2391, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2412, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2391") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2414") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2391, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2414, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2391") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2416") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2391, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2416, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2391") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2418") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2391, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2418, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2391") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2420") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2391, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2420, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2391") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2422") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2391, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2422, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2391") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2424") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2391, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2424, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2391") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2426") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2391, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2426, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2391") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2427") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2391, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2427, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2391") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2428") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2391, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2428, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2391") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2429") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2391, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2429, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2391") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2430") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2391, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2430, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2391") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2771") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2391, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2771, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3830") - node.BrowseName = ua.QualifiedName.from_string("CurrentState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2391") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2760") + node.RequestedNewNodeId = NumericNodeId(3830, 0) + node.BrowseName = QualifiedName('CurrentState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2391, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2760, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentState") + attrs.DisplayName = LocalizedText("CurrentState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -252,50 +254,50 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3830") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3831") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3830, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3831, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3830") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3833") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3830, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3833, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3830") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2760") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3830, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2760, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3830") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3830, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3830") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2391") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3830, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2391, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3831") - node.BrowseName = ua.QualifiedName.from_string("Id") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3830") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3831, 0) + node.BrowseName = QualifiedName('Id', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3830, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") + attrs.DisplayName = LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -303,36 +305,36 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3831") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3831, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3831") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3831, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3831") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3830") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3831, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3830, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3833") - node.BrowseName = ua.QualifiedName.from_string("Number") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3830") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3833, 0) + node.BrowseName = QualifiedName('Number', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3830, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Number") + attrs.DisplayName = LocalizedText("Number") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -340,36 +342,36 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3833") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3833, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3833") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3833, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3833") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3830") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3833, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3830, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3835") - node.BrowseName = ua.QualifiedName.from_string("LastTransition") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2391") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2767") + node.RequestedNewNodeId = NumericNodeId(3835, 0) + node.BrowseName = QualifiedName('LastTransition', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2391, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2767, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LastTransition") + attrs.DisplayName = LocalizedText("LastTransition") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -377,57 +379,57 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3835") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3836") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3835, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3836, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3835") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3838") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3835, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3838, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3835") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3839") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3835, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3839, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3835") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2767") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3835, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2767, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3835") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3835, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3835") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2391") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3835, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2391, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3836") - node.BrowseName = ua.QualifiedName.from_string("Id") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3835") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3836, 0) + node.BrowseName = QualifiedName('Id', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3835, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") + attrs.DisplayName = LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -435,36 +437,36 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3836") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3836, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3836") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3836, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3836") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3835") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3836, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3835, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3838") - node.BrowseName = ua.QualifiedName.from_string("Number") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3835") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3838, 0) + node.BrowseName = QualifiedName('Number', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3835, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Number") + attrs.DisplayName = LocalizedText("Number") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -472,73 +474,73 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3838") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3838, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3838") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3838, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3838") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3835") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3838, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3835, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3839") - node.BrowseName = ua.QualifiedName.from_string("TransitionTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3835") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3839, 0) + node.BrowseName = QualifiedName('TransitionTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3835, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("TransitionTime") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3839") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3839, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3839") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3839, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3839") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3835") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3839, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3835, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2392") - node.BrowseName = ua.QualifiedName.from_string("Creatable") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2391") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2392, 0) + node.BrowseName = QualifiedName('Creatable', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2391, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Creatable") + attrs.DisplayName = LocalizedText("Creatable") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -546,29 +548,29 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2392") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2392, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2392") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2391") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2392, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2391, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2393") - node.BrowseName = ua.QualifiedName.from_string("Deletable") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2391") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2393, 0) + node.BrowseName = QualifiedName('Deletable', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2391, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Deletable") + attrs.DisplayName = LocalizedText("Deletable") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -576,36 +578,36 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2393") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2393, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2393") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2393, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2393") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2391") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2393, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2391, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2394") - node.BrowseName = ua.QualifiedName.from_string("AutoDelete") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2391") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2394, 0) + node.BrowseName = QualifiedName('AutoDelete', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2391, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AutoDelete") + attrs.DisplayName = LocalizedText("AutoDelete") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -613,36 +615,36 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2394") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2394, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2394") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2394, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2394") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2391") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2394, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2391, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2395") - node.BrowseName = ua.QualifiedName.from_string("RecycleCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2391") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2395, 0) + node.BrowseName = QualifiedName('RecycleCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2391, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RecycleCount") + attrs.DisplayName = LocalizedText("RecycleCount") attrs.DataType = ua.NodeId(ua.ObjectIds.Int32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -650,36 +652,36 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2395") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2395, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2395") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2395, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2395") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2391") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2395, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2391, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2396") - node.BrowseName = ua.QualifiedName.from_string("InstanceCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2391") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2396, 0) + node.BrowseName = QualifiedName('InstanceCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2391, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InstanceCount") + attrs.DisplayName = LocalizedText("InstanceCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -687,29 +689,29 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2396") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2396, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2396") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2391") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2396, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2391, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2397") - node.BrowseName = ua.QualifiedName.from_string("MaxInstanceCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2391") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2397, 0) + node.BrowseName = QualifiedName('MaxInstanceCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2391, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MaxInstanceCount") + attrs.DisplayName = LocalizedText("MaxInstanceCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -717,29 +719,29 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2397") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2397, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2397") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2391") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2397, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2391, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2398") - node.BrowseName = ua.QualifiedName.from_string("MaxRecycleCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2391") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2398, 0) + node.BrowseName = QualifiedName('MaxRecycleCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2391, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MaxRecycleCount") + attrs.DisplayName = LocalizedText("MaxRecycleCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -747,150 +749,150 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2398") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2398, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2398") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2391") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2398, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2391, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2399") - node.BrowseName = ua.QualifiedName.from_string("ProgramDiagnostics") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2391") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=15383") + node.RequestedNewNodeId = NumericNodeId(2399, 0) + node.BrowseName = QualifiedName('ProgramDiagnostics', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2391, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(15383, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ProgramDiagnostics") - attrs.DataType = ua.NodeId.from_string("i=15396") + attrs.DisplayName = LocalizedText("ProgramDiagnostics") + attrs.DataType = NumericNodeId(15396, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2399") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3840") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2399, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3840, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2399") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3841") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2399, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3841, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2399") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3842") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2399, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3842, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2399") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3843") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2399, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3843, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2399") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3844") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2399, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3844, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2399") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3845") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2399, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3845, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2399") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3846") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2399, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3846, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2399") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3847") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2399, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3847, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2399") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15038") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2399, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15038, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2399") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15040") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2399, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15040, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2399") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3848") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2399, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3848, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2399") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3849") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2399, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3849, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2399") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15383") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2399, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15383, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2399") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2399, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2399") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2391") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2399, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2391, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3840") - node.BrowseName = ua.QualifiedName.from_string("CreateSessionId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2399") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3840, 0) + node.BrowseName = QualifiedName('CreateSessionId', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2399, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CreateSessionId") + attrs.DisplayName = LocalizedText("CreateSessionId") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -898,36 +900,36 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3840") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3840, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3840") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3840, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3840") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2399") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3840, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2399, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3841") - node.BrowseName = ua.QualifiedName.from_string("CreateClientName") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2399") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3841, 0) + node.BrowseName = QualifiedName('CreateClientName', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2399, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CreateClientName") + attrs.DisplayName = LocalizedText("CreateClientName") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -935,110 +937,110 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3841") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3841, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3841") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3841, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3841") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2399") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3841, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2399, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3842") - node.BrowseName = ua.QualifiedName.from_string("InvocationCreationTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2399") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3842, 0) + node.BrowseName = QualifiedName('InvocationCreationTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2399, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InvocationCreationTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("InvocationCreationTime") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3842") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3842, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3842") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3842, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3842") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2399") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3842, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2399, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3843") - node.BrowseName = ua.QualifiedName.from_string("LastTransitionTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2399") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3843, 0) + node.BrowseName = QualifiedName('LastTransitionTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2399, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LastTransitionTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("LastTransitionTime") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3843") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3843, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3843") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3843, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3843") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2399") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3843, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2399, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3844") - node.BrowseName = ua.QualifiedName.from_string("LastMethodCall") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2399") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3844, 0) + node.BrowseName = QualifiedName('LastMethodCall', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2399, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LastMethodCall") + attrs.DisplayName = LocalizedText("LastMethodCall") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -1046,36 +1048,36 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3844") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3844, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3844") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3844, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3844") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2399") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3844, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2399, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3845") - node.BrowseName = ua.QualifiedName.from_string("LastMethodSessionId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2399") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3845, 0) + node.BrowseName = QualifiedName('LastMethodSessionId', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2399, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LastMethodSessionId") + attrs.DisplayName = LocalizedText("LastMethodSessionId") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -1083,110 +1085,110 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3845") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3845, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3845") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3845, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3845") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2399") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3845, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2399, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3846") - node.BrowseName = ua.QualifiedName.from_string("LastMethodInputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2399") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3846, 0) + node.BrowseName = QualifiedName('LastMethodInputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2399, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LastMethodInputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("LastMethodInputArguments") + attrs.DataType = NumericNodeId(296, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3846") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3846, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3846") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3846, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3846") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2399") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3846, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2399, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3847") - node.BrowseName = ua.QualifiedName.from_string("LastMethodOutputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2399") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3847, 0) + node.BrowseName = QualifiedName('LastMethodOutputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2399, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LastMethodOutputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("LastMethodOutputArguments") + attrs.DataType = NumericNodeId(296, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3847") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3847, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3847") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3847, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3847") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2399") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3847, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2399, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15038") - node.BrowseName = ua.QualifiedName.from_string("LastMethodInputValues") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2399") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15038, 0) + node.BrowseName = QualifiedName('LastMethodInputValues', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2399, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LastMethodInputValues") + attrs.DisplayName = LocalizedText("LastMethodInputValues") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 node.NodeAttributes = attrs @@ -1194,36 +1196,36 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15038") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15038, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15038") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15038, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15038") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2399") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15038, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2399, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15040") - node.BrowseName = ua.QualifiedName.from_string("LastMethodOutputValues") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2399") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15040, 0) + node.BrowseName = QualifiedName('LastMethodOutputValues', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2399, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LastMethodOutputValues") + attrs.DisplayName = LocalizedText("LastMethodOutputValues") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 node.NodeAttributes = attrs @@ -1231,73 +1233,73 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15040") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15040, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15040") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15040, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15040") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2399") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15040, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2399, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3848") - node.BrowseName = ua.QualifiedName.from_string("LastMethodCallTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2399") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3848, 0) + node.BrowseName = QualifiedName('LastMethodCallTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2399, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LastMethodCallTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("LastMethodCallTime") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3848") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3848, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3848") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3848, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3848") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2399") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3848, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2399, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3849") - node.BrowseName = ua.QualifiedName.from_string("LastMethodReturnStatus") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2399") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3849, 0) + node.BrowseName = QualifiedName('LastMethodReturnStatus', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2399, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LastMethodReturnStatus") + attrs.DisplayName = LocalizedText("LastMethodReturnStatus") attrs.DataType = ua.NodeId(ua.ObjectIds.StatusCode) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -1305,137 +1307,137 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3849") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3849, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3849") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3849, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3849") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2399") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3849, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2399, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3850") - node.BrowseName = ua.QualifiedName.from_string("FinalResultData") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2391") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=58") + node.RequestedNewNodeId = NumericNodeId(3850, 0) + node.BrowseName = QualifiedName('FinalResultData', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2391, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(58, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("FinalResultData") + attrs.DisplayName = LocalizedText("FinalResultData") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3850") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=58") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3850, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(58, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3850") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3850, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3850") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2391") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3850, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2391, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2406") - node.BrowseName = ua.QualifiedName.from_string("Halted") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2391") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2307") + node.RequestedNewNodeId = NumericNodeId(2406, 0) + node.BrowseName = QualifiedName('Halted', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2391, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2307, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("The Program is in a terminal or failed state, and it cannot be started or resumed without being reset.") - attrs.DisplayName = ua.LocalizedText("Halted") + attrs.Description = LocalizedText("The Program is in a terminal or failed state, and it cannot be started or resumed without being reset.") + attrs.DisplayName = LocalizedText("Halted") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2406") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2407") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2406, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2407, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=2406") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2408") + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(2406, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2408, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=2406") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2412") + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(2406, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2412, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=2406") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2420") + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(2406, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2420, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=2406") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2424") + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(2406, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2424, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2406") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2307") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2406, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2307, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2406") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2391") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2406, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2391, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2407") - node.BrowseName = ua.QualifiedName.from_string("StateNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2406") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2407, 0) + node.BrowseName = QualifiedName('StateNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2406, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("StateNumber") + attrs.DisplayName = LocalizedText("StateNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.Value = ua.Variant(11, ua.VariantType.UInt32) attrs.ValueRank = -1 @@ -1444,108 +1446,108 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2407") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2407, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2407") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2407, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2407") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2406") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2407, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2406, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2400") - node.BrowseName = ua.QualifiedName.from_string("Ready") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2391") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2307") + node.RequestedNewNodeId = NumericNodeId(2400, 0) + node.BrowseName = QualifiedName('Ready', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2391, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2307, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("The Program is properly initialized and may be started.") - attrs.DisplayName = ua.LocalizedText("Ready") + attrs.Description = LocalizedText("The Program is properly initialized and may be started.") + attrs.DisplayName = LocalizedText("Ready") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2400") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2401") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2400, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2401, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=2400") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2408") + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(2400, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2408, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=2400") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2410") + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(2400, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2410, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=2400") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2414") + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(2400, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2414, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=2400") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2422") + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(2400, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2422, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=2400") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2424") + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(2400, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2424, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2400") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2307") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2400, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2307, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2400") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2391") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2400, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2391, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2401") - node.BrowseName = ua.QualifiedName.from_string("StateNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2400") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2401, 0) + node.BrowseName = QualifiedName('StateNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2400, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("StateNumber") + attrs.DisplayName = LocalizedText("StateNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.Value = ua.Variant(12, ua.VariantType.UInt32) attrs.ValueRank = -1 @@ -1554,108 +1556,108 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2401") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2401, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2401") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2401, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2401") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2400") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2401, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2400, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2402") - node.BrowseName = ua.QualifiedName.from_string("Running") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2391") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2307") + node.RequestedNewNodeId = NumericNodeId(2402, 0) + node.BrowseName = QualifiedName('Running', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2391, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2307, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("The Program is executing making progress towards completion.") - attrs.DisplayName = ua.LocalizedText("Running") + attrs.Description = LocalizedText("The Program is executing making progress towards completion.") + attrs.DisplayName = LocalizedText("Running") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2402") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2403") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2402, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2403, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=2402") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2410") + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(2402, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2410, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=2402") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2412") + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(2402, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2412, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=2402") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2414") + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(2402, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2414, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=2402") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2416") + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(2402, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2416, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=2402") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2418") + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(2402, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2418, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2402") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2307") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2402, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2307, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2402") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2391") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2402, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2391, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2403") - node.BrowseName = ua.QualifiedName.from_string("StateNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2402") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2403, 0) + node.BrowseName = QualifiedName('StateNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2402, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("StateNumber") + attrs.DisplayName = LocalizedText("StateNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.Value = ua.Variant(13, ua.VariantType.UInt32) attrs.ValueRank = -1 @@ -1664,101 +1666,101 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2403") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2403, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2403") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2403, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2403") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2402") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2403, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2402, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2404") - node.BrowseName = ua.QualifiedName.from_string("Suspended") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2391") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2307") + node.RequestedNewNodeId = NumericNodeId(2404, 0) + node.BrowseName = QualifiedName('Suspended', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2391, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2307, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("The Program has been stopped prior to reaching a terminal state but may be resumed.") - attrs.DisplayName = ua.LocalizedText("Suspended") + attrs.Description = LocalizedText("The Program has been stopped prior to reaching a terminal state but may be resumed.") + attrs.DisplayName = LocalizedText("Suspended") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2404") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2405") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2404, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2405, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=2404") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2416") + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(2404, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2416, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=2404") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2418") + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(2404, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2418, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=2404") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2420") + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(2404, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2420, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=2404") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2422") + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(2404, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2422, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2404") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2307") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2404, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2307, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2404") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2391") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2404, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2391, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2405") - node.BrowseName = ua.QualifiedName.from_string("StateNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2404") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2405, 0) + node.BrowseName = QualifiedName('StateNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2404, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("StateNumber") + attrs.DisplayName = LocalizedText("StateNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.Value = ua.Variant(14, ua.VariantType.UInt32) attrs.ValueRank = -1 @@ -1767,100 +1769,100 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2405") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2405, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2405") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2405, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2405") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2404") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2405, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2404, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2408") - node.BrowseName = ua.QualifiedName.from_string("HaltedToReady") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2391") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2310") + node.RequestedNewNodeId = NumericNodeId(2408, 0) + node.BrowseName = QualifiedName('HaltedToReady', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2391, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2310, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("HaltedToReady") + attrs.DisplayName = LocalizedText("HaltedToReady") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2408") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2409") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2408, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2409, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=2408") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2406") + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(2408, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2406, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=2408") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2400") + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(2408, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2400, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=53") - ref.SourceNodeId = ua.NodeId.from_string("i=2408") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2430") + ref.ReferenceTypeId = NumericNodeId(53, 0) + ref.SourceNodeId = NumericNodeId(2408, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2430, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=54") - ref.SourceNodeId = ua.NodeId.from_string("i=2408") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2378") + ref.ReferenceTypeId = NumericNodeId(54, 0) + ref.SourceNodeId = NumericNodeId(2408, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2378, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2408") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2310") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2408, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2310, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2408") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2391") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2408, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2391, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2409") - node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2408") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2409, 0) + node.BrowseName = QualifiedName('TransitionNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2408, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionNumber") + attrs.DisplayName = LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.Value = ua.Variant(1, ua.VariantType.UInt32) attrs.ValueRank = -1 @@ -1869,100 +1871,100 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2409") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2409, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2409") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2409, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2409") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2408") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2409, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2408, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2410") - node.BrowseName = ua.QualifiedName.from_string("ReadyToRunning") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2391") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2310") + node.RequestedNewNodeId = NumericNodeId(2410, 0) + node.BrowseName = QualifiedName('ReadyToRunning', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2391, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2310, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("ReadyToRunning") + attrs.DisplayName = LocalizedText("ReadyToRunning") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2410") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2411") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2410, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2411, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=2410") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2400") + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(2410, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2400, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=2410") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2402") + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(2410, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2402, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=53") - ref.SourceNodeId = ua.NodeId.from_string("i=2410") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2426") + ref.ReferenceTypeId = NumericNodeId(53, 0) + ref.SourceNodeId = NumericNodeId(2410, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2426, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=54") - ref.SourceNodeId = ua.NodeId.from_string("i=2410") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2378") + ref.ReferenceTypeId = NumericNodeId(54, 0) + ref.SourceNodeId = NumericNodeId(2410, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2378, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2410") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2310") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2410, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2310, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2410") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2391") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2410, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2391, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2411") - node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2410") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2411, 0) + node.BrowseName = QualifiedName('TransitionNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2410, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionNumber") + attrs.DisplayName = LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.Value = ua.Variant(2, ua.VariantType.UInt32) attrs.ValueRank = -1 @@ -1971,100 +1973,100 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2411") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2411, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2411") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2411, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2411") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2410") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2411, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2410, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2412") - node.BrowseName = ua.QualifiedName.from_string("RunningToHalted") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2391") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2310") + node.RequestedNewNodeId = NumericNodeId(2412, 0) + node.BrowseName = QualifiedName('RunningToHalted', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2391, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2310, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("RunningToHalted") + attrs.DisplayName = LocalizedText("RunningToHalted") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2412") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2413") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2412, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2413, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=2412") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2402") + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(2412, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2402, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=2412") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2406") + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(2412, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2406, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=53") - ref.SourceNodeId = ua.NodeId.from_string("i=2412") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2429") + ref.ReferenceTypeId = NumericNodeId(53, 0) + ref.SourceNodeId = NumericNodeId(2412, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2429, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=54") - ref.SourceNodeId = ua.NodeId.from_string("i=2412") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2378") + ref.ReferenceTypeId = NumericNodeId(54, 0) + ref.SourceNodeId = NumericNodeId(2412, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2378, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2412") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2310") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2412, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2310, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2412") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2391") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2412, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2391, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2413") - node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2412") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2413, 0) + node.BrowseName = QualifiedName('TransitionNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2412, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionNumber") + attrs.DisplayName = LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.Value = ua.Variant(3, ua.VariantType.UInt32) attrs.ValueRank = -1 @@ -2073,93 +2075,93 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2413") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2413, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2413") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2413, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2413") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2412") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2413, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2412, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2414") - node.BrowseName = ua.QualifiedName.from_string("RunningToReady") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2391") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2310") + node.RequestedNewNodeId = NumericNodeId(2414, 0) + node.BrowseName = QualifiedName('RunningToReady', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2391, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2310, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("RunningToReady") + attrs.DisplayName = LocalizedText("RunningToReady") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2414") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2415") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2414, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2415, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=2414") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2402") + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(2414, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2402, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=2414") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2400") + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(2414, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2400, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=54") - ref.SourceNodeId = ua.NodeId.from_string("i=2414") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2378") + ref.ReferenceTypeId = NumericNodeId(54, 0) + ref.SourceNodeId = NumericNodeId(2414, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2378, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2414") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2310") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2414, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2310, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2414") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2391") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2414, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2391, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2415") - node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2414") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2415, 0) + node.BrowseName = QualifiedName('TransitionNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2414, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionNumber") + attrs.DisplayName = LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.Value = ua.Variant(4, ua.VariantType.UInt32) attrs.ValueRank = -1 @@ -2168,100 +2170,100 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2415") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2415, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2415") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2415, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2415") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2414") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2415, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2414, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2416") - node.BrowseName = ua.QualifiedName.from_string("RunningToSuspended") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2391") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2310") + node.RequestedNewNodeId = NumericNodeId(2416, 0) + node.BrowseName = QualifiedName('RunningToSuspended', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2391, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2310, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("RunningToSuspended") + attrs.DisplayName = LocalizedText("RunningToSuspended") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2416") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2417") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2416, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2417, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=2416") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2402") + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(2416, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2402, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=2416") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2404") + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(2416, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2404, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=53") - ref.SourceNodeId = ua.NodeId.from_string("i=2416") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2427") + ref.ReferenceTypeId = NumericNodeId(53, 0) + ref.SourceNodeId = NumericNodeId(2416, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2427, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=54") - ref.SourceNodeId = ua.NodeId.from_string("i=2416") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2378") + ref.ReferenceTypeId = NumericNodeId(54, 0) + ref.SourceNodeId = NumericNodeId(2416, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2378, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2416") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2310") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2416, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2310, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2416") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2391") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2416, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2391, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2417") - node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2416") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2417, 0) + node.BrowseName = QualifiedName('TransitionNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2416, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionNumber") + attrs.DisplayName = LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.Value = ua.Variant(5, ua.VariantType.UInt32) attrs.ValueRank = -1 @@ -2270,100 +2272,100 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2417") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2417, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2417") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2417, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2417") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2416") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2417, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2416, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2418") - node.BrowseName = ua.QualifiedName.from_string("SuspendedToRunning") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2391") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2310") + node.RequestedNewNodeId = NumericNodeId(2418, 0) + node.BrowseName = QualifiedName('SuspendedToRunning', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2391, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2310, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("SuspendedToRunning") + attrs.DisplayName = LocalizedText("SuspendedToRunning") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2418") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2419") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2418, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2419, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=2418") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2404") + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(2418, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2404, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=2418") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2402") + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(2418, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2402, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=53") - ref.SourceNodeId = ua.NodeId.from_string("i=2418") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2428") + ref.ReferenceTypeId = NumericNodeId(53, 0) + ref.SourceNodeId = NumericNodeId(2418, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2428, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=54") - ref.SourceNodeId = ua.NodeId.from_string("i=2418") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2378") + ref.ReferenceTypeId = NumericNodeId(54, 0) + ref.SourceNodeId = NumericNodeId(2418, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2378, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2418") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2310") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2418, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2310, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2418") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2391") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2418, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2391, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2419") - node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2418") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2419, 0) + node.BrowseName = QualifiedName('TransitionNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2418, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionNumber") + attrs.DisplayName = LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.Value = ua.Variant(6, ua.VariantType.UInt32) attrs.ValueRank = -1 @@ -2372,100 +2374,100 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2419") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2419, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2419") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2419, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2419") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2418") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2419, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2418, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2420") - node.BrowseName = ua.QualifiedName.from_string("SuspendedToHalted") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2391") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2310") + node.RequestedNewNodeId = NumericNodeId(2420, 0) + node.BrowseName = QualifiedName('SuspendedToHalted', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2391, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2310, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("SuspendedToHalted") + attrs.DisplayName = LocalizedText("SuspendedToHalted") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2420") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2421") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2420, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2421, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=2420") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2404") + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(2420, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2404, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=2420") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2406") + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(2420, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2406, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=53") - ref.SourceNodeId = ua.NodeId.from_string("i=2420") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2429") + ref.ReferenceTypeId = NumericNodeId(53, 0) + ref.SourceNodeId = NumericNodeId(2420, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2429, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=54") - ref.SourceNodeId = ua.NodeId.from_string("i=2420") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2378") + ref.ReferenceTypeId = NumericNodeId(54, 0) + ref.SourceNodeId = NumericNodeId(2420, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2378, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2420") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2310") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2420, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2310, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2420") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2391") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2420, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2391, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2421") - node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2420") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2421, 0) + node.BrowseName = QualifiedName('TransitionNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2420, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionNumber") + attrs.DisplayName = LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.Value = ua.Variant(7, ua.VariantType.UInt32) attrs.ValueRank = -1 @@ -2474,93 +2476,93 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2421") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2421, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2421") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2421, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2421") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2420") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2421, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2420, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2422") - node.BrowseName = ua.QualifiedName.from_string("SuspendedToReady") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2391") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2310") + node.RequestedNewNodeId = NumericNodeId(2422, 0) + node.BrowseName = QualifiedName('SuspendedToReady', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2391, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2310, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("SuspendedToReady") + attrs.DisplayName = LocalizedText("SuspendedToReady") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2422") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2423") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2422, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2423, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=2422") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2404") + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(2422, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2404, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=2422") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2400") + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(2422, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2400, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=54") - ref.SourceNodeId = ua.NodeId.from_string("i=2422") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2378") + ref.ReferenceTypeId = NumericNodeId(54, 0) + ref.SourceNodeId = NumericNodeId(2422, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2378, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2422") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2310") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2422, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2310, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2422") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2391") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2422, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2391, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2423") - node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2422") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2423, 0) + node.BrowseName = QualifiedName('TransitionNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2422, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionNumber") + attrs.DisplayName = LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.Value = ua.Variant(8, ua.VariantType.UInt32) attrs.ValueRank = -1 @@ -2569,100 +2571,100 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2423") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2423, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2423") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2423, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2423") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2422") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2423, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2422, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2424") - node.BrowseName = ua.QualifiedName.from_string("ReadyToHalted") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2391") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2310") + node.RequestedNewNodeId = NumericNodeId(2424, 0) + node.BrowseName = QualifiedName('ReadyToHalted', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2391, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2310, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("ReadyToHalted") + attrs.DisplayName = LocalizedText("ReadyToHalted") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2424") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2425") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2424, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2425, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=2424") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2400") + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(2424, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2400, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=2424") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2406") + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(2424, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2406, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=53") - ref.SourceNodeId = ua.NodeId.from_string("i=2424") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2429") + ref.ReferenceTypeId = NumericNodeId(53, 0) + ref.SourceNodeId = NumericNodeId(2424, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2429, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=54") - ref.SourceNodeId = ua.NodeId.from_string("i=2424") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2378") + ref.ReferenceTypeId = NumericNodeId(54, 0) + ref.SourceNodeId = NumericNodeId(2424, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2378, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2424") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2310") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2424, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2310, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2424") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2391") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2424, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2391, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2425") - node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2424") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2425, 0) + node.BrowseName = QualifiedName('TransitionNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2424, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionNumber") + attrs.DisplayName = LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.Value = ua.Variant(9, ua.VariantType.UInt32) attrs.ValueRank = -1 @@ -2671,253 +2673,253 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2425") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2425, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2425") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2425, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2425") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2424") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2425, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2424, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2426") - node.BrowseName = ua.QualifiedName.from_string("Start") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=2391") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(2426, 0) + node.BrowseName = QualifiedName('Start', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(2391, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.Description = ua.LocalizedText("Causes the Program to transition from the Ready state to the Running state.") - attrs.DisplayName = ua.LocalizedText("Start") + attrs.Description = LocalizedText("Causes the Program to transition from the Ready state to the Running state.") + attrs.DisplayName = LocalizedText("Start") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=53") - ref.SourceNodeId = ua.NodeId.from_string("i=2426") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2410") + ref.ReferenceTypeId = NumericNodeId(53, 0) + ref.SourceNodeId = NumericNodeId(2426, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2410, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2426") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11508") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2426, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11508, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2426") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2391") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2426, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2391, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2427") - node.BrowseName = ua.QualifiedName.from_string("Suspend") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=2391") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(2427, 0) + node.BrowseName = QualifiedName('Suspend', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(2391, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.Description = ua.LocalizedText("Causes the Program to transition from the Running state to the Suspended state.") - attrs.DisplayName = ua.LocalizedText("Suspend") + attrs.Description = LocalizedText("Causes the Program to transition from the Running state to the Suspended state.") + attrs.DisplayName = LocalizedText("Suspend") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=53") - ref.SourceNodeId = ua.NodeId.from_string("i=2427") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2416") + ref.ReferenceTypeId = NumericNodeId(53, 0) + ref.SourceNodeId = NumericNodeId(2427, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2416, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2427") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11508") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2427, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11508, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2427") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2391") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2427, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2391, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2428") - node.BrowseName = ua.QualifiedName.from_string("Resume") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=2391") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(2428, 0) + node.BrowseName = QualifiedName('Resume', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(2391, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.Description = ua.LocalizedText("Causes the Program to transition from the Suspended state to the Running state.") - attrs.DisplayName = ua.LocalizedText("Resume") + attrs.Description = LocalizedText("Causes the Program to transition from the Suspended state to the Running state.") + attrs.DisplayName = LocalizedText("Resume") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=53") - ref.SourceNodeId = ua.NodeId.from_string("i=2428") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2418") + ref.ReferenceTypeId = NumericNodeId(53, 0) + ref.SourceNodeId = NumericNodeId(2428, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2418, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2428") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11508") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2428, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11508, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2428") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2391") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2428, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2391, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2429") - node.BrowseName = ua.QualifiedName.from_string("Halt") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=2391") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(2429, 0) + node.BrowseName = QualifiedName('Halt', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(2391, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.Description = ua.LocalizedText("Causes the Program to transition from the Ready, Running or Suspended state to the Halted state.") - attrs.DisplayName = ua.LocalizedText("Halt") + attrs.Description = LocalizedText("Causes the Program to transition from the Ready, Running or Suspended state to the Halted state.") + attrs.DisplayName = LocalizedText("Halt") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=53") - ref.SourceNodeId = ua.NodeId.from_string("i=2429") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2412") + ref.ReferenceTypeId = NumericNodeId(53, 0) + ref.SourceNodeId = NumericNodeId(2429, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2412, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=53") - ref.SourceNodeId = ua.NodeId.from_string("i=2429") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2420") + ref.ReferenceTypeId = NumericNodeId(53, 0) + ref.SourceNodeId = NumericNodeId(2429, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2420, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=53") - ref.SourceNodeId = ua.NodeId.from_string("i=2429") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2424") + ref.ReferenceTypeId = NumericNodeId(53, 0) + ref.SourceNodeId = NumericNodeId(2429, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2424, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2429") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11508") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2429, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11508, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2429") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2391") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2429, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2391, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2430") - node.BrowseName = ua.QualifiedName.from_string("Reset") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=2391") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(2430, 0) + node.BrowseName = QualifiedName('Reset', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(2391, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.Description = ua.LocalizedText("Causes the Program to transition from the Halted state to the Ready state.") - attrs.DisplayName = ua.LocalizedText("Reset") + attrs.Description = LocalizedText("Causes the Program to transition from the Halted state to the Ready state.") + attrs.DisplayName = LocalizedText("Reset") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=53") - ref.SourceNodeId = ua.NodeId.from_string("i=2430") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2408") + ref.ReferenceTypeId = NumericNodeId(53, 0) + ref.SourceNodeId = NumericNodeId(2430, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2408, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2430") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11508") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2430, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11508, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2430") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2391") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2430, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2391, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2378") - node.BrowseName = ua.QualifiedName.from_string("ProgramTransitionEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2311") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2378, 0) + node.BrowseName = QualifiedName('ProgramTransitionEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2311, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ProgramTransitionEventType") + attrs.DisplayName = LocalizedText("ProgramTransitionEventType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2378") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2379") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2378, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2379, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2378") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2311") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2378, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2311, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2379") - node.BrowseName = ua.QualifiedName.from_string("IntermediateResult") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2378") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2379, 0) + node.BrowseName = QualifiedName('IntermediateResult', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2378, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("IntermediateResult") + attrs.DisplayName = LocalizedText("IntermediateResult") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -2925,64 +2927,64 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2379") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2379, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2379") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2379, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2379") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2378") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2379, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2378, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11856") - node.BrowseName = ua.QualifiedName.from_string("AuditProgramTransitionEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2315") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(11856, 0) + node.BrowseName = QualifiedName('AuditProgramTransitionEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2315, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditProgramTransitionEventType") + attrs.DisplayName = LocalizedText("AuditProgramTransitionEventType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11856") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11875") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11856, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11875, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=11856") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2315") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(11856, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2315, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11875") - node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11856") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11875, 0) + node.BrowseName = QualifiedName('TransitionNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11856, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionNumber") + attrs.DisplayName = LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -2990,64 +2992,64 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11875") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11875, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11875") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11875, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11875") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11856") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11875, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11856, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3806") - node.BrowseName = ua.QualifiedName.from_string("ProgramTransitionAuditEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2315") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(3806, 0) + node.BrowseName = QualifiedName('ProgramTransitionAuditEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2315, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ProgramTransitionAuditEventType") + attrs.DisplayName = LocalizedText("ProgramTransitionAuditEventType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3806") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3825") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3806, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3825, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=3806") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2315") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(3806, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2315, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3825") - node.BrowseName = ua.QualifiedName.from_string("Transition") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3806") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2767") + node.RequestedNewNodeId = NumericNodeId(3825, 0) + node.BrowseName = QualifiedName('Transition', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3806, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2767, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Transition") + attrs.DisplayName = LocalizedText("Transition") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -3055,43 +3057,43 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3825") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3826") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3825, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3826, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3825") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2767") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3825, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2767, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3825") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3825, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3825") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3806") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3825, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3806, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3826") - node.BrowseName = ua.QualifiedName.from_string("Id") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3825") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3826, 0) + node.BrowseName = QualifiedName('Id', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3825, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") + attrs.DisplayName = LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -3099,129 +3101,129 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3826") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3826, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3826") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3826, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3826") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3825") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3826, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3825, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2380") - node.BrowseName = ua.QualifiedName.from_string("ProgramDiagnosticType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=63") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2380, 0) + node.BrowseName = QualifiedName('ProgramDiagnosticType', 0) + node.NodeClass = NodeClass.VariableType + node.ParentNodeId = NumericNodeId(63, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ProgramDiagnosticType") - attrs.DisplayName = ua.LocalizedText("ProgramDiagnosticType") - attrs.DataType = ua.NodeId.from_string("i=894") + attrs.DisplayName = LocalizedText("ProgramDiagnosticType") + attrs.DisplayName = LocalizedText("ProgramDiagnosticType") + attrs.DataType = NumericNodeId(894, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2380") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2381") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2380, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2381, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2380") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2382") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2380, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2382, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2380") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2383") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2380, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2383, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2380") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2384") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2380, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2384, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2380") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2385") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2380, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2385, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2380") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2386") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2380, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2386, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2380") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2387") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2380, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2387, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2380") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2388") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2380, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2388, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2380") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2389") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2380, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2389, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2380") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2390") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2380, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2390, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2380") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2380, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2381") - node.BrowseName = ua.QualifiedName.from_string("CreateSessionId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2380") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2381, 0) + node.BrowseName = QualifiedName('CreateSessionId', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2380, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CreateSessionId") + attrs.DisplayName = LocalizedText("CreateSessionId") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -3229,36 +3231,36 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2381") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2381, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2381") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2381, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2381") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2380") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2381, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2380, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2382") - node.BrowseName = ua.QualifiedName.from_string("CreateClientName") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2380") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2382, 0) + node.BrowseName = QualifiedName('CreateClientName', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2380, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CreateClientName") + attrs.DisplayName = LocalizedText("CreateClientName") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -3266,110 +3268,110 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2382") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2382, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2382") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2382, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2382") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2380") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2382, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2380, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2383") - node.BrowseName = ua.QualifiedName.from_string("InvocationCreationTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2380") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2383, 0) + node.BrowseName = QualifiedName('InvocationCreationTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2380, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InvocationCreationTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("InvocationCreationTime") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2383") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2383, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2383") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2383, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2383") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2380") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2383, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2380, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2384") - node.BrowseName = ua.QualifiedName.from_string("LastTransitionTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2380") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2384, 0) + node.BrowseName = QualifiedName('LastTransitionTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2380, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LastTransitionTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("LastTransitionTime") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2384") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2384, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2384") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2384, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2384") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2380") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2384, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2380, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2385") - node.BrowseName = ua.QualifiedName.from_string("LastMethodCall") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2380") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2385, 0) + node.BrowseName = QualifiedName('LastMethodCall', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2380, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LastMethodCall") + attrs.DisplayName = LocalizedText("LastMethodCall") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -3377,36 +3379,36 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2385") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2385, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2385") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2385, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2385") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2380") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2385, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2380, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2386") - node.BrowseName = ua.QualifiedName.from_string("LastMethodSessionId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2380") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2386, 0) + node.BrowseName = QualifiedName('LastMethodSessionId', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2380, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LastMethodSessionId") + attrs.DisplayName = LocalizedText("LastMethodSessionId") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -3414,36 +3416,36 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2386") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2386, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2386") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2386, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2386") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2380") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2386, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2380, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2387") - node.BrowseName = ua.QualifiedName.from_string("LastMethodInputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2380") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2387, 0) + node.BrowseName = QualifiedName('LastMethodInputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2380, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LastMethodInputArguments") + attrs.DisplayName = LocalizedText("LastMethodInputArguments") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 node.NodeAttributes = attrs @@ -3451,36 +3453,36 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2387") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2387, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2387") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2387, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2387") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2380") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2387, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2380, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2388") - node.BrowseName = ua.QualifiedName.from_string("LastMethodOutputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2380") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2388, 0) + node.BrowseName = QualifiedName('LastMethodOutputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2380, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LastMethodOutputArguments") + attrs.DisplayName = LocalizedText("LastMethodOutputArguments") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 node.NodeAttributes = attrs @@ -3488,73 +3490,73 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2388") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2388, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2388") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2388, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2388") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2380") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2388, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2380, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2389") - node.BrowseName = ua.QualifiedName.from_string("LastMethodCallTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2380") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2389, 0) + node.BrowseName = QualifiedName('LastMethodCallTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2380, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LastMethodCallTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("LastMethodCallTime") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2389") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2389, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2389") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2389, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2389") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2380") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2389, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2380, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2390") - node.BrowseName = ua.QualifiedName.from_string("LastMethodReturnStatus") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2380") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2390, 0) + node.BrowseName = QualifiedName('LastMethodReturnStatus', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2380, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LastMethodReturnStatus") + attrs.DisplayName = LocalizedText("LastMethodReturnStatus") attrs.DataType = ua.NodeId(ua.ObjectIds.StatusCode) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -3562,143 +3564,143 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2390") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2390, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2390") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2390, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2390") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2380") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2390, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2380, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15383") - node.BrowseName = ua.QualifiedName.from_string("ProgramDiagnostic2Type") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=63") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(15383, 0) + node.BrowseName = QualifiedName('ProgramDiagnostic2Type', 0) + node.NodeClass = NodeClass.VariableType + node.ParentNodeId = NumericNodeId(63, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ProgramDiagnostic2Type") - attrs.DisplayName = ua.LocalizedText("ProgramDiagnostic2Type") - attrs.DataType = ua.NodeId.from_string("i=15396") + attrs.DisplayName = LocalizedText("ProgramDiagnostic2Type") + attrs.DisplayName = LocalizedText("ProgramDiagnostic2Type") + attrs.DataType = NumericNodeId(15396, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15383") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15384") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15383, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15384, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15383") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15385") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15383, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15385, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15383") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15386") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15383, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15386, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15383") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15387") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15383, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15387, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15383") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15388") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15383, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15388, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15383") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15389") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15383, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15389, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15383") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15390") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15383, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15390, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15383") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15391") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15383, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15391, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15383") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15392") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15383, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15392, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15383") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15393") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15383, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15393, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15383") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15394") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15383, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15394, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15383") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15395") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15383, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15395, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=15383") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(15383, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15384") - node.BrowseName = ua.QualifiedName.from_string("CreateSessionId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15383") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15384, 0) + node.BrowseName = QualifiedName('CreateSessionId', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15383, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CreateSessionId") + attrs.DisplayName = LocalizedText("CreateSessionId") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -3706,36 +3708,36 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15384") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15384, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15384") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15384, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15384") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15383") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15384, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15383, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15385") - node.BrowseName = ua.QualifiedName.from_string("CreateClientName") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15383") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15385, 0) + node.BrowseName = QualifiedName('CreateClientName', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15383, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CreateClientName") + attrs.DisplayName = LocalizedText("CreateClientName") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -3743,110 +3745,110 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15385") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15385, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15385") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15385, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15385") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15383") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15385, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15383, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15386") - node.BrowseName = ua.QualifiedName.from_string("InvocationCreationTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15383") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15386, 0) + node.BrowseName = QualifiedName('InvocationCreationTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15383, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InvocationCreationTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("InvocationCreationTime") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15386") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15386, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15386") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15386, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15386") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15383") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15386, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15383, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15387") - node.BrowseName = ua.QualifiedName.from_string("LastTransitionTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15383") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15387, 0) + node.BrowseName = QualifiedName('LastTransitionTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15383, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LastTransitionTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("LastTransitionTime") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15387") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15387, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15387") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15387, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15387") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15383") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15387, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15383, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15388") - node.BrowseName = ua.QualifiedName.from_string("LastMethodCall") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15383") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15388, 0) + node.BrowseName = QualifiedName('LastMethodCall', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15383, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LastMethodCall") + attrs.DisplayName = LocalizedText("LastMethodCall") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -3854,36 +3856,36 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15388") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15388, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15388") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15388, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15388") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15383") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15388, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15383, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15389") - node.BrowseName = ua.QualifiedName.from_string("LastMethodSessionId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15383") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15389, 0) + node.BrowseName = QualifiedName('LastMethodSessionId', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15383, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LastMethodSessionId") + attrs.DisplayName = LocalizedText("LastMethodSessionId") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -3891,110 +3893,110 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15389") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15389, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15389") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15389, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15389") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15383") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15389, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15383, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15390") - node.BrowseName = ua.QualifiedName.from_string("LastMethodInputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15383") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15390, 0) + node.BrowseName = QualifiedName('LastMethodInputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15383, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LastMethodInputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("LastMethodInputArguments") + attrs.DataType = NumericNodeId(296, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15390") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15390, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15390") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15390, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15390") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15383") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15390, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15383, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15391") - node.BrowseName = ua.QualifiedName.from_string("LastMethodOutputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15383") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15391, 0) + node.BrowseName = QualifiedName('LastMethodOutputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15383, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LastMethodOutputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("LastMethodOutputArguments") + attrs.DataType = NumericNodeId(296, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15391") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15391, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15391") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15391, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15391") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15383") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15391, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15383, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15392") - node.BrowseName = ua.QualifiedName.from_string("LastMethodInputValues") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15383") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15392, 0) + node.BrowseName = QualifiedName('LastMethodInputValues', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15383, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LastMethodInputValues") + attrs.DisplayName = LocalizedText("LastMethodInputValues") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 node.NodeAttributes = attrs @@ -4002,36 +4004,36 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15392") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15392, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15392") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15392, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15392") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15383") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15392, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15383, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15393") - node.BrowseName = ua.QualifiedName.from_string("LastMethodOutputValues") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15383") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15393, 0) + node.BrowseName = QualifiedName('LastMethodOutputValues', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15383, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LastMethodOutputValues") + attrs.DisplayName = LocalizedText("LastMethodOutputValues") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 node.NodeAttributes = attrs @@ -4039,73 +4041,73 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15393") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15393, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15393") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15393, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15393") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15383") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15393, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15383, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15394") - node.BrowseName = ua.QualifiedName.from_string("LastMethodCallTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15383") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15394, 0) + node.BrowseName = QualifiedName('LastMethodCallTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15383, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LastMethodCallTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("LastMethodCallTime") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15394") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15394, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15394") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15394, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15394") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15383") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15394, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15383, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15395") - node.BrowseName = ua.QualifiedName.from_string("LastMethodReturnStatus") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15383") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15395, 0) + node.BrowseName = QualifiedName('LastMethodReturnStatus', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15383, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LastMethodReturnStatus") + attrs.DisplayName = LocalizedText("LastMethodReturnStatus") attrs.DataType = ua.NodeId(ua.ObjectIds.StatusCode) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -4113,265 +4115,265 @@ def create_standard_address_space_Part10(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15395") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15395, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15395") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15395, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15395") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15383") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15395, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15383, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=894") - node.BrowseName = ua.QualifiedName.from_string("ProgramDiagnosticDataType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(894, 0) + node.BrowseName = QualifiedName('ProgramDiagnosticDataType', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ProgramDiagnosticDataType") + attrs.DisplayName = LocalizedText("ProgramDiagnosticDataType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=894") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(894, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15396") - node.BrowseName = ua.QualifiedName.from_string("ProgramDiagnostic2DataType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(15396, 0) + node.BrowseName = QualifiedName('ProgramDiagnostic2DataType', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ProgramDiagnostic2DataType") + attrs.DisplayName = LocalizedText("ProgramDiagnostic2DataType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=15396") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(15396, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=896") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=894") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(896, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(894, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=896") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=894") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(896, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(894, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=896") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8247") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(896, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8247, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=896") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(896, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15397") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=15396") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15397, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(15396, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15397") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15396") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15397, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15396, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=15397") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15398") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(15397, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15398, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15397") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15397, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=895") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=894") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(895, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(894, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=895") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=894") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(895, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(894, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=895") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8882") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(895, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8882, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=895") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(895, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15401") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=15396") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15401, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(15396, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15401") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15396") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15401, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15396, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=15401") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15402") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(15401, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15402, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15401") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15401, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15381") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=894") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15381, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(894, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15381") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=894") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15381, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(894, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15381") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15381, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15405") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=15396") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15405, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(15396, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15405") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15396") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15405, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15396, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15405") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15405, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) diff --git a/opcua/server/standard_address_space/standard_address_space_part11.py b/opcua/server/standard_address_space/standard_address_space_part11.py index 917b335d7..475f2402e 100644 --- a/opcua/server/standard_address_space/standard_address_space_part11.py +++ b/opcua/server/standard_address_space/standard_address_space_part11.py @@ -6,176 +6,178 @@ """ from opcua import ua +from opcua.ua import NodeId, QualifiedName, NumericNodeId, StringNodeId, GuidNodeId +from opcua.ua import NodeClass, LocalizedText def create_standard_address_space_Part11(server): node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=56") - node.BrowseName = ua.QualifiedName.from_string("HasHistoricalConfiguration") - node.NodeClass = ua.NodeClass.ReferenceType - node.ParentNodeId = ua.NodeId.from_string("i=44") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(56, 0) + node.BrowseName = QualifiedName('HasHistoricalConfiguration', 0) + node.NodeClass = NodeClass.ReferenceType + node.ParentNodeId = NumericNodeId(44, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ReferenceTypeAttributes() - attrs.Description = ua.LocalizedText("The type for a reference to the historical configuration for a data variable.") - attrs.DisplayName = ua.LocalizedText("HasHistoricalConfiguration") - attrs.InverseName = ua.LocalizedText("HistoricalConfigurationOf") + attrs.Description = LocalizedText("The type for a reference to the historical configuration for a data variable.") + attrs.DisplayName = LocalizedText("HasHistoricalConfiguration") + attrs.InverseName = LocalizedText("HistoricalConfigurationOf") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=56") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=44") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(56, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(44, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11192") - node.BrowseName = ua.QualifiedName.from_string("HistoryServerCapabilities") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2268") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2330") + node.RequestedNewNodeId = NumericNodeId(11192, 0) + node.BrowseName = QualifiedName('HistoryServerCapabilities', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2268, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2330, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("HistoryServerCapabilities") + attrs.DisplayName = LocalizedText("HistoryServerCapabilities") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11192") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11193") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11192, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11193, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11192") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11242") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11192, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11242, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11192") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11273") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11192, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11273, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11192") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11274") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11192, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11274, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11192") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11196") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11192, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11196, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11192") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11197") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11192, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11197, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11192") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11198") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11192, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11198, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11192") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11199") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11192, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11199, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11192") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11200") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11192, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11200, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11192") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11281") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11192, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11281, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11192") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11282") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11192, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11282, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11192") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11283") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11192, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11283, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11192") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11502") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11192, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11502, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11192") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11275") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11192, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11275, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11192") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11201") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11192, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11201, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11192") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2268") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11192, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2268, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11192") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2330") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11192, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2330, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11193") - node.BrowseName = ua.QualifiedName.from_string("AccessHistoryDataCapability") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11192") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11193, 0) + node.BrowseName = QualifiedName('AccessHistoryDataCapability', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11192, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AccessHistoryDataCapability") + attrs.DisplayName = LocalizedText("AccessHistoryDataCapability") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -183,29 +185,29 @@ def create_standard_address_space_Part11(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11193") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11193, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11193") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11192") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11193, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11192, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11242") - node.BrowseName = ua.QualifiedName.from_string("AccessHistoryEventsCapability") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11192") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11242, 0) + node.BrowseName = QualifiedName('AccessHistoryEventsCapability', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11192, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AccessHistoryEventsCapability") + attrs.DisplayName = LocalizedText("AccessHistoryEventsCapability") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -213,29 +215,29 @@ def create_standard_address_space_Part11(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11242") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11242, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11242") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11192") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11242, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11192, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11273") - node.BrowseName = ua.QualifiedName.from_string("MaxReturnDataValues") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11192") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11273, 0) + node.BrowseName = QualifiedName('MaxReturnDataValues', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11192, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MaxReturnDataValues") + attrs.DisplayName = LocalizedText("MaxReturnDataValues") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -243,29 +245,29 @@ def create_standard_address_space_Part11(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11273") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11273, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11273") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11192") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11273, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11192, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11274") - node.BrowseName = ua.QualifiedName.from_string("MaxReturnEventValues") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11192") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11274, 0) + node.BrowseName = QualifiedName('MaxReturnEventValues', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11192, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MaxReturnEventValues") + attrs.DisplayName = LocalizedText("MaxReturnEventValues") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -273,29 +275,29 @@ def create_standard_address_space_Part11(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11274") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11274, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11274") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11192") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11274, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11192, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11196") - node.BrowseName = ua.QualifiedName.from_string("InsertDataCapability") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11192") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11196, 0) + node.BrowseName = QualifiedName('InsertDataCapability', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11192, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InsertDataCapability") + attrs.DisplayName = LocalizedText("InsertDataCapability") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -303,29 +305,29 @@ def create_standard_address_space_Part11(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11196") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11196, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11196") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11192") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11196, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11192, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11197") - node.BrowseName = ua.QualifiedName.from_string("ReplaceDataCapability") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11192") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11197, 0) + node.BrowseName = QualifiedName('ReplaceDataCapability', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11192, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ReplaceDataCapability") + attrs.DisplayName = LocalizedText("ReplaceDataCapability") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -333,29 +335,29 @@ def create_standard_address_space_Part11(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11192") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11192, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11198") - node.BrowseName = ua.QualifiedName.from_string("UpdateDataCapability") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11192") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11198, 0) + node.BrowseName = QualifiedName('UpdateDataCapability', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11192, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("UpdateDataCapability") + attrs.DisplayName = LocalizedText("UpdateDataCapability") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -363,29 +365,29 @@ def create_standard_address_space_Part11(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11198") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11198, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11198") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11192") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11198, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11192, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11199") - node.BrowseName = ua.QualifiedName.from_string("DeleteRawCapability") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11192") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11199, 0) + node.BrowseName = QualifiedName('DeleteRawCapability', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11192, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DeleteRawCapability") + attrs.DisplayName = LocalizedText("DeleteRawCapability") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -393,29 +395,29 @@ def create_standard_address_space_Part11(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11199") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11199, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11199") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11192") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11199, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11192, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11200") - node.BrowseName = ua.QualifiedName.from_string("DeleteAtTimeCapability") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11192") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11200, 0) + node.BrowseName = QualifiedName('DeleteAtTimeCapability', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11192, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DeleteAtTimeCapability") + attrs.DisplayName = LocalizedText("DeleteAtTimeCapability") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -423,29 +425,29 @@ def create_standard_address_space_Part11(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11200") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11200, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11200") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11192") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11200, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11192, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11281") - node.BrowseName = ua.QualifiedName.from_string("InsertEventCapability") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11192") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11281, 0) + node.BrowseName = QualifiedName('InsertEventCapability', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11192, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InsertEventCapability") + attrs.DisplayName = LocalizedText("InsertEventCapability") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -453,29 +455,29 @@ def create_standard_address_space_Part11(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11281") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11281, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11281") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11192") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11281, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11192, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11282") - node.BrowseName = ua.QualifiedName.from_string("ReplaceEventCapability") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11192") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11282, 0) + node.BrowseName = QualifiedName('ReplaceEventCapability', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11192, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ReplaceEventCapability") + attrs.DisplayName = LocalizedText("ReplaceEventCapability") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -483,29 +485,29 @@ def create_standard_address_space_Part11(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11282") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11282, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11282") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11192") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11282, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11192, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11283") - node.BrowseName = ua.QualifiedName.from_string("UpdateEventCapability") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11192") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11283, 0) + node.BrowseName = QualifiedName('UpdateEventCapability', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11192, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("UpdateEventCapability") + attrs.DisplayName = LocalizedText("UpdateEventCapability") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -513,29 +515,29 @@ def create_standard_address_space_Part11(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11283") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11283, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11283") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11192") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11283, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11192, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11502") - node.BrowseName = ua.QualifiedName.from_string("DeleteEventCapability") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11192") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11502, 0) + node.BrowseName = QualifiedName('DeleteEventCapability', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11192, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DeleteEventCapability") + attrs.DisplayName = LocalizedText("DeleteEventCapability") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -543,29 +545,29 @@ def create_standard_address_space_Part11(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11502") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11502, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11502") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11192") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11502, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11192, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11275") - node.BrowseName = ua.QualifiedName.from_string("InsertAnnotationCapability") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11192") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11275, 0) + node.BrowseName = QualifiedName('InsertAnnotationCapability', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11192, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InsertAnnotationCapability") + attrs.DisplayName = LocalizedText("InsertAnnotationCapability") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -573,234 +575,234 @@ def create_standard_address_space_Part11(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11275") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11275, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11275") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11192") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11275, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11192, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11201") - node.BrowseName = ua.QualifiedName.from_string("AggregateFunctions") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=11192") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=61") + node.RequestedNewNodeId = NumericNodeId(11201, 0) + node.BrowseName = QualifiedName('AggregateFunctions', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(11192, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(61, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("AggregateFunctions") + attrs.DisplayName = LocalizedText("AggregateFunctions") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11201") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=61") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11201, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(61, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11201") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11192") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11201, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11192, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11214") - node.BrowseName = ua.QualifiedName.from_string("Annotations") - node.NodeClass = ua.NodeClass.Variable - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11214, 0) + node.BrowseName = QualifiedName('Annotations', 0) + node.NodeClass = NodeClass.Variable + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Annotations") - attrs.DataType = ua.NodeId.from_string("i=891") + attrs.DisplayName = LocalizedText("Annotations") + attrs.DataType = NumericNodeId(891, 0) attrs.ValueRank = -2 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11214") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11214, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2318") - node.BrowseName = ua.QualifiedName.from_string("HistoricalDataConfigurationType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=58") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2318, 0) + node.BrowseName = QualifiedName('HistoricalDataConfigurationType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(58, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("HistoricalDataConfigurationType") + attrs.DisplayName = LocalizedText("HistoricalDataConfigurationType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2318") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3059") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2318, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3059, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2318") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11876") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2318, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11876, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2318") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2323") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2318, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2323, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2318") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2324") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2318, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2324, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2318") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2325") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2318, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2325, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2318") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2326") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2318, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2326, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2318") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2327") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2318, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2327, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2318") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2328") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2318, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2328, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2318") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11499") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2318, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11499, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2318") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11500") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2318, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11500, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2318") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=58") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2318, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(58, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3059") - node.BrowseName = ua.QualifiedName.from_string("AggregateConfiguration") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2318") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=11187") + node.RequestedNewNodeId = NumericNodeId(3059, 0) + node.BrowseName = QualifiedName('AggregateConfiguration', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2318, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(11187, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("AggregateConfiguration") + attrs.DisplayName = LocalizedText("AggregateConfiguration") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3059") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11168") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3059, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11168, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3059") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11169") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3059, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11169, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3059") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11170") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3059, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11170, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3059") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11171") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3059, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11171, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3059") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11187") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3059, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11187, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3059") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3059, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3059") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2318") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3059, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2318, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11168") - node.BrowseName = ua.QualifiedName.from_string("TreatUncertainAsBad") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3059") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11168, 0) + node.BrowseName = QualifiedName('TreatUncertainAsBad', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3059, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TreatUncertainAsBad") + attrs.DisplayName = LocalizedText("TreatUncertainAsBad") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -808,36 +810,36 @@ def create_standard_address_space_Part11(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11168") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11168, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11168") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11168, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11168") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3059") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11168, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3059, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11169") - node.BrowseName = ua.QualifiedName.from_string("PercentDataBad") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3059") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11169, 0) + node.BrowseName = QualifiedName('PercentDataBad', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3059, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("PercentDataBad") + attrs.DisplayName = LocalizedText("PercentDataBad") attrs.DataType = ua.NodeId(ua.ObjectIds.Byte) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -845,36 +847,36 @@ def create_standard_address_space_Part11(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11169") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11169, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11169") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11169, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11169") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3059") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11169, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3059, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11170") - node.BrowseName = ua.QualifiedName.from_string("PercentDataGood") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3059") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11170, 0) + node.BrowseName = QualifiedName('PercentDataGood', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3059, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("PercentDataGood") + attrs.DisplayName = LocalizedText("PercentDataGood") attrs.DataType = ua.NodeId(ua.ObjectIds.Byte) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -882,36 +884,36 @@ def create_standard_address_space_Part11(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11170") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11170, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11170") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11170, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11170") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3059") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11170, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3059, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11171") - node.BrowseName = ua.QualifiedName.from_string("UseSlopedExtrapolation") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3059") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11171, 0) + node.BrowseName = QualifiedName('UseSlopedExtrapolation', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3059, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("UseSlopedExtrapolation") + attrs.DisplayName = LocalizedText("UseSlopedExtrapolation") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -919,72 +921,72 @@ def create_standard_address_space_Part11(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11171") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11171, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11171") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11171, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11171") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3059") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11171, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3059, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11876") - node.BrowseName = ua.QualifiedName.from_string("AggregateFunctions") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2318") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=61") + node.RequestedNewNodeId = NumericNodeId(11876, 0) + node.BrowseName = QualifiedName('AggregateFunctions', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2318, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(61, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("AggregateFunctions") + attrs.DisplayName = LocalizedText("AggregateFunctions") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11876") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=61") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11876, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(61, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11876") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11876, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11876") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2318") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11876, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2318, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2323") - node.BrowseName = ua.QualifiedName.from_string("Stepped") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2318") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2323, 0) + node.BrowseName = QualifiedName('Stepped', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2318, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Stepped") + attrs.DisplayName = LocalizedText("Stepped") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -992,36 +994,36 @@ def create_standard_address_space_Part11(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2323") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2323, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2323") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2323, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2323") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2318") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2323, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2318, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2324") - node.BrowseName = ua.QualifiedName.from_string("Definition") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2318") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2324, 0) + node.BrowseName = QualifiedName('Definition', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2318, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Definition") + attrs.DisplayName = LocalizedText("Definition") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -1029,110 +1031,110 @@ def create_standard_address_space_Part11(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2324") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2324, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2324") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2324, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2324") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2318") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2324, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2318, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2325") - node.BrowseName = ua.QualifiedName.from_string("MaxTimeInterval") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2318") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2325, 0) + node.BrowseName = QualifiedName('MaxTimeInterval', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2318, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MaxTimeInterval") - attrs.DataType = ua.NodeId.from_string("i=290") + attrs.DisplayName = LocalizedText("MaxTimeInterval") + attrs.DataType = NumericNodeId(290, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2325") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2325, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2325") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2325, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2325") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2318") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2325, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2318, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2326") - node.BrowseName = ua.QualifiedName.from_string("MinTimeInterval") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2318") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2326, 0) + node.BrowseName = QualifiedName('MinTimeInterval', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2318, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MinTimeInterval") - attrs.DataType = ua.NodeId.from_string("i=290") + attrs.DisplayName = LocalizedText("MinTimeInterval") + attrs.DataType = NumericNodeId(290, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2326") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2326, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2326") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2326, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2326") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2318") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2326, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2318, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2327") - node.BrowseName = ua.QualifiedName.from_string("ExceptionDeviation") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2318") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2327, 0) + node.BrowseName = QualifiedName('ExceptionDeviation', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2318, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ExceptionDeviation") + attrs.DisplayName = LocalizedText("ExceptionDeviation") attrs.DataType = ua.NodeId(ua.ObjectIds.Double) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -1140,238 +1142,238 @@ def create_standard_address_space_Part11(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2327") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2327, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2327") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2327, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2327") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2318") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2327, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2318, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2328") - node.BrowseName = ua.QualifiedName.from_string("ExceptionDeviationFormat") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2318") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2328, 0) + node.BrowseName = QualifiedName('ExceptionDeviationFormat', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2318, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ExceptionDeviationFormat") - attrs.DataType = ua.NodeId.from_string("i=890") + attrs.DisplayName = LocalizedText("ExceptionDeviationFormat") + attrs.DataType = NumericNodeId(890, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2328") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2328, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2328") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2328, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2328") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2318") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2328, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2318, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11499") - node.BrowseName = ua.QualifiedName.from_string("StartOfArchive") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2318") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11499, 0) + node.BrowseName = QualifiedName('StartOfArchive', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2318, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("StartOfArchive") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("StartOfArchive") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11499") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11499, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11499") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11499, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11499") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2318") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11499, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2318, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11500") - node.BrowseName = ua.QualifiedName.from_string("StartOfOnlineArchive") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2318") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11500, 0) + node.BrowseName = QualifiedName('StartOfOnlineArchive', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2318, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("StartOfOnlineArchive") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("StartOfOnlineArchive") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11500") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11500, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11500") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11500, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11500") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2318") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11500, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2318, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11202") - node.BrowseName = ua.QualifiedName.from_string("HA Configuration") - node.NodeClass = ua.NodeClass.Object - node.TypeDefinition = ua.NodeId.from_string("i=2318") + node.RequestedNewNodeId = NumericNodeId(11202, 0) + node.BrowseName = QualifiedName('HA Configuration', 0) + node.NodeClass = NodeClass.Object + node.TypeDefinition = NumericNodeId(2318, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("HA Configuration") + attrs.DisplayName = LocalizedText("HA Configuration") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11202") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11203") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11202, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11203, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11202") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11208") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11202, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11208, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11202") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2318") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11202, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2318, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11203") - node.BrowseName = ua.QualifiedName.from_string("AggregateConfiguration") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=11202") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=11187") + node.RequestedNewNodeId = NumericNodeId(11203, 0) + node.BrowseName = QualifiedName('AggregateConfiguration', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(11202, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(11187, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("AggregateConfiguration") + attrs.DisplayName = LocalizedText("AggregateConfiguration") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11203") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11204") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11203, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11204, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11203") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11205") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11203, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11205, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11203") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11206") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11203, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11206, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11203") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11207") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11203, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11207, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11203") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11187") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11203, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11187, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11203") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11202") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11203, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11202, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11204") - node.BrowseName = ua.QualifiedName.from_string("TreatUncertainAsBad") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11203") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11204, 0) + node.BrowseName = QualifiedName('TreatUncertainAsBad', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11203, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TreatUncertainAsBad") + attrs.DisplayName = LocalizedText("TreatUncertainAsBad") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -1379,29 +1381,29 @@ def create_standard_address_space_Part11(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11204") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11204, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11204") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11203") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11204, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11203, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11205") - node.BrowseName = ua.QualifiedName.from_string("PercentDataBad") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11203") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11205, 0) + node.BrowseName = QualifiedName('PercentDataBad', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11203, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("PercentDataBad") + attrs.DisplayName = LocalizedText("PercentDataBad") attrs.DataType = ua.NodeId(ua.ObjectIds.Byte) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -1409,29 +1411,29 @@ def create_standard_address_space_Part11(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11205") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11205, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11205") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11203") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11205, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11203, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11206") - node.BrowseName = ua.QualifiedName.from_string("PercentDataGood") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11203") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11206, 0) + node.BrowseName = QualifiedName('PercentDataGood', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11203, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("PercentDataGood") + attrs.DisplayName = LocalizedText("PercentDataGood") attrs.DataType = ua.NodeId(ua.ObjectIds.Byte) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -1439,29 +1441,29 @@ def create_standard_address_space_Part11(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11206") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11206, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11206") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11203") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11206, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11203, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11207") - node.BrowseName = ua.QualifiedName.from_string("UseSlopedExtrapolation") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11203") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11207, 0) + node.BrowseName = QualifiedName('UseSlopedExtrapolation', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11203, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("UseSlopedExtrapolation") + attrs.DisplayName = LocalizedText("UseSlopedExtrapolation") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -1469,29 +1471,29 @@ def create_standard_address_space_Part11(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11207") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11207, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11207") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11203") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11207, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11203, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11208") - node.BrowseName = ua.QualifiedName.from_string("Stepped") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11202") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11208, 0) + node.BrowseName = QualifiedName('Stepped', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11202, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Stepped") + attrs.DisplayName = LocalizedText("Stepped") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -1499,176 +1501,176 @@ def create_standard_address_space_Part11(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11208") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11208, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11208") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11202") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11208, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11202, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11215") - node.BrowseName = ua.QualifiedName.from_string("HistoricalEventFilter") - node.NodeClass = ua.NodeClass.Variable - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11215, 0) + node.BrowseName = QualifiedName('HistoricalEventFilter', 0) + node.NodeClass = NodeClass.Variable + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("HistoricalEventFilter") - attrs.DataType = ua.NodeId.from_string("i=725") + attrs.DisplayName = LocalizedText("HistoricalEventFilter") + attrs.DataType = NumericNodeId(725, 0) attrs.ValueRank = -2 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11215") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11215, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2330") - node.BrowseName = ua.QualifiedName.from_string("HistoryServerCapabilitiesType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=58") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2330, 0) + node.BrowseName = QualifiedName('HistoryServerCapabilitiesType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(58, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("HistoryServerCapabilitiesType") + attrs.DisplayName = LocalizedText("HistoryServerCapabilitiesType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2330") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2331") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2330, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2331, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2330") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2332") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2330, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2332, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2330") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11268") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2330, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11268, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2330") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11269") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2330, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11269, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2330") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2334") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2330, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2334, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2330") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2335") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2330, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2335, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2330") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2336") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2330, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2336, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2330") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2337") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2330, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2337, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2330") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2338") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2330, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2338, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2330") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11278") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2330, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11278, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2330") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11279") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2330, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11279, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2330") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11280") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2330, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11280, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2330") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11501") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2330, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11501, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2330") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11270") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2330, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11270, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2330") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11172") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2330, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11172, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2330") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=58") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2330, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(58, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2331") - node.BrowseName = ua.QualifiedName.from_string("AccessHistoryDataCapability") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2330") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2331, 0) + node.BrowseName = QualifiedName('AccessHistoryDataCapability', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2330, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AccessHistoryDataCapability") + attrs.DisplayName = LocalizedText("AccessHistoryDataCapability") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -1676,36 +1678,36 @@ def create_standard_address_space_Part11(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2331") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2331, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2331") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2331, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2331") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2330") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2331, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2330, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2332") - node.BrowseName = ua.QualifiedName.from_string("AccessHistoryEventsCapability") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2330") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2332, 0) + node.BrowseName = QualifiedName('AccessHistoryEventsCapability', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2330, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AccessHistoryEventsCapability") + attrs.DisplayName = LocalizedText("AccessHistoryEventsCapability") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -1713,36 +1715,36 @@ def create_standard_address_space_Part11(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2332") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2332, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2332") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2332, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2332") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2330") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2332, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2330, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11268") - node.BrowseName = ua.QualifiedName.from_string("MaxReturnDataValues") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2330") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11268, 0) + node.BrowseName = QualifiedName('MaxReturnDataValues', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2330, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MaxReturnDataValues") + attrs.DisplayName = LocalizedText("MaxReturnDataValues") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -1750,36 +1752,36 @@ def create_standard_address_space_Part11(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11268") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11268, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11268") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11268, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11268") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2330") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11268, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2330, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11269") - node.BrowseName = ua.QualifiedName.from_string("MaxReturnEventValues") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2330") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11269, 0) + node.BrowseName = QualifiedName('MaxReturnEventValues', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2330, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MaxReturnEventValues") + attrs.DisplayName = LocalizedText("MaxReturnEventValues") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -1787,36 +1789,36 @@ def create_standard_address_space_Part11(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11269") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11269, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11269") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11269, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11269") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2330") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11269, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2330, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2334") - node.BrowseName = ua.QualifiedName.from_string("InsertDataCapability") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2330") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2334, 0) + node.BrowseName = QualifiedName('InsertDataCapability', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2330, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InsertDataCapability") + attrs.DisplayName = LocalizedText("InsertDataCapability") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -1824,36 +1826,36 @@ def create_standard_address_space_Part11(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2334") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2334, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2334") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2334, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2334") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2330") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2334, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2330, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2335") - node.BrowseName = ua.QualifiedName.from_string("ReplaceDataCapability") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2330") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2335, 0) + node.BrowseName = QualifiedName('ReplaceDataCapability', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2330, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ReplaceDataCapability") + attrs.DisplayName = LocalizedText("ReplaceDataCapability") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -1861,36 +1863,36 @@ def create_standard_address_space_Part11(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2335") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2335, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2335") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2335, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2335") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2330") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2335, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2330, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2336") - node.BrowseName = ua.QualifiedName.from_string("UpdateDataCapability") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2330") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2336, 0) + node.BrowseName = QualifiedName('UpdateDataCapability', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2330, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("UpdateDataCapability") + attrs.DisplayName = LocalizedText("UpdateDataCapability") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -1898,36 +1900,36 @@ def create_standard_address_space_Part11(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2336") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2336, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2336") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2336, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2336") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2330") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2336, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2330, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2337") - node.BrowseName = ua.QualifiedName.from_string("DeleteRawCapability") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2330") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2337, 0) + node.BrowseName = QualifiedName('DeleteRawCapability', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2330, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DeleteRawCapability") + attrs.DisplayName = LocalizedText("DeleteRawCapability") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -1935,36 +1937,36 @@ def create_standard_address_space_Part11(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2337") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2337, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2337") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2337, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2337") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2330") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2337, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2330, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2338") - node.BrowseName = ua.QualifiedName.from_string("DeleteAtTimeCapability") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2330") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2338, 0) + node.BrowseName = QualifiedName('DeleteAtTimeCapability', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2330, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DeleteAtTimeCapability") + attrs.DisplayName = LocalizedText("DeleteAtTimeCapability") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -1972,36 +1974,36 @@ def create_standard_address_space_Part11(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2338") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2338, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2338") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2338, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2338") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2330") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2338, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2330, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11278") - node.BrowseName = ua.QualifiedName.from_string("InsertEventCapability") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2330") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11278, 0) + node.BrowseName = QualifiedName('InsertEventCapability', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2330, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InsertEventCapability") + attrs.DisplayName = LocalizedText("InsertEventCapability") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -2009,36 +2011,36 @@ def create_standard_address_space_Part11(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11278") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11278, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11278") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11278, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11278") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2330") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11278, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2330, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11279") - node.BrowseName = ua.QualifiedName.from_string("ReplaceEventCapability") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2330") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11279, 0) + node.BrowseName = QualifiedName('ReplaceEventCapability', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2330, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ReplaceEventCapability") + attrs.DisplayName = LocalizedText("ReplaceEventCapability") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -2046,36 +2048,36 @@ def create_standard_address_space_Part11(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11279") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11279, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11279") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11279, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11279") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2330") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11279, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2330, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11280") - node.BrowseName = ua.QualifiedName.from_string("UpdateEventCapability") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2330") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11280, 0) + node.BrowseName = QualifiedName('UpdateEventCapability', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2330, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("UpdateEventCapability") + attrs.DisplayName = LocalizedText("UpdateEventCapability") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -2083,36 +2085,36 @@ def create_standard_address_space_Part11(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11280") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11280, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11280") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11280, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11280") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2330") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11280, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2330, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11501") - node.BrowseName = ua.QualifiedName.from_string("DeleteEventCapability") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2330") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11501, 0) + node.BrowseName = QualifiedName('DeleteEventCapability', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2330, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DeleteEventCapability") + attrs.DisplayName = LocalizedText("DeleteEventCapability") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -2120,36 +2122,36 @@ def create_standard_address_space_Part11(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11501") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11501, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11501") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11501, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11501") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2330") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11501, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2330, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11270") - node.BrowseName = ua.QualifiedName.from_string("InsertAnnotationCapability") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2330") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11270, 0) + node.BrowseName = QualifiedName('InsertAnnotationCapability', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2330, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InsertAnnotationCapability") + attrs.DisplayName = LocalizedText("InsertAnnotationCapability") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -2157,128 +2159,128 @@ def create_standard_address_space_Part11(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11270") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11270, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11270") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11270, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11270") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2330") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11270, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2330, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11172") - node.BrowseName = ua.QualifiedName.from_string("AggregateFunctions") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2330") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=61") + node.RequestedNewNodeId = NumericNodeId(11172, 0) + node.BrowseName = QualifiedName('AggregateFunctions', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2330, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(61, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("AggregateFunctions") + attrs.DisplayName = LocalizedText("AggregateFunctions") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11172") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=61") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11172, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(61, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11172") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11172, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11172") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2330") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11172, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2330, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2999") - node.BrowseName = ua.QualifiedName.from_string("AuditHistoryEventUpdateEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2104") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2999, 0) + node.BrowseName = QualifiedName('AuditHistoryEventUpdateEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2104, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditHistoryEventUpdateEventType") + attrs.DisplayName = LocalizedText("AuditHistoryEventUpdateEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2999") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3025") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2999, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3025, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2999") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3028") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2999, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3028, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2999") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3003") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2999, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3003, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2999") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3029") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2999, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3029, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2999") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3030") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2999, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3030, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2999") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2104") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2999, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2104, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3025") - node.BrowseName = ua.QualifiedName.from_string("UpdatedNode") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2999") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3025, 0) + node.BrowseName = QualifiedName('UpdatedNode', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2999, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("UpdatedNode") + attrs.DisplayName = LocalizedText("UpdatedNode") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -2286,233 +2288,233 @@ def create_standard_address_space_Part11(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3025") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3025, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3025") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3025, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3025") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2999") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3025, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2999, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3028") - node.BrowseName = ua.QualifiedName.from_string("PerformInsertReplace") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2999") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3028, 0) + node.BrowseName = QualifiedName('PerformInsertReplace', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2999, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("PerformInsertReplace") - attrs.DataType = ua.NodeId.from_string("i=11293") + attrs.DisplayName = LocalizedText("PerformInsertReplace") + attrs.DataType = NumericNodeId(11293, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3028") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3028, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3028") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3028, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3028") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2999") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3028, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2999, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3003") - node.BrowseName = ua.QualifiedName.from_string("Filter") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2999") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3003, 0) + node.BrowseName = QualifiedName('Filter', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2999, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Filter") - attrs.DataType = ua.NodeId.from_string("i=725") + attrs.DisplayName = LocalizedText("Filter") + attrs.DataType = NumericNodeId(725, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3003") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3003, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3003") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3003, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3003") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2999") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3003, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2999, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3029") - node.BrowseName = ua.QualifiedName.from_string("NewValues") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2999") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3029, 0) + node.BrowseName = QualifiedName('NewValues', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2999, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("NewValues") - attrs.DataType = ua.NodeId.from_string("i=920") + attrs.DisplayName = LocalizedText("NewValues") + attrs.DataType = NumericNodeId(920, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3029") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3029, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3029") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3029, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3029") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2999") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3029, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2999, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3030") - node.BrowseName = ua.QualifiedName.from_string("OldValues") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2999") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3030, 0) + node.BrowseName = QualifiedName('OldValues', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2999, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OldValues") - attrs.DataType = ua.NodeId.from_string("i=920") + attrs.DisplayName = LocalizedText("OldValues") + attrs.DataType = NumericNodeId(920, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2999") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2999, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3006") - node.BrowseName = ua.QualifiedName.from_string("AuditHistoryValueUpdateEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2104") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(3006, 0) + node.BrowseName = QualifiedName('AuditHistoryValueUpdateEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2104, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditHistoryValueUpdateEventType") + attrs.DisplayName = LocalizedText("AuditHistoryValueUpdateEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3006") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3026") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3006, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3026, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3006") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3031") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3006, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3031, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3006") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3032") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3006, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3032, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3006") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3033") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3006, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3033, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=3006") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2104") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(3006, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2104, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3026") - node.BrowseName = ua.QualifiedName.from_string("UpdatedNode") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3006") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3026, 0) + node.BrowseName = QualifiedName('UpdatedNode', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3006, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("UpdatedNode") + attrs.DisplayName = LocalizedText("UpdatedNode") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -2520,175 +2522,175 @@ def create_standard_address_space_Part11(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3026") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3026, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3026") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3026, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3026") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3006") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3026, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3006, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3031") - node.BrowseName = ua.QualifiedName.from_string("PerformInsertReplace") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3006") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3031, 0) + node.BrowseName = QualifiedName('PerformInsertReplace', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3006, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("PerformInsertReplace") - attrs.DataType = ua.NodeId.from_string("i=11293") + attrs.DisplayName = LocalizedText("PerformInsertReplace") + attrs.DataType = NumericNodeId(11293, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3031") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3031, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3031") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3031, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3031") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3006") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3031, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3006, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3032") - node.BrowseName = ua.QualifiedName.from_string("NewValues") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3006") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3032, 0) + node.BrowseName = QualifiedName('NewValues', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3006, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("NewValues") - attrs.DataType = ua.NodeId.from_string("i=23") + attrs.DisplayName = LocalizedText("NewValues") + attrs.DataType = NumericNodeId(23, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3032") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3032, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3032") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3032, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3032") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3006") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3032, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3006, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3033") - node.BrowseName = ua.QualifiedName.from_string("OldValues") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3006") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3033, 0) + node.BrowseName = QualifiedName('OldValues', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3006, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OldValues") - attrs.DataType = ua.NodeId.from_string("i=23") + attrs.DisplayName = LocalizedText("OldValues") + attrs.DataType = NumericNodeId(23, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3033") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3033, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3033") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3033, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3033") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3006") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3033, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3006, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3012") - node.BrowseName = ua.QualifiedName.from_string("AuditHistoryDeleteEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2104") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(3012, 0) + node.BrowseName = QualifiedName('AuditHistoryDeleteEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2104, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditHistoryDeleteEventType") + attrs.DisplayName = LocalizedText("AuditHistoryDeleteEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3012") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3027") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3012, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3027, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=3012") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2104") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(3012, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2104, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3027") - node.BrowseName = ua.QualifiedName.from_string("UpdatedNode") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3012") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3027, 0) + node.BrowseName = QualifiedName('UpdatedNode', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3012, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("UpdatedNode") + attrs.DisplayName = LocalizedText("UpdatedNode") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -2696,85 +2698,85 @@ def create_standard_address_space_Part11(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3027") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3027, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3027") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3027, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3027") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3012") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3027, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3012, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3014") - node.BrowseName = ua.QualifiedName.from_string("AuditHistoryRawModifyDeleteEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=3012") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(3014, 0) + node.BrowseName = QualifiedName('AuditHistoryRawModifyDeleteEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(3012, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditHistoryRawModifyDeleteEventType") + attrs.DisplayName = LocalizedText("AuditHistoryRawModifyDeleteEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3014") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3015") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3014, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3015, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3014") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3016") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3014, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3016, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3014") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3017") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3014, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3017, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3014") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3034") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3014, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3034, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=3014") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3012") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(3014, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3012, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3015") - node.BrowseName = ua.QualifiedName.from_string("IsDeleteModified") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3014") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3015, 0) + node.BrowseName = QualifiedName('IsDeleteModified', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3014, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("IsDeleteModified") + attrs.DisplayName = LocalizedText("IsDeleteModified") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -2782,291 +2784,291 @@ def create_standard_address_space_Part11(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3015") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3015, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3015") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3015, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3015") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3014") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3015, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3014, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3016") - node.BrowseName = ua.QualifiedName.from_string("StartTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3014") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3016, 0) + node.BrowseName = QualifiedName('StartTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3014, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("StartTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("StartTime") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3016") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3016, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3016") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3016, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3016") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3014") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3016, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3014, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3017") - node.BrowseName = ua.QualifiedName.from_string("EndTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3014") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3017, 0) + node.BrowseName = QualifiedName('EndTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3014, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EndTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("EndTime") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3017") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3017, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3017") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3017, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3017") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3014") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3017, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3014, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3034") - node.BrowseName = ua.QualifiedName.from_string("OldValues") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3014") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3034, 0) + node.BrowseName = QualifiedName('OldValues', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3014, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OldValues") - attrs.DataType = ua.NodeId.from_string("i=23") + attrs.DisplayName = LocalizedText("OldValues") + attrs.DataType = NumericNodeId(23, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3034") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3034, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3034") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3034, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3034") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3014") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3034, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3014, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3019") - node.BrowseName = ua.QualifiedName.from_string("AuditHistoryAtTimeDeleteEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=3012") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(3019, 0) + node.BrowseName = QualifiedName('AuditHistoryAtTimeDeleteEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(3012, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditHistoryAtTimeDeleteEventType") + attrs.DisplayName = LocalizedText("AuditHistoryAtTimeDeleteEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3019") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3020") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3019, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3020, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3019") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3021") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3019, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3021, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=3019") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3012") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(3019, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3012, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3020") - node.BrowseName = ua.QualifiedName.from_string("ReqTimes") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3019") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3020, 0) + node.BrowseName = QualifiedName('ReqTimes', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3019, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ReqTimes") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("ReqTimes") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3020") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3020, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3020") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3020, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3020") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3019") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3020, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3019, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3021") - node.BrowseName = ua.QualifiedName.from_string("OldValues") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3019") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3021, 0) + node.BrowseName = QualifiedName('OldValues', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3019, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OldValues") - attrs.DataType = ua.NodeId.from_string("i=23") + attrs.DisplayName = LocalizedText("OldValues") + attrs.DataType = NumericNodeId(23, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3021") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3021, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3021") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3021, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3021") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3019") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3021, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3019, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3022") - node.BrowseName = ua.QualifiedName.from_string("AuditHistoryEventDeleteEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=3012") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(3022, 0) + node.BrowseName = QualifiedName('AuditHistoryEventDeleteEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(3012, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditHistoryEventDeleteEventType") + attrs.DisplayName = LocalizedText("AuditHistoryEventDeleteEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3022") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3023") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3022, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3023, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3022") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3024") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3022, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3024, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=3022") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3012") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(3022, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3012, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3023") - node.BrowseName = ua.QualifiedName.from_string("EventIds") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3022") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3023, 0) + node.BrowseName = QualifiedName('EventIds', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3022, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EventIds") + attrs.DisplayName = LocalizedText("EventIds") attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) attrs.ValueRank = 1 node.NodeAttributes = attrs @@ -3074,246 +3076,246 @@ def create_standard_address_space_Part11(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3023") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3023, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3023") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3023, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3023") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3022") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3023, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3022, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3024") - node.BrowseName = ua.QualifiedName.from_string("OldValues") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3022") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3024, 0) + node.BrowseName = QualifiedName('OldValues', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3022, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OldValues") - attrs.DataType = ua.NodeId.from_string("i=920") + attrs.DisplayName = LocalizedText("OldValues") + attrs.DataType = NumericNodeId(920, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3024") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3024, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3024") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3024, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3024") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3022") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3024, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3022, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=891") - node.BrowseName = ua.QualifiedName.from_string("Annotation") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(891, 0) + node.BrowseName = QualifiedName('Annotation', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("Annotation") + attrs.DisplayName = LocalizedText("Annotation") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=891") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(891, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=890") - node.BrowseName = ua.QualifiedName.from_string("ExceptionDeviationFormat") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=29") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(890, 0) + node.BrowseName = QualifiedName('ExceptionDeviationFormat', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(29, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ExceptionDeviationFormat") + attrs.DisplayName = LocalizedText("ExceptionDeviationFormat") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=890") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7614") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(890, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7614, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=890") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=29") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(890, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(29, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7614") - node.BrowseName = ua.QualifiedName.from_string("EnumStrings") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=890") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(7614, 0) + node.BrowseName = QualifiedName('EnumStrings', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(890, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EnumStrings") + attrs.DisplayName = LocalizedText("EnumStrings") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.Value = [ua.LocalizedText('AbsoluteValue'),ua.LocalizedText('PercentOfValue'),ua.LocalizedText('PercentOfRange'),ua.LocalizedText('PercentOfEURange'),ua.LocalizedText('Unknown')] + attrs.Value = [LocalizedText('AbsoluteValue'),LocalizedText('PercentOfValue'),LocalizedText('PercentOfRange'),LocalizedText('PercentOfEURange'),LocalizedText('Unknown')] attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7614") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(7614, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=7614") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(7614, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=7614") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=890") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(7614, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(890, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=893") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=891") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(893, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(891, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=893") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=891") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(893, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(891, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=893") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8244") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(893, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8244, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=893") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(893, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=892") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=891") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(892, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(891, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=892") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=891") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(892, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(891, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=892") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8879") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(892, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8879, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=892") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(892, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15382") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=891") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15382, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(891, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15382") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=891") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15382, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(891, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15382") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15382, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) diff --git a/opcua/server/standard_address_space/standard_address_space_part13.py b/opcua/server/standard_address_space/standard_address_space_part13.py index 489a85323..6920afb09 100644 --- a/opcua/server/standard_address_space/standard_address_space_part13.py +++ b/opcua/server/standard_address_space/standard_address_space_part13.py @@ -6,69 +6,71 @@ """ from opcua import ua +from opcua.ua import NodeId, QualifiedName, NumericNodeId, StringNodeId, GuidNodeId +from opcua.ua import NodeClass, LocalizedText def create_standard_address_space_Part13(server): node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11187") - node.BrowseName = ua.QualifiedName.from_string("AggregateConfigurationType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=58") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(11187, 0) + node.BrowseName = QualifiedName('AggregateConfigurationType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(58, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AggregateConfigurationType") + attrs.DisplayName = LocalizedText("AggregateConfigurationType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11187") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11188") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11187, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11188, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11187") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11189") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11187, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11189, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11187") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11190") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11187, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11190, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11187") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11191") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11187, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11191, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=11187") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=58") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(11187, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(58, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11188") - node.BrowseName = ua.QualifiedName.from_string("TreatUncertainAsBad") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11187") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11188, 0) + node.BrowseName = QualifiedName('TreatUncertainAsBad', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11187, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TreatUncertainAsBad") + attrs.DisplayName = LocalizedText("TreatUncertainAsBad") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -76,36 +78,36 @@ def create_standard_address_space_Part13(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11188") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11188, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11188") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11188, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11188") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11187") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11188, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11187, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11189") - node.BrowseName = ua.QualifiedName.from_string("PercentDataBad") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11187") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11189, 0) + node.BrowseName = QualifiedName('PercentDataBad', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11187, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("PercentDataBad") + attrs.DisplayName = LocalizedText("PercentDataBad") attrs.DataType = ua.NodeId(ua.ObjectIds.Byte) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -113,36 +115,36 @@ def create_standard_address_space_Part13(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11189") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11189, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11189") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11189, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11189") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11187") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11189, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11187, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11190") - node.BrowseName = ua.QualifiedName.from_string("PercentDataGood") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11187") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11190, 0) + node.BrowseName = QualifiedName('PercentDataGood', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11187, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("PercentDataGood") + attrs.DisplayName = LocalizedText("PercentDataGood") attrs.DataType = ua.NodeId(ua.ObjectIds.Byte) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -150,36 +152,36 @@ def create_standard_address_space_Part13(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11190") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11190, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11190") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11190, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11190") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11187") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11190, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11187, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11191") - node.BrowseName = ua.QualifiedName.from_string("UseSlopedExtrapolation") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11187") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11191, 0) + node.BrowseName = QualifiedName('UseSlopedExtrapolation', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11187, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("UseSlopedExtrapolation") + attrs.DisplayName = LocalizedText("UseSlopedExtrapolation") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -187,800 +189,800 @@ def create_standard_address_space_Part13(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11191") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11191, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11191") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11191, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11191") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11187") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11191, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11187, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2341") - node.BrowseName = ua.QualifiedName.from_string("Interpolative") - node.NodeClass = ua.NodeClass.Object - node.TypeDefinition = ua.NodeId.from_string("i=2340") + node.RequestedNewNodeId = NumericNodeId(2341, 0) + node.BrowseName = QualifiedName('Interpolative', 0) + node.NodeClass = NodeClass.Object + node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("At the beginning of each interval, retrieve the calculated value from the data points on either side of the requested timestamp.") - attrs.DisplayName = ua.LocalizedText("Interpolative") + attrs.Description = LocalizedText("At the beginning of each interval, retrieve the calculated value from the data points on either side of the requested timestamp.") + attrs.DisplayName = LocalizedText("Interpolative") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2341") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2340") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2341, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2342") - node.BrowseName = ua.QualifiedName.from_string("Average") - node.NodeClass = ua.NodeClass.Object - node.TypeDefinition = ua.NodeId.from_string("i=2340") + node.RequestedNewNodeId = NumericNodeId(2342, 0) + node.BrowseName = QualifiedName('Average', 0) + node.NodeClass = NodeClass.Object + node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Retrieve the average value of the data over the interval.") - attrs.DisplayName = ua.LocalizedText("Average") + attrs.Description = LocalizedText("Retrieve the average value of the data over the interval.") + attrs.DisplayName = LocalizedText("Average") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2342") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2340") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2342, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2343") - node.BrowseName = ua.QualifiedName.from_string("TimeAverage") - node.NodeClass = ua.NodeClass.Object - node.TypeDefinition = ua.NodeId.from_string("i=2340") + node.RequestedNewNodeId = NumericNodeId(2343, 0) + node.BrowseName = QualifiedName('TimeAverage', 0) + node.NodeClass = NodeClass.Object + node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Retrieve the time weighted average data over the interval using Interpolated Bounding Values.") - attrs.DisplayName = ua.LocalizedText("TimeAverage") + attrs.Description = LocalizedText("Retrieve the time weighted average data over the interval using Interpolated Bounding Values.") + attrs.DisplayName = LocalizedText("TimeAverage") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2343") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2340") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2343, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11285") - node.BrowseName = ua.QualifiedName.from_string("TimeAverage2") - node.NodeClass = ua.NodeClass.Object - node.TypeDefinition = ua.NodeId.from_string("i=2340") + node.RequestedNewNodeId = NumericNodeId(11285, 0) + node.BrowseName = QualifiedName('TimeAverage2', 0) + node.NodeClass = NodeClass.Object + node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Retrieve the time weighted average data over the interval using Simple Bounding Values.") - attrs.DisplayName = ua.LocalizedText("TimeAverage2") + attrs.Description = LocalizedText("Retrieve the time weighted average data over the interval using Simple Bounding Values.") + attrs.DisplayName = LocalizedText("TimeAverage2") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11285") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2340") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11285, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2344") - node.BrowseName = ua.QualifiedName.from_string("Total") - node.NodeClass = ua.NodeClass.Object - node.TypeDefinition = ua.NodeId.from_string("i=2340") + node.RequestedNewNodeId = NumericNodeId(2344, 0) + node.BrowseName = QualifiedName('Total', 0) + node.NodeClass = NodeClass.Object + node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Retrieve the total (time integral) of the data over the interval using Interpolated Bounding Values.") - attrs.DisplayName = ua.LocalizedText("Total") + attrs.Description = LocalizedText("Retrieve the total (time integral) of the data over the interval using Interpolated Bounding Values.") + attrs.DisplayName = LocalizedText("Total") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2344") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2340") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2344, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11304") - node.BrowseName = ua.QualifiedName.from_string("Total2") - node.NodeClass = ua.NodeClass.Object - node.TypeDefinition = ua.NodeId.from_string("i=2340") + node.RequestedNewNodeId = NumericNodeId(11304, 0) + node.BrowseName = QualifiedName('Total2', 0) + node.NodeClass = NodeClass.Object + node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Retrieve the total (time integral) of the data over the interval using Simple Bounding Values.") - attrs.DisplayName = ua.LocalizedText("Total2") + attrs.Description = LocalizedText("Retrieve the total (time integral) of the data over the interval using Simple Bounding Values.") + attrs.DisplayName = LocalizedText("Total2") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11304") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2340") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11304, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2346") - node.BrowseName = ua.QualifiedName.from_string("Minimum") - node.NodeClass = ua.NodeClass.Object - node.TypeDefinition = ua.NodeId.from_string("i=2340") + node.RequestedNewNodeId = NumericNodeId(2346, 0) + node.BrowseName = QualifiedName('Minimum', 0) + node.NodeClass = NodeClass.Object + node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Retrieve the minimum raw value in the interval with the timestamp of the start of the interval.") - attrs.DisplayName = ua.LocalizedText("Minimum") + attrs.Description = LocalizedText("Retrieve the minimum raw value in the interval with the timestamp of the start of the interval.") + attrs.DisplayName = LocalizedText("Minimum") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2346") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2340") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2346, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2347") - node.BrowseName = ua.QualifiedName.from_string("Maximum") - node.NodeClass = ua.NodeClass.Object - node.TypeDefinition = ua.NodeId.from_string("i=2340") + node.RequestedNewNodeId = NumericNodeId(2347, 0) + node.BrowseName = QualifiedName('Maximum', 0) + node.NodeClass = NodeClass.Object + node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Retrieve the maximum raw value in the interval with the timestamp of the start of the interval.") - attrs.DisplayName = ua.LocalizedText("Maximum") + attrs.Description = LocalizedText("Retrieve the maximum raw value in the interval with the timestamp of the start of the interval.") + attrs.DisplayName = LocalizedText("Maximum") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2347") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2340") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2347, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2348") - node.BrowseName = ua.QualifiedName.from_string("MinimumActualTime") - node.NodeClass = ua.NodeClass.Object - node.TypeDefinition = ua.NodeId.from_string("i=2340") + node.RequestedNewNodeId = NumericNodeId(2348, 0) + node.BrowseName = QualifiedName('MinimumActualTime', 0) + node.NodeClass = NodeClass.Object + node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Retrieve the minimum value in the interval and the Timestamp of the minimum value.") - attrs.DisplayName = ua.LocalizedText("MinimumActualTime") + attrs.Description = LocalizedText("Retrieve the minimum value in the interval and the Timestamp of the minimum value.") + attrs.DisplayName = LocalizedText("MinimumActualTime") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2348") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2340") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2348, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2349") - node.BrowseName = ua.QualifiedName.from_string("MaximumActualTime") - node.NodeClass = ua.NodeClass.Object - node.TypeDefinition = ua.NodeId.from_string("i=2340") + node.RequestedNewNodeId = NumericNodeId(2349, 0) + node.BrowseName = QualifiedName('MaximumActualTime', 0) + node.NodeClass = NodeClass.Object + node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Retrieve the maximum value in the interval and the Timestamp of the maximum value.") - attrs.DisplayName = ua.LocalizedText("MaximumActualTime") + attrs.Description = LocalizedText("Retrieve the maximum value in the interval and the Timestamp of the maximum value.") + attrs.DisplayName = LocalizedText("MaximumActualTime") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2349") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2340") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2349, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2350") - node.BrowseName = ua.QualifiedName.from_string("Range") - node.NodeClass = ua.NodeClass.Object - node.TypeDefinition = ua.NodeId.from_string("i=2340") + node.RequestedNewNodeId = NumericNodeId(2350, 0) + node.BrowseName = QualifiedName('Range', 0) + node.NodeClass = NodeClass.Object + node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Retrieve the difference between the minimum and maximum Value over the interval.") - attrs.DisplayName = ua.LocalizedText("Range") + attrs.Description = LocalizedText("Retrieve the difference between the minimum and maximum Value over the interval.") + attrs.DisplayName = LocalizedText("Range") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2350") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2340") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2350, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11286") - node.BrowseName = ua.QualifiedName.from_string("Minimum2") - node.NodeClass = ua.NodeClass.Object - node.TypeDefinition = ua.NodeId.from_string("i=2340") + node.RequestedNewNodeId = NumericNodeId(11286, 0) + node.BrowseName = QualifiedName('Minimum2', 0) + node.NodeClass = NodeClass.Object + node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Retrieve the minimum value in the interval including the Simple Bounding Values.") - attrs.DisplayName = ua.LocalizedText("Minimum2") + attrs.Description = LocalizedText("Retrieve the minimum value in the interval including the Simple Bounding Values.") + attrs.DisplayName = LocalizedText("Minimum2") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11286") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2340") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11286, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11287") - node.BrowseName = ua.QualifiedName.from_string("Maximum2") - node.NodeClass = ua.NodeClass.Object - node.TypeDefinition = ua.NodeId.from_string("i=2340") + node.RequestedNewNodeId = NumericNodeId(11287, 0) + node.BrowseName = QualifiedName('Maximum2', 0) + node.NodeClass = NodeClass.Object + node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Retrieve the maximum value in the interval including the Simple Bounding Values.") - attrs.DisplayName = ua.LocalizedText("Maximum2") + attrs.Description = LocalizedText("Retrieve the maximum value in the interval including the Simple Bounding Values.") + attrs.DisplayName = LocalizedText("Maximum2") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11287") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2340") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11287, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11305") - node.BrowseName = ua.QualifiedName.from_string("MinimumActualTime2") - node.NodeClass = ua.NodeClass.Object - node.TypeDefinition = ua.NodeId.from_string("i=2340") + node.RequestedNewNodeId = NumericNodeId(11305, 0) + node.BrowseName = QualifiedName('MinimumActualTime2', 0) + node.NodeClass = NodeClass.Object + node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Retrieve the minimum value with the actual timestamp including the Simple Bounding Values.") - attrs.DisplayName = ua.LocalizedText("MinimumActualTime2") + attrs.Description = LocalizedText("Retrieve the minimum value with the actual timestamp including the Simple Bounding Values.") + attrs.DisplayName = LocalizedText("MinimumActualTime2") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11305") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2340") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11305, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11306") - node.BrowseName = ua.QualifiedName.from_string("MaximumActualTime2") - node.NodeClass = ua.NodeClass.Object - node.TypeDefinition = ua.NodeId.from_string("i=2340") + node.RequestedNewNodeId = NumericNodeId(11306, 0) + node.BrowseName = QualifiedName('MaximumActualTime2', 0) + node.NodeClass = NodeClass.Object + node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Retrieve the maximum value with the actual timestamp including the Simple Bounding Values.") - attrs.DisplayName = ua.LocalizedText("MaximumActualTime2") + attrs.Description = LocalizedText("Retrieve the maximum value with the actual timestamp including the Simple Bounding Values.") + attrs.DisplayName = LocalizedText("MaximumActualTime2") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11306") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2340") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11306, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11288") - node.BrowseName = ua.QualifiedName.from_string("Range2") - node.NodeClass = ua.NodeClass.Object - node.TypeDefinition = ua.NodeId.from_string("i=2340") + node.RequestedNewNodeId = NumericNodeId(11288, 0) + node.BrowseName = QualifiedName('Range2', 0) + node.NodeClass = NodeClass.Object + node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Retrieve the difference between the Minimum2 and Maximum2 value over the interval.") - attrs.DisplayName = ua.LocalizedText("Range2") + attrs.Description = LocalizedText("Retrieve the difference between the Minimum2 and Maximum2 value over the interval.") + attrs.DisplayName = LocalizedText("Range2") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11288") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2340") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11288, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2351") - node.BrowseName = ua.QualifiedName.from_string("AnnotationCount") - node.NodeClass = ua.NodeClass.Object - node.TypeDefinition = ua.NodeId.from_string("i=2340") + node.RequestedNewNodeId = NumericNodeId(2351, 0) + node.BrowseName = QualifiedName('AnnotationCount', 0) + node.NodeClass = NodeClass.Object + node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Retrieve the number of Annotations in the interval.") - attrs.DisplayName = ua.LocalizedText("AnnotationCount") + attrs.Description = LocalizedText("Retrieve the number of Annotations in the interval.") + attrs.DisplayName = LocalizedText("AnnotationCount") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2351") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2340") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2351, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2352") - node.BrowseName = ua.QualifiedName.from_string("Count") - node.NodeClass = ua.NodeClass.Object - node.TypeDefinition = ua.NodeId.from_string("i=2340") + node.RequestedNewNodeId = NumericNodeId(2352, 0) + node.BrowseName = QualifiedName('Count', 0) + node.NodeClass = NodeClass.Object + node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Retrieve the number of raw values over the interval.") - attrs.DisplayName = ua.LocalizedText("Count") + attrs.Description = LocalizedText("Retrieve the number of raw values over the interval.") + attrs.DisplayName = LocalizedText("Count") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2352") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2340") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2352, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11307") - node.BrowseName = ua.QualifiedName.from_string("DurationInStateZero") - node.NodeClass = ua.NodeClass.Object - node.TypeDefinition = ua.NodeId.from_string("i=2340") + node.RequestedNewNodeId = NumericNodeId(11307, 0) + node.BrowseName = QualifiedName('DurationInStateZero', 0) + node.NodeClass = NodeClass.Object + node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Retrieve the time a Boolean or numeric was in a zero state using Simple Bounding Values.") - attrs.DisplayName = ua.LocalizedText("DurationInStateZero") + attrs.Description = LocalizedText("Retrieve the time a Boolean or numeric was in a zero state using Simple Bounding Values.") + attrs.DisplayName = LocalizedText("DurationInStateZero") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11307") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2340") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11307, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11308") - node.BrowseName = ua.QualifiedName.from_string("DurationInStateNonZero") - node.NodeClass = ua.NodeClass.Object - node.TypeDefinition = ua.NodeId.from_string("i=2340") + node.RequestedNewNodeId = NumericNodeId(11308, 0) + node.BrowseName = QualifiedName('DurationInStateNonZero', 0) + node.NodeClass = NodeClass.Object + node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Retrieve the time a Boolean or numeric was in a non-zero state using Simple Bounding Values.") - attrs.DisplayName = ua.LocalizedText("DurationInStateNonZero") + attrs.Description = LocalizedText("Retrieve the time a Boolean or numeric was in a non-zero state using Simple Bounding Values.") + attrs.DisplayName = LocalizedText("DurationInStateNonZero") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11308") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2340") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11308, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2355") - node.BrowseName = ua.QualifiedName.from_string("NumberOfTransitions") - node.NodeClass = ua.NodeClass.Object - node.TypeDefinition = ua.NodeId.from_string("i=2340") + node.RequestedNewNodeId = NumericNodeId(2355, 0) + node.BrowseName = QualifiedName('NumberOfTransitions', 0) + node.NodeClass = NodeClass.Object + node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Retrieve the number of changes between zero and non-zero that a Boolean or Numeric value experienced in the interval.") - attrs.DisplayName = ua.LocalizedText("NumberOfTransitions") + attrs.Description = LocalizedText("Retrieve the number of changes between zero and non-zero that a Boolean or Numeric value experienced in the interval.") + attrs.DisplayName = LocalizedText("NumberOfTransitions") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2355") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2340") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2355, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2357") - node.BrowseName = ua.QualifiedName.from_string("Start") - node.NodeClass = ua.NodeClass.Object - node.TypeDefinition = ua.NodeId.from_string("i=2340") + node.RequestedNewNodeId = NumericNodeId(2357, 0) + node.BrowseName = QualifiedName('Start', 0) + node.NodeClass = NodeClass.Object + node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Retrieve the value at the beginning of the interval using Interpolated Bounding Values.") - attrs.DisplayName = ua.LocalizedText("Start") + attrs.Description = LocalizedText("Retrieve the value at the beginning of the interval using Interpolated Bounding Values.") + attrs.DisplayName = LocalizedText("Start") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2357") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2340") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2357, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2358") - node.BrowseName = ua.QualifiedName.from_string("End") - node.NodeClass = ua.NodeClass.Object - node.TypeDefinition = ua.NodeId.from_string("i=2340") + node.RequestedNewNodeId = NumericNodeId(2358, 0) + node.BrowseName = QualifiedName('End', 0) + node.NodeClass = NodeClass.Object + node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Retrieve the value at the end of the interval using Interpolated Bounding Values.") - attrs.DisplayName = ua.LocalizedText("End") + attrs.Description = LocalizedText("Retrieve the value at the end of the interval using Interpolated Bounding Values.") + attrs.DisplayName = LocalizedText("End") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2358") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2340") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2358, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2359") - node.BrowseName = ua.QualifiedName.from_string("Delta") - node.NodeClass = ua.NodeClass.Object - node.TypeDefinition = ua.NodeId.from_string("i=2340") + node.RequestedNewNodeId = NumericNodeId(2359, 0) + node.BrowseName = QualifiedName('Delta', 0) + node.NodeClass = NodeClass.Object + node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Retrieve the difference between the Start and End value in the interval.") - attrs.DisplayName = ua.LocalizedText("Delta") + attrs.Description = LocalizedText("Retrieve the difference between the Start and End value in the interval.") + attrs.DisplayName = LocalizedText("Delta") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2359") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2340") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2359, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11505") - node.BrowseName = ua.QualifiedName.from_string("StartBound") - node.NodeClass = ua.NodeClass.Object - node.TypeDefinition = ua.NodeId.from_string("i=2340") + node.RequestedNewNodeId = NumericNodeId(11505, 0) + node.BrowseName = QualifiedName('StartBound', 0) + node.NodeClass = NodeClass.Object + node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Retrieve the value at the beginning of the interval using Simple Bounding Values.") - attrs.DisplayName = ua.LocalizedText("StartBound") + attrs.Description = LocalizedText("Retrieve the value at the beginning of the interval using Simple Bounding Values.") + attrs.DisplayName = LocalizedText("StartBound") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11505") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2340") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11505, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11506") - node.BrowseName = ua.QualifiedName.from_string("EndBound") - node.NodeClass = ua.NodeClass.Object - node.TypeDefinition = ua.NodeId.from_string("i=2340") + node.RequestedNewNodeId = NumericNodeId(11506, 0) + node.BrowseName = QualifiedName('EndBound', 0) + node.NodeClass = NodeClass.Object + node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Retrieve the value at the end of the interval using Simple Bounding Values.") - attrs.DisplayName = ua.LocalizedText("EndBound") + attrs.Description = LocalizedText("Retrieve the value at the end of the interval using Simple Bounding Values.") + attrs.DisplayName = LocalizedText("EndBound") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11506") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2340") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11506, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11507") - node.BrowseName = ua.QualifiedName.from_string("DeltaBounds") - node.NodeClass = ua.NodeClass.Object - node.TypeDefinition = ua.NodeId.from_string("i=2340") + node.RequestedNewNodeId = NumericNodeId(11507, 0) + node.BrowseName = QualifiedName('DeltaBounds', 0) + node.NodeClass = NodeClass.Object + node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Retrieve the difference between the StartBound and EndBound value in the interval.") - attrs.DisplayName = ua.LocalizedText("DeltaBounds") + attrs.Description = LocalizedText("Retrieve the difference between the StartBound and EndBound value in the interval.") + attrs.DisplayName = LocalizedText("DeltaBounds") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11507") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2340") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11507, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2360") - node.BrowseName = ua.QualifiedName.from_string("DurationGood") - node.NodeClass = ua.NodeClass.Object - node.TypeDefinition = ua.NodeId.from_string("i=2340") + node.RequestedNewNodeId = NumericNodeId(2360, 0) + node.BrowseName = QualifiedName('DurationGood', 0) + node.NodeClass = NodeClass.Object + node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Retrieve the total duration of time in the interval during which the data is good.") - attrs.DisplayName = ua.LocalizedText("DurationGood") + attrs.Description = LocalizedText("Retrieve the total duration of time in the interval during which the data is good.") + attrs.DisplayName = LocalizedText("DurationGood") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2360") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2340") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2360, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2361") - node.BrowseName = ua.QualifiedName.from_string("DurationBad") - node.NodeClass = ua.NodeClass.Object - node.TypeDefinition = ua.NodeId.from_string("i=2340") + node.RequestedNewNodeId = NumericNodeId(2361, 0) + node.BrowseName = QualifiedName('DurationBad', 0) + node.NodeClass = NodeClass.Object + node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Retrieve the total duration of time in the interval during which the data is bad.") - attrs.DisplayName = ua.LocalizedText("DurationBad") + attrs.Description = LocalizedText("Retrieve the total duration of time in the interval during which the data is bad.") + attrs.DisplayName = LocalizedText("DurationBad") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2361") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2340") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2361, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2362") - node.BrowseName = ua.QualifiedName.from_string("PercentGood") - node.NodeClass = ua.NodeClass.Object - node.TypeDefinition = ua.NodeId.from_string("i=2340") + node.RequestedNewNodeId = NumericNodeId(2362, 0) + node.BrowseName = QualifiedName('PercentGood', 0) + node.NodeClass = NodeClass.Object + node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Retrieve the percent of data (0 to 100) in the interval which has a good StatusCode.") - attrs.DisplayName = ua.LocalizedText("PercentGood") + attrs.Description = LocalizedText("Retrieve the percent of data (0 to 100) in the interval which has a good StatusCode.") + attrs.DisplayName = LocalizedText("PercentGood") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2362") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2340") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2362, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2363") - node.BrowseName = ua.QualifiedName.from_string("PercentBad") - node.NodeClass = ua.NodeClass.Object - node.TypeDefinition = ua.NodeId.from_string("i=2340") + node.RequestedNewNodeId = NumericNodeId(2363, 0) + node.BrowseName = QualifiedName('PercentBad', 0) + node.NodeClass = NodeClass.Object + node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Retrieve the percent of data (0 to 100) in the interval which has a bad StatusCode.") - attrs.DisplayName = ua.LocalizedText("PercentBad") + attrs.Description = LocalizedText("Retrieve the percent of data (0 to 100) in the interval which has a bad StatusCode.") + attrs.DisplayName = LocalizedText("PercentBad") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2363") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2340") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2363, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2364") - node.BrowseName = ua.QualifiedName.from_string("WorstQuality") - node.NodeClass = ua.NodeClass.Object - node.TypeDefinition = ua.NodeId.from_string("i=2340") + node.RequestedNewNodeId = NumericNodeId(2364, 0) + node.BrowseName = QualifiedName('WorstQuality', 0) + node.NodeClass = NodeClass.Object + node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Retrieve the worst StatusCode of data in the interval.") - attrs.DisplayName = ua.LocalizedText("WorstQuality") + attrs.Description = LocalizedText("Retrieve the worst StatusCode of data in the interval.") + attrs.DisplayName = LocalizedText("WorstQuality") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2364") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2340") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2364, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11292") - node.BrowseName = ua.QualifiedName.from_string("WorstQuality2") - node.NodeClass = ua.NodeClass.Object - node.TypeDefinition = ua.NodeId.from_string("i=2340") + node.RequestedNewNodeId = NumericNodeId(11292, 0) + node.BrowseName = QualifiedName('WorstQuality2', 0) + node.NodeClass = NodeClass.Object + node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Retrieve the worst StatusCode of data in the interval including the Simple Bounding Values.") - attrs.DisplayName = ua.LocalizedText("WorstQuality2") + attrs.Description = LocalizedText("Retrieve the worst StatusCode of data in the interval including the Simple Bounding Values.") + attrs.DisplayName = LocalizedText("WorstQuality2") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11292") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2340") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11292, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11426") - node.BrowseName = ua.QualifiedName.from_string("StandardDeviationSample") - node.NodeClass = ua.NodeClass.Object - node.TypeDefinition = ua.NodeId.from_string("i=2340") + node.RequestedNewNodeId = NumericNodeId(11426, 0) + node.BrowseName = QualifiedName('StandardDeviationSample', 0) + node.NodeClass = NodeClass.Object + node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Retrieve the standard deviation for the interval for a sample of the population (n-1).") - attrs.DisplayName = ua.LocalizedText("StandardDeviationSample") + attrs.Description = LocalizedText("Retrieve the standard deviation for the interval for a sample of the population (n-1).") + attrs.DisplayName = LocalizedText("StandardDeviationSample") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11426") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2340") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11426, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11427") - node.BrowseName = ua.QualifiedName.from_string("StandardDeviationPopulation") - node.NodeClass = ua.NodeClass.Object - node.TypeDefinition = ua.NodeId.from_string("i=2340") + node.RequestedNewNodeId = NumericNodeId(11427, 0) + node.BrowseName = QualifiedName('StandardDeviationPopulation', 0) + node.NodeClass = NodeClass.Object + node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Retrieve the standard deviation for the interval for a complete population (n) which includes Simple Bounding Values.") - attrs.DisplayName = ua.LocalizedText("StandardDeviationPopulation") + attrs.Description = LocalizedText("Retrieve the standard deviation for the interval for a complete population (n) which includes Simple Bounding Values.") + attrs.DisplayName = LocalizedText("StandardDeviationPopulation") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11427") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2340") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11427, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11428") - node.BrowseName = ua.QualifiedName.from_string("VarianceSample") - node.NodeClass = ua.NodeClass.Object - node.TypeDefinition = ua.NodeId.from_string("i=2340") + node.RequestedNewNodeId = NumericNodeId(11428, 0) + node.BrowseName = QualifiedName('VarianceSample', 0) + node.NodeClass = NodeClass.Object + node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Retrieve the variance for the interval as calculated by the StandardDeviationSample.") - attrs.DisplayName = ua.LocalizedText("VarianceSample") + attrs.Description = LocalizedText("Retrieve the variance for the interval as calculated by the StandardDeviationSample.") + attrs.DisplayName = LocalizedText("VarianceSample") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11428") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2340") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11428, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11429") - node.BrowseName = ua.QualifiedName.from_string("VariancePopulation") - node.NodeClass = ua.NodeClass.Object - node.TypeDefinition = ua.NodeId.from_string("i=2340") + node.RequestedNewNodeId = NumericNodeId(11429, 0) + node.BrowseName = QualifiedName('VariancePopulation', 0) + node.NodeClass = NodeClass.Object + node.TypeDefinition = NumericNodeId(2340, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Retrieve the variance for the interval as calculated by the StandardDeviationPopulation which includes Simple Bounding Values.") - attrs.DisplayName = ua.LocalizedText("VariancePopulation") + attrs.Description = LocalizedText("Retrieve the variance for the interval as calculated by the StandardDeviationPopulation which includes Simple Bounding Values.") + attrs.DisplayName = LocalizedText("VariancePopulation") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11429") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2340") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11429, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2340, 0) refs.append(ref) server.add_references(refs) diff --git a/opcua/server/standard_address_space/standard_address_space_part3.py b/opcua/server/standard_address_space/standard_address_space_part3.py index 2a2bfaad4..d9c411f03 100644 --- a/opcua/server/standard_address_space/standard_address_space_part3.py +++ b/opcua/server/standard_address_space/standard_address_space_part3.py @@ -6,1044 +6,1046 @@ """ from opcua import ua +from opcua.ua import NodeId, QualifiedName, NumericNodeId, StringNodeId, GuidNodeId +from opcua.ua import NodeClass, LocalizedText def create_standard_address_space_Part3(server): node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3062") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.TypeDefinition = ua.NodeId.from_string("i=58") + node.RequestedNewNodeId = NumericNodeId(3062, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.TypeDefinition = NumericNodeId(58, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("The default binary encoding for a data type.") - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.Description = LocalizedText("The default binary encoding for a data type.") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3062") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=58") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3062, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(58, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3063") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.TypeDefinition = ua.NodeId.from_string("i=58") + node.RequestedNewNodeId = NumericNodeId(3063, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.TypeDefinition = NumericNodeId(58, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("The default XML encoding for a data type.") - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.Description = LocalizedText("The default XML encoding for a data type.") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3063") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=58") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3063, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(58, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=24") - node.BrowseName = ua.QualifiedName.from_string("BaseDataType") - node.NodeClass = ua.NodeClass.DataType + node.RequestedNewNodeId = NumericNodeId(24, 0) + node.BrowseName = QualifiedName('BaseDataType', 0) + node.NodeClass = NodeClass.DataType attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("Describes a value that can have any valid DataType.") - attrs.DisplayName = ua.LocalizedText("BaseDataType") + attrs.Description = LocalizedText("Describes a value that can have any valid DataType.") + attrs.DisplayName = LocalizedText("BaseDataType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=26") - node.BrowseName = ua.QualifiedName.from_string("Number") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=24") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(26, 0) + node.BrowseName = QualifiedName('Number', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(24, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("Describes a value that can have any numeric DataType.") - attrs.DisplayName = ua.LocalizedText("Number") + attrs.Description = LocalizedText("Describes a value that can have any numeric DataType.") + attrs.DisplayName = LocalizedText("Number") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=26") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=24") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(26, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(24, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=27") - node.BrowseName = ua.QualifiedName.from_string("Integer") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=26") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(27, 0) + node.BrowseName = QualifiedName('Integer', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(26, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("Describes a value that can have any integer DataType.") - attrs.DisplayName = ua.LocalizedText("Integer") + attrs.Description = LocalizedText("Describes a value that can have any integer DataType.") + attrs.DisplayName = LocalizedText("Integer") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=27") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=26") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(27, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(26, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=28") - node.BrowseName = ua.QualifiedName.from_string("UInteger") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=26") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(28, 0) + node.BrowseName = QualifiedName('UInteger', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(26, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("Describes a value that can have any unsigned integer DataType.") - attrs.DisplayName = ua.LocalizedText("UInteger") + attrs.Description = LocalizedText("Describes a value that can have any unsigned integer DataType.") + attrs.DisplayName = LocalizedText("UInteger") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=28") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=26") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(28, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(26, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=29") - node.BrowseName = ua.QualifiedName.from_string("Enumeration") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=24") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(29, 0) + node.BrowseName = QualifiedName('Enumeration', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(24, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("Describes a value that is an enumerated DataType.") - attrs.DisplayName = ua.LocalizedText("Enumeration") + attrs.Description = LocalizedText("Describes a value that is an enumerated DataType.") + attrs.DisplayName = LocalizedText("Enumeration") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=29") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=24") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(29, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(24, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=1") - node.BrowseName = ua.QualifiedName.from_string("Boolean") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=24") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(1, 0) + node.BrowseName = QualifiedName('Boolean', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(24, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("Describes a value that is either TRUE or FALSE.") - attrs.DisplayName = ua.LocalizedText("Boolean") + attrs.Description = LocalizedText("Describes a value that is either TRUE or FALSE.") + attrs.DisplayName = LocalizedText("Boolean") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=1") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=24") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(1, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(24, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2") - node.BrowseName = ua.QualifiedName.from_string("SByte") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=27") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2, 0) + node.BrowseName = QualifiedName('SByte', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(27, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("Describes a value that is an integer between -128 and 127.") - attrs.DisplayName = ua.LocalizedText("SByte") + attrs.Description = LocalizedText("Describes a value that is an integer between -128 and 127.") + attrs.DisplayName = LocalizedText("SByte") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=27") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(27, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3") - node.BrowseName = ua.QualifiedName.from_string("Byte") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=28") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(3, 0) + node.BrowseName = QualifiedName('Byte', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(28, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("Describes a value that is an integer between 0 and 255.") - attrs.DisplayName = ua.LocalizedText("Byte") + attrs.Description = LocalizedText("Describes a value that is an integer between 0 and 255.") + attrs.DisplayName = LocalizedText("Byte") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=3") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=28") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(3, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(28, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=4") - node.BrowseName = ua.QualifiedName.from_string("Int16") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=27") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(4, 0) + node.BrowseName = QualifiedName('Int16', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(27, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("Describes a value that is an integer between −32,768 and 32,767.") - attrs.DisplayName = ua.LocalizedText("Int16") + attrs.Description = LocalizedText("Describes a value that is an integer between −32,768 and 32,767.") + attrs.DisplayName = LocalizedText("Int16") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=4") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=27") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(4, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(27, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=5") - node.BrowseName = ua.QualifiedName.from_string("UInt16") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=28") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(5, 0) + node.BrowseName = QualifiedName('UInt16', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(28, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("Describes a value that is an integer between 0 and 65535.") - attrs.DisplayName = ua.LocalizedText("UInt16") + attrs.Description = LocalizedText("Describes a value that is an integer between 0 and 65535.") + attrs.DisplayName = LocalizedText("UInt16") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=5") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=28") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(5, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(28, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=6") - node.BrowseName = ua.QualifiedName.from_string("Int32") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=27") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(6, 0) + node.BrowseName = QualifiedName('Int32', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(27, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("Describes a value that is an integer between −2,147,483,648 and 2,147,483,647.") - attrs.DisplayName = ua.LocalizedText("Int32") + attrs.Description = LocalizedText("Describes a value that is an integer between −2,147,483,648 and 2,147,483,647.") + attrs.DisplayName = LocalizedText("Int32") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=6") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=27") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(6, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(27, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7") - node.BrowseName = ua.QualifiedName.from_string("UInt32") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=28") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(7, 0) + node.BrowseName = QualifiedName('UInt32', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(28, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("Describes a value that is an integer between 0 and 4,294,967,295.") - attrs.DisplayName = ua.LocalizedText("UInt32") + attrs.Description = LocalizedText("Describes a value that is an integer between 0 and 4,294,967,295.") + attrs.DisplayName = LocalizedText("UInt32") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=7") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=28") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(7, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(28, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8") - node.BrowseName = ua.QualifiedName.from_string("Int64") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=27") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(8, 0) + node.BrowseName = QualifiedName('Int64', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(27, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("Describes a value that is an integer between −9,223,372,036,854,775,808 and 9,223,372,036,854,775,807.") - attrs.DisplayName = ua.LocalizedText("Int64") + attrs.Description = LocalizedText("Describes a value that is an integer between −9,223,372,036,854,775,808 and 9,223,372,036,854,775,807.") + attrs.DisplayName = LocalizedText("Int64") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=8") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=27") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(8, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(27, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9") - node.BrowseName = ua.QualifiedName.from_string("UInt64") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=28") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(9, 0) + node.BrowseName = QualifiedName('UInt64', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(28, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("Describes a value that is an integer between 0 and 18,446,744,073,709,551,615.") - attrs.DisplayName = ua.LocalizedText("UInt64") + attrs.Description = LocalizedText("Describes a value that is an integer between 0 and 18,446,744,073,709,551,615.") + attrs.DisplayName = LocalizedText("UInt64") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=9") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=28") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(9, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(28, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=10") - node.BrowseName = ua.QualifiedName.from_string("Float") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=26") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(10, 0) + node.BrowseName = QualifiedName('Float', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(26, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("Describes a value that is an IEEE 754-1985 single precision floating point number.") - attrs.DisplayName = ua.LocalizedText("Float") + attrs.Description = LocalizedText("Describes a value that is an IEEE 754-1985 single precision floating point number.") + attrs.DisplayName = LocalizedText("Float") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=10") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=26") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(10, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(26, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11") - node.BrowseName = ua.QualifiedName.from_string("Double") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=26") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(11, 0) + node.BrowseName = QualifiedName('Double', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(26, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("Describes a value that is an IEEE 754-1985 double precision floating point number.") - attrs.DisplayName = ua.LocalizedText("Double") + attrs.Description = LocalizedText("Describes a value that is an IEEE 754-1985 double precision floating point number.") + attrs.DisplayName = LocalizedText("Double") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=11") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=26") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(11, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(26, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12") - node.BrowseName = ua.QualifiedName.from_string("String") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=24") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(12, 0) + node.BrowseName = QualifiedName('String', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(24, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("Describes a value that is a sequence of printable Unicode characters.") - attrs.DisplayName = ua.LocalizedText("String") + attrs.Description = LocalizedText("Describes a value that is a sequence of printable Unicode characters.") + attrs.DisplayName = LocalizedText("String") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=12") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=24") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(12, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(24, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13") - node.BrowseName = ua.QualifiedName.from_string("DateTime") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=24") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(13, 0) + node.BrowseName = QualifiedName('DateTime', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(24, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("Describes a value that is a Gregorian calender date and time.") - attrs.DisplayName = ua.LocalizedText("DateTime") + attrs.Description = LocalizedText("Describes a value that is a Gregorian calender date and time.") + attrs.DisplayName = LocalizedText("DateTime") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=13") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=24") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(13, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(24, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=14") - node.BrowseName = ua.QualifiedName.from_string("Guid") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=24") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(14, 0) + node.BrowseName = QualifiedName('Guid', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(24, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("Describes a value that is a 128-bit globally unique identifier.") - attrs.DisplayName = ua.LocalizedText("Guid") + attrs.Description = LocalizedText("Describes a value that is a 128-bit globally unique identifier.") + attrs.DisplayName = LocalizedText("Guid") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=14") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=24") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(14, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(24, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15") - node.BrowseName = ua.QualifiedName.from_string("ByteString") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=24") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(15, 0) + node.BrowseName = QualifiedName('ByteString', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(24, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("Describes a value that is a sequence of bytes.") - attrs.DisplayName = ua.LocalizedText("ByteString") + attrs.Description = LocalizedText("Describes a value that is a sequence of bytes.") + attrs.DisplayName = LocalizedText("ByteString") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=15") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=24") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(15, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(24, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16") - node.BrowseName = ua.QualifiedName.from_string("XmlElement") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=24") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(16, 0) + node.BrowseName = QualifiedName('XmlElement', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(24, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("Describes a value that is an XML element.") - attrs.DisplayName = ua.LocalizedText("XmlElement") + attrs.Description = LocalizedText("Describes a value that is an XML element.") + attrs.DisplayName = LocalizedText("XmlElement") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=16") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=24") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(16, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(24, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17") - node.BrowseName = ua.QualifiedName.from_string("NodeId") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=24") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(17, 0) + node.BrowseName = QualifiedName('NodeId', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(24, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("Describes a value that is an identifier for a node within a Server address space.") - attrs.DisplayName = ua.LocalizedText("NodeId") + attrs.Description = LocalizedText("Describes a value that is an identifier for a node within a Server address space.") + attrs.DisplayName = LocalizedText("NodeId") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=17") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=24") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(17, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(24, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=20") - node.BrowseName = ua.QualifiedName.from_string("QualifiedName") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=24") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(20, 0) + node.BrowseName = QualifiedName('QualifiedName', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(24, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("Describes a value that is a name qualified by a namespace.") - attrs.DisplayName = ua.LocalizedText("QualifiedName") + attrs.Description = LocalizedText("Describes a value that is a name qualified by a namespace.") + attrs.DisplayName = LocalizedText("QualifiedName") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=20") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=24") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(20, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(24, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=21") - node.BrowseName = ua.QualifiedName.from_string("LocalizedText") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=24") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(21, 0) + node.BrowseName = QualifiedName('LocalizedText', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(24, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("Describes a value that is human readable Unicode text with a locale identifier.") - attrs.DisplayName = ua.LocalizedText("LocalizedText") + attrs.Description = LocalizedText("Describes a value that is human readable Unicode text with a locale identifier.") + attrs.DisplayName = LocalizedText("LocalizedText") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=21") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=24") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(21, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(24, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=22") - node.BrowseName = ua.QualifiedName.from_string("Structure") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=24") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(22, 0) + node.BrowseName = QualifiedName('Structure', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(24, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("Describes a value that is any type of structure that can be described with a data encoding.") - attrs.DisplayName = ua.LocalizedText("Structure") + attrs.Description = LocalizedText("Describes a value that is any type of structure that can be described with a data encoding.") + attrs.DisplayName = LocalizedText("Structure") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=22") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=24") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(22, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(24, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=30") - node.BrowseName = ua.QualifiedName.from_string("Image") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=15") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(30, 0) + node.BrowseName = QualifiedName('Image', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(15, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("Describes a value that is an image encoded as a string of bytes.") - attrs.DisplayName = ua.LocalizedText("Image") + attrs.Description = LocalizedText("Describes a value that is an image encoded as a string of bytes.") + attrs.DisplayName = LocalizedText("Image") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=30") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(30, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=50") - node.BrowseName = ua.QualifiedName.from_string("Decimal") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=26") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(50, 0) + node.BrowseName = QualifiedName('Decimal', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(26, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("Describes an arbitrary precision decimal value.") - attrs.DisplayName = ua.LocalizedText("Decimal") + attrs.Description = LocalizedText("Describes an arbitrary precision decimal value.") + attrs.DisplayName = LocalizedText("Decimal") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=50") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=26") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(50, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(26, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=31") - node.BrowseName = ua.QualifiedName.from_string("References") - node.NodeClass = ua.NodeClass.ReferenceType + node.RequestedNewNodeId = NumericNodeId(31, 0) + node.BrowseName = QualifiedName('References', 0) + node.NodeClass = NodeClass.ReferenceType attrs = ua.ReferenceTypeAttributes() - attrs.Description = ua.LocalizedText("The abstract base type for all references.") - attrs.DisplayName = ua.LocalizedText("References") + attrs.Description = LocalizedText("The abstract base type for all references.") + attrs.DisplayName = LocalizedText("References") attrs.IsAbstract = True attrs.Symmetric = True node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=32") - node.BrowseName = ua.QualifiedName.from_string("NonHierarchicalReferences") - node.NodeClass = ua.NodeClass.ReferenceType - node.ParentNodeId = ua.NodeId.from_string("i=31") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(32, 0) + node.BrowseName = QualifiedName('NonHierarchicalReferences', 0) + node.NodeClass = NodeClass.ReferenceType + node.ParentNodeId = NumericNodeId(31, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ReferenceTypeAttributes() - attrs.Description = ua.LocalizedText("The abstract base type for all non-hierarchical references.") - attrs.DisplayName = ua.LocalizedText("NonHierarchicalReferences") - attrs.InverseName = ua.LocalizedText("NonHierarchicalReferences") + attrs.Description = LocalizedText("The abstract base type for all non-hierarchical references.") + attrs.DisplayName = LocalizedText("NonHierarchicalReferences") + attrs.InverseName = LocalizedText("NonHierarchicalReferences") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=32") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=31") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(32, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(31, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=33") - node.BrowseName = ua.QualifiedName.from_string("HierarchicalReferences") - node.NodeClass = ua.NodeClass.ReferenceType - node.ParentNodeId = ua.NodeId.from_string("i=31") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(33, 0) + node.BrowseName = QualifiedName('HierarchicalReferences', 0) + node.NodeClass = NodeClass.ReferenceType + node.ParentNodeId = NumericNodeId(31, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ReferenceTypeAttributes() - attrs.Description = ua.LocalizedText("The abstract base type for all hierarchical references.") - attrs.DisplayName = ua.LocalizedText("HierarchicalReferences") - attrs.InverseName = ua.LocalizedText("HierarchicalReferences") + attrs.Description = LocalizedText("The abstract base type for all hierarchical references.") + attrs.DisplayName = LocalizedText("HierarchicalReferences") + attrs.InverseName = LocalizedText("HierarchicalReferences") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=33") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=31") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(33, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(31, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=34") - node.BrowseName = ua.QualifiedName.from_string("HasChild") - node.NodeClass = ua.NodeClass.ReferenceType - node.ParentNodeId = ua.NodeId.from_string("i=33") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(34, 0) + node.BrowseName = QualifiedName('HasChild', 0) + node.NodeClass = NodeClass.ReferenceType + node.ParentNodeId = NumericNodeId(33, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ReferenceTypeAttributes() - attrs.Description = ua.LocalizedText("The abstract base type for all non-looping hierarchical references.") - attrs.DisplayName = ua.LocalizedText("HasChild") - attrs.InverseName = ua.LocalizedText("ChildOf") + attrs.Description = LocalizedText("The abstract base type for all non-looping hierarchical references.") + attrs.DisplayName = LocalizedText("HasChild") + attrs.InverseName = LocalizedText("ChildOf") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=34") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=33") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(34, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(33, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=35") - node.BrowseName = ua.QualifiedName.from_string("Organizes") - node.NodeClass = ua.NodeClass.ReferenceType - node.ParentNodeId = ua.NodeId.from_string("i=33") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(35, 0) + node.BrowseName = QualifiedName('Organizes', 0) + node.NodeClass = NodeClass.ReferenceType + node.ParentNodeId = NumericNodeId(33, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ReferenceTypeAttributes() - attrs.Description = ua.LocalizedText("The type for hierarchical references that are used to organize nodes.") - attrs.DisplayName = ua.LocalizedText("Organizes") - attrs.InverseName = ua.LocalizedText("OrganizedBy") + attrs.Description = LocalizedText("The type for hierarchical references that are used to organize nodes.") + attrs.DisplayName = LocalizedText("Organizes") + attrs.InverseName = LocalizedText("OrganizedBy") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=35") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=33") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(35, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(33, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=36") - node.BrowseName = ua.QualifiedName.from_string("HasEventSource") - node.NodeClass = ua.NodeClass.ReferenceType - node.ParentNodeId = ua.NodeId.from_string("i=33") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(36, 0) + node.BrowseName = QualifiedName('HasEventSource', 0) + node.NodeClass = NodeClass.ReferenceType + node.ParentNodeId = NumericNodeId(33, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ReferenceTypeAttributes() - attrs.Description = ua.LocalizedText("The type for non-looping hierarchical references that are used to organize event sources.") - attrs.DisplayName = ua.LocalizedText("HasEventSource") - attrs.InverseName = ua.LocalizedText("EventSourceOf") + attrs.Description = LocalizedText("The type for non-looping hierarchical references that are used to organize event sources.") + attrs.DisplayName = LocalizedText("HasEventSource") + attrs.InverseName = LocalizedText("EventSourceOf") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=36") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=33") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(36, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(33, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=37") - node.BrowseName = ua.QualifiedName.from_string("HasModellingRule") - node.NodeClass = ua.NodeClass.ReferenceType - node.ParentNodeId = ua.NodeId.from_string("i=32") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(37, 0) + node.BrowseName = QualifiedName('HasModellingRule', 0) + node.NodeClass = NodeClass.ReferenceType + node.ParentNodeId = NumericNodeId(32, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ReferenceTypeAttributes() - attrs.Description = ua.LocalizedText("The type for references from instance declarations to modelling rule nodes.") - attrs.DisplayName = ua.LocalizedText("HasModellingRule") - attrs.InverseName = ua.LocalizedText("ModellingRuleOf") + attrs.Description = LocalizedText("The type for references from instance declarations to modelling rule nodes.") + attrs.DisplayName = LocalizedText("HasModellingRule") + attrs.InverseName = LocalizedText("ModellingRuleOf") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=37") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=32") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(37, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(32, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=38") - node.BrowseName = ua.QualifiedName.from_string("HasEncoding") - node.NodeClass = ua.NodeClass.ReferenceType - node.ParentNodeId = ua.NodeId.from_string("i=32") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(38, 0) + node.BrowseName = QualifiedName('HasEncoding', 0) + node.NodeClass = NodeClass.ReferenceType + node.ParentNodeId = NumericNodeId(32, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ReferenceTypeAttributes() - attrs.Description = ua.LocalizedText("The type for references from data type nodes to to data type encoding nodes.") - attrs.DisplayName = ua.LocalizedText("HasEncoding") - attrs.InverseName = ua.LocalizedText("EncodingOf") + attrs.Description = LocalizedText("The type for references from data type nodes to to data type encoding nodes.") + attrs.DisplayName = LocalizedText("HasEncoding") + attrs.InverseName = LocalizedText("EncodingOf") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=38") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=32") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(38, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(32, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=39") - node.BrowseName = ua.QualifiedName.from_string("HasDescription") - node.NodeClass = ua.NodeClass.ReferenceType - node.ParentNodeId = ua.NodeId.from_string("i=32") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(39, 0) + node.BrowseName = QualifiedName('HasDescription', 0) + node.NodeClass = NodeClass.ReferenceType + node.ParentNodeId = NumericNodeId(32, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ReferenceTypeAttributes() - attrs.Description = ua.LocalizedText("The type for references from data type encoding nodes to data type description nodes.") - attrs.DisplayName = ua.LocalizedText("HasDescription") - attrs.InverseName = ua.LocalizedText("DescriptionOf") + attrs.Description = LocalizedText("The type for references from data type encoding nodes to data type description nodes.") + attrs.DisplayName = LocalizedText("HasDescription") + attrs.InverseName = LocalizedText("DescriptionOf") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=39") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=32") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(39, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(32, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=40") - node.BrowseName = ua.QualifiedName.from_string("HasTypeDefinition") - node.NodeClass = ua.NodeClass.ReferenceType - node.ParentNodeId = ua.NodeId.from_string("i=32") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(40, 0) + node.BrowseName = QualifiedName('HasTypeDefinition', 0) + node.NodeClass = NodeClass.ReferenceType + node.ParentNodeId = NumericNodeId(32, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ReferenceTypeAttributes() - attrs.Description = ua.LocalizedText("The type for references from a instance node its type defintion node.") - attrs.DisplayName = ua.LocalizedText("HasTypeDefinition") - attrs.InverseName = ua.LocalizedText("TypeDefinitionOf") + attrs.Description = LocalizedText("The type for references from a instance node its type defintion node.") + attrs.DisplayName = LocalizedText("HasTypeDefinition") + attrs.InverseName = LocalizedText("TypeDefinitionOf") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=40") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=32") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(40, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(32, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=41") - node.BrowseName = ua.QualifiedName.from_string("GeneratesEvent") - node.NodeClass = ua.NodeClass.ReferenceType - node.ParentNodeId = ua.NodeId.from_string("i=32") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(41, 0) + node.BrowseName = QualifiedName('GeneratesEvent', 0) + node.NodeClass = NodeClass.ReferenceType + node.ParentNodeId = NumericNodeId(32, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ReferenceTypeAttributes() - attrs.Description = ua.LocalizedText("The type for references from a node to an event type that is raised by node.") - attrs.DisplayName = ua.LocalizedText("GeneratesEvent") - attrs.InverseName = ua.LocalizedText("GeneratedBy") + attrs.Description = LocalizedText("The type for references from a node to an event type that is raised by node.") + attrs.DisplayName = LocalizedText("GeneratesEvent") + attrs.InverseName = LocalizedText("GeneratedBy") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=41") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=32") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(41, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(32, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3065") - node.BrowseName = ua.QualifiedName.from_string("AlwaysGeneratesEvent") - node.NodeClass = ua.NodeClass.ReferenceType - node.ParentNodeId = ua.NodeId.from_string("i=41") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(3065, 0) + node.BrowseName = QualifiedName('AlwaysGeneratesEvent', 0) + node.NodeClass = NodeClass.ReferenceType + node.ParentNodeId = NumericNodeId(41, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ReferenceTypeAttributes() - attrs.Description = ua.LocalizedText("The type for references from a node to an event type that is always raised by node.") - attrs.DisplayName = ua.LocalizedText("AlwaysGeneratesEvent") - attrs.InverseName = ua.LocalizedText("AlwaysGeneratedBy") + attrs.Description = LocalizedText("The type for references from a node to an event type that is always raised by node.") + attrs.DisplayName = LocalizedText("AlwaysGeneratesEvent") + attrs.InverseName = LocalizedText("AlwaysGeneratedBy") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=3065") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=41") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(3065, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(41, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=44") - node.BrowseName = ua.QualifiedName.from_string("Aggregates") - node.NodeClass = ua.NodeClass.ReferenceType - node.ParentNodeId = ua.NodeId.from_string("i=34") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(44, 0) + node.BrowseName = QualifiedName('Aggregates', 0) + node.NodeClass = NodeClass.ReferenceType + node.ParentNodeId = NumericNodeId(34, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ReferenceTypeAttributes() - attrs.Description = ua.LocalizedText("The type for non-looping hierarchical references that are used to aggregate nodes into complex types.") - attrs.DisplayName = ua.LocalizedText("Aggregates") - attrs.InverseName = ua.LocalizedText("AggregatedBy") + attrs.Description = LocalizedText("The type for non-looping hierarchical references that are used to aggregate nodes into complex types.") + attrs.DisplayName = LocalizedText("Aggregates") + attrs.InverseName = LocalizedText("AggregatedBy") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=44") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=34") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(44, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(34, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=45") - node.BrowseName = ua.QualifiedName.from_string("HasSubtype") - node.NodeClass = ua.NodeClass.ReferenceType - node.ParentNodeId = ua.NodeId.from_string("i=34") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(45, 0) + node.BrowseName = QualifiedName('HasSubtype', 0) + node.NodeClass = NodeClass.ReferenceType + node.ParentNodeId = NumericNodeId(34, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ReferenceTypeAttributes() - attrs.Description = ua.LocalizedText("The type for non-looping hierarchical references that are used to define sub types.") - attrs.DisplayName = ua.LocalizedText("HasSubtype") - attrs.InverseName = ua.LocalizedText("SubtypeOf") + attrs.Description = LocalizedText("The type for non-looping hierarchical references that are used to define sub types.") + attrs.DisplayName = LocalizedText("HasSubtype") + attrs.InverseName = LocalizedText("SubtypeOf") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=45") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=34") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(45, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(34, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=46") - node.BrowseName = ua.QualifiedName.from_string("HasProperty") - node.NodeClass = ua.NodeClass.ReferenceType - node.ParentNodeId = ua.NodeId.from_string("i=44") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(46, 0) + node.BrowseName = QualifiedName('HasProperty', 0) + node.NodeClass = NodeClass.ReferenceType + node.ParentNodeId = NumericNodeId(44, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ReferenceTypeAttributes() - attrs.Description = ua.LocalizedText("The type for non-looping hierarchical reference from a node to its property.") - attrs.DisplayName = ua.LocalizedText("HasProperty") - attrs.InverseName = ua.LocalizedText("PropertyOf") + attrs.Description = LocalizedText("The type for non-looping hierarchical reference from a node to its property.") + attrs.DisplayName = LocalizedText("HasProperty") + attrs.InverseName = LocalizedText("PropertyOf") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=46") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=44") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(46, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(44, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=47") - node.BrowseName = ua.QualifiedName.from_string("HasComponent") - node.NodeClass = ua.NodeClass.ReferenceType - node.ParentNodeId = ua.NodeId.from_string("i=44") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(47, 0) + node.BrowseName = QualifiedName('HasComponent', 0) + node.NodeClass = NodeClass.ReferenceType + node.ParentNodeId = NumericNodeId(44, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ReferenceTypeAttributes() - attrs.Description = ua.LocalizedText("The type for non-looping hierarchical reference from a node to its component.") - attrs.DisplayName = ua.LocalizedText("HasComponent") - attrs.InverseName = ua.LocalizedText("ComponentOf") + attrs.Description = LocalizedText("The type for non-looping hierarchical reference from a node to its component.") + attrs.DisplayName = LocalizedText("HasComponent") + attrs.InverseName = LocalizedText("ComponentOf") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=47") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=44") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(47, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(44, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=48") - node.BrowseName = ua.QualifiedName.from_string("HasNotifier") - node.NodeClass = ua.NodeClass.ReferenceType - node.ParentNodeId = ua.NodeId.from_string("i=36") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(48, 0) + node.BrowseName = QualifiedName('HasNotifier', 0) + node.NodeClass = NodeClass.ReferenceType + node.ParentNodeId = NumericNodeId(36, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ReferenceTypeAttributes() - attrs.Description = ua.LocalizedText("The type for non-looping hierarchical references that are used to indicate how events propagate from node to node.") - attrs.DisplayName = ua.LocalizedText("HasNotifier") - attrs.InverseName = ua.LocalizedText("NotifierOf") + attrs.Description = LocalizedText("The type for non-looping hierarchical references that are used to indicate how events propagate from node to node.") + attrs.DisplayName = LocalizedText("HasNotifier") + attrs.InverseName = LocalizedText("NotifierOf") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=48") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=36") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(48, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(36, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=49") - node.BrowseName = ua.QualifiedName.from_string("HasOrderedComponent") - node.NodeClass = ua.NodeClass.ReferenceType - node.ParentNodeId = ua.NodeId.from_string("i=47") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(49, 0) + node.BrowseName = QualifiedName('HasOrderedComponent', 0) + node.NodeClass = NodeClass.ReferenceType + node.ParentNodeId = NumericNodeId(47, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ReferenceTypeAttributes() - attrs.Description = ua.LocalizedText("The type for non-looping hierarchical reference from a node to its component when the order of references matters.") - attrs.DisplayName = ua.LocalizedText("HasOrderedComponent") - attrs.InverseName = ua.LocalizedText("OrderedComponentOf") + attrs.Description = LocalizedText("The type for non-looping hierarchical reference from a node to its component when the order of references matters.") + attrs.DisplayName = LocalizedText("HasOrderedComponent") + attrs.InverseName = LocalizedText("OrderedComponentOf") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=49") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=47") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(49, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(47, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=120") - node.BrowseName = ua.QualifiedName.from_string("NamingRuleType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=29") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(120, 0) + node.BrowseName = QualifiedName('NamingRuleType', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(29, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("Describes a value that specifies the significance of the BrowseName for an instance declaration.") - attrs.DisplayName = ua.LocalizedText("NamingRuleType") + attrs.Description = LocalizedText("Describes a value that specifies the significance of the BrowseName for an instance declaration.") + attrs.DisplayName = LocalizedText("NamingRuleType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=120") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12169") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(120, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12169, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=120") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=29") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(120, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(29, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12169") - node.BrowseName = ua.QualifiedName.from_string("EnumValues") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=120") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(12169, 0) + node.BrowseName = QualifiedName('EnumValues', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(120, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EnumValues") - attrs.DataType = ua.NodeId.from_string("i=7594") + attrs.DisplayName = LocalizedText("EnumValues") + attrs.DataType = NumericNodeId(7594, 0) value = [] extobj = ua.EnumValueType() extobj.Value = 1 @@ -1067,35 +1069,35 @@ def create_standard_address_space_Part3(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12169") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12169, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12169") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12169, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12169") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=120") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12169, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(120, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3068") - node.BrowseName = ua.QualifiedName.from_string("NodeVersion") - node.NodeClass = ua.NodeClass.Variable - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3068, 0) + node.BrowseName = QualifiedName('NodeVersion', 0) + node.NodeClass = NodeClass.Variable + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The version number of the node (used to indicate changes to references of the owning node).") - attrs.DisplayName = ua.LocalizedText("NodeVersion") + attrs.Description = LocalizedText("The version number of the node (used to indicate changes to references of the owning node).") + attrs.DisplayName = LocalizedText("NodeVersion") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -2 node.NodeAttributes = attrs @@ -1103,21 +1105,21 @@ def create_standard_address_space_Part3(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3068") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3068, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12170") - node.BrowseName = ua.QualifiedName.from_string("ViewVersion") - node.NodeClass = ua.NodeClass.Variable - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(12170, 0) + node.BrowseName = QualifiedName('ViewVersion', 0) + node.NodeClass = NodeClass.Variable + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The version number of the view.") - attrs.DisplayName = ua.LocalizedText("ViewVersion") + attrs.Description = LocalizedText("The version number of the view.") + attrs.DisplayName = LocalizedText("ViewVersion") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -2 node.NodeAttributes = attrs @@ -1125,65 +1127,65 @@ def create_standard_address_space_Part3(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12170") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12170, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3067") - node.BrowseName = ua.QualifiedName.from_string("Icon") - node.NodeClass = ua.NodeClass.Variable - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3067, 0) + node.BrowseName = QualifiedName('Icon', 0) + node.NodeClass = NodeClass.Variable + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A small image representing the object.") - attrs.DisplayName = ua.LocalizedText("Icon") - attrs.DataType = ua.NodeId.from_string("i=30") + attrs.Description = LocalizedText("A small image representing the object.") + attrs.DisplayName = LocalizedText("Icon") + attrs.DataType = NumericNodeId(30, 0) attrs.ValueRank = -2 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3067") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3067, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3069") - node.BrowseName = ua.QualifiedName.from_string("LocalTime") - node.NodeClass = ua.NodeClass.Variable - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3069, 0) + node.BrowseName = QualifiedName('LocalTime', 0) + node.NodeClass = NodeClass.Variable + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The local time where the owning variable value was collected.") - attrs.DisplayName = ua.LocalizedText("LocalTime") - attrs.DataType = ua.NodeId.from_string("i=8912") + attrs.Description = LocalizedText("The local time where the owning variable value was collected.") + attrs.DisplayName = LocalizedText("LocalTime") + attrs.DataType = NumericNodeId(8912, 0) attrs.ValueRank = -2 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3069") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3069, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3070") - node.BrowseName = ua.QualifiedName.from_string("AllowNulls") - node.NodeClass = ua.NodeClass.Variable - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3070, 0) + node.BrowseName = QualifiedName('AllowNulls', 0) + node.NodeClass = NodeClass.Variable + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("Whether the value of the owning variable is allowed to be null.") - attrs.DisplayName = ua.LocalizedText("AllowNulls") + attrs.Description = LocalizedText("Whether the value of the owning variable is allowed to be null.") + attrs.DisplayName = LocalizedText("AllowNulls") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -2 node.NodeAttributes = attrs @@ -1191,21 +1193,21 @@ def create_standard_address_space_Part3(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3070") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3070, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11433") - node.BrowseName = ua.QualifiedName.from_string("ValueAsText") - node.NodeClass = ua.NodeClass.Variable - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11433, 0) + node.BrowseName = QualifiedName('ValueAsText', 0) + node.NodeClass = NodeClass.Variable + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The string representation of the current value for a variable with an enumerated data type.") - attrs.DisplayName = ua.LocalizedText("ValueAsText") + attrs.Description = LocalizedText("The string representation of the current value for a variable with an enumerated data type.") + attrs.DisplayName = LocalizedText("ValueAsText") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -2 node.NodeAttributes = attrs @@ -1213,21 +1215,21 @@ def create_standard_address_space_Part3(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11433") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11433, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11498") - node.BrowseName = ua.QualifiedName.from_string("MaxStringLength") - node.NodeClass = ua.NodeClass.Variable - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11498, 0) + node.BrowseName = QualifiedName('MaxStringLength', 0) + node.NodeClass = NodeClass.Variable + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum number of bytes supported by the DataVariable.") - attrs.DisplayName = ua.LocalizedText("MaxStringLength") + attrs.Description = LocalizedText("The maximum number of bytes supported by the DataVariable.") + attrs.DisplayName = LocalizedText("MaxStringLength") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -2 node.NodeAttributes = attrs @@ -1235,21 +1237,21 @@ def create_standard_address_space_Part3(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11498") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11498, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15002") - node.BrowseName = ua.QualifiedName.from_string("MaxCharacters") - node.NodeClass = ua.NodeClass.Variable - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15002, 0) + node.BrowseName = QualifiedName('MaxCharacters', 0) + node.NodeClass = NodeClass.Variable + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum number of Unicode characters supported by the DataVariable.") - attrs.DisplayName = ua.LocalizedText("MaxCharacters") + attrs.Description = LocalizedText("The maximum number of Unicode characters supported by the DataVariable.") + attrs.DisplayName = LocalizedText("MaxCharacters") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -2 node.NodeAttributes = attrs @@ -1257,21 +1259,21 @@ def create_standard_address_space_Part3(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15002") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15002, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12908") - node.BrowseName = ua.QualifiedName.from_string("MaxByteStringLength") - node.NodeClass = ua.NodeClass.Variable - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(12908, 0) + node.BrowseName = QualifiedName('MaxByteStringLength', 0) + node.NodeClass = NodeClass.Variable + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum length for a byte string that can be stored in the owning variable.") - attrs.DisplayName = ua.LocalizedText("MaxByteStringLength") + attrs.Description = LocalizedText("The maximum length for a byte string that can be stored in the owning variable.") + attrs.DisplayName = LocalizedText("MaxByteStringLength") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -2 node.NodeAttributes = attrs @@ -1279,21 +1281,21 @@ def create_standard_address_space_Part3(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12908") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12908, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11512") - node.BrowseName = ua.QualifiedName.from_string("MaxArrayLength") - node.NodeClass = ua.NodeClass.Variable - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11512, 0) + node.BrowseName = QualifiedName('MaxArrayLength', 0) + node.NodeClass = NodeClass.Variable + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum length for an array that can be stored in the owning variable.") - attrs.DisplayName = ua.LocalizedText("MaxArrayLength") + attrs.Description = LocalizedText("The maximum length for an array that can be stored in the owning variable.") + attrs.DisplayName = LocalizedText("MaxArrayLength") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -2 node.NodeAttributes = attrs @@ -1301,43 +1303,43 @@ def create_standard_address_space_Part3(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11512") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11512, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11513") - node.BrowseName = ua.QualifiedName.from_string("EngineeringUnits") - node.NodeClass = ua.NodeClass.Variable - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11513, 0) + node.BrowseName = QualifiedName('EngineeringUnits', 0) + node.NodeClass = NodeClass.Variable + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The engineering units for the value of the owning variable.") - attrs.DisplayName = ua.LocalizedText("EngineeringUnits") - attrs.DataType = ua.NodeId.from_string("i=887") + attrs.Description = LocalizedText("The engineering units for the value of the owning variable.") + attrs.DisplayName = LocalizedText("EngineeringUnits") + attrs.DataType = NumericNodeId(887, 0) attrs.ValueRank = -2 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11513") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11513, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11432") - node.BrowseName = ua.QualifiedName.from_string("EnumStrings") - node.NodeClass = ua.NodeClass.Variable - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11432, 0) + node.BrowseName = QualifiedName('EnumStrings', 0) + node.NodeClass = NodeClass.Variable + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The human readable strings associated with the values of an enumerated value (when values are sequential).") - attrs.DisplayName = ua.LocalizedText("EnumStrings") + attrs.Description = LocalizedText("The human readable strings associated with the values of an enumerated value (when values are sequential).") + attrs.DisplayName = LocalizedText("EnumStrings") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = 1 node.NodeAttributes = attrs @@ -1345,43 +1347,43 @@ def create_standard_address_space_Part3(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11432") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11432, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3071") - node.BrowseName = ua.QualifiedName.from_string("EnumValues") - node.NodeClass = ua.NodeClass.Variable - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3071, 0) + node.BrowseName = QualifiedName('EnumValues', 0) + node.NodeClass = NodeClass.Variable + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The human readable strings associated with the values of an enumerated value (when values have no sequence).") - attrs.DisplayName = ua.LocalizedText("EnumValues") - attrs.DataType = ua.NodeId.from_string("i=7594") + attrs.Description = LocalizedText("The human readable strings associated with the values of an enumerated value (when values have no sequence).") + attrs.DisplayName = LocalizedText("EnumValues") + attrs.DataType = NumericNodeId(7594, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3071") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3071, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12745") - node.BrowseName = ua.QualifiedName.from_string("OptionSetValues") - node.NodeClass = ua.NodeClass.Variable - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(12745, 0) + node.BrowseName = QualifiedName('OptionSetValues', 0) + node.NodeClass = NodeClass.Variable + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("Contains the human-readable representation for each bit of the bit mask.") - attrs.DisplayName = ua.LocalizedText("OptionSetValues") + attrs.Description = LocalizedText("Contains the human-readable representation for each bit of the bit mask.") + attrs.DisplayName = LocalizedText("OptionSetValues") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = 1 node.NodeAttributes = attrs @@ -1389,65 +1391,65 @@ def create_standard_address_space_Part3(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12745") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12745, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3072") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3072, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The input arguments for a method.") - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.Description = LocalizedText("The input arguments for a method.") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3072") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3072, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3073") - node.BrowseName = ua.QualifiedName.from_string("OutputArguments") - node.NodeClass = ua.NodeClass.Variable - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3073, 0) + node.BrowseName = QualifiedName('OutputArguments', 0) + node.NodeClass = NodeClass.Variable + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The output arguments for a method.") - attrs.DisplayName = ua.LocalizedText("OutputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.Description = LocalizedText("The output arguments for a method.") + attrs.DisplayName = LocalizedText("OutputArguments") + attrs.DataType = NumericNodeId(296, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3073") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3073, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16306") - node.BrowseName = ua.QualifiedName.from_string("DefaultInputValues") - node.NodeClass = ua.NodeClass.Variable - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16306, 0) + node.BrowseName = QualifiedName('DefaultInputValues', 0) + node.NodeClass = NodeClass.Variable + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("Specifies the default values for optional input arguments.") - attrs.DisplayName = ua.LocalizedText("DefaultInputValues") + attrs.Description = LocalizedText("Specifies the default values for optional input arguments.") + attrs.DisplayName = LocalizedText("DefaultInputValues") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 node.NodeAttributes = attrs @@ -1455,222 +1457,222 @@ def create_standard_address_space_Part3(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16306") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16306, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2000") - node.BrowseName = ua.QualifiedName.from_string("ImageBMP") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=30") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2000, 0) + node.BrowseName = QualifiedName('ImageBMP', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(30, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("An image encoded in BMP format.") - attrs.DisplayName = ua.LocalizedText("ImageBMP") + attrs.Description = LocalizedText("An image encoded in BMP format.") + attrs.DisplayName = LocalizedText("ImageBMP") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2000") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=30") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2000, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(30, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2001") - node.BrowseName = ua.QualifiedName.from_string("ImageGIF") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=30") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2001, 0) + node.BrowseName = QualifiedName('ImageGIF', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(30, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("An image encoded in GIF format.") - attrs.DisplayName = ua.LocalizedText("ImageGIF") + attrs.Description = LocalizedText("An image encoded in GIF format.") + attrs.DisplayName = LocalizedText("ImageGIF") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2001") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=30") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2001, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(30, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2002") - node.BrowseName = ua.QualifiedName.from_string("ImageJPG") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=30") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2002, 0) + node.BrowseName = QualifiedName('ImageJPG', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(30, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("An image encoded in JPEG format.") - attrs.DisplayName = ua.LocalizedText("ImageJPG") + attrs.Description = LocalizedText("An image encoded in JPEG format.") + attrs.DisplayName = LocalizedText("ImageJPG") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2002") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=30") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2002, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(30, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2003") - node.BrowseName = ua.QualifiedName.from_string("ImagePNG") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=30") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2003, 0) + node.BrowseName = QualifiedName('ImagePNG', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(30, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("An image encoded in PNG format.") - attrs.DisplayName = ua.LocalizedText("ImagePNG") + attrs.Description = LocalizedText("An image encoded in PNG format.") + attrs.DisplayName = LocalizedText("ImagePNG") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2003") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=30") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2003, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(30, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16307") - node.BrowseName = ua.QualifiedName.from_string("AudioDataType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=15") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(16307, 0) + node.BrowseName = QualifiedName('AudioDataType', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(15, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("An image encoded in PNG format.") - attrs.DisplayName = ua.LocalizedText("AudioDataType") + attrs.Description = LocalizedText("An image encoded in PNG format.") + attrs.DisplayName = LocalizedText("AudioDataType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=16307") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(16307, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=256") - node.BrowseName = ua.QualifiedName.from_string("IdType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=29") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(256, 0) + node.BrowseName = QualifiedName('IdType', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(29, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("The type of identifier used in a node id.") - attrs.DisplayName = ua.LocalizedText("IdType") + attrs.Description = LocalizedText("The type of identifier used in a node id.") + attrs.DisplayName = LocalizedText("IdType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=256") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7591") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(256, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7591, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=256") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=29") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(256, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(29, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7591") - node.BrowseName = ua.QualifiedName.from_string("EnumStrings") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=256") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(7591, 0) + node.BrowseName = QualifiedName('EnumStrings', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(256, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EnumStrings") + attrs.DisplayName = LocalizedText("EnumStrings") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.Value = [ua.LocalizedText('Numeric'),ua.LocalizedText('String'),ua.LocalizedText('Guid'),ua.LocalizedText('Opaque')] + attrs.Value = [LocalizedText('Numeric'),LocalizedText('String'),LocalizedText('Guid'),LocalizedText('Opaque')] attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7591") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(7591, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=7591") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(7591, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=7591") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=256") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(7591, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(256, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=257") - node.BrowseName = ua.QualifiedName.from_string("NodeClass") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=29") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(257, 0) + node.BrowseName = QualifiedName('NodeClass', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(29, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("A mask specifying the class of the node.") - attrs.DisplayName = ua.LocalizedText("NodeClass") + attrs.Description = LocalizedText("A mask specifying the class of the node.") + attrs.DisplayName = LocalizedText("NodeClass") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=257") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11878") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(257, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11878, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=257") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=29") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(257, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(29, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11878") - node.BrowseName = ua.QualifiedName.from_string("EnumValues") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=257") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11878, 0) + node.BrowseName = QualifiedName('EnumValues', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(257, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EnumValues") - attrs.DataType = ua.NodeId.from_string("i=7594") + attrs.DisplayName = LocalizedText("EnumValues") + attrs.DataType = NumericNodeId(7594, 0) value = [] extobj = ua.EnumValueType() extobj.Value = 0 @@ -1724,1917 +1726,1917 @@ def create_standard_address_space_Part3(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11878") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11878, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11878") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11878, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11878") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=257") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11878, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(257, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=94") - node.BrowseName = ua.QualifiedName.from_string("PermissionType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=5") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(94, 0) + node.BrowseName = QualifiedName('PermissionType', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(5, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("PermissionType") + attrs.DisplayName = LocalizedText("PermissionType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=94") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15030") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(94, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15030, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=94") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=5") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(94, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(5, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15030") - node.BrowseName = ua.QualifiedName.from_string("OptionSetValues") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=94") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15030, 0) + node.BrowseName = QualifiedName('OptionSetValues', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(94, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OptionSetValues") + attrs.DisplayName = LocalizedText("OptionSetValues") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.Value = [ua.LocalizedText('Browse'),ua.LocalizedText('ReadRolePermissions'),ua.LocalizedText('WriteAttribute'),ua.LocalizedText('WriteRolePermissions'),ua.LocalizedText('WriteHistorizing'),ua.LocalizedText('Read'),ua.LocalizedText('Write'),ua.LocalizedText('ReadHistory'),ua.LocalizedText('InsertHistory'),ua.LocalizedText('ModifyHistory'),ua.LocalizedText('DeleteHistory'),ua.LocalizedText('ReceiveEvents'),ua.LocalizedText('Call'),ua.LocalizedText('AddReference'),ua.LocalizedText('RemoveReference'),ua.LocalizedText('DeleteNode'),ua.LocalizedText('AddNode')] + attrs.Value = [LocalizedText('Browse'),LocalizedText('ReadRolePermissions'),LocalizedText('WriteAttribute'),LocalizedText('WriteRolePermissions'),LocalizedText('WriteHistorizing'),LocalizedText('Read'),LocalizedText('Write'),LocalizedText('ReadHistory'),LocalizedText('InsertHistory'),LocalizedText('ModifyHistory'),LocalizedText('DeleteHistory'),LocalizedText('ReceiveEvents'),LocalizedText('Call'),LocalizedText('AddReference'),LocalizedText('RemoveReference'),LocalizedText('DeleteNode'),LocalizedText('AddNode')] attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=94") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(94, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15031") - node.BrowseName = ua.QualifiedName.from_string("AccessLevelType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=3") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(15031, 0) + node.BrowseName = QualifiedName('AccessLevelType', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(3, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AccessLevelType") + attrs.DisplayName = LocalizedText("AccessLevelType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15031") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15032") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15031, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15032, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=15031") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(15031, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15032") - node.BrowseName = ua.QualifiedName.from_string("OptionSetValues") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15031") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15032, 0) + node.BrowseName = QualifiedName('OptionSetValues', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15031, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OptionSetValues") + attrs.DisplayName = LocalizedText("OptionSetValues") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.Value = [ua.LocalizedText('CurrentRead'),ua.LocalizedText('CurrentWrite'),ua.LocalizedText('HistoryRead'),ua.LocalizedText('Reserved'),ua.LocalizedText('HistoryWrite'),ua.LocalizedText('StatusWrite'),ua.LocalizedText('TimestampWrite')] + attrs.Value = [LocalizedText('CurrentRead'),LocalizedText('CurrentWrite'),LocalizedText('HistoryRead'),LocalizedText('Reserved'),LocalizedText('HistoryWrite'),LocalizedText('StatusWrite'),LocalizedText('TimestampWrite')] attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15032") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15032, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15032") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15032, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15032") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15031") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15032, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15031, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15406") - node.BrowseName = ua.QualifiedName.from_string("AccessLevelExType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=7") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(15406, 0) + node.BrowseName = QualifiedName('AccessLevelExType', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(7, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AccessLevelExType") + attrs.DisplayName = LocalizedText("AccessLevelExType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15406") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15407") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15406, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15407, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=15406") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(15406, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15407") - node.BrowseName = ua.QualifiedName.from_string("OptionSetValues") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15406") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15407, 0) + node.BrowseName = QualifiedName('OptionSetValues', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15406, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OptionSetValues") + attrs.DisplayName = LocalizedText("OptionSetValues") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.Value = [ua.LocalizedText('CurrentRead'),ua.LocalizedText('CurrentWrite'),ua.LocalizedText('HistoryRead'),ua.LocalizedText('Reserved'),ua.LocalizedText('HistoryWrite'),ua.LocalizedText('StatusWrite'),ua.LocalizedText('TimestampWrite'),ua.LocalizedText('Reserved'),ua.LocalizedText('Reserved'),ua.LocalizedText('Reserved'),ua.LocalizedText('Reserved'),ua.LocalizedText('Reserved'),ua.LocalizedText('Reserved'),ua.LocalizedText('Reserved'),ua.LocalizedText('Reserved'),ua.LocalizedText('Reserved'),ua.LocalizedText('NonatomicRead'),ua.LocalizedText('NonatomicWrite'),ua.LocalizedText('WriteFullArrayOnly')] + attrs.Value = [LocalizedText('CurrentRead'),LocalizedText('CurrentWrite'),LocalizedText('HistoryRead'),LocalizedText('Reserved'),LocalizedText('HistoryWrite'),LocalizedText('StatusWrite'),LocalizedText('TimestampWrite'),LocalizedText('Reserved'),LocalizedText('Reserved'),LocalizedText('Reserved'),LocalizedText('Reserved'),LocalizedText('Reserved'),LocalizedText('Reserved'),LocalizedText('Reserved'),LocalizedText('Reserved'),LocalizedText('Reserved'),LocalizedText('NonatomicRead'),LocalizedText('NonatomicWrite'),LocalizedText('WriteFullArrayOnly')] attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15407") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15407, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15407") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15407, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15407") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15406") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15407, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15406, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15033") - node.BrowseName = ua.QualifiedName.from_string("EventNotifierType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=7") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(15033, 0) + node.BrowseName = QualifiedName('EventNotifierType', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(7, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("EventNotifierType") + attrs.DisplayName = LocalizedText("EventNotifierType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15033") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15034") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15033, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15034, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=15033") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(15033, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15034") - node.BrowseName = ua.QualifiedName.from_string("OptionSetValues") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15033") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15034, 0) + node.BrowseName = QualifiedName('OptionSetValues', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15033, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OptionSetValues") + attrs.DisplayName = LocalizedText("OptionSetValues") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.Value = [ua.LocalizedText('SubscribeToEvents'),ua.LocalizedText('Reserved'),ua.LocalizedText('HistoryRead'),ua.LocalizedText('HistoryWrite')] + attrs.Value = [LocalizedText('SubscribeToEvents'),LocalizedText('Reserved'),LocalizedText('HistoryRead'),LocalizedText('HistoryWrite')] attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15034") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15034, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15034") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15034, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15034") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15033") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15034, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15033, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=95") - node.BrowseName = ua.QualifiedName.from_string("AccessRestrictionType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=7") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(95, 0) + node.BrowseName = QualifiedName('AccessRestrictionType', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(7, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AccessRestrictionType") + attrs.DisplayName = LocalizedText("AccessRestrictionType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=95") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15035") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(95, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15035, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=95") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(95, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15035") - node.BrowseName = ua.QualifiedName.from_string("OptionSetValues") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=95") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15035, 0) + node.BrowseName = QualifiedName('OptionSetValues', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(95, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OptionSetValues") + attrs.DisplayName = LocalizedText("OptionSetValues") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.Value = [ua.LocalizedText('SigningRequired'),ua.LocalizedText('EncryptionRequired'),ua.LocalizedText('SessionRequired')] + attrs.Value = [LocalizedText('SigningRequired'),LocalizedText('EncryptionRequired'),LocalizedText('SessionRequired')] attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15035") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15035, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15035") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15035, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15035") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=95") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15035, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(95, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=96") - node.BrowseName = ua.QualifiedName.from_string("RolePermissionType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(96, 0) + node.BrowseName = QualifiedName('RolePermissionType', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("RolePermissionType") + attrs.DisplayName = LocalizedText("RolePermissionType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=96") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(96, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=97") - node.BrowseName = ua.QualifiedName.from_string("DataTypeDefinition") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(97, 0) + node.BrowseName = QualifiedName('DataTypeDefinition', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("DataTypeDefinition") + attrs.DisplayName = LocalizedText("DataTypeDefinition") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=97") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(97, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=98") - node.BrowseName = ua.QualifiedName.from_string("StructureType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=29") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(98, 0) + node.BrowseName = QualifiedName('StructureType', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(29, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("StructureType") + attrs.DisplayName = LocalizedText("StructureType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=98") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=14528") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(98, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(14528, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=98") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=29") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(98, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(29, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=14528") - node.BrowseName = ua.QualifiedName.from_string("EnumStrings") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=98") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(14528, 0) + node.BrowseName = QualifiedName('EnumStrings', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(98, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EnumStrings") + attrs.DisplayName = LocalizedText("EnumStrings") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.Value = [ua.LocalizedText('Structure'),ua.LocalizedText('StructureWithOptionalFields'),ua.LocalizedText('Union')] + attrs.Value = [LocalizedText('Structure'),LocalizedText('StructureWithOptionalFields'),LocalizedText('Union')] attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=14528") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(14528, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=14528") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(14528, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=14528") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=98") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(14528, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(98, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=101") - node.BrowseName = ua.QualifiedName.from_string("StructureField") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(101, 0) + node.BrowseName = QualifiedName('StructureField', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("StructureField") + attrs.DisplayName = LocalizedText("StructureField") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=101") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(101, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=99") - node.BrowseName = ua.QualifiedName.from_string("StructureDefinition") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=97") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(99, 0) + node.BrowseName = QualifiedName('StructureDefinition', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(97, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("StructureDefinition") + attrs.DisplayName = LocalizedText("StructureDefinition") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=99") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=97") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(99, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(97, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=100") - node.BrowseName = ua.QualifiedName.from_string("EnumDefinition") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=97") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(100, 0) + node.BrowseName = QualifiedName('EnumDefinition', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(97, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("EnumDefinition") + attrs.DisplayName = LocalizedText("EnumDefinition") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=100") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=97") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(100, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(97, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=296") - node.BrowseName = ua.QualifiedName.from_string("Argument") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(296, 0) + node.BrowseName = QualifiedName('Argument', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("An argument for a method.") - attrs.DisplayName = ua.LocalizedText("Argument") + attrs.Description = LocalizedText("An argument for a method.") + attrs.DisplayName = LocalizedText("Argument") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=296") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(296, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7594") - node.BrowseName = ua.QualifiedName.from_string("EnumValueType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(7594, 0) + node.BrowseName = QualifiedName('EnumValueType', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("A mapping between a value of an enumerated type and a name and description.") - attrs.DisplayName = ua.LocalizedText("EnumValueType") + attrs.Description = LocalizedText("A mapping between a value of an enumerated type and a name and description.") + attrs.DisplayName = LocalizedText("EnumValueType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=7594") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(7594, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=102") - node.BrowseName = ua.QualifiedName.from_string("EnumField") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=7594") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(102, 0) + node.BrowseName = QualifiedName('EnumField', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(7594, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("EnumField") + attrs.DisplayName = LocalizedText("EnumField") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=102") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7594") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(102, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7594, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12755") - node.BrowseName = ua.QualifiedName.from_string("OptionSet") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(12755, 0) + node.BrowseName = QualifiedName('OptionSet', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask.") - attrs.DisplayName = ua.LocalizedText("OptionSet") + attrs.Description = LocalizedText("This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask.") + attrs.DisplayName = LocalizedText("OptionSet") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=12755") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(12755, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12756") - node.BrowseName = ua.QualifiedName.from_string("Union") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(12756, 0) + node.BrowseName = QualifiedName('Union', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("This abstract DataType is the base DataType for all union DataTypes.") - attrs.DisplayName = ua.LocalizedText("Union") + attrs.Description = LocalizedText("This abstract DataType is the base DataType for all union DataTypes.") + attrs.DisplayName = LocalizedText("Union") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=12756") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(12756, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12877") - node.BrowseName = ua.QualifiedName.from_string("NormalizedString") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=12") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(12877, 0) + node.BrowseName = QualifiedName('NormalizedString', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(12, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("A string normalized based on the rules in the unicode specification.") - attrs.DisplayName = ua.LocalizedText("NormalizedString") + attrs.Description = LocalizedText("A string normalized based on the rules in the unicode specification.") + attrs.DisplayName = LocalizedText("NormalizedString") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=12877") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(12877, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12878") - node.BrowseName = ua.QualifiedName.from_string("DecimalString") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=12") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(12878, 0) + node.BrowseName = QualifiedName('DecimalString', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(12, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("An arbitraty numeric value.") - attrs.DisplayName = ua.LocalizedText("DecimalString") + attrs.Description = LocalizedText("An arbitraty numeric value.") + attrs.DisplayName = LocalizedText("DecimalString") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=12878") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(12878, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12879") - node.BrowseName = ua.QualifiedName.from_string("DurationString") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=12") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(12879, 0) + node.BrowseName = QualifiedName('DurationString', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(12, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("A period of time formatted as defined in ISO 8601-2000.") - attrs.DisplayName = ua.LocalizedText("DurationString") + attrs.Description = LocalizedText("A period of time formatted as defined in ISO 8601-2000.") + attrs.DisplayName = LocalizedText("DurationString") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=12879") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(12879, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12880") - node.BrowseName = ua.QualifiedName.from_string("TimeString") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=12") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(12880, 0) + node.BrowseName = QualifiedName('TimeString', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(12, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("A time formatted as defined in ISO 8601-2000.") - attrs.DisplayName = ua.LocalizedText("TimeString") + attrs.Description = LocalizedText("A time formatted as defined in ISO 8601-2000.") + attrs.DisplayName = LocalizedText("TimeString") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=12880") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(12880, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12881") - node.BrowseName = ua.QualifiedName.from_string("DateString") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=12") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(12881, 0) + node.BrowseName = QualifiedName('DateString', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(12, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("A date formatted as defined in ISO 8601-2000.") - attrs.DisplayName = ua.LocalizedText("DateString") + attrs.Description = LocalizedText("A date formatted as defined in ISO 8601-2000.") + attrs.DisplayName = LocalizedText("DateString") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=12881") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(12881, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=290") - node.BrowseName = ua.QualifiedName.from_string("Duration") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=11") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(290, 0) + node.BrowseName = QualifiedName('Duration', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(11, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("A period of time measured in milliseconds.") - attrs.DisplayName = ua.LocalizedText("Duration") + attrs.Description = LocalizedText("A period of time measured in milliseconds.") + attrs.DisplayName = LocalizedText("Duration") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=290") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(290, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=294") - node.BrowseName = ua.QualifiedName.from_string("UtcTime") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=13") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(294, 0) + node.BrowseName = QualifiedName('UtcTime', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(13, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("A date/time value specified in Universal Coordinated Time (UTC).") - attrs.DisplayName = ua.LocalizedText("UtcTime") + attrs.Description = LocalizedText("A date/time value specified in Universal Coordinated Time (UTC).") + attrs.DisplayName = LocalizedText("UtcTime") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=294") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(294, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=295") - node.BrowseName = ua.QualifiedName.from_string("LocaleId") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=12") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(295, 0) + node.BrowseName = QualifiedName('LocaleId', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(12, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("An identifier for a user locale.") - attrs.DisplayName = ua.LocalizedText("LocaleId") + attrs.Description = LocalizedText("An identifier for a user locale.") + attrs.DisplayName = LocalizedText("LocaleId") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=295") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(295, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8912") - node.BrowseName = ua.QualifiedName.from_string("TimeZoneDataType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(8912, 0) + node.BrowseName = QualifiedName('TimeZoneDataType', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("TimeZoneDataType") + attrs.DisplayName = LocalizedText("TimeZoneDataType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=8912") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(8912, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=128") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=96") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(128, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(96, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=128") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=96") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(128, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(96, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=128") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16131") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(128, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16131, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=128") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(128, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=121") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=97") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(121, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(97, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=121") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=97") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(121, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(97, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=121") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=18178") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(121, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(18178, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=121") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(121, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=14844") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=101") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(14844, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(101, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=14844") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=101") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(14844, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(101, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=14844") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=18181") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(14844, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(18181, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=14844") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(14844, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=122") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=99") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(122, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(99, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=122") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=99") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(122, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(99, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=122") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=18184") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(122, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(18184, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=122") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(122, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=123") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=100") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(123, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(100, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=123") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=100") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(123, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(100, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=123") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=18187") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(123, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(18187, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=123") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(123, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=298") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=296") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(298, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(296, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=298") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=296") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(298, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(296, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=298") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7650") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(298, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7650, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=298") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(298, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8251") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=7594") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(8251, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(7594, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=8251") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7594") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(8251, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7594, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=8251") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7656") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(8251, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7656, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8251") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8251, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=14845") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=102") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(14845, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(102, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=14845") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=102") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(14845, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(102, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=14845") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=14870") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(14845, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(14870, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=14845") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(14845, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12765") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=12755") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(12765, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(12755, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=12765") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12755") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(12765, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12755, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=12765") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12767") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(12765, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12767, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12765") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12765, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12766") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=12756") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(12766, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(12756, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=12766") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12756") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(12766, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12756, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=12766") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12770") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(12766, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12770, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12766") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12766, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8917") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=8912") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(8917, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(8912, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=8917") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8912") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(8917, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8912, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=8917") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8914") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(8917, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8914, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8917") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8917, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16126") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=96") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(16126, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(96, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=16126") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=96") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(16126, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(96, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=16126") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16127") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(16126, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16127, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16126") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16126, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=14797") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=97") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(14797, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(97, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=14797") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=97") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(14797, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(97, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=14797") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=18166") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(14797, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(18166, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=14797") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(14797, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=14800") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=101") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(14800, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(101, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=14800") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=101") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(14800, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(101, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=14800") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=18169") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(14800, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(18169, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=14800") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(14800, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=14798") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=99") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(14798, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(99, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=14798") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=99") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(14798, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(99, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=14798") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=18172") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(14798, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(18172, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=14798") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(14798, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=14799") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=100") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(14799, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(100, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=14799") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=100") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(14799, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(100, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=14799") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=18175") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(14799, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(18175, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=14799") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(14799, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=297") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=296") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(297, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(296, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=297") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=296") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(297, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(296, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=297") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8285") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(297, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8285, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=297") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(297, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7616") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=7594") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(7616, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(7594, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=7616") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7594") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(7616, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7594, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=7616") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8291") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(7616, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8291, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7616") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(7616, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=14801") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=102") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(14801, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(102, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=14801") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=102") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(14801, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(102, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=14801") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=14826") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(14801, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(14826, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=14801") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(14801, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12757") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=12755") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(12757, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(12755, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=12757") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12755") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(12757, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12755, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=12757") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12759") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(12757, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12759, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12757") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12757, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12758") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=12756") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(12758, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(12756, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=12758") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12756") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(12758, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12756, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=12758") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12762") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(12758, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12762, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12758") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12758, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8913") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=8912") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(8913, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(8912, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=8913") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8912") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(8913, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8912, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=8913") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8918") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(8913, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8918, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8913") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8913, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15062") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=96") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15062, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(96, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15062") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=96") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15062, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(96, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15062") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15062, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15063") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=97") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15063, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(97, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15063") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=97") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15063, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(97, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15063") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15063, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15065") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=101") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15065, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(101, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15065") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=101") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15065, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(101, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15065") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15065, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15066") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=99") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15066, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(99, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15066") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=99") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15066, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(99, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15066") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15066, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15067") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=100") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15067, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(100, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15067") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=100") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15067, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(100, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15067") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15067, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15081") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=296") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15081, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(296, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15081") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=296") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15081, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(296, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15081") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15081, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15082") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=7594") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15082, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(7594, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15082") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7594") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15082, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7594, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15082") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15082, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15083") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=102") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15083, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(102, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15083") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=102") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15083, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(102, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15083") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15083, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15084") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=12755") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15084, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(12755, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15084") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12755") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15084, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12755, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15084") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15084, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15085") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=12756") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15085, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(12756, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15085") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12756") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15085, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12756, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15085") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15085, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15086") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=8912") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15086, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(8912, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15086") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8912") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15086, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8912, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15086") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15086, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) diff --git a/opcua/server/standard_address_space/standard_address_space_part4.py b/opcua/server/standard_address_space/standard_address_space_part4.py index cb90d4d3c..889197b46 100644 --- a/opcua/server/standard_address_space/standard_address_space_part4.py +++ b/opcua/server/standard_address_space/standard_address_space_part4.py @@ -6,753 +6,755 @@ """ from opcua import ua +from opcua.ua import NodeId, QualifiedName, NumericNodeId, StringNodeId, GuidNodeId +from opcua.ua import NodeClass, LocalizedText def create_standard_address_space_Part4(server): node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=18") - node.BrowseName = ua.QualifiedName.from_string("ExpandedNodeId") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=24") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(18, 0) + node.BrowseName = QualifiedName('ExpandedNodeId', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(24, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("Describes a value that is an absolute identifier for a node.") - attrs.DisplayName = ua.LocalizedText("ExpandedNodeId") + attrs.Description = LocalizedText("Describes a value that is an absolute identifier for a node.") + attrs.DisplayName = LocalizedText("ExpandedNodeId") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=18") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=24") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(18, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(24, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=19") - node.BrowseName = ua.QualifiedName.from_string("StatusCode") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=24") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(19, 0) + node.BrowseName = QualifiedName('StatusCode', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(24, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("Describes a value that is a code representing the outcome of an operation by a Server.") - attrs.DisplayName = ua.LocalizedText("StatusCode") + attrs.Description = LocalizedText("Describes a value that is a code representing the outcome of an operation by a Server.") + attrs.DisplayName = LocalizedText("StatusCode") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=19") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=24") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(19, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(24, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=23") - node.BrowseName = ua.QualifiedName.from_string("DataValue") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=24") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(23, 0) + node.BrowseName = QualifiedName('DataValue', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(24, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("Describes a value that is a structure containing a value, a status code and timestamps.") - attrs.DisplayName = ua.LocalizedText("DataValue") + attrs.Description = LocalizedText("Describes a value that is a structure containing a value, a status code and timestamps.") + attrs.DisplayName = LocalizedText("DataValue") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=23") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=24") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(23, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(24, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=25") - node.BrowseName = ua.QualifiedName.from_string("DiagnosticInfo") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=24") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(25, 0) + node.BrowseName = QualifiedName('DiagnosticInfo', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(24, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("Describes a value that is a structure containing diagnostics associated with a StatusCode.") - attrs.DisplayName = ua.LocalizedText("DiagnosticInfo") + attrs.Description = LocalizedText("Describes a value that is a structure containing diagnostics associated with a StatusCode.") + attrs.DisplayName = LocalizedText("DiagnosticInfo") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=25") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=24") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(25, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(24, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=288") - node.BrowseName = ua.QualifiedName.from_string("IntegerId") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=7") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(288, 0) + node.BrowseName = QualifiedName('IntegerId', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(7, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("A numeric identifier for an object.") - attrs.DisplayName = ua.LocalizedText("IntegerId") + attrs.Description = LocalizedText("A numeric identifier for an object.") + attrs.DisplayName = LocalizedText("IntegerId") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=288") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(288, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=307") - node.BrowseName = ua.QualifiedName.from_string("ApplicationType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=29") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(307, 0) + node.BrowseName = QualifiedName('ApplicationType', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(29, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("The types of applications.") - attrs.DisplayName = ua.LocalizedText("ApplicationType") + attrs.Description = LocalizedText("The types of applications.") + attrs.DisplayName = LocalizedText("ApplicationType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=307") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7597") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(307, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7597, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=307") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=29") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(307, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(29, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7597") - node.BrowseName = ua.QualifiedName.from_string("EnumStrings") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=307") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(7597, 0) + node.BrowseName = QualifiedName('EnumStrings', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(307, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EnumStrings") + attrs.DisplayName = LocalizedText("EnumStrings") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.Value = [ua.LocalizedText('Server'),ua.LocalizedText('Client'),ua.LocalizedText('ClientAndServer'),ua.LocalizedText('DiscoveryServer')] + attrs.Value = [LocalizedText('Server'),LocalizedText('Client'),LocalizedText('ClientAndServer'),LocalizedText('DiscoveryServer')] attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7597") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(7597, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=7597") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(7597, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=7597") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=307") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(7597, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(307, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=308") - node.BrowseName = ua.QualifiedName.from_string("ApplicationDescription") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(308, 0) + node.BrowseName = QualifiedName('ApplicationDescription', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("Describes an application and how to find it.") - attrs.DisplayName = ua.LocalizedText("ApplicationDescription") + attrs.Description = LocalizedText("Describes an application and how to find it.") + attrs.DisplayName = LocalizedText("ApplicationDescription") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=308") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(308, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=20998") - node.BrowseName = ua.QualifiedName.from_string("VersionTime") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=7") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(20998, 0) + node.BrowseName = QualifiedName('VersionTime', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(7, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("VersionTime") + attrs.DisplayName = LocalizedText("VersionTime") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=20998") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(20998, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12189") - node.BrowseName = ua.QualifiedName.from_string("ServerOnNetwork") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(12189, 0) + node.BrowseName = QualifiedName('ServerOnNetwork', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ServerOnNetwork") + attrs.DisplayName = LocalizedText("ServerOnNetwork") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=12189") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(12189, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=311") - node.BrowseName = ua.QualifiedName.from_string("ApplicationInstanceCertificate") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=15") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(311, 0) + node.BrowseName = QualifiedName('ApplicationInstanceCertificate', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(15, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("A certificate for an instance of an application.") - attrs.DisplayName = ua.LocalizedText("ApplicationInstanceCertificate") + attrs.Description = LocalizedText("A certificate for an instance of an application.") + attrs.DisplayName = LocalizedText("ApplicationInstanceCertificate") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=311") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(311, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=302") - node.BrowseName = ua.QualifiedName.from_string("MessageSecurityMode") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=29") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(302, 0) + node.BrowseName = QualifiedName('MessageSecurityMode', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(29, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("The type of security to use on a message.") - attrs.DisplayName = ua.LocalizedText("MessageSecurityMode") + attrs.Description = LocalizedText("The type of security to use on a message.") + attrs.DisplayName = LocalizedText("MessageSecurityMode") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=302") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7595") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(302, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7595, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=302") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=29") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(302, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(29, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7595") - node.BrowseName = ua.QualifiedName.from_string("EnumStrings") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=302") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(7595, 0) + node.BrowseName = QualifiedName('EnumStrings', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(302, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EnumStrings") + attrs.DisplayName = LocalizedText("EnumStrings") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.Value = [ua.LocalizedText('Invalid'),ua.LocalizedText('None'),ua.LocalizedText('Sign'),ua.LocalizedText('SignAndEncrypt')] + attrs.Value = [LocalizedText('Invalid'),LocalizedText('None'),LocalizedText('Sign'),LocalizedText('SignAndEncrypt')] attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7595") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(7595, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=7595") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(7595, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=7595") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=302") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(7595, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(302, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=303") - node.BrowseName = ua.QualifiedName.from_string("UserTokenType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=29") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(303, 0) + node.BrowseName = QualifiedName('UserTokenType', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(29, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("The possible user token types.") - attrs.DisplayName = ua.LocalizedText("UserTokenType") + attrs.Description = LocalizedText("The possible user token types.") + attrs.DisplayName = LocalizedText("UserTokenType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=303") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7596") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(303, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7596, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=303") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=29") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(303, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(29, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7596") - node.BrowseName = ua.QualifiedName.from_string("EnumStrings") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=303") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(7596, 0) + node.BrowseName = QualifiedName('EnumStrings', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(303, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EnumStrings") + attrs.DisplayName = LocalizedText("EnumStrings") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.Value = [ua.LocalizedText('Anonymous'),ua.LocalizedText('UserName'),ua.LocalizedText('Certificate'),ua.LocalizedText('IssuedToken')] + attrs.Value = [LocalizedText('Anonymous'),LocalizedText('UserName'),LocalizedText('Certificate'),LocalizedText('IssuedToken')] attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7596") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(7596, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=7596") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(7596, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=7596") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=303") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(7596, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(303, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=304") - node.BrowseName = ua.QualifiedName.from_string("UserTokenPolicy") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(304, 0) + node.BrowseName = QualifiedName('UserTokenPolicy', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("Describes a user token that can be used with a server.") - attrs.DisplayName = ua.LocalizedText("UserTokenPolicy") + attrs.Description = LocalizedText("Describes a user token that can be used with a server.") + attrs.DisplayName = LocalizedText("UserTokenPolicy") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=304") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(304, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=312") - node.BrowseName = ua.QualifiedName.from_string("EndpointDescription") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(312, 0) + node.BrowseName = QualifiedName('EndpointDescription', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("The description of a endpoint that can be used to access a server.") - attrs.DisplayName = ua.LocalizedText("EndpointDescription") + attrs.Description = LocalizedText("The description of a endpoint that can be used to access a server.") + attrs.DisplayName = LocalizedText("EndpointDescription") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=312") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(312, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=432") - node.BrowseName = ua.QualifiedName.from_string("RegisteredServer") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(432, 0) + node.BrowseName = QualifiedName('RegisteredServer', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("The information required to register a server with a discovery server.") - attrs.DisplayName = ua.LocalizedText("RegisteredServer") + attrs.Description = LocalizedText("The information required to register a server with a discovery server.") + attrs.DisplayName = LocalizedText("RegisteredServer") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=432") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(432, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12890") - node.BrowseName = ua.QualifiedName.from_string("DiscoveryConfiguration") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(12890, 0) + node.BrowseName = QualifiedName('DiscoveryConfiguration', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("A base type for discovery configuration information.") - attrs.DisplayName = ua.LocalizedText("DiscoveryConfiguration") + attrs.Description = LocalizedText("A base type for discovery configuration information.") + attrs.DisplayName = LocalizedText("DiscoveryConfiguration") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=12890") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(12890, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12891") - node.BrowseName = ua.QualifiedName.from_string("MdnsDiscoveryConfiguration") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=12890") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(12891, 0) + node.BrowseName = QualifiedName('MdnsDiscoveryConfiguration', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(12890, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("The discovery information needed for mDNS registration.") - attrs.DisplayName = ua.LocalizedText("MdnsDiscoveryConfiguration") + attrs.Description = LocalizedText("The discovery information needed for mDNS registration.") + attrs.DisplayName = LocalizedText("MdnsDiscoveryConfiguration") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=12891") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12890") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(12891, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12890, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=315") - node.BrowseName = ua.QualifiedName.from_string("SecurityTokenRequestType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=29") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(315, 0) + node.BrowseName = QualifiedName('SecurityTokenRequestType', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(29, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("Indicates whether a token if being created or renewed.") - attrs.DisplayName = ua.LocalizedText("SecurityTokenRequestType") + attrs.Description = LocalizedText("Indicates whether a token if being created or renewed.") + attrs.DisplayName = LocalizedText("SecurityTokenRequestType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=315") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7598") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(315, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7598, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=315") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=29") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(315, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(29, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7598") - node.BrowseName = ua.QualifiedName.from_string("EnumStrings") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=315") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(7598, 0) + node.BrowseName = QualifiedName('EnumStrings', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(315, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EnumStrings") + attrs.DisplayName = LocalizedText("EnumStrings") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.Value = [ua.LocalizedText('Issue'),ua.LocalizedText('Renew')] + attrs.Value = [LocalizedText('Issue'),LocalizedText('Renew')] attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7598") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(7598, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=7598") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(7598, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=7598") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=315") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(7598, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(315, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=344") - node.BrowseName = ua.QualifiedName.from_string("SignedSoftwareCertificate") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(344, 0) + node.BrowseName = QualifiedName('SignedSoftwareCertificate', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("A software certificate with a digital signature.") - attrs.DisplayName = ua.LocalizedText("SignedSoftwareCertificate") + attrs.Description = LocalizedText("A software certificate with a digital signature.") + attrs.DisplayName = LocalizedText("SignedSoftwareCertificate") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=344") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(344, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=388") - node.BrowseName = ua.QualifiedName.from_string("SessionAuthenticationToken") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=17") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(388, 0) + node.BrowseName = QualifiedName('SessionAuthenticationToken', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(17, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("A unique identifier for a session used to authenticate requests.") - attrs.DisplayName = ua.LocalizedText("SessionAuthenticationToken") + attrs.Description = LocalizedText("A unique identifier for a session used to authenticate requests.") + attrs.DisplayName = LocalizedText("SessionAuthenticationToken") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=388") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(388, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=316") - node.BrowseName = ua.QualifiedName.from_string("UserIdentityToken") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(316, 0) + node.BrowseName = QualifiedName('UserIdentityToken', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("A base type for a user identity token.") - attrs.DisplayName = ua.LocalizedText("UserIdentityToken") + attrs.Description = LocalizedText("A base type for a user identity token.") + attrs.DisplayName = LocalizedText("UserIdentityToken") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=316") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(316, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=319") - node.BrowseName = ua.QualifiedName.from_string("AnonymousIdentityToken") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=316") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(319, 0) + node.BrowseName = QualifiedName('AnonymousIdentityToken', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(316, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("A token representing an anonymous user.") - attrs.DisplayName = ua.LocalizedText("AnonymousIdentityToken") + attrs.Description = LocalizedText("A token representing an anonymous user.") + attrs.DisplayName = LocalizedText("AnonymousIdentityToken") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=319") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=316") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(319, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(316, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=322") - node.BrowseName = ua.QualifiedName.from_string("UserNameIdentityToken") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=316") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(322, 0) + node.BrowseName = QualifiedName('UserNameIdentityToken', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(316, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("A token representing a user identified by a user name and password.") - attrs.DisplayName = ua.LocalizedText("UserNameIdentityToken") + attrs.Description = LocalizedText("A token representing a user identified by a user name and password.") + attrs.DisplayName = LocalizedText("UserNameIdentityToken") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=322") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=316") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(322, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(316, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=325") - node.BrowseName = ua.QualifiedName.from_string("X509IdentityToken") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=316") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(325, 0) + node.BrowseName = QualifiedName('X509IdentityToken', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(316, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("A token representing a user identified by an X509 certificate.") - attrs.DisplayName = ua.LocalizedText("X509IdentityToken") + attrs.Description = LocalizedText("A token representing a user identified by an X509 certificate.") + attrs.DisplayName = LocalizedText("X509IdentityToken") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=325") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=316") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(325, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(316, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=938") - node.BrowseName = ua.QualifiedName.from_string("IssuedIdentityToken") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=316") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(938, 0) + node.BrowseName = QualifiedName('IssuedIdentityToken', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(316, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("A token representing a user identified by a WS-Security XML token.") - attrs.DisplayName = ua.LocalizedText("IssuedIdentityToken") + attrs.Description = LocalizedText("A token representing a user identified by a WS-Security XML token.") + attrs.DisplayName = LocalizedText("IssuedIdentityToken") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=938") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=316") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(938, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(316, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=348") - node.BrowseName = ua.QualifiedName.from_string("NodeAttributesMask") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=29") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(348, 0) + node.BrowseName = QualifiedName('NodeAttributesMask', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(29, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("The bits used to specify default attributes for a new node.") - attrs.DisplayName = ua.LocalizedText("NodeAttributesMask") + attrs.Description = LocalizedText("The bits used to specify default attributes for a new node.") + attrs.DisplayName = LocalizedText("NodeAttributesMask") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=348") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11881") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(348, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11881, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=348") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=29") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(348, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(29, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11881") - node.BrowseName = ua.QualifiedName.from_string("EnumValues") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=348") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11881, 0) + node.BrowseName = QualifiedName('EnumValues', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(348, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EnumValues") - attrs.DataType = ua.NodeId.from_string("i=7594") + attrs.DisplayName = LocalizedText("EnumValues") + attrs.DataType = NumericNodeId(7594, 0) value = [] extobj = ua.EnumValueType() extobj.Value = 0 @@ -936,606 +938,606 @@ def create_standard_address_space_Part4(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11881") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11881, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11881") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11881, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11881") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=348") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11881, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(348, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=376") - node.BrowseName = ua.QualifiedName.from_string("AddNodesItem") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(376, 0) + node.BrowseName = QualifiedName('AddNodesItem', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("A request to add a node to the server address space.") - attrs.DisplayName = ua.LocalizedText("AddNodesItem") + attrs.Description = LocalizedText("A request to add a node to the server address space.") + attrs.DisplayName = LocalizedText("AddNodesItem") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=376") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(376, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=379") - node.BrowseName = ua.QualifiedName.from_string("AddReferencesItem") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(379, 0) + node.BrowseName = QualifiedName('AddReferencesItem', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("A request to add a reference to the server address space.") - attrs.DisplayName = ua.LocalizedText("AddReferencesItem") + attrs.Description = LocalizedText("A request to add a reference to the server address space.") + attrs.DisplayName = LocalizedText("AddReferencesItem") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=379") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(379, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=382") - node.BrowseName = ua.QualifiedName.from_string("DeleteNodesItem") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(382, 0) + node.BrowseName = QualifiedName('DeleteNodesItem', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("A request to delete a node to the server address space.") - attrs.DisplayName = ua.LocalizedText("DeleteNodesItem") + attrs.Description = LocalizedText("A request to delete a node to the server address space.") + attrs.DisplayName = LocalizedText("DeleteNodesItem") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=382") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(382, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=385") - node.BrowseName = ua.QualifiedName.from_string("DeleteReferencesItem") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(385, 0) + node.BrowseName = QualifiedName('DeleteReferencesItem', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("A request to delete a node from the server address space.") - attrs.DisplayName = ua.LocalizedText("DeleteReferencesItem") + attrs.Description = LocalizedText("A request to delete a node from the server address space.") + attrs.DisplayName = LocalizedText("DeleteReferencesItem") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=385") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(385, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=347") - node.BrowseName = ua.QualifiedName.from_string("AttributeWriteMask") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=7") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(347, 0) + node.BrowseName = QualifiedName('AttributeWriteMask', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(7, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("Define bits used to indicate which attributes are writable.") - attrs.DisplayName = ua.LocalizedText("AttributeWriteMask") + attrs.Description = LocalizedText("Define bits used to indicate which attributes are writable.") + attrs.DisplayName = LocalizedText("AttributeWriteMask") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=347") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15036") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(347, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15036, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=347") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(347, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15036") - node.BrowseName = ua.QualifiedName.from_string("OptionSetValues") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=347") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15036, 0) + node.BrowseName = QualifiedName('OptionSetValues', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(347, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OptionSetValues") + attrs.DisplayName = LocalizedText("OptionSetValues") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.Value = [ua.LocalizedText('AccessLevel'),ua.LocalizedText('ArrayDimensions'),ua.LocalizedText('BrowseName'),ua.LocalizedText('ContainsNoLoops'),ua.LocalizedText('DataType'),ua.LocalizedText('Description'),ua.LocalizedText('DisplayName'),ua.LocalizedText('EventNotifier'),ua.LocalizedText('Executable'),ua.LocalizedText('Historizing'),ua.LocalizedText('InverseName'),ua.LocalizedText('IsAbstract'),ua.LocalizedText('MinimumSamplingInterval'),ua.LocalizedText('NodeClass'),ua.LocalizedText('NodeId'),ua.LocalizedText('Symmetric'),ua.LocalizedText('UserAccessLevel'),ua.LocalizedText('UserExecutable'),ua.LocalizedText('UserWriteMask'),ua.LocalizedText('ValueRank'),ua.LocalizedText('WriteMask'),ua.LocalizedText('ValueForVariableType'),ua.LocalizedText('DataTypeDefinition'),ua.LocalizedText('RolePermissions'),ua.LocalizedText('AccessRestrictions'),ua.LocalizedText('AccessLevelEx')] + attrs.Value = [LocalizedText('AccessLevel'),LocalizedText('ArrayDimensions'),LocalizedText('BrowseName'),LocalizedText('ContainsNoLoops'),LocalizedText('DataType'),LocalizedText('Description'),LocalizedText('DisplayName'),LocalizedText('EventNotifier'),LocalizedText('Executable'),LocalizedText('Historizing'),LocalizedText('InverseName'),LocalizedText('IsAbstract'),LocalizedText('MinimumSamplingInterval'),LocalizedText('NodeClass'),LocalizedText('NodeId'),LocalizedText('Symmetric'),LocalizedText('UserAccessLevel'),LocalizedText('UserExecutable'),LocalizedText('UserWriteMask'),LocalizedText('ValueRank'),LocalizedText('WriteMask'),LocalizedText('ValueForVariableType'),LocalizedText('DataTypeDefinition'),LocalizedText('RolePermissions'),LocalizedText('AccessRestrictions'),LocalizedText('AccessLevelEx')] attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15036") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15036, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15036") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15036, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15036") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=347") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15036, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(347, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=521") - node.BrowseName = ua.QualifiedName.from_string("ContinuationPoint") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=15") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(521, 0) + node.BrowseName = QualifiedName('ContinuationPoint', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(15, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("An identifier for a suspended query or browse operation.") - attrs.DisplayName = ua.LocalizedText("ContinuationPoint") + attrs.Description = LocalizedText("An identifier for a suspended query or browse operation.") + attrs.DisplayName = LocalizedText("ContinuationPoint") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=521") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(521, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=537") - node.BrowseName = ua.QualifiedName.from_string("RelativePathElement") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(537, 0) + node.BrowseName = QualifiedName('RelativePathElement', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("An element in a relative path.") - attrs.DisplayName = ua.LocalizedText("RelativePathElement") + attrs.Description = LocalizedText("An element in a relative path.") + attrs.DisplayName = LocalizedText("RelativePathElement") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=537") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(537, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=540") - node.BrowseName = ua.QualifiedName.from_string("RelativePath") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(540, 0) + node.BrowseName = QualifiedName('RelativePath', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("A relative path constructed from reference types and browse names.") - attrs.DisplayName = ua.LocalizedText("RelativePath") + attrs.Description = LocalizedText("A relative path constructed from reference types and browse names.") + attrs.DisplayName = LocalizedText("RelativePath") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=540") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(540, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=289") - node.BrowseName = ua.QualifiedName.from_string("Counter") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=7") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(289, 0) + node.BrowseName = QualifiedName('Counter', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(7, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("A monotonically increasing value.") - attrs.DisplayName = ua.LocalizedText("Counter") + attrs.Description = LocalizedText("A monotonically increasing value.") + attrs.DisplayName = LocalizedText("Counter") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=289") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(289, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=291") - node.BrowseName = ua.QualifiedName.from_string("NumericRange") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=12") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(291, 0) + node.BrowseName = QualifiedName('NumericRange', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(12, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("Specifies a range of array indexes.") - attrs.DisplayName = ua.LocalizedText("NumericRange") + attrs.Description = LocalizedText("Specifies a range of array indexes.") + attrs.DisplayName = LocalizedText("NumericRange") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=291") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(291, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=292") - node.BrowseName = ua.QualifiedName.from_string("Time") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=12") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(292, 0) + node.BrowseName = QualifiedName('Time', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(12, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("A time value specified as HH:MM:SS.SSS.") - attrs.DisplayName = ua.LocalizedText("Time") + attrs.Description = LocalizedText("A time value specified as HH:MM:SS.SSS.") + attrs.DisplayName = LocalizedText("Time") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=292") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(292, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=293") - node.BrowseName = ua.QualifiedName.from_string("Date") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=13") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(293, 0) + node.BrowseName = QualifiedName('Date', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(13, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("A date value.") - attrs.DisplayName = ua.LocalizedText("Date") + attrs.Description = LocalizedText("A date value.") + attrs.DisplayName = LocalizedText("Date") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=293") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(293, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=331") - node.BrowseName = ua.QualifiedName.from_string("EndpointConfiguration") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(331, 0) + node.BrowseName = QualifiedName('EndpointConfiguration', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("EndpointConfiguration") + attrs.DisplayName = LocalizedText("EndpointConfiguration") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=331") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(331, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=576") - node.BrowseName = ua.QualifiedName.from_string("FilterOperator") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=29") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(576, 0) + node.BrowseName = QualifiedName('FilterOperator', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(29, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("FilterOperator") + attrs.DisplayName = LocalizedText("FilterOperator") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=576") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7605") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(576, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7605, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=576") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=29") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(576, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(29, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7605") - node.BrowseName = ua.QualifiedName.from_string("EnumStrings") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=576") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(7605, 0) + node.BrowseName = QualifiedName('EnumStrings', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(576, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EnumStrings") + attrs.DisplayName = LocalizedText("EnumStrings") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.Value = [ua.LocalizedText('Equals'),ua.LocalizedText('IsNull'),ua.LocalizedText('GreaterThan'),ua.LocalizedText('LessThan'),ua.LocalizedText('GreaterThanOrEqual'),ua.LocalizedText('LessThanOrEqual'),ua.LocalizedText('Like'),ua.LocalizedText('Not'),ua.LocalizedText('Between'),ua.LocalizedText('InList'),ua.LocalizedText('And'),ua.LocalizedText('Or'),ua.LocalizedText('Cast'),ua.LocalizedText('InView'),ua.LocalizedText('OfType'),ua.LocalizedText('RelatedTo'),ua.LocalizedText('BitwiseAnd'),ua.LocalizedText('BitwiseOr')] + attrs.Value = [LocalizedText('Equals'),LocalizedText('IsNull'),LocalizedText('GreaterThan'),LocalizedText('LessThan'),LocalizedText('GreaterThanOrEqual'),LocalizedText('LessThanOrEqual'),LocalizedText('Like'),LocalizedText('Not'),LocalizedText('Between'),LocalizedText('InList'),LocalizedText('And'),LocalizedText('Or'),LocalizedText('Cast'),LocalizedText('InView'),LocalizedText('OfType'),LocalizedText('RelatedTo'),LocalizedText('BitwiseAnd'),LocalizedText('BitwiseOr')] attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7605") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(7605, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=7605") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(7605, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=7605") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=576") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(7605, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(576, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=583") - node.BrowseName = ua.QualifiedName.from_string("ContentFilterElement") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(583, 0) + node.BrowseName = QualifiedName('ContentFilterElement', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ContentFilterElement") + attrs.DisplayName = LocalizedText("ContentFilterElement") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=583") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(583, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=586") - node.BrowseName = ua.QualifiedName.from_string("ContentFilter") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(586, 0) + node.BrowseName = QualifiedName('ContentFilter', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ContentFilter") + attrs.DisplayName = LocalizedText("ContentFilter") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=586") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(586, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=589") - node.BrowseName = ua.QualifiedName.from_string("FilterOperand") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(589, 0) + node.BrowseName = QualifiedName('FilterOperand', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("FilterOperand") + attrs.DisplayName = LocalizedText("FilterOperand") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=589") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(589, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=592") - node.BrowseName = ua.QualifiedName.from_string("ElementOperand") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=589") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(592, 0) + node.BrowseName = QualifiedName('ElementOperand', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(589, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ElementOperand") + attrs.DisplayName = LocalizedText("ElementOperand") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=592") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=589") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(592, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(589, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=595") - node.BrowseName = ua.QualifiedName.from_string("LiteralOperand") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=589") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(595, 0) + node.BrowseName = QualifiedName('LiteralOperand', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(589, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("LiteralOperand") + attrs.DisplayName = LocalizedText("LiteralOperand") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=595") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=589") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(595, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(589, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=598") - node.BrowseName = ua.QualifiedName.from_string("AttributeOperand") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=589") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(598, 0) + node.BrowseName = QualifiedName('AttributeOperand', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(589, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AttributeOperand") + attrs.DisplayName = LocalizedText("AttributeOperand") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=598") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=589") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(598, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(589, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=601") - node.BrowseName = ua.QualifiedName.from_string("SimpleAttributeOperand") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=589") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(601, 0) + node.BrowseName = QualifiedName('SimpleAttributeOperand', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(589, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("SimpleAttributeOperand") + attrs.DisplayName = LocalizedText("SimpleAttributeOperand") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=601") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=589") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(601, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(589, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=659") - node.BrowseName = ua.QualifiedName.from_string("HistoryEvent") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(659, 0) + node.BrowseName = QualifiedName('HistoryEvent', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("HistoryEvent") + attrs.DisplayName = LocalizedText("HistoryEvent") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=659") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(659, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11234") - node.BrowseName = ua.QualifiedName.from_string("HistoryUpdateType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=29") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(11234, 0) + node.BrowseName = QualifiedName('HistoryUpdateType', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(29, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("HistoryUpdateType") + attrs.DisplayName = LocalizedText("HistoryUpdateType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11234") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11884") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11234, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11884, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=11234") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=29") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(11234, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(29, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11884") - node.BrowseName = ua.QualifiedName.from_string("EnumValues") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11234") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11884, 0) + node.BrowseName = QualifiedName('EnumValues', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11234, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EnumValues") - attrs.DataType = ua.NodeId.from_string("i=7594") + attrs.DisplayName = LocalizedText("EnumValues") + attrs.DataType = NumericNodeId(7594, 0) value = [] extobj = ua.EnumValueType() extobj.Value = 1 @@ -1560,64 +1562,64 @@ def create_standard_address_space_Part4(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11884") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11884, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11884") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11884, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11884") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11234") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11884, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11234, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11293") - node.BrowseName = ua.QualifiedName.from_string("PerformUpdateType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=29") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(11293, 0) + node.BrowseName = QualifiedName('PerformUpdateType', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(29, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("PerformUpdateType") + attrs.DisplayName = LocalizedText("PerformUpdateType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11293") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11885") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11293, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11885, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=11293") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=29") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(11293, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(29, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11885") - node.BrowseName = ua.QualifiedName.from_string("EnumValues") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11293") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11885, 0) + node.BrowseName = QualifiedName('EnumValues', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11293, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EnumValues") - attrs.DataType = ua.NodeId.from_string("i=7594") + attrs.DisplayName = LocalizedText("EnumValues") + attrs.DataType = NumericNodeId(7594, 0) value = [] extobj = ua.EnumValueType() extobj.Value = 1 @@ -1642,3335 +1644,3335 @@ def create_standard_address_space_Part4(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11885") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11885, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11885") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11885, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11885") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11293") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11885, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11293, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=719") - node.BrowseName = ua.QualifiedName.from_string("MonitoringFilter") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(719, 0) + node.BrowseName = QualifiedName('MonitoringFilter', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("MonitoringFilter") + attrs.DisplayName = LocalizedText("MonitoringFilter") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=719") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(719, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=725") - node.BrowseName = ua.QualifiedName.from_string("EventFilter") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=719") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(725, 0) + node.BrowseName = QualifiedName('EventFilter', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(719, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("EventFilter") + attrs.DisplayName = LocalizedText("EventFilter") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=725") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=719") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(725, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(719, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=948") - node.BrowseName = ua.QualifiedName.from_string("AggregateConfiguration") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(948, 0) + node.BrowseName = QualifiedName('AggregateConfiguration', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AggregateConfiguration") + attrs.DisplayName = LocalizedText("AggregateConfiguration") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=948") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(948, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=920") - node.BrowseName = ua.QualifiedName.from_string("HistoryEventFieldList") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(920, 0) + node.BrowseName = QualifiedName('HistoryEventFieldList', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("HistoryEventFieldList") + attrs.DisplayName = LocalizedText("HistoryEventFieldList") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=920") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(920, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=310") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=308") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(310, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(308, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=310") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=308") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(310, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(308, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=310") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7665") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(310, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7665, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=310") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(310, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12207") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=12189") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(12207, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(12189, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=12207") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12189") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(12207, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12189, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=12207") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12213") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(12207, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12213, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12207") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12207, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=306") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=304") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(306, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(304, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=306") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=304") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(306, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(304, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=306") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7662") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(306, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7662, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=306") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(306, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=314") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=312") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(314, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(312, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=314") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=312") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(314, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(312, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=314") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7668") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(314, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7668, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=314") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(314, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=434") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=432") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(434, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(432, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=434") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=432") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(434, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(432, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=434") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7782") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(434, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7782, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=434") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(434, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12900") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=12890") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(12900, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(12890, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=12900") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12890") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(12900, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12890, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=12900") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12902") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(12900, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12902, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12900") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12900, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12901") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=12891") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(12901, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(12891, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=12901") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12891") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(12901, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12891, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=12901") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12905") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(12901, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12905, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12901") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12901, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=346") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=344") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(346, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(344, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=346") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=344") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(346, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(344, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=346") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7698") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(346, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7698, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=346") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(346, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=318") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=316") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(318, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(316, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=318") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=316") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(318, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(316, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=318") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7671") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(318, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7671, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=318") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(318, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=321") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=319") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(321, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(319, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=321") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=319") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(321, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(319, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=321") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7674") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(321, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7674, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=321") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(321, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=324") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=322") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(324, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(322, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=324") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=322") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(324, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(322, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=324") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7677") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(324, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7677, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=324") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(324, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=327") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=325") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(327, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(325, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=327") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=325") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(327, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(325, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=327") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7680") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(327, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7680, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=327") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(327, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=940") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=938") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(940, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(938, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=940") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=938") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(940, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(938, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=940") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7683") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(940, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7683, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=940") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(940, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=378") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=376") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(378, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(376, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=378") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=376") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(378, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(376, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=378") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7728") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(378, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7728, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=378") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(378, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=381") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=379") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(381, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(379, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=381") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=379") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(381, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(379, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=381") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7731") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(381, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7731, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=381") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(381, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=384") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=382") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(384, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(382, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=384") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=382") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(384, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(382, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=384") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7734") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(384, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7734, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=384") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(384, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=387") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=385") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(387, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(385, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=387") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=385") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(387, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(385, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=387") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7737") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(387, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7737, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=387") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(387, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=539") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=537") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(539, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(537, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=539") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=537") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(539, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(537, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=539") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12718") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(539, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12718, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=539") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(539, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=542") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=540") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(542, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(540, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=542") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=540") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(542, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(540, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=542") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12721") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(542, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12721, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=542") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(542, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=333") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=331") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(333, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(331, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=333") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=331") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(333, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(331, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=333") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7686") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(333, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7686, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=333") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(333, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=585") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=583") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(585, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(583, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=585") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=583") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(585, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(583, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=585") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7929") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(585, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7929, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=585") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(585, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=588") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=586") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(588, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(586, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=588") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=586") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(588, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(586, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=588") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7932") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(588, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7932, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=588") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(588, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=591") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=589") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(591, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(589, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=591") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=589") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(591, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(589, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=591") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7935") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(591, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7935, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=591") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(591, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=594") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=592") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(594, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(592, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=594") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=592") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(594, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(592, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=594") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7938") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(594, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7938, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=594") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(594, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=597") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=595") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(597, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(595, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=597") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=595") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(597, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(595, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=597") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7941") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(597, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7941, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=597") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(597, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=600") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=598") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(600, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(598, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=600") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=598") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(600, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(598, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=600") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7944") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(600, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7944, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=600") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(600, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=603") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=601") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(603, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(601, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=603") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=601") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(603, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(601, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=603") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7947") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(603, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7947, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=603") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(603, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=661") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=659") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(661, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(659, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=661") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=659") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(661, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(659, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=661") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8004") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(661, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8004, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=661") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(661, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=721") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=719") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(721, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(719, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=721") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=719") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(721, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(719, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=721") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8067") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(721, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8067, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=721") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(721, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=727") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=725") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(727, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(725, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=727") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=725") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(727, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(725, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=727") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8073") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(727, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8073, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=727") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(727, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=950") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=948") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(950, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(948, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=950") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=948") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(950, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(948, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=950") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8076") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(950, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8076, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=950") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(950, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=922") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=920") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(922, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(920, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=922") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=920") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(922, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(920, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=922") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8172") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(922, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8172, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=922") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(922, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=309") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=308") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(309, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(308, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=309") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=308") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(309, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(308, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=309") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8300") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(309, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8300, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=309") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(309, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12195") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=12189") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(12195, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(12189, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=12195") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12189") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(12195, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12189, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=12195") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12201") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(12195, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12201, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12195") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12195, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=305") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=304") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(305, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(304, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=305") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=304") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(305, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(304, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=305") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8297") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(305, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8297, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=305") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(305, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=313") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=312") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(313, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(312, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=313") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=312") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(313, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(312, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=313") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8303") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(313, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8303, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=313") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(313, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=433") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=432") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(433, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(432, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=433") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=432") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(433, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(432, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=433") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8417") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(433, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8417, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=433") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(433, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12892") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=12890") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(12892, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(12890, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=12892") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12890") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(12892, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12890, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=12892") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12894") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(12892, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12894, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12892") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12892, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12893") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=12891") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(12893, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(12891, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=12893") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12891") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(12893, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12891, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=12893") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12897") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(12893, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12897, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12893") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12893, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=345") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=344") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(345, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(344, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=345") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=344") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(345, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(344, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=345") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8333") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(345, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8333, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=345") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(345, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=317") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=316") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(317, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(316, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=317") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=316") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(317, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(316, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=317") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8306") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(317, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8306, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=317") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(317, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=320") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=319") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(320, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(319, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=320") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=319") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(320, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(319, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=320") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8309") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(320, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8309, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=320") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(320, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=323") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=322") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(323, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(322, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=323") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=322") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(323, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(322, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=323") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8312") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(323, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8312, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=323") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(323, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=326") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=325") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(326, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(325, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=326") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=325") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(326, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(325, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=326") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8315") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(326, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8315, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=326") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(326, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=939") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=938") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(939, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(938, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=939") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=938") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(939, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(938, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=939") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8318") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(939, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8318, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=939") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(939, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=377") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=376") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(377, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(376, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=377") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=376") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(377, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(376, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=377") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8363") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(377, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8363, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=377") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(377, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=380") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=379") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(380, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(379, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=380") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=379") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(380, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(379, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=380") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8366") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(380, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8366, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=380") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(380, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=383") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=382") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(383, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(382, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=383") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=382") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(383, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(382, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=383") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8369") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(383, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8369, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=383") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(383, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=386") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=385") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(386, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(385, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=386") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=385") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(386, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(385, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=386") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8372") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(386, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8372, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=386") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(386, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=538") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=537") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(538, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(537, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=538") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=537") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(538, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(537, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=538") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12712") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(538, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12712, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=538") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(538, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=541") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=540") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(541, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(540, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=541") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=540") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(541, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(540, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=541") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12715") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(541, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12715, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=541") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(541, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=332") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=331") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(332, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(331, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=332") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=331") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(332, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(331, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=332") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8321") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(332, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8321, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=332") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(332, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=584") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=583") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(584, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(583, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=584") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=583") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(584, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(583, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=584") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8564") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(584, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8564, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=584") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(584, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=587") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=586") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(587, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(586, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=587") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=586") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(587, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(586, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=587") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8567") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(587, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8567, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=587") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(587, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=590") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=589") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(590, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(589, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=590") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=589") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(590, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(589, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=590") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8570") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(590, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8570, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=590") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(590, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=593") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=592") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(593, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(592, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=593") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=592") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(593, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(592, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=593") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8573") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(593, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8573, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=593") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(593, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=596") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=595") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(596, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(595, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=596") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=595") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(596, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(595, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=596") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8576") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(596, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8576, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=596") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(596, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=599") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=598") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(599, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(598, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=599") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=598") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(599, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(598, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=599") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8579") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(599, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8579, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=599") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(599, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=602") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=601") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(602, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(601, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=602") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=601") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(602, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(601, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=602") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8582") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(602, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8582, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=602") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(602, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=660") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=659") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(660, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(659, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=660") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=659") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(660, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(659, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=660") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8639") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(660, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8639, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=660") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(660, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=720") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=719") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(720, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(719, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=720") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=719") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(720, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(719, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=720") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8702") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(720, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8702, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=720") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(720, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=726") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=725") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(726, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(725, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=726") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=725") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(726, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(725, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=726") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8708") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(726, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8708, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=726") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(726, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=949") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=948") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(949, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(948, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=949") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=948") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(949, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(948, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=949") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8711") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(949, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8711, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=949") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(949, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=921") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=920") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(921, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(920, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=921") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=920") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(921, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(920, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=921") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8807") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(921, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8807, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=921") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(921, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15087") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=308") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15087, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(308, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15087") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=308") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15087, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(308, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15087") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15087, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15095") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=12189") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15095, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(12189, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15095") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12189") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15095, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12189, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15095") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15095, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15098") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=304") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15098, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(304, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=304") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(304, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15099") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=312") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15099, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(312, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15099") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=312") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15099, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(312, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15099") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15099, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15102") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=432") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15102, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(432, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15102") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=432") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15102, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(432, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15102") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15102, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15105") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=12890") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15105, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(12890, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15105") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12890") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15105, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12890, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15105") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15105, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15106") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=12891") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15106, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(12891, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15106") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12891") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15106, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12891, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15106") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15106, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15136") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=344") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15136, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(344, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15136") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=344") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15136, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(344, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15136") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15136, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15140") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=316") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15140, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(316, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15140") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=316") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15140, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(316, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15140") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15140, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15141") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=319") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15141, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(319, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15141") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=319") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15141, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(319, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15141") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15141, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15142") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=322") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15142, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(322, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15142") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=322") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15142, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(322, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15142") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15142, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15143") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=325") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15143, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(325, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15143") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=325") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15143, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(325, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15143") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15143, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15144") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=938") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15144, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(938, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15144") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=938") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15144, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(938, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15144") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15144, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15165") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=376") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15165, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(376, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15165") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=376") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15165, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(376, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15165") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15165, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15169") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=379") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15169, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(379, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15169") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=379") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15169, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(379, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15169") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15169, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15172") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=382") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15172, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(382, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15172") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=382") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15172, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(382, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15172") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15172, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15175") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=385") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15175, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(385, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15175") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=385") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15175, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(385, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15175") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15175, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15188") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=537") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15188, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(537, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15188") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=537") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15188, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(537, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15188") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15188, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15189") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=540") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15189, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(540, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15189") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=540") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15189, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(540, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15189") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15189, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15199") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=331") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15199, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(331, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15199") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=331") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15199, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(331, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15199") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15199, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15204") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=583") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15204, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(583, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15204") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=583") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15204, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(583, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15204") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15204, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15205") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=586") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15205, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(586, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15205") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=586") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15205, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(586, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15205") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15205, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15206") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=589") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15206, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(589, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15206") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=589") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15206, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(589, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15206") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15206, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15207") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=592") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15207, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(592, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15207") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=592") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15207, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(592, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15207") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15207, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15208") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=595") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15208, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(595, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15208") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=595") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15208, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(595, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15208") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15208, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15209") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=598") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15209, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(598, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15209") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=598") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15209, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(598, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15209") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15209, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15210") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=601") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15210, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(601, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15210") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=601") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15210, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(601, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15210") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15210, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15273") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=659") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15273, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(659, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15273") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=659") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15273, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(659, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15273") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15273, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15293") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=719") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15293, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(719, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15293") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=719") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15293, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(719, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15293") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15293, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15295") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=725") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15295, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(725, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15295") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=725") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15295, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(725, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15295") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15295, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15304") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=948") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15304, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(948, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15304") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=948") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15304, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(948, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15304") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15304, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15349") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=920") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15349, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(920, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15349") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=920") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15349, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(920, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15349") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15349, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) diff --git a/opcua/server/standard_address_space/standard_address_space_part5.py b/opcua/server/standard_address_space/standard_address_space_part5.py index 08d0ebf59..23129e6f5 100644 --- a/opcua/server/standard_address_space/standard_address_space_part5.py +++ b/opcua/server/standard_address_space/standard_address_space_part5.py @@ -6,180 +6,182 @@ """ from opcua import ua +from opcua.ua import NodeId, QualifiedName, NumericNodeId, StringNodeId, GuidNodeId +from opcua.ua import NodeClass, LocalizedText def create_standard_address_space_Part5(server): node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=51") - node.BrowseName = ua.QualifiedName.from_string("FromState") - node.NodeClass = ua.NodeClass.ReferenceType - node.ParentNodeId = ua.NodeId.from_string("i=32") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(51, 0) + node.BrowseName = QualifiedName('FromState', 0) + node.NodeClass = NodeClass.ReferenceType + node.ParentNodeId = NumericNodeId(32, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ReferenceTypeAttributes() - attrs.Description = ua.LocalizedText("The type for a reference to the state before a transition.") - attrs.DisplayName = ua.LocalizedText("FromState") - attrs.InverseName = ua.LocalizedText("ToTransition") + attrs.Description = LocalizedText("The type for a reference to the state before a transition.") + attrs.DisplayName = LocalizedText("FromState") + attrs.InverseName = LocalizedText("ToTransition") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=51") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=32") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(51, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(32, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=52") - node.BrowseName = ua.QualifiedName.from_string("ToState") - node.NodeClass = ua.NodeClass.ReferenceType - node.ParentNodeId = ua.NodeId.from_string("i=32") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(52, 0) + node.BrowseName = QualifiedName('ToState', 0) + node.NodeClass = NodeClass.ReferenceType + node.ParentNodeId = NumericNodeId(32, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ReferenceTypeAttributes() - attrs.Description = ua.LocalizedText("The type for a reference to the state after a transition.") - attrs.DisplayName = ua.LocalizedText("ToState") - attrs.InverseName = ua.LocalizedText("FromTransition") + attrs.Description = LocalizedText("The type for a reference to the state after a transition.") + attrs.DisplayName = LocalizedText("ToState") + attrs.InverseName = LocalizedText("FromTransition") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=52") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=32") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(52, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(32, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=53") - node.BrowseName = ua.QualifiedName.from_string("HasCause") - node.NodeClass = ua.NodeClass.ReferenceType - node.ParentNodeId = ua.NodeId.from_string("i=32") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(53, 0) + node.BrowseName = QualifiedName('HasCause', 0) + node.NodeClass = NodeClass.ReferenceType + node.ParentNodeId = NumericNodeId(32, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ReferenceTypeAttributes() - attrs.Description = ua.LocalizedText("The type for a reference to a method that can cause a transition to occur.") - attrs.DisplayName = ua.LocalizedText("HasCause") - attrs.InverseName = ua.LocalizedText("MayBeCausedBy") + attrs.Description = LocalizedText("The type for a reference to a method that can cause a transition to occur.") + attrs.DisplayName = LocalizedText("HasCause") + attrs.InverseName = LocalizedText("MayBeCausedBy") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=53") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=32") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(53, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(32, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=54") - node.BrowseName = ua.QualifiedName.from_string("HasEffect") - node.NodeClass = ua.NodeClass.ReferenceType - node.ParentNodeId = ua.NodeId.from_string("i=32") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(54, 0) + node.BrowseName = QualifiedName('HasEffect', 0) + node.NodeClass = NodeClass.ReferenceType + node.ParentNodeId = NumericNodeId(32, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ReferenceTypeAttributes() - attrs.Description = ua.LocalizedText("The type for a reference to an event that may be raised when a transition occurs.") - attrs.DisplayName = ua.LocalizedText("HasEffect") - attrs.InverseName = ua.LocalizedText("MayBeEffectedBy") + attrs.Description = LocalizedText("The type for a reference to an event that may be raised when a transition occurs.") + attrs.DisplayName = LocalizedText("HasEffect") + attrs.InverseName = LocalizedText("MayBeEffectedBy") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=54") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=32") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(54, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(32, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=117") - node.BrowseName = ua.QualifiedName.from_string("HasSubStateMachine") - node.NodeClass = ua.NodeClass.ReferenceType - node.ParentNodeId = ua.NodeId.from_string("i=32") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(117, 0) + node.BrowseName = QualifiedName('HasSubStateMachine', 0) + node.NodeClass = NodeClass.ReferenceType + node.ParentNodeId = NumericNodeId(32, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ReferenceTypeAttributes() - attrs.Description = ua.LocalizedText("The type for a reference to a substate for a state.") - attrs.DisplayName = ua.LocalizedText("HasSubStateMachine") - attrs.InverseName = ua.LocalizedText("SubStateMachineOf") + attrs.Description = LocalizedText("The type for a reference to a substate for a state.") + attrs.DisplayName = LocalizedText("HasSubStateMachine") + attrs.InverseName = LocalizedText("SubStateMachineOf") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=117") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=32") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(117, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(32, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=58") - node.BrowseName = ua.QualifiedName.from_string("BaseObjectType") - node.NodeClass = ua.NodeClass.ObjectType + node.RequestedNewNodeId = NumericNodeId(58, 0) + node.BrowseName = QualifiedName('BaseObjectType', 0) + node.NodeClass = NodeClass.ObjectType attrs = ua.ObjectTypeAttributes() - attrs.Description = ua.LocalizedText("The base type for all object nodes.") - attrs.DisplayName = ua.LocalizedText("BaseObjectType") + attrs.Description = LocalizedText("The base type for all object nodes.") + attrs.DisplayName = LocalizedText("BaseObjectType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=61") - node.BrowseName = ua.QualifiedName.from_string("FolderType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=58") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(61, 0) + node.BrowseName = QualifiedName('FolderType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(58, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.Description = ua.LocalizedText("The type for objects that organize other nodes.") - attrs.DisplayName = ua.LocalizedText("FolderType") + attrs.Description = LocalizedText("The type for objects that organize other nodes.") + attrs.DisplayName = LocalizedText("FolderType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=61") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=58") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(61, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(58, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=62") - node.BrowseName = ua.QualifiedName.from_string("BaseVariableType") - node.NodeClass = ua.NodeClass.VariableType + node.RequestedNewNodeId = NumericNodeId(62, 0) + node.BrowseName = QualifiedName('BaseVariableType', 0) + node.NodeClass = NodeClass.VariableType attrs = ua.VariableTypeAttributes() - attrs.Description = ua.LocalizedText("The abstract base type for all variable nodes.") - attrs.DisplayName = ua.LocalizedText("BaseVariableType") + attrs.Description = LocalizedText("The abstract base type for all variable nodes.") + attrs.DisplayName = LocalizedText("BaseVariableType") attrs.IsAbstract = True - attrs.Description = ua.LocalizedText("The abstract base type for all variable nodes.") - attrs.DisplayName = ua.LocalizedText("BaseVariableType") + attrs.Description = LocalizedText("The abstract base type for all variable nodes.") + attrs.DisplayName = LocalizedText("BaseVariableType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -2 node.NodeAttributes = attrs server.add_nodes([node]) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=63") - node.BrowseName = ua.QualifiedName.from_string("BaseDataVariableType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=62") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(63, 0) + node.BrowseName = QualifiedName('BaseDataVariableType', 0) + node.NodeClass = NodeClass.VariableType + node.ParentNodeId = NumericNodeId(62, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.VariableTypeAttributes() - attrs.Description = ua.LocalizedText("The type for variable that represents a process value.") - attrs.DisplayName = ua.LocalizedText("BaseDataVariableType") - attrs.Description = ua.LocalizedText("The type for variable that represents a process value.") - attrs.DisplayName = ua.LocalizedText("BaseDataVariableType") + attrs.Description = LocalizedText("The type for variable that represents a process value.") + attrs.DisplayName = LocalizedText("BaseDataVariableType") + attrs.Description = LocalizedText("The type for variable that represents a process value.") + attrs.DisplayName = LocalizedText("BaseDataVariableType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -2 node.NodeAttributes = attrs @@ -187,24 +189,24 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=63") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=62") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(63, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(62, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=68") - node.BrowseName = ua.QualifiedName.from_string("PropertyType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=62") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(68, 0) + node.BrowseName = QualifiedName('PropertyType', 0) + node.NodeClass = NodeClass.VariableType + node.ParentNodeId = NumericNodeId(62, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.VariableTypeAttributes() - attrs.Description = ua.LocalizedText("The type for variable that represents a property of another node.") - attrs.DisplayName = ua.LocalizedText("PropertyType") - attrs.Description = ua.LocalizedText("The type for variable that represents a property of another node.") - attrs.DisplayName = ua.LocalizedText("PropertyType") + attrs.Description = LocalizedText("The type for variable that represents a property of another node.") + attrs.DisplayName = LocalizedText("PropertyType") + attrs.Description = LocalizedText("The type for variable that represents a property of another node.") + attrs.DisplayName = LocalizedText("PropertyType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -2 node.NodeAttributes = attrs @@ -212,24 +214,24 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=68") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=62") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(68, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(62, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=69") - node.BrowseName = ua.QualifiedName.from_string("DataTypeDescriptionType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=63") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(69, 0) + node.BrowseName = QualifiedName('DataTypeDescriptionType', 0) + node.NodeClass = NodeClass.VariableType + node.ParentNodeId = NumericNodeId(63, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.VariableTypeAttributes() - attrs.Description = ua.LocalizedText("The type for variable that represents the description of a data type encoding.") - attrs.DisplayName = ua.LocalizedText("DataTypeDescriptionType") - attrs.Description = ua.LocalizedText("The type for variable that represents the description of a data type encoding.") - attrs.DisplayName = ua.LocalizedText("DataTypeDescriptionType") + attrs.Description = LocalizedText("The type for variable that represents the description of a data type encoding.") + attrs.DisplayName = LocalizedText("DataTypeDescriptionType") + attrs.Description = LocalizedText("The type for variable that represents the description of a data type encoding.") + attrs.DisplayName = LocalizedText("DataTypeDescriptionType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -237,37 +239,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=69") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=104") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(69, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(104, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=69") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=105") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(69, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(105, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=69") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(69, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=104") - node.BrowseName = ua.QualifiedName.from_string("DataTypeVersion") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=69") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(104, 0) + node.BrowseName = QualifiedName('DataTypeVersion', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(69, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The version number for the data type description.") - attrs.DisplayName = ua.LocalizedText("DataTypeVersion") + attrs.Description = LocalizedText("The version number for the data type description.") + attrs.DisplayName = LocalizedText("DataTypeVersion") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -275,37 +277,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=104") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(104, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=104") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(104, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=104") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(104, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=105") - node.BrowseName = ua.QualifiedName.from_string("DictionaryFragment") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=69") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(105, 0) + node.BrowseName = QualifiedName('DictionaryFragment', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(69, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A fragment of a data type dictionary that defines the data type.") - attrs.DisplayName = ua.LocalizedText("DictionaryFragment") + attrs.Description = LocalizedText("A fragment of a data type dictionary that defines the data type.") + attrs.DisplayName = LocalizedText("DictionaryFragment") attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -313,38 +315,38 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=105") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(105, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=105") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(105, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=105") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(105, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=72") - node.BrowseName = ua.QualifiedName.from_string("DataTypeDictionaryType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=63") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(72, 0) + node.BrowseName = QualifiedName('DataTypeDictionaryType', 0) + node.NodeClass = NodeClass.VariableType + node.ParentNodeId = NumericNodeId(63, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.VariableTypeAttributes() - attrs.Description = ua.LocalizedText("The type for variable that represents the collection of data type decriptions.") - attrs.DisplayName = ua.LocalizedText("DataTypeDictionaryType") - attrs.Description = ua.LocalizedText("The type for variable that represents the collection of data type decriptions.") - attrs.DisplayName = ua.LocalizedText("DataTypeDictionaryType") + attrs.Description = LocalizedText("The type for variable that represents the collection of data type decriptions.") + attrs.DisplayName = LocalizedText("DataTypeDictionaryType") + attrs.Description = LocalizedText("The type for variable that represents the collection of data type decriptions.") + attrs.DisplayName = LocalizedText("DataTypeDictionaryType") attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -352,44 +354,44 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=72") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=106") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(72, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(106, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=72") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=107") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(72, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(107, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=72") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15001") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(72, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15001, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=72") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(72, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=106") - node.BrowseName = ua.QualifiedName.from_string("DataTypeVersion") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=72") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(106, 0) + node.BrowseName = QualifiedName('DataTypeVersion', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(72, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The version number for the data type dictionary.") - attrs.DisplayName = ua.LocalizedText("DataTypeVersion") + attrs.Description = LocalizedText("The version number for the data type dictionary.") + attrs.DisplayName = LocalizedText("DataTypeVersion") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -397,37 +399,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=106") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(106, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=106") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(106, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=106") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=72") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(106, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(72, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=107") - node.BrowseName = ua.QualifiedName.from_string("NamespaceUri") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=72") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(107, 0) + node.BrowseName = QualifiedName('NamespaceUri', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(72, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A URI that uniquely identifies the dictionary.") - attrs.DisplayName = ua.LocalizedText("NamespaceUri") + attrs.Description = LocalizedText("A URI that uniquely identifies the dictionary.") + attrs.DisplayName = LocalizedText("NamespaceUri") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -435,37 +437,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=107") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(107, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=107") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(107, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=107") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=72") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(107, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(72, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15001") - node.BrowseName = ua.QualifiedName.from_string("Deprecated") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=72") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15001, 0) + node.BrowseName = QualifiedName('Deprecated', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(72, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("Indicates that all of the definitions for the dictionary are available through a DataTypeDefinition Attribute.") - attrs.DisplayName = ua.LocalizedText("Deprecated") + attrs.Description = LocalizedText("Indicates that all of the definitions for the dictionary are available through a DataTypeDefinition Attribute.") + attrs.DisplayName = LocalizedText("Deprecated") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -473,109 +475,109 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15001") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15001, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15001") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15001, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15001") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=72") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15001, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(72, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=75") - node.BrowseName = ua.QualifiedName.from_string("DataTypeSystemType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=58") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(75, 0) + node.BrowseName = QualifiedName('DataTypeSystemType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(58, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("DataTypeSystemType") + attrs.DisplayName = LocalizedText("DataTypeSystemType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=75") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=58") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(75, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(58, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=76") - node.BrowseName = ua.QualifiedName.from_string("DataTypeEncodingType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=58") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(76, 0) + node.BrowseName = QualifiedName('DataTypeEncodingType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(58, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("DataTypeEncodingType") + attrs.DisplayName = LocalizedText("DataTypeEncodingType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=76") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=58") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(76, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(58, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=77") - node.BrowseName = ua.QualifiedName.from_string("ModellingRuleType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=58") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(77, 0) + node.BrowseName = QualifiedName('ModellingRuleType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(58, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.Description = ua.LocalizedText("The type for an object that describes how an instance declaration is used when a type is instantiated.") - attrs.DisplayName = ua.LocalizedText("ModellingRuleType") + attrs.Description = LocalizedText("The type for an object that describes how an instance declaration is used when a type is instantiated.") + attrs.DisplayName = LocalizedText("ModellingRuleType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=77") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=111") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(77, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(111, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=77") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=58") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(77, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(58, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=111") - node.BrowseName = ua.QualifiedName.from_string("NamingRule") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=77") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(111, 0) + node.BrowseName = QualifiedName('NamingRule', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(77, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("Specified the significances of the BrowseName when a type is instantiated.") - attrs.DisplayName = ua.LocalizedText("NamingRule") - attrs.DataType = ua.NodeId.from_string("i=120") + attrs.Description = LocalizedText("Specified the significances of the BrowseName when a type is instantiated.") + attrs.DisplayName = LocalizedText("NamingRule") + attrs.DataType = NumericNodeId(120, 0) attrs.Value = ua.Variant(1, ua.VariantType.Int32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -583,66 +585,66 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=111") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(111, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=111") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(111, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=111") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=77") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(111, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(77, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=78") - node.BrowseName = ua.QualifiedName.from_string("Mandatory") - node.NodeClass = ua.NodeClass.Object - node.TypeDefinition = ua.NodeId.from_string("i=77") + node.RequestedNewNodeId = NumericNodeId(78, 0) + node.BrowseName = QualifiedName('Mandatory', 0) + node.NodeClass = NodeClass.Object + node.TypeDefinition = NumericNodeId(77, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Specifies that an instance with the attributes and references of the instance declaration must appear when a type is instantiated.") - attrs.DisplayName = ua.LocalizedText("Mandatory") + attrs.Description = LocalizedText("Specifies that an instance with the attributes and references of the instance declaration must appear when a type is instantiated.") + attrs.DisplayName = LocalizedText("Mandatory") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=78") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=112") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(78, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(112, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=78") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=77") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(78, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(77, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=112") - node.BrowseName = ua.QualifiedName.from_string("NamingRule") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=78") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(112, 0) + node.BrowseName = QualifiedName('NamingRule', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(78, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("Specified the significances of the BrowseName when a type is instantiated.") - attrs.DisplayName = ua.LocalizedText("NamingRule") - attrs.DataType = ua.NodeId.from_string("i=120") + attrs.Description = LocalizedText("Specified the significances of the BrowseName when a type is instantiated.") + attrs.DisplayName = LocalizedText("NamingRule") + attrs.DataType = NumericNodeId(120, 0) attrs.Value = ua.Variant(1, ua.VariantType.Int32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -650,59 +652,59 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=112") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(112, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=112") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(112, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=80") - node.BrowseName = ua.QualifiedName.from_string("Optional") - node.NodeClass = ua.NodeClass.Object - node.TypeDefinition = ua.NodeId.from_string("i=77") + node.RequestedNewNodeId = NumericNodeId(80, 0) + node.BrowseName = QualifiedName('Optional', 0) + node.NodeClass = NodeClass.Object + node.TypeDefinition = NumericNodeId(77, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Specifies that an instance with the attributes and references of the instance declaration may appear when a type is instantiated.") - attrs.DisplayName = ua.LocalizedText("Optional") + attrs.Description = LocalizedText("Specifies that an instance with the attributes and references of the instance declaration may appear when a type is instantiated.") + attrs.DisplayName = LocalizedText("Optional") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=80") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=113") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(80, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(113, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=80") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=77") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(80, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(77, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=113") - node.BrowseName = ua.QualifiedName.from_string("NamingRule") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=80") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(113, 0) + node.BrowseName = QualifiedName('NamingRule', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(80, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("Specified the significances of the BrowseName when a type is instantiated.") - attrs.DisplayName = ua.LocalizedText("NamingRule") - attrs.DataType = ua.NodeId.from_string("i=120") + attrs.Description = LocalizedText("Specified the significances of the BrowseName when a type is instantiated.") + attrs.DisplayName = LocalizedText("NamingRule") + attrs.DataType = NumericNodeId(120, 0) attrs.Value = ua.Variant(2, ua.VariantType.Int32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -710,59 +712,59 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=113") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(113, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=113") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(113, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=83") - node.BrowseName = ua.QualifiedName.from_string("ExposesItsArray") - node.NodeClass = ua.NodeClass.Object - node.TypeDefinition = ua.NodeId.from_string("i=77") + node.RequestedNewNodeId = NumericNodeId(83, 0) + node.BrowseName = QualifiedName('ExposesItsArray', 0) + node.NodeClass = NodeClass.Object + node.TypeDefinition = NumericNodeId(77, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Specifies that an instance appears for each element of the containing array variable.") - attrs.DisplayName = ua.LocalizedText("ExposesItsArray") + attrs.Description = LocalizedText("Specifies that an instance appears for each element of the containing array variable.") + attrs.DisplayName = LocalizedText("ExposesItsArray") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=83") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=114") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(83, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(114, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=83") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=77") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(83, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(77, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=114") - node.BrowseName = ua.QualifiedName.from_string("NamingRule") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=83") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(114, 0) + node.BrowseName = QualifiedName('NamingRule', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(83, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("Specified the significances of the BrowseName when a type is instantiated.") - attrs.DisplayName = ua.LocalizedText("NamingRule") - attrs.DataType = ua.NodeId.from_string("i=120") + attrs.Description = LocalizedText("Specified the significances of the BrowseName when a type is instantiated.") + attrs.DisplayName = LocalizedText("NamingRule") + attrs.DataType = NumericNodeId(120, 0) attrs.Value = ua.Variant(3, ua.VariantType.Int32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -770,59 +772,59 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=114") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(114, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=114") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=83") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(114, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(83, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=79") - node.BrowseName = ua.QualifiedName.from_string("MandatoryShared") - node.NodeClass = ua.NodeClass.Object - node.TypeDefinition = ua.NodeId.from_string("i=77") + node.RequestedNewNodeId = NumericNodeId(79, 0) + node.BrowseName = QualifiedName('MandatoryShared', 0) + node.NodeClass = NodeClass.Object + node.TypeDefinition = NumericNodeId(77, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Specifies that a reference to a shared instance must appear in when a type is instantiated.") - attrs.DisplayName = ua.LocalizedText("MandatoryShared") + attrs.Description = LocalizedText("Specifies that a reference to a shared instance must appear in when a type is instantiated.") + attrs.DisplayName = LocalizedText("MandatoryShared") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=79") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=116") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(79, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(116, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=79") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=77") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(79, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(77, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=116") - node.BrowseName = ua.QualifiedName.from_string("NamingRule") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=79") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(116, 0) + node.BrowseName = QualifiedName('NamingRule', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(79, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("Specified the significances of the BrowseName when a type is instantiated.") - attrs.DisplayName = ua.LocalizedText("NamingRule") - attrs.DataType = ua.NodeId.from_string("i=120") + attrs.Description = LocalizedText("Specified the significances of the BrowseName when a type is instantiated.") + attrs.DisplayName = LocalizedText("NamingRule") + attrs.DataType = NumericNodeId(120, 0) attrs.Value = ua.Variant(1, ua.VariantType.Int32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -830,59 +832,59 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=116") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(116, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=116") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=79") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(116, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(79, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11508") - node.BrowseName = ua.QualifiedName.from_string("OptionalPlaceholder") - node.NodeClass = ua.NodeClass.Object - node.TypeDefinition = ua.NodeId.from_string("i=77") + node.RequestedNewNodeId = NumericNodeId(11508, 0) + node.BrowseName = QualifiedName('OptionalPlaceholder', 0) + node.NodeClass = NodeClass.Object + node.TypeDefinition = NumericNodeId(77, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Specifies that zero or more instances with the attributes and references of the instance declaration may appear when a type is instantiated.") - attrs.DisplayName = ua.LocalizedText("OptionalPlaceholder") + attrs.Description = LocalizedText("Specifies that zero or more instances with the attributes and references of the instance declaration may appear when a type is instantiated.") + attrs.DisplayName = LocalizedText("OptionalPlaceholder") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11508") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11509") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11508, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11509, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11508") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=77") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11508, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(77, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11509") - node.BrowseName = ua.QualifiedName.from_string("NamingRule") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11508") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11509, 0) + node.BrowseName = QualifiedName('NamingRule', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11508, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("Specified the significances of the BrowseName when a type is instantiated.") - attrs.DisplayName = ua.LocalizedText("NamingRule") - attrs.DataType = ua.NodeId.from_string("i=120") + attrs.Description = LocalizedText("Specified the significances of the BrowseName when a type is instantiated.") + attrs.DisplayName = LocalizedText("NamingRule") + attrs.DataType = NumericNodeId(120, 0) attrs.Value = ua.Variant(2, ua.VariantType.Int32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -890,59 +892,59 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11509") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11509, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11509") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11508") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11509, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11508, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11510") - node.BrowseName = ua.QualifiedName.from_string("MandatoryPlaceholder") - node.NodeClass = ua.NodeClass.Object - node.TypeDefinition = ua.NodeId.from_string("i=77") + node.RequestedNewNodeId = NumericNodeId(11510, 0) + node.BrowseName = QualifiedName('MandatoryPlaceholder', 0) + node.NodeClass = NodeClass.Object + node.TypeDefinition = NumericNodeId(77, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Specifies that one or more instances with the attributes and references of the instance declaration must appear when a type is instantiated.") - attrs.DisplayName = ua.LocalizedText("MandatoryPlaceholder") + attrs.Description = LocalizedText("Specifies that one or more instances with the attributes and references of the instance declaration must appear when a type is instantiated.") + attrs.DisplayName = LocalizedText("MandatoryPlaceholder") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11510") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11511") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11510, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11511, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11510") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=77") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11510, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(77, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11511") - node.BrowseName = ua.QualifiedName.from_string("NamingRule") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11510") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11511, 0) + node.BrowseName = QualifiedName('NamingRule', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11510, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("Specified the significances of the BrowseName when a type is instantiated.") - attrs.DisplayName = ua.LocalizedText("NamingRule") - attrs.DataType = ua.NodeId.from_string("i=120") + attrs.Description = LocalizedText("Specified the significances of the BrowseName when a type is instantiated.") + attrs.DisplayName = LocalizedText("NamingRule") + attrs.DataType = NumericNodeId(120, 0) attrs.Value = ua.Variant(1, ua.VariantType.Int32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -950,448 +952,448 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11511") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11511, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11511") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11510") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11511, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11510, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=84") - node.BrowseName = ua.QualifiedName.from_string("Root") - node.NodeClass = ua.NodeClass.Object - node.TypeDefinition = ua.NodeId.from_string("i=61") + node.RequestedNewNodeId = NumericNodeId(84, 0) + node.BrowseName = QualifiedName('Root', 0) + node.NodeClass = NodeClass.Object + node.TypeDefinition = NumericNodeId(61, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("The root of the server address space.") - attrs.DisplayName = ua.LocalizedText("Root") + attrs.Description = LocalizedText("The root of the server address space.") + attrs.DisplayName = LocalizedText("Root") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=84") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=61") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(84, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(61, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=85") - node.BrowseName = ua.QualifiedName.from_string("Objects") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=84") - node.ReferenceTypeId = ua.NodeId.from_string("i=35") - node.TypeDefinition = ua.NodeId.from_string("i=61") + node.RequestedNewNodeId = NumericNodeId(85, 0) + node.BrowseName = QualifiedName('Objects', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(84, 0) + node.ReferenceTypeId = NumericNodeId(35, 0) + node.TypeDefinition = NumericNodeId(61, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("The browse entry point when looking for objects in the server address space.") - attrs.DisplayName = ua.LocalizedText("Objects") + attrs.Description = LocalizedText("The browse entry point when looking for objects in the server address space.") + attrs.DisplayName = LocalizedText("Objects") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=35") - ref.SourceNodeId = ua.NodeId.from_string("i=85") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=84") + ref.ReferenceTypeId = NumericNodeId(35, 0) + ref.SourceNodeId = NumericNodeId(85, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(84, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=85") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=61") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(85, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(61, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=86") - node.BrowseName = ua.QualifiedName.from_string("Types") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=84") - node.ReferenceTypeId = ua.NodeId.from_string("i=35") - node.TypeDefinition = ua.NodeId.from_string("i=61") + node.RequestedNewNodeId = NumericNodeId(86, 0) + node.BrowseName = QualifiedName('Types', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(84, 0) + node.ReferenceTypeId = NumericNodeId(35, 0) + node.TypeDefinition = NumericNodeId(61, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("The browse entry point when looking for types in the server address space.") - attrs.DisplayName = ua.LocalizedText("Types") + attrs.Description = LocalizedText("The browse entry point when looking for types in the server address space.") + attrs.DisplayName = LocalizedText("Types") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=35") - ref.SourceNodeId = ua.NodeId.from_string("i=86") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=84") + ref.ReferenceTypeId = NumericNodeId(35, 0) + ref.SourceNodeId = NumericNodeId(86, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(84, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=86") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=61") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(86, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(61, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=87") - node.BrowseName = ua.QualifiedName.from_string("Views") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=84") - node.ReferenceTypeId = ua.NodeId.from_string("i=35") - node.TypeDefinition = ua.NodeId.from_string("i=61") + node.RequestedNewNodeId = NumericNodeId(87, 0) + node.BrowseName = QualifiedName('Views', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(84, 0) + node.ReferenceTypeId = NumericNodeId(35, 0) + node.TypeDefinition = NumericNodeId(61, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("The browse entry point when looking for views in the server address space.") - attrs.DisplayName = ua.LocalizedText("Views") + attrs.Description = LocalizedText("The browse entry point when looking for views in the server address space.") + attrs.DisplayName = LocalizedText("Views") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=35") - ref.SourceNodeId = ua.NodeId.from_string("i=87") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=84") + ref.ReferenceTypeId = NumericNodeId(35, 0) + ref.SourceNodeId = NumericNodeId(87, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(84, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=87") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=61") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(87, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(61, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=88") - node.BrowseName = ua.QualifiedName.from_string("ObjectTypes") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=86") - node.ReferenceTypeId = ua.NodeId.from_string("i=35") - node.TypeDefinition = ua.NodeId.from_string("i=61") + node.RequestedNewNodeId = NumericNodeId(88, 0) + node.BrowseName = QualifiedName('ObjectTypes', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(86, 0) + node.ReferenceTypeId = NumericNodeId(35, 0) + node.TypeDefinition = NumericNodeId(61, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("The browse entry point when looking for object types in the server address space.") - attrs.DisplayName = ua.LocalizedText("ObjectTypes") + attrs.Description = LocalizedText("The browse entry point when looking for object types in the server address space.") + attrs.DisplayName = LocalizedText("ObjectTypes") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=35") - ref.SourceNodeId = ua.NodeId.from_string("i=88") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=86") + ref.ReferenceTypeId = NumericNodeId(35, 0) + ref.SourceNodeId = NumericNodeId(88, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(86, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=35") - ref.SourceNodeId = ua.NodeId.from_string("i=88") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=58") + ref.ReferenceTypeId = NumericNodeId(35, 0) + ref.SourceNodeId = NumericNodeId(88, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(58, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=88") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=61") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(88, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(61, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=89") - node.BrowseName = ua.QualifiedName.from_string("VariableTypes") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=86") - node.ReferenceTypeId = ua.NodeId.from_string("i=35") - node.TypeDefinition = ua.NodeId.from_string("i=61") + node.RequestedNewNodeId = NumericNodeId(89, 0) + node.BrowseName = QualifiedName('VariableTypes', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(86, 0) + node.ReferenceTypeId = NumericNodeId(35, 0) + node.TypeDefinition = NumericNodeId(61, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("The browse entry point when looking for variable types in the server address space.") - attrs.DisplayName = ua.LocalizedText("VariableTypes") + attrs.Description = LocalizedText("The browse entry point when looking for variable types in the server address space.") + attrs.DisplayName = LocalizedText("VariableTypes") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=35") - ref.SourceNodeId = ua.NodeId.from_string("i=89") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=86") + ref.ReferenceTypeId = NumericNodeId(35, 0) + ref.SourceNodeId = NumericNodeId(89, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(86, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=35") - ref.SourceNodeId = ua.NodeId.from_string("i=89") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=62") + ref.ReferenceTypeId = NumericNodeId(35, 0) + ref.SourceNodeId = NumericNodeId(89, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(62, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=89") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=61") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(89, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(61, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=90") - node.BrowseName = ua.QualifiedName.from_string("DataTypes") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=86") - node.ReferenceTypeId = ua.NodeId.from_string("i=35") - node.TypeDefinition = ua.NodeId.from_string("i=61") + node.RequestedNewNodeId = NumericNodeId(90, 0) + node.BrowseName = QualifiedName('DataTypes', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(86, 0) + node.ReferenceTypeId = NumericNodeId(35, 0) + node.TypeDefinition = NumericNodeId(61, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("The browse entry point when looking for data types in the server address space.") - attrs.DisplayName = ua.LocalizedText("DataTypes") + attrs.Description = LocalizedText("The browse entry point when looking for data types in the server address space.") + attrs.DisplayName = LocalizedText("DataTypes") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=35") - ref.SourceNodeId = ua.NodeId.from_string("i=90") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=86") + ref.ReferenceTypeId = NumericNodeId(35, 0) + ref.SourceNodeId = NumericNodeId(90, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(86, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=35") - ref.SourceNodeId = ua.NodeId.from_string("i=90") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=24") + ref.ReferenceTypeId = NumericNodeId(35, 0) + ref.SourceNodeId = NumericNodeId(90, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(24, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=90") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=61") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(90, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(61, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=91") - node.BrowseName = ua.QualifiedName.from_string("ReferenceTypes") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=86") - node.ReferenceTypeId = ua.NodeId.from_string("i=35") - node.TypeDefinition = ua.NodeId.from_string("i=61") + node.RequestedNewNodeId = NumericNodeId(91, 0) + node.BrowseName = QualifiedName('ReferenceTypes', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(86, 0) + node.ReferenceTypeId = NumericNodeId(35, 0) + node.TypeDefinition = NumericNodeId(61, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("The browse entry point when looking for reference types in the server address space.") - attrs.DisplayName = ua.LocalizedText("ReferenceTypes") + attrs.Description = LocalizedText("The browse entry point when looking for reference types in the server address space.") + attrs.DisplayName = LocalizedText("ReferenceTypes") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=35") - ref.SourceNodeId = ua.NodeId.from_string("i=91") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=86") + ref.ReferenceTypeId = NumericNodeId(35, 0) + ref.SourceNodeId = NumericNodeId(91, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(86, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=35") - ref.SourceNodeId = ua.NodeId.from_string("i=91") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=31") + ref.ReferenceTypeId = NumericNodeId(35, 0) + ref.SourceNodeId = NumericNodeId(91, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(31, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=91") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=61") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(91, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(61, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=92") - node.BrowseName = ua.QualifiedName.from_string("XML Schema") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=90") - node.ReferenceTypeId = ua.NodeId.from_string("i=35") - node.TypeDefinition = ua.NodeId.from_string("i=75") + node.RequestedNewNodeId = NumericNodeId(92, 0) + node.BrowseName = QualifiedName('XML Schema', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(90, 0) + node.ReferenceTypeId = NumericNodeId(35, 0) + node.TypeDefinition = NumericNodeId(75, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("A type system which uses XML schema to describe the encoding of data types.") - attrs.DisplayName = ua.LocalizedText("XML Schema") + attrs.Description = LocalizedText("A type system which uses XML schema to describe the encoding of data types.") + attrs.DisplayName = LocalizedText("XML Schema") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=35") - ref.SourceNodeId = ua.NodeId.from_string("i=92") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=90") + ref.ReferenceTypeId = NumericNodeId(35, 0) + ref.SourceNodeId = NumericNodeId(92, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(90, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=92") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=75") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(92, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(75, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=93") - node.BrowseName = ua.QualifiedName.from_string("OPC Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=90") - node.ReferenceTypeId = ua.NodeId.from_string("i=35") - node.TypeDefinition = ua.NodeId.from_string("i=75") + node.RequestedNewNodeId = NumericNodeId(93, 0) + node.BrowseName = QualifiedName('OPC Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(90, 0) + node.ReferenceTypeId = NumericNodeId(35, 0) + node.TypeDefinition = NumericNodeId(75, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("A type system which uses OPC binary schema to describe the encoding of data types.") - attrs.DisplayName = ua.LocalizedText("OPC Binary") + attrs.Description = LocalizedText("A type system which uses OPC binary schema to describe the encoding of data types.") + attrs.DisplayName = LocalizedText("OPC Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=35") - ref.SourceNodeId = ua.NodeId.from_string("i=93") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=90") + ref.ReferenceTypeId = NumericNodeId(35, 0) + ref.SourceNodeId = NumericNodeId(93, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(90, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=93") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=75") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(93, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(75, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15957") - node.BrowseName = ua.QualifiedName.from_string("0:http://opcfoundation.org/UA/") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=11715") - node.ReferenceTypeId = ua.NodeId.from_string("i=35") - node.TypeDefinition = ua.NodeId.from_string("i=11616") + node.RequestedNewNodeId = NumericNodeId(15957, 0) + node.BrowseName = QualifiedName('http://opcfoundation.org/UA/', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(11715, 0) + node.ReferenceTypeId = NumericNodeId(35, 0) + node.TypeDefinition = NumericNodeId(11616, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("http://opcfoundation.org/UA/") + attrs.DisplayName = LocalizedText("http://opcfoundation.org/UA/") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15957") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15958") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15957, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15958, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15957") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15959") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15957, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15959, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15957") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15960") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15957, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15960, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15957") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15961") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15957, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15961, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15957") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15962") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15957, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15962, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15957") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15963") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15957, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15963, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15957") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15964") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15957, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15964, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15957") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16134") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15957, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16134, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15957") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16135") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15957, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16135, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15957") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16136") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15957, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16136, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=35") - ref.SourceNodeId = ua.NodeId.from_string("i=15957") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11715") + ref.ReferenceTypeId = NumericNodeId(35, 0) + ref.SourceNodeId = NumericNodeId(15957, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11715, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15957") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11616") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15957, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11616, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15958") - node.BrowseName = ua.QualifiedName.from_string("NamespaceUri") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15957") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15958, 0) + node.BrowseName = QualifiedName('NamespaceUri', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15957, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The URI of the namespace.") - attrs.DisplayName = ua.LocalizedText("NamespaceUri") + attrs.Description = LocalizedText("The URI of the namespace.") + attrs.DisplayName = LocalizedText("NamespaceUri") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('http://opcfoundation.org/UA/', ua.VariantType.String) attrs.ValueRank = -1 @@ -1400,30 +1402,30 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15958") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15958, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15958") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15957") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15958, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15957, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15959") - node.BrowseName = ua.QualifiedName.from_string("NamespaceVersion") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15957") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15959, 0) + node.BrowseName = QualifiedName('NamespaceVersion', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15957, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The human readable string representing version of the namespace.") - attrs.DisplayName = ua.LocalizedText("NamespaceVersion") + attrs.Description = LocalizedText("The human readable string representing version of the namespace.") + attrs.DisplayName = LocalizedText("NamespaceVersion") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('1.04', ua.VariantType.String) attrs.ValueRank = -1 @@ -1432,30 +1434,30 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15959") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15959, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15959") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15957") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15959, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15957, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15960") - node.BrowseName = ua.QualifiedName.from_string("NamespacePublicationDate") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15957") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15960, 0) + node.BrowseName = QualifiedName('NamespacePublicationDate', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15957, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The publication date for the namespace.") - attrs.DisplayName = ua.LocalizedText("NamespacePublicationDate") + attrs.Description = LocalizedText("The publication date for the namespace.") + attrs.DisplayName = LocalizedText("NamespacePublicationDate") attrs.DataType = ua.NodeId(ua.ObjectIds.DateTime) attrs.Value = ua.Variant('2017-11-22', ua.VariantType.String) attrs.ValueRank = -1 @@ -1464,30 +1466,30 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15960") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15960, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15960") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15957") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15960, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15957, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15961") - node.BrowseName = ua.QualifiedName.from_string("IsNamespaceSubset") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15957") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15961, 0) + node.BrowseName = QualifiedName('IsNamespaceSubset', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15957, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("If TRUE then the server only supports a subset of the namespace.") - attrs.DisplayName = ua.LocalizedText("IsNamespaceSubset") + attrs.Description = LocalizedText("If TRUE then the server only supports a subset of the namespace.") + attrs.DisplayName = LocalizedText("IsNamespaceSubset") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.Value = ua.Variant(False, ua.VariantType.Boolean) attrs.ValueRank = -1 @@ -1496,31 +1498,31 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15961") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15961, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15961") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15957") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15961, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15957, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15962") - node.BrowseName = ua.QualifiedName.from_string("StaticNodeIdTypes") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15957") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15962, 0) + node.BrowseName = QualifiedName('StaticNodeIdTypes', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15957, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A list of IdTypes for nodes which are the same in every server that exposes them.") - attrs.DisplayName = ua.LocalizedText("StaticNodeIdTypes") - attrs.DataType = ua.NodeId.from_string("i=256") + attrs.Description = LocalizedText("A list of IdTypes for nodes which are the same in every server that exposes them.") + attrs.DisplayName = LocalizedText("StaticNodeIdTypes") + attrs.DataType = NumericNodeId(256, 0) attrs.Value = ua.Variant([0], ua.VariantType.Int32) attrs.ValueRank = 1 node.NodeAttributes = attrs @@ -1528,31 +1530,31 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15962") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15962, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15962") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15957") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15962, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15957, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15963") - node.BrowseName = ua.QualifiedName.from_string("StaticNumericNodeIdRange") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15957") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15963, 0) + node.BrowseName = QualifiedName('StaticNumericNodeIdRange', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15957, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A list of ranges for numeric node ids which are the same in every server that exposes them.") - attrs.DisplayName = ua.LocalizedText("StaticNumericNodeIdRange") - attrs.DataType = ua.NodeId.from_string("i=291") + attrs.Description = LocalizedText("A list of ranges for numeric node ids which are the same in every server that exposes them.") + attrs.DisplayName = LocalizedText("StaticNumericNodeIdRange") + attrs.DataType = NumericNodeId(291, 0) attrs.Value = ua.Variant(['1:65535'], ua.VariantType.String) attrs.ValueRank = 1 node.NodeAttributes = attrs @@ -1560,30 +1562,30 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15963") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15963, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15963") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15957") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15963, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15957, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15964") - node.BrowseName = ua.QualifiedName.from_string("StaticStringNodeIdPattern") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15957") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15964, 0) + node.BrowseName = QualifiedName('StaticStringNodeIdPattern', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15957, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A regular expression which matches string node ids are the same in every server that exposes them.") - attrs.DisplayName = ua.LocalizedText("StaticStringNodeIdPattern") + attrs.Description = LocalizedText("A regular expression which matches string node ids are the same in every server that exposes them.") + attrs.DisplayName = LocalizedText("StaticStringNodeIdPattern") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('\n ', ua.VariantType.String) attrs.ValueRank = -1 @@ -1592,89 +1594,89 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15964") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15964, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15964") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15957") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15964, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15957, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16134") - node.BrowseName = ua.QualifiedName.from_string("DefaultRolePermissions") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15957") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16134, 0) + node.BrowseName = QualifiedName('DefaultRolePermissions', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15957, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DefaultRolePermissions") - attrs.DataType = ua.NodeId.from_string("i=96") + attrs.DisplayName = LocalizedText("DefaultRolePermissions") + attrs.DataType = NumericNodeId(96, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16134") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16134, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16134") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15957") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16134, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15957, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16135") - node.BrowseName = ua.QualifiedName.from_string("DefaultUserRolePermissions") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15957") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16135, 0) + node.BrowseName = QualifiedName('DefaultUserRolePermissions', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15957, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DefaultUserRolePermissions") - attrs.DataType = ua.NodeId.from_string("i=96") + attrs.DisplayName = LocalizedText("DefaultUserRolePermissions") + attrs.DataType = NumericNodeId(96, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16135") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16135, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16135") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15957") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16135, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15957, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16136") - node.BrowseName = ua.QualifiedName.from_string("DefaultAccessRestrictions") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15957") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16136, 0) + node.BrowseName = QualifiedName('DefaultAccessRestrictions', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15957, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DefaultAccessRestrictions") + attrs.DisplayName = LocalizedText("DefaultAccessRestrictions") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -1682,172 +1684,172 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16136") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16136, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16136") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15957") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16136, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15957, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2004") - node.BrowseName = ua.QualifiedName.from_string("ServerType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=58") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2004, 0) + node.BrowseName = QualifiedName('ServerType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(58, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.Description = ua.LocalizedText("Specifies the current status and capabilities of the server.") - attrs.DisplayName = ua.LocalizedText("ServerType") + attrs.Description = LocalizedText("Specifies the current status and capabilities of the server.") + attrs.DisplayName = LocalizedText("ServerType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2004") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2005") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2004, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2005, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2004") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2006") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2004, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2006, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2004") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15003") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2004, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15003, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2004") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2007") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2004, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2007, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2004") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2008") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2004, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2008, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2004") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2742") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2004, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2742, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2004") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12882") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2004, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12882, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2004") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17612") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2004, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17612, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2004") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2009") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2004, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2009, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2004") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2010") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2004, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2010, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2004") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2011") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2004, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2011, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2004") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2012") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2004, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2012, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2004") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11527") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2004, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11527, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2004") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11489") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2004, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11489, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2004") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12871") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2004, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12871, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2004") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12746") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2004, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12746, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2004") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12883") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2004, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12883, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2004") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=58") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2004, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(58, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2005") - node.BrowseName = ua.QualifiedName.from_string("ServerArray") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2004") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2005, 0) + node.BrowseName = QualifiedName('ServerArray', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2004, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 - attrs.Description = ua.LocalizedText("The list of server URIs used by the server.") - attrs.DisplayName = ua.LocalizedText("ServerArray") + attrs.Description = LocalizedText("The list of server URIs used by the server.") + attrs.DisplayName = LocalizedText("ServerArray") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 node.NodeAttributes = attrs @@ -1855,38 +1857,38 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2005") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2005, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2005") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2005, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2005") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2004") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2005, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2004, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2006") - node.BrowseName = ua.QualifiedName.from_string("NamespaceArray") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2004") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2006, 0) + node.BrowseName = QualifiedName('NamespaceArray', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2004, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 - attrs.Description = ua.LocalizedText("The list of namespace URIs used by the server.") - attrs.DisplayName = ua.LocalizedText("NamespaceArray") + attrs.Description = LocalizedText("The list of namespace URIs used by the server.") + attrs.DisplayName = LocalizedText("NamespaceArray") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 node.NodeAttributes = attrs @@ -1894,347 +1896,347 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2006") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2006, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2006") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2006, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2006") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2004") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2006, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2004, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15003") - node.BrowseName = ua.QualifiedName.from_string("UrisVersion") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2004") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15003, 0) + node.BrowseName = QualifiedName('UrisVersion', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2004, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 - attrs.Description = ua.LocalizedText("Defines the version of the ServerArray and the NamespaceArray.") - attrs.DisplayName = ua.LocalizedText("UrisVersion") - attrs.DataType = ua.NodeId.from_string("i=20998") + attrs.Description = LocalizedText("Defines the version of the ServerArray and the NamespaceArray.") + attrs.DisplayName = LocalizedText("UrisVersion") + attrs.DataType = NumericNodeId(20998, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15003") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15003, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15003") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15003, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15003") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2004") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15003, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2004, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2007") - node.BrowseName = ua.QualifiedName.from_string("ServerStatus") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2004") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2138") + node.RequestedNewNodeId = NumericNodeId(2007, 0) + node.BrowseName = QualifiedName('ServerStatus', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2004, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2138, 0) attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 - attrs.Description = ua.LocalizedText("The current status of the server.") - attrs.DisplayName = ua.LocalizedText("ServerStatus") - attrs.DataType = ua.NodeId.from_string("i=862") + attrs.Description = LocalizedText("The current status of the server.") + attrs.DisplayName = LocalizedText("ServerStatus") + attrs.DataType = NumericNodeId(862, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2007") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3074") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2007, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3074, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2007") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3075") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2007, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3075, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2007") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3076") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2007, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3076, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2007") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3077") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2007, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3077, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2007") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3084") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2007, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3084, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2007") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3085") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2007, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3085, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2007") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2138") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2007, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2138, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2007") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2007, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2007") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2004") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2007, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2004, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3074") - node.BrowseName = ua.QualifiedName.from_string("StartTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2007") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3074, 0) + node.BrowseName = QualifiedName('StartTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2007, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("StartTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("StartTime") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3074") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3074, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3074") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3074, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3074") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2007") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3074, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2007, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3075") - node.BrowseName = ua.QualifiedName.from_string("CurrentTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2007") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3075, 0) + node.BrowseName = QualifiedName('CurrentTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2007, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("CurrentTime") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3075") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3075, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3075") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3075, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3075") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2007") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3075, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2007, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3076") - node.BrowseName = ua.QualifiedName.from_string("State") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2007") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3076, 0) + node.BrowseName = QualifiedName('State', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2007, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("State") - attrs.DataType = ua.NodeId.from_string("i=852") + attrs.DisplayName = LocalizedText("State") + attrs.DataType = NumericNodeId(852, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3076") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3076, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3076") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3076, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3076") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2007") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3076, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2007, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3077") - node.BrowseName = ua.QualifiedName.from_string("BuildInfo") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2007") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=3051") + node.RequestedNewNodeId = NumericNodeId(3077, 0) + node.BrowseName = QualifiedName('BuildInfo', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2007, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(3051, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("BuildInfo") - attrs.DataType = ua.NodeId.from_string("i=338") + attrs.DisplayName = LocalizedText("BuildInfo") + attrs.DataType = NumericNodeId(338, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3077") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3078") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3077, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3078, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3077") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3079") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3077, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3079, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3077") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3080") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3077, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3080, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3077") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3081") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3077, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3081, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3077") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3082") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3077, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3082, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3077") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3083") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3077, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3083, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3077") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3051") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3077, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3051, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3077") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3077, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3077") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2007") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3077, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2007, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3078") - node.BrowseName = ua.QualifiedName.from_string("ProductUri") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3077") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3078, 0) + node.BrowseName = QualifiedName('ProductUri', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3077, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 - attrs.DisplayName = ua.LocalizedText("ProductUri") + attrs.DisplayName = LocalizedText("ProductUri") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -2242,37 +2244,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3078") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3078, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3078") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3078, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3078") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3077") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3078, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3077, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3079") - node.BrowseName = ua.QualifiedName.from_string("ManufacturerName") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3077") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3079, 0) + node.BrowseName = QualifiedName('ManufacturerName', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3077, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 - attrs.DisplayName = ua.LocalizedText("ManufacturerName") + attrs.DisplayName = LocalizedText("ManufacturerName") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -2280,37 +2282,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3079") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3079, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3079") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3079, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3079") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3077") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3079, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3077, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3080") - node.BrowseName = ua.QualifiedName.from_string("ProductName") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3077") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3080, 0) + node.BrowseName = QualifiedName('ProductName', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3077, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 - attrs.DisplayName = ua.LocalizedText("ProductName") + attrs.DisplayName = LocalizedText("ProductName") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -2318,37 +2320,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3080") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3080, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3080") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3080, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3080") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3077") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3080, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3077, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3081") - node.BrowseName = ua.QualifiedName.from_string("SoftwareVersion") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3077") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3081, 0) + node.BrowseName = QualifiedName('SoftwareVersion', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3077, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 - attrs.DisplayName = ua.LocalizedText("SoftwareVersion") + attrs.DisplayName = LocalizedText("SoftwareVersion") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -2356,37 +2358,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3081") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3081, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3081") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3081, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3081") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3077") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3081, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3077, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3082") - node.BrowseName = ua.QualifiedName.from_string("BuildNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3077") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3082, 0) + node.BrowseName = QualifiedName('BuildNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3077, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 - attrs.DisplayName = ua.LocalizedText("BuildNumber") + attrs.DisplayName = LocalizedText("BuildNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -2394,74 +2396,74 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3082") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3082, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3082") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3082, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3082") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3077") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3082, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3077, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3083") - node.BrowseName = ua.QualifiedName.from_string("BuildDate") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3077") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3083, 0) + node.BrowseName = QualifiedName('BuildDate', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3077, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 - attrs.DisplayName = ua.LocalizedText("BuildDate") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("BuildDate") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3083") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3083, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3083") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3083, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3083") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3077") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3083, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3077, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3084") - node.BrowseName = ua.QualifiedName.from_string("SecondsTillShutdown") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2007") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3084, 0) + node.BrowseName = QualifiedName('SecondsTillShutdown', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2007, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SecondsTillShutdown") + attrs.DisplayName = LocalizedText("SecondsTillShutdown") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -2469,36 +2471,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3084") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3084, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3084") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3084, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3084") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2007") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3084, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2007, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3085") - node.BrowseName = ua.QualifiedName.from_string("ShutdownReason") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2007") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3085, 0) + node.BrowseName = QualifiedName('ShutdownReason', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2007, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ShutdownReason") + attrs.DisplayName = LocalizedText("ShutdownReason") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -2506,38 +2508,38 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3085") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3085, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3085") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3085, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3085") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2007") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3085, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2007, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2008") - node.BrowseName = ua.QualifiedName.from_string("ServiceLevel") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2004") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2008, 0) + node.BrowseName = QualifiedName('ServiceLevel', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2004, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 - attrs.Description = ua.LocalizedText("A value indicating the level of service the server can provide. 255 indicates the best.") - attrs.DisplayName = ua.LocalizedText("ServiceLevel") + attrs.Description = LocalizedText("A value indicating the level of service the server can provide. 255 indicates the best.") + attrs.DisplayName = LocalizedText("ServiceLevel") attrs.DataType = ua.NodeId(ua.ObjectIds.Byte) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -2545,38 +2547,38 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2008") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2008, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2008") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2008, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2008") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2004") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2008, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2004, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2742") - node.BrowseName = ua.QualifiedName.from_string("Auditing") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2004") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2742, 0) + node.BrowseName = QualifiedName('Auditing', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2004, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 - attrs.Description = ua.LocalizedText("A flag indicating whether the server is currently generating audit events.") - attrs.DisplayName = ua.LocalizedText("Auditing") + attrs.Description = LocalizedText("A flag indicating whether the server is currently generating audit events.") + attrs.DisplayName = LocalizedText("Auditing") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -2584,38 +2586,38 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2742") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2742, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2742") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2742, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2742") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2004") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2742, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2004, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12882") - node.BrowseName = ua.QualifiedName.from_string("EstimatedReturnTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2004") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(12882, 0) + node.BrowseName = QualifiedName('EstimatedReturnTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2004, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 - attrs.Description = ua.LocalizedText("Indicates the time at which the Server is expected to be available in the state RUNNING.") - attrs.DisplayName = ua.LocalizedText("EstimatedReturnTime") + attrs.Description = LocalizedText("Indicates the time at which the Server is expected to be available in the state RUNNING.") + attrs.DisplayName = LocalizedText("EstimatedReturnTime") attrs.DataType = ua.NodeId(ua.ObjectIds.DateTime) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -2623,176 +2625,176 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12882") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12882, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12882") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12882, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12882") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2004") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12882, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2004, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17612") - node.BrowseName = ua.QualifiedName.from_string("LocalTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2004") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(17612, 0) + node.BrowseName = QualifiedName('LocalTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2004, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 - attrs.Description = ua.LocalizedText("Indicates the time zone the Server is is running in.") - attrs.DisplayName = ua.LocalizedText("LocalTime") - attrs.DataType = ua.NodeId.from_string("i=8912") + attrs.Description = LocalizedText("Indicates the time zone the Server is is running in.") + attrs.DisplayName = LocalizedText("LocalTime") + attrs.DataType = NumericNodeId(8912, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=17612") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(17612, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=17612") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(17612, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=17612") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2004") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17612, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2004, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2009") - node.BrowseName = ua.QualifiedName.from_string("ServerCapabilities") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2004") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2013") + node.RequestedNewNodeId = NumericNodeId(2009, 0) + node.BrowseName = QualifiedName('ServerCapabilities', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2004, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2013, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Describes capabilities supported by the server.") - attrs.DisplayName = ua.LocalizedText("ServerCapabilities") + attrs.Description = LocalizedText("Describes capabilities supported by the server.") + attrs.DisplayName = LocalizedText("ServerCapabilities") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2009") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3086") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2009, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3086, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2009") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3087") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2009, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3087, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2009") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3088") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2009, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3088, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2009") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3089") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2009, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3089, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2009") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3090") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2009, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3090, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2009") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3091") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2009, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3091, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2009") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3092") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2009, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3092, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2009") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3093") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2009, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3093, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2009") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3094") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2009, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3094, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2009") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2013") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2009, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2013, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2009") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2009, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2009") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2004") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2009, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2004, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3086") - node.BrowseName = ua.QualifiedName.from_string("ServerProfileArray") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2009") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3086, 0) + node.BrowseName = QualifiedName('ServerProfileArray', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2009, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A list of profiles supported by the server.") - attrs.DisplayName = ua.LocalizedText("ServerProfileArray") + attrs.Description = LocalizedText("A list of profiles supported by the server.") + attrs.DisplayName = LocalizedText("ServerProfileArray") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 node.NodeAttributes = attrs @@ -2800,113 +2802,113 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3086") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3086, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3086") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3086, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3086") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2009") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3086, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2009, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3087") - node.BrowseName = ua.QualifiedName.from_string("LocaleIdArray") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2009") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3087, 0) + node.BrowseName = QualifiedName('LocaleIdArray', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2009, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A list of locales supported by the server.") - attrs.DisplayName = ua.LocalizedText("LocaleIdArray") - attrs.DataType = ua.NodeId.from_string("i=295") + attrs.Description = LocalizedText("A list of locales supported by the server.") + attrs.DisplayName = LocalizedText("LocaleIdArray") + attrs.DataType = NumericNodeId(295, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3087") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3087, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3087") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3087, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3087") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2009") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3087, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2009, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3088") - node.BrowseName = ua.QualifiedName.from_string("MinSupportedSampleRate") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2009") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3088, 0) + node.BrowseName = QualifiedName('MinSupportedSampleRate', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2009, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The minimum sampling interval supported by the server.") - attrs.DisplayName = ua.LocalizedText("MinSupportedSampleRate") - attrs.DataType = ua.NodeId.from_string("i=290") + attrs.Description = LocalizedText("The minimum sampling interval supported by the server.") + attrs.DisplayName = LocalizedText("MinSupportedSampleRate") + attrs.DataType = NumericNodeId(290, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3088") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3088, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3088") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3088, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3088") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2009") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3088, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2009, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3089") - node.BrowseName = ua.QualifiedName.from_string("MaxBrowseContinuationPoints") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2009") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3089, 0) + node.BrowseName = QualifiedName('MaxBrowseContinuationPoints', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2009, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum number of continuation points for Browse operations per session.") - attrs.DisplayName = ua.LocalizedText("MaxBrowseContinuationPoints") + attrs.Description = LocalizedText("The maximum number of continuation points for Browse operations per session.") + attrs.DisplayName = LocalizedText("MaxBrowseContinuationPoints") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -2914,37 +2916,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3089") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3089, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3089") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3089, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3089") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2009") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3089, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2009, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3090") - node.BrowseName = ua.QualifiedName.from_string("MaxQueryContinuationPoints") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2009") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3090, 0) + node.BrowseName = QualifiedName('MaxQueryContinuationPoints', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2009, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum number of continuation points for Query operations per session.") - attrs.DisplayName = ua.LocalizedText("MaxQueryContinuationPoints") + attrs.Description = LocalizedText("The maximum number of continuation points for Query operations per session.") + attrs.DisplayName = LocalizedText("MaxQueryContinuationPoints") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -2952,37 +2954,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3090") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3090, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3090") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3090, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3090") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2009") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3090, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2009, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3091") - node.BrowseName = ua.QualifiedName.from_string("MaxHistoryContinuationPoints") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2009") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3091, 0) + node.BrowseName = QualifiedName('MaxHistoryContinuationPoints', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2009, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum number of continuation points for ReadHistory operations per session.") - attrs.DisplayName = ua.LocalizedText("MaxHistoryContinuationPoints") + attrs.Description = LocalizedText("The maximum number of continuation points for ReadHistory operations per session.") + attrs.DisplayName = LocalizedText("MaxHistoryContinuationPoints") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -2990,335 +2992,335 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3091") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3091, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3091") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3091, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3091") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2009") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3091, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2009, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3092") - node.BrowseName = ua.QualifiedName.from_string("SoftwareCertificates") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2009") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3092, 0) + node.BrowseName = QualifiedName('SoftwareCertificates', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2009, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The software certificates owned by the server.") - attrs.DisplayName = ua.LocalizedText("SoftwareCertificates") - attrs.DataType = ua.NodeId.from_string("i=344") + attrs.Description = LocalizedText("The software certificates owned by the server.") + attrs.DisplayName = LocalizedText("SoftwareCertificates") + attrs.DataType = NumericNodeId(344, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3092") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3092, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3092") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3092, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3092") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2009") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3092, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2009, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3093") - node.BrowseName = ua.QualifiedName.from_string("ModellingRules") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2009") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=61") + node.RequestedNewNodeId = NumericNodeId(3093, 0) + node.BrowseName = QualifiedName('ModellingRules', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2009, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(61, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("A folder for the modelling rules supported by the server.") - attrs.DisplayName = ua.LocalizedText("ModellingRules") + attrs.Description = LocalizedText("A folder for the modelling rules supported by the server.") + attrs.DisplayName = LocalizedText("ModellingRules") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3093") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=61") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3093, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(61, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3093") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3093, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3093") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2009") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3093, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2009, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3094") - node.BrowseName = ua.QualifiedName.from_string("AggregateFunctions") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2009") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=61") + node.RequestedNewNodeId = NumericNodeId(3094, 0) + node.BrowseName = QualifiedName('AggregateFunctions', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2009, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(61, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("A folder for the real time aggregates supported by the server.") - attrs.DisplayName = ua.LocalizedText("AggregateFunctions") + attrs.Description = LocalizedText("A folder for the real time aggregates supported by the server.") + attrs.DisplayName = LocalizedText("AggregateFunctions") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3094") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=61") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3094, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(61, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3094") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3094, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3094") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2009") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3094, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2009, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2010") - node.BrowseName = ua.QualifiedName.from_string("ServerDiagnostics") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2004") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2020") + node.RequestedNewNodeId = NumericNodeId(2010, 0) + node.BrowseName = QualifiedName('ServerDiagnostics', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2004, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2020, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Reports diagnostics about the server.") - attrs.DisplayName = ua.LocalizedText("ServerDiagnostics") + attrs.Description = LocalizedText("Reports diagnostics about the server.") + attrs.DisplayName = LocalizedText("ServerDiagnostics") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2010") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3095") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2010, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3095, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2010") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3110") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2010, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3110, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2010") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3111") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2010, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3111, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2010") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3114") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2010, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3114, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2010") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2020") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2010, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2020, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2010") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2010, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2010") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2004") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2010, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2004, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3095") - node.BrowseName = ua.QualifiedName.from_string("ServerDiagnosticsSummary") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2010") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2150") + node.RequestedNewNodeId = NumericNodeId(3095, 0) + node.BrowseName = QualifiedName('ServerDiagnosticsSummary', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2010, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2150, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A summary of server level diagnostics.") - attrs.DisplayName = ua.LocalizedText("ServerDiagnosticsSummary") - attrs.DataType = ua.NodeId.from_string("i=859") + attrs.Description = LocalizedText("A summary of server level diagnostics.") + attrs.DisplayName = LocalizedText("ServerDiagnosticsSummary") + attrs.DataType = NumericNodeId(859, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3095") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3096") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3095, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3096, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3095") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3097") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3095, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3097, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3095") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3098") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3095, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3098, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3095") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3099") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3095, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3099, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3095") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3100") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3095, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3100, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3095") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3101") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3095, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3101, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3095") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3102") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3095, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3102, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3095") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3104") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3095, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3104, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3095") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3105") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3095, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3105, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3095") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3106") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3095, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3106, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3095") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3107") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3095, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3107, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3095") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3108") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3095, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3108, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3095") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2150") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3095, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2150, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3095") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3095, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3095") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2010") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3095, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2010, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3096") - node.BrowseName = ua.QualifiedName.from_string("ServerViewCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3095") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3096, 0) + node.BrowseName = QualifiedName('ServerViewCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3095, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ServerViewCount") + attrs.DisplayName = LocalizedText("ServerViewCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -3326,36 +3328,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3096") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3096, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3096") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3096, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3096") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3095") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3096, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3095, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3097") - node.BrowseName = ua.QualifiedName.from_string("CurrentSessionCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3095") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3097, 0) + node.BrowseName = QualifiedName('CurrentSessionCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3095, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentSessionCount") + attrs.DisplayName = LocalizedText("CurrentSessionCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -3363,36 +3365,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3097") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3097, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3097") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3097, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3097") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3095") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3097, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3095, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3098") - node.BrowseName = ua.QualifiedName.from_string("CumulatedSessionCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3095") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3098, 0) + node.BrowseName = QualifiedName('CumulatedSessionCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3095, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CumulatedSessionCount") + attrs.DisplayName = LocalizedText("CumulatedSessionCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -3400,36 +3402,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3095") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3095, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3099") - node.BrowseName = ua.QualifiedName.from_string("SecurityRejectedSessionCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3095") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3099, 0) + node.BrowseName = QualifiedName('SecurityRejectedSessionCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3095, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SecurityRejectedSessionCount") + attrs.DisplayName = LocalizedText("SecurityRejectedSessionCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -3437,36 +3439,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3099") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3099, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3099") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3099, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3099") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3095") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3099, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3095, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3100") - node.BrowseName = ua.QualifiedName.from_string("RejectedSessionCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3095") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3100, 0) + node.BrowseName = QualifiedName('RejectedSessionCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3095, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RejectedSessionCount") + attrs.DisplayName = LocalizedText("RejectedSessionCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -3474,36 +3476,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3100") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3100, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3100") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3100, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3100") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3095") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3100, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3095, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3101") - node.BrowseName = ua.QualifiedName.from_string("SessionTimeoutCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3095") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3101, 0) + node.BrowseName = QualifiedName('SessionTimeoutCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3095, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SessionTimeoutCount") + attrs.DisplayName = LocalizedText("SessionTimeoutCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -3511,36 +3513,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3101") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3101, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3101") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3101, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3101") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3095") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3101, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3095, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3102") - node.BrowseName = ua.QualifiedName.from_string("SessionAbortCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3095") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3102, 0) + node.BrowseName = QualifiedName('SessionAbortCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3095, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SessionAbortCount") + attrs.DisplayName = LocalizedText("SessionAbortCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -3548,36 +3550,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3102") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3102, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3102") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3102, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3102") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3095") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3102, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3095, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3104") - node.BrowseName = ua.QualifiedName.from_string("PublishingIntervalCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3095") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3104, 0) + node.BrowseName = QualifiedName('PublishingIntervalCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3095, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("PublishingIntervalCount") + attrs.DisplayName = LocalizedText("PublishingIntervalCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -3585,36 +3587,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3104") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3104, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3104") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3104, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3104") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3095") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3104, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3095, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3105") - node.BrowseName = ua.QualifiedName.from_string("CurrentSubscriptionCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3095") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3105, 0) + node.BrowseName = QualifiedName('CurrentSubscriptionCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3095, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentSubscriptionCount") + attrs.DisplayName = LocalizedText("CurrentSubscriptionCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -3622,36 +3624,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3105") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3105, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3105") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3105, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3105") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3095") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3105, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3095, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3106") - node.BrowseName = ua.QualifiedName.from_string("CumulatedSubscriptionCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3095") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3106, 0) + node.BrowseName = QualifiedName('CumulatedSubscriptionCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3095, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CumulatedSubscriptionCount") + attrs.DisplayName = LocalizedText("CumulatedSubscriptionCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -3659,36 +3661,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3106") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3106, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3106") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3106, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3106") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3095") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3106, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3095, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3107") - node.BrowseName = ua.QualifiedName.from_string("SecurityRejectedRequestsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3095") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3107, 0) + node.BrowseName = QualifiedName('SecurityRejectedRequestsCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3095, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SecurityRejectedRequestsCount") + attrs.DisplayName = LocalizedText("SecurityRejectedRequestsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -3696,36 +3698,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3107") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3107, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3107") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3107, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3107") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3095") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3107, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3095, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3108") - node.BrowseName = ua.QualifiedName.from_string("RejectedRequestsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3095") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3108, 0) + node.BrowseName = QualifiedName('RejectedRequestsCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3095, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RejectedRequestsCount") + attrs.DisplayName = LocalizedText("RejectedRequestsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -3733,202 +3735,202 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3108") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3108, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3108") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3108, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3108") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3095") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3108, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3095, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3110") - node.BrowseName = ua.QualifiedName.from_string("SubscriptionDiagnosticsArray") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2010") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2171") + node.RequestedNewNodeId = NumericNodeId(3110, 0) + node.BrowseName = QualifiedName('SubscriptionDiagnosticsArray', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2010, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2171, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A list of diagnostics for each active subscription.") - attrs.DisplayName = ua.LocalizedText("SubscriptionDiagnosticsArray") - attrs.DataType = ua.NodeId.from_string("i=874") + attrs.Description = LocalizedText("A list of diagnostics for each active subscription.") + attrs.DisplayName = LocalizedText("SubscriptionDiagnosticsArray") + attrs.DataType = NumericNodeId(874, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3110") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2171") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3110, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2171, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3110") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3110, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3110") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2010") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3110, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2010, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3111") - node.BrowseName = ua.QualifiedName.from_string("SessionsDiagnosticsSummary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2010") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2026") + node.RequestedNewNodeId = NumericNodeId(3111, 0) + node.BrowseName = QualifiedName('SessionsDiagnosticsSummary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2010, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2026, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("A summary of session level diagnostics.") - attrs.DisplayName = ua.LocalizedText("SessionsDiagnosticsSummary") + attrs.Description = LocalizedText("A summary of session level diagnostics.") + attrs.DisplayName = LocalizedText("SessionsDiagnosticsSummary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3111") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3112") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3111, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3112, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3111") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3113") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3111, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3113, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3111") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2026") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3111, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2026, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3111") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3111, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3111") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2010") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3111, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2010, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3112") - node.BrowseName = ua.QualifiedName.from_string("SessionDiagnosticsArray") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3111") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2196") + node.RequestedNewNodeId = NumericNodeId(3112, 0) + node.BrowseName = QualifiedName('SessionDiagnosticsArray', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3111, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2196, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A list of diagnostics for each active session.") - attrs.DisplayName = ua.LocalizedText("SessionDiagnosticsArray") - attrs.DataType = ua.NodeId.from_string("i=865") + attrs.Description = LocalizedText("A list of diagnostics for each active session.") + attrs.DisplayName = LocalizedText("SessionDiagnosticsArray") + attrs.DataType = NumericNodeId(865, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3112") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2196") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3112, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2196, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3112") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3112, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3112") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3111") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3112, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3111, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3113") - node.BrowseName = ua.QualifiedName.from_string("SessionSecurityDiagnosticsArray") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3111") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2243") + node.RequestedNewNodeId = NumericNodeId(3113, 0) + node.BrowseName = QualifiedName('SessionSecurityDiagnosticsArray', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3111, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2243, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A list of security related diagnostics for each active session.") - attrs.DisplayName = ua.LocalizedText("SessionSecurityDiagnosticsArray") - attrs.DataType = ua.NodeId.from_string("i=868") + attrs.Description = LocalizedText("A list of security related diagnostics for each active session.") + attrs.DisplayName = LocalizedText("SessionSecurityDiagnosticsArray") + attrs.DataType = NumericNodeId(868, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3113") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2243") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3113, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2243, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3113") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3113, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3113") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3111") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3113, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3111, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3114") - node.BrowseName = ua.QualifiedName.from_string("EnabledFlag") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2010") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3114, 0) + node.BrowseName = QualifiedName('EnabledFlag', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2010, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("If TRUE the diagnostics collection is enabled.") - attrs.DisplayName = ua.LocalizedText("EnabledFlag") + attrs.Description = LocalizedText("If TRUE the diagnostics collection is enabled.") + attrs.DisplayName = LocalizedText("EnabledFlag") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 attrs.AccessLevel = 3 @@ -3937,238 +3939,238 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3114") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3114, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3114") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3114, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3114") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2010") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3114, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2010, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2011") - node.BrowseName = ua.QualifiedName.from_string("VendorServerInfo") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2004") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2033") + node.RequestedNewNodeId = NumericNodeId(2011, 0) + node.BrowseName = QualifiedName('VendorServerInfo', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2004, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2033, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Server information provided by the vendor.") - attrs.DisplayName = ua.LocalizedText("VendorServerInfo") + attrs.Description = LocalizedText("Server information provided by the vendor.") + attrs.DisplayName = LocalizedText("VendorServerInfo") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2011") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2033") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2011, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2033, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2011") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2011, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2011") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2004") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2011, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2004, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2012") - node.BrowseName = ua.QualifiedName.from_string("ServerRedundancy") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2004") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2034") + node.RequestedNewNodeId = NumericNodeId(2012, 0) + node.BrowseName = QualifiedName('ServerRedundancy', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2004, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2034, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Describes the redundancy capabilities of the server.") - attrs.DisplayName = ua.LocalizedText("ServerRedundancy") + attrs.Description = LocalizedText("Describes the redundancy capabilities of the server.") + attrs.DisplayName = LocalizedText("ServerRedundancy") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2012") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3115") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2012, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3115, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2012") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2034") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2012, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2034, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2012") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2012, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2012") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2004") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2012, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2004, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3115") - node.BrowseName = ua.QualifiedName.from_string("RedundancySupport") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2012") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3115, 0) + node.BrowseName = QualifiedName('RedundancySupport', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2012, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("Indicates what style of redundancy is supported by the server.") - attrs.DisplayName = ua.LocalizedText("RedundancySupport") - attrs.DataType = ua.NodeId.from_string("i=851") + attrs.Description = LocalizedText("Indicates what style of redundancy is supported by the server.") + attrs.DisplayName = LocalizedText("RedundancySupport") + attrs.DataType = NumericNodeId(851, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3115") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3115, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3115") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3115, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3115") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2012") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3115, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2012, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11527") - node.BrowseName = ua.QualifiedName.from_string("Namespaces") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2004") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=11645") + node.RequestedNewNodeId = NumericNodeId(11527, 0) + node.BrowseName = QualifiedName('Namespaces', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2004, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(11645, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Describes the namespaces supported by the server.") - attrs.DisplayName = ua.LocalizedText("Namespaces") + attrs.Description = LocalizedText("Describes the namespaces supported by the server.") + attrs.DisplayName = LocalizedText("Namespaces") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11527") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11645") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11527, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11645, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11527") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11527, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11527") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2004") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11527, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2004, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11489") - node.BrowseName = ua.QualifiedName.from_string("GetMonitoredItems") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=2004") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(11489, 0) + node.BrowseName = QualifiedName('GetMonitoredItems', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(2004, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("GetMonitoredItems") + attrs.DisplayName = LocalizedText("GetMonitoredItems") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11489") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11490") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11489, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11490, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11489") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11491") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11489, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11491, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11489") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11489, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11489") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2004") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11489, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2004, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11490") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11489") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11490, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11489, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'SubscriptionId' - extobj.DataType = ua.NodeId.from_string("i=7") + extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -4178,46 +4180,46 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11490") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11490, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11490") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11490, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11490") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11489") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11490, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11489, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11491") - node.BrowseName = ua.QualifiedName.from_string("OutputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11489") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11491, 0) + node.BrowseName = QualifiedName('OutputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11489, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OutputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("OutputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'ServerHandles' - extobj.DataType = ua.NodeId.from_string("i=7") + extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = 1 value.append(extobj) extobj = ua.Argument() extobj.Name = 'ClientHandles' - extobj.DataType = ua.NodeId.from_string("i=7") + extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = 1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -4227,75 +4229,75 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11491") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11491, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11491") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11491, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11491") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11489") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11491, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11489, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12871") - node.BrowseName = ua.QualifiedName.from_string("ResendData") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=2004") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(12871, 0) + node.BrowseName = QualifiedName('ResendData', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(2004, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("ResendData") + attrs.DisplayName = LocalizedText("ResendData") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12871") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12872") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12871, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12872, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12871") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12871, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12871") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2004") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12871, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2004, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12872") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12871") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(12872, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12871, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'SubscriptionId' - extobj.DataType = ua.NodeId.from_string("i=7") + extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -4305,87 +4307,87 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12872") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12872, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12872") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12872, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12872") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12871") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12872, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12871, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12746") - node.BrowseName = ua.QualifiedName.from_string("SetSubscriptionDurable") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=2004") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(12746, 0) + node.BrowseName = QualifiedName('SetSubscriptionDurable', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(2004, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("SetSubscriptionDurable") + attrs.DisplayName = LocalizedText("SetSubscriptionDurable") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12746") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12747") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12746, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12747, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12746") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12748") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12746, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12748, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12746") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12746, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12746") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2004") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12746, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2004, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12747") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12746") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(12747, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12746, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'SubscriptionId' - extobj.DataType = ua.NodeId.from_string("i=7") + extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.Name = 'LifetimeInHours' - extobj.DataType = ua.NodeId.from_string("i=7") + extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -4395,41 +4397,41 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12747") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12747, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12747") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12747, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12747") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12746") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12747, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12746, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12748") - node.BrowseName = ua.QualifiedName.from_string("OutputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12746") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(12748, 0) + node.BrowseName = QualifiedName('OutputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12746, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OutputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("OutputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RevisedLifetimeInHours' - extobj.DataType = ua.NodeId.from_string("i=7") + extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -4439,95 +4441,95 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12748") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12748, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12748") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12748, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12748") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12746") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12748, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12746, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12883") - node.BrowseName = ua.QualifiedName.from_string("RequestServerStateChange") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=2004") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(12883, 0) + node.BrowseName = QualifiedName('RequestServerStateChange', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(2004, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("RequestServerStateChange") + attrs.DisplayName = LocalizedText("RequestServerStateChange") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12883") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12884") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12883, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12884, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12883") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12883, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12883") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2004") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12883, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2004, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12884") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12883") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(12884, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12883, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'State' - extobj.DataType = ua.NodeId.from_string("i=852") + extobj.DataType = NumericNodeId(852, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.Name = 'EstimatedReturnTime' - extobj.DataType = ua.NodeId.from_string("i=13") + extobj.DataType = NumericNodeId(13, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.Name = 'SecondsTillShutdown' - extobj.DataType = ua.NodeId.from_string("i=7") + extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.Name = 'Reason' - extobj.DataType = ua.NodeId.from_string("i=21") + extobj.DataType = NumericNodeId(21, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.Name = 'Restart' - extobj.DataType = ua.NodeId.from_string("i=1") + extobj.DataType = NumericNodeId(1, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -4537,164 +4539,164 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12884") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12884, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12884") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12884, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12884") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12883") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12884, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12883, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2013") - node.BrowseName = ua.QualifiedName.from_string("ServerCapabilitiesType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=58") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2013, 0) + node.BrowseName = QualifiedName('ServerCapabilitiesType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(58, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.Description = ua.LocalizedText("Describes the capabilities supported by the server.") - attrs.DisplayName = ua.LocalizedText("ServerCapabilitiesType") + attrs.Description = LocalizedText("Describes the capabilities supported by the server.") + attrs.DisplayName = LocalizedText("ServerCapabilitiesType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2013") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2014") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2013, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2014, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2013") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2016") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2013, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2016, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2013") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2017") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2013, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2017, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2013") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2732") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2013, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2732, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2013") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2733") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2013, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2733, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2013") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2734") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2013, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2734, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2013") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3049") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2013, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3049, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2013") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11549") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2013, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11549, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2013") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11550") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2013, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11550, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2013") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12910") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2013, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12910, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2013") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11551") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2013, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11551, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2013") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2019") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2013, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2019, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2013") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2754") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2013, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2754, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2013") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11562") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2013, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11562, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2013") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16295") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2013, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16295, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2013") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=58") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2013, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(58, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2014") - node.BrowseName = ua.QualifiedName.from_string("ServerProfileArray") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2013") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2014, 0) + node.BrowseName = QualifiedName('ServerProfileArray', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2013, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A list of profiles supported by the server.") - attrs.DisplayName = ua.LocalizedText("ServerProfileArray") + attrs.Description = LocalizedText("A list of profiles supported by the server.") + attrs.DisplayName = LocalizedText("ServerProfileArray") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 node.NodeAttributes = attrs @@ -4702,113 +4704,113 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2014") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2014, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2014") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2014, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2014") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2013") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2014, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2013, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2016") - node.BrowseName = ua.QualifiedName.from_string("LocaleIdArray") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2013") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2016, 0) + node.BrowseName = QualifiedName('LocaleIdArray', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2013, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A list of locales supported by the server.") - attrs.DisplayName = ua.LocalizedText("LocaleIdArray") - attrs.DataType = ua.NodeId.from_string("i=295") + attrs.Description = LocalizedText("A list of locales supported by the server.") + attrs.DisplayName = LocalizedText("LocaleIdArray") + attrs.DataType = NumericNodeId(295, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2016") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2016, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2016") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2016, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2016") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2013") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2016, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2013, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2017") - node.BrowseName = ua.QualifiedName.from_string("MinSupportedSampleRate") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2013") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2017, 0) + node.BrowseName = QualifiedName('MinSupportedSampleRate', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2013, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The minimum sampling interval supported by the server.") - attrs.DisplayName = ua.LocalizedText("MinSupportedSampleRate") - attrs.DataType = ua.NodeId.from_string("i=290") + attrs.Description = LocalizedText("The minimum sampling interval supported by the server.") + attrs.DisplayName = LocalizedText("MinSupportedSampleRate") + attrs.DataType = NumericNodeId(290, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2017") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2017, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2017") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2017, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2017") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2013") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2017, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2013, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2732") - node.BrowseName = ua.QualifiedName.from_string("MaxBrowseContinuationPoints") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2013") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2732, 0) + node.BrowseName = QualifiedName('MaxBrowseContinuationPoints', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2013, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum number of continuation points for Browse operations per session.") - attrs.DisplayName = ua.LocalizedText("MaxBrowseContinuationPoints") + attrs.Description = LocalizedText("The maximum number of continuation points for Browse operations per session.") + attrs.DisplayName = LocalizedText("MaxBrowseContinuationPoints") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -4816,37 +4818,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2732") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2732, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2732") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2732, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2732") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2013") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2732, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2013, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2733") - node.BrowseName = ua.QualifiedName.from_string("MaxQueryContinuationPoints") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2013") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2733, 0) + node.BrowseName = QualifiedName('MaxQueryContinuationPoints', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2013, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum number of continuation points for Query operations per session.") - attrs.DisplayName = ua.LocalizedText("MaxQueryContinuationPoints") + attrs.Description = LocalizedText("The maximum number of continuation points for Query operations per session.") + attrs.DisplayName = LocalizedText("MaxQueryContinuationPoints") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -4854,37 +4856,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2733") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2733, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2733") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2733, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2733") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2013") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2733, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2013, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2734") - node.BrowseName = ua.QualifiedName.from_string("MaxHistoryContinuationPoints") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2013") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2734, 0) + node.BrowseName = QualifiedName('MaxHistoryContinuationPoints', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2013, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum number of continuation points for ReadHistory operations per session.") - attrs.DisplayName = ua.LocalizedText("MaxHistoryContinuationPoints") + attrs.Description = LocalizedText("The maximum number of continuation points for ReadHistory operations per session.") + attrs.DisplayName = LocalizedText("MaxHistoryContinuationPoints") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -4892,75 +4894,75 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2734") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2734, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2734") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2734, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2734") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2013") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2734, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2013, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3049") - node.BrowseName = ua.QualifiedName.from_string("SoftwareCertificates") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2013") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3049, 0) + node.BrowseName = QualifiedName('SoftwareCertificates', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2013, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The software certificates owned by the server.") - attrs.DisplayName = ua.LocalizedText("SoftwareCertificates") - attrs.DataType = ua.NodeId.from_string("i=344") + attrs.Description = LocalizedText("The software certificates owned by the server.") + attrs.DisplayName = LocalizedText("SoftwareCertificates") + attrs.DataType = NumericNodeId(344, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3049") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3049, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3049") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3049, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3049") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2013") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3049, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2013, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11549") - node.BrowseName = ua.QualifiedName.from_string("MaxArrayLength") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2013") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11549, 0) + node.BrowseName = QualifiedName('MaxArrayLength', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2013, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum length for an array value supported by the server.") - attrs.DisplayName = ua.LocalizedText("MaxArrayLength") + attrs.Description = LocalizedText("The maximum length for an array value supported by the server.") + attrs.DisplayName = LocalizedText("MaxArrayLength") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -4968,37 +4970,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11549") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11549, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11549") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11549, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11549") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2013") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11549, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2013, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11550") - node.BrowseName = ua.QualifiedName.from_string("MaxStringLength") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2013") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11550, 0) + node.BrowseName = QualifiedName('MaxStringLength', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2013, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum length for a string value supported by the server.") - attrs.DisplayName = ua.LocalizedText("MaxStringLength") + attrs.Description = LocalizedText("The maximum length for a string value supported by the server.") + attrs.DisplayName = LocalizedText("MaxStringLength") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -5006,37 +5008,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11550") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11550, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11550") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11550, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11550") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2013") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11550, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2013, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12910") - node.BrowseName = ua.QualifiedName.from_string("MaxByteStringLength") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2013") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(12910, 0) + node.BrowseName = QualifiedName('MaxByteStringLength', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2013, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum length for a byte string value supported by the server.") - attrs.DisplayName = ua.LocalizedText("MaxByteStringLength") + attrs.Description = LocalizedText("The maximum length for a byte string value supported by the server.") + attrs.DisplayName = LocalizedText("MaxByteStringLength") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -5044,147 +5046,147 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12910") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12910, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12910") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12910, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12910") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2013") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12910, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2013, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11551") - node.BrowseName = ua.QualifiedName.from_string("OperationLimits") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2013") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=11564") + node.RequestedNewNodeId = NumericNodeId(11551, 0) + node.BrowseName = QualifiedName('OperationLimits', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2013, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(11564, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Defines the limits supported by the server for different operations.") - attrs.DisplayName = ua.LocalizedText("OperationLimits") + attrs.Description = LocalizedText("Defines the limits supported by the server for different operations.") + attrs.DisplayName = LocalizedText("OperationLimits") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11551") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11564") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11551, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11564, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11551") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11551, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11551") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2013") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11551, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2013, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2019") - node.BrowseName = ua.QualifiedName.from_string("ModellingRules") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2013") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=61") + node.RequestedNewNodeId = NumericNodeId(2019, 0) + node.BrowseName = QualifiedName('ModellingRules', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2013, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(61, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("A folder for the modelling rules supported by the server.") - attrs.DisplayName = ua.LocalizedText("ModellingRules") + attrs.Description = LocalizedText("A folder for the modelling rules supported by the server.") + attrs.DisplayName = LocalizedText("ModellingRules") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2019") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=61") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2019, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(61, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2019") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2019, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2019") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2013") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2019, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2013, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2754") - node.BrowseName = ua.QualifiedName.from_string("AggregateFunctions") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2013") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=61") + node.RequestedNewNodeId = NumericNodeId(2754, 0) + node.BrowseName = QualifiedName('AggregateFunctions', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2013, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(61, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("A folder for the real time aggregates supported by the server.") - attrs.DisplayName = ua.LocalizedText("AggregateFunctions") + attrs.Description = LocalizedText("A folder for the real time aggregates supported by the server.") + attrs.DisplayName = LocalizedText("AggregateFunctions") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2754") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=61") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2754, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(61, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2754") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2754, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2754") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2013") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2754, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2013, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11562") - node.BrowseName = ua.QualifiedName.from_string("") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2013") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2137") + node.RequestedNewNodeId = NumericNodeId(11562, 0) + node.BrowseName = QualifiedName('', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2013, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2137, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("") + attrs.DisplayName = LocalizedText("") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -5192,138 +5194,138 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11562") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2137") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11562, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2137, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11562") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11508") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11562, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11508, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11562") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2013") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11562, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2013, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16295") - node.BrowseName = ua.QualifiedName.from_string("Roles") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2013") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=15607") + node.RequestedNewNodeId = NumericNodeId(16295, 0) + node.BrowseName = QualifiedName('Roles', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2013, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(15607, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Describes the roles supported by the server.") - attrs.DisplayName = ua.LocalizedText("Roles") + attrs.Description = LocalizedText("Describes the roles supported by the server.") + attrs.DisplayName = LocalizedText("Roles") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16295") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16296") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16295, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16296, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16295") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16299") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16295, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16299, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16295") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15607") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16295, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15607, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16295") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16295, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16295") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2013") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16295, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2013, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16296") - node.BrowseName = ua.QualifiedName.from_string("AddRole") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=16295") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16296, 0) + node.BrowseName = QualifiedName('AddRole', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(16295, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("AddRole") + attrs.DisplayName = LocalizedText("AddRole") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16296") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16297") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16296, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16297, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16296") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16298") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16296, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16298, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16296") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16296, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16296") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16295") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16296, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16295, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16297") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16296") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16297, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16296, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RoleName' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.Name = 'NamespaceUri' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -5333,41 +5335,41 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16297") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16297, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16297") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16297, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16297") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16296") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16297, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16296, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16298") - node.BrowseName = ua.QualifiedName.from_string("OutputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16296") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16298, 0) + node.BrowseName = QualifiedName('OutputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16296, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OutputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("OutputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RoleNodeId' - extobj.DataType = ua.NodeId.from_string("i=17") + extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -5377,75 +5379,75 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16298") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16298, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16298") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16298, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16298") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16296") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16298, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16296, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16299") - node.BrowseName = ua.QualifiedName.from_string("RemoveRole") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=16295") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16299, 0) + node.BrowseName = QualifiedName('RemoveRole', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(16295, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("RemoveRole") + attrs.DisplayName = LocalizedText("RemoveRole") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16299") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16300") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16299, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16300, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16299") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16299, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16299") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16295") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16299, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16295, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16300") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16299") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16300, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16299, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RoleNodeId' - extobj.DataType = ua.NodeId.from_string("i=17") + extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -5455,215 +5457,215 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16300") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16300, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16300") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16300, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16300") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16299") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16300, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16299, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2020") - node.BrowseName = ua.QualifiedName.from_string("ServerDiagnosticsType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=58") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2020, 0) + node.BrowseName = QualifiedName('ServerDiagnosticsType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(58, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.Description = ua.LocalizedText("The diagnostics information for a server.") - attrs.DisplayName = ua.LocalizedText("ServerDiagnosticsType") + attrs.Description = LocalizedText("The diagnostics information for a server.") + attrs.DisplayName = LocalizedText("ServerDiagnosticsType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2020") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2021") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2020, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2021, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2020") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2022") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2020, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2022, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2020") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2023") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2020, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2023, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2020") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2744") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2020, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2744, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2020") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2025") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2020, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2025, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2020") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=58") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2020, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(58, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2021") - node.BrowseName = ua.QualifiedName.from_string("ServerDiagnosticsSummary") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2020") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2150") + node.RequestedNewNodeId = NumericNodeId(2021, 0) + node.BrowseName = QualifiedName('ServerDiagnosticsSummary', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2020, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2150, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A summary of server level diagnostics.") - attrs.DisplayName = ua.LocalizedText("ServerDiagnosticsSummary") - attrs.DataType = ua.NodeId.from_string("i=859") + attrs.Description = LocalizedText("A summary of server level diagnostics.") + attrs.DisplayName = LocalizedText("ServerDiagnosticsSummary") + attrs.DataType = NumericNodeId(859, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2021") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3116") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2021, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3116, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2021") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3117") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2021, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3117, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2021") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3118") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2021, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3118, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2021") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3119") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2021, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3119, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2021") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3120") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2021, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3120, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2021") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3121") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2021, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3121, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2021") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3122") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2021, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3122, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2021") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3124") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2021, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3124, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2021") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3125") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2021, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3125, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2021") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3126") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2021, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3126, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2021") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3127") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2021, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3127, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2021") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3128") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2021, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3128, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2021") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2150") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2021, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2150, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2021") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2021, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2021") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2020") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2021, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2020, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3116") - node.BrowseName = ua.QualifiedName.from_string("ServerViewCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2021") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3116, 0) + node.BrowseName = QualifiedName('ServerViewCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2021, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ServerViewCount") + attrs.DisplayName = LocalizedText("ServerViewCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -5671,36 +5673,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3116") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3116, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3116") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3116, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3116") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2021") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3116, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2021, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3117") - node.BrowseName = ua.QualifiedName.from_string("CurrentSessionCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2021") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3117, 0) + node.BrowseName = QualifiedName('CurrentSessionCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2021, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentSessionCount") + attrs.DisplayName = LocalizedText("CurrentSessionCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -5708,36 +5710,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3117") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3117, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3117") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3117, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3117") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2021") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3117, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2021, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3118") - node.BrowseName = ua.QualifiedName.from_string("CumulatedSessionCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2021") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3118, 0) + node.BrowseName = QualifiedName('CumulatedSessionCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2021, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CumulatedSessionCount") + attrs.DisplayName = LocalizedText("CumulatedSessionCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -5745,36 +5747,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3118") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3118, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3118") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3118, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3118") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2021") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3118, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2021, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3119") - node.BrowseName = ua.QualifiedName.from_string("SecurityRejectedSessionCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2021") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3119, 0) + node.BrowseName = QualifiedName('SecurityRejectedSessionCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2021, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SecurityRejectedSessionCount") + attrs.DisplayName = LocalizedText("SecurityRejectedSessionCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -5782,36 +5784,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3119") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3119, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3119") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3119, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3119") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2021") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3119, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2021, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3120") - node.BrowseName = ua.QualifiedName.from_string("RejectedSessionCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2021") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3120, 0) + node.BrowseName = QualifiedName('RejectedSessionCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2021, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RejectedSessionCount") + attrs.DisplayName = LocalizedText("RejectedSessionCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -5819,36 +5821,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3120") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3120, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3120") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3120, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3120") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2021") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3120, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2021, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3121") - node.BrowseName = ua.QualifiedName.from_string("SessionTimeoutCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2021") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3121, 0) + node.BrowseName = QualifiedName('SessionTimeoutCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2021, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SessionTimeoutCount") + attrs.DisplayName = LocalizedText("SessionTimeoutCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -5856,36 +5858,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3121") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3121, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3121") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3121, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3121") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2021") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3121, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2021, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3122") - node.BrowseName = ua.QualifiedName.from_string("SessionAbortCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2021") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3122, 0) + node.BrowseName = QualifiedName('SessionAbortCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2021, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SessionAbortCount") + attrs.DisplayName = LocalizedText("SessionAbortCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -5893,36 +5895,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3122") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3122, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3122") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3122, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3122") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2021") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3122, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2021, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3124") - node.BrowseName = ua.QualifiedName.from_string("PublishingIntervalCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2021") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3124, 0) + node.BrowseName = QualifiedName('PublishingIntervalCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2021, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("PublishingIntervalCount") + attrs.DisplayName = LocalizedText("PublishingIntervalCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -5930,36 +5932,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3124") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3124, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3124") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3124, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3124") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2021") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3124, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2021, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3125") - node.BrowseName = ua.QualifiedName.from_string("CurrentSubscriptionCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2021") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3125, 0) + node.BrowseName = QualifiedName('CurrentSubscriptionCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2021, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentSubscriptionCount") + attrs.DisplayName = LocalizedText("CurrentSubscriptionCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -5967,36 +5969,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3125") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3125, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3125") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3125, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3125") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2021") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3125, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2021, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3126") - node.BrowseName = ua.QualifiedName.from_string("CumulatedSubscriptionCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2021") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3126, 0) + node.BrowseName = QualifiedName('CumulatedSubscriptionCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2021, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CumulatedSubscriptionCount") + attrs.DisplayName = LocalizedText("CumulatedSubscriptionCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -6004,36 +6006,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3126") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3126, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3126") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3126, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3126") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2021") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3126, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2021, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3127") - node.BrowseName = ua.QualifiedName.from_string("SecurityRejectedRequestsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2021") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3127, 0) + node.BrowseName = QualifiedName('SecurityRejectedRequestsCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2021, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SecurityRejectedRequestsCount") + attrs.DisplayName = LocalizedText("SecurityRejectedRequestsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -6041,36 +6043,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3127") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3127, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3127") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3127, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3127") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2021") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3127, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2021, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3128") - node.BrowseName = ua.QualifiedName.from_string("RejectedRequestsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2021") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3128, 0) + node.BrowseName = QualifiedName('RejectedRequestsCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2021, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RejectedRequestsCount") + attrs.DisplayName = LocalizedText("RejectedRequestsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -6078,240 +6080,240 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3128") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3128, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3128") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3128, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3128") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2021") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3128, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2021, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2022") - node.BrowseName = ua.QualifiedName.from_string("SamplingIntervalDiagnosticsArray") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2020") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2164") + node.RequestedNewNodeId = NumericNodeId(2022, 0) + node.BrowseName = QualifiedName('SamplingIntervalDiagnosticsArray', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2020, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2164, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A list of diagnostics for each sampling interval supported by the server.") - attrs.DisplayName = ua.LocalizedText("SamplingIntervalDiagnosticsArray") - attrs.DataType = ua.NodeId.from_string("i=856") + attrs.Description = LocalizedText("A list of diagnostics for each sampling interval supported by the server.") + attrs.DisplayName = LocalizedText("SamplingIntervalDiagnosticsArray") + attrs.DataType = NumericNodeId(856, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2022") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2164") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2022, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2164, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2022") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2022, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2022") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2020") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2022, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2020, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2023") - node.BrowseName = ua.QualifiedName.from_string("SubscriptionDiagnosticsArray") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2020") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2171") + node.RequestedNewNodeId = NumericNodeId(2023, 0) + node.BrowseName = QualifiedName('SubscriptionDiagnosticsArray', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2020, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2171, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A list of diagnostics for each active subscription.") - attrs.DisplayName = ua.LocalizedText("SubscriptionDiagnosticsArray") - attrs.DataType = ua.NodeId.from_string("i=874") + attrs.Description = LocalizedText("A list of diagnostics for each active subscription.") + attrs.DisplayName = LocalizedText("SubscriptionDiagnosticsArray") + attrs.DataType = NumericNodeId(874, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2023") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2171") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2023, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2171, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2023") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2023, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2023") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2020") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2023, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2020, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2744") - node.BrowseName = ua.QualifiedName.from_string("SessionsDiagnosticsSummary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2020") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2026") + node.RequestedNewNodeId = NumericNodeId(2744, 0) + node.BrowseName = QualifiedName('SessionsDiagnosticsSummary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2020, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2026, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("A summary of session level diagnostics.") - attrs.DisplayName = ua.LocalizedText("SessionsDiagnosticsSummary") + attrs.Description = LocalizedText("A summary of session level diagnostics.") + attrs.DisplayName = LocalizedText("SessionsDiagnosticsSummary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2744") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3129") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2744, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3129, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2744") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3130") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2744, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3130, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2744") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2026") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2744, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2026, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2744") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2744, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2744") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2020") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2744, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2020, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3129") - node.BrowseName = ua.QualifiedName.from_string("SessionDiagnosticsArray") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2744") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2196") + node.RequestedNewNodeId = NumericNodeId(3129, 0) + node.BrowseName = QualifiedName('SessionDiagnosticsArray', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2744, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2196, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A list of diagnostics for each active session.") - attrs.DisplayName = ua.LocalizedText("SessionDiagnosticsArray") - attrs.DataType = ua.NodeId.from_string("i=865") + attrs.Description = LocalizedText("A list of diagnostics for each active session.") + attrs.DisplayName = LocalizedText("SessionDiagnosticsArray") + attrs.DataType = NumericNodeId(865, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3129") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2196") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3129, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2196, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3129") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3129, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3129") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2744") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3129, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2744, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3130") - node.BrowseName = ua.QualifiedName.from_string("SessionSecurityDiagnosticsArray") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2744") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2243") + node.RequestedNewNodeId = NumericNodeId(3130, 0) + node.BrowseName = QualifiedName('SessionSecurityDiagnosticsArray', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2744, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2243, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A list of security related diagnostics for each active session.") - attrs.DisplayName = ua.LocalizedText("SessionSecurityDiagnosticsArray") - attrs.DataType = ua.NodeId.from_string("i=868") + attrs.Description = LocalizedText("A list of security related diagnostics for each active session.") + attrs.DisplayName = LocalizedText("SessionSecurityDiagnosticsArray") + attrs.DataType = NumericNodeId(868, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3130") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2243") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3130, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2243, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3130") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3130, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3130") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2744") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3130, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2744, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2025") - node.BrowseName = ua.QualifiedName.from_string("EnabledFlag") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2020") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2025, 0) + node.BrowseName = QualifiedName('EnabledFlag', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2020, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("If TRUE the diagnostics collection is enabled.") - attrs.DisplayName = ua.LocalizedText("EnabledFlag") + attrs.Description = LocalizedText("If TRUE the diagnostics collection is enabled.") + attrs.DisplayName = LocalizedText("EnabledFlag") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 attrs.AccessLevel = 3 @@ -6320,551 +6322,551 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2025") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2025, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2025") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2025, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2025") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2020") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2025, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2020, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2026") - node.BrowseName = ua.QualifiedName.from_string("SessionsDiagnosticsSummaryType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=58") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2026, 0) + node.BrowseName = QualifiedName('SessionsDiagnosticsSummaryType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(58, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.Description = ua.LocalizedText("Provides a summary of session level diagnostics.") - attrs.DisplayName = ua.LocalizedText("SessionsDiagnosticsSummaryType") + attrs.Description = LocalizedText("Provides a summary of session level diagnostics.") + attrs.DisplayName = LocalizedText("SessionsDiagnosticsSummaryType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2026") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2027") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2026, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2027, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2026") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2028") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2026, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2028, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2026") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12097") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2026, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12097, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2026") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=58") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2026, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(58, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2027") - node.BrowseName = ua.QualifiedName.from_string("SessionDiagnosticsArray") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2026") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2196") + node.RequestedNewNodeId = NumericNodeId(2027, 0) + node.BrowseName = QualifiedName('SessionDiagnosticsArray', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2026, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2196, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A list of diagnostics for each active session.") - attrs.DisplayName = ua.LocalizedText("SessionDiagnosticsArray") - attrs.DataType = ua.NodeId.from_string("i=865") + attrs.Description = LocalizedText("A list of diagnostics for each active session.") + attrs.DisplayName = LocalizedText("SessionDiagnosticsArray") + attrs.DataType = NumericNodeId(865, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2027") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2196") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2027, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2196, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2027") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2027, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2027") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2026") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2027, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2026, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2028") - node.BrowseName = ua.QualifiedName.from_string("SessionSecurityDiagnosticsArray") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2026") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2243") + node.RequestedNewNodeId = NumericNodeId(2028, 0) + node.BrowseName = QualifiedName('SessionSecurityDiagnosticsArray', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2026, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2243, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A list of security related diagnostics for each active session.") - attrs.DisplayName = ua.LocalizedText("SessionSecurityDiagnosticsArray") - attrs.DataType = ua.NodeId.from_string("i=868") + attrs.Description = LocalizedText("A list of security related diagnostics for each active session.") + attrs.DisplayName = LocalizedText("SessionSecurityDiagnosticsArray") + attrs.DataType = NumericNodeId(868, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2028") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2243") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2028, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2243, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2028") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2028, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2028") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2026") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2028, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2026, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12097") - node.BrowseName = ua.QualifiedName.from_string("") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2026") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2029") + node.RequestedNewNodeId = NumericNodeId(12097, 0) + node.BrowseName = QualifiedName('', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2026, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2029, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("") + attrs.DisplayName = LocalizedText("") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12097") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12098") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12097, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12098, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12097") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12142") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12097, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12142, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12097") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12152") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12097, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12152, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12097") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2029") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12097, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2029, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12097") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11508") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12097, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11508, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12097") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2026") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12097, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2026, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12098") - node.BrowseName = ua.QualifiedName.from_string("SessionDiagnostics") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12097") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2197") + node.RequestedNewNodeId = NumericNodeId(12098, 0) + node.BrowseName = QualifiedName('SessionDiagnostics', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12097, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2197, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("Diagnostics information for an active session.") - attrs.DisplayName = ua.LocalizedText("SessionDiagnostics") - attrs.DataType = ua.NodeId.from_string("i=865") + attrs.Description = LocalizedText("Diagnostics information for an active session.") + attrs.DisplayName = LocalizedText("SessionDiagnostics") + attrs.DataType = NumericNodeId(865, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12099") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12099, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12100") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12100, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12101") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12101, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12102") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12102, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12103") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12103, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12104") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12104, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12105") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12105, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12106") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12106, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12107") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12107, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12108") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12108, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12109") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12109, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12110") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12110, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12111") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12111, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12112") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12112, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12113") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12113, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12114") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12114, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12115") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12115, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12116") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12116, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12117") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12117, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12118") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12118, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12119") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12119, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12120") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12120, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12121") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12121, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12122") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12122, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12123") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12123, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12124") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12124, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12125") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12125, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12126") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12126, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12127") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12127, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12128") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12128, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12129") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12129, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12130") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12130, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12131") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12131, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12132") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12132, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12133") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12133, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12134") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12134, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12135") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12135, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12136") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12136, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12137") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12137, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12138") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12138, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12139") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12139, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12140") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12140, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12141") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12141, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2197, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12097") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12097, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12099") - node.BrowseName = ua.QualifiedName.from_string("SessionId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12098") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12099, 0) + node.BrowseName = QualifiedName('SessionId', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12098, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SessionId") + attrs.DisplayName = LocalizedText("SessionId") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -6872,36 +6874,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12099") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12099, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12099") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12099, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12099") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12098") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12099, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12098, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12100") - node.BrowseName = ua.QualifiedName.from_string("SessionName") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12098") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12100, 0) + node.BrowseName = QualifiedName('SessionName', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12098, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SessionName") + attrs.DisplayName = LocalizedText("SessionName") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -6909,73 +6911,73 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12100") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12100, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12100") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12100, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12100") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12098") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12100, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12098, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12101") - node.BrowseName = ua.QualifiedName.from_string("ClientDescription") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12098") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12101, 0) + node.BrowseName = QualifiedName('ClientDescription', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12098, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ClientDescription") - attrs.DataType = ua.NodeId.from_string("i=308") + attrs.DisplayName = LocalizedText("ClientDescription") + attrs.DataType = NumericNodeId(308, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12101") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12101, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12101") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12101, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12101") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12098") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12101, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12098, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12102") - node.BrowseName = ua.QualifiedName.from_string("ServerUri") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12098") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12102, 0) + node.BrowseName = QualifiedName('ServerUri', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12098, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ServerUri") + attrs.DisplayName = LocalizedText("ServerUri") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -6983,36 +6985,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12102") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12102, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12102") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12102, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12102") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12098") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12102, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12098, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12103") - node.BrowseName = ua.QualifiedName.from_string("EndpointUrl") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12098") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12103, 0) + node.BrowseName = QualifiedName('EndpointUrl', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12098, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EndpointUrl") + attrs.DisplayName = LocalizedText("EndpointUrl") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -7020,110 +7022,110 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12103") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12103, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12103") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12103, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12103") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12098") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12103, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12098, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12104") - node.BrowseName = ua.QualifiedName.from_string("LocaleIds") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12098") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12104, 0) + node.BrowseName = QualifiedName('LocaleIds', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12098, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LocaleIds") - attrs.DataType = ua.NodeId.from_string("i=295") + attrs.DisplayName = LocalizedText("LocaleIds") + attrs.DataType = NumericNodeId(295, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12104") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12104, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12104") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12104, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12104") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12098") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12104, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12098, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12105") - node.BrowseName = ua.QualifiedName.from_string("ActualSessionTimeout") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12098") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12105, 0) + node.BrowseName = QualifiedName('ActualSessionTimeout', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12098, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ActualSessionTimeout") - attrs.DataType = ua.NodeId.from_string("i=290") + attrs.DisplayName = LocalizedText("ActualSessionTimeout") + attrs.DataType = NumericNodeId(290, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12105") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12105, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12105") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12105, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12105") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12098") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12105, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12098, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12106") - node.BrowseName = ua.QualifiedName.from_string("MaxResponseMessageSize") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12098") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12106, 0) + node.BrowseName = QualifiedName('MaxResponseMessageSize', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12098, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MaxResponseMessageSize") + attrs.DisplayName = LocalizedText("MaxResponseMessageSize") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -7131,110 +7133,110 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12106") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12106, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12106") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12106, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12106") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12098") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12106, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12098, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12107") - node.BrowseName = ua.QualifiedName.from_string("ClientConnectionTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12098") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12107, 0) + node.BrowseName = QualifiedName('ClientConnectionTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12098, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ClientConnectionTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("ClientConnectionTime") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12107") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12107, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12107") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12107, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12107") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12098") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12107, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12098, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12108") - node.BrowseName = ua.QualifiedName.from_string("ClientLastContactTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12098") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12108, 0) + node.BrowseName = QualifiedName('ClientLastContactTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12098, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ClientLastContactTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("ClientLastContactTime") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12108") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12108, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12108") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12108, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12108") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12098") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12108, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12098, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12109") - node.BrowseName = ua.QualifiedName.from_string("CurrentSubscriptionsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12098") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12109, 0) + node.BrowseName = QualifiedName('CurrentSubscriptionsCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12098, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentSubscriptionsCount") + attrs.DisplayName = LocalizedText("CurrentSubscriptionsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -7242,36 +7244,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12109") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12109, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12109") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12109, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12109") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12098") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12109, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12098, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12110") - node.BrowseName = ua.QualifiedName.from_string("CurrentMonitoredItemsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12098") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12110, 0) + node.BrowseName = QualifiedName('CurrentMonitoredItemsCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12098, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentMonitoredItemsCount") + attrs.DisplayName = LocalizedText("CurrentMonitoredItemsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -7279,36 +7281,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12110") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12110, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12110") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12110, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12110") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12098") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12110, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12098, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12111") - node.BrowseName = ua.QualifiedName.from_string("CurrentPublishRequestsInQueue") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12098") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12111, 0) + node.BrowseName = QualifiedName('CurrentPublishRequestsInQueue', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12098, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentPublishRequestsInQueue") + attrs.DisplayName = LocalizedText("CurrentPublishRequestsInQueue") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -7316,73 +7318,73 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12111") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12111, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12111") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12111, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12111") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12098") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12111, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12098, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12112") - node.BrowseName = ua.QualifiedName.from_string("TotalRequestCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12098") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12112, 0) + node.BrowseName = QualifiedName('TotalRequestCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12098, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TotalRequestCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("TotalRequestCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12112") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12112, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12112") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12112, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12112") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12098") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12112, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12098, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12113") - node.BrowseName = ua.QualifiedName.from_string("UnauthorizedRequestCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12098") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12113, 0) + node.BrowseName = QualifiedName('UnauthorizedRequestCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12098, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("UnauthorizedRequestCount") + attrs.DisplayName = LocalizedText("UnauthorizedRequestCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -7390,1173 +7392,1173 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12113") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12113, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12113") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12113, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12113") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12098") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12113, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12098, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12114") - node.BrowseName = ua.QualifiedName.from_string("ReadCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12098") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12114, 0) + node.BrowseName = QualifiedName('ReadCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12098, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ReadCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("ReadCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12114") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12114, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12114") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12114, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12114") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12098") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12114, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12098, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12115") - node.BrowseName = ua.QualifiedName.from_string("HistoryReadCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12098") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12115, 0) + node.BrowseName = QualifiedName('HistoryReadCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12098, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("HistoryReadCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("HistoryReadCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12115") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12115, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12115") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12115, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12115") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12098") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12115, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12098, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12116") - node.BrowseName = ua.QualifiedName.from_string("WriteCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12098") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12116, 0) + node.BrowseName = QualifiedName('WriteCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12098, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("WriteCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("WriteCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12116") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12116, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12116") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12116, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12116") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12098") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12116, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12098, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12117") - node.BrowseName = ua.QualifiedName.from_string("HistoryUpdateCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12098") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12117, 0) + node.BrowseName = QualifiedName('HistoryUpdateCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12098, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("HistoryUpdateCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("HistoryUpdateCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12117") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12117, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12117") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12117, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12117") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12098") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12117, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12098, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12118") - node.BrowseName = ua.QualifiedName.from_string("CallCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12098") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12118, 0) + node.BrowseName = QualifiedName('CallCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12098, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CallCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("CallCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12118") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12118, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12118") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12118, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12118") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12098") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12118, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12098, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12119") - node.BrowseName = ua.QualifiedName.from_string("CreateMonitoredItemsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12098") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12119, 0) + node.BrowseName = QualifiedName('CreateMonitoredItemsCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12098, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CreateMonitoredItemsCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("CreateMonitoredItemsCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12119") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12119, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12119") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12119, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12119") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12098") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12119, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12098, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12120") - node.BrowseName = ua.QualifiedName.from_string("ModifyMonitoredItemsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12098") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12120, 0) + node.BrowseName = QualifiedName('ModifyMonitoredItemsCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12098, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ModifyMonitoredItemsCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("ModifyMonitoredItemsCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12120") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12120, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12120") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12120, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12120") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12098") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12120, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12098, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12121") - node.BrowseName = ua.QualifiedName.from_string("SetMonitoringModeCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12098") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12121, 0) + node.BrowseName = QualifiedName('SetMonitoringModeCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12098, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SetMonitoringModeCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("SetMonitoringModeCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12121") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12121, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12121") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12121, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12121") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12098") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12121, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12098, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12122") - node.BrowseName = ua.QualifiedName.from_string("SetTriggeringCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12098") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12122, 0) + node.BrowseName = QualifiedName('SetTriggeringCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12098, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SetTriggeringCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("SetTriggeringCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12122") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12122, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12122") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12122, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12122") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12098") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12122, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12098, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12123") - node.BrowseName = ua.QualifiedName.from_string("DeleteMonitoredItemsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12098") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12123, 0) + node.BrowseName = QualifiedName('DeleteMonitoredItemsCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12098, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DeleteMonitoredItemsCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("DeleteMonitoredItemsCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12123") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12123, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12123") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12123, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12123") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12098") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12123, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12098, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12124") - node.BrowseName = ua.QualifiedName.from_string("CreateSubscriptionCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12098") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12124, 0) + node.BrowseName = QualifiedName('CreateSubscriptionCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12098, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CreateSubscriptionCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("CreateSubscriptionCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12124") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12124, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12124") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12124, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12124") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12098") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12124, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12098, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12125") - node.BrowseName = ua.QualifiedName.from_string("ModifySubscriptionCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12098") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12125, 0) + node.BrowseName = QualifiedName('ModifySubscriptionCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12098, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ModifySubscriptionCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("ModifySubscriptionCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12125") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12125, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12125") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12125, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12125") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12098") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12125, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12098, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12126") - node.BrowseName = ua.QualifiedName.from_string("SetPublishingModeCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12098") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12126, 0) + node.BrowseName = QualifiedName('SetPublishingModeCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12098, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SetPublishingModeCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("SetPublishingModeCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12126") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12126, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12126") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12126, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12126") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12098") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12126, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12098, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12127") - node.BrowseName = ua.QualifiedName.from_string("PublishCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12098") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12127, 0) + node.BrowseName = QualifiedName('PublishCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12098, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("PublishCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("PublishCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12127") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12127, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12127") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12127, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12127") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12098") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12127, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12098, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12128") - node.BrowseName = ua.QualifiedName.from_string("RepublishCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12098") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12128, 0) + node.BrowseName = QualifiedName('RepublishCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12098, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RepublishCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("RepublishCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12128") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12128, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12128") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12128, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12128") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12098") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12128, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12098, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12129") - node.BrowseName = ua.QualifiedName.from_string("TransferSubscriptionsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12098") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12129, 0) + node.BrowseName = QualifiedName('TransferSubscriptionsCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12098, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransferSubscriptionsCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("TransferSubscriptionsCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12129") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12129, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12129") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12129, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12129") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12098") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12129, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12098, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12130") - node.BrowseName = ua.QualifiedName.from_string("DeleteSubscriptionsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12098") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12130, 0) + node.BrowseName = QualifiedName('DeleteSubscriptionsCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12098, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DeleteSubscriptionsCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("DeleteSubscriptionsCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12130") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12130, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12130") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12130, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12130") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12098") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12130, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12098, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12131") - node.BrowseName = ua.QualifiedName.from_string("AddNodesCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12098") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12131, 0) + node.BrowseName = QualifiedName('AddNodesCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12098, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AddNodesCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("AddNodesCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12131") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12131, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12131") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12131, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12131") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12098") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12131, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12098, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12132") - node.BrowseName = ua.QualifiedName.from_string("AddReferencesCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12098") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12132, 0) + node.BrowseName = QualifiedName('AddReferencesCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12098, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AddReferencesCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("AddReferencesCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12132") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12132, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12132") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12132, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12132") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12098") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12132, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12098, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12133") - node.BrowseName = ua.QualifiedName.from_string("DeleteNodesCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12098") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12133, 0) + node.BrowseName = QualifiedName('DeleteNodesCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12098, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DeleteNodesCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("DeleteNodesCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12133") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12133, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12133") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12133, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12133") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12098") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12133, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12098, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12134") - node.BrowseName = ua.QualifiedName.from_string("DeleteReferencesCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12098") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12134, 0) + node.BrowseName = QualifiedName('DeleteReferencesCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12098, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DeleteReferencesCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("DeleteReferencesCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12134") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12134, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12134") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12134, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12134") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12098") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12134, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12098, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12135") - node.BrowseName = ua.QualifiedName.from_string("BrowseCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12098") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12135, 0) + node.BrowseName = QualifiedName('BrowseCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12098, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("BrowseCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("BrowseCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12135") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12135, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12135") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12135, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12135") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12098") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12135, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12098, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12136") - node.BrowseName = ua.QualifiedName.from_string("BrowseNextCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12098") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12136, 0) + node.BrowseName = QualifiedName('BrowseNextCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12098, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("BrowseNextCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("BrowseNextCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12136") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12136, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12136") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12136, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12136") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12098") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12136, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12098, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12137") - node.BrowseName = ua.QualifiedName.from_string("TranslateBrowsePathsToNodeIdsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12098") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12137, 0) + node.BrowseName = QualifiedName('TranslateBrowsePathsToNodeIdsCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12098, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TranslateBrowsePathsToNodeIdsCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("TranslateBrowsePathsToNodeIdsCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12137") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12137, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12137") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12137, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12137") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12098") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12137, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12098, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12138") - node.BrowseName = ua.QualifiedName.from_string("QueryFirstCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12098") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12138, 0) + node.BrowseName = QualifiedName('QueryFirstCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12098, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("QueryFirstCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("QueryFirstCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12138") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12138, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12138") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12138, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12138") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12098") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12138, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12098, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12139") - node.BrowseName = ua.QualifiedName.from_string("QueryNextCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12098") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12139, 0) + node.BrowseName = QualifiedName('QueryNextCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12098, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("QueryNextCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("QueryNextCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12139") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12139, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12139") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12139, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12139") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12098") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12139, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12098, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12140") - node.BrowseName = ua.QualifiedName.from_string("RegisterNodesCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12098") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12140, 0) + node.BrowseName = QualifiedName('RegisterNodesCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12098, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RegisterNodesCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("RegisterNodesCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12140") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12140, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12140") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12140, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12140") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12098") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12140, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12098, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12141") - node.BrowseName = ua.QualifiedName.from_string("UnregisterNodesCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12098") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12141, 0) + node.BrowseName = QualifiedName('UnregisterNodesCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12098, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("UnregisterNodesCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("UnregisterNodesCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12141") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12141, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12141") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12141, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12141") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12098") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12141, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12098, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12142") - node.BrowseName = ua.QualifiedName.from_string("SessionSecurityDiagnostics") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12097") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2244") + node.RequestedNewNodeId = NumericNodeId(12142, 0) + node.BrowseName = QualifiedName('SessionSecurityDiagnostics', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12097, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2244, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("Security related diagnostics information for an active session.") - attrs.DisplayName = ua.LocalizedText("SessionSecurityDiagnostics") - attrs.DataType = ua.NodeId.from_string("i=868") + attrs.Description = LocalizedText("Security related diagnostics information for an active session.") + attrs.DisplayName = LocalizedText("SessionSecurityDiagnostics") + attrs.DataType = NumericNodeId(868, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12142") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12143") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12142, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12143, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12142") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12144") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12142, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12144, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12142") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12145") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12142, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12145, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12142") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12146") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12142, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12146, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12142") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12147") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12142, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12147, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12142") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12148") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12142, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12148, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12142") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12149") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12142, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12149, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12142") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12150") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12142, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12150, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12142") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12151") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12142, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12151, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12142") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2244") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12142, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2244, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12142") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12142, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12142") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12097") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12142, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12097, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12143") - node.BrowseName = ua.QualifiedName.from_string("SessionId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12142") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12143, 0) + node.BrowseName = QualifiedName('SessionId', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12142, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SessionId") + attrs.DisplayName = LocalizedText("SessionId") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -8564,36 +8566,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12143") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12143, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12143") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12143, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12143") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12142") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12143, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12142, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12144") - node.BrowseName = ua.QualifiedName.from_string("ClientUserIdOfSession") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12142") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12144, 0) + node.BrowseName = QualifiedName('ClientUserIdOfSession', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12142, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ClientUserIdOfSession") + attrs.DisplayName = LocalizedText("ClientUserIdOfSession") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -8601,36 +8603,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12144") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12144, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12144") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12144, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12144") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12142") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12144, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12142, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12145") - node.BrowseName = ua.QualifiedName.from_string("ClientUserIdHistory") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12142") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12145, 0) + node.BrowseName = QualifiedName('ClientUserIdHistory', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12142, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ClientUserIdHistory") + attrs.DisplayName = LocalizedText("ClientUserIdHistory") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 node.NodeAttributes = attrs @@ -8638,36 +8640,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12145") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12145, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12145") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12145, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12145") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12142") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12145, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12142, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12146") - node.BrowseName = ua.QualifiedName.from_string("AuthenticationMechanism") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12142") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12146, 0) + node.BrowseName = QualifiedName('AuthenticationMechanism', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12142, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AuthenticationMechanism") + attrs.DisplayName = LocalizedText("AuthenticationMechanism") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -8675,36 +8677,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12146") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12146, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12146") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12146, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12146") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12142") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12146, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12142, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12147") - node.BrowseName = ua.QualifiedName.from_string("Encoding") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12142") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12147, 0) + node.BrowseName = QualifiedName('Encoding', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12142, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Encoding") + attrs.DisplayName = LocalizedText("Encoding") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -8712,36 +8714,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12147") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12147, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12147") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12147, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12147") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12142") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12147, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12142, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12148") - node.BrowseName = ua.QualifiedName.from_string("TransportProtocol") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12142") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12148, 0) + node.BrowseName = QualifiedName('TransportProtocol', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12142, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransportProtocol") + attrs.DisplayName = LocalizedText("TransportProtocol") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -8749,73 +8751,73 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12148") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12148, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12148") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12148, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12148") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12142") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12148, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12142, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12149") - node.BrowseName = ua.QualifiedName.from_string("SecurityMode") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12142") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12149, 0) + node.BrowseName = QualifiedName('SecurityMode', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12142, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SecurityMode") - attrs.DataType = ua.NodeId.from_string("i=302") + attrs.DisplayName = LocalizedText("SecurityMode") + attrs.DataType = NumericNodeId(302, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12149") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12149, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12149") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12149, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12149") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12142") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12149, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12142, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12150") - node.BrowseName = ua.QualifiedName.from_string("SecurityPolicyUri") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12142") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12150, 0) + node.BrowseName = QualifiedName('SecurityPolicyUri', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12142, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SecurityPolicyUri") + attrs.DisplayName = LocalizedText("SecurityPolicyUri") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -8823,36 +8825,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12150") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12150, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12150") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12150, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12150") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12142") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12150, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12142, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12151") - node.BrowseName = ua.QualifiedName.from_string("ClientCertificate") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12142") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12151, 0) + node.BrowseName = QualifiedName('ClientCertificate', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12142, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ClientCertificate") + attrs.DisplayName = LocalizedText("ClientCertificate") attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -8860,456 +8862,456 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12151") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12151, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12151") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12151, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12151") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12142") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12151, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12142, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12152") - node.BrowseName = ua.QualifiedName.from_string("SubscriptionDiagnosticsArray") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12097") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2171") + node.RequestedNewNodeId = NumericNodeId(12152, 0) + node.BrowseName = QualifiedName('SubscriptionDiagnosticsArray', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12097, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2171, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A list of diagnostics for each subscription owned by the session.") - attrs.DisplayName = ua.LocalizedText("SubscriptionDiagnosticsArray") - attrs.DataType = ua.NodeId.from_string("i=874") + attrs.Description = LocalizedText("A list of diagnostics for each subscription owned by the session.") + attrs.DisplayName = LocalizedText("SubscriptionDiagnosticsArray") + attrs.DataType = NumericNodeId(874, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12152") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2171") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12152, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2171, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12152") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12152, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12152") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12097") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12152, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12097, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2029") - node.BrowseName = ua.QualifiedName.from_string("SessionDiagnosticsObjectType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=58") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2029, 0) + node.BrowseName = QualifiedName('SessionDiagnosticsObjectType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(58, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.Description = ua.LocalizedText("A container for session level diagnostics information.") - attrs.DisplayName = ua.LocalizedText("SessionDiagnosticsObjectType") + attrs.Description = LocalizedText("A container for session level diagnostics information.") + attrs.DisplayName = LocalizedText("SessionDiagnosticsObjectType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2029") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2030") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2029, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2030, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2029") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2031") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2029, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2031, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2029") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2032") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2029, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2032, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2029") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=58") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2029, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(58, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2030") - node.BrowseName = ua.QualifiedName.from_string("SessionDiagnostics") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2029") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2197") + node.RequestedNewNodeId = NumericNodeId(2030, 0) + node.BrowseName = QualifiedName('SessionDiagnostics', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2029, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2197, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("Diagnostics information for an active session.") - attrs.DisplayName = ua.LocalizedText("SessionDiagnostics") - attrs.DataType = ua.NodeId.from_string("i=865") + attrs.Description = LocalizedText("Diagnostics information for an active session.") + attrs.DisplayName = LocalizedText("SessionDiagnostics") + attrs.DataType = NumericNodeId(865, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3131") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3131, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3132") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3132, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3133") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3133, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3134") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3134, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3135") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3135, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3136") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3136, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3137") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3137, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3138") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3138, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3139") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3139, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3140") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3140, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3141") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3141, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3142") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3142, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3143") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3143, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8898") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8898, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11891") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11891, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3151") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3151, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3152") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3152, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3153") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3153, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3154") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3154, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3155") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3155, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3156") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3156, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3157") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3157, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3158") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3158, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3159") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3159, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3160") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3160, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3161") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3161, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3162") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3162, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3163") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3163, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3164") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3164, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3165") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3165, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3166") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3166, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3167") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3167, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3168") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3168, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3169") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3169, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3170") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3170, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3171") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3171, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3172") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3172, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3173") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3173, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3174") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3174, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3175") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3175, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3176") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3176, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3177") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3177, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3178") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3178, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2197, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2029") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2029, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3131") - node.BrowseName = ua.QualifiedName.from_string("SessionId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2030") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3131, 0) + node.BrowseName = QualifiedName('SessionId', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2030, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SessionId") + attrs.DisplayName = LocalizedText("SessionId") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -9317,36 +9319,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3131") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3131, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3131") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3131, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3131") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2030") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3131, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2030, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3132") - node.BrowseName = ua.QualifiedName.from_string("SessionName") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2030") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3132, 0) + node.BrowseName = QualifiedName('SessionName', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2030, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SessionName") + attrs.DisplayName = LocalizedText("SessionName") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -9354,73 +9356,73 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3132") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3132, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3132") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3132, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3132") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2030") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3132, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2030, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3133") - node.BrowseName = ua.QualifiedName.from_string("ClientDescription") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2030") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3133, 0) + node.BrowseName = QualifiedName('ClientDescription', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2030, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ClientDescription") - attrs.DataType = ua.NodeId.from_string("i=308") + attrs.DisplayName = LocalizedText("ClientDescription") + attrs.DataType = NumericNodeId(308, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3133") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3133, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3133") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3133, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3133") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2030") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3133, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2030, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3134") - node.BrowseName = ua.QualifiedName.from_string("ServerUri") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2030") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3134, 0) + node.BrowseName = QualifiedName('ServerUri', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2030, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ServerUri") + attrs.DisplayName = LocalizedText("ServerUri") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -9428,36 +9430,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3134") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3134, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3134") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3134, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3134") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2030") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3134, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2030, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3135") - node.BrowseName = ua.QualifiedName.from_string("EndpointUrl") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2030") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3135, 0) + node.BrowseName = QualifiedName('EndpointUrl', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2030, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EndpointUrl") + attrs.DisplayName = LocalizedText("EndpointUrl") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -9465,110 +9467,110 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3135") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3135, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3135") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3135, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3135") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2030") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3135, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2030, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3136") - node.BrowseName = ua.QualifiedName.from_string("LocaleIds") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2030") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3136, 0) + node.BrowseName = QualifiedName('LocaleIds', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2030, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LocaleIds") - attrs.DataType = ua.NodeId.from_string("i=295") + attrs.DisplayName = LocalizedText("LocaleIds") + attrs.DataType = NumericNodeId(295, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3136") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3136, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3136") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3136, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3136") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2030") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3136, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2030, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3137") - node.BrowseName = ua.QualifiedName.from_string("ActualSessionTimeout") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2030") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3137, 0) + node.BrowseName = QualifiedName('ActualSessionTimeout', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2030, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ActualSessionTimeout") - attrs.DataType = ua.NodeId.from_string("i=290") + attrs.DisplayName = LocalizedText("ActualSessionTimeout") + attrs.DataType = NumericNodeId(290, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3137") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3137, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3137") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3137, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3137") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2030") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3137, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2030, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3138") - node.BrowseName = ua.QualifiedName.from_string("MaxResponseMessageSize") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2030") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3138, 0) + node.BrowseName = QualifiedName('MaxResponseMessageSize', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2030, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MaxResponseMessageSize") + attrs.DisplayName = LocalizedText("MaxResponseMessageSize") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -9576,110 +9578,110 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3138") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3138, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3138") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3138, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3138") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2030") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3138, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2030, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3139") - node.BrowseName = ua.QualifiedName.from_string("ClientConnectionTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2030") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3139, 0) + node.BrowseName = QualifiedName('ClientConnectionTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2030, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ClientConnectionTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("ClientConnectionTime") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3139") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3139, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3139") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3139, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3139") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2030") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3139, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2030, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3140") - node.BrowseName = ua.QualifiedName.from_string("ClientLastContactTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2030") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3140, 0) + node.BrowseName = QualifiedName('ClientLastContactTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2030, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ClientLastContactTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("ClientLastContactTime") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3140") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3140, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3140") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3140, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3140") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2030") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3140, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2030, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3141") - node.BrowseName = ua.QualifiedName.from_string("CurrentSubscriptionsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2030") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3141, 0) + node.BrowseName = QualifiedName('CurrentSubscriptionsCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2030, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentSubscriptionsCount") + attrs.DisplayName = LocalizedText("CurrentSubscriptionsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -9687,36 +9689,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3141") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3141, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3141") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3141, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3141") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2030") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3141, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2030, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3142") - node.BrowseName = ua.QualifiedName.from_string("CurrentMonitoredItemsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2030") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3142, 0) + node.BrowseName = QualifiedName('CurrentMonitoredItemsCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2030, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentMonitoredItemsCount") + attrs.DisplayName = LocalizedText("CurrentMonitoredItemsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -9724,36 +9726,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3142") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3142, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3142") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3142, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3142") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2030") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3142, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2030, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3143") - node.BrowseName = ua.QualifiedName.from_string("CurrentPublishRequestsInQueue") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2030") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3143, 0) + node.BrowseName = QualifiedName('CurrentPublishRequestsInQueue', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2030, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentPublishRequestsInQueue") + attrs.DisplayName = LocalizedText("CurrentPublishRequestsInQueue") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -9761,73 +9763,73 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3143") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3143, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3143") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3143, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3143") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2030") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3143, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2030, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8898") - node.BrowseName = ua.QualifiedName.from_string("TotalRequestCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2030") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(8898, 0) + node.BrowseName = QualifiedName('TotalRequestCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2030, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TotalRequestCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("TotalRequestCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8898") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8898, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=8898") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(8898, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8898") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2030") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8898, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2030, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11891") - node.BrowseName = ua.QualifiedName.from_string("UnauthorizedRequestCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2030") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(11891, 0) + node.BrowseName = QualifiedName('UnauthorizedRequestCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2030, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("UnauthorizedRequestCount") + attrs.DisplayName = LocalizedText("UnauthorizedRequestCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -9835,1173 +9837,1173 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11891") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11891, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11891") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11891, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11891") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2030") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11891, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2030, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3151") - node.BrowseName = ua.QualifiedName.from_string("ReadCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2030") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3151, 0) + node.BrowseName = QualifiedName('ReadCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2030, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ReadCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("ReadCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3151") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3151, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3151") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3151, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3151") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2030") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3151, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2030, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3152") - node.BrowseName = ua.QualifiedName.from_string("HistoryReadCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2030") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3152, 0) + node.BrowseName = QualifiedName('HistoryReadCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2030, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("HistoryReadCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("HistoryReadCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3152") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3152, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3152") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3152, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3152") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2030") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3152, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2030, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3153") - node.BrowseName = ua.QualifiedName.from_string("WriteCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2030") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3153, 0) + node.BrowseName = QualifiedName('WriteCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2030, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("WriteCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("WriteCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3153") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3153, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3153") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3153, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3153") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2030") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3153, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2030, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3154") - node.BrowseName = ua.QualifiedName.from_string("HistoryUpdateCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2030") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3154, 0) + node.BrowseName = QualifiedName('HistoryUpdateCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2030, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("HistoryUpdateCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("HistoryUpdateCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3154") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3154, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3154") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3154, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3154") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2030") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3154, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2030, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3155") - node.BrowseName = ua.QualifiedName.from_string("CallCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2030") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3155, 0) + node.BrowseName = QualifiedName('CallCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2030, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CallCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("CallCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3155") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3155, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3155") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3155, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3155") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2030") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3155, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2030, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3156") - node.BrowseName = ua.QualifiedName.from_string("CreateMonitoredItemsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2030") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3156, 0) + node.BrowseName = QualifiedName('CreateMonitoredItemsCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2030, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CreateMonitoredItemsCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("CreateMonitoredItemsCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3156") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3156, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3156") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3156, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3156") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2030") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3156, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2030, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3157") - node.BrowseName = ua.QualifiedName.from_string("ModifyMonitoredItemsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2030") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3157, 0) + node.BrowseName = QualifiedName('ModifyMonitoredItemsCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2030, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ModifyMonitoredItemsCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("ModifyMonitoredItemsCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3157") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3157, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3157") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3157, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3157") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2030") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3157, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2030, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3158") - node.BrowseName = ua.QualifiedName.from_string("SetMonitoringModeCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2030") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3158, 0) + node.BrowseName = QualifiedName('SetMonitoringModeCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2030, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SetMonitoringModeCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("SetMonitoringModeCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3158") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3158, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3158") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3158, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3158") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2030") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3158, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2030, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3159") - node.BrowseName = ua.QualifiedName.from_string("SetTriggeringCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2030") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3159, 0) + node.BrowseName = QualifiedName('SetTriggeringCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2030, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SetTriggeringCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("SetTriggeringCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3159") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3159, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3159") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3159, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3159") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2030") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3159, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2030, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3160") - node.BrowseName = ua.QualifiedName.from_string("DeleteMonitoredItemsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2030") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3160, 0) + node.BrowseName = QualifiedName('DeleteMonitoredItemsCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2030, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DeleteMonitoredItemsCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("DeleteMonitoredItemsCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3160") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3160, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3160") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3160, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3160") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2030") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3160, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2030, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3161") - node.BrowseName = ua.QualifiedName.from_string("CreateSubscriptionCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2030") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3161, 0) + node.BrowseName = QualifiedName('CreateSubscriptionCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2030, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CreateSubscriptionCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("CreateSubscriptionCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3161") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3161, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3161") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3161, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3161") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2030") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3161, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2030, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3162") - node.BrowseName = ua.QualifiedName.from_string("ModifySubscriptionCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2030") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3162, 0) + node.BrowseName = QualifiedName('ModifySubscriptionCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2030, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ModifySubscriptionCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("ModifySubscriptionCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3162") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3162, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3162") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3162, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3162") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2030") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3162, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2030, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3163") - node.BrowseName = ua.QualifiedName.from_string("SetPublishingModeCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2030") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3163, 0) + node.BrowseName = QualifiedName('SetPublishingModeCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2030, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SetPublishingModeCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("SetPublishingModeCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3163") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3163, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3163") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3163, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3163") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2030") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3163, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2030, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3164") - node.BrowseName = ua.QualifiedName.from_string("PublishCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2030") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3164, 0) + node.BrowseName = QualifiedName('PublishCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2030, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("PublishCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("PublishCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3164") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3164, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3164") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3164, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3164") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2030") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3164, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2030, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3165") - node.BrowseName = ua.QualifiedName.from_string("RepublishCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2030") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3165, 0) + node.BrowseName = QualifiedName('RepublishCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2030, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RepublishCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("RepublishCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3165") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3165, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3165") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3165, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3165") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2030") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3165, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2030, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3166") - node.BrowseName = ua.QualifiedName.from_string("TransferSubscriptionsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2030") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3166, 0) + node.BrowseName = QualifiedName('TransferSubscriptionsCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2030, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransferSubscriptionsCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("TransferSubscriptionsCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3166") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3166, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3166") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3166, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3166") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2030") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3166, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2030, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3167") - node.BrowseName = ua.QualifiedName.from_string("DeleteSubscriptionsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2030") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3167, 0) + node.BrowseName = QualifiedName('DeleteSubscriptionsCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2030, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DeleteSubscriptionsCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("DeleteSubscriptionsCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3167") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3167, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3167") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3167, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3167") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2030") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3167, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2030, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3168") - node.BrowseName = ua.QualifiedName.from_string("AddNodesCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2030") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3168, 0) + node.BrowseName = QualifiedName('AddNodesCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2030, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AddNodesCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("AddNodesCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3168") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3168, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3168") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3168, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3168") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2030") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3168, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2030, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3169") - node.BrowseName = ua.QualifiedName.from_string("AddReferencesCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2030") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3169, 0) + node.BrowseName = QualifiedName('AddReferencesCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2030, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AddReferencesCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("AddReferencesCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3169") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3169, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3169") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3169, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3169") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2030") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3169, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2030, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3170") - node.BrowseName = ua.QualifiedName.from_string("DeleteNodesCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2030") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3170, 0) + node.BrowseName = QualifiedName('DeleteNodesCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2030, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DeleteNodesCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("DeleteNodesCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3170") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3170, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3170") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3170, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3170") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2030") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3170, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2030, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3171") - node.BrowseName = ua.QualifiedName.from_string("DeleteReferencesCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2030") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3171, 0) + node.BrowseName = QualifiedName('DeleteReferencesCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2030, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DeleteReferencesCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("DeleteReferencesCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3171") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3171, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3171") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3171, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3171") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2030") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3171, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2030, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3172") - node.BrowseName = ua.QualifiedName.from_string("BrowseCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2030") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3172, 0) + node.BrowseName = QualifiedName('BrowseCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2030, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("BrowseCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("BrowseCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3172") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3172, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3172") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3172, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3172") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2030") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3172, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2030, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3173") - node.BrowseName = ua.QualifiedName.from_string("BrowseNextCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2030") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3173, 0) + node.BrowseName = QualifiedName('BrowseNextCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2030, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("BrowseNextCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("BrowseNextCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3173") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3173, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3173") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3173, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3173") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2030") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3173, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2030, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3174") - node.BrowseName = ua.QualifiedName.from_string("TranslateBrowsePathsToNodeIdsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2030") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3174, 0) + node.BrowseName = QualifiedName('TranslateBrowsePathsToNodeIdsCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2030, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TranslateBrowsePathsToNodeIdsCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("TranslateBrowsePathsToNodeIdsCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3174") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3174, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3174") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3174, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3174") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2030") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3174, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2030, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3175") - node.BrowseName = ua.QualifiedName.from_string("QueryFirstCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2030") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3175, 0) + node.BrowseName = QualifiedName('QueryFirstCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2030, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("QueryFirstCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("QueryFirstCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3175") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3175, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3175") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3175, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3175") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2030") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3175, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2030, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3176") - node.BrowseName = ua.QualifiedName.from_string("QueryNextCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2030") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3176, 0) + node.BrowseName = QualifiedName('QueryNextCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2030, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("QueryNextCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("QueryNextCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3176") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3176, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3176") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3176, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3176") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2030") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3176, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2030, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3177") - node.BrowseName = ua.QualifiedName.from_string("RegisterNodesCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2030") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3177, 0) + node.BrowseName = QualifiedName('RegisterNodesCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2030, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RegisterNodesCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("RegisterNodesCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3177") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3177, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3177") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3177, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3177") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2030") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3177, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2030, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3178") - node.BrowseName = ua.QualifiedName.from_string("UnregisterNodesCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2030") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3178, 0) + node.BrowseName = QualifiedName('UnregisterNodesCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2030, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("UnregisterNodesCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("UnregisterNodesCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3178") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3178, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3178") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3178, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3178") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2030") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3178, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2030, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2031") - node.BrowseName = ua.QualifiedName.from_string("SessionSecurityDiagnostics") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2029") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2244") + node.RequestedNewNodeId = NumericNodeId(2031, 0) + node.BrowseName = QualifiedName('SessionSecurityDiagnostics', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2029, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2244, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("Security related diagnostics information for an active session.") - attrs.DisplayName = ua.LocalizedText("SessionSecurityDiagnostics") - attrs.DataType = ua.NodeId.from_string("i=868") + attrs.Description = LocalizedText("Security related diagnostics information for an active session.") + attrs.DisplayName = LocalizedText("SessionSecurityDiagnostics") + attrs.DataType = NumericNodeId(868, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2031") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3179") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2031, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3179, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2031") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3180") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2031, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3180, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2031") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3181") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2031, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3181, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2031") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3182") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2031, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3182, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2031") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3183") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2031, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3183, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2031") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3184") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2031, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3184, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2031") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3185") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2031, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3185, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2031") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3186") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2031, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3186, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2031") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3187") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2031, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3187, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2031") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2244") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2031, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2244, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2031") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2031, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2031") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2029") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2031, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2029, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3179") - node.BrowseName = ua.QualifiedName.from_string("SessionId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2031") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3179, 0) + node.BrowseName = QualifiedName('SessionId', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2031, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SessionId") + attrs.DisplayName = LocalizedText("SessionId") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -11009,36 +11011,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3179") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3179, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3179") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3179, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3179") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2031") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3179, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2031, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3180") - node.BrowseName = ua.QualifiedName.from_string("ClientUserIdOfSession") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2031") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3180, 0) + node.BrowseName = QualifiedName('ClientUserIdOfSession', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2031, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ClientUserIdOfSession") + attrs.DisplayName = LocalizedText("ClientUserIdOfSession") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -11046,36 +11048,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3180") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3180, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3180") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3180, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3180") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2031") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3180, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2031, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3181") - node.BrowseName = ua.QualifiedName.from_string("ClientUserIdHistory") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2031") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3181, 0) + node.BrowseName = QualifiedName('ClientUserIdHistory', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2031, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ClientUserIdHistory") + attrs.DisplayName = LocalizedText("ClientUserIdHistory") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 node.NodeAttributes = attrs @@ -11083,36 +11085,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3181") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3181, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3181") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3181, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3181") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2031") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3181, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2031, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3182") - node.BrowseName = ua.QualifiedName.from_string("AuthenticationMechanism") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2031") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3182, 0) + node.BrowseName = QualifiedName('AuthenticationMechanism', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2031, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AuthenticationMechanism") + attrs.DisplayName = LocalizedText("AuthenticationMechanism") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -11120,36 +11122,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3182") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3182, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3182") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3182, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3182") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2031") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3182, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2031, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3183") - node.BrowseName = ua.QualifiedName.from_string("Encoding") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2031") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3183, 0) + node.BrowseName = QualifiedName('Encoding', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2031, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Encoding") + attrs.DisplayName = LocalizedText("Encoding") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -11157,36 +11159,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3183") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3183, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3183") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3183, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3183") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2031") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3183, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2031, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3184") - node.BrowseName = ua.QualifiedName.from_string("TransportProtocol") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2031") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3184, 0) + node.BrowseName = QualifiedName('TransportProtocol', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2031, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransportProtocol") + attrs.DisplayName = LocalizedText("TransportProtocol") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -11194,73 +11196,73 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3184") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3184, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3184") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3184, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3184") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2031") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3184, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2031, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3185") - node.BrowseName = ua.QualifiedName.from_string("SecurityMode") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2031") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3185, 0) + node.BrowseName = QualifiedName('SecurityMode', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2031, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SecurityMode") - attrs.DataType = ua.NodeId.from_string("i=302") + attrs.DisplayName = LocalizedText("SecurityMode") + attrs.DataType = NumericNodeId(302, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3185") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3185, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3185") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3185, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3185") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2031") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3185, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2031, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3186") - node.BrowseName = ua.QualifiedName.from_string("SecurityPolicyUri") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2031") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3186, 0) + node.BrowseName = QualifiedName('SecurityPolicyUri', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2031, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SecurityPolicyUri") + attrs.DisplayName = LocalizedText("SecurityPolicyUri") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -11268,36 +11270,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3186") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3186, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3186") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3186, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3186") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2031") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3186, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2031, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3187") - node.BrowseName = ua.QualifiedName.from_string("ClientCertificate") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2031") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3187, 0) + node.BrowseName = QualifiedName('ClientCertificate', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2031, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ClientCertificate") + attrs.DisplayName = LocalizedText("ClientCertificate") attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -11305,200 +11307,200 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3187") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3187, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3187") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3187, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3187") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2031") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3187, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2031, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2032") - node.BrowseName = ua.QualifiedName.from_string("SubscriptionDiagnosticsArray") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2029") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2171") + node.RequestedNewNodeId = NumericNodeId(2032, 0) + node.BrowseName = QualifiedName('SubscriptionDiagnosticsArray', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2029, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2171, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A list of diagnostics for each subscription owned by the session.") - attrs.DisplayName = ua.LocalizedText("SubscriptionDiagnosticsArray") - attrs.DataType = ua.NodeId.from_string("i=874") + attrs.Description = LocalizedText("A list of diagnostics for each subscription owned by the session.") + attrs.DisplayName = LocalizedText("SubscriptionDiagnosticsArray") + attrs.DataType = NumericNodeId(874, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2032") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2171") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2032, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2171, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2032") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2032, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2032") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2029") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2032, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2029, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2033") - node.BrowseName = ua.QualifiedName.from_string("VendorServerInfoType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=58") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2033, 0) + node.BrowseName = QualifiedName('VendorServerInfoType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(58, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.Description = ua.LocalizedText("A base type for vendor specific server information.") - attrs.DisplayName = ua.LocalizedText("VendorServerInfoType") + attrs.Description = LocalizedText("A base type for vendor specific server information.") + attrs.DisplayName = LocalizedText("VendorServerInfoType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2033") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=58") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2033, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(58, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2034") - node.BrowseName = ua.QualifiedName.from_string("ServerRedundancyType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=58") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2034, 0) + node.BrowseName = QualifiedName('ServerRedundancyType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(58, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.Description = ua.LocalizedText("A base type for an object that describe how a server supports redundancy.") - attrs.DisplayName = ua.LocalizedText("ServerRedundancyType") + attrs.Description = LocalizedText("A base type for an object that describe how a server supports redundancy.") + attrs.DisplayName = LocalizedText("ServerRedundancyType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2034") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2035") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2034, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2035, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2034") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=58") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2034, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(58, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2035") - node.BrowseName = ua.QualifiedName.from_string("RedundancySupport") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2034") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2035, 0) + node.BrowseName = QualifiedName('RedundancySupport', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2034, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("Indicates what style of redundancy is supported by the server.") - attrs.DisplayName = ua.LocalizedText("RedundancySupport") - attrs.DataType = ua.NodeId.from_string("i=851") + attrs.Description = LocalizedText("Indicates what style of redundancy is supported by the server.") + attrs.DisplayName = LocalizedText("RedundancySupport") + attrs.DataType = NumericNodeId(851, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2035") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2035, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2035") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2035, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2035") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2034") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2035, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2034, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2036") - node.BrowseName = ua.QualifiedName.from_string("TransparentRedundancyType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2034") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2036, 0) + node.BrowseName = QualifiedName('TransparentRedundancyType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2034, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.Description = ua.LocalizedText("Identifies the capabilties of server that supports transparent redundancy.") - attrs.DisplayName = ua.LocalizedText("TransparentRedundancyType") + attrs.Description = LocalizedText("Identifies the capabilties of server that supports transparent redundancy.") + attrs.DisplayName = LocalizedText("TransparentRedundancyType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2036") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2037") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2036, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2037, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2036") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2038") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2036, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2038, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2036") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2034") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2036, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2034, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2037") - node.BrowseName = ua.QualifiedName.from_string("CurrentServerId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2036") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2037, 0) + node.BrowseName = QualifiedName('CurrentServerId', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2036, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The ID of the server that is currently in use.") - attrs.DisplayName = ua.LocalizedText("CurrentServerId") + attrs.Description = LocalizedText("The ID of the server that is currently in use.") + attrs.DisplayName = LocalizedText("CurrentServerId") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -11506,104 +11508,104 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2037") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2037, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2037") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2037, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2037") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2036") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2037, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2036, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2038") - node.BrowseName = ua.QualifiedName.from_string("RedundantServerArray") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2036") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2038, 0) + node.BrowseName = QualifiedName('RedundantServerArray', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2036, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A list of servers in the same redundant set.") - attrs.DisplayName = ua.LocalizedText("RedundantServerArray") - attrs.DataType = ua.NodeId.from_string("i=853") + attrs.Description = LocalizedText("A list of servers in the same redundant set.") + attrs.DisplayName = LocalizedText("RedundantServerArray") + attrs.DataType = NumericNodeId(853, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2038") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2038, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2038") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2038, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2038") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2036") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2038, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2036, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2039") - node.BrowseName = ua.QualifiedName.from_string("NonTransparentRedundancyType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2034") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2039, 0) + node.BrowseName = QualifiedName('NonTransparentRedundancyType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2034, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.Description = ua.LocalizedText("Identifies the capabilties of server that supports non-transparent redundancy.") - attrs.DisplayName = ua.LocalizedText("NonTransparentRedundancyType") + attrs.Description = LocalizedText("Identifies the capabilties of server that supports non-transparent redundancy.") + attrs.DisplayName = LocalizedText("NonTransparentRedundancyType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2039") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2040") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2039, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2040, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2039") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2034") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2039, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2034, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2040") - node.BrowseName = ua.QualifiedName.from_string("ServerUriArray") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2039") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2040, 0) + node.BrowseName = QualifiedName('ServerUriArray', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2039, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A list of servers in the same redundant set.") - attrs.DisplayName = ua.LocalizedText("ServerUriArray") + attrs.Description = LocalizedText("A list of servers in the same redundant set.") + attrs.DisplayName = LocalizedText("ServerUriArray") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 node.NodeAttributes = attrs @@ -11611,208 +11613,208 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2040") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2040, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2040") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2040, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2040") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2039") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2040, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2039, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11945") - node.BrowseName = ua.QualifiedName.from_string("NonTransparentNetworkRedundancyType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2039") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(11945, 0) + node.BrowseName = QualifiedName('NonTransparentNetworkRedundancyType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2039, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("NonTransparentNetworkRedundancyType") + attrs.DisplayName = LocalizedText("NonTransparentNetworkRedundancyType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11945") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11948") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11945, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11948, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=11945") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2039") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(11945, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2039, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11948") - node.BrowseName = ua.QualifiedName.from_string("ServerNetworkGroups") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11945") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11948, 0) + node.BrowseName = QualifiedName('ServerNetworkGroups', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11945, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ServerNetworkGroups") - attrs.DataType = ua.NodeId.from_string("i=11944") + attrs.DisplayName = LocalizedText("ServerNetworkGroups") + attrs.DataType = NumericNodeId(11944, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11948") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11948, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11948") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11948, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11948") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11945") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11948, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11945, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11564") - node.BrowseName = ua.QualifiedName.from_string("OperationLimitsType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=61") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(11564, 0) + node.BrowseName = QualifiedName('OperationLimitsType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(61, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.Description = ua.LocalizedText("Identifies the operation limits imposed by the server.") - attrs.DisplayName = ua.LocalizedText("OperationLimitsType") + attrs.Description = LocalizedText("Identifies the operation limits imposed by the server.") + attrs.DisplayName = LocalizedText("OperationLimitsType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11564") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11565") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11564, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11565, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11564") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12161") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11564, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12161, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11564") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12162") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11564, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12162, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11564") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11567") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11564, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11567, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11564") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12163") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11564, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12163, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11564") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12164") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11564, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12164, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11564") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11569") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11564, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11569, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11564") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11570") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11564, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11570, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11564") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11571") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11564, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11571, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11564") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11572") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11564, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11572, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11564") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11573") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11564, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11573, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11564") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11574") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11564, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11574, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=11564") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=61") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(11564, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(61, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11565") - node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerRead") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11564") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11565, 0) + node.BrowseName = QualifiedName('MaxNodesPerRead', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11564, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum number of operations in a single Read request.") - attrs.DisplayName = ua.LocalizedText("MaxNodesPerRead") + attrs.Description = LocalizedText("The maximum number of operations in a single Read request.") + attrs.DisplayName = LocalizedText("MaxNodesPerRead") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -11820,37 +11822,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11565") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11565, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11565") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11565, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11565") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11564") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11565, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11564, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12161") - node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerHistoryReadData") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11564") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(12161, 0) + node.BrowseName = QualifiedName('MaxNodesPerHistoryReadData', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11564, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum number of operations in a single data HistoryRead request.") - attrs.DisplayName = ua.LocalizedText("MaxNodesPerHistoryReadData") + attrs.Description = LocalizedText("The maximum number of operations in a single data HistoryRead request.") + attrs.DisplayName = LocalizedText("MaxNodesPerHistoryReadData") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -11858,37 +11860,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12161") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12161, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12161") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12161, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12161") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11564") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12161, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11564, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12162") - node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerHistoryReadEvents") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11564") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(12162, 0) + node.BrowseName = QualifiedName('MaxNodesPerHistoryReadEvents', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11564, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum number of operations in a single event HistoryRead request.") - attrs.DisplayName = ua.LocalizedText("MaxNodesPerHistoryReadEvents") + attrs.Description = LocalizedText("The maximum number of operations in a single event HistoryRead request.") + attrs.DisplayName = LocalizedText("MaxNodesPerHistoryReadEvents") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -11896,37 +11898,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12162") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12162, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12162") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12162, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12162") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11564") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12162, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11564, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11567") - node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerWrite") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11564") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11567, 0) + node.BrowseName = QualifiedName('MaxNodesPerWrite', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11564, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum number of operations in a single Write request.") - attrs.DisplayName = ua.LocalizedText("MaxNodesPerWrite") + attrs.Description = LocalizedText("The maximum number of operations in a single Write request.") + attrs.DisplayName = LocalizedText("MaxNodesPerWrite") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -11934,37 +11936,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11567") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11567, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11567") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11567, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11567") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11564") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11567, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11564, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12163") - node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerHistoryUpdateData") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11564") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(12163, 0) + node.BrowseName = QualifiedName('MaxNodesPerHistoryUpdateData', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11564, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum number of operations in a single data HistoryUpdate request.") - attrs.DisplayName = ua.LocalizedText("MaxNodesPerHistoryUpdateData") + attrs.Description = LocalizedText("The maximum number of operations in a single data HistoryUpdate request.") + attrs.DisplayName = LocalizedText("MaxNodesPerHistoryUpdateData") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -11972,37 +11974,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12163") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12163, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12163") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12163, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12163") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11564") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12163, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11564, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12164") - node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerHistoryUpdateEvents") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11564") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(12164, 0) + node.BrowseName = QualifiedName('MaxNodesPerHistoryUpdateEvents', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11564, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum number of operations in a single event HistoryUpdate request.") - attrs.DisplayName = ua.LocalizedText("MaxNodesPerHistoryUpdateEvents") + attrs.Description = LocalizedText("The maximum number of operations in a single event HistoryUpdate request.") + attrs.DisplayName = LocalizedText("MaxNodesPerHistoryUpdateEvents") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -12010,37 +12012,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12164") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12164, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12164") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12164, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12164") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11564") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12164, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11564, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11569") - node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerMethodCall") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11564") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11569, 0) + node.BrowseName = QualifiedName('MaxNodesPerMethodCall', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11564, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum number of operations in a single Call request.") - attrs.DisplayName = ua.LocalizedText("MaxNodesPerMethodCall") + attrs.Description = LocalizedText("The maximum number of operations in a single Call request.") + attrs.DisplayName = LocalizedText("MaxNodesPerMethodCall") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -12048,37 +12050,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11569") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11569, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11569") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11569, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11569") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11564") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11569, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11564, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11570") - node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerBrowse") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11564") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11570, 0) + node.BrowseName = QualifiedName('MaxNodesPerBrowse', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11564, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum number of operations in a single Browse request.") - attrs.DisplayName = ua.LocalizedText("MaxNodesPerBrowse") + attrs.Description = LocalizedText("The maximum number of operations in a single Browse request.") + attrs.DisplayName = LocalizedText("MaxNodesPerBrowse") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -12086,37 +12088,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11570") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11570, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11570") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11570, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11570") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11564") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11570, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11564, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11571") - node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerRegisterNodes") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11564") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11571, 0) + node.BrowseName = QualifiedName('MaxNodesPerRegisterNodes', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11564, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum number of operations in a single RegisterNodes request.") - attrs.DisplayName = ua.LocalizedText("MaxNodesPerRegisterNodes") + attrs.Description = LocalizedText("The maximum number of operations in a single RegisterNodes request.") + attrs.DisplayName = LocalizedText("MaxNodesPerRegisterNodes") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -12124,37 +12126,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11571") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11571, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11571") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11571, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11571") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11564") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11571, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11564, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11572") - node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerTranslateBrowsePathsToNodeIds") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11564") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11572, 0) + node.BrowseName = QualifiedName('MaxNodesPerTranslateBrowsePathsToNodeIds', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11564, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum number of operations in a single TranslateBrowsePathsToNodeIds request.") - attrs.DisplayName = ua.LocalizedText("MaxNodesPerTranslateBrowsePathsToNodeIds") + attrs.Description = LocalizedText("The maximum number of operations in a single TranslateBrowsePathsToNodeIds request.") + attrs.DisplayName = LocalizedText("MaxNodesPerTranslateBrowsePathsToNodeIds") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -12162,37 +12164,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11572") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11572, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11572") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11572, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11572") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11564") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11572, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11564, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11573") - node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerNodeManagement") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11564") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11573, 0) + node.BrowseName = QualifiedName('MaxNodesPerNodeManagement', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11564, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum number of operations in a single AddNodes, AddReferences, DeleteNodes or DeleteReferences request.") - attrs.DisplayName = ua.LocalizedText("MaxNodesPerNodeManagement") + attrs.Description = LocalizedText("The maximum number of operations in a single AddNodes, AddReferences, DeleteNodes or DeleteReferences request.") + attrs.DisplayName = LocalizedText("MaxNodesPerNodeManagement") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -12200,37 +12202,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11573") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11573, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11573") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11573, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11573") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11564") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11573, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11564, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11574") - node.BrowseName = ua.QualifiedName.from_string("MaxMonitoredItemsPerCall") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11564") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11574, 0) + node.BrowseName = QualifiedName('MaxMonitoredItemsPerCall', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11564, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum number of operations in a single MonitoredItem related request.") - attrs.DisplayName = ua.LocalizedText("MaxMonitoredItemsPerCall") + attrs.Description = LocalizedText("The maximum number of operations in a single MonitoredItem related request.") + attrs.DisplayName = LocalizedText("MaxMonitoredItemsPerCall") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -12238,136 +12240,136 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11574") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11574, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11574") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11574, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11574") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11564") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11574, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11564, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11575") - node.BrowseName = ua.QualifiedName.from_string("FileType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=58") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(11575, 0) + node.BrowseName = QualifiedName('FileType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(58, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.Description = ua.LocalizedText("An object that represents a file that can be accessed via the server.") - attrs.DisplayName = ua.LocalizedText("FileType") + attrs.Description = LocalizedText("An object that represents a file that can be accessed via the server.") + attrs.DisplayName = LocalizedText("FileType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11575") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11576") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11575, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11576, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11575") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12686") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11575, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12686, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11575") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12687") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11575, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12687, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11575") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11579") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11575, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11579, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11575") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13341") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11575, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13341, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11575") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11580") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11575, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11580, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11575") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11583") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11575, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11583, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11575") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11585") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11575, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11585, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11575") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11588") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11575, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11588, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11575") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11590") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11575, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11590, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11575") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11593") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11575, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11593, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=11575") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=58") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(11575, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(58, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11576") - node.BrowseName = ua.QualifiedName.from_string("Size") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11575") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11576, 0) + node.BrowseName = QualifiedName('Size', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11575, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The size of the file in bytes.") - attrs.DisplayName = ua.LocalizedText("Size") + attrs.Description = LocalizedText("The size of the file in bytes.") + attrs.DisplayName = LocalizedText("Size") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt64) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -12375,37 +12377,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11576") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11576, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11576") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11576, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11576") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11575") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11576, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11575, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12686") - node.BrowseName = ua.QualifiedName.from_string("Writable") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11575") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(12686, 0) + node.BrowseName = QualifiedName('Writable', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11575, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("Whether the file is writable.") - attrs.DisplayName = ua.LocalizedText("Writable") + attrs.Description = LocalizedText("Whether the file is writable.") + attrs.DisplayName = LocalizedText("Writable") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -12413,37 +12415,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12686") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12686, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12686") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12686, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12686") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11575") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12686, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11575, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12687") - node.BrowseName = ua.QualifiedName.from_string("UserWritable") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11575") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(12687, 0) + node.BrowseName = QualifiedName('UserWritable', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11575, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("Whether the file is writable by the current user.") - attrs.DisplayName = ua.LocalizedText("UserWritable") + attrs.Description = LocalizedText("Whether the file is writable by the current user.") + attrs.DisplayName = LocalizedText("UserWritable") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -12451,37 +12453,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12687") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12687, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12687") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12687, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12687") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11575") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12687, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11575, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11579") - node.BrowseName = ua.QualifiedName.from_string("OpenCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11575") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11579, 0) + node.BrowseName = QualifiedName('OpenCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11575, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The current number of open file handles.") - attrs.DisplayName = ua.LocalizedText("OpenCount") + attrs.Description = LocalizedText("The current number of open file handles.") + attrs.DisplayName = LocalizedText("OpenCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -12489,37 +12491,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11579") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11579, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11579") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11579, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11579") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11575") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11579, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11575, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13341") - node.BrowseName = ua.QualifiedName.from_string("MimeType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11575") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(13341, 0) + node.BrowseName = QualifiedName('MimeType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11575, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The content of the file.") - attrs.DisplayName = ua.LocalizedText("MimeType") + attrs.Description = LocalizedText("The content of the file.") + attrs.DisplayName = LocalizedText("MimeType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -12527,82 +12529,82 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13341") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(13341, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13341") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(13341, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13341") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11575") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13341, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11575, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11580") - node.BrowseName = ua.QualifiedName.from_string("Open") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=11575") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(11580, 0) + node.BrowseName = QualifiedName('Open', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(11575, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("Open") + attrs.DisplayName = LocalizedText("Open") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11580") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11581") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11580, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11581, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11580") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11582") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11580, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11582, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11580") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11580, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11580") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11575") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11580, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11575, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11581") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11580") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11581, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11580, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'Mode' - extobj.DataType = ua.NodeId.from_string("i=3") + extobj.DataType = NumericNodeId(3, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -12612,41 +12614,41 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11581") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11581, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11581") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11581, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11581") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11580") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11581, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11580, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11582") - node.BrowseName = ua.QualifiedName.from_string("OutputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11580") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11582, 0) + node.BrowseName = QualifiedName('OutputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11580, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OutputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("OutputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'FileHandle' - extobj.DataType = ua.NodeId.from_string("i=7") + extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -12656,75 +12658,75 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11582") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11582, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11582") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11582, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11582") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11580") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11582, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11580, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11583") - node.BrowseName = ua.QualifiedName.from_string("Close") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=11575") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(11583, 0) + node.BrowseName = QualifiedName('Close', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(11575, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("Close") + attrs.DisplayName = LocalizedText("Close") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11583") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11584") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11583, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11584, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11583") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11583, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11583") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11575") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11583, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11575, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11584") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11583") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11584, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11583, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'FileHandle' - extobj.DataType = ua.NodeId.from_string("i=7") + extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -12734,87 +12736,87 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11584") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11584, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11584") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11584, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11584") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11583") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11584, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11583, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11585") - node.BrowseName = ua.QualifiedName.from_string("Read") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=11575") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(11585, 0) + node.BrowseName = QualifiedName('Read', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(11575, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("Read") + attrs.DisplayName = LocalizedText("Read") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11585") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11586") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11585, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11586, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11585") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11587") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11585, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11587, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11585") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11585, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11585") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11575") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11585, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11575, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11586") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11585") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11586, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11585, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'FileHandle' - extobj.DataType = ua.NodeId.from_string("i=7") + extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.Name = 'Length' - extobj.DataType = ua.NodeId.from_string("i=6") + extobj.DataType = NumericNodeId(6, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -12824,41 +12826,41 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11586") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11586, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11586") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11586, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11586") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11585") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11586, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11585, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11587") - node.BrowseName = ua.QualifiedName.from_string("OutputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11585") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11587, 0) + node.BrowseName = QualifiedName('OutputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11585, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OutputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("OutputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'Data' - extobj.DataType = ua.NodeId.from_string("i=15") + extobj.DataType = NumericNodeId(15, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -12868,80 +12870,80 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11587") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11587, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11587") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11587, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11587") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11585") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11587, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11585, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11588") - node.BrowseName = ua.QualifiedName.from_string("Write") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=11575") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(11588, 0) + node.BrowseName = QualifiedName('Write', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(11575, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("Write") + attrs.DisplayName = LocalizedText("Write") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11588") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11589") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11588, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11589, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11588") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11588, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11588") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11575") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11588, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11575, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11589") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11588") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11589, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11588, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'FileHandle' - extobj.DataType = ua.NodeId.from_string("i=7") + extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.Name = 'Data' - extobj.DataType = ua.NodeId.from_string("i=15") + extobj.DataType = NumericNodeId(15, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -12951,82 +12953,82 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11589") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11589, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11589") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11589, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11589") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11588") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11589, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11588, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11590") - node.BrowseName = ua.QualifiedName.from_string("GetPosition") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=11575") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(11590, 0) + node.BrowseName = QualifiedName('GetPosition', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(11575, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("GetPosition") + attrs.DisplayName = LocalizedText("GetPosition") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11590") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11591") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11590, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11591, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11590") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11592") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11590, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11592, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11590") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11590, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11590") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11575") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11590, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11575, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11591") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11590") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11591, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11590, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'FileHandle' - extobj.DataType = ua.NodeId.from_string("i=7") + extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -13036,41 +13038,41 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11591") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11591, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11591") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11591, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11591") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11590") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11591, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11590, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11592") - node.BrowseName = ua.QualifiedName.from_string("OutputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11590") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11592, 0) + node.BrowseName = QualifiedName('OutputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11590, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OutputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("OutputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'Position' - extobj.DataType = ua.NodeId.from_string("i=9") + extobj.DataType = NumericNodeId(9, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -13080,80 +13082,80 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11592") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11592, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11592") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11592, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11592") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11590") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11592, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11590, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11593") - node.BrowseName = ua.QualifiedName.from_string("SetPosition") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=11575") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(11593, 0) + node.BrowseName = QualifiedName('SetPosition', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(11575, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("SetPosition") + attrs.DisplayName = LocalizedText("SetPosition") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11593") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11594") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11593, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11594, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11593") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11593, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11593") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11575") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11593, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11575, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11594") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11593") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11594, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11593, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'FileHandle' - extobj.DataType = ua.NodeId.from_string("i=7") + extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.Name = 'Position' - extobj.DataType = ua.NodeId.from_string("i=9") + extobj.DataType = NumericNodeId(9, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -13163,193 +13165,193 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11594") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11594, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11594") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11594, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11594") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11593") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11594, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11593, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11595") - node.BrowseName = ua.QualifiedName.from_string("AddressSpaceFileType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=11575") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(11595, 0) + node.BrowseName = QualifiedName('AddressSpaceFileType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(11575, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.Description = ua.LocalizedText("A file used to store a namespace exported from the server.") - attrs.DisplayName = ua.LocalizedText("AddressSpaceFileType") + attrs.Description = LocalizedText("A file used to store a namespace exported from the server.") + attrs.DisplayName = LocalizedText("AddressSpaceFileType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11595") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11615") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11595, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11615, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=11595") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11575") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(11595, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11575, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11615") - node.BrowseName = ua.QualifiedName.from_string("ExportNamespace") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=11595") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(11615, 0) + node.BrowseName = QualifiedName('ExportNamespace', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(11595, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.Description = ua.LocalizedText("Updates the file by exporting the server namespace.") - attrs.DisplayName = ua.LocalizedText("ExportNamespace") + attrs.Description = LocalizedText("Updates the file by exporting the server namespace.") + attrs.DisplayName = LocalizedText("ExportNamespace") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11615") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11615, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11615") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11595") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11615, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11595, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11616") - node.BrowseName = ua.QualifiedName.from_string("NamespaceMetadataType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=58") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(11616, 0) + node.BrowseName = QualifiedName('NamespaceMetadataType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(58, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.Description = ua.LocalizedText("Provides the metadata for a namespace used by the server.") - attrs.DisplayName = ua.LocalizedText("NamespaceMetadataType") + attrs.Description = LocalizedText("Provides the metadata for a namespace used by the server.") + attrs.DisplayName = LocalizedText("NamespaceMetadataType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11616") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11617") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11616, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11617, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11616") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11618") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11616, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11618, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11616") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11619") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11616, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11619, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11616") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11620") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11616, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11620, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11616") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11621") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11616, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11621, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11616") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11622") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11616, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11622, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11616") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11623") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11616, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11623, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11616") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11624") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11616, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11624, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11616") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16137") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11616, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16137, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11616") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16138") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11616, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16138, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11616") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16139") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11616, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16139, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=11616") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=58") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(11616, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(58, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11617") - node.BrowseName = ua.QualifiedName.from_string("NamespaceUri") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11616") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11617, 0) + node.BrowseName = QualifiedName('NamespaceUri', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11616, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The URI of the namespace.") - attrs.DisplayName = ua.LocalizedText("NamespaceUri") + attrs.Description = LocalizedText("The URI of the namespace.") + attrs.DisplayName = LocalizedText("NamespaceUri") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -13357,37 +13359,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11616") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11616, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11618") - node.BrowseName = ua.QualifiedName.from_string("NamespaceVersion") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11616") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11618, 0) + node.BrowseName = QualifiedName('NamespaceVersion', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11616, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The human readable string representing version of the namespace.") - attrs.DisplayName = ua.LocalizedText("NamespaceVersion") + attrs.Description = LocalizedText("The human readable string representing version of the namespace.") + attrs.DisplayName = LocalizedText("NamespaceVersion") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -13395,37 +13397,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11618") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11618, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11618") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11618, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11618") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11616") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11618, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11616, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11619") - node.BrowseName = ua.QualifiedName.from_string("NamespacePublicationDate") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11616") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11619, 0) + node.BrowseName = QualifiedName('NamespacePublicationDate', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11616, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The publication date for the namespace.") - attrs.DisplayName = ua.LocalizedText("NamespacePublicationDate") + attrs.Description = LocalizedText("The publication date for the namespace.") + attrs.DisplayName = LocalizedText("NamespacePublicationDate") attrs.DataType = ua.NodeId(ua.ObjectIds.DateTime) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -13433,37 +13435,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11619") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11619, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11619") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11619, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11619") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11616") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11619, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11616, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11620") - node.BrowseName = ua.QualifiedName.from_string("IsNamespaceSubset") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11616") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11620, 0) + node.BrowseName = QualifiedName('IsNamespaceSubset', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11616, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("If TRUE then the server only supports a subset of the namespace.") - attrs.DisplayName = ua.LocalizedText("IsNamespaceSubset") + attrs.Description = LocalizedText("If TRUE then the server only supports a subset of the namespace.") + attrs.DisplayName = LocalizedText("IsNamespaceSubset") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -13471,113 +13473,113 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11620") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11620, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11620") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11620, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11620") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11616") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11620, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11616, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11621") - node.BrowseName = ua.QualifiedName.from_string("StaticNodeIdTypes") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11616") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11621, 0) + node.BrowseName = QualifiedName('StaticNodeIdTypes', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11616, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A list of IdTypes for nodes which are the same in every server that exposes them.") - attrs.DisplayName = ua.LocalizedText("StaticNodeIdTypes") - attrs.DataType = ua.NodeId.from_string("i=256") + attrs.Description = LocalizedText("A list of IdTypes for nodes which are the same in every server that exposes them.") + attrs.DisplayName = LocalizedText("StaticNodeIdTypes") + attrs.DataType = NumericNodeId(256, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11621") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11621, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11621") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11621, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11621") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11616") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11621, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11616, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11622") - node.BrowseName = ua.QualifiedName.from_string("StaticNumericNodeIdRange") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11616") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11622, 0) + node.BrowseName = QualifiedName('StaticNumericNodeIdRange', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11616, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A list of ranges for numeric node ids which are the same in every server that exposes them.") - attrs.DisplayName = ua.LocalizedText("StaticNumericNodeIdRange") - attrs.DataType = ua.NodeId.from_string("i=291") + attrs.Description = LocalizedText("A list of ranges for numeric node ids which are the same in every server that exposes them.") + attrs.DisplayName = LocalizedText("StaticNumericNodeIdRange") + attrs.DataType = NumericNodeId(291, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11622") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11622, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11622") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11622, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11622") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11616") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11622, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11616, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11623") - node.BrowseName = ua.QualifiedName.from_string("StaticStringNodeIdPattern") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11616") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11623, 0) + node.BrowseName = QualifiedName('StaticStringNodeIdPattern', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11616, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A regular expression which matches string node ids are the same in every server that exposes them.") - attrs.DisplayName = ua.LocalizedText("StaticStringNodeIdPattern") + attrs.Description = LocalizedText("A regular expression which matches string node ids are the same in every server that exposes them.") + attrs.DisplayName = LocalizedText("StaticStringNodeIdPattern") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -13585,144 +13587,144 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11623") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11623, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11623") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11623, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11623") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11616") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11623, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11616, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11624") - node.BrowseName = ua.QualifiedName.from_string("NamespaceFile") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=11616") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=11595") + node.RequestedNewNodeId = NumericNodeId(11624, 0) + node.BrowseName = QualifiedName('NamespaceFile', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(11616, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(11595, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("A file containing the nodes of the namespace.") - attrs.DisplayName = ua.LocalizedText("NamespaceFile") + attrs.Description = LocalizedText("A file containing the nodes of the namespace.") + attrs.DisplayName = LocalizedText("NamespaceFile") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11624") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11625") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11624, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11625, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11624") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12690") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11624, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12690, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11624") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12691") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11624, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12691, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11624") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11628") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11624, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11628, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11624") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11629") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11624, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11629, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11624") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11632") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11624, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11632, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11624") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11634") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11624, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11634, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11624") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11637") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11624, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11637, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11624") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11639") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11624, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11639, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11624") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11642") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11624, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11642, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11624") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11595") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11624, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11595, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11624") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11624, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11624") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11616") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11624, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11616, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11625") - node.BrowseName = ua.QualifiedName.from_string("Size") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11624") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11625, 0) + node.BrowseName = QualifiedName('Size', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11624, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The size of the file in bytes.") - attrs.DisplayName = ua.LocalizedText("Size") + attrs.Description = LocalizedText("The size of the file in bytes.") + attrs.DisplayName = LocalizedText("Size") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt64) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -13730,37 +13732,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11625") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11625, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11625") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11625, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11625") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11624") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11625, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11624, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12690") - node.BrowseName = ua.QualifiedName.from_string("Writable") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11624") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(12690, 0) + node.BrowseName = QualifiedName('Writable', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11624, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("Whether the file is writable.") - attrs.DisplayName = ua.LocalizedText("Writable") + attrs.Description = LocalizedText("Whether the file is writable.") + attrs.DisplayName = LocalizedText("Writable") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -13768,37 +13770,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12690") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12690, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12690") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12690, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12690") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11624") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12690, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11624, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12691") - node.BrowseName = ua.QualifiedName.from_string("UserWritable") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11624") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(12691, 0) + node.BrowseName = QualifiedName('UserWritable', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11624, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("Whether the file is writable by the current user.") - attrs.DisplayName = ua.LocalizedText("UserWritable") + attrs.Description = LocalizedText("Whether the file is writable by the current user.") + attrs.DisplayName = LocalizedText("UserWritable") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -13806,37 +13808,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12691") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12691, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12691") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12691, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12691") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11624") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12691, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11624, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11628") - node.BrowseName = ua.QualifiedName.from_string("OpenCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11624") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11628, 0) + node.BrowseName = QualifiedName('OpenCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11624, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The current number of open file handles.") - attrs.DisplayName = ua.LocalizedText("OpenCount") + attrs.Description = LocalizedText("The current number of open file handles.") + attrs.DisplayName = LocalizedText("OpenCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -13844,82 +13846,82 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11628") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11628, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11628") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11628, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11628") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11624") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11628, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11624, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11629") - node.BrowseName = ua.QualifiedName.from_string("Open") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=11624") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(11629, 0) + node.BrowseName = QualifiedName('Open', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(11624, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("Open") + attrs.DisplayName = LocalizedText("Open") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11629") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11630") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11629, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11630, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11629") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11631") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11629, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11631, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11629") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11629, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11629") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11624") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11629, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11624, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11630") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11629") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11630, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11629, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'Mode' - extobj.DataType = ua.NodeId.from_string("i=3") + extobj.DataType = NumericNodeId(3, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -13929,41 +13931,41 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11630") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11630, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11630") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11630, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11630") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11629") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11630, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11629, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11631") - node.BrowseName = ua.QualifiedName.from_string("OutputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11629") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11631, 0) + node.BrowseName = QualifiedName('OutputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11629, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OutputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("OutputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'FileHandle' - extobj.DataType = ua.NodeId.from_string("i=7") + extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -13973,75 +13975,75 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11631") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11631, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11631") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11631, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11631") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11629") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11631, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11629, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11632") - node.BrowseName = ua.QualifiedName.from_string("Close") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=11624") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(11632, 0) + node.BrowseName = QualifiedName('Close', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(11624, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("Close") + attrs.DisplayName = LocalizedText("Close") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11632") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11633") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11632, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11633, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11632") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11632, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11632") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11624") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11632, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11624, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11633") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11632") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11633, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11632, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'FileHandle' - extobj.DataType = ua.NodeId.from_string("i=7") + extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -14051,87 +14053,87 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11633") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11633, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11633") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11633, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11633") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11632") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11633, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11632, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11634") - node.BrowseName = ua.QualifiedName.from_string("Read") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=11624") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(11634, 0) + node.BrowseName = QualifiedName('Read', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(11624, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("Read") + attrs.DisplayName = LocalizedText("Read") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11634") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11635") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11634, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11635, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11634") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11636") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11634, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11636, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11634") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11634, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11634") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11624") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11634, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11624, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11635") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11634") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11635, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11634, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'FileHandle' - extobj.DataType = ua.NodeId.from_string("i=7") + extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.Name = 'Length' - extobj.DataType = ua.NodeId.from_string("i=6") + extobj.DataType = NumericNodeId(6, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -14141,41 +14143,41 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11635") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11635, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11635") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11635, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11635") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11634") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11635, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11634, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11636") - node.BrowseName = ua.QualifiedName.from_string("OutputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11634") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11636, 0) + node.BrowseName = QualifiedName('OutputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11634, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OutputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("OutputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'Data' - extobj.DataType = ua.NodeId.from_string("i=15") + extobj.DataType = NumericNodeId(15, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -14185,80 +14187,80 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11636") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11636, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11636") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11636, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11636") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11634") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11636, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11634, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11637") - node.BrowseName = ua.QualifiedName.from_string("Write") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=11624") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(11637, 0) + node.BrowseName = QualifiedName('Write', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(11624, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("Write") + attrs.DisplayName = LocalizedText("Write") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11637") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11638") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11637, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11638, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11637") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11637, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11637") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11624") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11637, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11624, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11638") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11637") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11638, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11637, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'FileHandle' - extobj.DataType = ua.NodeId.from_string("i=7") + extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.Name = 'Data' - extobj.DataType = ua.NodeId.from_string("i=15") + extobj.DataType = NumericNodeId(15, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -14268,82 +14270,82 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11638") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11638, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11638") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11638, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11638") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11637") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11638, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11637, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11639") - node.BrowseName = ua.QualifiedName.from_string("GetPosition") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=11624") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(11639, 0) + node.BrowseName = QualifiedName('GetPosition', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(11624, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("GetPosition") + attrs.DisplayName = LocalizedText("GetPosition") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11639") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11640") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11639, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11640, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11639") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11641") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11639, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11641, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11639") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11639, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11639") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11624") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11639, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11624, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11640") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11639") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11640, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11639, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'FileHandle' - extobj.DataType = ua.NodeId.from_string("i=7") + extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -14353,41 +14355,41 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11640") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11640, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11640") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11640, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11640") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11639") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11640, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11639, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11641") - node.BrowseName = ua.QualifiedName.from_string("OutputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11639") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11641, 0) + node.BrowseName = QualifiedName('OutputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11639, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OutputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("OutputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'Position' - extobj.DataType = ua.NodeId.from_string("i=9") + extobj.DataType = NumericNodeId(9, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -14397,80 +14399,80 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11641") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11641, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11641") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11641, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11641") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11639") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11641, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11639, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11642") - node.BrowseName = ua.QualifiedName.from_string("SetPosition") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=11624") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(11642, 0) + node.BrowseName = QualifiedName('SetPosition', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(11624, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("SetPosition") + attrs.DisplayName = LocalizedText("SetPosition") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11642") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11643") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11642, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11643, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11642") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11642, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11642") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11624") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11642, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11624, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11643") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11642") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11643, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11642, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'FileHandle' - extobj.DataType = ua.NodeId.from_string("i=7") + extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.Name = 'Position' - extobj.DataType = ua.NodeId.from_string("i=9") + extobj.DataType = NumericNodeId(9, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -14480,110 +14482,110 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11643") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11643, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11643") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11643, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11643") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11642") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11643, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11642, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16137") - node.BrowseName = ua.QualifiedName.from_string("DefaultRolePermissions") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11616") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16137, 0) + node.BrowseName = QualifiedName('DefaultRolePermissions', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11616, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DefaultRolePermissions") - attrs.DataType = ua.NodeId.from_string("i=96") + attrs.DisplayName = LocalizedText("DefaultRolePermissions") + attrs.DataType = NumericNodeId(96, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16137") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16137, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16137") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16137, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16137") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11616") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16137, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11616, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16138") - node.BrowseName = ua.QualifiedName.from_string("DefaultUserRolePermissions") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11616") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16138, 0) + node.BrowseName = QualifiedName('DefaultUserRolePermissions', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11616, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DefaultUserRolePermissions") - attrs.DataType = ua.NodeId.from_string("i=96") + attrs.DisplayName = LocalizedText("DefaultUserRolePermissions") + attrs.DataType = NumericNodeId(96, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16138") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16138, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16138") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16138, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16138") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11616") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16138, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11616, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16139") - node.BrowseName = ua.QualifiedName.from_string("DefaultAccessRestrictions") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11616") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16139, 0) + node.BrowseName = QualifiedName('DefaultAccessRestrictions', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11616, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DefaultAccessRestrictions") + attrs.DisplayName = LocalizedText("DefaultAccessRestrictions") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -14591,151 +14593,151 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16139") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16139, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16139") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16139, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16139") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11616") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16139, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11616, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11645") - node.BrowseName = ua.QualifiedName.from_string("NamespacesType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=58") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(11645, 0) + node.BrowseName = QualifiedName('NamespacesType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(58, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.Description = ua.LocalizedText("A container for the namespace metadata provided by the server.") - attrs.DisplayName = ua.LocalizedText("NamespacesType") + attrs.Description = LocalizedText("A container for the namespace metadata provided by the server.") + attrs.DisplayName = LocalizedText("NamespacesType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11645") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11646") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11645, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11646, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=11645") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=58") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(11645, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(58, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11646") - node.BrowseName = ua.QualifiedName.from_string("") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=11645") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=11616") + node.RequestedNewNodeId = NumericNodeId(11646, 0) + node.BrowseName = QualifiedName('', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(11645, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(11616, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("") + attrs.DisplayName = LocalizedText("") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11646") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11647") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11646, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11647, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11646") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11648") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11646, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11648, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11646") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11649") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11646, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11649, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11646") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11650") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11646, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11650, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11646") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11651") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11646, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11651, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11646") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11652") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11646, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11652, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11646") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11653") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11646, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11653, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11646") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11616") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11646, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11616, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11646") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11508") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11646, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11508, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11646") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11645") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11646, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11645, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11647") - node.BrowseName = ua.QualifiedName.from_string("NamespaceUri") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11646") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11647, 0) + node.BrowseName = QualifiedName('NamespaceUri', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11646, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The URI of the namespace.") - attrs.DisplayName = ua.LocalizedText("NamespaceUri") + attrs.Description = LocalizedText("The URI of the namespace.") + attrs.DisplayName = LocalizedText("NamespaceUri") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -14743,37 +14745,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11647") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11647, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11647") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11647, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11647") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11646") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11647, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11646, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11648") - node.BrowseName = ua.QualifiedName.from_string("NamespaceVersion") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11646") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11648, 0) + node.BrowseName = QualifiedName('NamespaceVersion', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11646, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The human readable string representing version of the namespace.") - attrs.DisplayName = ua.LocalizedText("NamespaceVersion") + attrs.Description = LocalizedText("The human readable string representing version of the namespace.") + attrs.DisplayName = LocalizedText("NamespaceVersion") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -14781,37 +14783,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11648") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11648, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11648") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11648, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11648") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11646") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11648, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11646, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11649") - node.BrowseName = ua.QualifiedName.from_string("NamespacePublicationDate") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11646") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11649, 0) + node.BrowseName = QualifiedName('NamespacePublicationDate', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11646, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The publication date for the namespace.") - attrs.DisplayName = ua.LocalizedText("NamespacePublicationDate") + attrs.Description = LocalizedText("The publication date for the namespace.") + attrs.DisplayName = LocalizedText("NamespacePublicationDate") attrs.DataType = ua.NodeId(ua.ObjectIds.DateTime) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -14819,37 +14821,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11649") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11649, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11649") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11649, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11649") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11646") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11649, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11646, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11650") - node.BrowseName = ua.QualifiedName.from_string("IsNamespaceSubset") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11646") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11650, 0) + node.BrowseName = QualifiedName('IsNamespaceSubset', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11646, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("If TRUE then the server only supports a subset of the namespace.") - attrs.DisplayName = ua.LocalizedText("IsNamespaceSubset") + attrs.Description = LocalizedText("If TRUE then the server only supports a subset of the namespace.") + attrs.DisplayName = LocalizedText("IsNamespaceSubset") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -14857,113 +14859,113 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11650") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11650, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11650") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11650, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11650") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11646") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11650, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11646, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11651") - node.BrowseName = ua.QualifiedName.from_string("StaticNodeIdTypes") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11646") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11651, 0) + node.BrowseName = QualifiedName('StaticNodeIdTypes', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11646, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A list of IdTypes for nodes which are the same in every server that exposes them.") - attrs.DisplayName = ua.LocalizedText("StaticNodeIdTypes") - attrs.DataType = ua.NodeId.from_string("i=256") + attrs.Description = LocalizedText("A list of IdTypes for nodes which are the same in every server that exposes them.") + attrs.DisplayName = LocalizedText("StaticNodeIdTypes") + attrs.DataType = NumericNodeId(256, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11651") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11651, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11651") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11651, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11651") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11646") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11651, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11646, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11652") - node.BrowseName = ua.QualifiedName.from_string("StaticNumericNodeIdRange") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11646") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11652, 0) + node.BrowseName = QualifiedName('StaticNumericNodeIdRange', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11646, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A list of ranges for numeric node ids which are the same in every server that exposes them.") - attrs.DisplayName = ua.LocalizedText("StaticNumericNodeIdRange") - attrs.DataType = ua.NodeId.from_string("i=291") + attrs.Description = LocalizedText("A list of ranges for numeric node ids which are the same in every server that exposes them.") + attrs.DisplayName = LocalizedText("StaticNumericNodeIdRange") + attrs.DataType = NumericNodeId(291, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11652") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11652, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11652") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11652, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11652") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11646") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11652, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11646, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11653") - node.BrowseName = ua.QualifiedName.from_string("StaticStringNodeIdPattern") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11646") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11653, 0) + node.BrowseName = QualifiedName('StaticStringNodeIdPattern', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11646, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A regular expression which matches string node ids are the same in every server that exposes them.") - attrs.DisplayName = ua.LocalizedText("StaticStringNodeIdPattern") + attrs.Description = LocalizedText("A regular expression which matches string node ids are the same in every server that exposes them.") + attrs.DisplayName = LocalizedText("StaticStringNodeIdPattern") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -14971,122 +14973,122 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11653") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11653, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11653") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11653, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11653") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11646") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11653, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11646, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2041") - node.BrowseName = ua.QualifiedName.from_string("BaseEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=58") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2041, 0) + node.BrowseName = QualifiedName('BaseEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(58, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.Description = ua.LocalizedText("The base type for all events.") - attrs.DisplayName = ua.LocalizedText("BaseEventType") + attrs.Description = LocalizedText("The base type for all events.") + attrs.DisplayName = LocalizedText("BaseEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2041") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2042") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2041, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2042, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2041") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2043") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2041, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2043, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2041") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2044") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2041, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2044, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2041") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2045") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2041, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2045, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2041") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2046") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2041, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2046, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2041") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2047") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2041, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2047, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2041") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3190") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2041, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3190, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2041") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2050") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2041, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2050, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2041") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2051") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2041, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2051, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2041") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=58") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2041, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(58, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2042") - node.BrowseName = ua.QualifiedName.from_string("EventId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2041") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2042, 0) + node.BrowseName = QualifiedName('EventId', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2041, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A globally unique identifier for the event.") - attrs.DisplayName = ua.LocalizedText("EventId") + attrs.Description = LocalizedText("A globally unique identifier for the event.") + attrs.DisplayName = LocalizedText("EventId") attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -15094,37 +15096,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2042") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2042, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2042") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2042, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2042") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2041") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2042, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2041, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2043") - node.BrowseName = ua.QualifiedName.from_string("EventType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2041") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2043, 0) + node.BrowseName = QualifiedName('EventType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2041, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The identifier for the event type.") - attrs.DisplayName = ua.LocalizedText("EventType") + attrs.Description = LocalizedText("The identifier for the event type.") + attrs.DisplayName = LocalizedText("EventType") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -15132,37 +15134,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2043") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2043, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2043") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2043, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2043") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2041") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2043, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2041, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2044") - node.BrowseName = ua.QualifiedName.from_string("SourceNode") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2041") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2044, 0) + node.BrowseName = QualifiedName('SourceNode', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2041, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The source of the event.") - attrs.DisplayName = ua.LocalizedText("SourceNode") + attrs.Description = LocalizedText("The source of the event.") + attrs.DisplayName = LocalizedText("SourceNode") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -15170,37 +15172,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2044") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2044, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2044") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2044, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2044") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2041") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2044, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2041, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2045") - node.BrowseName = ua.QualifiedName.from_string("SourceName") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2041") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2045, 0) + node.BrowseName = QualifiedName('SourceName', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2041, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A description of the source of the event.") - attrs.DisplayName = ua.LocalizedText("SourceName") + attrs.Description = LocalizedText("A description of the source of the event.") + attrs.DisplayName = LocalizedText("SourceName") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -15208,151 +15210,151 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2045") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2045, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2045") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2045, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2045") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2041") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2045, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2041, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2046") - node.BrowseName = ua.QualifiedName.from_string("Time") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2041") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2046, 0) + node.BrowseName = QualifiedName('Time', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2041, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("When the event occurred.") - attrs.DisplayName = ua.LocalizedText("Time") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.Description = LocalizedText("When the event occurred.") + attrs.DisplayName = LocalizedText("Time") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2046") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2046, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2046") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2046, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2046") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2041") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2046, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2041, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2047") - node.BrowseName = ua.QualifiedName.from_string("ReceiveTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2041") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2047, 0) + node.BrowseName = QualifiedName('ReceiveTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2041, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("When the server received the event from the underlying system.") - attrs.DisplayName = ua.LocalizedText("ReceiveTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.Description = LocalizedText("When the server received the event from the underlying system.") + attrs.DisplayName = LocalizedText("ReceiveTime") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2047") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2047, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2047") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2047, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2047") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2041") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2047, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2041, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3190") - node.BrowseName = ua.QualifiedName.from_string("LocalTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2041") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3190, 0) + node.BrowseName = QualifiedName('LocalTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2041, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("Information about the local time where the event originated.") - attrs.DisplayName = ua.LocalizedText("LocalTime") - attrs.DataType = ua.NodeId.from_string("i=8912") + attrs.Description = LocalizedText("Information about the local time where the event originated.") + attrs.DisplayName = LocalizedText("LocalTime") + attrs.DataType = NumericNodeId(8912, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3190") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3190, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3190") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3190, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3190") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2041") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3190, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2041, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2050") - node.BrowseName = ua.QualifiedName.from_string("Message") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2041") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2050, 0) + node.BrowseName = QualifiedName('Message', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2041, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A localized description of the event.") - attrs.DisplayName = ua.LocalizedText("Message") + attrs.Description = LocalizedText("A localized description of the event.") + attrs.DisplayName = LocalizedText("Message") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -15360,37 +15362,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2050") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2050, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2050") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2050, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2050") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2041") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2050, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2041, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2051") - node.BrowseName = ua.QualifiedName.from_string("Severity") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2041") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2051, 0) + node.BrowseName = QualifiedName('Severity', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2041, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("Indicates how urgent an event is.") - attrs.DisplayName = ua.LocalizedText("Severity") + attrs.Description = LocalizedText("Indicates how urgent an event is.") + attrs.DisplayName = LocalizedText("Severity") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -15398,132 +15400,132 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2051") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2051, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2051") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2051, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2051") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2041") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2051, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2041, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2052") - node.BrowseName = ua.QualifiedName.from_string("AuditEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2041") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2052, 0) + node.BrowseName = QualifiedName('AuditEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2041, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.Description = ua.LocalizedText("A base type for events used to track client initiated changes to the server state.") - attrs.DisplayName = ua.LocalizedText("AuditEventType") + attrs.Description = LocalizedText("A base type for events used to track client initiated changes to the server state.") + attrs.DisplayName = LocalizedText("AuditEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2052") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2053") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2052, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2053, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2052") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2054") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2052, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2054, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2052") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2055") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2052, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2055, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2052") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2056") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2052, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2056, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2052") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2057") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2052, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2057, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2052") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2041") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2052, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2041, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2053") - node.BrowseName = ua.QualifiedName.from_string("ActionTimeStamp") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2052") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2053, 0) + node.BrowseName = QualifiedName('ActionTimeStamp', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2052, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("When the action triggering the event occurred.") - attrs.DisplayName = ua.LocalizedText("ActionTimeStamp") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.Description = LocalizedText("When the action triggering the event occurred.") + attrs.DisplayName = LocalizedText("ActionTimeStamp") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2053") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2053, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2053") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2053, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2053") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2052") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2053, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2052, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2054") - node.BrowseName = ua.QualifiedName.from_string("Status") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2052") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2054, 0) + node.BrowseName = QualifiedName('Status', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2052, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("If TRUE the action was performed. If FALSE the action failed and the server state did not change.") - attrs.DisplayName = ua.LocalizedText("Status") + attrs.Description = LocalizedText("If TRUE the action was performed. If FALSE the action failed and the server state did not change.") + attrs.DisplayName = LocalizedText("Status") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -15531,37 +15533,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2054") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2054, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2054") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2054, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2054") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2052") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2054, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2052, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2055") - node.BrowseName = ua.QualifiedName.from_string("ServerId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2052") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2055, 0) + node.BrowseName = QualifiedName('ServerId', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2052, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The unique identifier for the server generating the event.") - attrs.DisplayName = ua.LocalizedText("ServerId") + attrs.Description = LocalizedText("The unique identifier for the server generating the event.") + attrs.DisplayName = LocalizedText("ServerId") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -15569,37 +15571,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2055") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2055, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2055") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2055, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2055") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2052") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2055, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2052, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2056") - node.BrowseName = ua.QualifiedName.from_string("ClientAuditEntryId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2052") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2056, 0) + node.BrowseName = QualifiedName('ClientAuditEntryId', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2052, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The log entry id provided in the request that initiated the action.") - attrs.DisplayName = ua.LocalizedText("ClientAuditEntryId") + attrs.Description = LocalizedText("The log entry id provided in the request that initiated the action.") + attrs.DisplayName = LocalizedText("ClientAuditEntryId") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -15607,37 +15609,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2056") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2056, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2056") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2056, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2056") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2052") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2056, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2052, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2057") - node.BrowseName = ua.QualifiedName.from_string("ClientUserId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2052") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2057, 0) + node.BrowseName = QualifiedName('ClientUserId', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2052, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The user identity associated with the session that initiated the action.") - attrs.DisplayName = ua.LocalizedText("ClientUserId") + attrs.Description = LocalizedText("The user identity associated with the session that initiated the action.") + attrs.DisplayName = LocalizedText("ClientUserId") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -15645,65 +15647,65 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2057") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2057, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2057") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2057, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2057") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2052") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2057, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2052, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2058") - node.BrowseName = ua.QualifiedName.from_string("AuditSecurityEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2052") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2058, 0) + node.BrowseName = QualifiedName('AuditSecurityEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2052, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.Description = ua.LocalizedText("A base type for events used to track security related changes.") - attrs.DisplayName = ua.LocalizedText("AuditSecurityEventType") + attrs.Description = LocalizedText("A base type for events used to track security related changes.") + attrs.DisplayName = LocalizedText("AuditSecurityEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2058") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17615") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2058, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17615, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2058") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2052") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2058, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2052, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17615") - node.BrowseName = ua.QualifiedName.from_string("StatusCodeId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2058") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(17615, 0) + node.BrowseName = QualifiedName('StatusCodeId', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2058, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("StatusCodeId") + attrs.DisplayName = LocalizedText("StatusCodeId") attrs.DataType = ua.NodeId(ua.ObjectIds.StatusCode) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -15711,66 +15713,66 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=17615") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(17615, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=17615") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(17615, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=17615") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2058") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17615, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2058, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2059") - node.BrowseName = ua.QualifiedName.from_string("AuditChannelEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2058") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2059, 0) + node.BrowseName = QualifiedName('AuditChannelEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2058, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.Description = ua.LocalizedText("A base type for events used to track related changes to a secure channel.") - attrs.DisplayName = ua.LocalizedText("AuditChannelEventType") + attrs.Description = LocalizedText("A base type for events used to track related changes to a secure channel.") + attrs.DisplayName = LocalizedText("AuditChannelEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2059") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2745") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2059, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2745, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2059") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2058") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2059, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2058, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2745") - node.BrowseName = ua.QualifiedName.from_string("SecureChannelId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2059") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2745, 0) + node.BrowseName = QualifiedName('SecureChannelId', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2059, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The identifier for the secure channel that was changed.") - attrs.DisplayName = ua.LocalizedText("SecureChannelId") + attrs.Description = LocalizedText("The identifier for the secure channel that was changed.") + attrs.DisplayName = LocalizedText("SecureChannelId") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -15778,101 +15780,101 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2745") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2745, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2745") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2745, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2745") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2059") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2745, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2059, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2060") - node.BrowseName = ua.QualifiedName.from_string("AuditOpenSecureChannelEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2059") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2060, 0) + node.BrowseName = QualifiedName('AuditOpenSecureChannelEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2059, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.Description = ua.LocalizedText("An event that is raised when a secure channel is opened.") - attrs.DisplayName = ua.LocalizedText("AuditOpenSecureChannelEventType") + attrs.Description = LocalizedText("An event that is raised when a secure channel is opened.") + attrs.DisplayName = LocalizedText("AuditOpenSecureChannelEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2060") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2061") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2060, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2061, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2060") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2746") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2060, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2746, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2060") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2062") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2060, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2062, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2060") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2063") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2060, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2063, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2060") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2065") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2060, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2065, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2060") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2066") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2060, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2066, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2060") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2059") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2060, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2059, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2061") - node.BrowseName = ua.QualifiedName.from_string("ClientCertificate") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2060") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2061, 0) + node.BrowseName = QualifiedName('ClientCertificate', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2060, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The certificate provided by the client.") - attrs.DisplayName = ua.LocalizedText("ClientCertificate") + attrs.Description = LocalizedText("The certificate provided by the client.") + attrs.DisplayName = LocalizedText("ClientCertificate") attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -15880,37 +15882,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2061") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2061, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2061") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2061, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2061") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2060") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2061, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2060, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2746") - node.BrowseName = ua.QualifiedName.from_string("ClientCertificateThumbprint") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2060") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2746, 0) + node.BrowseName = QualifiedName('ClientCertificateThumbprint', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2060, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The thumbprint for certificate provided by the client.") - attrs.DisplayName = ua.LocalizedText("ClientCertificateThumbprint") + attrs.Description = LocalizedText("The thumbprint for certificate provided by the client.") + attrs.DisplayName = LocalizedText("ClientCertificateThumbprint") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -15918,75 +15920,75 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2746") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2746, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2746") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2746, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2746") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2060") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2746, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2060, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2062") - node.BrowseName = ua.QualifiedName.from_string("RequestType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2060") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2062, 0) + node.BrowseName = QualifiedName('RequestType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2060, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The type of request (NEW or RENEW).") - attrs.DisplayName = ua.LocalizedText("RequestType") - attrs.DataType = ua.NodeId.from_string("i=315") + attrs.Description = LocalizedText("The type of request (NEW or RENEW).") + attrs.DisplayName = LocalizedText("RequestType") + attrs.DataType = NumericNodeId(315, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2062") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2062, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2062") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2062, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2062") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2060") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2062, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2060, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2063") - node.BrowseName = ua.QualifiedName.from_string("SecurityPolicyUri") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2060") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2063, 0) + node.BrowseName = QualifiedName('SecurityPolicyUri', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2060, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The security policy used by the channel.") - attrs.DisplayName = ua.LocalizedText("SecurityPolicyUri") + attrs.Description = LocalizedText("The security policy used by the channel.") + attrs.DisplayName = LocalizedText("SecurityPolicyUri") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -15994,142 +15996,142 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2063") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2063, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2063") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2063, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2063") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2060") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2063, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2060, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2065") - node.BrowseName = ua.QualifiedName.from_string("SecurityMode") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2060") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2065, 0) + node.BrowseName = QualifiedName('SecurityMode', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2060, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The security mode used by the channel.") - attrs.DisplayName = ua.LocalizedText("SecurityMode") - attrs.DataType = ua.NodeId.from_string("i=302") + attrs.Description = LocalizedText("The security mode used by the channel.") + attrs.DisplayName = LocalizedText("SecurityMode") + attrs.DataType = NumericNodeId(302, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2065") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2065, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2065") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2065, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2065") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2060") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2065, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2060, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2066") - node.BrowseName = ua.QualifiedName.from_string("RequestedLifetime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2060") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2066, 0) + node.BrowseName = QualifiedName('RequestedLifetime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2060, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The lifetime of the channel requested by the client.") - attrs.DisplayName = ua.LocalizedText("RequestedLifetime") - attrs.DataType = ua.NodeId.from_string("i=290") + attrs.Description = LocalizedText("The lifetime of the channel requested by the client.") + attrs.DisplayName = LocalizedText("RequestedLifetime") + attrs.DataType = NumericNodeId(290, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2066") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2066, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2066") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2066, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2066") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2060") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2066, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2060, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2069") - node.BrowseName = ua.QualifiedName.from_string("AuditSessionEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2058") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2069, 0) + node.BrowseName = QualifiedName('AuditSessionEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2058, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.Description = ua.LocalizedText("A base type for events used to track related changes to a session.") - attrs.DisplayName = ua.LocalizedText("AuditSessionEventType") + attrs.Description = LocalizedText("A base type for events used to track related changes to a session.") + attrs.DisplayName = LocalizedText("AuditSessionEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2069") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2070") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2069, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2070, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2069") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2058") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2069, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2058, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2070") - node.BrowseName = ua.QualifiedName.from_string("SessionId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2069") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2070, 0) + node.BrowseName = QualifiedName('SessionId', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2069, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The unique identifier for the session,.") - attrs.DisplayName = ua.LocalizedText("SessionId") + attrs.Description = LocalizedText("The unique identifier for the session,.") + attrs.DisplayName = LocalizedText("SessionId") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -16137,87 +16139,87 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2070") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2070, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2070") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2070, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2070") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2069") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2070, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2069, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2071") - node.BrowseName = ua.QualifiedName.from_string("AuditCreateSessionEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2069") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2071, 0) + node.BrowseName = QualifiedName('AuditCreateSessionEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2069, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.Description = ua.LocalizedText("An event that is raised when a session is created.") - attrs.DisplayName = ua.LocalizedText("AuditCreateSessionEventType") + attrs.Description = LocalizedText("An event that is raised when a session is created.") + attrs.DisplayName = LocalizedText("AuditCreateSessionEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2071") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2072") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2071, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2072, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2071") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2073") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2071, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2073, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2071") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2747") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2071, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2747, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2071") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2074") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2071, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2074, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2071") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2069") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2071, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2069, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2072") - node.BrowseName = ua.QualifiedName.from_string("SecureChannelId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2071") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2072, 0) + node.BrowseName = QualifiedName('SecureChannelId', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2071, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The secure channel associated with the session.") - attrs.DisplayName = ua.LocalizedText("SecureChannelId") + attrs.Description = LocalizedText("The secure channel associated with the session.") + attrs.DisplayName = LocalizedText("SecureChannelId") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -16225,37 +16227,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2072") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2072, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2072") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2072, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2072") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2071") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2072, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2071, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2073") - node.BrowseName = ua.QualifiedName.from_string("ClientCertificate") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2071") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2073, 0) + node.BrowseName = QualifiedName('ClientCertificate', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2071, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The certificate provided by the client.") - attrs.DisplayName = ua.LocalizedText("ClientCertificate") + attrs.Description = LocalizedText("The certificate provided by the client.") + attrs.DisplayName = LocalizedText("ClientCertificate") attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -16263,37 +16265,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2073") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2073, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2073") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2073, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2073") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2071") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2073, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2071, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2747") - node.BrowseName = ua.QualifiedName.from_string("ClientCertificateThumbprint") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2071") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2747, 0) + node.BrowseName = QualifiedName('ClientCertificateThumbprint', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2071, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The thumbprint of the certificate provided by the client.") - attrs.DisplayName = ua.LocalizedText("ClientCertificateThumbprint") + attrs.Description = LocalizedText("The thumbprint of the certificate provided by the client.") + attrs.DisplayName = LocalizedText("ClientCertificateThumbprint") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -16301,102 +16303,102 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2747") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2747, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2747") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2747, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2747") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2071") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2747, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2071, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2074") - node.BrowseName = ua.QualifiedName.from_string("RevisedSessionTimeout") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2071") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2074, 0) + node.BrowseName = QualifiedName('RevisedSessionTimeout', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2071, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The timeout for the session.") - attrs.DisplayName = ua.LocalizedText("RevisedSessionTimeout") - attrs.DataType = ua.NodeId.from_string("i=290") + attrs.Description = LocalizedText("The timeout for the session.") + attrs.DisplayName = LocalizedText("RevisedSessionTimeout") + attrs.DataType = NumericNodeId(290, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2074") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2074, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2074") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2074, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2074") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2071") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2074, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2071, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2748") - node.BrowseName = ua.QualifiedName.from_string("AuditUrlMismatchEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2071") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2748, 0) + node.BrowseName = QualifiedName('AuditUrlMismatchEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2071, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditUrlMismatchEventType") + attrs.DisplayName = LocalizedText("AuditUrlMismatchEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2748") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2749") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2748, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2749, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2748") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2071") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2748, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2071, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2749") - node.BrowseName = ua.QualifiedName.from_string("EndpointUrl") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2748") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2749, 0) + node.BrowseName = QualifiedName('EndpointUrl', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2748, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EndpointUrl") + attrs.DisplayName = LocalizedText("EndpointUrl") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -16404,152 +16406,152 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2749") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2749, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2749") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2749, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2749") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2748") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2749, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2748, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2075") - node.BrowseName = ua.QualifiedName.from_string("AuditActivateSessionEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2069") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2075, 0) + node.BrowseName = QualifiedName('AuditActivateSessionEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2069, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditActivateSessionEventType") + attrs.DisplayName = LocalizedText("AuditActivateSessionEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2075") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2076") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2075, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2076, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2075") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2077") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2075, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2077, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2075") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11485") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2075, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11485, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2075") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2069") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2075, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2069, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2076") - node.BrowseName = ua.QualifiedName.from_string("ClientSoftwareCertificates") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2075") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2076, 0) + node.BrowseName = QualifiedName('ClientSoftwareCertificates', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2075, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ClientSoftwareCertificates") - attrs.DataType = ua.NodeId.from_string("i=344") + attrs.DisplayName = LocalizedText("ClientSoftwareCertificates") + attrs.DataType = NumericNodeId(344, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2076") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2076, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2076") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2076, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2076") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2075") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2076, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2075, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2077") - node.BrowseName = ua.QualifiedName.from_string("UserIdentityToken") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2075") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2077, 0) + node.BrowseName = QualifiedName('UserIdentityToken', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2075, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("UserIdentityToken") - attrs.DataType = ua.NodeId.from_string("i=316") + attrs.DisplayName = LocalizedText("UserIdentityToken") + attrs.DataType = NumericNodeId(316, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2077") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2077, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2077") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2077, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2077") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2075") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2077, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2075, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11485") - node.BrowseName = ua.QualifiedName.from_string("SecureChannelId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2075") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11485, 0) + node.BrowseName = QualifiedName('SecureChannelId', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2075, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SecureChannelId") + attrs.DisplayName = LocalizedText("SecureChannelId") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -16557,64 +16559,64 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11485") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11485, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11485") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11485, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11485") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2075") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11485, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2075, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2078") - node.BrowseName = ua.QualifiedName.from_string("AuditCancelEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2069") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2078, 0) + node.BrowseName = QualifiedName('AuditCancelEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2069, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditCancelEventType") + attrs.DisplayName = LocalizedText("AuditCancelEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2078") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2079") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2078, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2079, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2078") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2069") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2078, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2069, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2079") - node.BrowseName = ua.QualifiedName.from_string("RequestHandle") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2078") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2079, 0) + node.BrowseName = QualifiedName('RequestHandle', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2078, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RequestHandle") + attrs.DisplayName = LocalizedText("RequestHandle") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -16622,64 +16624,64 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2079") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2079, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2079") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2079, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2079") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2078") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2079, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2078, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2080") - node.BrowseName = ua.QualifiedName.from_string("AuditCertificateEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2058") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2080, 0) + node.BrowseName = QualifiedName('AuditCertificateEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2058, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditCertificateEventType") + attrs.DisplayName = LocalizedText("AuditCertificateEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2080") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2081") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2080, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2081, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2080") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2058") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2080, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2058, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2081") - node.BrowseName = ua.QualifiedName.from_string("Certificate") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2080") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2081, 0) + node.BrowseName = QualifiedName('Certificate', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2080, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Certificate") + attrs.DisplayName = LocalizedText("Certificate") attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -16687,71 +16689,71 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2081") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2081, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2081") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2081, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2081") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2080") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2081, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2080, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2082") - node.BrowseName = ua.QualifiedName.from_string("AuditCertificateDataMismatchEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2080") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2082, 0) + node.BrowseName = QualifiedName('AuditCertificateDataMismatchEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2080, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditCertificateDataMismatchEventType") + attrs.DisplayName = LocalizedText("AuditCertificateDataMismatchEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2082") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2083") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2082, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2083, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2082") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2084") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2082, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2084, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2082") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2080") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2082, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2080, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2083") - node.BrowseName = ua.QualifiedName.from_string("InvalidHostname") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2082") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2083, 0) + node.BrowseName = QualifiedName('InvalidHostname', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2082, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InvalidHostname") + attrs.DisplayName = LocalizedText("InvalidHostname") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -16759,36 +16761,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2083") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2083, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2083") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2083, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2083") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2082") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2083, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2082, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2084") - node.BrowseName = ua.QualifiedName.from_string("InvalidUri") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2082") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2084, 0) + node.BrowseName = QualifiedName('InvalidUri', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2082, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InvalidUri") + attrs.DisplayName = LocalizedText("InvalidUri") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -16796,492 +16798,492 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2084") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2084, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2084") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2084, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2084") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2082") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2084, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2082, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2085") - node.BrowseName = ua.QualifiedName.from_string("AuditCertificateExpiredEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2080") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2085, 0) + node.BrowseName = QualifiedName('AuditCertificateExpiredEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2080, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditCertificateExpiredEventType") + attrs.DisplayName = LocalizedText("AuditCertificateExpiredEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2085") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2080") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2085, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2080, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2086") - node.BrowseName = ua.QualifiedName.from_string("AuditCertificateInvalidEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2080") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2086, 0) + node.BrowseName = QualifiedName('AuditCertificateInvalidEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2080, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditCertificateInvalidEventType") + attrs.DisplayName = LocalizedText("AuditCertificateInvalidEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2086") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2080") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2086, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2080, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2087") - node.BrowseName = ua.QualifiedName.from_string("AuditCertificateUntrustedEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2080") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2087, 0) + node.BrowseName = QualifiedName('AuditCertificateUntrustedEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2080, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditCertificateUntrustedEventType") + attrs.DisplayName = LocalizedText("AuditCertificateUntrustedEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2087") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2080") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2087, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2080, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2088") - node.BrowseName = ua.QualifiedName.from_string("AuditCertificateRevokedEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2080") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2088, 0) + node.BrowseName = QualifiedName('AuditCertificateRevokedEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2080, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditCertificateRevokedEventType") + attrs.DisplayName = LocalizedText("AuditCertificateRevokedEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2088") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2080") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2088, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2080, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2089") - node.BrowseName = ua.QualifiedName.from_string("AuditCertificateMismatchEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2080") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2089, 0) + node.BrowseName = QualifiedName('AuditCertificateMismatchEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2080, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditCertificateMismatchEventType") + attrs.DisplayName = LocalizedText("AuditCertificateMismatchEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2089") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2080") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2089, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2080, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2090") - node.BrowseName = ua.QualifiedName.from_string("AuditNodeManagementEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2052") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2090, 0) + node.BrowseName = QualifiedName('AuditNodeManagementEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2052, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditNodeManagementEventType") + attrs.DisplayName = LocalizedText("AuditNodeManagementEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2090") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2052") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2090, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2052, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2091") - node.BrowseName = ua.QualifiedName.from_string("AuditAddNodesEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2090") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2091, 0) + node.BrowseName = QualifiedName('AuditAddNodesEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2090, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditAddNodesEventType") + attrs.DisplayName = LocalizedText("AuditAddNodesEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2091") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2092") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2091, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2092, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2091") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2090") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2091, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2090, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2092") - node.BrowseName = ua.QualifiedName.from_string("NodesToAdd") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2091") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2092, 0) + node.BrowseName = QualifiedName('NodesToAdd', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2091, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("NodesToAdd") - attrs.DataType = ua.NodeId.from_string("i=376") + attrs.DisplayName = LocalizedText("NodesToAdd") + attrs.DataType = NumericNodeId(376, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2092") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2092, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2092") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2092, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2092") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2091") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2092, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2091, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2093") - node.BrowseName = ua.QualifiedName.from_string("AuditDeleteNodesEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2090") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2093, 0) + node.BrowseName = QualifiedName('AuditDeleteNodesEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2090, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditDeleteNodesEventType") + attrs.DisplayName = LocalizedText("AuditDeleteNodesEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2093") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2094") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2093, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2094, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2093") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2090") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2093, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2090, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2094") - node.BrowseName = ua.QualifiedName.from_string("NodesToDelete") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2093") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2094, 0) + node.BrowseName = QualifiedName('NodesToDelete', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2093, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("NodesToDelete") - attrs.DataType = ua.NodeId.from_string("i=382") + attrs.DisplayName = LocalizedText("NodesToDelete") + attrs.DataType = NumericNodeId(382, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2094") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2094, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2094") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2094, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2094") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2093") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2094, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2093, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2095") - node.BrowseName = ua.QualifiedName.from_string("AuditAddReferencesEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2090") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2095, 0) + node.BrowseName = QualifiedName('AuditAddReferencesEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2090, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditAddReferencesEventType") + attrs.DisplayName = LocalizedText("AuditAddReferencesEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2095") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2096") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2095, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2096, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2095") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2090") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2095, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2090, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2096") - node.BrowseName = ua.QualifiedName.from_string("ReferencesToAdd") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2095") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2096, 0) + node.BrowseName = QualifiedName('ReferencesToAdd', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2095, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ReferencesToAdd") - attrs.DataType = ua.NodeId.from_string("i=379") + attrs.DisplayName = LocalizedText("ReferencesToAdd") + attrs.DataType = NumericNodeId(379, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2096") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2096, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2096") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2096, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2096") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2095") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2096, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2095, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2097") - node.BrowseName = ua.QualifiedName.from_string("AuditDeleteReferencesEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2090") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2097, 0) + node.BrowseName = QualifiedName('AuditDeleteReferencesEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2090, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditDeleteReferencesEventType") + attrs.DisplayName = LocalizedText("AuditDeleteReferencesEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2097") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2098") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2097, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2098, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2097") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2090") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2097, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2090, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2098") - node.BrowseName = ua.QualifiedName.from_string("ReferencesToDelete") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2097") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2098, 0) + node.BrowseName = QualifiedName('ReferencesToDelete', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2097, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ReferencesToDelete") - attrs.DataType = ua.NodeId.from_string("i=385") + attrs.DisplayName = LocalizedText("ReferencesToDelete") + attrs.DataType = NumericNodeId(385, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2097") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2097, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2099") - node.BrowseName = ua.QualifiedName.from_string("AuditUpdateEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2052") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2099, 0) + node.BrowseName = QualifiedName('AuditUpdateEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2052, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditUpdateEventType") + attrs.DisplayName = LocalizedText("AuditUpdateEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2099") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2052") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2099, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2052, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2100") - node.BrowseName = ua.QualifiedName.from_string("AuditWriteUpdateEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2099") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2100, 0) + node.BrowseName = QualifiedName('AuditWriteUpdateEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2099, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditWriteUpdateEventType") + attrs.DisplayName = LocalizedText("AuditWriteUpdateEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2100") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2750") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2100, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2750, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2100") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2101") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2100, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2101, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2100") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2102") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2100, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2102, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2100") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2103") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2100, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2103, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2100") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2099") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2100, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2099, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2750") - node.BrowseName = ua.QualifiedName.from_string("AttributeId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2100") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2750, 0) + node.BrowseName = QualifiedName('AttributeId', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2100, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AttributeId") + attrs.DisplayName = LocalizedText("AttributeId") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -17289,73 +17291,73 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2750") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2750, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2750") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2750, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2750") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2100") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2750, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2100, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2101") - node.BrowseName = ua.QualifiedName.from_string("IndexRange") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2100") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2101, 0) + node.BrowseName = QualifiedName('IndexRange', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2100, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("IndexRange") - attrs.DataType = ua.NodeId.from_string("i=291") + attrs.DisplayName = LocalizedText("IndexRange") + attrs.DataType = NumericNodeId(291, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2101") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2101, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2101") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2101, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2101") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2100") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2101, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2100, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2102") - node.BrowseName = ua.QualifiedName.from_string("OldValue") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2100") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2102, 0) + node.BrowseName = QualifiedName('OldValue', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2100, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OldValue") + attrs.DisplayName = LocalizedText("OldValue") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -17363,36 +17365,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2102") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2102, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2102") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2102, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2102") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2100") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2102, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2100, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2103") - node.BrowseName = ua.QualifiedName.from_string("NewValue") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2100") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2103, 0) + node.BrowseName = QualifiedName('NewValue', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2100, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("NewValue") + attrs.DisplayName = LocalizedText("NewValue") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -17400,64 +17402,64 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2103") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2103, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2103") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2103, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2103") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2100") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2103, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2100, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2104") - node.BrowseName = ua.QualifiedName.from_string("AuditHistoryUpdateEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2099") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2104, 0) + node.BrowseName = QualifiedName('AuditHistoryUpdateEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2099, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditHistoryUpdateEventType") + attrs.DisplayName = LocalizedText("AuditHistoryUpdateEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2104") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2751") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2104, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2751, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2104") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2099") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2104, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2099, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2751") - node.BrowseName = ua.QualifiedName.from_string("ParameterDataTypeId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2104") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2751, 0) + node.BrowseName = QualifiedName('ParameterDataTypeId', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2104, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ParameterDataTypeId") + attrs.DisplayName = LocalizedText("ParameterDataTypeId") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -17465,71 +17467,71 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2751") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2751, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2751") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2751, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2751") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2104") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2751, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2104, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2127") - node.BrowseName = ua.QualifiedName.from_string("AuditUpdateMethodEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2052") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2127, 0) + node.BrowseName = QualifiedName('AuditUpdateMethodEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2052, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditUpdateMethodEventType") + attrs.DisplayName = LocalizedText("AuditUpdateMethodEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2127") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2128") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2127, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2128, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2127") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2129") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2127, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2129, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2127") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2052") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2127, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2052, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2128") - node.BrowseName = ua.QualifiedName.from_string("MethodId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2127") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2128, 0) + node.BrowseName = QualifiedName('MethodId', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2127, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MethodId") + attrs.DisplayName = LocalizedText("MethodId") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -17537,36 +17539,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2128") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2128, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2128") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2128, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2128") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2127") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2128, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2127, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2129") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2127") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2129, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2127, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") + attrs.DisplayName = LocalizedText("InputArguments") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 node.NodeAttributes = attrs @@ -17574,350 +17576,350 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2129") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2129, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2129") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2129, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2129") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2127") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2129, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2127, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2130") - node.BrowseName = ua.QualifiedName.from_string("SystemEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2041") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2130, 0) + node.BrowseName = QualifiedName('SystemEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2041, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("SystemEventType") + attrs.DisplayName = LocalizedText("SystemEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2130") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2041") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2130, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2041, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2131") - node.BrowseName = ua.QualifiedName.from_string("DeviceFailureEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2130") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2131, 0) + node.BrowseName = QualifiedName('DeviceFailureEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2130, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("DeviceFailureEventType") + attrs.DisplayName = LocalizedText("DeviceFailureEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2131") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2130") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2131, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2130, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11446") - node.BrowseName = ua.QualifiedName.from_string("SystemStatusChangeEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2130") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(11446, 0) + node.BrowseName = QualifiedName('SystemStatusChangeEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2130, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("SystemStatusChangeEventType") + attrs.DisplayName = LocalizedText("SystemStatusChangeEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11446") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11696") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11446, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11696, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=11446") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2130") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(11446, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2130, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11696") - node.BrowseName = ua.QualifiedName.from_string("SystemState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11446") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11696, 0) + node.BrowseName = QualifiedName('SystemState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11446, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SystemState") - attrs.DataType = ua.NodeId.from_string("i=852") + attrs.DisplayName = LocalizedText("SystemState") + attrs.DataType = NumericNodeId(852, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11696") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11696, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11696") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11696, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11696") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11446") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11696, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11446, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2132") - node.BrowseName = ua.QualifiedName.from_string("BaseModelChangeEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2041") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2132, 0) + node.BrowseName = QualifiedName('BaseModelChangeEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2041, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("BaseModelChangeEventType") + attrs.DisplayName = LocalizedText("BaseModelChangeEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2132") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2041") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2132, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2041, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2133") - node.BrowseName = ua.QualifiedName.from_string("GeneralModelChangeEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2132") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2133, 0) + node.BrowseName = QualifiedName('GeneralModelChangeEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2132, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("GeneralModelChangeEventType") + attrs.DisplayName = LocalizedText("GeneralModelChangeEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2133") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2134") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2133, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2134, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2133") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2132") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2133, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2132, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2134") - node.BrowseName = ua.QualifiedName.from_string("Changes") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2133") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2134, 0) + node.BrowseName = QualifiedName('Changes', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2133, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Changes") - attrs.DataType = ua.NodeId.from_string("i=877") + attrs.DisplayName = LocalizedText("Changes") + attrs.DataType = NumericNodeId(877, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2134") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2134, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2134") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2134, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2134") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2133") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2134, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2133, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2738") - node.BrowseName = ua.QualifiedName.from_string("SemanticChangeEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2132") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2738, 0) + node.BrowseName = QualifiedName('SemanticChangeEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2132, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("SemanticChangeEventType") + attrs.DisplayName = LocalizedText("SemanticChangeEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2738") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2739") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2738, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2739, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2738") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2132") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2738, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2132, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2739") - node.BrowseName = ua.QualifiedName.from_string("Changes") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2738") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2739, 0) + node.BrowseName = QualifiedName('Changes', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2738, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Changes") - attrs.DataType = ua.NodeId.from_string("i=897") + attrs.DisplayName = LocalizedText("Changes") + attrs.DataType = NumericNodeId(897, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2739") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2739, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2739") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2739, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2739") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2738") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2739, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2738, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3035") - node.BrowseName = ua.QualifiedName.from_string("EventQueueOverflowEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2041") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(3035, 0) + node.BrowseName = QualifiedName('EventQueueOverflowEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2041, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("EventQueueOverflowEventType") + attrs.DisplayName = LocalizedText("EventQueueOverflowEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=3035") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2041") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(3035, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2041, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11436") - node.BrowseName = ua.QualifiedName.from_string("ProgressEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2041") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(11436, 0) + node.BrowseName = QualifiedName('ProgressEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2041, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ProgressEventType") + attrs.DisplayName = LocalizedText("ProgressEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11436") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12502") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11436, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12502, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11436") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12503") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11436, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12503, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=11436") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2041") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(11436, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2041, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12502") - node.BrowseName = ua.QualifiedName.from_string("Context") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11436") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(12502, 0) + node.BrowseName = QualifiedName('Context', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11436, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Context") + attrs.DisplayName = LocalizedText("Context") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -17925,36 +17927,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12502") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12502, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12502") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12502, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12502") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11436") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12502, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11436, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12503") - node.BrowseName = ua.QualifiedName.from_string("Progress") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11436") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(12503, 0) + node.BrowseName = QualifiedName('Progress', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11436, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Progress") + attrs.DisplayName = LocalizedText("Progress") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -17962,58 +17964,58 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12503") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12503, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12503") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12503, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12503") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11436") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12503, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11436, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2340") - node.BrowseName = ua.QualifiedName.from_string("AggregateFunctionType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=58") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2340, 0) + node.BrowseName = QualifiedName('AggregateFunctionType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(58, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AggregateFunctionType") + attrs.DisplayName = LocalizedText("AggregateFunctionType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2340") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=58") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2340, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(58, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2137") - node.BrowseName = ua.QualifiedName.from_string("ServerVendorCapabilityType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=63") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2137, 0) + node.BrowseName = QualifiedName('ServerVendorCapabilityType', 0) + node.NodeClass = NodeClass.VariableType + node.ParentNodeId = NumericNodeId(63, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ServerVendorCapabilityType") + attrs.DisplayName = LocalizedText("ServerVendorCapabilityType") attrs.IsAbstract = True - attrs.DisplayName = ua.LocalizedText("ServerVendorCapabilityType") + attrs.DisplayName = LocalizedText("ServerVendorCapabilityType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -18021,278 +18023,278 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2137") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2137, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2138") - node.BrowseName = ua.QualifiedName.from_string("ServerStatusType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=63") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2138, 0) + node.BrowseName = QualifiedName('ServerStatusType', 0) + node.NodeClass = NodeClass.VariableType + node.ParentNodeId = NumericNodeId(63, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ServerStatusType") - attrs.DisplayName = ua.LocalizedText("ServerStatusType") - attrs.DataType = ua.NodeId.from_string("i=862") + attrs.DisplayName = LocalizedText("ServerStatusType") + attrs.DisplayName = LocalizedText("ServerStatusType") + attrs.DataType = NumericNodeId(862, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2138") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2139") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2138, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2139, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2138") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2140") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2138, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2140, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2138") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2141") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2138, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2141, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2138") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2142") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2138, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2142, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2138") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2752") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2138, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2752, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2138") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2753") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2138, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2753, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2138") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2138, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2139") - node.BrowseName = ua.QualifiedName.from_string("StartTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2138") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2139, 0) + node.BrowseName = QualifiedName('StartTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2138, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("StartTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("StartTime") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2139") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2139, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2139") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2139, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2139") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2138") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2139, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2138, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2140") - node.BrowseName = ua.QualifiedName.from_string("CurrentTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2138") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2140, 0) + node.BrowseName = QualifiedName('CurrentTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2138, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("CurrentTime") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2140") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2140, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2140") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2140, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2140") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2138") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2140, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2138, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2141") - node.BrowseName = ua.QualifiedName.from_string("State") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2138") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2141, 0) + node.BrowseName = QualifiedName('State', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2138, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("State") - attrs.DataType = ua.NodeId.from_string("i=852") + attrs.DisplayName = LocalizedText("State") + attrs.DataType = NumericNodeId(852, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2141") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2141, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2141") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2141, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2141") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2138") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2141, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2138, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2142") - node.BrowseName = ua.QualifiedName.from_string("BuildInfo") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2138") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=3051") + node.RequestedNewNodeId = NumericNodeId(2142, 0) + node.BrowseName = QualifiedName('BuildInfo', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2138, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(3051, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("BuildInfo") - attrs.DataType = ua.NodeId.from_string("i=338") + attrs.DisplayName = LocalizedText("BuildInfo") + attrs.DataType = NumericNodeId(338, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2142") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3698") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2142, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3698, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2142") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3699") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2142, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3699, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2142") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3700") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2142, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3700, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2142") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3701") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2142, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3701, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2142") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3702") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2142, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3702, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2142") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3703") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2142, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3703, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2142") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3051") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2142, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3051, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2142") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2142, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2142") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2138") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2142, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2138, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3698") - node.BrowseName = ua.QualifiedName.from_string("ProductUri") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2142") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3698, 0) + node.BrowseName = QualifiedName('ProductUri', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2142, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 - attrs.DisplayName = ua.LocalizedText("ProductUri") + attrs.DisplayName = LocalizedText("ProductUri") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -18300,37 +18302,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3698") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3698, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3698") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3698, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3698") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2142") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3698, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2142, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3699") - node.BrowseName = ua.QualifiedName.from_string("ManufacturerName") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2142") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3699, 0) + node.BrowseName = QualifiedName('ManufacturerName', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2142, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 - attrs.DisplayName = ua.LocalizedText("ManufacturerName") + attrs.DisplayName = LocalizedText("ManufacturerName") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -18338,37 +18340,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3699") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3699, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3699") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3699, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3699") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2142") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3699, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2142, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3700") - node.BrowseName = ua.QualifiedName.from_string("ProductName") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2142") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3700, 0) + node.BrowseName = QualifiedName('ProductName', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2142, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 - attrs.DisplayName = ua.LocalizedText("ProductName") + attrs.DisplayName = LocalizedText("ProductName") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -18376,37 +18378,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3700") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3700, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3700") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3700, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3700") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2142") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3700, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2142, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3701") - node.BrowseName = ua.QualifiedName.from_string("SoftwareVersion") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2142") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3701, 0) + node.BrowseName = QualifiedName('SoftwareVersion', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2142, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 - attrs.DisplayName = ua.LocalizedText("SoftwareVersion") + attrs.DisplayName = LocalizedText("SoftwareVersion") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -18414,37 +18416,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3701") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3701, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3701") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3701, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3701") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2142") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3701, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2142, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3702") - node.BrowseName = ua.QualifiedName.from_string("BuildNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2142") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3702, 0) + node.BrowseName = QualifiedName('BuildNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2142, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 - attrs.DisplayName = ua.LocalizedText("BuildNumber") + attrs.DisplayName = LocalizedText("BuildNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -18452,74 +18454,74 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3702") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3702, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3702") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3702, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3702") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2142") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3702, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2142, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3703") - node.BrowseName = ua.QualifiedName.from_string("BuildDate") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2142") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3703, 0) + node.BrowseName = QualifiedName('BuildDate', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2142, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 - attrs.DisplayName = ua.LocalizedText("BuildDate") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("BuildDate") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3703") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3703, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3703") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3703, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3703") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2142") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3703, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2142, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2752") - node.BrowseName = ua.QualifiedName.from_string("SecondsTillShutdown") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2138") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2752, 0) + node.BrowseName = QualifiedName('SecondsTillShutdown', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2138, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SecondsTillShutdown") + attrs.DisplayName = LocalizedText("SecondsTillShutdown") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -18527,36 +18529,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2752") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2752, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2752") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2752, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2752") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2138") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2752, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2138, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2753") - node.BrowseName = ua.QualifiedName.from_string("ShutdownReason") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2138") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2753, 0) + node.BrowseName = QualifiedName('ShutdownReason', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2138, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ShutdownReason") + attrs.DisplayName = LocalizedText("ShutdownReason") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -18564,102 +18566,102 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2753") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2753, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2753") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2753, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2753") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2138") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2753, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2138, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3051") - node.BrowseName = ua.QualifiedName.from_string("BuildInfoType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=63") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(3051, 0) + node.BrowseName = QualifiedName('BuildInfoType', 0) + node.NodeClass = NodeClass.VariableType + node.ParentNodeId = NumericNodeId(63, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("BuildInfoType") - attrs.DisplayName = ua.LocalizedText("BuildInfoType") - attrs.DataType = ua.NodeId.from_string("i=338") + attrs.DisplayName = LocalizedText("BuildInfoType") + attrs.DisplayName = LocalizedText("BuildInfoType") + attrs.DataType = NumericNodeId(338, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3051") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3052") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3051, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3052, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3051") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3053") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3051, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3053, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3051") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3054") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3051, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3054, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3051") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3055") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3051, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3055, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3051") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3056") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3051, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3056, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3051") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3057") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3051, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3057, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=3051") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(3051, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3052") - node.BrowseName = ua.QualifiedName.from_string("ProductUri") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3051") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3052, 0) + node.BrowseName = QualifiedName('ProductUri', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3051, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 - attrs.DisplayName = ua.LocalizedText("ProductUri") + attrs.DisplayName = LocalizedText("ProductUri") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -18667,37 +18669,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3052") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3052, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3052") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3052, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3052") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3051") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3052, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3051, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3053") - node.BrowseName = ua.QualifiedName.from_string("ManufacturerName") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3051") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3053, 0) + node.BrowseName = QualifiedName('ManufacturerName', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3051, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 - attrs.DisplayName = ua.LocalizedText("ManufacturerName") + attrs.DisplayName = LocalizedText("ManufacturerName") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -18705,37 +18707,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3053") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3053, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3053") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3053, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3053") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3051") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3053, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3051, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3054") - node.BrowseName = ua.QualifiedName.from_string("ProductName") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3051") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3054, 0) + node.BrowseName = QualifiedName('ProductName', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3051, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 - attrs.DisplayName = ua.LocalizedText("ProductName") + attrs.DisplayName = LocalizedText("ProductName") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -18743,37 +18745,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3054") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3054, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3054") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3054, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3054") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3051") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3054, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3051, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3055") - node.BrowseName = ua.QualifiedName.from_string("SoftwareVersion") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3051") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3055, 0) + node.BrowseName = QualifiedName('SoftwareVersion', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3051, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 - attrs.DisplayName = ua.LocalizedText("SoftwareVersion") + attrs.DisplayName = LocalizedText("SoftwareVersion") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -18781,37 +18783,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3055") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3055, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3055") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3055, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3055") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3051") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3055, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3051, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3056") - node.BrowseName = ua.QualifiedName.from_string("BuildNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3051") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3056, 0) + node.BrowseName = QualifiedName('BuildNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3051, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 - attrs.DisplayName = ua.LocalizedText("BuildNumber") + attrs.DisplayName = LocalizedText("BuildNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -18819,181 +18821,181 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3056") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3056, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3056") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3056, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3056") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3051") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3056, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3051, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3057") - node.BrowseName = ua.QualifiedName.from_string("BuildDate") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3051") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3057, 0) + node.BrowseName = QualifiedName('BuildDate', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3051, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 - attrs.DisplayName = ua.LocalizedText("BuildDate") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("BuildDate") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3057") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3057, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3057") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3057, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3057") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3051") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3057, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3051, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2150") - node.BrowseName = ua.QualifiedName.from_string("ServerDiagnosticsSummaryType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=63") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2150, 0) + node.BrowseName = QualifiedName('ServerDiagnosticsSummaryType', 0) + node.NodeClass = NodeClass.VariableType + node.ParentNodeId = NumericNodeId(63, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ServerDiagnosticsSummaryType") - attrs.DisplayName = ua.LocalizedText("ServerDiagnosticsSummaryType") - attrs.DataType = ua.NodeId.from_string("i=859") + attrs.DisplayName = LocalizedText("ServerDiagnosticsSummaryType") + attrs.DisplayName = LocalizedText("ServerDiagnosticsSummaryType") + attrs.DataType = NumericNodeId(859, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2150") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2151") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2150, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2151, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2150") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2152") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2150, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2152, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2150") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2153") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2150, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2153, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2150") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2154") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2150, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2154, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2150") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2155") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2150, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2155, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2150") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2156") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2150, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2156, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2150") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2157") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2150, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2157, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2150") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2159") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2150, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2159, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2150") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2160") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2150, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2160, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2150") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2161") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2150, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2161, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2150") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2162") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2150, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2162, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2150") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2163") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2150, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2163, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2150") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2150, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2151") - node.BrowseName = ua.QualifiedName.from_string("ServerViewCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2150") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2151, 0) + node.BrowseName = QualifiedName('ServerViewCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2150, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ServerViewCount") + attrs.DisplayName = LocalizedText("ServerViewCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -19001,36 +19003,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2151") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2151, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2151") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2151, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2151") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2150") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2151, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2150, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2152") - node.BrowseName = ua.QualifiedName.from_string("CurrentSessionCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2150") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2152, 0) + node.BrowseName = QualifiedName('CurrentSessionCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2150, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentSessionCount") + attrs.DisplayName = LocalizedText("CurrentSessionCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -19038,36 +19040,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2152") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2152, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2152") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2152, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2152") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2150") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2152, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2150, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2153") - node.BrowseName = ua.QualifiedName.from_string("CumulatedSessionCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2150") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2153, 0) + node.BrowseName = QualifiedName('CumulatedSessionCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2150, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CumulatedSessionCount") + attrs.DisplayName = LocalizedText("CumulatedSessionCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -19075,36 +19077,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2153") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2153, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2153") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2153, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2153") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2150") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2153, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2150, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2154") - node.BrowseName = ua.QualifiedName.from_string("SecurityRejectedSessionCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2150") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2154, 0) + node.BrowseName = QualifiedName('SecurityRejectedSessionCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2150, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SecurityRejectedSessionCount") + attrs.DisplayName = LocalizedText("SecurityRejectedSessionCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -19112,36 +19114,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2154") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2154, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2154") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2154, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2154") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2150") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2154, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2150, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2155") - node.BrowseName = ua.QualifiedName.from_string("RejectedSessionCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2150") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2155, 0) + node.BrowseName = QualifiedName('RejectedSessionCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2150, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RejectedSessionCount") + attrs.DisplayName = LocalizedText("RejectedSessionCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -19149,36 +19151,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2155") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2155, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2155") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2155, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2155") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2150") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2155, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2150, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2156") - node.BrowseName = ua.QualifiedName.from_string("SessionTimeoutCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2150") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2156, 0) + node.BrowseName = QualifiedName('SessionTimeoutCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2150, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SessionTimeoutCount") + attrs.DisplayName = LocalizedText("SessionTimeoutCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -19186,36 +19188,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2156") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2156, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2156") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2156, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2156") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2150") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2156, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2150, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2157") - node.BrowseName = ua.QualifiedName.from_string("SessionAbortCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2150") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2157, 0) + node.BrowseName = QualifiedName('SessionAbortCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2150, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SessionAbortCount") + attrs.DisplayName = LocalizedText("SessionAbortCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -19223,36 +19225,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2157") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2157, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2157") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2157, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2157") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2150") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2157, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2150, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2159") - node.BrowseName = ua.QualifiedName.from_string("PublishingIntervalCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2150") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2159, 0) + node.BrowseName = QualifiedName('PublishingIntervalCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2150, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("PublishingIntervalCount") + attrs.DisplayName = LocalizedText("PublishingIntervalCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -19260,36 +19262,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2159") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2159, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2159") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2159, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2159") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2150") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2159, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2150, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2160") - node.BrowseName = ua.QualifiedName.from_string("CurrentSubscriptionCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2150") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2160, 0) + node.BrowseName = QualifiedName('CurrentSubscriptionCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2150, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentSubscriptionCount") + attrs.DisplayName = LocalizedText("CurrentSubscriptionCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -19297,36 +19299,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2160") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2160, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2160") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2160, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2160") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2150") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2160, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2150, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2161") - node.BrowseName = ua.QualifiedName.from_string("CumulatedSubscriptionCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2150") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2161, 0) + node.BrowseName = QualifiedName('CumulatedSubscriptionCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2150, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CumulatedSubscriptionCount") + attrs.DisplayName = LocalizedText("CumulatedSubscriptionCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -19334,36 +19336,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2161") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2161, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2161") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2161, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2161") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2150") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2161, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2150, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2162") - node.BrowseName = ua.QualifiedName.from_string("SecurityRejectedRequestsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2150") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2162, 0) + node.BrowseName = QualifiedName('SecurityRejectedRequestsCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2150, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SecurityRejectedRequestsCount") + attrs.DisplayName = LocalizedText("SecurityRejectedRequestsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -19371,36 +19373,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2162") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2162, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2162") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2162, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2162") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2150") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2162, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2150, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2163") - node.BrowseName = ua.QualifiedName.from_string("RejectedRequestsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2150") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2163, 0) + node.BrowseName = QualifiedName('RejectedRequestsCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2150, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RejectedRequestsCount") + attrs.DisplayName = LocalizedText("RejectedRequestsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -19408,168 +19410,168 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2163") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2163, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2163") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2163, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2163") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2150") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2163, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2150, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2164") - node.BrowseName = ua.QualifiedName.from_string("SamplingIntervalDiagnosticsArrayType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=63") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2164, 0) + node.BrowseName = QualifiedName('SamplingIntervalDiagnosticsArrayType', 0) + node.NodeClass = NodeClass.VariableType + node.ParentNodeId = NumericNodeId(63, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("SamplingIntervalDiagnosticsArrayType") - attrs.DisplayName = ua.LocalizedText("SamplingIntervalDiagnosticsArrayType") - attrs.DataType = ua.NodeId.from_string("i=856") + attrs.DisplayName = LocalizedText("SamplingIntervalDiagnosticsArrayType") + attrs.DisplayName = LocalizedText("SamplingIntervalDiagnosticsArrayType") + attrs.DataType = NumericNodeId(856, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2164") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12779") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2164, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12779, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2164") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2164, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12779") - node.BrowseName = ua.QualifiedName.from_string("SamplingIntervalDiagnostics") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2164") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2165") + node.RequestedNewNodeId = NumericNodeId(12779, 0) + node.BrowseName = QualifiedName('SamplingIntervalDiagnostics', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2164, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2165, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SamplingIntervalDiagnostics") - attrs.DataType = ua.NodeId.from_string("i=856") + attrs.DisplayName = LocalizedText("SamplingIntervalDiagnostics") + attrs.DataType = NumericNodeId(856, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12779") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12780") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12779, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12780, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12779") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12781") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12779, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12781, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12779") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12782") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12779, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12782, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12779") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12783") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12779, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12783, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12779") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2165") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12779, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2165, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12779") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=83") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12779, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(83, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12779") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2164") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12779, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2164, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12780") - node.BrowseName = ua.QualifiedName.from_string("SamplingInterval") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12779") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12780, 0) + node.BrowseName = QualifiedName('SamplingInterval', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12779, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SamplingInterval") - attrs.DataType = ua.NodeId.from_string("i=290") + attrs.DisplayName = LocalizedText("SamplingInterval") + attrs.DataType = NumericNodeId(290, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12780") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12780, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12780") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12780, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12780") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12779") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12780, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12779, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12781") - node.BrowseName = ua.QualifiedName.from_string("SampledMonitoredItemsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12779") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12781, 0) + node.BrowseName = QualifiedName('SampledMonitoredItemsCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12779, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SampledMonitoredItemsCount") + attrs.DisplayName = LocalizedText("SampledMonitoredItemsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -19577,36 +19579,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12781") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12781, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12781") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12781, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12781") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12779") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12781, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12779, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12782") - node.BrowseName = ua.QualifiedName.from_string("MaxSampledMonitoredItemsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12779") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12782, 0) + node.BrowseName = QualifiedName('MaxSampledMonitoredItemsCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12779, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MaxSampledMonitoredItemsCount") + attrs.DisplayName = LocalizedText("MaxSampledMonitoredItemsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -19614,36 +19616,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12782") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12782, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12782") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12782, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12782") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12779") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12782, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12779, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12783") - node.BrowseName = ua.QualifiedName.from_string("DisabledMonitoredItemsSamplingCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12779") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12783, 0) + node.BrowseName = QualifiedName('DisabledMonitoredItemsSamplingCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12779, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DisabledMonitoredItemsSamplingCount") + attrs.DisplayName = LocalizedText("DisabledMonitoredItemsSamplingCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -19651,124 +19653,124 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12783") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12783, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12783") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12783, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12783") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12779") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12783, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12779, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2165") - node.BrowseName = ua.QualifiedName.from_string("SamplingIntervalDiagnosticsType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=63") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2165, 0) + node.BrowseName = QualifiedName('SamplingIntervalDiagnosticsType', 0) + node.NodeClass = NodeClass.VariableType + node.ParentNodeId = NumericNodeId(63, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("SamplingIntervalDiagnosticsType") - attrs.DisplayName = ua.LocalizedText("SamplingIntervalDiagnosticsType") - attrs.DataType = ua.NodeId.from_string("i=856") + attrs.DisplayName = LocalizedText("SamplingIntervalDiagnosticsType") + attrs.DisplayName = LocalizedText("SamplingIntervalDiagnosticsType") + attrs.DataType = NumericNodeId(856, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2165") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2166") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2165, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2166, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2165") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11697") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2165, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11697, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2165") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11698") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2165, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11698, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2165") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11699") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2165, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11699, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2165") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2165, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2166") - node.BrowseName = ua.QualifiedName.from_string("SamplingInterval") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2165") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2166, 0) + node.BrowseName = QualifiedName('SamplingInterval', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2165, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SamplingInterval") - attrs.DataType = ua.NodeId.from_string("i=290") + attrs.DisplayName = LocalizedText("SamplingInterval") + attrs.DataType = NumericNodeId(290, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2166") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2166, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2166") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2166, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2166") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2165") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2166, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2165, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11697") - node.BrowseName = ua.QualifiedName.from_string("SampledMonitoredItemsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2165") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(11697, 0) + node.BrowseName = QualifiedName('SampledMonitoredItemsCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2165, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SampledMonitoredItemsCount") + attrs.DisplayName = LocalizedText("SampledMonitoredItemsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -19776,36 +19778,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11697") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11697, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11697") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11697, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11697") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2165") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11697, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2165, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11698") - node.BrowseName = ua.QualifiedName.from_string("MaxSampledMonitoredItemsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2165") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(11698, 0) + node.BrowseName = QualifiedName('MaxSampledMonitoredItemsCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2165, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MaxSampledMonitoredItemsCount") + attrs.DisplayName = LocalizedText("MaxSampledMonitoredItemsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -19813,36 +19815,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11698") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11698, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11698") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11698, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11698") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2165") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11698, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2165, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11699") - node.BrowseName = ua.QualifiedName.from_string("DisabledMonitoredItemsSamplingCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2165") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(11699, 0) + node.BrowseName = QualifiedName('DisabledMonitoredItemsSamplingCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2165, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DisabledMonitoredItemsSamplingCount") + attrs.DisplayName = LocalizedText("DisabledMonitoredItemsSamplingCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -19850,320 +19852,320 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11699") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11699, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11699") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11699, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11699") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2165") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11699, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2165, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2171") - node.BrowseName = ua.QualifiedName.from_string("SubscriptionDiagnosticsArrayType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=63") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2171, 0) + node.BrowseName = QualifiedName('SubscriptionDiagnosticsArrayType', 0) + node.NodeClass = NodeClass.VariableType + node.ParentNodeId = NumericNodeId(63, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("SubscriptionDiagnosticsArrayType") - attrs.DisplayName = ua.LocalizedText("SubscriptionDiagnosticsArrayType") - attrs.DataType = ua.NodeId.from_string("i=874") + attrs.DisplayName = LocalizedText("SubscriptionDiagnosticsArrayType") + attrs.DisplayName = LocalizedText("SubscriptionDiagnosticsArrayType") + attrs.DataType = NumericNodeId(874, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2171") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2171, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12784, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2171") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2171, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12784") - node.BrowseName = ua.QualifiedName.from_string("SubscriptionDiagnostics") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2171") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2172") + node.RequestedNewNodeId = NumericNodeId(12784, 0) + node.BrowseName = QualifiedName('SubscriptionDiagnostics', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2171, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2172, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SubscriptionDiagnostics") - attrs.DataType = ua.NodeId.from_string("i=874") + attrs.DisplayName = LocalizedText("SubscriptionDiagnostics") + attrs.DataType = NumericNodeId(874, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12785") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12784, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12785, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12786") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12784, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12786, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12787") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12784, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12787, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12788") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12784, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12788, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12789") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12784, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12789, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12790") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12784, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12790, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12791") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12784, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12791, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12792") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12784, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12792, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12793") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12784, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12793, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12794") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12784, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12794, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12795") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12784, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12795, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12796") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12784, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12796, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12797") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12784, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12797, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12798") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12784, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12798, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12799") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12784, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12799, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12800") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12784, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12800, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12801") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12784, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12801, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12802") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12784, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12802, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12803") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12784, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12803, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12804") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12784, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12804, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12805") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12784, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12805, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12806") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12784, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12806, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12807") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12784, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12807, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12808") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12784, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12808, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12809") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12784, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12809, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12810") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12784, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12810, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12811") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12784, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12811, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12812") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12784, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12812, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12813") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12784, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12813, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12814") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12784, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12814, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12815") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12784, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12815, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12784, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2172, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=83") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12784, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(83, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2171") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12784, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2171, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12785") - node.BrowseName = ua.QualifiedName.from_string("SessionId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12785, 0) + node.BrowseName = QualifiedName('SessionId', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12784, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SessionId") + attrs.DisplayName = LocalizedText("SessionId") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -20171,36 +20173,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12785") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12785, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12785") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12785, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12785") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12785, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12784, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12786") - node.BrowseName = ua.QualifiedName.from_string("SubscriptionId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12786, 0) + node.BrowseName = QualifiedName('SubscriptionId', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12784, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SubscriptionId") + attrs.DisplayName = LocalizedText("SubscriptionId") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -20208,36 +20210,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12786") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12786, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12786") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12786, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12786") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12786, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12784, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12787") - node.BrowseName = ua.QualifiedName.from_string("Priority") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12787, 0) + node.BrowseName = QualifiedName('Priority', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12784, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Priority") + attrs.DisplayName = LocalizedText("Priority") attrs.DataType = ua.NodeId(ua.ObjectIds.Byte) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -20245,36 +20247,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12787") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12787, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12787") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12787, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12787") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12787, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12784, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12788") - node.BrowseName = ua.QualifiedName.from_string("PublishingInterval") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12788, 0) + node.BrowseName = QualifiedName('PublishingInterval', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12784, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("PublishingInterval") + attrs.DisplayName = LocalizedText("PublishingInterval") attrs.DataType = ua.NodeId(ua.ObjectIds.Double) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -20282,36 +20284,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12788") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12788, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12788") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12788, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12788") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12788, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12784, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12789") - node.BrowseName = ua.QualifiedName.from_string("MaxKeepAliveCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12789, 0) + node.BrowseName = QualifiedName('MaxKeepAliveCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12784, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MaxKeepAliveCount") + attrs.DisplayName = LocalizedText("MaxKeepAliveCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -20319,36 +20321,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12789") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12789, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12789") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12789, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12789") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12789, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12784, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12790") - node.BrowseName = ua.QualifiedName.from_string("MaxLifetimeCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12790, 0) + node.BrowseName = QualifiedName('MaxLifetimeCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12784, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MaxLifetimeCount") + attrs.DisplayName = LocalizedText("MaxLifetimeCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -20356,36 +20358,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12790") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12790, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12790") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12790, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12790") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12790, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12784, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12791") - node.BrowseName = ua.QualifiedName.from_string("MaxNotificationsPerPublish") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12791, 0) + node.BrowseName = QualifiedName('MaxNotificationsPerPublish', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12784, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MaxNotificationsPerPublish") + attrs.DisplayName = LocalizedText("MaxNotificationsPerPublish") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -20393,36 +20395,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12791") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12791, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12791") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12791, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12791") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12791, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12784, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12792") - node.BrowseName = ua.QualifiedName.from_string("PublishingEnabled") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12792, 0) + node.BrowseName = QualifiedName('PublishingEnabled', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12784, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("PublishingEnabled") + attrs.DisplayName = LocalizedText("PublishingEnabled") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -20430,36 +20432,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12792") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12792, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12792") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12792, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12792") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12792, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12784, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12793") - node.BrowseName = ua.QualifiedName.from_string("ModifyCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12793, 0) + node.BrowseName = QualifiedName('ModifyCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12784, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ModifyCount") + attrs.DisplayName = LocalizedText("ModifyCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -20467,36 +20469,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12793") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12793, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12793") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12793, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12793") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12793, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12784, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12794") - node.BrowseName = ua.QualifiedName.from_string("EnableCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12794, 0) + node.BrowseName = QualifiedName('EnableCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12784, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EnableCount") + attrs.DisplayName = LocalizedText("EnableCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -20504,36 +20506,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12794") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12794, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12794") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12794, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12794") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12794, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12784, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12795") - node.BrowseName = ua.QualifiedName.from_string("DisableCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12795, 0) + node.BrowseName = QualifiedName('DisableCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12784, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DisableCount") + attrs.DisplayName = LocalizedText("DisableCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -20541,36 +20543,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12795") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12795, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12795") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12795, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12795") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12795, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12784, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12796") - node.BrowseName = ua.QualifiedName.from_string("RepublishRequestCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12796, 0) + node.BrowseName = QualifiedName('RepublishRequestCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12784, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RepublishRequestCount") + attrs.DisplayName = LocalizedText("RepublishRequestCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -20578,36 +20580,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12796") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12796, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12796") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12796, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12796") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12796, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12784, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12797") - node.BrowseName = ua.QualifiedName.from_string("RepublishMessageRequestCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12797, 0) + node.BrowseName = QualifiedName('RepublishMessageRequestCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12784, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RepublishMessageRequestCount") + attrs.DisplayName = LocalizedText("RepublishMessageRequestCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -20615,36 +20617,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12797") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12797, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12797") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12797, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12797") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12797, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12784, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12798") - node.BrowseName = ua.QualifiedName.from_string("RepublishMessageCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12798, 0) + node.BrowseName = QualifiedName('RepublishMessageCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12784, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RepublishMessageCount") + attrs.DisplayName = LocalizedText("RepublishMessageCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -20652,36 +20654,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12798") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12798, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12798") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12798, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12798") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12798, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12784, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12799") - node.BrowseName = ua.QualifiedName.from_string("TransferRequestCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12799, 0) + node.BrowseName = QualifiedName('TransferRequestCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12784, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransferRequestCount") + attrs.DisplayName = LocalizedText("TransferRequestCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -20689,36 +20691,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12799") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12799, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12799") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12799, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12799") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12799, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12784, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12800") - node.BrowseName = ua.QualifiedName.from_string("TransferredToAltClientCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12800, 0) + node.BrowseName = QualifiedName('TransferredToAltClientCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12784, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransferredToAltClientCount") + attrs.DisplayName = LocalizedText("TransferredToAltClientCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -20726,36 +20728,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12800") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12800, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12800") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12800, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12800") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12800, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12784, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12801") - node.BrowseName = ua.QualifiedName.from_string("TransferredToSameClientCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12801, 0) + node.BrowseName = QualifiedName('TransferredToSameClientCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12784, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransferredToSameClientCount") + attrs.DisplayName = LocalizedText("TransferredToSameClientCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -20763,36 +20765,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12801") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12801, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12801") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12801, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12801") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12801, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12784, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12802") - node.BrowseName = ua.QualifiedName.from_string("PublishRequestCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12802, 0) + node.BrowseName = QualifiedName('PublishRequestCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12784, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("PublishRequestCount") + attrs.DisplayName = LocalizedText("PublishRequestCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -20800,36 +20802,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12802") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12802, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12802") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12802, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12802") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12802, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12784, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12803") - node.BrowseName = ua.QualifiedName.from_string("DataChangeNotificationsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12803, 0) + node.BrowseName = QualifiedName('DataChangeNotificationsCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12784, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DataChangeNotificationsCount") + attrs.DisplayName = LocalizedText("DataChangeNotificationsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -20837,36 +20839,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12803") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12803, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12803") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12803, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12803") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12803, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12784, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12804") - node.BrowseName = ua.QualifiedName.from_string("EventNotificationsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12804, 0) + node.BrowseName = QualifiedName('EventNotificationsCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12784, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EventNotificationsCount") + attrs.DisplayName = LocalizedText("EventNotificationsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -20874,36 +20876,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12804") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12804, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12804") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12804, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12804") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12804, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12784, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12805") - node.BrowseName = ua.QualifiedName.from_string("NotificationsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12805, 0) + node.BrowseName = QualifiedName('NotificationsCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12784, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("NotificationsCount") + attrs.DisplayName = LocalizedText("NotificationsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -20911,36 +20913,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12805") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12805, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12805") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12805, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12805") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12805, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12784, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12806") - node.BrowseName = ua.QualifiedName.from_string("LatePublishRequestCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12806, 0) + node.BrowseName = QualifiedName('LatePublishRequestCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12784, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LatePublishRequestCount") + attrs.DisplayName = LocalizedText("LatePublishRequestCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -20948,36 +20950,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12806") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12806, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12806") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12806, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12806") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12806, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12784, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12807") - node.BrowseName = ua.QualifiedName.from_string("CurrentKeepAliveCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12807, 0) + node.BrowseName = QualifiedName('CurrentKeepAliveCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12784, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentKeepAliveCount") + attrs.DisplayName = LocalizedText("CurrentKeepAliveCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -20985,36 +20987,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12807") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12807, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12807") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12807, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12807") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12807, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12784, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12808") - node.BrowseName = ua.QualifiedName.from_string("CurrentLifetimeCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12808, 0) + node.BrowseName = QualifiedName('CurrentLifetimeCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12784, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentLifetimeCount") + attrs.DisplayName = LocalizedText("CurrentLifetimeCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -21022,36 +21024,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12808") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12808, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12808") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12808, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12808") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12808, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12784, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12809") - node.BrowseName = ua.QualifiedName.from_string("UnacknowledgedMessageCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12809, 0) + node.BrowseName = QualifiedName('UnacknowledgedMessageCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12784, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("UnacknowledgedMessageCount") + attrs.DisplayName = LocalizedText("UnacknowledgedMessageCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -21059,36 +21061,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12809") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12809, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12809") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12809, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12809") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12809, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12784, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12810") - node.BrowseName = ua.QualifiedName.from_string("DiscardedMessageCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12810, 0) + node.BrowseName = QualifiedName('DiscardedMessageCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12784, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DiscardedMessageCount") + attrs.DisplayName = LocalizedText("DiscardedMessageCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -21096,36 +21098,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12810") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12810, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12810") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12810, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12810") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12810, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12784, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12811") - node.BrowseName = ua.QualifiedName.from_string("MonitoredItemCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12811, 0) + node.BrowseName = QualifiedName('MonitoredItemCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12784, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MonitoredItemCount") + attrs.DisplayName = LocalizedText("MonitoredItemCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -21133,36 +21135,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12811") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12811, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12811") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12811, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12811") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12811, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12784, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12812") - node.BrowseName = ua.QualifiedName.from_string("DisabledMonitoredItemCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12812, 0) + node.BrowseName = QualifiedName('DisabledMonitoredItemCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12784, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DisabledMonitoredItemCount") + attrs.DisplayName = LocalizedText("DisabledMonitoredItemCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -21170,36 +21172,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12812") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12812, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12812") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12812, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12812") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12812, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12784, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12813") - node.BrowseName = ua.QualifiedName.from_string("MonitoringQueueOverflowCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12813, 0) + node.BrowseName = QualifiedName('MonitoringQueueOverflowCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12784, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MonitoringQueueOverflowCount") + attrs.DisplayName = LocalizedText("MonitoringQueueOverflowCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -21207,36 +21209,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12813") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12813, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12813") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12813, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12813") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12813, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12784, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12814") - node.BrowseName = ua.QualifiedName.from_string("NextSequenceNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12814, 0) + node.BrowseName = QualifiedName('NextSequenceNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12784, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("NextSequenceNumber") + attrs.DisplayName = LocalizedText("NextSequenceNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -21244,36 +21246,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12814") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12814, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12814") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12814, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12814") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12814, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12784, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12815") - node.BrowseName = ua.QualifiedName.from_string("EventQueueOverflowCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12784") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12815, 0) + node.BrowseName = QualifiedName('EventQueueOverflowCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12784, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EventQueueOverflowCount") + attrs.DisplayName = LocalizedText("EventQueueOverflowCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -21281,276 +21283,276 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12815") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12815, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12815") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12815, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12815") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12784") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12815, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12784, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2172") - node.BrowseName = ua.QualifiedName.from_string("SubscriptionDiagnosticsType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=63") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2172, 0) + node.BrowseName = QualifiedName('SubscriptionDiagnosticsType', 0) + node.NodeClass = NodeClass.VariableType + node.ParentNodeId = NumericNodeId(63, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("SubscriptionDiagnosticsType") - attrs.DisplayName = ua.LocalizedText("SubscriptionDiagnosticsType") - attrs.DataType = ua.NodeId.from_string("i=874") + attrs.DisplayName = LocalizedText("SubscriptionDiagnosticsType") + attrs.DisplayName = LocalizedText("SubscriptionDiagnosticsType") + attrs.DataType = NumericNodeId(874, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2173") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2172, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2173, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2174") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2172, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2174, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2175") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2172, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2175, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2176") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2172, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2176, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2177") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2172, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2177, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8888") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2172, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8888, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2179") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2172, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2179, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2180") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2172, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2180, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2181") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2172, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2181, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2182") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2172, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2182, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2183") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2172, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2183, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2184") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2172, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2184, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2185") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2172, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2185, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2186") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2172, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2186, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2187") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2172, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2187, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2188") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2172, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2188, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2189") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2172, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2189, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2190") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2172, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2190, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2191") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2172, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2191, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2998") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2172, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2998, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2193") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2172, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2193, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8889") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2172, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8889, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8890") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2172, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8890, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8891") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2172, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8891, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8892") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2172, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8892, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8893") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2172, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8893, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8894") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2172, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8894, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8895") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2172, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8895, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8896") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2172, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8896, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8897") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2172, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8897, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8902") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2172, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8902, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2172") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2172, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2173") - node.BrowseName = ua.QualifiedName.from_string("SessionId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2173, 0) + node.BrowseName = QualifiedName('SessionId', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2172, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SessionId") + attrs.DisplayName = LocalizedText("SessionId") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -21558,36 +21560,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2173") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2173, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2173") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2173, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2173") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2173, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2172, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2174") - node.BrowseName = ua.QualifiedName.from_string("SubscriptionId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2174, 0) + node.BrowseName = QualifiedName('SubscriptionId', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2172, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SubscriptionId") + attrs.DisplayName = LocalizedText("SubscriptionId") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -21595,36 +21597,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2174") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2174, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2174") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2174, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2174") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2174, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2172, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2175") - node.BrowseName = ua.QualifiedName.from_string("Priority") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2175, 0) + node.BrowseName = QualifiedName('Priority', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2172, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Priority") + attrs.DisplayName = LocalizedText("Priority") attrs.DataType = ua.NodeId(ua.ObjectIds.Byte) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -21632,36 +21634,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2175") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2175, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2175") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2175, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2175") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2175, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2172, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2176") - node.BrowseName = ua.QualifiedName.from_string("PublishingInterval") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2176, 0) + node.BrowseName = QualifiedName('PublishingInterval', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2172, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("PublishingInterval") + attrs.DisplayName = LocalizedText("PublishingInterval") attrs.DataType = ua.NodeId(ua.ObjectIds.Double) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -21669,36 +21671,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2176") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2176, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2176") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2176, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2176") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2176, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2172, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2177") - node.BrowseName = ua.QualifiedName.from_string("MaxKeepAliveCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2177, 0) + node.BrowseName = QualifiedName('MaxKeepAliveCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2172, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MaxKeepAliveCount") + attrs.DisplayName = LocalizedText("MaxKeepAliveCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -21706,36 +21708,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2177") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2177, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2177") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2177, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2177") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2177, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2172, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8888") - node.BrowseName = ua.QualifiedName.from_string("MaxLifetimeCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(8888, 0) + node.BrowseName = QualifiedName('MaxLifetimeCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2172, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MaxLifetimeCount") + attrs.DisplayName = LocalizedText("MaxLifetimeCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -21743,36 +21745,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8888") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8888, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=8888") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(8888, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8888") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8888, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2172, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2179") - node.BrowseName = ua.QualifiedName.from_string("MaxNotificationsPerPublish") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2179, 0) + node.BrowseName = QualifiedName('MaxNotificationsPerPublish', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2172, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MaxNotificationsPerPublish") + attrs.DisplayName = LocalizedText("MaxNotificationsPerPublish") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -21780,36 +21782,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2179") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2179, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2179") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2179, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2179") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2179, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2172, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2180") - node.BrowseName = ua.QualifiedName.from_string("PublishingEnabled") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2180, 0) + node.BrowseName = QualifiedName('PublishingEnabled', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2172, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("PublishingEnabled") + attrs.DisplayName = LocalizedText("PublishingEnabled") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -21817,36 +21819,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2180") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2180, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2180") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2180, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2180") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2180, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2172, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2181") - node.BrowseName = ua.QualifiedName.from_string("ModifyCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2181, 0) + node.BrowseName = QualifiedName('ModifyCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2172, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ModifyCount") + attrs.DisplayName = LocalizedText("ModifyCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -21854,36 +21856,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2181") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2181, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2181") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2181, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2181") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2181, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2172, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2182") - node.BrowseName = ua.QualifiedName.from_string("EnableCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2182, 0) + node.BrowseName = QualifiedName('EnableCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2172, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EnableCount") + attrs.DisplayName = LocalizedText("EnableCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -21891,36 +21893,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2182") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2182, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2182") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2182, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2182") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2182, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2172, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2183") - node.BrowseName = ua.QualifiedName.from_string("DisableCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2183, 0) + node.BrowseName = QualifiedName('DisableCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2172, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DisableCount") + attrs.DisplayName = LocalizedText("DisableCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -21928,36 +21930,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2183") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2183, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2183") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2183, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2183") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2183, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2172, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2184") - node.BrowseName = ua.QualifiedName.from_string("RepublishRequestCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2184, 0) + node.BrowseName = QualifiedName('RepublishRequestCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2172, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RepublishRequestCount") + attrs.DisplayName = LocalizedText("RepublishRequestCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -21965,36 +21967,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2184") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2184, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2184") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2184, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2184") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2184, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2172, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2185") - node.BrowseName = ua.QualifiedName.from_string("RepublishMessageRequestCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2185, 0) + node.BrowseName = QualifiedName('RepublishMessageRequestCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2172, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RepublishMessageRequestCount") + attrs.DisplayName = LocalizedText("RepublishMessageRequestCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -22002,36 +22004,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2185") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2185, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2185") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2185, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2185") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2185, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2172, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2186") - node.BrowseName = ua.QualifiedName.from_string("RepublishMessageCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2186, 0) + node.BrowseName = QualifiedName('RepublishMessageCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2172, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RepublishMessageCount") + attrs.DisplayName = LocalizedText("RepublishMessageCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -22039,36 +22041,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2186") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2186, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2186") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2186, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2186") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2186, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2172, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2187") - node.BrowseName = ua.QualifiedName.from_string("TransferRequestCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2187, 0) + node.BrowseName = QualifiedName('TransferRequestCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2172, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransferRequestCount") + attrs.DisplayName = LocalizedText("TransferRequestCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -22076,36 +22078,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2187") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2187, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2187") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2187, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2187") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2187, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2172, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2188") - node.BrowseName = ua.QualifiedName.from_string("TransferredToAltClientCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2188, 0) + node.BrowseName = QualifiedName('TransferredToAltClientCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2172, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransferredToAltClientCount") + attrs.DisplayName = LocalizedText("TransferredToAltClientCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -22113,36 +22115,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2188") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2188, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2188") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2188, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2188") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2188, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2172, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2189") - node.BrowseName = ua.QualifiedName.from_string("TransferredToSameClientCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2189, 0) + node.BrowseName = QualifiedName('TransferredToSameClientCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2172, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransferredToSameClientCount") + attrs.DisplayName = LocalizedText("TransferredToSameClientCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -22150,36 +22152,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2189") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2189, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2189") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2189, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2189") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2189, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2172, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2190") - node.BrowseName = ua.QualifiedName.from_string("PublishRequestCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2190, 0) + node.BrowseName = QualifiedName('PublishRequestCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2172, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("PublishRequestCount") + attrs.DisplayName = LocalizedText("PublishRequestCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -22187,36 +22189,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2190") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2190, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2190") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2190, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2190") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2190, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2172, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2191") - node.BrowseName = ua.QualifiedName.from_string("DataChangeNotificationsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2191, 0) + node.BrowseName = QualifiedName('DataChangeNotificationsCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2172, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DataChangeNotificationsCount") + attrs.DisplayName = LocalizedText("DataChangeNotificationsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -22224,36 +22226,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2191") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2191, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2191") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2191, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2191") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2191, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2172, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2998") - node.BrowseName = ua.QualifiedName.from_string("EventNotificationsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2998, 0) + node.BrowseName = QualifiedName('EventNotificationsCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2172, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EventNotificationsCount") + attrs.DisplayName = LocalizedText("EventNotificationsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -22261,36 +22263,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2998") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2998, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2998") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2998, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2998") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2998, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2172, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2193") - node.BrowseName = ua.QualifiedName.from_string("NotificationsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2193, 0) + node.BrowseName = QualifiedName('NotificationsCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2172, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("NotificationsCount") + attrs.DisplayName = LocalizedText("NotificationsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -22298,36 +22300,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2193") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2193, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2193") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2193, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2193") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2193, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2172, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8889") - node.BrowseName = ua.QualifiedName.from_string("LatePublishRequestCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(8889, 0) + node.BrowseName = QualifiedName('LatePublishRequestCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2172, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LatePublishRequestCount") + attrs.DisplayName = LocalizedText("LatePublishRequestCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -22335,36 +22337,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8889") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8889, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=8889") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(8889, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8889") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8889, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2172, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8890") - node.BrowseName = ua.QualifiedName.from_string("CurrentKeepAliveCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(8890, 0) + node.BrowseName = QualifiedName('CurrentKeepAliveCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2172, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentKeepAliveCount") + attrs.DisplayName = LocalizedText("CurrentKeepAliveCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -22372,36 +22374,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8890") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8890, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=8890") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(8890, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8890") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8890, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2172, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8891") - node.BrowseName = ua.QualifiedName.from_string("CurrentLifetimeCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(8891, 0) + node.BrowseName = QualifiedName('CurrentLifetimeCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2172, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentLifetimeCount") + attrs.DisplayName = LocalizedText("CurrentLifetimeCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -22409,36 +22411,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8891") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8891, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=8891") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(8891, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8891") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8891, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2172, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8892") - node.BrowseName = ua.QualifiedName.from_string("UnacknowledgedMessageCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(8892, 0) + node.BrowseName = QualifiedName('UnacknowledgedMessageCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2172, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("UnacknowledgedMessageCount") + attrs.DisplayName = LocalizedText("UnacknowledgedMessageCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -22446,36 +22448,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8892") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8892, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=8892") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(8892, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8892") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8892, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2172, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8893") - node.BrowseName = ua.QualifiedName.from_string("DiscardedMessageCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(8893, 0) + node.BrowseName = QualifiedName('DiscardedMessageCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2172, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DiscardedMessageCount") + attrs.DisplayName = LocalizedText("DiscardedMessageCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -22483,36 +22485,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8893") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8893, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=8893") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(8893, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8893") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8893, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2172, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8894") - node.BrowseName = ua.QualifiedName.from_string("MonitoredItemCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(8894, 0) + node.BrowseName = QualifiedName('MonitoredItemCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2172, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MonitoredItemCount") + attrs.DisplayName = LocalizedText("MonitoredItemCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -22520,36 +22522,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8894") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8894, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=8894") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(8894, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8894") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8894, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2172, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8895") - node.BrowseName = ua.QualifiedName.from_string("DisabledMonitoredItemCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(8895, 0) + node.BrowseName = QualifiedName('DisabledMonitoredItemCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2172, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DisabledMonitoredItemCount") + attrs.DisplayName = LocalizedText("DisabledMonitoredItemCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -22557,36 +22559,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8895") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8895, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=8895") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(8895, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8895") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8895, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2172, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8896") - node.BrowseName = ua.QualifiedName.from_string("MonitoringQueueOverflowCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(8896, 0) + node.BrowseName = QualifiedName('MonitoringQueueOverflowCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2172, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MonitoringQueueOverflowCount") + attrs.DisplayName = LocalizedText("MonitoringQueueOverflowCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -22594,36 +22596,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8896") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8896, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=8896") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(8896, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8896") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8896, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2172, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8897") - node.BrowseName = ua.QualifiedName.from_string("NextSequenceNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(8897, 0) + node.BrowseName = QualifiedName('NextSequenceNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2172, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("NextSequenceNumber") + attrs.DisplayName = LocalizedText("NextSequenceNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -22631,36 +22633,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8897") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8897, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=8897") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(8897, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8897") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8897, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2172, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8902") - node.BrowseName = ua.QualifiedName.from_string("EventQueueOverflowCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2172") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(8902, 0) + node.BrowseName = QualifiedName('EventQueueOverflowCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2172, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EventQueueOverflowCount") + attrs.DisplayName = LocalizedText("EventQueueOverflowCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -22668,404 +22670,404 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8902") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8902, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=8902") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(8902, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8902") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2172") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8902, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2172, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2196") - node.BrowseName = ua.QualifiedName.from_string("SessionDiagnosticsArrayType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=63") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2196, 0) + node.BrowseName = QualifiedName('SessionDiagnosticsArrayType', 0) + node.NodeClass = NodeClass.VariableType + node.ParentNodeId = NumericNodeId(63, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("SessionDiagnosticsArrayType") - attrs.DisplayName = ua.LocalizedText("SessionDiagnosticsArrayType") - attrs.DataType = ua.NodeId.from_string("i=865") + attrs.DisplayName = LocalizedText("SessionDiagnosticsArrayType") + attrs.DisplayName = LocalizedText("SessionDiagnosticsArrayType") + attrs.DataType = NumericNodeId(865, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2196") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2196, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12816, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2196") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2196, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12816") - node.BrowseName = ua.QualifiedName.from_string("SessionDiagnostics") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2196") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2197") + node.RequestedNewNodeId = NumericNodeId(12816, 0) + node.BrowseName = QualifiedName('SessionDiagnostics', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2196, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2197, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SessionDiagnostics") - attrs.DataType = ua.NodeId.from_string("i=865") + attrs.DisplayName = LocalizedText("SessionDiagnostics") + attrs.DataType = NumericNodeId(865, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12817") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12816, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12817, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12818") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12816, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12818, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12819") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12816, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12819, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12820") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12816, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12820, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12821") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12816, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12821, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12822") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12816, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12822, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12823") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12816, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12823, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12824") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12816, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12824, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12825") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12816, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12825, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12826") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12816, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12826, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12827") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12816, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12827, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12828") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12816, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12828, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12829") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12816, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12829, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12830") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12816, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12830, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12831") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12816, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12831, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12832") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12816, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12832, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12833") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12816, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12833, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12834") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12816, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12834, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12835") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12816, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12835, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12836") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12816, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12836, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12837") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12816, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12837, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12838") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12816, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12838, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12839") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12816, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12839, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12840") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12816, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12840, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12841") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12816, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12841, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12842") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12816, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12842, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12843") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12816, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12843, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12844") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12816, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12844, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12845") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12816, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12845, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12846") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12816, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12846, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12847") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12816, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12847, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12848") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12816, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12848, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12849") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12816, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12849, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12850") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12816, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12850, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12851") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12816, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12851, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12852") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12816, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12852, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12853") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12816, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12853, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12854") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12816, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12854, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12855") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12816, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12855, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12856") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12816, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12856, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12857") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12816, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12857, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12858") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12816, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12858, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12859") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12816, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12859, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12816, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2197, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=83") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12816, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(83, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12816") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2196") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12816, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2196, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12817") - node.BrowseName = ua.QualifiedName.from_string("SessionId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12817, 0) + node.BrowseName = QualifiedName('SessionId', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12816, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SessionId") + attrs.DisplayName = LocalizedText("SessionId") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -23073,36 +23075,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12817") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12817, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12817") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12817, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12817") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12817, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12816, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12818") - node.BrowseName = ua.QualifiedName.from_string("SessionName") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12818, 0) + node.BrowseName = QualifiedName('SessionName', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12816, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SessionName") + attrs.DisplayName = LocalizedText("SessionName") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -23110,73 +23112,73 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12818") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12818, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12818") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12818, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12818") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12818, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12816, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12819") - node.BrowseName = ua.QualifiedName.from_string("ClientDescription") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12819, 0) + node.BrowseName = QualifiedName('ClientDescription', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12816, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ClientDescription") - attrs.DataType = ua.NodeId.from_string("i=308") + attrs.DisplayName = LocalizedText("ClientDescription") + attrs.DataType = NumericNodeId(308, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12819") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12819, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12819") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12819, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12819") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12819, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12816, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12820") - node.BrowseName = ua.QualifiedName.from_string("ServerUri") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12820, 0) + node.BrowseName = QualifiedName('ServerUri', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12816, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ServerUri") + attrs.DisplayName = LocalizedText("ServerUri") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -23184,36 +23186,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12820") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12820, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12820") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12820, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12820") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12820, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12816, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12821") - node.BrowseName = ua.QualifiedName.from_string("EndpointUrl") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12821, 0) + node.BrowseName = QualifiedName('EndpointUrl', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12816, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EndpointUrl") + attrs.DisplayName = LocalizedText("EndpointUrl") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -23221,110 +23223,110 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12821") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12821, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12821") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12821, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12821") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12821, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12816, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12822") - node.BrowseName = ua.QualifiedName.from_string("LocaleIds") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12822, 0) + node.BrowseName = QualifiedName('LocaleIds', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12816, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LocaleIds") - attrs.DataType = ua.NodeId.from_string("i=295") + attrs.DisplayName = LocalizedText("LocaleIds") + attrs.DataType = NumericNodeId(295, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12822") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12822, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12822") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12822, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12822") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12822, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12816, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12823") - node.BrowseName = ua.QualifiedName.from_string("ActualSessionTimeout") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12823, 0) + node.BrowseName = QualifiedName('ActualSessionTimeout', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12816, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ActualSessionTimeout") - attrs.DataType = ua.NodeId.from_string("i=290") + attrs.DisplayName = LocalizedText("ActualSessionTimeout") + attrs.DataType = NumericNodeId(290, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12823") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12823, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12823") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12823, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12823") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12823, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12816, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12824") - node.BrowseName = ua.QualifiedName.from_string("MaxResponseMessageSize") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12824, 0) + node.BrowseName = QualifiedName('MaxResponseMessageSize', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12816, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MaxResponseMessageSize") + attrs.DisplayName = LocalizedText("MaxResponseMessageSize") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -23332,110 +23334,110 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12824") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12824, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12824") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12824, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12824") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12824, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12816, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12825") - node.BrowseName = ua.QualifiedName.from_string("ClientConnectionTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12825, 0) + node.BrowseName = QualifiedName('ClientConnectionTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12816, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ClientConnectionTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("ClientConnectionTime") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12825") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12825, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12825") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12825, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12825") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12825, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12816, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12826") - node.BrowseName = ua.QualifiedName.from_string("ClientLastContactTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12826, 0) + node.BrowseName = QualifiedName('ClientLastContactTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12816, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ClientLastContactTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("ClientLastContactTime") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12826") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12826, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12826") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12826, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12826") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12826, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12816, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12827") - node.BrowseName = ua.QualifiedName.from_string("CurrentSubscriptionsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12827, 0) + node.BrowseName = QualifiedName('CurrentSubscriptionsCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12816, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentSubscriptionsCount") + attrs.DisplayName = LocalizedText("CurrentSubscriptionsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -23443,36 +23445,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12827") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12827, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12827") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12827, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12827") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12827, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12816, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12828") - node.BrowseName = ua.QualifiedName.from_string("CurrentMonitoredItemsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12828, 0) + node.BrowseName = QualifiedName('CurrentMonitoredItemsCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12816, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentMonitoredItemsCount") + attrs.DisplayName = LocalizedText("CurrentMonitoredItemsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -23480,36 +23482,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12828") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12828, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12828") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12828, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12828") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12828, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12816, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12829") - node.BrowseName = ua.QualifiedName.from_string("CurrentPublishRequestsInQueue") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12829, 0) + node.BrowseName = QualifiedName('CurrentPublishRequestsInQueue', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12816, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentPublishRequestsInQueue") + attrs.DisplayName = LocalizedText("CurrentPublishRequestsInQueue") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -23517,73 +23519,73 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12829") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12829, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12829") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12829, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12829") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12829, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12816, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12830") - node.BrowseName = ua.QualifiedName.from_string("TotalRequestCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12830, 0) + node.BrowseName = QualifiedName('TotalRequestCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12816, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TotalRequestCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("TotalRequestCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12830") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12830, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12830") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12830, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12830") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12830, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12816, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12831") - node.BrowseName = ua.QualifiedName.from_string("UnauthorizedRequestCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12831, 0) + node.BrowseName = QualifiedName('UnauthorizedRequestCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12816, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("UnauthorizedRequestCount") + attrs.DisplayName = LocalizedText("UnauthorizedRequestCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -23591,1396 +23593,1396 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12831") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12831, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12831") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12831, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12831") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12831, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12816, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12832") - node.BrowseName = ua.QualifiedName.from_string("ReadCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12832, 0) + node.BrowseName = QualifiedName('ReadCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12816, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ReadCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("ReadCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12832") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12832, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12832") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12832, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12832") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12832, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12816, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12833") - node.BrowseName = ua.QualifiedName.from_string("HistoryReadCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12833, 0) + node.BrowseName = QualifiedName('HistoryReadCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12816, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("HistoryReadCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("HistoryReadCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12833") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12833, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12833") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12833, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12833") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12833, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12816, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12834") - node.BrowseName = ua.QualifiedName.from_string("WriteCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12834, 0) + node.BrowseName = QualifiedName('WriteCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12816, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("WriteCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("WriteCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12834") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12834, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12834") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12834, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12834") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12834, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12816, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12835") - node.BrowseName = ua.QualifiedName.from_string("HistoryUpdateCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12835, 0) + node.BrowseName = QualifiedName('HistoryUpdateCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12816, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("HistoryUpdateCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("HistoryUpdateCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12835") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12835, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12835") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12835, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12835") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12835, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12816, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12836") - node.BrowseName = ua.QualifiedName.from_string("CallCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12836, 0) + node.BrowseName = QualifiedName('CallCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12816, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CallCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("CallCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12836") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12836, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12836") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12836, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12836") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12836, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12816, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12837") - node.BrowseName = ua.QualifiedName.from_string("CreateMonitoredItemsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12837, 0) + node.BrowseName = QualifiedName('CreateMonitoredItemsCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12816, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CreateMonitoredItemsCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("CreateMonitoredItemsCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12837") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12837, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12837") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12837, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12837") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12837, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12816, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12838") - node.BrowseName = ua.QualifiedName.from_string("ModifyMonitoredItemsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12838, 0) + node.BrowseName = QualifiedName('ModifyMonitoredItemsCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12816, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ModifyMonitoredItemsCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("ModifyMonitoredItemsCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12838") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12838, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12838") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12838, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12838") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12838, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12816, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12839") - node.BrowseName = ua.QualifiedName.from_string("SetMonitoringModeCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12839, 0) + node.BrowseName = QualifiedName('SetMonitoringModeCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12816, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SetMonitoringModeCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("SetMonitoringModeCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12839") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12839, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12839") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12839, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12839") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12839, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12816, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12840") - node.BrowseName = ua.QualifiedName.from_string("SetTriggeringCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12840, 0) + node.BrowseName = QualifiedName('SetTriggeringCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12816, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SetTriggeringCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("SetTriggeringCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12840") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12840, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12840") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12840, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12840") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12840, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12816, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12841") - node.BrowseName = ua.QualifiedName.from_string("DeleteMonitoredItemsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12841, 0) + node.BrowseName = QualifiedName('DeleteMonitoredItemsCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12816, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DeleteMonitoredItemsCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("DeleteMonitoredItemsCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12841") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12841, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12841") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12841, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12841") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12841, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12816, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12842") - node.BrowseName = ua.QualifiedName.from_string("CreateSubscriptionCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12842, 0) + node.BrowseName = QualifiedName('CreateSubscriptionCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12816, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CreateSubscriptionCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("CreateSubscriptionCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12842") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12842, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12842") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12842, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12842") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12842, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12816, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12843") - node.BrowseName = ua.QualifiedName.from_string("ModifySubscriptionCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12843, 0) + node.BrowseName = QualifiedName('ModifySubscriptionCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12816, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ModifySubscriptionCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("ModifySubscriptionCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12843") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12843, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12843") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12843, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12843") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12843, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12816, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12844") - node.BrowseName = ua.QualifiedName.from_string("SetPublishingModeCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12844, 0) + node.BrowseName = QualifiedName('SetPublishingModeCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12816, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SetPublishingModeCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("SetPublishingModeCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12844") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12844, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12844") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12844, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12844") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12844, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12816, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12845") - node.BrowseName = ua.QualifiedName.from_string("PublishCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12845, 0) + node.BrowseName = QualifiedName('PublishCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12816, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("PublishCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("PublishCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12845") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12845, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12845") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12845, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12845") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12845, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12816, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12846") - node.BrowseName = ua.QualifiedName.from_string("RepublishCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12846, 0) + node.BrowseName = QualifiedName('RepublishCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12816, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RepublishCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("RepublishCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12846") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12846, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12846") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12846, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12846") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12846, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12816, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12847") - node.BrowseName = ua.QualifiedName.from_string("TransferSubscriptionsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12847, 0) + node.BrowseName = QualifiedName('TransferSubscriptionsCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12816, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransferSubscriptionsCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("TransferSubscriptionsCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12847") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12847, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12847") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12847, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12847") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12847, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12816, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12848") - node.BrowseName = ua.QualifiedName.from_string("DeleteSubscriptionsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12848, 0) + node.BrowseName = QualifiedName('DeleteSubscriptionsCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12816, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DeleteSubscriptionsCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("DeleteSubscriptionsCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12848") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12848, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12848") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12848, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12848") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12848, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12816, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12849") - node.BrowseName = ua.QualifiedName.from_string("AddNodesCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12849, 0) + node.BrowseName = QualifiedName('AddNodesCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12816, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AddNodesCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("AddNodesCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12849") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12849, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12849") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12849, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12849") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12849, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12816, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12850") - node.BrowseName = ua.QualifiedName.from_string("AddReferencesCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12850, 0) + node.BrowseName = QualifiedName('AddReferencesCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12816, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AddReferencesCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("AddReferencesCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12850") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12850, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12850") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12850, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12850") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12850, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12816, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12851") - node.BrowseName = ua.QualifiedName.from_string("DeleteNodesCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12851, 0) + node.BrowseName = QualifiedName('DeleteNodesCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12816, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DeleteNodesCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("DeleteNodesCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12851") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12851, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12851") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12851, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12851") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12851, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12816, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12852") - node.BrowseName = ua.QualifiedName.from_string("DeleteReferencesCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12852, 0) + node.BrowseName = QualifiedName('DeleteReferencesCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12816, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DeleteReferencesCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("DeleteReferencesCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12852") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12852, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12852") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12852, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12852") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12852, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12816, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12853") - node.BrowseName = ua.QualifiedName.from_string("BrowseCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12853, 0) + node.BrowseName = QualifiedName('BrowseCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12816, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("BrowseCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("BrowseCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12853") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12853, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12853") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12853, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12853") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12853, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12816, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12854") - node.BrowseName = ua.QualifiedName.from_string("BrowseNextCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12854, 0) + node.BrowseName = QualifiedName('BrowseNextCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12816, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("BrowseNextCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("BrowseNextCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12854") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12854, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12854") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12854, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12854") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12854, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12816, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12855") - node.BrowseName = ua.QualifiedName.from_string("TranslateBrowsePathsToNodeIdsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12855, 0) + node.BrowseName = QualifiedName('TranslateBrowsePathsToNodeIdsCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12816, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TranslateBrowsePathsToNodeIdsCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("TranslateBrowsePathsToNodeIdsCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12855") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12855, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12855") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12855, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12855") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12855, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12816, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12856") - node.BrowseName = ua.QualifiedName.from_string("QueryFirstCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12856, 0) + node.BrowseName = QualifiedName('QueryFirstCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12816, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("QueryFirstCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("QueryFirstCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12856") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12856, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12856") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12856, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12856") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12856, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12816, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12857") - node.BrowseName = ua.QualifiedName.from_string("QueryNextCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12857, 0) + node.BrowseName = QualifiedName('QueryNextCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12816, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("QueryNextCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("QueryNextCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12857") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12857, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12857") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12857, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12857") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12857, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12816, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12858") - node.BrowseName = ua.QualifiedName.from_string("RegisterNodesCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12858, 0) + node.BrowseName = QualifiedName('RegisterNodesCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12816, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RegisterNodesCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("RegisterNodesCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12858") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12858, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12858") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12858, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12858") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12858, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12816, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12859") - node.BrowseName = ua.QualifiedName.from_string("UnregisterNodesCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12816") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12859, 0) + node.BrowseName = QualifiedName('UnregisterNodesCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12816, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("UnregisterNodesCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("UnregisterNodesCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12859") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12859, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12859") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12859, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12859") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12816") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12859, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12816, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2197") - node.BrowseName = ua.QualifiedName.from_string("SessionDiagnosticsVariableType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=63") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2197, 0) + node.BrowseName = QualifiedName('SessionDiagnosticsVariableType', 0) + node.NodeClass = NodeClass.VariableType + node.ParentNodeId = NumericNodeId(63, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("SessionDiagnosticsVariableType") - attrs.DisplayName = ua.LocalizedText("SessionDiagnosticsVariableType") - attrs.DataType = ua.NodeId.from_string("i=865") + attrs.DisplayName = LocalizedText("SessionDiagnosticsVariableType") + attrs.DisplayName = LocalizedText("SessionDiagnosticsVariableType") + attrs.DataType = NumericNodeId(865, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2198") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2198, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2199") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2199, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2200") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2200, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2201") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2201, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2202") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2202, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2203") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2203, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2204") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2204, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3050") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3050, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2205") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2205, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2206") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2206, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2207") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2207, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2208") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2208, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2209") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2209, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8900") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8900, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11892") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11892, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2217") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2217, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2218") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2218, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2219") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2219, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2220") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2220, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2221") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2221, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2222") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2222, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2223") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2223, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2224") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2224, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2225") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2225, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2226") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2226, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2227") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2227, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2228") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2228, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2229") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2229, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2230") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2230, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2231") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2231, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2232") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2232, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2233") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2233, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2234") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2234, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2235") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2235, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2236") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2236, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2237") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2237, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2238") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2238, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2239") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2239, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2240") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2240, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2241") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2241, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2242") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2242, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2730") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2730, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2731") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2731, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2198") - node.BrowseName = ua.QualifiedName.from_string("SessionId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2198, 0) + node.BrowseName = QualifiedName('SessionId', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2197, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SessionId") + attrs.DisplayName = LocalizedText("SessionId") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -24988,36 +24990,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2198") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2198, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2198") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2198, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2198") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2198, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2197, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2199") - node.BrowseName = ua.QualifiedName.from_string("SessionName") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2199, 0) + node.BrowseName = QualifiedName('SessionName', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2197, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SessionName") + attrs.DisplayName = LocalizedText("SessionName") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -25025,73 +25027,73 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2199") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2199, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2199") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2199, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2199") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2199, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2197, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2200") - node.BrowseName = ua.QualifiedName.from_string("ClientDescription") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2200, 0) + node.BrowseName = QualifiedName('ClientDescription', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2197, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ClientDescription") - attrs.DataType = ua.NodeId.from_string("i=308") + attrs.DisplayName = LocalizedText("ClientDescription") + attrs.DataType = NumericNodeId(308, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2200") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2200, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2200") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2200, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2200") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2200, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2197, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2201") - node.BrowseName = ua.QualifiedName.from_string("ServerUri") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2201, 0) + node.BrowseName = QualifiedName('ServerUri', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2197, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ServerUri") + attrs.DisplayName = LocalizedText("ServerUri") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -25099,36 +25101,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2201") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2201, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2201") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2201, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2201") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2201, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2197, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2202") - node.BrowseName = ua.QualifiedName.from_string("EndpointUrl") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2202, 0) + node.BrowseName = QualifiedName('EndpointUrl', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2197, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EndpointUrl") + attrs.DisplayName = LocalizedText("EndpointUrl") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -25136,110 +25138,110 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2202") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2202, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2202") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2202, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2202") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2202, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2197, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2203") - node.BrowseName = ua.QualifiedName.from_string("LocaleIds") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2203, 0) + node.BrowseName = QualifiedName('LocaleIds', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2197, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LocaleIds") - attrs.DataType = ua.NodeId.from_string("i=295") + attrs.DisplayName = LocalizedText("LocaleIds") + attrs.DataType = NumericNodeId(295, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2203") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2203, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2203") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2203, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2203") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2203, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2197, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2204") - node.BrowseName = ua.QualifiedName.from_string("ActualSessionTimeout") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2204, 0) + node.BrowseName = QualifiedName('ActualSessionTimeout', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2197, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ActualSessionTimeout") - attrs.DataType = ua.NodeId.from_string("i=290") + attrs.DisplayName = LocalizedText("ActualSessionTimeout") + attrs.DataType = NumericNodeId(290, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2204") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2204, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2204") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2204, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2204") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2204, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2197, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3050") - node.BrowseName = ua.QualifiedName.from_string("MaxResponseMessageSize") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3050, 0) + node.BrowseName = QualifiedName('MaxResponseMessageSize', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2197, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MaxResponseMessageSize") + attrs.DisplayName = LocalizedText("MaxResponseMessageSize") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -25247,110 +25249,110 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3050") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3050, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3050") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3050, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3050") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3050, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2197, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2205") - node.BrowseName = ua.QualifiedName.from_string("ClientConnectionTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2205, 0) + node.BrowseName = QualifiedName('ClientConnectionTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2197, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ClientConnectionTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("ClientConnectionTime") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2205") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2205, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2205") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2205, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2205") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2205, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2197, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2206") - node.BrowseName = ua.QualifiedName.from_string("ClientLastContactTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2206, 0) + node.BrowseName = QualifiedName('ClientLastContactTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2197, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ClientLastContactTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("ClientLastContactTime") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2206") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2206, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2206") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2206, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2206") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2206, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2197, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2207") - node.BrowseName = ua.QualifiedName.from_string("CurrentSubscriptionsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2207, 0) + node.BrowseName = QualifiedName('CurrentSubscriptionsCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2197, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentSubscriptionsCount") + attrs.DisplayName = LocalizedText("CurrentSubscriptionsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -25358,36 +25360,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2207") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2207, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2207") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2207, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2207") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2207, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2197, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2208") - node.BrowseName = ua.QualifiedName.from_string("CurrentMonitoredItemsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2208, 0) + node.BrowseName = QualifiedName('CurrentMonitoredItemsCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2197, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentMonitoredItemsCount") + attrs.DisplayName = LocalizedText("CurrentMonitoredItemsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -25395,36 +25397,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2208") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2208, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2208") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2208, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2208") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2208, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2197, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2209") - node.BrowseName = ua.QualifiedName.from_string("CurrentPublishRequestsInQueue") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2209, 0) + node.BrowseName = QualifiedName('CurrentPublishRequestsInQueue', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2197, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentPublishRequestsInQueue") + attrs.DisplayName = LocalizedText("CurrentPublishRequestsInQueue") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -25432,73 +25434,73 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2209") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2209, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2209") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2209, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2209") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2209, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2197, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8900") - node.BrowseName = ua.QualifiedName.from_string("TotalRequestCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(8900, 0) + node.BrowseName = QualifiedName('TotalRequestCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2197, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TotalRequestCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("TotalRequestCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8900") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8900, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=8900") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(8900, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8900") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8900, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2197, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11892") - node.BrowseName = ua.QualifiedName.from_string("UnauthorizedRequestCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(11892, 0) + node.BrowseName = QualifiedName('UnauthorizedRequestCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2197, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("UnauthorizedRequestCount") + attrs.DisplayName = LocalizedText("UnauthorizedRequestCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -25506,1202 +25508,1202 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11892") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11892, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11892") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11892, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11892") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11892, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2197, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2217") - node.BrowseName = ua.QualifiedName.from_string("ReadCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2217, 0) + node.BrowseName = QualifiedName('ReadCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2197, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ReadCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("ReadCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2217") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2217, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2217") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2217, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2217") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2217, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2197, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2218") - node.BrowseName = ua.QualifiedName.from_string("HistoryReadCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2218, 0) + node.BrowseName = QualifiedName('HistoryReadCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2197, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("HistoryReadCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("HistoryReadCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2218") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2218, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2218") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2218, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2218") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2218, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2197, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2219") - node.BrowseName = ua.QualifiedName.from_string("WriteCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2219, 0) + node.BrowseName = QualifiedName('WriteCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2197, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("WriteCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("WriteCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2219") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2219, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2219") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2219, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2219") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2219, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2197, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2220") - node.BrowseName = ua.QualifiedName.from_string("HistoryUpdateCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2220, 0) + node.BrowseName = QualifiedName('HistoryUpdateCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2197, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("HistoryUpdateCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("HistoryUpdateCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2220") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2220, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2220") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2220, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2220") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2220, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2197, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2221") - node.BrowseName = ua.QualifiedName.from_string("CallCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2221, 0) + node.BrowseName = QualifiedName('CallCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2197, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CallCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("CallCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2221") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2221, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2221") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2221, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2221") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2221, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2197, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2222") - node.BrowseName = ua.QualifiedName.from_string("CreateMonitoredItemsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2222, 0) + node.BrowseName = QualifiedName('CreateMonitoredItemsCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2197, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CreateMonitoredItemsCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("CreateMonitoredItemsCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2222") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2222, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2222") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2222, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2222") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2222, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2197, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2223") - node.BrowseName = ua.QualifiedName.from_string("ModifyMonitoredItemsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2223, 0) + node.BrowseName = QualifiedName('ModifyMonitoredItemsCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2197, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ModifyMonitoredItemsCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("ModifyMonitoredItemsCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2223") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2223, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2223") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2223, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2223") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2223, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2197, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2224") - node.BrowseName = ua.QualifiedName.from_string("SetMonitoringModeCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2224, 0) + node.BrowseName = QualifiedName('SetMonitoringModeCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2197, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SetMonitoringModeCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("SetMonitoringModeCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2224") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2224, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2224") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2224, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2224") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2224, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2197, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2225") - node.BrowseName = ua.QualifiedName.from_string("SetTriggeringCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2225, 0) + node.BrowseName = QualifiedName('SetTriggeringCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2197, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SetTriggeringCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("SetTriggeringCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2225") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2225, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2225") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2225, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2225") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2225, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2197, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2226") - node.BrowseName = ua.QualifiedName.from_string("DeleteMonitoredItemsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2226, 0) + node.BrowseName = QualifiedName('DeleteMonitoredItemsCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2197, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DeleteMonitoredItemsCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("DeleteMonitoredItemsCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2226") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2226, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2226") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2226, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2226") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2226, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2197, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2227") - node.BrowseName = ua.QualifiedName.from_string("CreateSubscriptionCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2227, 0) + node.BrowseName = QualifiedName('CreateSubscriptionCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2197, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CreateSubscriptionCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("CreateSubscriptionCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2227") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2227, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2227") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2227, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2227") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2227, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2197, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2228") - node.BrowseName = ua.QualifiedName.from_string("ModifySubscriptionCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2228, 0) + node.BrowseName = QualifiedName('ModifySubscriptionCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2197, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ModifySubscriptionCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("ModifySubscriptionCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2228") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2228, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2228") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2228, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2228") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2228, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2197, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2229") - node.BrowseName = ua.QualifiedName.from_string("SetPublishingModeCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2229, 0) + node.BrowseName = QualifiedName('SetPublishingModeCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2197, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SetPublishingModeCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("SetPublishingModeCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2229") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2229, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2229") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2229, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2229") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2229, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2197, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2230") - node.BrowseName = ua.QualifiedName.from_string("PublishCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2230, 0) + node.BrowseName = QualifiedName('PublishCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2197, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("PublishCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("PublishCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2230") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2230, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2230") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2230, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2230") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2230, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2197, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2231") - node.BrowseName = ua.QualifiedName.from_string("RepublishCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2231, 0) + node.BrowseName = QualifiedName('RepublishCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2197, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RepublishCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("RepublishCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2231") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2231, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2231") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2231, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2231") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2231, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2197, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2232") - node.BrowseName = ua.QualifiedName.from_string("TransferSubscriptionsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2232, 0) + node.BrowseName = QualifiedName('TransferSubscriptionsCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2197, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransferSubscriptionsCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("TransferSubscriptionsCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2232") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2232, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2232") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2232, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2232") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2232, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2197, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2233") - node.BrowseName = ua.QualifiedName.from_string("DeleteSubscriptionsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2233, 0) + node.BrowseName = QualifiedName('DeleteSubscriptionsCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2197, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DeleteSubscriptionsCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("DeleteSubscriptionsCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2233") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2233, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2233") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2233, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2233") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2233, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2197, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2234") - node.BrowseName = ua.QualifiedName.from_string("AddNodesCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2234, 0) + node.BrowseName = QualifiedName('AddNodesCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2197, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AddNodesCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("AddNodesCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2234") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2234, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2234") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2234, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2234") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2234, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2197, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2235") - node.BrowseName = ua.QualifiedName.from_string("AddReferencesCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2235, 0) + node.BrowseName = QualifiedName('AddReferencesCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2197, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AddReferencesCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("AddReferencesCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2235") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2235, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2235") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2235, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2235") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2235, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2197, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2236") - node.BrowseName = ua.QualifiedName.from_string("DeleteNodesCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2236, 0) + node.BrowseName = QualifiedName('DeleteNodesCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2197, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DeleteNodesCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("DeleteNodesCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2236") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2236, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2236") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2236, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2236") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2236, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2197, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2237") - node.BrowseName = ua.QualifiedName.from_string("DeleteReferencesCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2237, 0) + node.BrowseName = QualifiedName('DeleteReferencesCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2197, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DeleteReferencesCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("DeleteReferencesCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2237") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2237, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2237") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2237, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2237") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2237, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2197, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2238") - node.BrowseName = ua.QualifiedName.from_string("BrowseCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2238, 0) + node.BrowseName = QualifiedName('BrowseCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2197, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("BrowseCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("BrowseCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2238") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2238, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2238") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2238, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2238") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2238, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2197, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2239") - node.BrowseName = ua.QualifiedName.from_string("BrowseNextCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2239, 0) + node.BrowseName = QualifiedName('BrowseNextCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2197, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("BrowseNextCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("BrowseNextCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2239") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2239, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2239") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2239, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2239") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2239, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2197, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2240") - node.BrowseName = ua.QualifiedName.from_string("TranslateBrowsePathsToNodeIdsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2240, 0) + node.BrowseName = QualifiedName('TranslateBrowsePathsToNodeIdsCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2197, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TranslateBrowsePathsToNodeIdsCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("TranslateBrowsePathsToNodeIdsCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2240") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2240, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2240") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2240, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2240") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2240, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2197, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2241") - node.BrowseName = ua.QualifiedName.from_string("QueryFirstCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2241, 0) + node.BrowseName = QualifiedName('QueryFirstCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2197, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("QueryFirstCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("QueryFirstCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2241") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2241, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2241") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2241, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2241") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2241, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2197, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2242") - node.BrowseName = ua.QualifiedName.from_string("QueryNextCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2242, 0) + node.BrowseName = QualifiedName('QueryNextCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2197, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("QueryNextCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("QueryNextCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2242") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2242, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2242") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2242, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2242") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2242, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2197, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2730") - node.BrowseName = ua.QualifiedName.from_string("RegisterNodesCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2730, 0) + node.BrowseName = QualifiedName('RegisterNodesCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2197, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RegisterNodesCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("RegisterNodesCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2730") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2730, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2730") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2730, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2730") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2730, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2197, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2731") - node.BrowseName = ua.QualifiedName.from_string("UnregisterNodesCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2197") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2731, 0) + node.BrowseName = QualifiedName('UnregisterNodesCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2197, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("UnregisterNodesCount") - attrs.DataType = ua.NodeId.from_string("i=871") + attrs.DisplayName = LocalizedText("UnregisterNodesCount") + attrs.DataType = NumericNodeId(871, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2731") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2731, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2731") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2731, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2731") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2197") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2731, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2197, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2243") - node.BrowseName = ua.QualifiedName.from_string("SessionSecurityDiagnosticsArrayType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=63") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2243, 0) + node.BrowseName = QualifiedName('SessionSecurityDiagnosticsArrayType', 0) + node.NodeClass = NodeClass.VariableType + node.ParentNodeId = NumericNodeId(63, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("SessionSecurityDiagnosticsArrayType") - attrs.DisplayName = ua.LocalizedText("SessionSecurityDiagnosticsArrayType") - attrs.DataType = ua.NodeId.from_string("i=868") + attrs.DisplayName = LocalizedText("SessionSecurityDiagnosticsArrayType") + attrs.DisplayName = LocalizedText("SessionSecurityDiagnosticsArrayType") + attrs.DataType = NumericNodeId(868, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2243") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12860") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2243, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12860, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2243") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2243, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12860") - node.BrowseName = ua.QualifiedName.from_string("SessionSecurityDiagnostics") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2243") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2244") + node.RequestedNewNodeId = NumericNodeId(12860, 0) + node.BrowseName = QualifiedName('SessionSecurityDiagnostics', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2243, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2244, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SessionSecurityDiagnostics") - attrs.DataType = ua.NodeId.from_string("i=868") + attrs.DisplayName = LocalizedText("SessionSecurityDiagnostics") + attrs.DataType = NumericNodeId(868, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12860") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12861") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12860, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12861, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12860") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12862") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12860, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12862, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12860") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12863") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12860, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12863, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12860") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12864") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12860, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12864, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12860") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12865") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12860, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12865, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12860") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12866") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12860, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12866, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12860") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12867") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12860, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12867, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12860") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12868") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12860, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12868, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12860") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12869") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12860, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12869, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12860") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2244") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12860, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2244, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12860") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=83") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12860, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(83, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12860") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2243") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12860, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2243, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12861") - node.BrowseName = ua.QualifiedName.from_string("SessionId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12860") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12861, 0) + node.BrowseName = QualifiedName('SessionId', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12860, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SessionId") + attrs.DisplayName = LocalizedText("SessionId") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -26709,36 +26711,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12861") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12861, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12861") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12861, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12861") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12860") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12861, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12860, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12862") - node.BrowseName = ua.QualifiedName.from_string("ClientUserIdOfSession") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12860") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12862, 0) + node.BrowseName = QualifiedName('ClientUserIdOfSession', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12860, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ClientUserIdOfSession") + attrs.DisplayName = LocalizedText("ClientUserIdOfSession") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -26746,36 +26748,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12862") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12862, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12862") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12862, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12862") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12860") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12862, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12860, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12863") - node.BrowseName = ua.QualifiedName.from_string("ClientUserIdHistory") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12860") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12863, 0) + node.BrowseName = QualifiedName('ClientUserIdHistory', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12860, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ClientUserIdHistory") + attrs.DisplayName = LocalizedText("ClientUserIdHistory") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 node.NodeAttributes = attrs @@ -26783,36 +26785,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12863") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12863, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12863") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12863, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12863") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12860") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12863, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12860, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12864") - node.BrowseName = ua.QualifiedName.from_string("AuthenticationMechanism") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12860") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12864, 0) + node.BrowseName = QualifiedName('AuthenticationMechanism', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12860, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AuthenticationMechanism") + attrs.DisplayName = LocalizedText("AuthenticationMechanism") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -26820,36 +26822,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12864") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12864, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12864") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12864, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12864") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12860") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12864, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12860, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12865") - node.BrowseName = ua.QualifiedName.from_string("Encoding") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12860") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12865, 0) + node.BrowseName = QualifiedName('Encoding', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12860, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Encoding") + attrs.DisplayName = LocalizedText("Encoding") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -26857,36 +26859,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12865") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12865, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12865") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12865, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12865") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12860") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12865, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12860, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12866") - node.BrowseName = ua.QualifiedName.from_string("TransportProtocol") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12860") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12866, 0) + node.BrowseName = QualifiedName('TransportProtocol', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12860, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransportProtocol") + attrs.DisplayName = LocalizedText("TransportProtocol") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -26894,73 +26896,73 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12866") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12866, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12866") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12866, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12866") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12860") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12866, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12860, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12867") - node.BrowseName = ua.QualifiedName.from_string("SecurityMode") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12860") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12867, 0) + node.BrowseName = QualifiedName('SecurityMode', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12860, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SecurityMode") - attrs.DataType = ua.NodeId.from_string("i=302") + attrs.DisplayName = LocalizedText("SecurityMode") + attrs.DataType = NumericNodeId(302, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12867") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12867, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12867") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12867, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12867") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12860") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12867, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12860, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12868") - node.BrowseName = ua.QualifiedName.from_string("SecurityPolicyUri") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12860") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12868, 0) + node.BrowseName = QualifiedName('SecurityPolicyUri', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12860, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SecurityPolicyUri") + attrs.DisplayName = LocalizedText("SecurityPolicyUri") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -26968,36 +26970,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12868") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12868, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12868") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12868, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12868") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12860") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12868, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12860, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12869") - node.BrowseName = ua.QualifiedName.from_string("ClientCertificate") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12860") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(12869, 0) + node.BrowseName = QualifiedName('ClientCertificate', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12860, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ClientCertificate") + attrs.DisplayName = LocalizedText("ClientCertificate") attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -27005,122 +27007,122 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12869") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12869, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12869") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12869, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12869") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12860") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12869, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12860, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2244") - node.BrowseName = ua.QualifiedName.from_string("SessionSecurityDiagnosticsType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=63") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2244, 0) + node.BrowseName = QualifiedName('SessionSecurityDiagnosticsType', 0) + node.NodeClass = NodeClass.VariableType + node.ParentNodeId = NumericNodeId(63, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("SessionSecurityDiagnosticsType") - attrs.DisplayName = ua.LocalizedText("SessionSecurityDiagnosticsType") - attrs.DataType = ua.NodeId.from_string("i=868") + attrs.DisplayName = LocalizedText("SessionSecurityDiagnosticsType") + attrs.DisplayName = LocalizedText("SessionSecurityDiagnosticsType") + attrs.DataType = NumericNodeId(868, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2244") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2245") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2244, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2245, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2244") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2246") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2244, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2246, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2244") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2247") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2244, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2247, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2244") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2248") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2244, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2248, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2244") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2249") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2244, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2249, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2244") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2250") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2244, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2250, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2244") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2251") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2244, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2251, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2244") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2244, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2252, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2244") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3058") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2244, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3058, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2244") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2244, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2245") - node.BrowseName = ua.QualifiedName.from_string("SessionId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2244") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2245, 0) + node.BrowseName = QualifiedName('SessionId', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2244, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SessionId") + attrs.DisplayName = LocalizedText("SessionId") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -27128,36 +27130,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2245") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2245, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2245") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2245, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2245") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2244") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2245, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2244, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2246") - node.BrowseName = ua.QualifiedName.from_string("ClientUserIdOfSession") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2244") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2246, 0) + node.BrowseName = QualifiedName('ClientUserIdOfSession', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2244, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ClientUserIdOfSession") + attrs.DisplayName = LocalizedText("ClientUserIdOfSession") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -27165,36 +27167,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2246") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2246, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2246") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2246, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2246") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2244") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2246, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2244, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2247") - node.BrowseName = ua.QualifiedName.from_string("ClientUserIdHistory") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2244") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2247, 0) + node.BrowseName = QualifiedName('ClientUserIdHistory', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2244, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ClientUserIdHistory") + attrs.DisplayName = LocalizedText("ClientUserIdHistory") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 node.NodeAttributes = attrs @@ -27202,36 +27204,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2247") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2247, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2247") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2247, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2247") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2244") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2247, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2244, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2248") - node.BrowseName = ua.QualifiedName.from_string("AuthenticationMechanism") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2244") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2248, 0) + node.BrowseName = QualifiedName('AuthenticationMechanism', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2244, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AuthenticationMechanism") + attrs.DisplayName = LocalizedText("AuthenticationMechanism") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -27239,36 +27241,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2248") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2248, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2248") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2248, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2248") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2244") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2248, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2244, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2249") - node.BrowseName = ua.QualifiedName.from_string("Encoding") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2244") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2249, 0) + node.BrowseName = QualifiedName('Encoding', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2244, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Encoding") + attrs.DisplayName = LocalizedText("Encoding") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -27276,36 +27278,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2249") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2249, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2249") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2249, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2249") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2244") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2249, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2244, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2250") - node.BrowseName = ua.QualifiedName.from_string("TransportProtocol") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2244") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2250, 0) + node.BrowseName = QualifiedName('TransportProtocol', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2244, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransportProtocol") + attrs.DisplayName = LocalizedText("TransportProtocol") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -27313,73 +27315,73 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2250") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2250, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2250") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2250, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2250") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2244") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2250, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2244, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2251") - node.BrowseName = ua.QualifiedName.from_string("SecurityMode") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2244") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2251, 0) + node.BrowseName = QualifiedName('SecurityMode', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2244, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SecurityMode") - attrs.DataType = ua.NodeId.from_string("i=302") + attrs.DisplayName = LocalizedText("SecurityMode") + attrs.DataType = NumericNodeId(302, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2251") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2251, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2251") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2251, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2251") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2244") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2251, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2244, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2252") - node.BrowseName = ua.QualifiedName.from_string("SecurityPolicyUri") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2244") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2252, 0) + node.BrowseName = QualifiedName('SecurityPolicyUri', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2244, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SecurityPolicyUri") + attrs.DisplayName = LocalizedText("SecurityPolicyUri") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -27387,36 +27389,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2244") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2244, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3058") - node.BrowseName = ua.QualifiedName.from_string("ClientCertificate") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2244") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3058, 0) + node.BrowseName = QualifiedName('ClientCertificate', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2244, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ClientCertificate") + attrs.DisplayName = LocalizedText("ClientCertificate") attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -27424,36 +27426,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3058") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3058, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3058") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3058, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3058") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2244") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3058, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2244, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11487") - node.BrowseName = ua.QualifiedName.from_string("OptionSetType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=63") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(11487, 0) + node.BrowseName = QualifiedName('OptionSetType', 0) + node.NodeClass = NodeClass.VariableType + node.ParentNodeId = NumericNodeId(63, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("OptionSetType") - attrs.DisplayName = ua.LocalizedText("OptionSetType") + attrs.DisplayName = LocalizedText("OptionSetType") + attrs.DisplayName = LocalizedText("OptionSetType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -27461,36 +27463,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11487") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11488") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11487, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11488, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11487") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11701") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11487, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11701, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=11487") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(11487, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11488") - node.BrowseName = ua.QualifiedName.from_string("OptionSetValues") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11487") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11488, 0) + node.BrowseName = QualifiedName('OptionSetValues', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11487, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OptionSetValues") + attrs.DisplayName = LocalizedText("OptionSetValues") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = 1 node.NodeAttributes = attrs @@ -27498,36 +27500,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11488") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11488, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11488") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11488, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11488") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11487") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11488, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11487, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11701") - node.BrowseName = ua.QualifiedName.from_string("BitMask") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11487") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11701, 0) + node.BrowseName = QualifiedName('BitMask', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11487, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("BitMask") + attrs.DisplayName = LocalizedText("BitMask") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = 1 node.NodeAttributes = attrs @@ -27535,80 +27537,80 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11701") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11701, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11701") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11701, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11701") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11487") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11701, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11487, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16309") - node.BrowseName = ua.QualifiedName.from_string("SelectionListType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=63") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(16309, 0) + node.BrowseName = QualifiedName('SelectionListType', 0) + node.NodeClass = NodeClass.VariableType + node.ParentNodeId = NumericNodeId(63, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("SelectionListType") - attrs.DisplayName = ua.LocalizedText("SelectionListType") - attrs.DataType = ua.NodeId.from_string("i=862") + attrs.DisplayName = LocalizedText("SelectionListType") + attrs.DisplayName = LocalizedText("SelectionListType") + attrs.DataType = NumericNodeId(862, 0) attrs.ValueRank = -2 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16309") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17632") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16309, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17632, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16309") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17633") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16309, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17633, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16309") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16312") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16309, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16312, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=16309") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(16309, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17632") - node.BrowseName = ua.QualifiedName.from_string("Selections") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16309") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(17632, 0) + node.BrowseName = QualifiedName('Selections', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16309, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Selections") + attrs.DisplayName = LocalizedText("Selections") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 node.NodeAttributes = attrs @@ -27616,36 +27618,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=17632") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(17632, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=17632") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(17632, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=17632") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16309") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17632, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16309, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17633") - node.BrowseName = ua.QualifiedName.from_string("SelectionDescriptions") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16309") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(17633, 0) + node.BrowseName = QualifiedName('SelectionDescriptions', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16309, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SelectionDescriptions") + attrs.DisplayName = LocalizedText("SelectionDescriptions") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = 1 node.NodeAttributes = attrs @@ -27653,36 +27655,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=17633") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(17633, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=17633") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(17633, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=17633") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16309") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17633, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16309, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16312") - node.BrowseName = ua.QualifiedName.from_string("RestrictToList") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16309") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16312, 0) + node.BrowseName = QualifiedName('RestrictToList', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16309, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RestrictToList") + attrs.DisplayName = LocalizedText("RestrictToList") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -27690,80 +27692,80 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16312") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16312, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16312") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16312, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16312") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16309") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16312, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16309, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17986") - node.BrowseName = ua.QualifiedName.from_string("AudioVariableType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=63") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(17986, 0) + node.BrowseName = QualifiedName('AudioVariableType', 0) + node.NodeClass = NodeClass.VariableType + node.ParentNodeId = NumericNodeId(63, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AudioVariableType") - attrs.DisplayName = ua.LocalizedText("AudioVariableType") - attrs.DataType = ua.NodeId.from_string("i=16307") + attrs.DisplayName = LocalizedText("AudioVariableType") + attrs.DisplayName = LocalizedText("AudioVariableType") + attrs.DataType = NumericNodeId(16307, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=17986") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17988") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17986, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17988, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=17986") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17989") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17986, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17989, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=17986") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17990") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17986, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17990, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=17986") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(17986, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17988") - node.BrowseName = ua.QualifiedName.from_string("ListId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=17986") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(17988, 0) + node.BrowseName = QualifiedName('ListId', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(17986, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ListId") + attrs.DisplayName = LocalizedText("ListId") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -27771,36 +27773,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=17988") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(17988, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=17988") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(17988, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=17988") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17986") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17988, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17986, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17989") - node.BrowseName = ua.QualifiedName.from_string("AgencyId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=17986") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(17989, 0) + node.BrowseName = QualifiedName('AgencyId', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(17986, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AgencyId") + attrs.DisplayName = LocalizedText("AgencyId") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -27808,36 +27810,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=17989") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(17989, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=17989") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(17989, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=17989") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17986") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17989, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17986, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17990") - node.BrowseName = ua.QualifiedName.from_string("VersionId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=17986") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(17990, 0) + node.BrowseName = QualifiedName('VersionId', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(17986, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("VersionId") + attrs.DisplayName = LocalizedText("VersionId") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -27845,215 +27847,215 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=17990") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(17990, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=17990") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(17990, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=17990") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17986") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17990, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17986, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3048") - node.BrowseName = ua.QualifiedName.from_string("EventTypes") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=86") - node.ReferenceTypeId = ua.NodeId.from_string("i=35") - node.TypeDefinition = ua.NodeId.from_string("i=61") + node.RequestedNewNodeId = NumericNodeId(3048, 0) + node.BrowseName = QualifiedName('EventTypes', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(86, 0) + node.ReferenceTypeId = NumericNodeId(35, 0) + node.TypeDefinition = NumericNodeId(61, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("EventTypes") + attrs.DisplayName = LocalizedText("EventTypes") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=35") - ref.SourceNodeId = ua.NodeId.from_string("i=3048") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=86") + ref.ReferenceTypeId = NumericNodeId(35, 0) + ref.SourceNodeId = NumericNodeId(3048, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(86, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=35") - ref.SourceNodeId = ua.NodeId.from_string("i=3048") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2041") + ref.ReferenceTypeId = NumericNodeId(35, 0) + ref.SourceNodeId = NumericNodeId(3048, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2041, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3048") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=61") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3048, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(61, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2253") - node.BrowseName = ua.QualifiedName.from_string("Server") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=85") - node.ReferenceTypeId = ua.NodeId.from_string("i=35") - node.TypeDefinition = ua.NodeId.from_string("i=2004") + node.RequestedNewNodeId = NumericNodeId(2253, 0) + node.BrowseName = QualifiedName('Server', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(85, 0) + node.ReferenceTypeId = NumericNodeId(35, 0) + node.TypeDefinition = NumericNodeId(2004, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Server") + attrs.DisplayName = LocalizedText("Server") attrs.EventNotifier = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2253") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2254") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2253, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2254, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2253") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2255") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2253, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2255, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2253") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2256") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2253, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2256, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2253") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2267") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2253, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2267, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2253") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2994") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2253, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2994, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2253") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12885") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2253, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12885, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2253") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2268") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2253, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2268, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2253") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2274") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2253, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2274, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2253") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2295") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2253, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2295, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2253") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2296") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2253, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2296, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2253") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11715") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2253, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11715, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2253") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11492") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2253, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11492, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2253") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12873") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2253, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12873, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2253") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12749") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2253, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12749, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2253") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12886") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2253, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12886, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2253") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16313") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2253, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16313, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=35") - ref.SourceNodeId = ua.NodeId.from_string("i=2253") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=85") + ref.ReferenceTypeId = NumericNodeId(35, 0) + ref.SourceNodeId = NumericNodeId(2253, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(85, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2253") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2004") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2253, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2004, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2254") - node.BrowseName = ua.QualifiedName.from_string("ServerArray") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2253") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2254, 0) + node.BrowseName = QualifiedName('ServerArray', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2253, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 - attrs.Description = ua.LocalizedText("The list of server URIs used by the server.") - attrs.DisplayName = ua.LocalizedText("ServerArray") + attrs.Description = LocalizedText("The list of server URIs used by the server.") + attrs.DisplayName = LocalizedText("ServerArray") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 node.NodeAttributes = attrs @@ -28061,31 +28063,31 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2254") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2254, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2254") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2253") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2254, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2253, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2255") - node.BrowseName = ua.QualifiedName.from_string("NamespaceArray") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2253") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2255, 0) + node.BrowseName = QualifiedName('NamespaceArray', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2253, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 - attrs.Description = ua.LocalizedText("The list of namespace URIs used by the server.") - attrs.DisplayName = ua.LocalizedText("NamespaceArray") + attrs.Description = LocalizedText("The list of namespace URIs used by the server.") + attrs.DisplayName = LocalizedText("NamespaceArray") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 node.NodeAttributes = attrs @@ -28093,266 +28095,266 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2255") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2255, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2255") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2253") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2255, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2253, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2256") - node.BrowseName = ua.QualifiedName.from_string("ServerStatus") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2253") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2138") + node.RequestedNewNodeId = NumericNodeId(2256, 0) + node.BrowseName = QualifiedName('ServerStatus', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2253, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2138, 0) attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 - attrs.Description = ua.LocalizedText("The current status of the server.") - attrs.DisplayName = ua.LocalizedText("ServerStatus") - attrs.DataType = ua.NodeId.from_string("i=862") + attrs.Description = LocalizedText("The current status of the server.") + attrs.DisplayName = LocalizedText("ServerStatus") + attrs.DataType = NumericNodeId(862, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2256") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2257") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2256, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2257, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2256") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2258") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2256, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2258, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2256") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2259") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2256, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2259, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2256") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2260") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2256, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2260, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2256") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2992") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2256, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2992, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2256") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2993") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2256, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2993, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2256") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2138") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2256, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2138, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2256") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2253") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2256, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2253, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2257") - node.BrowseName = ua.QualifiedName.from_string("StartTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2256") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2257, 0) + node.BrowseName = QualifiedName('StartTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2256, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("StartTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("StartTime") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2257") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2257, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2257") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2256") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2257, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2256, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2258") - node.BrowseName = ua.QualifiedName.from_string("CurrentTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2256") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2258, 0) + node.BrowseName = QualifiedName('CurrentTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2256, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("CurrentTime") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2258") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2258, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2258") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2256") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2258, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2256, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2259") - node.BrowseName = ua.QualifiedName.from_string("State") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2256") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2259, 0) + node.BrowseName = QualifiedName('State', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2256, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("State") - attrs.DataType = ua.NodeId.from_string("i=852") + attrs.DisplayName = LocalizedText("State") + attrs.DataType = NumericNodeId(852, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2259") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2259, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2259") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2256") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2259, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2256, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2260") - node.BrowseName = ua.QualifiedName.from_string("BuildInfo") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2256") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=3051") + node.RequestedNewNodeId = NumericNodeId(2260, 0) + node.BrowseName = QualifiedName('BuildInfo', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2256, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(3051, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("BuildInfo") - attrs.DataType = ua.NodeId.from_string("i=338") + attrs.DisplayName = LocalizedText("BuildInfo") + attrs.DataType = NumericNodeId(338, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2260") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2262") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2260, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2262, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2260") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2263") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2260, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2263, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2260") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2261") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2260, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2261, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2260") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2264") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2260, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2264, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2260") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2265") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2260, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2265, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2260") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2266") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2260, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2266, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2260") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3051") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2260, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3051, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2260") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2256") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2260, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2256, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2262") - node.BrowseName = ua.QualifiedName.from_string("ProductUri") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2260") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2262, 0) + node.BrowseName = QualifiedName('ProductUri', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2260, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 - attrs.DisplayName = ua.LocalizedText("ProductUri") + attrs.DisplayName = LocalizedText("ProductUri") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -28360,30 +28362,30 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2262") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2262, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2262") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2260") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2262, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2260, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2263") - node.BrowseName = ua.QualifiedName.from_string("ManufacturerName") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2260") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2263, 0) + node.BrowseName = QualifiedName('ManufacturerName', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2260, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 - attrs.DisplayName = ua.LocalizedText("ManufacturerName") + attrs.DisplayName = LocalizedText("ManufacturerName") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -28391,30 +28393,30 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2263") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2263, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2263") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2260") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2263, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2260, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2261") - node.BrowseName = ua.QualifiedName.from_string("ProductName") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2260") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2261, 0) + node.BrowseName = QualifiedName('ProductName', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2260, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 - attrs.DisplayName = ua.LocalizedText("ProductName") + attrs.DisplayName = LocalizedText("ProductName") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -28422,30 +28424,30 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2261") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2261, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2261") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2260") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2261, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2260, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2264") - node.BrowseName = ua.QualifiedName.from_string("SoftwareVersion") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2260") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2264, 0) + node.BrowseName = QualifiedName('SoftwareVersion', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2260, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 - attrs.DisplayName = ua.LocalizedText("SoftwareVersion") + attrs.DisplayName = LocalizedText("SoftwareVersion") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -28453,30 +28455,30 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2264") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2264, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2264") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2260") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2264, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2260, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2265") - node.BrowseName = ua.QualifiedName.from_string("BuildNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2260") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2265, 0) + node.BrowseName = QualifiedName('BuildNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2260, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 - attrs.DisplayName = ua.LocalizedText("BuildNumber") + attrs.DisplayName = LocalizedText("BuildNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -28484,60 +28486,60 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2265") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2265, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2265") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2260") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2265, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2260, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2266") - node.BrowseName = ua.QualifiedName.from_string("BuildDate") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2260") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2266, 0) + node.BrowseName = QualifiedName('BuildDate', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2260, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 - attrs.DisplayName = ua.LocalizedText("BuildDate") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("BuildDate") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2266") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2266, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2266") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2260") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2266, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2260, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2992") - node.BrowseName = ua.QualifiedName.from_string("SecondsTillShutdown") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2256") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2992, 0) + node.BrowseName = QualifiedName('SecondsTillShutdown', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2256, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SecondsTillShutdown") + attrs.DisplayName = LocalizedText("SecondsTillShutdown") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -28545,29 +28547,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2992") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2992, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2992") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2256") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2992, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2256, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2993") - node.BrowseName = ua.QualifiedName.from_string("ShutdownReason") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2256") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2993, 0) + node.BrowseName = QualifiedName('ShutdownReason', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2256, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ShutdownReason") + attrs.DisplayName = LocalizedText("ShutdownReason") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -28575,31 +28577,31 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2993") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2993, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2993") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2256") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2993, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2256, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2267") - node.BrowseName = ua.QualifiedName.from_string("ServiceLevel") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2253") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2267, 0) + node.BrowseName = QualifiedName('ServiceLevel', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2253, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 - attrs.Description = ua.LocalizedText("A value indicating the level of service the server can provide. 255 indicates the best.") - attrs.DisplayName = ua.LocalizedText("ServiceLevel") + attrs.Description = LocalizedText("A value indicating the level of service the server can provide. 255 indicates the best.") + attrs.DisplayName = LocalizedText("ServiceLevel") attrs.DataType = ua.NodeId(ua.ObjectIds.Byte) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -28607,31 +28609,31 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2267") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2267, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2267") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2253") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2267, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2253, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2994") - node.BrowseName = ua.QualifiedName.from_string("Auditing") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2253") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2994, 0) + node.BrowseName = QualifiedName('Auditing', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2253, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 - attrs.Description = ua.LocalizedText("A flag indicating whether the server is currently generating audit events.") - attrs.DisplayName = ua.LocalizedText("Auditing") + attrs.Description = LocalizedText("A flag indicating whether the server is currently generating audit events.") + attrs.DisplayName = LocalizedText("Auditing") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -28639,31 +28641,31 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2994") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2994, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2994") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2253") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2994, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2253, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12885") - node.BrowseName = ua.QualifiedName.from_string("EstimatedReturnTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2253") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(12885, 0) + node.BrowseName = QualifiedName('EstimatedReturnTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2253, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() attrs.MinimumSamplingInterval = 1000 - attrs.Description = ua.LocalizedText("Indicates the time at which the Server is expected to be available in the state RUNNING.") - attrs.DisplayName = ua.LocalizedText("EstimatedReturnTime") + attrs.Description = LocalizedText("Indicates the time at which the Server is expected to be available in the state RUNNING.") + attrs.DisplayName = LocalizedText("EstimatedReturnTime") attrs.DataType = ua.NodeId(ua.ObjectIds.DateTime) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -28671,158 +28673,158 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12885") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12885, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12885") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2253") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12885, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2253, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2268") - node.BrowseName = ua.QualifiedName.from_string("ServerCapabilities") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2253") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2013") + node.RequestedNewNodeId = NumericNodeId(2268, 0) + node.BrowseName = QualifiedName('ServerCapabilities', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2253, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2013, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Describes capabilities supported by the server.") - attrs.DisplayName = ua.LocalizedText("ServerCapabilities") + attrs.Description = LocalizedText("Describes capabilities supported by the server.") + attrs.DisplayName = LocalizedText("ServerCapabilities") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2268") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2269") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2268, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2269, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2268") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2271") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2268, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2271, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2268") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2272") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2268, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2272, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2268") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2735") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2268, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2735, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2268") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2736") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2268, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2736, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2268") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2737") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2268, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2737, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2268") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3704") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2268, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3704, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2268") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11702") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2268, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11702, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2268") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11703") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2268, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11703, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2268") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12911") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2268, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12911, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2268") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11704") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2268, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11704, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2268") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2996") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2268, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2996, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2268") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2997") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2268, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2997, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2268") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15606") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2268, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15606, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2268") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2013") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2268, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2013, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2268") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2253") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2268, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2253, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2269") - node.BrowseName = ua.QualifiedName.from_string("ServerProfileArray") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2268") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2269, 0) + node.BrowseName = QualifiedName('ServerProfileArray', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2268, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A list of profiles supported by the server.") - attrs.DisplayName = ua.LocalizedText("ServerProfileArray") + attrs.Description = LocalizedText("A list of profiles supported by the server.") + attrs.DisplayName = LocalizedText("ServerProfileArray") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 node.NodeAttributes = attrs @@ -28830,92 +28832,92 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2269") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2269, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2269") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2268") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2269, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2268, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2271") - node.BrowseName = ua.QualifiedName.from_string("LocaleIdArray") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2268") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2271, 0) + node.BrowseName = QualifiedName('LocaleIdArray', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2268, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A list of locales supported by the server.") - attrs.DisplayName = ua.LocalizedText("LocaleIdArray") - attrs.DataType = ua.NodeId.from_string("i=295") + attrs.Description = LocalizedText("A list of locales supported by the server.") + attrs.DisplayName = LocalizedText("LocaleIdArray") + attrs.DataType = NumericNodeId(295, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2271") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2271, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2271") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2268") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2271, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2268, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2272") - node.BrowseName = ua.QualifiedName.from_string("MinSupportedSampleRate") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2268") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2272, 0) + node.BrowseName = QualifiedName('MinSupportedSampleRate', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2268, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The minimum sampling interval supported by the server.") - attrs.DisplayName = ua.LocalizedText("MinSupportedSampleRate") - attrs.DataType = ua.NodeId.from_string("i=290") + attrs.Description = LocalizedText("The minimum sampling interval supported by the server.") + attrs.DisplayName = LocalizedText("MinSupportedSampleRate") + attrs.DataType = NumericNodeId(290, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2272") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2272, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2272") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2268") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2272, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2268, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2735") - node.BrowseName = ua.QualifiedName.from_string("MaxBrowseContinuationPoints") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2268") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2735, 0) + node.BrowseName = QualifiedName('MaxBrowseContinuationPoints', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2268, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum number of continuation points for Browse operations per session.") - attrs.DisplayName = ua.LocalizedText("MaxBrowseContinuationPoints") + attrs.Description = LocalizedText("The maximum number of continuation points for Browse operations per session.") + attrs.DisplayName = LocalizedText("MaxBrowseContinuationPoints") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -28923,30 +28925,30 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2735") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2735, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2735") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2268") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2735, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2268, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2736") - node.BrowseName = ua.QualifiedName.from_string("MaxQueryContinuationPoints") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2268") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2736, 0) + node.BrowseName = QualifiedName('MaxQueryContinuationPoints', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2268, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum number of continuation points for Query operations per session.") - attrs.DisplayName = ua.LocalizedText("MaxQueryContinuationPoints") + attrs.Description = LocalizedText("The maximum number of continuation points for Query operations per session.") + attrs.DisplayName = LocalizedText("MaxQueryContinuationPoints") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -28954,30 +28956,30 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2736") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2736, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2736") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2268") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2736, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2268, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2737") - node.BrowseName = ua.QualifiedName.from_string("MaxHistoryContinuationPoints") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2268") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2737, 0) + node.BrowseName = QualifiedName('MaxHistoryContinuationPoints', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2268, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum number of continuation points for ReadHistory operations per session.") - attrs.DisplayName = ua.LocalizedText("MaxHistoryContinuationPoints") + attrs.Description = LocalizedText("The maximum number of continuation points for ReadHistory operations per session.") + attrs.DisplayName = LocalizedText("MaxHistoryContinuationPoints") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -28985,61 +28987,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2737") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2737, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2737") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2268") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2737, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2268, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3704") - node.BrowseName = ua.QualifiedName.from_string("SoftwareCertificates") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2268") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3704, 0) + node.BrowseName = QualifiedName('SoftwareCertificates', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2268, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The software certificates owned by the server.") - attrs.DisplayName = ua.LocalizedText("SoftwareCertificates") - attrs.DataType = ua.NodeId.from_string("i=344") + attrs.Description = LocalizedText("The software certificates owned by the server.") + attrs.DisplayName = LocalizedText("SoftwareCertificates") + attrs.DataType = NumericNodeId(344, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3704") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3704, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3704") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2268") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3704, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2268, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11702") - node.BrowseName = ua.QualifiedName.from_string("MaxArrayLength") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2268") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11702, 0) + node.BrowseName = QualifiedName('MaxArrayLength', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2268, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum length for an array value supported by the server.") - attrs.DisplayName = ua.LocalizedText("MaxArrayLength") + attrs.Description = LocalizedText("The maximum length for an array value supported by the server.") + attrs.DisplayName = LocalizedText("MaxArrayLength") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -29047,30 +29049,30 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11702") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11702, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11702") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2268") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11702, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2268, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11703") - node.BrowseName = ua.QualifiedName.from_string("MaxStringLength") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2268") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11703, 0) + node.BrowseName = QualifiedName('MaxStringLength', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2268, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum length for a string value supported by the server.") - attrs.DisplayName = ua.LocalizedText("MaxStringLength") + attrs.Description = LocalizedText("The maximum length for a string value supported by the server.") + attrs.DisplayName = LocalizedText("MaxStringLength") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -29078,30 +29080,30 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11703") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11703, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11703") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2268") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11703, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2268, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12911") - node.BrowseName = ua.QualifiedName.from_string("MaxByteStringLength") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2268") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(12911, 0) + node.BrowseName = QualifiedName('MaxByteStringLength', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2268, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum length for a byte string value supported by the server.") - attrs.DisplayName = ua.LocalizedText("MaxByteStringLength") + attrs.Description = LocalizedText("The maximum length for a byte string value supported by the server.") + attrs.DisplayName = LocalizedText("MaxByteStringLength") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -29109,144 +29111,144 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12911") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12911, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12911") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2268") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12911, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2268, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11704") - node.BrowseName = ua.QualifiedName.from_string("OperationLimits") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2268") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=11564") + node.RequestedNewNodeId = NumericNodeId(11704, 0) + node.BrowseName = QualifiedName('OperationLimits', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2268, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(11564, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Defines the limits supported by the server for different operations.") - attrs.DisplayName = ua.LocalizedText("OperationLimits") + attrs.Description = LocalizedText("Defines the limits supported by the server for different operations.") + attrs.DisplayName = LocalizedText("OperationLimits") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11704") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11705") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11704, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11705, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11704") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12165") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11704, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12165, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11704") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12166") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11704, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12166, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11704") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11707") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11704, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11707, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11704") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12167") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11704, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12167, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11704") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12168") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11704, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12168, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11704") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11709") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11704, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11709, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11704") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11710") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11704, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11710, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11704") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11711") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11704, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11711, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11704") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11712") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11704, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11712, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11704") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11713") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11704, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11713, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11704") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11714") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11704, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11714, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11704") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11564") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11704, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11564, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11704") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2268") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11704, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2268, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11705") - node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerRead") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11704") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11705, 0) + node.BrowseName = QualifiedName('MaxNodesPerRead', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11704, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum number of operations in a single Read request.") - attrs.DisplayName = ua.LocalizedText("MaxNodesPerRead") + attrs.Description = LocalizedText("The maximum number of operations in a single Read request.") + attrs.DisplayName = LocalizedText("MaxNodesPerRead") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -29254,30 +29256,30 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11705") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11705, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11705") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11704") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11705, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11704, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12165") - node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerHistoryReadData") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11704") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(12165, 0) + node.BrowseName = QualifiedName('MaxNodesPerHistoryReadData', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11704, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum number of operations in a single data HistoryRead request.") - attrs.DisplayName = ua.LocalizedText("MaxNodesPerHistoryReadData") + attrs.Description = LocalizedText("The maximum number of operations in a single data HistoryRead request.") + attrs.DisplayName = LocalizedText("MaxNodesPerHistoryReadData") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -29285,30 +29287,30 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12165") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12165, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12165") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11704") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12165, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11704, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12166") - node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerHistoryReadEvents") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11704") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(12166, 0) + node.BrowseName = QualifiedName('MaxNodesPerHistoryReadEvents', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11704, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum number of operations in a single event HistoryRead request.") - attrs.DisplayName = ua.LocalizedText("MaxNodesPerHistoryReadEvents") + attrs.Description = LocalizedText("The maximum number of operations in a single event HistoryRead request.") + attrs.DisplayName = LocalizedText("MaxNodesPerHistoryReadEvents") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -29316,30 +29318,30 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12166") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12166, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12166") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11704") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12166, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11704, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11707") - node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerWrite") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11704") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11707, 0) + node.BrowseName = QualifiedName('MaxNodesPerWrite', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11704, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum number of operations in a single Write request.") - attrs.DisplayName = ua.LocalizedText("MaxNodesPerWrite") + attrs.Description = LocalizedText("The maximum number of operations in a single Write request.") + attrs.DisplayName = LocalizedText("MaxNodesPerWrite") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -29347,30 +29349,30 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11707") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11707, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11707") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11704") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11707, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11704, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12167") - node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerHistoryUpdateData") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11704") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(12167, 0) + node.BrowseName = QualifiedName('MaxNodesPerHistoryUpdateData', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11704, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum number of operations in a single data HistoryUpdate request.") - attrs.DisplayName = ua.LocalizedText("MaxNodesPerHistoryUpdateData") + attrs.Description = LocalizedText("The maximum number of operations in a single data HistoryUpdate request.") + attrs.DisplayName = LocalizedText("MaxNodesPerHistoryUpdateData") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -29378,30 +29380,30 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12167") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12167, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12167") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11704") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12167, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11704, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12168") - node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerHistoryUpdateEvents") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11704") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(12168, 0) + node.BrowseName = QualifiedName('MaxNodesPerHistoryUpdateEvents', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11704, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum number of operations in a single event HistoryUpdate request.") - attrs.DisplayName = ua.LocalizedText("MaxNodesPerHistoryUpdateEvents") + attrs.Description = LocalizedText("The maximum number of operations in a single event HistoryUpdate request.") + attrs.DisplayName = LocalizedText("MaxNodesPerHistoryUpdateEvents") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -29409,30 +29411,30 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12168") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12168, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12168") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11704") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12168, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11704, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11709") - node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerMethodCall") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11704") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11709, 0) + node.BrowseName = QualifiedName('MaxNodesPerMethodCall', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11704, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum number of operations in a single Call request.") - attrs.DisplayName = ua.LocalizedText("MaxNodesPerMethodCall") + attrs.Description = LocalizedText("The maximum number of operations in a single Call request.") + attrs.DisplayName = LocalizedText("MaxNodesPerMethodCall") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -29440,30 +29442,30 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11709") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11709, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11709") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11704") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11709, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11704, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11710") - node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerBrowse") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11704") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11710, 0) + node.BrowseName = QualifiedName('MaxNodesPerBrowse', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11704, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum number of operations in a single Browse request.") - attrs.DisplayName = ua.LocalizedText("MaxNodesPerBrowse") + attrs.Description = LocalizedText("The maximum number of operations in a single Browse request.") + attrs.DisplayName = LocalizedText("MaxNodesPerBrowse") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -29471,30 +29473,30 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11710") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11710, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11710") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11704") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11710, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11704, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11711") - node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerRegisterNodes") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11704") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11711, 0) + node.BrowseName = QualifiedName('MaxNodesPerRegisterNodes', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11704, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum number of operations in a single RegisterNodes request.") - attrs.DisplayName = ua.LocalizedText("MaxNodesPerRegisterNodes") + attrs.Description = LocalizedText("The maximum number of operations in a single RegisterNodes request.") + attrs.DisplayName = LocalizedText("MaxNodesPerRegisterNodes") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -29502,30 +29504,30 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11711") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11711, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11711") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11704") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11711, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11704, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11712") - node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerTranslateBrowsePathsToNodeIds") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11704") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11712, 0) + node.BrowseName = QualifiedName('MaxNodesPerTranslateBrowsePathsToNodeIds', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11704, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum number of operations in a single TranslateBrowsePathsToNodeIds request.") - attrs.DisplayName = ua.LocalizedText("MaxNodesPerTranslateBrowsePathsToNodeIds") + attrs.Description = LocalizedText("The maximum number of operations in a single TranslateBrowsePathsToNodeIds request.") + attrs.DisplayName = LocalizedText("MaxNodesPerTranslateBrowsePathsToNodeIds") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -29533,30 +29535,30 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11712") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11712, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11712") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11704") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11712, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11704, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11713") - node.BrowseName = ua.QualifiedName.from_string("MaxNodesPerNodeManagement") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11704") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11713, 0) + node.BrowseName = QualifiedName('MaxNodesPerNodeManagement', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11704, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum number of operations in a single AddNodes, AddReferences, DeleteNodes or DeleteReferences request.") - attrs.DisplayName = ua.LocalizedText("MaxNodesPerNodeManagement") + attrs.Description = LocalizedText("The maximum number of operations in a single AddNodes, AddReferences, DeleteNodes or DeleteReferences request.") + attrs.DisplayName = LocalizedText("MaxNodesPerNodeManagement") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -29564,30 +29566,30 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11713") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11713, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11713") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11704") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11713, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11704, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11714") - node.BrowseName = ua.QualifiedName.from_string("MaxMonitoredItemsPerCall") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11704") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11714, 0) + node.BrowseName = QualifiedName('MaxMonitoredItemsPerCall', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11704, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum number of operations in a single MonitoredItem related request.") - attrs.DisplayName = ua.LocalizedText("MaxMonitoredItemsPerCall") + attrs.Description = LocalizedText("The maximum number of operations in a single MonitoredItem related request.") + attrs.DisplayName = LocalizedText("MaxMonitoredItemsPerCall") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -29595,177 +29597,177 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11714") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11714, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11714") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11704") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11714, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11704, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2996") - node.BrowseName = ua.QualifiedName.from_string("ModellingRules") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2268") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=61") + node.RequestedNewNodeId = NumericNodeId(2996, 0) + node.BrowseName = QualifiedName('ModellingRules', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2268, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(61, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("A folder for the modelling rules supported by the server.") - attrs.DisplayName = ua.LocalizedText("ModellingRules") + attrs.Description = LocalizedText("A folder for the modelling rules supported by the server.") + attrs.DisplayName = LocalizedText("ModellingRules") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2996") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=61") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2996, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(61, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2996") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2268") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2996, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2268, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2997") - node.BrowseName = ua.QualifiedName.from_string("AggregateFunctions") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2268") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=61") + node.RequestedNewNodeId = NumericNodeId(2997, 0) + node.BrowseName = QualifiedName('AggregateFunctions', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2268, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(61, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("A folder for the real time aggregates supported by the server.") - attrs.DisplayName = ua.LocalizedText("AggregateFunctions") + attrs.Description = LocalizedText("A folder for the real time aggregates supported by the server.") + attrs.DisplayName = LocalizedText("AggregateFunctions") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2997") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=61") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2997, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(61, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2997") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2268") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2997, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2268, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15606") - node.BrowseName = ua.QualifiedName.from_string("Roles") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2268") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=15607") + node.RequestedNewNodeId = NumericNodeId(15606, 0) + node.BrowseName = QualifiedName('Roles', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2268, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(15607, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Describes the roles supported by the server.") - attrs.DisplayName = ua.LocalizedText("Roles") + attrs.Description = LocalizedText("Describes the roles supported by the server.") + attrs.DisplayName = LocalizedText("Roles") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15606") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16301") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15606, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16301, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15606") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16304") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15606, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16304, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15606") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15607") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15606, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15607, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15606") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2268") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15606, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2268, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16301") - node.BrowseName = ua.QualifiedName.from_string("AddRole") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15606") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16301, 0) + node.BrowseName = QualifiedName('AddRole', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15606, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("AddRole") + attrs.DisplayName = LocalizedText("AddRole") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16301") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16302") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16301, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16302, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16301") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16303") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16301, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16303, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16301") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15606") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16301, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15606, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16302") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16301") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16302, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16301, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RoleName' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.Name = 'NamespaceUri' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -29775,34 +29777,34 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16302") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16302, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16302") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16301") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16302, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16301, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16303") - node.BrowseName = ua.QualifiedName.from_string("OutputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16301") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16303, 0) + node.BrowseName = QualifiedName('OutputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16301, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OutputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("OutputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RoleNodeId' - extobj.DataType = ua.NodeId.from_string("i=17") + extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -29812,61 +29814,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16303") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16303, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16303") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16301") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16303, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16301, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16304") - node.BrowseName = ua.QualifiedName.from_string("RemoveRole") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15606") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16304, 0) + node.BrowseName = QualifiedName('RemoveRole', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15606, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("RemoveRole") + attrs.DisplayName = LocalizedText("RemoveRole") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16304") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16305") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16304, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16305, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16304") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15606") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16304, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15606, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16305") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16304") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16305, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16304, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RoleNodeId' - extobj.DataType = ua.NodeId.from_string("i=17") + extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -29876,209 +29878,209 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16305") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16305, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16305") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16304") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16305, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16304, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2274") - node.BrowseName = ua.QualifiedName.from_string("ServerDiagnostics") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2253") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2020") + node.RequestedNewNodeId = NumericNodeId(2274, 0) + node.BrowseName = QualifiedName('ServerDiagnostics', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2253, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2020, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Reports diagnostics about the server.") - attrs.DisplayName = ua.LocalizedText("ServerDiagnostics") + attrs.Description = LocalizedText("Reports diagnostics about the server.") + attrs.DisplayName = LocalizedText("ServerDiagnostics") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2274") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2275") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2274, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2275, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2274") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2289") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2274, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2289, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2274") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2290") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2274, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2290, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2274") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3706") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2274, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3706, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2274") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2294") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2274, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2294, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2274") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2020") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2274, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2020, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2274") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2253") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2274, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2253, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2275") - node.BrowseName = ua.QualifiedName.from_string("ServerDiagnosticsSummary") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2274") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2150") + node.RequestedNewNodeId = NumericNodeId(2275, 0) + node.BrowseName = QualifiedName('ServerDiagnosticsSummary', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2274, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2150, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A summary of server level diagnostics.") - attrs.DisplayName = ua.LocalizedText("ServerDiagnosticsSummary") - attrs.DataType = ua.NodeId.from_string("i=859") + attrs.Description = LocalizedText("A summary of server level diagnostics.") + attrs.DisplayName = LocalizedText("ServerDiagnosticsSummary") + attrs.DataType = NumericNodeId(859, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2275") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2276") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2275, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2276, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2275") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2277") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2275, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2277, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2275") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2278") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2275, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2278, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2275") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2279") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2275, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2279, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2275") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3705") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2275, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3705, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2275") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2281") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2275, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2281, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2275") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2282") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2275, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2282, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2275") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2284") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2275, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2284, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2275") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2285") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2275, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2285, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2275") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2286") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2275, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2286, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2275") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2287") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2275, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2287, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2275") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2288") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2275, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2288, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2275") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2150") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2275, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2150, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2275") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2274") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2275, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2274, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2276") - node.BrowseName = ua.QualifiedName.from_string("ServerViewCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2275") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2276, 0) + node.BrowseName = QualifiedName('ServerViewCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2275, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ServerViewCount") + attrs.DisplayName = LocalizedText("ServerViewCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -30086,29 +30088,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2276") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2276, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2276") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2275") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2276, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2275, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2277") - node.BrowseName = ua.QualifiedName.from_string("CurrentSessionCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2275") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2277, 0) + node.BrowseName = QualifiedName('CurrentSessionCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2275, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentSessionCount") + attrs.DisplayName = LocalizedText("CurrentSessionCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -30116,29 +30118,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2277") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2277, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2277") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2275") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2277, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2275, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2278") - node.BrowseName = ua.QualifiedName.from_string("CumulatedSessionCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2275") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2278, 0) + node.BrowseName = QualifiedName('CumulatedSessionCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2275, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CumulatedSessionCount") + attrs.DisplayName = LocalizedText("CumulatedSessionCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -30146,29 +30148,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2278") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2278, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2278") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2275") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2278, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2275, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2279") - node.BrowseName = ua.QualifiedName.from_string("SecurityRejectedSessionCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2275") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2279, 0) + node.BrowseName = QualifiedName('SecurityRejectedSessionCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2275, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SecurityRejectedSessionCount") + attrs.DisplayName = LocalizedText("SecurityRejectedSessionCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -30176,29 +30178,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2279") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2279, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2279") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2275") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2279, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2275, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3705") - node.BrowseName = ua.QualifiedName.from_string("RejectedSessionCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2275") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(3705, 0) + node.BrowseName = QualifiedName('RejectedSessionCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2275, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RejectedSessionCount") + attrs.DisplayName = LocalizedText("RejectedSessionCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -30206,29 +30208,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3705") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3705, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3705") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2275") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3705, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2275, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2281") - node.BrowseName = ua.QualifiedName.from_string("SessionTimeoutCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2275") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2281, 0) + node.BrowseName = QualifiedName('SessionTimeoutCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2275, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SessionTimeoutCount") + attrs.DisplayName = LocalizedText("SessionTimeoutCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -30236,29 +30238,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2281") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2281, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2281") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2275") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2281, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2275, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2282") - node.BrowseName = ua.QualifiedName.from_string("SessionAbortCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2275") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2282, 0) + node.BrowseName = QualifiedName('SessionAbortCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2275, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SessionAbortCount") + attrs.DisplayName = LocalizedText("SessionAbortCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -30266,29 +30268,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2282") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2282, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2282") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2275") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2282, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2275, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2284") - node.BrowseName = ua.QualifiedName.from_string("PublishingIntervalCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2275") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2284, 0) + node.BrowseName = QualifiedName('PublishingIntervalCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2275, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("PublishingIntervalCount") + attrs.DisplayName = LocalizedText("PublishingIntervalCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -30296,29 +30298,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2284") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2284, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2284") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2275") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2284, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2275, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2285") - node.BrowseName = ua.QualifiedName.from_string("CurrentSubscriptionCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2275") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2285, 0) + node.BrowseName = QualifiedName('CurrentSubscriptionCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2275, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentSubscriptionCount") + attrs.DisplayName = LocalizedText("CurrentSubscriptionCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -30326,29 +30328,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2285") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2285, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2285") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2275") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2285, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2275, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2286") - node.BrowseName = ua.QualifiedName.from_string("CumulatedSubscriptionCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2275") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2286, 0) + node.BrowseName = QualifiedName('CumulatedSubscriptionCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2275, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CumulatedSubscriptionCount") + attrs.DisplayName = LocalizedText("CumulatedSubscriptionCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -30356,29 +30358,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2286") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2286, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2286") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2275") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2286, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2275, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2287") - node.BrowseName = ua.QualifiedName.from_string("SecurityRejectedRequestsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2275") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2287, 0) + node.BrowseName = QualifiedName('SecurityRejectedRequestsCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2275, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SecurityRejectedRequestsCount") + attrs.DisplayName = LocalizedText("SecurityRejectedRequestsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -30386,29 +30388,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2287") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2287, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2287") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2275") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2287, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2275, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2288") - node.BrowseName = ua.QualifiedName.from_string("RejectedRequestsCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2275") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(2288, 0) + node.BrowseName = QualifiedName('RejectedRequestsCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2275, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RejectedRequestsCount") + attrs.DisplayName = LocalizedText("RejectedRequestsCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -30416,198 +30418,198 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2288") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2288, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2288") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2275") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2288, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2275, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2289") - node.BrowseName = ua.QualifiedName.from_string("SamplingIntervalDiagnosticsArray") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2274") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2164") + node.RequestedNewNodeId = NumericNodeId(2289, 0) + node.BrowseName = QualifiedName('SamplingIntervalDiagnosticsArray', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2274, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2164, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A list of diagnostics for each sampling interval supported by the server.") - attrs.DisplayName = ua.LocalizedText("SamplingIntervalDiagnosticsArray") - attrs.DataType = ua.NodeId.from_string("i=856") + attrs.Description = LocalizedText("A list of diagnostics for each sampling interval supported by the server.") + attrs.DisplayName = LocalizedText("SamplingIntervalDiagnosticsArray") + attrs.DataType = NumericNodeId(856, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2289") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2164") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2289, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2164, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2289") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2274") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2289, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2274, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2290") - node.BrowseName = ua.QualifiedName.from_string("SubscriptionDiagnosticsArray") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2274") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2171") + node.RequestedNewNodeId = NumericNodeId(2290, 0) + node.BrowseName = QualifiedName('SubscriptionDiagnosticsArray', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2274, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2171, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A list of diagnostics for each active subscription.") - attrs.DisplayName = ua.LocalizedText("SubscriptionDiagnosticsArray") - attrs.DataType = ua.NodeId.from_string("i=874") + attrs.Description = LocalizedText("A list of diagnostics for each active subscription.") + attrs.DisplayName = LocalizedText("SubscriptionDiagnosticsArray") + attrs.DataType = NumericNodeId(874, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2290") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2171") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2290, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2171, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2290") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2274") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2290, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2274, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3706") - node.BrowseName = ua.QualifiedName.from_string("SessionsDiagnosticsSummary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2274") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2026") + node.RequestedNewNodeId = NumericNodeId(3706, 0) + node.BrowseName = QualifiedName('SessionsDiagnosticsSummary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2274, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2026, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("A summary of session level diagnostics.") - attrs.DisplayName = ua.LocalizedText("SessionsDiagnosticsSummary") + attrs.Description = LocalizedText("A summary of session level diagnostics.") + attrs.DisplayName = LocalizedText("SessionsDiagnosticsSummary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3706") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3707") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3706, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3707, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3706") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3708") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3706, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3708, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3706") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2026") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3706, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2026, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3706") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2274") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3706, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2274, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3707") - node.BrowseName = ua.QualifiedName.from_string("SessionDiagnosticsArray") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3706") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2196") + node.RequestedNewNodeId = NumericNodeId(3707, 0) + node.BrowseName = QualifiedName('SessionDiagnosticsArray', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3706, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2196, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A list of diagnostics for each active session.") - attrs.DisplayName = ua.LocalizedText("SessionDiagnosticsArray") - attrs.DataType = ua.NodeId.from_string("i=865") + attrs.Description = LocalizedText("A list of diagnostics for each active session.") + attrs.DisplayName = LocalizedText("SessionDiagnosticsArray") + attrs.DataType = NumericNodeId(865, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3707") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2196") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3707, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2196, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3707") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3706") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3707, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3706, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3708") - node.BrowseName = ua.QualifiedName.from_string("SessionSecurityDiagnosticsArray") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3706") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2243") + node.RequestedNewNodeId = NumericNodeId(3708, 0) + node.BrowseName = QualifiedName('SessionSecurityDiagnosticsArray', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3706, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2243, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A list of security related diagnostics for each active session.") - attrs.DisplayName = ua.LocalizedText("SessionSecurityDiagnosticsArray") - attrs.DataType = ua.NodeId.from_string("i=868") + attrs.Description = LocalizedText("A list of security related diagnostics for each active session.") + attrs.DisplayName = LocalizedText("SessionSecurityDiagnosticsArray") + attrs.DataType = NumericNodeId(868, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3708") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2243") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3708, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2243, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3708") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3706") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3708, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3706, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2294") - node.BrowseName = ua.QualifiedName.from_string("EnabledFlag") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2274") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2294, 0) + node.BrowseName = QualifiedName('EnabledFlag', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2274, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("If TRUE the diagnostics collection is enabled.") - attrs.DisplayName = ua.LocalizedText("EnabledFlag") + attrs.Description = LocalizedText("If TRUE the diagnostics collection is enabled.") + attrs.DisplayName = LocalizedText("EnabledFlag") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 attrs.AccessLevel = 3 @@ -30616,155 +30618,155 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2294") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2294, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2294") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2274") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2294, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2274, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2295") - node.BrowseName = ua.QualifiedName.from_string("VendorServerInfo") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2253") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2033") + node.RequestedNewNodeId = NumericNodeId(2295, 0) + node.BrowseName = QualifiedName('VendorServerInfo', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2253, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2033, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Server information provided by the vendor.") - attrs.DisplayName = ua.LocalizedText("VendorServerInfo") + attrs.Description = LocalizedText("Server information provided by the vendor.") + attrs.DisplayName = LocalizedText("VendorServerInfo") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2295") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2033") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2295, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2033, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2295") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2253") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2295, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2253, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2296") - node.BrowseName = ua.QualifiedName.from_string("ServerRedundancy") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2253") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2034") + node.RequestedNewNodeId = NumericNodeId(2296, 0) + node.BrowseName = QualifiedName('ServerRedundancy', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2253, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2034, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Describes the redundancy capabilities of the server.") - attrs.DisplayName = ua.LocalizedText("ServerRedundancy") + attrs.Description = LocalizedText("Describes the redundancy capabilities of the server.") + attrs.DisplayName = LocalizedText("ServerRedundancy") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2296") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3709") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2296, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3709, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2296") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11312") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2296, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11312, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2296") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11313") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2296, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11313, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2296") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11314") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2296, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11314, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2296") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=14415") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2296, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(14415, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2296") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2034") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2296, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2034, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2296") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2253") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2296, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2253, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3709") - node.BrowseName = ua.QualifiedName.from_string("RedundancySupport") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2296") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3709, 0) + node.BrowseName = QualifiedName('RedundancySupport', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2296, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("Indicates what style of redundancy is supported by the server.") - attrs.DisplayName = ua.LocalizedText("RedundancySupport") - attrs.DataType = ua.NodeId.from_string("i=851") + attrs.Description = LocalizedText("Indicates what style of redundancy is supported by the server.") + attrs.DisplayName = LocalizedText("RedundancySupport") + attrs.DataType = NumericNodeId(851, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3709") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3709, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3709") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2296") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3709, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2296, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11312") - node.BrowseName = ua.QualifiedName.from_string("CurrentServerId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2296") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11312, 0) + node.BrowseName = QualifiedName('CurrentServerId', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2296, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentServerId") + attrs.DisplayName = LocalizedText("CurrentServerId") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -30772,59 +30774,59 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11312") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11312, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11312") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2296") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11312, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2296, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11313") - node.BrowseName = ua.QualifiedName.from_string("RedundantServerArray") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2296") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11313, 0) + node.BrowseName = QualifiedName('RedundantServerArray', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2296, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RedundantServerArray") - attrs.DataType = ua.NodeId.from_string("i=853") + attrs.DisplayName = LocalizedText("RedundantServerArray") + attrs.DataType = NumericNodeId(853, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11313") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11313, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11313") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2296") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11313, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2296, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11314") - node.BrowseName = ua.QualifiedName.from_string("ServerUriArray") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2296") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11314, 0) + node.BrowseName = QualifiedName('ServerUriArray', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2296, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ServerUriArray") + attrs.DisplayName = LocalizedText("ServerUriArray") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 node.NodeAttributes = attrs @@ -30832,128 +30834,128 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11314") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11314, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11314") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2296") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11314, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2296, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=14415") - node.BrowseName = ua.QualifiedName.from_string("ServerNetworkGroups") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2296") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(14415, 0) + node.BrowseName = QualifiedName('ServerNetworkGroups', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2296, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ServerNetworkGroups") - attrs.DataType = ua.NodeId.from_string("i=11944") + attrs.DisplayName = LocalizedText("ServerNetworkGroups") + attrs.DataType = NumericNodeId(11944, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=14415") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(14415, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=14415") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2296") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(14415, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2296, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11715") - node.BrowseName = ua.QualifiedName.from_string("Namespaces") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2253") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=11645") + node.RequestedNewNodeId = NumericNodeId(11715, 0) + node.BrowseName = QualifiedName('Namespaces', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2253, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(11645, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("Describes the namespaces supported by the server.") - attrs.DisplayName = ua.LocalizedText("Namespaces") + attrs.Description = LocalizedText("Describes the namespaces supported by the server.") + attrs.DisplayName = LocalizedText("Namespaces") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11715") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11645") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11715, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11645, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11715") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2253") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11715, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2253, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11492") - node.BrowseName = ua.QualifiedName.from_string("GetMonitoredItems") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=2253") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(11492, 0) + node.BrowseName = QualifiedName('GetMonitoredItems', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(2253, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("GetMonitoredItems") + attrs.DisplayName = LocalizedText("GetMonitoredItems") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11492") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11493") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11492, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11493, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11492") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11494") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11492, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11494, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11492") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2253") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11492, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2253, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11493") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11492") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11493, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11492, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'SubscriptionId' - extobj.DataType = ua.NodeId.from_string("i=7") + extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -30963,39 +30965,39 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11493") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11493, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11493") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11492") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11493, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11492, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11494") - node.BrowseName = ua.QualifiedName.from_string("OutputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11492") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11494, 0) + node.BrowseName = QualifiedName('OutputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11492, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OutputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("OutputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'ServerHandles' - extobj.DataType = ua.NodeId.from_string("i=7") + extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = 1 value.append(extobj) extobj = ua.Argument() extobj.Name = 'ClientHandles' - extobj.DataType = ua.NodeId.from_string("i=7") + extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = 1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -31005,61 +31007,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11494") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11494, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11494") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11492") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11494, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11492, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12873") - node.BrowseName = ua.QualifiedName.from_string("ResendData") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=2253") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(12873, 0) + node.BrowseName = QualifiedName('ResendData', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(2253, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("ResendData") + attrs.DisplayName = LocalizedText("ResendData") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12873") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12874") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12873, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12874, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12873") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2253") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12873, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2253, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12874") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12873") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(12874, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12873, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'SubscriptionId' - extobj.DataType = ua.NodeId.from_string("i=7") + extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -31069,73 +31071,73 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12874") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12874, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12874") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12873") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12874, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12873, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12749") - node.BrowseName = ua.QualifiedName.from_string("SetSubscriptionDurable") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=2253") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(12749, 0) + node.BrowseName = QualifiedName('SetSubscriptionDurable', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(2253, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("SetSubscriptionDurable") + attrs.DisplayName = LocalizedText("SetSubscriptionDurable") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12749") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12750") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12749, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12750, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12749") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12751") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12749, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12751, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12749") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2253") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12749, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2253, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12750") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12749") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(12750, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12749, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'SubscriptionId' - extobj.DataType = ua.NodeId.from_string("i=7") + extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.Name = 'LifetimeInHours' - extobj.DataType = ua.NodeId.from_string("i=7") + extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -31145,34 +31147,34 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12750") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12750, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12750") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12749") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12750, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12749, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12751") - node.BrowseName = ua.QualifiedName.from_string("OutputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12749") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(12751, 0) + node.BrowseName = QualifiedName('OutputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12749, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OutputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("OutputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RevisedLifetimeInHours' - extobj.DataType = ua.NodeId.from_string("i=7") + extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -31182,81 +31184,81 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12751") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12751, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12751") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12749") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12751, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12749, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12886") - node.BrowseName = ua.QualifiedName.from_string("RequestServerStateChange") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=2253") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(12886, 0) + node.BrowseName = QualifiedName('RequestServerStateChange', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(2253, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("RequestServerStateChange") + attrs.DisplayName = LocalizedText("RequestServerStateChange") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12886") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12887") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12886, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12887, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12886") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2253") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12886, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2253, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12887") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12886") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(12887, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12886, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'State' - extobj.DataType = ua.NodeId.from_string("i=852") + extobj.DataType = NumericNodeId(852, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.Name = 'EstimatedReturnTime' - extobj.DataType = ua.NodeId.from_string("i=13") + extobj.DataType = NumericNodeId(13, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.Name = 'SecondsTillShutdown' - extobj.DataType = ua.NodeId.from_string("i=7") + extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.Name = 'Reason' - extobj.DataType = ua.NodeId.from_string("i=21") + extobj.DataType = NumericNodeId(21, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.Name = 'Restart' - extobj.DataType = ua.NodeId.from_string("i=1") + extobj.DataType = NumericNodeId(1, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -31266,29 +31268,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12887") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12887, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12887") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12886") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12887, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12886, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16313") - node.BrowseName = ua.QualifiedName.from_string("CurrentTimeZone") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2253") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16313, 0) + node.BrowseName = QualifiedName('CurrentTimeZone', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2253, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentTimeZone") + attrs.DisplayName = LocalizedText("CurrentTimeZone") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -31296,125 +31298,125 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16313") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16313, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16313") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2253") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16313, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2253, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11737") - node.BrowseName = ua.QualifiedName.from_string("BitFieldMaskDataType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=9") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(11737, 0) + node.BrowseName = QualifiedName('BitFieldMaskDataType', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(9, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.Description = ua.LocalizedText("A mask of 32 bits that can be updated individually by using the top 32 bits as a mask.") - attrs.DisplayName = ua.LocalizedText("BitFieldMaskDataType") + attrs.Description = LocalizedText("A mask of 32 bits that can be updated individually by using the top 32 bits as a mask.") + attrs.DisplayName = LocalizedText("BitFieldMaskDataType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=11737") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(11737, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=14533") - node.BrowseName = ua.QualifiedName.from_string("KeyValuePair") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(14533, 0) + node.BrowseName = QualifiedName('KeyValuePair', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("KeyValuePair") + attrs.DisplayName = LocalizedText("KeyValuePair") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=14533") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(14533, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15528") - node.BrowseName = ua.QualifiedName.from_string("EndpointType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(15528, 0) + node.BrowseName = QualifiedName('EndpointType', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("EndpointType") + attrs.DisplayName = LocalizedText("EndpointType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=15528") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(15528, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2299") - node.BrowseName = ua.QualifiedName.from_string("StateMachineType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=58") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2299, 0) + node.BrowseName = QualifiedName('StateMachineType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(58, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("StateMachineType") + attrs.DisplayName = LocalizedText("StateMachineType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2299") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2769") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2299, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2769, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2299") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2770") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2299, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2770, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2299") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=58") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2299, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(58, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2769") - node.BrowseName = ua.QualifiedName.from_string("CurrentState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2299") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2755") + node.RequestedNewNodeId = NumericNodeId(2769, 0) + node.BrowseName = QualifiedName('CurrentState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2299, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2755, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentState") + attrs.DisplayName = LocalizedText("CurrentState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -31422,43 +31424,43 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2769") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3720") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2769, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3720, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2769") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2755") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2769, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2755, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2769") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2769, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2769") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2299") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2769, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2299, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3720") - node.BrowseName = ua.QualifiedName.from_string("Id") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2769") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3720, 0) + node.BrowseName = QualifiedName('Id', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2769, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") + attrs.DisplayName = LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -31466,36 +31468,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3720") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3720, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3720") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3720, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3720") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2769") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3720, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2769, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2770") - node.BrowseName = ua.QualifiedName.from_string("LastTransition") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2299") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2762") + node.RequestedNewNodeId = NumericNodeId(2770, 0) + node.BrowseName = QualifiedName('LastTransition', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2299, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2762, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LastTransition") + attrs.DisplayName = LocalizedText("LastTransition") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -31503,43 +31505,43 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2770") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3724") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2770, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3724, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2770") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2762") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2770, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2762, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2770") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2770, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2770") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2299") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2770, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2299, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3724") - node.BrowseName = ua.QualifiedName.from_string("Id") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2770") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3724, 0) + node.BrowseName = QualifiedName('Id', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2770, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") + attrs.DisplayName = LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -31547,36 +31549,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3724") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3724, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3724") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3724, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3724") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2770") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3724, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2770, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2755") - node.BrowseName = ua.QualifiedName.from_string("StateVariableType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=63") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2755, 0) + node.BrowseName = QualifiedName('StateVariableType', 0) + node.NodeClass = NodeClass.VariableType + node.ParentNodeId = NumericNodeId(63, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("StateVariableType") - attrs.DisplayName = ua.LocalizedText("StateVariableType") + attrs.DisplayName = LocalizedText("StateVariableType") + attrs.DisplayName = LocalizedText("StateVariableType") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -31584,50 +31586,50 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2755") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2756") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2755, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2756, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2755") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2757") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2755, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2757, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2755") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2758") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2755, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2758, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2755") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2759") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2755, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2759, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2755") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2755, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2756") - node.BrowseName = ua.QualifiedName.from_string("Id") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2755") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2756, 0) + node.BrowseName = QualifiedName('Id', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2755, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") + attrs.DisplayName = LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -31635,36 +31637,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2756") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2756, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2756") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2756, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2756") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2755") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2756, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2755, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2757") - node.BrowseName = ua.QualifiedName.from_string("Name") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2755") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2757, 0) + node.BrowseName = QualifiedName('Name', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2755, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Name") + attrs.DisplayName = LocalizedText("Name") attrs.DataType = ua.NodeId(ua.ObjectIds.QualifiedName) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -31672,36 +31674,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2757") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2757, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2757") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2757, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2757") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2755") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2757, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2755, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2758") - node.BrowseName = ua.QualifiedName.from_string("Number") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2755") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2758, 0) + node.BrowseName = QualifiedName('Number', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2755, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Number") + attrs.DisplayName = LocalizedText("Number") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -31709,36 +31711,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2758") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2758, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2758") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2758, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2758") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2755") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2758, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2755, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2759") - node.BrowseName = ua.QualifiedName.from_string("EffectiveDisplayName") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2755") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2759, 0) + node.BrowseName = QualifiedName('EffectiveDisplayName', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2755, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EffectiveDisplayName") + attrs.DisplayName = LocalizedText("EffectiveDisplayName") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -31746,36 +31748,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2759") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2759, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2759") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2759, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2759") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2755") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2759, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2755, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2762") - node.BrowseName = ua.QualifiedName.from_string("TransitionVariableType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=63") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2762, 0) + node.BrowseName = QualifiedName('TransitionVariableType', 0) + node.NodeClass = NodeClass.VariableType + node.ParentNodeId = NumericNodeId(63, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionVariableType") - attrs.DisplayName = ua.LocalizedText("TransitionVariableType") + attrs.DisplayName = LocalizedText("TransitionVariableType") + attrs.DisplayName = LocalizedText("TransitionVariableType") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -31783,57 +31785,57 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2762") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2763") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2762, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2763, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2762") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2764") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2762, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2764, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2762") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2765") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2762, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2765, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2762") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2766") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2762, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2766, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2762") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11456") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2762, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11456, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2762") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2762, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2763") - node.BrowseName = ua.QualifiedName.from_string("Id") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2762") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2763, 0) + node.BrowseName = QualifiedName('Id', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2762, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") + attrs.DisplayName = LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -31841,36 +31843,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2763") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2763, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2763") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2763, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2763") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2762") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2763, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2762, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2764") - node.BrowseName = ua.QualifiedName.from_string("Name") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2762") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2764, 0) + node.BrowseName = QualifiedName('Name', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2762, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Name") + attrs.DisplayName = LocalizedText("Name") attrs.DataType = ua.NodeId(ua.ObjectIds.QualifiedName) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -31878,36 +31880,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2764") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2764, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2764") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2764, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2764") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2762") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2764, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2762, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2765") - node.BrowseName = ua.QualifiedName.from_string("Number") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2762") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2765, 0) + node.BrowseName = QualifiedName('Number', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2762, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Number") + attrs.DisplayName = LocalizedText("Number") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -31915,159 +31917,159 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2765") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2765, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2765") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2765, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2765") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2762") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2765, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2762, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2766") - node.BrowseName = ua.QualifiedName.from_string("TransitionTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2762") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2766, 0) + node.BrowseName = QualifiedName('TransitionTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2762, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("TransitionTime") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2766") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2766, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2766") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2766, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2766") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2762") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2766, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2762, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11456") - node.BrowseName = ua.QualifiedName.from_string("EffectiveTransitionTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2762") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11456, 0) + node.BrowseName = QualifiedName('EffectiveTransitionTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2762, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EffectiveTransitionTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("EffectiveTransitionTime") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11456") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11456, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11456") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11456, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11456") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2762") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11456, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2762, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2771") - node.BrowseName = ua.QualifiedName.from_string("FiniteStateMachineType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2299") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2771, 0) + node.BrowseName = QualifiedName('FiniteStateMachineType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2299, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("FiniteStateMachineType") + attrs.DisplayName = LocalizedText("FiniteStateMachineType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2771") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2772") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2771, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2772, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2771") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2773") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2771, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2773, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2771") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17635") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2771, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17635, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2771") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17636") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2771, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17636, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2771") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2299") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2771, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2299, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2772") - node.BrowseName = ua.QualifiedName.from_string("CurrentState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2771") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2760") + node.RequestedNewNodeId = NumericNodeId(2772, 0) + node.BrowseName = QualifiedName('CurrentState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2771, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2760, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentState") + attrs.DisplayName = LocalizedText("CurrentState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -32075,43 +32077,43 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2772") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3728") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2772, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3728, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2772") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2760") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2772, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2760, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2772") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2772, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2772") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2771") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2772, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2771, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3728") - node.BrowseName = ua.QualifiedName.from_string("Id") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2772") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3728, 0) + node.BrowseName = QualifiedName('Id', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2772, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") + attrs.DisplayName = LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -32119,36 +32121,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3728") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3728, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3728") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3728, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3728") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2772") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3728, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2772, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2773") - node.BrowseName = ua.QualifiedName.from_string("LastTransition") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2771") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2767") + node.RequestedNewNodeId = NumericNodeId(2773, 0) + node.BrowseName = QualifiedName('LastTransition', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2771, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2767, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LastTransition") + attrs.DisplayName = LocalizedText("LastTransition") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -32156,43 +32158,43 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2773") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3732") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2773, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3732, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2773") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2767") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2773, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2767, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2773") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2773, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2773") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2771") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2773, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2771, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3732") - node.BrowseName = ua.QualifiedName.from_string("Id") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2773") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3732, 0) + node.BrowseName = QualifiedName('Id', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2773, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") + attrs.DisplayName = LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -32200,36 +32202,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3732") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3732, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3732") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3732, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3732") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2773") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3732, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2773, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17635") - node.BrowseName = ua.QualifiedName.from_string("AvailableStates") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2771") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(17635, 0) + node.BrowseName = QualifiedName('AvailableStates', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2771, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AvailableStates") + attrs.DisplayName = LocalizedText("AvailableStates") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = 1 node.NodeAttributes = attrs @@ -32237,36 +32239,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=17635") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(17635, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=17635") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(17635, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=17635") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2771") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(17635, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2771, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17636") - node.BrowseName = ua.QualifiedName.from_string("AvailableTransitions") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2771") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=63") + node.RequestedNewNodeId = NumericNodeId(17636, 0) + node.BrowseName = QualifiedName('AvailableTransitions', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2771, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(63, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AvailableTransitions") + attrs.DisplayName = LocalizedText("AvailableTransitions") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = 1 node.NodeAttributes = attrs @@ -32274,36 +32276,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=17636") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(17636, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=17636") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(17636, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=17636") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2771") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(17636, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2771, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2760") - node.BrowseName = ua.QualifiedName.from_string("FiniteStateVariableType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=2755") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2760, 0) + node.BrowseName = QualifiedName('FiniteStateVariableType', 0) + node.NodeClass = NodeClass.VariableType + node.ParentNodeId = NumericNodeId(2755, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("FiniteStateVariableType") - attrs.DisplayName = ua.LocalizedText("FiniteStateVariableType") + attrs.DisplayName = LocalizedText("FiniteStateVariableType") + attrs.DisplayName = LocalizedText("FiniteStateVariableType") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -32311,29 +32313,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2760") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2761") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2760, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2761, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2760") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2755") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2760, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2755, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2761") - node.BrowseName = ua.QualifiedName.from_string("Id") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2760") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2761, 0) + node.BrowseName = QualifiedName('Id', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2760, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") + attrs.DisplayName = LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -32341,36 +32343,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2761") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2761, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2761") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2761, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2761") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2760") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2761, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2760, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2767") - node.BrowseName = ua.QualifiedName.from_string("FiniteTransitionVariableType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=2762") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2767, 0) + node.BrowseName = QualifiedName('FiniteTransitionVariableType', 0) + node.NodeClass = NodeClass.VariableType + node.ParentNodeId = NumericNodeId(2762, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("FiniteTransitionVariableType") - attrs.DisplayName = ua.LocalizedText("FiniteTransitionVariableType") + attrs.DisplayName = LocalizedText("FiniteTransitionVariableType") + attrs.DisplayName = LocalizedText("FiniteTransitionVariableType") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -32378,29 +32380,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2767") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2768") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2767, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2768, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2767") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2762") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2767, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2762, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2768") - node.BrowseName = ua.QualifiedName.from_string("Id") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2767") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2768, 0) + node.BrowseName = QualifiedName('Id', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2767, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") + attrs.DisplayName = LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -32408,64 +32410,64 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2768") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2768, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2768") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2768, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2768") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2767") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2768, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2767, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2307") - node.BrowseName = ua.QualifiedName.from_string("StateType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=58") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2307, 0) + node.BrowseName = QualifiedName('StateType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(58, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("StateType") + attrs.DisplayName = LocalizedText("StateType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2307") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2308") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2307, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2308, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2307") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=58") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2307, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(58, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2308") - node.BrowseName = ua.QualifiedName.from_string("StateNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2307") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2308, 0) + node.BrowseName = QualifiedName('StateNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2307, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("StateNumber") + attrs.DisplayName = LocalizedText("StateNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -32473,85 +32475,85 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2308") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2308, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2308") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2308, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2308") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2307") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2308, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2307, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2309") - node.BrowseName = ua.QualifiedName.from_string("InitialStateType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2307") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2309, 0) + node.BrowseName = QualifiedName('InitialStateType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2307, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("InitialStateType") + attrs.DisplayName = LocalizedText("InitialStateType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2309") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2307") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2309, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2307, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2310") - node.BrowseName = ua.QualifiedName.from_string("TransitionType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=58") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2310, 0) + node.BrowseName = QualifiedName('TransitionType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(58, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionType") + attrs.DisplayName = LocalizedText("TransitionType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2310") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2312") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2310, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2312, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2310") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=58") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2310, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(58, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2312") - node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2310") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2312, 0) + node.BrowseName = QualifiedName('TransitionNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2310, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionNumber") + attrs.DisplayName = LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -32559,78 +32561,78 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2312") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2312, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2312") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2312, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2312") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2310") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2312, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2310, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2311") - node.BrowseName = ua.QualifiedName.from_string("TransitionEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2041") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2311, 0) + node.BrowseName = QualifiedName('TransitionEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2041, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionEventType") + attrs.DisplayName = LocalizedText("TransitionEventType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2311") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2774") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2311, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2774, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2311") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2775") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2311, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2775, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2311") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2776") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2311, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2776, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2311") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2041") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2311, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2041, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2774") - node.BrowseName = ua.QualifiedName.from_string("Transition") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2311") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2762") + node.RequestedNewNodeId = NumericNodeId(2774, 0) + node.BrowseName = QualifiedName('Transition', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2311, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2762, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Transition") + attrs.DisplayName = LocalizedText("Transition") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -32638,43 +32640,43 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2774") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3754") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2774, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3754, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2774") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2762") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2774, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2762, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2774") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2774, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2774") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2311") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2774, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2311, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3754") - node.BrowseName = ua.QualifiedName.from_string("Id") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2774") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3754, 0) + node.BrowseName = QualifiedName('Id', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2774, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") + attrs.DisplayName = LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -32682,36 +32684,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3754") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3754, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3754") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3754, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3754") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2774") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3754, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2774, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2775") - node.BrowseName = ua.QualifiedName.from_string("FromState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2311") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2755") + node.RequestedNewNodeId = NumericNodeId(2775, 0) + node.BrowseName = QualifiedName('FromState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2311, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2755, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("FromState") + attrs.DisplayName = LocalizedText("FromState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -32719,43 +32721,43 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2775") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3746") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2775, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3746, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2775") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2755") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2775, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2755, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2775") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2775, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2775") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2311") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2775, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2311, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3746") - node.BrowseName = ua.QualifiedName.from_string("Id") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2775") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3746, 0) + node.BrowseName = QualifiedName('Id', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2775, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") + attrs.DisplayName = LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -32763,36 +32765,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3746") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3746, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3746") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3746, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3746") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2775") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3746, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2775, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2776") - node.BrowseName = ua.QualifiedName.from_string("ToState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2311") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2755") + node.RequestedNewNodeId = NumericNodeId(2776, 0) + node.BrowseName = QualifiedName('ToState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2311, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2755, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ToState") + attrs.DisplayName = LocalizedText("ToState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -32800,43 +32802,43 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2776") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3750") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2776, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3750, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2776") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2755") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2776, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2755, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2776") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2776, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2776") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2311") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2776, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2311, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3750") - node.BrowseName = ua.QualifiedName.from_string("Id") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2776") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3750, 0) + node.BrowseName = QualifiedName('Id', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2776, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") + attrs.DisplayName = LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -32844,71 +32846,71 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3750") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3750, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3750") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3750, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3750") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2776") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3750, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2776, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2315") - node.BrowseName = ua.QualifiedName.from_string("AuditUpdateStateEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2127") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2315, 0) + node.BrowseName = QualifiedName('AuditUpdateStateEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2127, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditUpdateStateEventType") + attrs.DisplayName = LocalizedText("AuditUpdateStateEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2315") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2777") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2315, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2777, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2315") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2778") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2315, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2778, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2315") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2127") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2315, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2127, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2777") - node.BrowseName = ua.QualifiedName.from_string("OldStateId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2315") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2777, 0) + node.BrowseName = QualifiedName('OldStateId', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2315, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OldStateId") + attrs.DisplayName = LocalizedText("OldStateId") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -32916,36 +32918,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2777") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2777, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2777") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2777, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2777") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2315") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2777, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2315, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2778") - node.BrowseName = ua.QualifiedName.from_string("NewStateId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2315") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2778, 0) + node.BrowseName = QualifiedName('NewStateId', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2315, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("NewStateId") + attrs.DisplayName = LocalizedText("NewStateId") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -32953,209 +32955,209 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2778") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2778, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2778") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2778, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2778") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2315") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2778, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2315, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13353") - node.BrowseName = ua.QualifiedName.from_string("FileDirectoryType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=61") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(13353, 0) + node.BrowseName = QualifiedName('FileDirectoryType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(61, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("FileDirectoryType") + attrs.DisplayName = LocalizedText("FileDirectoryType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13353") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13354") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(13353, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13354, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13353") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13366") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(13353, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13366, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13353") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13387") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(13353, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13387, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13353") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13390") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(13353, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13390, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13353") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13393") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(13353, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13393, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13353") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13395") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(13353, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13395, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=13353") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=61") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(13353, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(61, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13354") - node.BrowseName = ua.QualifiedName.from_string("") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=13353") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=13353") + node.RequestedNewNodeId = NumericNodeId(13354, 0) + node.BrowseName = QualifiedName('', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(13353, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(13353, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("") + attrs.DisplayName = LocalizedText("") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13354") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13355") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(13354, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13355, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13354") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13358") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(13354, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13358, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13354") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17718") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(13354, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17718, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13354") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13363") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(13354, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13363, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13354") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13353") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(13354, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13353, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13354") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11508") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(13354, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11508, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13354") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13353") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(13354, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13353, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13355") - node.BrowseName = ua.QualifiedName.from_string("CreateDirectory") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=13354") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(13355, 0) + node.BrowseName = QualifiedName('CreateDirectory', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(13354, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("CreateDirectory") + attrs.DisplayName = LocalizedText("CreateDirectory") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13355") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13356") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13355, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13356, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13355") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13357") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13355, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13357, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13355") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(13355, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13355") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13354") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(13355, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13354, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13356") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13355") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(13356, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(13355, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'DirectoryName' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -33165,41 +33167,41 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13356") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(13356, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13356") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(13356, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13356") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13355") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13356, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13355, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13357") - node.BrowseName = ua.QualifiedName.from_string("OutputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13355") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(13357, 0) + node.BrowseName = QualifiedName('OutputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(13355, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OutputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("OutputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'DirectoryNodeId' - extobj.DataType = ua.NodeId.from_string("i=17") + extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -33209,87 +33211,87 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13357") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(13357, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13357") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(13357, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13357") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13355") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13357, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13355, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13358") - node.BrowseName = ua.QualifiedName.from_string("CreateFile") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=13354") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(13358, 0) + node.BrowseName = QualifiedName('CreateFile', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(13354, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("CreateFile") + attrs.DisplayName = LocalizedText("CreateFile") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13358") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13359") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13358, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13359, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13358") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13360") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13358, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13360, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13358") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(13358, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13358") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13354") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(13358, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13354, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13359") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13358") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(13359, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(13358, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'FileName' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.Name = 'RequestFileOpen' - extobj.DataType = ua.NodeId.from_string("i=1") + extobj.DataType = NumericNodeId(1, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -33299,46 +33301,46 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13359") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(13359, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13359") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(13359, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13359") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13358") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13359, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13358, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13360") - node.BrowseName = ua.QualifiedName.from_string("OutputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13358") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(13360, 0) + node.BrowseName = QualifiedName('OutputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(13358, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OutputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("OutputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'FileNodeId' - extobj.DataType = ua.NodeId.from_string("i=17") + extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.Name = 'FileHandle' - extobj.DataType = ua.NodeId.from_string("i=7") + extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -33348,75 +33350,75 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13360") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(13360, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13360") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(13360, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13360") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13358") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13360, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13358, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17718") - node.BrowseName = ua.QualifiedName.from_string("Delete") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=13354") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(17718, 0) + node.BrowseName = QualifiedName('Delete', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(13354, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("Delete") + attrs.DisplayName = LocalizedText("Delete") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=17718") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17719") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17718, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17719, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=17718") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(17718, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=17718") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13354") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(17718, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13354, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17719") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=17718") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(17719, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(17718, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'ObjectToDelete' - extobj.DataType = ua.NodeId.from_string("i=17") + extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -33426,97 +33428,97 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=17719") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(17719, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=17719") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(17719, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=17719") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17718") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17719, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17718, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13363") - node.BrowseName = ua.QualifiedName.from_string("MoveOrCopy") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=13354") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(13363, 0) + node.BrowseName = QualifiedName('MoveOrCopy', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(13354, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("MoveOrCopy") + attrs.DisplayName = LocalizedText("MoveOrCopy") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13363") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13364") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13363, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13364, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13363") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13365") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13363, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13365, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13363") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(13363, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13363") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13354") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(13363, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13354, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13364") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13363") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(13364, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(13363, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'ObjectToMoveOrCopy' - extobj.DataType = ua.NodeId.from_string("i=17") + extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.Name = 'TargetDirectory' - extobj.DataType = ua.NodeId.from_string("i=17") + extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.Name = 'CreateCopy' - extobj.DataType = ua.NodeId.from_string("i=1") + extobj.DataType = NumericNodeId(1, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.Name = 'NewName' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -33526,41 +33528,41 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13364") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(13364, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13364") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(13364, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13364") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13363") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13364, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13363, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13365") - node.BrowseName = ua.QualifiedName.from_string("OutputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13363") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(13365, 0) + node.BrowseName = QualifiedName('OutputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(13363, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OutputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("OutputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'NewNodeId' - extobj.DataType = ua.NodeId.from_string("i=17") + extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -33570,143 +33572,143 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13365") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(13365, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13365") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(13365, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13365") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13363") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13365, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13363, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13366") - node.BrowseName = ua.QualifiedName.from_string("") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=13353") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=11575") + node.RequestedNewNodeId = NumericNodeId(13366, 0) + node.BrowseName = QualifiedName('', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(13353, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(11575, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("") + attrs.DisplayName = LocalizedText("") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13366") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13367") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13366, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13367, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13366") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13368") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13366, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13368, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13366") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13369") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13366, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13369, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13366") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13370") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13366, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13370, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13366") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13372") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(13366, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13372, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13366") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13375") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(13366, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13375, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13366") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13377") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(13366, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13377, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13366") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13380") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(13366, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13380, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13366") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13382") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(13366, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13382, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13366") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13385") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(13366, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13385, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13366") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11575") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(13366, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11575, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13366") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11508") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(13366, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11508, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13366") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13353") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(13366, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13353, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13367") - node.BrowseName = ua.QualifiedName.from_string("Size") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13366") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(13367, 0) + node.BrowseName = QualifiedName('Size', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(13366, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The size of the file in bytes.") - attrs.DisplayName = ua.LocalizedText("Size") + attrs.Description = LocalizedText("The size of the file in bytes.") + attrs.DisplayName = LocalizedText("Size") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt64) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -33714,37 +33716,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13367") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(13367, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13367") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(13367, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13367") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13366") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13367, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13366, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13368") - node.BrowseName = ua.QualifiedName.from_string("Writable") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13366") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(13368, 0) + node.BrowseName = QualifiedName('Writable', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(13366, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("Whether the file is writable.") - attrs.DisplayName = ua.LocalizedText("Writable") + attrs.Description = LocalizedText("Whether the file is writable.") + attrs.DisplayName = LocalizedText("Writable") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -33752,37 +33754,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13368") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(13368, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13368") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(13368, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13368") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13366") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13368, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13366, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13369") - node.BrowseName = ua.QualifiedName.from_string("UserWritable") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13366") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(13369, 0) + node.BrowseName = QualifiedName('UserWritable', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(13366, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("Whether the file is writable by the current user.") - attrs.DisplayName = ua.LocalizedText("UserWritable") + attrs.Description = LocalizedText("Whether the file is writable by the current user.") + attrs.DisplayName = LocalizedText("UserWritable") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -33790,37 +33792,37 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13369") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(13369, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13369") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(13369, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13369") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13366") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13369, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13366, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13370") - node.BrowseName = ua.QualifiedName.from_string("OpenCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13366") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(13370, 0) + node.BrowseName = QualifiedName('OpenCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(13366, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The current number of open file handles.") - attrs.DisplayName = ua.LocalizedText("OpenCount") + attrs.Description = LocalizedText("The current number of open file handles.") + attrs.DisplayName = LocalizedText("OpenCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -33828,82 +33830,82 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13370") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(13370, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13370") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(13370, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13370") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13366") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13370, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13366, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13372") - node.BrowseName = ua.QualifiedName.from_string("Open") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=13366") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(13372, 0) + node.BrowseName = QualifiedName('Open', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(13366, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("Open") + attrs.DisplayName = LocalizedText("Open") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13372") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13373") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13372, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13373, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13372") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13374") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13372, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13374, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13372") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(13372, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13372") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13366") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(13372, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13366, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13373") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13372") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(13373, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(13372, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'Mode' - extobj.DataType = ua.NodeId.from_string("i=3") + extobj.DataType = NumericNodeId(3, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -33913,41 +33915,41 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13373") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(13373, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13373") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(13373, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13373") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13372") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13373, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13372, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13374") - node.BrowseName = ua.QualifiedName.from_string("OutputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13372") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(13374, 0) + node.BrowseName = QualifiedName('OutputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(13372, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OutputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("OutputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'FileHandle' - extobj.DataType = ua.NodeId.from_string("i=7") + extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -33957,75 +33959,75 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13374") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(13374, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13374") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(13374, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13374") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13372") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13374, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13372, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13375") - node.BrowseName = ua.QualifiedName.from_string("Close") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=13366") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(13375, 0) + node.BrowseName = QualifiedName('Close', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(13366, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("Close") + attrs.DisplayName = LocalizedText("Close") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13375") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13376") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13375, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13376, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13375") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(13375, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13375") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13366") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(13375, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13366, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13376") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13375") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(13376, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(13375, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'FileHandle' - extobj.DataType = ua.NodeId.from_string("i=7") + extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -34035,87 +34037,87 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13376") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(13376, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13376") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(13376, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13376") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13375") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13376, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13375, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13377") - node.BrowseName = ua.QualifiedName.from_string("Read") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=13366") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(13377, 0) + node.BrowseName = QualifiedName('Read', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(13366, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("Read") + attrs.DisplayName = LocalizedText("Read") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13377") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13378") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13377, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13378, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13377") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13379") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13377, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13379, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13377") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(13377, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13377") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13366") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(13377, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13366, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13378") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13377") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(13378, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(13377, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'FileHandle' - extobj.DataType = ua.NodeId.from_string("i=7") + extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.Name = 'Length' - extobj.DataType = ua.NodeId.from_string("i=6") + extobj.DataType = NumericNodeId(6, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -34125,41 +34127,41 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13378") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(13378, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13378") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(13378, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13378") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13377") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13378, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13377, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13379") - node.BrowseName = ua.QualifiedName.from_string("OutputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13377") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(13379, 0) + node.BrowseName = QualifiedName('OutputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(13377, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OutputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("OutputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'Data' - extobj.DataType = ua.NodeId.from_string("i=15") + extobj.DataType = NumericNodeId(15, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -34169,80 +34171,80 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13379") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(13379, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13379") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(13379, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13379") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13377") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13379, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13377, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13380") - node.BrowseName = ua.QualifiedName.from_string("Write") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=13366") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(13380, 0) + node.BrowseName = QualifiedName('Write', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(13366, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("Write") + attrs.DisplayName = LocalizedText("Write") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13380") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13381") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13380, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13381, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13380") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(13380, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13380") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13366") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(13380, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13366, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13381") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13380") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(13381, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(13380, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'FileHandle' - extobj.DataType = ua.NodeId.from_string("i=7") + extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.Name = 'Data' - extobj.DataType = ua.NodeId.from_string("i=15") + extobj.DataType = NumericNodeId(15, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -34252,82 +34254,82 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13381") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(13381, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13381") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(13381, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13381") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13380") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13381, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13380, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13382") - node.BrowseName = ua.QualifiedName.from_string("GetPosition") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=13366") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(13382, 0) + node.BrowseName = QualifiedName('GetPosition', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(13366, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("GetPosition") + attrs.DisplayName = LocalizedText("GetPosition") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13382") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13383") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13382, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13383, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13382") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13384") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13382, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13384, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13382") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(13382, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13382") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13366") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(13382, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13366, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13383") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13382") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(13383, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(13382, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'FileHandle' - extobj.DataType = ua.NodeId.from_string("i=7") + extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -34337,41 +34339,41 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13383") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(13383, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13383") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(13383, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13383") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13382") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13383, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13382, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13384") - node.BrowseName = ua.QualifiedName.from_string("OutputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13382") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(13384, 0) + node.BrowseName = QualifiedName('OutputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(13382, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OutputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("OutputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'Position' - extobj.DataType = ua.NodeId.from_string("i=9") + extobj.DataType = NumericNodeId(9, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -34381,80 +34383,80 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13384") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(13384, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13384") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(13384, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13384") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13382") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13384, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13382, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13385") - node.BrowseName = ua.QualifiedName.from_string("SetPosition") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=13366") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(13385, 0) + node.BrowseName = QualifiedName('SetPosition', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(13366, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("SetPosition") + attrs.DisplayName = LocalizedText("SetPosition") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13385") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13386") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13385, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13386, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13385") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(13385, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13385") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13366") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(13385, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13366, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13386") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13385") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(13386, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(13385, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'FileHandle' - extobj.DataType = ua.NodeId.from_string("i=7") + extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.Name = 'Position' - extobj.DataType = ua.NodeId.from_string("i=9") + extobj.DataType = NumericNodeId(9, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -34464,82 +34466,82 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13386") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(13386, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13386") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(13386, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13386") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13385") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13386, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13385, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13387") - node.BrowseName = ua.QualifiedName.from_string("CreateDirectory") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=13353") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(13387, 0) + node.BrowseName = QualifiedName('CreateDirectory', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(13353, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("CreateDirectory") + attrs.DisplayName = LocalizedText("CreateDirectory") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13387") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13388") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13387, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13388, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13387") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13389") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13387, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13389, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13387") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(13387, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13387") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13353") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(13387, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13353, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13388") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13387") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(13388, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(13387, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'DirectoryName' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -34549,41 +34551,41 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13388") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(13388, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13388") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(13388, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13388") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13387") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13388, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13387, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13389") - node.BrowseName = ua.QualifiedName.from_string("OutputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13387") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(13389, 0) + node.BrowseName = QualifiedName('OutputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(13387, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OutputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("OutputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'DirectoryNodeId' - extobj.DataType = ua.NodeId.from_string("i=17") + extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -34593,87 +34595,87 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13389") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(13389, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13389") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(13389, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13389") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13387") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13389, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13387, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13390") - node.BrowseName = ua.QualifiedName.from_string("CreateFile") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=13353") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(13390, 0) + node.BrowseName = QualifiedName('CreateFile', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(13353, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("CreateFile") + attrs.DisplayName = LocalizedText("CreateFile") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13390") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13391") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13390, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13391, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13390") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13392") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13390, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13392, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13390") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(13390, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13390") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13353") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(13390, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13353, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13391") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13390") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(13391, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(13390, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'FileName' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.Name = 'RequestFileOpen' - extobj.DataType = ua.NodeId.from_string("i=1") + extobj.DataType = NumericNodeId(1, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -34683,46 +34685,46 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13391") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(13391, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13391") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(13391, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13391") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13390") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13391, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13390, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13392") - node.BrowseName = ua.QualifiedName.from_string("OutputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13390") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(13392, 0) + node.BrowseName = QualifiedName('OutputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(13390, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OutputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("OutputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'FileNodeId' - extobj.DataType = ua.NodeId.from_string("i=17") + extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.Name = 'FileHandle' - extobj.DataType = ua.NodeId.from_string("i=7") + extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -34732,75 +34734,75 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13392") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(13392, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13392") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(13392, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13392") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13390") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13392, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13390, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13393") - node.BrowseName = ua.QualifiedName.from_string("Delete") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=13353") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(13393, 0) + node.BrowseName = QualifiedName('Delete', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(13353, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("Delete") + attrs.DisplayName = LocalizedText("Delete") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13393") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13394") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13393, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13394, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13393") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(13393, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13393") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13353") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(13393, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13353, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13394") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13393") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(13394, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(13393, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'ObjectToDelete' - extobj.DataType = ua.NodeId.from_string("i=17") + extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -34810,97 +34812,97 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13394") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(13394, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13394") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(13394, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13394") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13393") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13394, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13393, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13395") - node.BrowseName = ua.QualifiedName.from_string("MoveOrCopy") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=13353") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(13395, 0) + node.BrowseName = QualifiedName('MoveOrCopy', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(13353, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("MoveOrCopy") + attrs.DisplayName = LocalizedText("MoveOrCopy") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13395") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13396") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13395, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13396, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13395") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13397") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13395, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13397, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13395") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(13395, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=13395") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13353") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(13395, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13353, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13396") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13395") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(13396, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(13395, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'ObjectToMoveOrCopy' - extobj.DataType = ua.NodeId.from_string("i=17") + extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.Name = 'TargetDirectory' - extobj.DataType = ua.NodeId.from_string("i=17") + extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.Name = 'CreateCopy' - extobj.DataType = ua.NodeId.from_string("i=1") + extobj.DataType = NumericNodeId(1, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.Name = 'NewName' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -34910,41 +34912,41 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13396") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(13396, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13396") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(13396, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13396") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13395") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13396, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13395, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13397") - node.BrowseName = ua.QualifiedName.from_string("OutputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13395") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(13397, 0) + node.BrowseName = QualifiedName('OutputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(13395, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OutputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("OutputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'NewNodeId' - extobj.DataType = ua.NodeId.from_string("i=17") + extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -34954,123 +34956,123 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13397") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(13397, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13397") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(13397, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13397") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13395") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13397, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13395, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16314") - node.BrowseName = ua.QualifiedName.from_string("FileSystem") - node.NodeClass = ua.NodeClass.Object - node.TypeDefinition = ua.NodeId.from_string("i=13353") + node.RequestedNewNodeId = NumericNodeId(16314, 0) + node.BrowseName = QualifiedName('FileSystem', 0) + node.NodeClass = NodeClass.Object + node.TypeDefinition = NumericNodeId(13353, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("FileSystem") + attrs.DisplayName = LocalizedText("FileSystem") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16314") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16348") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16314, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16348, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16314") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16351") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16314, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16351, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16314") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16354") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16314, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16354, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16314") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16356") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16314, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16356, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16314") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13353") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16314, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13353, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16348") - node.BrowseName = ua.QualifiedName.from_string("CreateDirectory") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=16314") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16348, 0) + node.BrowseName = QualifiedName('CreateDirectory', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(16314, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("CreateDirectory") + attrs.DisplayName = LocalizedText("CreateDirectory") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16348") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16349") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16348, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16349, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16348") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16350") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16348, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16350, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16348") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16314") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16348, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16314, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16349") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16348") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16349, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16348, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'DirectoryName' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -35080,34 +35082,34 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16349") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16349, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16349") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16348") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16349, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16348, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16350") - node.BrowseName = ua.QualifiedName.from_string("OutputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16348") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16350, 0) + node.BrowseName = QualifiedName('OutputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16348, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OutputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("OutputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'DirectoryNodeId' - extobj.DataType = ua.NodeId.from_string("i=17") + extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -35117,73 +35119,73 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16350") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16350, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16350") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16348") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16350, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16348, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16351") - node.BrowseName = ua.QualifiedName.from_string("CreateFile") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=16314") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16351, 0) + node.BrowseName = QualifiedName('CreateFile', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(16314, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("CreateFile") + attrs.DisplayName = LocalizedText("CreateFile") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16351") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16352") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16351, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16352, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16351") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16353") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16351, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16353, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16351") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16314") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16351, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16314, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16352") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16351") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16352, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16351, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'FileName' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.Name = 'RequestFileOpen' - extobj.DataType = ua.NodeId.from_string("i=1") + extobj.DataType = NumericNodeId(1, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -35193,39 +35195,39 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16352") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16352, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16352") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16351") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16352, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16351, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16353") - node.BrowseName = ua.QualifiedName.from_string("OutputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16351") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16353, 0) + node.BrowseName = QualifiedName('OutputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16351, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OutputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("OutputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'FileNodeId' - extobj.DataType = ua.NodeId.from_string("i=17") + extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.Name = 'FileHandle' - extobj.DataType = ua.NodeId.from_string("i=7") + extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -35235,61 +35237,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16353") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16353, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16353") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16351") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16353, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16351, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16354") - node.BrowseName = ua.QualifiedName.from_string("Delete") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=16314") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16354, 0) + node.BrowseName = QualifiedName('Delete', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(16314, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("Delete") + attrs.DisplayName = LocalizedText("Delete") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16354") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16355") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16354, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16355, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16354") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16314") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16354, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16314, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16355") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16354") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16355, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16354, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'ObjectToDelete' - extobj.DataType = ua.NodeId.from_string("i=17") + extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -35299,83 +35301,83 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16355") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16355, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16355") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16354") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16355, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16354, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16356") - node.BrowseName = ua.QualifiedName.from_string("MoveOrCopy") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=16314") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16356, 0) + node.BrowseName = QualifiedName('MoveOrCopy', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(16314, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("MoveOrCopy") + attrs.DisplayName = LocalizedText("MoveOrCopy") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16356") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16357") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16356, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16357, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16356") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16358") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16356, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16358, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16356") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16314") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16356, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16314, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16357") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16356") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16357, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16356, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'ObjectToMoveOrCopy' - extobj.DataType = ua.NodeId.from_string("i=17") + extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.Name = 'TargetDirectory' - extobj.DataType = ua.NodeId.from_string("i=17") + extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.Name = 'CreateCopy' - extobj.DataType = ua.NodeId.from_string("i=1") + extobj.DataType = NumericNodeId(1, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.Name = 'NewName' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -35385,34 +35387,34 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16357") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16357, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16357") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16356") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16357, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16356, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16358") - node.BrowseName = ua.QualifiedName.from_string("OutputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16356") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16358, 0) + node.BrowseName = QualifiedName('OutputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16356, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OutputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("OutputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'NewNodeId' - extobj.DataType = ua.NodeId.from_string("i=17") + extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -35422,168 +35424,168 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16358") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16358, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16358") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16356") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16358, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16356, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15744") - node.BrowseName = ua.QualifiedName.from_string("TemporaryFileTransferType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=58") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(15744, 0) + node.BrowseName = QualifiedName('TemporaryFileTransferType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(58, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("TemporaryFileTransferType") + attrs.DisplayName = LocalizedText("TemporaryFileTransferType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15744") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15745") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15744, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15745, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15744") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15746") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15744, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15746, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15744") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15749") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15744, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15749, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15744") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15751") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15744, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15751, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15744") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15754") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15744, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15754, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=15744") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=58") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(15744, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(58, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15745") - node.BrowseName = ua.QualifiedName.from_string("ClientProcessingTimeout") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15744") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15745, 0) + node.BrowseName = QualifiedName('ClientProcessingTimeout', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15744, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ClientProcessingTimeout") - attrs.DataType = ua.NodeId.from_string("i=290") + attrs.DisplayName = LocalizedText("ClientProcessingTimeout") + attrs.DataType = NumericNodeId(290, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15745") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15745, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15745") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15745, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15745") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15744") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15745, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15744, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15746") - node.BrowseName = ua.QualifiedName.from_string("GenerateFileForRead") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15744") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(15746, 0) + node.BrowseName = QualifiedName('GenerateFileForRead', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15744, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("GenerateFileForRead") + attrs.DisplayName = LocalizedText("GenerateFileForRead") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15746") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15747") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15746, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15747, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15746") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15748") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15746, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15748, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15746") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15746, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15746") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15744") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15746, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15744, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15747") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15746") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15747, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15746, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'GenerateOptions' - extobj.DataType = ua.NodeId.from_string("i=24") + extobj.DataType = NumericNodeId(24, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -35593,51 +35595,51 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15747") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15747, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15747") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15747, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15747") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15746") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15747, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15746, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15748") - node.BrowseName = ua.QualifiedName.from_string("OutputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15746") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15748, 0) + node.BrowseName = QualifiedName('OutputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15746, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OutputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("OutputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'FileNodeId' - extobj.DataType = ua.NodeId.from_string("i=17") + extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.Name = 'FileHandle' - extobj.DataType = ua.NodeId.from_string("i=7") + extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.Name = 'CompletionStateMachine' - extobj.DataType = ua.NodeId.from_string("i=17") + extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -35647,82 +35649,82 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15748") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15748, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15748") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15748, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15748") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15746") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15748, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15746, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15749") - node.BrowseName = ua.QualifiedName.from_string("GenerateFileForWrite") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15744") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(15749, 0) + node.BrowseName = QualifiedName('GenerateFileForWrite', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15744, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("GenerateFileForWrite") + attrs.DisplayName = LocalizedText("GenerateFileForWrite") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15749") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16359") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15749, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16359, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15749") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15750") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15749, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15750, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15749") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15749, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15749") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15744") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15749, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15744, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16359") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15749") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16359, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15749, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'GenerateOptions' - extobj.DataType = ua.NodeId.from_string("i=24") + extobj.DataType = NumericNodeId(24, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -35732,46 +35734,46 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16359") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16359, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16359") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16359, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16359") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15749") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16359, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15749, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15750") - node.BrowseName = ua.QualifiedName.from_string("OutputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15749") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15750, 0) + node.BrowseName = QualifiedName('OutputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15749, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OutputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("OutputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'FileNodeId' - extobj.DataType = ua.NodeId.from_string("i=17") + extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.Name = 'FileHandle' - extobj.DataType = ua.NodeId.from_string("i=7") + extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -35781,82 +35783,82 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15750") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15750, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15750") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15750, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15750") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15749") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15750, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15749, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15751") - node.BrowseName = ua.QualifiedName.from_string("CloseAndCommit") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15744") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(15751, 0) + node.BrowseName = QualifiedName('CloseAndCommit', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15744, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("CloseAndCommit") + attrs.DisplayName = LocalizedText("CloseAndCommit") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15751") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15752") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15751, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15752, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15751") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15753") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15751, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15753, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15751") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15751, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15751") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15744") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15751, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15744, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15752") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15751") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15752, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15751, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'FileHandle' - extobj.DataType = ua.NodeId.from_string("i=7") + extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -35866,41 +35868,41 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15752") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15752, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15752") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15752, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15752") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15751") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15752, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15751, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15753") - node.BrowseName = ua.QualifiedName.from_string("OutputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15751") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15753, 0) + node.BrowseName = QualifiedName('OutputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15751, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OutputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("OutputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'CompletionStateMachine' - extobj.DataType = ua.NodeId.from_string("i=17") + extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -35910,86 +35912,86 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15753") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15753, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15753") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15753, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15753") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15751") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15753, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15751, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15754") - node.BrowseName = ua.QualifiedName.from_string("") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=15744") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=15803") + node.RequestedNewNodeId = NumericNodeId(15754, 0) + node.BrowseName = QualifiedName('', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(15744, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(15803, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("") + attrs.DisplayName = LocalizedText("") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15754") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15755") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15754, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15755, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15754") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15794") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15754, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15794, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15754") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15803") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15754, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15803, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15754") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11508") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15754, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11508, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15754") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15744") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15754, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15744, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15755") - node.BrowseName = ua.QualifiedName.from_string("CurrentState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15754") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2760") + node.RequestedNewNodeId = NumericNodeId(15755, 0) + node.BrowseName = QualifiedName('CurrentState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15754, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2760, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentState") + attrs.DisplayName = LocalizedText("CurrentState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -35997,43 +35999,43 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15755") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15756") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15755, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15756, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15755") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2760") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15755, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2760, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15755") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15755, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15755") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15754") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15755, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15754, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15756") - node.BrowseName = ua.QualifiedName.from_string("Id") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15755") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15756, 0) + node.BrowseName = QualifiedName('Id', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15755, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") + attrs.DisplayName = LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -36041,225 +36043,225 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15756") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15756, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15756") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15756, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15756") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15755") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15756, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15755, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15794") - node.BrowseName = ua.QualifiedName.from_string("Reset") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15754") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(15794, 0) + node.BrowseName = QualifiedName('Reset', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15754, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("Reset") + attrs.DisplayName = LocalizedText("Reset") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15794") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15794, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15794") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15754") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15794, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15754, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15803") - node.BrowseName = ua.QualifiedName.from_string("FileTransferStateMachineType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2771") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(15803, 0) + node.BrowseName = QualifiedName('FileTransferStateMachineType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2771, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("FileTransferStateMachineType") + attrs.DisplayName = LocalizedText("FileTransferStateMachineType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15803") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15815") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15803, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15815, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15803") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15817") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15803, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15817, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15803") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15819") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15803, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15819, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15803") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15821") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15803, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15821, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15803") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15823") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15803, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15823, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15803") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15825") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15803, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15825, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15803") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15827") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15803, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15827, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15803") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15829") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15803, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15829, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15803") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15831") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15803, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15831, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15803") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15833") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15803, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15833, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15803") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15835") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15803, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15835, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15803") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15837") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15803, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15837, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15803") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15839") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15803, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15839, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15803") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15841") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15803, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15841, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15803") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15843") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15803, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15843, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=15803") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2771") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(15803, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2771, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15815") - node.BrowseName = ua.QualifiedName.from_string("Idle") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=15803") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2309") + node.RequestedNewNodeId = NumericNodeId(15815, 0) + node.BrowseName = QualifiedName('Idle', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(15803, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2309, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Idle") + attrs.DisplayName = LocalizedText("Idle") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15815") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15816") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15815, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15816, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15815") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2309") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15815, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2309, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15815") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15803") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15815, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15803, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15816") - node.BrowseName = ua.QualifiedName.from_string("StateNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15815") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15816, 0) + node.BrowseName = QualifiedName('StateNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15815, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("StateNumber") + attrs.DisplayName = LocalizedText("StateNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -36267,72 +36269,72 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15816") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15816, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15816") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15816, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15816") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15815") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15816, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15815, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15817") - node.BrowseName = ua.QualifiedName.from_string("ReadPrepare") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=15803") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2307") + node.RequestedNewNodeId = NumericNodeId(15817, 0) + node.BrowseName = QualifiedName('ReadPrepare', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(15803, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2307, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("ReadPrepare") + attrs.DisplayName = LocalizedText("ReadPrepare") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15817") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15818") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15817, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15818, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15817") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2307") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15817, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2307, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15817") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15803") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15817, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15803, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15818") - node.BrowseName = ua.QualifiedName.from_string("StateNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15817") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15818, 0) + node.BrowseName = QualifiedName('StateNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15817, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("StateNumber") + attrs.DisplayName = LocalizedText("StateNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -36340,72 +36342,72 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15818") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15818, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15818") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15818, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15818") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15817") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15818, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15817, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15819") - node.BrowseName = ua.QualifiedName.from_string("ReadTransfer") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=15803") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2307") + node.RequestedNewNodeId = NumericNodeId(15819, 0) + node.BrowseName = QualifiedName('ReadTransfer', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(15803, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2307, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("ReadTransfer") + attrs.DisplayName = LocalizedText("ReadTransfer") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15819") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15820") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15819, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15820, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15819") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2307") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15819, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2307, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15819") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15803") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15819, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15803, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15820") - node.BrowseName = ua.QualifiedName.from_string("StateNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15819") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15820, 0) + node.BrowseName = QualifiedName('StateNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15819, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("StateNumber") + attrs.DisplayName = LocalizedText("StateNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -36413,72 +36415,72 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15820") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15820, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15820") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15820, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15820") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15819") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15820, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15819, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15821") - node.BrowseName = ua.QualifiedName.from_string("ApplyWrite") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=15803") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2307") + node.RequestedNewNodeId = NumericNodeId(15821, 0) + node.BrowseName = QualifiedName('ApplyWrite', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(15803, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2307, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("ApplyWrite") + attrs.DisplayName = LocalizedText("ApplyWrite") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15821") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15822") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15821, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15822, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15821") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2307") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15821, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2307, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15821") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15803") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15821, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15803, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15822") - node.BrowseName = ua.QualifiedName.from_string("StateNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15821") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15822, 0) + node.BrowseName = QualifiedName('StateNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15821, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("StateNumber") + attrs.DisplayName = LocalizedText("StateNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -36486,72 +36488,72 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15822") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15822, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15822") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15822, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15822") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15821") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15822, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15821, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15823") - node.BrowseName = ua.QualifiedName.from_string("Error") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=15803") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2307") + node.RequestedNewNodeId = NumericNodeId(15823, 0) + node.BrowseName = QualifiedName('Error', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(15803, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2307, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Error") + attrs.DisplayName = LocalizedText("Error") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15823") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15824") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15823, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15824, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15823") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2307") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15823, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2307, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15823") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15803") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15823, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15803, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15824") - node.BrowseName = ua.QualifiedName.from_string("StateNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15823") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15824, 0) + node.BrowseName = QualifiedName('StateNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15823, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("StateNumber") + attrs.DisplayName = LocalizedText("StateNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -36559,72 +36561,72 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15824") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15824, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15824") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15824, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15824") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15823") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15824, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15823, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15825") - node.BrowseName = ua.QualifiedName.from_string("IdleToReadPrepare") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=15803") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2310") + node.RequestedNewNodeId = NumericNodeId(15825, 0) + node.BrowseName = QualifiedName('IdleToReadPrepare', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(15803, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2310, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("IdleToReadPrepare") + attrs.DisplayName = LocalizedText("IdleToReadPrepare") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15825") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15826") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15825, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15826, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15825") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2310") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15825, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2310, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15825") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15803") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15825, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15803, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15826") - node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15825") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15826, 0) + node.BrowseName = QualifiedName('TransitionNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15825, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionNumber") + attrs.DisplayName = LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -36632,72 +36634,72 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15826") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15826, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15826") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15826, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15826") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15825") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15826, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15825, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15827") - node.BrowseName = ua.QualifiedName.from_string("ReadPrepareToReadTransfer") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=15803") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2310") + node.RequestedNewNodeId = NumericNodeId(15827, 0) + node.BrowseName = QualifiedName('ReadPrepareToReadTransfer', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(15803, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2310, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("ReadPrepareToReadTransfer") + attrs.DisplayName = LocalizedText("ReadPrepareToReadTransfer") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15827") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15828") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15827, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15828, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15827") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2310") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15827, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2310, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15827") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15803") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15827, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15803, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15828") - node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15827") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15828, 0) + node.BrowseName = QualifiedName('TransitionNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15827, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionNumber") + attrs.DisplayName = LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -36705,72 +36707,72 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15828") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15828, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15828") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15828, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15828") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15827") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15828, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15827, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15829") - node.BrowseName = ua.QualifiedName.from_string("ReadTransferToIdle") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=15803") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2310") + node.RequestedNewNodeId = NumericNodeId(15829, 0) + node.BrowseName = QualifiedName('ReadTransferToIdle', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(15803, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2310, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("ReadTransferToIdle") + attrs.DisplayName = LocalizedText("ReadTransferToIdle") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15829") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15830") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15829, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15830, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15829") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2310") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15829, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2310, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15829") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15803") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15829, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15803, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15830") - node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15829") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15830, 0) + node.BrowseName = QualifiedName('TransitionNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15829, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionNumber") + attrs.DisplayName = LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -36778,72 +36780,72 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15830") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15830, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15830") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15830, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15830") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15829") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15830, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15829, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15831") - node.BrowseName = ua.QualifiedName.from_string("IdleToApplyWrite") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=15803") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2310") + node.RequestedNewNodeId = NumericNodeId(15831, 0) + node.BrowseName = QualifiedName('IdleToApplyWrite', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(15803, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2310, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("IdleToApplyWrite") + attrs.DisplayName = LocalizedText("IdleToApplyWrite") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15831") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15832") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15831, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15832, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15831") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2310") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15831, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2310, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15831") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15803") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15831, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15803, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15832") - node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15831") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15832, 0) + node.BrowseName = QualifiedName('TransitionNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15831, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionNumber") + attrs.DisplayName = LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -36851,72 +36853,72 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15832") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15832, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15832") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15832, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15832") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15831") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15832, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15831, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15833") - node.BrowseName = ua.QualifiedName.from_string("ApplyWriteToIdle") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=15803") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2310") + node.RequestedNewNodeId = NumericNodeId(15833, 0) + node.BrowseName = QualifiedName('ApplyWriteToIdle', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(15803, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2310, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("ApplyWriteToIdle") + attrs.DisplayName = LocalizedText("ApplyWriteToIdle") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15833") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15834") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15833, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15834, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15833") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2310") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15833, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2310, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15833") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15803") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15833, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15803, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15834") - node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15833") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15834, 0) + node.BrowseName = QualifiedName('TransitionNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15833, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionNumber") + attrs.DisplayName = LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -36924,72 +36926,72 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15834") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15834, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15834") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15834, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15834") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15833") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15834, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15833, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15835") - node.BrowseName = ua.QualifiedName.from_string("ReadPrepareToError") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=15803") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2310") + node.RequestedNewNodeId = NumericNodeId(15835, 0) + node.BrowseName = QualifiedName('ReadPrepareToError', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(15803, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2310, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("ReadPrepareToError") + attrs.DisplayName = LocalizedText("ReadPrepareToError") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15835") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15836") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15835, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15836, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15835") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2310") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15835, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2310, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15835") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15803") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15835, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15803, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15836") - node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15835") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15836, 0) + node.BrowseName = QualifiedName('TransitionNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15835, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionNumber") + attrs.DisplayName = LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -36997,72 +36999,72 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15836") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15836, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15836") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15836, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15836") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15835") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15836, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15835, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15837") - node.BrowseName = ua.QualifiedName.from_string("ReadTransferToError") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=15803") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2310") + node.RequestedNewNodeId = NumericNodeId(15837, 0) + node.BrowseName = QualifiedName('ReadTransferToError', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(15803, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2310, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("ReadTransferToError") + attrs.DisplayName = LocalizedText("ReadTransferToError") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15837") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15838") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15837, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15838, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15837") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2310") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15837, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2310, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15837") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15803") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15837, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15803, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15838") - node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15837") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15838, 0) + node.BrowseName = QualifiedName('TransitionNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15837, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionNumber") + attrs.DisplayName = LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -37070,72 +37072,72 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15838") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15838, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15838") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15838, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15838") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15837") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15838, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15837, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15839") - node.BrowseName = ua.QualifiedName.from_string("ApplyWriteToError") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=15803") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2310") + node.RequestedNewNodeId = NumericNodeId(15839, 0) + node.BrowseName = QualifiedName('ApplyWriteToError', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(15803, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2310, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("ApplyWriteToError") + attrs.DisplayName = LocalizedText("ApplyWriteToError") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15839") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15840") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15839, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15840, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15839") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2310") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15839, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2310, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15839") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15803") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15839, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15803, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15840") - node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15839") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15840, 0) + node.BrowseName = QualifiedName('TransitionNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15839, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionNumber") + attrs.DisplayName = LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -37143,72 +37145,72 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15840") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15840, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15840") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15840, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15840") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15839") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15840, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15839, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15841") - node.BrowseName = ua.QualifiedName.from_string("ErrorToIdle") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=15803") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2310") + node.RequestedNewNodeId = NumericNodeId(15841, 0) + node.BrowseName = QualifiedName('ErrorToIdle', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(15803, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2310, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("ErrorToIdle") + attrs.DisplayName = LocalizedText("ErrorToIdle") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15841") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15842") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15841, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15842, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15841") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2310") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15841, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2310, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15841") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15803") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15841, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15803, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15842") - node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15841") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15842, 0) + node.BrowseName = QualifiedName('TransitionNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15841, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionNumber") + attrs.DisplayName = LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -37216,237 +37218,237 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15842") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15842, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15842") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15842, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15842") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15841") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15842, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15841, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15843") - node.BrowseName = ua.QualifiedName.from_string("Reset") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15803") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(15843, 0) + node.BrowseName = QualifiedName('Reset', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15803, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("Reset") + attrs.DisplayName = LocalizedText("Reset") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15843") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15843, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15843") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15803") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15843, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15803, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15607") - node.BrowseName = ua.QualifiedName.from_string("RoleSetType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=58") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(15607, 0) + node.BrowseName = QualifiedName('RoleSetType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(58, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.Description = ua.LocalizedText("A container for the roles supported by the server.") - attrs.DisplayName = ua.LocalizedText("RoleSetType") + attrs.Description = LocalizedText("A container for the roles supported by the server.") + attrs.DisplayName = LocalizedText("RoleSetType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15607") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15608") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15607, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15608, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15607") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15997") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15607, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15997, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15607") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16000") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15607, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16000, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=15607") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=58") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(15607, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(58, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15608") - node.BrowseName = ua.QualifiedName.from_string("") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=15607") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=15620") + node.RequestedNewNodeId = NumericNodeId(15608, 0) + node.BrowseName = QualifiedName('', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(15607, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(15620, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("") + attrs.DisplayName = LocalizedText("") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15608") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16162") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15608, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16162, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15608") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15620") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15608, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15620, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15608") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11508") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15608, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11508, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15608") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15607") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15608, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15607, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16162") - node.BrowseName = ua.QualifiedName.from_string("Identities") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15608") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16162, 0) + node.BrowseName = QualifiedName('Identities', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15608, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Identities") - attrs.DataType = ua.NodeId.from_string("i=15634") + attrs.DisplayName = LocalizedText("Identities") + attrs.DataType = NumericNodeId(15634, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16162") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16162, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16162") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16162, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16162") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15608") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16162, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15608, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15997") - node.BrowseName = ua.QualifiedName.from_string("AddRole") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15607") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(15997, 0) + node.BrowseName = QualifiedName('AddRole', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15607, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("AddRole") + attrs.DisplayName = LocalizedText("AddRole") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15997") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15998") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15997, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15998, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15997") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15999") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15997, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15999, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15997") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15997, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15997") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15607") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15997, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15607, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15998") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15997") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15998, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15997, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RoleName' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() extobj.Name = 'NamespaceUri' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -37456,41 +37458,41 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15998") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15998, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15998") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15998, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15998") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15997") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15998, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15997, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15999") - node.BrowseName = ua.QualifiedName.from_string("OutputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15997") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15999, 0) + node.BrowseName = QualifiedName('OutputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15997, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OutputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("OutputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RoleNodeId' - extobj.DataType = ua.NodeId.from_string("i=17") + extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -37500,75 +37502,75 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15999") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15999, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15999") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15999, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15999") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15997") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15999, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15997, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16000") - node.BrowseName = ua.QualifiedName.from_string("RemoveRole") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15607") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16000, 0) + node.BrowseName = QualifiedName('RemoveRole', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15607, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("RemoveRole") + attrs.DisplayName = LocalizedText("RemoveRole") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16000") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16001") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16000, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16001, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16000") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16000, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16000") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15607") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16000, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15607, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16001") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16000") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16001, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16000, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RoleNodeId' - extobj.DataType = ua.NodeId.from_string("i=17") + extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -37578,171 +37580,171 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16001") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16001, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16001") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16001, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16001") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16000") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16001, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16000, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15620") - node.BrowseName = ua.QualifiedName.from_string("RoleType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=58") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(15620, 0) + node.BrowseName = QualifiedName('RoleType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(58, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("RoleType") + attrs.DisplayName = LocalizedText("RoleType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15620") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16173") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15620, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16173, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15620") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16174") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15620, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16174, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15620") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15410") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15620, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15410, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15620") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16175") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15620, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16175, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15620") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15411") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15620, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15411, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15620") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15624") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15620, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15624, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15620") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15626") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15620, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15626, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15620") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16176") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15620, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16176, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15620") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16178") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15620, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16178, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15620") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16180") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15620, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16180, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15620") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16182") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15620, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16182, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=15620") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=58") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(15620, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(58, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16173") - node.BrowseName = ua.QualifiedName.from_string("Identities") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15620") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16173, 0) + node.BrowseName = QualifiedName('Identities', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15620, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Identities") - attrs.DataType = ua.NodeId.from_string("i=15634") + attrs.DisplayName = LocalizedText("Identities") + attrs.DataType = NumericNodeId(15634, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16173") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16173, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16173") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16173, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16173") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15620") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16173, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15620, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16174") - node.BrowseName = ua.QualifiedName.from_string("Applications") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15620") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16174, 0) + node.BrowseName = QualifiedName('Applications', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15620, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Applications") + attrs.DisplayName = LocalizedText("Applications") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 node.NodeAttributes = attrs @@ -37750,36 +37752,36 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16174") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16174, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16174") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16174, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16174") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15620") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16174, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15620, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15410") - node.BrowseName = ua.QualifiedName.from_string("ApplicationsExclude") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15620") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15410, 0) + node.BrowseName = QualifiedName('ApplicationsExclude', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15620, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ApplicationsExclude") + attrs.DisplayName = LocalizedText("ApplicationsExclude") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -37787,73 +37789,73 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15410") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15410, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15410") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15410, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15410") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15620") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15410, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15620, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16175") - node.BrowseName = ua.QualifiedName.from_string("Endpoints") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15620") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16175, 0) + node.BrowseName = QualifiedName('Endpoints', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15620, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Endpoints") - attrs.DataType = ua.NodeId.from_string("i=15528") + attrs.DisplayName = LocalizedText("Endpoints") + attrs.DataType = NumericNodeId(15528, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16175") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16175, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16175") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16175, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16175") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15620") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16175, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15620, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15411") - node.BrowseName = ua.QualifiedName.from_string("EndpointsExclude") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15620") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15411, 0) + node.BrowseName = QualifiedName('EndpointsExclude', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15620, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EndpointsExclude") + attrs.DisplayName = LocalizedText("EndpointsExclude") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -37861,75 +37863,75 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15411") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15411, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15411") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15411, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15411") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15620") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15411, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15620, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15624") - node.BrowseName = ua.QualifiedName.from_string("AddIdentity") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15620") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(15624, 0) + node.BrowseName = QualifiedName('AddIdentity', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15620, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("AddIdentity") + attrs.DisplayName = LocalizedText("AddIdentity") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15624") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15625") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15624, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15625, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15624") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15624, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15624") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15620") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15624, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15620, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15625") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15624") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15625, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15624, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToAdd' - extobj.DataType = ua.NodeId.from_string("i=15634") + extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -37939,75 +37941,75 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15625") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15625, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15625") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15625, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15625") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15624") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15625, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15624, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15626") - node.BrowseName = ua.QualifiedName.from_string("RemoveIdentity") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15620") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(15626, 0) + node.BrowseName = QualifiedName('RemoveIdentity', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15620, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("RemoveIdentity") + attrs.DisplayName = LocalizedText("RemoveIdentity") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15626") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15627") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15626, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15627, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15626") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15626, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15626") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15620") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15626, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15620, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15627") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15626") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15627, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15626, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToRemove' - extobj.DataType = ua.NodeId.from_string("i=15634") + extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -38017,75 +38019,75 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15627") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15627, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15627") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15627, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15627") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15626") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15627, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15626, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16176") - node.BrowseName = ua.QualifiedName.from_string("AddApplication") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15620") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16176, 0) + node.BrowseName = QualifiedName('AddApplication', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15620, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("AddApplication") + attrs.DisplayName = LocalizedText("AddApplication") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16176") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16177") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16176, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16177, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16176") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16176, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16176") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15620") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16176, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15620, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16177") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16176") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16177, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16176, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToAdd' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -38095,75 +38097,75 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16177") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16177, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16177") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16177, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16177") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16176") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16177, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16176, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16178") - node.BrowseName = ua.QualifiedName.from_string("RemoveApplication") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15620") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16178, 0) + node.BrowseName = QualifiedName('RemoveApplication', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15620, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("RemoveApplication") + attrs.DisplayName = LocalizedText("RemoveApplication") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16178") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16179") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16178, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16179, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16178") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16178, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16178") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15620") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16178, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15620, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16179") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16178") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16179, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16178, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToRemove' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -38173,75 +38175,75 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16179") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16179, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16179") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16179, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16179") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16178") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16179, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16178, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16180") - node.BrowseName = ua.QualifiedName.from_string("AddEndpoint") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15620") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16180, 0) + node.BrowseName = QualifiedName('AddEndpoint', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15620, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("AddEndpoint") + attrs.DisplayName = LocalizedText("AddEndpoint") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16180") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16181") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16180, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16181, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16180") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16180, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16180") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15620") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16180, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15620, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16181") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16180") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16181, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16180, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToAdd' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -38251,75 +38253,75 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16181") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16181, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16181") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16181, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16181") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16180") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16181, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16180, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16182") - node.BrowseName = ua.QualifiedName.from_string("RemoveEndpoint") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15620") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16182, 0) + node.BrowseName = QualifiedName('RemoveEndpoint', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15620, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("RemoveEndpoint") + attrs.DisplayName = LocalizedText("RemoveEndpoint") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16182") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16183") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16182, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16183, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16182") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16182, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16182") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15620") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16182, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15620, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16183") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16182") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16183, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16182, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToRemove' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -38329,64 +38331,64 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16183") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16183, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16183") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16183, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16183") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16182") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16183, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16182, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15632") - node.BrowseName = ua.QualifiedName.from_string("IdentityCriteriaType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=29") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(15632, 0) + node.BrowseName = QualifiedName('IdentityCriteriaType', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(29, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("IdentityCriteriaType") + attrs.DisplayName = LocalizedText("IdentityCriteriaType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15632") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15633") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15632, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15633, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=15632") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=29") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(15632, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(29, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15633") - node.BrowseName = ua.QualifiedName.from_string("EnumValues") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15632") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15633, 0) + node.BrowseName = QualifiedName('EnumValues', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15632, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EnumValues") - attrs.DataType = ua.NodeId.from_string("i=7594") + attrs.DisplayName = LocalizedText("EnumValues") + attrs.DataType = NumericNodeId(7594, 0) value = [] extobj = ua.EnumValueType() extobj.Value = 1 @@ -38419,214 +38421,214 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15633") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15633, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=15633") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(15633, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15633") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15632") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15633, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15632, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15634") - node.BrowseName = ua.QualifiedName.from_string("IdentityMappingRuleType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(15634, 0) + node.BrowseName = QualifiedName('IdentityMappingRuleType', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("IdentityMappingRuleType") + attrs.DisplayName = LocalizedText("IdentityMappingRuleType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=15634") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(15634, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17641") - node.BrowseName = ua.QualifiedName.from_string("RoleMappingRuleChangedAuditEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2127") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(17641, 0) + node.BrowseName = QualifiedName('RoleMappingRuleChangedAuditEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2127, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("RoleMappingRuleChangedAuditEventType") + attrs.DisplayName = LocalizedText("RoleMappingRuleChangedAuditEventType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=17641") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2127") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(17641, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2127, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15644") - node.BrowseName = ua.QualifiedName.from_string("AnonymousRole") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=15606") - node.ReferenceTypeId = ua.NodeId.from_string("i=35") - node.TypeDefinition = ua.NodeId.from_string("i=15620") + node.RequestedNewNodeId = NumericNodeId(15644, 0) + node.BrowseName = QualifiedName('AnonymousRole', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(15606, 0) + node.ReferenceTypeId = NumericNodeId(35, 0) + node.TypeDefinition = NumericNodeId(15620, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("The Role has very limited access for use when a Session has anonymous credentials.") - attrs.DisplayName = ua.LocalizedText("Anonymous") + attrs.Description = LocalizedText("The Role has very limited access for use when a Session has anonymous credentials.") + attrs.DisplayName = LocalizedText("Anonymous") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15644") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16192") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15644, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16192, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15644") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16193") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15644, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16193, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15644") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15412") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15644, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15412, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15644") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16194") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15644, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16194, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15644") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15413") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15644, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15413, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15644") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15648") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15644, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15648, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15644") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15650") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15644, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15650, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15644") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16195") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15644, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16195, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15644") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16197") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15644, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16197, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15644") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16199") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15644, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16199, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15644") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16201") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15644, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16201, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=35") - ref.SourceNodeId = ua.NodeId.from_string("i=15644") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15606") + ref.ReferenceTypeId = NumericNodeId(35, 0) + ref.SourceNodeId = NumericNodeId(15644, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15606, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15644") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15620") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15644, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15620, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16192") - node.BrowseName = ua.QualifiedName.from_string("Identities") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15644") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16192, 0) + node.BrowseName = QualifiedName('Identities', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15644, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Identities") - attrs.DataType = ua.NodeId.from_string("i=15634") + attrs.DisplayName = LocalizedText("Identities") + attrs.DataType = NumericNodeId(15634, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16192") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16192, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16192") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15644") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16192, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15644, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16193") - node.BrowseName = ua.QualifiedName.from_string("Applications") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15644") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16193, 0) + node.BrowseName = QualifiedName('Applications', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15644, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Applications") + attrs.DisplayName = LocalizedText("Applications") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 node.NodeAttributes = attrs @@ -38634,29 +38636,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16193") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16193, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16193") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15644") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16193, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15644, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15412") - node.BrowseName = ua.QualifiedName.from_string("ApplicationsExclude") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15644") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15412, 0) + node.BrowseName = QualifiedName('ApplicationsExclude', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15644, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ApplicationsExclude") + attrs.DisplayName = LocalizedText("ApplicationsExclude") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -38664,59 +38666,59 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15412") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15412, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15412") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15644") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15412, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15644, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16194") - node.BrowseName = ua.QualifiedName.from_string("Endpoints") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15644") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16194, 0) + node.BrowseName = QualifiedName('Endpoints', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15644, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Endpoints") - attrs.DataType = ua.NodeId.from_string("i=15528") + attrs.DisplayName = LocalizedText("Endpoints") + attrs.DataType = NumericNodeId(15528, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16194") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16194, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16194") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15644") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16194, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15644, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15413") - node.BrowseName = ua.QualifiedName.from_string("EndpointsExclude") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15644") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15413, 0) + node.BrowseName = QualifiedName('EndpointsExclude', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15644, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EndpointsExclude") + attrs.DisplayName = LocalizedText("EndpointsExclude") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -38724,61 +38726,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15413") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15413, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15413") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15644") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15413, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15644, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15648") - node.BrowseName = ua.QualifiedName.from_string("AddIdentity") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15644") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(15648, 0) + node.BrowseName = QualifiedName('AddIdentity', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15644, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("AddIdentity") + attrs.DisplayName = LocalizedText("AddIdentity") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15648") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15649") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15648, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15649, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15648") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15644") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15648, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15644, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15649") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15648") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15649, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15648, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToAdd' - extobj.DataType = ua.NodeId.from_string("i=15634") + extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -38788,61 +38790,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15649") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15649, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15649") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15648") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15649, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15648, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15650") - node.BrowseName = ua.QualifiedName.from_string("RemoveIdentity") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15644") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(15650, 0) + node.BrowseName = QualifiedName('RemoveIdentity', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15644, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("RemoveIdentity") + attrs.DisplayName = LocalizedText("RemoveIdentity") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15650") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15651") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15650, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15651, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15650") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15644") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15650, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15644, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15651") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15650") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15651, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15650, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToRemove' - extobj.DataType = ua.NodeId.from_string("i=15634") + extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -38852,61 +38854,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15651") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15651, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15651") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15650") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15651, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15650, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16195") - node.BrowseName = ua.QualifiedName.from_string("AddApplication") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15644") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16195, 0) + node.BrowseName = QualifiedName('AddApplication', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15644, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("AddApplication") + attrs.DisplayName = LocalizedText("AddApplication") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16195") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16196") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16195, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16196, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16195") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15644") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16195, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15644, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16196") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16195") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16196, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16195, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToAdd' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -38916,61 +38918,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16196") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16196, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16196") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16195") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16196, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16195, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16197") - node.BrowseName = ua.QualifiedName.from_string("RemoveApplication") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15644") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16197, 0) + node.BrowseName = QualifiedName('RemoveApplication', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15644, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("RemoveApplication") + attrs.DisplayName = LocalizedText("RemoveApplication") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16198") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16198, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15644") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15644, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16198") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16197") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16198, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16197, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToRemove' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -38980,61 +38982,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16198") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16198, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16198") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16197") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16198, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16197, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16199") - node.BrowseName = ua.QualifiedName.from_string("AddEndpoint") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15644") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16199, 0) + node.BrowseName = QualifiedName('AddEndpoint', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15644, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("AddEndpoint") + attrs.DisplayName = LocalizedText("AddEndpoint") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16199") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16200") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16199, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16200, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16199") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15644") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16199, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15644, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16200") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16199") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16200, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16199, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToAdd' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -39044,61 +39046,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16200") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16200, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16200") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16199") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16200, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16199, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16201") - node.BrowseName = ua.QualifiedName.from_string("RemoveEndpoint") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15644") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16201, 0) + node.BrowseName = QualifiedName('RemoveEndpoint', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15644, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("RemoveEndpoint") + attrs.DisplayName = LocalizedText("RemoveEndpoint") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16201") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16202") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16201, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16202, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16201") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15644") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16201, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15644, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16202") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16201") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16202, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16201, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToRemove' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -39108,166 +39110,166 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16202") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16202, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16202") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16201") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16202, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16201, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15656") - node.BrowseName = ua.QualifiedName.from_string("AuthenticatedUserRole") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=15606") - node.ReferenceTypeId = ua.NodeId.from_string("i=35") - node.TypeDefinition = ua.NodeId.from_string("i=15620") + node.RequestedNewNodeId = NumericNodeId(15656, 0) + node.BrowseName = QualifiedName('AuthenticatedUserRole', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(15606, 0) + node.ReferenceTypeId = NumericNodeId(35, 0) + node.TypeDefinition = NumericNodeId(15620, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("The Role has limited access for use when a Session has valid non-anonymous credentials but has not been explicity granted access to a Role.") - attrs.DisplayName = ua.LocalizedText("AuthenticatedUser") + attrs.Description = LocalizedText("The Role has limited access for use when a Session has valid non-anonymous credentials but has not been explicity granted access to a Role.") + attrs.DisplayName = LocalizedText("AuthenticatedUser") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15656") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16203") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15656, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16203, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15656") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16204") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15656, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16204, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15656") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15414") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15656, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15414, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15656") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16205") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15656, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16205, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15656") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15415") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15656, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15415, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15656") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15660") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15656, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15660, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15656") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15662") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15656, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15662, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15656") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16206") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15656, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16206, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15656") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16208") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15656, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16208, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15656") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16210") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15656, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16210, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15656") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16212") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15656, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16212, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=35") - ref.SourceNodeId = ua.NodeId.from_string("i=15656") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15606") + ref.ReferenceTypeId = NumericNodeId(35, 0) + ref.SourceNodeId = NumericNodeId(15656, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15606, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15656") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15620") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15656, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15620, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16203") - node.BrowseName = ua.QualifiedName.from_string("Identities") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15656") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16203, 0) + node.BrowseName = QualifiedName('Identities', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15656, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Identities") - attrs.DataType = ua.NodeId.from_string("i=15634") + attrs.DisplayName = LocalizedText("Identities") + attrs.DataType = NumericNodeId(15634, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16203") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16203, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16203") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15656") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16203, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15656, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16204") - node.BrowseName = ua.QualifiedName.from_string("Applications") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15656") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16204, 0) + node.BrowseName = QualifiedName('Applications', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15656, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Applications") + attrs.DisplayName = LocalizedText("Applications") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 node.NodeAttributes = attrs @@ -39275,29 +39277,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16204") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16204, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16204") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15656") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16204, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15656, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15414") - node.BrowseName = ua.QualifiedName.from_string("ApplicationsExclude") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15656") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15414, 0) + node.BrowseName = QualifiedName('ApplicationsExclude', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15656, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ApplicationsExclude") + attrs.DisplayName = LocalizedText("ApplicationsExclude") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -39305,59 +39307,59 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15414") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15414, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15414") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15656") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15414, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15656, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16205") - node.BrowseName = ua.QualifiedName.from_string("Endpoints") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15656") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16205, 0) + node.BrowseName = QualifiedName('Endpoints', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15656, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Endpoints") - attrs.DataType = ua.NodeId.from_string("i=15528") + attrs.DisplayName = LocalizedText("Endpoints") + attrs.DataType = NumericNodeId(15528, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16205") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16205, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16205") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15656") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16205, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15656, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15415") - node.BrowseName = ua.QualifiedName.from_string("EndpointsExclude") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15656") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15415, 0) + node.BrowseName = QualifiedName('EndpointsExclude', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15656, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EndpointsExclude") + attrs.DisplayName = LocalizedText("EndpointsExclude") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -39365,61 +39367,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15415") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15415, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15415") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15656") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15415, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15656, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15660") - node.BrowseName = ua.QualifiedName.from_string("AddIdentity") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15656") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(15660, 0) + node.BrowseName = QualifiedName('AddIdentity', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15656, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("AddIdentity") + attrs.DisplayName = LocalizedText("AddIdentity") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15660") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15661") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15660, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15661, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15660") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15656") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15660, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15656, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15661") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15660") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15661, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15660, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToAdd' - extobj.DataType = ua.NodeId.from_string("i=15634") + extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -39429,61 +39431,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15661") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15661, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15661") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15660") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15661, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15660, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15662") - node.BrowseName = ua.QualifiedName.from_string("RemoveIdentity") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15656") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(15662, 0) + node.BrowseName = QualifiedName('RemoveIdentity', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15656, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("RemoveIdentity") + attrs.DisplayName = LocalizedText("RemoveIdentity") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15662") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15663") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15662, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15663, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15662") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15656") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15662, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15656, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15663") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15662") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15663, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15662, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToRemove' - extobj.DataType = ua.NodeId.from_string("i=15634") + extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -39493,61 +39495,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15663") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15663, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15663") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15662") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15663, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15662, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16206") - node.BrowseName = ua.QualifiedName.from_string("AddApplication") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15656") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16206, 0) + node.BrowseName = QualifiedName('AddApplication', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15656, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("AddApplication") + attrs.DisplayName = LocalizedText("AddApplication") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16206") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16207") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16206, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16207, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16206") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15656") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16206, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15656, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16207") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16206") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16207, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16206, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToAdd' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -39557,61 +39559,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16207") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16207, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16207") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16206") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16207, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16206, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16208") - node.BrowseName = ua.QualifiedName.from_string("RemoveApplication") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15656") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16208, 0) + node.BrowseName = QualifiedName('RemoveApplication', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15656, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("RemoveApplication") + attrs.DisplayName = LocalizedText("RemoveApplication") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16208") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16209") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16208, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16209, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16208") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15656") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16208, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15656, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16209") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16208") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16209, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16208, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToRemove' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -39621,61 +39623,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16209") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16209, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16209") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16208") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16209, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16208, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16210") - node.BrowseName = ua.QualifiedName.from_string("AddEndpoint") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15656") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16210, 0) + node.BrowseName = QualifiedName('AddEndpoint', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15656, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("AddEndpoint") + attrs.DisplayName = LocalizedText("AddEndpoint") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16210") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16211") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16210, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16211, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16210") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15656") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16210, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15656, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16211") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16210") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16211, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16210, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToAdd' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -39685,61 +39687,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16211") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16211, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16211") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16210") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16211, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16210, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16212") - node.BrowseName = ua.QualifiedName.from_string("RemoveEndpoint") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15656") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16212, 0) + node.BrowseName = QualifiedName('RemoveEndpoint', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15656, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("RemoveEndpoint") + attrs.DisplayName = LocalizedText("RemoveEndpoint") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16212") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16213") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16212, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16213, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16212") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15656") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16212, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15656, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16213") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16212") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16213, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16212, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToRemove' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -39749,166 +39751,166 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16213") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16213, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16213") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16212") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16213, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16212, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15668") - node.BrowseName = ua.QualifiedName.from_string("ObserverRole") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=15606") - node.ReferenceTypeId = ua.NodeId.from_string("i=35") - node.TypeDefinition = ua.NodeId.from_string("i=15620") + node.RequestedNewNodeId = NumericNodeId(15668, 0) + node.BrowseName = QualifiedName('ObserverRole', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(15606, 0) + node.ReferenceTypeId = NumericNodeId(35, 0) + node.TypeDefinition = NumericNodeId(15620, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("The Role is allowed to browse, read live data, read historical data/events or subscribe to data/events.") - attrs.DisplayName = ua.LocalizedText("Observer") + attrs.Description = LocalizedText("The Role is allowed to browse, read live data, read historical data/events or subscribe to data/events.") + attrs.DisplayName = LocalizedText("Observer") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15668") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16214") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15668, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16214, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15668") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16215") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15668, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16215, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15668") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15416") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15668, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15416, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15668") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16216") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15668, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16216, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15668") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15417") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15668, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15417, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15668") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15672") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15668, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15672, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15668") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15674") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15668, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15674, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15668") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16217") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15668, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16217, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15668") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16219") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15668, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16219, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15668") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16221") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15668, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16221, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15668") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16223") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15668, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16223, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=35") - ref.SourceNodeId = ua.NodeId.from_string("i=15668") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15606") + ref.ReferenceTypeId = NumericNodeId(35, 0) + ref.SourceNodeId = NumericNodeId(15668, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15606, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15668") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15620") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15668, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15620, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16214") - node.BrowseName = ua.QualifiedName.from_string("Identities") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15668") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16214, 0) + node.BrowseName = QualifiedName('Identities', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15668, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Identities") - attrs.DataType = ua.NodeId.from_string("i=15634") + attrs.DisplayName = LocalizedText("Identities") + attrs.DataType = NumericNodeId(15634, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16214") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16214, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16214") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15668") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16214, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15668, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16215") - node.BrowseName = ua.QualifiedName.from_string("Applications") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15668") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16215, 0) + node.BrowseName = QualifiedName('Applications', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15668, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Applications") + attrs.DisplayName = LocalizedText("Applications") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 node.NodeAttributes = attrs @@ -39916,29 +39918,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16215") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16215, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16215") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15668") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16215, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15668, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15416") - node.BrowseName = ua.QualifiedName.from_string("ApplicationsExclude") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15668") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15416, 0) + node.BrowseName = QualifiedName('ApplicationsExclude', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15668, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ApplicationsExclude") + attrs.DisplayName = LocalizedText("ApplicationsExclude") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -39946,59 +39948,59 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15416") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15416, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15416") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15668") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15416, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15668, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16216") - node.BrowseName = ua.QualifiedName.from_string("Endpoints") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15668") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16216, 0) + node.BrowseName = QualifiedName('Endpoints', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15668, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Endpoints") - attrs.DataType = ua.NodeId.from_string("i=15528") + attrs.DisplayName = LocalizedText("Endpoints") + attrs.DataType = NumericNodeId(15528, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16216") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16216, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16216") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15668") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16216, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15668, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15417") - node.BrowseName = ua.QualifiedName.from_string("EndpointsExclude") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15668") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15417, 0) + node.BrowseName = QualifiedName('EndpointsExclude', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15668, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EndpointsExclude") + attrs.DisplayName = LocalizedText("EndpointsExclude") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -40006,61 +40008,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15417") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15417, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15417") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15668") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15417, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15668, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15672") - node.BrowseName = ua.QualifiedName.from_string("AddIdentity") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15668") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(15672, 0) + node.BrowseName = QualifiedName('AddIdentity', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15668, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("AddIdentity") + attrs.DisplayName = LocalizedText("AddIdentity") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15672") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15673") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15672, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15673, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15672") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15668") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15672, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15668, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15673") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15672") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15673, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15672, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToAdd' - extobj.DataType = ua.NodeId.from_string("i=15634") + extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -40070,61 +40072,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15673") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15673, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15673") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15672") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15673, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15672, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15674") - node.BrowseName = ua.QualifiedName.from_string("RemoveIdentity") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15668") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(15674, 0) + node.BrowseName = QualifiedName('RemoveIdentity', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15668, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("RemoveIdentity") + attrs.DisplayName = LocalizedText("RemoveIdentity") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15674") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15675") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15674, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15675, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15674") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15668") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15674, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15668, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15675") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15674") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15675, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15674, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToRemove' - extobj.DataType = ua.NodeId.from_string("i=15634") + extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -40134,61 +40136,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15675") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15675, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15675") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15674") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15675, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15674, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16217") - node.BrowseName = ua.QualifiedName.from_string("AddApplication") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15668") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16217, 0) + node.BrowseName = QualifiedName('AddApplication', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15668, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("AddApplication") + attrs.DisplayName = LocalizedText("AddApplication") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16217") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16218") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16217, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16218, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16217") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15668") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16217, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15668, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16218") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16217") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16218, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16217, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToAdd' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -40198,61 +40200,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16218") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16218, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16218") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16217") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16218, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16217, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16219") - node.BrowseName = ua.QualifiedName.from_string("RemoveApplication") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15668") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16219, 0) + node.BrowseName = QualifiedName('RemoveApplication', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15668, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("RemoveApplication") + attrs.DisplayName = LocalizedText("RemoveApplication") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16219") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16220") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16219, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16220, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16219") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15668") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16219, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15668, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16220") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16219") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16220, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16219, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToRemove' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -40262,61 +40264,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16220") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16220, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16220") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16219") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16220, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16219, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16221") - node.BrowseName = ua.QualifiedName.from_string("AddEndpoint") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15668") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16221, 0) + node.BrowseName = QualifiedName('AddEndpoint', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15668, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("AddEndpoint") + attrs.DisplayName = LocalizedText("AddEndpoint") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16221") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16222") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16221, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16222, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16221") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15668") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16221, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15668, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16222") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16221") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16222, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16221, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToAdd' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -40326,61 +40328,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16222") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16222, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16222") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16221") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16222, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16221, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16223") - node.BrowseName = ua.QualifiedName.from_string("RemoveEndpoint") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15668") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16223, 0) + node.BrowseName = QualifiedName('RemoveEndpoint', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15668, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("RemoveEndpoint") + attrs.DisplayName = LocalizedText("RemoveEndpoint") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16223") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16224") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16223, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16224, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16223") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15668") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16223, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15668, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16224") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16223") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16224, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16223, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToRemove' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -40390,166 +40392,166 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16224") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16224, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16224") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16223") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16224, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16223, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15680") - node.BrowseName = ua.QualifiedName.from_string("OperatorRole") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=15606") - node.ReferenceTypeId = ua.NodeId.from_string("i=35") - node.TypeDefinition = ua.NodeId.from_string("i=15620") + node.RequestedNewNodeId = NumericNodeId(15680, 0) + node.BrowseName = QualifiedName('OperatorRole', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(15606, 0) + node.ReferenceTypeId = NumericNodeId(35, 0) + node.TypeDefinition = NumericNodeId(15620, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("The Role is allowed to browse, read live data, read historical data/events or subscribe to data/events.") - attrs.DisplayName = ua.LocalizedText("Operator") + attrs.Description = LocalizedText("The Role is allowed to browse, read live data, read historical data/events or subscribe to data/events.") + attrs.DisplayName = LocalizedText("Operator") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15680") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16225") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15680, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16225, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15680") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16226") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15680, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16226, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15680") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15418") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15680, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15418, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15680") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16227") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15680, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16227, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15680") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15423") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15680, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15423, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15680") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15684") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15680, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15684, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15680") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15686") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15680, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15686, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15680") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16228") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15680, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16228, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15680") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16230") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15680, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16230, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15680") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16232") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15680, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16232, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15680") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16234") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15680, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16234, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=35") - ref.SourceNodeId = ua.NodeId.from_string("i=15680") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15606") + ref.ReferenceTypeId = NumericNodeId(35, 0) + ref.SourceNodeId = NumericNodeId(15680, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15606, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15680") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15620") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15680, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15620, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16225") - node.BrowseName = ua.QualifiedName.from_string("Identities") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15680") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16225, 0) + node.BrowseName = QualifiedName('Identities', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15680, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Identities") - attrs.DataType = ua.NodeId.from_string("i=15634") + attrs.DisplayName = LocalizedText("Identities") + attrs.DataType = NumericNodeId(15634, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16225") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16225, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16225") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15680") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16225, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15680, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16226") - node.BrowseName = ua.QualifiedName.from_string("Applications") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15680") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16226, 0) + node.BrowseName = QualifiedName('Applications', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15680, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Applications") + attrs.DisplayName = LocalizedText("Applications") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 node.NodeAttributes = attrs @@ -40557,29 +40559,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16226") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16226, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16226") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15680") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16226, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15680, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15418") - node.BrowseName = ua.QualifiedName.from_string("ApplicationsExclude") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15680") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15418, 0) + node.BrowseName = QualifiedName('ApplicationsExclude', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15680, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ApplicationsExclude") + attrs.DisplayName = LocalizedText("ApplicationsExclude") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -40587,59 +40589,59 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15418") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15418, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15418") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15680") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15418, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15680, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16227") - node.BrowseName = ua.QualifiedName.from_string("Endpoints") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15680") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16227, 0) + node.BrowseName = QualifiedName('Endpoints', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15680, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Endpoints") - attrs.DataType = ua.NodeId.from_string("i=15528") + attrs.DisplayName = LocalizedText("Endpoints") + attrs.DataType = NumericNodeId(15528, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16227") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16227, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16227") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15680") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16227, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15680, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15423") - node.BrowseName = ua.QualifiedName.from_string("EndpointsExclude") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15680") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15423, 0) + node.BrowseName = QualifiedName('EndpointsExclude', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15680, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EndpointsExclude") + attrs.DisplayName = LocalizedText("EndpointsExclude") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -40647,61 +40649,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15423") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15423, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15423") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15680") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15423, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15680, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15684") - node.BrowseName = ua.QualifiedName.from_string("AddIdentity") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15680") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(15684, 0) + node.BrowseName = QualifiedName('AddIdentity', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15680, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("AddIdentity") + attrs.DisplayName = LocalizedText("AddIdentity") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15684") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15685") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15684, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15685, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15684") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15680") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15684, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15680, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15685") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15684") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15685, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15684, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToAdd' - extobj.DataType = ua.NodeId.from_string("i=15634") + extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -40711,61 +40713,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15685") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15685, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15685") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15684") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15685, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15684, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15686") - node.BrowseName = ua.QualifiedName.from_string("RemoveIdentity") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15680") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(15686, 0) + node.BrowseName = QualifiedName('RemoveIdentity', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15680, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("RemoveIdentity") + attrs.DisplayName = LocalizedText("RemoveIdentity") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15686") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15687") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15686, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15687, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15686") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15680") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15686, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15680, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15687") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15686") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15687, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15686, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToRemove' - extobj.DataType = ua.NodeId.from_string("i=15634") + extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -40775,61 +40777,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15687") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15687, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15687") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15686") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15687, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15686, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16228") - node.BrowseName = ua.QualifiedName.from_string("AddApplication") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15680") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16228, 0) + node.BrowseName = QualifiedName('AddApplication', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15680, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("AddApplication") + attrs.DisplayName = LocalizedText("AddApplication") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16228") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16229") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16228, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16229, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16228") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15680") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16228, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15680, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16229") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16228") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16229, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16228, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToAdd' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -40839,61 +40841,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16229") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16229, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16229") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16228") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16229, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16228, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16230") - node.BrowseName = ua.QualifiedName.from_string("RemoveApplication") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15680") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16230, 0) + node.BrowseName = QualifiedName('RemoveApplication', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15680, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("RemoveApplication") + attrs.DisplayName = LocalizedText("RemoveApplication") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16230") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16231") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16230, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16231, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16230") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15680") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16230, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15680, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16231") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16230") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16231, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16230, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToRemove' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -40903,61 +40905,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16231") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16231, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16231") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16230") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16231, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16230, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16232") - node.BrowseName = ua.QualifiedName.from_string("AddEndpoint") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15680") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16232, 0) + node.BrowseName = QualifiedName('AddEndpoint', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15680, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("AddEndpoint") + attrs.DisplayName = LocalizedText("AddEndpoint") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16232") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16233") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16232, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16233, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16232") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15680") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16232, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15680, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16233") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16232") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16233, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16232, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToAdd' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -40967,61 +40969,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16233") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16233, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16233") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16232") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16233, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16232, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16234") - node.BrowseName = ua.QualifiedName.from_string("RemoveEndpoint") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15680") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16234, 0) + node.BrowseName = QualifiedName('RemoveEndpoint', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15680, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("RemoveEndpoint") + attrs.DisplayName = LocalizedText("RemoveEndpoint") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16234") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16235") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16234, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16235, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16234") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15680") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16234, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15680, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16235") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16234") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16235, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16234, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToRemove' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -41031,166 +41033,166 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16235") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16235, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16235") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16234") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16235, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16234, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16036") - node.BrowseName = ua.QualifiedName.from_string("EngineerRole") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=15606") - node.ReferenceTypeId = ua.NodeId.from_string("i=35") - node.TypeDefinition = ua.NodeId.from_string("i=15620") + node.RequestedNewNodeId = NumericNodeId(16036, 0) + node.BrowseName = QualifiedName('EngineerRole', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(15606, 0) + node.ReferenceTypeId = NumericNodeId(35, 0) + node.TypeDefinition = NumericNodeId(15620, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("The Role is allowed to browse, read live data, read and update historical data/events, call methods or subscribe to data/events.") - attrs.DisplayName = ua.LocalizedText("Engineer") + attrs.Description = LocalizedText("The Role is allowed to browse, read live data, read and update historical data/events, call methods or subscribe to data/events.") + attrs.DisplayName = LocalizedText("Engineer") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16036") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16236") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16036, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16236, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16036") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16237") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16036, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16237, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16036") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15424") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16036, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15424, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16036") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16238") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16036, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16238, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16036") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15425") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16036, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15425, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16036") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16041") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16036, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16041, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16036") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16043") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16036, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16043, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16036") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16239") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16036, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16239, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16036") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16241") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16036, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16241, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16036") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16243") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16036, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16243, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16036") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16245") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16036, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16245, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=35") - ref.SourceNodeId = ua.NodeId.from_string("i=16036") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15606") + ref.ReferenceTypeId = NumericNodeId(35, 0) + ref.SourceNodeId = NumericNodeId(16036, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15606, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16036") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15620") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16036, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15620, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16236") - node.BrowseName = ua.QualifiedName.from_string("Identities") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16036") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16236, 0) + node.BrowseName = QualifiedName('Identities', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16036, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Identities") - attrs.DataType = ua.NodeId.from_string("i=15634") + attrs.DisplayName = LocalizedText("Identities") + attrs.DataType = NumericNodeId(15634, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16236") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16236, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16236") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16036") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16236, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16036, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16237") - node.BrowseName = ua.QualifiedName.from_string("Applications") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16036") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16237, 0) + node.BrowseName = QualifiedName('Applications', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16036, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Applications") + attrs.DisplayName = LocalizedText("Applications") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 node.NodeAttributes = attrs @@ -41198,29 +41200,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16237") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16237, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16237") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16036") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16237, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16036, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15424") - node.BrowseName = ua.QualifiedName.from_string("ApplicationsExclude") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16036") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15424, 0) + node.BrowseName = QualifiedName('ApplicationsExclude', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16036, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ApplicationsExclude") + attrs.DisplayName = LocalizedText("ApplicationsExclude") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -41228,59 +41230,59 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15424") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15424, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15424") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16036") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15424, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16036, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16238") - node.BrowseName = ua.QualifiedName.from_string("Endpoints") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16036") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16238, 0) + node.BrowseName = QualifiedName('Endpoints', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16036, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Endpoints") - attrs.DataType = ua.NodeId.from_string("i=15528") + attrs.DisplayName = LocalizedText("Endpoints") + attrs.DataType = NumericNodeId(15528, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16238") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16238, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16238") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16036") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16238, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16036, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15425") - node.BrowseName = ua.QualifiedName.from_string("EndpointsExclude") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16036") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15425, 0) + node.BrowseName = QualifiedName('EndpointsExclude', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16036, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EndpointsExclude") + attrs.DisplayName = LocalizedText("EndpointsExclude") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -41288,61 +41290,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15425") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15425, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15425") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16036") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15425, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16036, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16041") - node.BrowseName = ua.QualifiedName.from_string("AddIdentity") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=16036") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16041, 0) + node.BrowseName = QualifiedName('AddIdentity', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(16036, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("AddIdentity") + attrs.DisplayName = LocalizedText("AddIdentity") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16041") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16042") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16041, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16042, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16041") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16036") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16041, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16036, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16042") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16041") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16042, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16041, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToAdd' - extobj.DataType = ua.NodeId.from_string("i=15634") + extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -41352,61 +41354,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16042") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16042, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16042") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16041") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16042, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16041, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16043") - node.BrowseName = ua.QualifiedName.from_string("RemoveIdentity") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=16036") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16043, 0) + node.BrowseName = QualifiedName('RemoveIdentity', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(16036, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("RemoveIdentity") + attrs.DisplayName = LocalizedText("RemoveIdentity") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16043") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16044") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16043, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16044, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16043") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16036") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16043, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16036, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16044") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16043") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16044, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16043, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToRemove' - extobj.DataType = ua.NodeId.from_string("i=15634") + extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -41416,61 +41418,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16044") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16044, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16044") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16043") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16044, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16043, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16239") - node.BrowseName = ua.QualifiedName.from_string("AddApplication") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=16036") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16239, 0) + node.BrowseName = QualifiedName('AddApplication', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(16036, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("AddApplication") + attrs.DisplayName = LocalizedText("AddApplication") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16239") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16240") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16239, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16240, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16239") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16036") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16239, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16036, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16240") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16239") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16240, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16239, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToAdd' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -41480,61 +41482,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16240") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16240, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16240") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16239") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16240, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16239, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16241") - node.BrowseName = ua.QualifiedName.from_string("RemoveApplication") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=16036") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16241, 0) + node.BrowseName = QualifiedName('RemoveApplication', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(16036, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("RemoveApplication") + attrs.DisplayName = LocalizedText("RemoveApplication") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16241") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16242") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16241, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16242, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16241") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16036") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16241, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16036, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16242") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16241") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16242, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16241, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToRemove' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -41544,61 +41546,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16242") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16242, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16242") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16241") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16242, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16241, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16243") - node.BrowseName = ua.QualifiedName.from_string("AddEndpoint") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=16036") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16243, 0) + node.BrowseName = QualifiedName('AddEndpoint', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(16036, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("AddEndpoint") + attrs.DisplayName = LocalizedText("AddEndpoint") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16243") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16244") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16243, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16244, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16243") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16036") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16243, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16036, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16244") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16243") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16244, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16243, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToAdd' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -41608,61 +41610,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16244") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16244, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16244") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16243") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16244, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16243, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16245") - node.BrowseName = ua.QualifiedName.from_string("RemoveEndpoint") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=16036") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16245, 0) + node.BrowseName = QualifiedName('RemoveEndpoint', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(16036, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("RemoveEndpoint") + attrs.DisplayName = LocalizedText("RemoveEndpoint") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16245") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16246") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16245, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16246, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16245") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16036") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16245, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16036, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16246") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16245") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16246, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16245, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToRemove' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -41672,166 +41674,166 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16246") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16246, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16246") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16245") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16246, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16245, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15692") - node.BrowseName = ua.QualifiedName.from_string("SupervisorRole") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=15606") - node.ReferenceTypeId = ua.NodeId.from_string("i=35") - node.TypeDefinition = ua.NodeId.from_string("i=15620") + node.RequestedNewNodeId = NumericNodeId(15692, 0) + node.BrowseName = QualifiedName('SupervisorRole', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(15606, 0) + node.ReferenceTypeId = NumericNodeId(35, 0) + node.TypeDefinition = NumericNodeId(15620, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("The Role is allowed to browse, read live data, read and historical data/events, call methods or subscribe to data/events.") - attrs.DisplayName = ua.LocalizedText("Supervisor") + attrs.Description = LocalizedText("The Role is allowed to browse, read live data, read and historical data/events, call methods or subscribe to data/events.") + attrs.DisplayName = LocalizedText("Supervisor") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15692") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16247") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15692, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16247, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15692") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16248") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15692, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16248, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15692") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15426") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15692, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15426, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15692") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16249") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15692, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16249, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15692") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15427") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15692, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15427, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15692") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15696") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15692, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15696, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15692") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15698") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15692, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15698, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15692") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16250") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15692, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16250, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15692") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15692, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16252, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15692") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16254") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15692, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16254, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15692") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16256") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15692, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16256, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=35") - ref.SourceNodeId = ua.NodeId.from_string("i=15692") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15606") + ref.ReferenceTypeId = NumericNodeId(35, 0) + ref.SourceNodeId = NumericNodeId(15692, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15606, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15692") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15620") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15692, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15620, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16247") - node.BrowseName = ua.QualifiedName.from_string("Identities") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15692") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16247, 0) + node.BrowseName = QualifiedName('Identities', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15692, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Identities") - attrs.DataType = ua.NodeId.from_string("i=15634") + attrs.DisplayName = LocalizedText("Identities") + attrs.DataType = NumericNodeId(15634, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16247") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16247, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16247") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15692") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16247, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15692, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16248") - node.BrowseName = ua.QualifiedName.from_string("Applications") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15692") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16248, 0) + node.BrowseName = QualifiedName('Applications', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15692, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Applications") + attrs.DisplayName = LocalizedText("Applications") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 node.NodeAttributes = attrs @@ -41839,29 +41841,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16248") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16248, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16248") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15692") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16248, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15692, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15426") - node.BrowseName = ua.QualifiedName.from_string("ApplicationsExclude") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15692") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15426, 0) + node.BrowseName = QualifiedName('ApplicationsExclude', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15692, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ApplicationsExclude") + attrs.DisplayName = LocalizedText("ApplicationsExclude") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -41869,59 +41871,59 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15426") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15426, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15426") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15692") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15426, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15692, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16249") - node.BrowseName = ua.QualifiedName.from_string("Endpoints") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15692") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16249, 0) + node.BrowseName = QualifiedName('Endpoints', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15692, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Endpoints") - attrs.DataType = ua.NodeId.from_string("i=15528") + attrs.DisplayName = LocalizedText("Endpoints") + attrs.DataType = NumericNodeId(15528, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16249") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16249, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16249") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15692") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16249, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15692, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15427") - node.BrowseName = ua.QualifiedName.from_string("EndpointsExclude") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15692") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15427, 0) + node.BrowseName = QualifiedName('EndpointsExclude', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15692, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EndpointsExclude") + attrs.DisplayName = LocalizedText("EndpointsExclude") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -41929,61 +41931,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15427") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15427, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15427") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15692") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15427, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15692, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15696") - node.BrowseName = ua.QualifiedName.from_string("AddIdentity") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15692") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(15696, 0) + node.BrowseName = QualifiedName('AddIdentity', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15692, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("AddIdentity") + attrs.DisplayName = LocalizedText("AddIdentity") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15696") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15697") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15696, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15697, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15696") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15692") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15696, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15692, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15697") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15696") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15697, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15696, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToAdd' - extobj.DataType = ua.NodeId.from_string("i=15634") + extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -41993,61 +41995,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15697") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15697, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15697") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15696") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15697, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15696, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15698") - node.BrowseName = ua.QualifiedName.from_string("RemoveIdentity") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15692") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(15698, 0) + node.BrowseName = QualifiedName('RemoveIdentity', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15692, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("RemoveIdentity") + attrs.DisplayName = LocalizedText("RemoveIdentity") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15698") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15699") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15698, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15699, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15698") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15692") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15698, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15692, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15699") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15698") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15699, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15698, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToRemove' - extobj.DataType = ua.NodeId.from_string("i=15634") + extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -42057,61 +42059,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15699") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15699, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15699") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15698") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15699, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15698, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16250") - node.BrowseName = ua.QualifiedName.from_string("AddApplication") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15692") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16250, 0) + node.BrowseName = QualifiedName('AddApplication', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15692, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("AddApplication") + attrs.DisplayName = LocalizedText("AddApplication") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16250") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16251") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16250, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16251, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16250") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15692") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16250, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15692, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16251") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16250") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16251, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16250, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToAdd' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -42121,61 +42123,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16251") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16251, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16251") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16250") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16251, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16250, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16252") - node.BrowseName = ua.QualifiedName.from_string("RemoveApplication") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15692") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16252, 0) + node.BrowseName = QualifiedName('RemoveApplication', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15692, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("RemoveApplication") + attrs.DisplayName = LocalizedText("RemoveApplication") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16253") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16253, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15692") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15692, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16253") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16252") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16253, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16252, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToRemove' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -42185,61 +42187,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16253") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16253, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16253") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16252") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16253, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16254") - node.BrowseName = ua.QualifiedName.from_string("AddEndpoint") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15692") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16254, 0) + node.BrowseName = QualifiedName('AddEndpoint', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15692, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("AddEndpoint") + attrs.DisplayName = LocalizedText("AddEndpoint") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16254") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16255") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16254, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16255, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16254") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15692") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16254, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15692, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16255") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16254") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16255, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16254, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToAdd' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -42249,61 +42251,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16255") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16255, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16255") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16254") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16255, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16254, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16256") - node.BrowseName = ua.QualifiedName.from_string("RemoveEndpoint") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15692") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16256, 0) + node.BrowseName = QualifiedName('RemoveEndpoint', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15692, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("RemoveEndpoint") + attrs.DisplayName = LocalizedText("RemoveEndpoint") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16256") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16257") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16256, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16257, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16256") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15692") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16256, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15692, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16257") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16256") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16257, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16256, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToRemove' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -42313,166 +42315,166 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16257") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16257, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16257") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16256") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16257, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16256, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15716") - node.BrowseName = ua.QualifiedName.from_string("ConfigureAdminRole") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=15606") - node.ReferenceTypeId = ua.NodeId.from_string("i=35") - node.TypeDefinition = ua.NodeId.from_string("i=15620") + node.RequestedNewNodeId = NumericNodeId(15716, 0) + node.BrowseName = QualifiedName('ConfigureAdminRole', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(15606, 0) + node.ReferenceTypeId = NumericNodeId(35, 0) + node.TypeDefinition = NumericNodeId(15620, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("The Role is allowed to change the non-security related configuration settings.") - attrs.DisplayName = ua.LocalizedText("ConfigureAdmin") + attrs.Description = LocalizedText("The Role is allowed to change the non-security related configuration settings.") + attrs.DisplayName = LocalizedText("ConfigureAdmin") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15716") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16269") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15716, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16269, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15716") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16270") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15716, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16270, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15716") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15428") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15716, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15428, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15716") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16271") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15716, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16271, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15716") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15429") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15716, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15429, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15716") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15720") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15716, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15720, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15716") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15722") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15716, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15722, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15716") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16272") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15716, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16272, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15716") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16274") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15716, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16274, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15716") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16276") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15716, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16276, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15716") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16278") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15716, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16278, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=35") - ref.SourceNodeId = ua.NodeId.from_string("i=15716") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15606") + ref.ReferenceTypeId = NumericNodeId(35, 0) + ref.SourceNodeId = NumericNodeId(15716, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15606, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15716") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15620") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15716, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15620, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16269") - node.BrowseName = ua.QualifiedName.from_string("Identities") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15716") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16269, 0) + node.BrowseName = QualifiedName('Identities', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15716, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Identities") - attrs.DataType = ua.NodeId.from_string("i=15634") + attrs.DisplayName = LocalizedText("Identities") + attrs.DataType = NumericNodeId(15634, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16269") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16269, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16269") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15716") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16269, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15716, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16270") - node.BrowseName = ua.QualifiedName.from_string("Applications") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15716") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16270, 0) + node.BrowseName = QualifiedName('Applications', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15716, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Applications") + attrs.DisplayName = LocalizedText("Applications") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 node.NodeAttributes = attrs @@ -42480,29 +42482,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16270") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16270, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16270") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15716") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16270, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15716, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15428") - node.BrowseName = ua.QualifiedName.from_string("ApplicationsExclude") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15716") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15428, 0) + node.BrowseName = QualifiedName('ApplicationsExclude', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15716, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ApplicationsExclude") + attrs.DisplayName = LocalizedText("ApplicationsExclude") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -42510,59 +42512,59 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15428") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15428, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15428") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15716") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15428, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15716, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16271") - node.BrowseName = ua.QualifiedName.from_string("Endpoints") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15716") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16271, 0) + node.BrowseName = QualifiedName('Endpoints', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15716, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Endpoints") - attrs.DataType = ua.NodeId.from_string("i=15528") + attrs.DisplayName = LocalizedText("Endpoints") + attrs.DataType = NumericNodeId(15528, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16271") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16271, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16271") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15716") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16271, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15716, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15429") - node.BrowseName = ua.QualifiedName.from_string("EndpointsExclude") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15716") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15429, 0) + node.BrowseName = QualifiedName('EndpointsExclude', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15716, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EndpointsExclude") + attrs.DisplayName = LocalizedText("EndpointsExclude") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -42570,61 +42572,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15429") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15429, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15429") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15716") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15429, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15716, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15720") - node.BrowseName = ua.QualifiedName.from_string("AddIdentity") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15716") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(15720, 0) + node.BrowseName = QualifiedName('AddIdentity', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15716, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("AddIdentity") + attrs.DisplayName = LocalizedText("AddIdentity") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15720") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15721") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15720, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15721, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15720") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15716") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15720, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15716, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15721") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15720") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15721, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15720, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToAdd' - extobj.DataType = ua.NodeId.from_string("i=15634") + extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -42634,61 +42636,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15721") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15721, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15721") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15720") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15721, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15720, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15722") - node.BrowseName = ua.QualifiedName.from_string("RemoveIdentity") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15716") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(15722, 0) + node.BrowseName = QualifiedName('RemoveIdentity', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15716, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("RemoveIdentity") + attrs.DisplayName = LocalizedText("RemoveIdentity") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15722") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15723") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15722, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15723, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15722") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15716") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15722, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15716, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15723") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15722") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15723, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15722, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToRemove' - extobj.DataType = ua.NodeId.from_string("i=15634") + extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -42698,61 +42700,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15723") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15723, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15723") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15722") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15723, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15722, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16272") - node.BrowseName = ua.QualifiedName.from_string("AddApplication") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15716") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16272, 0) + node.BrowseName = QualifiedName('AddApplication', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15716, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("AddApplication") + attrs.DisplayName = LocalizedText("AddApplication") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16272") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16273") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16272, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16273, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16272") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15716") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16272, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15716, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16273") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16272") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16273, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16272, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToAdd' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -42762,61 +42764,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16273") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16273, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16273") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16272") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16273, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16272, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16274") - node.BrowseName = ua.QualifiedName.from_string("RemoveApplication") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15716") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16274, 0) + node.BrowseName = QualifiedName('RemoveApplication', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15716, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("RemoveApplication") + attrs.DisplayName = LocalizedText("RemoveApplication") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16274") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16275") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16274, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16275, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16274") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15716") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16274, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15716, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16275") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16274") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16275, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16274, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToRemove' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -42826,61 +42828,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16275") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16275, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16275") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16274") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16275, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16274, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16276") - node.BrowseName = ua.QualifiedName.from_string("AddEndpoint") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15716") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16276, 0) + node.BrowseName = QualifiedName('AddEndpoint', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15716, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("AddEndpoint") + attrs.DisplayName = LocalizedText("AddEndpoint") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16276") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16277") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16276, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16277, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16276") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15716") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16276, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15716, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16277") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16276") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16277, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16276, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToAdd' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -42890,61 +42892,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16277") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16277, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16277") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16276") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16277, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16276, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16278") - node.BrowseName = ua.QualifiedName.from_string("RemoveEndpoint") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15716") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16278, 0) + node.BrowseName = QualifiedName('RemoveEndpoint', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15716, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("RemoveEndpoint") + attrs.DisplayName = LocalizedText("RemoveEndpoint") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16278") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16279") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16278, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16279, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16278") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15716") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16278, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15716, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16279") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16278") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16279, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16278, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToRemove' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -42954,166 +42956,166 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16279") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16279, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16279") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16278") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16279, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16278, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15704") - node.BrowseName = ua.QualifiedName.from_string("SecurityAdminRole") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=15606") - node.ReferenceTypeId = ua.NodeId.from_string("i=35") - node.TypeDefinition = ua.NodeId.from_string("i=15620") + node.RequestedNewNodeId = NumericNodeId(15704, 0) + node.BrowseName = QualifiedName('SecurityAdminRole', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(15606, 0) + node.ReferenceTypeId = NumericNodeId(35, 0) + node.TypeDefinition = NumericNodeId(15620, 0) attrs = ua.ObjectAttributes() - attrs.Description = ua.LocalizedText("The Role is allowed to change security related settings.") - attrs.DisplayName = ua.LocalizedText("SecurityAdmin") + attrs.Description = LocalizedText("The Role is allowed to change security related settings.") + attrs.DisplayName = LocalizedText("SecurityAdmin") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15704") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16258") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15704, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16258, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15704") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16259") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15704, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16259, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15704") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15430") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15704, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15430, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15704") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16260") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15704, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16260, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15704") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15527") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15704, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15527, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15704") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15708") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15704, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15708, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15704") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15710") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15704, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15710, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15704") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16261") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15704, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16261, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15704") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16263") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15704, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16263, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15704") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16265") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15704, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16265, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15704") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16267") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15704, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16267, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=35") - ref.SourceNodeId = ua.NodeId.from_string("i=15704") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15606") + ref.ReferenceTypeId = NumericNodeId(35, 0) + ref.SourceNodeId = NumericNodeId(15704, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15606, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15704") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15620") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15704, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15620, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16258") - node.BrowseName = ua.QualifiedName.from_string("Identities") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15704") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16258, 0) + node.BrowseName = QualifiedName('Identities', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15704, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Identities") - attrs.DataType = ua.NodeId.from_string("i=15634") + attrs.DisplayName = LocalizedText("Identities") + attrs.DataType = NumericNodeId(15634, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16258") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16258, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16258") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15704") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16258, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15704, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16259") - node.BrowseName = ua.QualifiedName.from_string("Applications") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15704") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16259, 0) + node.BrowseName = QualifiedName('Applications', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15704, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Applications") + attrs.DisplayName = LocalizedText("Applications") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 node.NodeAttributes = attrs @@ -43121,29 +43123,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16259") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16259, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16259") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15704") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16259, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15704, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15430") - node.BrowseName = ua.QualifiedName.from_string("ApplicationsExclude") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15704") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15430, 0) + node.BrowseName = QualifiedName('ApplicationsExclude', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15704, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ApplicationsExclude") + attrs.DisplayName = LocalizedText("ApplicationsExclude") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -43151,59 +43153,59 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15430") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15430, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15430") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15704") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15430, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15704, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16260") - node.BrowseName = ua.QualifiedName.from_string("Endpoints") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15704") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16260, 0) + node.BrowseName = QualifiedName('Endpoints', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15704, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Endpoints") - attrs.DataType = ua.NodeId.from_string("i=15528") + attrs.DisplayName = LocalizedText("Endpoints") + attrs.DataType = NumericNodeId(15528, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16260") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16260, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16260") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15704") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16260, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15704, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15527") - node.BrowseName = ua.QualifiedName.from_string("EndpointsExclude") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15704") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15527, 0) + node.BrowseName = QualifiedName('EndpointsExclude', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15704, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EndpointsExclude") + attrs.DisplayName = LocalizedText("EndpointsExclude") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -43211,61 +43213,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15527") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15527, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15527") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15704") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15527, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15704, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15708") - node.BrowseName = ua.QualifiedName.from_string("AddIdentity") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15704") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(15708, 0) + node.BrowseName = QualifiedName('AddIdentity', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15704, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("AddIdentity") + attrs.DisplayName = LocalizedText("AddIdentity") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15708") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15709") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15708, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15709, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15708") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15704") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15708, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15704, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15709") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15708") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15709, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15708, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToAdd' - extobj.DataType = ua.NodeId.from_string("i=15634") + extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -43275,61 +43277,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15709") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15709, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15709") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15708") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15709, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15708, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15710") - node.BrowseName = ua.QualifiedName.from_string("RemoveIdentity") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15704") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(15710, 0) + node.BrowseName = QualifiedName('RemoveIdentity', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15704, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("RemoveIdentity") + attrs.DisplayName = LocalizedText("RemoveIdentity") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15710") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15711") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15710, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15711, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15710") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15704") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15710, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15704, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15711") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=15710") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15711, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(15710, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToRemove' - extobj.DataType = ua.NodeId.from_string("i=15634") + extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -43339,61 +43341,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15711") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15711, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15711") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15710") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15711, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15710, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16261") - node.BrowseName = ua.QualifiedName.from_string("AddApplication") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15704") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16261, 0) + node.BrowseName = QualifiedName('AddApplication', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15704, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("AddApplication") + attrs.DisplayName = LocalizedText("AddApplication") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16261") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16262") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16261, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16262, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16261") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15704") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16261, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15704, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16262") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16261") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16262, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16261, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToAdd' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -43403,61 +43405,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16262") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16262, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16262") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16261") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16262, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16261, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16263") - node.BrowseName = ua.QualifiedName.from_string("RemoveApplication") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15704") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16263, 0) + node.BrowseName = QualifiedName('RemoveApplication', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15704, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("RemoveApplication") + attrs.DisplayName = LocalizedText("RemoveApplication") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16263") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16264") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16263, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16264, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16263") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15704") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16263, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15704, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16264") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16263") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16264, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16263, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToRemove' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -43467,61 +43469,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16264") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16264, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16264") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16263") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16264, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16263, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16265") - node.BrowseName = ua.QualifiedName.from_string("AddEndpoint") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15704") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16265, 0) + node.BrowseName = QualifiedName('AddEndpoint', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15704, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("AddEndpoint") + attrs.DisplayName = LocalizedText("AddEndpoint") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16265") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16266") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16265, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16266, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16265") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15704") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16265, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15704, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16266") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16265") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16266, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16265, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToAdd' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -43531,61 +43533,61 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16266") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16266, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16266") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16265") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16266, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16265, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16267") - node.BrowseName = ua.QualifiedName.from_string("RemoveEndpoint") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=15704") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16267, 0) + node.BrowseName = QualifiedName('RemoveEndpoint', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(15704, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("RemoveEndpoint") + attrs.DisplayName = LocalizedText("RemoveEndpoint") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16267") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16268") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16267, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16268, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16267") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15704") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16267, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15704, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16268") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16267") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16268, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16267, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'RuleToRemove' - extobj.DataType = ua.NodeId.from_string("i=12") + extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject) @@ -43595,1051 +43597,1051 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16268") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16268, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16268") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16267") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16268, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16267, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=338") - node.BrowseName = ua.QualifiedName.from_string("BuildInfo") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(338, 0) + node.BrowseName = QualifiedName('BuildInfo', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("BuildInfo") + attrs.DisplayName = LocalizedText("BuildInfo") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=338") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(338, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=851") - node.BrowseName = ua.QualifiedName.from_string("RedundancySupport") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=29") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(851, 0) + node.BrowseName = QualifiedName('RedundancySupport', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(29, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("RedundancySupport") + attrs.DisplayName = LocalizedText("RedundancySupport") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=851") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7611") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(851, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7611, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=851") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=29") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(851, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(29, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7611") - node.BrowseName = ua.QualifiedName.from_string("EnumStrings") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=851") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(7611, 0) + node.BrowseName = QualifiedName('EnumStrings', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(851, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EnumStrings") + attrs.DisplayName = LocalizedText("EnumStrings") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.Value = [ua.LocalizedText('None'),ua.LocalizedText('Cold'),ua.LocalizedText('Warm'),ua.LocalizedText('Hot'),ua.LocalizedText('Transparent'),ua.LocalizedText('HotAndMirrored')] + attrs.Value = [LocalizedText('None'),LocalizedText('Cold'),LocalizedText('Warm'),LocalizedText('Hot'),LocalizedText('Transparent'),LocalizedText('HotAndMirrored')] attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7611") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(7611, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=7611") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(7611, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=7611") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=851") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(7611, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(851, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=852") - node.BrowseName = ua.QualifiedName.from_string("ServerState") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=29") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(852, 0) + node.BrowseName = QualifiedName('ServerState', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(29, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ServerState") + attrs.DisplayName = LocalizedText("ServerState") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=852") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7612") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(852, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7612, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=852") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=29") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(852, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(29, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7612") - node.BrowseName = ua.QualifiedName.from_string("EnumStrings") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=852") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(7612, 0) + node.BrowseName = QualifiedName('EnumStrings', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(852, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EnumStrings") + attrs.DisplayName = LocalizedText("EnumStrings") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.Value = [ua.LocalizedText('Running'),ua.LocalizedText('Failed'),ua.LocalizedText('NoConfiguration'),ua.LocalizedText('Suspended'),ua.LocalizedText('Shutdown'),ua.LocalizedText('Test'),ua.LocalizedText('CommunicationFault'),ua.LocalizedText('Unknown')] + attrs.Value = [LocalizedText('Running'),LocalizedText('Failed'),LocalizedText('NoConfiguration'),LocalizedText('Suspended'),LocalizedText('Shutdown'),LocalizedText('Test'),LocalizedText('CommunicationFault'),LocalizedText('Unknown')] attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7612") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(7612, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=7612") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(7612, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=7612") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=852") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(7612, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(852, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=853") - node.BrowseName = ua.QualifiedName.from_string("RedundantServerDataType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(853, 0) + node.BrowseName = QualifiedName('RedundantServerDataType', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("RedundantServerDataType") + attrs.DisplayName = LocalizedText("RedundantServerDataType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=853") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(853, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11943") - node.BrowseName = ua.QualifiedName.from_string("EndpointUrlListDataType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(11943, 0) + node.BrowseName = QualifiedName('EndpointUrlListDataType', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("EndpointUrlListDataType") + attrs.DisplayName = LocalizedText("EndpointUrlListDataType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=11943") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(11943, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11944") - node.BrowseName = ua.QualifiedName.from_string("NetworkGroupDataType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(11944, 0) + node.BrowseName = QualifiedName('NetworkGroupDataType', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("NetworkGroupDataType") + attrs.DisplayName = LocalizedText("NetworkGroupDataType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=11944") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(11944, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=856") - node.BrowseName = ua.QualifiedName.from_string("SamplingIntervalDiagnosticsDataType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(856, 0) + node.BrowseName = QualifiedName('SamplingIntervalDiagnosticsDataType', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("SamplingIntervalDiagnosticsDataType") + attrs.DisplayName = LocalizedText("SamplingIntervalDiagnosticsDataType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=856") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(856, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=859") - node.BrowseName = ua.QualifiedName.from_string("ServerDiagnosticsSummaryDataType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(859, 0) + node.BrowseName = QualifiedName('ServerDiagnosticsSummaryDataType', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ServerDiagnosticsSummaryDataType") + attrs.DisplayName = LocalizedText("ServerDiagnosticsSummaryDataType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=859") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(859, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=862") - node.BrowseName = ua.QualifiedName.from_string("ServerStatusDataType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(862, 0) + node.BrowseName = QualifiedName('ServerStatusDataType', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ServerStatusDataType") + attrs.DisplayName = LocalizedText("ServerStatusDataType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=862") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(862, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=865") - node.BrowseName = ua.QualifiedName.from_string("SessionDiagnosticsDataType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(865, 0) + node.BrowseName = QualifiedName('SessionDiagnosticsDataType', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("SessionDiagnosticsDataType") + attrs.DisplayName = LocalizedText("SessionDiagnosticsDataType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=865") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(865, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=868") - node.BrowseName = ua.QualifiedName.from_string("SessionSecurityDiagnosticsDataType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(868, 0) + node.BrowseName = QualifiedName('SessionSecurityDiagnosticsDataType', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("SessionSecurityDiagnosticsDataType") + attrs.DisplayName = LocalizedText("SessionSecurityDiagnosticsDataType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=868") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(868, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=871") - node.BrowseName = ua.QualifiedName.from_string("ServiceCounterDataType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(871, 0) + node.BrowseName = QualifiedName('ServiceCounterDataType', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ServiceCounterDataType") + attrs.DisplayName = LocalizedText("ServiceCounterDataType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=871") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(871, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=299") - node.BrowseName = ua.QualifiedName.from_string("StatusResult") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(299, 0) + node.BrowseName = QualifiedName('StatusResult', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("StatusResult") + attrs.DisplayName = LocalizedText("StatusResult") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=299") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(299, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=874") - node.BrowseName = ua.QualifiedName.from_string("SubscriptionDiagnosticsDataType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(874, 0) + node.BrowseName = QualifiedName('SubscriptionDiagnosticsDataType', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("SubscriptionDiagnosticsDataType") + attrs.DisplayName = LocalizedText("SubscriptionDiagnosticsDataType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=874") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(874, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=877") - node.BrowseName = ua.QualifiedName.from_string("ModelChangeStructureDataType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(877, 0) + node.BrowseName = QualifiedName('ModelChangeStructureDataType', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ModelChangeStructureDataType") + attrs.DisplayName = LocalizedText("ModelChangeStructureDataType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=877") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(877, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=897") - node.BrowseName = ua.QualifiedName.from_string("SemanticChangeStructureDataType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(897, 0) + node.BrowseName = QualifiedName('SemanticChangeStructureDataType', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("SemanticChangeStructureDataType") + attrs.DisplayName = LocalizedText("SemanticChangeStructureDataType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=897") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(897, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=14846") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=14533") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(14846, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(14533, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=14846") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=14533") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(14846, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(14533, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=14846") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=14873") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(14846, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(14873, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=14846") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(14846, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15671") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=15528") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15671, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(15528, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15671") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15528") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15671, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15528, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=15671") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15734") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(15671, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15734, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15671") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15671, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15736") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=15634") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15736, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(15634, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15736") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15634") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15736, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15634, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=15736") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15738") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(15736, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15738, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15736") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15736, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=340") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=338") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(340, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(338, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=340") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=338") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(340, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(338, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=340") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7692") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(340, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7692, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=340") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(340, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=855") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=853") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(855, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(853, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=855") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=853") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(855, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(853, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=855") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8208") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(855, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8208, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=855") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(855, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11957") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=11943") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(11957, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(11943, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=11957") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11943") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(11957, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11943, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=11957") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11959") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(11957, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11959, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11957") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11957, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11958") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=11944") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(11958, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(11944, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=11958") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11944") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(11958, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11944, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=11958") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11962") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(11958, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11962, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11958") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11958, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=858") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=856") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(858, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(856, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=858") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=856") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(858, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(856, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=858") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8211") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(858, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8211, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=858") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(858, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=861") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=859") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(861, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(859, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=861") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=859") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(861, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(859, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=861") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8214") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(861, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8214, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=861") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(861, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=864") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=862") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(864, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(862, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=864") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=862") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(864, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(862, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=864") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8217") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(864, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8217, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=864") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(864, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=867") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=865") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(867, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(865, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=867") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=865") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(867, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(865, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=867") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8220") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(867, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8220, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=867") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(867, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=870") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=868") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(870, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(868, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=870") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=868") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(870, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(868, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=870") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8223") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(870, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8223, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=870") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(870, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=873") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=871") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(873, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(871, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=873") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=871") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(873, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(871, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=873") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8226") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(873, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8226, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=873") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(873, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=301") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=299") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(301, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(299, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=301") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=299") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(301, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(299, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=301") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7659") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(301, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7659, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=301") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(301, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=876") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=874") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(876, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(874, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=876") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=874") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(876, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(874, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=876") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8229") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(876, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8229, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=876") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(876, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=879") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=877") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(879, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(877, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=879") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=877") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(879, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(877, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=879") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8232") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(879, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8232, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=879") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(879, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=899") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=897") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(899, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(897, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=899") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=897") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(899, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(897, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=899") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8235") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(899, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8235, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=899") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(899, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7617") - node.BrowseName = ua.QualifiedName.from_string("Opc.Ua") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=93") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=72") + node.RequestedNewNodeId = NumericNodeId(7617, 0) + node.BrowseName = QualifiedName('Opc.Ua', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(93, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(72, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Opc.Ua") + attrs.DisplayName = LocalizedText("Opc.Ua") attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) attrs.Value = ua.Variant(b'\r\n\r\n \r\n\r\n \r\n An XML element encoded as a UTF-8 string.\r\n \r\n \r\n \r\n\r\n \r\n The possible encodings for a NodeId value.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n An identifier for a node in a UA server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n An identifier for a node in a UA server address space qualified with a complete namespace string.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A 32-bit status code value.\r\n \r\n\r\n \r\n A recursive structure containing diagnostic information associated with a status code.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A string qualified with a namespace index.\r\n \r\n \r\n \r\n\r\n \r\n A string qualified with a namespace index.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A value with an associated timestamp, and quality.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A serialized object prefixed with its data type identifier.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A union of several types.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n An image encoded in BMP format.\r\n \r\n\r\n \r\n An image encoded in GIF format.\r\n \r\n\r\n \r\n An image encoded in JPEG format.\r\n \r\n\r\n \r\n An image encoded in PNG format.\r\n \r\n\r\n \r\n An image encoded in PNG format.\r\n \r\n\r\n \r\n A mask of 32 bits that can be updated individually by using the top 32 bits as a mask.\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n The type of identifier used in a node id.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A mask specifying the class of the node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to all nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to object nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to object type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to variable nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to variable type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to reference type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to method nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies a reference which belongs to a node.\r\n \r\n \r\n \r\n \r\n\r\n \r\n An argument for a method.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A mapping between a value of an enumerated type and a name and description.\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask.\r\n \r\n \r\n \r\n\r\n \r\n This abstract DataType is the base DataType for all union DataTypes.\r\n \r\n\r\n \r\n A string normalized based on the rules in the unicode specification.\r\n \r\n\r\n \r\n An arbitraty numeric value.\r\n \r\n\r\n \r\n A period of time formatted as defined in ISO 8601-2000.\r\n \r\n\r\n \r\n A time formatted as defined in ISO 8601-2000.\r\n \r\n\r\n \r\n A date formatted as defined in ISO 8601-2000.\r\n \r\n\r\n \r\n A period of time measured in milliseconds.\r\n \r\n\r\n \r\n A date/time value specified in Universal Coordinated Time (UTC).\r\n \r\n\r\n \r\n An identifier for a user locale.\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n A numeric identifier for an object.\r\n \r\n\r\n \r\n The types of applications.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Describes an application and how to find it.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The header passed with every server request.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The header passed with every server response.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n The response returned by all services when there is a service level error.\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Finds the servers known to the discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Finds the servers known to the discovery server.\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A certificate for an instance of an application.\r\n \r\n\r\n \r\n The type of security to use on a message.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The possible user token types.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Describes a user token that can be used with a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The description of a endpoint that can be used to access a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Gets the endpoints used by the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Gets the endpoints used by the server.\r\n \r\n \r\n \r\n \r\n\r\n \r\n The information required to register a server with a discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Registers a server with the discovery server.\r\n \r\n \r\n \r\n\r\n \r\n Registers a server with the discovery server.\r\n \r\n \r\n\r\n \r\n A base type for discovery configuration information.\r\n \r\n\r\n \r\n The discovery information needed for mDNS registration.\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Indicates whether a token if being created or renewed.\r\n \r\n \r\n \r\n\r\n \r\n The token that identifies a set of keys for an active secure channel.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Creates a secure channel with a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Creates a secure channel with a server.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Closes a secure channel.\r\n \r\n \r\n\r\n \r\n Closes a secure channel.\r\n \r\n \r\n\r\n \r\n A software certificate with a digital signature.\r\n \r\n \r\n \r\n\r\n \r\n A unique identifier for a session used to authenticate requests.\r\n \r\n\r\n \r\n A digital signature.\r\n \r\n \r\n \r\n\r\n \r\n Creates a new session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Creates a new session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A base type for a user identity token.\r\n \r\n \r\n\r\n \r\n A token representing an anonymous user.\r\n \r\n \r\n\r\n \r\n A token representing a user identified by a user name and password.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A token representing a user identified by an X509 certificate.\r\n \r\n \r\n \r\n\r\n \r\n A token representing a user identified by a WS-Security XML token.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Activates a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Activates a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Closes a session with the server.\r\n \r\n \r\n \r\n\r\n \r\n Closes a session with the server.\r\n \r\n \r\n\r\n \r\n Cancels an outstanding request.\r\n \r\n \r\n \r\n\r\n \r\n Cancels an outstanding request.\r\n \r\n \r\n \r\n\r\n \r\n The bits used to specify default attributes for a new node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The base attributes for all nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for an object node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a variable node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a method node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for an object type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a variable type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a reference type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a data type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a view node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A request to add a node to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A result of an add node operation.\r\n \r\n \r\n \r\n\r\n \r\n Adds one or more nodes to the server address space.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Adds one or more nodes to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A request to add a reference to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Adds one or more references to the server address space.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Adds one or more references to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A request to delete a node to the server address space.\r\n \r\n \r\n \r\n\r\n \r\n Delete one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Delete one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A request to delete a node from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Delete one or more references from the server address space.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Delete one or more references from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Define bits used to indicate which attributes are writable.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The directions of the references to return.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The view to browse.\r\n \r\n \r\n \r\n \r\n\r\n \r\n A request to browse the the references from a node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A bit mask which specifies what should be returned in a browse response.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The description of a reference.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n An identifier for a suspended query or browse operation.\r\n \r\n\r\n \r\n The result of a browse operation.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Browse the references for one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Browse the references for one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Continues one or more browse operations.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Continues one or more browse operations.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n An element in a relative path.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A relative path constructed from reference types and browse names.\r\n \r\n \r\n \r\n\r\n \r\n A request to translate a path into a node id.\r\n \r\n \r\n \r\n\r\n \r\n The target of the translated path.\r\n \r\n \r\n \r\n\r\n \r\n The result of a translate opearation.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Translates one or more paths in the server address space.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Translates one or more paths in the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Registers one or more nodes for repeated use within a session.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Registers one or more nodes for repeated use within a session.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Unregisters one or more previously registered nodes.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Unregisters one or more previously registered nodes.\r\n \r\n \r\n\r\n \r\n A monotonically increasing value.\r\n \r\n\r\n \r\n Specifies a range of array indexes.\r\n \r\n\r\n \r\n A time value specified as HH:MM:SS.SSS.\r\n \r\n\r\n \r\n A date value.\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n', ua.VariantType.ByteString) attrs.ValueRank = -1 @@ -44648,870 +44650,870 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7619") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7619, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15037") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15037, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=14873") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(14873, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15734") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15734, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15738") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15738, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12681") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12681, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15741") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15741, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=14855") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(14855, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15599") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15599, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15602") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15602, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15501") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15501, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15521") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15521, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=14849") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(14849, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=14852") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(14852, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=14876") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(14876, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15766") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15766, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15769") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15769, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=14324") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(14324, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15772") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15772, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15775") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15775, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15778") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15778, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15781") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15781, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15784") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15784, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15787") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15787, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=21156") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(21156, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15793") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15793, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15854") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15854, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15857") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15857, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15860") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15860, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=21159") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(21159, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=21162") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(21162, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=21165") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(21165, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15866") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15866, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15869") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15869, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15872") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15872, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15877") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15877, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15880") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15880, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15883") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15883, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15886") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15886, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=21002") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(21002, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15889") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15889, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=21168") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(21168, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15895") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15895, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15898") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15898, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15919") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15919, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15922") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15922, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15925") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15925, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15931") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15931, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17469") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17469, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=21171") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(21171, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15524") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15524, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15940") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15940, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15943") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15943, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15946") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15946, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16131") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16131, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=18178") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(18178, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=18181") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(18181, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=18184") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(18184, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=18187") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(18187, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7650") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7650, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7656") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7656, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=14870") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(14870, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12767") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12767, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12770") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12770, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8914") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8914, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7665") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7665, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12213") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12213, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7662") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7662, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7668") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7668, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7782") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7782, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12902") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12902, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12905") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12905, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7698") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7698, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7671") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7671, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7674") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7674, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7677") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7677, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7680") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7680, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7683") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7683, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7728") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7728, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7731") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7731, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7734") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7734, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7737") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7737, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12718") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12718, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12721") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12721, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7686") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7686, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7929") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7929, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7932") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7932, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7935") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7935, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7938") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7938, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7941") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7941, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7944") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7944, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7947") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7947, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8004") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8004, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8067") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8067, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8073") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8073, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8076") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8076, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8172") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8172, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7692") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7692, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8208") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8208, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11959") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11959, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11962") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11962, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8211") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8211, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8214") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8214, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8217") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8217, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8220") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8220, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8223") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8223, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8226") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8226, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7659") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7659, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8229") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8229, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8232") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8232, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8235") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8235, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8238") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8238, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8241") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8241, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12183") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12183, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12186") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12186, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12091") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12091, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12094") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12094, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8247") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8247, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15398") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15398, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8244") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8244, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=93") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(93, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7617") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=72") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(7617, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(72, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7619") - node.BrowseName = ua.QualifiedName.from_string("NamespaceUri") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(7619, 0) + node.BrowseName = QualifiedName('NamespaceUri', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A URI that uniquely identifies the dictionary.") - attrs.DisplayName = ua.LocalizedText("NamespaceUri") + attrs.Description = LocalizedText("A URI that uniquely identifies the dictionary.") + attrs.DisplayName = LocalizedText("NamespaceUri") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('http://opcfoundation.org/UA/', ua.VariantType.String) attrs.ValueRank = -1 @@ -45520,30 +45522,30 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7619") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(7619, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=7619") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(7619, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15037") - node.BrowseName = ua.QualifiedName.from_string("Deprecated") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15037, 0) + node.BrowseName = QualifiedName('Deprecated', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("Indicates that all of the definitions for the dictionary are available through a DataTypeDefinition Attribute.") - attrs.DisplayName = ua.LocalizedText("Deprecated") + attrs.Description = LocalizedText("Indicates that all of the definitions for the dictionary are available through a DataTypeDefinition Attribute.") + attrs.DisplayName = LocalizedText("Deprecated") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.Value = ua.Variant(True, ua.VariantType.Boolean) attrs.ValueRank = -1 @@ -45552,29 +45554,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15037") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15037, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15037") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15037, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=14873") - node.BrowseName = ua.QualifiedName.from_string("KeyValuePair") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(14873, 0) + node.BrowseName = QualifiedName('KeyValuePair', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("KeyValuePair") + attrs.DisplayName = LocalizedText("KeyValuePair") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('KeyValuePair', ua.VariantType.String) attrs.ValueRank = -1 @@ -45583,29 +45585,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=14873") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(14873, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=14873") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(14873, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15734") - node.BrowseName = ua.QualifiedName.from_string("EndpointType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(15734, 0) + node.BrowseName = QualifiedName('EndpointType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EndpointType") + attrs.DisplayName = LocalizedText("EndpointType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('EndpointType', ua.VariantType.String) attrs.ValueRank = -1 @@ -45614,29 +45616,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15734") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15734, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15734") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15734, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15738") - node.BrowseName = ua.QualifiedName.from_string("IdentityMappingRuleType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(15738, 0) + node.BrowseName = QualifiedName('IdentityMappingRuleType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("IdentityMappingRuleType") + attrs.DisplayName = LocalizedText("IdentityMappingRuleType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('IdentityMappingRuleType', ua.VariantType.String) attrs.ValueRank = -1 @@ -45645,29 +45647,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15738") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15738, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15738") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15738, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12681") - node.BrowseName = ua.QualifiedName.from_string("TrustListDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(12681, 0) + node.BrowseName = QualifiedName('TrustListDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TrustListDataType") + attrs.DisplayName = LocalizedText("TrustListDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('TrustListDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -45676,29 +45678,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12681") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12681, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12681") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12681, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15741") - node.BrowseName = ua.QualifiedName.from_string("DataTypeSchemaHeader") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(15741, 0) + node.BrowseName = QualifiedName('DataTypeSchemaHeader', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DataTypeSchemaHeader") + attrs.DisplayName = LocalizedText("DataTypeSchemaHeader") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('DataTypeSchemaHeader', ua.VariantType.String) attrs.ValueRank = -1 @@ -45707,29 +45709,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15741") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15741, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15741") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15741, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=14855") - node.BrowseName = ua.QualifiedName.from_string("DataTypeDescription") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(14855, 0) + node.BrowseName = QualifiedName('DataTypeDescription', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DataTypeDescription") + attrs.DisplayName = LocalizedText("DataTypeDescription") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('DataTypeDescription', ua.VariantType.String) attrs.ValueRank = -1 @@ -45738,29 +45740,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=14855") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(14855, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=14855") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(14855, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15599") - node.BrowseName = ua.QualifiedName.from_string("StructureDescription") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(15599, 0) + node.BrowseName = QualifiedName('StructureDescription', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("StructureDescription") + attrs.DisplayName = LocalizedText("StructureDescription") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('StructureDescription', ua.VariantType.String) attrs.ValueRank = -1 @@ -45769,29 +45771,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15599") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15599, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15599") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15599, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15602") - node.BrowseName = ua.QualifiedName.from_string("EnumDescription") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(15602, 0) + node.BrowseName = QualifiedName('EnumDescription', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EnumDescription") + attrs.DisplayName = LocalizedText("EnumDescription") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('EnumDescription', ua.VariantType.String) attrs.ValueRank = -1 @@ -45800,29 +45802,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15602") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15602, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15602") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15602, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15501") - node.BrowseName = ua.QualifiedName.from_string("SimpleTypeDescription") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(15501, 0) + node.BrowseName = QualifiedName('SimpleTypeDescription', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SimpleTypeDescription") + attrs.DisplayName = LocalizedText("SimpleTypeDescription") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('SimpleTypeDescription', ua.VariantType.String) attrs.ValueRank = -1 @@ -45831,29 +45833,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15501") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15501, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15501") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15501, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15521") - node.BrowseName = ua.QualifiedName.from_string("UABinaryFileDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(15521, 0) + node.BrowseName = QualifiedName('UABinaryFileDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("UABinaryFileDataType") + attrs.DisplayName = LocalizedText("UABinaryFileDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('UABinaryFileDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -45862,29 +45864,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15521") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15521, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15521") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15521, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=14849") - node.BrowseName = ua.QualifiedName.from_string("DataSetMetaDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(14849, 0) + node.BrowseName = QualifiedName('DataSetMetaDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DataSetMetaDataType") + attrs.DisplayName = LocalizedText("DataSetMetaDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('DataSetMetaDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -45893,29 +45895,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=14849") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(14849, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=14849") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(14849, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=14852") - node.BrowseName = ua.QualifiedName.from_string("FieldMetaData") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(14852, 0) + node.BrowseName = QualifiedName('FieldMetaData', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("FieldMetaData") + attrs.DisplayName = LocalizedText("FieldMetaData") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('FieldMetaData', ua.VariantType.String) attrs.ValueRank = -1 @@ -45924,29 +45926,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=14852") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(14852, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=14852") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(14852, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=14876") - node.BrowseName = ua.QualifiedName.from_string("ConfigurationVersionDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(14876, 0) + node.BrowseName = QualifiedName('ConfigurationVersionDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ConfigurationVersionDataType") + attrs.DisplayName = LocalizedText("ConfigurationVersionDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('ConfigurationVersionDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -45955,29 +45957,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=14876") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(14876, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=14876") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(14876, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15766") - node.BrowseName = ua.QualifiedName.from_string("PublishedDataSetDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(15766, 0) + node.BrowseName = QualifiedName('PublishedDataSetDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("PublishedDataSetDataType") + attrs.DisplayName = LocalizedText("PublishedDataSetDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('PublishedDataSetDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -45986,29 +45988,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15766") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15766, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15766") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15766, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15769") - node.BrowseName = ua.QualifiedName.from_string("PublishedDataSetSourceDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(15769, 0) + node.BrowseName = QualifiedName('PublishedDataSetSourceDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("PublishedDataSetSourceDataType") + attrs.DisplayName = LocalizedText("PublishedDataSetSourceDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('PublishedDataSetSourceDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -46017,29 +46019,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15769") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15769, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15769") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15769, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=14324") - node.BrowseName = ua.QualifiedName.from_string("PublishedVariableDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(14324, 0) + node.BrowseName = QualifiedName('PublishedVariableDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("PublishedVariableDataType") + attrs.DisplayName = LocalizedText("PublishedVariableDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('PublishedVariableDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -46048,29 +46050,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=14324") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(14324, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=14324") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(14324, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15772") - node.BrowseName = ua.QualifiedName.from_string("PublishedDataItemsDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(15772, 0) + node.BrowseName = QualifiedName('PublishedDataItemsDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("PublishedDataItemsDataType") + attrs.DisplayName = LocalizedText("PublishedDataItemsDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('PublishedDataItemsDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -46079,29 +46081,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15772") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15772, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15772") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15772, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15775") - node.BrowseName = ua.QualifiedName.from_string("PublishedEventsDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(15775, 0) + node.BrowseName = QualifiedName('PublishedEventsDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("PublishedEventsDataType") + attrs.DisplayName = LocalizedText("PublishedEventsDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('PublishedEventsDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -46110,29 +46112,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15775") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15775, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15775") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15775, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15778") - node.BrowseName = ua.QualifiedName.from_string("DataSetWriterDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(15778, 0) + node.BrowseName = QualifiedName('DataSetWriterDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DataSetWriterDataType") + attrs.DisplayName = LocalizedText("DataSetWriterDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('DataSetWriterDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -46141,29 +46143,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15778") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15778, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15778") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15778, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15781") - node.BrowseName = ua.QualifiedName.from_string("DataSetWriterTransportDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(15781, 0) + node.BrowseName = QualifiedName('DataSetWriterTransportDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DataSetWriterTransportDataType") + attrs.DisplayName = LocalizedText("DataSetWriterTransportDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('DataSetWriterTransportDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -46172,29 +46174,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15781") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15781, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15781") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15781, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15784") - node.BrowseName = ua.QualifiedName.from_string("DataSetWriterMessageDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(15784, 0) + node.BrowseName = QualifiedName('DataSetWriterMessageDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DataSetWriterMessageDataType") + attrs.DisplayName = LocalizedText("DataSetWriterMessageDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('DataSetWriterMessageDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -46203,29 +46205,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15784, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15784") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15784, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15787") - node.BrowseName = ua.QualifiedName.from_string("PubSubGroupDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(15787, 0) + node.BrowseName = QualifiedName('PubSubGroupDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("PubSubGroupDataType") + attrs.DisplayName = LocalizedText("PubSubGroupDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('PubSubGroupDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -46234,29 +46236,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15787") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15787, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15787") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15787, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=21156") - node.BrowseName = ua.QualifiedName.from_string("WriterGroupDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(21156, 0) + node.BrowseName = QualifiedName('WriterGroupDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("WriterGroupDataType") + attrs.DisplayName = LocalizedText("WriterGroupDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('WriterGroupDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -46265,29 +46267,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=21156") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(21156, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=21156") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(21156, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15793") - node.BrowseName = ua.QualifiedName.from_string("WriterGroupTransportDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(15793, 0) + node.BrowseName = QualifiedName('WriterGroupTransportDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("WriterGroupTransportDataType") + attrs.DisplayName = LocalizedText("WriterGroupTransportDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('WriterGroupTransportDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -46296,29 +46298,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15793") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15793, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15793") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15793, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15854") - node.BrowseName = ua.QualifiedName.from_string("WriterGroupMessageDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(15854, 0) + node.BrowseName = QualifiedName('WriterGroupMessageDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("WriterGroupMessageDataType") + attrs.DisplayName = LocalizedText("WriterGroupMessageDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('WriterGroupMessageDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -46327,29 +46329,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15854") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15854, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15854") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15854, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15857") - node.BrowseName = ua.QualifiedName.from_string("PubSubConnectionDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(15857, 0) + node.BrowseName = QualifiedName('PubSubConnectionDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("PubSubConnectionDataType") + attrs.DisplayName = LocalizedText("PubSubConnectionDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('PubSubConnectionDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -46358,29 +46360,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15857") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15857, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15857") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15857, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15860") - node.BrowseName = ua.QualifiedName.from_string("ConnectionTransportDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(15860, 0) + node.BrowseName = QualifiedName('ConnectionTransportDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ConnectionTransportDataType") + attrs.DisplayName = LocalizedText("ConnectionTransportDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('ConnectionTransportDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -46389,29 +46391,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15860") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15860, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15860") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15860, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=21159") - node.BrowseName = ua.QualifiedName.from_string("NetworkAddressDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(21159, 0) + node.BrowseName = QualifiedName('NetworkAddressDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("NetworkAddressDataType") + attrs.DisplayName = LocalizedText("NetworkAddressDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('NetworkAddressDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -46420,29 +46422,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=21159") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(21159, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=21159") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(21159, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=21162") - node.BrowseName = ua.QualifiedName.from_string("NetworkAddressUrlDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(21162, 0) + node.BrowseName = QualifiedName('NetworkAddressUrlDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("NetworkAddressUrlDataType") + attrs.DisplayName = LocalizedText("NetworkAddressUrlDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('NetworkAddressUrlDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -46451,29 +46453,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=21162") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(21162, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=21162") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(21162, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=21165") - node.BrowseName = ua.QualifiedName.from_string("ReaderGroupDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(21165, 0) + node.BrowseName = QualifiedName('ReaderGroupDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ReaderGroupDataType") + attrs.DisplayName = LocalizedText("ReaderGroupDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('ReaderGroupDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -46482,29 +46484,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=21165") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(21165, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=21165") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(21165, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15866") - node.BrowseName = ua.QualifiedName.from_string("ReaderGroupTransportDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(15866, 0) + node.BrowseName = QualifiedName('ReaderGroupTransportDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ReaderGroupTransportDataType") + attrs.DisplayName = LocalizedText("ReaderGroupTransportDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('ReaderGroupTransportDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -46513,29 +46515,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15866") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15866, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15866") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15866, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15869") - node.BrowseName = ua.QualifiedName.from_string("ReaderGroupMessageDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(15869, 0) + node.BrowseName = QualifiedName('ReaderGroupMessageDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ReaderGroupMessageDataType") + attrs.DisplayName = LocalizedText("ReaderGroupMessageDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('ReaderGroupMessageDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -46544,29 +46546,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15869") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15869, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15869") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15869, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15872") - node.BrowseName = ua.QualifiedName.from_string("DataSetReaderDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(15872, 0) + node.BrowseName = QualifiedName('DataSetReaderDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DataSetReaderDataType") + attrs.DisplayName = LocalizedText("DataSetReaderDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('DataSetReaderDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -46575,29 +46577,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15872") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15872, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15872") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15872, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15877") - node.BrowseName = ua.QualifiedName.from_string("DataSetReaderTransportDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(15877, 0) + node.BrowseName = QualifiedName('DataSetReaderTransportDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DataSetReaderTransportDataType") + attrs.DisplayName = LocalizedText("DataSetReaderTransportDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('DataSetReaderTransportDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -46606,29 +46608,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15877") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15877, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15877") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15877, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15880") - node.BrowseName = ua.QualifiedName.from_string("DataSetReaderMessageDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(15880, 0) + node.BrowseName = QualifiedName('DataSetReaderMessageDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DataSetReaderMessageDataType") + attrs.DisplayName = LocalizedText("DataSetReaderMessageDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('DataSetReaderMessageDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -46637,29 +46639,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15880") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15880, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15880") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15880, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15883") - node.BrowseName = ua.QualifiedName.from_string("SubscribedDataSetDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(15883, 0) + node.BrowseName = QualifiedName('SubscribedDataSetDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SubscribedDataSetDataType") + attrs.DisplayName = LocalizedText("SubscribedDataSetDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('SubscribedDataSetDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -46668,29 +46670,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15883") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15883, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15883") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15883, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15886") - node.BrowseName = ua.QualifiedName.from_string("TargetVariablesDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(15886, 0) + node.BrowseName = QualifiedName('TargetVariablesDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TargetVariablesDataType") + attrs.DisplayName = LocalizedText("TargetVariablesDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('TargetVariablesDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -46699,29 +46701,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15886") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15886, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15886") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15886, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=21002") - node.BrowseName = ua.QualifiedName.from_string("FieldTargetDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(21002, 0) + node.BrowseName = QualifiedName('FieldTargetDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("FieldTargetDataType") + attrs.DisplayName = LocalizedText("FieldTargetDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('FieldTargetDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -46730,29 +46732,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=21002") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(21002, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=21002") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(21002, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15889") - node.BrowseName = ua.QualifiedName.from_string("SubscribedDataSetMirrorDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(15889, 0) + node.BrowseName = QualifiedName('SubscribedDataSetMirrorDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SubscribedDataSetMirrorDataType") + attrs.DisplayName = LocalizedText("SubscribedDataSetMirrorDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('SubscribedDataSetMirrorDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -46761,29 +46763,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15889") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15889, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15889") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15889, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=21168") - node.BrowseName = ua.QualifiedName.from_string("PubSubConfigurationDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(21168, 0) + node.BrowseName = QualifiedName('PubSubConfigurationDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("PubSubConfigurationDataType") + attrs.DisplayName = LocalizedText("PubSubConfigurationDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('PubSubConfigurationDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -46792,29 +46794,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=21168") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(21168, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=21168") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(21168, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15895") - node.BrowseName = ua.QualifiedName.from_string("UadpWriterGroupMessageDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(15895, 0) + node.BrowseName = QualifiedName('UadpWriterGroupMessageDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("UadpWriterGroupMessageDataType") + attrs.DisplayName = LocalizedText("UadpWriterGroupMessageDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('UadpWriterGroupMessageDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -46823,29 +46825,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15895") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15895, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15895") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15895, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15898") - node.BrowseName = ua.QualifiedName.from_string("UadpDataSetWriterMessageDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(15898, 0) + node.BrowseName = QualifiedName('UadpDataSetWriterMessageDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("UadpDataSetWriterMessageDataType") + attrs.DisplayName = LocalizedText("UadpDataSetWriterMessageDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('UadpDataSetWriterMessageDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -46854,29 +46856,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15898") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15898, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15898") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15898, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15919") - node.BrowseName = ua.QualifiedName.from_string("UadpDataSetReaderMessageDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(15919, 0) + node.BrowseName = QualifiedName('UadpDataSetReaderMessageDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("UadpDataSetReaderMessageDataType") + attrs.DisplayName = LocalizedText("UadpDataSetReaderMessageDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('UadpDataSetReaderMessageDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -46885,29 +46887,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15919") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15919, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15919") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15919, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15922") - node.BrowseName = ua.QualifiedName.from_string("JsonWriterGroupMessageDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(15922, 0) + node.BrowseName = QualifiedName('JsonWriterGroupMessageDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("JsonWriterGroupMessageDataType") + attrs.DisplayName = LocalizedText("JsonWriterGroupMessageDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('JsonWriterGroupMessageDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -46916,29 +46918,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15922") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15922, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15922") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15922, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15925") - node.BrowseName = ua.QualifiedName.from_string("JsonDataSetWriterMessageDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(15925, 0) + node.BrowseName = QualifiedName('JsonDataSetWriterMessageDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("JsonDataSetWriterMessageDataType") + attrs.DisplayName = LocalizedText("JsonDataSetWriterMessageDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('JsonDataSetWriterMessageDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -46947,29 +46949,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15925") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15925, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15925") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15925, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15931") - node.BrowseName = ua.QualifiedName.from_string("JsonDataSetReaderMessageDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(15931, 0) + node.BrowseName = QualifiedName('JsonDataSetReaderMessageDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("JsonDataSetReaderMessageDataType") + attrs.DisplayName = LocalizedText("JsonDataSetReaderMessageDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('JsonDataSetReaderMessageDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -46978,29 +46980,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15931") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15931, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15931") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15931, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17469") - node.BrowseName = ua.QualifiedName.from_string("DatagramConnectionTransportDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(17469, 0) + node.BrowseName = QualifiedName('DatagramConnectionTransportDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DatagramConnectionTransportDataType") + attrs.DisplayName = LocalizedText("DatagramConnectionTransportDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('DatagramConnectionTransportDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -47009,29 +47011,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=17469") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(17469, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=17469") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(17469, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=21171") - node.BrowseName = ua.QualifiedName.from_string("DatagramWriterGroupTransportDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(21171, 0) + node.BrowseName = QualifiedName('DatagramWriterGroupTransportDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DatagramWriterGroupTransportDataType") + attrs.DisplayName = LocalizedText("DatagramWriterGroupTransportDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('DatagramWriterGroupTransportDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -47040,29 +47042,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=21171") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(21171, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=21171") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(21171, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15524") - node.BrowseName = ua.QualifiedName.from_string("BrokerConnectionTransportDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(15524, 0) + node.BrowseName = QualifiedName('BrokerConnectionTransportDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("BrokerConnectionTransportDataType") + attrs.DisplayName = LocalizedText("BrokerConnectionTransportDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('BrokerConnectionTransportDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -47071,29 +47073,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15524") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15524, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15524") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15524, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15940") - node.BrowseName = ua.QualifiedName.from_string("BrokerWriterGroupTransportDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(15940, 0) + node.BrowseName = QualifiedName('BrokerWriterGroupTransportDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("BrokerWriterGroupTransportDataType") + attrs.DisplayName = LocalizedText("BrokerWriterGroupTransportDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('BrokerWriterGroupTransportDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -47102,29 +47104,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15940") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15940, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15940") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15940, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15943") - node.BrowseName = ua.QualifiedName.from_string("BrokerDataSetWriterTransportDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(15943, 0) + node.BrowseName = QualifiedName('BrokerDataSetWriterTransportDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("BrokerDataSetWriterTransportDataType") + attrs.DisplayName = LocalizedText("BrokerDataSetWriterTransportDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('BrokerDataSetWriterTransportDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -47133,29 +47135,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15943") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15943, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15943") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15943, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15946") - node.BrowseName = ua.QualifiedName.from_string("BrokerDataSetReaderTransportDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(15946, 0) + node.BrowseName = QualifiedName('BrokerDataSetReaderTransportDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("BrokerDataSetReaderTransportDataType") + attrs.DisplayName = LocalizedText("BrokerDataSetReaderTransportDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('BrokerDataSetReaderTransportDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -47164,29 +47166,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15946") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15946, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15946") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15946, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16131") - node.BrowseName = ua.QualifiedName.from_string("RolePermissionType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(16131, 0) + node.BrowseName = QualifiedName('RolePermissionType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RolePermissionType") + attrs.DisplayName = LocalizedText("RolePermissionType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('RolePermissionType', ua.VariantType.String) attrs.ValueRank = -1 @@ -47195,29 +47197,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16131") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16131, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16131") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16131, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=18178") - node.BrowseName = ua.QualifiedName.from_string("DataTypeDefinition") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(18178, 0) + node.BrowseName = QualifiedName('DataTypeDefinition', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DataTypeDefinition") + attrs.DisplayName = LocalizedText("DataTypeDefinition") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('DataTypeDefinition', ua.VariantType.String) attrs.ValueRank = -1 @@ -47226,29 +47228,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=18178") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(18178, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=18178") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(18178, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=18181") - node.BrowseName = ua.QualifiedName.from_string("StructureField") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(18181, 0) + node.BrowseName = QualifiedName('StructureField', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("StructureField") + attrs.DisplayName = LocalizedText("StructureField") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('StructureField', ua.VariantType.String) attrs.ValueRank = -1 @@ -47257,29 +47259,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=18181") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(18181, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=18181") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(18181, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=18184") - node.BrowseName = ua.QualifiedName.from_string("StructureDefinition") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(18184, 0) + node.BrowseName = QualifiedName('StructureDefinition', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("StructureDefinition") + attrs.DisplayName = LocalizedText("StructureDefinition") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('StructureDefinition', ua.VariantType.String) attrs.ValueRank = -1 @@ -47288,29 +47290,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=18184") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(18184, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=18184") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(18184, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=18187") - node.BrowseName = ua.QualifiedName.from_string("EnumDefinition") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(18187, 0) + node.BrowseName = QualifiedName('EnumDefinition', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EnumDefinition") + attrs.DisplayName = LocalizedText("EnumDefinition") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('EnumDefinition', ua.VariantType.String) attrs.ValueRank = -1 @@ -47319,29 +47321,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=18187") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(18187, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=18187") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(18187, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7650") - node.BrowseName = ua.QualifiedName.from_string("Argument") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(7650, 0) + node.BrowseName = QualifiedName('Argument', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Argument") + attrs.DisplayName = LocalizedText("Argument") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('Argument', ua.VariantType.String) attrs.ValueRank = -1 @@ -47350,29 +47352,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7650") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(7650, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7650") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7650, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7656") - node.BrowseName = ua.QualifiedName.from_string("EnumValueType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(7656, 0) + node.BrowseName = QualifiedName('EnumValueType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EnumValueType") + attrs.DisplayName = LocalizedText("EnumValueType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('EnumValueType', ua.VariantType.String) attrs.ValueRank = -1 @@ -47381,29 +47383,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7656") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(7656, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7656") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7656, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=14870") - node.BrowseName = ua.QualifiedName.from_string("EnumField") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(14870, 0) + node.BrowseName = QualifiedName('EnumField', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EnumField") + attrs.DisplayName = LocalizedText("EnumField") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('EnumField', ua.VariantType.String) attrs.ValueRank = -1 @@ -47412,29 +47414,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=14870") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(14870, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=14870") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(14870, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12767") - node.BrowseName = ua.QualifiedName.from_string("OptionSet") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(12767, 0) + node.BrowseName = QualifiedName('OptionSet', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OptionSet") + attrs.DisplayName = LocalizedText("OptionSet") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('OptionSet', ua.VariantType.String) attrs.ValueRank = -1 @@ -47443,29 +47445,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12767") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12767, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12767") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12767, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12770") - node.BrowseName = ua.QualifiedName.from_string("Union") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(12770, 0) + node.BrowseName = QualifiedName('Union', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Union") + attrs.DisplayName = LocalizedText("Union") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('Union', ua.VariantType.String) attrs.ValueRank = -1 @@ -47474,29 +47476,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12770") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12770, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12770") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12770, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8914") - node.BrowseName = ua.QualifiedName.from_string("TimeZoneDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8914, 0) + node.BrowseName = QualifiedName('TimeZoneDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TimeZoneDataType") + attrs.DisplayName = LocalizedText("TimeZoneDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('TimeZoneDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -47505,29 +47507,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8914") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8914, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8914") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8914, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7665") - node.BrowseName = ua.QualifiedName.from_string("ApplicationDescription") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(7665, 0) + node.BrowseName = QualifiedName('ApplicationDescription', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ApplicationDescription") + attrs.DisplayName = LocalizedText("ApplicationDescription") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('ApplicationDescription', ua.VariantType.String) attrs.ValueRank = -1 @@ -47536,29 +47538,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7665") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(7665, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7665") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7665, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12213") - node.BrowseName = ua.QualifiedName.from_string("ServerOnNetwork") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(12213, 0) + node.BrowseName = QualifiedName('ServerOnNetwork', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ServerOnNetwork") + attrs.DisplayName = LocalizedText("ServerOnNetwork") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('ServerOnNetwork', ua.VariantType.String) attrs.ValueRank = -1 @@ -47567,29 +47569,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12213") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12213, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12213") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12213, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7662") - node.BrowseName = ua.QualifiedName.from_string("UserTokenPolicy") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(7662, 0) + node.BrowseName = QualifiedName('UserTokenPolicy', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("UserTokenPolicy") + attrs.DisplayName = LocalizedText("UserTokenPolicy") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('UserTokenPolicy', ua.VariantType.String) attrs.ValueRank = -1 @@ -47598,29 +47600,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7662") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(7662, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7662") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7662, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7668") - node.BrowseName = ua.QualifiedName.from_string("EndpointDescription") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(7668, 0) + node.BrowseName = QualifiedName('EndpointDescription', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EndpointDescription") + attrs.DisplayName = LocalizedText("EndpointDescription") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('EndpointDescription', ua.VariantType.String) attrs.ValueRank = -1 @@ -47629,29 +47631,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7668") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(7668, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7668") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7668, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7782") - node.BrowseName = ua.QualifiedName.from_string("RegisteredServer") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(7782, 0) + node.BrowseName = QualifiedName('RegisteredServer', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RegisteredServer") + attrs.DisplayName = LocalizedText("RegisteredServer") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('RegisteredServer', ua.VariantType.String) attrs.ValueRank = -1 @@ -47660,29 +47662,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7782") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(7782, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7782") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7782, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12902") - node.BrowseName = ua.QualifiedName.from_string("DiscoveryConfiguration") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(12902, 0) + node.BrowseName = QualifiedName('DiscoveryConfiguration', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DiscoveryConfiguration") + attrs.DisplayName = LocalizedText("DiscoveryConfiguration") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('DiscoveryConfiguration', ua.VariantType.String) attrs.ValueRank = -1 @@ -47691,29 +47693,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12902") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12902, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12902") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12902, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12905") - node.BrowseName = ua.QualifiedName.from_string("MdnsDiscoveryConfiguration") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(12905, 0) + node.BrowseName = QualifiedName('MdnsDiscoveryConfiguration', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MdnsDiscoveryConfiguration") + attrs.DisplayName = LocalizedText("MdnsDiscoveryConfiguration") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('MdnsDiscoveryConfiguration', ua.VariantType.String) attrs.ValueRank = -1 @@ -47722,29 +47724,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12905") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12905, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12905") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12905, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7698") - node.BrowseName = ua.QualifiedName.from_string("SignedSoftwareCertificate") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(7698, 0) + node.BrowseName = QualifiedName('SignedSoftwareCertificate', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SignedSoftwareCertificate") + attrs.DisplayName = LocalizedText("SignedSoftwareCertificate") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('SignedSoftwareCertificate', ua.VariantType.String) attrs.ValueRank = -1 @@ -47753,29 +47755,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7698") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(7698, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7698") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7698, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7671") - node.BrowseName = ua.QualifiedName.from_string("UserIdentityToken") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(7671, 0) + node.BrowseName = QualifiedName('UserIdentityToken', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("UserIdentityToken") + attrs.DisplayName = LocalizedText("UserIdentityToken") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('UserIdentityToken', ua.VariantType.String) attrs.ValueRank = -1 @@ -47784,29 +47786,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7671") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(7671, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7671") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7671, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7674") - node.BrowseName = ua.QualifiedName.from_string("AnonymousIdentityToken") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(7674, 0) + node.BrowseName = QualifiedName('AnonymousIdentityToken', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AnonymousIdentityToken") + attrs.DisplayName = LocalizedText("AnonymousIdentityToken") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('AnonymousIdentityToken', ua.VariantType.String) attrs.ValueRank = -1 @@ -47815,29 +47817,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7674") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(7674, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7674") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7674, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7677") - node.BrowseName = ua.QualifiedName.from_string("UserNameIdentityToken") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(7677, 0) + node.BrowseName = QualifiedName('UserNameIdentityToken', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("UserNameIdentityToken") + attrs.DisplayName = LocalizedText("UserNameIdentityToken") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('UserNameIdentityToken', ua.VariantType.String) attrs.ValueRank = -1 @@ -47846,29 +47848,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7677") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(7677, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7677") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7677, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7680") - node.BrowseName = ua.QualifiedName.from_string("X509IdentityToken") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(7680, 0) + node.BrowseName = QualifiedName('X509IdentityToken', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("X509IdentityToken") + attrs.DisplayName = LocalizedText("X509IdentityToken") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('X509IdentityToken', ua.VariantType.String) attrs.ValueRank = -1 @@ -47877,29 +47879,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7680") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(7680, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7680") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7680, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7683") - node.BrowseName = ua.QualifiedName.from_string("IssuedIdentityToken") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(7683, 0) + node.BrowseName = QualifiedName('IssuedIdentityToken', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("IssuedIdentityToken") + attrs.DisplayName = LocalizedText("IssuedIdentityToken") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('IssuedIdentityToken', ua.VariantType.String) attrs.ValueRank = -1 @@ -47908,29 +47910,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7683") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(7683, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7683") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7683, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7728") - node.BrowseName = ua.QualifiedName.from_string("AddNodesItem") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(7728, 0) + node.BrowseName = QualifiedName('AddNodesItem', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AddNodesItem") + attrs.DisplayName = LocalizedText("AddNodesItem") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('AddNodesItem', ua.VariantType.String) attrs.ValueRank = -1 @@ -47939,29 +47941,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7728") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(7728, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7728") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7728, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7731") - node.BrowseName = ua.QualifiedName.from_string("AddReferencesItem") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(7731, 0) + node.BrowseName = QualifiedName('AddReferencesItem', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AddReferencesItem") + attrs.DisplayName = LocalizedText("AddReferencesItem") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('AddReferencesItem', ua.VariantType.String) attrs.ValueRank = -1 @@ -47970,29 +47972,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7731") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(7731, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7731") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7731, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7734") - node.BrowseName = ua.QualifiedName.from_string("DeleteNodesItem") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(7734, 0) + node.BrowseName = QualifiedName('DeleteNodesItem', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DeleteNodesItem") + attrs.DisplayName = LocalizedText("DeleteNodesItem") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('DeleteNodesItem', ua.VariantType.String) attrs.ValueRank = -1 @@ -48001,29 +48003,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7734") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(7734, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7734") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7734, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7737") - node.BrowseName = ua.QualifiedName.from_string("DeleteReferencesItem") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(7737, 0) + node.BrowseName = QualifiedName('DeleteReferencesItem', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DeleteReferencesItem") + attrs.DisplayName = LocalizedText("DeleteReferencesItem") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('DeleteReferencesItem', ua.VariantType.String) attrs.ValueRank = -1 @@ -48032,29 +48034,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7737") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(7737, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7737") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7737, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12718") - node.BrowseName = ua.QualifiedName.from_string("RelativePathElement") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(12718, 0) + node.BrowseName = QualifiedName('RelativePathElement', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RelativePathElement") + attrs.DisplayName = LocalizedText("RelativePathElement") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('RelativePathElement', ua.VariantType.String) attrs.ValueRank = -1 @@ -48063,29 +48065,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12718") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12718, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12718") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12718, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12721") - node.BrowseName = ua.QualifiedName.from_string("RelativePath") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(12721, 0) + node.BrowseName = QualifiedName('RelativePath', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RelativePath") + attrs.DisplayName = LocalizedText("RelativePath") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('RelativePath', ua.VariantType.String) attrs.ValueRank = -1 @@ -48094,29 +48096,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12721") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12721, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12721") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12721, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7686") - node.BrowseName = ua.QualifiedName.from_string("EndpointConfiguration") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(7686, 0) + node.BrowseName = QualifiedName('EndpointConfiguration', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EndpointConfiguration") + attrs.DisplayName = LocalizedText("EndpointConfiguration") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('EndpointConfiguration', ua.VariantType.String) attrs.ValueRank = -1 @@ -48125,29 +48127,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7686") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(7686, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7686") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7686, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7929") - node.BrowseName = ua.QualifiedName.from_string("ContentFilterElement") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(7929, 0) + node.BrowseName = QualifiedName('ContentFilterElement', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ContentFilterElement") + attrs.DisplayName = LocalizedText("ContentFilterElement") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('ContentFilterElement', ua.VariantType.String) attrs.ValueRank = -1 @@ -48156,29 +48158,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7929") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(7929, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7929") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7929, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7932") - node.BrowseName = ua.QualifiedName.from_string("ContentFilter") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(7932, 0) + node.BrowseName = QualifiedName('ContentFilter', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ContentFilter") + attrs.DisplayName = LocalizedText("ContentFilter") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('ContentFilter', ua.VariantType.String) attrs.ValueRank = -1 @@ -48187,29 +48189,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7932") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(7932, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7932") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7932, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7935") - node.BrowseName = ua.QualifiedName.from_string("FilterOperand") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(7935, 0) + node.BrowseName = QualifiedName('FilterOperand', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("FilterOperand") + attrs.DisplayName = LocalizedText("FilterOperand") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('FilterOperand', ua.VariantType.String) attrs.ValueRank = -1 @@ -48218,29 +48220,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7935") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(7935, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7935") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7935, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7938") - node.BrowseName = ua.QualifiedName.from_string("ElementOperand") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(7938, 0) + node.BrowseName = QualifiedName('ElementOperand', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ElementOperand") + attrs.DisplayName = LocalizedText("ElementOperand") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('ElementOperand', ua.VariantType.String) attrs.ValueRank = -1 @@ -48249,29 +48251,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7938") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(7938, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7938") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7938, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7941") - node.BrowseName = ua.QualifiedName.from_string("LiteralOperand") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(7941, 0) + node.BrowseName = QualifiedName('LiteralOperand', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LiteralOperand") + attrs.DisplayName = LocalizedText("LiteralOperand") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('LiteralOperand', ua.VariantType.String) attrs.ValueRank = -1 @@ -48280,29 +48282,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7941") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(7941, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7941") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7941, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7944") - node.BrowseName = ua.QualifiedName.from_string("AttributeOperand") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(7944, 0) + node.BrowseName = QualifiedName('AttributeOperand', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AttributeOperand") + attrs.DisplayName = LocalizedText("AttributeOperand") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('AttributeOperand', ua.VariantType.String) attrs.ValueRank = -1 @@ -48311,29 +48313,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7944") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(7944, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7944") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7944, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7947") - node.BrowseName = ua.QualifiedName.from_string("SimpleAttributeOperand") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(7947, 0) + node.BrowseName = QualifiedName('SimpleAttributeOperand', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SimpleAttributeOperand") + attrs.DisplayName = LocalizedText("SimpleAttributeOperand") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('SimpleAttributeOperand', ua.VariantType.String) attrs.ValueRank = -1 @@ -48342,29 +48344,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7947") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(7947, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7947") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7947, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8004") - node.BrowseName = ua.QualifiedName.from_string("HistoryEvent") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8004, 0) + node.BrowseName = QualifiedName('HistoryEvent', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("HistoryEvent") + attrs.DisplayName = LocalizedText("HistoryEvent") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('HistoryEvent', ua.VariantType.String) attrs.ValueRank = -1 @@ -48373,29 +48375,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8004") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8004, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8004") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8004, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8067") - node.BrowseName = ua.QualifiedName.from_string("MonitoringFilter") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8067, 0) + node.BrowseName = QualifiedName('MonitoringFilter', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MonitoringFilter") + attrs.DisplayName = LocalizedText("MonitoringFilter") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('MonitoringFilter', ua.VariantType.String) attrs.ValueRank = -1 @@ -48404,29 +48406,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8067") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8067, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8067") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8067, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8073") - node.BrowseName = ua.QualifiedName.from_string("EventFilter") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8073, 0) + node.BrowseName = QualifiedName('EventFilter', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EventFilter") + attrs.DisplayName = LocalizedText("EventFilter") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('EventFilter', ua.VariantType.String) attrs.ValueRank = -1 @@ -48435,29 +48437,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8073") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8073, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8073") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8073, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8076") - node.BrowseName = ua.QualifiedName.from_string("AggregateConfiguration") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8076, 0) + node.BrowseName = QualifiedName('AggregateConfiguration', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AggregateConfiguration") + attrs.DisplayName = LocalizedText("AggregateConfiguration") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('AggregateConfiguration', ua.VariantType.String) attrs.ValueRank = -1 @@ -48466,29 +48468,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8076") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8076, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8076") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8076, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8172") - node.BrowseName = ua.QualifiedName.from_string("HistoryEventFieldList") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8172, 0) + node.BrowseName = QualifiedName('HistoryEventFieldList', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("HistoryEventFieldList") + attrs.DisplayName = LocalizedText("HistoryEventFieldList") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('HistoryEventFieldList', ua.VariantType.String) attrs.ValueRank = -1 @@ -48497,29 +48499,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8172") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8172, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8172") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8172, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7692") - node.BrowseName = ua.QualifiedName.from_string("BuildInfo") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(7692, 0) + node.BrowseName = QualifiedName('BuildInfo', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("BuildInfo") + attrs.DisplayName = LocalizedText("BuildInfo") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('BuildInfo', ua.VariantType.String) attrs.ValueRank = -1 @@ -48528,29 +48530,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7692") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(7692, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7692") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7692, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8208") - node.BrowseName = ua.QualifiedName.from_string("RedundantServerDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8208, 0) + node.BrowseName = QualifiedName('RedundantServerDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RedundantServerDataType") + attrs.DisplayName = LocalizedText("RedundantServerDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('RedundantServerDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -48559,29 +48561,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8208") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8208, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8208") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8208, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11959") - node.BrowseName = ua.QualifiedName.from_string("EndpointUrlListDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(11959, 0) + node.BrowseName = QualifiedName('EndpointUrlListDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EndpointUrlListDataType") + attrs.DisplayName = LocalizedText("EndpointUrlListDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('EndpointUrlListDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -48590,29 +48592,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11959") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11959, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11959") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11959, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11962") - node.BrowseName = ua.QualifiedName.from_string("NetworkGroupDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(11962, 0) + node.BrowseName = QualifiedName('NetworkGroupDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("NetworkGroupDataType") + attrs.DisplayName = LocalizedText("NetworkGroupDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('NetworkGroupDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -48621,29 +48623,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11962") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11962, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11962") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11962, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8211") - node.BrowseName = ua.QualifiedName.from_string("SamplingIntervalDiagnosticsDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8211, 0) + node.BrowseName = QualifiedName('SamplingIntervalDiagnosticsDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SamplingIntervalDiagnosticsDataType") + attrs.DisplayName = LocalizedText("SamplingIntervalDiagnosticsDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('SamplingIntervalDiagnosticsDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -48652,29 +48654,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8211") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8211, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8211") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8211, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8214") - node.BrowseName = ua.QualifiedName.from_string("ServerDiagnosticsSummaryDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8214, 0) + node.BrowseName = QualifiedName('ServerDiagnosticsSummaryDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ServerDiagnosticsSummaryDataType") + attrs.DisplayName = LocalizedText("ServerDiagnosticsSummaryDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('ServerDiagnosticsSummaryDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -48683,29 +48685,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8214") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8214, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8214") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8214, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8217") - node.BrowseName = ua.QualifiedName.from_string("ServerStatusDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8217, 0) + node.BrowseName = QualifiedName('ServerStatusDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ServerStatusDataType") + attrs.DisplayName = LocalizedText("ServerStatusDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('ServerStatusDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -48714,29 +48716,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8217") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8217, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8217") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8217, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8220") - node.BrowseName = ua.QualifiedName.from_string("SessionDiagnosticsDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8220, 0) + node.BrowseName = QualifiedName('SessionDiagnosticsDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SessionDiagnosticsDataType") + attrs.DisplayName = LocalizedText("SessionDiagnosticsDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('SessionDiagnosticsDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -48745,29 +48747,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8220") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8220, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8220") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8220, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8223") - node.BrowseName = ua.QualifiedName.from_string("SessionSecurityDiagnosticsDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8223, 0) + node.BrowseName = QualifiedName('SessionSecurityDiagnosticsDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SessionSecurityDiagnosticsDataType") + attrs.DisplayName = LocalizedText("SessionSecurityDiagnosticsDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('SessionSecurityDiagnosticsDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -48776,29 +48778,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8223") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8223, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8223") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8223, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8226") - node.BrowseName = ua.QualifiedName.from_string("ServiceCounterDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8226, 0) + node.BrowseName = QualifiedName('ServiceCounterDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ServiceCounterDataType") + attrs.DisplayName = LocalizedText("ServiceCounterDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('ServiceCounterDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -48807,29 +48809,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8226") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8226, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8226") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8226, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=7659") - node.BrowseName = ua.QualifiedName.from_string("StatusResult") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(7659, 0) + node.BrowseName = QualifiedName('StatusResult', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("StatusResult") + attrs.DisplayName = LocalizedText("StatusResult") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('StatusResult', ua.VariantType.String) attrs.ValueRank = -1 @@ -48838,29 +48840,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=7659") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(7659, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=7659") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(7659, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8229") - node.BrowseName = ua.QualifiedName.from_string("SubscriptionDiagnosticsDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8229, 0) + node.BrowseName = QualifiedName('SubscriptionDiagnosticsDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SubscriptionDiagnosticsDataType") + attrs.DisplayName = LocalizedText("SubscriptionDiagnosticsDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('SubscriptionDiagnosticsDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -48869,29 +48871,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8229") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8229, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8229") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8229, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8232") - node.BrowseName = ua.QualifiedName.from_string("ModelChangeStructureDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8232, 0) + node.BrowseName = QualifiedName('ModelChangeStructureDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ModelChangeStructureDataType") + attrs.DisplayName = LocalizedText("ModelChangeStructureDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('ModelChangeStructureDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -48900,29 +48902,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8232") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8232, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8232") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8232, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8235") - node.BrowseName = ua.QualifiedName.from_string("SemanticChangeStructureDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8235, 0) + node.BrowseName = QualifiedName('SemanticChangeStructureDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SemanticChangeStructureDataType") + attrs.DisplayName = LocalizedText("SemanticChangeStructureDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('SemanticChangeStructureDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -48931,29 +48933,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8235") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8235, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8235") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8235, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8238") - node.BrowseName = ua.QualifiedName.from_string("Range") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8238, 0) + node.BrowseName = QualifiedName('Range', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Range") + attrs.DisplayName = LocalizedText("Range") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('Range', ua.VariantType.String) attrs.ValueRank = -1 @@ -48962,29 +48964,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8238") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8238, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8238") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8238, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8241") - node.BrowseName = ua.QualifiedName.from_string("EUInformation") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8241, 0) + node.BrowseName = QualifiedName('EUInformation', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EUInformation") + attrs.DisplayName = LocalizedText("EUInformation") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('EUInformation', ua.VariantType.String) attrs.ValueRank = -1 @@ -48993,29 +48995,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8241") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8241, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8241") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8241, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12183") - node.BrowseName = ua.QualifiedName.from_string("ComplexNumberType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(12183, 0) + node.BrowseName = QualifiedName('ComplexNumberType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ComplexNumberType") + attrs.DisplayName = LocalizedText("ComplexNumberType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('ComplexNumberType', ua.VariantType.String) attrs.ValueRank = -1 @@ -49024,29 +49026,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12183") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12183, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12183") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12183, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12186") - node.BrowseName = ua.QualifiedName.from_string("DoubleComplexNumberType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(12186, 0) + node.BrowseName = QualifiedName('DoubleComplexNumberType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DoubleComplexNumberType") + attrs.DisplayName = LocalizedText("DoubleComplexNumberType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('DoubleComplexNumberType', ua.VariantType.String) attrs.ValueRank = -1 @@ -49055,29 +49057,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12186") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12186, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12186") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12186, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12091") - node.BrowseName = ua.QualifiedName.from_string("AxisInformation") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(12091, 0) + node.BrowseName = QualifiedName('AxisInformation', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AxisInformation") + attrs.DisplayName = LocalizedText("AxisInformation") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('AxisInformation', ua.VariantType.String) attrs.ValueRank = -1 @@ -49086,29 +49088,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12091") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12091, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12091") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12091, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12094") - node.BrowseName = ua.QualifiedName.from_string("XVType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(12094, 0) + node.BrowseName = QualifiedName('XVType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("XVType") + attrs.DisplayName = LocalizedText("XVType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('XVType', ua.VariantType.String) attrs.ValueRank = -1 @@ -49117,29 +49119,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12094") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12094, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12094") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12094, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8247") - node.BrowseName = ua.QualifiedName.from_string("ProgramDiagnosticDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8247, 0) + node.BrowseName = QualifiedName('ProgramDiagnosticDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ProgramDiagnosticDataType") + attrs.DisplayName = LocalizedText("ProgramDiagnosticDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('ProgramDiagnosticDataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -49148,29 +49150,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8247") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8247, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8247") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8247, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15398") - node.BrowseName = ua.QualifiedName.from_string("ProgramDiagnostic2DataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(15398, 0) + node.BrowseName = QualifiedName('ProgramDiagnostic2DataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ProgramDiagnostic2DataType") + attrs.DisplayName = LocalizedText("ProgramDiagnostic2DataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('ProgramDiagnostic2DataType', ua.VariantType.String) attrs.ValueRank = -1 @@ -49179,29 +49181,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15398") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15398, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15398") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15398, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8244") - node.BrowseName = ua.QualifiedName.from_string("Annotation") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=7617") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8244, 0) + node.BrowseName = QualifiedName('Annotation', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(7617, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Annotation") + attrs.DisplayName = LocalizedText("Annotation") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('Annotation', ua.VariantType.String) attrs.ValueRank = -1 @@ -49210,641 +49212,641 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8244") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8244, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8244") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=7617") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8244, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(7617, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=14802") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=14533") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(14802, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(14533, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=14802") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=14533") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(14802, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(14533, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=14802") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=14829") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(14802, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(14829, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=14802") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(14802, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15949") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=15528") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15949, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(15528, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15949") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15528") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15949, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15528, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=15949") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16024") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(15949, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16024, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15949") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15949, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15728") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=15634") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15728, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(15634, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15728") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15634") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15728, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15634, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=15728") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15730") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(15728, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15730, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15728") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15728, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=339") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=338") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(339, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(338, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=339") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=338") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(339, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(338, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=339") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8327") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(339, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8327, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=339") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(339, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=854") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=853") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(854, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(853, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=854") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=853") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(854, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(853, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=854") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8843") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(854, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8843, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=854") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(854, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11949") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=11943") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(11949, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(11943, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=11949") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11943") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(11949, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11943, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=11949") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11951") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(11949, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11951, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11949") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11949, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11950") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=11944") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(11950, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(11944, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=11950") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11944") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(11950, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11944, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=11950") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11954") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(11950, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11954, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11950") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11950, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=857") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=856") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(857, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(856, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=857") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=856") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(857, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(856, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=857") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8846") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(857, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8846, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=857") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(857, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=860") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=859") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(860, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(859, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=860") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=859") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(860, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(859, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=860") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8849") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(860, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8849, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=860") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(860, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=863") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=862") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(863, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(862, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=863") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=862") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(863, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(862, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=863") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8852") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(863, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8852, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=863") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(863, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=866") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=865") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(866, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(865, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=866") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=865") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(866, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(865, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=866") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8855") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(866, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8855, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=866") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(866, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=869") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=868") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(869, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(868, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=869") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=868") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(869, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(868, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=869") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8858") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(869, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8858, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=869") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(869, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=872") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=871") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(872, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(871, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=872") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=871") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(872, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(871, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=872") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8861") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(872, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8861, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=872") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(872, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=300") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=299") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(300, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(299, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=300") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=299") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(300, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(299, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=300") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8294") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(300, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8294, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=300") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(300, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=875") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=874") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(875, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(874, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=875") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=874") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(875, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(874, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=875") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8864") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(875, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8864, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=875") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(875, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=878") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=877") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(878, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(877, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=878") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=877") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(878, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(877, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=878") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8867") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(878, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8867, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=878") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(878, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=898") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=897") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(898, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(897, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=898") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=897") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(898, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(897, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=898") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8870") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(898, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8870, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=898") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(898, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8252") - node.BrowseName = ua.QualifiedName.from_string("Opc.Ua") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=92") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=72") + node.RequestedNewNodeId = NumericNodeId(8252, 0) + node.BrowseName = QualifiedName('Opc.Ua', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(92, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(72, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Opc.Ua") + attrs.DisplayName = LocalizedText("Opc.Ua") attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) attrs.Value = ua.Variant(b'\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n true\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n true\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n true\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The type of identifier used in a node id.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A mask specifying the class of the node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to all nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to object nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to object type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to variable nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to variable type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to reference type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to method nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies a reference which belongs to a node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n An argument for a method.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A mapping between a value of an enumerated type and a name and description.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n This abstract DataType is the base DataType for all union DataTypes.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n The types of applications.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Describes an application and how to find it.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The header passed with every server request.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The header passed with every server response.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n The response returned by all services when there is a service level error.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Finds the servers known to the discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Finds the servers known to the discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n The type of security to use on a message.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The possible user token types.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Describes a user token that can be used with a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The description of a endpoint that can be used to access a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Gets the endpoints used by the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Gets the endpoints used by the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The information required to register a server with a discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Registers a server with the discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Registers a server with the discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A base type for discovery configuration information.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The discovery information needed for mDNS registration.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Indicates whether a token if being created or renewed.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The token that identifies a set of keys for an active secure channel.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Creates a secure channel with a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Creates a secure channel with a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Closes a secure channel.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Closes a secure channel.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A software certificate with a digital signature.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n A digital signature.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Creates a new session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Creates a new session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A base type for a user identity token.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A token representing an anonymous user.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A token representing a user identified by a user name and password.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A token representing a user identified by an X509 certificate.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A token representing a user identified by a WS-Security XML token.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Activates a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Activates a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Closes a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Closes a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Cancels an outstanding request.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Cancels an outstanding request.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The bits used to specify default attributes for a new node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The base attributes for all nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for an object node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a variable node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a method node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for an object type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a variable type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a reference type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a data type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a view node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to add a node to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A result of an add node operation.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Adds one or more nodes to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Adds one or more nodes to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to add a reference to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Adds one or more references to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Adds one or more references to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to delete a node to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Delete one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Delete one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to delete a node from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Delete one or more references from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Delete one or more references from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Define bits used to indicate which attributes are writable.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The directions of the references to return.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The view to browse.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to browse the the references from a node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A bit mask which specifies what should be returned in a browse response.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The description of a reference.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n The result of a browse operation.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Browse the references for one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Browse the references for one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Continues one or more browse operations.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Continues one or more browse operations.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n An element in a relative path.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A relative path constructed from reference types and browse names.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to translate a path into a node id.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The target of the translated path.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The result of a translate opearation.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Translates one or more paths in the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Translates one or more paths in the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Registers one or more nodes for repeated use within a session.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Registers one or more nodes for repeated use within a session.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Unregisters one or more previously registered nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Unregisters one or more previously registered nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n', ua.VariantType.ByteString) attrs.ValueRank = -1 @@ -49853,870 +49855,870 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8254") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8254, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15039") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15039, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=14829") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(14829, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16024") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16024, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15730") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15730, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12677") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12677, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16027") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16027, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=14811") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(14811, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15591") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15591, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15594") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15594, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15585") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15585, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15588") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15588, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=14805") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(14805, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=14808") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(14808, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=14832") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(14832, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16030") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16030, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16033") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16033, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=14320") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(14320, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16037") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16037, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16040") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16040, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16047") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16047, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16050") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16050, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16053") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16053, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16056") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16056, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=21180") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(21180, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16062") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16062, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16065") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16065, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16068") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16068, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16071") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16071, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=21183") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(21183, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=21186") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(21186, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=21189") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(21189, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16077") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16077, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16080") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16080, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16083") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16083, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16086") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16086, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16089") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16089, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16092") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16092, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16095") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16095, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=14835") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(14835, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16098") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16098, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=21192") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(21192, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16104") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16104, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16107") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16107, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16110") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16110, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16113") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16113, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16116") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16116, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16119") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16119, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17473") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17473, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=21195") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(21195, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15640") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15640, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16125") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16125, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16144") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16144, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16147") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16147, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16127") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16127, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=18166") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(18166, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=18169") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(18169, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=18172") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(18172, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=18175") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(18175, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8285") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8285, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8291") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8291, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=14826") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(14826, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12759") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12759, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12762") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12762, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8918") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8918, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8300") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8300, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12201") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12201, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8297") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8297, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8303") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8303, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8417") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8417, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12894") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12894, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12897") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12897, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8333") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8333, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8306") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8306, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8309") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8309, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8312") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8312, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8315") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8315, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8318") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8318, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8363") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8363, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8366") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8366, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8369") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8369, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8372") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8372, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12712") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12712, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12715") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12715, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8321") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8321, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8564") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8564, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8567") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8567, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8570") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8570, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8573") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8573, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8576") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8576, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8579") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8579, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8582") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8582, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8639") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8639, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8702") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8702, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8708") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8708, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8711") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8711, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8807") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8807, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8327") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8327, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8843") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8843, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11951") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11951, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11954") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11954, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8846") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8846, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8849") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8849, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8852") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8852, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8855") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8855, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8858") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8858, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8861") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8861, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8294") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8294, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8864") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8864, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8867") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8867, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8870") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8870, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8873") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8873, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8876") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8876, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12175") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12175, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12178") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12178, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12083") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12083, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12086") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12086, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8882") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8882, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15402") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15402, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8879") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8879, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=92") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(92, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8252") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=72") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8252, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(72, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8254") - node.BrowseName = ua.QualifiedName.from_string("NamespaceUri") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(8254, 0) + node.BrowseName = QualifiedName('NamespaceUri', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A URI that uniquely identifies the dictionary.") - attrs.DisplayName = ua.LocalizedText("NamespaceUri") + attrs.Description = LocalizedText("A URI that uniquely identifies the dictionary.") + attrs.DisplayName = LocalizedText("NamespaceUri") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant('http://opcfoundation.org/UA/2008/02/Types.xsd', ua.VariantType.String) attrs.ValueRank = -1 @@ -50725,30 +50727,30 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8254") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8254, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=8254") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(8254, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15039") - node.BrowseName = ua.QualifiedName.from_string("Deprecated") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(15039, 0) + node.BrowseName = QualifiedName('Deprecated', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("Indicates that all of the definitions for the dictionary are available through a DataTypeDefinition Attribute.") - attrs.DisplayName = ua.LocalizedText("Deprecated") + attrs.Description = LocalizedText("Indicates that all of the definitions for the dictionary are available through a DataTypeDefinition Attribute.") + attrs.DisplayName = LocalizedText("Deprecated") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.Value = ua.Variant(True, ua.VariantType.Boolean) attrs.ValueRank = -1 @@ -50757,29 +50759,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15039") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15039, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=15039") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(15039, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=14829") - node.BrowseName = ua.QualifiedName.from_string("KeyValuePair") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(14829, 0) + node.BrowseName = QualifiedName('KeyValuePair', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("KeyValuePair") + attrs.DisplayName = LocalizedText("KeyValuePair") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='KeyValuePair']", ua.VariantType.String) attrs.ValueRank = -1 @@ -50788,29 +50790,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=14829") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(14829, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=14829") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(14829, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16024") - node.BrowseName = ua.QualifiedName.from_string("EndpointType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(16024, 0) + node.BrowseName = QualifiedName('EndpointType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EndpointType") + attrs.DisplayName = LocalizedText("EndpointType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='EndpointType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -50819,29 +50821,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16024") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16024, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16024") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16024, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15730") - node.BrowseName = ua.QualifiedName.from_string("IdentityMappingRuleType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(15730, 0) + node.BrowseName = QualifiedName('IdentityMappingRuleType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("IdentityMappingRuleType") + attrs.DisplayName = LocalizedText("IdentityMappingRuleType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='IdentityMappingRuleType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -50850,29 +50852,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15730") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15730, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15730") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15730, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12677") - node.BrowseName = ua.QualifiedName.from_string("TrustListDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(12677, 0) + node.BrowseName = QualifiedName('TrustListDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TrustListDataType") + attrs.DisplayName = LocalizedText("TrustListDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='TrustListDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -50881,29 +50883,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12677") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12677, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12677") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12677, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16027") - node.BrowseName = ua.QualifiedName.from_string("DataTypeSchemaHeader") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(16027, 0) + node.BrowseName = QualifiedName('DataTypeSchemaHeader', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DataTypeSchemaHeader") + attrs.DisplayName = LocalizedText("DataTypeSchemaHeader") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='DataTypeSchemaHeader']", ua.VariantType.String) attrs.ValueRank = -1 @@ -50912,29 +50914,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16027") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16027, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16027") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16027, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=14811") - node.BrowseName = ua.QualifiedName.from_string("DataTypeDescription") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(14811, 0) + node.BrowseName = QualifiedName('DataTypeDescription', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DataTypeDescription") + attrs.DisplayName = LocalizedText("DataTypeDescription") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='DataTypeDescription']", ua.VariantType.String) attrs.ValueRank = -1 @@ -50943,29 +50945,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=14811") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(14811, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=14811") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(14811, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15591") - node.BrowseName = ua.QualifiedName.from_string("StructureDescription") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(15591, 0) + node.BrowseName = QualifiedName('StructureDescription', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("StructureDescription") + attrs.DisplayName = LocalizedText("StructureDescription") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='StructureDescription']", ua.VariantType.String) attrs.ValueRank = -1 @@ -50974,29 +50976,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15591") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15591, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15591") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15591, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15594") - node.BrowseName = ua.QualifiedName.from_string("EnumDescription") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(15594, 0) + node.BrowseName = QualifiedName('EnumDescription', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EnumDescription") + attrs.DisplayName = LocalizedText("EnumDescription") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='EnumDescription']", ua.VariantType.String) attrs.ValueRank = -1 @@ -51005,29 +51007,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15594") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15594, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15594") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15594, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15585") - node.BrowseName = ua.QualifiedName.from_string("SimpleTypeDescription") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(15585, 0) + node.BrowseName = QualifiedName('SimpleTypeDescription', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SimpleTypeDescription") + attrs.DisplayName = LocalizedText("SimpleTypeDescription") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='SimpleTypeDescription']", ua.VariantType.String) attrs.ValueRank = -1 @@ -51036,29 +51038,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15585") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15585, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15585") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15585, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15588") - node.BrowseName = ua.QualifiedName.from_string("UABinaryFileDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(15588, 0) + node.BrowseName = QualifiedName('UABinaryFileDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("UABinaryFileDataType") + attrs.DisplayName = LocalizedText("UABinaryFileDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='UABinaryFileDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -51067,29 +51069,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15588") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15588, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15588") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15588, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=14805") - node.BrowseName = ua.QualifiedName.from_string("DataSetMetaDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(14805, 0) + node.BrowseName = QualifiedName('DataSetMetaDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DataSetMetaDataType") + attrs.DisplayName = LocalizedText("DataSetMetaDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='DataSetMetaDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -51098,29 +51100,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=14805") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(14805, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=14805") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(14805, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=14808") - node.BrowseName = ua.QualifiedName.from_string("FieldMetaData") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(14808, 0) + node.BrowseName = QualifiedName('FieldMetaData', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("FieldMetaData") + attrs.DisplayName = LocalizedText("FieldMetaData") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='FieldMetaData']", ua.VariantType.String) attrs.ValueRank = -1 @@ -51129,29 +51131,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=14808") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(14808, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=14808") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(14808, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=14832") - node.BrowseName = ua.QualifiedName.from_string("ConfigurationVersionDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(14832, 0) + node.BrowseName = QualifiedName('ConfigurationVersionDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ConfigurationVersionDataType") + attrs.DisplayName = LocalizedText("ConfigurationVersionDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='ConfigurationVersionDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -51160,29 +51162,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=14832") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(14832, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=14832") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(14832, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16030") - node.BrowseName = ua.QualifiedName.from_string("PublishedDataSetDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(16030, 0) + node.BrowseName = QualifiedName('PublishedDataSetDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("PublishedDataSetDataType") + attrs.DisplayName = LocalizedText("PublishedDataSetDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='PublishedDataSetDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -51191,29 +51193,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16033") - node.BrowseName = ua.QualifiedName.from_string("PublishedDataSetSourceDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(16033, 0) + node.BrowseName = QualifiedName('PublishedDataSetSourceDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("PublishedDataSetSourceDataType") + attrs.DisplayName = LocalizedText("PublishedDataSetSourceDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='PublishedDataSetSourceDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -51222,29 +51224,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16033") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16033, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16033") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16033, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=14320") - node.BrowseName = ua.QualifiedName.from_string("PublishedVariableDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(14320, 0) + node.BrowseName = QualifiedName('PublishedVariableDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("PublishedVariableDataType") + attrs.DisplayName = LocalizedText("PublishedVariableDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='PublishedVariableDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -51253,29 +51255,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=14320") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(14320, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=14320") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(14320, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16037") - node.BrowseName = ua.QualifiedName.from_string("PublishedDataItemsDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(16037, 0) + node.BrowseName = QualifiedName('PublishedDataItemsDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("PublishedDataItemsDataType") + attrs.DisplayName = LocalizedText("PublishedDataItemsDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='PublishedDataItemsDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -51284,29 +51286,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16037") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16037, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16037") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16037, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16040") - node.BrowseName = ua.QualifiedName.from_string("PublishedEventsDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(16040, 0) + node.BrowseName = QualifiedName('PublishedEventsDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("PublishedEventsDataType") + attrs.DisplayName = LocalizedText("PublishedEventsDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='PublishedEventsDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -51315,29 +51317,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16040") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16040, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16040") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16040, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16047") - node.BrowseName = ua.QualifiedName.from_string("DataSetWriterDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(16047, 0) + node.BrowseName = QualifiedName('DataSetWriterDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DataSetWriterDataType") + attrs.DisplayName = LocalizedText("DataSetWriterDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='DataSetWriterDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -51346,29 +51348,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16047") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16047, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16047") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16047, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16050") - node.BrowseName = ua.QualifiedName.from_string("DataSetWriterTransportDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(16050, 0) + node.BrowseName = QualifiedName('DataSetWriterTransportDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DataSetWriterTransportDataType") + attrs.DisplayName = LocalizedText("DataSetWriterTransportDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='DataSetWriterTransportDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -51377,29 +51379,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16050") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16050, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16050") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16050, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16053") - node.BrowseName = ua.QualifiedName.from_string("DataSetWriterMessageDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(16053, 0) + node.BrowseName = QualifiedName('DataSetWriterMessageDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DataSetWriterMessageDataType") + attrs.DisplayName = LocalizedText("DataSetWriterMessageDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='DataSetWriterMessageDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -51408,29 +51410,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16053") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16053, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16053") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16053, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16056") - node.BrowseName = ua.QualifiedName.from_string("PubSubGroupDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(16056, 0) + node.BrowseName = QualifiedName('PubSubGroupDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("PubSubGroupDataType") + attrs.DisplayName = LocalizedText("PubSubGroupDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='PubSubGroupDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -51439,29 +51441,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16056") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16056, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16056") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16056, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=21180") - node.BrowseName = ua.QualifiedName.from_string("WriterGroupDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(21180, 0) + node.BrowseName = QualifiedName('WriterGroupDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("WriterGroupDataType") + attrs.DisplayName = LocalizedText("WriterGroupDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='WriterGroupDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -51470,29 +51472,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=21180") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(21180, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=21180") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(21180, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16062") - node.BrowseName = ua.QualifiedName.from_string("WriterGroupTransportDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(16062, 0) + node.BrowseName = QualifiedName('WriterGroupTransportDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("WriterGroupTransportDataType") + attrs.DisplayName = LocalizedText("WriterGroupTransportDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='WriterGroupTransportDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -51501,29 +51503,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16062") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16062, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16062") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16062, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16065") - node.BrowseName = ua.QualifiedName.from_string("WriterGroupMessageDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(16065, 0) + node.BrowseName = QualifiedName('WriterGroupMessageDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("WriterGroupMessageDataType") + attrs.DisplayName = LocalizedText("WriterGroupMessageDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='WriterGroupMessageDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -51532,29 +51534,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16065") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16065, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16065") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16065, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16068") - node.BrowseName = ua.QualifiedName.from_string("PubSubConnectionDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(16068, 0) + node.BrowseName = QualifiedName('PubSubConnectionDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("PubSubConnectionDataType") + attrs.DisplayName = LocalizedText("PubSubConnectionDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='PubSubConnectionDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -51563,29 +51565,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16068") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16068, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16068") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16068, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16071") - node.BrowseName = ua.QualifiedName.from_string("ConnectionTransportDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(16071, 0) + node.BrowseName = QualifiedName('ConnectionTransportDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ConnectionTransportDataType") + attrs.DisplayName = LocalizedText("ConnectionTransportDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='ConnectionTransportDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -51594,29 +51596,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16071") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16071, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16071") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16071, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=21183") - node.BrowseName = ua.QualifiedName.from_string("NetworkAddressDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(21183, 0) + node.BrowseName = QualifiedName('NetworkAddressDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("NetworkAddressDataType") + attrs.DisplayName = LocalizedText("NetworkAddressDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='NetworkAddressDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -51625,29 +51627,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=21183") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(21183, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=21183") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(21183, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=21186") - node.BrowseName = ua.QualifiedName.from_string("NetworkAddressUrlDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(21186, 0) + node.BrowseName = QualifiedName('NetworkAddressUrlDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("NetworkAddressUrlDataType") + attrs.DisplayName = LocalizedText("NetworkAddressUrlDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='NetworkAddressUrlDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -51656,29 +51658,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=21186") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(21186, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=21186") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(21186, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=21189") - node.BrowseName = ua.QualifiedName.from_string("ReaderGroupDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(21189, 0) + node.BrowseName = QualifiedName('ReaderGroupDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ReaderGroupDataType") + attrs.DisplayName = LocalizedText("ReaderGroupDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='ReaderGroupDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -51687,29 +51689,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=21189") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(21189, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=21189") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(21189, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16077") - node.BrowseName = ua.QualifiedName.from_string("ReaderGroupTransportDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(16077, 0) + node.BrowseName = QualifiedName('ReaderGroupTransportDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ReaderGroupTransportDataType") + attrs.DisplayName = LocalizedText("ReaderGroupTransportDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='ReaderGroupTransportDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -51718,29 +51720,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16077") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16077, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16077") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16077, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16080") - node.BrowseName = ua.QualifiedName.from_string("ReaderGroupMessageDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(16080, 0) + node.BrowseName = QualifiedName('ReaderGroupMessageDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ReaderGroupMessageDataType") + attrs.DisplayName = LocalizedText("ReaderGroupMessageDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='ReaderGroupMessageDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -51749,29 +51751,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16080") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16080, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16080") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16080, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16083") - node.BrowseName = ua.QualifiedName.from_string("DataSetReaderDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(16083, 0) + node.BrowseName = QualifiedName('DataSetReaderDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DataSetReaderDataType") + attrs.DisplayName = LocalizedText("DataSetReaderDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='DataSetReaderDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -51780,29 +51782,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16083") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16083, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16083") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16083, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16086") - node.BrowseName = ua.QualifiedName.from_string("DataSetReaderTransportDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(16086, 0) + node.BrowseName = QualifiedName('DataSetReaderTransportDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DataSetReaderTransportDataType") + attrs.DisplayName = LocalizedText("DataSetReaderTransportDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='DataSetReaderTransportDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -51811,29 +51813,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16086") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16086, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16086") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16086, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16089") - node.BrowseName = ua.QualifiedName.from_string("DataSetReaderMessageDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(16089, 0) + node.BrowseName = QualifiedName('DataSetReaderMessageDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DataSetReaderMessageDataType") + attrs.DisplayName = LocalizedText("DataSetReaderMessageDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='DataSetReaderMessageDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -51842,29 +51844,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16089") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16089, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16089") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16089, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16092") - node.BrowseName = ua.QualifiedName.from_string("SubscribedDataSetDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(16092, 0) + node.BrowseName = QualifiedName('SubscribedDataSetDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SubscribedDataSetDataType") + attrs.DisplayName = LocalizedText("SubscribedDataSetDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='SubscribedDataSetDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -51873,29 +51875,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16092") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16092, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16092") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16092, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16095") - node.BrowseName = ua.QualifiedName.from_string("TargetVariablesDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(16095, 0) + node.BrowseName = QualifiedName('TargetVariablesDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TargetVariablesDataType") + attrs.DisplayName = LocalizedText("TargetVariablesDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='TargetVariablesDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -51904,29 +51906,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16095") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16095, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16095") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16095, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=14835") - node.BrowseName = ua.QualifiedName.from_string("FieldTargetDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(14835, 0) + node.BrowseName = QualifiedName('FieldTargetDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("FieldTargetDataType") + attrs.DisplayName = LocalizedText("FieldTargetDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='FieldTargetDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -51935,29 +51937,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=14835") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(14835, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=14835") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(14835, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16098") - node.BrowseName = ua.QualifiedName.from_string("SubscribedDataSetMirrorDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(16098, 0) + node.BrowseName = QualifiedName('SubscribedDataSetMirrorDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SubscribedDataSetMirrorDataType") + attrs.DisplayName = LocalizedText("SubscribedDataSetMirrorDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='SubscribedDataSetMirrorDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -51966,29 +51968,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=21192") - node.BrowseName = ua.QualifiedName.from_string("PubSubConfigurationDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(21192, 0) + node.BrowseName = QualifiedName('PubSubConfigurationDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("PubSubConfigurationDataType") + attrs.DisplayName = LocalizedText("PubSubConfigurationDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='PubSubConfigurationDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -51997,29 +51999,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=21192") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(21192, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=21192") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(21192, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16104") - node.BrowseName = ua.QualifiedName.from_string("UadpWriterGroupMessageDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(16104, 0) + node.BrowseName = QualifiedName('UadpWriterGroupMessageDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("UadpWriterGroupMessageDataType") + attrs.DisplayName = LocalizedText("UadpWriterGroupMessageDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='UadpWriterGroupMessageDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -52028,29 +52030,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16104") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16104, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16104") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16104, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16107") - node.BrowseName = ua.QualifiedName.from_string("UadpDataSetWriterMessageDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(16107, 0) + node.BrowseName = QualifiedName('UadpDataSetWriterMessageDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("UadpDataSetWriterMessageDataType") + attrs.DisplayName = LocalizedText("UadpDataSetWriterMessageDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='UadpDataSetWriterMessageDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -52059,29 +52061,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16107") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16107, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16107") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16107, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16110") - node.BrowseName = ua.QualifiedName.from_string("UadpDataSetReaderMessageDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(16110, 0) + node.BrowseName = QualifiedName('UadpDataSetReaderMessageDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("UadpDataSetReaderMessageDataType") + attrs.DisplayName = LocalizedText("UadpDataSetReaderMessageDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='UadpDataSetReaderMessageDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -52090,29 +52092,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16110") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16110, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16110") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16110, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16113") - node.BrowseName = ua.QualifiedName.from_string("JsonWriterGroupMessageDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(16113, 0) + node.BrowseName = QualifiedName('JsonWriterGroupMessageDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("JsonWriterGroupMessageDataType") + attrs.DisplayName = LocalizedText("JsonWriterGroupMessageDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='JsonWriterGroupMessageDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -52121,29 +52123,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16113") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16113, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16113") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16113, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16116") - node.BrowseName = ua.QualifiedName.from_string("JsonDataSetWriterMessageDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(16116, 0) + node.BrowseName = QualifiedName('JsonDataSetWriterMessageDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("JsonDataSetWriterMessageDataType") + attrs.DisplayName = LocalizedText("JsonDataSetWriterMessageDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='JsonDataSetWriterMessageDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -52152,29 +52154,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16116") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16116, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16116") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16116, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16119") - node.BrowseName = ua.QualifiedName.from_string("JsonDataSetReaderMessageDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(16119, 0) + node.BrowseName = QualifiedName('JsonDataSetReaderMessageDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("JsonDataSetReaderMessageDataType") + attrs.DisplayName = LocalizedText("JsonDataSetReaderMessageDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='JsonDataSetReaderMessageDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -52183,29 +52185,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16119") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16119, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16119") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16119, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17473") - node.BrowseName = ua.QualifiedName.from_string("DatagramConnectionTransportDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(17473, 0) + node.BrowseName = QualifiedName('DatagramConnectionTransportDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DatagramConnectionTransportDataType") + attrs.DisplayName = LocalizedText("DatagramConnectionTransportDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='DatagramConnectionTransportDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -52214,29 +52216,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=17473") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(17473, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=17473") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(17473, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=21195") - node.BrowseName = ua.QualifiedName.from_string("DatagramWriterGroupTransportDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(21195, 0) + node.BrowseName = QualifiedName('DatagramWriterGroupTransportDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DatagramWriterGroupTransportDataType") + attrs.DisplayName = LocalizedText("DatagramWriterGroupTransportDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='DatagramWriterGroupTransportDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -52245,29 +52247,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=21195") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(21195, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=21195") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(21195, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15640") - node.BrowseName = ua.QualifiedName.from_string("BrokerConnectionTransportDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(15640, 0) + node.BrowseName = QualifiedName('BrokerConnectionTransportDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("BrokerConnectionTransportDataType") + attrs.DisplayName = LocalizedText("BrokerConnectionTransportDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='BrokerConnectionTransportDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -52276,29 +52278,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15640") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15640, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15640") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15640, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16125") - node.BrowseName = ua.QualifiedName.from_string("BrokerWriterGroupTransportDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(16125, 0) + node.BrowseName = QualifiedName('BrokerWriterGroupTransportDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("BrokerWriterGroupTransportDataType") + attrs.DisplayName = LocalizedText("BrokerWriterGroupTransportDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='BrokerWriterGroupTransportDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -52307,29 +52309,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16125") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16125, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16125") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16125, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16144") - node.BrowseName = ua.QualifiedName.from_string("BrokerDataSetWriterTransportDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(16144, 0) + node.BrowseName = QualifiedName('BrokerDataSetWriterTransportDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("BrokerDataSetWriterTransportDataType") + attrs.DisplayName = LocalizedText("BrokerDataSetWriterTransportDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='BrokerDataSetWriterTransportDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -52338,29 +52340,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16144") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16144, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16144") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16144, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16147") - node.BrowseName = ua.QualifiedName.from_string("BrokerDataSetReaderTransportDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(16147, 0) + node.BrowseName = QualifiedName('BrokerDataSetReaderTransportDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("BrokerDataSetReaderTransportDataType") + attrs.DisplayName = LocalizedText("BrokerDataSetReaderTransportDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='BrokerDataSetReaderTransportDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -52369,29 +52371,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16147") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16147, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16147") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16147, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16127") - node.BrowseName = ua.QualifiedName.from_string("RolePermissionType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(16127, 0) + node.BrowseName = QualifiedName('RolePermissionType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RolePermissionType") + attrs.DisplayName = LocalizedText("RolePermissionType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='RolePermissionType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -52400,29 +52402,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16127") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16127, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16127") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16127, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=18166") - node.BrowseName = ua.QualifiedName.from_string("DataTypeDefinition") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(18166, 0) + node.BrowseName = QualifiedName('DataTypeDefinition', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DataTypeDefinition") + attrs.DisplayName = LocalizedText("DataTypeDefinition") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='DataTypeDefinition']", ua.VariantType.String) attrs.ValueRank = -1 @@ -52431,29 +52433,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=18166") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(18166, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=18166") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(18166, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=18169") - node.BrowseName = ua.QualifiedName.from_string("StructureField") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(18169, 0) + node.BrowseName = QualifiedName('StructureField', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("StructureField") + attrs.DisplayName = LocalizedText("StructureField") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='StructureField']", ua.VariantType.String) attrs.ValueRank = -1 @@ -52462,29 +52464,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=18169") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(18169, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=18169") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(18169, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=18172") - node.BrowseName = ua.QualifiedName.from_string("StructureDefinition") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(18172, 0) + node.BrowseName = QualifiedName('StructureDefinition', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("StructureDefinition") + attrs.DisplayName = LocalizedText("StructureDefinition") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='StructureDefinition']", ua.VariantType.String) attrs.ValueRank = -1 @@ -52493,29 +52495,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=18172") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(18172, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=18172") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(18172, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=18175") - node.BrowseName = ua.QualifiedName.from_string("EnumDefinition") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(18175, 0) + node.BrowseName = QualifiedName('EnumDefinition', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EnumDefinition") + attrs.DisplayName = LocalizedText("EnumDefinition") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='EnumDefinition']", ua.VariantType.String) attrs.ValueRank = -1 @@ -52524,29 +52526,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=18175") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(18175, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=18175") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(18175, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8285") - node.BrowseName = ua.QualifiedName.from_string("Argument") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8285, 0) + node.BrowseName = QualifiedName('Argument', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Argument") + attrs.DisplayName = LocalizedText("Argument") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='Argument']", ua.VariantType.String) attrs.ValueRank = -1 @@ -52555,29 +52557,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8285") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8285, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8285") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8285, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8291") - node.BrowseName = ua.QualifiedName.from_string("EnumValueType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8291, 0) + node.BrowseName = QualifiedName('EnumValueType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EnumValueType") + attrs.DisplayName = LocalizedText("EnumValueType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='EnumValueType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -52586,29 +52588,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8291") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8291, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8291") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8291, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=14826") - node.BrowseName = ua.QualifiedName.from_string("EnumField") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(14826, 0) + node.BrowseName = QualifiedName('EnumField', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EnumField") + attrs.DisplayName = LocalizedText("EnumField") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='EnumField']", ua.VariantType.String) attrs.ValueRank = -1 @@ -52617,29 +52619,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=14826") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(14826, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=14826") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(14826, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12759") - node.BrowseName = ua.QualifiedName.from_string("OptionSet") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(12759, 0) + node.BrowseName = QualifiedName('OptionSet', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OptionSet") + attrs.DisplayName = LocalizedText("OptionSet") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='OptionSet']", ua.VariantType.String) attrs.ValueRank = -1 @@ -52648,29 +52650,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12759") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12759, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12759") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12759, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12762") - node.BrowseName = ua.QualifiedName.from_string("Union") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(12762, 0) + node.BrowseName = QualifiedName('Union', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Union") + attrs.DisplayName = LocalizedText("Union") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='Union']", ua.VariantType.String) attrs.ValueRank = -1 @@ -52679,29 +52681,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12762") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12762, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12762") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12762, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8918") - node.BrowseName = ua.QualifiedName.from_string("TimeZoneDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8918, 0) + node.BrowseName = QualifiedName('TimeZoneDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TimeZoneDataType") + attrs.DisplayName = LocalizedText("TimeZoneDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='TimeZoneDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -52710,29 +52712,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8918") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8918, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8918") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8918, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8300") - node.BrowseName = ua.QualifiedName.from_string("ApplicationDescription") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8300, 0) + node.BrowseName = QualifiedName('ApplicationDescription', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ApplicationDescription") + attrs.DisplayName = LocalizedText("ApplicationDescription") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='ApplicationDescription']", ua.VariantType.String) attrs.ValueRank = -1 @@ -52741,29 +52743,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8300") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8300, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8300") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8300, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12201") - node.BrowseName = ua.QualifiedName.from_string("ServerOnNetwork") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(12201, 0) + node.BrowseName = QualifiedName('ServerOnNetwork', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ServerOnNetwork") + attrs.DisplayName = LocalizedText("ServerOnNetwork") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='ServerOnNetwork']", ua.VariantType.String) attrs.ValueRank = -1 @@ -52772,29 +52774,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12201") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12201, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12201") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12201, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8297") - node.BrowseName = ua.QualifiedName.from_string("UserTokenPolicy") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8297, 0) + node.BrowseName = QualifiedName('UserTokenPolicy', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("UserTokenPolicy") + attrs.DisplayName = LocalizedText("UserTokenPolicy") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='UserTokenPolicy']", ua.VariantType.String) attrs.ValueRank = -1 @@ -52803,29 +52805,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8297") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8297, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8297") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8297, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8303") - node.BrowseName = ua.QualifiedName.from_string("EndpointDescription") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8303, 0) + node.BrowseName = QualifiedName('EndpointDescription', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EndpointDescription") + attrs.DisplayName = LocalizedText("EndpointDescription") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='EndpointDescription']", ua.VariantType.String) attrs.ValueRank = -1 @@ -52834,29 +52836,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8303") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8303, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8303") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8303, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8417") - node.BrowseName = ua.QualifiedName.from_string("RegisteredServer") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8417, 0) + node.BrowseName = QualifiedName('RegisteredServer', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RegisteredServer") + attrs.DisplayName = LocalizedText("RegisteredServer") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='RegisteredServer']", ua.VariantType.String) attrs.ValueRank = -1 @@ -52865,29 +52867,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8417") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8417, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8417") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8417, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12894") - node.BrowseName = ua.QualifiedName.from_string("DiscoveryConfiguration") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(12894, 0) + node.BrowseName = QualifiedName('DiscoveryConfiguration', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DiscoveryConfiguration") + attrs.DisplayName = LocalizedText("DiscoveryConfiguration") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='DiscoveryConfiguration']", ua.VariantType.String) attrs.ValueRank = -1 @@ -52896,29 +52898,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12894") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12894, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12894") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12894, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12897") - node.BrowseName = ua.QualifiedName.from_string("MdnsDiscoveryConfiguration") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(12897, 0) + node.BrowseName = QualifiedName('MdnsDiscoveryConfiguration', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MdnsDiscoveryConfiguration") + attrs.DisplayName = LocalizedText("MdnsDiscoveryConfiguration") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='MdnsDiscoveryConfiguration']", ua.VariantType.String) attrs.ValueRank = -1 @@ -52927,29 +52929,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12897") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12897, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12897") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12897, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8333") - node.BrowseName = ua.QualifiedName.from_string("SignedSoftwareCertificate") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8333, 0) + node.BrowseName = QualifiedName('SignedSoftwareCertificate', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SignedSoftwareCertificate") + attrs.DisplayName = LocalizedText("SignedSoftwareCertificate") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='SignedSoftwareCertificate']", ua.VariantType.String) attrs.ValueRank = -1 @@ -52958,29 +52960,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8333") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8333, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8333") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8333, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8306") - node.BrowseName = ua.QualifiedName.from_string("UserIdentityToken") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8306, 0) + node.BrowseName = QualifiedName('UserIdentityToken', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("UserIdentityToken") + attrs.DisplayName = LocalizedText("UserIdentityToken") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='UserIdentityToken']", ua.VariantType.String) attrs.ValueRank = -1 @@ -52989,29 +52991,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8306") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8306, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8306") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8306, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8309") - node.BrowseName = ua.QualifiedName.from_string("AnonymousIdentityToken") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8309, 0) + node.BrowseName = QualifiedName('AnonymousIdentityToken', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AnonymousIdentityToken") + attrs.DisplayName = LocalizedText("AnonymousIdentityToken") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='AnonymousIdentityToken']", ua.VariantType.String) attrs.ValueRank = -1 @@ -53020,29 +53022,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8309") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8309, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8309") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8309, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8312") - node.BrowseName = ua.QualifiedName.from_string("UserNameIdentityToken") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8312, 0) + node.BrowseName = QualifiedName('UserNameIdentityToken', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("UserNameIdentityToken") + attrs.DisplayName = LocalizedText("UserNameIdentityToken") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='UserNameIdentityToken']", ua.VariantType.String) attrs.ValueRank = -1 @@ -53051,29 +53053,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8312") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8312, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8312") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8312, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8315") - node.BrowseName = ua.QualifiedName.from_string("X509IdentityToken") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8315, 0) + node.BrowseName = QualifiedName('X509IdentityToken', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("X509IdentityToken") + attrs.DisplayName = LocalizedText("X509IdentityToken") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='X509IdentityToken']", ua.VariantType.String) attrs.ValueRank = -1 @@ -53082,29 +53084,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8315") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8315, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8315") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8315, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8318") - node.BrowseName = ua.QualifiedName.from_string("IssuedIdentityToken") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8318, 0) + node.BrowseName = QualifiedName('IssuedIdentityToken', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("IssuedIdentityToken") + attrs.DisplayName = LocalizedText("IssuedIdentityToken") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='IssuedIdentityToken']", ua.VariantType.String) attrs.ValueRank = -1 @@ -53113,29 +53115,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8318") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8318, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8318") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8318, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8363") - node.BrowseName = ua.QualifiedName.from_string("AddNodesItem") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8363, 0) + node.BrowseName = QualifiedName('AddNodesItem', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AddNodesItem") + attrs.DisplayName = LocalizedText("AddNodesItem") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='AddNodesItem']", ua.VariantType.String) attrs.ValueRank = -1 @@ -53144,29 +53146,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8363") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8363, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8363") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8363, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8366") - node.BrowseName = ua.QualifiedName.from_string("AddReferencesItem") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8366, 0) + node.BrowseName = QualifiedName('AddReferencesItem', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AddReferencesItem") + attrs.DisplayName = LocalizedText("AddReferencesItem") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='AddReferencesItem']", ua.VariantType.String) attrs.ValueRank = -1 @@ -53175,29 +53177,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8366") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8366, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8366") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8366, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8369") - node.BrowseName = ua.QualifiedName.from_string("DeleteNodesItem") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8369, 0) + node.BrowseName = QualifiedName('DeleteNodesItem', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DeleteNodesItem") + attrs.DisplayName = LocalizedText("DeleteNodesItem") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='DeleteNodesItem']", ua.VariantType.String) attrs.ValueRank = -1 @@ -53206,29 +53208,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8369") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8369, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8369") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8369, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8372") - node.BrowseName = ua.QualifiedName.from_string("DeleteReferencesItem") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8372, 0) + node.BrowseName = QualifiedName('DeleteReferencesItem', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DeleteReferencesItem") + attrs.DisplayName = LocalizedText("DeleteReferencesItem") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='DeleteReferencesItem']", ua.VariantType.String) attrs.ValueRank = -1 @@ -53237,29 +53239,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8372") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8372, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8372") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8372, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12712") - node.BrowseName = ua.QualifiedName.from_string("RelativePathElement") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(12712, 0) + node.BrowseName = QualifiedName('RelativePathElement', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RelativePathElement") + attrs.DisplayName = LocalizedText("RelativePathElement") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='RelativePathElement']", ua.VariantType.String) attrs.ValueRank = -1 @@ -53268,29 +53270,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12712") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12712, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12712") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12712, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12715") - node.BrowseName = ua.QualifiedName.from_string("RelativePath") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(12715, 0) + node.BrowseName = QualifiedName('RelativePath', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RelativePath") + attrs.DisplayName = LocalizedText("RelativePath") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='RelativePath']", ua.VariantType.String) attrs.ValueRank = -1 @@ -53299,29 +53301,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12715") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12715, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12715") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12715, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8321") - node.BrowseName = ua.QualifiedName.from_string("EndpointConfiguration") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8321, 0) + node.BrowseName = QualifiedName('EndpointConfiguration', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EndpointConfiguration") + attrs.DisplayName = LocalizedText("EndpointConfiguration") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='EndpointConfiguration']", ua.VariantType.String) attrs.ValueRank = -1 @@ -53330,29 +53332,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8321") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8321, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8321") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8321, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8564") - node.BrowseName = ua.QualifiedName.from_string("ContentFilterElement") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8564, 0) + node.BrowseName = QualifiedName('ContentFilterElement', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ContentFilterElement") + attrs.DisplayName = LocalizedText("ContentFilterElement") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='ContentFilterElement']", ua.VariantType.String) attrs.ValueRank = -1 @@ -53361,29 +53363,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8564") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8564, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8564") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8564, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8567") - node.BrowseName = ua.QualifiedName.from_string("ContentFilter") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8567, 0) + node.BrowseName = QualifiedName('ContentFilter', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ContentFilter") + attrs.DisplayName = LocalizedText("ContentFilter") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='ContentFilter']", ua.VariantType.String) attrs.ValueRank = -1 @@ -53392,29 +53394,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8567") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8567, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8567") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8567, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8570") - node.BrowseName = ua.QualifiedName.from_string("FilterOperand") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8570, 0) + node.BrowseName = QualifiedName('FilterOperand', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("FilterOperand") + attrs.DisplayName = LocalizedText("FilterOperand") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='FilterOperand']", ua.VariantType.String) attrs.ValueRank = -1 @@ -53423,29 +53425,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8570") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8570, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8570") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8570, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8573") - node.BrowseName = ua.QualifiedName.from_string("ElementOperand") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8573, 0) + node.BrowseName = QualifiedName('ElementOperand', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ElementOperand") + attrs.DisplayName = LocalizedText("ElementOperand") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='ElementOperand']", ua.VariantType.String) attrs.ValueRank = -1 @@ -53454,29 +53456,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8573") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8573, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8573") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8573, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8576") - node.BrowseName = ua.QualifiedName.from_string("LiteralOperand") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8576, 0) + node.BrowseName = QualifiedName('LiteralOperand', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LiteralOperand") + attrs.DisplayName = LocalizedText("LiteralOperand") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='LiteralOperand']", ua.VariantType.String) attrs.ValueRank = -1 @@ -53485,29 +53487,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8576") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8576, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8576") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8576, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8579") - node.BrowseName = ua.QualifiedName.from_string("AttributeOperand") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8579, 0) + node.BrowseName = QualifiedName('AttributeOperand', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AttributeOperand") + attrs.DisplayName = LocalizedText("AttributeOperand") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='AttributeOperand']", ua.VariantType.String) attrs.ValueRank = -1 @@ -53516,29 +53518,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8579") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8579, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8579") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8579, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8582") - node.BrowseName = ua.QualifiedName.from_string("SimpleAttributeOperand") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8582, 0) + node.BrowseName = QualifiedName('SimpleAttributeOperand', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SimpleAttributeOperand") + attrs.DisplayName = LocalizedText("SimpleAttributeOperand") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='SimpleAttributeOperand']", ua.VariantType.String) attrs.ValueRank = -1 @@ -53547,29 +53549,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8582") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8582, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8582") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8582, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8639") - node.BrowseName = ua.QualifiedName.from_string("HistoryEvent") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8639, 0) + node.BrowseName = QualifiedName('HistoryEvent', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("HistoryEvent") + attrs.DisplayName = LocalizedText("HistoryEvent") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='HistoryEvent']", ua.VariantType.String) attrs.ValueRank = -1 @@ -53578,29 +53580,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8639") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8639, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8639") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8639, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8702") - node.BrowseName = ua.QualifiedName.from_string("MonitoringFilter") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8702, 0) + node.BrowseName = QualifiedName('MonitoringFilter', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MonitoringFilter") + attrs.DisplayName = LocalizedText("MonitoringFilter") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='MonitoringFilter']", ua.VariantType.String) attrs.ValueRank = -1 @@ -53609,29 +53611,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8702") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8702, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8702") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8702, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8708") - node.BrowseName = ua.QualifiedName.from_string("EventFilter") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8708, 0) + node.BrowseName = QualifiedName('EventFilter', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EventFilter") + attrs.DisplayName = LocalizedText("EventFilter") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='EventFilter']", ua.VariantType.String) attrs.ValueRank = -1 @@ -53640,29 +53642,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8708") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8708, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8708") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8708, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8711") - node.BrowseName = ua.QualifiedName.from_string("AggregateConfiguration") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8711, 0) + node.BrowseName = QualifiedName('AggregateConfiguration', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AggregateConfiguration") + attrs.DisplayName = LocalizedText("AggregateConfiguration") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='AggregateConfiguration']", ua.VariantType.String) attrs.ValueRank = -1 @@ -53671,29 +53673,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8711") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8711, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8711") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8711, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8807") - node.BrowseName = ua.QualifiedName.from_string("HistoryEventFieldList") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8807, 0) + node.BrowseName = QualifiedName('HistoryEventFieldList', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("HistoryEventFieldList") + attrs.DisplayName = LocalizedText("HistoryEventFieldList") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='HistoryEventFieldList']", ua.VariantType.String) attrs.ValueRank = -1 @@ -53702,29 +53704,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8807") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8807, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8807") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8807, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8327") - node.BrowseName = ua.QualifiedName.from_string("BuildInfo") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8327, 0) + node.BrowseName = QualifiedName('BuildInfo', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("BuildInfo") + attrs.DisplayName = LocalizedText("BuildInfo") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='BuildInfo']", ua.VariantType.String) attrs.ValueRank = -1 @@ -53733,29 +53735,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8327") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8327, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8327") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8327, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8843") - node.BrowseName = ua.QualifiedName.from_string("RedundantServerDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8843, 0) + node.BrowseName = QualifiedName('RedundantServerDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("RedundantServerDataType") + attrs.DisplayName = LocalizedText("RedundantServerDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='RedundantServerDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -53764,29 +53766,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8843") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8843, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8843") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8843, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11951") - node.BrowseName = ua.QualifiedName.from_string("EndpointUrlListDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(11951, 0) + node.BrowseName = QualifiedName('EndpointUrlListDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EndpointUrlListDataType") + attrs.DisplayName = LocalizedText("EndpointUrlListDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='EndpointUrlListDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -53795,29 +53797,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11951") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11951, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11951") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11951, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11954") - node.BrowseName = ua.QualifiedName.from_string("NetworkGroupDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(11954, 0) + node.BrowseName = QualifiedName('NetworkGroupDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("NetworkGroupDataType") + attrs.DisplayName = LocalizedText("NetworkGroupDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='NetworkGroupDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -53826,29 +53828,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11954") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11954, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=11954") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(11954, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8846") - node.BrowseName = ua.QualifiedName.from_string("SamplingIntervalDiagnosticsDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8846, 0) + node.BrowseName = QualifiedName('SamplingIntervalDiagnosticsDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SamplingIntervalDiagnosticsDataType") + attrs.DisplayName = LocalizedText("SamplingIntervalDiagnosticsDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='SamplingIntervalDiagnosticsDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -53857,29 +53859,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8846") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8846, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8846") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8846, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8849") - node.BrowseName = ua.QualifiedName.from_string("ServerDiagnosticsSummaryDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8849, 0) + node.BrowseName = QualifiedName('ServerDiagnosticsSummaryDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ServerDiagnosticsSummaryDataType") + attrs.DisplayName = LocalizedText("ServerDiagnosticsSummaryDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='ServerDiagnosticsSummaryDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -53888,29 +53890,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8849") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8849, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8849") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8849, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8852") - node.BrowseName = ua.QualifiedName.from_string("ServerStatusDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8852, 0) + node.BrowseName = QualifiedName('ServerStatusDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ServerStatusDataType") + attrs.DisplayName = LocalizedText("ServerStatusDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='ServerStatusDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -53919,29 +53921,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8852") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8852, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8852") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8852, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8855") - node.BrowseName = ua.QualifiedName.from_string("SessionDiagnosticsDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8855, 0) + node.BrowseName = QualifiedName('SessionDiagnosticsDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SessionDiagnosticsDataType") + attrs.DisplayName = LocalizedText("SessionDiagnosticsDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='SessionDiagnosticsDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -53950,29 +53952,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8855") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8855, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8855") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8855, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8858") - node.BrowseName = ua.QualifiedName.from_string("SessionSecurityDiagnosticsDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8858, 0) + node.BrowseName = QualifiedName('SessionSecurityDiagnosticsDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SessionSecurityDiagnosticsDataType") + attrs.DisplayName = LocalizedText("SessionSecurityDiagnosticsDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='SessionSecurityDiagnosticsDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -53981,29 +53983,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8858") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8858, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8858") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8858, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8861") - node.BrowseName = ua.QualifiedName.from_string("ServiceCounterDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8861, 0) + node.BrowseName = QualifiedName('ServiceCounterDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ServiceCounterDataType") + attrs.DisplayName = LocalizedText("ServiceCounterDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='ServiceCounterDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -54012,29 +54014,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8861") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8861, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8861") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8861, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8294") - node.BrowseName = ua.QualifiedName.from_string("StatusResult") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8294, 0) + node.BrowseName = QualifiedName('StatusResult', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("StatusResult") + attrs.DisplayName = LocalizedText("StatusResult") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='StatusResult']", ua.VariantType.String) attrs.ValueRank = -1 @@ -54043,29 +54045,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8294") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8294, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8294") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8294, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8864") - node.BrowseName = ua.QualifiedName.from_string("SubscriptionDiagnosticsDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8864, 0) + node.BrowseName = QualifiedName('SubscriptionDiagnosticsDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SubscriptionDiagnosticsDataType") + attrs.DisplayName = LocalizedText("SubscriptionDiagnosticsDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='SubscriptionDiagnosticsDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -54074,29 +54076,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8864") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8864, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8864") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8864, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8867") - node.BrowseName = ua.QualifiedName.from_string("ModelChangeStructureDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8867, 0) + node.BrowseName = QualifiedName('ModelChangeStructureDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ModelChangeStructureDataType") + attrs.DisplayName = LocalizedText("ModelChangeStructureDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='ModelChangeStructureDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -54105,29 +54107,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8867") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8867, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8867") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8867, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8870") - node.BrowseName = ua.QualifiedName.from_string("SemanticChangeStructureDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8870, 0) + node.BrowseName = QualifiedName('SemanticChangeStructureDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SemanticChangeStructureDataType") + attrs.DisplayName = LocalizedText("SemanticChangeStructureDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='SemanticChangeStructureDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -54136,29 +54138,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8870") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8870, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8870") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8870, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8873") - node.BrowseName = ua.QualifiedName.from_string("Range") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8873, 0) + node.BrowseName = QualifiedName('Range', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Range") + attrs.DisplayName = LocalizedText("Range") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='Range']", ua.VariantType.String) attrs.ValueRank = -1 @@ -54167,29 +54169,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8873") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8873, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8873") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8873, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8876") - node.BrowseName = ua.QualifiedName.from_string("EUInformation") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8876, 0) + node.BrowseName = QualifiedName('EUInformation', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EUInformation") + attrs.DisplayName = LocalizedText("EUInformation") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='EUInformation']", ua.VariantType.String) attrs.ValueRank = -1 @@ -54198,29 +54200,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8876") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8876, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8876") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8876, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12175") - node.BrowseName = ua.QualifiedName.from_string("ComplexNumberType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(12175, 0) + node.BrowseName = QualifiedName('ComplexNumberType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ComplexNumberType") + attrs.DisplayName = LocalizedText("ComplexNumberType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='ComplexNumberType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -54229,29 +54231,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12175") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12175, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12175") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12175, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12178") - node.BrowseName = ua.QualifiedName.from_string("DoubleComplexNumberType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(12178, 0) + node.BrowseName = QualifiedName('DoubleComplexNumberType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DoubleComplexNumberType") + attrs.DisplayName = LocalizedText("DoubleComplexNumberType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='DoubleComplexNumberType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -54260,29 +54262,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12178") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12178, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12178") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12178, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12083") - node.BrowseName = ua.QualifiedName.from_string("AxisInformation") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(12083, 0) + node.BrowseName = QualifiedName('AxisInformation', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AxisInformation") + attrs.DisplayName = LocalizedText("AxisInformation") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='AxisInformation']", ua.VariantType.String) attrs.ValueRank = -1 @@ -54291,29 +54293,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12083") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12083, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12083") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12083, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12086") - node.BrowseName = ua.QualifiedName.from_string("XVType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(12086, 0) + node.BrowseName = QualifiedName('XVType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("XVType") + attrs.DisplayName = LocalizedText("XVType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='XVType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -54322,29 +54324,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12086") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12086, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12086") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12086, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8882") - node.BrowseName = ua.QualifiedName.from_string("ProgramDiagnosticDataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8882, 0) + node.BrowseName = QualifiedName('ProgramDiagnosticDataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ProgramDiagnosticDataType") + attrs.DisplayName = LocalizedText("ProgramDiagnosticDataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='ProgramDiagnosticDataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -54353,29 +54355,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8882") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8882, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8882") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8882, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15402") - node.BrowseName = ua.QualifiedName.from_string("ProgramDiagnostic2DataType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(15402, 0) + node.BrowseName = QualifiedName('ProgramDiagnostic2DataType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ProgramDiagnostic2DataType") + attrs.DisplayName = LocalizedText("ProgramDiagnostic2DataType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='ProgramDiagnostic2DataType']", ua.VariantType.String) attrs.ValueRank = -1 @@ -54384,29 +54386,29 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15402") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15402, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=15402") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(15402, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8879") - node.BrowseName = ua.QualifiedName.from_string("Annotation") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8252") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=69") + node.RequestedNewNodeId = NumericNodeId(8879, 0) + node.BrowseName = QualifiedName('Annotation', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8252, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(69, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Annotation") + attrs.DisplayName = LocalizedText("Annotation") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.Value = ua.Variant("//xs:element[@name='Annotation']", ua.VariantType.String) attrs.ValueRank = -1 @@ -54415,509 +54417,509 @@ def create_standard_address_space_Part5(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8879") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=69") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8879, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(69, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=8879") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8252") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(8879, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8252, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15041") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=14533") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15041, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(14533, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15041") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=14533") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15041, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(14533, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15041") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15041, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16150") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=15528") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(16150, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(15528, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=16150") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15528") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(16150, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15528, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16150") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16150, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15042") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=15634") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15042, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(15634, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15042") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=15634") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15042, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15634, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15042") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15042, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15361") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=338") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15361, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(338, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15361") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=338") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15361, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(338, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15361") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15361, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15362") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=853") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15362, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(853, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15362") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=853") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15362, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(853, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15362") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15362, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15363") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=11943") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15363, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(11943, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15363") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11943") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15363, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11943, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15363") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15363, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15364") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=11944") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15364, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(11944, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15364") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11944") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15364, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11944, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15364") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15364, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15365") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=856") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15365, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(856, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15365") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=856") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15365, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(856, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15365") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15365, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15366") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=859") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15366, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(859, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15366") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=859") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15366, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(859, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15366") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15366, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15367") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=862") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15367, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(862, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15367") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=862") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15367, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(862, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15367") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15367, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15368") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=865") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15368, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(865, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15368") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=865") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15368, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(865, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15368") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15368, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15369") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=868") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15369, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(868, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15369") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=868") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15369, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(868, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15369") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15369, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15370") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=871") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15370, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(871, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15370") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=871") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15370, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(871, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15370") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15370, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15371") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=299") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15371, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(299, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15371") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=299") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15371, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(299, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15371") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15371, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15372") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=874") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15372, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(874, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15372") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=874") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15372, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(874, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15372") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15372, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15373") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=877") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15373, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(877, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15373") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=877") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15373, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(877, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15373") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15373, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15374") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=897") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15374, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(897, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15374") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=897") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15374, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(897, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15374") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15374, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) diff --git a/opcua/server/standard_address_space/standard_address_space_part8.py b/opcua/server/standard_address_space/standard_address_space_part8.py index a2227fcf9..418406c43 100644 --- a/opcua/server/standard_address_space/standard_address_space_part8.py +++ b/opcua/server/standard_address_space/standard_address_space_part8.py @@ -6,22 +6,24 @@ """ from opcua import ua +from opcua.ua import NodeId, QualifiedName, NumericNodeId, StringNodeId, GuidNodeId +from opcua.ua import NodeClass, LocalizedText def create_standard_address_space_Part8(server): node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2365") - node.BrowseName = ua.QualifiedName.from_string("DataItemType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=63") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2365, 0) + node.BrowseName = QualifiedName('DataItemType', 0) + node.NodeClass = NodeClass.VariableType + node.ParentNodeId = NumericNodeId(63, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.VariableTypeAttributes() - attrs.Description = ua.LocalizedText("A variable that contains live automation data.") - attrs.DisplayName = ua.LocalizedText("DataItemType") - attrs.Description = ua.LocalizedText("A variable that contains live automation data.") - attrs.DisplayName = ua.LocalizedText("DataItemType") + attrs.Description = LocalizedText("A variable that contains live automation data.") + attrs.DisplayName = LocalizedText("DataItemType") + attrs.Description = LocalizedText("A variable that contains live automation data.") + attrs.DisplayName = LocalizedText("DataItemType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -2 node.NodeAttributes = attrs @@ -29,37 +31,37 @@ def create_standard_address_space_Part8(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2365") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2366") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2365, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2366, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2365") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2367") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2365, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2367, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2365") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2365, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2366") - node.BrowseName = ua.QualifiedName.from_string("Definition") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2365") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2366, 0) + node.BrowseName = QualifiedName('Definition', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2365, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A vendor-specific, human readable string that specifies how the value of this DataItem is calculated.") - attrs.DisplayName = ua.LocalizedText("Definition") + attrs.Description = LocalizedText("A vendor-specific, human readable string that specifies how the value of this DataItem is calculated.") + attrs.DisplayName = LocalizedText("Definition") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -67,37 +69,37 @@ def create_standard_address_space_Part8(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2366") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2366, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2366") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2366, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2366") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2365") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2366, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2365, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2367") - node.BrowseName = ua.QualifiedName.from_string("ValuePrecision") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2365") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2367, 0) + node.BrowseName = QualifiedName('ValuePrecision', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2365, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The maximum precision that the server can maintain for the item based on restrictions in the target environment.") - attrs.DisplayName = ua.LocalizedText("ValuePrecision") + attrs.Description = LocalizedText("The maximum precision that the server can maintain for the item based on restrictions in the target environment.") + attrs.DisplayName = LocalizedText("ValuePrecision") attrs.DataType = ua.NodeId(ua.ObjectIds.Double) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -105,36 +107,36 @@ def create_standard_address_space_Part8(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2367") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2367, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2367") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2367, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2367") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2365") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2367, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2365, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2368") - node.BrowseName = ua.QualifiedName.from_string("AnalogItemType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=2365") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2368, 0) + node.BrowseName = QualifiedName('AnalogItemType', 0) + node.NodeClass = NodeClass.VariableType + node.ParentNodeId = NumericNodeId(2365, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AnalogItemType") - attrs.DisplayName = ua.LocalizedText("AnalogItemType") + attrs.DisplayName = LocalizedText("AnalogItemType") + attrs.DisplayName = LocalizedText("AnalogItemType") attrs.DataType = ua.NodeId(ua.ObjectIds.Number) attrs.ValueRank = -2 node.NodeAttributes = attrs @@ -142,155 +144,155 @@ def create_standard_address_space_Part8(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2368") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2370") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2368, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2370, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2368") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2369") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2368, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2369, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2368") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2371") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2368, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2371, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2368") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2365") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2368, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2365, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2370") - node.BrowseName = ua.QualifiedName.from_string("InstrumentRange") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2368") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2370, 0) + node.BrowseName = QualifiedName('InstrumentRange', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2368, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InstrumentRange") - attrs.DataType = ua.NodeId.from_string("i=884") + attrs.DisplayName = LocalizedText("InstrumentRange") + attrs.DataType = NumericNodeId(884, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2370") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2370, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2370") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2370, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2370") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2368") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2370, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2368, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2369") - node.BrowseName = ua.QualifiedName.from_string("EURange") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2368") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2369, 0) + node.BrowseName = QualifiedName('EURange', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2368, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EURange") - attrs.DataType = ua.NodeId.from_string("i=884") + attrs.DisplayName = LocalizedText("EURange") + attrs.DataType = NumericNodeId(884, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2369") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2369, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2369") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2369, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2369") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2368") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2369, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2368, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2371") - node.BrowseName = ua.QualifiedName.from_string("EngineeringUnits") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2368") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2371, 0) + node.BrowseName = QualifiedName('EngineeringUnits', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2368, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EngineeringUnits") - attrs.DataType = ua.NodeId.from_string("i=887") + attrs.DisplayName = LocalizedText("EngineeringUnits") + attrs.DataType = NumericNodeId(887, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2371") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2371, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2371") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2371, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2371") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2368") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2371, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2368, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2372") - node.BrowseName = ua.QualifiedName.from_string("DiscreteItemType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=2365") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2372, 0) + node.BrowseName = QualifiedName('DiscreteItemType', 0) + node.NodeClass = NodeClass.VariableType + node.ParentNodeId = NumericNodeId(2365, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("DiscreteItemType") + attrs.DisplayName = LocalizedText("DiscreteItemType") attrs.IsAbstract = True - attrs.DisplayName = ua.LocalizedText("DiscreteItemType") + attrs.DisplayName = LocalizedText("DiscreteItemType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -2 node.NodeAttributes = attrs @@ -298,22 +300,22 @@ def create_standard_address_space_Part8(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2372") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2365") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2372, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2365, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2373") - node.BrowseName = ua.QualifiedName.from_string("TwoStateDiscreteType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=2372") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2373, 0) + node.BrowseName = QualifiedName('TwoStateDiscreteType', 0) + node.NodeClass = NodeClass.VariableType + node.ParentNodeId = NumericNodeId(2372, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("TwoStateDiscreteType") - attrs.DisplayName = ua.LocalizedText("TwoStateDiscreteType") + attrs.DisplayName = LocalizedText("TwoStateDiscreteType") + attrs.DisplayName = LocalizedText("TwoStateDiscreteType") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -2 node.NodeAttributes = attrs @@ -321,36 +323,36 @@ def create_standard_address_space_Part8(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2373") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2374") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2373, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2374, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2373") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2375") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2373, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2375, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2373") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2372") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2373, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2372, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2374") - node.BrowseName = ua.QualifiedName.from_string("FalseState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2373") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2374, 0) + node.BrowseName = QualifiedName('FalseState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2373, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("FalseState") + attrs.DisplayName = LocalizedText("FalseState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -358,36 +360,36 @@ def create_standard_address_space_Part8(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2374") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2374, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2374") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2374, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2374") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2373") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2374, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2373, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2375") - node.BrowseName = ua.QualifiedName.from_string("TrueState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2373") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2375, 0) + node.BrowseName = QualifiedName('TrueState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2373, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TrueState") + attrs.DisplayName = LocalizedText("TrueState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -395,36 +397,36 @@ def create_standard_address_space_Part8(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2375") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2375, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2375") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2375, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2375") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2373") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2375, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2373, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2376") - node.BrowseName = ua.QualifiedName.from_string("MultiStateDiscreteType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=2372") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2376, 0) + node.BrowseName = QualifiedName('MultiStateDiscreteType', 0) + node.NodeClass = NodeClass.VariableType + node.ParentNodeId = NumericNodeId(2372, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("MultiStateDiscreteType") - attrs.DisplayName = ua.LocalizedText("MultiStateDiscreteType") + attrs.DisplayName = LocalizedText("MultiStateDiscreteType") + attrs.DisplayName = LocalizedText("MultiStateDiscreteType") attrs.DataType = ua.NodeId(ua.ObjectIds.UInteger) attrs.ValueRank = -2 node.NodeAttributes = attrs @@ -432,29 +434,29 @@ def create_standard_address_space_Part8(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2376") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2377") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2376, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2377, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2376") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2372") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2376, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2372, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2377") - node.BrowseName = ua.QualifiedName.from_string("EnumStrings") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2376") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2377, 0) + node.BrowseName = QualifiedName('EnumStrings', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2376, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EnumStrings") + attrs.DisplayName = LocalizedText("EnumStrings") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = 1 node.NodeAttributes = attrs @@ -462,36 +464,36 @@ def create_standard_address_space_Part8(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2377") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2377, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2377") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2377, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2377") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2376") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2377, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2376, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11238") - node.BrowseName = ua.QualifiedName.from_string("MultiStateValueDiscreteType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=2372") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(11238, 0) + node.BrowseName = QualifiedName('MultiStateValueDiscreteType', 0) + node.NodeClass = NodeClass.VariableType + node.ParentNodeId = NumericNodeId(2372, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("MultiStateValueDiscreteType") - attrs.DisplayName = ua.LocalizedText("MultiStateValueDiscreteType") + attrs.DisplayName = LocalizedText("MultiStateValueDiscreteType") + attrs.DisplayName = LocalizedText("MultiStateValueDiscreteType") attrs.DataType = ua.NodeId(ua.ObjectIds.Number) attrs.ValueRank = -2 node.NodeAttributes = attrs @@ -499,73 +501,73 @@ def create_standard_address_space_Part8(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11238") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11241") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11238, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11241, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11238") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11461") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11238, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11461, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=11238") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2372") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(11238, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2372, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11241") - node.BrowseName = ua.QualifiedName.from_string("EnumValues") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11238") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11241, 0) + node.BrowseName = QualifiedName('EnumValues', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11238, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EnumValues") - attrs.DataType = ua.NodeId.from_string("i=7594") + attrs.DisplayName = LocalizedText("EnumValues") + attrs.DataType = NumericNodeId(7594, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11241") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11241, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11241") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11241, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11241") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11238") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11241, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11238, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11461") - node.BrowseName = ua.QualifiedName.from_string("ValueAsText") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11238") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11461, 0) + node.BrowseName = QualifiedName('ValueAsText', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11238, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ValueAsText") + attrs.DisplayName = LocalizedText("ValueAsText") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -573,205 +575,205 @@ def create_standard_address_space_Part8(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11461") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11461, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11461") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11461, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11461") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11238") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11461, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11238, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12021") - node.BrowseName = ua.QualifiedName.from_string("ArrayItemType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=2365") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(12021, 0) + node.BrowseName = QualifiedName('ArrayItemType', 0) + node.NodeClass = NodeClass.VariableType + node.ParentNodeId = NumericNodeId(2365, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ArrayItemType") + attrs.DisplayName = LocalizedText("ArrayItemType") attrs.IsAbstract = True - attrs.DisplayName = ua.LocalizedText("ArrayItemType") + attrs.DisplayName = LocalizedText("ArrayItemType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12021") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12024") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12021, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12024, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12021") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12025") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12021, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12025, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12021") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12026") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12021, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12026, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12021") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12027") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12021, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12027, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12021") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12028") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12021, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12028, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=12021") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2365") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(12021, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2365, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12024") - node.BrowseName = ua.QualifiedName.from_string("InstrumentRange") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12021") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(12024, 0) + node.BrowseName = QualifiedName('InstrumentRange', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12021, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InstrumentRange") - attrs.DataType = ua.NodeId.from_string("i=884") + attrs.DisplayName = LocalizedText("InstrumentRange") + attrs.DataType = NumericNodeId(884, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12024") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12024, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12024") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12024, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12024") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12021") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12024, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12021, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12025") - node.BrowseName = ua.QualifiedName.from_string("EURange") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12021") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(12025, 0) + node.BrowseName = QualifiedName('EURange', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12021, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EURange") - attrs.DataType = ua.NodeId.from_string("i=884") + attrs.DisplayName = LocalizedText("EURange") + attrs.DataType = NumericNodeId(884, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12025") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12025, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12025") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12025, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12025") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12021") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12025, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12021, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12026") - node.BrowseName = ua.QualifiedName.from_string("EngineeringUnits") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12021") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(12026, 0) + node.BrowseName = QualifiedName('EngineeringUnits', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12021, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EngineeringUnits") - attrs.DataType = ua.NodeId.from_string("i=887") + attrs.DisplayName = LocalizedText("EngineeringUnits") + attrs.DataType = NumericNodeId(887, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12026") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12026, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12026") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12026, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12026") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12021") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12026, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12021, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12027") - node.BrowseName = ua.QualifiedName.from_string("Title") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12021") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(12027, 0) + node.BrowseName = QualifiedName('Title', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12021, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Title") + attrs.DisplayName = LocalizedText("Title") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -779,73 +781,73 @@ def create_standard_address_space_Part8(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12027") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12027, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12027") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12027, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12027") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12021") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12027, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12021, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12028") - node.BrowseName = ua.QualifiedName.from_string("AxisScaleType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12021") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(12028, 0) + node.BrowseName = QualifiedName('AxisScaleType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12021, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AxisScaleType") - attrs.DataType = ua.NodeId.from_string("i=12077") + attrs.DisplayName = LocalizedText("AxisScaleType") + attrs.DataType = NumericNodeId(12077, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12028") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12028, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12028") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12028, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12028") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12021") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12028, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12021, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12029") - node.BrowseName = ua.QualifiedName.from_string("YArrayItemType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=12021") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(12029, 0) + node.BrowseName = QualifiedName('YArrayItemType', 0) + node.NodeClass = NodeClass.VariableType + node.ParentNodeId = NumericNodeId(12021, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("YArrayItemType") - attrs.DisplayName = ua.LocalizedText("YArrayItemType") + attrs.DisplayName = LocalizedText("YArrayItemType") + attrs.DisplayName = LocalizedText("YArrayItemType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 1 attrs.ArrayDimensions = [0] @@ -854,67 +856,67 @@ def create_standard_address_space_Part8(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12029") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12037") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12029, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12037, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=12029") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12021") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(12029, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12021, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12037") - node.BrowseName = ua.QualifiedName.from_string("XAxisDefinition") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12029") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(12037, 0) + node.BrowseName = QualifiedName('XAxisDefinition', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12029, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("XAxisDefinition") - attrs.DataType = ua.NodeId.from_string("i=12079") + attrs.DisplayName = LocalizedText("XAxisDefinition") + attrs.DataType = NumericNodeId(12079, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12037") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12037, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12037") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12037, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12037") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12029") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12037, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12029, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12038") - node.BrowseName = ua.QualifiedName.from_string("XYArrayItemType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=12021") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(12038, 0) + node.BrowseName = QualifiedName('XYArrayItemType', 0) + node.NodeClass = NodeClass.VariableType + node.ParentNodeId = NumericNodeId(12021, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("XYArrayItemType") - attrs.DisplayName = ua.LocalizedText("XYArrayItemType") - attrs.DataType = ua.NodeId.from_string("i=12080") + attrs.DisplayName = LocalizedText("XYArrayItemType") + attrs.DisplayName = LocalizedText("XYArrayItemType") + attrs.DataType = NumericNodeId(12080, 0) attrs.ValueRank = 1 attrs.ArrayDimensions = [0] node.NodeAttributes = attrs @@ -922,66 +924,66 @@ def create_standard_address_space_Part8(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12038") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12046") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12038, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12046, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=12038") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12021") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(12038, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12021, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12046") - node.BrowseName = ua.QualifiedName.from_string("XAxisDefinition") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12038") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(12046, 0) + node.BrowseName = QualifiedName('XAxisDefinition', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12038, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("XAxisDefinition") - attrs.DataType = ua.NodeId.from_string("i=12079") + attrs.DisplayName = LocalizedText("XAxisDefinition") + attrs.DataType = NumericNodeId(12079, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12046") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12046, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12046") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12046, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12046") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12038") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12046, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12038, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12047") - node.BrowseName = ua.QualifiedName.from_string("ImageItemType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=12021") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(12047, 0) + node.BrowseName = QualifiedName('ImageItemType', 0) + node.NodeClass = NodeClass.VariableType + node.ParentNodeId = NumericNodeId(12021, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ImageItemType") - attrs.DisplayName = ua.LocalizedText("ImageItemType") + attrs.DisplayName = LocalizedText("ImageItemType") + attrs.DisplayName = LocalizedText("ImageItemType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 2 attrs.ArrayDimensions = [0, 0] @@ -990,110 +992,110 @@ def create_standard_address_space_Part8(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12047") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12055") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12047, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12055, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12047") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12056") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12047, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12056, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=12047") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12021") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(12047, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12021, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12055") - node.BrowseName = ua.QualifiedName.from_string("XAxisDefinition") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12047") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(12055, 0) + node.BrowseName = QualifiedName('XAxisDefinition', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12047, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("XAxisDefinition") - attrs.DataType = ua.NodeId.from_string("i=12079") + attrs.DisplayName = LocalizedText("XAxisDefinition") + attrs.DataType = NumericNodeId(12079, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12055") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12055, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12055") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12055, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12055") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12047") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12055, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12047, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12056") - node.BrowseName = ua.QualifiedName.from_string("YAxisDefinition") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12047") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(12056, 0) + node.BrowseName = QualifiedName('YAxisDefinition', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12047, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("YAxisDefinition") - attrs.DataType = ua.NodeId.from_string("i=12079") + attrs.DisplayName = LocalizedText("YAxisDefinition") + attrs.DataType = NumericNodeId(12079, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12056") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12056, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12056") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12056, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12056") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12047") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12056, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12047, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12057") - node.BrowseName = ua.QualifiedName.from_string("CubeItemType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=12021") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(12057, 0) + node.BrowseName = QualifiedName('CubeItemType', 0) + node.NodeClass = NodeClass.VariableType + node.ParentNodeId = NumericNodeId(12021, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("CubeItemType") - attrs.DisplayName = ua.LocalizedText("CubeItemType") + attrs.DisplayName = LocalizedText("CubeItemType") + attrs.DisplayName = LocalizedText("CubeItemType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = 3 attrs.ArrayDimensions = [0, 0, 0] @@ -1102,998 +1104,998 @@ def create_standard_address_space_Part8(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12057") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12065") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12057, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12065, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12057") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12066") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12057, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12066, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12057") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12067") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12057, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12067, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=12057") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12021") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(12057, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12021, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12065") - node.BrowseName = ua.QualifiedName.from_string("XAxisDefinition") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12057") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(12065, 0) + node.BrowseName = QualifiedName('XAxisDefinition', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12057, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("XAxisDefinition") - attrs.DataType = ua.NodeId.from_string("i=12079") + attrs.DisplayName = LocalizedText("XAxisDefinition") + attrs.DataType = NumericNodeId(12079, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12065") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12065, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12065") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12065, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12065") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12057") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12065, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12057, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12066") - node.BrowseName = ua.QualifiedName.from_string("YAxisDefinition") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12057") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(12066, 0) + node.BrowseName = QualifiedName('YAxisDefinition', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12057, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("YAxisDefinition") - attrs.DataType = ua.NodeId.from_string("i=12079") + attrs.DisplayName = LocalizedText("YAxisDefinition") + attrs.DataType = NumericNodeId(12079, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12066") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12066, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12066") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12066, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12066") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12057") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12066, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12057, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12067") - node.BrowseName = ua.QualifiedName.from_string("ZAxisDefinition") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12057") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(12067, 0) + node.BrowseName = QualifiedName('ZAxisDefinition', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12057, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ZAxisDefinition") - attrs.DataType = ua.NodeId.from_string("i=12079") + attrs.DisplayName = LocalizedText("ZAxisDefinition") + attrs.DataType = NumericNodeId(12079, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12067") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12067, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12067") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12067, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12067") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12057") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12067, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12057, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12068") - node.BrowseName = ua.QualifiedName.from_string("NDimensionArrayItemType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=12021") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(12068, 0) + node.BrowseName = QualifiedName('NDimensionArrayItemType', 0) + node.NodeClass = NodeClass.VariableType + node.ParentNodeId = NumericNodeId(12021, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("NDimensionArrayItemType") - attrs.DisplayName = ua.LocalizedText("NDimensionArrayItemType") + attrs.DisplayName = LocalizedText("NDimensionArrayItemType") + attrs.DisplayName = LocalizedText("NDimensionArrayItemType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12068") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12076") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12068, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12076, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=12068") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12021") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(12068, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12021, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12076") - node.BrowseName = ua.QualifiedName.from_string("AxisDefinition") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12068") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(12076, 0) + node.BrowseName = QualifiedName('AxisDefinition', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12068, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AxisDefinition") - attrs.DataType = ua.NodeId.from_string("i=12079") + attrs.DisplayName = LocalizedText("AxisDefinition") + attrs.DataType = NumericNodeId(12079, 0) attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12076") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12076, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12076") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12076, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12076") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12068") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12076, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12068, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=884") - node.BrowseName = ua.QualifiedName.from_string("Range") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(884, 0) + node.BrowseName = QualifiedName('Range', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("Range") + attrs.DisplayName = LocalizedText("Range") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=884") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(884, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=887") - node.BrowseName = ua.QualifiedName.from_string("EUInformation") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(887, 0) + node.BrowseName = QualifiedName('EUInformation', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("EUInformation") + attrs.DisplayName = LocalizedText("EUInformation") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=887") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(887, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12077") - node.BrowseName = ua.QualifiedName.from_string("AxisScaleEnumeration") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=29") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(12077, 0) + node.BrowseName = QualifiedName('AxisScaleEnumeration', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(29, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AxisScaleEnumeration") + attrs.DisplayName = LocalizedText("AxisScaleEnumeration") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12077") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12078") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12077, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12078, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=12077") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=29") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(12077, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(29, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12078") - node.BrowseName = ua.QualifiedName.from_string("EnumStrings") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12077") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(12078, 0) + node.BrowseName = QualifiedName('EnumStrings', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12077, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EnumStrings") + attrs.DisplayName = LocalizedText("EnumStrings") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.Value = [ua.LocalizedText('Linear'),ua.LocalizedText('Log'),ua.LocalizedText('Ln')] + attrs.Value = [LocalizedText('Linear'),LocalizedText('Log'),LocalizedText('Ln')] attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12078") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12078, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12078") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12078, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12078") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12077") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12078, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12077, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12171") - node.BrowseName = ua.QualifiedName.from_string("ComplexNumberType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(12171, 0) + node.BrowseName = QualifiedName('ComplexNumberType', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ComplexNumberType") + attrs.DisplayName = LocalizedText("ComplexNumberType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=12171") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(12171, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12172") - node.BrowseName = ua.QualifiedName.from_string("DoubleComplexNumberType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(12172, 0) + node.BrowseName = QualifiedName('DoubleComplexNumberType', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("DoubleComplexNumberType") + attrs.DisplayName = LocalizedText("DoubleComplexNumberType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=12172") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(12172, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12079") - node.BrowseName = ua.QualifiedName.from_string("AxisInformation") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(12079, 0) + node.BrowseName = QualifiedName('AxisInformation', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AxisInformation") + attrs.DisplayName = LocalizedText("AxisInformation") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=12079") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(12079, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12080") - node.BrowseName = ua.QualifiedName.from_string("XVType") - node.NodeClass = ua.NodeClass.DataType - node.ParentNodeId = ua.NodeId.from_string("i=22") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(12080, 0) + node.BrowseName = QualifiedName('XVType', 0) + node.NodeClass = NodeClass.DataType + node.ParentNodeId = NumericNodeId(22, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() - attrs.DisplayName = ua.LocalizedText("XVType") + attrs.DisplayName = LocalizedText("XVType") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=12080") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=22") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(12080, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(22, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=886") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=884") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(886, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(884, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=886") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=884") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(886, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(884, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=886") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8238") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(886, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8238, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=886") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(886, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=889") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=887") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(889, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(887, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=889") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=887") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(889, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(887, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=889") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8241") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(889, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8241, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=889") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(889, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12181") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=12171") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(12181, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(12171, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=12181") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12171") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(12181, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12171, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=12181") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12183") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(12181, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12183, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12181") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12181, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12182") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=12172") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(12182, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(12172, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=12182") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12172") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(12182, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12172, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=12182") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12186") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(12182, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12186, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12182") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12182, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12089") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=12079") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(12089, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(12079, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=12089") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12079") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(12089, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12079, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=12089") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12091") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(12089, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12091, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12089") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12089, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12090") - node.BrowseName = ua.QualifiedName.from_string("Default Binary") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=12080") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(12090, 0) + node.BrowseName = QualifiedName('Default Binary', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(12080, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default Binary") + attrs.DisplayName = LocalizedText("Default Binary") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=12090") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12080") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(12090, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12080, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=12090") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12094") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(12090, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12094, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12090") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12090, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=885") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=884") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(885, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(884, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=885") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=884") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(885, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(884, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=885") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8873") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(885, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8873, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=885") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(885, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=888") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=887") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(888, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(887, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=888") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=887") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(888, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(887, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=888") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8876") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(888, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8876, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=888") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(888, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12173") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=12171") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(12173, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(12171, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=12173") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12171") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(12173, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12171, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=12173") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12175") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(12173, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12175, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12173") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12173, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12174") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=12172") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(12174, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(12172, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=12174") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12172") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(12174, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12172, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=12174") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12178") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(12174, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12178, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12174") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12174, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12081") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=12079") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(12081, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(12079, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=12081") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12079") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(12081, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12079, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=12081") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12083") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(12081, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12083, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12081") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12081, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12082") - node.BrowseName = ua.QualifiedName.from_string("Default XML") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=12080") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(12082, 0) + node.BrowseName = QualifiedName('Default XML', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(12080, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default XML") + attrs.DisplayName = LocalizedText("Default XML") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=12082") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12080") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(12082, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12080, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=39") - ref.SourceNodeId = ua.NodeId.from_string("i=12082") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12086") + ref.ReferenceTypeId = NumericNodeId(39, 0) + ref.SourceNodeId = NumericNodeId(12082, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12086, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12082") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12082, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15375") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=884") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15375, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(884, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15375") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=884") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15375, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(884, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15375") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15375, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15376") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=887") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15376, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(887, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15376") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=887") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15376, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(887, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15376") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15376, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15377") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=12171") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15377, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(12171, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15377") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12171") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15377, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12171, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15377") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15377, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15378") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=12172") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15378, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(12172, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15378") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12172") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15378, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12172, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15378") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15378, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15379") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=12079") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15379, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(12079, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15379") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12079") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15379, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12079, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15379") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15379, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15380") - node.BrowseName = ua.QualifiedName.from_string("Default JSON") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=12080") - node.ReferenceTypeId = ua.NodeId.from_string("i=38") - node.TypeDefinition = ua.NodeId.from_string("i=76") + node.RequestedNewNodeId = NumericNodeId(15380, 0) + node.BrowseName = QualifiedName('Default JSON', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(12080, 0) + node.ReferenceTypeId = NumericNodeId(38, 0) + node.TypeDefinition = NumericNodeId(76, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Default JSON") + attrs.DisplayName = LocalizedText("Default JSON") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=38") - ref.SourceNodeId = ua.NodeId.from_string("i=15380") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12080") + ref.ReferenceTypeId = NumericNodeId(38, 0) + ref.SourceNodeId = NumericNodeId(15380, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12080, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=15380") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=76") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(15380, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(76, 0) refs.append(ref) server.add_references(refs) diff --git a/opcua/server/standard_address_space/standard_address_space_part9.py b/opcua/server/standard_address_space/standard_address_space_part9.py index 3e7caef31..ddd12c661 100644 --- a/opcua/server/standard_address_space/standard_address_space_part9.py +++ b/opcua/server/standard_address_space/standard_address_space_part9.py @@ -6,20 +6,22 @@ """ from opcua import ua +from opcua.ua import NodeId, QualifiedName, NumericNodeId, StringNodeId, GuidNodeId +from opcua.ua import NodeClass, LocalizedText def create_standard_address_space_Part9(server): node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8995") - node.BrowseName = ua.QualifiedName.from_string("TwoStateVariableType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=2755") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(8995, 0) + node.BrowseName = QualifiedName('TwoStateVariableType', 0) + node.NodeClass = NodeClass.VariableType + node.ParentNodeId = NumericNodeId(2755, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("TwoStateVariableType") - attrs.DisplayName = ua.LocalizedText("TwoStateVariableType") + attrs.DisplayName = LocalizedText("TwoStateVariableType") + attrs.DisplayName = LocalizedText("TwoStateVariableType") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -27,57 +29,57 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=8995") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8996") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(8995, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8996, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=8995") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9000") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(8995, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9000, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=8995") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9001") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(8995, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9001, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=8995") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11110") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(8995, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11110, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=8995") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11111") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(8995, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11111, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=8995") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2755") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(8995, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2755, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8996") - node.BrowseName = ua.QualifiedName.from_string("Id") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8995") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(8996, 0) + node.BrowseName = QualifiedName('Id', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8995, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") + attrs.DisplayName = LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -85,110 +87,110 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=8996") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(8996, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=8996") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(8996, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=8996") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8995") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(8996, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8995, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9000") - node.BrowseName = ua.QualifiedName.from_string("TransitionTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8995") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9000, 0) + node.BrowseName = QualifiedName('TransitionTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8995, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("TransitionTime") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9000") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9000, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9000") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9000, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9000") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8995") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9000, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8995, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9001") - node.BrowseName = ua.QualifiedName.from_string("EffectiveTransitionTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8995") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9001, 0) + node.BrowseName = QualifiedName('EffectiveTransitionTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8995, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EffectiveTransitionTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("EffectiveTransitionTime") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9001") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9001, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9001") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9001, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9001") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8995") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9001, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8995, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11110") - node.BrowseName = ua.QualifiedName.from_string("TrueState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8995") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11110, 0) + node.BrowseName = QualifiedName('TrueState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8995, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TrueState") + attrs.DisplayName = LocalizedText("TrueState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -196,36 +198,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11110") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11110, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11110") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11110, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11110") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8995") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11110, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8995, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11111") - node.BrowseName = ua.QualifiedName.from_string("FalseState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8995") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11111, 0) + node.BrowseName = QualifiedName('FalseState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8995, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("FalseState") + attrs.DisplayName = LocalizedText("FalseState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -233,36 +235,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11111") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11111, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11111") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11111, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11111") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8995") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11111, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8995, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9002") - node.BrowseName = ua.QualifiedName.from_string("ConditionVariableType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=63") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(9002, 0) + node.BrowseName = QualifiedName('ConditionVariableType', 0) + node.NodeClass = NodeClass.VariableType + node.ParentNodeId = NumericNodeId(63, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ConditionVariableType") - attrs.DisplayName = ua.LocalizedText("ConditionVariableType") + attrs.DisplayName = LocalizedText("ConditionVariableType") + attrs.DisplayName = LocalizedText("ConditionVariableType") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -2 node.NodeAttributes = attrs @@ -270,290 +272,290 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9002") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9003") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9002, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9003, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=9002") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(9002, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9003") - node.BrowseName = ua.QualifiedName.from_string("SourceTimestamp") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9002") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9003, 0) + node.BrowseName = QualifiedName('SourceTimestamp', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9002, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SourceTimestamp") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("SourceTimestamp") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9003") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9003, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9003") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9003, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9003") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9002") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9003, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9002, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9004") - node.BrowseName = ua.QualifiedName.from_string("HasTrueSubState") - node.NodeClass = ua.NodeClass.ReferenceType - node.ParentNodeId = ua.NodeId.from_string("i=32") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(9004, 0) + node.BrowseName = QualifiedName('HasTrueSubState', 0) + node.NodeClass = NodeClass.ReferenceType + node.ParentNodeId = NumericNodeId(32, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ReferenceTypeAttributes() - attrs.DisplayName = ua.LocalizedText("HasTrueSubState") - attrs.InverseName = ua.LocalizedText("IsTrueSubStateOf") + attrs.DisplayName = LocalizedText("HasTrueSubState") + attrs.InverseName = LocalizedText("IsTrueSubStateOf") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=9004") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=32") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(9004, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(32, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9005") - node.BrowseName = ua.QualifiedName.from_string("HasFalseSubState") - node.NodeClass = ua.NodeClass.ReferenceType - node.ParentNodeId = ua.NodeId.from_string("i=32") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(9005, 0) + node.BrowseName = QualifiedName('HasFalseSubState', 0) + node.NodeClass = NodeClass.ReferenceType + node.ParentNodeId = NumericNodeId(32, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ReferenceTypeAttributes() - attrs.DisplayName = ua.LocalizedText("HasFalseSubState") - attrs.InverseName = ua.LocalizedText("IsFalseSubStateOf") + attrs.DisplayName = LocalizedText("HasFalseSubState") + attrs.InverseName = LocalizedText("IsFalseSubStateOf") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=9005") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=32") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(9005, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(32, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16361") - node.BrowseName = ua.QualifiedName.from_string("HasAlarmSuppressionGroup") - node.NodeClass = ua.NodeClass.ReferenceType - node.ParentNodeId = ua.NodeId.from_string("i=47") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(16361, 0) + node.BrowseName = QualifiedName('HasAlarmSuppressionGroup', 0) + node.NodeClass = NodeClass.ReferenceType + node.ParentNodeId = NumericNodeId(47, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ReferenceTypeAttributes() - attrs.DisplayName = ua.LocalizedText("HasAlarmSuppressionGroup") - attrs.InverseName = ua.LocalizedText("IsAlarmSuppressionGroupOf") + attrs.DisplayName = LocalizedText("HasAlarmSuppressionGroup") + attrs.InverseName = LocalizedText("IsAlarmSuppressionGroupOf") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=16361") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=47") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(16361, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(47, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16362") - node.BrowseName = ua.QualifiedName.from_string("AlarmGroupMember") - node.NodeClass = ua.NodeClass.ReferenceType - node.ParentNodeId = ua.NodeId.from_string("i=35") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(16362, 0) + node.BrowseName = QualifiedName('AlarmGroupMember', 0) + node.NodeClass = NodeClass.ReferenceType + node.ParentNodeId = NumericNodeId(35, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ReferenceTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AlarmGroupMember") - attrs.InverseName = ua.LocalizedText("MemberOfAlarmGroup") + attrs.DisplayName = LocalizedText("AlarmGroupMember") + attrs.InverseName = LocalizedText("MemberOfAlarmGroup") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=16362") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=35") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(16362, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(35, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2782") - node.BrowseName = ua.QualifiedName.from_string("ConditionType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2041") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2782, 0) + node.BrowseName = QualifiedName('ConditionType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2041, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ConditionType") + attrs.DisplayName = LocalizedText("ConditionType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2782") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11112") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2782, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11112, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2782") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11113") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2782, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11113, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2782") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16363") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2782, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16363, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2782") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16364") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2782, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16364, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2782") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9009") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2782, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9009, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2782") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9010") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2782, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9010, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2782") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3874") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2782, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3874, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2782") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9011") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2782, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9011, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2782") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9020") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2782, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9020, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2782") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9022") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2782, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9022, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2782") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9024") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2782, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9024, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2782") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9026") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2782, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9026, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2782") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9028") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2782, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9028, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2782") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9027") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2782, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9027, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2782") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9029") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2782, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9029, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2782") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3875") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2782, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3875, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2782") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12912") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2782, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12912, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2782") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2041") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2782, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2041, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11112") - node.BrowseName = ua.QualifiedName.from_string("ConditionClassId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2782") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11112, 0) + node.BrowseName = QualifiedName('ConditionClassId', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2782, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ConditionClassId") + attrs.DisplayName = LocalizedText("ConditionClassId") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -561,36 +563,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11112") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11112, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11112") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11112, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11112") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2782") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11112, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2782, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11113") - node.BrowseName = ua.QualifiedName.from_string("ConditionClassName") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2782") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11113, 0) + node.BrowseName = QualifiedName('ConditionClassName', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2782, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ConditionClassName") + attrs.DisplayName = LocalizedText("ConditionClassName") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -598,36 +600,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11113") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11113, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11113") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11113, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11113") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2782") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11113, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2782, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16363") - node.BrowseName = ua.QualifiedName.from_string("ConditionSubClassId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2782") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16363, 0) + node.BrowseName = QualifiedName('ConditionSubClassId', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2782, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ConditionSubClassId") + attrs.DisplayName = LocalizedText("ConditionSubClassId") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = 1 node.NodeAttributes = attrs @@ -635,36 +637,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16363") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16363, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16363") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16363, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16363") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2782") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16363, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2782, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16364") - node.BrowseName = ua.QualifiedName.from_string("ConditionSubClassName") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2782") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16364, 0) + node.BrowseName = QualifiedName('ConditionSubClassName', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2782, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ConditionSubClassName") + attrs.DisplayName = LocalizedText("ConditionSubClassName") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = 1 node.NodeAttributes = attrs @@ -672,36 +674,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16364") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16364, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16364") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16364, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16364") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2782") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16364, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2782, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9009") - node.BrowseName = ua.QualifiedName.from_string("ConditionName") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2782") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9009, 0) + node.BrowseName = QualifiedName('ConditionName', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2782, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ConditionName") + attrs.DisplayName = LocalizedText("ConditionName") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -709,36 +711,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9009") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9009, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9009") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9009, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9009") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2782") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9009, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2782, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9010") - node.BrowseName = ua.QualifiedName.from_string("BranchId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2782") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9010, 0) + node.BrowseName = QualifiedName('BranchId', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2782, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("BranchId") + attrs.DisplayName = LocalizedText("BranchId") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -746,36 +748,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9010") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9010, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9010") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9010, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9010") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2782") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9010, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2782, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3874") - node.BrowseName = ua.QualifiedName.from_string("Retain") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2782") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3874, 0) + node.BrowseName = QualifiedName('Retain', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2782, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Retain") + attrs.DisplayName = LocalizedText("Retain") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -783,36 +785,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3874") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3874, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3874") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3874, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3874") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2782") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3874, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2782, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9011") - node.BrowseName = ua.QualifiedName.from_string("EnabledState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2782") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=8995") + node.RequestedNewNodeId = NumericNodeId(9011, 0) + node.BrowseName = QualifiedName('EnabledState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2782, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(8995, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EnabledState") + attrs.DisplayName = LocalizedText("EnabledState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -820,78 +822,78 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9011") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9012") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9011, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9012, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9011") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9015") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9011, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9015, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9011") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9016") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9011, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9016, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9011") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9017") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9011, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9017, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9011") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9018") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9011, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9018, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9011") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9019") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9011, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9019, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9011") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8995") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9011, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8995, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9011") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9011, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9011") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2782") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9011, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2782, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9012") - node.BrowseName = ua.QualifiedName.from_string("Id") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9011") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9012, 0) + node.BrowseName = QualifiedName('Id', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9011, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") + attrs.DisplayName = LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -899,36 +901,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9012") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9012, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9012") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9012, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9012") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9011") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9012, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9011, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9015") - node.BrowseName = ua.QualifiedName.from_string("EffectiveDisplayName") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9011") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9015, 0) + node.BrowseName = QualifiedName('EffectiveDisplayName', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9011, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EffectiveDisplayName") + attrs.DisplayName = LocalizedText("EffectiveDisplayName") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -936,110 +938,110 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9015") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9015, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9015") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9015, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9015") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9011") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9015, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9011, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9016") - node.BrowseName = ua.QualifiedName.from_string("TransitionTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9011") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9016, 0) + node.BrowseName = QualifiedName('TransitionTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9011, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("TransitionTime") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9016") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9016, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9016") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9016, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9016") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9011") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9016, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9011, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9017") - node.BrowseName = ua.QualifiedName.from_string("EffectiveTransitionTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9011") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9017, 0) + node.BrowseName = QualifiedName('EffectiveTransitionTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9011, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EffectiveTransitionTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("EffectiveTransitionTime") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9017") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9017, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9017") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9017, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9017") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9011") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9017, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9011, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9018") - node.BrowseName = ua.QualifiedName.from_string("TrueState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9011") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9018, 0) + node.BrowseName = QualifiedName('TrueState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9011, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TrueState") + attrs.DisplayName = LocalizedText("TrueState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'Enabled')], ua.VariantType.LocalizedText) attrs.ValueRank = -1 @@ -1048,36 +1050,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9018") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9018, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9018") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9018, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9018") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9011") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9018, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9011, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9019") - node.BrowseName = ua.QualifiedName.from_string("FalseState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9011") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9019, 0) + node.BrowseName = QualifiedName('FalseState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9011, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("FalseState") + attrs.DisplayName = LocalizedText("FalseState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'Disabled')], ua.VariantType.LocalizedText) attrs.ValueRank = -1 @@ -1086,36 +1088,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9019") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9019, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9019") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9019, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9019") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9011") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9019, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9011, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9020") - node.BrowseName = ua.QualifiedName.from_string("Quality") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2782") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=9002") + node.RequestedNewNodeId = NumericNodeId(9020, 0) + node.BrowseName = QualifiedName('Quality', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2782, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(9002, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Quality") + attrs.DisplayName = LocalizedText("Quality") attrs.DataType = ua.NodeId(ua.ObjectIds.StatusCode) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -1123,80 +1125,80 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9020") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9021") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9020, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9021, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9020") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9002") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9020, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9002, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9020") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9020, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9020") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2782") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9020, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2782, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9021") - node.BrowseName = ua.QualifiedName.from_string("SourceTimestamp") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9020") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9021, 0) + node.BrowseName = QualifiedName('SourceTimestamp', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9020, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SourceTimestamp") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("SourceTimestamp") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9021") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9021, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9021") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9021, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9021") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9020") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9021, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9020, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9022") - node.BrowseName = ua.QualifiedName.from_string("LastSeverity") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2782") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=9002") + node.RequestedNewNodeId = NumericNodeId(9022, 0) + node.BrowseName = QualifiedName('LastSeverity', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2782, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(9002, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LastSeverity") + attrs.DisplayName = LocalizedText("LastSeverity") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -1204,80 +1206,80 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9022") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9023") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9022, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9023, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9022") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9002") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9022, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9002, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9022") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9022, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9022") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2782") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9022, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2782, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9023") - node.BrowseName = ua.QualifiedName.from_string("SourceTimestamp") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9022") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9023, 0) + node.BrowseName = QualifiedName('SourceTimestamp', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9022, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SourceTimestamp") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("SourceTimestamp") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9023") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9023, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9023") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9023, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9023") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9022") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9023, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9022, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9024") - node.BrowseName = ua.QualifiedName.from_string("Comment") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2782") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=9002") + node.RequestedNewNodeId = NumericNodeId(9024, 0) + node.BrowseName = QualifiedName('Comment', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2782, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(9002, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Comment") + attrs.DisplayName = LocalizedText("Comment") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -1285,80 +1287,80 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9024") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9025") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9024, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9025, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9024") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9002") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9024, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9002, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9024") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9024, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9024") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2782") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9024, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2782, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9025") - node.BrowseName = ua.QualifiedName.from_string("SourceTimestamp") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9024") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9025, 0) + node.BrowseName = QualifiedName('SourceTimestamp', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9024, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SourceTimestamp") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("SourceTimestamp") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9025") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9025, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9025") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9025, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9025") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9024") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9025, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9024, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9026") - node.BrowseName = ua.QualifiedName.from_string("ClientUserId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2782") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9026, 0) + node.BrowseName = QualifiedName('ClientUserId', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2782, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ClientUserId") + attrs.DisplayName = LocalizedText("ClientUserId") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -1366,156 +1368,156 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9026") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9026, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9026") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9026, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9026") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2782") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9026, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2782, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9028") - node.BrowseName = ua.QualifiedName.from_string("Disable") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=2782") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(9028, 0) + node.BrowseName = QualifiedName('Disable', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(2782, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("Disable") + attrs.DisplayName = LocalizedText("Disable") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") - ref.SourceNodeId = ua.NodeId.from_string("i=9028") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2803") + ref.ReferenceTypeId = NumericNodeId(3065, 0) + ref.SourceNodeId = NumericNodeId(9028, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2803, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9028") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9028, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9028") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2782") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9028, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2782, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9027") - node.BrowseName = ua.QualifiedName.from_string("Enable") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=2782") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(9027, 0) + node.BrowseName = QualifiedName('Enable', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(2782, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("Enable") + attrs.DisplayName = LocalizedText("Enable") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") - ref.SourceNodeId = ua.NodeId.from_string("i=9027") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2803") + ref.ReferenceTypeId = NumericNodeId(3065, 0) + ref.SourceNodeId = NumericNodeId(9027, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2803, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9027") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9027, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9027") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2782") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9027, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2782, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9029") - node.BrowseName = ua.QualifiedName.from_string("AddComment") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=2782") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(9029, 0) + node.BrowseName = QualifiedName('AddComment', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(2782, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("AddComment") + attrs.DisplayName = LocalizedText("AddComment") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9029") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9030") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9029, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9030, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") - ref.SourceNodeId = ua.NodeId.from_string("i=9029") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2829") + ref.ReferenceTypeId = NumericNodeId(3065, 0) + ref.SourceNodeId = NumericNodeId(9029, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2829, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9029") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9029, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9029") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2782") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9029, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2782, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9030") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9029") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9030, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9029, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'EventId' - extobj.DataType = ua.NodeId.from_string("i=15") + extobj.DataType = NumericNodeId(15, 0) extobj.ValueRank = -1 extobj.Description.Text = 'The identifier for the event to comment.' value.append(extobj) extobj = ua.Argument() extobj.Name = 'Comment' - extobj.DataType = ua.NodeId.from_string("i=21") + extobj.DataType = NumericNodeId(21, 0) extobj.ValueRank = -1 extobj.Description.Text = 'The comment to add to the condition.' value.append(extobj) @@ -1526,82 +1528,82 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9029") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9029, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3875") - node.BrowseName = ua.QualifiedName.from_string("ConditionRefresh") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=2782") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(3875, 0) + node.BrowseName = QualifiedName('ConditionRefresh', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(2782, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("ConditionRefresh") + attrs.DisplayName = LocalizedText("ConditionRefresh") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3875") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3876") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3875, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3876, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") - ref.SourceNodeId = ua.NodeId.from_string("i=3875") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2787") + ref.ReferenceTypeId = NumericNodeId(3065, 0) + ref.SourceNodeId = NumericNodeId(3875, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2787, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") - ref.SourceNodeId = ua.NodeId.from_string("i=3875") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2788") + ref.ReferenceTypeId = NumericNodeId(3065, 0) + ref.SourceNodeId = NumericNodeId(3875, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2788, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=3875") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2782") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(3875, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2782, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=3876") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=3875") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(3876, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(3875, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'SubscriptionId' - extobj.DataType = ua.NodeId.from_string("i=288") + extobj.DataType = NumericNodeId(288, 0) extobj.ValueRank = -1 extobj.Description.Text = 'The identifier for the suscription to refresh.' value.append(extobj) @@ -1612,88 +1614,88 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=3876") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(3876, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=3876") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(3876, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=3876") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=3875") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(3876, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(3875, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12912") - node.BrowseName = ua.QualifiedName.from_string("ConditionRefresh2") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=2782") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(12912, 0) + node.BrowseName = QualifiedName('ConditionRefresh2', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(2782, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("ConditionRefresh2") + attrs.DisplayName = LocalizedText("ConditionRefresh2") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12912") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12913") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12912, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12913, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") - ref.SourceNodeId = ua.NodeId.from_string("i=12912") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2787") + ref.ReferenceTypeId = NumericNodeId(3065, 0) + ref.SourceNodeId = NumericNodeId(12912, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2787, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") - ref.SourceNodeId = ua.NodeId.from_string("i=12912") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2788") + ref.ReferenceTypeId = NumericNodeId(3065, 0) + ref.SourceNodeId = NumericNodeId(12912, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2788, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=12912") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2782") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(12912, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2782, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=12913") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=12912") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(12913, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(12912, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'SubscriptionId' - extobj.DataType = ua.NodeId.from_string("i=288") + extobj.DataType = NumericNodeId(288, 0) extobj.ValueRank = -1 extobj.Description.Text = 'The identifier for the suscription to refresh.' value.append(extobj) extobj = ua.Argument() extobj.Name = 'MonitoredItemId' - extobj.DataType = ua.NodeId.from_string("i=288") + extobj.DataType = NumericNodeId(288, 0) extobj.ValueRank = -1 extobj.Description.Text = 'The identifier for the monitored item to refresh.' value.append(extobj) @@ -1704,120 +1706,120 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=12913") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(12913, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=12913") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(12913, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=12913") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=12912") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(12913, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(12912, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2830") - node.BrowseName = ua.QualifiedName.from_string("DialogConditionType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2782") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2830, 0) + node.BrowseName = QualifiedName('DialogConditionType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2782, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("DialogConditionType") + attrs.DisplayName = LocalizedText("DialogConditionType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2830") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9035") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2830, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9035, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2830") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9055") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2830, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9055, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2830") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2831") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2830, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2831, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2830") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9064") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2830, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9064, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2830") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9065") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2830, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9065, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2830") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9066") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2830, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9066, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2830") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9067") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2830, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9067, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2830") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9068") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2830, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9068, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2830") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9069") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2830, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9069, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2830") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2782") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2830, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2782, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9035") - node.BrowseName = ua.QualifiedName.from_string("EnabledState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2830") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=8995") + node.RequestedNewNodeId = NumericNodeId(9035, 0) + node.BrowseName = QualifiedName('EnabledState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2830, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(8995, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EnabledState") + attrs.DisplayName = LocalizedText("EnabledState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -1825,50 +1827,50 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9035") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9036") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9035, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9036, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") - ref.SourceNodeId = ua.NodeId.from_string("i=9035") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9055") + ref.ReferenceTypeId = NumericNodeId(9004, 0) + ref.SourceNodeId = NumericNodeId(9035, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9055, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9035") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8995") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9035, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8995, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9035") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9035, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9035") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2830") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9035, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2830, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9036") - node.BrowseName = ua.QualifiedName.from_string("Id") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9035") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9036, 0) + node.BrowseName = QualifiedName('Id', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9035, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") + attrs.DisplayName = LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -1876,36 +1878,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9036") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9036, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9036") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9036, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9036") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9035") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9036, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9035, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9055") - node.BrowseName = ua.QualifiedName.from_string("DialogState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2830") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=8995") + node.RequestedNewNodeId = NumericNodeId(9055, 0) + node.BrowseName = QualifiedName('DialogState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2830, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(8995, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DialogState") + attrs.DisplayName = LocalizedText("DialogState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -1913,71 +1915,71 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9055") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9056") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9055, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9056, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9055") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9060") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9055, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9060, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9055") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9062") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9055, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9062, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9055") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9063") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9055, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9063, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") - ref.SourceNodeId = ua.NodeId.from_string("i=9055") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9035") + ref.ReferenceTypeId = NumericNodeId(9004, 0) + ref.SourceNodeId = NumericNodeId(9055, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9035, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9055") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8995") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9055, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8995, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9055") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9055, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9055") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2830") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9055, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2830, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9056") - node.BrowseName = ua.QualifiedName.from_string("Id") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9055") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9056, 0) + node.BrowseName = QualifiedName('Id', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9055, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") + attrs.DisplayName = LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -1985,73 +1987,73 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9056") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9056, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9056") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9056, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9056") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9055") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9056, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9055, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9060") - node.BrowseName = ua.QualifiedName.from_string("TransitionTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9055") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9060, 0) + node.BrowseName = QualifiedName('TransitionTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9055, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("TransitionTime") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9060") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9060, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9060") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9060, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9060") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9055") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9060, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9055, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9062") - node.BrowseName = ua.QualifiedName.from_string("TrueState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9055") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9062, 0) + node.BrowseName = QualifiedName('TrueState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9055, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TrueState") + attrs.DisplayName = LocalizedText("TrueState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'Active')], ua.VariantType.LocalizedText) attrs.ValueRank = -1 @@ -2060,36 +2062,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9062") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9062, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9062") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9062, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9062") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9055") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9062, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9055, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9063") - node.BrowseName = ua.QualifiedName.from_string("FalseState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9055") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9063, 0) + node.BrowseName = QualifiedName('FalseState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9055, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("FalseState") + attrs.DisplayName = LocalizedText("FalseState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'Inactive')], ua.VariantType.LocalizedText) attrs.ValueRank = -1 @@ -2098,36 +2100,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9063") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9063, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9063") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9063, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9063") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9055") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9063, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9055, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2831") - node.BrowseName = ua.QualifiedName.from_string("Prompt") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2830") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2831, 0) + node.BrowseName = QualifiedName('Prompt', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2830, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Prompt") + attrs.DisplayName = LocalizedText("Prompt") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -2135,36 +2137,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2831") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2831, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2831") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2831, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2831") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2830") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2831, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2830, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9064") - node.BrowseName = ua.QualifiedName.from_string("ResponseOptionSet") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2830") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9064, 0) + node.BrowseName = QualifiedName('ResponseOptionSet', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2830, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ResponseOptionSet") + attrs.DisplayName = LocalizedText("ResponseOptionSet") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = 1 node.NodeAttributes = attrs @@ -2172,36 +2174,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9064") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9064, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9064") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9064, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9064") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2830") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9064, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2830, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9065") - node.BrowseName = ua.QualifiedName.from_string("DefaultResponse") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2830") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9065, 0) + node.BrowseName = QualifiedName('DefaultResponse', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2830, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("DefaultResponse") + attrs.DisplayName = LocalizedText("DefaultResponse") attrs.DataType = ua.NodeId(ua.ObjectIds.Int32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -2209,36 +2211,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9065") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9065, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9065") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9065, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9065") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2830") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9065, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2830, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9066") - node.BrowseName = ua.QualifiedName.from_string("OkResponse") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2830") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9066, 0) + node.BrowseName = QualifiedName('OkResponse', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2830, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OkResponse") + attrs.DisplayName = LocalizedText("OkResponse") attrs.DataType = ua.NodeId(ua.ObjectIds.Int32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -2246,36 +2248,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9066") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9066, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9066") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9066, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9066") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2830") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9066, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2830, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9067") - node.BrowseName = ua.QualifiedName.from_string("CancelResponse") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2830") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9067, 0) + node.BrowseName = QualifiedName('CancelResponse', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2830, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CancelResponse") + attrs.DisplayName = LocalizedText("CancelResponse") attrs.DataType = ua.NodeId(ua.ObjectIds.Int32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -2283,36 +2285,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9067") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9067, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9067") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9067, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9067") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2830") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9067, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2830, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9068") - node.BrowseName = ua.QualifiedName.from_string("LastResponse") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2830") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9068, 0) + node.BrowseName = QualifiedName('LastResponse', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2830, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LastResponse") + attrs.DisplayName = LocalizedText("LastResponse") attrs.DataType = ua.NodeId(ua.ObjectIds.Int32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -2320,82 +2322,82 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9068") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9068, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9068") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9068, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9068") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2830") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9068, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2830, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9069") - node.BrowseName = ua.QualifiedName.from_string("Respond") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=2830") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(9069, 0) + node.BrowseName = QualifiedName('Respond', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(2830, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("Respond") + attrs.DisplayName = LocalizedText("Respond") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9069") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9070") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9069, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9070, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") - ref.SourceNodeId = ua.NodeId.from_string("i=9069") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8927") + ref.ReferenceTypeId = NumericNodeId(3065, 0) + ref.SourceNodeId = NumericNodeId(9069, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8927, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9069") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9069, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9069") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2830") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9069, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2830, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9070") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9069") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9070, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9069, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'SelectedResponse' - extobj.DataType = ua.NodeId.from_string("i=6") + extobj.DataType = NumericNodeId(6, 0) extobj.ValueRank = -1 extobj.Description.Text = 'The response to the dialog condition.' value.append(extobj) @@ -2406,92 +2408,92 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9070") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9070, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9070") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9070, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9070") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9069") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9070, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9069, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2881") - node.BrowseName = ua.QualifiedName.from_string("AcknowledgeableConditionType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2782") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2881, 0) + node.BrowseName = QualifiedName('AcknowledgeableConditionType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2782, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AcknowledgeableConditionType") + attrs.DisplayName = LocalizedText("AcknowledgeableConditionType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2881") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9073") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2881, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9073, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2881") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9093") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2881, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9093, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2881") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9102") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2881, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9102, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2881") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9111") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2881, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9111, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2881") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9113") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2881, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9113, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2881") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2782") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2881, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2782, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9073") - node.BrowseName = ua.QualifiedName.from_string("EnabledState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2881") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=8995") + node.RequestedNewNodeId = NumericNodeId(9073, 0) + node.BrowseName = QualifiedName('EnabledState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2881, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(8995, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EnabledState") + attrs.DisplayName = LocalizedText("EnabledState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -2499,57 +2501,57 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9073") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9074") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9073, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9074, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") - ref.SourceNodeId = ua.NodeId.from_string("i=9073") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9093") + ref.ReferenceTypeId = NumericNodeId(9004, 0) + ref.SourceNodeId = NumericNodeId(9073, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9093, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") - ref.SourceNodeId = ua.NodeId.from_string("i=9073") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9102") + ref.ReferenceTypeId = NumericNodeId(9004, 0) + ref.SourceNodeId = NumericNodeId(9073, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9102, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9073") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8995") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9073, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8995, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9073") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9073, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9073") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2881") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9073, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2881, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9074") - node.BrowseName = ua.QualifiedName.from_string("Id") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9073") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9074, 0) + node.BrowseName = QualifiedName('Id', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9073, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") + attrs.DisplayName = LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -2557,36 +2559,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9074") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9074, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9074") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9074, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9074") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9073") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9074, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9073, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9093") - node.BrowseName = ua.QualifiedName.from_string("AckedState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2881") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=8995") + node.RequestedNewNodeId = NumericNodeId(9093, 0) + node.BrowseName = QualifiedName('AckedState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2881, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(8995, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AckedState") + attrs.DisplayName = LocalizedText("AckedState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -2594,71 +2596,71 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9093") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9094") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9093, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9094, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9093") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9098") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9093, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9098, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9093") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9100") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9093, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9100, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9093") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9101") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9093, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9101, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") - ref.SourceNodeId = ua.NodeId.from_string("i=9093") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9073") + ref.ReferenceTypeId = NumericNodeId(9004, 0) + ref.SourceNodeId = NumericNodeId(9093, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9073, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9093") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8995") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9093, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8995, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9093") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9093, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9093") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2881") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9093, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2881, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9094") - node.BrowseName = ua.QualifiedName.from_string("Id") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9093") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9094, 0) + node.BrowseName = QualifiedName('Id', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9093, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") + attrs.DisplayName = LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -2666,73 +2668,73 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9094") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9094, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9094") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9094, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9094") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9093") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9094, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9093, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9098") - node.BrowseName = ua.QualifiedName.from_string("TransitionTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9093") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9098, 0) + node.BrowseName = QualifiedName('TransitionTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9093, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("TransitionTime") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9093") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9093, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9100") - node.BrowseName = ua.QualifiedName.from_string("TrueState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9093") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9100, 0) + node.BrowseName = QualifiedName('TrueState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9093, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TrueState") + attrs.DisplayName = LocalizedText("TrueState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'Acknowledged')], ua.VariantType.LocalizedText) attrs.ValueRank = -1 @@ -2741,36 +2743,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9100") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9100, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9100") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9100, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9100") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9093") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9100, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9093, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9101") - node.BrowseName = ua.QualifiedName.from_string("FalseState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9093") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9101, 0) + node.BrowseName = QualifiedName('FalseState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9093, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("FalseState") + attrs.DisplayName = LocalizedText("FalseState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'Unacknowledged')], ua.VariantType.LocalizedText) attrs.ValueRank = -1 @@ -2779,36 +2781,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9101") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9101, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9101") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9101, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9101") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9093") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9101, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9093, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9102") - node.BrowseName = ua.QualifiedName.from_string("ConfirmedState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2881") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=8995") + node.RequestedNewNodeId = NumericNodeId(9102, 0) + node.BrowseName = QualifiedName('ConfirmedState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2881, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(8995, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ConfirmedState") + attrs.DisplayName = LocalizedText("ConfirmedState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -2816,71 +2818,71 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9102") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9103") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9102, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9103, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9102") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9107") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9102, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9107, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9102") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9109") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9102, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9109, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9102") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9110") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9102, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9110, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") - ref.SourceNodeId = ua.NodeId.from_string("i=9102") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9073") + ref.ReferenceTypeId = NumericNodeId(9004, 0) + ref.SourceNodeId = NumericNodeId(9102, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9073, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9102") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8995") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9102, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8995, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9102") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9102, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9102") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2881") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9102, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2881, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9103") - node.BrowseName = ua.QualifiedName.from_string("Id") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9102") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9103, 0) + node.BrowseName = QualifiedName('Id', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9102, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") + attrs.DisplayName = LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -2888,73 +2890,73 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9103") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9103, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9103") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9103, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9103") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9102") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9103, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9102, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9107") - node.BrowseName = ua.QualifiedName.from_string("TransitionTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9102") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9107, 0) + node.BrowseName = QualifiedName('TransitionTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9102, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("TransitionTime") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9107") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9107, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9107") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9107, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9107") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9102") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9107, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9102, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9109") - node.BrowseName = ua.QualifiedName.from_string("TrueState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9102") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9109, 0) + node.BrowseName = QualifiedName('TrueState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9102, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TrueState") + attrs.DisplayName = LocalizedText("TrueState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'Confirmed')], ua.VariantType.LocalizedText) attrs.ValueRank = -1 @@ -2963,36 +2965,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9109") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9109, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9109") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9109, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9109") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9102") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9109, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9102, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9110") - node.BrowseName = ua.QualifiedName.from_string("FalseState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9102") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9110, 0) + node.BrowseName = QualifiedName('FalseState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9102, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("FalseState") + attrs.DisplayName = LocalizedText("FalseState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'Unconfirmed')], ua.VariantType.LocalizedText) attrs.ValueRank = -1 @@ -3001,88 +3003,88 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9110") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9110, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9110") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9110, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9110") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9102") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9110, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9102, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9111") - node.BrowseName = ua.QualifiedName.from_string("Acknowledge") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=2881") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(9111, 0) + node.BrowseName = QualifiedName('Acknowledge', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(2881, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("Acknowledge") + attrs.DisplayName = LocalizedText("Acknowledge") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9111") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9112") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9111, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9112, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") - ref.SourceNodeId = ua.NodeId.from_string("i=9111") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8944") + ref.ReferenceTypeId = NumericNodeId(3065, 0) + ref.SourceNodeId = NumericNodeId(9111, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8944, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9111") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9111, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9111") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2881") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9111, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2881, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9112") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9111") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9112, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9111, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'EventId' - extobj.DataType = ua.NodeId.from_string("i=15") + extobj.DataType = NumericNodeId(15, 0) extobj.ValueRank = -1 extobj.Description.Text = 'The identifier for the event to comment.' value.append(extobj) extobj = ua.Argument() extobj.Name = 'Comment' - extobj.DataType = ua.NodeId.from_string("i=21") + extobj.DataType = NumericNodeId(21, 0) extobj.ValueRank = -1 extobj.Description.Text = 'The comment to add to the condition.' value.append(extobj) @@ -3093,88 +3095,88 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9112") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9112, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9112") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9112, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9112") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9111") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9112, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9111, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9113") - node.BrowseName = ua.QualifiedName.from_string("Confirm") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=2881") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(9113, 0) + node.BrowseName = QualifiedName('Confirm', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(2881, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("Confirm") + attrs.DisplayName = LocalizedText("Confirm") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9113") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9114") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9113, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9114, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") - ref.SourceNodeId = ua.NodeId.from_string("i=9113") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8961") + ref.ReferenceTypeId = NumericNodeId(3065, 0) + ref.SourceNodeId = NumericNodeId(9113, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8961, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9113") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9113, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9113") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2881") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9113, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2881, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9114") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9113") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9114, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9113, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'EventId' - extobj.DataType = ua.NodeId.from_string("i=15") + extobj.DataType = NumericNodeId(15, 0) extobj.ValueRank = -1 extobj.Description.Text = 'The identifier for the event to comment.' value.append(extobj) extobj = ua.Argument() extobj.Name = 'Comment' - extobj.DataType = ua.NodeId.from_string("i=21") + extobj.DataType = NumericNodeId(21, 0) extobj.ValueRank = -1 extobj.Description.Text = 'The comment to add to the condition.' value.append(extobj) @@ -3185,232 +3187,232 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9114") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9114, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9114") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9114, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9114") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9113") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9114, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9113, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2915") - node.BrowseName = ua.QualifiedName.from_string("AlarmConditionType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2881") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2915, 0) + node.BrowseName = QualifiedName('AlarmConditionType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2881, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AlarmConditionType") + attrs.DisplayName = LocalizedText("AlarmConditionType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2915") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9118") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2915, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9118, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2915") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9160") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2915, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9160, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2915") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11120") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2915, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11120, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2915") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9169") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2915, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9169, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2915") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16371") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2915, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16371, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2915") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9178") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2915, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9178, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2915") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9215") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2915, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9215, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2915") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9216") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2915, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9216, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2915") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16389") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2915, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16389, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2915") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16390") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2915, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16390, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2915") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16380") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2915, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16380, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2915") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16395") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2915, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16395, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2915") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16396") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2915, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16396, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2915") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16397") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2915, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16397, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2915") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16398") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2915, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16398, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2915") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=18190") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2915, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(18190, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=16361") - ref.SourceNodeId = ua.NodeId.from_string("i=2915") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16399") + ref.ReferenceTypeId = NumericNodeId(16361, 0) + ref.SourceNodeId = NumericNodeId(2915, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16399, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2915") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16400") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2915, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16400, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2915") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16401") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2915, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16401, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2915") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16402") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2915, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16402, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2915") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16403") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2915, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16403, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2915") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17868") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2915, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17868, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2915") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17869") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2915, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17869, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2915") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17870") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2915, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17870, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2915") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=18199") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2915, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(18199, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2915") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2881") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2915, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2881, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9118") - node.BrowseName = ua.QualifiedName.from_string("EnabledState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2915") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=8995") + node.RequestedNewNodeId = NumericNodeId(9118, 0) + node.BrowseName = QualifiedName('EnabledState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2915, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(8995, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EnabledState") + attrs.DisplayName = LocalizedText("EnabledState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -3418,64 +3420,64 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9118") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9119") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9118, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9119, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") - ref.SourceNodeId = ua.NodeId.from_string("i=9118") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9160") + ref.ReferenceTypeId = NumericNodeId(9004, 0) + ref.SourceNodeId = NumericNodeId(9118, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9160, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") - ref.SourceNodeId = ua.NodeId.from_string("i=9118") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9169") + ref.ReferenceTypeId = NumericNodeId(9004, 0) + ref.SourceNodeId = NumericNodeId(9118, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9169, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") - ref.SourceNodeId = ua.NodeId.from_string("i=9118") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9178") + ref.ReferenceTypeId = NumericNodeId(9004, 0) + ref.SourceNodeId = NumericNodeId(9118, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9178, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9118") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8995") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9118, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8995, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9118") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9118, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9118") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2915") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9118, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2915, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9119") - node.BrowseName = ua.QualifiedName.from_string("Id") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9118") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9119, 0) + node.BrowseName = QualifiedName('Id', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9118, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") + attrs.DisplayName = LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -3483,36 +3485,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9119") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9119, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9119") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9119, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9119") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9118") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9119, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9118, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9160") - node.BrowseName = ua.QualifiedName.from_string("ActiveState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2915") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=8995") + node.RequestedNewNodeId = NumericNodeId(9160, 0) + node.BrowseName = QualifiedName('ActiveState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2915, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(8995, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ActiveState") + attrs.DisplayName = LocalizedText("ActiveState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -3520,85 +3522,85 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9160") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9161") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9160, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9161, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9160") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9164") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9160, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9164, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9160") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9165") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9160, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9165, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9160") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9166") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9160, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9166, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9160") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9167") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9160, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9167, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9160") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9168") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9160, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9168, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") - ref.SourceNodeId = ua.NodeId.from_string("i=9160") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9118") + ref.ReferenceTypeId = NumericNodeId(9004, 0) + ref.SourceNodeId = NumericNodeId(9160, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9118, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9160") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8995") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9160, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8995, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9160") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9160, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9160") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2915") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9160, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2915, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9161") - node.BrowseName = ua.QualifiedName.from_string("Id") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9160") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9161, 0) + node.BrowseName = QualifiedName('Id', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9160, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") + attrs.DisplayName = LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -3606,36 +3608,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9161") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9161, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9161") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9161, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9161") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9160") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9161, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9160, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9164") - node.BrowseName = ua.QualifiedName.from_string("EffectiveDisplayName") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9160") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9164, 0) + node.BrowseName = QualifiedName('EffectiveDisplayName', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9160, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EffectiveDisplayName") + attrs.DisplayName = LocalizedText("EffectiveDisplayName") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -3643,110 +3645,110 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9164") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9164, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9164") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9164, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9164") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9160") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9164, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9160, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9165") - node.BrowseName = ua.QualifiedName.from_string("TransitionTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9160") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9165, 0) + node.BrowseName = QualifiedName('TransitionTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9160, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("TransitionTime") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9165") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9165, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9165") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9165, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9165") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9160") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9165, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9160, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9166") - node.BrowseName = ua.QualifiedName.from_string("EffectiveTransitionTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9160") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9166, 0) + node.BrowseName = QualifiedName('EffectiveTransitionTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9160, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EffectiveTransitionTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("EffectiveTransitionTime") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9166") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9166, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9166") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9166, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9166") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9160") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9166, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9160, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9167") - node.BrowseName = ua.QualifiedName.from_string("TrueState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9160") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9167, 0) + node.BrowseName = QualifiedName('TrueState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9160, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TrueState") + attrs.DisplayName = LocalizedText("TrueState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'Active')], ua.VariantType.LocalizedText) attrs.ValueRank = -1 @@ -3755,36 +3757,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9167") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9167, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9167") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9167, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9167") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9160") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9167, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9160, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9168") - node.BrowseName = ua.QualifiedName.from_string("FalseState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9160") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9168, 0) + node.BrowseName = QualifiedName('FalseState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9160, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("FalseState") + attrs.DisplayName = LocalizedText("FalseState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'Inactive')], ua.VariantType.LocalizedText) attrs.ValueRank = -1 @@ -3793,36 +3795,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9168") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9168, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9168") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9168, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9168") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9160") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9168, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9160, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11120") - node.BrowseName = ua.QualifiedName.from_string("InputNode") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2915") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11120, 0) + node.BrowseName = QualifiedName('InputNode', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2915, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputNode") + attrs.DisplayName = LocalizedText("InputNode") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -3830,36 +3832,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11120") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11120, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11120") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11120, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11120") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2915") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11120, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2915, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9169") - node.BrowseName = ua.QualifiedName.from_string("SuppressedState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2915") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=8995") + node.RequestedNewNodeId = NumericNodeId(9169, 0) + node.BrowseName = QualifiedName('SuppressedState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2915, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(8995, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SuppressedState") + attrs.DisplayName = LocalizedText("SuppressedState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -3867,71 +3869,71 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9169") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9170") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9169, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9170, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9169") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9174") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9169, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9174, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9169") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9176") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9169, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9176, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9169") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9177") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9169, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9177, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") - ref.SourceNodeId = ua.NodeId.from_string("i=9169") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9118") + ref.ReferenceTypeId = NumericNodeId(9004, 0) + ref.SourceNodeId = NumericNodeId(9169, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9118, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9169") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8995") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9169, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8995, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9169") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9169, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9169") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2915") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9169, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2915, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9170") - node.BrowseName = ua.QualifiedName.from_string("Id") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9169") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9170, 0) + node.BrowseName = QualifiedName('Id', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9169, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") + attrs.DisplayName = LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -3939,73 +3941,73 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9170") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9170, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9170") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9170, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9170") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9169") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9170, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9169, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9174") - node.BrowseName = ua.QualifiedName.from_string("TransitionTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9169") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9174, 0) + node.BrowseName = QualifiedName('TransitionTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9169, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("TransitionTime") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9174") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9174, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9174") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9174, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9174") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9169") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9174, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9169, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9176") - node.BrowseName = ua.QualifiedName.from_string("TrueState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9169") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9176, 0) + node.BrowseName = QualifiedName('TrueState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9169, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TrueState") + attrs.DisplayName = LocalizedText("TrueState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'Suppressed')], ua.VariantType.LocalizedText) attrs.ValueRank = -1 @@ -4014,36 +4016,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9176") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9176, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9176") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9176, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9176") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9169") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9176, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9169, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9177") - node.BrowseName = ua.QualifiedName.from_string("FalseState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9169") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9177, 0) + node.BrowseName = QualifiedName('FalseState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9169, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("FalseState") + attrs.DisplayName = LocalizedText("FalseState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'Unsuppressed')], ua.VariantType.LocalizedText) attrs.ValueRank = -1 @@ -4052,36 +4054,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9177") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9177, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9177") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9177, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9177") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9169") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9177, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9169, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16371") - node.BrowseName = ua.QualifiedName.from_string("OutOfServiceState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2915") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=8995") + node.RequestedNewNodeId = NumericNodeId(16371, 0) + node.BrowseName = QualifiedName('OutOfServiceState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2915, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(8995, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OutOfServiceState") + attrs.DisplayName = LocalizedText("OutOfServiceState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -4089,64 +4091,64 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16371") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16372") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16371, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16372, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16371") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16376") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16371, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16376, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16371") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16378") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16371, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16378, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16371") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16379") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16371, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16379, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16371") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8995") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16371, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8995, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16371") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16371, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16371") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2915") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16371, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2915, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16372") - node.BrowseName = ua.QualifiedName.from_string("Id") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16371") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16372, 0) + node.BrowseName = QualifiedName('Id', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16371, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") + attrs.DisplayName = LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -4154,73 +4156,73 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16372") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16372, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16372") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16372, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16372") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16371") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16372, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16371, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16376") - node.BrowseName = ua.QualifiedName.from_string("TransitionTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16371") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16376, 0) + node.BrowseName = QualifiedName('TransitionTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16371, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("TransitionTime") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16376") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16376, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16376") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16376, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16376") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16371") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16376, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16371, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16378") - node.BrowseName = ua.QualifiedName.from_string("TrueState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16371") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16378, 0) + node.BrowseName = QualifiedName('TrueState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16371, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TrueState") + attrs.DisplayName = LocalizedText("TrueState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'Out of Service')], ua.VariantType.LocalizedText) attrs.ValueRank = -1 @@ -4229,36 +4231,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16378") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16378, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16378") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16378, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16378") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16371") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16378, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16371, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16379") - node.BrowseName = ua.QualifiedName.from_string("FalseState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16371") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16379, 0) + node.BrowseName = QualifiedName('FalseState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16371, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("FalseState") + attrs.DisplayName = LocalizedText("FalseState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'In Service')], ua.VariantType.LocalizedText) attrs.ValueRank = -1 @@ -4267,121 +4269,121 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16379") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16379, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16379") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16379, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16379") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16371") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16379, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16371, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9178") - node.BrowseName = ua.QualifiedName.from_string("ShelvingState") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2915") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2929") + node.RequestedNewNodeId = NumericNodeId(9178, 0) + node.BrowseName = QualifiedName('ShelvingState', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2915, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2929, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("ShelvingState") + attrs.DisplayName = LocalizedText("ShelvingState") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9178") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9179") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9178, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9179, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9178") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9184") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9178, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9184, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9178") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9189") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9178, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9189, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9178") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9213") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9178, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9213, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9178") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9211") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9178, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9211, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9178") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9212") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9178, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9212, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") - ref.SourceNodeId = ua.NodeId.from_string("i=9178") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9118") + ref.ReferenceTypeId = NumericNodeId(9004, 0) + ref.SourceNodeId = NumericNodeId(9178, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9118, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9178") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2929") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9178, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2929, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9178") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9178, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9178") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2915") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9178, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2915, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9179") - node.BrowseName = ua.QualifiedName.from_string("CurrentState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9178") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2760") + node.RequestedNewNodeId = NumericNodeId(9179, 0) + node.BrowseName = QualifiedName('CurrentState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9178, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2760, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentState") + attrs.DisplayName = LocalizedText("CurrentState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -4389,43 +4391,43 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9179") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9180") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9179, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9180, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9179") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2760") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9179, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2760, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9179") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9179, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9179") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9178") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9179, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9178, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9180") - node.BrowseName = ua.QualifiedName.from_string("Id") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9179") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9180, 0) + node.BrowseName = QualifiedName('Id', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9179, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") + attrs.DisplayName = LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -4433,36 +4435,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9180") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9180, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9180") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9180, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9180") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9179") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9180, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9179, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9184") - node.BrowseName = ua.QualifiedName.from_string("LastTransition") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9178") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2767") + node.RequestedNewNodeId = NumericNodeId(9184, 0) + node.BrowseName = QualifiedName('LastTransition', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9178, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2767, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LastTransition") + attrs.DisplayName = LocalizedText("LastTransition") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -4470,50 +4472,50 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9184") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9185") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9184, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9185, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9184") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9188") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9184, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9188, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9184") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2767") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9184, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2767, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9184") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9184, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9184") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9178") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9184, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9178, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9185") - node.BrowseName = ua.QualifiedName.from_string("Id") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9184") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9185, 0) + node.BrowseName = QualifiedName('Id', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9184, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") + attrs.DisplayName = LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -4521,156 +4523,156 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9185") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9185, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9185") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9185, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9185") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9184") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9185, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9184, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9188") - node.BrowseName = ua.QualifiedName.from_string("TransitionTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9184") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9188, 0) + node.BrowseName = QualifiedName('TransitionTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9184, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("TransitionTime") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9188") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9188, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9188") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9188, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9188") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9184") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9188, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9184, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9189") - node.BrowseName = ua.QualifiedName.from_string("UnshelveTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9178") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9189, 0) + node.BrowseName = QualifiedName('UnshelveTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9178, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("UnshelveTime") - attrs.DataType = ua.NodeId.from_string("i=290") + attrs.DisplayName = LocalizedText("UnshelveTime") + attrs.DataType = NumericNodeId(290, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9189") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9189, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9189") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9189, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9189") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9178") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9189, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9178, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9213") - node.BrowseName = ua.QualifiedName.from_string("TimedShelve") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=9178") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(9213, 0) + node.BrowseName = QualifiedName('TimedShelve', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(9178, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("TimedShelve") + attrs.DisplayName = LocalizedText("TimedShelve") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9213") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9214") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9213, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9214, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") - ref.SourceNodeId = ua.NodeId.from_string("i=9213") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11093") + ref.ReferenceTypeId = NumericNodeId(3065, 0) + ref.SourceNodeId = NumericNodeId(9213, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11093, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9213") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9213, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9213") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9178") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9213, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9178, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9214") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9213") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9214, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9213, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'ShelvingTime' - extobj.DataType = ua.NodeId.from_string("i=290") + extobj.DataType = NumericNodeId(290, 0) extobj.ValueRank = -1 extobj.Description.Text = 'If not 0, this parameter specifies a fixed time for which the Alarm is to be shelved.' value.append(extobj) @@ -4681,104 +4683,104 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9214") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9214, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9214") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9214, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9214") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9213") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9214, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9213, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9211") - node.BrowseName = ua.QualifiedName.from_string("Unshelve") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=9178") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(9211, 0) + node.BrowseName = QualifiedName('Unshelve', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(9178, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("Unshelve") + attrs.DisplayName = LocalizedText("Unshelve") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") - ref.SourceNodeId = ua.NodeId.from_string("i=9211") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11093") + ref.ReferenceTypeId = NumericNodeId(3065, 0) + ref.SourceNodeId = NumericNodeId(9211, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11093, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9211") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9211, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9211") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9178") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9211, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9178, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9212") - node.BrowseName = ua.QualifiedName.from_string("OneShotShelve") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=9178") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(9212, 0) + node.BrowseName = QualifiedName('OneShotShelve', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(9178, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("OneShotShelve") + attrs.DisplayName = LocalizedText("OneShotShelve") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") - ref.SourceNodeId = ua.NodeId.from_string("i=9212") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11093") + ref.ReferenceTypeId = NumericNodeId(3065, 0) + ref.SourceNodeId = NumericNodeId(9212, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11093, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9212") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9212, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9212") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9178") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9212, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9178, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9215") - node.BrowseName = ua.QualifiedName.from_string("SuppressedOrShelved") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2915") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9215, 0) + node.BrowseName = QualifiedName('SuppressedOrShelved', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2915, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SuppressedOrShelved") + attrs.DisplayName = LocalizedText("SuppressedOrShelved") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -4786,73 +4788,73 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9215") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9215, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9215") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9215, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9215") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2915") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9215, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2915, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9216") - node.BrowseName = ua.QualifiedName.from_string("MaxTimeShelved") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2915") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9216, 0) + node.BrowseName = QualifiedName('MaxTimeShelved', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2915, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MaxTimeShelved") - attrs.DataType = ua.NodeId.from_string("i=290") + attrs.DisplayName = LocalizedText("MaxTimeShelved") + attrs.DataType = NumericNodeId(290, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9216") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9216, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9216") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9216, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9216") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2915") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9216, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2915, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16389") - node.BrowseName = ua.QualifiedName.from_string("AudibleEnabled") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2915") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16389, 0) + node.BrowseName = QualifiedName('AudibleEnabled', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2915, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AudibleEnabled") + attrs.DisplayName = LocalizedText("AudibleEnabled") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -4860,73 +4862,73 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16389") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16389, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16389") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16389, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16389") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2915") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16389, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2915, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16390") - node.BrowseName = ua.QualifiedName.from_string("AudibleSound") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2915") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=17986") + node.RequestedNewNodeId = NumericNodeId(16390, 0) + node.BrowseName = QualifiedName('AudibleSound', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2915, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(17986, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AudibleSound") - attrs.DataType = ua.NodeId.from_string("i=16307") + attrs.DisplayName = LocalizedText("AudibleSound") + attrs.DataType = NumericNodeId(16307, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16390") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17986") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16390, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17986, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16390") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16390, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16390") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2915") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16390, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2915, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16380") - node.BrowseName = ua.QualifiedName.from_string("SilenceState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2915") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=8995") + node.RequestedNewNodeId = NumericNodeId(16380, 0) + node.BrowseName = QualifiedName('SilenceState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2915, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(8995, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SilenceState") + attrs.DisplayName = LocalizedText("SilenceState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -4934,64 +4936,64 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16380") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16381") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16380, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16381, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16380") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16385") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16380, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16385, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16380") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16387") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16380, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16387, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16380") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16388") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16380, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16388, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16380") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8995") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16380, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8995, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16380") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16380, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16380") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2915") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16380, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2915, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16381") - node.BrowseName = ua.QualifiedName.from_string("Id") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16380") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16381, 0) + node.BrowseName = QualifiedName('Id', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16380, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") + attrs.DisplayName = LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -4999,73 +5001,73 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16381") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16381, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16381") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16381, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16381") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16380") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16381, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16380, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16385") - node.BrowseName = ua.QualifiedName.from_string("TransitionTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16380") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16385, 0) + node.BrowseName = QualifiedName('TransitionTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16380, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("TransitionTime") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16385") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16385, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16385") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16385, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16385") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16380") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16385, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16380, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16387") - node.BrowseName = ua.QualifiedName.from_string("TrueState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16380") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16387, 0) + node.BrowseName = QualifiedName('TrueState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16380, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TrueState") + attrs.DisplayName = LocalizedText("TrueState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'Silenced')], ua.VariantType.LocalizedText) attrs.ValueRank = -1 @@ -5074,36 +5076,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16387") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16387, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16387") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16387, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16387") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16380") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16387, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16380, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16388") - node.BrowseName = ua.QualifiedName.from_string("FalseState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16380") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16388, 0) + node.BrowseName = QualifiedName('FalseState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16380, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("FalseState") + attrs.DisplayName = LocalizedText("FalseState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'Not Silenced')], ua.VariantType.LocalizedText) attrs.ValueRank = -1 @@ -5112,110 +5114,110 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16388") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16388, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16388") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16388, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16388") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16380") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16388, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16380, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16395") - node.BrowseName = ua.QualifiedName.from_string("OnDelay") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2915") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16395, 0) + node.BrowseName = QualifiedName('OnDelay', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2915, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OnDelay") - attrs.DataType = ua.NodeId.from_string("i=290") + attrs.DisplayName = LocalizedText("OnDelay") + attrs.DataType = NumericNodeId(290, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16395") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16395, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16395") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16395, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16395") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2915") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16395, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2915, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16396") - node.BrowseName = ua.QualifiedName.from_string("OffDelay") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2915") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16396, 0) + node.BrowseName = QualifiedName('OffDelay', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2915, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("OffDelay") - attrs.DataType = ua.NodeId.from_string("i=290") + attrs.DisplayName = LocalizedText("OffDelay") + attrs.DataType = NumericNodeId(290, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16396") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16396, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16396") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16396, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16396") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2915") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16396, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2915, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16397") - node.BrowseName = ua.QualifiedName.from_string("FirstInGroupFlag") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2915") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16397, 0) + node.BrowseName = QualifiedName('FirstInGroupFlag', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2915, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("FirstInGroupFlag") + attrs.DisplayName = LocalizedText("FirstInGroupFlag") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -5223,72 +5225,72 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16397") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16397, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16397") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16397, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16397") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2915") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16397, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2915, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16398") - node.BrowseName = ua.QualifiedName.from_string("FirstInGroup") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2915") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=16405") + node.RequestedNewNodeId = NumericNodeId(16398, 0) + node.BrowseName = QualifiedName('FirstInGroup', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2915, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(16405, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("FirstInGroup") + attrs.DisplayName = LocalizedText("FirstInGroup") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16398") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16405") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16398, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16405, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16398") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16398, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16398") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2915") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16398, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2915, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=18190") - node.BrowseName = ua.QualifiedName.from_string("LatchedState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2915") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=8995") + node.RequestedNewNodeId = NumericNodeId(18190, 0) + node.BrowseName = QualifiedName('LatchedState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2915, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(8995, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LatchedState") + attrs.DisplayName = LocalizedText("LatchedState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -5296,64 +5298,64 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=18190") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=18191") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(18190, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(18191, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=18190") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=18195") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(18190, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(18195, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=18190") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=18197") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(18190, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(18197, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=18190") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=18198") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(18190, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(18198, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=18190") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8995") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(18190, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8995, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=18190") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(18190, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=18190") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2915") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(18190, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2915, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=18191") - node.BrowseName = ua.QualifiedName.from_string("Id") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=18190") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(18191, 0) + node.BrowseName = QualifiedName('Id', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(18190, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") + attrs.DisplayName = LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -5361,73 +5363,73 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=18191") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(18191, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=18191") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(18191, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=18191") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=18190") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(18191, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(18190, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=18195") - node.BrowseName = ua.QualifiedName.from_string("TransitionTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=18190") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(18195, 0) + node.BrowseName = QualifiedName('TransitionTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(18190, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("TransitionTime") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=18195") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(18195, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=18195") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(18195, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=18195") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=18190") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(18195, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(18190, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=18197") - node.BrowseName = ua.QualifiedName.from_string("TrueState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=18190") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(18197, 0) + node.BrowseName = QualifiedName('TrueState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(18190, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TrueState") + attrs.DisplayName = LocalizedText("TrueState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'Latched')], ua.VariantType.LocalizedText) attrs.ValueRank = -1 @@ -5436,36 +5438,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=18197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(18197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=18197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(18197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=18197") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=18190") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(18197, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(18190, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=18198") - node.BrowseName = ua.QualifiedName.from_string("FalseState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=18190") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(18198, 0) + node.BrowseName = QualifiedName('FalseState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(18190, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("FalseState") + attrs.DisplayName = LocalizedText("FalseState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'Unlatched')], ua.VariantType.LocalizedText) attrs.ValueRank = -1 @@ -5474,109 +5476,109 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=18198") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(18198, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=18198") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(18198, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=18198") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=18190") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(18198, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(18190, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16399") - node.BrowseName = ua.QualifiedName.from_string("") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2915") - node.ReferenceTypeId = ua.NodeId.from_string("i=16361") - node.TypeDefinition = ua.NodeId.from_string("i=16405") + node.RequestedNewNodeId = NumericNodeId(16399, 0) + node.BrowseName = QualifiedName('', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2915, 0) + node.ReferenceTypeId = NumericNodeId(16361, 0) + node.TypeDefinition = NumericNodeId(16405, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("") + attrs.DisplayName = LocalizedText("") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16399") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16405") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16399, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16405, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16399") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11508") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16399, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11508, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=16361") - ref.SourceNodeId = ua.NodeId.from_string("i=16399") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2915") + ref.ReferenceTypeId = NumericNodeId(16361, 0) + ref.SourceNodeId = NumericNodeId(16399, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2915, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16400") - node.BrowseName = ua.QualifiedName.from_string("ReAlarmTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2915") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16400, 0) + node.BrowseName = QualifiedName('ReAlarmTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2915, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ReAlarmTime") - attrs.DataType = ua.NodeId.from_string("i=290") + attrs.DisplayName = LocalizedText("ReAlarmTime") + attrs.DataType = NumericNodeId(290, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16400") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16400, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16400") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16400, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16400") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2915") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16400, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2915, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16401") - node.BrowseName = ua.QualifiedName.from_string("ReAlarmRepeatCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2915") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16401, 0) + node.BrowseName = QualifiedName('ReAlarmRepeatCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2915, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ReAlarmRepeatCount") + attrs.DisplayName = LocalizedText("ReAlarmRepeatCount") attrs.DataType = ua.NodeId(ua.ObjectIds.Int16) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -5584,494 +5586,494 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16401") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16401, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16401") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16401, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16401") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2915") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16401, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2915, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16402") - node.BrowseName = ua.QualifiedName.from_string("Silence") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=2915") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16402, 0) + node.BrowseName = QualifiedName('Silence', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(2915, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("Silence") + attrs.DisplayName = LocalizedText("Silence") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") - ref.SourceNodeId = ua.NodeId.from_string("i=16402") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17242") + ref.ReferenceTypeId = NumericNodeId(3065, 0) + ref.SourceNodeId = NumericNodeId(16402, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17242, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16402") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16402, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16402") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2915") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16402, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2915, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16403") - node.BrowseName = ua.QualifiedName.from_string("Suppress") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=2915") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16403, 0) + node.BrowseName = QualifiedName('Suppress', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(2915, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("Suppress") + attrs.DisplayName = LocalizedText("Suppress") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") - ref.SourceNodeId = ua.NodeId.from_string("i=16403") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17225") + ref.ReferenceTypeId = NumericNodeId(3065, 0) + ref.SourceNodeId = NumericNodeId(16403, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17225, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16403") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16403, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16403") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2915") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16403, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2915, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17868") - node.BrowseName = ua.QualifiedName.from_string("Unsuppress") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=2915") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(17868, 0) + node.BrowseName = QualifiedName('Unsuppress', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(2915, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("Unsuppress") + attrs.DisplayName = LocalizedText("Unsuppress") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") - ref.SourceNodeId = ua.NodeId.from_string("i=17868") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17225") + ref.ReferenceTypeId = NumericNodeId(3065, 0) + ref.SourceNodeId = NumericNodeId(17868, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17225, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=17868") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(17868, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=17868") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2915") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(17868, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2915, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17869") - node.BrowseName = ua.QualifiedName.from_string("RemoveFromService") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=2915") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(17869, 0) + node.BrowseName = QualifiedName('RemoveFromService', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(2915, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("RemoveFromService") + attrs.DisplayName = LocalizedText("RemoveFromService") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") - ref.SourceNodeId = ua.NodeId.from_string("i=17869") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17259") + ref.ReferenceTypeId = NumericNodeId(3065, 0) + ref.SourceNodeId = NumericNodeId(17869, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17259, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=17869") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(17869, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=17869") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2915") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(17869, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2915, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17870") - node.BrowseName = ua.QualifiedName.from_string("PlaceInService") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=2915") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(17870, 0) + node.BrowseName = QualifiedName('PlaceInService', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(2915, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("PlaceInService") + attrs.DisplayName = LocalizedText("PlaceInService") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") - ref.SourceNodeId = ua.NodeId.from_string("i=17870") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17259") + ref.ReferenceTypeId = NumericNodeId(3065, 0) + ref.SourceNodeId = NumericNodeId(17870, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17259, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=17870") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(17870, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=17870") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2915") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(17870, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2915, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=18199") - node.BrowseName = ua.QualifiedName.from_string("Reset") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=2915") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(18199, 0) + node.BrowseName = QualifiedName('Reset', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(2915, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("Reset") + attrs.DisplayName = LocalizedText("Reset") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") - ref.SourceNodeId = ua.NodeId.from_string("i=18199") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17259") + ref.ReferenceTypeId = NumericNodeId(3065, 0) + ref.SourceNodeId = NumericNodeId(18199, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17259, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=18199") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(18199, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=18199") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2915") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(18199, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2915, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16405") - node.BrowseName = ua.QualifiedName.from_string("AlarmGroupType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=61") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(16405, 0) + node.BrowseName = QualifiedName('AlarmGroupType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(61, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AlarmGroupType") + attrs.DisplayName = LocalizedText("AlarmGroupType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=16362") - ref.SourceNodeId = ua.NodeId.from_string("i=16405") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16406") + ref.ReferenceTypeId = NumericNodeId(16362, 0) + ref.SourceNodeId = NumericNodeId(16405, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16406, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=16405") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=61") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(16405, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(61, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16406") - node.BrowseName = ua.QualifiedName.from_string("") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=16405") - node.ReferenceTypeId = ua.NodeId.from_string("i=16362") - node.TypeDefinition = ua.NodeId.from_string("i=2915") + node.RequestedNewNodeId = NumericNodeId(16406, 0) + node.BrowseName = QualifiedName('', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(16405, 0) + node.ReferenceTypeId = NumericNodeId(16362, 0) + node.TypeDefinition = NumericNodeId(2915, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("") + attrs.DisplayName = LocalizedText("") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16406") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16407") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16406, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16407, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16406") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16408") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16406, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16408, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16406") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16409") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16406, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16409, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16406") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16410") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16406, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16410, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16406") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16411") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16406, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16411, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16406") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16412") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16406, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16412, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16406") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16413") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16406, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16413, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16406") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16414") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16406, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16414, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16406") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16415") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16406, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16415, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16406") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16416") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16406, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16416, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16406") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16417") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16406, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16417, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16406") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16420") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16406, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16420, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16406") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16421") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16406, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16421, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16406") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16422") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16406, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16422, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16406") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16423") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16406, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16423, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16406") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16432") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16406, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16432, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16406") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16434") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16406, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16434, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16406") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16436") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16406, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16436, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16406") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16438") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16406, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16438, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16406") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16439") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16406, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16439, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16406") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16440") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16406, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16440, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16406") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16441") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16406, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16441, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16406") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16443") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16406, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16443, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16406") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16461") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16406, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16461, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16406") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16465") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16406, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16465, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16406") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16474") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16406, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16474, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16406") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16519") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16406, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16519, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16406") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2915") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16406, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2915, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16406") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11508") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16406, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11508, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=16362") - ref.SourceNodeId = ua.NodeId.from_string("i=16406") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16405") + ref.ReferenceTypeId = NumericNodeId(16362, 0) + ref.SourceNodeId = NumericNodeId(16406, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16405, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16407") - node.BrowseName = ua.QualifiedName.from_string("EventId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16406") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16407, 0) + node.BrowseName = QualifiedName('EventId', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16406, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A globally unique identifier for the event.") - attrs.DisplayName = ua.LocalizedText("EventId") + attrs.Description = LocalizedText("A globally unique identifier for the event.") + attrs.DisplayName = LocalizedText("EventId") attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -6079,37 +6081,37 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16407") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16407, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16407") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16407, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16407") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16406") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16407, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16406, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16408") - node.BrowseName = ua.QualifiedName.from_string("EventType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16406") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16408, 0) + node.BrowseName = QualifiedName('EventType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16406, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The identifier for the event type.") - attrs.DisplayName = ua.LocalizedText("EventType") + attrs.Description = LocalizedText("The identifier for the event type.") + attrs.DisplayName = LocalizedText("EventType") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -6117,37 +6119,37 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16408") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16408, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16408") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16408, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16408") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16406") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16408, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16406, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16409") - node.BrowseName = ua.QualifiedName.from_string("SourceNode") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16406") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16409, 0) + node.BrowseName = QualifiedName('SourceNode', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16406, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("The source of the event.") - attrs.DisplayName = ua.LocalizedText("SourceNode") + attrs.Description = LocalizedText("The source of the event.") + attrs.DisplayName = LocalizedText("SourceNode") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -6155,37 +6157,37 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16409") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16409, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16409") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16409, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16409") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16406") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16409, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16406, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16410") - node.BrowseName = ua.QualifiedName.from_string("SourceName") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16406") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16410, 0) + node.BrowseName = QualifiedName('SourceName', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16406, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A description of the source of the event.") - attrs.DisplayName = ua.LocalizedText("SourceName") + attrs.Description = LocalizedText("A description of the source of the event.") + attrs.DisplayName = LocalizedText("SourceName") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -6193,151 +6195,151 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16410") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16410, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16410") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16410, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16410") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16406") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16410, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16406, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16411") - node.BrowseName = ua.QualifiedName.from_string("Time") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16406") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16411, 0) + node.BrowseName = QualifiedName('Time', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16406, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("When the event occurred.") - attrs.DisplayName = ua.LocalizedText("Time") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.Description = LocalizedText("When the event occurred.") + attrs.DisplayName = LocalizedText("Time") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16411") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16411, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16411") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16411, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16411") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16406") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16411, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16406, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16412") - node.BrowseName = ua.QualifiedName.from_string("ReceiveTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16406") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16412, 0) + node.BrowseName = QualifiedName('ReceiveTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16406, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("When the server received the event from the underlying system.") - attrs.DisplayName = ua.LocalizedText("ReceiveTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.Description = LocalizedText("When the server received the event from the underlying system.") + attrs.DisplayName = LocalizedText("ReceiveTime") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16412") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16412, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16412") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16412, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16412") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16406") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16412, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16406, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16413") - node.BrowseName = ua.QualifiedName.from_string("LocalTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16406") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16413, 0) + node.BrowseName = QualifiedName('LocalTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16406, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("Information about the local time where the event originated.") - attrs.DisplayName = ua.LocalizedText("LocalTime") - attrs.DataType = ua.NodeId.from_string("i=8912") + attrs.Description = LocalizedText("Information about the local time where the event originated.") + attrs.DisplayName = LocalizedText("LocalTime") + attrs.DataType = NumericNodeId(8912, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16413") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16413, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16413") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16413, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16413") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16406") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16413, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16406, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16414") - node.BrowseName = ua.QualifiedName.from_string("Message") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16406") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16414, 0) + node.BrowseName = QualifiedName('Message', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16406, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("A localized description of the event.") - attrs.DisplayName = ua.LocalizedText("Message") + attrs.Description = LocalizedText("A localized description of the event.") + attrs.DisplayName = LocalizedText("Message") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -6345,37 +6347,37 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16414") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16414, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16414") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16414, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16414") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16406") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16414, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16406, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16415") - node.BrowseName = ua.QualifiedName.from_string("Severity") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16406") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16415, 0) + node.BrowseName = QualifiedName('Severity', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16406, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.Description = ua.LocalizedText("Indicates how urgent an event is.") - attrs.DisplayName = ua.LocalizedText("Severity") + attrs.Description = LocalizedText("Indicates how urgent an event is.") + attrs.DisplayName = LocalizedText("Severity") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -6383,36 +6385,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16415") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16415, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16415") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16415, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16415") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16406") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16415, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16406, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16416") - node.BrowseName = ua.QualifiedName.from_string("ConditionClassId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16406") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16416, 0) + node.BrowseName = QualifiedName('ConditionClassId', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16406, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ConditionClassId") + attrs.DisplayName = LocalizedText("ConditionClassId") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -6420,36 +6422,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16416") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16416, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16416") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16416, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16416") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16406") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16416, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16406, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16417") - node.BrowseName = ua.QualifiedName.from_string("ConditionClassName") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16406") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16417, 0) + node.BrowseName = QualifiedName('ConditionClassName', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16406, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ConditionClassName") + attrs.DisplayName = LocalizedText("ConditionClassName") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -6457,36 +6459,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16417") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16417, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16417") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16417, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16417") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16406") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16417, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16406, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16420") - node.BrowseName = ua.QualifiedName.from_string("ConditionName") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16406") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16420, 0) + node.BrowseName = QualifiedName('ConditionName', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16406, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ConditionName") + attrs.DisplayName = LocalizedText("ConditionName") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -6494,36 +6496,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16420") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16420, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16420") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16420, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16420") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16406") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16420, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16406, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16421") - node.BrowseName = ua.QualifiedName.from_string("BranchId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16406") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16421, 0) + node.BrowseName = QualifiedName('BranchId', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16406, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("BranchId") + attrs.DisplayName = LocalizedText("BranchId") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -6531,36 +6533,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16421") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16421, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16421") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16421, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16421") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16406") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16421, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16406, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16422") - node.BrowseName = ua.QualifiedName.from_string("Retain") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16406") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16422, 0) + node.BrowseName = QualifiedName('Retain', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16406, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Retain") + attrs.DisplayName = LocalizedText("Retain") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -6568,36 +6570,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16422") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16422, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16422") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16422, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16422") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16406") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16422, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16406, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16423") - node.BrowseName = ua.QualifiedName.from_string("EnabledState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16406") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=8995") + node.RequestedNewNodeId = NumericNodeId(16423, 0) + node.BrowseName = QualifiedName('EnabledState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16406, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(8995, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EnabledState") + attrs.DisplayName = LocalizedText("EnabledState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -6605,43 +6607,43 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16423") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16424") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16423, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16424, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16423") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8995") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16423, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8995, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16423") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16423, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16423") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16406") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16423, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16406, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16424") - node.BrowseName = ua.QualifiedName.from_string("Id") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16423") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16424, 0) + node.BrowseName = QualifiedName('Id', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16423, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") + attrs.DisplayName = LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -6649,36 +6651,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16424") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16424, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16424") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16424, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16424") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16423") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16424, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16423, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16432") - node.BrowseName = ua.QualifiedName.from_string("Quality") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16406") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=9002") + node.RequestedNewNodeId = NumericNodeId(16432, 0) + node.BrowseName = QualifiedName('Quality', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16406, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(9002, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Quality") + attrs.DisplayName = LocalizedText("Quality") attrs.DataType = ua.NodeId(ua.ObjectIds.StatusCode) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -6686,80 +6688,80 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16432") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16433") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16432, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16433, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16432") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9002") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16432, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9002, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16432") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16432, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16432") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16406") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16432, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16406, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16433") - node.BrowseName = ua.QualifiedName.from_string("SourceTimestamp") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16432") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16433, 0) + node.BrowseName = QualifiedName('SourceTimestamp', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16432, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SourceTimestamp") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("SourceTimestamp") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16433") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16433, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16433") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16433, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16433") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16432") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16433, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16432, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16434") - node.BrowseName = ua.QualifiedName.from_string("LastSeverity") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16406") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=9002") + node.RequestedNewNodeId = NumericNodeId(16434, 0) + node.BrowseName = QualifiedName('LastSeverity', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16406, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(9002, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LastSeverity") + attrs.DisplayName = LocalizedText("LastSeverity") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -6767,80 +6769,80 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16434") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16435") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16434, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16435, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16434") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9002") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16434, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9002, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16434") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16434, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16434") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16406") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16434, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16406, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16435") - node.BrowseName = ua.QualifiedName.from_string("SourceTimestamp") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16434") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16435, 0) + node.BrowseName = QualifiedName('SourceTimestamp', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16434, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SourceTimestamp") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("SourceTimestamp") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16435") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16435, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16435") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16435, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16435") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16434") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16435, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16434, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16436") - node.BrowseName = ua.QualifiedName.from_string("Comment") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16406") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=9002") + node.RequestedNewNodeId = NumericNodeId(16436, 0) + node.BrowseName = QualifiedName('Comment', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16406, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(9002, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Comment") + attrs.DisplayName = LocalizedText("Comment") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -6848,80 +6850,80 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16436") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16437") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16436, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16437, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16436") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9002") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16436, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9002, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16436") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16436, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16436") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16406") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16436, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16406, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16437") - node.BrowseName = ua.QualifiedName.from_string("SourceTimestamp") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16436") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16437, 0) + node.BrowseName = QualifiedName('SourceTimestamp', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16436, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SourceTimestamp") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("SourceTimestamp") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16437") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16437, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16437") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16437, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16437") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16436") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16437, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16436, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16438") - node.BrowseName = ua.QualifiedName.from_string("ClientUserId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16406") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16438, 0) + node.BrowseName = QualifiedName('ClientUserId', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16406, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ClientUserId") + attrs.DisplayName = LocalizedText("ClientUserId") attrs.DataType = ua.NodeId(ua.ObjectIds.String) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -6929,156 +6931,156 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16438") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16438, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16438") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16438, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16438") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16406") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16438, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16406, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16439") - node.BrowseName = ua.QualifiedName.from_string("Disable") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=16406") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16439, 0) + node.BrowseName = QualifiedName('Disable', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(16406, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("Disable") + attrs.DisplayName = LocalizedText("Disable") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") - ref.SourceNodeId = ua.NodeId.from_string("i=16439") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2803") + ref.ReferenceTypeId = NumericNodeId(3065, 0) + ref.SourceNodeId = NumericNodeId(16439, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2803, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16439") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16439, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16439") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16406") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16439, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16406, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16440") - node.BrowseName = ua.QualifiedName.from_string("Enable") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=16406") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16440, 0) + node.BrowseName = QualifiedName('Enable', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(16406, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("Enable") + attrs.DisplayName = LocalizedText("Enable") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") - ref.SourceNodeId = ua.NodeId.from_string("i=16440") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2803") + ref.ReferenceTypeId = NumericNodeId(3065, 0) + ref.SourceNodeId = NumericNodeId(16440, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2803, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16440") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16440, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16440") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16406") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16440, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16406, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16441") - node.BrowseName = ua.QualifiedName.from_string("AddComment") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=16406") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16441, 0) + node.BrowseName = QualifiedName('AddComment', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(16406, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("AddComment") + attrs.DisplayName = LocalizedText("AddComment") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16441") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16442") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16441, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16442, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") - ref.SourceNodeId = ua.NodeId.from_string("i=16441") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2829") + ref.ReferenceTypeId = NumericNodeId(3065, 0) + ref.SourceNodeId = NumericNodeId(16441, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2829, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16441") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16441, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16441") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16406") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16441, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16406, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16442") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16441") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16442, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16441, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'EventId' - extobj.DataType = ua.NodeId.from_string("i=15") + extobj.DataType = NumericNodeId(15, 0) extobj.ValueRank = -1 extobj.Description.Text = 'The identifier for the event to comment.' value.append(extobj) extobj = ua.Argument() extobj.Name = 'Comment' - extobj.DataType = ua.NodeId.from_string("i=21") + extobj.DataType = NumericNodeId(21, 0) extobj.ValueRank = -1 extobj.Description.Text = 'The comment to add to the condition.' value.append(extobj) @@ -7089,36 +7091,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16442") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16442, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16442") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16442, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16442") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16441") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16442, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16441, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16443") - node.BrowseName = ua.QualifiedName.from_string("AckedState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16406") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=8995") + node.RequestedNewNodeId = NumericNodeId(16443, 0) + node.BrowseName = QualifiedName('AckedState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16406, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(8995, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AckedState") + attrs.DisplayName = LocalizedText("AckedState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -7126,43 +7128,43 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16443") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16444") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16443, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16444, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16443") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8995") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16443, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8995, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16443") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16443, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16443") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16406") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16443, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16406, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16444") - node.BrowseName = ua.QualifiedName.from_string("Id") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16443") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16444, 0) + node.BrowseName = QualifiedName('Id', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16443, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") + attrs.DisplayName = LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -7170,88 +7172,88 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16444") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16444, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16444") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16444, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16444") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16443") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16444, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16443, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16461") - node.BrowseName = ua.QualifiedName.from_string("Acknowledge") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=16406") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(16461, 0) + node.BrowseName = QualifiedName('Acknowledge', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(16406, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("Acknowledge") + attrs.DisplayName = LocalizedText("Acknowledge") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16461") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16462") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16461, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16462, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") - ref.SourceNodeId = ua.NodeId.from_string("i=16461") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8944") + ref.ReferenceTypeId = NumericNodeId(3065, 0) + ref.SourceNodeId = NumericNodeId(16461, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8944, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16461") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16461, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16461") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16406") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16461, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16406, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16462") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16461") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16462, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16461, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'EventId' - extobj.DataType = ua.NodeId.from_string("i=15") + extobj.DataType = NumericNodeId(15, 0) extobj.ValueRank = -1 extobj.Description.Text = 'The identifier for the event to comment.' value.append(extobj) extobj = ua.Argument() extobj.Name = 'Comment' - extobj.DataType = ua.NodeId.from_string("i=21") + extobj.DataType = NumericNodeId(21, 0) extobj.ValueRank = -1 extobj.Description.Text = 'The comment to add to the condition.' value.append(extobj) @@ -7262,36 +7264,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16462") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16462, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16462") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16462, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16462") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16461") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16462, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16461, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16465") - node.BrowseName = ua.QualifiedName.from_string("ActiveState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16406") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=8995") + node.RequestedNewNodeId = NumericNodeId(16465, 0) + node.BrowseName = QualifiedName('ActiveState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16406, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(8995, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ActiveState") + attrs.DisplayName = LocalizedText("ActiveState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -7299,43 +7301,43 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16465") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16466") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16465, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16466, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16465") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8995") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16465, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8995, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16465") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16465, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=16465") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16406") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(16465, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16406, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16466") - node.BrowseName = ua.QualifiedName.from_string("Id") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16465") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16466, 0) + node.BrowseName = QualifiedName('Id', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16465, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") + attrs.DisplayName = LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -7343,36 +7345,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16466") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16466, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16466") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16466, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16466") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16465") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16466, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16465, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16474") - node.BrowseName = ua.QualifiedName.from_string("InputNode") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16406") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16474, 0) + node.BrowseName = QualifiedName('InputNode', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16406, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputNode") + attrs.DisplayName = LocalizedText("InputNode") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -7380,36 +7382,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16474") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16474, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16474") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16474, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16474") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16406") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16474, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16406, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16519") - node.BrowseName = ua.QualifiedName.from_string("SuppressedOrShelved") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=16406") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16519, 0) + node.BrowseName = QualifiedName('SuppressedOrShelved', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(16406, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SuppressedOrShelved") + attrs.DisplayName = LocalizedText("SuppressedOrShelved") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -7417,249 +7419,249 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16519") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16519, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16519") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16519, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16519") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16406") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16519, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16406, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2929") - node.BrowseName = ua.QualifiedName.from_string("ShelvedStateMachineType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2771") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2929, 0) + node.BrowseName = QualifiedName('ShelvedStateMachineType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2771, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ShelvedStateMachineType") + attrs.DisplayName = LocalizedText("ShelvedStateMachineType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2929") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9115") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2929, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9115, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2929") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2930") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2929, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2930, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2929") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2932") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2929, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2932, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2929") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2933") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2929, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2933, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2929") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2935") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2929, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2935, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2929") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2936") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2929, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2936, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2929") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2940") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2929, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2940, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2929") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2942") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2929, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2942, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2929") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2943") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2929, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2943, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2929") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2945") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2929, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2945, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2929") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2949") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2929, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2949, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2929") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2947") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2929, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2947, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2929") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2948") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2929, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2948, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2929") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2771") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2929, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2771, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9115") - node.BrowseName = ua.QualifiedName.from_string("UnshelveTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2929") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9115, 0) + node.BrowseName = QualifiedName('UnshelveTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2929, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("UnshelveTime") - attrs.DataType = ua.NodeId.from_string("i=290") + attrs.DisplayName = LocalizedText("UnshelveTime") + attrs.DataType = NumericNodeId(290, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9115") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9115, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9115") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9115, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9115") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2929") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9115, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2929, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2930") - node.BrowseName = ua.QualifiedName.from_string("Unshelved") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2929") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2307") + node.RequestedNewNodeId = NumericNodeId(2930, 0) + node.BrowseName = QualifiedName('Unshelved', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2929, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2307, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Unshelved") + attrs.DisplayName = LocalizedText("Unshelved") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2930") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=6098") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2930, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(6098, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=2930") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2935") + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(2930, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2935, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=2930") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2936") + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(2930, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2936, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=2930") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2940") + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(2930, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2940, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=2930") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2943") + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(2930, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2943, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2930") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2307") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2930, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2307, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2930") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2929") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2930, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2929, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=6098") - node.BrowseName = ua.QualifiedName.from_string("StateNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2930") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(6098, 0) + node.BrowseName = QualifiedName('StateNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2930, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("StateNumber") + attrs.DisplayName = LocalizedText("StateNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -7667,100 +7669,100 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=6098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(6098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=6098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(6098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=6098") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2930") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(6098, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2930, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2932") - node.BrowseName = ua.QualifiedName.from_string("TimedShelved") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2929") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2307") + node.RequestedNewNodeId = NumericNodeId(2932, 0) + node.BrowseName = QualifiedName('TimedShelved', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2929, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2307, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Timed Shelved") + attrs.DisplayName = LocalizedText("Timed Shelved") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2932") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=6100") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2932, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(6100, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=2932") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2935") + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(2932, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2935, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=2932") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2940") + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(2932, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2940, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=2932") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2942") + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(2932, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2942, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=2932") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2945") + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(2932, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2945, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2932") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2307") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2932, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2307, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2932") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2929") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2932, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2929, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=6100") - node.BrowseName = ua.QualifiedName.from_string("StateNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2932") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(6100, 0) + node.BrowseName = QualifiedName('StateNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2932, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("StateNumber") + attrs.DisplayName = LocalizedText("StateNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -7768,100 +7770,100 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=6100") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(6100, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=6100") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(6100, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=6100") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2932") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(6100, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2932, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2933") - node.BrowseName = ua.QualifiedName.from_string("OneShotShelved") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2929") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2307") + node.RequestedNewNodeId = NumericNodeId(2933, 0) + node.BrowseName = QualifiedName('OneShotShelved', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2929, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2307, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("One Shot Shelved") + attrs.DisplayName = LocalizedText("One Shot Shelved") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2933") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=6101") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2933, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(6101, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=2933") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2936") + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(2933, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2936, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=2933") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2942") + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(2933, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2942, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=2933") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2943") + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(2933, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2943, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=2933") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2945") + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(2933, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2945, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2933") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2307") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2933, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2307, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2933") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2929") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2933, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2929, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=6101") - node.BrowseName = ua.QualifiedName.from_string("StateNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2933") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(6101, 0) + node.BrowseName = QualifiedName('StateNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2933, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("StateNumber") + attrs.DisplayName = LocalizedText("StateNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -7869,100 +7871,100 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=6101") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(6101, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=6101") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(6101, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=6101") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2933") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(6101, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2933, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2935") - node.BrowseName = ua.QualifiedName.from_string("UnshelvedToTimedShelved") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2929") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2310") + node.RequestedNewNodeId = NumericNodeId(2935, 0) + node.BrowseName = QualifiedName('UnshelvedToTimedShelved', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2929, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2310, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("UnshelvedToTimedShelved") + attrs.DisplayName = LocalizedText("UnshelvedToTimedShelved") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2935") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11322") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2935, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11322, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=2935") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2930") + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(2935, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2930, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=2935") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2932") + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(2935, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2932, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=54") - ref.SourceNodeId = ua.NodeId.from_string("i=2935") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2915") + ref.ReferenceTypeId = NumericNodeId(54, 0) + ref.SourceNodeId = NumericNodeId(2935, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2915, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=53") - ref.SourceNodeId = ua.NodeId.from_string("i=2935") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2949") + ref.ReferenceTypeId = NumericNodeId(53, 0) + ref.SourceNodeId = NumericNodeId(2935, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2949, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2935") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2310") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2935, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2310, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2935") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2929") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2935, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2929, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11322") - node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2935") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11322, 0) + node.BrowseName = QualifiedName('TransitionNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2935, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionNumber") + attrs.DisplayName = LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -7970,100 +7972,100 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11322") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11322, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11322") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11322, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11322") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2935") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11322, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2935, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2936") - node.BrowseName = ua.QualifiedName.from_string("UnshelvedToOneShotShelved") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2929") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2310") + node.RequestedNewNodeId = NumericNodeId(2936, 0) + node.BrowseName = QualifiedName('UnshelvedToOneShotShelved', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2929, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2310, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("UnshelvedToOneShotShelved") + attrs.DisplayName = LocalizedText("UnshelvedToOneShotShelved") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2936") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11323") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2936, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11323, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=2936") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2930") + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(2936, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2930, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=2936") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2933") + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(2936, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2933, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=54") - ref.SourceNodeId = ua.NodeId.from_string("i=2936") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2915") + ref.ReferenceTypeId = NumericNodeId(54, 0) + ref.SourceNodeId = NumericNodeId(2936, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2915, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=53") - ref.SourceNodeId = ua.NodeId.from_string("i=2936") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2948") + ref.ReferenceTypeId = NumericNodeId(53, 0) + ref.SourceNodeId = NumericNodeId(2936, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2948, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2936") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2310") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2936, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2310, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2936") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2929") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2936, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2929, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11323") - node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2936") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11323, 0) + node.BrowseName = QualifiedName('TransitionNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2936, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionNumber") + attrs.DisplayName = LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -8071,100 +8073,100 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11323") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11323, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11323") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11323, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11323") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2936") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11323, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2936, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2940") - node.BrowseName = ua.QualifiedName.from_string("TimedShelvedToUnshelved") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2929") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2310") + node.RequestedNewNodeId = NumericNodeId(2940, 0) + node.BrowseName = QualifiedName('TimedShelvedToUnshelved', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2929, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2310, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("TimedShelvedToUnshelved") + attrs.DisplayName = LocalizedText("TimedShelvedToUnshelved") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2940") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11324") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2940, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11324, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=2940") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2932") + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(2940, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2932, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=2940") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2930") + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(2940, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2930, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=54") - ref.SourceNodeId = ua.NodeId.from_string("i=2940") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2915") + ref.ReferenceTypeId = NumericNodeId(54, 0) + ref.SourceNodeId = NumericNodeId(2940, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2915, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=53") - ref.SourceNodeId = ua.NodeId.from_string("i=2940") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2947") + ref.ReferenceTypeId = NumericNodeId(53, 0) + ref.SourceNodeId = NumericNodeId(2940, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2947, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2940") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2310") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2940, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2310, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2940") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2929") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2940, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2929, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11324") - node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2940") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11324, 0) + node.BrowseName = QualifiedName('TransitionNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2940, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionNumber") + attrs.DisplayName = LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -8172,100 +8174,100 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11324") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11324, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11324") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11324, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11324") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2940") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11324, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2940, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2942") - node.BrowseName = ua.QualifiedName.from_string("TimedShelvedToOneShotShelved") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2929") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2310") + node.RequestedNewNodeId = NumericNodeId(2942, 0) + node.BrowseName = QualifiedName('TimedShelvedToOneShotShelved', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2929, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2310, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("TimedShelvedToOneShotShelved") + attrs.DisplayName = LocalizedText("TimedShelvedToOneShotShelved") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2942") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11325") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2942, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11325, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=2942") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2932") + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(2942, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2932, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=2942") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2933") + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(2942, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2933, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=54") - ref.SourceNodeId = ua.NodeId.from_string("i=2942") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2915") + ref.ReferenceTypeId = NumericNodeId(54, 0) + ref.SourceNodeId = NumericNodeId(2942, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2915, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=53") - ref.SourceNodeId = ua.NodeId.from_string("i=2942") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2948") + ref.ReferenceTypeId = NumericNodeId(53, 0) + ref.SourceNodeId = NumericNodeId(2942, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2948, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2942") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2310") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2942, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2310, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2942") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2929") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2942, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2929, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11325") - node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2942") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11325, 0) + node.BrowseName = QualifiedName('TransitionNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2942, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionNumber") + attrs.DisplayName = LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -8273,100 +8275,100 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11325") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11325, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11325") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11325, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11325") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2942") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11325, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2942, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2943") - node.BrowseName = ua.QualifiedName.from_string("OneShotShelvedToUnshelved") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2929") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2310") + node.RequestedNewNodeId = NumericNodeId(2943, 0) + node.BrowseName = QualifiedName('OneShotShelvedToUnshelved', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2929, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2310, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("OneShotShelvedToUnshelved") + attrs.DisplayName = LocalizedText("OneShotShelvedToUnshelved") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2943") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11326") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2943, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11326, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=2943") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2933") + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(2943, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2933, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=2943") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2930") + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(2943, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2930, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=54") - ref.SourceNodeId = ua.NodeId.from_string("i=2943") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2915") + ref.ReferenceTypeId = NumericNodeId(54, 0) + ref.SourceNodeId = NumericNodeId(2943, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2915, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=53") - ref.SourceNodeId = ua.NodeId.from_string("i=2943") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2947") + ref.ReferenceTypeId = NumericNodeId(53, 0) + ref.SourceNodeId = NumericNodeId(2943, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2947, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2943") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2310") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2943, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2310, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2943") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2929") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2943, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2929, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11326") - node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2943") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11326, 0) + node.BrowseName = QualifiedName('TransitionNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2943, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionNumber") + attrs.DisplayName = LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -8374,100 +8376,100 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11326") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11326, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11326") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11326, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11326") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2943") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11326, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2943, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2945") - node.BrowseName = ua.QualifiedName.from_string("OneShotShelvedToTimedShelved") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=2929") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2310") + node.RequestedNewNodeId = NumericNodeId(2945, 0) + node.BrowseName = QualifiedName('OneShotShelvedToTimedShelved', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(2929, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2310, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("OneShotShelvedToTimedShelved") + attrs.DisplayName = LocalizedText("OneShotShelvedToTimedShelved") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2945") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11327") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2945, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11327, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=2945") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2933") + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(2945, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2933, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=2945") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2932") + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(2945, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2932, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=54") - ref.SourceNodeId = ua.NodeId.from_string("i=2945") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2915") + ref.ReferenceTypeId = NumericNodeId(54, 0) + ref.SourceNodeId = NumericNodeId(2945, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2915, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=53") - ref.SourceNodeId = ua.NodeId.from_string("i=2945") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2949") + ref.ReferenceTypeId = NumericNodeId(53, 0) + ref.SourceNodeId = NumericNodeId(2945, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2949, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2945") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2310") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2945, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2310, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2945") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2929") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2945, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2929, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11327") - node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2945") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11327, 0) + node.BrowseName = QualifiedName('TransitionNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2945, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionNumber") + attrs.DisplayName = LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -8475,96 +8477,96 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11327") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11327, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11327") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11327, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11327") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2945") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11327, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2945, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2949") - node.BrowseName = ua.QualifiedName.from_string("TimedShelve") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=2929") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(2949, 0) + node.BrowseName = QualifiedName('TimedShelve', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(2929, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("TimedShelve") + attrs.DisplayName = LocalizedText("TimedShelve") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2949") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2991") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2949, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2991, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=53") - ref.SourceNodeId = ua.NodeId.from_string("i=2949") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2935") + ref.ReferenceTypeId = NumericNodeId(53, 0) + ref.SourceNodeId = NumericNodeId(2949, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2935, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=53") - ref.SourceNodeId = ua.NodeId.from_string("i=2949") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2945") + ref.ReferenceTypeId = NumericNodeId(53, 0) + ref.SourceNodeId = NumericNodeId(2949, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2945, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") - ref.SourceNodeId = ua.NodeId.from_string("i=2949") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11093") + ref.ReferenceTypeId = NumericNodeId(3065, 0) + ref.SourceNodeId = NumericNodeId(2949, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11093, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2949") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2949, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2949") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2929") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2949, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2929, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2991") - node.BrowseName = ua.QualifiedName.from_string("InputArguments") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2949") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(2991, 0) + node.BrowseName = QualifiedName('InputArguments', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2949, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("InputArguments") - attrs.DataType = ua.NodeId.from_string("i=296") + attrs.DisplayName = LocalizedText("InputArguments") + attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() extobj.Name = 'ShelvingTime' - extobj.DataType = ua.NodeId.from_string("i=290") + extobj.DataType = NumericNodeId(290, 0) extobj.ValueRank = -1 extobj.Description.Text = 'If not 0, this parameter specifies a fixed time for which the Alarm is to be shelved.' value.append(extobj) @@ -8575,209 +8577,209 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=2991") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(2991, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2991") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2991, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2991") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2949") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2991, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2949, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2947") - node.BrowseName = ua.QualifiedName.from_string("Unshelve") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=2929") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(2947, 0) + node.BrowseName = QualifiedName('Unshelve', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(2929, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("Unshelve") + attrs.DisplayName = LocalizedText("Unshelve") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=53") - ref.SourceNodeId = ua.NodeId.from_string("i=2947") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2940") + ref.ReferenceTypeId = NumericNodeId(53, 0) + ref.SourceNodeId = NumericNodeId(2947, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2940, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=53") - ref.SourceNodeId = ua.NodeId.from_string("i=2947") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2943") + ref.ReferenceTypeId = NumericNodeId(53, 0) + ref.SourceNodeId = NumericNodeId(2947, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2943, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") - ref.SourceNodeId = ua.NodeId.from_string("i=2947") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11093") + ref.ReferenceTypeId = NumericNodeId(3065, 0) + ref.SourceNodeId = NumericNodeId(2947, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11093, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2947") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2947, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2947") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2929") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2947, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2929, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2948") - node.BrowseName = ua.QualifiedName.from_string("OneShotShelve") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=2929") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(2948, 0) + node.BrowseName = QualifiedName('OneShotShelve', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(2929, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("OneShotShelve") + attrs.DisplayName = LocalizedText("OneShotShelve") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=53") - ref.SourceNodeId = ua.NodeId.from_string("i=2948") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2936") + ref.ReferenceTypeId = NumericNodeId(53, 0) + ref.SourceNodeId = NumericNodeId(2948, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2936, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=53") - ref.SourceNodeId = ua.NodeId.from_string("i=2948") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2942") + ref.ReferenceTypeId = NumericNodeId(53, 0) + ref.SourceNodeId = NumericNodeId(2948, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2942, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=3065") - ref.SourceNodeId = ua.NodeId.from_string("i=2948") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11093") + ref.ReferenceTypeId = NumericNodeId(3065, 0) + ref.SourceNodeId = NumericNodeId(2948, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11093, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=2948") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(2948, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=2948") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2929") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(2948, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2929, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2955") - node.BrowseName = ua.QualifiedName.from_string("LimitAlarmType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2915") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2955, 0) + node.BrowseName = QualifiedName('LimitAlarmType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2915, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("LimitAlarmType") + attrs.DisplayName = LocalizedText("LimitAlarmType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2955") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11124") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2955, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11124, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2955") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11125") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2955, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11125, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2955") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11126") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2955, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11126, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2955") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11127") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2955, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11127, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2955") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16572") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2955, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16572, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2955") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16573") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2955, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16573, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2955") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16574") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2955, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16574, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2955") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16575") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2955, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16575, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2955") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2915") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2955, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2915, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11124") - node.BrowseName = ua.QualifiedName.from_string("HighHighLimit") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2955") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11124, 0) + node.BrowseName = QualifiedName('HighHighLimit', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2955, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("HighHighLimit") + attrs.DisplayName = LocalizedText("HighHighLimit") attrs.DataType = ua.NodeId(ua.ObjectIds.Double) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -8785,36 +8787,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11124") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11124, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11124") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11124, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11124") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2955") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11124, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2955, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11125") - node.BrowseName = ua.QualifiedName.from_string("HighLimit") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2955") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11125, 0) + node.BrowseName = QualifiedName('HighLimit', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2955, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("HighLimit") + attrs.DisplayName = LocalizedText("HighLimit") attrs.DataType = ua.NodeId(ua.ObjectIds.Double) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -8822,36 +8824,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11125") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11125, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11125") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11125, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11125") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2955") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11125, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2955, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11126") - node.BrowseName = ua.QualifiedName.from_string("LowLimit") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2955") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11126, 0) + node.BrowseName = QualifiedName('LowLimit', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2955, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LowLimit") + attrs.DisplayName = LocalizedText("LowLimit") attrs.DataType = ua.NodeId(ua.ObjectIds.Double) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -8859,36 +8861,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11126") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11126, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11126") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11126, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11126") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2955") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11126, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2955, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11127") - node.BrowseName = ua.QualifiedName.from_string("LowLowLimit") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2955") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11127, 0) + node.BrowseName = QualifiedName('LowLowLimit', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2955, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LowLowLimit") + attrs.DisplayName = LocalizedText("LowLowLimit") attrs.DataType = ua.NodeId(ua.ObjectIds.Double) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -8896,36 +8898,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11127") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11127, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11127") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11127, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11127") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2955") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11127, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2955, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16572") - node.BrowseName = ua.QualifiedName.from_string("BaseHighHighLimit") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2955") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16572, 0) + node.BrowseName = QualifiedName('BaseHighHighLimit', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2955, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("BaseHighHighLimit") + attrs.DisplayName = LocalizedText("BaseHighHighLimit") attrs.DataType = ua.NodeId(ua.ObjectIds.Double) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -8933,36 +8935,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16572") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16572, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16572") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16572, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16572") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2955") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16572, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2955, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16573") - node.BrowseName = ua.QualifiedName.from_string("BaseHighLimit") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2955") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16573, 0) + node.BrowseName = QualifiedName('BaseHighLimit', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2955, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("BaseHighLimit") + attrs.DisplayName = LocalizedText("BaseHighLimit") attrs.DataType = ua.NodeId(ua.ObjectIds.Double) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -8970,36 +8972,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16573") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16573, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16573") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16573, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16573") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2955") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16573, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2955, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16574") - node.BrowseName = ua.QualifiedName.from_string("BaseLowLimit") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2955") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16574, 0) + node.BrowseName = QualifiedName('BaseLowLimit', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2955, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("BaseLowLimit") + attrs.DisplayName = LocalizedText("BaseLowLimit") attrs.DataType = ua.NodeId(ua.ObjectIds.Double) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -9007,36 +9009,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16574") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16574, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16574") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16574, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16574") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2955") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16574, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2955, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16575") - node.BrowseName = ua.QualifiedName.from_string("BaseLowLowLimit") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2955") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16575, 0) + node.BrowseName = QualifiedName('BaseLowLowLimit', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2955, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("BaseLowLowLimit") + attrs.DisplayName = LocalizedText("BaseLowLowLimit") attrs.DataType = ua.NodeId(ua.ObjectIds.Double) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -9044,163 +9046,163 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16575") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16575, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16575") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16575, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16575") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2955") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16575, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2955, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9318") - node.BrowseName = ua.QualifiedName.from_string("ExclusiveLimitStateMachineType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2771") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(9318, 0) + node.BrowseName = QualifiedName('ExclusiveLimitStateMachineType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2771, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ExclusiveLimitStateMachineType") + attrs.DisplayName = LocalizedText("ExclusiveLimitStateMachineType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9318") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9329") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9318, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9329, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9318") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9331") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9318, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9331, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9318") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9333") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9318, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9333, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9318") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9335") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9318, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9335, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9318") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9337") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9318, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9337, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9318") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9338") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9318, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9338, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9318") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9339") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9318, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9339, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9318") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9340") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9318, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9340, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=9318") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2771") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(9318, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2771, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9329") - node.BrowseName = ua.QualifiedName.from_string("HighHigh") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=9318") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2307") + node.RequestedNewNodeId = NumericNodeId(9329, 0) + node.BrowseName = QualifiedName('HighHigh', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(9318, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2307, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("HighHigh") + attrs.DisplayName = LocalizedText("HighHigh") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9329") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9330") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9329, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9330, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=9329") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9339") + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(9329, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9339, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=9329") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9340") + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(9329, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9340, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9329") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2307") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9329, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2307, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9329") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9318") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9329, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9318, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9330") - node.BrowseName = ua.QualifiedName.from_string("StateNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9329") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9330, 0) + node.BrowseName = QualifiedName('StateNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9329, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("StateNumber") + attrs.DisplayName = LocalizedText("StateNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -9208,86 +9210,86 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9330") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9330, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9330") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9330, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9330") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9329") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9330, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9329, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9331") - node.BrowseName = ua.QualifiedName.from_string("High") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=9318") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2307") + node.RequestedNewNodeId = NumericNodeId(9331, 0) + node.BrowseName = QualifiedName('High', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(9318, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2307, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("High") + attrs.DisplayName = LocalizedText("High") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9331") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9332") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9331, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9332, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=9331") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9339") + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(9331, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9339, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=9331") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9340") + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(9331, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9340, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9331") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2307") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9331, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2307, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9331") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9318") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9331, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9318, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9332") - node.BrowseName = ua.QualifiedName.from_string("StateNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9331") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9332, 0) + node.BrowseName = QualifiedName('StateNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9331, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("StateNumber") + attrs.DisplayName = LocalizedText("StateNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -9295,86 +9297,86 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9332") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9332, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9332") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9332, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9332") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9331") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9332, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9331, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9333") - node.BrowseName = ua.QualifiedName.from_string("Low") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=9318") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2307") + node.RequestedNewNodeId = NumericNodeId(9333, 0) + node.BrowseName = QualifiedName('Low', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(9318, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2307, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("Low") + attrs.DisplayName = LocalizedText("Low") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9333") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9334") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9333, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9334, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=9333") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9337") + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(9333, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9337, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=9333") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9338") + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(9333, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9338, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9333") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2307") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9333, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2307, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9333") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9318") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9333, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9318, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9334") - node.BrowseName = ua.QualifiedName.from_string("StateNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9333") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9334, 0) + node.BrowseName = QualifiedName('StateNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9333, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("StateNumber") + attrs.DisplayName = LocalizedText("StateNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -9382,86 +9384,86 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9334") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9334, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9334") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9334, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9334") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9333") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9334, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9333, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9335") - node.BrowseName = ua.QualifiedName.from_string("LowLow") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=9318") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2307") + node.RequestedNewNodeId = NumericNodeId(9335, 0) + node.BrowseName = QualifiedName('LowLow', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(9318, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2307, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("LowLow") + attrs.DisplayName = LocalizedText("LowLow") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9335") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9336") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9335, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9336, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=9335") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9337") + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(9335, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9337, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=9335") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9338") + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(9335, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9338, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9335") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2307") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9335, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2307, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9335") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9318") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9335, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9318, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9336") - node.BrowseName = ua.QualifiedName.from_string("StateNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9335") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9336, 0) + node.BrowseName = QualifiedName('StateNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9335, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("StateNumber") + attrs.DisplayName = LocalizedText("StateNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -9469,86 +9471,86 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9336") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9336, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9336") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9336, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9336") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9335") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9336, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9335, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9337") - node.BrowseName = ua.QualifiedName.from_string("LowLowToLow") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=9318") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2310") + node.RequestedNewNodeId = NumericNodeId(9337, 0) + node.BrowseName = QualifiedName('LowLowToLow', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(9318, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2310, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("LowLowToLow") + attrs.DisplayName = LocalizedText("LowLowToLow") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9337") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11340") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9337, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11340, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=9337") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9335") + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(9337, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9335, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=9337") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9333") + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(9337, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9333, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9337") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2310") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9337, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2310, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9337") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9318") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9337, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9318, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11340") - node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9337") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11340, 0) + node.BrowseName = QualifiedName('TransitionNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9337, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionNumber") + attrs.DisplayName = LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -9556,86 +9558,86 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11340") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11340, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11340") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11340, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11340") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9337") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11340, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9337, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9338") - node.BrowseName = ua.QualifiedName.from_string("LowToLowLow") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=9318") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2310") + node.RequestedNewNodeId = NumericNodeId(9338, 0) + node.BrowseName = QualifiedName('LowToLowLow', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(9318, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2310, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("LowToLowLow") + attrs.DisplayName = LocalizedText("LowToLowLow") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9338") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11341") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9338, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11341, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=9338") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9333") + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(9338, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9333, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=9338") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9335") + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(9338, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9335, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9338") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2310") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9338, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2310, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9338") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9318") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9338, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9318, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11341") - node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9338") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11341, 0) + node.BrowseName = QualifiedName('TransitionNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9338, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionNumber") + attrs.DisplayName = LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -9643,86 +9645,86 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11341") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11341, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11341") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11341, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11341") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9338") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11341, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9338, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9339") - node.BrowseName = ua.QualifiedName.from_string("HighHighToHigh") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=9318") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2310") + node.RequestedNewNodeId = NumericNodeId(9339, 0) + node.BrowseName = QualifiedName('HighHighToHigh', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(9318, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2310, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("HighHighToHigh") + attrs.DisplayName = LocalizedText("HighHighToHigh") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9339") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11342") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9339, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11342, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=9339") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9329") + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(9339, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9329, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=9339") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9331") + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(9339, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9331, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9339") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2310") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9339, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2310, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9339") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9318") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9339, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9318, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11342") - node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9339") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11342, 0) + node.BrowseName = QualifiedName('TransitionNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9339, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionNumber") + attrs.DisplayName = LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -9730,86 +9732,86 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11342") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11342, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11342") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11342, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11342") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9339") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11342, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9339, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9340") - node.BrowseName = ua.QualifiedName.from_string("HighToHighHigh") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=9318") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2310") + node.RequestedNewNodeId = NumericNodeId(9340, 0) + node.BrowseName = QualifiedName('HighToHighHigh', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(9318, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2310, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("HighToHighHigh") + attrs.DisplayName = LocalizedText("HighToHighHigh") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9340") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11343") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9340, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11343, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=51") - ref.SourceNodeId = ua.NodeId.from_string("i=9340") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9331") + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(9340, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9331, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=52") - ref.SourceNodeId = ua.NodeId.from_string("i=9340") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9329") + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(9340, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9329, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9340") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2310") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9340, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2310, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9340") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9318") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9340, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9318, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11343") - node.BrowseName = ua.QualifiedName.from_string("TransitionNumber") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9340") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11343, 0) + node.BrowseName = QualifiedName('TransitionNumber', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9340, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionNumber") + attrs.DisplayName = LocalizedText("TransitionNumber") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -9817,71 +9819,71 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11343") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11343, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11343") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11343, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11343") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9340") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11343, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9340, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9341") - node.BrowseName = ua.QualifiedName.from_string("ExclusiveLimitAlarmType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2955") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(9341, 0) + node.BrowseName = QualifiedName('ExclusiveLimitAlarmType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2955, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ExclusiveLimitAlarmType") + attrs.DisplayName = LocalizedText("ExclusiveLimitAlarmType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9341") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9398") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9341, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9398, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9341") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9455") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9341, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9455, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=9341") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2955") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(9341, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2955, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9398") - node.BrowseName = ua.QualifiedName.from_string("ActiveState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9341") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=8995") + node.RequestedNewNodeId = NumericNodeId(9398, 0) + node.BrowseName = QualifiedName('ActiveState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9341, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(8995, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ActiveState") + attrs.DisplayName = LocalizedText("ActiveState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -9889,50 +9891,50 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9398") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9399") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9398, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9399, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") - ref.SourceNodeId = ua.NodeId.from_string("i=9398") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9455") + ref.ReferenceTypeId = NumericNodeId(9004, 0) + ref.SourceNodeId = NumericNodeId(9398, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9455, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9398") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8995") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9398, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8995, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9398") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9398, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9398") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9341") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9398, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9341, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9399") - node.BrowseName = ua.QualifiedName.from_string("Id") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9398") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9399, 0) + node.BrowseName = QualifiedName('Id', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9398, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") + attrs.DisplayName = LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -9940,93 +9942,93 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9399") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9399, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9399") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9399, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9399") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9398") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9399, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9398, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9455") - node.BrowseName = ua.QualifiedName.from_string("LimitState") - node.NodeClass = ua.NodeClass.Object - node.ParentNodeId = ua.NodeId.from_string("i=9341") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=9318") + node.RequestedNewNodeId = NumericNodeId(9455, 0) + node.BrowseName = QualifiedName('LimitState', 0) + node.NodeClass = NodeClass.Object + node.ParentNodeId = NumericNodeId(9341, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(9318, 0) attrs = ua.ObjectAttributes() - attrs.DisplayName = ua.LocalizedText("LimitState") + attrs.DisplayName = LocalizedText("LimitState") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9455") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9456") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9455, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9456, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9455") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9461") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9455, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9461, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") - ref.SourceNodeId = ua.NodeId.from_string("i=9455") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9398") + ref.ReferenceTypeId = NumericNodeId(9004, 0) + ref.SourceNodeId = NumericNodeId(9455, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9398, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9455") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9318") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9455, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9318, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9455") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9455, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9455") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9341") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9455, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9341, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9456") - node.BrowseName = ua.QualifiedName.from_string("CurrentState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9455") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2760") + node.RequestedNewNodeId = NumericNodeId(9456, 0) + node.BrowseName = QualifiedName('CurrentState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9455, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2760, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentState") + attrs.DisplayName = LocalizedText("CurrentState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -10034,43 +10036,43 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9456") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9457") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9456, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9457, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9456") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2760") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9456, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2760, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9456") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9456, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9456") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9455") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9456, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9455, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9457") - node.BrowseName = ua.QualifiedName.from_string("Id") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9456") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9457, 0) + node.BrowseName = QualifiedName('Id', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9456, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") + attrs.DisplayName = LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -10078,36 +10080,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9457") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9457, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9457") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9457, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9457") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9456") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9457, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9456, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9461") - node.BrowseName = ua.QualifiedName.from_string("LastTransition") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9455") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=2767") + node.RequestedNewNodeId = NumericNodeId(9461, 0) + node.BrowseName = QualifiedName('LastTransition', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9455, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(2767, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LastTransition") + attrs.DisplayName = LocalizedText("LastTransition") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -10115,50 +10117,50 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9461") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9462") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9461, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9462, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9461") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9465") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9461, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9465, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9461") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2767") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9461, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2767, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9461") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9461, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9461") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9455") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9461, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9455, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9462") - node.BrowseName = ua.QualifiedName.from_string("Id") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9461") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9462, 0) + node.BrowseName = QualifiedName('Id', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9461, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") + attrs.DisplayName = LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -10166,129 +10168,129 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9462") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9462, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9462") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9462, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9462") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9461") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9462, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9461, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9465") - node.BrowseName = ua.QualifiedName.from_string("TransitionTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9461") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9465, 0) + node.BrowseName = QualifiedName('TransitionTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9461, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("TransitionTime") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9465") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9465, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9465") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9465, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9465") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9461") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9465, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9461, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9906") - node.BrowseName = ua.QualifiedName.from_string("NonExclusiveLimitAlarmType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2955") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(9906, 0) + node.BrowseName = QualifiedName('NonExclusiveLimitAlarmType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2955, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("NonExclusiveLimitAlarmType") + attrs.DisplayName = LocalizedText("NonExclusiveLimitAlarmType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9906") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9963") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9906, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9963, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9906") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10020") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9906, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(10020, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9906") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10029") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9906, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(10029, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9906") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10038") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9906, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(10038, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9906") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10047") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9906, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(10047, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=9906") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2955") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(9906, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2955, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9963") - node.BrowseName = ua.QualifiedName.from_string("ActiveState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9906") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=8995") + node.RequestedNewNodeId = NumericNodeId(9963, 0) + node.BrowseName = QualifiedName('ActiveState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9906, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(8995, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ActiveState") + attrs.DisplayName = LocalizedText("ActiveState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -10296,71 +10298,71 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9963") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9964") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9963, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9964, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") - ref.SourceNodeId = ua.NodeId.from_string("i=9963") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10020") + ref.ReferenceTypeId = NumericNodeId(9004, 0) + ref.SourceNodeId = NumericNodeId(9963, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(10020, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") - ref.SourceNodeId = ua.NodeId.from_string("i=9963") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10029") + ref.ReferenceTypeId = NumericNodeId(9004, 0) + ref.SourceNodeId = NumericNodeId(9963, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(10029, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") - ref.SourceNodeId = ua.NodeId.from_string("i=9963") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10038") + ref.ReferenceTypeId = NumericNodeId(9004, 0) + ref.SourceNodeId = NumericNodeId(9963, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(10038, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") - ref.SourceNodeId = ua.NodeId.from_string("i=9963") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10047") + ref.ReferenceTypeId = NumericNodeId(9004, 0) + ref.SourceNodeId = NumericNodeId(9963, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(10047, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9963") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8995") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9963, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8995, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9963") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9963, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=9963") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9906") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(9963, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9906, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9964") - node.BrowseName = ua.QualifiedName.from_string("Id") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9963") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9964, 0) + node.BrowseName = QualifiedName('Id', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9963, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") + attrs.DisplayName = LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -10368,36 +10370,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9964") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9964, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9964") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9964, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9964") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9963") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9964, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9963, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=10020") - node.BrowseName = ua.QualifiedName.from_string("HighHighState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9906") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=8995") + node.RequestedNewNodeId = NumericNodeId(10020, 0) + node.BrowseName = QualifiedName('HighHighState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9906, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(8995, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("HighHighState") + attrs.DisplayName = LocalizedText("HighHighState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -10405,71 +10407,71 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10020") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10021") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(10020, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(10021, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10020") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10025") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(10020, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(10025, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10020") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10027") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(10020, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(10027, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10020") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10028") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(10020, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(10028, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") - ref.SourceNodeId = ua.NodeId.from_string("i=10020") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9963") + ref.ReferenceTypeId = NumericNodeId(9004, 0) + ref.SourceNodeId = NumericNodeId(10020, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9963, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=10020") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8995") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(10020, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8995, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=10020") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(10020, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=10020") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9906") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(10020, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9906, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=10021") - node.BrowseName = ua.QualifiedName.from_string("Id") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=10020") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(10021, 0) + node.BrowseName = QualifiedName('Id', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(10020, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") + attrs.DisplayName = LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -10477,73 +10479,73 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=10021") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(10021, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=10021") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(10021, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10021") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10020") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(10021, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(10020, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=10025") - node.BrowseName = ua.QualifiedName.from_string("TransitionTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=10020") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(10025, 0) + node.BrowseName = QualifiedName('TransitionTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(10020, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("TransitionTime") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=10025") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(10025, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=10025") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(10025, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10025") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10020") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(10025, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(10020, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=10027") - node.BrowseName = ua.QualifiedName.from_string("TrueState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=10020") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(10027, 0) + node.BrowseName = QualifiedName('TrueState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(10020, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TrueState") + attrs.DisplayName = LocalizedText("TrueState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'HighHigh active')], ua.VariantType.LocalizedText) attrs.ValueRank = -1 @@ -10552,36 +10554,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=10027") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(10027, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=10027") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(10027, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10027") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10020") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(10027, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(10020, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=10028") - node.BrowseName = ua.QualifiedName.from_string("FalseState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=10020") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(10028, 0) + node.BrowseName = QualifiedName('FalseState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(10020, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("FalseState") + attrs.DisplayName = LocalizedText("FalseState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'HighHigh inactive')], ua.VariantType.LocalizedText) attrs.ValueRank = -1 @@ -10590,36 +10592,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=10028") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(10028, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=10028") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(10028, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10028") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10020") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(10028, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(10020, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=10029") - node.BrowseName = ua.QualifiedName.from_string("HighState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9906") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=8995") + node.RequestedNewNodeId = NumericNodeId(10029, 0) + node.BrowseName = QualifiedName('HighState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9906, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(8995, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("HighState") + attrs.DisplayName = LocalizedText("HighState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -10627,71 +10629,71 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10029") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10030") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(10029, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(10030, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10029") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10034") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(10029, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(10034, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10029") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10036") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(10029, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(10036, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10029") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10037") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(10029, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(10037, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") - ref.SourceNodeId = ua.NodeId.from_string("i=10029") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9963") + ref.ReferenceTypeId = NumericNodeId(9004, 0) + ref.SourceNodeId = NumericNodeId(10029, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9963, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=10029") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8995") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(10029, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8995, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=10029") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(10029, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=10029") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9906") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(10029, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9906, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=10030") - node.BrowseName = ua.QualifiedName.from_string("Id") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=10029") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(10030, 0) + node.BrowseName = QualifiedName('Id', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(10029, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") + attrs.DisplayName = LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -10699,73 +10701,73 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=10030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(10030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=10030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(10030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10030") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10029") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(10030, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(10029, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=10034") - node.BrowseName = ua.QualifiedName.from_string("TransitionTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=10029") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(10034, 0) + node.BrowseName = QualifiedName('TransitionTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(10029, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("TransitionTime") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=10034") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(10034, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=10034") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(10034, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10034") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10029") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(10034, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(10029, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=10036") - node.BrowseName = ua.QualifiedName.from_string("TrueState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=10029") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(10036, 0) + node.BrowseName = QualifiedName('TrueState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(10029, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TrueState") + attrs.DisplayName = LocalizedText("TrueState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'High active')], ua.VariantType.LocalizedText) attrs.ValueRank = -1 @@ -10774,36 +10776,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=10036") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(10036, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=10036") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(10036, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10036") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10029") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(10036, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(10029, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=10037") - node.BrowseName = ua.QualifiedName.from_string("FalseState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=10029") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(10037, 0) + node.BrowseName = QualifiedName('FalseState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(10029, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("FalseState") + attrs.DisplayName = LocalizedText("FalseState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'High inactive')], ua.VariantType.LocalizedText) attrs.ValueRank = -1 @@ -10812,36 +10814,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=10037") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(10037, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=10037") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(10037, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10037") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10029") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(10037, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(10029, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=10038") - node.BrowseName = ua.QualifiedName.from_string("LowState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9906") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=8995") + node.RequestedNewNodeId = NumericNodeId(10038, 0) + node.BrowseName = QualifiedName('LowState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9906, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(8995, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LowState") + attrs.DisplayName = LocalizedText("LowState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -10849,71 +10851,71 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10038") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10039") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(10038, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(10039, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10038") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10043") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(10038, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(10043, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10038") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10045") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(10038, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(10045, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10038") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10046") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(10038, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(10046, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") - ref.SourceNodeId = ua.NodeId.from_string("i=10038") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9963") + ref.ReferenceTypeId = NumericNodeId(9004, 0) + ref.SourceNodeId = NumericNodeId(10038, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9963, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=10038") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8995") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(10038, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8995, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=10038") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(10038, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=10038") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9906") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(10038, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9906, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=10039") - node.BrowseName = ua.QualifiedName.from_string("Id") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=10038") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(10039, 0) + node.BrowseName = QualifiedName('Id', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(10038, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") + attrs.DisplayName = LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -10921,73 +10923,73 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=10039") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(10039, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=10039") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(10039, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10039") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10038") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(10039, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(10038, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=10043") - node.BrowseName = ua.QualifiedName.from_string("TransitionTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=10038") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(10043, 0) + node.BrowseName = QualifiedName('TransitionTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(10038, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("TransitionTime") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=10043") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(10043, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=10043") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(10043, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10043") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10038") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(10043, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(10038, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=10045") - node.BrowseName = ua.QualifiedName.from_string("TrueState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=10038") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(10045, 0) + node.BrowseName = QualifiedName('TrueState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(10038, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TrueState") + attrs.DisplayName = LocalizedText("TrueState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'Low active')], ua.VariantType.LocalizedText) attrs.ValueRank = -1 @@ -10996,36 +10998,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=10045") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(10045, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=10045") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(10045, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10045") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10038") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(10045, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(10038, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=10046") - node.BrowseName = ua.QualifiedName.from_string("FalseState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=10038") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(10046, 0) + node.BrowseName = QualifiedName('FalseState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(10038, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("FalseState") + attrs.DisplayName = LocalizedText("FalseState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'Low inactive')], ua.VariantType.LocalizedText) attrs.ValueRank = -1 @@ -11034,36 +11036,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=10046") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(10046, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=10046") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(10046, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10046") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10038") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(10046, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(10038, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=10047") - node.BrowseName = ua.QualifiedName.from_string("LowLowState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9906") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=8995") + node.RequestedNewNodeId = NumericNodeId(10047, 0) + node.BrowseName = QualifiedName('LowLowState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9906, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(8995, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("LowLowState") + attrs.DisplayName = LocalizedText("LowLowState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -11071,71 +11073,71 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10047") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10048") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(10047, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(10048, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10047") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10052") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(10047, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(10052, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10047") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10054") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(10047, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(10054, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10047") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10055") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(10047, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(10055, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=9004") - ref.SourceNodeId = ua.NodeId.from_string("i=10047") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9963") + ref.ReferenceTypeId = NumericNodeId(9004, 0) + ref.SourceNodeId = NumericNodeId(10047, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9963, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=10047") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8995") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(10047, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8995, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=10047") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(10047, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=10047") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9906") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(10047, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9906, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=10048") - node.BrowseName = ua.QualifiedName.from_string("Id") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=10047") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(10048, 0) + node.BrowseName = QualifiedName('Id', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(10047, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Id") + attrs.DisplayName = LocalizedText("Id") attrs.DataType = ua.NodeId(ua.ObjectIds.Boolean) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -11143,73 +11145,73 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=10048") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(10048, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=10048") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(10048, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10048") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10047") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(10048, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(10047, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=10052") - node.BrowseName = ua.QualifiedName.from_string("TransitionTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=10047") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(10052, 0) + node.BrowseName = QualifiedName('TransitionTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(10047, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TransitionTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("TransitionTime") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=10052") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(10052, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=10052") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(10052, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10052") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10047") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(10052, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(10047, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=10054") - node.BrowseName = ua.QualifiedName.from_string("TrueState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=10047") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(10054, 0) + node.BrowseName = QualifiedName('TrueState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(10047, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TrueState") + attrs.DisplayName = LocalizedText("TrueState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'LowLow active')], ua.VariantType.LocalizedText) attrs.ValueRank = -1 @@ -11218,36 +11220,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=10054") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(10054, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=10054") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(10054, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10054") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10047") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(10054, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(10047, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=10055") - node.BrowseName = ua.QualifiedName.from_string("FalseState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=10047") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(10055, 0) + node.BrowseName = QualifiedName('FalseState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(10047, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("FalseState") + attrs.DisplayName = LocalizedText("FalseState") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.Value = ua.Variant([('Locale', 'en'), ('Text', 'LowLow inactive')], ua.VariantType.LocalizedText) attrs.ValueRank = -1 @@ -11256,113 +11258,113 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=10055") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(10055, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=10055") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(10055, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10055") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10047") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(10055, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(10047, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=10060") - node.BrowseName = ua.QualifiedName.from_string("NonExclusiveLevelAlarmType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=9906") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(10060, 0) + node.BrowseName = QualifiedName('NonExclusiveLevelAlarmType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(9906, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("NonExclusiveLevelAlarmType") + attrs.DisplayName = LocalizedText("NonExclusiveLevelAlarmType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=10060") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9906") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(10060, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9906, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9482") - node.BrowseName = ua.QualifiedName.from_string("ExclusiveLevelAlarmType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=9341") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(9482, 0) + node.BrowseName = QualifiedName('ExclusiveLevelAlarmType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(9341, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ExclusiveLevelAlarmType") + attrs.DisplayName = LocalizedText("ExclusiveLevelAlarmType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=9482") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9341") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(9482, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9341, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=10368") - node.BrowseName = ua.QualifiedName.from_string("NonExclusiveDeviationAlarmType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=9906") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(10368, 0) + node.BrowseName = QualifiedName('NonExclusiveDeviationAlarmType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(9906, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("NonExclusiveDeviationAlarmType") + attrs.DisplayName = LocalizedText("NonExclusiveDeviationAlarmType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10368") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10522") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(10368, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(10522, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10368") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16776") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(10368, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16776, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=10368") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9906") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(10368, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9906, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=10522") - node.BrowseName = ua.QualifiedName.from_string("SetpointNode") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=10368") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(10522, 0) + node.BrowseName = QualifiedName('SetpointNode', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(10368, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SetpointNode") + attrs.DisplayName = LocalizedText("SetpointNode") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -11370,36 +11372,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=10522") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(10522, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=10522") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(10522, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10522") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10368") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(10522, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(10368, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16776") - node.BrowseName = ua.QualifiedName.from_string("BaseSetpointNode") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=10368") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16776, 0) + node.BrowseName = QualifiedName('BaseSetpointNode', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(10368, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("BaseSetpointNode") + attrs.DisplayName = LocalizedText("BaseSetpointNode") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -11407,136 +11409,136 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16776") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16776, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16776") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16776, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16776") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10368") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16776, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(10368, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=10214") - node.BrowseName = ua.QualifiedName.from_string("NonExclusiveRateOfChangeAlarmType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=9906") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(10214, 0) + node.BrowseName = QualifiedName('NonExclusiveRateOfChangeAlarmType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(9906, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("NonExclusiveRateOfChangeAlarmType") + attrs.DisplayName = LocalizedText("NonExclusiveRateOfChangeAlarmType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10214") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16858") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(10214, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16858, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=10214") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9906") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(10214, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9906, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16858") - node.BrowseName = ua.QualifiedName.from_string("EngineeringUnits") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=10214") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16858, 0) + node.BrowseName = QualifiedName('EngineeringUnits', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(10214, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EngineeringUnits") - attrs.DataType = ua.NodeId.from_string("i=887") + attrs.DisplayName = LocalizedText("EngineeringUnits") + attrs.DataType = NumericNodeId(887, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16858") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16858, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16858") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16858, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16858") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10214") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16858, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(10214, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9764") - node.BrowseName = ua.QualifiedName.from_string("ExclusiveDeviationAlarmType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=9341") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(9764, 0) + node.BrowseName = QualifiedName('ExclusiveDeviationAlarmType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(9341, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ExclusiveDeviationAlarmType") + attrs.DisplayName = LocalizedText("ExclusiveDeviationAlarmType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9764") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9905") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9764, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9905, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9764") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16817") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9764, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16817, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=9764") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9341") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(9764, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9341, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9905") - node.BrowseName = ua.QualifiedName.from_string("SetpointNode") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9764") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(9905, 0) + node.BrowseName = QualifiedName('SetpointNode', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9764, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SetpointNode") + attrs.DisplayName = LocalizedText("SetpointNode") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -11544,36 +11546,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=9905") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(9905, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=9905") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(9905, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9905") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9764") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9905, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9764, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16817") - node.BrowseName = ua.QualifiedName.from_string("BaseSetpointNode") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9764") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16817, 0) + node.BrowseName = QualifiedName('BaseSetpointNode', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9764, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("BaseSetpointNode") + attrs.DisplayName = LocalizedText("BaseSetpointNode") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -11581,150 +11583,150 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16817") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16817, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16817") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16817, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16817") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9764") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16817, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9764, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9623") - node.BrowseName = ua.QualifiedName.from_string("ExclusiveRateOfChangeAlarmType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=9341") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(9623, 0) + node.BrowseName = QualifiedName('ExclusiveRateOfChangeAlarmType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(9341, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ExclusiveRateOfChangeAlarmType") + attrs.DisplayName = LocalizedText("ExclusiveRateOfChangeAlarmType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=9623") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=16899") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(9623, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(16899, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=9623") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9341") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(9623, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9341, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=16899") - node.BrowseName = ua.QualifiedName.from_string("EngineeringUnits") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=9623") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(16899, 0) + node.BrowseName = QualifiedName('EngineeringUnits', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(9623, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("EngineeringUnits") - attrs.DataType = ua.NodeId.from_string("i=887") + attrs.DisplayName = LocalizedText("EngineeringUnits") + attrs.DataType = NumericNodeId(887, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=16899") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(16899, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=16899") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(16899, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=16899") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=9623") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(16899, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(9623, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=10523") - node.BrowseName = ua.QualifiedName.from_string("DiscreteAlarmType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2915") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(10523, 0) + node.BrowseName = QualifiedName('DiscreteAlarmType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2915, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("DiscreteAlarmType") + attrs.DisplayName = LocalizedText("DiscreteAlarmType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=10523") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2915") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(10523, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2915, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=10637") - node.BrowseName = ua.QualifiedName.from_string("OffNormalAlarmType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=10523") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(10637, 0) + node.BrowseName = QualifiedName('OffNormalAlarmType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(10523, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("OffNormalAlarmType") + attrs.DisplayName = LocalizedText("OffNormalAlarmType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=10637") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11158") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(10637, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11158, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=10637") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10523") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(10637, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(10523, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11158") - node.BrowseName = ua.QualifiedName.from_string("NormalState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=10637") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11158, 0) + node.BrowseName = QualifiedName('NormalState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(10637, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("NormalState") + attrs.DisplayName = LocalizedText("NormalState") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -11732,169 +11734,169 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11158") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11158, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11158") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11158, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11158") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10637") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11158, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(10637, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11753") - node.BrowseName = ua.QualifiedName.from_string("SystemOffNormalAlarmType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=10637") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(11753, 0) + node.BrowseName = QualifiedName('SystemOffNormalAlarmType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(10637, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("SystemOffNormalAlarmType") + attrs.DisplayName = LocalizedText("SystemOffNormalAlarmType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=11753") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10637") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(11753, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(10637, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=10751") - node.BrowseName = ua.QualifiedName.from_string("TripAlarmType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=10637") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(10751, 0) + node.BrowseName = QualifiedName('TripAlarmType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(10637, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("TripAlarmType") + attrs.DisplayName = LocalizedText("TripAlarmType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=10751") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10637") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(10751, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(10637, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=18347") - node.BrowseName = ua.QualifiedName.from_string("InstrumentDiagnosticAlarmType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=10637") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(18347, 0) + node.BrowseName = QualifiedName('InstrumentDiagnosticAlarmType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(10637, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("InstrumentDiagnosticAlarmType") + attrs.DisplayName = LocalizedText("InstrumentDiagnosticAlarmType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=18347") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10637") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(18347, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(10637, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=18496") - node.BrowseName = ua.QualifiedName.from_string("SystemDiagnosticAlarmType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=10637") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(18496, 0) + node.BrowseName = QualifiedName('SystemDiagnosticAlarmType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(10637, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("SystemDiagnosticAlarmType") + attrs.DisplayName = LocalizedText("SystemDiagnosticAlarmType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=18496") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=10637") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(18496, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(10637, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13225") - node.BrowseName = ua.QualifiedName.from_string("CertificateExpirationAlarmType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=11753") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(13225, 0) + node.BrowseName = QualifiedName('CertificateExpirationAlarmType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(11753, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("CertificateExpirationAlarmType") + attrs.DisplayName = LocalizedText("CertificateExpirationAlarmType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13225") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13325") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13225, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13325, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13225") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=14900") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13225, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(14900, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13225") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13326") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13225, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13326, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13225") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13327") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13225, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13327, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=13225") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11753") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(13225, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11753, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13325") - node.BrowseName = ua.QualifiedName.from_string("ExpirationDate") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13225") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(13325, 0) + node.BrowseName = QualifiedName('ExpirationDate', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(13225, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ExpirationDate") + attrs.DisplayName = LocalizedText("ExpirationDate") attrs.DataType = ua.NodeId(ua.ObjectIds.DateTime) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -11902,73 +11904,73 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13325") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(13325, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13325") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(13325, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13325") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13225") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13325, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13225, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=14900") - node.BrowseName = ua.QualifiedName.from_string("ExpirationLimit") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13225") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(14900, 0) + node.BrowseName = QualifiedName('ExpirationLimit', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(13225, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ExpirationLimit") - attrs.DataType = ua.NodeId.from_string("i=290") + attrs.DisplayName = LocalizedText("ExpirationLimit") + attrs.DataType = NumericNodeId(290, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=14900") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(14900, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=14900") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(14900, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=14900") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13225") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(14900, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13225, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13326") - node.BrowseName = ua.QualifiedName.from_string("CertificateType") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13225") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(13326, 0) + node.BrowseName = QualifiedName('CertificateType', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(13225, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CertificateType") + attrs.DisplayName = LocalizedText("CertificateType") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -11976,36 +11978,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13326") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(13326, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13326") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(13326, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13326") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13225") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13326, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13225, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=13327") - node.BrowseName = ua.QualifiedName.from_string("Certificate") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=13225") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(13327, 0) + node.BrowseName = QualifiedName('Certificate', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(13225, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Certificate") + attrs.DisplayName = LocalizedText("Certificate") attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -12013,78 +12015,78 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=13327") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(13327, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=13327") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(13327, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=13327") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=13225") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(13327, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(13225, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17080") - node.BrowseName = ua.QualifiedName.from_string("DiscrepancyAlarmType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2915") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(17080, 0) + node.BrowseName = QualifiedName('DiscrepancyAlarmType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2915, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("DiscrepancyAlarmType") + attrs.DisplayName = LocalizedText("DiscrepancyAlarmType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=17080") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17215") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17080, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17215, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=17080") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17216") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17080, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17216, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=17080") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17217") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17080, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17217, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=17080") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2915") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(17080, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2915, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17215") - node.BrowseName = ua.QualifiedName.from_string("TargetValueNode") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=17080") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(17215, 0) + node.BrowseName = QualifiedName('TargetValueNode', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(17080, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("TargetValueNode") + attrs.DisplayName = LocalizedText("TargetValueNode") attrs.DataType = ua.NodeId(ua.ObjectIds.NodeId) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -12092,73 +12094,73 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=17215") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(17215, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=17215") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(17215, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=17215") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17080") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17215, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17080, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17216") - node.BrowseName = ua.QualifiedName.from_string("ExpectedTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=17080") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(17216, 0) + node.BrowseName = QualifiedName('ExpectedTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(17080, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ExpectedTime") - attrs.DataType = ua.NodeId.from_string("i=290") + attrs.DisplayName = LocalizedText("ExpectedTime") + attrs.DataType = NumericNodeId(290, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=17216") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(17216, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=17216") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(17216, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=17216") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17080") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17216, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17080, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17217") - node.BrowseName = ua.QualifiedName.from_string("Tolerance") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=17080") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(17217, 0) + node.BrowseName = QualifiedName('Tolerance', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(17080, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Tolerance") + attrs.DisplayName = LocalizedText("Tolerance") attrs.DataType = ua.NodeId(ua.ObjectIds.Double) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -12166,302 +12168,302 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=17217") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(17217, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=17217") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=80") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(17217, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=17217") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17080") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17217, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17080, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11163") - node.BrowseName = ua.QualifiedName.from_string("BaseConditionClassType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=58") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(11163, 0) + node.BrowseName = QualifiedName('BaseConditionClassType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(58, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("BaseConditionClassType") + attrs.DisplayName = LocalizedText("BaseConditionClassType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=11163") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=58") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(11163, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(58, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11164") - node.BrowseName = ua.QualifiedName.from_string("ProcessConditionClassType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=11163") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(11164, 0) + node.BrowseName = QualifiedName('ProcessConditionClassType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(11163, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("ProcessConditionClassType") + attrs.DisplayName = LocalizedText("ProcessConditionClassType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=11164") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11163") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(11164, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11163, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11165") - node.BrowseName = ua.QualifiedName.from_string("MaintenanceConditionClassType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=11163") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(11165, 0) + node.BrowseName = QualifiedName('MaintenanceConditionClassType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(11163, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("MaintenanceConditionClassType") + attrs.DisplayName = LocalizedText("MaintenanceConditionClassType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=11165") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11163") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(11165, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11163, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11166") - node.BrowseName = ua.QualifiedName.from_string("SystemConditionClassType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=11163") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(11166, 0) + node.BrowseName = QualifiedName('SystemConditionClassType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(11163, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("SystemConditionClassType") + attrs.DisplayName = LocalizedText("SystemConditionClassType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=11166") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11163") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(11166, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11163, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17218") - node.BrowseName = ua.QualifiedName.from_string("SafetyConditionClassType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=11163") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(17218, 0) + node.BrowseName = QualifiedName('SafetyConditionClassType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(11163, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("SafetyConditionClassType") + attrs.DisplayName = LocalizedText("SafetyConditionClassType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=17218") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11163") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(17218, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11163, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17219") - node.BrowseName = ua.QualifiedName.from_string("HighlyManagedAlarmConditionClassType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=11163") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(17219, 0) + node.BrowseName = QualifiedName('HighlyManagedAlarmConditionClassType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(11163, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("HighlyManagedAlarmConditionClassType") + attrs.DisplayName = LocalizedText("HighlyManagedAlarmConditionClassType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=17219") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11163") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(17219, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11163, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17220") - node.BrowseName = ua.QualifiedName.from_string("TrainingConditionClassType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=11163") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(17220, 0) + node.BrowseName = QualifiedName('TrainingConditionClassType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(11163, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("TrainingConditionClassType") + attrs.DisplayName = LocalizedText("TrainingConditionClassType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=17220") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11163") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(17220, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11163, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=18665") - node.BrowseName = ua.QualifiedName.from_string("StatisticalConditionClassType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=11163") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(18665, 0) + node.BrowseName = QualifiedName('StatisticalConditionClassType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(11163, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("StatisticalConditionClassType") + attrs.DisplayName = LocalizedText("StatisticalConditionClassType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=18665") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11163") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(18665, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11163, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17221") - node.BrowseName = ua.QualifiedName.from_string("TestingConditionClassType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=11163") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(17221, 0) + node.BrowseName = QualifiedName('TestingConditionClassType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(11163, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("TestingConditionClassType") + attrs.DisplayName = LocalizedText("TestingConditionClassType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=17221") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11163") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(17221, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11163, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2790") - node.BrowseName = ua.QualifiedName.from_string("AuditConditionEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2127") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2790, 0) + node.BrowseName = QualifiedName('AuditConditionEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2127, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditConditionEventType") + attrs.DisplayName = LocalizedText("AuditConditionEventType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2790") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2127") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2790, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2127, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2803") - node.BrowseName = ua.QualifiedName.from_string("AuditConditionEnableEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2790") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2803, 0) + node.BrowseName = QualifiedName('AuditConditionEnableEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2790, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditConditionEnableEventType") + attrs.DisplayName = LocalizedText("AuditConditionEnableEventType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2803") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2790") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2803, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2790, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2829") - node.BrowseName = ua.QualifiedName.from_string("AuditConditionCommentEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2790") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2829, 0) + node.BrowseName = QualifiedName('AuditConditionCommentEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2790, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditConditionCommentEventType") + attrs.DisplayName = LocalizedText("AuditConditionCommentEventType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2829") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17222") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2829, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17222, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=2829") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11851") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(2829, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11851, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2829") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2790") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2829, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2790, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17222") - node.BrowseName = ua.QualifiedName.from_string("ConditionEventId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2829") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(17222, 0) + node.BrowseName = QualifiedName('ConditionEventId', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2829, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ConditionEventId") + attrs.DisplayName = LocalizedText("ConditionEventId") attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -12469,36 +12471,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=17222") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(17222, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=17222") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(17222, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=17222") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2829") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17222, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2829, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11851") - node.BrowseName = ua.QualifiedName.from_string("Comment") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=2829") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11851, 0) + node.BrowseName = QualifiedName('Comment', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(2829, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Comment") + attrs.DisplayName = LocalizedText("Comment") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -12506,64 +12508,64 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11851") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11851, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11851") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11851, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11851") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2829") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11851, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2829, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8927") - node.BrowseName = ua.QualifiedName.from_string("AuditConditionRespondEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2790") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(8927, 0) + node.BrowseName = QualifiedName('AuditConditionRespondEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2790, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditConditionRespondEventType") + attrs.DisplayName = LocalizedText("AuditConditionRespondEventType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=8927") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11852") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(8927, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11852, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=8927") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2790") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(8927, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2790, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11852") - node.BrowseName = ua.QualifiedName.from_string("SelectedResponse") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8927") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11852, 0) + node.BrowseName = QualifiedName('SelectedResponse', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8927, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("SelectedResponse") + attrs.DisplayName = LocalizedText("SelectedResponse") attrs.DataType = ua.NodeId(ua.ObjectIds.Int32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -12571,71 +12573,71 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11852") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11852, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11852") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11852, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11852") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8927") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11852, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8927, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8944") - node.BrowseName = ua.QualifiedName.from_string("AuditConditionAcknowledgeEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2790") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(8944, 0) + node.BrowseName = QualifiedName('AuditConditionAcknowledgeEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2790, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditConditionAcknowledgeEventType") + attrs.DisplayName = LocalizedText("AuditConditionAcknowledgeEventType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=8944") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17223") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(8944, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17223, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=8944") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11853") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(8944, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11853, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=8944") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2790") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(8944, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2790, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17223") - node.BrowseName = ua.QualifiedName.from_string("ConditionEventId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8944") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(17223, 0) + node.BrowseName = QualifiedName('ConditionEventId', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8944, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ConditionEventId") + attrs.DisplayName = LocalizedText("ConditionEventId") attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -12643,36 +12645,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=17223") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(17223, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=17223") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(17223, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=17223") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8944") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17223, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8944, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11853") - node.BrowseName = ua.QualifiedName.from_string("Comment") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8944") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11853, 0) + node.BrowseName = QualifiedName('Comment', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8944, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Comment") + attrs.DisplayName = LocalizedText("Comment") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -12680,71 +12682,71 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11853") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11853, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11853") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11853, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11853") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8944") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11853, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8944, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=8961") - node.BrowseName = ua.QualifiedName.from_string("AuditConditionConfirmEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2790") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(8961, 0) + node.BrowseName = QualifiedName('AuditConditionConfirmEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2790, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditConditionConfirmEventType") + attrs.DisplayName = LocalizedText("AuditConditionConfirmEventType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=8961") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17224") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(8961, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17224, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=8961") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11854") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(8961, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11854, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=8961") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2790") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(8961, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2790, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17224") - node.BrowseName = ua.QualifiedName.from_string("ConditionEventId") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8961") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(17224, 0) + node.BrowseName = QualifiedName('ConditionEventId', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8961, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ConditionEventId") + attrs.DisplayName = LocalizedText("ConditionEventId") attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -12752,36 +12754,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=17224") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(17224, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=17224") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(17224, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=17224") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8961") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17224, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8961, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11854") - node.BrowseName = ua.QualifiedName.from_string("Comment") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=8961") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11854, 0) + node.BrowseName = QualifiedName('Comment', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(8961, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Comment") + attrs.DisplayName = LocalizedText("Comment") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -12789,437 +12791,437 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11854") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11854, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11854") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11854, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11854") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=8961") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11854, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(8961, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11093") - node.BrowseName = ua.QualifiedName.from_string("AuditConditionShelvingEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2790") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(11093, 0) + node.BrowseName = QualifiedName('AuditConditionShelvingEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2790, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditConditionShelvingEventType") + attrs.DisplayName = LocalizedText("AuditConditionShelvingEventType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11093") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11855") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11093, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11855, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=11093") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2790") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(11093, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2790, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=11855") - node.BrowseName = ua.QualifiedName.from_string("ShelvingTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=11093") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(11855, 0) + node.BrowseName = QualifiedName('ShelvingTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(11093, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("ShelvingTime") - attrs.DataType = ua.NodeId.from_string("i=290") + attrs.DisplayName = LocalizedText("ShelvingTime") + attrs.DataType = NumericNodeId(290, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=11855") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(11855, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=11855") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(11855, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=11855") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=11093") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(11855, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(11093, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17225") - node.BrowseName = ua.QualifiedName.from_string("AuditConditionSuppressEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2790") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(17225, 0) + node.BrowseName = QualifiedName('AuditConditionSuppressEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2790, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditConditionSuppressEventType") + attrs.DisplayName = LocalizedText("AuditConditionSuppressEventType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=17225") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2790") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(17225, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2790, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17242") - node.BrowseName = ua.QualifiedName.from_string("AuditConditionSilenceEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2790") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(17242, 0) + node.BrowseName = QualifiedName('AuditConditionSilenceEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2790, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditConditionSilenceEventType") + attrs.DisplayName = LocalizedText("AuditConditionSilenceEventType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=17242") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2790") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(17242, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2790, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=15013") - node.BrowseName = ua.QualifiedName.from_string("AuditConditionResetEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2790") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(15013, 0) + node.BrowseName = QualifiedName('AuditConditionResetEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2790, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditConditionResetEventType") + attrs.DisplayName = LocalizedText("AuditConditionResetEventType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=15013") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2790") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(15013, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2790, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17259") - node.BrowseName = ua.QualifiedName.from_string("AuditConditionOutOfServiceEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2790") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(17259, 0) + node.BrowseName = QualifiedName('AuditConditionOutOfServiceEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2790, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AuditConditionOutOfServiceEventType") + attrs.DisplayName = LocalizedText("AuditConditionOutOfServiceEventType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=17259") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2790") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(17259, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2790, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2787") - node.BrowseName = ua.QualifiedName.from_string("RefreshStartEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2130") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2787, 0) + node.BrowseName = QualifiedName('RefreshStartEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2130, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("RefreshStartEventType") + attrs.DisplayName = LocalizedText("RefreshStartEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2787") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2130") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2787, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2130, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2788") - node.BrowseName = ua.QualifiedName.from_string("RefreshEndEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2130") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2788, 0) + node.BrowseName = QualifiedName('RefreshEndEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2130, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("RefreshEndEventType") + attrs.DisplayName = LocalizedText("RefreshEndEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2788") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2130") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2788, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2130, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=2789") - node.BrowseName = ua.QualifiedName.from_string("RefreshRequiredEventType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=2130") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(2789, 0) + node.BrowseName = QualifiedName('RefreshRequiredEventType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(2130, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("RefreshRequiredEventType") + attrs.DisplayName = LocalizedText("RefreshRequiredEventType") attrs.IsAbstract = True node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=2789") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=2130") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(2789, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2130, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=9006") - node.BrowseName = ua.QualifiedName.from_string("HasCondition") - node.NodeClass = ua.NodeClass.ReferenceType - node.ParentNodeId = ua.NodeId.from_string("i=32") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(9006, 0) + node.BrowseName = QualifiedName('HasCondition', 0) + node.NodeClass = NodeClass.ReferenceType + node.ParentNodeId = NumericNodeId(32, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ReferenceTypeAttributes() - attrs.DisplayName = ua.LocalizedText("HasCondition") - attrs.InverseName = ua.LocalizedText("IsConditionOf") + attrs.DisplayName = LocalizedText("HasCondition") + attrs.InverseName = LocalizedText("IsConditionOf") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=9006") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=32") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(9006, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(32, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17276") - node.BrowseName = ua.QualifiedName.from_string("HasEffectDisable") - node.NodeClass = ua.NodeClass.ReferenceType - node.ParentNodeId = ua.NodeId.from_string("i=54") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(17276, 0) + node.BrowseName = QualifiedName('HasEffectDisable', 0) + node.NodeClass = NodeClass.ReferenceType + node.ParentNodeId = NumericNodeId(54, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ReferenceTypeAttributes() - attrs.DisplayName = ua.LocalizedText("HasEffectDisable") - attrs.InverseName = ua.LocalizedText("MayBeDisabledBy") + attrs.DisplayName = LocalizedText("HasEffectDisable") + attrs.InverseName = LocalizedText("MayBeDisabledBy") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=17276") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=54") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(17276, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(54, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17983") - node.BrowseName = ua.QualifiedName.from_string("HasEffectEnable") - node.NodeClass = ua.NodeClass.ReferenceType - node.ParentNodeId = ua.NodeId.from_string("i=54") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(17983, 0) + node.BrowseName = QualifiedName('HasEffectEnable', 0) + node.NodeClass = NodeClass.ReferenceType + node.ParentNodeId = NumericNodeId(54, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ReferenceTypeAttributes() - attrs.DisplayName = ua.LocalizedText("HasEffectEnable") - attrs.InverseName = ua.LocalizedText("MayBeEnabledBy") + attrs.DisplayName = LocalizedText("HasEffectEnable") + attrs.InverseName = LocalizedText("MayBeEnabledBy") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=17983") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=54") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(17983, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(54, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17984") - node.BrowseName = ua.QualifiedName.from_string("HasEffectSuppressed") - node.NodeClass = ua.NodeClass.ReferenceType - node.ParentNodeId = ua.NodeId.from_string("i=54") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(17984, 0) + node.BrowseName = QualifiedName('HasEffectSuppressed', 0) + node.NodeClass = NodeClass.ReferenceType + node.ParentNodeId = NumericNodeId(54, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ReferenceTypeAttributes() - attrs.DisplayName = ua.LocalizedText("HasEffectSuppressed") - attrs.InverseName = ua.LocalizedText("MayBeSuppressedBy") + attrs.DisplayName = LocalizedText("HasEffectSuppressed") + attrs.InverseName = LocalizedText("MayBeSuppressedBy") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=17984") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=54") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(17984, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(54, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17985") - node.BrowseName = ua.QualifiedName.from_string("HasEffectUnsuppressed") - node.NodeClass = ua.NodeClass.ReferenceType - node.ParentNodeId = ua.NodeId.from_string("i=54") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(17985, 0) + node.BrowseName = QualifiedName('HasEffectUnsuppressed', 0) + node.NodeClass = NodeClass.ReferenceType + node.ParentNodeId = NumericNodeId(54, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ReferenceTypeAttributes() - attrs.DisplayName = ua.LocalizedText("HasEffectUnsuppressed") - attrs.InverseName = ua.LocalizedText("MayBeUnsuppressedBy") + attrs.DisplayName = LocalizedText("HasEffectUnsuppressed") + attrs.InverseName = LocalizedText("MayBeUnsuppressedBy") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=17985") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=54") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(17985, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(54, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17279") - node.BrowseName = ua.QualifiedName.from_string("AlarmMetricsType") - node.NodeClass = ua.NodeClass.ObjectType - node.ParentNodeId = ua.NodeId.from_string("i=58") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(17279, 0) + node.BrowseName = QualifiedName('AlarmMetricsType', 0) + node.NodeClass = NodeClass.ObjectType + node.ParentNodeId = NumericNodeId(58, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.ObjectTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AlarmMetricsType") + attrs.DisplayName = LocalizedText("AlarmMetricsType") attrs.IsAbstract = False node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=17279") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17280") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17279, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17280, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=17279") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17991") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17279, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17991, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=17279") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17281") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17279, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17281, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=17279") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17282") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17279, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17282, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=17279") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17284") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(17279, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17284, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=17279") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17286") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(17279, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17286, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=17279") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17283") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17279, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17283, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=17279") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17288") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(17279, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17288, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=17279") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=18666") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(17279, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(18666, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=17279") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=58") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(17279, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(58, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17280") - node.BrowseName = ua.QualifiedName.from_string("AlarmCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=17279") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(17280, 0) + node.BrowseName = QualifiedName('AlarmCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(17279, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AlarmCount") + attrs.DisplayName = LocalizedText("AlarmCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -13227,147 +13229,147 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=17280") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(17280, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=17280") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(17280, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=17280") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17279") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17280, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17279, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17991") - node.BrowseName = ua.QualifiedName.from_string("StartTime") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=17279") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(17991, 0) + node.BrowseName = QualifiedName('StartTime', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(17279, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("StartTime") - attrs.DataType = ua.NodeId.from_string("i=294") + attrs.DisplayName = LocalizedText("StartTime") + attrs.DataType = NumericNodeId(294, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=17991") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(17991, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=17991") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(17991, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=17991") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17279") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17991, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17279, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17281") - node.BrowseName = ua.QualifiedName.from_string("MaximumActiveState") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=17279") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(17281, 0) + node.BrowseName = QualifiedName('MaximumActiveState', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(17279, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MaximumActiveState") - attrs.DataType = ua.NodeId.from_string("i=290") + attrs.DisplayName = LocalizedText("MaximumActiveState") + attrs.DataType = NumericNodeId(290, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=17281") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(17281, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=17281") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(17281, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=17281") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17279") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17281, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17279, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17282") - node.BrowseName = ua.QualifiedName.from_string("MaximumUnAck") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=17279") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(17282, 0) + node.BrowseName = QualifiedName('MaximumUnAck', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(17279, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MaximumUnAck") - attrs.DataType = ua.NodeId.from_string("i=290") + attrs.DisplayName = LocalizedText("MaximumUnAck") + attrs.DataType = NumericNodeId(290, 0) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=17282") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(17282, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=17282") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(17282, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=17282") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17279") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17282, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17279, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17284") - node.BrowseName = ua.QualifiedName.from_string("CurrentAlarmRate") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=17279") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=17277") + node.RequestedNewNodeId = NumericNodeId(17284, 0) + node.BrowseName = QualifiedName('CurrentAlarmRate', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(17279, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(17277, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("CurrentAlarmRate") + attrs.DisplayName = LocalizedText("CurrentAlarmRate") attrs.DataType = ua.NodeId(ua.ObjectIds.Double) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -13375,43 +13377,43 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=17284") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17285") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17284, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17285, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=17284") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17277") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(17284, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17277, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=17284") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(17284, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=17284") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17279") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(17284, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17279, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17285") - node.BrowseName = ua.QualifiedName.from_string("Rate") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=17284") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(17285, 0) + node.BrowseName = QualifiedName('Rate', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(17284, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Rate") + attrs.DisplayName = LocalizedText("Rate") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -13419,36 +13421,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=17285") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(17285, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=17285") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(17285, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=17285") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17284") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17285, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17284, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17286") - node.BrowseName = ua.QualifiedName.from_string("MaximumAlarmRate") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=17279") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=17277") + node.RequestedNewNodeId = NumericNodeId(17286, 0) + node.BrowseName = QualifiedName('MaximumAlarmRate', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(17279, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(17277, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MaximumAlarmRate") + attrs.DisplayName = LocalizedText("MaximumAlarmRate") attrs.DataType = ua.NodeId(ua.ObjectIds.Double) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -13456,43 +13458,43 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=17286") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17287") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17286, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17287, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=17286") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17277") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(17286, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17277, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=17286") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(17286, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=17286") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17279") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(17286, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17279, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17287") - node.BrowseName = ua.QualifiedName.from_string("Rate") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=17286") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(17287, 0) + node.BrowseName = QualifiedName('Rate', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(17286, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Rate") + attrs.DisplayName = LocalizedText("Rate") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -13500,36 +13502,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=17287") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(17287, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=17287") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(17287, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=17287") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17286") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17287, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17286, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17283") - node.BrowseName = ua.QualifiedName.from_string("MaximumReAlarmCount") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=17279") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(17283, 0) + node.BrowseName = QualifiedName('MaximumReAlarmCount', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(17279, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("MaximumReAlarmCount") + attrs.DisplayName = LocalizedText("MaximumReAlarmCount") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt32) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -13537,36 +13539,36 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=17283") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(17283, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=17283") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(17283, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=17283") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17279") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17283, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17279, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17288") - node.BrowseName = ua.QualifiedName.from_string("AverageAlarmRate") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=17279") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") - node.TypeDefinition = ua.NodeId.from_string("i=17277") + node.RequestedNewNodeId = NumericNodeId(17288, 0) + node.BrowseName = QualifiedName('AverageAlarmRate', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(17279, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) + node.TypeDefinition = NumericNodeId(17277, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("AverageAlarmRate") + attrs.DisplayName = LocalizedText("AverageAlarmRate") attrs.DataType = ua.NodeId(ua.ObjectIds.Double) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -13574,43 +13576,43 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=17288") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17289") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17288, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17289, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=17288") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17277") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(17288, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17277, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=17288") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(17288, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=17288") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17279") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(17288, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17279, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17289") - node.BrowseName = ua.QualifiedName.from_string("Rate") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=17288") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(17289, 0) + node.BrowseName = QualifiedName('Rate', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(17288, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Rate") + attrs.DisplayName = LocalizedText("Rate") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -13618,63 +13620,63 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=17289") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(17289, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=17289") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(17289, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=17289") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17288") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17289, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17288, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=18666") - node.BrowseName = ua.QualifiedName.from_string("Reset") - node.NodeClass = ua.NodeClass.Method - node.ParentNodeId = ua.NodeId.from_string("i=17279") - node.ReferenceTypeId = ua.NodeId.from_string("i=47") + node.RequestedNewNodeId = NumericNodeId(18666, 0) + node.BrowseName = QualifiedName('Reset', 0) + node.NodeClass = NodeClass.Method + node.ParentNodeId = NumericNodeId(17279, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) attrs = ua.MethodAttributes() - attrs.DisplayName = ua.LocalizedText("Reset") + attrs.DisplayName = LocalizedText("Reset") node.NodeAttributes = attrs server.add_nodes([node]) refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=18666") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(18666, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=47") - ref.SourceNodeId = ua.NodeId.from_string("i=18666") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17279") + ref.ReferenceTypeId = NumericNodeId(47, 0) + ref.SourceNodeId = NumericNodeId(18666, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17279, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17277") - node.BrowseName = ua.QualifiedName.from_string("AlarmRateVariableType") - node.NodeClass = ua.NodeClass.VariableType - node.ParentNodeId = ua.NodeId.from_string("i=63") - node.ReferenceTypeId = ua.NodeId.from_string("i=45") + node.RequestedNewNodeId = NumericNodeId(17277, 0) + node.BrowseName = QualifiedName('AlarmRateVariableType', 0) + node.NodeClass = NodeClass.VariableType + node.ParentNodeId = NumericNodeId(63, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.VariableTypeAttributes() - attrs.DisplayName = ua.LocalizedText("AlarmRateVariableType") - attrs.DisplayName = ua.LocalizedText("AlarmRateVariableType") + attrs.DisplayName = LocalizedText("AlarmRateVariableType") + attrs.DisplayName = LocalizedText("AlarmRateVariableType") attrs.DataType = ua.NodeId(ua.ObjectIds.Double) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -13682,29 +13684,29 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=17277") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17278") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17277, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17278, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=45") - ref.SourceNodeId = ua.NodeId.from_string("i=17277") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=63") + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(17277, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(63, 0) refs.append(ref) server.add_references(refs) node = ua.AddNodesItem() - node.RequestedNewNodeId = ua.NodeId.from_string("i=17278") - node.BrowseName = ua.QualifiedName.from_string("Rate") - node.NodeClass = ua.NodeClass.Variable - node.ParentNodeId = ua.NodeId.from_string("i=17277") - node.ReferenceTypeId = ua.NodeId.from_string("i=46") - node.TypeDefinition = ua.NodeId.from_string("i=68") + node.RequestedNewNodeId = NumericNodeId(17278, 0) + node.BrowseName = QualifiedName('Rate', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(17277, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) attrs = ua.VariableAttributes() - attrs.DisplayName = ua.LocalizedText("Rate") + attrs.DisplayName = LocalizedText("Rate") attrs.DataType = ua.NodeId(ua.ObjectIds.UInt16) attrs.ValueRank = -1 node.NodeAttributes = attrs @@ -13712,23 +13714,23 @@ def create_standard_address_space_Part9(server): refs = [] ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=40") - ref.SourceNodeId = ua.NodeId.from_string("i=17278") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=68") + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(17278, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True - ref.ReferenceTypeId = ua.NodeId.from_string("i=37") - ref.SourceNodeId = ua.NodeId.from_string("i=17278") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=78") + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(17278, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = ua.NodeId.from_string("i=46") - ref.SourceNodeId = ua.NodeId.from_string("i=17278") - ref.TargetNodeClass = ua.NodeClass.DataType - ref.TargetNodeId = ua.NodeId.from_string("i=17277") + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17278, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17277, 0) refs.append(ref) server.add_references(refs) diff --git a/schemas/generate_address_space.py b/schemas/generate_address_space.py index a9e740d41..4267fdb58 100644 --- a/schemas/generate_address_space.py +++ b/schemas/generate_address_space.py @@ -14,7 +14,7 @@ def _to_val(objs, attr, val): for o in objs[1:]: cls = getattr(ua, _get_uatype_name(cls, o)) if cls == ua.NodeId: - return "ua.NodeId.from_string('val')" + return "NodeId.from_string('val')" return ua_type_to_python(val, _get_uatype_name(cls, attr)) @@ -34,6 +34,51 @@ def ua_type_to_python(val, uatype): return val +def bname_code(string): + if ":" in string: + idx, name = string.split(":", 1) + else: + idx = 0 + name = string + return f"QualifiedName('{name}', {idx})" + + +def nodeid_code(string): + l = string.split(";") + identifier = None + namespace = 0 + ntype = None + srv = None + nsu = None + for el in l: + if not el: + continue + k, v = el.split("=", 1) + k = k.strip() + v = v.strip() + if k == "ns": + namespace = v + elif k == "i": + ntype = "NumericNodeId" + identifier = v + elif k == "s": + ntype = "StringNodeId" + identifier = f"'{v}'" + elif k == "g": + ntype = "GuidNodeId" + identifier = f"b'{v}'" + elif k == "b": + ntype = "ByteStringNodeId" + identifier = f"b'{v}'" + elif k == "srv": + srv = v + elif k == "nsu": + nsu = v + if identifier is None: + raise Exception("Could not find identifier in string: " + string) + return f"{ntype}({identifier}, {namespace})" + + class CodeGenerator(object): def __init__(self, input_path, output_path): @@ -79,6 +124,8 @@ def make_header(self, ): """ from opcua import ua +from opcua.ua import NodeId, QualifiedName, NumericNodeId, StringNodeId, GuidNodeId +from opcua.ua import NodeClass, LocalizedText def create_standard_address_space_{self.part!s}(server): @@ -86,27 +133,27 @@ def create_standard_address_space_{self.part!s}(server): def make_node_code(self, obj, indent): self.writecode(indent, 'node = ua.AddNodesItem()') - self.writecode(indent, f'node.RequestedNewNodeId = ua.NodeId.from_string("{obj.nodeid}")') - self.writecode(indent, f'node.BrowseName = ua.QualifiedName.from_string("{obj.browsename}")') - self.writecode(indent, f'node.NodeClass = ua.NodeClass.{obj.nodetype[2:]}') + self.writecode(indent, 'node.RequestedNewNodeId = {}'.format(nodeid_code(obj.nodeid))) + self.writecode(indent, 'node.BrowseName = {}'.format(bname_code(obj.browsename))) + self.writecode(indent, 'node.NodeClass = NodeClass.{0}'.format(obj.nodetype[2:])) if obj.parent and obj.parentlink: - self.writecode(indent, f'node.ParentNodeId = ua.NodeId.from_string("{obj.parent}")') - self.writecode(indent, f'node.ReferenceTypeId = {self.to_ref_type(obj.parentlink)}') + self.writecode(indent, 'node.ParentNodeId = {}'.format(nodeid_code(obj.parent))) + self.writecode(indent, 'node.ReferenceTypeId = {0}'.format(self.to_ref_type(obj.parentlink))) if obj.typedef: - self.writecode(indent, f'node.TypeDefinition = ua.NodeId.from_string("{obj.typedef}")') + self.writecode(indent, 'node.TypeDefinition = {}'.format(nodeid_code(obj.typedef))) def to_data_type(self, nodeid): if not nodeid: return "ua.NodeId(ua.ObjectIds.String)" if "=" in nodeid: - return f'ua.NodeId.from_string("{nodeid}")' + return nodeid_code(nodeid) else: return f'ua.NodeId(ua.ObjectIds.{nodeid})' def to_ref_type(self, nodeid): if "=" not in nodeid: nodeid = self.parser.get_aliases()[nodeid] - return f'ua.NodeId.from_string("{nodeid}")' + return nodeid_code(nodeid) def make_object_code(self, obj): indent = " " @@ -114,9 +161,9 @@ def make_object_code(self, obj): self.make_node_code(obj, indent) self.writecode(indent, 'attrs = ua.ObjectAttributes()') if obj.desc: - self.writecode(indent, f'attrs.Description = ua.LocalizedText("{obj.desc}")') - self.writecode(indent, f'attrs.DisplayName = ua.LocalizedText("{obj.displayname}")') - self.writecode(indent, f'attrs.EventNotifier = {obj.eventnotifier}') + self.writecode(indent, 'attrs.Description = LocalizedText("{0}")'.format(obj.desc)) + self.writecode(indent, 'attrs.DisplayName = LocalizedText("{0}")'.format(obj.displayname)) + self.writecode(indent, 'attrs.EventNotifier = {0}'.format(obj.eventnotifier)) self.writecode(indent, 'node.NodeAttributes = attrs') self.writecode(indent, 'server.add_nodes([node])') self.make_refs_code(obj, indent) @@ -127,18 +174,18 @@ def make_object_type_code(self, obj): self.make_node_code(obj, indent) self.writecode(indent, 'attrs = ua.ObjectTypeAttributes()') if obj.desc: - self.writecode(indent, f'attrs.Description = ua.LocalizedText("{obj.desc}")') - self.writecode(indent, f'attrs.DisplayName = ua.LocalizedText("{obj.displayname}")') - self.writecode(indent, f'attrs.IsAbstract = {obj.abstract}') + self.writecode(indent, 'attrs.Description = LocalizedText("{0}")'.format(obj.desc)) + self.writecode(indent, 'attrs.DisplayName = LocalizedText("{0}")'.format(obj.displayname)) + self.writecode(indent, 'attrs.IsAbstract = {0}'.format(obj.abstract)) self.writecode(indent, 'node.NodeAttributes = attrs') self.writecode(indent, 'server.add_nodes([node])') self.make_refs_code(obj, indent) def make_common_variable_code(self, indent, obj): if obj.desc: - self.writecode(indent, f'attrs.Description = ua.LocalizedText("{obj.desc}")') - self.writecode(indent, f'attrs.DisplayName = ua.LocalizedText("{obj.displayname}")') - self.writecode(indent, f'attrs.DataType = {self.to_data_type(obj.datatype)}') + self.writecode(indent, 'attrs.Description = LocalizedText("{0}")'.format(obj.desc)) + self.writecode(indent, 'attrs.DisplayName = LocalizedText("{0}")'.format(obj.displayname)) + self.writecode(indent, 'attrs.DataType = {0}'.format(self.to_data_type(obj.datatype))) if obj.value is not None: if obj.valuetype == "ListOfExtensionObject": self.writecode(indent, 'value = []') @@ -151,8 +198,8 @@ def make_common_variable_code(self, indent, obj): self.writecode(indent, 'value = extobj') self.writecode(indent, 'attrs.Value = ua.Variant(value, ua.VariantType.ExtensionObject)') elif obj.valuetype == "ListOfLocalizedText": - value = [f'ua.LocalizedText({text!r})' for text in obj.value] - self.writecode(indent, f'attrs.Value = [{",".join(value)}]') + value = ['LocalizedText({0})'.format(repr(text)) for text in obj.value] + self.writecode(indent, 'attrs.Value = [{}]'.format(','.join(value))) else: if obj.valuetype.startswith("ListOf"): obj.valuetype = obj.valuetype[6:] @@ -177,8 +224,8 @@ def make_ext_obj_code(self, indent, extobj): val = _to_val([extobj.objname], k, v) self.writecode(indent, f'extobj.{k} = {v}') else: - if k == "DataType": # hack for strange nodeid xml format - self.writecode(indent, f'extobj.{k} = ua.NodeId.from_string("{v[0][1]}")') + if k == "DataType": #hack for strange nodeid xml format + self.writecode(indent, 'extobj.{0} = {1}'.format(k, nodeid_code(v[0][1]))) continue for k2, v2 in v: val2 = _to_val([extobj.objname, k], k2, v2) @@ -202,8 +249,8 @@ def make_variable_type_code(self, obj): self.make_node_code(obj, indent) self.writecode(indent, 'attrs = ua.VariableTypeAttributes()') if obj.desc: - self.writecode(indent, f'attrs.Description = ua.LocalizedText("{obj.desc}")') - self.writecode(indent, f'attrs.DisplayName = ua.LocalizedText("{obj.displayname}")') + self.writecode(indent, 'attrs.Description = LocalizedText("{0}")'.format(obj.desc)) + self.writecode(indent, 'attrs.DisplayName = LocalizedText("{0}")'.format(obj.displayname)) if obj.abstract: self.writecode(indent, f'attrs.IsAbstract = {obj.abstract}') self.make_common_variable_code(indent, obj) @@ -217,8 +264,8 @@ def make_method_code(self, obj): self.make_node_code(obj, indent) self.writecode(indent, 'attrs = ua.MethodAttributes()') if obj.desc: - self.writecode(indent, f'attrs.Description = ua.LocalizedText("{obj.desc}")') - self.writecode(indent, f'attrs.DisplayName = ua.LocalizedText("{obj.displayname}")') + self.writecode(indent, 'attrs.Description = LocalizedText("{0}")'.format(obj.desc)) + self.writecode(indent, 'attrs.DisplayName = LocalizedText("{0}")'.format(obj.displayname)) self.writecode(indent, 'node.NodeAttributes = attrs') self.writecode(indent, 'server.add_nodes([node])') self.make_refs_code(obj, indent) @@ -229,10 +276,10 @@ def make_reference_code(self, obj): self.make_node_code(obj, indent) self.writecode(indent, 'attrs = ua.ReferenceTypeAttributes()') if obj.desc: - self.writecode(indent, f'attrs.Description = ua.LocalizedText("{obj.desc}")') - self.writecode(indent, f'attrs.DisplayName = ua.LocalizedText("{obj.displayname}")') - if obj.inversename: - self.writecode(indent, f'attrs.InverseName = ua.LocalizedText("{obj.inversename}")') + self.writecode(indent, 'attrs.Description = LocalizedText("{0}")'.format(obj.desc)) + self.writecode(indent, 'attrs.DisplayName = LocalizedText("{0}")'.format(obj.displayname)) + if obj. inversename: + self.writecode(indent, 'attrs.InverseName = LocalizedText("{0}")'.format(obj.inversename)) if obj.abstract: self.writecode(indent, f'attrs.IsAbstract = {obj.abstract}') if obj.symmetric: @@ -247,8 +294,8 @@ def make_datatype_code(self, obj): self.make_node_code(obj, indent) self.writecode(indent, 'attrs = ua.DataTypeAttributes()') if obj.desc: - self.writecode(indent, f'attrs.Description = ua.LocalizedText("{obj.desc}")') - self.writecode(indent, f'attrs.DisplayName = ua.LocalizedText("{obj.displayname}")') + self.writecode(indent, u'attrs.Description = LocalizedText("{0}")'.format(obj.desc)) + self.writecode(indent, 'attrs.DisplayName = LocalizedText("{0}")'.format(obj.displayname)) if obj.abstract: self.writecode(indent, f'attrs.IsAbstract = {obj.abstract}') self.writecode(indent, 'node.NodeAttributes = attrs') @@ -261,11 +308,11 @@ def make_refs_code(self, obj, indent): self.writecode(indent, "refs = []") for ref in obj.refs: self.writecode(indent, 'ref = ua.AddReferencesItem()') - self.writecode(indent, f'ref.IsForward = {ref.forward}') - self.writecode(indent, f'ref.ReferenceTypeId = {self.to_ref_type(ref.reftype)}') - self.writecode(indent, f'ref.SourceNodeId = ua.NodeId.from_string("{obj.nodeid}")') - self.writecode(indent, 'ref.TargetNodeClass = ua.NodeClass.DataType') - self.writecode(indent, f'ref.TargetNodeId = ua.NodeId.from_string("{ref.target}")') + self.writecode(indent, 'ref.IsForward = {0}'.format(ref.forward)) + self.writecode(indent, 'ref.ReferenceTypeId = {0}'.format(self.to_ref_type(ref.reftype))) + self.writecode(indent, 'ref.SourceNodeId = {0}'.format(nodeid_code(obj.nodeid))) + self.writecode(indent, 'ref.TargetNodeClass = NodeClass.DataType') + self.writecode(indent, 'ref.TargetNodeId = {0}'.format(nodeid_code(ref.target))) self.writecode(indent, "refs.append(ref)") self.writecode(indent, 'server.add_references(refs)') From bc636f1b5115040ee5aec2541498d1cce83a1480 Mon Sep 17 00:00:00 2001 From: oroulet Date: Mon, 4 Jun 2018 14:14:32 +0200 Subject: [PATCH 089/113] while importing xml override ParentNodeId attribute with the references which is more reliable and has more information --- opcua/common/xmlparser.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/opcua/common/xmlparser.py b/opcua/common/xmlparser.py index 0c586a64e..3bc431d53 100644 --- a/opcua/common/xmlparser.py +++ b/opcua/common/xmlparser.py @@ -341,7 +341,8 @@ def _parse_refs(self, el, obj): if ref.attrib["ReferenceType"] == "HasTypeDefinition": obj.typedef = ref.text elif not struct.forward: - if not obj.parent: - obj.parent = ref.text + # Rmq: parent giving as ParentNodeId misses the ref type, so better to prioritize the ref descr + #if not obj.parent: + obj.parent = ref.text if obj.parent == ref.text: obj.parentlink = ref.attrib["ReferenceType"] From a9a7eb11702db494ff6bbd3c9c49ad8f73289ce2 Mon Sep 17 00:00:00 2001 From: nic Date: Mon, 4 Jun 2018 22:41:03 +0200 Subject: [PATCH 090/113] cherry pick/merge c0cbca000e306e3f70453266b125a55b9b7fbe27 --- opcua/server/server.py | 84 +++++++++++++++++------------------------- 1 file changed, 33 insertions(+), 51 deletions(-) diff --git a/opcua/server/server.py b/opcua/server/server.py index 0aeff4a6d..65bc3c9d1 100644 --- a/opcua/server/server.py +++ b/opcua/server/server.py @@ -91,9 +91,7 @@ def __init__(self, iserver=None): self.private_key = None self._policies = [] self.nodes = Shortcuts(self.iserver.isession) - self._security_endpoints = [ - "None", "Basic128Rsa15_Sign", "Basic128Rsa15_SignAndEncrypt", "Basic256_Sign", "Basic256_SignAndEncrypt" - ] + self._security_endpoints = ["Basic256_Sign", "Basic256_SignAndEncrypt"] self._policyIDs = ["Anonymous", "Basic256", "Basic128", "Username"] async def init(self, shelf_file=None): @@ -260,54 +258,38 @@ async def _setup_server_nodes(self): "Creating an open endpoint to the server, although encrypted endpoints are enabled.") if self.certificate and self.private_key: - if "Basic128Rsa15_Sign" in self._security_endpoints: - self._set_endpoints( - security_policies.SecurityPolicyBasic128Rsa15, - ua.MessageSecurityMode.SignAndEncrypt) - self._policies.append( - ua.SecurityPolicyFactory( - security_policies.SecurityPolicyBasic128Rsa15, - ua.MessageSecurityMode.SignAndEncrypt, - self.certificate, - self.private_key - ) - ) - if "Basic128Rsa15_SignAndEncrypt" in self._security_endpoints: - self._set_endpoints( - security_policies.SecurityPolicyBasic128Rsa15, - ua.MessageSecurityMode.Sign) - self._policies.append( - ua.SecurityPolicyFactory( - security_policies.SecurityPolicyBasic128Rsa15, - ua.MessageSecurityMode.Sign, - self.certificate, - self.private_key - ) - ) - if "Basic256_Sign" in self._security_endpoints: - self._set_endpoints( - security_policies.SecurityPolicyBasic256, - ua.MessageSecurityMode.SignAndEncrypt) - self._policies.append( - ua.SecurityPolicyFactory( - security_policies.SecurityPolicyBasic256, - ua.MessageSecurityMode.SignAndEncrypt, - self.certificate, - self.private_key - ) - ) - if "Basic256_SignAndEncrypt" in self._security_endpoints: - self._set_endpoints( - security_policies.SecurityPolicyBasic256, - ua.MessageSecurityMode.Sign) - self._policies.append( - ua.SecurityPolicyFactory( - security_policies.SecurityPolicyBasic256, - ua.MessageSecurityMode.Sign, - self.certificate, - self.private_key - ) - ) + if "Basic128Rsa15_SignAndEncrypt" in self._security_policy: + self._set_endpoints(security_policies.SecurityPolicyBasic128Rsa15, + ua.MessageSecurityMode.SignAndEncrypt) + self._policies.append(ua.SecurityPolicyFactory(security_policies.SecurityPolicyBasic128Rsa15, + ua.MessageSecurityMode.SignAndEncrypt, + self.certificate, + self.private_key) + ) + if "Basic128Rsa15_Sign" in self._security_policy: + self._set_endpoints(security_policies.SecurityPolicyBasic128Rsa15, + ua.MessageSecurityMode.Sign) + self._policies.append(ua.SecurityPolicyFactory(security_policies.SecurityPolicyBasic128Rsa15, + ua.MessageSecurityMode.Sign, + self.certificate, + self.private_key) + ) + if "Basic256_SignAndEncrypt" in self._security_policy: + self._set_endpoints(security_policies.SecurityPolicyBasic256, + ua.MessageSecurityMode.SignAndEncrypt) + self._policies.append(ua.SecurityPolicyFactory(security_policies.SecurityPolicyBasic256, + ua.MessageSecurityMode.SignAndEncrypt, + self.certificate, + self.private_key) + ) + if "Basic256_Sign" in self._security_policy: + self._set_endpoints(security_policies.SecurityPolicyBasic256, + ua.MessageSecurityMode.Sign) + self._policies.append(ua.SecurityPolicyFactory(security_policies.SecurityPolicyBasic256, + ua.MessageSecurityMode.Sign, + self.certificate, + self.private_key) + ) def _set_endpoints(self, policy=ua.SecurityPolicy, mode=ua.MessageSecurityMode.None_): idtokens = [] From 053cf74f46594a82c23f6b7b8df9ddf744c78d5c Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Mon, 30 Jul 2018 13:57:58 +0200 Subject: [PATCH 091/113] cleanup --- opcua/server/server.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opcua/server/server.py b/opcua/server/server.py index 65bc3c9d1..46222d2f0 100644 --- a/opcua/server/server.py +++ b/opcua/server/server.py @@ -91,7 +91,7 @@ def __init__(self, iserver=None): self.private_key = None self._policies = [] self.nodes = Shortcuts(self.iserver.isession) - self._security_endpoints = ["Basic256_Sign", "Basic256_SignAndEncrypt"] + self._security_policy = ["Basic256_Sign", "Basic256_SignAndEncrypt"] self._policyIDs = ["Anonymous", "Basic256", "Basic128", "Username"] async def init(self, shelf_file=None): From f4a5dc5249e28d6a37975bd98ce59b4644615512 Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Mon, 30 Jul 2018 15:35:59 +0200 Subject: [PATCH 092/113] cleanup --- examples/client-minimal-auth.py | 4 -- examples/client-minimal.py | 11 ++--- opcua/client/client.py | 2 + opcua/common/node.py | 3 +- opcua/common/xmlimporter.py | 83 +++++++++++++++++---------------- opcua/server/address_space.py | 4 +- opcua/server/server.py | 75 ++++++++++++++++------------- opcua/tools.py | 15 +++--- tests/test_client.py | 5 +- tests/test_server.py | 2 +- tests/tests_enum_struct.py | 2 +- tools/uaserver | 6 ++- 12 files changed, 111 insertions(+), 101 deletions(-) diff --git a/examples/client-minimal-auth.py b/examples/client-minimal-auth.py index 472796640..28a06ce7d 100644 --- a/examples/client-minimal-auth.py +++ b/examples/client-minimal-auth.py @@ -1,9 +1,5 @@ -import os -os.environ['PYOPCUA_NO_TYPO_CHECK'] = 'True' - import asyncio import logging - from opcua import Client, Node, ua logging.basicConfig(level=logging.INFO) diff --git a/examples/client-minimal.py b/examples/client-minimal.py index 3a9b79c82..466e2a265 100644 --- a/examples/client-minimal.py +++ b/examples/client-minimal.py @@ -1,16 +1,11 @@ -import os -#os.environ['PYOPCUA_NO_TYPO_CHECK'] = 'True' - import asyncio import logging - from opcua import Client, Node, ua logging.basicConfig(level=logging.INFO) _logger = logging.getLogger('opcua') - async def browse_nodes(node: Node): """ Build a nested node tree dict by recursion (filtered by OPC UA objects and variables). @@ -28,7 +23,7 @@ async def browse_nodes(node: Node): try: var_type = (await node.get_data_type_as_variant_type()).value except ua.UaError: - _logger.warning('Node Variable Type coudl not be determined for %r', node) + _logger.warning('Node Variable Type could not be determined for %r', node) var_type = None return { 'id': node.nodeid.to_string(), @@ -40,9 +35,9 @@ async def browse_nodes(node: Node): async def task(loop): - # url = 'opc.tcp://192.168.2.213:4840' + url = 'opc.tcp://192.168.2.213:4840' # url = 'opc.tcp://localhost:4840/freeopcua/server/' - url = 'opc.tcp://commsvr.com:51234/UA/CAS_UA_Server' + # url = 'opc.tcp://commsvr.com:51234/UA/CAS_UA_Server' try: async with Client(url=url) as client: # Client has a few methods to get proxy to UA nodes that should always be in address space such as Root or Objects diff --git a/opcua/client/client.py b/opcua/client/client.py index 4940938bb..9d391a911 100644 --- a/opcua/client/client.py +++ b/opcua/client/client.py @@ -77,6 +77,7 @@ def find_endpoint(endpoints, security_mode, policy_uri): """ Find endpoint with required security mode and policy URI """ + _logger.info('find_endpoint %r %r %r', endpoints, security_mode, policy_uri) for ep in endpoints: if (ep.EndpointUrl.startswith(ua.OPC_TCP_SCHEME) and ep.SecurityMode == security_mode and @@ -527,6 +528,7 @@ def delete_nodes(self, nodes, recursive=False): def import_xml(self, path=None, xmlstring=None): """ Import nodes defined in xml + COROUTINE """ importer = XmlImporter(self) return importer.import_xml(path, xmlstring) diff --git a/opcua/common/node.py b/opcua/common/node.py index 479966925..935535787 100644 --- a/opcua/common/node.py +++ b/opcua/common/node.py @@ -247,6 +247,7 @@ async def set_attribute(self, attributeid, datavalue): attributeid is a member of ua.AttributeIds datavalue is a ua.DataValue object """ + _logger.info('Node set_attribute %r %r %r', self, attributeid, datavalue) attr = ua.WriteValue() attr.NodeId = self.nodeid attr.AttributeId = attributeid @@ -619,7 +620,7 @@ async def add_reference(self, target, reftype, forward=True, bidirectional=True) results = await self.server.add_references(params) _check_results(results, len(params)) - def set_modelling_rule(self, mandatory): + async def set_modelling_rule(self, mandatory): """ Add a modelling rule reference to Node. When creating a new object type, its variable and child nodes will not diff --git a/opcua/common/xmlimporter.py b/opcua/common/xmlimporter.py index 2221003d3..7993cd5b5 100644 --- a/opcua/common/xmlimporter.py +++ b/opcua/common/xmlimporter.py @@ -26,14 +26,14 @@ def __init__(self, server): self.aliases = {} self.refs = None - def _map_namespaces(self, namespaces_uris): + async def _map_namespaces(self, namespaces_uris): """ creates a mapping between the namespaces in the xml file and in the server. if not present the namespace is registered. """ namespaces = {} for ns_index, ns_uri in enumerate(namespaces_uris): - ns_server_index = self.server.register_namespace(ns_uri) + ns_server_index = await self.server.register_namespace(ns_uri) namespaces[ns_index + 1] = ns_server_index return namespaces @@ -46,14 +46,14 @@ def _map_aliases(self, aliases): aliases_mapped[alias] = self.to_nodeid(node_id) return aliases_mapped - def import_xml(self, xmlpath=None, xmlstring=None): + async def import_xml(self, xmlpath=None, xmlstring=None): """ import xml and return added nodes """ self.logger.info("Importing XML file %s", xmlpath) self.parser = xmlparser.XMLParser(xmlpath, xmlstring) - self.namespaces = self._map_namespaces(self.parser.get_used_namespaces()) + self.namespaces = await self._map_namespaces(self.parser.get_used_namespaces()) self.aliases = self._map_aliases(self.parser.get_aliases()) self.refs = [] @@ -64,49 +64,50 @@ def import_xml(self, xmlpath=None, xmlstring=None): nodes = [] for nodedata in nodes_parsed: # self.parser: try: - node = self._add_node_data(nodedata) + node = await self._add_node_data(nodedata) except Exception: self.logger.warning("failure adding node %s", nodedata) raise nodes.append(node) self.refs, remaining_refs = [], self.refs - self._add_references(remaining_refs) + await self._add_references(remaining_refs) if len(self.refs) != 0: self.logger.warning("The following references could not be imported and are probaly broken: %s", self.refs) return nodes - def _add_node_data(self, nodedata): + async def _add_node_data(self, nodedata): if nodedata.nodetype == 'UAObject': - node = self.add_object(nodedata) + node = await self.add_object(nodedata) elif nodedata.nodetype == 'UAObjectType': - node = self.add_object_type(nodedata) + node = await self.add_object_type(nodedata) elif nodedata.nodetype == 'UAVariable': - node = self.add_variable(nodedata) + node = await self.add_variable(nodedata) elif nodedata.nodetype == 'UAVariableType': - node = self.add_variable_type(nodedata) + node = await self.add_variable_type(nodedata) elif nodedata.nodetype == 'UAReferenceType': - node = self.add_reference_type(nodedata) + node = await self.add_reference_type(nodedata) elif nodedata.nodetype == 'UADataType': - node = self.add_datatype(nodedata) + node = await self.add_datatype(nodedata) elif nodedata.nodetype == 'UAMethod': - node = self.add_method(nodedata) + node = await self.add_method(nodedata) else: - self.logger.warning("Not implemented node type: %s ", nodedata.nodetype) + raise ValueError(f"Not implemented node type: {nodedata.nodetype} ") return node def _add_node(self, node): + """COROUTINE""" if isinstance(self.server, opcua.server.server.Server): return self.server.iserver.isession.add_nodes([node]) else: return self.server.uaclient.add_nodes([node]) - def _add_references(self, refs): + async def _add_references(self, refs): if isinstance(self.server, opcua.server.server.Server): - res = self.server.iserver.isession.add_references(refs) + res = await self.server.iserver.isession.add_references(refs) else: - res = self.server.uaclient.add_references(refs) + res = await self.server.uaclient.add_references(refs) for sc, ref in zip(res, refs): if not sc.is_good(): @@ -170,7 +171,7 @@ def _to_nodeid(self, nodeid): def to_nodeid(self, nodeid): return self._migrate_ns(self._to_nodeid(nodeid)) - def add_object(self, obj): + async def add_object(self, obj): node = self._get_node(obj) attrs = ua.ObjectAttributes() if obj.desc: @@ -178,12 +179,12 @@ def add_object(self, obj): attrs.DisplayName = ua.LocalizedText(obj.displayname) attrs.EventNotifier = obj.eventnotifier node.NodeAttributes = attrs - res = self._add_node(node) - self._add_refs(obj) + res = await self._add_node(node) + await self._add_refs(obj) res[0].StatusCode.check() return res[0].AddedNodeId - def add_object_type(self, obj): + async def add_object_type(self, obj): node = self._get_node(obj) attrs = ua.ObjectTypeAttributes() if obj.desc: @@ -191,12 +192,12 @@ def add_object_type(self, obj): attrs.DisplayName = ua.LocalizedText(obj.displayname) attrs.IsAbstract = obj.abstract node.NodeAttributes = attrs - res = self._add_node(node) - self._add_refs(obj) + res = await self._add_node(node) + await self._add_refs(obj) res[0].StatusCode.check() return res[0].AddedNodeId - def add_variable(self, obj): + async def add_variable(self, obj): node = self._get_node(obj) attrs = ua.VariableAttributes() if obj.desc: @@ -216,14 +217,14 @@ def add_variable(self, obj): if obj.dimensions: attrs.ArrayDimensions = obj.dimensions node.NodeAttributes = attrs - res = self._add_node(node) - self._add_refs(obj) + res = await self._add_node(node) + await self._add_refs(obj) res[0].StatusCode.check() return res[0].AddedNodeId def _get_ext_class(self, name): if hasattr(ua, name): - return getattr(ua, name) + return getattr(ua, name) elif name in self.aliases.keys(): nodeid = self.aliases[name] class_type = ua.uatypes.get_extensionobject_class_type(nodeid) @@ -319,7 +320,7 @@ def _add_variable_value(self, obj): else: return ua.Variant(obj.value, getattr(ua.VariantType, obj.valuetype)) - def add_variable_type(self, obj): + async def add_variable_type(self, obj): node = self._get_node(obj) attrs = ua.VariableTypeAttributes() if obj.desc: @@ -336,11 +337,11 @@ def add_variable_type(self, obj): attrs.ArrayDimensions = obj.dimensions node.NodeAttributes = attrs res = self._add_node(node) - self._add_refs(obj) + await self._add_refs(obj) res[0].StatusCode.check() return res[0].AddedNodeId - def add_method(self, obj): + async def add_method(self, obj): node = self._get_node(obj) attrs = ua.MethodAttributes() if obj.desc: @@ -355,12 +356,12 @@ def add_method(self, obj): if obj.dimensions: attrs.ArrayDimensions = obj.dimensions node.NodeAttributes = attrs - res = self._add_node(node) - self._add_refs(obj) + res = await self._add_node(node) + await self._add_refs(obj) res[0].StatusCode.check() return res[0].AddedNodeId - def add_reference_type(self, obj): + async def add_reference_type(self, obj): node = self._get_node(obj) attrs = ua.ReferenceTypeAttributes() if obj.desc: @@ -373,12 +374,12 @@ def add_reference_type(self, obj): if obj.symmetric: attrs.Symmetric = obj.symmetric node.NodeAttributes = attrs - res = self._add_node(node) - self._add_refs(obj) + res = await self._add_node(node) + await self._add_refs(obj) res[0].StatusCode.check() return res[0].AddedNodeId - def add_datatype(self, obj): + async def add_datatype(self, obj): node = self._get_node(obj) attrs = ua.DataTypeAttributes() if obj.desc: @@ -387,12 +388,12 @@ def add_datatype(self, obj): if obj.abstract: attrs.IsAbstract = obj.abstract node.NodeAttributes = attrs - res = self._add_node(node) - self._add_refs(obj) + res = await self._add_node(node) + await self._add_refs(obj) res[0].StatusCode.check() return res[0].AddedNodeId - def _add_refs(self, obj): + async def _add_refs(self, obj): if not obj.refs: return refs = [] @@ -404,7 +405,7 @@ def _add_refs(self, obj): ref.TargetNodeClass = ua.NodeClass.DataType ref.TargetNodeId = self.to_nodeid(data.target) refs.append(ref) - self._add_references(refs) + await self._add_references(refs) def _sort_nodes_by_parentid(self, ndatas): """ diff --git a/opcua/server/address_space.py b/opcua/server/address_space.py index 8bcbcfe6b..870356bd8 100644 --- a/opcua/server/address_space.py +++ b/opcua/server/address_space.py @@ -1,15 +1,15 @@ import pickle import shelve -import asyncio import logging import collections -from threading import RLock from datetime import datetime from opcua import ua from opcua.server.users import User +_logger = logging.getLogger(__name__) + class AttributeValue(object): diff --git a/opcua/server/server.py b/opcua/server/server.py index 46222d2f0..6bfcbfd36 100644 --- a/opcua/server/server.py +++ b/opcua/server/server.py @@ -91,13 +91,19 @@ def __init__(self, iserver=None): self.private_key = None self._policies = [] self.nodes = Shortcuts(self.iserver.isession) - self._security_policy = ["Basic256_Sign", "Basic256_SignAndEncrypt"] + self._security_policy = [ + ua.SecurityPolicyType.NoSecurity, + ua.SecurityPolicyType.Basic128Rsa15_SignAndEncrypt, + ua.SecurityPolicyType.Basic128Rsa15_Sign, + ua.SecurityPolicyType.Basic256_SignAndEncrypt, + ua.SecurityPolicyType.Basic256_Sign + ] self._policyIDs = ["Anonymous", "Basic256", "Basic128", "Username"] async def init(self, shelf_file=None): await self.iserver.init(shelf_file) # setup some expected values - self.set_application_uri(self._application_uri) + await self.set_application_uri(self._application_uri) sa_node = self.get_node(ua.NodeId(ua.ObjectIds.Server_ServerArray)) await sa_node.set_value([self._application_uri]) status_node = self.get_node(ua.NodeId(ua.ObjectIds.Server_ServerStatus)) @@ -136,7 +142,7 @@ def disable_clock(self, val=True): """ self.iserver.disabled_clock = val - def set_application_uri(self, uri): + async def set_application_uri(self, uri): """ Set application/server URI. This uri is supposed to be unique. If you intent to register @@ -250,46 +256,51 @@ def set_security_IDs(self, policyIDs): async def _setup_server_nodes(self): # to be called just before starting server since it needs all parameters to be setup - if "None" in self._security_policy: + if ua.SecurityPolicyType.NoSecurity in self._security_policy: self._set_endpoints() self._policies = [ua.SecurityPolicyFactory()] - if (len(self._security_policy) > 1) and self.private_key: + + if self._security_policy != [ua.SecurityPolicyType.NoSecurity]: + if not (self.certificate and self.private_key): + self.logger.warning("Endpoints other than open requested but private key and certificate are not set.") + return + + if ua.SecurityPolicyType.NoSecurity in self._security_policy: self.logger.warning( "Creating an open endpoint to the server, although encrypted endpoints are enabled.") - if self.certificate and self.private_key: - if "Basic128Rsa15_SignAndEncrypt" in self._security_policy: + if ua.SecurityPolicyType.Basic128Rsa15_SignAndEncrypt in self._security_policy: self._set_endpoints(security_policies.SecurityPolicyBasic128Rsa15, - ua.MessageSecurityMode.SignAndEncrypt) + ua.MessageSecurityMode.SignAndEncrypt) self._policies.append(ua.SecurityPolicyFactory(security_policies.SecurityPolicyBasic128Rsa15, - ua.MessageSecurityMode.SignAndEncrypt, - self.certificate, - self.private_key) - ) - if "Basic128Rsa15_Sign" in self._security_policy: + ua.MessageSecurityMode.SignAndEncrypt, + self.certificate, + self.private_key) + ) + if ua.SecurityPolicyType.Basic128Rsa15_Sign in self._security_policy: self._set_endpoints(security_policies.SecurityPolicyBasic128Rsa15, - ua.MessageSecurityMode.Sign) + ua.MessageSecurityMode.Sign) self._policies.append(ua.SecurityPolicyFactory(security_policies.SecurityPolicyBasic128Rsa15, - ua.MessageSecurityMode.Sign, - self.certificate, - self.private_key) - ) - if "Basic256_SignAndEncrypt" in self._security_policy: + ua.MessageSecurityMode.Sign, + self.certificate, + self.private_key) + ) + if ua.SecurityPolicyType.Basic256_SignAndEncrypt in self._security_policy: self._set_endpoints(security_policies.SecurityPolicyBasic256, - ua.MessageSecurityMode.SignAndEncrypt) + ua.MessageSecurityMode.SignAndEncrypt) self._policies.append(ua.SecurityPolicyFactory(security_policies.SecurityPolicyBasic256, - ua.MessageSecurityMode.SignAndEncrypt, - self.certificate, - self.private_key) - ) - if "Basic256_Sign" in self._security_policy: + ua.MessageSecurityMode.SignAndEncrypt, + self.certificate, + self.private_key) + ) + if ua.SecurityPolicyType.Basic256_Sign in self._security_policy: self._set_endpoints(security_policies.SecurityPolicyBasic256, - ua.MessageSecurityMode.Sign) + ua.MessageSecurityMode.Sign) self._policies.append(ua.SecurityPolicyFactory(security_policies.SecurityPolicyBasic256, - ua.MessageSecurityMode.Sign, - self.certificate, - self.private_key) - ) + ua.MessageSecurityMode.Sign, + self.certificate, + self.private_key) + ) def _set_endpoints(self, policy=ua.SecurityPolicy, mode=ua.MessageSecurityMode.None_): idtokens = [] @@ -503,12 +514,12 @@ async def _create_custom_type(self, idx, name, basetype, properties, variables, await custom_t.add_method(idx, method[0], method[1], method[2], method[3]) return custom_t - def import_xml(self, path=None, xmlstring=None): + async def import_xml(self, path=None, xmlstring=None): """ Import nodes defined in xml """ importer = XmlImporter(self) - return importer.import_xml(path, xmlstring) + return await importer.import_xml(path, xmlstring) def export_xml(self, nodes, path): """ diff --git a/opcua/tools.py b/opcua/tools.py index f9e761fe1..fabb03cae 100644 --- a/opcua/tools.py +++ b/opcua/tools.py @@ -468,7 +468,7 @@ def uaclient(): sys.exit(0) -def uaserver(): +async def uaserver(): parser = argparse.ArgumentParser(description="Run an example OPC-UA server. By importing xml definition and using uawrite command line, it is even possible to expose real data using this server") # we setup a server, this is a bit different from other tool so we do not reuse common arguments parser.add_argument("-u", @@ -506,15 +506,16 @@ def uaserver(): logging.basicConfig(format="%(levelname)s: %(message)s", level=getattr(logging, args.loglevel)) server = Server() + await server.init() server.set_endpoint(args.url) if args.certificate: - server.load_certificate(args.certificate) + await server.load_certificate(args.certificate) if args.private_key: - server.load_private_key(args.private_key) + await server.load_private_key(args.private_key) server.disable_clock(args.disable_clock) server.set_server_name("FreeOpcUa Example Server") if args.xml: - server.import_xml(args.xml) + await server.import_xml(args.xml) if args.populate: @uamethod def multiply(parent, x, y): @@ -522,7 +523,7 @@ def multiply(parent, x, y): return x * y uri = "http://examples.freeopcua.github.io" - idx = server.register_namespace(uri) + idx = await server.register_namespace(uri) objects = server.get_objects_node() myobj = objects.add_object(idx, "MyObject") mywritablevar = myobj.add_variable(idx, "MyWritableVariable", 6.7) @@ -532,7 +533,7 @@ def multiply(parent, x, y): myprop = myobj.add_property(idx, "MyProperty", "I am a property") mymethod = myobj.add_method(idx, "MyMethod", multiply, [ua.VariantType.Double, ua.VariantType.Int64], [ua.VariantType.Double]) - server.start() + await server.start() try: if args.shell: embed() @@ -547,7 +548,7 @@ def multiply(parent, x, y): while True: time.sleep(1) finally: - server.stop() + await server.stop() sys.exit(0) diff --git a/tests/test_client.py b/tests/test_client.py index c7571ca5c..79103adb5 100644 --- a/tests/test_client.py +++ b/tests/test_client.py @@ -6,15 +6,14 @@ from opcua import Server from opcua import ua -from .tests_subscriptions import SubscriptionTests -from .tests_common import CommonTests, add_server_methods -from .tests_xml import XmlTests +from .tests_common import add_server_methods from .tests_enum_struct import add_server_custom_enum_struct port_num1 = 48510 _logger = logging.getLogger(__name__) pytestmark = pytest.mark.asyncio + @pytest.fixture() async def admin_client(): # start admin client diff --git a/tests/test_server.py b/tests/test_server.py index 1d4cfee01..bdc254fb8 100644 --- a/tests/test_server.py +++ b/tests/test_server.py @@ -47,7 +47,7 @@ async def discovery_server(): # start our own server srv = Server() await srv.init() - srv.set_application_uri('urn:freeopcua:python:discovery') + await srv.set_application_uri('urn:freeopcua:python:discovery') srv.set_endpoint(f'opc.tcp://127.0.0.1:{port_discovery}') await srv.start() yield srv diff --git a/tests/tests_enum_struct.py b/tests/tests_enum_struct.py index 45240fd51..ea05b5813 100644 --- a/tests/tests_enum_struct.py +++ b/tests/tests_enum_struct.py @@ -35,7 +35,7 @@ def __str__(self): async def add_server_custom_enum_struct(server: Server): # import some nodes from xml - server.import_xml("tests/enum_struct_test_nodes.xml") + await server.import_xml("tests/enum_struct_test_nodes.xml") ns = await server.get_namespace_index('http://yourorganisation.org/struct_enum_example/') uatypes.register_extension_object('ExampleStruct', ua.NodeId(5001, ns), ExampleStruct) val = ua.ExampleStruct() diff --git a/tools/uaserver b/tools/uaserver index ca5639176..9adfb0210 100755 --- a/tools/uaserver +++ b/tools/uaserver @@ -2,10 +2,14 @@ import sys import os +import asyncio +import logging +logging.basicConfig(level=logging.DEBUG) sys.path.append(os.path.join(os.path.dirname(os.path.realpath(__file__)), "..")) from opcua.tools import uaserver if __name__ == "__main__": - uaserver() + loop = asyncio.get_event_loop() + loop.run_until_complete(uaserver()) From af2d044d221282dd95ffc1680999353825275834 Mon Sep 17 00:00:00 2001 From: kleskjr Date: Thu, 7 Jun 2018 08:24:03 +0200 Subject: [PATCH 093/113] cherry pick 33bf3850bf09a1410b0f6fb0f2f7624aab414259 --- examples/server-example.py | 13 +++++----- opcua/server/server.py | 51 +++++++++++++++++++------------------- opcua/ua/uatypes.py | 19 ++++++++++++++ 3 files changed, 51 insertions(+), 32 deletions(-) diff --git a/examples/server-example.py b/examples/server-example.py index e34812a4e..8b416eb4b 100644 --- a/examples/server-example.py +++ b/examples/server-example.py @@ -67,12 +67,13 @@ def multiply(parent, x, y): #server.set_endpoint("opc.tcp://localhost:4840/freeopcua/server/") server.set_endpoint("opc.tcp://0.0.0.0:4840/freeopcua/server/") server.set_server_name("FreeOpcUa Example Server") - # set possible endpoint policies for clients to connect through - server.set_security_policy(["None", - "Basic128Rsa15_Sign", - "Basic128Rsa15_SignAndEncrypt", - "Basic256_Sign", - "Basic256_SignAndEncrypt"]) + # set all possible endpoint policies for clients to connect through + server.set_security_policy([ + ua.SecurityPolicyType.NoSecurity, + ua.SecurityPolicyType.Basic128Rsa15_SignAndEncrypt, + ua.SecurityPolicyType.Basic128Rsa15_Sign, + ua.SecurityPolicyType.Basic256_SignAndEncrypt, + ua.SecurityPolicyType.Basic256_Sign]) # setup our own namespace uri = "http://examples.freeopcua.github.io" diff --git a/opcua/server/server.py b/opcua/server/server.py index 6bfcbfd36..14fb2bab8 100644 --- a/opcua/server/server.py +++ b/opcua/server/server.py @@ -217,22 +217,22 @@ def get_endpoints(self): def set_security_policy(self, security_policy): """ Method setting up the security policies for connections - to the server. During server object initialization, all - possible endpoints are enabled: + to the server, where security_policy is a list of integers. + During server initialization, all endpoints are enabled: - security_policy = ["None", - "Basic128Rsa15_Sign", - "Basic128Rsa15_SignAndEncrypt", - "Basic256_Sign", - "Basic256_SignAndEncrypt"] - - where security_policy is a list of strings. "None" enables an - endpoint without any security. + security_policy = [ + ua.SecurityPolicyType.NoSecurity, + ua.SecurityPolicyType.Basic128Rsa15_SignAndEncrypt, + ua.SecurityPolicyType.Basic128Rsa15_Sign, + ua.SecurityPolicyType.Basic256_SignAndEncrypt, + ua.SecurityPolicyType.Basic256_Sign + ] E.g. to limit the number of endpoints and disable no encryption: - set_security_policy(["Basic256_Sign", - "Basic256_SignAndEncrypt"]) + set_security_policy([ + ua.SecurityPolicyType.Basic128Rsa15_SignAndEncrypt + ua.SecurityPolicyType.Basic256_SignAndEncrypt]) """ self._security_policy = security_policy @@ -266,33 +266,32 @@ async def _setup_server_nodes(self): return if ua.SecurityPolicyType.NoSecurity in self._security_policy: - self.logger.warning( - "Creating an open endpoint to the server, although encrypted endpoints are enabled.") + self.logger.warning("Creating an open endpoint to the server, although encrypted endpoints are enabled.") if ua.SecurityPolicyType.Basic128Rsa15_SignAndEncrypt in self._security_policy: self._set_endpoints(security_policies.SecurityPolicyBasic128Rsa15, ua.MessageSecurityMode.SignAndEncrypt) self._policies.append(ua.SecurityPolicyFactory(security_policies.SecurityPolicyBasic128Rsa15, - ua.MessageSecurityMode.SignAndEncrypt, - self.certificate, - self.private_key) - ) + ua.MessageSecurityMode.SignAndEncrypt, + self.certificate, + self.private_key) + ) if ua.SecurityPolicyType.Basic128Rsa15_Sign in self._security_policy: self._set_endpoints(security_policies.SecurityPolicyBasic128Rsa15, ua.MessageSecurityMode.Sign) self._policies.append(ua.SecurityPolicyFactory(security_policies.SecurityPolicyBasic128Rsa15, - ua.MessageSecurityMode.Sign, - self.certificate, - self.private_key) - ) + ua.MessageSecurityMode.Sign, + self.certificate, + self.private_key) + ) if ua.SecurityPolicyType.Basic256_SignAndEncrypt in self._security_policy: self._set_endpoints(security_policies.SecurityPolicyBasic256, ua.MessageSecurityMode.SignAndEncrypt) self._policies.append(ua.SecurityPolicyFactory(security_policies.SecurityPolicyBasic256, - ua.MessageSecurityMode.SignAndEncrypt, - self.certificate, - self.private_key) - ) + ua.MessageSecurityMode.SignAndEncrypt, + self.certificate, + self.private_key) + ) if ua.SecurityPolicyType.Basic256_Sign in self._security_policy: self._set_endpoints(security_policies.SecurityPolicyBasic256, ua.MessageSecurityMode.Sign) diff --git a/opcua/ua/uatypes.py b/opcua/ua/uatypes.py index 57e898c12..d4f43811d 100644 --- a/opcua/ua/uatypes.py +++ b/opcua/ua/uatypes.py @@ -951,3 +951,22 @@ def get_extensionobject_class_type(typeid): return extension_object_classes[typeid] else: return None + + +class SecurityPolicyType(Enum): + """ + The supported types of SecurityPolicy. + + "None" + "Basic128Rsa15_Sign" + "Basic128Rsa15_SignAndEncrypt" + "Basic256_Sign" + "Basic256_SignAndEncrypt" + + """ + + NoSecurity = 0 + Basic128Rsa15_Sign = 1 + Basic128Rsa15_SignAndEncrypt = 2 + Basic256_Sign = 3 + Basic256_SignAndEncrypt = 4 From 122b99da1cbf0752dda2895502a1c2661b557719 Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Mon, 30 Jul 2018 15:59:58 +0200 Subject: [PATCH 094/113] wip --- opcua/client/client.py | 2 ++ opcua/common/node.py | 1 - opcua/common/structures.py | 10 +++++----- opcua/common/ua_utils.py | 4 ++-- opcua/common/xmlexporter.py | 8 ++++---- opcua/server/server.py | 5 +++-- opcua/tools.py | 26 +++++++++++++------------- test_external_server.py | 2 +- tests/test_client.py | 2 +- 9 files changed, 31 insertions(+), 29 deletions(-) diff --git a/opcua/client/client.py b/opcua/client/client.py index 9d391a911..6a58b3303 100644 --- a/opcua/client/client.py +++ b/opcua/client/client.py @@ -515,6 +515,7 @@ async def create_subscription(self, period, handler): return subscription def get_namespace_array(self): + """COROUTINE""" ns_node = self.get_node(ua.NodeId(ua.ObjectIds.Server_NamespaceArray)) return ns_node.get_value() @@ -555,4 +556,5 @@ async def register_namespace(self, uri): return len(uries) - 1 def load_type_definitions(self, nodes=None): + """COROUTINE""" return load_type_definitions(self, nodes) diff --git a/opcua/common/node.py b/opcua/common/node.py index 935535787..9ca1589ac 100644 --- a/opcua/common/node.py +++ b/opcua/common/node.py @@ -247,7 +247,6 @@ async def set_attribute(self, attributeid, datavalue): attributeid is a member of ua.AttributeIds datavalue is a ua.DataValue object """ - _logger.info('Node set_attribute %r %r %r', self, attributeid, datavalue) attr = ua.WriteValue() attr.NodeId = self.nodeid attr.AttributeId = attributeid diff --git a/opcua/common/structures.py b/opcua/common/structures.py index 54757c677..4e5382797 100644 --- a/opcua/common/structures.py +++ b/opcua/common/structures.py @@ -236,7 +236,7 @@ def set_typeid(self, name, typeid): return -def load_type_definitions(server, nodes=None): +async def load_type_definitions(server, nodes=None): """ Download xml from given variable node defining custom structures. If no node is given, attemps to import variables from all nodes under @@ -247,14 +247,14 @@ def load_type_definitions(server, nodes=None): """ if nodes is None: nodes = [] - for desc in server.nodes.opc_binary.get_children_descriptions(): + for desc in await server.nodes.opc_binary.get_children_descriptions(): if desc.BrowseName != ua.QualifiedName("Opc.Ua"): nodes.append(server.get_node(desc.NodeId)) structs_dict = {} generators = [] for node in nodes: - xml = node.get_value() + xml = await node.get_value() xml = xml.decode("utf-8") generator = StructGenerator() generators.append(generator) @@ -270,9 +270,9 @@ def load_type_definitions(server, nodes=None): # register classes # every children of our node should represent a class - for ndesc in node.get_children_descriptions(): + for ndesc in await node.get_children_descriptions(): ndesc_node = server.get_node(ndesc.NodeId) - ref_desc_list = ndesc_node.get_references(refs=ua.ObjectIds.HasDescription, direction=ua.BrowseDirection.Inverse) + ref_desc_list = await ndesc_node.get_references(refs=ua.ObjectIds.HasDescription, direction=ua.BrowseDirection.Inverse) if ref_desc_list: #some server put extra things here name = _clean_name(ndesc.BrowseName.Name) if not name in structs_dict: diff --git a/opcua/common/ua_utils.py b/opcua/common/ua_utils.py index 984912f96..6b3b4b27d 100644 --- a/opcua/common/ua_utils.py +++ b/opcua/common/ua_utils.py @@ -230,7 +230,7 @@ async def get_base_data_type(datatype): raise ua.UaError("Datatype must be a subtype of builtin types {0!s}".format(datatype)) -def get_nodes_of_namespace(server, namespaces=None): +async def get_nodes_of_namespace(server, namespaces=None): """ Get the nodes of one or more namespaces . Args: @@ -241,7 +241,7 @@ def get_nodes_of_namespace(server, namespaces=None): """ if namespaces is None: namespaces = [] - ns_available = server.get_namespace_array() + ns_available = await server.get_namespace_array() if not namespaces: namespaces = ns_available[1:] diff --git a/opcua/common/xmlexporter.py b/opcua/common/xmlexporter.py index 46baeddd3..5c85b2c0c 100644 --- a/opcua/common/xmlexporter.py +++ b/opcua/common/xmlexporter.py @@ -87,7 +87,7 @@ def _make_idx_dict(self, idxs, ns_array): addr_idx_to_xml_idx[addr_idx] = xml_idx + 1 return addr_idx_to_xml_idx - def _get_ns_idxs_of_nodes(self, nodes): + async def _get_ns_idxs_of_nodes(self, nodes): """ get a list of all indexes used or references by nodes """ @@ -95,7 +95,7 @@ def _get_ns_idxs_of_nodes(self, nodes): for node in nodes: node_idxs = [node.nodeid.NamespaceIndex] node_idxs.append(node.get_browse_name().NamespaceIndex) - node_idxs.extend(ref.NodeId.NamespaceIndex for ref in node.get_references()) + node_idxs.extend(ref.NodeId.NamespaceIndex for ref in await node.get_references()) node_idxs = list(set(node_idxs)) # remove duplicates for i in node_idxs: if i != 0 and i not in idxs: @@ -329,8 +329,8 @@ def _add_alias_els(self): # insert behind the namespace element self.etree.getroot().insert(1, aliases_el) - def _add_ref_els(self, parent_el, obj): - refs = obj.get_references() + async def _add_ref_els(self, parent_el, obj): + refs = await obj.get_references() refs_el = Et.SubElement(parent_el, 'References') for ref in refs: diff --git a/opcua/server/server.py b/opcua/server/server.py index 14fb2bab8..679398876 100644 --- a/opcua/server/server.py +++ b/opcua/server/server.py @@ -528,7 +528,7 @@ def export_xml(self, nodes, path): exp.build_etree(nodes) return exp.write_xml(path) - def export_xml_by_ns(self, path, namespaces=None): + async def export_xml_by_ns(self, path, namespaces=None): """ Export nodes of one or more namespaces to an XML file. Namespaces used by nodes are always exported for consistency. @@ -541,7 +541,7 @@ def export_xml_by_ns(self, path, namespaces=None): """ if namespaces is None: namespaces = [] - nodes = get_nodes_of_namespace(self, namespaces) + nodes = await get_nodes_of_namespace(self, namespaces) self.export_xml(nodes, path) def delete_nodes(self, nodes, recursive=False): @@ -618,4 +618,5 @@ def link_method(self, node, callback): self.iserver.isession.add_method_callback(node.nodeid, callback) def load_type_definitions(self, nodes=None): + """COROUTINE""" return load_type_definitions(self, nodes) diff --git a/opcua/tools.py b/opcua/tools.py index fabb03cae..e7e3a6fd4 100644 --- a/opcua/tools.py +++ b/opcua/tools.py @@ -257,7 +257,7 @@ def uawrite(): print(args) -def uals(): +async def uals(): parser = argparse.ArgumentParser(description="Browse OPC-UA node and print result") add_common_args(parser) parser.add_argument("-l", @@ -277,46 +277,46 @@ def uals(): args.long_format = 1 client = Client(args.url, timeout=args.timeout) - client.set_security_string(args.security) - client.connect() + await client.set_security_string(args.security) + await client.connect() try: node = get_node(client, args) print("Browsing node {0} at {1}\n".format(node, args.url)) if args.long_format == 0: - _lsprint_0(node, args.depth - 1) + await _lsprint_0(node, args.depth - 1) elif args.long_format == 1: - _lsprint_1(node, args.depth - 1) + await _lsprint_1(node, args.depth - 1) else: _lsprint_long(node, args.depth - 1) finally: - client.disconnect() + await client.disconnect() sys.exit(0) print(args) -def _lsprint_0(node, depth, indent=""): +async def _lsprint_0(node, depth, indent=""): if not indent: print("{0:30} {1:25}".format("DisplayName", "NodeId")) print("") - for desc in node.get_children_descriptions(): + for desc in await node.get_children_descriptions(): print("{0}{1:30} {2:25}".format(indent, desc.DisplayName.to_string(), desc.NodeId.to_string())) if depth: - _lsprint_0(Node(node.server, desc.NodeId), depth - 1, indent + " ") + await _lsprint_0(Node(node.server, desc.NodeId), depth - 1, indent + " ") -def _lsprint_1(node, depth, indent=""): +async def _lsprint_1(node, depth, indent=""): if not indent: print("{0:30} {1:25} {2:25} {3:25}".format("DisplayName", "NodeId", "BrowseName", "Value")) print("") - for desc in node.get_children_descriptions(): + for desc in await node.get_children_descriptions(): if desc.NodeClass == ua.NodeClass.Variable: - val = Node(node.server, desc.NodeId).get_value() + val = await Node(node.server, desc.NodeId).get_value() print("{0}{1:30} {2!s:25} {3!s:25}, {4!s:3}".format(indent, desc.DisplayName.to_string(), desc.NodeId.to_string(), desc.BrowseName.to_string(), val)) else: print("{0}{1:30} {2!s:25} {3!s:25}".format(indent, desc.DisplayName.to_string(), desc.NodeId.to_string(), desc.BrowseName.to_string())) if depth: - _lsprint_1(Node(node.server, desc.NodeId), depth - 1, indent + " ") + await _lsprint_1(Node(node.server, desc.NodeId), depth - 1, indent + " ") def _lsprint_long(pnode, depth, indent=""): diff --git a/test_external_server.py b/test_external_server.py index f2f94ce08..ec36cbd9d 100644 --- a/test_external_server.py +++ b/test_external_server.py @@ -90,7 +90,7 @@ def test_get_root_children(self, client): @connect def test_get_namespace_array(self, client): - array = client.get_namespace_array() + array = await client.get_namespace_array() self.assertTrue(len(array) > 0) @connect diff --git a/tests/test_client.py b/tests/test_client.py index 79103adb5..9f74c03ff 100644 --- a/tests/test_client.py +++ b/tests/test_client.py @@ -119,7 +119,7 @@ async def test_enumstrings_getvalue(server, client): async def test_custom_enum_struct(server, client): - client.load_type_definitions() + await client.load_type_definitions() ns = await client.get_namespace_index('http://yourorganisation.org/struct_enum_example/') myvar = client.get_node(ua.NodeId(6009, ns)) val = await myvar.get_value() From a21a12373a414dae3df953a289d5c4292b0402fa Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Mon, 30 Jul 2018 18:30:48 +0200 Subject: [PATCH 095/113] tests refactored --- opcua/common/node.py | 1 + opcua/server/internal_server.py | 2 +- opcua/server/server.py | 16 +- tests/test_client.py | 4 +- tests/test_server.py | 271 ++++++++++++++------------------ 5 files changed, 134 insertions(+), 160 deletions(-) diff --git a/opcua/common/node.py b/opcua/common/node.py index 9ca1589ac..e21ca8d4a 100644 --- a/opcua/common/node.py +++ b/opcua/common/node.py @@ -313,6 +313,7 @@ def get_properties(self): """ return properties of node. properties are child nodes with a reference of type HasProperty and a NodeClass of Variable + COROUTINE """ return self.get_children(refs=ua.ObjectIds.HasProperty, nodeclassmask=ua.NodeClass.Variable) diff --git a/opcua/server/internal_server.py b/opcua/server/internal_server.py index 5e23cd8ca..1a1ff9311 100644 --- a/opcua/server/internal_server.py +++ b/opcua/server/internal_server.py @@ -345,7 +345,7 @@ async def create_subscription(self, params, callback): self.subscriptions.append(result.SubscriptionId) return result - def create_monitored_items(self, params): + async def create_monitored_items(self, params): """Returns Future""" subscription_result = self.subscription_service.create_monitored_items(params) self.iserver.server_callback_dispatcher.dispatch( diff --git a/opcua/server/server.py b/opcua/server/server.py index 679398876..6a377b9ca 100644 --- a/opcua/server/server.py +++ b/opcua/server/server.py @@ -455,17 +455,17 @@ async def get_event_generator(self, etype=None, source=ua.ObjectIds.Server): await ev_gen.set_source(source) return ev_gen - def create_custom_data_type(self, idx, name, basetype=ua.ObjectIds.BaseDataType, properties=None): + async def create_custom_data_type(self, idx, name, basetype=ua.ObjectIds.BaseDataType, properties=None): if properties is None: properties = [] - return self._create_custom_type(idx, name, basetype, properties, [], []) + return await self._create_custom_type(idx, name, basetype, properties, [], []) - def create_custom_event_type(self, idx, name, basetype=ua.ObjectIds.BaseEventType, properties=None): + async def create_custom_event_type(self, idx, name, basetype=ua.ObjectIds.BaseEventType, properties=None): if properties is None: properties = [] - return self._create_custom_type(idx, name, basetype, properties, [], []) + return await self._create_custom_type(idx, name, basetype, properties, [], []) - def create_custom_object_type(self, idx, name, basetype=ua.ObjectIds.BaseObjectType, properties=None, + async def create_custom_object_type(self, idx, name, basetype=ua.ObjectIds.BaseObjectType, properties=None, variables=None, methods=None): if properties is None: properties = [] @@ -473,12 +473,12 @@ def create_custom_object_type(self, idx, name, basetype=ua.ObjectIds.BaseObjectT variables = [] if methods is None: methods = [] - return self._create_custom_type(idx, name, basetype, properties, variables, methods) + return await self._create_custom_type(idx, name, basetype, properties, variables, methods) # def create_custom_reference_type(self, idx, name, basetype=ua.ObjectIds.BaseReferenceType, properties=[]): # return self._create_custom_type(idx, name, basetype, properties) - def create_custom_variable_type(self, idx, name, basetype=ua.ObjectIds.BaseVariableType, properties=None, + async def create_custom_variable_type(self, idx, name, basetype=ua.ObjectIds.BaseVariableType, properties=None, variables=None, methods=None): if properties is None: properties = [] @@ -486,7 +486,7 @@ def create_custom_variable_type(self, idx, name, basetype=ua.ObjectIds.BaseVaria variables = [] if methods is None: methods = [] - return self._create_custom_type(idx, name, basetype, properties, variables, methods) + return await self._create_custom_type(idx, name, basetype, properties, variables, methods) async def _create_custom_type(self, idx, name, basetype, properties, variables, methods): if isinstance(basetype, Node): diff --git a/tests/test_client.py b/tests/test_client.py index 9f74c03ff..fe22fbe71 100644 --- a/tests/test_client.py +++ b/tests/test_client.py @@ -62,8 +62,8 @@ async def test_objects_anonymous(server, client): await objects.add_folder(3, 'MyFolder') -async def test_folder_anonymous(server, client): - objects = client.get_objects_node() +async def test_folder_anonymous(server, admin_client, client): + objects = admin_client.get_objects_node() f = await objects.add_folder(3, 'MyFolderRO') f_ro = client.get_node(f.nodeid) assert f == f_ro diff --git a/tests/test_server.py b/tests/test_server.py index bdc254fb8..aefa3da3e 100644 --- a/tests/test_server.py +++ b/tests/test_server.py @@ -240,162 +240,135 @@ async def test_eventgenerator_BaseEvent_object(server): await check_eventgenerator_BaseEvent(evgen, server) await check_eventgenerator_SourceServer(evgen, server) -""" -class TestServer(unittest.TestCase, CommonTests, SubscriptionTests, XmlTests): - - @classmethod - def setUpClass(cls): - cls.srv = Server() - cls.srv.set_endpoint('opc.tcp://127.0.0.1:{0:d}'.format(port_num)) - add_server_methods(cls.srv) - cls.srv.start() - cls.opc = cls.srv - cls.discovery = Server() - cls.discovery.set_application_uri("urn:freeopcua:python:discovery") - cls.discovery.set_endpoint('opc.tcp://127.0.0.1:{0:d}'.format(port_discovery)) - cls.discovery.start() - - @classmethod - def tearDownClass(cls): - cls.srv.stop() - cls.discovery.stop() - - # def test_register_server2(self): - # servers = server.register_server() - - def test_eventgenerator_BaseEvent_Node(self): - evgen = server.get_event_generator(opcua.Node(server.iserver.isession, ua.NodeId(ua.ObjectIds.BaseEventType))) - check_eventgenerator_BaseEvent(self, evgen) - check_eventgenerator_SourceServer(self, evgen) +async def test_eventgenerator_BaseEvent_Node(server): + evgen = await server.get_event_generator(opcua.Node(server.iserver.isession, ua.NodeId(ua.ObjectIds.BaseEventType))) + await check_eventgenerator_BaseEvent(evgen, server) + await check_eventgenerator_SourceServer(evgen, server) - def test_eventgenerator_BaseEvent_NodeId(self): - evgen = server.get_event_generator(ua.NodeId(ua.ObjectIds.BaseEventType)) - check_eventgenerator_BaseEvent(self, evgen) - check_eventgenerator_SourceServer(self, evgen) +async def test_eventgenerator_BaseEvent_NodeId(server): + evgen = await server.get_event_generator(ua.NodeId(ua.ObjectIds.BaseEventType)) + await check_eventgenerator_BaseEvent(evgen, server) + await check_eventgenerator_SourceServer(evgen, server) - def test_eventgenerator_BaseEvent_ObjectIds(self): - evgen = server.get_event_generator(ua.ObjectIds.BaseEventType) - check_eventgenerator_BaseEvent(self, evgen) - check_eventgenerator_SourceServer(self, evgen) +async def test_eventgenerator_BaseEvent_ObjectIds(server): + evgen = await server.get_event_generator(ua.ObjectIds.BaseEventType) + await check_eventgenerator_BaseEvent(evgen, server) + await check_eventgenerator_SourceServer(evgen, server) - def test_eventgenerator_BaseEvent_Identifier(self): - evgen = server.get_event_generator(2041) - check_eventgenerator_BaseEvent(self, evgen) - check_eventgenerator_SourceServer(self, evgen) +async def test_eventgenerator_BaseEvent_Identifier(server): + evgen = await server.get_event_generator(2041) + await check_eventgenerator_BaseEvent(evgen, server) + await check_eventgenerator_SourceServer(evgen, server) - def test_eventgenerator_sourceServer_Node(self): - evgen = server.get_event_generator(source=opcua.Node(server.iserver.isession, ua.NodeId(ua.ObjectIds.Server))) - check_eventgenerator_BaseEvent(self, evgen) - check_eventgenerator_SourceServer(self, evgen) +async def test_eventgenerator_sourceServer_Node(server): + evgen = await server.get_event_generator(source=opcua.Node(server.iserver.isession, ua.NodeId(ua.ObjectIds.Server))) + await check_eventgenerator_BaseEvent(evgen, server) + await check_eventgenerator_SourceServer(evgen, server) - def test_eventgenerator_sourceServer_NodeId(self): - evgen = server.get_event_generator(source=ua.NodeId(ua.ObjectIds.Server)) - check_eventgenerator_BaseEvent(self, evgen) - check_eventgenerator_SourceServer(self, evgen) +async def test_eventgenerator_sourceServer_NodeId(server): + evgen = await server.get_event_generator(source=ua.NodeId(ua.ObjectIds.Server)) + await check_eventgenerator_BaseEvent(evgen, server) + await check_eventgenerator_SourceServer(evgen, server) - def test_eventgenerator_sourceServer_ObjectIds(self): - evgen = server.get_event_generator(source=ua.ObjectIds.Server) - check_eventgenerator_BaseEvent(self, evgen) - check_eventgenerator_SourceServer(self, evgen) +async def test_eventgenerator_sourceServer_ObjectIds(server): + evgen = await server.get_event_generator(source=ua.ObjectIds.Server) + await check_eventgenerator_BaseEvent(evgen, server) + await check_eventgenerator_SourceServer(evgen, server) - def test_eventgenerator_sourceMyObject(self): - objects = server.get_objects_node() - o = objects.add_object(3, 'MyObject') - evgen = server.get_event_generator(source=o) - check_eventgenerator_BaseEvent(self, evgen) - check_event_generator_object(self, evgen, o) +async def test_eventgenerator_sourceMyObject(server): + objects = server.get_objects_node() + o = await objects.add_object(3, 'MyObject') + evgen = await server.get_event_generator(source=o) + await check_eventgenerator_BaseEvent(evgen, server) + await check_event_generator_object(evgen, o) - def test_eventgenerator_source_collision(self): - objects = server.get_objects_node() - o = objects.add_object(3, 'MyObject') - event = BaseEvent(sourcenode=o.nodeid) - evgen = server.get_event_generator(event, ua.ObjectIds.Server) - check_eventgenerator_BaseEvent(self, evgen) - check_event_generator_object(self, evgen, o) +async def test_eventgenerator_source_collision(server): + objects = server.get_objects_node() + o = await objects.add_object(3, 'MyObject') + event = BaseEvent(sourcenode=o.nodeid) + evgen = await server.get_event_generator(event, ua.ObjectIds.Server) + await check_eventgenerator_BaseEvent(evgen, server) + await check_event_generator_object(evgen, o) - def test_eventgenerator_InheritedEvent(self): - evgen = server.get_event_generator(ua.ObjectIds.AuditEventType) - check_eventgenerator_SourceServer(self, evgen) +async def test_eventgenerator_InheritedEvent(server): + evgen = await server.get_event_generator(ua.ObjectIds.AuditEventType) + await check_eventgenerator_SourceServer(evgen, server) + ev = evgen.event + assert ev is not None # we did not receive event + assert isinstance(ev, BaseEvent) + assert isinstance(ev, AuditEvent) + assert ua.NodeId(ua.ObjectIds.AuditEventType) == ev.EventType + assert 1 == ev.Severity + assert ev.ActionTimeStamp is None + assert False == ev.Status + assert ev.ServerId is None + assert ev.ClientAuditEntryId is None + assert ev.ClientUserId is None +async def test_eventgenerator_MultiInheritedEvent(server): + evgen = await server.get_event_generator(ua.ObjectIds.AuditOpenSecureChannelEventType) + await check_eventgenerator_SourceServer(evgen, server) ev = evgen.event - self.assertIsNot(ev, None) # we did not receive event - self.assertIsInstance(ev, BaseEvent) - self.assertIsInstance(ev, AuditEvent) - self.assertEqual(ev.EventType, ua.NodeId(ua.ObjectIds.AuditEventType)) - self.assertEqual(ev.Severity, 1) - self.assertEqual(ev.ActionTimeStamp, None) - self.assertEqual(ev.Status, False) - self.assertEqual(ev.ServerId, None) - self.assertEqual(ev.ClientAuditEntryId, None) - self.assertEqual(ev.ClientUserId, None) - - def test_eventgenerator_MultiInheritedEvent(self): - evgen = server.get_event_generator(ua.ObjectIds.AuditOpenSecureChannelEventType) - check_eventgenerator_SourceServer(self, evgen) + assert ev is not None # we did not receive event + assert isinstance(ev, BaseEvent) + assert isinstance(ev, AuditEvent) + assert isinstance(ev, AuditSecurityEvent) + assert isinstance(ev, AuditChannelEvent) + assert isinstance(ev, AuditOpenSecureChannelEvent) + assert ua.NodeId(ua.ObjectIds.AuditOpenSecureChannelEventType) == ev.EventType + assert 1 == ev.Severity + assert ev.ClientCertificate is None + assert ev.ClientCertificateThumbprint is None + assert ev.RequestType is None + assert ev.SecurityPolicyUri is None + assert ev.SecurityMode is None + assert ev.RequestedLifetime is None + + +# For the custom events all posibilites are tested. For other custom types only one test case is done since they are using the same code +async def test_create_custom_data_type_ObjectId(server): + type = await server.create_custom_data_type(2, 'MyDataType', ua.ObjectIds.BaseDataType, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) + await check_custom_type(type, ua.ObjectIds.BaseDataType, server) + +async def test_create_custom_event_type_ObjectId(server): + type = await server.create_custom_event_type(2, 'MyEvent', ua.ObjectIds.BaseEventType, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) + await check_custom_type(type, ua.ObjectIds.BaseEventType, server) + +async def test_create_custom_object_type_ObjectId(server): + def func(parent, variant): + return [ua.Variant(ret, ua.VariantType.Boolean)] + properties = [('PropertyNum', ua.VariantType.Int32), + ('PropertyString', ua.VariantType.String)] + variables = [('VariableString', ua.VariantType.String), + ('MyEnumVar', ua.VariantType.Int32, ua.NodeId(ua.ObjectIds.ApplicationType))] + methods = [('MyMethod', func, [ua.VariantType.Int64], [ua.VariantType.Boolean])] + node_type = await server.create_custom_object_type(2, 'MyObjectType', ua.ObjectIds.BaseObjectType, properties, + variables, methods) + await check_custom_type(node_type, ua.ObjectIds.BaseObjectType, server) + variables = await node_type.get_variables() + assert await node_type.get_child("2:VariableString") in variables + assert ua.VariantType.String == (await(await node_type.get_child("2:VariableString")).get_data_value()).Value.VariantType + assert await node_type.get_child("2:MyEnumVar") in variables + assert ua.VariantType.Int32 == (await(await node_type.get_child("2:MyEnumVar")).get_data_value()).Value.VariantType + assert ua.NodeId(ua.ObjectIds.ApplicationType) == await (await node_type.get_child("2:MyEnumVar")).get_data_type() + methods = await node_type.get_methods() + assert await node_type.get_child("2:MyMethod") in methods + +async def test_create_custom_variable_type_ObjectId(server): + type = await server.create_custom_variable_type(2, 'MyVariableType', ua.ObjectIds.BaseVariableType, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) + await check_custom_type(type, ua.ObjectIds.BaseVariableType, server) + +async def test_create_custom_event_type_NodeId(server): + etype = await server.create_custom_event_type(2, 'MyEvent', ua.NodeId(ua.ObjectIds.BaseEventType), [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) + await check_custom_type(etype, ua.ObjectIds.BaseVariableType, server) + +async def test_create_custom_event_type_Node(server): + etype = await server.create_custom_event_type(2, 'MyEvent', opcua.Node(server.iserver.isession, ua.NodeId(ua.ObjectIds.BaseEventType)), [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) + await check_custom_type(etype, ua.ObjectIds.BaseVariableType, server) - ev = evgen.event - self.assertIsNot(ev, None) # we did not receive event - self.assertIsInstance(ev, BaseEvent) - self.assertIsInstance(ev, AuditEvent) - self.assertIsInstance(ev, AuditSecurityEvent) - self.assertIsInstance(ev, AuditChannelEvent) - self.assertIsInstance(ev, AuditOpenSecureChannelEvent) - self.assertEqual(ev.EventType, ua.NodeId(ua.ObjectIds.AuditOpenSecureChannelEventType)) - self.assertEqual(ev.Severity, 1), - self.assertEqual(ev.ClientCertificate, None) - self.assertEqual(ev.ClientCertificateThumbprint, None) - self.assertEqual(ev.RequestType, None) - self.assertEqual(ev.SecurityPolicyUri, None) - self.assertEqual(ev.SecurityMode, None) - self.assertEqual(ev.RequestedLifetime, None) - - # For the custom events all posibilites are tested. For other custom types only one test case is done since they are using the same code - def test_create_custom_data_type_ObjectId(self): - type = server.create_custom_data_type(2, 'MyDataType', ua.ObjectIds.BaseDataType, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) - check_custom_type(self, type, ua.ObjectIds.BaseDataType) - - def test_create_custom_event_type_ObjectId(self): - type = server.create_custom_event_type(2, 'MyEvent', ua.ObjectIds.BaseEventType, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) - check_custom_type(self, type, ua.ObjectIds.BaseEventType) - - def test_create_custom_object_type_ObjectId(self): - def func(parent, variant): - return [ua.Variant(ret, ua.VariantType.Boolean)] - - properties = [('PropertyNum', ua.VariantType.Int32), - ('PropertyString', ua.VariantType.String)] - variables = [('VariableString', ua.VariantType.String), - ('MyEnumVar', ua.VariantType.Int32, ua.NodeId(ua.ObjectIds.ApplicationType))] - methods = [('MyMethod', func, [ua.VariantType.Int64], [ua.VariantType.Boolean])] - - node_type = server.create_custom_object_type(2, 'MyObjectType', ua.ObjectIds.BaseObjectType, properties, variables, methods) - - check_custom_type(self, node_type, ua.ObjectIds.BaseObjectType) - variables = node_type.get_variables() - self.assertTrue(node_type.get_child("2:VariableString") in variables) - self.assertEqual(node_type.get_child("2:VariableString").get_data_value().Value.VariantType, ua.VariantType.String) - self.assertTrue(node_type.get_child("2:MyEnumVar") in variables) - self.assertEqual(node_type.get_child("2:MyEnumVar").get_data_value().Value.VariantType, ua.VariantType.Int32) - self.assertEqual(node_type.get_child("2:MyEnumVar").get_data_type(), ua.NodeId(ua.ObjectIds.ApplicationType)) - methods = node_type.get_methods() - self.assertTrue(node_type.get_child("2:MyMethod") in methods) - - # def test_create_custom_refrence_type_ObjectId(self): - # type = server.create_custom_reference_type(2, 'MyEvent', ua.ObjectIds.Base, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) - # check_custom_type(self, type, ua.ObjectIds.BaseObjectType) - - def test_create_custom_variable_type_ObjectId(self): - type = server.create_custom_variable_type(2, 'MyVariableType', ua.ObjectIds.BaseVariableType, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) - check_custom_type(self, type, ua.ObjectIds.BaseVariableType) - - def test_create_custom_event_type_NodeId(self): - etype = server.create_custom_event_type(2, 'MyEvent', ua.NodeId(ua.ObjectIds.BaseEventType), [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) - check_custom_type(self, etype, ua.ObjectIds.BaseEventType) - - def test_create_custom_event_type_Node(self): - etype = server.create_custom_event_type(2, 'MyEvent', opcua.Node(server.iserver.isession, ua.NodeId(ua.ObjectIds.BaseEventType)), [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) - check_custom_type(self, etype, ua.ObjectIds.BaseEventType) +""" + def test_get_event_from_type_node_CustomEvent(self): etype = server.create_custom_event_type(2, 'MyEvent', ua.ObjectIds.BaseEventType, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) @@ -528,7 +501,7 @@ async def check_eventgenerator_SourceServer(evgen, server: Server): async def check_event_generator_object(evgen, obj): - assert evgen.event.SourceName == obj.get_browse_name().Name + assert evgen.event.SourceName == (await obj.get_browse_name()).Name assert evgen.event.SourceNode == obj.nodeid assert await obj.get_event_notifier() == {ua.EventNotifier.SubscribeToEvents} refs = await obj.get_referenced_nodes(ua.ObjectIds.GeneratesEvent, ua.BrowseDirection.Forward, @@ -573,13 +546,13 @@ async def check_custom_type(type, base_type, server: Server): nodes = await type.get_referenced_nodes(refs=ua.ObjectIds.HasSubtype, direction=ua.BrowseDirection.Inverse, includesubtypes=True) assert base == nodes[0] - properties = type.get_properties() + properties = await type.get_properties() assert properties is not None assert len(properties) == 2 - assert type.get_child("2:PropertyNum") in properties - assert type.get_child("2:PropertyNum").get_data_value().Value.VariantType == ua.VariantType.Int32 - assert type.get_child("2:PropertyString") in properties - assert type.get_child("2:PropertyString").get_data_value().Value.VariantType == ua.VariantType.String + assert await type.get_child("2:PropertyNum") in properties + assert (await(await type.get_child("2:PropertyNum")).get_data_value()).Value.VariantType == ua.VariantType.Int32 + assert await type.get_child("2:PropertyString") in properties + assert (await(await type.get_child("2:PropertyString")).get_data_value()).Value.VariantType == ua.VariantType.String """ class TestServerCaching(unittest.TestCase): From 74338f9787629459aa52e0880cf12e24ada06975 Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Mon, 30 Jul 2018 19:04:38 +0200 Subject: [PATCH 096/113] tests refactored --- opcua/common/events.py | 25 +-- opcua/server/event_generator.py | 12 +- opcua/server/server.py | 3 +- tests/test_server.py | 331 +++++++++++++++++--------------- 4 files changed, 203 insertions(+), 168 deletions(-) diff --git a/opcua/common/events.py b/opcua/common/events.py index 8261291fe..d9711f95f 100644 --- a/opcua/common/events.py +++ b/opcua/common/events.py @@ -177,28 +177,29 @@ async def get_event_properties_from_type_node(node): return properties -def get_event_obj_from_type_node(node): +async def get_event_obj_from_type_node(node): """ return an Event object from an event type node """ if node.nodeid.Identifier in opcua.common.event_objects.IMPLEMENTED_EVENTS.keys(): return opcua.common.event_objects.IMPLEMENTED_EVENTS[node.nodeid.Identifier]() else: - parent_identifier, parent_eventtype = _find_parent_eventtype(node) + parent_identifier, parent_eventtype = await _find_parent_eventtype(node) class CustomEvent(parent_eventtype): def __init__(self): parent_eventtype.__init__(self) self.EventType = node.nodeid - curr_node = node + async def init(self): + curr_node = node while curr_node.nodeid.Identifier != parent_identifier: - for prop in curr_node.get_properties(): - name = prop.get_browse_name().Name - val = prop.get_data_value() + for prop in await curr_node.get_properties(): + name = (await prop.get_browse_name()).Name + val = await prop.get_data_value() self.add_property(name, val.Value.Value, val.Value.VariantType) - parents = curr_node.get_referenced_nodes(refs=ua.ObjectIds.HasSubtype, direction=ua.BrowseDirection.Inverse, includesubtypes=True) + parents = await curr_node.get_referenced_nodes(refs=ua.ObjectIds.HasSubtype, direction=ua.BrowseDirection.Inverse, includesubtypes=True) if len(parents) != 1: # Something went wrong raise UaError("Parent of event type could notbe found") @@ -206,17 +207,19 @@ def __init__(self): self._freeze = True - return CustomEvent() + ce = CustomEvent() + await ce.init() + return ce -def _find_parent_eventtype(node): +async def _find_parent_eventtype(node): """ """ - parents = node.get_referenced_nodes(refs=ua.ObjectIds.HasSubtype, direction=ua.BrowseDirection.Inverse, includesubtypes=True) + parents = await node.get_referenced_nodes(refs=ua.ObjectIds.HasSubtype, direction=ua.BrowseDirection.Inverse, includesubtypes=True) if len(parents) != 1: # Something went wrong raise UaError("Parent of event type could notbe found") if parents[0].nodeid.Identifier in opcua.common.event_objects.IMPLEMENTED_EVENTS.keys(): return parents[0].nodeid.Identifier, opcua.common.event_objects.IMPLEMENTED_EVENTS[parents[0].nodeid.Identifier] else: - return _find_parent_eventtype(parents[0]) + return await _find_parent_eventtype(parents[0]) diff --git a/opcua/server/event_generator.py b/opcua/server/event_generator.py index 90cc469ce..87c424c1e 100644 --- a/opcua/server/event_generator.py +++ b/opcua/server/event_generator.py @@ -8,7 +8,7 @@ from opcua.common import event_objects -class EventGenerator(object): +class EventGenerator: """ Create an event based on an event type. Per default is BaseEventType used. @@ -21,12 +21,14 @@ class EventGenerator(object): etype: The event type, either an objectId, a NodeId or a Node object """ - def __init__(self, isession, etype=None): - if not etype: - etype = event_objects.BaseEvent() + def __init__(self, isession): self.logger = logging.getLogger(__name__) self.isession = isession self.event = None + + async def init(self, etype=None): + if not etype: + etype = event_objects.BaseEvent() node = None if isinstance(etype, event_objects.BaseEvent): self.event = etype @@ -37,7 +39,7 @@ def __init__(self, isession, etype=None): else: node = Node(self.isession, ua.NodeId(etype)) if node: - self.event = events.get_event_obj_from_type_node(node) + self.event = await events.get_event_obj_from_type_node(node) async def set_source(self, source=ua.ObjectIds.Server): if isinstance(source, Node): diff --git a/opcua/server/server.py b/opcua/server/server.py index 6a377b9ca..0eab2aa58 100644 --- a/opcua/server/server.py +++ b/opcua/server/server.py @@ -451,7 +451,8 @@ async def get_event_generator(self, etype=None, source=ua.ObjectIds.Server): """ if not etype: etype = BaseEvent() - ev_gen = EventGenerator(self.iserver.isession, etype) + ev_gen = EventGenerator(self.iserver.isession) + await ev_gen.init(etype) await ev_gen.set_source(source) return ev_gen diff --git a/tests/test_server.py b/tests/test_server.py index aefa3da3e..60a367d09 100644 --- a/tests/test_server.py +++ b/tests/test_server.py @@ -179,21 +179,21 @@ def callback(parent): includesubtypes=False) assert o in nodes assert await m.get_parent() == o - + async def test_get_event_from_type_node_BaseEvent(server): """ This should work for following BaseEvent tests to work (maybe to write it a bit differentlly since they are not independent) """ - ev = opcua.common.events.get_event_obj_from_type_node( + ev = await opcua.common.events.get_event_obj_from_type_node( opcua.Node(server.iserver.isession, ua.NodeId(ua.ObjectIds.BaseEventType)) ) check_base_event(ev) async def test_get_event_from_type_node_Inhereted_AuditEvent(server): - ev = opcua.common.events.get_event_obj_from_type_node( + ev = await opcua.common.events.get_event_obj_from_type_node( opcua.Node(server.iserver.isession, ua.NodeId(ua.ObjectIds.AuditEventType)) ) # we did not receive event @@ -210,7 +210,7 @@ async def test_get_event_from_type_node_Inhereted_AuditEvent(server): async def test_get_event_from_type_node_MultiInhereted_AuditOpenSecureChannelEvent(server): - ev = opcua.common.events.get_event_obj_from_type_node( + ev = await opcua.common.events.get_event_obj_from_type_node( opcua.Node(server.iserver.isession, ua.NodeId(ua.ObjectIds.AuditOpenSecureChannelEventType)) ) assert ev is not None @@ -246,36 +246,43 @@ async def test_eventgenerator_BaseEvent_Node(server): await check_eventgenerator_BaseEvent(evgen, server) await check_eventgenerator_SourceServer(evgen, server) + async def test_eventgenerator_BaseEvent_NodeId(server): evgen = await server.get_event_generator(ua.NodeId(ua.ObjectIds.BaseEventType)) await check_eventgenerator_BaseEvent(evgen, server) await check_eventgenerator_SourceServer(evgen, server) + async def test_eventgenerator_BaseEvent_ObjectIds(server): evgen = await server.get_event_generator(ua.ObjectIds.BaseEventType) await check_eventgenerator_BaseEvent(evgen, server) await check_eventgenerator_SourceServer(evgen, server) + async def test_eventgenerator_BaseEvent_Identifier(server): evgen = await server.get_event_generator(2041) await check_eventgenerator_BaseEvent(evgen, server) await check_eventgenerator_SourceServer(evgen, server) + async def test_eventgenerator_sourceServer_Node(server): evgen = await server.get_event_generator(source=opcua.Node(server.iserver.isession, ua.NodeId(ua.ObjectIds.Server))) await check_eventgenerator_BaseEvent(evgen, server) await check_eventgenerator_SourceServer(evgen, server) + async def test_eventgenerator_sourceServer_NodeId(server): evgen = await server.get_event_generator(source=ua.NodeId(ua.ObjectIds.Server)) await check_eventgenerator_BaseEvent(evgen, server) await check_eventgenerator_SourceServer(evgen, server) + async def test_eventgenerator_sourceServer_ObjectIds(server): evgen = await server.get_event_generator(source=ua.ObjectIds.Server) await check_eventgenerator_BaseEvent(evgen, server) await check_eventgenerator_SourceServer(evgen, server) + async def test_eventgenerator_sourceMyObject(server): objects = server.get_objects_node() o = await objects.add_object(3, 'MyObject') @@ -283,6 +290,7 @@ async def test_eventgenerator_sourceMyObject(server): await check_eventgenerator_BaseEvent(evgen, server) await check_event_generator_object(evgen, o) + async def test_eventgenerator_source_collision(server): objects = server.get_objects_node() o = await objects.add_object(3, 'MyObject') @@ -291,6 +299,7 @@ async def test_eventgenerator_source_collision(server): await check_eventgenerator_BaseEvent(evgen, server) await check_event_generator_object(evgen, o) + async def test_eventgenerator_InheritedEvent(server): evgen = await server.get_event_generator(ua.ObjectIds.AuditEventType) await check_eventgenerator_SourceServer(evgen, server) @@ -306,188 +315,207 @@ async def test_eventgenerator_InheritedEvent(server): assert ev.ClientAuditEntryId is None assert ev.ClientUserId is None + async def test_eventgenerator_MultiInheritedEvent(server): - evgen = await server.get_event_generator(ua.ObjectIds.AuditOpenSecureChannelEventType) - await check_eventgenerator_SourceServer(evgen, server) - ev = evgen.event - assert ev is not None # we did not receive event - assert isinstance(ev, BaseEvent) - assert isinstance(ev, AuditEvent) - assert isinstance(ev, AuditSecurityEvent) - assert isinstance(ev, AuditChannelEvent) - assert isinstance(ev, AuditOpenSecureChannelEvent) - assert ua.NodeId(ua.ObjectIds.AuditOpenSecureChannelEventType) == ev.EventType - assert 1 == ev.Severity - assert ev.ClientCertificate is None - assert ev.ClientCertificateThumbprint is None - assert ev.RequestType is None - assert ev.SecurityPolicyUri is None - assert ev.SecurityMode is None - assert ev.RequestedLifetime is None + evgen = await server.get_event_generator(ua.ObjectIds.AuditOpenSecureChannelEventType) + await check_eventgenerator_SourceServer(evgen, server) + ev = evgen.event + assert ev is not None # we did not receive event + assert isinstance(ev, BaseEvent) + assert isinstance(ev, AuditEvent) + assert isinstance(ev, AuditSecurityEvent) + assert isinstance(ev, AuditChannelEvent) + assert isinstance(ev, AuditOpenSecureChannelEvent) + assert ua.NodeId(ua.ObjectIds.AuditOpenSecureChannelEventType) == ev.EventType + assert 1 == ev.Severity + assert ev.ClientCertificate is None + assert ev.ClientCertificateThumbprint is None + assert ev.RequestType is None + assert ev.SecurityPolicyUri is None + assert ev.SecurityMode is None + assert ev.RequestedLifetime is None # For the custom events all posibilites are tested. For other custom types only one test case is done since they are using the same code async def test_create_custom_data_type_ObjectId(server): - type = await server.create_custom_data_type(2, 'MyDataType', ua.ObjectIds.BaseDataType, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) + type = await server.create_custom_data_type(2, 'MyDataType', ua.ObjectIds.BaseDataType, + [('PropertyNum', ua.VariantType.Int32), + ('PropertyString', ua.VariantType.String)]) await check_custom_type(type, ua.ObjectIds.BaseDataType, server) + async def test_create_custom_event_type_ObjectId(server): - type = await server.create_custom_event_type(2, 'MyEvent', ua.ObjectIds.BaseEventType, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) + type = await server.create_custom_event_type(2, 'MyEvent', ua.ObjectIds.BaseEventType, + [('PropertyNum', ua.VariantType.Int32), + ('PropertyString', ua.VariantType.String)]) await check_custom_type(type, ua.ObjectIds.BaseEventType, server) + async def test_create_custom_object_type_ObjectId(server): def func(parent, variant): return [ua.Variant(ret, ua.VariantType.Boolean)] + properties = [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)] variables = [('VariableString', ua.VariantType.String), ('MyEnumVar', ua.VariantType.Int32, ua.NodeId(ua.ObjectIds.ApplicationType))] methods = [('MyMethod', func, [ua.VariantType.Int64], [ua.VariantType.Boolean])] node_type = await server.create_custom_object_type(2, 'MyObjectType', ua.ObjectIds.BaseObjectType, properties, - variables, methods) + variables, methods) await check_custom_type(node_type, ua.ObjectIds.BaseObjectType, server) variables = await node_type.get_variables() assert await node_type.get_child("2:VariableString") in variables - assert ua.VariantType.String == (await(await node_type.get_child("2:VariableString")).get_data_value()).Value.VariantType + assert ua.VariantType.String == ( + await(await node_type.get_child("2:VariableString")).get_data_value()).Value.VariantType assert await node_type.get_child("2:MyEnumVar") in variables assert ua.VariantType.Int32 == (await(await node_type.get_child("2:MyEnumVar")).get_data_value()).Value.VariantType assert ua.NodeId(ua.ObjectIds.ApplicationType) == await (await node_type.get_child("2:MyEnumVar")).get_data_type() methods = await node_type.get_methods() assert await node_type.get_child("2:MyMethod") in methods + async def test_create_custom_variable_type_ObjectId(server): - type = await server.create_custom_variable_type(2, 'MyVariableType', ua.ObjectIds.BaseVariableType, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) + type = await server.create_custom_variable_type(2, 'MyVariableType', ua.ObjectIds.BaseVariableType, + [('PropertyNum', ua.VariantType.Int32), + ('PropertyString', ua.VariantType.String)]) await check_custom_type(type, ua.ObjectIds.BaseVariableType, server) + async def test_create_custom_event_type_NodeId(server): - etype = await server.create_custom_event_type(2, 'MyEvent', ua.NodeId(ua.ObjectIds.BaseEventType), [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) + etype = await server.create_custom_event_type(2, 'MyEvent', ua.NodeId(ua.ObjectIds.BaseEventType), + [('PropertyNum', ua.VariantType.Int32), + ('PropertyString', ua.VariantType.String)]) await check_custom_type(etype, ua.ObjectIds.BaseVariableType, server) + async def test_create_custom_event_type_Node(server): - etype = await server.create_custom_event_type(2, 'MyEvent', opcua.Node(server.iserver.isession, ua.NodeId(ua.ObjectIds.BaseEventType)), [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) + etype = await server.create_custom_event_type(2, 'MyEvent', opcua.Node(server.iserver.isession, + ua.NodeId(ua.ObjectIds.BaseEventType)), + [('PropertyNum', ua.VariantType.Int32), + ('PropertyString', ua.VariantType.String)]) await check_custom_type(etype, ua.ObjectIds.BaseVariableType, server) -""" - - - def test_get_event_from_type_node_CustomEvent(self): - etype = server.create_custom_event_type(2, 'MyEvent', ua.ObjectIds.BaseEventType, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) - - ev = opcua.common.events.get_event_obj_from_type_node(etype) - check_custom_event(self, ev, etype) - self.assertEqual(ev.PropertyNum, 0) - self.assertEqual(ev.PropertyString, None) - - def test_eventgenerator_customEvent(self): - etype = server.create_custom_event_type(2, 'MyEvent', ua.ObjectIds.BaseEventType, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) - - evgen = server.get_event_generator(etype, ua.ObjectIds.Server) - check_eventgenerator_CustomEvent(self, evgen, etype) - check_eventgenerator_SourceServer(self, evgen) - - self.assertEqual(evgen.event.PropertyNum, 0) - self.assertEqual(evgen.event.PropertyString, None) - - def test_eventgenerator_double_customEvent(self): - event1 = server.create_custom_event_type(3, 'MyEvent1', ua.ObjectIds.BaseEventType, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) - - event2 = server.create_custom_event_type(4, 'MyEvent2', event1, [('PropertyBool', ua.VariantType.Boolean), ('PropertyInt', ua.VariantType.Int32)]) - - evgen = server.get_event_generator(event2, ua.ObjectIds.Server) - check_eventgenerator_CustomEvent(self, evgen, event2) - check_eventgenerator_SourceServer(self, evgen) - - # Properties from MyEvent1 - self.assertEqual(evgen.event.PropertyNum, 0) - self.assertEqual(evgen.event.PropertyString, None) - - # Properties from MyEvent2 - self.assertEqual(evgen.event.PropertyBool, False) - self.assertEqual(evgen.event.PropertyInt, 0) - - def test_eventgenerator_customEvent_MyObject(self): - objects = server.get_objects_node() - o = objects.add_object(3, 'MyObject') - etype = server.create_custom_event_type(2, 'MyEvent', ua.ObjectIds.BaseEventType, [('PropertyNum', ua.VariantType.Int32), ('PropertyString', ua.VariantType.String)]) - - evgen = server.get_event_generator(etype, o) - check_eventgenerator_CustomEvent(self, evgen, etype) - check_event_generator_object(self, evgen, o) - - self.assertEqual(evgen.event.PropertyNum, 0) - self.assertEqual(evgen.event.PropertyString, None) - - def test_context_manager(self): - # Context manager calls start() and stop() - state = [0] - def increment_state(self, *args, **kwargs): - state[0] += 1 - - # create server and replace instance methods with dummy methods - server = Server() - server.start = increment_state.__get__(server) - server.stop = increment_state.__get__(server) - - assert state[0] == 0 - with server: - # test if server started - self.assertEqual(state[0], 1) - # test if server stopped - self.assertEqual(state[0], 2) - - def test_get_node_by_ns(self): - - def get_ns_of_nodes(nodes): - ns_list = set() - for node in nodes: - ns_list.add(node.nodeid.NamespaceIndex) - return ns_list - - # incase other testss created nodes in unregistered namespace - _idx_d = server.register_namespace('dummy1') - _idx_d = server.register_namespace('dummy2') - _idx_d = server.register_namespace('dummy3') - - # create the test namespaces and vars - idx_a = server.register_namespace('a') - idx_b = server.register_namespace('b') - idx_c = server.register_namespace('c') - o = server.get_objects_node() - _myvar2 = o.add_variable(idx_a, "MyBoolVar2", True) - _myvar3 = o.add_variable(idx_b, "MyBoolVar3", True) - _myvar4 = o.add_variable(idx_c, "MyBoolVar4", True) - - # the tests - nodes = ua_utils.get_nodes_of_namespace(server, namespaces=[idx_a, idx_b, idx_c]) - self.assertEqual(len(nodes), 3) - self.assertEqual(get_ns_of_nodes(nodes), set([idx_a, idx_b, idx_c])) - - nodes = ua_utils.get_nodes_of_namespace(server, namespaces=[idx_a]) - self.assertEqual(len(nodes), 1) - self.assertEqual(get_ns_of_nodes(nodes), set([idx_a])) - - nodes = ua_utils.get_nodes_of_namespace(server, namespaces=[idx_b]) - self.assertEqual(len(nodes), 1) - self.assertEqual(get_ns_of_nodes(nodes), set([idx_b])) - - nodes = ua_utils.get_nodes_of_namespace(server, namespaces=['a']) - self.assertEqual(len(nodes), 1) - self.assertEqual(get_ns_of_nodes(nodes), set([idx_a])) - - nodes = ua_utils.get_nodes_of_namespace(server, namespaces=['a', 'c']) - self.assertEqual(len(nodes), 2) - self.assertEqual(get_ns_of_nodes(nodes), set([idx_a, idx_c])) - - nodes = ua_utils.get_nodes_of_namespace(server, namespaces='b') - self.assertEqual(len(nodes), 1) - self.assertEqual(get_ns_of_nodes(nodes), set([idx_b])) - - nodes = ua_utils.get_nodes_of_namespace(server, namespaces=idx_b) - self.assertEqual(len(nodes), 1) - self.assertEqual(get_ns_of_nodes(nodes), set([idx_b])) - - self.assertRaises(ValueError, ua_utils.get_nodes_of_namespace, server, namespaces='non_existing_ns') -""" + +async def test_get_event_from_type_node_CustomEvent(server): + etype = await server.create_custom_event_type(2, 'MyEvent', ua.ObjectIds.BaseEventType, + [('PropertyNum', ua.VariantType.Int32), + ('PropertyString', ua.VariantType.String)]) + ev = await opcua.common.events.get_event_obj_from_type_node(etype) + check_custom_event(ev, etype) + assert 0 == ev.PropertyNum + assert ev.PropertyString is None + + +async def test_eventgenerator_customEvent(server): + etype = await server.create_custom_event_type(2, 'MyEvent', ua.ObjectIds.BaseEventType, + [('PropertyNum', ua.VariantType.Int32), + ('PropertyString', ua.VariantType.String)]) + evgen = await server.get_event_generator(etype, ua.ObjectIds.Server) + check_eventgenerator_CustomEvent(evgen, etype, server) + await check_eventgenerator_SourceServer(evgen, server) + assert 0 == evgen.event.PropertyNum + assert evgen.event.PropertyString is None + + +async def test_eventgenerator_double_customEvent(server): + event1 = await server.create_custom_event_type(3, 'MyEvent1', ua.ObjectIds.BaseEventType, + [('PropertyNum', ua.VariantType.Int32), + ('PropertyString', ua.VariantType.String)]) + event2 = await server.create_custom_event_type(4, 'MyEvent2', event1, [('PropertyBool', ua.VariantType.Boolean), + ('PropertyInt', ua.VariantType.Int32)]) + evgen = await server.get_event_generator(event2, ua.ObjectIds.Server) + check_eventgenerator_CustomEvent(evgen, event2, server) + await check_eventgenerator_SourceServer(evgen, server) + # Properties from MyEvent1 + assert 0 == evgen.event.PropertyNum + assert evgen.event.PropertyString is None + # Properties from MyEvent2 + assert not evgen.event.PropertyBool + assert 0 == evgen.event.PropertyInt + + +async def test_eventgenerator_customEvent_MyObject(server): + objects = server.get_objects_node() + o = await objects.add_object(3, 'MyObject') + etype = await server.create_custom_event_type(2, 'MyEvent', ua.ObjectIds.BaseEventType, + [('PropertyNum', ua.VariantType.Int32), + ('PropertyString', ua.VariantType.String)]) + + evgen = await server.get_event_generator(etype, o) + check_eventgenerator_CustomEvent(evgen, etype, server) + await check_event_generator_object(evgen, o) + assert 0 == evgen.event.PropertyNum + assert evgen.event.PropertyString is None + + +async def test_context_manager(): + # Context manager calls start() and stop() + state = [0] + + async def increment_state(self, *args, **kwargs): + state[0] += 1 + + # create server and replace instance methods with dummy methods + server = Server() + server.start = increment_state.__get__(server) + server.stop = increment_state.__get__(server) + assert state[0] == 0 + async with server: + # test if server started + assert 1 == state[0] + # test if server stopped + assert 2 == state[0] + + +async def test_get_node_by_ns(server): + def get_ns_of_nodes(nodes): + ns_list = set() + for node in nodes: + ns_list.add(node.nodeid.NamespaceIndex) + return ns_list + + # incase other testss created nodes in unregistered namespace + _idx_d = await server.register_namespace('dummy1') + _idx_d = await server.register_namespace('dummy2') + _idx_d = await server.register_namespace('dummy3') + # create the test namespaces and vars + idx_a = await server.register_namespace('a') + idx_b = await server.register_namespace('b') + idx_c = await server.register_namespace('c') + o = server.get_objects_node() + _myvar2 = await o.add_variable(idx_a, "MyBoolVar2", True) + _myvar3 = await o.add_variable(idx_b, "MyBoolVar3", True) + _myvar4 = await o.add_variable(idx_c, "MyBoolVar4", True) + # the tests + nodes = await ua_utils.get_nodes_of_namespace(server, namespaces=[idx_a, idx_b, idx_c]) + assert 3 == len(nodes) + assert set([idx_a, idx_b, idx_c]) == get_ns_of_nodes(nodes) + + nodes = await ua_utils.get_nodes_of_namespace(server, namespaces=[idx_a]) + assert 1 == len(nodes) + assert set([idx_a]) == get_ns_of_nodes(nodes) + + nodes = await ua_utils.get_nodes_of_namespace(server, namespaces=[idx_b]) + assert 1 == len(nodes) + assert set([idx_b]) == get_ns_of_nodes(nodes) + + nodes = await ua_utils.get_nodes_of_namespace(server, namespaces=['a']) + assert 1 == len(nodes) + assert set([idx_a]) == get_ns_of_nodes(nodes) + + nodes = await ua_utils.get_nodes_of_namespace(server, namespaces=['a', 'c']) + assert 2 == len(nodes) + assert set([idx_a, idx_c]) == get_ns_of_nodes(nodes) + + nodes = await ua_utils.get_nodes_of_namespace(server, namespaces='b') + assert 1 == len(nodes) + assert set([idx_b]) == get_ns_of_nodes(nodes) + + nodes = await ua_utils.get_nodes_of_namespace(server, namespaces=idx_b) + assert 1 == len(nodes) + assert set([idx_b]) == get_ns_of_nodes(nodes) + with pytest.raises(ValueError): + await ua_utils.get_nodes_of_namespace(server, namespaces='non_existing_ns') async def check_eventgenerator_SourceServer(evgen, server: Server): @@ -554,6 +582,7 @@ async def check_custom_type(type, base_type, server: Server): assert await type.get_child("2:PropertyString") in properties assert (await(await type.get_child("2:PropertyString")).get_data_value()).Value.VariantType == ua.VariantType.String + """ class TestServerCaching(unittest.TestCase): def runTest(self): @@ -573,7 +602,7 @@ def runTest(self): # ensure that we are actually loading from the cache server = Server(shelffile=path) - self.assertEqual(server.get_node(id).get_value(), 123) + assert server.get_node(id).get_value(), 123) os.remove(path) @@ -594,4 +623,4 @@ def test_port_in_use(self): server1.stop() server2.stop() -""" \ No newline at end of file +""" From fc60e03cf1f9589021dbbfc3434c5603ae93c90a Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Mon, 30 Jul 2018 21:38:26 +0200 Subject: [PATCH 097/113] refactored common tests (wip) --- tests/conftest.py | 42 ++ tests/test_client.py | 2 +- tests/test_common.py | 891 +++++++++++++++++++++++++++++++++++++++++ tests/test_server.py | 2 +- tests/tests_common.py | 904 ------------------------------------------ 5 files changed, 935 insertions(+), 906 deletions(-) create mode 100644 tests/conftest.py create mode 100644 tests/test_common.py delete mode 100644 tests/tests_common.py diff --git a/tests/conftest.py b/tests/conftest.py new file mode 100644 index 000000000..8c53adfdf --- /dev/null +++ b/tests/conftest.py @@ -0,0 +1,42 @@ +import pytest +from opcua import Client +from opcua import Server +from .test_common import add_server_methods + +port_num1 = 48510 +port_num = 48540 + + +def pytest_generate_tests(metafunc): + if 'opc' in metafunc.fixturenames: + metafunc.parametrize('opc', ['client', 'server'], indirect=True) + + +@pytest.fixture() +async def opc(request): + if request.param == 'client': + srv = Server() + await srv.init() + srv.set_endpoint(f'opc.tcp://127.0.0.1:{port_num}') + await add_server_methods(srv) + await srv.start() + # start client + # long timeout since travis (automated testing) can be really slow + clt = Client(f'opc.tcp://127.0.0.1:{port_num}', timeout=10) + await clt.connect() + yield clt + await clt.disconnect() + await srv.stop() + elif request.param == 'server': + # start our own server + # start our own server + srv = Server() + await srv.init() + srv.set_endpoint(f'opc.tcp://127.0.0.1:{port_num}') + await add_server_methods(srv) + await srv.start() + yield srv + # stop the server + await srv.stop() + else: + raise ValueError("invalid internal test config") diff --git a/tests/test_client.py b/tests/test_client.py index fe22fbe71..4562ffb26 100644 --- a/tests/test_client.py +++ b/tests/test_client.py @@ -6,7 +6,7 @@ from opcua import Server from opcua import ua -from .tests_common import add_server_methods +from .test_common import add_server_methods from .tests_enum_struct import add_server_custom_enum_struct port_num1 = 48510 diff --git a/tests/test_common.py b/tests/test_common.py new file mode 100644 index 000000000..1f452801c --- /dev/null +++ b/tests/test_common.py @@ -0,0 +1,891 @@ +# encoding: utf-8 +from concurrent.futures import Future, TimeoutError +import pytest +from datetime import datetime +from datetime import timedelta +import math +from contextlib import contextmanager + +from opcua import ua +from opcua import Node +from opcua import uamethod +from opcua import instantiate +from opcua import copy_node +from opcua.common import ua_utils +from opcua.common.methods import call_method_full + + +async def add_server_methods(srv): + @uamethod + def func(parent, value): + return value * 2 + + o = srv.get_objects_node() + await o.add_method( + ua.NodeId("ServerMethod", 2), ua.QualifiedName('ServerMethod', 2), + func, [ua.VariantType.Int64], [ua.VariantType.Int64] + ) + + @uamethod + def func2(parent, methodname, value): + if methodname == "panic": + return ua.StatusCode(ua.StatusCodes.BadOutOfMemory) + if methodname != "sin": + res = ua.CallMethodResult() + res.StatusCode = ua.StatusCode(ua.StatusCodes.BadInvalidArgument) + res.InputArgumentResults = [ua.StatusCode(ua.StatusCodes.BadNotSupported), ua.StatusCode()] + return res + return math.sin(value) + + o = srv.get_objects_node() + await o.add_method( + ua.NodeId("ServerMethodArray", 2), ua.QualifiedName('ServerMethodArray', 2), func2, + [ua.VariantType.String, ua.VariantType.Int64], [ua.VariantType.Int64] + ) + + @uamethod + def func3(parent, mylist): + return [i * 2 for i in mylist] + + o = srv.get_objects_node() + await o.add_method( + ua.NodeId("ServerMethodArray2", 2), ua.QualifiedName('ServerMethodArray2', 2), func3, + [ua.VariantType.Int64], [ua.VariantType.Int64] + ) + + @uamethod + def func4(parent): + return None + + base_otype = srv.get_node(ua.ObjectIds.BaseObjectType) + custom_otype = await base_otype.add_object_type(2, 'ObjectWithMethodsType') + await custom_otype.add_method(2, 'ServerMethodDefault', func4) + await (await custom_otype.add_method(2, 'ServerMethodMandatory', func4)).set_modelling_rule(True) + await (await custom_otype.add_method(2, 'ServerMethodOptional', func4)).set_modelling_rule(False) + await (await custom_otype.add_method(2, 'ServerMethodNone', func4)).set_modelling_rule(None) + await o.add_object(2, 'ObjectWithMethods', custom_otype) + + @uamethod + def func5(parent): + return 1, 2, 3 + + o = srv.get_objects_node() + await o.add_method(ua.NodeId("ServerMethodTuple", 2), ua.QualifiedName('ServerMethodTuple', 2), func5, [], + [ua.VariantType.Int64, ua.VariantType.Int64, ua.VariantType.Int64]) + + + +""" +Tests that will be run twice. Once on server side and once on +client side since we have been carefull to have the exact +same api on server and client side +""" + + +async def test_find_servers(opc): + servers = await opc.find_servers() + # FIXME : finish + +async def test_add_node_bad_args(opc): + obj = opc.get_objects_node() + + with pytest.raises(TypeError): + fold = await obj.add_folder(1.2, "kk") + + with pytest.raises(TypeError): + fold = await obj.add_folder(ua.UaError, "khjh") + + with pytest.raises(ua.UaError): + fold = await obj.add_folder("kjk", 1.2) + + with pytest.raises(TypeError): + fold = await obj.add_folder("i=0;s='oooo'", 1.2) + + with pytest.raises(ua.UaError): + fold = await obj.add_folder("i=0;s='oooo'", "tt:oioi") + +async def test_delete_nodes(opc): + obj = opc.get_objects_node() + fold = await obj.add_folder(2, "FolderToDelete") + var = await fold.add_variable(2, "VarToDelete", 9.1) + childs = await fold.get_children() + assert var in childs + await opc.delete_nodes([var]) + with pytest.raises(ua.UaStatusCodeError): + await var.set_value(7.8) + with pytest.raises(ua.UaStatusCodeError): + await obj.get_child(["2:FolderToDelete", "2:VarToDelete"]) + childs = await fold.get_children() + assert var not in childs + +async def test_delete_nodes_recursive(opc): + obj = opc.get_objects_node() + fold = await obj.add_folder(2, "FolderToDeleteR") + var = await fold.add_variable(2, "VarToDeleteR", 9.1) + await opc.delete_nodes([fold, var]) + with pytest.raises(ua.UaStatusCodeError): + await var.set_value(7.8) + with pytest.raises(ua.UaStatusCodeError): + await obj.get_child(["2:FolderToDelete", "2:VarToDelete"]) + +async def test_delete_nodes_recursive2(opc): + obj = opc.get_objects_node() + fold = await obj.add_folder(2, "FolderToDeleteRoot") + nfold = fold + mynodes = [] + for i in range(7): + nfold = await fold.add_folder(2, "FolderToDeleteRoot") + var = await fold.add_variable(2, "VarToDeleteR", 9.1) + var = await fold.add_property(2, "ProToDeleteR", 9.1) + prop = await fold.add_property(2, "ProToDeleteR", 9.1) + o = await fold.add_object(3, "ObjToDeleteR") + mynodes.append(nfold) + mynodes.append(var) + mynodes.append(prop) + mynodes.append(o) + await opc.delete_nodes([fold], recursive=True) + for node in mynodes: + with pytest.raises(ua.UaStatusCodeError): + await node.get_browse_name() + +def test_delete_references(opc): + newtype = opc.get_node(ua.ObjectIds.HierarchicalReferences).add_reference_type(0, "HasSuperSecretVariable") + + obj = opc.get_objects_node() + fold = obj.add_folder(2, "FolderToRef") + var = fold.add_variable(2, "VarToRef", 42) + + fold.add_reference(var, newtype) + + assert [fold] == var.get_referenced_nodes(newtype) + assert [var] == fold.get_referenced_nodes(newtype) + + fold.delete_reference(var, newtype) + + assert [] == var.get_referenced_nodes(newtype) + assert [] == fold.get_referenced_nodes(newtype) + + fold.add_reference(var, newtype, bidirectional=False) + + assert [] == var.get_referenced_nodes(newtype) + assert [var] == fold.get_referenced_nodes(newtype) + + fold.delete_reference(var, newtype) + + assert [] == var.get_referenced_nodes(newtype) + assert [] == fold.get_referenced_nodes(newtype) + + var.add_reference(fold, newtype, forward=False, bidirectional=False) + + assert [fold] == var.get_referenced_nodes(newtype) + assert [] == fold.get_referenced_nodes(newtype) + + with pytest.raises(ua.UaStatusCodeError): + fold.delete_reference(var, newtype) + + assert [fold] == var.get_referenced_nodes(newtype) + assert [] == fold.get_referenced_nodes(newtype) + + with pytest.raises(ua.UaStatusCodeError): + var.delete_reference(fold, newtype) + + assert [fold] == var.get_referenced_nodes(newtype) + assert [] == fold.get_referenced_nodes(newtype) + + var.delete_reference(fold, newtype, forward=False) + + assert [] == var.get_referenced_nodes(newtype) + assert [] == fold.get_referenced_nodes(newtype) + + # clean-up + opc.delete_nodes([fold, newtype], recursive=True) + +def test_server_node(opc): + node = opc.get_server_node() + assert ua.QualifiedName('Server', 0) == node.get_browse_name() + +def test_root(opc): + root = opc.get_root_node() + assert ua.QualifiedName('Root', 0) == root.get_browse_name() + assert ua.LocalizedText('Root') == root.get_display_name() + nid = ua.NodeId(84, 0) + assert nid == root.nodeid + +def test_objects(opc): + objects = opc.get_objects_node() + assert ua.QualifiedName('Objects', 0) == objects.get_browse_name() + nid = ua.NodeId(85, 0) + assert nid == objects.nodeid + +def test_browse(opc): + objects = opc.get_objects_node() + obj = objects.add_object(4, "browsetest") + folder = obj.add_folder(4, "folder") + prop = obj.add_property(4, "property", 1) + prop2 = obj.add_property(4, "property2", 2) + var = obj.add_variable(4, "variable", 3) + obj2 = obj.add_object(4, "obj") + alle = obj.get_children() + assert prop in alle + assert prop2 in alle + assert var in alle + assert folder in alle + assert obj not in alle + props = obj.get_children(refs=ua.ObjectIds.HasProperty) + assert prop in props + assert prop2 in props + assert var not in props + assert folder not in props + assert obj2 not in props + all_vars = obj.get_children(nodeclassmask=ua.NodeClass.Variable) + assert prop in all_vars + assert var in all_vars + assert folder not in props + assert obj2 not in props + all_objs = obj.get_children(nodeclassmask=ua.NodeClass.Object) + assert folder in all_objs + assert obj2 in all_objs + assert var not in all_objs + +def test_browse_references(opc): + objects = opc.get_objects_node() + folder = objects.add_folder(4, "folder") + + childs = objects.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Forward, + includesubtypes=False) + assert folder in childs + + childs = objects.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Both, + includesubtypes=False) + assert folder in childs + + childs = objects.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Inverse, + includesubtypes=False) + assert folder not in childs + + parents = folder.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Inverse, + includesubtypes=False) + assert objects in parents + + parents = folder.get_referenced_nodes(refs=ua.ObjectIds.HierarchicalReferences, + direction=ua.BrowseDirection.Inverse, includesubtypes=False) + assert objects in parents + + parent = folder.get_parent() + assert parent == objects + +def test_browsename_with_spaces(opc): + o = opc.get_objects_node() + v = o.add_variable(3, 'BNVariable with spaces and %&+?/', 1.3) + v2 = o.get_child("3:BNVariable with spaces and %&+?/") + assert v == v2 + +def test_non_existing_path(opc): + root = opc.get_root_node() + with pytest.raises(ua.UaStatusCodeError): + server_time_node = root.get_child(['0:Objects', '0:Server', '0:nonexistingnode']) + +def test_bad_attribute(opc): + root = opc.get_root_node() + with pytest.raises(ua.UaStatusCodeError): + root.set_value(99) + +def test_get_node_by_nodeid(opc): + root = opc.get_root_node() + server_time_node = root.get_child(['0:Objects', '0:Server', '0:ServerStatus', '0:CurrentTime']) + correct = opc.get_node(ua.NodeId(ua.ObjectIds.Server_ServerStatus_CurrentTime)) + assert server_time_node == correct + +def test_datetime_read(opc): + time_node = opc.get_node(ua.NodeId(ua.ObjectIds.Server_ServerStatus_CurrentTime)) + dt = time_node.get_value() + utcnow = datetime.utcnow() + delta = utcnow - dt + assert delta < timedelta(seconds=1) + +def test_datetime_write(opc): + time_node = opc.get_node(ua.NodeId(ua.ObjectIds.Server_ServerStatus_CurrentTime)) + now = datetime.utcnow() + objects = opc.get_objects_node() + v1 = objects.add_variable(4, "test_datetime", now) + tid = v1.get_value() + assert now == tid + +def test_variant_array_dim(opc): + objects = opc.get_objects_node() + l = [[[1.0, 1.0, 1.0, 1.0], [2.0, 2.0, 2.0, 2.0], [3.0, 3.0, 3.0, 3.0]], + [[5.0, 5.0, 5.0, 5.0], [7.0, 8.0, 9.0, 01.0], [1.0, 1.0, 1.0, 1.0]]] + v = objects.add_variable(3, 'variableWithDims', l) + + v.set_array_dimensions([0, 0, 0]) + dim = v.get_array_dimensions() + assert [0, 0, 0] == dim + + v.set_value_rank(0) + rank = v.get_value_rank() + assert 0 == rank + + v2 = v.get_value() + assert l == v2 + dv = v.get_data_value() + assert [2, 3, 4] == dv.Value.Dimensions + + l = [[[], [], []], [[], [], []]] + variant = ua.Variant(l, ua.VariantType.UInt32) + v = objects.add_variable(3, 'variableWithDimsEmpty', variant) + v2 = v.get_value() + assert l == v2 + dv = v.get_data_value() + assert [2, 3, 0] == dv.Value.Dimensions + +def test_add_numeric_variable(opc): + objects = opc.get_objects_node() + v = objects.add_variable('ns=3;i=888;', '3:numericnodefromstring', 99) + nid = ua.NodeId(888, 3) + qn = ua.QualifiedName('numericnodefromstring', 3) + assert nid == v.nodeid + assert qn == v.get_browse_name() + +def test_add_string_variable(opc): + objects = opc.get_objects_node() + v = objects.add_variable('ns=3;s=stringid;', '3:stringnodefromstring', [68]) + nid = ua.NodeId('stringid', 3) + qn = ua.QualifiedName('stringnodefromstring', 3) + assert nid == v.nodeid + assert qn == v.get_browse_name() + +def test_utf8(opc): + objects = opc.get_objects_node() + utf_string = "æøå@%&" + bn = ua.QualifiedName(utf_string, 3) + nid = ua.NodeId("æølå", 3) + val = "æøå" + v = objects.add_variable(nid, bn, val) + assert nid == v.nodeid + val2 = v.get_value() + assert val == val2 + bn2 = v.get_browse_name() + assert bn == bn2 + +def test_null_variable(opc): + objects = opc.get_objects_node() + var = objects.add_variable(3, 'nullstring', "a string") + var.set_value(None) + val = var.get_value() + assert val is None + var.set_value("") + val = var.get_value() + assert val is not None + assert "" == val + +def test_variable_data_type(opc): + objects = opc.get_objects_node() + var = objects.add_variable(3, 'stringfordatatype', "a string") + val = var.get_data_type_as_variant_type() + assert ua.VariantType.String == val + var = objects.add_variable(3, 'stringarrayfordatatype', ["a", "b"]) + val = var.get_data_type_as_variant_type() + assert ua.VariantType.String == val + +def test_add_string_array_variable(opc): + objects = opc.get_objects_node() + v = objects.add_variable('ns=3;s=stringarrayid;', '9:stringarray', ['l', 'b']) + nid = ua.NodeId('stringarrayid', 3) + qn = ua.QualifiedName('stringarray', 9) + assert nid == v.nodeid + assert qn == v.get_browse_name() + val = v.get_value() + assert ['l', 'b'] == val + +def test_add_numeric_node(opc): + objects = opc.get_objects_node() + nid = ua.NodeId(9999, 3) + qn = ua.QualifiedName('AddNodeVar1', 3) + v1 = objects.add_variable(nid, qn, 0) + assert nid == v1.nodeid + assert qn == v1.get_browse_name() + +def test_add_string_node(opc): + objects = opc.get_objects_node() + qn = ua.QualifiedName('AddNodeVar2', 3) + nid = ua.NodeId('AddNodeVar2Id', 3) + v2 = objects.add_variable(nid, qn, 0) + assert nid == v2.nodeid + assert qn == v2.get_browse_name() + +def test_add_find_node_(opc): + objects = opc.get_objects_node() + o = objects.add_object('ns=2;i=101;', '2:AddFindObject') + o2 = objects.get_child('2:AddFindObject') + assert o == o2 + +def test_node_path(opc): + objects = opc.get_objects_node() + o = objects.add_object('ns=2;i=105;', '2:NodePathObject') + root = opc.get_root_node() + o2 = root.get_child(['0:Objects', '2:NodePathObject']) + assert o == o2 + +def test_add_read_node(opc): + objects = opc.get_objects_node() + o = objects.add_object('ns=2;i=102;', '2:AddReadObject') + nid = ua.NodeId(102, 2) + assert nid == o.nodeid + qn = ua.QualifiedName('AddReadObject', 2) + assert qn == o.get_browse_name() + +def test_simple_value(opc): + o = opc.get_objects_node() + v = o.add_variable(3, 'VariableTestValue', 4.32) + val = v.get_value() + assert 4.32 == val + +def test_add_exception(opc): + objects = opc.get_objects_node() + o = objects.add_object('ns=2;i=103;', '2:AddReadObject') + with pytest.raises(ua.UaStatusCodeError): + o2 = objects.add_object('ns=2;i=103;', '2:AddReadObject') + +def test_negative_value(opc): + o = opc.get_objects_node() + v = o.add_variable(3, 'VariableNegativeValue', 4) + v.set_value(-4.54) + val = v.get_value() + assert -4.54 == val + +def test_read_server_state(opc): + statenode = opc.get_node(ua.NodeId(ua.ObjectIds.Server_ServerStatus_State)) + state = statenode.get_value() + assert 0 == state + +def test_bad_node(opc): + bad = opc.get_node(ua.NodeId(999, 999)) + with pytest.raises(ua.UaStatusCodeError): + bad.get_browse_name() + with pytest.raises(ua.UaStatusCodeError): + bad.set_value(89) + with pytest.raises(ua.UaStatusCodeError): + bad.add_object(0, "0:myobj") + with pytest.raises(ua.UaStatusCodeError): + bad.get_child("0:myobj") + +def test_value(opc): + o = opc.get_objects_node() + var = ua.Variant(1.98, ua.VariantType.Double) + v = o.add_variable(3, 'VariableValue', var) + val = v.get_value() + assert 1.98 == val + + dvar = ua.DataValue(var) + dv = v.get_data_value() + assert ua.DataValue == type(dv) + assert dvar.Value == dv.Value + assert dvar.Value == var + +def test_set_value(opc): + o = opc.get_objects_node() + var = ua.Variant(1.98, ua.VariantType.Double) + dvar = ua.DataValue(var) + v = o.add_variable(3, 'VariableValue', var) + v.set_value(var.Value) + v1 = v.get_value() + assert v1 == var.Value + v.set_value(var) + v2 = v.get_value() + assert v2 == var.Value + v.set_data_value(dvar) + v3 = v.get_data_value() + assert v3.Value == dvar.Value + +def test_array_value(opc): + o = opc.get_objects_node() + v = o.add_variable(3, 'VariableArrayValue', [1, 2, 3]) + val = v.get_value() + assert [1, 2, 3] == val + +def test_bool_variable(opc): + o = opc.get_objects_node() + v = o.add_variable(3, 'BoolVariable', True) + dt = v.get_data_type_as_variant_type() + assert ua.VariantType.Boolean == dt + val = v.get_value() + assert val is True + v.set_value(False) + val = v.get_value() + assert val is False + +def test_array_size_one_value(opc): + o = opc.get_objects_node() + v = o.add_variable(3, 'VariableArrayValue', [1, 2, 3]) + v.set_value([1]) + val = v.get_value() + assert [1] == val + +def test_use_namespace(opc): + idx = opc.get_namespace_index("urn:freeopcua:python:server") + assert 1 == idx + root = opc.get_root_node() + myvar = root.add_variable(idx, 'var_in_custom_namespace', [5]) + myid = myvar.nodeid + assert idx == myid.NamespaceIndex + +def test_method(opc): + o = opc.get_objects_node() + m = o.get_child("2:ServerMethod") + result = o.call_method("2:ServerMethod", 2.1) + assert 4.2 == result + with pytest.raises(ua.UaStatusCodeError): + # FIXME: we should raise a more precise exception + result = o.call_method("2:ServerMethod", 2.1, 89, 9) + with pytest.raises(ua.UaStatusCodeError): + result = o.call_method(ua.NodeId(999), 2.1) # non existing method + +def test_method_array(opc): + o = opc.get_objects_node() + m = o.get_child("2:ServerMethodArray") + result = o.call_method(m, "sin", ua.Variant(math.pi)) + assert result < 0.01 + with pytest.raises(ua.UaStatusCodeError) as cm: + result = o.call_method(m, "cos", ua.Variant(math.pi)) + assert ua.StatusCodes.BadInvalidArgument == cm.exception.code + with pytest.raises(ua.UaStatusCodeError) as cm: + result = o.call_method(m, "panic", ua.Variant(math.pi)) + assert ua.StatusCodes.BadOutOfMemory == cm.exception.code + +def test_method_array2(opc): + o = opc.get_objects_node() + m = o.get_child("2:ServerMethodArray2") + result = o.call_method(m, [1.1, 3.4, 9]) + assert [2.2, 6.8, 18] == result + result = call_method_full(o, m, [1.1, 3.4, 9]) + assert [[2.2, 6.8, 18]] == result.OutputArguments + +def test_method_tuple(opc): + o = opc.get_objects_node() + m = o.get_child("2:ServerMethodTuple") + result = o.call_method(m) + assert [1, 2, 3] == result + result = call_method_full(o, m) + assert [1, 2, 3] == result.OutputArguments + +def test_method_none(opc): + # this test calls the function linked to the type's method.. + o = opc.get_node(ua.ObjectIds.BaseObjectType).get_child("2:ObjectWithMethodsType") + m = o.get_child("2:ServerMethodDefault") + result = o.call_method(m) + assert result is None + result = call_method_full(o, m) + assert [] == result.OutputArguments + +def test_add_nodes(opc): + objects = opc.get_objects_node() + f = objects.add_folder(3, 'MyFolder') + child = objects.get_child("3:MyFolder") + assert child == f + o = f.add_object(3, 'MyObject') + child = f.get_child("3:MyObject") + assert child == o + v = f.add_variable(3, 'MyVariable', 6) + child = f.get_child("3:MyVariable") + assert child == v + p = f.add_property(3, 'MyProperty', 10) + child = f.get_child("3:MyProperty") + assert child == p + childs = f.get_children() + assert o in childs + assert v in childs + assert p in childs + +def test_modelling_rules(opc): + obj = opc.nodes.base_object_type.add_object_type(2, 'MyFooObjectType') + v = obj.add_variable(2, "myvar", 1.1) + v.set_modelling_rule(True) + p = obj.add_property(2, "myvar", 1.1) + p.set_modelling_rule(False) + + refs = obj.get_referenced_nodes(refs=ua.ObjectIds.HasModellingRule) + assert 0 == len(refs) + + refs = v.get_referenced_nodes(refs=ua.ObjectIds.HasModellingRule) + assert opc.get_node(ua.ObjectIds.ModellingRule_Mandatory) == refs[0] + + refs = p.get_referenced_nodes(refs=ua.ObjectIds.HasModellingRule) + assert opc.get_node(ua.ObjectIds.ModellingRule_Optional) == refs[0] + + p.set_modelling_rule(None) + refs = p.get_referenced_nodes(refs=ua.ObjectIds.HasModellingRule) + assert 0 == len(refs) + +def test_incl_subtypes(opc): + base_type = opc.get_root_node().get_child(["0:Types", "0:ObjectTypes", "0:BaseObjectType"]) + descs = base_type.get_children_descriptions(includesubtypes=True) + assert len(descs) > 10 + descs = base_type.get_children_descriptions(includesubtypes=False) + assert 0 == len(descs) + +def test_add_node_with_type(opc): + objects = opc.get_objects_node() + f = objects.add_folder(3, 'MyFolder_TypeTest') + + o = f.add_object(3, 'MyObject1', ua.ObjectIds.BaseObjectType) + assert ua.ObjectIds.BaseObjectType == o.get_type_definition().Identifier + + o = f.add_object(3, 'MyObject2', ua.NodeId(ua.ObjectIds.BaseObjectType, 0)) + assert ua.ObjectIds.BaseObjectType == o.get_type_definition().Identifier + + base_otype = opc.get_node(ua.ObjectIds.BaseObjectType) + custom_otype = base_otype.add_object_type(2, 'MyFooObjectType') + + o = f.add_object(3, 'MyObject3', custom_otype.nodeid) + assert custom_otype.nodeid.Identifier == o.get_type_definition().Identifier + + references = o.get_references(refs=ua.ObjectIds.HasTypeDefinition, direction=ua.BrowseDirection.Forward) + assert 1 == len(references) + assert custom_otype.nodeid == references[0].NodeId + +def test_references_for_added_nodes(opc): + objects = opc.get_objects_node() + o = objects.add_object(3, 'MyObject') + nodes = objects.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Forward, + includesubtypes=False) + assert o in nodes + nodes = o.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Inverse, + includesubtypes=False) + assert objects in nodes + assert objects == o.get_parent() + assert ua.ObjectIds.BaseObjectType == o.get_type_definition().Identifier + assert [] == o.get_references(ua.ObjectIds.HasModellingRule) + + o2 = o.add_object(3, 'MySecondObject') + nodes = o.get_referenced_nodes(refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Forward, + includesubtypes=False) + assert o2 in nodes + nodes = o2.get_referenced_nodes(refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Inverse, + includesubtypes=False) + assert o in nodes + assert o == o2.get_parent() + assert ua.ObjectIds.BaseObjectType == o2.get_type_definition().Identifier + assert [] == o2.get_references(ua.ObjectIds.HasModellingRule) + + v = o.add_variable(3, 'MyVariable', 6) + nodes = o.get_referenced_nodes(refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Forward, + includesubtypes=False) + assert v in nodes + nodes = v.get_referenced_nodes(refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Inverse, + includesubtypes=False) + assert o in nodes + assert o == v.get_parent() + assert ua.ObjectIds.BaseDataVariableType == v.get_type_definition().Identifier + assert [] == v.get_references(ua.ObjectIds.HasModellingRule) + + p = o.add_property(3, 'MyProperty', 2) + nodes = o.get_referenced_nodes(refs=ua.ObjectIds.HasProperty, direction=ua.BrowseDirection.Forward, + includesubtypes=False) + assert p in nodes + nodes = p.get_referenced_nodes(refs=ua.ObjectIds.HasProperty, direction=ua.BrowseDirection.Inverse, + includesubtypes=False) + assert o in nodes + assert 0 == p.get_parent() + assert ua.ObjectIds.PropertyType == p.get_type_definition().Identifier + assert [] == p.get_references(ua.ObjectIds.HasModellingRule) + + m = objects.get_child("2:ServerMethod") + assert [] == m.get_references(ua.ObjectIds.HasModellingRule) + +def test_path_string(opc): + o = opc.nodes.objects.add_folder(1, "titif").add_object(3, "opath") + path = o.get_path(as_string=True) + assert ["0:Root", "0:Objects", "1:titif", "3:opath"] == path + path = o.get_path(2, as_string=True) + assert ["1:titif", "3:opath"] == path + +def test_path(opc): + of = opc.nodes.objects.add_folder(1, "titif") + op = of.add_object(3, "opath") + path = op.get_path() + assert [opc.nodes.root, opc.nodes.objects, of, op] == path + path = op.get_path(2) + assert [of, op] == path + target = opc.get_node("i=13387") + path = target.get_path() + assert [opc.nodes.root, opc.nodes.types, opc.nodes.object_types, opc.nodes.base_object_type, + opc.nodes.folder_type, opc.get_node(ua.ObjectIds.FileDirectoryType), target] == path + +def test_get_endpoints(opc): + endpoints = opc.get_endpoints() + assert len(endpoints) > 0 + assert endpoints[0].EndpointUrl.startswith("opc.tcp://") + +def test_copy_node(opc): + dev_t = opc.nodes.base_data_type.add_object_type(0, "MyDevice") + v_t = dev_t.add_variable(0, "sensor", 1.0) + p_t = dev_t.add_property(0, "sensor_id", "0340") + ctrl_t = dev_t.add_object(0, "controller") + prop_t = ctrl_t.add_property(0, "state", "Running") + # Create device sutype + devd_t = dev_t.add_object_type(0, "MyDeviceDervived") + v_t = devd_t.add_variable(0, "childparam", 1.0) + p_t = devd_t.add_property(0, "sensorx_id", "0340") + + nodes = copy_node(opc.nodes.objects, dev_t) + mydevice = nodes[0] + + assert ua.NodeClass.ObjectType == mydevice.get_node_class() + assert 4 == len(mydevice.get_children()) + obj = mydevice.get_child(["0:controller"]) + prop = mydevice.get_child(["0:controller", "0:state"]) + assert ua.ObjectIds.PropertyType == prop.get_type_definition().Identifier + assert "Running" == prop.get_value() + assert prop.nodeid != prop_t.nodeid + +def test_instantiate_1(opc): + # Create device type + dev_t = opc.nodes.base_object_type.add_object_type(0, "MyDevice") + v_t = dev_t.add_variable(0, "sensor", 1.0) + v_t.set_modelling_rule(True) + p_t = dev_t.add_property(0, "sensor_id", "0340") + p_t.set_modelling_rule(True) + ctrl_t = dev_t.add_object(0, "controller") + ctrl_t.set_modelling_rule(True) + v_opt_t = dev_t.add_variable(0, "vendor", 1.0) + v_opt_t.set_modelling_rule(False) + v_none_t = dev_t.add_variable(0, "model", 1.0) + v_none_t.set_modelling_rule(None) + prop_t = ctrl_t.add_property(0, "state", "Running") + prop_t.set_modelling_rule(True) + + # Create device sutype + devd_t = dev_t.add_object_type(0, "MyDeviceDervived") + v_t = devd_t.add_variable(0, "childparam", 1.0) + v_t.set_modelling_rule(True) + p_t = devd_t.add_property(0, "sensorx_id", "0340") + p_t.set_modelling_rule(True) + + # instanciate device + nodes = instantiate(opc.nodes.objects, dev_t, bname="2:Device0001") + mydevice = nodes[0] + + assert ua.NodeClass.Object == mydevice.get_node_class() + assert dev_t.nodeid == mydevice.get_type_definition() + obj = mydevice.get_child(["0:controller"]) + prop = mydevice.get_child(["0:controller", "0:state"]) + with pytest.raises(ua.UaError): + mydevice.get_child(["0:controller", "0:vendor"]) + with pytest.raises(ua.UaError): + mydevice.get_child(["0:controller", "0:model"]) + + assert ua.ObjectIds.PropertyType == prop.get_type_definition().Identifier + assert "Running" == prop.get_value() + assert prop.nodeid != prop_t.nodeid + + # instanciate device subtype + nodes = instantiate(opc.nodes.objects, devd_t, bname="2:Device0002") + mydevicederived = nodes[0] + prop1 = mydevicederived.get_child(["0:sensorx_id"]) + var1 = mydevicederived.get_child(["0:childparam"]) + var_parent = mydevicederived.get_child(["0:sensor"]) + prop_parent = mydevicederived.get_child(["0:sensor_id"]) + +def test_instantiate_string_nodeid(opc): + # Create device type + dev_t = opc.nodes.base_object_type.add_object_type(0, "MyDevice2") + v_t = dev_t.add_variable(0, "sensor", 1.0) + v_t.set_modelling_rule(True) + p_t = dev_t.add_property(0, "sensor_id", "0340") + p_t.set_modelling_rule(True) + ctrl_t = dev_t.add_object(0, "controller") + ctrl_t.set_modelling_rule(True) + prop_t = ctrl_t.add_property(0, "state", "Running") + prop_t.set_modelling_rule(True) + + # instanciate device + nodes = instantiate(opc.nodes.objects, dev_t, nodeid=ua.NodeId("InstDevice", 2, ua.NodeIdType.String), + bname="2:InstDevice") + mydevice = nodes[0] + + assert ua.NodeClass.Object == mydevice.get_node_class() + assert dev_t.nodeid == mydevice.get_type_definition() + obj = mydevice.get_child(["0:controller"]) + obj_nodeid_ident = obj.nodeid.Identifier + prop = mydevice.get_child(["0:controller", "0:state"]) + assert "InstDevice.controller" == obj_nodeid_ident + assert ua.ObjectIds.PropertyType == prop.get_type_definition().Identifier + assert "Running" == prop.get_value() + assert prop.nodeid != prop_t.nodeid + +def test_variable_with_datatype(opc): + v1 = opc.nodes.objects.add_variable(3, 'VariableEnumType1', ua.ApplicationType.ClientAndServer, + datatype=ua.NodeId(ua.ObjectIds.ApplicationType)) + tp1 = v1.get_data_type() + assert tp1 == ua.NodeId(ua.ObjectIds.ApplicationType) + + v2 = opc.nodes.objects.add_variable(3, 'VariableEnumType2', ua.ApplicationType.ClientAndServer, + datatype=ua.NodeId(ua.ObjectIds.ApplicationType)) + tp2 = v2.get_data_type() + assert tp2 == ua.NodeId(ua.ObjectIds.ApplicationType) + +def test_enum(opc): + # create enum type + enums = opc.get_root_node().get_child(["0:Types", "0:DataTypes", "0:BaseDataType", "0:Enumeration"]) + myenum_type = enums.add_data_type(0, "MyEnum") + es = myenum_type.add_variable(0, "EnumStrings", + [ua.LocalizedText("String0"), ua.LocalizedText("String1"), + ua.LocalizedText("String2")], + ua.VariantType.LocalizedText) + # es.set_value_rank(1) + # instantiate + o = opc.get_objects_node() + myvar = o.add_variable(2, "MyEnumVar", ua.LocalizedText("String1"), datatype=myenum_type.nodeid) + # myvar.set_writable(True) + # tests + assert myenum_type.nodeid == myvar.get_data_type() + myvar.set_value(ua.LocalizedText("String2")) + +def test_supertypes(opc): + nint32 = opc.get_node(ua.ObjectIds.Int32) + node = ua_utils.get_node_supertype(nint32) + assert opc.get_node(ua.ObjectIds.Integer) == node + + nodes = ua_utils.get_node_supertypes(nint32) + assert opc.get_node(ua.ObjectIds.Number) == nodes[1] + assert opc.get_node(ua.ObjectIds.Integer) == nodes[0] + + # test custom + dtype = nint32.add_data_type(0, "MyCustomDataType") + node = ua_utils.get_node_supertype(dtype) + assert nint32 == node + + dtype2 = dtype.add_data_type(0, "MyCustomDataType2") + node = ua_utils.get_node_supertype(dtype2) + assert dtype == node + +def test_base_data_type(opc): + nint32 = opc.get_node(ua.ObjectIds.Int32) + dtype = nint32.add_data_type(0, "MyCustomDataType") + dtype2 = dtype.add_data_type(0, "MyCustomDataType2") + assert nint32 == ua_utils.get_base_data_type(dtype) + assert nint32 == ua_utils.get_base_data_type(dtype2) + + ext = opc.nodes.objects.add_variable(0, "MyExtensionObject", ua.Argument()) + d = ext.get_data_type() + d = opc.get_node(d) + assert opc.get_node(ua.ObjectIds.Structure) == ua_utils.get_base_data_type(d) + assert ua.VariantType.ExtensionObject == ua_utils.data_type_to_variant_type(d) + +def test_data_type_to_variant_type(opc): + test_data = { + ua.ObjectIds.Boolean: ua.VariantType.Boolean, + ua.ObjectIds.Byte: ua.VariantType.Byte, + ua.ObjectIds.String: ua.VariantType.String, + ua.ObjectIds.Int32: ua.VariantType.Int32, + ua.ObjectIds.UInt32: ua.VariantType.UInt32, + ua.ObjectIds.NodeId: ua.VariantType.NodeId, + ua.ObjectIds.LocalizedText: ua.VariantType.LocalizedText, + ua.ObjectIds.Structure: ua.VariantType.ExtensionObject, + ua.ObjectIds.EnumValueType: ua.VariantType.ExtensionObject, + ua.ObjectIds.Enumeration: ua.VariantType.Int32, # enumeration + ua.ObjectIds.AttributeWriteMask: ua.VariantType.UInt32, + ua.ObjectIds.AxisScaleEnumeration: ua.VariantType.Int32 # enumeration + } + for dt, vdt in test_data.items(): + assert vdt == ua_utils.data_type_to_variant_type(opc.get_node(ua.NodeId(dt))) diff --git a/tests/test_server.py b/tests/test_server.py index 60a367d09..7dfb67237 100644 --- a/tests/test_server.py +++ b/tests/test_server.py @@ -8,7 +8,7 @@ import os import shelve -from .tests_common import CommonTests, add_server_methods +from .test_common import add_server_methods from .tests_xml import XmlTests from .tests_subscriptions import SubscriptionTests from datetime import timedelta, datetime diff --git a/tests/tests_common.py b/tests/tests_common.py deleted file mode 100644 index c9f29ade9..000000000 --- a/tests/tests_common.py +++ /dev/null @@ -1,904 +0,0 @@ -# encoding: utf-8 -from concurrent.futures import Future, TimeoutError -import time -from datetime import datetime -from datetime import timedelta -import math -from contextlib import contextmanager - -from opcua import ua -from opcua import Node -from opcua import uamethod -from opcua import instantiate -from opcua import copy_node -from opcua.common import ua_utils -from opcua.common.methods import call_method_full - - -async def add_server_methods(srv): - @uamethod - def func(parent, value): - return value * 2 - - o = srv.get_objects_node() - await o.add_method( - ua.NodeId("ServerMethod", 2), ua.QualifiedName('ServerMethod', 2), - func, [ua.VariantType.Int64], [ua.VariantType.Int64] - ) - - @uamethod - def func2(parent, methodname, value): - if methodname == "panic": - return ua.StatusCode(ua.StatusCodes.BadOutOfMemory) - if methodname != "sin": - res = ua.CallMethodResult() - res.StatusCode = ua.StatusCode(ua.StatusCodes.BadInvalidArgument) - res.InputArgumentResults = [ua.StatusCode(ua.StatusCodes.BadNotSupported), ua.StatusCode()] - return res - return math.sin(value) - - o = srv.get_objects_node() - await o.add_method( - ua.NodeId("ServerMethodArray", 2), ua.QualifiedName('ServerMethodArray', 2), func2, - [ua.VariantType.String, ua.VariantType.Int64], [ua.VariantType.Int64] - ) - - @uamethod - def func3(parent, mylist): - return [i * 2 for i in mylist] - - o = srv.get_objects_node() - await o.add_method( - ua.NodeId("ServerMethodArray2", 2), ua.QualifiedName('ServerMethodArray2', 2), func3, - [ua.VariantType.Int64], [ua.VariantType.Int64] - ) - - @uamethod - def func4(parent): - return None - - base_otype = srv.get_node(ua.ObjectIds.BaseObjectType) - custom_otype = await base_otype.add_object_type(2, 'ObjectWithMethodsType') - await custom_otype.add_method(2, 'ServerMethodDefault', func4) - await (await custom_otype.add_method(2, 'ServerMethodMandatory', func4)).set_modelling_rule(True) - await (await custom_otype.add_method(2, 'ServerMethodOptional', func4)).set_modelling_rule(False) - await (await custom_otype.add_method(2, 'ServerMethodNone', func4)).set_modelling_rule(None) - await o.add_object(2, 'ObjectWithMethods', custom_otype) - - @uamethod - def func5(parent): - return 1, 2, 3 - - o = srv.get_objects_node() - await o.add_method(ua.NodeId("ServerMethodTuple", 2), ua.QualifiedName('ServerMethodTuple', 2), func5, [], - [ua.VariantType.Int64, ua.VariantType.Int64, ua.VariantType.Int64]) - - - - -class CommonTests(object): - ''' - Tests that will be run twice. Once on server side and once on - client side since we have been carefull to have the exact - same api on server and client side - ''' - # jyst to avoid editor warnings - opc = None - assertEqual = lambda x, y: True - assertIn = lambda x, y: True - - @contextmanager - def assertNotRaises(self, exc_type): - try: - yield None - except exc_type: - raise self.failureException('{} raised'.format(exc_type.__name__)) - - def test_find_servers(self): - servers = self.opc.find_servers() - # FIXME : finish - - def test_add_node_bad_args(self): - obj = self.opc.get_objects_node() - - with self.assertRaises(TypeError): - fold = obj.add_folder(1.2, "kk") - - with self.assertRaises(TypeError): - fold = obj.add_folder(ua.UaError, "khjh") - - with self.assertRaises(ua.UaError): - fold = obj.add_folder("kjk", 1.2) - - with self.assertRaises(TypeError): - fold = obj.add_folder("i=0;s='oooo'", 1.2) - - with self.assertRaises(ua.UaError): - fold = obj.add_folder("i=0;s='oooo'", "tt:oioi") - - def test_delete_nodes(self): - obj = self.opc.get_objects_node() - fold = obj.add_folder(2, "FolderToDelete") - var = fold.add_variable(2, "VarToDelete", 9.1) - childs = fold.get_children() - self.assertIn(var, childs) - self.opc.delete_nodes([var]) - with self.assertRaises(ua.UaStatusCodeError): - var.set_value(7.8) - with self.assertRaises(ua.UaStatusCodeError): - obj.get_child(["2:FolderToDelete", "2:VarToDelete"]) - childs = fold.get_children() - self.assertNotIn(var, childs) - - def test_delete_nodes_recursive(self): - obj = self.opc.get_objects_node() - fold = obj.add_folder(2, "FolderToDeleteR") - var = fold.add_variable(2, "VarToDeleteR", 9.1) - self.opc.delete_nodes([fold, var]) - with self.assertRaises(ua.UaStatusCodeError): - var.set_value(7.8) - with self.assertRaises(ua.UaStatusCodeError): - obj.get_child(["2:FolderToDelete", "2:VarToDelete"]) - - def test_delete_nodes_recursive2(self): - obj = self.opc.get_objects_node() - fold = obj.add_folder(2, "FolderToDeleteRoot") - nfold = fold - mynodes = [] - for i in range(7): - nfold = fold.add_folder(2, "FolderToDeleteRoot") - var = fold.add_variable(2, "VarToDeleteR", 9.1) - var = fold.add_property(2, "ProToDeleteR", 9.1) - prop = fold.add_property(2, "ProToDeleteR", 9.1) - o = fold.add_object(3, "ObjToDeleteR") - mynodes.append(nfold) - mynodes.append(var) - mynodes.append(prop) - mynodes.append(o) - self.opc.delete_nodes([fold], recursive=True) - for node in mynodes: - with self.assertRaises(ua.UaStatusCodeError): - node.get_browse_name() - - def test_delete_references(self): - newtype = self.opc.get_node(ua.ObjectIds.HierarchicalReferences).add_reference_type(0, "HasSuperSecretVariable") - - obj = self.opc.get_objects_node() - fold = obj.add_folder(2, "FolderToRef") - var = fold.add_variable(2, "VarToRef", 42) - - fold.add_reference(var, newtype) - - self.assertEqual(var.get_referenced_nodes(newtype), [fold]) - self.assertEqual(fold.get_referenced_nodes(newtype), [var]) - - fold.delete_reference(var, newtype) - - self.assertEqual(var.get_referenced_nodes(newtype), []) - self.assertEqual(fold.get_referenced_nodes(newtype), []) - - fold.add_reference(var, newtype, bidirectional=False) - - self.assertEqual(var.get_referenced_nodes(newtype), []) - self.assertEqual(fold.get_referenced_nodes(newtype), [var]) - - fold.delete_reference(var, newtype) - - self.assertEqual(var.get_referenced_nodes(newtype), []) - self.assertEqual(fold.get_referenced_nodes(newtype), []) - - var.add_reference(fold, newtype, forward=False, bidirectional=False) - - self.assertEqual(var.get_referenced_nodes(newtype), [fold]) - self.assertEqual(fold.get_referenced_nodes(newtype), []) - - with self.assertRaises(ua.UaStatusCodeError): - fold.delete_reference(var, newtype) - - self.assertEqual(var.get_referenced_nodes(newtype), [fold]) - self.assertEqual(fold.get_referenced_nodes(newtype), []) - - with self.assertRaises(ua.UaStatusCodeError): - var.delete_reference(fold, newtype) - - self.assertEqual(var.get_referenced_nodes(newtype), [fold]) - self.assertEqual(fold.get_referenced_nodes(newtype), []) - - var.delete_reference(fold, newtype, forward=False) - - self.assertEqual(var.get_referenced_nodes(newtype), []) - self.assertEqual(fold.get_referenced_nodes(newtype), []) - - # clean-up - self.opc.delete_nodes([fold, newtype], recursive=True) - - def test_server_node(self): - node = self.opc.get_server_node() - self.assertEqual(ua.QualifiedName('Server', 0), node.get_browse_name()) - - def test_root(self): - root = self.opc.get_root_node() - self.assertEqual(ua.QualifiedName('Root', 0), root.get_browse_name()) - self.assertEqual(ua.LocalizedText('Root'), root.get_display_name()) - nid = ua.NodeId(84, 0) - self.assertEqual(nid, root.nodeid) - - def test_objects(self): - objects = self.opc.get_objects_node() - self.assertEqual(ua.QualifiedName('Objects', 0), objects.get_browse_name()) - nid = ua.NodeId(85, 0) - self.assertEqual(nid, objects.nodeid) - - def test_browse(self): - objects = self.opc.get_objects_node() - obj = objects.add_object(4, "browsetest") - folder = obj.add_folder(4, "folder") - prop = obj.add_property(4, "property", 1) - prop2 = obj.add_property(4, "property2", 2) - var = obj.add_variable(4, "variable", 3) - obj2 = obj.add_object(4, "obj") - alle = obj.get_children() - self.assertTrue(prop in alle) - self.assertTrue(prop2 in alle) - self.assertTrue(var in alle) - self.assertTrue(folder in alle) - self.assertFalse(obj in alle) - props = obj.get_children(refs=ua.ObjectIds.HasProperty) - self.assertTrue(prop in props) - self.assertTrue(prop2 in props) - self.assertFalse(var in props) - self.assertFalse(folder in props) - self.assertFalse(obj2 in props) - all_vars = obj.get_children(nodeclassmask=ua.NodeClass.Variable) - self.assertTrue(prop in all_vars) - self.assertTrue(var in all_vars) - self.assertFalse(folder in props) - self.assertFalse(obj2 in props) - all_objs = obj.get_children(nodeclassmask=ua.NodeClass.Object) - self.assertTrue(folder in all_objs) - self.assertTrue(obj2 in all_objs) - self.assertFalse(var in all_objs) - - def test_browse_references(self): - objects = self.opc.get_objects_node() - folder = objects.add_folder(4, "folder") - - childs = objects.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Forward, - includesubtypes=False) - self.assertTrue(folder in childs) - - childs = objects.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Both, - includesubtypes=False) - self.assertTrue(folder in childs) - - childs = objects.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Inverse, - includesubtypes=False) - self.assertFalse(folder in childs) - - parents = folder.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Inverse, - includesubtypes=False) - self.assertTrue(objects in parents) - - parents = folder.get_referenced_nodes(refs=ua.ObjectIds.HierarchicalReferences, - direction=ua.BrowseDirection.Inverse, includesubtypes=False) - self.assertTrue(objects in parents) - - parent = folder.get_parent() - self.assertEqual(parent, objects) - - def test_browsename_with_spaces(self): - o = self.opc.get_objects_node() - v = o.add_variable(3, 'BNVariable with spaces and %&+?/', 1.3) - v2 = o.get_child("3:BNVariable with spaces and %&+?/") - self.assertEqual(v, v2) - - def test_non_existing_path(self): - root = self.opc.get_root_node() - with self.assertRaises(ua.UaStatusCodeError): - server_time_node = root.get_child(['0:Objects', '0:Server', '0:nonexistingnode']) - - def test_bad_attribute(self): - root = self.opc.get_root_node() - with self.assertRaises(ua.UaStatusCodeError): - root.set_value(99) - - def test_get_node_by_nodeid(self): - root = self.opc.get_root_node() - server_time_node = root.get_child(['0:Objects', '0:Server', '0:ServerStatus', '0:CurrentTime']) - correct = self.opc.get_node(ua.NodeId(ua.ObjectIds.Server_ServerStatus_CurrentTime)) - self.assertEqual(server_time_node, correct) - - def test_datetime_read(self): - time_node = self.opc.get_node(ua.NodeId(ua.ObjectIds.Server_ServerStatus_CurrentTime)) - dt = time_node.get_value() - utcnow = datetime.utcnow() - delta = utcnow - dt - self.assertTrue(delta < timedelta(seconds=1)) - - def test_datetime_write(self): - time_node = self.opc.get_node(ua.NodeId(ua.ObjectIds.Server_ServerStatus_CurrentTime)) - now = datetime.utcnow() - objects = self.opc.get_objects_node() - v1 = objects.add_variable(4, "test_datetime", now) - tid = v1.get_value() - self.assertEqual(now, tid) - - def test_variant_array_dim(self): - objects = self.opc.get_objects_node() - l = [[[1.0, 1.0, 1.0, 1.0], [2.0, 2.0, 2.0, 2.0], [3.0, 3.0, 3.0, 3.0]], - [[5.0, 5.0, 5.0, 5.0], [7.0, 8.0, 9.0, 01.0], [1.0, 1.0, 1.0, 1.0]]] - v = objects.add_variable(3, 'variableWithDims', l) - - v.set_array_dimensions([0, 0, 0]) - dim = v.get_array_dimensions() - self.assertEqual(dim, [0, 0, 0]) - - v.set_value_rank(0) - rank = v.get_value_rank() - self.assertEqual(rank, 0) - - v2 = v.get_value() - self.assertEqual(v2, l) - dv = v.get_data_value() - self.assertEqual(dv.Value.Dimensions, [2, 3, 4]) - - l = [[[], [], []], [[], [], []]] - variant = ua.Variant(l, ua.VariantType.UInt32) - v = objects.add_variable(3, 'variableWithDimsEmpty', variant) - v2 = v.get_value() - self.assertEqual(v2, l) - dv = v.get_data_value() - self.assertEqual(dv.Value.Dimensions, [2, 3, 0]) - - def test_add_numeric_variable(self): - objects = self.opc.get_objects_node() - v = objects.add_variable('ns=3;i=888;', '3:numericnodefromstring', 99) - nid = ua.NodeId(888, 3) - qn = ua.QualifiedName('numericnodefromstring', 3) - self.assertEqual(nid, v.nodeid) - self.assertEqual(qn, v.get_browse_name()) - - def test_add_string_variable(self): - objects = self.opc.get_objects_node() - v = objects.add_variable('ns=3;s=stringid;', '3:stringnodefromstring', [68]) - nid = ua.NodeId('stringid', 3) - qn = ua.QualifiedName('stringnodefromstring', 3) - self.assertEqual(nid, v.nodeid) - self.assertEqual(qn, v.get_browse_name()) - - def test_utf8(self): - objects = self.opc.get_objects_node() - utf_string = "æøå@%&" - bn = ua.QualifiedName(utf_string, 3) - nid = ua.NodeId("æølå", 3) - val = "æøå" - v = objects.add_variable(nid, bn, val) - self.assertEqual(nid, v.nodeid) - val2 = v.get_value() - self.assertEqual(val, val2) - bn2 = v.get_browse_name() - self.assertEqual(bn, bn2) - - def test_null_variable(self): - objects = self.opc.get_objects_node() - var = objects.add_variable(3, 'nullstring', "a string") - var.set_value(None) - val = var.get_value() - self.assertEqual(val, None) - var.set_value("") - val = var.get_value() - self.assertNotEqual(val, None) - self.assertEqual(val, "") - - def test_variable_data_type(self): - objects = self.opc.get_objects_node() - var = objects.add_variable(3, 'stringfordatatype', "a string") - val = var.get_data_type_as_variant_type() - self.assertEqual(val, ua.VariantType.String) - var = objects.add_variable(3, 'stringarrayfordatatype', ["a", "b"]) - val = var.get_data_type_as_variant_type() - self.assertEqual(val, ua.VariantType.String) - - def test_add_string_array_variable(self): - objects = self.opc.get_objects_node() - v = objects.add_variable('ns=3;s=stringarrayid;', '9:stringarray', ['l', 'b']) - nid = ua.NodeId('stringarrayid', 3) - qn = ua.QualifiedName('stringarray', 9) - self.assertEqual(nid, v.nodeid) - self.assertEqual(qn, v.get_browse_name()) - val = v.get_value() - self.assertEqual(['l', 'b'], val) - - def test_add_numeric_node(self): - objects = self.opc.get_objects_node() - nid = ua.NodeId(9999, 3) - qn = ua.QualifiedName('AddNodeVar1', 3) - v1 = objects.add_variable(nid, qn, 0) - self.assertEqual(nid, v1.nodeid) - self.assertEqual(qn, v1.get_browse_name()) - - def test_add_string_node(self): - objects = self.opc.get_objects_node() - qn = ua.QualifiedName('AddNodeVar2', 3) - nid = ua.NodeId('AddNodeVar2Id', 3) - v2 = objects.add_variable(nid, qn, 0) - self.assertEqual(nid, v2.nodeid) - self.assertEqual(qn, v2.get_browse_name()) - - def test_add_find_node_(self): - objects = self.opc.get_objects_node() - o = objects.add_object('ns=2;i=101;', '2:AddFindObject') - o2 = objects.get_child('2:AddFindObject') - self.assertEqual(o, o2) - - def test_node_path(self): - objects = self.opc.get_objects_node() - o = objects.add_object('ns=2;i=105;', '2:NodePathObject') - root = self.opc.get_root_node() - o2 = root.get_child(['0:Objects', '2:NodePathObject']) - self.assertEqual(o, o2) - - def test_add_read_node(self): - objects = self.opc.get_objects_node() - o = objects.add_object('ns=2;i=102;', '2:AddReadObject') - nid = ua.NodeId(102, 2) - self.assertEqual(o.nodeid, nid) - qn = ua.QualifiedName('AddReadObject', 2) - self.assertEqual(o.get_browse_name(), qn) - - def test_simple_value(self): - o = self.opc.get_objects_node() - v = o.add_variable(3, 'VariableTestValue', 4.32) - val = v.get_value() - self.assertEqual(4.32, val) - - def test_add_exception(self): - objects = self.opc.get_objects_node() - o = objects.add_object('ns=2;i=103;', '2:AddReadObject') - with self.assertRaises(ua.UaStatusCodeError): - o2 = objects.add_object('ns=2;i=103;', '2:AddReadObject') - - def test_negative_value(self): - o = self.opc.get_objects_node() - v = o.add_variable(3, 'VariableNegativeValue', 4) - v.set_value(-4.54) - val = v.get_value() - self.assertEqual(-4.54, val) - - def test_read_server_state(self): - statenode = self.opc.get_node(ua.NodeId(ua.ObjectIds.Server_ServerStatus_State)) - state = statenode.get_value() - self.assertEqual(state, 0) - - def test_bad_node(self): - bad = self.opc.get_node(ua.NodeId(999, 999)) - with self.assertRaises(ua.UaStatusCodeError): - bad.get_browse_name() - with self.assertRaises(ua.UaStatusCodeError): - bad.set_value(89) - with self.assertRaises(ua.UaStatusCodeError): - bad.add_object(0, "0:myobj") - with self.assertRaises(ua.UaStatusCodeError): - bad.get_child("0:myobj") - - def test_value(self): - o = self.opc.get_objects_node() - var = ua.Variant(1.98, ua.VariantType.Double) - v = o.add_variable(3, 'VariableValue', var) - val = v.get_value() - self.assertEqual(1.98, val) - - dvar = ua.DataValue(var) - dv = v.get_data_value() - self.assertEqual(ua.DataValue, type(dv)) - self.assertEqual(dvar.Value, dv.Value) - self.assertEqual(dvar.Value, var) - - def test_set_value(self): - o = self.opc.get_objects_node() - var = ua.Variant(1.98, ua.VariantType.Double) - dvar = ua.DataValue(var) - v = o.add_variable(3, 'VariableValue', var) - v.set_value(var.Value) - v1 = v.get_value() - self.assertEqual(v1, var.Value) - v.set_value(var) - v2 = v.get_value() - self.assertEqual(v2, var.Value) - v.set_data_value(dvar) - v3 = v.get_data_value() - self.assertEqual(v3.Value, dvar.Value) - - def test_array_value(self): - o = self.opc.get_objects_node() - v = o.add_variable(3, 'VariableArrayValue', [1, 2, 3]) - val = v.get_value() - self.assertEqual([1, 2, 3], val) - - def test_bool_variable(self): - o = self.opc.get_objects_node() - v = o.add_variable(3, 'BoolVariable', True) - dt = v.get_data_type_as_variant_type() - self.assertEqual(dt, ua.VariantType.Boolean) - val = v.get_value() - self.assertEqual(True, val) - v.set_value(False) - val = v.get_value() - self.assertEqual(False, val) - - def test_array_size_one_value(self): - o = self.opc.get_objects_node() - v = o.add_variable(3, 'VariableArrayValue', [1, 2, 3]) - v.set_value([1]) - val = v.get_value() - self.assertEqual([1], val) - - def test_use_namespace(self): - idx = self.opc.get_namespace_index("urn:freeopcua:python:server") - self.assertEqual(idx, 1) - root = self.opc.get_root_node() - myvar = root.add_variable(idx, 'var_in_custom_namespace', [5]) - myid = myvar.nodeid - self.assertEqual(idx, myid.NamespaceIndex) - - def test_method(self): - o = self.opc.get_objects_node() - m = o.get_child("2:ServerMethod") - result = o.call_method("2:ServerMethod", 2.1) - self.assertEqual(result, 4.2) - with self.assertRaises(ua.UaStatusCodeError): - # FIXME: we should raise a more precise exception - result = o.call_method("2:ServerMethod", 2.1, 89, 9) - with self.assertRaises(ua.UaStatusCodeError): - result = o.call_method(ua.NodeId(999), 2.1) # non existing method - - def test_method_array(self): - o = self.opc.get_objects_node() - m = o.get_child("2:ServerMethodArray") - result = o.call_method(m, "sin", ua.Variant(math.pi)) - self.assertTrue(result < 0.01) - with self.assertRaises(ua.UaStatusCodeError) as cm: - result = o.call_method(m, "cos", ua.Variant(math.pi)) - self.assertEqual(cm.exception.code, ua.StatusCodes.BadInvalidArgument) - with self.assertRaises(ua.UaStatusCodeError) as cm: - result = o.call_method(m, "panic", ua.Variant(math.pi)) - self.assertEqual(cm.exception.code, ua.StatusCodes.BadOutOfMemory) - - def test_method_array2(self): - o = self.opc.get_objects_node() - m = o.get_child("2:ServerMethodArray2") - result = o.call_method(m, [1.1, 3.4, 9]) - self.assertEqual(result, [2.2, 6.8, 18]) - result = call_method_full(o, m, [1.1, 3.4, 9]) - self.assertEqual(result.OutputArguments, [[2.2, 6.8, 18]]) - - def test_method_tuple(self): - o = self.opc.get_objects_node() - m = o.get_child("2:ServerMethodTuple") - result = o.call_method(m) - self.assertEqual(result, [1, 2, 3]) - result = call_method_full(o, m) - self.assertEqual(result.OutputArguments, [1, 2, 3]) - - def test_method_none(self): - # this test calls the function linked to the type's method.. - o = self.opc.get_node(ua.ObjectIds.BaseObjectType).get_child("2:ObjectWithMethodsType") - m = o.get_child("2:ServerMethodDefault") - result = o.call_method(m) - self.assertEqual(result, None) - result = call_method_full(o, m) - self.assertEqual(result.OutputArguments, []) - - def test_add_nodes(self): - objects = self.opc.get_objects_node() - f = objects.add_folder(3, 'MyFolder') - child = objects.get_child("3:MyFolder") - self.assertEqual(child, f) - o = f.add_object(3, 'MyObject') - child = f.get_child("3:MyObject") - self.assertEqual(child, o) - v = f.add_variable(3, 'MyVariable', 6) - child = f.get_child("3:MyVariable") - self.assertEqual(child, v) - p = f.add_property(3, 'MyProperty', 10) - child = f.get_child("3:MyProperty") - self.assertEqual(child, p) - childs = f.get_children() - self.assertTrue(o in childs) - self.assertTrue(v in childs) - self.assertTrue(p in childs) - - def test_modelling_rules(self): - obj = self.opc.nodes.base_object_type.add_object_type(2, 'MyFooObjectType') - v = obj.add_variable(2, "myvar", 1.1) - v.set_modelling_rule(True) - p = obj.add_property(2, "myvar", 1.1) - p.set_modelling_rule(False) - - refs = obj.get_referenced_nodes(refs=ua.ObjectIds.HasModellingRule) - self.assertEqual(len(refs), 0) - - refs = v.get_referenced_nodes(refs=ua.ObjectIds.HasModellingRule) - self.assertEqual(refs[0], self.opc.get_node(ua.ObjectIds.ModellingRule_Mandatory)) - - refs = p.get_referenced_nodes(refs=ua.ObjectIds.HasModellingRule) - self.assertEqual(refs[0], self.opc.get_node(ua.ObjectIds.ModellingRule_Optional)) - - p.set_modelling_rule(None) - refs = p.get_referenced_nodes(refs=ua.ObjectIds.HasModellingRule) - self.assertEqual(len(refs), 0) - - def test_incl_subtypes(self): - base_type = self.opc.get_root_node().get_child(["0:Types", "0:ObjectTypes", "0:BaseObjectType"]) - descs = base_type.get_children_descriptions(includesubtypes=True) - self.assertTrue(len(descs) > 10) - descs = base_type.get_children_descriptions(includesubtypes=False) - self.assertEqual(len(descs), 0) - - def test_add_node_with_type(self): - objects = self.opc.get_objects_node() - f = objects.add_folder(3, 'MyFolder_TypeTest') - - o = f.add_object(3, 'MyObject1', ua.ObjectIds.BaseObjectType) - self.assertEqual(o.get_type_definition().Identifier, ua.ObjectIds.BaseObjectType) - - o = f.add_object(3, 'MyObject2', ua.NodeId(ua.ObjectIds.BaseObjectType, 0)) - self.assertEqual(o.get_type_definition().Identifier, ua.ObjectIds.BaseObjectType) - - base_otype = self.opc.get_node(ua.ObjectIds.BaseObjectType) - custom_otype = base_otype.add_object_type(2, 'MyFooObjectType') - - o = f.add_object(3, 'MyObject3', custom_otype.nodeid) - self.assertEqual(o.get_type_definition().Identifier, custom_otype.nodeid.Identifier) - - references = o.get_references(refs=ua.ObjectIds.HasTypeDefinition, direction=ua.BrowseDirection.Forward) - self.assertEqual(len(references), 1) - self.assertEqual(references[0].NodeId, custom_otype.nodeid) - - def test_references_for_added_nodes(self): - objects = self.opc.get_objects_node() - o = objects.add_object(3, 'MyObject') - nodes = objects.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Forward, - includesubtypes=False) - self.assertTrue(o in nodes) - nodes = o.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Inverse, - includesubtypes=False) - self.assertTrue(objects in nodes) - self.assertEqual(o.get_parent(), objects) - self.assertEqual(o.get_type_definition().Identifier, ua.ObjectIds.BaseObjectType) - self.assertEqual(o.get_references(ua.ObjectIds.HasModellingRule), []) - - o2 = o.add_object(3, 'MySecondObject') - nodes = o.get_referenced_nodes(refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Forward, - includesubtypes=False) - self.assertTrue(o2 in nodes) - nodes = o2.get_referenced_nodes(refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Inverse, - includesubtypes=False) - self.assertTrue(o in nodes) - self.assertEqual(o2.get_parent(), o) - self.assertEqual(o2.get_type_definition().Identifier, ua.ObjectIds.BaseObjectType) - self.assertEqual(o2.get_references(ua.ObjectIds.HasModellingRule), []) - - v = o.add_variable(3, 'MyVariable', 6) - nodes = o.get_referenced_nodes(refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Forward, - includesubtypes=False) - self.assertTrue(v in nodes) - nodes = v.get_referenced_nodes(refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Inverse, - includesubtypes=False) - self.assertTrue(o in nodes) - self.assertEqual(v.get_parent(), o) - self.assertEqual(v.get_type_definition().Identifier, ua.ObjectIds.BaseDataVariableType) - self.assertEqual(v.get_references(ua.ObjectIds.HasModellingRule), []) - - p = o.add_property(3, 'MyProperty', 2) - nodes = o.get_referenced_nodes(refs=ua.ObjectIds.HasProperty, direction=ua.BrowseDirection.Forward, - includesubtypes=False) - self.assertTrue(p in nodes) - nodes = p.get_referenced_nodes(refs=ua.ObjectIds.HasProperty, direction=ua.BrowseDirection.Inverse, - includesubtypes=False) - self.assertTrue(o in nodes) - self.assertEqual(p.get_parent(), o) - self.assertEqual(p.get_type_definition().Identifier, ua.ObjectIds.PropertyType) - self.assertEqual(p.get_references(ua.ObjectIds.HasModellingRule), []) - - m = objects.get_child("2:ServerMethod") - self.assertEqual(m.get_references(ua.ObjectIds.HasModellingRule), []) - - def test_path_string(self): - o = self.opc.nodes.objects.add_folder(1, "titif").add_object(3, "opath") - path = o.get_path(as_string=True) - self.assertEqual(["0:Root", "0:Objects", "1:titif", "3:opath"], path) - path = o.get_path(2, as_string=True) - self.assertEqual(["1:titif", "3:opath"], path) - - def test_path(self): - of = self.opc.nodes.objects.add_folder(1, "titif") - op = of.add_object(3, "opath") - path = op.get_path() - self.assertEqual([self.opc.nodes.root, self.opc.nodes.objects, of, op], path) - path = op.get_path(2) - self.assertEqual([of, op], path) - target = self.opc.get_node("i=13387") - path = target.get_path() - self.assertEqual( - [self.opc.nodes.root, self.opc.nodes.types, self.opc.nodes.object_types, self.opc.nodes.base_object_type, - self.opc.nodes.folder_type, self.opc.get_node(ua.ObjectIds.FileDirectoryType), target], path) - - def test_get_endpoints(self): - endpoints = self.opc.get_endpoints() - self.assertTrue(len(endpoints) > 0) - self.assertTrue(endpoints[0].EndpointUrl.startswith("opc.tcp://")) - - def test_copy_node(self): - dev_t = self.opc.nodes.base_data_type.add_object_type(0, "MyDevice") - v_t = dev_t.add_variable(0, "sensor", 1.0) - p_t = dev_t.add_property(0, "sensor_id", "0340") - ctrl_t = dev_t.add_object(0, "controller") - prop_t = ctrl_t.add_property(0, "state", "Running") - # Create device sutype - devd_t = dev_t.add_object_type(0, "MyDeviceDervived") - v_t = devd_t.add_variable(0, "childparam", 1.0) - p_t = devd_t.add_property(0, "sensorx_id", "0340") - - nodes = copy_node(self.opc.nodes.objects, dev_t) - mydevice = nodes[0] - - self.assertEqual(mydevice.get_node_class(), ua.NodeClass.ObjectType) - self.assertEqual(len(mydevice.get_children()), 4) - obj = mydevice.get_child(["0:controller"]) - prop = mydevice.get_child(["0:controller", "0:state"]) - self.assertEqual(prop.get_type_definition().Identifier, ua.ObjectIds.PropertyType) - self.assertEqual(prop.get_value(), "Running") - self.assertNotEqual(prop.nodeid, prop_t.nodeid) - - def test_instantiate_1(self): - # Create device type - dev_t = self.opc.nodes.base_object_type.add_object_type(0, "MyDevice") - v_t = dev_t.add_variable(0, "sensor", 1.0) - v_t.set_modelling_rule(True) - p_t = dev_t.add_property(0, "sensor_id", "0340") - p_t.set_modelling_rule(True) - ctrl_t = dev_t.add_object(0, "controller") - ctrl_t.set_modelling_rule(True) - v_opt_t = dev_t.add_variable(0, "vendor", 1.0) - v_opt_t.set_modelling_rule(False) - v_none_t = dev_t.add_variable(0, "model", 1.0) - v_none_t.set_modelling_rule(None) - prop_t = ctrl_t.add_property(0, "state", "Running") - prop_t.set_modelling_rule(True) - - # Create device sutype - devd_t = dev_t.add_object_type(0, "MyDeviceDervived") - v_t = devd_t.add_variable(0, "childparam", 1.0) - v_t.set_modelling_rule(True) - p_t = devd_t.add_property(0, "sensorx_id", "0340") - p_t.set_modelling_rule(True) - - # instanciate device - nodes = instantiate(self.opc.nodes.objects, dev_t, bname="2:Device0001") - mydevice = nodes[0] - - self.assertEqual(mydevice.get_node_class(), ua.NodeClass.Object) - self.assertEqual(mydevice.get_type_definition(), dev_t.nodeid) - obj = mydevice.get_child(["0:controller"]) - prop = mydevice.get_child(["0:controller", "0:state"]) - with self.assertRaises(ua.UaError): - mydevice.get_child(["0:controller", "0:vendor"]) - with self.assertRaises(ua.UaError): - mydevice.get_child(["0:controller", "0:model"]) - - self.assertEqual(prop.get_type_definition().Identifier, ua.ObjectIds.PropertyType) - self.assertEqual(prop.get_value(), "Running") - self.assertNotEqual(prop.nodeid, prop_t.nodeid) - - # instanciate device subtype - nodes = instantiate(self.opc.nodes.objects, devd_t, bname="2:Device0002") - mydevicederived = nodes[0] - prop1 = mydevicederived.get_child(["0:sensorx_id"]) - var1 = mydevicederived.get_child(["0:childparam"]) - var_parent = mydevicederived.get_child(["0:sensor"]) - prop_parent = mydevicederived.get_child(["0:sensor_id"]) - - def test_instantiate_string_nodeid(self): - # Create device type - dev_t = self.opc.nodes.base_object_type.add_object_type(0, "MyDevice2") - v_t = dev_t.add_variable(0, "sensor", 1.0) - v_t.set_modelling_rule(True) - p_t = dev_t.add_property(0, "sensor_id", "0340") - p_t.set_modelling_rule(True) - ctrl_t = dev_t.add_object(0, "controller") - ctrl_t.set_modelling_rule(True) - prop_t = ctrl_t.add_property(0, "state", "Running") - prop_t.set_modelling_rule(True) - - # instanciate device - nodes = instantiate(self.opc.nodes.objects, dev_t, nodeid=ua.NodeId("InstDevice", 2, ua.NodeIdType.String), - bname="2:InstDevice") - mydevice = nodes[0] - - self.assertEqual(mydevice.get_node_class(), ua.NodeClass.Object) - self.assertEqual(mydevice.get_type_definition(), dev_t.nodeid) - obj = mydevice.get_child(["0:controller"]) - obj_nodeid_ident = obj.nodeid.Identifier - prop = mydevice.get_child(["0:controller", "0:state"]) - self.assertEqual(obj_nodeid_ident, "InstDevice.controller") - self.assertEqual(prop.get_type_definition().Identifier, ua.ObjectIds.PropertyType) - self.assertEqual(prop.get_value(), "Running") - self.assertNotEqual(prop.nodeid, prop_t.nodeid) - - def test_variable_with_datatype(self): - v1 = self.opc.nodes.objects.add_variable(3, 'VariableEnumType1', ua.ApplicationType.ClientAndServer, - datatype=ua.NodeId(ua.ObjectIds.ApplicationType)) - tp1 = v1.get_data_type() - self.assertEqual(ua.NodeId(ua.ObjectIds.ApplicationType), tp1) - - v2 = self.opc.nodes.objects.add_variable(3, 'VariableEnumType2', ua.ApplicationType.ClientAndServer, - datatype=ua.NodeId(ua.ObjectIds.ApplicationType)) - tp2 = v2.get_data_type() - self.assertEqual(ua.NodeId(ua.ObjectIds.ApplicationType), tp2) - - def test_enum(self): - # create enum type - enums = self.opc.get_root_node().get_child(["0:Types", "0:DataTypes", "0:BaseDataType", "0:Enumeration"]) - myenum_type = enums.add_data_type(0, "MyEnum") - es = myenum_type.add_variable(0, "EnumStrings", - [ua.LocalizedText("String0"), ua.LocalizedText("String1"), - ua.LocalizedText("String2")], - ua.VariantType.LocalizedText) - # es.set_value_rank(1) - # instantiate - o = self.opc.get_objects_node() - myvar = o.add_variable(2, "MyEnumVar", ua.LocalizedText("String1"), datatype=myenum_type.nodeid) - # myvar.set_writable(True) - # tests - self.assertEqual(myvar.get_data_type(), myenum_type.nodeid) - myvar.set_value(ua.LocalizedText("String2")) - - def test_supertypes(self): - nint32 = self.opc.get_node(ua.ObjectIds.Int32) - node = ua_utils.get_node_supertype(nint32) - self.assertEqual(node, self.opc.get_node(ua.ObjectIds.Integer)) - - nodes = ua_utils.get_node_supertypes(nint32) - self.assertEqual(nodes[1], self.opc.get_node(ua.ObjectIds.Number)) - self.assertEqual(nodes[0], self.opc.get_node(ua.ObjectIds.Integer)) - - # test custom - dtype = nint32.add_data_type(0, "MyCustomDataType") - node = ua_utils.get_node_supertype(dtype) - self.assertEqual(node, nint32) - - dtype2 = dtype.add_data_type(0, "MyCustomDataType2") - node = ua_utils.get_node_supertype(dtype2) - self.assertEqual(node, dtype) - - def test_base_data_type(self): - nint32 = self.opc.get_node(ua.ObjectIds.Int32) - dtype = nint32.add_data_type(0, "MyCustomDataType") - dtype2 = dtype.add_data_type(0, "MyCustomDataType2") - self.assertEqual(ua_utils.get_base_data_type(dtype), nint32) - self.assertEqual(ua_utils.get_base_data_type(dtype2), nint32) - - ext = self.opc.nodes.objects.add_variable(0, "MyExtensionObject", ua.Argument()) - d = ext.get_data_type() - d = self.opc.get_node(d) - self.assertEqual(ua_utils.get_base_data_type(d), self.opc.get_node(ua.ObjectIds.Structure)) - self.assertEqual(ua_utils.data_type_to_variant_type(d), ua.VariantType.ExtensionObject) - - def test_data_type_to_variant_type(self): - test_data = { - ua.ObjectIds.Boolean: ua.VariantType.Boolean, - ua.ObjectIds.Byte: ua.VariantType.Byte, - ua.ObjectIds.String: ua.VariantType.String, - ua.ObjectIds.Int32: ua.VariantType.Int32, - ua.ObjectIds.UInt32: ua.VariantType.UInt32, - ua.ObjectIds.NodeId: ua.VariantType.NodeId, - ua.ObjectIds.LocalizedText: ua.VariantType.LocalizedText, - ua.ObjectIds.Structure: ua.VariantType.ExtensionObject, - ua.ObjectIds.EnumValueType: ua.VariantType.ExtensionObject, - ua.ObjectIds.Enumeration: ua.VariantType.Int32, # enumeration - ua.ObjectIds.AttributeWriteMask: ua.VariantType.UInt32, - ua.ObjectIds.AxisScaleEnumeration: ua.VariantType.Int32 # enumeration - } - for dt, vdt in test_data.items(): - self.assertEqual(ua_utils.data_type_to_variant_type(self.opc.get_node(ua.NodeId(dt))), vdt) From b7a7f4216324e771b82dac3d0ab715da3d095fc7 Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Tue, 31 Jul 2018 16:07:13 +0200 Subject: [PATCH 098/113] test refactoring wip --- opcua/client/client.py | 4 +- opcua/client/ua_client.py | 2 +- opcua/common/copy_node.py | 6 +- opcua/common/manage_nodes.py | 10 +- opcua/common/methods.py | 8 +- opcua/common/node.py | 13 +- opcua/server/internal_server.py | 10 +- opcua/server/server.py | 18 +- opcua/server/uaprocessor.py | 15 +- tests/conftest.py | 2 +- tests/test_client.py | 2 +- tests/test_common.py | 871 ++++++++++-------- tests/tests_crypto_connect.py | 126 ++- ...sts_enum_struct.py => util_enum_struct.py} | 0 14 files changed, 614 insertions(+), 473 deletions(-) rename tests/{tests_enum_struct.py => util_enum_struct.py} (100%) diff --git a/opcua/client/client.py b/opcua/client/client.py index 6a58b3303..0e1234c95 100644 --- a/opcua/client/client.py +++ b/opcua/client/client.py @@ -523,8 +523,8 @@ async def get_namespace_index(self, uri): uries = await self.get_namespace_array() return uries.index(uri) - def delete_nodes(self, nodes, recursive=False): - return delete_nodes(self.uaclient, nodes, recursive) + async def delete_nodes(self, nodes, recursive=False): + return await delete_nodes(self.uaclient, nodes, recursive) def import_xml(self, path=None, xmlstring=None): """ diff --git a/opcua/client/ua_client.py b/opcua/client/ua_client.py index 54f0d5e29..870b75c8b 100644 --- a/opcua/client/ua_client.py +++ b/opcua/client/ua_client.py @@ -103,7 +103,7 @@ def _send_request(self, request, callback=None, timeout=1000, message_type=ua.Me self.transport.write(msg) return future - async def send_request(self, request, callback=None, timeout=1000, message_type=ua.MessageType.SecureMessage): + async def send_request(self, request, callback=None, timeout=10, message_type=ua.MessageType.SecureMessage): """ Send a request to the server. Timeout is the timeout written in ua header. diff --git a/opcua/common/copy_node.py b/opcua/common/copy_node.py index d66129d17..4603586b9 100644 --- a/opcua/common/copy_node.py +++ b/opcua/common/copy_node.py @@ -14,7 +14,7 @@ async def copy_node(parent, node, nodeid=None, recursive=True): rdesc = await _rdesc_from_node(parent, node) if nodeid is None: nodeid = ua.NodeId(namespaceidx=node.nodeid.NamespaceIndex) - added_nodeids = _copy_node(parent.server, parent.nodeid, rdesc, nodeid, recursive) + added_nodeids = await _copy_node(parent.server, parent.nodeid, rdesc, nodeid, recursive) return [Node(parent.server, nid) for nid in added_nodeids] @@ -29,12 +29,12 @@ async def _copy_node(server, parent_nodeid, rdesc, nodeid, recursive): node_to_copy = Node(server, rdesc.NodeId) attr_obj = getattr(ua, rdesc.NodeClass.name + "Attributes") await _read_and_copy_attrs(node_to_copy, attr_obj(), addnode) - res = await server.add_nodes([addnode])[0] + res = (await server.add_nodes([addnode]))[0] added_nodes = [res.AddedNodeId] if recursive: descs = await node_to_copy.get_children_descriptions() for desc in descs: - nodes = _copy_node(server, res.AddedNodeId, desc, nodeid=ua.NodeId(namespaceidx=desc.NodeId.NamespaceIndex), recursive=True) + nodes = await _copy_node(server, res.AddedNodeId, desc, nodeid=ua.NodeId(namespaceidx=desc.NodeId.NamespaceIndex), recursive=True) added_nodes.extend(nodes) return added_nodes diff --git a/opcua/common/manage_nodes.py b/opcua/common/manage_nodes.py index e28506f94..c4f5fc367 100644 --- a/opcua/common/manage_nodes.py +++ b/opcua/common/manage_nodes.py @@ -406,14 +406,14 @@ def _guess_datatype(variant): return ua.NodeId(getattr(ua.ObjectIds, variant.VariantType.name)) -def delete_nodes(server, nodes, recursive=False, delete_target_references=True): +async def delete_nodes(server, nodes, recursive=False, delete_target_references=True): """ Delete specified nodes. Optionally delete recursively all nodes with a downward hierachic references to the node """ nodestodelete = [] if recursive: - nodes += _add_childs(nodes) + nodes += await _add_childs(nodes) for mynode in nodes: it = ua.DeleteNodesItem() it.NodeId = mynode.nodeid @@ -421,11 +421,11 @@ def delete_nodes(server, nodes, recursive=False, delete_target_references=True): nodestodelete.append(it) params = ua.DeleteNodesParameters() params.NodesToDelete = nodestodelete - return server.delete_nodes(params) + return await server.delete_nodes(params) -def _add_childs(nodes): +async def _add_childs(nodes): results = [] for mynode in nodes[:]: - results += mynode.get_children() + results += await mynode.get_children() return results diff --git a/opcua/common/methods.py b/opcua/common/methods.py index 9c5f015d1..4ecfb7460 100644 --- a/opcua/common/methods.py +++ b/opcua/common/methods.py @@ -6,7 +6,7 @@ from opcua.common import node -def call_method(parent, methodid, *args): +async def call_method(parent, methodid, *args): """ Call an OPC-UA method. methodid is browse name of child method or the nodeid of method as a NodeId object @@ -14,7 +14,7 @@ def call_method(parent, methodid, *args): which may be of different types returns a list of values or a single value depending on the output of the method """ - result = call_method_full(parent, methodid, *args) + result = await call_method_full(parent, methodid, *args) if len(result.OutputArguments) == 0: return None @@ -24,7 +24,7 @@ def call_method(parent, methodid, *args): return result.OutputArguments -def call_method_full(parent, methodid, *args): +async def call_method_full(parent, methodid, *args): """ Call an OPC-UA method. methodid is browse name of child method or the nodeid of method as a NodeId object @@ -33,7 +33,7 @@ def call_method_full(parent, methodid, *args): returns a CallMethodResult object with converted OutputArguments """ if isinstance(methodid, (str, ua.uatypes.QualifiedName)): - methodid = parent.get_child(methodid).nodeid + methodid = (await parent.get_child(methodid)).nodeid elif isinstance(methodid, node.Node): methodid = methodid.nodeid diff --git a/opcua/common/node.py b/opcua/common/node.py index e21ca8d4a..b2bae7291 100644 --- a/opcua/common/node.py +++ b/opcua/common/node.py @@ -405,15 +405,11 @@ async def get_path(self, max_length=20, as_string=False): Since address space may have circular references, a max length is specified """ - path = [] - for ref in await self._get_path(max_length): - path.append(Node(self.server, ref.NodeId)) + path = await self._get_path(max_length) + path = [Node(self.server, ref.NodeId) for ref in path] path.append(self) if as_string: - str_path = [] - for el in path: - name = await el.get_browse_name() - str_path.append(name.to_string()) + path = [(await el.get_browse_name()).to_string() for el in path] return path async def _get_path(self, max_length=20): @@ -598,7 +594,7 @@ async def delete_reference(self, target, reftype, forward=True, bidirectional=Tr else: raise ua.UaStatusCodeError(ua.StatusCodes.BadNotFound) ditem = self._fill_delete_reference_item(rdesc, bidirectional) - await self.server.delete_references([ditem])[0].check() + (await self.server.delete_references([ditem]))[0].check() async def add_reference(self, target, reftype, forward=True, bidirectional=True): """ @@ -660,6 +656,7 @@ def add_method(self, *args): return opcua.common.manage_nodes.create_method(self, *args) def add_reference_type(self, nodeid, bname, symmetric=True, inversename=None): + """COROUTINE""" return opcua.common.manage_nodes.create_reference_type(self, nodeid, bname, symmetric, inversename) def call_method(self, methodid, *args): diff --git a/opcua/server/internal_server.py b/opcua/server/internal_server.py index 1a1ff9311..77657e58a 100644 --- a/opcua/server/internal_server.py +++ b/opcua/server/internal_server.py @@ -141,7 +141,7 @@ def get_new_channel_id(self): def add_endpoint(self, endpoint): self.endpoints.append(endpoint) - def get_endpoints(self, params=None, sockname=None): + async def get_endpoints(self, params=None, sockname=None): self.logger.info('get endpoint') if sockname: # return to client the ip address it has access to @@ -261,10 +261,10 @@ def __str__(self): return 'InternalSession(name:{0}, user:{1}, id:{2}, auth_token:{3})'.format( self.name, self.user, self.session_id, self.authentication_token) - def get_endpoints(self, params=None, sockname=None): - return self.iserver.get_endpoints(params, sockname) + async def get_endpoints(self, params=None, sockname=None): + return await self.iserver.get_endpoints(params, sockname) - def create_session(self, params, sockname=None): + async def create_session(self, params, sockname=None): self.logger.info('Create session request') result = ua.CreateSessionResult() @@ -274,7 +274,7 @@ def create_session(self, params, sockname=None): result.MaxRequestMessageSize = 65536 self.nonce = utils.create_nonce(32) result.ServerNonce = self.nonce - result.ServerEndpoints = self.get_endpoints(sockname=sockname) + result.ServerEndpoints = await self.get_endpoints(sockname=sockname) return result diff --git a/opcua/server/server.py b/opcua/server/server.py index 0eab2aa58..4188ebcd5 100644 --- a/opcua/server/server.py +++ b/opcua/server/server.py @@ -23,13 +23,9 @@ from opcua.common.xmlexporter import XmlExporter from opcua.common.xmlimporter import XmlImporter from opcua.common.ua_utils import get_nodes_of_namespace +from opcua.crypto import uacrypto -use_crypto = True -try: - from opcua.crypto import uacrypto -except ImportError: - logging.getLogger(__name__).warning("cryptography is not installed, use of crypto disabled") - use_crypto = False +_logger = logging.getLogger(__name__) class Server: @@ -159,7 +155,7 @@ async def set_application_uri(self, uri): uries.append(uri) await ns_node.set_value(uries) - def find_servers(self, uris=None): + async def find_servers(self, uris=None): """ find_servers. mainly implemented for symmetry with client """ @@ -211,8 +207,8 @@ def allow_remote_admin(self, allow): def set_endpoint(self, url): self.endpoint = urlparse(url) - def get_endpoints(self): - return self.iserver.get_endpoints() + async def get_endpoints(self): + return await self.iserver.get_endpoints() def set_security_policy(self, security_policy): """ @@ -545,8 +541,8 @@ async def export_xml_by_ns(self, path, namespaces=None): nodes = await get_nodes_of_namespace(self, namespaces) self.export_xml(nodes, path) - def delete_nodes(self, nodes, recursive=False): - return delete_nodes(self.iserver.isession, nodes, recursive) + async def delete_nodes(self, nodes, recursive=False): + return await delete_nodes(self.iserver.isession, nodes, recursive) async def historize_node_data_change(self, node, period=timedelta(days=7), count=0): """ diff --git a/opcua/server/uaprocessor.py b/opcua/server/uaprocessor.py index 74cd328fc..14592772a 100644 --- a/opcua/server/uaprocessor.py +++ b/opcua/server/uaprocessor.py @@ -4,13 +4,14 @@ import time from opcua import ua +from opcua.server.internal_server import InternalServer, InternalSession from opcua.ua.ua_binary import nodeid_from_binary, struct_from_binary from opcua.ua.ua_binary import struct_to_binary, uatcp_to_binary from opcua.common import utils from opcua.common.connection import SecureConnection -class PublishRequestData(object): +class PublishRequestData: def __init__(self): self.requesthdr = None @@ -19,14 +20,14 @@ def __init__(self): self.timestamp = time.time() -class UaProcessor(object): +class UaProcessor: - def __init__(self, internal_server, socket): + def __init__(self, internal_server: InternalServer, socket): self.logger = logging.getLogger(__name__) - self.iserver = internal_server + self.iserver: InternalServer = internal_server self.name = socket.get_extra_info('peername') self.sockname = socket.get_extra_info('sockname') - self.session = None + self.session: InternalSession = None self.socket = socket self._datalock = RLock() self._publishdata_queue = [] @@ -119,7 +120,7 @@ async def _process_message(self, typeid, requesthdr, algohdr, seqhdr, body): # create the session on server self.session = self.iserver.create_session(self.name, external=True) # get a session creation result to send back - sessiondata = self.session.create_session(params, sockname=self.sockname) + sessiondata = await self.session.create_session(params, sockname=self.sockname) response = ua.CreateSessionResponse() response.Parameters = sessiondata response.Parameters.ServerCertificate = self._connection.security_policy.client_certificate @@ -188,7 +189,7 @@ async def _process_message(self, typeid, requesthdr, algohdr, seqhdr, body): elif typeid == ua.NodeId(ua.ObjectIds.GetEndpointsRequest_Encoding_DefaultBinary): self.logger.info("get endpoints request") params = struct_from_binary(ua.GetEndpointsParameters, body) - endpoints = self.iserver.get_endpoints(params, sockname=self.sockname) + endpoints = await self.iserver.get_endpoints(params, sockname=self.sockname) response = ua.GetEndpointsResponse() response.Endpoints = endpoints self.logger.info("sending get endpoints response") diff --git a/tests/conftest.py b/tests/conftest.py index 8c53adfdf..e463be37f 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -22,7 +22,7 @@ async def opc(request): await srv.start() # start client # long timeout since travis (automated testing) can be really slow - clt = Client(f'opc.tcp://127.0.0.1:{port_num}', timeout=10) + clt = Client(f'opc.tcp://admin@127.0.0.1:{port_num}', timeout=10) await clt.connect() yield clt await clt.disconnect() diff --git a/tests/test_client.py b/tests/test_client.py index 4562ffb26..f73f754a9 100644 --- a/tests/test_client.py +++ b/tests/test_client.py @@ -7,7 +7,7 @@ from opcua import ua from .test_common import add_server_methods -from .tests_enum_struct import add_server_custom_enum_struct +from .util_enum_struct import add_server_custom_enum_struct port_num1 = 48510 _logger = logging.getLogger(__name__) diff --git a/tests/test_common.py b/tests/test_common.py index 1f452801c..0435e2f16 100644 --- a/tests/test_common.py +++ b/tests/test_common.py @@ -1,19 +1,25 @@ # encoding: utf-8 -from concurrent.futures import Future, TimeoutError + +""" +Tests that will be run twice. Once on server side and once on +client side since we have been carefull to have the exact +same api on server and client side +""" + import pytest from datetime import datetime from datetime import timedelta import math -from contextlib import contextmanager from opcua import ua -from opcua import Node from opcua import uamethod from opcua import instantiate from opcua import copy_node from opcua.common import ua_utils from opcua.common.methods import call_method_full +pytestmark = pytest.mark.asyncio + async def add_server_methods(srv): @uamethod @@ -70,22 +76,17 @@ def func5(parent): return 1, 2, 3 o = srv.get_objects_node() - await o.add_method(ua.NodeId("ServerMethodTuple", 2), ua.QualifiedName('ServerMethodTuple', 2), func5, [], - [ua.VariantType.Int64, ua.VariantType.Int64, ua.VariantType.Int64]) - - - -""" -Tests that will be run twice. Once on server side and once on -client side since we have been carefull to have the exact -same api on server and client side -""" + await o.add_method( + ua.NodeId("ServerMethodTuple", 2), ua.QualifiedName('ServerMethodTuple', 2), func5, [], + [ua.VariantType.Int64, ua.VariantType.Int64, ua.VariantType.Int64] + ) async def test_find_servers(opc): servers = await opc.find_servers() # FIXME : finish + async def test_add_node_bad_args(opc): obj = opc.get_objects_node() @@ -104,6 +105,7 @@ async def test_add_node_bad_args(opc): with pytest.raises(ua.UaError): fold = await obj.add_folder("i=0;s='oooo'", "tt:oioi") + async def test_delete_nodes(opc): obj = opc.get_objects_node() fold = await obj.add_folder(2, "FolderToDelete") @@ -116,7 +118,8 @@ async def test_delete_nodes(opc): with pytest.raises(ua.UaStatusCodeError): await obj.get_child(["2:FolderToDelete", "2:VarToDelete"]) childs = await fold.get_children() - assert var not in childs + assert var not in childs + async def test_delete_nodes_recursive(opc): obj = opc.get_objects_node() @@ -128,6 +131,7 @@ async def test_delete_nodes_recursive(opc): with pytest.raises(ua.UaStatusCodeError): await obj.get_child(["2:FolderToDelete", "2:VarToDelete"]) + async def test_delete_nodes_recursive2(opc): obj = opc.get_objects_node() fold = await obj.add_folder(2, "FolderToDeleteRoot") @@ -148,731 +152,794 @@ async def test_delete_nodes_recursive2(opc): with pytest.raises(ua.UaStatusCodeError): await node.get_browse_name() -def test_delete_references(opc): - newtype = opc.get_node(ua.ObjectIds.HierarchicalReferences).add_reference_type(0, "HasSuperSecretVariable") + +async def test_delete_references(opc): + newtype = await opc.get_node(ua.ObjectIds.HierarchicalReferences).add_reference_type(0, "HasSuperSecretVariable") obj = opc.get_objects_node() - fold = obj.add_folder(2, "FolderToRef") - var = fold.add_variable(2, "VarToRef", 42) + fold = await obj.add_folder(2, "FolderToRef") + var = await fold.add_variable(2, "VarToRef", 42) - fold.add_reference(var, newtype) + await fold.add_reference(var, newtype) - assert [fold] == var.get_referenced_nodes(newtype) - assert [var] == fold.get_referenced_nodes(newtype) + assert [fold] == await var.get_referenced_nodes(newtype) + assert [var] == await fold.get_referenced_nodes(newtype) - fold.delete_reference(var, newtype) + await fold.delete_reference(var, newtype) - assert [] == var.get_referenced_nodes(newtype) - assert [] == fold.get_referenced_nodes(newtype) + assert [] == await var.get_referenced_nodes(newtype) + assert [] == await fold.get_referenced_nodes(newtype) - fold.add_reference(var, newtype, bidirectional=False) + await fold.add_reference(var, newtype, bidirectional=False) - assert [] == var.get_referenced_nodes(newtype) - assert [var] == fold.get_referenced_nodes(newtype) + assert [] == await var.get_referenced_nodes(newtype) + assert [var] == await fold.get_referenced_nodes(newtype) - fold.delete_reference(var, newtype) + await fold.delete_reference(var, newtype) - assert [] == var.get_referenced_nodes(newtype) - assert [] == fold.get_referenced_nodes(newtype) + assert [] == await var.get_referenced_nodes(newtype) + assert [] == await fold.get_referenced_nodes(newtype) - var.add_reference(fold, newtype, forward=False, bidirectional=False) + await var.add_reference(fold, newtype, forward=False, bidirectional=False) - assert [fold] == var.get_referenced_nodes(newtype) - assert [] == fold.get_referenced_nodes(newtype) + assert [fold] == await var.get_referenced_nodes(newtype) + assert [] == await fold.get_referenced_nodes(newtype) with pytest.raises(ua.UaStatusCodeError): - fold.delete_reference(var, newtype) + await fold.delete_reference(var, newtype) - assert [fold] == var.get_referenced_nodes(newtype) - assert [] == fold.get_referenced_nodes(newtype) + assert [fold] == await var.get_referenced_nodes(newtype) + assert [] == await fold.get_referenced_nodes(newtype) with pytest.raises(ua.UaStatusCodeError): - var.delete_reference(fold, newtype) + await var.delete_reference(fold, newtype) - assert [fold] == var.get_referenced_nodes(newtype) - assert [] == fold.get_referenced_nodes(newtype) + assert [fold] == await var.get_referenced_nodes(newtype) + assert [] == await fold.get_referenced_nodes(newtype) - var.delete_reference(fold, newtype, forward=False) + await var.delete_reference(fold, newtype, forward=False) - assert [] == var.get_referenced_nodes(newtype) - assert [] == fold.get_referenced_nodes(newtype) + assert [] == await var.get_referenced_nodes(newtype) + assert [] == await fold.get_referenced_nodes(newtype) # clean-up - opc.delete_nodes([fold, newtype], recursive=True) + await opc.delete_nodes([fold, newtype], recursive=True) + -def test_server_node(opc): +async def test_server_node(opc): node = opc.get_server_node() - assert ua.QualifiedName('Server', 0) == node.get_browse_name() + assert ua.QualifiedName('Server', 0) == await node.get_browse_name() -def test_root(opc): + +async def test_root(opc): root = opc.get_root_node() - assert ua.QualifiedName('Root', 0) == root.get_browse_name() - assert ua.LocalizedText('Root') == root.get_display_name() + assert ua.QualifiedName('Root', 0) == await root.get_browse_name() + assert ua.LocalizedText('Root') == await root.get_display_name() nid = ua.NodeId(84, 0) assert nid == root.nodeid -def test_objects(opc): + +async def test_objects(opc): objects = opc.get_objects_node() - assert ua.QualifiedName('Objects', 0) == objects.get_browse_name() + assert ua.QualifiedName('Objects', 0) == await objects.get_browse_name() nid = ua.NodeId(85, 0) assert nid == objects.nodeid -def test_browse(opc): + +async def test_browse(opc): objects = opc.get_objects_node() - obj = objects.add_object(4, "browsetest") - folder = obj.add_folder(4, "folder") - prop = obj.add_property(4, "property", 1) - prop2 = obj.add_property(4, "property2", 2) - var = obj.add_variable(4, "variable", 3) - obj2 = obj.add_object(4, "obj") - alle = obj.get_children() + obj = await objects.add_object(4, "browsetest") + folder = await obj.add_folder(4, "folder") + prop = await obj.add_property(4, "property", 1) + prop2 = await obj.add_property(4, "property2", 2) + var = await obj.add_variable(4, "variable", 3) + obj2 = await obj.add_object(4, "obj") + alle = await obj.get_children() assert prop in alle assert prop2 in alle assert var in alle assert folder in alle assert obj not in alle - props = obj.get_children(refs=ua.ObjectIds.HasProperty) + props = await obj.get_children(refs=ua.ObjectIds.HasProperty) assert prop in props assert prop2 in props assert var not in props assert folder not in props assert obj2 not in props - all_vars = obj.get_children(nodeclassmask=ua.NodeClass.Variable) + all_vars = await obj.get_children(nodeclassmask=ua.NodeClass.Variable) assert prop in all_vars assert var in all_vars assert folder not in props assert obj2 not in props - all_objs = obj.get_children(nodeclassmask=ua.NodeClass.Object) + all_objs = await obj.get_children(nodeclassmask=ua.NodeClass.Object) assert folder in all_objs assert obj2 in all_objs assert var not in all_objs -def test_browse_references(opc): + +async def test_browse_references(opc): objects = opc.get_objects_node() - folder = objects.add_folder(4, "folder") + folder = await objects.add_folder(4, "folder") - childs = objects.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Forward, - includesubtypes=False) + childs = await objects.get_referenced_nodes( + refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Forward, includesubtypes=False + ) assert folder in childs - childs = objects.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Both, - includesubtypes=False) + childs = await objects.get_referenced_nodes( + refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Both, includesubtypes=False + ) assert folder in childs - childs = objects.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Inverse, - includesubtypes=False) + childs = await objects.get_referenced_nodes( + refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Inverse, includesubtypes=False + ) assert folder not in childs - parents = folder.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Inverse, - includesubtypes=False) + parents = await folder.get_referenced_nodes( + refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Inverse, includesubtypes=False + ) assert objects in parents - parents = folder.get_referenced_nodes(refs=ua.ObjectIds.HierarchicalReferences, - direction=ua.BrowseDirection.Inverse, includesubtypes=False) + parents = await folder.get_referenced_nodes( + refs=ua.ObjectIds.HierarchicalReferences, direction=ua.BrowseDirection.Inverse, includesubtypes=False + ) assert objects in parents + assert await folder.get_parent() == objects - parent = folder.get_parent() - assert parent == objects -def test_browsename_with_spaces(opc): +async def test_browsename_with_spaces(opc): o = opc.get_objects_node() - v = o.add_variable(3, 'BNVariable with spaces and %&+?/', 1.3) - v2 = o.get_child("3:BNVariable with spaces and %&+?/") + v = await o.add_variable(3, 'BNVariable with spaces and %&+?/', 1.3) + v2 = await o.get_child("3:BNVariable with spaces and %&+?/") assert v == v2 -def test_non_existing_path(opc): + +async def test_non_existing_path(opc): root = opc.get_root_node() with pytest.raises(ua.UaStatusCodeError): - server_time_node = root.get_child(['0:Objects', '0:Server', '0:nonexistingnode']) + await root.get_child(['0:Objects', '0:Server', '0:nonexistingnode']) + -def test_bad_attribute(opc): +async def test_bad_attribute(opc): root = opc.get_root_node() with pytest.raises(ua.UaStatusCodeError): - root.set_value(99) + await root.set_value(99) + -def test_get_node_by_nodeid(opc): +async def test_get_node_by_nodeid(opc): root = opc.get_root_node() - server_time_node = root.get_child(['0:Objects', '0:Server', '0:ServerStatus', '0:CurrentTime']) + server_time_node = await root.get_child(['0:Objects', '0:Server', '0:ServerStatus', '0:CurrentTime']) correct = opc.get_node(ua.NodeId(ua.ObjectIds.Server_ServerStatus_CurrentTime)) assert server_time_node == correct -def test_datetime_read(opc): + +async def test_datetime_read(opc): time_node = opc.get_node(ua.NodeId(ua.ObjectIds.Server_ServerStatus_CurrentTime)) - dt = time_node.get_value() + dt = await time_node.get_value() utcnow = datetime.utcnow() delta = utcnow - dt assert delta < timedelta(seconds=1) -def test_datetime_write(opc): + +async def test_datetime_write(opc): time_node = opc.get_node(ua.NodeId(ua.ObjectIds.Server_ServerStatus_CurrentTime)) now = datetime.utcnow() objects = opc.get_objects_node() - v1 = objects.add_variable(4, "test_datetime", now) - tid = v1.get_value() + v1 = await objects.add_variable(4, "test_datetime", now) + tid = await v1.get_value() assert now == tid -def test_variant_array_dim(opc): + +async def test_variant_array_dim(opc): objects = opc.get_objects_node() l = [[[1.0, 1.0, 1.0, 1.0], [2.0, 2.0, 2.0, 2.0], [3.0, 3.0, 3.0, 3.0]], - [[5.0, 5.0, 5.0, 5.0], [7.0, 8.0, 9.0, 01.0], [1.0, 1.0, 1.0, 1.0]]] - v = objects.add_variable(3, 'variableWithDims', l) + [[5.0, 5.0, 5.0, 5.0], [7.0, 8.0, 9.0, 01.0], [1.0, 1.0, 1.0, 1.0]]] + v = await objects.add_variable(3, 'variableWithDims', l) - v.set_array_dimensions([0, 0, 0]) - dim = v.get_array_dimensions() + await v.set_array_dimensions([0, 0, 0]) + dim = await v.get_array_dimensions() assert [0, 0, 0] == dim - v.set_value_rank(0) - rank = v.get_value_rank() + await v.set_value_rank(0) + rank = await v.get_value_rank() assert 0 == rank - v2 = v.get_value() + v2 = await v.get_value() assert l == v2 - dv = v.get_data_value() + dv = await v.get_data_value() assert [2, 3, 4] == dv.Value.Dimensions l = [[[], [], []], [[], [], []]] variant = ua.Variant(l, ua.VariantType.UInt32) - v = objects.add_variable(3, 'variableWithDimsEmpty', variant) - v2 = v.get_value() + v = await objects.add_variable(3, 'variableWithDimsEmpty', variant) + v2 = await v.get_value() assert l == v2 - dv = v.get_data_value() + dv = await v.get_data_value() assert [2, 3, 0] == dv.Value.Dimensions -def test_add_numeric_variable(opc): + +async def test_add_numeric_variable(opc): objects = opc.get_objects_node() - v = objects.add_variable('ns=3;i=888;', '3:numericnodefromstring', 99) + v = await objects.add_variable('ns=3;i=888;', '3:numericnodefromstring', 99) nid = ua.NodeId(888, 3) qn = ua.QualifiedName('numericnodefromstring', 3) assert nid == v.nodeid - assert qn == v.get_browse_name() + assert qn == await v.get_browse_name() + -def test_add_string_variable(opc): +async def test_add_string_variable(opc): objects = opc.get_objects_node() - v = objects.add_variable('ns=3;s=stringid;', '3:stringnodefromstring', [68]) + v = await objects.add_variable('ns=3;s=stringid;', '3:stringnodefromstring', [68]) nid = ua.NodeId('stringid', 3) qn = ua.QualifiedName('stringnodefromstring', 3) assert nid == v.nodeid - assert qn == v.get_browse_name() + assert qn == await v.get_browse_name() + -def test_utf8(opc): +async def test_utf8(opc): objects = opc.get_objects_node() utf_string = "æøå@%&" bn = ua.QualifiedName(utf_string, 3) nid = ua.NodeId("æølå", 3) val = "æøå" - v = objects.add_variable(nid, bn, val) + v = await objects.add_variable(nid, bn, val) assert nid == v.nodeid - val2 = v.get_value() + val2 = await v.get_value() assert val == val2 - bn2 = v.get_browse_name() + bn2 = await v.get_browse_name() assert bn == bn2 -def test_null_variable(opc): + +async def test_null_variable(opc): objects = opc.get_objects_node() - var = objects.add_variable(3, 'nullstring', "a string") - var.set_value(None) - val = var.get_value() + var = await objects.add_variable(3, 'nullstring', "a string") + await var.set_value(None) + val = await var.get_value() assert val is None - var.set_value("") - val = var.get_value() + await var.set_value("") + val = await var.get_value() assert val is not None assert "" == val -def test_variable_data_type(opc): + +async def test_variable_data_type(opc): objects = opc.get_objects_node() - var = objects.add_variable(3, 'stringfordatatype', "a string") - val = var.get_data_type_as_variant_type() + var = await objects.add_variable(3, 'stringfordatatype', "a string") + val = await var.get_data_type_as_variant_type() assert ua.VariantType.String == val - var = objects.add_variable(3, 'stringarrayfordatatype', ["a", "b"]) - val = var.get_data_type_as_variant_type() + var = await objects.add_variable(3, 'stringarrayfordatatype', ["a", "b"]) + val = await var.get_data_type_as_variant_type() assert ua.VariantType.String == val -def test_add_string_array_variable(opc): + +async def test_add_string_array_variable(opc): objects = opc.get_objects_node() - v = objects.add_variable('ns=3;s=stringarrayid;', '9:stringarray', ['l', 'b']) + v = await objects.add_variable('ns=3;s=stringarrayid;', '9:stringarray', ['l', 'b']) nid = ua.NodeId('stringarrayid', 3) qn = ua.QualifiedName('stringarray', 9) assert nid == v.nodeid - assert qn == v.get_browse_name() - val = v.get_value() + assert qn == await v.get_browse_name() + val = await v.get_value() assert ['l', 'b'] == val -def test_add_numeric_node(opc): + +async def test_add_numeric_node(opc): objects = opc.get_objects_node() nid = ua.NodeId(9999, 3) qn = ua.QualifiedName('AddNodeVar1', 3) - v1 = objects.add_variable(nid, qn, 0) + v1 = await objects.add_variable(nid, qn, 0) assert nid == v1.nodeid - assert qn == v1.get_browse_name() + assert qn == await v1.get_browse_name() + -def test_add_string_node(opc): +async def test_add_string_node(opc): objects = opc.get_objects_node() qn = ua.QualifiedName('AddNodeVar2', 3) nid = ua.NodeId('AddNodeVar2Id', 3) - v2 = objects.add_variable(nid, qn, 0) + v2 = await objects.add_variable(nid, qn, 0) assert nid == v2.nodeid - assert qn == v2.get_browse_name() + assert qn == await v2.get_browse_name() + -def test_add_find_node_(opc): +async def test_add_find_node_(opc): objects = opc.get_objects_node() - o = objects.add_object('ns=2;i=101;', '2:AddFindObject') - o2 = objects.get_child('2:AddFindObject') + o = await objects.add_object('ns=2;i=101;', '2:AddFindObject') + o2 = await objects.get_child('2:AddFindObject') assert o == o2 -def test_node_path(opc): + +async def test_node_path(opc): objects = opc.get_objects_node() - o = objects.add_object('ns=2;i=105;', '2:NodePathObject') + o = await objects.add_object('ns=2;i=105;', '2:NodePathObject') root = opc.get_root_node() - o2 = root.get_child(['0:Objects', '2:NodePathObject']) + o2 = await root.get_child(['0:Objects', '2:NodePathObject']) assert o == o2 -def test_add_read_node(opc): + +async def test_add_read_node(opc): objects = opc.get_objects_node() - o = objects.add_object('ns=2;i=102;', '2:AddReadObject') + o = await objects.add_object('ns=2;i=102;', '2:AddReadObject') nid = ua.NodeId(102, 2) assert nid == o.nodeid qn = ua.QualifiedName('AddReadObject', 2) - assert qn == o.get_browse_name() + assert qn == await o.get_browse_name() + -def test_simple_value(opc): +async def test_simple_value(opc): o = opc.get_objects_node() - v = o.add_variable(3, 'VariableTestValue', 4.32) - val = v.get_value() + v = await o.add_variable(3, 'VariableTestValue', 4.32) + val = await v.get_value() assert 4.32 == val -def test_add_exception(opc): + +async def test_add_exception(opc): objects = opc.get_objects_node() - o = objects.add_object('ns=2;i=103;', '2:AddReadObject') + await objects.add_object('ns=2;i=103;', '2:AddReadObject') with pytest.raises(ua.UaStatusCodeError): - o2 = objects.add_object('ns=2;i=103;', '2:AddReadObject') + await objects.add_object('ns=2;i=103;', '2:AddReadObject') + -def test_negative_value(opc): +async def test_negative_value(opc): o = opc.get_objects_node() - v = o.add_variable(3, 'VariableNegativeValue', 4) - v.set_value(-4.54) - val = v.get_value() - assert -4.54 == val + v = await o.add_variable(3, 'VariableNegativeValue', 4) + await v.set_value(-4.54) + assert -4.54 == await v.get_value() + -def test_read_server_state(opc): +async def test_read_server_state(opc): statenode = opc.get_node(ua.NodeId(ua.ObjectIds.Server_ServerStatus_State)) - state = statenode.get_value() - assert 0 == state + assert 0 == await statenode.get_value() -def test_bad_node(opc): + +async def test_bad_node(opc): bad = opc.get_node(ua.NodeId(999, 999)) with pytest.raises(ua.UaStatusCodeError): - bad.get_browse_name() + await bad.get_browse_name() with pytest.raises(ua.UaStatusCodeError): - bad.set_value(89) + await bad.set_value(89) with pytest.raises(ua.UaStatusCodeError): - bad.add_object(0, "0:myobj") + await bad.add_object(0, "0:myobj") with pytest.raises(ua.UaStatusCodeError): - bad.get_child("0:myobj") + await bad.get_child("0:myobj") + -def test_value(opc): +async def test_value(opc): o = opc.get_objects_node() var = ua.Variant(1.98, ua.VariantType.Double) - v = o.add_variable(3, 'VariableValue', var) - val = v.get_value() - assert 1.98 == val - + v = await o.add_variable(3, 'VariableValue', var) + assert 1.98 == await v.get_value() dvar = ua.DataValue(var) - dv = v.get_data_value() + dv = await v.get_data_value() assert ua.DataValue == type(dv) assert dvar.Value == dv.Value assert dvar.Value == var -def test_set_value(opc): + +async def test_set_value(opc): o = opc.get_objects_node() var = ua.Variant(1.98, ua.VariantType.Double) dvar = ua.DataValue(var) - v = o.add_variable(3, 'VariableValue', var) - v.set_value(var.Value) - v1 = v.get_value() + v = await o.add_variable(3, 'VariableValue', var) + await v.set_value(var.Value) + v1 = await v.get_value() assert v1 == var.Value - v.set_value(var) - v2 = v.get_value() + await v.set_value(var) + v2 = await v.get_value() assert v2 == var.Value - v.set_data_value(dvar) - v3 = v.get_data_value() + await v.set_data_value(dvar) + v3 = await v.get_data_value() assert v3.Value == dvar.Value -def test_array_value(opc): + +async def test_array_value(opc): o = opc.get_objects_node() - v = o.add_variable(3, 'VariableArrayValue', [1, 2, 3]) - val = v.get_value() - assert [1, 2, 3] == val + v = await o.add_variable(3, 'VariableArrayValue', [1, 2, 3]) + assert [1, 2, 3] == await v.get_value() + -def test_bool_variable(opc): +async def test_bool_variable(opc): o = opc.get_objects_node() - v = o.add_variable(3, 'BoolVariable', True) - dt = v.get_data_type_as_variant_type() + v = await o.add_variable(3, 'BoolVariable', True) + dt = await v.get_data_type_as_variant_type() assert ua.VariantType.Boolean == dt - val = v.get_value() + val = await v.get_value() assert val is True - v.set_value(False) - val = v.get_value() + await v.set_value(False) + val = await v.get_value() assert val is False -def test_array_size_one_value(opc): + +async def test_array_size_one_value(opc): o = opc.get_objects_node() - v = o.add_variable(3, 'VariableArrayValue', [1, 2, 3]) - v.set_value([1]) - val = v.get_value() - assert [1] == val + v = await o.add_variable(3, 'VariableArrayValue', [1, 2, 3]) + await v.set_value([1]) + assert [1] == await v.get_value() + -def test_use_namespace(opc): - idx = opc.get_namespace_index("urn:freeopcua:python:server") +async def test_use_namespace(opc): + idx = await opc.get_namespace_index("urn:freeopcua:python:server") assert 1 == idx root = opc.get_root_node() - myvar = root.add_variable(idx, 'var_in_custom_namespace', [5]) + myvar = await root.add_variable(idx, 'var_in_custom_namespace', [5]) myid = myvar.nodeid assert idx == myid.NamespaceIndex -def test_method(opc): + +async def test_method(opc): o = opc.get_objects_node() - m = o.get_child("2:ServerMethod") - result = o.call_method("2:ServerMethod", 2.1) + await o.get_child("2:ServerMethod") + result = await o.call_method("2:ServerMethod", 2.1) assert 4.2 == result with pytest.raises(ua.UaStatusCodeError): # FIXME: we should raise a more precise exception - result = o.call_method("2:ServerMethod", 2.1, 89, 9) + await o.call_method("2:ServerMethod", 2.1, 89, 9) with pytest.raises(ua.UaStatusCodeError): - result = o.call_method(ua.NodeId(999), 2.1) # non existing method + await o.call_method(ua.NodeId(999), 2.1) # non existing method -def test_method_array(opc): + +async def test_method_array(opc): o = opc.get_objects_node() - m = o.get_child("2:ServerMethodArray") - result = o.call_method(m, "sin", ua.Variant(math.pi)) + m = await o.get_child("2:ServerMethodArray") + result = await o.call_method(m, "sin", ua.Variant(math.pi)) assert result < 0.01 with pytest.raises(ua.UaStatusCodeError) as cm: - result = o.call_method(m, "cos", ua.Variant(math.pi)) + await o.call_method(m, "cos", ua.Variant(math.pi)) assert ua.StatusCodes.BadInvalidArgument == cm.exception.code with pytest.raises(ua.UaStatusCodeError) as cm: - result = o.call_method(m, "panic", ua.Variant(math.pi)) + await o.call_method(m, "panic", ua.Variant(math.pi)) assert ua.StatusCodes.BadOutOfMemory == cm.exception.code -def test_method_array2(opc): + +async def test_method_array2(opc): o = opc.get_objects_node() m = o.get_child("2:ServerMethodArray2") - result = o.call_method(m, [1.1, 3.4, 9]) + result = await o.call_method(m, [1.1, 3.4, 9]) assert [2.2, 6.8, 18] == result - result = call_method_full(o, m, [1.1, 3.4, 9]) + result = await call_method_full(o, m, [1.1, 3.4, 9]) assert [[2.2, 6.8, 18]] == result.OutputArguments -def test_method_tuple(opc): + +async def test_method_tuple(opc): o = opc.get_objects_node() - m = o.get_child("2:ServerMethodTuple") - result = o.call_method(m) + m = await o.get_child("2:ServerMethodTuple") + result = await o.call_method(m) assert [1, 2, 3] == result - result = call_method_full(o, m) + result = await call_method_full(o, m) assert [1, 2, 3] == result.OutputArguments -def test_method_none(opc): + +async def test_method_none(opc): # this test calls the function linked to the type's method.. - o = opc.get_node(ua.ObjectIds.BaseObjectType).get_child("2:ObjectWithMethodsType") - m = o.get_child("2:ServerMethodDefault") - result = o.call_method(m) + o = await opc.get_node(ua.ObjectIds.BaseObjectType).get_child("2:ObjectWithMethodsType") + m = await o.get_child("2:ServerMethodDefault") + result = await o.call_method(m) assert result is None - result = call_method_full(o, m) + result = await call_method_full(o, m) assert [] == result.OutputArguments -def test_add_nodes(opc): + +async def test_add_nodes(opc): objects = opc.get_objects_node() - f = objects.add_folder(3, 'MyFolder') - child = objects.get_child("3:MyFolder") + f = await objects.add_folder(3, 'MyFolder') + child = await objects.get_child("3:MyFolder") assert child == f - o = f.add_object(3, 'MyObject') - child = f.get_child("3:MyObject") + o = await f.add_object(3, 'MyObject') + child = await f.get_child("3:MyObject") assert child == o - v = f.add_variable(3, 'MyVariable', 6) - child = f.get_child("3:MyVariable") + v = await f.add_variable(3, 'MyVariable', 6) + child = await f.get_child("3:MyVariable") assert child == v - p = f.add_property(3, 'MyProperty', 10) - child = f.get_child("3:MyProperty") + p = await f.add_property(3, 'MyProperty', 10) + child = await f.get_child("3:MyProperty") assert child == p - childs = f.get_children() + childs = await f.get_children() assert o in childs assert v in childs assert p in childs -def test_modelling_rules(opc): - obj = opc.nodes.base_object_type.add_object_type(2, 'MyFooObjectType') - v = obj.add_variable(2, "myvar", 1.1) - v.set_modelling_rule(True) - p = obj.add_property(2, "myvar", 1.1) - p.set_modelling_rule(False) - refs = obj.get_referenced_nodes(refs=ua.ObjectIds.HasModellingRule) +async def test_modelling_rules(opc): + obj = await opc.nodes.base_object_type.add_object_type(2, 'MyFooObjectType') + v = await obj.add_variable(2, "myvar", 1.1) + await v.set_modelling_rule(True) + p = await obj.add_property(2, "myvar", 1.1) + await p.set_modelling_rule(False) + + refs = await obj.get_referenced_nodes(refs=ua.ObjectIds.HasModellingRule) assert 0 == len(refs) - refs = v.get_referenced_nodes(refs=ua.ObjectIds.HasModellingRule) + refs = await v.get_referenced_nodes(refs=ua.ObjectIds.HasModellingRule) assert opc.get_node(ua.ObjectIds.ModellingRule_Mandatory) == refs[0] - refs = p.get_referenced_nodes(refs=ua.ObjectIds.HasModellingRule) + refs = await p.get_referenced_nodes(refs=ua.ObjectIds.HasModellingRule) assert opc.get_node(ua.ObjectIds.ModellingRule_Optional) == refs[0] - p.set_modelling_rule(None) - refs = p.get_referenced_nodes(refs=ua.ObjectIds.HasModellingRule) + await p.set_modelling_rule(None) + refs = await p.get_referenced_nodes(refs=ua.ObjectIds.HasModellingRule) assert 0 == len(refs) -def test_incl_subtypes(opc): - base_type = opc.get_root_node().get_child(["0:Types", "0:ObjectTypes", "0:BaseObjectType"]) - descs = base_type.get_children_descriptions(includesubtypes=True) + +async def test_incl_subtypes(opc): + base_type = await opc.get_root_node().get_child(["0:Types", "0:ObjectTypes", "0:BaseObjectType"]) + descs = await base_type.get_children_descriptions(includesubtypes=True) assert len(descs) > 10 - descs = base_type.get_children_descriptions(includesubtypes=False) + descs = await base_type.get_children_descriptions(includesubtypes=False) assert 0 == len(descs) -def test_add_node_with_type(opc): + +async def test_add_node_with_type(opc): objects = opc.get_objects_node() - f = objects.add_folder(3, 'MyFolder_TypeTest') + f = await objects.add_folder(3, 'MyFolder_TypeTest') - o = f.add_object(3, 'MyObject1', ua.ObjectIds.BaseObjectType) - assert ua.ObjectIds.BaseObjectType == o.get_type_definition().Identifier + o = await f.add_object(3, 'MyObject1', ua.ObjectIds.BaseObjectType) + assert ua.ObjectIds.BaseObjectType == (await o.get_type_definition()).Identifier - o = f.add_object(3, 'MyObject2', ua.NodeId(ua.ObjectIds.BaseObjectType, 0)) - assert ua.ObjectIds.BaseObjectType == o.get_type_definition().Identifier + o = await f.add_object(3, 'MyObject2', ua.NodeId(ua.ObjectIds.BaseObjectType, 0)) + assert ua.ObjectIds.BaseObjectType == (await o.get_type_definition()).Identifier base_otype = opc.get_node(ua.ObjectIds.BaseObjectType) - custom_otype = base_otype.add_object_type(2, 'MyFooObjectType') + custom_otype = await base_otype.add_object_type(2, 'MyFooObjectType') - o = f.add_object(3, 'MyObject3', custom_otype.nodeid) - assert custom_otype.nodeid.Identifier == o.get_type_definition().Identifier + o = await f.add_object(3, 'MyObject3', custom_otype.nodeid) + assert custom_otype.nodeid.Identifier == (await o.get_type_definition()).Identifier - references = o.get_references(refs=ua.ObjectIds.HasTypeDefinition, direction=ua.BrowseDirection.Forward) + references = await o.get_references(refs=ua.ObjectIds.HasTypeDefinition, direction=ua.BrowseDirection.Forward) assert 1 == len(references) assert custom_otype.nodeid == references[0].NodeId -def test_references_for_added_nodes(opc): + +async def test_references_for_added_nodes(opc): objects = opc.get_objects_node() - o = objects.add_object(3, 'MyObject') - nodes = objects.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Forward, - includesubtypes=False) + o = await objects.add_object(3, 'MyObject') + nodes = await objects.get_referenced_nodes( + refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Forward, includesubtypes=False + ) assert o in nodes - nodes = o.get_referenced_nodes(refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Inverse, - includesubtypes=False) + nodes = await o.get_referenced_nodes( + refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Inverse, includesubtypes=False + ) assert objects in nodes - assert objects == o.get_parent() - assert ua.ObjectIds.BaseObjectType == o.get_type_definition().Identifier - assert [] == o.get_references(ua.ObjectIds.HasModellingRule) + assert objects == await o.get_parent() + assert ua.ObjectIds.BaseObjectType == (await o.get_type_definition()).Identifier + assert [] == await o.get_references(ua.ObjectIds.HasModellingRule) - o2 = o.add_object(3, 'MySecondObject') - nodes = o.get_referenced_nodes(refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Forward, - includesubtypes=False) + o2 = await o.add_object(3, 'MySecondObject') + nodes = await o.get_referenced_nodes( + refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Forward, includesubtypes=False + ) assert o2 in nodes - nodes = o2.get_referenced_nodes(refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Inverse, - includesubtypes=False) + nodes = await o2.get_referenced_nodes( + refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Inverse, includesubtypes=False + ) assert o in nodes - assert o == o2.get_parent() - assert ua.ObjectIds.BaseObjectType == o2.get_type_definition().Identifier - assert [] == o2.get_references(ua.ObjectIds.HasModellingRule) + assert o == await o2.get_parent() + assert ua.ObjectIds.BaseObjectType == (await o2.get_type_definition()).Identifier + assert [] == await o2.get_references(ua.ObjectIds.HasModellingRule) - v = o.add_variable(3, 'MyVariable', 6) - nodes = o.get_referenced_nodes(refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Forward, - includesubtypes=False) + v = await o.add_variable(3, 'MyVariable', 6) + nodes = await o.get_referenced_nodes( + refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Forward, includesubtypes=False + ) assert v in nodes - nodes = v.get_referenced_nodes(refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Inverse, - includesubtypes=False) + nodes = await v.get_referenced_nodes( + refs=ua.ObjectIds.HasComponent, direction=ua.BrowseDirection.Inverse, includesubtypes=False + ) assert o in nodes - assert o == v.get_parent() - assert ua.ObjectIds.BaseDataVariableType == v.get_type_definition().Identifier - assert [] == v.get_references(ua.ObjectIds.HasModellingRule) + assert o == await v.get_parent() + assert ua.ObjectIds.BaseDataVariableType == (await v.get_type_definition()).Identifier + assert [] == await v.get_references(ua.ObjectIds.HasModellingRule) - p = o.add_property(3, 'MyProperty', 2) - nodes = o.get_referenced_nodes(refs=ua.ObjectIds.HasProperty, direction=ua.BrowseDirection.Forward, - includesubtypes=False) + p = await o.add_property(3, 'MyProperty', 2) + nodes = await o.get_referenced_nodes( + refs=ua.ObjectIds.HasProperty, direction=ua.BrowseDirection.Forward, includesubtypes=False + ) assert p in nodes - nodes = p.get_referenced_nodes(refs=ua.ObjectIds.HasProperty, direction=ua.BrowseDirection.Inverse, - includesubtypes=False) + nodes = await p.get_referenced_nodes( + refs=ua.ObjectIds.HasProperty, direction=ua.BrowseDirection.Inverse, includesubtypes=False + ) assert o in nodes - assert 0 == p.get_parent() - assert ua.ObjectIds.PropertyType == p.get_type_definition().Identifier - assert [] == p.get_references(ua.ObjectIds.HasModellingRule) + assert 0 == await p.get_parent() + assert ua.ObjectIds.PropertyType == (await p.get_type_definition()).Identifier + assert [] == await p.get_references(ua.ObjectIds.HasModellingRule) + + m = await objects.get_child("2:ServerMethod") + assert [] == await m.get_references(ua.ObjectIds.HasModellingRule) - m = objects.get_child("2:ServerMethod") - assert [] == m.get_references(ua.ObjectIds.HasModellingRule) -def test_path_string(opc): - o = opc.nodes.objects.add_folder(1, "titif").add_object(3, "opath") - path = o.get_path(as_string=True) +async def test_path_string(opc): + o = await (await opc.nodes.objects.add_folder(1, "titif")).add_object(3, "opath") + path = await o.get_path(as_string=True) assert ["0:Root", "0:Objects", "1:titif", "3:opath"] == path - path = o.get_path(2, as_string=True) + path = await o.get_path(2, as_string=True) assert ["1:titif", "3:opath"] == path -def test_path(opc): - of = opc.nodes.objects.add_folder(1, "titif") - op = of.add_object(3, "opath") - path = op.get_path() + +async def test_path(opc): + of = await opc.nodes.objects.add_folder(1, "titif") + op = await of.add_object(3, "opath") + path = await op.get_path() assert [opc.nodes.root, opc.nodes.objects, of, op] == path - path = op.get_path(2) + path = await op.get_path(2) assert [of, op] == path target = opc.get_node("i=13387") - path = target.get_path() - assert [opc.nodes.root, opc.nodes.types, opc.nodes.object_types, opc.nodes.base_object_type, - opc.nodes.folder_type, opc.get_node(ua.ObjectIds.FileDirectoryType), target] == path + path = await target.get_path() + assert [ + opc.nodes.root, opc.nodes.types, opc.nodes.object_types, opc.nodes.base_object_type, + opc.nodes.folder_type, opc.get_node(ua.ObjectIds.FileDirectoryType), target + ] == path + -def test_get_endpoints(opc): - endpoints = opc.get_endpoints() +async def test_get_endpoints(opc): + endpoints = await opc.get_endpoints() assert len(endpoints) > 0 assert endpoints[0].EndpointUrl.startswith("opc.tcp://") -def test_copy_node(opc): - dev_t = opc.nodes.base_data_type.add_object_type(0, "MyDevice") - v_t = dev_t.add_variable(0, "sensor", 1.0) - p_t = dev_t.add_property(0, "sensor_id", "0340") - ctrl_t = dev_t.add_object(0, "controller") - prop_t = ctrl_t.add_property(0, "state", "Running") - # Create device sutype - devd_t = dev_t.add_object_type(0, "MyDeviceDervived") - v_t = devd_t.add_variable(0, "childparam", 1.0) - p_t = devd_t.add_property(0, "sensorx_id", "0340") - nodes = copy_node(opc.nodes.objects, dev_t) +async def test_copy_node(opc): + dev_t = await opc.nodes.base_data_type.add_object_type(0, "MyDevice") + v_t = await dev_t.add_variable(0, "sensor", 1.0) + p_t = await dev_t.add_property(0, "sensor_id", "0340") + ctrl_t = await dev_t.add_object(0, "controller") + prop_t = await ctrl_t.add_property(0, "state", "Running") + # Create device sutype + devd_t = await dev_t.add_object_type(0, "MyDeviceDervived") + v_t = await devd_t.add_variable(0, "childparam", 1.0) + p_t = await devd_t.add_property(0, "sensorx_id", "0340") + nodes = await copy_node(opc.nodes.objects, dev_t) mydevice = nodes[0] - - assert ua.NodeClass.ObjectType == mydevice.get_node_class() - assert 4 == len(mydevice.get_children()) - obj = mydevice.get_child(["0:controller"]) - prop = mydevice.get_child(["0:controller", "0:state"]) - assert ua.ObjectIds.PropertyType == prop.get_type_definition().Identifier - assert "Running" == prop.get_value() + assert ua.NodeClass.ObjectType == await mydevice.get_node_class() + assert 4 == len(await mydevice.get_children()) + obj = await mydevice.get_child(["0:controller"]) + prop = await mydevice.get_child(["0:controller", "0:state"]) + assert ua.ObjectIds.PropertyType == (await prop.get_type_definition()).Identifier + assert "Running" == await prop.get_value() assert prop.nodeid != prop_t.nodeid -def test_instantiate_1(opc): + +async def test_instantiate_1(opc): # Create device type - dev_t = opc.nodes.base_object_type.add_object_type(0, "MyDevice") - v_t = dev_t.add_variable(0, "sensor", 1.0) - v_t.set_modelling_rule(True) - p_t = dev_t.add_property(0, "sensor_id", "0340") - p_t.set_modelling_rule(True) - ctrl_t = dev_t.add_object(0, "controller") - ctrl_t.set_modelling_rule(True) - v_opt_t = dev_t.add_variable(0, "vendor", 1.0) - v_opt_t.set_modelling_rule(False) - v_none_t = dev_t.add_variable(0, "model", 1.0) - v_none_t.set_modelling_rule(None) - prop_t = ctrl_t.add_property(0, "state", "Running") - prop_t.set_modelling_rule(True) + dev_t = await opc.nodes.base_object_type.add_object_type(0, "MyDevice") + v_t = await dev_t.add_variable(0, "sensor", 1.0) + await v_t.set_modelling_rule(True) + p_t = await dev_t.add_property(0, "sensor_id", "0340") + await p_t.set_modelling_rule(True) + ctrl_t = await dev_t.add_object(0, "controller") + await ctrl_t.set_modelling_rule(True) + v_opt_t = await dev_t.add_variable(0, "vendor", 1.0) + await v_opt_t.set_modelling_rule(False) + v_none_t = await dev_t.add_variable(0, "model", 1.0) + await v_none_t.set_modelling_rule(None) + prop_t = await ctrl_t.add_property(0, "state", "Running") + await prop_t.set_modelling_rule(True) # Create device sutype - devd_t = dev_t.add_object_type(0, "MyDeviceDervived") - v_t = devd_t.add_variable(0, "childparam", 1.0) - v_t.set_modelling_rule(True) - p_t = devd_t.add_property(0, "sensorx_id", "0340") - p_t.set_modelling_rule(True) + devd_t = await dev_t.add_object_type(0, "MyDeviceDervived") + v_t = await devd_t.add_variable(0, "childparam", 1.0) + await v_t.set_modelling_rule(True) + p_t = await devd_t.add_property(0, "sensorx_id", "0340") + await p_t.set_modelling_rule(True) # instanciate device - nodes = instantiate(opc.nodes.objects, dev_t, bname="2:Device0001") + nodes = await instantiate(opc.nodes.objects, dev_t, bname="2:Device0001") mydevice = nodes[0] - assert ua.NodeClass.Object == mydevice.get_node_class() - assert dev_t.nodeid == mydevice.get_type_definition() - obj = mydevice.get_child(["0:controller"]) - prop = mydevice.get_child(["0:controller", "0:state"]) + assert ua.NodeClass.Object == await mydevice.get_node_class() + assert dev_t.nodeid == await mydevice.get_type_definition() + obj = await mydevice.get_child(["0:controller"]) + prop = await mydevice.get_child(["0:controller", "0:state"]) with pytest.raises(ua.UaError): - mydevice.get_child(["0:controller", "0:vendor"]) + await mydevice.get_child(["0:controller", "0:vendor"]) with pytest.raises(ua.UaError): - mydevice.get_child(["0:controller", "0:model"]) + await mydevice.get_child(["0:controller", "0:model"]) - assert ua.ObjectIds.PropertyType == prop.get_type_definition().Identifier - assert "Running" == prop.get_value() + assert ua.ObjectIds.PropertyType == (await prop.get_type_definition()).Identifier + assert "Running" == await prop.get_value() assert prop.nodeid != prop_t.nodeid # instanciate device subtype - nodes = instantiate(opc.nodes.objects, devd_t, bname="2:Device0002") + nodes = await instantiate(opc.nodes.objects, devd_t, bname="2:Device0002") mydevicederived = nodes[0] - prop1 = mydevicederived.get_child(["0:sensorx_id"]) - var1 = mydevicederived.get_child(["0:childparam"]) - var_parent = mydevicederived.get_child(["0:sensor"]) - prop_parent = mydevicederived.get_child(["0:sensor_id"]) + prop1 = await mydevicederived.get_child(["0:sensorx_id"]) + var1 = await mydevicederived.get_child(["0:childparam"]) + var_parent = await mydevicederived.get_child(["0:sensor"]) + prop_parent = await mydevicederived.get_child(["0:sensor_id"]) -def test_instantiate_string_nodeid(opc): + +async def test_instantiate_string_nodeid(opc): # Create device type - dev_t = opc.nodes.base_object_type.add_object_type(0, "MyDevice2") - v_t = dev_t.add_variable(0, "sensor", 1.0) - v_t.set_modelling_rule(True) - p_t = dev_t.add_property(0, "sensor_id", "0340") - p_t.set_modelling_rule(True) - ctrl_t = dev_t.add_object(0, "controller") - ctrl_t.set_modelling_rule(True) - prop_t = ctrl_t.add_property(0, "state", "Running") - prop_t.set_modelling_rule(True) + dev_t = await opc.nodes.base_object_type.add_object_type(0, "MyDevice2") + v_t = await dev_t.add_variable(0, "sensor", 1.0) + await v_t.set_modelling_rule(True) + p_t = await dev_t.add_property(0, "sensor_id", "0340") + await p_t.set_modelling_rule(True) + ctrl_t = await dev_t.add_object(0, "controller") + await ctrl_t.set_modelling_rule(True) + prop_t = await ctrl_t.add_property(0, "state", "Running") + await prop_t.set_modelling_rule(True) # instanciate device - nodes = instantiate(opc.nodes.objects, dev_t, nodeid=ua.NodeId("InstDevice", 2, ua.NodeIdType.String), - bname="2:InstDevice") + nodes = await instantiate(opc.nodes.objects, dev_t, nodeid=ua.NodeId("InstDevice", 2, ua.NodeIdType.String), + bname="2:InstDevice") mydevice = nodes[0] - assert ua.NodeClass.Object == mydevice.get_node_class() - assert dev_t.nodeid == mydevice.get_type_definition() - obj = mydevice.get_child(["0:controller"]) + assert ua.NodeClass.Object == await mydevice.get_node_class() + assert dev_t.nodeid == await mydevice.get_type_definition() + obj = await mydevice.get_child(["0:controller"]) obj_nodeid_ident = obj.nodeid.Identifier - prop = mydevice.get_child(["0:controller", "0:state"]) + prop = await mydevice.get_child(["0:controller", "0:state"]) assert "InstDevice.controller" == obj_nodeid_ident - assert ua.ObjectIds.PropertyType == prop.get_type_definition().Identifier - assert "Running" == prop.get_value() + assert ua.ObjectIds.PropertyType == (await prop.get_type_definition()).Identifier + assert "Running" == await prop.get_value() assert prop.nodeid != prop_t.nodeid -def test_variable_with_datatype(opc): - v1 = opc.nodes.objects.add_variable(3, 'VariableEnumType1', ua.ApplicationType.ClientAndServer, - datatype=ua.NodeId(ua.ObjectIds.ApplicationType)) - tp1 = v1.get_data_type() + +async def test_variable_with_datatype(opc): + v1 = await opc.nodes.objects.add_variable( + 3, 'VariableEnumType1', ua.ApplicationType.ClientAndServer, datatype=ua.NodeId(ua.ObjectIds.ApplicationType) + ) + tp1 = await v1.get_data_type() assert tp1 == ua.NodeId(ua.ObjectIds.ApplicationType) - v2 = opc.nodes.objects.add_variable(3, 'VariableEnumType2', ua.ApplicationType.ClientAndServer, - datatype=ua.NodeId(ua.ObjectIds.ApplicationType)) - tp2 = v2.get_data_type() + v2 = await opc.nodes.objects.add_variable( + 3, 'VariableEnumType2', ua.ApplicationType.ClientAndServer, datatype=ua.NodeId(ua.ObjectIds.ApplicationType) + ) + tp2 = await v2.get_data_type() assert tp2 == ua.NodeId(ua.ObjectIds.ApplicationType) -def test_enum(opc): + +async def test_enum(opc): # create enum type - enums = opc.get_root_node().get_child(["0:Types", "0:DataTypes", "0:BaseDataType", "0:Enumeration"]) - myenum_type = enums.add_data_type(0, "MyEnum") - es = myenum_type.add_variable(0, "EnumStrings", - [ua.LocalizedText("String0"), ua.LocalizedText("String1"), - ua.LocalizedText("String2")], - ua.VariantType.LocalizedText) + enums = await opc.get_root_node().get_child(["0:Types", "0:DataTypes", "0:BaseDataType", "0:Enumeration"]) + myenum_type = await enums.add_data_type(0, "MyEnum") + es = await myenum_type.add_variable( + 0, "EnumStrings", [ua.LocalizedText("String0"), ua.LocalizedText("String1"), ua.LocalizedText("String2")], + ua.VariantType.LocalizedText + ) # es.set_value_rank(1) # instantiate o = opc.get_objects_node() - myvar = o.add_variable(2, "MyEnumVar", ua.LocalizedText("String1"), datatype=myenum_type.nodeid) + myvar = await o.add_variable(2, "MyEnumVar", ua.LocalizedText("String1"), datatype=myenum_type.nodeid) # myvar.set_writable(True) # tests - assert myenum_type.nodeid == myvar.get_data_type() - myvar.set_value(ua.LocalizedText("String2")) + assert myenum_type.nodeid == await myvar.get_data_type() + await myvar.set_value(ua.LocalizedText("String2")) -def test_supertypes(opc): + +async def test_supertypes(opc): nint32 = opc.get_node(ua.ObjectIds.Int32) - node = ua_utils.get_node_supertype(nint32) + node = await ua_utils.get_node_supertype(nint32) assert opc.get_node(ua.ObjectIds.Integer) == node - nodes = ua_utils.get_node_supertypes(nint32) + nodes = await ua_utils.get_node_supertypes(nint32) assert opc.get_node(ua.ObjectIds.Number) == nodes[1] assert opc.get_node(ua.ObjectIds.Integer) == nodes[0] # test custom - dtype = nint32.add_data_type(0, "MyCustomDataType") - node = ua_utils.get_node_supertype(dtype) + dtype = await nint32.add_data_type(0, "MyCustomDataType") + node = await ua_utils.get_node_supertype(dtype) assert nint32 == node - dtype2 = dtype.add_data_type(0, "MyCustomDataType2") - node = ua_utils.get_node_supertype(dtype2) + dtype2 = await dtype.add_data_type(0, "MyCustomDataType2") + node = await ua_utils.get_node_supertype(dtype2) assert dtype == node -def test_base_data_type(opc): + +async def test_base_data_type(opc): nint32 = opc.get_node(ua.ObjectIds.Int32) - dtype = nint32.add_data_type(0, "MyCustomDataType") - dtype2 = dtype.add_data_type(0, "MyCustomDataType2") - assert nint32 == ua_utils.get_base_data_type(dtype) - assert nint32 == ua_utils.get_base_data_type(dtype2) + dtype = await nint32.add_data_type(0, "MyCustomDataType") + dtype2 = await dtype.add_data_type(0, "MyCustomDataType2") + assert nint32 == await ua_utils.get_base_data_type(dtype) + assert nint32 == await ua_utils.get_base_data_type(dtype2) - ext = opc.nodes.objects.add_variable(0, "MyExtensionObject", ua.Argument()) - d = ext.get_data_type() + ext = await opc.nodes.objects.add_variable(0, "MyExtensionObject", ua.Argument()) + d = await ext.get_data_type() d = opc.get_node(d) - assert opc.get_node(ua.ObjectIds.Structure) == ua_utils.get_base_data_type(d) - assert ua.VariantType.ExtensionObject == ua_utils.data_type_to_variant_type(d) + assert opc.get_node(ua.ObjectIds.Structure) == await ua_utils.get_base_data_type(d) + assert ua.VariantType.ExtensionObject == await ua_utils.data_type_to_variant_type(d) + -def test_data_type_to_variant_type(opc): +async def test_data_type_to_variant_type(opc): test_data = { ua.ObjectIds.Boolean: ua.VariantType.Boolean, ua.ObjectIds.Byte: ua.VariantType.Byte, @@ -888,4 +955,4 @@ def test_data_type_to_variant_type(opc): ua.ObjectIds.AxisScaleEnumeration: ua.VariantType.Int32 # enumeration } for dt, vdt in test_data.items(): - assert vdt == ua_utils.data_type_to_variant_type(opc.get_node(ua.NodeId(dt))) + assert vdt == await ua_utils.data_type_to_variant_type(opc.get_node(ua.NodeId(dt))) diff --git a/tests/tests_crypto_connect.py b/tests/tests_crypto_connect.py index 89ee87f3b..f3179216f 100644 --- a/tests/tests_crypto_connect.py +++ b/tests/tests_crypto_connect.py @@ -1,4 +1,4 @@ -import unittest +import pytest from opcua import Client from opcua import Server @@ -13,10 +13,110 @@ else: disable_crypto_tests = False +pytestmark = pytest.mark.asyncio port_num1 = 48515 port_num2 = 48512 - +uri_crypto = 'opc.tcp://127.0.0.1:{0:d}'.format(port_num1) +uri_no_crypto = 'opc.tcp://127.0.0.1:{0:d}'.format(port_num2) + + +@pytest.fixture() +async def srv_crypto(): + # start our own server + srv = Server() + await srv.init() + srv.set_endpoint(uri_crypto) + await srv.load_certificate("examples/certificate-example.der") + await srv.load_private_key("examples/private-key-example.pem") + await srv.start() + yield srv + # stop the server + await srv.stop() + + +@pytest.fixture() +async def srv_no_crypto(): + # start our own server + srv = Server() + await srv.init() + srv.set_endpoint(uri_no_crypto) + await srv.start() + yield srv + # stop the server + await srv.stop() + + +async def test_nocrypto(srv_no_crypto): + clt = Client(uri_no_crypto) + async with clt: + await clt.get_objects_node().get_children() + + +async def test_nocrypto_fail(): + clt = Client(uri_no_crypto) + with pytest.raises(ua.UaError): + await clt.set_security_string("Basic256,Sign,examples/certificate-example.der,examples/private-key-example.pem") + + +async def test_basic256(srv_crypto): + clt = Client(uri_crypto) + await clt.set_security_string("Basic256,Sign,examples/certificate-example.der,examples/private-key-example.pem") + async with clt: + assert await clt.get_objects_node().get_children() + + +async def test_basic256_encrypt(): + clt = Client(uri_crypto) + await clt.set_security_string( + "Basic256,SignAndEncrypt,examples/certificate-example.der,examples/private-key-example.pem") + async with clt: + assert await clt.get_objects_node().get_children() + + +async def test_basic128Rsa15(): + clt = Client(uri_crypto) + await clt.set_security_string("Basic128Rsa15,Sign,examples/certificate-example.der,examples/private-key-example.pem") + async with clt: + assert await clt.get_objects_node().get_children() + + +async def test_basic128Rsa15_encrypt(): + clt = Client(uri_crypto) + await clt.set_security_string( + "Basic128Rsa15,SignAndEncrypt,examples/certificate-example.der,examples/private-key-example.pem" + ) + async with clt: + assert await clt.get_objects_node().get_children() + + +async def test_basic256_encrypt_success(): + clt = Client(uri_crypto) + await clt.set_security( + security_policies.SecurityPolicyBasic256, + 'examples/certificate-example.der', + 'examples/private-key-example.pem', + None, + ua.MessageSecurityMode.SignAndEncrypt + ) + async with clt: + assert await clt.get_objects_node().get_children() + + +async def test_basic256_encrypt_feil(): + # FIXME: how to make it feil??? + clt = Client(uri_crypto) + with pytest.raises(ua.UaError): + await clt.set_security( + security_policies.SecurityPolicyBasic256, + 'examples/certificate-example.der', + 'examples/private-key-example.pem', + None, + ua.MessageSecurityMode.None_ + ) + + +""" @unittest.skipIf(disable_crypto_tests, "crypto not available") class TestCryptoConnect(unittest.TestCase): @@ -48,27 +148,6 @@ def tearDownClass(cls): cls.srv_no_crypto.stop() cls.srv_crypto.stop() - def test_nocrypto(self): - clt = Client(self.uri_no_crypto) - clt.connect() - try: - clt.get_objects_node().get_children() - finally: - clt.disconnect() - - def test_nocrypto_feil(self): - clt = Client(self.uri_no_crypto) - with self.assertRaises(ua.UaError): - clt.set_security_string("Basic256,Sign,examples/certificate-example.der,examples/private-key-example.pem") - - def test_basic256(self): - clt = Client(self.uri_crypto) - try: - clt.set_security_string("Basic256,Sign,examples/certificate-example.der,examples/private-key-example.pem") - clt.connect() - self.assertTrue(clt.get_objects_node().get_children()) - finally: - clt.disconnect() def test_basic256_encrypt(self): clt = Client(self.uri_crypto) @@ -121,3 +200,4 @@ def test_basic256_encrypt_feil(self): None, ua.MessageSecurityMode.None_ ) +""" diff --git a/tests/tests_enum_struct.py b/tests/util_enum_struct.py similarity index 100% rename from tests/tests_enum_struct.py rename to tests/util_enum_struct.py From 7faafe656b449be156ac685831de0805efa053d0 Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Tue, 31 Jul 2018 19:01:59 +0200 Subject: [PATCH 099/113] refactored tests and server-events example --- examples/client-minimal-auth.py | 2 +- examples/client-minimal.py | 2 +- examples/server-events.py | 90 ++-- opcua/common/connection.py | 4 +- opcua/server/internal_subscription.py | 87 ++-- opcua/server/subscription_service.py | 103 ++-- tests/test_crypto_connect.py | 117 +++++ tests/test_server.py | 2 +- tests/test_uaerrors.py | 32 ++ tests/test_unit.py | 666 ++++++++++++++++++++++++++ tests/tests_crypto_connect.py | 203 -------- tests/tests_history.py | 7 +- tests/tests_standard_address_space.py | 35 +- tests/tests_uaerrors.py | 26 - tests/tests_unit.py | 649 ------------------------- 15 files changed, 974 insertions(+), 1051 deletions(-) create mode 100644 tests/test_crypto_connect.py create mode 100644 tests/test_uaerrors.py create mode 100644 tests/test_unit.py delete mode 100644 tests/tests_crypto_connect.py delete mode 100644 tests/tests_uaerrors.py delete mode 100755 tests/tests_unit.py diff --git a/examples/client-minimal-auth.py b/examples/client-minimal-auth.py index 28a06ce7d..9a25fca4d 100644 --- a/examples/client-minimal-auth.py +++ b/examples/client-minimal-auth.py @@ -35,7 +35,7 @@ async def browse_nodes(node: Node): async def task(loop): - url = "opc.tcp://192.168.2.213:4840" + url = "opc.tcp://192.168.2.64:4840" # url = "opc.tcp://localhost:4840/freeopcua/server/" try: client = Client(url=url) diff --git a/examples/client-minimal.py b/examples/client-minimal.py index 466e2a265..5a51ad21e 100644 --- a/examples/client-minimal.py +++ b/examples/client-minimal.py @@ -35,7 +35,7 @@ async def browse_nodes(node: Node): async def task(loop): - url = 'opc.tcp://192.168.2.213:4840' + url = 'opc.tcp://192.168.2.64:4840' # url = 'opc.tcp://localhost:4840/freeopcua/server/' # url = 'opc.tcp://commsvr.com:51234/UA/CAS_UA_Server' try: diff --git a/examples/server-events.py b/examples/server-events.py index 56d59e720..bf8b33a70 100644 --- a/examples/server-events.py +++ b/examples/server-events.py @@ -1,71 +1,57 @@ -import sys -sys.path.insert(0, "..") +import asyncio import logging +from opcua import ua, Server, EventGenerator -try: - from IPython import embed -except ImportError: - import code +logging.basicConfig(level=logging.INFO) +_logger = logging.getLogger('opcua') - def embed(): - vars = globals() - vars.update(locals()) - shell = code.InteractiveConsole(vars) - shell.interact() -from opcua import ua, Server - - -if __name__ == "__main__": - logging.basicConfig(level=logging.WARN) - logger = logging.getLogger("opcua.server.internal_subscription") - logger.setLevel(logging.DEBUG) - - # setup our server +async def start_server(loop: asyncio.AbstractEventLoop): server = Server() + await server.init() server.set_endpoint("opc.tcp://0.0.0.0:4840/freeopcua/server/") - # setup our own namespace, not really necessary but should as spec uri = "http://examples.freeopcua.github.io" - idx = server.register_namespace(uri) - + idx = await server.register_namespace(uri) # get Objects node, this is where we should put our custom stuff objects = server.get_objects_node() - # populating our address space - myobj = objects.add_object(idx, "MyObject") - + myobj = await objects.add_object(idx, "MyObject") # Creating a custom event: Approach 1 # The custom event object automatically will have members from its parent (BaseEventType) - etype = server.create_custom_event_type(idx, 'MyFirstEvent', ua.ObjectIds.BaseEventType, [('MyNumericProperty', ua.VariantType.Float), ('MyStringProperty', ua.VariantType.String)]) + etype = await server.create_custom_event_type( + idx, 'MyFirstEvent', ua.ObjectIds.BaseEventType, + [('MyNumericProperty', ua.VariantType.Float), + ('MyStringProperty', ua.VariantType.String)] + ) + myevgen = await server.get_event_generator(etype, myobj) + # Creating a custom event: Approach 2 + custom_etype = await server.nodes.base_event_type.add_object_type(2, 'MySecondEvent') + await custom_etype.add_property(2, 'MyIntProperty', ua.Variant(0, ua.VariantType.Int32)) + await custom_etype.add_property(2, 'MyBoolProperty', ua.Variant(True, ua.VariantType.Boolean)) + mysecondevgen = await server.get_event_generator(custom_etype, myobj) + await server.start() + loop.call_later(2, emmit_event, loop, myevgen, mysecondevgen, 1) - myevgen = server.get_event_generator(etype, myobj) - # Creating a custom event: Approach 2 - custom_etype = server.nodes.base_event_type.add_object_type(2, 'MySecondEvent') - custom_etype.add_property(2, 'MyIntProperty', ua.Variant(0, ua.VariantType.Int32)) - custom_etype.add_property(2, 'MyBoolProperty', ua.Variant(True, ua.VariantType.Boolean)) +def emmit_event(loop: asyncio.AbstractEventLoop, myevgen: EventGenerator, mysecondevgen: EventGenerator, count: int): + myevgen.event.Message = ua.LocalizedText("MyFirstEvent %d" % count) + myevgen.event.Severity = count + myevgen.event.MyNumericProperty = count + myevgen.event.MyStringProperty = "Property %d" % count + myevgen.trigger() + mysecondevgen.trigger(message="MySecondEvent %d" % count) + count += 1 + loop.call_later(2, emmit_event, loop, myevgen, mysecondevgen, count) - mysecondevgen = server.get_event_generator(custom_etype, myobj) - # starting! - server.start() +def main(): + loop = asyncio.get_event_loop() + loop.set_debug(True) + loop.create_task(start_server(loop)) + loop.run_forever() + loop.close() - try: - # time.sleep is here just because we want to see events in UaExpert - import time - count = 0 - while True: - time.sleep(5) - myevgen.event.Message = ua.LocalizedText("MyFirstEvent %d" % count) - myevgen.event.Severity = count - myevgen.event.MyNumericProperty = count - myevgen.event.MyStringProperty = "Property " + str(count) - myevgen.trigger() - mysecondevgen.trigger(message="MySecondEvent %d" % count) - count += 1 - embed() - finally: - # close connection, remove subcsriptions, etc - server.stop() +if __name__ == "__main__": + main() diff --git a/opcua/common/connection.py b/opcua/common/connection.py index 75213cfb8..7848996bd 100644 --- a/opcua/common/connection.py +++ b/opcua/common/connection.py @@ -27,8 +27,8 @@ def __init__(self, security_policy, body=b'', msg_type=ua.MessageType.SecureMess self.security_policy = security_policy @staticmethod - async def from_binary(security_policy, data): - h = await header_from_binary(data) + def from_binary(security_policy, data): + h = header_from_binary(data) return MessageChunk.from_header_and_body(security_policy, h, data) @staticmethod diff --git a/opcua/server/internal_subscription.py b/opcua/server/internal_subscription.py index 96620632b..e0a8a72fd 100644 --- a/opcua/server/internal_subscription.py +++ b/opcua/server/internal_subscription.py @@ -50,7 +50,6 @@ def __init__(self, isub, aspace): self.logger = logging.getLogger(__name__ + "." + str(isub.data.SubscriptionId)) self.isub = isub self.aspace = aspace - self._lock = RLock() self._monitored_items = {} self._monitored_events = {} self._monitored_datachange = {} @@ -62,11 +61,11 @@ def delete_all_monitored_items(self): def create_monitored_items(self, params): results = [] for item in params.ItemsToCreate: - with self._lock: - if item.ItemToMonitor.AttributeId == ua.AttributeIds.EventNotifier: - result = self._create_events_monitored_item(item) - else: - result = self._create_data_change_monitored_item(item) + #with self._lock: + if item.ItemToMonitor.AttributeId == ua.AttributeIds.EventNotifier: + result = self._create_events_monitored_item(item) + else: + result = self._create_data_change_monitored_item(item) results.append(result) return results @@ -82,19 +81,19 @@ def trigger_datachange(self, handle, nodeid, attr): self.datachange_callback(handle, variant) def _modify_monitored_item(self, params): - with self._lock: - for mdata in self._monitored_items.values(): - result = ua.MonitoredItemModifyResult() - if mdata.monitored_item_id == params.MonitoredItemId: - result.RevisedSamplingInterval = params.RequestedParameters.SamplingInterval - result.RevisedQueueSize = params.RequestedParameters.QueueSize - if params.RequestedParameters.Filter is not None: - mdata.filter = params.RequestedParameters.Filter - mdata.queue_size = params.RequestedParameters.QueueSize - return result + #with self._lock: + for mdata in self._monitored_items.values(): result = ua.MonitoredItemModifyResult() - result.StatusCode(ua.StatusCodes.BadMonitoredItemIdInvalid) - return result + if mdata.monitored_item_id == params.MonitoredItemId: + result.RevisedSamplingInterval = params.RequestedParameters.SamplingInterval + result.RevisedQueueSize = params.RequestedParameters.QueueSize + if params.RequestedParameters.Filter is not None: + mdata.filter = params.RequestedParameters.Filter + mdata.queue_size = params.RequestedParameters.QueueSize + return result + result = ua.MonitoredItemModifyResult() + result.StatusCode(ua.StatusCodes.BadMonitoredItemIdInvalid) + return result def _commit_monitored_item(self, result, mdata): if result.StatusCode.is_good(): @@ -159,11 +158,11 @@ def _create_data_change_monitored_item(self, params): def delete_monitored_items(self, ids): self.logger.debug("delete monitored items %s", ids) - with self._lock: - results = [] - for mid in ids: - results.append(self._delete_monitored_items(mid)) - return results + #with self._lock: + results = [] + for mid in ids: + results.append(self._delete_monitored_items(mid)) + return results def _delete_monitored_items(self, mid): if mid not in self._monitored_items: @@ -191,18 +190,18 @@ def datachange_callback(self, handle, value, error=None): self.logger.info("subscription %s: datachange callback called with handle '%s' and value '%s'", self, handle, value.Value) event = ua.MonitoredItemNotification() - with self._lock: - mid = self._monitored_datachange[handle] - mdata = self._monitored_items[mid] - mdata.mvalue.set_current_value(value.Value.Value) - if mdata.filter: - deadband_flag_pass = self.deadband_callback(mdata.mvalue, mdata.filter) - else: - deadband_flag_pass = True - if deadband_flag_pass: - event.ClientHandle = mdata.client_handle - event.Value = value - self.isub.enqueue_datachange_event(mid, event, mdata.queue_size) + #with self._lock: + mid = self._monitored_datachange[handle] + mdata = self._monitored_items[mid] + mdata.mvalue.set_current_value(value.Value.Value) + if mdata.filter: + deadband_flag_pass = self.deadband_callback(mdata.mvalue, mdata.filter) + else: + deadband_flag_pass = True + if deadband_flag_pass: + event.ClientHandle = mdata.client_handle + event.Value = value + self.isub.enqueue_datachange_event(mid, event, mdata.queue_size) def deadband_callback(self, values, flt): if flt.DeadbandType == ua.DeadbandType.None_ or values.get_old_value() is None: @@ -217,16 +216,16 @@ def deadband_callback(self, values, flt): return False def trigger_event(self, event): - with self._lock: - if event.SourceNode not in self._monitored_events: - self.logger.debug("%s has no subscription for events %s from node: %s", - self, event, event.SourceNode) - return False - self.logger.debug("%s has subscription for events %s from node: %s", + #with self._lock: + if event.SourceNode not in self._monitored_events: + self.logger.debug("%s has no subscription for events %s from node: %s", self, event, event.SourceNode) - mids = self._monitored_events[event.SourceNode] - for mid in mids: - self._trigger_event(event, mid) + return False + self.logger.debug("%s has subscription for events %s from node: %s", + self, event, event.SourceNode) + mids = self._monitored_events[event.SourceNode] + for mid in mids: + self._trigger_event(event, mid) def _trigger_event(self, event, mid): if mid not in self._monitored_items: diff --git a/opcua/server/subscription_service.py b/opcua/server/subscription_service.py index 29b41054c..6d3e80d0c 100644 --- a/opcua/server/subscription_service.py +++ b/opcua/server/subscription_service.py @@ -17,7 +17,6 @@ def __init__(self, loop, aspace): self.aspace = aspace self.subscriptions = {} self._sub_id_counter = 77 - self._lock = RLock() def create_subscription(self, params, callback): self.logger.info("create subscription with callback: %s", callback) @@ -25,78 +24,78 @@ def create_subscription(self, params, callback): result.RevisedPublishingInterval = params.RequestedPublishingInterval result.RevisedLifetimeCount = params.RequestedLifetimeCount result.RevisedMaxKeepAliveCount = params.RequestedMaxKeepAliveCount - with self._lock: - self._sub_id_counter += 1 - result.SubscriptionId = self._sub_id_counter + #with self._lock: + self._sub_id_counter += 1 + result.SubscriptionId = self._sub_id_counter - sub = InternalSubscription(self, result, self.aspace, callback) - sub.start() - self.subscriptions[result.SubscriptionId] = sub + sub = InternalSubscription(self, result, self.aspace, callback) + sub.start() + self.subscriptions[result.SubscriptionId] = sub - return result + return result def delete_subscriptions(self, ids): self.logger.info("delete subscriptions: %s", ids) res = [] for i in ids: - with self._lock: - if i not in self.subscriptions: - res.append(ua.StatusCode(ua.StatusCodes.BadSubscriptionIdInvalid)) - else: - sub = self.subscriptions.pop(i) - sub.stop() - res.append(ua.StatusCode()) + #with self._lock: + if i not in self.subscriptions: + res.append(ua.StatusCode(ua.StatusCodes.BadSubscriptionIdInvalid)) + else: + sub = self.subscriptions.pop(i) + sub.stop() + res.append(ua.StatusCode()) return res def publish(self, acks): self.logger.info("publish request with acks %s", acks) - with self._lock: - for subid, sub in self.subscriptions.items(): - sub.publish([ack.SequenceNumber for ack in acks if ack.SubscriptionId == subid]) + #with self._lock: + for subid, sub in self.subscriptions.items(): + sub.publish([ack.SequenceNumber for ack in acks if ack.SubscriptionId == subid]) def create_monitored_items(self, params): self.logger.info("create monitored items") - with self._lock: - if params.SubscriptionId not in self.subscriptions: - res = [] - for _ in params.ItemsToCreate: - response = ua.MonitoredItemCreateResult() - response.StatusCode = ua.StatusCode(ua.StatusCodes.BadSubscriptionIdInvalid) - res.append(response) - return res - return self.subscriptions[params.SubscriptionId].monitored_item_srv.create_monitored_items(params) + #with self._lock: + if params.SubscriptionId not in self.subscriptions: + res = [] + for _ in params.ItemsToCreate: + response = ua.MonitoredItemCreateResult() + response.StatusCode = ua.StatusCode(ua.StatusCodes.BadSubscriptionIdInvalid) + res.append(response) + return res + return self.subscriptions[params.SubscriptionId].monitored_item_srv.create_monitored_items(params) def modify_monitored_items(self, params): self.logger.info("modify monitored items") - with self._lock: - if params.SubscriptionId not in self.subscriptions: - res = [] - for _ in params.ItemsToModify: - result = ua.MonitoredItemModifyResult() - result.StatusCode = ua.StatusCode(ua.StatusCodes.BadSubscriptionIdInvalid) - res.append(result) - return res - return self.subscriptions[params.SubscriptionId].monitored_item_srv.modify_monitored_items(params) + #with self._lock: + if params.SubscriptionId not in self.subscriptions: + res = [] + for _ in params.ItemsToModify: + result = ua.MonitoredItemModifyResult() + result.StatusCode = ua.StatusCode(ua.StatusCodes.BadSubscriptionIdInvalid) + res.append(result) + return res + return self.subscriptions[params.SubscriptionId].monitored_item_srv.modify_monitored_items(params) def delete_monitored_items(self, params): self.logger.info("delete monitored items") - with self._lock: - if params.SubscriptionId not in self.subscriptions: - res = [] - for _ in params.MonitoredItemIds: - res.append(ua.StatusCode(ua.StatusCodes.BadSubscriptionIdInvalid)) - return res - return self.subscriptions[params.SubscriptionId].monitored_item_srv.delete_monitored_items( - params.MonitoredItemIds) + #with self._lock: + if params.SubscriptionId not in self.subscriptions: + res = [] + for _ in params.MonitoredItemIds: + res.append(ua.StatusCode(ua.StatusCodes.BadSubscriptionIdInvalid)) + return res + return self.subscriptions[params.SubscriptionId].monitored_item_srv.delete_monitored_items( + params.MonitoredItemIds) def republish(self, params): - with self._lock: - if params.SubscriptionId not in self.subscriptions: - # TODO: what should I do? - return ua.NotificationMessage() - return self.subscriptions[params.SubscriptionId].republish(params.RetransmitSequenceNumber) + #with self._lock: + if params.SubscriptionId not in self.subscriptions: + # TODO: what should I do? + return ua.NotificationMessage() + return self.subscriptions[params.SubscriptionId].republish(params.RetransmitSequenceNumber) def trigger_event(self, event): - with self._lock: - for sub in self.subscriptions.values(): - sub.monitored_item_srv.trigger_event(event) + #with self._lock: + for sub in self.subscriptions.values(): + sub.monitored_item_srv.trigger_event(event) diff --git a/tests/test_crypto_connect.py b/tests/test_crypto_connect.py new file mode 100644 index 000000000..48568022f --- /dev/null +++ b/tests/test_crypto_connect.py @@ -0,0 +1,117 @@ +import os +import pytest +from opcua import Client +from opcua import Server +from opcua import ua + +try: + from opcua.crypto import uacrypto + from opcua.crypto import security_policies +except ImportError: + print("WARNING: CRYPTO NOT AVAILABLE, CRYPTO TESTS DISABLED!!") + disable_crypto_tests = True +else: + disable_crypto_tests = False + +pytestmark = pytest.mark.asyncio + +port_num1 = 48515 +port_num2 = 48512 +uri_crypto = "opc.tcp://127.0.0.1:{0:d}".format(port_num1) +uri_no_crypto = "opc.tcp://127.0.0.1:{0:d}".format(port_num2) +BASE_DIR = os.path.dirname(os.path.dirname(__file__)) +EXAMPLE_PATH = os.path.join(BASE_DIR, "examples") + os.sep + +@pytest.fixture() +async def srv_crypto(): + # start our own server + srv = Server() + await srv.init() + srv.set_endpoint(uri_crypto) + await srv.load_certificate(f"{EXAMPLE_PATH}certificate-example.der") + await srv.load_private_key(f"{EXAMPLE_PATH}private-key-example.pem") + await srv.start() + yield srv + # stop the server + await srv.stop() + + +@pytest.fixture() +async def srv_no_crypto(): + # start our own server + srv = Server() + await srv.init() + srv.set_endpoint(uri_no_crypto) + await srv.start() + yield srv + # stop the server + await srv.stop() + + +async def test_nocrypto(srv_no_crypto): + clt = Client(uri_no_crypto) + async with clt: + await clt.get_objects_node().get_children() + + +async def test_nocrypto_fail(srv_no_crypto): + clt = Client(uri_no_crypto) + with pytest.raises(ua.UaError): + await clt.set_security_string(f"Basic256,Sign,{EXAMPLE_PATH}certificate-example.der,{EXAMPLE_PATH}private-key-example.pem") + + +async def test_basic256(srv_crypto): + clt = Client(uri_crypto) + await clt.set_security_string(f"Basic256,Sign,{EXAMPLE_PATH}certificate-example.der,{EXAMPLE_PATH}private-key-example.pem") + async with clt: + assert await clt.get_objects_node().get_children() + + +async def test_basic256_encrypt(srv_crypto): + clt = Client(uri_crypto) + await clt.set_security_string( + f"Basic256,SignAndEncrypt,{EXAMPLE_PATH}certificate-example.der,{EXAMPLE_PATH}private-key-example.pem") + async with clt: + assert await clt.get_objects_node().get_children() + + +async def test_basic128Rsa15(srv_crypto): + clt = Client(uri_crypto) + await clt.set_security_string(f"Basic128Rsa15,Sign,{EXAMPLE_PATH}certificate-example.der,{EXAMPLE_PATH}private-key-example.pem") + async with clt: + assert await clt.get_objects_node().get_children() + + +async def test_basic128Rsa15_encrypt(srv_crypto): + clt = Client(uri_crypto) + await clt.set_security_string( + f"Basic128Rsa15,SignAndEncrypt,{EXAMPLE_PATH}certificate-example.der,{EXAMPLE_PATH}private-key-example.pem" + ) + async with clt: + assert await clt.get_objects_node().get_children() + + +async def test_basic256_encrypt_success(srv_crypto): + clt = Client(uri_crypto) + await clt.set_security( + security_policies.SecurityPolicyBasic256, + f"{EXAMPLE_PATH}certificate-example.der", + f"{EXAMPLE_PATH}private-key-example.pem", + None, + ua.MessageSecurityMode.SignAndEncrypt + ) + async with clt: + assert await clt.get_objects_node().get_children() + + +async def test_basic256_encrypt_fail(srv_crypto): + # FIXME: how to make it fail??? + clt = Client(uri_crypto) + with pytest.raises(ua.UaError): + await clt.set_security( + security_policies.SecurityPolicyBasic256, + f"{EXAMPLE_PATH}certificate-example.der", + f"{EXAMPLE_PATH}private-key-example.pem", + None, + ua.MessageSecurityMode.None_ + ) diff --git a/tests/test_server.py b/tests/test_server.py index 7dfb67237..7b2a36b21 100644 --- a/tests/test_server.py +++ b/tests/test_server.py @@ -131,7 +131,7 @@ def func(parent, variant): o = server.get_objects_node() v = await o.add_method(3, 'Method1', func, [ua.VariantType.Int64], [ua.VariantType.Int64]) - result = o.call_method(v, ua.Variant(2.1)) + result = await o.call_method(v, ua.Variant(2.1)) assert result == 4.2 diff --git a/tests/test_uaerrors.py b/tests/test_uaerrors.py new file mode 100644 index 000000000..88f7839a2 --- /dev/null +++ b/tests/test_uaerrors.py @@ -0,0 +1,32 @@ +import pytest +import opcua.ua.uaerrors as uaerrors +from opcua.ua.uaerrors import UaStatusCodeError + +status_code_bad_internal = 0x80020000 +status_code_unknown = "Definitely Not A Status Code" + + +@pytest.fixture() +def errors(): + return { + "direct": uaerrors.BadInternalError(), + "indirect": UaStatusCodeError(status_code_bad_internal), + "unknown": UaStatusCodeError(status_code_unknown), + } + + +def test_subclass_selection(errors): + assert type(errors["direct"]) is uaerrors.BadInternalError + assert type(errors["indirect"]) is uaerrors.BadInternalError + assert type(errors["unknown"]) is UaStatusCodeError + + +def test_code(errors): + assert errors["direct"].code == status_code_bad_internal + assert errors["indirect"].code == status_code_bad_internal + assert errors["unknown"].code == status_code_unknown + + +def test_string_repr(errors): + assert "BadInternal" in str(errors["direct"]) + assert "BadInternal" in str(errors["indirect"]) diff --git a/tests/test_unit.py b/tests/test_unit.py new file mode 100644 index 000000000..b0f242db8 --- /dev/null +++ b/tests/test_unit.py @@ -0,0 +1,666 @@ +# encoding: utf-8 +# ! /usr/bin/env python +""" +Simple unit test that do not need to setup a server or a client +""" +import logging +import io +from datetime import datetime +import pytest +import uuid + +from opcua import ua +from opcua.ua.ua_binary import extensionobject_from_binary +from opcua.ua.ua_binary import extensionobject_to_binary +from opcua.ua.ua_binary import nodeid_to_binary, variant_to_binary, _reshape, variant_from_binary, nodeid_from_binary +from opcua.ua.ua_binary import struct_to_binary, struct_from_binary +from opcua.ua import flatten, get_shape +from opcua.server.internal_subscription import WhereClauseEvaluator +from opcua.common.event_objects import BaseEvent +from opcua.common.ua_utils import string_to_variant, variant_to_string, string_to_val, val_to_string +from opcua.common.xmlimporter import XmlImporter +from opcua.ua.uatypes import _MaskEnum +from opcua.common.structures import StructGenerator +from opcua.common.connection import MessageChunk + + +def test_variant_array_none(): + v = ua.Variant(None, varianttype=ua.VariantType.Int32, is_array=True) + data = variant_to_binary(v) + v2 = variant_from_binary(ua.utils.Buffer(data)) + assert v == v2 + assert v2.is_array + + v = ua.Variant(None, varianttype=ua.VariantType.Null, is_array=True) + data = variant_to_binary(v) + v2 = variant_from_binary(ua.utils.Buffer(data)) + assert v == v2 + assert v2.is_array + + +def test_variant_empty_list(): + v = ua.Variant([], varianttype=ua.VariantType.Int32, is_array=True) + data = variant_to_binary(v) + v2 = variant_from_binary(ua.utils.Buffer(data)) + assert v == v2 + assert v2.is_array + + +def test_structs_save_and_import(): + xmlpath = "tests/example.bsd" + c = StructGenerator() + c.make_model_from_file(xmlpath) + struct_dict = c.save_and_import("structures.py") + for k, v in struct_dict.items(): + a = v() + assert k == a.__class__.__name__ + + +def test_custom_structs(): + xmlpath = "tests/example.bsd" + c = StructGenerator() + c.make_model_from_file(xmlpath) + c.save_to_file("tests/structures.py") + import structures as s + + # test with default values + v = s.ScalarValueDataType() + data = struct_to_binary(v) + v2 = struct_from_binary(s.ScalarValueDataType, ua.utils.Buffer(data)) + + # set some values + v = s.ScalarValueDataType() + v.SbyteValue = 1 + v.ByteValue = 2 + v.Int16Value = 3 + v.UInt16Value = 4 + v.Int32Value = 5 + v.UInt32Value = 6 + v.Int64Value = 7 + v.UInt64Value = 8 + v.FloatValue = 9.0 + v.DoubleValue = 10.0 + v.StringValue = "elleven" + v.DateTimeValue = datetime.utcnow() + # self.GuidValue = uuid.uudib"14" + v.ByteStringValue = b"fifteen" + v.XmlElementValue = ua.XmlElement("titi") + v.NodeIdValue = ua.NodeId.from_string("ns=4;i=9999") + # self.ExpandedNodeIdValue = + # self.QualifiedNameValue = + # self.LocalizedTextValue = + # self.StatusCodeValue = + # self.VariantValue = + # self.EnumerationValue = + # self.StructureValue = + # self.Number = + # self.Integer = + # self.UInteger = + + data = struct_to_binary(v) + v2 = struct_from_binary(s.ScalarValueDataType, ua.utils.Buffer(data)) + assert v.NodeIdValue == v2.NodeIdValue + + +def test_custom_structs_array(): + xmlpath = "tests/example.bsd" + c = StructGenerator() + c.make_model_from_file(xmlpath) + c.save_to_file("tests/structures.py") + import structures as s + + # test with default values + v = s.ArrayValueDataType() + data = struct_to_binary(v) + v2 = struct_from_binary(s.ArrayValueDataType, ua.utils.Buffer(data)) + + # set some values + v = s.ArrayValueDataType() + v.SbyteValue = [1] + v.ByteValue = [2] + v.Int16Value = [3] + v.UInt16Value = [4] + v.Int32Value = [5] + v.UInt32Value = [6] + v.Int64Value = [7] + v.UInt64Value = [8] + v.FloatValue = [9.0] + v.DoubleValue = [10.0] + v.StringValue = ["elleven"] + v.DateTimeValue = [datetime.utcnow()] + # self.GuidValue = uuid.uudib"14" + v.ByteStringValue = [b"fifteen", b"sixteen"] + v.XmlElementValue = [ua.XmlElement("titi")] + v.NodeIdValue = [ua.NodeId.from_string("ns=4;i=9999"), ua.NodeId.from_string("i=6")] + # self.ExpandedNodeIdValue = + # self.QualifiedNameValue = + # self.LocalizedTextValue = + # self.StatusCodeValue = + # self.VariantValue = + # self.EnumerationValue = + # self.StructureValue = + # self.Number = + # self.Integer = + # self.UInteger = + + data = struct_to_binary(v) + v2 = struct_from_binary(s.ArrayValueDataType, ua.utils.Buffer(data)) + assert v.NodeIdValue == v2.NodeIdValue + # print(v2.NodeIdValue) + + +def test_nodeid_nsu(): + n = ua.NodeId(100, 2) + n.NamespaceUri = "http://freeopcua/tests" + n.ServerIndex = 4 + data = nodeid_to_binary(n) + n2 = nodeid_from_binary(ua.utils.Buffer(data)) + assert n == n2 + n3 = ua.NodeId.from_string(n.to_string()) + assert n == n3 + + +def test_nodeid_ordering(): + a = ua.NodeId(2000, 1) + b = ua.NodeId(3000, 1) + c = ua.NodeId(20, 0) + d = ua.NodeId("tititu", 1) + e = ua.NodeId("aaaaa", 1) + f = ua.NodeId("aaaaa", 2) + g = ua.NodeId(uuid.uuid4(), 1) + h = ua.TwoByteNodeId(2001) + i = ua.NodeId(b"lkjkl", 1, ua.NodeIdType.ByteString) + j = ua.NodeId(b"aaa", 5, ua.NodeIdType.ByteString) + + mylist = [a, b, c, d, e, f, g, h, i, j] + mylist.sort() + expected = [h, c, a, b, e, d, f, g, i, j] + assert mylist == expected + + +def test_string_to_variant_int(): + s_arr_uint = "[1, 2, 3, 4]" + arr_uint = [1, 2, 3, 4] + assert arr_uint == string_to_val(s_arr_uint, ua.VariantType.UInt32) + assert arr_uint == string_to_val(s_arr_uint, ua.VariantType.UInt16) + assert s_arr_uint == val_to_string(arr_uint) + + +def test_string_to_variant_float(): + s_arr_float = "[1.1, 2.1, 3, 4.0]" + arr_float = [1.1, 2.1, 3, 4.0] + s_float = "1.9" + assert 1.9 == string_to_val(s_float, ua.VariantType.Float) + assert s_arr_float == val_to_string(arr_float) + + +def test_string_to_variant_datetime_string(): + s_arr_datetime = "[2014-05-6, 2016-10-3]" + arr_string = ['2014-05-6', '2016-10-3'] + arr_datetime = [datetime(2014, 5, 6), datetime(2016, 10, 3)] + assert s_arr_datetime == val_to_string(arr_string) + assert arr_string == string_to_val(s_arr_datetime, ua.VariantType.String) + assert arr_datetime == string_to_val(s_arr_datetime, ua.VariantType.DateTime) + + +def test_string_to_variant_nodeid(): + s_arr_nodeid = "[ns=2;i=56, i=45]" + arr_nodeid = [ua.NodeId.from_string("ns=2;i=56"), ua.NodeId.from_string("i=45")] + assert arr_nodeid == string_to_val(s_arr_nodeid, ua.VariantType.NodeId) + + +def test_string_to_variant_status_code(): + s_statuscode = "Good" + statuscode = ua.StatusCode(ua.StatusCodes.Good) + s_statuscode2 = "Uncertain" + statuscode2 = ua.StatusCode(ua.StatusCodes.Uncertain) + assert statuscode == string_to_val(s_statuscode, ua.VariantType.StatusCode) + assert statuscode2 == string_to_val(s_statuscode2, ua.VariantType.StatusCode) + + +def test_string_to_variant_qname(): + string = "2:name" + obj = ua.QualifiedName("name", 2) + assert obj == string_to_val(string, ua.VariantType.QualifiedName) + assert string == val_to_string(obj) + + +def test_string_to_variant_localized_text(): + string = "_This is my string" + # string = "_This is my nøåæ"FIXME: does not work with python2 ?!?! + obj = ua.LocalizedText(string) + assert obj == string_to_val(string, ua.VariantType.LocalizedText) + assert string == val_to_string(obj) + + +def test_string_to_val_xml_element(): + string = "

titi toto

" + obj = ua.XmlElement(string) + assert obj == string_to_val(string, ua.VariantType.XmlElement) + assert string == val_to_string(obj) + b = struct_to_binary(obj) + obj2 = struct_from_binary(ua.XmlElement, ua.utils.Buffer(b)) + assert obj == obj2 + + +def test_variant_dimensions(): + l = [[[1.0, 1.0, 1.0, 1.0], [2.0, 2.0, 2.0, 2.0], [3.0, 3.0, 3.0, 3.0]], + [[5.0, 5.0, 5.0, 5.0], [7.0, 8.0, 9.0, 01.0], [1.0, 1.0, 1.0, 1.0]]] + v = ua.Variant(l) + assert [2, 3, 4] == v.Dimensions + v2 = variant_from_binary(ua.utils.Buffer(variant_to_binary(v))) + assert v == v2 + assert v.Dimensions == v2.Dimensions + + # very special case + l = [[[], [], []], [[], [], []]] + v = ua.Variant(l, ua.VariantType.UInt32) + assert [2, 3, 0] == v.Dimensions + v2 = variant_from_binary(ua.utils.Buffer(variant_to_binary(v))) + assert v.Dimensions == v2.Dimensions + assert v == v2 + + +def test_flatten(): + l = [[[1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0]], + [[1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0]]] + l2 = flatten(l) + dims = get_shape(l) + assert [2, 3, 4] == dims + assert l != l2 + + l3 = _reshape(l2, (2, 3, 4)) + assert l == l3 + + l = [[[], [], []], [[], [], []]] + l2 = flatten(l) + dims = get_shape(l) + assert dims == [2, 3, 0] + + l = [1, 2, 3, 4] + l2 = flatten(l) + dims = get_shape(l) + assert dims == [4] + assert l == l2 + + +def test_custom_variant(): + with pytest.raises(ua.UaError): + v = ua.Variant(b"ljsdfljds", ua.VariantTypeCustom(89)) + v = ua.Variant(b"ljsdfljds", ua.VariantTypeCustom(61)) + v2 = variant_from_binary(ua.utils.Buffer(variant_to_binary(v))) + assert v.VariantType == v2.VariantType + assert v == v2 + + +def test_custom_variant_array(): + v = ua.Variant([b"ljsdfljds", b"lkjsdljksdf"], ua.VariantTypeCustom(40)) + v2 = variant_from_binary(ua.utils.Buffer(variant_to_binary(v))) + assert v.VariantType == v2.VariantType + assert v == v2 + + +def test_guid(): + v = ua.Variant(uuid.uuid4(), ua.VariantType.Guid) + v2 = variant_from_binary(ua.utils.Buffer(variant_to_binary(v))) + assert v.VariantType == v2.VariantType + assert v == v2 + + +def test_nodeid(): + nid = ua.NodeId() + assert nid.NodeIdType == ua.NodeIdType.TwoByte + nid = ua.NodeId(446, 3, ua.NodeIdType.FourByte) + assert nid.NodeIdType == ua.NodeIdType.FourByte + d = nodeid_to_binary(nid) + new_nid = nodeid_from_binary(io.BytesIO(d)) + assert new_nid == nid + assert new_nid.NodeIdType == ua.NodeIdType.FourByte + assert new_nid.Identifier == 446 + assert new_nid.NamespaceIndex == 3 + + tb = ua.TwoByteNodeId(53) + fb = ua.FourByteNodeId(53) + n = ua.NumericNodeId(53) + n1 = ua.NumericNodeId(53, 0) + s1 = ua.StringNodeId("53", 0) + bs = ua.ByteStringNodeId(b"53", 0) + gid = uuid.uuid4() + g = ua.ByteStringNodeId(str(gid), 0) + guid = ua.GuidNodeId(gid) + assert tb == fb + assert tb == n + assert tb == n1 + assert n1 == fb + assert g != guid + assert tb == nodeid_from_binary(ua.utils.Buffer(nodeid_to_binary(tb))) + assert fb == nodeid_from_binary(ua.utils.Buffer(nodeid_to_binary(fb))) + assert n == nodeid_from_binary(ua.utils.Buffer(nodeid_to_binary(n))) + assert s1 == nodeid_from_binary(ua.utils.Buffer(nodeid_to_binary(s1))) + assert bs == nodeid_from_binary(ua.utils.Buffer(nodeid_to_binary(bs))) + assert guid == nodeid_from_binary(ua.utils.Buffer(nodeid_to_binary(guid))) + + +def test_nodeid_string(): + nid0 = ua.NodeId(45) + assert nid0 == ua.NodeId.from_string("i=45") + assert nid0 == ua.NodeId.from_string("ns=0;i=45") + nid = ua.NodeId(45, 10) + assert nid == ua.NodeId.from_string("i=45; ns=10") + assert nid != ua.NodeId.from_string("i=45; ns=11") + assert nid != ua.NodeId.from_string("i=5; ns=10") + # not sure the next one is correct... + assert nid == ua.NodeId.from_string("i=45; ns=10; srv=serverid") + nid1 = ua.NodeId("myid.mynodeid", 7) + assert nid1 == ua.NodeId.from_string("ns=7; s=myid.mynodeid") + # with pytest.raises(ua.UaError): + # nid1 = ua.NodeId(7, "myid.mynodeid") + # with pytest.raises(ua.UaError): + # nid1 = ua.StringNodeId(1, 2) + + +def test_bad_string(): + with pytest.raises(ua.UaStringParsingError): + ua.NodeId.from_string("ns=r;s=yu") + with pytest.raises(ua.UaStringParsingError): + ua.NodeId.from_string("i=r;ns=1") + with pytest.raises(ua.UaStringParsingError): + ua.NodeId.from_string("ns=1") + with pytest.raises(ua.UaError): + ua.QualifiedName.from_string("i:yu") + with pytest.raises(ua.UaError): + ua.QualifiedName.from_string("i:::yu") + + +def test_expandednodeid(): + nid = ua.ExpandedNodeId() + assert nid.NodeIdType == ua.NodeIdType.TwoByte + nid2 = nodeid_from_binary(ua.utils.Buffer(nodeid_to_binary(nid))) + assert nid == nid2 + + +def test_null_string(): + v = ua.Variant(None, ua.VariantType.String) + b = variant_to_binary(v) + v2 = variant_from_binary(ua.utils.Buffer(b)) + assert v.Value == v2.Value + v = ua.Variant("", ua.VariantType.String) + b = variant_to_binary(v) + v2 = variant_from_binary(ua.utils.Buffer(b)) + assert v.Value == v2.Value + + +def test_extension_object(): + obj = ua.UserNameIdentityToken() + obj.UserName = "admin" + obj.Password = b"pass" + obj2 = extensionobject_from_binary(ua.utils.Buffer(extensionobject_to_binary(obj))) + assert type(obj) == type(obj2) + assert obj.UserName == obj2.UserName + assert obj.Password == obj2.Password + v1 = ua.Variant(obj) + v2 = variant_from_binary(ua.utils.Buffer(variant_to_binary(v1))) + assert type(v1) == type(v2) + assert v1.VariantType == v2.VariantType + + +def test_unknown_extension_object(): + obj = ua.ExtensionObject() + obj.Body = b'example of data in custom format' + obj.TypeId = ua.NodeId.from_string('ns=3;i=42') + data = ua.utils.Buffer(extensionobject_to_binary(obj)) + obj2 = extensionobject_from_binary(data) + assert type(obj2) == ua.ExtensionObject + assert obj2.TypeId == obj.TypeId + assert obj2.Body == b'example of data in custom format' + + +def test_datetime(): + now = datetime.utcnow() + epch = ua.datetime_to_win_epoch(now) + dt = ua.win_epoch_to_datetime(epch) + assert now == dt + + # python's datetime has a range from Jan 1, 0001 to the end of year 9999 + # windows' filetime has a range from Jan 1, 1601 to approx. year 30828 + # let's test an overlapping range [Jan 1, 1601 - Dec 31, 9999] + dt = datetime(1601, 1, 1) + assert ua.win_epoch_to_datetime(ua.datetime_to_win_epoch(dt)) == dt + dt = datetime(9999, 12, 31, 23, 59, 59) + assert ua.win_epoch_to_datetime(ua.datetime_to_win_epoch(dt)) == dt + + epch = 128930364000001000 + dt = ua.win_epoch_to_datetime(epch) + epch2 = ua.datetime_to_win_epoch(dt) + assert epch == epch2 + + epch = 0 + assert ua.datetime_to_win_epoch(ua.win_epoch_to_datetime(epch)) == epch + + +def test_equal_nodeid(): + nid1 = ua.NodeId(999, 2) + nid2 = ua.NodeId(999, 2) + assert nid1 == nid2 + assert id(nid1) != id(nid2) + + +def test_zero_nodeid(): + assert ua.NodeId() == ua.NodeId(0, 0) + assert ua.NodeId() == ua.NodeId.from_string('ns=0;i=0;') + + +def test_string_nodeid(): + nid = ua.NodeId('titi', 1) + assert nid.NamespaceIndex == 1 + assert nid.Identifier == 'titi' + assert nid.NodeIdType == ua.NodeIdType.String + + +def test_unicode_string_nodeid(): + nid = ua.NodeId('hëllò', 1) + assert nid.NamespaceIndex == 1 + assert nid.Identifier == 'hëllò' + assert nid.NodeIdType == ua.NodeIdType.String + d = nodeid_to_binary(nid) + new_nid = nodeid_from_binary(io.BytesIO(d)) + assert new_nid == nid + assert new_nid.Identifier == 'hëllò' + assert new_nid.NodeIdType == ua.NodeIdType.String + + +def test_numeric_nodeid(): + nid = ua.NodeId(999, 2) + assert nid.NamespaceIndex == 2 + assert nid.Identifier == 999 + assert nid.NodeIdType == ua.NodeIdType.Numeric + + +def test_qualifiedstring_nodeid(): + nid = ua.NodeId.from_string('ns=2;s=PLC1.Manufacturer;') + assert nid.NamespaceIndex == 2 + assert nid.Identifier == 'PLC1.Manufacturer' + + +def test_strrepr_nodeid(): + nid = ua.NodeId.from_string('ns=2;s=PLC1.Manufacturer;') + assert nid.to_string() == 'ns=2;s=PLC1.Manufacturer' + # assert repr(nid) == 'ns=2;s=PLC1.Manufacturer;' + + +def test_qualified_name(): + qn = ua.QualifiedName('qname', 2) + assert qn.NamespaceIndex == 2 + assert qn.Name == 'qname' + assert qn.to_string() == '2:qname' + + +def test_datavalue(): + dv = ua.DataValue(123) + assert dv.Value == ua.Variant(123) + assert type(dv.Value) == ua.Variant + dv = ua.DataValue('abc') + assert dv.Value == ua.Variant('abc') + now = datetime.utcnow() + dv.SourceTimestamp = now + + +def test_variant(): + dv = ua.Variant(True, ua.VariantType.Boolean) + assert dv.Value == True + assert type(dv.Value) == bool + now = datetime.utcnow() + v = ua.Variant(now) + assert v.Value == now + assert v.VariantType == ua.VariantType.DateTime + v2 = variant_from_binary(ua.utils.Buffer(variant_to_binary(v))) + assert v.Value == v2.Value + assert v.VariantType == v2.VariantType + # commonity method: + assert v == ua.Variant(v) + + +def test_variant_array(): + v = ua.Variant([1, 2, 3, 4, 5]) + assert v.Value[1] == 2 + # assert v.VarianType, ua.VariantType.Int64) # we do not care, we should aonly test for sutff that matter + v2 = variant_from_binary(ua.utils.Buffer(variant_to_binary(v))) + assert v.Value == v2.Value + assert v.VariantType == v2.VariantType + + now = datetime.utcnow() + v = ua.Variant([now]) + assert v.Value[0] == now + assert v.VariantType == ua.VariantType.DateTime + v2 = variant_from_binary(ua.utils.Buffer(variant_to_binary(v))) + assert v.Value == v2.Value + assert v.VariantType == v2.VariantType + + +def test_variant_array_dim(): + v = ua.Variant([1, 2, 3, 4, 5, 6], dimensions=[2, 3]) + assert v.Value[1] == 2 + v2 = variant_from_binary(ua.utils.Buffer(variant_to_binary(v))) + assert _reshape(v.Value, (2, 3)) == v2.Value + assert v.VariantType == v2.VariantType + assert v.Dimensions == v2.Dimensions + assert v2.Dimensions == [2, 3] + + +def test_text(): + t1 = ua.LocalizedText('Root') + t2 = ua.LocalizedText('Root') + t3 = ua.LocalizedText('root') + assert t1 == t2 + assert t1 != t3 + t4 = struct_from_binary(ua.LocalizedText, ua.utils.Buffer(struct_to_binary(t1))) + assert t1 == t4 + + +def test_message_chunk(): + pol = ua.SecurityPolicy() + chunks = MessageChunk.message_to_chunks(pol, b'123', 65536) + assert len(chunks) == 1 + seq = 0 + for chunk in chunks: + seq += 1 + chunk.SequenceHeader.SequenceNumber = seq + chunk2 = MessageChunk.from_binary(pol, ua.utils.Buffer(chunks[0].to_binary())) + assert chunks[0].to_binary() == chunk2.to_binary() + + # for policy None, MessageChunk overhead is 12+4+8 = 24 bytes + # Let's pack 11 bytes into 28-byte chunks. The message must be split as 4+4+3 + chunks = MessageChunk.message_to_chunks(pol, b'12345678901', 28) + assert len(chunks) == 3 + assert chunks[0].Body == b'1234' + assert chunks[1].Body == b'5678' + assert chunks[2].Body == b'901' + for chunk in chunks: + seq += 1 + chunk.SequenceHeader.SequenceNumber = seq + assert len(chunk.to_binary()) <= 28 + + +def test_null(): + n = ua.NodeId(b'000000', 0, nodeidtype=ua.NodeIdType.Guid) + assert n.is_null() + assert n.has_null_identifier() + + n = ua.NodeId(b'000000', 1, nodeidtype=ua.NodeIdType.Guid) + assert n.is_null() is False + assert n.has_null_identifier() + + n = ua.NodeId() + assert n.is_null() + assert n.has_null_identifier() + + n = ua.NodeId(0, 0) + assert n.is_null() + assert n.has_null_identifier() + + n = ua.NodeId("", 0) + assert n.is_null() + assert n.has_null_identifier() + + n = ua.TwoByteNodeId(0) + assert n.is_null() + assert n.has_null_identifier() + + n = ua.NodeId(0, 3) + assert n.is_null() is False + assert n.has_null_identifier() + + +def test_where_clause(): + cf = ua.ContentFilter() + + el = ua.ContentFilterElement() + + op = ua.SimpleAttributeOperand() + op.BrowsePath.append(ua.QualifiedName("property", 2)) + el.FilterOperands.append(op) + + for i in range(10): + op = ua.LiteralOperand() + op.Value = ua.Variant(i) + el.FilterOperands.append(op) + + el.FilterOperator = ua.FilterOperator.InList + cf.Elements.append(el) + + wce = WhereClauseEvaluator(logging.getLogger(__name__), None, cf) + + ev = BaseEvent() + ev._freeze = False + ev.property = 3 + + assert wce.eval(ev) + + + +class MyEnum(_MaskEnum): + member1 = 0 + member2 = 1 + +def test_invalid_input(): + with pytest.raises(ValueError): + MyEnum(12345) + +def test_parsing(): + assert MyEnum.parse_bitfield(0b0) == set() + assert MyEnum.parse_bitfield(0b1) == {MyEnum.member1} + assert MyEnum.parse_bitfield(0b10) == {MyEnum.member2} + assert MyEnum.parse_bitfield(0b11) == {MyEnum.member1, MyEnum.member2} + +def test_identity(): + bitfields = [0b00, 0b01, 0b10, 0b11] + + for bitfield in bitfields: + as_set = MyEnum.parse_bitfield(bitfield) + back_to_bitfield = MyEnum.to_bitfield(as_set) + assert back_to_bitfield == bitfield + +def test_variant_intenum(): + ase = ua.AxisScaleEnumeration(ua.AxisScaleEnumeration.Linear) # Just pick an existing IntEnum class + vAse = ua.Variant(ase) + assert vAse.VariantType == ua.VariantType.Int32 diff --git a/tests/tests_crypto_connect.py b/tests/tests_crypto_connect.py deleted file mode 100644 index f3179216f..000000000 --- a/tests/tests_crypto_connect.py +++ /dev/null @@ -1,203 +0,0 @@ -import pytest - -from opcua import Client -from opcua import Server -from opcua import ua - -try: - from opcua.crypto import uacrypto - from opcua.crypto import security_policies -except ImportError: - print("WARNING: CRYPTO NOT AVAILABLE, CRYPTO TESTS DISABLED!!") - disable_crypto_tests = True -else: - disable_crypto_tests = False - -pytestmark = pytest.mark.asyncio - -port_num1 = 48515 -port_num2 = 48512 -uri_crypto = 'opc.tcp://127.0.0.1:{0:d}'.format(port_num1) -uri_no_crypto = 'opc.tcp://127.0.0.1:{0:d}'.format(port_num2) - - -@pytest.fixture() -async def srv_crypto(): - # start our own server - srv = Server() - await srv.init() - srv.set_endpoint(uri_crypto) - await srv.load_certificate("examples/certificate-example.der") - await srv.load_private_key("examples/private-key-example.pem") - await srv.start() - yield srv - # stop the server - await srv.stop() - - -@pytest.fixture() -async def srv_no_crypto(): - # start our own server - srv = Server() - await srv.init() - srv.set_endpoint(uri_no_crypto) - await srv.start() - yield srv - # stop the server - await srv.stop() - - -async def test_nocrypto(srv_no_crypto): - clt = Client(uri_no_crypto) - async with clt: - await clt.get_objects_node().get_children() - - -async def test_nocrypto_fail(): - clt = Client(uri_no_crypto) - with pytest.raises(ua.UaError): - await clt.set_security_string("Basic256,Sign,examples/certificate-example.der,examples/private-key-example.pem") - - -async def test_basic256(srv_crypto): - clt = Client(uri_crypto) - await clt.set_security_string("Basic256,Sign,examples/certificate-example.der,examples/private-key-example.pem") - async with clt: - assert await clt.get_objects_node().get_children() - - -async def test_basic256_encrypt(): - clt = Client(uri_crypto) - await clt.set_security_string( - "Basic256,SignAndEncrypt,examples/certificate-example.der,examples/private-key-example.pem") - async with clt: - assert await clt.get_objects_node().get_children() - - -async def test_basic128Rsa15(): - clt = Client(uri_crypto) - await clt.set_security_string("Basic128Rsa15,Sign,examples/certificate-example.der,examples/private-key-example.pem") - async with clt: - assert await clt.get_objects_node().get_children() - - -async def test_basic128Rsa15_encrypt(): - clt = Client(uri_crypto) - await clt.set_security_string( - "Basic128Rsa15,SignAndEncrypt,examples/certificate-example.der,examples/private-key-example.pem" - ) - async with clt: - assert await clt.get_objects_node().get_children() - - -async def test_basic256_encrypt_success(): - clt = Client(uri_crypto) - await clt.set_security( - security_policies.SecurityPolicyBasic256, - 'examples/certificate-example.der', - 'examples/private-key-example.pem', - None, - ua.MessageSecurityMode.SignAndEncrypt - ) - async with clt: - assert await clt.get_objects_node().get_children() - - -async def test_basic256_encrypt_feil(): - # FIXME: how to make it feil??? - clt = Client(uri_crypto) - with pytest.raises(ua.UaError): - await clt.set_security( - security_policies.SecurityPolicyBasic256, - 'examples/certificate-example.der', - 'examples/private-key-example.pem', - None, - ua.MessageSecurityMode.None_ - ) - - -""" -@unittest.skipIf(disable_crypto_tests, "crypto not available") -class TestCryptoConnect(unittest.TestCase): - - ''' - Test connectino with a server supporting crypto - - ''' - @classmethod - def setUpClass(cls): - # start our own server - cls.srv_crypto = Server() - cls.uri_crypto = 'opc.tcp://127.0.0.1:{0:d}'.format(port_num1) - cls.srv_crypto.set_endpoint(cls.uri_crypto) - # load server certificate and private key. This enables endpoints - # with signing and encryption. - cls.srv_crypto.load_certificate("examples/certificate-example.der") - cls.srv_crypto.load_private_key("examples/private-key-example.pem") - cls.srv_crypto.start() - - # start a server without crypto - cls.srv_no_crypto = Server() - cls.uri_no_crypto = 'opc.tcp://127.0.0.1:{0:d}'.format(port_num2) - cls.srv_no_crypto.set_endpoint(cls.uri_no_crypto) - cls.srv_no_crypto.start() - - @classmethod - def tearDownClass(cls): - # stop the server - cls.srv_no_crypto.stop() - cls.srv_crypto.stop() - - - def test_basic256_encrypt(self): - clt = Client(self.uri_crypto) - try: - clt.set_security_string("Basic256,SignAndEncrypt,examples/certificate-example.der,examples/private-key-example.pem") - clt.connect() - self.assertTrue(clt.get_objects_node().get_children()) - finally: - clt.disconnect() - - def test_basic128Rsa15(self): - clt = Client(self.uri_crypto) - try: - clt.set_security_string("Basic128Rsa15,Sign,examples/certificate-example.der,examples/private-key-example.pem") - clt.connect() - self.assertTrue(clt.get_objects_node().get_children()) - finally: - clt.disconnect() - - def test_basic128Rsa15_encrypt(self): - clt = Client(self.uri_crypto) - try: - clt.set_security_string("Basic128Rsa15,SignAndEncrypt,examples/certificate-example.der,examples/private-key-example.pem") - clt.connect() - self.assertTrue(clt.get_objects_node().get_children()) - finally: - clt.disconnect() - - def test_basic256_encrypt_success(self): - clt = Client(self.uri_crypto) - try: - clt.set_security(security_policies.SecurityPolicyBasic256, - 'examples/certificate-example.der', - 'examples/private-key-example.pem', - None, - ua.MessageSecurityMode.SignAndEncrypt - ) - clt.connect() - self.assertTrue(clt.get_objects_node().get_children()) - finally: - clt.disconnect() - - def test_basic256_encrypt_feil(self): - # FIXME: how to make it feil??? - clt = Client(self.uri_crypto) - with self.assertRaises(ua.UaError): - clt.set_security(security_policies.SecurityPolicyBasic256, - 'examples/certificate-example.der', - 'examples/private-key-example.pem', - None, - ua.MessageSecurityMode.None_ - ) -""" diff --git a/tests/tests_history.py b/tests/tests_history.py index 496148d09..03acfbd93 100644 --- a/tests/tests_history.py +++ b/tests/tests_history.py @@ -1,6 +1,6 @@ import time from datetime import datetime, timedelta -import unittest +import pytest from opcua import Client from opcua import Server @@ -9,10 +9,7 @@ from opcua.server.history_sql import HistorySQLite from opcua.server.history import HistoryDict -from tests_common import CommonTests, add_server_methods - -from opcua.common.events import get_event_properties_from_type_node as get_props - +pytestmark = pytest.mark.asyncio port_num1 = 48530 port_num2 = 48530 diff --git a/tests/tests_standard_address_space.py b/tests/tests_standard_address_space.py index 8259e0471..650f9b463 100644 --- a/tests/tests_standard_address_space.py +++ b/tests/tests_standard_address_space.py @@ -2,50 +2,52 @@ import os.path import xml.etree.ElementTree as ET -from opcua import ua from opcua.server.address_space import AddressSpace from opcua.server.address_space import NodeManagementService from opcua.server.standard_address_space import standard_address_space -def find_elem(parent, name, ns = None): + +def find_elem(parent, name, ns=None): if ns is None: try: - return parent.find(parent.tag[0:parent.tag.index('}')+1]+name) + return parent.find(parent.tag[0:parent.tag.index('}') + 1] + name) except ValueError: return parent.find(name) - return parent.find(ns+name) + return parent.find(ns + name) + def remove_elem(parent, name): e = find_elem(parent, name) if e is not None: parent.remove(e) + def try_apply(item, aliases): attrib = item.attrib for name in ('ReferenceType', 'DataType'): try: - value = attrib[name] + value = attrib[name] attrib[name] = aliases[value] except KeyError: pass + def read_nodes(path): tree = ET.parse(path) root = tree.getroot() - aliases_elem = find_elem(root, 'Aliases') - aliases = dict( (a.attrib['Alias'], a.text) for a in aliases_elem) - + aliases = dict((a.attrib['Alias'], a.text) for a in aliases_elem) any(try_apply(i, aliases) for i in root.iter()) root.remove(aliases_elem) - remove_elem(root, "Models") remove_elem(root, "NamespaceUris") + return dict((e.attrib['NodeId'], e) for e in root) - return dict((e.attrib['NodeId'],e) for e in root) def get_refs(e): - return set((r.attrib['ReferenceType'], r.text, r.attrib.get('IsForward', 'true') == 'true') for r in find_elem(e, 'References')) + return set((r.attrib['ReferenceType'], r.text, r.attrib.get('IsForward', 'true') == 'true') for r in + find_elem(e, 'References')) + class StandardAddressSpaceTests(unittest.TestCase): @@ -55,8 +57,11 @@ def setUp(self): standard_address_space.fill_address_space(self.node_mgt_service) def test_std_address_space_references(self): - std_nodes = read_nodes(os.path.abspath(os.path.join(os.path.dirname(__file__), '..', 'schemas', 'Opc.Ua.NodeSet2.xml'))) + std_nodes = read_nodes( + os.path.abspath(os.path.join(os.path.dirname(__file__), '..', 'schemas', 'Opc.Ua.NodeSet2.xml'))) for k in self.aspace.keys(): - refs = set((r.ReferenceTypeId.to_string(), r.NodeId.to_string(), r.IsForward) for r in self.aspace[k].references) - xml_refs = set((r.attrib['ReferenceType'], r.text, r.attrib.get('IsForward', 'true') == 'true') for r in find_elem(std_nodes[k.to_string()], 'References')) - self.assertTrue(len(xml_refs-refs)==0) + refs = set( + (r.ReferenceTypeId.to_string(), r.NodeId.to_string(), r.IsForward) for r in self.aspace[k].references) + xml_refs = set((r.attrib['ReferenceType'], r.text, r.attrib.get('IsForward', 'true') == 'true') for r in + find_elem(std_nodes[k.to_string()], 'References')) + self.assertTrue(len(xml_refs - refs) == 0) diff --git a/tests/tests_uaerrors.py b/tests/tests_uaerrors.py deleted file mode 100644 index e150871d6..000000000 --- a/tests/tests_uaerrors.py +++ /dev/null @@ -1,26 +0,0 @@ -import unittest -import opcua.ua.uaerrors as uaerrors -from opcua.ua.uaerrors import UaStatusCodeError - -class TestUaErrors(unittest.TestCase): - status_code_bad_internal = 0x80020000 - status_code_unknown = "Definitely Not A Status Code" - - def setUp(self): - self.direct = uaerrors.BadInternalError() - self.indirect = UaStatusCodeError(self.status_code_bad_internal) - self.unknown = UaStatusCodeError(self.status_code_unknown) - - def test_subclass_selection(self): - self.assertIs(type(self.direct), uaerrors.BadInternalError) - self.assertIs(type(self.indirect), uaerrors.BadInternalError) - self.assertIs(type(self.unknown), UaStatusCodeError) - - def test_code(self): - self.assertEqual(self.direct.code, self.status_code_bad_internal) - self.assertEqual(self.indirect.code, self.status_code_bad_internal) - self.assertEqual(self.unknown.code, self.status_code_unknown) - - def test_string_repr(self): - self.assertIn("BadInternal", str(self.direct)) - self.assertIn("BadInternal", str(self.indirect)) diff --git a/tests/tests_unit.py b/tests/tests_unit.py deleted file mode 100755 index 23ab90e54..000000000 --- a/tests/tests_unit.py +++ /dev/null @@ -1,649 +0,0 @@ -# encoding: utf-8 -#! /usr/bin/env python -import logging -import io -from datetime import datetime -import unittest -from collections import namedtuple -import uuid - -from opcua import ua -from opcua.ua.ua_binary import extensionobject_from_binary -from opcua.ua.ua_binary import extensionobject_to_binary -from opcua.ua.ua_binary import nodeid_to_binary, variant_to_binary, _reshape, variant_from_binary, nodeid_from_binary -from opcua.ua.ua_binary import struct_to_binary, struct_from_binary -from opcua.ua import flatten, get_shape -from opcua.server.internal_subscription import WhereClauseEvaluator -from opcua.common.event_objects import BaseEvent -from opcua.common.ua_utils import string_to_variant, variant_to_string, string_to_val, val_to_string -from opcua.common.xmlimporter import XmlImporter -from opcua.ua.uatypes import _MaskEnum -from opcua.common.structures import StructGenerator -from opcua.common.connection import MessageChunk - - -class TestUnit(unittest.TestCase): - - ''' - Simple unit test that do not need to setup a server or a client - ''' - - def test_variant_array_none(self): - v = ua.Variant(None, varianttype=ua.VariantType.Int32, is_array=True) - data = variant_to_binary(v) - v2 = variant_from_binary(ua.utils.Buffer(data)) - self.assertEqual(v, v2) - self.assertTrue(v2.is_array) - - v = ua.Variant(None, varianttype=ua.VariantType.Null, is_array=True) - data = variant_to_binary(v) - v2 = variant_from_binary(ua.utils.Buffer(data)) - self.assertEqual(v, v2) - self.assertTrue(v2.is_array) - - def test_variant_empty_list(self): - v = ua.Variant([], varianttype=ua.VariantType.Int32, is_array=True) - data = variant_to_binary(v) - v2 = variant_from_binary(ua.utils.Buffer(data)) - self.assertEqual(v, v2) - self.assertTrue(v2.is_array) - - def test_structs_save_and_import(self): - xmlpath = "tests/example.bsd" - c = StructGenerator() - c.make_model_from_file(xmlpath) - struct_dict = c.save_and_import("structures.py") - for k, v in struct_dict.items(): - a = v() - self.assertEqual(k, a.__class__.__name__) - - def test_custom_structs(self): - xmlpath = "tests/example.bsd" - c = StructGenerator() - c.make_model_from_file(xmlpath) - c.save_to_file("tests/structures.py") - import structures as s - - # test with default values - v = s.ScalarValueDataType() - data = struct_to_binary(v) - v2 = struct_from_binary(s.ScalarValueDataType, ua.utils.Buffer(data)) - - - # set some values - v = s.ScalarValueDataType() - v.SbyteValue = 1 - v.ByteValue = 2 - v.Int16Value = 3 - v.UInt16Value = 4 - v.Int32Value = 5 - v.UInt32Value = 6 - v.Int64Value = 7 - v.UInt64Value = 8 - v.FloatValue = 9.0 - v.DoubleValue = 10.0 - v.StringValue = "elleven" - v.DateTimeValue = datetime.utcnow() - #self.GuidValue = uuid.uudib"14" - v.ByteStringValue = b"fifteen" - v.XmlElementValue = ua.XmlElement("titi") - v.NodeIdValue = ua.NodeId.from_string("ns=4;i=9999") - #self.ExpandedNodeIdValue = - #self.QualifiedNameValue = - #self.LocalizedTextValue = - #self.StatusCodeValue = - #self.VariantValue = - #self.EnumerationValue = - #self.StructureValue = - #self.Number = - #self.Integer = - #self.UInteger = - - - data = struct_to_binary(v) - v2 = struct_from_binary(s.ScalarValueDataType, ua.utils.Buffer(data)) - self.assertEqual(v.NodeIdValue, v2.NodeIdValue) - - def test_custom_structs_array(self): - xmlpath = "tests/example.bsd" - c = StructGenerator() - c.make_model_from_file(xmlpath) - c.save_to_file("tests/structures.py") - import structures as s - - # test with default values - v = s.ArrayValueDataType() - data = struct_to_binary(v) - v2 = struct_from_binary(s.ArrayValueDataType, ua.utils.Buffer(data)) - - - # set some values - v = s.ArrayValueDataType() - v.SbyteValue = [1] - v.ByteValue = [2] - v.Int16Value = [3] - v.UInt16Value = [4] - v.Int32Value = [5] - v.UInt32Value = [6] - v.Int64Value = [7] - v.UInt64Value = [8] - v.FloatValue = [9.0] - v.DoubleValue = [10.0] - v.StringValue = ["elleven"] - v.DateTimeValue = [datetime.utcnow()] - #self.GuidValue = uuid.uudib"14" - v.ByteStringValue = [b"fifteen", b"sixteen"] - v.XmlElementValue = [ua.XmlElement("titi")] - v.NodeIdValue = [ua.NodeId.from_string("ns=4;i=9999"), ua.NodeId.from_string("i=6")] - #self.ExpandedNodeIdValue = - #self.QualifiedNameValue = - #self.LocalizedTextValue = - #self.StatusCodeValue = - #self.VariantValue = - #self.EnumerationValue = - #self.StructureValue = - #self.Number = - #self.Integer = - #self.UInteger = - - - data = struct_to_binary(v) - v2 = struct_from_binary(s.ArrayValueDataType, ua.utils.Buffer(data)) - self.assertEqual(v.NodeIdValue, v2.NodeIdValue) - print(v2.NodeIdValue) - - def test_nodeid_nsu(self): - n = ua.NodeId(100, 2) - n.NamespaceUri = "http://freeopcua/tests" - n.ServerIndex = 4 - data = nodeid_to_binary(n) - n2 = nodeid_from_binary(ua.utils.Buffer(data)) - self.assertEqual(n, n2) - n3 = ua.NodeId.from_string(n.to_string()) - self.assertEqual(n, n3) - - def test_nodeid_ordering(self): - a = ua.NodeId(2000, 1) - b = ua.NodeId(3000, 1) - c = ua.NodeId(20, 0) - d = ua.NodeId("tititu", 1) - e = ua.NodeId("aaaaa", 1) - f = ua.NodeId("aaaaa", 2) - g = ua.NodeId(uuid.uuid4(), 1) - h = ua.TwoByteNodeId(2001) - i = ua.NodeId(b"lkjkl", 1, ua.NodeIdType.ByteString) - j = ua.NodeId(b"aaa", 5, ua.NodeIdType.ByteString) - - mylist = [a, b, c, d, e, f, g, h, i, j] - mylist.sort() - expected = [h, c, a, b, e, d, f, g, i, j] - self.assertEqual(mylist, expected) - - def test_string_to_variant_int(self): - s_arr_uint = "[1, 2, 3, 4]" - arr_uint = [1, 2, 3, 4] - s_uint = "1" - - self.assertEqual(string_to_val(s_arr_uint, ua.VariantType.UInt32), arr_uint) - self.assertEqual(string_to_val(s_arr_uint, ua.VariantType.UInt16), arr_uint) - self.assertEqual(val_to_string(arr_uint), s_arr_uint) - - def test_string_to_variant_float(self): - s_arr_float = "[1.1, 2.1, 3, 4.0]" - arr_float = [1.1, 2.1, 3, 4.0] - s_float = "1.9" - self.assertEqual(string_to_val(s_float, ua.VariantType.Float), 1.9) - self.assertEqual(val_to_string(arr_float), s_arr_float) - - def test_string_to_variant_datetime_string(self): - s_arr_datetime = "[2014-05-6, 2016-10-3]" - arr_string = ['2014-05-6', '2016-10-3'] - arr_datetime = [datetime(2014, 5, 6), datetime(2016, 10, 3)] - s_datetime = "2014-05-3" - self.assertEqual(val_to_string(arr_string), s_arr_datetime) - self.assertEqual(string_to_val(s_arr_datetime, ua.VariantType.String), arr_string) - self.assertEqual(string_to_val(s_arr_datetime, ua.VariantType.DateTime), arr_datetime) - - def test_string_to_variant_nodeid(self): - s_arr_nodeid = "[ns=2;i=56, i=45]" - arr_nodeid = [ua.NodeId.from_string("ns=2;i=56"), ua.NodeId.from_string("i=45")] - s_nodeid = "i=45" - self.assertEqual(string_to_val(s_arr_nodeid, ua.VariantType.NodeId), arr_nodeid) - - def test_string_to_variant_status_code(self): - s_statuscode = "Good" - statuscode = ua.StatusCode(ua.StatusCodes.Good) - s_statuscode2 = "Uncertain" - statuscode2 = ua.StatusCode(ua.StatusCodes.Uncertain) - self.assertEqual(string_to_val(s_statuscode, ua.VariantType.StatusCode), statuscode) - self.assertEqual(string_to_val(s_statuscode2, ua.VariantType.StatusCode), statuscode2) - - def test_string_to_variant_qname(self): - string = "2:name" - obj = ua.QualifiedName("name", 2) - self.assertEqual(string_to_val(string, ua.VariantType.QualifiedName), obj) - self.assertEqual(val_to_string(obj), string) - - def test_string_to_variant_localized_text(self): - string = "_This is my string" - # string = "_This is my nøåæ"FIXME: does not work with python2 ?!?! - obj = ua.LocalizedText(string) - self.assertEqual(string_to_val(string, ua.VariantType.LocalizedText), obj) - self.assertEqual(val_to_string(obj), string) - - def test_string_to_val_xml_element(self): - string = "

titi toto

" - obj = ua.XmlElement(string) - - self.assertEqual(string_to_val(string, ua.VariantType.XmlElement), obj) - self.assertEqual(val_to_string(obj), string) - - b = struct_to_binary(obj) - obj2 = struct_from_binary(ua.XmlElement, ua.utils.Buffer(b)) - self.assertEqual(obj, obj2) - - def test_variant_dimensions(self): - l = [[[1.0, 1.0, 1.0, 1.0], [2.0, 2.0, 2.0, 2.0], [3.0, 3.0, 3.0, 3.0]], [[5.0, 5.0, 5.0, 5.0], [7.0, 8.0, 9.0, 01.0], [1.0, 1.0, 1.0, 1.0]]] - v = ua.Variant(l) - self.assertEqual(v.Dimensions, [2, 3, 4]) - v2 = variant_from_binary(ua.utils.Buffer(variant_to_binary(v))) - self.assertEqual(v, v2) - self.assertEqual(v.Dimensions, v2.Dimensions) - - # very special case - l = [[[], [], []], [[], [], []]] - v = ua.Variant(l, ua.VariantType.UInt32) - self.assertEqual(v.Dimensions, [2, 3, 0]) - v2 = variant_from_binary(ua.utils.Buffer(variant_to_binary(v))) - self.assertEqual(v.Dimensions, v2.Dimensions) - self.assertEqual(v, v2) - - def test_flatten(self): - l = [[[1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0]], [[1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0], [1.0, 1.0, 1.0, 1.0]]] - l2 = flatten(l) - dims = get_shape(l) - self.assertEqual(dims, [2, 3, 4]) - self.assertNotEqual(l, l2) - - l3 = _reshape(l2, (2, 3, 4)) - self.assertEqual(l, l3) - - - l = [[[], [], []], [[], [], []]] - l2 = flatten(l) - dims = get_shape(l) - self.assertEqual(dims, [2, 3, 0]) - - l = [1, 2, 3, 4] - l2 = flatten(l) - dims = get_shape(l) - self.assertEqual(dims, [4]) - self.assertEqual(l, l2) - - def test_custom_variant(self): - with self.assertRaises(ua.UaError): - v = ua.Variant(b"ljsdfljds", ua.VariantTypeCustom(89)) - v = ua.Variant(b"ljsdfljds", ua.VariantTypeCustom(61)) - v2 = variant_from_binary(ua.utils.Buffer(variant_to_binary(v))) - self.assertEqual(v.VariantType, v2.VariantType) - self.assertEqual(v, v2) - - - def test_custom_variant_array(self): - v = ua.Variant([b"ljsdfljds", b"lkjsdljksdf"], ua.VariantTypeCustom(40)) - v2 = variant_from_binary(ua.utils.Buffer(variant_to_binary(v))) - self.assertEqual(v.VariantType, v2.VariantType) - self.assertEqual(v, v2) - - def test_guid(self): - v = ua.Variant(uuid.uuid4(), ua.VariantType.Guid) - v2 = variant_from_binary(ua.utils.Buffer(variant_to_binary(v))) - self.assertEqual(v.VariantType, v2.VariantType) - self.assertEqual(v, v2) - - def test_nodeid(self): - nid = ua.NodeId() - self.assertEqual(nid.NodeIdType, ua.NodeIdType.TwoByte) - nid = ua.NodeId(446, 3, ua.NodeIdType.FourByte) - self.assertEqual(nid.NodeIdType, ua.NodeIdType.FourByte) - d = nodeid_to_binary(nid) - new_nid = nodeid_from_binary(io.BytesIO(d)) - self.assertEqual(new_nid, nid) - self.assertEqual(new_nid.NodeIdType, ua.NodeIdType.FourByte) - self.assertEqual(new_nid.Identifier, 446) - self.assertEqual(new_nid.NamespaceIndex, 3) - - tb = ua.TwoByteNodeId(53) - fb = ua.FourByteNodeId(53) - n = ua.NumericNodeId(53) - n1 = ua.NumericNodeId(53, 0) - s1 = ua.StringNodeId("53", 0) - bs = ua.ByteStringNodeId(b"53", 0) - gid = uuid.uuid4() - g = ua.ByteStringNodeId(str(gid), 0) - guid = ua.GuidNodeId(gid) - self.assertEqual(tb, fb) - self.assertEqual(tb, n) - self.assertEqual(tb, n1) - self.assertEqual(n1, fb) - self.assertNotEqual(g, guid) - self.assertEqual(tb, nodeid_from_binary(ua.utils.Buffer(nodeid_to_binary(tb)))) - self.assertEqual(fb, nodeid_from_binary(ua.utils.Buffer(nodeid_to_binary(fb)))) - self.assertEqual(n, nodeid_from_binary(ua.utils.Buffer(nodeid_to_binary(n)))) - self.assertEqual(s1, nodeid_from_binary(ua.utils.Buffer(nodeid_to_binary(s1)))) - self.assertEqual(bs, nodeid_from_binary(ua.utils.Buffer(nodeid_to_binary(bs)))) - self.assertEqual(guid, nodeid_from_binary(ua.utils.Buffer(nodeid_to_binary(guid)))) - - def test_nodeid_string(self): - nid0 = ua.NodeId(45) - self.assertEqual(nid0, ua.NodeId.from_string("i=45")) - self.assertEqual(nid0, ua.NodeId.from_string("ns=0;i=45")) - nid = ua.NodeId(45, 10) - self.assertEqual(nid, ua.NodeId.from_string("i=45; ns=10")) - self.assertNotEqual(nid, ua.NodeId.from_string("i=45; ns=11")) - self.assertNotEqual(nid, ua.NodeId.from_string("i=5; ns=10")) - # not sure the next one is correct... - self.assertEqual(nid, ua.NodeId.from_string("i=45; ns=10; srv=serverid")) - - nid1 = ua.NodeId("myid.mynodeid", 7) - self.assertEqual(nid1, ua.NodeId.from_string("ns=7; s=myid.mynodeid")) - #with self.assertRaises(ua.UaError): - #nid1 = ua.NodeId(7, "myid.mynodeid") - #with self.assertRaises(ua.UaError): - #nid1 = ua.StringNodeId(1, 2) - - def test_bad_string(self): - with self.assertRaises(ua.UaStringParsingError): - ua.NodeId.from_string("ns=r;s=yu") - with self.assertRaises(ua.UaStringParsingError): - ua.NodeId.from_string("i=r;ns=1") - with self.assertRaises(ua.UaStringParsingError): - ua.NodeId.from_string("ns=1") - with self.assertRaises(ua.UaError): - ua.QualifiedName.from_string("i:yu") - with self.assertRaises(ua.UaError): - ua.QualifiedName.from_string("i:::yu") - - def test_expandednodeid(self): - nid = ua.ExpandedNodeId() - self.assertEqual(nid.NodeIdType, ua.NodeIdType.TwoByte) - nid2 = nodeid_from_binary(ua.utils.Buffer(nodeid_to_binary(nid))) - self.assertEqual(nid, nid2) - - def test_null_string(self): - v = ua.Variant(None, ua.VariantType.String) - b = variant_to_binary(v) - v2 = variant_from_binary(ua.utils.Buffer(b)) - self.assertEqual(v.Value, v2.Value) - v = ua.Variant("", ua.VariantType.String) - b = variant_to_binary(v) - v2 = variant_from_binary(ua.utils.Buffer(b)) - self.assertEqual(v.Value, v2.Value) - - def test_extension_object(self): - obj = ua.UserNameIdentityToken() - obj.UserName = "admin" - obj.Password = b"pass" - obj2 = extensionobject_from_binary(ua.utils.Buffer(extensionobject_to_binary(obj))) - self.assertEqual(type(obj), type(obj2)) - self.assertEqual(obj.UserName, obj2.UserName) - self.assertEqual(obj.Password, obj2.Password) - v1 = ua.Variant(obj) - v2 = variant_from_binary(ua.utils.Buffer(variant_to_binary(v1))) - self.assertEqual(type(v1), type(v2)) - self.assertEqual(v1.VariantType, v2.VariantType) - - def test_unknown_extension_object(self): - obj = ua.ExtensionObject() - obj.Body = b'example of data in custom format' - obj.TypeId = ua.NodeId.from_string('ns=3;i=42') - data = ua.utils.Buffer(extensionobject_to_binary(obj)) - obj2 = extensionobject_from_binary(data) - self.assertEqual(type(obj2), ua.ExtensionObject) - self.assertEqual(obj2.TypeId, obj.TypeId) - self.assertEqual(obj2.Body, b'example of data in custom format') - - def test_datetime(self): - now = datetime.utcnow() - epch = ua.datetime_to_win_epoch(now) - dt = ua.win_epoch_to_datetime(epch) - self.assertEqual(now, dt) - - # python's datetime has a range from Jan 1, 0001 to the end of year 9999 - # windows' filetime has a range from Jan 1, 1601 to approx. year 30828 - # let's test an overlapping range [Jan 1, 1601 - Dec 31, 9999] - dt = datetime(1601, 1, 1) - self.assertEqual(ua.win_epoch_to_datetime(ua.datetime_to_win_epoch(dt)), dt) - dt = datetime(9999, 12, 31, 23, 59, 59) - self.assertEqual(ua.win_epoch_to_datetime(ua.datetime_to_win_epoch(dt)), dt) - - epch = 128930364000001000 - dt = ua.win_epoch_to_datetime(epch) - epch2 = ua.datetime_to_win_epoch(dt) - self.assertEqual(epch, epch2) - - epch = 0 - self.assertEqual(ua.datetime_to_win_epoch(ua.win_epoch_to_datetime(epch)), epch) - - def test_equal_nodeid(self): - nid1 = ua.NodeId(999, 2) - nid2 = ua.NodeId(999, 2) - self.assertTrue(nid1 == nid2) - self.assertTrue(id(nid1) != id(nid2)) - - def test_zero_nodeid(self): - self.assertEqual(ua.NodeId(), ua.NodeId(0, 0)) - self.assertEqual(ua.NodeId(), ua.NodeId.from_string('ns=0;i=0;')) - - def test_string_nodeid(self): - nid = ua.NodeId('titi', 1) - self.assertEqual(nid.NamespaceIndex, 1) - self.assertEqual(nid.Identifier, 'titi') - self.assertEqual(nid.NodeIdType, ua.NodeIdType.String) - - def test_unicode_string_nodeid(self): - nid = ua.NodeId('hëllò', 1) - self.assertEqual(nid.NamespaceIndex, 1) - self.assertEqual(nid.Identifier, 'hëllò') - self.assertEqual(nid.NodeIdType, ua.NodeIdType.String) - d = nodeid_to_binary(nid) - new_nid = nodeid_from_binary(io.BytesIO(d)) - self.assertEqual(new_nid, nid) - self.assertEqual(new_nid.Identifier, 'hëllò') - self.assertEqual(new_nid.NodeIdType, ua.NodeIdType.String) - - def test_numeric_nodeid(self): - nid = ua.NodeId(999, 2) - self.assertEqual(nid.NamespaceIndex, 2) - self.assertEqual(nid.Identifier, 999) - self.assertEqual(nid.NodeIdType, ua.NodeIdType.Numeric) - - def test_qualifiedstring_nodeid(self): - nid = ua.NodeId.from_string('ns=2;s=PLC1.Manufacturer;') - self.assertEqual(nid.NamespaceIndex, 2) - self.assertEqual(nid.Identifier, 'PLC1.Manufacturer') - - def test_strrepr_nodeid(self): - nid = ua.NodeId.from_string('ns=2;s=PLC1.Manufacturer;') - self.assertEqual(nid.to_string(), 'ns=2;s=PLC1.Manufacturer') - # self.assertEqual(repr(nid), 'ns=2;s=PLC1.Manufacturer;') - - def test_qualified_name(self): - qn = ua.QualifiedName('qname', 2) - self.assertEqual(qn.NamespaceIndex, 2) - self.assertEqual(qn.Name, 'qname') - self.assertEqual(qn.to_string(), '2:qname') - - def test_datavalue(self): - dv = ua.DataValue(123) - self.assertEqual(dv.Value, ua.Variant(123)) - self.assertEqual(type(dv.Value), ua.Variant) - dv = ua.DataValue('abc') - self.assertEqual(dv.Value, ua.Variant('abc')) - now = datetime.utcnow() - dv.SourceTimestamp = now - - def test_variant(self): - dv = ua.Variant(True, ua.VariantType.Boolean) - self.assertEqual(dv.Value, True) - self.assertEqual(type(dv.Value), bool) - now = datetime.utcnow() - v = ua.Variant(now) - self.assertEqual(v.Value, now) - self.assertEqual(v.VariantType, ua.VariantType.DateTime) - v2 = variant_from_binary(ua.utils.Buffer(variant_to_binary(v))) - self.assertEqual(v.Value, v2.Value) - self.assertEqual(v.VariantType, v2.VariantType) - # commonity method: - self.assertEqual(v, ua.Variant(v)) - - def test_variant_array(self): - v = ua.Variant([1, 2, 3, 4, 5]) - self.assertEqual(v.Value[1], 2) - # self.assertEqual(v.VarianType, ua.VariantType.Int64) # we do not care, we should aonly test for sutff that matter - v2 = variant_from_binary(ua.utils.Buffer(variant_to_binary(v))) - self.assertEqual(v.Value, v2.Value) - self.assertEqual(v.VariantType, v2.VariantType) - - now = datetime.utcnow() - v = ua.Variant([now]) - self.assertEqual(v.Value[0], now) - self.assertEqual(v.VariantType, ua.VariantType.DateTime) - v2 = variant_from_binary(ua.utils.Buffer(variant_to_binary(v))) - self.assertEqual(v.Value, v2.Value) - self.assertEqual(v.VariantType, v2.VariantType) - - def test_variant_array_dim(self): - v = ua.Variant([1, 2, 3, 4, 5, 6], dimensions=[2, 3]) - self.assertEqual(v.Value[1], 2) - v2 = variant_from_binary(ua.utils.Buffer(variant_to_binary(v))) - self.assertEqual(_reshape(v.Value, (2, 3)), v2.Value) - self.assertEqual(v.VariantType, v2.VariantType) - self.assertEqual(v.Dimensions, v2.Dimensions) - self.assertEqual(v2.Dimensions, [2, 3]) - - def test_text(self): - t1 = ua.LocalizedText('Root') - t2 = ua.LocalizedText('Root') - t3 = ua.LocalizedText('root') - self.assertEqual(t1, t2) - self.assertNotEqual(t1, t3) - t4 = struct_from_binary(ua.LocalizedText, ua.utils.Buffer(struct_to_binary(t1))) - self.assertEqual(t1, t4) - - def test_message_chunk(self): - pol = ua.SecurityPolicy() - chunks = MessageChunk.message_to_chunks(pol, b'123', 65536) - self.assertEqual(len(chunks), 1) - seq = 0 - for chunk in chunks: - seq += 1 - chunk.SequenceHeader.SequenceNumber = seq - chunk2 = MessageChunk.from_binary(pol, ua.utils.Buffer(chunks[0].to_binary())) - self.assertEqual(chunks[0].to_binary(), chunk2.to_binary()) - - # for policy None, MessageChunk overhead is 12+4+8 = 24 bytes - # Let's pack 11 bytes into 28-byte chunks. The message must be split as 4+4+3 - chunks = MessageChunk.message_to_chunks(pol, b'12345678901', 28) - self.assertEqual(len(chunks), 3) - self.assertEqual(chunks[0].Body, b'1234') - self.assertEqual(chunks[1].Body, b'5678') - self.assertEqual(chunks[2].Body, b'901') - for chunk in chunks: - seq += 1 - chunk.SequenceHeader.SequenceNumber = seq - self.assertTrue(len(chunk.to_binary()) <= 28) - - def test_null(self): - n = ua.NodeId(b'000000', 0, nodeidtype=ua.NodeIdType.Guid) - self.assertTrue(n.is_null()) - self.assertTrue(n.has_null_identifier()) - - n = ua.NodeId(b'000000', 1, nodeidtype=ua.NodeIdType.Guid) - self.assertFalse(n.is_null()) - self.assertTrue(n.has_null_identifier()) - - n = ua.NodeId() - self.assertTrue(n.is_null()) - self.assertTrue(n.has_null_identifier()) - - n = ua.NodeId(0, 0) - self.assertTrue(n.is_null()) - self.assertTrue(n.has_null_identifier()) - - n = ua.NodeId("", 0) - self.assertTrue(n.is_null()) - self.assertTrue(n.has_null_identifier()) - - n = ua.TwoByteNodeId(0) - self.assertTrue(n.is_null()) - self.assertTrue(n.has_null_identifier()) - - n = ua.NodeId(0, 3) - self.assertFalse(n.is_null()) - self.assertTrue(n.has_null_identifier()) - - def test_where_clause(self): - cf = ua.ContentFilter() - - el = ua.ContentFilterElement() - - op = ua.SimpleAttributeOperand() - op.BrowsePath.append(ua.QualifiedName("property", 2)) - el.FilterOperands.append(op) - - for i in range(10): - op = ua.LiteralOperand() - op.Value = ua.Variant(i) - el.FilterOperands.append(op) - - el.FilterOperator = ua.FilterOperator.InList - cf.Elements.append(el) - - wce = WhereClauseEvaluator(logging.getLogger(__name__), None, cf) - - ev = BaseEvent() - ev._freeze = False - ev.property = 3 - - self.assertTrue(wce.eval(ev)) - - -class TestMaskEnum(unittest.TestCase): - class MyEnum(_MaskEnum): - member1 = 0 - member2 = 1 - - def test_invalid_input(self): - with self.assertRaises(ValueError): - self.MyEnum(12345) - - def test_parsing(self): - self.assertEqual(self.MyEnum.parse_bitfield(0b0), set()) - self.assertEqual(self.MyEnum.parse_bitfield(0b1), {self.MyEnum.member1}) - self.assertEqual(self.MyEnum.parse_bitfield(0b10), {self.MyEnum.member2}) - self.assertEqual(self.MyEnum.parse_bitfield(0b11), {self.MyEnum.member1, self.MyEnum.member2}) - - def test_identity(self): - bitfields = [0b00, 0b01, 0b10, 0b11] - - for bitfield in bitfields: - as_set = self.MyEnum.parse_bitfield(bitfield) - back_to_bitfield = self.MyEnum.to_bitfield(as_set) - self.assertEqual(back_to_bitfield, bitfield) - - - def test_variant_intenum(self): - ase = ua.AxisScaleEnumeration(ua.AxisScaleEnumeration.Linear) # Just pick an existing IntEnum class - vAse = ua.Variant(ase) - self.assertEqual(vAse.VariantType, ua.VariantType.Int32) - - - - - - -if __name__ == '__main__': - logging.basicConfig(level=logging.WARN) - - unittest.main(verbosity=3) From 4221be7df24c8823a1889e4c1dcb578e231b5727 Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Wed, 1 Aug 2018 09:34:36 +0200 Subject: [PATCH 100/113] refactored tests and async fixes --- opcua/common/events.py | 20 +- tests/conftest.py | 62 +++- tests/test_client.py | 37 --- tests/test_common.py | 180 +++++------ tests/test_server.py | 35 +-- tests/test_subscriptions.py | 556 +++++++++++++++++++++++++++++++++ tests/tests_subscriptions.py | 587 ----------------------------------- 7 files changed, 714 insertions(+), 763 deletions(-) create mode 100644 tests/test_subscriptions.py delete mode 100644 tests/tests_subscriptions.py diff --git a/opcua/common/events.py b/opcua/common/events.py index d9711f95f..e59507ebf 100644 --- a/opcua/common/events.py +++ b/opcua/common/events.py @@ -112,7 +112,7 @@ def from_event_fields(select_clauses, fields): async def get_filter_from_event_type(eventtypes): evfilter = ua.EventFilter() evfilter.SelectClauses = await select_clauses_from_evtype(eventtypes) - evfilter.WhereClause = where_clause_from_evtype(eventtypes) + evfilter.WhereClause = await where_clause_from_evtype(eventtypes) return evfilter @@ -121,19 +121,19 @@ async def select_clauses_from_evtype(evtypes): selected_paths = [] for evtype in evtypes: for prop in await get_event_properties_from_type_node(evtype): - if prop.get_browse_name() not in selected_paths: + browse_name = await prop.get_browse_name() + if browse_name not in selected_paths: op = ua.SimpleAttributeOperand() op.AttributeId = ua.AttributeIds.Value - op.BrowsePath = [prop.get_browse_name()] + op.BrowsePath = [browse_name] clauses.append(op) - selected_paths.append(prop.get_browse_name()) + selected_paths.append(browse_name) return clauses -def where_clause_from_evtype(evtypes): +async def where_clause_from_evtype(evtypes): cf = ua.ContentFilter() el = ua.ContentFilterElement() - # operands can be ElementOperand, LiteralOperand, AttributeOperand, SimpleAttribute # Create a clause where the generate event type property EventType # must be a subtype of events in evtypes argument @@ -144,20 +144,18 @@ def where_clause_from_evtype(evtypes): op.BrowsePath.append(ua.QualifiedName("EventType", 0)) op.AttributeId = ua.AttributeIds.Value el.FilterOperands.append(op) - # now create a list of all subtypes we want to accept subtypes = [] for evtype in evtypes: - subtypes += [st.nodeid for st in ua_utils.get_node_subtypes(evtype)] + for st in await ua_utils.get_node_subtypes(evtype): + subtypes.append(st.nodeid) subtypes = list(set(subtypes)) # remove duplicates for subtypeid in subtypes: op = ua.LiteralOperand() op.Value = ua.Variant(subtypeid) el.FilterOperands.append(op) - el.FilterOperator = ua.FilterOperator.InList cf.Elements.append(el) - return cf @@ -165,7 +163,7 @@ async def get_event_properties_from_type_node(node): properties = [] curr_node = node while True: - properties.extend(curr_node.get_properties()) + properties.extend(await curr_node.get_properties()) if curr_node.nodeid.Identifier == ua.ObjectIds.BaseEventType: break parents = await curr_node.get_referenced_nodes( diff --git a/tests/conftest.py b/tests/conftest.py index e463be37f..cbdf76f5f 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,19 +1,73 @@ import pytest +from collections import namedtuple from opcua import Client from opcua import Server from .test_common import add_server_methods +from .util_enum_struct import add_server_custom_enum_struct -port_num1 = 48510 port_num = 48540 +port_num1 = 48510 +port_discovery = 48550 +Opc = namedtuple('opc', ['opc', 'server']) def pytest_generate_tests(metafunc): if 'opc' in metafunc.fixturenames: metafunc.parametrize('opc', ['client', 'server'], indirect=True) +@pytest.fixture() +async def server(): + # start our own server + srv = Server() + await srv.init() + srv.set_endpoint(f'opc.tcp://127.0.0.1:{port_num}') + await add_server_methods(srv) + await srv.start() + yield srv + # stop the server + await srv.stop() + + +@pytest.fixture() +async def discovery_server(): + # start our own server + srv = Server() + await srv.init() + await srv.set_application_uri('urn:freeopcua:python:discovery') + srv.set_endpoint(f'opc.tcp://127.0.0.1:{port_discovery}') + await srv.start() + yield srv + # stop the server + await srv.stop() + + +@pytest.fixture() +async def admin_client(): + # start admin client + # long timeout since travis (automated testing) can be really slow + clt = Client(f'opc.tcp://admin@127.0.0.1:{port_num1}', timeout=10) + await clt.connect() + yield clt + await clt.disconnect() + + +@pytest.fixture() +async def client(): + # start anonymous client + ro_clt = Client(f'opc.tcp://127.0.0.1:{port_num1}') + await ro_clt.connect() + yield ro_clt + await ro_clt.disconnect() + + @pytest.fixture() async def opc(request): + """ + Fixture for tests that should run for both `Server` and `Client` + :param request: + :return: + """ if request.param == 'client': srv = Server() await srv.init() @@ -24,7 +78,7 @@ async def opc(request): # long timeout since travis (automated testing) can be really slow clt = Client(f'opc.tcp://admin@127.0.0.1:{port_num}', timeout=10) await clt.connect() - yield clt + yield Opc(clt, srv) await clt.disconnect() await srv.stop() elif request.param == 'server': @@ -32,10 +86,10 @@ async def opc(request): # start our own server srv = Server() await srv.init() - srv.set_endpoint(f'opc.tcp://127.0.0.1:{port_num}') + srv.set_endpoint(f'opc.tcp://127.0.0.1:{port_num1}') await add_server_methods(srv) await srv.start() - yield srv + yield Opc(srv, srv) # stop the server await srv.stop() else: diff --git a/tests/test_client.py b/tests/test_client.py index f73f754a9..ea53a67cf 100644 --- a/tests/test_client.py +++ b/tests/test_client.py @@ -6,47 +6,10 @@ from opcua import Server from opcua import ua -from .test_common import add_server_methods -from .util_enum_struct import add_server_custom_enum_struct - -port_num1 = 48510 _logger = logging.getLogger(__name__) pytestmark = pytest.mark.asyncio -@pytest.fixture() -async def admin_client(): - # start admin client - # long timeout since travis (automated testing) can be really slow - clt = Client(f'opc.tcp://admin@127.0.0.1:{port_num1}', timeout=10) - await clt.connect() - yield clt - await clt.disconnect() - - -@pytest.fixture() -async def client(): - # start anonymous client - ro_clt = Client(f'opc.tcp://127.0.0.1:{port_num1}') - await ro_clt.connect() - yield ro_clt - await ro_clt.disconnect() - - -@pytest.fixture() -async def server(): - # start our own server - srv = Server() - await srv.init() - srv.set_endpoint(f'opc.tcp://127.0.0.1:{port_num1}') - await add_server_methods(srv) - await add_server_custom_enum_struct(srv) - await srv.start() - yield srv - # stop the server - await srv.stop() - - async def test_service_fault(server, admin_client): request = ua.ReadRequest() request.TypeId = ua.FourByteNodeId(999) # bad type! diff --git a/tests/test_common.py b/tests/test_common.py index 0435e2f16..dc5f6bbb1 100644 --- a/tests/test_common.py +++ b/tests/test_common.py @@ -83,12 +83,12 @@ def func5(parent): async def test_find_servers(opc): - servers = await opc.find_servers() + servers = await opc.opc.find_servers() # FIXME : finish async def test_add_node_bad_args(opc): - obj = opc.get_objects_node() + obj = opc.opc.get_objects_node() with pytest.raises(TypeError): fold = await obj.add_folder(1.2, "kk") @@ -107,12 +107,12 @@ async def test_add_node_bad_args(opc): async def test_delete_nodes(opc): - obj = opc.get_objects_node() + obj = opc.opc.get_objects_node() fold = await obj.add_folder(2, "FolderToDelete") var = await fold.add_variable(2, "VarToDelete", 9.1) childs = await fold.get_children() assert var in childs - await opc.delete_nodes([var]) + await opc.opc.delete_nodes([var]) with pytest.raises(ua.UaStatusCodeError): await var.set_value(7.8) with pytest.raises(ua.UaStatusCodeError): @@ -122,10 +122,10 @@ async def test_delete_nodes(opc): async def test_delete_nodes_recursive(opc): - obj = opc.get_objects_node() + obj = opc.opc.get_objects_node() fold = await obj.add_folder(2, "FolderToDeleteR") var = await fold.add_variable(2, "VarToDeleteR", 9.1) - await opc.delete_nodes([fold, var]) + await opc.opc.delete_nodes([fold, var]) with pytest.raises(ua.UaStatusCodeError): await var.set_value(7.8) with pytest.raises(ua.UaStatusCodeError): @@ -133,7 +133,7 @@ async def test_delete_nodes_recursive(opc): async def test_delete_nodes_recursive2(opc): - obj = opc.get_objects_node() + obj = opc.opc.get_objects_node() fold = await obj.add_folder(2, "FolderToDeleteRoot") nfold = fold mynodes = [] @@ -147,16 +147,16 @@ async def test_delete_nodes_recursive2(opc): mynodes.append(var) mynodes.append(prop) mynodes.append(o) - await opc.delete_nodes([fold], recursive=True) + await opc.opc.delete_nodes([fold], recursive=True) for node in mynodes: with pytest.raises(ua.UaStatusCodeError): await node.get_browse_name() async def test_delete_references(opc): - newtype = await opc.get_node(ua.ObjectIds.HierarchicalReferences).add_reference_type(0, "HasSuperSecretVariable") + newtype = await opc.opc.get_node(ua.ObjectIds.HierarchicalReferences).add_reference_type(0, "HasSuperSecretVariable") - obj = opc.get_objects_node() + obj = opc.opc.get_objects_node() fold = await obj.add_folder(2, "FolderToRef") var = await fold.add_variable(2, "VarToRef", 42) @@ -203,16 +203,16 @@ async def test_delete_references(opc): assert [] == await fold.get_referenced_nodes(newtype) # clean-up - await opc.delete_nodes([fold, newtype], recursive=True) + await opc.opc.delete_nodes([fold, newtype], recursive=True) async def test_server_node(opc): - node = opc.get_server_node() + node = opc.opc.get_server_node() assert ua.QualifiedName('Server', 0) == await node.get_browse_name() async def test_root(opc): - root = opc.get_root_node() + root = opc.opc.get_root_node() assert ua.QualifiedName('Root', 0) == await root.get_browse_name() assert ua.LocalizedText('Root') == await root.get_display_name() nid = ua.NodeId(84, 0) @@ -220,14 +220,14 @@ async def test_root(opc): async def test_objects(opc): - objects = opc.get_objects_node() + objects = opc.opc.get_objects_node() assert ua.QualifiedName('Objects', 0) == await objects.get_browse_name() nid = ua.NodeId(85, 0) assert nid == objects.nodeid async def test_browse(opc): - objects = opc.get_objects_node() + objects = opc.opc.get_objects_node() obj = await objects.add_object(4, "browsetest") folder = await obj.add_folder(4, "folder") prop = await obj.add_property(4, "property", 1) @@ -258,7 +258,7 @@ async def test_browse(opc): async def test_browse_references(opc): - objects = opc.get_objects_node() + objects = opc.opc.get_objects_node() folder = await objects.add_folder(4, "folder") childs = await objects.get_referenced_nodes( @@ -289,33 +289,33 @@ async def test_browse_references(opc): async def test_browsename_with_spaces(opc): - o = opc.get_objects_node() + o = opc.opc.get_objects_node() v = await o.add_variable(3, 'BNVariable with spaces and %&+?/', 1.3) v2 = await o.get_child("3:BNVariable with spaces and %&+?/") assert v == v2 async def test_non_existing_path(opc): - root = opc.get_root_node() + root = opc.opc.get_root_node() with pytest.raises(ua.UaStatusCodeError): await root.get_child(['0:Objects', '0:Server', '0:nonexistingnode']) async def test_bad_attribute(opc): - root = opc.get_root_node() + root = opc.opc.get_root_node() with pytest.raises(ua.UaStatusCodeError): await root.set_value(99) async def test_get_node_by_nodeid(opc): - root = opc.get_root_node() + root = opc.opc.get_root_node() server_time_node = await root.get_child(['0:Objects', '0:Server', '0:ServerStatus', '0:CurrentTime']) - correct = opc.get_node(ua.NodeId(ua.ObjectIds.Server_ServerStatus_CurrentTime)) + correct = opc.opc.get_node(ua.NodeId(ua.ObjectIds.Server_ServerStatus_CurrentTime)) assert server_time_node == correct async def test_datetime_read(opc): - time_node = opc.get_node(ua.NodeId(ua.ObjectIds.Server_ServerStatus_CurrentTime)) + time_node = opc.opc.get_node(ua.NodeId(ua.ObjectIds.Server_ServerStatus_CurrentTime)) dt = await time_node.get_value() utcnow = datetime.utcnow() delta = utcnow - dt @@ -323,16 +323,16 @@ async def test_datetime_read(opc): async def test_datetime_write(opc): - time_node = opc.get_node(ua.NodeId(ua.ObjectIds.Server_ServerStatus_CurrentTime)) + time_node = opc.opc.get_node(ua.NodeId(ua.ObjectIds.Server_ServerStatus_CurrentTime)) now = datetime.utcnow() - objects = opc.get_objects_node() + objects = opc.opc.get_objects_node() v1 = await objects.add_variable(4, "test_datetime", now) tid = await v1.get_value() assert now == tid async def test_variant_array_dim(opc): - objects = opc.get_objects_node() + objects = opc.opc.get_objects_node() l = [[[1.0, 1.0, 1.0, 1.0], [2.0, 2.0, 2.0, 2.0], [3.0, 3.0, 3.0, 3.0]], [[5.0, 5.0, 5.0, 5.0], [7.0, 8.0, 9.0, 01.0], [1.0, 1.0, 1.0, 1.0]]] v = await objects.add_variable(3, 'variableWithDims', l) @@ -360,7 +360,7 @@ async def test_variant_array_dim(opc): async def test_add_numeric_variable(opc): - objects = opc.get_objects_node() + objects = opc.opc.get_objects_node() v = await objects.add_variable('ns=3;i=888;', '3:numericnodefromstring', 99) nid = ua.NodeId(888, 3) qn = ua.QualifiedName('numericnodefromstring', 3) @@ -369,7 +369,7 @@ async def test_add_numeric_variable(opc): async def test_add_string_variable(opc): - objects = opc.get_objects_node() + objects = opc.opc.get_objects_node() v = await objects.add_variable('ns=3;s=stringid;', '3:stringnodefromstring', [68]) nid = ua.NodeId('stringid', 3) qn = ua.QualifiedName('stringnodefromstring', 3) @@ -378,7 +378,7 @@ async def test_add_string_variable(opc): async def test_utf8(opc): - objects = opc.get_objects_node() + objects = opc.opc.get_objects_node() utf_string = "æøå@%&" bn = ua.QualifiedName(utf_string, 3) nid = ua.NodeId("æølå", 3) @@ -392,7 +392,7 @@ async def test_utf8(opc): async def test_null_variable(opc): - objects = opc.get_objects_node() + objects = opc.opc.get_objects_node() var = await objects.add_variable(3, 'nullstring', "a string") await var.set_value(None) val = await var.get_value() @@ -404,7 +404,7 @@ async def test_null_variable(opc): async def test_variable_data_type(opc): - objects = opc.get_objects_node() + objects = opc.opc.get_objects_node() var = await objects.add_variable(3, 'stringfordatatype', "a string") val = await var.get_data_type_as_variant_type() assert ua.VariantType.String == val @@ -414,7 +414,7 @@ async def test_variable_data_type(opc): async def test_add_string_array_variable(opc): - objects = opc.get_objects_node() + objects = opc.opc.get_objects_node() v = await objects.add_variable('ns=3;s=stringarrayid;', '9:stringarray', ['l', 'b']) nid = ua.NodeId('stringarrayid', 3) qn = ua.QualifiedName('stringarray', 9) @@ -425,7 +425,7 @@ async def test_add_string_array_variable(opc): async def test_add_numeric_node(opc): - objects = opc.get_objects_node() + objects = opc.opc.get_objects_node() nid = ua.NodeId(9999, 3) qn = ua.QualifiedName('AddNodeVar1', 3) v1 = await objects.add_variable(nid, qn, 0) @@ -434,7 +434,7 @@ async def test_add_numeric_node(opc): async def test_add_string_node(opc): - objects = opc.get_objects_node() + objects = opc.opc.get_objects_node() qn = ua.QualifiedName('AddNodeVar2', 3) nid = ua.NodeId('AddNodeVar2Id', 3) v2 = await objects.add_variable(nid, qn, 0) @@ -443,22 +443,22 @@ async def test_add_string_node(opc): async def test_add_find_node_(opc): - objects = opc.get_objects_node() + objects = opc.opc.get_objects_node() o = await objects.add_object('ns=2;i=101;', '2:AddFindObject') o2 = await objects.get_child('2:AddFindObject') assert o == o2 async def test_node_path(opc): - objects = opc.get_objects_node() + objects = opc.opc.get_objects_node() o = await objects.add_object('ns=2;i=105;', '2:NodePathObject') - root = opc.get_root_node() + root = opc.opc.get_root_node() o2 = await root.get_child(['0:Objects', '2:NodePathObject']) assert o == o2 async def test_add_read_node(opc): - objects = opc.get_objects_node() + objects = opc.opc.get_objects_node() o = await objects.add_object('ns=2;i=102;', '2:AddReadObject') nid = ua.NodeId(102, 2) assert nid == o.nodeid @@ -467,33 +467,33 @@ async def test_add_read_node(opc): async def test_simple_value(opc): - o = opc.get_objects_node() + o = opc.opc.get_objects_node() v = await o.add_variable(3, 'VariableTestValue', 4.32) val = await v.get_value() assert 4.32 == val async def test_add_exception(opc): - objects = opc.get_objects_node() + objects = opc.opc.get_objects_node() await objects.add_object('ns=2;i=103;', '2:AddReadObject') with pytest.raises(ua.UaStatusCodeError): await objects.add_object('ns=2;i=103;', '2:AddReadObject') async def test_negative_value(opc): - o = opc.get_objects_node() + o = opc.opc.get_objects_node() v = await o.add_variable(3, 'VariableNegativeValue', 4) await v.set_value(-4.54) assert -4.54 == await v.get_value() async def test_read_server_state(opc): - statenode = opc.get_node(ua.NodeId(ua.ObjectIds.Server_ServerStatus_State)) + statenode = opc.opc.get_node(ua.NodeId(ua.ObjectIds.Server_ServerStatus_State)) assert 0 == await statenode.get_value() async def test_bad_node(opc): - bad = opc.get_node(ua.NodeId(999, 999)) + bad = opc.opc.get_node(ua.NodeId(999, 999)) with pytest.raises(ua.UaStatusCodeError): await bad.get_browse_name() with pytest.raises(ua.UaStatusCodeError): @@ -505,7 +505,7 @@ async def test_bad_node(opc): async def test_value(opc): - o = opc.get_objects_node() + o = opc.opc.get_objects_node() var = ua.Variant(1.98, ua.VariantType.Double) v = await o.add_variable(3, 'VariableValue', var) assert 1.98 == await v.get_value() @@ -517,7 +517,7 @@ async def test_value(opc): async def test_set_value(opc): - o = opc.get_objects_node() + o = opc.opc.get_objects_node() var = ua.Variant(1.98, ua.VariantType.Double) dvar = ua.DataValue(var) v = await o.add_variable(3, 'VariableValue', var) @@ -533,13 +533,13 @@ async def test_set_value(opc): async def test_array_value(opc): - o = opc.get_objects_node() + o = opc.opc.get_objects_node() v = await o.add_variable(3, 'VariableArrayValue', [1, 2, 3]) assert [1, 2, 3] == await v.get_value() async def test_bool_variable(opc): - o = opc.get_objects_node() + o = opc.opc.get_objects_node() v = await o.add_variable(3, 'BoolVariable', True) dt = await v.get_data_type_as_variant_type() assert ua.VariantType.Boolean == dt @@ -551,23 +551,23 @@ async def test_bool_variable(opc): async def test_array_size_one_value(opc): - o = opc.get_objects_node() + o = opc.opc.get_objects_node() v = await o.add_variable(3, 'VariableArrayValue', [1, 2, 3]) await v.set_value([1]) assert [1] == await v.get_value() async def test_use_namespace(opc): - idx = await opc.get_namespace_index("urn:freeopcua:python:server") + idx = await opc.opc.get_namespace_index("urn:freeopcua:python:server") assert 1 == idx - root = opc.get_root_node() + root = opc.opc.get_root_node() myvar = await root.add_variable(idx, 'var_in_custom_namespace', [5]) myid = myvar.nodeid assert idx == myid.NamespaceIndex async def test_method(opc): - o = opc.get_objects_node() + o = opc.opc.get_objects_node() await o.get_child("2:ServerMethod") result = await o.call_method("2:ServerMethod", 2.1) assert 4.2 == result @@ -579,7 +579,7 @@ async def test_method(opc): async def test_method_array(opc): - o = opc.get_objects_node() + o = opc.opc.get_objects_node() m = await o.get_child("2:ServerMethodArray") result = await o.call_method(m, "sin", ua.Variant(math.pi)) assert result < 0.01 @@ -592,7 +592,7 @@ async def test_method_array(opc): async def test_method_array2(opc): - o = opc.get_objects_node() + o = opc.opc.get_objects_node() m = o.get_child("2:ServerMethodArray2") result = await o.call_method(m, [1.1, 3.4, 9]) assert [2.2, 6.8, 18] == result @@ -601,7 +601,7 @@ async def test_method_array2(opc): async def test_method_tuple(opc): - o = opc.get_objects_node() + o = opc.opc.get_objects_node() m = await o.get_child("2:ServerMethodTuple") result = await o.call_method(m) assert [1, 2, 3] == result @@ -611,7 +611,7 @@ async def test_method_tuple(opc): async def test_method_none(opc): # this test calls the function linked to the type's method.. - o = await opc.get_node(ua.ObjectIds.BaseObjectType).get_child("2:ObjectWithMethodsType") + o = await opc.opc.get_node(ua.ObjectIds.BaseObjectType).get_child("2:ObjectWithMethodsType") m = await o.get_child("2:ServerMethodDefault") result = await o.call_method(m) assert result is None @@ -620,7 +620,7 @@ async def test_method_none(opc): async def test_add_nodes(opc): - objects = opc.get_objects_node() + objects = opc.opc.get_objects_node() f = await objects.add_folder(3, 'MyFolder') child = await objects.get_child("3:MyFolder") assert child == f @@ -640,7 +640,7 @@ async def test_add_nodes(opc): async def test_modelling_rules(opc): - obj = await opc.nodes.base_object_type.add_object_type(2, 'MyFooObjectType') + obj = await opc.opc.nodes.base_object_type.add_object_type(2, 'MyFooObjectType') v = await obj.add_variable(2, "myvar", 1.1) await v.set_modelling_rule(True) p = await obj.add_property(2, "myvar", 1.1) @@ -650,10 +650,10 @@ async def test_modelling_rules(opc): assert 0 == len(refs) refs = await v.get_referenced_nodes(refs=ua.ObjectIds.HasModellingRule) - assert opc.get_node(ua.ObjectIds.ModellingRule_Mandatory) == refs[0] + assert opc.opc.get_node(ua.ObjectIds.ModellingRule_Mandatory) == refs[0] refs = await p.get_referenced_nodes(refs=ua.ObjectIds.HasModellingRule) - assert opc.get_node(ua.ObjectIds.ModellingRule_Optional) == refs[0] + assert opc.opc.get_node(ua.ObjectIds.ModellingRule_Optional) == refs[0] await p.set_modelling_rule(None) refs = await p.get_referenced_nodes(refs=ua.ObjectIds.HasModellingRule) @@ -661,7 +661,7 @@ async def test_modelling_rules(opc): async def test_incl_subtypes(opc): - base_type = await opc.get_root_node().get_child(["0:Types", "0:ObjectTypes", "0:BaseObjectType"]) + base_type = await opc.opc.get_root_node().get_child(["0:Types", "0:ObjectTypes", "0:BaseObjectType"]) descs = await base_type.get_children_descriptions(includesubtypes=True) assert len(descs) > 10 descs = await base_type.get_children_descriptions(includesubtypes=False) @@ -669,7 +669,7 @@ async def test_incl_subtypes(opc): async def test_add_node_with_type(opc): - objects = opc.get_objects_node() + objects = opc.opc.get_objects_node() f = await objects.add_folder(3, 'MyFolder_TypeTest') o = await f.add_object(3, 'MyObject1', ua.ObjectIds.BaseObjectType) @@ -678,7 +678,7 @@ async def test_add_node_with_type(opc): o = await f.add_object(3, 'MyObject2', ua.NodeId(ua.ObjectIds.BaseObjectType, 0)) assert ua.ObjectIds.BaseObjectType == (await o.get_type_definition()).Identifier - base_otype = opc.get_node(ua.ObjectIds.BaseObjectType) + base_otype = opc.opc.get_node(ua.ObjectIds.BaseObjectType) custom_otype = await base_otype.add_object_type(2, 'MyFooObjectType') o = await f.add_object(3, 'MyObject3', custom_otype.nodeid) @@ -690,7 +690,7 @@ async def test_add_node_with_type(opc): async def test_references_for_added_nodes(opc): - objects = opc.get_objects_node() + objects = opc.opc.get_objects_node() o = await objects.add_object(3, 'MyObject') nodes = await objects.get_referenced_nodes( refs=ua.ObjectIds.Organizes, direction=ua.BrowseDirection.Forward, includesubtypes=False @@ -748,7 +748,7 @@ async def test_references_for_added_nodes(opc): async def test_path_string(opc): - o = await (await opc.nodes.objects.add_folder(1, "titif")).add_object(3, "opath") + o = await (await opc.opc.nodes.objects.add_folder(1, "titif")).add_object(3, "opath") path = await o.get_path(as_string=True) assert ["0:Root", "0:Objects", "1:titif", "3:opath"] == path path = await o.get_path(2, as_string=True) @@ -756,28 +756,28 @@ async def test_path_string(opc): async def test_path(opc): - of = await opc.nodes.objects.add_folder(1, "titif") + of = await opc.opc.nodes.objects.add_folder(1, "titif") op = await of.add_object(3, "opath") path = await op.get_path() - assert [opc.nodes.root, opc.nodes.objects, of, op] == path + assert [opc.opc.nodes.root, opc.opc.nodes.objects, of, op] == path path = await op.get_path(2) assert [of, op] == path - target = opc.get_node("i=13387") + target = opc.opc.get_node("i=13387") path = await target.get_path() assert [ - opc.nodes.root, opc.nodes.types, opc.nodes.object_types, opc.nodes.base_object_type, - opc.nodes.folder_type, opc.get_node(ua.ObjectIds.FileDirectoryType), target + opc.opc.nodes.root, opc.opc.nodes.types, opc.opc.nodes.object_types, opc.opc.nodes.base_object_type, + opc.opc.nodes.folder_type, opc.opc.get_node(ua.ObjectIds.FileDirectoryType), target ] == path async def test_get_endpoints(opc): - endpoints = await opc.get_endpoints() + endpoints = await opc.opc.get_endpoints() assert len(endpoints) > 0 - assert endpoints[0].EndpointUrl.startswith("opc.tcp://") + assert endpoints[0].EndpointUrl.startswith("opc.opc.tcp://") async def test_copy_node(opc): - dev_t = await opc.nodes.base_data_type.add_object_type(0, "MyDevice") + dev_t = await opc.opc.nodes.base_data_type.add_object_type(0, "MyDevice") v_t = await dev_t.add_variable(0, "sensor", 1.0) p_t = await dev_t.add_property(0, "sensor_id", "0340") ctrl_t = await dev_t.add_object(0, "controller") @@ -786,7 +786,7 @@ async def test_copy_node(opc): devd_t = await dev_t.add_object_type(0, "MyDeviceDervived") v_t = await devd_t.add_variable(0, "childparam", 1.0) p_t = await devd_t.add_property(0, "sensorx_id", "0340") - nodes = await copy_node(opc.nodes.objects, dev_t) + nodes = await copy_node(opc.opc.nodes.objects, dev_t) mydevice = nodes[0] assert ua.NodeClass.ObjectType == await mydevice.get_node_class() assert 4 == len(await mydevice.get_children()) @@ -799,7 +799,7 @@ async def test_copy_node(opc): async def test_instantiate_1(opc): # Create device type - dev_t = await opc.nodes.base_object_type.add_object_type(0, "MyDevice") + dev_t = await opc.opc.nodes.base_object_type.add_object_type(0, "MyDevice") v_t = await dev_t.add_variable(0, "sensor", 1.0) await v_t.set_modelling_rule(True) p_t = await dev_t.add_property(0, "sensor_id", "0340") @@ -821,7 +821,7 @@ async def test_instantiate_1(opc): await p_t.set_modelling_rule(True) # instanciate device - nodes = await instantiate(opc.nodes.objects, dev_t, bname="2:Device0001") + nodes = await instantiate(opc.opc.nodes.objects, dev_t, bname="2:Device0001") mydevice = nodes[0] assert ua.NodeClass.Object == await mydevice.get_node_class() @@ -838,7 +838,7 @@ async def test_instantiate_1(opc): assert prop.nodeid != prop_t.nodeid # instanciate device subtype - nodes = await instantiate(opc.nodes.objects, devd_t, bname="2:Device0002") + nodes = await instantiate(opc.opc.nodes.objects, devd_t, bname="2:Device0002") mydevicederived = nodes[0] prop1 = await mydevicederived.get_child(["0:sensorx_id"]) var1 = await mydevicederived.get_child(["0:childparam"]) @@ -848,7 +848,7 @@ async def test_instantiate_1(opc): async def test_instantiate_string_nodeid(opc): # Create device type - dev_t = await opc.nodes.base_object_type.add_object_type(0, "MyDevice2") + dev_t = await opc.opc.nodes.base_object_type.add_object_type(0, "MyDevice2") v_t = await dev_t.add_variable(0, "sensor", 1.0) await v_t.set_modelling_rule(True) p_t = await dev_t.add_property(0, "sensor_id", "0340") @@ -859,7 +859,7 @@ async def test_instantiate_string_nodeid(opc): await prop_t.set_modelling_rule(True) # instanciate device - nodes = await instantiate(opc.nodes.objects, dev_t, nodeid=ua.NodeId("InstDevice", 2, ua.NodeIdType.String), + nodes = await instantiate(opc.opc.nodes.objects, dev_t, nodeid=ua.NodeId("InstDevice", 2, ua.NodeIdType.String), bname="2:InstDevice") mydevice = nodes[0] @@ -875,13 +875,13 @@ async def test_instantiate_string_nodeid(opc): async def test_variable_with_datatype(opc): - v1 = await opc.nodes.objects.add_variable( + v1 = await opc.opc.nodes.objects.add_variable( 3, 'VariableEnumType1', ua.ApplicationType.ClientAndServer, datatype=ua.NodeId(ua.ObjectIds.ApplicationType) ) tp1 = await v1.get_data_type() assert tp1 == ua.NodeId(ua.ObjectIds.ApplicationType) - v2 = await opc.nodes.objects.add_variable( + v2 = await opc.opc.nodes.objects.add_variable( 3, 'VariableEnumType2', ua.ApplicationType.ClientAndServer, datatype=ua.NodeId(ua.ObjectIds.ApplicationType) ) tp2 = await v2.get_data_type() @@ -890,7 +890,7 @@ async def test_variable_with_datatype(opc): async def test_enum(opc): # create enum type - enums = await opc.get_root_node().get_child(["0:Types", "0:DataTypes", "0:BaseDataType", "0:Enumeration"]) + enums = await opc.opc.get_root_node().get_child(["0:Types", "0:DataTypes", "0:BaseDataType", "0:Enumeration"]) myenum_type = await enums.add_data_type(0, "MyEnum") es = await myenum_type.add_variable( 0, "EnumStrings", [ua.LocalizedText("String0"), ua.LocalizedText("String1"), ua.LocalizedText("String2")], @@ -898,7 +898,7 @@ async def test_enum(opc): ) # es.set_value_rank(1) # instantiate - o = opc.get_objects_node() + o = opc.opc.get_objects_node() myvar = await o.add_variable(2, "MyEnumVar", ua.LocalizedText("String1"), datatype=myenum_type.nodeid) # myvar.set_writable(True) # tests @@ -907,13 +907,13 @@ async def test_enum(opc): async def test_supertypes(opc): - nint32 = opc.get_node(ua.ObjectIds.Int32) + nint32 = opc.opc.get_node(ua.ObjectIds.Int32) node = await ua_utils.get_node_supertype(nint32) - assert opc.get_node(ua.ObjectIds.Integer) == node + assert opc.opc.get_node(ua.ObjectIds.Integer) == node nodes = await ua_utils.get_node_supertypes(nint32) - assert opc.get_node(ua.ObjectIds.Number) == nodes[1] - assert opc.get_node(ua.ObjectIds.Integer) == nodes[0] + assert opc.opc.get_node(ua.ObjectIds.Number) == nodes[1] + assert opc.opc.get_node(ua.ObjectIds.Integer) == nodes[0] # test custom dtype = await nint32.add_data_type(0, "MyCustomDataType") @@ -926,16 +926,16 @@ async def test_supertypes(opc): async def test_base_data_type(opc): - nint32 = opc.get_node(ua.ObjectIds.Int32) + nint32 = opc.opc.get_node(ua.ObjectIds.Int32) dtype = await nint32.add_data_type(0, "MyCustomDataType") dtype2 = await dtype.add_data_type(0, "MyCustomDataType2") assert nint32 == await ua_utils.get_base_data_type(dtype) assert nint32 == await ua_utils.get_base_data_type(dtype2) - ext = await opc.nodes.objects.add_variable(0, "MyExtensionObject", ua.Argument()) + ext = await opc.opc.nodes.objects.add_variable(0, "MyExtensionObject", ua.Argument()) d = await ext.get_data_type() - d = opc.get_node(d) - assert opc.get_node(ua.ObjectIds.Structure) == await ua_utils.get_base_data_type(d) + d = opc.opc.get_node(d) + assert opc.opc.get_node(ua.ObjectIds.Structure) == await ua_utils.get_base_data_type(d) assert ua.VariantType.ExtensionObject == await ua_utils.data_type_to_variant_type(d) @@ -955,4 +955,4 @@ async def test_data_type_to_variant_type(opc): ua.ObjectIds.AxisScaleEnumeration: ua.VariantType.Int32 # enumeration } for dt, vdt in test_data.items(): - assert vdt == await ua_utils.data_type_to_variant_type(opc.get_node(ua.NodeId(dt))) + assert vdt == await ua_utils.data_type_to_variant_type(opc.opc.get_node(ua.NodeId(dt))) diff --git a/tests/test_server.py b/tests/test_server.py index 7b2a36b21..3667dd87b 100644 --- a/tests/test_server.py +++ b/tests/test_server.py @@ -7,12 +7,7 @@ import logging import os import shelve - -from .test_common import add_server_methods -from .tests_xml import XmlTests -from .tests_subscriptions import SubscriptionTests -from datetime import timedelta, datetime -from tempfile import NamedTemporaryFile +from datetime import timedelta import opcua from opcua import Server @@ -23,38 +18,10 @@ AuditOpenSecureChannelEvent from opcua.common import ua_utils -port_num = 48540 -port_discovery = 48550 pytestmark = pytest.mark.asyncio _logger = logging.getLogger(__name__) -@pytest.fixture() -async def server(): - # start our own server - srv = Server() - await srv.init() - srv.set_endpoint(f'opc.tcp://127.0.0.1:{port_num}') - await add_server_methods(srv) - await srv.start() - yield srv - # stop the server - await srv.stop() - - -@pytest.fixture() -async def discovery_server(): - # start our own server - srv = Server() - await srv.init() - await srv.set_application_uri('urn:freeopcua:python:discovery') - srv.set_endpoint(f'opc.tcp://127.0.0.1:{port_discovery}') - await srv.start() - yield srv - # stop the server - await srv.stop() - - async def test_discovery(server, discovery_server): client = Client(discovery_server.endpoint.geturl()) async with client: diff --git a/tests/test_subscriptions.py b/tests/test_subscriptions.py new file mode 100644 index 000000000..1c7d8cf45 --- /dev/null +++ b/tests/test_subscriptions.py @@ -0,0 +1,556 @@ +import time +import pytest +from asyncio import Future, sleep, wait_for +from datetime import datetime, timedelta + +import opcua +from opcua import ua + +pytestmark = pytest.mark.asyncio + + +class SubHandler: + """ + Dummy subscription client + """ + + def datachange_notification(self, node, val, data): + pass + + def event_notification(self, event): + pass + + +class MySubHandler: + """ + More advanced subscription client using Future, so we can wait for events in tests + """ + + def __init__(self): + self.future = Future() + + def reset(self): + self.future = Future() + + async def result(self): + return await wait_for(self.future, 2) + + def datachange_notification(self, node, val, data): + self.future.set_result((node, val, data)) + + def event_notification(self, event): + self.future.set_result(event) + + +class MySubHandler2: + def __init__(self): + self.results = [] + + def datachange_notification(self, node, val, data): + self.results.append((node, val)) + + def event_notification(self, event): + self.results.append(event) + + +class MySubHandlerCounter(): + def __init__(self): + self.datachange_count = 0 + self.event_count = 0 + + def datachange_notification(self, node, val, data): + self.datachange_count += 1 + + def event_notification(self, event): + self.event_count += 1 + + +async def test_subscription_failure(opc): + myhandler = MySubHandler() + o = opc.get_objects_node() + sub = await opc.create_subscription(100, myhandler) + with pytest.raises(ua.UaStatusCodeError): + handle1 = sub.subscribe_data_change(o) # we can only subscribe to variables so this should fail + sub.delete() + + +async def test_subscription_overload(opc): + nb = 10 + myhandler = MySubHandler() + o = opc.opc.get_objects_node() + sub = await opc.opc.create_subscription(1, myhandler) + variables = [] + subs = [] + for i in range(nb): + v = await o.add_variable(3, f'SubscriptionVariableOverload{i}', 99) + variables.append(v) + for i in range(nb): + sub.subscribe_data_change(variables) + for i in range(nb): + for j in range(nb): + await variables[i].set_value(j) + s = await opc.opc.create_subscription(1, myhandler) + s.subscribe_data_change(variables) + subs.append(s) + sub.subscribe_data_change(variables[i]) + for i in range(nb): + for j in range(nb): + await variables[i].set_value(j) + sub.delete() + for s in subs: + s.delete() + + +async def test_subscription_count(opc): + myhandler = MySubHandlerCounter() + sub = await opc.opc.create_subscription(1, myhandler) + o = opc.opc.get_objects_node() + var = await o.add_variable(3, 'SubVarCounter', 0.1) + sub.subscribe_data_change(var) + nb = 12 + for i in range(nb): + val = await var.get_value() + await var.set_value(val + 1) + await sleep(0.2) # let last event arrive + assert nb + 1 == myhandler.datachange_count + sub.delete() + + +async def test_subscription_count_list(opc): + myhandler = MySubHandlerCounter() + sub = await opc.opc.create_subscription(1, myhandler) + o = opc.opc.get_objects_node() + var = await o.add_variable(3, 'SubVarCounter', [0.1, 0.2]) + sub.subscribe_data_change(var) + nb = 12 + for i in range(nb): + val = await var.get_value() + val.append(i) + await var.set_value(val) + await sleep(0.2) # let last event arrive + assert nb + 1 == myhandler.datachange_count + sub.delete() + + +async def test_subscription_count_no_change(opc): + myhandler = MySubHandlerCounter() + sub = opc.create_subscription(1, myhandler) + o = opc.get_objects_node() + var = o.add_variable(3, 'SubVarCounter', [0.1, 0.2]) + sub.subscribe_data_change(var) + nb = 12 + for i in range(nb): + val = var.get_value() + var.set_value(val) + await sleep(0.2) # let last event arrive + assert 1 == myhandler.datachange_count + sub.delete() + + +async def test_subscription_count_empty(opc): + myhandler = MySubHandlerCounter() + sub = await opc.opc.create_subscription(1, myhandler) + o = opc.opc.get_objects_node() + var = await o.add_variable(3, 'SubVarCounter', [0.1, 0.2, 0.3]) + sub.subscribe_data_change(var) + while True: + val = await var.get_value() + val.pop() + await var.set_value(val, ua.VariantType.Double) + if not val: + break + await sleep(0.2) # let last event arrive + assert 4 == myhandler.datachange_count + sub.delete() + + +async def test_subscription_overload_simple(opc): + nb = 10 + myhandler = MySubHandler() + o = opc.opc.get_objects_node() + sub = await opc.opc.create_subscription(1, myhandler) + variables = [] + for i in range(nb): + variables.append(await o.add_variable(3, f'SubVarOverload{i}', i)) + for i in range(nb): + sub.subscribe_data_change(variables) + sub.delete() + + +async def test_subscription_data_change(opc): + """ + test subscriptions. This is far too complicated for + a unittest but, setting up subscriptions requires a lot + of code, so when we first set it up, it is best + to test as many things as possible + """ + myhandler = MySubHandler() + o = opc.opc.get_objects_node() + # subscribe to a variable + startv1 = [1, 2, 3] + v1 = await o.add_variable(3, 'SubscriptionVariableV1', startv1) + sub = await opc.opc.create_subscription(100, myhandler) + handle1 = await sub.subscribe_data_change(v1) + # Now check we get the start value + node, val, data = await myhandler.result() + assert startv1 == val + assert v1 == node + myhandler.reset() # reset future object + # modify v1 and check we get value + await v1.set_value([5]) + node, val, data = await myhandler.result() + assert v1 == node + assert [5] == val + with pytest.raises(ua.UaStatusCodeError): + await sub.unsubscribe(999) # non existing handle + await sub.unsubscribe(handle1) + with pytest.raises(ua.UaStatusCodeError): + await sub.unsubscribe(handle1) # second try should fail + sub.delete() + with pytest.raises(ua.UaStatusCodeError): + await sub.unsubscribe(handle1) # sub does not exist anymore + + +async def test_subscription_data_change_bool(opc): + """ + test subscriptions. This is far too complicated for + a unittest but, setting up subscriptions requires a lot + of code, so when we first set it up, it is best + to test as many things as possible + """ + myhandler = MySubHandler() + o = opc.opc.get_objects_node() + # subscribe to a variable + startv1 = True + v1 = await o.add_variable(3, 'SubscriptionVariableBool', startv1) + sub = await opc.opc.create_subscription(100, myhandler) + handle1 = await sub.subscribe_data_change(v1) + # Now check we get the start value + node, val, data = await myhandler.result() + assert startv1 == val + assert v1 == node + myhandler.reset() # reset future object + # modify v1 and check we get value + await v1.set_value(False) + node, val, data = await myhandler.result() + assert v1 == node + assert val is False + sub.delete() # should delete our monitoreditem too + + +async def test_subscription_data_change_many(opc): + """ + test subscriptions. This is far too complicated for + a unittest but, setting up subscriptions requires a lot + of code, so when we first set it up, it is best + to test as many things as possible + """ + myhandler = MySubHandler2() + o = opc.opc.get_objects_node() + startv1 = True + v1 = await o.add_variable(3, 'SubscriptionVariableMany1', startv1) + startv2 = [1.22, 1.65] + v2 = await o.add_variable(3, 'SubscriptionVariableMany2', startv2) + sub = await opc.opc.create_subscription(100, myhandler) + handle1, handle2 = await sub.subscribe_data_change([v1, v2]) + # Now check we get the start values + nodes = [v1, v2] + count = 0 + while not len(myhandler.results) > 1: + count += 1 + await sleep(0.1) + if count > 100: + raise RuntimeError("Did not get result from subscription") + for node, val in myhandler.results: + assert node in nodes + nodes.remove(node) + if node == v1: + assert val == startv1 + elif node == v2: + assert val == startv2 + else: + raise RuntimeError("Error node {0} is neither {1} nor {2}".format(node, v1, v2)) + sub.delete() + + +async def test_subscribe_server_time(opc): + myhandler = MySubHandler() + server_time_node = opc.opc.get_node(ua.NodeId(ua.ObjectIds.Server_ServerStatus_CurrentTime)) + sub = await opc.opc.create_subscription(200, myhandler) + handle = await sub.subscribe_data_change(server_time_node) + node, val, data = await myhandler.result() + assert server_time_node == node + delta = datetime.utcnow() - val + assert delta < timedelta(seconds=2) + await sub.unsubscribe(handle) + sub.delete() + + +async def test_create_delete_subscription(opc): + o = opc.opc.get_objects_node() + v = await o.add_variable(3, 'SubscriptionVariable', [1, 2, 3]) + sub = await opc.opc.create_subscription(100, MySubHandler()) + handle = await sub.subscribe_data_change(v) + await sleep(0.1) + await sub.unsubscribe(handle) + sub.delete() + + +async def test_subscribe_events(opc): + sub = await opc.opc.create_subscription(100, MySubHandler()) + handle = await sub.subscribe_events() + await sleep(0.1) + await sub.unsubscribe(handle) + sub.delete() + + +async def test_subscribe_events_to_wrong_node(opc): + sub = await opc.opc.create_subscription(100, MySubHandler()) + with pytest.raises(ua.UaStatusCodeError): + handle = await sub.subscribe_events(opc.opc.get_node("i=85")) + o = opc.opc.get_objects_node() + v = await o.add_variable(3, 'VariableNoEventNofierAttribute', 4) + with pytest.raises(ua.UaStatusCodeError): + handle = await sub.subscribe_events(v) + sub.delete() + + +async def test_get_event_from_type_node_BaseEvent(opc): + etype = opc.opc.get_node(ua.ObjectIds.BaseEventType) + properties = await opcua.common.events.get_event_properties_from_type_node(etype) + for child in await etype.get_properties(): + assert child in properties + + +async def test_get_event_from_type_node_CustomEvent(opc): + etype = await opc.server.create_custom_event_type( + 2, 'MyEvent', ua.ObjectIds.AuditEventType, + [('PropertyNum', ua.VariantType.Float), ('PropertyString', ua.VariantType.String)] + ) + properties = await opcua.common.events.get_event_properties_from_type_node(etype) + for child in await opc.opc.get_node(ua.ObjectIds.BaseEventType).get_properties(): + assert child in properties + for child in await opc.opc.get_node(ua.ObjectIds.AuditEventType).get_properties(): + assert child in properties + for child in await opc.opc.get_node(etype.nodeid).get_properties(): + assert child in properties + assert await etype.get_child("2:PropertyNum") in properties + assert await etype.get_child("2:PropertyString") in properties + + +async def test_events_default(opc): + evgen = await opc.server.get_event_generator() + myhandler = MySubHandler() + sub = await opc.opc.create_subscription(100, myhandler) + handle = await sub.subscribe_events() + tid = datetime.utcnow() + msg = "this is my msg " + evgen.trigger(tid, msg) + ev = await myhandler.result() + assert ev is not None # we did not receive event + assert ua.NodeId(ua.ObjectIds.BaseEventType) == ev.EventType + assert 1 == ev.Severity + assert (await opc.opc.get_server_node().get_browse_name()).Name == ev.SourceName + assert opc.opc.get_server_node().nodeid == ev.SourceNode + assert msg == ev.Message.Text + assert tid == ev.Time + await sub.unsubscribe(handle) + sub.delete() + + +async def test_events_MyObject(opc): + objects = opc.server.get_objects_node() + o = await objects.add_object(3, 'MyObject') + evgen = await opc.server.get_event_generator(source=o) + myhandler = MySubHandler() + sub = await opc.opc.create_subscription(100, myhandler) + handle = await sub.subscribe_events(o) + tid = datetime.utcnow() + msg = "this is my msg " + evgen.trigger(tid, msg) + ev = await myhandler.result() + assert ev is not None # we did not receive event + assert ua.NodeId(ua.ObjectIds.BaseEventType) == ev.EventType + assert 1 == ev.Severity + assert 'MyObject' == ev.SourceName + assert o.nodeid == ev.SourceNode + assert msg == ev.Message.Text + assert tid == ev.Time + await sub.unsubscribe(handle) + sub.delete() + + +async def test_events_wrong_source(opc): + objects = opc.server.get_objects_node() + o = await objects.add_object(3, 'MyObject') + evgen = await opc.server.get_event_generator(source=o) + myhandler = MySubHandler() + sub = await opc.opc.create_subscription(100, myhandler) + handle = await sub.subscribe_events() + tid = datetime.utcnow() + msg = "this is my msg " + evgen.trigger(tid, msg) + with pytest.raises(TimeoutError): # we should not receive event + ev = await myhandler.result() + await sub.unsubscribe(handle) + sub.delete() + + +async def test_events_CustomEvent(opc): + etype = opc.server.create_custom_event_type(2, 'MyEvent', ua.ObjectIds.BaseEventType, + [('PropertyNum', ua.VariantType.Float), + ('PropertyString', ua.VariantType.String)]) + evgen = opc.server.get_event_generator(etype) + myhandler = MySubHandler() + sub = opc.opc.create_subscription(100, myhandler) + handle = sub.subscribe_events(evtypes=etype) + propertynum = 2 + propertystring = "This is my test" + evgen.event.PropertyNum = propertynum + evgen.event.PropertyString = propertystring + serverity = 500 + evgen.event.Severity = serverity + tid = datetime.utcnow() + msg = "this is my msg " + evgen.trigger(tid, msg) + ev = await myhandler.result() + assert ev is not None # we did not receive event + assert etype.nodeid == ev.EventType + assert serverity == ev.Severity + assert opc.opc.get_server_node().get_browse_name().Name == ev.SourceName + assert opc.opc.get_server_node().nodeid == ev.SourceNode + assert msg == ev.Message.Text + assert tid == ev.Time + assert propertynum == ev.PropertyNum + assert propertystring == ev.PropertyString + sub.unsubscribe(handle) + sub.delete() + + +async def test_events_CustomEvent_MyObject(opc): + objects = opc.server.get_objects_node() + o = objects.add_object(3, 'MyObject') + etype = opc.server.create_custom_event_type(2, 'MyEvent', ua.ObjectIds.BaseEventType, + [('PropertyNum', ua.VariantType.Float), + ('PropertyString', ua.VariantType.String)]) + evgen = opc.server.get_event_generator(etype, o) + myhandler = MySubHandler() + sub = opc.opc.create_subscription(100, myhandler) + handle = sub.subscribe_events(o, etype) + propertynum = 2 + propertystring = "This is my test" + evgen.event.PropertyNum = propertynum + evgen.event.PropertyString = propertystring + tid = datetime.utcnow() + msg = "this is my msg " + evgen.trigger(tid, msg) + ev = await myhandler.result() + assert ev is not None # we did not receive event + assert etype.nodeid == ev.EventType + assert 1 == ev.Severity + assert 'MyObject' == ev.SourceName + assert o.nodeid == ev.SourceNode + assert msg == ev.Message.Text + assert tid == ev.Time + assert propertynum == ev.PropertyNum + assert propertystring == ev.PropertyString + sub.unsubscribe(handle) + sub.delete() + + +async def test_several_different_events(opc): + objects = opc.server.get_objects_node() + o = objects.add_object(3, 'MyObject') + etype1 = opc.server.create_custom_event_type(2, 'MyEvent1', ua.ObjectIds.BaseEventType, + [('PropertyNum', ua.VariantType.Float), + ('PropertyString', ua.VariantType.String)]) + evgen1 = await opc.server.get_event_generator(etype1, o) + etype2 = await opc.server.create_custom_event_type(2, 'MyEvent2', ua.ObjectIds.BaseEventType, + [('PropertyNum', ua.VariantType.Float), + ('PropertyString', ua.VariantType.String)]) + evgen2 = await opc.server.get_event_generator(etype2, o) + myhandler = MySubHandler2() + sub = await opc.opc.create_subscription(100, myhandler) + handle = sub.subscribe_events(o, etype1) + propertynum1 = 1 + propertystring1 = "This is my test 1" + evgen1.event.PropertyNum = propertynum1 + evgen1.event.PropertyString = propertystring1 + propertynum2 = 2 + propertystring2 = "This is my test 2" + evgen2.event.PropertyNum = propertynum2 + evgen2.event.PropertyString = propertystring2 + for i in range(3): + evgen1.trigger() + evgen2.trigger() + await sleep(1) # ToDo: replace + assert 3 == len(myhandler.results) + ev = myhandler.results[-1] + assert etype1.nodeid == ev.EventType + handle = sub.subscribe_events(o, etype2) + for i in range(4): + evgen1.trigger() + evgen2.trigger() + await sleep(1) # ToDo: replace + ev1s = [ev for ev in myhandler.results if ev.EventType == etype1.nodeid] + ev2s = [ev for ev in myhandler.results if ev.EventType == etype2.nodeid] + assert 11 == len(myhandler.results) + assert 4 == len(ev2s) + assert 7 == len(ev1s) + sub.unsubscribe(handle) + sub.delete() + + +async def test_several_different_events_2(opc): + objects = opc.server.get_objects_node() + o = objects.add_object(3, 'MyObject') + etype1 = opc.server.create_custom_event_type( + 2, 'MyEvent1', ua.ObjectIds.BaseEventType, + [('PropertyNum', ua.VariantType.Float), ('PropertyString', ua.VariantType.String)] + ) + evgen1 = opc.server.get_event_generator(etype1, o) + etype2 = opc.server.create_custom_event_type( + 2, 'MyEvent2', ua.ObjectIds.BaseEventType, + [('PropertyNum2', ua.VariantType.Float), ('PropertyString', ua.VariantType.String)] + ) + evgen2 = opc.server.get_event_generator(etype2, o) + etype3 = opc.server.create_custom_event_type( + 2, 'MyEvent3', ua.ObjectIds.BaseEventType, + [('PropertyNum3', ua.VariantType.Float), ('PropertyString', ua.VariantType.String)] + ) + evgen3 = opc.server.get_event_generator(etype3, o) + myhandler = MySubHandler2() + sub = opc.create_subscription(100, myhandler) + handle = sub.subscribe_events(o, [etype1, etype3]) + propertynum1 = 1 + propertystring1 = "This is my test 1" + evgen1.event.PropertyNum = propertynum1 + evgen1.event.PropertyString = propertystring1 + propertynum2 = 2 + propertystring2 = "This is my test 2" + evgen2.event.PropertyNum2 = propertynum2 + evgen2.event.PropertyString = propertystring2 + propertynum3 = 3 + propertystring3 = "This is my test 3" + evgen3.event.PropertyNum3 = propertynum3 + evgen3.event.PropertyString = propertystring2 + for i in range(3): + evgen1.trigger() + evgen2.trigger() + evgen3.trigger() + evgen3.event.PropertyNum3 = 9999 + evgen3.trigger() + await sleep(1) + ev1s = [ev for ev in myhandler.results if ev.EventType == etype1.nodeid] + ev2s = [ev for ev in myhandler.results if ev.EventType == etype2.nodeid] + ev3s = [ev for ev in myhandler.results if ev.EventType == etype3.nodeid] + assert 7 == len(myhandler.results) + assert 3 == len(ev1s) + assert 0 == len(ev2s) + assert 4 == len(ev3s) + assert propertynum1 == ev1s[0].PropertyNum + assert propertynum3 == ev3s[0].PropertyNum3 + assert 9999 == ev3s[-1].PropertyNum3 + assert ev1s[0].PropertyNum3 is None + sub.unsubscribe(handle) + sub.delete() diff --git a/tests/tests_subscriptions.py b/tests/tests_subscriptions.py deleted file mode 100644 index 818d935b7..000000000 --- a/tests/tests_subscriptions.py +++ /dev/null @@ -1,587 +0,0 @@ - -from concurrent.futures import Future, TimeoutError -import time -from datetime import datetime, timedelta - -import opcua -from opcua import ua - - -class SubHandler(): - - """ - Dummy subscription client - """ - - def datachange_notification(self, node, val, data): - pass - - def event_notification(self, event): - pass - - -class MySubHandler(): - - """ - More advanced subscription client using Future, so we can wait for events in tests - """ - - def __init__(self): - self.future = Future() - - def reset(self): - self.future = Future() - - def datachange_notification(self, node, val, data): - self.future.set_result((node, val, data)) - - def event_notification(self, event): - self.future.set_result(event) - - -class MySubHandler2(): - def __init__(self): - self.results = [] - - def datachange_notification(self, node, val, data): - self.results.append((node, val)) - - def event_notification(self, event): - self.results.append(event) - - -class MySubHandlerCounter(): - def __init__(self): - self.datachange_count = 0 - self.event_count = 0 - - def datachange_notification(self, node, val, data): - self.datachange_count += 1 - - def event_notification(self, event): - self.event_count += 1 - - -class SubscriptionTests(object): - - def test_subscription_failure(self): - myhandler = MySubHandler() - o = self.opc.get_objects_node() - sub = self.opc.create_subscription(100, myhandler) - with self.assertRaises(ua.UaStatusCodeError): - handle1 = sub.subscribe_data_change(o) # we can only subscribe to variables so this should fail - sub.delete() - - def test_subscription_overload(self): - nb = 10 - myhandler = MySubHandler() - o = self.opc.get_objects_node() - sub = self.opc.create_subscription(1, myhandler) - variables = [] - subs = [] - for i in range(nb): - v = o.add_variable(3, 'SubscriptionVariableOverload' + str(i), 99) - variables.append(v) - for i in range(nb): - sub.subscribe_data_change(variables) - for i in range(nb): - for j in range(nb): - variables[i].set_value(j) - s = self.opc.create_subscription(1, myhandler) - s.subscribe_data_change(variables) - subs.append(s) - sub.subscribe_data_change(variables[i]) - for i in range(nb): - for j in range(nb): - variables[i].set_value(j) - sub.delete() - for s in subs: - s.delete() - - def test_subscription_count(self): - myhandler = MySubHandlerCounter() - sub = self.opc.create_subscription(1, myhandler) - o = self.opc.get_objects_node() - var = o.add_variable(3, 'SubVarCounter', 0.1) - sub.subscribe_data_change(var) - nb = 12 - for i in range(nb): - val = var.get_value() - var.set_value(val +1) - time.sleep(0.2) # let last event arrive - self.assertEqual(myhandler.datachange_count, nb + 1) - sub.delete() - - def test_subscription_count_list(self): - myhandler = MySubHandlerCounter() - sub = self.opc.create_subscription(1, myhandler) - o = self.opc.get_objects_node() - var = o.add_variable(3, 'SubVarCounter', [0.1, 0.2]) - sub.subscribe_data_change(var) - nb = 12 - for i in range(nb): - val = var.get_value() - val.append(i) - var.set_value(val) - time.sleep(0.2) # let last event arrive - self.assertEqual(myhandler.datachange_count, nb + 1) - sub.delete() - - def test_subscription_count_no_change(self): - myhandler = MySubHandlerCounter() - sub = self.opc.create_subscription(1, myhandler) - o = self.opc.get_objects_node() - var = o.add_variable(3, 'SubVarCounter', [0.1, 0.2]) - sub.subscribe_data_change(var) - nb = 12 - for i in range(nb): - val = var.get_value() - var.set_value(val) - time.sleep(0.2) # let last event arrive - self.assertEqual(myhandler.datachange_count, 1) - sub.delete() - - def test_subscription_count_empty(self): - myhandler = MySubHandlerCounter() - sub = self.opc.create_subscription(1, myhandler) - o = self.opc.get_objects_node() - var = o.add_variable(3, 'SubVarCounter', [0.1, 0.2, 0.3]) - sub.subscribe_data_change(var) - while True: - val = var.get_value() - val.pop() - var.set_value(val, ua.VariantType.Double) - if not val: - break - time.sleep(0.2) # let last event arrive - self.assertEqual(myhandler.datachange_count, 4) - sub.delete() - - def test_subscription_overload_simple(self): - nb = 10 - myhandler = MySubHandler() - o = self.opc.get_objects_node() - sub = self.opc.create_subscription(1, myhandler) - variables = [o.add_variable(3, 'SubVarOverload' + str(i), i) for i in range(nb)] - for i in range(nb): - sub.subscribe_data_change(variables) - sub.delete() - - def test_subscription_data_change(self): - """ - test subscriptions. This is far too complicated for - a unittest but, setting up subscriptions requires a lot - of code, so when we first set it up, it is best - to test as many things as possible - """ - myhandler = MySubHandler() - - o = self.opc.get_objects_node() - - # subscribe to a variable - startv1 = [1, 2, 3] - v1 = o.add_variable(3, 'SubscriptionVariableV1', startv1) - sub = self.opc.create_subscription(100, myhandler) - handle1 = sub.subscribe_data_change(v1) - - # Now check we get the start value - node, val, data = myhandler.future.result() - self.assertEqual(val, startv1) - self.assertEqual(node, v1) - - myhandler.reset() # reset future object - - # modify v1 and check we get value - v1.set_value([5]) - node, val, data = myhandler.future.result() - - self.assertEqual(node, v1) - self.assertEqual(val, [5]) - - with self.assertRaises(ua.UaStatusCodeError): - sub.unsubscribe(999) # non existing handle - sub.unsubscribe(handle1) - with self.assertRaises(ua.UaStatusCodeError): - sub.unsubscribe(handle1) # second try should fail - sub.delete() - with self.assertRaises(ua.UaStatusCodeError): - sub.unsubscribe(handle1) # sub does not exist anymore - - def test_subscription_data_change_bool(self): - """ - test subscriptions. This is far too complicated for - a unittest but, setting up subscriptions requires a lot - of code, so when we first set it up, it is best - to test as many things as possible - """ - myhandler = MySubHandler() - - o = self.opc.get_objects_node() - - # subscribe to a variable - startv1 = True - v1 = o.add_variable(3, 'SubscriptionVariableBool', startv1) - sub = self.opc.create_subscription(100, myhandler) - handle1 = sub.subscribe_data_change(v1) - - # Now check we get the start value - node, val, data = myhandler.future.result() - self.assertEqual(val, startv1) - self.assertEqual(node, v1) - - myhandler.reset() # reset future object - - # modify v1 and check we get value - v1.set_value(False) - node, val, data = myhandler.future.result() - self.assertEqual(node, v1) - self.assertEqual(val, False) - - sub.delete() # should delete our monitoreditem too - - def test_subscription_data_change_many(self): - """ - test subscriptions. This is far too complicated for - a unittest but, setting up subscriptions requires a lot - of code, so when we first set it up, it is best - to test as many things as possible - """ - myhandler = MySubHandler2() - o = self.opc.get_objects_node() - - startv1 = True - v1 = o.add_variable(3, 'SubscriptionVariableMany1', startv1) - startv2 = [1.22, 1.65] - v2 = o.add_variable(3, 'SubscriptionVariableMany2', startv2) - - sub = self.opc.create_subscription(100, myhandler) - handle1, handle2 = sub.subscribe_data_change([v1, v2]) - - # Now check we get the start values - nodes = [v1, v2] - - count = 0 - while not len(myhandler.results) > 1: - count += 1 - time.sleep(0.1) - if count > 100: - self.fail("Did not get result from subscription") - for node, val in myhandler.results: - self.assertIn(node, nodes) - nodes.remove(node) - if node == v1: - self.assertEqual(startv1, val) - elif node == v2: - self.assertEqual(startv2, val) - else: - self.fail("Error node {0} is neither {1} nor {2}".format(node, v1, v2)) - - sub.delete() - - def test_subscribe_server_time(self): - myhandler = MySubHandler() - - server_time_node = self.opc.get_node(ua.NodeId(ua.ObjectIds.Server_ServerStatus_CurrentTime)) - - sub = self.opc.create_subscription(200, myhandler) - handle = sub.subscribe_data_change(server_time_node) - - node, val, data = myhandler.future.result() - self.assertEqual(node, server_time_node) - delta = datetime.utcnow() - val - self.assertTrue(delta < timedelta(seconds=2)) - - sub.unsubscribe(handle) - sub.delete() - - - - def test_create_delete_subscription(self): - o = self.opc.get_objects_node() - v = o.add_variable(3, 'SubscriptionVariable', [1, 2, 3]) - sub = self.opc.create_subscription(100, MySubHandler()) - handle = sub.subscribe_data_change(v) - time.sleep(0.1) - sub.unsubscribe(handle) - sub.delete() - - def test_subscribe_events(self): - sub = self.opc.create_subscription(100, MySubHandler()) - handle = sub.subscribe_events() - time.sleep(0.1) - sub.unsubscribe(handle) - sub.delete() - - def test_subscribe_events_to_wrong_node(self): - sub = self.opc.create_subscription(100, MySubHandler()) - with self.assertRaises(ua.UaStatusCodeError): - handle = sub.subscribe_events(self.opc.get_node("i=85")) - o = self.opc.get_objects_node() - v = o.add_variable(3, 'VariableNoEventNofierAttribute', 4) - with self.assertRaises(ua.UaStatusCodeError): - handle = sub.subscribe_events(v) - sub.delete() - - def test_get_event_from_type_node_BaseEvent(self): - etype = self.opc.get_node(ua.ObjectIds.BaseEventType) - properties = opcua.common.events.get_event_properties_from_type_node(etype) - for child in etype.get_properties(): - self.assertTrue(child in properties) - - def test_get_event_from_type_node_CustomEvent(self): - etype = self.srv.create_custom_event_type(2, 'MyEvent', ua.ObjectIds.AuditEventType, [('PropertyNum', ua.VariantType.Float), ('PropertyString', ua.VariantType.String)]) - - properties = opcua.common.events.get_event_properties_from_type_node(etype) - - for child in self.opc.get_node(ua.ObjectIds.BaseEventType).get_properties(): - self.assertTrue(child in properties) - for child in self.opc.get_node(ua.ObjectIds.AuditEventType).get_properties(): - self.assertTrue(child in properties) - for child in self.opc.get_node(etype.nodeid).get_properties(): - self.assertTrue(child in properties) - - self.assertTrue(etype.get_child("2:PropertyNum") in properties) - self.assertTrue(etype.get_child("2:PropertyString") in properties) - - def test_events_default(self): - evgen = self.srv.get_event_generator() - - myhandler = MySubHandler() - sub = self.opc.create_subscription(100, myhandler) - handle = sub.subscribe_events() - - tid = datetime.utcnow() - msg = "this is my msg " - evgen.trigger(tid, msg) - - ev = myhandler.future.result() - self.assertIsNot(ev, None) # we did not receive event - self.assertEqual(ev.EventType, ua.NodeId(ua.ObjectIds.BaseEventType)) - self.assertEqual(ev.Severity, 1) - self.assertEqual(ev.SourceName, self.opc.get_server_node().get_browse_name().Name) - self.assertEqual(ev.SourceNode, self.opc.get_server_node().nodeid) - self.assertEqual(ev.Message.Text, msg) - self.assertEqual(ev.Time, tid) - - # time.sleep(0.1) - sub.unsubscribe(handle) - sub.delete() - - def test_events_MyObject(self): - objects = self.srv.get_objects_node() - o = objects.add_object(3, 'MyObject') - evgen = self.srv.get_event_generator(source=o) - - myhandler = MySubHandler() - sub = self.opc.create_subscription(100, myhandler) - handle = sub.subscribe_events(o) - - tid = datetime.utcnow() - msg = "this is my msg " - evgen.trigger(tid, msg) - - ev = myhandler.future.result(10) - self.assertIsNot(ev, None) # we did not receive event - self.assertEqual(ev.EventType, ua.NodeId(ua.ObjectIds.BaseEventType)) - self.assertEqual(ev.Severity, 1) - self.assertEqual(ev.SourceName, 'MyObject') - self.assertEqual(ev.SourceNode, o.nodeid) - self.assertEqual(ev.Message.Text, msg) - self.assertEqual(ev.Time, tid) - - # time.sleep(0.1) - sub.unsubscribe(handle) - sub.delete() - - def test_events_wrong_source(self): - objects = self.srv.get_objects_node() - o = objects.add_object(3, 'MyObject') - evgen = self.srv.get_event_generator(source=o) - - myhandler = MySubHandler() - sub = self.opc.create_subscription(100, myhandler) - handle = sub.subscribe_events() - - tid = datetime.utcnow() - msg = "this is my msg " - evgen.trigger(tid, msg) - - with self.assertRaises(TimeoutError): # we should not receive event - ev = myhandler.future.result(2) - - # time.sleep(0.1) - sub.unsubscribe(handle) - sub.delete() - - def test_events_CustomEvent(self): - etype = self.srv.create_custom_event_type(2, 'MyEvent', ua.ObjectIds.BaseEventType, [('PropertyNum', ua.VariantType.Float), ('PropertyString', ua.VariantType.String)]) - evgen = self.srv.get_event_generator(etype) - - myhandler = MySubHandler() - sub = self.opc.create_subscription(100, myhandler) - handle = sub.subscribe_events(evtypes=etype) - - propertynum = 2 - propertystring = "This is my test" - evgen.event.PropertyNum = propertynum - evgen.event.PropertyString = propertystring - serverity = 500 - evgen.event.Severity = serverity - tid = datetime.utcnow() - msg = "this is my msg " - evgen.trigger(tid, msg) - - ev = myhandler.future.result(10) - self.assertIsNot(ev, None) # we did not receive event - self.assertEqual(ev.EventType, etype.nodeid) - self.assertEqual(ev.Severity, serverity) - self.assertEqual(ev.SourceName, self.opc.get_server_node().get_browse_name().Name) - self.assertEqual(ev.SourceNode, self.opc.get_server_node().nodeid) - self.assertEqual(ev.Message.Text, msg) - self.assertEqual(ev.Time, tid) - self.assertEqual(ev.PropertyNum, propertynum) - self.assertEqual(ev.PropertyString, propertystring) - - # time.sleep(0.1) - sub.unsubscribe(handle) - sub.delete() - - def test_events_CustomEvent_MyObject(self): - objects = self.srv.get_objects_node() - o = objects.add_object(3, 'MyObject') - etype = self.srv.create_custom_event_type(2, 'MyEvent', ua.ObjectIds.BaseEventType, [('PropertyNum', ua.VariantType.Float), ('PropertyString', ua.VariantType.String)]) - evgen = self.srv.get_event_generator(etype, o) - - myhandler = MySubHandler() - sub = self.opc.create_subscription(100, myhandler) - handle = sub.subscribe_events(o, etype) - - propertynum = 2 - propertystring = "This is my test" - evgen.event.PropertyNum = propertynum - evgen.event.PropertyString = propertystring - tid = datetime.utcnow() - msg = "this is my msg " - evgen.trigger(tid, msg) - - ev = myhandler.future.result(10) - self.assertIsNot(ev, None) # we did not receive event - self.assertEqual(ev.EventType, etype.nodeid) - self.assertEqual(ev.Severity, 1) - self.assertEqual(ev.SourceName, 'MyObject') - self.assertEqual(ev.SourceNode, o.nodeid) - self.assertEqual(ev.Message.Text, msg) - self.assertEqual(ev.Time, tid) - self.assertEqual(ev.PropertyNum, propertynum) - self.assertEqual(ev.PropertyString, propertystring) - - # time.sleep(0.1) - sub.unsubscribe(handle) - sub.delete() - - def test_several_different_events(self): - objects = self.srv.get_objects_node() - o = objects.add_object(3, 'MyObject') - - etype1 = self.srv.create_custom_event_type(2, 'MyEvent1', ua.ObjectIds.BaseEventType, [('PropertyNum', ua.VariantType.Float), ('PropertyString', ua.VariantType.String)]) - evgen1 = self.srv.get_event_generator(etype1, o) - - etype2 = self.srv.create_custom_event_type(2, 'MyEvent2', ua.ObjectIds.BaseEventType, [('PropertyNum', ua.VariantType.Float), ('PropertyString', ua.VariantType.String)]) - evgen2 = self.srv.get_event_generator(etype2, o) - - myhandler = MySubHandler2() - sub = self.opc.create_subscription(100, myhandler) - handle = sub.subscribe_events(o, etype1) - - propertynum1 = 1 - propertystring1 = "This is my test 1" - evgen1.event.PropertyNum = propertynum1 - evgen1.event.PropertyString = propertystring1 - - propertynum2 = 2 - propertystring2 = "This is my test 2" - evgen2.event.PropertyNum = propertynum2 - evgen2.event.PropertyString = propertystring2 - - for i in range(3): - evgen1.trigger() - evgen2.trigger() - time.sleep(1) - - self.assertEqual(len(myhandler.results), 3) - ev = myhandler.results[-1] - self.assertEqual(ev.EventType, etype1.nodeid) - - handle = sub.subscribe_events(o, etype2) - for i in range(4): - evgen1.trigger() - evgen2.trigger() - time.sleep(1) - - - ev1s = [ev for ev in myhandler.results if ev.EventType == etype1.nodeid] - ev2s = [ev for ev in myhandler.results if ev.EventType == etype2.nodeid] - - self.assertEqual(len(myhandler.results), 11) - self.assertEqual(len(ev2s), 4) - self.assertEqual(len(ev1s), 7) - - sub.unsubscribe(handle) - sub.delete() - - def test_several_different_events_2(self): - objects = self.srv.get_objects_node() - o = objects.add_object(3, 'MyObject') - - etype1 = self.srv.create_custom_event_type(2, 'MyEvent1', ua.ObjectIds.BaseEventType, [('PropertyNum', ua.VariantType.Float), ('PropertyString', ua.VariantType.String)]) - evgen1 = self.srv.get_event_generator(etype1, o) - - etype2 = self.srv.create_custom_event_type(2, 'MyEvent2', ua.ObjectIds.BaseEventType, [('PropertyNum2', ua.VariantType.Float), ('PropertyString', ua.VariantType.String)]) - evgen2 = self.srv.get_event_generator(etype2, o) - - etype3 = self.srv.create_custom_event_type(2, 'MyEvent3', ua.ObjectIds.BaseEventType, [('PropertyNum3', ua.VariantType.Float), ('PropertyString', ua.VariantType.String)]) - evgen3 = self.srv.get_event_generator(etype3, o) - - myhandler = MySubHandler2() - sub = self.opc.create_subscription(100, myhandler) - handle = sub.subscribe_events(o, [etype1, etype3]) - - propertynum1 = 1 - propertystring1 = "This is my test 1" - evgen1.event.PropertyNum = propertynum1 - evgen1.event.PropertyString = propertystring1 - - propertynum2 = 2 - propertystring2 = "This is my test 2" - evgen2.event.PropertyNum2 = propertynum2 - evgen2.event.PropertyString = propertystring2 - - propertynum3 = 3 - propertystring3 = "This is my test 3" - evgen3.event.PropertyNum3 = propertynum3 - evgen3.event.PropertyString = propertystring2 - - for i in range(3): - evgen1.trigger() - evgen2.trigger() - evgen3.trigger() - evgen3.event.PropertyNum3 = 9999 - evgen3.trigger() - time.sleep(1) - - ev1s = [ev for ev in myhandler.results if ev.EventType == etype1.nodeid] - ev2s = [ev for ev in myhandler.results if ev.EventType == etype2.nodeid] - ev3s = [ev for ev in myhandler.results if ev.EventType == etype3.nodeid] - - self.assertEqual(len(myhandler.results), 7) - self.assertEqual(len(ev1s), 3) - self.assertEqual(len(ev2s), 0) - self.assertEqual(len(ev3s), 4) - self.assertEqual(ev1s[0].PropertyNum, propertynum1) - self.assertEqual(ev3s[0].PropertyNum3, propertynum3) - self.assertEqual(ev3s[-1].PropertyNum3, 9999) - self.assertEqual(ev1s[0].PropertyNum3, None) - - sub.unsubscribe(handle) - sub.delete() - From 3505fc6dccdc56ffde9b42c2dc86e7da5a9bd0c1 Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Wed, 1 Aug 2018 20:57:28 +0200 Subject: [PATCH 101/113] refactored tests and async fixes --- opcua/client/client.py | 1 + opcua/common/methods.py | 6 +-- opcua/common/subscription.py | 4 +- opcua/server/internal_server.py | 2 +- tests/conftest.py | 5 +- tests/test_client.py | 2 +- tests/test_common.py | 10 ++-- ...pace.py => test_standard_address_space.py} | 34 ++++++------ tests/test_subscriptions.py | 54 +++++++++---------- tests/util_enum_struct.py | 8 +-- 10 files changed, 65 insertions(+), 61 deletions(-) rename tests/{tests_standard_address_space.py => test_standard_address_space.py} (61%) diff --git a/opcua/client/client.py b/opcua/client/client.py index 0e1234c95..aacd4bb4e 100644 --- a/opcua/client/client.py +++ b/opcua/client/client.py @@ -521,6 +521,7 @@ def get_namespace_array(self): async def get_namespace_index(self, uri): uries = await self.get_namespace_array() + _logger.info('get_namespace_index %s %r', type(uries), uries) return uries.index(uri) async def delete_nodes(self, nodes, recursive=False): diff --git a/opcua/common/methods.py b/opcua/common/methods.py index 4ecfb7460..6c6ef6729 100644 --- a/opcua/common/methods.py +++ b/opcua/common/methods.py @@ -37,18 +37,18 @@ async def call_method_full(parent, methodid, *args): elif isinstance(methodid, node.Node): methodid = methodid.nodeid - result = _call_method(parent.server, parent.nodeid, methodid, to_variant(*args)) + result = await _call_method(parent.server, parent.nodeid, methodid, to_variant(*args)) result.OutputArguments = [var.Value for var in result.OutputArguments] return result -def _call_method(server, parentnodeid, methodid, arguments): +async def _call_method(server, parentnodeid, methodid, arguments): request = ua.CallMethodRequest() request.ObjectId = parentnodeid request.MethodId = methodid request.InputArguments = arguments methodstocall = [request] - results = server.call(methodstocall) + results = await server.call(methodstocall) res = results[0] res.StatusCode.check() return res diff --git a/opcua/common/subscription.py b/opcua/common/subscription.py index 5c9ce4e73..f879cc14b 100644 --- a/opcua/common/subscription.py +++ b/opcua/common/subscription.py @@ -96,11 +96,11 @@ async def init(self): self.loop.create_task(self.server.publish()) self.loop.create_task(self.server.publish()) - def delete(self): + async def delete(self): """ Delete subscription on server. This is automatically done by Client and Server classes on exit """ - results = self.server.delete_subscriptions([self.subscription_id]) + results = await self.server.delete_subscriptions([self.subscription_id]) results[0].check() def publish_callback(self, publishresult): diff --git a/opcua/server/internal_server.py b/opcua/server/internal_server.py index 77657e58a..5cfb4dd26 100644 --- a/opcua/server/internal_server.py +++ b/opcua/server/internal_server.py @@ -361,7 +361,7 @@ def modify_monitored_items(self, params): def republish(self, params): return self.subscription_service.republish(params) - def delete_subscriptions(self, ids): + async def delete_subscriptions(self, ids): for i in ids: if i in self.subscriptions: self.subscriptions.remove(i) diff --git a/tests/conftest.py b/tests/conftest.py index cbdf76f5f..5fb6de384 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -23,6 +23,7 @@ async def server(): await srv.init() srv.set_endpoint(f'opc.tcp://127.0.0.1:{port_num}') await add_server_methods(srv) + await add_server_custom_enum_struct(srv) await srv.start() yield srv # stop the server @@ -46,7 +47,7 @@ async def discovery_server(): async def admin_client(): # start admin client # long timeout since travis (automated testing) can be really slow - clt = Client(f'opc.tcp://admin@127.0.0.1:{port_num1}', timeout=10) + clt = Client(f'opc.tcp://admin@127.0.0.1:{port_num}', timeout=10) await clt.connect() yield clt await clt.disconnect() @@ -55,7 +56,7 @@ async def admin_client(): @pytest.fixture() async def client(): # start anonymous client - ro_clt = Client(f'opc.tcp://127.0.0.1:{port_num1}') + ro_clt = Client(f'opc.tcp://127.0.0.1:{port_num}') await ro_clt.connect() yield ro_clt await ro_clt.disconnect() diff --git a/tests/test_client.py b/tests/test_client.py index ea53a67cf..900eecb24 100644 --- a/tests/test_client.py +++ b/tests/test_client.py @@ -3,7 +3,7 @@ import pytest from opcua import Client -from opcua import Server + from opcua import ua _logger = logging.getLogger(__name__) diff --git a/tests/test_common.py b/tests/test_common.py index dc5f6bbb1..e4f3bea18 100644 --- a/tests/test_common.py +++ b/tests/test_common.py @@ -583,17 +583,17 @@ async def test_method_array(opc): m = await o.get_child("2:ServerMethodArray") result = await o.call_method(m, "sin", ua.Variant(math.pi)) assert result < 0.01 - with pytest.raises(ua.UaStatusCodeError) as cm: + with pytest.raises(ua.UaStatusCodeError) as exc_info: await o.call_method(m, "cos", ua.Variant(math.pi)) - assert ua.StatusCodes.BadInvalidArgument == cm.exception.code - with pytest.raises(ua.UaStatusCodeError) as cm: + assert ua.StatusCodes.BadInvalidArgument == exc_info.type.code + with pytest.raises(ua.UaStatusCodeError) as exc_info: await o.call_method(m, "panic", ua.Variant(math.pi)) - assert ua.StatusCodes.BadOutOfMemory == cm.exception.code + assert ua.StatusCodes.BadOutOfMemory == exc_info.type.code async def test_method_array2(opc): o = opc.opc.get_objects_node() - m = o.get_child("2:ServerMethodArray2") + m = await o.get_child("2:ServerMethodArray2") result = await o.call_method(m, [1.1, 3.4, 9]) assert [2.2, 6.8, 18] == result result = await call_method_full(o, m, [1.1, 3.4, 9]) diff --git a/tests/tests_standard_address_space.py b/tests/test_standard_address_space.py similarity index 61% rename from tests/tests_standard_address_space.py rename to tests/test_standard_address_space.py index 650f9b463..be5a174fd 100644 --- a/tests/tests_standard_address_space.py +++ b/tests/test_standard_address_space.py @@ -1,4 +1,4 @@ -import unittest +import pytest import os.path import xml.etree.ElementTree as ET @@ -49,19 +49,19 @@ def get_refs(e): find_elem(e, 'References')) -class StandardAddressSpaceTests(unittest.TestCase): - - def setUp(self): - self.aspace = AddressSpace() - self.node_mgt_service = NodeManagementService(self.aspace) - standard_address_space.fill_address_space(self.node_mgt_service) - - def test_std_address_space_references(self): - std_nodes = read_nodes( - os.path.abspath(os.path.join(os.path.dirname(__file__), '..', 'schemas', 'Opc.Ua.NodeSet2.xml'))) - for k in self.aspace.keys(): - refs = set( - (r.ReferenceTypeId.to_string(), r.NodeId.to_string(), r.IsForward) for r in self.aspace[k].references) - xml_refs = set((r.attrib['ReferenceType'], r.text, r.attrib.get('IsForward', 'true') == 'true') for r in - find_elem(std_nodes[k.to_string()], 'References')) - self.assertTrue(len(xml_refs - refs) == 0) +def test_std_address_space_references(): + aspace = AddressSpace() + node_mgt_service = NodeManagementService(aspace) + standard_address_space.fill_address_space(node_mgt_service) + std_nodes = read_nodes( + os.path.abspath(os.path.join(os.path.dirname(__file__), '..', 'schemas', 'Opc.Ua.NodeSet2.xml')) + ) + for k in aspace.keys(): + refs = set( + (r.ReferenceTypeId.to_string(), r.NodeId.to_string(), r.IsForward) for r in aspace[k].references + ) + xml_refs = set( + (r.attrib['ReferenceType'], r.text, r.attrib.get('IsForward', 'true') == 'true') for r in + find_elem(std_nodes[k.to_string()], 'References') + ) + assert 0 == len(xml_refs - refs) diff --git a/tests/test_subscriptions.py b/tests/test_subscriptions.py index 1c7d8cf45..edb7147c2 100644 --- a/tests/test_subscriptions.py +++ b/tests/test_subscriptions.py @@ -67,11 +67,11 @@ def event_notification(self, event): async def test_subscription_failure(opc): myhandler = MySubHandler() - o = opc.get_objects_node() - sub = await opc.create_subscription(100, myhandler) + o = opc.opc.get_objects_node() + sub = await opc.opc.create_subscription(100, myhandler) with pytest.raises(ua.UaStatusCodeError): - handle1 = sub.subscribe_data_change(o) # we can only subscribe to variables so this should fail - sub.delete() + handle1 = await sub.subscribe_data_change(o) # we can only subscribe to variables so this should fail + await sub.delete() async def test_subscription_overload(opc): @@ -85,18 +85,18 @@ async def test_subscription_overload(opc): v = await o.add_variable(3, f'SubscriptionVariableOverload{i}', 99) variables.append(v) for i in range(nb): - sub.subscribe_data_change(variables) + await sub.subscribe_data_change(variables) for i in range(nb): for j in range(nb): await variables[i].set_value(j) s = await opc.opc.create_subscription(1, myhandler) - s.subscribe_data_change(variables) + await s.subscribe_data_change(variables) subs.append(s) - sub.subscribe_data_change(variables[i]) + await sub.subscribe_data_change(variables[i]) for i in range(nb): for j in range(nb): await variables[i].set_value(j) - sub.delete() + await sub.delete() for s in subs: s.delete() @@ -113,7 +113,7 @@ async def test_subscription_count(opc): await var.set_value(val + 1) await sleep(0.2) # let last event arrive assert nb + 1 == myhandler.datachange_count - sub.delete() + await sub.delete() async def test_subscription_count_list(opc): @@ -129,7 +129,7 @@ async def test_subscription_count_list(opc): await var.set_value(val) await sleep(0.2) # let last event arrive assert nb + 1 == myhandler.datachange_count - sub.delete() + await sub.delete() async def test_subscription_count_no_change(opc): @@ -144,7 +144,7 @@ async def test_subscription_count_no_change(opc): var.set_value(val) await sleep(0.2) # let last event arrive assert 1 == myhandler.datachange_count - sub.delete() + await sub.delete() async def test_subscription_count_empty(opc): @@ -161,7 +161,7 @@ async def test_subscription_count_empty(opc): break await sleep(0.2) # let last event arrive assert 4 == myhandler.datachange_count - sub.delete() + await sub.delete() async def test_subscription_overload_simple(opc): @@ -174,7 +174,7 @@ async def test_subscription_overload_simple(opc): variables.append(await o.add_variable(3, f'SubVarOverload{i}', i)) for i in range(nb): sub.subscribe_data_change(variables) - sub.delete() + await sub.delete() async def test_subscription_data_change(opc): @@ -206,7 +206,7 @@ async def test_subscription_data_change(opc): await sub.unsubscribe(handle1) with pytest.raises(ua.UaStatusCodeError): await sub.unsubscribe(handle1) # second try should fail - sub.delete() + await sub.delete() with pytest.raises(ua.UaStatusCodeError): await sub.unsubscribe(handle1) # sub does not exist anymore @@ -235,7 +235,7 @@ async def test_subscription_data_change_bool(opc): node, val, data = await myhandler.result() assert v1 == node assert val is False - sub.delete() # should delete our monitoreditem too + await sub.delete() # should delete our monitoreditem too async def test_subscription_data_change_many(opc): @@ -270,7 +270,7 @@ async def test_subscription_data_change_many(opc): assert val == startv2 else: raise RuntimeError("Error node {0} is neither {1} nor {2}".format(node, v1, v2)) - sub.delete() + await sub.delete() async def test_subscribe_server_time(opc): @@ -283,7 +283,7 @@ async def test_subscribe_server_time(opc): delta = datetime.utcnow() - val assert delta < timedelta(seconds=2) await sub.unsubscribe(handle) - sub.delete() + await sub.delete() async def test_create_delete_subscription(opc): @@ -293,7 +293,7 @@ async def test_create_delete_subscription(opc): handle = await sub.subscribe_data_change(v) await sleep(0.1) await sub.unsubscribe(handle) - sub.delete() + await sub.delete() async def test_subscribe_events(opc): @@ -301,7 +301,7 @@ async def test_subscribe_events(opc): handle = await sub.subscribe_events() await sleep(0.1) await sub.unsubscribe(handle) - sub.delete() + await sub.delete() async def test_subscribe_events_to_wrong_node(opc): @@ -312,7 +312,7 @@ async def test_subscribe_events_to_wrong_node(opc): v = await o.add_variable(3, 'VariableNoEventNofierAttribute', 4) with pytest.raises(ua.UaStatusCodeError): handle = await sub.subscribe_events(v) - sub.delete() + await sub.delete() async def test_get_event_from_type_node_BaseEvent(opc): @@ -355,7 +355,7 @@ async def test_events_default(opc): assert msg == ev.Message.Text assert tid == ev.Time await sub.unsubscribe(handle) - sub.delete() + await sub.delete() async def test_events_MyObject(opc): @@ -377,7 +377,7 @@ async def test_events_MyObject(opc): assert msg == ev.Message.Text assert tid == ev.Time await sub.unsubscribe(handle) - sub.delete() + await sub.delete() async def test_events_wrong_source(opc): @@ -393,7 +393,7 @@ async def test_events_wrong_source(opc): with pytest.raises(TimeoutError): # we should not receive event ev = await myhandler.result() await sub.unsubscribe(handle) - sub.delete() + await sub.delete() async def test_events_CustomEvent(opc): @@ -424,7 +424,7 @@ async def test_events_CustomEvent(opc): assert propertynum == ev.PropertyNum assert propertystring == ev.PropertyString sub.unsubscribe(handle) - sub.delete() + await sub.delete() async def test_events_CustomEvent_MyObject(opc): @@ -455,7 +455,7 @@ async def test_events_CustomEvent_MyObject(opc): assert propertynum == ev.PropertyNum assert propertystring == ev.PropertyString sub.unsubscribe(handle) - sub.delete() + await sub.delete() async def test_several_different_events(opc): @@ -498,7 +498,7 @@ async def test_several_different_events(opc): assert 4 == len(ev2s) assert 7 == len(ev1s) sub.unsubscribe(handle) - sub.delete() + await sub.delete() async def test_several_different_events_2(opc): @@ -553,4 +553,4 @@ async def test_several_different_events_2(opc): assert 9999 == ev3s[-1].PropertyNum3 assert ev1s[0].PropertyNum3 is None sub.unsubscribe(handle) - sub.delete() + await sub.delete() diff --git a/tests/util_enum_struct.py b/tests/util_enum_struct.py index ea05b5813..4c644e3d8 100644 --- a/tests/util_enum_struct.py +++ b/tests/util_enum_struct.py @@ -1,8 +1,11 @@ +import os from opcua import ua from opcua.ua import uatypes from enum import IntEnum from opcua import Server +TEST_DIR = os.path.dirname(__file__) + os.sep + class ExampleEnum(IntEnum): EnumVal1 = 0 @@ -27,15 +30,14 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ExampleStruct(' + 'IntVal1:' + str(self.IntVal1) + ', ' + \ - 'EnumVal:' + str(self.EnumVal) + ')' + return f'ExampleStruct(IntVal1:{self.IntVal1}, EnumVal:{self.EnumVal})' __repr__ = __str__ async def add_server_custom_enum_struct(server: Server): # import some nodes from xml - await server.import_xml("tests/enum_struct_test_nodes.xml") + await server.import_xml(f"{TEST_DIR}enum_struct_test_nodes.xml") ns = await server.get_namespace_index('http://yourorganisation.org/struct_enum_example/') uatypes.register_extension_object('ExampleStruct', ua.NodeId(5001, ns), ExampleStruct) val = ua.ExampleStruct() From a5a8df621e18e9d6d16e63b22e27c1aae78048db Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Thu, 2 Aug 2018 14:26:21 +0200 Subject: [PATCH 102/113] refactored import structure, cleanup --- opcua/__init__.py | 15 +-- opcua/client/__init__.py | 3 + opcua/client/client.py | 47 ++++---- opcua/client/ua_client.py | 11 +- opcua/common/__init__.py | 22 ++++ opcua/common/callback.py | 12 +-- opcua/common/connection.py | 5 +- .../{copy_node.py => copy_node_util.py} | 7 +- opcua/common/event_objects.py | 5 +- opcua/common/events.py | 10 +- .../{instantiate.py => instantiate_util.py} | 19 ++-- opcua/common/manage_nodes.py | 28 ++--- opcua/common/methods.py | 5 +- opcua/common/node.py | 53 ++++++---- opcua/common/node_factory.py | 9 ++ opcua/common/protocol.py | 62 ----------- opcua/common/shortcuts.py | 6 +- opcua/common/structures.py | 54 +++++----- opcua/common/subscription.py | 20 ++-- opcua/common/ua_utils.py | 8 +- opcua/common/utils.py | 44 +------- opcua/common/xmlexporter.py | 9 +- opcua/common/xmlimporter.py | 26 +++-- opcua/common/xmlparser.py | 17 +-- opcua/crypto/security_policies.py | 6 +- opcua/server/__init__.py | 12 +++ opcua/server/address_space.py | 24 +++-- opcua/server/binary_server_asyncio.py | 10 +- opcua/server/event_generator.py | 11 +- opcua/server/history.py | 9 +- opcua/server/history_sql.py | 13 +-- opcua/server/internal_server.py | 38 +++---- opcua/server/internal_subscription.py | 100 ++++++++---------- opcua/server/server.py | 28 ++--- .../server/standard_address_space/__init__.py | 3 + .../standard_address_space.py | 24 ++--- opcua/server/subscription_service.py | 11 +- opcua/server/uaprocessor.py | 31 +++--- opcua/server/users.py | 6 +- opcua/tools.py | 2 +- opcua/ua/__init__.py | 15 ++- opcua/ua/ua_binary.py | 15 ++- opcua/ua/uaerrors/_base.py | 3 + opcua/ua/uatypes.py | 13 +-- schemas/generate_event_objects.py | 72 +++++++------ tests/test_client.py | 1 - tests/test_common.py | 6 +- tests/test_server.py | 7 +- 48 files changed, 455 insertions(+), 502 deletions(-) rename opcua/common/{copy_node.py => copy_node_util.py} (94%) rename opcua/common/{instantiate.py => instantiate_util.py} (90%) create mode 100644 opcua/common/node_factory.py delete mode 100644 opcua/common/protocol.py diff --git a/opcua/__init__.py b/opcua/__init__.py index ac14f415a..28bd9c712 100644 --- a/opcua/__init__.py +++ b/opcua/__init__.py @@ -2,15 +2,8 @@ Pure Python OPC-UA library """ -from opcua.common.node import Node - -from opcua.common.methods import uamethod -from opcua.common.subscription import Subscription -from opcua.client.client import Client -from opcua.server.server import Server -from opcua.server.event_generator import EventGenerator -from opcua.common.instantiate import instantiate -from opcua.common.copy_node import copy_node - - +from .common import * +from .client import * +from .server import * +__all__ = (client.__all__ + server.__all__) diff --git a/opcua/client/__init__.py b/opcua/client/__init__.py index e69de29bb..84ce5586a 100644 --- a/opcua/client/__init__.py +++ b/opcua/client/__init__.py @@ -0,0 +1,3 @@ +from .client import * + +__all__ = client.__all__ diff --git a/opcua/client/client.py b/opcua/client/client.py index aacd4bb4e..debd8f784 100644 --- a/opcua/client/client.py +++ b/opcua/client/client.py @@ -3,18 +3,11 @@ from urllib.parse import urlparse from opcua import ua -from opcua.client.ua_client import UaClient -from opcua.common.xmlimporter import XmlImporter -from opcua.common.xmlexporter import XmlExporter -from opcua.common.node import Node -from opcua.common.manage_nodes import delete_nodes -from opcua.common.subscription import Subscription -from opcua.common import utils -from opcua.common.shortcuts import Shortcuts -from opcua.common.structures import load_type_definitions -from opcua.crypto import uacrypto, security_policies - +from .ua_client import UaClient +from ..common import XmlImporter, XmlExporter, Node, delete_nodes, Subscription, Shortcuts, load_type_definitions, create_nonce +from ..crypto import uacrypto, security_policies +__all__ = ["Client"] _logger = logging.getLogger(__name__) asyncio.get_event_loop().set_debug(True) @@ -47,7 +40,7 @@ def __init__(self, url, timeout=4): # take initial username and password from the url self._username = self.server_url.username self._password = self.server_url.password - self.name = 'Pure Python Async. Client' + self.name = "Pure Python Async. Client" self.description = self.name self.application_uri = "urn:freeopcua:client" self.product_uri = "urn:freeopcua.github.io:client" @@ -56,7 +49,7 @@ def __init__(self, url, timeout=4): self.secure_channel_timeout = 3600000 # 1 hour self.session_timeout = 3600000 # 1 hour self._policy_ids = [] - self.uaclient = UaClient(timeout) + self.uaclient: UaClient = UaClient(timeout) self.user_certificate = None self.user_private_key = None self._server_nonce = None @@ -77,13 +70,13 @@ def find_endpoint(endpoints, security_mode, policy_uri): """ Find endpoint with required security mode and policy URI """ - _logger.info('find_endpoint %r %r %r', endpoints, security_mode, policy_uri) + _logger.info("find_endpoint %r %r %r", endpoints, security_mode, policy_uri) for ep in endpoints: if (ep.EndpointUrl.startswith(ua.OPC_TCP_SCHEME) and ep.SecurityMode == security_mode and ep.SecurityPolicyUri == policy_uri): return ep - raise ua.UaError('No matching endpoints: {0}, {1}'.format(security_mode, policy_uri)) + raise ua.UaError("No matching endpoints: {0}, {1}".format(security_mode, policy_uri)) def set_user(self, username): """ @@ -98,7 +91,7 @@ def set_password(self, pwd): initial password from the URL will be overwritten """ if type(pwd) is not str: - raise TypeError('Password must be a string, got %s', type(pwd)) + raise TypeError("Password must be a string, got %s", type(pwd)) self._password = pwd async def set_security_string(self, string): @@ -113,10 +106,10 @@ async def set_security_string(self, string): """ if not string: return - parts = string.split(',') + parts = string.split(",") if len(parts) < 4: - raise ua.UaError('Wrong format: `{0}`, expected at least 4 comma-separated values'.format(string)) - policy_class = getattr(security_policies, 'SecurityPolicy' + parts[0]) + raise ua.UaError("Wrong format: `{}`, expected at least 4 comma-separated values".format(string)) + policy_class = getattr(security_policies, "SecurityPolicy{}".format(parts[0])) mode = getattr(ua.MessageSecurityMode, parts[1]) return await self.set_security( policy_class, parts[2], parts[3], parts[4] if len(parts) >= 5 else None, mode @@ -199,7 +192,7 @@ async def connect(self): High level method Connect, create and activate session """ - _logger.info('connect') + _logger.info("connect") await self.connect_socket() try: await self.send_hello() @@ -216,7 +209,7 @@ async def disconnect(self): High level method Close session, secure channel and socket """ - _logger.info('disconnect') + _logger.info("disconnect") try: await self.close_session() await self.close_secure_channel() @@ -251,7 +244,7 @@ async def open_secure_channel(self, renew=False): params.SecurityMode = self.security_policy.Mode params.RequestedLifetime = self.secure_channel_timeout # length should be equal to the length of key of symmetric encryption - nonce = utils.create_nonce(self.security_policy.symmetric_key_size) + nonce = create_nonce(self.security_policy.symmetric_key_size) params.ClientNonce = nonce # this nonce is used to create a symmetric key result = await self.uaclient.open_secure_channel(params) self.security_policy.make_symmetric_key(nonce, result.ServerNonce) @@ -315,12 +308,12 @@ async def create_session(self): desc.ApplicationType = ua.ApplicationType.Client params = ua.CreateSessionParameters() # at least 32 random bytes for server to prove possession of private key (specs part 4, 5.6.2.2) - nonce = utils.create_nonce(32) + nonce = create_nonce(32) params.ClientNonce = nonce params.ClientCertificate = self.security_policy.client_certificate params.ClientDescription = desc params.EndpointUrl = self.server_url.geturl() - params.SessionName = self.description + " Session" + str(self._session_counter) + params.SessionName = "{} Session{}".format(self.description, self._session_counter) # Requested maximum number of milliseconds that a Session should remain open without activity params.RequestedSessionTimeout = 60 * 60 * 1000 params.MaxResponseMessageSize = 0 # means no max size @@ -441,7 +434,7 @@ def _add_user_auth(self, params, username, password): # and EncryptionAlgorithm is null if self._password: self.logger.warning("Sending plain-text password") - params.UserIdentityToken.Password = password.encode('utf8') + params.UserIdentityToken.Password = password.encode("utf8") params.UserIdentityToken.EncryptionAlgorithm = None elif self._password: data, uri = self._encrypt_password(password, policy_uri) @@ -471,7 +464,7 @@ def get_root_node(self): return self.get_node(ua.TwoByteNodeId(ua.ObjectIds.RootFolder)) def get_objects_node(self): - self.logger.info('get_objects_node') + self.logger.info("get_objects_node") return self.get_node(ua.TwoByteNodeId(ua.ObjectIds.ObjectsFolder)) def get_server_node(self): @@ -521,7 +514,7 @@ def get_namespace_array(self): async def get_namespace_index(self, uri): uries = await self.get_namespace_array() - _logger.info('get_namespace_index %s %r', type(uries), uries) + _logger.info("get_namespace_index %s %r", type(uries), uries) return uries.index(uri) async def delete_nodes(self, nodes, recursive=False): diff --git a/opcua/client/ua_client.py b/opcua/client/ua_client.py index 870b75c8b..ea7573036 100644 --- a/opcua/client/ua_client.py +++ b/opcua/client/ua_client.py @@ -3,12 +3,13 @@ """ import asyncio import logging -from functools import partial from opcua import ua -from opcua.ua.ua_binary import struct_from_binary, uatcp_to_binary, struct_to_binary, nodeid_from_binary, header_from_binary -from opcua.ua.uaerrors import UaError, BadTimeout, BadNoSubscription, BadSessionClosed -from opcua.common.connection import SecureConnection +from ..ua.ua_binary import struct_from_binary, uatcp_to_binary, struct_to_binary, nodeid_from_binary, header_from_binary +from ..ua.uaerrors import UaError, BadTimeout, BadNoSubscription, BadSessionClosed +from ..common import SecureConnection + +__all__ = ["UaClient"] class UASocketProtocol(asyncio.Protocol): @@ -208,7 +209,7 @@ def __init__(self, timeout=1): self._publish_callbacks = {} self._timeout = timeout self.security_policy = ua.SecurityPolicy() - self.protocol = None + self.protocol: UASocketProtocol = None def set_security(self, policy): self.security_policy = policy diff --git a/opcua/common/__init__.py b/opcua/common/__init__.py index e69de29bb..4e7450a4e 100644 --- a/opcua/common/__init__.py +++ b/opcua/common/__init__.py @@ -0,0 +1,22 @@ +from .callback import * +from .connection import * +from .copy_node_util import * +from .event_objects import * +from .events import * +from .instantiate_util import * +from .node import * +from .manage_nodes import * +from .methods import * +from .shortcuts import * +from .structures import * +from .subscription import * +from .ua_utils import * +from .utils import * +from .xmlexporter import * +from .xmlimporter import * +from .xmlparser import * + +__all__ = (callback.__all__ + connection.__all__ + copy_node_util.__all__ + event_objects.__all__ + events.__all__ + + instantiate_util.__all__ + manage_nodes.__all__ + methods.__all__ + node.__all__ + shortcuts.__all__ + + structures.__all__ + subscription.__all__ + ua_utils.__all__ + utils.__all__ + xmlexporter.__all__ + + xmlimporter.__all__ + xmlparser.__all__) diff --git a/opcua/common/callback.py b/opcua/common/callback.py index 31877a734..fa0aa3d9e 100644 --- a/opcua/common/callback.py +++ b/opcua/common/callback.py @@ -1,4 +1,3 @@ - """ server side implementation of callback event """ @@ -6,8 +5,10 @@ from collections import OrderedDict from enum import Enum -class CallbackType(Enum): +__all__ = ["CallbackType", "ServerItemCallback", "CallbackDispatcher"] + +class CallbackType(Enum): ''' The possible types of a Callback type. @@ -18,8 +19,7 @@ class CallbackType(Enum): Null = 0 ItemSubscriptionCreated = 1 ItemSubscriptionModified = 2 - ItemSubscriptionDeleted= 3 - + ItemSubscriptionDeleted = 3 class Callback(object): @@ -37,7 +37,7 @@ class ServerItemCallback(Callback): def __init__(self, request_params, response_params): self.request_params = request_params self.response_params = response_params - + class CallbackSubscriberInterface(object): def getSubscribedEvents(self): @@ -95,5 +95,3 @@ def addSubscriber(self, subscriber): self.addListener(eventName, getattr(subscriber, listener[0]), priority) else: raise ValueError('Invalid params for event "{0!s}"'.format(eventName)) - - diff --git a/opcua/common/connection.py b/opcua/common/connection.py index 75213cfb8..f89508dc5 100644 --- a/opcua/common/connection.py +++ b/opcua/common/connection.py @@ -2,11 +2,12 @@ from datetime import datetime import logging -from opcua.ua.ua_binary import struct_from_binary, struct_to_binary, header_from_binary, header_to_binary +from ..ua.ua_binary import struct_from_binary, struct_to_binary, header_from_binary, header_to_binary from opcua import ua logger = logging.getLogger('opcua.uaprotocol') +__all__ = ["MessageChunk", "SecureConnection"] class MessageChunk(ua.FrozenClass): @@ -127,7 +128,7 @@ def __str__(self): __repr__ = __str__ -class SecureConnection(object): +class SecureConnection: """ Common logic for client and server """ diff --git a/opcua/common/copy_node.py b/opcua/common/copy_node_util.py similarity index 94% rename from opcua/common/copy_node.py rename to opcua/common/copy_node_util.py index 4603586b9..414262743 100644 --- a/opcua/common/copy_node.py +++ b/opcua/common/copy_node_util.py @@ -1,10 +1,11 @@ import logging from opcua import ua -from opcua.common.node import Node +from .node_factory import make_node logger = logging.getLogger(__name__) +__all__ = ["copy_node"] async def copy_node(parent, node, nodeid=None, recursive=True): @@ -15,7 +16,7 @@ async def copy_node(parent, node, nodeid=None, recursive=True): if nodeid is None: nodeid = ua.NodeId(namespaceidx=node.nodeid.NamespaceIndex) added_nodeids = await _copy_node(parent.server, parent.nodeid, rdesc, nodeid, recursive) - return [Node(parent.server, nid) for nid in added_nodeids] + return [make_node(parent.server, nid) for nid in added_nodeids] async def _copy_node(server, parent_nodeid, rdesc, nodeid, recursive): @@ -26,7 +27,7 @@ async def _copy_node(server, parent_nodeid, rdesc, nodeid, recursive): addnode.ReferenceTypeId = rdesc.ReferenceTypeId addnode.TypeDefinition = rdesc.TypeDefinition addnode.NodeClass = rdesc.NodeClass - node_to_copy = Node(server, rdesc.NodeId) + node_to_copy = make_node(server, rdesc.NodeId) attr_obj = getattr(ua, rdesc.NodeClass.name + "Attributes") await _read_and_copy_attrs(node_to_copy, attr_obj(), addnode) res = (await server.add_nodes([addnode]))[0] diff --git a/opcua/common/event_objects.py b/opcua/common/event_objects.py index 289b1bf91..2e5ae1276 100644 --- a/opcua/common/event_objects.py +++ b/opcua/common/event_objects.py @@ -3,7 +3,10 @@ """ from opcua import ua -from opcua.common.events import Event +from .events import Event + +__all__ = ["BaseEvent", "AuditEvent", "AuditSecurityEvent", "AuditChannelEvent", "AuditOpenSecureChannelEvent", "AuditSessionEvent", "AuditCreateSessionEvent", "AuditActivateSessionEvent", "AuditCancelEvent", "AuditCertificateEvent", "AuditCertificateDataMismatchEvent", "AuditCertificateExpiredEvent", "AuditCertificateInvalidEvent", "AuditCertificateUntrustedEvent", "AuditCertificateRevokedEvent", "AuditCertificateMismatchEvent", "AuditNodeManagementEvent", "AuditAddNodesEvent", "AuditDeleteNodesEvent", "AuditAddReferencesEvent", "AuditDeleteReferencesEvent", "AuditUpdateEvent", "AuditWriteUpdateEvent", "AuditHistoryUpdateEvent", "AuditUpdateMethodEvent", "SystemEvent", "DeviceFailureEvent", "BaseModelChangeEvent", "GeneralModelChangeEvent", "TransitionEvent", "AuditUpdateStateEvent", "ProgramTransitionEvent", "SemanticChangeEvent", "AuditUrlMismatchEvent", "RefreshStartEvent", "RefreshEndEvent", "RefreshRequiredEvent", "AuditConditionEvent", "AuditConditionEnableEvent", "AuditConditionCommentEvent", "AuditHistoryEventUpdateEvent", "AuditHistoryValueUpdateEvent", "AuditHistoryDeleteEvent", "AuditHistoryRawModifyDeleteEvent", "AuditHistoryAtTimeDeleteEvent", "AuditHistoryEventDeleteEvent", "EventQueueOverflowEvent", "ProgramTransitionAuditEvent", "AuditConditionRespondEvent", "AuditConditionAcknowledgeEvent", "AuditConditionConfirmEvent", "AuditConditionShelvingEvent", "ProgressEvent", "SystemStatusChangeEvent", "AuditProgramTransitionEvent", "TrustListUpdatedAuditEvent", "CertificateUpdatedAuditEvent", "AuditConditionResetEvent", "PubSubStatusEvent", "PubSubTransportLimitsExceedEvent", "PubSubCommunicationFailureEvent", "AuditConditionSuppressEvent", "AuditConditionSilenceEvent", "AuditConditionOutOfServiceEvent", "RoleMappingRuleChangedAuditEvent", "KeyCredentialAuditEvent", "KeyCredentialUpdatedAuditEvent", "KeyCredentialDeletedAuditEvent"] + class BaseEvent(Event): """ diff --git a/opcua/common/events.py b/opcua/common/events.py index e59507ebf..f00205c4d 100644 --- a/opcua/common/events.py +++ b/opcua/common/events.py @@ -2,11 +2,13 @@ from opcua import ua import opcua -from opcua.ua.uaerrors import UaError -from opcua.common import ua_utils +from ..ua.uaerrors import UaError +from .ua_utils import get_node_subtypes +__all__ = ["Event", "get_event_obj_from_type_node", "get_event_properties_from_type_node"] -class Event(object): + +class Event: """ OPC UA Event object. This is class in inherited by the common event objects such as BaseEvent, @@ -147,7 +149,7 @@ async def where_clause_from_evtype(evtypes): # now create a list of all subtypes we want to accept subtypes = [] for evtype in evtypes: - for st in await ua_utils.get_node_subtypes(evtype): + for st in await get_node_subtypes(evtype): subtypes.append(st.nodeid) subtypes = list(set(subtypes)) # remove duplicates for subtypeid in subtypes: diff --git a/opcua/common/instantiate.py b/opcua/common/instantiate_util.py similarity index 90% rename from opcua/common/instantiate.py rename to opcua/common/instantiate_util.py index 32072b414..abf84e681 100644 --- a/opcua/common/instantiate.py +++ b/opcua/common/instantiate_util.py @@ -4,12 +4,13 @@ import logging -from opcua import Node from opcua import ua -from opcua.common import ua_utils -from opcua.common.copy_node import _rdesc_from_node, _read_and_copy_attrs +from .ua_utils import get_node_supertypes, is_child_present +from .copy_node_util import _rdesc_from_node, _read_and_copy_attrs +from .node_factory import make_node logger = logging.getLogger(__name__) +__all__ = ["instantiate"] async def instantiate(parent, node_type, nodeid=None, bname=None, dname=None, idx=0, instantiate_optional=True): @@ -31,14 +32,14 @@ async def instantiate(parent, node_type, nodeid=None, bname=None, dname=None, id nodeids = await _instantiate_node( parent.server, - Node(parent.server, rdesc.NodeId), + make_node(parent.server, rdesc.NodeId), parent.nodeid, rdesc, nodeid, bname, dname=dname, instantiate_optional=instantiate_optional) - return [Node(parent.server, nid) for nid in nodeids] + return [make_node(parent.server, nid) for nid in nodeids] async def _instantiate_node(server, @@ -83,14 +84,14 @@ async def _instantiate_node(server, added_nodes = [res.AddedNodeId] if recursive: - parents = await ua_utils.get_node_supertypes(node_type, includeitself=True) - node = Node(server, res.AddedNodeId) + parents = await get_node_supertypes(node_type, includeitself=True) + node = make_node(server, res.AddedNodeId) for parent in parents: descs = await parent.get_children_descriptions(includesubtypes=False) for c_rdesc in descs: # skip items that already exists, prefer the 'lowest' one in object hierarchy - if not await ua_utils.is_child_present(node, c_rdesc.BrowseName): - c_node_type = Node(server, c_rdesc.NodeId) + if not await is_child_present(node, c_rdesc.BrowseName): + c_node_type = make_node(server, c_rdesc.NodeId) refs = await c_node_type.get_referenced_nodes(refs=ua.ObjectIds.HasModellingRule) if not refs: # spec says to ignore nodes without modelling rules diff --git a/opcua/common/manage_nodes.py b/opcua/common/manage_nodes.py index c4f5fc367..108233453 100644 --- a/opcua/common/manage_nodes.py +++ b/opcua/common/manage_nodes.py @@ -3,8 +3,8 @@ """ import logging from opcua import ua -from opcua.common import node -from opcua.common.instantiate import instantiate +from .instantiate_util import instantiate +from .node_factory import make_node _logger = logging.getLogger(__name__) __all__ = [ @@ -48,7 +48,7 @@ async def create_folder(parent, nodeid, bname): or namespace index, name """ nodeid, qname = _parse_nodeid_qname(nodeid, bname) - return node.Node( + return make_node( parent.server, await _create_object(parent.server, parent.nodeid, nodeid, qname, ua.ObjectIds.FolderType) ) @@ -63,12 +63,12 @@ async def create_object(parent, nodeid, bname, objecttype=None): """ nodeid, qname = _parse_nodeid_qname(nodeid, bname) if objecttype is not None: - objecttype = node.Node(parent.server, objecttype) + objecttype = make_node(parent.server, objecttype) dname = ua.LocalizedText(bname) nodes = await instantiate(parent, objecttype, nodeid, bname=qname, dname=dname) return nodes[0] else: - return node.Node( + return make_node( parent.server, await _create_object(parent.server, parent.nodeid, nodeid, qname, ua.ObjectIds.BaseObjectType) ) @@ -86,7 +86,7 @@ async def create_property(parent, nodeid, bname, val, varianttype=None, datatype datatype = ua.NodeId(datatype, 0) if datatype and not isinstance(datatype, ua.NodeId): raise RuntimeError("datatype argument must be a nodeid or an int refering to a nodeid") - return node.Node( + return make_node( parent.server, await _create_variable(parent.server, parent.nodeid, nodeid, qname, var, datatype=datatype, isproperty=True) ) @@ -105,7 +105,7 @@ async def create_variable(parent, nodeid, bname, val, varianttype=None, datatype if datatype and not isinstance(datatype, ua.NodeId): raise RuntimeError("datatype argument must be a nodeid or an int refering to a nodeid") - return node.Node( + return make_node( parent.server, await _create_variable(parent.server, parent.nodeid, nodeid, qname, var, datatype=datatype, isproperty=False) ) @@ -123,7 +123,7 @@ async def create_variable_type(parent, nodeid, bname, datatype): if datatype and not isinstance(datatype, ua.NodeId): raise RuntimeError( "Data type argument must be a nodeid or an int refering to a nodeid, received: {}".format(datatype)) - return node.Node( + return make_node( parent.server, await _create_variable_type(parent.server, parent.nodeid, nodeid, qname, datatype) ) @@ -136,7 +136,7 @@ async def create_reference_type(parent, nodeid, bname, symmetric=True, inversena or idx and name """ nodeid, qname = _parse_nodeid_qname(nodeid, bname) - return node.Node( + return make_node( parent.server, await _create_reference_type(parent.server, parent.nodeid, nodeid, qname, symmetric, inversename) ) @@ -149,7 +149,7 @@ async def create_object_type(parent, nodeid, bname): or namespace index, name """ nodeid, qname = _parse_nodeid_qname(nodeid, bname) - return node.Node(parent.server, await _create_object_type(parent.server, parent.nodeid, nodeid, qname)) + return make_node(parent.server, await _create_object_type(parent.server, parent.nodeid, nodeid, qname)) async def create_method(parent, *args): @@ -172,7 +172,7 @@ async def create_method(parent, *args): outputs = args[4] else: outputs = [] - return node.Node(parent.server, await _create_method(parent, nodeid, qname, callback, inputs, outputs)) + return make_node(parent.server, await _create_method(parent, nodeid, qname, callback, inputs, outputs)) async def _create_object(server, parentnodeid, nodeid, qname, objecttype): @@ -180,7 +180,7 @@ async def _create_object(server, parentnodeid, nodeid, qname, objecttype): addnode.RequestedNewNodeId = nodeid addnode.BrowseName = qname addnode.ParentNodeId = parentnodeid - if await node.Node(server, parentnodeid).get_type_definition() == ua.NodeId(ua.ObjectIds.FolderType): + if await make_node(server, parentnodeid).get_type_definition() == ua.NodeId(ua.ObjectIds.FolderType): addnode.ReferenceTypeId = ua.NodeId(ua.ObjectIds.Organizes) else: addnode.ReferenceTypeId = ua.NodeId(ua.ObjectIds.HasComponent) @@ -334,7 +334,7 @@ async def create_data_type(parent, nodeid, bname, description=None): addnode.NodeAttributes = attrs results = await parent.server.add_nodes([addnode]) results[0].StatusCode.check() - return node.Node(parent.server, results[0].AddedNodeId) + return make_node(parent.server, results[0].AddedNodeId) async def _create_method(parent, nodeid, qname, callback, inputs, outputs): @@ -355,7 +355,7 @@ async def _create_method(parent, nodeid, qname, callback, inputs, outputs): addnode.NodeAttributes = attrs results = await parent.server.add_nodes([addnode]) results[0].StatusCode.check() - method = node.Node(parent.server, results[0].AddedNodeId) + method = make_node(parent.server, results[0].AddedNodeId) if inputs: await create_property( method, diff --git a/opcua/common/methods.py b/opcua/common/methods.py index 6c6ef6729..c43b3c4fe 100644 --- a/opcua/common/methods.py +++ b/opcua/common/methods.py @@ -3,7 +3,8 @@ """ from opcua import ua -from opcua.common import node + +__all__ = ["call_method", "call_method_full", "uamethod"] async def call_method(parent, methodid, *args): @@ -34,7 +35,7 @@ async def call_method_full(parent, methodid, *args): """ if isinstance(methodid, (str, ua.uatypes.QualifiedName)): methodid = (await parent.get_child(methodid)).nodeid - elif isinstance(methodid, node.Node): + elif hasattr(methodid, 'nodeid'): methodid = methodid.nodeid result = await _call_method(parent.server, parent.nodeid, methodid, to_variant(*args)) diff --git a/opcua/common/node.py b/opcua/common/node.py index b2bae7291..c84ea2fbd 100644 --- a/opcua/common/node.py +++ b/opcua/common/node.py @@ -5,10 +5,14 @@ import logging from opcua import ua -from opcua.common import events -import opcua.common +from .events import Event, get_filter_from_event_type +from .ua_utils import data_type_to_variant_type +from .manage_nodes import create_folder, create_object, create_object_type, create_variable, create_variable_type, \ + create_data_type, create_property, delete_nodes, create_method, create_reference_type +from .methods import call_method _logger = logging.getLogger(__name__) +__all__ = ["Node"] def _check_results(results, reqlen=1): @@ -51,7 +55,9 @@ def __init__(self, server, nodeid): elif isinstance(nodeid, int): self.nodeid = ua.NodeId(nodeid, 0) else: - raise ua.UaError("argument to node must be a NodeId object or a string defining a nodeid found {0} of type {1}".format(nodeid, type(nodeid))) + raise ua.UaError( + "argument to node must be a NodeId object or a string defining a nodeid found {0} of type {1}".format( + nodeid, type(nodeid))) def __eq__(self, other): if isinstance(other, Node) and self.nodeid == other.nodeid: @@ -63,6 +69,7 @@ def __ne__(self, other): def __str__(self): return "Node({0})".format(self.nodeid) + __repr__ = __str__ def __hash__(self): @@ -97,7 +104,7 @@ async def get_data_type_as_variant_type(self): may not be convertible to VariantType """ result = await self.get_attribute(ua.AttributeIds.DataType) - return await opcua.common.ua_utils.data_type_to_variant_type(Node(self.server, result.Value.Value)) + return await data_type_to_variant_type(Node(self.server, result.Value.Value)) async def get_access_level(self): """ @@ -331,7 +338,8 @@ def get_methods(self): """ return self.get_children(refs=ua.ObjectIds.HasComponent, nodeclassmask=ua.NodeClass.Method) - async def get_children_descriptions(self, refs=ua.ObjectIds.HierarchicalReferences, nodeclassmask=ua.NodeClass.Unspecified, includesubtypes=True): + async def get_children_descriptions(self, refs=ua.ObjectIds.HierarchicalReferences, + nodeclassmask=ua.NodeClass.Unspecified, includesubtypes=True): return await self.get_references(refs, ua.BrowseDirection.Forward, nodeclassmask, includesubtypes) def get_encoding_refs(self): @@ -340,7 +348,8 @@ def get_encoding_refs(self): def get_description_refs(self): return self.get_referenced_nodes(ua.ObjectIds.HasDescription, ua.BrowseDirection.Forward) - async def get_references(self, refs=ua.ObjectIds.References, direction=ua.BrowseDirection.Both, nodeclassmask=ua.NodeClass.Unspecified, includesubtypes=True): + async def get_references(self, refs=ua.ObjectIds.References, direction=ua.BrowseDirection.Both, + nodeclassmask=ua.NodeClass.Unspecified, includesubtypes=True): """ returns references of the node based on specific filter defined with: @@ -374,7 +383,8 @@ async def _browse_next(self, results): references.extend(results[0].References) return references - async def get_referenced_nodes(self, refs=ua.ObjectIds.References, direction=ua.BrowseDirection.Both, nodeclassmask=ua.NodeClass.Unspecified, includesubtypes=True): + async def get_referenced_nodes(self, refs=ua.ObjectIds.References, direction=ua.BrowseDirection.Both, + nodeclassmask=ua.NodeClass.Unspecified, includesubtypes=True): """ returns referenced nodes based on specific filter Paramters are the same as for get_references @@ -391,7 +401,8 @@ async def get_type_definition(self): """ returns type definition of the node. """ - references = await self.get_references(refs=ua.ObjectIds.HasTypeDefinition, direction=ua.BrowseDirection.Forward) + references = await self.get_references(refs=ua.ObjectIds.HasTypeDefinition, + direction=ua.BrowseDirection.Forward) if len(references) == 0: return None return references[0].NodeId @@ -540,13 +551,13 @@ async def read_event_history(self, starttime=None, endtime=None, numvalues=0, ev if not isinstance(evtypes, (list, tuple)): evtypes = [evtypes] evtypes = [Node(self.server, evtype) for evtype in evtypes] - evfilter = await events.get_filter_from_event_type(evtypes) + evfilter = await get_filter_from_event_type(evtypes) details.Filter = evfilter result = await self.history_read_events(details) event_res = [] for res in result.HistoryData.Events: event_res.append( - await events.Event.from_event_fields(evfilter.SelectClauses, res.EventFields) + await Event.from_event_fields(evfilter.SelectClauses, res.EventFields) ) return event_res @@ -569,7 +580,7 @@ async def delete(self, delete_references=True, recursive=False): """ Delete node from address space """ - results = await opcua.common.manage_nodes.delete_nodes(self.server, [self], recursive, delete_references) + results = await delete_nodes(self.server, [self], recursive, delete_references) _check_results(results) def _fill_delete_reference_item(self, rdesc, bidirectional=False): @@ -632,32 +643,32 @@ async def set_modelling_rule(self, mandatory): await self.add_reference(rule, ua.ObjectIds.HasModellingRule, True, False) def add_folder(self, nodeid, bname): - return opcua.common.manage_nodes.create_folder(self, nodeid, bname) + return create_folder(self, nodeid, bname) def add_object(self, nodeid, bname, objecttype=None): - return opcua.common.manage_nodes.create_object(self, nodeid, bname, objecttype) + return create_object(self, nodeid, bname, objecttype) def add_variable(self, nodeid, bname, val, varianttype=None, datatype=None): - return opcua.common.manage_nodes.create_variable(self, nodeid, bname, val, varianttype, datatype) + return create_variable(self, nodeid, bname, val, varianttype, datatype) def add_object_type(self, nodeid, bname): - return opcua.common.manage_nodes.create_object_type(self, nodeid, bname) + return create_object_type(self, nodeid, bname) def add_variable_type(self, nodeid, bname, datatype): - return opcua.common.manage_nodes.create_variable_type(self, nodeid, bname, datatype) + return create_variable_type(self, nodeid, bname, datatype) def add_data_type(self, nodeid, bname, description=None): - return opcua.common.manage_nodes.create_data_type(self, nodeid, bname, description=None) + return create_data_type(self, nodeid, bname, description=None) def add_property(self, nodeid, bname, val, varianttype=None, datatype=None): - return opcua.common.manage_nodes.create_property(self, nodeid, bname, val, varianttype, datatype) + return create_property(self, nodeid, bname, val, varianttype, datatype) def add_method(self, *args): - return opcua.common.manage_nodes.create_method(self, *args) + return create_method(self, *args) def add_reference_type(self, nodeid, bname, symmetric=True, inversename=None): """COROUTINE""" - return opcua.common.manage_nodes.create_reference_type(self, nodeid, bname, symmetric, inversename) + return create_reference_type(self, nodeid, bname, symmetric, inversename) def call_method(self, methodid, *args): - return opcua.common.methods.call_method(self, methodid, *args) + return call_method(self, methodid, *args) diff --git a/opcua/common/node_factory.py b/opcua/common/node_factory.py new file mode 100644 index 000000000..46a0c592c --- /dev/null +++ b/opcua/common/node_factory.py @@ -0,0 +1,9 @@ + + +def make_node(server, nodeid): + """ + Node factory + Needed no break cyclical import of `Node` + """ + from .node import Node + return Node(server, nodeid) diff --git a/opcua/common/protocol.py b/opcua/common/protocol.py deleted file mode 100644 index de65d6c6c..000000000 --- a/opcua/common/protocol.py +++ /dev/null @@ -1,62 +0,0 @@ - -import asyncio - - -class UASocketProtocol(asyncio.Protocol): - """ - Handle socket connection and send ua messages. - Timeout is the timeout used while waiting for an ua answer from server. - """ - - def __init__(self, timeout=1, security_policy=ua.SecurityPolicy()): - self.logger = logging.getLogger(__name__ + ".UASocketProtocol") - self.loop = asyncio.get_event_loop() - self.transport = None - self.receive_buffer = asyncio.Queue() - self.is_receiving = False - self.timeout = timeout - self.authentication_token = ua.NodeId() - self._request_id = 0 - self._request_handle = 0 - self._callbackmap = {} - self._connection = SecureConnection(security_policy) - self._leftover_chunk = None - - def connection_made(self, transport: asyncio.Transport): - self.transport = transport - - def connection_lost(self, exc): - self.logger.info("Socket has closed connection") - self.transport = None - - def data_received(self, data: bytes): - self.receive_buffer.put_nowait(data) - if not self.is_receiving: - self.is_receiving = True - self.loop.create_task(self._receive()) - - async def read(self, size: int): - """Receive up to size bytes from socket.""" - data = b'' - self.logger.debug('read %s bytes from socket', size) - while size > 0: - self.logger.debug('data is now %s, waiting for %s bytes', len(data), size) - # ToDo: abort on timeout, socket close - # raise SocketClosedException("Server socket has closed") - if self._leftover_chunk: - self.logger.debug('leftover bytes %s', len(self._leftover_chunk)) - # use leftover chunk first - chunk = self._leftover_chunk - self._leftover_chunk = None - else: - chunk = await self.receive_buffer.get() - self.logger.debug('got chunk %s needed_length is %s', len(chunk), size) - if len(chunk) <= size: - _chunk = chunk - else: - # chunk is too big - _chunk = chunk[:size] - self._leftover_chunk = chunk[size:] - data += _chunk - size -= len(_chunk) - return data diff --git a/opcua/common/shortcuts.py b/opcua/common/shortcuts.py index 8027a6f01..3fea8fdd0 100644 --- a/opcua/common/shortcuts.py +++ b/opcua/common/shortcuts.py @@ -1,5 +1,7 @@ -from opcua.ua import ObjectIds -from opcua import Node +from ..ua import ObjectIds +from .node import Node + +__all__ = ["Shortcuts"] class Shortcuts(object): diff --git a/opcua/common/structures.py b/opcua/common/structures.py index 4e5382797..ed0d63818 100644 --- a/opcua/common/structures.py +++ b/opcua/common/structures.py @@ -14,19 +14,20 @@ from lxml import objectify - -from opcua.ua.ua_binary import Primitives from opcua import ua from enum import IntEnum, EnumMeta +__all__ = ["load_type_definitions"] + + def get_default_value(uatype, enums): if uatype == "String": - return "None" + return "None" elif uatype == "Guid": - return "uuid.uuid4()" + return "uuid.uuid4()" elif uatype in ("ByteString", "CharArray", "Char"): - return None + return None elif uatype == "Boolean": return "True" elif uatype == "DateTime": @@ -35,17 +36,18 @@ def get_default_value(uatype, enums): return 0 elif uatype in enums: return "ua." + uatype + "(" + enums[uatype] + ")" - elif issubclass(eval("ua."+uatype), IntEnum): - return "ua." + uatype + "(" + list(eval("ua."+uatype))[0] + ")" + elif issubclass(eval("ua." + uatype), IntEnum): + return "ua." + uatype + "(" + list(eval("ua." + uatype))[0] + ")" else: return "ua." + uatype + "()" + class EnumType(object): - def __init__(self, name ): + def __init__(self, name): self.name = name - self.fields= [] + self.fields = [] self.typeid = None - + def get_code(self): code = """ @@ -63,14 +65,16 @@ class {0}(IntEnum): name = EnumeratedValue.Name value = EnumeratedValue.Value code += " {} = {}\n".format(name, value) - + return code - + + class EnumeratedValue(object): def __init__(self, name, value): - self.Name=name - self.Value=value - + self.Name = name + self.Value = value + + class Struct(object): def __init__(self, name): self.name = name @@ -138,7 +142,7 @@ def _make_model(self, root): intenum.fields.append(enumvalue) enums[child.get("Name")] = value self.model.append(intenum) - + for child in root.iter("{*}StructuredType"): struct = Struct(child.get("Name")) array = False @@ -250,7 +254,7 @@ async def load_type_definitions(server, nodes=None): for desc in await server.nodes.opc_binary.get_children_descriptions(): if desc.BrowseName != ua.QualifiedName("Opc.Ua"): nodes.append(server.get_node(desc.NodeId)) - + structs_dict = {} generators = [] for node in nodes: @@ -262,21 +266,23 @@ async def load_type_definitions(server, nodes=None): # generate and execute new code on the fly generator.get_python_classes(structs_dict) # same but using a file that is imported. This can be usefull for debugging library - #name = node.get_browse_name().Name + # name = node.get_browse_name().Name # Make sure structure names do not contain charaters that cannot be used in Python class file names - #name = _clean_name(name) - #name = "structures_" + node.get_browse_name().Name - #generator.save_and_import(name + ".py", append_to=structs_dict) + # name = _clean_name(name) + # name = "structures_" + node.get_browse_name().Name + # generator.save_and_import(name + ".py", append_to=structs_dict) # register classes # every children of our node should represent a class for ndesc in await node.get_children_descriptions(): ndesc_node = server.get_node(ndesc.NodeId) - ref_desc_list = await ndesc_node.get_references(refs=ua.ObjectIds.HasDescription, direction=ua.BrowseDirection.Inverse) - if ref_desc_list: #some server put extra things here + ref_desc_list = await ndesc_node.get_references(refs=ua.ObjectIds.HasDescription, + direction=ua.BrowseDirection.Inverse) + if ref_desc_list: # some server put extra things here name = _clean_name(ndesc.BrowseName.Name) if not name in structs_dict: - logging.getLogger(__name__).warning("Error {} is found as child of binary definition node but is not found in xml".format(name)) + logging.getLogger(__name__).warning( + "Error {} is found as child of binary definition node but is not found in xml".format(name)) continue nodeid = ref_desc_list[0].NodeId ua.register_extension_object(name, nodeid, structs_dict[name]) diff --git a/opcua/common/subscription.py b/opcua/common/subscription.py index f879cc14b..0fa8a1584 100644 --- a/opcua/common/subscription.py +++ b/opcua/common/subscription.py @@ -1,17 +1,19 @@ """ high level interface to subscriptions """ -import time import asyncio import logging import collections +from typing import Union from opcua import ua -from opcua.common import events -from opcua import Node +from .events import Event, get_filter_from_event_type +from .node import Node +__all__ = ["Subscription"] -class SubHandler(object): + +class SubHandler: """ Subscription Handler. To receive events from server for a subscription This class is just a sample class. Whatever class having these methods can be used @@ -42,7 +44,7 @@ def status_change_notification(self, status): pass -class SubscriptionItemData(object): +class SubscriptionItemData: """ To store useful data from a monitored item """ @@ -54,7 +56,7 @@ def __init__(self): self.mfilter = None -class DataChangeNotif(object): +class DataChangeNotif: """ To be send to clients for every datachange notification from server """ @@ -67,7 +69,7 @@ def __str__(self): __repr__ = __str__ -class Subscription(object): +class Subscription: """ Subscription object returned by Server or Client objects. The object represent a subscription to an opc-ua server. @@ -145,7 +147,7 @@ def _call_datachange(self, datachange): def _call_event(self, eventlist): for event in eventlist.Events: data = self._monitored_items[event.ClientHandle] - result = events.Event.from_event_fields(data.mfilter.SelectClauses, event.EventFields) + result = Event.from_event_fields(data.mfilter.SelectClauses, event.EventFields) result.server_handle = data.server_handle if hasattr(self._handler, "event_notification"): try: @@ -190,7 +192,7 @@ async def subscribe_events(self, sourcenode=ua.ObjectIds.Server, evtypes=ua.Obje if not type(evtypes) in (list, tuple): evtypes = [evtypes] evtypes = [Node(self.server, evtype) for evtype in evtypes] - evfilter = await events.get_filter_from_event_type(evtypes) + evfilter = await get_filter_from_event_type(evtypes) return await self._subscribe(sourcenode, ua.AttributeIds.EventNotifier, evfilter, queuesize=queuesize) async def _subscribe(self, nodes, attr, mfilter=None, queuesize=0): diff --git a/opcua/common/ua_utils.py b/opcua/common/ua_utils.py index 6b3b4b27d..6bdb1e7b7 100644 --- a/opcua/common/ua_utils.py +++ b/opcua/common/ua_utils.py @@ -9,9 +9,13 @@ import logging from opcua import ua -from opcua.ua.uaerrors import UaError logger = logging.getLogger('__name__') +__all__ = [ + "val_to_string", "string_to_val", "string_to_variant", "get_node_children", "get_node_subtypes", + "get_node_supertype", "get_node_supertypes", "get_nodes_of_namespace", "get_base_data_type", "is_child_present", + "data_type_to_variant_type" +] def val_to_string(val): @@ -26,7 +30,7 @@ def val_to_string(val): res = [] for v in val: res.append(val_to_string(v)) - return "[" + ", ".join(res) + "]" + return "[{}]".format(", ".join(res)) if hasattr(val, "to_string"): val = val.to_string() diff --git a/opcua/common/utils.py b/opcua/common/utils.py index 464fc09fc..60530fbaf 100644 --- a/opcua/common/utils.py +++ b/opcua/common/utils.py @@ -3,20 +3,11 @@ Helper function and classes depending on ua object are in ua_utils.py """ -import logging import os -from concurrent.futures import Future -import functools -import threading -from socket import error as SocketError -try: - import asyncio -except ImportError: - import trollius as asyncio +from ..ua.uaerrors import UaError - -from opcua.ua.uaerrors import UaError +__all__ = ["ServiceError", "NotEnoughData", "SocketClosedException", "Buffer", "create_nonce"] class ServiceError(UaError): @@ -33,7 +24,7 @@ class SocketClosedException(UaError): pass -class Buffer(object): +class Buffer: """ alternative to io.BytesIO making debug easier @@ -89,34 +80,5 @@ def skip(self, size): self._cur_pos += size -class SocketWrapper(object): - """ - wrapper to make it possible to have same api for - normal sockets, socket from asyncio, StringIO, etc.... - """ - - def __init__(self, sock): - self.socket = sock - - def read(self, size): - """ - Receive up to size bytes from socket - """ - data = b'' - while size > 0: - try: - chunk = self.socket.recv(size) - except (OSError, SocketError) as ex: - raise SocketClosedException("Server socket has closed", ex) - if not chunk: - raise SocketClosedException("Server socket has closed") - data += chunk - size -= len(chunk) - return data - - def write(self, data): - self.socket.sendall(data) - - def create_nonce(size=32): return os.urandom(size) diff --git a/opcua/common/xmlexporter.py b/opcua/common/xmlexporter.py index 5c85b2c0c..0ce501d17 100644 --- a/opcua/common/xmlexporter.py +++ b/opcua/common/xmlexporter.py @@ -9,12 +9,13 @@ import base64 from opcua import ua -from opcua.ua import object_ids as o_ids -from opcua.common.ua_utils import get_base_data_type -from opcua.ua.uatypes import extension_object_ids +from ..ua import object_ids as o_ids +from .ua_utils import get_base_data_type +__all__ = ["XmlExporter"] -class XmlExporter(object): + +class XmlExporter: ''' If it is required that for _extobj_to_etree members to the value should be written in a certain order it can be added to the dictionary below. diff --git a/opcua/common/xmlimporter.py b/opcua/common/xmlimporter.py index 7993cd5b5..fe267ca11 100644 --- a/opcua/common/xmlimporter.py +++ b/opcua/common/xmlimporter.py @@ -6,17 +6,15 @@ import uuid from copy import copy -import opcua from opcua import ua -from opcua.common import xmlparser -from opcua.ua.uaerrors import UaError +from .xmlparser import XMLParser, ua_type_to_python +from ..ua.uaerrors import UaError -import sys -if sys.version_info.major > 2: - unicode = str +__all__ = ["XmlImporter"] -class XmlImporter(object): + +class XmlImporter: def __init__(self, server): self.logger = logging.getLogger(__name__) @@ -51,7 +49,7 @@ async def import_xml(self, xmlpath=None, xmlstring=None): import xml and return added nodes """ self.logger.info("Importing XML file %s", xmlpath) - self.parser = xmlparser.XMLParser(xmlpath, xmlstring) + self.parser = XMLParser(xmlpath, xmlstring) self.namespaces = await self._map_namespaces(self.parser.get_used_namespaces()) self.aliases = self._map_aliases(self.parser.get_aliases()) @@ -98,13 +96,13 @@ async def _add_node_data(self, nodedata): def _add_node(self, node): """COROUTINE""" - if isinstance(self.server, opcua.server.server.Server): + if hasattr(self.server, "iserver"): return self.server.iserver.isession.add_nodes([node]) else: return self.server.uaclient.add_nodes([node]) async def _add_references(self, refs): - if isinstance(self.server, opcua.server.server.Server): + if hasattr(self.server, "iserver"): res = await self.server.iserver.isession.add_references(refs) else: res = await self.server.uaclient.add_references(refs) @@ -249,14 +247,14 @@ def _get_val_type(self, obj, attname): for name, uatype in obj.ua_types: if name == attname: return uatype - raise UaError("Attribute '{}' defined in xml is not found in object '{}'".format(attname, ext)) + raise UaError("Attribute '{}' defined in xml is not found in object '{}'".format(attname, obj)) def _set_attr(self, obj, attname, val): # tow possible values: # either we get value directly # or a dict if it s an object or a list - if isinstance(val, (str, unicode)): - pval = xmlparser.ua_type_to_python(val, self._get_val_type(obj, attname)) + if isinstance(val, str): + pval = ua_type_to_python(val, self._get_val_type(obj, attname)) setattr(obj, attname, pval) else: # so we have either an object or a list... @@ -274,7 +272,7 @@ def _set_attr(self, obj, attname, val): # we probably have a list my_list = [] for vtype, v2 in val: - my_list.append(xmlparser.ua_type_to_python(v2, vtype)) + my_list.append(ua_type_to_python(v2, vtype)) setattr(obj, attname, my_list) else: for attname2, v2 in val: diff --git a/opcua/common/xmlparser.py b/opcua/common/xmlparser.py index 3bc431d53..bae3326e8 100644 --- a/opcua/common/xmlparser.py +++ b/opcua/common/xmlparser.py @@ -3,22 +3,23 @@ """ import logging from pytz import utc -import uuid import re -import sys import base64 import xml.etree.ElementTree as ET -from opcua.common import ua_utils +from .ua_utils import string_to_val from opcua import ua +__all__ = ["XMLParser"] + def ua_type_to_python(val, uatype_as_str): """ Converts a string value to a python value according to ua_utils. """ - return ua_utils.string_to_val(val, getattr(ua.VariantType, uatype_as_str)) + return string_to_val(val, getattr(ua.VariantType, uatype_as_str)) + def _to_bool(val): """ @@ -63,6 +64,7 @@ def __init__(self): def __str__(self): return f"NodeData(nodeid:{self.nodeid})" + __repr__ = __str__ @@ -84,6 +86,7 @@ def __init__(self): def __str__(self): return f"ExtObj({self.objname}, {self.body})" + __repr__ = __str__ @@ -232,7 +235,7 @@ def _parse_value(self, val_el, obj): obj.value = ua_type_to_python(val_el.text, ntag) # According to specs, DateTime should be either UTC or with a timezone. if obj.value.tzinfo is None or obj.value.tzinfo.utcoffset(obj.value) is None: - utc.localize(obj.value) # FIXME Forcing to UTC if unaware, maybe should raise? + utc.localize(obj.value) # FIXME Forcing to UTC if unaware, maybe should raise? elif ntag == "ByteString": if val_el.text is None: mytext = b"" @@ -245,7 +248,7 @@ def _parse_value(self, val_el, obj): if mytext is None: # Support importing null strings. mytext = "" - #mytext = mytext.replace('\n', '').replace('\r', '') + # mytext = mytext.replace('\n', '').replace('\r', '') obj.value = mytext elif ntag == "Guid": self._parse_contained_value(val_el, obj) @@ -342,7 +345,7 @@ def _parse_refs(self, el, obj): obj.typedef = ref.text elif not struct.forward: # Rmq: parent giving as ParentNodeId misses the ref type, so better to prioritize the ref descr - #if not obj.parent: + # if not obj.parent: obj.parent = ref.text if obj.parent == ref.text: obj.parentlink = ref.attrib["ReferenceType"] diff --git a/opcua/crypto/security_policies.py b/opcua/crypto/security_policies.py index 2559a99f1..dea0fe8bb 100644 --- a/opcua/crypto/security_policies.py +++ b/opcua/crypto/security_policies.py @@ -1,9 +1,7 @@ from abc import ABCMeta, abstractmethod -from opcua.ua import CryptographyNone, SecurityPolicy -from opcua.ua import MessageSecurityMode -from opcua.ua import UaError +from ..ua import CryptographyNone, SecurityPolicy, MessageSecurityMode, UaError try: - from opcua.crypto import uacrypto + from ..crypto import uacrypto CRYPTOGRAPHY_AVAILABLE = True except ImportError: CRYPTOGRAPHY_AVAILABLE = False diff --git a/opcua/server/__init__.py b/opcua/server/__init__.py index e69de29bb..a5b0655bb 100644 --- a/opcua/server/__init__.py +++ b/opcua/server/__init__.py @@ -0,0 +1,12 @@ +from .binary_server_asyncio import * +from .history import * +from .history_sql import * +from .internal_server import * +from .internal_subscription import * +from .server import * +from .subscription_service import * +from .uaprocessor import * +from .users import * + +__all__ = (binary_server_asyncio.__all__ + history.__all__ + history_sql.__all__ + internal_server.__all__ + + internal_subscription.__all__ + server.__all__ + subscription_service.__all__ + uaprocessor.__all__ + users.__all__) diff --git a/opcua/server/address_space.py b/opcua/server/address_space.py index 870356bd8..be74967db 100644 --- a/opcua/server/address_space.py +++ b/opcua/server/address_space.py @@ -1,4 +1,3 @@ - import pickle import shelve import logging @@ -6,9 +5,13 @@ from datetime import datetime from opcua import ua -from opcua.server.users import User +from .users import User _logger = logging.getLogger(__name__) +__all__ = [ + "AttributeValue", "NodeData", "AttributeService", "ViewService", "NodeManagementService", "MethodService", + "AddressSpace" +] class AttributeValue(object): @@ -20,6 +23,7 @@ def __init__(self, value): def __str__(self): return "AttributeValue({0})".format(self.value) + __repr__ = __str__ @@ -33,6 +37,7 @@ def __init__(self, nodeid): def __str__(self): return "NodeData(id:{0}, attrs:{1}, refs:{2})".format(self.nodeid, self.attributes, self.references) + __repr__ = __str__ @@ -59,7 +64,8 @@ def write(self, params, user=User.Admin): continue al = self._aspace.get_attribute_value(writevalue.NodeId, ua.AttributeIds.AccessLevel) ual = self._aspace.get_attribute_value(writevalue.NodeId, ua.AttributeIds.UserAccessLevel) - if not ua.ua_binary.test_bit(al.Value.Value, ua.AccessLevel.CurrentWrite) or not ua.ua_binary.test_bit(ual.Value.Value, ua.AccessLevel.CurrentWrite): + if not ua.ua_binary.test_bit(al.Value.Value, ua.AccessLevel.CurrentWrite) or not ua.ua_binary.test_bit( + ual.Value.Value, ua.AccessLevel.CurrentWrite): res.append(ua.StatusCode(ua.StatusCodes.BadUserAccessDenied)) continue res.append(self._aspace.set_attribute_value(writevalue.NodeId, writevalue.AttributeId, writevalue.Value)) @@ -215,7 +221,7 @@ def _add_node(self, item, user, check=True): if item.ParentNodeId.is_null(): self.logger.info("add_node: while adding node %s, requested parent node is null %s %s", - item.RequestedNewNodeId, item.ParentNodeId, item.ParentNodeId.is_null()) + item.RequestedNewNodeId, item.ParentNodeId, item.ParentNodeId.is_null()) if check: result.StatusCode = ua.StatusCode(ua.StatusCodes.BadParentNodeIdInvalid) return result @@ -223,7 +229,7 @@ def _add_node(self, item, user, check=True): parentdata = self._aspace.get(item.ParentNodeId) if parentdata is None and not item.ParentNodeId.is_null(): self.logger.info("add_node: while adding node %s, requested parent node %s does not exists", - item.RequestedNewNodeId, item.ParentNodeId) + item.RequestedNewNodeId, item.ParentNodeId) result.StatusCode = ua.StatusCode(ua.StatusCodes.BadParentNodeIdInvalid) return result @@ -323,7 +329,7 @@ def _delete_node(self, item, user): self._delete_node_callbacks(self._aspace[item.NodeId]) - del(self._aspace[item.NodeId]) + del (self._aspace[item.NodeId]) return ua.StatusCode() @@ -334,7 +340,8 @@ def _delete_node_callbacks(self, nodedata): callback(handle, None, ua.StatusCode(ua.StatusCodes.BadNodeIdUnknown)) self._aspace.delete_datachange_callback(handle) except Exception as ex: - self.logger.exception("Error calling delete node callback callback %s, %s, %s", nodedata, ua.AttributeIds.Value, ex) + self.logger.exception("Error calling delete node callback callback %s, %s, %s", nodedata, + ua.AttributeIds.Value, ex) def add_references(self, refs, user=User.Admin): result = [] @@ -475,7 +482,6 @@ def _call(self, method): class AddressSpace(object): - """ The address space object stores all the nodes of the OPC-UA server and helper methods. @@ -568,6 +574,7 @@ def load_aspace_shelf(self, path): Note: Intended for slow devices, such as Raspberry Pi, to greatly improve start up time """ raise NotImplementedError + # ToDo: async friendly implementation - load all at once? class LazyLoadingDict(collections.MutableMapping): """ @@ -575,6 +582,7 @@ class LazyLoadingDict(collections.MutableMapping): shelve to the cache dict. All user nodes are saved in the cache ONLY. Saving data back to the shelf is currently NOT supported """ + def __init__(self, source): self.source = source # python shelf self.cache = {} # internal dict diff --git a/opcua/server/binary_server_asyncio.py b/opcua/server/binary_server_asyncio.py index 6c25ecb6f..1e102c8cf 100644 --- a/opcua/server/binary_server_asyncio.py +++ b/opcua/server/binary_server_asyncio.py @@ -6,17 +6,15 @@ from opcua import ua import opcua.ua.ua_binary as uabin -from opcua.server.uaprocessor import UaProcessor +from .uaprocessor import UaProcessor logger = logging.getLogger(__name__) +__all__ = ["BinaryServer"] class OPCUAProtocol(asyncio.Protocol): """ - instanciated for every connection - defined as internal class since it needs access - to the internal server object - FIXME: find another solution + Instantiated for every connection. """ def __init__(self, iserver=None, policies=None, clients=None): @@ -47,7 +45,7 @@ def connection_lost(self, ex): logger.info('Lost connection from %s, %s', self.peer_name, ex) self.transport.close() self.iserver.asyncio_transports.remove(self.transport) - self.processor.close() + self.loop.create_task(self.processor.close()) if self in self.clients: self.clients.remove(self) diff --git a/opcua/server/event_generator.py b/opcua/server/event_generator.py index 87c424c1e..330acdfbd 100644 --- a/opcua/server/event_generator.py +++ b/opcua/server/event_generator.py @@ -4,8 +4,9 @@ from opcua import ua from opcua import Node -from opcua.common import events -from opcua.common import event_objects +from ..common import get_event_obj_from_type_node, BaseEvent + +__all__ = ["EventGenerator"] class EventGenerator: @@ -28,9 +29,9 @@ def __init__(self, isession): async def init(self, etype=None): if not etype: - etype = event_objects.BaseEvent() + etype = BaseEvent() node = None - if isinstance(etype, event_objects.BaseEvent): + if isinstance(etype, BaseEvent): self.event = etype elif isinstance(etype, Node): node = etype @@ -39,7 +40,7 @@ async def init(self, etype=None): else: node = Node(self.isession, ua.NodeId(etype)) if node: - self.event = await events.get_event_obj_from_type_node(node) + self.event = await get_event_obj_from_type_node(node) async def set_source(self, source=ua.ObjectIds.Server): if isinstance(source, Node): diff --git a/opcua/server/history.py b/opcua/server/history.py index b2e892fb5..aef9dc37e 100644 --- a/opcua/server/history.py +++ b/opcua/server/history.py @@ -2,9 +2,10 @@ from datetime import timedelta from datetime import datetime -from opcua import Subscription from opcua import ua -from opcua.common import utils +from ..common import Subscription, Buffer + +__all__ = ["HistoryManager", "HistoryStorageInterface", "HistoryDict"] class UaNodeAlreadyHistorizedError(ua.UaError): @@ -308,7 +309,7 @@ def _read_datavalue_history(self, rv, details): # but they also say we can use cont point as timestamp to enable stateless # implementation. This is contradictory, so we assume details is # send correctly with continuation point - starttime = ua.ua_binary.Primitives.DateTime.unpack(utils.Buffer(rv.ContinuationPoint)) + starttime = ua.ua_binary.Primitives.DateTime.unpack(Buffer(rv.ContinuationPoint)) dv, cont = self.storage.read_node_history(rv.NodeId, starttime, @@ -327,7 +328,7 @@ def _read_event_history(self, rv, details): # but they also say we can use cont point as timestamp to enable stateless # implementation. This is contradictory, so we assume details is # send correctly with continuation point - starttime = ua.ua_binary.Primitives.DateTime.unpack(utils.Buffer(rv.ContinuationPoint)) + starttime = ua.ua_binary.Primitives.DateTime.unpack(Buffer(rv.ContinuationPoint)) evts, cont = self.storage.read_event_history(rv.NodeId, starttime, diff --git a/opcua/server/history_sql.py b/opcua/server/history_sql.py index d064a160b..b62122e9c 100644 --- a/opcua/server/history_sql.py +++ b/opcua/server/history_sql.py @@ -5,10 +5,11 @@ import sqlite3 from opcua import ua -from opcua.ua.ua_binary import variant_from_binary, variant_to_binary -from opcua.common.utils import Buffer -from opcua.common import events -from opcua.server.history import HistoryStorageInterface +from ..ua.ua_binary import variant_from_binary, variant_to_binary +from ..common import Buffer, Event, get_event_properties_from_type_node +from .history import HistoryStorageInterface + +__all__ = ["HistorySQLite"] class HistorySQLite(HistoryStorageInterface): @@ -220,7 +221,7 @@ def read_event_history(self, source_id, start, end, nb_values, evfilter): else: fdict[clauses[i]] = ua.Variant(None) - results.append(events.Event.from_field_dict(fdict)) + results.append(Event.from_field_dict(fdict)) except sqlite3.Error as e: self.logger.error('Historizing SQL Read Error events for node %s: %s', source_id, e) @@ -248,7 +249,7 @@ def _get_event_fields(self, evtypes): # get all fields from the event types that are to be historized ev_aggregate_fields = [] for event_type in evtypes: - ev_aggregate_fields.extend((events.get_event_properties_from_type_node(event_type))) + ev_aggregate_fields.extend((get_event_properties_from_type_node(event_type))) ev_fields = [] for field in set(ev_aggregate_fields): diff --git a/opcua/server/internal_server.py b/opcua/server/internal_server.py index 5cfb4dd26..7c8707e68 100644 --- a/opcua/server/internal_server.py +++ b/opcua/server/internal_server.py @@ -12,18 +12,14 @@ from datetime import datetime, timedelta from opcua import ua -from opcua.common import utils -from opcua.common.callback import CallbackType, ServerItemCallback, CallbackDispatcher -from opcua.common.node import Node -from opcua.server.history import HistoryManager -from opcua.server.address_space import AddressSpace -from opcua.server.address_space import AttributeService -from opcua.server.address_space import ViewService -from opcua.server.address_space import NodeManagementService -from opcua.server.address_space import MethodService -from opcua.server.subscription_service import SubscriptionService -from opcua.server.standard_address_space import standard_address_space -from opcua.server.users import User +from ..common import CallbackType, ServerItemCallback, CallbackDispatcher, Node, create_nonce, ServiceError +from .history import HistoryManager +from .address_space import AddressSpace, AttributeService, ViewService, NodeManagementService, MethodService +from .subscription_service import SubscriptionService +from .standard_address_space import standard_address_space +from .users import User + +__all__ = ["InternalServer"] class SessionState(Enum): @@ -55,7 +51,7 @@ def __init__(self): self.node_mgt_service = NodeManagementService(self.aspace) self.loop = asyncio.get_event_loop() self.asyncio_transports = [] - self.subscription_service = SubscriptionService(self.loop, self.aspace) + self.subscription_service: SubscriptionService = SubscriptionService(self.loop, self.aspace) self.history_manager = HistoryManager(self) # create a session to use on server side self.isession = InternalSession(self, self.aspace, self.subscription_service, "Internal", user=User.Admin) @@ -123,9 +119,9 @@ async def start(self): if not self.disabled_clock: self._set_current_time() - def stop(self): + async def stop(self): self.logger.info('stopping internal server') - self.isession.close_session() + await self.isession.close_session() self.history_manager.stop() def _set_current_time(self): @@ -236,7 +232,7 @@ def unsubscribe_server_callback(self, event, handle): self.server_callback_dispatcher.removeListener(event, handle) -class InternalSession(object): +class InternalSession: _counter = 10 _auth_counter = 1000 @@ -272,23 +268,23 @@ async def create_session(self, params, sockname=None): result.AuthenticationToken = self.authentication_token result.RevisedSessionTimeout = params.RequestedSessionTimeout result.MaxRequestMessageSize = 65536 - self.nonce = utils.create_nonce(32) + self.nonce = create_nonce(32) result.ServerNonce = self.nonce result.ServerEndpoints = await self.get_endpoints(sockname=sockname) return result - def close_session(self, delete_subs=True): + async def close_session(self, delete_subs=True): self.logger.info('close session %s with subscriptions %s', self, self.subscriptions) self.state = SessionState.Closed - self.delete_subscriptions(self.subscriptions[:]) + await self.delete_subscriptions(self.subscriptions[:]) def activate_session(self, params): self.logger.info('activate session') result = ua.ActivateSessionResult() if self.state != SessionState.Created: - raise utils.ServiceError(ua.StatusCodes.BadSessionIdInvalid) - self.nonce = utils.create_nonce(32) + raise ServiceError(ua.StatusCodes.BadSessionIdInvalid) + self.nonce = create_nonce(32) result.ServerNonce = self.nonce for _ in params.ClientSoftwareCertificates: result.Results.append(ua.StatusCode()) diff --git a/opcua/server/internal_subscription.py b/opcua/server/internal_subscription.py index e0a8a72fd..e9502e566 100644 --- a/opcua/server/internal_subscription.py +++ b/opcua/server/internal_subscription.py @@ -2,15 +2,14 @@ server side implementation of a subscription object """ -from threading import RLock import logging -# import copy -# import traceback from opcua import ua +__all__ = ["InternalSubscription", "WhereClauseEvaluator"] -class MonitoredItemData(object): + +class MonitoredItemData: def __init__(self): self.client_handle = None @@ -23,7 +22,7 @@ def __init__(self): self.queue_size = 0 -class MonitoredItemValues(object): +class MonitoredItemValues: def __init__(self): self.current_value = None @@ -40,8 +39,7 @@ def get_old_value(self): return self.old_value -class MonitoredItemService(object): - +class MonitoredItemService: """ implement monitoreditem service for 1 subscription """ @@ -61,7 +59,7 @@ def delete_all_monitored_items(self): def create_monitored_items(self, params): results = [] for item in params.ItemsToCreate: - #with self._lock: + # with self._lock: if item.ItemToMonitor.AttributeId == ua.AttributeIds.EventNotifier: result = self._create_events_monitored_item(item) else: @@ -81,7 +79,6 @@ def trigger_datachange(self, handle, nodeid, attr): self.datachange_callback(handle, variant) def _modify_monitored_item(self, params): - #with self._lock: for mdata in self._monitored_items.values(): result = ua.MonitoredItemModifyResult() if mdata.monitored_item_id == params.MonitoredItemId: @@ -119,8 +116,8 @@ def _make_monitored_item_common(self, params): def _create_events_monitored_item(self, params): self.logger.info("request to subscribe to events for node %s and attribute %s", - params.ItemToMonitor.NodeId, - params.ItemToMonitor.AttributeId) + params.ItemToMonitor.NodeId, + params.ItemToMonitor.AttributeId) result, mdata = self._make_monitored_item_common(params) ev_notify_byte = self.aspace.get_attribute_value( @@ -139,8 +136,8 @@ def _create_events_monitored_item(self, params): def _create_data_change_monitored_item(self, params): self.logger.info("request to subscribe to datachange for node %s and attribute %s", - params.ItemToMonitor.NodeId, - params.ItemToMonitor.AttributeId) + params.ItemToMonitor.NodeId, + params.ItemToMonitor.AttributeId) result, mdata = self._make_monitored_item_common(params) result.FilterResult = params.RequestedParameters.Filter @@ -158,7 +155,7 @@ def _create_data_change_monitored_item(self, params): def delete_monitored_items(self, ids): self.logger.debug("delete monitored items %s", ids) - #with self._lock: + # with self._lock: results = [] for mid in ids: results.append(self._delete_monitored_items(mid)) @@ -184,13 +181,13 @@ def _delete_monitored_items(self, mid): def datachange_callback(self, handle, value, error=None): if error: self.logger.info("subscription %s: datachange callback called with handle '%s' and erorr '%s'", self, - handle, error) + handle, error) self.trigger_statuschange(error) else: self.logger.info("subscription %s: datachange callback called with handle '%s' and value '%s'", self, - handle, value.Value) + handle, value.Value) event = ua.MonitoredItemNotification() - #with self._lock: + # with self._lock: mid = self._monitored_datachange[handle] mdata = self._monitored_items[mid] mdata.mvalue.set_current_value(value.Value.Value) @@ -216,13 +213,13 @@ def deadband_callback(self, values, flt): return False def trigger_event(self, event): - #with self._lock: + # with self._lock: if event.SourceNode not in self._monitored_events: self.logger.debug("%s has no subscription for events %s from node: %s", - self, event, event.SourceNode) + self, event, event.SourceNode) return False self.logger.debug("%s has subscription for events %s from node: %s", - self, event, event.SourceNode) + self, event, event.SourceNode) mids = self._monitored_events[event.SourceNode] for mid in mids: self._trigger_event(event, mid) @@ -230,7 +227,7 @@ def trigger_event(self, event): def _trigger_event(self, event, mid): if mid not in self._monitored_items: self.logger.debug("Could not find monitored items for id %s for event %s in subscription %s", - mid, event, self) + mid, event, self) return mdata = self._monitored_items[mid] if not mdata.where_clause_evaluator.eval(event): @@ -245,7 +242,7 @@ def trigger_statuschange(self, code): self.isub.enqueue_statuschange(code) -class InternalSubscription(object): +class InternalSubscription: def __init__(self, subservice, data, addressspace, callback): self.logger = logging.getLogger(__name__) @@ -255,7 +252,6 @@ def __init__(self, subservice, data, addressspace, callback): self.callback = callback self.monitored_item_srv = MonitoredItemService(self, addressspace) self.task = None - self._lock = RLock() self._triggered_datachanges = {} self._triggered_events = {} self._triggered_statuschanges = [] @@ -289,29 +285,27 @@ def _sub_loop(self): self._subscription_loop() def has_published_results(self): - with self._lock: - if self._startup or self._triggered_datachanges or self._triggered_events: - return True - if self._keep_alive_count > self.data.RevisedMaxKeepAliveCount: - self.logger.debug("keep alive count %s is > than max keep alive count %s, sending publish event", - self._keep_alive_count, self.data.RevisedMaxKeepAliveCount) - return True - self._keep_alive_count += 1 - return False + if self._startup or self._triggered_datachanges or self._triggered_events: + return True + if self._keep_alive_count > self.data.RevisedMaxKeepAliveCount: + self.logger.debug("keep alive count %s is > than max keep alive count %s, sending publish event", + self._keep_alive_count, self.data.RevisedMaxKeepAliveCount) + return True + self._keep_alive_count += 1 + return False def publish_results(self): if self._publish_cycles_count > self.data.RevisedLifetimeCount: self.logger.warning("Subscription %s has expired, publish cycle count(%s) > lifetime count (%s)", - self, self._publish_cycles_count, self.data.RevisedLifetimeCount) + self, self._publish_cycles_count, self.data.RevisedLifetimeCount) # FIXME this will never be send since we do not have publish request anyway self.monitored_item_srv.trigger_statuschange(ua.StatusCode(ua.StatusCodes.BadTimeout)) self._stopev = True result = None - with self._lock: - if self.has_published_results(): - # FIXME: should we pop a publish request here? or we do not care? - self._publish_cycles_count += 1 - result = self._pop_publish_result() + if self.has_published_results(): + # FIXME: should we pop a publish request here? or we do not care? + self._publish_cycles_count += 1 + result = self._pop_publish_result() if result is not None: self.callback(result) @@ -356,21 +350,20 @@ def _pop_triggered_statuschanges(self, result): def publish(self, acks): self.logger.info("publish request with acks %s", acks) - with self._lock: - self._publish_cycles_count = 0 - for nb in acks: - if nb in self._not_acknowledged_results: - self._not_acknowledged_results.pop(nb) + + self._publish_cycles_count = 0 + for nb in acks: + if nb in self._not_acknowledged_results: + self._not_acknowledged_results.pop(nb) def republish(self, nb): self.logger.info("re-publish request for ack %s in subscription %s", nb, self) - with self._lock: - if nb in self._not_acknowledged_results: - self.logger.info("re-publishing ack %s in subscription %s", nb, self) - return self._not_acknowledged_results[nb].NotificationMessage - else: - self.logger.info("Error request to re-published non existing ack %s in subscription %s", nb, self) - return ua.NotificationMessage() + if nb in self._not_acknowledged_results: + self.logger.info("re-publishing ack %s in subscription %s", nb, self) + return self._not_acknowledged_results[nb].NotificationMessage + else: + self.logger.info("Error request to re-published non existing ack %s in subscription %s", nb, self) + return ua.NotificationMessage() def enqueue_datachange_event(self, mid, eventdata, maxsize): self._enqueue_event(mid, eventdata, maxsize, self._triggered_datachanges) @@ -391,7 +384,7 @@ def _enqueue_event(self, mid, eventdata, size, queue): queue[mid].append(eventdata) -class WhereClauseEvaluator(object): +class WhereClauseEvaluator: def __init__(self, logger, aspace, whereclause): self.logger = logger self.elements = whereclause.Elements @@ -405,7 +398,7 @@ def eval(self, event): res = self._eval_el(0, event) except Exception as ex: self.logger.exception("Exception while evaluating WhereClause %s for event %s: %s", - self.elements, event, ex) + self.elements, event, ex) return False return res @@ -473,6 +466,3 @@ def _eval_op(self, op, event): else: self.logger.warning("Where clause element % is not of a known type", op) raise NotImplementedError - - - diff --git a/opcua/server/server.py b/opcua/server/server.py index 4188ebcd5..d802f191f 100644 --- a/opcua/server/server.py +++ b/opcua/server/server.py @@ -9,23 +9,17 @@ from opcua import ua # from opcua.binary_server import BinaryServer -from opcua.server.binary_server_asyncio import BinaryServer -from opcua.server.internal_server import InternalServer -from opcua.server.event_generator import EventGenerator -from opcua.common.node import Node -from opcua.common.subscription import Subscription -from opcua.common.manage_nodes import delete_nodes -from opcua.client.client import Client -from opcua.crypto import security_policies -from opcua.common.event_objects import BaseEvent -from opcua.common.shortcuts import Shortcuts -from opcua.common.structures import load_type_definitions -from opcua.common.xmlexporter import XmlExporter -from opcua.common.xmlimporter import XmlImporter -from opcua.common.ua_utils import get_nodes_of_namespace -from opcua.crypto import uacrypto +from .binary_server_asyncio import BinaryServer +from .internal_server import InternalServer +from .event_generator import EventGenerator +from ..client import Client +from ..common import Node, Subscription, delete_nodes, BaseEvent, Shortcuts, load_type_definitions, XmlExporter,\ + XmlImporter, get_nodes_of_namespace + +from ..crypto import security_policies, uacrypto _logger = logging.getLogger(__name__) +__all__ = ["Server"] class Server: @@ -356,7 +350,7 @@ async def start(self): self.bserver.set_policies(self._policies) await self.bserver.start() except Exception as exp: - self.iserver.stop() + await self.iserver.stop() raise exp async def stop(self): @@ -366,7 +360,7 @@ async def stop(self): if self._discovery_clients: await asyncio.wait([client.disconnect() for client in self._discovery_clients.values()]) await self.bserver.stop() - self.iserver.stop() + await self.iserver.stop() def get_root_node(self): """ diff --git a/opcua/server/standard_address_space/__init__.py b/opcua/server/standard_address_space/__init__.py index e69de29bb..634731b32 100644 --- a/opcua/server/standard_address_space/__init__.py +++ b/opcua/server/standard_address_space/__init__.py @@ -0,0 +1,3 @@ +from .standard_address_space import * + +__all__ = standard_address_space.__all__ diff --git a/opcua/server/standard_address_space/standard_address_space.py b/opcua/server/standard_address_space/standard_address_space.py index 4187c1f83..07ff62442 100644 --- a/opcua/server/standard_address_space/standard_address_space.py +++ b/opcua/server/standard_address_space/standard_address_space.py @@ -1,25 +1,24 @@ -import os.path +from .standard_address_space_part3 import create_standard_address_space_Part3 +from .standard_address_space_part4 import create_standard_address_space_Part4 +from .standard_address_space_part5 import create_standard_address_space_Part5 +from .standard_address_space_part8 import create_standard_address_space_Part8 +from .standard_address_space_part9 import create_standard_address_space_Part9 +from .standard_address_space_part10 import create_standard_address_space_Part10 +from .standard_address_space_part11 import create_standard_address_space_Part11 +from .standard_address_space_part13 import create_standard_address_space_Part13 -import opcua +__all__ = ["fill_address_space"] -from opcua.server.standard_address_space.standard_address_space_part3 import create_standard_address_space_Part3 -from opcua.server.standard_address_space.standard_address_space_part4 import create_standard_address_space_Part4 -from opcua.server.standard_address_space.standard_address_space_part5 import create_standard_address_space_Part5 -from opcua.server.standard_address_space.standard_address_space_part8 import create_standard_address_space_Part8 -from opcua.server.standard_address_space.standard_address_space_part9 import create_standard_address_space_Part9 -from opcua.server.standard_address_space.standard_address_space_part10 import create_standard_address_space_Part10 -from opcua.server.standard_address_space.standard_address_space_part11 import create_standard_address_space_Part11 -from opcua.server.standard_address_space.standard_address_space_part13 import create_standard_address_space_Part13 -class PostponeReferences(object): +class PostponeReferences: def __init__(self, server): self.server = server self.postponed_refs = None self.postponed_nodes = None #self.add_nodes = self.server.add_nodes - def add_nodes(self,nodes): + def add_nodes(self, nodes): self.postponed_nodes.extend(self.server.try_add_nodes(nodes, check=False)) def add_references(self, refs): @@ -38,6 +37,7 @@ def __exit__(self, exc_type, exc_val, exc_tb): remaining_refs = list(self.server.try_add_references(self.postponed_refs)) assert len(remaining_refs) == 0, remaining_refs + def fill_address_space(nodeservice): with PostponeReferences(nodeservice) as server: create_standard_address_space_Part3(server) diff --git a/opcua/server/subscription_service.py b/opcua/server/subscription_service.py index 6d3e80d0c..bf424a149 100644 --- a/opcua/server/subscription_service.py +++ b/opcua/server/subscription_service.py @@ -2,14 +2,18 @@ server side implementation of subscription service """ -from threading import RLock import logging from opcua import ua -from opcua.server.internal_subscription import InternalSubscription +from .internal_subscription import InternalSubscription +__all__ = ["SubscriptionService"] -class SubscriptionService(object): + +class SubscriptionService: + """ + ToDo: check if locks need to be replaced by asyncio.Lock + """ def __init__(self, loop, aspace): self.logger = logging.getLogger(__name__) @@ -24,7 +28,6 @@ def create_subscription(self, params, callback): result.RevisedPublishingInterval = params.RequestedPublishingInterval result.RevisedLifetimeCount = params.RequestedLifetimeCount result.RevisedMaxKeepAliveCount = params.RequestedMaxKeepAliveCount - #with self._lock: self._sub_id_counter += 1 result.SubscriptionId = self._sub_id_counter diff --git a/opcua/server/uaprocessor.py b/opcua/server/uaprocessor.py index 14592772a..402e80937 100644 --- a/opcua/server/uaprocessor.py +++ b/opcua/server/uaprocessor.py @@ -1,14 +1,14 @@ import logging -from threading import RLock, Lock +from threading import RLock import time from opcua import ua -from opcua.server.internal_server import InternalServer, InternalSession -from opcua.ua.ua_binary import nodeid_from_binary, struct_from_binary -from opcua.ua.ua_binary import struct_to_binary, uatcp_to_binary -from opcua.common import utils -from opcua.common.connection import SecureConnection +from ..ua.ua_binary import nodeid_from_binary, struct_from_binary, struct_to_binary, uatcp_to_binary +from .internal_server import InternalServer, InternalSession +from ..common import SecureConnection, ServiceError + +__all__ = ["UaProcessor"] class PublishRequestData: @@ -21,7 +21,10 @@ def __init__(self): class UaProcessor: - + """ + ToDo: remove/replace Lock + ToDo: Refactor queues with asyncio.Queue + """ def __init__(self, internal_server: InternalServer, socket): self.logger = logging.getLogger(__name__) self.iserver: InternalServer = internal_server @@ -97,7 +100,7 @@ async def process(self, header, body): pass # msg is a ChunkType.Intermediate of an ua.MessageType.SecureMessage else: self.logger.warning("Unsupported message type: %s", header.MessageType) - raise utils.ServiceError(ua.StatusCodes.BadTcpMessageTypeInvalid) + raise ServiceError(ua.StatusCodes.BadTcpMessageTypeInvalid) return True async def process_message(self, algohdr, seqhdr, body): @@ -105,7 +108,7 @@ async def process_message(self, algohdr, seqhdr, body): requesthdr = struct_from_binary(ua.RequestHeader, body) try: return await self._process_message(typeid, requesthdr, algohdr, seqhdr, body) - except utils.ServiceError as e: + except ServiceError as e: status = ua.StatusCode(e.code) response = ua.ServiceFault() response.ResponseHeader.ServiceResult = status @@ -137,7 +140,7 @@ async def _process_message(self, typeid, requesthdr, algohdr, seqhdr, body): elif typeid == ua.NodeId(ua.ObjectIds.CloseSessionRequest_Encoding_DefaultBinary): self.logger.info("Close session request") deletesubs = ua.ua_binary.Primitives.Boolean.unpack(body) - self.session.close_session(deletesubs) + await self.session.close_session(deletesubs) response = ua.CloseSessionResponse() self.logger.info("sending close session response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) @@ -147,7 +150,7 @@ async def _process_message(self, typeid, requesthdr, algohdr, seqhdr, body): params = struct_from_binary(ua.ActivateSessionParameters, body) if not self.session: self.logger.info("request to activate non-existing session") - raise utils.ServiceError(ua.StatusCodes.BadSessionIdInvalid) + raise ServiceError(ua.StatusCodes.BadSessionIdInvalid) if self._connection.security_policy.client_certificate is None: data = self.session.nonce else: @@ -377,15 +380,15 @@ async def _process_message(self, typeid, requesthdr, algohdr, seqhdr, body): self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) else: self.logger.warning("Unknown message received %s", typeid) - raise utils.ServiceError(ua.StatusCodes.BadNotImplemented) + raise ServiceError(ua.StatusCodes.BadNotImplemented) return True - def close(self): + async def close(self): """ to be called when client has disconnected to ensure we really close everything we should """ self.logger.info("Cleanup client connection: %s", self.name) if self.session: - self.session.close_session(True) + await self.session.close_session(True) diff --git a/opcua/server/users.py b/opcua/server/users.py index 8d772a4ec..de147dd00 100644 --- a/opcua/server/users.py +++ b/opcua/server/users.py @@ -3,6 +3,9 @@ """ from enum import Enum +__all__ = ["User"] + + class User(Enum): """ Define some default users. @@ -10,6 +13,3 @@ class User(Enum): Admin = 0 Anonymous = 1 User = 3 - - - diff --git a/opcua/tools.py b/opcua/tools.py index e7e3a6fd4..2304eacfa 100644 --- a/opcua/tools.py +++ b/opcua/tools.py @@ -410,7 +410,7 @@ def cert_to_string(der): if not der: return '[no certificate]' try: - from opcua.crypto import uacrypto + from ..crypto import uacrypto except ImportError: return "{0} bytes".format(len(der)) cert = uacrypto.x509_from_der(der) diff --git a/opcua/ua/__init__.py b/opcua/ua/__init__.py index fa46eed95..aef02082b 100644 --- a/opcua/ua/__init__.py +++ b/opcua/ua/__init__.py @@ -1,9 +1,8 @@ # the order is important, some classes are overriden -from opcua.ua.attribute_ids import AttributeIds -from opcua.ua.object_ids import ObjectIds -from opcua.ua.object_ids import ObjectIdNames -from opcua.ua.status_codes import StatusCodes -from opcua.ua.uaprotocol_auto import * -from opcua.ua.uaprotocol_hand import * -from opcua.ua.uatypes import * #TODO: This should be renamed to uatypes_hand - +from .attribute_ids import AttributeIds +from .object_ids import ObjectIds +from .object_ids import ObjectIdNames +from .status_codes import StatusCodes +from .uaprotocol_auto import * +from .uaprotocol_hand import * +from .uatypes import * #TODO: This should be renamed to uatypes_hand diff --git a/opcua/ua/ua_binary.py b/opcua/ua/ua_binary.py index 31232820a..ff1ffeb55 100644 --- a/opcua/ua/ua_binary.py +++ b/opcua/ua/ua_binary.py @@ -8,13 +8,10 @@ import uuid from enum import IntEnum, Enum -from opcua.ua.uaerrors import UaError -from opcua.common.utils import Buffer +from .uaerrors import UaError +from ..common.utils import Buffer from opcua import ua -if sys.version_info.major > 2: - unicode = str - logger = logging.getLogger('__name__') @@ -458,17 +455,17 @@ def from_binary(uatype, data): """ unpack data given an uatype as a string or a python class having a ua_types memeber """ - if isinstance(uatype, (str, unicode)) and uatype.startswith("ListOf"): + if isinstance(uatype, str) and uatype.startswith("ListOf"): utype = uatype[6:] if hasattr(ua.VariantType, utype): vtype = getattr(ua.VariantType, utype) return unpack_uatype_array(vtype, data) size = Primitives.Int32.unpack(data) return [from_binary(utype, data) for _ in range(size)] - elif isinstance(uatype, (str, unicode)) and hasattr(ua.VariantType, uatype): + elif isinstance(uatype, str) and hasattr(ua.VariantType, uatype): vtype = getattr(ua.VariantType, uatype) return unpack_uatype(vtype, data) - elif isinstance(uatype, (str, unicode)) and hasattr(Primitives, uatype): + elif isinstance(uatype, str) and hasattr(Primitives, uatype): return getattr(Primitives, uatype).unpack(data) else: return struct_from_binary(uatype, data) @@ -478,7 +475,7 @@ def struct_from_binary(objtype, data): """ unpack an ua struct. Arguments are an objtype as Python class or string """ - if isinstance(objtype, (unicode, str)): + if isinstance(objtype, str): objtype = getattr(ua, objtype) if issubclass(objtype, Enum): return objtype(Primitives.UInt32.unpack(data)) diff --git a/opcua/ua/uaerrors/_base.py b/opcua/ua/uaerrors/_base.py index 0a4c40b99..d06176058 100644 --- a/opcua/ua/uaerrors/_base.py +++ b/opcua/ua/uaerrors/_base.py @@ -4,6 +4,7 @@ from opcua.compat import with_metaclass + class _AutoRegister(type): def __new__(mcs, name, bases, dict): SubClass = type.__new__(mcs, name, bases, dict) @@ -20,6 +21,7 @@ def __new__(mcs, name, bases, dict): return SubClass + class UaError(RuntimeError): pass @@ -81,5 +83,6 @@ def code(self): """ return self.args[0] + class UaStringParsingError(UaError): pass diff --git a/opcua/ua/uatypes.py b/opcua/ua/uatypes.py index d4f43811d..24c275178 100644 --- a/opcua/ua/uatypes.py +++ b/opcua/ua/uatypes.py @@ -5,7 +5,6 @@ import logging from enum import Enum, IntEnum from calendar import timegm -import sys import os import uuid import re @@ -13,16 +12,10 @@ from datetime import datetime, timedelta, MAXYEAR, tzinfo from opcua.ua import status_codes -from opcua.ua import ObjectIds -from opcua.ua.uaerrors import UaError -from opcua.ua.uaerrors import UaStatusCodeError -from opcua.ua.uaerrors import UaStringParsingError +from .uaerrors import UaError, UaStatusCodeError, UaStringParsingError logger = logging.getLogger(__name__) -if sys.version_info.major > 2: - unicode = str - EPOCH_AS_FILETIME = 116444736000000000 # January 1, 1970 as MS file time HUNDREDS_OF_NANOSECONDS = 10000000 @@ -729,7 +722,7 @@ def _guess_type(self, val): return VariantType.Int32 elif isinstance(val, int): return VariantType.Int64 - elif isinstance(val, (str, unicode)): + elif isinstance(val, str): return VariantType.String elif isinstance(val, bytes): return VariantType.ByteString @@ -752,7 +745,7 @@ def __str__(self): __repr__ = __str__ def to_binary(self): - from opcua.ua.ua_binary import variant_to_binary + from .ua_binary import variant_to_binary return variant_to_binary(self) diff --git a/schemas/generate_event_objects.py b/schemas/generate_event_objects.py index 2d775dc0a..60a5bc698 100644 --- a/schemas/generate_event_objects.py +++ b/schemas/generate_event_objects.py @@ -1,42 +1,50 @@ -#code to generate eEventTypes +# code to generate eEventTypes import xml.etree.ElementTree as ET import opcua.ua.object_ids as obIds import generate_model_event as gme -class EventsCodeGenerator(object): - def __init__(self, event_model, output): - self.output_file = output +class EventsCodeGenerator: + + def __init__(self, event_model, output_file): + self.output_file = output_file self.event_model = event_model self.indent = " " self.iidx = 0 # indent index - def eventList(self): + def event_list(self): tree = ET.parse(self.event_model) root = tree.getroot() for child in root: if child.tag.endswith("UAObjectType"): - print (child.attrib) + print(child.attrib) def write(self, line): if line: line = self.indent * self.iidx + line self.output_file.write(line + "\n") - def make_header(self): + def make_header(self, events: list): self.write('"""') self.write("Autogenerated code from xml spec") self.write('"""') self.write("") self.write("from opcua import ua") - self.write("from opcua.common.events import Event") + self.write("from .events import Event") + self.write("") + names = ", ".join(f'"{event.browseName}"' for event in events) + self.write(f"__all__ = [{names}]") + self.write("") - def addProperties(self, event): + def add_properties(self, event): for ref in event.references: if ref.referenceType == "HasProperty": - self.write("self.add_property('{0}', {1}, {2})".format(ref.refBrowseName, self.getPropertyValue(ref), self.getPropertyDataType(ref))) + self.write("self.add_property('{0}', {1}, {2})".format( + ref.refBrowseName, self.get_property_value(ref), + self.get_property_data_type(ref) + )) - def getPropertyValue(self, reference): + def get_property_value(self, reference): if reference.refBrowseName == "SourceNode": return "sourcenode" elif reference.refBrowseName == "Severity": @@ -46,26 +54,27 @@ def getPropertyValue(self, reference): elif reference.refBrowseName == "Message": return "ua.LocalizedText(message)" elif reference.refDataType == "NodeId": - return "ua.NodeId(ua.ObjectIds.{0})".format(str(obIds.ObjectIdNames[int(str(reference.refId).split("=")[1])]).split("_")[0]) + return "ua.NodeId(ua.ObjectIds.{0})".format( + str(obIds.ObjectIdNames[int(str(reference.refId).split("=")[1])]).split("_")[0]) else: return "None" - def getPropertyDataType(self, reference): + def get_property_data_type(self, reference): if str(reference.refBrowseName).endswith("Time"): return "ua.VariantType.DateTime" elif str(reference.refDataType).startswith("i="): - return "ua.NodeId(ua.ObjectIds.{0})".format(str(obIds.ObjectIdNames[int(str(reference.refDataType).split("=")[1])]).split("_")[0]) + return "ua.NodeId(ua.ObjectIds.{0})".format( + str(obIds.ObjectIdNames[int(str(reference.refDataType).split("=")[1])]).split("_")[0]) else: return "ua.VariantType.{0}".format(reference.refDataType) - - def generateEventclass(self, event, *parentEventBrowseName): + def generate_event_class(self, event, *parent_event_browse_name): self.write("") if event.browseName == "BaseEvent": self.write("class {0}(Event):".format(event.browseName)) self.iidx += 1 self.write('"""') - if (event.description != None): + if event.description is not None: self.write(event.browseName + ": " + event.description) else: self.write(event.browseName + ": ") @@ -73,12 +82,12 @@ def generateEventclass(self, event, *parentEventBrowseName): self.write("def __init__(self, sourcenode=None, message=None, severity=1):") self.iidx += 1 self.write("Event.__init__(self)") - self.addProperties(event) + self.add_properties(event) else: - self.write("class {0}({1}):".format(event.browseName, parentEventBrowseName[0])) + self.write("class {0}({1}):".format(event.browseName, parent_event_browse_name[0])) self.iidx += 1 self.write('"""') - if (event.description != None): + if event.description is not None: self.write(event.browseName + ": " + event.description) else: self.write(event.browseName + ": ") @@ -87,19 +96,17 @@ def generateEventclass(self, event, *parentEventBrowseName): self.iidx += 1 self.write("super({0}, self).__init__(sourcenode, message, severity)".format(event.browseName)) self.write("self.EventType = ua.NodeId(ua.ObjectIds.{0}Type)".format(event.browseName)) - self.addProperties(event) + self.add_properties(event) self.iidx -= 2 - - def generateEventsCode(self, model): - self.output_file = open(self.output_file, "w") - self.make_header() + def generate_events_code(self, model): + self.make_header(model.values()) for event in model.values(): - if (event.browseName == "BaseEvent"): - self.generateEventclass(event) + if event.browseName == "BaseEvent": + self.generate_event_class(event) else: - parentNode = model[event.parentNodeId] - self.generateEventclass(event, parentNode.browseName) + parent_node = model[event.parentNodeId] + self.generate_event_class(event, parent_node.browseName) self.write("") self.write("") self.write("IMPLEMENTED_EVENTS = {") @@ -111,8 +118,9 @@ def generateEventsCode(self, model): if __name__ == "__main__": xmlPath = "Opc.Ua.NodeSet2.xml" - output_file = "../opcua/common/event_objects.py" + output_path = "../opcua/common/event_objects.py" p = gme.Parser(xmlPath) model = p.parse() - ECG = EventsCodeGenerator(model, output_file) - ECG.generateEventsCode(model) + with open(output_path, "w") as fp: + ecg = EventsCodeGenerator(model, fp) + ecg.generate_events_code(model) diff --git a/tests/test_client.py b/tests/test_client.py index 900eecb24..04b346d92 100644 --- a/tests/test_client.py +++ b/tests/test_client.py @@ -3,7 +3,6 @@ import pytest from opcua import Client - from opcua import ua _logger = logging.getLogger(__name__) diff --git a/tests/test_common.py b/tests/test_common.py index e4f3bea18..80ce87009 100644 --- a/tests/test_common.py +++ b/tests/test_common.py @@ -11,12 +11,8 @@ from datetime import timedelta import math -from opcua import ua -from opcua import uamethod -from opcua import instantiate -from opcua import copy_node +from opcua import ua, call_method_full, copy_node, uamethod, instantiate from opcua.common import ua_utils -from opcua.common.methods import call_method_full pytestmark = pytest.mark.asyncio diff --git a/tests/test_server.py b/tests/test_server.py index 3667dd87b..07da8a1c0 100644 --- a/tests/test_server.py +++ b/tests/test_server.py @@ -10,12 +10,7 @@ from datetime import timedelta import opcua -from opcua import Server -from opcua import Client -from opcua import ua -from opcua import uamethod -from opcua.common.event_objects import BaseEvent, AuditEvent, AuditChannelEvent, AuditSecurityEvent, \ - AuditOpenSecureChannelEvent +from opcua import Server, Client, ua, uamethod, BaseEvent, AuditEvent, AuditChannelEvent, AuditSecurityEvent, AuditOpenSecureChannelEvent from opcua.common import ua_utils pytestmark = pytest.mark.asyncio From a05b957978a68f1a32b62c06fa3af93091213646 Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Thu, 2 Aug 2018 15:07:49 +0200 Subject: [PATCH 103/113] fix async method service call --- opcua/common/methods.py | 9 +++++++++ opcua/server/address_space.py | 2 +- opcua/server/internal_server.py | 1 + opcua/server/uaprocessor.py | 2 +- 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/opcua/common/methods.py b/opcua/common/methods.py index c43b3c4fe..895e3e390 100644 --- a/opcua/common/methods.py +++ b/opcua/common/methods.py @@ -14,6 +14,7 @@ async def call_method(parent, methodid, *args): arguments are variants or python object convertible to variants. which may be of different types returns a list of values or a single value depending on the output of the method + : param: parent `Node` """ result = await call_method_full(parent, methodid, *args) @@ -32,6 +33,7 @@ async def call_method_full(parent, methodid, *args): arguments are variants or python object convertible to variants. which may be of different types returns a CallMethodResult object with converted OutputArguments + : param: parent `Node` """ if isinstance(methodid, (str, ua.uatypes.QualifiedName)): methodid = (await parent.get_child(methodid)).nodeid @@ -44,6 +46,13 @@ async def call_method_full(parent, methodid, *args): async def _call_method(server, parentnodeid, methodid, arguments): + """ + :param server: `UaClient` or `InternalSession` + :param parentnodeid: + :param methodid: + :param arguments: + :return: + """ request = ua.CallMethodRequest() request.ObjectId = parentnodeid request.MethodId = methodid diff --git a/opcua/server/address_space.py b/opcua/server/address_space.py index be74967db..01a5c940f 100644 --- a/opcua/server/address_space.py +++ b/opcua/server/address_space.py @@ -450,7 +450,7 @@ def __init__(self, aspace): self.logger = logging.getLogger(__name__) self._aspace = aspace - def call(self, methods): + async def call(self, methods): results = [] for method in methods: results.append(self._call(method)) diff --git a/opcua/server/internal_server.py b/opcua/server/internal_server.py index 7c8707e68..a0b8f7117 100644 --- a/opcua/server/internal_server.py +++ b/opcua/server/internal_server.py @@ -334,6 +334,7 @@ async def add_method_callback(self, methodid, callback): return self.aspace.add_method_callback(methodid, callback) def call(self, params): + """COROUTINE""" return self.iserver.method_service.call(params) async def create_subscription(self, params, callback): diff --git a/opcua/server/uaprocessor.py b/opcua/server/uaprocessor.py index 402e80937..41cf60f19 100644 --- a/opcua/server/uaprocessor.py +++ b/opcua/server/uaprocessor.py @@ -374,7 +374,7 @@ async def _process_message(self, typeid, requesthdr, algohdr, seqhdr, body): elif typeid == ua.NodeId(ua.ObjectIds.CallRequest_Encoding_DefaultBinary): self.logger.info("call request") params = struct_from_binary(ua.CallParameters, body) - results = self.session.call(params.MethodsToCall) + results = await self.session.call(params.MethodsToCall) response = ua.CallResponse() response.Results = results self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) From 5821a6ef3de337953c93e55bef9b960d2133404f Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Thu, 2 Aug 2018 15:11:02 +0200 Subject: [PATCH 104/113] cryptography signer -> sign, verifier -> verify migration --- opcua/crypto/uacrypto.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/opcua/crypto/uacrypto.py b/opcua/crypto/uacrypto.py index 22783bd02..07ab002ad 100644 --- a/opcua/crypto/uacrypto.py +++ b/opcua/crypto/uacrypto.py @@ -44,21 +44,20 @@ def der_from_x509(certificate): def sign_sha1(private_key, data): - signer = private_key.signer( + return private_key.sign( + data, padding.PKCS1v15(), hashes.SHA1() ) - signer.update(data) - return signer.finalize() def verify_sha1(certificate, data, signature): - verifier = certificate.public_key().verifier( + certificate.public_key().verify( signature, + data, padding.PKCS1v15(), - hashes.SHA1()) - verifier.update(data) - verifier.verify() + hashes.SHA1() + ) def encrypt_basic256(public_key, data): From 106606d9866fc9aecad06ab232e3eaee768bfe6b Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Thu, 2 Aug 2018 16:23:00 +0200 Subject: [PATCH 105/113] cleanup, refactor Subscription tests --- opcua/common/subscription.py | 2 +- opcua/server/internal_server.py | 4 ++-- opcua/server/server.py | 9 +++------ tests/test_subscriptions.py | 21 +++++++++++---------- 4 files changed, 17 insertions(+), 19 deletions(-) diff --git a/opcua/common/subscription.py b/opcua/common/subscription.py index 0fa8a1584..de1ab5df0 100644 --- a/opcua/common/subscription.py +++ b/opcua/common/subscription.py @@ -170,7 +170,7 @@ def _call_status(self, status): def subscribe_data_change(self, nodes, attr=ua.AttributeIds.Value): """ - Coroutine + COROUTINE Subscribe for data change events for a node or list of nodes. default attribute is Value. Return a handle which can be used to unsubscribe diff --git a/opcua/server/internal_server.py b/opcua/server/internal_server.py index a0b8f7117..70f08e2ad 100644 --- a/opcua/server/internal_server.py +++ b/opcua/server/internal_server.py @@ -28,13 +28,13 @@ class SessionState(Enum): Closed = 2 -class ServerDesc(object): +class ServerDesc: def __init__(self, serv, cap=None): self.Server = serv self.Capabilities = cap -class InternalServer(object): +class InternalServer: def __init__(self): self.logger = logging.getLogger(__name__) diff --git a/opcua/server/server.py b/opcua/server/server.py index d802f191f..e34dc39b9 100644 --- a/opcua/server/server.py +++ b/opcua/server/server.py @@ -60,7 +60,7 @@ class Server: :vartype nodes: Shortcuts """ - def __init__(self, iserver=None): + def __init__(self, iserver: InternalServer=None): self.loop = asyncio.get_event_loop() self.logger = logging.getLogger(__name__) self.endpoint = urlparse("opc.tcp://0.0.0.0:4840/freeopcua/server/") @@ -70,11 +70,8 @@ def __init__(self, iserver=None): self.manufacturer_name = "FreeOpcUa" self.application_type = ua.ApplicationType.ClientAndServer self.default_timeout = 60 * 60 * 1000 - if iserver is not None: - self.iserver = iserver - else: - self.iserver = InternalServer() - self.bserver = None + self.iserver = iserver if iserver else InternalServer() + self.bserver: BinaryServer = None self._discovery_clients = {} self._discovery_period = 60 self.certificate = None diff --git a/tests/test_subscriptions.py b/tests/test_subscriptions.py index edb7147c2..ecafe638f 100644 --- a/tests/test_subscriptions.py +++ b/tests/test_subscriptions.py @@ -70,7 +70,8 @@ async def test_subscription_failure(opc): o = opc.opc.get_objects_node() sub = await opc.opc.create_subscription(100, myhandler) with pytest.raises(ua.UaStatusCodeError): - handle1 = await sub.subscribe_data_change(o) # we can only subscribe to variables so this should fail + # we can only subscribe to variables so this should fail + handle1 = await sub.subscribe_data_change(o) await sub.delete() @@ -106,7 +107,7 @@ async def test_subscription_count(opc): sub = await opc.opc.create_subscription(1, myhandler) o = opc.opc.get_objects_node() var = await o.add_variable(3, 'SubVarCounter', 0.1) - sub.subscribe_data_change(var) + await sub.subscribe_data_change(var) nb = 12 for i in range(nb): val = await var.get_value() @@ -121,7 +122,7 @@ async def test_subscription_count_list(opc): sub = await opc.opc.create_subscription(1, myhandler) o = opc.opc.get_objects_node() var = await o.add_variable(3, 'SubVarCounter', [0.1, 0.2]) - sub.subscribe_data_change(var) + await sub.subscribe_data_change(var) nb = 12 for i in range(nb): val = await var.get_value() @@ -134,14 +135,14 @@ async def test_subscription_count_list(opc): async def test_subscription_count_no_change(opc): myhandler = MySubHandlerCounter() - sub = opc.create_subscription(1, myhandler) + sub = await opc.create_subscription(1, myhandler) o = opc.get_objects_node() - var = o.add_variable(3, 'SubVarCounter', [0.1, 0.2]) - sub.subscribe_data_change(var) + var = await o.add_variable(3, 'SubVarCounter', [0.1, 0.2]) + await sub.subscribe_data_change(var) nb = 12 for i in range(nb): - val = var.get_value() - var.set_value(val) + val = await var.get_value() + await var.set_value(val) await sleep(0.2) # let last event arrive assert 1 == myhandler.datachange_count await sub.delete() @@ -152,7 +153,7 @@ async def test_subscription_count_empty(opc): sub = await opc.opc.create_subscription(1, myhandler) o = opc.opc.get_objects_node() var = await o.add_variable(3, 'SubVarCounter', [0.1, 0.2, 0.3]) - sub.subscribe_data_change(var) + await sub.subscribe_data_change(var) while True: val = await var.get_value() val.pop() @@ -173,7 +174,7 @@ async def test_subscription_overload_simple(opc): for i in range(nb): variables.append(await o.add_variable(3, f'SubVarOverload{i}', i)) for i in range(nb): - sub.subscribe_data_change(variables) + await sub.subscribe_data_change(variables) await sub.delete() From a1af517c09142f9284ab86012fb5f61066d916ab Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Thu, 2 Aug 2018 16:23:25 +0200 Subject: [PATCH 106/113] refactor uaprocessor Publish queues --- opcua/server/uaprocessor.py | 206 +++++++++++++++++++----------------- 1 file changed, 108 insertions(+), 98 deletions(-) diff --git a/opcua/server/uaprocessor.py b/opcua/server/uaprocessor.py index 41cf60f19..2cdd3ad3d 100644 --- a/opcua/server/uaprocessor.py +++ b/opcua/server/uaprocessor.py @@ -1,7 +1,7 @@ - -import logging -from threading import RLock import time +import logging +from typing import Deque +from collections import deque from opcua import ua from ..ua.ua_binary import nodeid_from_binary, struct_from_binary, struct_to_binary, uatcp_to_binary @@ -9,14 +9,15 @@ from ..common import SecureConnection, ServiceError __all__ = ["UaProcessor"] +_logger = logging.getLogger(__name__) class PublishRequestData: - def __init__(self): - self.requesthdr = None - self.algohdr = None - self.seqhdr = None + def __init__(self, requesthdr=None, algohdr=None, seqhdr=None): + self.requesthdr = requesthdr + self.algohdr = algohdr + self.seqhdr = seqhdr self.timestamp = time.time() @@ -25,16 +26,17 @@ class UaProcessor: ToDo: remove/replace Lock ToDo: Refactor queues with asyncio.Queue """ - def __init__(self, internal_server: InternalServer, socket): - self.logger = logging.getLogger(__name__) + + def __init__(self, internal_server: InternalServer, transport): self.iserver: InternalServer = internal_server - self.name = socket.get_extra_info('peername') - self.sockname = socket.get_extra_info('sockname') + self.name = transport.get_extra_info('peername') + self.sockname = transport.get_extra_info('sockname') self.session: InternalSession = None - self.socket = socket - self._datalock = RLock() - self._publishdata_queue = [] - self._publish_result_queue = [] # used when we need to wait for PublishRequest + self._transport = transport + # deque for Publish Requests + self._publish_requests: Deque[PublishRequestData] = deque() + # used when we need to wait for PublishRequest + self._publish_results = deque() self._connection = SecureConnection(ua.SecurityPolicy()) def set_policies(self, policies): @@ -45,7 +47,7 @@ def send_response(self, requesthandle, algohdr, seqhdr, response, msgtype=ua.Mes data = self._connection.message_to_binary( struct_to_binary(response), message_type=msgtype, request_id=seqhdr.RequestId, algohdr=algohdr ) - self.socket.write(data) + self._transport.write(data) def open_secure_channel(self, algohdr, seqhdr, body): request = struct_from_binary(ua.OpenSecureChannelRequest, body) @@ -60,22 +62,28 @@ def open_secure_channel(self, algohdr, seqhdr, body): self.send_response(request.RequestHeader.RequestHandle, None, seqhdr, response, ua.MessageType.SecureOpen) def forward_publish_response(self, result): - self.logger.info("forward publish response %s", result) - with self._datalock: - while True: - if len(self._publishdata_queue) == 0: - self._publish_result_queue.append(result) - self.logger.info("Server wants to send publish answer but no publish request is available," - "enqueing notification, length of result queue is %s", - len(self._publish_result_queue)) - return - requestdata = self._publishdata_queue.pop(0) - if requestdata.requesthdr.TimeoutHint == 0 or requestdata.requesthdr.TimeoutHint != 0 and time.time() - requestdata.timestamp < requestdata.requesthdr.TimeoutHint / 1000: - break - + """ + Try to send a `PublishResponse` for the given result. + """ + _logger.info("forward publish response %s", result) + while True: + if not len(self._publish_requests): + self._publish_results.append(result) + _logger.info( + "Server wants to send publish answer but no publish request is available," + "enqueing notification, length of result queue is %s", + len(self._publish_results) + ) + return + # We pop left from the Publieh Request deque (FIFO) + requestdata = self._publish_requests.popleft(0) + if (requestdata.requesthdr.TimeoutHint == 0 or + requestdata.requesthdr.TimeoutHint != 0 and + time.time() - requestdata.timestamp < requestdata.requesthdr.TimeoutHint / 1000): + # Continue and use `requestdata` only if there was no timeout + break response = ua.PublishResponse() response.Parameters = result - self.send_response(requestdata.requesthdr.RequestHandle, requestdata.algohdr, requestdata.seqhdr, response) async def process(self, header, body): @@ -93,32 +101,36 @@ async def process(self, header, body): ack.ReceiveBufferSize = msg.ReceiveBufferSize ack.SendBufferSize = msg.SendBufferSize data = uatcp_to_binary(ua.MessageType.Acknowledge, ack) - self.socket.write(data) + self._transport.write(data) elif isinstance(msg, ua.ErrorMessage): - self.logger.warning("Received an error message type") + _logger.warning("Received an error message type") elif msg is None: pass # msg is a ChunkType.Intermediate of an ua.MessageType.SecureMessage else: - self.logger.warning("Unsupported message type: %s", header.MessageType) + _logger.warning("Unsupported message type: %s", header.MessageType) raise ServiceError(ua.StatusCodes.BadTcpMessageTypeInvalid) return True async def process_message(self, algohdr, seqhdr, body): + """ + Process incoming messages. + """ typeid = nodeid_from_binary(body) requesthdr = struct_from_binary(ua.RequestHeader, body) + _logger.debug('process_message %r %r', typeid, requesthdr) try: return await self._process_message(typeid, requesthdr, algohdr, seqhdr, body) except ServiceError as e: status = ua.StatusCode(e.code) response = ua.ServiceFault() response.ResponseHeader.ServiceResult = status - self.logger.info("sending service fault response: %s (%s)", status.doc, status.name) + _logger.info("sending service fault response: %s (%s)", status.doc, status.name) self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) return True async def _process_message(self, typeid, requesthdr, algohdr, seqhdr, body): if typeid == ua.NodeId(ua.ObjectIds.CreateSessionRequest_Encoding_DefaultBinary): - self.logger.info("Create session request") + _logger.info("Create session request") params = struct_from_binary(ua.CreateSessionParameters, body) # create the session on server self.session = self.iserver.create_session(self.name, external=True) @@ -134,22 +146,22 @@ async def _process_message(self, typeid, requesthdr, algohdr, seqhdr, body): response.Parameters.ServerSignature.Signature = \ self._connection.security_policy.asymmetric_cryptography.signature(data) response.Parameters.ServerSignature.Algorithm = "http://www.w3.org/2000/09/xmldsig#rsa-sha1" - self.logger.info("sending create session response") + _logger.info("sending create session response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.CloseSessionRequest_Encoding_DefaultBinary): - self.logger.info("Close session request") + _logger.info("Close session request") deletesubs = ua.ua_binary.Primitives.Boolean.unpack(body) await self.session.close_session(deletesubs) response = ua.CloseSessionResponse() - self.logger.info("sending close session response") + _logger.info("sending close session response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.ActivateSessionRequest_Encoding_DefaultBinary): - self.logger.info("Activate session request") + _logger.info("Activate session request") params = struct_from_binary(ua.ActivateSessionParameters, body) if not self.session: - self.logger.info("request to activate non-existing session") + _logger.info("request to activate non-existing session") raise ServiceError(ua.StatusCodes.BadSessionIdInvalid) if self._connection.security_policy.client_certificate is None: data = self.session.nonce @@ -159,205 +171,203 @@ async def _process_message(self, typeid, requesthdr, algohdr, seqhdr, body): result = self.session.activate_session(params) response = ua.ActivateSessionResponse() response.Parameters = result - self.logger.info("sending read response") + _logger.info("sending read response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.ReadRequest_Encoding_DefaultBinary): - self.logger.info("Read request") + _logger.info("Read request") params = struct_from_binary(ua.ReadParameters, body) results = await self.session.read(params) response = ua.ReadResponse() response.Results = results - self.logger.info("sending read response") + _logger.info("sending read response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.WriteRequest_Encoding_DefaultBinary): - self.logger.info("Write request") + _logger.info("Write request") params = struct_from_binary(ua.WriteParameters, body) results = await self.session.write(params) response = ua.WriteResponse() response.Results = results - self.logger.info("sending write response") + _logger.info("sending write response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.BrowseRequest_Encoding_DefaultBinary): - self.logger.info("Browse request") + _logger.info("Browse request") params = struct_from_binary(ua.BrowseParameters, body) results = await self.session.browse(params) response = ua.BrowseResponse() response.Results = results - self.logger.info("sending browse response") + _logger.info("sending browse response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.GetEndpointsRequest_Encoding_DefaultBinary): - self.logger.info("get endpoints request") + _logger.info("get endpoints request") params = struct_from_binary(ua.GetEndpointsParameters, body) endpoints = await self.iserver.get_endpoints(params, sockname=self.sockname) response = ua.GetEndpointsResponse() response.Endpoints = endpoints - self.logger.info("sending get endpoints response") + _logger.info("sending get endpoints response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.FindServersRequest_Encoding_DefaultBinary): - self.logger.info("find servers request") + _logger.info("find servers request") params = struct_from_binary(ua.FindServersParameters, body) servers = self.iserver.find_servers(params) response = ua.FindServersResponse() response.Servers = servers - self.logger.info("sending find servers response") + _logger.info("sending find servers response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.RegisterServerRequest_Encoding_DefaultBinary): - self.logger.info("register server request") + _logger.info("register server request") serv = struct_from_binary(ua.RegisteredServer, body) self.iserver.register_server(serv) response = ua.RegisterServerResponse() - self.logger.info("sending register server response") + _logger.info("sending register server response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.RegisterServer2Request_Encoding_DefaultBinary): - self.logger.info("register server 2 request") + _logger.info("register server 2 request") params = struct_from_binary(ua.RegisterServer2Parameters, body) results = self.iserver.register_server2(params) response = ua.RegisterServer2Response() response.ConfigurationResults = results - self.logger.info("sending register server 2 response") + _logger.info("sending register server 2 response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.TranslateBrowsePathsToNodeIdsRequest_Encoding_DefaultBinary): - self.logger.info("translate browsepaths to nodeids request") + _logger.info("translate browsepaths to nodeids request") params = struct_from_binary(ua.TranslateBrowsePathsToNodeIdsParameters, body) paths = await self.session.translate_browsepaths_to_nodeids(params.BrowsePaths) response = ua.TranslateBrowsePathsToNodeIdsResponse() response.Results = paths - self.logger.info("sending translate browsepaths to nodeids response") + _logger.info("sending translate browsepaths to nodeids response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.AddNodesRequest_Encoding_DefaultBinary): - self.logger.info("add nodes request") + _logger.info("add nodes request") params = struct_from_binary(ua.AddNodesParameters, body) results = await self.session.add_nodes(params.NodesToAdd) response = ua.AddNodesResponse() response.Results = results - self.logger.info("sending add node response") + _logger.info("sending add node response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.DeleteNodesRequest_Encoding_DefaultBinary): - self.logger.info("delete nodes request") + _logger.info("delete nodes request") params = struct_from_binary(ua.DeleteNodesParameters, body) results = await self.session.delete_nodes(params) response = ua.DeleteNodesResponse() response.Results = results - self.logger.info("sending delete node response") + _logger.info("sending delete node response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.AddReferencesRequest_Encoding_DefaultBinary): - self.logger.info("add references request") + _logger.info("add references request") params = struct_from_binary(ua.AddReferencesParameters, body) results = await self.session.add_references(params.ReferencesToAdd) response = ua.AddReferencesResponse() response.Results = results - self.logger.info("sending add references response") + _logger.info("sending add references response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.DeleteReferencesRequest_Encoding_DefaultBinary): - self.logger.info("delete references request") + _logger.info("delete references request") params = struct_from_binary(ua.DeleteReferencesParameters, body) results = await self.session.delete_references(params.ReferencesToDelete) response = ua.DeleteReferencesResponse() response.Parameters.Results = results - self.logger.info("sending delete references response") + _logger.info("sending delete references response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.CreateSubscriptionRequest_Encoding_DefaultBinary): - self.logger.info("create subscription request") + _logger.info("create subscription request") params = struct_from_binary(ua.CreateSubscriptionParameters, body) result = await self.session.create_subscription(params, self.forward_publish_response) response = ua.CreateSubscriptionResponse() response.Parameters = result - self.logger.info("sending create subscription response") + _logger.info("sending create subscription response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.DeleteSubscriptionsRequest_Encoding_DefaultBinary): - self.logger.info("delete subscriptions request") + _logger.info("delete subscriptions request") params = struct_from_binary(ua.DeleteSubscriptionsParameters, body) results = await self.session.delete_subscriptions(params.SubscriptionIds) response = ua.DeleteSubscriptionsResponse() response.Results = results - self.logger.info("sending delte subscription response") + _logger.info("sending delte subscription response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.CreateMonitoredItemsRequest_Encoding_DefaultBinary): - self.logger.info("create monitored items request") + _logger.info("create monitored items request") params = struct_from_binary(ua.CreateMonitoredItemsParameters, body) results = await self.session.create_monitored_items(params) response = ua.CreateMonitoredItemsResponse() response.Results = results - self.logger.info("sending create monitored items response") + _logger.info("sending create monitored items response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.ModifyMonitoredItemsRequest_Encoding_DefaultBinary): - self.logger.info("modify monitored items request") + _logger.info("modify monitored items request") params = struct_from_binary(ua.ModifyMonitoredItemsParameters, body) results = await self.session.modify_monitored_items(params) response = ua.ModifyMonitoredItemsResponse() response.Results = results - self.logger.info("sending modify monitored items response") + _logger.info("sending modify monitored items response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.DeleteMonitoredItemsRequest_Encoding_DefaultBinary): - self.logger.info("delete monitored items request") + _logger.info("delete monitored items request") params = struct_from_binary(ua.DeleteMonitoredItemsParameters, body) results = await self.session.delete_monitored_items(params) response = ua.DeleteMonitoredItemsResponse() response.Results = results - self.logger.info("sending delete monitored items response") + _logger.info("sending delete monitored items response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.HistoryReadRequest_Encoding_DefaultBinary): - self.logger.info("history read request") + _logger.info("history read request") params = struct_from_binary(ua.HistoryReadParameters, body) results = await self.session.history_read(params) response = ua.HistoryReadResponse() response.Results = results - self.logger.info("sending history read response") + _logger.info("sending history read response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.RegisterNodesRequest_Encoding_DefaultBinary): - self.logger.info("register nodes request") + _logger.info("register nodes request") params = struct_from_binary(ua.RegisterNodesParameters, body) - self.logger.info("Node registration not implemented") + _logger.info("Node registration not implemented") response = ua.RegisterNodesResponse() response.Parameters.RegisteredNodeIds = params.NodesToRegister - self.logger.info("sending register nodes response") + _logger.info("sending register nodes response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.UnregisterNodesRequest_Encoding_DefaultBinary): - self.logger.info("unregister nodes request") + _logger.info("unregister nodes request") params = struct_from_binary(ua.UnregisterNodesParameters, body) response = ua.UnregisterNodesResponse() - self.logger.info("sending unregister nodes response") + _logger.info("sending unregister nodes response") self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.PublishRequest_Encoding_DefaultBinary): - self.logger.info("publish request") + _logger.info("publish request") if not self.session: return False params = struct_from_binary(ua.PublishParameters, body) - data = PublishRequestData() - data.requesthdr = requesthdr - data.seqhdr = seqhdr - data.algohdr = algohdr - with self._datalock: - self._publishdata_queue.append(data) # will be used to send publish answers from server - if self._publish_result_queue: - result = self._publish_result_queue.pop(0) - self.forward_publish_response(result) + data = PublishRequestData(requesthdr=requesthdr, seqhdr=seqhdr, algohdr=algohdr) + # Store the Publish Request (will be used to send publish answers from server) + self._publish_requests.append(data) + # If there is an enqueued result forward it immediately + if len(self._publish_results): + result = self._publish_results.popleft(0) + self.forward_publish_response(result) self.session.publish(params.SubscriptionAcknowledgements) - self.logger.info("publish forward to server") + _logger.info("publish forward to server") elif typeid == ua.NodeId(ua.ObjectIds.RepublishRequest_Encoding_DefaultBinary): - self.logger.info("re-publish request") + _logger.info("re-publish request") params = struct_from_binary(ua.RepublishParameters, body) msg = self.session.republish(params) response = ua.RepublishResponse() @@ -365,21 +375,21 @@ async def _process_message(self, typeid, requesthdr, algohdr, seqhdr, body): self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) elif typeid == ua.NodeId(ua.ObjectIds.CloseSecureChannelRequest_Encoding_DefaultBinary): - self.logger.info("close secure channel request") + _logger.info("close secure channel request") self._connection.close() response = ua.CloseSecureChannelResponse() self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) return False elif typeid == ua.NodeId(ua.ObjectIds.CallRequest_Encoding_DefaultBinary): - self.logger.info("call request") + _logger.info("call request") params = struct_from_binary(ua.CallParameters, body) results = await self.session.call(params.MethodsToCall) response = ua.CallResponse() response.Results = results self.send_response(requesthdr.RequestHandle, algohdr, seqhdr, response) else: - self.logger.warning("Unknown message received %s", typeid) + _logger.warning("Unknown message received %s", typeid) raise ServiceError(ua.StatusCodes.BadNotImplemented) return True @@ -389,6 +399,6 @@ async def close(self): to be called when client has disconnected to ensure we really close everything we should """ - self.logger.info("Cleanup client connection: %s", self.name) + _logger.info("Cleanup client connection: %s", self.name) if self.session: await self.session.close_session(True) From 90d2f318c72a68ed7c9911b1c8565982da3c9a05 Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Thu, 2 Aug 2018 16:38:11 +0200 Subject: [PATCH 107/113] refactor subscription tests --- opcua/common/subscription.py | 2 +- tests/test_subscriptions.py | 26 +++++++++++++------------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/opcua/common/subscription.py b/opcua/common/subscription.py index de1ab5df0..7098c58b3 100644 --- a/opcua/common/subscription.py +++ b/opcua/common/subscription.py @@ -273,7 +273,7 @@ async def unsubscribe(self, handle): params = ua.DeleteMonitoredItemsParameters() params.SubscriptionId = self.subscription_id params.MonitoredItemIds = [handle] - results = self.server.delete_monitored_items(params) + results = await self.server.delete_monitored_items(params) results[0].check() for k, v in self._monitored_items.items(): if v.server_handle == handle: diff --git a/tests/test_subscriptions.py b/tests/test_subscriptions.py index ecafe638f..0521986f1 100644 --- a/tests/test_subscriptions.py +++ b/tests/test_subscriptions.py @@ -99,7 +99,7 @@ async def test_subscription_overload(opc): await variables[i].set_value(j) await sub.delete() for s in subs: - s.delete() + await s.delete() async def test_subscription_count(opc): @@ -398,7 +398,7 @@ async def test_events_wrong_source(opc): async def test_events_CustomEvent(opc): - etype = opc.server.create_custom_event_type(2, 'MyEvent', ua.ObjectIds.BaseEventType, + etype = await opc.server.create_custom_event_type(2, 'MyEvent', ua.ObjectIds.BaseEventType, [('PropertyNum', ua.VariantType.Float), ('PropertyString', ua.VariantType.String)]) evgen = opc.server.get_event_generator(etype) @@ -431,7 +431,7 @@ async def test_events_CustomEvent(opc): async def test_events_CustomEvent_MyObject(opc): objects = opc.server.get_objects_node() o = objects.add_object(3, 'MyObject') - etype = opc.server.create_custom_event_type(2, 'MyEvent', ua.ObjectIds.BaseEventType, + etype = await opc.server.create_custom_event_type(2, 'MyEvent', ua.ObjectIds.BaseEventType, [('PropertyNum', ua.VariantType.Float), ('PropertyString', ua.VariantType.String)]) evgen = opc.server.get_event_generator(etype, o) @@ -462,7 +462,7 @@ async def test_events_CustomEvent_MyObject(opc): async def test_several_different_events(opc): objects = opc.server.get_objects_node() o = objects.add_object(3, 'MyObject') - etype1 = opc.server.create_custom_event_type(2, 'MyEvent1', ua.ObjectIds.BaseEventType, + etype1 = await opc.server.create_custom_event_type(2, 'MyEvent1', ua.ObjectIds.BaseEventType, [('PropertyNum', ua.VariantType.Float), ('PropertyString', ua.VariantType.String)]) evgen1 = await opc.server.get_event_generator(etype1, o) @@ -504,24 +504,24 @@ async def test_several_different_events(opc): async def test_several_different_events_2(opc): objects = opc.server.get_objects_node() - o = objects.add_object(3, 'MyObject') - etype1 = opc.server.create_custom_event_type( + o = await objects.add_object(3, 'MyObject') + etype1 = await opc.server.create_custom_event_type( 2, 'MyEvent1', ua.ObjectIds.BaseEventType, [('PropertyNum', ua.VariantType.Float), ('PropertyString', ua.VariantType.String)] ) - evgen1 = opc.server.get_event_generator(etype1, o) - etype2 = opc.server.create_custom_event_type( + evgen1 = await opc.server.get_event_generator(etype1, o) + etype2 = await opc.server.create_custom_event_type( 2, 'MyEvent2', ua.ObjectIds.BaseEventType, [('PropertyNum2', ua.VariantType.Float), ('PropertyString', ua.VariantType.String)] ) - evgen2 = opc.server.get_event_generator(etype2, o) - etype3 = opc.server.create_custom_event_type( + evgen2 = await opc.server.get_event_generator(etype2, o) + etype3 = await opc.server.create_custom_event_type( 2, 'MyEvent3', ua.ObjectIds.BaseEventType, [('PropertyNum3', ua.VariantType.Float), ('PropertyString', ua.VariantType.String)] ) - evgen3 = opc.server.get_event_generator(etype3, o) + evgen3 = await opc.server.get_event_generator(etype3, o) myhandler = MySubHandler2() - sub = opc.create_subscription(100, myhandler) + sub = await opc.create_subscription(100, myhandler) handle = sub.subscribe_events(o, [etype1, etype3]) propertynum1 = 1 propertystring1 = "This is my test 1" @@ -553,5 +553,5 @@ async def test_several_different_events_2(opc): assert propertynum3 == ev3s[0].PropertyNum3 assert 9999 == ev3s[-1].PropertyNum3 assert ev1s[0].PropertyNum3 is None - sub.unsubscribe(handle) + await sub.unsubscribe(handle) await sub.delete() From 48e212f59b650053642b3181903698beac17138d Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Thu, 2 Aug 2018 19:32:06 +0200 Subject: [PATCH 108/113] cleanup, typing, async fixes --- opcua/common/connection.py | 6 ++++-- opcua/common/node.py | 3 ++- opcua/common/utils.py | 7 +++---- opcua/crypto/security_policies.py | 8 +++++--- opcua/server/binary_server_asyncio.py | 13 +++++++------ .../standard_address_space.py | 6 ++++-- opcua/server/uaprocessor.py | 6 +++--- opcua/ua/uatypes.py | 9 ++++----- tests/conftest.py | 1 + tests/test_subscriptions.py | 4 ++-- 10 files changed, 35 insertions(+), 28 deletions(-) diff --git a/opcua/common/connection.py b/opcua/common/connection.py index f89508dc5..f93fdfc58 100644 --- a/opcua/common/connection.py +++ b/opcua/common/connection.py @@ -34,7 +34,8 @@ async def from_binary(security_policy, data): @staticmethod def from_header_and_body(security_policy, header, buf): - assert len(buf) >= header.body_size, 'Full body expected here' + if not len(buf) >= header.body_size: + raise ValueError('Full body expected here') data = buf.copy(header.body_size) buf.skip(header.body_size) if header.MessageType in (ua.MessageType.SecureMessage, ua.MessageType.SecureClose): @@ -219,7 +220,8 @@ def message_to_binary(self, message, message_type=ua.MessageType.SecureMessage, return b"".join([chunk.to_binary() for chunk in chunks]) def _check_incoming_chunk(self, chunk): - assert isinstance(chunk, MessageChunk), 'Expected chunk, got: {0}'.format(chunk) + if not isinstance(chunk, MessageChunk): + raise ValueError('Expected chunk, got: %r', chunk) if chunk.MessageHeader.MessageType != ua.MessageType.SecureOpen: if chunk.MessageHeader.ChannelId != self.channel.SecurityToken.ChannelId: raise ua.UaError('Wrong channel id {0}, expected {1}'.format( diff --git a/opcua/common/node.py b/opcua/common/node.py index c84ea2fbd..0f2f4caef 100644 --- a/opcua/common/node.py +++ b/opcua/common/node.py @@ -16,7 +16,8 @@ def _check_results(results, reqlen=1): - assert len(results) == reqlen, results + if not len(results) == reqlen: + raise ValueError(results) for r in results: r.check() diff --git a/opcua/common/utils.py b/opcua/common/utils.py index 60530fbaf..c9f121244 100644 --- a/opcua/common/utils.py +++ b/opcua/common/utils.py @@ -4,9 +4,10 @@ """ import os - +import logging from ..ua.uaerrors import UaError +_logger = logging.getLogger(__name__) __all__ = ["ServiceError", "NotEnoughData", "SocketClosedException", "Buffer", "create_nonce"] @@ -25,14 +26,12 @@ class SocketClosedException(UaError): class Buffer: - """ alternative to io.BytesIO making debug easier - and added a few conveniance methods + and added a few convenience methods """ def __init__(self, data, start_pos=0, size=-1): - # self.logger = logging.getLogger(__name__) self._data = data self._cur_pos = start_pos if size == -1: diff --git a/opcua/crypto/security_policies.py b/opcua/crypto/security_policies.py index dea0fe8bb..3195338a9 100644 --- a/opcua/crypto/security_policies.py +++ b/opcua/crypto/security_policies.py @@ -101,8 +101,9 @@ def __init__(self, mode=MessageSecurityMode.Sign): self.Verifier = None self.Encryptor = None self.Decryptor = None - assert mode in (MessageSecurityMode.Sign, - MessageSecurityMode.SignAndEncrypt) + if mode not in (MessageSecurityMode.Sign, + MessageSecurityMode.SignAndEncrypt): + raise ValueError(f"unknown security mode {mode}") self.is_encrypted = (mode == MessageSecurityMode.SignAndEncrypt) def plain_block_size(self): @@ -154,7 +155,8 @@ def verify(self, data, sig): def encrypt(self, data): if self.is_encrypted: - assert len(data) % self.Encryptor.plain_block_size() == 0 + if not len(data) % self.Encryptor.plain_block_size() == 0: + raise ValueError return self.Encryptor.encrypt(data) return data diff --git a/opcua/server/binary_server_asyncio.py b/opcua/server/binary_server_asyncio.py index 1e102c8cf..2ca9cc224 100644 --- a/opcua/server/binary_server_asyncio.py +++ b/opcua/server/binary_server_asyncio.py @@ -3,9 +3,10 @@ """ import logging import asyncio +from typing import Union -from opcua import ua -import opcua.ua.ua_binary as uabin +from ..ua.ua_binary import header_from_binary +from ..common import Buffer, NotEnoughData from .uaprocessor import UaProcessor logger = logging.getLogger(__name__) @@ -55,12 +56,12 @@ def data_received(self, data): self.receive_buffer = b'' self._process_received_data(data) - def _process_received_data(self, data: bytes): - buf = ua.utils.Buffer(data) + def _process_received_data(self, data: Union[bytes, Buffer]): + buf = Buffer(data) if type(data) is bytes else data try: try: - header = uabin.header_from_binary(buf) - except ua.utils.NotEnoughData: + header = header_from_binary(buf) + except NotEnoughData: logger.debug('Not enough data while parsing header from client, waiting for more') self.receive_buffer = data + self.receive_buffer return diff --git a/opcua/server/standard_address_space/standard_address_space.py b/opcua/server/standard_address_space/standard_address_space.py index 07ff62442..66222a20e 100644 --- a/opcua/server/standard_address_space/standard_address_space.py +++ b/opcua/server/standard_address_space/standard_address_space.py @@ -33,9 +33,11 @@ def __enter__(self): def __exit__(self, exc_type, exc_val, exc_tb): if exc_type is None and exc_val is None: remaining_nodes = list(self.server.try_add_nodes(self.postponed_nodes, check=False)) - assert len(remaining_nodes) == 0, remaining_nodes + if len(remaining_nodes): + raise RuntimeError(f"There are remaining nodes: {remaining_nodes!r}") remaining_refs = list(self.server.try_add_references(self.postponed_refs)) - assert len(remaining_refs) == 0, remaining_refs + if len(remaining_refs): + raise RuntimeError(f"There are remaining refs: {remaining_refs!r}") def fill_address_space(nodeservice): diff --git a/opcua/server/uaprocessor.py b/opcua/server/uaprocessor.py index 2cdd3ad3d..64c836a20 100644 --- a/opcua/server/uaprocessor.py +++ b/opcua/server/uaprocessor.py @@ -76,7 +76,7 @@ def forward_publish_response(self, result): ) return # We pop left from the Publieh Request deque (FIFO) - requestdata = self._publish_requests.popleft(0) + requestdata = self._publish_requests.popleft() if (requestdata.requesthdr.TimeoutHint == 0 or requestdata.requesthdr.TimeoutHint != 0 and time.time() - requestdata.timestamp < requestdata.requesthdr.TimeoutHint / 1000): @@ -361,9 +361,9 @@ async def _process_message(self, typeid, requesthdr, algohdr, seqhdr, body): self._publish_requests.append(data) # If there is an enqueued result forward it immediately if len(self._publish_results): - result = self._publish_results.popleft(0) + result = self._publish_results.popleft() self.forward_publish_response(result) - self.session.publish(params.SubscriptionAcknowledgements) + await self.session.publish(params.SubscriptionAcknowledgements) _logger.info("publish forward to server") elif typeid == ua.NodeId(ua.ObjectIds.RepublishRequest_Encoding_DefaultBinary): diff --git a/opcua/ua/uatypes.py b/opcua/ua/uatypes.py index 24c275178..bcda3cef1 100644 --- a/opcua/ua/uatypes.py +++ b/opcua/ua/uatypes.py @@ -104,7 +104,6 @@ def parse_bitfield(cls, the_int): """ Take an integer and interpret it as a set of enum values. """ if not isinstance(the_int, int): raise ValueError(f"Argument should be an int, we received {the_int} fo type {type(the_int)}") - return {cls(b) for b in cls._bits(the_int)} @classmethod @@ -113,8 +112,8 @@ def to_bitfield(cls, collection): # make sure all elements are of the correct type (use itertools.tee in case we get passed an # iterator) iter1, iter2 = itertools.tee(iter(collection)) - assert all(isinstance(x, cls) for x in iter1) - + if not all(isinstance(x, cls) for x in iter1): + raise TypeError(f"All elements have to be of type {cls}") return sum(x.mask for x in iter2) @property @@ -127,8 +126,8 @@ def _bits(n): e.g. bits(44) yields at 2, 3, 5 """ - assert n >= 0 # avoid infinite recursion - + if not n >= 0: # avoid infinite recursion + raise ValueError() pos = 0 while n: if n & 0x1: diff --git a/tests/conftest.py b/tests/conftest.py index 5fb6de384..6047e277c 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -11,6 +11,7 @@ Opc = namedtuple('opc', ['opc', 'server']) + def pytest_generate_tests(metafunc): if 'opc' in metafunc.fixturenames: metafunc.parametrize('opc', ['client', 'server'], indirect=True) diff --git a/tests/test_subscriptions.py b/tests/test_subscriptions.py index 0521986f1..8b57e7bdc 100644 --- a/tests/test_subscriptions.py +++ b/tests/test_subscriptions.py @@ -53,7 +53,7 @@ def event_notification(self, event): self.results.append(event) -class MySubHandlerCounter(): +class MySubHandlerCounter: def __init__(self): self.datachange_count = 0 self.event_count = 0 @@ -77,7 +77,7 @@ async def test_subscription_failure(opc): async def test_subscription_overload(opc): nb = 10 - myhandler = MySubHandler() + myhandler = SubHandler() o = opc.opc.get_objects_node() sub = await opc.opc.create_subscription(1, myhandler) variables = [] From 3a301ea75dc2bb076a7f90ba753f092eb015f0a6 Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Thu, 2 Aug 2018 19:52:36 +0200 Subject: [PATCH 109/113] fix OPCUAProtocol (added message queue) --- opcua/server/binary_server_asyncio.py | 35 ++++++++++++++++++--------- 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/opcua/server/binary_server_asyncio.py b/opcua/server/binary_server_asyncio.py index 2ca9cc224..2ed55a81d 100644 --- a/opcua/server/binary_server_asyncio.py +++ b/opcua/server/binary_server_asyncio.py @@ -27,6 +27,7 @@ def __init__(self, iserver=None, policies=None, clients=None): self.iserver = iserver self.policies = policies self.clients = clients + self.messages = asyncio.Queue() def __str__(self): return 'OPCUAProtocol({}, {})'.format(self.peer_name, self.processor.session) @@ -41,6 +42,7 @@ def connection_made(self, transport): self.processor.set_policies(self.policies) self.iserver.asyncio_transports.append(transport) self.clients.append(self) + self.loop.create_task(self._process_received_message()) def connection_lost(self, ex): logger.info('Lost connection from %s, %s', self.peer_name, ex) @@ -49,6 +51,7 @@ def connection_lost(self, ex): self.loop.create_task(self.processor.close()) if self in self.clients: self.clients.remove(self) + self.messages.put_nowait((None, None)) def data_received(self, data): if self.receive_buffer: @@ -59,6 +62,7 @@ def data_received(self, data): def _process_received_data(self, data: Union[bytes, Buffer]): buf = Buffer(data) if type(data) is bytes else data try: + # try to parse the incoming data try: header = header_from_binary(buf) except NotEnoughData: @@ -69,21 +73,30 @@ def _process_received_data(self, data: Union[bytes, Buffer]): logger.debug('We did not receive enough data from client. Need %s got %s', header.body_size, len(buf)) self.receive_buffer = data + self.receive_buffer return - self.loop.create_task(self._process_received_message(header, buf)) + # a message has been received + self.messages.put_nowait((header, buf)) except Exception: logger.exception('Exception raised while parsing message from client') return - async def _process_received_message(self, header, buf): - logger.debug('_process_received_message %s %s', header.body_size, len(buf)) - ret = await self.processor.process(header, buf) - if not ret: - logger.info('processor returned False, we close connection from %s', self.peer_name) - self.transport.close() - return - if len(buf) != 0: - # There is data left in the buffer - process it - self._process_received_data(buf) + async def _process_received_message(self): + """ + Take message from the queue and try to process it. + """ + while True: + header, buf = await self.messages.get() + if header is None and buf is None: + # Connection was closed, end task + break + logger.debug('_process_received_message %s %s', header.body_size, len(buf)) + ret = await self.processor.process(header, buf) + if not ret: + logger.info('processor returned False, we close connection from %s', self.peer_name) + self.transport.close() + return + if len(buf) != 0: + # There is data left in the buffer - process it + self._process_received_data(buf) class BinaryServer: From db33f8dea1031cba87941d8f890c76ffb20e7180 Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Fri, 3 Aug 2018 15:22:00 +0200 Subject: [PATCH 110/113] refactored xml tests, cleanup --- opcua/client/client.py | 4 +- opcua/common/subscription.py | 1 + opcua/common/xmlexporter.py | 221 +++++++-------- opcua/server/internal_server.py | 2 +- opcua/server/internal_subscription.py | 4 +- opcua/server/server.py | 6 +- tests/test_crypto_connect.py | 1 + tests/test_subscriptions.py | 38 +-- tests/test_xml.py | 383 +++++++++++++++++++++++++ tests/tests_xml.py | 393 -------------------------- 10 files changed, 510 insertions(+), 543 deletions(-) create mode 100644 tests/test_xml.py delete mode 100644 tests/tests_xml.py diff --git a/opcua/client/client.py b/opcua/client/client.py index debd8f784..3e8dc4f63 100644 --- a/opcua/client/client.py +++ b/opcua/client/client.py @@ -528,12 +528,12 @@ def import_xml(self, path=None, xmlstring=None): importer = XmlImporter(self) return importer.import_xml(path, xmlstring) - def export_xml(self, nodes, path): + async def export_xml(self, nodes, path): """ Export defined nodes to xml """ exp = XmlExporter(self) - exp.build_etree(nodes) + await exp.build_etree(nodes) return exp.write_xml(path) async def register_namespace(self, uri): diff --git a/opcua/common/subscription.py b/opcua/common/subscription.py index 7098c58b3..b8edc97fa 100644 --- a/opcua/common/subscription.py +++ b/opcua/common/subscription.py @@ -76,6 +76,7 @@ class Subscription: This is a high level class, especially subscribe_data_change and subscribe_events methods. If more control is necessary look at code and/or use create_monitored_items method. + :param server: `InternalSession` or `UAClient` """ def __init__(self, server, params, handler): diff --git a/opcua/common/xmlexporter.py b/opcua/common/xmlexporter.py index 0ce501d17..2a4f522fa 100644 --- a/opcua/common/xmlexporter.py +++ b/opcua/common/xmlexporter.py @@ -16,17 +16,20 @@ class XmlExporter: - - ''' If it is required that for _extobj_to_etree members to the value should be written in a certain - order it can be added to the dictionary below. - ''' + """ + If it is required that for _extobj_to_etree members to the value should be written in a certain + order it can be added to the dictionary below. + ToDo: Run `ElementTree` methods with thread pool executor + """ extobj_ordered_elements = { - ua.NodeId(ua.ObjectIds.Argument) : ['Name', - 'DataType', - 'ValueRank', - 'ArrayDimensions', - 'Description'] - } + ua.NodeId(ua.ObjectIds.Argument): [ + 'Name', + 'DataType', + 'ValueRank', + 'ArrayDimensions', + 'Description' + ] + } def __init__(self, server): self.logger = logging.getLogger(__name__) @@ -42,7 +45,7 @@ def __init__(self, server): self.etree = Et.ElementTree(Et.Element('UANodeSet', node_set_attributes)) - def build_etree(self, node_list, uris=None): + async def build_etree(self, node_list, uris=None): """ Create an XML etree object from a list of nodes; custom namespace uris are optional Namespaces used by nodes are always exported for consistency. @@ -53,29 +56,22 @@ def build_etree(self, node_list, uris=None): Returns: """ self.logger.info('Building XML etree') - - self._add_namespaces(node_list, uris) - + await self._add_namespaces(node_list, uris) # add all nodes in the list to the XML etree for node in node_list: - self.node_to_etree(node) - + await self.node_to_etree(node) # add aliases to the XML etree self._add_alias_els() - def _add_namespaces(self, nodes, uris): - idxs = self._get_ns_idxs_of_nodes(nodes) - - ns_array = self.server.get_namespace_array() - + async def _add_namespaces(self, nodes, uris): + idxs = await self._get_ns_idxs_of_nodes(nodes) + ns_array = await self.server.get_namespace_array() # now add index of provided uris if necessary if uris: self._add_idxs_from_uris(idxs, uris, ns_array) - # now create a dict of idx_in_address_space to idx_in_exported_file self._addr_idx_to_xml_idx = self._make_idx_dict(idxs, ns_array) ns_to_export = [ns_array[i] for i in sorted(list(self._addr_idx_to_xml_idx.keys())) if i != 0] - # write namespaces to xml self._add_namespace_uri_els(ns_to_export) @@ -95,7 +91,7 @@ async def _get_ns_idxs_of_nodes(self, nodes): idxs = [] for node in nodes: node_idxs = [node.nodeid.NamespaceIndex] - node_idxs.append(node.get_browse_name().NamespaceIndex) + node_idxs.append((await node.get_browse_name()).NamespaceIndex) node_idxs.extend(ref.NodeId.NamespaceIndex for ref in await node.get_references()) node_idxs = list(set(node_idxs)) # remove duplicates for i in node_idxs: @@ -110,7 +106,6 @@ def _add_idxs_from_uris(self, idxs, uris, ns_array): if i not in idxs: idxs.append(i) - def write_xml(self, xmlpath, pretty=True): """ Write the XML etree in the exporter object to a file @@ -125,15 +120,9 @@ def write_xml(self, xmlpath, pretty=True): # embed() if pretty: self.indent(self.etree.getroot()) - self.etree.write(xmlpath, - encoding='utf-8', - xml_declaration=True - ) + self.etree.write(xmlpath, encoding='utf-8', xml_declaration=True) else: - self.etree.write(xmlpath, - encoding='utf-8', - xml_declaration=True - ) + self.etree.write(xmlpath, encoding='utf-8', xml_declaration=True) def dump_etree(self): """ @@ -143,7 +132,7 @@ def dump_etree(self): self.logger.info('Dumping XML etree to console') Et.dump(self.etree) - def node_to_etree(self, node): + async def node_to_etree(self, node): """ Add the necessary XML sub elements to the etree for exporting the node Args: @@ -151,22 +140,22 @@ def node_to_etree(self, node): Returns: """ - node_class = node.get_node_class() + node_class = await node.get_node_class() if node_class is ua.NodeClass.Object: - self.add_etree_object(node) + await self.add_etree_object(node) elif node_class is ua.NodeClass.ObjectType: - self.add_etree_object_type(node) + await self.add_etree_object_type(node) elif node_class is ua.NodeClass.Variable: - self.add_etree_variable(node) + await self.add_etree_variable(node) elif node_class is ua.NodeClass.VariableType: - self.add_etree_variable_type(node) + await self.add_etree_variable_type(node) elif node_class is ua.NodeClass.ReferenceType: - self.add_etree_reference_type(node) + await self.add_etree_reference_type(node) elif node_class is ua.NodeClass.DataType: - self.add_etree_datatype(node) + await self.add_etree_datatype(node) elif node_class is ua.NodeClass.Method: - self.add_etree_method(node) + await self.add_etree_method(node) else: self.logger.info("Exporting node class not implemented: %s ", node_class) @@ -190,17 +179,17 @@ def _bname_to_string(self, bname): bname.NamespaceIndex = self._addr_idx_to_xml_idx[bname.NamespaceIndex] return bname.to_string() - def _add_node_common(self, nodetype, node): - browsename = node.get_browse_name() + async def _add_node_common(self, nodetype, node): + browsename = await node.get_browse_name() nodeid = node.nodeid - parent = node.get_parent() - displayname = node.get_display_name().Text - desc = node.get_description().Text + parent = await node.get_parent() + displayname = (await node.get_display_name()).Text + desc = (await node.get_description()).Text node_el = Et.SubElement(self.etree.getroot(), nodetype) node_el.attrib["NodeId"] = self._node_to_string(nodeid) node_el.attrib["BrowseName"] = self._bname_to_string(browsename) if parent is not None: - node_class = node.get_node_class() + node_class = await node.get_node_class() if node_class in (ua.NodeClass.Object, ua.NodeClass.Variable, ua.NodeClass.Method): node_el.attrib["ParentNodeId"] = self._node_to_string(parent) self._add_sub_el(node_el, 'DisplayName', displayname) @@ -209,52 +198,52 @@ def _add_node_common(self, nodetype, node): # FIXME: add WriteMask and UserWriteMask return node_el - def add_etree_object(self, node): + async def add_etree_object(self, node): """ Add a UA object element to the XML etree """ - obj_el = self._add_node_common("UAObject", node) - var = node.get_attribute(ua.AttributeIds.EventNotifier) + obj_el = await self._add_node_common("UAObject", node) + var = await node.get_attribute(ua.AttributeIds.EventNotifier) if var.Value.Value != 0: obj_el.attrib["EventNotifier"] = str(var.Value.Value) - self._add_ref_els(obj_el, node) + await self._add_ref_els(obj_el, node) - def add_etree_object_type(self, node): + async def add_etree_object_type(self, node): """ Add a UA object type element to the XML etree """ - obj_el = self._add_node_common("UAObjectType", node) - abstract = node.get_attribute(ua.AttributeIds.IsAbstract).Value.Value + obj_el = await self._add_node_common("UAObjectType", node) + abstract = (await node.get_attribute(ua.AttributeIds.IsAbstract)).Value.Value if abstract: obj_el.attrib["IsAbstract"] = 'true' - self._add_ref_els(obj_el, node) + await self._add_ref_els(obj_el, node) - def add_variable_common(self, node, el): - dtype = node.get_data_type() + async def add_variable_common(self, node, el): + dtype = await node.get_data_type() if dtype.NamespaceIndex == 0 and dtype.Identifier in o_ids.ObjectIdNames: dtype_name = o_ids.ObjectIdNames[dtype.Identifier] self.aliases[dtype] = dtype_name else: dtype_name = dtype.to_string() - rank = node.get_value_rank() + rank = await node.get_value_rank() if rank != -1: el.attrib["ValueRank"] = str(int(rank)) - dim = node.get_attribute(ua.AttributeIds.ArrayDimensions) + dim = await node.get_attribute(ua.AttributeIds.ArrayDimensions) if dim.Value.Value: el.attrib["ArrayDimensions"] = ",".join([str(i) for i in dim.Value.Value]) el.attrib["DataType"] = dtype_name - self.value_to_etree(el, dtype_name, dtype, node) + await self.value_to_etree(el, dtype_name, dtype, node) - def add_etree_variable(self, node): + async def add_etree_variable(self, node): """ Add a UA variable element to the XML etree """ - var_el = self._add_node_common("UAVariable", node) - self._add_ref_els(var_el, node) - self.add_variable_common(node, var_el) + var_el = await self._add_node_common("UAVariable", node) + await self._add_ref_els(var_el, node) + await self.add_variable_common(node, var_el) - accesslevel = node.get_attribute(ua.AttributeIds.AccessLevel).Value.Value - useraccesslevel = node.get_attribute(ua.AttributeIds.UserAccessLevel).Value.Value + accesslevel = (await node.get_attribute(ua.AttributeIds.AccessLevel)).Value.Value + useraccesslevel = (await node.get_attribute(ua.AttributeIds.UserAccessLevel)).Value.Value # We only write these values if they are different from defaults # Not sure where default is defined.... @@ -263,77 +252,68 @@ def add_etree_variable(self, node): if useraccesslevel not in (0, ua.AccessLevel.CurrentRead.mask): var_el.attrib["UserAccessLevel"] = str(useraccesslevel) - var = node.get_attribute(ua.AttributeIds.MinimumSamplingInterval) + var = await node.get_attribute(ua.AttributeIds.MinimumSamplingInterval) if var.Value.Value: var_el.attrib["MinimumSamplingInterval"] = str(var.Value.Value) - var = node.get_attribute(ua.AttributeIds.Historizing) + var = await node.get_attribute(ua.AttributeIds.Historizing) if var.Value.Value: var_el.attrib["Historizing"] = 'true' - def add_etree_variable_type(self, node): + async def add_etree_variable_type(self, node): """ Add a UA variable type element to the XML etree """ - - var_el = self._add_node_common("UAVariableType", node) - self.add_variable_common(node, var_el) - - abstract = node.get_attribute(ua.AttributeIds.IsAbstract) + var_el = await self._add_node_common("UAVariableType", node) + await self.add_variable_common(node, var_el) + abstract = await node.get_attribute(ua.AttributeIds.IsAbstract) if abstract.Value.Value: var_el.attrib["IsAbstract"] = "true" + await self._add_ref_els(var_el, node) - self._add_ref_els(var_el, node) - - def add_etree_method(self, node): - obj_el = self._add_node_common("UAMethod", node) - - var = node.get_attribute(ua.AttributeIds.Executable) + async def add_etree_method(self, node): + obj_el = await self._add_node_common("UAMethod", node) + var = await node.get_attribute(ua.AttributeIds.Executable) if var.Value.Value is False: obj_el.attrib["Executable"] = "false" - var = node.get_attribute(ua.AttributeIds.UserExecutable) + var = await node.get_attribute(ua.AttributeIds.UserExecutable) if var.Value.Value is False: obj_el.attrib["UserExecutable"] = "false" - self._add_ref_els(obj_el, node) + await self._add_ref_els(obj_el, node) - def add_etree_reference_type(self, obj): - obj_el = self._add_node_common("UAReferenceType", obj) - self._add_ref_els(obj_el, obj) - var = obj.get_attribute(ua.AttributeIds.InverseName) + async def add_etree_reference_type(self, obj): + obj_el = await self._add_node_common("UAReferenceType", obj) + await self._add_ref_els(obj_el, obj) + var = await obj.get_attribute(ua.AttributeIds.InverseName) if var is not None and var.Value.Value is not None and var.Value.Value.Text is not None: self._add_sub_el(obj_el, 'InverseName', var.Value.Value.Text) - def add_etree_datatype(self, obj): + async def add_etree_datatype(self, obj): """ Add a UA data type element to the XML etree """ - obj_el = self._add_node_common("UADataType", obj) - self._add_ref_els(obj_el, obj) + obj_el = await self._add_node_common("UADataType", obj) + await self._add_ref_els(obj_el, obj) def _add_namespace_uri_els(self, uris): nuris_el = Et.Element('NamespaceUris') - for uri in uris: self._add_sub_el(nuris_el, 'Uri', uri) - self.etree.getroot().insert(0, nuris_el) def _add_alias_els(self): aliases_el = Et.Element('Aliases') - ordered_keys = list(self.aliases.keys()) ordered_keys.sort() for nodeid in ordered_keys: name = self.aliases[nodeid] ref_el = Et.SubElement(aliases_el, 'Alias', Alias=name) ref_el.text = nodeid.to_string() - # insert behind the namespace element self.etree.getroot().insert(1, aliases_el) async def _add_ref_els(self, parent_el, obj): refs = await obj.get_references() refs_el = Et.SubElement(parent_el, 'References') - for ref in refs: if ref.ReferenceTypeId.Identifier in o_ids.ObjectIdNames: ref_name = o_ids.ObjectIdNames[ref.ReferenceTypeId.Identifier] @@ -347,17 +327,15 @@ async def _add_ref_els(self, parent_el, obj): self.aliases[ref.ReferenceTypeId] = ref_name - - def member_to_etree(self, el, name, dtype, val): + async def member_to_etree(self, el, name, dtype, val): member_el = Et.SubElement(el, "uax:" + name) if isinstance(val, (list, tuple)): for v in val: - self._value_to_etree(member_el, ua.ObjectIdNames[dtype.Identifier], dtype, v) + await self._value_to_etree(member_el, ua.ObjectIdNames[dtype.Identifier], dtype, v) else: - self._val_to_etree(member_el, dtype, val) - + await self._val_to_etree(member_el, dtype, val) - def _val_to_etree(self, el, dtype, val): + async def _val_to_etree(self, el, dtype, val): if dtype == ua.NodeId(ua.ObjectIds.NodeId): id_el = Et.SubElement(el, "uax:Identifier") id_el.text = val.to_string() @@ -380,16 +358,15 @@ def _val_to_etree(self, el, dtype, val): el.text = str(val) else: for name, vtype in val.ua_types: - self.member_to_etree(el, name, ua.NodeId(getattr(ua.ObjectIds, vtype)), getattr(val, name)) + await self.member_to_etree(el, name, ua.NodeId(getattr(ua.ObjectIds, vtype)), getattr(val, name)) - - def value_to_etree(self, el, dtype_name, dtype, node): - var = node.get_data_value().Value + async def value_to_etree(self, el, dtype_name, dtype, node): + var = (await node.get_data_value()).Value if var.Value is not None: val_el = Et.SubElement(el, 'Value') - self._value_to_etree(val_el, dtype_name, dtype, var.Value) + await self._value_to_etree(val_el, dtype_name, dtype, var.Value) - def _value_to_etree(self, el, type_name, dtype, val): + async def _value_to_etree(self, el, type_name, dtype, val): if val is None: return @@ -401,9 +378,9 @@ def _value_to_etree(self, el, type_name, dtype, val): list_el = Et.SubElement(el, elname) for nval in val: - self._value_to_etree(list_el, type_name, dtype, nval) + await self._value_to_etree(list_el, type_name, dtype, nval) else: - dtype_base = get_base_data_type(self.server.get_node(dtype)) + dtype_base = await get_base_data_type(self.server.get_node(dtype)) dtype_base = dtype_base.nodeid if dtype_base == ua.NodeId(ua.ObjectIds.Enumeration): @@ -413,38 +390,36 @@ def _value_to_etree(self, el, type_name, dtype, val): if dtype_base.NamespaceIndex == 0 and dtype_base.Identifier <= 21: type_name = ua.ObjectIdNames[dtype_base.Identifier] val_el = Et.SubElement(el, "uax:" + type_name) - self._val_to_etree(val_el, dtype_base, val) + await self._val_to_etree(val_el, dtype_base, val) else: - self._extobj_to_etree(el, type_name, dtype, val) - - + await self._extobj_to_etree(el, type_name, dtype, val) - - def _extobj_to_etree(self, val_el, name, dtype, val): + async def _extobj_to_etree(self, val_el, name, dtype, val): obj_el = Et.SubElement(val_el, "uax:ExtensionObject") type_el = Et.SubElement(obj_el, "uax:TypeId") id_el = Et.SubElement(type_el, "uax:Identifier") id_el.text = dtype.to_string() body_el = Et.SubElement(obj_el, "uax:Body") struct_el = Et.SubElement(body_el, "uax:" + name) - for name, vtype in val.ua_types: + for name, vtype in val.ua_types: # FIXME; what happend if we have a custom type which is not part of ObjectIds??? if vtype.startswith("ListOf"): vtype = vtype[6:] - self.member_to_etree(struct_el, name, ua.NodeId(getattr(ua.ObjectIds, vtype)), getattr(val, name)) - #self.member_to_etree(struct_el, name, extension_object_ids[vtype], getattr(val, name)) - #for name in self._get_member_order(dtype, val): - #self.member_to_etree(struct_el, name, ua.NodeId(getattr(ua.ObjectIds, val.ua_types[name])), getattr(val, name)) + await self.member_to_etree(struct_el, name, ua.NodeId(getattr(ua.ObjectIds, vtype)), getattr(val, name)) + # self.member_to_etree(struct_el, name, extension_object_ids[vtype], getattr(val, name)) + # for name in self._get_member_order(dtype, val): + # self.member_to_etree(struct_el, name, ua.NodeId(getattr(ua.ObjectIds, val.ua_types[name])), getattr(val, name)) def _get_member_order(self, dtype, val): - ''' + """ If an dtype has an entry in XmlExporter.extobj_ordered_elements return the export order of the elements else return the unordered members. - ''' + """ if dtype not in XmlExporter.extobj_ordered_elements.keys(): return val.ua_types.keys() else: - member_keys = [name for name in XmlExporter.extobj_ordered_elements[dtype] if name in val.ua_types.keys() and getattr(val, name) is not None ] + member_keys = [name for name in XmlExporter.extobj_ordered_elements[dtype] if + name in val.ua_types.keys() and getattr(val, name) is not None] return member_keys diff --git a/opcua/server/internal_server.py b/opcua/server/internal_server.py index 70f08e2ad..24275dcf8 100644 --- a/opcua/server/internal_server.py +++ b/opcua/server/internal_server.py @@ -364,7 +364,7 @@ async def delete_subscriptions(self, ids): self.subscriptions.remove(i) return self.subscription_service.delete_subscriptions(ids) - def delete_monitored_items(self, params): + async def delete_monitored_items(self, params): subscription_result = self.subscription_service.delete_monitored_items(params) self.iserver.server_callback_dispatcher.dispatch( CallbackType.ItemSubscriptionDeleted, ServerItemCallback(params, subscription_result)) diff --git a/opcua/server/internal_subscription.py b/opcua/server/internal_subscription.py index e9502e566..c652f1c28 100644 --- a/opcua/server/internal_subscription.py +++ b/opcua/server/internal_subscription.py @@ -41,7 +41,7 @@ def get_old_value(self): class MonitoredItemService: """ - implement monitoreditem service for 1 subscription + implement monitored item service for one subscription """ def __init__(self, isub, aspace): @@ -419,7 +419,7 @@ def _eval_el(self, index, event): elif el.FilterOperator == ua.FilterOperator.LessThanOrEqual: return self._eval_op(ops[0], event) <= self._eval_el(ops[1], event) elif el.FilterOperator == ua.FilterOperator.Like: - return self._likeoperator(self._eval_op(ops[0], event), self._eval_el(ops[1], event)) + return self._like_operator(self._eval_op(ops[0], event), self._eval_el(ops[1], event)) elif el.FilterOperator == ua.FilterOperator.Not: return not self._eval_op(ops[0], event) elif el.FilterOperator == ua.FilterOperator.Between: diff --git a/opcua/server/server.py b/opcua/server/server.py index e34dc39b9..ee0e0a23a 100644 --- a/opcua/server/server.py +++ b/opcua/server/server.py @@ -508,12 +508,12 @@ async def import_xml(self, path=None, xmlstring=None): importer = XmlImporter(self) return await importer.import_xml(path, xmlstring) - def export_xml(self, nodes, path): + async def export_xml(self, nodes, path): """ Export defined nodes to xml """ exp = XmlExporter(self) - exp.build_etree(nodes) + await exp.build_etree(nodes) return exp.write_xml(path) async def export_xml_by_ns(self, path, namespaces=None): @@ -530,7 +530,7 @@ async def export_xml_by_ns(self, path, namespaces=None): if namespaces is None: namespaces = [] nodes = await get_nodes_of_namespace(self, namespaces) - self.export_xml(nodes, path) + await self.export_xml(nodes, path) async def delete_nodes(self, nodes, recursive=False): return await delete_nodes(self.iserver.isession, nodes, recursive) diff --git a/tests/test_crypto_connect.py b/tests/test_crypto_connect.py index 48568022f..f1f673a03 100644 --- a/tests/test_crypto_connect.py +++ b/tests/test_crypto_connect.py @@ -22,6 +22,7 @@ BASE_DIR = os.path.dirname(os.path.dirname(__file__)) EXAMPLE_PATH = os.path.join(BASE_DIR, "examples") + os.sep + @pytest.fixture() async def srv_crypto(): # start our own server diff --git a/tests/test_subscriptions.py b/tests/test_subscriptions.py index 8b57e7bdc..166f3545a 100644 --- a/tests/test_subscriptions.py +++ b/tests/test_subscriptions.py @@ -1,6 +1,6 @@ import time import pytest -from asyncio import Future, sleep, wait_for +from asyncio import Future, sleep, wait_for, TimeoutError from datetime import datetime, timedelta import opcua @@ -135,8 +135,8 @@ async def test_subscription_count_list(opc): async def test_subscription_count_no_change(opc): myhandler = MySubHandlerCounter() - sub = await opc.create_subscription(1, myhandler) - o = opc.get_objects_node() + sub = await opc.opc.create_subscription(1, myhandler) + o = opc.opc.get_objects_node() var = await o.add_variable(3, 'SubVarCounter', [0.1, 0.2]) await sub.subscribe_data_change(var) nb = 12 @@ -401,10 +401,10 @@ async def test_events_CustomEvent(opc): etype = await opc.server.create_custom_event_type(2, 'MyEvent', ua.ObjectIds.BaseEventType, [('PropertyNum', ua.VariantType.Float), ('PropertyString', ua.VariantType.String)]) - evgen = opc.server.get_event_generator(etype) + evgen = await opc.server.get_event_generator(etype) myhandler = MySubHandler() - sub = opc.opc.create_subscription(100, myhandler) - handle = sub.subscribe_events(evtypes=etype) + sub = await opc.opc.create_subscription(100, myhandler) + handle = await sub.subscribe_events(evtypes=etype) propertynum = 2 propertystring = "This is my test" evgen.event.PropertyNum = propertynum @@ -418,26 +418,26 @@ async def test_events_CustomEvent(opc): assert ev is not None # we did not receive event assert etype.nodeid == ev.EventType assert serverity == ev.Severity - assert opc.opc.get_server_node().get_browse_name().Name == ev.SourceName + assert (await opc.opc.get_server_node().get_browse_name()).Name == ev.SourceName assert opc.opc.get_server_node().nodeid == ev.SourceNode assert msg == ev.Message.Text assert tid == ev.Time assert propertynum == ev.PropertyNum assert propertystring == ev.PropertyString - sub.unsubscribe(handle) + await sub.unsubscribe(handle) await sub.delete() async def test_events_CustomEvent_MyObject(opc): objects = opc.server.get_objects_node() - o = objects.add_object(3, 'MyObject') + o = await objects.add_object(3, 'MyObject') etype = await opc.server.create_custom_event_type(2, 'MyEvent', ua.ObjectIds.BaseEventType, [('PropertyNum', ua.VariantType.Float), ('PropertyString', ua.VariantType.String)]) - evgen = opc.server.get_event_generator(etype, o) + evgen = await opc.server.get_event_generator(etype, o) myhandler = MySubHandler() - sub = opc.opc.create_subscription(100, myhandler) - handle = sub.subscribe_events(o, etype) + sub = await opc.opc.create_subscription(100, myhandler) + handle = await sub.subscribe_events(o, etype) propertynum = 2 propertystring = "This is my test" evgen.event.PropertyNum = propertynum @@ -455,13 +455,13 @@ async def test_events_CustomEvent_MyObject(opc): assert tid == ev.Time assert propertynum == ev.PropertyNum assert propertystring == ev.PropertyString - sub.unsubscribe(handle) + await sub.unsubscribe(handle) await sub.delete() async def test_several_different_events(opc): objects = opc.server.get_objects_node() - o = objects.add_object(3, 'MyObject') + o = await objects.add_object(3, 'MyObject') etype1 = await opc.server.create_custom_event_type(2, 'MyEvent1', ua.ObjectIds.BaseEventType, [('PropertyNum', ua.VariantType.Float), ('PropertyString', ua.VariantType.String)]) @@ -472,7 +472,7 @@ async def test_several_different_events(opc): evgen2 = await opc.server.get_event_generator(etype2, o) myhandler = MySubHandler2() sub = await opc.opc.create_subscription(100, myhandler) - handle = sub.subscribe_events(o, etype1) + handle = await sub.subscribe_events(o, etype1) propertynum1 = 1 propertystring1 = "This is my test 1" evgen1.event.PropertyNum = propertynum1 @@ -488,7 +488,7 @@ async def test_several_different_events(opc): assert 3 == len(myhandler.results) ev = myhandler.results[-1] assert etype1.nodeid == ev.EventType - handle = sub.subscribe_events(o, etype2) + handle = await sub.subscribe_events(o, etype2) for i in range(4): evgen1.trigger() evgen2.trigger() @@ -498,7 +498,7 @@ async def test_several_different_events(opc): assert 11 == len(myhandler.results) assert 4 == len(ev2s) assert 7 == len(ev1s) - sub.unsubscribe(handle) + await sub.unsubscribe(handle) await sub.delete() @@ -521,8 +521,8 @@ async def test_several_different_events_2(opc): ) evgen3 = await opc.server.get_event_generator(etype3, o) myhandler = MySubHandler2() - sub = await opc.create_subscription(100, myhandler) - handle = sub.subscribe_events(o, [etype1, etype3]) + sub = await opc.opc.create_subscription(100, myhandler) + handle = await sub.subscribe_events(o, [etype1, etype3]) propertynum1 = 1 propertystring1 = "This is my test 1" evgen1.event.PropertyNum = propertynum1 diff --git a/tests/test_xml.py b/tests/test_xml.py new file mode 100644 index 000000000..6fd831457 --- /dev/null +++ b/tests/test_xml.py @@ -0,0 +1,383 @@ +import os +import uuid +import datetime +import pytz +import logging +import pytest + +from opcua import ua, Node, uamethod +from opcua.ua import uaerrors + +logger = logging.getLogger("opcua.common.xmlimporter") +logger.setLevel(logging.DEBUG) +logger = logging.getLogger("opcua.common.xmlparser") +logger.setLevel(logging.DEBUG) + +pytestmark = pytest.mark.asyncio + +CUSTOM_NODES_XML_PATH = os.path.abspath(os.path.join(os.path.dirname(__file__), "custom_nodes.xml")) +CUSTOM_NODES_NS_XML_PATH = os.path.abspath(os.path.join(os.path.dirname(__file__), "custom_nodesns.xml")) + + +@uamethod +def func(parent, value, string): + return value * 2 + + +async def test_xml_import(opc): + await opc.opc.import_xml(CUSTOM_NODES_XML_PATH) + o = opc.opc.get_objects_node() + v = await o.get_child(["1:MyXMLFolder", "1:MyXMLObject", "1:MyXMLVariable"]) + val = await v.get_value() + assert "StringValue" == val + node_path = ["Types", "DataTypes", "BaseDataType", "Enumeration", "1:MyEnum", "0:EnumStrings"] + o = await opc.opc.get_root_node().get_child(node_path) + assert 3 == len(await o.get_value()) + # Check if method is imported + node_path = ["Types", "ObjectTypes", "BaseObjectType", "1:MyObjectType", "1:MyMethod"] + o = await opc.opc.get_root_node().get_child(node_path) + assert 4 == len(await o.get_referenced_nodes()) + # Check if InputArgs are imported and can be read + node_path = ["Types", "ObjectTypes", "BaseObjectType", "1:MyObjectType", "1:MyMethod", "InputArguments"] + o = await opc.opc.get_root_node().get_child(node_path) + input_arg = (await o.get_data_value()).Value.Value[0] + assert "Context" == input_arg.Name + + +async def test_xml_import_additional_ns(opc): + await opc.server.register_namespace("http://placeholder.toincrease.nsindex") # if not already shift the new namespaces + # "tests/custom_nodes.xml" isn't created with namespaces in mind, provide new test file + await opc.opc.import_xml(CUSTOM_NODES_NS_XML_PATH) # the ns=1 in to file now should be mapped to ns=2 + ns = await opc.opc.get_namespace_index("http://examples.freeopcua.github.io/") + o = opc.opc.get_objects_node() + o2 = await o.get_child(["{0:d}:MyBaseObject".format(ns)]) + assert o2 is None + v1 = await o.get_child(["{0:d}:MyBaseObject".format(ns), "{0:d}:MyVar".format(ns)]) + assert v1 is None + r1 = await o2.get_references(refs=ua.ObjectIds.HasComponent)[0] + assert ns == r1.NodeId.NamespaceIndex + r3 = await v1.get_references(refs=ua.ObjectIds.HasComponent)[0] + assert ns == r3.NodeId.NamespaceIndex + + +async def test_xml_method(opc): + await opc.opc.register_namespace("tititi") + await opc.opc.register_namespace("whatthefuck") + o = await opc.opc.nodes.objects.add_object(2, "xmlexportmethod") + m = await o.add_method(2, "callme", func, [ua.VariantType.Double, ua.VariantType.String], [ua.VariantType.Float]) + # set an arg dimension to a list to test list export + inputs = await m.get_child("InputArguments") + val = await inputs.get_value() + val[0].ArrayDimensions = [2, 2] + desc = "My nce description" + val[0].Description = ua.LocalizedText(desc) + await inputs.set_value(val) + # get all nodes and export + nodes = [o, m] + nodes.extend(await m.get_children()) + await opc.opc.export_xml(nodes, "tmp_test_export.xml") + await opc.opc.delete_nodes(nodes) + await opc.opc.import_xml("tmp_test_export.xml") + # now see if our nodes are here + val = await inputs.get_value() + assert 2 == len(val) + assert [2, 2] == val[0].ArrayDimensions + assert desc == val[0].Description.Text + + +async def test_xml_vars(opc): + await opc.opc.register_namespace("tititi") + await opc.opc.register_namespace("whatthexxx") + o = await opc.opc.nodes.objects.add_object(2, "xmlexportobj") + v = await o.add_variable(3, "myxmlvar", 6.78, ua.VariantType.Double) + a = await o.add_variable(3, "myxmlvar-array", [6, 1], ua.VariantType.UInt16) + a2 = await o.add_variable(3, "myxmlvar-2dim", [[1, 2], [3, 4]], ua.VariantType.UInt32) + a3 = await o.add_variable(3, "myxmlvar-2dim", [[]], ua.VariantType.ByteString) + nodes = [o, v, a, a2, a3] + await opc.opc.export_xml(nodes, "tmp_test_export-vars.xml") + await opc.opc.delete_nodes(nodes) + await opc.opc.import_xml("tmp_test_export-vars.xml") + assert 6.78 == await v.get_value() + assert ua.NodeId(ua.ObjectIds.Double) == await v.get_data_type() + assert ua.NodeId(ua.ObjectIds.UInt16) == await a.get_data_type() + assert await a.get_value_rank() in (0, 1) + assert [6, 1] == await a.get_value() + assert [[1, 2], [3, 4]] == await a2.get_value() + assert ua.NodeId(ua.ObjectIds.UInt32) == await a2.get_data_type() + assert await a2.get_value_rank() in (0, 2) + assert [2, 2] == (await a2.get_attribute(ua.AttributeIds.ArrayDimensions)).Value.Value + # assert a3.get_value(), [[]]) # would require special code ... + assert ua.NodeId(ua.ObjectIds.ByteString) == await a3.get_data_type() + assert await a3.get_value_rank() in (0, 2) + assert [1, 0] == (await a3.get_attribute(ua.AttributeIds.ArrayDimensions)).Value.Value + + +async def test_xml_ns(opc): + """ + This test is far too complicated but catches a lot of things... + """ + ns_array = await opc.opc.get_namespace_array() + if len(ns_array) < 3: + await opc.opc.register_namespace("dummy_ns") + ref_ns = await opc.opc.register_namespace("ref_namespace") + new_ns = await opc.opc.register_namespace("my_new_namespace") + bname_ns = await opc.opc.register_namespace("bname_namespace") + o = await opc.opc.nodes.objects.add_object(0, "xmlns0") + o50 = await opc.opc.nodes.objects.add_object(50, "xmlns20") + o200 = await opc.opc.nodes.objects.add_object(200, "xmlns200") + onew = await opc.opc.nodes.objects.add_object(new_ns, "xmlns_new") + vnew = await onew.add_variable(new_ns, "xmlns_new_var", 9.99) + o_no_export = await opc.opc.nodes.objects.add_object(ref_ns, "xmlns_parent") + v_no_parent = await o_no_export.add_variable(new_ns, "xmlns_new_var_no_parent", 9.99) + o_bname = await onew.add_object("ns={0};i=4000".format(new_ns), "{0}:BNAME".format(bname_ns)) + nodes = [o, o50, o200, onew, vnew, v_no_parent, o_bname] + await opc.opc.export_xml(nodes, "tmp_test_export-ns.xml") + # delete node and change index og new_ns before re-importing + await opc.opc.delete_nodes(nodes) + ns_node = opc.opc.get_node(ua.NodeId(ua.ObjectIds.Server_NamespaceArray)) + nss = await ns_node.get_value() + nss.remove("my_new_namespace") + # nss.remove("ref_namespace") + nss.remove("bname_namespace") + await ns_node.set_value(nss) + new_ns = await opc.opc.register_namespace("my_new_namespace_offsett") + new_ns = await opc.opc.register_namespace("my_new_namespace") + new_nodes = await opc.opc.import_xml("tmp_test_export-ns.xml") + for i in [o, o50, o200]: + await i.get_browse_name() + with pytest.raises(uaerrors.BadNodeIdUnknown): + await onew.get_browse_name() + # since my_new_namesspace2 is referenced byt a node it should have been reimported + nss = await opc.opc.get_namespace_array() + assert "bname_namespace" in nss + # get index of namespaces after import + new_ns = await opc.opc.register_namespace("my_new_namespace") + bname_ns = await opc.opc.register_namespace("bname_namespace") + onew.nodeid.NamespaceIndex = new_ns + await onew.get_browse_name() + vnew2 = (await onew.get_children())[0] + assert vnew2.nodeid.NamespaceIndex == new_ns + + +async def test_xml_float(opc): + o = await opc.opc.nodes.objects.add_variable(2, "xmlfloat", 5.67) + dtype = await o.get_data_type() + dv = await o.get_data_value() + await opc.opc.export_xml([o], "tmp_test_export-float.xml") + await opc.opc.delete_nodes([o]) + new_nodes = await opc.opc.import_xml("tmp_test_export-float.xml") + o2 = opc.opc.get_node(new_nodes[0]) + assert o2 == o + assert await o2.get_data_type() == dtype + assert (await o2.get_data_value()).Value == dv.Value + + +async def test_xml_bool(opc): + o = await opc.opc.nodes.objects.add_variable(2, "xmlbool", True) + await _test_xml_var_type(opc, o, "bool") + + +async def test_xml_string(opc): + o = await opc.opc.nodes.objects.add_variable(2, "xmlstring", "mystring") + await _test_xml_var_type(opc, o, "string") + + +async def test_xml_string_array(opc): + o = await opc.opc.nodes.objects.add_variable(2, "xmlstringarray", ["mystring2", "mystring3"]) + node2 = await _test_xml_var_type(opc, o, "stringarray") + dv = await node2.get_data_value() + + +async def test_xml_guid(opc): + o = await opc.opc.nodes.objects.add_variable(2, "xmlguid", uuid.uuid4()) + await _test_xml_var_type(opc, o, "guid") + + +async def test_xml_guid_array(opc): + o = await opc.opc.nodes.objects.add_variable(2, "xmlguid", [uuid.uuid4(), uuid.uuid4()]) + await _test_xml_var_type(opc, o, "guid_array") + + +async def test_xml_datetime(opc): + o = await opc.opc.nodes.objects.add_variable(3, "myxmlvar-dt", datetime.datetime.utcnow(), ua.VariantType.DateTime) + await _test_xml_var_type(opc, o, "datetime") + + +async def test_xml_datetime_array(opc): + o = await opc.opc.nodes.objects.add_variable(3, "myxmlvar-array", [ + datetime.datetime.now(), + datetime.datetime.utcnow(), + datetime.datetime.now(pytz.timezone("Asia/Tokyo")) + ], ua.VariantType.DateTime) + await _test_xml_var_type(opc, o, "datetime_array") + + +# async def test_xml_qualifiedname(opc): +# o = opc.opc.nodes.objects.add_variable(2, "xmlltext", ua.QualifiedName("mytext", 5)) +# await _test_xml_var_type(o, "qualified_name") + +# async def test_xml_qualifiedname_array(opc): +# o = opc.opc.nodes.objects.add_variable(2, "xmlltext_array", [ua.QualifiedName("erert", 5), ua.QualifiedName("erert33", 6)]) +# await _test_xml_var_type(o, "qualified_name_array") + +async def test_xml_bytestring(opc): + o = await opc.opc.nodes.objects.add_variable(2, "xmlltext", "mytext".encode("utf8"), ua.VariantType.ByteString) + await _test_xml_var_type(opc, o, "bytestring") + + +async def test_xml_bytestring_array(opc): + o = await opc.opc.nodes.objects.add_variable(2, "xmlltext_array", + ["mytext".encode("utf8"), "errsadf".encode("utf8")], ua.VariantType.ByteString) + await _test_xml_var_type(opc, o, "bytestring_array") + + +async def test_xml_localizedtext(opc): + o = await opc.opc.nodes.objects.add_variable(2, "xmlltext", ua.LocalizedText("mytext")) + await _test_xml_var_type(opc, o, "localized_text") + + +async def test_xml_localizedtext_array(opc): + o = await opc.opc.nodes.objects.add_variable(2, "xmlltext_array", + [ua.LocalizedText("erert"), ua.LocalizedText("erert33")]) + await _test_xml_var_type(opc, o, "localized_text_array") + + +async def test_xml_nodeid(opc): + o = await opc.opc.nodes.objects.add_variable(2, "xmlnodeid", ua.NodeId("mytext", 1)) + await _test_xml_var_type(opc, o, "nodeid") + + +async def test_xml_ext_obj(opc): + arg = ua.Argument() + arg.DataType = ua.NodeId(ua.ObjectIds.Float) + arg.Description = ua.LocalizedText("Nice description") + arg.ArrayDimensions = [1, 2, 3] + arg.Name = "MyArg" + node = await opc.opc.nodes.objects.add_variable(2, "xmlexportobj2", arg) + node2 = await _test_xml_var_type(opc, node, "ext_obj", test_equality=False) + arg2 = await node2.get_value() + assert arg.Name == arg2.Name + assert arg.ArrayDimensions == arg2.ArrayDimensions + assert arg.Description == arg2.Description + assert arg.DataType == arg2.DataType + + +async def test_xml_ext_obj_array(opc): + arg = ua.Argument() + arg.DataType = ua.NodeId(ua.ObjectIds.Float) + arg.Description = ua.LocalizedText("Nice description") + arg.ArrayDimensions = [1, 2, 3] + arg.Name = "MyArg" + arg2 = ua.Argument() + arg2.DataType = ua.NodeId(ua.ObjectIds.Int32) + arg2.Description = ua.LocalizedText("Nice description2") + arg2.ArrayDimensions = [4, 5, 6] + arg2.Name = "MyArg2" + args = [arg, arg2] + node = await opc.opc.nodes.objects.add_variable(2, "xmlexportobj2", args) + node2 = await _test_xml_var_type(opc, node, "ext_obj_array", test_equality=False) + read_args = await node2.get_value() + for i, arg in enumerate(read_args): + assert args[i].Name == read_args[i].Name + assert args[i].ArrayDimensions == read_args[i].ArrayDimensions + assert args[i].Description == read_args[i].Description + assert args[i].DataType == read_args[i].DataType + + +async def test_xml_enum(opc): + o = await opc.opc.nodes.objects.add_variable(2, "xmlenum", 0, varianttype=ua.VariantType.Int32, + datatype=ua.ObjectIds.ApplicationType) + await _test_xml_var_type(opc, o, "enum") + + +async def test_xml_enumvalues(opc): + o = await opc.opc.nodes.objects.add_variable(2, "xmlenumvalues", 0, varianttype=ua.VariantType.UInt32, + datatype=ua.ObjectIds.AttributeWriteMask) + await _test_xml_var_type(opc, o, "enumvalues") + + +async def test_xml_custom_uint32(opc): + # t = opc.opc.nodes. create_custom_data_type(2, 'MyCustomUint32', ua.ObjectIds.UInt32) + t = await opc.opc.get_node(ua.ObjectIds.UInt32).add_data_type(2, 'MyCustomUint32') + o = await opc.opc.nodes.objects.add_variable(2, "xmlcustomunit32", 0, varianttype=ua.VariantType.UInt32, + datatype=t.nodeid) + await _test_xml_var_type(opc, o, "cuint32") + + +async def test_xml_var_nillable(opc): + xml = """ + + + + + i=1 + i=12 + i=40 + i=47 + + + xmlstring + xmlstring + + i=85 + i=63 + + + + + + + + xmlbool + xmlbool + + i=85 + i=63 + + + + + + + + """ + _new_nodes = await opc.opc.import_xml(xmlstring=xml) + var_string = opc.opc.get_node(ua.NodeId('test_xml.string.nillabel', 2)) + var_bool = opc.opc.get_node(ua.NodeId('test_xml.bool.nillabel', 2)) + assert await var_string.get_value() is None + assert await var_bool.get_value() is None + + +async def _test_xml_var_type(opc, node: Node, typename: str, test_equality: bool = True): + dtype = await node.get_data_type() + dv = await node.get_data_value() + rank = await node.get_value_rank() + dim = await node.get_array_dimensions() + nclass = await node.get_node_class() + path = f"tmp_test_export-{typename}.xml" + await opc.opc.export_xml([node], path) + await opc.opc.delete_nodes([node]) + new_nodes = await opc.opc.import_xml(path) + node2 = opc.opc.get_node(new_nodes[0]) + assert node == node + assert dtype == await node2.get_data_type() + if test_equality: + print("DEBUG", node, dv, node2, await node2.get_value()) + assert dv.Value == (await node2.get_data_value()).Value + assert rank == await node2.get_value_rank() + assert dim == await node2.get_array_dimensions() + assert nclass == await node2.get_node_class() + return node2 + + +async def test_xml_byte(opc): + o = await opc.opc.nodes.objects.add_variable(2, "byte", 255, ua.VariantType.Byte) + dtype = await o.get_data_type() + dv = await o.get_data_value() + await opc.opc.export_xml([o], "export-byte.xml") + await opc.opc.delete_nodes([o]) + new_nodes = await opc.opc.import_xml("export-byte.xml") + o2 = opc.opc.get_node(new_nodes[0]) + assert o == o2 + assert dtype == await o2.get_data_type() + assert dv.Value == (await o2.get_data_value()).Value diff --git a/tests/tests_xml.py b/tests/tests_xml.py deleted file mode 100644 index 39e4028b4..000000000 --- a/tests/tests_xml.py +++ /dev/null @@ -1,393 +0,0 @@ -import uuid -import datetime, pytz -import logging - -from opcua import ua -from opcua import uamethod -from opcua.ua import uaerrors - - -logger = logging.getLogger("opcua.common.xmlimporter") -logger.setLevel(logging.DEBUG) -logger = logging.getLogger("opcua.common.xmlparser") -logger.setLevel(logging.DEBUG) - - -@uamethod -def func(parent, value, string): - return value * 2 - - -class XmlTests(object): - srv = None - opc = None # just to remove pylint warnings - assertEqual = dir - - def test_xml_import(self): - self.opc.import_xml("tests/custom_nodes.xml") - o = self.opc.get_objects_node() - v = o.get_child(["1:MyXMLFolder", "1:MyXMLObject", "1:MyXMLVariable"]) - val = v.get_value() - self.assertEqual(val, "StringValue") - - node_path = ["Types", "DataTypes", "BaseDataType", "Enumeration", - "1:MyEnum", "0:EnumStrings"] - o = self.opc.get_root_node().get_child(node_path) - self.assertEqual(len(o.get_value()), 3) - - # Check if method is imported - node_path = ["Types", "ObjectTypes", "BaseObjectType", - "1:MyObjectType", "1:MyMethod"] - o = self.opc.get_root_node().get_child(node_path) - self.assertEqual(len(o.get_referenced_nodes()), 4) - - # Check if InputArgs are imported and can be read - node_path = ["Types", "ObjectTypes", "BaseObjectType", - "1:MyObjectType", "1:MyMethod", "InputArguments"] - o = self.opc.get_root_node().get_child(node_path) - input_arg = o.get_data_value().Value.Value[0] - self.assertEqual(input_arg.Name, 'Context') - - def test_xml_import_additional_ns(self): - self.srv.register_namespace('http://placeholder.toincrease.nsindex') # if not already shift the new namespaces - - # "tests/custom_nodes.xml" isn't created with namespaces in mind, provide new test file - self.opc.import_xml("tests/custom_nodesns.xml") # the ns=1 in to file now should be mapped to ns=2 - - ns = self.opc.get_namespace_index("http://examples.freeopcua.github.io/") - o = self.opc.get_objects_node() - - o2 = o.get_child(["{0:d}:MyBaseObject".format(ns)]) - - self.assertIsNotNone(o2) - - v1 = o.get_child(["{0:d}:MyBaseObject".format(ns), "{0:d}:MyVar".format(ns)]) - self.assertIsNotNone(v1) - - r1 = o2.get_references(refs=ua.ObjectIds.HasComponent)[0] - self.assertEqual(r1.NodeId.NamespaceIndex, ns) - - r3 = v1.get_references(refs=ua.ObjectIds.HasComponent)[0] - self.assertEqual(r3.NodeId.NamespaceIndex, ns) - - def test_xml_method(self): - self.opc.register_namespace("tititi") - self.opc.register_namespace("whatthefuck") - o = self.opc.nodes.objects.add_object(2, "xmlexportmethod") - m = o.add_method(2, "callme", func, [ua.VariantType.Double, ua.VariantType.String], [ua.VariantType.Float]) - # set an arg dimension to a list to test list export - inputs = m.get_child("InputArguments") - val = inputs.get_value() - val[0].ArrayDimensions = [2, 2] - desc = "My nce description" - val[0].Description = ua.LocalizedText(desc) - inputs.set_value(val) - - # get all nodes and export - nodes = [o, m] - nodes.extend(m.get_children()) - self.opc.export_xml(nodes, "tmp_test_export.xml") - - self.opc.delete_nodes(nodes) - self.opc.import_xml("tmp_test_export.xml") - - # now see if our nodes are here - val = inputs.get_value() - self.assertEqual(len(val), 2) - - self.assertEqual(val[0].ArrayDimensions, [2, 2]) - self.assertEqual(val[0].Description.Text, desc) - - def test_xml_vars(self): - self.opc.register_namespace("tititi") - self.opc.register_namespace("whatthexxx") - o = self.opc.nodes.objects.add_object(2, "xmlexportobj") - v = o.add_variable(3, "myxmlvar", 6.78, ua.VariantType.Double) - a = o.add_variable(3, "myxmlvar-array", [6, 1], ua.VariantType.UInt16) - a2 = o.add_variable(3, "myxmlvar-2dim", [[1, 2], [3, 4]], ua.VariantType.UInt32) - a3 = o.add_variable(3, "myxmlvar-2dim", [[]], ua.VariantType.ByteString) - - nodes = [o, v, a, a2, a3] - self.opc.export_xml(nodes, "tmp_test_export-vars.xml") - self.opc.delete_nodes(nodes) - self.opc.import_xml("tmp_test_export-vars.xml") - - self.assertEqual(v.get_value(), 6.78) - self.assertEqual(v.get_data_type(), ua.NodeId(ua.ObjectIds.Double)) - - self.assertEqual(a.get_data_type(), ua.NodeId(ua.ObjectIds.UInt16)) - self.assertIn(a.get_value_rank(), (0, 1)) - self.assertEqual(a.get_value(), [6, 1]) - - self.assertEqual(a2.get_value(), [[1, 2], [3, 4]]) - self.assertEqual(a2.get_data_type(), ua.NodeId(ua.ObjectIds.UInt32)) - self.assertIn(a2.get_value_rank(), (0, 2)) - self.assertEqual(a2.get_attribute(ua.AttributeIds.ArrayDimensions).Value.Value, [2, 2]) - # self.assertEqual(a3.get_value(), [[]]) # would require special code ... - self.assertEqual(a3.get_data_type(), ua.NodeId(ua.ObjectIds.ByteString)) - self.assertIn(a3.get_value_rank(), (0, 2)) - self.assertEqual(a3.get_attribute(ua.AttributeIds.ArrayDimensions).Value.Value, [1, 0]) - - def test_xml_ns(self): - """ - This test is far too complicated but catches a lot of things... - """ - ns_array = self.opc.get_namespace_array() - if len(ns_array) < 3: - self.opc.register_namespace("dummy_ns") - - ref_ns = self.opc.register_namespace("ref_namespace") - new_ns = self.opc.register_namespace("my_new_namespace") - bname_ns = self.opc.register_namespace("bname_namespace") - - o = self.opc.nodes.objects.add_object(0, "xmlns0") - o50 = self.opc.nodes.objects.add_object(50, "xmlns20") - o200 = self.opc.nodes.objects.add_object(200, "xmlns200") - onew = self.opc.nodes.objects.add_object(new_ns, "xmlns_new") - vnew = onew.add_variable(new_ns, "xmlns_new_var", 9.99) - o_no_export = self.opc.nodes.objects.add_object(ref_ns, "xmlns_parent") - v_no_parent = o_no_export.add_variable(new_ns, "xmlns_new_var_no_parent", 9.99) - o_bname = onew.add_object("ns={0};i=4000".format(new_ns), "{0}:BNAME".format(bname_ns)) - - nodes = [o, o50, o200, onew, vnew, v_no_parent, o_bname] - self.opc.export_xml(nodes, "tmp_test_export-ns.xml") - # delete node and change index og new_ns before re-importing - self.opc.delete_nodes(nodes) - ns_node = self.opc.get_node(ua.NodeId(ua.ObjectIds.Server_NamespaceArray)) - nss = ns_node.get_value() - nss.remove("my_new_namespace") - # nss.remove("ref_namespace") - nss.remove("bname_namespace") - ns_node.set_value(nss) - new_ns = self.opc.register_namespace("my_new_namespace_offsett") - new_ns = self.opc.register_namespace("my_new_namespace") - - new_nodes = self.opc.import_xml("tmp_test_export-ns.xml") - - for i in [o, o50, o200]: - i.get_browse_name() - with self.assertRaises(uaerrors.BadNodeIdUnknown): - onew.get_browse_name() - - # since my_new_namesspace2 is referenced byt a node it should have been reimported - nss = self.opc.get_namespace_array() - self.assertIn("bname_namespace", nss) - # get index of namespaces after import - new_ns = self.opc.register_namespace("my_new_namespace") - bname_ns = self.opc.register_namespace("bname_namespace") - - onew.nodeid.NamespaceIndex = new_ns - onew.get_browse_name() - vnew2 = onew.get_children()[0] - self.assertEqual(new_ns, vnew2.nodeid.NamespaceIndex) - - def test_xml_float(self): - o = self.opc.nodes.objects.add_variable(2, "xmlfloat", 5.67) - dtype = o.get_data_type() - dv = o.get_data_value() - - self.opc.export_xml([o], "tmp_test_export-float.xml") - self.opc.delete_nodes([o]) - new_nodes = self.opc.import_xml("tmp_test_export-float.xml") - o2 = self.opc.get_node(new_nodes[0]) - - self.assertEqual(o, o2) - self.assertEqual(dtype, o2.get_data_type()) - self.assertEqual(dv.Value, o2.get_data_value().Value) - - def test_xml_bool(self): - o = self.opc.nodes.objects.add_variable(2, "xmlbool", True) - self._test_xml_var_type(o, "bool") - - def test_xml_string(self): - o = self.opc.nodes.objects.add_variable(2, "xmlstring", "mystring") - self._test_xml_var_type(o, "string") - - def test_xml_string_array(self): - o = self.opc.nodes.objects.add_variable(2, "xmlstringarray", ["mystring2", "mystring3"]) - node2 = self._test_xml_var_type(o, "stringarray") - dv = node2.get_data_value() - - def test_xml_guid(self): - o = self.opc.nodes.objects.add_variable(2, "xmlguid", uuid.uuid4()) - self._test_xml_var_type(o, "guid") - - def test_xml_guid_array(self): - o = self.opc.nodes.objects.add_variable(2, "xmlguid", [uuid.uuid4(), uuid.uuid4()]) - self._test_xml_var_type(o, "guid_array") - - def test_xml_datetime(self): - o = self.opc.nodes.objects.add_variable(3, "myxmlvar-dt", datetime.datetime.utcnow(), ua.VariantType.DateTime) - self._test_xml_var_type(o, "datetime") - - def test_xml_datetime_array(self): - o = self.opc.nodes.objects.add_variable(3, "myxmlvar-array", [ - datetime.datetime.now(), - datetime.datetime.utcnow(), - datetime.datetime.now(pytz.timezone("Asia/Tokyo")) - ], ua.VariantType.DateTime) - self._test_xml_var_type(o, "datetime_array") - - #def test_xml_qualifiedname(self): - # o = self.opc.nodes.objects.add_variable(2, "xmlltext", ua.QualifiedName("mytext", 5)) - # self._test_xml_var_type(o, "qualified_name") - - #def test_xml_qualifiedname_array(self): - # o = self.opc.nodes.objects.add_variable(2, "xmlltext_array", [ua.QualifiedName("erert", 5), ua.QualifiedName("erert33", 6)]) - # self._test_xml_var_type(o, "qualified_name_array") - - def test_xml_bytestring(self): - o = self.opc.nodes.objects.add_variable(2, "xmlltext", "mytext".encode("utf8"), ua.VariantType.ByteString) - self._test_xml_var_type(o, "bytestring") - - def test_xml_bytestring_array(self): - o = self.opc.nodes.objects.add_variable(2, "xmlltext_array", ["mytext".encode("utf8"), "errsadf".encode("utf8")], ua.VariantType.ByteString) - self._test_xml_var_type(o, "bytestring_array") - - def test_xml_localizedtext(self): - o = self.opc.nodes.objects.add_variable(2, "xmlltext", ua.LocalizedText("mytext")) - self._test_xml_var_type(o, "localized_text") - - def test_xml_localizedtext_array(self): - o = self.opc.nodes.objects.add_variable(2, "xmlltext_array", [ua.LocalizedText("erert"), ua.LocalizedText("erert33")]) - self._test_xml_var_type(o, "localized_text_array") - - def test_xml_nodeid(self): - o = self.opc.nodes.objects.add_variable(2, "xmlnodeid", ua.NodeId("mytext", 1)) - self._test_xml_var_type(o, "nodeid") - - def test_xml_ext_obj(self): - arg = ua.Argument() - arg.DataType = ua.NodeId(ua.ObjectIds.Float) - arg.Description = ua.LocalizedText("Nice description") - arg.ArrayDimensions = [1, 2, 3] - arg.Name = "MyArg" - - node = self.opc.nodes.objects.add_variable(2, "xmlexportobj2", arg) - node2 = self._test_xml_var_type(node, "ext_obj", test_equality=False) - arg2 = node2.get_value() - - self.assertEqual(arg.Name, arg2.Name) - self.assertEqual(arg.ArrayDimensions, arg2.ArrayDimensions) - self.assertEqual(arg.Description, arg2.Description) - self.assertEqual(arg.DataType, arg2.DataType) - - def test_xml_ext_obj_array(self): - arg = ua.Argument() - arg.DataType = ua.NodeId(ua.ObjectIds.Float) - arg.Description = ua.LocalizedText("Nice description") - arg.ArrayDimensions = [1, 2, 3] - arg.Name = "MyArg" - - arg2 = ua.Argument() - arg2.DataType = ua.NodeId(ua.ObjectIds.Int32) - arg2.Description = ua.LocalizedText("Nice description2") - arg2.ArrayDimensions = [4, 5, 6] - arg2.Name = "MyArg2" - - args = [arg, arg2] - - node = self.opc.nodes.objects.add_variable(2, "xmlexportobj2", args) - node2 = self._test_xml_var_type(node, "ext_obj_array", test_equality=False) - readArgs = node2.get_value() - - for i,arg in enumerate(readArgs): - self.assertEqual(args[i].Name, readArgs[i].Name) - self.assertEqual(args[i].ArrayDimensions, readArgs[i].ArrayDimensions) - self.assertEqual(args[i].Description, readArgs[i].Description) - self.assertEqual(args[i].DataType, readArgs[i].DataType) - - def test_xml_enum(self): - o = self.opc.nodes.objects.add_variable(2, "xmlenum", 0, varianttype=ua.VariantType.Int32, datatype=ua.ObjectIds.ApplicationType) - self._test_xml_var_type(o, "enum") - - def test_xml_enumvalues(self): - o = self.opc.nodes.objects.add_variable(2, "xmlenumvalues", 0, varianttype=ua.VariantType.UInt32, datatype=ua.ObjectIds.AttributeWriteMask) - self._test_xml_var_type(o, "enumvalues") - - def test_xml_custom_uint32(self): - #t = self.opc.nodes. create_custom_data_type(2, 'MyCustomUint32', ua.ObjectIds.UInt32) - t = self.opc.get_node(ua.ObjectIds.UInt32).add_data_type(2, 'MyCustomUint32') - o = self.opc.nodes.objects.add_variable(2, "xmlcustomunit32", 0, varianttype=ua.VariantType.UInt32, datatype=t.nodeid) - self._test_xml_var_type(o, "cuint32") - - def test_xml_var_nillable(self): - xml = """ - - - - - i=1 - i=12 - i=40 - i=47 - - - xmlstring - xmlstring - - i=85 - i=63 - - - - - - - - xmlbool - xmlbool - - i=85 - i=63 - - - - - - - - """ - - _new_nodes = self.opc.import_xml(xmlstring=xml) - var_string = self.opc.get_node(ua.NodeId('test_xml.string.nillabel', 2)) - var_bool = self.opc.get_node(ua.NodeId('test_xml.bool.nillabel', 2)) - self.assertEqual(var_string.get_value(), None) - self.assertEqual(var_bool.get_value(), None) - - def _test_xml_var_type(self, node, typename, test_equality=True): - dtype = node.get_data_type() - dv = node.get_data_value() - rank = node.get_value_rank() - dim = node.get_array_dimensions() - nclass = node.get_node_class() - - path = "tmp_test_export-{0}.xml".format(typename) - self.opc.export_xml([node], path) - self.opc.delete_nodes([node]) - new_nodes = self.opc.import_xml(path) - node2 = self.opc.get_node(new_nodes[0]) - - self.assertEqual(node, node2) - self.assertEqual(dtype, node2.get_data_type()) - if test_equality: - print("DEBUG", node, dv, node2, node2.get_value()) - self.assertEqual(dv.Value, node2.get_data_value().Value) - self.assertEqual(rank, node2.get_value_rank()) - self.assertEqual(dim, node2.get_array_dimensions()) - self.assertEqual(nclass, node2.get_node_class()) - return node2 - - def test_xml_byte(self): - o = self.opc.nodes.objects.add_variable(2, "byte", 255, ua.VariantType.Byte) - dtype = o.get_data_type() - dv = o.get_data_value() - - self.opc.export_xml([o], "export-byte.xml") - self.opc.delete_nodes([o]) - new_nodes = self.opc.import_xml("export-byte.xml") - o2 = self.opc.get_node(new_nodes[0]) - - self.assertEqual(o, o2) - self.assertEqual(dtype, o2.get_data_type()) - self.assertEqual(dv.Value, o2.get_data_value().Value) From b1a353dcac1cfdfaba67bb73116bb6dc553eeedc Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Sat, 4 Aug 2018 14:42:48 +0200 Subject: [PATCH 111/113] downloaded new schemas, cleanup auto code generators --- .../standard_address_space_part3.py | 94 +- .../standard_address_space_part5.py | 675 +- .../standard_address_space_part8.py | 310 + .../standard_address_space_part9.py | 32 +- opcua/ua/status_codes.py | 27 +- opcua/ua/uaerrors/_auto.py | 24 + opcua/ua/uaprotocol_auto.py | 3072 ++- schemas/NodeIds.csv | 83 +- schemas/Opc.Ua.Adi.NodeSet2.xml | 17052 ++++++++-------- schemas/Opc.Ua.Adi.Types.bsd | 150 +- schemas/Opc.Ua.Adi.Types.xsd | 208 +- schemas/Opc.Ua.NodeSet2.Part10.xml | 4 +- schemas/Opc.Ua.NodeSet2.Part11.xml | 4 +- schemas/Opc.Ua.NodeSet2.Part13.xml | 4 +- schemas/Opc.Ua.NodeSet2.Part3.xml | 162 +- schemas/Opc.Ua.NodeSet2.Part4.xml | 59 +- schemas/Opc.Ua.NodeSet2.Part5.xml | 11540 +++++------ schemas/Opc.Ua.NodeSet2.Part8.xml | 70 +- schemas/Opc.Ua.NodeSet2.Part9.xml | 4 +- schemas/Opc.Ua.NodeSet2.xml | 12106 +++++------ schemas/Opc.Ua.Types.bsd | 55 +- schemas/Opc.Ua.Types.xsd | 10 +- schemas/StatusCode.csv | 8 +- schemas/UANodeSet.xsd | 7 +- schemas/generate_ids.py | 2 +- schemas/generate_model_event.py | 42 +- schemas/generate_statuscode.py | 105 +- 27 files changed, 23276 insertions(+), 22633 deletions(-) diff --git a/opcua/server/standard_address_space/standard_address_space_part3.py b/opcua/server/standard_address_space/standard_address_space_part3.py index d9c411f03..bf020546f 100644 --- a/opcua/server/standard_address_space/standard_address_space_part3.py +++ b/opcua/server/standard_address_space/standard_address_space_part3.py @@ -1090,6 +1090,90 @@ def create_standard_address_space_Part3(server): refs.append(ref) server.add_references(refs) + node = ua.AddNodesItem() + node.RequestedNewNodeId = NumericNodeId(129, 0) + node.BrowseName = QualifiedName('DescribesArgument', 0) + node.NodeClass = NodeClass.ReferenceType + node.ParentNodeId = NumericNodeId(47, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) + attrs = ua.ReferenceTypeAttributes() + attrs.DisplayName = LocalizedText("DescribesArgument") + attrs.InverseName = LocalizedText("ArgumentDescriptionFor") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(129, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(47, 0) + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = NumericNodeId(130, 0) + node.BrowseName = QualifiedName('DescribesInputArgument', 0) + node.NodeClass = NodeClass.ReferenceType + node.ParentNodeId = NumericNodeId(129, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) + attrs = ua.ReferenceTypeAttributes() + attrs.DisplayName = LocalizedText("DescribesInputArgument") + attrs.InverseName = LocalizedText("InputArgumentDescriptionFor") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(130, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(129, 0) + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = NumericNodeId(131, 0) + node.BrowseName = QualifiedName('DescribesOptionalInputArgument', 0) + node.NodeClass = NodeClass.ReferenceType + node.ParentNodeId = NumericNodeId(130, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) + attrs = ua.ReferenceTypeAttributes() + attrs.DisplayName = LocalizedText("DescribesOptionalInputArgument") + attrs.InverseName = LocalizedText("OptionalInputArgumentDescriptionFor") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(131, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(130, 0) + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = NumericNodeId(132, 0) + node.BrowseName = QualifiedName('DescribesOutputArgument', 0) + node.NodeClass = NodeClass.ReferenceType + node.ParentNodeId = NumericNodeId(129, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) + attrs = ua.ReferenceTypeAttributes() + attrs.DisplayName = LocalizedText("DescribesOutputArgument") + attrs.InverseName = LocalizedText("OutputArgumentDescriptionFor") + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(132, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(129, 0) + refs.append(ref) + server.add_references(refs) + node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(3068, 0) node.BrowseName = QualifiedName('NodeVersion', 0) @@ -1751,7 +1835,7 @@ def create_standard_address_space_Part3(server): node.RequestedNewNodeId = NumericNodeId(94, 0) node.BrowseName = QualifiedName('PermissionType', 0) node.NodeClass = NodeClass.DataType - node.ParentNodeId = NumericNodeId(5, 0) + node.ParentNodeId = NumericNodeId(7, 0) node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() attrs.DisplayName = LocalizedText("PermissionType") @@ -1770,7 +1854,7 @@ def create_standard_address_space_Part3(server): ref.ReferenceTypeId = NumericNodeId(45, 0) ref.SourceNodeId = NumericNodeId(94, 0) ref.TargetNodeClass = NodeClass.DataType - ref.TargetNodeId = NumericNodeId(5, 0) + ref.TargetNodeId = NumericNodeId(7, 0) refs.append(ref) server.add_references(refs) @@ -1914,7 +1998,7 @@ def create_standard_address_space_Part3(server): attrs = ua.VariableAttributes() attrs.DisplayName = LocalizedText("OptionSetValues") attrs.DataType = ua.NodeId(ua.ObjectIds.LocalizedText) - attrs.Value = [LocalizedText('CurrentRead'),LocalizedText('CurrentWrite'),LocalizedText('HistoryRead'),LocalizedText('Reserved'),LocalizedText('HistoryWrite'),LocalizedText('StatusWrite'),LocalizedText('TimestampWrite'),LocalizedText('Reserved'),LocalizedText('Reserved'),LocalizedText('Reserved'),LocalizedText('Reserved'),LocalizedText('Reserved'),LocalizedText('Reserved'),LocalizedText('Reserved'),LocalizedText('Reserved'),LocalizedText('Reserved'),LocalizedText('NonatomicRead'),LocalizedText('NonatomicWrite'),LocalizedText('WriteFullArrayOnly')] + attrs.Value = [LocalizedText('CurrentRead'),LocalizedText('CurrentWrite'),LocalizedText('HistoryRead'),LocalizedText('Reserved'),LocalizedText('HistoryWrite'),LocalizedText('StatusWrite'),LocalizedText('TimestampWrite'),LocalizedText('Reserved'),LocalizedText('NonatomicRead'),LocalizedText('NonatomicWrite'),LocalizedText('WriteFullArrayOnly')] attrs.ValueRank = 1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -1946,7 +2030,7 @@ def create_standard_address_space_Part3(server): node.RequestedNewNodeId = NumericNodeId(15033, 0) node.BrowseName = QualifiedName('EventNotifierType', 0) node.NodeClass = NodeClass.DataType - node.ParentNodeId = NumericNodeId(7, 0) + node.ParentNodeId = NumericNodeId(3, 0) node.ReferenceTypeId = NumericNodeId(45, 0) attrs = ua.DataTypeAttributes() attrs.DisplayName = LocalizedText("EventNotifierType") @@ -1965,7 +2049,7 @@ def create_standard_address_space_Part3(server): ref.ReferenceTypeId = NumericNodeId(45, 0) ref.SourceNodeId = NumericNodeId(15033, 0) ref.TargetNodeClass = NodeClass.DataType - ref.TargetNodeId = NumericNodeId(7, 0) + ref.TargetNodeId = NumericNodeId(3, 0) refs.append(ref) server.add_references(refs) diff --git a/opcua/server/standard_address_space/standard_address_space_part5.py b/opcua/server/standard_address_space/standard_address_space_part5.py index 23129e6f5..2e1c1309f 100644 --- a/opcua/server/standard_address_space/standard_address_space_part5.py +++ b/opcua/server/standard_address_space/standard_address_space_part5.py @@ -1290,7 +1290,7 @@ def create_standard_address_space_Part5(server): node.BrowseName = QualifiedName('http://opcfoundation.org/UA/', 0) node.NodeClass = NodeClass.Object node.ParentNodeId = NumericNodeId(11715, 0) - node.ReferenceTypeId = NumericNodeId(35, 0) + node.ReferenceTypeId = NumericNodeId(47, 0) node.TypeDefinition = NumericNodeId(11616, 0) attrs = ua.ObjectAttributes() attrs.DisplayName = LocalizedText("http://opcfoundation.org/UA/") @@ -1370,7 +1370,7 @@ def create_standard_address_space_Part5(server): refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = False - ref.ReferenceTypeId = NumericNodeId(35, 0) + ref.ReferenceTypeId = NumericNodeId(47, 0) ref.SourceNodeId = NumericNodeId(15957, 0) ref.TargetNodeClass = NodeClass.DataType ref.TargetNodeId = NumericNodeId(11715, 0) @@ -1459,7 +1459,7 @@ def create_standard_address_space_Part5(server): attrs.Description = LocalizedText("The publication date for the namespace.") attrs.DisplayName = LocalizedText("NamespacePublicationDate") attrs.DataType = ua.NodeId(ua.ObjectIds.DateTime) - attrs.Value = ua.Variant('2017-11-22', ua.VariantType.String) + attrs.Value = ua.Variant('2018-06-12', ua.VariantType.String) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -4169,7 +4169,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'SubscriptionId' + extobj.Name = SubscriptionId extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) @@ -4213,12 +4213,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'ServerHandles' + extobj.Name = ServerHandles extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = 1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'ClientHandles' + extobj.Name = ClientHandles extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = 1 value.append(extobj) @@ -4296,7 +4296,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'SubscriptionId' + extobj.Name = SubscriptionId extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) @@ -4381,12 +4381,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'SubscriptionId' + extobj.Name = SubscriptionId extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'LifetimeInHours' + extobj.Name = LifetimeInHours extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) @@ -4430,7 +4430,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RevisedLifetimeInHours' + extobj.Name = RevisedLifetimeInHours extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) @@ -4508,27 +4508,27 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'State' + extobj.Name = State extobj.DataType = NumericNodeId(852, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'EstimatedReturnTime' + extobj.Name = EstimatedReturnTime extobj.DataType = NumericNodeId(13, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'SecondsTillShutdown' + extobj.Name = SecondsTillShutdown extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Reason' + extobj.Name = Reason extobj.DataType = NumericNodeId(21, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Restart' + extobj.Name = Restart extobj.DataType = NumericNodeId(1, 0) extobj.ValueRank = -1 value.append(extobj) @@ -5217,14 +5217,14 @@ def create_standard_address_space_Part5(server): node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(16295, 0) - node.BrowseName = QualifiedName('Roles', 0) + node.BrowseName = QualifiedName('RoleSet', 0) node.NodeClass = NodeClass.Object node.ParentNodeId = NumericNodeId(2013, 0) node.ReferenceTypeId = NumericNodeId(47, 0) node.TypeDefinition = NumericNodeId(15607, 0) attrs = ua.ObjectAttributes() attrs.Description = LocalizedText("Describes the roles supported by the server.") - attrs.DisplayName = LocalizedText("Roles") + attrs.DisplayName = LocalizedText("RoleSet") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -5319,12 +5319,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RoleName' + extobj.Name = RoleName extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'NamespaceUri' + extobj.Name = NamespaceUri extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -5368,7 +5368,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RoleNodeId' + extobj.Name = RoleNodeId extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) @@ -5446,7 +5446,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RoleNodeId' + extobj.Name = RoleNodeId extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) @@ -12603,7 +12603,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'Mode' + extobj.Name = Mode extobj.DataType = NumericNodeId(3, 0) extobj.ValueRank = -1 value.append(extobj) @@ -12647,7 +12647,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) @@ -12725,7 +12725,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) @@ -12810,12 +12810,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Length' + extobj.Name = Length extobj.DataType = NumericNodeId(6, 0) extobj.ValueRank = -1 value.append(extobj) @@ -12859,7 +12859,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'Data' + extobj.Name = Data extobj.DataType = NumericNodeId(15, 0) extobj.ValueRank = -1 value.append(extobj) @@ -12937,12 +12937,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Data' + extobj.Name = Data extobj.DataType = NumericNodeId(15, 0) extobj.ValueRank = -1 value.append(extobj) @@ -13027,7 +13027,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) @@ -13071,7 +13071,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'Position' + extobj.Name = Position extobj.DataType = NumericNodeId(9, 0) extobj.ValueRank = -1 value.append(extobj) @@ -13149,12 +13149,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Position' + extobj.Name = Position extobj.DataType = NumericNodeId(9, 0) extobj.ValueRank = -1 value.append(extobj) @@ -13920,7 +13920,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'Mode' + extobj.Name = Mode extobj.DataType = NumericNodeId(3, 0) extobj.ValueRank = -1 value.append(extobj) @@ -13964,7 +13964,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) @@ -14042,7 +14042,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) @@ -14127,12 +14127,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Length' + extobj.Name = Length extobj.DataType = NumericNodeId(6, 0) extobj.ValueRank = -1 value.append(extobj) @@ -14176,7 +14176,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'Data' + extobj.Name = Data extobj.DataType = NumericNodeId(15, 0) extobj.ValueRank = -1 value.append(extobj) @@ -14254,12 +14254,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Data' + extobj.Name = Data extobj.DataType = NumericNodeId(15, 0) extobj.ValueRank = -1 value.append(extobj) @@ -14344,7 +14344,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) @@ -14388,7 +14388,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'Position' + extobj.Name = Position extobj.DataType = NumericNodeId(9, 0) extobj.ValueRank = -1 value.append(extobj) @@ -14466,12 +14466,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Position' + extobj.Name = Position extobj.DataType = NumericNodeId(9, 0) extobj.ValueRank = -1 value.append(extobj) @@ -29673,14 +29673,14 @@ def create_standard_address_space_Part5(server): node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(15606, 0) - node.BrowseName = QualifiedName('Roles', 0) + node.BrowseName = QualifiedName('RoleSet', 0) node.NodeClass = NodeClass.Object node.ParentNodeId = NumericNodeId(2268, 0) node.ReferenceTypeId = NumericNodeId(47, 0) node.TypeDefinition = NumericNodeId(15607, 0) attrs = ua.ObjectAttributes() attrs.Description = LocalizedText("Describes the roles supported by the server.") - attrs.DisplayName = LocalizedText("Roles") + attrs.DisplayName = LocalizedText("RoleSet") attrs.EventNotifier = 0 node.NodeAttributes = attrs server.add_nodes([node]) @@ -29761,12 +29761,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RoleName' + extobj.Name = RoleName extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'NamespaceUri' + extobj.Name = NamespaceUri extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -29803,7 +29803,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RoleNodeId' + extobj.Name = RoleNodeId extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) @@ -29867,7 +29867,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RoleNodeId' + extobj.Name = RoleNodeId extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) @@ -30954,7 +30954,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'SubscriptionId' + extobj.Name = SubscriptionId extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) @@ -30991,12 +30991,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'ServerHandles' + extobj.Name = ServerHandles extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = 1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'ClientHandles' + extobj.Name = ClientHandles extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = 1 value.append(extobj) @@ -31060,7 +31060,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'SubscriptionId' + extobj.Name = SubscriptionId extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) @@ -31131,12 +31131,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'SubscriptionId' + extobj.Name = SubscriptionId extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'LifetimeInHours' + extobj.Name = LifetimeInHours extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) @@ -31173,7 +31173,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RevisedLifetimeInHours' + extobj.Name = RevisedLifetimeInHours extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) @@ -31237,27 +31237,27 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'State' + extobj.Name = State extobj.DataType = NumericNodeId(852, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'EstimatedReturnTime' + extobj.Name = EstimatedReturnTime extobj.DataType = NumericNodeId(13, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'SecondsTillShutdown' + extobj.Name = SecondsTillShutdown extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Reason' + extobj.Name = Reason extobj.DataType = NumericNodeId(21, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Restart' + extobj.Name = Restart extobj.DataType = NumericNodeId(1, 0) extobj.ValueRank = -1 value.append(extobj) @@ -33156,7 +33156,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'DirectoryName' + extobj.Name = DirectoryName extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -33200,7 +33200,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'DirectoryNodeId' + extobj.Name = DirectoryNodeId extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) @@ -33285,12 +33285,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'FileName' + extobj.Name = FileName extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'RequestFileOpen' + extobj.Name = RequestFileOpen extobj.DataType = NumericNodeId(1, 0) extobj.ValueRank = -1 value.append(extobj) @@ -33334,12 +33334,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'FileNodeId' + extobj.Name = FileNodeId extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) @@ -33417,7 +33417,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'ObjectToDelete' + extobj.Name = ObjectToDelete extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) @@ -33502,22 +33502,22 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'ObjectToMoveOrCopy' + extobj.Name = ObjectToMoveOrCopy extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'TargetDirectory' + extobj.Name = TargetDirectory extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'CreateCopy' + extobj.Name = CreateCopy extobj.DataType = NumericNodeId(1, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'NewName' + extobj.Name = NewName extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -33561,7 +33561,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'NewNodeId' + extobj.Name = NewNodeId extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) @@ -33904,7 +33904,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'Mode' + extobj.Name = Mode extobj.DataType = NumericNodeId(3, 0) extobj.ValueRank = -1 value.append(extobj) @@ -33948,7 +33948,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) @@ -34026,7 +34026,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) @@ -34111,12 +34111,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Length' + extobj.Name = Length extobj.DataType = NumericNodeId(6, 0) extobj.ValueRank = -1 value.append(extobj) @@ -34160,7 +34160,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'Data' + extobj.Name = Data extobj.DataType = NumericNodeId(15, 0) extobj.ValueRank = -1 value.append(extobj) @@ -34238,12 +34238,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Data' + extobj.Name = Data extobj.DataType = NumericNodeId(15, 0) extobj.ValueRank = -1 value.append(extobj) @@ -34328,7 +34328,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) @@ -34372,7 +34372,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'Position' + extobj.Name = Position extobj.DataType = NumericNodeId(9, 0) extobj.ValueRank = -1 value.append(extobj) @@ -34450,12 +34450,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Position' + extobj.Name = Position extobj.DataType = NumericNodeId(9, 0) extobj.ValueRank = -1 value.append(extobj) @@ -34540,7 +34540,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'DirectoryName' + extobj.Name = DirectoryName extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -34584,7 +34584,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'DirectoryNodeId' + extobj.Name = DirectoryNodeId extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) @@ -34669,12 +34669,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'FileName' + extobj.Name = FileName extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'RequestFileOpen' + extobj.Name = RequestFileOpen extobj.DataType = NumericNodeId(1, 0) extobj.ValueRank = -1 value.append(extobj) @@ -34718,12 +34718,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'FileNodeId' + extobj.Name = FileNodeId extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) @@ -34801,7 +34801,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'ObjectToDelete' + extobj.Name = ObjectToDelete extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) @@ -34886,22 +34886,22 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'ObjectToMoveOrCopy' + extobj.Name = ObjectToMoveOrCopy extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'TargetDirectory' + extobj.Name = TargetDirectory extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'CreateCopy' + extobj.Name = CreateCopy extobj.DataType = NumericNodeId(1, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'NewName' + extobj.Name = NewName extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -34945,7 +34945,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'NewNodeId' + extobj.Name = NewNodeId extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) @@ -35071,7 +35071,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'DirectoryName' + extobj.Name = DirectoryName extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -35108,7 +35108,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'DirectoryNodeId' + extobj.Name = DirectoryNodeId extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) @@ -35179,12 +35179,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'FileName' + extobj.Name = FileName extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'RequestFileOpen' + extobj.Name = RequestFileOpen extobj.DataType = NumericNodeId(1, 0) extobj.ValueRank = -1 value.append(extobj) @@ -35221,12 +35221,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'FileNodeId' + extobj.Name = FileNodeId extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) @@ -35290,7 +35290,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'ObjectToDelete' + extobj.Name = ObjectToDelete extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) @@ -35361,22 +35361,22 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'ObjectToMoveOrCopy' + extobj.Name = ObjectToMoveOrCopy extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'TargetDirectory' + extobj.Name = TargetDirectory extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'CreateCopy' + extobj.Name = CreateCopy extobj.DataType = NumericNodeId(1, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'NewName' + extobj.Name = NewName extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -35413,7 +35413,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'NewNodeId' + extobj.Name = NewNodeId extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) @@ -35584,7 +35584,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'GenerateOptions' + extobj.Name = GenerateOptions extobj.DataType = NumericNodeId(24, 0) extobj.ValueRank = -1 value.append(extobj) @@ -35628,17 +35628,17 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'FileNodeId' + extobj.Name = FileNodeId extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'CompletionStateMachine' + extobj.Name = CompletionStateMachine extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) @@ -35723,7 +35723,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'GenerateOptions' + extobj.Name = GenerateOptions extobj.DataType = NumericNodeId(24, 0) extobj.ValueRank = -1 value.append(extobj) @@ -35767,12 +35767,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'FileNodeId' + extobj.Name = FileNodeId extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) @@ -35857,7 +35857,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'FileHandle' + extobj.Name = FileHandle extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) @@ -35901,7 +35901,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'CompletionStateMachine' + extobj.Name = CompletionStateMachine extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) @@ -36238,6 +36238,41 @@ def create_standard_address_space_Part5(server): ref.TargetNodeId = NumericNodeId(15816, 0) refs.append(ref) ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(15815, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15825, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(15815, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15829, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(15815, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15831, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(15815, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15833, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(15815, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15841, 0) + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(15815, 0) @@ -36311,6 +36346,27 @@ def create_standard_address_space_Part5(server): ref.TargetNodeId = NumericNodeId(15818, 0) refs.append(ref) ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(15817, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15825, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(15817, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15827, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(15817, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15835, 0) + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(15817, 0) @@ -36384,6 +36440,27 @@ def create_standard_address_space_Part5(server): ref.TargetNodeId = NumericNodeId(15820, 0) refs.append(ref) ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(15819, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15827, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(15819, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15829, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(15819, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15837, 0) + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(15819, 0) @@ -36457,6 +36534,27 @@ def create_standard_address_space_Part5(server): ref.TargetNodeId = NumericNodeId(15822, 0) refs.append(ref) ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(15821, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15831, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(15821, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15833, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(15821, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15839, 0) + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(15821, 0) @@ -36530,6 +36628,34 @@ def create_standard_address_space_Part5(server): ref.TargetNodeId = NumericNodeId(15824, 0) refs.append(ref) ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(15823, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15835, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(15823, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15837, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(15823, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15839, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(15823, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15841, 0) + refs.append(ref) + ref = ua.AddReferencesItem() ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(15823, 0) @@ -36604,6 +36730,27 @@ def create_standard_address_space_Part5(server): refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(15825, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15815, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(15825, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15817, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = NumericNodeId(54, 0) + ref.SourceNodeId = NumericNodeId(15825, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2311, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(15825, 0) ref.TargetNodeClass = NodeClass.DataType @@ -36677,6 +36824,27 @@ def create_standard_address_space_Part5(server): refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(15827, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15817, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(15827, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15819, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = NumericNodeId(54, 0) + ref.SourceNodeId = NumericNodeId(15827, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2311, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(15827, 0) ref.TargetNodeClass = NodeClass.DataType @@ -36750,6 +36918,27 @@ def create_standard_address_space_Part5(server): refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(15829, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15819, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(15829, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15815, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = NumericNodeId(54, 0) + ref.SourceNodeId = NumericNodeId(15829, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2311, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(15829, 0) ref.TargetNodeClass = NodeClass.DataType @@ -36823,6 +37012,27 @@ def create_standard_address_space_Part5(server): refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(15831, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15815, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(15831, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15821, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = NumericNodeId(54, 0) + ref.SourceNodeId = NumericNodeId(15831, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2311, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(15831, 0) ref.TargetNodeClass = NodeClass.DataType @@ -36896,6 +37106,27 @@ def create_standard_address_space_Part5(server): refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(15833, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15821, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(15833, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15815, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = NumericNodeId(54, 0) + ref.SourceNodeId = NumericNodeId(15833, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2311, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(15833, 0) ref.TargetNodeClass = NodeClass.DataType @@ -36969,6 +37200,27 @@ def create_standard_address_space_Part5(server): refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(15835, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15817, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(15835, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15823, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = NumericNodeId(54, 0) + ref.SourceNodeId = NumericNodeId(15835, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2311, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(15835, 0) ref.TargetNodeClass = NodeClass.DataType @@ -37042,6 +37294,27 @@ def create_standard_address_space_Part5(server): refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(15837, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15819, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(15837, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15823, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = NumericNodeId(54, 0) + ref.SourceNodeId = NumericNodeId(15837, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2311, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(15837, 0) ref.TargetNodeClass = NodeClass.DataType @@ -37115,6 +37388,27 @@ def create_standard_address_space_Part5(server): refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(15839, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15821, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(15839, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15823, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = NumericNodeId(54, 0) + ref.SourceNodeId = NumericNodeId(15839, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2311, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(15839, 0) ref.TargetNodeClass = NodeClass.DataType @@ -37188,6 +37482,27 @@ def create_standard_address_space_Part5(server): refs.append(ref) ref = ua.AddReferencesItem() ref.IsForward = True + ref.ReferenceTypeId = NumericNodeId(51, 0) + ref.SourceNodeId = NumericNodeId(15841, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15823, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = NumericNodeId(52, 0) + ref.SourceNodeId = NumericNodeId(15841, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(15815, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = NumericNodeId(54, 0) + ref.SourceNodeId = NumericNodeId(15841, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2311, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True ref.ReferenceTypeId = NumericNodeId(40, 0) ref.SourceNodeId = NumericNodeId(15841, 0) ref.TargetNodeClass = NodeClass.DataType @@ -37442,12 +37757,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RoleName' + extobj.Name = RoleName extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = 'NamespaceUri' + extobj.Name = NamespaceUri extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -37491,7 +37806,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RoleNodeId' + extobj.Name = RoleNodeId extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) @@ -37569,7 +37884,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RoleNodeId' + extobj.Name = RoleNodeId extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) @@ -37930,7 +38245,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToAdd' + extobj.Name = RuleToAdd extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) @@ -38008,7 +38323,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToRemove' + extobj.Name = RuleToRemove extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) @@ -38086,7 +38401,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToAdd' + extobj.Name = RuleToAdd extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -38164,7 +38479,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToRemove' + extobj.Name = RuleToRemove extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -38242,7 +38557,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToAdd' + extobj.Name = RuleToAdd extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -38320,7 +38635,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToRemove' + extobj.Name = RuleToRemove extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -38779,7 +39094,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToAdd' + extobj.Name = RuleToAdd extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) @@ -38843,7 +39158,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToRemove' + extobj.Name = RuleToRemove extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) @@ -38907,7 +39222,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToAdd' + extobj.Name = RuleToAdd extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -38971,7 +39286,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToRemove' + extobj.Name = RuleToRemove extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -39035,7 +39350,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToAdd' + extobj.Name = RuleToAdd extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -39099,7 +39414,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToRemove' + extobj.Name = RuleToRemove extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -39420,7 +39735,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToAdd' + extobj.Name = RuleToAdd extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) @@ -39484,7 +39799,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToRemove' + extobj.Name = RuleToRemove extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) @@ -39548,7 +39863,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToAdd' + extobj.Name = RuleToAdd extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -39612,7 +39927,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToRemove' + extobj.Name = RuleToRemove extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -39676,7 +39991,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToAdd' + extobj.Name = RuleToAdd extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -39740,7 +40055,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToRemove' + extobj.Name = RuleToRemove extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -40061,7 +40376,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToAdd' + extobj.Name = RuleToAdd extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) @@ -40125,7 +40440,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToRemove' + extobj.Name = RuleToRemove extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) @@ -40189,7 +40504,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToAdd' + extobj.Name = RuleToAdd extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -40253,7 +40568,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToRemove' + extobj.Name = RuleToRemove extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -40317,7 +40632,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToAdd' + extobj.Name = RuleToAdd extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -40381,7 +40696,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToRemove' + extobj.Name = RuleToRemove extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -40702,7 +41017,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToAdd' + extobj.Name = RuleToAdd extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) @@ -40766,7 +41081,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToRemove' + extobj.Name = RuleToRemove extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) @@ -40830,7 +41145,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToAdd' + extobj.Name = RuleToAdd extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -40894,7 +41209,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToRemove' + extobj.Name = RuleToRemove extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -40958,7 +41273,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToAdd' + extobj.Name = RuleToAdd extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -41022,7 +41337,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToRemove' + extobj.Name = RuleToRemove extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -41343,7 +41658,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToAdd' + extobj.Name = RuleToAdd extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) @@ -41407,7 +41722,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToRemove' + extobj.Name = RuleToRemove extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) @@ -41471,7 +41786,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToAdd' + extobj.Name = RuleToAdd extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -41535,7 +41850,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToRemove' + extobj.Name = RuleToRemove extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -41599,7 +41914,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToAdd' + extobj.Name = RuleToAdd extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -41663,7 +41978,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToRemove' + extobj.Name = RuleToRemove extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -41984,7 +42299,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToAdd' + extobj.Name = RuleToAdd extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) @@ -42048,7 +42363,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToRemove' + extobj.Name = RuleToRemove extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) @@ -42112,7 +42427,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToAdd' + extobj.Name = RuleToAdd extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -42176,7 +42491,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToRemove' + extobj.Name = RuleToRemove extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -42240,7 +42555,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToAdd' + extobj.Name = RuleToAdd extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -42304,7 +42619,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToRemove' + extobj.Name = RuleToRemove extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -42625,7 +42940,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToAdd' + extobj.Name = RuleToAdd extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) @@ -42689,7 +43004,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToRemove' + extobj.Name = RuleToRemove extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) @@ -42753,7 +43068,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToAdd' + extobj.Name = RuleToAdd extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -42817,7 +43132,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToRemove' + extobj.Name = RuleToRemove extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -42881,7 +43196,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToAdd' + extobj.Name = RuleToAdd extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -42945,7 +43260,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToRemove' + extobj.Name = RuleToRemove extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -43266,7 +43581,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToAdd' + extobj.Name = RuleToAdd extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) @@ -43330,7 +43645,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToRemove' + extobj.Name = RuleToRemove extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) @@ -43394,7 +43709,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToAdd' + extobj.Name = RuleToAdd extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -43458,7 +43773,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToRemove' + extobj.Name = RuleToRemove extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -43522,7 +43837,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToAdd' + extobj.Name = RuleToAdd extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -43586,7 +43901,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'RuleToRemove' + extobj.Name = RuleToRemove extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -44643,7 +44958,7 @@ def create_standard_address_space_Part5(server): attrs = ua.VariableAttributes() attrs.DisplayName = LocalizedText("Opc.Ua") attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) - attrs.Value = ua.Variant(b'\r\n\r\n \r\n\r\n \r\n An XML element encoded as a UTF-8 string.\r\n \r\n \r\n \r\n\r\n \r\n The possible encodings for a NodeId value.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n An identifier for a node in a UA server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n An identifier for a node in a UA server address space qualified with a complete namespace string.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A 32-bit status code value.\r\n \r\n\r\n \r\n A recursive structure containing diagnostic information associated with a status code.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A string qualified with a namespace index.\r\n \r\n \r\n \r\n\r\n \r\n A string qualified with a namespace index.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A value with an associated timestamp, and quality.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A serialized object prefixed with its data type identifier.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A union of several types.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n An image encoded in BMP format.\r\n \r\n\r\n \r\n An image encoded in GIF format.\r\n \r\n\r\n \r\n An image encoded in JPEG format.\r\n \r\n\r\n \r\n An image encoded in PNG format.\r\n \r\n\r\n \r\n An image encoded in PNG format.\r\n \r\n\r\n \r\n A mask of 32 bits that can be updated individually by using the top 32 bits as a mask.\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n The type of identifier used in a node id.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A mask specifying the class of the node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to all nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to object nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to object type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to variable nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to variable type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to reference type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to method nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies a reference which belongs to a node.\r\n \r\n \r\n \r\n \r\n\r\n \r\n An argument for a method.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A mapping between a value of an enumerated type and a name and description.\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask.\r\n \r\n \r\n \r\n\r\n \r\n This abstract DataType is the base DataType for all union DataTypes.\r\n \r\n\r\n \r\n A string normalized based on the rules in the unicode specification.\r\n \r\n\r\n \r\n An arbitraty numeric value.\r\n \r\n\r\n \r\n A period of time formatted as defined in ISO 8601-2000.\r\n \r\n\r\n \r\n A time formatted as defined in ISO 8601-2000.\r\n \r\n\r\n \r\n A date formatted as defined in ISO 8601-2000.\r\n \r\n\r\n \r\n A period of time measured in milliseconds.\r\n \r\n\r\n \r\n A date/time value specified in Universal Coordinated Time (UTC).\r\n \r\n\r\n \r\n An identifier for a user locale.\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n A numeric identifier for an object.\r\n \r\n\r\n \r\n The types of applications.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Describes an application and how to find it.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The header passed with every server request.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The header passed with every server response.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n The response returned by all services when there is a service level error.\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Finds the servers known to the discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Finds the servers known to the discovery server.\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A certificate for an instance of an application.\r\n \r\n\r\n \r\n The type of security to use on a message.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The possible user token types.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Describes a user token that can be used with a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The description of a endpoint that can be used to access a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Gets the endpoints used by the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Gets the endpoints used by the server.\r\n \r\n \r\n \r\n \r\n\r\n \r\n The information required to register a server with a discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Registers a server with the discovery server.\r\n \r\n \r\n \r\n\r\n \r\n Registers a server with the discovery server.\r\n \r\n \r\n\r\n \r\n A base type for discovery configuration information.\r\n \r\n\r\n \r\n The discovery information needed for mDNS registration.\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Indicates whether a token if being created or renewed.\r\n \r\n \r\n \r\n\r\n \r\n The token that identifies a set of keys for an active secure channel.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Creates a secure channel with a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Creates a secure channel with a server.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Closes a secure channel.\r\n \r\n \r\n\r\n \r\n Closes a secure channel.\r\n \r\n \r\n\r\n \r\n A software certificate with a digital signature.\r\n \r\n \r\n \r\n\r\n \r\n A unique identifier for a session used to authenticate requests.\r\n \r\n\r\n \r\n A digital signature.\r\n \r\n \r\n \r\n\r\n \r\n Creates a new session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Creates a new session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A base type for a user identity token.\r\n \r\n \r\n\r\n \r\n A token representing an anonymous user.\r\n \r\n \r\n\r\n \r\n A token representing a user identified by a user name and password.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A token representing a user identified by an X509 certificate.\r\n \r\n \r\n \r\n\r\n \r\n A token representing a user identified by a WS-Security XML token.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Activates a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Activates a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Closes a session with the server.\r\n \r\n \r\n \r\n\r\n \r\n Closes a session with the server.\r\n \r\n \r\n\r\n \r\n Cancels an outstanding request.\r\n \r\n \r\n \r\n\r\n \r\n Cancels an outstanding request.\r\n \r\n \r\n \r\n\r\n \r\n The bits used to specify default attributes for a new node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The base attributes for all nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for an object node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a variable node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a method node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for an object type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a variable type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a reference type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a data type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a view node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A request to add a node to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A result of an add node operation.\r\n \r\n \r\n \r\n\r\n \r\n Adds one or more nodes to the server address space.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Adds one or more nodes to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A request to add a reference to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Adds one or more references to the server address space.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Adds one or more references to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A request to delete a node to the server address space.\r\n \r\n \r\n \r\n\r\n \r\n Delete one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Delete one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A request to delete a node from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Delete one or more references from the server address space.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Delete one or more references from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Define bits used to indicate which attributes are writable.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The directions of the references to return.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The view to browse.\r\n \r\n \r\n \r\n \r\n\r\n \r\n A request to browse the the references from a node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A bit mask which specifies what should be returned in a browse response.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The description of a reference.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n An identifier for a suspended query or browse operation.\r\n \r\n\r\n \r\n The result of a browse operation.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Browse the references for one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Browse the references for one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Continues one or more browse operations.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Continues one or more browse operations.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n An element in a relative path.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A relative path constructed from reference types and browse names.\r\n \r\n \r\n \r\n\r\n \r\n A request to translate a path into a node id.\r\n \r\n \r\n \r\n\r\n \r\n The target of the translated path.\r\n \r\n \r\n \r\n\r\n \r\n The result of a translate opearation.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Translates one or more paths in the server address space.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Translates one or more paths in the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Registers one or more nodes for repeated use within a session.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Registers one or more nodes for repeated use within a session.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Unregisters one or more previously registered nodes.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Unregisters one or more previously registered nodes.\r\n \r\n \r\n\r\n \r\n A monotonically increasing value.\r\n \r\n\r\n \r\n Specifies a range of array indexes.\r\n \r\n\r\n \r\n A time value specified as HH:MM:SS.SSS.\r\n \r\n\r\n \r\n A date value.\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n', ua.VariantType.ByteString) + attrs.Value = ua.Variant(b'\r\n\r\n \r\n\r\n \r\n An XML element encoded as a UTF-8 string.\r\n \r\n \r\n \r\n\r\n \r\n The possible encodings for a NodeId value.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n An identifier for a node in a UA server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n An identifier for a node in a UA server address space qualified with a complete namespace string.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A 32-bit status code value.\r\n \r\n\r\n \r\n A recursive structure containing diagnostic information associated with a status code.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A string qualified with a namespace index.\r\n \r\n \r\n \r\n\r\n \r\n A string qualified with a namespace index.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A value with an associated timestamp, and quality.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A serialized object prefixed with its data type identifier.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A union of several types.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n An image encoded in BMP format.\r\n \r\n\r\n \r\n An image encoded in GIF format.\r\n \r\n\r\n \r\n An image encoded in JPEG format.\r\n \r\n\r\n \r\n An image encoded in PNG format.\r\n \r\n\r\n \r\n An image encoded in PNG format.\r\n \r\n\r\n \r\n A mask of 32 bits that can be updated individually by using the top 32 bits as a mask.\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n The type of identifier used in a node id.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A mask specifying the class of the node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to all nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to object nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to object type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to variable nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to variable type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to reference type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies the attributes which belong to method nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Specifies a reference which belongs to a node.\r\n \r\n \r\n \r\n \r\n\r\n \r\n An argument for a method.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A mapping between a value of an enumerated type and a name and description.\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask.\r\n \r\n \r\n \r\n\r\n \r\n This abstract DataType is the base DataType for all union DataTypes.\r\n \r\n\r\n \r\n A string normalized based on the rules in the unicode specification.\r\n \r\n\r\n \r\n An arbitraty numeric value.\r\n \r\n\r\n \r\n A period of time formatted as defined in ISO 8601-2000.\r\n \r\n\r\n \r\n A time formatted as defined in ISO 8601-2000.\r\n \r\n\r\n \r\n A date formatted as defined in ISO 8601-2000.\r\n \r\n\r\n \r\n A period of time measured in milliseconds.\r\n \r\n\r\n \r\n A date/time value specified in Universal Coordinated Time (UTC).\r\n \r\n\r\n \r\n An identifier for a user locale.\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n A numeric identifier for an object.\r\n \r\n\r\n \r\n The types of applications.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Describes an application and how to find it.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The header passed with every server request.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The header passed with every server response.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n The response returned by all services when there is a service level error.\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Finds the servers known to the discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Finds the servers known to the discovery server.\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A certificate for an instance of an application.\r\n \r\n\r\n \r\n The type of security to use on a message.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The possible user token types.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Describes a user token that can be used with a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The description of a endpoint that can be used to access a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Gets the endpoints used by the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Gets the endpoints used by the server.\r\n \r\n \r\n \r\n \r\n\r\n \r\n The information required to register a server with a discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Registers a server with the discovery server.\r\n \r\n \r\n \r\n\r\n \r\n Registers a server with the discovery server.\r\n \r\n \r\n\r\n \r\n A base type for discovery configuration information.\r\n \r\n\r\n \r\n The discovery information needed for mDNS registration.\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Indicates whether a token if being created or renewed.\r\n \r\n \r\n \r\n\r\n \r\n The token that identifies a set of keys for an active secure channel.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Creates a secure channel with a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Creates a secure channel with a server.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Closes a secure channel.\r\n \r\n \r\n\r\n \r\n Closes a secure channel.\r\n \r\n \r\n\r\n \r\n A software certificate with a digital signature.\r\n \r\n \r\n \r\n\r\n \r\n A unique identifier for a session used to authenticate requests.\r\n \r\n\r\n \r\n A digital signature.\r\n \r\n \r\n \r\n\r\n \r\n Creates a new session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Creates a new session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A base type for a user identity token.\r\n \r\n \r\n\r\n \r\n A token representing an anonymous user.\r\n \r\n \r\n\r\n \r\n A token representing a user identified by a user name and password.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A token representing a user identified by an X509 certificate.\r\n \r\n \r\n \r\n\r\n \r\n A token representing a user identified by a WS-Security XML token.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Activates a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Activates a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Closes a session with the server.\r\n \r\n \r\n \r\n\r\n \r\n Closes a session with the server.\r\n \r\n \r\n\r\n \r\n Cancels an outstanding request.\r\n \r\n \r\n \r\n\r\n \r\n Cancels an outstanding request.\r\n \r\n \r\n \r\n\r\n \r\n The bits used to specify default attributes for a new node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The base attributes for all nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for an object node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a variable node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a method node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for an object type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a variable type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a reference type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a data type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The attributes for a view node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A request to add a node to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A result of an add node operation.\r\n \r\n \r\n \r\n\r\n \r\n Adds one or more nodes to the server address space.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Adds one or more nodes to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A request to add a reference to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Adds one or more references to the server address space.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Adds one or more references to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A request to delete a node to the server address space.\r\n \r\n \r\n \r\n\r\n \r\n Delete one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Delete one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A request to delete a node from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Delete one or more references from the server address space.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Delete one or more references from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Define bits used to indicate which attributes are writable.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The directions of the references to return.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The view to browse.\r\n \r\n \r\n \r\n \r\n\r\n \r\n A request to browse the the references from a node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A bit mask which specifies what should be returned in a browse response.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n The description of a reference.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n An identifier for a suspended query or browse operation.\r\n \r\n\r\n \r\n The result of a browse operation.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Browse the references for one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Browse the references for one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Continues one or more browse operations.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Continues one or more browse operations.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n An element in a relative path.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n A relative path constructed from reference types and browse names.\r\n \r\n \r\n \r\n\r\n \r\n A request to translate a path into a node id.\r\n \r\n \r\n \r\n\r\n \r\n The target of the translated path.\r\n \r\n \r\n \r\n\r\n \r\n The result of a translate opearation.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Translates one or more paths in the server address space.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Translates one or more paths in the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Registers one or more nodes for repeated use within a session.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Registers one or more nodes for repeated use within a session.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Unregisters one or more previously registered nodes.\r\n \r\n \r\n \r\n \r\n\r\n \r\n Unregisters one or more previously registered nodes.\r\n \r\n \r\n\r\n \r\n A monotonically increasing value.\r\n \r\n\r\n \r\n Specifies a range of array indexes.\r\n \r\n\r\n \r\n A time value specified as HH:MM:SS.SSS.\r\n \r\n\r\n \r\n A date value.\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n', ua.VariantType.ByteString) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) @@ -49848,7 +50163,7 @@ def create_standard_address_space_Part5(server): attrs = ua.VariableAttributes() attrs.DisplayName = LocalizedText("Opc.Ua") attrs.DataType = ua.NodeId(ua.ObjectIds.ByteString) - attrs.Value = ua.Variant(b'\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n true\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n true\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n true\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The type of identifier used in a node id.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A mask specifying the class of the node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to all nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to object nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to object type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to variable nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to variable type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to reference type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to method nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies a reference which belongs to a node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n An argument for a method.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A mapping between a value of an enumerated type and a name and description.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n This abstract DataType is the base DataType for all union DataTypes.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n The types of applications.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Describes an application and how to find it.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The header passed with every server request.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The header passed with every server response.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n The response returned by all services when there is a service level error.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Finds the servers known to the discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Finds the servers known to the discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n The type of security to use on a message.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The possible user token types.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Describes a user token that can be used with a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The description of a endpoint that can be used to access a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Gets the endpoints used by the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Gets the endpoints used by the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The information required to register a server with a discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Registers a server with the discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Registers a server with the discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A base type for discovery configuration information.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The discovery information needed for mDNS registration.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Indicates whether a token if being created or renewed.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The token that identifies a set of keys for an active secure channel.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Creates a secure channel with a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Creates a secure channel with a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Closes a secure channel.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Closes a secure channel.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A software certificate with a digital signature.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n A digital signature.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Creates a new session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Creates a new session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A base type for a user identity token.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A token representing an anonymous user.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A token representing a user identified by a user name and password.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A token representing a user identified by an X509 certificate.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A token representing a user identified by a WS-Security XML token.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Activates a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Activates a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Closes a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Closes a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Cancels an outstanding request.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Cancels an outstanding request.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The bits used to specify default attributes for a new node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The base attributes for all nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for an object node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a variable node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a method node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for an object type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a variable type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a reference type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a data type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a view node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to add a node to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A result of an add node operation.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Adds one or more nodes to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Adds one or more nodes to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to add a reference to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Adds one or more references to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Adds one or more references to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to delete a node to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Delete one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Delete one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to delete a node from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Delete one or more references from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Delete one or more references from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Define bits used to indicate which attributes are writable.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The directions of the references to return.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The view to browse.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to browse the the references from a node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A bit mask which specifies what should be returned in a browse response.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The description of a reference.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n The result of a browse operation.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Browse the references for one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Browse the references for one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Continues one or more browse operations.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Continues one or more browse operations.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n An element in a relative path.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A relative path constructed from reference types and browse names.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to translate a path into a node id.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The target of the translated path.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The result of a translate opearation.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Translates one or more paths in the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Translates one or more paths in the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Registers one or more nodes for repeated use within a session.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Registers one or more nodes for repeated use within a session.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Unregisters one or more previously registered nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Unregisters one or more previously registered nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n', ua.VariantType.ByteString) + attrs.Value = ua.Variant(b'\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n true\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n true\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n true\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The type of identifier used in a node id.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A mask specifying the class of the node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to all nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to object nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to object type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to variable nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to variable type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to reference type nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies the attributes which belong to method nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Specifies a reference which belongs to a node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n An argument for a method.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A mapping between a value of an enumerated type and a name and description.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n This abstract DataType is the base DataType for all union DataTypes.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n The types of applications.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Describes an application and how to find it.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The header passed with every server request.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The header passed with every server response.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n The response returned by all services when there is a service level error.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Finds the servers known to the discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Finds the servers known to the discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n The type of security to use on a message.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The possible user token types.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Describes a user token that can be used with a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The description of a endpoint that can be used to access a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Gets the endpoints used by the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Gets the endpoints used by the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The information required to register a server with a discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Registers a server with the discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Registers a server with the discovery server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A base type for discovery configuration information.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The discovery information needed for mDNS registration.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Indicates whether a token if being created or renewed.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The token that identifies a set of keys for an active secure channel.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Creates a secure channel with a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Creates a secure channel with a server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Closes a secure channel.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Closes a secure channel.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A software certificate with a digital signature.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n A digital signature.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Creates a new session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Creates a new session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A base type for a user identity token.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A token representing an anonymous user.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A token representing a user identified by a user name and password.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A token representing a user identified by an X509 certificate.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A token representing a user identified by a WS-Security XML token.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Activates a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Activates a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Closes a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Closes a session with the server.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Cancels an outstanding request.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Cancels an outstanding request.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The bits used to specify default attributes for a new node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The base attributes for all nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for an object node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a variable node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a method node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for an object type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a variable type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a reference type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a data type node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The attributes for a view node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to add a node to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A result of an add node operation.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Adds one or more nodes to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Adds one or more nodes to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to add a reference to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Adds one or more references to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Adds one or more references to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to delete a node to the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Delete one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Delete one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to delete a node from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Delete one or more references from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Delete one or more references from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Define bits used to indicate which attributes are writable.\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The directions of the references to return.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The view to browse.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to browse the the references from a node.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A bit mask which specifies what should be returned in a browse response.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The description of a reference.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n The result of a browse operation.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Browse the references for one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Browse the references for one or more nodes from the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Continues one or more browse operations.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Continues one or more browse operations.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n An element in a relative path.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A relative path constructed from reference types and browse names.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n A request to translate a path into a node id.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The target of the translated path.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n The result of a translate opearation.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Translates one or more paths in the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Translates one or more paths in the server address space.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Registers one or more nodes for repeated use within a session.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Registers one or more nodes for repeated use within a session.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Unregisters one or more previously registered nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Unregisters one or more previously registered nodes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n', ua.VariantType.ByteString) attrs.ValueRank = -1 node.NodeAttributes = attrs server.add_nodes([node]) diff --git a/opcua/server/standard_address_space/standard_address_space_part8.py b/opcua/server/standard_address_space/standard_address_space_part8.py index 418406c43..43dd2adcd 100644 --- a/opcua/server/standard_address_space/standard_address_space_part8.py +++ b/opcua/server/standard_address_space/standard_address_space_part8.py @@ -283,6 +283,316 @@ def create_standard_address_space_Part8(server): refs.append(ref) server.add_references(refs) + node = ua.AddNodesItem() + node.RequestedNewNodeId = NumericNodeId(17497, 0) + node.BrowseName = QualifiedName('EUItemType', 0) + node.NodeClass = NodeClass.VariableType + node.ParentNodeId = NumericNodeId(2365, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) + attrs = ua.VariableTypeAttributes() + attrs.DisplayName = LocalizedText("EUItemType") + attrs.DisplayName = LocalizedText("EUItemType") + attrs.DataType = ua.NodeId(ua.ObjectIds.Number) + attrs.ValueRank = -2 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17497, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17500, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17497, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17501, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17497, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17502, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(17497, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2365, 0) + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = NumericNodeId(17500, 0) + node.BrowseName = QualifiedName('InstrumentRange', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(17497, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) + attrs = ua.VariableAttributes() + attrs.DisplayName = LocalizedText("InstrumentRange") + attrs.DataType = NumericNodeId(884, 0) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(17500, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(17500, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17500, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17497, 0) + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = NumericNodeId(17501, 0) + node.BrowseName = QualifiedName('EURange', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(17497, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) + attrs = ua.VariableAttributes() + attrs.DisplayName = LocalizedText("EURange") + attrs.DataType = NumericNodeId(884, 0) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(17501, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(17501, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17501, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17497, 0) + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = NumericNodeId(17502, 0) + node.BrowseName = QualifiedName('EngineeringUnits', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(17497, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) + attrs = ua.VariableAttributes() + attrs.DisplayName = LocalizedText("EngineeringUnits") + attrs.DataType = NumericNodeId(887, 0) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(17502, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(17502, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17502, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17497, 0) + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = NumericNodeId(17503, 0) + node.BrowseName = QualifiedName('AnalogUnitItemType', 0) + node.NodeClass = NodeClass.VariableType + node.ParentNodeId = NumericNodeId(2365, 0) + node.ReferenceTypeId = NumericNodeId(45, 0) + attrs = ua.VariableTypeAttributes() + attrs.DisplayName = LocalizedText("AnalogUnitItemType") + attrs.DisplayName = LocalizedText("AnalogUnitItemType") + attrs.DataType = ua.NodeId(ua.ObjectIds.Number) + attrs.ValueRank = -2 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17503, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17506, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17503, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17509, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17503, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17510, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = NumericNodeId(45, 0) + ref.SourceNodeId = NumericNodeId(17503, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(2365, 0) + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = NumericNodeId(17506, 0) + node.BrowseName = QualifiedName('InstrumentRange', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(17503, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) + attrs = ua.VariableAttributes() + attrs.DisplayName = LocalizedText("InstrumentRange") + attrs.DataType = NumericNodeId(884, 0) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(17506, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(17506, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17506, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17503, 0) + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = NumericNodeId(17509, 0) + node.BrowseName = QualifiedName('EURange', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(17503, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) + attrs = ua.VariableAttributes() + attrs.DisplayName = LocalizedText("EURange") + attrs.DataType = NumericNodeId(884, 0) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(17509, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(17509, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(80, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17509, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17503, 0) + refs.append(ref) + server.add_references(refs) + + node = ua.AddNodesItem() + node.RequestedNewNodeId = NumericNodeId(17510, 0) + node.BrowseName = QualifiedName('EngineeringUnits', 0) + node.NodeClass = NodeClass.Variable + node.ParentNodeId = NumericNodeId(17503, 0) + node.ReferenceTypeId = NumericNodeId(46, 0) + node.TypeDefinition = NumericNodeId(68, 0) + attrs = ua.VariableAttributes() + attrs.DisplayName = LocalizedText("EngineeringUnits") + attrs.DataType = NumericNodeId(887, 0) + attrs.ValueRank = -1 + node.NodeAttributes = attrs + server.add_nodes([node]) + refs = [] + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = NumericNodeId(40, 0) + ref.SourceNodeId = NumericNodeId(17510, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(68, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = True + ref.ReferenceTypeId = NumericNodeId(37, 0) + ref.SourceNodeId = NumericNodeId(17510, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(78, 0) + refs.append(ref) + ref = ua.AddReferencesItem() + ref.IsForward = False + ref.ReferenceTypeId = NumericNodeId(46, 0) + ref.SourceNodeId = NumericNodeId(17510, 0) + ref.TargetNodeClass = NodeClass.DataType + ref.TargetNodeId = NumericNodeId(17503, 0) + refs.append(ref) + server.add_references(refs) + node = ua.AddNodesItem() node.RequestedNewNodeId = NumericNodeId(2372, 0) node.BrowseName = QualifiedName('DiscreteItemType', 0) diff --git a/opcua/server/standard_address_space/standard_address_space_part9.py b/opcua/server/standard_address_space/standard_address_space_part9.py index ddd12c661..9a347bbcc 100644 --- a/opcua/server/standard_address_space/standard_address_space_part9.py +++ b/opcua/server/standard_address_space/standard_address_space_part9.py @@ -1510,13 +1510,13 @@ def create_standard_address_space_Part9(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'EventId' + extobj.Name = EventId extobj.DataType = NumericNodeId(15, 0) extobj.ValueRank = -1 extobj.Description.Text = 'The identifier for the event to comment.' value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Comment' + extobj.Name = Comment extobj.DataType = NumericNodeId(21, 0) extobj.ValueRank = -1 extobj.Description.Text = 'The comment to add to the condition.' @@ -1602,7 +1602,7 @@ def create_standard_address_space_Part9(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'SubscriptionId' + extobj.Name = SubscriptionId extobj.DataType = NumericNodeId(288, 0) extobj.ValueRank = -1 extobj.Description.Text = 'The identifier for the suscription to refresh.' @@ -1688,13 +1688,13 @@ def create_standard_address_space_Part9(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'SubscriptionId' + extobj.Name = SubscriptionId extobj.DataType = NumericNodeId(288, 0) extobj.ValueRank = -1 extobj.Description.Text = 'The identifier for the suscription to refresh.' value.append(extobj) extobj = ua.Argument() - extobj.Name = 'MonitoredItemId' + extobj.Name = MonitoredItemId extobj.DataType = NumericNodeId(288, 0) extobj.ValueRank = -1 extobj.Description.Text = 'The identifier for the monitored item to refresh.' @@ -2396,7 +2396,7 @@ def create_standard_address_space_Part9(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'SelectedResponse' + extobj.Name = SelectedResponse extobj.DataType = NumericNodeId(6, 0) extobj.ValueRank = -1 extobj.Description.Text = 'The response to the dialog condition.' @@ -3077,13 +3077,13 @@ def create_standard_address_space_Part9(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'EventId' + extobj.Name = EventId extobj.DataType = NumericNodeId(15, 0) extobj.ValueRank = -1 extobj.Description.Text = 'The identifier for the event to comment.' value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Comment' + extobj.Name = Comment extobj.DataType = NumericNodeId(21, 0) extobj.ValueRank = -1 extobj.Description.Text = 'The comment to add to the condition.' @@ -3169,13 +3169,13 @@ def create_standard_address_space_Part9(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'EventId' + extobj.Name = EventId extobj.DataType = NumericNodeId(15, 0) extobj.ValueRank = -1 extobj.Description.Text = 'The identifier for the event to comment.' value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Comment' + extobj.Name = Comment extobj.DataType = NumericNodeId(21, 0) extobj.ValueRank = -1 extobj.Description.Text = 'The comment to add to the condition.' @@ -4671,7 +4671,7 @@ def create_standard_address_space_Part9(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'ShelvingTime' + extobj.Name = ShelvingTime extobj.DataType = NumericNodeId(290, 0) extobj.ValueRank = -1 extobj.Description.Text = 'If not 0, this parameter specifies a fixed time for which the Alarm is to be shelved.' @@ -7073,13 +7073,13 @@ def create_standard_address_space_Part9(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'EventId' + extobj.Name = EventId extobj.DataType = NumericNodeId(15, 0) extobj.ValueRank = -1 extobj.Description.Text = 'The identifier for the event to comment.' value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Comment' + extobj.Name = Comment extobj.DataType = NumericNodeId(21, 0) extobj.ValueRank = -1 extobj.Description.Text = 'The comment to add to the condition.' @@ -7246,13 +7246,13 @@ def create_standard_address_space_Part9(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'EventId' + extobj.Name = EventId extobj.DataType = NumericNodeId(15, 0) extobj.ValueRank = -1 extobj.Description.Text = 'The identifier for the event to comment.' value.append(extobj) extobj = ua.Argument() - extobj.Name = 'Comment' + extobj.Name = Comment extobj.DataType = NumericNodeId(21, 0) extobj.ValueRank = -1 extobj.Description.Text = 'The comment to add to the condition.' @@ -8565,7 +8565,7 @@ def create_standard_address_space_Part9(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = 'ShelvingTime' + extobj.Name = ShelvingTime extobj.DataType = NumericNodeId(290, 0) extobj.ValueRank = -1 extobj.Description.Text = 'If not 0, this parameter specifies a fixed time for which the Alarm is to be shelved.' diff --git a/opcua/ua/status_codes.py b/opcua/ua/status_codes.py index d300ccee6..66891a6f1 100644 --- a/opcua/ua/status_codes.py +++ b/opcua/ua/status_codes.py @@ -2,7 +2,7 @@ from opcua.ua.uaerrors import UaStatusCodeError -class StatusCodes(object): +class StatusCodes: Good = 0 Uncertain = 0x40000000 Bad = 0x80000000 @@ -327,7 +327,7 @@ class StatusCodes(object): 0x80460000: ('BadStructureMissing', 'A mandatory structured parameter was missing or null.'), 0x80470000: ('BadEventFilterInvalid', 'The event filter is not valid.'), 0x80480000: ('BadContentFilterInvalid', 'The content filter is not valid.'), - 0x80C10000: ('BadFilterOperatorInvalid', 'An unregognized operator was provided in a filter.'), + 0x80C10000: ('BadFilterOperatorInvalid', 'An unrecognized operator was provided in a filter.'), 0x80C20000: ('BadFilterOperatorUnsupported', 'A valid operator was provided, but the server does not provide support for this filter operator.'), 0x80C30000: ('BadFilterOperandCountMismatch', 'The number of operands provided for the filter operator was less then expected for the operand provided.'), 0x80490000: ('BadFilterOperandInvalid', 'The operand used in a content filter is not valid.'), @@ -335,7 +335,7 @@ class StatusCodes(object): 0x80C50000: ('BadFilterLiteralInvalid', 'The referenced literal is not a valid value.'), 0x804A0000: ('BadContinuationPointInvalid', 'The continuation point provide is longer valid.'), 0x804B0000: ('BadNoContinuationPoints', 'The operation could not be processed because all continuation points have been allocated.'), - 0x804C0000: ('BadReferenceTypeIdInvalid', 'The operation could not be processed because all continuation points have been allocated.'), + 0x804C0000: ('BadReferenceTypeIdInvalid', 'The reference type id does not refer to a valid reference type node.'), 0x804D0000: ('BadBrowseDirectionInvalid', 'The browse direction is not valid.'), 0x804E0000: ('BadNodeNotInView', 'The node is not part of the view.'), 0x81120000: ('BadNumericOverflow', 'The number was not accepted because of a numeric overflow.'), @@ -390,7 +390,7 @@ class StatusCodes(object): 0x80750000: ('BadMethodInvalid', 'The method id does not refer to a method for the specified object.'), 0x80760000: ('BadArgumentsMissing', 'The client did not specify all of the input arguments for the method.'), 0x81110000: ('BadNotExecutable', 'The executable attribute does not allow the execution of the method.'), - 0x80770000: ('BadTooManySubscriptions', 'The server has reached its maximum number of subscriptions.'), + 0x80770000: ('BadTooManySubscriptions', 'The server has reached its maximum number of subscriptions.'), 0x80780000: ('BadTooManyPublishRequests', 'The server has reached the maximum number of queued publish requests.'), 0x80790000: ('BadNoSubscription', 'There is no subscription available for this session.'), 0x807A0000: ('BadSequenceNumberUnknown', 'The sequence number is unknown to the server.'), @@ -455,7 +455,7 @@ class StatusCodes(object): 0x80D50000: ('BadAggregateNotSupported', 'The requested Aggregate is not support by the server.'), 0x80D60000: ('BadAggregateInvalidInputs', 'The aggregate value could not be derived due to invalid data inputs.'), 0x80DA0000: ('BadAggregateConfigurationRejected', 'The aggregate configuration is not valid for specified node.'), - 0x00D90000: ('GoodDataIgnored', 'The request pecifies fields which are not valid for the EventType or cannot be saved by the historian.'), + 0x00D90000: ('GoodDataIgnored', 'The request specifies fields which are not valid for the EventType or cannot be saved by the historian.'), 0x80E40000: ('BadRequestNotAllowed', 'The request was rejected by the server because it did not meet the criteria set by the server.'), 0x81130000: ('BadRequestNotComplete', 'The request has not been processed by the server yet.'), 0x00DC0000: ('GoodEdited', 'The value does not come from the real source and has been edited by the server.'), @@ -486,12 +486,13 @@ class StatusCodes(object): def get_name_and_doc(val): - if val in code_to_name_doc: - return code_to_name_doc[val] - else: - if val & 1 << 31: - return 'Bad', 'Unknown StatusCode value: {}'.format(val) - elif val & 1 << 30: - return 'UncertainIn', 'Unknown StatusCode value: {}'.format(val) + if val in code_to_name_doc: + return code_to_name_doc[val] else: - return 'Good', 'Unknown StatusCode value: {}'.format(val) + if val & 1 << 31: + return 'Bad', 'Unknown StatusCode value: {}'.format(val) + elif val & 1 << 30: + return 'UncertainIn', 'Unknown StatusCode value: {}'.format(val) + else: + return 'Good', 'Unknown StatusCode value: {}'.format(val) + \ No newline at end of file diff --git a/opcua/ua/uaerrors/_auto.py b/opcua/ua/uaerrors/_auto.py index 528ff4347..93146ee08 100644 --- a/opcua/ua/uaerrors/_auto.py +++ b/opcua/ua/uaerrors/_auto.py @@ -72,6 +72,9 @@ class BadCertificateInvalid(UaStatusCodeError): class BadSecurityChecksFailed(UaStatusCodeError): code = 0x80130000 +class BadCertificatePolicyCheckFailed(UaStatusCodeError): + code = 0x81140000 + class BadCertificateTimeInvalid(UaStatusCodeError): code = 0x80140000 @@ -150,6 +153,15 @@ class BadRequestCancelledByClient(UaStatusCodeError): class BadTooManyArguments(UaStatusCodeError): code = 0x80E50000 +class BadLicenseExpired(UaStatusCodeError): + code = 0x810E0000 + +class BadLicenseLimitsExceeded(UaStatusCodeError): + code = 0x810F0000 + +class BadLicenseNotAvailable(UaStatusCodeError): + code = 0x81100000 + class BadNoCommunication(UaStatusCodeError): code = 0x80310000 @@ -255,6 +267,9 @@ class BadBrowseDirectionInvalid(UaStatusCodeError): class BadNodeNotInView(UaStatusCodeError): code = 0x804E0000 +class BadNumericOverflow(UaStatusCodeError): + code = 0x81120000 + class BadServerUriInvalid(UaStatusCodeError): code = 0x804F0000 @@ -393,6 +408,9 @@ class BadMethodInvalid(UaStatusCodeError): class BadArgumentsMissing(UaStatusCodeError): code = 0x80760000 +class BadNotExecutable(UaStatusCodeError): + code = 0x81110000 + class BadTooManySubscriptions(UaStatusCodeError): code = 0x80770000 @@ -414,6 +432,9 @@ class BadInsufficientClientProfile(UaStatusCodeError): class BadStateNotActive(UaStatusCodeError): code = 0x80BF0000 +class BadAlreadyExists(UaStatusCodeError): + code = 0x81150000 + class BadTcpServerTooBusy(UaStatusCodeError): code = 0x807D0000 @@ -549,6 +570,9 @@ class BadAggregateConfigurationRejected(UaStatusCodeError): class BadRequestNotAllowed(UaStatusCodeError): code = 0x80E40000 +class BadRequestNotComplete(UaStatusCodeError): + code = 0x81130000 + class BadDominantValueChanged(UaStatusCodeError): code = 0x80E10000 diff --git a/opcua/ua/uaprotocol_auto.py b/opcua/ua/uaprotocol_auto.py index 794b503ec..acea0384d 100644 --- a/opcua/ua/uaprotocol_auto.py +++ b/opcua/ua/uaprotocol_auto.py @@ -1,6 +1,6 @@ -''' +""" Autogenerate code from xml spec -''' +""" from datetime import datetime from enum import IntEnum @@ -10,21 +10,21 @@ class NamingRuleType(IntEnum): - ''' + """ :ivar Mandatory: :vartype Mandatory: 1 :ivar Optional: :vartype Optional: 2 :ivar Constraint: :vartype Constraint: 3 - ''' + """ Mandatory = 1 Optional = 2 Constraint = 3 class OpenFileMode(IntEnum): - ''' + """ :ivar Read: :vartype Read: 1 :ivar Write: @@ -33,7 +33,7 @@ class OpenFileMode(IntEnum): :vartype EraseExisting: 4 :ivar Append: :vartype Append: 8 - ''' + """ Read = 1 Write = 2 EraseExisting = 4 @@ -41,7 +41,7 @@ class OpenFileMode(IntEnum): class IdentityCriteriaType(IntEnum): - ''' + """ :ivar UserName: :vartype UserName: 1 :ivar Thumbprint: @@ -54,7 +54,7 @@ class IdentityCriteriaType(IntEnum): :vartype Anonymous: 5 :ivar AuthenticatedUser: :vartype AuthenticatedUser: 6 - ''' + """ UserName = 1 Thumbprint = 2 Role = 3 @@ -64,7 +64,7 @@ class IdentityCriteriaType(IntEnum): class TrustListMasks(IntEnum): - ''' + """ :ivar None_: :vartype None_: 0 :ivar TrustedCertificates: @@ -77,7 +77,7 @@ class TrustListMasks(IntEnum): :vartype IssuerCrls: 8 :ivar All: :vartype All: 15 - ''' + """ None_ = 0 TrustedCertificates = 1 TrustedCrls = 2 @@ -87,7 +87,7 @@ class TrustListMasks(IntEnum): class PubSubState(IntEnum): - ''' + """ :ivar Disabled: :vartype Disabled: 0 :ivar Paused: @@ -96,7 +96,7 @@ class PubSubState(IntEnum): :vartype Operational: 2 :ivar Error: :vartype Error: 3 - ''' + """ Disabled = 0 Paused = 1 Operational = 2 @@ -104,15 +104,20 @@ class PubSubState(IntEnum): class DataSetFieldFlags(IntEnum): - ''' + """ + :ivar None_: + :vartype None_: 0 :ivar PromotedField: :vartype PromotedField: 1 - ''' + """ + None_ = 0 PromotedField = 1 class DataSetFieldContentMask(IntEnum): - ''' + """ + :ivar None_: + :vartype None_: 0 :ivar StatusCode: :vartype StatusCode: 1 :ivar SourceTimestamp: @@ -125,7 +130,8 @@ class DataSetFieldContentMask(IntEnum): :vartype ServerPicoSeconds: 16 :ivar RawDataEncoding: :vartype RawDataEncoding: 32 - ''' + """ + None_ = 0 StatusCode = 1 SourceTimestamp = 2 ServerTimestamp = 4 @@ -135,35 +141,37 @@ class DataSetFieldContentMask(IntEnum): class OverrideValueHandling(IntEnum): - ''' + """ :ivar Disabled: :vartype Disabled: 0 :ivar LastUseableValue: :vartype LastUseableValue: 1 :ivar OverrideValue: :vartype OverrideValue: 2 - ''' + """ Disabled = 0 LastUseableValue = 1 OverrideValue = 2 class DataSetOrderingType(IntEnum): - ''' + """ :ivar Undefined: :vartype Undefined: 0 :ivar AscendingWriterId: :vartype AscendingWriterId: 1 :ivar AscendingWriterIdSingle: :vartype AscendingWriterIdSingle: 2 - ''' + """ Undefined = 0 AscendingWriterId = 1 AscendingWriterIdSingle = 2 class UadpNetworkMessageContentMask(IntEnum): - ''' + """ + :ivar None_: + :vartype None_: 0 :ivar PublisherId: :vartype PublisherId: 1 :ivar GroupHeader: @@ -186,7 +194,8 @@ class UadpNetworkMessageContentMask(IntEnum): :vartype DataSetClassId: 512 :ivar PromotedFields: :vartype PromotedFields: 1024 - ''' + """ + None_ = 0 PublisherId = 1 GroupHeader = 2 WriterGroupId = 4 @@ -201,7 +210,9 @@ class UadpNetworkMessageContentMask(IntEnum): class UadpDataSetMessageContentMask(IntEnum): - ''' + """ + :ivar None_: + :vartype None_: 0 :ivar Timestamp: :vartype Timestamp: 1 :ivar PicoSeconds: @@ -214,7 +225,8 @@ class UadpDataSetMessageContentMask(IntEnum): :vartype MinorVersion: 16 :ivar SequenceNumber: :vartype SequenceNumber: 32 - ''' + """ + None_ = 0 Timestamp = 1 PicoSeconds = 2 Status = 4 @@ -224,7 +236,9 @@ class UadpDataSetMessageContentMask(IntEnum): class JsonNetworkMessageContentMask(IntEnum): - ''' + """ + :ivar None_: + :vartype None_: 0 :ivar NetworkMessageHeader: :vartype NetworkMessageHeader: 1 :ivar DataSetMessageHeader: @@ -237,7 +251,8 @@ class JsonNetworkMessageContentMask(IntEnum): :vartype DataSetClassId: 16 :ivar ReplyTo: :vartype ReplyTo: 32 - ''' + """ + None_ = 0 NetworkMessageHeader = 1 DataSetMessageHeader = 2 SingleDataSetMessage = 4 @@ -247,7 +262,9 @@ class JsonNetworkMessageContentMask(IntEnum): class JsonDataSetMessageContentMask(IntEnum): - ''' + """ + :ivar None_: + :vartype None_: 0 :ivar DataSetWriterId: :vartype DataSetWriterId: 1 :ivar MetaDataVersion: @@ -258,7 +275,8 @@ class JsonDataSetMessageContentMask(IntEnum): :vartype Timestamp: 8 :ivar Status: :vartype Status: 16 - ''' + """ + None_ = 0 DataSetWriterId = 1 MetaDataVersion = 2 SequenceNumber = 4 @@ -267,7 +285,7 @@ class JsonDataSetMessageContentMask(IntEnum): class BrokerTransportQualityOfService(IntEnum): - ''' + """ :ivar NotSpecified: :vartype NotSpecified: 0 :ivar BestEffort: @@ -278,7 +296,7 @@ class BrokerTransportQualityOfService(IntEnum): :vartype AtMostOnce: 3 :ivar ExactlyOnce: :vartype ExactlyOnce: 4 - ''' + """ NotSpecified = 0 BestEffort = 1 AtLeastOnce = 2 @@ -287,7 +305,7 @@ class BrokerTransportQualityOfService(IntEnum): class DiagnosticsLevel(IntEnum): - ''' + """ :ivar Basic: :vartype Basic: 0 :ivar Advanced: @@ -298,7 +316,7 @@ class DiagnosticsLevel(IntEnum): :vartype Log: 3 :ivar Debug: :vartype Debug: 4 - ''' + """ Basic = 0 Advanced = 1 Info = 2 @@ -307,18 +325,18 @@ class DiagnosticsLevel(IntEnum): class PubSubDiagnosticsCounterClassification(IntEnum): - ''' + """ :ivar Information: :vartype Information: 0 :ivar Error: :vartype Error: 1 - ''' + """ Information = 0 Error = 1 class IdType(IntEnum): - ''' + """ The type of identifier used in a node id. :ivar Numeric: @@ -329,7 +347,7 @@ class IdType(IntEnum): :vartype Guid: 2 :ivar Opaque: :vartype Opaque: 3 - ''' + """ Numeric = 0 String = 1 Guid = 2 @@ -337,7 +355,7 @@ class IdType(IntEnum): class NodeClass(IntEnum): - ''' + """ A mask specifying the class of the node. :ivar Unspecified: @@ -358,7 +376,7 @@ class NodeClass(IntEnum): :vartype DataType: 64 :ivar View: :vartype View: 128 - ''' + """ Unspecified = 0 Object = 1 Variable = 2 @@ -370,8 +388,67 @@ class NodeClass(IntEnum): View = 128 +class PermissionType(IntEnum): + """ + :ivar None_: + :vartype None_: 0 + :ivar Browse: + :vartype Browse: 1 + :ivar ReadRolePermissions: + :vartype ReadRolePermissions: 2 + :ivar WriteAttribute: + :vartype WriteAttribute: 4 + :ivar WriteRolePermissions: + :vartype WriteRolePermissions: 8 + :ivar WriteHistorizing: + :vartype WriteHistorizing: 16 + :ivar Read: + :vartype Read: 32 + :ivar Write: + :vartype Write: 64 + :ivar ReadHistory: + :vartype ReadHistory: 128 + :ivar InsertHistory: + :vartype InsertHistory: 256 + :ivar ModifyHistory: + :vartype ModifyHistory: 512 + :ivar DeleteHistory: + :vartype DeleteHistory: 1024 + :ivar ReceiveEvents: + :vartype ReceiveEvents: 2048 + :ivar Call: + :vartype Call: 4096 + :ivar AddReference: + :vartype AddReference: 8192 + :ivar RemoveReference: + :vartype RemoveReference: 16384 + :ivar DeleteNode: + :vartype DeleteNode: 32768 + :ivar AddNode: + :vartype AddNode: 65536 + """ + None_ = 0 + Browse = 1 + ReadRolePermissions = 2 + WriteAttribute = 4 + WriteRolePermissions = 8 + WriteHistorizing = 16 + Read = 32 + Write = 64 + ReadHistory = 128 + InsertHistory = 256 + ModifyHistory = 512 + DeleteHistory = 1024 + ReceiveEvents = 2048 + Call = 4096 + AddReference = 8192 + RemoveReference = 16384 + DeleteNode = 32768 + AddNode = 65536 + + class AccessLevelType(IntEnum): - ''' + """ :ivar None_: :vartype None_: 0 :ivar CurrentRead: @@ -386,7 +463,7 @@ class AccessLevelType(IntEnum): :vartype StatusWrite: 32 :ivar TimestampWrite: :vartype TimestampWrite: 64 - ''' + """ None_ = 0 CurrentRead = 1 CurrentWrite = 2 @@ -397,7 +474,7 @@ class AccessLevelType(IntEnum): class AccessLevelExType(IntEnum): - ''' + """ :ivar None_: :vartype None_: 0 :ivar CurrentRead: @@ -413,12 +490,12 @@ class AccessLevelExType(IntEnum): :ivar TimestampWrite: :vartype TimestampWrite: 64 :ivar NonatomicRead: - :vartype NonatomicRead: 65536 + :vartype NonatomicRead: 256 :ivar NonatomicWrite: - :vartype NonatomicWrite: 131072 + :vartype NonatomicWrite: 512 :ivar WriteFullArrayOnly: - :vartype WriteFullArrayOnly: 262144 - ''' + :vartype WriteFullArrayOnly: 1024 + """ None_ = 0 CurrentRead = 1 CurrentWrite = 2 @@ -426,13 +503,13 @@ class AccessLevelExType(IntEnum): HistoryWrite = 16 StatusWrite = 32 TimestampWrite = 64 - NonatomicRead = 65536 - NonatomicWrite = 131072 - WriteFullArrayOnly = 262144 + NonatomicRead = 256 + NonatomicWrite = 512 + WriteFullArrayOnly = 1024 class EventNotifierType(IntEnum): - ''' + """ :ivar None_: :vartype None_: 0 :ivar SubscribeToEvents: @@ -441,7 +518,7 @@ class EventNotifierType(IntEnum): :vartype HistoryRead: 4 :ivar HistoryWrite: :vartype HistoryWrite: 8 - ''' + """ None_ = 0 SubscribeToEvents = 1 HistoryRead = 4 @@ -449,21 +526,21 @@ class EventNotifierType(IntEnum): class StructureType(IntEnum): - ''' + """ :ivar Structure: :vartype Structure: 0 :ivar StructureWithOptionalFields: :vartype StructureWithOptionalFields: 1 :ivar Union: :vartype Union: 2 - ''' + """ Structure = 0 StructureWithOptionalFields = 1 Union = 2 class ApplicationType(IntEnum): - ''' + """ The types of applications. :ivar Server: @@ -474,7 +551,7 @@ class ApplicationType(IntEnum): :vartype ClientAndServer: 2 :ivar DiscoveryServer: :vartype DiscoveryServer: 3 - ''' + """ Server = 0 Client = 1 ClientAndServer = 2 @@ -482,7 +559,7 @@ class ApplicationType(IntEnum): class MessageSecurityMode(IntEnum): - ''' + """ The type of security to use on a message. :ivar Invalid: @@ -493,7 +570,7 @@ class MessageSecurityMode(IntEnum): :vartype Sign: 2 :ivar SignAndEncrypt: :vartype SignAndEncrypt: 3 - ''' + """ Invalid = 0 None_ = 1 Sign = 2 @@ -501,7 +578,7 @@ class MessageSecurityMode(IntEnum): class UserTokenType(IntEnum): - ''' + """ The possible user token types. :ivar Anonymous: @@ -512,7 +589,7 @@ class UserTokenType(IntEnum): :vartype Certificate: 2 :ivar IssuedToken: :vartype IssuedToken: 3 - ''' + """ Anonymous = 0 UserName = 1 Certificate = 2 @@ -520,20 +597,20 @@ class UserTokenType(IntEnum): class SecurityTokenRequestType(IntEnum): - ''' + """ Indicates whether a token if being created or renewed. :ivar Issue: :vartype Issue: 0 :ivar Renew: :vartype Renew: 1 - ''' + """ Issue = 0 Renew = 1 class NodeAttributesMask(IntEnum): - ''' + """ The bits used to specify default attributes for a new node. :ivar None_: @@ -606,7 +683,7 @@ class NodeAttributesMask(IntEnum): :vartype ReferenceType: 26537060 :ivar View: :vartype View: 26501356 - ''' + """ None_ = 0 AccessLevel = 1 ArrayDimensions = 2 @@ -645,7 +722,7 @@ class NodeAttributesMask(IntEnum): class AttributeWriteMask(IntEnum): - ''' + """ Define bits used to indicate which attributes are writable. :ivar None_: @@ -702,7 +779,7 @@ class AttributeWriteMask(IntEnum): :vartype AccessRestrictions: 16777216 :ivar AccessLevelEx: :vartype AccessLevelEx: 33554432 - ''' + """ None_ = 0 AccessLevel = 1 ArrayDimensions = 2 @@ -733,7 +810,7 @@ class AttributeWriteMask(IntEnum): class BrowseDirection(IntEnum): - ''' + """ The directions of the references to return. :ivar Forward: @@ -744,7 +821,7 @@ class BrowseDirection(IntEnum): :vartype Both: 2 :ivar Invalid: :vartype Invalid: 3 - ''' + """ Forward = 0 Inverse = 1 Both = 2 @@ -752,7 +829,7 @@ class BrowseDirection(IntEnum): class BrowseResultMask(IntEnum): - ''' + """ A bit mask which specifies what should be returned in a browse response. :ivar None_: @@ -775,7 +852,7 @@ class BrowseResultMask(IntEnum): :vartype ReferenceTypeInfo: 3 :ivar TargetInfo: :vartype TargetInfo: 60 - ''' + """ None_ = 0 ReferenceTypeId = 1 IsForward = 2 @@ -789,7 +866,7 @@ class BrowseResultMask(IntEnum): class FilterOperator(IntEnum): - ''' + """ :ivar Equals: :vartype Equals: 0 :ivar IsNull: @@ -826,7 +903,7 @@ class FilterOperator(IntEnum): :vartype BitwiseAnd: 16 :ivar BitwiseOr: :vartype BitwiseOr: 17 - ''' + """ Equals = 0 IsNull = 1 GreaterThan = 2 @@ -848,7 +925,7 @@ class FilterOperator(IntEnum): class TimestampsToReturn(IntEnum): - ''' + """ :ivar Source: :vartype Source: 0 :ivar Server: @@ -859,7 +936,7 @@ class TimestampsToReturn(IntEnum): :vartype Neither: 3 :ivar Invalid: :vartype Invalid: 4 - ''' + """ Source = 0 Server = 1 Both = 2 @@ -868,7 +945,7 @@ class TimestampsToReturn(IntEnum): class HistoryUpdateType(IntEnum): - ''' + """ :ivar Insert: :vartype Insert: 1 :ivar Replace: @@ -877,7 +954,7 @@ class HistoryUpdateType(IntEnum): :vartype Update: 3 :ivar Delete: :vartype Delete: 4 - ''' + """ Insert = 1 Replace = 2 Update = 3 @@ -885,7 +962,7 @@ class HistoryUpdateType(IntEnum): class PerformUpdateType(IntEnum): - ''' + """ :ivar Insert: :vartype Insert: 1 :ivar Replace: @@ -894,7 +971,7 @@ class PerformUpdateType(IntEnum): :vartype Update: 3 :ivar Remove: :vartype Remove: 4 - ''' + """ Insert = 1 Replace = 2 Update = 3 @@ -902,49 +979,49 @@ class PerformUpdateType(IntEnum): class MonitoringMode(IntEnum): - ''' + """ :ivar Disabled: :vartype Disabled: 0 :ivar Sampling: :vartype Sampling: 1 :ivar Reporting: :vartype Reporting: 2 - ''' + """ Disabled = 0 Sampling = 1 Reporting = 2 class DataChangeTrigger(IntEnum): - ''' + """ :ivar Status: :vartype Status: 0 :ivar StatusValue: :vartype StatusValue: 1 :ivar StatusValueTimestamp: :vartype StatusValueTimestamp: 2 - ''' + """ Status = 0 StatusValue = 1 StatusValueTimestamp = 2 class DeadbandType(IntEnum): - ''' + """ :ivar None_: :vartype None_: 0 :ivar Absolute: :vartype Absolute: 1 :ivar Percent: :vartype Percent: 2 - ''' + """ None_ = 0 Absolute = 1 Percent = 2 class RedundancySupport(IntEnum): - ''' + """ :ivar None_: :vartype None_: 0 :ivar Cold: @@ -957,7 +1034,7 @@ class RedundancySupport(IntEnum): :vartype Transparent: 4 :ivar HotAndMirrored: :vartype HotAndMirrored: 5 - ''' + """ None_ = 0 Cold = 1 Warm = 2 @@ -967,7 +1044,7 @@ class RedundancySupport(IntEnum): class ServerState(IntEnum): - ''' + """ :ivar Running: :vartype Running: 0 :ivar Failed: @@ -984,7 +1061,7 @@ class ServerState(IntEnum): :vartype CommunicationFault: 6 :ivar Unknown: :vartype Unknown: 7 - ''' + """ Running = 0 Failed = 1 NoConfiguration = 2 @@ -996,7 +1073,7 @@ class ServerState(IntEnum): class ModelChangeStructureVerbMask(IntEnum): - ''' + """ :ivar NodeAdded: :vartype NodeAdded: 1 :ivar NodeDeleted: @@ -1007,7 +1084,7 @@ class ModelChangeStructureVerbMask(IntEnum): :vartype ReferenceDeleted: 8 :ivar DataTypeChanged: :vartype DataTypeChanged: 16 - ''' + """ NodeAdded = 1 NodeDeleted = 2 ReferenceAdded = 4 @@ -1016,21 +1093,21 @@ class ModelChangeStructureVerbMask(IntEnum): class AxisScaleEnumeration(IntEnum): - ''' + """ :ivar Linear: :vartype Linear: 0 :ivar Log: :vartype Log: 1 :ivar Ln: :vartype Ln: 2 - ''' + """ Linear = 0 Log = 1 Ln = 2 class ExceptionDeviationFormat(IntEnum): - ''' + """ :ivar AbsoluteValue: :vartype AbsoluteValue: 0 :ivar PercentOfValue: @@ -1041,7 +1118,7 @@ class ExceptionDeviationFormat(IntEnum): :vartype PercentOfEURange: 3 :ivar Unknown: :vartype Unknown: 4 - ''' + """ AbsoluteValue = 0 PercentOfValue = 1 PercentOfRange = 2 @@ -1050,8 +1127,8 @@ class ExceptionDeviationFormat(IntEnum): class DataTypeDefinition(FrozenClass): - ''' - ''' + """ + """ ua_types = [ ] @@ -1060,13 +1137,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DataTypeDefinition(' + + ')' + return 'DataTypeDefinition()' __repr__ = __str__ class DiagnosticInfo(FrozenClass): - ''' + """ A recursive structure containing diagnostic information associated with a status code. :ivar Encoding: @@ -1085,7 +1162,7 @@ class DiagnosticInfo(FrozenClass): :vartype InnerStatusCode: StatusCode :ivar InnerDiagnosticInfo: :vartype InnerDiagnosticInfo: DiagnosticInfo - ''' + """ ua_switches = { 'SymbolicId': ('Encoding', 0), @@ -1119,25 +1196,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DiagnosticInfo(' + 'Encoding:' + str(self.Encoding) + ', ' + \ - 'SymbolicId:' + str(self.SymbolicId) + ', ' + \ - 'NamespaceURI:' + str(self.NamespaceURI) + ', ' + \ - 'Locale:' + str(self.Locale) + ', ' + \ - 'LocalizedText:' + str(self.LocalizedText) + ', ' + \ - 'AdditionalInfo:' + str(self.AdditionalInfo) + ', ' + \ - 'InnerStatusCode:' + str(self.InnerStatusCode) + ', ' + \ - 'InnerDiagnosticInfo:' + str(self.InnerDiagnosticInfo) + ')' + return f'DiagnosticInfo(Encoding:{self.Encoding}, SymbolicId:{self.SymbolicId}, NamespaceURI:{self.NamespaceURI}, Locale:{self.Locale}, LocalizedText:{self.LocalizedText}, AdditionalInfo:{self.AdditionalInfo}, InnerStatusCode:{self.InnerStatusCode}, InnerDiagnosticInfo:{self.InnerDiagnosticInfo})' __repr__ = __str__ class KeyValuePair(FrozenClass): - ''' + """ :ivar Key: :vartype Key: QualifiedName :ivar Value: :vartype Value: Variant - ''' + """ ua_types = [ ('Key', 'QualifiedName'), @@ -1150,14 +1220,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'KeyValuePair(' + 'Key:' + str(self.Key) + ', ' + \ - 'Value:' + str(self.Value) + ')' + return f'KeyValuePair(Key:{self.Key}, Value:{self.Value})' __repr__ = __str__ class EndpointType(FrozenClass): - ''' + """ :ivar EndpointUrl: :vartype EndpointUrl: String :ivar SecurityMode: @@ -1166,7 +1235,7 @@ class EndpointType(FrozenClass): :vartype SecurityPolicyUri: String :ivar TransportProfileUri: :vartype TransportProfileUri: String - ''' + """ ua_types = [ ('EndpointUrl', 'String'), @@ -1183,21 +1252,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'EndpointType(' + 'EndpointUrl:' + str(self.EndpointUrl) + ', ' + \ - 'SecurityMode:' + str(self.SecurityMode) + ', ' + \ - 'SecurityPolicyUri:' + str(self.SecurityPolicyUri) + ', ' + \ - 'TransportProfileUri:' + str(self.TransportProfileUri) + ')' + return f'EndpointType(EndpointUrl:{self.EndpointUrl}, SecurityMode:{self.SecurityMode}, SecurityPolicyUri:{self.SecurityPolicyUri}, TransportProfileUri:{self.TransportProfileUri})' __repr__ = __str__ class IdentityMappingRuleType(FrozenClass): - ''' + """ :ivar CriteriaType: :vartype CriteriaType: IdentityCriteriaType :ivar Criteria: :vartype Criteria: String - ''' + """ ua_types = [ ('CriteriaType', 'IdentityCriteriaType'), @@ -1210,14 +1276,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'IdentityMappingRuleType(' + 'CriteriaType:' + str(self.CriteriaType) + ', ' + \ - 'Criteria:' + str(self.Criteria) + ')' + return f'IdentityMappingRuleType(CriteriaType:{self.CriteriaType}, Criteria:{self.Criteria})' __repr__ = __str__ class TrustListDataType(FrozenClass): - ''' + """ :ivar SpecifiedLists: :vartype SpecifiedLists: UInt32 :ivar TrustedCertificates: @@ -1228,7 +1293,7 @@ class TrustListDataType(FrozenClass): :vartype IssuerCertificates: ByteString :ivar IssuerCrls: :vartype IssuerCrls: ByteString - ''' + """ ua_types = [ ('SpecifiedLists', 'UInt32'), @@ -1247,22 +1312,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'TrustListDataType(' + 'SpecifiedLists:' + str(self.SpecifiedLists) + ', ' + \ - 'TrustedCertificates:' + str(self.TrustedCertificates) + ', ' + \ - 'TrustedCrls:' + str(self.TrustedCrls) + ', ' + \ - 'IssuerCertificates:' + str(self.IssuerCertificates) + ', ' + \ - 'IssuerCrls:' + str(self.IssuerCrls) + ')' + return f'TrustListDataType(SpecifiedLists:{self.SpecifiedLists}, TrustedCertificates:{self.TrustedCertificates}, TrustedCrls:{self.TrustedCrls}, IssuerCertificates:{self.IssuerCertificates}, IssuerCrls:{self.IssuerCrls})' __repr__ = __str__ class DecimalDataType(FrozenClass): - ''' + """ :ivar Scale: :vartype Scale: Int16 :ivar Value: :vartype Value: ByteString - ''' + """ ua_types = [ ('Scale', 'Int16'), @@ -1275,14 +1336,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DecimalDataType(' + 'Scale:' + str(self.Scale) + ', ' + \ - 'Value:' + str(self.Value) + ')' + return f'DecimalDataType(Scale:{self.Scale}, Value:{self.Value})' __repr__ = __str__ class DataTypeSchemaHeader(FrozenClass): - ''' + """ :ivar Namespaces: :vartype Namespaces: String :ivar StructureDataTypes: @@ -1291,7 +1351,7 @@ class DataTypeSchemaHeader(FrozenClass): :vartype EnumDataTypes: EnumDescription :ivar SimpleDataTypes: :vartype SimpleDataTypes: SimpleTypeDescription - ''' + """ ua_types = [ ('Namespaces', 'ListOfString'), @@ -1308,21 +1368,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DataTypeSchemaHeader(' + 'Namespaces:' + str(self.Namespaces) + ', ' + \ - 'StructureDataTypes:' + str(self.StructureDataTypes) + ', ' + \ - 'EnumDataTypes:' + str(self.EnumDataTypes) + ', ' + \ - 'SimpleDataTypes:' + str(self.SimpleDataTypes) + ')' + return f'DataTypeSchemaHeader(Namespaces:{self.Namespaces}, StructureDataTypes:{self.StructureDataTypes}, EnumDataTypes:{self.EnumDataTypes}, SimpleDataTypes:{self.SimpleDataTypes})' __repr__ = __str__ class DataTypeDescription(FrozenClass): - ''' + """ :ivar DataTypeId: :vartype DataTypeId: NodeId :ivar Name: :vartype Name: QualifiedName - ''' + """ ua_types = [ ('DataTypeId', 'NodeId'), @@ -1335,21 +1392,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DataTypeDescription(' + 'DataTypeId:' + str(self.DataTypeId) + ', ' + \ - 'Name:' + str(self.Name) + ')' + return f'DataTypeDescription(DataTypeId:{self.DataTypeId}, Name:{self.Name})' __repr__ = __str__ class StructureDescription(FrozenClass): - ''' + """ :ivar DataTypeId: :vartype DataTypeId: NodeId :ivar Name: :vartype Name: QualifiedName :ivar StructureDefinition: :vartype StructureDefinition: StructureDefinition - ''' + """ ua_types = [ ('DataTypeId', 'NodeId'), @@ -1364,15 +1420,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'StructureDescription(' + 'DataTypeId:' + str(self.DataTypeId) + ', ' + \ - 'Name:' + str(self.Name) + ', ' + \ - 'StructureDefinition:' + str(self.StructureDefinition) + ')' + return f'StructureDescription(DataTypeId:{self.DataTypeId}, Name:{self.Name}, StructureDefinition:{self.StructureDefinition})' __repr__ = __str__ class EnumDescription(FrozenClass): - ''' + """ :ivar DataTypeId: :vartype DataTypeId: NodeId :ivar Name: @@ -1381,7 +1435,7 @@ class EnumDescription(FrozenClass): :vartype EnumDefinition: EnumDefinition :ivar BuiltInType: :vartype BuiltInType: Byte - ''' + """ ua_types = [ ('DataTypeId', 'NodeId'), @@ -1398,16 +1452,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'EnumDescription(' + 'DataTypeId:' + str(self.DataTypeId) + ', ' + \ - 'Name:' + str(self.Name) + ', ' + \ - 'EnumDefinition:' + str(self.EnumDefinition) + ', ' + \ - 'BuiltInType:' + str(self.BuiltInType) + ')' + return f'EnumDescription(DataTypeId:{self.DataTypeId}, Name:{self.Name}, EnumDefinition:{self.EnumDefinition}, BuiltInType:{self.BuiltInType})' __repr__ = __str__ class SimpleTypeDescription(FrozenClass): - ''' + """ :ivar DataTypeId: :vartype DataTypeId: NodeId :ivar Name: @@ -1416,7 +1467,7 @@ class SimpleTypeDescription(FrozenClass): :vartype BaseDataType: NodeId :ivar BuiltInType: :vartype BuiltInType: Byte - ''' + """ ua_types = [ ('DataTypeId', 'NodeId'), @@ -1433,16 +1484,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SimpleTypeDescription(' + 'DataTypeId:' + str(self.DataTypeId) + ', ' + \ - 'Name:' + str(self.Name) + ', ' + \ - 'BaseDataType:' + str(self.BaseDataType) + ', ' + \ - 'BuiltInType:' + str(self.BuiltInType) + ')' + return f'SimpleTypeDescription(DataTypeId:{self.DataTypeId}, Name:{self.Name}, BaseDataType:{self.BaseDataType}, BuiltInType:{self.BuiltInType})' __repr__ = __str__ class UABinaryFileDataType(FrozenClass): - ''' + """ :ivar Namespaces: :vartype Namespaces: String :ivar StructureDataTypes: @@ -1457,7 +1505,7 @@ class UABinaryFileDataType(FrozenClass): :vartype FileHeader: KeyValuePair :ivar Body: :vartype Body: Variant - ''' + """ ua_types = [ ('Namespaces', 'ListOfString'), @@ -1480,19 +1528,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'UABinaryFileDataType(' + 'Namespaces:' + str(self.Namespaces) + ', ' + \ - 'StructureDataTypes:' + str(self.StructureDataTypes) + ', ' + \ - 'EnumDataTypes:' + str(self.EnumDataTypes) + ', ' + \ - 'SimpleDataTypes:' + str(self.SimpleDataTypes) + ', ' + \ - 'SchemaLocation:' + str(self.SchemaLocation) + ', ' + \ - 'FileHeader:' + str(self.FileHeader) + ', ' + \ - 'Body:' + str(self.Body) + ')' + return f'UABinaryFileDataType(Namespaces:{self.Namespaces}, StructureDataTypes:{self.StructureDataTypes}, EnumDataTypes:{self.EnumDataTypes}, SimpleDataTypes:{self.SimpleDataTypes}, SchemaLocation:{self.SchemaLocation}, FileHeader:{self.FileHeader}, Body:{self.Body})' __repr__ = __str__ class DataSetMetaDataType(FrozenClass): - ''' + """ :ivar Namespaces: :vartype Namespaces: String :ivar StructureDataTypes: @@ -1511,7 +1553,7 @@ class DataSetMetaDataType(FrozenClass): :vartype DataSetClassId: Guid :ivar ConfigurationVersion: :vartype ConfigurationVersion: ConfigurationVersionDataType - ''' + """ ua_types = [ ('Namespaces', 'ListOfString'), @@ -1538,21 +1580,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DataSetMetaDataType(' + 'Namespaces:' + str(self.Namespaces) + ', ' + \ - 'StructureDataTypes:' + str(self.StructureDataTypes) + ', ' + \ - 'EnumDataTypes:' + str(self.EnumDataTypes) + ', ' + \ - 'SimpleDataTypes:' + str(self.SimpleDataTypes) + ', ' + \ - 'Name:' + str(self.Name) + ', ' + \ - 'Description:' + str(self.Description) + ', ' + \ - 'Fields:' + str(self.Fields) + ', ' + \ - 'DataSetClassId:' + str(self.DataSetClassId) + ', ' + \ - 'ConfigurationVersion:' + str(self.ConfigurationVersion) + ')' + return f'DataSetMetaDataType(Namespaces:{self.Namespaces}, StructureDataTypes:{self.StructureDataTypes}, EnumDataTypes:{self.EnumDataTypes}, SimpleDataTypes:{self.SimpleDataTypes}, Name:{self.Name}, Description:{self.Description}, Fields:{self.Fields}, DataSetClassId:{self.DataSetClassId}, ConfigurationVersion:{self.ConfigurationVersion})' __repr__ = __str__ class FieldMetaData(FrozenClass): - ''' + """ :ivar Name: :vartype Name: String :ivar Description: @@ -1573,7 +1607,7 @@ class FieldMetaData(FrozenClass): :vartype DataSetFieldId: Guid :ivar Properties: :vartype Properties: KeyValuePair - ''' + """ ua_types = [ ('Name', 'String'), @@ -1602,27 +1636,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'FieldMetaData(' + 'Name:' + str(self.Name) + ', ' + \ - 'Description:' + str(self.Description) + ', ' + \ - 'FieldFlags:' + str(self.FieldFlags) + ', ' + \ - 'BuiltInType:' + str(self.BuiltInType) + ', ' + \ - 'DataType:' + str(self.DataType) + ', ' + \ - 'ValueRank:' + str(self.ValueRank) + ', ' + \ - 'ArrayDimensions:' + str(self.ArrayDimensions) + ', ' + \ - 'MaxStringLength:' + str(self.MaxStringLength) + ', ' + \ - 'DataSetFieldId:' + str(self.DataSetFieldId) + ', ' + \ - 'Properties:' + str(self.Properties) + ')' + return f'FieldMetaData(Name:{self.Name}, Description:{self.Description}, FieldFlags:{self.FieldFlags}, BuiltInType:{self.BuiltInType}, DataType:{self.DataType}, ValueRank:{self.ValueRank}, ArrayDimensions:{self.ArrayDimensions}, MaxStringLength:{self.MaxStringLength}, DataSetFieldId:{self.DataSetFieldId}, Properties:{self.Properties})' __repr__ = __str__ class ConfigurationVersionDataType(FrozenClass): - ''' + """ :ivar MajorVersion: :vartype MajorVersion: UInt32 :ivar MinorVersion: :vartype MinorVersion: UInt32 - ''' + """ ua_types = [ ('MajorVersion', 'UInt32'), @@ -1635,14 +1660,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ConfigurationVersionDataType(' + 'MajorVersion:' + str(self.MajorVersion) + ', ' + \ - 'MinorVersion:' + str(self.MinorVersion) + ')' + return f'ConfigurationVersionDataType(MajorVersion:{self.MajorVersion}, MinorVersion:{self.MinorVersion})' __repr__ = __str__ class PublishedDataSetDataType(FrozenClass): - ''' + """ :ivar Name: :vartype Name: String :ivar DataSetFolder: @@ -1653,7 +1677,7 @@ class PublishedDataSetDataType(FrozenClass): :vartype ExtensionFields: KeyValuePair :ivar DataSetSource: :vartype DataSetSource: ExtensionObject - ''' + """ ua_types = [ ('Name', 'String'), @@ -1672,18 +1696,14 @@ def __init__(self): self._freeze = True def __str__(self): - return 'PublishedDataSetDataType(' + 'Name:' + str(self.Name) + ', ' + \ - 'DataSetFolder:' + str(self.DataSetFolder) + ', ' + \ - 'DataSetMetaData:' + str(self.DataSetMetaData) + ', ' + \ - 'ExtensionFields:' + str(self.ExtensionFields) + ', ' + \ - 'DataSetSource:' + str(self.DataSetSource) + ')' + return f'PublishedDataSetDataType(Name:{self.Name}, DataSetFolder:{self.DataSetFolder}, DataSetMetaData:{self.DataSetMetaData}, ExtensionFields:{self.ExtensionFields}, DataSetSource:{self.DataSetSource})' __repr__ = __str__ class PublishedDataSetSourceDataType(FrozenClass): - ''' - ''' + """ + """ ua_types = [ ] @@ -1692,13 +1712,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'PublishedDataSetSourceDataType(' + + ')' + return 'PublishedDataSetSourceDataType()' __repr__ = __str__ class PublishedVariableDataType(FrozenClass): - ''' + """ :ivar PublishedVariable: :vartype PublishedVariable: NodeId :ivar AttributeId: @@ -1715,7 +1735,7 @@ class PublishedVariableDataType(FrozenClass): :vartype SubstituteValue: Variant :ivar MetaDataProperties: :vartype MetaDataProperties: QualifiedName - ''' + """ ua_types = [ ('PublishedVariable', 'NodeId'), @@ -1740,23 +1760,16 @@ def __init__(self): self._freeze = True def __str__(self): - return 'PublishedVariableDataType(' + 'PublishedVariable:' + str(self.PublishedVariable) + ', ' + \ - 'AttributeId:' + str(self.AttributeId) + ', ' + \ - 'SamplingIntervalHint:' + str(self.SamplingIntervalHint) + ', ' + \ - 'DeadbandType:' + str(self.DeadbandType) + ', ' + \ - 'DeadbandValue:' + str(self.DeadbandValue) + ', ' + \ - 'IndexRange:' + str(self.IndexRange) + ', ' + \ - 'SubstituteValue:' + str(self.SubstituteValue) + ', ' + \ - 'MetaDataProperties:' + str(self.MetaDataProperties) + ')' + return f'PublishedVariableDataType(PublishedVariable:{self.PublishedVariable}, AttributeId:{self.AttributeId}, SamplingIntervalHint:{self.SamplingIntervalHint}, DeadbandType:{self.DeadbandType}, DeadbandValue:{self.DeadbandValue}, IndexRange:{self.IndexRange}, SubstituteValue:{self.SubstituteValue}, MetaDataProperties:{self.MetaDataProperties})' __repr__ = __str__ class PublishedDataItemsDataType(FrozenClass): - ''' + """ :ivar PublishedData: :vartype PublishedData: PublishedVariableDataType - ''' + """ ua_types = [ ('PublishedData', 'ListOfPublishedVariableDataType'), @@ -1767,20 +1780,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'PublishedDataItemsDataType(' + 'PublishedData:' + str(self.PublishedData) + ')' + return f'PublishedDataItemsDataType(PublishedData:{self.PublishedData})' __repr__ = __str__ class PublishedEventsDataType(FrozenClass): - ''' + """ :ivar EventNotifier: :vartype EventNotifier: NodeId :ivar SelectedFields: :vartype SelectedFields: SimpleAttributeOperand :ivar Filter: :vartype Filter: ContentFilter - ''' + """ ua_types = [ ('EventNotifier', 'NodeId'), @@ -1795,15 +1808,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'PublishedEventsDataType(' + 'EventNotifier:' + str(self.EventNotifier) + ', ' + \ - 'SelectedFields:' + str(self.SelectedFields) + ', ' + \ - 'Filter:' + str(self.Filter) + ')' + return f'PublishedEventsDataType(EventNotifier:{self.EventNotifier}, SelectedFields:{self.SelectedFields}, Filter:{self.Filter})' __repr__ = __str__ class DataSetWriterDataType(FrozenClass): - ''' + """ :ivar Name: :vartype Name: String :ivar Enabled: @@ -1822,7 +1833,7 @@ class DataSetWriterDataType(FrozenClass): :vartype TransportSettings: ExtensionObject :ivar MessageSettings: :vartype MessageSettings: ExtensionObject - ''' + """ ua_types = [ ('Name', 'String'), @@ -1849,22 +1860,14 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DataSetWriterDataType(' + 'Name:' + str(self.Name) + ', ' + \ - 'Enabled:' + str(self.Enabled) + ', ' + \ - 'DataSetWriterId:' + str(self.DataSetWriterId) + ', ' + \ - 'DataSetFieldContentMask:' + str(self.DataSetFieldContentMask) + ', ' + \ - 'KeyFrameCount:' + str(self.KeyFrameCount) + ', ' + \ - 'DataSetName:' + str(self.DataSetName) + ', ' + \ - 'DataSetWriterProperties:' + str(self.DataSetWriterProperties) + ', ' + \ - 'TransportSettings:' + str(self.TransportSettings) + ', ' + \ - 'MessageSettings:' + str(self.MessageSettings) + ')' + return f'DataSetWriterDataType(Name:{self.Name}, Enabled:{self.Enabled}, DataSetWriterId:{self.DataSetWriterId}, DataSetFieldContentMask:{self.DataSetFieldContentMask}, KeyFrameCount:{self.KeyFrameCount}, DataSetName:{self.DataSetName}, DataSetWriterProperties:{self.DataSetWriterProperties}, TransportSettings:{self.TransportSettings}, MessageSettings:{self.MessageSettings})' __repr__ = __str__ class DataSetWriterTransportDataType(FrozenClass): - ''' - ''' + """ + """ ua_types = [ ] @@ -1873,14 +1876,14 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DataSetWriterTransportDataType(' + + ')' + return 'DataSetWriterTransportDataType()' __repr__ = __str__ class DataSetWriterMessageDataType(FrozenClass): - ''' - ''' + """ + """ ua_types = [ ] @@ -1889,13 +1892,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DataSetWriterMessageDataType(' + + ')' + return 'DataSetWriterMessageDataType()' __repr__ = __str__ class PubSubGroupDataType(FrozenClass): - ''' + """ :ivar Name: :vartype Name: String :ivar Enabled: @@ -1910,7 +1913,7 @@ class PubSubGroupDataType(FrozenClass): :vartype MaxNetworkMessageSize: UInt32 :ivar GroupProperties: :vartype GroupProperties: KeyValuePair - ''' + """ ua_types = [ ('Name', 'String'), @@ -1933,19 +1936,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'PubSubGroupDataType(' + 'Name:' + str(self.Name) + ', ' + \ - 'Enabled:' + str(self.Enabled) + ', ' + \ - 'SecurityMode:' + str(self.SecurityMode) + ', ' + \ - 'SecurityGroupId:' + str(self.SecurityGroupId) + ', ' + \ - 'SecurityKeyServices:' + str(self.SecurityKeyServices) + ', ' + \ - 'MaxNetworkMessageSize:' + str(self.MaxNetworkMessageSize) + ', ' + \ - 'GroupProperties:' + str(self.GroupProperties) + ')' + return f'PubSubGroupDataType(Name:{self.Name}, Enabled:{self.Enabled}, SecurityMode:{self.SecurityMode}, SecurityGroupId:{self.SecurityGroupId}, SecurityKeyServices:{self.SecurityKeyServices}, MaxNetworkMessageSize:{self.MaxNetworkMessageSize}, GroupProperties:{self.GroupProperties})' __repr__ = __str__ class WriterGroupDataType(FrozenClass): - ''' + """ :ivar Name: :vartype Name: String :ivar Enabled: @@ -1976,7 +1973,7 @@ class WriterGroupDataType(FrozenClass): :vartype MessageSettings: ExtensionObject :ivar DataSetWriters: :vartype DataSetWriters: DataSetWriterDataType - ''' + """ ua_types = [ ('Name', 'String'), @@ -2015,28 +2012,14 @@ def __init__(self): self._freeze = True def __str__(self): - return 'WriterGroupDataType(' + 'Name:' + str(self.Name) + ', ' + \ - 'Enabled:' + str(self.Enabled) + ', ' + \ - 'SecurityMode:' + str(self.SecurityMode) + ', ' + \ - 'SecurityGroupId:' + str(self.SecurityGroupId) + ', ' + \ - 'SecurityKeyServices:' + str(self.SecurityKeyServices) + ', ' + \ - 'MaxNetworkMessageSize:' + str(self.MaxNetworkMessageSize) + ', ' + \ - 'GroupProperties:' + str(self.GroupProperties) + ', ' + \ - 'WriterGroupId:' + str(self.WriterGroupId) + ', ' + \ - 'PublishingInterval:' + str(self.PublishingInterval) + ', ' + \ - 'KeepAliveTime:' + str(self.KeepAliveTime) + ', ' + \ - 'Priority:' + str(self.Priority) + ', ' + \ - 'LocaleIds:' + str(self.LocaleIds) + ', ' + \ - 'TransportSettings:' + str(self.TransportSettings) + ', ' + \ - 'MessageSettings:' + str(self.MessageSettings) + ', ' + \ - 'DataSetWriters:' + str(self.DataSetWriters) + ')' + return f'WriterGroupDataType(Name:{self.Name}, Enabled:{self.Enabled}, SecurityMode:{self.SecurityMode}, SecurityGroupId:{self.SecurityGroupId}, SecurityKeyServices:{self.SecurityKeyServices}, MaxNetworkMessageSize:{self.MaxNetworkMessageSize}, GroupProperties:{self.GroupProperties}, WriterGroupId:{self.WriterGroupId}, PublishingInterval:{self.PublishingInterval}, KeepAliveTime:{self.KeepAliveTime}, Priority:{self.Priority}, LocaleIds:{self.LocaleIds}, TransportSettings:{self.TransportSettings}, MessageSettings:{self.MessageSettings}, DataSetWriters:{self.DataSetWriters})' __repr__ = __str__ class WriterGroupTransportDataType(FrozenClass): - ''' - ''' + """ + """ ua_types = [ ] @@ -2045,14 +2028,14 @@ def __init__(self): self._freeze = True def __str__(self): - return 'WriterGroupTransportDataType(' + + ')' + return 'WriterGroupTransportDataType()' __repr__ = __str__ class WriterGroupMessageDataType(FrozenClass): - ''' - ''' + """ + """ ua_types = [ ] @@ -2061,13 +2044,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'WriterGroupMessageDataType(' + + ')' + return 'WriterGroupMessageDataType()' __repr__ = __str__ class PubSubConnectionDataType(FrozenClass): - ''' + """ :ivar Name: :vartype Name: String :ivar Enabled: @@ -2086,7 +2069,7 @@ class PubSubConnectionDataType(FrozenClass): :vartype WriterGroups: WriterGroupDataType :ivar ReaderGroups: :vartype ReaderGroups: ReaderGroupDataType - ''' + """ ua_types = [ ('Name', 'String'), @@ -2113,22 +2096,14 @@ def __init__(self): self._freeze = True def __str__(self): - return 'PubSubConnectionDataType(' + 'Name:' + str(self.Name) + ', ' + \ - 'Enabled:' + str(self.Enabled) + ', ' + \ - 'PublisherId:' + str(self.PublisherId) + ', ' + \ - 'TransportProfileUri:' + str(self.TransportProfileUri) + ', ' + \ - 'Address:' + str(self.Address) + ', ' + \ - 'ConnectionProperties:' + str(self.ConnectionProperties) + ', ' + \ - 'TransportSettings:' + str(self.TransportSettings) + ', ' + \ - 'WriterGroups:' + str(self.WriterGroups) + ', ' + \ - 'ReaderGroups:' + str(self.ReaderGroups) + ')' + return f'PubSubConnectionDataType(Name:{self.Name}, Enabled:{self.Enabled}, PublisherId:{self.PublisherId}, TransportProfileUri:{self.TransportProfileUri}, Address:{self.Address}, ConnectionProperties:{self.ConnectionProperties}, TransportSettings:{self.TransportSettings}, WriterGroups:{self.WriterGroups}, ReaderGroups:{self.ReaderGroups})' __repr__ = __str__ class ConnectionTransportDataType(FrozenClass): - ''' - ''' + """ + """ ua_types = [ ] @@ -2137,16 +2112,16 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ConnectionTransportDataType(' + + ')' + return 'ConnectionTransportDataType()' __repr__ = __str__ class NetworkAddressDataType(FrozenClass): - ''' + """ :ivar NetworkInterface: :vartype NetworkInterface: String - ''' + """ ua_types = [ ('NetworkInterface', 'String'), @@ -2157,18 +2132,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'NetworkAddressDataType(' + 'NetworkInterface:' + str(self.NetworkInterface) + ')' + return f'NetworkAddressDataType(NetworkInterface:{self.NetworkInterface})' __repr__ = __str__ class NetworkAddressUrlDataType(FrozenClass): - ''' + """ :ivar NetworkInterface: :vartype NetworkInterface: String :ivar Url: :vartype Url: String - ''' + """ ua_types = [ ('NetworkInterface', 'String'), @@ -2181,14 +2156,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'NetworkAddressUrlDataType(' + 'NetworkInterface:' + str(self.NetworkInterface) + ', ' + \ - 'Url:' + str(self.Url) + ')' + return f'NetworkAddressUrlDataType(NetworkInterface:{self.NetworkInterface}, Url:{self.Url})' __repr__ = __str__ class ReaderGroupDataType(FrozenClass): - ''' + """ :ivar Name: :vartype Name: String :ivar Enabled: @@ -2209,7 +2183,7 @@ class ReaderGroupDataType(FrozenClass): :vartype MessageSettings: ExtensionObject :ivar DataSetReaders: :vartype DataSetReaders: DataSetReaderDataType - ''' + """ ua_types = [ ('Name', 'String'), @@ -2238,23 +2212,14 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ReaderGroupDataType(' + 'Name:' + str(self.Name) + ', ' + \ - 'Enabled:' + str(self.Enabled) + ', ' + \ - 'SecurityMode:' + str(self.SecurityMode) + ', ' + \ - 'SecurityGroupId:' + str(self.SecurityGroupId) + ', ' + \ - 'SecurityKeyServices:' + str(self.SecurityKeyServices) + ', ' + \ - 'MaxNetworkMessageSize:' + str(self.MaxNetworkMessageSize) + ', ' + \ - 'GroupProperties:' + str(self.GroupProperties) + ', ' + \ - 'TransportSettings:' + str(self.TransportSettings) + ', ' + \ - 'MessageSettings:' + str(self.MessageSettings) + ', ' + \ - 'DataSetReaders:' + str(self.DataSetReaders) + ')' + return f'ReaderGroupDataType(Name:{self.Name}, Enabled:{self.Enabled}, SecurityMode:{self.SecurityMode}, SecurityGroupId:{self.SecurityGroupId}, SecurityKeyServices:{self.SecurityKeyServices}, MaxNetworkMessageSize:{self.MaxNetworkMessageSize}, GroupProperties:{self.GroupProperties}, TransportSettings:{self.TransportSettings}, MessageSettings:{self.MessageSettings}, DataSetReaders:{self.DataSetReaders})' __repr__ = __str__ class ReaderGroupTransportDataType(FrozenClass): - ''' - ''' + """ + """ ua_types = [ ] @@ -2263,14 +2228,14 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ReaderGroupTransportDataType(' + + ')' + return 'ReaderGroupTransportDataType()' __repr__ = __str__ class ReaderGroupMessageDataType(FrozenClass): - ''' - ''' + """ + """ ua_types = [ ] @@ -2279,13 +2244,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ReaderGroupMessageDataType(' + + ')' + return 'ReaderGroupMessageDataType()' __repr__ = __str__ class DataSetReaderDataType(FrozenClass): - ''' + """ :ivar Name: :vartype Name: String :ivar Enabled: @@ -2316,7 +2281,7 @@ class DataSetReaderDataType(FrozenClass): :vartype MessageSettings: ExtensionObject :ivar SubscribedDataSet: :vartype SubscribedDataSet: ExtensionObject - ''' + """ ua_types = [ ('Name', 'String'), @@ -2355,28 +2320,14 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DataSetReaderDataType(' + 'Name:' + str(self.Name) + ', ' + \ - 'Enabled:' + str(self.Enabled) + ', ' + \ - 'PublisherId:' + str(self.PublisherId) + ', ' + \ - 'WriterGroupId:' + str(self.WriterGroupId) + ', ' + \ - 'DataSetWriterId:' + str(self.DataSetWriterId) + ', ' + \ - 'DataSetMetaData:' + str(self.DataSetMetaData) + ', ' + \ - 'DataSetFieldContentMask:' + str(self.DataSetFieldContentMask) + ', ' + \ - 'MessageReceiveTimeout:' + str(self.MessageReceiveTimeout) + ', ' + \ - 'SecurityMode:' + str(self.SecurityMode) + ', ' + \ - 'SecurityGroupId:' + str(self.SecurityGroupId) + ', ' + \ - 'SecurityKeyServices:' + str(self.SecurityKeyServices) + ', ' + \ - 'DataSetReaderProperties:' + str(self.DataSetReaderProperties) + ', ' + \ - 'TransportSettings:' + str(self.TransportSettings) + ', ' + \ - 'MessageSettings:' + str(self.MessageSettings) + ', ' + \ - 'SubscribedDataSet:' + str(self.SubscribedDataSet) + ')' + return f'DataSetReaderDataType(Name:{self.Name}, Enabled:{self.Enabled}, PublisherId:{self.PublisherId}, WriterGroupId:{self.WriterGroupId}, DataSetWriterId:{self.DataSetWriterId}, DataSetMetaData:{self.DataSetMetaData}, DataSetFieldContentMask:{self.DataSetFieldContentMask}, MessageReceiveTimeout:{self.MessageReceiveTimeout}, SecurityMode:{self.SecurityMode}, SecurityGroupId:{self.SecurityGroupId}, SecurityKeyServices:{self.SecurityKeyServices}, DataSetReaderProperties:{self.DataSetReaderProperties}, TransportSettings:{self.TransportSettings}, MessageSettings:{self.MessageSettings}, SubscribedDataSet:{self.SubscribedDataSet})' __repr__ = __str__ class DataSetReaderTransportDataType(FrozenClass): - ''' - ''' + """ + """ ua_types = [ ] @@ -2385,14 +2336,14 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DataSetReaderTransportDataType(' + + ')' + return 'DataSetReaderTransportDataType()' __repr__ = __str__ class DataSetReaderMessageDataType(FrozenClass): - ''' - ''' + """ + """ ua_types = [ ] @@ -2401,14 +2352,14 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DataSetReaderMessageDataType(' + + ')' + return 'DataSetReaderMessageDataType()' __repr__ = __str__ class SubscribedDataSetDataType(FrozenClass): - ''' - ''' + """ + """ ua_types = [ ] @@ -2417,16 +2368,16 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SubscribedDataSetDataType(' + + ')' + return 'SubscribedDataSetDataType()' __repr__ = __str__ class TargetVariablesDataType(FrozenClass): - ''' + """ :ivar TargetVariables: :vartype TargetVariables: FieldTargetDataType - ''' + """ ua_types = [ ('TargetVariables', 'ListOfFieldTargetDataType'), @@ -2437,13 +2388,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'TargetVariablesDataType(' + 'TargetVariables:' + str(self.TargetVariables) + ')' + return f'TargetVariablesDataType(TargetVariables:{self.TargetVariables})' __repr__ = __str__ class FieldTargetDataType(FrozenClass): - ''' + """ :ivar DataSetFieldId: :vartype DataSetFieldId: Guid :ivar ReceiverIndexRange: @@ -2458,7 +2409,7 @@ class FieldTargetDataType(FrozenClass): :vartype OverrideValueHandling: OverrideValueHandling :ivar OverrideValue: :vartype OverrideValue: Variant - ''' + """ ua_types = [ ('DataSetFieldId', 'Guid'), @@ -2481,24 +2432,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'FieldTargetDataType(' + 'DataSetFieldId:' + str(self.DataSetFieldId) + ', ' + \ - 'ReceiverIndexRange:' + str(self.ReceiverIndexRange) + ', ' + \ - 'TargetNodeId:' + str(self.TargetNodeId) + ', ' + \ - 'AttributeId:' + str(self.AttributeId) + ', ' + \ - 'WriteIndexRange:' + str(self.WriteIndexRange) + ', ' + \ - 'OverrideValueHandling:' + str(self.OverrideValueHandling) + ', ' + \ - 'OverrideValue:' + str(self.OverrideValue) + ')' + return f'FieldTargetDataType(DataSetFieldId:{self.DataSetFieldId}, ReceiverIndexRange:{self.ReceiverIndexRange}, TargetNodeId:{self.TargetNodeId}, AttributeId:{self.AttributeId}, WriteIndexRange:{self.WriteIndexRange}, OverrideValueHandling:{self.OverrideValueHandling}, OverrideValue:{self.OverrideValue})' __repr__ = __str__ class SubscribedDataSetMirrorDataType(FrozenClass): - ''' + """ :ivar ParentNodeName: :vartype ParentNodeName: String :ivar RolePermissions: :vartype RolePermissions: RolePermissionType - ''' + """ ua_types = [ ('ParentNodeName', 'String'), @@ -2511,21 +2456,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SubscribedDataSetMirrorDataType(' + 'ParentNodeName:' + str(self.ParentNodeName) + ', ' + \ - 'RolePermissions:' + str(self.RolePermissions) + ')' + return f'SubscribedDataSetMirrorDataType(ParentNodeName:{self.ParentNodeName}, RolePermissions:{self.RolePermissions})' __repr__ = __str__ class PubSubConfigurationDataType(FrozenClass): - ''' + """ :ivar PublishedDataSets: :vartype PublishedDataSets: PublishedDataSetDataType :ivar Connections: :vartype Connections: PubSubConnectionDataType :ivar Enabled: :vartype Enabled: Boolean - ''' + """ ua_types = [ ('PublishedDataSets', 'ListOfPublishedDataSetDataType'), @@ -2540,15 +2484,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'PubSubConfigurationDataType(' + 'PublishedDataSets:' + str(self.PublishedDataSets) + ', ' + \ - 'Connections:' + str(self.Connections) + ', ' + \ - 'Enabled:' + str(self.Enabled) + ')' + return f'PubSubConfigurationDataType(PublishedDataSets:{self.PublishedDataSets}, Connections:{self.Connections}, Enabled:{self.Enabled})' __repr__ = __str__ class UadpWriterGroupMessageDataType(FrozenClass): - ''' + """ :ivar GroupVersion: :vartype GroupVersion: UInt32 :ivar DataSetOrdering: @@ -2559,7 +2501,7 @@ class UadpWriterGroupMessageDataType(FrozenClass): :vartype SamplingOffset: Double :ivar PublishingOffset: :vartype PublishingOffset: Double - ''' + """ ua_types = [ ('GroupVersion', 'UInt32'), @@ -2578,17 +2520,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'UadpWriterGroupMessageDataType(' + 'GroupVersion:' + str(self.GroupVersion) + ', ' + \ - 'DataSetOrdering:' + str(self.DataSetOrdering) + ', ' + \ - 'NetworkMessageContentMask:' + str(self.NetworkMessageContentMask) + ', ' + \ - 'SamplingOffset:' + str(self.SamplingOffset) + ', ' + \ - 'PublishingOffset:' + str(self.PublishingOffset) + ')' + return f'UadpWriterGroupMessageDataType(GroupVersion:{self.GroupVersion}, DataSetOrdering:{self.DataSetOrdering}, NetworkMessageContentMask:{self.NetworkMessageContentMask}, SamplingOffset:{self.SamplingOffset}, PublishingOffset:{self.PublishingOffset})' __repr__ = __str__ class UadpDataSetWriterMessageDataType(FrozenClass): - ''' + """ :ivar DataSetMessageContentMask: :vartype DataSetMessageContentMask: UadpDataSetMessageContentMask :ivar ConfiguredSize: @@ -2597,7 +2535,7 @@ class UadpDataSetWriterMessageDataType(FrozenClass): :vartype NetworkMessageNumber: UInt16 :ivar DataSetOffset: :vartype DataSetOffset: UInt16 - ''' + """ ua_types = [ ('DataSetMessageContentMask', 'UadpDataSetMessageContentMask'), @@ -2614,16 +2552,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'UadpDataSetWriterMessageDataType(' + 'DataSetMessageContentMask:' + str(self.DataSetMessageContentMask) + ', ' + \ - 'ConfiguredSize:' + str(self.ConfiguredSize) + ', ' + \ - 'NetworkMessageNumber:' + str(self.NetworkMessageNumber) + ', ' + \ - 'DataSetOffset:' + str(self.DataSetOffset) + ')' + return f'UadpDataSetWriterMessageDataType(DataSetMessageContentMask:{self.DataSetMessageContentMask}, ConfiguredSize:{self.ConfiguredSize}, NetworkMessageNumber:{self.NetworkMessageNumber}, DataSetOffset:{self.DataSetOffset})' __repr__ = __str__ class UadpDataSetReaderMessageDataType(FrozenClass): - ''' + """ :ivar GroupVersion: :vartype GroupVersion: UInt32 :ivar NetworkMessageNumber: @@ -2642,7 +2577,7 @@ class UadpDataSetReaderMessageDataType(FrozenClass): :vartype ReceiveOffset: Double :ivar ProcessingOffset: :vartype ProcessingOffset: Double - ''' + """ ua_types = [ ('GroupVersion', 'UInt32'), @@ -2669,24 +2604,16 @@ def __init__(self): self._freeze = True def __str__(self): - return 'UadpDataSetReaderMessageDataType(' + 'GroupVersion:' + str(self.GroupVersion) + ', ' + \ - 'NetworkMessageNumber:' + str(self.NetworkMessageNumber) + ', ' + \ - 'DataSetOffset:' + str(self.DataSetOffset) + ', ' + \ - 'DataSetClassId:' + str(self.DataSetClassId) + ', ' + \ - 'NetworkMessageContentMask:' + str(self.NetworkMessageContentMask) + ', ' + \ - 'DataSetMessageContentMask:' + str(self.DataSetMessageContentMask) + ', ' + \ - 'PublishingInterval:' + str(self.PublishingInterval) + ', ' + \ - 'ReceiveOffset:' + str(self.ReceiveOffset) + ', ' + \ - 'ProcessingOffset:' + str(self.ProcessingOffset) + ')' + return f'UadpDataSetReaderMessageDataType(GroupVersion:{self.GroupVersion}, NetworkMessageNumber:{self.NetworkMessageNumber}, DataSetOffset:{self.DataSetOffset}, DataSetClassId:{self.DataSetClassId}, NetworkMessageContentMask:{self.NetworkMessageContentMask}, DataSetMessageContentMask:{self.DataSetMessageContentMask}, PublishingInterval:{self.PublishingInterval}, ReceiveOffset:{self.ReceiveOffset}, ProcessingOffset:{self.ProcessingOffset})' __repr__ = __str__ class JsonWriterGroupMessageDataType(FrozenClass): - ''' + """ :ivar NetworkMessageContentMask: :vartype NetworkMessageContentMask: JsonNetworkMessageContentMask - ''' + """ ua_types = [ ('NetworkMessageContentMask', 'JsonNetworkMessageContentMask'), @@ -2697,16 +2624,16 @@ def __init__(self): self._freeze = True def __str__(self): - return 'JsonWriterGroupMessageDataType(' + 'NetworkMessageContentMask:' + str(self.NetworkMessageContentMask) + ')' + return f'JsonWriterGroupMessageDataType(NetworkMessageContentMask:{self.NetworkMessageContentMask})' __repr__ = __str__ class JsonDataSetWriterMessageDataType(FrozenClass): - ''' + """ :ivar DataSetMessageContentMask: :vartype DataSetMessageContentMask: JsonDataSetMessageContentMask - ''' + """ ua_types = [ ('DataSetMessageContentMask', 'JsonDataSetMessageContentMask'), @@ -2717,18 +2644,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'JsonDataSetWriterMessageDataType(' + 'DataSetMessageContentMask:' + str(self.DataSetMessageContentMask) + ')' + return f'JsonDataSetWriterMessageDataType(DataSetMessageContentMask:{self.DataSetMessageContentMask})' __repr__ = __str__ class JsonDataSetReaderMessageDataType(FrozenClass): - ''' + """ :ivar NetworkMessageContentMask: :vartype NetworkMessageContentMask: JsonNetworkMessageContentMask :ivar DataSetMessageContentMask: :vartype DataSetMessageContentMask: JsonDataSetMessageContentMask - ''' + """ ua_types = [ ('NetworkMessageContentMask', 'JsonNetworkMessageContentMask'), @@ -2741,17 +2668,16 @@ def __init__(self): self._freeze = True def __str__(self): - return 'JsonDataSetReaderMessageDataType(' + 'NetworkMessageContentMask:' + str(self.NetworkMessageContentMask) + ', ' + \ - 'DataSetMessageContentMask:' + str(self.DataSetMessageContentMask) + ')' + return f'JsonDataSetReaderMessageDataType(NetworkMessageContentMask:{self.NetworkMessageContentMask}, DataSetMessageContentMask:{self.DataSetMessageContentMask})' __repr__ = __str__ class DatagramConnectionTransportDataType(FrozenClass): - ''' + """ :ivar DiscoveryAddress: :vartype DiscoveryAddress: ExtensionObject - ''' + """ ua_types = [ ('DiscoveryAddress', 'ExtensionObject'), @@ -2762,18 +2688,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DatagramConnectionTransportDataType(' + 'DiscoveryAddress:' + str(self.DiscoveryAddress) + ')' + return f'DatagramConnectionTransportDataType(DiscoveryAddress:{self.DiscoveryAddress})' __repr__ = __str__ class DatagramWriterGroupTransportDataType(FrozenClass): - ''' + """ :ivar MessageRepeatCount: :vartype MessageRepeatCount: Byte :ivar MessageRepeatDelay: :vartype MessageRepeatDelay: Double - ''' + """ ua_types = [ ('MessageRepeatCount', 'Byte'), @@ -2786,19 +2712,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DatagramWriterGroupTransportDataType(' + 'MessageRepeatCount:' + str(self.MessageRepeatCount) + ', ' + \ - 'MessageRepeatDelay:' + str(self.MessageRepeatDelay) + ')' + return f'DatagramWriterGroupTransportDataType(MessageRepeatCount:{self.MessageRepeatCount}, MessageRepeatDelay:{self.MessageRepeatDelay})' __repr__ = __str__ class BrokerConnectionTransportDataType(FrozenClass): - ''' + """ :ivar ResourceUri: :vartype ResourceUri: String :ivar AuthenticationProfileUri: :vartype AuthenticationProfileUri: String - ''' + """ ua_types = [ ('ResourceUri', 'String'), @@ -2811,14 +2736,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'BrokerConnectionTransportDataType(' + 'ResourceUri:' + str(self.ResourceUri) + ', ' + \ - 'AuthenticationProfileUri:' + str(self.AuthenticationProfileUri) + ')' + return f'BrokerConnectionTransportDataType(ResourceUri:{self.ResourceUri}, AuthenticationProfileUri:{self.AuthenticationProfileUri})' __repr__ = __str__ class BrokerWriterGroupTransportDataType(FrozenClass): - ''' + """ :ivar QueueName: :vartype QueueName: String :ivar ResourceUri: @@ -2827,7 +2751,7 @@ class BrokerWriterGroupTransportDataType(FrozenClass): :vartype AuthenticationProfileUri: String :ivar RequestedDeliveryGuarantee: :vartype RequestedDeliveryGuarantee: BrokerTransportQualityOfService - ''' + """ ua_types = [ ('QueueName', 'String'), @@ -2844,16 +2768,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'BrokerWriterGroupTransportDataType(' + 'QueueName:' + str(self.QueueName) + ', ' + \ - 'ResourceUri:' + str(self.ResourceUri) + ', ' + \ - 'AuthenticationProfileUri:' + str(self.AuthenticationProfileUri) + ', ' + \ - 'RequestedDeliveryGuarantee:' + str(self.RequestedDeliveryGuarantee) + ')' + return f'BrokerWriterGroupTransportDataType(QueueName:{self.QueueName}, ResourceUri:{self.ResourceUri}, AuthenticationProfileUri:{self.AuthenticationProfileUri}, RequestedDeliveryGuarantee:{self.RequestedDeliveryGuarantee})' __repr__ = __str__ class BrokerDataSetWriterTransportDataType(FrozenClass): - ''' + """ :ivar QueueName: :vartype QueueName: String :ivar ResourceUri: @@ -2864,7 +2785,7 @@ class BrokerDataSetWriterTransportDataType(FrozenClass): :vartype MetaDataQueueName: String :ivar MetaDataUpdateTime: :vartype MetaDataUpdateTime: Double - ''' + """ ua_types = [ ('QueueName', 'String'), @@ -2883,17 +2804,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'BrokerDataSetWriterTransportDataType(' + 'QueueName:' + str(self.QueueName) + ', ' + \ - 'ResourceUri:' + str(self.ResourceUri) + ', ' + \ - 'AuthenticationProfileUri:' + str(self.AuthenticationProfileUri) + ', ' + \ - 'MetaDataQueueName:' + str(self.MetaDataQueueName) + ', ' + \ - 'MetaDataUpdateTime:' + str(self.MetaDataUpdateTime) + ')' + return f'BrokerDataSetWriterTransportDataType(QueueName:{self.QueueName}, ResourceUri:{self.ResourceUri}, AuthenticationProfileUri:{self.AuthenticationProfileUri}, MetaDataQueueName:{self.MetaDataQueueName}, MetaDataUpdateTime:{self.MetaDataUpdateTime})' __repr__ = __str__ class BrokerDataSetReaderTransportDataType(FrozenClass): - ''' + """ :ivar QueueName: :vartype QueueName: String :ivar ResourceUri: @@ -2904,7 +2821,7 @@ class BrokerDataSetReaderTransportDataType(FrozenClass): :vartype RequestedDeliveryGuarantee: BrokerTransportQualityOfService :ivar MetaDataQueueName: :vartype MetaDataQueueName: String - ''' + """ ua_types = [ ('QueueName', 'String'), @@ -2923,42 +2840,37 @@ def __init__(self): self._freeze = True def __str__(self): - return 'BrokerDataSetReaderTransportDataType(' + 'QueueName:' + str(self.QueueName) + ', ' + \ - 'ResourceUri:' + str(self.ResourceUri) + ', ' + \ - 'AuthenticationProfileUri:' + str(self.AuthenticationProfileUri) + ', ' + \ - 'RequestedDeliveryGuarantee:' + str(self.RequestedDeliveryGuarantee) + ', ' + \ - 'MetaDataQueueName:' + str(self.MetaDataQueueName) + ')' + return f'BrokerDataSetReaderTransportDataType(QueueName:{self.QueueName}, ResourceUri:{self.ResourceUri}, AuthenticationProfileUri:{self.AuthenticationProfileUri}, RequestedDeliveryGuarantee:{self.RequestedDeliveryGuarantee}, MetaDataQueueName:{self.MetaDataQueueName})' __repr__ = __str__ class RolePermissionType(FrozenClass): - ''' + """ :ivar RoleId: :vartype RoleId: NodeId :ivar Permissions: - :vartype Permissions: UInt32 - ''' + :vartype Permissions: PermissionType + """ ua_types = [ ('RoleId', 'NodeId'), - ('Permissions', 'UInt32'), + ('Permissions', 'PermissionType'), ] def __init__(self): self.RoleId = NodeId() - self.Permissions = 0 + self.Permissions = PermissionType(0) self._freeze = True def __str__(self): - return 'RolePermissionType(' + 'RoleId:' + str(self.RoleId) + ', ' + \ - 'Permissions:' + str(self.Permissions) + ')' + return f'RolePermissionType(RoleId:{self.RoleId}, Permissions:{self.Permissions})' __repr__ = __str__ class StructureField(FrozenClass): - ''' + """ :ivar Name: :vartype Name: String :ivar Description: @@ -2973,7 +2885,7 @@ class StructureField(FrozenClass): :vartype MaxStringLength: UInt32 :ivar IsOptional: :vartype IsOptional: Boolean - ''' + """ ua_types = [ ('Name', 'String'), @@ -2996,19 +2908,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'StructureField(' + 'Name:' + str(self.Name) + ', ' + \ - 'Description:' + str(self.Description) + ', ' + \ - 'DataType:' + str(self.DataType) + ', ' + \ - 'ValueRank:' + str(self.ValueRank) + ', ' + \ - 'ArrayDimensions:' + str(self.ArrayDimensions) + ', ' + \ - 'MaxStringLength:' + str(self.MaxStringLength) + ', ' + \ - 'IsOptional:' + str(self.IsOptional) + ')' + return f'StructureField(Name:{self.Name}, Description:{self.Description}, DataType:{self.DataType}, ValueRank:{self.ValueRank}, ArrayDimensions:{self.ArrayDimensions}, MaxStringLength:{self.MaxStringLength}, IsOptional:{self.IsOptional})' __repr__ = __str__ class StructureDefinition(FrozenClass): - ''' + """ :ivar DefaultEncodingId: :vartype DefaultEncodingId: NodeId :ivar BaseDataType: @@ -3017,7 +2923,7 @@ class StructureDefinition(FrozenClass): :vartype StructureType: StructureType :ivar Fields: :vartype Fields: StructureField - ''' + """ ua_types = [ ('DefaultEncodingId', 'NodeId'), @@ -3034,19 +2940,16 @@ def __init__(self): self._freeze = True def __str__(self): - return 'StructureDefinition(' + 'DefaultEncodingId:' + str(self.DefaultEncodingId) + ', ' + \ - 'BaseDataType:' + str(self.BaseDataType) + ', ' + \ - 'StructureType:' + str(self.StructureType) + ', ' + \ - 'Fields:' + str(self.Fields) + ')' + return f'StructureDefinition(DefaultEncodingId:{self.DefaultEncodingId}, BaseDataType:{self.BaseDataType}, StructureType:{self.StructureType}, Fields:{self.Fields})' __repr__ = __str__ class EnumDefinition(FrozenClass): - ''' + """ :ivar Fields: :vartype Fields: EnumField - ''' + """ ua_types = [ ('Fields', 'ListOfEnumField'), @@ -3057,13 +2960,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'EnumDefinition(' + 'Fields:' + str(self.Fields) + ')' + return f'EnumDefinition(Fields:{self.Fields})' __repr__ = __str__ class Argument(FrozenClass): - ''' + """ An argument for a method. :ivar Name: @@ -3076,7 +2979,7 @@ class Argument(FrozenClass): :vartype ArrayDimensions: UInt32 :ivar Description: :vartype Description: LocalizedText - ''' + """ ua_types = [ ('Name', 'String'), @@ -3095,17 +2998,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'Argument(' + 'Name:' + str(self.Name) + ', ' + \ - 'DataType:' + str(self.DataType) + ', ' + \ - 'ValueRank:' + str(self.ValueRank) + ', ' + \ - 'ArrayDimensions:' + str(self.ArrayDimensions) + ', ' + \ - 'Description:' + str(self.Description) + ')' + return f'Argument(Name:{self.Name}, DataType:{self.DataType}, ValueRank:{self.ValueRank}, ArrayDimensions:{self.ArrayDimensions}, Description:{self.Description})' __repr__ = __str__ class EnumValueType(FrozenClass): - ''' + """ A mapping between a value of an enumerated type and a name and description. :ivar Value: @@ -3114,7 +3013,7 @@ class EnumValueType(FrozenClass): :vartype DisplayName: LocalizedText :ivar Description: :vartype Description: LocalizedText - ''' + """ ua_types = [ ('Value', 'Int64'), @@ -3129,15 +3028,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'EnumValueType(' + 'Value:' + str(self.Value) + ', ' + \ - 'DisplayName:' + str(self.DisplayName) + ', ' + \ - 'Description:' + str(self.Description) + ')' + return f'EnumValueType(Value:{self.Value}, DisplayName:{self.DisplayName}, Description:{self.Description})' __repr__ = __str__ class EnumField(FrozenClass): - ''' + """ :ivar Value: :vartype Value: Int64 :ivar DisplayName: @@ -3146,7 +3043,7 @@ class EnumField(FrozenClass): :vartype Description: LocalizedText :ivar Name: :vartype Name: String - ''' + """ ua_types = [ ('Value', 'Int64'), @@ -3163,23 +3060,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'EnumField(' + 'Value:' + str(self.Value) + ', ' + \ - 'DisplayName:' + str(self.DisplayName) + ', ' + \ - 'Description:' + str(self.Description) + ', ' + \ - 'Name:' + str(self.Name) + ')' + return f'EnumField(Value:{self.Value}, DisplayName:{self.DisplayName}, Description:{self.Description}, Name:{self.Name})' __repr__ = __str__ class OptionSet(FrozenClass): - ''' + """ This abstract Structured DataType is the base DataType for all DataTypes representing a bit mask. :ivar Value: :vartype Value: ByteString :ivar ValidBits: :vartype ValidBits: ByteString - ''' + """ ua_types = [ ('Value', 'ByteString'), @@ -3192,17 +3086,16 @@ def __init__(self): self._freeze = True def __str__(self): - return 'OptionSet(' + 'Value:' + str(self.Value) + ', ' + \ - 'ValidBits:' + str(self.ValidBits) + ')' + return f'OptionSet(Value:{self.Value}, ValidBits:{self.ValidBits})' __repr__ = __str__ class Union(FrozenClass): - ''' + """ This abstract DataType is the base DataType for all union DataTypes. - ''' + """ ua_types = [ ] @@ -3211,18 +3104,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'Union(' + + ')' + return 'Union()' __repr__ = __str__ class TimeZoneDataType(FrozenClass): - ''' + """ :ivar Offset: :vartype Offset: Int16 :ivar DaylightSavingInOffset: :vartype DaylightSavingInOffset: Boolean - ''' + """ ua_types = [ ('Offset', 'Int16'), @@ -3235,14 +3128,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'TimeZoneDataType(' + 'Offset:' + str(self.Offset) + ', ' + \ - 'DaylightSavingInOffset:' + str(self.DaylightSavingInOffset) + ')' + return f'TimeZoneDataType(Offset:{self.Offset}, DaylightSavingInOffset:{self.DaylightSavingInOffset})' __repr__ = __str__ class ApplicationDescription(FrozenClass): - ''' + """ Describes an application and how to find it. :ivar ApplicationUri: @@ -3259,7 +3151,7 @@ class ApplicationDescription(FrozenClass): :vartype DiscoveryProfileUri: String :ivar DiscoveryUrls: :vartype DiscoveryUrls: String - ''' + """ ua_types = [ ('ApplicationUri', 'String'), @@ -3282,19 +3174,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ApplicationDescription(' + 'ApplicationUri:' + str(self.ApplicationUri) + ', ' + \ - 'ProductUri:' + str(self.ProductUri) + ', ' + \ - 'ApplicationName:' + str(self.ApplicationName) + ', ' + \ - 'ApplicationType:' + str(self.ApplicationType) + ', ' + \ - 'GatewayServerUri:' + str(self.GatewayServerUri) + ', ' + \ - 'DiscoveryProfileUri:' + str(self.DiscoveryProfileUri) + ', ' + \ - 'DiscoveryUrls:' + str(self.DiscoveryUrls) + ')' + return f'ApplicationDescription(ApplicationUri:{self.ApplicationUri}, ProductUri:{self.ProductUri}, ApplicationName:{self.ApplicationName}, ApplicationType:{self.ApplicationType}, GatewayServerUri:{self.GatewayServerUri}, DiscoveryProfileUri:{self.DiscoveryProfileUri}, DiscoveryUrls:{self.DiscoveryUrls})' __repr__ = __str__ class RequestHeader(FrozenClass): - ''' + """ The header passed with every server request. :ivar AuthenticationToken: @@ -3311,7 +3197,7 @@ class RequestHeader(FrozenClass): :vartype TimeoutHint: UInt32 :ivar AdditionalHeader: :vartype AdditionalHeader: ExtensionObject - ''' + """ ua_types = [ ('AuthenticationToken', 'NodeId'), @@ -3334,19 +3220,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'RequestHeader(' + 'AuthenticationToken:' + str(self.AuthenticationToken) + ', ' + \ - 'Timestamp:' + str(self.Timestamp) + ', ' + \ - 'RequestHandle:' + str(self.RequestHandle) + ', ' + \ - 'ReturnDiagnostics:' + str(self.ReturnDiagnostics) + ', ' + \ - 'AuditEntryId:' + str(self.AuditEntryId) + ', ' + \ - 'TimeoutHint:' + str(self.TimeoutHint) + ', ' + \ - 'AdditionalHeader:' + str(self.AdditionalHeader) + ')' + return f'RequestHeader(AuthenticationToken:{self.AuthenticationToken}, Timestamp:{self.Timestamp}, RequestHandle:{self.RequestHandle}, ReturnDiagnostics:{self.ReturnDiagnostics}, AuditEntryId:{self.AuditEntryId}, TimeoutHint:{self.TimeoutHint}, AdditionalHeader:{self.AdditionalHeader})' __repr__ = __str__ class ResponseHeader(FrozenClass): - ''' + """ The header passed with every server response. :ivar Timestamp: @@ -3361,7 +3241,7 @@ class ResponseHeader(FrozenClass): :vartype StringTable: String :ivar AdditionalHeader: :vartype AdditionalHeader: ExtensionObject - ''' + """ ua_types = [ ('Timestamp', 'DateTime'), @@ -3382,25 +3262,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ResponseHeader(' + 'Timestamp:' + str(self.Timestamp) + ', ' + \ - 'RequestHandle:' + str(self.RequestHandle) + ', ' + \ - 'ServiceResult:' + str(self.ServiceResult) + ', ' + \ - 'ServiceDiagnostics:' + str(self.ServiceDiagnostics) + ', ' + \ - 'StringTable:' + str(self.StringTable) + ', ' + \ - 'AdditionalHeader:' + str(self.AdditionalHeader) + ')' + return f'ResponseHeader(Timestamp:{self.Timestamp}, RequestHandle:{self.RequestHandle}, ServiceResult:{self.ServiceResult}, ServiceDiagnostics:{self.ServiceDiagnostics}, StringTable:{self.StringTable}, AdditionalHeader:{self.AdditionalHeader})' __repr__ = __str__ class ServiceFault(FrozenClass): - ''' + """ The response returned by all services when there is a service level error. :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -3413,14 +3288,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ServiceFault(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ')' + return f'ServiceFault(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader})' __repr__ = __str__ class SessionlessInvokeRequestType(FrozenClass): - ''' + """ :ivar UrisVersion: :vartype UrisVersion: UInt32 :ivar NamespaceUris: @@ -3431,7 +3305,7 @@ class SessionlessInvokeRequestType(FrozenClass): :vartype LocaleIds: String :ivar ServiceId: :vartype ServiceId: UInt32 - ''' + """ ua_types = [ ('UrisVersion', 'ListOfUInt32'), @@ -3450,24 +3324,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SessionlessInvokeRequestType(' + 'UrisVersion:' + str(self.UrisVersion) + ', ' + \ - 'NamespaceUris:' + str(self.NamespaceUris) + ', ' + \ - 'ServerUris:' + str(self.ServerUris) + ', ' + \ - 'LocaleIds:' + str(self.LocaleIds) + ', ' + \ - 'ServiceId:' + str(self.ServiceId) + ')' + return f'SessionlessInvokeRequestType(UrisVersion:{self.UrisVersion}, NamespaceUris:{self.NamespaceUris}, ServerUris:{self.ServerUris}, LocaleIds:{self.LocaleIds}, ServiceId:{self.ServiceId})' __repr__ = __str__ class SessionlessInvokeResponseType(FrozenClass): - ''' + """ :ivar NamespaceUris: :vartype NamespaceUris: String :ivar ServerUris: :vartype ServerUris: String :ivar ServiceId: :vartype ServiceId: UInt32 - ''' + """ ua_types = [ ('NamespaceUris', 'ListOfString'), @@ -3482,22 +3352,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SessionlessInvokeResponseType(' + 'NamespaceUris:' + str(self.NamespaceUris) + ', ' + \ - 'ServerUris:' + str(self.ServerUris) + ', ' + \ - 'ServiceId:' + str(self.ServiceId) + ')' + return f'SessionlessInvokeResponseType(NamespaceUris:{self.NamespaceUris}, ServerUris:{self.ServerUris}, ServiceId:{self.ServiceId})' __repr__ = __str__ class FindServersParameters(FrozenClass): - ''' + """ :ivar EndpointUrl: :vartype EndpointUrl: String :ivar LocaleIds: :vartype LocaleIds: String :ivar ServerUris: :vartype ServerUris: String - ''' + """ ua_types = [ ('EndpointUrl', 'String'), @@ -3512,15 +3380,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'FindServersParameters(' + 'EndpointUrl:' + str(self.EndpointUrl) + ', ' + \ - 'LocaleIds:' + str(self.LocaleIds) + ', ' + \ - 'ServerUris:' + str(self.ServerUris) + ')' + return f'FindServersParameters(EndpointUrl:{self.EndpointUrl}, LocaleIds:{self.LocaleIds}, ServerUris:{self.ServerUris})' __repr__ = __str__ class FindServersRequest(FrozenClass): - ''' + """ Finds the servers known to the discovery server. :ivar TypeId: @@ -3529,7 +3395,7 @@ class FindServersRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: FindServersParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -3544,15 +3410,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'FindServersRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'FindServersRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class FindServersResponse(FrozenClass): - ''' + """ Finds the servers known to the discovery server. :ivar TypeId: @@ -3561,7 +3425,7 @@ class FindServersResponse(FrozenClass): :vartype ResponseHeader: ResponseHeader :ivar Servers: :vartype Servers: ApplicationDescription - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -3576,15 +3440,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'FindServersResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Servers:' + str(self.Servers) + ')' + return f'FindServersResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Servers:{self.Servers})' __repr__ = __str__ class ServerOnNetwork(FrozenClass): - ''' + """ :ivar RecordId: :vartype RecordId: UInt32 :ivar ServerName: @@ -3593,7 +3455,7 @@ class ServerOnNetwork(FrozenClass): :vartype DiscoveryUrl: String :ivar ServerCapabilities: :vartype ServerCapabilities: String - ''' + """ ua_types = [ ('RecordId', 'UInt32'), @@ -3610,23 +3472,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ServerOnNetwork(' + 'RecordId:' + str(self.RecordId) + ', ' + \ - 'ServerName:' + str(self.ServerName) + ', ' + \ - 'DiscoveryUrl:' + str(self.DiscoveryUrl) + ', ' + \ - 'ServerCapabilities:' + str(self.ServerCapabilities) + ')' + return f'ServerOnNetwork(RecordId:{self.RecordId}, ServerName:{self.ServerName}, DiscoveryUrl:{self.DiscoveryUrl}, ServerCapabilities:{self.ServerCapabilities})' __repr__ = __str__ class FindServersOnNetworkParameters(FrozenClass): - ''' + """ :ivar StartingRecordId: :vartype StartingRecordId: UInt32 :ivar MaxRecordsToReturn: :vartype MaxRecordsToReturn: UInt32 :ivar ServerCapabilityFilter: :vartype ServerCapabilityFilter: String - ''' + """ ua_types = [ ('StartingRecordId', 'UInt32'), @@ -3641,22 +3500,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'FindServersOnNetworkParameters(' + 'StartingRecordId:' + str(self.StartingRecordId) + ', ' + \ - 'MaxRecordsToReturn:' + str(self.MaxRecordsToReturn) + ', ' + \ - 'ServerCapabilityFilter:' + str(self.ServerCapabilityFilter) + ')' + return f'FindServersOnNetworkParameters(StartingRecordId:{self.StartingRecordId}, MaxRecordsToReturn:{self.MaxRecordsToReturn}, ServerCapabilityFilter:{self.ServerCapabilityFilter})' __repr__ = __str__ class FindServersOnNetworkRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: FindServersOnNetworkParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -3671,20 +3528,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'FindServersOnNetworkRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'FindServersOnNetworkRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class FindServersOnNetworkResult(FrozenClass): - ''' + """ :ivar LastCounterResetTime: :vartype LastCounterResetTime: DateTime :ivar Servers: :vartype Servers: ServerOnNetwork - ''' + """ ua_types = [ ('LastCounterResetTime', 'DateTime'), @@ -3697,21 +3552,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'FindServersOnNetworkResult(' + 'LastCounterResetTime:' + str(self.LastCounterResetTime) + ', ' + \ - 'Servers:' + str(self.Servers) + ')' + return f'FindServersOnNetworkResult(LastCounterResetTime:{self.LastCounterResetTime}, Servers:{self.Servers})' __repr__ = __str__ class FindServersOnNetworkResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: FindServersOnNetworkResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -3726,15 +3580,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'FindServersOnNetworkResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'FindServersOnNetworkResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class UserTokenPolicy(FrozenClass): - ''' + """ Describes a user token that can be used with a server. :ivar PolicyId: @@ -3747,7 +3599,7 @@ class UserTokenPolicy(FrozenClass): :vartype IssuerEndpointUrl: String :ivar SecurityPolicyUri: :vartype SecurityPolicyUri: String - ''' + """ ua_types = [ ('PolicyId', 'String'), @@ -3766,17 +3618,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'UserTokenPolicy(' + 'PolicyId:' + str(self.PolicyId) + ', ' + \ - 'TokenType:' + str(self.TokenType) + ', ' + \ - 'IssuedTokenType:' + str(self.IssuedTokenType) + ', ' + \ - 'IssuerEndpointUrl:' + str(self.IssuerEndpointUrl) + ', ' + \ - 'SecurityPolicyUri:' + str(self.SecurityPolicyUri) + ')' + return f'UserTokenPolicy(PolicyId:{self.PolicyId}, TokenType:{self.TokenType}, IssuedTokenType:{self.IssuedTokenType}, IssuerEndpointUrl:{self.IssuerEndpointUrl}, SecurityPolicyUri:{self.SecurityPolicyUri})' __repr__ = __str__ class EndpointDescription(FrozenClass): - ''' + """ The description of a endpoint that can be used to access a server. :ivar EndpointUrl: @@ -3795,7 +3643,7 @@ class EndpointDescription(FrozenClass): :vartype TransportProfileUri: String :ivar SecurityLevel: :vartype SecurityLevel: Byte - ''' + """ ua_types = [ ('EndpointUrl', 'String'), @@ -3820,27 +3668,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'EndpointDescription(' + 'EndpointUrl:' + str(self.EndpointUrl) + ', ' + \ - 'Server:' + str(self.Server) + ', ' + \ - 'ServerCertificate:' + str(self.ServerCertificate) + ', ' + \ - 'SecurityMode:' + str(self.SecurityMode) + ', ' + \ - 'SecurityPolicyUri:' + str(self.SecurityPolicyUri) + ', ' + \ - 'UserIdentityTokens:' + str(self.UserIdentityTokens) + ', ' + \ - 'TransportProfileUri:' + str(self.TransportProfileUri) + ', ' + \ - 'SecurityLevel:' + str(self.SecurityLevel) + ')' + return f'EndpointDescription(EndpointUrl:{self.EndpointUrl}, Server:{self.Server}, ServerCertificate:{self.ServerCertificate}, SecurityMode:{self.SecurityMode}, SecurityPolicyUri:{self.SecurityPolicyUri}, UserIdentityTokens:{self.UserIdentityTokens}, TransportProfileUri:{self.TransportProfileUri}, SecurityLevel:{self.SecurityLevel})' __repr__ = __str__ class GetEndpointsParameters(FrozenClass): - ''' + """ :ivar EndpointUrl: :vartype EndpointUrl: String :ivar LocaleIds: :vartype LocaleIds: String :ivar ProfileUris: :vartype ProfileUris: String - ''' + """ ua_types = [ ('EndpointUrl', 'String'), @@ -3855,15 +3696,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'GetEndpointsParameters(' + 'EndpointUrl:' + str(self.EndpointUrl) + ', ' + \ - 'LocaleIds:' + str(self.LocaleIds) + ', ' + \ - 'ProfileUris:' + str(self.ProfileUris) + ')' + return f'GetEndpointsParameters(EndpointUrl:{self.EndpointUrl}, LocaleIds:{self.LocaleIds}, ProfileUris:{self.ProfileUris})' __repr__ = __str__ class GetEndpointsRequest(FrozenClass): - ''' + """ Gets the endpoints used by the server. :ivar TypeId: @@ -3872,7 +3711,7 @@ class GetEndpointsRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: GetEndpointsParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -3887,15 +3726,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'GetEndpointsRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'GetEndpointsRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class GetEndpointsResponse(FrozenClass): - ''' + """ Gets the endpoints used by the server. :ivar TypeId: @@ -3904,7 +3741,7 @@ class GetEndpointsResponse(FrozenClass): :vartype ResponseHeader: ResponseHeader :ivar Endpoints: :vartype Endpoints: EndpointDescription - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -3919,15 +3756,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'GetEndpointsResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Endpoints:' + str(self.Endpoints) + ')' + return f'GetEndpointsResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Endpoints:{self.Endpoints})' __repr__ = __str__ class RegisteredServer(FrozenClass): - ''' + """ The information required to register a server with a discovery server. :ivar ServerUri: @@ -3946,7 +3781,7 @@ class RegisteredServer(FrozenClass): :vartype SemaphoreFilePath: String :ivar IsOnline: :vartype IsOnline: Boolean - ''' + """ ua_types = [ ('ServerUri', 'String'), @@ -3971,20 +3806,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'RegisteredServer(' + 'ServerUri:' + str(self.ServerUri) + ', ' + \ - 'ProductUri:' + str(self.ProductUri) + ', ' + \ - 'ServerNames:' + str(self.ServerNames) + ', ' + \ - 'ServerType:' + str(self.ServerType) + ', ' + \ - 'GatewayServerUri:' + str(self.GatewayServerUri) + ', ' + \ - 'DiscoveryUrls:' + str(self.DiscoveryUrls) + ', ' + \ - 'SemaphoreFilePath:' + str(self.SemaphoreFilePath) + ', ' + \ - 'IsOnline:' + str(self.IsOnline) + ')' + return f'RegisteredServer(ServerUri:{self.ServerUri}, ProductUri:{self.ProductUri}, ServerNames:{self.ServerNames}, ServerType:{self.ServerType}, GatewayServerUri:{self.GatewayServerUri}, DiscoveryUrls:{self.DiscoveryUrls}, SemaphoreFilePath:{self.SemaphoreFilePath}, IsOnline:{self.IsOnline})' __repr__ = __str__ class RegisterServerRequest(FrozenClass): - ''' + """ Registers a server with the discovery server. :ivar TypeId: @@ -3993,7 +3821,7 @@ class RegisterServerRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Server: :vartype Server: RegisteredServer - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -4008,22 +3836,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'RegisterServerRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Server:' + str(self.Server) + ')' + return f'RegisterServerRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Server:{self.Server})' __repr__ = __str__ class RegisterServerResponse(FrozenClass): - ''' + """ Registers a server with the discovery server. :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -4036,17 +3862,16 @@ def __init__(self): self._freeze = True def __str__(self): - return 'RegisterServerResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ')' + return f'RegisterServerResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader})' __repr__ = __str__ class DiscoveryConfiguration(FrozenClass): - ''' + """ A base type for discovery configuration information. - ''' + """ ua_types = [ ] @@ -4055,20 +3880,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DiscoveryConfiguration(' + + ')' + return 'DiscoveryConfiguration()' __repr__ = __str__ class MdnsDiscoveryConfiguration(FrozenClass): - ''' + """ The discovery information needed for mDNS registration. :ivar MdnsServerName: :vartype MdnsServerName: String :ivar ServerCapabilities: :vartype ServerCapabilities: String - ''' + """ ua_types = [ ('MdnsServerName', 'String'), @@ -4081,19 +3906,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'MdnsDiscoveryConfiguration(' + 'MdnsServerName:' + str(self.MdnsServerName) + ', ' + \ - 'ServerCapabilities:' + str(self.ServerCapabilities) + ')' + return f'MdnsDiscoveryConfiguration(MdnsServerName:{self.MdnsServerName}, ServerCapabilities:{self.ServerCapabilities})' __repr__ = __str__ class RegisterServer2Parameters(FrozenClass): - ''' + """ :ivar Server: :vartype Server: RegisteredServer :ivar DiscoveryConfiguration: :vartype DiscoveryConfiguration: ExtensionObject - ''' + """ ua_types = [ ('Server', 'RegisteredServer'), @@ -4106,21 +3930,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'RegisterServer2Parameters(' + 'Server:' + str(self.Server) + ', ' + \ - 'DiscoveryConfiguration:' + str(self.DiscoveryConfiguration) + ')' + return f'RegisterServer2Parameters(Server:{self.Server}, DiscoveryConfiguration:{self.DiscoveryConfiguration})' __repr__ = __str__ class RegisterServer2Request(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: RegisterServer2Parameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -4135,15 +3958,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'RegisterServer2Request(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'RegisterServer2Request(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class RegisterServer2Response(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: @@ -4152,7 +3973,7 @@ class RegisterServer2Response(FrozenClass): :vartype ConfigurationResults: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -4169,16 +3990,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'RegisterServer2Response(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'ConfigurationResults:' + str(self.ConfigurationResults) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return f'RegisterServer2Response(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, ConfigurationResults:{self.ConfigurationResults}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ class ChannelSecurityToken(FrozenClass): - ''' + """ The token that identifies a set of keys for an active secure channel. :ivar ChannelId: @@ -4189,7 +4007,7 @@ class ChannelSecurityToken(FrozenClass): :vartype CreatedAt: DateTime :ivar RevisedLifetime: :vartype RevisedLifetime: UInt32 - ''' + """ ua_types = [ ('ChannelId', 'UInt32'), @@ -4206,16 +4024,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ChannelSecurityToken(' + 'ChannelId:' + str(self.ChannelId) + ', ' + \ - 'TokenId:' + str(self.TokenId) + ', ' + \ - 'CreatedAt:' + str(self.CreatedAt) + ', ' + \ - 'RevisedLifetime:' + str(self.RevisedLifetime) + ')' + return f'ChannelSecurityToken(ChannelId:{self.ChannelId}, TokenId:{self.TokenId}, CreatedAt:{self.CreatedAt}, RevisedLifetime:{self.RevisedLifetime})' __repr__ = __str__ class OpenSecureChannelParameters(FrozenClass): - ''' + """ :ivar ClientProtocolVersion: :vartype ClientProtocolVersion: UInt32 :ivar RequestType: @@ -4226,7 +4041,7 @@ class OpenSecureChannelParameters(FrozenClass): :vartype ClientNonce: ByteString :ivar RequestedLifetime: :vartype RequestedLifetime: UInt32 - ''' + """ ua_types = [ ('ClientProtocolVersion', 'UInt32'), @@ -4245,17 +4060,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'OpenSecureChannelParameters(' + 'ClientProtocolVersion:' + str(self.ClientProtocolVersion) + ', ' + \ - 'RequestType:' + str(self.RequestType) + ', ' + \ - 'SecurityMode:' + str(self.SecurityMode) + ', ' + \ - 'ClientNonce:' + str(self.ClientNonce) + ', ' + \ - 'RequestedLifetime:' + str(self.RequestedLifetime) + ')' + return f'OpenSecureChannelParameters(ClientProtocolVersion:{self.ClientProtocolVersion}, RequestType:{self.RequestType}, SecurityMode:{self.SecurityMode}, ClientNonce:{self.ClientNonce}, RequestedLifetime:{self.RequestedLifetime})' __repr__ = __str__ class OpenSecureChannelRequest(FrozenClass): - ''' + """ Creates a secure channel with a server. :ivar TypeId: @@ -4264,7 +4075,7 @@ class OpenSecureChannelRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: OpenSecureChannelParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -4279,22 +4090,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'OpenSecureChannelRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'OpenSecureChannelRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class OpenSecureChannelResult(FrozenClass): - ''' + """ :ivar ServerProtocolVersion: :vartype ServerProtocolVersion: UInt32 :ivar SecurityToken: :vartype SecurityToken: ChannelSecurityToken :ivar ServerNonce: :vartype ServerNonce: ByteString - ''' + """ ua_types = [ ('ServerProtocolVersion', 'UInt32'), @@ -4309,15 +4118,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'OpenSecureChannelResult(' + 'ServerProtocolVersion:' + str(self.ServerProtocolVersion) + ', ' + \ - 'SecurityToken:' + str(self.SecurityToken) + ', ' + \ - 'ServerNonce:' + str(self.ServerNonce) + ')' + return f'OpenSecureChannelResult(ServerProtocolVersion:{self.ServerProtocolVersion}, SecurityToken:{self.SecurityToken}, ServerNonce:{self.ServerNonce})' __repr__ = __str__ class OpenSecureChannelResponse(FrozenClass): - ''' + """ Creates a secure channel with a server. :ivar TypeId: @@ -4326,7 +4133,7 @@ class OpenSecureChannelResponse(FrozenClass): :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: OpenSecureChannelResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -4341,22 +4148,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'OpenSecureChannelResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'OpenSecureChannelResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class CloseSecureChannelRequest(FrozenClass): - ''' + """ Closes a secure channel. :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -4369,21 +4174,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CloseSecureChannelRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ')' + return f'CloseSecureChannelRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader})' __repr__ = __str__ class CloseSecureChannelResponse(FrozenClass): - ''' + """ Closes a secure channel. :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -4396,21 +4200,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CloseSecureChannelResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ')' + return f'CloseSecureChannelResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader})' __repr__ = __str__ class SignedSoftwareCertificate(FrozenClass): - ''' + """ A software certificate with a digital signature. :ivar CertificateData: :vartype CertificateData: ByteString :ivar Signature: :vartype Signature: ByteString - ''' + """ ua_types = [ ('CertificateData', 'ByteString'), @@ -4423,21 +4226,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SignedSoftwareCertificate(' + 'CertificateData:' + str(self.CertificateData) + ', ' + \ - 'Signature:' + str(self.Signature) + ')' + return f'SignedSoftwareCertificate(CertificateData:{self.CertificateData}, Signature:{self.Signature})' __repr__ = __str__ class SignatureData(FrozenClass): - ''' + """ A digital signature. :ivar Algorithm: :vartype Algorithm: String :ivar Signature: :vartype Signature: ByteString - ''' + """ ua_types = [ ('Algorithm', 'String'), @@ -4450,14 +4252,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SignatureData(' + 'Algorithm:' + str(self.Algorithm) + ', ' + \ - 'Signature:' + str(self.Signature) + ')' + return f'SignatureData(Algorithm:{self.Algorithm}, Signature:{self.Signature})' __repr__ = __str__ class CreateSessionParameters(FrozenClass): - ''' + """ :ivar ClientDescription: :vartype ClientDescription: ApplicationDescription :ivar ServerUri: @@ -4474,7 +4275,7 @@ class CreateSessionParameters(FrozenClass): :vartype RequestedSessionTimeout: Double :ivar MaxResponseMessageSize: :vartype MaxResponseMessageSize: UInt32 - ''' + """ ua_types = [ ('ClientDescription', 'ApplicationDescription'), @@ -4499,20 +4300,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CreateSessionParameters(' + 'ClientDescription:' + str(self.ClientDescription) + ', ' + \ - 'ServerUri:' + str(self.ServerUri) + ', ' + \ - 'EndpointUrl:' + str(self.EndpointUrl) + ', ' + \ - 'SessionName:' + str(self.SessionName) + ', ' + \ - 'ClientNonce:' + str(self.ClientNonce) + ', ' + \ - 'ClientCertificate:' + str(self.ClientCertificate) + ', ' + \ - 'RequestedSessionTimeout:' + str(self.RequestedSessionTimeout) + ', ' + \ - 'MaxResponseMessageSize:' + str(self.MaxResponseMessageSize) + ')' + return f'CreateSessionParameters(ClientDescription:{self.ClientDescription}, ServerUri:{self.ServerUri}, EndpointUrl:{self.EndpointUrl}, SessionName:{self.SessionName}, ClientNonce:{self.ClientNonce}, ClientCertificate:{self.ClientCertificate}, RequestedSessionTimeout:{self.RequestedSessionTimeout}, MaxResponseMessageSize:{self.MaxResponseMessageSize})' __repr__ = __str__ class CreateSessionRequest(FrozenClass): - ''' + """ Creates a new session with the server. :ivar TypeId: @@ -4521,7 +4315,7 @@ class CreateSessionRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: CreateSessionParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -4536,15 +4330,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CreateSessionRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'CreateSessionRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class CreateSessionResult(FrozenClass): - ''' + """ :ivar SessionId: :vartype SessionId: NodeId :ivar AuthenticationToken: @@ -4563,7 +4355,7 @@ class CreateSessionResult(FrozenClass): :vartype ServerSignature: SignatureData :ivar MaxRequestMessageSize: :vartype MaxRequestMessageSize: UInt32 - ''' + """ ua_types = [ ('SessionId', 'NodeId'), @@ -4590,21 +4382,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CreateSessionResult(' + 'SessionId:' + str(self.SessionId) + ', ' + \ - 'AuthenticationToken:' + str(self.AuthenticationToken) + ', ' + \ - 'RevisedSessionTimeout:' + str(self.RevisedSessionTimeout) + ', ' + \ - 'ServerNonce:' + str(self.ServerNonce) + ', ' + \ - 'ServerCertificate:' + str(self.ServerCertificate) + ', ' + \ - 'ServerEndpoints:' + str(self.ServerEndpoints) + ', ' + \ - 'ServerSoftwareCertificates:' + str(self.ServerSoftwareCertificates) + ', ' + \ - 'ServerSignature:' + str(self.ServerSignature) + ', ' + \ - 'MaxRequestMessageSize:' + str(self.MaxRequestMessageSize) + ')' + return f'CreateSessionResult(SessionId:{self.SessionId}, AuthenticationToken:{self.AuthenticationToken}, RevisedSessionTimeout:{self.RevisedSessionTimeout}, ServerNonce:{self.ServerNonce}, ServerCertificate:{self.ServerCertificate}, ServerEndpoints:{self.ServerEndpoints}, ServerSoftwareCertificates:{self.ServerSoftwareCertificates}, ServerSignature:{self.ServerSignature}, MaxRequestMessageSize:{self.MaxRequestMessageSize})' __repr__ = __str__ class CreateSessionResponse(FrozenClass): - ''' + """ Creates a new session with the server. :ivar TypeId: @@ -4613,7 +4397,7 @@ class CreateSessionResponse(FrozenClass): :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: CreateSessionResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -4628,20 +4412,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CreateSessionResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'CreateSessionResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class UserIdentityToken(FrozenClass): - ''' + """ A base type for a user identity token. :ivar PolicyId: :vartype PolicyId: String - ''' + """ ua_types = [ ('PolicyId', 'String'), @@ -4652,18 +4434,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'UserIdentityToken(' + 'PolicyId:' + str(self.PolicyId) + ')' + return f'UserIdentityToken(PolicyId:{self.PolicyId})' __repr__ = __str__ class AnonymousIdentityToken(FrozenClass): - ''' + """ A token representing an anonymous user. :ivar PolicyId: :vartype PolicyId: String - ''' + """ ua_types = [ ('PolicyId', 'String'), @@ -4674,13 +4456,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'AnonymousIdentityToken(' + 'PolicyId:' + str(self.PolicyId) + ')' + return f'AnonymousIdentityToken(PolicyId:{self.PolicyId})' __repr__ = __str__ class UserNameIdentityToken(FrozenClass): - ''' + """ A token representing a user identified by a user name and password. :ivar PolicyId: @@ -4691,7 +4473,7 @@ class UserNameIdentityToken(FrozenClass): :vartype Password: ByteString :ivar EncryptionAlgorithm: :vartype EncryptionAlgorithm: String - ''' + """ ua_types = [ ('PolicyId', 'String'), @@ -4708,23 +4490,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'UserNameIdentityToken(' + 'PolicyId:' + str(self.PolicyId) + ', ' + \ - 'UserName:' + str(self.UserName) + ', ' + \ - 'Password:' + str(self.Password) + ', ' + \ - 'EncryptionAlgorithm:' + str(self.EncryptionAlgorithm) + ')' + return f'UserNameIdentityToken(PolicyId:{self.PolicyId}, UserName:{self.UserName}, Password:{self.Password}, EncryptionAlgorithm:{self.EncryptionAlgorithm})' __repr__ = __str__ class X509IdentityToken(FrozenClass): - ''' + """ A token representing a user identified by an X509 certificate. :ivar PolicyId: :vartype PolicyId: String :ivar CertificateData: :vartype CertificateData: ByteString - ''' + """ ua_types = [ ('PolicyId', 'String'), @@ -4737,14 +4516,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'X509IdentityToken(' + 'PolicyId:' + str(self.PolicyId) + ', ' + \ - 'CertificateData:' + str(self.CertificateData) + ')' + return f'X509IdentityToken(PolicyId:{self.PolicyId}, CertificateData:{self.CertificateData})' __repr__ = __str__ class IssuedIdentityToken(FrozenClass): - ''' + """ A token representing a user identified by a WS-Security XML token. :ivar PolicyId: @@ -4753,7 +4531,7 @@ class IssuedIdentityToken(FrozenClass): :vartype TokenData: ByteString :ivar EncryptionAlgorithm: :vartype EncryptionAlgorithm: String - ''' + """ ua_types = [ ('PolicyId', 'String'), @@ -4768,15 +4546,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'IssuedIdentityToken(' + 'PolicyId:' + str(self.PolicyId) + ', ' + \ - 'TokenData:' + str(self.TokenData) + ', ' + \ - 'EncryptionAlgorithm:' + str(self.EncryptionAlgorithm) + ')' + return f'IssuedIdentityToken(PolicyId:{self.PolicyId}, TokenData:{self.TokenData}, EncryptionAlgorithm:{self.EncryptionAlgorithm})' __repr__ = __str__ class ActivateSessionParameters(FrozenClass): - ''' + """ :ivar ClientSignature: :vartype ClientSignature: SignatureData :ivar ClientSoftwareCertificates: @@ -4787,7 +4563,7 @@ class ActivateSessionParameters(FrozenClass): :vartype UserIdentityToken: ExtensionObject :ivar UserTokenSignature: :vartype UserTokenSignature: SignatureData - ''' + """ ua_types = [ ('ClientSignature', 'SignatureData'), @@ -4806,17 +4582,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ActivateSessionParameters(' + 'ClientSignature:' + str(self.ClientSignature) + ', ' + \ - 'ClientSoftwareCertificates:' + str(self.ClientSoftwareCertificates) + ', ' + \ - 'LocaleIds:' + str(self.LocaleIds) + ', ' + \ - 'UserIdentityToken:' + str(self.UserIdentityToken) + ', ' + \ - 'UserTokenSignature:' + str(self.UserTokenSignature) + ')' + return f'ActivateSessionParameters(ClientSignature:{self.ClientSignature}, ClientSoftwareCertificates:{self.ClientSoftwareCertificates}, LocaleIds:{self.LocaleIds}, UserIdentityToken:{self.UserIdentityToken}, UserTokenSignature:{self.UserTokenSignature})' __repr__ = __str__ class ActivateSessionRequest(FrozenClass): - ''' + """ Activates a session with the server. :ivar TypeId: @@ -4825,7 +4597,7 @@ class ActivateSessionRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: ActivateSessionParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -4840,22 +4612,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ActivateSessionRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'ActivateSessionRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class ActivateSessionResult(FrozenClass): - ''' + """ :ivar ServerNonce: :vartype ServerNonce: ByteString :ivar Results: :vartype Results: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('ServerNonce', 'ByteString'), @@ -4870,15 +4640,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ActivateSessionResult(' + 'ServerNonce:' + str(self.ServerNonce) + ', ' + \ - 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return f'ActivateSessionResult(ServerNonce:{self.ServerNonce}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ class ActivateSessionResponse(FrozenClass): - ''' + """ Activates a session with the server. :ivar TypeId: @@ -4887,7 +4655,7 @@ class ActivateSessionResponse(FrozenClass): :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: ActivateSessionResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -4902,15 +4670,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ActivateSessionResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'ActivateSessionResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class CloseSessionRequest(FrozenClass): - ''' + """ Closes a session with the server. :ivar TypeId: @@ -4919,7 +4685,7 @@ class CloseSessionRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar DeleteSubscriptions: :vartype DeleteSubscriptions: Boolean - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -4934,22 +4700,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CloseSessionRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'DeleteSubscriptions:' + str(self.DeleteSubscriptions) + ')' + return f'CloseSessionRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, DeleteSubscriptions:{self.DeleteSubscriptions})' __repr__ = __str__ class CloseSessionResponse(FrozenClass): - ''' + """ Closes a session with the server. :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -4962,17 +4726,16 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CloseSessionResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ')' + return f'CloseSessionResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader})' __repr__ = __str__ class CancelParameters(FrozenClass): - ''' + """ :ivar RequestHandle: :vartype RequestHandle: UInt32 - ''' + """ ua_types = [ ('RequestHandle', 'UInt32'), @@ -4983,13 +4746,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CancelParameters(' + 'RequestHandle:' + str(self.RequestHandle) + ')' + return f'CancelParameters(RequestHandle:{self.RequestHandle})' __repr__ = __str__ class CancelRequest(FrozenClass): - ''' + """ Cancels an outstanding request. :ivar TypeId: @@ -4998,7 +4761,7 @@ class CancelRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: CancelParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -5013,18 +4776,16 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CancelRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'CancelRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class CancelResult(FrozenClass): - ''' + """ :ivar CancelCount: :vartype CancelCount: UInt32 - ''' + """ ua_types = [ ('CancelCount', 'UInt32'), @@ -5035,13 +4796,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CancelResult(' + 'CancelCount:' + str(self.CancelCount) + ')' + return f'CancelResult(CancelCount:{self.CancelCount})' __repr__ = __str__ class CancelResponse(FrozenClass): - ''' + """ Cancels an outstanding request. :ivar TypeId: @@ -5050,7 +4811,7 @@ class CancelResponse(FrozenClass): :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: CancelResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -5065,15 +4826,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CancelResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'CancelResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class NodeAttributes(FrozenClass): - ''' + """ The base attributes for all nodes. :ivar SpecifiedAttributes: @@ -5086,7 +4845,7 @@ class NodeAttributes(FrozenClass): :vartype WriteMask: UInt32 :ivar UserWriteMask: :vartype UserWriteMask: UInt32 - ''' + """ ua_types = [ ('SpecifiedAttributes', 'UInt32'), @@ -5105,17 +4864,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'NodeAttributes(' + 'SpecifiedAttributes:' + str(self.SpecifiedAttributes) + ', ' + \ - 'DisplayName:' + str(self.DisplayName) + ', ' + \ - 'Description:' + str(self.Description) + ', ' + \ - 'WriteMask:' + str(self.WriteMask) + ', ' + \ - 'UserWriteMask:' + str(self.UserWriteMask) + ')' + return f'NodeAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}, DisplayName:{self.DisplayName}, Description:{self.Description}, WriteMask:{self.WriteMask}, UserWriteMask:{self.UserWriteMask})' __repr__ = __str__ class ObjectAttributes(FrozenClass): - ''' + """ The attributes for an object node. :ivar SpecifiedAttributes: @@ -5130,7 +4885,7 @@ class ObjectAttributes(FrozenClass): :vartype UserWriteMask: UInt32 :ivar EventNotifier: :vartype EventNotifier: Byte - ''' + """ ua_types = [ ('SpecifiedAttributes', 'UInt32'), @@ -5151,18 +4906,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ObjectAttributes(' + 'SpecifiedAttributes:' + str(self.SpecifiedAttributes) + ', ' + \ - 'DisplayName:' + str(self.DisplayName) + ', ' + \ - 'Description:' + str(self.Description) + ', ' + \ - 'WriteMask:' + str(self.WriteMask) + ', ' + \ - 'UserWriteMask:' + str(self.UserWriteMask) + ', ' + \ - 'EventNotifier:' + str(self.EventNotifier) + ')' + return f'ObjectAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}, DisplayName:{self.DisplayName}, Description:{self.Description}, WriteMask:{self.WriteMask}, UserWriteMask:{self.UserWriteMask}, EventNotifier:{self.EventNotifier})' __repr__ = __str__ class VariableAttributes(FrozenClass): - ''' + """ The attributes for a variable node. :ivar SpecifiedAttributes: @@ -5191,7 +4941,7 @@ class VariableAttributes(FrozenClass): :vartype MinimumSamplingInterval: Double :ivar Historizing: :vartype Historizing: Boolean - ''' + """ ua_types = [ ('SpecifiedAttributes', 'UInt32'), @@ -5226,25 +4976,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'VariableAttributes(' + 'SpecifiedAttributes:' + str(self.SpecifiedAttributes) + ', ' + \ - 'DisplayName:' + str(self.DisplayName) + ', ' + \ - 'Description:' + str(self.Description) + ', ' + \ - 'WriteMask:' + str(self.WriteMask) + ', ' + \ - 'UserWriteMask:' + str(self.UserWriteMask) + ', ' + \ - 'Value:' + str(self.Value) + ', ' + \ - 'DataType:' + str(self.DataType) + ', ' + \ - 'ValueRank:' + str(self.ValueRank) + ', ' + \ - 'ArrayDimensions:' + str(self.ArrayDimensions) + ', ' + \ - 'AccessLevel:' + str(self.AccessLevel) + ', ' + \ - 'UserAccessLevel:' + str(self.UserAccessLevel) + ', ' + \ - 'MinimumSamplingInterval:' + str(self.MinimumSamplingInterval) + ', ' + \ - 'Historizing:' + str(self.Historizing) + ')' + return f'VariableAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}, DisplayName:{self.DisplayName}, Description:{self.Description}, WriteMask:{self.WriteMask}, UserWriteMask:{self.UserWriteMask}, Value:{self.Value}, DataType:{self.DataType}, ValueRank:{self.ValueRank}, ArrayDimensions:{self.ArrayDimensions}, AccessLevel:{self.AccessLevel}, UserAccessLevel:{self.UserAccessLevel}, MinimumSamplingInterval:{self.MinimumSamplingInterval}, Historizing:{self.Historizing})' __repr__ = __str__ class MethodAttributes(FrozenClass): - ''' + """ The attributes for a method node. :ivar SpecifiedAttributes: @@ -5261,7 +4999,7 @@ class MethodAttributes(FrozenClass): :vartype Executable: Boolean :ivar UserExecutable: :vartype UserExecutable: Boolean - ''' + """ ua_types = [ ('SpecifiedAttributes', 'UInt32'), @@ -5284,19 +5022,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'MethodAttributes(' + 'SpecifiedAttributes:' + str(self.SpecifiedAttributes) + ', ' + \ - 'DisplayName:' + str(self.DisplayName) + ', ' + \ - 'Description:' + str(self.Description) + ', ' + \ - 'WriteMask:' + str(self.WriteMask) + ', ' + \ - 'UserWriteMask:' + str(self.UserWriteMask) + ', ' + \ - 'Executable:' + str(self.Executable) + ', ' + \ - 'UserExecutable:' + str(self.UserExecutable) + ')' + return f'MethodAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}, DisplayName:{self.DisplayName}, Description:{self.Description}, WriteMask:{self.WriteMask}, UserWriteMask:{self.UserWriteMask}, Executable:{self.Executable}, UserExecutable:{self.UserExecutable})' __repr__ = __str__ class ObjectTypeAttributes(FrozenClass): - ''' + """ The attributes for an object type node. :ivar SpecifiedAttributes: @@ -5311,7 +5043,7 @@ class ObjectTypeAttributes(FrozenClass): :vartype UserWriteMask: UInt32 :ivar IsAbstract: :vartype IsAbstract: Boolean - ''' + """ ua_types = [ ('SpecifiedAttributes', 'UInt32'), @@ -5332,18 +5064,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ObjectTypeAttributes(' + 'SpecifiedAttributes:' + str(self.SpecifiedAttributes) + ', ' + \ - 'DisplayName:' + str(self.DisplayName) + ', ' + \ - 'Description:' + str(self.Description) + ', ' + \ - 'WriteMask:' + str(self.WriteMask) + ', ' + \ - 'UserWriteMask:' + str(self.UserWriteMask) + ', ' + \ - 'IsAbstract:' + str(self.IsAbstract) + ')' + return f'ObjectTypeAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}, DisplayName:{self.DisplayName}, Description:{self.Description}, WriteMask:{self.WriteMask}, UserWriteMask:{self.UserWriteMask}, IsAbstract:{self.IsAbstract})' __repr__ = __str__ class VariableTypeAttributes(FrozenClass): - ''' + """ The attributes for a variable type node. :ivar SpecifiedAttributes: @@ -5366,7 +5093,7 @@ class VariableTypeAttributes(FrozenClass): :vartype ArrayDimensions: UInt32 :ivar IsAbstract: :vartype IsAbstract: Boolean - ''' + """ ua_types = [ ('SpecifiedAttributes', 'UInt32'), @@ -5395,22 +5122,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'VariableTypeAttributes(' + 'SpecifiedAttributes:' + str(self.SpecifiedAttributes) + ', ' + \ - 'DisplayName:' + str(self.DisplayName) + ', ' + \ - 'Description:' + str(self.Description) + ', ' + \ - 'WriteMask:' + str(self.WriteMask) + ', ' + \ - 'UserWriteMask:' + str(self.UserWriteMask) + ', ' + \ - 'Value:' + str(self.Value) + ', ' + \ - 'DataType:' + str(self.DataType) + ', ' + \ - 'ValueRank:' + str(self.ValueRank) + ', ' + \ - 'ArrayDimensions:' + str(self.ArrayDimensions) + ', ' + \ - 'IsAbstract:' + str(self.IsAbstract) + ')' + return f'VariableTypeAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}, DisplayName:{self.DisplayName}, Description:{self.Description}, WriteMask:{self.WriteMask}, UserWriteMask:{self.UserWriteMask}, Value:{self.Value}, DataType:{self.DataType}, ValueRank:{self.ValueRank}, ArrayDimensions:{self.ArrayDimensions}, IsAbstract:{self.IsAbstract})' __repr__ = __str__ class ReferenceTypeAttributes(FrozenClass): - ''' + """ The attributes for a reference type node. :ivar SpecifiedAttributes: @@ -5429,7 +5147,7 @@ class ReferenceTypeAttributes(FrozenClass): :vartype Symmetric: Boolean :ivar InverseName: :vartype InverseName: LocalizedText - ''' + """ ua_types = [ ('SpecifiedAttributes', 'UInt32'), @@ -5454,20 +5172,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ReferenceTypeAttributes(' + 'SpecifiedAttributes:' + str(self.SpecifiedAttributes) + ', ' + \ - 'DisplayName:' + str(self.DisplayName) + ', ' + \ - 'Description:' + str(self.Description) + ', ' + \ - 'WriteMask:' + str(self.WriteMask) + ', ' + \ - 'UserWriteMask:' + str(self.UserWriteMask) + ', ' + \ - 'IsAbstract:' + str(self.IsAbstract) + ', ' + \ - 'Symmetric:' + str(self.Symmetric) + ', ' + \ - 'InverseName:' + str(self.InverseName) + ')' + return f'ReferenceTypeAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}, DisplayName:{self.DisplayName}, Description:{self.Description}, WriteMask:{self.WriteMask}, UserWriteMask:{self.UserWriteMask}, IsAbstract:{self.IsAbstract}, Symmetric:{self.Symmetric}, InverseName:{self.InverseName})' __repr__ = __str__ class DataTypeAttributes(FrozenClass): - ''' + """ The attributes for a data type node. :ivar SpecifiedAttributes: @@ -5482,7 +5193,7 @@ class DataTypeAttributes(FrozenClass): :vartype UserWriteMask: UInt32 :ivar IsAbstract: :vartype IsAbstract: Boolean - ''' + """ ua_types = [ ('SpecifiedAttributes', 'UInt32'), @@ -5503,18 +5214,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DataTypeAttributes(' + 'SpecifiedAttributes:' + str(self.SpecifiedAttributes) + ', ' + \ - 'DisplayName:' + str(self.DisplayName) + ', ' + \ - 'Description:' + str(self.Description) + ', ' + \ - 'WriteMask:' + str(self.WriteMask) + ', ' + \ - 'UserWriteMask:' + str(self.UserWriteMask) + ', ' + \ - 'IsAbstract:' + str(self.IsAbstract) + ')' + return f'DataTypeAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}, DisplayName:{self.DisplayName}, Description:{self.Description}, WriteMask:{self.WriteMask}, UserWriteMask:{self.UserWriteMask}, IsAbstract:{self.IsAbstract})' __repr__ = __str__ class ViewAttributes(FrozenClass): - ''' + """ The attributes for a view node. :ivar SpecifiedAttributes: @@ -5531,7 +5237,7 @@ class ViewAttributes(FrozenClass): :vartype ContainsNoLoops: Boolean :ivar EventNotifier: :vartype EventNotifier: Byte - ''' + """ ua_types = [ ('SpecifiedAttributes', 'UInt32'), @@ -5554,24 +5260,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ViewAttributes(' + 'SpecifiedAttributes:' + str(self.SpecifiedAttributes) + ', ' + \ - 'DisplayName:' + str(self.DisplayName) + ', ' + \ - 'Description:' + str(self.Description) + ', ' + \ - 'WriteMask:' + str(self.WriteMask) + ', ' + \ - 'UserWriteMask:' + str(self.UserWriteMask) + ', ' + \ - 'ContainsNoLoops:' + str(self.ContainsNoLoops) + ', ' + \ - 'EventNotifier:' + str(self.EventNotifier) + ')' + return f'ViewAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}, DisplayName:{self.DisplayName}, Description:{self.Description}, WriteMask:{self.WriteMask}, UserWriteMask:{self.UserWriteMask}, ContainsNoLoops:{self.ContainsNoLoops}, EventNotifier:{self.EventNotifier})' __repr__ = __str__ class GenericAttributeValue(FrozenClass): - ''' + """ :ivar AttributeId: :vartype AttributeId: UInt32 :ivar Value: :vartype Value: Variant - ''' + """ ua_types = [ ('AttributeId', 'UInt32'), @@ -5584,14 +5284,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'GenericAttributeValue(' + 'AttributeId:' + str(self.AttributeId) + ', ' + \ - 'Value:' + str(self.Value) + ')' + return f'GenericAttributeValue(AttributeId:{self.AttributeId}, Value:{self.Value})' __repr__ = __str__ class GenericAttributes(FrozenClass): - ''' + """ :ivar SpecifiedAttributes: :vartype SpecifiedAttributes: UInt32 :ivar DisplayName: @@ -5604,7 +5303,7 @@ class GenericAttributes(FrozenClass): :vartype UserWriteMask: UInt32 :ivar AttributeValues: :vartype AttributeValues: GenericAttributeValue - ''' + """ ua_types = [ ('SpecifiedAttributes', 'UInt32'), @@ -5625,18 +5324,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'GenericAttributes(' + 'SpecifiedAttributes:' + str(self.SpecifiedAttributes) + ', ' + \ - 'DisplayName:' + str(self.DisplayName) + ', ' + \ - 'Description:' + str(self.Description) + ', ' + \ - 'WriteMask:' + str(self.WriteMask) + ', ' + \ - 'UserWriteMask:' + str(self.UserWriteMask) + ', ' + \ - 'AttributeValues:' + str(self.AttributeValues) + ')' + return f'GenericAttributes(SpecifiedAttributes:{self.SpecifiedAttributes}, DisplayName:{self.DisplayName}, Description:{self.Description}, WriteMask:{self.WriteMask}, UserWriteMask:{self.UserWriteMask}, AttributeValues:{self.AttributeValues})' __repr__ = __str__ class AddNodesItem(FrozenClass): - ''' + """ A request to add a node to the server address space. :ivar ParentNodeId: @@ -5653,7 +5347,7 @@ class AddNodesItem(FrozenClass): :vartype NodeAttributes: ExtensionObject :ivar TypeDefinition: :vartype TypeDefinition: ExpandedNodeId - ''' + """ ua_types = [ ('ParentNodeId', 'ExpandedNodeId'), @@ -5676,26 +5370,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'AddNodesItem(' + 'ParentNodeId:' + str(self.ParentNodeId) + ', ' + \ - 'ReferenceTypeId:' + str(self.ReferenceTypeId) + ', ' + \ - 'RequestedNewNodeId:' + str(self.RequestedNewNodeId) + ', ' + \ - 'BrowseName:' + str(self.BrowseName) + ', ' + \ - 'NodeClass:' + str(self.NodeClass) + ', ' + \ - 'NodeAttributes:' + str(self.NodeAttributes) + ', ' + \ - 'TypeDefinition:' + str(self.TypeDefinition) + ')' + return f'AddNodesItem(ParentNodeId:{self.ParentNodeId}, ReferenceTypeId:{self.ReferenceTypeId}, RequestedNewNodeId:{self.RequestedNewNodeId}, BrowseName:{self.BrowseName}, NodeClass:{self.NodeClass}, NodeAttributes:{self.NodeAttributes}, TypeDefinition:{self.TypeDefinition})' __repr__ = __str__ class AddNodesResult(FrozenClass): - ''' + """ A result of an add node operation. :ivar StatusCode: :vartype StatusCode: StatusCode :ivar AddedNodeId: :vartype AddedNodeId: NodeId - ''' + """ ua_types = [ ('StatusCode', 'StatusCode'), @@ -5708,17 +5396,16 @@ def __init__(self): self._freeze = True def __str__(self): - return 'AddNodesResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ - 'AddedNodeId:' + str(self.AddedNodeId) + ')' + return f'AddNodesResult(StatusCode:{self.StatusCode}, AddedNodeId:{self.AddedNodeId})' __repr__ = __str__ class AddNodesParameters(FrozenClass): - ''' + """ :ivar NodesToAdd: :vartype NodesToAdd: AddNodesItem - ''' + """ ua_types = [ ('NodesToAdd', 'ListOfAddNodesItem'), @@ -5729,13 +5416,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'AddNodesParameters(' + 'NodesToAdd:' + str(self.NodesToAdd) + ')' + return f'AddNodesParameters(NodesToAdd:{self.NodesToAdd})' __repr__ = __str__ class AddNodesRequest(FrozenClass): - ''' + """ Adds one or more nodes to the server address space. :ivar TypeId: @@ -5744,7 +5431,7 @@ class AddNodesRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: AddNodesParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -5759,15 +5446,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'AddNodesRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'AddNodesRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class AddNodesResponse(FrozenClass): - ''' + """ Adds one or more nodes to the server address space. :ivar TypeId: @@ -5778,7 +5463,7 @@ class AddNodesResponse(FrozenClass): :vartype Results: AddNodesResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -5795,16 +5480,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'AddNodesResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return f'AddNodesResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ class AddReferencesItem(FrozenClass): - ''' + """ A request to add a reference to the server address space. :ivar SourceNodeId: @@ -5819,7 +5501,7 @@ class AddReferencesItem(FrozenClass): :vartype TargetNodeId: ExpandedNodeId :ivar TargetNodeClass: :vartype TargetNodeClass: NodeClass - ''' + """ ua_types = [ ('SourceNodeId', 'NodeId'), @@ -5840,21 +5522,16 @@ def __init__(self): self._freeze = True def __str__(self): - return 'AddReferencesItem(' + 'SourceNodeId:' + str(self.SourceNodeId) + ', ' + \ - 'ReferenceTypeId:' + str(self.ReferenceTypeId) + ', ' + \ - 'IsForward:' + str(self.IsForward) + ', ' + \ - 'TargetServerUri:' + str(self.TargetServerUri) + ', ' + \ - 'TargetNodeId:' + str(self.TargetNodeId) + ', ' + \ - 'TargetNodeClass:' + str(self.TargetNodeClass) + ')' + return f'AddReferencesItem(SourceNodeId:{self.SourceNodeId}, ReferenceTypeId:{self.ReferenceTypeId}, IsForward:{self.IsForward}, TargetServerUri:{self.TargetServerUri}, TargetNodeId:{self.TargetNodeId}, TargetNodeClass:{self.TargetNodeClass})' __repr__ = __str__ class AddReferencesParameters(FrozenClass): - ''' + """ :ivar ReferencesToAdd: :vartype ReferencesToAdd: AddReferencesItem - ''' + """ ua_types = [ ('ReferencesToAdd', 'ListOfAddReferencesItem'), @@ -5865,13 +5542,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'AddReferencesParameters(' + 'ReferencesToAdd:' + str(self.ReferencesToAdd) + ')' + return f'AddReferencesParameters(ReferencesToAdd:{self.ReferencesToAdd})' __repr__ = __str__ class AddReferencesRequest(FrozenClass): - ''' + """ Adds one or more references to the server address space. :ivar TypeId: @@ -5880,7 +5557,7 @@ class AddReferencesRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: AddReferencesParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -5895,15 +5572,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'AddReferencesRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'AddReferencesRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class AddReferencesResponse(FrozenClass): - ''' + """ Adds one or more references to the server address space. :ivar TypeId: @@ -5914,7 +5589,7 @@ class AddReferencesResponse(FrozenClass): :vartype Results: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -5931,23 +5606,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'AddReferencesResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return f'AddReferencesResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ class DeleteNodesItem(FrozenClass): - ''' + """ A request to delete a node to the server address space. :ivar NodeId: :vartype NodeId: NodeId :ivar DeleteTargetReferences: :vartype DeleteTargetReferences: Boolean - ''' + """ ua_types = [ ('NodeId', 'NodeId'), @@ -5960,17 +5632,16 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DeleteNodesItem(' + 'NodeId:' + str(self.NodeId) + ', ' + \ - 'DeleteTargetReferences:' + str(self.DeleteTargetReferences) + ')' + return f'DeleteNodesItem(NodeId:{self.NodeId}, DeleteTargetReferences:{self.DeleteTargetReferences})' __repr__ = __str__ class DeleteNodesParameters(FrozenClass): - ''' + """ :ivar NodesToDelete: :vartype NodesToDelete: DeleteNodesItem - ''' + """ ua_types = [ ('NodesToDelete', 'ListOfDeleteNodesItem'), @@ -5981,13 +5652,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DeleteNodesParameters(' + 'NodesToDelete:' + str(self.NodesToDelete) + ')' + return f'DeleteNodesParameters(NodesToDelete:{self.NodesToDelete})' __repr__ = __str__ class DeleteNodesRequest(FrozenClass): - ''' + """ Delete one or more nodes from the server address space. :ivar TypeId: @@ -5996,7 +5667,7 @@ class DeleteNodesRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: DeleteNodesParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -6011,15 +5682,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DeleteNodesRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'DeleteNodesRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class DeleteNodesResponse(FrozenClass): - ''' + """ Delete one or more nodes from the server address space. :ivar TypeId: @@ -6030,7 +5699,7 @@ class DeleteNodesResponse(FrozenClass): :vartype Results: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -6047,16 +5716,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DeleteNodesResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return f'DeleteNodesResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ class DeleteReferencesItem(FrozenClass): - ''' + """ A request to delete a node from the server address space. :ivar SourceNodeId: @@ -6069,7 +5735,7 @@ class DeleteReferencesItem(FrozenClass): :vartype TargetNodeId: ExpandedNodeId :ivar DeleteBidirectional: :vartype DeleteBidirectional: Boolean - ''' + """ ua_types = [ ('SourceNodeId', 'NodeId'), @@ -6088,20 +5754,16 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DeleteReferencesItem(' + 'SourceNodeId:' + str(self.SourceNodeId) + ', ' + \ - 'ReferenceTypeId:' + str(self.ReferenceTypeId) + ', ' + \ - 'IsForward:' + str(self.IsForward) + ', ' + \ - 'TargetNodeId:' + str(self.TargetNodeId) + ', ' + \ - 'DeleteBidirectional:' + str(self.DeleteBidirectional) + ')' + return f'DeleteReferencesItem(SourceNodeId:{self.SourceNodeId}, ReferenceTypeId:{self.ReferenceTypeId}, IsForward:{self.IsForward}, TargetNodeId:{self.TargetNodeId}, DeleteBidirectional:{self.DeleteBidirectional})' __repr__ = __str__ class DeleteReferencesParameters(FrozenClass): - ''' + """ :ivar ReferencesToDelete: :vartype ReferencesToDelete: DeleteReferencesItem - ''' + """ ua_types = [ ('ReferencesToDelete', 'ListOfDeleteReferencesItem'), @@ -6112,13 +5774,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DeleteReferencesParameters(' + 'ReferencesToDelete:' + str(self.ReferencesToDelete) + ')' + return f'DeleteReferencesParameters(ReferencesToDelete:{self.ReferencesToDelete})' __repr__ = __str__ class DeleteReferencesRequest(FrozenClass): - ''' + """ Delete one or more references from the server address space. :ivar TypeId: @@ -6127,7 +5789,7 @@ class DeleteReferencesRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: DeleteReferencesParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -6142,20 +5804,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DeleteReferencesRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'DeleteReferencesRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class DeleteReferencesResult(FrozenClass): - ''' + """ :ivar Results: :vartype Results: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('Results', 'ListOfStatusCode'), @@ -6168,14 +5828,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DeleteReferencesResult(' + 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return f'DeleteReferencesResult(Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ class DeleteReferencesResponse(FrozenClass): - ''' + """ Delete one or more references from the server address space. :ivar TypeId: @@ -6184,7 +5843,7 @@ class DeleteReferencesResponse(FrozenClass): :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: DeleteReferencesResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -6199,15 +5858,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DeleteReferencesResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'DeleteReferencesResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class ViewDescription(FrozenClass): - ''' + """ The view to browse. :ivar ViewId: @@ -6216,7 +5873,7 @@ class ViewDescription(FrozenClass): :vartype Timestamp: DateTime :ivar ViewVersion: :vartype ViewVersion: UInt32 - ''' + """ ua_types = [ ('ViewId', 'NodeId'), @@ -6231,15 +5888,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ViewDescription(' + 'ViewId:' + str(self.ViewId) + ', ' + \ - 'Timestamp:' + str(self.Timestamp) + ', ' + \ - 'ViewVersion:' + str(self.ViewVersion) + ')' + return f'ViewDescription(ViewId:{self.ViewId}, Timestamp:{self.Timestamp}, ViewVersion:{self.ViewVersion})' __repr__ = __str__ class BrowseDescription(FrozenClass): - ''' + """ A request to browse the the references from a node. :ivar NodeId: @@ -6254,7 +5909,7 @@ class BrowseDescription(FrozenClass): :vartype NodeClassMask: UInt32 :ivar ResultMask: :vartype ResultMask: UInt32 - ''' + """ ua_types = [ ('NodeId', 'NodeId'), @@ -6275,18 +5930,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'BrowseDescription(' + 'NodeId:' + str(self.NodeId) + ', ' + \ - 'BrowseDirection:' + str(self.BrowseDirection) + ', ' + \ - 'ReferenceTypeId:' + str(self.ReferenceTypeId) + ', ' + \ - 'IncludeSubtypes:' + str(self.IncludeSubtypes) + ', ' + \ - 'NodeClassMask:' + str(self.NodeClassMask) + ', ' + \ - 'ResultMask:' + str(self.ResultMask) + ')' + return f'BrowseDescription(NodeId:{self.NodeId}, BrowseDirection:{self.BrowseDirection}, ReferenceTypeId:{self.ReferenceTypeId}, IncludeSubtypes:{self.IncludeSubtypes}, NodeClassMask:{self.NodeClassMask}, ResultMask:{self.ResultMask})' __repr__ = __str__ class ReferenceDescription(FrozenClass): - ''' + """ The description of a reference. :ivar ReferenceTypeId: @@ -6303,7 +5953,7 @@ class ReferenceDescription(FrozenClass): :vartype NodeClass: NodeClass :ivar TypeDefinition: :vartype TypeDefinition: ExpandedNodeId - ''' + """ ua_types = [ ('ReferenceTypeId', 'NodeId'), @@ -6326,19 +5976,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ReferenceDescription(' + 'ReferenceTypeId:' + str(self.ReferenceTypeId) + ', ' + \ - 'IsForward:' + str(self.IsForward) + ', ' + \ - 'NodeId:' + str(self.NodeId) + ', ' + \ - 'BrowseName:' + str(self.BrowseName) + ', ' + \ - 'DisplayName:' + str(self.DisplayName) + ', ' + \ - 'NodeClass:' + str(self.NodeClass) + ', ' + \ - 'TypeDefinition:' + str(self.TypeDefinition) + ')' + return f'ReferenceDescription(ReferenceTypeId:{self.ReferenceTypeId}, IsForward:{self.IsForward}, NodeId:{self.NodeId}, BrowseName:{self.BrowseName}, DisplayName:{self.DisplayName}, NodeClass:{self.NodeClass}, TypeDefinition:{self.TypeDefinition})' __repr__ = __str__ class BrowseResult(FrozenClass): - ''' + """ The result of a browse operation. :ivar StatusCode: @@ -6347,7 +5991,7 @@ class BrowseResult(FrozenClass): :vartype ContinuationPoint: ByteString :ivar References: :vartype References: ReferenceDescription - ''' + """ ua_types = [ ('StatusCode', 'StatusCode'), @@ -6362,22 +6006,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'BrowseResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ - 'ContinuationPoint:' + str(self.ContinuationPoint) + ', ' + \ - 'References:' + str(self.References) + ')' + return f'BrowseResult(StatusCode:{self.StatusCode}, ContinuationPoint:{self.ContinuationPoint}, References:{self.References})' __repr__ = __str__ class BrowseParameters(FrozenClass): - ''' + """ :ivar View: :vartype View: ViewDescription :ivar RequestedMaxReferencesPerNode: :vartype RequestedMaxReferencesPerNode: UInt32 :ivar NodesToBrowse: :vartype NodesToBrowse: BrowseDescription - ''' + """ ua_types = [ ('View', 'ViewDescription'), @@ -6392,15 +6034,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'BrowseParameters(' + 'View:' + str(self.View) + ', ' + \ - 'RequestedMaxReferencesPerNode:' + str(self.RequestedMaxReferencesPerNode) + ', ' + \ - 'NodesToBrowse:' + str(self.NodesToBrowse) + ')' + return f'BrowseParameters(View:{self.View}, RequestedMaxReferencesPerNode:{self.RequestedMaxReferencesPerNode}, NodesToBrowse:{self.NodesToBrowse})' __repr__ = __str__ class BrowseRequest(FrozenClass): - ''' + """ Browse the references for one or more nodes from the server address space. :ivar TypeId: @@ -6409,7 +6049,7 @@ class BrowseRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: BrowseParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -6424,15 +6064,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'BrowseRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'BrowseRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class BrowseResponse(FrozenClass): - ''' + """ Browse the references for one or more nodes from the server address space. :ivar TypeId: @@ -6443,7 +6081,7 @@ class BrowseResponse(FrozenClass): :vartype Results: BrowseResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -6460,21 +6098,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'BrowseResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return f'BrowseResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ class BrowseNextParameters(FrozenClass): - ''' + """ :ivar ReleaseContinuationPoints: :vartype ReleaseContinuationPoints: Boolean :ivar ContinuationPoints: :vartype ContinuationPoints: ByteString - ''' + """ ua_types = [ ('ReleaseContinuationPoints', 'Boolean'), @@ -6487,14 +6122,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'BrowseNextParameters(' + 'ReleaseContinuationPoints:' + str(self.ReleaseContinuationPoints) + ', ' + \ - 'ContinuationPoints:' + str(self.ContinuationPoints) + ')' + return f'BrowseNextParameters(ReleaseContinuationPoints:{self.ReleaseContinuationPoints}, ContinuationPoints:{self.ContinuationPoints})' __repr__ = __str__ class BrowseNextRequest(FrozenClass): - ''' + """ Continues one or more browse operations. :ivar TypeId: @@ -6503,7 +6137,7 @@ class BrowseNextRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: BrowseNextParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -6518,20 +6152,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'BrowseNextRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'BrowseNextRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class BrowseNextResult(FrozenClass): - ''' + """ :ivar Results: :vartype Results: BrowseResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('Results', 'ListOfBrowseResult'), @@ -6544,14 +6176,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'BrowseNextResult(' + 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return f'BrowseNextResult(Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ class BrowseNextResponse(FrozenClass): - ''' + """ Continues one or more browse operations. :ivar TypeId: @@ -6560,7 +6191,7 @@ class BrowseNextResponse(FrozenClass): :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: BrowseNextResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -6575,15 +6206,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'BrowseNextResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'BrowseNextResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class RelativePathElement(FrozenClass): - ''' + """ An element in a relative path. :ivar ReferenceTypeId: @@ -6594,7 +6223,7 @@ class RelativePathElement(FrozenClass): :vartype IncludeSubtypes: Boolean :ivar TargetName: :vartype TargetName: QualifiedName - ''' + """ ua_types = [ ('ReferenceTypeId', 'NodeId'), @@ -6611,21 +6240,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'RelativePathElement(' + 'ReferenceTypeId:' + str(self.ReferenceTypeId) + ', ' + \ - 'IsInverse:' + str(self.IsInverse) + ', ' + \ - 'IncludeSubtypes:' + str(self.IncludeSubtypes) + ', ' + \ - 'TargetName:' + str(self.TargetName) + ')' + return f'RelativePathElement(ReferenceTypeId:{self.ReferenceTypeId}, IsInverse:{self.IsInverse}, IncludeSubtypes:{self.IncludeSubtypes}, TargetName:{self.TargetName})' __repr__ = __str__ class RelativePath(FrozenClass): - ''' + """ A relative path constructed from reference types and browse names. :ivar Elements: :vartype Elements: RelativePathElement - ''' + """ ua_types = [ ('Elements', 'ListOfRelativePathElement'), @@ -6636,20 +6262,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'RelativePath(' + 'Elements:' + str(self.Elements) + ')' + return f'RelativePath(Elements:{self.Elements})' __repr__ = __str__ class BrowsePath(FrozenClass): - ''' + """ A request to translate a path into a node id. :ivar StartingNode: :vartype StartingNode: NodeId :ivar RelativePath: :vartype RelativePath: RelativePath - ''' + """ ua_types = [ ('StartingNode', 'NodeId'), @@ -6662,21 +6288,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'BrowsePath(' + 'StartingNode:' + str(self.StartingNode) + ', ' + \ - 'RelativePath:' + str(self.RelativePath) + ')' + return f'BrowsePath(StartingNode:{self.StartingNode}, RelativePath:{self.RelativePath})' __repr__ = __str__ class BrowsePathTarget(FrozenClass): - ''' + """ The target of the translated path. :ivar TargetId: :vartype TargetId: ExpandedNodeId :ivar RemainingPathIndex: :vartype RemainingPathIndex: UInt32 - ''' + """ ua_types = [ ('TargetId', 'ExpandedNodeId'), @@ -6689,21 +6314,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'BrowsePathTarget(' + 'TargetId:' + str(self.TargetId) + ', ' + \ - 'RemainingPathIndex:' + str(self.RemainingPathIndex) + ')' + return f'BrowsePathTarget(TargetId:{self.TargetId}, RemainingPathIndex:{self.RemainingPathIndex})' __repr__ = __str__ class BrowsePathResult(FrozenClass): - ''' + """ The result of a translate opearation. :ivar StatusCode: :vartype StatusCode: StatusCode :ivar Targets: :vartype Targets: BrowsePathTarget - ''' + """ ua_types = [ ('StatusCode', 'StatusCode'), @@ -6716,17 +6340,16 @@ def __init__(self): self._freeze = True def __str__(self): - return 'BrowsePathResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ - 'Targets:' + str(self.Targets) + ')' + return f'BrowsePathResult(StatusCode:{self.StatusCode}, Targets:{self.Targets})' __repr__ = __str__ class TranslateBrowsePathsToNodeIdsParameters(FrozenClass): - ''' + """ :ivar BrowsePaths: :vartype BrowsePaths: BrowsePath - ''' + """ ua_types = [ ('BrowsePaths', 'ListOfBrowsePath'), @@ -6737,13 +6360,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'TranslateBrowsePathsToNodeIdsParameters(' + 'BrowsePaths:' + str(self.BrowsePaths) + ')' + return f'TranslateBrowsePathsToNodeIdsParameters(BrowsePaths:{self.BrowsePaths})' __repr__ = __str__ class TranslateBrowsePathsToNodeIdsRequest(FrozenClass): - ''' + """ Translates one or more paths in the server address space. :ivar TypeId: @@ -6752,7 +6375,7 @@ class TranslateBrowsePathsToNodeIdsRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: TranslateBrowsePathsToNodeIdsParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -6767,15 +6390,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'TranslateBrowsePathsToNodeIdsRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'TranslateBrowsePathsToNodeIdsRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class TranslateBrowsePathsToNodeIdsResponse(FrozenClass): - ''' + """ Translates one or more paths in the server address space. :ivar TypeId: @@ -6786,7 +6407,7 @@ class TranslateBrowsePathsToNodeIdsResponse(FrozenClass): :vartype Results: BrowsePathResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -6803,19 +6424,16 @@ def __init__(self): self._freeze = True def __str__(self): - return 'TranslateBrowsePathsToNodeIdsResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return f'TranslateBrowsePathsToNodeIdsResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ class RegisterNodesParameters(FrozenClass): - ''' + """ :ivar NodesToRegister: :vartype NodesToRegister: NodeId - ''' + """ ua_types = [ ('NodesToRegister', 'ListOfNodeId'), @@ -6826,13 +6444,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'RegisterNodesParameters(' + 'NodesToRegister:' + str(self.NodesToRegister) + ')' + return f'RegisterNodesParameters(NodesToRegister:{self.NodesToRegister})' __repr__ = __str__ class RegisterNodesRequest(FrozenClass): - ''' + """ Registers one or more nodes for repeated use within a session. :ivar TypeId: @@ -6841,7 +6459,7 @@ class RegisterNodesRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: RegisterNodesParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -6856,18 +6474,16 @@ def __init__(self): self._freeze = True def __str__(self): - return 'RegisterNodesRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'RegisterNodesRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class RegisterNodesResult(FrozenClass): - ''' + """ :ivar RegisteredNodeIds: :vartype RegisteredNodeIds: NodeId - ''' + """ ua_types = [ ('RegisteredNodeIds', 'ListOfNodeId'), @@ -6878,13 +6494,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'RegisterNodesResult(' + 'RegisteredNodeIds:' + str(self.RegisteredNodeIds) + ')' + return f'RegisterNodesResult(RegisteredNodeIds:{self.RegisteredNodeIds})' __repr__ = __str__ class RegisterNodesResponse(FrozenClass): - ''' + """ Registers one or more nodes for repeated use within a session. :ivar TypeId: @@ -6893,7 +6509,7 @@ class RegisterNodesResponse(FrozenClass): :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: RegisterNodesResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -6908,18 +6524,16 @@ def __init__(self): self._freeze = True def __str__(self): - return 'RegisterNodesResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'RegisterNodesResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class UnregisterNodesParameters(FrozenClass): - ''' + """ :ivar NodesToUnregister: :vartype NodesToUnregister: NodeId - ''' + """ ua_types = [ ('NodesToUnregister', 'ListOfNodeId'), @@ -6930,13 +6544,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'UnregisterNodesParameters(' + 'NodesToUnregister:' + str(self.NodesToUnregister) + ')' + return f'UnregisterNodesParameters(NodesToUnregister:{self.NodesToUnregister})' __repr__ = __str__ class UnregisterNodesRequest(FrozenClass): - ''' + """ Unregisters one or more previously registered nodes. :ivar TypeId: @@ -6945,7 +6559,7 @@ class UnregisterNodesRequest(FrozenClass): :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: UnregisterNodesParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -6960,22 +6574,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'UnregisterNodesRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'UnregisterNodesRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class UnregisterNodesResponse(FrozenClass): - ''' + """ Unregisters one or more previously registered nodes. :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -6988,14 +6600,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'UnregisterNodesResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ')' + return f'UnregisterNodesResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader})' __repr__ = __str__ class EndpointConfiguration(FrozenClass): - ''' + """ :ivar OperationTimeout: :vartype OperationTimeout: Int32 :ivar UseBinaryEncoding: @@ -7014,7 +6625,7 @@ class EndpointConfiguration(FrozenClass): :vartype ChannelLifetime: Int32 :ivar SecurityTokenLifetime: :vartype SecurityTokenLifetime: Int32 - ''' + """ ua_types = [ ('OperationTimeout', 'Int32'), @@ -7041,28 +6652,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'EndpointConfiguration(' + 'OperationTimeout:' + str(self.OperationTimeout) + ', ' + \ - 'UseBinaryEncoding:' + str(self.UseBinaryEncoding) + ', ' + \ - 'MaxStringLength:' + str(self.MaxStringLength) + ', ' + \ - 'MaxByteStringLength:' + str(self.MaxByteStringLength) + ', ' + \ - 'MaxArrayLength:' + str(self.MaxArrayLength) + ', ' + \ - 'MaxMessageSize:' + str(self.MaxMessageSize) + ', ' + \ - 'MaxBufferSize:' + str(self.MaxBufferSize) + ', ' + \ - 'ChannelLifetime:' + str(self.ChannelLifetime) + ', ' + \ - 'SecurityTokenLifetime:' + str(self.SecurityTokenLifetime) + ')' + return f'EndpointConfiguration(OperationTimeout:{self.OperationTimeout}, UseBinaryEncoding:{self.UseBinaryEncoding}, MaxStringLength:{self.MaxStringLength}, MaxByteStringLength:{self.MaxByteStringLength}, MaxArrayLength:{self.MaxArrayLength}, MaxMessageSize:{self.MaxMessageSize}, MaxBufferSize:{self.MaxBufferSize}, ChannelLifetime:{self.ChannelLifetime}, SecurityTokenLifetime:{self.SecurityTokenLifetime})' __repr__ = __str__ class QueryDataDescription(FrozenClass): - ''' + """ :ivar RelativePath: :vartype RelativePath: RelativePath :ivar AttributeId: :vartype AttributeId: UInt32 :ivar IndexRange: :vartype IndexRange: String - ''' + """ ua_types = [ ('RelativePath', 'RelativePath'), @@ -7077,22 +6680,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'QueryDataDescription(' + 'RelativePath:' + str(self.RelativePath) + ', ' + \ - 'AttributeId:' + str(self.AttributeId) + ', ' + \ - 'IndexRange:' + str(self.IndexRange) + ')' + return f'QueryDataDescription(RelativePath:{self.RelativePath}, AttributeId:{self.AttributeId}, IndexRange:{self.IndexRange})' __repr__ = __str__ class NodeTypeDescription(FrozenClass): - ''' + """ :ivar TypeDefinitionNode: :vartype TypeDefinitionNode: ExpandedNodeId :ivar IncludeSubTypes: :vartype IncludeSubTypes: Boolean :ivar DataToReturn: :vartype DataToReturn: QueryDataDescription - ''' + """ ua_types = [ ('TypeDefinitionNode', 'ExpandedNodeId'), @@ -7107,22 +6708,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'NodeTypeDescription(' + 'TypeDefinitionNode:' + str(self.TypeDefinitionNode) + ', ' + \ - 'IncludeSubTypes:' + str(self.IncludeSubTypes) + ', ' + \ - 'DataToReturn:' + str(self.DataToReturn) + ')' + return f'NodeTypeDescription(TypeDefinitionNode:{self.TypeDefinitionNode}, IncludeSubTypes:{self.IncludeSubTypes}, DataToReturn:{self.DataToReturn})' __repr__ = __str__ class QueryDataSet(FrozenClass): - ''' + """ :ivar NodeId: :vartype NodeId: ExpandedNodeId :ivar TypeDefinitionNode: :vartype TypeDefinitionNode: ExpandedNodeId :ivar Values: :vartype Values: Variant - ''' + """ ua_types = [ ('NodeId', 'ExpandedNodeId'), @@ -7137,15 +6736,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'QueryDataSet(' + 'NodeId:' + str(self.NodeId) + ', ' + \ - 'TypeDefinitionNode:' + str(self.TypeDefinitionNode) + ', ' + \ - 'Values:' + str(self.Values) + ')' + return f'QueryDataSet(NodeId:{self.NodeId}, TypeDefinitionNode:{self.TypeDefinitionNode}, Values:{self.Values})' __repr__ = __str__ class NodeReference(FrozenClass): - ''' + """ :ivar NodeId: :vartype NodeId: NodeId :ivar ReferenceTypeId: @@ -7154,7 +6751,7 @@ class NodeReference(FrozenClass): :vartype IsForward: Boolean :ivar ReferencedNodeIds: :vartype ReferencedNodeIds: NodeId - ''' + """ ua_types = [ ('NodeId', 'NodeId'), @@ -7171,21 +6768,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'NodeReference(' + 'NodeId:' + str(self.NodeId) + ', ' + \ - 'ReferenceTypeId:' + str(self.ReferenceTypeId) + ', ' + \ - 'IsForward:' + str(self.IsForward) + ', ' + \ - 'ReferencedNodeIds:' + str(self.ReferencedNodeIds) + ')' + return f'NodeReference(NodeId:{self.NodeId}, ReferenceTypeId:{self.ReferenceTypeId}, IsForward:{self.IsForward}, ReferencedNodeIds:{self.ReferencedNodeIds})' __repr__ = __str__ class ContentFilterElement(FrozenClass): - ''' + """ :ivar FilterOperator: :vartype FilterOperator: FilterOperator :ivar FilterOperands: :vartype FilterOperands: ExtensionObject - ''' + """ ua_types = [ ('FilterOperator', 'FilterOperator'), @@ -7198,17 +6792,16 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ContentFilterElement(' + 'FilterOperator:' + str(self.FilterOperator) + ', ' + \ - 'FilterOperands:' + str(self.FilterOperands) + ')' + return f'ContentFilterElement(FilterOperator:{self.FilterOperator}, FilterOperands:{self.FilterOperands})' __repr__ = __str__ class ContentFilter(FrozenClass): - ''' + """ :ivar Elements: :vartype Elements: ContentFilterElement - ''' + """ ua_types = [ ('Elements', 'ListOfContentFilterElement'), @@ -7219,16 +6812,16 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ContentFilter(' + 'Elements:' + str(self.Elements) + ')' + return f'ContentFilter(Elements:{self.Elements})' __repr__ = __str__ class ElementOperand(FrozenClass): - ''' + """ :ivar Index: :vartype Index: UInt32 - ''' + """ ua_types = [ ('Index', 'UInt32'), @@ -7239,16 +6832,16 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ElementOperand(' + 'Index:' + str(self.Index) + ')' + return f'ElementOperand(Index:{self.Index})' __repr__ = __str__ class LiteralOperand(FrozenClass): - ''' + """ :ivar Value: :vartype Value: Variant - ''' + """ ua_types = [ ('Value', 'Variant'), @@ -7259,13 +6852,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'LiteralOperand(' + 'Value:' + str(self.Value) + ')' + return f'LiteralOperand(Value:{self.Value})' __repr__ = __str__ class AttributeOperand(FrozenClass): - ''' + """ :ivar NodeId: :vartype NodeId: NodeId :ivar Alias: @@ -7276,7 +6869,7 @@ class AttributeOperand(FrozenClass): :vartype AttributeId: UInt32 :ivar IndexRange: :vartype IndexRange: String - ''' + """ ua_types = [ ('NodeId', 'NodeId'), @@ -7295,17 +6888,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'AttributeOperand(' + 'NodeId:' + str(self.NodeId) + ', ' + \ - 'Alias:' + str(self.Alias) + ', ' + \ - 'BrowsePath:' + str(self.BrowsePath) + ', ' + \ - 'AttributeId:' + str(self.AttributeId) + ', ' + \ - 'IndexRange:' + str(self.IndexRange) + ')' + return f'AttributeOperand(NodeId:{self.NodeId}, Alias:{self.Alias}, BrowsePath:{self.BrowsePath}, AttributeId:{self.AttributeId}, IndexRange:{self.IndexRange})' __repr__ = __str__ class SimpleAttributeOperand(FrozenClass): - ''' + """ :ivar TypeDefinitionId: :vartype TypeDefinitionId: NodeId :ivar BrowsePath: @@ -7314,7 +6903,7 @@ class SimpleAttributeOperand(FrozenClass): :vartype AttributeId: UInt32 :ivar IndexRange: :vartype IndexRange: String - ''' + """ ua_types = [ ('TypeDefinitionId', 'NodeId'), @@ -7331,23 +6920,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SimpleAttributeOperand(' + 'TypeDefinitionId:' + str(self.TypeDefinitionId) + ', ' + \ - 'BrowsePath:' + str(self.BrowsePath) + ', ' + \ - 'AttributeId:' + str(self.AttributeId) + ', ' + \ - 'IndexRange:' + str(self.IndexRange) + ')' + return f'SimpleAttributeOperand(TypeDefinitionId:{self.TypeDefinitionId}, BrowsePath:{self.BrowsePath}, AttributeId:{self.AttributeId}, IndexRange:{self.IndexRange})' __repr__ = __str__ class ContentFilterElementResult(FrozenClass): - ''' + """ :ivar StatusCode: :vartype StatusCode: StatusCode :ivar OperandStatusCodes: :vartype OperandStatusCodes: StatusCode :ivar OperandDiagnosticInfos: :vartype OperandDiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('StatusCode', 'StatusCode'), @@ -7362,20 +6948,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ContentFilterElementResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ - 'OperandStatusCodes:' + str(self.OperandStatusCodes) + ', ' + \ - 'OperandDiagnosticInfos:' + str(self.OperandDiagnosticInfos) + ')' + return f'ContentFilterElementResult(StatusCode:{self.StatusCode}, OperandStatusCodes:{self.OperandStatusCodes}, OperandDiagnosticInfos:{self.OperandDiagnosticInfos})' __repr__ = __str__ class ContentFilterResult(FrozenClass): - ''' + """ :ivar ElementResults: :vartype ElementResults: ContentFilterElementResult :ivar ElementDiagnosticInfos: :vartype ElementDiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('ElementResults', 'ListOfContentFilterElementResult'), @@ -7388,21 +6972,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ContentFilterResult(' + 'ElementResults:' + str(self.ElementResults) + ', ' + \ - 'ElementDiagnosticInfos:' + str(self.ElementDiagnosticInfos) + ')' + return f'ContentFilterResult(ElementResults:{self.ElementResults}, ElementDiagnosticInfos:{self.ElementDiagnosticInfos})' __repr__ = __str__ class ParsingResult(FrozenClass): - ''' + """ :ivar StatusCode: :vartype StatusCode: StatusCode :ivar DataStatusCodes: :vartype DataStatusCodes: StatusCode :ivar DataDiagnosticInfos: :vartype DataDiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('StatusCode', 'StatusCode'), @@ -7417,15 +7000,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ParsingResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ - 'DataStatusCodes:' + str(self.DataStatusCodes) + ', ' + \ - 'DataDiagnosticInfos:' + str(self.DataDiagnosticInfos) + ')' + return f'ParsingResult(StatusCode:{self.StatusCode}, DataStatusCodes:{self.DataStatusCodes}, DataDiagnosticInfos:{self.DataDiagnosticInfos})' __repr__ = __str__ class QueryFirstParameters(FrozenClass): - ''' + """ :ivar View: :vartype View: ViewDescription :ivar NodeTypes: @@ -7436,7 +7017,7 @@ class QueryFirstParameters(FrozenClass): :vartype MaxDataSetsToReturn: UInt32 :ivar MaxReferencesToReturn: :vartype MaxReferencesToReturn: UInt32 - ''' + """ ua_types = [ ('View', 'ViewDescription'), @@ -7455,24 +7036,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'QueryFirstParameters(' + 'View:' + str(self.View) + ', ' + \ - 'NodeTypes:' + str(self.NodeTypes) + ', ' + \ - 'Filter:' + str(self.Filter) + ', ' + \ - 'MaxDataSetsToReturn:' + str(self.MaxDataSetsToReturn) + ', ' + \ - 'MaxReferencesToReturn:' + str(self.MaxReferencesToReturn) + ')' + return f'QueryFirstParameters(View:{self.View}, NodeTypes:{self.NodeTypes}, Filter:{self.Filter}, MaxDataSetsToReturn:{self.MaxDataSetsToReturn}, MaxReferencesToReturn:{self.MaxReferencesToReturn})' __repr__ = __str__ class QueryFirstRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: QueryFirstParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -7487,15 +7064,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'QueryFirstRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'QueryFirstRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class QueryFirstResult(FrozenClass): - ''' + """ :ivar QueryDataSets: :vartype QueryDataSets: QueryDataSet :ivar ContinuationPoint: @@ -7506,7 +7081,7 @@ class QueryFirstResult(FrozenClass): :vartype DiagnosticInfos: DiagnosticInfo :ivar FilterResult: :vartype FilterResult: ContentFilterResult - ''' + """ ua_types = [ ('QueryDataSets', 'ListOfQueryDataSet'), @@ -7525,24 +7100,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'QueryFirstResult(' + 'QueryDataSets:' + str(self.QueryDataSets) + ', ' + \ - 'ContinuationPoint:' + str(self.ContinuationPoint) + ', ' + \ - 'ParsingResults:' + str(self.ParsingResults) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ', ' + \ - 'FilterResult:' + str(self.FilterResult) + ')' + return f'QueryFirstResult(QueryDataSets:{self.QueryDataSets}, ContinuationPoint:{self.ContinuationPoint}, ParsingResults:{self.ParsingResults}, DiagnosticInfos:{self.DiagnosticInfos}, FilterResult:{self.FilterResult})' __repr__ = __str__ class QueryFirstResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: QueryFirstResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -7557,20 +7128,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'QueryFirstResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'QueryFirstResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class QueryNextParameters(FrozenClass): - ''' + """ :ivar ReleaseContinuationPoint: :vartype ReleaseContinuationPoint: Boolean :ivar ContinuationPoint: :vartype ContinuationPoint: ByteString - ''' + """ ua_types = [ ('ReleaseContinuationPoint', 'Boolean'), @@ -7583,21 +7152,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'QueryNextParameters(' + 'ReleaseContinuationPoint:' + str(self.ReleaseContinuationPoint) + ', ' + \ - 'ContinuationPoint:' + str(self.ContinuationPoint) + ')' + return f'QueryNextParameters(ReleaseContinuationPoint:{self.ReleaseContinuationPoint}, ContinuationPoint:{self.ContinuationPoint})' __repr__ = __str__ class QueryNextRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: QueryNextParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -7612,20 +7180,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'QueryNextRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'QueryNextRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class QueryNextResult(FrozenClass): - ''' + """ :ivar QueryDataSets: :vartype QueryDataSets: QueryDataSet :ivar RevisedContinuationPoint: :vartype RevisedContinuationPoint: ByteString - ''' + """ ua_types = [ ('QueryDataSets', 'ListOfQueryDataSet'), @@ -7638,21 +7204,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'QueryNextResult(' + 'QueryDataSets:' + str(self.QueryDataSets) + ', ' + \ - 'RevisedContinuationPoint:' + str(self.RevisedContinuationPoint) + ')' + return f'QueryNextResult(QueryDataSets:{self.QueryDataSets}, RevisedContinuationPoint:{self.RevisedContinuationPoint})' __repr__ = __str__ class QueryNextResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: QueryNextResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -7667,15 +7232,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'QueryNextResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'QueryNextResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class ReadValueId(FrozenClass): - ''' + """ :ivar NodeId: :vartype NodeId: NodeId :ivar AttributeId: @@ -7684,7 +7247,7 @@ class ReadValueId(FrozenClass): :vartype IndexRange: String :ivar DataEncoding: :vartype DataEncoding: QualifiedName - ''' + """ ua_types = [ ('NodeId', 'NodeId'), @@ -7701,23 +7264,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ReadValueId(' + 'NodeId:' + str(self.NodeId) + ', ' + \ - 'AttributeId:' + str(self.AttributeId) + ', ' + \ - 'IndexRange:' + str(self.IndexRange) + ', ' + \ - 'DataEncoding:' + str(self.DataEncoding) + ')' + return f'ReadValueId(NodeId:{self.NodeId}, AttributeId:{self.AttributeId}, IndexRange:{self.IndexRange}, DataEncoding:{self.DataEncoding})' __repr__ = __str__ class ReadParameters(FrozenClass): - ''' + """ :ivar MaxAge: :vartype MaxAge: Double :ivar TimestampsToReturn: :vartype TimestampsToReturn: TimestampsToReturn :ivar NodesToRead: :vartype NodesToRead: ReadValueId - ''' + """ ua_types = [ ('MaxAge', 'Double'), @@ -7732,22 +7292,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ReadParameters(' + 'MaxAge:' + str(self.MaxAge) + ', ' + \ - 'TimestampsToReturn:' + str(self.TimestampsToReturn) + ', ' + \ - 'NodesToRead:' + str(self.NodesToRead) + ')' + return f'ReadParameters(MaxAge:{self.MaxAge}, TimestampsToReturn:{self.TimestampsToReturn}, NodesToRead:{self.NodesToRead})' __repr__ = __str__ class ReadRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: ReadParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -7762,15 +7320,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ReadRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'ReadRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class ReadResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: @@ -7779,7 +7335,7 @@ class ReadResponse(FrozenClass): :vartype Results: DataValue :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -7796,16 +7352,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ReadResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return f'ReadResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ class HistoryReadValueId(FrozenClass): - ''' + """ :ivar NodeId: :vartype NodeId: NodeId :ivar IndexRange: @@ -7814,7 +7367,7 @@ class HistoryReadValueId(FrozenClass): :vartype DataEncoding: QualifiedName :ivar ContinuationPoint: :vartype ContinuationPoint: ByteString - ''' + """ ua_types = [ ('NodeId', 'NodeId'), @@ -7831,23 +7384,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'HistoryReadValueId(' + 'NodeId:' + str(self.NodeId) + ', ' + \ - 'IndexRange:' + str(self.IndexRange) + ', ' + \ - 'DataEncoding:' + str(self.DataEncoding) + ', ' + \ - 'ContinuationPoint:' + str(self.ContinuationPoint) + ')' + return f'HistoryReadValueId(NodeId:{self.NodeId}, IndexRange:{self.IndexRange}, DataEncoding:{self.DataEncoding}, ContinuationPoint:{self.ContinuationPoint})' __repr__ = __str__ class HistoryReadResult(FrozenClass): - ''' + """ :ivar StatusCode: :vartype StatusCode: StatusCode :ivar ContinuationPoint: :vartype ContinuationPoint: ByteString :ivar HistoryData: :vartype HistoryData: ExtensionObject - ''' + """ ua_types = [ ('StatusCode', 'StatusCode'), @@ -7862,16 +7412,14 @@ def __init__(self): self._freeze = True def __str__(self): - return 'HistoryReadResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ - 'ContinuationPoint:' + str(self.ContinuationPoint) + ', ' + \ - 'HistoryData:' + str(self.HistoryData) + ')' + return f'HistoryReadResult(StatusCode:{self.StatusCode}, ContinuationPoint:{self.ContinuationPoint}, HistoryData:{self.HistoryData})' __repr__ = __str__ class HistoryReadDetails(FrozenClass): - ''' - ''' + """ + """ ua_types = [ ] @@ -7880,13 +7428,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'HistoryReadDetails(' + + ')' + return 'HistoryReadDetails()' __repr__ = __str__ class ReadEventDetails(FrozenClass): - ''' + """ :ivar NumValuesPerNode: :vartype NumValuesPerNode: UInt32 :ivar StartTime: @@ -7895,7 +7443,7 @@ class ReadEventDetails(FrozenClass): :vartype EndTime: DateTime :ivar Filter: :vartype Filter: EventFilter - ''' + """ ua_types = [ ('NumValuesPerNode', 'UInt32'), @@ -7912,16 +7460,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ReadEventDetails(' + 'NumValuesPerNode:' + str(self.NumValuesPerNode) + ', ' + \ - 'StartTime:' + str(self.StartTime) + ', ' + \ - 'EndTime:' + str(self.EndTime) + ', ' + \ - 'Filter:' + str(self.Filter) + ')' + return f'ReadEventDetails(NumValuesPerNode:{self.NumValuesPerNode}, StartTime:{self.StartTime}, EndTime:{self.EndTime}, Filter:{self.Filter})' __repr__ = __str__ class ReadRawModifiedDetails(FrozenClass): - ''' + """ :ivar IsReadModified: :vartype IsReadModified: Boolean :ivar StartTime: @@ -7932,7 +7477,7 @@ class ReadRawModifiedDetails(FrozenClass): :vartype NumValuesPerNode: UInt32 :ivar ReturnBounds: :vartype ReturnBounds: Boolean - ''' + """ ua_types = [ ('IsReadModified', 'Boolean'), @@ -7951,17 +7496,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ReadRawModifiedDetails(' + 'IsReadModified:' + str(self.IsReadModified) + ', ' + \ - 'StartTime:' + str(self.StartTime) + ', ' + \ - 'EndTime:' + str(self.EndTime) + ', ' + \ - 'NumValuesPerNode:' + str(self.NumValuesPerNode) + ', ' + \ - 'ReturnBounds:' + str(self.ReturnBounds) + ')' + return f'ReadRawModifiedDetails(IsReadModified:{self.IsReadModified}, StartTime:{self.StartTime}, EndTime:{self.EndTime}, NumValuesPerNode:{self.NumValuesPerNode}, ReturnBounds:{self.ReturnBounds})' __repr__ = __str__ class ReadProcessedDetails(FrozenClass): - ''' + """ :ivar StartTime: :vartype StartTime: DateTime :ivar EndTime: @@ -7972,7 +7513,7 @@ class ReadProcessedDetails(FrozenClass): :vartype AggregateType: NodeId :ivar AggregateConfiguration: :vartype AggregateConfiguration: AggregateConfiguration - ''' + """ ua_types = [ ('StartTime', 'DateTime'), @@ -7991,22 +7532,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ReadProcessedDetails(' + 'StartTime:' + str(self.StartTime) + ', ' + \ - 'EndTime:' + str(self.EndTime) + ', ' + \ - 'ProcessingInterval:' + str(self.ProcessingInterval) + ', ' + \ - 'AggregateType:' + str(self.AggregateType) + ', ' + \ - 'AggregateConfiguration:' + str(self.AggregateConfiguration) + ')' + return f'ReadProcessedDetails(StartTime:{self.StartTime}, EndTime:{self.EndTime}, ProcessingInterval:{self.ProcessingInterval}, AggregateType:{self.AggregateType}, AggregateConfiguration:{self.AggregateConfiguration})' __repr__ = __str__ class ReadAtTimeDetails(FrozenClass): - ''' + """ :ivar ReqTimes: :vartype ReqTimes: DateTime :ivar UseSimpleBounds: :vartype UseSimpleBounds: Boolean - ''' + """ ua_types = [ ('ReqTimes', 'ListOfDateTime'), @@ -8019,17 +7556,16 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ReadAtTimeDetails(' + 'ReqTimes:' + str(self.ReqTimes) + ', ' + \ - 'UseSimpleBounds:' + str(self.UseSimpleBounds) + ')' + return f'ReadAtTimeDetails(ReqTimes:{self.ReqTimes}, UseSimpleBounds:{self.UseSimpleBounds})' __repr__ = __str__ class HistoryData(FrozenClass): - ''' + """ :ivar DataValues: :vartype DataValues: DataValue - ''' + """ ua_types = [ ('DataValues', 'ListOfDataValue'), @@ -8040,20 +7576,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'HistoryData(' + 'DataValues:' + str(self.DataValues) + ')' + return f'HistoryData(DataValues:{self.DataValues})' __repr__ = __str__ class ModificationInfo(FrozenClass): - ''' + """ :ivar ModificationTime: :vartype ModificationTime: DateTime :ivar UpdateType: :vartype UpdateType: HistoryUpdateType :ivar UserName: :vartype UserName: String - ''' + """ ua_types = [ ('ModificationTime', 'DateTime'), @@ -8068,20 +7604,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ModificationInfo(' + 'ModificationTime:' + str(self.ModificationTime) + ', ' + \ - 'UpdateType:' + str(self.UpdateType) + ', ' + \ - 'UserName:' + str(self.UserName) + ')' + return f'ModificationInfo(ModificationTime:{self.ModificationTime}, UpdateType:{self.UpdateType}, UserName:{self.UserName})' __repr__ = __str__ class HistoryModifiedData(FrozenClass): - ''' + """ :ivar DataValues: :vartype DataValues: DataValue :ivar ModificationInfos: :vartype ModificationInfos: ModificationInfo - ''' + """ ua_types = [ ('DataValues', 'ListOfDataValue'), @@ -8094,17 +7628,16 @@ def __init__(self): self._freeze = True def __str__(self): - return 'HistoryModifiedData(' + 'DataValues:' + str(self.DataValues) + ', ' + \ - 'ModificationInfos:' + str(self.ModificationInfos) + ')' + return f'HistoryModifiedData(DataValues:{self.DataValues}, ModificationInfos:{self.ModificationInfos})' __repr__ = __str__ class HistoryEvent(FrozenClass): - ''' + """ :ivar Events: :vartype Events: HistoryEventFieldList - ''' + """ ua_types = [ ('Events', 'ListOfHistoryEventFieldList'), @@ -8115,13 +7648,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'HistoryEvent(' + 'Events:' + str(self.Events) + ')' + return f'HistoryEvent(Events:{self.Events})' __repr__ = __str__ class HistoryReadParameters(FrozenClass): - ''' + """ :ivar HistoryReadDetails: :vartype HistoryReadDetails: ExtensionObject :ivar TimestampsToReturn: @@ -8130,7 +7663,7 @@ class HistoryReadParameters(FrozenClass): :vartype ReleaseContinuationPoints: Boolean :ivar NodesToRead: :vartype NodesToRead: HistoryReadValueId - ''' + """ ua_types = [ ('HistoryReadDetails', 'ExtensionObject'), @@ -8147,23 +7680,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'HistoryReadParameters(' + 'HistoryReadDetails:' + str(self.HistoryReadDetails) + ', ' + \ - 'TimestampsToReturn:' + str(self.TimestampsToReturn) + ', ' + \ - 'ReleaseContinuationPoints:' + str(self.ReleaseContinuationPoints) + ', ' + \ - 'NodesToRead:' + str(self.NodesToRead) + ')' + return f'HistoryReadParameters(HistoryReadDetails:{self.HistoryReadDetails}, TimestampsToReturn:{self.TimestampsToReturn}, ReleaseContinuationPoints:{self.ReleaseContinuationPoints}, NodesToRead:{self.NodesToRead})' __repr__ = __str__ class HistoryReadRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: HistoryReadParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -8178,15 +7708,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'HistoryReadRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'HistoryReadRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class HistoryReadResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: @@ -8195,7 +7723,7 @@ class HistoryReadResponse(FrozenClass): :vartype Results: HistoryReadResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -8212,16 +7740,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'HistoryReadResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return f'HistoryReadResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ class WriteValue(FrozenClass): - ''' + """ :ivar NodeId: :vartype NodeId: NodeId :ivar AttributeId: @@ -8230,7 +7755,7 @@ class WriteValue(FrozenClass): :vartype IndexRange: String :ivar Value: :vartype Value: DataValue - ''' + """ ua_types = [ ('NodeId', 'NodeId'), @@ -8247,19 +7772,16 @@ def __init__(self): self._freeze = True def __str__(self): - return 'WriteValue(' + 'NodeId:' + str(self.NodeId) + ', ' + \ - 'AttributeId:' + str(self.AttributeId) + ', ' + \ - 'IndexRange:' + str(self.IndexRange) + ', ' + \ - 'Value:' + str(self.Value) + ')' + return f'WriteValue(NodeId:{self.NodeId}, AttributeId:{self.AttributeId}, IndexRange:{self.IndexRange}, Value:{self.Value})' __repr__ = __str__ class WriteParameters(FrozenClass): - ''' + """ :ivar NodesToWrite: :vartype NodesToWrite: WriteValue - ''' + """ ua_types = [ ('NodesToWrite', 'ListOfWriteValue'), @@ -8270,20 +7792,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'WriteParameters(' + 'NodesToWrite:' + str(self.NodesToWrite) + ')' + return f'WriteParameters(NodesToWrite:{self.NodesToWrite})' __repr__ = __str__ class WriteRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: WriteParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -8298,15 +7820,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'WriteRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'WriteRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class WriteResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: @@ -8315,7 +7835,7 @@ class WriteResponse(FrozenClass): :vartype Results: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -8332,19 +7852,16 @@ def __init__(self): self._freeze = True def __str__(self): - return 'WriteResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return f'WriteResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ class HistoryUpdateDetails(FrozenClass): - ''' + """ :ivar NodeId: :vartype NodeId: NodeId - ''' + """ ua_types = [ ('NodeId', 'NodeId'), @@ -8355,20 +7872,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'HistoryUpdateDetails(' + 'NodeId:' + str(self.NodeId) + ')' + return f'HistoryUpdateDetails(NodeId:{self.NodeId})' __repr__ = __str__ class UpdateDataDetails(FrozenClass): - ''' + """ :ivar NodeId: :vartype NodeId: NodeId :ivar PerformInsertReplace: :vartype PerformInsertReplace: PerformUpdateType :ivar UpdateValues: :vartype UpdateValues: DataValue - ''' + """ ua_types = [ ('NodeId', 'NodeId'), @@ -8383,22 +7900,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'UpdateDataDetails(' + 'NodeId:' + str(self.NodeId) + ', ' + \ - 'PerformInsertReplace:' + str(self.PerformInsertReplace) + ', ' + \ - 'UpdateValues:' + str(self.UpdateValues) + ')' + return f'UpdateDataDetails(NodeId:{self.NodeId}, PerformInsertReplace:{self.PerformInsertReplace}, UpdateValues:{self.UpdateValues})' __repr__ = __str__ class UpdateStructureDataDetails(FrozenClass): - ''' + """ :ivar NodeId: :vartype NodeId: NodeId :ivar PerformInsertReplace: :vartype PerformInsertReplace: PerformUpdateType :ivar UpdateValues: :vartype UpdateValues: DataValue - ''' + """ ua_types = [ ('NodeId', 'NodeId'), @@ -8413,15 +7928,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'UpdateStructureDataDetails(' + 'NodeId:' + str(self.NodeId) + ', ' + \ - 'PerformInsertReplace:' + str(self.PerformInsertReplace) + ', ' + \ - 'UpdateValues:' + str(self.UpdateValues) + ')' + return f'UpdateStructureDataDetails(NodeId:{self.NodeId}, PerformInsertReplace:{self.PerformInsertReplace}, UpdateValues:{self.UpdateValues})' __repr__ = __str__ class UpdateEventDetails(FrozenClass): - ''' + """ :ivar NodeId: :vartype NodeId: NodeId :ivar PerformInsertReplace: @@ -8430,7 +7943,7 @@ class UpdateEventDetails(FrozenClass): :vartype Filter: EventFilter :ivar EventData: :vartype EventData: HistoryEventFieldList - ''' + """ ua_types = [ ('NodeId', 'NodeId'), @@ -8447,16 +7960,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'UpdateEventDetails(' + 'NodeId:' + str(self.NodeId) + ', ' + \ - 'PerformInsertReplace:' + str(self.PerformInsertReplace) + ', ' + \ - 'Filter:' + str(self.Filter) + ', ' + \ - 'EventData:' + str(self.EventData) + ')' + return f'UpdateEventDetails(NodeId:{self.NodeId}, PerformInsertReplace:{self.PerformInsertReplace}, Filter:{self.Filter}, EventData:{self.EventData})' __repr__ = __str__ class DeleteRawModifiedDetails(FrozenClass): - ''' + """ :ivar NodeId: :vartype NodeId: NodeId :ivar IsDeleteModified: @@ -8465,7 +7975,7 @@ class DeleteRawModifiedDetails(FrozenClass): :vartype StartTime: DateTime :ivar EndTime: :vartype EndTime: DateTime - ''' + """ ua_types = [ ('NodeId', 'NodeId'), @@ -8482,21 +7992,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DeleteRawModifiedDetails(' + 'NodeId:' + str(self.NodeId) + ', ' + \ - 'IsDeleteModified:' + str(self.IsDeleteModified) + ', ' + \ - 'StartTime:' + str(self.StartTime) + ', ' + \ - 'EndTime:' + str(self.EndTime) + ')' + return f'DeleteRawModifiedDetails(NodeId:{self.NodeId}, IsDeleteModified:{self.IsDeleteModified}, StartTime:{self.StartTime}, EndTime:{self.EndTime})' __repr__ = __str__ class DeleteAtTimeDetails(FrozenClass): - ''' + """ :ivar NodeId: :vartype NodeId: NodeId :ivar ReqTimes: :vartype ReqTimes: DateTime - ''' + """ ua_types = [ ('NodeId', 'NodeId'), @@ -8509,19 +8016,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DeleteAtTimeDetails(' + 'NodeId:' + str(self.NodeId) + ', ' + \ - 'ReqTimes:' + str(self.ReqTimes) + ')' + return f'DeleteAtTimeDetails(NodeId:{self.NodeId}, ReqTimes:{self.ReqTimes})' __repr__ = __str__ class DeleteEventDetails(FrozenClass): - ''' + """ :ivar NodeId: :vartype NodeId: NodeId :ivar EventIds: :vartype EventIds: ByteString - ''' + """ ua_types = [ ('NodeId', 'NodeId'), @@ -8534,21 +8040,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DeleteEventDetails(' + 'NodeId:' + str(self.NodeId) + ', ' + \ - 'EventIds:' + str(self.EventIds) + ')' + return f'DeleteEventDetails(NodeId:{self.NodeId}, EventIds:{self.EventIds})' __repr__ = __str__ class HistoryUpdateResult(FrozenClass): - ''' + """ :ivar StatusCode: :vartype StatusCode: StatusCode :ivar OperationResults: :vartype OperationResults: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('StatusCode', 'StatusCode'), @@ -8563,18 +8068,16 @@ def __init__(self): self._freeze = True def __str__(self): - return 'HistoryUpdateResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ - 'OperationResults:' + str(self.OperationResults) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return f'HistoryUpdateResult(StatusCode:{self.StatusCode}, OperationResults:{self.OperationResults}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ class HistoryUpdateParameters(FrozenClass): - ''' + """ :ivar HistoryUpdateDetails: :vartype HistoryUpdateDetails: ExtensionObject - ''' + """ ua_types = [ ('HistoryUpdateDetails', 'ListOfExtensionObject'), @@ -8585,20 +8088,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'HistoryUpdateParameters(' + 'HistoryUpdateDetails:' + str(self.HistoryUpdateDetails) + ')' + return f'HistoryUpdateParameters(HistoryUpdateDetails:{self.HistoryUpdateDetails})' __repr__ = __str__ class HistoryUpdateRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: HistoryUpdateParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -8613,15 +8116,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'HistoryUpdateRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'HistoryUpdateRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class HistoryUpdateResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: @@ -8630,7 +8131,7 @@ class HistoryUpdateResponse(FrozenClass): :vartype Results: HistoryUpdateResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -8647,23 +8148,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'HistoryUpdateResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return f'HistoryUpdateResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ class CallMethodRequest(FrozenClass): - ''' + """ :ivar ObjectId: :vartype ObjectId: NodeId :ivar MethodId: :vartype MethodId: NodeId :ivar InputArguments: :vartype InputArguments: Variant - ''' + """ ua_types = [ ('ObjectId', 'NodeId'), @@ -8678,15 +8176,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CallMethodRequest(' + 'ObjectId:' + str(self.ObjectId) + ', ' + \ - 'MethodId:' + str(self.MethodId) + ', ' + \ - 'InputArguments:' + str(self.InputArguments) + ')' + return f'CallMethodRequest(ObjectId:{self.ObjectId}, MethodId:{self.MethodId}, InputArguments:{self.InputArguments})' __repr__ = __str__ class CallMethodResult(FrozenClass): - ''' + """ :ivar StatusCode: :vartype StatusCode: StatusCode :ivar InputArgumentResults: @@ -8695,7 +8191,7 @@ class CallMethodResult(FrozenClass): :vartype InputArgumentDiagnosticInfos: DiagnosticInfo :ivar OutputArguments: :vartype OutputArguments: Variant - ''' + """ ua_types = [ ('StatusCode', 'StatusCode'), @@ -8712,19 +8208,16 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CallMethodResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ - 'InputArgumentResults:' + str(self.InputArgumentResults) + ', ' + \ - 'InputArgumentDiagnosticInfos:' + str(self.InputArgumentDiagnosticInfos) + ', ' + \ - 'OutputArguments:' + str(self.OutputArguments) + ')' + return f'CallMethodResult(StatusCode:{self.StatusCode}, InputArgumentResults:{self.InputArgumentResults}, InputArgumentDiagnosticInfos:{self.InputArgumentDiagnosticInfos}, OutputArguments:{self.OutputArguments})' __repr__ = __str__ class CallParameters(FrozenClass): - ''' + """ :ivar MethodsToCall: :vartype MethodsToCall: CallMethodRequest - ''' + """ ua_types = [ ('MethodsToCall', 'ListOfCallMethodRequest'), @@ -8735,20 +8228,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CallParameters(' + 'MethodsToCall:' + str(self.MethodsToCall) + ')' + return f'CallParameters(MethodsToCall:{self.MethodsToCall})' __repr__ = __str__ class CallRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: CallParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -8763,15 +8256,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CallRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'CallRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class CallResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: @@ -8780,7 +8271,7 @@ class CallResponse(FrozenClass): :vartype Results: CallMethodResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -8797,17 +8288,14 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CallResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return f'CallResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ class MonitoringFilter(FrozenClass): - ''' - ''' + """ + """ ua_types = [ ] @@ -8816,20 +8304,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'MonitoringFilter(' + + ')' + return 'MonitoringFilter()' __repr__ = __str__ class DataChangeFilter(FrozenClass): - ''' + """ :ivar Trigger: :vartype Trigger: DataChangeTrigger :ivar DeadbandType: :vartype DeadbandType: UInt32 :ivar DeadbandValue: :vartype DeadbandValue: Double - ''' + """ ua_types = [ ('Trigger', 'DataChangeTrigger'), @@ -8844,20 +8332,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DataChangeFilter(' + 'Trigger:' + str(self.Trigger) + ', ' + \ - 'DeadbandType:' + str(self.DeadbandType) + ', ' + \ - 'DeadbandValue:' + str(self.DeadbandValue) + ')' + return f'DataChangeFilter(Trigger:{self.Trigger}, DeadbandType:{self.DeadbandType}, DeadbandValue:{self.DeadbandValue})' __repr__ = __str__ class EventFilter(FrozenClass): - ''' + """ :ivar SelectClauses: :vartype SelectClauses: SimpleAttributeOperand :ivar WhereClause: :vartype WhereClause: ContentFilter - ''' + """ ua_types = [ ('SelectClauses', 'ListOfSimpleAttributeOperand'), @@ -8870,14 +8356,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'EventFilter(' + 'SelectClauses:' + str(self.SelectClauses) + ', ' + \ - 'WhereClause:' + str(self.WhereClause) + ')' + return f'EventFilter(SelectClauses:{self.SelectClauses}, WhereClause:{self.WhereClause})' __repr__ = __str__ class AggregateConfiguration(FrozenClass): - ''' + """ :ivar UseServerCapabilitiesDefaults: :vartype UseServerCapabilitiesDefaults: Boolean :ivar TreatUncertainAsBad: @@ -8888,7 +8373,7 @@ class AggregateConfiguration(FrozenClass): :vartype PercentDataGood: Byte :ivar UseSlopedExtrapolation: :vartype UseSlopedExtrapolation: Boolean - ''' + """ ua_types = [ ('UseServerCapabilitiesDefaults', 'Boolean'), @@ -8907,17 +8392,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'AggregateConfiguration(' + 'UseServerCapabilitiesDefaults:' + str(self.UseServerCapabilitiesDefaults) + ', ' + \ - 'TreatUncertainAsBad:' + str(self.TreatUncertainAsBad) + ', ' + \ - 'PercentDataBad:' + str(self.PercentDataBad) + ', ' + \ - 'PercentDataGood:' + str(self.PercentDataGood) + ', ' + \ - 'UseSlopedExtrapolation:' + str(self.UseSlopedExtrapolation) + ')' + return f'AggregateConfiguration(UseServerCapabilitiesDefaults:{self.UseServerCapabilitiesDefaults}, TreatUncertainAsBad:{self.TreatUncertainAsBad}, PercentDataBad:{self.PercentDataBad}, PercentDataGood:{self.PercentDataGood}, UseSlopedExtrapolation:{self.UseSlopedExtrapolation})' __repr__ = __str__ class AggregateFilter(FrozenClass): - ''' + """ :ivar StartTime: :vartype StartTime: DateTime :ivar AggregateType: @@ -8926,7 +8407,7 @@ class AggregateFilter(FrozenClass): :vartype ProcessingInterval: Double :ivar AggregateConfiguration: :vartype AggregateConfiguration: AggregateConfiguration - ''' + """ ua_types = [ ('StartTime', 'DateTime'), @@ -8943,17 +8424,14 @@ def __init__(self): self._freeze = True def __str__(self): - return 'AggregateFilter(' + 'StartTime:' + str(self.StartTime) + ', ' + \ - 'AggregateType:' + str(self.AggregateType) + ', ' + \ - 'ProcessingInterval:' + str(self.ProcessingInterval) + ', ' + \ - 'AggregateConfiguration:' + str(self.AggregateConfiguration) + ')' + return f'AggregateFilter(StartTime:{self.StartTime}, AggregateType:{self.AggregateType}, ProcessingInterval:{self.ProcessingInterval}, AggregateConfiguration:{self.AggregateConfiguration})' __repr__ = __str__ class MonitoringFilterResult(FrozenClass): - ''' - ''' + """ + """ ua_types = [ ] @@ -8962,20 +8440,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'MonitoringFilterResult(' + + ')' + return 'MonitoringFilterResult()' __repr__ = __str__ class EventFilterResult(FrozenClass): - ''' + """ :ivar SelectClauseResults: :vartype SelectClauseResults: StatusCode :ivar SelectClauseDiagnosticInfos: :vartype SelectClauseDiagnosticInfos: DiagnosticInfo :ivar WhereClauseResult: :vartype WhereClauseResult: ContentFilterResult - ''' + """ ua_types = [ ('SelectClauseResults', 'ListOfStatusCode'), @@ -8990,22 +8468,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'EventFilterResult(' + 'SelectClauseResults:' + str(self.SelectClauseResults) + ', ' + \ - 'SelectClauseDiagnosticInfos:' + str(self.SelectClauseDiagnosticInfos) + ', ' + \ - 'WhereClauseResult:' + str(self.WhereClauseResult) + ')' + return f'EventFilterResult(SelectClauseResults:{self.SelectClauseResults}, SelectClauseDiagnosticInfos:{self.SelectClauseDiagnosticInfos}, WhereClauseResult:{self.WhereClauseResult})' __repr__ = __str__ class AggregateFilterResult(FrozenClass): - ''' + """ :ivar RevisedStartTime: :vartype RevisedStartTime: DateTime :ivar RevisedProcessingInterval: :vartype RevisedProcessingInterval: Double :ivar RevisedAggregateConfiguration: :vartype RevisedAggregateConfiguration: AggregateConfiguration - ''' + """ ua_types = [ ('RevisedStartTime', 'DateTime'), @@ -9020,15 +8496,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'AggregateFilterResult(' + 'RevisedStartTime:' + str(self.RevisedStartTime) + ', ' + \ - 'RevisedProcessingInterval:' + str(self.RevisedProcessingInterval) + ', ' + \ - 'RevisedAggregateConfiguration:' + str(self.RevisedAggregateConfiguration) + ')' + return f'AggregateFilterResult(RevisedStartTime:{self.RevisedStartTime}, RevisedProcessingInterval:{self.RevisedProcessingInterval}, RevisedAggregateConfiguration:{self.RevisedAggregateConfiguration})' __repr__ = __str__ class MonitoringParameters(FrozenClass): - ''' + """ :ivar ClientHandle: :vartype ClientHandle: UInt32 :ivar SamplingInterval: @@ -9039,7 +8513,7 @@ class MonitoringParameters(FrozenClass): :vartype QueueSize: UInt32 :ivar DiscardOldest: :vartype DiscardOldest: Boolean - ''' + """ ua_types = [ ('ClientHandle', 'UInt32'), @@ -9058,24 +8532,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'MonitoringParameters(' + 'ClientHandle:' + str(self.ClientHandle) + ', ' + \ - 'SamplingInterval:' + str(self.SamplingInterval) + ', ' + \ - 'Filter:' + str(self.Filter) + ', ' + \ - 'QueueSize:' + str(self.QueueSize) + ', ' + \ - 'DiscardOldest:' + str(self.DiscardOldest) + ')' + return f'MonitoringParameters(ClientHandle:{self.ClientHandle}, SamplingInterval:{self.SamplingInterval}, Filter:{self.Filter}, QueueSize:{self.QueueSize}, DiscardOldest:{self.DiscardOldest})' __repr__ = __str__ class MonitoredItemCreateRequest(FrozenClass): - ''' + """ :ivar ItemToMonitor: :vartype ItemToMonitor: ReadValueId :ivar MonitoringMode: :vartype MonitoringMode: MonitoringMode :ivar RequestedParameters: :vartype RequestedParameters: MonitoringParameters - ''' + """ ua_types = [ ('ItemToMonitor', 'ReadValueId'), @@ -9090,15 +8560,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'MonitoredItemCreateRequest(' + 'ItemToMonitor:' + str(self.ItemToMonitor) + ', ' + \ - 'MonitoringMode:' + str(self.MonitoringMode) + ', ' + \ - 'RequestedParameters:' + str(self.RequestedParameters) + ')' + return f'MonitoredItemCreateRequest(ItemToMonitor:{self.ItemToMonitor}, MonitoringMode:{self.MonitoringMode}, RequestedParameters:{self.RequestedParameters})' __repr__ = __str__ class MonitoredItemCreateResult(FrozenClass): - ''' + """ :ivar StatusCode: :vartype StatusCode: StatusCode :ivar MonitoredItemId: @@ -9109,7 +8577,7 @@ class MonitoredItemCreateResult(FrozenClass): :vartype RevisedQueueSize: UInt32 :ivar FilterResult: :vartype FilterResult: ExtensionObject - ''' + """ ua_types = [ ('StatusCode', 'StatusCode'), @@ -9128,24 +8596,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'MonitoredItemCreateResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ - 'MonitoredItemId:' + str(self.MonitoredItemId) + ', ' + \ - 'RevisedSamplingInterval:' + str(self.RevisedSamplingInterval) + ', ' + \ - 'RevisedQueueSize:' + str(self.RevisedQueueSize) + ', ' + \ - 'FilterResult:' + str(self.FilterResult) + ')' + return f'MonitoredItemCreateResult(StatusCode:{self.StatusCode}, MonitoredItemId:{self.MonitoredItemId}, RevisedSamplingInterval:{self.RevisedSamplingInterval}, RevisedQueueSize:{self.RevisedQueueSize}, FilterResult:{self.FilterResult})' __repr__ = __str__ class CreateMonitoredItemsParameters(FrozenClass): - ''' + """ :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar TimestampsToReturn: :vartype TimestampsToReturn: TimestampsToReturn :ivar ItemsToCreate: :vartype ItemsToCreate: MonitoredItemCreateRequest - ''' + """ ua_types = [ ('SubscriptionId', 'UInt32'), @@ -9160,22 +8624,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CreateMonitoredItemsParameters(' + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ - 'TimestampsToReturn:' + str(self.TimestampsToReturn) + ', ' + \ - 'ItemsToCreate:' + str(self.ItemsToCreate) + ')' + return f'CreateMonitoredItemsParameters(SubscriptionId:{self.SubscriptionId}, TimestampsToReturn:{self.TimestampsToReturn}, ItemsToCreate:{self.ItemsToCreate})' __repr__ = __str__ class CreateMonitoredItemsRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: CreateMonitoredItemsParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -9190,15 +8652,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CreateMonitoredItemsRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'CreateMonitoredItemsRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class CreateMonitoredItemsResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: @@ -9207,7 +8667,7 @@ class CreateMonitoredItemsResponse(FrozenClass): :vartype Results: MonitoredItemCreateResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -9224,21 +8684,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CreateMonitoredItemsResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return f'CreateMonitoredItemsResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ class MonitoredItemModifyRequest(FrozenClass): - ''' + """ :ivar MonitoredItemId: :vartype MonitoredItemId: UInt32 :ivar RequestedParameters: :vartype RequestedParameters: MonitoringParameters - ''' + """ ua_types = [ ('MonitoredItemId', 'UInt32'), @@ -9251,14 +8708,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'MonitoredItemModifyRequest(' + 'MonitoredItemId:' + str(self.MonitoredItemId) + ', ' + \ - 'RequestedParameters:' + str(self.RequestedParameters) + ')' + return f'MonitoredItemModifyRequest(MonitoredItemId:{self.MonitoredItemId}, RequestedParameters:{self.RequestedParameters})' __repr__ = __str__ class MonitoredItemModifyResult(FrozenClass): - ''' + """ :ivar StatusCode: :vartype StatusCode: StatusCode :ivar RevisedSamplingInterval: @@ -9267,7 +8723,7 @@ class MonitoredItemModifyResult(FrozenClass): :vartype RevisedQueueSize: UInt32 :ivar FilterResult: :vartype FilterResult: ExtensionObject - ''' + """ ua_types = [ ('StatusCode', 'StatusCode'), @@ -9284,23 +8740,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'MonitoredItemModifyResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ - 'RevisedSamplingInterval:' + str(self.RevisedSamplingInterval) + ', ' + \ - 'RevisedQueueSize:' + str(self.RevisedQueueSize) + ', ' + \ - 'FilterResult:' + str(self.FilterResult) + ')' + return f'MonitoredItemModifyResult(StatusCode:{self.StatusCode}, RevisedSamplingInterval:{self.RevisedSamplingInterval}, RevisedQueueSize:{self.RevisedQueueSize}, FilterResult:{self.FilterResult})' __repr__ = __str__ class ModifyMonitoredItemsParameters(FrozenClass): - ''' + """ :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar TimestampsToReturn: :vartype TimestampsToReturn: TimestampsToReturn :ivar ItemsToModify: :vartype ItemsToModify: MonitoredItemModifyRequest - ''' + """ ua_types = [ ('SubscriptionId', 'UInt32'), @@ -9315,22 +8768,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ModifyMonitoredItemsParameters(' + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ - 'TimestampsToReturn:' + str(self.TimestampsToReturn) + ', ' + \ - 'ItemsToModify:' + str(self.ItemsToModify) + ')' + return f'ModifyMonitoredItemsParameters(SubscriptionId:{self.SubscriptionId}, TimestampsToReturn:{self.TimestampsToReturn}, ItemsToModify:{self.ItemsToModify})' __repr__ = __str__ class ModifyMonitoredItemsRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: ModifyMonitoredItemsParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -9345,15 +8796,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ModifyMonitoredItemsRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'ModifyMonitoredItemsRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class ModifyMonitoredItemsResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: @@ -9362,7 +8811,7 @@ class ModifyMonitoredItemsResponse(FrozenClass): :vartype Results: MonitoredItemModifyResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -9379,23 +8828,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ModifyMonitoredItemsResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return f'ModifyMonitoredItemsResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ class SetMonitoringModeParameters(FrozenClass): - ''' + """ :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar MonitoringMode: :vartype MonitoringMode: MonitoringMode :ivar MonitoredItemIds: :vartype MonitoredItemIds: UInt32 - ''' + """ ua_types = [ ('SubscriptionId', 'UInt32'), @@ -9410,22 +8856,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SetMonitoringModeParameters(' + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ - 'MonitoringMode:' + str(self.MonitoringMode) + ', ' + \ - 'MonitoredItemIds:' + str(self.MonitoredItemIds) + ')' + return f'SetMonitoringModeParameters(SubscriptionId:{self.SubscriptionId}, MonitoringMode:{self.MonitoringMode}, MonitoredItemIds:{self.MonitoredItemIds})' __repr__ = __str__ class SetMonitoringModeRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: SetMonitoringModeParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -9440,20 +8884,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SetMonitoringModeRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'SetMonitoringModeRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class SetMonitoringModeResult(FrozenClass): - ''' + """ :ivar Results: :vartype Results: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('Results', 'ListOfStatusCode'), @@ -9466,21 +8908,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SetMonitoringModeResult(' + 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return f'SetMonitoringModeResult(Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ class SetMonitoringModeResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: SetMonitoringModeResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -9495,15 +8936,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SetMonitoringModeResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'SetMonitoringModeResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class SetTriggeringParameters(FrozenClass): - ''' + """ :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar TriggeringItemId: @@ -9512,7 +8951,7 @@ class SetTriggeringParameters(FrozenClass): :vartype LinksToAdd: UInt32 :ivar LinksToRemove: :vartype LinksToRemove: UInt32 - ''' + """ ua_types = [ ('SubscriptionId', 'UInt32'), @@ -9529,23 +8968,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SetTriggeringParameters(' + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ - 'TriggeringItemId:' + str(self.TriggeringItemId) + ', ' + \ - 'LinksToAdd:' + str(self.LinksToAdd) + ', ' + \ - 'LinksToRemove:' + str(self.LinksToRemove) + ')' + return f'SetTriggeringParameters(SubscriptionId:{self.SubscriptionId}, TriggeringItemId:{self.TriggeringItemId}, LinksToAdd:{self.LinksToAdd}, LinksToRemove:{self.LinksToRemove})' __repr__ = __str__ class SetTriggeringRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: SetTriggeringParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -9560,15 +8996,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SetTriggeringRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'SetTriggeringRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class SetTriggeringResult(FrozenClass): - ''' + """ :ivar AddResults: :vartype AddResults: StatusCode :ivar AddDiagnosticInfos: @@ -9577,7 +9011,7 @@ class SetTriggeringResult(FrozenClass): :vartype RemoveResults: StatusCode :ivar RemoveDiagnosticInfos: :vartype RemoveDiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('AddResults', 'ListOfStatusCode'), @@ -9594,23 +9028,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SetTriggeringResult(' + 'AddResults:' + str(self.AddResults) + ', ' + \ - 'AddDiagnosticInfos:' + str(self.AddDiagnosticInfos) + ', ' + \ - 'RemoveResults:' + str(self.RemoveResults) + ', ' + \ - 'RemoveDiagnosticInfos:' + str(self.RemoveDiagnosticInfos) + ')' + return f'SetTriggeringResult(AddResults:{self.AddResults}, AddDiagnosticInfos:{self.AddDiagnosticInfos}, RemoveResults:{self.RemoveResults}, RemoveDiagnosticInfos:{self.RemoveDiagnosticInfos})' __repr__ = __str__ class SetTriggeringResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: SetTriggeringResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -9625,20 +9056,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SetTriggeringResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'SetTriggeringResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class DeleteMonitoredItemsParameters(FrozenClass): - ''' + """ :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar MonitoredItemIds: :vartype MonitoredItemIds: UInt32 - ''' + """ ua_types = [ ('SubscriptionId', 'UInt32'), @@ -9651,21 +9080,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DeleteMonitoredItemsParameters(' + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ - 'MonitoredItemIds:' + str(self.MonitoredItemIds) + ')' + return f'DeleteMonitoredItemsParameters(SubscriptionId:{self.SubscriptionId}, MonitoredItemIds:{self.MonitoredItemIds})' __repr__ = __str__ class DeleteMonitoredItemsRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: DeleteMonitoredItemsParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -9680,15 +9108,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DeleteMonitoredItemsRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'DeleteMonitoredItemsRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class DeleteMonitoredItemsResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: @@ -9697,7 +9123,7 @@ class DeleteMonitoredItemsResponse(FrozenClass): :vartype Results: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -9714,16 +9140,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DeleteMonitoredItemsResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return f'DeleteMonitoredItemsResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ class CreateSubscriptionParameters(FrozenClass): - ''' + """ :ivar RequestedPublishingInterval: :vartype RequestedPublishingInterval: Double :ivar RequestedLifetimeCount: @@ -9736,7 +9159,7 @@ class CreateSubscriptionParameters(FrozenClass): :vartype PublishingEnabled: Boolean :ivar Priority: :vartype Priority: Byte - ''' + """ ua_types = [ ('RequestedPublishingInterval', 'Double'), @@ -9757,25 +9180,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CreateSubscriptionParameters(' + 'RequestedPublishingInterval:' + str(self.RequestedPublishingInterval) + ', ' + \ - 'RequestedLifetimeCount:' + str(self.RequestedLifetimeCount) + ', ' + \ - 'RequestedMaxKeepAliveCount:' + str(self.RequestedMaxKeepAliveCount) + ', ' + \ - 'MaxNotificationsPerPublish:' + str(self.MaxNotificationsPerPublish) + ', ' + \ - 'PublishingEnabled:' + str(self.PublishingEnabled) + ', ' + \ - 'Priority:' + str(self.Priority) + ')' + return f'CreateSubscriptionParameters(RequestedPublishingInterval:{self.RequestedPublishingInterval}, RequestedLifetimeCount:{self.RequestedLifetimeCount}, RequestedMaxKeepAliveCount:{self.RequestedMaxKeepAliveCount}, MaxNotificationsPerPublish:{self.MaxNotificationsPerPublish}, PublishingEnabled:{self.PublishingEnabled}, Priority:{self.Priority})' __repr__ = __str__ class CreateSubscriptionRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: CreateSubscriptionParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -9790,15 +9208,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CreateSubscriptionRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'CreateSubscriptionRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class CreateSubscriptionResult(FrozenClass): - ''' + """ :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar RevisedPublishingInterval: @@ -9807,7 +9223,7 @@ class CreateSubscriptionResult(FrozenClass): :vartype RevisedLifetimeCount: UInt32 :ivar RevisedMaxKeepAliveCount: :vartype RevisedMaxKeepAliveCount: UInt32 - ''' + """ ua_types = [ ('SubscriptionId', 'UInt32'), @@ -9824,23 +9240,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CreateSubscriptionResult(' + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ - 'RevisedPublishingInterval:' + str(self.RevisedPublishingInterval) + ', ' + \ - 'RevisedLifetimeCount:' + str(self.RevisedLifetimeCount) + ', ' + \ - 'RevisedMaxKeepAliveCount:' + str(self.RevisedMaxKeepAliveCount) + ')' + return f'CreateSubscriptionResult(SubscriptionId:{self.SubscriptionId}, RevisedPublishingInterval:{self.RevisedPublishingInterval}, RevisedLifetimeCount:{self.RevisedLifetimeCount}, RevisedMaxKeepAliveCount:{self.RevisedMaxKeepAliveCount})' __repr__ = __str__ class CreateSubscriptionResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: CreateSubscriptionResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -9855,15 +9268,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'CreateSubscriptionResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'CreateSubscriptionResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class ModifySubscriptionParameters(FrozenClass): - ''' + """ :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar RequestedPublishingInterval: @@ -9876,7 +9287,7 @@ class ModifySubscriptionParameters(FrozenClass): :vartype MaxNotificationsPerPublish: UInt32 :ivar Priority: :vartype Priority: Byte - ''' + """ ua_types = [ ('SubscriptionId', 'UInt32'), @@ -9897,25 +9308,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ModifySubscriptionParameters(' + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ - 'RequestedPublishingInterval:' + str(self.RequestedPublishingInterval) + ', ' + \ - 'RequestedLifetimeCount:' + str(self.RequestedLifetimeCount) + ', ' + \ - 'RequestedMaxKeepAliveCount:' + str(self.RequestedMaxKeepAliveCount) + ', ' + \ - 'MaxNotificationsPerPublish:' + str(self.MaxNotificationsPerPublish) + ', ' + \ - 'Priority:' + str(self.Priority) + ')' + return f'ModifySubscriptionParameters(SubscriptionId:{self.SubscriptionId}, RequestedPublishingInterval:{self.RequestedPublishingInterval}, RequestedLifetimeCount:{self.RequestedLifetimeCount}, RequestedMaxKeepAliveCount:{self.RequestedMaxKeepAliveCount}, MaxNotificationsPerPublish:{self.MaxNotificationsPerPublish}, Priority:{self.Priority})' __repr__ = __str__ class ModifySubscriptionRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: ModifySubscriptionParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -9930,22 +9336,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ModifySubscriptionRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'ModifySubscriptionRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class ModifySubscriptionResult(FrozenClass): - ''' + """ :ivar RevisedPublishingInterval: :vartype RevisedPublishingInterval: Double :ivar RevisedLifetimeCount: :vartype RevisedLifetimeCount: UInt32 :ivar RevisedMaxKeepAliveCount: :vartype RevisedMaxKeepAliveCount: UInt32 - ''' + """ ua_types = [ ('RevisedPublishingInterval', 'Double'), @@ -9960,22 +9364,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ModifySubscriptionResult(' + 'RevisedPublishingInterval:' + str(self.RevisedPublishingInterval) + ', ' + \ - 'RevisedLifetimeCount:' + str(self.RevisedLifetimeCount) + ', ' + \ - 'RevisedMaxKeepAliveCount:' + str(self.RevisedMaxKeepAliveCount) + ')' + return f'ModifySubscriptionResult(RevisedPublishingInterval:{self.RevisedPublishingInterval}, RevisedLifetimeCount:{self.RevisedLifetimeCount}, RevisedMaxKeepAliveCount:{self.RevisedMaxKeepAliveCount})' __repr__ = __str__ class ModifySubscriptionResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: ModifySubscriptionResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -9990,20 +9392,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ModifySubscriptionResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'ModifySubscriptionResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class SetPublishingModeParameters(FrozenClass): - ''' + """ :ivar PublishingEnabled: :vartype PublishingEnabled: Boolean :ivar SubscriptionIds: :vartype SubscriptionIds: UInt32 - ''' + """ ua_types = [ ('PublishingEnabled', 'Boolean'), @@ -10016,21 +9416,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SetPublishingModeParameters(' + 'PublishingEnabled:' + str(self.PublishingEnabled) + ', ' + \ - 'SubscriptionIds:' + str(self.SubscriptionIds) + ')' + return f'SetPublishingModeParameters(PublishingEnabled:{self.PublishingEnabled}, SubscriptionIds:{self.SubscriptionIds})' __repr__ = __str__ class SetPublishingModeRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: SetPublishingModeParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -10045,20 +9444,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SetPublishingModeRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'SetPublishingModeRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class SetPublishingModeResult(FrozenClass): - ''' + """ :ivar Results: :vartype Results: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('Results', 'ListOfStatusCode'), @@ -10071,21 +9468,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SetPublishingModeResult(' + 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return f'SetPublishingModeResult(Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ class SetPublishingModeResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: SetPublishingModeResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -10100,22 +9496,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SetPublishingModeResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'SetPublishingModeResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class NotificationMessage(FrozenClass): - ''' + """ :ivar SequenceNumber: :vartype SequenceNumber: UInt32 :ivar PublishTime: :vartype PublishTime: DateTime :ivar NotificationData: :vartype NotificationData: ExtensionObject - ''' + """ ua_types = [ ('SequenceNumber', 'UInt32'), @@ -10130,16 +9524,14 @@ def __init__(self): self._freeze = True def __str__(self): - return 'NotificationMessage(' + 'SequenceNumber:' + str(self.SequenceNumber) + ', ' + \ - 'PublishTime:' + str(self.PublishTime) + ', ' + \ - 'NotificationData:' + str(self.NotificationData) + ')' + return f'NotificationMessage(SequenceNumber:{self.SequenceNumber}, PublishTime:{self.PublishTime}, NotificationData:{self.NotificationData})' __repr__ = __str__ class NotificationData(FrozenClass): - ''' - ''' + """ + """ ua_types = [ ] @@ -10148,18 +9540,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'NotificationData(' + + ')' + return 'NotificationData()' __repr__ = __str__ class DataChangeNotification(FrozenClass): - ''' + """ :ivar MonitoredItems: :vartype MonitoredItems: MonitoredItemNotification :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('MonitoredItems', 'ListOfMonitoredItemNotification'), @@ -10172,19 +9564,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DataChangeNotification(' + 'MonitoredItems:' + str(self.MonitoredItems) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return f'DataChangeNotification(MonitoredItems:{self.MonitoredItems}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ class MonitoredItemNotification(FrozenClass): - ''' + """ :ivar ClientHandle: :vartype ClientHandle: UInt32 :ivar Value: :vartype Value: DataValue - ''' + """ ua_types = [ ('ClientHandle', 'UInt32'), @@ -10197,17 +9588,16 @@ def __init__(self): self._freeze = True def __str__(self): - return 'MonitoredItemNotification(' + 'ClientHandle:' + str(self.ClientHandle) + ', ' + \ - 'Value:' + str(self.Value) + ')' + return f'MonitoredItemNotification(ClientHandle:{self.ClientHandle}, Value:{self.Value})' __repr__ = __str__ class EventNotificationList(FrozenClass): - ''' + """ :ivar Events: :vartype Events: EventFieldList - ''' + """ ua_types = [ ('Events', 'ListOfEventFieldList'), @@ -10218,18 +9608,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'EventNotificationList(' + 'Events:' + str(self.Events) + ')' + return f'EventNotificationList(Events:{self.Events})' __repr__ = __str__ class EventFieldList(FrozenClass): - ''' + """ :ivar ClientHandle: :vartype ClientHandle: UInt32 :ivar EventFields: :vartype EventFields: Variant - ''' + """ ua_types = [ ('ClientHandle', 'UInt32'), @@ -10242,17 +9632,16 @@ def __init__(self): self._freeze = True def __str__(self): - return 'EventFieldList(' + 'ClientHandle:' + str(self.ClientHandle) + ', ' + \ - 'EventFields:' + str(self.EventFields) + ')' + return f'EventFieldList(ClientHandle:{self.ClientHandle}, EventFields:{self.EventFields})' __repr__ = __str__ class HistoryEventFieldList(FrozenClass): - ''' + """ :ivar EventFields: :vartype EventFields: Variant - ''' + """ ua_types = [ ('EventFields', 'ListOfVariant'), @@ -10263,18 +9652,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'HistoryEventFieldList(' + 'EventFields:' + str(self.EventFields) + ')' + return f'HistoryEventFieldList(EventFields:{self.EventFields})' __repr__ = __str__ class StatusChangeNotification(FrozenClass): - ''' + """ :ivar Status: :vartype Status: StatusCode :ivar DiagnosticInfo: :vartype DiagnosticInfo: DiagnosticInfo - ''' + """ ua_types = [ ('Status', 'StatusCode'), @@ -10287,19 +9676,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'StatusChangeNotification(' + 'Status:' + str(self.Status) + ', ' + \ - 'DiagnosticInfo:' + str(self.DiagnosticInfo) + ')' + return f'StatusChangeNotification(Status:{self.Status}, DiagnosticInfo:{self.DiagnosticInfo})' __repr__ = __str__ class SubscriptionAcknowledgement(FrozenClass): - ''' + """ :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar SequenceNumber: :vartype SequenceNumber: UInt32 - ''' + """ ua_types = [ ('SubscriptionId', 'UInt32'), @@ -10312,17 +9700,16 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SubscriptionAcknowledgement(' + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ - 'SequenceNumber:' + str(self.SequenceNumber) + ')' + return f'SubscriptionAcknowledgement(SubscriptionId:{self.SubscriptionId}, SequenceNumber:{self.SequenceNumber})' __repr__ = __str__ class PublishParameters(FrozenClass): - ''' + """ :ivar SubscriptionAcknowledgements: :vartype SubscriptionAcknowledgements: SubscriptionAcknowledgement - ''' + """ ua_types = [ ('SubscriptionAcknowledgements', 'ListOfSubscriptionAcknowledgement'), @@ -10333,20 +9720,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'PublishParameters(' + 'SubscriptionAcknowledgements:' + str(self.SubscriptionAcknowledgements) + ')' + return f'PublishParameters(SubscriptionAcknowledgements:{self.SubscriptionAcknowledgements})' __repr__ = __str__ class PublishRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: PublishParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -10361,15 +9748,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'PublishRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'PublishRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class PublishResult(FrozenClass): - ''' + """ :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar AvailableSequenceNumbers: @@ -10382,7 +9767,7 @@ class PublishResult(FrozenClass): :vartype Results: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('SubscriptionId', 'UInt32'), @@ -10403,25 +9788,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'PublishResult(' + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ - 'AvailableSequenceNumbers:' + str(self.AvailableSequenceNumbers) + ', ' + \ - 'MoreNotifications:' + str(self.MoreNotifications) + ', ' + \ - 'NotificationMessage:' + str(self.NotificationMessage) + ', ' + \ - 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return f'PublishResult(SubscriptionId:{self.SubscriptionId}, AvailableSequenceNumbers:{self.AvailableSequenceNumbers}, MoreNotifications:{self.MoreNotifications}, NotificationMessage:{self.NotificationMessage}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ class PublishResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: PublishResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -10436,20 +9816,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'PublishResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'PublishResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class RepublishParameters(FrozenClass): - ''' + """ :ivar SubscriptionId: :vartype SubscriptionId: UInt32 :ivar RetransmitSequenceNumber: :vartype RetransmitSequenceNumber: UInt32 - ''' + """ ua_types = [ ('SubscriptionId', 'UInt32'), @@ -10462,21 +9840,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'RepublishParameters(' + 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ - 'RetransmitSequenceNumber:' + str(self.RetransmitSequenceNumber) + ')' + return f'RepublishParameters(SubscriptionId:{self.SubscriptionId}, RetransmitSequenceNumber:{self.RetransmitSequenceNumber})' __repr__ = __str__ class RepublishRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: RepublishParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -10491,22 +9868,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'RepublishRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'RepublishRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class RepublishResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar NotificationMessage: :vartype NotificationMessage: NotificationMessage - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -10521,20 +9896,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'RepublishResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'NotificationMessage:' + str(self.NotificationMessage) + ')' + return f'RepublishResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, NotificationMessage:{self.NotificationMessage})' __repr__ = __str__ class TransferResult(FrozenClass): - ''' + """ :ivar StatusCode: :vartype StatusCode: StatusCode :ivar AvailableSequenceNumbers: :vartype AvailableSequenceNumbers: UInt32 - ''' + """ ua_types = [ ('StatusCode', 'StatusCode'), @@ -10547,19 +9920,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'TransferResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ - 'AvailableSequenceNumbers:' + str(self.AvailableSequenceNumbers) + ')' + return f'TransferResult(StatusCode:{self.StatusCode}, AvailableSequenceNumbers:{self.AvailableSequenceNumbers})' __repr__ = __str__ class TransferSubscriptionsParameters(FrozenClass): - ''' + """ :ivar SubscriptionIds: :vartype SubscriptionIds: UInt32 :ivar SendInitialValues: :vartype SendInitialValues: Boolean - ''' + """ ua_types = [ ('SubscriptionIds', 'ListOfUInt32'), @@ -10572,21 +9944,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'TransferSubscriptionsParameters(' + 'SubscriptionIds:' + str(self.SubscriptionIds) + ', ' + \ - 'SendInitialValues:' + str(self.SendInitialValues) + ')' + return f'TransferSubscriptionsParameters(SubscriptionIds:{self.SubscriptionIds}, SendInitialValues:{self.SendInitialValues})' __repr__ = __str__ class TransferSubscriptionsRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: TransferSubscriptionsParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -10601,20 +9972,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'TransferSubscriptionsRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'TransferSubscriptionsRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class TransferSubscriptionsResult(FrozenClass): - ''' + """ :ivar Results: :vartype Results: TransferResult :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('Results', 'ListOfTransferResult'), @@ -10627,21 +9996,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'TransferSubscriptionsResult(' + 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return f'TransferSubscriptionsResult(Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ class TransferSubscriptionsResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: :vartype ResponseHeader: ResponseHeader :ivar Parameters: :vartype Parameters: TransferSubscriptionsResult - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -10656,18 +10024,16 @@ def __init__(self): self._freeze = True def __str__(self): - return 'TransferSubscriptionsResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'TransferSubscriptionsResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class DeleteSubscriptionsParameters(FrozenClass): - ''' + """ :ivar SubscriptionIds: :vartype SubscriptionIds: UInt32 - ''' + """ ua_types = [ ('SubscriptionIds', 'ListOfUInt32'), @@ -10678,20 +10044,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DeleteSubscriptionsParameters(' + 'SubscriptionIds:' + str(self.SubscriptionIds) + ')' + return f'DeleteSubscriptionsParameters(SubscriptionIds:{self.SubscriptionIds})' __repr__ = __str__ class DeleteSubscriptionsRequest(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar RequestHeader: :vartype RequestHeader: RequestHeader :ivar Parameters: :vartype Parameters: DeleteSubscriptionsParameters - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -10706,15 +10072,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DeleteSubscriptionsRequest(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'RequestHeader:' + str(self.RequestHeader) + ', ' + \ - 'Parameters:' + str(self.Parameters) + ')' + return f'DeleteSubscriptionsRequest(TypeId:{self.TypeId}, RequestHeader:{self.RequestHeader}, Parameters:{self.Parameters})' __repr__ = __str__ class DeleteSubscriptionsResponse(FrozenClass): - ''' + """ :ivar TypeId: :vartype TypeId: NodeId :ivar ResponseHeader: @@ -10723,7 +10087,7 @@ class DeleteSubscriptionsResponse(FrozenClass): :vartype Results: StatusCode :ivar DiagnosticInfos: :vartype DiagnosticInfos: DiagnosticInfo - ''' + """ ua_types = [ ('TypeId', 'NodeId'), @@ -10740,16 +10104,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DeleteSubscriptionsResponse(' + 'TypeId:' + str(self.TypeId) + ', ' + \ - 'ResponseHeader:' + str(self.ResponseHeader) + ', ' + \ - 'Results:' + str(self.Results) + ', ' + \ - 'DiagnosticInfos:' + str(self.DiagnosticInfos) + ')' + return f'DeleteSubscriptionsResponse(TypeId:{self.TypeId}, ResponseHeader:{self.ResponseHeader}, Results:{self.Results}, DiagnosticInfos:{self.DiagnosticInfos})' __repr__ = __str__ class BuildInfo(FrozenClass): - ''' + """ :ivar ProductUri: :vartype ProductUri: String :ivar ManufacturerName: @@ -10762,7 +10123,7 @@ class BuildInfo(FrozenClass): :vartype BuildNumber: String :ivar BuildDate: :vartype BuildDate: DateTime - ''' + """ ua_types = [ ('ProductUri', 'String'), @@ -10783,25 +10144,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'BuildInfo(' + 'ProductUri:' + str(self.ProductUri) + ', ' + \ - 'ManufacturerName:' + str(self.ManufacturerName) + ', ' + \ - 'ProductName:' + str(self.ProductName) + ', ' + \ - 'SoftwareVersion:' + str(self.SoftwareVersion) + ', ' + \ - 'BuildNumber:' + str(self.BuildNumber) + ', ' + \ - 'BuildDate:' + str(self.BuildDate) + ')' + return f'BuildInfo(ProductUri:{self.ProductUri}, ManufacturerName:{self.ManufacturerName}, ProductName:{self.ProductName}, SoftwareVersion:{self.SoftwareVersion}, BuildNumber:{self.BuildNumber}, BuildDate:{self.BuildDate})' __repr__ = __str__ class RedundantServerDataType(FrozenClass): - ''' + """ :ivar ServerId: :vartype ServerId: String :ivar ServiceLevel: :vartype ServiceLevel: Byte :ivar ServerState: :vartype ServerState: ServerState - ''' + """ ua_types = [ ('ServerId', 'String'), @@ -10816,18 +10172,16 @@ def __init__(self): self._freeze = True def __str__(self): - return 'RedundantServerDataType(' + 'ServerId:' + str(self.ServerId) + ', ' + \ - 'ServiceLevel:' + str(self.ServiceLevel) + ', ' + \ - 'ServerState:' + str(self.ServerState) + ')' + return f'RedundantServerDataType(ServerId:{self.ServerId}, ServiceLevel:{self.ServiceLevel}, ServerState:{self.ServerState})' __repr__ = __str__ class EndpointUrlListDataType(FrozenClass): - ''' + """ :ivar EndpointUrlList: :vartype EndpointUrlList: String - ''' + """ ua_types = [ ('EndpointUrlList', 'ListOfString'), @@ -10838,18 +10192,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'EndpointUrlListDataType(' + 'EndpointUrlList:' + str(self.EndpointUrlList) + ')' + return f'EndpointUrlListDataType(EndpointUrlList:{self.EndpointUrlList})' __repr__ = __str__ class NetworkGroupDataType(FrozenClass): - ''' + """ :ivar ServerUri: :vartype ServerUri: String :ivar NetworkPaths: :vartype NetworkPaths: EndpointUrlListDataType - ''' + """ ua_types = [ ('ServerUri', 'String'), @@ -10862,14 +10216,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'NetworkGroupDataType(' + 'ServerUri:' + str(self.ServerUri) + ', ' + \ - 'NetworkPaths:' + str(self.NetworkPaths) + ')' + return f'NetworkGroupDataType(ServerUri:{self.ServerUri}, NetworkPaths:{self.NetworkPaths})' __repr__ = __str__ class SamplingIntervalDiagnosticsDataType(FrozenClass): - ''' + """ :ivar SamplingInterval: :vartype SamplingInterval: Double :ivar MonitoredItemCount: @@ -10878,7 +10231,7 @@ class SamplingIntervalDiagnosticsDataType(FrozenClass): :vartype MaxMonitoredItemCount: UInt32 :ivar DisabledMonitoredItemCount: :vartype DisabledMonitoredItemCount: UInt32 - ''' + """ ua_types = [ ('SamplingInterval', 'Double'), @@ -10895,16 +10248,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SamplingIntervalDiagnosticsDataType(' + 'SamplingInterval:' + str(self.SamplingInterval) + ', ' + \ - 'MonitoredItemCount:' + str(self.MonitoredItemCount) + ', ' + \ - 'MaxMonitoredItemCount:' + str(self.MaxMonitoredItemCount) + ', ' + \ - 'DisabledMonitoredItemCount:' + str(self.DisabledMonitoredItemCount) + ')' + return f'SamplingIntervalDiagnosticsDataType(SamplingInterval:{self.SamplingInterval}, MonitoredItemCount:{self.MonitoredItemCount}, MaxMonitoredItemCount:{self.MaxMonitoredItemCount}, DisabledMonitoredItemCount:{self.DisabledMonitoredItemCount})' __repr__ = __str__ class ServerDiagnosticsSummaryDataType(FrozenClass): - ''' + """ :ivar ServerViewCount: :vartype ServerViewCount: UInt32 :ivar CurrentSessionCount: @@ -10929,7 +10279,7 @@ class ServerDiagnosticsSummaryDataType(FrozenClass): :vartype SecurityRejectedRequestsCount: UInt32 :ivar RejectedRequestsCount: :vartype RejectedRequestsCount: UInt32 - ''' + """ ua_types = [ ('ServerViewCount', 'UInt32'), @@ -10962,24 +10312,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ServerDiagnosticsSummaryDataType(' + 'ServerViewCount:' + str(self.ServerViewCount) + ', ' + \ - 'CurrentSessionCount:' + str(self.CurrentSessionCount) + ', ' + \ - 'CumulatedSessionCount:' + str(self.CumulatedSessionCount) + ', ' + \ - 'SecurityRejectedSessionCount:' + str(self.SecurityRejectedSessionCount) + ', ' + \ - 'RejectedSessionCount:' + str(self.RejectedSessionCount) + ', ' + \ - 'SessionTimeoutCount:' + str(self.SessionTimeoutCount) + ', ' + \ - 'SessionAbortCount:' + str(self.SessionAbortCount) + ', ' + \ - 'CurrentSubscriptionCount:' + str(self.CurrentSubscriptionCount) + ', ' + \ - 'CumulatedSubscriptionCount:' + str(self.CumulatedSubscriptionCount) + ', ' + \ - 'PublishingIntervalCount:' + str(self.PublishingIntervalCount) + ', ' + \ - 'SecurityRejectedRequestsCount:' + str(self.SecurityRejectedRequestsCount) + ', ' + \ - 'RejectedRequestsCount:' + str(self.RejectedRequestsCount) + ')' + return f'ServerDiagnosticsSummaryDataType(ServerViewCount:{self.ServerViewCount}, CurrentSessionCount:{self.CurrentSessionCount}, CumulatedSessionCount:{self.CumulatedSessionCount}, SecurityRejectedSessionCount:{self.SecurityRejectedSessionCount}, RejectedSessionCount:{self.RejectedSessionCount}, SessionTimeoutCount:{self.SessionTimeoutCount}, SessionAbortCount:{self.SessionAbortCount}, CurrentSubscriptionCount:{self.CurrentSubscriptionCount}, CumulatedSubscriptionCount:{self.CumulatedSubscriptionCount}, PublishingIntervalCount:{self.PublishingIntervalCount}, SecurityRejectedRequestsCount:{self.SecurityRejectedRequestsCount}, RejectedRequestsCount:{self.RejectedRequestsCount})' __repr__ = __str__ class ServerStatusDataType(FrozenClass): - ''' + """ :ivar StartTime: :vartype StartTime: DateTime :ivar CurrentTime: @@ -10992,7 +10331,7 @@ class ServerStatusDataType(FrozenClass): :vartype SecondsTillShutdown: UInt32 :ivar ShutdownReason: :vartype ShutdownReason: LocalizedText - ''' + """ ua_types = [ ('StartTime', 'DateTime'), @@ -11013,18 +10352,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ServerStatusDataType(' + 'StartTime:' + str(self.StartTime) + ', ' + \ - 'CurrentTime:' + str(self.CurrentTime) + ', ' + \ - 'State:' + str(self.State) + ', ' + \ - 'BuildInfo:' + str(self.BuildInfo) + ', ' + \ - 'SecondsTillShutdown:' + str(self.SecondsTillShutdown) + ', ' + \ - 'ShutdownReason:' + str(self.ShutdownReason) + ')' + return f'ServerStatusDataType(StartTime:{self.StartTime}, CurrentTime:{self.CurrentTime}, State:{self.State}, BuildInfo:{self.BuildInfo}, SecondsTillShutdown:{self.SecondsTillShutdown}, ShutdownReason:{self.ShutdownReason})' __repr__ = __str__ class SessionDiagnosticsDataType(FrozenClass): - ''' + """ :ivar SessionId: :vartype SessionId: NodeId :ivar SessionName: @@ -11111,7 +10445,7 @@ class SessionDiagnosticsDataType(FrozenClass): :vartype RegisterNodesCount: ServiceCounterDataType :ivar UnregisterNodesCount: :vartype UnregisterNodesCount: ServiceCounterDataType - ''' + """ ua_types = [ ('SessionId', 'NodeId'), @@ -11206,55 +10540,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SessionDiagnosticsDataType(' + 'SessionId:' + str(self.SessionId) + ', ' + \ - 'SessionName:' + str(self.SessionName) + ', ' + \ - 'ClientDescription:' + str(self.ClientDescription) + ', ' + \ - 'ServerUri:' + str(self.ServerUri) + ', ' + \ - 'EndpointUrl:' + str(self.EndpointUrl) + ', ' + \ - 'LocaleIds:' + str(self.LocaleIds) + ', ' + \ - 'ActualSessionTimeout:' + str(self.ActualSessionTimeout) + ', ' + \ - 'MaxResponseMessageSize:' + str(self.MaxResponseMessageSize) + ', ' + \ - 'ClientConnectionTime:' + str(self.ClientConnectionTime) + ', ' + \ - 'ClientLastContactTime:' + str(self.ClientLastContactTime) + ', ' + \ - 'CurrentSubscriptionsCount:' + str(self.CurrentSubscriptionsCount) + ', ' + \ - 'CurrentMonitoredItemsCount:' + str(self.CurrentMonitoredItemsCount) + ', ' + \ - 'CurrentPublishRequestsInQueue:' + str(self.CurrentPublishRequestsInQueue) + ', ' + \ - 'TotalRequestCount:' + str(self.TotalRequestCount) + ', ' + \ - 'UnauthorizedRequestCount:' + str(self.UnauthorizedRequestCount) + ', ' + \ - 'ReadCount:' + str(self.ReadCount) + ', ' + \ - 'HistoryReadCount:' + str(self.HistoryReadCount) + ', ' + \ - 'WriteCount:' + str(self.WriteCount) + ', ' + \ - 'HistoryUpdateCount:' + str(self.HistoryUpdateCount) + ', ' + \ - 'CallCount:' + str(self.CallCount) + ', ' + \ - 'CreateMonitoredItemsCount:' + str(self.CreateMonitoredItemsCount) + ', ' + \ - 'ModifyMonitoredItemsCount:' + str(self.ModifyMonitoredItemsCount) + ', ' + \ - 'SetMonitoringModeCount:' + str(self.SetMonitoringModeCount) + ', ' + \ - 'SetTriggeringCount:' + str(self.SetTriggeringCount) + ', ' + \ - 'DeleteMonitoredItemsCount:' + str(self.DeleteMonitoredItemsCount) + ', ' + \ - 'CreateSubscriptionCount:' + str(self.CreateSubscriptionCount) + ', ' + \ - 'ModifySubscriptionCount:' + str(self.ModifySubscriptionCount) + ', ' + \ - 'SetPublishingModeCount:' + str(self.SetPublishingModeCount) + ', ' + \ - 'PublishCount:' + str(self.PublishCount) + ', ' + \ - 'RepublishCount:' + str(self.RepublishCount) + ', ' + \ - 'TransferSubscriptionsCount:' + str(self.TransferSubscriptionsCount) + ', ' + \ - 'DeleteSubscriptionsCount:' + str(self.DeleteSubscriptionsCount) + ', ' + \ - 'AddNodesCount:' + str(self.AddNodesCount) + ', ' + \ - 'AddReferencesCount:' + str(self.AddReferencesCount) + ', ' + \ - 'DeleteNodesCount:' + str(self.DeleteNodesCount) + ', ' + \ - 'DeleteReferencesCount:' + str(self.DeleteReferencesCount) + ', ' + \ - 'BrowseCount:' + str(self.BrowseCount) + ', ' + \ - 'BrowseNextCount:' + str(self.BrowseNextCount) + ', ' + \ - 'TranslateBrowsePathsToNodeIdsCount:' + str(self.TranslateBrowsePathsToNodeIdsCount) + ', ' + \ - 'QueryFirstCount:' + str(self.QueryFirstCount) + ', ' + \ - 'QueryNextCount:' + str(self.QueryNextCount) + ', ' + \ - 'RegisterNodesCount:' + str(self.RegisterNodesCount) + ', ' + \ - 'UnregisterNodesCount:' + str(self.UnregisterNodesCount) + ')' + return f'SessionDiagnosticsDataType(SessionId:{self.SessionId}, SessionName:{self.SessionName}, ClientDescription:{self.ClientDescription}, ServerUri:{self.ServerUri}, EndpointUrl:{self.EndpointUrl}, LocaleIds:{self.LocaleIds}, ActualSessionTimeout:{self.ActualSessionTimeout}, MaxResponseMessageSize:{self.MaxResponseMessageSize}, ClientConnectionTime:{self.ClientConnectionTime}, ClientLastContactTime:{self.ClientLastContactTime}, CurrentSubscriptionsCount:{self.CurrentSubscriptionsCount}, CurrentMonitoredItemsCount:{self.CurrentMonitoredItemsCount}, CurrentPublishRequestsInQueue:{self.CurrentPublishRequestsInQueue}, TotalRequestCount:{self.TotalRequestCount}, UnauthorizedRequestCount:{self.UnauthorizedRequestCount}, ReadCount:{self.ReadCount}, HistoryReadCount:{self.HistoryReadCount}, WriteCount:{self.WriteCount}, HistoryUpdateCount:{self.HistoryUpdateCount}, CallCount:{self.CallCount}, CreateMonitoredItemsCount:{self.CreateMonitoredItemsCount}, ModifyMonitoredItemsCount:{self.ModifyMonitoredItemsCount}, SetMonitoringModeCount:{self.SetMonitoringModeCount}, SetTriggeringCount:{self.SetTriggeringCount}, DeleteMonitoredItemsCount:{self.DeleteMonitoredItemsCount}, CreateSubscriptionCount:{self.CreateSubscriptionCount}, ModifySubscriptionCount:{self.ModifySubscriptionCount}, SetPublishingModeCount:{self.SetPublishingModeCount}, PublishCount:{self.PublishCount}, RepublishCount:{self.RepublishCount}, TransferSubscriptionsCount:{self.TransferSubscriptionsCount}, DeleteSubscriptionsCount:{self.DeleteSubscriptionsCount}, AddNodesCount:{self.AddNodesCount}, AddReferencesCount:{self.AddReferencesCount}, DeleteNodesCount:{self.DeleteNodesCount}, DeleteReferencesCount:{self.DeleteReferencesCount}, BrowseCount:{self.BrowseCount}, BrowseNextCount:{self.BrowseNextCount}, TranslateBrowsePathsToNodeIdsCount:{self.TranslateBrowsePathsToNodeIdsCount}, QueryFirstCount:{self.QueryFirstCount}, QueryNextCount:{self.QueryNextCount}, RegisterNodesCount:{self.RegisterNodesCount}, UnregisterNodesCount:{self.UnregisterNodesCount})' __repr__ = __str__ class SessionSecurityDiagnosticsDataType(FrozenClass): - ''' + """ :ivar SessionId: :vartype SessionId: NodeId :ivar ClientUserIdOfSession: @@ -11273,7 +10565,7 @@ class SessionSecurityDiagnosticsDataType(FrozenClass): :vartype SecurityPolicyUri: String :ivar ClientCertificate: :vartype ClientCertificate: ByteString - ''' + """ ua_types = [ ('SessionId', 'NodeId'), @@ -11300,26 +10592,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SessionSecurityDiagnosticsDataType(' + 'SessionId:' + str(self.SessionId) + ', ' + \ - 'ClientUserIdOfSession:' + str(self.ClientUserIdOfSession) + ', ' + \ - 'ClientUserIdHistory:' + str(self.ClientUserIdHistory) + ', ' + \ - 'AuthenticationMechanism:' + str(self.AuthenticationMechanism) + ', ' + \ - 'Encoding:' + str(self.Encoding) + ', ' + \ - 'TransportProtocol:' + str(self.TransportProtocol) + ', ' + \ - 'SecurityMode:' + str(self.SecurityMode) + ', ' + \ - 'SecurityPolicyUri:' + str(self.SecurityPolicyUri) + ', ' + \ - 'ClientCertificate:' + str(self.ClientCertificate) + ')' + return f'SessionSecurityDiagnosticsDataType(SessionId:{self.SessionId}, ClientUserIdOfSession:{self.ClientUserIdOfSession}, ClientUserIdHistory:{self.ClientUserIdHistory}, AuthenticationMechanism:{self.AuthenticationMechanism}, Encoding:{self.Encoding}, TransportProtocol:{self.TransportProtocol}, SecurityMode:{self.SecurityMode}, SecurityPolicyUri:{self.SecurityPolicyUri}, ClientCertificate:{self.ClientCertificate})' __repr__ = __str__ class ServiceCounterDataType(FrozenClass): - ''' + """ :ivar TotalCount: :vartype TotalCount: UInt32 :ivar ErrorCount: :vartype ErrorCount: UInt32 - ''' + """ ua_types = [ ('TotalCount', 'UInt32'), @@ -11332,19 +10616,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ServiceCounterDataType(' + 'TotalCount:' + str(self.TotalCount) + ', ' + \ - 'ErrorCount:' + str(self.ErrorCount) + ')' + return f'ServiceCounterDataType(TotalCount:{self.TotalCount}, ErrorCount:{self.ErrorCount})' __repr__ = __str__ class StatusResult(FrozenClass): - ''' + """ :ivar StatusCode: :vartype StatusCode: StatusCode :ivar DiagnosticInfo: :vartype DiagnosticInfo: DiagnosticInfo - ''' + """ ua_types = [ ('StatusCode', 'StatusCode'), @@ -11357,14 +10640,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'StatusResult(' + 'StatusCode:' + str(self.StatusCode) + ', ' + \ - 'DiagnosticInfo:' + str(self.DiagnosticInfo) + ')' + return f'StatusResult(StatusCode:{self.StatusCode}, DiagnosticInfo:{self.DiagnosticInfo})' __repr__ = __str__ class SubscriptionDiagnosticsDataType(FrozenClass): - ''' + """ :ivar SessionId: :vartype SessionId: NodeId :ivar SubscriptionId: @@ -11427,7 +10709,7 @@ class SubscriptionDiagnosticsDataType(FrozenClass): :vartype NextSequenceNumber: UInt32 :ivar EventQueueOverFlowCount: :vartype EventQueueOverFlowCount: UInt32 - ''' + """ ua_types = [ ('SessionId', 'NodeId'), @@ -11498,50 +10780,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SubscriptionDiagnosticsDataType(' + 'SessionId:' + str(self.SessionId) + ', ' + \ - 'SubscriptionId:' + str(self.SubscriptionId) + ', ' + \ - 'Priority:' + str(self.Priority) + ', ' + \ - 'PublishingInterval:' + str(self.PublishingInterval) + ', ' + \ - 'MaxKeepAliveCount:' + str(self.MaxKeepAliveCount) + ', ' + \ - 'MaxLifetimeCount:' + str(self.MaxLifetimeCount) + ', ' + \ - 'MaxNotificationsPerPublish:' + str(self.MaxNotificationsPerPublish) + ', ' + \ - 'PublishingEnabled:' + str(self.PublishingEnabled) + ', ' + \ - 'ModifyCount:' + str(self.ModifyCount) + ', ' + \ - 'EnableCount:' + str(self.EnableCount) + ', ' + \ - 'DisableCount:' + str(self.DisableCount) + ', ' + \ - 'RepublishRequestCount:' + str(self.RepublishRequestCount) + ', ' + \ - 'RepublishMessageRequestCount:' + str(self.RepublishMessageRequestCount) + ', ' + \ - 'RepublishMessageCount:' + str(self.RepublishMessageCount) + ', ' + \ - 'TransferRequestCount:' + str(self.TransferRequestCount) + ', ' + \ - 'TransferredToAltClientCount:' + str(self.TransferredToAltClientCount) + ', ' + \ - 'TransferredToSameClientCount:' + str(self.TransferredToSameClientCount) + ', ' + \ - 'PublishRequestCount:' + str(self.PublishRequestCount) + ', ' + \ - 'DataChangeNotificationsCount:' + str(self.DataChangeNotificationsCount) + ', ' + \ - 'EventNotificationsCount:' + str(self.EventNotificationsCount) + ', ' + \ - 'NotificationsCount:' + str(self.NotificationsCount) + ', ' + \ - 'LatePublishRequestCount:' + str(self.LatePublishRequestCount) + ', ' + \ - 'CurrentKeepAliveCount:' + str(self.CurrentKeepAliveCount) + ', ' + \ - 'CurrentLifetimeCount:' + str(self.CurrentLifetimeCount) + ', ' + \ - 'UnacknowledgedMessageCount:' + str(self.UnacknowledgedMessageCount) + ', ' + \ - 'DiscardedMessageCount:' + str(self.DiscardedMessageCount) + ', ' + \ - 'MonitoredItemCount:' + str(self.MonitoredItemCount) + ', ' + \ - 'DisabledMonitoredItemCount:' + str(self.DisabledMonitoredItemCount) + ', ' + \ - 'MonitoringQueueOverflowCount:' + str(self.MonitoringQueueOverflowCount) + ', ' + \ - 'NextSequenceNumber:' + str(self.NextSequenceNumber) + ', ' + \ - 'EventQueueOverFlowCount:' + str(self.EventQueueOverFlowCount) + ')' + return f'SubscriptionDiagnosticsDataType(SessionId:{self.SessionId}, SubscriptionId:{self.SubscriptionId}, Priority:{self.Priority}, PublishingInterval:{self.PublishingInterval}, MaxKeepAliveCount:{self.MaxKeepAliveCount}, MaxLifetimeCount:{self.MaxLifetimeCount}, MaxNotificationsPerPublish:{self.MaxNotificationsPerPublish}, PublishingEnabled:{self.PublishingEnabled}, ModifyCount:{self.ModifyCount}, EnableCount:{self.EnableCount}, DisableCount:{self.DisableCount}, RepublishRequestCount:{self.RepublishRequestCount}, RepublishMessageRequestCount:{self.RepublishMessageRequestCount}, RepublishMessageCount:{self.RepublishMessageCount}, TransferRequestCount:{self.TransferRequestCount}, TransferredToAltClientCount:{self.TransferredToAltClientCount}, TransferredToSameClientCount:{self.TransferredToSameClientCount}, PublishRequestCount:{self.PublishRequestCount}, DataChangeNotificationsCount:{self.DataChangeNotificationsCount}, EventNotificationsCount:{self.EventNotificationsCount}, NotificationsCount:{self.NotificationsCount}, LatePublishRequestCount:{self.LatePublishRequestCount}, CurrentKeepAliveCount:{self.CurrentKeepAliveCount}, CurrentLifetimeCount:{self.CurrentLifetimeCount}, UnacknowledgedMessageCount:{self.UnacknowledgedMessageCount}, DiscardedMessageCount:{self.DiscardedMessageCount}, MonitoredItemCount:{self.MonitoredItemCount}, DisabledMonitoredItemCount:{self.DisabledMonitoredItemCount}, MonitoringQueueOverflowCount:{self.MonitoringQueueOverflowCount}, NextSequenceNumber:{self.NextSequenceNumber}, EventQueueOverFlowCount:{self.EventQueueOverFlowCount})' __repr__ = __str__ class ModelChangeStructureDataType(FrozenClass): - ''' + """ :ivar Affected: :vartype Affected: NodeId :ivar AffectedType: :vartype AffectedType: NodeId :ivar Verb: :vartype Verb: Byte - ''' + """ ua_types = [ ('Affected', 'NodeId'), @@ -11556,20 +10808,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ModelChangeStructureDataType(' + 'Affected:' + str(self.Affected) + ', ' + \ - 'AffectedType:' + str(self.AffectedType) + ', ' + \ - 'Verb:' + str(self.Verb) + ')' + return f'ModelChangeStructureDataType(Affected:{self.Affected}, AffectedType:{self.AffectedType}, Verb:{self.Verb})' __repr__ = __str__ class SemanticChangeStructureDataType(FrozenClass): - ''' + """ :ivar Affected: :vartype Affected: NodeId :ivar AffectedType: :vartype AffectedType: NodeId - ''' + """ ua_types = [ ('Affected', 'NodeId'), @@ -11582,19 +10832,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'SemanticChangeStructureDataType(' + 'Affected:' + str(self.Affected) + ', ' + \ - 'AffectedType:' + str(self.AffectedType) + ')' + return f'SemanticChangeStructureDataType(Affected:{self.Affected}, AffectedType:{self.AffectedType})' __repr__ = __str__ class Range(FrozenClass): - ''' + """ :ivar Low: :vartype Low: Double :ivar High: :vartype High: Double - ''' + """ ua_types = [ ('Low', 'Double'), @@ -11607,14 +10856,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'Range(' + 'Low:' + str(self.Low) + ', ' + \ - 'High:' + str(self.High) + ')' + return f'Range(Low:{self.Low}, High:{self.High})' __repr__ = __str__ class EUInformation(FrozenClass): - ''' + """ :ivar NamespaceUri: :vartype NamespaceUri: String :ivar UnitId: @@ -11623,7 +10871,7 @@ class EUInformation(FrozenClass): :vartype DisplayName: LocalizedText :ivar Description: :vartype Description: LocalizedText - ''' + """ ua_types = [ ('NamespaceUri', 'String'), @@ -11640,21 +10888,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'EUInformation(' + 'NamespaceUri:' + str(self.NamespaceUri) + ', ' + \ - 'UnitId:' + str(self.UnitId) + ', ' + \ - 'DisplayName:' + str(self.DisplayName) + ', ' + \ - 'Description:' + str(self.Description) + ')' + return f'EUInformation(NamespaceUri:{self.NamespaceUri}, UnitId:{self.UnitId}, DisplayName:{self.DisplayName}, Description:{self.Description})' __repr__ = __str__ class ComplexNumberType(FrozenClass): - ''' + """ :ivar Real: :vartype Real: Float :ivar Imaginary: :vartype Imaginary: Float - ''' + """ ua_types = [ ('Real', 'Float'), @@ -11667,19 +10912,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ComplexNumberType(' + 'Real:' + str(self.Real) + ', ' + \ - 'Imaginary:' + str(self.Imaginary) + ')' + return f'ComplexNumberType(Real:{self.Real}, Imaginary:{self.Imaginary})' __repr__ = __str__ class DoubleComplexNumberType(FrozenClass): - ''' + """ :ivar Real: :vartype Real: Double :ivar Imaginary: :vartype Imaginary: Double - ''' + """ ua_types = [ ('Real', 'Double'), @@ -11692,14 +10936,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'DoubleComplexNumberType(' + 'Real:' + str(self.Real) + ', ' + \ - 'Imaginary:' + str(self.Imaginary) + ')' + return f'DoubleComplexNumberType(Real:{self.Real}, Imaginary:{self.Imaginary})' __repr__ = __str__ class AxisInformation(FrozenClass): - ''' + """ :ivar EngineeringUnits: :vartype EngineeringUnits: EUInformation :ivar EURange: @@ -11710,7 +10953,7 @@ class AxisInformation(FrozenClass): :vartype AxisScaleType: AxisScaleEnumeration :ivar AxisSteps: :vartype AxisSteps: Double - ''' + """ ua_types = [ ('EngineeringUnits', 'EUInformation'), @@ -11729,22 +10972,18 @@ def __init__(self): self._freeze = True def __str__(self): - return 'AxisInformation(' + 'EngineeringUnits:' + str(self.EngineeringUnits) + ', ' + \ - 'EURange:' + str(self.EURange) + ', ' + \ - 'Title:' + str(self.Title) + ', ' + \ - 'AxisScaleType:' + str(self.AxisScaleType) + ', ' + \ - 'AxisSteps:' + str(self.AxisSteps) + ')' + return f'AxisInformation(EngineeringUnits:{self.EngineeringUnits}, EURange:{self.EURange}, Title:{self.Title}, AxisScaleType:{self.AxisScaleType}, AxisSteps:{self.AxisSteps})' __repr__ = __str__ class XVType(FrozenClass): - ''' + """ :ivar X: :vartype X: Double :ivar Value: :vartype Value: Float - ''' + """ ua_types = [ ('X', 'Double'), @@ -11757,14 +10996,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'XVType(' + 'X:' + str(self.X) + ', ' + \ - 'Value:' + str(self.Value) + ')' + return f'XVType(X:{self.X}, Value:{self.Value})' __repr__ = __str__ class ProgramDiagnosticDataType(FrozenClass): - ''' + """ :ivar CreateSessionId: :vartype CreateSessionId: NodeId :ivar CreateClientName: @@ -11785,7 +11023,7 @@ class ProgramDiagnosticDataType(FrozenClass): :vartype LastMethodCallTime: DateTime :ivar LastMethodReturnStatus: :vartype LastMethodReturnStatus: StatusResult - ''' + """ ua_types = [ ('CreateSessionId', 'NodeId'), @@ -11814,22 +11052,13 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ProgramDiagnosticDataType(' + 'CreateSessionId:' + str(self.CreateSessionId) + ', ' + \ - 'CreateClientName:' + str(self.CreateClientName) + ', ' + \ - 'InvocationCreationTime:' + str(self.InvocationCreationTime) + ', ' + \ - 'LastTransitionTime:' + str(self.LastTransitionTime) + ', ' + \ - 'LastMethodCall:' + str(self.LastMethodCall) + ', ' + \ - 'LastMethodSessionId:' + str(self.LastMethodSessionId) + ', ' + \ - 'LastMethodInputArguments:' + str(self.LastMethodInputArguments) + ', ' + \ - 'LastMethodOutputArguments:' + str(self.LastMethodOutputArguments) + ', ' + \ - 'LastMethodCallTime:' + str(self.LastMethodCallTime) + ', ' + \ - 'LastMethodReturnStatus:' + str(self.LastMethodReturnStatus) + ')' + return f'ProgramDiagnosticDataType(CreateSessionId:{self.CreateSessionId}, CreateClientName:{self.CreateClientName}, InvocationCreationTime:{self.InvocationCreationTime}, LastTransitionTime:{self.LastTransitionTime}, LastMethodCall:{self.LastMethodCall}, LastMethodSessionId:{self.LastMethodSessionId}, LastMethodInputArguments:{self.LastMethodInputArguments}, LastMethodOutputArguments:{self.LastMethodOutputArguments}, LastMethodCallTime:{self.LastMethodCallTime}, LastMethodReturnStatus:{self.LastMethodReturnStatus})' __repr__ = __str__ class ProgramDiagnostic2DataType(FrozenClass): - ''' + """ :ivar CreateSessionId: :vartype CreateSessionId: NodeId :ivar CreateClientName: @@ -11854,7 +11083,7 @@ class ProgramDiagnostic2DataType(FrozenClass): :vartype LastMethodCallTime: DateTime :ivar LastMethodReturnStatus: :vartype LastMethodReturnStatus: StatusResult - ''' + """ ua_types = [ ('CreateSessionId', 'NodeId'), @@ -11887,31 +11116,20 @@ def __init__(self): self._freeze = True def __str__(self): - return 'ProgramDiagnostic2DataType(' + 'CreateSessionId:' + str(self.CreateSessionId) + ', ' + \ - 'CreateClientName:' + str(self.CreateClientName) + ', ' + \ - 'InvocationCreationTime:' + str(self.InvocationCreationTime) + ', ' + \ - 'LastTransitionTime:' + str(self.LastTransitionTime) + ', ' + \ - 'LastMethodCall:' + str(self.LastMethodCall) + ', ' + \ - 'LastMethodSessionId:' + str(self.LastMethodSessionId) + ', ' + \ - 'LastMethodInputArguments:' + str(self.LastMethodInputArguments) + ', ' + \ - 'LastMethodOutputArguments:' + str(self.LastMethodOutputArguments) + ', ' + \ - 'LastMethodInputValues:' + str(self.LastMethodInputValues) + ', ' + \ - 'LastMethodOutputValues:' + str(self.LastMethodOutputValues) + ', ' + \ - 'LastMethodCallTime:' + str(self.LastMethodCallTime) + ', ' + \ - 'LastMethodReturnStatus:' + str(self.LastMethodReturnStatus) + ')' + return f'ProgramDiagnostic2DataType(CreateSessionId:{self.CreateSessionId}, CreateClientName:{self.CreateClientName}, InvocationCreationTime:{self.InvocationCreationTime}, LastTransitionTime:{self.LastTransitionTime}, LastMethodCall:{self.LastMethodCall}, LastMethodSessionId:{self.LastMethodSessionId}, LastMethodInputArguments:{self.LastMethodInputArguments}, LastMethodOutputArguments:{self.LastMethodOutputArguments}, LastMethodInputValues:{self.LastMethodInputValues}, LastMethodOutputValues:{self.LastMethodOutputValues}, LastMethodCallTime:{self.LastMethodCallTime}, LastMethodReturnStatus:{self.LastMethodReturnStatus})' __repr__ = __str__ class Annotation(FrozenClass): - ''' + """ :ivar Message: :vartype Message: String :ivar UserName: :vartype UserName: String :ivar AnnotationTime: :vartype AnnotationTime: DateTime - ''' + """ ua_types = [ ('Message', 'String'), @@ -11926,9 +11144,7 @@ def __init__(self): self._freeze = True def __str__(self): - return 'Annotation(' + 'Message:' + str(self.Message) + ', ' + \ - 'UserName:' + str(self.UserName) + ', ' + \ - 'AnnotationTime:' + str(self.AnnotationTime) + ')' + return f'Annotation(Message:{self.Message}, UserName:{self.UserName}, AnnotationTime:{self.AnnotationTime})' __repr__ = __str__ diff --git a/schemas/NodeIds.csv b/schemas/NodeIds.csv index b89d443d3..a8dd7da72 100644 --- a/schemas/NodeIds.csv +++ b/schemas/NodeIds.csv @@ -103,6 +103,10 @@ DataTypeDescription_Encoding_DefaultBinary,125,Object StructureDescription_Encoding_DefaultBinary,126,Object EnumDescription_Encoding_DefaultBinary,127,Object RolePermissionType_Encoding_DefaultBinary,128,Object +DescribesArgument,129,ReferenceType +DescribesInputArgument,130,ReferenceType +DescribesOptionalInputArgument,131,ReferenceType +DescribesOutputArgument,132,ReferenceType IdType,256,DataType NodeClass,257,DataType Node,258,DataType @@ -6014,6 +6018,7 @@ DeleteReferencesResponse_Encoding_DefaultJson,15177,Object BrokerConnectionTransportType_AuthenticationProfileUri,15178,Variable ViewDescription_Encoding_DefaultJson,15179,Object BrowseDescription_Encoding_DefaultJson,15180,Object +UserCredentialCertificateType,15181,ObjectType ReferenceDescription_Encoding_DefaultJson,15182,Object BrowseResult_Encoding_DefaultJson,15183,Object BrowseRequest_Encoding_DefaultJson,15184,Object @@ -6080,10 +6085,12 @@ QueryFirstRequest_Encoding_DefaultJson,15244,Object PublishedEventsType_DataSetMetaData,15245,Variable BrokerWriterGroupTransportType_ResourceUri,15246,Variable BrokerWriterGroupTransportType_AuthenticationProfileUri,15247,Variable +CreateCredentialMethodType,15248,Method BrokerWriterGroupTransportType_RequestedDeliveryGuarantee,15249,Variable BrokerDataSetWriterTransportType_ResourceUri,15250,Variable BrokerDataSetWriterTransportType_AuthenticationProfileUri,15251,Variable QueryFirstResponse_Encoding_DefaultJson,15252,Object +CreateCredentialMethodType_InputArguments,15253,Variable QueryNextRequest_Encoding_DefaultJson,15254,Object QueryNextResponse_Encoding_DefaultJson,15255,Object ReadValueId_Encoding_DefaultJson,15256,Object @@ -6436,7 +6443,7 @@ OpcUa_BinarySchema_EnumDescription,15602,Variable OpcUa_BinarySchema_EnumDescription_DataTypeVersion,15603,Variable OpcUa_BinarySchema_EnumDescription_DictionaryFragment,15604,Variable DataSetWriterMessageDataType,15605,DataType -Server_ServerCapabilities_Roles,15606,Object +Server_ServerCapabilities_RoleSet,15606,Object RoleSetType,15607,ObjectType RoleSetType_RoleName_Placeholder,15608,Object PubSubGroupDataType,15609,DataType @@ -7119,23 +7126,23 @@ ReaderGroupMessageDataType_Encoding_DefaultJson,16285,Object DataSetReaderDataType_Encoding_DefaultJson,16286,Object DataSetReaderTransportDataType_Encoding_DefaultJson,16287,Object DataSetReaderMessageDataType_Encoding_DefaultJson,16288,Object -ServerType_ServerCapabilities_Roles,16289,Object -ServerType_ServerCapabilities_Roles_AddRole,16290,Method -ServerType_ServerCapabilities_Roles_AddRole_InputArguments,16291,Variable -ServerType_ServerCapabilities_Roles_AddRole_OutputArguments,16292,Variable -ServerType_ServerCapabilities_Roles_RemoveRole,16293,Method -ServerType_ServerCapabilities_Roles_RemoveRole_InputArguments,16294,Variable -ServerCapabilitiesType_Roles,16295,Object -ServerCapabilitiesType_Roles_AddRole,16296,Method -ServerCapabilitiesType_Roles_AddRole_InputArguments,16297,Variable -ServerCapabilitiesType_Roles_AddRole_OutputArguments,16298,Variable -ServerCapabilitiesType_Roles_RemoveRole,16299,Method -ServerCapabilitiesType_Roles_RemoveRole_InputArguments,16300,Variable -Server_ServerCapabilities_Roles_AddRole,16301,Method -Server_ServerCapabilities_Roles_AddRole_InputArguments,16302,Variable -Server_ServerCapabilities_Roles_AddRole_OutputArguments,16303,Variable -Server_ServerCapabilities_Roles_RemoveRole,16304,Method -Server_ServerCapabilities_Roles_RemoveRole_InputArguments,16305,Variable +ServerType_ServerCapabilities_RoleSet,16289,Object +ServerType_ServerCapabilities_RoleSet_AddRole,16290,Method +ServerType_ServerCapabilities_RoleSet_AddRole_InputArguments,16291,Variable +ServerType_ServerCapabilities_RoleSet_AddRole_OutputArguments,16292,Variable +ServerType_ServerCapabilities_RoleSet_RemoveRole,16293,Method +ServerType_ServerCapabilities_RoleSet_RemoveRole_InputArguments,16294,Variable +ServerCapabilitiesType_RoleSet,16295,Object +ServerCapabilitiesType_RoleSet_AddRole,16296,Method +ServerCapabilitiesType_RoleSet_AddRole_InputArguments,16297,Variable +ServerCapabilitiesType_RoleSet_AddRole_OutputArguments,16298,Variable +ServerCapabilitiesType_RoleSet_RemoveRole,16299,Method +ServerCapabilitiesType_RoleSet_RemoveRole_InputArguments,16300,Variable +Server_ServerCapabilities_RoleSet_AddRole,16301,Method +Server_ServerCapabilities_RoleSet_AddRole_InputArguments,16302,Variable +Server_ServerCapabilities_RoleSet_AddRole_OutputArguments,16303,Variable +Server_ServerCapabilities_RoleSet_RemoveRole,16304,Method +Server_ServerCapabilities_RoleSet_RemoveRole_InputArguments,16305,Variable DefaultInputValues,16306,Variable AudioDataType,16307,DataType SubscribedDataSetDataType_Encoding_DefaultJson,16308,Object @@ -8325,8 +8332,48 @@ ReaderGroupType_GroupProperties,17491,Variable ReaderGroupType_DataSetReaderName_Placeholder_DataSetReaderProperties,17492,Variable DataSetWriterType_DataSetWriterProperties,17493,Variable DataSetReaderType_DataSetReaderProperties,17494,Variable +CreateCredentialMethodType_OutputArguments,17495,Variable +KeyCredentialConfigurationFolderType,17496,ObjectType +EUItemType,17497,VariableType +EUItemType_Definition,17498,Variable +EUItemType_ValuePrecision,17499,Variable +EUItemType_InstrumentRange,17500,Variable +EUItemType_EURange,17501,Variable +EUItemType_EngineeringUnits,17502,Variable +AnalogUnitItemType,17503,VariableType +AnalogUnitItemType_Definition,17504,Variable +AnalogUnitItemType_ValuePrecision,17505,Variable +AnalogUnitItemType_InstrumentRange,17506,Variable PubSubConnectionType_AddReaderGroup_InputArguments,17507,Variable PubSubConnectionType_AddReaderGroup_OutputArguments,17508,Variable +AnalogUnitItemType_EURange,17509,Variable +AnalogUnitItemType_EngineeringUnits,17510,Variable +KeyCredentialConfigurationFolderType_ServiceName_Placeholder,17511,Object +KeyCredentialConfigurationFolderType_ServiceName_Placeholder_ResourceUri,17512,Variable +KeyCredentialConfigurationFolderType_ServiceName_Placeholder_ProfileUri,17513,Variable +KeyCredentialConfigurationFolderType_ServiceName_Placeholder_EndpointUrls,17514,Variable +KeyCredentialConfigurationFolderType_ServiceName_Placeholder_ServiceStatus,17515,Variable +KeyCredentialConfigurationFolderType_ServiceName_Placeholder_GetEncryptingKey,17516,Method +KeyCredentialConfigurationFolderType_ServiceName_Placeholder_GetEncryptingKey_InputArguments,17517,Variable +KeyCredentialConfigurationFolderType_ServiceName_Placeholder_GetEncryptingKey_OutputArguments,17518,Variable +KeyCredentialConfigurationFolderType_ServiceName_Placeholder_UpdateCredential,17519,Method +KeyCredentialConfigurationFolderType_ServiceName_Placeholder_UpdateCredential_InputArguments,17520,Variable +KeyCredentialConfigurationFolderType_ServiceName_Placeholder_DeleteCredential,17521,Method +KeyCredentialConfigurationFolderType_CreateCredential,17522,Method +KeyCredentialConfigurationFolderType_CreateCredential_InputArguments,17523,Variable +KeyCredentialConfigurationFolderType_CreateCredential_OutputArguments,17524,Variable +KeyCredentialConfiguration_ServiceName_Placeholder_GetEncryptingKey,17525,Method +KeyCredentialConfiguration_ServiceName_Placeholder_GetEncryptingKey_InputArguments,17526,Variable +KeyCredentialConfiguration_ServiceName_Placeholder_GetEncryptingKey_OutputArguments,17527,Variable +KeyCredentialConfiguration_CreateCredential,17528,Method +KeyCredentialConfiguration_CreateCredential_InputArguments,17529,Variable +KeyCredentialConfiguration_CreateCredential_OutputArguments,17530,Variable +GetEncryptingKeyMethodType,17531,Method +GetEncryptingKeyMethodType_InputArguments,17532,Variable +GetEncryptingKeyMethodType_OutputArguments,17533,Variable +KeyCredentialConfigurationType_GetEncryptingKey,17534,Method +KeyCredentialConfigurationType_GetEncryptingKey_InputArguments,17535,Variable +KeyCredentialConfigurationType_GetEncryptingKey_OutputArguments,17536,Variable PubSubConnectionTypeAddWriterGroupMethodType,17561,Method GenericAttributeValue,17606,DataType GenericAttributes,17607,DataType diff --git a/schemas/Opc.Ua.Adi.NodeSet2.xml b/schemas/Opc.Ua.Adi.NodeSet2.xml index b2de513b7..7d5b35932 100644 --- a/schemas/Opc.Ua.Adi.NodeSet2.xml +++ b/schemas/Opc.Ua.Adi.NodeSet2.xml @@ -1,8466 +1,8586 @@ - - - - - - http://opcfoundation.org/UA/ADI/ - http://opcfoundation.org/UA/DI/ - - - - - - - - - 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 - - - AnalyserDeviceType - - ns=1;i=5001 - ns=1;i=9382 - ns=1;i=9386 - ns=1;i=9482 - ns=1;i=9484 - ns=1;i=9486 - ns=1;i=9488 - ns=1;i=9500 - ns=1;i=9610 - ns=2;i=1002 - - - - ParameterSet - Flat list of Parameters - - ns=1;i=9459 - ns=1;i=9462 - i=58 - i=80 - ns=1;i=1001 - - - - DiagnosticStatus - General health status of the analyser - - ns=1;i=9484 - i=2365 - i=78 - ns=1;i=5001 - - - - ConfigData - Optional analyser device large configuration - - ns=1;i=9463 - ns=1;i=13070 - ns=1;i=13071 - ns=1;i=9466 - ns=1;i=9467 - ns=1;i=9470 - ns=1;i=9472 - ns=1;i=9475 - ns=1;i=9477 - ns=1;i=9480 - ns=1;i=9482 - i=11575 - i=80 - ns=1;i=5001 - - - - Size - The size of the file in bytes. - - i=68 - i=78 - ns=1;i=9462 - - - - Writable - Whether the file is writable. - - i=68 - i=78 - ns=1;i=9462 - - - - UserWritable - Whether the file is writable by the current user. - - i=68 - i=78 - ns=1;i=9462 - - - - OpenCount - The current number of open file handles. - - i=68 - i=78 - ns=1;i=9462 - - - - Open - - ns=1;i=9468 - ns=1;i=9469 - i=78 - ns=1;i=9462 - - - - InputArguments - - i=68 - i=78 - ns=1;i=9467 - - - - - - i=297 - - - - Mode - - i=3 - - -1 - - - - - - - - - - OutputArguments - - i=68 - i=78 - ns=1;i=9467 - - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - - Close - - ns=1;i=9471 - i=78 - ns=1;i=9462 - - - - InputArguments - - i=68 - i=78 - ns=1;i=9470 - - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - - Read - - ns=1;i=9473 - ns=1;i=9474 - i=78 - ns=1;i=9462 - - - - InputArguments - - i=68 - i=78 - ns=1;i=9472 - - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Length - - i=6 - - -1 - - - - - - - - - - OutputArguments - - i=68 - i=78 - ns=1;i=9472 - - - - - - i=297 - - - - Data - - i=15 - - -1 - - - - - - - - - - Write - - ns=1;i=9476 - i=78 - ns=1;i=9462 - - - - InputArguments - - i=68 - i=78 - ns=1;i=9475 - - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Data - - i=15 - - -1 - - - - - - - - - - GetPosition - - ns=1;i=9478 - ns=1;i=9479 - i=78 - ns=1;i=9462 - - - - InputArguments - - i=68 - i=78 - ns=1;i=9477 - - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - - - OutputArguments - - i=68 - i=78 - ns=1;i=9477 - - - - - - i=297 - - - - Position - - i=9 - - -1 - - - - - - - - - - SetPosition - - ns=1;i=9481 - i=78 - ns=1;i=9462 - - - - InputArguments - - i=68 - i=78 - ns=1;i=9480 - - - - - - i=297 - - - - FileHandle - - i=7 - - -1 - - - - - - - - i=297 - - - - Position - - i=9 - - -1 - - - - - - - - - - MethodSet - Flat list of Methods - - ns=1;i=9443 - ns=1;i=9445 - ns=1;i=9448 - ns=1;i=9450 - ns=1;i=9453 - ns=1;i=9454 - ns=1;i=9455 - ns=1;i=9456 - ns=1;i=9457 - ns=1;i=9458 - i=58 - i=78 - ns=1;i=1001 - - - - GetConfiguration - - ns=1;i=9444 - i=78 - ns=1;i=9382 - - - - OutputArguments - - i=68 - i=78 - ns=1;i=9443 - - - - - - i=297 - - - - ConfigData - - i=15 - - -1 - - - - - - - - - - SetConfiguration - - ns=1;i=9446 - ns=1;i=9447 - i=78 - ns=1;i=9382 - - - - InputArguments - - i=68 - i=78 - ns=1;i=9445 - - - - - - i=297 - - - - ConfigData - - i=15 - - -1 - - - - - - - - - - OutputArguments - - i=68 - i=78 - ns=1;i=9445 - - - - - - i=297 - - - - ConfigDataDigest - - i=12 - - -1 - - - - - - - - - - GetConfigDataDigest - - ns=1;i=9449 - i=78 - ns=1;i=9382 - - - - OutputArguments - - i=68 - i=78 - ns=1;i=9448 - - - - - - i=297 - - - - ConfigDataDigest - - i=12 - - -1 - - - - - - - - - - CompareConfigDataDigest - - ns=1;i=9451 - ns=1;i=9452 - i=78 - ns=1;i=9382 - - - - InputArguments - - i=68 - i=78 - ns=1;i=9450 - - - - - - i=297 - - - - ConfigDataDigest - - i=12 - - -1 - - - - - - - - - - OutputArguments - - i=68 - i=78 - ns=1;i=9450 - - - - - - i=297 - - - - IsEqual - - i=1 - - -1 - - - - - - - - - - ResetAllChannels - Reset all AnalyserChannels belonging to this AnalyserDevice. - - i=78 - ns=1;i=9382 - - - - StartAllChannels - Start all AnalyserChannels belonging to this AnalyserDevice. - - i=78 - ns=1;i=9382 - - - - StopAllChannels - Stop all AnalyserChannels belonging to this AnalyserDevice. - - i=78 - ns=1;i=9382 - - - - AbortAllChannels - Abort all AnalyserChannels belonging to this AnalyserDevice. - - i=78 - ns=1;i=9382 - - - - GotoOperating - AnalyserDeviceStateMachine to go to Operating state, forcing all AnalyserChannels to leave the SlaveMode state and go to the Operating state. - - i=78 - ns=1;i=9382 - - - - GotoMaintenance - AnalyserDeviceStateMachine to go to Maintenance state, forcing all AnalyserChannels to SlaveMode state. - - i=78 - ns=1;i=9382 - - - - Identification - Used to organize parameters for identification of this TopologyElement - - ns=2;i=6003 - ns=2;i=6004 - ns=2;i=6001 - ns=2;i=1005 - i=78 - ns=1;i=1001 - - - - Configuration - - ns=1;i=9462 - ns=2;i=1005 - i=78 - ns=1;i=1001 - - - - Status - - ns=1;i=9459 - ns=2;i=1005 - i=78 - ns=1;i=1001 - - - - FactorySettings - - ns=2;i=1005 - i=78 - ns=1;i=1001 - - - - AnalyserStateMachine - - ns=1;i=9489 - ns=1;i=1002 - i=78 - ns=1;i=1001 - - - - CurrentState - - ns=1;i=9490 - i=2760 - i=78 - ns=1;i=9488 - - - - Id - - i=68 - i=78 - ns=1;i=9489 - - - - <ChannelIdentifier> - Channel definition - - ns=1;i=9503 - ns=1;i=9546 - ns=1;i=9548 - ns=1;i=9550 - ns=1;i=1003 - i=11508 - ns=1;i=1001 - - - - MethodSet - Flat list of Methods - - ns=1;i=9521 - ns=1;i=9522 - ns=1;i=9523 - ns=1;i=9525 - ns=1;i=9526 - ns=1;i=9527 - ns=1;i=9528 - ns=1;i=9529 - ns=1;i=9530 - ns=1;i=9531 - ns=1;i=9532 - ns=1;i=9533 - i=58 - i=78 - ns=1;i=9500 - - - - GotoOperating - Transitions the AnalyserChannel to Operating mode. - - i=78 - ns=1;i=9503 - - - - GotoMaintenance - Transitions the AnalyserChannel to Maintenance mode. - - i=78 - ns=1;i=9503 - - - - StartSingleAcquisition - - ns=1;i=9524 - i=78 - ns=1;i=9503 - - - - InputArguments - - i=68 - i=78 - ns=1;i=9523 - - - - - - i=297 - - - - ExecutionCycle - - ns=1;i=9378 - - -1 - - - - - - - - i=297 - - - - ExecutionCycleSubcode - - i=7 - - -1 - - - - - - - - i=297 - - - - SelectedStream - - i=12 - - -1 - - - - - - - - - - Reset - Causes transition to the Resetting state. - - i=78 - ns=1;i=9503 - - - - Start - Causes transition to the Starting state. - - i=78 - ns=1;i=9503 - - - - Stop - Causes transition to the Stopping state. - - i=78 - ns=1;i=9503 - - - - Hold - Causes transition to the Holding state. - - i=78 - ns=1;i=9503 - - - - Unhold - Causes transition to the Unholding state. - - i=78 - ns=1;i=9503 - - - - Suspend - Causes transition to the Suspending state. - - i=78 - ns=1;i=9503 - - - - Unsuspend - Causes transition to the Unsuspending state. - - i=78 - ns=1;i=9503 - - - - Abort - Causes transition to the Aborting state. - - i=78 - ns=1;i=9503 - - - - Clear - Causes transition to the Clearing state. - - i=78 - ns=1;i=9503 - - - - Configuration - - ns=2;i=1005 - i=78 - ns=1;i=9500 - - - - Status - - ns=2;i=1005 - i=78 - ns=1;i=9500 - - - - ChannelStateMachine - - ns=1;i=9551 - ns=1;i=9562 - ns=1;i=1007 - i=78 - ns=1;i=9500 - - - - CurrentState - - ns=1;i=9552 - i=2760 - i=78 - ns=1;i=9550 - - - - Id - - i=68 - i=78 - ns=1;i=9551 - - - - OperatingSubStateMachine - - ns=1;i=9563 - ns=1;i=9574 - ns=1;i=1008 - i=78 - ns=1;i=9550 - - - - CurrentState - - ns=1;i=9564 - i=2760 - i=78 - ns=1;i=9562 - - - - Id - - i=68 - i=78 - ns=1;i=9563 - - - - OperatingExecuteSubStateMachine - - ns=1;i=9575 - ns=1;i=1009 - i=78 - ns=1;i=9562 - - - - CurrentState - - ns=1;i=9576 - i=2760 - i=78 - ns=1;i=9574 - - - - Id - - i=68 - i=78 - ns=1;i=9575 - - - - <AccessorySlotIdentifier> - AccessorySlot definition - - ns=1;i=9611 - ns=1;i=9612 - ns=1;i=9613 - ns=1;i=9614 - ns=1;i=1017 - i=11508 - ns=1;i=1001 - - - - SupportedTypes - Folder maintaining the set of (sub-types of) BaseObjectTypes that can be instantiated in the ConfigurableComponent - - i=61 - i=78 - ns=1;i=9610 - - - - IsHotSwappable - True if an accessory can be inserted in the accessory slot while it is powered - - i=68 - i=78 - ns=1;i=9610 - - - - IsEnabled - True if this accessory slot is capable of accepting an accessory in it - - i=68 - i=78 - ns=1;i=9610 - - - - AccessorySlotStateMachine - - ns=1;i=9615 - ns=1;i=1018 - i=78 - ns=1;i=9610 - - - - CurrentState - - ns=1;i=9616 - i=2760 - i=78 - ns=1;i=9614 - - - - Id - - i=68 - i=78 - ns=1;i=9615 - - - - AnalyserDeviceStateMachineType - - ns=1;i=9647 - ns=1;i=9649 - ns=1;i=9651 - ns=1;i=9653 - ns=1;i=9655 - ns=1;i=9657 - ns=1;i=9659 - ns=1;i=9661 - ns=1;i=9663 - ns=1;i=9665 - ns=1;i=9667 - ns=1;i=9669 - ns=1;i=9671 - ns=1;i=9673 - ns=1;i=9675 - i=2771 - - - - Powerup - The AnalyserDevice is in its power-up sequence and cannot perform any other task. - - ns=1;i=9648 - ns=1;i=9657 - i=2309 - ns=1;i=1002 - - - - StateNumber - - i=68 - i=78 - ns=1;i=9647 - - - 100 - - - - Operating - The AnalyserDevice is in the Operating mode. - - ns=1;i=9650 - ns=1;i=9657 - ns=1;i=9659 - ns=1;i=9661 - ns=1;i=9663 - ns=1;i=9667 - ns=1;i=9671 - i=2307 - ns=1;i=1002 - - - - StateNumber - - i=68 - i=78 - ns=1;i=9649 - - - 200 - - - - Local - The AnalyserDevice is in the Local mode. This mode is normally used to perform local physical maintenance on the analyser. - - ns=1;i=9652 - ns=1;i=9659 - ns=1;i=9663 - ns=1;i=9665 - ns=1;i=9669 - ns=1;i=9673 - i=2307 - ns=1;i=1002 - - - - StateNumber - - i=68 - i=78 - ns=1;i=9651 - - - 300 - - - - Maintenance - The AnalyserDevice is in the Maintenance mode. This mode is used to perform remote maintenance on the analyser like firmware upgrade. - - ns=1;i=9654 - ns=1;i=9661 - ns=1;i=9665 - ns=1;i=9667 - ns=1;i=9669 - ns=1;i=9675 - i=2307 - ns=1;i=1002 - - - - StateNumber - - i=68 - i=78 - ns=1;i=9653 - - - 400 - - - - Shutdown - The AnalyserDevice is in its power-down sequence and cannot perform any other task. - - ns=1;i=9656 - ns=1;i=9671 - ns=1;i=9673 - ns=1;i=9675 - i=2307 - ns=1;i=1002 - - - - StateNumber - - i=68 - i=78 - ns=1;i=9655 - - - 500 - - - - PowerupToOperatingTransition - - ns=1;i=9658 - ns=1;i=9647 - ns=1;i=9649 - i=2310 - ns=1;i=1002 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=9657 - - - 1 - - - - OperatingToLocalTransition - - ns=1;i=9660 - ns=1;i=9649 - ns=1;i=9651 - i=2310 - ns=1;i=1002 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=9659 - - - 2 - - - - OperatingToMaintenanceTransition - - ns=1;i=9662 - ns=1;i=9649 - ns=1;i=9653 - ns=1;i=9458 - i=2310 - ns=1;i=1002 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=9661 - - - 3 - - - - LocalToOperatingTransition - - ns=1;i=9664 - ns=1;i=9651 - ns=1;i=9649 - i=2310 - ns=1;i=1002 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=9663 - - - 4 - - - - LocalToMaintenanceTransition - - ns=1;i=9666 - ns=1;i=9651 - ns=1;i=9653 - i=2310 - ns=1;i=1002 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=9665 - - - 5 - - - - MaintenanceToOperatingTransition - - ns=1;i=9668 - ns=1;i=9653 - ns=1;i=9649 - ns=1;i=9457 - i=2310 - ns=1;i=1002 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=9667 - - - 6 - - - - MaintenanceToLocalTransition - - ns=1;i=9670 - ns=1;i=9653 - ns=1;i=9651 - i=2310 - ns=1;i=1002 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=9669 - - - 7 - - - - OperatingToShutdownTransition - - ns=1;i=9672 - ns=1;i=9649 - ns=1;i=9655 - i=2310 - ns=1;i=1002 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=9671 - - - 8 - - - - LocalToShutdownTransition - - ns=1;i=9674 - ns=1;i=9651 - ns=1;i=9655 - i=2310 - ns=1;i=1002 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=9673 - - - 9 - - - - MaintenanceToShutdownTransition - - ns=1;i=9676 - ns=1;i=9653 - ns=1;i=9655 - i=2310 - ns=1;i=1002 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=9675 - - - 10 - - - - AnalyserChannelType - - ns=1;i=9677 - ns=1;i=9679 - ns=1;i=9788 - ns=1;i=9724 - ns=1;i=9726 - ns=1;i=9728 - ns=1;i=9790 - ns=1;i=9916 - ns=2;i=1001 - - - - ParameterSet - Flat list of Parameters - - ns=1;i=9712 - ns=1;i=9715 - ns=1;i=9718 - ns=1;i=9721 - i=58 - i=80 - ns=1;i=1003 - - - - ChannelId - Channel Id defined by user - - i=2365 - i=80 - ns=1;i=9677 - - - - IsEnabled - True if the channel is enabled and accepting commands - - ns=1;i=9724 - i=2365 - i=78 - ns=1;i=9677 - - - - DiagnosticStatus - AnalyserChannel health status - - ns=1;i=9726 - i=2365 - i=78 - ns=1;i=9677 - - - - ActiveStream - Active stream for this AnalyserChannel - - ns=1;i=9726 - i=2365 - i=78 - ns=1;i=9677 - - - - MethodSet - Flat list of Methods - - ns=1;i=9699 - ns=1;i=9700 - ns=1;i=9701 - ns=1;i=9703 - ns=1;i=9704 - ns=1;i=9705 - ns=1;i=9706 - ns=1;i=9707 - ns=1;i=9708 - ns=1;i=9709 - ns=1;i=9710 - ns=1;i=9711 - i=58 - i=78 - ns=1;i=1003 - - - - GotoOperating - Transitions the AnalyserChannel to Operating mode. - - i=78 - ns=1;i=9679 - - - - GotoMaintenance - Transitions the AnalyserChannel to Maintenance mode. - - i=78 - ns=1;i=9679 - - - - StartSingleAcquisition - - ns=1;i=9702 - i=78 - ns=1;i=9679 - - - - InputArguments - - i=68 - i=78 - ns=1;i=9701 - - - - - - i=297 - - - - ExecutionCycle - - ns=1;i=9378 - - -1 - - - - - - - - i=297 - - - - ExecutionCycleSubcode - - i=7 - - -1 - - - - - - - - i=297 - - - - SelectedStream - - i=12 - - -1 - - - - - - - - - - Reset - Causes transition to the Resetting state. - - i=78 - ns=1;i=9679 - - - - Start - Causes transition to the Starting state. - - i=78 - ns=1;i=9679 - - - - Stop - Causes transition to the Stopping state. - - i=78 - ns=1;i=9679 - - - - Hold - Causes transition to the Holding state. - - i=78 - ns=1;i=9679 - - - - Unhold - Causes transition to the Unholding state. - - i=78 - ns=1;i=9679 - - - - Suspend - Causes transition to the Suspending state. - - i=78 - ns=1;i=9679 - - - - Unsuspend - Causes transition to the Unsuspending state. - - i=78 - ns=1;i=9679 - - - - Abort - Causes transition to the Aborting state. - - i=78 - ns=1;i=9679 - - - - Clear - Causes transition to the Clearing state. - - i=78 - ns=1;i=9679 - - - - <GroupIdentifier> - Group definition - - ns=2;i=1005 - i=11508 - ns=1;i=1003 - - - - Configuration - - ns=1;i=9715 - ns=2;i=1005 - i=78 - ns=1;i=1003 - - - - Status - - ns=1;i=9718 - ns=1;i=9721 - ns=2;i=1005 - i=78 - ns=1;i=1003 - - - - ChannelStateMachine - - ns=1;i=9729 - ns=1;i=9740 - ns=1;i=1007 - i=78 - ns=1;i=1003 - - - - CurrentState - - ns=1;i=9730 - i=2760 - i=78 - ns=1;i=9728 - - - - Id - - i=68 - i=78 - ns=1;i=9729 - - - - OperatingSubStateMachine - - ns=1;i=9741 - ns=1;i=9752 - ns=1;i=1008 - i=78 - ns=1;i=9728 - - - - CurrentState - - ns=1;i=9742 - i=2760 - i=78 - ns=1;i=9740 - - - - Id - - i=68 - i=78 - ns=1;i=9741 - - - - OperatingExecuteSubStateMachine - - ns=1;i=9753 - ns=1;i=1009 - i=78 - ns=1;i=9740 - - - - CurrentState - - ns=1;i=9754 - i=2760 - i=78 - ns=1;i=9752 - - - - Id - - i=68 - i=78 - ns=1;i=9753 - - - - <StreamIdentifier> - Stream definition - - ns=1;i=9902 - ns=1;i=9904 - ns=1;i=9906 - ns=1;i=9908 - ns=1;i=9910 - ns=1;i=9912 - ns=1;i=9914 - ns=1;i=1010 - i=11508 - ns=1;i=1003 - - - - Configuration - - ns=2;i=1005 - i=78 - ns=1;i=9790 - - - - Status - - ns=2;i=1005 - i=78 - ns=1;i=9790 - - - - AcquisitionSettings - - ns=2;i=1005 - i=78 - ns=1;i=9790 - - - - AcquisitionStatus - - ns=2;i=1005 - i=78 - ns=1;i=9790 - - - - AcquisitionData - - ns=2;i=1005 - i=78 - ns=1;i=9790 - - - - ChemometricModelSettings - - ns=2;i=1005 - i=78 - ns=1;i=9790 - - - - Context - - ns=2;i=1005 - i=78 - ns=1;i=9790 - - - - <AccessorySlotIdentifier> - AccessorySlot definition - - ns=1;i=9917 - ns=1;i=9918 - ns=1;i=9919 - ns=1;i=9920 - ns=1;i=1017 - i=11508 - ns=1;i=1003 - - - - SupportedTypes - Folder maintaining the set of (sub-types of) BaseObjectTypes that can be instantiated in the ConfigurableComponent - - i=61 - i=78 - ns=1;i=9916 - - - - IsHotSwappable - True if an accessory can be inserted in the accessory slot while it is powered - - i=68 - i=78 - ns=1;i=9916 - - - - IsEnabled - True if this accessory slot is capable of accepting an accessory in it - - i=68 - i=78 - ns=1;i=9916 - - - - AccessorySlotStateMachine - - ns=1;i=9921 - ns=1;i=1018 - i=78 - ns=1;i=9916 - - - - CurrentState - - ns=1;i=9922 - i=2760 - i=78 - ns=1;i=9920 - - - - Id - - i=68 - i=78 - ns=1;i=9921 - - - - AnalyserChannelOperatingStateType - - ns=1;i=9948 - i=2307 - - - - AnalyserChannelLocalStateType - - i=2307 - - - - AnalyserChannelMaintenanceStateType - - i=2307 - - - - AnalyserChannelStateMachineType - Contains a nested state model that defines the top level states Operating, Local and Maintenance - - ns=1;i=9948 - ns=1;i=9972 - ns=1;i=9984 - ns=1;i=9996 - ns=1;i=9998 - ns=1;i=10000 - ns=1;i=10002 - ns=1;i=10004 - ns=1;i=10006 - ns=1;i=10008 - ns=1;i=10010 - ns=1;i=10012 - ns=1;i=10014 - ns=1;i=10016 - ns=1;i=10018 - ns=1;i=10020 - ns=1;i=10022 - i=2771 - - - - OperatingSubStateMachine - - ns=1;i=9949 - ns=1;i=9960 - ns=1;i=9998 - ns=1;i=1008 - i=78 - ns=1;i=1007 - - - - CurrentState - - ns=1;i=9950 - i=2760 - i=78 - ns=1;i=9948 - - - - Id - - i=68 - i=78 - ns=1;i=9949 - - - - OperatingExecuteSubStateMachine - - ns=1;i=9961 - ns=1;i=1009 - i=78 - ns=1;i=9948 - - - - CurrentState - - ns=1;i=9962 - i=2760 - i=78 - ns=1;i=9960 - - - - Id - - i=68 - i=78 - ns=1;i=9961 - - - - LocalSubStateMachine - - ns=1;i=9973 - ns=1;i=10000 - i=2771 - i=80 - ns=1;i=1007 - - - - CurrentState - - ns=1;i=9974 - i=2760 - i=78 - ns=1;i=9972 - - - - Id - - i=68 - i=78 - ns=1;i=9973 - - - - MaintenanceSubStateMachine - - ns=1;i=9985 - ns=1;i=10002 - i=2771 - i=80 - ns=1;i=1007 - - - - CurrentState - - ns=1;i=9986 - i=2760 - i=78 - ns=1;i=9984 - - - - Id - - i=68 - i=78 - ns=1;i=9985 - - - - SlaveMode - The AnalyserDevice is in Local or Maintenance mode and all AnalyserChannels are in SlaveMode - - ns=1;i=9997 - ns=1;i=10004 - ns=1;i=10018 - ns=1;i=10020 - ns=1;i=10022 - i=2309 - ns=1;i=1007 - - - - StateNumber - - i=68 - i=78 - ns=1;i=9996 - - - 100 - - - - Operating - The AnalyserChannel is in the Operating mode. - - ns=1;i=9999 - ns=1;i=9948 - ns=1;i=10004 - ns=1;i=10006 - ns=1;i=10008 - ns=1;i=10010 - ns=1;i=10014 - ns=1;i=10018 - ns=1;i=1004 - ns=1;i=1007 - - - - StateNumber - - i=68 - i=78 - ns=1;i=9998 - - - 200 - - - - Local - The AnalyserChannel is in the Local mode. This mode is normally used to perform local physical maintenance on the analyser. - - ns=1;i=10001 - ns=1;i=9972 - ns=1;i=10006 - ns=1;i=10010 - ns=1;i=10012 - ns=1;i=10016 - ns=1;i=10020 - ns=1;i=1005 - ns=1;i=1007 - - - - StateNumber - - i=68 - i=78 - ns=1;i=10000 - - - 300 - - - - Maintenance - The AnalyserChannel is in the Maintenance mode. This mode is used to perform remote maintenance on the analyser like firmware upgrade. - - ns=1;i=10003 - ns=1;i=9984 - ns=1;i=10008 - ns=1;i=10012 - ns=1;i=10014 - ns=1;i=10016 - ns=1;i=10022 - ns=1;i=1006 - ns=1;i=1007 - - - - StateNumber - - i=68 - i=78 - ns=1;i=10002 - - - 400 - - - - SlaveModeToOperatingTransition - - ns=1;i=10005 - ns=1;i=9996 - ns=1;i=9998 - i=2310 - ns=1;i=1007 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10004 - - - 1 - - - - OperatingToLocalTransition - - ns=1;i=10007 - ns=1;i=9998 - ns=1;i=10000 - i=2310 - ns=1;i=1007 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10006 - - - 2 - - - - OperatingToMaintenanceTransition - - ns=1;i=10009 - ns=1;i=9998 - ns=1;i=10002 - ns=1;i=9700 - i=2310 - ns=1;i=1007 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10008 - - - 3 - - - - LocalToOperatingTransition - - ns=1;i=10011 - ns=1;i=10000 - ns=1;i=9998 - i=2310 - ns=1;i=1007 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10010 - - - 4 - - - - LocalToMaintenanceTransition - - ns=1;i=10013 - ns=1;i=10000 - ns=1;i=10002 - i=2310 - ns=1;i=1007 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10012 - - - 5 - - - - MaintenanceToOperatingTransition - - ns=1;i=10015 - ns=1;i=10002 - ns=1;i=9998 - ns=1;i=9699 - i=2310 - ns=1;i=1007 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10014 - - - 6 - - - - MaintenanceToLocalTransition - - ns=1;i=10017 - ns=1;i=10002 - ns=1;i=10000 - i=2310 - ns=1;i=1007 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10016 - - - 7 - - - - OperatingToSlaveModeTransition - - ns=1;i=10019 - ns=1;i=9998 - ns=1;i=9996 - i=2310 - ns=1;i=1007 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10018 - - - 8 - - - - LocalToSlaveModeTransition - - ns=1;i=10021 - ns=1;i=10000 - ns=1;i=9996 - i=2310 - ns=1;i=1007 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10020 - - - 9 - - - - MaintenanceToSlaveModeTransition - - ns=1;i=10023 - ns=1;i=10002 - ns=1;i=9996 - i=2310 - ns=1;i=1007 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10022 - - - 10 - - - - AnalyserChannelOperatingExecuteStateType - - ns=1;i=10036 - i=2307 - - - - AnalyserChannel_OperatingModeSubStateMachineType - AnalyserChannel OperatingMode SubStateMachine - - ns=1;i=10036 - ns=1;i=10048 - ns=1;i=10050 - ns=1;i=10052 - ns=1;i=10054 - ns=1;i=10056 - ns=1;i=10058 - ns=1;i=10060 - ns=1;i=10062 - ns=1;i=10064 - ns=1;i=10066 - ns=1;i=10068 - ns=1;i=10070 - ns=1;i=10072 - ns=1;i=10074 - ns=1;i=10076 - ns=1;i=10078 - ns=1;i=10080 - ns=1;i=10082 - ns=1;i=10084 - ns=1;i=10086 - ns=1;i=10088 - ns=1;i=10090 - ns=1;i=10092 - ns=1;i=10094 - ns=1;i=10096 - ns=1;i=10098 - ns=1;i=10100 - ns=1;i=10102 - ns=1;i=10104 - ns=1;i=10106 - ns=1;i=10108 - ns=1;i=10110 - ns=1;i=10112 - ns=1;i=10114 - ns=1;i=10116 - ns=1;i=10118 - ns=1;i=10120 - ns=1;i=10122 - ns=1;i=10124 - ns=1;i=10126 - ns=1;i=10128 - ns=1;i=10130 - ns=1;i=10132 - ns=1;i=10134 - ns=1;i=10136 - ns=1;i=10138 - ns=1;i=10140 - ns=1;i=10142 - ns=1;i=10144 - ns=1;i=10146 - ns=1;i=10148 - ns=1;i=10150 - ns=1;i=10152 - ns=1;i=10154 - ns=1;i=10156 - ns=1;i=10158 - ns=1;i=10160 - ns=1;i=10162 - ns=1;i=10164 - ns=1;i=10166 - ns=1;i=10168 - ns=1;i=10170 - ns=1;i=10172 - ns=1;i=10174 - ns=1;i=10176 - ns=1;i=10178 - ns=1;i=10180 - ns=1;i=10182 - ns=1;i=10184 - ns=1;i=10186 - ns=1;i=10188 - i=2771 - - - - OperatingExecuteSubStateMachine - - ns=1;i=10037 - ns=1;i=10056 - ns=1;i=1009 - i=78 - ns=1;i=1008 - - - - CurrentState - - ns=1;i=10038 - i=2760 - i=78 - ns=1;i=10036 - - - - Id - - i=68 - i=78 - ns=1;i=10037 - - - - Stopped - This is the initial state after AnalyserDeviceStateMachine state Powerup - - ns=1;i=10049 - ns=1;i=10082 - ns=1;i=10100 - ns=1;i=10130 - ns=1;i=10136 - ns=1;i=10162 - i=2309 - ns=1;i=1008 - - - - StateNumber - - i=68 - i=78 - ns=1;i=10048 - - - 2 - - - - Resetting - This state is the result of a Reset or SetConfiguration Method call from the Stopped state. - - ns=1;i=10051 - ns=1;i=10082 - ns=1;i=10084 - ns=1;i=10084 - ns=1;i=10086 - ns=1;i=10138 - ns=1;i=10164 - i=2307 - ns=1;i=1008 - - - - StateNumber - - i=68 - i=78 - ns=1;i=10050 - - - 15 - - - - Idle - The Resetting state is completed, all parameters have been committed and ready to start acquisition - - ns=1;i=10053 - ns=1;i=10086 - ns=1;i=10088 - ns=1;i=10140 - ns=1;i=10166 - i=2307 - ns=1;i=1008 - - - - StateNumber - - i=68 - i=78 - ns=1;i=10052 - - - 4 - - - - Starting - The analyser has received the Start or SingleAcquisitionStart Method call and it is preparing to enter in Execute state. - - ns=1;i=10055 - ns=1;i=10088 - ns=1;i=10090 - ns=1;i=10090 - ns=1;i=10092 - ns=1;i=10142 - ns=1;i=10168 - i=2307 - ns=1;i=1008 - - - - StateNumber - - i=68 - i=78 - ns=1;i=10054 - - - 3 - - - - Execute - All repetitive acquisition cycles are done in this state: - - ns=1;i=10057 - ns=1;i=10036 - ns=1;i=10092 - ns=1;i=10094 - ns=1;i=10102 - ns=1;i=10114 - ns=1;i=10116 - ns=1;i=10128 - ns=1;i=10144 - ns=1;i=10170 - ns=1;i=8964 - ns=1;i=1008 - - - - StateNumber - - i=68 - i=78 - ns=1;i=10056 - - - 6 - - - - Completing - This state is an automatic or commanded exit from the Execute state. - - ns=1;i=10059 - ns=1;i=10094 - ns=1;i=10096 - ns=1;i=10096 - ns=1;i=10098 - ns=1;i=10146 - ns=1;i=10172 - i=2307 - ns=1;i=1008 - - - - StateNumber - - i=68 - i=78 - ns=1;i=10058 - - - 16 - - - - Complete - At this point, the Completing state is done and it transitions automatically to Stopped state to wait. - - ns=1;i=10061 - ns=1;i=10098 - ns=1;i=10100 - ns=1;i=10148 - ns=1;i=10174 - i=2307 - ns=1;i=1008 - - - - StateNumber - - i=68 - i=78 - ns=1;i=10060 - - - 17 - - - - Suspending - This state is a result of a change in monitored conditions due to process conditions or factors. - - ns=1;i=10063 - ns=1;i=10116 - ns=1;i=10118 - ns=1;i=10118 - ns=1;i=10120 - ns=1;i=10126 - ns=1;i=10150 - ns=1;i=10176 - i=2307 - ns=1;i=1008 - - - - StateNumber - - i=68 - i=78 - ns=1;i=10062 - - - 13 - - - - Suspended - The analyser or channel may be running but no results are being generated while the analyser or channel is waiting for external process conditions to return to normal. - - ns=1;i=10065 - ns=1;i=10120 - ns=1;i=10122 - ns=1;i=10152 - ns=1;i=10178 - i=2307 - ns=1;i=1008 - - - - StateNumber - - i=68 - i=78 - ns=1;i=10064 - - - 5 - - - - Unsuspending - This state is a result of a device request from Suspended state to transition back to the Execute state by calling the Unsuspend Method. - - ns=1;i=10067 - ns=1;i=10122 - ns=1;i=10124 - ns=1;i=10124 - ns=1;i=10126 - ns=1;i=10128 - ns=1;i=10154 - ns=1;i=10180 - i=2307 - ns=1;i=1008 - - - - StateNumber - - i=68 - i=78 - ns=1;i=10066 - - - 14 - - - - Holding - Brings the analyser or channel to a controlled stop or to a state which represents Held for the particular unit control mode - - ns=1;i=10069 - ns=1;i=10102 - ns=1;i=10104 - ns=1;i=10104 - ns=1;i=10106 - ns=1;i=10112 - ns=1;i=10156 - ns=1;i=10182 - i=2307 - ns=1;i=1008 - - - - StateNumber - - i=68 - i=78 - ns=1;i=10068 - - - 10 - - - - Held - The Held state holds the analyser or channel's operation. At this state, no acquisition cycle is performed. - - ns=1;i=10071 - ns=1;i=10106 - ns=1;i=10108 - ns=1;i=10158 - ns=1;i=10184 - i=2307 - ns=1;i=1008 - - - - StateNumber - - i=68 - i=78 - ns=1;i=10070 - - - 11 - - - - Unholding - The Unholding state is a response to an operator command to resume the Execute state. - - ns=1;i=10073 - ns=1;i=10108 - ns=1;i=10110 - ns=1;i=10110 - ns=1;i=10112 - ns=1;i=10114 - ns=1;i=10160 - ns=1;i=10186 - i=2307 - ns=1;i=1008 - - - - StateNumber - - i=68 - i=78 - ns=1;i=10072 - - - 12 - - - - Stopping - Initiated by a Stop Method call, this state: - - ns=1;i=10075 - ns=1;i=10130 - ns=1;i=10138 - ns=1;i=10140 - ns=1;i=10142 - ns=1;i=10144 - ns=1;i=10146 - ns=1;i=10148 - ns=1;i=10150 - ns=1;i=10152 - ns=1;i=10154 - ns=1;i=10156 - ns=1;i=10158 - ns=1;i=10160 - ns=1;i=10188 - i=2307 - ns=1;i=1008 - - - - StateNumber - - i=68 - i=78 - ns=1;i=10074 - - - 7 - - - - Aborting - The Aborting state can be entered at any time in response to the Abort command or on the occurrence of a machine fault. - - ns=1;i=10077 - ns=1;i=10132 - ns=1;i=10162 - ns=1;i=10164 - ns=1;i=10166 - ns=1;i=10168 - ns=1;i=10170 - ns=1;i=10172 - ns=1;i=10174 - ns=1;i=10176 - ns=1;i=10178 - ns=1;i=10180 - ns=1;i=10182 - ns=1;i=10184 - ns=1;i=10186 - ns=1;i=10188 - i=2307 - ns=1;i=1008 - - - - StateNumber - - i=68 - i=78 - ns=1;i=10076 - - - 8 - - - - Aborted - This state maintains machine status information relevant to the Abort condition. - - ns=1;i=10079 - ns=1;i=10132 - ns=1;i=10134 - i=2307 - ns=1;i=1008 - - - - StateNumber - - i=68 - i=78 - ns=1;i=10078 - - - 9 - - - - Clearing - Clears faults that may have occurred when Aborting and are present in the Aborted state before proceeding to a Stopped state - - ns=1;i=10081 - ns=1;i=10134 - ns=1;i=10136 - i=2307 - ns=1;i=1008 - - - - StateNumber - - i=68 - i=78 - ns=1;i=10080 - - - 1 - - - - StoppedToResettingTransition - - ns=1;i=10083 - ns=1;i=10048 - ns=1;i=10050 - ns=1;i=9703 - ns=1;i=9445 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10082 - - - 1 - - - - ResettingTransition - - ns=1;i=10085 - ns=1;i=10050 - ns=1;i=10050 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10084 - - - 2 - - - - ResettingToIdleTransition - - ns=1;i=10087 - ns=1;i=10050 - ns=1;i=10052 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10086 - - - 3 - - - - IdleToStartingTransition - - ns=1;i=10089 - ns=1;i=10052 - ns=1;i=10054 - ns=1;i=9704 - ns=1;i=9701 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10088 - - - 4 - - - - StartingTransition - - ns=1;i=10091 - ns=1;i=10054 - ns=1;i=10054 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10090 - - - 5 - - - - StartingToExecuteTransition - - ns=1;i=10093 - ns=1;i=10054 - ns=1;i=10056 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10092 - - - 6 - - - - ExecuteToCompletingTransition - - ns=1;i=10095 - ns=1;i=10056 - ns=1;i=10058 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10094 - - - 7 - - - - CompletingTransition - - ns=1;i=10097 - ns=1;i=10058 - ns=1;i=10058 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10096 - - - 8 - - - - CompletingToCompleteTransition - - ns=1;i=10099 - ns=1;i=10058 - ns=1;i=10060 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10098 - - - 9 - - - - CompleteToStoppedTransition - - ns=1;i=10101 - ns=1;i=10060 - ns=1;i=10048 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10100 - - - 10 - - - - ExecuteToHoldingTransition - - ns=1;i=10103 - ns=1;i=10056 - ns=1;i=10068 - ns=1;i=9706 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10102 - - - 11 - - - - HoldingTransition - - ns=1;i=10105 - ns=1;i=10068 - ns=1;i=10068 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10104 - - - 12 - - - - HoldingToHeldTransition - - ns=1;i=10107 - ns=1;i=10068 - ns=1;i=10070 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10106 - - - 13 - - - - HeldToUnholdingTransition - - ns=1;i=10109 - ns=1;i=10070 - ns=1;i=10072 - ns=1;i=9707 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10108 - - - 14 - - - - UnholdingTransition - - ns=1;i=10111 - ns=1;i=10072 - ns=1;i=10072 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10110 - - - 15 - - - - UnholdingToHoldingTransition - - ns=1;i=10113 - ns=1;i=10072 - ns=1;i=10068 - ns=1;i=9706 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10112 - - - 16 - - - - UnholdingToExecuteTransition - - ns=1;i=10115 - ns=1;i=10072 - ns=1;i=10056 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10114 - - - 17 - - - - ExecuteToSuspendingTransition - - ns=1;i=10117 - ns=1;i=10056 - ns=1;i=10062 - ns=1;i=9708 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10116 - - - 18 - - - - SuspendingTransition - - ns=1;i=10119 - ns=1;i=10062 - ns=1;i=10062 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10118 - - - 19 - - - - SuspendingToSuspendedTransition - - ns=1;i=10121 - ns=1;i=10062 - ns=1;i=10064 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10120 - - - 20 - - - - SuspendedToUnsuspendingTransition - - ns=1;i=10123 - ns=1;i=10064 - ns=1;i=10066 - ns=1;i=9709 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10122 - - - 21 - - - - UnsuspendingTransition - - ns=1;i=10125 - ns=1;i=10066 - ns=1;i=10066 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10124 - - - 22 - - - - UnsuspendingToSuspendingTransition - - ns=1;i=10127 - ns=1;i=10066 - ns=1;i=10062 - ns=1;i=9708 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10126 - - - 23 - - - - UnsuspendingToExecuteTransition - - ns=1;i=10129 - ns=1;i=10066 - ns=1;i=10056 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10128 - - - 24 - - - - StoppingToStoppedTransition - - ns=1;i=10131 - ns=1;i=10074 - ns=1;i=10048 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10130 - - - 25 - - - - AbortingToAbortedTransition - - ns=1;i=10133 - ns=1;i=10076 - ns=1;i=10078 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10132 - - - 26 - - - - AbortedToClearingTransition - - ns=1;i=10135 - ns=1;i=10078 - ns=1;i=10080 - ns=1;i=9711 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10134 - - - 27 - - - - ClearingToStoppedTransition - - ns=1;i=10137 - ns=1;i=10080 - ns=1;i=10048 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10136 - - - 28 - - - - ResettingToStoppingTransition - - ns=1;i=10139 - ns=1;i=10050 - ns=1;i=10074 - ns=1;i=9705 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10138 - - - 29 - - - - IdleToStoppingTransition - - ns=1;i=10141 - ns=1;i=10052 - ns=1;i=10074 - ns=1;i=9705 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10140 - - - 30 - - - - StartingToStoppingTransition - - ns=1;i=10143 - ns=1;i=10054 - ns=1;i=10074 - ns=1;i=9705 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10142 - - - 31 - - - - ExecuteToStoppingTransition - - ns=1;i=10145 - ns=1;i=10056 - ns=1;i=10074 - ns=1;i=9705 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10144 - - - 32 - - - - CompletingToStoppingTransition - - ns=1;i=10147 - ns=1;i=10058 - ns=1;i=10074 - ns=1;i=9705 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10146 - - - 33 - - - - CompleteToStoppingTransition - - ns=1;i=10149 - ns=1;i=10060 - ns=1;i=10074 - ns=1;i=9705 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10148 - - - 34 - - - - SuspendingToStoppingTransition - - ns=1;i=10151 - ns=1;i=10062 - ns=1;i=10074 - ns=1;i=9705 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10150 - - - 35 - - - - SuspendedToStoppingTransition - - ns=1;i=10153 - ns=1;i=10064 - ns=1;i=10074 - ns=1;i=9705 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10152 - - - 36 - - - - UnsuspendingToStoppingTransition - - ns=1;i=10155 - ns=1;i=10066 - ns=1;i=10074 - ns=1;i=9705 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10154 - - - 37 - - - - HoldingToStoppingTransition - - ns=1;i=10157 - ns=1;i=10068 - ns=1;i=10074 - ns=1;i=9705 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10156 - - - 38 - - - - HeldToStoppingTransition - - ns=1;i=10159 - ns=1;i=10070 - ns=1;i=10074 - ns=1;i=9705 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10158 - - - 39 - - - - UnholdingToStoppingTransition - - ns=1;i=10161 - ns=1;i=10072 - ns=1;i=10074 - ns=1;i=9705 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10160 - - - 40 - - - - StoppedToAbortingTransition - - ns=1;i=10163 - ns=1;i=10048 - ns=1;i=10076 - ns=1;i=9710 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10162 - - - 41 - - - - ResettingToAbortingTransition - - ns=1;i=10165 - ns=1;i=10050 - ns=1;i=10076 - ns=1;i=9710 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10164 - - - 42 - - - - IdleToAbortingTransition - - ns=1;i=10167 - ns=1;i=10052 - ns=1;i=10076 - ns=1;i=9710 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10166 - - - 43 - - - - StartingToAbortingTransition - - ns=1;i=10169 - ns=1;i=10054 - ns=1;i=10076 - ns=1;i=9710 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10168 - - - 44 - - - - ExecuteToAbortingTransition - - ns=1;i=10171 - ns=1;i=10056 - ns=1;i=10076 - ns=1;i=9710 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10170 - - - 45 - - - - CompletingToAbortingTransition - - ns=1;i=10173 - ns=1;i=10058 - ns=1;i=10076 - ns=1;i=9710 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10172 - - - 46 - - - - CompleteToAbortingTransition - - ns=1;i=10175 - ns=1;i=10060 - ns=1;i=10076 - ns=1;i=9710 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10174 - - - 47 - - - - SuspendingToAbortingTransition - - ns=1;i=10177 - ns=1;i=10062 - ns=1;i=10076 - ns=1;i=9710 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10176 - - - 48 - - - - SuspendedToAbortingTransition - - ns=1;i=10179 - ns=1;i=10064 - ns=1;i=10076 - ns=1;i=9710 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10178 - - - 49 - - - - UnsuspendingToAbortingTransition - - ns=1;i=10181 - ns=1;i=10066 - ns=1;i=10076 - ns=1;i=9710 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10180 - - - 50 - - - - HoldingToAbortingTransition - - ns=1;i=10183 - ns=1;i=10068 - ns=1;i=10076 - ns=1;i=9710 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10182 - - - 51 - - - - HeldToAbortingTransition - - ns=1;i=10185 - ns=1;i=10070 - ns=1;i=10076 - ns=1;i=9710 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10184 - - - 52 - - - - UnholdingToAbortingTransition - - ns=1;i=10187 - ns=1;i=10072 - ns=1;i=10076 - ns=1;i=9710 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10186 - - - 53 - - - - StoppingToAbortingTransition - - ns=1;i=10189 - ns=1;i=10074 - ns=1;i=10076 - ns=1;i=9710 - i=2310 - ns=1;i=1008 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10188 - - - 54 - - - - AnalyserChannel_OperatingModeExecuteSubStateMachineType - - ns=1;i=10201 - ns=1;i=10203 - ns=1;i=10205 - ns=1;i=10207 - ns=1;i=10209 - ns=1;i=10211 - ns=1;i=10213 - ns=1;i=10215 - ns=1;i=10217 - ns=1;i=10219 - ns=1;i=10221 - ns=1;i=10223 - ns=1;i=10225 - ns=1;i=10227 - ns=1;i=10229 - ns=1;i=10231 - ns=1;i=10233 - ns=1;i=10235 - ns=1;i=10237 - ns=1;i=10239 - ns=1;i=10241 - ns=1;i=10243 - ns=1;i=10245 - ns=1;i=10247 - ns=1;i=10249 - ns=1;i=10251 - ns=1;i=10253 - ns=1;i=10255 - ns=1;i=10257 - ns=1;i=10259 - ns=1;i=10261 - ns=1;i=10263 - ns=1;i=10265 - ns=1;i=10267 - ns=1;i=10269 - ns=1;i=10271 - ns=1;i=10273 - ns=1;i=10275 - ns=1;i=10277 - ns=1;i=10279 - ns=1;i=10281 - ns=1;i=10283 - ns=1;i=10285 - ns=1;i=10287 - ns=1;i=10289 - ns=1;i=10291 - ns=1;i=10293 - ns=1;i=10295 - ns=1;i=10297 - ns=1;i=10299 - ns=1;i=10301 - ns=1;i=10303 - ns=1;i=10305 - ns=1;i=10307 - ns=1;i=10309 - ns=1;i=10311 - ns=1;i=10313 - ns=1;i=10315 - i=2771 - - - - SelectExecutionCycle - This pseudo-state is used to decide which execution path shall be taken. - - ns=1;i=10202 - ns=1;i=10241 - ns=1;i=10257 - ns=1;i=10273 - ns=1;i=10289 - ns=1;i=10297 - ns=1;i=10315 - i=2309 - ns=1;i=1009 - - - - StateNumber - - i=68 - i=78 - ns=1;i=10201 - - - 100 - - - - WaitForCalibrationTrigger - Wait until the analyser channel is ready to perform the Calibration acquisition cycle - - ns=1;i=10204 - ns=1;i=10241 - ns=1;i=10243 - i=2307 - ns=1;i=1009 - - - - StateNumber - - i=68 - i=78 - ns=1;i=10203 - - - 200 - - - - ExtractCalibrationSample - Collect / setup the sampling system to perform the acquisition cycle of a Calibration cycle - - ns=1;i=10206 - ns=1;i=10243 - ns=1;i=10245 - ns=1;i=10245 - ns=1;i=10247 - i=2307 - ns=1;i=1009 - - - - StateNumber - - i=68 - i=78 - ns=1;i=10205 - - - 300 - - - - PrepareCalibrationSample - Prepare the Calibration sample for the AnalyseCalibrationSample state - - ns=1;i=10208 - ns=1;i=10247 - ns=1;i=10249 - ns=1;i=10249 - ns=1;i=10251 - i=2307 - ns=1;i=1009 - - - - StateNumber - - i=68 - i=78 - ns=1;i=10207 - - - 400 - - - - AnalyseCalibrationSample - Perform the analysis of the Calibration Sample - - ns=1;i=10210 - ns=1;i=10251 - ns=1;i=10253 - ns=1;i=10253 - ns=1;i=10255 - i=2307 - ns=1;i=1009 - - - - StateNumber - - i=68 - i=78 - ns=1;i=10209 - - - 500 - - - - WaitForValidationTrigger - Wait until the analyser channel is ready to perform the Validation acquisition cycle - - ns=1;i=10212 - ns=1;i=10257 - ns=1;i=10259 - i=2307 - ns=1;i=1009 - - - - StateNumber - - i=68 - i=78 - ns=1;i=10211 - - - 600 - - - - ExtractValidationSample - Collect / setup the sampling system to perform the acquisition cycle of a Validation cycle - - ns=1;i=10214 - ns=1;i=10259 - ns=1;i=10261 - ns=1;i=10261 - ns=1;i=10263 - i=2307 - ns=1;i=1009 - - - - StateNumber - - i=68 - i=78 - ns=1;i=10213 - - - 700 - - - - PrepareValidationSample - Prepare the Validation sample for the AnalyseValidationSample state - - ns=1;i=10216 - ns=1;i=10263 - ns=1;i=10265 - ns=1;i=10265 - ns=1;i=10267 - i=2307 - ns=1;i=1009 - - - - StateNumber - - i=68 - i=78 - ns=1;i=10215 - - - 800 - - - - AnalyseValidationSample - Perform the analysis of the Validation Sample - - ns=1;i=10218 - ns=1;i=10267 - ns=1;i=10269 - ns=1;i=10269 - ns=1;i=10271 - i=2307 - ns=1;i=1009 - - - - StateNumber - - i=68 - i=78 - ns=1;i=10217 - - - 900 - - - - WaitForSampleTrigger - Wait until the analyser channel is ready to perform the Sample acquisition cycle - - ns=1;i=10220 - ns=1;i=10273 - ns=1;i=10275 - i=2307 - ns=1;i=1009 - - - - StateNumber - - i=68 - i=78 - ns=1;i=10219 - - - 1000 - - - - ExtractSample - Collect the Sample from the process - - ns=1;i=10222 - ns=1;i=10275 - ns=1;i=10277 - ns=1;i=10277 - ns=1;i=10279 - i=2307 - ns=1;i=1009 - - - - StateNumber - - i=68 - i=78 - ns=1;i=10221 - - - 1100 - - - - PrepareSample - Prepare the Sample for the AnalyseSample state - - ns=1;i=10224 - ns=1;i=10279 - ns=1;i=10281 - ns=1;i=10281 - ns=1;i=10283 - i=2307 - ns=1;i=1009 - - - - StateNumber - - i=68 - i=78 - ns=1;i=10223 - - - 1200 - - - - AnalyseSample - Perform the analysis of the Sample - - ns=1;i=10226 - ns=1;i=10283 - ns=1;i=10285 - ns=1;i=10285 - ns=1;i=10287 - i=2307 - ns=1;i=1009 - - - - StateNumber - - i=68 - i=78 - ns=1;i=10225 - - - 1300 - - - - WaitForDiagnosticTrigger - Wait until the analyser channel is ready to perform the diagnostic cycle, - - ns=1;i=10228 - ns=1;i=10289 - ns=1;i=10291 - i=2307 - ns=1;i=1009 - - - - StateNumber - - i=68 - i=78 - ns=1;i=10227 - - - 1400 - - - - Diagnostic - Perform the diagnostic cycle. - - ns=1;i=10230 - ns=1;i=10291 - ns=1;i=10293 - ns=1;i=10293 - ns=1;i=10295 - i=2307 - ns=1;i=1009 - - - - StateNumber - - i=68 - i=78 - ns=1;i=10229 - - - 1500 - - - - WaitForCleaningTrigger - Wait until the analyser channel is ready to perform the cleaning cycle, - - ns=1;i=10232 - ns=1;i=10297 - ns=1;i=10299 - i=2307 - ns=1;i=1009 - - - - StateNumber - - i=68 - i=78 - ns=1;i=10231 - - - 1600 - - - - Cleaning - Perform the cleaning cycle. - - ns=1;i=10234 - ns=1;i=10299 - ns=1;i=10301 - ns=1;i=10301 - ns=1;i=10303 - i=2307 - ns=1;i=1009 - - - - StateNumber - - i=68 - i=78 - ns=1;i=10233 - - - 1700 - - - - PublishResults - Publish the results of the previous acquisition cycle - - ns=1;i=10236 - ns=1;i=10255 - ns=1;i=10271 - ns=1;i=10287 - ns=1;i=10295 - ns=1;i=10303 - ns=1;i=10305 - ns=1;i=10307 - i=2307 - ns=1;i=1009 - - - - StateNumber - - i=68 - i=78 - ns=1;i=10235 - - - 1800 - - - - EjectGrabSample - The Sample that was just analysed is ejected from the system to allow the operator or another system to grab it - - ns=1;i=10238 - ns=1;i=10307 - ns=1;i=10309 - ns=1;i=10309 - ns=1;i=10311 - i=2307 - ns=1;i=1009 - - - - StateNumber - - i=68 - i=78 - ns=1;i=10237 - - - 1900 - - - - CleanupSamplingSystem - Cleanup the sampling sub-system to be ready for the next acquisition - - ns=1;i=10240 - ns=1;i=10305 - ns=1;i=10311 - ns=1;i=10313 - ns=1;i=10313 - ns=1;i=10315 - i=2307 - ns=1;i=1009 - - - - StateNumber - - i=68 - i=78 - ns=1;i=10239 - - - 2000 - - - - SelectExecutionCycleToWaitForCalibrationTriggerTransition - - ns=1;i=10242 - ns=1;i=10201 - ns=1;i=10203 - i=2310 - ns=1;i=1009 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10241 - - - 1 - - - - WaitForCalibrationTriggerToExtractCalibrationSampleTransition - - ns=1;i=10244 - ns=1;i=10203 - ns=1;i=10205 - i=2310 - ns=1;i=1009 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10243 - - - 2 - - - - ExtractCalibrationSampleTransition - - ns=1;i=10246 - ns=1;i=10205 - ns=1;i=10205 - i=2310 - ns=1;i=1009 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10245 - - - 3 - - - - ExtractCalibrationSampleToPrepareCalibrationSampleTransition - - ns=1;i=10248 - ns=1;i=10205 - ns=1;i=10207 - i=2310 - ns=1;i=1009 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10247 - - - 4 - - - - PrepareCalibrationSampleTransition - - ns=1;i=10250 - ns=1;i=10207 - ns=1;i=10207 - i=2310 - ns=1;i=1009 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10249 - - - 5 - - - - PrepareCalibrationSampleToAnalyseCalibrationSampleTransition - - ns=1;i=10252 - ns=1;i=10207 - ns=1;i=10209 - i=2310 - ns=1;i=1009 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10251 - - - 6 - - - - AnalyseCalibrationSampleTransition - - ns=1;i=10254 - ns=1;i=10209 - ns=1;i=10209 - i=2310 - ns=1;i=1009 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10253 - - - 7 - - - - AnalyseCalibrationSampleToPublishResultsTransition - - ns=1;i=10256 - ns=1;i=10209 - ns=1;i=10235 - i=2310 - ns=1;i=1009 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10255 - - - 8 - - - - SelectExecutionCycleToWaitForValidationTriggerTransition - - ns=1;i=10258 - ns=1;i=10201 - ns=1;i=10211 - i=2310 - ns=1;i=1009 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10257 - - - 9 - - - - WaitForValidationTriggerToExtractValidationSampleTransition - - ns=1;i=10260 - ns=1;i=10211 - ns=1;i=10213 - i=2310 - ns=1;i=1009 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10259 - - - 10 - - - - ExtractValidationSampleTransition - - ns=1;i=10262 - ns=1;i=10213 - ns=1;i=10213 - i=2310 - ns=1;i=1009 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10261 - - - 11 - - - - ExtractValidationSampleToPrepareValidationSampleTransition - - ns=1;i=10264 - ns=1;i=10213 - ns=1;i=10215 - i=2310 - ns=1;i=1009 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10263 - - - 12 - - - - PrepareValidationSampleTransition - - ns=1;i=10266 - ns=1;i=10215 - ns=1;i=10215 - i=2310 - ns=1;i=1009 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10265 - - - 13 - - - - PrepareValidationSampleToAnalyseValidationSampleTransition - - ns=1;i=10268 - ns=1;i=10215 - ns=1;i=10217 - i=2310 - ns=1;i=1009 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10267 - - - 14 - - - - AnalyseValidationSampleTransition - - ns=1;i=10270 - ns=1;i=10217 - ns=1;i=10217 - i=2310 - ns=1;i=1009 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10269 - - - 15 - - - - AnalyseValidationSampleToPublishResultsTransition - - ns=1;i=10272 - ns=1;i=10217 - ns=1;i=10235 - i=2310 - ns=1;i=1009 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10271 - - - 16 - - - - SelectExecutionCycleToWaitForSampleTriggerTransition - - ns=1;i=10274 - ns=1;i=10201 - ns=1;i=10219 - i=2310 - ns=1;i=1009 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10273 - - - 17 - - - - WaitForSampleTriggerToExtractSampleTransition - - ns=1;i=10276 - ns=1;i=10219 - ns=1;i=10221 - i=2310 - ns=1;i=1009 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10275 - - - 18 - - - - ExtractSampleTransition - - ns=1;i=10278 - ns=1;i=10221 - ns=1;i=10221 - i=2310 - ns=1;i=1009 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10277 - - - 19 - - - - ExtractSampleToPrepareSampleTransition - - ns=1;i=10280 - ns=1;i=10221 - ns=1;i=10223 - i=2310 - ns=1;i=1009 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10279 - - - 20 - - - - PrepareSampleTransition - - ns=1;i=10282 - ns=1;i=10223 - ns=1;i=10223 - i=2310 - ns=1;i=1009 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10281 - - - 21 - - - - PrepareSampleToAnalyseSampleTransition - - ns=1;i=10284 - ns=1;i=10223 - ns=1;i=10225 - i=2310 - ns=1;i=1009 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10283 - - - 22 - - - - AnalyseSampleTransition - - ns=1;i=10286 - ns=1;i=10225 - ns=1;i=10225 - i=2310 - ns=1;i=1009 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10285 - - - 23 - - - - AnalyseSampleToPublishResultsTransition - - ns=1;i=10288 - ns=1;i=10225 - ns=1;i=10235 - i=2310 - ns=1;i=1009 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10287 - - - 24 - - - - SelectExecutionCycleToWaitForDiagnosticTriggerTransition - - ns=1;i=10290 - ns=1;i=10201 - ns=1;i=10227 - i=2310 - ns=1;i=1009 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10289 - - - 25 - - - - WaitForDiagnosticTriggerToDiagnosticTransition - - ns=1;i=10292 - ns=1;i=10227 - ns=1;i=10229 - i=2310 - ns=1;i=1009 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10291 - - - 26 - - - - DiagnosticTransition - - ns=1;i=10294 - ns=1;i=10229 - ns=1;i=10229 - i=2310 - ns=1;i=1009 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10293 - - - 27 - - - - DiagnosticToPublishResultsTransition - - ns=1;i=10296 - ns=1;i=10229 - ns=1;i=10235 - i=2310 - ns=1;i=1009 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10295 - - - 28 - - - - SelectExecutionCycleToWaitForCleaningTriggerTransition - - ns=1;i=10298 - ns=1;i=10201 - ns=1;i=10231 - i=2310 - ns=1;i=1009 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10297 - - - 29 - - - - WaitForCleaningTriggerToCleaningTransition - - ns=1;i=10300 - ns=1;i=10231 - ns=1;i=10233 - i=2310 - ns=1;i=1009 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10299 - - - 30 - - - - CleaningTransition - - ns=1;i=10302 - ns=1;i=10233 - ns=1;i=10233 - i=2310 - ns=1;i=1009 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10301 - - - 31 - - - - CleaningToPublishResultsTransition - - ns=1;i=10304 - ns=1;i=10233 - ns=1;i=10235 - i=2310 - ns=1;i=1009 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10303 - - - 32 - - - - PublishResultsToCleanupSamplingSystemTransition - - ns=1;i=10306 - ns=1;i=10235 - ns=1;i=10239 - i=2310 - ns=1;i=1009 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10305 - - - 33 - - - - PublishResultsToEjectGrabSampleTransition - - ns=1;i=10308 - ns=1;i=10235 - ns=1;i=10237 - i=2310 - ns=1;i=1009 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10307 - - - 34 - - - - EjectGrabSampleTransition - - ns=1;i=10310 - ns=1;i=10237 - ns=1;i=10237 - i=2310 - ns=1;i=1009 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10309 - - - 35 - - - - EjectGrabSampleToCleanupSamplingSystemTransition - - ns=1;i=10312 - ns=1;i=10237 - ns=1;i=10239 - i=2310 - ns=1;i=1009 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10311 - - - 36 - - - - CleanupSamplingSystemTransition - - ns=1;i=10314 - ns=1;i=10239 - ns=1;i=10239 - i=2310 - ns=1;i=1009 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10313 - - - 37 - - - - CleanupSamplingSystemToSelectExecutionCycleTransition - - ns=1;i=10316 - ns=1;i=10239 - ns=1;i=10201 - i=2310 - ns=1;i=1009 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=10315 - - - 38 - - - - StreamType - - ns=1;i=10317 - ns=1;i=10444 - ns=1;i=10430 - ns=1;i=10432 - ns=1;i=10434 - ns=1;i=10436 - ns=1;i=10438 - ns=1;i=10440 - ns=1;i=10442 - ns=2;i=1001 - - - - ParameterSet - Flat list of Parameters - - ns=1;i=10339 - ns=1;i=10342 - ns=1;i=10345 - ns=1;i=10348 - ns=1;i=10351 - ns=1;i=10354 - ns=1;i=10357 - ns=1;i=10363 - ns=1;i=10366 - ns=1;i=10369 - ns=1;i=10373 - ns=1;i=10376 - ns=1;i=10382 - ns=1;i=10385 - ns=1;i=10388 - ns=1;i=10391 - ns=1;i=10394 - ns=1;i=10397 - ns=1;i=10400 - ns=1;i=10403 - ns=1;i=10406 - ns=1;i=10409 - ns=1;i=10412 - ns=1;i=10415 - ns=1;i=10418 - ns=1;i=10421 - ns=1;i=10424 - ns=1;i=10427 - i=58 - i=80 - ns=1;i=1010 - - - - IsEnabled - True if this stream maybe used to perform acquisition - - ns=1;i=10430 - i=2365 - i=78 - ns=1;i=10317 - - - - IsForced - True if this stream is forced, which means that is the only Stream on this AnalyserChannel that can be used to perform acquisition - - ns=1;i=10430 - i=2365 - i=80 - ns=1;i=10317 - - - - DiagnosticStatus - Stream health status - - ns=1;i=10432 - i=2365 - i=78 - ns=1;i=10317 - - - - LastCalibrationTime - Time at which the last calibration was run - - ns=1;i=10432 - i=2365 - i=80 - ns=1;i=10317 - - - - LastValidationTime - Time at which the last validation was run - - ns=1;i=10432 - i=2365 - i=80 - ns=1;i=10317 - - - - LastSampleTime - Time at which the last sample was acquired - - ns=1;i=10432 - i=2365 - i=78 - ns=1;i=10317 - - - - TimeBetweenSamples - Number of milliseconds between two consecutive starts of acquisition - - ns=1;i=10361 - ns=1;i=10434 - i=2368 - i=80 - ns=1;i=10317 - - - - EURange - - i=68 - i=78 - ns=1;i=10357 - - - - IsActive - True if this stream is actually running, acquiring data - - ns=1;i=10436 - i=2365 - i=78 - ns=1;i=10317 - - - - ExecutionCycle - Indicates which Execution cycle is in progress - - ns=1;i=10436 - i=2365 - i=78 - ns=1;i=10317 - - - - ExecutionCycleSubcode - Indicates which Execution cycle subcode is in progress - - ns=1;i=10372 - ns=1;i=10436 - i=2376 - i=78 - ns=1;i=10317 - - - - EnumStrings - - i=68 - i=78 - ns=1;i=10369 - - - - Progress - Indicates the progress of an acquisition in terms of percentage of completion. Its value shall be between 0 and 100. - - ns=1;i=10436 - i=2365 - i=78 - ns=1;i=10317 - - - - AcquisitionCounter - Simple counter incremented after each Sampling acquisition performed on this Stream - - ns=1;i=10380 - ns=1;i=10438 - i=2368 - i=78 - ns=1;i=10317 - - - - EURange - - i=68 - i=78 - ns=1;i=10376 - - - - AcquisitionResultStatus - Quality of the acquisition - - ns=1;i=10438 - i=2365 - i=78 - ns=1;i=10317 - - - - RawData - Raw data produced as a result of data acquisition on the Stream - - ns=1;i=10438 - i=2365 - i=80 - ns=1;i=10317 - - - - ScaledData - Scaled data produced as a result of data acquisition on the Stream and application of the analyser model - - ns=1;i=10438 - i=2365 - i=78 - ns=1;i=10317 - - - - Offset - Difference in milliseconds between the start of sample extraction and the start of the analysis. - - ns=1;i=10438 - i=2365 - i=80 - ns=1;i=10317 - - - - AcquisitionEndTime - The end time of the AnalyseSample or AnalyseCalibrationSample or AnalyseValidationSample state of the AnalyserChannel_OperatingModeExecuteSubStateMachine state machine - - ns=1;i=10438 - i=2365 - i=78 - ns=1;i=10317 - - - - CampaignId - Defines the current campaign - - ns=1;i=10442 - i=2365 - i=80 - ns=1;i=10317 - - - - BatchId - Defines the current batch - - ns=1;i=10442 - i=2365 - i=80 - ns=1;i=10317 - - - - SubBatchId - Defines the current sub-batch - - ns=1;i=10442 - i=2365 - i=80 - ns=1;i=10317 - - - - LotId - Defines the current lot - - ns=1;i=10442 - i=2365 - i=80 - ns=1;i=10317 - - - - MaterialId - Defines the current material - - ns=1;i=10442 - i=2365 - i=80 - ns=1;i=10317 - - - - Process - Current Process name - - ns=1;i=10442 - i=2365 - i=80 - ns=1;i=10317 - - - - Unit - Current Unit name - - ns=1;i=10442 - i=2365 - i=80 - ns=1;i=10317 - - - - Operation - Current Operation name - - ns=1;i=10442 - i=2365 - i=80 - ns=1;i=10317 - - - - Phase - Current Phase name - - ns=1;i=10442 - i=2365 - i=80 - ns=1;i=10317 - - - - UserId - Login name of the user who is logged on at the device console - - ns=1;i=10442 - i=2365 - i=80 - ns=1;i=10317 - - - - SampleId - Identifier for the sample - - ns=1;i=10442 - i=2365 - i=80 - ns=1;i=10317 - - - - <GroupIdentifier> - Group definition - - ns=2;i=1005 - i=11508 - ns=1;i=1010 - - - - Configuration - - ns=1;i=10339 - ns=1;i=10342 - ns=2;i=1005 - i=78 - ns=1;i=1010 - - - - Status - - ns=1;i=10345 - ns=1;i=10348 - ns=1;i=10351 - ns=1;i=10354 - ns=2;i=1005 - i=78 - ns=1;i=1010 - - - - AcquisitionSettings - - ns=1;i=10357 - ns=2;i=1005 - i=78 - ns=1;i=1010 - - - - AcquisitionStatus - - ns=1;i=10363 - ns=1;i=10366 - ns=1;i=10369 - ns=1;i=10373 - ns=2;i=1005 - i=78 - ns=1;i=1010 - - - - AcquisitionData - - ns=1;i=10376 - ns=1;i=10382 - ns=1;i=10385 - ns=1;i=10388 - ns=1;i=10391 - ns=1;i=10394 - ns=2;i=1005 - i=78 - ns=1;i=1010 - - - - ChemometricModelSettings - - ns=2;i=1005 - i=78 - ns=1;i=1010 - - - - Context - - ns=1;i=10397 - ns=1;i=10400 - ns=1;i=10403 - ns=1;i=10406 - ns=1;i=10409 - ns=1;i=10412 - ns=1;i=10415 - ns=1;i=10418 - ns=1;i=10421 - ns=1;i=10424 - ns=1;i=10427 - ns=2;i=1005 - i=78 - ns=1;i=1010 - - - - SpectrometerDeviceStreamType - - ns=1;i=10446 - ns=1;i=10559 - ns=1;i=10563 - ns=1;i=10565 - ns=1;i=10567 - ns=1;i=10638 - ns=1;i=1010 - - - - ParameterSet - Flat list of Parameters - - ns=1;i=10468 - ns=1;i=10474 - ns=1;i=10483 - ns=1;i=10492 - ns=1;i=10495 - ns=1;i=10498 - ns=1;i=10502 - ns=1;i=10505 - ns=1;i=10511 - ns=1;i=10517 - ns=1;i=10523 - ns=1;i=10575 - ns=1;i=10584 - ns=1;i=10593 - ns=1;i=10596 - ns=1;i=10599 - ns=1;i=10602 - ns=1;i=10605 - ns=1;i=10608 - ns=1;i=10611 - ns=1;i=10614 - ns=1;i=10617 - ns=1;i=10620 - ns=1;i=10629 - i=58 - i=80 - ns=1;i=1030 - - - - IsEnabled - True if this stream maybe used to perform acquisition - - ns=1;i=10559 - i=2365 - i=78 - ns=1;i=10446 - - - - DiagnosticStatus - Stream health status - - i=2365 - i=78 - ns=1;i=10446 - - - - LastSampleTime - Time at which the last sample was acquired - - i=2365 - i=78 - ns=1;i=10446 - - - - IsActive - True if this stream is actually running, acquiring data - - ns=1;i=10565 - i=2365 - i=78 - ns=1;i=10446 - - - - ExecutionCycle - Indicates which Execution cycle is in progress - - ns=1;i=10565 - i=2365 - i=78 - ns=1;i=10446 - - - - ExecutionCycleSubcode - Indicates which Execution cycle subcode is in progress - - ns=1;i=10501 - ns=1;i=10565 - i=2376 - i=78 - ns=1;i=10446 - - - - EnumStrings - - i=68 - i=78 - ns=1;i=10498 - - - - Progress - Indicates the progress of an acquisition in terms of percentage of completion. Its value shall be between 0 and 100. - - ns=1;i=10565 - i=2365 - i=78 - ns=1;i=10446 - - - - AcquisitionCounter - Simple counter incremented after each Sampling acquisition performed on this Stream - - ns=1;i=10509 - ns=1;i=10567 - i=2368 - i=78 - ns=1;i=10446 - - - - EURange - - i=68 - i=78 - ns=1;i=10505 - - - - AcquisitionResultStatus - Quality of the acquisition - - ns=1;i=10567 - i=2365 - i=78 - ns=1;i=10446 - - - - ScaledData - Scaled data produced as a result of data acquisition on the Stream and application of the analyser model - - ns=1;i=10567 - i=2365 - i=78 - ns=1;i=10446 - - - - AcquisitionEndTime - The end time of the AnalyseSample or AnalyseCalibrationSample or AnalyseValidationSample state of the AnalyserChannel_OperatingModeExecuteSubStateMachine state machine - - ns=1;i=10567 - i=2365 - i=78 - ns=1;i=10446 - - - - ActiveBackground - - ns=1;i=10579 - ns=1;i=10580 - ns=1;i=10581 - ns=1;i=10582 - ns=1;i=10583 - ns=1;i=10559 - i=12029 - i=78 - ns=1;i=10446 - - - - EURange - - i=68 - i=78 - ns=1;i=10575 - - - - EngineeringUnits - - i=68 - i=78 - ns=1;i=10575 - - - - Title - - i=68 - i=78 - ns=1;i=10575 - - - - AxisScaleType - - i=68 - i=78 - ns=1;i=10575 - - - - XAxisDefinition - - i=68 - i=78 - ns=1;i=10575 - - - - ActiveBackground1 - - ns=1;i=10588 - ns=1;i=10589 - ns=1;i=10590 - ns=1;i=10591 - ns=1;i=10592 - ns=1;i=10559 - i=12029 - i=80 - ns=1;i=10446 - - - - EURange - - i=68 - i=78 - ns=1;i=10584 - - - - EngineeringUnits - - i=68 - i=78 - ns=1;i=10584 - - - - Title - - i=68 - i=78 - ns=1;i=10584 - - - - AxisScaleType - - i=68 - i=78 - ns=1;i=10584 - - - - XAxisDefinition - - i=68 - i=78 - ns=1;i=10584 - - - - SpectralRange - - ns=1;i=10563 - i=2365 - i=80 - ns=1;i=10446 - - - - Resolution - - ns=1;i=10563 - i=2365 - i=80 - ns=1;i=10446 - - - - RequestedNumberOfScans - - ns=1;i=10563 - i=2365 - i=80 - ns=1;i=10446 - - - - Gain - - ns=1;i=10563 - i=2365 - i=80 - ns=1;i=10446 - - - - TransmittanceCutoff - - ns=1;i=10563 - i=2365 - i=80 - ns=1;i=10446 - - - - AbsorbanceCutoff - - ns=1;i=10563 - i=2365 - i=80 - ns=1;i=10446 - - - - NumberOfScansDone - - ns=1;i=10565 - i=2365 - i=80 - ns=1;i=10446 - - - - TotalNumberOfScansDone - - ns=1;i=10567 - i=2365 - i=78 - ns=1;i=10446 - - - - BackgroundAcquisitionTime - - ns=1;i=10567 - i=2365 - i=78 - ns=1;i=10446 - - - - PendingBackground - - ns=1;i=10624 - ns=1;i=10625 - ns=1;i=10626 - ns=1;i=10627 - ns=1;i=10628 - ns=1;i=10567 - i=12029 - i=78 - ns=1;i=10446 - - - - EURange - - i=68 - i=78 - ns=1;i=10620 - - - - EngineeringUnits - - i=68 - i=78 - ns=1;i=10620 - - - - Title - - i=68 - i=78 - ns=1;i=10620 - - - - AxisScaleType - - i=68 - i=78 - ns=1;i=10620 - - - - XAxisDefinition - - i=68 - i=78 - ns=1;i=10620 - - - - PendingBackground1 - - ns=1;i=10633 - ns=1;i=10634 - ns=1;i=10635 - ns=1;i=10636 - ns=1;i=10637 - ns=1;i=10567 - i=12029 - i=80 - ns=1;i=10446 - - - - EURange - - i=68 - i=78 - ns=1;i=10629 - - - - EngineeringUnits - - i=68 - i=78 - ns=1;i=10629 - - - - Title - - i=68 - i=78 - ns=1;i=10629 - - - - AxisScaleType - - i=68 - i=78 - ns=1;i=10629 - - - - XAxisDefinition - - i=68 - i=78 - ns=1;i=10629 - - - - Configuration - - ns=1;i=10575 - ns=1;i=10584 - ns=2;i=1005 - i=78 - ns=1;i=1030 - - - - AcquisitionSettings - - ns=1;i=10593 - ns=1;i=10596 - ns=1;i=10599 - ns=1;i=10602 - ns=1;i=10605 - ns=1;i=10608 - ns=2;i=1005 - i=78 - ns=1;i=1030 - - - - AcquisitionStatus - - ns=1;i=10611 - ns=2;i=1005 - i=78 - ns=1;i=1030 - - - - AcquisitionData - - ns=1;i=10614 - ns=1;i=10617 - ns=1;i=10620 - ns=1;i=10629 - ns=2;i=1005 - i=78 - ns=1;i=1030 - - - - FactorySettings - - i=58 - i=78 - ns=1;i=1030 - - - - MassSpectrometerDeviceStreamType - - ns=1;i=1010 - - - - ParticleSizeMonitorDeviceStreamType - - ns=1;i=10768 - ns=1;i=10889 - ns=1;i=1010 - - - - ParameterSet - Flat list of Parameters - - ns=1;i=10790 - ns=1;i=10796 - ns=1;i=10805 - ns=1;i=10814 - ns=1;i=10817 - ns=1;i=10820 - ns=1;i=10824 - ns=1;i=10827 - ns=1;i=10833 - ns=1;i=10839 - ns=1;i=10845 - ns=1;i=10897 - ns=1;i=10906 - ns=1;i=10915 - i=58 - i=80 - ns=1;i=1032 - - - - IsEnabled - True if this stream maybe used to perform acquisition - - i=2365 - i=78 - ns=1;i=10768 - - - - DiagnosticStatus - Stream health status - - i=2365 - i=78 - ns=1;i=10768 - - - - LastSampleTime - Time at which the last sample was acquired - - i=2365 - i=78 - ns=1;i=10768 - - - - IsActive - True if this stream is actually running, acquiring data - - i=2365 - i=78 - ns=1;i=10768 - - - - ExecutionCycle - Indicates which Execution cycle is in progress - - i=2365 - i=78 - ns=1;i=10768 - - - - ExecutionCycleSubcode - Indicates which Execution cycle subcode is in progress - - ns=1;i=10823 - i=2376 - i=78 - ns=1;i=10768 - - - - EnumStrings - - i=68 - i=78 - ns=1;i=10820 - - - - Progress - Indicates the progress of an acquisition in terms of percentage of completion. Its value shall be between 0 and 100. - - i=2365 - i=78 - ns=1;i=10768 - - - - AcquisitionCounter - Simple counter incremented after each Sampling acquisition performed on this Stream - - ns=1;i=10831 - ns=1;i=10889 - i=2368 - i=78 - ns=1;i=10768 - - - - EURange - - i=68 - i=78 - ns=1;i=10827 - - - - AcquisitionResultStatus - Quality of the acquisition - - ns=1;i=10889 - i=2365 - i=78 - ns=1;i=10768 - - - - ScaledData - Scaled data produced as a result of data acquisition on the Stream and application of the analyser model - - ns=1;i=10889 - i=2365 - i=78 - ns=1;i=10768 - - - - AcquisitionEndTime - The end time of the AnalyseSample or AnalyseCalibrationSample or AnalyseValidationSample state of the AnalyserChannel_OperatingModeExecuteSubStateMachine state machine - - ns=1;i=10889 - i=2365 - i=78 - ns=1;i=10768 - - - - Background - - ns=1;i=10901 - ns=1;i=10902 - ns=1;i=10903 - ns=1;i=10904 - ns=1;i=10905 - ns=1;i=10889 - i=12029 - i=80 - ns=1;i=10768 - - - - EURange - - i=68 - i=78 - ns=1;i=10897 - - - - EngineeringUnits - - i=68 - i=78 - ns=1;i=10897 - - - - Title - - i=68 - i=78 - ns=1;i=10897 - - - - AxisScaleType - - i=68 - i=78 - ns=1;i=10897 - - - - XAxisDefinition - - i=68 - i=78 - ns=1;i=10897 - - - - SizeDistribution - - ns=1;i=10910 - ns=1;i=10911 - ns=1;i=10912 - ns=1;i=10913 - ns=1;i=10914 - ns=1;i=10889 - i=12029 - i=78 - ns=1;i=10768 - - - - EURange - - i=68 - i=78 - ns=1;i=10906 - - - - EngineeringUnits - - i=68 - i=78 - ns=1;i=10906 - - - - Title - - i=68 - i=78 - ns=1;i=10906 - - - - AxisScaleType - - i=68 - i=78 - ns=1;i=10906 - - - - XAxisDefinition - - i=68 - i=78 - ns=1;i=10906 - - - - BackgroundAcquisitionTime - - ns=1;i=10889 - i=2365 - i=78 - ns=1;i=10768 - - - - AcquisitionData - - ns=1;i=10897 - ns=1;i=10906 - ns=1;i=10915 - ns=2;i=1005 - i=78 - ns=1;i=1032 - - - - AcousticSpectrometerDeviceStreamType - - ns=1;i=1010 - - - - ChromatographDeviceStreamType - - ns=1;i=1010 - - - - MNRDeviceStreamType - - ns=1;i=1010 - - - - SpectrometerDeviceType - - ns=1;i=11305 - ns=1;i=11411 - ns=1;i=1001 - - - - ParameterSet - Flat list of Parameters - - ns=1;i=11384 - ns=1;i=11551 - i=58 - i=80 - ns=1;i=1011 - - - - DiagnosticStatus - General health status of the analyser - - i=2365 - i=78 - ns=1;i=11305 - - - - SpectralRange - - i=2365 - i=80 - ns=1;i=11305 - - - - FactorySettings - - ns=2;i=1005 - i=78 - ns=1;i=1011 - - - - ParticleSizeMonitorDeviceType - - ns=1;i=1001 - - - - ChromatographDeviceType - - ns=1;i=1001 - - - - MassSpectrometerDeviceType - - ns=1;i=1001 - - - - AcousticSpectrometerDeviceType - - ns=1;i=1001 - - - - NMRDeviceType - - ns=1;i=1001 - - - - AccessorySlotType - Organizes zero or more Accessory objects identified by "AccessoryIdentifier" which represent Accessories currently being used on that AccessorySlot. - - ns=1;i=12786 - ns=1;i=12787 - ns=1;i=12788 - ns=1;i=12800 - ns=2;i=1004 - - - - IsHotSwappable - True if an accessory can be inserted in the accessory slot while it is powered - - i=68 - i=78 - ns=1;i=1017 - - - - IsEnabled - True if this accessory slot is capable of accepting an accessory in it - - i=68 - i=78 - ns=1;i=1017 - - - - AccessorySlotStateMachine - - ns=1;i=12789 - ns=1;i=1018 - i=78 - ns=1;i=1017 - - - - CurrentState - - ns=1;i=12790 - i=2760 - i=78 - ns=1;i=12788 - - - - Id - - i=68 - i=78 - ns=1;i=12789 - - - - <AccessoryIdentifier> - Accessory definition - - ns=1;i=12821 - ns=1;i=12823 - ns=1;i=12825 - ns=1;i=12827 - ns=1;i=12828 - ns=1;i=1019 - i=11508 - ns=1;i=1017 - - - - Configuration - - ns=2;i=1005 - i=78 - ns=1;i=12800 - - - - Status - - ns=2;i=1005 - i=78 - ns=1;i=12800 - - - - FactorySettings - - ns=2;i=1005 - i=78 - ns=1;i=12800 - - - - IsHotSwappable - True if this accessory can be inserted in the accessory slot while it is powered - - i=68 - i=78 - ns=1;i=12800 - - - - IsReady - True if this accessory is ready for use - - i=68 - i=78 - ns=1;i=12800 - - - - AccessorySlotStateMachineType - Describes the behaviour of an AccessorySlot when a physical accessory is inserted or removed. - - ns=1;i=12840 - ns=1;i=12842 - ns=1;i=12844 - ns=1;i=12846 - ns=1;i=12848 - ns=1;i=12850 - ns=1;i=12852 - ns=1;i=12854 - ns=1;i=12856 - ns=1;i=12858 - ns=1;i=12860 - ns=1;i=12862 - ns=1;i=12864 - ns=1;i=12866 - ns=1;i=12868 - ns=1;i=12870 - ns=1;i=12872 - ns=1;i=12874 - i=2771 - - - - Powerup - The AccessorySlot is in its power-up sequence and cannot perform any other task. - - ns=1;i=12841 - ns=1;i=12852 - i=2309 - ns=1;i=1018 - - - - StateNumber - - i=68 - i=78 - ns=1;i=12840 - - - 100 - - - - Empty - This represents an AccessorySlot where no Accessory is installed. - - ns=1;i=12843 - ns=1;i=12852 - ns=1;i=12854 - ns=1;i=12866 - ns=1;i=12868 - i=2307 - ns=1;i=1018 - - - - StateNumber - - i=68 - i=78 - ns=1;i=12842 - - - 200 - - - - Inserting - This represents an AccessorySlot when an Accessory is being inserted and initializing. - - ns=1;i=12845 - ns=1;i=12854 - ns=1;i=12856 - ns=1;i=12856 - ns=1;i=12858 - ns=1;i=12860 - ns=1;i=12870 - i=2307 - ns=1;i=1018 - - - - StateNumber - - i=68 - i=78 - ns=1;i=12844 - - - 300 - - - - Installed - This represents an AccessorySlot where an Accessory is installed and ready to use. - - ns=1;i=12847 - ns=1;i=12860 - ns=1;i=12862 - ns=1;i=12872 - i=2307 - ns=1;i=1018 - - - - StateNumber - - i=68 - i=78 - ns=1;i=12846 - - - 400 - - - - Removing - This represents an AccessorySlot where no Accessory is installed. - - ns=1;i=12849 - ns=1;i=12858 - ns=1;i=12862 - ns=1;i=12864 - ns=1;i=12864 - ns=1;i=12866 - ns=1;i=12874 - i=2307 - ns=1;i=1018 - - - - StateNumber - - i=68 - i=78 - ns=1;i=12848 - - - 500 - - - - Shutdown - The AccessorySlot is in its power-down sequence and cannot perform any other task. - - ns=1;i=12851 - ns=1;i=12868 - ns=1;i=12870 - ns=1;i=12872 - ns=1;i=12874 - i=2307 - ns=1;i=1018 - - - - StateNumber - - i=68 - i=78 - ns=1;i=12850 - - - 600 - - - - PowerupToEmptyTransition - - ns=1;i=12853 - ns=1;i=12840 - ns=1;i=12842 - i=2310 - ns=1;i=1018 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=12852 - - - 1 - - - - EmptyToInsertingTransition - - ns=1;i=12855 - ns=1;i=12842 - ns=1;i=12844 - i=2310 - ns=1;i=1018 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=12854 - - - 2 - - - - InsertingTransition - - ns=1;i=12857 - ns=1;i=12844 - ns=1;i=12844 - i=2310 - ns=1;i=1018 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=12856 - - - 3 - - - - InsertingToRemovingTransition - - ns=1;i=12859 - ns=1;i=12844 - ns=1;i=12848 - i=2310 - ns=1;i=1018 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=12858 - - - 4 - - - - InsertingToInstalledTransition - - ns=1;i=12861 - ns=1;i=12844 - ns=1;i=12846 - i=2310 - ns=1;i=1018 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=12860 - - - 5 - - - - InstalledToRemovingTransition - - ns=1;i=12863 - ns=1;i=12846 - ns=1;i=12848 - i=2310 - ns=1;i=1018 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=12862 - - - 6 - - - - RemovingTransition - - ns=1;i=12865 - ns=1;i=12848 - ns=1;i=12848 - i=2310 - ns=1;i=1018 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=12864 - - - 7 - - - - RemovingToEmptyTransition - - ns=1;i=12867 - ns=1;i=12848 - ns=1;i=12842 - i=2310 - ns=1;i=1018 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=12866 - - - 8 - - - - EmptyToShutdownTransition - - ns=1;i=12869 - ns=1;i=12842 - ns=1;i=12850 - i=2310 - ns=1;i=1018 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=12868 - - - 9 - - - - InsertingToShutdownTransition - - ns=1;i=12871 - ns=1;i=12844 - ns=1;i=12850 - i=2310 - ns=1;i=1018 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=12870 - - - 10 - - - - InstalledToShutdownTransition - - ns=1;i=12873 - ns=1;i=12846 - ns=1;i=12850 - i=2310 - ns=1;i=1018 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=12872 - - - 11 - - - - RemovingToShutdownTransition - - ns=1;i=12875 - ns=1;i=12848 - ns=1;i=12850 - i=2310 - ns=1;i=1018 - - - - TransitionNumber - - i=68 - i=78 - ns=1;i=12874 - - - 12 - - - - AccessoryType - - ns=1;i=12898 - ns=1;i=12900 - ns=1;i=12902 - ns=1;i=12904 - ns=1;i=12905 - ns=2;i=1001 - - - - Configuration - - ns=2;i=1005 - i=78 - ns=1;i=1019 - - - - Status - - ns=2;i=1005 - i=78 - ns=1;i=1019 - - - - FactorySettings - - ns=2;i=1005 - i=78 - ns=1;i=1019 - - - - IsHotSwappable - True if this accessory can be inserted in the accessory slot while it is powered - - i=68 - i=78 - ns=1;i=1019 - - - - IsReady - True if this accessory is ready for use - - i=68 - i=78 - ns=1;i=1019 - - - - DetectorType - - ns=1;i=1019 - - - - SmartSamplingSystemType - - ns=1;i=1019 - - - - SourceType - - ns=1;i=1019 - - - - GcOvenType - - ns=1;i=1019 - - - - ExecutionCycleEnumeration - - ns=1;i=13026 - i=29 - - - - Idle, no cleaning or acquisition cycle in progress - - - Scquisition cycle collecting data for diagnostic purpose - - - Cleaning cycle - - - Calibration acquisition cycle - - - Validation acquisition cycle - - - Sample acquisition cycle - - - Scquisition cycle collecting data for diagnostic purpose and sample is extracted from the process to be sent in control lab - - - Cleaning cycle with or without acquisition and sample is extracted from the process to be sent in control lab - - - Calibration acquisition cycle and sample is extracted from the process to be sent in control lab - - - Validation acquisition cycle and sample is extracted from the process to be sent in control lab - - - Sample acquisition cycle and sample is extracted from the process to be sent in control lab - - - - - EnumValues - - i=68 - i=78 - ns=1;i=9378 - - - - - - i=7616 - - - - 0 - - - - IDLE - - - - - Idle, no cleaning or acquisition cycle in progress - - - - - - - i=7616 - - - - 1 - - - - DIAGNOSTIC - - - - - Scquisition cycle collecting data for diagnostic purpose - - - - - - - i=7616 - - - - 2 - - - - CLEANING - - - - - Cleaning cycle - - - - - - - i=7616 - - - - 4 - - - - CALIBRATION - - - - - Calibration acquisition cycle - - - - - - - i=7616 - - - - 8 - - - - VALIDATION - - - - - Validation acquisition cycle - - - - - - - i=7616 - - - - 16 - - - - SAMPLING - - - - - Sample acquisition cycle - - - - - - - i=7616 - - - - 32769 - - - - DIAGNOSTIC_WITH_GRAB_SAMPLE - - - - - Scquisition cycle collecting data for diagnostic purpose and sample is extracted from the process to be sent in control lab - - - - - - - i=7616 - - - - 32770 - - - - CLEANING_WITH_GRAB_SAMPLE - - - - - Cleaning cycle with or without acquisition and sample is extracted from the process to be sent in control lab - - - - - - - i=7616 - - - - 32772 - - - - CALIBRATION_WITH_GRAB_SAMPLE - - - - - Calibration acquisition cycle and sample is extracted from the process to be sent in control lab - - - - - - - i=7616 - - - - 32776 - - - - VALIDATION_WITH_GRAB_SAMPLE - - - - - Validation acquisition cycle and sample is extracted from the process to be sent in control lab - - - - - - - i=7616 - - - - 32784 - - - - SAMPLING_WITH_GRAB_SAMPLE - - - - - Sample acquisition cycle and sample is extracted from the process to be sent in control lab - - - - - - - - - AcquisitionResultStatusEnumeration - - ns=1;i=13027 - i=29 - - - - No longer used. - - - The acquisition has been completed as requested without any error. - - - The acquisition has been completed as requested with error. - - - The acquisition has been completed but nothing can be said about the quality of the result. - - - The acquisition has been partially completed as requested without any error. - - - - - EnumStrings - - i=68 - i=78 - ns=1;i=3003 - - - - - - - NOT_USED - - - - - GOOD - - - - - BAD - - - - - UNKNOWN - - - - - PARTIAL - - - - - - EngineeringValueType - Expose key results of an analyser and the associated values that qualified it - - ns=1;i=13030 - i=2365 - - - - <Identifier> - Point to the data source - - i=2365 - i=11508 - ns=1;i=9380 - - - - ChemometricModelType - Hold the descriptions of a mathematical process and associated information to convert scaled data into one or more process values. - - ns=1;i=13033 - ns=1;i=13034 - ns=1;i=13035 - ns=1;i=13036 - ns=1;i=13037 - i=63 - - - - Name - - i=68 - i=78 - ns=1;i=2007 - - - - CreationDate - - i=68 - i=78 - ns=1;i=2007 - - - - ModelDescription - - i=68 - i=78 - ns=1;i=2007 - - - - <User defined Input#> - Point to model input parameters - - i=62 - i=11510 - ns=1;i=2007 - - - - <User defined Output#> - Point to model output parameters - - i=62 - i=11510 - ns=1;i=2007 - - - - ProcessVariableType - Provides a stable address space view from the user point of view even if the ADI server address space changes, after the new configuration is loaded. - - ns=1;i=13040 - i=2365 - - - - <Source> - Point to source parameter - - i=62 - i=11510 - ns=1;i=2008 - - - - HasDataSource - TargetNode is providing the value for the SourceNode. - - i=49 - - DataSourceOf - - - HasInput - TargetNode is providing an input value for a ChemometricModel. - - i=49 - - InputOf - - - HasOutput - TargetNode is exposing an output value of a ChemometricModel. - - i=49 - - OutputOf - - - MVAModelType - Hold the descriptions of a mathematical process and associated information to convert scaled data into one or more process values. - - ns=1;i=13045 - ns=1;i=13046 - ns=1;i=2007 - - - - <User defined Output#> - Point to model output parameters - - ns=1;i=13049 - ns=1;i=2010 - i=11508 - ns=1;i=2009 - - - - AlarmState - - i=68 - i=78 - ns=1;i=13045 - - - - MainDataIndex - - i=68 - i=78 - ns=1;i=2009 - - - - MVAOutputParameterType - Hold the descriptions of a mathematical process and associated information to convert scaled data into one or more process values. - - ns=1;i=13054 - ns=1;i=13055 - ns=1;i=13056 - ns=1;i=13057 - ns=1;i=13058 - i=63 - - - - WarningLimits - - i=68 - i=80 - ns=1;i=2010 - - - - AlarmLimits - - i=68 - i=80 - ns=1;i=2010 - - - - AlarmState - - i=68 - i=78 - ns=1;i=2010 - - - - VendorSpecificError - - i=68 - i=80 - ns=1;i=2010 - - - - Statistics - - ns=1;i=13059 - ns=1;i=13060 - ns=1;i=13061 - ns=1;i=13062 - ns=1;i=2010 - i=11508 - ns=1;i=2010 - - - - WarningLimits - - i=68 - i=80 - ns=1;i=13058 - - - - AlarmLimits - - i=68 - i=80 - ns=1;i=13058 - - - - AlarmState - - i=68 - i=78 - ns=1;i=13058 - - - - VendorSpecificError - - i=68 - i=80 - ns=1;i=13058 - - - - AlarmStateEnumeration - - ns=1;i=13063 - i=29 - - - - Normal - - - In low warning range - - - In high warning range - - - In warning range (low or high) or some other warning cause - - - In low alarm range - - - In high alarm range - - - In alarm range (low or high) or some other alarm cause - - - - - EnumValues - - i=68 - i=78 - ns=1;i=3009 - - - - - - i=7616 - - - - 0 - - - - NORMAL_0 - - - - - Normal - - - - - - - i=7616 - - - - 1 - - - - WARNING_LOW_1 - - - - - In low warning range - - - - - - - i=7616 - - - - 2 - - - - WARNING_HIGH_2 - - - - - In high warning range - - - - - - - i=7616 - - - - 4 - - - - WARNING_4 - - - - - In warning range (low or high) or some other warning cause - - - - - - - i=7616 - - - - 8 - - - - ALARM_LOW_8 - - - - - In low alarm range - - - - - - - i=7616 - - - - 16 - - - - ALARM_HIGH_16 - - - - - In high alarm range - - - - - - - i=7616 - - - - 32 - - - - ALARM_32 - - - - - In alarm range (low or high) or some other alarm cause - - - - - - - - - Opc.Ua.Adi - - ns=1;i=13069 - ns=1;i=8001 - i=93 - i=72 - - - PG9wYzpUeXBlRGljdGlvbmFyeQ0KICB4bWxuczpEST0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3Jn -L1VBL0RJLyINCiAgeG1sbnM6b3BjPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvQmluYXJ5U2No -ZW1hLyINCiAgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0 -YW5jZSINCiAgeG1sbnM6dWE9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9VQS8iDQogIHhtbG5z -OnRucz0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VBL0FESS8iDQogIERlZmF1bHRCeXRlT3Jk -ZXI9IkxpdHRsZUVuZGlhbiINCiAgVGFyZ2V0TmFtZXNwYWNlPSJodHRwOi8vb3BjZm91bmRhdGlv -bi5vcmcvVUEvQURJLyINCj4NCiAgPG9wYzpJbXBvcnQgTmFtZXNwYWNlPSJodHRwOi8vb3BjZm91 -bmRhdGlvbi5vcmcvVUEvREkvIiBMb2NhdGlvbj0iT3BjLlVhLkRpLkJpbmFyeVNjaGVtYS5ic2Qi -Lz4NCiAgPG9wYzpJbXBvcnQgTmFtZXNwYWNlPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEv -IiBMb2NhdGlvbj0iT3BjLlVhLkJpbmFyeVNjaGVtYS5ic2QiLz4NCg0KICA8b3BjOkVudW1lcmF0 -ZWRUeXBlIE5hbWU9IkV4ZWN1dGlvbkN5Y2xlRW51bWVyYXRpb24iIExlbmd0aEluQml0cz0iMzIi -Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IklETEUiIFZhbHVlPSIwIiAvPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRJQUdOT1NUSUMiIFZhbHVlPSIxIiAvPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkNMRUFOSU5HIiBWYWx1ZT0iMiIgLz4NCiAgICA8 -b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDQUxJQlJBVElPTiIgVmFsdWU9IjQiIC8+DQogICAg -PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVkFMSURBVElPTiIgVmFsdWU9IjgiIC8+DQogICAg -PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU0FNUExJTkciIFZhbHVlPSIxNiIgLz4NCiAgICA8 -b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJESUFHTk9TVElDX1dJVEhfR1JBQl9TQU1QTEUiIFZh -bHVlPSIzMjc2OSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDTEVBTklOR19X -SVRIX0dSQUJfU0FNUExFIiBWYWx1ZT0iMzI3NzAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs -dWUgTmFtZT0iQ0FMSUJSQVRJT05fV0lUSF9HUkFCX1NBTVBMRSIgVmFsdWU9IjMyNzcyIiAvPg0K -ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZBTElEQVRJT05fV0lUSF9HUkFCX1NBTVBM -RSIgVmFsdWU9IjMyNzc2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNBTVBM -SU5HX1dJVEhfR1JBQl9TQU1QTEUiIFZhbHVlPSIzMjc4NCIgLz4NCiAgPC9vcGM6RW51bWVyYXRl -ZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJBY3F1aXNpdGlvblJlc3VsdFN0 -YXR1c0VudW1lcmF0aW9uIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJOT1RfVVNFRCIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs -dWUgTmFtZT0iR09PRCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt -ZT0iQkFEIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVTktO -T1dOIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJQQVJUSUFM -IiBWYWx1ZT0iNCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJh -dGVkVHlwZSBOYW1lPSJBbGFybVN0YXRlRW51bWVyYXRpb24iIExlbmd0aEluQml0cz0iMzIiPg0K -ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5PUk1BTF8wIiBWYWx1ZT0iMCIgLz4NCiAg -ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJXQVJOSU5HX0xPV18xIiBWYWx1ZT0iMSIgLz4N -CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJXQVJOSU5HX0hJR0hfMiIgVmFsdWU9IjIi -IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iV0FSTklOR180IiBWYWx1ZT0iNCIg -Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBTEFSTV9MT1dfOCIgVmFsdWU9Ijgi -IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQUxBUk1fSElHSF8xNiIgVmFsdWU9 -IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFMQVJNXzMyIiBWYWx1ZT0i -MzIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQo8L29wYzpUeXBlRGljdGlvbmFyeT4= - - - - NamespaceUri - A URI that uniquely identifies the dictionary. - - i=68 - ns=1;i=13067 - - - http://opcfoundation.org/UA/ADI/ - - - - Deprecated - Indicates that all of the definitions for the dictionary are available through a DataTypeDefinition Attribute. - - i=68 - ns=1;i=13067 - - - true - - - - Opc.Ua.Adi - - ns=1;i=13066 - ns=1;i=8003 - i=92 - i=72 - - - PHhzOnNjaGVtYQ0KICB4bWxuczpEST0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VBL0RJL1R5 -cGVzLnhzZCINCiAgeG1sbnM6eHM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIg0K -ICB4bWxuczp1YT0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VBLzIwMDgvMDIvVHlwZXMueHNk -Ig0KICB4bWxuczp0bnM9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9VQS9BREkvVHlwZXMueHNk -Ig0KICB0YXJnZXROYW1lc3BhY2U9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9VQS9BREkvVHlw -ZXMueHNkIg0KICBlbGVtZW50Rm9ybURlZmF1bHQ9InF1YWxpZmllZCINCj4NCiAgPHhzOmltcG9y -dCBuYW1lc3BhY2U9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9VQS9ESS9UeXBlcy54c2QiIC8+ -DQogIDx4czppbXBvcnQgbmFtZXNwYWNlPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvMjAw -OC8wMi9UeXBlcy54c2QiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkV4ZWN1dGlvbkN5 -Y2xlRW51bWVyYXRpb24iPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0K -ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJRExFXzAiIC8+DQogICAgICA8eHM6ZW51bWVy -YXRpb24gdmFsdWU9IkRJQUdOT1NUSUNfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 -ZT0iQ0xFQU5JTkdfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ0FMSUJSQVRJ -T05fNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVkFMSURBVElPTl84IiAvPg0K -ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTQU1QTElOR18xNiIgLz4NCiAgICAgIDx4czpl -bnVtZXJhdGlvbiB2YWx1ZT0iRElBR05PU1RJQ19XSVRIX0dSQUJfU0FNUExFXzMyNzY5IiAvPg0K -ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDTEVBTklOR19XSVRIX0dSQUJfU0FNUExFXzMy -NzcwIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDQUxJQlJBVElPTl9XSVRIX0dS -QUJfU0FNUExFXzMyNzcyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJWQUxJREFU -SU9OX1dJVEhfR1JBQl9TQU1QTEVfMzI3NzYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs -dWU9IlNBTVBMSU5HX1dJVEhfR1JBQl9TQU1QTEVfMzI3ODQiIC8+DQogICAgPC94czpyZXN0cmlj -dGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFeGVjdXRpb25D -eWNsZUVudW1lcmF0aW9uIiB0eXBlPSJ0bnM6RXhlY3V0aW9uQ3ljbGVFbnVtZXJhdGlvbiIgLz4N -Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRXhlY3V0aW9uQ3ljbGVFbnVtZXJhdGlv -biI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXhlY3V0aW9u -Q3ljbGVFbnVtZXJhdGlvbiIgdHlwZT0idG5zOkV4ZWN1dGlvbkN5Y2xlRW51bWVyYXRpb24iIG1p -bk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRXhlY3V0aW9u -Q3ljbGVFbnVtZXJhdGlvbiIgdHlwZT0idG5zOkxpc3RPZkV4ZWN1dGlvbkN5Y2xlRW51bWVyYXRp -b24iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5h -bWU9IkFjcXVpc2l0aW9uUmVzdWx0U3RhdHVzRW51bWVyYXRpb24iPg0KICAgIDx4czpyZXN0cmlj -dGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOT1Rf -VVNFRF8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJHT09EXzEiIC8+DQogICAg -ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJBRF8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u -IHZhbHVlPSJVTktOT1dOXzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlBBUlRJ -QUxfNCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9IkFjcXVpc2l0aW9uUmVzdWx0U3RhdHVzRW51bWVyYXRpb24iIHR5cGU9 -InRuczpBY3F1aXNpdGlvblJlc3VsdFN0YXR1c0VudW1lcmF0aW9uIiAvPg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJMaXN0T2ZBY3F1aXNpdGlvblJlc3VsdFN0YXR1c0VudW1lcmF0aW9uIj4N -CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBY3F1aXNpdGlvblJl -c3VsdFN0YXR1c0VudW1lcmF0aW9uIiB0eXBlPSJ0bnM6QWNxdWlzaXRpb25SZXN1bHRTdGF0dXNF -bnVtZXJhdGlvbiIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM -aXN0T2ZBY3F1aXNpdGlvblJlc3VsdFN0YXR1c0VudW1lcmF0aW9uIiB0eXBlPSJ0bnM6TGlzdE9m -QWNxdWlzaXRpb25SZXN1bHRTdGF0dXNFbnVtZXJhdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6 -ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iQWxhcm1TdGF0ZUVudW1lcmF0aW9u -Ij4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVt -ZXJhdGlvbiB2YWx1ZT0iTk9STUFMXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 -IldBUk5JTkdfTE9XXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IldBUk5JTkdf -SElHSF8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJXQVJOSU5HXzQiIC8+DQog -ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFMQVJNX0xPV184IiAvPg0KICAgICAgPHhzOmVu -dW1lcmF0aW9uIHZhbHVlPSJBTEFSTV9ISUdIXzE2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u -IHZhbHVlPSJBTEFSTV8zMiIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBs -ZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFsYXJtU3RhdGVFbnVtZXJhdGlvbiIgdHlwZT0i -dG5zOkFsYXJtU3RhdGVFbnVtZXJhdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -TGlzdE9mQWxhcm1TdGF0ZUVudW1lcmF0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJBbGFybVN0YXRlRW51bWVyYXRpb24iIHR5cGU9InRuczpBbGFybVN0 -YXRlRW51bWVyYXRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iTGlzdE9mQWxhcm1TdGF0ZUVudW1lcmF0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mQWxhcm1TdGF0 -ZUVudW1lcmF0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQo8L3hzOnNjaGVt -YT4= - - - - NamespaceUri - A URI that uniquely identifies the dictionary. - - i=68 - ns=1;i=13064 - - - http://opcfoundation.org/UA/ADI/Types.xsd - - - - Deprecated - Indicates that all of the definitions for the dictionary are available through a DataTypeDefinition Attribute. - - i=68 - ns=1;i=13064 - - - true - - - + + + + + + http://opcfoundation.org/UA/ADI/ + http://opcfoundation.org/UA/DI/ + + + + + + + + + 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 + + + http://opcfoundation.org/UA/ADI/ + + ns=1;i=15002 + ns=1;i=15003 + ns=1;i=15004 + ns=1;i=15005 + ns=1;i=15006 + ns=1;i=15007 + ns=1;i=15008 + ns=1;i=15031 + ns=1;i=15032 + ns=1;i=15033 + i=11715 + i=11616 + + + + NamespaceUri + The URI of the namespace. + + i=68 + ns=1;i=15001 + + + http://opcfoundation.org/UA/ADI/ + + + + NamespaceVersion + The human readable string representing version of the namespace. + + i=68 + ns=1;i=15001 + + + 1.01 + + + + NamespacePublicationDate + The publication date for the namespace. + + i=68 + ns=1;i=15001 + + + 2013-07-31 + + + + IsNamespaceSubset + If TRUE then the server only supports a subset of the namespace. + + i=68 + ns=1;i=15001 + + + false + + + + StaticNodeIdTypes + A list of IdTypes for nodes which are the same in every server that exposes them. + + i=68 + ns=1;i=15001 + + + + 0 + + + + + StaticNumericNodeIdRange + A list of ranges for numeric node ids which are the same in every server that exposes them. + + i=68 + ns=1;i=15001 + + + + 1:65535 + + + + + StaticStringNodeIdPattern + A regular expression which matches string node ids are the same in every server that exposes them. + + i=68 + ns=1;i=15001 + + + + + + + + DefaultRolePermissions + + i=68 + ns=1;i=15001 + + + + DefaultUserRolePermissions + + i=68 + ns=1;i=15001 + + + + DefaultAccessRestrictions + + i=68 + ns=1;i=15001 + + + + AnalyserDeviceType + + ns=1;i=5001 + ns=1;i=9382 + ns=1;i=9386 + ns=1;i=9482 + ns=1;i=9484 + ns=1;i=9486 + ns=1;i=9488 + ns=1;i=9500 + ns=1;i=9610 + ns=2;i=1002 + + + + ParameterSet + Flat list of Parameters + + ns=1;i=9459 + ns=1;i=9462 + i=58 + i=80 + ns=1;i=1001 + + + + DiagnosticStatus + General health status of the analyser + + ns=1;i=9484 + i=2365 + i=78 + ns=1;i=5001 + + + + ConfigData + Optional analyser device large configuration + + ns=1;i=9463 + ns=1;i=13070 + ns=1;i=13071 + ns=1;i=9466 + ns=1;i=9467 + ns=1;i=9470 + ns=1;i=9472 + ns=1;i=9475 + ns=1;i=9477 + ns=1;i=9480 + ns=1;i=9482 + i=11575 + i=80 + ns=1;i=5001 + + + + Size + The size of the file in bytes. + + i=68 + i=78 + ns=1;i=9462 + + + + Writable + Whether the file is writable. + + i=68 + i=78 + ns=1;i=9462 + + + + UserWritable + Whether the file is writable by the current user. + + i=68 + i=78 + ns=1;i=9462 + + + + OpenCount + The current number of open file handles. + + i=68 + i=78 + ns=1;i=9462 + + + + Open + + ns=1;i=9468 + ns=1;i=9469 + i=78 + ns=1;i=9462 + + + + InputArguments + + i=68 + i=78 + ns=1;i=9467 + + + + + + i=297 + + + + Mode + + i=3 + + -1 + + + + + + + + + + OutputArguments + + i=68 + i=78 + ns=1;i=9467 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + + Close + + ns=1;i=9471 + i=78 + ns=1;i=9462 + + + + InputArguments + + i=68 + i=78 + ns=1;i=9470 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + + Read + + ns=1;i=9473 + ns=1;i=9474 + i=78 + ns=1;i=9462 + + + + InputArguments + + i=68 + i=78 + ns=1;i=9472 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + i=297 + + + + Length + + i=6 + + -1 + + + + + + + + + + OutputArguments + + i=68 + i=78 + ns=1;i=9472 + + + + + + i=297 + + + + Data + + i=15 + + -1 + + + + + + + + + + Write + + ns=1;i=9476 + i=78 + ns=1;i=9462 + + + + InputArguments + + i=68 + i=78 + ns=1;i=9475 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + i=297 + + + + Data + + i=15 + + -1 + + + + + + + + + + GetPosition + + ns=1;i=9478 + ns=1;i=9479 + i=78 + ns=1;i=9462 + + + + InputArguments + + i=68 + i=78 + ns=1;i=9477 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + + + OutputArguments + + i=68 + i=78 + ns=1;i=9477 + + + + + + i=297 + + + + Position + + i=9 + + -1 + + + + + + + + + + SetPosition + + ns=1;i=9481 + i=78 + ns=1;i=9462 + + + + InputArguments + + i=68 + i=78 + ns=1;i=9480 + + + + + + i=297 + + + + FileHandle + + i=7 + + -1 + + + + + + + + i=297 + + + + Position + + i=9 + + -1 + + + + + + + + + + MethodSet + Flat list of Methods + + ns=1;i=9443 + ns=1;i=9445 + ns=1;i=9448 + ns=1;i=9450 + ns=1;i=9453 + ns=1;i=9454 + ns=1;i=9455 + ns=1;i=9456 + ns=1;i=9457 + ns=1;i=9458 + i=58 + i=78 + ns=1;i=1001 + + + + GetConfiguration + + ns=1;i=9444 + i=78 + ns=1;i=9382 + + + + OutputArguments + + i=68 + i=78 + ns=1;i=9443 + + + + + + i=297 + + + + ConfigData + + i=15 + + -1 + + + + + + + + + + SetConfiguration + + ns=1;i=9446 + ns=1;i=9447 + i=78 + ns=1;i=9382 + + + + InputArguments + + i=68 + i=78 + ns=1;i=9445 + + + + + + i=297 + + + + ConfigData + + i=15 + + -1 + + + + + + + + + + OutputArguments + + i=68 + i=78 + ns=1;i=9445 + + + + + + i=297 + + + + ConfigDataDigest + + i=12 + + -1 + + + + + + + + + + GetConfigDataDigest + + ns=1;i=9449 + i=78 + ns=1;i=9382 + + + + OutputArguments + + i=68 + i=78 + ns=1;i=9448 + + + + + + i=297 + + + + ConfigDataDigest + + i=12 + + -1 + + + + + + + + + + CompareConfigDataDigest + + ns=1;i=9451 + ns=1;i=9452 + i=78 + ns=1;i=9382 + + + + InputArguments + + i=68 + i=78 + ns=1;i=9450 + + + + + + i=297 + + + + ConfigDataDigest + + i=12 + + -1 + + + + + + + + + + OutputArguments + + i=68 + i=78 + ns=1;i=9450 + + + + + + i=297 + + + + IsEqual + + i=1 + + -1 + + + + + + + + + + ResetAllChannels + Reset all AnalyserChannels belonging to this AnalyserDevice. + + i=78 + ns=1;i=9382 + + + + StartAllChannels + Start all AnalyserChannels belonging to this AnalyserDevice. + + i=78 + ns=1;i=9382 + + + + StopAllChannels + Stop all AnalyserChannels belonging to this AnalyserDevice. + + i=78 + ns=1;i=9382 + + + + AbortAllChannels + Abort all AnalyserChannels belonging to this AnalyserDevice. + + i=78 + ns=1;i=9382 + + + + GotoOperating + AnalyserDeviceStateMachine to go to Operating state, forcing all AnalyserChannels to leave the SlaveMode state and go to the Operating state. + + i=78 + ns=1;i=9382 + + + + GotoMaintenance + AnalyserDeviceStateMachine to go to Maintenance state, forcing all AnalyserChannels to SlaveMode state. + + i=78 + ns=1;i=9382 + + + + Identification + Used to organize parameters for identification of this TopologyElement + + ns=2;i=6003 + ns=2;i=6004 + ns=2;i=6001 + ns=2;i=1005 + i=78 + ns=1;i=1001 + + + + Configuration + + ns=1;i=9462 + ns=2;i=1005 + i=78 + ns=1;i=1001 + + + + Status + + ns=1;i=9459 + ns=2;i=1005 + i=78 + ns=1;i=1001 + + + + FactorySettings + + ns=2;i=1005 + i=78 + ns=1;i=1001 + + + + AnalyserStateMachine + + ns=1;i=9489 + ns=1;i=1002 + i=78 + ns=1;i=1001 + + + + CurrentState + + ns=1;i=9490 + i=2760 + i=78 + ns=1;i=9488 + + + + Id + + i=68 + i=78 + ns=1;i=9489 + + + + <ChannelIdentifier> + Channel definition + + ns=1;i=9503 + ns=1;i=9546 + ns=1;i=9548 + ns=1;i=9550 + ns=1;i=1003 + i=11508 + ns=1;i=1001 + + + + MethodSet + Flat list of Methods + + ns=1;i=9521 + ns=1;i=9522 + ns=1;i=9523 + ns=1;i=9525 + ns=1;i=9526 + ns=1;i=9527 + ns=1;i=9528 + ns=1;i=9529 + ns=1;i=9530 + ns=1;i=9531 + ns=1;i=9532 + ns=1;i=9533 + i=58 + i=78 + ns=1;i=9500 + + + + GotoOperating + Transitions the AnalyserChannel to Operating mode. + + i=78 + ns=1;i=9503 + + + + GotoMaintenance + Transitions the AnalyserChannel to Maintenance mode. + + i=78 + ns=1;i=9503 + + + + StartSingleAcquisition + + ns=1;i=9524 + i=78 + ns=1;i=9503 + + + + InputArguments + + i=68 + i=78 + ns=1;i=9523 + + + + + + i=297 + + + + ExecutionCycle + + ns=1;i=9378 + + -1 + + + + + + + + i=297 + + + + ExecutionCycleSubcode + + i=7 + + -1 + + + + + + + + i=297 + + + + SelectedStream + + i=12 + + -1 + + + + + + + + + + Reset + Causes transition to the Resetting state. + + i=78 + ns=1;i=9503 + + + + Start + Causes transition to the Starting state. + + i=78 + ns=1;i=9503 + + + + Stop + Causes transition to the Stopping state. + + i=78 + ns=1;i=9503 + + + + Hold + Causes transition to the Holding state. + + i=78 + ns=1;i=9503 + + + + Unhold + Causes transition to the Unholding state. + + i=78 + ns=1;i=9503 + + + + Suspend + Causes transition to the Suspending state. + + i=78 + ns=1;i=9503 + + + + Unsuspend + Causes transition to the Unsuspending state. + + i=78 + ns=1;i=9503 + + + + Abort + Causes transition to the Aborting state. + + i=78 + ns=1;i=9503 + + + + Clear + Causes transition to the Clearing state. + + i=78 + ns=1;i=9503 + + + + Configuration + + ns=2;i=1005 + i=78 + ns=1;i=9500 + + + + Status + + ns=2;i=1005 + i=78 + ns=1;i=9500 + + + + ChannelStateMachine + + ns=1;i=9551 + ns=1;i=9562 + ns=1;i=1007 + i=78 + ns=1;i=9500 + + + + CurrentState + + ns=1;i=9552 + i=2760 + i=78 + ns=1;i=9550 + + + + Id + + i=68 + i=78 + ns=1;i=9551 + + + + OperatingSubStateMachine + + ns=1;i=9563 + ns=1;i=9574 + ns=1;i=1008 + i=78 + ns=1;i=9550 + + + + CurrentState + + ns=1;i=9564 + i=2760 + i=78 + ns=1;i=9562 + + + + Id + + i=68 + i=78 + ns=1;i=9563 + + + + OperatingExecuteSubStateMachine + + ns=1;i=9575 + ns=1;i=1009 + i=78 + ns=1;i=9562 + + + + CurrentState + + ns=1;i=9576 + i=2760 + i=78 + ns=1;i=9574 + + + + Id + + i=68 + i=78 + ns=1;i=9575 + + + + <AccessorySlotIdentifier> + AccessorySlot definition + + ns=1;i=9611 + ns=1;i=9612 + ns=1;i=9613 + ns=1;i=9614 + ns=1;i=1017 + i=11508 + ns=1;i=1001 + + + + SupportedTypes + Folder maintaining the set of (sub-types of) BaseObjectTypes that can be instantiated in the ConfigurableComponent + + i=61 + i=78 + ns=1;i=9610 + + + + IsHotSwappable + True if an accessory can be inserted in the accessory slot while it is powered + + i=68 + i=78 + ns=1;i=9610 + + + + IsEnabled + True if this accessory slot is capable of accepting an accessory in it + + i=68 + i=78 + ns=1;i=9610 + + + + AccessorySlotStateMachine + + ns=1;i=9615 + ns=1;i=1018 + i=78 + ns=1;i=9610 + + + + CurrentState + + ns=1;i=9616 + i=2760 + i=78 + ns=1;i=9614 + + + + Id + + i=68 + i=78 + ns=1;i=9615 + + + + AnalyserDeviceStateMachineType + + ns=1;i=9647 + ns=1;i=9649 + ns=1;i=9651 + ns=1;i=9653 + ns=1;i=9655 + ns=1;i=9657 + ns=1;i=9659 + ns=1;i=9661 + ns=1;i=9663 + ns=1;i=9665 + ns=1;i=9667 + ns=1;i=9669 + ns=1;i=9671 + ns=1;i=9673 + ns=1;i=9675 + i=2771 + + + + Powerup + The AnalyserDevice is in its power-up sequence and cannot perform any other task. + + ns=1;i=9648 + ns=1;i=9657 + i=2309 + ns=1;i=1002 + + + + StateNumber + + i=68 + i=78 + ns=1;i=9647 + + + 100 + + + + Operating + The AnalyserDevice is in the Operating mode. + + ns=1;i=9650 + ns=1;i=9657 + ns=1;i=9659 + ns=1;i=9661 + ns=1;i=9663 + ns=1;i=9667 + ns=1;i=9671 + i=2307 + ns=1;i=1002 + + + + StateNumber + + i=68 + i=78 + ns=1;i=9649 + + + 200 + + + + Local + The AnalyserDevice is in the Local mode. This mode is normally used to perform local physical maintenance on the analyser. + + ns=1;i=9652 + ns=1;i=9659 + ns=1;i=9663 + ns=1;i=9665 + ns=1;i=9669 + ns=1;i=9673 + i=2307 + ns=1;i=1002 + + + + StateNumber + + i=68 + i=78 + ns=1;i=9651 + + + 300 + + + + Maintenance + The AnalyserDevice is in the Maintenance mode. This mode is used to perform remote maintenance on the analyser like firmware upgrade. + + ns=1;i=9654 + ns=1;i=9661 + ns=1;i=9665 + ns=1;i=9667 + ns=1;i=9669 + ns=1;i=9675 + i=2307 + ns=1;i=1002 + + + + StateNumber + + i=68 + i=78 + ns=1;i=9653 + + + 400 + + + + Shutdown + The AnalyserDevice is in its power-down sequence and cannot perform any other task. + + ns=1;i=9656 + ns=1;i=9671 + ns=1;i=9673 + ns=1;i=9675 + i=2307 + ns=1;i=1002 + + + + StateNumber + + i=68 + i=78 + ns=1;i=9655 + + + 500 + + + + PowerupToOperatingTransition + + ns=1;i=9658 + ns=1;i=9647 + ns=1;i=9649 + i=2310 + ns=1;i=1002 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=9657 + + + 1 + + + + OperatingToLocalTransition + + ns=1;i=9660 + ns=1;i=9649 + ns=1;i=9651 + i=2310 + ns=1;i=1002 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=9659 + + + 2 + + + + OperatingToMaintenanceTransition + + ns=1;i=9662 + ns=1;i=9649 + ns=1;i=9653 + ns=1;i=9458 + i=2310 + ns=1;i=1002 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=9661 + + + 3 + + + + LocalToOperatingTransition + + ns=1;i=9664 + ns=1;i=9651 + ns=1;i=9649 + i=2310 + ns=1;i=1002 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=9663 + + + 4 + + + + LocalToMaintenanceTransition + + ns=1;i=9666 + ns=1;i=9651 + ns=1;i=9653 + i=2310 + ns=1;i=1002 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=9665 + + + 5 + + + + MaintenanceToOperatingTransition + + ns=1;i=9668 + ns=1;i=9653 + ns=1;i=9649 + ns=1;i=9457 + i=2310 + ns=1;i=1002 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=9667 + + + 6 + + + + MaintenanceToLocalTransition + + ns=1;i=9670 + ns=1;i=9653 + ns=1;i=9651 + i=2310 + ns=1;i=1002 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=9669 + + + 7 + + + + OperatingToShutdownTransition + + ns=1;i=9672 + ns=1;i=9649 + ns=1;i=9655 + i=2310 + ns=1;i=1002 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=9671 + + + 8 + + + + LocalToShutdownTransition + + ns=1;i=9674 + ns=1;i=9651 + ns=1;i=9655 + i=2310 + ns=1;i=1002 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=9673 + + + 9 + + + + MaintenanceToShutdownTransition + + ns=1;i=9676 + ns=1;i=9653 + ns=1;i=9655 + i=2310 + ns=1;i=1002 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=9675 + + + 10 + + + + AnalyserChannelType + + ns=1;i=9677 + ns=1;i=9679 + ns=1;i=9788 + ns=1;i=9724 + ns=1;i=9726 + ns=1;i=9728 + ns=1;i=9790 + ns=1;i=9916 + ns=2;i=1001 + + + + ParameterSet + Flat list of Parameters + + ns=1;i=9712 + ns=1;i=9715 + ns=1;i=9718 + ns=1;i=9721 + i=58 + i=80 + ns=1;i=1003 + + + + ChannelId + Channel Id defined by user + + i=2365 + i=80 + ns=1;i=9677 + + + + IsEnabled + True if the channel is enabled and accepting commands + + ns=1;i=9724 + i=2365 + i=78 + ns=1;i=9677 + + + + DiagnosticStatus + AnalyserChannel health status + + ns=1;i=9726 + i=2365 + i=78 + ns=1;i=9677 + + + + ActiveStream + Active stream for this AnalyserChannel + + ns=1;i=9726 + i=2365 + i=78 + ns=1;i=9677 + + + + MethodSet + Flat list of Methods + + ns=1;i=9699 + ns=1;i=9700 + ns=1;i=9701 + ns=1;i=9703 + ns=1;i=9704 + ns=1;i=9705 + ns=1;i=9706 + ns=1;i=9707 + ns=1;i=9708 + ns=1;i=9709 + ns=1;i=9710 + ns=1;i=9711 + i=58 + i=78 + ns=1;i=1003 + + + + GotoOperating + Transitions the AnalyserChannel to Operating mode. + + i=78 + ns=1;i=9679 + + + + GotoMaintenance + Transitions the AnalyserChannel to Maintenance mode. + + i=78 + ns=1;i=9679 + + + + StartSingleAcquisition + + ns=1;i=9702 + i=78 + ns=1;i=9679 + + + + InputArguments + + i=68 + i=78 + ns=1;i=9701 + + + + + + i=297 + + + + ExecutionCycle + + ns=1;i=9378 + + -1 + + + + + + + + i=297 + + + + ExecutionCycleSubcode + + i=7 + + -1 + + + + + + + + i=297 + + + + SelectedStream + + i=12 + + -1 + + + + + + + + + + Reset + Causes transition to the Resetting state. + + i=78 + ns=1;i=9679 + + + + Start + Causes transition to the Starting state. + + i=78 + ns=1;i=9679 + + + + Stop + Causes transition to the Stopping state. + + i=78 + ns=1;i=9679 + + + + Hold + Causes transition to the Holding state. + + i=78 + ns=1;i=9679 + + + + Unhold + Causes transition to the Unholding state. + + i=78 + ns=1;i=9679 + + + + Suspend + Causes transition to the Suspending state. + + i=78 + ns=1;i=9679 + + + + Unsuspend + Causes transition to the Unsuspending state. + + i=78 + ns=1;i=9679 + + + + Abort + Causes transition to the Aborting state. + + i=78 + ns=1;i=9679 + + + + Clear + Causes transition to the Clearing state. + + i=78 + ns=1;i=9679 + + + + <GroupIdentifier> + Group definition + + ns=2;i=1005 + i=11508 + ns=1;i=1003 + + + + Configuration + + ns=1;i=9715 + ns=2;i=1005 + i=78 + ns=1;i=1003 + + + + Status + + ns=1;i=9718 + ns=1;i=9721 + ns=2;i=1005 + i=78 + ns=1;i=1003 + + + + ChannelStateMachine + + ns=1;i=9729 + ns=1;i=9740 + ns=1;i=1007 + i=78 + ns=1;i=1003 + + + + CurrentState + + ns=1;i=9730 + i=2760 + i=78 + ns=1;i=9728 + + + + Id + + i=68 + i=78 + ns=1;i=9729 + + + + OperatingSubStateMachine + + ns=1;i=9741 + ns=1;i=9752 + ns=1;i=1008 + i=78 + ns=1;i=9728 + + + + CurrentState + + ns=1;i=9742 + i=2760 + i=78 + ns=1;i=9740 + + + + Id + + i=68 + i=78 + ns=1;i=9741 + + + + OperatingExecuteSubStateMachine + + ns=1;i=9753 + ns=1;i=1009 + i=78 + ns=1;i=9740 + + + + CurrentState + + ns=1;i=9754 + i=2760 + i=78 + ns=1;i=9752 + + + + Id + + i=68 + i=78 + ns=1;i=9753 + + + + <StreamIdentifier> + Stream definition + + ns=1;i=9902 + ns=1;i=9904 + ns=1;i=9906 + ns=1;i=9908 + ns=1;i=9910 + ns=1;i=9912 + ns=1;i=9914 + ns=1;i=1010 + i=11508 + ns=1;i=1003 + + + + Configuration + + ns=2;i=1005 + i=78 + ns=1;i=9790 + + + + Status + + ns=2;i=1005 + i=78 + ns=1;i=9790 + + + + AcquisitionSettings + + ns=2;i=1005 + i=78 + ns=1;i=9790 + + + + AcquisitionStatus + + ns=2;i=1005 + i=78 + ns=1;i=9790 + + + + AcquisitionData + + ns=2;i=1005 + i=78 + ns=1;i=9790 + + + + ChemometricModelSettings + + ns=2;i=1005 + i=78 + ns=1;i=9790 + + + + Context + + ns=2;i=1005 + i=78 + ns=1;i=9790 + + + + <AccessorySlotIdentifier> + AccessorySlot definition + + ns=1;i=9917 + ns=1;i=9918 + ns=1;i=9919 + ns=1;i=9920 + ns=1;i=1017 + i=11508 + ns=1;i=1003 + + + + SupportedTypes + Folder maintaining the set of (sub-types of) BaseObjectTypes that can be instantiated in the ConfigurableComponent + + i=61 + i=78 + ns=1;i=9916 + + + + IsHotSwappable + True if an accessory can be inserted in the accessory slot while it is powered + + i=68 + i=78 + ns=1;i=9916 + + + + IsEnabled + True if this accessory slot is capable of accepting an accessory in it + + i=68 + i=78 + ns=1;i=9916 + + + + AccessorySlotStateMachine + + ns=1;i=9921 + ns=1;i=1018 + i=78 + ns=1;i=9916 + + + + CurrentState + + ns=1;i=9922 + i=2760 + i=78 + ns=1;i=9920 + + + + Id + + i=68 + i=78 + ns=1;i=9921 + + + + AnalyserChannelOperatingStateType + + ns=1;i=9948 + i=2307 + + + + AnalyserChannelLocalStateType + + i=2307 + + + + AnalyserChannelMaintenanceStateType + + i=2307 + + + + AnalyserChannelStateMachineType + Contains a nested state model that defines the top level states Operating, Local and Maintenance + + ns=1;i=9948 + ns=1;i=9972 + ns=1;i=9984 + ns=1;i=9996 + ns=1;i=9998 + ns=1;i=10000 + ns=1;i=10002 + ns=1;i=10004 + ns=1;i=10006 + ns=1;i=10008 + ns=1;i=10010 + ns=1;i=10012 + ns=1;i=10014 + ns=1;i=10016 + ns=1;i=10018 + ns=1;i=10020 + ns=1;i=10022 + i=2771 + + + + OperatingSubStateMachine + + ns=1;i=9949 + ns=1;i=9960 + ns=1;i=9998 + ns=1;i=1008 + i=78 + ns=1;i=1007 + + + + CurrentState + + ns=1;i=9950 + i=2760 + i=78 + ns=1;i=9948 + + + + Id + + i=68 + i=78 + ns=1;i=9949 + + + + OperatingExecuteSubStateMachine + + ns=1;i=9961 + ns=1;i=1009 + i=78 + ns=1;i=9948 + + + + CurrentState + + ns=1;i=9962 + i=2760 + i=78 + ns=1;i=9960 + + + + Id + + i=68 + i=78 + ns=1;i=9961 + + + + LocalSubStateMachine + + ns=1;i=9973 + ns=1;i=10000 + i=2771 + i=80 + ns=1;i=1007 + + + + CurrentState + + ns=1;i=9974 + i=2760 + i=78 + ns=1;i=9972 + + + + Id + + i=68 + i=78 + ns=1;i=9973 + + + + MaintenanceSubStateMachine + + ns=1;i=9985 + ns=1;i=10002 + i=2771 + i=80 + ns=1;i=1007 + + + + CurrentState + + ns=1;i=9986 + i=2760 + i=78 + ns=1;i=9984 + + + + Id + + i=68 + i=78 + ns=1;i=9985 + + + + SlaveMode + The AnalyserDevice is in Local or Maintenance mode and all AnalyserChannels are in SlaveMode + + ns=1;i=9997 + ns=1;i=10004 + ns=1;i=10018 + ns=1;i=10020 + ns=1;i=10022 + i=2309 + ns=1;i=1007 + + + + StateNumber + + i=68 + i=78 + ns=1;i=9996 + + + 100 + + + + Operating + The AnalyserChannel is in the Operating mode. + + ns=1;i=9999 + ns=1;i=9948 + ns=1;i=10004 + ns=1;i=10006 + ns=1;i=10008 + ns=1;i=10010 + ns=1;i=10014 + ns=1;i=10018 + ns=1;i=1004 + ns=1;i=1007 + + + + StateNumber + + i=68 + i=78 + ns=1;i=9998 + + + 200 + + + + Local + The AnalyserChannel is in the Local mode. This mode is normally used to perform local physical maintenance on the analyser. + + ns=1;i=10001 + ns=1;i=9972 + ns=1;i=10006 + ns=1;i=10010 + ns=1;i=10012 + ns=1;i=10016 + ns=1;i=10020 + ns=1;i=1005 + ns=1;i=1007 + + + + StateNumber + + i=68 + i=78 + ns=1;i=10000 + + + 300 + + + + Maintenance + The AnalyserChannel is in the Maintenance mode. This mode is used to perform remote maintenance on the analyser like firmware upgrade. + + ns=1;i=10003 + ns=1;i=9984 + ns=1;i=10008 + ns=1;i=10012 + ns=1;i=10014 + ns=1;i=10016 + ns=1;i=10022 + ns=1;i=1006 + ns=1;i=1007 + + + + StateNumber + + i=68 + i=78 + ns=1;i=10002 + + + 400 + + + + SlaveModeToOperatingTransition + + ns=1;i=10005 + ns=1;i=9996 + ns=1;i=9998 + i=2310 + ns=1;i=1007 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10004 + + + 1 + + + + OperatingToLocalTransition + + ns=1;i=10007 + ns=1;i=9998 + ns=1;i=10000 + i=2310 + ns=1;i=1007 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10006 + + + 2 + + + + OperatingToMaintenanceTransition + + ns=1;i=10009 + ns=1;i=9998 + ns=1;i=10002 + ns=1;i=9700 + i=2310 + ns=1;i=1007 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10008 + + + 3 + + + + LocalToOperatingTransition + + ns=1;i=10011 + ns=1;i=10000 + ns=1;i=9998 + i=2310 + ns=1;i=1007 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10010 + + + 4 + + + + LocalToMaintenanceTransition + + ns=1;i=10013 + ns=1;i=10000 + ns=1;i=10002 + i=2310 + ns=1;i=1007 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10012 + + + 5 + + + + MaintenanceToOperatingTransition + + ns=1;i=10015 + ns=1;i=10002 + ns=1;i=9998 + ns=1;i=9699 + i=2310 + ns=1;i=1007 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10014 + + + 6 + + + + MaintenanceToLocalTransition + + ns=1;i=10017 + ns=1;i=10002 + ns=1;i=10000 + i=2310 + ns=1;i=1007 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10016 + + + 7 + + + + OperatingToSlaveModeTransition + + ns=1;i=10019 + ns=1;i=9998 + ns=1;i=9996 + i=2310 + ns=1;i=1007 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10018 + + + 8 + + + + LocalToSlaveModeTransition + + ns=1;i=10021 + ns=1;i=10000 + ns=1;i=9996 + i=2310 + ns=1;i=1007 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10020 + + + 9 + + + + MaintenanceToSlaveModeTransition + + ns=1;i=10023 + ns=1;i=10002 + ns=1;i=9996 + i=2310 + ns=1;i=1007 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10022 + + + 10 + + + + AnalyserChannelOperatingExecuteStateType + + ns=1;i=10036 + i=2307 + + + + AnalyserChannel_OperatingModeSubStateMachineType + AnalyserChannel OperatingMode SubStateMachine + + ns=1;i=10036 + ns=1;i=10048 + ns=1;i=10050 + ns=1;i=10052 + ns=1;i=10054 + ns=1;i=10056 + ns=1;i=10058 + ns=1;i=10060 + ns=1;i=10062 + ns=1;i=10064 + ns=1;i=10066 + ns=1;i=10068 + ns=1;i=10070 + ns=1;i=10072 + ns=1;i=10074 + ns=1;i=10076 + ns=1;i=10078 + ns=1;i=10080 + ns=1;i=10082 + ns=1;i=10084 + ns=1;i=10086 + ns=1;i=10088 + ns=1;i=10090 + ns=1;i=10092 + ns=1;i=10094 + ns=1;i=10096 + ns=1;i=10098 + ns=1;i=10100 + ns=1;i=10102 + ns=1;i=10104 + ns=1;i=10106 + ns=1;i=10108 + ns=1;i=10110 + ns=1;i=10112 + ns=1;i=10114 + ns=1;i=10116 + ns=1;i=10118 + ns=1;i=10120 + ns=1;i=10122 + ns=1;i=10124 + ns=1;i=10126 + ns=1;i=10128 + ns=1;i=10130 + ns=1;i=10132 + ns=1;i=10134 + ns=1;i=10136 + ns=1;i=10138 + ns=1;i=10140 + ns=1;i=10142 + ns=1;i=10144 + ns=1;i=10146 + ns=1;i=10148 + ns=1;i=10150 + ns=1;i=10152 + ns=1;i=10154 + ns=1;i=10156 + ns=1;i=10158 + ns=1;i=10160 + ns=1;i=10162 + ns=1;i=10164 + ns=1;i=10166 + ns=1;i=10168 + ns=1;i=10170 + ns=1;i=10172 + ns=1;i=10174 + ns=1;i=10176 + ns=1;i=10178 + ns=1;i=10180 + ns=1;i=10182 + ns=1;i=10184 + ns=1;i=10186 + ns=1;i=10188 + i=2771 + + + + OperatingExecuteSubStateMachine + + ns=1;i=10037 + ns=1;i=10056 + ns=1;i=1009 + i=78 + ns=1;i=1008 + + + + CurrentState + + ns=1;i=10038 + i=2760 + i=78 + ns=1;i=10036 + + + + Id + + i=68 + i=78 + ns=1;i=10037 + + + + Stopped + This is the initial state after AnalyserDeviceStateMachine state Powerup + + ns=1;i=10049 + ns=1;i=10082 + ns=1;i=10100 + ns=1;i=10130 + ns=1;i=10136 + ns=1;i=10162 + i=2309 + ns=1;i=1008 + + + + StateNumber + + i=68 + i=78 + ns=1;i=10048 + + + 2 + + + + Resetting + This state is the result of a Reset or SetConfiguration Method call from the Stopped state. + + ns=1;i=10051 + ns=1;i=10082 + ns=1;i=10084 + ns=1;i=10084 + ns=1;i=10086 + ns=1;i=10138 + ns=1;i=10164 + i=2307 + ns=1;i=1008 + + + + StateNumber + + i=68 + i=78 + ns=1;i=10050 + + + 15 + + + + Idle + The Resetting state is completed, all parameters have been committed and ready to start acquisition + + ns=1;i=10053 + ns=1;i=10086 + ns=1;i=10088 + ns=1;i=10140 + ns=1;i=10166 + i=2307 + ns=1;i=1008 + + + + StateNumber + + i=68 + i=78 + ns=1;i=10052 + + + 4 + + + + Starting + The analyser has received the Start or SingleAcquisitionStart Method call and it is preparing to enter in Execute state. + + ns=1;i=10055 + ns=1;i=10088 + ns=1;i=10090 + ns=1;i=10090 + ns=1;i=10092 + ns=1;i=10142 + ns=1;i=10168 + i=2307 + ns=1;i=1008 + + + + StateNumber + + i=68 + i=78 + ns=1;i=10054 + + + 3 + + + + Execute + All repetitive acquisition cycles are done in this state: + + ns=1;i=10057 + ns=1;i=10036 + ns=1;i=10092 + ns=1;i=10094 + ns=1;i=10102 + ns=1;i=10114 + ns=1;i=10116 + ns=1;i=10128 + ns=1;i=10144 + ns=1;i=10170 + ns=1;i=8964 + ns=1;i=1008 + + + + StateNumber + + i=68 + i=78 + ns=1;i=10056 + + + 6 + + + + Completing + This state is an automatic or commanded exit from the Execute state. + + ns=1;i=10059 + ns=1;i=10094 + ns=1;i=10096 + ns=1;i=10096 + ns=1;i=10098 + ns=1;i=10146 + ns=1;i=10172 + i=2307 + ns=1;i=1008 + + + + StateNumber + + i=68 + i=78 + ns=1;i=10058 + + + 16 + + + + Complete + At this point, the Completing state is done and it transitions automatically to Stopped state to wait. + + ns=1;i=10061 + ns=1;i=10098 + ns=1;i=10100 + ns=1;i=10148 + ns=1;i=10174 + i=2307 + ns=1;i=1008 + + + + StateNumber + + i=68 + i=78 + ns=1;i=10060 + + + 17 + + + + Suspending + This state is a result of a change in monitored conditions due to process conditions or factors. + + ns=1;i=10063 + ns=1;i=10116 + ns=1;i=10118 + ns=1;i=10118 + ns=1;i=10120 + ns=1;i=10126 + ns=1;i=10150 + ns=1;i=10176 + i=2307 + ns=1;i=1008 + + + + StateNumber + + i=68 + i=78 + ns=1;i=10062 + + + 13 + + + + Suspended + The analyser or channel may be running but no results are being generated while the analyser or channel is waiting for external process conditions to return to normal. + + ns=1;i=10065 + ns=1;i=10120 + ns=1;i=10122 + ns=1;i=10152 + ns=1;i=10178 + i=2307 + ns=1;i=1008 + + + + StateNumber + + i=68 + i=78 + ns=1;i=10064 + + + 5 + + + + Unsuspending + This state is a result of a device request from Suspended state to transition back to the Execute state by calling the Unsuspend Method. + + ns=1;i=10067 + ns=1;i=10122 + ns=1;i=10124 + ns=1;i=10124 + ns=1;i=10126 + ns=1;i=10128 + ns=1;i=10154 + ns=1;i=10180 + i=2307 + ns=1;i=1008 + + + + StateNumber + + i=68 + i=78 + ns=1;i=10066 + + + 14 + + + + Holding + Brings the analyser or channel to a controlled stop or to a state which represents Held for the particular unit control mode + + ns=1;i=10069 + ns=1;i=10102 + ns=1;i=10104 + ns=1;i=10104 + ns=1;i=10106 + ns=1;i=10112 + ns=1;i=10156 + ns=1;i=10182 + i=2307 + ns=1;i=1008 + + + + StateNumber + + i=68 + i=78 + ns=1;i=10068 + + + 10 + + + + Held + The Held state holds the analyser or channel's operation. At this state, no acquisition cycle is performed. + + ns=1;i=10071 + ns=1;i=10106 + ns=1;i=10108 + ns=1;i=10158 + ns=1;i=10184 + i=2307 + ns=1;i=1008 + + + + StateNumber + + i=68 + i=78 + ns=1;i=10070 + + + 11 + + + + Unholding + The Unholding state is a response to an operator command to resume the Execute state. + + ns=1;i=10073 + ns=1;i=10108 + ns=1;i=10110 + ns=1;i=10110 + ns=1;i=10112 + ns=1;i=10114 + ns=1;i=10160 + ns=1;i=10186 + i=2307 + ns=1;i=1008 + + + + StateNumber + + i=68 + i=78 + ns=1;i=10072 + + + 12 + + + + Stopping + Initiated by a Stop Method call, this state: + + ns=1;i=10075 + ns=1;i=10130 + ns=1;i=10138 + ns=1;i=10140 + ns=1;i=10142 + ns=1;i=10144 + ns=1;i=10146 + ns=1;i=10148 + ns=1;i=10150 + ns=1;i=10152 + ns=1;i=10154 + ns=1;i=10156 + ns=1;i=10158 + ns=1;i=10160 + ns=1;i=10188 + i=2307 + ns=1;i=1008 + + + + StateNumber + + i=68 + i=78 + ns=1;i=10074 + + + 7 + + + + Aborting + The Aborting state can be entered at any time in response to the Abort command or on the occurrence of a machine fault. + + ns=1;i=10077 + ns=1;i=10132 + ns=1;i=10162 + ns=1;i=10164 + ns=1;i=10166 + ns=1;i=10168 + ns=1;i=10170 + ns=1;i=10172 + ns=1;i=10174 + ns=1;i=10176 + ns=1;i=10178 + ns=1;i=10180 + ns=1;i=10182 + ns=1;i=10184 + ns=1;i=10186 + ns=1;i=10188 + i=2307 + ns=1;i=1008 + + + + StateNumber + + i=68 + i=78 + ns=1;i=10076 + + + 8 + + + + Aborted + This state maintains machine status information relevant to the Abort condition. + + ns=1;i=10079 + ns=1;i=10132 + ns=1;i=10134 + i=2307 + ns=1;i=1008 + + + + StateNumber + + i=68 + i=78 + ns=1;i=10078 + + + 9 + + + + Clearing + Clears faults that may have occurred when Aborting and are present in the Aborted state before proceeding to a Stopped state + + ns=1;i=10081 + ns=1;i=10134 + ns=1;i=10136 + i=2307 + ns=1;i=1008 + + + + StateNumber + + i=68 + i=78 + ns=1;i=10080 + + + 1 + + + + StoppedToResettingTransition + + ns=1;i=10083 + ns=1;i=10048 + ns=1;i=10050 + ns=1;i=9703 + ns=1;i=9445 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10082 + + + 1 + + + + ResettingTransition + + ns=1;i=10085 + ns=1;i=10050 + ns=1;i=10050 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10084 + + + 2 + + + + ResettingToIdleTransition + + ns=1;i=10087 + ns=1;i=10050 + ns=1;i=10052 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10086 + + + 3 + + + + IdleToStartingTransition + + ns=1;i=10089 + ns=1;i=10052 + ns=1;i=10054 + ns=1;i=9704 + ns=1;i=9701 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10088 + + + 4 + + + + StartingTransition + + ns=1;i=10091 + ns=1;i=10054 + ns=1;i=10054 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10090 + + + 5 + + + + StartingToExecuteTransition + + ns=1;i=10093 + ns=1;i=10054 + ns=1;i=10056 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10092 + + + 6 + + + + ExecuteToCompletingTransition + + ns=1;i=10095 + ns=1;i=10056 + ns=1;i=10058 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10094 + + + 7 + + + + CompletingTransition + + ns=1;i=10097 + ns=1;i=10058 + ns=1;i=10058 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10096 + + + 8 + + + + CompletingToCompleteTransition + + ns=1;i=10099 + ns=1;i=10058 + ns=1;i=10060 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10098 + + + 9 + + + + CompleteToStoppedTransition + + ns=1;i=10101 + ns=1;i=10060 + ns=1;i=10048 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10100 + + + 10 + + + + ExecuteToHoldingTransition + + ns=1;i=10103 + ns=1;i=10056 + ns=1;i=10068 + ns=1;i=9706 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10102 + + + 11 + + + + HoldingTransition + + ns=1;i=10105 + ns=1;i=10068 + ns=1;i=10068 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10104 + + + 12 + + + + HoldingToHeldTransition + + ns=1;i=10107 + ns=1;i=10068 + ns=1;i=10070 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10106 + + + 13 + + + + HeldToUnholdingTransition + + ns=1;i=10109 + ns=1;i=10070 + ns=1;i=10072 + ns=1;i=9707 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10108 + + + 14 + + + + UnholdingTransition + + ns=1;i=10111 + ns=1;i=10072 + ns=1;i=10072 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10110 + + + 15 + + + + UnholdingToHoldingTransition + + ns=1;i=10113 + ns=1;i=10072 + ns=1;i=10068 + ns=1;i=9706 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10112 + + + 16 + + + + UnholdingToExecuteTransition + + ns=1;i=10115 + ns=1;i=10072 + ns=1;i=10056 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10114 + + + 17 + + + + ExecuteToSuspendingTransition + + ns=1;i=10117 + ns=1;i=10056 + ns=1;i=10062 + ns=1;i=9708 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10116 + + + 18 + + + + SuspendingTransition + + ns=1;i=10119 + ns=1;i=10062 + ns=1;i=10062 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10118 + + + 19 + + + + SuspendingToSuspendedTransition + + ns=1;i=10121 + ns=1;i=10062 + ns=1;i=10064 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10120 + + + 20 + + + + SuspendedToUnsuspendingTransition + + ns=1;i=10123 + ns=1;i=10064 + ns=1;i=10066 + ns=1;i=9709 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10122 + + + 21 + + + + UnsuspendingTransition + + ns=1;i=10125 + ns=1;i=10066 + ns=1;i=10066 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10124 + + + 22 + + + + UnsuspendingToSuspendingTransition + + ns=1;i=10127 + ns=1;i=10066 + ns=1;i=10062 + ns=1;i=9708 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10126 + + + 23 + + + + UnsuspendingToExecuteTransition + + ns=1;i=10129 + ns=1;i=10066 + ns=1;i=10056 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10128 + + + 24 + + + + StoppingToStoppedTransition + + ns=1;i=10131 + ns=1;i=10074 + ns=1;i=10048 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10130 + + + 25 + + + + AbortingToAbortedTransition + + ns=1;i=10133 + ns=1;i=10076 + ns=1;i=10078 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10132 + + + 26 + + + + AbortedToClearingTransition + + ns=1;i=10135 + ns=1;i=10078 + ns=1;i=10080 + ns=1;i=9711 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10134 + + + 27 + + + + ClearingToStoppedTransition + + ns=1;i=10137 + ns=1;i=10080 + ns=1;i=10048 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10136 + + + 28 + + + + ResettingToStoppingTransition + + ns=1;i=10139 + ns=1;i=10050 + ns=1;i=10074 + ns=1;i=9705 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10138 + + + 29 + + + + IdleToStoppingTransition + + ns=1;i=10141 + ns=1;i=10052 + ns=1;i=10074 + ns=1;i=9705 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10140 + + + 30 + + + + StartingToStoppingTransition + + ns=1;i=10143 + ns=1;i=10054 + ns=1;i=10074 + ns=1;i=9705 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10142 + + + 31 + + + + ExecuteToStoppingTransition + + ns=1;i=10145 + ns=1;i=10056 + ns=1;i=10074 + ns=1;i=9705 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10144 + + + 32 + + + + CompletingToStoppingTransition + + ns=1;i=10147 + ns=1;i=10058 + ns=1;i=10074 + ns=1;i=9705 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10146 + + + 33 + + + + CompleteToStoppingTransition + + ns=1;i=10149 + ns=1;i=10060 + ns=1;i=10074 + ns=1;i=9705 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10148 + + + 34 + + + + SuspendingToStoppingTransition + + ns=1;i=10151 + ns=1;i=10062 + ns=1;i=10074 + ns=1;i=9705 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10150 + + + 35 + + + + SuspendedToStoppingTransition + + ns=1;i=10153 + ns=1;i=10064 + ns=1;i=10074 + ns=1;i=9705 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10152 + + + 36 + + + + UnsuspendingToStoppingTransition + + ns=1;i=10155 + ns=1;i=10066 + ns=1;i=10074 + ns=1;i=9705 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10154 + + + 37 + + + + HoldingToStoppingTransition + + ns=1;i=10157 + ns=1;i=10068 + ns=1;i=10074 + ns=1;i=9705 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10156 + + + 38 + + + + HeldToStoppingTransition + + ns=1;i=10159 + ns=1;i=10070 + ns=1;i=10074 + ns=1;i=9705 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10158 + + + 39 + + + + UnholdingToStoppingTransition + + ns=1;i=10161 + ns=1;i=10072 + ns=1;i=10074 + ns=1;i=9705 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10160 + + + 40 + + + + StoppedToAbortingTransition + + ns=1;i=10163 + ns=1;i=10048 + ns=1;i=10076 + ns=1;i=9710 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10162 + + + 41 + + + + ResettingToAbortingTransition + + ns=1;i=10165 + ns=1;i=10050 + ns=1;i=10076 + ns=1;i=9710 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10164 + + + 42 + + + + IdleToAbortingTransition + + ns=1;i=10167 + ns=1;i=10052 + ns=1;i=10076 + ns=1;i=9710 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10166 + + + 43 + + + + StartingToAbortingTransition + + ns=1;i=10169 + ns=1;i=10054 + ns=1;i=10076 + ns=1;i=9710 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10168 + + + 44 + + + + ExecuteToAbortingTransition + + ns=1;i=10171 + ns=1;i=10056 + ns=1;i=10076 + ns=1;i=9710 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10170 + + + 45 + + + + CompletingToAbortingTransition + + ns=1;i=10173 + ns=1;i=10058 + ns=1;i=10076 + ns=1;i=9710 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10172 + + + 46 + + + + CompleteToAbortingTransition + + ns=1;i=10175 + ns=1;i=10060 + ns=1;i=10076 + ns=1;i=9710 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10174 + + + 47 + + + + SuspendingToAbortingTransition + + ns=1;i=10177 + ns=1;i=10062 + ns=1;i=10076 + ns=1;i=9710 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10176 + + + 48 + + + + SuspendedToAbortingTransition + + ns=1;i=10179 + ns=1;i=10064 + ns=1;i=10076 + ns=1;i=9710 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10178 + + + 49 + + + + UnsuspendingToAbortingTransition + + ns=1;i=10181 + ns=1;i=10066 + ns=1;i=10076 + ns=1;i=9710 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10180 + + + 50 + + + + HoldingToAbortingTransition + + ns=1;i=10183 + ns=1;i=10068 + ns=1;i=10076 + ns=1;i=9710 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10182 + + + 51 + + + + HeldToAbortingTransition + + ns=1;i=10185 + ns=1;i=10070 + ns=1;i=10076 + ns=1;i=9710 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10184 + + + 52 + + + + UnholdingToAbortingTransition + + ns=1;i=10187 + ns=1;i=10072 + ns=1;i=10076 + ns=1;i=9710 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10186 + + + 53 + + + + StoppingToAbortingTransition + + ns=1;i=10189 + ns=1;i=10074 + ns=1;i=10076 + ns=1;i=9710 + i=2310 + ns=1;i=1008 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10188 + + + 54 + + + + AnalyserChannel_OperatingModeExecuteSubStateMachineType + + ns=1;i=10201 + ns=1;i=10203 + ns=1;i=10205 + ns=1;i=10207 + ns=1;i=10209 + ns=1;i=10211 + ns=1;i=10213 + ns=1;i=10215 + ns=1;i=10217 + ns=1;i=10219 + ns=1;i=10221 + ns=1;i=10223 + ns=1;i=10225 + ns=1;i=10227 + ns=1;i=10229 + ns=1;i=10231 + ns=1;i=10233 + ns=1;i=10235 + ns=1;i=10237 + ns=1;i=10239 + ns=1;i=10241 + ns=1;i=10243 + ns=1;i=10245 + ns=1;i=10247 + ns=1;i=10249 + ns=1;i=10251 + ns=1;i=10253 + ns=1;i=10255 + ns=1;i=10257 + ns=1;i=10259 + ns=1;i=10261 + ns=1;i=10263 + ns=1;i=10265 + ns=1;i=10267 + ns=1;i=10269 + ns=1;i=10271 + ns=1;i=10273 + ns=1;i=10275 + ns=1;i=10277 + ns=1;i=10279 + ns=1;i=10281 + ns=1;i=10283 + ns=1;i=10285 + ns=1;i=10287 + ns=1;i=10289 + ns=1;i=10291 + ns=1;i=10293 + ns=1;i=10295 + ns=1;i=10297 + ns=1;i=10299 + ns=1;i=10301 + ns=1;i=10303 + ns=1;i=10305 + ns=1;i=10307 + ns=1;i=10309 + ns=1;i=10311 + ns=1;i=10313 + ns=1;i=10315 + i=2771 + + + + SelectExecutionCycle + This pseudo-state is used to decide which execution path shall be taken. + + ns=1;i=10202 + ns=1;i=10241 + ns=1;i=10257 + ns=1;i=10273 + ns=1;i=10289 + ns=1;i=10297 + ns=1;i=10315 + i=2309 + ns=1;i=1009 + + + + StateNumber + + i=68 + i=78 + ns=1;i=10201 + + + 100 + + + + WaitForCalibrationTrigger + Wait until the analyser channel is ready to perform the Calibration acquisition cycle + + ns=1;i=10204 + ns=1;i=10241 + ns=1;i=10243 + i=2307 + ns=1;i=1009 + + + + StateNumber + + i=68 + i=78 + ns=1;i=10203 + + + 200 + + + + ExtractCalibrationSample + Collect / setup the sampling system to perform the acquisition cycle of a Calibration cycle + + ns=1;i=10206 + ns=1;i=10243 + ns=1;i=10245 + ns=1;i=10245 + ns=1;i=10247 + i=2307 + ns=1;i=1009 + + + + StateNumber + + i=68 + i=78 + ns=1;i=10205 + + + 300 + + + + PrepareCalibrationSample + Prepare the Calibration sample for the AnalyseCalibrationSample state + + ns=1;i=10208 + ns=1;i=10247 + ns=1;i=10249 + ns=1;i=10249 + ns=1;i=10251 + i=2307 + ns=1;i=1009 + + + + StateNumber + + i=68 + i=78 + ns=1;i=10207 + + + 400 + + + + AnalyseCalibrationSample + Perform the analysis of the Calibration Sample + + ns=1;i=10210 + ns=1;i=10251 + ns=1;i=10253 + ns=1;i=10253 + ns=1;i=10255 + i=2307 + ns=1;i=1009 + + + + StateNumber + + i=68 + i=78 + ns=1;i=10209 + + + 500 + + + + WaitForValidationTrigger + Wait until the analyser channel is ready to perform the Validation acquisition cycle + + ns=1;i=10212 + ns=1;i=10257 + ns=1;i=10259 + i=2307 + ns=1;i=1009 + + + + StateNumber + + i=68 + i=78 + ns=1;i=10211 + + + 600 + + + + ExtractValidationSample + Collect / setup the sampling system to perform the acquisition cycle of a Validation cycle + + ns=1;i=10214 + ns=1;i=10259 + ns=1;i=10261 + ns=1;i=10261 + ns=1;i=10263 + i=2307 + ns=1;i=1009 + + + + StateNumber + + i=68 + i=78 + ns=1;i=10213 + + + 700 + + + + PrepareValidationSample + Prepare the Validation sample for the AnalyseValidationSample state + + ns=1;i=10216 + ns=1;i=10263 + ns=1;i=10265 + ns=1;i=10265 + ns=1;i=10267 + i=2307 + ns=1;i=1009 + + + + StateNumber + + i=68 + i=78 + ns=1;i=10215 + + + 800 + + + + AnalyseValidationSample + Perform the analysis of the Validation Sample + + ns=1;i=10218 + ns=1;i=10267 + ns=1;i=10269 + ns=1;i=10269 + ns=1;i=10271 + i=2307 + ns=1;i=1009 + + + + StateNumber + + i=68 + i=78 + ns=1;i=10217 + + + 900 + + + + WaitForSampleTrigger + Wait until the analyser channel is ready to perform the Sample acquisition cycle + + ns=1;i=10220 + ns=1;i=10273 + ns=1;i=10275 + i=2307 + ns=1;i=1009 + + + + StateNumber + + i=68 + i=78 + ns=1;i=10219 + + + 1000 + + + + ExtractSample + Collect the Sample from the process + + ns=1;i=10222 + ns=1;i=10275 + ns=1;i=10277 + ns=1;i=10277 + ns=1;i=10279 + i=2307 + ns=1;i=1009 + + + + StateNumber + + i=68 + i=78 + ns=1;i=10221 + + + 1100 + + + + PrepareSample + Prepare the Sample for the AnalyseSample state + + ns=1;i=10224 + ns=1;i=10279 + ns=1;i=10281 + ns=1;i=10281 + ns=1;i=10283 + i=2307 + ns=1;i=1009 + + + + StateNumber + + i=68 + i=78 + ns=1;i=10223 + + + 1200 + + + + AnalyseSample + Perform the analysis of the Sample + + ns=1;i=10226 + ns=1;i=10283 + ns=1;i=10285 + ns=1;i=10285 + ns=1;i=10287 + i=2307 + ns=1;i=1009 + + + + StateNumber + + i=68 + i=78 + ns=1;i=10225 + + + 1300 + + + + WaitForDiagnosticTrigger + Wait until the analyser channel is ready to perform the diagnostic cycle, + + ns=1;i=10228 + ns=1;i=10289 + ns=1;i=10291 + i=2307 + ns=1;i=1009 + + + + StateNumber + + i=68 + i=78 + ns=1;i=10227 + + + 1400 + + + + Diagnostic + Perform the diagnostic cycle. + + ns=1;i=10230 + ns=1;i=10291 + ns=1;i=10293 + ns=1;i=10293 + ns=1;i=10295 + i=2307 + ns=1;i=1009 + + + + StateNumber + + i=68 + i=78 + ns=1;i=10229 + + + 1500 + + + + WaitForCleaningTrigger + Wait until the analyser channel is ready to perform the cleaning cycle, + + ns=1;i=10232 + ns=1;i=10297 + ns=1;i=10299 + i=2307 + ns=1;i=1009 + + + + StateNumber + + i=68 + i=78 + ns=1;i=10231 + + + 1600 + + + + Cleaning + Perform the cleaning cycle. + + ns=1;i=10234 + ns=1;i=10299 + ns=1;i=10301 + ns=1;i=10301 + ns=1;i=10303 + i=2307 + ns=1;i=1009 + + + + StateNumber + + i=68 + i=78 + ns=1;i=10233 + + + 1700 + + + + PublishResults + Publish the results of the previous acquisition cycle + + ns=1;i=10236 + ns=1;i=10255 + ns=1;i=10271 + ns=1;i=10287 + ns=1;i=10295 + ns=1;i=10303 + ns=1;i=10305 + ns=1;i=10307 + i=2307 + ns=1;i=1009 + + + + StateNumber + + i=68 + i=78 + ns=1;i=10235 + + + 1800 + + + + EjectGrabSample + The Sample that was just analysed is ejected from the system to allow the operator or another system to grab it + + ns=1;i=10238 + ns=1;i=10307 + ns=1;i=10309 + ns=1;i=10309 + ns=1;i=10311 + i=2307 + ns=1;i=1009 + + + + StateNumber + + i=68 + i=78 + ns=1;i=10237 + + + 1900 + + + + CleanupSamplingSystem + Cleanup the sampling sub-system to be ready for the next acquisition + + ns=1;i=10240 + ns=1;i=10305 + ns=1;i=10311 + ns=1;i=10313 + ns=1;i=10313 + ns=1;i=10315 + i=2307 + ns=1;i=1009 + + + + StateNumber + + i=68 + i=78 + ns=1;i=10239 + + + 2000 + + + + SelectExecutionCycleToWaitForCalibrationTriggerTransition + + ns=1;i=10242 + ns=1;i=10201 + ns=1;i=10203 + i=2310 + ns=1;i=1009 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10241 + + + 1 + + + + WaitForCalibrationTriggerToExtractCalibrationSampleTransition + + ns=1;i=10244 + ns=1;i=10203 + ns=1;i=10205 + i=2310 + ns=1;i=1009 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10243 + + + 2 + + + + ExtractCalibrationSampleTransition + + ns=1;i=10246 + ns=1;i=10205 + ns=1;i=10205 + i=2310 + ns=1;i=1009 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10245 + + + 3 + + + + ExtractCalibrationSampleToPrepareCalibrationSampleTransition + + ns=1;i=10248 + ns=1;i=10205 + ns=1;i=10207 + i=2310 + ns=1;i=1009 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10247 + + + 4 + + + + PrepareCalibrationSampleTransition + + ns=1;i=10250 + ns=1;i=10207 + ns=1;i=10207 + i=2310 + ns=1;i=1009 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10249 + + + 5 + + + + PrepareCalibrationSampleToAnalyseCalibrationSampleTransition + + ns=1;i=10252 + ns=1;i=10207 + ns=1;i=10209 + i=2310 + ns=1;i=1009 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10251 + + + 6 + + + + AnalyseCalibrationSampleTransition + + ns=1;i=10254 + ns=1;i=10209 + ns=1;i=10209 + i=2310 + ns=1;i=1009 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10253 + + + 7 + + + + AnalyseCalibrationSampleToPublishResultsTransition + + ns=1;i=10256 + ns=1;i=10209 + ns=1;i=10235 + i=2310 + ns=1;i=1009 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10255 + + + 8 + + + + SelectExecutionCycleToWaitForValidationTriggerTransition + + ns=1;i=10258 + ns=1;i=10201 + ns=1;i=10211 + i=2310 + ns=1;i=1009 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10257 + + + 9 + + + + WaitForValidationTriggerToExtractValidationSampleTransition + + ns=1;i=10260 + ns=1;i=10211 + ns=1;i=10213 + i=2310 + ns=1;i=1009 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10259 + + + 10 + + + + ExtractValidationSampleTransition + + ns=1;i=10262 + ns=1;i=10213 + ns=1;i=10213 + i=2310 + ns=1;i=1009 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10261 + + + 11 + + + + ExtractValidationSampleToPrepareValidationSampleTransition + + ns=1;i=10264 + ns=1;i=10213 + ns=1;i=10215 + i=2310 + ns=1;i=1009 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10263 + + + 12 + + + + PrepareValidationSampleTransition + + ns=1;i=10266 + ns=1;i=10215 + ns=1;i=10215 + i=2310 + ns=1;i=1009 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10265 + + + 13 + + + + PrepareValidationSampleToAnalyseValidationSampleTransition + + ns=1;i=10268 + ns=1;i=10215 + ns=1;i=10217 + i=2310 + ns=1;i=1009 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10267 + + + 14 + + + + AnalyseValidationSampleTransition + + ns=1;i=10270 + ns=1;i=10217 + ns=1;i=10217 + i=2310 + ns=1;i=1009 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10269 + + + 15 + + + + AnalyseValidationSampleToPublishResultsTransition + + ns=1;i=10272 + ns=1;i=10217 + ns=1;i=10235 + i=2310 + ns=1;i=1009 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10271 + + + 16 + + + + SelectExecutionCycleToWaitForSampleTriggerTransition + + ns=1;i=10274 + ns=1;i=10201 + ns=1;i=10219 + i=2310 + ns=1;i=1009 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10273 + + + 17 + + + + WaitForSampleTriggerToExtractSampleTransition + + ns=1;i=10276 + ns=1;i=10219 + ns=1;i=10221 + i=2310 + ns=1;i=1009 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10275 + + + 18 + + + + ExtractSampleTransition + + ns=1;i=10278 + ns=1;i=10221 + ns=1;i=10221 + i=2310 + ns=1;i=1009 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10277 + + + 19 + + + + ExtractSampleToPrepareSampleTransition + + ns=1;i=10280 + ns=1;i=10221 + ns=1;i=10223 + i=2310 + ns=1;i=1009 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10279 + + + 20 + + + + PrepareSampleTransition + + ns=1;i=10282 + ns=1;i=10223 + ns=1;i=10223 + i=2310 + ns=1;i=1009 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10281 + + + 21 + + + + PrepareSampleToAnalyseSampleTransition + + ns=1;i=10284 + ns=1;i=10223 + ns=1;i=10225 + i=2310 + ns=1;i=1009 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10283 + + + 22 + + + + AnalyseSampleTransition + + ns=1;i=10286 + ns=1;i=10225 + ns=1;i=10225 + i=2310 + ns=1;i=1009 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10285 + + + 23 + + + + AnalyseSampleToPublishResultsTransition + + ns=1;i=10288 + ns=1;i=10225 + ns=1;i=10235 + i=2310 + ns=1;i=1009 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10287 + + + 24 + + + + SelectExecutionCycleToWaitForDiagnosticTriggerTransition + + ns=1;i=10290 + ns=1;i=10201 + ns=1;i=10227 + i=2310 + ns=1;i=1009 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10289 + + + 25 + + + + WaitForDiagnosticTriggerToDiagnosticTransition + + ns=1;i=10292 + ns=1;i=10227 + ns=1;i=10229 + i=2310 + ns=1;i=1009 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10291 + + + 26 + + + + DiagnosticTransition + + ns=1;i=10294 + ns=1;i=10229 + ns=1;i=10229 + i=2310 + ns=1;i=1009 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10293 + + + 27 + + + + DiagnosticToPublishResultsTransition + + ns=1;i=10296 + ns=1;i=10229 + ns=1;i=10235 + i=2310 + ns=1;i=1009 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10295 + + + 28 + + + + SelectExecutionCycleToWaitForCleaningTriggerTransition + + ns=1;i=10298 + ns=1;i=10201 + ns=1;i=10231 + i=2310 + ns=1;i=1009 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10297 + + + 29 + + + + WaitForCleaningTriggerToCleaningTransition + + ns=1;i=10300 + ns=1;i=10231 + ns=1;i=10233 + i=2310 + ns=1;i=1009 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10299 + + + 30 + + + + CleaningTransition + + ns=1;i=10302 + ns=1;i=10233 + ns=1;i=10233 + i=2310 + ns=1;i=1009 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10301 + + + 31 + + + + CleaningToPublishResultsTransition + + ns=1;i=10304 + ns=1;i=10233 + ns=1;i=10235 + i=2310 + ns=1;i=1009 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10303 + + + 32 + + + + PublishResultsToCleanupSamplingSystemTransition + + ns=1;i=10306 + ns=1;i=10235 + ns=1;i=10239 + i=2310 + ns=1;i=1009 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10305 + + + 33 + + + + PublishResultsToEjectGrabSampleTransition + + ns=1;i=10308 + ns=1;i=10235 + ns=1;i=10237 + i=2310 + ns=1;i=1009 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10307 + + + 34 + + + + EjectGrabSampleTransition + + ns=1;i=10310 + ns=1;i=10237 + ns=1;i=10237 + i=2310 + ns=1;i=1009 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10309 + + + 35 + + + + EjectGrabSampleToCleanupSamplingSystemTransition + + ns=1;i=10312 + ns=1;i=10237 + ns=1;i=10239 + i=2310 + ns=1;i=1009 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10311 + + + 36 + + + + CleanupSamplingSystemTransition + + ns=1;i=10314 + ns=1;i=10239 + ns=1;i=10239 + i=2310 + ns=1;i=1009 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10313 + + + 37 + + + + CleanupSamplingSystemToSelectExecutionCycleTransition + + ns=1;i=10316 + ns=1;i=10239 + ns=1;i=10201 + i=2310 + ns=1;i=1009 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=10315 + + + 38 + + + + StreamType + + ns=1;i=10317 + ns=1;i=10444 + ns=1;i=10430 + ns=1;i=10432 + ns=1;i=10434 + ns=1;i=10436 + ns=1;i=10438 + ns=1;i=10440 + ns=1;i=10442 + ns=2;i=1001 + + + + ParameterSet + Flat list of Parameters + + ns=1;i=10339 + ns=1;i=10342 + ns=1;i=10345 + ns=1;i=10348 + ns=1;i=10351 + ns=1;i=10354 + ns=1;i=10357 + ns=1;i=10363 + ns=1;i=10366 + ns=1;i=10369 + ns=1;i=10373 + ns=1;i=10376 + ns=1;i=10382 + ns=1;i=10385 + ns=1;i=10388 + ns=1;i=10391 + ns=1;i=10394 + ns=1;i=10397 + ns=1;i=10400 + ns=1;i=10403 + ns=1;i=10406 + ns=1;i=10409 + ns=1;i=10412 + ns=1;i=10415 + ns=1;i=10418 + ns=1;i=10421 + ns=1;i=10424 + ns=1;i=10427 + i=58 + i=80 + ns=1;i=1010 + + + + IsEnabled + True if this stream maybe used to perform acquisition + + ns=1;i=10430 + i=2365 + i=78 + ns=1;i=10317 + + + + IsForced + True if this stream is forced, which means that is the only Stream on this AnalyserChannel that can be used to perform acquisition + + ns=1;i=10430 + i=2365 + i=80 + ns=1;i=10317 + + + + DiagnosticStatus + Stream health status + + ns=1;i=10432 + i=2365 + i=78 + ns=1;i=10317 + + + + LastCalibrationTime + Time at which the last calibration was run + + ns=1;i=10432 + i=2365 + i=80 + ns=1;i=10317 + + + + LastValidationTime + Time at which the last validation was run + + ns=1;i=10432 + i=2365 + i=80 + ns=1;i=10317 + + + + LastSampleTime + Time at which the last sample was acquired + + ns=1;i=10432 + i=2365 + i=78 + ns=1;i=10317 + + + + TimeBetweenSamples + Number of milliseconds between two consecutive starts of acquisition + + ns=1;i=10361 + ns=1;i=10434 + i=2368 + i=80 + ns=1;i=10317 + + + + EURange + + i=68 + i=78 + ns=1;i=10357 + + + + IsActive + True if this stream is actually running, acquiring data + + ns=1;i=10436 + i=2365 + i=78 + ns=1;i=10317 + + + + ExecutionCycle + Indicates which Execution cycle is in progress + + ns=1;i=10436 + i=2365 + i=78 + ns=1;i=10317 + + + + ExecutionCycleSubcode + Indicates which Execution cycle subcode is in progress + + ns=1;i=10372 + ns=1;i=10436 + i=2376 + i=78 + ns=1;i=10317 + + + + EnumStrings + + i=68 + i=78 + ns=1;i=10369 + + + + Progress + Indicates the progress of an acquisition in terms of percentage of completion. Its value shall be between 0 and 100. + + ns=1;i=10436 + i=2365 + i=78 + ns=1;i=10317 + + + + AcquisitionCounter + Simple counter incremented after each Sampling acquisition performed on this Stream + + ns=1;i=10380 + ns=1;i=10438 + i=2368 + i=78 + ns=1;i=10317 + + + + EURange + + i=68 + i=78 + ns=1;i=10376 + + + + AcquisitionResultStatus + Quality of the acquisition + + ns=1;i=10438 + i=2365 + i=78 + ns=1;i=10317 + + + + RawData + Raw data produced as a result of data acquisition on the Stream + + ns=1;i=10438 + i=2365 + i=80 + ns=1;i=10317 + + + + ScaledData + Scaled data produced as a result of data acquisition on the Stream and application of the analyser model + + ns=1;i=10438 + i=2365 + i=78 + ns=1;i=10317 + + + + Offset + Difference in milliseconds between the start of sample extraction and the start of the analysis. + + ns=1;i=10438 + i=2365 + i=80 + ns=1;i=10317 + + + + AcquisitionEndTime + The end time of the AnalyseSample or AnalyseCalibrationSample or AnalyseValidationSample state of the AnalyserChannel_OperatingModeExecuteSubStateMachine state machine + + ns=1;i=10438 + i=2365 + i=78 + ns=1;i=10317 + + + + CampaignId + Defines the current campaign + + ns=1;i=10442 + i=2365 + i=80 + ns=1;i=10317 + + + + BatchId + Defines the current batch + + ns=1;i=10442 + i=2365 + i=80 + ns=1;i=10317 + + + + SubBatchId + Defines the current sub-batch + + ns=1;i=10442 + i=2365 + i=80 + ns=1;i=10317 + + + + LotId + Defines the current lot + + ns=1;i=10442 + i=2365 + i=80 + ns=1;i=10317 + + + + MaterialId + Defines the current material + + ns=1;i=10442 + i=2365 + i=80 + ns=1;i=10317 + + + + Process + Current Process name + + ns=1;i=10442 + i=2365 + i=80 + ns=1;i=10317 + + + + Unit + Current Unit name + + ns=1;i=10442 + i=2365 + i=80 + ns=1;i=10317 + + + + Operation + Current Operation name + + ns=1;i=10442 + i=2365 + i=80 + ns=1;i=10317 + + + + Phase + Current Phase name + + ns=1;i=10442 + i=2365 + i=80 + ns=1;i=10317 + + + + UserId + Login name of the user who is logged on at the device console + + ns=1;i=10442 + i=2365 + i=80 + ns=1;i=10317 + + + + SampleId + Identifier for the sample + + ns=1;i=10442 + i=2365 + i=80 + ns=1;i=10317 + + + + <GroupIdentifier> + Group definition + + ns=2;i=1005 + i=11508 + ns=1;i=1010 + + + + Configuration + + ns=1;i=10339 + ns=1;i=10342 + ns=2;i=1005 + i=78 + ns=1;i=1010 + + + + Status + + ns=1;i=10345 + ns=1;i=10348 + ns=1;i=10351 + ns=1;i=10354 + ns=2;i=1005 + i=78 + ns=1;i=1010 + + + + AcquisitionSettings + + ns=1;i=10357 + ns=2;i=1005 + i=78 + ns=1;i=1010 + + + + AcquisitionStatus + + ns=1;i=10363 + ns=1;i=10366 + ns=1;i=10369 + ns=1;i=10373 + ns=2;i=1005 + i=78 + ns=1;i=1010 + + + + AcquisitionData + + ns=1;i=10376 + ns=1;i=10382 + ns=1;i=10385 + ns=1;i=10388 + ns=1;i=10391 + ns=1;i=10394 + ns=2;i=1005 + i=78 + ns=1;i=1010 + + + + ChemometricModelSettings + + ns=2;i=1005 + i=78 + ns=1;i=1010 + + + + Context + + ns=1;i=10397 + ns=1;i=10400 + ns=1;i=10403 + ns=1;i=10406 + ns=1;i=10409 + ns=1;i=10412 + ns=1;i=10415 + ns=1;i=10418 + ns=1;i=10421 + ns=1;i=10424 + ns=1;i=10427 + ns=2;i=1005 + i=78 + ns=1;i=1010 + + + + SpectrometerDeviceStreamType + + ns=1;i=10446 + ns=1;i=10559 + ns=1;i=10563 + ns=1;i=10565 + ns=1;i=10567 + ns=1;i=10638 + ns=1;i=1010 + + + + ParameterSet + Flat list of Parameters + + ns=1;i=10468 + ns=1;i=10474 + ns=1;i=10483 + ns=1;i=10492 + ns=1;i=10495 + ns=1;i=10498 + ns=1;i=10502 + ns=1;i=10505 + ns=1;i=10511 + ns=1;i=10517 + ns=1;i=10523 + ns=1;i=10575 + ns=1;i=10584 + ns=1;i=10593 + ns=1;i=10596 + ns=1;i=10599 + ns=1;i=10602 + ns=1;i=10605 + ns=1;i=10608 + ns=1;i=10611 + ns=1;i=10614 + ns=1;i=10617 + ns=1;i=10620 + ns=1;i=10629 + i=58 + i=80 + ns=1;i=1030 + + + + IsEnabled + True if this stream maybe used to perform acquisition + + ns=1;i=10559 + i=2365 + i=78 + ns=1;i=10446 + + + + DiagnosticStatus + Stream health status + + i=2365 + i=78 + ns=1;i=10446 + + + + LastSampleTime + Time at which the last sample was acquired + + i=2365 + i=78 + ns=1;i=10446 + + + + IsActive + True if this stream is actually running, acquiring data + + ns=1;i=10565 + i=2365 + i=78 + ns=1;i=10446 + + + + ExecutionCycle + Indicates which Execution cycle is in progress + + ns=1;i=10565 + i=2365 + i=78 + ns=1;i=10446 + + + + ExecutionCycleSubcode + Indicates which Execution cycle subcode is in progress + + ns=1;i=10501 + ns=1;i=10565 + i=2376 + i=78 + ns=1;i=10446 + + + + EnumStrings + + i=68 + i=78 + ns=1;i=10498 + + + + Progress + Indicates the progress of an acquisition in terms of percentage of completion. Its value shall be between 0 and 100. + + ns=1;i=10565 + i=2365 + i=78 + ns=1;i=10446 + + + + AcquisitionCounter + Simple counter incremented after each Sampling acquisition performed on this Stream + + ns=1;i=10509 + ns=1;i=10567 + i=2368 + i=78 + ns=1;i=10446 + + + + EURange + + i=68 + i=78 + ns=1;i=10505 + + + + AcquisitionResultStatus + Quality of the acquisition + + ns=1;i=10567 + i=2365 + i=78 + ns=1;i=10446 + + + + ScaledData + Scaled data produced as a result of data acquisition on the Stream and application of the analyser model + + ns=1;i=10567 + i=2365 + i=78 + ns=1;i=10446 + + + + AcquisitionEndTime + The end time of the AnalyseSample or AnalyseCalibrationSample or AnalyseValidationSample state of the AnalyserChannel_OperatingModeExecuteSubStateMachine state machine + + ns=1;i=10567 + i=2365 + i=78 + ns=1;i=10446 + + + + ActiveBackground + + ns=1;i=10579 + ns=1;i=10580 + ns=1;i=10581 + ns=1;i=10582 + ns=1;i=10583 + ns=1;i=10559 + i=12029 + i=78 + ns=1;i=10446 + + + + EURange + + i=68 + i=78 + ns=1;i=10575 + + + + EngineeringUnits + + i=68 + i=78 + ns=1;i=10575 + + + + Title + + i=68 + i=78 + ns=1;i=10575 + + + + AxisScaleType + + i=68 + i=78 + ns=1;i=10575 + + + + XAxisDefinition + + i=68 + i=78 + ns=1;i=10575 + + + + ActiveBackground1 + + ns=1;i=10588 + ns=1;i=10589 + ns=1;i=10590 + ns=1;i=10591 + ns=1;i=10592 + ns=1;i=10559 + i=12029 + i=80 + ns=1;i=10446 + + + + EURange + + i=68 + i=78 + ns=1;i=10584 + + + + EngineeringUnits + + i=68 + i=78 + ns=1;i=10584 + + + + Title + + i=68 + i=78 + ns=1;i=10584 + + + + AxisScaleType + + i=68 + i=78 + ns=1;i=10584 + + + + XAxisDefinition + + i=68 + i=78 + ns=1;i=10584 + + + + SpectralRange + + ns=1;i=10563 + i=2365 + i=80 + ns=1;i=10446 + + + + Resolution + + ns=1;i=10563 + i=2365 + i=80 + ns=1;i=10446 + + + + RequestedNumberOfScans + + ns=1;i=10563 + i=2365 + i=80 + ns=1;i=10446 + + + + Gain + + ns=1;i=10563 + i=2365 + i=80 + ns=1;i=10446 + + + + TransmittanceCutoff + + ns=1;i=10563 + i=2365 + i=80 + ns=1;i=10446 + + + + AbsorbanceCutoff + + ns=1;i=10563 + i=2365 + i=80 + ns=1;i=10446 + + + + NumberOfScansDone + + ns=1;i=10565 + i=2365 + i=80 + ns=1;i=10446 + + + + TotalNumberOfScansDone + + ns=1;i=10567 + i=2365 + i=78 + ns=1;i=10446 + + + + BackgroundAcquisitionTime + + ns=1;i=10567 + i=2365 + i=78 + ns=1;i=10446 + + + + PendingBackground + + ns=1;i=10624 + ns=1;i=10625 + ns=1;i=10626 + ns=1;i=10627 + ns=1;i=10628 + ns=1;i=10567 + i=12029 + i=78 + ns=1;i=10446 + + + + EURange + + i=68 + i=78 + ns=1;i=10620 + + + + EngineeringUnits + + i=68 + i=78 + ns=1;i=10620 + + + + Title + + i=68 + i=78 + ns=1;i=10620 + + + + AxisScaleType + + i=68 + i=78 + ns=1;i=10620 + + + + XAxisDefinition + + i=68 + i=78 + ns=1;i=10620 + + + + PendingBackground1 + + ns=1;i=10633 + ns=1;i=10634 + ns=1;i=10635 + ns=1;i=10636 + ns=1;i=10637 + ns=1;i=10567 + i=12029 + i=80 + ns=1;i=10446 + + + + EURange + + i=68 + i=78 + ns=1;i=10629 + + + + EngineeringUnits + + i=68 + i=78 + ns=1;i=10629 + + + + Title + + i=68 + i=78 + ns=1;i=10629 + + + + AxisScaleType + + i=68 + i=78 + ns=1;i=10629 + + + + XAxisDefinition + + i=68 + i=78 + ns=1;i=10629 + + + + Configuration + + ns=1;i=10575 + ns=1;i=10584 + ns=2;i=1005 + i=78 + ns=1;i=1030 + + + + AcquisitionSettings + + ns=1;i=10593 + ns=1;i=10596 + ns=1;i=10599 + ns=1;i=10602 + ns=1;i=10605 + ns=1;i=10608 + ns=2;i=1005 + i=78 + ns=1;i=1030 + + + + AcquisitionStatus + + ns=1;i=10611 + ns=2;i=1005 + i=78 + ns=1;i=1030 + + + + AcquisitionData + + ns=1;i=10614 + ns=1;i=10617 + ns=1;i=10620 + ns=1;i=10629 + ns=2;i=1005 + i=78 + ns=1;i=1030 + + + + FactorySettings + + i=58 + i=78 + ns=1;i=1030 + + + + MassSpectrometerDeviceStreamType + + ns=1;i=1010 + + + + ParticleSizeMonitorDeviceStreamType + + ns=1;i=10768 + ns=1;i=10889 + ns=1;i=1010 + + + + ParameterSet + Flat list of Parameters + + ns=1;i=10790 + ns=1;i=10796 + ns=1;i=10805 + ns=1;i=10814 + ns=1;i=10817 + ns=1;i=10820 + ns=1;i=10824 + ns=1;i=10827 + ns=1;i=10833 + ns=1;i=10839 + ns=1;i=10845 + ns=1;i=10897 + ns=1;i=10906 + ns=1;i=10915 + i=58 + i=80 + ns=1;i=1032 + + + + IsEnabled + True if this stream maybe used to perform acquisition + + i=2365 + i=78 + ns=1;i=10768 + + + + DiagnosticStatus + Stream health status + + i=2365 + i=78 + ns=1;i=10768 + + + + LastSampleTime + Time at which the last sample was acquired + + i=2365 + i=78 + ns=1;i=10768 + + + + IsActive + True if this stream is actually running, acquiring data + + i=2365 + i=78 + ns=1;i=10768 + + + + ExecutionCycle + Indicates which Execution cycle is in progress + + i=2365 + i=78 + ns=1;i=10768 + + + + ExecutionCycleSubcode + Indicates which Execution cycle subcode is in progress + + ns=1;i=10823 + i=2376 + i=78 + ns=1;i=10768 + + + + EnumStrings + + i=68 + i=78 + ns=1;i=10820 + + + + Progress + Indicates the progress of an acquisition in terms of percentage of completion. Its value shall be between 0 and 100. + + i=2365 + i=78 + ns=1;i=10768 + + + + AcquisitionCounter + Simple counter incremented after each Sampling acquisition performed on this Stream + + ns=1;i=10831 + ns=1;i=10889 + i=2368 + i=78 + ns=1;i=10768 + + + + EURange + + i=68 + i=78 + ns=1;i=10827 + + + + AcquisitionResultStatus + Quality of the acquisition + + ns=1;i=10889 + i=2365 + i=78 + ns=1;i=10768 + + + + ScaledData + Scaled data produced as a result of data acquisition on the Stream and application of the analyser model + + ns=1;i=10889 + i=2365 + i=78 + ns=1;i=10768 + + + + AcquisitionEndTime + The end time of the AnalyseSample or AnalyseCalibrationSample or AnalyseValidationSample state of the AnalyserChannel_OperatingModeExecuteSubStateMachine state machine + + ns=1;i=10889 + i=2365 + i=78 + ns=1;i=10768 + + + + Background + + ns=1;i=10901 + ns=1;i=10902 + ns=1;i=10903 + ns=1;i=10904 + ns=1;i=10905 + ns=1;i=10889 + i=12029 + i=80 + ns=1;i=10768 + + + + EURange + + i=68 + i=78 + ns=1;i=10897 + + + + EngineeringUnits + + i=68 + i=78 + ns=1;i=10897 + + + + Title + + i=68 + i=78 + ns=1;i=10897 + + + + AxisScaleType + + i=68 + i=78 + ns=1;i=10897 + + + + XAxisDefinition + + i=68 + i=78 + ns=1;i=10897 + + + + SizeDistribution + + ns=1;i=10910 + ns=1;i=10911 + ns=1;i=10912 + ns=1;i=10913 + ns=1;i=10914 + ns=1;i=10889 + i=12029 + i=78 + ns=1;i=10768 + + + + EURange + + i=68 + i=78 + ns=1;i=10906 + + + + EngineeringUnits + + i=68 + i=78 + ns=1;i=10906 + + + + Title + + i=68 + i=78 + ns=1;i=10906 + + + + AxisScaleType + + i=68 + i=78 + ns=1;i=10906 + + + + XAxisDefinition + + i=68 + i=78 + ns=1;i=10906 + + + + BackgroundAcquisitionTime + + ns=1;i=10889 + i=2365 + i=78 + ns=1;i=10768 + + + + AcquisitionData + + ns=1;i=10897 + ns=1;i=10906 + ns=1;i=10915 + ns=2;i=1005 + i=78 + ns=1;i=1032 + + + + AcousticSpectrometerDeviceStreamType + + ns=1;i=1010 + + + + ChromatographDeviceStreamType + + ns=1;i=1010 + + + + MNRDeviceStreamType + + ns=1;i=1010 + + + + SpectrometerDeviceType + + ns=1;i=11305 + ns=1;i=11411 + ns=1;i=1001 + + + + ParameterSet + Flat list of Parameters + + ns=1;i=11384 + ns=1;i=11551 + i=58 + i=80 + ns=1;i=1011 + + + + DiagnosticStatus + General health status of the analyser + + i=2365 + i=78 + ns=1;i=11305 + + + + SpectralRange + + i=2365 + i=80 + ns=1;i=11305 + + + + FactorySettings + + ns=2;i=1005 + i=78 + ns=1;i=1011 + + + + ParticleSizeMonitorDeviceType + + ns=1;i=1001 + + + + ChromatographDeviceType + + ns=1;i=1001 + + + + MassSpectrometerDeviceType + + ns=1;i=1001 + + + + AcousticSpectrometerDeviceType + + ns=1;i=1001 + + + + NMRDeviceType + + ns=1;i=1001 + + + + AccessorySlotType + Organizes zero or more Accessory objects identified by "AccessoryIdentifier" which represent Accessories currently being used on that AccessorySlot. + + ns=1;i=12786 + ns=1;i=12787 + ns=1;i=12788 + ns=1;i=12800 + ns=2;i=1004 + + + + IsHotSwappable + True if an accessory can be inserted in the accessory slot while it is powered + + i=68 + i=78 + ns=1;i=1017 + + + + IsEnabled + True if this accessory slot is capable of accepting an accessory in it + + i=68 + i=78 + ns=1;i=1017 + + + + AccessorySlotStateMachine + + ns=1;i=12789 + ns=1;i=1018 + i=78 + ns=1;i=1017 + + + + CurrentState + + ns=1;i=12790 + i=2760 + i=78 + ns=1;i=12788 + + + + Id + + i=68 + i=78 + ns=1;i=12789 + + + + <AccessoryIdentifier> + Accessory definition + + ns=1;i=12821 + ns=1;i=12823 + ns=1;i=12825 + ns=1;i=12827 + ns=1;i=12828 + ns=1;i=1019 + i=11508 + ns=1;i=1017 + + + + Configuration + + ns=2;i=1005 + i=78 + ns=1;i=12800 + + + + Status + + ns=2;i=1005 + i=78 + ns=1;i=12800 + + + + FactorySettings + + ns=2;i=1005 + i=78 + ns=1;i=12800 + + + + IsHotSwappable + True if this accessory can be inserted in the accessory slot while it is powered + + i=68 + i=78 + ns=1;i=12800 + + + + IsReady + True if this accessory is ready for use + + i=68 + i=78 + ns=1;i=12800 + + + + AccessorySlotStateMachineType + Describes the behaviour of an AccessorySlot when a physical accessory is inserted or removed. + + ns=1;i=12840 + ns=1;i=12842 + ns=1;i=12844 + ns=1;i=12846 + ns=1;i=12848 + ns=1;i=12850 + ns=1;i=12852 + ns=1;i=12854 + ns=1;i=12856 + ns=1;i=12858 + ns=1;i=12860 + ns=1;i=12862 + ns=1;i=12864 + ns=1;i=12866 + ns=1;i=12868 + ns=1;i=12870 + ns=1;i=12872 + ns=1;i=12874 + i=2771 + + + + Powerup + The AccessorySlot is in its power-up sequence and cannot perform any other task. + + ns=1;i=12841 + ns=1;i=12852 + i=2309 + ns=1;i=1018 + + + + StateNumber + + i=68 + i=78 + ns=1;i=12840 + + + 100 + + + + Empty + This represents an AccessorySlot where no Accessory is installed. + + ns=1;i=12843 + ns=1;i=12852 + ns=1;i=12854 + ns=1;i=12866 + ns=1;i=12868 + i=2307 + ns=1;i=1018 + + + + StateNumber + + i=68 + i=78 + ns=1;i=12842 + + + 200 + + + + Inserting + This represents an AccessorySlot when an Accessory is being inserted and initializing. + + ns=1;i=12845 + ns=1;i=12854 + ns=1;i=12856 + ns=1;i=12856 + ns=1;i=12858 + ns=1;i=12860 + ns=1;i=12870 + i=2307 + ns=1;i=1018 + + + + StateNumber + + i=68 + i=78 + ns=1;i=12844 + + + 300 + + + + Installed + This represents an AccessorySlot where an Accessory is installed and ready to use. + + ns=1;i=12847 + ns=1;i=12860 + ns=1;i=12862 + ns=1;i=12872 + i=2307 + ns=1;i=1018 + + + + StateNumber + + i=68 + i=78 + ns=1;i=12846 + + + 400 + + + + Removing + This represents an AccessorySlot where no Accessory is installed. + + ns=1;i=12849 + ns=1;i=12858 + ns=1;i=12862 + ns=1;i=12864 + ns=1;i=12864 + ns=1;i=12866 + ns=1;i=12874 + i=2307 + ns=1;i=1018 + + + + StateNumber + + i=68 + i=78 + ns=1;i=12848 + + + 500 + + + + Shutdown + The AccessorySlot is in its power-down sequence and cannot perform any other task. + + ns=1;i=12851 + ns=1;i=12868 + ns=1;i=12870 + ns=1;i=12872 + ns=1;i=12874 + i=2307 + ns=1;i=1018 + + + + StateNumber + + i=68 + i=78 + ns=1;i=12850 + + + 600 + + + + PowerupToEmptyTransition + + ns=1;i=12853 + ns=1;i=12840 + ns=1;i=12842 + i=2310 + ns=1;i=1018 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=12852 + + + 1 + + + + EmptyToInsertingTransition + + ns=1;i=12855 + ns=1;i=12842 + ns=1;i=12844 + i=2310 + ns=1;i=1018 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=12854 + + + 2 + + + + InsertingTransition + + ns=1;i=12857 + ns=1;i=12844 + ns=1;i=12844 + i=2310 + ns=1;i=1018 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=12856 + + + 3 + + + + InsertingToRemovingTransition + + ns=1;i=12859 + ns=1;i=12844 + ns=1;i=12848 + i=2310 + ns=1;i=1018 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=12858 + + + 4 + + + + InsertingToInstalledTransition + + ns=1;i=12861 + ns=1;i=12844 + ns=1;i=12846 + i=2310 + ns=1;i=1018 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=12860 + + + 5 + + + + InstalledToRemovingTransition + + ns=1;i=12863 + ns=1;i=12846 + ns=1;i=12848 + i=2310 + ns=1;i=1018 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=12862 + + + 6 + + + + RemovingTransition + + ns=1;i=12865 + ns=1;i=12848 + ns=1;i=12848 + i=2310 + ns=1;i=1018 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=12864 + + + 7 + + + + RemovingToEmptyTransition + + ns=1;i=12867 + ns=1;i=12848 + ns=1;i=12842 + i=2310 + ns=1;i=1018 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=12866 + + + 8 + + + + EmptyToShutdownTransition + + ns=1;i=12869 + ns=1;i=12842 + ns=1;i=12850 + i=2310 + ns=1;i=1018 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=12868 + + + 9 + + + + InsertingToShutdownTransition + + ns=1;i=12871 + ns=1;i=12844 + ns=1;i=12850 + i=2310 + ns=1;i=1018 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=12870 + + + 10 + + + + InstalledToShutdownTransition + + ns=1;i=12873 + ns=1;i=12846 + ns=1;i=12850 + i=2310 + ns=1;i=1018 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=12872 + + + 11 + + + + RemovingToShutdownTransition + + ns=1;i=12875 + ns=1;i=12848 + ns=1;i=12850 + i=2310 + ns=1;i=1018 + + + + TransitionNumber + + i=68 + i=78 + ns=1;i=12874 + + + 12 + + + + AccessoryType + + ns=1;i=12898 + ns=1;i=12900 + ns=1;i=12902 + ns=1;i=12904 + ns=1;i=12905 + ns=2;i=1001 + + + + Configuration + + ns=2;i=1005 + i=78 + ns=1;i=1019 + + + + Status + + ns=2;i=1005 + i=78 + ns=1;i=1019 + + + + FactorySettings + + ns=2;i=1005 + i=78 + ns=1;i=1019 + + + + IsHotSwappable + True if this accessory can be inserted in the accessory slot while it is powered + + i=68 + i=78 + ns=1;i=1019 + + + + IsReady + True if this accessory is ready for use + + i=68 + i=78 + ns=1;i=1019 + + + + DetectorType + + ns=1;i=1019 + + + + SmartSamplingSystemType + + ns=1;i=1019 + + + + SourceType + + ns=1;i=1019 + + + + GcOvenType + + ns=1;i=1019 + + + + ExecutionCycleEnumeration + + ns=1;i=13026 + i=29 + + + + Idle, no cleaning or acquisition cycle in progress + + + Scquisition cycle collecting data for diagnostic purpose + + + Cleaning cycle + + + Calibration acquisition cycle + + + Validation acquisition cycle + + + Sample acquisition cycle + + + Scquisition cycle collecting data for diagnostic purpose and sample is extracted from the process to be sent in control lab + + + Cleaning cycle with or without acquisition and sample is extracted from the process to be sent in control lab + + + Calibration acquisition cycle and sample is extracted from the process to be sent in control lab + + + Validation acquisition cycle and sample is extracted from the process to be sent in control lab + + + Sample acquisition cycle and sample is extracted from the process to be sent in control lab + + + + + EnumValues + + i=68 + i=78 + ns=1;i=9378 + + + + + + i=7616 + + + + 0 + + + + IDLE + + + + + Idle, no cleaning or acquisition cycle in progress + + + + + + + i=7616 + + + + 1 + + + + DIAGNOSTIC + + + + + Scquisition cycle collecting data for diagnostic purpose + + + + + + + i=7616 + + + + 2 + + + + CLEANING + + + + + Cleaning cycle + + + + + + + i=7616 + + + + 4 + + + + CALIBRATION + + + + + Calibration acquisition cycle + + + + + + + i=7616 + + + + 8 + + + + VALIDATION + + + + + Validation acquisition cycle + + + + + + + i=7616 + + + + 16 + + + + SAMPLING + + + + + Sample acquisition cycle + + + + + + + i=7616 + + + + 32769 + + + + DIAGNOSTIC_WITH_GRAB_SAMPLE + + + + + Scquisition cycle collecting data for diagnostic purpose and sample is extracted from the process to be sent in control lab + + + + + + + i=7616 + + + + 32770 + + + + CLEANING_WITH_GRAB_SAMPLE + + + + + Cleaning cycle with or without acquisition and sample is extracted from the process to be sent in control lab + + + + + + + i=7616 + + + + 32772 + + + + CALIBRATION_WITH_GRAB_SAMPLE + + + + + Calibration acquisition cycle and sample is extracted from the process to be sent in control lab + + + + + + + i=7616 + + + + 32776 + + + + VALIDATION_WITH_GRAB_SAMPLE + + + + + Validation acquisition cycle and sample is extracted from the process to be sent in control lab + + + + + + + i=7616 + + + + 32784 + + + + SAMPLING_WITH_GRAB_SAMPLE + + + + + Sample acquisition cycle and sample is extracted from the process to be sent in control lab + + + + + + + + + AcquisitionResultStatusEnumeration + + ns=1;i=13027 + i=29 + + + + No longer used. + + + The acquisition has been completed as requested without any error. + + + The acquisition has been completed as requested with error. + + + The acquisition has been completed but nothing can be said about the quality of the result. + + + The acquisition has been partially completed as requested without any error. + + + + + EnumStrings + + i=68 + i=78 + ns=1;i=3003 + + + + + + + NOT_USED + + + + + GOOD + + + + + BAD + + + + + UNKNOWN + + + + + PARTIAL + + + + + + EngineeringValueType + Expose key results of an analyser and the associated values that qualified it + + ns=1;i=13030 + i=2365 + + + + <Identifier> + Point to the data source + + i=2365 + i=11508 + ns=1;i=9380 + + + + ChemometricModelType + Hold the descriptions of a mathematical process and associated information to convert scaled data into one or more process values. + + ns=1;i=13033 + ns=1;i=13034 + ns=1;i=13035 + ns=1;i=13036 + ns=1;i=13037 + i=63 + + + + Name + + i=68 + i=78 + ns=1;i=2007 + + + + CreationDate + + i=68 + i=78 + ns=1;i=2007 + + + + ModelDescription + + i=68 + i=78 + ns=1;i=2007 + + + + <User defined Input#> + Point to model input parameters + + i=62 + i=11510 + ns=1;i=2007 + + + + <User defined Output#> + Point to model output parameters + + i=62 + i=11510 + ns=1;i=2007 + + + + ProcessVariableType + Provides a stable address space view from the user point of view even if the ADI server address space changes, after the new configuration is loaded. + + ns=1;i=13040 + i=2365 + + + + <Source> + Point to source parameter + + i=62 + i=11510 + ns=1;i=2008 + + + + HasDataSource + TargetNode is providing the value for the SourceNode. + + i=49 + + DataSourceOf + + + HasInput + TargetNode is providing an input value for a ChemometricModel. + + i=49 + + InputOf + + + HasOutput + TargetNode is exposing an output value of a ChemometricModel. + + i=49 + + OutputOf + + + MVAModelType + Hold the descriptions of a mathematical process and associated information to convert scaled data into one or more process values. + + ns=1;i=13045 + ns=1;i=13046 + ns=1;i=2007 + + + + <User defined Output#> + Point to model output parameters + + ns=1;i=13049 + ns=1;i=2010 + i=11508 + ns=1;i=2009 + + + + AlarmState + + i=68 + i=78 + ns=1;i=13045 + + + + MainDataIndex + + i=68 + i=78 + ns=1;i=2009 + + + + MVAOutputParameterType + Hold the descriptions of a mathematical process and associated information to convert scaled data into one or more process values. + + ns=1;i=13054 + ns=1;i=13055 + ns=1;i=13056 + ns=1;i=13057 + ns=1;i=13058 + i=63 + + + + WarningLimits + + i=68 + i=80 + ns=1;i=2010 + + + + AlarmLimits + + i=68 + i=80 + ns=1;i=2010 + + + + AlarmState + + i=68 + i=78 + ns=1;i=2010 + + + + VendorSpecificError + + i=68 + i=80 + ns=1;i=2010 + + + + Statistics + + ns=1;i=13059 + ns=1;i=13060 + ns=1;i=13061 + ns=1;i=13062 + ns=1;i=2010 + i=11508 + ns=1;i=2010 + + + + WarningLimits + + i=68 + i=80 + ns=1;i=13058 + + + + AlarmLimits + + i=68 + i=80 + ns=1;i=13058 + + + + AlarmState + + i=68 + i=78 + ns=1;i=13058 + + + + VendorSpecificError + + i=68 + i=80 + ns=1;i=13058 + + + + AlarmStateEnumeration + + ns=1;i=13063 + i=29 + + + + Normal + + + In low warning range + + + In high warning range + + + In warning range (low or high) or some other warning cause + + + In low alarm range + + + In high alarm range + + + In alarm range (low or high) or some other alarm cause + + + + + EnumValues + + i=68 + i=78 + ns=1;i=3009 + + + + + + i=7616 + + + + 0 + + + + NORMAL_0 + + + + + Normal + + + + + + + i=7616 + + + + 1 + + + + WARNING_LOW_1 + + + + + In low warning range + + + + + + + i=7616 + + + + 2 + + + + WARNING_HIGH_2 + + + + + In high warning range + + + + + + + i=7616 + + + + 4 + + + + WARNING_4 + + + + + In warning range (low or high) or some other warning cause + + + + + + + i=7616 + + + + 8 + + + + ALARM_LOW_8 + + + + + In low alarm range + + + + + + + i=7616 + + + + 16 + + + + ALARM_HIGH_16 + + + + + In high alarm range + + + + + + + i=7616 + + + + 32 + + + + ALARM_32 + + + + + In alarm range (low or high) or some other alarm cause + + + + + + + + + Opc.Ua.Adi + + ns=1;i=13069 + ns=1;i=8001 + i=93 + i=72 + + + PG9wYzpUeXBlRGljdGlvbmFyeQ0KICB4bWxuczpEST0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3Jn +L1VBL0RJLyINCiAgeG1sbnM6b3BjPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvQmluYXJ5U2No +ZW1hLyINCiAgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0 +YW5jZSINCiAgeG1sbnM6dWE9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9VQS8iDQogIHhtbG5z +OnRucz0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VBL0FESS8iDQogIERlZmF1bHRCeXRlT3Jk +ZXI9IkxpdHRsZUVuZGlhbiINCiAgVGFyZ2V0TmFtZXNwYWNlPSJodHRwOi8vb3BjZm91bmRhdGlv +bi5vcmcvVUEvQURJLyINCj4NCiAgPG9wYzpJbXBvcnQgTmFtZXNwYWNlPSJodHRwOi8vb3BjZm91 +bmRhdGlvbi5vcmcvVUEvREkvIiBMb2NhdGlvbj0iT3BjLlVhLkRpLkJpbmFyeVNjaGVtYS5ic2Qi +Lz4NCiAgPG9wYzpJbXBvcnQgTmFtZXNwYWNlPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEv +IiBMb2NhdGlvbj0iT3BjLlVhLkJpbmFyeVNjaGVtYS5ic2QiLz4NCg0KICA8b3BjOkVudW1lcmF0 +ZWRUeXBlIE5hbWU9IkV4ZWN1dGlvbkN5Y2xlRW51bWVyYXRpb24iIExlbmd0aEluQml0cz0iMzIi +Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IklETEUiIFZhbHVlPSIwIiAvPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRJQUdOT1NUSUMiIFZhbHVlPSIxIiAvPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkNMRUFOSU5HIiBWYWx1ZT0iMiIgLz4NCiAgICA8 +b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDQUxJQlJBVElPTiIgVmFsdWU9IjQiIC8+DQogICAg +PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVkFMSURBVElPTiIgVmFsdWU9IjgiIC8+DQogICAg +PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU0FNUExJTkciIFZhbHVlPSIxNiIgLz4NCiAgICA8 +b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJESUFHTk9TVElDX1dJVEhfR1JBQl9TQU1QTEUiIFZh +bHVlPSIzMjc2OSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDTEVBTklOR19X +SVRIX0dSQUJfU0FNUExFIiBWYWx1ZT0iMzI3NzAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs +dWUgTmFtZT0iQ0FMSUJSQVRJT05fV0lUSF9HUkFCX1NBTVBMRSIgVmFsdWU9IjMyNzcyIiAvPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZBTElEQVRJT05fV0lUSF9HUkFCX1NBTVBM +RSIgVmFsdWU9IjMyNzc2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNBTVBM +SU5HX1dJVEhfR1JBQl9TQU1QTEUiIFZhbHVlPSIzMjc4NCIgLz4NCiAgPC9vcGM6RW51bWVyYXRl +ZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJBY3F1aXNpdGlvblJlc3VsdFN0 +YXR1c0VudW1lcmF0aW9uIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJOT1RfVVNFRCIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs +dWUgTmFtZT0iR09PRCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt +ZT0iQkFEIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVTktO +T1dOIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJQQVJUSUFM +IiBWYWx1ZT0iNCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJh +dGVkVHlwZSBOYW1lPSJBbGFybVN0YXRlRW51bWVyYXRpb24iIExlbmd0aEluQml0cz0iMzIiPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5PUk1BTF8wIiBWYWx1ZT0iMCIgLz4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJXQVJOSU5HX0xPV18xIiBWYWx1ZT0iMSIgLz4N +CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJXQVJOSU5HX0hJR0hfMiIgVmFsdWU9IjIi +IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iV0FSTklOR180IiBWYWx1ZT0iNCIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBTEFSTV9MT1dfOCIgVmFsdWU9Ijgi +IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQUxBUk1fSElHSF8xNiIgVmFsdWU9 +IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFMQVJNXzMyIiBWYWx1ZT0i +MzIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQo8L29wYzpUeXBlRGljdGlvbmFyeT4= + + + + NamespaceUri + A URI that uniquely identifies the dictionary. + + i=68 + ns=1;i=13067 + + + http://opcfoundation.org/UA/ADI/ + + + + Deprecated + Indicates that all of the definitions for the dictionary are available through a DataTypeDefinition Attribute. + + i=68 + ns=1;i=13067 + + + true + + + + Opc.Ua.Adi + + ns=1;i=13066 + ns=1;i=8003 + i=92 + i=72 + + + PHhzOnNjaGVtYQ0KICB4bWxuczpEST0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VBL0RJL1R5 +cGVzLnhzZCINCiAgeG1sbnM6eHM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIg0K +ICB4bWxuczp1YT0iaHR0cDovL29wY2ZvdW5kYXRpb24ub3JnL1VBLzIwMDgvMDIvVHlwZXMueHNk +Ig0KICB4bWxuczp0bnM9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9VQS9BREkvVHlwZXMueHNk +Ig0KICB0YXJnZXROYW1lc3BhY2U9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9VQS9BREkvVHlw +ZXMueHNkIg0KICBlbGVtZW50Rm9ybURlZmF1bHQ9InF1YWxpZmllZCINCj4NCiAgPHhzOmltcG9y +dCBuYW1lc3BhY2U9Imh0dHA6Ly9vcGNmb3VuZGF0aW9uLm9yZy9VQS9ESS9UeXBlcy54c2QiIC8+ +DQogIDx4czppbXBvcnQgbmFtZXNwYWNlPSJodHRwOi8vb3BjZm91bmRhdGlvbi5vcmcvVUEvMjAw +OC8wMi9UeXBlcy54c2QiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkV4ZWN1dGlvbkN5 +Y2xlRW51bWVyYXRpb24iPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0K +ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJRExFXzAiIC8+DQogICAgICA8eHM6ZW51bWVy +YXRpb24gdmFsdWU9IkRJQUdOT1NUSUNfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 +ZT0iQ0xFQU5JTkdfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ0FMSUJSQVRJ +T05fNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVkFMSURBVElPTl84IiAvPg0K +ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTQU1QTElOR18xNiIgLz4NCiAgICAgIDx4czpl +bnVtZXJhdGlvbiB2YWx1ZT0iRElBR05PU1RJQ19XSVRIX0dSQUJfU0FNUExFXzMyNzY5IiAvPg0K +ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDTEVBTklOR19XSVRIX0dSQUJfU0FNUExFXzMy +NzcwIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDQUxJQlJBVElPTl9XSVRIX0dS +QUJfU0FNUExFXzMyNzcyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJWQUxJREFU +SU9OX1dJVEhfR1JBQl9TQU1QTEVfMzI3NzYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs +dWU9IlNBTVBMSU5HX1dJVEhfR1JBQl9TQU1QTEVfMzI3ODQiIC8+DQogICAgPC94czpyZXN0cmlj +dGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFeGVjdXRpb25D +eWNsZUVudW1lcmF0aW9uIiB0eXBlPSJ0bnM6RXhlY3V0aW9uQ3ljbGVFbnVtZXJhdGlvbiIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRXhlY3V0aW9uQ3ljbGVFbnVtZXJhdGlv +biI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXhlY3V0aW9u +Q3ljbGVFbnVtZXJhdGlvbiIgdHlwZT0idG5zOkV4ZWN1dGlvbkN5Y2xlRW51bWVyYXRpb24iIG1p +bk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRXhlY3V0aW9u +Q3ljbGVFbnVtZXJhdGlvbiIgdHlwZT0idG5zOkxpc3RPZkV4ZWN1dGlvbkN5Y2xlRW51bWVyYXRp +b24iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5h +bWU9IkFjcXVpc2l0aW9uUmVzdWx0U3RhdHVzRW51bWVyYXRpb24iPg0KICAgIDx4czpyZXN0cmlj +dGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOT1Rf +VVNFRF8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJHT09EXzEiIC8+DQogICAg +ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJBRF8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u +IHZhbHVlPSJVTktOT1dOXzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlBBUlRJ +QUxfNCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9IkFjcXVpc2l0aW9uUmVzdWx0U3RhdHVzRW51bWVyYXRpb24iIHR5cGU9 +InRuczpBY3F1aXNpdGlvblJlc3VsdFN0YXR1c0VudW1lcmF0aW9uIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJMaXN0T2ZBY3F1aXNpdGlvblJlc3VsdFN0YXR1c0VudW1lcmF0aW9uIj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBY3F1aXNpdGlvblJl +c3VsdFN0YXR1c0VudW1lcmF0aW9uIiB0eXBlPSJ0bnM6QWNxdWlzaXRpb25SZXN1bHRTdGF0dXNF +bnVtZXJhdGlvbiIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM +aXN0T2ZBY3F1aXNpdGlvblJlc3VsdFN0YXR1c0VudW1lcmF0aW9uIiB0eXBlPSJ0bnM6TGlzdE9m +QWNxdWlzaXRpb25SZXN1bHRTdGF0dXNFbnVtZXJhdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6 +ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iQWxhcm1TdGF0ZUVudW1lcmF0aW9u +Ij4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVt +ZXJhdGlvbiB2YWx1ZT0iTk9STUFMXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +IldBUk5JTkdfTE9XXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IldBUk5JTkdf +SElHSF8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJXQVJOSU5HXzQiIC8+DQog +ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFMQVJNX0xPV184IiAvPg0KICAgICAgPHhzOmVu +dW1lcmF0aW9uIHZhbHVlPSJBTEFSTV9ISUdIXzE2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u +IHZhbHVlPSJBTEFSTV8zMiIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBs +ZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFsYXJtU3RhdGVFbnVtZXJhdGlvbiIgdHlwZT0i +dG5zOkFsYXJtU3RhdGVFbnVtZXJhdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i +TGlzdE9mQWxhcm1TdGF0ZUVudW1lcmF0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJBbGFybVN0YXRlRW51bWVyYXRpb24iIHR5cGU9InRuczpBbGFybVN0 +YXRlRW51bWVyYXRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIC8+DQog +ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iTGlzdE9mQWxhcm1TdGF0ZUVudW1lcmF0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mQWxhcm1TdGF0 +ZUVudW1lcmF0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQo8L3hzOnNjaGVt +YT4= + + + + NamespaceUri + A URI that uniquely identifies the dictionary. + + i=68 + ns=1;i=13064 + + + http://opcfoundation.org/UA/ADI/Types.xsd + + + + Deprecated + Indicates that all of the definitions for the dictionary are available through a DataTypeDefinition Attribute. + + i=68 + ns=1;i=13064 + + + true + + + diff --git a/schemas/Opc.Ua.Adi.Types.bsd b/schemas/Opc.Ua.Adi.Types.bsd index 4226440c7..8bdfd52f6 100644 --- a/schemas/Opc.Ua.Adi.Types.bsd +++ b/schemas/Opc.Ua.Adi.Types.bsd @@ -1,75 +1,75 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/schemas/Opc.Ua.Adi.Types.xsd b/schemas/Opc.Ua.Adi.Types.xsd index c91d10721..cf708757d 100644 --- a/schemas/Opc.Ua.Adi.Types.xsd +++ b/schemas/Opc.Ua.Adi.Types.xsd @@ -1,104 +1,104 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/schemas/Opc.Ua.NodeSet2.Part10.xml b/schemas/Opc.Ua.NodeSet2.Part10.xml index e6f7925ff..d28dcc760 100644 --- a/schemas/Opc.Ua.NodeSet2.Part10.xml +++ b/schemas/Opc.Ua.NodeSet2.Part10.xml @@ -28,9 +28,9 @@ * http://opcfoundation.org/License/MIT/1.00/ --> - + - + i=1 diff --git a/schemas/Opc.Ua.NodeSet2.Part11.xml b/schemas/Opc.Ua.NodeSet2.Part11.xml index afdf19362..f03ed8e3b 100644 --- a/schemas/Opc.Ua.NodeSet2.Part11.xml +++ b/schemas/Opc.Ua.NodeSet2.Part11.xml @@ -28,9 +28,9 @@ * http://opcfoundation.org/License/MIT/1.00/ --> - + - + i=1 diff --git a/schemas/Opc.Ua.NodeSet2.Part13.xml b/schemas/Opc.Ua.NodeSet2.Part13.xml index bc63dd635..72d6af539 100644 --- a/schemas/Opc.Ua.NodeSet2.Part13.xml +++ b/schemas/Opc.Ua.NodeSet2.Part13.xml @@ -28,9 +28,9 @@ * http://opcfoundation.org/License/MIT/1.00/ --> - + - + i=1 diff --git a/schemas/Opc.Ua.NodeSet2.Part3.xml b/schemas/Opc.Ua.NodeSet2.Part3.xml index bf43b70eb..40a95b79d 100644 --- a/schemas/Opc.Ua.NodeSet2.Part3.xml +++ b/schemas/Opc.Ua.NodeSet2.Part3.xml @@ -28,9 +28,9 @@ * http://opcfoundation.org/License/MIT/1.00/ --> - + - + i=1 @@ -502,6 +502,34 @@ + + DescribesArgument + + i=47 + + ArgumentDescriptionFor + + + DescribesInputArgument + + i=129 + + InputArgumentDescriptionFor + + + DescribesOptionalInputArgument + + i=130 + + OptionalInputArgumentDescriptionFor + + + DescribesOutputArgument + + i=129 + + OutputArgumentDescriptionFor + NodeVersion The version number of the node (used to indicate changes to references of the owning node). @@ -943,28 +971,26 @@ PermissionType i=15030 - i=5 + i=7 - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + @@ -1071,13 +1097,12 @@ i=3 - - - - - - - + + + + + + @@ -1134,16 +1159,15 @@ i=7 - - - - - - - - - - + + + + + + + + + @@ -1195,46 +1219,6 @@ Reserved - - - - Reserved - - - - - Reserved - - - - - Reserved - - - - - Reserved - - - - - Reserved - - - - - Reserved - - - - - Reserved - - - - - Reserved - @@ -1257,13 +1241,12 @@ EventNotifierType i=15034 - i=7 + i=3 - - - - + + + @@ -1305,10 +1288,9 @@ i=7 - - - - + + + @@ -1333,7 +1315,7 @@ - SessionRequired + SessionRequired @@ -1345,7 +1327,7 @@ - + diff --git a/schemas/Opc.Ua.NodeSet2.Part4.xml b/schemas/Opc.Ua.NodeSet2.Part4.xml index c07e7acfd..cf9e9ef89 100644 --- a/schemas/Opc.Ua.NodeSet2.Part4.xml +++ b/schemas/Opc.Ua.NodeSet2.Part4.xml @@ -28,9 +28,9 @@ * http://opcfoundation.org/License/MIT/1.00/ --> - + - + i=1 @@ -1488,85 +1488,82 @@ i=7 - - No attributes are writable. - - + The access level attribute is writable. - + The array dimensions attribute is writable. - + The browse name attribute is writable. - + The contains no loops attribute is writable. - + The data type attribute is writable. - + The description attribute is writable. - + The display name attribute is writable. - + The event notifier attribute is writable. - + The executable attribute is writable. - + The historizing attribute is writable. - + The inverse name attribute is writable. - + The is abstract attribute is writable. - + The minimum sampling interval attribute is writable. - + The node class attribute is writable. - + The node id attribute is writable. - + The symmetric attribute is writable. - + The user access level attribute is writable. - + The user executable attribute is writable. - + The user write mask attribute is writable. - + The value rank attribute is writable. - + The write mask attribute is writable. - + The value attribute is writable. - + The DataTypeDefinition attribute is writable. - + The RolePermissions attribute is writable. - + The AccessRestrictions attribute is writable. - + The AccessLevelEx attribute is writable. diff --git a/schemas/Opc.Ua.NodeSet2.Part5.xml b/schemas/Opc.Ua.NodeSet2.Part5.xml index 2e3c759ae..346062e95 100644 --- a/schemas/Opc.Ua.NodeSet2.Part5.xml +++ b/schemas/Opc.Ua.NodeSet2.Part5.xml @@ -28,9 +28,9 @@ * http://opcfoundation.org/License/MIT/1.00/ --> - + - + i=1 @@ -446,7 +446,7 @@ i=16134 i=16135 i=16136 - i=11715 + i=11715 i=11616 @@ -480,7 +480,7 @@ i=15957 - 2017-11-22 + 2018-06-12 @@ -1515,8 +1515,8 @@ i=2013 - - Roles + + RoleSet Describes the roles supported by the server. i=16296 @@ -7249,8 +7249,8 @@ i=2268 - - Roles + + RoleSet Describes the roles supported by the server. i=16301 @@ -9954,6 +9954,11 @@ Idle i=15816 + i=15825 + i=15829 + i=15831 + i=15833 + i=15841 i=2309 i=15803 @@ -9970,6 +9975,9 @@ ReadPrepare i=15818 + i=15825 + i=15827 + i=15835 i=2307 i=15803 @@ -9986,6 +9994,9 @@ ReadTransfer i=15820 + i=15827 + i=15829 + i=15837 i=2307 i=15803 @@ -10002,6 +10013,9 @@ ApplyWrite i=15822 + i=15831 + i=15833 + i=15839 i=2307 i=15803 @@ -10018,6 +10032,10 @@ Error i=15824 + i=15835 + i=15837 + i=15839 + i=15841 i=2307 i=15803 @@ -10034,6 +10052,9 @@ IdleToReadPrepare i=15826 + i=15815 + i=15817 + i=2311 i=2310 i=15803 @@ -10050,6 +10071,9 @@ ReadPrepareToReadTransfer i=15828 + i=15817 + i=15819 + i=2311 i=2310 i=15803 @@ -10066,6 +10090,9 @@ ReadTransferToIdle i=15830 + i=15819 + i=15815 + i=2311 i=2310 i=15803 @@ -10082,6 +10109,9 @@ IdleToApplyWrite i=15832 + i=15815 + i=15821 + i=2311 i=2310 i=15803 @@ -10098,6 +10128,9 @@ ApplyWriteToIdle i=15834 + i=15821 + i=15815 + i=2311 i=2310 i=15803 @@ -10114,6 +10147,9 @@ ReadPrepareToError i=15836 + i=15817 + i=15823 + i=2311 i=2310 i=15803 @@ -10130,6 +10166,9 @@ ReadTransferToError i=15838 + i=15819 + i=15823 + i=2311 i=2310 i=15803 @@ -10146,6 +10185,9 @@ ApplyWriteToError i=15840 + i=15821 + i=15823 + i=2311 i=2310 i=15803 @@ -10162,6 +10204,9 @@ ErrorToIdle i=15842 + i=15823 + i=15815 + i=2311 i=2310 i=15803 @@ -13824,682 +13869,616 @@ ZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZQcm9wZXJ0aWVzIiBUeXBlTmFtZT0ib3Bj OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJvcGVydGllcyIgVHlwZU5hbWU9InRu czpLZXlWYWx1ZVBhaXIiIExlbmd0aEZpZWxkPSJOb09mUHJvcGVydGllcyIgLz4NCiAgPC9vcGM6 U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJEYXRhU2V0Rmll -bGRGbGFncyIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt -ZT0iUHJvbW90ZWRGaWVsZCIgVmFsdWU9IjEiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0K -DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ29uZmlndXJhdGlvblZlcnNpb25EYXRhVHlw -ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJN -YWpvclZlcnNpb24iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iTWlub3JWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0 -dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJQdWJsaXNoZWREYXRhU2V0 -RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJOb09mRGF0YVNldEZvbGRlciIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkRhdGFTZXRGb2xkZXIiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVs -ZD0iTm9PZkRhdGFTZXRGb2xkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0TWV0 -YURhdGEiIFR5cGVOYW1lPSJ0bnM6RGF0YVNldE1ldGFEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZFeHRlbnNpb25GaWVsZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJFeHRlbnNpb25GaWVsZHMiIFR5cGVOYW1lPSJ0bnM6S2V5VmFs -dWVQYWlyIiBMZW5ndGhGaWVsZD0iTm9PZkV4dGVuc2lvbkZpZWxkcyIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkRhdGFTZXRTb3VyY2UiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+ -DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i -UHVibGlzaGVkRGF0YVNldFNvdXJjZURhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq -ZWN0Ij4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJQdWJsaXNoZWRWYXJpYWJsZURhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq -ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hlZFZhcmlhYmxlIiBUeXBlTmFtZT0i -dWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXR0cmlidXRlSWQiIFR5cGVOYW1l -PSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2FtcGxpbmdJbnRlcnZhbEhp -bnQiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVhZGJh -bmRUeXBlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRl -YWRiYW5kVmFsdWUiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iSW5kZXhSYW5nZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJTdWJzdGl0dXRlVmFsdWUiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iTm9PZk1ldGFEYXRhUHJvcGVydGllcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1ldGFEYXRhUHJvcGVydGllcyIgVHlwZU5hbWU9InVh -OlF1YWxpZmllZE5hbWUiIExlbmd0aEZpZWxkPSJOb09mTWV0YURhdGFQcm9wZXJ0aWVzIiAvPg0K -ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlB1 -Ymxpc2hlZERhdGFJdGVtc0RhdGFUeXBlIiBCYXNlVHlwZT0idG5zOlB1Ymxpc2hlZERhdGFTZXRT -b3VyY2VEYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUHVibGlzaGVkRGF0YSIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hlZERh -dGEiIFR5cGVOYW1lPSJ0bnM6UHVibGlzaGVkVmFyaWFibGVEYXRhVHlwZSIgTGVuZ3RoRmllbGQ9 -Ik5vT2ZQdWJsaXNoZWREYXRhIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -OlN0cnVjdHVyZWRUeXBlIE5hbWU9IlB1Ymxpc2hlZEV2ZW50c0RhdGFUeXBlIiBCYXNlVHlwZT0i -dG5zOlB1Ymxpc2hlZERhdGFTZXRTb3VyY2VEYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJFdmVudE5vdGlmaWVyIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTm9PZlNlbGVjdGVkRmllbGRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iU2VsZWN0ZWRGaWVsZHMiIFR5cGVOYW1lPSJ0bnM6U2ltcGxlQXR0cmli -dXRlT3BlcmFuZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZWxlY3RlZEZpZWxkcyIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IkZpbHRlciIgVHlwZU5hbWU9InRuczpDb250ZW50RmlsdGVyIiAvPg0KICA8 -L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkRhdGFT -ZXRGaWVsZENvbnRlbnRNYXNrIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0 -ZWRWYWx1ZSBOYW1lPSJTdGF0dXNDb2RlIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0 -ZWRWYWx1ZSBOYW1lPSJTb3VyY2VUaW1lc3RhbXAiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9IlNlcnZlclRpbWVzdGFtcCIgVmFsdWU9IjQiIC8+DQogICAgPG9w -YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU291cmNlUGljb1NlY29uZHMiIFZhbHVlPSI4IiAvPg0K -ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNlcnZlclBpY29TZWNvbmRzIiBWYWx1ZT0i -MTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmF3RGF0YUVuY29kaW5nIiBW -YWx1ZT0iMzIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl -ZFR5cGUgTmFtZT0iRGF0YVNldFdyaXRlckRhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u -T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5n -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5hYmxlZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFu -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVNldFdyaXRlcklkIiBUeXBlTmFtZT0ib3Bj -OlVJbnQxNiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRGaWVsZENvbnRlbnRNYXNr -IiBUeXBlTmFtZT0idG5zOkRhdGFTZXRGaWVsZENvbnRlbnRNYXNrIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iS2V5RnJhbWVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJEYXRhU2V0TmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJOb09mRGF0YVNldFdyaXRlclByb3BlcnRpZXMiIFR5cGVOYW1lPSJv -cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0V3JpdGVyUHJvcGVydGll -cyIgVHlwZU5hbWU9InRuczpLZXlWYWx1ZVBhaXIiIExlbmd0aEZpZWxkPSJOb09mRGF0YVNldFdy -aXRlclByb3BlcnRpZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc3BvcnRTZXR0aW5n +bGRGbGFncyIgTGVuZ3RoSW5CaXRzPSIxNiIgSXNPcHRpb25TZXQ9InRydWUiPg0KICAgIDxvcGM6 +RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVy +YXRlZFZhbHVlIE5hbWU9IlByb21vdGVkRmllbGQiIFZhbHVlPSIxIiAvPg0KICA8L29wYzpFbnVt +ZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNvbmZpZ3VyYXRpb25W +ZXJzaW9uRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTWFqb3JWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik1pbm9yVmVyc2lvbiIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUHVi +bGlzaGVkRGF0YVNldERhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTm9PZkRhdGFTZXRGb2xkZXIiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0Rm9sZGVyIiBUeXBlTmFtZT0ib3BjOlN0cmlu +ZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEYXRhU2V0Rm9sZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iRGF0YVNldE1ldGFEYXRhIiBUeXBlTmFtZT0idG5zOkRhdGFTZXRNZXRhRGF0YVR5cGUiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRXh0ZW5zaW9uRmllbGRzIiBUeXBlTmFtZT0ib3Bj +OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXh0ZW5zaW9uRmllbGRzIiBUeXBlTmFt +ZT0idG5zOktleVZhbHVlUGFpciIgTGVuZ3RoRmllbGQ9Ik5vT2ZFeHRlbnNpb25GaWVsZHMiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0U291cmNlIiBUeXBlTmFtZT0idWE6RXh0ZW5z +aW9uT2JqZWN0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy +ZWRUeXBlIE5hbWU9IlB1Ymxpc2hlZERhdGFTZXRTb3VyY2VEYXRhVHlwZSIgQmFzZVR5cGU9InVh +OkV4dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry +dWN0dXJlZFR5cGUgTmFtZT0iUHVibGlzaGVkVmFyaWFibGVEYXRhVHlwZSIgQmFzZVR5cGU9InVh +OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoZWRWYXJpYWJs +ZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF0dHJpYnV0 +ZUlkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNhbXBs +aW5nSW50ZXJ2YWxIaW50IiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkRlYWRiYW5kVHlwZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJEZWFkYmFuZFZhbHVlIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkluZGV4UmFuZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iU3Vic3RpdHV0ZVZhbHVlIiBUeXBlTmFtZT0idWE6VmFyaWFudCIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZNZXRhRGF0YVByb3BlcnRpZXMiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXRhRGF0YVByb3BlcnRpZXMi +IFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBMZW5ndGhGaWVsZD0iTm9PZk1ldGFEYXRhUHJv +cGVydGllcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk +VHlwZSBOYW1lPSJQdWJsaXNoZWREYXRhSXRlbXNEYXRhVHlwZSIgQmFzZVR5cGU9InRuczpQdWJs +aXNoZWREYXRhU2V0U291cmNlRGF0YVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlB1 +Ymxpc2hlZERhdGEiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJQdWJsaXNoZWREYXRhIiBUeXBlTmFtZT0idG5zOlB1Ymxpc2hlZFZhcmlhYmxlRGF0YVR5cGUi +IExlbmd0aEZpZWxkPSJOb09mUHVibGlzaGVkRGF0YSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 +cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJQdWJsaXNoZWRFdmVudHNEYXRhVHlw +ZSIgQmFzZVR5cGU9InRuczpQdWJsaXNoZWREYXRhU2V0U291cmNlRGF0YVR5cGUiPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iRXZlbnROb3RpZmllciIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZWxlY3RlZEZpZWxkcyIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlbGVjdGVkRmllbGRzIiBUeXBlTmFtZT0idG5z +OlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIExlbmd0aEZpZWxkPSJOb09mU2VsZWN0ZWRGaWVsZHMi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXIiIFR5cGVOYW1lPSJ0bnM6Q29udGVudEZp +bHRlciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlw +ZSBOYW1lPSJEYXRhU2V0RmllbGRDb250ZW50TWFzayIgTGVuZ3RoSW5CaXRzPSIzMiIgSXNPcHRp +b25TZXQ9InRydWUiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVl +PSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN0YXR1c0NvZGUiIFZhbHVl +PSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNvdXJjZVRpbWVzdGFtcCIg +VmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU2VydmVyVGltZXN0 +YW1wIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTb3VyY2VQ +aWNvU2Vjb25kcyIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i +U2VydmVyUGljb1NlY29uZHMiIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 +ZSBOYW1lPSJSYXdEYXRhRW5jb2RpbmciIFZhbHVlPSIzMiIgLz4NCiAgPC9vcGM6RW51bWVyYXRl +ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRhU2V0V3JpdGVyRGF0YVR5 +cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +TmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmFi +bGVkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRh +U2V0V3JpdGVySWQiIFR5cGVOYW1lPSJvcGM6VUludDE2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iRGF0YVNldEZpZWxkQ29udGVudE1hc2siIFR5cGVOYW1lPSJ0bnM6RGF0YVNldEZpZWxkQ29u +dGVudE1hc2siIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJLZXlGcmFtZUNvdW50IiBUeXBlTmFt +ZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXROYW1lIiBUeXBl +TmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEYXRhU2V0V3Jp +dGVyUHJvcGVydGllcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkRhdGFTZXRXcml0ZXJQcm9wZXJ0aWVzIiBUeXBlTmFtZT0idG5zOktleVZhbHVlUGFpciIg +TGVuZ3RoRmllbGQ9Ik5vT2ZEYXRhU2V0V3JpdGVyUHJvcGVydGllcyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlRyYW5zcG9ydFNldHRpbmdzIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWVzc2FnZVNldHRpbmdzIiBUeXBlTmFtZT0idWE6 +RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFTZXRXcml0ZXJUcmFuc3BvcnREYXRhVHlwZSIgQmFzZVR5 +cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv +cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSIgQmFz +ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog +IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUHViU3ViR3JvdXBEYXRhVHlwZSIgQmFzZVR5cGU9 +InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFt +ZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuYWJsZWQiIFR5cGVOYW1l +PSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TW9kZSIgVHlw +ZU5hbWU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +U2VjdXJpdHlHcm91cElkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vT2ZTZWN1cml0eUtleVNlcnZpY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlLZXlTZXJ2aWNlcyIgVHlwZU5hbWU9InRuczpF +bmRwb2ludERlc2NyaXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZlNlY3VyaXR5S2V5U2VydmljZXMi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhOZXR3b3JrTWVzc2FnZVNpemUiIFR5cGVOYW1l +PSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkdyb3VwUHJvcGVydGll +cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikdyb3VwUHJv +cGVydGllcyIgVHlwZU5hbWU9InRuczpLZXlWYWx1ZVBhaXIiIExlbmd0aEZpZWxkPSJOb09mR3Jv +dXBQcm9wZXJ0aWVzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj +dHVyZWRUeXBlIE5hbWU9IldyaXRlckdyb3VwRGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6UHViU3Vi +R3JvdXBEYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFtZT0ib3Bj +OlN0cmluZyIgU291cmNlVHlwZT0idG5zOlB1YlN1Ykdyb3VwRGF0YVR5cGUiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJFbmFibGVkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIFNvdXJjZVR5cGU9 +InRuczpQdWJTdWJHcm91cERhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJp +dHlNb2RlIiBUeXBlTmFtZT0idG5zOk1lc3NhZ2VTZWN1cml0eU1vZGUiIFNvdXJjZVR5cGU9InRu +czpQdWJTdWJHcm91cERhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlH +cm91cElkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgU291cmNlVHlwZT0idG5zOlB1YlN1Ykdyb3Vw +RGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VjdXJpdHlLZXlTZXJ2aWNl +cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5 +S2V5U2VydmljZXMiIFR5cGVOYW1lPSJ0bnM6RW5kcG9pbnREZXNjcmlwdGlvbiIgTGVuZ3RoRmll +bGQ9Ik5vT2ZTZWN1cml0eUtleVNlcnZpY2VzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4 +TmV0d29ya01lc3NhZ2VTaXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5z +OlB1YlN1Ykdyb3VwRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mR3JvdXBQ +cm9wZXJ0aWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +R3JvdXBQcm9wZXJ0aWVzIiBUeXBlTmFtZT0idG5zOktleVZhbHVlUGFpciIgTGVuZ3RoRmllbGQ9 +Ik5vT2ZHcm91cFByb3BlcnRpZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZXJHcm91 +cElkIiBUeXBlTmFtZT0ib3BjOlVJbnQxNiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxp +c2hpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJLZWVwQWxpdmVUaW1lIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlByaW9yaXR5IiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb09mTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9 +Ik5vT2ZMb2NhbGVJZHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc3BvcnRTZXR0aW5n cyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -Ik1lc3NhZ2VTZXR0aW5ncyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgPC9v -cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRhU2V0 -V3JpdGVyVHJhbnNwb3J0RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K -ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRh -dGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -IlB1YlN1Ykdyb3VwRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJFbmFibGVkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJTZWN1cml0eU1vZGUiIFR5cGVOYW1lPSJ0bnM6TWVzc2FnZVNlY3VyaXR5 -TW9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5R3JvdXBJZCIgVHlwZU5hbWU9 -Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VjdXJpdHlLZXlTZXJ2 -aWNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3Vy -aXR5S2V5U2VydmljZXMiIFR5cGVOYW1lPSJ0bnM6RW5kcG9pbnREZXNjcmlwdGlvbiIgTGVuZ3Ro -RmllbGQ9Ik5vT2ZTZWN1cml0eUtleVNlcnZpY2VzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -TWF4TmV0d29ya01lc3NhZ2VTaXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vT2ZHcm91cFByb3BlcnRpZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJHcm91cFByb3BlcnRpZXMiIFR5cGVOYW1lPSJ0bnM6S2V5 -VmFsdWVQYWlyIiBMZW5ndGhGaWVsZD0iTm9PZkdyb3VwUHJvcGVydGllcyIgLz4NCiAgPC9vcGM6 -U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJXcml0ZXJHcm91 -cERhdGFUeXBlIiBCYXNlVHlwZT0idG5zOlB1YlN1Ykdyb3VwRGF0YVR5cGUiPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIFNvdXJjZVR5cGU9InRuczpQ -dWJTdWJHcm91cERhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5hYmxlZCIgVHlw -ZU5hbWU9Im9wYzpCb29sZWFuIiBTb3VyY2VUeXBlPSJ0bnM6UHViU3ViR3JvdXBEYXRhVHlwZSIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TW9kZSIgVHlwZU5hbWU9InRuczpNZXNz -YWdlU2VjdXJpdHlNb2RlIiBTb3VyY2VUeXBlPSJ0bnM6UHViU3ViR3JvdXBEYXRhVHlwZSIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5R3JvdXBJZCIgVHlwZU5hbWU9Im9wYzpTdHJp -bmciIFNvdXJjZVR5cGU9InRuczpQdWJTdWJHcm91cERhdGFUeXBlIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9PZlNlY3VyaXR5S2V5U2VydmljZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eUtleVNlcnZpY2VzIiBUeXBlTmFtZT0idG5z -OkVuZHBvaW50RGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mU2VjdXJpdHlLZXlTZXJ2aWNl -cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heE5ldHdvcmtNZXNzYWdlU2l6ZSIgVHlwZU5h -bWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpQdWJTdWJHcm91cERhdGFUeXBlIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkdyb3VwUHJvcGVydGllcyIgVHlwZU5hbWU9Im9wYzpJ -bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikdyb3VwUHJvcGVydGllcyIgVHlwZU5hbWU9 -InRuczpLZXlWYWx1ZVBhaXIiIExlbmd0aEZpZWxkPSJOb09mR3JvdXBQcm9wZXJ0aWVzIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVyR3JvdXBJZCIgVHlwZU5hbWU9Im9wYzpVSW50MTYi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJv -cGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iS2VlcEFsaXZlVGltZSIgVHlwZU5h -bWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcmlvcml0eSIgVHlwZU5h -bWU9Im9wYzpCeXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxvY2FsZUlkcyIgVHlw -ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsZUlkcyIgVHlw -ZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mTG9jYWxlSWRzIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iVHJhbnNwb3J0U2V0dGluZ3MiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25P -YmplY3QiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXNzYWdlU2V0dGluZ3MiIFR5cGVOYW1l -PSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGF0YVNl -dFdyaXRlcnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE -YXRhU2V0V3JpdGVycyIgVHlwZU5hbWU9InRuczpEYXRhU2V0V3JpdGVyRGF0YVR5cGUiIExlbmd0 -aEZpZWxkPSJOb09mRGF0YVNldFdyaXRlcnMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K -DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlw -ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl -Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iV3JpdGVyR3JvdXBNZXNzYWdlRGF0YVR5 -cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw -ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlB1YlN1YkNvbm5lY3Rpb25EYXRhVHlw -ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO -YW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuYWJs -ZWQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxp -c2hlcklkIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRy -YW5zcG9ydFByb2ZpbGVVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iQWRkcmVzcyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vT2ZDb25uZWN0aW9uUHJvcGVydGllcyIgVHlwZU5hbWU9Im9wYzpJ -bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbm5lY3Rpb25Qcm9wZXJ0aWVzIiBUeXBl -TmFtZT0idG5zOktleVZhbHVlUGFpciIgTGVuZ3RoRmllbGQ9Ik5vT2ZDb25uZWN0aW9uUHJvcGVy -dGllcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyYW5zcG9ydFNldHRpbmdzIiBUeXBlTmFt -ZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZldyaXRl -ckdyb3VwcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ildy -aXRlckdyb3VwcyIgVHlwZU5hbWU9InRuczpXcml0ZXJHcm91cERhdGFUeXBlIiBMZW5ndGhGaWVs -ZD0iTm9PZldyaXRlckdyb3VwcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWFkZXJH -cm91cHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWFk -ZXJHcm91cHMiIFR5cGVOYW1lPSJ0bnM6UmVhZGVyR3JvdXBEYXRhVHlwZSIgTGVuZ3RoRmllbGQ9 -Ik5vT2ZSZWFkZXJHcm91cHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 -U3RydWN0dXJlZFR5cGUgTmFtZT0iQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIiBCYXNlVHlw -ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w -YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJOZXR3b3JrQWRkcmVzc0RhdGFUeXBlIiBCYXNlVHlwZT0i -dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5ldHdvcmtJbnRlcmZh -Y2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik5ldHdvcmtBZGRyZXNzVXJsRGF0YVR5cGUiIEJh -c2VUeXBlPSJ0bnM6TmV0d29ya0FkZHJlc3NEYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJOZXR3b3JrSW50ZXJmYWNlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgU291cmNlVHlwZT0idG5z -Ok5ldHdvcmtBZGRyZXNzRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVcmwiIFR5 -cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -OlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlYWRlckdyb3VwRGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6 -UHViU3ViR3JvdXBEYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFt -ZT0ib3BjOlN0cmluZyIgU291cmNlVHlwZT0idG5zOlB1YlN1Ykdyb3VwRGF0YVR5cGUiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJFbmFibGVkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIFNvdXJj -ZVR5cGU9InRuczpQdWJTdWJHcm91cERhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -U2VjdXJpdHlNb2RlIiBUeXBlTmFtZT0idG5zOk1lc3NhZ2VTZWN1cml0eU1vZGUiIFNvdXJjZVR5 -cGU9InRuczpQdWJTdWJHcm91cERhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vj -dXJpdHlHcm91cElkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgU291cmNlVHlwZT0idG5zOlB1YlN1 -Ykdyb3VwRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VjdXJpdHlLZXlT -ZXJ2aWNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNl -Y3VyaXR5S2V5U2VydmljZXMiIFR5cGVOYW1lPSJ0bnM6RW5kcG9pbnREZXNjcmlwdGlvbiIgTGVu -Z3RoRmllbGQ9Ik5vT2ZTZWN1cml0eUtleVNlcnZpY2VzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iTWF4TmV0d29ya01lc3NhZ2VTaXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlw -ZT0idG5zOlB1YlN1Ykdyb3VwRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m -R3JvdXBQcm9wZXJ0aWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iR3JvdXBQcm9wZXJ0aWVzIiBUeXBlTmFtZT0idG5zOktleVZhbHVlUGFpciIgTGVuZ3Ro -RmllbGQ9Ik5vT2ZHcm91cFByb3BlcnRpZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFu -c3BvcnRTZXR0aW5ncyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik1lc3NhZ2VTZXR0aW5ncyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVj -dCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEYXRhU2V0UmVhZGVycyIgVHlwZU5hbWU9 -Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRSZWFkZXJzIiBUeXBl -TmFtZT0idG5zOkRhdGFTZXRSZWFkZXJEYXRhVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZEYXRhU2V0 -UmVhZGVycyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk -VHlwZSBOYW1lPSJSZWFkZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0 -ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJSZWFkZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4 -dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 -dXJlZFR5cGUgTmFtZT0iRGF0YVNldFJlYWRlckRhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5z -aW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJvcGM6U3Ry -aW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5hYmxlZCIgVHlwZU5hbWU9Im9wYzpCb29s -ZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaGVySWQiIFR5cGVOYW1lPSJ1YTpW -YXJpYW50IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVyR3JvdXBJZCIgVHlwZU5hbWU9 -Im9wYzpVSW50MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0V3JpdGVySWQiIFR5 -cGVOYW1lPSJvcGM6VUludDE2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVNldE1ldGFE -YXRhIiBUeXBlTmFtZT0idG5zOkRhdGFTZXRNZXRhRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJEYXRhU2V0RmllbGRDb250ZW50TWFzayIgVHlwZU5hbWU9InRuczpEYXRhU2V0Rmll -bGRDb250ZW50TWFzayIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2VSZWNlaXZlVGlt -ZW91dCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1 -cml0eU1vZGUiIFR5cGVOYW1lPSJ0bnM6TWVzc2FnZVNlY3VyaXR5TW9kZSIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlNlY3VyaXR5R3JvdXBJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VjdXJpdHlLZXlTZXJ2aWNlcyIgVHlwZU5hbWU9Im9w -YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5S2V5U2VydmljZXMiIFR5 -cGVOYW1lPSJ0bnM6RW5kcG9pbnREZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZWN1cml0 -eUtleVNlcnZpY2VzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRhdGFTZXRSZWFkZXJQ +Ik1lc3NhZ2VTZXR0aW5ncyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEYXRhU2V0V3JpdGVycyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRXcml0ZXJzIiBUeXBlTmFtZT0idG5zOkRh +dGFTZXRXcml0ZXJEYXRhVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZEYXRhU2V0V3JpdGVycyIgLz4N +CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJX +cml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +Ij4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l +PSJXcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj +dCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt +ZT0iUHViU3ViQ29ubmVjdGlvbkRhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iRW5hYmxlZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaGVySWQiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNwb3J0UHJvZmlsZVVyaSIgVHlwZU5hbWU9Im9w +YzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGRyZXNzIiBUeXBlTmFtZT0idWE6 +RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkNvbm5lY3Rpb25Q cm9wZXJ0aWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -RGF0YVNldFJlYWRlclByb3BlcnRpZXMiIFR5cGVOYW1lPSJ0bnM6S2V5VmFsdWVQYWlyIiBMZW5n -dGhGaWVsZD0iTm9PZkRhdGFTZXRSZWFkZXJQcm9wZXJ0aWVzIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iVHJhbnNwb3J0U2V0dGluZ3MiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXNzYWdlU2V0dGluZ3MiIFR5cGVOYW1lPSJ1YTpFeHRl -bnNpb25PYmplY3QiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpYmVkRGF0YVNldCIg -VHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRhU2V0UmVhZGVyVHJhbnNwb3J0RGF0 -YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFTZXRSZWFkZXJNZXNzYWdl -RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlN1YnNjcmliZWREYXRhU2V0 +Q29ubmVjdGlvblByb3BlcnRpZXMiIFR5cGVOYW1lPSJ0bnM6S2V5VmFsdWVQYWlyIiBMZW5ndGhG +aWVsZD0iTm9PZkNvbm5lY3Rpb25Qcm9wZXJ0aWVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +VHJhbnNwb3J0U2V0dGluZ3MiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJOb09mV3JpdGVyR3JvdXBzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVyR3JvdXBzIiBUeXBlTmFtZT0idG5zOldyaXRl +ckdyb3VwRGF0YVR5cGUiIExlbmd0aEZpZWxkPSJOb09mV3JpdGVyR3JvdXBzIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTm9PZlJlYWRlckdyb3VwcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlYWRlckdyb3VwcyIgVHlwZU5hbWU9InRuczpSZWFkZXJH +cm91cERhdGFUeXBlIiBMZW5ndGhGaWVsZD0iTm9PZlJlYWRlckdyb3VwcyIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDb25uZWN0aW9u +VHJhbnNwb3J0RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29w +YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik5ldHdvcmtB +ZGRyZXNzRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTmV0d29ya0ludGVyZmFjZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTmV0 +d29ya0FkZHJlc3NVcmxEYXRhVHlwZSIgQmFzZVR5cGU9InRuczpOZXR3b3JrQWRkcmVzc0RhdGFU +eXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5ldHdvcmtJbnRlcmZhY2UiIFR5cGVOYW1lPSJv +cGM6U3RyaW5nIiBTb3VyY2VUeXBlPSJ0bnM6TmV0d29ya0FkZHJlc3NEYXRhVHlwZSIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlVybCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVhZGVyR3Jv +dXBEYXRhVHlwZSIgQmFzZVR5cGU9InRuczpQdWJTdWJHcm91cERhdGFUeXBlIj4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBTb3VyY2VUeXBlPSJ0bnM6 +UHViU3ViR3JvdXBEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuYWJsZWQiIFR5 +cGVOYW1lPSJvcGM6Qm9vbGVhbiIgU291cmNlVHlwZT0idG5zOlB1YlN1Ykdyb3VwRGF0YVR5cGUi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eU1vZGUiIFR5cGVOYW1lPSJ0bnM6TWVz +c2FnZVNlY3VyaXR5TW9kZSIgU291cmNlVHlwZT0idG5zOlB1YlN1Ykdyb3VwRGF0YVR5cGUiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eUdyb3VwSWQiIFR5cGVOYW1lPSJvcGM6U3Ry +aW5nIiBTb3VyY2VUeXBlPSJ0bnM6UHViU3ViR3JvdXBEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vT2ZTZWN1cml0eUtleVNlcnZpY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlLZXlTZXJ2aWNlcyIgVHlwZU5hbWU9InRu +czpFbmRwb2ludERlc2NyaXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZlNlY3VyaXR5S2V5U2Vydmlj +ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhOZXR3b3JrTWVzc2FnZVNpemUiIFR5cGVO +YW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6UHViU3ViR3JvdXBEYXRhVHlwZSIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZHcm91cFByb3BlcnRpZXMiIFR5cGVOYW1lPSJvcGM6 +SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJHcm91cFByb3BlcnRpZXMiIFR5cGVOYW1l +PSJ0bnM6S2V5VmFsdWVQYWlyIiBMZW5ndGhGaWVsZD0iTm9PZkdyb3VwUHJvcGVydGllcyIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyYW5zcG9ydFNldHRpbmdzIiBUeXBlTmFtZT0idWE6RXh0 +ZW5zaW9uT2JqZWN0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWVzc2FnZVNldHRpbmdzIiBU +eXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P +ZkRhdGFTZXRSZWFkZXJzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iRGF0YVNldFJlYWRlcnMiIFR5cGVOYW1lPSJ0bnM6RGF0YVNldFJlYWRlckRhdGFUeXBl +IiBMZW5ndGhGaWVsZD0iTm9PZkRhdGFTZXRSZWFkZXJzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk +VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlYWRlckdyb3VwVHJhbnNwb3J0 RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRhcmdldFZhcmlhYmxlc0Rh -dGFUeXBlIiBCYXNlVHlwZT0idG5zOlN1YnNjcmliZWREYXRhU2V0RGF0YVR5cGUiPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iTm9PZlRhcmdldFZhcmlhYmxlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldFZhcmlhYmxlcyIgVHlwZU5hbWU9InRuczpG -aWVsZFRhcmdldERhdGFUeXBlIiBMZW5ndGhGaWVsZD0iTm9PZlRhcmdldFZhcmlhYmxlcyIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJG -aWVsZFRhcmdldERhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRGaWVsZElkIiBUeXBlTmFtZT0ib3BjOkd1aWQiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJSZWNlaXZlckluZGV4UmFuZ2UiIFR5cGVOYW1lPSJvcGM6U3Ry -aW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGFyZ2V0Tm9kZUlkIiBUeXBlTmFtZT0idWE6 -Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXR0cmlidXRlSWQiIFR5cGVOYW1lPSJv -cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVJbmRleFJhbmdlIiBUeXBl -TmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik92ZXJyaWRlVmFsdWVI -YW5kbGluZyIgVHlwZU5hbWU9InRuczpPdmVycmlkZVZhbHVlSGFuZGxpbmciIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJPdmVycmlkZVZhbHVlIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgLz4NCiAg -PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJPdmVy -cmlkZVZhbHVlSGFuZGxpbmciIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRl -ZFZhbHVlIE5hbWU9IkRpc2FibGVkIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJMYXN0VXNlYWJsZVZhbHVlIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1l -cmF0ZWRWYWx1ZSBOYW1lPSJPdmVycmlkZVZhbHVlIiBWYWx1ZT0iMiIgLz4NCiAgPC9vcGM6RW51 -bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTdWJzY3JpYmVkRGF0 -YVNldE1pcnJvckRhdGFUeXBlIiBCYXNlVHlwZT0idG5zOlN1YnNjcmliZWREYXRhU2V0RGF0YVR5 -cGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGFyZW50Tm9kZU5hbWUiIFR5cGVOYW1lPSJvcGM6 -U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJvbGVQZXJtaXNzaW9ucyIgVHlw -ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJvbGVQZXJtaXNzaW9u -cyIgVHlwZU5hbWU9InRuczpSb2xlUGVybWlzc2lvblR5cGUiIExlbmd0aEZpZWxkPSJOb09mUm9s -ZVBlcm1pc3Npb25zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj -dHVyZWRUeXBlIE5hbWU9IlB1YlN1YkNvbmZpZ3VyYXRpb25EYXRhVHlwZSIgQmFzZVR5cGU9InVh -OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUHVibGlzaGVkRGF0 -YVNldHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJs -aXNoZWREYXRhU2V0cyIgVHlwZU5hbWU9InRuczpQdWJsaXNoZWREYXRhU2V0RGF0YVR5cGUiIExl -bmd0aEZpZWxkPSJOb09mUHVibGlzaGVkRGF0YVNldHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJOb09mQ29ubmVjdGlvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJDb25uZWN0aW9ucyIgVHlwZU5hbWU9InRuczpQdWJTdWJDb25uZWN0aW9uRGF0YVR5 -cGUiIExlbmd0aEZpZWxkPSJOb09mQ29ubmVjdGlvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJFbmFibGVkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRGF0YVNldE9yZGVyaW5nVHlwZSIg -TGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVW5kZWZp -bmVkIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBc2NlbmRp -bmdXcml0ZXJJZCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i -QXNjZW5kaW5nV3JpdGVySWRTaW5nbGUiIFZhbHVlPSIyIiAvPg0KICA8L29wYzpFbnVtZXJhdGVk -VHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlVhZHBOZXR3b3JrTWVzc2FnZUNv -bnRlbnRNYXNrIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO -YW1lPSJQdWJsaXNoZXJJZCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iR3JvdXBIZWFkZXIiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9IldyaXRlckdyb3VwSWQiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh -bHVlIE5hbWU9Ikdyb3VwVmVyc2lvbiIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk -VmFsdWUgTmFtZT0iTmV0d29ya01lc3NhZ2VOdW1iZXIiIFZhbHVlPSIxNiIgLz4NCiAgICA8b3Bj -OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTZXF1ZW5jZU51bWJlciIgVmFsdWU9IjMyIiAvPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlBheWxvYWRIZWFkZXIiIFZhbHVlPSI2NCIgLz4N -CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJUaW1lc3RhbXAiIFZhbHVlPSIxMjgiIC8+ -DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUGljb3NlY29uZHMiIFZhbHVlPSIyNTYi -IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGF0YVNldENsYXNzSWQiIFZhbHVl -PSI1MTIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUHJvbW90ZWRGaWVsZHMi -IFZhbHVlPSIxMDI0IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVj -dHVyZWRUeXBlIE5hbWU9IlVhZHBXcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIgQmFzZVR5cGU9 -InRuczpXcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJH -cm91cFZlcnNpb24iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iRGF0YVNldE9yZGVyaW5nIiBUeXBlTmFtZT0idG5zOkRhdGFTZXRPcmRlcmluZ1R5cGUiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiBUeXBlTmFt -ZT0idG5zOlVhZHBOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iU2FtcGxpbmdPZmZzZXQiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iTm9PZlB1Ymxpc2hpbmdPZmZzZXQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nT2Zmc2V0IiBUeXBlTmFtZT0ib3BjOkRv -dWJsZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZQdWJsaXNoaW5nT2Zmc2V0IiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlVhZHBEYXRhU2V0TWVz -c2FnZUNvbnRlbnRNYXNrIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJUaW1lc3RhbXAiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh -bHVlIE5hbWU9IlBpY29TZWNvbmRzIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJTdGF0dXMiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9Ik1ham9yVmVyc2lvbiIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs -dWUgTmFtZT0iTWlub3JWZXJzaW9uIiBWYWx1ZT0iMTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk -VmFsdWUgTmFtZT0iU2VxdWVuY2VOdW1iZXIiIFZhbHVlPSIzMiIgLz4NCiAgPC9vcGM6RW51bWVy -YXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVYWRwRGF0YVNldFdyaXRl -ck1lc3NhZ2VEYXRhVHlwZSIgQmFzZVR5cGU9InRuczpEYXRhU2V0V3JpdGVyTWVzc2FnZURhdGFU -eXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIFR5 -cGVOYW1lPSJ0bnM6VWFkcERhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJDb25maWd1cmVkU2l6ZSIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJOZXR3b3JrTWVzc2FnZU51bWJlciIgVHlwZU5hbWU9Im9wYzpVSW50 -MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0T2Zmc2V0IiBUeXBlTmFtZT0ib3Bj -OlVJbnQxNiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk -VHlwZSBOYW1lPSJVYWRwRGF0YVNldFJlYWRlck1lc3NhZ2VEYXRhVHlwZSIgQmFzZVR5cGU9InRu -czpEYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikdy -b3VwVmVyc2lvbiIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJOZXR3b3JrTWVzc2FnZU51bWJlciIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJEYXRhU2V0T2Zmc2V0IiBUeXBlTmFtZT0ib3BjOlVJbnQxNiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRDbGFzc0lkIiBUeXBlTmFtZT0ib3BjOkd1aWQiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiBUeXBlTmFt -ZT0idG5zOlVhZHBOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgVHlwZU5hbWU9InRuczpVYWRwRGF0YVNl -dE1lc3NhZ2VDb250ZW50TWFzayIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hpbmdJ -bnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS -ZWNlaXZlT2Zmc2V0IiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlByb2Nlc3NpbmdPZmZzZXQiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICA8L29wYzpT -dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9Ikpzb25OZXR3b3Jr -TWVzc2FnZUNvbnRlbnRNYXNrIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0 -ZWRWYWx1ZSBOYW1lPSJOZXR3b3JrTWVzc2FnZUhlYWRlciIgVmFsdWU9IjEiIC8+DQogICAgPG9w -YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGF0YVNldE1lc3NhZ2VIZWFkZXIiIFZhbHVlPSIyIiAv -Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNpbmdsZURhdGFTZXRNZXNzYWdlIiBW -YWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJQdWJsaXNoZXJJZCIg -VmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGF0YVNldENsYXNz -SWQiIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZXBseVRv -IiBWYWx1ZT0iMzIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 -dXJlZFR5cGUgTmFtZT0iSnNvbldyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIiBCYXNlVHlwZT0i -dG5zOldyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5l -dHdvcmtNZXNzYWdlQ29udGVudE1hc2siIFR5cGVOYW1lPSJ0bnM6SnNvbk5ldHdvcmtNZXNzYWdl -Q29udGVudE1hc2siIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVy -YXRlZFR5cGUgTmFtZT0iSnNvbkRhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIExlbmd0aEluQml0 -cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRhdGFTZXRXcml0ZXJJZCIg -VmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTWV0YURhdGFWZXJz -aW9uIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTZXF1ZW5j -ZU51bWJlciIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVGlt -ZXN0YW1wIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTdGF0 -dXMiIFZhbHVlPSIxNiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 -Y3R1cmVkVHlwZSBOYW1lPSJKc29uRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSIgQmFzZVR5 -cGU9InRuczpEYXRhU2V0V3JpdGVyTWVzc2FnZURhdGFUeXBlIj4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkRhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIFR5cGVOYW1lPSJ0bnM6SnNvbkRhdGFTZXRN -ZXNzYWdlQ29udGVudE1hc2siIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 -U3RydWN0dXJlZFR5cGUgTmFtZT0iSnNvbkRhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiIEJh -c2VUeXBlPSJ0bnM6RGF0YVNldFJlYWRlck1lc3NhZ2VEYXRhVHlwZSI+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiBUeXBlTmFtZT0idG5zOkpzb25OZXR3 -b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVNldE1l -c3NhZ2VDb250ZW50TWFzayIgVHlwZU5hbWU9InRuczpKc29uRGF0YVNldE1lc3NhZ2VDb250ZW50 -TWFzayIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJEYXRhZ3JhbUNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSIgQmFzZVR5cGU9InRu -czpDb25uZWN0aW9uVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlz -Y292ZXJ5QWRkcmVzcyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgPC9vcGM6 -U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRhZ3JhbVdy -aXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6V3JpdGVyR3JvdXBUcmFu -c3BvcnREYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXNzYWdlUmVwZWF0Q291bnQi -IFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2VSZXBl -YXREZWxheSIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl -Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJva2VyQ29ubmVjdGlvblRyYW5zcG9y -dERhdGFUeXBlIiBCYXNlVHlwZT0idG5zOkNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSI+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNvdXJjZVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdXRoZW50aWNhdGlvblByb2ZpbGVVcmkiIFR5cGVOYW1l -PSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1l -cmF0ZWRUeXBlIE5hbWU9IkJyb2tlclRyYW5zcG9ydFF1YWxpdHlPZlNlcnZpY2UiIExlbmd0aElu -Qml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vdFNwZWNpZmllZCIg -VmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQmVzdEVmZm9ydCIg -VmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQXRMZWFzdE9uY2Ui -IFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkF0TW9zdE9uY2Ui -IFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkV4YWN0bHlPbmNl -IiBWYWx1ZT0iNCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJCcm9rZXJXcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiBCYXNlVHlw -ZT0idG5zOldyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iUXVldWVOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlJlc291cmNlVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkF1dGhlbnRpY2F0aW9uUHJvZmlsZVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWREZWxpdmVyeUd1YXJhbnRlZSIgVHlwZU5h -bWU9InRuczpCcm9rZXJUcmFuc3BvcnRRdWFsaXR5T2ZTZXJ2aWNlIiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb2tlckRhdGFTZXRX -cml0ZXJUcmFuc3BvcnREYXRhVHlwZSIgQmFzZVR5cGU9InRuczpEYXRhU2V0V3JpdGVyVHJhbnNw -b3J0RGF0YVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVldWVOYW1lIiBUeXBlTmFtZT0i -b3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc291cmNlVXJpIiBUeXBlTmFt -ZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF1dGhlbnRpY2F0aW9uUHJv -ZmlsZVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJN -ZXRhRGF0YVF1ZXVlTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJNZXRhRGF0YVVwZGF0ZVRpbWUiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICA8 -L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb2tl -ckRhdGFTZXRSZWFkZXJUcmFuc3BvcnREYXRhVHlwZSIgQmFzZVR5cGU9InRuczpEYXRhU2V0UmVh -ZGVyVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVldWVOYW1lIiBU -eXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc291cmNlVXJp -IiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF1dGhlbnRp -Y2F0aW9uUHJvZmlsZVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJSZXF1ZXN0ZWREZWxpdmVyeUd1YXJhbnRlZSIgVHlwZU5hbWU9InRuczpCcm9rZXJU -cmFuc3BvcnRRdWFsaXR5T2ZTZXJ2aWNlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWV0YURh -dGFRdWV1ZU5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkRpYWdub3N0aWNzTGV2ZWwiIExl -bmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJhc2ljIiBW -YWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBZHZhbmNlZCIgVmFs -dWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW5mbyIgVmFsdWU9IjIi -IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTG9nIiBWYWx1ZT0iMyIgLz4NCiAg -ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEZWJ1ZyIgVmFsdWU9IjQiIC8+DQogIDwvb3Bj -OkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iUHViU3ViRGlh -Z25vc3RpY3NDb3VudGVyQ2xhc3NpZmljYXRpb24iIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkluZm9ybWF0aW9uIiBWYWx1ZT0iMCIgLz4NCiAgICA8 -b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJFcnJvciIgVmFsdWU9IjEiIC8+DQogIDwvb3BjOkVu -dW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iSWRUeXBlIiBMZW5n -dGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHR5cGUgb2YgaWRlbnRp -ZmllciB1c2VkIGluIGEgbm9kZSBpZC48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9Ik51bWVyaWMiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVy -YXRlZFZhbHVlIE5hbWU9IlN0cmluZyIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk -VmFsdWUgTmFtZT0iR3VpZCIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iT3BhcXVlIiBWYWx1ZT0iMyIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAg -PG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJOb2RlQ2xhc3MiIExlbmd0aEluQml0cz0iMzIiPg0K -ICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIG1hc2sgc3BlY2lmeWluZyB0aGUgY2xhc3Mgb2YgdGhl -IG5vZGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l -PSJVbnNwZWNpZmllZCIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt -ZT0iT2JqZWN0IiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJW -YXJpYWJsZSIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTWV0 -aG9kIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJPYmplY3RU -eXBlIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJWYXJpYWJs -ZVR5cGUiIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWZl -cmVuY2VUeXBlIiBWYWx1ZT0iMzIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i -RGF0YVR5cGUiIFZhbHVlPSI2NCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJW -aWV3IiBWYWx1ZT0iMTI4IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVu -dW1lcmF0ZWRUeXBlIE5hbWU9IkFjY2Vzc0xldmVsVHlwZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQog -ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9w -YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ3VycmVudFJlYWQiIFZhbHVlPSIxIiAvPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkN1cnJlbnRXcml0ZSIgVmFsdWU9IjIiIC8+DQogICAg -PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSGlzdG9yeVJlYWQiIFZhbHVlPSI0IiAvPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikhpc3RvcnlXcml0ZSIgVmFsdWU9IjE2IiAvPg0K -ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN0YXR1c1dyaXRlIiBWYWx1ZT0iMzIiIC8+ -DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVGltZXN0YW1wV3JpdGUiIFZhbHVlPSI2 -NCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBO -YW1lPSJBY2Nlc3NMZXZlbEV4VHlwZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVt -ZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk -VmFsdWUgTmFtZT0iQ3VycmVudFJlYWQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRl -ZFZhbHVlIE5hbWU9IkN1cnJlbnRXcml0ZSIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJh -dGVkVmFsdWUgTmFtZT0iSGlzdG9yeVJlYWQiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVy -YXRlZFZhbHVlIE5hbWU9Ikhpc3RvcnlXcml0ZSIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9IlN0YXR1c1dyaXRlIiBWYWx1ZT0iMzIiIC8+DQogICAgPG9wYzpF -bnVtZXJhdGVkVmFsdWUgTmFtZT0iVGltZXN0YW1wV3JpdGUiIFZhbHVlPSI2NCIgLz4NCiAgICA8 -b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25hdG9taWNSZWFkIiBWYWx1ZT0iNjU1MzYiIC8+ -DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uYXRvbWljV3JpdGUiIFZhbHVlPSIx -MzEwNzIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iV3JpdGVGdWxsQXJyYXlP -bmx5IiBWYWx1ZT0iMjYyMTQ0IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3Bj -OkVudW1lcmF0ZWRUeXBlIE5hbWU9IkV2ZW50Tm90aWZpZXJUeXBlIiBMZW5ndGhJbkJpdHM9IjMy -Ij4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25lIiBWYWx1ZT0iMCIgLz4NCiAg -ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTdWJzY3JpYmVUb0V2ZW50cyIgVmFsdWU9IjEi -IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSGlzdG9yeVJlYWQiIFZhbHVlPSI0 -IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikhpc3RvcnlXcml0ZSIgVmFsdWU9 -IjgiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg -TmFtZT0iUm9sZVBlcm1pc3Npb25UeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJvbGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlBlcm1pc3Npb25zIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJT -dHJ1Y3R1cmVUeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJTdHJ1Y3R1cmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9IlN0cnVjdHVyZVdpdGhPcHRpb25hbEZpZWxkcyIgVmFsdWU9IjEiIC8+DQogICAgPG9w -YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVW5pb24iIFZhbHVlPSIyIiAvPg0KICA8L29wYzpFbnVt -ZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlN0cnVjdHVyZUZpZWxk -IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5h -bWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3Jp -cHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iRGF0YVR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJWYWx1ZVJhbmsiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJOb09mQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3Ro -RmllbGQ9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhT -dHJpbmdMZW5ndGgiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iSXNPcHRpb25hbCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlN0cnVjdHVyZURlZmluaXRp -b24iIEJhc2VUeXBlPSJ0bnM6RGF0YVR5cGVEZWZpbml0aW9uIj4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkRlZmF1bHRFbmNvZGluZ0lkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iQmFzZURhdGFUeXBlIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iU3RydWN0dXJlVHlwZSIgVHlwZU5hbWU9InRuczpTdHJ1Y3R1cmVUeXBl -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkZpZWxkcyIgVHlwZU5hbWU9Im9wYzpJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpZWxkcyIgVHlwZU5hbWU9InRuczpTdHJ1Y3R1 -cmVGaWVsZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZGaWVsZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRW51bURlZmluaXRpb24iIEJhc2VU -eXBlPSJ0bnM6RGF0YVR5cGVEZWZpbml0aW9uIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZG -aWVsZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWVs -ZHMiIFR5cGVOYW1lPSJ0bnM6RW51bUZpZWxkIiBMZW5ndGhGaWVsZD0iTm9PZkZpZWxkcyIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJO -b2RlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRp -b24+U3BlY2lmaWVzIHRoZSBhdHRyaWJ1dGVzIHdoaWNoIGJlbG9uZyB0byBhbGwgbm9kZXMuPC9v -cGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9 -InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9 -InRuczpOb2RlQ2xhc3MiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBl -TmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlO -YW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJ0bnM6 -Um9sZVBlcm1pc3Npb25UeXBlIiBMZW5ndGhGaWVsZD0iTm9PZlJvbGVQZXJtaXNzaW9ucyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZVc2VyUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0i -b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlclJvbGVQZXJtaXNzaW9ucyIg -VHlwZU5hbWU9InRuczpSb2xlUGVybWlzc2lvblR5cGUiIExlbmd0aEZpZWxkPSJOb09mVXNlclJv -bGVQZXJtaXNzaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFjY2Vzc1Jlc3RyaWN0aW9u -cyIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVm -ZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl -ZmVyZW5jZXMiIFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlTm9kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZS -ZWZlcmVuY2VzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy -ZWRUeXBlIE5hbWU9Ikluc3RhbmNlTm9kZSIgQmFzZVR5cGU9InRuczpOb2RlIj4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5z -Ok5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6 -Tm9kZUNsYXNzIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBTb3VyY2VUeXBlPSJ0bnM6 -Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6 -TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9 -InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0i -b3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5v -ZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFt -ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUm9sZVBlcm1pc3Npb25zIiBU -eXBlTmFtZT0idG5zOlJvbGVQZXJtaXNzaW9uVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSb2xlUGVy -bWlzc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVXNlclJvbGVQZXJtaXNzaW9u -cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJSb2xl -UGVybWlzc2lvbnMiIFR5cGVOYW1lPSJ0bnM6Um9sZVBlcm1pc3Npb25UeXBlIiBMZW5ndGhGaWVs -ZD0iTm9PZlVzZXJSb2xlUGVybWlzc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBY2Nl -c3NSZXN0cmljdGlvbnMiIFR5cGVOYW1lPSJvcGM6VUludDE2IiBTb3VyY2VUeXBlPSJ0bnM6Tm9k -ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3Bj -OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRu -czpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogIDwvb3Bj -OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVHlwZU5vZGUi -IEJhc2VUeXBlPSJ0bnM6Tm9kZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVO -YW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgU291cmNlVHlwZT0idG5z -Ok5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6 -UXVhbGlmaWVkTmFtZSIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9 -InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1l -PSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRu -czpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9 -Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iTm9PZlJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9InRuczpSb2xlUGVybWlzc2lv -blR5cGUiIExlbmd0aEZpZWxkPSJOb09mUm9sZVBlcm1pc3Npb25zIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9PZlVzZXJSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0idG5z -OlJvbGVQZXJtaXNzaW9uVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZVc2VyUm9sZVBlcm1pc3Npb25z -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWNjZXNzUmVzdHJpY3Rpb25zIiBUeXBlTmFtZT0i -b3BjOlVJbnQxNiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJOb09mUmVmZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlTm9kZSIgTGVuZ3RoRmll -bGQ9Ik5vT2ZSZWZlcmVuY2VzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -OlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik9iamVjdE5vZGUiIEJhc2VUeXBlPSJ0bnM6SW5zdGFuY2VO -b2RlIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+U3BlY2lmaWVzIHRoZSBhdHRyaWJ1dGVzIHdo -aWNoIGJlbG9uZyB0byBvYmplY3Qgbm9kZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5z -Ok5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6 -Tm9kZUNsYXNzIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBTb3VyY2VUeXBlPSJ0bnM6 -Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6 -TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9 -InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0i -b3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5v -ZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFt -ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUm9sZVBlcm1pc3Npb25zIiBU -eXBlTmFtZT0idG5zOlJvbGVQZXJtaXNzaW9uVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSb2xlUGVy -bWlzc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVXNlclJvbGVQZXJtaXNzaW9u -cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJSb2xl -UGVybWlzc2lvbnMiIFR5cGVOYW1lPSJ0bnM6Um9sZVBlcm1pc3Npb25UeXBlIiBMZW5ndGhGaWVs -ZD0iTm9PZlVzZXJSb2xlUGVybWlzc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBY2Nl -c3NSZXN0cmljdGlvbnMiIFR5cGVOYW1lPSJvcGM6VUludDE2IiBTb3VyY2VUeXBlPSJ0bnM6Tm9k -ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3Bj -OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRu -czpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJFdmVudE5vdGlmaWVyIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwv -b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iT2JqZWN0 -VHlwZU5vZGUiIEJhc2VUeXBlPSJ0bnM6VHlwZU5vZGUiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlv -bj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIG9iamVjdCB0eXBlIG5v -ZGVzLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5 -cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgU291cmNlVHlwZT0i -dG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0i -dWE6UXVhbGlmaWVkTmFtZSIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5 -cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVO -YW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9 -InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5h -bWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTm9PZlJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9InRuczpSb2xlUGVybWlz -c2lvblR5cGUiIExlbmd0aEZpZWxkPSJOb09mUm9sZVBlcm1pc3Npb25zIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iTm9PZlVzZXJSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0i -dG5zOlJvbGVQZXJtaXNzaW9uVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZVc2VyUm9sZVBlcm1pc3Np -b25zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWNjZXNzUmVzdHJpY3Rpb25zIiBUeXBlTmFt -ZT0ib3BjOlVJbnQxNiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb09mUmVmZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlTm9kZSIgTGVuZ3Ro -RmllbGQ9Ik5vT2ZSZWZlcmVuY2VzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNBYnN0cmFj -dCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlZhcmlhYmxlTm9kZSIgQmFzZVR5cGU9InRuczpJ -bnN0YW5jZU5vZGUiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJp -YnV0ZXMgd2hpY2ggYmVsb25nIHRvIHZhcmlhYmxlIG5vZGVzLjwvb3BjOkRvY3VtZW50YXRpb24+ -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 -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWUiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZVJhbmsiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0ib3BjOklu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0i -b3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJBY2Nlc3NMZXZlbCIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iVXNlckFjY2Vzc0xldmVsIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9w -YzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJIaXN0b3JpemluZyIgVHlwZU5hbWU9 -Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWNjZXNzTGV2ZWxFeCIgVHlw -ZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 -U3RydWN0dXJlZFR5cGUgTmFtZT0iVmFyaWFibGVUeXBlTm9kZSIgQmFzZVR5cGU9InRuczpUeXBl -Tm9kZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0cmlidXRlcyB3 -aGljaCBiZWxvbmcgdG8gdmFyaWFibGUgdHlwZSBub2Rlcy48L29wYzpEb2N1bWVudGF0aW9uPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VU -eXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5h -bWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5 -cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVO -YW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291 -cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5 -cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBl -PSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSb2xlUGVybWlzc2lvbnMi -IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSb2xlUGVybWlz -c2lvbnMiIFR5cGVOYW1lPSJ0bnM6Um9sZVBlcm1pc3Npb25UeXBlIiBMZW5ndGhGaWVsZD0iTm9P -ZlJvbGVQZXJtaXNzaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZVc2VyUm9sZVBl -cm1pc3Npb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -VXNlclJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9InRuczpSb2xlUGVybWlzc2lvblR5cGUiIExl -bmd0aEZpZWxkPSJOb09mVXNlclJvbGVQZXJtaXNzaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkFjY2Vzc1Jlc3RyaWN0aW9ucyIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIFNvdXJjZVR5cGU9 -InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVO -YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBl -TmFtZT0idG5zOlJlZmVyZW5jZU5vZGUiIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlcyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFUeXBlIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iVmFsdWVSYW5rIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTm9PZkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9w -YzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mQXJyYXlEaW1lbnNpb25zIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iSXNBYnN0cmFjdCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29w -YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlZmVyZW5j -ZVR5cGVOb2RlIiBCYXNlVHlwZT0idG5zOlR5cGVOb2RlIj4NCiAgICA8b3BjOkRvY3VtZW50YXRp -b24+U3BlY2lmaWVzIHRoZSBhdHRyaWJ1dGVzIHdoaWNoIGJlbG9uZyB0byByZWZlcmVuY2UgdHlw -ZSBub2Rlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlk -IiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5 -cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5h -bWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3Vy -Y2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBU -eXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VU -eXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5 -cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJ0bnM6Um9sZVBl -cm1pc3Npb25UeXBlIiBMZW5ndGhGaWVsZD0iTm9PZlJvbGVQZXJtaXNzaW9ucyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vT2ZVc2VyUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0ib3BjOklu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlclJvbGVQZXJtaXNzaW9ucyIgVHlwZU5h -bWU9InRuczpSb2xlUGVybWlzc2lvblR5cGUiIExlbmd0aEZpZWxkPSJOb09mVXNlclJvbGVQZXJt -aXNzaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFjY2Vzc1Jlc3RyaWN0aW9ucyIgVHlw -ZU5hbWU9Im9wYzpVSW50MTYiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBlTmFtZT0idG5zOlJlZmVyZW5jZU5vZGUiIExl -bmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJz -dHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN5 -bW1ldHJpYyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -SW52ZXJzZU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1ldGhvZE5vZGUiIEJh -c2VUeXBlPSJ0bnM6SW5zdGFuY2VOb2RlIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+U3BlY2lm -aWVzIHRoZSBhdHRyaWJ1dGVzIHdoaWNoIGJlbG9uZyB0byBtZXRob2Qgbm9kZXMuPC9vcGM6RG9j +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlYWRlckdyb3VwTWVzc2Fn +ZURhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6U3RydWN0 +dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRhU2V0UmVhZGVyRGF0 +YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJF +bmFibGVkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQ +dWJsaXNoZXJJZCIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJXcml0ZXJHcm91cElkIiBUeXBlTmFtZT0ib3BjOlVJbnQxNiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkRhdGFTZXRXcml0ZXJJZCIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJEYXRhU2V0TWV0YURhdGEiIFR5cGVOYW1lPSJ0bnM6RGF0YVNldE1ldGFE +YXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRGaWVsZENvbnRlbnRNYXNr +IiBUeXBlTmFtZT0idG5zOkRhdGFTZXRGaWVsZENvbnRlbnRNYXNrIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTWVzc2FnZVJlY2VpdmVUaW1lb3V0IiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TW9kZSIgVHlwZU5hbWU9InRuczpNZXNzYWdl +U2VjdXJpdHlNb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlHcm91cElkIiBU +eXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZWN1cml0 +eUtleVNlcnZpY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iU2VjdXJpdHlLZXlTZXJ2aWNlcyIgVHlwZU5hbWU9InRuczpFbmRwb2ludERlc2NyaXB0aW9u +IiBMZW5ndGhGaWVsZD0iTm9PZlNlY3VyaXR5S2V5U2VydmljZXMiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb09mRGF0YVNldFJlYWRlclByb3BlcnRpZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0UmVhZGVyUHJvcGVydGllcyIgVHlwZU5h +bWU9InRuczpLZXlWYWx1ZVBhaXIiIExlbmd0aEZpZWxkPSJOb09mRGF0YVNldFJlYWRlclByb3Bl +cnRpZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc3BvcnRTZXR0aW5ncyIgVHlwZU5h +bWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2VT +ZXR0aW5ncyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlN1YnNjcmliZWREYXRhU2V0IiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAv +Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 +IkRhdGFTZXRSZWFkZXJUcmFuc3BvcnREYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iRGF0YVNldFJlYWRlck1lc3NhZ2VEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lv +bk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iU3Vic2NyaWJlZERhdGFTZXREYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lv +bk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iVGFyZ2V0VmFyaWFibGVzRGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6U3Vic2NyaWJl +ZERhdGFTZXREYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVGFyZ2V0VmFyaWFi +bGVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGFyZ2V0 +VmFyaWFibGVzIiBUeXBlTmFtZT0idG5zOkZpZWxkVGFyZ2V0RGF0YVR5cGUiIExlbmd0aEZpZWxk +PSJOb09mVGFyZ2V0VmFyaWFibGVzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 +b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkZpZWxkVGFyZ2V0RGF0YVR5cGUiIEJhc2VUeXBlPSJ1 +YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVNldEZpZWxkSWQi +IFR5cGVOYW1lPSJvcGM6R3VpZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlY2VpdmVySW5k +ZXhSYW5nZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJU +YXJnZXROb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJBdHRyaWJ1dGVJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJXcml0ZUluZGV4UmFuZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iT3ZlcnJpZGVWYWx1ZUhhbmRsaW5nIiBUeXBlTmFtZT0idG5zOk92ZXJyaWRl +VmFsdWVIYW5kbGluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik92ZXJyaWRlVmFsdWUiIFR5 +cGVOYW1lPSJ1YTpWYXJpYW50IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj +OkVudW1lcmF0ZWRUeXBlIE5hbWU9Ik92ZXJyaWRlVmFsdWVIYW5kbGluZyIgTGVuZ3RoSW5CaXRz +PSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGlzYWJsZWQiIFZhbHVlPSIw +IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikxhc3RVc2VhYmxlVmFsdWUiIFZh +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 +dGVkVmFsdWUgTmFtZT0iUGljb3NlY29uZHMiIFZhbHVlPSIyNTYiIC8+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 +cmF0ZWRWYWx1ZSBOYW1lPSJTdGF0dXMiIFZhbHVlPSIxNiIgLz4NCiAgPC9vcGM6RW51bWVyYXRl +ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJKc29uRGF0YVNldFdyaXRlck1l +c3NhZ2VEYXRhVHlwZSIgQmFzZVR5cGU9InRuczpEYXRhU2V0V3JpdGVyTWVzc2FnZURhdGFUeXBl +Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIFR5cGVO +YW1lPSJ0bnM6SnNvbkRhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIC8+DQogIDwvb3BjOlN0cnVj +dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSnNvbkRhdGFTZXRSZWFk +ZXJNZXNzYWdlRGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6RGF0YVNldFJlYWRlck1lc3NhZ2VEYXRh +VHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiBU +eXBlTmFtZT0idG5zOkpzb25OZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgVHlwZU5hbWU9InRuczpKc29u +RGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRhZ3JhbUNvbm5lY3Rpb25UcmFuc3BvcnRE +YXRhVHlwZSIgQmFzZVR5cGU9InRuczpDb25uZWN0aW9uVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iRGlzY292ZXJ5QWRkcmVzcyIgVHlwZU5hbWU9InVhOkV4dGVuc2lv +bk9iamVjdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk +VHlwZSBOYW1lPSJEYXRhZ3JhbVdyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiIEJhc2VUeXBl +PSJ0bnM6V3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJNZXNzYWdlUmVwZWF0Q291bnQiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik1lc3NhZ2VSZXBlYXREZWxheSIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJv +a2VyQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIiBCYXNlVHlwZT0idG5zOkNvbm5lY3Rpb25U +cmFuc3BvcnREYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNvdXJjZVVyaSIgVHlw +ZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdXRoZW50aWNhdGlv +blByb2ZpbGVVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk +VHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkJyb2tlclRyYW5zcG9ydFF1YWxp +dHlPZlNlcnZpY2UiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9Ik5vdFNwZWNpZmllZCIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs +dWUgTmFtZT0iQmVzdEVmZm9ydCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs +dWUgTmFtZT0iQXRMZWFzdE9uY2UiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh +bHVlIE5hbWU9IkF0TW9zdE9uY2UiIFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh +bHVlIE5hbWU9IkV4YWN0bHlPbmNlIiBWYWx1ZT0iNCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5 +cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm9rZXJXcml0ZXJHcm91cFRyYW5z +cG9ydERhdGFUeXBlIiBCYXNlVHlwZT0idG5zOldyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUi +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVldWVOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc291cmNlVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmlu +ZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF1dGhlbnRpY2F0aW9uUHJvZmlsZVVyaSIgVHlw +ZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWREZWxp +dmVyeUd1YXJhbnRlZSIgVHlwZU5hbWU9InRuczpCcm9rZXJUcmFuc3BvcnRRdWFsaXR5T2ZTZXJ2 +aWNlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl +IE5hbWU9IkJyb2tlckRhdGFTZXRXcml0ZXJUcmFuc3BvcnREYXRhVHlwZSIgQmFzZVR5cGU9InRu +czpEYXRhU2V0V3JpdGVyVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +UXVldWVOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlJlc291cmNlVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkF1dGhlbnRpY2F0aW9uUHJvZmlsZVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJNZXRhRGF0YVF1ZXVlTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJp +bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXRhRGF0YVVwZGF0ZVRpbWUiIFR5cGVOYW1l +PSJvcGM6RG91YmxlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj +dHVyZWRUeXBlIE5hbWU9IkJyb2tlckRhdGFTZXRSZWFkZXJUcmFuc3BvcnREYXRhVHlwZSIgQmFz +ZVR5cGU9InRuczpEYXRhU2V0UmVhZGVyVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iUXVldWVOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlJlc291cmNlVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IkF1dGhlbnRpY2F0aW9uUHJvZmlsZVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJp +bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWREZWxpdmVyeUd1YXJhbnRlZSIg +VHlwZU5hbWU9InRuczpCcm9rZXJUcmFuc3BvcnRRdWFsaXR5T2ZTZXJ2aWNlIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTWV0YURhdGFRdWV1ZU5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAv +Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9 +IkRpYWdub3N0aWNzTGV2ZWwiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRl +ZFZhbHVlIE5hbWU9IkJhc2ljIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 +ZSBOYW1lPSJBZHZhbmNlZCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg +TmFtZT0iSW5mbyIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i +TG9nIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEZWJ1ZyIg +VmFsdWU9IjQiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRl +ZFR5cGUgTmFtZT0iUHViU3ViRGlhZ25vc3RpY3NDb3VudGVyQ2xhc3NpZmljYXRpb24iIExlbmd0 +aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkluZm9ybWF0aW9u +IiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJFcnJvciIgVmFs +dWU9IjEiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5 +cGUgTmFtZT0iSWRUeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50YXRp +b24+VGhlIHR5cGUgb2YgaWRlbnRpZmllciB1c2VkIGluIGEgbm9kZSBpZC48L29wYzpEb2N1bWVu +dGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik51bWVyaWMiIFZhbHVlPSIw +IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN0cmluZyIgVmFsdWU9IjEiIC8+ +DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iR3VpZCIgVmFsdWU9IjIiIC8+DQogICAg +PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iT3BhcXVlIiBWYWx1ZT0iMyIgLz4NCiAgPC9vcGM6 +RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJOb2RlQ2xhc3Mi +IExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIG1hc2sgc3BlY2lm +eWluZyB0aGUgY2xhc3Mgb2YgdGhlIG5vZGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj +OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVbnNwZWNpZmllZCIgVmFsdWU9IjAiIC8+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iT2JqZWN0IiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVu +dW1lcmF0ZWRWYWx1ZSBOYW1lPSJWYXJpYWJsZSIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVt +ZXJhdGVkVmFsdWUgTmFtZT0iTWV0aG9kIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0 +ZWRWYWx1ZSBOYW1lPSJPYmplY3RUeXBlIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0 +ZWRWYWx1ZSBOYW1lPSJWYXJpYWJsZVR5cGUiIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1l +cmF0ZWRWYWx1ZSBOYW1lPSJSZWZlcmVuY2VUeXBlIiBWYWx1ZT0iMzIiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iRGF0YVR5cGUiIFZhbHVlPSI2NCIgLz4NCiAgICA8b3BjOkVu +dW1lcmF0ZWRWYWx1ZSBOYW1lPSJWaWV3IiBWYWx1ZT0iMTI4IiAvPg0KICA8L29wYzpFbnVtZXJh +dGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlBlcm1pc3Npb25UeXBlIiBM +ZW5ndGhJbkJpdHM9IjMyIiBJc09wdGlvblNldD0idHJ1ZSI+DQogICAgPG9wYzpFbnVtZXJhdGVk +VmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg +TmFtZT0iQnJvd3NlIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l +PSJSZWFkUm9sZVBlcm1pc3Npb25zIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJXcml0ZUF0dHJpYnV0ZSIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJh +dGVkVmFsdWUgTmFtZT0iV3JpdGVSb2xlUGVybWlzc2lvbnMiIFZhbHVlPSI4IiAvPg0KICAgIDxv +cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IldyaXRlSGlzdG9yaXppbmciIFZhbHVlPSIxNiIgLz4N +CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWFkIiBWYWx1ZT0iMzIiIC8+DQogICAg +PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iV3JpdGUiIFZhbHVlPSI2NCIgLz4NCiAgICA8b3Bj +OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWFkSGlzdG9yeSIgVmFsdWU9IjEyOCIgLz4NCiAgICA8 +b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnNlcnRIaXN0b3J5IiBWYWx1ZT0iMjU2IiAvPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik1vZGlmeUhpc3RvcnkiIFZhbHVlPSI1MTIi +IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGVsZXRlSGlzdG9yeSIgVmFsdWU9 +IjEwMjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVjZWl2ZUV2ZW50cyIg +VmFsdWU9IjIwNDgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ2FsbCIgVmFs +dWU9IjQwOTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQWRkUmVmZXJlbmNl +IiBWYWx1ZT0iODE5MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZW1vdmVS +ZWZlcmVuY2UiIFZhbHVlPSIxNjM4NCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l +PSJEZWxldGVOb2RlIiBWYWx1ZT0iMzI3NjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg +TmFtZT0iQWRkTm9kZSIgVmFsdWU9IjY1NTM2IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4N +Cg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkFjY2Vzc0xldmVsVHlwZSIgTGVuZ3RoSW5C +aXRzPSI4IiBJc09wdGlvblNldD0idHJ1ZSI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt +ZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ3Vy +cmVudFJlYWQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkN1 +cnJlbnRXcml0ZSIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i +SGlzdG9yeVJlYWQiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 +Ikhpc3RvcnlXcml0ZSIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h +bWU9IlN0YXR1c1dyaXRlIiBWYWx1ZT0iMzIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg +TmFtZT0iVGltZXN0YW1wV3JpdGUiIFZhbHVlPSI2NCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5 +cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJBY2Nlc3NMZXZlbEV4VHlwZSIgTGVu +Z3RoSW5CaXRzPSIzMiIgSXNPcHRpb25TZXQ9InRydWUiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh +bHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h +bWU9IkN1cnJlbnRSZWFkIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO +YW1lPSJDdXJyZW50V3JpdGUiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9Ikhpc3RvcnlSZWFkIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 +ZSBOYW1lPSJIaXN0b3J5V3JpdGUiIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJTdGF0dXNXcml0ZSIgVmFsdWU9IjMyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRl +ZFZhbHVlIE5hbWU9IlRpbWVzdGFtcFdyaXRlIiBWYWx1ZT0iNjQiIC8+DQogICAgPG9wYzpFbnVt +ZXJhdGVkVmFsdWUgTmFtZT0iTm9uYXRvbWljUmVhZCIgVmFsdWU9IjI1NiIgLz4NCiAgICA8b3Bj +OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25hdG9taWNXcml0ZSIgVmFsdWU9IjUxMiIgLz4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJXcml0ZUZ1bGxBcnJheU9ubHkiIFZhbHVlPSIx +MDI0IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBl +IE5hbWU9IkV2ZW50Tm90aWZpZXJUeXBlIiBMZW5ndGhJbkJpdHM9IjgiIElzT3B0aW9uU2V0PSJ0 +cnVlIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25lIiBWYWx1ZT0iMCIgLz4N +CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTdWJzY3JpYmVUb0V2ZW50cyIgVmFsdWU9 +IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSGlzdG9yeVJlYWQiIFZhbHVl +PSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikhpc3RvcnlXcml0ZSIgVmFs +dWU9IjgiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iUm9sZVBlcm1pc3Npb25UeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJvbGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlBlcm1pc3Npb25zIiBUeXBlTmFtZT0idG5zOlBlcm1pc3Np +b25UeXBlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRU +eXBlIE5hbWU9IlN0cnVjdHVyZVR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IlN0cnVjdHVyZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVt +ZXJhdGVkVmFsdWUgTmFtZT0iU3RydWN0dXJlV2l0aE9wdGlvbmFsRmllbGRzIiBWYWx1ZT0iMSIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVbmlvbiIgVmFsdWU9IjIiIC8+DQog +IDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3Ry +dWN0dXJlRmllbGQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJEYXRhVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlZhbHVlUmFuayIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6VUlu +dDMyIiBMZW5ndGhGaWVsZD0iTm9PZkFycmF5RGltZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik1heFN0cmluZ0xlbmd0aCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJJc09wdGlvbmFsIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwv +b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3RydWN0 +dXJlRGVmaW5pdGlvbiIgQmFzZVR5cGU9InRuczpEYXRhVHlwZURlZmluaXRpb24iPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iRGVmYXVsdEVuY29kaW5nSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCYXNlRGF0YVR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdHJ1Y3R1cmVUeXBlIiBUeXBlTmFtZT0idG5zOlN0 +cnVjdHVyZVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRmllbGRzIiBUeXBlTmFt +ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmllbGRzIiBUeXBlTmFtZT0i +dG5zOlN0cnVjdHVyZUZpZWxkIiBMZW5ndGhGaWVsZD0iTm9PZkZpZWxkcyIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFbnVtRGVmaW5p +dGlvbiIgQmFzZVR5cGU9InRuczpEYXRhVHlwZURlZmluaXRpb24iPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTm9PZkZpZWxkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkZpZWxkcyIgVHlwZU5hbWU9InRuczpFbnVtRmllbGQiIExlbmd0aEZpZWxkPSJOb09m +RmllbGRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU +eXBlIE5hbWU9Ik5vZGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 +RG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIGFs +bCBub2Rlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlk +IiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNsYXNz +IiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dz +ZU5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9 +Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJvbGVQZXJtaXNzaW9ucyIgVHlw +ZU5hbWU9InRuczpSb2xlUGVybWlzc2lvblR5cGUiIExlbmd0aEZpZWxkPSJOb09mUm9sZVBlcm1p +c3Npb25zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlVzZXJSb2xlUGVybWlzc2lvbnMi +IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyUm9sZVBl +cm1pc3Npb25zIiBUeXBlTmFtZT0idG5zOlJvbGVQZXJtaXNzaW9uVHlwZSIgTGVuZ3RoRmllbGQ9 +Ik5vT2ZVc2VyUm9sZVBlcm1pc3Npb25zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWNjZXNz +UmVzdHJpY3Rpb25zIiBUeXBlTmFtZT0ib3BjOlVJbnQxNiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5ndGhG +aWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv +cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSW5zdGFuY2VOb2RlIiBCYXNlVHlwZT0idG5zOk5vZGUi +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3Vy +Y2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlw +ZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJj +ZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5 +cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIg +U291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2si +IFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VU +eXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSb2xlUGVybWlzc2lv +bnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSb2xlUGVy +bWlzc2lvbnMiIFR5cGVOYW1lPSJ0bnM6Um9sZVBlcm1pc3Npb25UeXBlIiBMZW5ndGhGaWVsZD0i +Tm9PZlJvbGVQZXJtaXNzaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZVc2VyUm9s +ZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iVXNlclJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9InRuczpSb2xlUGVybWlzc2lvblR5cGUi +IExlbmd0aEZpZWxkPSJOb09mVXNlclJvbGVQZXJtaXNzaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkFjY2Vzc1Jlc3RyaWN0aW9ucyIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIFNvdXJjZVR5 +cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5 +cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBU +eXBlTmFtZT0idG5zOlJlZmVyZW5jZU5vZGUiIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlcyIg +Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l +PSJUeXBlTm9kZSIgQmFzZVR5cGU9InRuczpOb2RlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v +ZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNzIiBTb3Vy +Y2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5hbWUiIFR5 +cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIg +U291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlv +biIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291 +cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNr +IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOb09mUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0idG5zOlJv +bGVQZXJtaXNzaW9uVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSb2xlUGVybWlzc2lvbnMiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVXNlclJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9Im9w +YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJSb2xlUGVybWlzc2lvbnMiIFR5 +cGVOYW1lPSJ0bnM6Um9sZVBlcm1pc3Npb25UeXBlIiBMZW5ndGhGaWVsZD0iTm9PZlVzZXJSb2xl +UGVybWlzc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBY2Nlc3NSZXN0cmljdGlvbnMi +IFR5cGVOYW1lPSJvcGM6VUludDE2IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VOb2Rl +IiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iT2JqZWN0Tm9kZSIgQmFzZVR5cGU9InRu +czpJbnN0YW5jZU5vZGUiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0 +dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIG9iamVjdCBub2Rlcy48L29wYzpEb2N1bWVudGF0aW9u +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3Vy +Y2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlw +ZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJj +ZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5 +cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIg +U291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2si +IFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VU +eXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSb2xlUGVybWlzc2lv +bnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSb2xlUGVy +bWlzc2lvbnMiIFR5cGVOYW1lPSJ0bnM6Um9sZVBlcm1pc3Npb25UeXBlIiBMZW5ndGhGaWVsZD0i +Tm9PZlJvbGVQZXJtaXNzaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZVc2VyUm9s +ZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iVXNlclJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9InRuczpSb2xlUGVybWlzc2lvblR5cGUi +IExlbmd0aEZpZWxkPSJOb09mVXNlclJvbGVQZXJtaXNzaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkFjY2Vzc1Jlc3RyaWN0aW9ucyIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIFNvdXJjZVR5 +cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5 +cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBU +eXBlTmFtZT0idG5zOlJlZmVyZW5jZU5vZGUiIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlcyIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50Tm90aWZpZXIiIFR5cGVOYW1lPSJvcGM6Qnl0 +ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO +YW1lPSJPYmplY3RUeXBlTm9kZSIgQmFzZVR5cGU9InRuczpUeXBlTm9kZSI+DQogICAgPG9wYzpE +b2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gb2Jq +ZWN0IHR5cGUgbm9kZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNzIiBT +b3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5hbWUi +IFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4 +dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlw +dGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg +U291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVN +YXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJOb09mUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0ib3BjOkludDMy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0idG5z +OlJvbGVQZXJtaXNzaW9uVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSb2xlUGVybWlzc2lvbnMiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVXNlclJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9 +Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJSb2xlUGVybWlzc2lvbnMi +IFR5cGVOYW1lPSJ0bnM6Um9sZVBlcm1pc3Npb25UeXBlIiBMZW5ndGhGaWVsZD0iTm9PZlVzZXJS +b2xlUGVybWlzc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBY2Nlc3NSZXN0cmljdGlv +bnMiIFR5cGVOYW1lPSJvcGM6VUludDE2IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VO +b2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJJc0Fic3RyYWN0IiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVmFyaWFibGVOb2RlIiBCYXNl +VHlwZT0idG5zOkluc3RhbmNlTm9kZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlNwZWNpZmll +cyB0aGUgYXR0cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gdmFyaWFibGUgbm9kZXMuPC9vcGM6RG9j dW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5v ZGVJZCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rl Q2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNzIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4N @@ -14521,2124 +14500,2219 @@ PG9wYzpGaWVsZCBOYW1lPSJBY2Nlc3NSZXN0cmljdGlvbnMiIFR5cGVOYW1lPSJvcGM6VUludDE2 IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZl cmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVm ZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJl -ZmVyZW5jZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFeGVjdXRhYmxlIiBUeXBlTmFtZT0i -b3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyRXhlY3V0YWJsZSIgVHlw -ZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -OlN0cnVjdHVyZWRUeXBlIE5hbWU9IlZpZXdOb2RlIiBCYXNlVHlwZT0idG5zOkluc3RhbmNlTm9k -ZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNv -dXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNsYXNzIiBU -eXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgU291 -cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIg -VHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0 -IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFz -ayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJj -ZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJvbGVQZXJtaXNz -aW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJvbGVQ -ZXJtaXNzaW9ucyIgVHlwZU5hbWU9InRuczpSb2xlUGVybWlzc2lvblR5cGUiIExlbmd0aEZpZWxk -PSJOb09mUm9sZVBlcm1pc3Npb25zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlVzZXJS -b2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJVc2VyUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0idG5zOlJvbGVQZXJtaXNzaW9uVHlw -ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZVc2VyUm9sZVBlcm1pc3Npb25zIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iQWNjZXNzUmVzdHJpY3Rpb25zIiBUeXBlTmFtZT0ib3BjOlVJbnQxNiIgU291cmNl -VHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlcyIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXMi -IFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlTm9kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2Vz -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29udGFpbnNOb0xvb3BzIiBUeXBlTmFtZT0ib3Bj -OkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVudE5vdGlmaWVyIiBUeXBlTmFt -ZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 -dXJlZFR5cGUgTmFtZT0iRGF0YVR5cGVOb2RlIiBCYXNlVHlwZT0idG5zOlR5cGVOb2RlIj4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlw -ZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1l -PSJ0bnM6Tm9kZUNsYXNzIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBTb3VyY2VUeXBl -PSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFt +ZmVyZW5jZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZh +cmlhbnQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZSIgVHlwZU5hbWU9InVhOk5v +ZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlUmFuayIgVHlwZU5hbWU9Im9wYzpJ +bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIFR5cGVO +YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBcnJheURpbWVuc2lvbnMi +IFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkFycmF5RGltZW5zaW9ucyIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFjY2Vzc0xldmVsIiBUeXBlTmFtZT0ib3BjOkJ5dGUi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyQWNjZXNzTGV2ZWwiIFR5cGVOYW1lPSJvcGM6 +Qnl0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1pbmltdW1TYW1wbGluZ0ludGVydmFsIiBU +eXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikhpc3Rvcml6aW5n +IiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBY2Nlc3NM +ZXZlbEV4IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ +DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJWYXJpYWJsZVR5cGVOb2RlIiBCYXNlVHlw +ZT0idG5zOlR5cGVOb2RlIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+U3BlY2lmaWVzIHRoZSBh +dHRyaWJ1dGVzIHdoaWNoIGJlbG9uZyB0byB2YXJpYWJsZSB0eXBlIG5vZGVzLjwvb3BjOkRvY3Vt +ZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2Rl +SWQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNs +YXNzIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFt +ZSIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5 +TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6 +ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ildy +aXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIi +IFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJvbGVQ +ZXJtaXNzaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9InRuczpSb2xlUGVybWlzc2lvblR5cGUiIExlbmd0 +aEZpZWxkPSJOb09mUm9sZVBlcm1pc3Npb25zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P +ZlVzZXJSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJVc2VyUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0idG5zOlJvbGVQZXJtaXNz +aW9uVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZVc2VyUm9sZVBlcm1pc3Npb25zIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iQWNjZXNzUmVzdHJpY3Rpb25zIiBUeXBlTmFtZT0ib3BjOlVJbnQxNiIg +U291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJl +bmNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVy +ZW5jZXMiIFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlTm9kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZl +cmVuY2VzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWUiIFR5cGVOYW1lPSJ1YTpWYXJp +YW50IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5cGUiIFR5cGVOYW1lPSJ1YTpOb2Rl +SWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZVJhbmsiIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFt +ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXJyYXlEaW1lbnNpb25zIiBU +eXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0Fic3RyYWN0IiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4i +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt +ZT0iUmVmZXJlbmNlVHlwZU5vZGUiIEJhc2VUeXBlPSJ0bnM6VHlwZU5vZGUiPg0KICAgIDxvcGM6 +RG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIHJl +ZmVyZW5jZSB0eXBlIG5vZGVzLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFz +cyIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VO +YW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXpl +ZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVz +Y3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9k +ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50 +MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldy +aXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9Im9wYzpJ +bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9 +InRuczpSb2xlUGVybWlzc2lvblR5cGUiIExlbmd0aEZpZWxkPSJOb09mUm9sZVBlcm1pc3Npb25z +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlVzZXJSb2xlUGVybWlzc2lvbnMiIFR5cGVO +YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyUm9sZVBlcm1pc3Np +b25zIiBUeXBlTmFtZT0idG5zOlJvbGVQZXJtaXNzaW9uVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZV +c2VyUm9sZVBlcm1pc3Npb25zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWNjZXNzUmVzdHJp +Y3Rpb25zIiBUeXBlTmFtZT0ib3BjOlVJbnQxNiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJ0bnM6UmVmZXJl +bmNlTm9kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2VzIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iSXNBYnN0cmFjdCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iU3ltbWV0cmljIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJJbnZlcnNlTmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTWV0 +aG9kTm9kZSIgQmFzZVR5cGU9InRuczpJbnN0YW5jZU5vZGUiPg0KICAgIDxvcGM6RG9jdW1lbnRh +dGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIG1ldGhvZCBub2Rl +cy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBl +TmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRu +czpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVh +OlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBl +PSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFt ZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJj -ZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBl -TmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0i -dG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUm9sZVBlcm1pc3Npb25zIiBU -eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUm9sZVBlcm1pc3Np -b25zIiBUeXBlTmFtZT0idG5zOlJvbGVQZXJtaXNzaW9uVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZS -b2xlUGVybWlzc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVXNlclJvbGVQZXJt -aXNzaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVz -ZXJSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJ0bnM6Um9sZVBlcm1pc3Npb25UeXBlIiBMZW5n -dGhGaWVsZD0iTm9PZlVzZXJSb2xlUGVybWlzc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJBY2Nlc3NSZXN0cmljdGlvbnMiIFR5cGVOYW1lPSJvcGM6VUludDE2IiBTb3VyY2VUeXBlPSJ0 -bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFt -ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5h -bWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJJc0Fic3RyYWN0IiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZURlZmluaXRpb24iIFR5cGVOYW1lPSJ1YTpF -eHRlbnNpb25PYmplY3QiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry -dWN0dXJlZFR5cGUgTmFtZT0iUmVmZXJlbmNlTm9kZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i -amVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlNwZWNpZmllcyBhIHJlZmVyZW5jZSB3aGlj -aCBiZWxvbmdzIHRvIGEgbm9kZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iUmVmZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iSXNJbnZlcnNlIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJUYXJnZXRJZCIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0K -ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFy -Z3VtZW50IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50 -YXRpb24+QW4gYXJndW1lbnQgZm9yIGEgbWV0aG9kLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IkRhdGFUeXBlIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iVmFsdWVSYW5rIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iTm9PZkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpVSW50 -MzIiIExlbmd0aEZpZWxkPSJOb09mQXJyYXlEaW1lbnNpb25zIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICA8L29w -YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkVudW1WYWx1 -ZVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRh -dGlvbj5BIG1hcHBpbmcgYmV0d2VlbiBhIHZhbHVlIG9mIGFuIGVudW1lcmF0ZWQgdHlwZSBhbmQg -YSBuYW1lIGFuZCBkZXNjcmlwdGlvbi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iVmFsdWUiIFR5cGVOYW1lPSJvcGM6SW50NjQiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+ -DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i -RW51bUZpZWxkIiBCYXNlVHlwZT0idG5zOkVudW1WYWx1ZVR5cGUiPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iVmFsdWUiIFR5cGVOYW1lPSJvcGM6SW50NjQiIFNvdXJjZVR5cGU9InRuczpFbnVtVmFs -dWVUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1 -YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6RW51bVZhbHVlVHlwZSIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIg -U291cmNlVHlwZT0idG5zOkVudW1WYWx1ZVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO -YW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJPcHRpb25TZXQiIEJhc2VUeXBlPSJ1YTpFeHRl -bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGlzIGFic3RyYWN0IFN0cnVj -dHVyZWQgRGF0YVR5cGUgaXMgdGhlIGJhc2UgRGF0YVR5cGUgZm9yIGFsbCBEYXRhVHlwZXMgcmVw -cmVzZW50aW5nIGEgYml0IG1hc2suPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJWYWxpZEJpdHMiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6 -U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVbmlvbiIgQmFz -ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoaXMg -YWJzdHJhY3QgRGF0YVR5cGUgaXMgdGhlIGJhc2UgRGF0YVR5cGUgZm9yIGFsbCB1bmlvbiBEYXRh -VHlwZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg -PG9wYzpPcGFxdWVUeXBlIE5hbWU9Ik5vcm1hbGl6ZWRTdHJpbmciPg0KICAgIDxvcGM6RG9jdW1l -bnRhdGlvbj5BIHN0cmluZyBub3JtYWxpemVkIGJhc2VkIG9uIHRoZSBydWxlcyBpbiB0aGUgdW5p -Y29kZSBzcGVjaWZpY2F0aW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5 -cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkRlY2ltYWxTdHJpbmciPg0KICAgIDxvcGM6 -RG9jdW1lbnRhdGlvbj5BbiBhcmJpdHJhdHkgbnVtZXJpYyB2YWx1ZS48L29wYzpEb2N1bWVudGF0 -aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJEdXJh -dGlvblN0cmluZyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgcGVyaW9kIG9mIHRpbWUgZm9y -bWF0dGVkIGFzIGRlZmluZWQgaW4gSVNPIDg2MDEtMjAwMC48L29wYzpEb2N1bWVudGF0aW9uPg0K -ICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJUaW1lU3RyaW5n -Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSB0aW1lIGZvcm1hdHRlZCBhcyBkZWZpbmVkIGlu -IElTTyA4NjAxLTIwMDAuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4N -Cg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iRGF0ZVN0cmluZyI+DQogICAgPG9wYzpEb2N1bWVu -dGF0aW9uPkEgZGF0ZSBmb3JtYXR0ZWQgYXMgZGVmaW5lZCBpbiBJU08gODYwMS0yMDAwLjwvb3Bj +aWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0 +bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1l +PSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ik5vT2ZSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJ0bnM6Um9sZVBlcm1pc3Np +b25UeXBlIiBMZW5ndGhGaWVsZD0iTm9PZlJvbGVQZXJtaXNzaW9ucyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vT2ZVc2VyUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlclJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9InRu +czpSb2xlUGVybWlzc2lvblR5cGUiIExlbmd0aEZpZWxkPSJOb09mVXNlclJvbGVQZXJtaXNzaW9u +cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFjY2Vzc1Jlc3RyaWN0aW9ucyIgVHlwZU5hbWU9 +Im9wYzpVSW50MTYiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBlTmFtZT0idG5zOlJlZmVyZW5jZU5vZGUiIExlbmd0aEZp +ZWxkPSJOb09mUmVmZXJlbmNlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV4ZWN1dGFibGUi +IFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJFeGVj +dXRhYmxlIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVmlld05vZGUiIEJhc2VUeXBlPSJ0bnM6 +SW5zdGFuY2VOb2RlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVh +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+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb250YWluc05vTG9vcHMiIFR5 +cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50Tm90aWZp +ZXIiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg +PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRhVHlwZU5vZGUiIEJhc2VUeXBlPSJ0bnM6VHlw +ZU5vZGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlk +IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFz +cyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUi +IFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5h +bWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVk +VGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0 +ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBT +b3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSb2xlUGVy +bWlzc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS +b2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJ0bnM6Um9sZVBlcm1pc3Npb25UeXBlIiBMZW5ndGhG +aWVsZD0iTm9PZlJvbGVQZXJtaXNzaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZV +c2VyUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iVXNlclJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9InRuczpSb2xlUGVybWlzc2lv +blR5cGUiIExlbmd0aEZpZWxkPSJOb09mVXNlclJvbGVQZXJtaXNzaW9ucyIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IkFjY2Vzc1Jlc3RyaWN0aW9ucyIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIFNv +dXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5j +ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVu +Y2VzIiBUeXBlTmFtZT0idG5zOlJlZmVyZW5jZU5vZGUiIExlbmd0aEZpZWxkPSJOb09mUmVmZXJl +bmNlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5cGVOYW1lPSJvcGM6 +Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFUeXBlRGVmaW5pdGlvbiIgVHlw +ZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWZlcmVuY2VOb2RlIiBCYXNlVHlwZT0idWE6 +RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+U3BlY2lmaWVzIGEgcmVm +ZXJlbmNlIHdoaWNoIGJlbG9uZ3MgdG8gYSBub2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0ludmVyc2UiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldElkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWRO +b2RlSWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iQXJndW1lbnQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv +cGM6RG9jdW1lbnRhdGlvbj5BbiBhcmd1bWVudCBmb3IgYSBtZXRob2QuPC9vcGM6RG9jdW1lbnRh +dGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZVJhbmsiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0ib3Bj +OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFt +ZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQi +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt +ZT0iRW51bVZhbHVlVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w +YzpEb2N1bWVudGF0aW9uPkEgbWFwcGluZyBiZXR3ZWVuIGEgdmFsdWUgb2YgYW4gZW51bWVyYXRl +ZCB0eXBlIGFuZCBhIG5hbWUgYW5kIGRlc2NyaXB0aW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9Im9wYzpJbnQ2NCIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxp +emVkVGV4dCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk +VHlwZSBOYW1lPSJFbnVtRmllbGQiIEJhc2VUeXBlPSJ0bnM6RW51bVZhbHVlVHlwZSI+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9Im9wYzpJbnQ2NCIgU291cmNlVHlwZT0i +dG5zOkVudW1WYWx1ZVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIg +VHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpFbnVtVmFsdWVUeXBl +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2Nh +bGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6RW51bVZhbHVlVHlwZSIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik9wdGlvblNldCIgQmFzZVR5 +cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoaXMgYWJz +dHJhY3QgU3RydWN0dXJlZCBEYXRhVHlwZSBpcyB0aGUgYmFzZSBEYXRhVHlwZSBmb3IgYWxsIERh +dGFUeXBlcyByZXByZXNlbnRpbmcgYSBiaXQgbWFzay48L29wYzpEb2N1bWVudGF0aW9uPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iVmFsdWUiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlZhbGlkQml0cyIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAv +Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 +IlVuaW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50 +YXRpb24+VGhpcyBhYnN0cmFjdCBEYXRhVHlwZSBpcyB0aGUgYmFzZSBEYXRhVHlwZSBmb3IgYWxs +IHVuaW9uIERhdGFUeXBlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpTdHJ1Y3R1cmVk +VHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iTm9ybWFsaXplZFN0cmluZyI+DQogICAg +PG9wYzpEb2N1bWVudGF0aW9uPkEgc3RyaW5nIG5vcm1hbGl6ZWQgYmFzZWQgb24gdGhlIHJ1bGVz +IGluIHRoZSB1bmljb2RlIHNwZWNpZmljYXRpb24uPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9v +cGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iRGVjaW1hbFN0cmluZyI+ +DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkFuIGFyYml0cmF0eSBudW1lcmljIHZhbHVlLjwvb3Bj OkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBl -IE5hbWU9IkR1cmF0aW9uIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBwZXJpb2Qgb2YgdGlt -ZSBtZWFzdXJlZCBpbiBtaWxsaXNlY29uZHMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6 -T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iVXRjVGltZSI+DQogICAgPG9w -YzpEb2N1bWVudGF0aW9uPkEgZGF0ZS90aW1lIHZhbHVlIHNwZWNpZmllZCBpbiBVbml2ZXJzYWwg -Q29vcmRpbmF0ZWQgVGltZSAoVVRDKS48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFx -dWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJMb2NhbGVJZCI+DQogICAgPG9wYzpE -b2N1bWVudGF0aW9uPkFuIGlkZW50aWZpZXIgZm9yIGEgdXNlciBsb2NhbGUuPC9vcGM6RG9jdW1l -bnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9IlRpbWVab25lRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iT2Zmc2V0IiBUeXBlTmFtZT0ib3BjOkludDE2IiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iRGF5bGlnaHRTYXZpbmdJbk9mZnNldCIgVHlwZU5hbWU9Im9wYzpCb29s -ZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFt -ZT0iSW50ZWdlcklkIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBudW1lcmljIGlkZW50aWZp -ZXIgZm9yIGFuIG9iamVjdC48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBl -Pg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iQXBwbGljYXRpb25UeXBlIiBMZW5ndGhJ -bkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHR5cGVzIG9mIGFwcGxpY2F0 -aW9ucy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 -IlNlcnZlciIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ2xp -ZW50IiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDbGllbnRB -bmRTZXJ2ZXIiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRp -c2NvdmVyeVNlcnZlciIgVmFsdWU9IjMiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQog -IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQXBwbGljYXRpb25EZXNjcmlwdGlvbiIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkRlc2NyaWJl -cyBhbiBhcHBsaWNhdGlvbiBhbmQgaG93IHRvIGZpbmQgaXQuPC9vcGM6RG9jdW1lbnRhdGlvbj4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkFwcGxpY2F0aW9uVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmlu -ZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByb2R1Y3RVcmkiIFR5cGVOYW1lPSJvcGM6U3Ry -aW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXBwbGljYXRpb25OYW1lIiBUeXBlTmFtZT0i -dWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFwcGxpY2F0aW9uVHlw -ZSIgVHlwZU5hbWU9InRuczpBcHBsaWNhdGlvblR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJHYXRld2F5U2VydmVyVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkRpc2NvdmVyeVByb2ZpbGVVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpc2NvdmVyeVVybHMiIFR5cGVOYW1lPSJvcGM6SW50 -MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNjb3ZlcnlVcmxzIiBUeXBlTmFtZT0ib3Bj -OlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaXNjb3ZlcnlVcmxzIiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlcXVlc3RIZWFkZXIi +IE5hbWU9IkR1cmF0aW9uU3RyaW5nIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBwZXJpb2Qg +b2YgdGltZSBmb3JtYXR0ZWQgYXMgZGVmaW5lZCBpbiBJU08gODYwMS0yMDAwLjwvb3BjOkRvY3Vt +ZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9 +IlRpbWVTdHJpbmciPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHRpbWUgZm9ybWF0dGVkIGFz +IGRlZmluZWQgaW4gSVNPIDg2MDEtMjAwMC48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpP +cGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJEYXRlU3RyaW5nIj4NCiAgICA8 +b3BjOkRvY3VtZW50YXRpb24+QSBkYXRlIGZvcm1hdHRlZCBhcyBkZWZpbmVkIGluIElTTyA4NjAx +LTIwMDAuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3Bj +Ok9wYXF1ZVR5cGUgTmFtZT0iRHVyYXRpb24iPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHBl +cmlvZCBvZiB0aW1lIG1lYXN1cmVkIGluIG1pbGxpc2Vjb25kcy48L29wYzpEb2N1bWVudGF0aW9u +Pg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJVdGNUaW1l +Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBkYXRlL3RpbWUgdmFsdWUgc3BlY2lmaWVkIGlu +IFVuaXZlcnNhbCBDb29yZGluYXRlZCBUaW1lIChVVEMpLjwvb3BjOkRvY3VtZW50YXRpb24+DQog +IDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkxvY2FsZUlkIj4N +CiAgICA8b3BjOkRvY3VtZW50YXRpb24+QW4gaWRlbnRpZmllciBmb3IgYSB1c2VyIGxvY2FsZS48 +L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6U3RydWN0 +dXJlZFR5cGUgTmFtZT0iVGltZVpvbmVEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJPZmZzZXQiIFR5cGVOYW1lPSJvcGM6SW50MTYi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXlsaWdodFNhdmluZ0luT2Zmc2V0IiBUeXBlTmFt +ZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6T3Bh +cXVlVHlwZSBOYW1lPSJJbnRlZ2VySWQiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIG51bWVy +aWMgaWRlbnRpZmllciBmb3IgYW4gb2JqZWN0Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3Bj +Ok9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJBcHBsaWNhdGlvblR5 +cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgdHlwZXMg +b2YgYXBwbGljYXRpb25zLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpFbnVtZXJhdGVk +VmFsdWUgTmFtZT0iU2VydmVyIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 +ZSBOYW1lPSJDbGllbnQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h +bWU9IkNsaWVudEFuZFNlcnZlciIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs +dWUgTmFtZT0iRGlzY292ZXJ5U2VydmVyIiBWYWx1ZT0iMyIgLz4NCiAgPC9vcGM6RW51bWVyYXRl +ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBcHBsaWNhdGlvbkRlc2NyaXB0 +aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRp +b24+RGVzY3JpYmVzIGFuIGFwcGxpY2F0aW9uIGFuZCBob3cgdG8gZmluZCBpdC48L29wYzpEb2N1 +bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXBwbGljYXRpb25VcmkiIFR5cGVOYW1l +PSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJvZHVjdFVyaSIgVHlwZU5h +bWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBcHBsaWNhdGlvbk5hbWUi +IFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXBw +bGljYXRpb25UeXBlIiBUeXBlTmFtZT0idG5zOkFwcGxpY2F0aW9uVHlwZSIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IkdhdGV3YXlTZXJ2ZXJVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY292ZXJ5UHJvZmlsZVVyaSIgVHlwZU5hbWU9Im9wYzpT +dHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlzY292ZXJ5VXJscyIgVHlwZU5h +bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2NvdmVyeVVybHMiIFR5 +cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZkRpc2NvdmVyeVVybHMiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVx +dWVzdEhlYWRlciIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1 +bWVudGF0aW9uPlRoZSBoZWFkZXIgcGFzc2VkIHdpdGggZXZlcnkgc2VydmVyIHJlcXVlc3QuPC9v +cGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF1dGhlbnRpY2F0aW9uVG9r +ZW4iIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lc3Rh +bXAiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 +ZXN0SGFuZGxlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlJldHVybkRpYWdub3N0aWNzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkF1ZGl0RW50cnlJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJUaW1lb3V0SGludCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJBZGRpdGlvbmFsSGVhZGVyIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9u +T2JqZWN0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU +eXBlIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N +CiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIGhlYWRlciBwYXNzZWQgd2l0aCBldmVyeSBzZXJ2 +ZXIgcmVzcG9uc2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRp +bWVzdGFtcCIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlJlcXVlc3RIYW5kbGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iU2VydmljZVJlc3VsdCIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJTZXJ2aWNlRGlhZ25vc3RpY3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGlj +SW5mbyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTdHJpbmdUYWJsZSIgVHlwZU5hbWU9 +Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0cmluZ1RhYmxlIiBUeXBlTmFt +ZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZTdHJpbmdUYWJsZSIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IkFkZGl0aW9uYWxIZWFkZXIiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmpl +Y3QiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1l +PSJWZXJzaW9uVGltZSI+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk +VHlwZSBOYW1lPSJTZXJ2aWNlRmF1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K +ICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgcmVzcG9uc2UgcmV0dXJuZWQgYnkgYWxsIHNlcnZp +Y2VzIHdoZW4gdGhlcmUgaXMgYSBzZXJ2aWNlIGxldmVsIGVycm9yLjwvb3BjOkRvY3VtZW50YXRp +b24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpS +ZXNwb25zZUhlYWRlciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 +Y3R1cmVkVHlwZSBOYW1lPSJTZXNzaW9ubGVzc0ludm9rZVJlcXVlc3RUeXBlIiBCYXNlVHlwZT0i +dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZVcmlzVmVyc2lv +biIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVyaXNWZXJz +aW9uIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZVcmlzVmVyc2lvbiIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOYW1lc3BhY2VVcmlzIiBUeXBlTmFtZT0ib3Bj +OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmFtZXNwYWNlVXJpcyIgVHlwZU5hbWU9 +Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mTmFtZXNwYWNlVXJpcyIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJVcmlzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iU2VydmVyVXJpcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0 +aEZpZWxkPSJOb09mU2VydmVyVXJpcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZMb2Nh +bGVJZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMb2Nh +bGVJZHMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZkxvY2FsZUlkcyIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZpY2VJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIi +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt +ZT0iU2Vzc2lvbmxlc3NJbnZva2VSZXNwb25zZVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P +YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5hbWVzcGFjZVVyaXMiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lc3BhY2VVcmlzIiBUeXBl +TmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZOYW1lc3BhY2VVcmlzIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlcnZlclVyaXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJVcmlzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIg +TGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJVcmlzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vy +dmljZUlkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ +DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJGaW5kU2VydmVyc1JlcXVlc3QiIEJhc2VU +eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5GaW5kcyB0 +aGUgc2VydmVycyBrbm93biB0byB0aGUgZGlzY292ZXJ5IHNlcnZlci48L29wYzpEb2N1bWVudGF0 +aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpS +ZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kcG9pbnRVcmwiIFR5cGVO +YW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxvY2FsZUlkcyIg +VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsZUlkcyIg +VHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mTG9jYWxlSWRzIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlcnZlclVyaXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJVcmlzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIg +TGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJVcmlzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N +Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkZpbmRTZXJ2ZXJzUmVzcG9uc2UiIEJhc2VU +eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5GaW5kcyB0 +aGUgc2VydmVycyBrbm93biB0byB0aGUgZGlzY292ZXJ5IHNlcnZlci48L29wYzpEb2N1bWVudGF0 +aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6 +UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VydmVycyIgVHlw +ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlcnMiIFR5cGVO +YW1lPSJ0bnM6QXBwbGljYXRpb25EZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJz +IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9IlNlcnZlck9uTmV0d29yayIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJSZWNvcmRJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkRpc2NvdmVyeVVybCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VydmVyQ2FwYWJpbGl0aWVzIiBUeXBlTmFtZT0i +b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyQ2FwYWJpbGl0aWVzIiBU +eXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJDYXBhYmlsaXRpZXMi +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt +ZT0iRmluZFNlcnZlcnNPbk5ldHdvcmtSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6 +UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXJ0aW5nUmVjb3JkSWQi +IFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4UmVjb3Jk +c1RvUmV0dXJuIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5vT2ZTZXJ2ZXJDYXBhYmlsaXR5RmlsdGVyIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iU2VydmVyQ2FwYWJpbGl0eUZpbHRlciIgVHlwZU5hbWU9Im9wYzpT +dHJpbmciIExlbmd0aEZpZWxkPSJOb09mU2VydmVyQ2FwYWJpbGl0eUZpbHRlciIgLz4NCiAgPC9v +cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJGaW5kU2Vy +dmVyc09uTmV0d29ya1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNl +SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdENvdW50ZXJSZXNldFRpbWUiIFR5 +cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VydmVy +cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlcnMi +IFR5cGVOYW1lPSJ0bnM6U2VydmVyT25OZXR3b3JrIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlcnMi +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJB +cHBsaWNhdGlvbkluc3RhbmNlQ2VydGlmaWNhdGUiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5B +IGNlcnRpZmljYXRlIGZvciBhbiBpbnN0YW5jZSBvZiBhbiBhcHBsaWNhdGlvbi48L29wYzpEb2N1 +bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUg +TmFtZT0iTWVzc2FnZVNlY3VyaXR5TW9kZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpE +b2N1bWVudGF0aW9uPlRoZSB0eXBlIG9mIHNlY3VyaXR5IHRvIHVzZSBvbiBhIG1lc3NhZ2UuPC9v +cGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnZhbGlk +IiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25lIiBWYWx1 +ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTaWduIiBWYWx1ZT0iMiIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTaWduQW5kRW5jcnlwdCIgVmFsdWU9 +IjMiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUg +TmFtZT0iVXNlclRva2VuVHlwZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpEb2N1bWVu +dGF0aW9uPlRoZSBwb3NzaWJsZSB1c2VyIHRva2VuIHR5cGVzLjwvb3BjOkRvY3VtZW50YXRpb24+ +DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQW5vbnltb3VzIiBWYWx1ZT0iMCIgLz4N +CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVc2VyTmFtZSIgVmFsdWU9IjEiIC8+DQog +ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ2VydGlmaWNhdGUiIFZhbHVlPSIyIiAvPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Iklzc3VlZFRva2VuIiBWYWx1ZT0iMyIgLz4N +CiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJV +c2VyVG9rZW5Qb2xpY3kiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 +RG9jdW1lbnRhdGlvbj5EZXNjcmliZXMgYSB1c2VyIHRva2VuIHRoYXQgY2FuIGJlIHVzZWQgd2l0 +aCBhIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUG9s +aWN5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVG9r +ZW5UeXBlIiBUeXBlTmFtZT0idG5zOlVzZXJUb2tlblR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJJc3N1ZWRUb2tlblR5cGUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iSXNzdWVyRW5kcG9pbnRVcmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlQb2xpY3lVcmkiIFR5cGVOYW1lPSJvcGM6U3Ry +aW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl +IE5hbWU9IkVuZHBvaW50RGVzY3JpcHRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi +Pg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgZGVzY3JpcHRpb24gb2YgYSBlbmRwb2ludCB0 +aGF0IGNhbiBiZSB1c2VkIHRvIGFjY2VzcyBhIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kcG9pbnRVcmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyIiBUeXBlTmFtZT0idG5zOkFwcGxpY2F0aW9u +RGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJDZXJ0aWZpY2F0ZSIg +VHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJp +dHlNb2RlIiBUeXBlTmFtZT0idG5zOk1lc3NhZ2VTZWN1cml0eU1vZGUiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJTZWN1cml0eVBvbGljeVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVXNlcklkZW50aXR5VG9rZW5zIiBUeXBlTmFtZT0ib3Bj +OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcklkZW50aXR5VG9rZW5zIiBUeXBl +TmFtZT0idG5zOlVzZXJUb2tlblBvbGljeSIgTGVuZ3RoRmllbGQ9Ik5vT2ZVc2VySWRlbnRpdHlU +b2tlbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc3BvcnRQcm9maWxlVXJpIiBUeXBl +TmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TGV2ZWwi +IFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w +YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJHZXRFbmRwb2ludHNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6 +RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+R2V0cyB0aGUgZW5kcG9p +bnRzIHVzZWQgYnkgdGhlIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kcG9pbnRVcmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxvY2FsZUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsZUlkcyIgVHlwZU5hbWU9Im9wYzpTdHJp +bmciIExlbmd0aEZpZWxkPSJOb09mTG9jYWxlSWRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +Tm9PZlByb2ZpbGVVcmlzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iUHJvZmlsZVVyaXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9P +ZlByb2ZpbGVVcmlzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj +dHVyZWRUeXBlIE5hbWU9IkdldEVuZHBvaW50c1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5z +aW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+R2V0cyB0aGUgZW5kcG9pbnRzIHVz +ZWQgYnkgdGhlIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJOb09mRW5kcG9pbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kcG9pbnRzIiBUeXBlTmFtZT0idG5zOkVuZHBvaW50RGVz +Y3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mRW5kcG9pbnRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlZ2lzdGVyZWRTZXJ2ZXIi IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5U -aGUgaGVhZGVyIHBhc3NlZCB3aXRoIGV2ZXJ5IHNlcnZlciByZXF1ZXN0Ljwvb3BjOkRvY3VtZW50 -YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdXRoZW50aWNhdGlvblRva2VuIiBUeXBlTmFt -ZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGltZXN0YW1wIiBUeXBlTmFt -ZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhhbmRsZSIg -VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXR1cm5EaWFn -bm9zdGljcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJB -dWRpdEVudHJ5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iVGltZW91dEhpbnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iQWRkaXRpb25hbEhlYWRlciIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJS -ZXNwb25zZUhlYWRlciIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpE -b2N1bWVudGF0aW9uPlRoZSBoZWFkZXIgcGFzc2VkIHdpdGggZXZlcnkgc2VydmVyIHJlc3BvbnNl -Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lc3RhbXAiIFR5 -cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGFu -ZGxlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZp -Y2VSZXN1bHQiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iU2VydmljZURpYWdub3N0aWNzIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU3RyaW5nVGFibGUiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdHJpbmdUYWJsZSIgVHlwZU5hbWU9Im9wYzpTdHJp -bmciIExlbmd0aEZpZWxkPSJOb09mU3RyaW5nVGFibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJBZGRpdGlvbmFsSGVhZGVyIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICA8 -L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iVmVyc2lvblRp -bWUiPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i -U2VydmljZUZhdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRv -Y3VtZW50YXRpb24+VGhlIHJlc3BvbnNlIHJldHVybmVkIGJ5IGFsbCBzZXJ2aWNlcyB3aGVuIHRo -ZXJlIGlzIGEgc2VydmljZSBsZXZlbCBlcnJvci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFk -ZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg -TmFtZT0iU2Vzc2lvbmxlc3NJbnZva2VSZXF1ZXN0VHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lv -bk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVXJpc1ZlcnNpb24iIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVcmlzVmVyc2lvbiIgVHlwZU5h -bWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mVXJpc1ZlcnNpb24iIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJOb09mTmFtZXNwYWNlVXJpcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWVzcGFjZVVyaXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5n -IiBMZW5ndGhGaWVsZD0iTm9PZk5hbWVzcGFjZVVyaXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJOb09mU2VydmVyVXJpcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlNlcnZlclVyaXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9P -ZlNlcnZlclVyaXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTG9jYWxlSWRzIiBUeXBl -TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTG9jYWxlSWRzIiBUeXBl -TmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZMb2NhbGVJZHMiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJTZXJ2aWNlSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29w -YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNlc3Npb25s -ZXNzSW52b2tlUmVzcG9uc2VUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOYW1lc3BhY2VVcmlzIiBUeXBlTmFtZT0ib3BjOkludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmFtZXNwYWNlVXJpcyIgVHlwZU5hbWU9Im9wYzpT -dHJpbmciIExlbmd0aEZpZWxkPSJOb09mTmFtZXNwYWNlVXJpcyIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vT2ZTZXJ2ZXJVcmlzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iU2VydmVyVXJpcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxk -PSJOb09mU2VydmVyVXJpcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZpY2VJZCIgVHlw -ZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 -U3RydWN0dXJlZFR5cGUgTmFtZT0iRmluZFNlcnZlcnNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0 -ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+RmluZHMgdGhlIHNlcnZlcnMg -a25vd24gdG8gdGhlIGRpc2NvdmVyeSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRl -ciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZHBvaW50VXJsIiBUeXBlTmFtZT0ib3BjOlN0 -cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZMb2NhbGVJZHMiIFR5cGVOYW1lPSJv -cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMb2NhbGVJZHMiIFR5cGVOYW1lPSJv -cGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZkxvY2FsZUlkcyIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vT2ZTZXJ2ZXJVcmlzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iU2VydmVyVXJpcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxk -PSJOb09mU2VydmVyVXJpcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT -dHJ1Y3R1cmVkVHlwZSBOYW1lPSJGaW5kU2VydmVyc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0 -ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+RmluZHMgdGhlIHNlcnZlcnMg -a25vd24gdG8gdGhlIGRpc2NvdmVyeSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVh -ZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlcnZlcnMiIFR5cGVOYW1lPSJvcGM6 -SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJzIiBUeXBlTmFtZT0idG5zOkFw -cGxpY2F0aW9uRGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mU2VydmVycyIgLz4NCiAgPC9v -cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXJ2ZXJP -bk5ldHdvcmsiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iUmVjb3JkSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iU2VydmVyTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJEaXNjb3ZlcnlVcmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iTm9PZlNlcnZlckNhcGFiaWxpdGllcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlckNhcGFiaWxpdGllcyIgVHlwZU5hbWU9Im9w -YzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mU2VydmVyQ2FwYWJpbGl0aWVzIiAvPg0KICA8L29w -YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkZpbmRTZXJ2 -ZXJzT25OZXR3b3JrUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFk -ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGFydGluZ1JlY29yZElkIiBUeXBlTmFtZT0i -b3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heFJlY29yZHNUb1JldHVybiIg -VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VydmVy -Q2FwYWJpbGl0eUZpbHRlciIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlNlcnZlckNhcGFiaWxpdHlGaWx0ZXIiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5n -dGhGaWVsZD0iTm9PZlNlcnZlckNhcGFiaWxpdHlGaWx0ZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRmluZFNlcnZlcnNPbk5ldHdv -cmtSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxhc3RDb3VudGVyUmVzZXRUaW1lIiBUeXBlTmFtZT0ib3Bj -OkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlcnZlcnMiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJzIiBUeXBlTmFtZT0i -dG5zOlNlcnZlck9uTmV0d29yayIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJzIiAvPg0KICA8L29w -YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iQXBwbGljYXRpb25J -bnN0YW5jZUNlcnRpZmljYXRlIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBjZXJ0aWZpY2F0 -ZSBmb3IgYW4gaW5zdGFuY2Ugb2YgYW4gYXBwbGljYXRpb24uPC9vcGM6RG9jdW1lbnRhdGlvbj4N -CiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9Ik1lc3Nh -Z2VTZWN1cml0eU1vZGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlv -bj5UaGUgdHlwZSBvZiBzZWN1cml0eSB0byB1c2Ugb24gYSBtZXNzYWdlLjwvb3BjOkRvY3VtZW50 -YXRpb24+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW52YWxpZCIgVmFsdWU9IjAi -IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjEiIC8+DQog -ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU2lnbiIgVmFsdWU9IjIiIC8+DQogICAgPG9w -YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU2lnbkFuZEVuY3J5cHQiIFZhbHVlPSIzIiAvPg0KICA8 -L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlVzZXJU -b2tlblR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUg -cG9zc2libGUgdXNlciB0b2tlbiB0eXBlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6 -RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFub255bW91cyIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpF -bnVtZXJhdGVkVmFsdWUgTmFtZT0iVXNlck5hbWUiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9IkNlcnRpZmljYXRlIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVu -dW1lcmF0ZWRWYWx1ZSBOYW1lPSJJc3N1ZWRUb2tlbiIgVmFsdWU9IjMiIC8+DQogIDwvb3BjOkVu -dW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVXNlclRva2VuUG9s -aWN5IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRp -b24+RGVzY3JpYmVzIGEgdXNlciB0b2tlbiB0aGF0IGNhbiBiZSB1c2VkIHdpdGggYSBzZXJ2ZXIu -PC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBvbGljeUlkIiBUeXBl -TmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRva2VuVHlwZSIgVHlw -ZU5hbWU9InRuczpVc2VyVG9rZW5UeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNzdWVk -VG9rZW5UeXBlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -Iklzc3VlckVuZHBvaW50VXJsIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlNlY3VyaXR5UG9saWN5VXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAg -PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFbmRw -b2ludERlc2NyaXB0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj -OkRvY3VtZW50YXRpb24+VGhlIGRlc2NyaXB0aW9uIG9mIGEgZW5kcG9pbnQgdGhhdCBjYW4gYmUg -dXNlZCB0byBhY2Nlc3MgYSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkVuZHBvaW50VXJsIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlNlcnZlciIgVHlwZU5hbWU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9u -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyQ2VydGlmaWNhdGUiIFR5cGVOYW1lPSJv -cGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TW9kZSIgVHlw -ZU5hbWU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -U2VjdXJpdHlQb2xpY3lVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9PZlVzZXJJZGVudGl0eVRva2VucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJJZGVudGl0eVRva2VucyIgVHlwZU5hbWU9InRuczpV -c2VyVG9rZW5Qb2xpY3kiIExlbmd0aEZpZWxkPSJOb09mVXNlcklkZW50aXR5VG9rZW5zIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNwb3J0UHJvZmlsZVVyaSIgVHlwZU5hbWU9Im9wYzpT -dHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eUxldmVsIiBUeXBlTmFtZT0i -b3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl -ZFR5cGUgTmFtZT0iR2V0RW5kcG9pbnRzUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i -amVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkdldHMgdGhlIGVuZHBvaW50cyB1c2VkIGJ5 +aGUgaW5mb3JtYXRpb24gcmVxdWlyZWQgdG8gcmVnaXN0ZXIgYSBzZXJ2ZXIgd2l0aCBhIGRpc2Nv +dmVyeSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNl +cnZlclVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQ +cm9kdWN0VXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5vT2ZTZXJ2ZXJOYW1lcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlNlcnZlck5hbWVzIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgTGVuZ3RoRmll +bGQ9Ik5vT2ZTZXJ2ZXJOYW1lcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclR5cGUi +IFR5cGVOYW1lPSJ0bnM6QXBwbGljYXRpb25UeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +R2F0ZXdheVNlcnZlclVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb09mRGlzY292ZXJ5VXJscyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkRpc2NvdmVyeVVybHMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5n +dGhGaWVsZD0iTm9PZkRpc2NvdmVyeVVybHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZW1h +cGhvcmVGaWxlUGF0aCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJJc09ubGluZSIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlZ2lzdGVyU2VydmVyUmVx +dWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0 +aW9uPlJlZ2lzdGVycyBhIHNlcnZlciB3aXRoIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwvb3BjOkRv +Y3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFt +ZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXIiIFR5 +cGVOYW1lPSJ0bnM6UmVnaXN0ZXJlZFNlcnZlciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ +DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWdpc3RlclNlcnZlclJlc3BvbnNlIiBC +YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+UmVn +aXN0ZXJzIGEgc2VydmVyIHdpdGggdGhlIGRpc2NvdmVyeSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRh +dGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5z +OlJlc3BvbnNlSGVhZGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9IkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIEJhc2VUeXBlPSJ1YTpF +eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIGJhc2UgdHlwZSBmb3Ig +ZGlzY292ZXJ5IGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24uPC9vcGM6RG9jdW1lbnRhdGlvbj4N +CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJN +ZG5zRGlzY292ZXJ5Q29uZmlndXJhdGlvbiIgQmFzZVR5cGU9InRuczpEaXNjb3ZlcnlDb25maWd1 +cmF0aW9uIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIGRpc2NvdmVyeSBpbmZvcm1hdGlv +biBuZWVkZWQgZm9yIG1ETlMgcmVnaXN0cmF0aW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJNZG5zU2VydmVyTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VydmVyQ2FwYWJpbGl0aWVzIiBUeXBlTmFtZT0i +b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyQ2FwYWJpbGl0aWVzIiBU +eXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJDYXBhYmlsaXRpZXMi +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt +ZT0iUmVnaXN0ZXJTZXJ2ZXIyUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVl +c3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXIiIFR5cGVOYW1lPSJ0bnM6 +UmVnaXN0ZXJlZFNlcnZlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaXNjb3ZlcnlD +b25maWd1cmF0aW9uIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iRGlzY292ZXJ5Q29uZmlndXJhdGlvbiIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIg +TGVuZ3RoRmllbGQ9Ik5vT2ZEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlZ2lzdGVyU2VydmVy +MlJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkNvbmZpZ3VyYXRpb25SZXN1bHRzIiBUeXBlTmFtZT0i +b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29uZmlndXJhdGlvblJlc3VsdHMi +IFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZkNvbmZpZ3VyYXRpb25S +ZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlw +ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZv +cyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0 +aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVk +VHlwZSBOYW1lPSJTZWN1cml0eVRva2VuUmVxdWVzdFR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0K +ICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5JbmRpY2F0ZXMgd2hldGhlciBhIHRva2VuIGlmIGJlaW5n +IGNyZWF0ZWQgb3IgcmVuZXdlZC48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RW51bWVy +YXRlZFZhbHVlIE5hbWU9Iklzc3VlIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJSZW5ldyIgVmFsdWU9IjEiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0K +DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ2hhbm5lbFNlY3VyaXR5VG9rZW4iIEJhc2VU +eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgdG9r +ZW4gdGhhdCBpZGVudGlmaWVzIGEgc2V0IG9mIGtleXMgZm9yIGFuIGFjdGl2ZSBzZWN1cmUgY2hh +bm5lbC48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2hhbm5lbElk +IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRva2VuSWQi +IFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3JlYXRlZEF0 +IiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNl +ZExpZmV0aW1lIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 +cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJPcGVuU2VjdXJlQ2hhbm5lbFJlcXVl +c3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlv +bj5DcmVhdGVzIGEgc2VjdXJlIGNoYW5uZWwgd2l0aCBhIHNlcnZlci48L29wYzpEb2N1bWVudGF0 +aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpS +ZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50UHJvdG9jb2xWZXJz +aW9uIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVl +c3RUeXBlIiBUeXBlTmFtZT0idG5zOlNlY3VyaXR5VG9rZW5SZXF1ZXN0VHlwZSIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TW9kZSIgVHlwZU5hbWU9InRuczpNZXNzYWdlU2VjdXJp +dHlNb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50Tm9uY2UiIFR5cGVOYW1lPSJv +cGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZExpZmV0aW1l +IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg +PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJPcGVuU2VjdXJlQ2hhbm5lbFJlc3BvbnNlIiBCYXNl +VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q3JlYXRl +cyBhIHNlY3VyZSBjaGFubmVsIHdpdGggYSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNl +SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyUHJvdG9jb2xWZXJzaW9uIiBU +eXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5VG9r +ZW4iIFR5cGVOYW1lPSJ0bnM6Q2hhbm5lbFNlY3VyaXR5VG9rZW4iIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJTZXJ2ZXJOb25jZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29w +YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNsb3NlU2Vj +dXJlQ2hhbm5lbFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv +cGM6RG9jdW1lbnRhdGlvbj5DbG9zZXMgYSBzZWN1cmUgY2hhbm5lbC48L29wYzpEb2N1bWVudGF0 +aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpS +ZXF1ZXN0SGVhZGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj +dHVyZWRUeXBlIE5hbWU9IkNsb3NlU2VjdXJlQ2hhbm5lbFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6 +RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q2xvc2VzIGEgc2VjdXJl +IGNoYW5uZWwuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3Bv +bnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNpZ25lZFNvZnR3YXJl +Q2VydGlmaWNhdGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9j +dW1lbnRhdGlvbj5BIHNvZnR3YXJlIGNlcnRpZmljYXRlIHdpdGggYSBkaWdpdGFsIHNpZ25hdHVy +ZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2VydGlmaWNhdGVE +YXRhIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT +aWduYXR1cmUiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl +ZFR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IlNlc3Npb25BdXRoZW50aWNhdGlvblRv +a2VuIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSB1bmlxdWUgaWRlbnRpZmllciBmb3IgYSBz +ZXNzaW9uIHVzZWQgdG8gYXV0aGVudGljYXRlIHJlcXVlc3RzLjwvb3BjOkRvY3VtZW50YXRpb24+ +DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTaWdu +YXR1cmVEYXRhIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3Vt +ZW50YXRpb24+QSBkaWdpdGFsIHNpZ25hdHVyZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iQWxnb3JpdGhtIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlNpZ25hdHVyZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0K +ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNy +ZWF0ZVNlc3Npb25SZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8 +b3BjOkRvY3VtZW50YXRpb24+Q3JlYXRlcyBhIG5ldyBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48 +L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIg +VHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xp +ZW50RGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ0bnM6QXBwbGljYXRpb25EZXNjcmlwdGlvbiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJpbmci +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXNzaW9uTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJp +bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnROb25jZSIgVHlwZU5hbWU9Im9wYzpC +eXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50Q2VydGlmaWNhdGUiIFR5 +cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3Rl +ZFNlc3Npb25UaW1lb3V0IiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik1heFJlc3BvbnNlTWVzc2FnZVNpemUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K +ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNy +ZWF0ZVNlc3Npb25SZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg +PG9wYzpEb2N1bWVudGF0aW9uPkNyZWF0ZXMgYSBuZXcgc2Vzc2lvbiB3aXRoIHRoZSBzZXJ2ZXIu +PC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVy +IiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +U2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +QXV0aGVudGljYXRpb25Ub2tlbiIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlJldmlzZWRTZXNzaW9uVGltZW91dCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJOb25jZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3Ry +aW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyQ2VydGlmaWNhdGUiIFR5cGVOYW1l +PSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJFbmRw +b2ludHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2 +ZXJFbmRwb2ludHMiIFR5cGVOYW1lPSJ0bnM6RW5kcG9pbnREZXNjcmlwdGlvbiIgTGVuZ3RoRmll +bGQ9Ik5vT2ZTZXJ2ZXJFbmRwb2ludHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2Vy +dmVyU29mdHdhcmVDZXJ0aWZpY2F0ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJTZXJ2ZXJTb2Z0d2FyZUNlcnRpZmljYXRlcyIgVHlwZU5hbWU9InRuczpT +aWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlclNvZnR3YXJl +Q2VydGlmaWNhdGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyU2lnbmF0dXJlIiBU +eXBlTmFtZT0idG5zOlNpZ25hdHVyZURhdGEiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhS +ZXF1ZXN0TWVzc2FnZVNpemUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlVzZXJJZGVudGl0eVRv +a2VuIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRp +b24+QSBiYXNlIHR5cGUgZm9yIGEgdXNlciBpZGVudGl0eSB0b2tlbi48L29wYzpEb2N1bWVudGF0 +aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUG9saWN5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5n +IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9IkFub255bW91c0lkZW50aXR5VG9rZW4iIEJhc2VUeXBlPSJ0bnM6VXNlcklkZW50aXR5VG9r +ZW4iPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHRva2VuIHJlcHJlc2VudGluZyBhbiBhbm9u +eW1vdXMgdXNlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUG9s +aWN5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBTb3VyY2VUeXBlPSJ0bnM6VXNlcklkZW50aXR5 +VG9rZW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iVXNlck5hbWVJZGVudGl0eVRva2VuIiBCYXNlVHlwZT0idG5zOlVzZXJJZGVudGl0 +eVRva2VuIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSB0b2tlbiByZXByZXNlbnRpbmcgYSB1 +c2VyIGlkZW50aWZpZWQgYnkgYSB1c2VyIG5hbWUgYW5kIHBhc3N3b3JkLjwvb3BjOkRvY3VtZW50 +YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQb2xpY3lJZCIgVHlwZU5hbWU9Im9wYzpTdHJp +bmciIFNvdXJjZVR5cGU9InRuczpVc2VySWRlbnRpdHlUb2tlbiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlVzZXJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlBhc3N3b3JkIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJFbmNyeXB0aW9uQWxnb3JpdGhtIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4N +CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJY +NTA5SWRlbnRpdHlUb2tlbiIgQmFzZVR5cGU9InRuczpVc2VySWRlbnRpdHlUb2tlbiI+DQogICAg +PG9wYzpEb2N1bWVudGF0aW9uPkEgdG9rZW4gcmVwcmVzZW50aW5nIGEgdXNlciBpZGVudGlmaWVk +IGJ5IGFuIFg1MDkgY2VydGlmaWNhdGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlBvbGljeUlkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgU291cmNlVHlwZT0idG5z +OlVzZXJJZGVudGl0eVRva2VuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2VydGlmaWNhdGVE +YXRhIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSXNzdWVkSWRlbnRpdHlUb2tlbiIgQmFz +ZVR5cGU9InRuczpVc2VySWRlbnRpdHlUb2tlbiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEg +dG9rZW4gcmVwcmVzZW50aW5nIGEgdXNlciBpZGVudGlmaWVkIGJ5IGEgV1MtU2VjdXJpdHkgWE1M +IHRva2VuLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQb2xpY3lJ +ZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIFNvdXJjZVR5cGU9InRuczpVc2VySWRlbnRpdHlUb2tl +biIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRva2VuRGF0YSIgVHlwZU5hbWU9Im9wYzpCeXRl +U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5jcnlwdGlvbkFsZ29yaXRobSIgVHlw +ZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iQWN0aXZhdGVTZXNzaW9uUmVxdWVzdCIgQmFzZVR5cGU9InVh +OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkFjdGl2YXRlcyBhIHNl +c3Npb24gd2l0aCB0aGUgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnRTaWduYXR1cmUiIFR5cGVOYW1lPSJ0bnM6U2lnbmF0 +dXJlRGF0YSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZDbGllbnRTb2Z0d2FyZUNlcnRp +ZmljYXRlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNs +aWVudFNvZnR3YXJlQ2VydGlmaWNhdGVzIiBUeXBlTmFtZT0idG5zOlNpZ25lZFNvZnR3YXJlQ2Vy +dGlmaWNhdGUiIExlbmd0aEZpZWxkPSJOb09mQ2xpZW50U29mdHdhcmVDZXJ0aWZpY2F0ZXMiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOkludDMy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOlN0cmlu +ZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZMb2NhbGVJZHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJV +c2VySWRlbnRpdHlUb2tlbiIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlVzZXJUb2tlblNpZ25hdHVyZSIgVHlwZU5hbWU9InRuczpTaWduYXR1 +cmVEYXRhIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU +eXBlIE5hbWU9IkFjdGl2YXRlU2Vzc2lvblJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u +T2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QWN0aXZhdGVzIGEgc2Vzc2lvbiB3aXRo IHRoZSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl -cXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkVuZHBvaW50VXJsIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vT2ZMb2NhbGVJZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJMb2NhbGVJZHMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhG -aWVsZD0iTm9PZkxvY2FsZUlkcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZQcm9maWxl -VXJpcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByb2Zp -bGVVcmlzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZQcm9maWxlVXJp -cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJHZXRFbmRwb2ludHNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkdldHMgdGhlIGVuZHBvaW50cyB1c2VkIGJ5IHRoZSBz -ZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNl -SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTm9PZkVuZHBvaW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkVuZHBvaW50cyIgVHlwZU5hbWU9InRuczpFbmRwb2ludERlc2NyaXB0aW9uIiBM -ZW5ndGhGaWVsZD0iTm9PZkVuZHBvaW50cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWdpc3RlcmVkU2VydmVyIiBCYXNlVHlwZT0i -dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIGluZm9ybWF0 -aW9uIHJlcXVpcmVkIHRvIHJlZ2lzdGVyIGEgc2VydmVyIHdpdGggYSBkaXNjb3Zlcnkgc2VydmVy -Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJVcmkiIFR5 -cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJvZHVjdFVyaSIg -VHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VydmVy -TmFtZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2 -ZXJOYW1lcyIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIExlbmd0aEZpZWxkPSJOb09mU2Vy -dmVyTmFtZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJUeXBlIiBUeXBlTmFtZT0i -dG5zOkFwcGxpY2F0aW9uVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkdhdGV3YXlTZXJ2 -ZXJVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P -ZkRpc2NvdmVyeVVybHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJEaXNjb3ZlcnlVcmxzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5v -T2ZEaXNjb3ZlcnlVcmxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VtYXBob3JlRmlsZVBh -dGgiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNPbmxp -bmUiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWdpc3RlclNlcnZlclJlcXVlc3QiIEJhc2VU -eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5SZWdpc3Rl -cnMgYSBzZXJ2ZXIgd2l0aCB0aGUgZGlzY292ZXJ5IHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9u -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1 -ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyIiBUeXBlTmFtZT0idG5z -OlJlZ2lzdGVyZWRTZXJ2ZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 -U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXNwb25zZSIgQmFzZVR5cGU9InVh -OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlJlZ2lzdGVycyBhIHNl -cnZlciB3aXRoIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhl -YWRlciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq -ZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBiYXNlIHR5cGUgZm9yIGRpc2NvdmVyeSBj -b25maWd1cmF0aW9uIGluZm9ybWF0aW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOlN0 -cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTWRuc0Rpc2NvdmVy -eUNvbmZpZ3VyYXRpb24iIEJhc2VUeXBlPSJ0bnM6RGlzY292ZXJ5Q29uZmlndXJhdGlvbiI+DQog -ICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSBkaXNjb3ZlcnkgaW5mb3JtYXRpb24gbmVlZGVkIGZv -ciBtRE5TIHJlZ2lzdHJhdGlvbi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTWRuc1NlcnZlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iTm9PZlNlcnZlckNhcGFiaWxpdGllcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlckNhcGFiaWxpdGllcyIgVHlwZU5hbWU9Im9w -YzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mU2VydmVyQ2FwYWJpbGl0aWVzIiAvPg0KICA8L29w -YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlZ2lzdGVy -U2VydmVyMlJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyIiBUeXBlTmFtZT0idG5zOlJlZ2lzdGVyZWRT -ZXJ2ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlzY292ZXJ5Q29uZmlndXJhdGlv -biIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2NvdmVy -eUNvbmZpZ3VyYXRpb24iIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIExlbmd0aEZpZWxk -PSJOb09mRGlzY292ZXJ5Q29uZmlndXJhdGlvbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWdpc3RlclNlcnZlcjJSZXNwb25zZSIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNw -b25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZDb25maWd1cmF0aW9uUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbmZpZ3VyYXRpb25SZXN1bHRzIiBUeXBlTmFtZT0i -dWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZDb25maWd1cmF0aW9uUmVzdWx0cyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6 -SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1l -PSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+ -DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0i -U2VjdXJpdHlUb2tlblJlcXVlc3RUeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRv -Y3VtZW50YXRpb24+SW5kaWNhdGVzIHdoZXRoZXIgYSB0b2tlbiBpZiBiZWluZyBjcmVhdGVkIG9y -IHJlbmV3ZWQuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO -YW1lPSJJc3N1ZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i -UmVuZXciIFZhbHVlPSIxIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0 -cnVjdHVyZWRUeXBlIE5hbWU9IkNoYW5uZWxTZWN1cml0eVRva2VuIiBCYXNlVHlwZT0idWE6RXh0 -ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHRva2VuIHRoYXQgaWRl -bnRpZmllcyBhIHNldCBvZiBrZXlzIGZvciBhbiBhY3RpdmUgc2VjdXJlIGNoYW5uZWwuPC9vcGM6 -RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNoYW5uZWxJZCIgVHlwZU5hbWU9 -Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUb2tlbklkIiBUeXBlTmFtZT0i -b3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNyZWF0ZWRBdCIgVHlwZU5hbWU9 -Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRMaWZldGltZSIg -VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv -cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iT3BlblNlY3VyZUNoYW5uZWxSZXF1ZXN0IiBCYXNlVHlw -ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q3JlYXRlcyBh -IHNlY3VyZSBjaGFubmVsIHdpdGggYSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRl -ciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudFByb3RvY29sVmVyc2lvbiIgVHlwZU5h -bWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0VHlwZSIgVHlw -ZU5hbWU9InRuczpTZWN1cml0eVRva2VuUmVxdWVzdFR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJTZWN1cml0eU1vZGUiIFR5cGVOYW1lPSJ0bnM6TWVzc2FnZVNlY3VyaXR5TW9kZSIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudE5vbmNlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJp -bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRMaWZldGltZSIgVHlwZU5hbWU9 -Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 -dXJlZFR5cGUgTmFtZT0iT3BlblNlY3VyZUNoYW5uZWxSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4 -dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkNyZWF0ZXMgYSBzZWN1cmUg -Y2hhbm5lbCB3aXRoIGEgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclByb3RvY29sVmVyc2lvbiIgVHlwZU5hbWU9Im9w -YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eVRva2VuIiBUeXBlTmFt -ZT0idG5zOkNoYW5uZWxTZWN1cml0eVRva2VuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vy -dmVyTm9uY2UiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl -ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDbG9zZVNlY3VyZUNoYW5uZWxS -ZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50 -YXRpb24+Q2xvc2VzIGEgc2VjdXJlIGNoYW5uZWwuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRl -ciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJDbG9zZVNlY3VyZUNoYW5uZWxSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i -amVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkNsb3NlcyBhIHNlY3VyZSBjaGFubmVsLjwv -b3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIg -VHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRl -IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+ -QSBzb2Z0d2FyZSBjZXJ0aWZpY2F0ZSB3aXRoIGEgZGlnaXRhbCBzaWduYXR1cmUuPC9vcGM6RG9j -dW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNlcnRpZmljYXRlRGF0YSIgVHlwZU5h -bWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2lnbmF0dXJlIiBU -eXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog -IDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJTZXNzaW9uQXV0aGVudGljYXRpb25Ub2tlbiI+DQogICAg -PG9wYzpEb2N1bWVudGF0aW9uPkEgdW5pcXVlIGlkZW50aWZpZXIgZm9yIGEgc2Vzc2lvbiB1c2Vk -IHRvIGF1dGhlbnRpY2F0ZSByZXF1ZXN0cy48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpP -cGFxdWVUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2lnbmF0dXJlRGF0YSIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEg -ZGlnaXRhbCBzaWduYXR1cmUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkFsZ29yaXRobSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJTaWduYXR1cmUiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDcmVhdGVTZXNzaW9u -UmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVu -dGF0aW9uPkNyZWF0ZXMgYSBuZXcgc2Vzc2lvbiB3aXRoIHRoZSBzZXJ2ZXIuPC9vcGM6RG9jdW1l -bnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0 -bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudERlc2NyaXB0 -aW9uIiBUeXBlTmFtZT0idG5zOkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJTZXJ2ZXJVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iRW5kcG9pbnRVcmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iU2Vzc2lvbk5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50Tm9uY2UiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudENlcnRpZmljYXRlIiBUeXBlTmFtZT0ib3Bj -OkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRTZXNzaW9uVGlt -ZW91dCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhS -ZXNwb25zZU1lc3NhZ2VTaXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDcmVhdGVTZXNzaW9u -UmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1l -bnRhdGlvbj5DcmVhdGVzIGEgbmV3IHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwvb3BjOkRvY3Vt -ZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9 -InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlc3Npb25JZCIg -VHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF1dGhlbnRpY2F0 -aW9uVG9rZW4iIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS -ZXZpc2VkU2Vzc2lvblRpbWVvdXQiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6 +c3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6 RmllbGQgTmFtZT0iU2VydmVyTm9uY2UiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlckNlcnRpZmljYXRlIiBUeXBlTmFtZT0ib3BjOkJ5dGVT -dHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VydmVyRW5kcG9pbnRzIiBUeXBl -TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyRW5kcG9pbnRz -IiBUeXBlTmFtZT0idG5zOkVuZHBvaW50RGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mU2Vy -dmVyRW5kcG9pbnRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlcnZlclNvZnR3YXJl -Q2VydGlmaWNhdGVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iU2VydmVyU29mdHdhcmVDZXJ0aWZpY2F0ZXMiIFR5cGVOYW1lPSJ0bnM6U2lnbmVkU29mdHdh -cmVDZXJ0aWZpY2F0ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJTb2Z0d2FyZUNlcnRpZmljYXRl -cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclNpZ25hdHVyZSIgVHlwZU5hbWU9InRu -czpTaWduYXR1cmVEYXRhIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4UmVxdWVzdE1lc3Nh -Z2VTaXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVc2VySWRlbnRpdHlUb2tlbiIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgYmFzZSB0 -eXBlIGZvciBhIHVzZXIgaWRlbnRpdHkgdG9rZW4uPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlBvbGljeUlkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9v -cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBbm9ueW1v -dXNJZGVudGl0eVRva2VuIiBCYXNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIj4NCiAgICA8 -b3BjOkRvY3VtZW50YXRpb24+QSB0b2tlbiByZXByZXNlbnRpbmcgYW4gYW5vbnltb3VzIHVzZXIu -PC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBvbGljeUlkIiBUeXBl -TmFtZT0ib3BjOlN0cmluZyIgU291cmNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIiAvPg0K -ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlVz -ZXJOYW1lSWRlbnRpdHlUb2tlbiIgQmFzZVR5cGU9InRuczpVc2VySWRlbnRpdHlUb2tlbiI+DQog -ICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgdG9rZW4gcmVwcmVzZW50aW5nIGEgdXNlciBpZGVudGlm -aWVkIGJ5IGEgdXNlciBuYW1lIGFuZCBwYXNzd29yZC48L29wYzpEb2N1bWVudGF0aW9uPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iUG9saWN5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBTb3VyY2VU -eXBlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2Vy -TmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQYXNz -d29yZCIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -RW5jcnlwdGlvbkFsZ29yaXRobSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogIDwvb3BjOlN0 -cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iWDUwOUlkZW50aXR5 -VG9rZW4iIEJhc2VUeXBlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgIDxvcGM6RG9jdW1l -bnRhdGlvbj5BIHRva2VuIHJlcHJlc2VudGluZyBhIHVzZXIgaWRlbnRpZmllZCBieSBhbiBYNTA5 -IGNlcnRpZmljYXRlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQ -b2xpY3lJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIFNvdXJjZVR5cGU9InRuczpVc2VySWRlbnRp -dHlUb2tlbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNlcnRpZmljYXRlRGF0YSIgVHlwZU5h -bWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -OlN0cnVjdHVyZWRUeXBlIE5hbWU9Iklzc3VlZElkZW50aXR5VG9rZW4iIEJhc2VUeXBlPSJ0bnM6 -VXNlcklkZW50aXR5VG9rZW4iPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHRva2VuIHJlcHJl -c2VudGluZyBhIHVzZXIgaWRlbnRpZmllZCBieSBhIFdTLVNlY3VyaXR5IFhNTCB0b2tlbi48L29w -YzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUG9saWN5SWQiIFR5cGVOYW1l -PSJvcGM6U3RyaW5nIiBTb3VyY2VUeXBlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJUb2tlbkRhdGEiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuY3J5cHRpb25BbGdvcml0aG0iIFR5cGVOYW1lPSJvcGM6 -U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU -eXBlIE5hbWU9IkFjdGl2YXRlU2Vzc2lvblJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P -YmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BY3RpdmF0ZXMgYSBzZXNzaW9uIHdpdGgg -dGhlIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVx -dWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iQ2xpZW50U2lnbmF0dXJlIiBUeXBlTmFtZT0idG5zOlNpZ25hdHVyZURhdGEiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQ2xpZW50U29mdHdhcmVDZXJ0aWZpY2F0ZXMiIFR5 -cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnRTb2Z0d2Fy -ZUNlcnRpZmljYXRlcyIgVHlwZU5hbWU9InRuczpTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiBM -ZW5ndGhGaWVsZD0iTm9PZkNsaWVudFNvZnR3YXJlQ2VydGlmaWNhdGVzIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iTm9PZkxvY2FsZUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IkxvY2FsZUlkcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZp -ZWxkPSJOb09mTG9jYWxlSWRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcklkZW50aXR5 -VG9rZW4iIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJVc2VyVG9rZW5TaWduYXR1cmUiIFR5cGVOYW1lPSJ0bnM6U2lnbmF0dXJlRGF0YSIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJB -Y3RpdmF0ZVNlc3Npb25SZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog -ICAgPG9wYzpEb2N1bWVudGF0aW9uPkFjdGl2YXRlcyBhIHNlc3Npb24gd2l0aCB0aGUgc2VydmVy -Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRl -ciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlNlcnZlck5vbmNlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0i -Tm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9z -IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3Rp -Y0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlh -Z25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj -dHVyZWRUeXBlIE5hbWU9IkNsb3NlU2Vzc2lvblJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp -b25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5DbG9zZXMgYSBzZXNzaW9uIHdpdGgg -dGhlIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVx -dWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iRGVsZXRlU3Vic2NyaXB0aW9ucyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0K -ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNs -b3NlU2Vzc2lvblJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8 -b3BjOkRvY3VtZW50YXRpb24+Q2xvc2VzIGEgc2Vzc2lvbiB3aXRoIHRoZSBzZXJ2ZXIuPC9vcGM6 +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExl +bmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFn +bm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmll +bGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog +IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ2xvc2VTZXNzaW9uUmVxdWVzdCIgQmFzZVR5cGU9 +InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkNsb3NlcyBhIHNl +c3Npb24gd2l0aCB0aGUgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJEZWxldGVTdWJzY3JpcHRpb25zIiBUeXBlTmFtZT0ib3BjOkJv +b2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iQ2xvc2VTZXNzaW9uUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl +Y3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5DbG9zZXMgYSBzZXNzaW9uIHdpdGggdGhlIHNl +cnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VI +ZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ2FuY2VsUmVxdWVzdCIgQmFz +ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkNhbmNl +bHMgYW4gb3V0c3RhbmRpbmcgcmVxdWVzdC48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhhbmRsZSIgVHlwZU5hbWU9Im9wYzpVSW50 +MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iQ2FuY2VsUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg +IDxvcGM6RG9jdW1lbnRhdGlvbj5DYW5jZWxzIGFuIG91dHN0YW5kaW5nIHJlcXVlc3QuPC9vcGM6 RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBl -TmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNhbmNlbFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpF -eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5DYW5jZWxzIGFuIG91dHN0 -YW5kaW5nIHJlcXVlc3QuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlJlcXVlc3RIYW5kbGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8 -L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNhbmNl -bFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3Vt -ZW50YXRpb24+Q2FuY2VscyBhbiBvdXRzdGFuZGluZyByZXF1ZXN0Ljwvb3BjOkRvY3VtZW50YXRp -b24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpS -ZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNhbmNlbENvdW50IiBUeXBl -TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpF -bnVtZXJhdGVkVHlwZSBOYW1lPSJOb2RlQXR0cmlidXRlc01hc2siIExlbmd0aEluQml0cz0iMzIi -Pg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYml0cyB1c2VkIHRvIHNwZWNpZnkgZGVmYXVs -dCBhdHRyaWJ1dGVzIGZvciBhIG5ldyBub2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9w -YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVt -ZXJhdGVkVmFsdWUgTmFtZT0iQWNjZXNzTGV2ZWwiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9IkFycmF5RGltZW5zaW9ucyIgVmFsdWU9IjIiIC8+DQogICAgPG9w -YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQnJvd3NlTmFtZSIgVmFsdWU9IjQiIC8+DQogICAgPG9w -YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ29udGFpbnNOb0xvb3BzIiBWYWx1ZT0iOCIgLz4NCiAg -ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEYXRhVHlwZSIgVmFsdWU9IjE2IiAvPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRlc2NyaXB0aW9uIiBWYWx1ZT0iMzIiIC8+DQog -ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGlzcGxheU5hbWUiIFZhbHVlPSI2NCIgLz4N -CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJFdmVudE5vdGlmaWVyIiBWYWx1ZT0iMTI4 -IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkV4ZWN1dGFibGUiIFZhbHVlPSIy -NTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSGlzdG9yaXppbmciIFZhbHVl -PSI1MTIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW52ZXJzZU5hbWUiIFZh -bHVlPSIxMDI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IklzQWJzdHJhY3Qi -IFZhbHVlPSIyMDQ4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik1pbmltdW1T -YW1wbGluZ0ludGVydmFsIiBWYWx1ZT0iNDA5NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJOb2RlQ2xhc3MiIFZhbHVlPSI4MTkyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh -bHVlIE5hbWU9Ik5vZGVJZCIgVmFsdWU9IjE2Mzg0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh -bHVlIE5hbWU9IlN5bW1ldHJpYyIgVmFsdWU9IjMyNzY4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRl -ZFZhbHVlIE5hbWU9IlVzZXJBY2Nlc3NMZXZlbCIgVmFsdWU9IjY1NTM2IiAvPg0KICAgIDxvcGM6 -RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVzZXJFeGVjdXRhYmxlIiBWYWx1ZT0iMTMxMDcyIiAvPg0K -ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVzZXJXcml0ZU1hc2siIFZhbHVlPSIyNjIx -NDQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVmFsdWVSYW5rIiBWYWx1ZT0i -NTI0Mjg4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IldyaXRlTWFzayIgVmFs -dWU9IjEwNDg1NzYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVmFsdWUiIFZh -bHVlPSIyMDk3MTUyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRhdGFUeXBl -RGVmaW5pdGlvbiIgVmFsdWU9IjQxOTQzMDQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iUm9sZVBlcm1pc3Npb25zIiBWYWx1ZT0iODM4ODYwOCIgLz4NCiAgICA8b3BjOkVudW1l -cmF0ZWRWYWx1ZSBOYW1lPSJBY2Nlc3NSZXN0cmljdGlvbnMiIFZhbHVlPSIxNjc3NzIxNiIgLz4N -CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBbGwiIFZhbHVlPSIzMzU1NDQzMSIgLz4N -CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCYXNlTm9kZSIgVmFsdWU9IjI2NTAxMjIw -IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik9iamVjdCIgVmFsdWU9IjI2NTAx -MzQ4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik9iamVjdFR5cGUiIFZhbHVl -PSIyNjUwMzI2OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJWYXJpYWJsZSIg -VmFsdWU9IjI2NTcxMzgzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZhcmlh -YmxlVHlwZSIgVmFsdWU9IjI4NjAwNDM4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9Ik1ldGhvZCIgVmFsdWU9IjI2NjMyNTQ4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9IlJlZmVyZW5jZVR5cGUiIFZhbHVlPSIyNjUzNzA2MCIgLz4NCiAgICA8b3BjOkVudW1l -cmF0ZWRWYWx1ZSBOYW1lPSJWaWV3IiBWYWx1ZT0iMjY1MDEzNTYiIC8+DQogIDwvb3BjOkVudW1l -cmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm9kZUF0dHJpYnV0ZXMi -IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5U -aGUgYmFzZSBhdHRyaWJ1dGVzIGZvciBhbGwgbm9kZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpM -b2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVO -YW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNr -IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0 -ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N -Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik9iamVjdEF0dHJpYnV0ZXMiIEJhc2VUeXBl -PSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYXR0cmli -dXRlcyBmb3IgYW4gb2JqZWN0IG5vZGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3Vy -Y2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNw -bGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2Rl -QXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFt -ZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291 -cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNl -cldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0 -cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50Tm90aWZpZXIiIFR5cGVOYW1l -PSJvcGM6Qnl0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJWYXJpYWJsZUF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0dHJp -YnV0ZXMiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSB2YXJp -YWJsZSBub2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVj -aWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5v -ZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVO -YW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXpl -ZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpO -b2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5 -cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlZhbHVlUmFuayIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6 -VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkFycmF5RGltZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkFjY2Vzc0xldmVsIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJVc2VyQWNjZXNzTGV2ZWwiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik1pbmltdW1TYW1wbGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRv -dWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikhpc3Rvcml6aW5nIiBUeXBlTmFtZT0ib3Bj +TmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2FuY2Vs +Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N +Cg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9Ik5vZGVBdHRyaWJ1dGVzTWFzayIgTGVuZ3Ro +SW5CaXRzPSIzMiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSBiaXRzIHVzZWQgdG8gc3Bl +Y2lmeSBkZWZhdWx0IGF0dHJpYnV0ZXMgZm9yIGEgbmV3IG5vZGUuPC9vcGM6RG9jdW1lbnRhdGlv +bj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25lIiBWYWx1ZT0iMCIgLz4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBY2Nlc3NMZXZlbCIgVmFsdWU9IjEiIC8+DQog +ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQXJyYXlEaW1lbnNpb25zIiBWYWx1ZT0iMiIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCcm93c2VOYW1lIiBWYWx1ZT0iNCIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDb250YWluc05vTG9vcHMiIFZhbHVl +PSI4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRhdGFUeXBlIiBWYWx1ZT0i +MTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGVzY3JpcHRpb24iIFZhbHVl +PSIzMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEaXNwbGF5TmFtZSIgVmFs +dWU9IjY0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkV2ZW50Tm90aWZpZXIi +IFZhbHVlPSIxMjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRXhlY3V0YWJs +ZSIgVmFsdWU9IjI1NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJIaXN0b3Jp +emluZyIgVmFsdWU9IjUxMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnZl +cnNlTmFtZSIgVmFsdWU9IjEwMjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i +SXNBYnN0cmFjdCIgVmFsdWU9IjIwNDgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt +ZT0iTWluaW11bVNhbXBsaW5nSW50ZXJ2YWwiIFZhbHVlPSI0MDk2IiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9Ik5vZGVDbGFzcyIgVmFsdWU9IjgxOTIiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9kZUlkIiBWYWx1ZT0iMTYzODQiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iU3ltbWV0cmljIiBWYWx1ZT0iMzI3NjgiIC8+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVXNlckFjY2Vzc0xldmVsIiBWYWx1ZT0iNjU1MzYiIC8+ +DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVXNlckV4ZWN1dGFibGUiIFZhbHVlPSIx +MzEwNzIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVXNlcldyaXRlTWFzayIg +VmFsdWU9IjI2MjE0NCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJWYWx1ZVJh +bmsiIFZhbHVlPSI1MjQyODgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iV3Jp +dGVNYXNrIiBWYWx1ZT0iMTA0ODU3NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l +PSJWYWx1ZSIgVmFsdWU9IjIwOTcxNTIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt +ZT0iRGF0YVR5cGVEZWZpbml0aW9uIiBWYWx1ZT0iNDE5NDMwNCIgLz4NCiAgICA8b3BjOkVudW1l +cmF0ZWRWYWx1ZSBOYW1lPSJSb2xlUGVybWlzc2lvbnMiIFZhbHVlPSI4Mzg4NjA4IiAvPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFjY2Vzc1Jlc3RyaWN0aW9ucyIgVmFsdWU9IjE2 +Nzc3MjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFsbCIgVmFsdWU9IjMz +NTU0NDMxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJhc2VOb2RlIiBWYWx1 +ZT0iMjY1MDEyMjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iT2JqZWN0IiBW +YWx1ZT0iMjY1MDEzNDgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iT2JqZWN0 +VHlwZSIgVmFsdWU9IjI2NTAzMjY4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 +IlZhcmlhYmxlIiBWYWx1ZT0iMjY1NzEzODMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg +TmFtZT0iVmFyaWFibGVUeXBlIiBWYWx1ZT0iMjg2MDA0MzgiIC8+DQogICAgPG9wYzpFbnVtZXJh +dGVkVmFsdWUgTmFtZT0iTWV0aG9kIiBWYWx1ZT0iMjY2MzI1NDgiIC8+DQogICAgPG9wYzpFbnVt +ZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlVHlwZSIgVmFsdWU9IjI2NTM3MDYwIiAvPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZpZXciIFZhbHVlPSIyNjUwMTM1NiIgLz4NCiAg +PC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJOb2Rl +QXR0cmlidXRlcyIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1 +bWVudGF0aW9uPlRoZSBiYXNlIGF0dHJpYnV0ZXMgZm9yIGFsbCBub2Rlcy48L29wYzpEb2N1bWVu +dGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3BlY2lmaWVkQXR0cmlidXRlcyIgVHlwZU5h +bWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlw +ZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlw +dGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVj +dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iT2JqZWN0QXR0cmlidXRl +cyIgQmFzZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u +PlRoZSBhdHRyaWJ1dGVzIGZvciBhbiBvYmplY3Qgbm9kZS48L29wYzpEb2N1bWVudGF0aW9uPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iU3BlY2lmaWVkQXR0cmlidXRlcyIgVHlwZU5hbWU9Im9wYzpV +SW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlw +ZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRp +b24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJp +YnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6 +VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0i +dG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnROb3RpZmll +ciIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 +b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlZhcmlhYmxlQXR0cmlidXRlcyIgQmFzZVR5cGU9InRu +czpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVz +IGZvciBhIHZhcmlhYmxlIG5vZGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VU +eXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5 +TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0 +cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0i +dWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNl +VHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldy +aXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmli +dXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0idWE6VmFyaWFu +dCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFUeXBlIiBUeXBlTmFtZT0idWE6Tm9kZUlk +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWVSYW5rIiBUeXBlTmFtZT0ib3BjOkludDMy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9 +Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFycmF5RGltZW5zaW9ucyIgVHlw +ZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mQXJyYXlEaW1lbnNpb25zIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iQWNjZXNzTGV2ZWwiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJBY2Nlc3NMZXZlbCIgVHlwZU5hbWU9Im9wYzpCeXRl +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWluaW11bVNhbXBsaW5nSW50ZXJ2YWwiIFR5cGVO +YW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSGlzdG9yaXppbmciIFR5 +cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w +YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNZXRob2RBdHRyaWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5v +ZGVBdHRyaWJ1dGVzIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9y +IGEgbWV0aG9kIG5vZGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0 +bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIg +VHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRl +cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9j +YWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0i +dG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFz +ayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV4ZWN1dGFibGUiIFR5cGVOYW1lPSJvcGM6Qm9vbGVh +biIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJFeGVjdXRhYmxlIiBUeXBlTmFtZT0ib3Bj OkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl -ZFR5cGUgTmFtZT0iTWV0aG9kQXR0cmlidXRlcyIgQmFzZVR5cGU9InRuczpOb2RlQXR0cmlidXRl -cyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVzIGZvciBhIG1ldGhvZCBu -b2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRB -dHRyaWJ1dGVzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRy -aWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1 -YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQi -IFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0 -cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1l -PSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJFeGVjdXRhYmxlIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJVc2VyRXhlY3V0YWJsZSIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -Ik9iamVjdFR5cGVBdHRyaWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAg -ICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGFuIG9iamVjdCB0eXBlIG5v -ZGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNwZWNpZmllZEF0 -dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJp -YnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVh -OkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIg -U291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -V3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRy -aWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9 -Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9v -cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJWYXJpYWJs -ZVR5cGVBdHRyaWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICA8b3Bj -OkRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGEgdmFyaWFibGUgdHlwZSBub2RlLjwv -b3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1 -dGVzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVz -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2Nh +ZFR5cGUgTmFtZT0iT2JqZWN0VHlwZUF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0dHJp +YnV0ZXMiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYW4gb2Jq +ZWN0IHR5cGUgbm9kZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +U3BlY2lmaWVkQXR0cmlidXRlcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRu +czpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBU +eXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVz +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2Nh bGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJj -ZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRl -TWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRl -cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6 -VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJEYXRhVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlZhbHVlUmFuayIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5n -dGhGaWVsZD0iTm9PZkFycmF5RGltZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Iklz -QWJzdHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWZlcmVuY2VUeXBlQXR0cmlidXRl -cyIgQmFzZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u -PlRoZSBhdHRyaWJ1dGVzIGZvciBhIHJlZmVyZW5jZSB0eXBlIG5vZGUuPC9vcGM6RG9jdW1lbnRh -dGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1l -PSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNv -dXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRl -c2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5v -ZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFt -ZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJj -ZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJz -dHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN5 -bW1ldHJpYyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -SW52ZXJzZU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFUeXBlQXR0cmli -dXRlcyIgQmFzZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpEb2N1bWVudGF0 -aW9uPlRoZSBhdHRyaWJ1dGVzIGZvciBhIGRhdGEgdHlwZSBub2RlLjwvb3BjOkRvY3VtZW50YXRp -b24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0i -b3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3Vy -Y2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNj -cmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2Rl -QXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9 -Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VU -eXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0Fic3Ry -YWN0IiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K -DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVmlld0F0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0 -bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRl -cyBmb3IgYSB2aWV3IG5vZGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBl -PSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFt -ZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmli -dXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6 -TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlw -ZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRl -TWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRl -cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbnRhaW5zTm9Mb29wcyIgVHlwZU5hbWU9Im9w -YzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnROb3RpZmllciIgVHlwZU5h -bWU9Im9wYzpCeXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj -dHVyZWRUeXBlIE5hbWU9IkdlbmVyaWNBdHRyaWJ1dGVWYWx1ZSIgQmFzZVR5cGU9InVhOkV4dGVu -c2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdHRyaWJ1dGVJZCIgVHlwZU5hbWU9 -Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVh -OlZhcmlhbnQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl -ZFR5cGUgTmFtZT0iR2VuZXJpY0F0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0 -ZXMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3BlY2lmaWVkQXR0cmlidXRlcyIgVHlwZU5hbWU9 -Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291 -cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVz -Y3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9k -ZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1l -PSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNl -VHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkF0 -dHJpYnV0ZVZhbHVlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkF0dHJpYnV0ZVZhbHVlcyIgVHlwZU5hbWU9InRuczpHZW5lcmljQXR0cmlidXRlVmFsdWUi -IExlbmd0aEZpZWxkPSJOb09mQXR0cmlidXRlVmFsdWVzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFkZE5vZGVzSXRlbSIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgcmVxdWVz -dCB0byBhZGQgYSBub2RlIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVu -dGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGFyZW50Tm9kZUlkIiBUeXBlTmFtZT0idWE6 -RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBlSWQi -IFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRO -ZXdOb2RlSWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVBdHRyaWJ1dGVzIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9u -T2JqZWN0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHlwZURlZmluaXRpb24iIFR5cGVOYW1l -PSJ1YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w -YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBZGROb2Rlc1Jlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVu -c2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgcmVzdWx0IG9mIGFuIGFkZCBu -b2RlIG9wZXJhdGlvbi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -U3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJBZGRlZE5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgPC9vcGM6U3RydWN0 -dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBZGROb2Rlc1JlcXVlc3Qi -IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5B -ZGRzIG9uZSBvciBtb3JlIG5vZGVzIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpE -b2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5h -bWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVz -VG9BZGQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rl -c1RvQWRkIiBUeXBlTmFtZT0idG5zOkFkZE5vZGVzSXRlbSIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rl -c1RvQWRkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU -eXBlIE5hbWU9IkFkZE5vZGVzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi -Pg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BZGRzIG9uZSBvciBtb3JlIG5vZGVzIHRvIHRoZSBz -ZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6QWRkTm9kZXNSZXN1 -bHQiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v +aWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0 +bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNr +IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNBYnN0cmFjdCIgVHlwZU5hbWU9Im9wYzpCb29sZWFu +IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9IlZhcmlhYmxlVHlwZUF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMi +Pg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSB2YXJpYWJsZSB0 +eXBlIG5vZGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNwZWNp +ZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9k +ZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5h +bWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVk +VGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5v +ZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlw +ZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkRhdGFUeXBlIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iVmFsdWVSYW5rIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTm9PZkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpV +SW50MzIiIExlbmd0aEZpZWxkPSJOb09mQXJyYXlEaW1lbnNpb25zIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iSXNBYnN0cmFjdCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlZmVyZW5jZVR5 +cGVBdHRyaWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICA8b3BjOkRv +Y3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGEgcmVmZXJlbmNlIHR5cGUgbm9kZS48L29w +YzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3BlY2lmaWVkQXR0cmlidXRl +cyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxp +emVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VU +eXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1h +c2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJ +bnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iSXNBYnN0cmFjdCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iU3ltbWV0cmljIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJJbnZlcnNlTmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGF0 +YVR5cGVBdHRyaWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICA8b3Bj +OkRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGEgZGF0YSB0eXBlIG5vZGUuPC9vcGM6 +RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMi +IFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXpl +ZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlw +ZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNr +IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50 +MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IklzQWJzdHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0 +dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJWaWV3QXR0cmlidXRlcyIg +QmFzZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRo +ZSBhdHRyaWJ1dGVzIGZvciBhIHZpZXcgbm9kZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iU3BlY2lmaWVkQXR0cmlidXRlcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIi +IFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5z +Ok5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5 +cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMy +IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5v +ZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29udGFpbnNOb0xvb3BzIiBU +eXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVudE5vdGlm +aWVyIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog +IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iR2VuZXJpY0F0dHJpYnV0ZVZhbHVlIiBCYXNlVHlw +ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF0dHJpYnV0ZUlk +IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBU +eXBlTmFtZT0idWE6VmFyaWFudCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w +YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJHZW5lcmljQXR0cmlidXRlcyIgQmFzZVR5cGU9InRuczpO +b2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVz +IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6 +ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5 +cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFz +ayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUlu +dDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJOb09mQXR0cmlidXRlVmFsdWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iQXR0cmlidXRlVmFsdWVzIiBUeXBlTmFtZT0idG5zOkdlbmVyaWNBdHRy +aWJ1dGVWYWx1ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZBdHRyaWJ1dGVWYWx1ZXMiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWRkTm9kZXNJ +dGVtIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRp +b24+QSByZXF1ZXN0IHRvIGFkZCBhIG5vZGUgdG8gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwv +b3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQYXJlbnROb2RlSWQiIFR5 +cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVy +ZW5jZVR5cGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlJlcXVlc3RlZE5ld05vZGVJZCIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNs +YXNzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJ1 +YTpFeHRlbnNpb25PYmplY3QiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUeXBlRGVmaW5pdGlv +biIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFkZE5vZGVzUmVzdWx0IiBCYXNlVHlw +ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSByZXN1bHQg +b2YgYW4gYWRkIG5vZGUgb3BlcmF0aW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkFkZGVkTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICA8 +L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFkZE5v +ZGVzUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1 +bWVudGF0aW9uPkFkZHMgb25lIG9yIG1vcmUgbm9kZXMgdG8gdGhlIHNlcnZlciBhZGRyZXNzIHNw +YWNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVh +ZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mTm9kZXNUb0FkZCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vZGVzVG9BZGQiIFR5cGVOYW1lPSJ0bnM6QWRkTm9kZXNJdGVtIiBMZW5ndGhGaWVs +ZD0iTm9PZk5vZGVzVG9BZGQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iQWRkTm9kZXNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVu +c2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkFkZHMgb25lIG9yIG1vcmUgbm9k +ZXMgdG8gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhl +YWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3Bj +OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InRuczpB +ZGROb2Rlc1Jlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0 +aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3Ry +dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBZGRSZWZlcmVuY2Vz +SXRlbSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0 +aW9uPkEgcmVxdWVzdCB0byBhZGQgYSByZWZlcmVuY2UgdG8gdGhlIHNlcnZlciBhZGRyZXNzIHNw +YWNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTb3VyY2VOb2Rl +SWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVu +Y2VUeXBlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJ +c0ZvcndhcmQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlRhcmdldFNlcnZlclVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJUYXJnZXROb2RlSWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldE5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xh +c3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iQWRkUmVmZXJlbmNlc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi +Pg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BZGRzIG9uZSBvciBtb3JlIHJlZmVyZW5jZXMgdG8g +dGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlc1RvQWRkIiBUeXBlTmFtZT0ib3Bj +OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlc1RvQWRkIiBUeXBlTmFt +ZT0idG5zOkFkZFJlZmVyZW5jZXNJdGVtIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXNUb0Fk +ZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO +YW1lPSJBZGRSZWZlcmVuY2VzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi +Pg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BZGRzIG9uZSBvciBtb3JlIHJlZmVyZW5jZXMgdG8g +dGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0Nv +ZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v T2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVu Z3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl -Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWRkUmVmZXJlbmNlc0l0ZW0iIEJhc2VU -eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHJlcXVl -c3QgdG8gYWRkIGEgcmVmZXJlbmNlIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpE -b2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU291cmNlTm9kZUlkIiBUeXBlTmFt -ZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlVHlwZUlkIiBU -eXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNGb3J3YXJkIiBU -eXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUYXJnZXRTZXJ2 -ZXJVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGFy -Z2V0Tm9kZUlkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJUYXJnZXROb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNzIiAvPg0KICA8 -L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFkZFJl -ZmVyZW5jZXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj -OkRvY3VtZW50YXRpb24+QWRkcyBvbmUgb3IgbW9yZSByZWZlcmVuY2VzIHRvIHRoZSBzZXJ2ZXIg -YWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXNUb0FkZCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXNUb0FkZCIgVHlwZU5hbWU9InRuczpBZGRS -ZWZlcmVuY2VzSXRlbSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2VzVG9BZGQiIC8+DQogIDwv -b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWRkUmVm -ZXJlbmNlc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj -OkRvY3VtZW50YXRpb24+QWRkcyBvbmUgb3IgbW9yZSByZWZlcmVuY2VzIHRvIHRoZSBzZXJ2ZXIg -YWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhG -aWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3Rp -Y0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlh -Z25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJO -b09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -OlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZU5vZGVzSXRlbSIgQmFzZVR5cGU9InVhOkV4dGVu -c2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgcmVxdWVzdCB0byBkZWxldGUg -YSBub2RlIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iRGVsZXRlVGFyZ2V0UmVmZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpC -b29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU -eXBlIE5hbWU9IkRlbGV0ZU5vZGVzUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlTm9kZXNJdGVtIiBCYXNlVHlw +ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSByZXF1ZXN0 +IHRvIGRlbGV0ZSBhIG5vZGUgdG8gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRvY3Vt +ZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2Rl +SWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZWxldGVUYXJnZXRSZWZlcmVuY2VzIiBUeXBl +TmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlTm9kZXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0 +ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+RGVsZXRlIG9uZSBvciBtb3Jl +IG5vZGVzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRvY3VtZW50YXRpb24+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVl +c3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTm9kZXNUb0RlbGV0ZSIgVHlw +ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVzVG9EZWxldGUi +IFR5cGVOYW1lPSJ0bnM6RGVsZXRlTm9kZXNJdGVtIiBMZW5ndGhGaWVsZD0iTm9PZk5vZGVzVG9E +ZWxldGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iRGVsZXRlTm9kZXNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj dCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkRlbGV0ZSBvbmUgb3IgbW9yZSBub2RlcyBmcm9t IHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVzVG9EZWxldGUiIFR5cGVOYW1lPSJvcGM6 -SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rlc1RvRGVsZXRlIiBUeXBlTmFtZT0i -dG5zOkRlbGV0ZU5vZGVzSXRlbSIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvRGVsZXRlIiAvPg0K -ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRl -bGV0ZU5vZGVzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv -cGM6RG9jdW1lbnRhdGlvbj5EZWxldGUgb25lIG9yIG1vcmUgbm9kZXMgZnJvbSB0aGUgc2VydmVy -IGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3Ro -RmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0 -aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRp -YWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0i -Tm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w -YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVSZWZlcmVuY2VzSXRlbSIgQmFzZVR5cGU9InVh -OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgcmVxdWVzdCB0byBk -ZWxldGUgYSBub2RlIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRvY3VtZW50 -YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTb3VyY2VOb2RlSWQiIFR5cGVOYW1lPSJ1YTpO -b2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBlSWQiIFR5cGVOYW1l -PSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0ZvcndhcmQiIFR5cGVOYW1l -PSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldE5vZGVJZCIgVHlw -ZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVsZXRl -QmlkaXJlY3Rpb25hbCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNS -ZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50 -YXRpb24+RGVsZXRlIG9uZSBvciBtb3JlIHJlZmVyZW5jZXMgZnJvbSB0aGUgc2VydmVyIGFkZHJl -c3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVl -c3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vT2ZSZWZlcmVuY2VzVG9EZWxldGUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzVG9EZWxldGUiIFR5cGVOYW1lPSJ0bnM6RGVs -ZXRlUmVmZXJlbmNlc0l0ZW0iIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlc1RvRGVsZXRlIiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -IkRlbGV0ZVJlZmVyZW5jZXNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkRlbGV0ZSBvbmUgb3IgbW9yZSByZWZlcmVuY2VzIGZy +RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXND +b2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO +b09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExl +bmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNJdGVtIiBC +YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBy +ZXF1ZXN0IHRvIGRlbGV0ZSBhIG5vZGUgZnJvbSB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9v +cGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvdXJjZU5vZGVJZCIgVHlw +ZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZVR5cGVJ +ZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzRm9yd2Fy +ZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGFyZ2V0 +Tm9kZUlkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJEZWxldGVCaWRpcmVjdGlvbmFsIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwv +b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRl +UmVmZXJlbmNlc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv +cGM6RG9jdW1lbnRhdGlvbj5EZWxldGUgb25lIG9yIG1vcmUgcmVmZXJlbmNlcyBmcm9tIHRoZSBz +ZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXNUb0RlbGV0ZSIgVHlwZU5hbWU9Im9wYzpJ +bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXNUb0RlbGV0ZSIgVHlwZU5h +bWU9InRuczpEZWxldGVSZWZlcmVuY2VzSXRlbSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2Vz +VG9EZWxldGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl +ZFR5cGUgTmFtZT0iRGVsZXRlUmVmZXJlbmNlc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5z +aW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+RGVsZXRlIG9uZSBvciBtb3JlIHJl +ZmVyZW5jZXMgZnJvbSB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlv +bj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJl +c3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVO +YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFt +ZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdu +b3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJBdHRyaWJ1dGVX +cml0ZU1hc2siIExlbmd0aEluQml0cz0iMzIiIElzT3B0aW9uU2V0PSJ0cnVlIj4NCiAgICA8b3Bj +OkRvY3VtZW50YXRpb24+RGVmaW5lIGJpdHMgdXNlZCB0byBpbmRpY2F0ZSB3aGljaCBhdHRyaWJ1 +dGVzIGFyZSB3cml0YWJsZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRl +ZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9IkFjY2Vzc0xldmVsIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 +ZSBOYW1lPSJBcnJheURpbWVuc2lvbnMiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRl +ZFZhbHVlIE5hbWU9IkJyb3dzZU5hbWUiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRl +ZFZhbHVlIE5hbWU9IkNvbnRhaW5zTm9Mb29wcyIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVt +ZXJhdGVkVmFsdWUgTmFtZT0iRGF0YVR5cGUiIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1l +cmF0ZWRWYWx1ZSBOYW1lPSJEZXNjcmlwdGlvbiIgVmFsdWU9IjMyIiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IkRpc3BsYXlOYW1lIiBWYWx1ZT0iNjQiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iRXZlbnROb3RpZmllciIgVmFsdWU9IjEyOCIgLz4NCiAgICA8 +b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJFeGVjdXRhYmxlIiBWYWx1ZT0iMjU2IiAvPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikhpc3Rvcml6aW5nIiBWYWx1ZT0iNTEyIiAvPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkludmVyc2VOYW1lIiBWYWx1ZT0iMTAyNCIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJc0Fic3RyYWN0IiBWYWx1ZT0iMjA0 +OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJNaW5pbXVtU2FtcGxpbmdJbnRl +cnZhbCIgVmFsdWU9IjQwOTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9k +ZUNsYXNzIiBWYWx1ZT0iODE5MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJO +b2RlSWQiIFZhbHVlPSIxNjM4NCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJT +eW1tZXRyaWMiIFZhbHVlPSIzMjc2OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l +PSJVc2VyQWNjZXNzTGV2ZWwiIFZhbHVlPSI2NTUzNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJVc2VyRXhlY3V0YWJsZSIgVmFsdWU9IjEzMTA3MiIgLz4NCiAgICA8b3BjOkVu +dW1lcmF0ZWRWYWx1ZSBOYW1lPSJVc2VyV3JpdGVNYXNrIiBWYWx1ZT0iMjYyMTQ0IiAvPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZhbHVlUmFuayIgVmFsdWU9IjUyNDI4OCIgLz4N +CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJXcml0ZU1hc2siIFZhbHVlPSIxMDQ4NTc2 +IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZhbHVlRm9yVmFyaWFibGVUeXBl +IiBWYWx1ZT0iMjA5NzE1MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEYXRh +VHlwZURlZmluaXRpb24iIFZhbHVlPSI0MTk0MzA0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh +bHVlIE5hbWU9IlJvbGVQZXJtaXNzaW9ucyIgVmFsdWU9IjgzODg2MDgiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iQWNjZXNzUmVzdHJpY3Rpb25zIiBWYWx1ZT0iMTY3NzcyMTYi +IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQWNjZXNzTGV2ZWxFeCIgVmFsdWU9 +IjMzNTU0NDMyIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0 +ZWRUeXBlIE5hbWU9IkJyb3dzZURpcmVjdGlvbiIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9w +YzpEb2N1bWVudGF0aW9uPlRoZSBkaXJlY3Rpb25zIG9mIHRoZSByZWZlcmVuY2VzIHRvIHJldHVy +bi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkZv +cndhcmQiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkludmVy +c2UiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJvdGgiIFZh +bHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkludmFsaWQiIFZhbHVl +PSIzIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl +IE5hbWU9IlZpZXdEZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog +ICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSB2aWV3IHRvIGJyb3dzZS48L29wYzpEb2N1bWVudGF0 +aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmlld0lkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGltZXN0YW1wIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1l +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmlld1ZlcnNpb24iIFR5cGVOYW1lPSJvcGM6VUlu +dDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl +IE5hbWU9IkJyb3dzZURlc2NyaXB0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N +CiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSByZXF1ZXN0IHRvIGJyb3dzZSB0aGUgdGhlIHJlZmVy +ZW5jZXMgZnJvbSBhIG5vZGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkJyb3dzZURpcmVjdGlvbiIgVHlwZU5hbWU9InRuczpCcm93c2VEaXJlY3Rpb24iIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbmNsdWRlU3VidHlwZXMiIFR5cGVOYW1lPSJvcGM6Qm9v +bGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzc01hc2siIFR5cGVOYW1lPSJv +cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0TWFzayIgVHlwZU5hbWU9 +Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVy +YXRlZFR5cGUgTmFtZT0iQnJvd3NlUmVzdWx0TWFzayIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAg +PG9wYzpEb2N1bWVudGF0aW9uPkEgYml0IG1hc2sgd2hpY2ggc3BlY2lmaWVzIHdoYXQgc2hvdWxk +IGJlIHJldHVybmVkIGluIGEgYnJvd3NlIHJlc3BvbnNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQog +ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlVHlwZUlkIiBWYWx1ZT0iMSIgLz4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJc0ZvcndhcmQiIFZhbHVlPSIyIiAvPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vZGVDbGFzcyIgVmFsdWU9IjQiIC8+DQogICAg +PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQnJvd3NlTmFtZSIgVmFsdWU9IjgiIC8+DQogICAg +PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGlzcGxheU5hbWUiIFZhbHVlPSIxNiIgLz4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJUeXBlRGVmaW5pdGlvbiIgVmFsdWU9IjMyIiAv +Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFsbCIgVmFsdWU9IjYzIiAvPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlZmVyZW5jZVR5cGVJbmZvIiBWYWx1ZT0iMyIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJUYXJnZXRJbmZvIiBWYWx1ZT0iNjAi +IC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt +ZT0iUmVmZXJlbmNlRGVzY3JpcHRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K +ICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgZGVzY3JpcHRpb24gb2YgYSByZWZlcmVuY2UuPC9v +cGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZVR5cGVJZCIg +VHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzRm9yd2FyZCIg +VHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBU +eXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93 +c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJUeXBlRGVmaW5pdGlvbiIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9k +ZUlkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFt +ZT0iQ29udGludWF0aW9uUG9pbnQiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBpZGVudGlm +aWVyIGZvciBhIHN1c3BlbmRlZCBxdWVyeSBvciBicm93c2Ugb3BlcmF0aW9uLjwvb3BjOkRvY3Vt +ZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO +YW1lPSJCcm93c2VSZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv +cGM6RG9jdW1lbnRhdGlvbj5UaGUgcmVzdWx0IG9mIGEgYnJvd3NlIG9wZXJhdGlvbi48L29wYzpE +b2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9 +InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb250aW51YXRpb25Qb2lu +dCIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P +ZlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJSZWZlcmVuY2VzIiBUeXBlTmFtZT0idG5zOlJlZmVyZW5jZURlc2NyaXB0aW9uIiBMZW5ndGhG +aWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv +cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJvd3NlUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVu +c2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkJyb3dzZSB0aGUgcmVmZXJlbmNl +cyBmb3Igb25lIG9yIG1vcmUgbm9kZXMgZnJvbSB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9v +cGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5 +cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZpZXci +IFR5cGVOYW1lPSJ0bnM6Vmlld0Rlc2NyaXB0aW9uIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +UmVxdWVzdGVkTWF4UmVmZXJlbmNlc1Blck5vZGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVzVG9Ccm93c2UiIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rlc1RvQnJvd3NlIiBUeXBlTmFtZT0idG5z +OkJyb3dzZURlc2NyaXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZk5vZGVzVG9Ccm93c2UiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJv +d3NlUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9j +dW1lbnRhdGlvbj5Ccm93c2UgdGhlIHJlZmVyZW5jZXMgZm9yIG9uZSBvciBtb3JlIG5vZGVzIGZy b20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9w YzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRl ciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOklu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1 -c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIg -TGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iQXR0cmlidXRlV3JpdGVNYXNrIiBM -ZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+RGVmaW5lIGJpdHMgdXNl -ZCB0byBpbmRpY2F0ZSB3aGljaCBhdHRyaWJ1dGVzIGFyZSB3cml0YWJsZS48L29wYzpEb2N1bWVu -dGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAv -Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFjY2Vzc0xldmVsIiBWYWx1ZT0iMSIg -Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBcnJheURpbWVuc2lvbnMiIFZhbHVl -PSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJyb3dzZU5hbWUiIFZhbHVl -PSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkNvbnRhaW5zTm9Mb29wcyIg -VmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGF0YVR5cGUiIFZh -bHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEZXNjcmlwdGlvbiIg -VmFsdWU9IjMyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRpc3BsYXlOYW1l -IiBWYWx1ZT0iNjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRXZlbnROb3Rp -ZmllciIgVmFsdWU9IjEyOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJFeGVj -dXRhYmxlIiBWYWx1ZT0iMjU2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikhp -c3Rvcml6aW5nIiBWYWx1ZT0iNTEyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 -IkludmVyc2VOYW1lIiBWYWx1ZT0iMTAyNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO -YW1lPSJJc0Fic3RyYWN0IiBWYWx1ZT0iMjA0OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbCIgVmFsdWU9IjQwOTYiIC8+DQogICAgPG9w -YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9kZUNsYXNzIiBWYWx1ZT0iODE5MiIgLz4NCiAgICA8 -b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlSWQiIFZhbHVlPSIxNjM4NCIgLz4NCiAgICA8 -b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTeW1tZXRyaWMiIFZhbHVlPSIzMjc2OCIgLz4NCiAg -ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVc2VyQWNjZXNzTGV2ZWwiIFZhbHVlPSI2NTUz -NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVc2VyRXhlY3V0YWJsZSIgVmFs -dWU9IjEzMTA3MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVc2VyV3JpdGVN -YXNrIiBWYWx1ZT0iMjYyMTQ0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZh -bHVlUmFuayIgVmFsdWU9IjUyNDI4OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l -PSJXcml0ZU1hc2siIFZhbHVlPSIxMDQ4NTc2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9IlZhbHVlRm9yVmFyaWFibGVUeXBlIiBWYWx1ZT0iMjA5NzE1MiIgLz4NCiAgICA8b3Bj -OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEYXRhVHlwZURlZmluaXRpb24iIFZhbHVlPSI0MTk0MzA0 -IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJvbGVQZXJtaXNzaW9ucyIgVmFs -dWU9IjgzODg2MDgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQWNjZXNzUmVz -dHJpY3Rpb25zIiBWYWx1ZT0iMTY3NzcyMTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iQWNjZXNzTGV2ZWxFeCIgVmFsdWU9IjMzNTU0NDMyIiAvPg0KICA8L29wYzpFbnVtZXJh -dGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkJyb3dzZURpcmVjdGlvbiIg -TGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSBkaXJlY3Rpb25z -IG9mIHRoZSByZWZlcmVuY2VzIHRvIHJldHVybi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkZvcndhcmQiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6 -RW51bWVyYXRlZFZhbHVlIE5hbWU9IkludmVyc2UiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9IkJvdGgiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRl -ZFZhbHVlIE5hbWU9IkludmFsaWQiIFZhbHVlPSIzIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlw -ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlZpZXdEZXNjcmlwdGlvbiIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSB2aWV3 -IHRvIGJyb3dzZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmll -d0lkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGltZXN0 -YW1wIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmll -d1ZlcnNpb24iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw -ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb3dzZURlc2NyaXB0aW9uIiBCYXNl -VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSByZXF1 -ZXN0IHRvIGJyb3dzZSB0aGUgdGhlIHJlZmVyZW5jZXMgZnJvbSBhIG5vZGUuPC9vcGM6RG9jdW1l -bnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJ -ZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZURpcmVjdGlvbiIgVHlwZU5hbWU9InRu -czpCcm93c2VEaXJlY3Rpb24iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBl -SWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbmNsdWRl -U3VidHlwZXMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -Ik5vZGVDbGFzc01hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iUmVzdWx0TWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVj -dHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iQnJvd3NlUmVzdWx0TWFz -ayIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgYml0IG1hc2sg -d2hpY2ggc3BlY2lmaWVzIHdoYXQgc2hvdWxkIGJlIHJldHVybmVkIGluIGEgYnJvd3NlIHJlc3Bv -bnNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i -Tm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJl -bmNlVHlwZUlkIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJ -c0ZvcndhcmQiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5v -ZGVDbGFzcyIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQnJv -d3NlTmFtZSIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGlz -cGxheU5hbWUiIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJU -eXBlRGVmaW5pdGlvbiIgVmFsdWU9IjMyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9IkFsbCIgVmFsdWU9IjYzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJl -ZmVyZW5jZVR5cGVJbmZvIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO -YW1lPSJUYXJnZXRJbmZvIiBWYWx1ZT0iNjAiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0K -DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVmZXJlbmNlRGVzY3JpcHRpb24iIEJhc2VU -eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgZGVz -Y3JpcHRpb24gb2YgYSByZWZlcmVuY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IklzRm9yd2FyZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVk -TmFtZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6 -TG9jYWxpemVkVGV4dCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5h -bWU9InRuczpOb2RlQ2xhc3MiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUeXBlRGVmaW5pdGlv -biIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw -ZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iQ29udGludWF0aW9uUG9pbnQiPg0KICAgIDxv -cGM6RG9jdW1lbnRhdGlvbj5BbiBpZGVudGlmaWVyIGZvciBhIHN1c3BlbmRlZCBxdWVyeSBvciBi -cm93c2Ugb3BlcmF0aW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm93c2VSZXN1bHQiIEJhc2VUeXBlPSJ1 -YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgcmVzdWx0IG9m -IGEgYnJvd3NlIG9wZXJhdGlvbi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJDb250aW51YXRpb25Qb2ludCIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJvcGM6SW50 -MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBlTmFtZT0idG5zOlJl -ZmVyZW5jZURlc2NyaXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogIDwv -b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJvd3Nl -UmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVu -dGF0aW9uPkJyb3dzZSB0aGUgcmVmZXJlbmNlcyBmb3Igb25lIG9yIG1vcmUgbm9kZXMgZnJvbSB0 -aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlZpZXciIFR5cGVOYW1lPSJ0bnM6Vmlld0Rlc2NyaXB0aW9u -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkTWF4UmVmZXJlbmNlc1Blck5vZGUi -IFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVz -VG9Ccm93c2UiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO -b2Rlc1RvQnJvd3NlIiBUeXBlTmFtZT0idG5zOkJyb3dzZURlc2NyaXB0aW9uIiBMZW5ndGhGaWVs -ZD0iTm9PZk5vZGVzVG9Ccm93c2UiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv -cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJvd3NlUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRl -bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5Ccm93c2UgdGhlIHJlZmVyZW5j -ZXMgZm9yIG9uZSBvciBtb3JlIG5vZGVzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwv -b3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIg -VHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v -T2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UmVzdWx0cyIgVHlwZU5hbWU9InRuczpCcm93c2VSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUmVz -dWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVO -YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3Mi -IFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGlj -SW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iQnJvd3NlTmV4dFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi -Pg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5Db250aW51ZXMgb25lIG9yIG1vcmUgYnJvd3NlIG9w -ZXJhdGlvbnMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVl +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InRuczpCcm93 +c2VSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5m +byIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJvd3NlTmV4dFJlcXVlc3Qi +IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5D +b250aW51ZXMgb25lIG9yIG1vcmUgYnJvd3NlIG9wZXJhdGlvbnMuPC9vcGM6RG9jdW1lbnRhdGlv +bj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVx +dWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlbGVhc2VDb250aW51YXRpb25Q +b2ludHMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v +T2ZDb250aW51YXRpb25Qb2ludHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJDb250aW51YXRpb25Qb2ludHMiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIg +TGVuZ3RoRmllbGQ9Ik5vT2ZDb250aW51YXRpb25Qb2ludHMiIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJvd3NlTmV4dFJlc3BvbnNl +IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+ +Q29udGludWVzIG9uZSBvciBtb3JlIGJyb3dzZSBvcGVyYXRpb25zLjwvb3BjOkRvY3VtZW50YXRp +b24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpS +ZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBl +TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5h +bWU9InRuczpCcm93c2VSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpE +aWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwv +b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVsYXRp +dmVQYXRoRWxlbWVudCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpE +b2N1bWVudGF0aW9uPkFuIGVsZW1lbnQgaW4gYSByZWxhdGl2ZSBwYXRoLjwvb3BjOkRvY3VtZW50 +YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBlSWQiIFR5cGVOYW1lPSJ1 +YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0ludmVyc2UiIFR5cGVOYW1lPSJv +cGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkluY2x1ZGVTdWJ0eXBlcyIgVHlw +ZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGFyZ2V0TmFtZSIg +VHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K +DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVsYXRpdmVQYXRoIiBCYXNlVHlwZT0idWE6 +RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSByZWxhdGl2ZSBwYXRo +IGNvbnN0cnVjdGVkIGZyb20gcmVmZXJlbmNlIHR5cGVzIGFuZCBicm93c2UgbmFtZXMuPC9vcGM6 +RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFbGVtZW50cyIgVHlwZU5h +bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVsZW1lbnRzIiBUeXBlTmFt +ZT0idG5zOlJlbGF0aXZlUGF0aEVsZW1lbnQiIExlbmd0aEZpZWxkPSJOb09mRWxlbWVudHMiIC8+ +DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i +QnJvd3NlUGF0aCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1 +bWVudGF0aW9uPkEgcmVxdWVzdCB0byB0cmFuc2xhdGUgYSBwYXRoIGludG8gYSBub2RlIGlkLjwv +b3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGFydGluZ05vZGUiIFR5 +cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWxhdGl2ZVBhdGgi +IFR5cGVOYW1lPSJ0bnM6UmVsYXRpdmVQYXRoIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N +Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb3dzZVBhdGhUYXJnZXQiIEJhc2VUeXBl +PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgdGFyZ2V0 +IG9mIHRoZSB0cmFuc2xhdGVkIHBhdGguPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlRhcmdldElkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJSZW1haW5pbmdQYXRoSW5kZXgiIFR5cGVOYW1lPSJvcGM6VUludDMy +IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9IkJyb3dzZVBhdGhSZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg +IDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgcmVzdWx0IG9mIGEgdHJhbnNsYXRlIG9wZWFyYXRpb24u +PC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5 +cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlRhcmdl +dHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUYXJnZXRz +IiBUeXBlTmFtZT0idG5zOkJyb3dzZVBhdGhUYXJnZXQiIExlbmd0aEZpZWxkPSJOb09mVGFyZ2V0 +cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO +YW1lPSJUcmFuc2xhdGVCcm93c2VQYXRoc1RvTm9kZUlkc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpF +eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UcmFuc2xhdGVzIG9uZSBv +ciBtb3JlIHBhdGhzIGluIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0 +aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpS +ZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkJyb3dzZVBhdGhzIiBU +eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlUGF0aHMi +IFR5cGVOYW1lPSJ0bnM6QnJvd3NlUGF0aCIgTGVuZ3RoRmllbGQ9Ik5vT2ZCcm93c2VQYXRocyIg +Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l +PSJUcmFuc2xhdGVCcm93c2VQYXRoc1RvTm9kZUlkc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0 +ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VHJhbnNsYXRlcyBvbmUgb3Ig +bW9yZSBwYXRocyBpbiB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlv +bj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJl +c3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVO +YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFt +ZT0idG5zOkJyb3dzZVBhdGhSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1 +YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVn +aXN0ZXJOb2Rlc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv +cGM6RG9jdW1lbnRhdGlvbj5SZWdpc3RlcnMgb25lIG9yIG1vcmUgbm9kZXMgZm9yIHJlcGVhdGVk +IHVzZSB3aXRoaW4gYSBzZXNzaW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTm9kZXNUb1JlZ2lzdGVyIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZXNUb1JlZ2lzdGVyIiBUeXBlTmFtZT0i +dWE6Tm9kZUlkIiBMZW5ndGhGaWVsZD0iTm9PZk5vZGVzVG9SZWdpc3RlciIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWdpc3Rlck5v +ZGVzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9j +dW1lbnRhdGlvbj5SZWdpc3RlcnMgb25lIG9yIG1vcmUgbm9kZXMgZm9yIHJlcGVhdGVkIHVzZSB3 +aXRoaW4gYSBzZXNzaW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWdpc3RlcmVkTm9kZUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZ2lzdGVyZWROb2RlSWRzIiBUeXBlTmFtZT0i +dWE6Tm9kZUlkIiBMZW5ndGhGaWVsZD0iTm9PZlJlZ2lzdGVyZWROb2RlSWRzIiAvPg0KICA8L29w +YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlVucmVnaXN0 +ZXJOb2Rlc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 +RG9jdW1lbnRhdGlvbj5VbnJlZ2lzdGVycyBvbmUgb3IgbW9yZSBwcmV2aW91c2x5IHJlZ2lzdGVy +ZWQgbm9kZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVl c3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlJlbGVhc2VDb250aW51YXRpb25Qb2ludHMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZDb250aW51YXRpb25Qb2ludHMiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb250aW51YXRpb25Qb2ludHMi -IFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZDb250aW51YXRpb25Q -b2ludHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iQnJvd3NlTmV4dFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 -Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q29udGludWVzIG9uZSBvciBtb3JlIGJyb3dzZSBv -cGVyYXRpb25zLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNw -b25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InRuczpCcm93c2VSZXN1bHQiIExlbmd0aEZp -ZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGlj -SW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFn -bm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5v -T2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 -U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVsYXRpdmVQYXRoRWxlbWVudCIgQmFzZVR5cGU9InVhOkV4 -dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkFuIGVsZW1lbnQgaW4gYSBy -ZWxhdGl2ZSBwYXRoLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS -ZWZlcmVuY2VUeXBlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJJc0ludmVyc2UiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkluY2x1ZGVTdWJ0eXBlcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iVGFyZ2V0TmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIC8+ +IE5hbWU9Ik5vT2ZOb2Rlc1RvVW5yZWdpc3RlciIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVzVG9VbnJlZ2lzdGVyIiBUeXBlTmFtZT0idWE6Tm9kZUlk +IiBMZW5ndGhGaWVsZD0iTm9PZk5vZGVzVG9VbnJlZ2lzdGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlVucmVnaXN0ZXJOb2Rlc1Jl +c3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50 +YXRpb24+VW5yZWdpc3RlcnMgb25lIG9yIG1vcmUgcHJldmlvdXNseSByZWdpc3RlcmVkIG5vZGVz +Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRl +ciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 +cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkNvdW50ZXIiPg0KICAgIDxvcGM6RG9jdW1l +bnRhdGlvbj5BIG1vbm90b25pY2FsbHkgaW5jcmVhc2luZyB2YWx1ZS48L29wYzpEb2N1bWVudGF0 +aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJOdW1l +cmljUmFuZ2UiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgYSByYW5nZSBvZiBh +cnJheSBpbmRleGVzLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoN +CiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IlRpbWUiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5B +IHRpbWUgdmFsdWUgc3BlY2lmaWVkIGFzIEhIOk1NOlNTLlNTUy48L29wYzpEb2N1bWVudGF0aW9u +Pg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJEYXRlIj4N +CiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBkYXRlIHZhbHVlLjwvb3BjOkRvY3VtZW50YXRpb24+ +DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFbmRw +b2ludENvbmZpZ3VyYXRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iT3BlcmF0aW9uVGltZW91dCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZUJpbmFyeUVuY29kaW5nIiBUeXBlTmFtZT0ib3BjOkJv +b2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhTdHJpbmdMZW5ndGgiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhCeXRlU3RyaW5nTGVuZ3Ro +IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4QXJyYXlM +ZW5ndGgiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhN +ZXNzYWdlU2l6ZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik1heEJ1ZmZlclNpemUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJDaGFubmVsTGlmZXRpbWUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJTZWN1cml0eVRva2VuTGlmZXRpbWUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i -UmVsYXRpdmVQYXRoIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRv -Y3VtZW50YXRpb24+QSByZWxhdGl2ZSBwYXRoIGNvbnN0cnVjdGVkIGZyb20gcmVmZXJlbmNlIHR5 -cGVzIGFuZCBicm93c2UgbmFtZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vT2ZFbGVtZW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkVsZW1lbnRzIiBUeXBlTmFtZT0idG5zOlJlbGF0aXZlUGF0aEVsZW1lbnQiIExl -bmd0aEZpZWxkPSJOb09mRWxlbWVudHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog -IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJvd3NlUGF0aCIgQmFzZVR5cGU9InVhOkV4dGVu -c2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgcmVxdWVzdCB0byB0cmFuc2xh -dGUgYSBwYXRoIGludG8gYSBub2RlIGlkLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJTdGFydGluZ05vZGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJSZWxhdGl2ZVBhdGgiIFR5cGVOYW1lPSJ0bnM6UmVsYXRpdmVQYXRoIiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -IkJyb3dzZVBhdGhUYXJnZXQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv -cGM6RG9jdW1lbnRhdGlvbj5UaGUgdGFyZ2V0IG9mIHRoZSB0cmFuc2xhdGVkIHBhdGguPC9vcGM6 -RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldElkIiBUeXBlTmFtZT0i -dWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZW1haW5pbmdQYXRo -SW5kZXgiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N -Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb3dzZVBhdGhSZXN1bHQiIEJhc2VUeXBl -PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgcmVzdWx0 -IG9mIGEgdHJhbnNsYXRlIG9wZWFyYXRpb24uPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTm9PZlRhcmdldHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJUYXJnZXRzIiBUeXBlTmFtZT0idG5zOkJyb3dzZVBhdGhUYXJn -ZXQiIExlbmd0aEZpZWxkPSJOb09mVGFyZ2V0cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJUcmFuc2xhdGVCcm93c2VQYXRoc1RvTm9k -ZUlkc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9j -dW1lbnRhdGlvbj5UcmFuc2xhdGVzIG9uZSBvciBtb3JlIHBhdGhzIGluIHRoZSBzZXJ2ZXIgYWRk -cmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVx -dWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9PZkJyb3dzZVBhdGhzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iQnJvd3NlUGF0aHMiIFR5cGVOYW1lPSJ0bnM6QnJvd3NlUGF0aCIgTGVu -Z3RoRmllbGQ9Ik5vT2ZCcm93c2VQYXRocyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJUcmFuc2xhdGVCcm93c2VQYXRoc1RvTm9kZUlk -c1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3Vt -ZW50YXRpb24+VHJhbnNsYXRlcyBvbmUgb3IgbW9yZSBwYXRocyBpbiB0aGUgc2VydmVyIGFkZHJl -c3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3Bv -bnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idG5zOkJyb3dzZVBhdGhSZXN1bHQiIExlbmd0 -aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9z -dGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE -aWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9 -Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv -cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVnaXN0ZXJOb2Rlc1JlcXVlc3QiIEJhc2VUeXBlPSJ1 -YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5SZWdpc3RlcnMgb25l -IG9yIG1vcmUgbm9kZXMgZm9yIHJlcGVhdGVkIHVzZSB3aXRoaW4gYSBzZXNzaW9uLjwvb3BjOkRv -Y3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFt -ZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTm9kZXNU -b1JlZ2lzdGVyIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Tm9kZXNUb1JlZ2lzdGVyIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBMZW5ndGhGaWVsZD0iTm9PZk5v -ZGVzVG9SZWdpc3RlciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 -Y3R1cmVkVHlwZSBOYW1lPSJSZWdpc3Rlck5vZGVzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRl -bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5SZWdpc3RlcnMgb25lIG9yIG1v -cmUgbm9kZXMgZm9yIHJlcGVhdGVkIHVzZSB3aXRoaW4gYSBzZXNzaW9uLjwvb3BjOkRvY3VtZW50 -YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRu -czpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWdpc3RlcmVk -Tm9kZUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl -Z2lzdGVyZWROb2RlSWRzIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBMZW5ndGhGaWVsZD0iTm9PZlJl -Z2lzdGVyZWROb2RlSWRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 -cnVjdHVyZWRUeXBlIE5hbWU9IlVucmVnaXN0ZXJOb2Rlc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpF -eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5VbnJlZ2lzdGVycyBvbmUg -b3IgbW9yZSBwcmV2aW91c2x5IHJlZ2lzdGVyZWQgbm9kZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVz -dEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOb2Rlc1RvVW5yZWdpc3RlciIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVzVG9VbnJl -Z2lzdGVyIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBMZW5ndGhGaWVsZD0iTm9PZk5vZGVzVG9VbnJl -Z2lzdGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU -eXBlIE5hbWU9IlVucmVnaXN0ZXJOb2Rlc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u -T2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VW5yZWdpc3RlcnMgb25lIG9yIG1vcmUg -cHJldmlvdXNseSByZWdpc3RlcmVkIG5vZGVzLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRl -ciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9 -IkNvdW50ZXIiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIG1vbm90b25pY2FsbHkgaW5jcmVh -c2luZyB2YWx1ZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQog -IDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJOdW1lcmljUmFuZ2UiPg0KICAgIDxvcGM6RG9jdW1lbnRh -dGlvbj5TcGVjaWZpZXMgYSByYW5nZSBvZiBhcnJheSBpbmRleGVzLjwvb3BjOkRvY3VtZW50YXRp -b24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IlRpbWUi -Pg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHRpbWUgdmFsdWUgc3BlY2lmaWVkIGFzIEhIOk1N -OlNTLlNTUy48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxv -cGM6T3BhcXVlVHlwZSBOYW1lPSJEYXRlIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBkYXRl -IHZhbHVlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9w -YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFbmRwb2ludENvbmZpZ3VyYXRpb24iIEJhc2VUeXBlPSJ1 -YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iT3BlcmF0aW9uVGltZW91 -dCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZUJpbmFy -eUVuY29kaW5nIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJNYXhTdHJpbmdMZW5ndGgiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJNYXhCeXRlU3RyaW5nTGVuZ3RoIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTWF4QXJyYXlMZW5ndGgiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhNZXNzYWdlU2l6ZSIgVHlwZU5hbWU9Im9wYzpJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heEJ1ZmZlclNpemUiIFR5cGVOYW1lPSJvcGM6 -SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDaGFubmVsTGlmZXRpbWUiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eVRva2VuTGlmZXRp -bWUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog -IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUXVlcnlEYXRhRGVzY3JpcHRpb24iIEJhc2VUeXBl -PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVsYXRpdmVQYXRo -IiBUeXBlTmFtZT0idG5zOlJlbGF0aXZlUGF0aCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF0 -dHJpYnV0ZUlkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkluZGV4UmFuZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik5vZGVUeXBlRGVzY3JpcHRpb24i -IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHlw -ZURlZmluaXRpb25Ob2RlIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJJbmNsdWRlU3ViVHlwZXMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEYXRhVG9SZXR1cm4iIFR5cGVOYW1lPSJvcGM6SW50 -MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVG9SZXR1cm4iIFR5cGVOYW1lPSJ0bnM6 -UXVlcnlEYXRhRGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mRGF0YVRvUmV0dXJuIiAvPg0K -ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkZp -bHRlck9wZXJhdG9yIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJFcXVhbHMiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9IklzTnVsbCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i -R3JlYXRlclRoYW4iIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 -Ikxlc3NUaGFuIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJH -cmVhdGVyVGhhbk9yRXF1YWwiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9Ikxlc3NUaGFuT3JFcXVhbCIgVmFsdWU9IjUiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk -VmFsdWUgTmFtZT0iTGlrZSIgVmFsdWU9IjYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iTm90IiBWYWx1ZT0iNyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJC -ZXR3ZWVuIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbkxp -c3QiIFZhbHVlPSI5IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFuZCIgVmFs -dWU9IjEwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik9yIiBWYWx1ZT0iMTEi -IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ2FzdCIgVmFsdWU9IjEyIiAvPg0K -ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkluVmlldyIgVmFsdWU9IjEzIiAvPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik9mVHlwZSIgVmFsdWU9IjE0IiAvPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlbGF0ZWRUbyIgVmFsdWU9IjE1IiAvPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJpdHdpc2VBbmQiIFZhbHVlPSIxNiIgLz4NCiAgICA8 -b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCaXR3aXNlT3IiIFZhbHVlPSIxNyIgLz4NCiAgPC9v -cGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJRdWVyeURh -dGFTZXQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJUeXBlRGVmaW5pdGlvbk5vZGUiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZWYWx1ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZXMiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiBM -ZW5ndGhGaWVsZD0iTm9PZlZhbHVlcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg -PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJOb2RlUmVmZXJlbmNlIiBCYXNlVHlwZT0idWE6RXh0 -ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVh -Ok5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgVHlwZU5h -bWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzRm9yd2FyZCIgVHlwZU5h -bWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZWRO -b2RlSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVm -ZXJlbmNlZE5vZGVJZHMiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIExlbmd0aEZpZWxkPSJOb09mUmVm -ZXJlbmNlZE5vZGVJZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry -dWN0dXJlZFR5cGUgTmFtZT0iQ29udGVudEZpbHRlckVsZW1lbnQiIEJhc2VUeXBlPSJ1YTpFeHRl -bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmlsdGVyT3BlcmF0b3IiIFR5cGVO -YW1lPSJ0bnM6RmlsdGVyT3BlcmF0b3IiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRmls -dGVyT3BlcmFuZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJGaWx0ZXJPcGVyYW5kcyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgTGVuZ3RoRmll -bGQ9Ik5vT2ZGaWx0ZXJPcGVyYW5kcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg -PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDb250ZW50RmlsdGVyIiBCYXNlVHlwZT0idWE6RXh0 -ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFbGVtZW50cyIgVHlwZU5h -bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVsZW1lbnRzIiBUeXBlTmFt -ZT0idG5zOkNvbnRlbnRGaWx0ZXJFbGVtZW50IiBMZW5ndGhGaWVsZD0iTm9PZkVsZW1lbnRzIiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -IkZpbHRlck9wZXJhbmQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpT -dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkVsZW1lbnRPcGVy -YW5kIiBCYXNlVHlwZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -SW5kZXgiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N -Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkxpdGVyYWxPcGVyYW5kIiBCYXNlVHlwZT0i -dG5zOkZpbHRlck9wZXJhbmQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWUiIFR5cGVOYW1l -PSJ1YTpWYXJpYW50IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj -dHVyZWRUeXBlIE5hbWU9IkF0dHJpYnV0ZU9wZXJhbmQiIEJhc2VUeXBlPSJ0bnM6RmlsdGVyT3Bl -cmFuZCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBbGlhcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VQYXRoIiBUeXBlTmFtZT0idG5zOlJlbGF0aXZl -UGF0aCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF0dHJpYnV0ZUlkIiBUeXBlTmFtZT0ib3Bj -OlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkluZGV4UmFuZ2UiIFR5cGVOYW1lPSJv -cGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy -ZWRUeXBlIE5hbWU9IlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIEJhc2VUeXBlPSJ0bnM6RmlsdGVy -T3BlcmFuZCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUeXBlRGVmaW5pdGlvbklkIiBUeXBlTmFt -ZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkJyb3dzZVBhdGgiIFR5 -cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VQYXRoIiBU -eXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZCcm93c2VQYXRoIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXR0cmlidXRlSWQiIFR5cGVOYW1lPSJvcGM6VUludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5kZXhSYW5nZSIgVHlwZU5hbWU9Im9wYzpTdHJp -bmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg -TmFtZT0iQ29udGVudEZpbHRlckVsZW1lbnRSZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P -YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0 -YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mT3BlcmFuZFN0YXR1c0NvZGVz -IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iT3BlcmFuZFN0 -YXR1c0NvZGVzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZPcGVy -YW5kU3RhdHVzQ29kZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mT3BlcmFuZERpYWdu -b3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -Ik9wZXJhbmREaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVu -Z3RoRmllbGQ9Ik5vT2ZPcGVyYW5kRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNvbnRlbnRGaWx0ZXJSZXN1 -bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Tm9PZkVsZW1lbnRSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iRWxlbWVudFJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6Q29udGVudEZpbHRlckVsZW1l -bnRSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mRWxlbWVudFJlc3VsdHMiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJOb09mRWxlbWVudERpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVsZW1lbnREaWFnbm9zdGljSW5mb3MiIFR5cGVO -YW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZFbGVtZW50RGlhZ25vc3Rp -Y0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU -eXBlIE5hbWU9IlBhcnNpbmdSZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGF0YVN0YXR1c0NvZGVzIiBUeXBlTmFtZT0i -b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVN0YXR1c0NvZGVzIiBUeXBl -TmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZEYXRhU3RhdHVzQ29kZXMiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGF0YURpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9 -Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFEaWFnbm9zdGljSW5mb3Mi -IFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEYXRhRGlhZ25v -c3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy -ZWRUeXBlIE5hbWU9IlF1ZXJ5Rmlyc3RSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq -ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6 -UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZpZXciIFR5cGVOYW1lPSJ0 -bnM6Vmlld0Rlc2NyaXB0aW9uIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVUeXBl -cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVUeXBl -cyIgVHlwZU5hbWU9InRuczpOb2RlVHlwZURlc2NyaXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZk5v -ZGVUeXBlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRlciIgVHlwZU5hbWU9InRuczpD -b250ZW50RmlsdGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4RGF0YVNldHNUb1JldHVy -biIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhSZWZl -cmVuY2VzVG9SZXR1cm4iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlF1ZXJ5Rmlyc3RSZXNwb25z -ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS -ZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vT2ZRdWVyeURhdGFTZXRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iUXVlcnlEYXRhU2V0cyIgVHlwZU5hbWU9InRuczpRdWVyeURh -dGFTZXQiIExlbmd0aEZpZWxkPSJOb09mUXVlcnlEYXRhU2V0cyIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUGFyc2luZ1Jlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50 -MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQYXJzaW5nUmVzdWx0cyIgVHlwZU5hbWU9InRu -czpQYXJzaW5nUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlBhcnNpbmdSZXN1bHRzIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVh -OkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRlclJlc3VsdCIgVHlwZU5hbWU9InRuczpDb250ZW50Rmls -dGVyUmVzdWx0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy -ZWRUeXBlIE5hbWU9IlF1ZXJ5TmV4dFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl -Y3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpS -ZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVsZWFzZUNvbnRpbnVhdGlv -blBvaW50IiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJD -b250aW51YXRpb25Qb2ludCIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpT -dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlF1ZXJ5TmV4dFJl -c3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTm9PZlF1ZXJ5RGF0YVNldHMiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJRdWVyeURhdGFTZXRzIiBUeXBlTmFtZT0idG5zOlF1 -ZXJ5RGF0YVNldCIgTGVuZ3RoRmllbGQ9Ik5vT2ZRdWVyeURhdGFTZXRzIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iUmV2aXNlZENvbnRpbnVhdGlvblBvaW50IiBUeXBlTmFtZT0ib3BjOkJ5dGVT -dHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5 -cGUgTmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3Bj -OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTb3VyY2UiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9IlNlcnZlciIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJh -dGVkVmFsdWUgTmFtZT0iQm90aCIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs -dWUgTmFtZT0iTmVpdGhlciIgVmFsdWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iSW52YWxpZCIgVmFsdWU9IjQiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQog -IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVhZFZhbHVlSWQiIEJhc2VUeXBlPSJ1YTpFeHRl -bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6 -Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXR0cmlidXRlSWQiIFR5cGVOYW1lPSJv -cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5kZXhSYW5nZSIgVHlwZU5hbWU9 -Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhRW5jb2RpbmciIFR5cGVO -YW1lPSJ1YTpRdWFsaWZpZWROYW1lIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 -b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlYWRSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5z -aW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1l -PSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heEFnZSIgVHlw -ZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lc3RhbXBzVG9S -ZXR1cm4iIFR5cGVOYW1lPSJ0bnM6VGltZXN0YW1wc1RvUmV0dXJuIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9PZk5vZGVzVG9SZWFkIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iTm9kZXNUb1JlYWQiIFR5cGVOYW1lPSJ0bnM6UmVhZFZhbHVlSWQiIExl -bmd0aEZpZWxkPSJOb09mTm9kZXNUb1JlYWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K -DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVhZFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6 -RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBU -eXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P -ZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS -ZXN1bHRzIiBUeXBlTmFtZT0idWE6RGF0YVZhbHVlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0i -b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBl -TmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9z +UXVlcnlEYXRhRGVzY3JpcHRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iUmVsYXRpdmVQYXRoIiBUeXBlTmFtZT0idG5zOlJlbGF0aXZlUGF0 +aCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF0dHJpYnV0ZUlkIiBUeXBlTmFtZT0ib3BjOlVJ +bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkluZGV4UmFuZ2UiIFR5cGVOYW1lPSJvcGM6 +U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU +eXBlIE5hbWU9Ik5vZGVUeXBlRGVzY3JpcHRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl +Y3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHlwZURlZmluaXRpb25Ob2RlIiBUeXBlTmFtZT0i +dWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbmNsdWRlU3ViVHlw +ZXMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZE +YXRhVG9SZXR1cm4iIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJEYXRhVG9SZXR1cm4iIFR5cGVOYW1lPSJ0bnM6UXVlcnlEYXRhRGVzY3JpcHRpb24iIExlbmd0 +aEZpZWxkPSJOb09mRGF0YVRvUmV0dXJuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K +ICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkZpbHRlck9wZXJhdG9yIiBMZW5ndGhJbkJpdHM9 +IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJFcXVhbHMiIFZhbHVlPSIwIiAv +Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IklzTnVsbCIgVmFsdWU9IjEiIC8+DQog +ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iR3JlYXRlclRoYW4iIFZhbHVlPSIyIiAvPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikxlc3NUaGFuIiBWYWx1ZT0iMyIgLz4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJHcmVhdGVyVGhhbk9yRXF1YWwiIFZhbHVlPSI0 +IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikxlc3NUaGFuT3JFcXVhbCIgVmFs +dWU9IjUiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTGlrZSIgVmFsdWU9IjYi +IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm90IiBWYWx1ZT0iNyIgLz4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCZXR3ZWVuIiBWYWx1ZT0iOCIgLz4NCiAgICA8 +b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbkxpc3QiIFZhbHVlPSI5IiAvPg0KICAgIDxvcGM6 +RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFuZCIgVmFsdWU9IjEwIiAvPg0KICAgIDxvcGM6RW51bWVy +YXRlZFZhbHVlIE5hbWU9Ik9yIiBWYWx1ZT0iMTEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs +dWUgTmFtZT0iQ2FzdCIgVmFsdWU9IjEyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h +bWU9IkluVmlldyIgVmFsdWU9IjEzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 +Ik9mVHlwZSIgVmFsdWU9IjE0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJl +bGF0ZWRUbyIgVmFsdWU9IjE1IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJp +dHdpc2VBbmQiIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJC +aXR3aXNlT3IiIFZhbHVlPSIxNyIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9w +YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJRdWVyeURhdGFTZXQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp +b25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6RXhw +YW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUeXBlRGVmaW5pdGlvbk5vZGUi +IFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v +T2ZWYWx1ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJW +YWx1ZXMiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiBMZW5ndGhGaWVsZD0iTm9PZlZhbHVlcyIgLz4N +CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJO +b2RlUmVmZXJlbmNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IklzRm9yd2FyZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZWROb2RlSWRzIiBUeXBlTmFtZT0ib3BjOkludDMy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlZE5vZGVJZHMiIFR5cGVOYW1lPSJ1 +YTpOb2RlSWQiIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlZE5vZGVJZHMiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ29udGVudEZp +bHRlckVsZW1lbnQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iRmlsdGVyT3BlcmF0b3IiIFR5cGVOYW1lPSJ0bnM6RmlsdGVyT3BlcmF0b3IiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRmlsdGVyT3BlcmFuZHMiIFR5cGVOYW1lPSJvcGM6 +SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXJPcGVyYW5kcyIgVHlwZU5hbWU9 +InVhOkV4dGVuc2lvbk9iamVjdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZGaWx0ZXJPcGVyYW5kcyIgLz4N +CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJD +b250ZW50RmlsdGVyIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vT2ZFbGVtZW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IkVsZW1lbnRzIiBUeXBlTmFtZT0idG5zOkNvbnRlbnRGaWx0ZXJFbGVtZW50 +IiBMZW5ndGhGaWVsZD0iTm9PZkVsZW1lbnRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N +Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkZpbHRlck9wZXJhbmQiIEJhc2VUeXBlPSJ1 +YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9IkVsZW1lbnRPcGVyYW5kIiBCYXNlVHlwZT0idG5zOkZpbHRlck9w +ZXJhbmQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5kZXgiIFR5cGVOYW1lPSJvcGM6VUludDMy IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9Ikhpc3RvcnlSZWFkVmFsdWVJZCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJJbmRleFJhbmdlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFFbmNvZGluZyIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5h -bWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb250aW51YXRpb25Qb2ludCIgVHlwZU5hbWU9 -Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 -cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlSZWFkUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5z -aW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1 -YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29udGludWF0aW9uUG9pbnQi -IFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikhpc3Rv -cnlEYXRhIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlSZWFkRGV0YWls -cyIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl -Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVhZEV2ZW50RGV0YWlscyIgQmFzZVR5 -cGU9InRuczpIaXN0b3J5UmVhZERldGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTnVtVmFs -dWVzUGVyTm9kZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJTdGFydFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJFbmRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iRmlsdGVyIiBUeXBlTmFtZT0idG5zOkV2ZW50RmlsdGVyIiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlYWRSYXdNb2RpZmll -ZERldGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IklzUmVhZE1vZGlmaWVkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJTdGFydFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTnVtVmFsdWVzUGVyTm9kZSIgVHlwZU5hbWU9Im9wYzpVSW50 -MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXR1cm5Cb3VuZHMiIFR5cGVOYW1lPSJvcGM6 -Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk -VHlwZSBOYW1lPSJSZWFkUHJvY2Vzc2VkRGV0YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5UmVh -ZERldGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhcnRUaW1lIiBUeXBlTmFtZT0ib3Bj -OkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kVGltZSIgVHlwZU5hbWU9Im9w -YzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByb2Nlc3NpbmdJbnRlcnZhbCIg -VHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQWdncmVn -YXRlVHlwZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFn -Z3JlZ2F0ZVR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIExlbmd0aEZpZWxkPSJOb09mQWdncmVn -YXRlVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24i -IFR5cGVOYW1lPSJ0bnM6QWdncmVnYXRlQ29uZmlndXJhdGlvbiIgLz4NCiAgPC9vcGM6U3RydWN0 -dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWFkQXRUaW1lRGV0YWls -cyIgQmFzZVR5cGU9InRuczpIaXN0b3J5UmVhZERldGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iTm9PZlJlcVRpbWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iUmVxVGltZXMiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIExlbmd0aEZpZWxkPSJOb09m -UmVxVGltZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VTaW1wbGVCb3VuZHMiIFR5cGVO -YW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT -dHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5RGF0YSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i -amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGF0YVZhbHVlcyIgVHlwZU5hbWU9Im9w -YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFWYWx1ZXMiIFR5cGVOYW1lPSJ1 -YTpEYXRhVmFsdWUiIExlbmd0aEZpZWxkPSJOb09mRGF0YVZhbHVlcyIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb2RpZmljYXRpb25J -bmZvIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -Ik1vZGlmaWNhdGlvblRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJVcGRhdGVUeXBlIiBUeXBlTmFtZT0idG5zOkhpc3RvcnlVcGRhdGVUeXBlIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -Ikhpc3RvcnlNb2RpZmllZERhdGEiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeURhdGEiPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iTm9PZkRhdGFWYWx1ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVmFsdWVzIiBUeXBlTmFtZT0idWE6RGF0YVZhbHVlIiBM -ZW5ndGhGaWVsZD0iTm9PZkRhdGFWYWx1ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m -TW9kaWZpY2F0aW9uSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJNb2RpZmljYXRpb25JbmZvcyIgVHlwZU5hbWU9InRuczpNb2RpZmljYXRpb25JbmZv -IiBMZW5ndGhGaWVsZD0iTm9PZk1vZGlmaWNhdGlvbkluZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlFdmVudCIgQmFz -ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRXZl -bnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnRz -IiBUeXBlTmFtZT0idG5zOkhpc3RvcnlFdmVudEZpZWxkTGlzdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZF -dmVudHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iSGlzdG9yeVJlYWRSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 -Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVx -dWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikhpc3RvcnlSZWFkRGV0YWlscyIg -VHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRp -bWVzdGFtcHNUb1JldHVybiIgVHlwZU5hbWU9InRuczpUaW1lc3RhbXBzVG9SZXR1cm4iIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJSZWxlYXNlQ29udGludWF0aW9uUG9pbnRzIiBUeXBlTmFtZT0i -b3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTm9kZXNUb1JlYWQiIFR5 -cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rlc1RvUmVhZCIg -VHlwZU5hbWU9InRuczpIaXN0b3J5UmVhZFZhbHVlSWQiIExlbmd0aEZpZWxkPSJOb09mTm9kZXNU -b1JlYWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iSGlzdG9yeVJlYWRSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj -dCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpS -ZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBl -TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5h -bWU9InRuczpIaXN0b3J5UmVhZFJlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJ -bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9 -InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJX -cml0ZVZhbHVlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkxpdGVyYWxPcGVyYW5kIiBCYXNlVHlwZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iVmFsdWUiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkF0dHJpYnV0ZU9w +ZXJhbmQiIEJhc2VUeXBlPSJ0bnM6RmlsdGVyT3BlcmFuZCI+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJB +bGlhcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93 +c2VQYXRoIiBUeXBlTmFtZT0idG5zOlJlbGF0aXZlUGF0aCIgLz4NCiAgICA8b3BjOkZpZWxkIE5h bWU9IkF0dHJpYnV0ZUlkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkluZGV4UmFuZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iVmFsdWUiIFR5cGVOYW1lPSJ1YTpEYXRhVmFsdWUiIC8+DQogIDwvb3BjOlN0cnVj -dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iV3JpdGVSZXF1ZXN0IiBC -YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVl -c3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vT2ZOb2Rlc1RvV3JpdGUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJOb2Rlc1RvV3JpdGUiIFR5cGVOYW1lPSJ0bnM6V3JpdGVWYWx1ZSIgTGVu -Z3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvV3JpdGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K -DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iV3JpdGVSZXNwb25zZSIgQmFzZVR5cGU9InVh -OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIg -VHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v -T2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0 -cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5 -cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5m -b3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg -TmFtZT0iSGlzdG9yeVVwZGF0ZURldGFpbHMiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0K -ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9Ikhp -c3RvcnlVcGRhdGVUeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJJbnNlcnQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9IlJlcGxhY2UiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9IlVwZGF0ZSIgVmFsdWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i -RGVsZXRlIiBWYWx1ZT0iNCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpF -bnVtZXJhdGVkVHlwZSBOYW1lPSJQZXJmb3JtVXBkYXRlVHlwZSIgTGVuZ3RoSW5CaXRzPSIzMiI+ -DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW5zZXJ0IiBWYWx1ZT0iMSIgLz4NCiAg -ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZXBsYWNlIiBWYWx1ZT0iMiIgLz4NCiAgICA8 -b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVcGRhdGUiIFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6 -RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlbW92ZSIgVmFsdWU9IjQiIC8+DQogIDwvb3BjOkVudW1l -cmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVXBkYXRlRGF0YURldGFp -bHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6SGlzdG9y -eVVwZGF0ZURldGFpbHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQZXJmb3JtSW5zZXJ0UmVw -bGFjZSIgVHlwZU5hbWU9InRuczpQZXJmb3JtVXBkYXRlVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vT2ZVcGRhdGVWYWx1ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJVcGRhdGVWYWx1ZXMiIFR5cGVOYW1lPSJ1YTpEYXRhVmFsdWUiIExlbmd0 -aEZpZWxkPSJOb09mVXBkYXRlVmFsdWVzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlVwZGF0ZVN0cnVjdHVyZURhdGFEZXRhaWxzIiBC -YXNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOkhpc3RvcnlVcGRh -dGVEZXRhaWxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGVyZm9ybUluc2VydFJlcGxhY2Ui -IFR5cGVOYW1lPSJ0bnM6UGVyZm9ybVVwZGF0ZVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJOb09mVXBkYXRlVmFsdWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iVXBkYXRlVmFsdWVzIiBUeXBlTmFtZT0idWE6RGF0YVZhbHVlIiBMZW5ndGhGaWVs -ZD0iTm9PZlVwZGF0ZVZhbHVlcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w -YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVcGRhdGVFdmVudERldGFpbHMiIEJhc2VUeXBlPSJ0bnM6 -SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBl -TmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQZXJmb3JtSW5zZXJ0UmVwbGFjZSIgVHlwZU5hbWU9InRu -czpQZXJmb3JtVXBkYXRlVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRlciIgVHlw -ZU5hbWU9InRuczpFdmVudEZpbHRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFdmVu -dERhdGEiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVu -dERhdGEiIFR5cGVOYW1lPSJ0bnM6SGlzdG9yeUV2ZW50RmllbGRMaXN0IiBMZW5ndGhGaWVsZD0i -Tm9PZkV2ZW50RGF0YSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 -Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVSYXdNb2RpZmllZERldGFpbHMiIEJhc2VUeXBlPSJ0bnM6 -SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBl -TmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0RlbGV0ZU1vZGlmaWVkIiBUeXBlTmFtZT0ib3BjOkJv -b2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGFydFRpbWUiIFR5cGVOYW1lPSJvcGM6 -RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRUaW1lIiBUeXBlTmFtZT0ib3Bj -OkRhdGVUaW1lIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy -ZWRUeXBlIE5hbWU9IkRlbGV0ZUF0VGltZURldGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVVw -ZGF0ZURldGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6 -Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJOb09mUmVxVGltZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJSZXFUaW1lcyIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgTGVuZ3Ro -RmllbGQ9Ik5vT2ZSZXFUaW1lcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w -YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVFdmVudERldGFpbHMiIEJhc2VUeXBlPSJ0bnM6 -SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBl -TmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRXZlbnRJZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVudElkcyIgVHlwZU5hbWU9Im9wYzpCeXRlU3Ry -aW5nIiBMZW5ndGhGaWVsZD0iTm9PZkV2ZW50SWRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw -ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlVcGRhdGVSZXN1bHQiIEJh +IE5hbWU9IkluZGV4UmFuZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNpbXBsZUF0dHJpYnV0 +ZU9wZXJhbmQiIEJhc2VUeXBlPSJ0bnM6RmlsdGVyT3BlcmFuZCI+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJUeXBlRGVmaW5pdGlvbklkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9PZkJyb3dzZVBhdGgiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJCcm93c2VQYXRoIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIg +TGVuZ3RoRmllbGQ9Ik5vT2ZCcm93c2VQYXRoIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXR0 +cmlidXRlSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +SW5kZXhSYW5nZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ29udGVudEZpbHRlckVsZW1lbnRS +ZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb09mT3BlcmFuZFN0YXR1c0NvZGVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iT3BlcmFuZFN0YXR1c0NvZGVzIiBUeXBlTmFtZT0idWE6U3Rh +dHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZPcGVyYW5kU3RhdHVzQ29kZXMiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOb09mT3BlcmFuZERpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJ +bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik9wZXJhbmREaWFnbm9zdGljSW5mb3MiIFR5 +cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZPcGVyYW5kRGlhZ25v +c3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy +ZWRUeXBlIE5hbWU9IkNvbnRlbnRGaWx0ZXJSZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P +YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkVsZW1lbnRSZXN1bHRzIiBUeXBlTmFt +ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRWxlbWVudFJlc3VsdHMiIFR5 +cGVOYW1lPSJ0bnM6Q29udGVudEZpbHRlckVsZW1lbnRSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09m +RWxlbWVudFJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRWxlbWVudERpYWdu +b3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkVsZW1lbnREaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVu +Z3RoRmllbGQ9Ik5vT2ZFbGVtZW50RGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlBhcnNpbmdSZXN1bHQiIEJh c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVz Q29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO -b09mT3BlcmF0aW9uUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik9wZXJhdGlvblJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5n -dGhGaWVsZD0iTm9PZk9wZXJhdGlvblJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO +b09mRGF0YVN0YXR1c0NvZGVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iRGF0YVN0YXR1c0NvZGVzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3Ro +RmllbGQ9Ik5vT2ZEYXRhU3RhdHVzQ29kZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m +RGF0YURpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkRhdGFEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5m +byIgTGVuZ3RoRmllbGQ9Ik5vT2ZEYXRhRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlF1ZXJ5Rmlyc3RSZXF1 +ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlZpZXciIFR5cGVOYW1lPSJ0bnM6Vmlld0Rlc2NyaXB0aW9uIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVUeXBlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVUeXBlcyIgVHlwZU5hbWU9InRuczpOb2RlVHlwZURl +c2NyaXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZk5vZGVUeXBlcyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkZpbHRlciIgVHlwZU5hbWU9InRuczpDb250ZW50RmlsdGVyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTWF4RGF0YVNldHNUb1JldHVybiIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhSZWZlcmVuY2VzVG9SZXR1cm4iIFR5cGVOYW1lPSJv +cGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy +ZWRUeXBlIE5hbWU9IlF1ZXJ5Rmlyc3RSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRu +czpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZRdWVyeURhdGFT +ZXRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVlcnlE +YXRhU2V0cyIgVHlwZU5hbWU9InRuczpRdWVyeURhdGFTZXQiIExlbmd0aEZpZWxkPSJOb09mUXVl +cnlEYXRhU2V0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiBU +eXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUGFy +c2luZ1Jlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJQYXJzaW5nUmVzdWx0cyIgVHlwZU5hbWU9InRuczpQYXJzaW5nUmVzdWx0IiBMZW5ndGhGaWVs +ZD0iTm9PZlBhcnNpbmdSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdu +b3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVs +ZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRlclJl +c3VsdCIgVHlwZU5hbWU9InRuczpDb250ZW50RmlsdGVyUmVzdWx0IiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlF1ZXJ5TmV4dFJlcXVl +c3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +UmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iUmVsZWFzZUNvbnRpbnVhdGlvblBvaW50IiBUeXBlTmFtZT0ib3BjOkJvb2xl +YW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb250aW51YXRpb25Qb2ludCIgVHlwZU5hbWU9 +Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9IlF1ZXJ5TmV4dFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5z +aW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFt +ZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlF1ZXJ5 +RGF0YVNldHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJR +dWVyeURhdGFTZXRzIiBUeXBlTmFtZT0idG5zOlF1ZXJ5RGF0YVNldCIgTGVuZ3RoRmllbGQ9Ik5v +T2ZRdWVyeURhdGFTZXRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZENvbnRpbnVh +dGlvblBvaW50IiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iVGltZXN0YW1wc1RvUmV0dXJu +IiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTb3Vy +Y2UiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNlcnZlciIg +VmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQm90aCIgVmFsdWU9 +IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTmVpdGhlciIgVmFsdWU9IjMi +IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW52YWxpZCIgVmFsdWU9IjQiIC8+ +DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i +UmVhZFZhbHVlSWQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iQXR0cmlidXRlSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iSW5kZXhSYW5nZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJEYXRhRW5jb2RpbmciIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiAvPg0K +ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJl +YWRSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik1heEFnZSIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iIFR5cGVOYW1lPSJ0bnM6VGltZXN0 +YW1wc1RvUmV0dXJuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVzVG9SZWFkIiBU +eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZXNUb1JlYWQi +IFR5cGVOYW1lPSJ0bnM6UmVhZFZhbHVlSWQiIExlbmd0aEZpZWxkPSJOb09mTm9kZXNUb1JlYWQi +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt +ZT0iUmVhZFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6RGF0YVZh +bHVlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO b09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExl bmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw -ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlVcGRhdGVSZXF1ZXN0IiBC +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlSZWFkVmFsdWVJZCIgQmFz +ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQi +IFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbmRleFJhbmdl +IiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFFbmNv +ZGluZyIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJDb250aW51YXRpb25Qb2ludCIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29w +YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlS +ZWFkUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iQ29udGludWF0aW9uUG9pbnQiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikhpc3RvcnlEYXRhIiBUeXBlTmFtZT0idWE6RXh0ZW5z +aW9uT2JqZWN0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy +ZWRUeXBlIE5hbWU9Ikhpc3RvcnlSZWFkRGV0YWlscyIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iUmVhZEV2ZW50RGV0YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5UmVhZERldGFpbHMi +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTnVtVmFsdWVzUGVyTm9kZSIgVHlwZU5hbWU9Im9wYzpV +SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGFydFRpbWUiIFR5cGVOYW1lPSJvcGM6 +RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRUaW1lIiBUeXBlTmFtZT0ib3Bj +OkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmlsdGVyIiBUeXBlTmFtZT0idG5z +OkV2ZW50RmlsdGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj +dHVyZWRUeXBlIE5hbWU9IlJlYWRSYXdNb2RpZmllZERldGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlz +dG9yeVJlYWREZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzUmVhZE1vZGlmaWVkIiBU +eXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGFydFRpbWUi +IFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRUaW1l +IiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTnVtVmFs +dWVzUGVyTm9kZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJSZXR1cm5Cb3VuZHMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0 +dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWFkUHJvY2Vzc2VkRGV0 +YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5UmVhZERldGFpbHMiPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iU3RhcnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iRW5kVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlByb2Nlc3NpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQWdncmVnYXRlVHlwZSIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFnZ3JlZ2F0ZVR5cGUiIFR5cGVOYW1lPSJ1YTpO +b2RlSWQiIExlbmd0aEZpZWxkPSJOb09mQWdncmVnYXRlVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIFR5cGVOYW1lPSJ0bnM6QWdncmVnYXRlQ29u +ZmlndXJhdGlvbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 +cmVkVHlwZSBOYW1lPSJSZWFkQXRUaW1lRGV0YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5UmVh +ZERldGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlcVRpbWVzIiBUeXBlTmFtZT0i +b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxVGltZXMiIFR5cGVOYW1lPSJv +cGM6RGF0ZVRpbWUiIExlbmd0aEZpZWxkPSJOb09mUmVxVGltZXMiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJVc2VTaW1wbGVCb3VuZHMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9v +cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5 +RGF0YSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mRGF0YVZhbHVlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkRhdGFWYWx1ZXMiIFR5cGVOYW1lPSJ1YTpEYXRhVmFsdWUiIExlbmd0aEZpZWxkPSJO +b09mRGF0YVZhbHVlcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 +Y3R1cmVkVHlwZSBOYW1lPSJNb2RpZmljYXRpb25JbmZvIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u +T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vZGlmaWNhdGlvblRpbWUiIFR5cGVOYW1l +PSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVcGRhdGVUeXBlIiBUeXBl +TmFtZT0idG5zOkhpc3RvcnlVcGRhdGVUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNl +ck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N +Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlNb2RpZmllZERhdGEiIEJhc2VU +eXBlPSJ0bnM6SGlzdG9yeURhdGEiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRhdGFWYWx1 +ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVmFs +dWVzIiBUeXBlTmFtZT0idWE6RGF0YVZhbHVlIiBMZW5ndGhGaWVsZD0iTm9PZkRhdGFWYWx1ZXMi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTW9kaWZpY2F0aW9uSW5mb3MiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb2RpZmljYXRpb25JbmZvcyIg +VHlwZU5hbWU9InRuczpNb2RpZmljYXRpb25JbmZvIiBMZW5ndGhGaWVsZD0iTm9PZk1vZGlmaWNh +dGlvbkluZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy +ZWRUeXBlIE5hbWU9Ikhpc3RvcnlFdmVudCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRXZlbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnRzIiBUeXBlTmFtZT0idG5zOkhpc3RvcnlFdmVu +dEZpZWxkTGlzdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZFdmVudHMiIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeVJlYWRSZXF1ZXN0 +IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl +cXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ikhpc3RvcnlSZWFkRGV0YWlscyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVj +dCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRpbWVzdGFtcHNUb1JldHVybiIgVHlwZU5hbWU9 +InRuczpUaW1lc3RhbXBzVG9SZXR1cm4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWxlYXNl +Q29udGludWF0aW9uUG9pbnRzIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJOb09mTm9kZXNUb1JlYWQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJOb2Rlc1RvUmVhZCIgVHlwZU5hbWU9InRuczpIaXN0b3J5UmVhZFZh +bHVlSWQiIExlbmd0aEZpZWxkPSJOb09mTm9kZXNUb1JlYWQiIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeVJlYWRSZXNwb25z +ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS +ZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InRuczpIaXN0b3J5UmVhZFJlc3VsdCIg +TGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRp +YWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhG +aWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJXcml0ZVZhbHVlIiBCYXNlVHlwZT0idWE6RXh0 +ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVh +Ok5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF0dHJpYnV0ZUlkIiBUeXBlTmFtZT0i +b3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkluZGV4UmFuZ2UiIFR5cGVOYW1l +PSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWUiIFR5cGVOYW1lPSJ1 +YTpEYXRhVmFsdWUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 +dXJlZFR5cGUgTmFtZT0iV3JpdGVSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVx +dWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOb2Rlc1RvV3JpdGUiIFR5 +cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rlc1RvV3JpdGUi +IFR5cGVOYW1lPSJ0bnM6V3JpdGVWYWx1ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvV3JpdGUi +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt +ZT0iV3JpdGVSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRl +ciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1 +c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIg +TGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeVVwZGF0ZURldGFpbHMi +IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9k +ZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K +ICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9Ikhpc3RvcnlVcGRhdGVUeXBlIiBMZW5ndGhJbkJp +dHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnNlcnQiIFZhbHVlPSIx +IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlcGxhY2UiIFZhbHVlPSIyIiAv +Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVwZGF0ZSIgVmFsdWU9IjMiIC8+DQog +ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGVsZXRlIiBWYWx1ZT0iNCIgLz4NCiAgPC9v +cGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJQZXJmb3Jt +VXBkYXRlVHlwZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg +TmFtZT0iSW5zZXJ0IiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l +PSJSZXBsYWNlIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJV +cGRhdGUiIFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlbW92 +ZSIgVmFsdWU9IjQiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 +dXJlZFR5cGUgTmFtZT0iVXBkYXRlRGF0YURldGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVVw +ZGF0ZURldGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6 +Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJQZXJmb3JtSW5zZXJ0UmVwbGFjZSIgVHlwZU5hbWU9InRuczpQZXJmb3Jt +VXBkYXRlVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZVcGRhdGVWYWx1ZXMiIFR5 +cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVcGRhdGVWYWx1ZXMi +IFR5cGVOYW1lPSJ1YTpEYXRhVmFsdWUiIExlbmd0aEZpZWxkPSJOb09mVXBkYXRlVmFsdWVzIiAv +Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 +IlVwZGF0ZVN0cnVjdHVyZURhdGFEZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVE +ZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJ +ZCIgU291cmNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iUGVyZm9ybUluc2VydFJlcGxhY2UiIFR5cGVOYW1lPSJ0bnM6UGVyZm9ybVVwZGF0 +ZVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVXBkYXRlVmFsdWVzIiBUeXBlTmFt +ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXBkYXRlVmFsdWVzIiBUeXBl +TmFtZT0idWE6RGF0YVZhbHVlIiBMZW5ndGhGaWVsZD0iTm9PZlVwZGF0ZVZhbHVlcyIgLz4NCiAg +PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVcGRh +dGVFdmVudERldGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBl +PSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQZXJm +b3JtSW5zZXJ0UmVwbGFjZSIgVHlwZU5hbWU9InRuczpQZXJmb3JtVXBkYXRlVHlwZSIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRlciIgVHlwZU5hbWU9InRuczpFdmVudEZpbHRlciIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFdmVudERhdGEiIFR5cGVOYW1lPSJvcGM6SW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVudERhdGEiIFR5cGVOYW1lPSJ0bnM6SGlzdG9y +eUV2ZW50RmllbGRMaXN0IiBMZW5ndGhGaWVsZD0iTm9PZkV2ZW50RGF0YSIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVSYXdN +b2RpZmllZERldGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBl +PSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0Rl +bGV0ZU1vZGlmaWVkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJTdGFydFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJFbmRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZUF0VGltZURl +dGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6SGlz +dG9yeVVwZGF0ZURldGFpbHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVxVGltZXMi +IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXFUaW1lcyIg +VHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXFUaW1lcyIgLz4NCiAg +PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxl +dGVFdmVudERldGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBl +PSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m +RXZlbnRJZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJF +dmVudElkcyIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZkV2ZW50 +SWRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl +IE5hbWU9Ikhpc3RvcnlVcGRhdGVSZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0Nv +ZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mT3BlcmF0aW9uUmVzdWx0cyIgVHlwZU5h +bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik9wZXJhdGlvblJlc3VsdHMi +IFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZk9wZXJhdGlvblJlc3Vs +dHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFt +ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBU +eXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0lu +Zm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl +IE5hbWU9Ikhpc3RvcnlVcGRhdGVSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVx +dWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZIaXN0b3J5VXBkYXRlRGV0 +YWlscyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikhpc3Rv +cnlVcGRhdGVEZXRhaWxzIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBMZW5ndGhGaWVs +ZD0iTm9PZkhpc3RvcnlVcGRhdGVEZXRhaWxzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N +Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlVcGRhdGVSZXNwb25zZSIgQmFz +ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25z +ZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InRuczpIaXN0b3J5VXBkYXRlUmVzdWx0IiBMZW5n +dGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25v +c3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +RGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxk +PSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 +b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNhbGxNZXRob2RSZXF1ZXN0IiBCYXNlVHlwZT0idWE6 +RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik9iamVjdElkIiBUeXBlTmFt +ZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWV0aG9kSWQiIFR5cGVOYW1l +PSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mSW5wdXRBcmd1bWVudHMi +IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbnB1dEFyZ3Vt +ZW50cyIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIExlbmd0aEZpZWxkPSJOb09mSW5wdXRBcmd1bWVu +dHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iQ2FsbE1ldGhvZFJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZJbnB1dEFyZ3VtZW50UmVzdWx0cyIgVHlwZU5h +bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklucHV0QXJndW1lbnRSZXN1 +bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZJbnB1dEFyZ3Vt +ZW50UmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZJbnB1dEFyZ3VtZW50RGlh +Z25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iSW5wdXRBcmd1bWVudERpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJ +bmZvIiBMZW5ndGhGaWVsZD0iTm9PZklucHV0QXJndW1lbnREaWFnbm9zdGljSW5mb3MiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mT3V0cHV0QXJndW1lbnRzIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iT3V0cHV0QXJndW1lbnRzIiBUeXBlTmFtZT0i +dWE6VmFyaWFudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZPdXRwdXRBcmd1bWVudHMiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ2FsbFJlcXVl +c3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +UmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9PZk1ldGhvZHNUb0NhbGwiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJNZXRob2RzVG9DYWxsIiBUeXBlTmFtZT0idG5zOkNhbGxNZXRo +b2RSZXF1ZXN0IiBMZW5ndGhGaWVsZD0iTm9PZk1ldGhvZHNUb0NhbGwiIC8+DQogIDwvb3BjOlN0 +cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ2FsbFJlc3BvbnNl +IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl +c3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idG5zOkNhbGxNZXRob2RSZXN1bHQiIExl +bmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFn +bm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmll +bGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog +IDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iTW9uaXRvcmluZ01vZGUiIExlbmd0aEluQml0cz0i +MzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRpc2FibGVkIiBWYWx1ZT0iMCIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTYW1wbGluZyIgVmFsdWU9IjEiIC8+ +DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVwb3J0aW5nIiBWYWx1ZT0iMiIgLz4N +CiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJE +YXRhQ2hhbmdlVHJpZ2dlciIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVk +VmFsdWUgTmFtZT0iU3RhdHVzIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 +ZSBOYW1lPSJTdGF0dXNWYWx1ZSIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs +dWUgTmFtZT0iU3RhdHVzVmFsdWVUaW1lc3RhbXAiIFZhbHVlPSIyIiAvPg0KICA8L29wYzpFbnVt +ZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkRlYWRiYW5kVHlwZSIg +TGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIg +VmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQWJzb2x1dGUiIFZh +bHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlBlcmNlbnQiIFZhbHVl +PSIyIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl +IE5hbWU9Ik1vbml0b3JpbmdGaWx0ZXIiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K +ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRh +dGFDaGFuZ2VGaWx0ZXIiIEJhc2VUeXBlPSJ0bnM6TW9uaXRvcmluZ0ZpbHRlciI+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJUcmlnZ2VyIiBUeXBlTmFtZT0idG5zOkRhdGFDaGFuZ2VUcmlnZ2VyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVhZGJhbmRUeXBlIiBUeXBlTmFtZT0ib3BjOlVJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlYWRiYW5kVmFsdWUiIFR5cGVOYW1lPSJvcGM6 +RG91YmxlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU +eXBlIE5hbWU9IkV2ZW50RmlsdGVyIiBCYXNlVHlwZT0idG5zOk1vbml0b3JpbmdGaWx0ZXIiPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlbGVjdENsYXVzZXMiIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWxlY3RDbGF1c2VzIiBUeXBlTmFtZT0idG5z +OlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIExlbmd0aEZpZWxkPSJOb09mU2VsZWN0Q2xhdXNlcyIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldoZXJlQ2xhdXNlIiBUeXBlTmFtZT0idG5zOkNvbnRl +bnRGaWx0ZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl +ZFR5cGUgTmFtZT0iQWdncmVnYXRlQ29uZmlndXJhdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lv +bk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VTZXJ2ZXJDYXBhYmlsaXRpZXNEZWZh +dWx0cyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJl +YXRVbmNlcnRhaW5Bc0JhZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iUGVyY2VudERhdGFCYWQiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlBlcmNlbnREYXRhR29vZCIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iVXNlU2xvcGVkRXh0cmFwb2xhdGlvbiIgVHlwZU5hbWU9Im9wYzpC +b29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU +eXBlIE5hbWU9IkFnZ3JlZ2F0ZUZpbHRlciIgQmFzZVR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVy +Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXJ0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGlt +ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFnZ3JlZ2F0ZVR5cGUiIFR5cGVOYW1lPSJ1YTpO +b2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcm9jZXNzaW5nSW50ZXJ2YWwiIFR5cGVO +YW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWdncmVnYXRlQ29uZmln +dXJhdGlvbiIgVHlwZU5hbWU9InRuczpBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiAvPg0KICA8L29w +YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vbml0b3Jp +bmdGaWx0ZXJSZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkV2ZW50RmlsdGVy +UmVzdWx0IiBCYXNlVHlwZT0idG5zOk1vbml0b3JpbmdGaWx0ZXJSZXN1bHQiPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9PZlNlbGVjdENsYXVzZVJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWxlY3RDbGF1c2VSZXN1bHRzIiBUeXBlTmFtZT0i +dWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZWxlY3RDbGF1c2VSZXN1bHRzIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlbGVjdENsYXVzZURpYWdub3N0aWNJbmZvcyIgVHlw +ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlbGVjdENsYXVzZURp +YWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0i +Tm9PZlNlbGVjdENsYXVzZURpYWdub3N0aWNJbmZvcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IldoZXJlQ2xhdXNlUmVzdWx0IiBUeXBlTmFtZT0idG5zOkNvbnRlbnRGaWx0ZXJSZXN1bHQiIC8+ +DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i +QWdncmVnYXRlRmlsdGVyUmVzdWx0IiBCYXNlVHlwZT0idG5zOk1vbml0b3JpbmdGaWx0ZXJSZXN1 +bHQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZFN0YXJ0VGltZSIgVHlwZU5hbWU9Im9w +YzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRQcm9jZXNzaW5nSW50 +ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2 +aXNlZEFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIFR5cGVOYW1lPSJ0bnM6QWdncmVnYXRlQ29uZmln +dXJhdGlvbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk +VHlwZSBOYW1lPSJNb25pdG9yaW5nUGFyYW1ldGVycyIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnRIYW5kbGUiIFR5cGVOYW1lPSJvcGM6 +VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2FtcGxpbmdJbnRlcnZhbCIgVHlwZU5h +bWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXIiIFR5cGVOYW1l +PSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJRdWV1ZVNpemUi +IFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY2FyZE9s +ZGVzdCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N +Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0 +IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikl0 +ZW1Ub01vbml0b3IiIFR5cGVOYW1lPSJ0bnM6UmVhZFZhbHVlSWQiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJNb25pdG9yaW5nTW9kZSIgVHlwZU5hbWU9InRuczpNb25pdG9yaW5nTW9kZSIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZFBhcmFtZXRlcnMiIFR5cGVOYW1lPSJ0bnM6 +TW9uaXRvcmluZ1BhcmFtZXRlcnMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv +cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9uaXRvcmVkSXRlbUNyZWF0ZVJlc3VsdCIgQmFzZVR5 +cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2Rl +IiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0 +b3JlZEl0ZW1JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJSZXZpc2VkU2FtcGxpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkUXVldWVTaXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRlclJlc3VsdCIgVHlwZU5hbWU9InVhOkV4dGVu +c2lvbk9iamVjdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 +cmVkVHlwZSBOYW1lPSJDcmVhdGVNb25pdG9yZWRJdGVtc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpF +eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlw +ZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2Ny +aXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +VGltZXN0YW1wc1RvUmV0dXJuIiBUeXBlTmFtZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZJdGVtc1RvQ3JlYXRlIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXRlbXNUb0NyZWF0ZSIgVHlwZU5hbWU9InRu +czpNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZJdGVtc1RvQ3Jl +YXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl +IE5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp +b25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1l +PSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0 +cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMi +IFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmVkSXRlbUNyZWF0ZVJlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5v +T2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIg +VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJ +bmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdu +b3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 +cmVkVHlwZSBOYW1lPSJNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4 +dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb25pdG9yZWRJdGVtSWQiIFR5 +cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkUGFy +YW1ldGVycyIgVHlwZU5hbWU9InRuczpNb25pdG9yaW5nUGFyYW1ldGVycyIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb25pdG9yZWRJ +dGVtTW9kaWZ5UmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZFNhbXBsaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6 +RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZFF1ZXVlU2l6ZSIgVHlwZU5h +bWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXJSZXN1bHQiIFR5 +cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K +DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXF1ZXN0 +IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl +cXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlRpbWVzdGFtcHNUb1JldHVybiIgVHlwZU5hbWU9InRuczpUaW1lc3Rh +bXBzVG9SZXR1cm4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mSXRlbXNUb01vZGlmeSIg +VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikl0ZW1zVG9Nb2Rp +ZnkiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVlc3QiIExlbmd0aEZpZWxk +PSJOb09mSXRlbXNUb01vZGlmeSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w +YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb2RpZnlNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiBCYXNl +VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNl +SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idG5zOk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQi +IExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZE +aWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3Ro +RmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K +DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2V0TW9uaXRvcmluZ01vZGVSZXF1ZXN0IiBC YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVl c3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vT2ZIaXN0b3J5VXBkYXRlRGV0YWlscyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ikhpc3RvcnlVcGRhdGVEZXRhaWxzIiBUeXBlTmFtZT0idWE6 -RXh0ZW5zaW9uT2JqZWN0IiBMZW5ndGhGaWVsZD0iTm9PZkhpc3RvcnlVcGRhdGVEZXRhaWxzIiAv +IE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik1vbml0b3JpbmdNb2RlIiBUeXBlTmFtZT0idG5zOk1vbml0b3JpbmdNb2Rl +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk1vbml0b3JlZEl0ZW1JZHMiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb25pdG9yZWRJdGVtSWRzIiBU +eXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZNb25pdG9yZWRJdGVtSWRzIiAv Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -Ikhpc3RvcnlVcGRhdGVSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25z -ZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0i -b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InRu -czpIaXN0b3J5VXBkYXRlUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6 -RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8 -L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNhbGxN -ZXRob2RSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik9iamVjdElkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTWV0aG9kSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOb09mSW5wdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJJbnB1dEFyZ3VtZW50cyIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIExl -bmd0aEZpZWxkPSJOb09mSW5wdXRBcmd1bWVudHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl -Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ2FsbE1ldGhvZFJlc3VsdCIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2Rl -IiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZJ -bnB1dEFyZ3VtZW50UmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IklucHV0QXJndW1lbnRSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIg -TGVuZ3RoRmllbGQ9Ik5vT2ZJbnB1dEFyZ3VtZW50UmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vT2ZJbnB1dEFyZ3VtZW50RGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOklu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5wdXRBcmd1bWVudERpYWdub3N0aWNJbmZv -cyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZklucHV0QXJn -dW1lbnREaWFnbm9zdGljSW5mb3MiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mT3V0cHV0 -QXJndW1lbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -T3V0cHV0QXJndW1lbnRzIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZP -dXRwdXRBcmd1bWVudHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry -dWN0dXJlZFR5cGUgTmFtZT0iQ2FsbFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl -Y3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpS -ZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk1ldGhvZHNUb0NhbGwi -IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXRob2RzVG9D -YWxsIiBUeXBlTmFtZT0idG5zOkNhbGxNZXRob2RSZXF1ZXN0IiBMZW5ndGhGaWVsZD0iTm9PZk1l -dGhvZHNUb0NhbGwiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 -dXJlZFR5cGUgTmFtZT0iQ2FsbFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 -Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJl -c3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVO -YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFt -ZT0idG5zOkNhbGxNZXRob2RSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAg +IlNldE1vbml0b3JpbmdNb2RlUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVz +cG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5h +bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1l +PSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25v +c3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNldFRyaWdnZXJp +bmdSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyaWdnZXJpbmdJdGVtSWQiIFR5cGVOYW1lPSJvcGM6 +VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxpbmtzVG9BZGQiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMaW5rc1RvQWRkIiBUeXBlTmFt +ZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZMaW5rc1RvQWRkIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9PZkxpbmtzVG9SZW1vdmUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJMaW5rc1RvUmVtb3ZlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg +TGVuZ3RoRmllbGQ9Ik5vT2ZMaW5rc1RvUmVtb3ZlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNldFRyaWdnZXJpbmdSZXNwb25zZSIg +QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNw +b25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vT2ZBZGRSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iQWRkUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0 +aEZpZWxkPSJOb09mQWRkUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBZGRE +aWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJBZGREaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVu +Z3RoRmllbGQ9Ik5vT2ZBZGREaWFnbm9zdGljSW5mb3MiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mUmVtb3ZlUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlJlbW92ZVJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhG +aWVsZD0iTm9PZlJlbW92ZVJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVt +b3ZlRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iUmVtb3ZlRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0lu +Zm8iIExlbmd0aEZpZWxkPSJOb09mUmVtb3ZlRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZU1vbml0 +b3JlZEl0ZW1zUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpV +SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTW9uaXRvcmVkSXRlbUlkcyIgVHlw +ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3JlZEl0ZW1J +ZHMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZk1vbml0b3JlZEl0ZW1J +ZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iRGVsZXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lv +bk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9 +InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRz +IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIg +VHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAg ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50 MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1 YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iTW9u -aXRvcmluZ01vZGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9IkRpc2FibGVkIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO -YW1lPSJTYW1wbGluZyIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt -ZT0iUmVwb3J0aW5nIiBWYWx1ZT0iMiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAg -PG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJEYXRhQ2hhbmdlVHJpZ2dlciIgTGVuZ3RoSW5CaXRz -PSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3RhdHVzIiBWYWx1ZT0iMCIg -Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTdGF0dXNWYWx1ZSIgVmFsdWU9IjEi -IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3RhdHVzVmFsdWVUaW1lc3RhbXAi -IFZhbHVlPSIyIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0 -ZWRUeXBlIE5hbWU9IkRlYWRiYW5kVHlwZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpF -bnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJh -dGVkVmFsdWUgTmFtZT0iQWJzb2x1dGUiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRl -ZFZhbHVlIE5hbWU9IlBlcmNlbnQiIFZhbHVlPSIyIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlw -ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vbml0b3JpbmdGaWx0ZXIiIEJhc2VU -eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 -b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFDaGFuZ2VGaWx0ZXIiIEJhc2VUeXBlPSJ0bnM6 -TW9uaXRvcmluZ0ZpbHRlciI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmlnZ2VyIiBUeXBlTmFt -ZT0idG5zOkRhdGFDaGFuZ2VUcmlnZ2VyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVhZGJh -bmRUeXBlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRl -YWRiYW5kVmFsdWUiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkV2ZW50RmlsdGVyIiBCYXNlVHlw -ZT0idG5zOk1vbml0b3JpbmdGaWx0ZXIiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlbGVj -dENsYXVzZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT -ZWxlY3RDbGF1c2VzIiBUeXBlTmFtZT0idG5zOlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIExlbmd0 -aEZpZWxkPSJOb09mU2VsZWN0Q2xhdXNlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldoZXJl -Q2xhdXNlIiBUeXBlTmFtZT0idG5zOkNvbnRlbnRGaWx0ZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWdncmVnYXRlQ29uZmlndXJh -dGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJVc2VTZXJ2ZXJDYXBhYmlsaXRpZXNEZWZhdWx0cyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJlYXRVbmNlcnRhaW5Bc0JhZCIgVHlwZU5hbWU9Im9w -YzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGVyY2VudERhdGFCYWQiIFR5cGVO -YW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBlcmNlbnREYXRhR29vZCIg -VHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlU2xvcGVkRXh0 -cmFwb2xhdGlvbiIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFnZ3JlZ2F0ZUZpbHRlciIgQmFz -ZVR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVyIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXJ0 -VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFn -Z3JlZ2F0ZVR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJQcm9jZXNzaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iQWdncmVnYXRlQ29uZmlndXJhdGlvbiIgVHlwZU5hbWU9InRuczpBZ2dyZWdh -dGVDb25maWd1cmF0aW9uIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 -cnVjdHVyZWRUeXBlIE5hbWU9Ik1vbml0b3JpbmdGaWx0ZXJSZXN1bHQiIEJhc2VUeXBlPSJ1YTpF -eHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj -dHVyZWRUeXBlIE5hbWU9IkV2ZW50RmlsdGVyUmVzdWx0IiBCYXNlVHlwZT0idG5zOk1vbml0b3Jp -bmdGaWx0ZXJSZXN1bHQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlbGVjdENsYXVzZVJl -c3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWxl -Y3RDbGF1c2VSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5v -T2ZTZWxlY3RDbGF1c2VSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlbGVj -dENsYXVzZURpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlNlbGVjdENsYXVzZURpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRp -YWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZlNlbGVjdENsYXVzZURpYWdub3N0aWNJbmZv -cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldoZXJlQ2xhdXNlUmVzdWx0IiBUeXBlTmFtZT0i -dG5zOkNvbnRlbnRGaWx0ZXJSZXN1bHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog -IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWdncmVnYXRlRmlsdGVyUmVzdWx0IiBCYXNlVHlw -ZT0idG5zOk1vbml0b3JpbmdGaWx0ZXJSZXN1bHQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2 -aXNlZFN0YXJ0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlJldmlzZWRQcm9jZXNzaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZEFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIFR5 -cGVOYW1lPSJ0bnM6QWdncmVnYXRlQ29uZmlndXJhdGlvbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJl -ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb25pdG9yaW5nUGFyYW1ldGVy -cyIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJD -bGllbnRIYW5kbGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iU2FtcGxpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJGaWx0ZXIiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJRdWV1ZVNpemUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iRGlzY2FyZE9sZGVzdCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -Ik1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 -Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikl0ZW1Ub01vbml0b3IiIFR5cGVOYW1lPSJ0bnM6UmVh -ZFZhbHVlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb25pdG9yaW5nTW9kZSIgVHlwZU5h -bWU9InRuczpNb25pdG9yaW5nTW9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3Rl -ZFBhcmFtZXRlcnMiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmluZ1BhcmFtZXRlcnMiIC8+DQogIDwv -b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9uaXRv -cmVkSXRlbUNyZWF0ZVJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3JlZEl0ZW1JZCIgVHlwZU5hbWU9Im9wYzpVSW50 -MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkU2FtcGxpbmdJbnRlcnZhbCIgVHlw -ZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkUXVldWVT -aXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRl -clJlc3VsdCIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgPC9vcGM6U3RydWN0 -dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDcmVhdGVNb25pdG9yZWRJ -dGVtc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiBUeXBlTmFtZT0i -dG5zOlRpbWVzdGFtcHNUb1JldHVybiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZJdGVt -c1RvQ3JlYXRlIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -SXRlbXNUb0NyZWF0ZSIgVHlwZU5hbWU9InRuczpNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIg -TGVuZ3RoRmllbGQ9Ik5vT2ZJdGVtc1RvQ3JlYXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw -ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zUmVz -cG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmVkSXRlbUNy -ZWF0ZVJlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJ -bmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0 -dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb25pdG9yZWRJdGVtTW9k -aWZ5UmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJNb25pdG9yZWRJdGVtSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkUGFyYW1ldGVycyIgVHlwZU5hbWU9InRuczpNb25pdG9y -aW5nUGFyYW1ldGVycyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 -Y3R1cmVkVHlwZSBOYW1lPSJNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0IiBCYXNlVHlwZT0idWE6 -RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVO -YW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZFNhbXBs -aW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iUmV2aXNlZFF1ZXVlU2l6ZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJGaWx0ZXJSZXN1bHQiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+ -DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i -TW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 -Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVx -dWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBl -TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRpbWVzdGFtcHNUb1Jl -dHVybiIgVHlwZU5hbWU9InRuczpUaW1lc3RhbXBzVG9SZXR1cm4iIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOb09mSXRlbXNUb01vZGlmeSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ikl0ZW1zVG9Nb2RpZnkiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmVkSXRl -bU1vZGlmeVJlcXVlc3QiIExlbmd0aEZpZWxkPSJOb09mSXRlbXNUb01vZGlmeSIgLz4NCiAgPC9v -cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb2RpZnlN -b25pdG9yZWRJdGVtc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNl -SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJv -cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idG5z -Ok1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6 -SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1l -PSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+ -DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i -U2V0TW9uaXRvcmluZ01vZGVSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVz -dEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFt -ZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3JpbmdNb2RlIiBU -eXBlTmFtZT0idG5zOk1vbml0b3JpbmdNb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P -Zk1vbml0b3JlZEl0ZW1JZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJNb25pdG9yZWRJdGVtSWRzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmll -bGQ9Ik5vT2ZNb25pdG9yZWRJdGVtSWRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNldE1vbml0b3JpbmdNb2RlUmVzcG9uc2UiIEJh -c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9u -c2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0i -Tm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9z -IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3Rp -Y0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlh -Z25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj -dHVyZWRUeXBlIE5hbWU9IlNldFRyaWdnZXJpbmdSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5z -aW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1l -PSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlv -bklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyaWdn -ZXJpbmdJdGVtSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iTm9PZkxpbmtzVG9BZGQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJMaW5rc1RvQWRkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5v -T2ZMaW5rc1RvQWRkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxpbmtzVG9SZW1vdmUi -IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMaW5rc1RvUmVt -b3ZlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZMaW5rc1RvUmVtb3Zl -IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9IlNldFRyaWdnZXJpbmdSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNw -b25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBZGRSZXN1bHRzIiBUeXBl -TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWRkUmVzdWx0cyIgVHlw -ZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mQWRkUmVzdWx0cyIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBZGREaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6 -SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGREaWFnbm9zdGljSW5mb3MiIFR5cGVO -YW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZBZGREaWFnbm9zdGljSW5m -b3MiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVtb3ZlUmVzdWx0cyIgVHlwZU5hbWU9 -Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlbW92ZVJlc3VsdHMiIFR5cGVO -YW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlbW92ZVJlc3VsdHMiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVtb3ZlRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0i -b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVtb3ZlRGlhZ25vc3RpY0luZm9z -IiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mUmVtb3ZlRGlh -Z25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj -dHVyZWRUeXBlIE5hbWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgQmFzZVR5cGU9InVh -OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBU -eXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJz -Y3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJOb09mTW9uaXRvcmVkSXRlbUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik1vbml0b3JlZEl0ZW1JZHMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5n -dGhGaWVsZD0iTm9PZk1vbml0b3JlZEl0ZW1JZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl -Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlTW9uaXRvcmVkSXRlbXNSZXNw -b25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0 -aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9z -dGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE -aWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9 -Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv -cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ3JlYXRlU3Vic2NyaXB0aW9uUmVxdWVzdCIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVh -ZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJSZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkTGlmZXRpbWVDb3VudCIgVHlwZU5hbWU9Im9w -YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRNYXhLZWVwQWxpdmVD -b3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhO -b3RpZmljYXRpb25zUGVyUHVibGlzaCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nRW5hYmxlZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJpb3JpdHkiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJD -cmVhdGVTdWJzY3JpcHRpb25SZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNw -b25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBl -TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRQdWJsaXNo -aW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iUmV2aXNlZExpZmV0aW1lQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iUmV2aXNlZE1heEtlZXBBbGl2ZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJ -bnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJNb2RpZnlTdWJzY3JpcHRpb25SZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u -T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0 -bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklk -IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3Rl -ZFB1Ymxpc2hpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJSZXF1ZXN0ZWRMaWZldGltZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50IiBUeXBl -TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heE5vdGlmaWNhdGlv -bnNQZXJQdWJsaXNoIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlByaW9yaXR5IiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9kaWZ5U3Vic2NyaXB0aW9uUmVz -cG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkUHVibGlzaGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3Bj -OkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRMaWZldGltZUNvdW50IiBU -eXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRNYXhL -ZWVwQWxpdmVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2V0UHVibGlzaGluZ01vZGVS +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ3Jl +YXRlU3Vic2NyaXB0aW9uUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RI +ZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2 +YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVz +dGVkTGlmZXRpbWVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaCIgVHlw +ZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nRW5h +YmxlZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJp +b3JpdHkiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDcmVhdGVTdWJzY3JpcHRpb25SZXNwb25zZSIg +QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNw +b25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRQdWJsaXNoaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6 +RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZExpZmV0aW1lQ291bnQiIFR5 +cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZE1heEtl +ZXBBbGl2ZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJl +ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb2RpZnlTdWJzY3JpcHRpb25S ZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h bWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hpbmdFbmFibGVkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4i -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU3Vic2NyaXB0aW9uSWRzIiBUeXBlTmFtZT0i -b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWRzIiBUeXBl -TmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZTdWJzY3JpcHRpb25JZHMiIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2V0 -UHVibGlzaGluZ01vZGVSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25z -ZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0i -b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVh -OlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGlj -SW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVj -dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm90aWZpY2F0aW9uTWVz -c2FnZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJTZXF1ZW5jZU51bWJlciIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJQdWJsaXNoVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vT2ZOb3RpZmljYXRpb25EYXRhIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm90aWZpY2F0aW9uRGF0YSIgVHlwZU5hbWU9InVhOkV4 -dGVuc2lvbk9iamVjdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb3RpZmljYXRpb25EYXRhIiAvPg0KICA8 -L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik5vdGlm -aWNhdGlvbkRhdGEiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFDaGFuZ2VOb3Rp -ZmljYXRpb24iIEJhc2VUeXBlPSJ0bnM6Tm90aWZpY2F0aW9uRGF0YSI+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOb09mTW9uaXRvcmVkSXRlbXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJNb25pdG9yZWRJdGVtcyIgVHlwZU5hbWU9InRuczpNb25pdG9yZWRJ -dGVtTm90aWZpY2F0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZk1vbml0b3JlZEl0ZW1zIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVh -OkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAg -PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb25p -dG9yZWRJdGVtTm90aWZpY2F0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudEhhbmRsZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOkRhdGFWYWx1ZSIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJF -dmVudE5vdGlmaWNhdGlvbkxpc3QiIEJhc2VUeXBlPSJ0bnM6Tm90aWZpY2F0aW9uRGF0YSI+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRXZlbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnRzIiBUeXBlTmFtZT0idG5zOkV2ZW50RmllbGRMaXN0 -IiBMZW5ndGhGaWVsZD0iTm9PZkV2ZW50cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFdmVudEZpZWxkTGlzdCIgQmFzZVR5cGU9InVh -OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnRIYW5kbGUiIFR5 -cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkV2ZW50Rmll -bGRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnRG -aWVsZHMiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiBMZW5ndGhGaWVsZD0iTm9PZkV2ZW50RmllbGRz -IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9Ikhpc3RvcnlFdmVudEZpZWxkTGlzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRXZlbnRGaWVsZHMiIFR5cGVOYW1lPSJvcGM6SW50 -MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVudEZpZWxkcyIgVHlwZU5hbWU9InVhOlZh -cmlhbnQiIExlbmd0aEZpZWxkPSJOb09mRXZlbnRGaWVsZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3RhdHVzQ2hhbmdlTm90aWZp -Y2F0aW9uIiBCYXNlVHlwZT0idG5zOk5vdGlmaWNhdGlvbkRhdGEiPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iU3RhdHVzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkRpYWdub3N0aWNJbmZvIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3Vi -c2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcXVlbmNlTnVtYmVyIiBUeXBlTmFtZT0ib3Bj -OlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk -VHlwZSBOYW1lPSJQdWJsaXNoUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVl -c3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU3Vic2NyaXB0aW9uQWNrbm93 -bGVkZ2VtZW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudHMiIFR5cGVOYW1lPSJ0bnM6U3Vic2NyaXB0aW9u -QWNrbm93bGVkZ2VtZW50IiBMZW5ndGhGaWVsZD0iTm9PZlN1YnNjcmlwdGlvbkFja25vd2xlZGdl -bWVudHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iUHVibGlzaFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3Bv -bnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWQiIFR5cGVO -YW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkF2YWlsYWJsZVNl -cXVlbmNlTnVtYmVycyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkF2YWlsYWJsZVNlcXVlbmNlTnVtYmVycyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0 -aEZpZWxkPSJOb09mQXZhaWxhYmxlU2VxdWVuY2VOdW1iZXJzIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTW9yZU5vdGlmaWNhdGlvbnMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vdGlmaWNhdGlvbk1lc3NhZ2UiIFR5cGVOYW1lPSJ0bnM6Tm90aWZp -Y2F0aW9uTWVzc2FnZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBl -TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5h -bWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFn -bm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3Bj -OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVwdWJsaXNo -UmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXRyYW5zbWl0U2VxdWVuY2VOdW1iZXIiIFR5cGVOYW1l -PSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj -dHVyZWRUeXBlIE5hbWU9IlJlcHVibGlzaFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u -T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0i -dG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm90aWZpY2F0aW9u -TWVzc2FnZSIgVHlwZU5hbWU9InRuczpOb3RpZmljYXRpb25NZXNzYWdlIiAvPg0KICA8L29wYzpT -dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRyYW5zZmVyUmVz -dWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTm9PZkF2YWlsYWJsZVNlcXVlbmNlTnVtYmVycyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF2YWlsYWJsZVNlcXVlbmNlTnVtYmVycyIgVHlwZU5h -bWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mQXZhaWxhYmxlU2VxdWVuY2VOdW1iZXJz -IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9IlRyYW5zZmVyU3Vic2NyaXB0aW9uc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P -YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRu -czpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlN1YnNjcmlwdGlv -bklkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNj -cmlwdGlvbklkcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mU3Vic2Ny -aXB0aW9uSWRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VuZEluaXRpYWxWYWx1ZXMiIFR5 -cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w -YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJUcmFuc2ZlclN1YnNjcmlwdGlvbnNSZXNwb25zZSIgQmFz -ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25z -ZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InRuczpUcmFuc2ZlclJlc3VsdCIgTGVuZ3RoRmll -bGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJ -bmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdu -b3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9P -ZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT -dHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVTdWJzY3JpcHRpb25zUmVxdWVzdCIgQmFzZVR5cGU9 -InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVy -IiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO +b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbCIgVHlwZU5h +bWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRMaWZldGlt +ZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl +cXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoIiBUeXBlTmFtZT0ib3Bj +OlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByaW9yaXR5IiBUeXBlTmFtZT0ib3Bj +OkJ5dGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iTW9kaWZ5U3Vic2NyaXB0aW9uUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp +b25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1l +PSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkUHVi +bGlzaGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlJldmlzZWRMaWZldGltZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRNYXhLZWVwQWxpdmVDb3VudCIgVHlwZU5hbWU9Im9w +YzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl +ZFR5cGUgTmFtZT0iU2V0UHVibGlzaGluZ01vZGVSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5z +aW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1l +PSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hpbmdF +bmFibGVkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO b09mU3Vic2NyaXB0aW9uSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iU3Vic2NyaXB0aW9uSWRzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmll bGQ9Ik5vT2ZTdWJzY3JpcHRpb25JZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog -IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlU3Vic2NyaXB0aW9uc1Jlc3BvbnNlIiBC +IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2V0UHVibGlzaGluZ01vZGVSZXNwb25zZSIgQmFz +ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25z +ZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJO +b09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3Mi +IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGlj +SW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFn +bm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 +dXJlZFR5cGUgTmFtZT0iTm90aWZpY2F0aW9uTWVzc2FnZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lv +bk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXF1ZW5jZU51bWJlciIgVHlwZU5hbWU9 +Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoVGltZSIgVHlwZU5h +bWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOb3RpZmljYXRp +b25EYXRhIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm90 +aWZpY2F0aW9uRGF0YSIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgTGVuZ3RoRmllbGQ9 +Ik5vT2ZOb3RpZmljYXRpb25EYXRhIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 +b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik5vdGlmaWNhdGlvbkRhdGEiIEJhc2VUeXBlPSJ1YTpF +eHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj +dHVyZWRUeXBlIE5hbWU9IkRhdGFDaGFuZ2VOb3RpZmljYXRpb24iIEJhc2VUeXBlPSJ0bnM6Tm90 +aWZpY2F0aW9uRGF0YSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTW9uaXRvcmVkSXRlbXMi +IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb25pdG9yZWRJ +dGVtcyIgVHlwZU5hbWU9InRuczpNb25pdG9yZWRJdGVtTm90aWZpY2F0aW9uIiBMZW5ndGhGaWVs +ZD0iTm9PZk1vbml0b3JlZEl0ZW1zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdu +b3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVs +ZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg +PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb25pdG9yZWRJdGVtTm90aWZpY2F0aW9uIiBCYXNl +VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudEhh +bmRsZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1 +ZSIgVHlwZU5hbWU9InVhOkRhdGFWYWx1ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFdmVudE5vdGlmaWNhdGlvbkxpc3QiIEJhc2VU +eXBlPSJ0bnM6Tm90aWZpY2F0aW9uRGF0YSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRXZl +bnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnRz +IiBUeXBlTmFtZT0idG5zOkV2ZW50RmllbGRMaXN0IiBMZW5ndGhGaWVsZD0iTm9PZkV2ZW50cyIg +Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l +PSJFdmVudEZpZWxkTGlzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJDbGllbnRIYW5kbGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTm9PZkV2ZW50RmllbGRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnRGaWVsZHMiIFR5cGVOYW1lPSJ1YTpWYXJpYW50 +IiBMZW5ndGhGaWVsZD0iTm9PZkV2ZW50RmllbGRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlFdmVudEZpZWxkTGlzdCIg +QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m +RXZlbnRGaWVsZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJFdmVudEZpZWxkcyIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIExlbmd0aEZpZWxkPSJOb09mRXZl +bnRGaWVsZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl +ZFR5cGUgTmFtZT0iU3RhdHVzQ2hhbmdlTm90aWZpY2F0aW9uIiBCYXNlVHlwZT0idG5zOk5vdGlm +aWNhdGlvbkRhdGEiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzIiBUeXBlTmFtZT0idWE6 +U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvIiBUeXBl +TmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog +IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50IiBC +YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNj +cmlwdGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlNlcXVlbmNlTnVtYmVyIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0 +dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJQdWJsaXNoUmVxdWVzdCIg +QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 +ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb09mU3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50cyIgVHlwZU5hbWU9Im9wYzpJ +bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVu +dHMiIFR5cGVOYW1lPSJ0bnM6U3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50IiBMZW5ndGhGaWVs +ZD0iTm9PZlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudHMiIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUHVibGlzaFJlc3BvbnNlIiBC YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3Bv bnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9 -Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZv -cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0 -aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRp -YWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 -Y3R1cmVkVHlwZSBOYW1lPSJCdWlsZEluZm8iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJvZHVjdFVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmci -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYW51ZmFjdHVyZXJOYW1lIiBUeXBlTmFtZT0ib3Bj -OlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByb2R1Y3ROYW1lIiBUeXBlTmFtZT0i -b3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvZnR3YXJlVmVyc2lvbiIgVHlw -ZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCdWlsZE51bWJlciIg -VHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCdWlsZERhdGUi -IFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog -IDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iUmVkdW5kYW5jeVN1cHBvcnQiIExlbmd0aEluQml0 -cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAv -Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkNvbGQiIFZhbHVlPSIxIiAvPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ildhcm0iIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6 -RW51bWVyYXRlZFZhbHVlIE5hbWU9IkhvdCIgVmFsdWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJh -dGVkVmFsdWUgTmFtZT0iVHJhbnNwYXJlbnQiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVy -YXRlZFZhbHVlIE5hbWU9IkhvdEFuZE1pcnJvcmVkIiBWYWx1ZT0iNSIgLz4NCiAgPC9vcGM6RW51 -bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJTZXJ2ZXJTdGF0ZSIg -TGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUnVubmlu -ZyIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRmFpbGVkIiBW -YWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb0NvbmZpZ3VyYXRp -b24iIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN1c3BlbmRl -ZCIgVmFsdWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU2h1dGRvd24i -IFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlRlc3QiIFZhbHVl -PSI1IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkNvbW11bmljYXRpb25GYXVs -dCIgVmFsdWU9IjYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVW5rbm93biIg -VmFsdWU9IjciIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl -ZFR5cGUgTmFtZT0iUmVkdW5kYW50U2VydmVyRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp -b25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVySWQiIFR5cGVOYW1lPSJvcGM6 -U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmljZUxldmVsIiBUeXBlTmFtZT0i -b3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJTdGF0ZSIgVHlwZU5hbWU9 -InRuczpTZXJ2ZXJTdGF0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT -dHJ1Y3R1cmVkVHlwZSBOYW1lPSJFbmRwb2ludFVybExpc3REYXRhVHlwZSIgQmFzZVR5cGU9InVh -OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRW5kcG9pbnRVcmxM -aXN0IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kcG9p -bnRVcmxMaXN0IiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZFbmRwb2lu -dFVybExpc3QiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl -ZFR5cGUgTmFtZT0iTmV0d29ya0dyb3VwRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P -YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyVXJpIiBUeXBlTmFtZT0ib3BjOlN0 -cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOZXR3b3JrUGF0aHMiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOZXR3b3JrUGF0aHMiIFR5cGVO -YW1lPSJ0bnM6RW5kcG9pbnRVcmxMaXN0RGF0YVR5cGUiIExlbmd0aEZpZWxkPSJOb09mTmV0d29y -a1BhdGhzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU -eXBlIE5hbWU9IlNhbXBsaW5nSW50ZXJ2YWxEaWFnbm9zdGljc0RhdGFUeXBlIiBCYXNlVHlwZT0i -dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNhbXBsaW5nSW50ZXJ2 -YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRv -cmVkSXRlbUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ik1heE1vbml0b3JlZEl0ZW1Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJEaXNhYmxlZE1vbml0b3JlZEl0ZW1Db3VudCIgVHlwZU5hbWU9Im9w -YzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl -ZFR5cGUgTmFtZT0iU2VydmVyRGlhZ25vc3RpY3NTdW1tYXJ5RGF0YVR5cGUiIEJhc2VUeXBlPSJ1 -YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyVmlld0NvdW50 -IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1cnJlbnRT -ZXNzaW9uQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iQ3VtdWxhdGVkU2Vzc2lvbkNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5UmVqZWN0ZWRTZXNzaW9uQ291bnQiIFR5cGVOYW1lPSJv -cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVqZWN0ZWRTZXNzaW9uQ291bnQi -IFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvblRp -bWVvdXRDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJTZXNzaW9uQWJvcnRDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJDdXJyZW50U3Vic2NyaXB0aW9uQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3VtdWxhdGVkU3Vic2NyaXB0aW9uQ291bnQiIFR5 -cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaGluZ0lu -dGVydmFsQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iU2VjdXJpdHlSZWplY3RlZFJlcXVlc3RzQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVqZWN0ZWRSZXF1ZXN0c0NvdW50IiBUeXBlTmFtZT0i -b3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJTZXJ2ZXJTdGF0dXNEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lv -bk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGFydFRpbWUiIFR5cGVOYW1lPSJvcGM6 -RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdXJyZW50VGltZSIgVHlwZU5hbWU9 -Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXRlIiBUeXBlTmFtZT0i -dG5zOlNlcnZlclN0YXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnVpbGRJbmZvIiBUeXBl -TmFtZT0idG5zOkJ1aWxkSW5mbyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY29uZHNUaWxs -U2h1dGRvd24iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -U2h1dGRvd25SZWFzb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICA8L29wYzpT -dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNlc3Npb25EaWFn -bm9zdGljc0RhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlNlc3Npb25OYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IkNsaWVudERlc2NyaXB0aW9uIiBUeXBlTmFtZT0idG5zOkFwcGxpY2F0 -aW9uRGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJVcmkiIFR5cGVO -YW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kcG9pbnRVcmwiIFR5 -cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxvY2FsZUlk -cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsZUlk -cyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mTG9jYWxlSWRzIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iQWN0dWFsU2Vzc2lvblRpbWVvdXQiIFR5cGVOYW1lPSJvcGM6 -RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4UmVzcG9uc2VNZXNzYWdlU2l6ZSIg -VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnRDb25u -ZWN0aW9uVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkNsaWVudExhc3RDb250YWN0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkN1cnJlbnRTdWJzY3JpcHRpb25zQ291bnQiIFR5cGVOYW1lPSJv -cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3VycmVudE1vbml0b3JlZEl0ZW1z -Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3Vy -cmVudFB1Ymxpc2hSZXF1ZXN0c0luUXVldWUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iVG90YWxSZXF1ZXN0Q291bnQiIFR5cGVOYW1lPSJ0bnM6U2Vydmlj -ZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVuYXV0aG9yaXplZFJl -cXVlc3RDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJSZWFkQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9Ikhpc3RvcnlSZWFkQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2Vydmlj -ZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlQ291bnQiIFR5 -cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ikhpc3RvcnlVcGRhdGVDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFU -eXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2FsbENvdW50IiBUeXBlTmFtZT0idG5zOlNl -cnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDcmVhdGVNb25p -dG9yZWRJdGVtc0NvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb2RpZnlNb25pdG9yZWRJdGVtc0NvdW50IiBUeXBlTmFt -ZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT -ZXRNb25pdG9yaW5nTW9kZUNvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5 -cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXRUcmlnZ2VyaW5nQ291bnQiIFR5cGVOYW1l -PSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRl -bGV0ZU1vbml0b3JlZEl0ZW1zQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRh -VHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNyZWF0ZVN1YnNjcmlwdGlvbkNvdW50IiBU -eXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJNb2RpZnlTdWJzY3JpcHRpb25Db3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRl -ckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2V0UHVibGlzaGluZ01vZGVDb3Vu -dCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iUHVibGlzaENvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5 -cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXB1Ymxpc2hDb3VudCIgVHlwZU5hbWU9InRu -czpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNm -ZXJTdWJzY3JpcHRpb25zQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlw -ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlbGV0ZVN1YnNjcmlwdGlvbnNDb3VudCIgVHlw -ZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iQWRkTm9kZXNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWRkUmVmZXJlbmNlc0NvdW50IiBUeXBlTmFtZT0idG5z -OlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZWxldGVO -b2Rlc0NvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJEZWxldGVSZWZlcmVuY2VzQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2Vy -dmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZUNvdW50 -IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJCcm93c2VOZXh0Q291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRh -VHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2Rl -SWRzQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlF1ZXJ5Rmlyc3RDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291 -bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVlcnlOZXh0Q291bnQiIFR5 -cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlJlZ2lzdGVyTm9kZXNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFU -eXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVW5yZWdpc3Rlck5vZGVzQ291bnQiIFR5cGVO -YW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXNzaW9uU2VjdXJpdHlEaWFnbm9z -dGljc0RhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkNsaWVudFVzZXJJZE9mU2Vzc2lvbiIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQ2xpZW50VXNlcklkSGlzdG9yeSIgVHlwZU5hbWU9 -Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudFVzZXJJZEhpc3Rvcnki -IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZkNsaWVudFVzZXJJZEhpc3Rv -cnkiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdXRoZW50aWNhdGlvbk1lY2hhbmlzbSIgVHlw -ZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmNvZGluZyIgVHlw -ZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc3BvcnRQcm90 -b2NvbCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1 -cml0eU1vZGUiIFR5cGVOYW1lPSJ0bnM6TWVzc2FnZVNlY3VyaXR5TW9kZSIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlNlY3VyaXR5UG9saWN5VXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudENlcnRpZmljYXRlIiBUeXBlTmFtZT0ib3BjOkJ5 -dGVTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl -ZFR5cGUgTmFtZT0iU2VydmljZUNvdW50ZXJEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lv -bk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUb3RhbENvdW50IiBUeXBlTmFtZT0ib3Bj -OlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVycm9yQ291bnQiIFR5cGVOYW1lPSJv -cGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy -ZWRUeXBlIE5hbWU9IlN0YXR1c1Jlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29k -ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvIiBUeXBlTmFtZT0idWE6 -RGlhZ25vc3RpY0luZm8iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry -dWN0dXJlZFR5cGUgTmFtZT0iU3Vic2NyaXB0aW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXNzaW9uSWQi -IFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRp -b25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcmlv -cml0eSIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlz -aGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ik1heEtlZXBBbGl2ZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik1heExpZmV0aW1lQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2giIFR5cGVOYW1l -PSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaGluZ0VuYWJsZWQi -IFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vZGlmeUNv -dW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuYWJs -ZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRp -c2FibGVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJSZXB1Ymxpc2hSZXF1ZXN0Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iUmVwdWJsaXNoTWVzc2FnZVJlcXVlc3RDb3VudCIgVHlwZU5hbWU9Im9w -YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXB1Ymxpc2hNZXNzYWdlQ291bnQi -IFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNmZXJS -ZXF1ZXN0Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iVHJhbnNmZXJyZWRUb0FsdENsaWVudENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyYW5zZmVycmVkVG9TYW1lQ2xpZW50Q291bnQiIFR5cGVO -YW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaFJlcXVlc3RD -b3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRh -Q2hhbmdlTm90aWZpY2F0aW9uc0NvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IkV2ZW50Tm90aWZpY2F0aW9uc0NvdW50IiBUeXBlTmFtZT0ib3BjOlVJ -bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vdGlmaWNhdGlvbnNDb3VudCIgVHlwZU5h -bWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXRlUHVibGlzaFJlcXVl -c3RDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJD -dXJyZW50S2VlcEFsaXZlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iQ3VycmVudExpZmV0aW1lQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVW5hY2tub3dsZWRnZWRNZXNzYWdlQ291bnQiIFR5cGVO -YW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY2FyZGVkTWVzc2Fn -ZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1v -bml0b3JlZEl0ZW1Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJEaXNhYmxlZE1vbml0b3JlZEl0ZW1Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb25pdG9yaW5nUXVldWVPdmVyZmxvd0NvdW50IiBU -eXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5leHRTZXF1ZW5j -ZU51bWJlciIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJF -dmVudFF1ZXVlT3ZlckZsb3dDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3Bj -OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iTW9kZWxDaGFu -Z2VTdHJ1Y3R1cmVWZXJiTWFzayIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJh -dGVkVmFsdWUgTmFtZT0iTm9kZUFkZGVkIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0 -ZWRWYWx1ZSBOYW1lPSJOb2RlRGVsZXRlZCIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJh -dGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlQWRkZWQiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9IlJlZmVyZW5jZURlbGV0ZWQiIFZhbHVlPSI4IiAvPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRhdGFUeXBlQ2hhbmdlZCIgVmFsdWU9IjE2IiAvPg0K -ICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1v -ZGVsQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWZmZWN0ZWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZmZlY3RlZFR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWZXJiIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2Vt -YW50aWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj -dCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZmZlY3RlZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFmZmVjdGVkVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJ -ZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJSYW5nZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJMb3ciIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iSGlnaCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl -Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRVVJbmZvcm1hdGlvbiIgQmFzZVR5cGU9 -InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lc3BhY2VVcmki -IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVW5pdElkIiBU -eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUi -IFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVz -Y3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkF4aXNTY2FsZUVudW1lcmF0 -aW9uIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJM -aW5lYXIiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkxvZyIg -VmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTG4iIFZhbHVlPSIy -IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9IkNvbXBsZXhOdW1iZXJUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlJlYWwiIFR5cGVOYW1lPSJvcGM6RmxvYXQiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJJbWFnaW5hcnkiIFR5cGVOYW1lPSJvcGM6RmxvYXQiIC8+DQogIDwvb3Bj -OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRG91YmxlQ29t -cGxleE51bWJlclR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iUmVhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJJbWFnaW5hcnkiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkF4aXNJbmZvcm1hdGlv -biIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJF -bmdpbmVlcmluZ1VuaXRzIiBUeXBlTmFtZT0idG5zOkVVSW5mb3JtYXRpb24iIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJFVVJhbmdlIiBUeXBlTmFtZT0idG5zOlJhbmdlIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iVGl0bGUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iQXhpc1NjYWxlVHlwZSIgVHlwZU5hbWU9InRuczpBeGlzU2NhbGVFbnVt -ZXJhdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBeGlzU3RlcHMiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBeGlzU3RlcHMiIFR5cGVOYW1l -PSJvcGM6RG91YmxlIiBMZW5ndGhGaWVsZD0iTm9PZkF4aXNTdGVwcyIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJYVlR5cGUiIEJhc2VU -eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iWCIgVHlwZU5h -bWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9 -Im9wYzpGbG9hdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJQcm9ncmFtRGlhZ25vc3RpY0RhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0 -ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNyZWF0ZVNlc3Npb25JZCIgVHlw -ZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNyZWF0ZUNsaWVudE5h -bWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW52b2Nh -dGlvbkNyZWF0aW9uVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ikxhc3RUcmFuc2l0aW9uVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxhc3RNZXRob2RDYWxsIiBUeXBlTmFtZT0ib3BjOlN0cmlu -ZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxhc3RNZXRob2RTZXNzaW9uSWQiIFR5cGVOYW1l -PSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTGFzdE1ldGhvZElucHV0 -QXJndW1lbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -TGFzdE1ldGhvZElucHV0QXJndW1lbnRzIiBUeXBlTmFtZT0idG5zOkFyZ3VtZW50IiBMZW5ndGhG -aWVsZD0iTm9PZkxhc3RNZXRob2RJbnB1dEFyZ3VtZW50cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ik5vT2ZMYXN0TWV0aG9kT3V0cHV0QXJndW1lbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZE91dHB1dEFyZ3VtZW50cyIgVHlwZU5h -bWU9InRuczpBcmd1bWVudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZMYXN0TWV0aG9kT3V0cHV0QXJndW1l -bnRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZENhbGxUaW1lIiBUeXBlTmFt -ZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZFJldHVy -blN0YXR1cyIgVHlwZU5hbWU9InRuczpTdGF0dXNSZXN1bHQiIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUHJvZ3JhbURpYWdub3N0aWMy -RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iQ3JlYXRlU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iQ3JlYXRlQ2xpZW50TmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJJbnZvY2F0aW9uQ3JlYXRpb25UaW1lIiBUeXBlTmFtZT0ib3Bj -OkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdFRyYW5zaXRpb25UaW1lIiBU -eXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhv -ZENhbGwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFz -dE1ldGhvZFNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vT2ZMYXN0TWV0aG9kSW5wdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kSW5wdXRBcmd1bWVudHMiIFR5cGVO -YW1lPSJ0bnM6QXJndW1lbnQiIExlbmd0aEZpZWxkPSJOb09mTGFzdE1ldGhvZElucHV0QXJndW1l -bnRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxhc3RNZXRob2RPdXRwdXRBcmd1bWVu -dHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0 -aG9kT3V0cHV0QXJndW1lbnRzIiBUeXBlTmFtZT0idG5zOkFyZ3VtZW50IiBMZW5ndGhGaWVsZD0i -Tm9PZkxhc3RNZXRob2RPdXRwdXRBcmd1bWVudHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO -b09mTGFzdE1ldGhvZElucHV0VmFsdWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZElucHV0VmFsdWVzIiBUeXBlTmFtZT0idWE6VmFyaWFu -dCIgTGVuZ3RoRmllbGQ9Ik5vT2ZMYXN0TWV0aG9kSW5wdXRWYWx1ZXMiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJOb09mTGFzdE1ldGhvZE91dHB1dFZhbHVlcyIgVHlwZU5hbWU9Im9wYzpJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxhc3RNZXRob2RPdXRwdXRWYWx1ZXMiIFR5cGVO -YW1lPSJ1YTpWYXJpYW50IiBMZW5ndGhGaWVsZD0iTm9PZkxhc3RNZXRob2RPdXRwdXRWYWx1ZXMi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kQ2FsbFRpbWUiIFR5cGVOYW1lPSJv -cGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kUmV0dXJuU3Rh -dHVzIiBUeXBlTmFtZT0idG5zOlN0YXR1c1Jlc3VsdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBbm5vdGF0aW9uIiBCYXNlVHlwZT0i -dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2UiIFR5cGVO -YW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlck5hbWUiIFR5cGVO -YW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQW5ub3RhdGlvblRpbWUi -IFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog -IDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRXhjZXB0aW9uRGV2aWF0aW9uRm9ybWF0IiBMZW5n -dGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBYnNvbHV0ZVZh -bHVlIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJQZXJjZW50 -T2ZWYWx1ZSIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUGVy -Y2VudE9mUmFuZ2UiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 -IlBlcmNlbnRPZkVVUmFuZ2UiIFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9IlVua25vd24iIFZhbHVlPSI0IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0K -PC9vcGM6VHlwZURpY3Rpb25hcnk+ - - - - NamespaceUri - A URI that uniquely identifies the dictionary. - - i=68 +bGQgTmFtZT0iU3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTm9PZkF2YWlsYWJsZVNlcXVlbmNlTnVtYmVycyIgVHlwZU5hbWU9Im9w +YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF2YWlsYWJsZVNlcXVlbmNlTnVtYmVy +cyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mQXZhaWxhYmxlU2VxdWVu +Y2VOdW1iZXJzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9yZU5vdGlmaWNhdGlvbnMiIFR5 +cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vdGlmaWNhdGlv +bk1lc3NhZ2UiIFR5cGVOYW1lPSJ0bnM6Tm90aWZpY2F0aW9uTWVzc2FnZSIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZp +ZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGlj +SW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFn +bm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5v +T2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVwdWJsaXNoUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVu +c2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFt +ZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRp +b25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXRy +YW5zbWl0U2VxdWVuY2VOdW1iZXIiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlcHVibGlzaFJl +c3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTm90aWZpY2F0aW9uTWVzc2FnZSIgVHlwZU5hbWU9InRuczpOb3Rp +ZmljYXRpb25NZXNzYWdlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9IlRyYW5zZmVyUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u +T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpT +dGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkF2YWlsYWJsZVNlcXVlbmNl +TnVtYmVycyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF2 +YWlsYWJsZVNlcXVlbmNlTnVtYmVycyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxk +PSJOb09mQXZhaWxhYmxlU2VxdWVuY2VOdW1iZXJzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRyYW5zZmVyU3Vic2NyaXB0aW9uc1Jl +cXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTm9PZlN1YnNjcmlwdGlvbklkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkcyIgVHlwZU5hbWU9Im9wYzpV +SW50MzIiIExlbmd0aEZpZWxkPSJOb09mU3Vic2NyaXB0aW9uSWRzIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iU2VuZEluaXRpYWxWYWx1ZXMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAg +PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJUcmFu +c2ZlclN1YnNjcmlwdGlvbnNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNw +b25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFt +ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9 +InRuczpUcmFuc2ZlclJlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRp +YWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9v +cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVT +dWJzY3JpcHRpb25zUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFk +ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU3Vic2NyaXB0aW9uSWRzIiBUeXBlTmFt +ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWRzIiBU +eXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZTdWJzY3JpcHRpb25JZHMiIC8+ +DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i +RGVsZXRlU3Vic2NyaXB0aW9uc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJl +c3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVO +YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFt +ZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdu +b3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCdWlsZEluZm8i +IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJv +ZHVjdFVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJN +YW51ZmFjdHVyZXJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlByb2R1Y3ROYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlNvZnR3YXJlVmVyc2lvbiIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJCdWlsZE51bWJlciIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJCdWlsZERhdGUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+ +DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0i +UmVkdW5kYW5jeVN1cHBvcnQiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRl +ZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9IkNvbGQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 +Ildhcm0iIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkhvdCIg +VmFsdWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVHJhbnNwYXJlbnQi +IFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkhvdEFuZE1pcnJv +cmVkIiBWYWx1ZT0iNSIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVt +ZXJhdGVkVHlwZSBOYW1lPSJTZXJ2ZXJTdGF0ZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUnVubmluZyIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iRmFpbGVkIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1l +cmF0ZWRWYWx1ZSBOYW1lPSJOb0NvbmZpZ3VyYXRpb24iIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6 +RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN1c3BlbmRlZCIgVmFsdWU9IjMiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iU2h1dGRvd24iIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IlRlc3QiIFZhbHVlPSI1IiAvPg0KICAgIDxvcGM6RW51bWVyYXRl +ZFZhbHVlIE5hbWU9IkNvbW11bmljYXRpb25GYXVsdCIgVmFsdWU9IjYiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iVW5rbm93biIgVmFsdWU9IjciIC8+DQogIDwvb3BjOkVudW1l +cmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVkdW5kYW50U2VydmVy +RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iU2VydmVySWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iU2VydmljZUxldmVsIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJTZXJ2ZXJTdGF0ZSIgVHlwZU5hbWU9InRuczpTZXJ2ZXJTdGF0ZSIgLz4NCiAgPC9v +cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFbmRwb2lu +dFVybExpc3REYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOb09mRW5kcG9pbnRVcmxMaXN0IiBUeXBlTmFtZT0ib3BjOkludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kcG9pbnRVcmxMaXN0IiBUeXBlTmFtZT0ib3BjOlN0 +cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZFbmRwb2ludFVybExpc3QiIC8+DQogIDwvb3BjOlN0cnVj +dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTmV0d29ya0dyb3VwRGF0 +YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iU2VydmVyVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ik5vT2ZOZXR3b3JrUGF0aHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJOZXR3b3JrUGF0aHMiIFR5cGVOYW1lPSJ0bnM6RW5kcG9pbnRVcmxMaXN0RGF0 +YVR5cGUiIExlbmd0aEZpZWxkPSJOb09mTmV0d29ya1BhdGhzIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNhbXBsaW5nSW50ZXJ2YWxE +aWFnbm9zdGljc0RhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlNhbXBsaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmVkSXRlbUNvdW50IiBUeXBlTmFtZT0ib3Bj +OlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heE1vbml0b3JlZEl0ZW1Db3VudCIg +VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNhYmxlZE1v +bml0b3JlZEl0ZW1Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVj +dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2VydmVyRGlhZ25vc3Rp +Y3NTdW1tYXJ5RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iU2VydmVyVmlld0NvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1cnJlbnRTZXNzaW9uQ291bnQiIFR5cGVOYW1lPSJvcGM6 +VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3VtdWxhdGVkU2Vzc2lvbkNvdW50IiBU +eXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5UmVq +ZWN0ZWRTZXNzaW9uQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iUmVqZWN0ZWRTZXNzaW9uQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvblRpbWVvdXRDb3VudCIgVHlwZU5hbWU9Im9wYzpV +SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXNzaW9uQWJvcnRDb3VudCIgVHlwZU5h +bWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdXJyZW50U3Vic2NyaXB0 +aW9uQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +Q3VtdWxhdGVkU3Vic2NyaXB0aW9uQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaGluZ0ludGVydmFsQ291bnQiIFR5cGVOYW1lPSJvcGM6 +VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlSZWplY3RlZFJlcXVlc3Rz +Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVq +ZWN0ZWRSZXF1ZXN0c0NvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3Ry +dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXJ2ZXJTdGF0dXNE +YXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJTdGFydFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJDdXJyZW50VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlN0YXRlIiBUeXBlTmFtZT0idG5zOlNlcnZlclN0YXRlIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iQnVpbGRJbmZvIiBUeXBlTmFtZT0idG5zOkJ1aWxkSW5mbyIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlNlY29uZHNUaWxsU2h1dGRvd24iIFR5cGVOYW1lPSJvcGM6VUlu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2h1dGRvd25SZWFzb24iIFR5cGVOYW1lPSJ1 +YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9IlNlc3Npb25EaWFnbm9zdGljc0RhdGFUeXBlIiBCYXNlVHlwZT0i +dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlc3Npb25JZCIgVHlw +ZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlc3Npb25OYW1lIiBU +eXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudERlc2Ny +aXB0aW9uIiBUeXBlTmFtZT0idG5zOkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJTZXJ2ZXJVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iRW5kcG9pbnRVcmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTm9PZkxvY2FsZUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsZUlkcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExl +bmd0aEZpZWxkPSJOb09mTG9jYWxlSWRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWN0dWFs +U2Vzc2lvblRpbWVvdXQiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTWF4UmVzcG9uc2VNZXNzYWdlU2l6ZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnRDb25uZWN0aW9uVGltZSIgVHlwZU5hbWU9Im9wYzpE +YXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudExhc3RDb250YWN0VGltZSIg +VHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1cnJlbnRT +dWJzY3JpcHRpb25zQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iQ3VycmVudE1vbml0b3JlZEl0ZW1zQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3VycmVudFB1Ymxpc2hSZXF1ZXN0c0luUXVldWUi +IFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVG90YWxSZXF1 +ZXN0Q291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlVuYXV0aG9yaXplZFJlcXVlc3RDb3VudCIgVHlwZU5hbWU9Im9wYzpV +SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWFkQ291bnQiIFR5cGVOYW1lPSJ0bnM6 +U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikhpc3RvcnlS +ZWFkQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IldyaXRlQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJE +YXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikhpc3RvcnlVcGRhdGVDb3VudCIgVHlw +ZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iQ2FsbENvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJDcmVhdGVNb25pdG9yZWRJdGVtc0NvdW50IiBUeXBlTmFtZT0i +dG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb2Rp +ZnlNb25pdG9yZWRJdGVtc0NvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5 +cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXRNb25pdG9yaW5nTW9kZUNvdW50IiBUeXBl +TmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJTZXRUcmlnZ2VyaW5nQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlw +ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1zQ291bnQiIFR5 +cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkNyZWF0ZVN1YnNjcmlwdGlvbkNvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVy +RGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb2RpZnlTdWJzY3JpcHRpb25Db3Vu +dCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iU2V0UHVibGlzaGluZ01vZGVDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291 +bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaENvdW50IiBUeXBl +TmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJSZXB1Ymxpc2hDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNmZXJTdWJzY3JpcHRpb25zQ291bnQiIFR5cGVO +YW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkRlbGV0ZVN1YnNjcmlwdGlvbnNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRh +dGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWRkTm9kZXNDb3VudCIgVHlwZU5hbWU9 +InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWRk +UmVmZXJlbmNlc0NvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZWxldGVOb2Rlc0NvdW50IiBUeXBlTmFtZT0idG5zOlNl +cnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZWxldGVSZWZl +cmVuY2VzQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZUNvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3Vu +dGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOZXh0Q291bnQiIFR5 +cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2Vy +dmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlF1ZXJ5Rmlyc3RD +b3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iUXVlcnlOZXh0Q291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJE +YXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZ2lzdGVyTm9kZXNDb3VudCIgVHlw +ZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iVW5yZWdpc3Rlck5vZGVzQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRh +VHlwZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw +ZSBOYW1lPSJTZXNzaW9uU2VjdXJpdHlEaWFnbm9zdGljc0RhdGFUeXBlIiBCYXNlVHlwZT0idWE6 +RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlc3Npb25JZCIgVHlwZU5h +bWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudFVzZXJJZE9mU2Vz +c2lvbiIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m +Q2xpZW50VXNlcklkSGlzdG9yeSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkNsaWVudFVzZXJJZEhpc3RvcnkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5n +dGhGaWVsZD0iTm9PZkNsaWVudFVzZXJJZEhpc3RvcnkiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJBdXRoZW50aWNhdGlvbk1lY2hhbmlzbSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJFbmNvZGluZyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJUcmFuc3BvcnRQcm90b2NvbCIgVHlwZU5hbWU9Im9wYzpTdHJpbmci +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eU1vZGUiIFR5cGVOYW1lPSJ0bnM6TWVz +c2FnZVNlY3VyaXR5TW9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5UG9saWN5 +VXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVu +dENlcnRpZmljYXRlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVj +dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2VydmljZUNvdW50ZXJE +YXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJUb3RhbENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkVycm9yQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlN0YXR1c1Jlc3VsdCIg +QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0 +dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkRpYWdub3N0aWNJbmZvIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3Vic2NyaXB0 +aW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJTZXNzaW9uSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcmlvcml0eSIgVHlwZU5hbWU9Im9wYzpCeXRlIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3Bj +OkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heEtlZXBBbGl2ZUNvdW50IiBUeXBl +TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heExpZmV0aW1lQ291 +bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4Tm90 +aWZpY2F0aW9uc1BlclB1Ymxpc2giIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iUHVibGlzaGluZ0VuYWJsZWQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vZGlmeUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuYWJsZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2FibGVDb3VudCIgVHlwZU5hbWU9Im9wYzpV +SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXB1Ymxpc2hSZXF1ZXN0Q291bnQiIFR5 +cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVwdWJsaXNoTWVz +c2FnZVJlcXVlc3RDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZXB1Ymxpc2hNZXNzYWdlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNmZXJSZXF1ZXN0Q291bnQiIFR5cGVOYW1lPSJvcGM6 +VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNmZXJyZWRUb0FsdENsaWVudENv +dW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyYW5z +ZmVycmVkVG9TYW1lQ2xpZW50Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUHVibGlzaFJlcXVlc3RDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhQ2hhbmdlTm90aWZpY2F0aW9uc0NvdW50IiBU +eXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50Tm90aWZp +Y2F0aW9uc0NvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ik5vdGlmaWNhdGlvbnNDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJMYXRlUHVibGlzaFJlcXVlc3RDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdXJyZW50S2VlcEFsaXZlQ291bnQiIFR5cGVO +YW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3VycmVudExpZmV0aW1l +Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVW5h +Y2tub3dsZWRnZWRNZXNzYWdlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iRGlzY2FyZGVkTWVzc2FnZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3JlZEl0ZW1Db3VudCIgVHlwZU5hbWU9 +Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNhYmxlZE1vbml0b3JlZEl0 +ZW1Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJN +b25pdG9yaW5nUXVldWVPdmVyZmxvd0NvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5leHRTZXF1ZW5jZU51bWJlciIgVHlwZU5hbWU9Im9wYzpVSW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVudFF1ZXVlT3ZlckZsb3dDb3VudCIgVHlw +ZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +RW51bWVyYXRlZFR5cGUgTmFtZT0iTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVWZXJiTWFzayIgTGVuZ3Ro +SW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9kZUFkZGVkIiBW +YWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlRGVsZXRlZCIg +VmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlQWRk +ZWQiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlZmVyZW5j +ZURlbGV0ZWQiIFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRh +dGFUeXBlQ2hhbmdlZCIgVmFsdWU9IjE2IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0K +ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vZGVsQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUi +IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWZm +ZWN0ZWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZmZl +Y3RlZFR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJW +ZXJiIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog +IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2VtYW50aWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlw +ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJB +ZmZlY3RlZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFm +ZmVjdGVkVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 +cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSYW5nZSIgQmFzZVR5cGU9InVhOkV4 +dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMb3ciIFR5cGVOYW1lPSJvcGM6 +RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSGlnaCIgVHlwZU5hbWU9Im9wYzpEb3Vi +bGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iRVVJbmZvcm1hdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJOYW1lc3BhY2VVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iVW5pdElkIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0 +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2Nh +bGl6ZWRUZXh0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0 +ZWRUeXBlIE5hbWU9IkF4aXNTY2FsZUVudW1lcmF0aW9uIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJMaW5lYXIiIFZhbHVlPSIwIiAvPg0KICAgIDxv +cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkxvZyIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVt +ZXJhdGVkVmFsdWUgTmFtZT0iTG4iIFZhbHVlPSIyIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNvbXBsZXhOdW1iZXJUeXBlIiBCYXNl +VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlYWwiIFR5 +cGVOYW1lPSJvcGM6RmxvYXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbWFnaW5hcnkiIFR5 +cGVOYW1lPSJvcGM6RmxvYXQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iRG91YmxlQ29tcGxleE51bWJlclR5cGUiIEJhc2VUeXBlPSJ1 +YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVhbCIgVHlwZU5hbWU9 +Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbWFnaW5hcnkiIFR5cGVOYW1l +PSJvcGM6RG91YmxlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj +dHVyZWRUeXBlIE5hbWU9IkF4aXNJbmZvcm1hdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmdpbmVlcmluZ1VuaXRzIiBUeXBlTmFtZT0i +dG5zOkVVSW5mb3JtYXRpb24iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFVVJhbmdlIiBUeXBl +TmFtZT0idG5zOlJhbmdlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGl0bGUiIFR5cGVOYW1l +PSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXhpc1NjYWxlVHlw +ZSIgVHlwZU5hbWU9InRuczpBeGlzU2NhbGVFbnVtZXJhdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vT2ZBeGlzU3RlcHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJBeGlzU3RlcHMiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiBMZW5ndGhGaWVsZD0i +Tm9PZkF4aXNTdGVwcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 +Y3R1cmVkVHlwZSBOYW1lPSJYVlR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iWCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9Im9wYzpGbG9hdCIgLz4NCiAgPC9vcGM6U3Ry +dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJQcm9ncmFtRGlhZ25v +c3RpY0RhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkNyZWF0ZVNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkNyZWF0ZUNsaWVudE5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW52b2NhdGlvbkNyZWF0aW9uVGltZSIgVHlwZU5hbWU9 +Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxhc3RUcmFuc2l0aW9uVGlt +ZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxhc3RN +ZXRob2RDYWxsIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ikxhc3RNZXRob2RTZXNzaW9uSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJOb09mTGFzdE1ldGhvZElucHV0QXJndW1lbnRzIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZElucHV0QXJndW1lbnRzIiBU +eXBlTmFtZT0idG5zOkFyZ3VtZW50IiBMZW5ndGhGaWVsZD0iTm9PZkxhc3RNZXRob2RJbnB1dEFy +Z3VtZW50cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZMYXN0TWV0aG9kT3V0cHV0QXJn +dW1lbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFz +dE1ldGhvZE91dHB1dEFyZ3VtZW50cyIgVHlwZU5hbWU9InRuczpBcmd1bWVudCIgTGVuZ3RoRmll +bGQ9Ik5vT2ZMYXN0TWV0aG9kT3V0cHV0QXJndW1lbnRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTGFzdE1ldGhvZENhbGxUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZFJldHVyblN0YXR1cyIgVHlwZU5hbWU9InRuczpTdGF0 +dXNSZXN1bHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl +ZFR5cGUgTmFtZT0iUHJvZ3JhbURpYWdub3N0aWMyRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRl +bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3JlYXRlU2Vzc2lvbklkIiBUeXBl +TmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3JlYXRlQ2xpZW50TmFt +ZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbnZvY2F0 +aW9uQ3JlYXRpb25UaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTGFzdFRyYW5zaXRpb25UaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZENhbGwiIFR5cGVOYW1lPSJvcGM6U3RyaW5n +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZFNlc3Npb25JZCIgVHlwZU5hbWU9 +InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZMYXN0TWV0aG9kSW5wdXRB +cmd1bWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJM +YXN0TWV0aG9kSW5wdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJ0bnM6QXJndW1lbnQiIExlbmd0aEZp +ZWxkPSJOb09mTGFzdE1ldGhvZElucHV0QXJndW1lbnRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTm9PZkxhc3RNZXRob2RPdXRwdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kT3V0cHV0QXJndW1lbnRzIiBUeXBlTmFt +ZT0idG5zOkFyZ3VtZW50IiBMZW5ndGhGaWVsZD0iTm9PZkxhc3RNZXRob2RPdXRwdXRBcmd1bWVu +dHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTGFzdE1ldGhvZElucHV0VmFsdWVzIiBU +eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZElu +cHV0VmFsdWVzIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZMYXN0TWV0 +aG9kSW5wdXRWYWx1ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTGFzdE1ldGhvZE91 +dHB1dFZhbHVlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ikxhc3RNZXRob2RPdXRwdXRWYWx1ZXMiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiBMZW5ndGhGaWVs +ZD0iTm9PZkxhc3RNZXRob2RPdXRwdXRWYWx1ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJM +YXN0TWV0aG9kQ2FsbFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJMYXN0TWV0aG9kUmV0dXJuU3RhdHVzIiBUeXBlTmFtZT0idG5zOlN0YXR1c1Jl +c3VsdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw +ZSBOYW1lPSJBbm5vdGF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iVXNlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iQW5ub3RhdGlvblRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+ +DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0i +RXhjZXB0aW9uRGV2aWF0aW9uRm9ybWF0IiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVu +dW1lcmF0ZWRWYWx1ZSBOYW1lPSJBYnNvbHV0ZVZhbHVlIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3Bj +OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJQZXJjZW50T2ZWYWx1ZSIgVmFsdWU9IjEiIC8+DQogICAg +PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUGVyY2VudE9mUmFuZ2UiIFZhbHVlPSIyIiAvPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlBlcmNlbnRPZkVVUmFuZ2UiIFZhbHVlPSIz +IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVua25vd24iIFZhbHVlPSI0IiAv +Pg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KPC9vcGM6VHlwZURpY3Rpb25hcnk+ + + + + NamespaceUri + A URI that uniquely identifies the dictionary. + + i=68 i=7617 @@ -19592,3054 +19666,3058 @@ YXRpb24gdmFsdWU9IlJlZmVyZW5jZVR5cGVfMzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g dmFsdWU9IkRhdGFUeXBlXzY0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJWaWV3 XzEyOCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4 czplbGVtZW50IG5hbWU9Ik5vZGVDbGFzcyIgdHlwZT0idG5zOk5vZGVDbGFzcyIgLz4NCg0KICA8 -eHM6c2ltcGxlVHlwZSAgbmFtZT0iQWNjZXNzTGV2ZWxUeXBlIj4NCiAgICA8eHM6cmVzdHJpY3Rp -b24gYmFzZT0ieHM6dW5zaWduZWRCeXRlIj4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hz -OnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFjY2Vzc0xldmVsVHlwZSIgdHlwZT0i -dG5zOkFjY2Vzc0xldmVsVHlwZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iQWNjZXNz -TGV2ZWxFeFR5cGUiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czp1bnNpZ25lZEludCI+ -DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJBY2Nlc3NMZXZlbEV4VHlwZSIgdHlwZT0idG5zOkFjY2Vzc0xldmVsRXhUeXBlIiAv -Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJFdmVudE5vdGlmaWVyVHlwZSI+DQogICAgPHhz -OnJlc3RyaWN0aW9uIGJhc2U9InhzOnVuc2lnbmVkSW50Ij4NCiAgICA8L3hzOnJlc3RyaWN0aW9u -Pg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkV2ZW50Tm90aWZpZXJU -eXBlIiB0eXBlPSJ0bnM6RXZlbnROb3RpZmllclR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9IlJvbGVQZXJtaXNzaW9uVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iUm9sZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQZXJtaXNzaW9ucyIgdHlw -ZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSb2xlUGVybWlzc2lvblR5 -cGUiIHR5cGU9InRuczpSb2xlUGVybWlzc2lvblR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9Ikxpc3RPZlJvbGVQZXJtaXNzaW9uVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUm9sZVBlcm1pc3Npb25UeXBlIiB0eXBlPSJ0bnM6Um9sZVBl -cm1pc3Npb25UeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJs +eHM6c2ltcGxlVHlwZSAgbmFtZT0iUGVybWlzc2lvblR5cGUiPg0KICAgIDx4czpyZXN0cmljdGlv +biBiYXNlPSJ4czp1bnNpZ25lZEludCI+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpz +aW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJQZXJtaXNzaW9uVHlwZSIgdHlwZT0idG5z +OlBlcm1pc3Npb25UeXBlIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJBY2Nlc3NMZXZl +bFR5cGUiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czp1bnNpZ25lZEJ5dGUiPg0KICAg +IDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iQWNjZXNzTGV2ZWxUeXBlIiB0eXBlPSJ0bnM6QWNjZXNzTGV2ZWxUeXBlIiAvPg0KDQogIDx4 +czpzaW1wbGVUeXBlICBuYW1lPSJBY2Nlc3NMZXZlbEV4VHlwZSI+DQogICAgPHhzOnJlc3RyaWN0 +aW9uIGJhc2U9InhzOnVuc2lnbmVkSW50Ij4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hz +OnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFjY2Vzc0xldmVsRXhUeXBlIiB0eXBl +PSJ0bnM6QWNjZXNzTGV2ZWxFeFR5cGUiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkV2 +ZW50Tm90aWZpZXJUeXBlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6dW5zaWduZWRC +eXRlIj4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czpl +bGVtZW50IG5hbWU9IkV2ZW50Tm90aWZpZXJUeXBlIiB0eXBlPSJ0bnM6RXZlbnROb3RpZmllclR5 +cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJvbGVQZXJtaXNzaW9uVHlwZSI+DQog +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUm9sZUlkIiB0eXBlPSJ1 +YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJQZXJtaXNzaW9ucyIgdHlwZT0idG5zOlBlcm1pc3Npb25UeXBlIiBtaW5PY2N1 +cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iUm9sZVBlcm1pc3Npb25UeXBlIiB0eXBlPSJ0bnM6Um9sZVBlcm1pc3Np +b25UeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZSb2xlUGVybWlzc2lv +blR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJvbGVQ +ZXJtaXNzaW9uVHlwZSIgdHlwZT0idG5zOlJvbGVQZXJtaXNzaW9uVHlwZSIgbWluT2NjdXJzPSIw +IiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUm9s +ZVBlcm1pc3Npb25UeXBlIiB0eXBlPSJ0bnM6TGlzdE9mUm9sZVBlcm1pc3Npb25UeXBlIiBuaWxs +YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEYXRh +VHlwZURlZmluaXRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZURlZmluaXRp +b24iIHR5cGU9InRuczpEYXRhVHlwZURlZmluaXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9Ikxpc3RPZkRhdGFUeXBlRGVmaW5pdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVR5cGVEZWZpbml0aW9uIiB0eXBlPSJ0bnM6RGF0YVR5 +cGVEZWZpbml0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJs ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZSb2xlUGVybWlzc2lvblR5cGUiIHR5cGU9InRuczpMaXN0 -T2ZSb2xlUGVybWlzc2lvblR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFUeXBlRGVmaW5pdGlvbiI+DQogICAgPHhzOnNlcXVl -bmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9IkRhdGFUeXBlRGVmaW5pdGlvbiIgdHlwZT0idG5zOkRhdGFUeXBlRGVmaW5pdGlv -biIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGF0YVR5cGVEZWZpbml0aW9u -Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZURl -ZmluaXRpb24iIHR5cGU9InRuczpEYXRhVHlwZURlZmluaXRpb24iIG1pbk9jY3Vycz0iMCIgbWF4 -T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRhdGFUeXBl -RGVmaW5pdGlvbiIgdHlwZT0idG5zOkxpc3RPZkRhdGFUeXBlRGVmaW5pdGlvbiIgbmlsbGFibGU9 -InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iU3RydWN0dXJl -VHlwZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6 -ZW51bWVyYXRpb24gdmFsdWU9IlN0cnVjdHVyZV8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u -IHZhbHVlPSJTdHJ1Y3R1cmVXaXRoT3B0aW9uYWxGaWVsZHNfMSIgLz4NCiAgICAgIDx4czplbnVt -ZXJhdGlvbiB2YWx1ZT0iVW5pb25fMiIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hz -OnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlN0cnVjdHVyZVR5cGUiIHR5cGU9InRu -czpTdHJ1Y3R1cmVUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTdHJ1Y3R1cmVG -aWVsZCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFtZSIg -dHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iRGVzY3JpcHRpb24iIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJE -YXRhVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czppbnQiIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFycmF5RGltZW5zaW9ucyIgdHlw -ZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4U3RyaW5nTGVuZ3RoIiB0eXBlPSJ4czp1bnNpZ25lZElu -dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNPcHRpb25hbCIg -dHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog -IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlN0cnVjdHVyZUZpZWxkIiB0 -eXBlPSJ0bnM6U3RydWN0dXJlRmllbGQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxp -c3RPZlN0cnVjdHVyZUZpZWxkIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJTdHJ1Y3R1cmVGaWVsZCIgdHlwZT0idG5zOlN0cnVjdHVyZUZpZWxkIiBtaW5PY2N1 -cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz -OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0 -T2ZTdHJ1Y3R1cmVGaWVsZCIgdHlwZT0idG5zOkxpc3RPZlN0cnVjdHVyZUZpZWxkIiBuaWxsYWJs -ZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTdHJ1Y3R1 -cmVEZWZpbml0aW9uIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAg -ICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkRhdGFUeXBlRGVmaW5pdGlvbiI+DQogICAgICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWZhdWx0RW5jb2Rp -bmdJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkJhc2VEYXRhVHlwZSIgdHlwZT0idWE6Tm9kZUlk -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlN0cnVjdHVyZVR5cGUiIHR5cGU9InRuczpTdHJ1Y3R1cmVUeXBlIiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmllbGRzIiB0eXBlPSJ0bnM6TGlz -dE9mU3RydWN0dXJlRmllbGQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBs -ZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTdHJ1 -Y3R1cmVEZWZpbml0aW9uIiB0eXBlPSJ0bnM6U3RydWN0dXJlRGVmaW5pdGlvbiIgLz4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU3RydWN0dXJlRGVmaW5pdGlvbiI+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RydWN0dXJlRGVmaW5pdGlvbiIg -dHlwZT0idG5zOlN0cnVjdHVyZURlZmluaXRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1 -bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlN0cnVjdHVyZURlZmluaXRp -b24iIHR5cGU9InRuczpMaXN0T2ZTdHJ1Y3R1cmVEZWZpbml0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+ -PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFbnVtRGVmaW5pdGlvbiI+ -DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5z -aW9uIGJhc2U9InRuczpEYXRhVHlwZURlZmluaXRpb24iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmllbGRzIiB0eXBlPSJ0bnM6TGlzdE9mRW51 -bUZpZWxkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNl -cXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRW51bURlZmluaXRpb24i -IHR5cGU9InRuczpFbnVtRGVmaW5pdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -TGlzdE9mRW51bURlZmluaXRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkVudW1EZWZpbml0aW9uIiB0eXBlPSJ0bnM6RW51bURlZmluaXRpb24iIG1pbk9j -Y3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv -eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxp -c3RPZkVudW1EZWZpbml0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mRW51bURlZmluaXRpb24iIG5pbGxh -YmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik5vZGUi -Pg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+U3BlY2lmaWVz -IHRoZSBhdHRyaWJ1dGVzIHdoaWNoIGJlbG9uZyB0byBhbGwgbm9kZXMuPC94czpkb2N1bWVudGF0 -aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+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 -CiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0 -aGUgYXR0cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gb2JqZWN0IG5vZGVzLjwveHM6ZG9jdW1lbnRh -dGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVk -PSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpJbnN0YW5jZU5vZGUiPg0K -ICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnRO -b3RpZmllciIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAg -IDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhD -b250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJPYmplY3RO -b2RlIiB0eXBlPSJ0bnM6T2JqZWN0Tm9kZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -T2JqZWN0VHlwZU5vZGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50 -YXRpb24+U3BlY2lmaWVzIHRoZSBhdHRyaWJ1dGVzIHdoaWNoIGJlbG9uZyB0byBvYmplY3QgdHlw -ZSBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4 -czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNl -PSJ0bnM6VHlwZU5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iSXNBYnN0cmFjdCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAv -Pg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94 -czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iT2JqZWN0VHlwZU5vZGUiIHR5cGU9InRuczpPYmplY3RUeXBlTm9kZSIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iVmFyaWFibGVOb2RlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg +eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZEYXRhVHlwZURlZmluaXRpb24iIHR5cGU9InRuczpMaXN0 +T2ZEYXRhVHlwZURlZmluaXRpb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg +PHhzOnNpbXBsZVR5cGUgIG5hbWU9IlN0cnVjdHVyZVR5cGUiPg0KICAgIDx4czpyZXN0cmljdGlv +biBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTdHJ1Y3R1 +cmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU3RydWN0dXJlV2l0aE9wdGlv +bmFsRmllbGRzXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVuaW9uXzIiIC8+ +DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJTdHJ1Y3R1cmVUeXBlIiB0eXBlPSJ0bnM6U3RydWN0dXJlVHlwZSIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iU3RydWN0dXJlRmllbGQiPg0KICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlc2NyaXB0 +aW9uIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVR5cGUiIHR5cGU9InVhOk5vZGVJZCIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlZhbHVlUmFuayIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJBcnJheURpbWVuc2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heFN0 +cmluZ0xlbmd0aCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IklzT3B0aW9uYWwiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vy +cz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJTdHJ1Y3R1cmVGaWVsZCIgdHlwZT0idG5zOlN0cnVjdHVyZUZpZWxkIiAv +Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTdHJ1Y3R1cmVGaWVsZCI+DQogICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RydWN0dXJlRmllbGQiIHR5 +cGU9InRuczpTdHJ1Y3R1cmVGaWVsZCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRl +ZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU3RydWN0dXJlRmllbGQiIHR5cGU9InRu +czpMaXN0T2ZTdHJ1Y3R1cmVGaWVsZCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU3RydWN0dXJlRGVmaW5pdGlvbiI+DQogICAgPHhzOmNv +bXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRu +czpEYXRhVHlwZURlZmluaXRpb24iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iRGVmYXVsdEVuY29kaW5nSWQiIHR5cGU9InVhOk5vZGVJZCIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJCYXNlRGF0YVR5cGUiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdHJ1Y3R1cmVUeXBlIiB0eXBl +PSJ0bnM6U3RydWN0dXJlVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVt +ZW50IG5hbWU9IkZpZWxkcyIgdHlwZT0idG5zOkxpc3RPZlN0cnVjdHVyZUZpZWxkIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAg +PC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU3RydWN0dXJlRGVmaW5pdGlvbiIgdHlwZT0idG5z +OlN0cnVjdHVyZURlZmluaXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RP +ZlN0cnVjdHVyZURlZmluaXRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlN0cnVjdHVyZURlZmluaXRpb24iIHR5cGU9InRuczpTdHJ1Y3R1cmVEZWZpbml0 +aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJMaXN0T2ZTdHJ1Y3R1cmVEZWZpbml0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mU3RydWN0 +dXJlRGVmaW5pdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iRW51bURlZmluaXRpb24iPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBt +aXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6RGF0YVR5cGVEZWZp +bml0aW9uIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h +bWU9IkZpZWxkcyIgdHlwZT0idG5zOkxpc3RPZkVudW1GaWVsZCIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5z +aW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9IkVudW1EZWZpbml0aW9uIiB0eXBlPSJ0bnM6RW51bURlZmluaXRpb24i +IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkVudW1EZWZpbml0aW9uIj4NCiAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbnVtRGVmaW5pdGlvbiIg +dHlwZT0idG5zOkVudW1EZWZpbml0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3Vu +ZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbnVtRGVmaW5pdGlvbiIgdHlwZT0i +dG5zOkxpc3RPZkVudW1EZWZpbml0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJOb2RlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg ICAgIDx4czpkb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBiZWxv -bmcgdG8gdmFyaWFibGUgbm9kZXMuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3Rh -dGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpl -eHRlbnNpb24gYmFzZT0idG5zOkluc3RhbmNlTm9kZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0idWE6VmFyaWFudCIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlIiB0eXBl -PSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIg -Lz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcnJheURpbWVuc2lvbnMiIHR5cGU9InVh -Okxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJBY2Nlc3NMZXZlbCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBt -aW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlckFjY2Vzc0xl -dmVsIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91Ymxl -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yaXpp -bmciIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJBY2Nlc3NMZXZlbEV4IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQog -ICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iVmFyaWFibGVOb2RlIiB0eXBlPSJ0bnM6VmFyaWFibGVOb2RlIiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJWYXJpYWJsZVR5cGVOb2RlIj4NCiAgICA8eHM6YW5ub3RhdGlv -bj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0cmlidXRlcyB3aGlj -aCBiZWxvbmcgdG8gdmFyaWFibGUgdHlwZSBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAg -PC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0K -ICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6VHlwZU5vZGUiPg0KICAgICAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUiIHR5cGU9InVhOlZhcmlh -bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlw -ZSIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlUmFuayIgdHlwZT0ieHM6aW50IiBtaW5PY2N1 -cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXJyYXlEaW1lbnNpb25zIiB0 -eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNBYnN0cmFjdCIgdHlwZT0ieHM6Ym9vbGVhbiIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRl -bnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iVmFyaWFibGVUeXBlTm9kZSIgdHlwZT0idG5zOlZhcmlhYmxlVHlw -ZU5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZmVyZW5jZVR5cGVOb2RlIj4N -CiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0 -aGUgYXR0cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gcmVmZXJlbmNlIHR5cGUgbm9kZXMuPC94czpk -b2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRl -bnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOlR5cGVOb2Rl -Ij4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Iklz -QWJzdHJhY3QiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJTeW1tZXRyaWMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbnZlcnNlTmFtZSIgdHlwZT0idWE6 -TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAg -PC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENv -bnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5j -ZVR5cGVOb2RlIiB0eXBlPSJ0bnM6UmVmZXJlbmNlVHlwZU5vZGUiIC8+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9Ik1ldGhvZE5vZGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhz -OmRvY3VtZW50YXRpb24+U3BlY2lmaWVzIHRoZSBhdHRyaWJ1dGVzIHdoaWNoIGJlbG9uZyB0byBt -ZXRob2Qgbm9kZXMuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAg -ICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24g -YmFzZT0idG5zOkluc3RhbmNlTm9kZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJFeGVjdXRhYmxlIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1 -cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlckV4ZWN1dGFibGUiIHR5 +bmcgdG8gYWxsIG5vZGVzLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+ +DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBl +PSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJOb2RlQ2xhc3MiIHR5cGU9InRuczpOb2RlQ2xhc3MiIG1pbk9jY3Vycz0i +MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZU5hbWUiIHR5cGU9InVhOlF1YWxp +ZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJEaXNwbGF5TmFtZSIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlc2NyaXB0 +aW9uIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVNYXNrIiB0eXBlPSJ4czp1bnNpZ25l +ZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlcldyaXRl +TWFzayIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlJvbGVQZXJtaXNzaW9ucyIgdHlwZT0idG5zOkxpc3RPZlJvbGVQZXJtaXNz +aW9uVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlVzZXJSb2xlUGVybWlzc2lvbnMiIHR5cGU9InRuczpMaXN0T2ZSb2xlUGVybWlz +c2lvblR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJBY2Nlc3NSZXN0cmljdGlvbnMiIHR5cGU9InhzOnVuc2lnbmVkU2hvcnQiIG1p +bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZXMiIHR5cGU9 +InRuczpMaXN0T2ZSZWZlcmVuY2VOb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9Ik5vZGUiIHR5cGU9InRuczpOb2RlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJMaXN0T2ZOb2RlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJOb2RlIiB0eXBlPSJ0bnM6Tm9kZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRl +ZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTm9kZSIgdHlwZT0idG5zOkxpc3RPZk5v +ZGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9Ikluc3RhbmNlTm9kZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+ +DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlIj4NCiAgICAgICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAg +PC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg +bmFtZT0iSW5zdGFuY2VOb2RlIiB0eXBlPSJ0bnM6SW5zdGFuY2VOb2RlIiAvPg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJUeXBlTm9kZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVk +PSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlIj4NCiAgICAgICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNp +b24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iVHlwZU5vZGUiIHR5cGU9InRuczpUeXBlTm9kZSIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iT2JqZWN0Tm9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg +ICA8eHM6ZG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25n +IHRvIG9iamVjdCBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9u +Pg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVu +c2lvbiBiYXNlPSJ0bnM6SW5zdGFuY2VOb2RlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50Tm90aWZpZXIiIHR5cGU9InhzOnVuc2lnbmVk +Qnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94 +czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT2JqZWN0Tm9kZSIgdHlwZT0idG5zOk9iamVjdE5vZGUi +IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik9iamVjdFR5cGVOb2RlIj4NCiAgICA8eHM6 +YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0cmli +dXRlcyB3aGljaCBiZWxvbmcgdG8gb2JqZWN0IHR5cGUgbm9kZXMuPC94czpkb2N1bWVudGF0aW9u +Pg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZh +bHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOlR5cGVOb2RlIj4NCiAgICAgICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IklzQWJzdHJhY3QiIHR5 cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4N CiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1ldGhvZE5vZGUiIHR5cGU9InRuczpN -ZXRob2ROb2RlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJWaWV3Tm9kZSI+DQogICAg -PHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJh -c2U9InRuczpJbnN0YW5jZU5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iQ29udGFpbnNOb0xvb3BzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnROb3RpZmllciIg -dHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2Vx -dWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWaWV3Tm9kZSIgdHlwZT0i -dG5zOlZpZXdOb2RlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEYXRhVHlwZU5vZGUi -Pg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVu -c2lvbiBiYXNlPSJ0bnM6VHlwZU5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNBYnN0cmFjdCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlRGVmaW5pdGlv -biIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAg -PC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg -bmFtZT0iRGF0YVR5cGVOb2RlIiB0eXBlPSJ0bnM6RGF0YVR5cGVOb2RlIiAvPg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJSZWZlcmVuY2VOb2RlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg -ICAgIDx4czpkb2N1bWVudGF0aW9uPlNwZWNpZmllcyBhIHJlZmVyZW5jZSB3aGljaCBiZWxvbmdz -IHRvIGEgbm9kZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZVR5cGVJZCIg -dHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iSXNJbnZlcnNlIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXRJZCIgdHlwZT0idWE6RXhwYW5k -ZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 -ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNl -Tm9kZSIgdHlwZT0idG5zOlJlZmVyZW5jZU5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h -bWU9Ikxpc3RPZlJlZmVyZW5jZU5vZGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlJlZmVyZW5jZU5vZGUiIHR5cGU9InRuczpSZWZlcmVuY2VOb2RlIiBtaW5P -Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM -aXN0T2ZSZWZlcmVuY2VOb2RlIiB0eXBlPSJ0bnM6TGlzdE9mUmVmZXJlbmNlTm9kZSIgbmlsbGFi -bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQXJndW1l -bnQiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QW4gYXJn -dW1lbnQgZm9yIGEgbWV0aG9kLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRp -b24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFtZSIgdHlw -ZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iRGF0YVR5cGUiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlUmFuayIgdHlw -ZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcnJh -eURpbWVuc2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9iamVjdFR5cGVOb2RlIiB0eXBlPSJ0 +bnM6T2JqZWN0VHlwZU5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhYmxl +Tm9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5TcGVj +aWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIHZhcmlhYmxlIG5vZGVzLjwveHM6 +ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250 +ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpJbnN0YW5j +ZU5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iVmFsdWUiIHR5cGU9InVhOlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlUmFu +ayIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iQXJyYXlEaW1lbnNpb25zIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWNjZXNz +TGV2ZWwiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAg +IDx4czplbGVtZW50IG5hbWU9IlVzZXJBY2Nlc3NMZXZlbCIgdHlwZT0ieHM6dW5zaWduZWRCeXRl +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWluaW11bVNh +bXBsaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg +ICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3Rvcml6aW5nIiB0eXBlPSJ4czpib29sZWFuIiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWNjZXNzTGV2ZWxFeCIg +dHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1 +ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlZhcmlhYmxlTm9kZSIgdHlw +ZT0idG5zOlZhcmlhYmxlTm9kZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVmFyaWFi +bGVUeXBlTm9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlv +bj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIHZhcmlhYmxlIHR5cGUg +bm9kZXMuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6 +Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0i +dG5zOlR5cGVOb2RlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlZhbHVlIiB0eXBlPSJ1YTpWYXJpYW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVR5cGUiIHR5cGU9InVhOk5vZGVJZCIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJW +YWx1ZVJhbmsiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkFycmF5RGltZW5zaW9ucyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 +IklzQWJzdHJhY3QiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg +PC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENv +bnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlZhcmlhYmxl +VHlwZU5vZGUiIHR5cGU9InRuczpWYXJpYWJsZVR5cGVOb2RlIiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJSZWZlcmVuY2VUeXBlTm9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg +ICA8eHM6ZG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25n +IHRvIHJlZmVyZW5jZSB0eXBlIG5vZGVzLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu +bm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8 +eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpUeXBlTm9kZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpib29sZWFu +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3ltbWV0cmlj +IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iSW52ZXJzZU5hbWUiIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hz +OmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VUeXBlTm9kZSIgdHlwZT0idG5zOlJlZmVy +ZW5jZVR5cGVOb2RlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNZXRob2ROb2RlIj4N +CiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0 +aGUgYXR0cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gbWV0aG9kIG5vZGVzLjwveHM6ZG9jdW1lbnRh +dGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVk +PSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpJbnN0YW5jZU5vZGUiPg0K +ICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXhlY3V0 +YWJsZSIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlVzZXJFeGVjdXRhYmxlIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9 +IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAg +ICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJNZXRob2ROb2RlIiB0eXBlPSJ0bnM6TWV0aG9kTm9kZSIgLz4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iVmlld05vZGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0i +ZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SW5zdGFuY2VOb2RlIj4NCiAg +ICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkNvbnRhaW5z +Tm9Mb29wcyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4 +czplbGVtZW50IG5hbWU9IkV2ZW50Tm90aWZpZXIiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNp +b24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iVmlld05vZGUiIHR5cGU9InRuczpWaWV3Tm9kZSIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iRGF0YVR5cGVOb2RlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQg +bWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOlR5cGVOb2RlIj4N +CiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IklzQWJz +dHJhY3QiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJEYXRhVHlwZURlZmluaXRpb24iIHR5cGU9InVhOkV4dGVuc2lvbk9iamVj +dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5j +ZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwv +eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlTm9kZSIgdHlwZT0i +dG5zOkRhdGFUeXBlTm9kZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVmZXJlbmNl +Tm9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5TcGVj +aWZpZXMgYSByZWZlcmVuY2Ugd2hpY2ggYmVsb25ncyB0byBhIG5vZGUuPC94czpkb2N1bWVudGF0 +aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VUeXBlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IklzSW52ZXJz +ZSIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iVGFyZ2V0SWQiIHR5cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZU5vZGUiIHR5cGU9InRuczpSZWZlcmVuY2VO +b2RlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZSZWZlcmVuY2VOb2RlIj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VOb2Rl +IiB0eXBlPSJ0bnM6UmVmZXJlbmNlTm9kZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91 +bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w +bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUmVmZXJlbmNlTm9kZSIgdHlwZT0i +dG5zOkxpc3RPZlJlZmVyZW5jZU5vZGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoN +CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFyZ3VtZW50Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4N +CiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkFuIGFyZ3VtZW50IGZvciBhIG1ldGhvZC48L3hzOmRv +Y3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9Ik5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlIiB0 +eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZVJhbmsiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXJyYXlEaW1lbnNpb25zIiB0eXBlPSJ1YTpMaXN0 +T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBcmd1bWVudCIgdHlwZT0idG5zOkFyZ3VtZW50 +IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZBcmd1bWVudCI+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXJndW1lbnQiIHR5cGU9InRuczpB +cmd1bWVudCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iTGlzdE9mQXJndW1lbnQiIHR5cGU9InRuczpMaXN0T2ZBcmd1bWVudCIgbmls +bGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRW51 +bVZhbHVlVHlwZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlv +bj5BIG1hcHBpbmcgYmV0d2VlbiBhIHZhbHVlIG9mIGFuIGVudW1lcmF0ZWQgdHlwZSBhbmQgYSBu +YW1lIGFuZCBkZXNjcmlwdGlvbi48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 +aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlIiB0 +eXBlPSJ4czpsb25nIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJE +aXNwbGF5TmFtZSIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJs ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlc2NyaXB0aW9uIiB0eXBlPSJ1 YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv -eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFy -Z3VtZW50IiB0eXBlPSJ0bnM6QXJndW1lbnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 -Ikxpc3RPZkFyZ3VtZW50Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJBcmd1bWVudCIgdHlwZT0idG5zOkFyZ3VtZW50IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vy -cz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZBcmd1bWVudCIgdHlw -ZT0idG5zOkxpc3RPZkFyZ3VtZW50IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJFbnVtVmFsdWVUeXBlIj4NCiAgICA8eHM6YW5ub3RhdGlv -bj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgbWFwcGluZyBiZXR3ZWVuIGEgdmFsdWUgb2Yg -YW4gZW51bWVyYXRlZCB0eXBlIGFuZCBhIG5hbWUgYW5kIGRlc2NyaXB0aW9uLjwveHM6ZG9jdW1l -bnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUiIHR5cGU9InhzOmxvbmciIG1pbk9jY3Vycz0iMCIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc3BsYXlOYW1lIiB0eXBlPSJ1YTpMb2NhbGl6ZWRU -ZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iRGVzY3JpcHRpb24iIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRW51bVZhbHVlVHlwZSIgdHlwZT0idG5zOkVudW1WYWx1 -ZVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkVudW1WYWx1ZVR5cGUi -Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVudW1WYWx1ZVR5 -cGUiIHR5cGU9InRuczpFbnVtVmFsdWVUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5i -b3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbnVtVmFsdWVUeXBlIiB0eXBl -PSJ0bnM6TGlzdE9mRW51bVZhbHVlVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4N -Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRW51bUZpZWxkIj4NCiAgICA8eHM6Y29tcGxleENv -bnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkVudW1W -YWx1ZVR5cGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAg -PC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg -bmFtZT0iRW51bUZpZWxkIiB0eXBlPSJ0bnM6RW51bUZpZWxkIiAvPg0KDQogIDx4czpjb21wbGV4 -VHlwZSBuYW1lPSJMaXN0T2ZFbnVtRmllbGQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IkVudW1GaWVsZCIgdHlwZT0idG5zOkVudW1GaWVsZCIgbWluT2NjdXJz -PSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz -ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9m -RW51bUZpZWxkIiB0eXBlPSJ0bnM6TGlzdE9mRW51bUZpZWxkIiBuaWxsYWJsZT0idHJ1ZSI+PC94 -czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJPcHRpb25TZXQiPg0KICAgIDx4 -czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhpcyBhYnN0cmFjdCBTdHJ1 -Y3R1cmVkIERhdGFUeXBlIGlzIHRoZSBiYXNlIERhdGFUeXBlIGZvciBhbGwgRGF0YVR5cGVzIHJl -cHJlc2VudGluZyBhIGJpdCBtYXNrLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90 -YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUi -IHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbGlkQml0cyIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5 -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog -IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9wdGlvblNldCIgdHlwZT0i -dG5zOk9wdGlvblNldCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mT3B0aW9u -U2V0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPcHRpb25T -ZXQiIHR5cGU9InRuczpPcHRpb25TZXQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5k -ZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk9wdGlvblNldCIgdHlwZT0idG5zOkxp -c3RPZk9wdGlvblNldCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iVW5pb24iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRv -Y3VtZW50YXRpb24+VGhpcyBhYnN0cmFjdCBEYXRhVHlwZSBpcyB0aGUgYmFzZSBEYXRhVHlwZSBm -b3IgYWxsIHVuaW9uIERhdGFUeXBlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v -dGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVbmlvbiIgdHlwZT0idG5zOlVuaW9uIiAv -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZVbmlvbiI+DQogICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVW5pb24iIHR5cGU9InRuczpVbmlvbiIgbWlu -T2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -TGlzdE9mVW5pb24iIHR5cGU9InRuczpMaXN0T2ZVbmlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6 -ZWxlbWVudD4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOb3JtYWxpemVkU3RyaW5nIiB0eXBlPSJ4 -czpzdHJpbmciIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVjaW1hbFN0cmluZyIgdHlwZT0i -eHM6c3RyaW5nIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkR1cmF0aW9uU3RyaW5nIiB0eXBl -PSJ4czpzdHJpbmciIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZVN0cmluZyIgdHlwZT0i -eHM6c3RyaW5nIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkRhdGVTdHJpbmciIHR5cGU9Inhz -OnN0cmluZyIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEdXJhdGlvbiIgdHlwZT0ieHM6ZG91 -YmxlIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IlV0Y1RpbWUiIHR5cGU9InhzOmRhdGVUaW1l -IiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkxvY2FsZUlkIiB0eXBlPSJ4czpzdHJpbmciIC8+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlRpbWVab25lRGF0YVR5cGUiPg0KICAgIDx4czpz -ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik9mZnNldCIgdHlwZT0ieHM6c2hvcnQi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRheWxpZ2h0U2F2aW5n -SW5PZmZzZXQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lWm9u -ZURhdGFUeXBlIiB0eXBlPSJ0bnM6VGltZVpvbmVEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iTGlzdE9mVGltZVpvbmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZVpvbmVEYXRhVHlwZSIgdHlwZT0idG5zOlRpbWVa -b25lRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9Ikxpc3RPZlRpbWVab25lRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZU -aW1lWm9uZURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpl -bGVtZW50IG5hbWU9IkludGVnZXJJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIC8+DQoNCiAgPHhz -OnNpbXBsZVR5cGUgIG5hbWU9IkFwcGxpY2F0aW9uVHlwZSI+DQogICAgPHhzOmFubm90YXRpb24+ -DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgdHlwZXMgb2YgYXBwbGljYXRpb25zLjwveHM6 -ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0aW9u -IGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNlcnZlcl8w -IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDbGllbnRfMSIgLz4NCiAgICAgIDx4 -czplbnVtZXJhdGlvbiB2YWx1ZT0iQ2xpZW50QW5kU2VydmVyXzIiIC8+DQogICAgICA8eHM6ZW51 -bWVyYXRpb24gdmFsdWU9IkRpc2NvdmVyeVNlcnZlcl8zIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rp -b24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25U -eXBlIiB0eXBlPSJ0bnM6QXBwbGljYXRpb25UeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAg -IDx4czpkb2N1bWVudGF0aW9uPkRlc2NyaWJlcyBhbiBhcHBsaWNhdGlvbiBhbmQgaG93IHRvIGZp -bmQgaXQuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcHBsaWNhdGlvblVyaSIgdHlwZT0i -eHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iUHJvZHVjdFVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25OYW1l -IiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25UeXBlIiB0eXBlPSJ0bnM6QXBw -bGljYXRpb25UeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJH -YXRld2F5U2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjb3ZlcnlQcm9maWxlVXJpIiB0 -eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJEaXNjb3ZlcnlVcmxzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25EZXNjcmlwdGlv -biIgdHlwZT0idG5zOkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9Ikxpc3RPZkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5j -ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIHR5cGU9 -InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5i -b3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZBcHBsaWNhdGlvbkRlc2NyaXB0 -aW9uIiB0eXBlPSJ0bnM6TGlzdE9mQXBwbGljYXRpb25EZXNjcmlwdGlvbiIgbmlsbGFibGU9InRy -dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVxdWVzdEhlYWRl -ciI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgaGVh -ZGVyIHBhc3NlZCB3aXRoIGV2ZXJ5IHNlcnZlciByZXF1ZXN0LjwveHM6ZG9jdW1lbnRhdGlvbj4N +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkVu +dW1WYWx1ZVR5cGUiIHR5cGU9InRuczpFbnVtVmFsdWVUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJMaXN0T2ZFbnVtVmFsdWVUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJFbnVtVmFsdWVUeXBlIiB0eXBlPSJ0bnM6RW51bVZhbHVlVHlw +ZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg +bmFtZT0iTGlzdE9mRW51bVZhbHVlVHlwZSIgdHlwZT0idG5zOkxpc3RPZkVudW1WYWx1ZVR5cGUi +IG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +IkVudW1GaWVsZCI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAg +ICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpFbnVtVmFsdWVUeXBlIj4NCiAgICAgICAgPHhzOnNl +cXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5hbWUiIHR5cGU9InhzOnN0cmlu +ZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5j +ZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwv +eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkVudW1GaWVsZCIgdHlwZT0idG5z +OkVudW1GaWVsZCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRW51bUZpZWxk +Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbnVtRmllbGQi +IHR5cGU9InRuczpFbnVtRmllbGQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkVudW1GaWVsZCIgdHlwZT0idG5zOkxpc3RP +ZkVudW1GaWVsZCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iT3B0aW9uU2V0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpk +b2N1bWVudGF0aW9uPlRoaXMgYWJzdHJhY3QgU3RydWN0dXJlZCBEYXRhVHlwZSBpcyB0aGUgYmFz +ZSBEYXRhVHlwZSBmb3IgYWxsIERhdGFUeXBlcyByZXByZXNlbnRpbmcgYSBiaXQgbWFzay48L3hz +OmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJW +YWxpZEJpdHMiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJPcHRpb25TZXQiIHR5cGU9InRuczpPcHRpb25TZXQiIC8+DQoNCiAgPHhz +OmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk9wdGlvblNldCI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT3B0aW9uU2V0IiB0eXBlPSJ0bnM6T3B0aW9uU2V0IiBt +aW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJMaXN0T2ZPcHRpb25TZXQiIHR5cGU9InRuczpMaXN0T2ZPcHRpb25TZXQiIG5pbGxhYmxlPSJ0 +cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlVuaW9uIj4NCiAg +ICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoaXMgYWJzdHJhY3Qg +RGF0YVR5cGUgaXMgdGhlIGJhc2UgRGF0YVR5cGUgZm9yIGFsbCB1bmlvbiBEYXRhVHlwZXMuPC94 +czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+ +DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg +bmFtZT0iVW5pb24iIHR5cGU9InRuczpVbmlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iTGlzdE9mVW5pb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlVuaW9uIiB0eXBlPSJ0bnM6VW5pb24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJv +dW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlVuaW9uIiB0eXBlPSJ0bnM6TGlz +dE9mVW5pb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmVsZW1lbnQg +bmFtZT0iTm9ybWFsaXplZFN0cmluZyIgdHlwZT0ieHM6c3RyaW5nIiAvPg0KDQogIDx4czplbGVt +ZW50IG5hbWU9IkRlY2ltYWxTdHJpbmciIHR5cGU9InhzOnN0cmluZyIgLz4NCg0KICA8eHM6ZWxl +bWVudCBuYW1lPSJEdXJhdGlvblN0cmluZyIgdHlwZT0ieHM6c3RyaW5nIiAvPg0KDQogIDx4czpl +bGVtZW50IG5hbWU9IlRpbWVTdHJpbmciIHR5cGU9InhzOnN0cmluZyIgLz4NCg0KICA8eHM6ZWxl +bWVudCBuYW1lPSJEYXRlU3RyaW5nIiB0eXBlPSJ4czpzdHJpbmciIC8+DQoNCiAgPHhzOmVsZW1l +bnQgbmFtZT0iRHVyYXRpb24iIHR5cGU9InhzOmRvdWJsZSIgLz4NCg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJVdGNUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJMb2NhbGVJZCIgdHlwZT0ieHM6c3RyaW5nIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJUaW1lWm9uZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJPZmZzZXQiIHR5cGU9InhzOnNob3J0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJEYXlsaWdodFNhdmluZ0luT2Zmc2V0IiB0eXBlPSJ4czpib29sZWFu +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZVpvbmVEYXRhVHlwZSIgdHlwZT0idG5zOlRpbWVa +b25lRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlRpbWVab25l +RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRp +bWVab25lRGF0YVR5cGUiIHR5cGU9InRuczpUaW1lWm9uZURhdGFUeXBlIiBtaW5PY2N1cnM9IjAi +IG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl +bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZUaW1l +Wm9uZURhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mVGltZVpvbmVEYXRhVHlwZSIgbmlsbGFibGU9 +InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJJbnRlZ2VySWQiIHR5 +cGU9InhzOnVuc2lnbmVkSW50IiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJBcHBsaWNh +dGlvblR5cGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+ +VGhlIHR5cGVzIG9mIGFwcGxpY2F0aW9ucy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czph +bm5vdGF0aW9uPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAg +PHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTZXJ2ZXJfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv +biB2YWx1ZT0iQ2xpZW50XzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkNsaWVu +dEFuZFNlcnZlcl8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEaXNjb3ZlcnlT +ZXJ2ZXJfMyIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9IkFwcGxpY2F0aW9uVHlwZSIgdHlwZT0idG5zOkFwcGxpY2F0aW9u +VHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQXBwbGljYXRpb25EZXNjcmlwdGlv +biI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5EZXNjcmli +ZXMgYW4gYXBwbGljYXRpb24gYW5kIGhvdyB0byBmaW5kIGl0LjwveHM6ZG9jdW1lbnRhdGlvbj4N CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iQXV0aGVudGljYXRpb25Ub2tlbiIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0YW1w -IiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iUmVxdWVzdEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldHVybkRpYWdub3N0aWNzIiB0eXBlPSJ4czp1 -bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXVk -aXRFbnRyeUlkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lb3V0SGludCIgdHlwZT0ieHM6dW5zaWdu -ZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZGl0aW9u -YWxIZWFkZXIiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVzcG9uc2VIZWFkZXIiPg0KICAgIDx4czph -bm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGhlYWRlciBwYXNzZWQgd2l0 -aCBldmVyeSBzZXJ2ZXIgcmVzcG9uc2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5u -b3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1l -c3RhbXAiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJSZXF1ZXN0SGFuZGxlIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmljZVJlc3VsdCIgdHlwZT0idWE6 -U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vy -dmljZURpYWdub3N0aWNzIiB0eXBlPSJ1YTpEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0cmluZ1RhYmxlIiB0 -eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +bnQgbmFtZT0iQXBwbGljYXRpb25VcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlByb2R1Y3RVcmkiIHR5 +cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IkFwcGxpY2F0aW9uTmFtZSIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkFwcGxpY2F0aW9uVHlwZSIgdHlwZT0idG5zOkFwcGxpY2F0aW9uVHlwZSIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iR2F0ZXdheVNlcnZlclVyaSIgdHlwZT0ieHM6 +c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iRGlzY292ZXJ5UHJvZmlsZVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzY292ZXJ5 +VXJscyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9IkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIHR5cGU9InRuczpBcHBsaWNhdGlvbkRl +c2NyaXB0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZBcHBsaWNhdGlv +bkRlc2NyaXB0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6QXBwbGljYXRpb25EZXNjcmlwdGlv +biIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg +bmFtZT0iTGlzdE9mQXBwbGljYXRpb25EZXNjcmlwdGlvbiIgdHlwZT0idG5zOkxpc3RPZkFwcGxp +Y2F0aW9uRGVzY3JpcHRpb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhz +OmNvbXBsZXhUeXBlIG5hbWU9IlJlcXVlc3RIZWFkZXIiPg0KICAgIDx4czphbm5vdGF0aW9uPg0K +ICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGhlYWRlciBwYXNzZWQgd2l0aCBldmVyeSBzZXJ2 +ZXIgcmVxdWVzdC48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkF1dGhlbnRpY2F0aW9uVG9r +ZW4iIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlRpbWVzdGFtcCIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9j +Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIYW5kbGUiIHR5cGU9 +InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJSZXR1cm5EaWFnbm9zdGljcyIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkF1ZGl0RW50cnlJZCIgdHlwZT0ieHM6c3RyaW5n +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iVGltZW91dEhpbnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQog ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRpdGlvbmFsSGVhZGVyIiB0eXBlPSJ1YTpFeHRlbnNp b25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 -ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VI -ZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJWZXJzaW9uVGltZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IlNlcnZpY2VGYXVsdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6 -ZG9jdW1lbnRhdGlvbj5UaGUgcmVzcG9uc2UgcmV0dXJuZWQgYnkgYWxsIHNlcnZpY2VzIHdoZW4g -dGhlcmUgaXMgYSBzZXJ2aWNlIGxldmVsIGVycm9yLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8 -L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIw +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhl +YWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9IlJlc3BvbnNlSGVhZGVyIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1 +bWVudGF0aW9uPlRoZSBoZWFkZXIgcGFzc2VkIHdpdGggZXZlcnkgc2VydmVyIHJlc3BvbnNlLjwv +eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0YW1wIiB0eXBlPSJ4czpkYXRlVGltZSIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhhbmRsZSIg +dHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlNlcnZpY2VSZXN1bHQiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZpY2VEaWFnbm9zdGljcyIgdHlwZT0idWE6 +RGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJTdHJpbmdUYWJsZSIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWRk +aXRpb25hbEhlYWRlciIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VI +ZWFkZXIiIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iVmVyc2lvblRpbWUiIHR5cGU9InhzOnVu +c2lnbmVkSW50IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXJ2aWNlRmF1bHQiPg0K +ICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIHJlc3BvbnNl +IHJldHVybmVkIGJ5IGFsbCBzZXJ2aWNlcyB3aGVuIHRoZXJlIGlzIGEgc2VydmljZSBsZXZlbCBl +cnJvci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0 +bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +U2VydmljZUZhdWx0IiB0eXBlPSJ0bnM6U2VydmljZUZhdWx0IiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJTZXNzaW9ubGVzc0ludm9rZVJlcXVlc3RUeXBlIj4NCiAgICA8eHM6c2VxdWVu +Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVcmlzVmVyc2lvbiIgdHlwZT0idWE6TGlzdE9m +VUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iTmFtZXNwYWNlVXJpcyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVXJp +cyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJp +bmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJTZXJ2aWNlSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iU2Vzc2lvbmxlc3NJbnZva2VSZXF1ZXN0VHlwZSIgdHlwZT0idG5zOlNlc3Npb25sZXNzSW52 +b2tlUmVxdWVzdFR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlc3Npb25sZXNz +SW52b2tlUmVzcG9uc2VUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJOYW1lc3BhY2VVcmlzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJVcmlz +IiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2aWNlSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbmxlc3NJbnZva2VSZXNwb25zZVR5cGUiIHR5 +cGU9InRuczpTZXNzaW9ubGVzc0ludm9rZVJlc3BvbnNlVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iRmluZFNlcnZlcnNSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg +ICAgIDx4czpkb2N1bWVudGF0aW9uPkZpbmRzIHRoZSBzZXJ2ZXJzIGtub3duIHRvIHRoZSBkaXNj +b3Zlcnkgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQog +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIg +dHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +TG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJVcmlzIiB0eXBlPSJ1YTpM +aXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz +ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRmluZFNl +cnZlcnNSZXF1ZXN0IiB0eXBlPSJ0bnM6RmluZFNlcnZlcnNSZXF1ZXN0IiAvPg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJGaW5kU2VydmVyc1Jlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlv +bj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkZpbmRzIHRoZSBzZXJ2ZXJzIGtub3duIHRvIHRo +ZSBkaXNjb3Zlcnkgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRp +b24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VI +ZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlcnMiIHR5cGU9InRuczpMaXN0 +T2ZBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9IkZpbmRTZXJ2ZXJzUmVzcG9uc2UiIHR5cGU9InRuczpGaW5kU2VydmVyc1Jlc3BvbnNl +IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXJ2ZXJPbk5ldHdvcmsiPg0KICAgIDx4 +czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlY29yZElkIiB0eXBlPSJ4czp1 +bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vy +dmVyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzY292ZXJ5VXJsIiB0eXBlPSJ4czpzdHJpbmci +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJTZXJ2ZXJDYXBhYmlsaXRpZXMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIw IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2aWNlRmF1bHQiIHR5cGU9InRuczpTZXJ2aWNl -RmF1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlc3Npb25sZXNzSW52b2tlUmVx -dWVzdFR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVy -aXNWZXJzaW9uIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOYW1lc3BhY2VVcmlzIiB0eXBlPSJ1 -YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJVcmlzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMb2Nh -bGVJZHMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZpY2VJZCIgdHlwZT0ieHM6dW5zaWdu -ZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9ubGVzc0ludm9rZVJlcXVlc3RUeXBl -IiB0eXBlPSJ0bnM6U2Vzc2lvbmxlc3NJbnZva2VSZXF1ZXN0VHlwZSIgLz4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iU2Vzc2lvbmxlc3NJbnZva2VSZXNwb25zZVR5cGUiPg0KICAgIDx4czpz -ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5hbWVzcGFjZVVyaXMiIHR5cGU9InVh -Okxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlNlcnZlclVyaXMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZp -Y2VJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9u -bGVzc0ludm9rZVJlc3BvbnNlVHlwZSIgdHlwZT0idG5zOlNlc3Npb25sZXNzSW52b2tlUmVzcG9u -c2VUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJGaW5kU2VydmVyc1JlcXVlc3Qi -Pg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+RmluZHMgdGhl -IHNlcnZlcnMga25vd24gdG8gdGhlIGRpc2NvdmVyeSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0aW9u -Pg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBv -aW50VXJsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMb2NhbGVJZHMiIHR5cGU9InVhOkxpc3RPZlN0cmlu -ZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlNlcnZlclVyaXMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJGaW5kU2VydmVyc1JlcXVlc3QiIHR5cGU9InRuczpGaW5kU2Vy -dmVyc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkZpbmRTZXJ2ZXJzUmVz -cG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Rmlu -ZHMgdGhlIHNlcnZlcnMga25vd24gdG8gdGhlIGRpc2NvdmVyeSBzZXJ2ZXIuPC94czpkb2N1bWVu -dGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVy +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJPbk5ldHdvcmsiIHR5cGU9InRuczpTZXJ2 +ZXJPbk5ldHdvcmsiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlNlcnZlck9u +TmV0d29yayI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vy +dmVyT25OZXR3b3JrIiB0eXBlPSJ0bnM6U2VydmVyT25OZXR3b3JrIiBtaW5PY2N1cnM9IjAiIG1h +eE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl +Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTZXJ2ZXJP +bk5ldHdvcmsiIHR5cGU9InRuczpMaXN0T2ZTZXJ2ZXJPbk5ldHdvcmsiIG5pbGxhYmxlPSJ0cnVl +Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkZpbmRTZXJ2ZXJzT25O +ZXR3b3JrUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFydGluZ1JlY29y +ZElkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iTWF4UmVjb3Jkc1RvUmV0dXJuIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyQ2FwYWJpbGl0eUZp +bHRlciIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9IkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVxdWVzdCIgdHlwZT0idG5zOkZpbmRTZXJ2 +ZXJzT25OZXR3b3JrUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRmluZFNl +cnZlcnNPbk5ldHdvcmtSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxh +c3RDb3VudGVyUmVzZXRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVycyIgdHlwZT0idG5zOkxpc3RPZlNlcnZlck9u +TmV0d29yayIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl +bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJGaW5kU2VydmVy +c09uTmV0d29ya1Jlc3BvbnNlIiB0eXBlPSJ0bnM6RmluZFNlcnZlcnNPbk5ldHdvcmtSZXNwb25z +ZSIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBcHBsaWNhdGlvbkluc3RhbmNlQ2VydGlmaWNh +dGUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0i +TWVzc2FnZVNlY3VyaXR5TW9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9j +dW1lbnRhdGlvbj5UaGUgdHlwZSBvZiBzZWN1cml0eSB0byB1c2Ugb24gYSBtZXNzYWdlLjwveHM6 +ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0aW9u +IGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkludmFsaWRf +MCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9uZV8xIiAvPg0KICAgICAgPHhz +OmVudW1lcmF0aW9uIHZhbHVlPSJTaWduXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs +dWU9IlNpZ25BbmRFbmNyeXB0XzMiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpz +aW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNZXNzYWdlU2VjdXJpdHlNb2RlIiB0eXBl +PSJ0bnM6TWVzc2FnZVNlY3VyaXR5TW9kZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0i +VXNlclRva2VuVHlwZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRh +dGlvbj5UaGUgcG9zc2libGUgdXNlciB0b2tlbiB0eXBlcy48L3hzOmRvY3VtZW50YXRpb24+DQog +ICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmci +Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBbm9ueW1vdXNfMCIgLz4NCiAgICAgIDx4 +czplbnVtZXJhdGlvbiB2YWx1ZT0iVXNlck5hbWVfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv +biB2YWx1ZT0iQ2VydGlmaWNhdGVfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i +SXNzdWVkVG9rZW5fMyIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVzZXJUb2tlblR5cGUiIHR5cGU9InRuczpVc2VyVG9r +ZW5UeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJVc2VyVG9rZW5Qb2xpY3kiPg0K +ICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+RGVzY3JpYmVzIGEg +dXNlciB0b2tlbiB0aGF0IGNhbiBiZSB1c2VkIHdpdGggYSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0 +aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJQb2xpY3lJZCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVG9rZW5UeXBlIiB0eXBl +PSJ0bnM6VXNlclRva2VuVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iSXNzdWVkVG9rZW5UeXBlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc3N1ZXJFbmRwb2ludFVy +bCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlQb2xpY3lVcmkiIHR5cGU9InhzOnN0cmluZyIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyVG9rZW5Qb2xpY3kiIHR5 +cGU9InRuczpVc2VyVG9rZW5Qb2xpY3kiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxp +c3RPZlVzZXJUb2tlblBvbGljeSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iVXNlclRva2VuUG9saWN5IiB0eXBlPSJ0bnM6VXNlclRva2VuUG9saWN5IiBtaW5P +Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM +aXN0T2ZVc2VyVG9rZW5Qb2xpY3kiIHR5cGU9InRuczpMaXN0T2ZVc2VyVG9rZW5Qb2xpY3kiIG5p +bGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVu +ZHBvaW50RGVzY3JpcHRpb24iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3Vt +ZW50YXRpb24+VGhlIGRlc2NyaXB0aW9uIG9mIGEgZW5kcG9pbnQgdGhhdCBjYW4gYmUgdXNlZCB0 +byBhY2Nlc3MgYSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlv +bj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVy +bCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyIiB0eXBlPSJ0bnM6QXBwbGljYXRpb25EZXNjcmlw +dGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlNlcnZlckNlcnRpZmljYXRlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0 +eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVBvbGljeVVyaSIgdHlwZT0ieHM6c3RyaW5n IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iU2VydmVycyIgdHlwZT0idG5zOkxpc3RPZkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRmluZFNlcnZlcnNSZXNwb25zZSIgdHlw -ZT0idG5zOkZpbmRTZXJ2ZXJzUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 -IlNlcnZlck9uTmV0d29yayI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iUmVjb3JkSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNj -b3ZlcnlVcmwiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlckNhcGFiaWxpdGllcyIgdHlwZT0idWE6 -TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 -c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNlcnZl -ck9uTmV0d29yayIgdHlwZT0idG5zOlNlcnZlck9uTmV0d29yayIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iTGlzdE9mU2VydmVyT25OZXR3b3JrIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJPbk5ldHdvcmsiIHR5cGU9InRuczpTZXJ2ZXJP -bk5ldHdvcmsiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9Ikxpc3RPZlNlcnZlck9uTmV0d29yayIgdHlwZT0idG5zOkxpc3RPZlNlcnZl -ck9uTmV0d29yayIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iRmluZFNlcnZlcnNPbk5ldHdvcmtSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVx -dWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlN0YXJ0aW5nUmVjb3JkSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhSZWNvcmRzVG9SZXR1cm4i -IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJTZXJ2ZXJDYXBhYmlsaXR5RmlsdGVyIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRmluZFNlcnZlcnNPbk5ldHdvcmtS -ZXF1ZXN0IiB0eXBlPSJ0bnM6RmluZFNlcnZlcnNPbk5ldHdvcmtSZXF1ZXN0IiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJGaW5kU2VydmVyc09uTmV0d29ya1Jlc3BvbnNlIj4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlw -ZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdENvdW50ZXJSZXNldFRpbWUiIHR5cGU9InhzOmRh -dGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJz -IiB0eXBlPSJ0bnM6TGlzdE9mU2VydmVyT25OZXR3b3JrIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9IkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVzcG9uc2UiIHR5cGU9InRuczpG -aW5kU2VydmVyc09uTmV0d29ya1Jlc3BvbnNlIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkFw -cGxpY2F0aW9uSW5zdGFuY2VDZXJ0aWZpY2F0ZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiAvPg0K -DQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJNZXNzYWdlU2VjdXJpdHlNb2RlIj4NCiAgICA8eHM6 -YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSB0eXBlIG9mIHNlY3VyaXR5 -IHRvIHVzZSBvbiBhIG1lc3NhZ2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3Rh -dGlvbj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czpl -bnVtZXJhdGlvbiB2YWx1ZT0iSW52YWxpZF8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh -bHVlPSJOb25lXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNpZ25fMiIgLz4N -CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU2lnbkFuZEVuY3J5cHRfMyIgLz4NCiAgICA8 -L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -Ik1lc3NhZ2VTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiAvPg0K -DQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJVc2VyVG9rZW5UeXBlIj4NCiAgICA8eHM6YW5ub3Rh -dGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBwb3NzaWJsZSB1c2VyIHRva2VuIHR5 -cGVzLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJl -c3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 -IkFub255bW91c18wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVc2VyTmFtZV8x -IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDZXJ0aWZpY2F0ZV8yIiAvPg0KICAg -ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJc3N1ZWRUb2tlbl8zIiAvPg0KICAgIDwveHM6cmVz -dHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlclRv -a2VuVHlwZSIgdHlwZT0idG5zOlVzZXJUb2tlblR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9IlVzZXJUb2tlblBvbGljeSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6 -ZG9jdW1lbnRhdGlvbj5EZXNjcmliZXMgYSB1c2VyIHRva2VuIHRoYXQgY2FuIGJlIHVzZWQgd2l0 -aCBhIHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBvbGljeUlkIiB0eXBlPSJ4 -czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJUb2tlblR5cGUiIHR5cGU9InRuczpVc2VyVG9rZW5UeXBlIiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc3N1ZWRUb2tlblR5cGUiIHR5cGU9Inhz -OnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9Iklzc3VlckVuZHBvaW50VXJsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVBv -bGljeVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9IlVzZXJUb2tlblBvbGljeSIgdHlwZT0idG5zOlVzZXJUb2tlblBvbGljeSIgLz4NCg0K -ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mVXNlclRva2VuUG9saWN5Ij4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyVG9rZW5Qb2xpY3kiIHR5cGU9 -InRuczpVc2VyVG9rZW5Qb2xpY3kiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlVzZXJUb2tlblBvbGljeSIgdHlwZT0idG5z -Okxpc3RPZlVzZXJUb2tlblBvbGljeSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0K -ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRW5kcG9pbnREZXNjcmlwdGlvbiI+DQogICAgPHhzOmFu -bm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgZGVzY3JpcHRpb24gb2YgYSBl -bmRwb2ludCB0aGF0IGNhbiBiZSB1c2VkIHRvIGFjY2VzcyBhIHNlcnZlci48L3hzOmRvY3VtZW50 -YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IkVuZHBvaW50VXJsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXIiIHR5 -cGU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyQ2VydGlmaWNhdGUiIHR5cGU9 -InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5TW9kZSIgdHlwZT0idG5zOk1lc3NhZ2VTZWN1cml0 -eU1vZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5 -UG9saWN5VXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VySWRlbnRpdHlUb2tlbnMiIHR5cGU9InRu -czpMaXN0T2ZVc2VyVG9rZW5Qb2xpY3kiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc3BvcnRQcm9maWxlVXJpIiB0eXBlPSJ4czpz -dHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJTZWN1cml0eUxldmVsIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJFbmRwb2ludERlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6RW5kcG9pbnREZXNjcmlw -dGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRW5kcG9pbnREZXNjcmlw -dGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5kcG9p -bnREZXNjcmlwdGlvbiIgdHlwZT0idG5zOkVuZHBvaW50RGVzY3JpcHRpb24iIG1pbk9jY3Vycz0i -MCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkVu -ZHBvaW50RGVzY3JpcHRpb24iIHR5cGU9InRuczpMaXN0T2ZFbmRwb2ludERlc2NyaXB0aW9uIiBu -aWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJH -ZXRFbmRwb2ludHNSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1 -bWVudGF0aW9uPkdldHMgdGhlIGVuZHBvaW50cyB1c2VkIGJ5IHRoZSBzZXJ2ZXIuPC94czpkb2N1 -bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRl -ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IkVuZHBvaW50VXJsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMb2NhbGVJZHMiIHR5cGU9InVhOkxp -c3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlByb2ZpbGVVcmlzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iR2V0RW5kcG9pbnRzUmVxdWVzdCIgdHlwZT0i -dG5zOkdldEVuZHBvaW50c1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikdl -dEVuZHBvaW50c1Jlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1 -bWVudGF0aW9uPkdldHMgdGhlIGVuZHBvaW50cyB1c2VkIGJ5IHRoZSBzZXJ2ZXIuPC94czpkb2N1 -bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVh -ZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iRW5kcG9pbnRzIiB0eXBlPSJ0bnM6TGlzdE9mRW5kcG9pbnREZXNjcmlwdGlvbiIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJHZXRFbmRwb2ludHNSZXNwb25zZSIg -dHlwZT0idG5zOkdldEVuZHBvaW50c1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJSZWdpc3RlcmVkU2VydmVyIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpk -b2N1bWVudGF0aW9uPlRoZSBpbmZvcm1hdGlvbiByZXF1aXJlZCB0byByZWdpc3RlciBhIHNlcnZl -ciB3aXRoIGEgZGlzY292ZXJ5IHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czph -bm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNl -cnZlclVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJvZHVjdFVyaSIgdHlwZT0ieHM6c3RyaW5nIiBt +ZT0iVXNlcklkZW50aXR5VG9rZW5zIiB0eXBlPSJ0bnM6TGlzdE9mVXNlclRva2VuUG9saWN5IiBt aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -U2VydmVyTmFtZXMiIHR5cGU9InVhOkxpc3RPZkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJUeXBlIiB0 -eXBlPSJ0bnM6QXBwbGljYXRpb25UeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJHYXRld2F5U2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjb3ZlcnlV -cmxzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZW1hcGhvcmVGaWxlUGF0aCIgdHlwZT0ieHM6 +VHJhbnNwb3J0UHJvZmlsZVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlMZXZlbCIgdHlw +ZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRW5kcG9pbnREZXNjcmlw +dGlvbiIgdHlwZT0idG5zOkVuZHBvaW50RGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9Ikxpc3RPZkVuZHBvaW50RGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50RGVzY3JpcHRpb24iIHR5cGU9InRuczpF +bmRwb2ludERlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbmRwb2ludERlc2NyaXB0aW9uIiB0eXBlPSJ0 +bnM6TGlzdE9mRW5kcG9pbnREZXNjcmlwdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVu +dD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iR2V0RW5kcG9pbnRzUmVxdWVzdCI+DQogICAg +PHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5HZXRzIHRoZSBlbmRwb2lu +dHMgdXNlZCBieSB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90 +YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVz +dEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVybCIgdHlwZT0ieHM6 c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iSXNPbmxpbmUiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJSZWdpc3RlcmVkU2VydmVyIiB0eXBlPSJ0bnM6UmVnaXN0ZXJlZFNlcnZlciIgLz4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUmVnaXN0ZXJlZFNlcnZlciI+DQogICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJlZFNlcnZlciIgdHlwZT0i -dG5zOlJlZ2lzdGVyZWRTZXJ2ZXIiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlJlZ2lzdGVyZWRTZXJ2ZXIiIHR5cGU9InRu -czpMaXN0T2ZSZWdpc3RlcmVkU2VydmVyIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWdpc3RlclNlcnZlclJlcXVlc3QiPg0KICAgIDx4 -czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+UmVnaXN0ZXJzIGEgc2VydmVy -IHdpdGggdGhlIGRpc2NvdmVyeSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6 -YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS -ZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlciIgdHlwZT0idG5z -OlJlZ2lzdGVyZWRTZXJ2ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +bnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQcm9maWxlVXJpcyIg +dHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h +bWU9IkdldEVuZHBvaW50c1JlcXVlc3QiIHR5cGU9InRuczpHZXRFbmRwb2ludHNSZXF1ZXN0IiAv +Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJHZXRFbmRwb2ludHNSZXNwb25zZSI+DQogICAg +PHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5HZXRzIHRoZSBlbmRwb2lu +dHMgdXNlZCBieSB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90 +YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9u +c2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50cyIgdHlwZT0idG5z +Okxpc3RPZkVuZHBvaW50RGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iR2V0RW5kcG9pbnRzUmVzcG9uc2UiIHR5cGU9InRuczpHZXRFbmRwb2ludHNSZXNw +b25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJlZFNlcnZlciI+DQog +ICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgaW5mb3JtYXRp +b24gcmVxdWlyZWQgdG8gcmVnaXN0ZXIgYSBzZXJ2ZXIgd2l0aCBhIGRpc2NvdmVyeSBzZXJ2ZXIu +PC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVu +Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJVcmkiIHR5cGU9InhzOnN0cmluZyIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlByb2R1Y3RVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlck5hbWVzIiB0eXBlPSJ1YTpMaXN0 +T2ZMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVHlwZSIgdHlwZT0idG5zOkFwcGxpY2F0aW9uVHlwZSIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iR2F0ZXdheVNlcnZlclVy +aSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzY292ZXJ5VXJscyIgdHlwZT0idWE6TGlzdE9mU3RyaW5n +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iU2VtYXBob3JlRmlsZVBhdGgiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IklzT25saW5lIiB0eXBlPSJ4 +czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj +b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJlZFNlcnZlciIgdHlwZT0i +dG5zOlJlZ2lzdGVyZWRTZXJ2ZXIiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RP +ZlJlZ2lzdGVyZWRTZXJ2ZXIiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlJlZ2lzdGVyZWRTZXJ2ZXIiIHR5cGU9InRuczpSZWdpc3RlcmVkU2VydmVyIiBtaW5P +Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM +aXN0T2ZSZWdpc3RlcmVkU2VydmVyIiB0eXBlPSJ0bnM6TGlzdE9mUmVnaXN0ZXJlZFNlcnZlciIg +bmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i +UmVnaXN0ZXJTZXJ2ZXJSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpk +b2N1bWVudGF0aW9uPlJlZ2lzdGVycyBhIHNlcnZlciB3aXRoIHRoZSBkaXNjb3Zlcnkgc2VydmVy +LjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJl +cXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJTZXJ2ZXIiIHR5cGU9InRuczpSZWdpc3RlcmVkU2VydmVyIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyU2VydmVyUmVxdWVzdCIgdHlw +ZT0idG5zOlJlZ2lzdGVyU2VydmVyUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iUmVnaXN0ZXJTZXJ2ZXJSZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8 +eHM6ZG9jdW1lbnRhdGlvbj5SZWdpc3RlcnMgYSBzZXJ2ZXIgd2l0aCB0aGUgZGlzY292ZXJ5IHNl +cnZlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0 +bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -UmVnaXN0ZXJTZXJ2ZXJSZXF1ZXN0IiB0eXBlPSJ0bnM6UmVnaXN0ZXJTZXJ2ZXJSZXF1ZXN0IiAv -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWdpc3RlclNlcnZlclJlc3BvbnNlIj4NCiAg -ICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlJlZ2lzdGVycyBhIHNl -cnZlciB3aXRoIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8 -L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWdpc3RlclNlcnZlclJlc3BvbnNlIiB0eXBlPSJ0 -bnM6UmVnaXN0ZXJTZXJ2ZXJSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -RGlzY292ZXJ5Q29uZmlndXJhdGlvbiI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6 -ZG9jdW1lbnRhdGlvbj5BIGJhc2UgdHlwZSBmb3IgZGlzY292ZXJ5IGNvbmZpZ3VyYXRpb24gaW5m -b3JtYXRpb24uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iRGlzY292ZXJ5Q29uZmlndXJhdGlvbiIgdHlwZT0idG5zOkRpc2Nv -dmVyeUNvbmZpZ3VyYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1kbnNEaXNj -b3ZlcnlDb25maWd1cmF0aW9uIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1 -bWVudGF0aW9uPlRoZSBkaXNjb3ZlcnkgaW5mb3JtYXRpb24gbmVlZGVkIGZvciBtRE5TIHJlZ2lz -dHJhdGlvbi48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4 +UmVnaXN0ZXJTZXJ2ZXJSZXNwb25zZSIgdHlwZT0idG5zOlJlZ2lzdGVyU2VydmVyUmVzcG9uc2Ui +IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iPg0K +ICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBiYXNlIHR5cGUg +Zm9yIGRpc2NvdmVyeSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uLjwveHM6ZG9jdW1lbnRhdGlv +bj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2Vx +dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRpc2NvdmVy +eUNvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiAvPg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJNZG5zRGlzY292ZXJ5Q29uZmlndXJhdGlvbiI+DQogICAg +PHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgZGlzY292ZXJ5IGlu +Zm9ybWF0aW9uIG5lZWRlZCBmb3IgbUROUyByZWdpc3RyYXRpb24uPC94czpkb2N1bWVudGF0aW9u +Pg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZh +bHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkRpc2NvdmVyeUNvbmZpZ3VyYXRp +b24iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +TWRuc1NlcnZlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJDYXBhYmlsaXRpZXMi +IHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6 +Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +Ik1kbnNEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiB0eXBlPSJ0bnM6TWRuc0Rpc2NvdmVyeUNvbmZp +Z3VyYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZ2lzdGVyU2VydmVyMlJl +cXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVl +c3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyIiB0eXBlPSJ0bnM6UmVn +aXN0ZXJlZFNlcnZlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIHR5cGU9InVhOkxpc3RPZkV4 +dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWdp +c3RlclNlcnZlcjJSZXF1ZXN0IiB0eXBlPSJ0bnM6UmVnaXN0ZXJTZXJ2ZXIyUmVxdWVzdCIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXIyUmVzcG9uc2UiPg0KICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0 +eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb25maWd1cmF0aW9uUmVzdWx0cyIgdHlwZT0idWE6 +TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25v +c3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJT +ZXJ2ZXIyUmVzcG9uc2UiIHR5cGU9InRuczpSZWdpc3RlclNlcnZlcjJSZXNwb25zZSIgLz4NCg0K +ICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iU2VjdXJpdHlUb2tlblJlcXVlc3RUeXBlIj4NCiAgICA8 +eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkluZGljYXRlcyB3aGV0aGVy +IGEgdG9rZW4gaWYgYmVpbmcgY3JlYXRlZCBvciByZW5ld2VkLjwveHM6ZG9jdW1lbnRhdGlvbj4N +CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmlu +ZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Iklzc3VlXzAiIC8+DQogICAgICA8eHM6 +ZW51bWVyYXRpb24gdmFsdWU9IlJlbmV3XzEiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAg +PC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVRva2VuUmVxdWVz +dFR5cGUiIHR5cGU9InRuczpTZWN1cml0eVRva2VuUmVxdWVzdFR5cGUiIC8+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9IkNoYW5uZWxTZWN1cml0eVRva2VuIj4NCiAgICA8eHM6YW5ub3RhdGlv +bj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSB0b2tlbiB0aGF0IGlkZW50aWZpZXMgYSBz +ZXQgb2Yga2V5cyBmb3IgYW4gYWN0aXZlIHNlY3VyZSBjaGFubmVsLjwveHM6ZG9jdW1lbnRhdGlv +bj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iQ2hhbm5lbElkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVG9rZW5JZCIgdHlwZT0ieHM6dW5zaWduZWRJ +bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZWRBdCIg +dHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlJldmlzZWRMaWZldGltZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJDaGFubmVsU2VjdXJpdHlUb2tlbiIgdHlwZT0idG5zOkNoYW5uZWxTZWN1cml0eVRv +a2VuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJPcGVuU2VjdXJlQ2hhbm5lbFJlcXVl +c3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q3JlYXRl +cyBhIHNlY3VyZSBjaGFubmVsIHdpdGggYSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0aW9uPg0KICAg +IDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVudFByb3Rv +Y29sVmVyc2lvbiIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RUeXBlIiB0eXBlPSJ0bnM6U2VjdXJpdHlUb2tlblJl +cXVlc3RUeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1 +cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnROb25jZSIgdHlwZT0ieHM6YmFzZTY0Qmlu +YXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iUmVxdWVzdGVkTGlmZXRpbWUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9 +IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iT3BlblNlY3VyZUNoYW5uZWxSZXF1ZXN0IiB0eXBlPSJ0bnM6T3BlblNlY3Vy +ZUNoYW5uZWxSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJPcGVuU2VjdXJl +Q2hhbm5lbFJlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVu +dGF0aW9uPkNyZWF0ZXMgYSBzZWN1cmUgY2hhbm5lbCB3aXRoIGEgc2VydmVyLjwveHM6ZG9jdW1l +bnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRl +ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlNlcnZlclByb3RvY29sVmVyc2lvbiIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vy +cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5VG9rZW4iIHR5cGU9InRu +czpDaGFubmVsU2VjdXJpdHlUb2tlbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlck5vbmNlIiB0eXBlPSJ4czpiYXNlNjRCaW5h +cnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT3BlblNlY3VyZUNoYW5u +ZWxSZXNwb25zZSIgdHlwZT0idG5zOk9wZW5TZWN1cmVDaGFubmVsUmVzcG9uc2UiIC8+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNsb3NlU2VjdXJlQ2hhbm5lbFJlcXVlc3QiPg0KICAgIDx4 +czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q2xvc2VzIGEgc2VjdXJlIGNo +YW5uZWwuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0 +bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJD +bG9zZVNlY3VyZUNoYW5uZWxSZXF1ZXN0IiB0eXBlPSJ0bnM6Q2xvc2VTZWN1cmVDaGFubmVsUmVx +dWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2xvc2VTZWN1cmVDaGFubmVsUmVz +cG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q2xv +c2VzIGEgc2VjdXJlIGNoYW5uZWwuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3Rh +dGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25z +ZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9IkNsb3NlU2VjdXJlQ2hhbm5lbFJlc3BvbnNlIiB0eXBlPSJ0bnM6Q2xv +c2VTZWN1cmVDaGFubmVsUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNp +Z25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhz +OmRvY3VtZW50YXRpb24+QSBzb2Z0d2FyZSBjZXJ0aWZpY2F0ZSB3aXRoIGEgZGlnaXRhbCBzaWdu +YXR1cmUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDZXJ0aWZpY2F0ZURhdGEiIHR5cGU9 +InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlNpZ25hdHVyZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNh +dGUiIHR5cGU9InRuczpTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJMaXN0T2ZTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIj4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTaWduZWRTb2Z0d2FyZUNlcnRpZmlj +YXRlIiB0eXBlPSJ0bnM6U2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgbWluT2NjdXJzPSIwIiBt +YXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j +ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU2lnbmVk +U29mdHdhcmVDZXJ0aWZpY2F0ZSIgdHlwZT0idG5zOkxpc3RPZlNpZ25lZFNvZnR3YXJlQ2VydGlm +aWNhdGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iU2Vzc2lvbkF1dGhlbnRpY2F0aW9uVG9rZW4iIHR5cGU9InVhOk5vZGVJZCIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iU2lnbmF0dXJlRGF0YSI+DQogICAgPHhzOmFubm90YXRpb24+ +DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIGRpZ2l0YWwgc2lnbmF0dXJlLjwveHM6ZG9jdW1l +bnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iQWxnb3JpdGhtIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTaWduYXR1cmUi +IHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJTaWduYXR1cmVEYXRhIiB0eXBlPSJ0bnM6U2lnbmF0dXJlRGF0YSIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iQ3JlYXRlU2Vzc2lvblJlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0 +aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q3JlYXRlcyBhIG5ldyBzZXNzaW9uIHdpdGgg +dGhlIHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5 +cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50RGVzY3JpcHRpb24iIHR5cGU9InRuczpBcHBs +aWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2lu +dFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbk5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNs +aWVudE5vbmNlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRDZXJ0aWZpY2F0ZSIgdHlw +ZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkU2Vzc2lvblRpbWVvdXQiIHR5cGU9InhzOmRv +dWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4UmVzcG9u +c2VNZXNzYWdlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg +ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJDcmVhdGVTZXNzaW9uUmVxdWVzdCIgdHlwZT0idG5zOkNyZWF0ZVNlc3Npb25SZXF1ZXN0IiAv +Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDcmVhdGVTZXNzaW9uUmVzcG9uc2UiPg0KICAg +IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q3JlYXRlcyBhIG5ldyBz +ZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v +dGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3Bv +bnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uSWQiIHR5cGU9InVh +Ok5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IkF1dGhlbnRpY2F0aW9uVG9rZW4iIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRT +ZXNzaW9uVGltZW91dCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJOb25jZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vy +dmVyQ2VydGlmaWNhdGUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlckVuZHBvaW50cyIg +dHlwZT0idG5zOkxpc3RPZkVuZHBvaW50RGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJTb2Z0d2FyZUNlcnRp +ZmljYXRlcyIgdHlwZT0idG5zOkxpc3RPZlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2 +ZXJTaWduYXR1cmUiIHR5cGU9InRuczpTaWduYXR1cmVEYXRhIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4UmVxdWVzdE1lc3NhZ2VT +aXplIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2Vx +dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZVNl +c3Npb25SZXNwb25zZSIgdHlwZT0idG5zOkNyZWF0ZVNlc3Npb25SZXNwb25zZSIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iVXNlcklkZW50aXR5VG9rZW4iPg0KICAgIDx4czphbm5vdGF0 +aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBiYXNlIHR5cGUgZm9yIGEgdXNlciBpZGVu +dGl0eSB0b2tlbi48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBvbGljeUlkIiB0eXBlPSJ4 +czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlcklkZW50 +aXR5VG9rZW4iIHR5cGU9InRuczpVc2VySWRlbnRpdHlUb2tlbiIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iQW5vbnltb3VzSWRlbnRpdHlUb2tlbiI+DQogICAgPHhzOmFubm90YXRpb24+ +DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHRva2VuIHJlcHJlc2VudGluZyBhbiBhbm9ueW1v +dXMgdXNlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4 czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNl -PSJ0bnM6RGlzY292ZXJ5Q29uZmlndXJhdGlvbiI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZG5zU2VydmVyTmFtZSIgdHlwZT0ieHM6c3RyaW5n -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlNlcnZlckNhcGFiaWxpdGllcyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAg -PC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTWRuc0Rpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIHR5 -cGU9InRuczpNZG5zRGlzY292ZXJ5Q29uZmlndXJhdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXIyUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFk -ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJTZXJ2ZXIiIHR5cGU9InRuczpSZWdpc3RlcmVkU2VydmVyIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzY292ZXJ5Q29uZmln -dXJhdGlvbiIgdHlwZT0idWE6TGlzdE9mRXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyU2VydmVyMlJlcXVlc3QiIHR5cGU9InRuczpS -ZWdpc3RlclNlcnZlcjJSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWdp -c3RlclNlcnZlcjJSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNvbmZp -Z3VyYXRpb25SZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0lu -Zm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJSZWdpc3RlclNlcnZlcjJSZXNwb25zZSIgdHlwZT0idG5zOlJlZ2lz -dGVyU2VydmVyMlJlc3BvbnNlIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJTZWN1cml0 -eVRva2VuUmVxdWVzdFR5cGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3Vt -ZW50YXRpb24+SW5kaWNhdGVzIHdoZXRoZXIgYSB0b2tlbiBpZiBiZWluZyBjcmVhdGVkIG9yIHJl -bmV3ZWQuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6 -cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 -ZT0iSXNzdWVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVuZXdfMSIgLz4N -CiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9IlNlY3VyaXR5VG9rZW5SZXF1ZXN0VHlwZSIgdHlwZT0idG5zOlNlY3VyaXR5VG9rZW5S -ZXF1ZXN0VHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2hhbm5lbFNlY3VyaXR5 -VG9rZW4iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhl -IHRva2VuIHRoYXQgaWRlbnRpZmllcyBhIHNldCBvZiBrZXlzIGZvciBhbiBhY3RpdmUgc2VjdXJl -IGNoYW5uZWwuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDaGFubmVsSWQiIHR5cGU9Inhz -OnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJU -b2tlbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iQ3JlYXRlZEF0IiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZExpZmV0aW1lIiB0eXBlPSJ4czp1 -bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNoYW5uZWxTZWN1cml0eVRva2VuIiB0 -eXBlPSJ0bnM6Q2hhbm5lbFNlY3VyaXR5VG9rZW4iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h -bWU9Ik9wZW5TZWN1cmVDaGFubmVsUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg -ICA8eHM6ZG9jdW1lbnRhdGlvbj5DcmVhdGVzIGEgc2VjdXJlIGNoYW5uZWwgd2l0aCBhIHNlcnZl +PSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAg +IDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhD +b250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBbm9ueW1v +dXNJZGVudGl0eVRva2VuIiB0eXBlPSJ0bnM6QW5vbnltb3VzSWRlbnRpdHlUb2tlbiIgLz4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVXNlck5hbWVJZGVudGl0eVRva2VuIj4NCiAgICA8eHM6 +YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgdG9rZW4gcmVwcmVzZW50aW5n +IGEgdXNlciBpZGVudGlmaWVkIGJ5IGEgdXNlciBuYW1lIGFuZCBwYXNzd29yZC48L3hzOmRvY3Vt +ZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBt +aXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6VXNlcklkZW50aXR5 +VG9rZW4iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iVXNlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQYXNzd29yZCIgdHlwZT0ieHM6YmFz +ZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4 +czplbGVtZW50IG5hbWU9IkVuY3J5cHRpb25BbGdvcml0aG0iIHR5cGU9InhzOnN0cmluZyIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAg +ICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVzZXJOYW1lSWRlbnRpdHlUb2tlbiIgdHlw +ZT0idG5zOlVzZXJOYW1lSWRlbnRpdHlUb2tlbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iWDUwOUlkZW50aXR5VG9rZW4iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRv +Y3VtZW50YXRpb24+QSB0b2tlbiByZXByZXNlbnRpbmcgYSB1c2VyIGlkZW50aWZpZWQgYnkgYW4g +WDUwOSBjZXJ0aWZpY2F0ZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9u +Pg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVu +c2lvbiBiYXNlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+ +DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2VydGlmaWNhdGVEYXRhIiB0eXBlPSJ4czpi +YXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwv +eHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250 +ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJYNTA5SWRlbnRp +dHlUb2tlbiIgdHlwZT0idG5zOlg1MDlJZGVudGl0eVRva2VuIiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJJc3N1ZWRJZGVudGl0eVRva2VuIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg +ICAgIDx4czpkb2N1bWVudGF0aW9uPkEgdG9rZW4gcmVwcmVzZW50aW5nIGEgdXNlciBpZGVudGlm +aWVkIGJ5IGEgV1MtU2VjdXJpdHkgWE1MIHRva2VuLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8 +L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQog +ICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpVc2VySWRlbnRpdHlUb2tlbiI+DQogICAgICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUb2tlbkRhdGEiIHR5 +cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmNyeXB0aW9uQWxnb3JpdGhtIiB0eXBlPSJ4czpz +dHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2Vx +dWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJJc3N1ZWRJZGVudGl0eVRv +a2VuIiB0eXBlPSJ0bnM6SXNzdWVkSWRlbnRpdHlUb2tlbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iQWN0aXZhdGVTZXNzaW9uUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQog +ICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BY3RpdmF0ZXMgYSBzZXNzaW9uIHdpdGggdGhlIHNlcnZl ci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1 ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpS ZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iQ2xpZW50UHJvdG9jb2xWZXJzaW9uIiB0eXBlPSJ4czp1bnNpZ25lZElu -dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdFR5cGUi -IHR5cGU9InRuczpTZWN1cml0eVRva2VuUmVxdWVzdFR5cGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5TW9kZSIgdHlwZT0idG5zOk1lc3NhZ2VTZWN1 -cml0eU1vZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVu -dE5vbmNlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWRMaWZldGltZSIgdHlwZT0i -eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJPcGVuU2VjdXJlQ2hhbm5lbFJl -cXVlc3QiIHR5cGU9InRuczpPcGVuU2VjdXJlQ2hhbm5lbFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNv -bXBsZXhUeXBlIG5hbWU9Ik9wZW5TZWN1cmVDaGFubmVsUmVzcG9uc2UiPg0KICAgIDx4czphbm5v -dGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q3JlYXRlcyBhIHNlY3VyZSBjaGFubmVs -IHdpdGggYSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4N -CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRl -ciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyUHJvdG9jb2xWZXJzaW9uIiB0eXBl -PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iU2VjdXJpdHlUb2tlbiIgdHlwZT0idG5zOkNoYW5uZWxTZWN1cml0eVRva2VuIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVy -Tm9uY2UiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJPcGVuU2VjdXJlQ2hhbm5lbFJlc3BvbnNlIiB0eXBlPSJ0bnM6T3BlblNlY3Vy -ZUNoYW5uZWxSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2xvc2VTZWN1 -cmVDaGFubmVsUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l -bnRhdGlvbj5DbG9zZXMgYSBzZWN1cmUgY2hhbm5lbC48L3hzOmRvY3VtZW50YXRpb24+DQogICAg -PC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNsb3NlU2VjdXJlQ2hhbm5lbFJlcXVlc3QiIHR5cGU9 -InRuczpDbG9zZVNlY3VyZUNoYW5uZWxSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJDbG9zZVNlY3VyZUNoYW5uZWxSZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRpb24+DQog -ICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5DbG9zZXMgYSBzZWN1cmUgY2hhbm5lbC48L3hzOmRvY3Vt -ZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFk -ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xvc2VTZWN1cmVDaGFu -bmVsUmVzcG9uc2UiIHR5cGU9InRuczpDbG9zZVNlY3VyZUNoYW5uZWxSZXNwb25zZSIgLz4NCg0K -ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSI+DQogICAg -PHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHNvZnR3YXJlIGNlcnRp -ZmljYXRlIHdpdGggYSBkaWdpdGFsIHNpZ25hdHVyZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAg -PC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IkNlcnRpZmljYXRlRGF0YSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2lnbmF0dXJlIiB0 -eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iU2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgdHlwZT0idG5zOlNpZ25lZFNvZnR3YXJlQ2Vy -dGlmaWNhdGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlNpZ25lZFNvZnR3 -YXJlQ2VydGlmaWNhdGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiIHR5cGU9InRuczpTaWduZWRTb2Z0d2FyZUNl -cnRpZmljYXRlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJMaXN0T2ZTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiB0eXBlPSJ0bnM6 -TGlzdE9mU2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxl -bWVudD4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uQXV0aGVudGljYXRpb25Ub2tlbiIg -dHlwZT0idWE6Tm9kZUlkIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTaWduYXR1cmVE -YXRhIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgZGln -aXRhbCBzaWduYXR1cmUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4N -CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBbGdvcml0aG0iIHR5 -cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlNpZ25hdHVyZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNpZ25hdHVyZURhdGEiIHR5cGU9InRuczpT -aWduYXR1cmVEYXRhIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDcmVhdGVTZXNzaW9u -UmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5D -cmVhdGVzIGEgbmV3IHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4N -CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRE -ZXNjcmlwdGlvbiIgdHlwZT0idG5zOkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJVcmki -IHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50VXJsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9u -TmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50Tm9uY2UiIHR5cGU9InhzOmJhc2U2NEJpbmFy -eSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IkNsaWVudENlcnRpZmljYXRlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWRT -ZXNzaW9uVGltZW91dCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJNYXhSZXNwb25zZU1lc3NhZ2VTaXplIiB0eXBlPSJ4czp1bnNpZ25l -ZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZVNlc3Npb25SZXF1ZXN0IiB0eXBlPSJ0 -bnM6Q3JlYXRlU2Vzc2lvblJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNy -ZWF0ZVNlc3Npb25SZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9j -dW1lbnRhdGlvbj5DcmVhdGVzIGEgbmV3IHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwveHM6ZG9j -dW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhl -YWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlNlc3Npb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXV0aGVudGljYXRpb25Ub2tlbiIg -dHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFNlc3Npb25UaW1lb3V0IiB0eXBlPSJ4czpkb3VibGUi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlck5vbmNlIiB0 -eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJDZXJ0aWZpY2F0ZSIgdHlwZT0ieHM6YmFzZTY0 -QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iU2VydmVyRW5kcG9pbnRzIiB0eXBlPSJ0bnM6TGlzdE9mRW5kcG9pbnREZXNjcmlw -dGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlNlcnZlclNvZnR3YXJlQ2VydGlmaWNhdGVzIiB0eXBlPSJ0bnM6TGlzdE9mU2lnbmVk -U29mdHdhcmVDZXJ0aWZpY2F0ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlclNpZ25hdHVyZSIgdHlwZT0idG5zOlNpZ25hdHVy -ZURhdGEiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJNYXhSZXF1ZXN0TWVzc2FnZVNpemUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iQ3JlYXRlU2Vzc2lvblJlc3BvbnNlIiB0eXBlPSJ0bnM6Q3JlYXRl -U2Vzc2lvblJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJVc2VySWRlbnRp -dHlUb2tlbiI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5B -IGJhc2UgdHlwZSBmb3IgYSB1c2VyIGlkZW50aXR5IHRva2VuLjwveHM6ZG9jdW1lbnRhdGlvbj4N -CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iUG9saWN5SWQiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJVc2VySWRlbnRpdHlUb2tlbiIgdHlwZT0idG5zOlVzZXJJZGVudGl0 -eVRva2VuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBbm9ueW1vdXNJZGVudGl0eVRv -a2VuIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgdG9r -ZW4gcmVwcmVzZW50aW5nIGFuIGFub255bW91cyB1c2VyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAg -ICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+ -DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpVc2VySWRlbnRpdHlUb2tlbiI+DQogICAg -ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0 -ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9IkFub255bW91c0lkZW50aXR5VG9rZW4iIHR5cGU9InRuczpBbm9u -eW1vdXNJZGVudGl0eVRva2VuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJVc2VyTmFt -ZUlkZW50aXR5VG9rZW4iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50 -YXRpb24+QSB0b2tlbiByZXByZXNlbnRpbmcgYSB1c2VyIGlkZW50aWZpZWQgYnkgYSB1c2VyIG5h -bWUgYW5kIHBhc3N3b3JkLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+ -DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5z -aW9uIGJhc2U9InRuczpVc2VySWRlbnRpdHlUb2tlbiI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h -bWU9IlBhc3N3b3JkIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5jcnlwdGlvbkFsZ29y -aXRobSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpj -b21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -VXNlck5hbWVJZGVudGl0eVRva2VuIiB0eXBlPSJ0bnM6VXNlck5hbWVJZGVudGl0eVRva2VuIiAv -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJYNTA5SWRlbnRpdHlUb2tlbiI+DQogICAgPHhz -OmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHRva2VuIHJlcHJlc2VudGlu -ZyBhIHVzZXIgaWRlbnRpZmllZCBieSBhbiBYNTA5IGNlcnRpZmljYXRlLjwveHM6ZG9jdW1lbnRh -dGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVk -PSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpVc2VySWRlbnRpdHlUb2tl -biI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJD -ZXJ0aWZpY2F0ZURhdGEiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5z -aW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9Ilg1MDlJZGVudGl0eVRva2VuIiB0eXBlPSJ0bnM6WDUwOUlkZW50aXR5 -VG9rZW4iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Iklzc3VlZElkZW50aXR5VG9rZW4i -Pg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSB0b2tlbiBy -ZXByZXNlbnRpbmcgYSB1c2VyIGlkZW50aWZpZWQgYnkgYSBXUy1TZWN1cml0eSBYTUwgdG9rZW4u -PC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxl -eENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOlVz -ZXJJZGVudGl0eVRva2VuIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlRva2VuRGF0YSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuY3J5 -cHRpb25BbGdvcml0aG0iIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0K -ICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9Iklzc3VlZElkZW50aXR5VG9rZW4iIHR5cGU9InRuczpJc3N1ZWRJZGVudGl0eVRv -a2VuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBY3RpdmF0ZVNlc3Npb25SZXF1ZXN0 -Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkFjdGl2YXRl -cyBhIHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hz -OmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -UmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRTaWduYXR1cmUi -IHR5cGU9InRuczpTaWduYXR1cmVEYXRhIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50U29mdHdhcmVDZXJ0aWZpY2F0ZXMiIHR5 -cGU9InRuczpMaXN0T2ZTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBl -PSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VySWRlbnRpdHlUb2tlbiIgdHlwZT0idWE6RXh0ZW5zaW9u -T2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iVXNlclRva2VuU2lnbmF0dXJlIiB0eXBlPSJ0bnM6U2lnbmF0dXJlRGF0YSIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBY3RpdmF0ZVNlc3Npb25SZXF1ZXN0 -IiB0eXBlPSJ0bnM6QWN0aXZhdGVTZXNzaW9uUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iQWN0aXZhdGVTZXNzaW9uUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0K -ICAgICAgPHhzOmRvY3VtZW50YXRpb24+QWN0aXZhdGVzIGEgc2Vzc2lvbiB3aXRoIHRoZSBzZXJ2 -ZXIuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5z -OlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyTm9uY2UiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJl -c3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9 -InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9IkFjdGl2YXRlU2Vzc2lvblJlc3BvbnNlIiB0eXBlPSJ0bnM6QWN0aXZhdGVTZXNzaW9u -UmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNsb3NlU2Vzc2lvblJlcXVl -c3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q2xvc2Vz -IGEgc2Vzc2lvbiB3aXRoIHRoZSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6 -YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS -ZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZVN1YnNjcmlwdGlv -bnMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNl -Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDbG9zZVNlc3Npb25S -ZXF1ZXN0IiB0eXBlPSJ0bnM6Q2xvc2VTZXNzaW9uUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iQ2xvc2VTZXNzaW9uUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0K -ICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q2xvc2VzIGEgc2Vzc2lvbiB3aXRoIHRoZSBzZXJ2ZXIu -PC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJl -c3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 -c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNsb3Nl -U2Vzc2lvblJlc3BvbnNlIiB0eXBlPSJ0bnM6Q2xvc2VTZXNzaW9uUmVzcG9uc2UiIC8+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNhbmNlbFJlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9u -Pg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q2FuY2VscyBhbiBvdXRzdGFuZGluZyByZXF1ZXN0 +OmVsZW1lbnQgbmFtZT0iQ2xpZW50U2lnbmF0dXJlIiB0eXBlPSJ0bnM6U2lnbmF0dXJlRGF0YSIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkNsaWVudFNvZnR3YXJlQ2VydGlmaWNhdGVzIiB0eXBlPSJ0bnM6TGlzdE9mU2lnbmVkU29mdHdh +cmVDZXJ0aWZpY2F0ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IkxvY2FsZUlkcyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlcklk +ZW50aXR5VG9rZW4iIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJUb2tlblNpZ25hdHVy +ZSIgdHlwZT0idG5zOlNpZ25hdHVyZURhdGEiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iQWN0aXZhdGVTZXNzaW9uUmVxdWVzdCIgdHlwZT0idG5zOkFjdGl2YXRlU2Vzc2lv +blJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFjdGl2YXRlU2Vzc2lvblJl +c3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkFj +dGl2YXRlcyBhIHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAg +ICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlck5v +bmNlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0 +dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBY3RpdmF0ZVNlc3Npb25SZXNw +b25zZSIgdHlwZT0idG5zOkFjdGl2YXRlU2Vzc2lvblJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJDbG9zZVNlc3Npb25SZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4N +CiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNsb3NlcyBhIHNlc3Npb24gd2l0aCB0aGUgc2VydmVy LjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVl bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJl cXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGFuZGxlIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9IkNhbmNlbFJlcXVlc3QiIHR5cGU9InRuczpDYW5jZWxSZXF1ZXN0IiAv -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDYW5jZWxSZXNwb25zZSI+DQogICAgPHhzOmFu -bm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5DYW5jZWxzIGFuIG91dHN0YW5kaW5n -IHJlcXVlc3QuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlw -ZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2FuY2VsQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50 -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ2FuY2VsUmVzcG9uc2UiIHR5cGU9InRuczpDYW5jZWxS -ZXNwb25zZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iTm9kZUF0dHJpYnV0ZXNNYXNr -Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBiaXRz -IHVzZWQgdG8gc3BlY2lmeSBkZWZhdWx0IGF0dHJpYnV0ZXMgZm9yIGEgbmV3IG5vZGUuPC94czpk -b2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6cmVzdHJpY3Rpb24g -YmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9uZV8wIiAv -Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBY2Nlc3NMZXZlbF8xIiAvPg0KICAgICAg -PHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBcnJheURpbWVuc2lvbnNfMiIgLz4NCiAgICAgIDx4czpl -bnVtZXJhdGlvbiB2YWx1ZT0iQnJvd3NlTmFtZV80IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u -IHZhbHVlPSJDb250YWluc05vTG9vcHNfOCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 -ZT0iRGF0YVR5cGVfMTYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRlc2NyaXB0 -aW9uXzMyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEaXNwbGF5TmFtZV82NCIg -Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRXZlbnROb3RpZmllcl8xMjgiIC8+DQog -ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkV4ZWN1dGFibGVfMjU2IiAvPg0KICAgICAgPHhz -OmVudW1lcmF0aW9uIHZhbHVlPSJIaXN0b3JpemluZ181MTIiIC8+DQogICAgICA8eHM6ZW51bWVy -YXRpb24gdmFsdWU9IkludmVyc2VOYW1lXzEwMjQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g -dmFsdWU9IklzQWJzdHJhY3RfMjA0OCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i -TWluaW11bVNhbXBsaW5nSW50ZXJ2YWxfNDA5NiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 -YWx1ZT0iTm9kZUNsYXNzXzgxOTIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5v -ZGVJZF8xNjM4NCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU3ltbWV0cmljXzMy -NzY4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVc2VyQWNjZXNzTGV2ZWxfNjU1 -MzYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVzZXJFeGVjdXRhYmxlXzEzMTA3 -MiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVXNlcldyaXRlTWFza18yNjIxNDQi -IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZhbHVlUmFua181MjQyODgiIC8+DQog -ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IldyaXRlTWFza18xMDQ4NTc2IiAvPg0KICAgICAg -PHhzOmVudW1lcmF0aW9uIHZhbHVlPSJWYWx1ZV8yMDk3MTUyIiAvPg0KICAgICAgPHhzOmVudW1l -cmF0aW9uIHZhbHVlPSJEYXRhVHlwZURlZmluaXRpb25fNDE5NDMwNCIgLz4NCiAgICAgIDx4czpl -bnVtZXJhdGlvbiB2YWx1ZT0iUm9sZVBlcm1pc3Npb25zXzgzODg2MDgiIC8+DQogICAgICA8eHM6 -ZW51bWVyYXRpb24gdmFsdWU9IkFjY2Vzc1Jlc3RyaWN0aW9uc18xNjc3NzIxNiIgLz4NCiAgICAg -IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQWxsXzMzNTU0NDMxIiAvPg0KICAgICAgPHhzOmVudW1l -cmF0aW9uIHZhbHVlPSJCYXNlTm9kZV8yNjUwMTIyMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv -biB2YWx1ZT0iT2JqZWN0XzI2NTAxMzQ4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl -PSJPYmplY3RUeXBlXzI2NTAzMjY4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJW -YXJpYWJsZV8yNjU3MTM4MyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVmFyaWFi -bGVUeXBlXzI4NjAwNDM4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJNZXRob2Rf -MjY2MzI1NDgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlZmVyZW5jZVR5cGVf -MjY1MzcwNjAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZpZXdfMjY1MDEzNTYi -IC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJOb2RlQXR0cmlidXRlc01hc2siIHR5cGU9InRuczpOb2RlQXR0cmlidXRlc01h -c2siIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik5vZGVBdHRyaWJ1dGVzIj4NCiAgICA8 -eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBiYXNlIGF0dHJpYnV0 -ZXMgZm9yIGFsbCBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9u -Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNwZWNpZmllZEF0 -dHJpYnV0ZXMiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJEaXNwbGF5TmFtZSIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRl -c2NyaXB0aW9uIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVNYXNrIiB0eXBlPSJ4czp1 -bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNl -cldyaXRlTWFzayIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJO -b2RlQXR0cmlidXRlcyIgdHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJPYmplY3RBdHRyaWJ1dGVzIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg -ICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVzIGZvciBhbiBvYmplY3Qgbm9kZS48 -L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4 -Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9k -ZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iRXZlbnROb3RpZmllciIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAg -ICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJPYmplY3RBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6T2JqZWN0QXR0cmlidXRlcyIgLz4N -Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVmFyaWFibGVBdHRyaWJ1dGVzIj4NCiAgICA8eHM6 -YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVzIGZvciBh -IHZhcmlhYmxlIG5vZGUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4N -CiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNp -b24gYmFzZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlIiB0eXBlPSJ1YTpWYXJpYW50IiBtaW5PY2N1 -cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVR5cGUiIHR5cGU9InVh -Ok5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJWYWx1ZVJhbmsiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFycmF5RGltZW5zaW9ucyIgdHlwZT0idWE6TGlz -dE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4 -czplbGVtZW50IG5hbWU9IkFjY2Vzc0xldmVsIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyQWNjZXNzTGV2ZWwi -IHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czpl -bGVtZW50IG5hbWU9Ik1pbmltdW1TYW1wbGluZ0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1p -bk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3JpemluZyIg -dHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNl -Pg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVmFyaWFibGVBdHRyaWJ1dGVzIiB0 -eXBlPSJ0bnM6VmFyaWFibGVBdHRyaWJ1dGVzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJNZXRob2RBdHRyaWJ1dGVzIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1 -bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVzIGZvciBhIG1ldGhvZCBub2RlLjwveHM6ZG9jdW1lbnRh -dGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVk -PSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0cmlidXRlcyI+ -DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFeGVj -dXRhYmxlIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iVXNlckV4ZWN1dGFibGUiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vy +ZWxlbWVudCBuYW1lPSJEZWxldGVTdWJzY3JpcHRpb25zIiB0eXBlPSJ4czpib29sZWFuIiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iQ2xvc2VTZXNzaW9uUmVxdWVzdCIgdHlwZT0idG5zOkNsb3NlU2Vz +c2lvblJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNsb3NlU2Vzc2lvblJl +c3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNs +b3NlcyBhIHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8 +L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDbG9zZVNlc3Npb25SZXNwb25zZSIgdHlwZT0idG5z +OkNsb3NlU2Vzc2lvblJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDYW5j +ZWxSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9u +PkNhbmNlbHMgYW4gb3V0c3RhbmRpbmcgcmVxdWVzdC48L3hzOmRvY3VtZW50YXRpb24+DQogICAg +PC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhhbmRs +ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVl +bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDYW5jZWxSZXF1 +ZXN0IiB0eXBlPSJ0bnM6Q2FuY2VsUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iQ2FuY2VsUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3Vt +ZW50YXRpb24+Q2FuY2VscyBhbiBvdXRzdGFuZGluZyByZXF1ZXN0LjwveHM6ZG9jdW1lbnRhdGlv +bj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNh +bmNlbENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNh +bmNlbFJlc3BvbnNlIiB0eXBlPSJ0bnM6Q2FuY2VsUmVzcG9uc2UiIC8+DQoNCiAgPHhzOnNpbXBs +ZVR5cGUgIG5hbWU9Ik5vZGVBdHRyaWJ1dGVzTWFzayI+DQogICAgPHhzOmFubm90YXRpb24+DQog +ICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYml0cyB1c2VkIHRvIHNwZWNpZnkgZGVmYXVsdCBh +dHRyaWJ1dGVzIGZvciBhIG5ldyBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu +bm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8 +eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 +YWx1ZT0iQWNjZXNzTGV2ZWxfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQXJy +YXlEaW1lbnNpb25zXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJyb3dzZU5h +bWVfNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ29udGFpbnNOb0xvb3BzXzgi +IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRhdGFUeXBlXzE2IiAvPg0KICAgICAg +PHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEZXNjcmlwdGlvbl8zMiIgLz4NCiAgICAgIDx4czplbnVt +ZXJhdGlvbiB2YWx1ZT0iRGlzcGxheU5hbWVfNjQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g +dmFsdWU9IkV2ZW50Tm90aWZpZXJfMTI4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl +PSJFeGVjdXRhYmxlXzI1NiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSGlzdG9y +aXppbmdfNTEyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJbnZlcnNlTmFtZV8x +MDI0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJc0Fic3RyYWN0XzIwNDgiIC8+ +DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik1pbmltdW1TYW1wbGluZ0ludGVydmFsXzQw +OTYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vZGVDbGFzc184MTkyIiAvPg0K +ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb2RlSWRfMTYzODQiIC8+DQogICAgICA8eHM6 +ZW51bWVyYXRpb24gdmFsdWU9IlN5bW1ldHJpY18zMjc2OCIgLz4NCiAgICAgIDx4czplbnVtZXJh +dGlvbiB2YWx1ZT0iVXNlckFjY2Vzc0xldmVsXzY1NTM2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0 +aW9uIHZhbHVlPSJVc2VyRXhlY3V0YWJsZV8xMzEwNzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp +b24gdmFsdWU9IlVzZXJXcml0ZU1hc2tfMjYyMTQ0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u +IHZhbHVlPSJWYWx1ZVJhbmtfNTI0Mjg4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl +PSJXcml0ZU1hc2tfMTA0ODU3NiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVmFs +dWVfMjA5NzE1MiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGF0YVR5cGVEZWZp +bml0aW9uXzQxOTQzMDQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJvbGVQZXJt +aXNzaW9uc184Mzg4NjA4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBY2Nlc3NS +ZXN0cmljdGlvbnNfMTY3NzcyMTYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFs +bF8zMzU1NDQzMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQmFzZU5vZGVfMjY1 +MDEyMjAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik9iamVjdF8yNjUwMTM0OCIg +Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iT2JqZWN0VHlwZV8yNjUwMzI2OCIgLz4N +CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVmFyaWFibGVfMjY1NzEzODMiIC8+DQogICAg +ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZhcmlhYmxlVHlwZV8yODYwMDQzOCIgLz4NCiAgICAg +IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTWV0aG9kXzI2NjMyNTQ4IiAvPg0KICAgICAgPHhzOmVu +dW1lcmF0aW9uIHZhbHVlPSJSZWZlcmVuY2VUeXBlXzI2NTM3MDYwIiAvPg0KICAgICAgPHhzOmVu +dW1lcmF0aW9uIHZhbHVlPSJWaWV3XzI2NTAxMzU2IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+ +DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUF0dHJpYnV0ZXNN +YXNrIiB0eXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXNNYXNrIiAvPg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJOb2RlQXR0cmlidXRlcyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6 +ZG9jdW1lbnRhdGlvbj5UaGUgYmFzZSBhdHRyaWJ1dGVzIGZvciBhbGwgbm9kZXMuPC94czpkb2N1 +bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiB0eXBlPSJ4czp1bnNpZ25l +ZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzcGxheU5h +bWUiIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxp +emVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IldyaXRlTWFzayIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJXcml0ZU1hc2siIHR5cGU9InhzOnVuc2ln +bmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w +bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUF0dHJpYnV0ZXMiIHR5cGU9InRuczpO +b2RlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iT2JqZWN0QXR0cmli +dXRlcyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUg +YXR0cmlidXRlcyBmb3IgYW4gb2JqZWN0IG5vZGUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwv +eHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAg +ICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICAgICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50Tm90aWZpZXIiIHR5 +cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVl +bmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT2JqZWN0QXR0cmlidXRlcyIg +dHlwZT0idG5zOk9iamVjdEF0dHJpYnV0ZXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +IlZhcmlhYmxlQXR0cmlidXRlcyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9j +dW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSB2YXJpYWJsZSBub2RlLjwveHM6ZG9jdW1l +bnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1p +eGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0cmlidXRl +cyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJW +YWx1ZSIgdHlwZT0idWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkRhdGFUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVSYW5rIiB0 +eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJBcnJheURpbWVuc2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBY2Nlc3NMZXZl +bCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iVXNlckFjY2Vzc0xldmVsIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1p +bk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNaW5pbXVtU2FtcGxp +bmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yaXppbmciIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vy cz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0K ICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9Ik1ldGhvZEF0dHJpYnV0ZXMiIHR5cGU9InRuczpNZXRob2RBdHRyaWJ1dGVzIiAv -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJPYmplY3RUeXBlQXR0cmlidXRlcyI+DQogICAg +ZW50IG5hbWU9IlZhcmlhYmxlQXR0cmlidXRlcyIgdHlwZT0idG5zOlZhcmlhYmxlQXR0cmlidXRl +cyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTWV0aG9kQXR0cmlidXRlcyI+DQogICAg PHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBm -b3IgYW4gb2JqZWN0IHR5cGUgbm9kZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v -dGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhz -OmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNBYnN0cmFjdCIgdHlwZT0ieHM6Ym9v -bGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94 -czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT2JqZWN0VHlwZUF0dHJpYnV0ZXMiIHR5cGU9InRuczpP -YmplY3RUeXBlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVmFyaWFi -bGVUeXBlQXR0cmlidXRlcyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l -bnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSB2YXJpYWJsZSB0eXBlIG5vZGUuPC94czpkb2N1 -bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQg -bWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk5vZGVBdHRyaWJ1 -dGVzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlZhbHVlIiB0eXBlPSJ1YTpWYXJpYW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iRGF0YVR5cGUiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZVJhbmsi -IHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h -bWU9IkFycmF5RGltZW5zaW9ucyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IklzQWJzdHJh -Y3QiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1 -ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQog -IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlZhcmlhYmxlVHlwZUF0dHJp -YnV0ZXMiIHR5cGU9InRuczpWYXJpYWJsZVR5cGVBdHRyaWJ1dGVzIiAvPg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJSZWZlcmVuY2VUeXBlQXR0cmlidXRlcyI+DQogICAgPHhzOmFubm90YXRp -b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSByZWZlcmVu -Y2UgdHlwZSBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQog +b3IgYSBtZXRob2Qgbm9kZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9u +Pg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVu +c2lvbiBiYXNlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQog +ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXhlY3V0YWJsZSIgdHlwZT0ieHM6Ym9vbGVhbiIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJFeGVjdXRh +YmxlIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2Vx +dWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNZXRob2RBdHRyaWJ1dGVz +IiB0eXBlPSJ0bnM6TWV0aG9kQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iT2JqZWN0VHlwZUF0dHJpYnV0ZXMiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhz +OmRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGFuIG9iamVjdCB0eXBlIG5vZGUuPC94 +czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENv +bnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk5vZGVB +dHRyaWJ1dGVzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50 +IG5hbWU9IklzQWJzdHJhY3QiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAg +ICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29t +cGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9i +amVjdFR5cGVBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6T2JqZWN0VHlwZUF0dHJpYnV0ZXMiIC8+DQoN +CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhYmxlVHlwZUF0dHJpYnV0ZXMiPg0KICAgIDx4 +czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9y +IGEgdmFyaWFibGUgdHlwZSBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90 +YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6 +ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0idWE6VmFyaWFudCIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlIiB0 +eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0i +MCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcnJheURpbWVuc2lvbnMiIHR5cGU9 +InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpib29sZWFuIiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lv +bj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJWYXJpYWJsZVR5cGVBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6VmFyaWFibGVU +eXBlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVmZXJlbmNlVHlw +ZUF0dHJpYnV0ZXMiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRp +b24+VGhlIGF0dHJpYnV0ZXMgZm9yIGEgcmVmZXJlbmNlIHR5cGUgbm9kZS48L3hzOmRvY3VtZW50 +YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhl +ZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMi +Pg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNB +YnN0cmFjdCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlN5bW1ldHJpYyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkludmVyc2VOYW1lIiB0eXBlPSJ1YTpM +b2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8 +L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29u +dGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNl +VHlwZUF0dHJpYnV0ZXMiIHR5cGU9InRuczpSZWZlcmVuY2VUeXBlQXR0cmlidXRlcyIgLz4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGF0YVR5cGVBdHRyaWJ1dGVzIj4NCiAgICA8eHM6YW5u +b3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVzIGZvciBhIGRh +dGEgdHlwZSBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQog ICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9u IGJhc2U9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpib29sZWFuIiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3ltbWV0cmljIiB0eXBl -PSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iSW52ZXJzZU5hbWUiIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVu -c2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VUeXBlQXR0cmlidXRlcyIgdHlwZT0idG5zOlJlZmVy -ZW5jZVR5cGVBdHRyaWJ1dGVzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEYXRhVHlw -ZUF0dHJpYnV0ZXMiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRp -b24+VGhlIGF0dHJpYnV0ZXMgZm9yIGEgZGF0YSB0eXBlIG5vZGUuPC94czpkb2N1bWVudGF0aW9u -Pg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZh -bHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAg -ICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IklzQWJzdHJh -Y3QiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1 -ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQog -IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlQXR0cmlidXRl -cyIgdHlwZT0idG5zOkRhdGFUeXBlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iVmlld0F0dHJpYnV0ZXMiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRv -Y3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGEgdmlldyBub2RlLjwveHM6ZG9jdW1lbnRh -dGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVk -PSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0cmlidXRlcyI+ -DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250 -YWluc05vTG9vcHMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudE5vdGlmaWVyIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0 -ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9IlZpZXdBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6Vmlld0F0dHJpYnV0 -ZXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkdlbmVyaWNBdHRyaWJ1dGVWYWx1ZSI+ -DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXR0cmlidXRlSWQi -IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJWYWx1ZSIgdHlwZT0idWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwv -eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikdl -bmVyaWNBdHRyaWJ1dGVWYWx1ZSIgdHlwZT0idG5zOkdlbmVyaWNBdHRyaWJ1dGVWYWx1ZSIgLz4N -Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mR2VuZXJpY0F0dHJpYnV0ZVZhbHVlIj4N -CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJHZW5lcmljQXR0cmli -dXRlVmFsdWUiIHR5cGU9InRuczpHZW5lcmljQXR0cmlidXRlVmFsdWUiIG1pbk9jY3Vycz0iMCIg -bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu -Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkdlbmVy -aWNBdHRyaWJ1dGVWYWx1ZSIgdHlwZT0idG5zOkxpc3RPZkdlbmVyaWNBdHRyaWJ1dGVWYWx1ZSIg -bmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -R2VuZXJpY0F0dHJpYnV0ZXMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2Ui -Pg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgICAg -ICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXR0cmlidXRlVmFs -dWVzIiB0eXBlPSJ0bnM6TGlzdE9mR2VuZXJpY0F0dHJpYnV0ZVZhbHVlIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpl -eHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iR2VuZXJpY0F0dHJpYnV0ZXMiIHR5cGU9InRuczpHZW5lcmlj -QXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWRkTm9kZXNJdGVtIj4N -CiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgcmVxdWVzdCB0 -byBhZGQgYSBub2RlIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRp -b24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlBhcmVudE5vZGVJZCIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZl -cmVuY2VUeXBlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZE5ld05vZGVJZCIgdHlwZT0i -dWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VOYW1lIiB0eXBlPSJ1YTpRdWFsaWZpZWROYW1lIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -Tm9kZUNsYXNzIiB0eXBlPSJ0bnM6Tm9kZUNsYXNzIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJOb2RlQXR0cmlidXRlcyIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iVHlwZURlZmluaXRpb24iIHR5cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFkZE5vZGVzSXRlbSIgdHlwZT0idG5zOkFkZE5vZGVz -SXRlbSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQWRkTm9kZXNJdGVtIj4N -CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGROb2Rlc0l0ZW0i -IHR5cGU9InRuczpBZGROb2Rlc0l0ZW0iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5k -ZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkFkZE5vZGVzSXRlbSIgdHlwZT0idG5z -Okxpc3RPZkFkZE5vZGVzSXRlbSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iQWRkTm9kZXNSZXN1bHQiPg0KICAgIDx4czphbm5vdGF0aW9u -Pg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSByZXN1bHQgb2YgYW4gYWRkIG5vZGUgb3BlcmF0 -aW9uLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3Rh -dHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkZWRO -b2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJBZGROb2Rlc1Jlc3VsdCIgdHlwZT0idG5zOkFkZE5vZGVzUmVzdWx0IiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZBZGROb2Rlc1Jlc3VsdCI+DQogICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkTm9kZXNSZXN1bHQiIHR5cGU9InRuczpB -ZGROb2Rlc1Jlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQWRkTm9kZXNSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZB -ZGROb2Rlc1Jlc3VsdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iQWRkTm9kZXNSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg -ICAgIDx4czpkb2N1bWVudGF0aW9uPkFkZHMgb25lIG9yIG1vcmUgbm9kZXMgdG8gdGhlIHNlcnZl -ciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+ -DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRl -ciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2Rlc1RvQWRkIiB0eXBlPSJ0bnM6TGlzdE9m -QWRkTm9kZXNJdGVtIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 -c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFkZE5v -ZGVzUmVxdWVzdCIgdHlwZT0idG5zOkFkZE5vZGVzUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iQWRkTm9kZXNSZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg -ICA8eHM6ZG9jdW1lbnRhdGlvbj5BZGRzIG9uZSBvciBtb3JlIG5vZGVzIHRvIHRoZSBzZXJ2ZXIg -YWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0K -ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVy -IiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ0bnM6TGlzdE9mQWRk -Tm9kZXNSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJ -bmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFkZE5vZGVzUmVzcG9u -c2UiIHR5cGU9InRuczpBZGROb2Rlc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJBZGRSZWZlcmVuY2VzSXRlbSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6 -ZG9jdW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8gYWRkIGEgcmVmZXJlbmNlIHRvIHRoZSBzZXJ2ZXIg -YWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0K -ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNvdXJjZU5vZGVJZCIg -dHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Zv -cndhcmQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlRhcmdldFNlcnZlclVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0Tm9kZUlk -IiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdldE5vZGVDbGFzcyIgdHlwZT0idG5zOk5v -ZGVDbGFzcyIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFkZFJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0 -bnM6QWRkUmVmZXJlbmNlc0l0ZW0iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RP -ZkFkZFJlZmVyZW5jZXNJdGVtIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJBZGRSZWZlcmVuY2VzSXRlbSIgdHlwZT0idG5zOkFkZFJlZmVyZW5jZXNJdGVtIiBt +Y2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lv +bj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJEYXRhVHlwZUF0dHJpYnV0ZXMiIHR5cGU9InRuczpEYXRhVHlwZUF0dHJp +YnV0ZXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZpZXdBdHRyaWJ1dGVzIj4NCiAg +ICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVz +IGZvciBhIHZpZXcgbm9kZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9u +Pg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVu +c2lvbiBiYXNlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQog +ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGFpbnNOb0xvb3BzIiB0eXBlPSJ4czpib29s +ZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnRO +b3RpZmllciIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAg +IDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhD +b250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWaWV3QXR0 +cmlidXRlcyIgdHlwZT0idG5zOlZpZXdBdHRyaWJ1dGVzIiAvPg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJHZW5lcmljQXR0cmlidXRlVmFsdWUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUiIHR5cGU9InVhOlZh +cmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJHZW5lcmljQXR0cmlidXRlVmFsdWUiIHR5cGU9 +InRuczpHZW5lcmljQXR0cmlidXRlVmFsdWUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +Ikxpc3RPZkdlbmVyaWNBdHRyaWJ1dGVWYWx1ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iR2VuZXJpY0F0dHJpYnV0ZVZhbHVlIiB0eXBlPSJ0bnM6R2VuZXJp +Y0F0dHJpYnV0ZVZhbHVlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZHZW5lcmljQXR0cmlidXRlVmFsdWUiIHR5cGU9InRu +czpMaXN0T2ZHZW5lcmljQXR0cmlidXRlVmFsdWUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1l +bnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkdlbmVyaWNBdHRyaWJ1dGVzIj4NCiAgICA8 +eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFz +ZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAg +IDx4czplbGVtZW50IG5hbWU9IkF0dHJpYnV0ZVZhbHVlcyIgdHlwZT0idG5zOkxpc3RPZkdlbmVy +aWNBdHRyaWJ1dGVWYWx1ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +ICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxl +eENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkdlbmVy +aWNBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6R2VuZXJpY0F0dHJpYnV0ZXMiIC8+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9IkFkZE5vZGVzSXRlbSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg +ICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8gYWRkIGEgbm9kZSB0byB0aGUgc2VydmVy +IGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQYXJlbnROb2RlSWQi +IHR5cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2Rl +SWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJSZXF1ZXN0ZWROZXdOb2RlSWQiIHR5cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3Nl +TmFtZSIgdHlwZT0idWE6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVDbGFzcyIgdHlwZT0idG5zOk5vZGVD +bGFzcyIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUF0dHJp +YnV0ZXMiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlR5cGVEZWZpbml0aW9uIiB0eXBlPSJ1 +YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJB +ZGROb2Rlc0l0ZW0iIHR5cGU9InRuczpBZGROb2Rlc0l0ZW0iIC8+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9Ikxpc3RPZkFkZE5vZGVzSXRlbSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iQWRkTm9kZXNJdGVtIiB0eXBlPSJ0bnM6QWRkTm9kZXNJdGVtIiBt aW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJMaXN0T2ZBZGRSZWZlcmVuY2VzSXRlbSIgdHlwZT0idG5zOkxpc3RPZkFkZFJlZmVyZW5jZXNJ -dGVtIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJBZGRSZWZlcmVuY2VzUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8 -eHM6ZG9jdW1lbnRhdGlvbj5BZGRzIG9uZSBvciBtb3JlIHJlZmVyZW5jZXMgdG8gdGhlIHNlcnZl -ciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+ -DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRl -ciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VzVG9BZGQiIHR5cGU9InRuczpM -aXN0T2ZBZGRSZWZlcmVuY2VzSXRlbSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJBZGRSZWZlcmVuY2VzUmVxdWVzdCIgdHlwZT0idG5zOkFkZFJlZmVyZW5jZXNSZXF1ZXN0 -IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZGRSZWZlcmVuY2VzUmVzcG9uc2UiPg0K -ICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QWRkcyBvbmUgb3Ig -bW9yZSByZWZlcmVuY2VzIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50 -YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIi -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0 -eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJBZGRSZWZlcmVuY2VzUmVzcG9uc2UiIHR5cGU9InRuczpBZGRSZWZlcmVuY2Vz -UmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZU5vZGVzSXRlbSI+ -DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHJlcXVlc3Qg -dG8gZGVsZXRlIGEgbm9kZSB0byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVu +PSJMaXN0T2ZBZGROb2Rlc0l0ZW0iIHR5cGU9InRuczpMaXN0T2ZBZGROb2Rlc0l0ZW0iIG5pbGxh +YmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFkZE5v +ZGVzUmVzdWx0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9u +PkEgcmVzdWx0IG9mIGFuIGFkZCBub2RlIG9wZXJhdGlvbi48L3hzOmRvY3VtZW50YXRpb24+DQog +ICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlN0YXR1c0NvZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZGVkTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkTm9kZXNSZXN1bHQiIHR5cGU9 +InRuczpBZGROb2Rlc1Jlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m +QWRkTm9kZXNSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IkFkZE5vZGVzUmVzdWx0IiB0eXBlPSJ0bnM6QWRkTm9kZXNSZXN1bHQiIG1pbk9jY3Vycz0i +MCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx +dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkFk +ZE5vZGVzUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mQWRkTm9kZXNSZXN1bHQiIG5pbGxhYmxlPSJ0 +cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFkZE5vZGVzUmVx +dWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BZGRz +IG9uZSBvciBtb3JlIG5vZGVzIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3Vt +ZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVy +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iTm9kZXNUb0FkZCIgdHlwZT0idG5zOkxpc3RPZkFkZE5vZGVzSXRlbSIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBZGROb2Rlc1JlcXVlc3QiIHR5cGU9InRuczpBZGRO +b2Rlc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFkZE5vZGVzUmVzcG9u +c2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QWRkcyBv +bmUgb3IgbW9yZSBub2RlcyB0byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVu +dGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVy +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZkFkZE5vZGVzUmVzdWx0IiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0lu +Zm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJBZGROb2Rlc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6QWRkTm9kZXNSZXNw +b25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWRkUmVmZXJlbmNlc0l0ZW0iPg0K +ICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSByZXF1ZXN0IHRv +IGFkZCBhIHJlZmVyZW5jZSB0byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVu dGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZVRhcmdldFJl -ZmVyZW5jZXMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVO -b2Rlc0l0ZW0iIHR5cGU9InRuczpEZWxldGVOb2Rlc0l0ZW0iIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9Ikxpc3RPZkRlbGV0ZU5vZGVzSXRlbSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlTm9kZXNJdGVtIiB0eXBlPSJ0bnM6RGVsZXRlTm9k -ZXNJdGVtIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJMaXN0T2ZEZWxldGVOb2Rlc0l0ZW0iIHR5cGU9InRuczpMaXN0T2ZEZWxldGVO -b2Rlc0l0ZW0iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IkRlbGV0ZU5vZGVzUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg -ICA8eHM6ZG9jdW1lbnRhdGlvbj5EZWxldGUgb25lIG9yIG1vcmUgbm9kZXMgZnJvbSB0aGUgc2Vy +eHM6ZWxlbWVudCBuYW1lPSJTb3VyY2VOb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5j +ZVR5cGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNGb3J3YXJkIiB0eXBlPSJ4czpib29sZWFuIiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXRTZXJ2ZXJVcmki +IHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlRhcmdldE5vZGVJZCIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQi +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJUYXJnZXROb2RlQ2xhc3MiIHR5cGU9InRuczpOb2RlQ2xhc3MiIG1pbk9jY3Vycz0iMCIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJBZGRSZWZlcmVuY2VzSXRlbSIgdHlwZT0idG5zOkFkZFJlZmVyZW5jZXNJdGVtIiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZBZGRSZWZlcmVuY2VzSXRlbSI+DQogICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkUmVmZXJlbmNlc0l0ZW0i +IHR5cGU9InRuczpBZGRSZWZlcmVuY2VzSXRlbSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu +Ym91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj +b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQWRkUmVmZXJlbmNlc0l0ZW0i +IHR5cGU9InRuczpMaXN0T2ZBZGRSZWZlcmVuY2VzSXRlbSIgbmlsbGFibGU9InRydWUiPjwveHM6 +ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWRkUmVmZXJlbmNlc1JlcXVlc3Qi +Pg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QWRkcyBvbmUg +b3IgbW9yZSByZWZlcmVuY2VzIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3Vt +ZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVy +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iUmVmZXJlbmNlc1RvQWRkIiB0eXBlPSJ0bnM6TGlzdE9mQWRkUmVmZXJlbmNlc0l0ZW0iIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkUmVmZXJlbmNlc1JlcXVlc3Qi +IHR5cGU9InRuczpBZGRSZWZlcmVuY2VzUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iQWRkUmVmZXJlbmNlc1Jlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAg +IDx4czpkb2N1bWVudGF0aW9uPkFkZHMgb25lIG9yIG1vcmUgcmVmZXJlbmNlcyB0byB0aGUgc2Vy dmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlv -bj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVh -ZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVzVG9EZWxldGUiIHR5cGU9InRuczpM -aXN0T2ZEZWxldGVOb2Rlc0l0ZW0iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iRGVsZXRlTm9kZXNSZXF1ZXN0IiB0eXBlPSJ0bnM6RGVsZXRlTm9kZXNSZXF1ZXN0IiAvPg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEZWxldGVOb2Rlc1Jlc3BvbnNlIj4NCiAgICA8eHM6 -YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkRlbGV0ZSBvbmUgb3IgbW9yZSBu +bj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhl +YWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9m +U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0lu +Zm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkUmVmZXJlbmNlc1Jl +c3BvbnNlIiB0eXBlPSJ0bnM6QWRkUmVmZXJlbmNlc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJEZWxldGVOb2Rlc0l0ZW0iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAg +ICAgPHhzOmRvY3VtZW50YXRpb24+QSByZXF1ZXN0IHRvIGRlbGV0ZSBhIG5vZGUgdG8gdGhlIHNl +cnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRp +b24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0 +eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVUYXJnZXRSZWZlcmVuY2VzIiB0eXBlPSJ4czpib29sZWFu +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlTm9kZXNJdGVtIiB0eXBlPSJ0bnM6RGVsZXRl +Tm9kZXNJdGVtIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZEZWxldGVOb2Rl +c0l0ZW0iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlbGV0 +ZU5vZGVzSXRlbSIgdHlwZT0idG5zOkRlbGV0ZU5vZGVzSXRlbSIgbWluT2NjdXJzPSIwIiBtYXhP +Y2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRGVsZXRlTm9k +ZXNJdGVtIiB0eXBlPSJ0bnM6TGlzdE9mRGVsZXRlTm9kZXNJdGVtIiBuaWxsYWJsZT0idHJ1ZSI+ +PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEZWxldGVOb2Rlc1JlcXVl +c3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+RGVsZXRl +IG9uZSBvciBtb3JlIG5vZGVzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9j +dW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFk +ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJOb2Rlc1RvRGVsZXRlIiB0eXBlPSJ0bnM6TGlzdE9mRGVsZXRlTm9kZXNJdGVtIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZU5vZGVzUmVxdWVzdCIgdHlw +ZT0idG5zOkRlbGV0ZU5vZGVzUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i +RGVsZXRlTm9kZXNSZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9j +dW1lbnRhdGlvbj5EZWxldGUgb25lIG9yIG1vcmUgbm9kZXMgZnJvbSB0aGUgc2VydmVyIGFkZHJl +c3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlw +ZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29k +ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj +b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlTm9kZXNSZXNwb25zZSIgdHlw +ZT0idG5zOkRlbGV0ZU5vZGVzUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +IkRlbGV0ZVJlZmVyZW5jZXNJdGVtIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpk +b2N1bWVudGF0aW9uPkEgcmVxdWVzdCB0byBkZWxldGUgYSBub2RlIGZyb20gdGhlIHNlcnZlciBh +ZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQog +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU291cmNlTm9kZUlkIiB0 +eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VUeXBlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IklzRm9y +d2FyZCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iVGFyZ2V0Tm9kZUlkIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZUJp +ZGlyZWN0aW9uYWwiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxl +dGVSZWZlcmVuY2VzSXRlbSIgdHlwZT0idG5zOkRlbGV0ZVJlZmVyZW5jZXNJdGVtIiAvPg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZEZWxldGVSZWZlcmVuY2VzSXRlbSI+DQogICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlUmVmZXJlbmNlc0l0 +ZW0iIHR5cGU9InRuczpEZWxldGVSZWZlcmVuY2VzSXRlbSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1 +cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRGVsZXRlUmVmZXJl +bmNlc0l0ZW0iIHR5cGU9InRuczpMaXN0T2ZEZWxldGVSZWZlcmVuY2VzSXRlbSIgbmlsbGFibGU9 +InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlUmVm +ZXJlbmNlc1JlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50 +YXRpb24+RGVsZXRlIG9uZSBvciBtb3JlIHJlZmVyZW5jZXMgZnJvbSB0aGUgc2VydmVyIGFkZHJl +c3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBl +PSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZXNUb0RlbGV0ZSIgdHlwZT0idG5zOkxpc3RP +ZkRlbGV0ZVJlZmVyZW5jZXNJdGVtIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h +bWU9IkRlbGV0ZVJlZmVyZW5jZXNSZXF1ZXN0IiB0eXBlPSJ0bnM6RGVsZXRlUmVmZXJlbmNlc1Jl +cXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNSZXNw +b25zZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5EZWxl +dGUgb25lIG9yIG1vcmUgcmVmZXJlbmNlcyBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48 +L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVz +cG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25v +c3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVSZWZlcmVuY2VzUmVzcG9uc2UiIHR5cGU9InRu +czpEZWxldGVSZWZlcmVuY2VzUmVzcG9uc2UiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9 +IkF0dHJpYnV0ZVdyaXRlTWFzayI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9j +dW1lbnRhdGlvbj5EZWZpbmUgYml0cyB1c2VkIHRvIGluZGljYXRlIHdoaWNoIGF0dHJpYnV0ZXMg +YXJlIHdyaXRhYmxlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQog +ICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnVuc2lnbmVkSW50Ij4NCiAgICA8L3hzOnJlc3Ry +aWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkF0dHJpYnV0 +ZVdyaXRlTWFzayIgdHlwZT0idG5zOkF0dHJpYnV0ZVdyaXRlTWFzayIgLz4NCg0KICA8eHM6c2lt +cGxlVHlwZSAgbmFtZT0iQnJvd3NlRGlyZWN0aW9uIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg +ICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBkaXJlY3Rpb25zIG9mIHRoZSByZWZlcmVuY2VzIHRv +IHJldHVybi48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4 +czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh +bHVlPSJGb3J3YXJkXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkludmVyc2Vf +MSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQm90aF8yIiAvPg0KICAgICAgPHhz +OmVudW1lcmF0aW9uIHZhbHVlPSJJbnZhbGlkXzMiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4N +CiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VEaXJlY3Rpb24i +IHR5cGU9InRuczpCcm93c2VEaXJlY3Rpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +IlZpZXdEZXNjcmlwdGlvbiI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l +bnRhdGlvbj5UaGUgdmlldyB0byBicm93c2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6 +YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJW +aWV3SWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRpbWVzdGFtcCIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1p +bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZpZXdWZXJzaW9uIiB0eXBl +PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlZpZXdEZXNjcmlwdGlvbiIg +dHlwZT0idG5zOlZpZXdEZXNjcmlwdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i +QnJvd3NlRGVzY3JpcHRpb24iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3Vt +ZW50YXRpb24+QSByZXF1ZXN0IHRvIGJyb3dzZSB0aGUgdGhlIHJlZmVyZW5jZXMgZnJvbSBhIG5v +ZGUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkJyb3dzZURpcmVjdGlvbiIgdHlwZT0idG5zOkJyb3dzZURpcmVjdGlvbiIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpO +b2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJJbmNsdWRlU3VidHlwZXMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVDbGFzc01hc2siIHR5cGU9InhzOnVuc2ln +bmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRN +YXNrIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2Vx +dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZURl +c2NyaXB0aW9uIiB0eXBlPSJ0bnM6QnJvd3NlRGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9Ikxpc3RPZkJyb3dzZURlc2NyaXB0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VEZXNjcmlwdGlvbiIgdHlwZT0idG5zOkJy +b3dzZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZCcm93c2VEZXNjcmlwdGlvbiIgdHlwZT0idG5zOkxp +c3RPZkJyb3dzZURlc2NyaXB0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog +IDx4czpzaW1wbGVUeXBlICBuYW1lPSJCcm93c2VSZXN1bHRNYXNrIj4NCiAgICA8eHM6YW5ub3Rh +dGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgYml0IG1hc2sgd2hpY2ggc3BlY2lmaWVz +IHdoYXQgc2hvdWxkIGJlIHJldHVybmVkIGluIGEgYnJvd3NlIHJlc3BvbnNlLjwveHM6ZG9jdW1l +bnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9 +InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4NCiAg +ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVmZXJlbmNlVHlwZUlkXzEiIC8+DQogICAgICA8 +eHM6ZW51bWVyYXRpb24gdmFsdWU9IklzRm9yd2FyZF8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0 +aW9uIHZhbHVlPSJOb2RlQ2xhc3NfNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i +QnJvd3NlTmFtZV84IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEaXNwbGF5TmFt +ZV8xNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVHlwZURlZmluaXRpb25fMzIi +IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFsbF82MyIgLz4NCiAgICAgIDx4czpl +bnVtZXJhdGlvbiB2YWx1ZT0iUmVmZXJlbmNlVHlwZUluZm9fMyIgLz4NCiAgICAgIDx4czplbnVt +ZXJhdGlvbiB2YWx1ZT0iVGFyZ2V0SW5mb182MCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0K +ICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVJlc3VsdE1hc2si +IHR5cGU9InRuczpCcm93c2VSZXN1bHRNYXNrIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJSZWZlcmVuY2VEZXNjcmlwdGlvbiI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6 +ZG9jdW1lbnRhdGlvbj5UaGUgZGVzY3JpcHRpb24gb2YgYSByZWZlcmVuY2UuPC94czpkb2N1bWVu +dGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VUeXBlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IklzRm9y +d2FyZCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZU5hbWUiIHR5 +cGU9InVhOlF1YWxpZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNwbGF5TmFtZSIgdHlwZT0idWE6TG9jYWxpemVkVGV4 +dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9Ik5vZGVDbGFzcyIgdHlwZT0idG5zOk5vZGVDbGFzcyIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iVHlwZURlZmluaXRpb24iIHR5cGU9InVhOkV4cGFuZGVkTm9k +ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZURlc2Ny +aXB0aW9uIiB0eXBlPSJ0bnM6UmVmZXJlbmNlRGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9Ikxpc3RPZlJlZmVyZW5jZURlc2NyaXB0aW9uIj4NCiAgICA8eHM6c2VxdWVu +Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VEZXNjcmlwdGlvbiIgdHlwZT0i +dG5zOlJlZmVyZW5jZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3Vu +ZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZSZWZlcmVuY2VEZXNjcmlwdGlvbiIg +dHlwZT0idG5zOkxpc3RPZlJlZmVyZW5jZURlc2NyaXB0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94 +czplbGVtZW50Pg0KDQogIDx4czplbGVtZW50IG5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiB0eXBl +PSJ4czpiYXNlNjRCaW5hcnkiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb3dzZVJl +c3VsdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUg +cmVzdWx0IG9mIGEgYnJvd3NlIG9wZXJhdGlvbi48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94 +czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlN0YXR1c0NvZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpiYXNlNjRCaW5h +cnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJSZWZlcmVuY2VzIiB0eXBlPSJ0bnM6TGlzdE9mUmVmZXJlbmNlRGVzY3JpcHRpb24iIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUmVzdWx0IiB0eXBlPSJ0 +bnM6QnJvd3NlUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZCcm93 +c2VSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJy +b3dzZVJlc3VsdCIgdHlwZT0idG5zOkJyb3dzZVJlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1 +cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQnJvd3NlUmVzdWx0 +IiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVt +ZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VSZXF1ZXN0Ij4NCiAgICA8eHM6 +YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkJyb3dzZSB0aGUgcmVmZXJlbmNl +cyBmb3Igb25lIG9yIG1vcmUgbm9kZXMgZnJvbSB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94 +czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVz +dEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlZpZXciIHR5cGU9InRuczpWaWV3RGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWRNYXhS +ZWZlcmVuY2VzUGVyTm9kZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVzVG9Ccm93c2UiIHR5cGU9InRuczpMaXN0T2ZC +cm93c2VEZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJC +cm93c2VSZXF1ZXN0IiB0eXBlPSJ0bnM6QnJvd3NlUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iQnJvd3NlUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAg +PHhzOmRvY3VtZW50YXRpb24+QnJvd3NlIHRoZSByZWZlcmVuY2VzIGZvciBvbmUgb3IgbW9yZSBu b2RlcyBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQog ICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vy cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRz -IiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpM -aXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJEZWxldGVOb2Rlc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6RGVsZXRlTm9kZXNSZXNwb25zZSIgLz4N -Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlUmVmZXJlbmNlc0l0ZW0iPg0KICAgIDx4 -czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSByZXF1ZXN0IHRvIGRlbGV0 -ZSBhIG5vZGUgZnJvbSB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9u -Pg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJTb3VyY2VOb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZVR5cGVJ -ZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNGb3J3YXJkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1 -cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXROb2RlSWQiIHR5cGU9InVh -OkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlQmlkaXJlY3Rpb25hbCIgdHlwZT0ieHM6Ym9vbGVhbiIg -bWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0bnM6RGVs -ZXRlUmVmZXJlbmNlc0l0ZW0iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkRl -bGV0ZVJlZmVyZW5jZXNJdGVtIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJEZWxldGVSZWZlcmVuY2VzSXRlbSIgdHlwZT0idG5zOkRlbGV0ZVJlZmVyZW5jZXNJ -dGVtIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJMaXN0T2ZEZWxldGVSZWZlcmVuY2VzSXRlbSIgdHlwZT0idG5zOkxpc3RPZkRlbGV0 -ZVJlZmVyZW5jZXNJdGVtIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJEZWxldGVSZWZlcmVuY2VzUmVxdWVzdCI+DQogICAgPHhzOmFubm90 -YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5EZWxldGUgb25lIG9yIG1vcmUgcmVmZXJl -bmNlcyBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQog -ICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNl -c1RvRGVsZXRlIiB0eXBlPSJ0bnM6TGlzdE9mRGVsZXRlUmVmZXJlbmNlc0l0ZW0iIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlUmVmZXJlbmNlc1JlcXVlc3QiIHR5 -cGU9InRuczpEZWxldGVSZWZlcmVuY2VzUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iRGVsZXRlUmVmZXJlbmNlc1Jlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg -ICAgIDx4czpkb2N1bWVudGF0aW9uPkRlbGV0ZSBvbmUgb3IgbW9yZSByZWZlcmVuY2VzIGZyb20g -dGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu -bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVz -cG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVh -Okxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdu -b3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZVJl -ZmVyZW5jZXNSZXNwb25zZSIgdHlwZT0idG5zOkRlbGV0ZVJlZmVyZW5jZXNSZXNwb25zZSIgLz4N -Cg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iQXR0cmlidXRlV3JpdGVNYXNrIj4NCiAgICA8eHM6 -YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkRlZmluZSBiaXRzIHVzZWQgdG8g -aW5kaWNhdGUgd2hpY2ggYXR0cmlidXRlcyBhcmUgd3JpdGFibGUuPC94czpkb2N1bWVudGF0aW9u -Pg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6dW5z -aWduZWRJbnQiPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iQXR0cmlidXRlV3JpdGVNYXNrIiB0eXBlPSJ0bnM6QXR0cmlidXRl -V3JpdGVNYXNrIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJCcm93c2VEaXJlY3Rpb24i -Pg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGRpcmVj -dGlvbnMgb2YgdGhlIHJlZmVyZW5jZXMgdG8gcmV0dXJuLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAg -ICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkZvcndhcmRfMCIgLz4NCiAgICAgIDx4czpl -bnVtZXJhdGlvbiB2YWx1ZT0iSW52ZXJzZV8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh -bHVlPSJCb3RoXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkludmFsaWRfMyIg -Lz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9IkJyb3dzZURpcmVjdGlvbiIgdHlwZT0idG5zOkJyb3dzZURpcmVjdGlvbiIgLz4N -Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVmlld0Rlc2NyaXB0aW9uIj4NCiAgICA8eHM6YW5u -b3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSB2aWV3IHRvIGJyb3dzZS48L3hz -OmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZpZXdJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0 -YW1wIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iVmlld1ZlcnNpb24iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iVmlld0Rlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6Vmlld0Rlc2NyaXB0aW9uIiAvPg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VEZXNjcmlwdGlvbiI+DQogICAgPHhzOmFu -bm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8gYnJvd3NlIHRo -ZSB0aGUgcmVmZXJlbmNlcyBmcm9tIGEgbm9kZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94 -czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -Ik5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlRGlyZWN0aW9uIiB0eXBlPSJ0bnM6QnJv -d3NlRGlyZWN0aW9uIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS -ZWZlcmVuY2VUeXBlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkluY2x1ZGVTdWJ0eXBlcyIgdHlwZT0i -eHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9k -ZUNsYXNzTWFzayIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlJlc3VsdE1hc2siIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlRGVzY3JpcHRpb24iIHR5cGU9InRuczpCcm93c2VEZXNj -cmlwdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJvd3NlRGVzY3Jp -cHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dz -ZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6QnJvd3NlRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIg -bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu -Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb3dz -ZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlRGVzY3JpcHRpb24iIG5pbGxhYmxl -PSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkJyb3dzZVJl -c3VsdE1hc2siPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+ -QSBiaXQgbWFzayB3aGljaCBzcGVjaWZpZXMgd2hhdCBzaG91bGQgYmUgcmV0dXJuZWQgaW4gYSBi -cm93c2UgcmVzcG9uc2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4N -CiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJh -dGlvbiB2YWx1ZT0iTm9uZV8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZWZl -cmVuY2VUeXBlSWRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNGb3J3YXJk -XzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vZGVDbGFzc180IiAvPg0KICAg -ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJCcm93c2VOYW1lXzgiIC8+DQogICAgICA8eHM6ZW51 -bWVyYXRpb24gdmFsdWU9IkRpc3BsYXlOYW1lXzE2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u -IHZhbHVlPSJUeXBlRGVmaW5pdGlvbl8zMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 -ZT0iQWxsXzYzIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZWZlcmVuY2VUeXBl -SW5mb18zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJUYXJnZXRJbmZvXzYwIiAv -Pg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iQnJvd3NlUmVzdWx0TWFzayIgdHlwZT0idG5zOkJyb3dzZVJlc3VsdE1hc2siIC8+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZmVyZW5jZURlc2NyaXB0aW9uIj4NCiAgICA8 -eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBkZXNjcmlwdGlvbiBv -ZiBhIHJlZmVyZW5jZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0K -ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZVR5cGVJ -ZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNGb3J3YXJkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1 -cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOkV4cGFu -ZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iQnJvd3NlTmFtZSIgdHlwZT0idWE6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc3BsYXlO -YW1lIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUNsYXNzIiB0eXBlPSJ0bnM6Tm9kZUNs -YXNzIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUeXBlRGVmaW5p -dGlvbiIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVmZXJlbmNlRGVzY3JpcHRpb24iIHR5cGU9InRuczpSZWZlcmVuY2VEZXNj -cmlwdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUmVmZXJlbmNlRGVz -Y3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJl -ZmVyZW5jZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6UmVmZXJlbmNlRGVzY3JpcHRpb24iIG1pbk9j -Y3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv -eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxp -c3RPZlJlZmVyZW5jZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mUmVmZXJlbmNlRGVzY3Jp -cHRpb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iQ29udGludWF0aW9uUG9pbnQiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iQnJvd3NlUmVzdWx0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg -ICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSByZXN1bHQgb2YgYSBicm93c2Ugb3BlcmF0aW9uLjwv -eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29k -ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9u -UG9pbnQiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZXMiIHR5cGU9InRuczpMaXN0 -T2ZSZWZlcmVuY2VEZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +IiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1 +YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJCcm93c2VSZXN1bHQiIHR5cGU9InRuczpCcm93c2VSZXN1bHQiIC8+DQoNCiAgPHhzOmNv -bXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkJyb3dzZVJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUmVzdWx0IiB0eXBlPSJ0bnM6QnJvd3NlUmVz -dWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJMaXN0T2ZCcm93c2VSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VSZXN1bHQi -IG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 -IkJyb3dzZVJlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50 -YXRpb24+QnJvd3NlIHRoZSByZWZlcmVuY2VzIGZvciBvbmUgb3IgbW9yZSBub2RlcyBmcm9tIHRo -ZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v -dGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVl -c3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmlldyIgdHlwZT0idG5zOlZpZXdE -ZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlJlcXVlc3RlZE1heFJlZmVyZW5jZXNQZXJOb2RlIiB0eXBlPSJ4czp1bnNp -Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNU -b0Jyb3dzZSIgdHlwZT0idG5zOkxpc3RPZkJyb3dzZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVJlcXVlc3QiIHR5cGU9InRuczpCcm93c2VS -ZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VSZXNwb25zZSI+DQog -ICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5Ccm93c2UgdGhlIHJl -ZmVyZW5jZXMgZm9yIG9uZSBvciBtb3JlIG5vZGVzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNw -YWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRu -czpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VSZXN1bHQi -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVJlc3BvbnNlIiB0eXBlPSJ0bnM6 -QnJvd3NlUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb3dzZU5leHRS -ZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNv -bnRpbnVlcyBvbmUgb3IgbW9yZSBicm93c2Ugb3BlcmF0aW9ucy48L3hzOmRvY3VtZW50YXRpb24+ -DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsZWFz -ZUNvbnRpbnVhdGlvblBvaW50cyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9uUG9pbnRzIiB0eXBlPSJ1YTpMaXN0 -T2ZCeXRlU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 -c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dz -ZU5leHRSZXF1ZXN0IiB0eXBlPSJ0bnM6QnJvd3NlTmV4dFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNv -bXBsZXhUeXBlIG5hbWU9IkJyb3dzZU5leHRSZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRpb24+ -DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5Db250aW51ZXMgb25lIG9yIG1vcmUgYnJvd3NlIG9w -ZXJhdGlvbnMuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlw -ZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZkJyb3dzZVJl -c3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlTmV4dFJlc3BvbnNlIiB0 -eXBlPSJ0bnM6QnJvd3NlTmV4dFJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJSZWxhdGl2ZVBhdGhFbGVtZW50Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpk -b2N1bWVudGF0aW9uPkFuIGVsZW1lbnQgaW4gYSByZWxhdGl2ZSBwYXRoLjwveHM6ZG9jdW1lbnRh -dGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ludmVy -c2UiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IkluY2x1ZGVTdWJ0eXBlcyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0TmFtZSIgdHlwZT0idWE6UXVhbGlmaWVk -TmFtZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl -Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWxhdGl2ZVBhdGhF -bGVtZW50IiB0eXBlPSJ0bnM6UmVsYXRpdmVQYXRoRWxlbWVudCIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iTGlzdE9mUmVsYXRpdmVQYXRoRWxlbWVudCI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsYXRpdmVQYXRoRWxlbWVudCIgdHlwZT0idG5z -OlJlbGF0aXZlUGF0aEVsZW1lbnQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlJlbGF0aXZlUGF0aEVsZW1lbnQiIHR5cGU9 -InRuczpMaXN0T2ZSZWxhdGl2ZVBhdGhFbGVtZW50IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVt -ZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWxhdGl2ZVBhdGgiPg0KICAgIDx4czph -bm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSByZWxhdGl2ZSBwYXRoIGNvbnN0 -cnVjdGVkIGZyb20gcmVmZXJlbmNlIHR5cGVzIGFuZCBicm93c2UgbmFtZXMuPC94czpkb2N1bWVu -dGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJFbGVtZW50cyIgdHlwZT0idG5zOkxpc3RPZlJlbGF0aXZlUGF0aEVs -ZW1lbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsYXRpdmVQYXRo -IiB0eXBlPSJ0bnM6UmVsYXRpdmVQYXRoIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJC -cm93c2VQYXRoIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9u -PkEgcmVxdWVzdCB0byB0cmFuc2xhdGUgYSBwYXRoIGludG8gYSBub2RlIGlkLjwveHM6ZG9jdW1l -bnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iU3RhcnRpbmdOb2RlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWxhdGl2 -ZVBhdGgiIHR5cGU9InRuczpSZWxhdGl2ZVBhdGgiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iQnJvd3NlUGF0aCIgdHlwZT0idG5zOkJyb3dzZVBhdGgiIC8+DQoNCiAgPHhz -OmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGgiPg0KICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGgiIHR5cGU9InRuczpCcm93c2VQYXRo -IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJMaXN0T2ZCcm93c2VQYXRoIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlUGF0aCIgbmlsbGFi -bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQnJvd3Nl -UGF0aFRhcmdldCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlv -bj5UaGUgdGFyZ2V0IG9mIHRoZSB0cmFuc2xhdGVkIHBhdGguPC94czpkb2N1bWVudGF0aW9uPg0K -ICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJUYXJnZXRJZCIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZW1haW5pbmdQYXRo -SW5kZXgiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpz +YW1lPSJCcm93c2VSZXNwb25zZSIgdHlwZT0idG5zOkJyb3dzZVJlc3BvbnNlIiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VOZXh0UmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRp +b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5Db250aW51ZXMgb25lIG9yIG1vcmUgYnJvd3Nl +IG9wZXJhdGlvbnMuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0 +eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlbGVhc2VDb250aW51YXRpb25Qb2ludHMiIHR5cGU9 +InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNv +bnRpbnVhdGlvblBvaW50cyIgdHlwZT0idWE6TGlzdE9mQnl0ZVN0cmluZyIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VOZXh0UmVxdWVzdCIgdHlwZT0idG5zOkJy +b3dzZU5leHRSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VOZXh0 +UmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+ +Q29udGludWVzIG9uZSBvciBtb3JlIGJyb3dzZSBvcGVyYXRpb25zLjwveHM6ZG9jdW1lbnRhdGlv +bj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJl +c3VsdHMiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5 +cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9IkJyb3dzZU5leHRSZXNwb25zZSIgdHlwZT0idG5zOkJyb3dzZU5leHRSZXNwb25z +ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVsYXRpdmVQYXRoRWxlbWVudCI+DQog +ICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BbiBlbGVtZW50IGlu +IGEgcmVsYXRpdmUgcGF0aC48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9u +Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZVR5 +cGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNJbnZlcnNlIiB0eXBlPSJ4czpib29sZWFuIiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbmNsdWRlU3VidHlwZXMiIHR5 +cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlRhcmdldE5hbWUiIHR5cGU9InVhOlF1YWxpZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iUmVsYXRpdmVQYXRoRWxlbWVudCIgdHlwZT0idG5zOlJlbGF0aXZl +UGF0aEVsZW1lbnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlJlbGF0aXZl +UGF0aEVsZW1lbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlJlbGF0aXZlUGF0aEVsZW1lbnQiIHR5cGU9InRuczpSZWxhdGl2ZVBhdGhFbGVtZW50IiBtaW5P +Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM +aXN0T2ZSZWxhdGl2ZVBhdGhFbGVtZW50IiB0eXBlPSJ0bnM6TGlzdE9mUmVsYXRpdmVQYXRoRWxl +bWVudCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iUmVsYXRpdmVQYXRoIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1 +bWVudGF0aW9uPkEgcmVsYXRpdmUgcGF0aCBjb25zdHJ1Y3RlZCBmcm9tIHJlZmVyZW5jZSB0eXBl +cyBhbmQgYnJvd3NlIG5hbWVzLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRp +b24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRWxlbWVudHMi +IHR5cGU9InRuczpMaXN0T2ZSZWxhdGl2ZVBhdGhFbGVtZW50IiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9IlJlbGF0aXZlUGF0aCIgdHlwZT0idG5zOlJlbGF0aXZlUGF0aCIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQnJvd3NlUGF0aCI+DQogICAgPHhzOmFubm90 +YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8gdHJhbnNsYXRlIGEg +cGF0aCBpbnRvIGEgbm9kZSBpZC48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 +aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXJ0aW5n +Tm9kZSIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsYXRpdmVQYXRoIiB0eXBlPSJ0bnM6UmVsYXRpdmVQ +YXRoIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGgiIHR5 +cGU9InRuczpCcm93c2VQYXRoIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZC +cm93c2VQYXRoIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJC +cm93c2VQYXRoIiB0eXBlPSJ0bnM6QnJvd3NlUGF0aCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9 +InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQnJvd3NlUGF0aCIgdHlw +ZT0idG5zOkxpc3RPZkJyb3dzZVBhdGgiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoN +CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb3dzZVBhdGhUYXJnZXQiPg0KICAgIDx4czphbm5v +dGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIHRhcmdldCBvZiB0aGUgdHJhbnNs +YXRlZCBwYXRoLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0SWQiIHR5cGU9InVh +OkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iUmVtYWluaW5nUGF0aEluZGV4IiB0eXBlPSJ4czp1bnNpZ25lZElu +dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGhUYXJnZXQiIHR5cGU9InRuczpCcm93 +c2VQYXRoVGFyZ2V0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZCcm93c2VQ +YXRoVGFyZ2V0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJC +cm93c2VQYXRoVGFyZ2V0IiB0eXBlPSJ0bnM6QnJvd3NlUGF0aFRhcmdldCIgbWluT2NjdXJzPSIw +IiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQnJv +d3NlUGF0aFRhcmdldCIgdHlwZT0idG5zOkxpc3RPZkJyb3dzZVBhdGhUYXJnZXQiIG5pbGxhYmxl +PSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb3dzZVBh +dGhSZXN1bHQiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+ +VGhlIHJlc3VsdCBvZiBhIHRyYW5zbGF0ZSBvcGVhcmF0aW9uLjwveHM6ZG9jdW1lbnRhdGlvbj4N +CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0cyIgdHlwZT0idG5zOkxpc3RPZkJyb3dz +ZVBhdGhUYXJnZXQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3Nl -UGF0aFRhcmdldCIgdHlwZT0idG5zOkJyb3dzZVBhdGhUYXJnZXQiIC8+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGhUYXJnZXQiPg0KICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGhUYXJnZXQiIHR5cGU9InRuczpCcm93 -c2VQYXRoVGFyZ2V0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJs +UGF0aFJlc3VsdCIgdHlwZT0idG5zOkJyb3dzZVBhdGhSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGhSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGhSZXN1bHQiIHR5cGU9InRuczpCcm93 +c2VQYXRoUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJs ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZCcm93c2VQYXRoVGFyZ2V0IiB0eXBlPSJ0bnM6TGlzdE9m -QnJvd3NlUGF0aFRhcmdldCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iQnJvd3NlUGF0aFJlc3VsdCI+DQogICAgPHhzOmFubm90YXRpb24+ -DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgcmVzdWx0IG9mIGEgdHJhbnNsYXRlIG9wZWFy -YXRpb24uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpT -dGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJn -ZXRzIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlUGF0aFRhcmdldCIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VQYXRoUmVzdWx0IiB0eXBlPSJ0bnM6QnJvd3NlUGF0 -aFJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJvd3NlUGF0aFJl -c3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3Nl -UGF0aFJlc3VsdCIgdHlwZT0idG5zOkJyb3dzZVBhdGhSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4 -T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb3dzZVBh -dGhSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VQYXRoUmVzdWx0IiBuaWxsYWJsZT0idHJ1 -ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJUcmFuc2xhdGVCcm93 -c2VQYXRoc1RvTm9kZUlkc1JlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhz -OmRvY3VtZW50YXRpb24+VHJhbnNsYXRlcyBvbmUgb3IgbW9yZSBwYXRocyBpbiB0aGUgc2VydmVy -IGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4N -CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVy -IiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGhzIiB0eXBlPSJ0bnM6TGlzdE9m -QnJvd3NlUGF0aCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2xh -dGVCcm93c2VQYXRoc1RvTm9kZUlkc1JlcXVlc3QiIHR5cGU9InRuczpUcmFuc2xhdGVCcm93c2VQ -YXRoc1RvTm9kZUlkc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlRyYW5z -bGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0K -ICAgICAgPHhzOmRvY3VtZW50YXRpb24+VHJhbnNsYXRlcyBvbmUgb3IgbW9yZSBwYXRocyBpbiB0 -aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5u -b3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNw -b25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5z -Okxpc3RPZkJyb3dzZVBhdGhSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RP -ZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv -eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRy -YW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVzcG9uc2UiIHR5cGU9InRuczpUcmFuc2xhdGVC -cm93c2VQYXRoc1RvTm9kZUlkc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJSZWdpc3Rlck5vZGVzUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6 -ZG9jdW1lbnRhdGlvbj5SZWdpc3RlcnMgb25lIG9yIG1vcmUgbm9kZXMgZm9yIHJlcGVhdGVkIHVz -ZSB3aXRoaW4gYSBzZXNzaW9uLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRp -b24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhl -YWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2Rlc1RvUmVnaXN0ZXIiIHR5cGU9InVh +eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZCcm93c2VQYXRoUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9m +QnJvd3NlUGF0aFJlc3VsdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iVHJhbnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNSZXF1ZXN0Ij4N +CiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRyYW5zbGF0ZXMg +b25lIG9yIG1vcmUgcGF0aHMgaW4gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1l +bnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIi +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJCcm93c2VQYXRocyIgdHlwZT0idG5zOkxpc3RPZkJyb3dzZVBhdGgiIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNSZXF1 +ZXN0IiB0eXBlPSJ0bnM6VHJhbnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNSZXF1ZXN0IiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJUcmFuc2xhdGVCcm93c2VQYXRoc1RvTm9kZUlkc1Jl +c3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRy +YW5zbGF0ZXMgb25lIG9yIG1vcmUgcGF0aHMgaW4gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwv +eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNw +b25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VQYXRoUmVzdWx0IiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +RGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2xhdGVCcm93c2VQYXRoc1RvTm9kZUlk +c1Jlc3BvbnNlIiB0eXBlPSJ0bnM6VHJhbnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNSZXNwb25z +ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJOb2Rlc1JlcXVlc3QiPg0K +ICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+UmVnaXN0ZXJzIG9u +ZSBvciBtb3JlIG5vZGVzIGZvciByZXBlYXRlZCB1c2Ugd2l0aGluIGEgc2Vzc2lvbi48L3hzOmRv +Y3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVh +ZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iTm9kZXNUb1JlZ2lzdGVyIiB0eXBlPSJ1YTpMaXN0T2ZOb2RlSWQiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJOb2Rlc1JlcXVlc3QiIHR5cGU9InRu +czpSZWdpc3Rlck5vZGVzUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVn +aXN0ZXJOb2Rlc1Jlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1 +bWVudGF0aW9uPlJlZ2lzdGVycyBvbmUgb3IgbW9yZSBub2RlcyBmb3IgcmVwZWF0ZWQgdXNlIHdp +dGhpbiBhIHNlc3Npb24uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRl +ciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJlZE5vZGVJZHMiIHR5cGU9InVh Okxpc3RPZk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWdp -c3Rlck5vZGVzUmVxdWVzdCIgdHlwZT0idG5zOlJlZ2lzdGVyTm9kZXNSZXF1ZXN0IiAvPg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWdpc3Rlck5vZGVzUmVzcG9uc2UiPg0KICAgIDx4czph -bm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+UmVnaXN0ZXJzIG9uZSBvciBtb3Jl -IG5vZGVzIGZvciByZXBlYXRlZCB1c2Ugd2l0aGluIGEgc2Vzc2lvbi48L3hzOmRvY3VtZW50YXRp -b24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS -ZWdpc3RlcmVkTm9kZUlkcyIgdHlwZT0idWE6TGlzdE9mTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5p +c3Rlck5vZGVzUmVzcG9uc2UiIHR5cGU9InRuczpSZWdpc3Rlck5vZGVzUmVzcG9uc2UiIC8+DQoN +CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlVucmVnaXN0ZXJOb2Rlc1JlcXVlc3QiPg0KICAgIDx4 +czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VW5yZWdpc3RlcnMgb25lIG9y +IG1vcmUgcHJldmlvdXNseSByZWdpc3RlcmVkIG5vZGVzLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAg +ICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2Rlc1RvVW5y +ZWdpc3RlciIgdHlwZT0idWE6TGlzdE9mTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl +bGVtZW50IG5hbWU9IlVucmVnaXN0ZXJOb2Rlc1JlcXVlc3QiIHR5cGU9InRuczpVbnJlZ2lzdGVy +Tm9kZXNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJVbnJlZ2lzdGVyTm9k +ZXNSZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlv +bj5VbnJlZ2lzdGVycyBvbmUgb3IgbW9yZSBwcmV2aW91c2x5IHJlZ2lzdGVyZWQgbm9kZXMuPC94 +czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3Bv +bnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx +dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVucmVnaXN0 +ZXJOb2Rlc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6VW5yZWdpc3Rlck5vZGVzUmVzcG9uc2UiIC8+DQoN +CiAgPHhzOmVsZW1lbnQgbmFtZT0iQ291bnRlciIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIC8+DQoN +CiAgPHhzOmVsZW1lbnQgbmFtZT0iTnVtZXJpY1JhbmdlIiB0eXBlPSJ4czpzdHJpbmciIC8+DQoN +CiAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZSIgdHlwZT0ieHM6c3RyaW5nIiAvPg0KDQogIDx4czpl +bGVtZW50IG5hbWU9IkRhdGUiIHR5cGU9InhzOmRhdGVUaW1lIiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJFbmRwb2ludENvbmZpZ3VyYXRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9Ik9wZXJhdGlvblRpbWVvdXQiIHR5cGU9InhzOmludCIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlQmluYXJ5RW5jb2Rpbmci +IHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9Ik1heFN0cmluZ0xlbmd0aCIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhCeXRlU3RyaW5nTGVuZ3RoIiB0eXBlPSJ4czppbnQiIG1p +bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heEFycmF5TGVuZ3RoIiB0 +eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1h +eE1lc3NhZ2VTaXplIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9Ik1heEJ1ZmZlclNpemUiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2hhbm5lbExpZmV0aW1lIiB0eXBlPSJ4czppbnQi +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5VG9rZW5M +aWZldGltZSIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5j +ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRW5kcG9pbnRDb25m +aWd1cmF0aW9uIiB0eXBlPSJ0bnM6RW5kcG9pbnRDb25maWd1cmF0aW9uIiAvPg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZFbmRwb2ludENvbmZpZ3VyYXRpb24iPg0KICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50Q29uZmlndXJhdGlvbiIg +dHlwZT0idG5zOkVuZHBvaW50Q29uZmlndXJhdGlvbiIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9 +InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRW5kcG9pbnRDb25maWd1 +cmF0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mRW5kcG9pbnRDb25maWd1cmF0aW9uIiBuaWxsYWJsZT0i +dHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJRdWVyeURhdGFE +ZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +UmVsYXRpdmVQYXRoIiB0eXBlPSJ0bnM6UmVsYXRpdmVQYXRoIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXR0cmlidXRlSWQiIHR5cGU9 +InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJJbmRleFJhbmdlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iUXVlcnlEYXRhRGVzY3JpcHRpb24iIHR5cGU9InRuczpRdWVyeURhdGFEZXNj +cmlwdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUXVlcnlEYXRhRGVz +Y3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlF1 +ZXJ5RGF0YURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6UXVlcnlEYXRhRGVzY3JpcHRpb24iIG1pbk9j +Y3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxp +c3RPZlF1ZXJ5RGF0YURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mUXVlcnlEYXRhRGVzY3Jp +cHRpb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9Ik5vZGVUeXBlRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlR5cGVEZWZpbml0aW9uTm9kZSIgdHlwZT0idWE6RXhwYW5kZWROb2Rl +SWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJJbmNsdWRlU3ViVHlwZXMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFUb1JldHVybiIgdHlwZT0idG5zOkxpc3RPZlF1 +ZXJ5RGF0YURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +Ik5vZGVUeXBlRGVzY3JpcHRpb24iIHR5cGU9InRuczpOb2RlVHlwZURlc2NyaXB0aW9uIiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZOb2RlVHlwZURlc2NyaXB0aW9uIj4NCiAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlVHlwZURlc2NyaXB0 +aW9uIiB0eXBlPSJ0bnM6Tm9kZVR5cGVEZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBtYXhPY2N1 +cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTm9kZVR5cGVEZXNj +cmlwdGlvbiIgdHlwZT0idG5zOkxpc3RPZk5vZGVUeXBlRGVzY3JpcHRpb24iIG5pbGxhYmxlPSJ0 +cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkZpbHRlck9wZXJh +dG9yIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czpl +bnVtZXJhdGlvbiB2YWx1ZT0iRXF1YWxzXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs +dWU9IklzTnVsbF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJHcmVhdGVyVGhh +bl8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJMZXNzVGhhbl8zIiAvPg0KICAg +ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJHcmVhdGVyVGhhbk9yRXF1YWxfNCIgLz4NCiAgICAg +IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTGVzc1RoYW5PckVxdWFsXzUiIC8+DQogICAgICA8eHM6 +ZW51bWVyYXRpb24gdmFsdWU9Ikxpa2VfNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 +ZT0iTm90XzciIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJldHdlZW5fOCIgLz4N +CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW5MaXN0XzkiIC8+DQogICAgICA8eHM6ZW51 +bWVyYXRpb24gdmFsdWU9IkFuZF8xMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i +T3JfMTEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkNhc3RfMTIiIC8+DQogICAg +ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkluVmlld18xMyIgLz4NCiAgICAgIDx4czplbnVtZXJh +dGlvbiB2YWx1ZT0iT2ZUeXBlXzE0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJS +ZWxhdGVkVG9fMTUiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJpdHdpc2VBbmRf +MTYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJpdHdpc2VPcl8xNyIgLz4NCiAg +ICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5h +bWU9IkZpbHRlck9wZXJhdG9yIiB0eXBlPSJ0bnM6RmlsdGVyT3BlcmF0b3IiIC8+DQoNCiAgPHhz +OmNvbXBsZXhUeXBlIG5hbWU9IlF1ZXJ5RGF0YVNldCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlR5 +cGVEZWZpbml0aW9uTm9kZSIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZXMiIHR5cGU9 +InVhOkxpc3RPZlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +UXVlcnlEYXRhU2V0IiB0eXBlPSJ0bnM6UXVlcnlEYXRhU2V0IiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJMaXN0T2ZRdWVyeURhdGFTZXQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5RGF0YVNldCIgdHlwZT0idG5zOlF1ZXJ5RGF0YVNldCIg +bWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iTGlzdE9mUXVlcnlEYXRhU2V0IiB0eXBlPSJ0bnM6TGlzdE9mUXVlcnlEYXRhU2V0IiBuaWxs +YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJOb2Rl +UmVmZXJlbmNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJO +b2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgdHlwZT0idWE6Tm9kZUlk +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iSXNGb3J3YXJkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VkTm9kZUlkcyIgdHlwZT0idWE6TGlzdE9mTm9kZUlk +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik5vZGVSZWZlcmVuY2UiIHR5 +cGU9InRuczpOb2RlUmVmZXJlbmNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0 +T2ZOb2RlUmVmZXJlbmNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJOb2RlUmVmZXJlbmNlIiB0eXBlPSJ0bnM6Tm9kZVJlZmVyZW5jZSIgbWluT2NjdXJzPSIw +IiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTm9k +ZVJlZmVyZW5jZSIgdHlwZT0idG5zOkxpc3RPZk5vZGVSZWZlcmVuY2UiIG5pbGxhYmxlPSJ0cnVl +Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNvbnRlbnRGaWx0ZXJF +bGVtZW50Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0 +ZXJPcGVyYXRvciIgdHlwZT0idG5zOkZpbHRlck9wZXJhdG9yIiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXJPcGVyYW5kcyIgdHlwZT0idWE6TGlzdE9mRXh0 +ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 +c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNvbnRl +bnRGaWx0ZXJFbGVtZW50IiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlckVsZW1lbnQiIC8+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkNvbnRlbnRGaWx0ZXJFbGVtZW50Ij4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250ZW50RmlsdGVyRWxlbWVu +dCIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXJFbGVtZW50IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vy +cz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZDb250ZW50RmlsdGVy +RWxlbWVudCIgdHlwZT0idG5zOkxpc3RPZkNvbnRlbnRGaWx0ZXJFbGVtZW50IiBuaWxsYWJsZT0i +dHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDb250ZW50Rmls +dGVyIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbGVtZW50 +cyIgdHlwZT0idG5zOkxpc3RPZkNvbnRlbnRGaWx0ZXJFbGVtZW50IiBtaW5PY2N1cnM9IjAiIG5p bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyTm9kZXNSZXNwb25zZSIgdHlwZT0idG5zOlJl -Z2lzdGVyTm9kZXNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVW5yZWdp -c3Rlck5vZGVzUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l -bnRhdGlvbj5VbnJlZ2lzdGVycyBvbmUgb3IgbW9yZSBwcmV2aW91c2x5IHJlZ2lzdGVyZWQgbm9k -ZXMuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6 -UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9Ik5vZGVzVG9VbnJlZ2lzdGVyIiB0eXBlPSJ1YTpMaXN0T2ZOb2RlSWQi -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg -PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVW5yZWdpc3Rlck5vZGVzUmVx -dWVzdCIgdHlwZT0idG5zOlVucmVnaXN0ZXJOb2Rlc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9IlVucmVnaXN0ZXJOb2Rlc1Jlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlv -bj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlVucmVnaXN0ZXJzIG9uZSBvciBtb3JlIHByZXZp -b3VzbHkgcmVnaXN0ZXJlZCBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v -dGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3Bv -bnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iVW5yZWdpc3Rlck5vZGVzUmVzcG9uc2UiIHR5cGU9InRuczpVbnJl -Z2lzdGVyTm9kZXNSZXNwb25zZSIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb3VudGVyIiB0 -eXBlPSJ4czp1bnNpZ25lZEludCIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOdW1lcmljUmFu -Z2UiIHR5cGU9InhzOnN0cmluZyIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lIiB0eXBl -PSJ4czpzdHJpbmciIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0ZSIgdHlwZT0ieHM6ZGF0 -ZVRpbWUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVuZHBvaW50Q29uZmlndXJhdGlv -biI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT3BlcmF0aW9u -VGltZW91dCIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJVc2VCaW5hcnlFbmNvZGluZyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4U3RyaW5nTGVuZ3RoIiB0eXBlPSJ4czpp -bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heEJ5dGVTdHJp -bmdMZW5ndGgiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iTWF4QXJyYXlMZW5ndGgiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4TWVzc2FnZVNpemUiIHR5cGU9InhzOmludCIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4QnVmZmVyU2l6ZSIgdHlw -ZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDaGFu -bmVsTGlmZXRpbWUiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iU2VjdXJpdHlUb2tlbkxpZmV0aW1lIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vy -cz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJFbmRwb2ludENvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpFbmRwb2ludENv -bmZpZ3VyYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkVuZHBvaW50 -Q29uZmlndXJhdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iRW5kcG9pbnRDb25maWd1cmF0aW9uIiB0eXBlPSJ0bnM6RW5kcG9pbnRDb25maWd1cmF0aW9u -IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJMaXN0T2ZFbmRwb2ludENvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpMaXN0T2ZFbmRwb2lu -dENvbmZpZ3VyYXRpb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNv -bXBsZXhUeXBlIG5hbWU9IlF1ZXJ5RGF0YURlc2NyaXB0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWxhdGl2ZVBhdGgiIHR5cGU9InRuczpSZWxhdGl2 -ZVBhdGgiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJBdHRyaWJ1dGVJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeURhdGFEZXNjcmlwdGlv -biIgdHlwZT0idG5zOlF1ZXJ5RGF0YURlc2NyaXB0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJMaXN0T2ZRdWVyeURhdGFEZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlEYXRhRGVzY3JpcHRpb24iIHR5cGU9InRuczpR -dWVyeURhdGFEZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUXVlcnlEYXRhRGVzY3JpcHRpb24iIHR5cGU9 -InRuczpMaXN0T2ZRdWVyeURhdGFEZXNjcmlwdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxl -bWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTm9kZVR5cGVEZXNjcmlwdGlvbiI+DQog -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHlwZURlZmluaXRpb25O -b2RlIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkluY2x1ZGVTdWJUeXBlcyIgdHlwZT0ieHM6 -Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVRv -UmV0dXJuIiB0eXBlPSJ0bnM6TGlzdE9mUXVlcnlEYXRhRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZVR5cGVEZXNjcmlwdGlvbiIgdHlwZT0idG5z -Ok5vZGVUeXBlRGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RP -Zk5vZGVUeXBlRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9Ik5vZGVUeXBlRGVzY3JpcHRpb24iIHR5cGU9InRuczpOb2RlVHlwZURlc2NyaXB0 -aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJMaXN0T2ZOb2RlVHlwZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mTm9kZVR5 -cGVEZXNjcmlwdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2lt -cGxlVHlwZSAgbmFtZT0iRmlsdGVyT3BlcmF0b3IiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNl -PSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJFcXVhbHNfMCIgLz4N -CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNOdWxsXzEiIC8+DQogICAgICA8eHM6ZW51 -bWVyYXRpb24gdmFsdWU9IkdyZWF0ZXJUaGFuXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g -dmFsdWU9Ikxlc3NUaGFuXzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkdyZWF0 -ZXJUaGFuT3JFcXVhbF80IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJMZXNzVGhh -bk9yRXF1YWxfNSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTGlrZV82IiAvPg0K -ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb3RfNyIgLz4NCiAgICAgIDx4czplbnVtZXJh -dGlvbiB2YWx1ZT0iQmV0d2Vlbl84IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJ -bkxpc3RfOSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQW5kXzEwIiAvPg0KICAg -ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJPcl8xMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv -biB2YWx1ZT0iQ2FzdF8xMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW5WaWV3 -XzEzIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJPZlR5cGVfMTQiIC8+DQogICAg -ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlbGF0ZWRUb18xNSIgLz4NCiAgICAgIDx4czplbnVt -ZXJhdGlvbiB2YWx1ZT0iQml0d2lzZUFuZF8xNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 -YWx1ZT0iQml0d2lzZU9yXzE3IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2lt -cGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyT3BlcmF0b3IiIHR5cGU9InRuczpG -aWx0ZXJPcGVyYXRvciIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUXVlcnlEYXRhU2V0 -Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5 -cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHlwZURlZmluaXRpb25Ob2RlIiB0eXBlPSJ1YTpFeHBh -bmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlZhbHVlcyIgdHlwZT0idWE6TGlzdE9mVmFyaWFudCIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeURhdGFTZXQiIHR5cGU9InRuczpRdWVyeURh -dGFTZXQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlF1ZXJ5RGF0YVNldCI+ -DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlEYXRhU2V0 -IiB0eXBlPSJ0bnM6UXVlcnlEYXRhU2V0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3Vu -ZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZRdWVyeURhdGFTZXQiIHR5cGU9InRu -czpMaXN0T2ZRdWVyeURhdGFTZXQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik5vZGVSZWZlcmVuY2UiPg0KICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJl -bmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ZvcndhcmQiIHR5cGU9InhzOmJvb2xlYW4i -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZWROb2Rl -SWRzIiB0eXBlPSJ1YTpMaXN0T2ZOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iTm9kZVJlZmVyZW5jZSIgdHlwZT0idG5zOk5vZGVSZWZlcmVuY2UiIC8+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk5vZGVSZWZlcmVuY2UiPg0KICAgIDx4czpzZXF1 -ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVSZWZlcmVuY2UiIHR5cGU9InRuczpO -b2RlUmVmZXJlbmNlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZOb2RlUmVmZXJlbmNlIiB0eXBlPSJ0bnM6TGlzdE9mTm9k -ZVJlZmVyZW5jZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iQ29udGVudEZpbHRlckVsZW1lbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlck9wZXJhdG9yIiB0eXBlPSJ0bnM6RmlsdGVyT3Bl -cmF0b3IiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlck9w -ZXJhbmRzIiB0eXBlPSJ1YTpMaXN0T2ZFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGVudEZpbHRlckVsZW1lbnQiIHR5cGU9InRuczpDb250 -ZW50RmlsdGVyRWxlbWVudCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQ29u -dGVudEZpbHRlckVsZW1lbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IkNvbnRlbnRGaWx0ZXJFbGVtZW50IiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlckVsZW1l -bnQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9Ikxpc3RPZkNvbnRlbnRGaWx0ZXJFbGVtZW50IiB0eXBlPSJ0bnM6TGlzdE9mQ29udGVu -dEZpbHRlckVsZW1lbnQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNv -bXBsZXhUeXBlIG5hbWU9IkNvbnRlbnRGaWx0ZXIiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IkVsZW1lbnRzIiB0eXBlPSJ0bnM6TGlzdE9mQ29udGVudEZpbHRl -ckVsZW1lbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 -ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGVudEZp -bHRlciIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXIiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h -bWU9Ikxpc3RPZkNvbnRlbnRGaWx0ZXIiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IkNvbnRlbnRGaWx0ZXIiIHR5cGU9InRuczpDb250ZW50RmlsdGVyIiBtaW5P -Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM -aXN0T2ZDb250ZW50RmlsdGVyIiB0eXBlPSJ0bnM6TGlzdE9mQ29udGVudEZpbHRlciIgbmlsbGFi -bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRmlsdGVy -T3BlcmFuZCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkZpbHRlck9wZXJhbmQiIHR5cGU9InRu -czpGaWx0ZXJPcGVyYW5kIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFbGVtZW50T3Bl -cmFuZCI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6 -ZXh0ZW5zaW9uIGJhc2U9InRuczpGaWx0ZXJPcGVyYW5kIj4NCiAgICAgICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkluZGV4IiB0eXBlPSJ4czp1bnNpZ25lZElu -dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpl -eHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iRWxlbWVudE9wZXJhbmQiIHR5cGU9InRuczpFbGVtZW50T3Bl -cmFuZCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGl0ZXJhbE9wZXJhbmQiPg0KICAg -IDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBi -YXNlPSJ0bnM6RmlsdGVyT3BlcmFuZCI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0idWE6VmFyaWFudCIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAg -PC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg -bmFtZT0iTGl0ZXJhbE9wZXJhbmQiIHR5cGU9InRuczpMaXRlcmFsT3BlcmFuZCIgLz4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iQXR0cmlidXRlT3BlcmFuZCI+DQogICAgPHhzOmNvbXBsZXhD -b250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpGaWx0 -ZXJPcGVyYW5kIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50 -IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFsaWFzIiB0eXBlPSJ4czpzdHJp -bmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iQnJvd3NlUGF0aCIgdHlwZT0idG5zOlJlbGF0aXZlUGF0aCIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdHRyaWJ1 -dGVJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJJbmRleFJhbmdlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hz -OmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBdHRyaWJ1dGVPcGVyYW5kIiB0eXBlPSJ0bnM6QXR0cmli -dXRlT3BlcmFuZCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2ltcGxlQXR0cmlidXRl -T3BlcmFuZCI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8 -eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpGaWx0ZXJPcGVyYW5kIj4NCiAgICAgICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlR5cGVEZWZpbml0aW9uSWQiIHR5cGU9 -InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VQYXRoIiB0eXBlPSJ1YTpMaXN0T2ZRdWFsaWZpZWROYW1l -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50 -IG5hbWU9IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAv -Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmlu -ZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5j +DQogIDx4czplbGVtZW50IG5hbWU9IkNvbnRlbnRGaWx0ZXIiIHR5cGU9InRuczpDb250ZW50Rmls +dGVyIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZDb250ZW50RmlsdGVyIj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250ZW50RmlsdGVy +IiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlciIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91 +bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w +bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQ29udGVudEZpbHRlciIgdHlwZT0i +dG5zOkxpc3RPZkNvbnRlbnRGaWx0ZXIiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoN +CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkZpbHRlck9wZXJhbmQiPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJGaWx0ZXJPcGVyYW5kIiB0eXBlPSJ0bnM6RmlsdGVyT3BlcmFuZCIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iRWxlbWVudE9wZXJhbmQiPg0KICAgIDx4czpjb21wbGV4Q29u +dGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6RmlsdGVy +T3BlcmFuZCI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJJbmRleCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg +ICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxl +eENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkVsZW1l +bnRPcGVyYW5kIiB0eXBlPSJ0bnM6RWxlbWVudE9wZXJhbmQiIC8+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9IkxpdGVyYWxPcGVyYW5kIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9 +ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkZpbHRlck9wZXJhbmQiPg0K +ICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUi +IHR5cGU9InVhOlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5j ZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNpbXBsZUF0dHJpYnV0ZU9wZXJh -bmQiIHR5cGU9InRuczpTaW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiAvPg0KDQogIDx4czpjb21wbGV4 -VHlwZSBuYW1lPSJMaXN0T2ZTaW1wbGVBdHRyaWJ1dGVPcGVyYW5kIj4NCiAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTaW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiB0eXBl -PSJ0bnM6U2ltcGxlQXR0cmlidXRlT3BlcmFuZCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu -Ym91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU2ltcGxlQXR0cmlidXRlT3Bl -cmFuZCIgdHlwZT0idG5zOkxpc3RPZlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIG5pbGxhYmxlPSJ0 -cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNvbnRlbnRGaWx0 -ZXJFbGVtZW50UmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPcGVyYW5kU3RhdHVzQ29kZXMiIHR5cGU9InVhOkxpc3RP -ZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJPcGVyYW5kRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFn -bm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb250ZW50 -RmlsdGVyRWxlbWVudFJlc3VsdCIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0 -IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZDb250ZW50RmlsdGVyRWxlbWVu -dFJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29u -dGVudEZpbHRlckVsZW1lbnRSZXN1bHQiIHR5cGU9InRuczpDb250ZW50RmlsdGVyRWxlbWVudFJl -c3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iTGlzdE9mQ29udGVudEZpbHRlckVsZW1lbnRSZXN1bHQiIHR5cGU9InRuczpMaXN0 -T2ZDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVu -dD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ29udGVudEZpbHRlclJlc3VsdCI+DQogICAg -PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRWxlbWVudFJlc3VsdHMiIHR5 -cGU9InRuczpMaXN0T2ZDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVsZW1lbnREaWFnbm9z -dGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9IkNvbnRlbnRGaWx0ZXJSZXN1bHQiIHR5cGU9InRuczpDb250 -ZW50RmlsdGVyUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJQYXJzaW5nUmVz -dWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXND -b2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJEYXRhU3RhdHVzQ29kZXMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJE -YXRhRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJQYXJzaW5nUmVzdWx0IiB0eXBlPSJ0bnM6 -UGFyc2luZ1Jlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUGFyc2lu -Z1Jlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUGFy -c2luZ1Jlc3VsdCIgdHlwZT0idG5zOlBhcnNpbmdSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2Nj +eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkxpdGVyYWxPcGVyYW5kIiB0eXBl +PSJ0bnM6TGl0ZXJhbE9wZXJhbmQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkF0dHJp +YnV0ZU9wZXJhbmQiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAg +ICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6RmlsdGVyT3BlcmFuZCI+DQogICAgICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5v +ZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJBbGlhcyIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGgiIHR5cGU9 +InRuczpSZWxhdGl2ZVBhdGgiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXR0cmlidXRlSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXhSYW5n +ZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21w +bGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXR0 +cmlidXRlT3BlcmFuZCIgdHlwZT0idG5zOkF0dHJpYnV0ZU9wZXJhbmQiIC8+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9IlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiPg0KICAgIDx4czpjb21wbGV4 +Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Rmls +dGVyT3BlcmFuZCI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJUeXBlRGVmaW5pdGlvbklkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUGF0 +aCIgdHlwZT0idWE6TGlzdE9mUXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdHRyaWJ1dGVJZCIgdHlwZT0i +eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJJbmRleFJhbmdlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4N +CiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl +bWVudCBuYW1lPSJTaW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiB0eXBlPSJ0bnM6U2ltcGxlQXR0cmli +dXRlT3BlcmFuZCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU2ltcGxlQXR0 +cmlidXRlT3BlcmFuZCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iU2ltcGxlQXR0cmlidXRlT3BlcmFuZCIgdHlwZT0idG5zOlNpbXBsZUF0dHJpYnV0ZU9wZXJh +bmQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9Ikxpc3RPZlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIHR5cGU9InRuczpMaXN0T2ZTaW1w +bGVBdHRyaWJ1dGVPcGVyYW5kIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCI+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6 +U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT3Bl +cmFuZFN0YXR1c0NvZGVzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT3BlcmFuZERpYWdu +b3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGVudEZpbHRlckVsZW1lbnRSZXN1bHQiIHR5cGU9 +InRuczpDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iTGlzdE9mQ29udGVudEZpbHRlckVsZW1lbnRSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiB0 +eXBlPSJ0bnM6Q29udGVudEZpbHRlckVsZW1lbnRSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2Nj dXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog -IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlBhcnNpbmdSZXN1 -bHQiIHR5cGU9InRuczpMaXN0T2ZQYXJzaW5nUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czpl -bGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJRdWVyeUZpcnN0UmVxdWVzdCI+DQog -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIg -dHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWaWV3IiB0eXBlPSJ0bnM6Vmlld0Rlc2NyaXB0aW9u -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iTm9kZVR5cGVzIiB0eXBlPSJ0bnM6TGlzdE9mTm9kZVR5cGVEZXNjcmlwdGlvbiIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRl -ciIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhEYXRhU2V0c1RvUmV0dXJuIiB0eXBlPSJ4 -czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -TWF4UmVmZXJlbmNlc1RvUmV0dXJuIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw -IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9IlF1ZXJ5Rmlyc3RSZXF1ZXN0IiB0eXBlPSJ0bnM6UXVlcnlGaXJzdFJlcXVlc3Qi -IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlF1ZXJ5Rmlyc3RSZXNwb25zZSI+DQogICAg -PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5 -cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5RGF0YVNldHMiIHR5cGU9InRuczpMaXN0T2ZR -dWVyeURhdGFTZXQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJDb250aW51YXRpb25Qb2ludCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBt +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkNvbnRlbnRGaWx0 +ZXJFbGVtZW50UmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mQ29udGVudEZpbHRlckVsZW1lbnRSZXN1 +bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9IkNvbnRlbnRGaWx0ZXJSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkVsZW1lbnRSZXN1bHRzIiB0eXBlPSJ0bnM6TGlzdE9mQ29udGVudEZpbHRl +ckVsZW1lbnRSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJFbGVtZW50RGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZE +aWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb250 +ZW50RmlsdGVyUmVzdWx0IiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlclJlc3VsdCIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iUGFyc2luZ1Jlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVN0YXR1c0NvZGVz +IiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YURpYWdub3N0aWNJbmZvcyIgdHlwZT0i +dWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg +bmFtZT0iUGFyc2luZ1Jlc3VsdCIgdHlwZT0idG5zOlBhcnNpbmdSZXN1bHQiIC8+DQoNCiAgPHhz +OmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlBhcnNpbmdSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBhcnNpbmdSZXN1bHQiIHR5cGU9InRuczpQYXJz +aW5nUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJMaXN0T2ZQYXJzaW5nUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mUGFyc2lu +Z1Jlc3VsdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iUXVlcnlGaXJzdFJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBt aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -UGFyc2luZ1Jlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZQYXJzaW5nUmVzdWx0IiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3Rp -Y0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlclJlc3VsdCIgdHlw -ZT0idG5zOkNvbnRlbnRGaWx0ZXJSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iUXVlcnlGaXJzdFJlc3BvbnNlIiB0eXBlPSJ0bnM6UXVlcnlGaXJzdFJlc3BvbnNl -IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJRdWVyeU5leHRSZXF1ZXN0Ij4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBl -PSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlJlbGVhc2VDb250aW51YXRpb25Qb2ludCIgdHlwZT0ieHM6 -Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGlu -dWF0aW9uUG9pbnQiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJRdWVyeU5leHRSZXF1ZXN0IiB0eXBlPSJ0bnM6UXVlcnlOZXh0UmVx -dWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUXVlcnlOZXh0UmVzcG9uc2UiPg0K -ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVy -IiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeURhdGFTZXRzIiB0eXBlPSJ0bnM6TGlz -dE9mUXVlcnlEYXRhU2V0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZENvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpiYXNl +VmlldyIgdHlwZT0idG5zOlZpZXdEZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVUeXBlcyIgdHlwZT0idG5zOkxp +c3RPZk5vZGVUeXBlRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXIiIHR5cGU9InRuczpDb250ZW50RmlsdGVy +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iTWF4RGF0YVNldHNUb1JldHVybiIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i +MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heFJlZmVyZW5jZXNUb1JldHVybiIgdHlw +ZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeUZpcnN0UmVxdWVz +dCIgdHlwZT0idG5zOlF1ZXJ5Rmlyc3RSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu +YW1lPSJRdWVyeUZpcnN0UmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJR +dWVyeURhdGFTZXRzIiB0eXBlPSJ0bnM6TGlzdE9mUXVlcnlEYXRhU2V0IiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9u +UG9pbnQiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBhcnNpbmdSZXN1bHRzIiB0eXBlPSJ0bnM6 +TGlzdE9mUGFyc2luZ1Jlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlh +Z25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJGaWx0ZXJSZXN1bHQiIHR5cGU9InRuczpDb250ZW50RmlsdGVyUmVzdWx0 +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5Rmlyc3RSZXNwb25z +ZSIgdHlwZT0idG5zOlF1ZXJ5Rmlyc3RSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iUXVlcnlOZXh0UmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWxl +YXNlQ29udGludWF0aW9uUG9pbnQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpiYXNl NjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlOZXh0 -UmVzcG9uc2UiIHR5cGU9InRuczpRdWVyeU5leHRSZXNwb25zZSIgLz4NCg0KICA8eHM6c2ltcGxl -VHlwZSAgbmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFz -ZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU291cmNlXzAiIC8+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNlcnZlcl8xIiAvPg0KICAgICAgPHhzOmVu -dW1lcmF0aW9uIHZhbHVlPSJCb3RoXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 -Ik5laXRoZXJfMyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW52YWxpZF80IiAv -Pg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiB0eXBlPSJ0bnM6VGltZXN0YW1wc1RvUmV0dXJu -IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWFkVmFsdWVJZCI+DQogICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQi -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJBdHRyaWJ1dGVJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFF -bmNvZGluZyIgdHlwZT0idWE6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJSZWFkVmFsdWVJZCIgdHlwZT0idG5zOlJlYWRWYWx1ZUlkIiAvPg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZSZWFkVmFsdWVJZCI+DQogICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZFZhbHVlSWQiIHR5cGU9InRuczpSZWFk -VmFsdWVJZCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iTGlzdE9mUmVhZFZhbHVlSWQiIHR5cGU9InRuczpMaXN0T2ZSZWFkVmFsdWVJ -ZCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt -ZT0iUmVhZFJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4QWdlIiB0eXBl -PSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRp -bWVzdGFtcHNUb1JldHVybiIgdHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb1JlYWQiIHR5cGU9InRuczpM -aXN0T2ZSZWFkVmFsdWVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJS -ZWFkUmVxdWVzdCIgdHlwZT0idG5zOlJlYWRSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJSZWFkUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1 -bHRzIiB0eXBlPSJ1YTpMaXN0T2ZEYXRhVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVh -Okxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9IlJlYWRSZXNwb25zZSIgdHlwZT0idG5zOlJlYWRSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iSGlzdG9yeVJlYWRWYWx1ZUlkIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkluZGV4UmFu -Z2UiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFFbmNvZGluZyIgdHlwZT0idWE6UXVhbGlmaWVkTmFt -ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IkNvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRWYWx1ZUlkIiB0eXBlPSJ0bnM6 -SGlzdG9yeVJlYWRWYWx1ZUlkIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZI -aXN0b3J5UmVhZFZhbHVlSWQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9Ikhpc3RvcnlSZWFkVmFsdWVJZCIgdHlwZT0idG5zOkhpc3RvcnlSZWFkVmFsdWVJZCIg -bWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iTGlzdE9mSGlzdG9yeVJlYWRWYWx1ZUlkIiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeVJlYWRW -YWx1ZUlkIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJIaXN0b3J5UmVhZFJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9uUG9pbnQiIHR5cGU9 -InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlEYXRhIiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg -PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRSZXN1bHQi -IHR5cGU9InRuczpIaXN0b3J5UmVhZFJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt -ZT0iTGlzdE9mSGlzdG9yeVJlYWRSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9Ikhpc3RvcnlSZWFkUmVzdWx0IiB0eXBlPSJ0bnM6SGlzdG9yeVJlYWRS -ZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9Ikxpc3RPZkhpc3RvcnlSZWFkUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9y -eVJlYWRSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9Ikhpc3RvcnlSZWFkRGV0YWlscyI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +UmVxdWVzdCIgdHlwZT0idG5zOlF1ZXJ5TmV4dFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9IlF1ZXJ5TmV4dFJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVy +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iUXVlcnlEYXRhU2V0cyIgdHlwZT0idG5zOkxpc3RPZlF1ZXJ5RGF0YVNldCIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRD +b250aW51YXRpb25Qb2ludCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5TmV4dFJlc3BvbnNlIiB0eXBlPSJ0bnM6UXVlcnlO +ZXh0UmVzcG9uc2UiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IlRpbWVzdGFtcHNUb1Jl +dHVybiI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6 +ZW51bWVyYXRpb24gdmFsdWU9IlNvdXJjZV8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh +bHVlPSJTZXJ2ZXJfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQm90aF8yIiAv +Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOZWl0aGVyXzMiIC8+DQogICAgICA8eHM6 +ZW51bWVyYXRpb24gdmFsdWU9IkludmFsaWRfNCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0K +ICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRpbWVzdGFtcHNUb1JldHVy +biIgdHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iUmVhZFZhbHVlSWQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXR0cmlidXRlSWQiIHR5cGU9InhzOnVu +c2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbmRl +eFJhbmdlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhRW5jb2RpbmciIHR5cGU9InVhOlF1YWxpZmll +ZE5hbWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j +ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZFZhbHVlSWQi +IHR5cGU9InRuczpSZWFkVmFsdWVJZCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlz +dE9mUmVhZFZhbHVlSWQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlJlYWRWYWx1ZUlkIiB0eXBlPSJ0bnM6UmVhZFZhbHVlSWQiIG1pbk9jY3Vycz0iMCIgbWF4 +T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlJlYWRWYWx1 +ZUlkIiB0eXBlPSJ0bnM6TGlzdE9mUmVhZFZhbHVlSWQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVs +ZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlYWRSZXF1ZXN0Ij4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0 +bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9Ik1heEFnZSIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iIHR5cGU9InRu +czpUaW1lc3RhbXBzVG9SZXR1cm4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9Ik5vZGVzVG9SZWFkIiB0eXBlPSJ0bnM6TGlzdE9mUmVhZFZhbHVlSWQiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w +bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZFJlcXVlc3QiIHR5cGU9InRuczpSZWFk +UmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZFJlc3BvbnNlIj4NCiAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIg +dHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mRGF0YVZh +bHVlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz +OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWFkUmVzcG9uc2UiIHR5cGU9InRu +czpSZWFkUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlSZWFk +VmFsdWVJZCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9k +ZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbmRleFJhbmdlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRh +RW5jb2RpbmciIHR5cGU9InVhOlF1YWxpZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250aW51YXRpb25Qb2ludCIgdHlw +ZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -Ikhpc3RvcnlSZWFkRGV0YWlscyIgdHlwZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyIgLz4NCg0K -ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZEV2ZW50RGV0YWlscyI+DQogICAgPHhzOmNvbXBs -ZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpI -aXN0b3J5UmVhZERldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iTnVtVmFsdWVzUGVyTm9kZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1p +Ikhpc3RvcnlSZWFkVmFsdWVJZCIgdHlwZT0idG5zOkhpc3RvcnlSZWFkVmFsdWVJZCIgLz4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mSGlzdG9yeVJlYWRWYWx1ZUlkIj4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5UmVhZFZhbHVlSWQi +IHR5cGU9InRuczpIaXN0b3J5UmVhZFZhbHVlSWQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1 +bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkhpc3RvcnlSZWFkVmFsdWVJ +ZCIgdHlwZT0idG5zOkxpc3RPZkhpc3RvcnlSZWFkVmFsdWVJZCIgbmlsbGFibGU9InRydWUiPjwv +eHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeVJlYWRSZXN1bHQi +Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c0NvZGUi +IHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5 +RGF0YSIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl +bGVtZW50IG5hbWU9Ikhpc3RvcnlSZWFkUmVzdWx0IiB0eXBlPSJ0bnM6SGlzdG9yeVJlYWRSZXN1 +bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkhpc3RvcnlSZWFkUmVzdWx0 +Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5UmVh +ZFJlc3VsdCIgdHlwZT0idG5zOkhpc3RvcnlSZWFkUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9j +Y3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZIaXN0b3J5UmVh +ZFJlc3VsdCIgdHlwZT0idG5zOkxpc3RPZkhpc3RvcnlSZWFkUmVzdWx0IiBuaWxsYWJsZT0idHJ1 +ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5UmVhZERl +dGFpbHMiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5UmVhZERldGFpbHMiIHR5cGU9 +InRuczpIaXN0b3J5UmVhZERldGFpbHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJl +YWRFdmVudERldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0K +ICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICAg +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik51bVZhbHVlc1Bl +ck5vZGUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iU3RhcnRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJz +PSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZFRpbWUiIHR5cGU9InhzOmRh +dGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmls +dGVyIiB0eXBlPSJ0bnM6RXZlbnRGaWx0ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8 +L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJSZWFkRXZlbnREZXRhaWxzIiB0eXBlPSJ0bnM6UmVhZEV2ZW50RGV0YWlscyIgLz4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZFJhd01vZGlmaWVkRGV0YWlscyI+DQogICAgPHhz +OmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9 +InRuczpIaXN0b3J5UmVhZERldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNSZWFkTW9kaWZpZWQiIHR5cGU9InhzOmJvb2xlYW4iIG1p bk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFydFRpbWUiIHR5 cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQg bmFtZT0iRW5kVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXIiIHR5cGU9InRuczpFdmVudEZpbHRlciIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAg -ICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlYWRFdmVudERldGFpbHMiIHR5cGU9InRu -czpSZWFkRXZlbnREZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWFkUmF3 -TW9kaWZpZWREZXRhaWxzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4N -CiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyI+DQogICAg -ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc1JlYWRNb2Rp -ZmllZCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlN0YXJ0VGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIg -Lz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRUaW1lIiB0eXBlPSJ4czpkYXRlVGlt -ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik51bVZhbHVl -c1Blck5vZGUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV0dXJuQm91bmRzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lv -bj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJSZWFkUmF3TW9kaWZpZWREZXRhaWxzIiB0eXBlPSJ0bnM6UmVhZFJhd01v -ZGlmaWVkRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZFByb2Nlc3Nl -ZERldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAg -PHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICAgICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXJ0VGltZSIgdHlwZT0i -eHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJFbmRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAg -IDx4czplbGVtZW50IG5hbWU9IlByb2Nlc3NpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBt -aW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWdncmVnYXRlVHlw -ZSIgdHlwZT0idWE6TGlzdE9mTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIHR5 -cGU9InRuczpBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQog -ICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iUmVhZFByb2Nlc3NlZERldGFpbHMiIHR5cGU9InRuczpSZWFkUHJvY2Vzc2VkRGV0 -YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZEF0VGltZURldGFpbHMiPg0K -ICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lv -biBiYXNlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcVRpbWVzIiB0eXBlPSJ1YTpMaXN0T2ZEYXRl -VGltZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJVc2VTaW1wbGVCb3VuZHMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAg -IDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9IlJlYWRBdFRpbWVEZXRhaWxzIiB0eXBlPSJ0bnM6UmVhZEF0VGltZURldGFpbHMiIC8+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlEYXRhIj4NCiAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVmFsdWVzIiB0eXBlPSJ1YTpMaXN0T2ZE -YXRhVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 -ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeURh -dGEiIHR5cGU9InRuczpIaXN0b3J5RGF0YSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -TW9kaWZpY2F0aW9uSW5mbyI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iTW9kaWZpY2F0aW9uVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVwZGF0ZVR5cGUiIHR5cGU9InRuczpIaXN0b3J5 -VXBkYXRlVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNl -ck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJNb2RpZmljYXRpb25JbmZvIiB0eXBlPSJ0bnM6TW9kaWZpY2F0aW9uSW5mbyIgLz4NCg0K -ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTW9kaWZpY2F0aW9uSW5mbyI+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZpY2F0aW9uSW5mbyIgdHlw -ZT0idG5zOk1vZGlmaWNhdGlvbkluZm8iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5k -ZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk1vZGlmaWNhdGlvbkluZm8iIHR5cGU9 -InRuczpMaXN0T2ZNb2RpZmljYXRpb25JbmZvIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50 -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5TW9kaWZpZWREYXRhIj4NCiAgICA8 -eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFz -ZT0idG5zOkhpc3RvcnlEYXRhIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4 -czplbGVtZW50IG5hbWU9Ik1vZGlmaWNhdGlvbkluZm9zIiB0eXBlPSJ0bnM6TGlzdE9mTW9kaWZp -Y2F0aW9uSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94 -czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRl -bnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlNb2Rp -ZmllZERhdGEiIHR5cGU9InRuczpIaXN0b3J5TW9kaWZpZWREYXRhIiAvPg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJIaXN0b3J5RXZlbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IkV2ZW50cyIgdHlwZT0idG5zOkxpc3RPZkhpc3RvcnlFdmVudEZpZWxk -TGlzdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl -Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5RXZlbnQi -IHR5cGU9InRuczpIaXN0b3J5RXZlbnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhp -c3RvcnlSZWFkUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5UmVh -ZERldGFpbHMiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRpbWVzdGFtcHNUb1JldHVybiIg -dHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iUmVsZWFzZUNvbnRpbnVhdGlvblBvaW50cyIgdHlwZT0ieHM6Ym9vbGVh -biIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb1JlYWQi -IHR5cGU9InRuczpMaXN0T2ZIaXN0b3J5UmVhZFZhbHVlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOdW1WYWx1ZXNQZXJOb2RlIiB0eXBlPSJ4czp1bnNpZ25l +ZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldHVy +bkJvdW5kcyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hz +OnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVu +dD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZFJhd01vZGlm +aWVkRGV0YWlscyIgdHlwZT0idG5zOlJlYWRSYXdNb2RpZmllZERldGFpbHMiIC8+DQoNCiAgPHhz +OmNvbXBsZXhUeXBlIG5hbWU9IlJlYWRQcm9jZXNzZWREZXRhaWxzIj4NCiAgICA8eHM6Y29tcGxl +eENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhp +c3RvcnlSZWFkRGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJTdGFydFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAi +IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5kVGltZSIgdHlwZT0ieHM6ZGF0ZVRp +bWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQcm9jZXNz +aW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAg +IDx4czplbGVtZW50IG5hbWU9IkFnZ3JlZ2F0ZVR5cGUiIHR5cGU9InVhOkxpc3RPZk5vZGVJZCIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiB0eXBlPSJ0bnM6QWdncmVnYXRlQ29uZmlndXJh +dGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1 +ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlYWRQcm9jZXNzZWREZXRh +aWxzIiB0eXBlPSJ0bnM6UmVhZFByb2Nlc3NlZERldGFpbHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9IlJlYWRBdFRpbWVEZXRhaWxzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4 +ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhpc3RvcnlSZWFkRGV0 +YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJSZXFUaW1lcyIgdHlwZT0idWE6TGlzdE9mRGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlU2ltcGxlQm91bmRz +IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVu +Y2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWFkQXRUaW1lRGV0YWlscyIg +dHlwZT0idG5zOlJlYWRBdFRpbWVEZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +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 -PHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRSZXF1ZXN0IiB0eXBlPSJ0bnM6SGlzdG9yeVJl -YWRSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5UmVhZFJlc3Bv -bnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25z -ZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxp -c3RPZkhpc3RvcnlSZWFkUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZE -aWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz -OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0 -b3J5UmVhZFJlc3BvbnNlIiB0eXBlPSJ0bnM6SGlzdG9yeVJlYWRSZXNwb25zZSIgLz4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iV3JpdGVWYWx1ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdHRyaWJ1dGVJ +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 -ZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlIiB0eXBlPSJ1YTpE -YXRhVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 -ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVWYWx1 -ZSIgdHlwZT0idG5zOldyaXRlVmFsdWUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxp -c3RPZldyaXRlVmFsdWUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IldyaXRlVmFsdWUiIHR5cGU9InRuczpXcml0ZVZhbHVlIiBtaW5PY2N1cnM9IjAiIG1heE9j -Y3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZXcml0ZVZhbHVl -IiB0eXBlPSJ0bnM6TGlzdE9mV3JpdGVWYWx1ZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVu -dD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iV3JpdGVSZXF1ZXN0Ij4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6 -UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9Ik5vZGVzVG9Xcml0ZSIgdHlwZT0idG5zOkxpc3RPZldyaXRlVmFsdWUi -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg -PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVSZXF1ZXN0IiB0eXBl -PSJ0bnM6V3JpdGVSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJXcml0ZVJl +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 -ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVSZXNw -b25zZSIgdHlwZT0idG5zOldyaXRlUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h -bWU9Ikhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5VXBkYXRlRGV0YWlscyIgdHlwZT0idG5zOkhpc3Rv -cnlVcGRhdGVEZXRhaWxzIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJIaXN0b3J5VXBk -YXRlVHlwZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8 -eHM6ZW51bWVyYXRpb24gdmFsdWU9Ikluc2VydF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u -IHZhbHVlPSJSZXBsYWNlXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVwZGF0 -ZV8zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEZWxldGVfNCIgLz4NCiAgICA8 -L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -Ikhpc3RvcnlVcGRhdGVUeXBlIiB0eXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZVR5cGUiIC8+DQoNCiAg -PHhzOnNpbXBsZVR5cGUgIG5hbWU9IlBlcmZvcm1VcGRhdGVUeXBlIj4NCiAgICA8eHM6cmVzdHJp -Y3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW5z -ZXJ0XzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlcGxhY2VfMiIgLz4NCiAg -ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVXBkYXRlXzMiIC8+DQogICAgICA8eHM6ZW51bWVy -YXRpb24gdmFsdWU9IlJlbW92ZV80IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6 -c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUGVyZm9ybVVwZGF0ZVR5cGUiIHR5cGU9 -InRuczpQZXJmb3JtVXBkYXRlVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVXBk -YXRlRGF0YURldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0K -ICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAg -ICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUGVyZm9ybUlu -c2VydFJlcGxhY2UiIHR5cGU9InRuczpQZXJmb3JtVXBkYXRlVHlwZSIgbWluT2NjdXJzPSIwIiAv -Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlVwZGF0ZVZhbHVlcyIgdHlwZT0idWE6TGlz -dE9mRGF0YVZhbHVlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8 -L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29u -dGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVXBkYXRlRGF0 -YURldGFpbHMiIHR5cGU9InRuczpVcGRhdGVEYXRhRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iVXBkYXRlU3RydWN0dXJlRGF0YURldGFpbHMiPg0KICAgIDx4czpjb21wbGV4 -Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlz -dG9yeVVwZGF0ZURldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iUGVyZm9ybUluc2VydFJlcGxhY2UiIHR5cGU9InRuczpQZXJmb3JtVXBk -YXRlVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlVw -ZGF0ZVZhbHVlcyIgdHlwZT0idWE6TGlzdE9mRGF0YVZhbHVlIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNp -b24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iVXBkYXRlU3RydWN0dXJlRGF0YURldGFpbHMiIHR5cGU9InRuczpVcGRh -dGVTdHJ1Y3R1cmVEYXRhRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVXBk -YXRlRXZlbnREZXRhaWxzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4N -CiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAg -ICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlBlcmZvcm1J -bnNlcnRSZXBsYWNlIiB0eXBlPSJ0bnM6UGVyZm9ybVVwZGF0ZVR5cGUiIG1pbk9jY3Vycz0iMCIg -Lz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXIiIHR5cGU9InRuczpFdmVudEZp -bHRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJFdmVudERhdGEiIHR5cGU9InRuczpMaXN0T2ZIaXN0b3J5RXZlbnRGaWVsZExp -c3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVu -Y2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVcGRhdGVFdmVudERldGFpbHMi -IHR5cGU9InRuczpVcGRhdGVFdmVudERldGFpbHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h -bWU9IkRlbGV0ZVJhd01vZGlmaWVkRGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1p -eGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5VXBkYXRl -RGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJJc0RlbGV0ZU1vZGlmaWVkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+ -DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhcnRUaW1lIiB0eXBlPSJ4czpkYXRlVGlt -ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZFRpbWUi -IHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVu -Y2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVSYXdNb2RpZmllZERl -dGFpbHMiIHR5cGU9InRuczpEZWxldGVSYXdNb2RpZmllZERldGFpbHMiIC8+DQoNCiAgPHhzOmNv -bXBsZXhUeXBlIG5hbWU9IkRlbGV0ZUF0VGltZURldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29u -dGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9y -eVVwZGF0ZURldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVxVGltZXMiIHR5cGU9InVhOkxpc3RPZkRhdGVUaW1lIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94 -czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlQXRUaW1lRGV0YWlscyIgdHlwZT0idG5zOkRl -bGV0ZUF0VGltZURldGFpbHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZUV2 -ZW50RGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAg -ICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudElkcyIgdHlw -ZT0idWE6TGlzdE9mQnl0ZVN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6 -Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -IkRlbGV0ZUV2ZW50RGV0YWlscyIgdHlwZT0idG5zOkRlbGV0ZUV2ZW50RGV0YWlscyIgLz4NCg0K -ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3VsdCI+DQogICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3Rh -dHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT3BlcmF0 -aW9uUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIg -dHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3VsdCIgdHlwZT0idG5zOkhpc3RvcnlVcGRhdGVS -ZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkhpc3RvcnlVcGRhdGVS -ZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3Rv -cnlVcGRhdGVSZXN1bHQiIHR5cGU9InRuczpIaXN0b3J5VXBkYXRlUmVzdWx0IiBtaW5PY2N1cnM9 -IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZI -aXN0b3J5VXBkYXRlUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeVVwZGF0ZVJlc3VsdCIg -bmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -SGlzdG9yeVVwZGF0ZVJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9y -eVVwZGF0ZURldGFpbHMiIHR5cGU9InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5VXBkYXRlUmVxdWVzdCIgdHlwZT0i -dG5zOkhpc3RvcnlVcGRhdGVSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJI -aXN0b3J5VXBkYXRlUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlTW9u +aXRvcmVkSXRlbXNSZXNwb25zZSIgdHlwZT0idG5zOkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVzcG9u +c2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNyZWF0ZVN1YnNjcmlwdGlvblJlcXVl +c3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RI +ZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkUHVibGlzaGluZ0ludGVy +dmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlJlcXVlc3RlZExpZmV0aW1lQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWRNYXhLZWVwQWxp +dmVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9Ik1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoIiB0eXBlPSJ4czp1bnNp +Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlz +aGluZ0VuYWJsZWQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlByaW9yaXR5IiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vy +cz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJDcmVhdGVTdWJzY3JpcHRpb25SZXF1ZXN0IiB0eXBlPSJ0bnM6Q3JlYXRl +U3Vic2NyaXB0aW9uUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ3JlYXRl +U3Vic2NyaXB0aW9uUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt ZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1 -bHRzIiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeVVwZGF0ZVJlc3VsdCIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZv -cyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3BvbnNlIiB0eXBlPSJ0bnM6SGlzdG9yeVVw -ZGF0ZVJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDYWxsTWV0aG9kUmVx -dWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT2JqZWN0 -SWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ik1ldGhvZElkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbnB1dEFy -Z3VtZW50cyIgdHlwZT0idWE6TGlzdE9mVmFyaWFudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJDYWxsTWV0aG9kUmVxdWVzdCIgdHlwZT0idG5zOkNhbGxNZXRob2RSZXF1 -ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZDYWxsTWV0aG9kUmVxdWVz -dCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2FsbE1ldGhv -ZFJlcXVlc3QiIHR5cGU9InRuczpDYWxsTWV0aG9kUmVxdWVzdCIgbWluT2NjdXJzPSIwIiBtYXhP -Y2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQ2FsbE1ldGhv -ZFJlcXVlc3QiIHR5cGU9InRuczpMaXN0T2ZDYWxsTWV0aG9kUmVxdWVzdCIgbmlsbGFibGU9InRy -dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2FsbE1ldGhvZFJl -c3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVz -Q29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iSW5wdXRBcmd1bWVudFJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0Nv -ZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJJbnB1dEFyZ3VtZW50RGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9z -dGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9Ik91dHB1dEFyZ3VtZW50cyIgdHlwZT0idWE6TGlzdE9mVmFyaWFudCIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDYWxsTWV0aG9kUmVzdWx0IiB0eXBlPSJ0 -bnM6Q2FsbE1ldGhvZFJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m -Q2FsbE1ldGhvZFJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iQ2FsbE1ldGhvZFJlc3VsdCIgdHlwZT0idG5zOkNhbGxNZXRob2RSZXN1bHQiIG1pbk9j -Y3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv -eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxp -c3RPZkNhbGxNZXRob2RSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZDYWxsTWV0aG9kUmVzdWx0IiBu -aWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJD -YWxsUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -UmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXRob2RzVG9DYWxsIiB0 -eXBlPSJ0bnM6TGlzdE9mQ2FsbE1ldGhvZFJlcXVlc3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iQ2FsbFJlcXVlc3QiIHR5cGU9InRuczpDYWxsUmVxdWVzdCIgLz4NCg0K -ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2FsbFJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3Bv -bnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZkNhbGxNZXRob2RSZXN1bHQiIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJE -aWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNhbGxSZXNwb25zZSIgdHlwZT0idG5zOkNhbGxS -ZXNwb25zZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iTW9uaXRvcmluZ01vZGUiPg0K -ICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0 -aW9uIHZhbHVlPSJEaXNhYmxlZF8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJT -YW1wbGluZ18xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZXBvcnRpbmdfMiIg -Lz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9Ik1vbml0b3JpbmdNb2RlIiB0eXBlPSJ0bnM6TW9uaXRvcmluZ01vZGUiIC8+DQoN -CiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkRhdGFDaGFuZ2VUcmlnZ2VyIj4NCiAgICA8eHM6cmVz -dHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i -U3RhdHVzXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN0YXR1c1ZhbHVlXzEi -IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN0YXR1c1ZhbHVlVGltZXN0YW1wXzIi -IC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJEYXRhQ2hhbmdlVHJpZ2dlciIgdHlwZT0idG5zOkRhdGFDaGFuZ2VUcmlnZ2Vy -IiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJEZWFkYmFuZFR5cGUiPg0KICAgIDx4czpy -ZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl -PSJOb25lXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFic29sdXRlXzEiIC8+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlBlcmNlbnRfMiIgLz4NCiAgICA8L3hzOnJl -c3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlYWRi -YW5kVHlwZSIgdHlwZT0idG5zOkRlYWRiYW5kVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iTW9uaXRvcmluZ0ZpbHRlciI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3Jp -bmdGaWx0ZXIiIHR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVyIiAvPg0KDQogIDx4czpjb21wbGV4 -VHlwZSBuYW1lPSJEYXRhQ2hhbmdlRmlsdGVyIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4 -ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk1vbml0b3JpbmdGaWx0 -ZXIiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -VHJpZ2dlciIgdHlwZT0idG5zOkRhdGFDaGFuZ2VUcmlnZ2VyIiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVhZGJhbmRUeXBlIiB0eXBlPSJ4czp1bnNpZ25l -ZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlYWRi -YW5kVmFsdWUiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hz -OnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVu -dD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YUNoYW5nZUZp -bHRlciIgdHlwZT0idG5zOkRhdGFDaGFuZ2VGaWx0ZXIiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9IkV2ZW50RmlsdGVyIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNl -Ij4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk1vbml0b3JpbmdGaWx0ZXIiPg0KICAg -ICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VsZWN0Q2xh -dXNlcyIgdHlwZT0idG5zOkxpc3RPZlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iV2hlcmVD -bGF1c2UiIHR5cGU9InRuczpDb250ZW50RmlsdGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQog -ICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iRXZlbnRGaWx0ZXIiIHR5cGU9InRuczpFdmVudEZpbHRlciIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iQWdncmVnYXRlQ29uZmlndXJhdGlvbiI+DQogICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlU2VydmVyQ2FwYWJpbGl0aWVzRGVmYXVs -dHMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlRyZWF0VW5jZXJ0YWluQXNCYWQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBlcmNlbnREYXRhQmFkIiB0eXBlPSJ4czp1 -bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBl -cmNlbnREYXRhR29vZCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VTbG9wZWRFeHRyYXBvbGF0aW9uIiB0eXBlPSJ4czpi -b29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWdncmVnYXRlQ29uZmlndXJhdGlvbiIgdHlw -ZT0idG5zOkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h -bWU9IkFnZ3JlZ2F0ZUZpbHRlciI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxz -ZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpNb25pdG9yaW5nRmlsdGVyIj4NCiAg -ICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXJ0VGlt -ZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJBZ2dyZWdhdGVUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJvY2Vzc2lu -Z0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiB0eXBlPSJ0bnM6QWdncmVn -YXRlQ29uZmlndXJhdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -ICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxl -eENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFnZ3Jl -Z2F0ZUZpbHRlciIgdHlwZT0idG5zOkFnZ3JlZ2F0ZUZpbHRlciIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iTW9uaXRvcmluZ0ZpbHRlclJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9Ik1vbml0b3JpbmdGaWx0ZXJSZXN1bHQiIHR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVyUmVz -dWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFdmVudEZpbHRlclJlc3VsdCI+DQog -ICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9u -IGJhc2U9InRuczpNb25pdG9yaW5nRmlsdGVyUmVzdWx0Ij4NCiAgICAgICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlbGVjdENsYXVzZVJlc3VsdHMiIHR5cGU9 -InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VsZWN0Q2xhdXNlRGlhZ25vc3RpY0luZm9zIiB0 -eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJXaGVyZUNsYXVzZVJlc3VsdCIgdHlw -ZT0idG5zOkNvbnRlbnRGaWx0ZXJSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8 -L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJFdmVudEZpbHRlclJlc3VsdCIgdHlwZT0idG5zOkV2ZW50RmlsdGVyUmVzdWx0IiAvPg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZ2dyZWdhdGVGaWx0ZXJSZXN1bHQiPg0KICAgIDx4 -czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNl -PSJ0bnM6TW9uaXRvcmluZ0ZpbHRlclJlc3VsdCI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkU3RhcnRUaW1lIiB0eXBlPSJ4czpkYXRl -VGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlz -ZWRQcm9jZXNzaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRBZ2dyZWdhdGVDb25maWd1cmF0aW9u -IiB0eXBlPSJ0bnM6QWdncmVnYXRlQ29uZmlndXJhdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9u -Pg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9IkFnZ3JlZ2F0ZUZpbHRlclJlc3VsdCIgdHlwZT0idG5zOkFnZ3JlZ2F0ZUZp -bHRlclJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9uaXRvcmluZ1BhcmFt -ZXRlcnMiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVu -dEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlNhbXBsaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyIiB0eXBlPSJ1YTpFeHRl -bnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJRdWV1ZVNpemUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjYXJkT2xkZXN0IiB0eXBlPSJ4czpi -b29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ1BhcmFtZXRlcnMiIHR5cGU9 -InRuczpNb25pdG9yaW5nUGFyYW1ldGVycyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -TW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9Ikl0ZW1Ub01vbml0b3IiIHR5cGU9InRuczpSZWFkVmFsdWVJZCIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1v -bml0b3JpbmdNb2RlIiB0eXBlPSJ0bnM6TW9uaXRvcmluZ01vZGUiIG1pbk9jY3Vycz0iMCIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZFBhcmFtZXRlcnMiIHR5cGU9InRuczpN -b25pdG9yaW5nUGFyYW1ldGVycyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIgdHlwZT0idG5zOk1vbml0b3JlZEl0ZW1DcmVh -dGVSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJ -dGVtQ3JlYXRlUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIHR5cGU9InRuczpNb25pdG9yZWRJdGVt -Q3JlYXRlUmVxdWVzdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIHR5cGU9 -InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIgbmlsbGFibGU9InRydWUiPjwv -eHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9uaXRvcmVkSXRlbUNyZWF0 -ZVJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Rh -dHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFNhbXBsaW5nSW50 -ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iUmV2aXNlZFF1ZXVlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vy -cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlclJlc3VsdCIgdHlwZT0idWE6 -RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv -eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1v -bml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIHR5cGU9InRuczpNb25pdG9yZWRJdGVtQ3JlYXRlUmVz -dWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVtQ3Jl -YXRlUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJN -b25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0IiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRlbUNyZWF0ZVJl -c3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbUNyZWF0ZVJlc3VsdCIgdHlwZT0idG5zOkxpc3RP -Zk1vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zUmVxdWVzdCI+ +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+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlwZT0ieHM6dW5z -aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRpbWVz -dGFtcHNUb1JldHVybiIgdHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXRlbXNUb0NyZWF0ZSIgdHlwZT0idG5zOkxp -c3RPZk1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgdHlwZT0idG5zOkNyZWF0 -ZU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ3Jl -YXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0IiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlh -Z25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiB0 -eXBlPSJ0bnM6Q3JlYXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5j -ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1JZCIgdHlwZT0ieHM6dW5z -aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVl -c3RlZFBhcmFtZXRlcnMiIHR5cGU9InRuczpNb25pdG9yaW5nUGFyYW1ldGVycyIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCIg -dHlwZT0idG5zOk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4 -VHlwZSBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCI+DQogICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVl -c3QiIHR5cGU9InRuczpNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCIgbWluT2NjdXJzPSIwIiBt -YXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTW9uaXRv -cmVkSXRlbU1vZGlmeVJlcXVlc3QiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtTW9kaWZ5 -UmVxdWVzdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFNhbXBsaW5n -SW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmV2aXNlZFF1ZXVlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlclJlc3VsdCIgdHlwZT0i -dWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -Ik1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIHR5cGU9InRuczpNb25pdG9yZWRJdGVtTW9kaWZ5 -UmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVt -TW9kaWZ5UmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0IiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRlbU1vZGlm -eVJlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCIgdHlwZT0idG5zOkxp -c3RPZk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1l -bnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1vZGlmeU1vbml0b3JlZEl0ZW1zUmVxdWVz -dCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhl -YWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlwZT0ieHM6 -dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRp -bWVzdGFtcHNUb1JldHVybiIgdHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXRlbXNUb01vZGlmeSIgdHlwZT0idG5z -Okxpc3RPZk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9Ik1vZGlmeU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgdHlwZT0idG5zOk1v -ZGlmeU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -TW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRl -ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0IiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -RGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZnlNb25pdG9yZWRJdGVtc1Jlc3BvbnNl -IiB0eXBlPSJ0bnM6TW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iU2V0TW9uaXRvcmluZ01vZGVSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVx -dWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ01vZGUiIHR5cGU9 -InRuczpNb25pdG9yaW5nTW9kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iTW9uaXRvcmVkSXRlbUlkcyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNldE1vbml0b3JpbmdNb2RlUmVxdWVzdCIgdHlw -ZT0idG5zOlNldE1vbml0b3JpbmdNb2RlUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iU2V0TW9uaXRvcmluZ01vZGVSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhl -YWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5m -b3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9IlNldE1vbml0b3JpbmdNb2RlUmVzcG9uc2UiIHR5cGU9InRuczpTZXRN -b25pdG9yaW5nTW9kZVJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXRU -cmlnZ2VyaW5nUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRp -b25JZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlRyaWdnZXJpbmdJdGVtSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaW5rc1RvQWRkIiB0eXBlPSJ1 -YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJMaW5rc1RvUmVtb3ZlIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0VHJpZ2dlcmluZ1JlcXVlc3Qi -IHR5cGU9InRuczpTZXRUcmlnZ2VyaW5nUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iU2V0VHJpZ2dlcmluZ1Jlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVy -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iQWRkUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZERpYWdub3N0aWNJ -bmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZW1vdmVSZXN1bHRzIiB0eXBl -PSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVtb3ZlRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpM -aXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJTZXRUcmlnZ2VyaW5nUmVzcG9uc2UiIHR5cGU9InRuczpTZXRUcmlnZ2VyaW5nUmVzcG9uc2Ui -IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVxdWVz -dCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhl -YWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlwZT0ieHM6 -dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1v -bml0b3JlZEl0ZW1JZHMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVNb25pdG9yZWRJdGVtc1JlcXVlc3QiIHR5cGU9InRu -czpEZWxldGVNb25pdG9yZWRJdGVtc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h -bWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VI -ZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0lu -Zm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6 -RGVsZXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt -ZT0iQ3JlYXRlU3Vic2NyaXB0aW9uUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIi -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJSZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTGlmZXRpbWVDb3VudCIg -dHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4Tm90aWZpY2F0aW9u -c1BlclB1Ymxpc2giIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoaW5nRW5hYmxlZCIgdHlwZT0ieHM6Ym9vbGVhbiIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJpb3JpdHkiIHR5cGU9 -InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog -IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZVN1YnNjcmlwdGlv -blJlcXVlc3QiIHR5cGU9InRuczpDcmVhdGVTdWJzY3JpcHRpb25SZXF1ZXN0IiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJDcmVhdGVTdWJzY3JpcHRpb25SZXNwb25zZSI+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9 -InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZElu -dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFB1Ymxp -c2hpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkTGlmZXRpbWVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJ -bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRNYXhL -ZWVwQWxpdmVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJDcmVhdGVTdWJzY3JpcHRpb25SZXNwb25zZSIgdHlwZT0idG5zOkNyZWF0ZVN1YnNjcmlwdGlv -blJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb2RpZnlTdWJzY3JpcHRp -b25SZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS -ZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0 -eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iUmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZExpZmV0aW1lQ291 -bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJSZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJ -bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heE5vdGlmaWNh -dGlvbnNQZXJQdWJsaXNoIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJpb3JpdHkiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIg -bWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvblJlcXVlc3QiIHR5cGU9InRu -czpNb2RpZnlTdWJzY3JpcHRpb25SZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJNb2RpZnlTdWJzY3JpcHRpb25SZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRl -ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlJldmlzZWRQdWJsaXNoaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZExpZmV0aW1lQ291bnQiIHR5 +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 -YW1lPSJSZXZpc2VkTWF4S2VlcEFsaXZlQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZ5U3Vic2NyaXB0aW9uUmVzcG9uc2UiIHR5cGU9InRuczpN -b2RpZnlTdWJzY3JpcHRpb25SZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -U2V0UHVibGlzaGluZ01vZGVSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1 -Ymxpc2hpbmdFbmFibGVkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZHMiIHR5cGU9InVhOkxpc3RPZlVJbnQz -MiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRQdWJsaXNoaW5nTW9k -ZVJlcXVlc3QiIHR5cGU9InRuczpTZXRQdWJsaXNoaW5nTW9kZVJlcXVlc3QiIC8+DQoNCiAgPHhz -OmNvbXBsZXhUeXBlIG5hbWU9IlNldFB1Ymxpc2hpbmdNb2RlUmVzcG9uc2UiPg0KICAgIDx4czpz -ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0 -bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -RGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRQdWJsaXNoaW5nTW9kZVJlc3BvbnNlIiB0 -eXBlPSJ0bnM6U2V0UHVibGlzaGluZ01vZGVSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iTm90aWZpY2F0aW9uTWVzc2FnZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iU2VxdWVuY2VOdW1iZXIiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBt -aW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoVGltZSIgdHlw -ZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -Ik5vdGlmaWNhdGlvbkRhdGEiIHR5cGU9InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOb3RpZmljYXRpb25NZXNzYWdlIiB0eXBl -PSJ0bnM6Tm90aWZpY2F0aW9uTWVzc2FnZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -Tm90aWZpY2F0aW9uRGF0YSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik5vdGlmaWNhdGlvbkRh -dGEiIHR5cGU9InRuczpOb3RpZmljYXRpb25EYXRhIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJEYXRhQ2hhbmdlTm90aWZpY2F0aW9uIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4 -ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk5vdGlmaWNhdGlvbkRh -dGEiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -TW9uaXRvcmVkSXRlbXMiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtTm90aWZpY2F0aW9u -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50 -IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQog -ICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhQ2hhbmdlTm90aWZpY2F0aW9uIiB0 -eXBlPSJ0bnM6RGF0YUNoYW5nZU5vdGlmaWNhdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iTW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50SGFuZGxlIiB0eXBlPSJ4czp1bnNpZ25lZEludCIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUiIHR5cGU9InVh -OkRhdGFWYWx1ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9y -ZWRJdGVtTm90aWZpY2F0aW9uIiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbU5vdGlmaWNh -dGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRv -cmVkSXRlbU5vdGlmaWNhdGlvbiIgdHlwZT0idG5zOk1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24i -IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9Ikxpc3RPZk1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iIHR5cGU9InRuczpMaXN0T2ZNb25p -dG9yZWRJdGVtTm90aWZpY2F0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJFdmVudE5vdGlmaWNhdGlvbkxpc3QiPg0KICAgIDx4czpj -b21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0 -bnM6Tm90aWZpY2F0aW9uRGF0YSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJFdmVudHMiIHR5cGU9InRuczpMaXN0T2ZFdmVudEZpZWxkTGlzdCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4N -CiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkV2ZW50Tm90aWZpY2F0aW9uTGlzdCIg -dHlwZT0idG5zOkV2ZW50Tm90aWZpY2F0aW9uTGlzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iRXZlbnRGaWVsZExpc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkNsaWVudEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50RmllbGRzIiB0eXBlPSJ1YTpMaXN0 -T2ZWYXJpYW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkV2ZW50Rmll -bGRMaXN0IiB0eXBlPSJ0bnM6RXZlbnRGaWVsZExpc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9Ikxpc3RPZkV2ZW50RmllbGRMaXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJFdmVudEZpZWxkTGlzdCIgdHlwZT0idG5zOkV2ZW50RmllbGRMaXN0 -IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +YW1lPSJFdmVudEZpZWxkcyIgdHlwZT0idWE6TGlzdE9mVmFyaWFudCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudEZpZWxkTGlzdCIgdHlwZT0idG5zOkV2ZW50Rmll +bGRMaXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZFdmVudEZpZWxkTGlz +dCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnRGaWVs +ZExpc3QiIHR5cGU9InRuczpFdmVudEZpZWxkTGlzdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9 +InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRXZlbnRGaWVsZExpc3Qi +IHR5cGU9InRuczpMaXN0T2ZFdmVudEZpZWxkTGlzdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxl +bWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeUV2ZW50RmllbGRMaXN0Ij4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudEZpZWxkcyIg +dHlwZT0idWE6TGlzdE9mVmFyaWFudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJMaXN0T2ZFdmVudEZpZWxkTGlzdCIgdHlwZT0idG5zOkxpc3RPZkV2ZW50RmllbGRMaXN0 -IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJIaXN0b3J5RXZlbnRGaWVsZExpc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IkV2ZW50RmllbGRzIiB0eXBlPSJ1YTpMaXN0T2ZWYXJpYW50IiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlFdmVudEZpZWxkTGlzdCIgdHlw -ZT0idG5zOkhpc3RvcnlFdmVudEZpZWxkTGlzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt -ZT0iTGlzdE9mSGlzdG9yeUV2ZW50RmllbGRMaXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5RXZlbnRGaWVsZExpc3QiIHR5cGU9InRuczpIaXN0 -b3J5RXZlbnRGaWVsZExpc3QiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkhpc3RvcnlFdmVudEZpZWxkTGlzdCIgdHlwZT0i -dG5zOkxpc3RPZkhpc3RvcnlFdmVudEZpZWxkTGlzdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxl -bWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU3RhdHVzQ2hhbmdlTm90aWZpY2F0aW9u -Ij4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRl -bnNpb24gYmFzZT0idG5zOk5vdGlmaWNhdGlvbkRhdGEiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzIiB0eXBlPSJ1YTpTdGF0dXNDb2Rl -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3Rp -Y0luZm8iIHR5cGU9InVhOkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQog -ICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iU3RhdHVzQ2hhbmdlTm90aWZpY2F0aW9uIiB0eXBlPSJ0bnM6U3RhdHVzQ2hhbmdl -Tm90aWZpY2F0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTdWJzY3JpcHRpb25B -Y2tub3dsZWRnZW1lbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VxdWVuY2VOdW1iZXIiIHR5cGU9InhzOnVuc2ln -bmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50 -IiB0eXBlPSJ0bnM6U3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50IiAvPg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJMaXN0T2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiPg0KICAgIDx4 -czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbkFja25vd2xl -ZGdlbWVudCIgdHlwZT0idG5zOlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudCIgbWluT2NjdXJz -PSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz -ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9m -U3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50IiB0eXBlPSJ0bnM6TGlzdE9mU3Vic2NyaXB0aW9u -QWNrbm93bGVkZ2VtZW50IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJQdWJsaXNoUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFk -ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnRzIiB0eXBlPSJ0bnM6TGlzdE9mU3Vic2Ny -aXB0aW9uQWNrbm93bGVkZ2VtZW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +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 -bWU9IlB1Ymxpc2hSZXF1ZXN0IiB0eXBlPSJ0bnM6UHVibGlzaFJlcXVlc3QiIC8+DQoNCiAgPHhz -OmNvbXBsZXhUeXBlIG5hbWU9IlB1Ymxpc2hSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25z -ZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXZhaWxhYmxlU2VxdWVuY2VOdW1iZXJz -IiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb3JlTm90aWZpY2F0aW9ucyIgdHlwZT0ieHM6Ym9v -bGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm90aWZpY2F0 -aW9uTWVzc2FnZSIgdHlwZT0idG5zOk5vdGlmaWNhdGlvbk1lc3NhZ2UiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBl -PSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZE -aWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz -OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJs -aXNoUmVzcG9uc2UiIHR5cGU9InRuczpQdWJsaXNoUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9IlJlcHVibGlzaFJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVy -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXRyYW5zbWl0U2VxdWVuY2VOdW1iZXIiIHR5cGU9 -InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg -PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVwdWJsaXNoUmVxdWVzdCIg -dHlwZT0idG5zOlJlcHVibGlzaFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 -IlJlcHVibGlzaFJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm90aWZp -Y2F0aW9uTWVzc2FnZSIgdHlwZT0idG5zOk5vdGlmaWNhdGlvbk1lc3NhZ2UiIG1pbk9jY3Vycz0i +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 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVwdWJsaXNoUmVzcG9uc2UiIHR5cGU9InRuczpS -ZXB1Ymxpc2hSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVHJhbnNmZXJS -ZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1 -c0NvZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IkF2YWlsYWJsZVNlcXVlbmNlTnVtYmVycyIgdHlwZT0idWE6TGlzdE9mVUlu -dDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRyYW5zZmVyUmVzdWx0 -IiB0eXBlPSJ0bnM6VHJhbnNmZXJSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 -Ikxpc3RPZlRyYW5zZmVyUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJUcmFuc2ZlclJlc3VsdCIgdHlwZT0idG5zOlRyYW5zZmVyUmVzdWx0IiBtaW5P -Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM -aXN0T2ZUcmFuc2ZlclJlc3VsdCIgdHlwZT0idG5zOkxpc3RPZlRyYW5zZmVyUmVzdWx0IiBuaWxs -YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJUcmFu -c2ZlclN1YnNjcmlwdGlvbnNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1 -YnNjcmlwdGlvbklkcyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VuZEluaXRpYWxWYWx1ZXMi -IHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2ZlclN1YnNjcmlw -dGlvbnNSZXF1ZXN0IiB0eXBlPSJ0bnM6VHJhbnNmZXJTdWJzY3JpcHRpb25zUmVxdWVzdCIgLz4N -Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVHJhbnNmZXJTdWJzY3JpcHRpb25zUmVzcG9uc2Ui -Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVh -ZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ0bnM6TGlzdE9m -VHJhbnNmZXJSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0 -aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu -Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRyYW5zZmVyU3Vi -c2NyaXB0aW9uc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6VHJhbnNmZXJTdWJzY3JpcHRpb25zUmVzcG9u -c2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZVN1YnNjcmlwdGlvbnNSZXF1 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaFJlc3BvbnNlIiB0eXBlPSJ0bnM6UHVi +bGlzaFJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZXB1Ymxpc2hSZXF1 ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0 SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkcyIgdHlwZT0i -dWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv -eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRl -bGV0ZVN1YnNjcmlwdGlvbnNSZXF1ZXN0IiB0eXBlPSJ0bnM6RGVsZXRlU3Vic2NyaXB0aW9uc1Jl -cXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZVN1YnNjcmlwdGlvbnNS -ZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVz -cG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVh -Okxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdu -b3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZVN1 -YnNjcmlwdGlvbnNSZXNwb25zZSIgdHlwZT0idG5zOkRlbGV0ZVN1YnNjcmlwdGlvbnNSZXNwb25z -ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQnVpbGRJbmZvIj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQcm9kdWN0VXJpIiB0eXBlPSJ4czpzdHJp -bmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJNYW51ZmFjdHVyZXJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQcm9kdWN0TmFtZSIgdHlw +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 -OmVsZW1lbnQgbmFtZT0iU29mdHdhcmVWZXJzaW9uIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCdWlsZE51 -bWJlciIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnVpbGREYXRlIiB0eXBlPSJ4czpkYXRlVGltZSIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9IkJ1aWxkSW5mbyIgdHlwZT0idG5zOkJ1aWxkSW5mbyIgLz4NCg0K -ICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iUmVkdW5kYW5jeVN1cHBvcnQiPg0KICAgIDx4czpyZXN0 -cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJO -b25lXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkNvbGRfMSIgLz4NCiAgICAg -IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iV2FybV8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u -IHZhbHVlPSJIb3RfMyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVHJhbnNwYXJl -bnRfNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSG90QW5kTWlycm9yZWRfNSIg -Lz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9IlJlZHVuZGFuY3lTdXBwb3J0IiB0eXBlPSJ0bnM6UmVkdW5kYW5jeVN1cHBvcnQi -IC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IlNlcnZlclN0YXRlIj4NCiAgICA8eHM6cmVz -dHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i -UnVubmluZ18wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJGYWlsZWRfMSIgLz4N -CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9Db25maWd1cmF0aW9uXzIiIC8+DQogICAg -ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN1c3BlbmRlZF8zIiAvPg0KICAgICAgPHhzOmVudW1l -cmF0aW9uIHZhbHVlPSJTaHV0ZG93bl80IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl -PSJUZXN0XzUiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkNvbW11bmljYXRpb25G -YXVsdF82IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVbmtub3duXzciIC8+DQog -ICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJTZXJ2ZXJTdGF0ZSIgdHlwZT0idG5zOlNlcnZlclN0YXRlIiAvPg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVySWQiIHR5cGU9InhzOnN0cmluZyIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNl -cnZpY2VMZXZlbCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJTdGF0ZSIgdHlwZT0idG5zOlNlcnZlclN0YXRlIiBt -aW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVkdW5kYW50U2VydmVyRGF0YVR5cGUiIHR5cGU9InRuczpS -ZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlz -dE9mUmVkdW5kYW50U2VydmVyRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlJlZHVuZGFudFNlcnZlckRhdGFUeXBlIiB0eXBlPSJ0bnM6UmVkdW5k -YW50U2VydmVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p +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+ -DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlJlZHVuZGFudFNlcnZlckRhdGFUeXBlIiB0eXBl -PSJ0bnM6TGlzdE9mUmVkdW5kYW50U2VydmVyRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hz -OmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVuZHBvaW50VXJsTGlzdERhdGFU -eXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2lu -dFVybExpc3QiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVybExpc3REYXRhVHlwZSIgdHlwZT0idG5zOkVuZHBvaW50 -VXJsTGlzdERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZFbmRw -b2ludFVybExpc3REYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iRW5kcG9pbnRVcmxMaXN0RGF0YVR5cGUiIHR5cGU9InRuczpFbmRwb2ludFVybExp -c3REYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iTGlzdE9mRW5kcG9pbnRVcmxMaXN0RGF0YVR5cGUiIHR5cGU9InRuczpM -aXN0T2ZFbmRwb2ludFVybExpc3REYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVu -dD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTmV0d29ya0dyb3VwRGF0YVR5cGUiPg0KICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlclVyaSIgdHlwZT0i -eHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iTmV0d29ya1BhdGhzIiB0eXBlPSJ0bnM6TGlzdE9mRW5kcG9pbnRVcmxMaXN0 -RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 -ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTmV0d29ya0dy -b3VwRGF0YVR5cGUiIHR5cGU9InRuczpOZXR3b3JrR3JvdXBEYXRhVHlwZSIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTmV0d29ya0dyb3VwRGF0YVR5cGUiPg0KICAgIDx4czpz -ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5ldHdvcmtHcm91cERhdGFUeXBlIiB0 -eXBlPSJ0bnM6TmV0d29ya0dyb3VwRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1 -bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk5ldHdvcmtHcm91cERhdGFU -eXBlIiB0eXBlPSJ0bnM6TGlzdE9mTmV0d29ya0dyb3VwRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVl -Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNhbXBsaW5nSW50ZXJ2 -YWxEaWFnbm9zdGljc0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJTYW1wbGluZ0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1Db3VudCIgdHlwZT0i -eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -Ik1heE1vbml0b3JlZEl0ZW1Db3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2FibGVkTW9uaXRvcmVkSXRlbUNvdW50 -IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVu -Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNhbXBsaW5nSW50 -ZXJ2YWxEaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U2FtcGxpbmdJbnRlcnZhbERpYWdu -b3N0aWNzRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlNhbXBs -aW5nSW50ZXJ2YWxEaWFnbm9zdGljc0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +DQogIDx4czplbGVtZW50IG5hbWU9Ik5ldHdvcmtHcm91cERhdGFUeXBlIiB0eXBlPSJ0bnM6TmV0 +d29ya0dyb3VwRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk5l +dHdvcmtHcm91cERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJOZXR3b3JrR3JvdXBEYXRhVHlwZSIgdHlwZT0idG5zOk5ldHdvcmtHcm91cERhdGFU +eXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJMaXN0T2ZOZXR3b3JrR3JvdXBEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZk5ldHdv +cmtHcm91cERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJTYW1wbGluZ0ludGVydmFsRGlhZ25vc3RpY3NEYXRhVHlwZSI+DQog +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2FtcGxpbmdJbnRlcnZh +bCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJNb25pdG9yZWRJdGVtQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9 +IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhNb25pdG9yZWRJdGVtQ291bnQiIHR5 +cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJEaXNhYmxlZE1vbml0b3JlZEl0ZW1Db3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1p +bk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K ICA8eHM6ZWxlbWVudCBuYW1lPSJTYW1wbGluZ0ludGVydmFsRGlhZ25vc3RpY3NEYXRhVHlwZSIg -dHlwZT0idG5zOlNhbXBsaW5nSW50ZXJ2YWxEaWFnbm9zdGljc0RhdGFUeXBlIiBtaW5PY2N1cnM9 -IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZT -YW1wbGluZ0ludGVydmFsRGlhZ25vc3RpY3NEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlNhbXBs -aW5nSW50ZXJ2YWxEaWFnbm9zdGljc0RhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVt -ZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXJ2ZXJEaWFnbm9zdGljc1N1bW1hcnlE -YXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vy -dmVyVmlld0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudFNlc3Npb25Db3VudCIgdHlwZT0ieHM6dW5zaWdu -ZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkN1bXVsYXRl -ZFNlc3Npb25Db3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5UmVqZWN0ZWRTZXNzaW9uQ291bnQiIHR5cGU9 -InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJSZWplY3RlZFNlc3Npb25Db3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlc3Npb25UaW1lb3V0Q291bnQiIHR5cGU9 -InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJTZXNzaW9uQWJvcnRDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkN1cnJlbnRTdWJzY3JpcHRpb25Db3VudCIgdHlw -ZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IkN1bXVsYXRlZFN1YnNjcmlwdGlvbkNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGluZ0ludGVydmFs -Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJTZWN1cml0eVJlamVjdGVkUmVxdWVzdHNDb3VudCIgdHlwZT0ieHM6dW5z -aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlamVj -dGVkUmVxdWVzdHNDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJTZXJ2ZXJEaWFnbm9zdGljc1N1bW1hcnlEYXRhVHlwZSIgdHlwZT0idG5zOlNlcnZlckRp -YWdub3N0aWNzU3VtbWFyeURhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJT -ZXJ2ZXJTdGF0dXNEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iU3RhcnRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBt -aW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0ZSIgdHlwZT0idG5z -OlNlcnZlclN0YXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJC -dWlsZEluZm8iIHR5cGU9InRuczpCdWlsZEluZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWNvbmRzVGlsbFNodXRkb3duIiB0eXBl -PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iU2h1dGRvd25SZWFzb24iIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIg +dHlwZT0idG5zOlNhbXBsaW5nSW50ZXJ2YWxEaWFnbm9zdGljc0RhdGFUeXBlIiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTYW1wbGluZ0ludGVydmFsRGlhZ25vc3RpY3NEYXRh +VHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2FtcGxp +bmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTYW1wbGluZ0ludGVydmFs +RGlhZ25vc3RpY3NEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIg bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyU3RhdHVzRGF0YVR5cGUiIHR5cGU9InRuczpT -ZXJ2ZXJTdGF0dXNEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2Vzc2lv -bkRpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlNlc3Npb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbk5hbWUiIHR5cGU9 -InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IkNsaWVudERlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6QXBwbGljYXRpb25EZXNj -cmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlNlcnZlclVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5kcG9pbnRVcmwiIHR5cGU9 +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 -bGVtZW50IG5hbWU9IkxvY2FsZUlkcyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWN0dWFsU2Vz -c2lvblRpbWVvdXQiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iTWF4UmVzcG9uc2VNZXNzYWdlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJ -bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVudENvbm5l -Y3Rpb25UaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iQ2xpZW50TGFzdENvbnRhY3RUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudFN1YnNjcmlw -dGlvbnNDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IkN1cnJlbnRNb25pdG9yZWRJdGVtc0NvdW50IiB0eXBlPSJ4czp1 -bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3Vy -cmVudFB1Ymxpc2hSZXF1ZXN0c0luUXVldWUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1 -cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUb3RhbFJlcXVlc3RDb3VudCIgdHlw -ZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbmF1dGhvcml6ZWRSZXF1ZXN0Q291bnQi -IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJSZWFkQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlz -dG9yeVJlYWRDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJXcml0ZUNv -dW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlVcGRhdGVDb3Vu -dCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDYWxsQ291bnQiIHR5cGU9InRu -czpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3JlYXRlTW9uaXRvcmVkSXRlbXNDb3VudCIgdHlw -ZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZnlNb25pdG9yZWRJdGVtc0NvdW50 -IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNldE1vbml0b3JpbmdNb2RlQ291 -bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0VHJpZ2dlcmluZ0NvdW50 -IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1z -Q291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3JlYXRlU3Vic2NyaXB0 -aW9uQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZ5U3Vic2Ny -aXB0aW9uQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0UHVibGlz -aGluZ01vZGVDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNo -Q291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVwdWJsaXNoQ291bnQi -IHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNmZXJTdWJzY3JpcHRpb25z -Q291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlU3Vic2NyaXB0 -aW9uc0NvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZE5vZGVzQ291 -bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkUmVmZXJlbmNlc0NvdW50 -IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZU5vZGVzQ291bnQiIHR5 -cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlUmVmZXJlbmNlc0NvdW50IiB0 -eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZUNvdW50IiB0eXBlPSJ0bnM6 -U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZU5leHRDb3VudCIgdHlwZT0idG5zOlNlcnZp +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 -ICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2xhdGVCcm93c2VQYXRoc1RvTm9kZUlkc0NvdW50IiB0 -eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5Rmlyc3RDb3VudCIgdHlwZT0i -dG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeU5leHRDb3VudCIgdHlwZT0idG5zOlNl -cnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWdpc3Rlck5vZGVzQ291bnQiIHR5cGU9InRuczpTZXJ2 -aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iVW5yZWdpc3Rlck5vZGVzQ291bnQiIHR5cGU9InRuczpTZXJ2 -aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -IlNlc3Npb25EaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U2Vzc2lvbkRpYWdub3N0aWNz -RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlNlc3Npb25EaWFn -bm9zdGljc0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJTZXNzaW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgdHlwZT0idG5zOlNlc3Npb25EaWFnbm9z -dGljc0RhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTZXNzaW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgdHlwZT0i -dG5zOkxpc3RPZlNlc3Npb25EaWFnbm9zdGljc0RhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94 -czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXNzaW9uU2VjdXJpdHlEaWFn -bm9zdGljc0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJTZXNzaW9uSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVudFVzZXJJZE9mU2Vzc2lvbiIg -dHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50VXNlcklkSGlzdG9yeSIgdHlwZT0idWE6TGlzdE9mU3Ry -aW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iQXV0aGVudGljYXRpb25NZWNoYW5pc20iIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuY29kaW5n -IiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc3BvcnRQcm90b2NvbCIgdHlwZT0ieHM6c3RyaW5nIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -U2VjdXJpdHlNb2RlIiB0eXBlPSJ0bnM6TWVzc2FnZVNlY3VyaXR5TW9kZSIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlQb2xpY3lVcmkiIHR5cGU9Inhz -OnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkNsaWVudENlcnRpZmljYXRlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvblNlY3VyaXR5RGlhZ25vc3Rp -Y3NEYXRhVHlwZSIgdHlwZT0idG5zOlNlc3Npb25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUi -IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlNlc3Npb25TZWN1cml0eURpYWdu -b3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlNlc3Npb25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTZXNzaW9u -U2VjdXJpdHlEaWFnbm9zdGljc0RhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5i -b3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTZXNzaW9uU2VjdXJpdHlEaWFn -bm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mU2Vzc2lvblNlY3VyaXR5RGlhZ25vc3Rp +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 -eFR5cGUgbmFtZT0iU2VydmljZUNvdW50ZXJEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVG90YWxDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVycm9yQ291bnQiIHR5 -cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmljZUNvdW50ZXJE -YXRhVHlwZSIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNv -bXBsZXhUeXBlIG5hbWU9IlN0YXR1c1Jlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm8iIHR5cGU9 -InVhOkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -IlN0YXR1c1Jlc3VsdCIgdHlwZT0idG5zOlN0YXR1c1Jlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iTGlzdE9mU3RhdHVzUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNSZXN1bHQiIHR5cGU9InRuczpTdGF0dXNSZXN1bHQi -IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9Ikxpc3RPZlN0YXR1c1Jlc3VsdCIgdHlwZT0idG5zOkxpc3RPZlN0YXR1c1Jlc3VsdCIgbmls -bGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU3Vi -c2NyaXB0aW9uRGlhZ25vc3RpY3NEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbklkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRp -b25JZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlByaW9yaXR5IiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hpbmdJbnRlcnZhbCIgdHlwZT0i -eHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhL -ZWVwQWxpdmVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ik1heExpZmV0aW1lQ291bnQiIHR5cGU9InhzOnVuc2lnbmVk -SW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhOb3RpZmlj -YXRpb25zUGVyUHVibGlzaCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hpbmdFbmFibGVkIiB0eXBlPSJ4czpib29s -ZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZnlDb3Vu -dCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkVuYWJsZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzYWJsZUNvdW50IiB0eXBlPSJ4czp1bnNp -Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVwdWJs +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 -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVwdWJsaXNoTWVzc2FnZVJlcXVlc3RDb3VudCIgdHlw +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YUNoYW5nZU5vdGlmaWNhdGlvbnNDb3VudCIgdHlw ZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlJlcHVibGlzaE1lc3NhZ2VDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vy -cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zZmVyUmVxdWVzdENvdW50IiB0 +bWU9IkV2ZW50Tm90aWZpY2F0aW9uc0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm90aWZpY2F0aW9uc0NvdW50IiB0 eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iVHJhbnNmZXJyZWRUb0FsdENsaWVudENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNmZXJyZWRUb1Nh -bWVDbGllbnRDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hSZXF1ZXN0Q291bnQiIHR5cGU9InhzOnVuc2ln -bmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhQ2hh -bmdlTm90aWZpY2F0aW9uc0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnROb3RpZmljYXRpb25zQ291bnQiIHR5 -cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJOb3RpZmljYXRpb25zQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXRlUHVibGlzaFJlcXVlc3RDb3VudCIg -dHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IkN1cnJlbnRLZWVwQWxpdmVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkN1cnJlbnRMaWZldGltZUNvdW50 -IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iVW5hY2tub3dsZWRnZWRNZXNzYWdlQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50 -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjYXJkZWRNZXNz -YWdlQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50 -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNhYmxlZE1vbml0 -b3JlZEl0ZW1Db3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JpbmdRdWV1ZU92ZXJmbG93Q291bnQiIHR5cGU9 -InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJOZXh0U2VxdWVuY2VOdW1iZXIiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudFF1ZXVlT3ZlckZsb3dDb3VudCIgdHlw -ZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25EaWFn -bm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U3Vic2NyaXB0aW9uRGlhZ25vc3RpY3NEYXRhVHlw -ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU3Vic2NyaXB0aW9uRGlhZ25v -c3RpY3NEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iU3Vic2NyaXB0aW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgdHlwZT0idG5zOlN1YnNjcmlwdGlv -bkRpYWdub3N0aWNzRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlN1YnNjcmlwdGlvbkRpYWdub3N0aWNzRGF0 -YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZTdWJzY3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIiBu -aWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJN -b2RlbENoYW5nZVN0cnVjdHVyZVZlcmJNYXNrIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0i -eHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9kZUFkZGVkXzEiIC8+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vZGVEZWxldGVkXzIiIC8+DQogICAgICA8 -eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlZmVyZW5jZUFkZGVkXzQiIC8+DQogICAgICA8eHM6ZW51 -bWVyYXRpb24gdmFsdWU9IlJlZmVyZW5jZURlbGV0ZWRfOCIgLz4NCiAgICAgIDx4czplbnVtZXJh -dGlvbiB2YWx1ZT0iRGF0YVR5cGVDaGFuZ2VkXzE2IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+ -DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kZWxDaGFuZ2VTdHJ1 -Y3R1cmVWZXJiTWFzayIgdHlwZT0idG5zOk1vZGVsQ2hhbmdlU3RydWN0dXJlVmVyYk1hc2siIC8+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1vZGVsQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUi -Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFmZmVjdGVkIiB0 -eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJBZmZlY3RlZFR5cGUiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZlcmIiIHR5 -cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1vZGVsQ2hhbmdlU3Ry -dWN0dXJlRGF0YVR5cGUiIHR5cGU9InRuczpNb2RlbENoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiAv -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb2RlbENoYW5nZVN0cnVjdHVyZURh -dGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb2Rl -bENoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiB0eXBlPSJ0bnM6TW9kZWxDaGFuZ2VTdHJ1Y3R1cmVE -YXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iTGlzdE9mTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgdHlwZT0idG5z -Okxpc3RPZk1vZGVsQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hz -OmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlbWFudGljQ2hhbmdlU3RydWN0 -dXJlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkFmZmVjdGVkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZmZlY3RlZFR5cGUiIHR5cGU9InVhOk5vZGVJ -ZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZW1hbnRpY0NoYW5nZVN0 -cnVjdHVyZURhdGFUeXBlIiB0eXBlPSJ0bnM6U2VtYW50aWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlw -ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU2VtYW50aWNDaGFuZ2VTdHJ1 -Y3R1cmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iU2VtYW50aWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgdHlwZT0idG5zOlNlbWFudGljQ2hh -bmdlU3RydWN0dXJlRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlNlbWFudGljQ2hhbmdlU3RydWN0dXJlRGF0 -YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZTZW1hbnRpY0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiBu -aWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJS -YW5nZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG93IiB0 -eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkhpZ2giIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVu -Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJhbmdlIiB0eXBl -PSJ0bnM6UmFuZ2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVVSW5mb3JtYXRpb24i -Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5hbWVzcGFjZVVy -aSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iVW5pdElkIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc3BsYXlOYW1lIiB0eXBlPSJ1YTpMb2NhbGl6 -ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iRGVzY3JpcHRpb24iIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRVVJbmZvcm1hdGlvbiIgdHlwZT0idG5zOkVVSW5m -b3JtYXRpb24iIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkF4aXNTY2FsZUVudW1lcmF0 -aW9uIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czpl -bnVtZXJhdGlvbiB2YWx1ZT0iTGluZWFyXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs -dWU9IkxvZ18xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJMbl8yIiAvPg0KICAg -IDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iQXhpc1NjYWxlRW51bWVyYXRpb24iIHR5cGU9InRuczpBeGlzU2NhbGVFbnVtZXJhdGlvbiIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ29tcGxleE51bWJlclR5cGUiPg0KICAgIDx4 -czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlYWwiIHR5cGU9InhzOmZsb2F0 -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbWFnaW5hcnkiIHR5 -cGU9InhzOmZsb2F0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ29tcGxleE51bWJlclR5cGUiIHR5 -cGU9InRuczpDb21wbGV4TnVtYmVyVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -RG91YmxlQ29tcGxleE51bWJlclR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlJlYWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iSW1hZ2luYXJ5IiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vy -cz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJEb3VibGVDb21wbGV4TnVtYmVyVHlwZSIgdHlwZT0idG5zOkRvdWJsZUNv -bXBsZXhOdW1iZXJUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBeGlzSW5mb3Jt -YXRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZ2lu -ZWVyaW5nVW5pdHMiIHR5cGU9InRuczpFVUluZm9ybWF0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRVVSYW5nZSIgdHlwZT0idG5z -OlJhbmdlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iVGl0bGUiIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBeGlzU2NhbGVUeXBlIiB0 -eXBlPSJ0bnM6QXhpc1NjYWxlRW51bWVyYXRpb24iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IkF4aXNTdGVwcyIgdHlwZT0idWE6TGlzdE9mRG91YmxlIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkF4aXNJbmZvcm1hdGlvbiIgdHlwZT0idG5z -OkF4aXNJbmZvcm1hdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iWFZUeXBlIj4N -CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJYIiB0eXBlPSJ4czpk -b3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlIiB0 -eXBlPSJ4czpmbG9hdCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlhWVHlwZSIgdHlwZT0idG5zOlhW -VHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUHJvZ3JhbURpYWdub3N0aWNEYXRh -VHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3JlYXRl -U2Vzc2lvbklkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVDbGllbnROYW1lIiB0eXBlPSJ4czpz -dHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJJbnZvY2F0aW9uQ3JlYXRpb25UaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdFRyYW5zaXRpb25UaW1lIiB0 -eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iTGFzdE1ldGhvZENhbGwiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxhc3RNZXRob2RTZXNzaW9uSWQi -IHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9Ikxhc3RNZXRob2RJbnB1dEFyZ3VtZW50cyIgdHlwZT0idG5zOkxp -c3RPZkFyZ3VtZW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iTGFzdE1ldGhvZE91dHB1dEFyZ3VtZW50cyIgdHlwZT0idG5zOkxpc3RP -ZkFyZ3VtZW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iTGFzdE1ldGhvZENhbGxUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1ldGhvZFJldHVyblN0YXR1 -cyIgdHlwZT0idG5zOlN0YXR1c1Jlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJQcm9ncmFtRGlhZ25vc3RpY0RhdGFUeXBlIiB0eXBlPSJ0bnM6UHJvZ3JhbURpYWdu -b3N0aWNEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUHJvZ3JhbURpYWdu -b3N0aWMyRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IkNyZWF0ZVNlc3Npb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3JlYXRlQ2xpZW50TmFtZSIg -dHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iSW52b2NhdGlvbkNyZWF0aW9uVGltZSIgdHlwZT0ieHM6ZGF0ZVRp -bWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxhc3RUcmFuc2l0 -aW9uVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9Ikxhc3RNZXRob2RDYWxsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9k -U2Vzc2lvbklkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kSW5wdXRBcmd1bWVudHMiIHR5 -cGU9InRuczpMaXN0T2ZBcmd1bWVudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxhc3RNZXRob2RPdXRwdXRBcmd1bWVudHMiIHR5cGU9 -InRuczpMaXN0T2ZBcmd1bWVudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ikxhc3RNZXRob2RJbnB1dFZhbHVlcyIgdHlwZT0idWE6TGlz -dE9mVmFyaWFudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9Ikxhc3RNZXRob2RPdXRwdXRWYWx1ZXMiIHR5cGU9InVhOkxpc3RPZlZhcmlh -bnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJMYXN0TWV0aG9kQ2FsbFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kUmV0dXJuU3RhdHVzIiB0eXBl -PSJ0bnM6U3RhdHVzUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +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 -IlByb2dyYW1EaWFnbm9zdGljMkRhdGFUeXBlIiB0eXBlPSJ0bnM6UHJvZ3JhbURpYWdub3N0aWMy -RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFubm90YXRpb24iPg0KICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1lc3NhZ2UiIHR5cGU9Inhz -OnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlVzZXJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBbm5vdGF0aW9uVGltZSIgdHlw -ZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBbm5vdGF0aW9uIiB0eXBlPSJ0 -bnM6QW5ub3RhdGlvbiIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iRXhjZXB0aW9uRGV2 -aWF0aW9uRm9ybWF0Ij4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAg -ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQWJzb2x1dGVWYWx1ZV8wIiAvPg0KICAgICAgPHhz -OmVudW1lcmF0aW9uIHZhbHVlPSJQZXJjZW50T2ZWYWx1ZV8xIiAvPg0KICAgICAgPHhzOmVudW1l -cmF0aW9uIHZhbHVlPSJQZXJjZW50T2ZSYW5nZV8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u -IHZhbHVlPSJQZXJjZW50T2ZFVVJhbmdlXzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs -dWU9IlVua25vd25fNCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkV4Y2VwdGlvbkRldmlhdGlvbkZvcm1hdCIgdHlwZT0i -dG5zOkV4Y2VwdGlvbkRldmlhdGlvbkZvcm1hdCIgLz4NCg0KPC94czpzY2hlbWE+ +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 +ZT0iTGFzdE1ldGhvZFJldHVyblN0YXR1cyIgdHlwZT0idG5zOlN0YXR1c1Jlc3VsdCIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJQcm9ncmFtRGlhZ25vc3RpYzJEYXRhVHlw +ZSIgdHlwZT0idG5zOlByb2dyYW1EaWFnbm9zdGljMkRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJBbm5vdGF0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJNZXNzYWdlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyTmFtZSIgdHlwZT0i +eHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iQW5ub3RhdGlvblRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9 +IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iQW5ub3RhdGlvbiIgdHlwZT0idG5zOkFubm90YXRpb24iIC8+DQoNCiAgPHhz +OnNpbXBsZVR5cGUgIG5hbWU9IkV4Y2VwdGlvbkRldmlhdGlvbkZvcm1hdCI+DQogICAgPHhzOnJl +c3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +IkFic29sdXRlVmFsdWVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2Vu +dE9mVmFsdWVfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mUmFu +Z2VfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mRVVSYW5nZV8z +IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVbmtub3duXzQiIC8+DQogICAgPC94 +czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJF +eGNlcHRpb25EZXZpYXRpb25Gb3JtYXQiIHR5cGU9InRuczpFeGNlcHRpb25EZXZpYXRpb25Gb3Jt +YXQiIC8+DQoNCjwveHM6c2NoZW1hPg== diff --git a/schemas/Opc.Ua.NodeSet2.Part8.xml b/schemas/Opc.Ua.NodeSet2.Part8.xml index f48a1ec3d..cce232309 100644 --- a/schemas/Opc.Ua.NodeSet2.Part8.xml +++ b/schemas/Opc.Ua.NodeSet2.Part8.xml @@ -28,9 +28,9 @@ * http://opcfoundation.org/License/MIT/1.00/ --> - + - + i=1 @@ -129,6 +129,72 @@ i=2368 + + EUItemType + + i=17500 + i=17501 + i=17502 + i=2365 + + + + InstrumentRange + + i=68 + i=80 + i=17497 + + + + EURange + + i=68 + i=80 + i=17497 + + + + EngineeringUnits + + i=68 + i=80 + i=17497 + + + + AnalogUnitItemType + + i=17506 + i=17509 + i=17510 + i=2365 + + + + InstrumentRange + + i=68 + i=80 + i=17503 + + + + EURange + + i=68 + i=80 + i=17503 + + + + EngineeringUnits + + i=68 + i=78 + i=17503 + + DiscreteItemType diff --git a/schemas/Opc.Ua.NodeSet2.Part9.xml b/schemas/Opc.Ua.NodeSet2.Part9.xml index c3c7b1089..d3c0d8455 100644 --- a/schemas/Opc.Ua.NodeSet2.Part9.xml +++ b/schemas/Opc.Ua.NodeSet2.Part9.xml @@ -28,9 +28,9 @@ * http://opcfoundation.org/License/MIT/1.00/ --> - + - + i=1 diff --git a/schemas/Opc.Ua.NodeSet2.xml b/schemas/Opc.Ua.NodeSet2.xml index ce8ef45fe..895c134a4 100644 --- a/schemas/Opc.Ua.NodeSet2.xml +++ b/schemas/Opc.Ua.NodeSet2.xml @@ -28,9 +28,9 @@ * http://opcfoundation.org/License/MIT/1.00/ --> - + - + i=1 @@ -902,6 +902,34 @@ i=75 + + DescribesArgument + + i=47 + + ArgumentDescriptionFor + + + DescribesInputArgument + + i=129 + + InputArgumentDescriptionFor + + + DescribesOptionalInputArgument + + i=130 + + OptionalInputArgumentDescriptionFor + + + DescribesOutputArgument + + i=129 + + OutputArgumentDescriptionFor + http://opcfoundation.org/UA/ @@ -915,7 +943,7 @@ i=16134 i=16135 i=16136 - i=11715 + i=11715 i=11616 @@ -949,7 +977,7 @@ i=15957 - 2017-11-22 + 2018-06-12 @@ -2138,8 +2166,8 @@ i=2013 - - Roles + + RoleSet Describes the roles supported by the server. i=16296 @@ -7872,8 +7900,8 @@ i=2268 - - Roles + + RoleSet Describes the roles supported by the server. i=16301 @@ -10793,6 +10821,11 @@ Idle i=15816 + i=15825 + i=15829 + i=15831 + i=15833 + i=15841 i=2309 i=15803 @@ -10809,6 +10842,9 @@ ReadPrepare i=15818 + i=15825 + i=15827 + i=15835 i=2307 i=15803 @@ -10825,6 +10861,9 @@ ReadTransfer i=15820 + i=15827 + i=15829 + i=15837 i=2307 i=15803 @@ -10841,6 +10880,9 @@ ApplyWrite i=15822 + i=15831 + i=15833 + i=15839 i=2307 i=15803 @@ -10857,6 +10899,10 @@ Error i=15824 + i=15835 + i=15837 + i=15839 + i=15841 i=2307 i=15803 @@ -10873,6 +10919,9 @@ IdleToReadPrepare i=15826 + i=15815 + i=15817 + i=2311 i=2310 i=15803 @@ -10889,6 +10938,9 @@ ReadPrepareToReadTransfer i=15828 + i=15817 + i=15819 + i=2311 i=2310 i=15803 @@ -10905,6 +10957,9 @@ ReadTransferToIdle i=15830 + i=15819 + i=15815 + i=2311 i=2310 i=15803 @@ -10921,6 +10976,9 @@ IdleToApplyWrite i=15832 + i=15815 + i=15821 + i=2311 i=2310 i=15803 @@ -10937,6 +10995,9 @@ ApplyWriteToIdle i=15834 + i=15821 + i=15815 + i=2311 i=2310 i=15803 @@ -10953,6 +11014,9 @@ ReadPrepareToError i=15836 + i=15817 + i=15823 + i=2311 i=2310 i=15803 @@ -10969,6 +11033,9 @@ ReadTransferToError i=15838 + i=15819 + i=15823 + i=2311 i=2310 i=15803 @@ -10985,6 +11052,9 @@ ApplyWriteToError i=15840 + i=15821 + i=15823 + i=2311 i=2310 i=15803 @@ -11001,6 +11071,9 @@ ErrorToIdle i=15842 + i=15823 + i=15815 + i=2311 i=2310 i=15803 @@ -13700,6 +13773,72 @@ i=2368 + + EUItemType + + i=17500 + i=17501 + i=17502 + i=2365 + + + + InstrumentRange + + i=68 + i=80 + i=17497 + + + + EURange + + i=68 + i=80 + i=17497 + + + + EngineeringUnits + + i=68 + i=80 + i=17497 + + + + AnalogUnitItemType + + i=17506 + i=17509 + i=17510 + i=2365 + + + + InstrumentRange + + i=68 + i=80 + i=17503 + + + + EURange + + i=68 + i=80 + i=17503 + + + + EngineeringUnits + + i=68 + i=78 + i=17503 + + DiscreteItemType @@ -21655,6 +21794,12 @@ i=12556 + + UserCredentialCertificateType + + i=12556 + + RsaMinApplicationCertificateType @@ -24841,11 +24986,142 @@ + + 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 + + + + + + + + + + OutputArguments + + i=68 + i=78 + i=17522 + + + + + + i=297 + + + + ObjectId + + i=17 + + -1 + + + + + + + + KeyCredentialConfiguration i=12637 - i=61 + i=17496 @@ -24855,6 +25131,7 @@ i=18165 i=18004 i=18005 + i=17534 i=18006 i=18008 i=58 @@ -24892,6 +25169,103 @@ i=18001 + + GetEncryptingKey + + 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 @@ -25496,7 +25870,7 @@ i=5 - + @@ -25588,12 +25962,12 @@ i=7 - - - - - - + + + + + + @@ -25692,7 +26066,7 @@ - + @@ -25945,17 +26319,17 @@ i=7 - - - - - - - - - - - + + + + + + + + + + + @@ -26045,12 +26419,12 @@ i=7 - - - - - - + + + + + + @@ -26131,12 +26505,12 @@ i=7 - - - - - - + + + + + + @@ -26197,11 +26571,11 @@ i=7 - - - - - + + + + + @@ -39377,28 +39751,26 @@ PermissionType i=15030 - i=5 + i=7 - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + @@ -39505,13 +39877,12 @@ i=3 - - - - - - - + + + + + + @@ -39568,16 +39939,15 @@ i=7 - - - - - - - - - - + + + + + + + + + @@ -39629,46 +39999,6 @@ Reserved - - - - Reserved - - - - - Reserved - - - - - Reserved - - - - - Reserved - - - - - Reserved - - - - - Reserved - - - - - Reserved - - - - - Reserved - @@ -39691,13 +40021,12 @@ EventNotifierType i=15034 - i=7 + i=3 - - - - + + + @@ -39739,10 +40068,9 @@ i=7 - - - - + + + @@ -39767,7 +40095,7 @@ - SessionRequired + SessionRequired @@ -39779,7 +40107,7 @@ - + @@ -41393,85 +41721,82 @@ i=7 - - No attributes are writable. - - + The access level attribute is writable. - + The array dimensions attribute is writable. - + The browse name attribute is writable. - + The contains no loops attribute is writable. - + The data type attribute is writable. - + The description attribute is writable. - + The display name attribute is writable. - + The event notifier attribute is writable. - + The executable attribute is writable. - + The historizing attribute is writable. - + The inverse name attribute is writable. - + The is abstract attribute is writable. - + The minimum sampling interval attribute is writable. - + The node class attribute is writable. - + The node id attribute is writable. - + The symmetric attribute is writable. - + The user access level attribute is writable. - + The user executable attribute is writable. - + The user write mask attribute is writable. - + The value rank attribute is writable. - + The write mask attribute is writable. - + The value attribute is writable. - + The DataTypeDefinition attribute is writable. - + The RolePermissions attribute is writable. - + The AccessRestrictions attribute is writable. - + The AccessLevelEx attribute is writable. @@ -44160,682 +44485,616 @@ ZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZQcm9wZXJ0aWVzIiBUeXBlTmFtZT0ib3Bj OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJvcGVydGllcyIgVHlwZU5hbWU9InRu czpLZXlWYWx1ZVBhaXIiIExlbmd0aEZpZWxkPSJOb09mUHJvcGVydGllcyIgLz4NCiAgPC9vcGM6 U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJEYXRhU2V0Rmll -bGRGbGFncyIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt -ZT0iUHJvbW90ZWRGaWVsZCIgVmFsdWU9IjEiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0K -DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ29uZmlndXJhdGlvblZlcnNpb25EYXRhVHlw -ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJN -YWpvclZlcnNpb24iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iTWlub3JWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0 -dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJQdWJsaXNoZWREYXRhU2V0 -RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJOb09mRGF0YVNldEZvbGRlciIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkRhdGFTZXRGb2xkZXIiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVs -ZD0iTm9PZkRhdGFTZXRGb2xkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0TWV0 -YURhdGEiIFR5cGVOYW1lPSJ0bnM6RGF0YVNldE1ldGFEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZFeHRlbnNpb25GaWVsZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJFeHRlbnNpb25GaWVsZHMiIFR5cGVOYW1lPSJ0bnM6S2V5VmFs -dWVQYWlyIiBMZW5ndGhGaWVsZD0iTm9PZkV4dGVuc2lvbkZpZWxkcyIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkRhdGFTZXRTb3VyY2UiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+ -DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i -UHVibGlzaGVkRGF0YVNldFNvdXJjZURhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq -ZWN0Ij4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJQdWJsaXNoZWRWYXJpYWJsZURhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq -ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hlZFZhcmlhYmxlIiBUeXBlTmFtZT0i -dWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXR0cmlidXRlSWQiIFR5cGVOYW1l -PSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2FtcGxpbmdJbnRlcnZhbEhp -bnQiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVhZGJh -bmRUeXBlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRl -YWRiYW5kVmFsdWUiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iSW5kZXhSYW5nZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJTdWJzdGl0dXRlVmFsdWUiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iTm9PZk1ldGFEYXRhUHJvcGVydGllcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1ldGFEYXRhUHJvcGVydGllcyIgVHlwZU5hbWU9InVh -OlF1YWxpZmllZE5hbWUiIExlbmd0aEZpZWxkPSJOb09mTWV0YURhdGFQcm9wZXJ0aWVzIiAvPg0K -ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlB1 -Ymxpc2hlZERhdGFJdGVtc0RhdGFUeXBlIiBCYXNlVHlwZT0idG5zOlB1Ymxpc2hlZERhdGFTZXRT -b3VyY2VEYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUHVibGlzaGVkRGF0YSIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hlZERh -dGEiIFR5cGVOYW1lPSJ0bnM6UHVibGlzaGVkVmFyaWFibGVEYXRhVHlwZSIgTGVuZ3RoRmllbGQ9 -Ik5vT2ZQdWJsaXNoZWREYXRhIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -OlN0cnVjdHVyZWRUeXBlIE5hbWU9IlB1Ymxpc2hlZEV2ZW50c0RhdGFUeXBlIiBCYXNlVHlwZT0i -dG5zOlB1Ymxpc2hlZERhdGFTZXRTb3VyY2VEYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJFdmVudE5vdGlmaWVyIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTm9PZlNlbGVjdGVkRmllbGRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iU2VsZWN0ZWRGaWVsZHMiIFR5cGVOYW1lPSJ0bnM6U2ltcGxlQXR0cmli -dXRlT3BlcmFuZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZWxlY3RlZEZpZWxkcyIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IkZpbHRlciIgVHlwZU5hbWU9InRuczpDb250ZW50RmlsdGVyIiAvPg0KICA8 -L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkRhdGFT -ZXRGaWVsZENvbnRlbnRNYXNrIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0 -ZWRWYWx1ZSBOYW1lPSJTdGF0dXNDb2RlIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0 -ZWRWYWx1ZSBOYW1lPSJTb3VyY2VUaW1lc3RhbXAiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9IlNlcnZlclRpbWVzdGFtcCIgVmFsdWU9IjQiIC8+DQogICAgPG9w -YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU291cmNlUGljb1NlY29uZHMiIFZhbHVlPSI4IiAvPg0K -ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNlcnZlclBpY29TZWNvbmRzIiBWYWx1ZT0i -MTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmF3RGF0YUVuY29kaW5nIiBW -YWx1ZT0iMzIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl -ZFR5cGUgTmFtZT0iRGF0YVNldFdyaXRlckRhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u -T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5n -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5hYmxlZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFu -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVNldFdyaXRlcklkIiBUeXBlTmFtZT0ib3Bj -OlVJbnQxNiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRGaWVsZENvbnRlbnRNYXNr -IiBUeXBlTmFtZT0idG5zOkRhdGFTZXRGaWVsZENvbnRlbnRNYXNrIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iS2V5RnJhbWVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJEYXRhU2V0TmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJOb09mRGF0YVNldFdyaXRlclByb3BlcnRpZXMiIFR5cGVOYW1lPSJv -cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0V3JpdGVyUHJvcGVydGll -cyIgVHlwZU5hbWU9InRuczpLZXlWYWx1ZVBhaXIiIExlbmd0aEZpZWxkPSJOb09mRGF0YVNldFdy -aXRlclByb3BlcnRpZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc3BvcnRTZXR0aW5n +bGRGbGFncyIgTGVuZ3RoSW5CaXRzPSIxNiIgSXNPcHRpb25TZXQ9InRydWUiPg0KICAgIDxvcGM6 +RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVy +YXRlZFZhbHVlIE5hbWU9IlByb21vdGVkRmllbGQiIFZhbHVlPSIxIiAvPg0KICA8L29wYzpFbnVt +ZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNvbmZpZ3VyYXRpb25W +ZXJzaW9uRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTWFqb3JWZXJzaW9uIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik1pbm9yVmVyc2lvbiIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUHVi +bGlzaGVkRGF0YVNldERhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTm9PZkRhdGFTZXRGb2xkZXIiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0Rm9sZGVyIiBUeXBlTmFtZT0ib3BjOlN0cmlu +ZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEYXRhU2V0Rm9sZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iRGF0YVNldE1ldGFEYXRhIiBUeXBlTmFtZT0idG5zOkRhdGFTZXRNZXRhRGF0YVR5cGUiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRXh0ZW5zaW9uRmllbGRzIiBUeXBlTmFtZT0ib3Bj +OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXh0ZW5zaW9uRmllbGRzIiBUeXBlTmFt +ZT0idG5zOktleVZhbHVlUGFpciIgTGVuZ3RoRmllbGQ9Ik5vT2ZFeHRlbnNpb25GaWVsZHMiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0U291cmNlIiBUeXBlTmFtZT0idWE6RXh0ZW5z +aW9uT2JqZWN0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy +ZWRUeXBlIE5hbWU9IlB1Ymxpc2hlZERhdGFTZXRTb3VyY2VEYXRhVHlwZSIgQmFzZVR5cGU9InVh +OkV4dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry +dWN0dXJlZFR5cGUgTmFtZT0iUHVibGlzaGVkVmFyaWFibGVEYXRhVHlwZSIgQmFzZVR5cGU9InVh +OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoZWRWYXJpYWJs +ZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF0dHJpYnV0 +ZUlkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNhbXBs +aW5nSW50ZXJ2YWxIaW50IiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkRlYWRiYW5kVHlwZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJEZWFkYmFuZFZhbHVlIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkluZGV4UmFuZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iU3Vic3RpdHV0ZVZhbHVlIiBUeXBlTmFtZT0idWE6VmFyaWFudCIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZNZXRhRGF0YVByb3BlcnRpZXMiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXRhRGF0YVByb3BlcnRpZXMi +IFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBMZW5ndGhGaWVsZD0iTm9PZk1ldGFEYXRhUHJv +cGVydGllcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk +VHlwZSBOYW1lPSJQdWJsaXNoZWREYXRhSXRlbXNEYXRhVHlwZSIgQmFzZVR5cGU9InRuczpQdWJs +aXNoZWREYXRhU2V0U291cmNlRGF0YVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlB1 +Ymxpc2hlZERhdGEiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJQdWJsaXNoZWREYXRhIiBUeXBlTmFtZT0idG5zOlB1Ymxpc2hlZFZhcmlhYmxlRGF0YVR5cGUi +IExlbmd0aEZpZWxkPSJOb09mUHVibGlzaGVkRGF0YSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 +cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJQdWJsaXNoZWRFdmVudHNEYXRhVHlw +ZSIgQmFzZVR5cGU9InRuczpQdWJsaXNoZWREYXRhU2V0U291cmNlRGF0YVR5cGUiPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iRXZlbnROb3RpZmllciIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZWxlY3RlZEZpZWxkcyIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlbGVjdGVkRmllbGRzIiBUeXBlTmFtZT0idG5z +OlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIExlbmd0aEZpZWxkPSJOb09mU2VsZWN0ZWRGaWVsZHMi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXIiIFR5cGVOYW1lPSJ0bnM6Q29udGVudEZp +bHRlciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlw +ZSBOYW1lPSJEYXRhU2V0RmllbGRDb250ZW50TWFzayIgTGVuZ3RoSW5CaXRzPSIzMiIgSXNPcHRp +b25TZXQ9InRydWUiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVl +PSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN0YXR1c0NvZGUiIFZhbHVl +PSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNvdXJjZVRpbWVzdGFtcCIg +VmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU2VydmVyVGltZXN0 +YW1wIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTb3VyY2VQ +aWNvU2Vjb25kcyIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i +U2VydmVyUGljb1NlY29uZHMiIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 +ZSBOYW1lPSJSYXdEYXRhRW5jb2RpbmciIFZhbHVlPSIzMiIgLz4NCiAgPC9vcGM6RW51bWVyYXRl +ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRhU2V0V3JpdGVyRGF0YVR5 +cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +TmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmFi +bGVkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRh +U2V0V3JpdGVySWQiIFR5cGVOYW1lPSJvcGM6VUludDE2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iRGF0YVNldEZpZWxkQ29udGVudE1hc2siIFR5cGVOYW1lPSJ0bnM6RGF0YVNldEZpZWxkQ29u +dGVudE1hc2siIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJLZXlGcmFtZUNvdW50IiBUeXBlTmFt +ZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXROYW1lIiBUeXBl +TmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEYXRhU2V0V3Jp +dGVyUHJvcGVydGllcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkRhdGFTZXRXcml0ZXJQcm9wZXJ0aWVzIiBUeXBlTmFtZT0idG5zOktleVZhbHVlUGFpciIg +TGVuZ3RoRmllbGQ9Ik5vT2ZEYXRhU2V0V3JpdGVyUHJvcGVydGllcyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlRyYW5zcG9ydFNldHRpbmdzIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWVzc2FnZVNldHRpbmdzIiBUeXBlTmFtZT0idWE6 +RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFTZXRXcml0ZXJUcmFuc3BvcnREYXRhVHlwZSIgQmFzZVR5 +cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv +cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSIgQmFz +ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog +IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUHViU3ViR3JvdXBEYXRhVHlwZSIgQmFzZVR5cGU9 +InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFt +ZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuYWJsZWQiIFR5cGVOYW1l +PSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TW9kZSIgVHlw +ZU5hbWU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +U2VjdXJpdHlHcm91cElkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vT2ZTZWN1cml0eUtleVNlcnZpY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlLZXlTZXJ2aWNlcyIgVHlwZU5hbWU9InRuczpF +bmRwb2ludERlc2NyaXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZlNlY3VyaXR5S2V5U2VydmljZXMi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhOZXR3b3JrTWVzc2FnZVNpemUiIFR5cGVOYW1l +PSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkdyb3VwUHJvcGVydGll +cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikdyb3VwUHJv +cGVydGllcyIgVHlwZU5hbWU9InRuczpLZXlWYWx1ZVBhaXIiIExlbmd0aEZpZWxkPSJOb09mR3Jv +dXBQcm9wZXJ0aWVzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj +dHVyZWRUeXBlIE5hbWU9IldyaXRlckdyb3VwRGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6UHViU3Vi +R3JvdXBEYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFtZT0ib3Bj +OlN0cmluZyIgU291cmNlVHlwZT0idG5zOlB1YlN1Ykdyb3VwRGF0YVR5cGUiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJFbmFibGVkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIFNvdXJjZVR5cGU9 +InRuczpQdWJTdWJHcm91cERhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJp +dHlNb2RlIiBUeXBlTmFtZT0idG5zOk1lc3NhZ2VTZWN1cml0eU1vZGUiIFNvdXJjZVR5cGU9InRu +czpQdWJTdWJHcm91cERhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlH +cm91cElkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgU291cmNlVHlwZT0idG5zOlB1YlN1Ykdyb3Vw +RGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VjdXJpdHlLZXlTZXJ2aWNl +cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5 +S2V5U2VydmljZXMiIFR5cGVOYW1lPSJ0bnM6RW5kcG9pbnREZXNjcmlwdGlvbiIgTGVuZ3RoRmll +bGQ9Ik5vT2ZTZWN1cml0eUtleVNlcnZpY2VzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4 +TmV0d29ya01lc3NhZ2VTaXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5z +OlB1YlN1Ykdyb3VwRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mR3JvdXBQ +cm9wZXJ0aWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +R3JvdXBQcm9wZXJ0aWVzIiBUeXBlTmFtZT0idG5zOktleVZhbHVlUGFpciIgTGVuZ3RoRmllbGQ9 +Ik5vT2ZHcm91cFByb3BlcnRpZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZXJHcm91 +cElkIiBUeXBlTmFtZT0ib3BjOlVJbnQxNiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxp +c2hpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJLZWVwQWxpdmVUaW1lIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlByaW9yaXR5IiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb09mTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9 +Ik5vT2ZMb2NhbGVJZHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc3BvcnRTZXR0aW5n cyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -Ik1lc3NhZ2VTZXR0aW5ncyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgPC9v -cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRhU2V0 -V3JpdGVyVHJhbnNwb3J0RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K -ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRh -dGFTZXRXcml0ZXJNZXNzYWdlRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -IlB1YlN1Ykdyb3VwRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJFbmFibGVkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJTZWN1cml0eU1vZGUiIFR5cGVOYW1lPSJ0bnM6TWVzc2FnZVNlY3VyaXR5 -TW9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5R3JvdXBJZCIgVHlwZU5hbWU9 -Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VjdXJpdHlLZXlTZXJ2 -aWNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3Vy -aXR5S2V5U2VydmljZXMiIFR5cGVOYW1lPSJ0bnM6RW5kcG9pbnREZXNjcmlwdGlvbiIgTGVuZ3Ro -RmllbGQ9Ik5vT2ZTZWN1cml0eUtleVNlcnZpY2VzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -TWF4TmV0d29ya01lc3NhZ2VTaXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vT2ZHcm91cFByb3BlcnRpZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJHcm91cFByb3BlcnRpZXMiIFR5cGVOYW1lPSJ0bnM6S2V5 -VmFsdWVQYWlyIiBMZW5ndGhGaWVsZD0iTm9PZkdyb3VwUHJvcGVydGllcyIgLz4NCiAgPC9vcGM6 -U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJXcml0ZXJHcm91 -cERhdGFUeXBlIiBCYXNlVHlwZT0idG5zOlB1YlN1Ykdyb3VwRGF0YVR5cGUiPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIFNvdXJjZVR5cGU9InRuczpQ -dWJTdWJHcm91cERhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5hYmxlZCIgVHlw -ZU5hbWU9Im9wYzpCb29sZWFuIiBTb3VyY2VUeXBlPSJ0bnM6UHViU3ViR3JvdXBEYXRhVHlwZSIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TW9kZSIgVHlwZU5hbWU9InRuczpNZXNz -YWdlU2VjdXJpdHlNb2RlIiBTb3VyY2VUeXBlPSJ0bnM6UHViU3ViR3JvdXBEYXRhVHlwZSIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5R3JvdXBJZCIgVHlwZU5hbWU9Im9wYzpTdHJp -bmciIFNvdXJjZVR5cGU9InRuczpQdWJTdWJHcm91cERhdGFUeXBlIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9PZlNlY3VyaXR5S2V5U2VydmljZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eUtleVNlcnZpY2VzIiBUeXBlTmFtZT0idG5z -OkVuZHBvaW50RGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mU2VjdXJpdHlLZXlTZXJ2aWNl -cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heE5ldHdvcmtNZXNzYWdlU2l6ZSIgVHlwZU5h -bWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpQdWJTdWJHcm91cERhdGFUeXBlIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkdyb3VwUHJvcGVydGllcyIgVHlwZU5hbWU9Im9wYzpJ -bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikdyb3VwUHJvcGVydGllcyIgVHlwZU5hbWU9 -InRuczpLZXlWYWx1ZVBhaXIiIExlbmd0aEZpZWxkPSJOb09mR3JvdXBQcm9wZXJ0aWVzIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVyR3JvdXBJZCIgVHlwZU5hbWU9Im9wYzpVSW50MTYi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJv -cGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iS2VlcEFsaXZlVGltZSIgVHlwZU5h -bWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcmlvcml0eSIgVHlwZU5h -bWU9Im9wYzpCeXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxvY2FsZUlkcyIgVHlw -ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsZUlkcyIgVHlw -ZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mTG9jYWxlSWRzIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iVHJhbnNwb3J0U2V0dGluZ3MiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25P -YmplY3QiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXNzYWdlU2V0dGluZ3MiIFR5cGVOYW1l -PSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGF0YVNl -dFdyaXRlcnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE -YXRhU2V0V3JpdGVycyIgVHlwZU5hbWU9InRuczpEYXRhU2V0V3JpdGVyRGF0YVR5cGUiIExlbmd0 -aEZpZWxkPSJOb09mRGF0YVNldFdyaXRlcnMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K -DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iV3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlw -ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl -Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iV3JpdGVyR3JvdXBNZXNzYWdlRGF0YVR5 -cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw -ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlB1YlN1YkNvbm5lY3Rpb25EYXRhVHlw -ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO -YW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuYWJs -ZWQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxp -c2hlcklkIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRy -YW5zcG9ydFByb2ZpbGVVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iQWRkcmVzcyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vT2ZDb25uZWN0aW9uUHJvcGVydGllcyIgVHlwZU5hbWU9Im9wYzpJ -bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbm5lY3Rpb25Qcm9wZXJ0aWVzIiBUeXBl -TmFtZT0idG5zOktleVZhbHVlUGFpciIgTGVuZ3RoRmllbGQ9Ik5vT2ZDb25uZWN0aW9uUHJvcGVy -dGllcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyYW5zcG9ydFNldHRpbmdzIiBUeXBlTmFt -ZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZldyaXRl -ckdyb3VwcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ildy -aXRlckdyb3VwcyIgVHlwZU5hbWU9InRuczpXcml0ZXJHcm91cERhdGFUeXBlIiBMZW5ndGhGaWVs -ZD0iTm9PZldyaXRlckdyb3VwcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWFkZXJH -cm91cHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWFk -ZXJHcm91cHMiIFR5cGVOYW1lPSJ0bnM6UmVhZGVyR3JvdXBEYXRhVHlwZSIgTGVuZ3RoRmllbGQ9 -Ik5vT2ZSZWFkZXJHcm91cHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 -U3RydWN0dXJlZFR5cGUgTmFtZT0iQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIiBCYXNlVHlw -ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w -YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJOZXR3b3JrQWRkcmVzc0RhdGFUeXBlIiBCYXNlVHlwZT0i -dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5ldHdvcmtJbnRlcmZh -Y2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik5ldHdvcmtBZGRyZXNzVXJsRGF0YVR5cGUiIEJh -c2VUeXBlPSJ0bnM6TmV0d29ya0FkZHJlc3NEYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJOZXR3b3JrSW50ZXJmYWNlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgU291cmNlVHlwZT0idG5z -Ok5ldHdvcmtBZGRyZXNzRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVcmwiIFR5 -cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -OlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlYWRlckdyb3VwRGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6 -UHViU3ViR3JvdXBEYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFt -ZT0ib3BjOlN0cmluZyIgU291cmNlVHlwZT0idG5zOlB1YlN1Ykdyb3VwRGF0YVR5cGUiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJFbmFibGVkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIFNvdXJj -ZVR5cGU9InRuczpQdWJTdWJHcm91cERhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -U2VjdXJpdHlNb2RlIiBUeXBlTmFtZT0idG5zOk1lc3NhZ2VTZWN1cml0eU1vZGUiIFNvdXJjZVR5 -cGU9InRuczpQdWJTdWJHcm91cERhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vj -dXJpdHlHcm91cElkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgU291cmNlVHlwZT0idG5zOlB1YlN1 -Ykdyb3VwRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VjdXJpdHlLZXlT -ZXJ2aWNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNl -Y3VyaXR5S2V5U2VydmljZXMiIFR5cGVOYW1lPSJ0bnM6RW5kcG9pbnREZXNjcmlwdGlvbiIgTGVu -Z3RoRmllbGQ9Ik5vT2ZTZWN1cml0eUtleVNlcnZpY2VzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iTWF4TmV0d29ya01lc3NhZ2VTaXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlw -ZT0idG5zOlB1YlN1Ykdyb3VwRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m -R3JvdXBQcm9wZXJ0aWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iR3JvdXBQcm9wZXJ0aWVzIiBUeXBlTmFtZT0idG5zOktleVZhbHVlUGFpciIgTGVuZ3Ro -RmllbGQ9Ik5vT2ZHcm91cFByb3BlcnRpZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFu -c3BvcnRTZXR0aW5ncyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik1lc3NhZ2VTZXR0aW5ncyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVj -dCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEYXRhU2V0UmVhZGVycyIgVHlwZU5hbWU9 -Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRSZWFkZXJzIiBUeXBl -TmFtZT0idG5zOkRhdGFTZXRSZWFkZXJEYXRhVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZEYXRhU2V0 -UmVhZGVycyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk -VHlwZSBOYW1lPSJSZWFkZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0 -ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJSZWFkZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4 -dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 -dXJlZFR5cGUgTmFtZT0iRGF0YVNldFJlYWRlckRhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5z -aW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJvcGM6U3Ry -aW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5hYmxlZCIgVHlwZU5hbWU9Im9wYzpCb29s -ZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaGVySWQiIFR5cGVOYW1lPSJ1YTpW -YXJpYW50IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVyR3JvdXBJZCIgVHlwZU5hbWU9 -Im9wYzpVSW50MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0V3JpdGVySWQiIFR5 -cGVOYW1lPSJvcGM6VUludDE2IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVNldE1ldGFE -YXRhIiBUeXBlTmFtZT0idG5zOkRhdGFTZXRNZXRhRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJEYXRhU2V0RmllbGRDb250ZW50TWFzayIgVHlwZU5hbWU9InRuczpEYXRhU2V0Rmll -bGRDb250ZW50TWFzayIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2VSZWNlaXZlVGlt -ZW91dCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1 -cml0eU1vZGUiIFR5cGVOYW1lPSJ0bnM6TWVzc2FnZVNlY3VyaXR5TW9kZSIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlNlY3VyaXR5R3JvdXBJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VjdXJpdHlLZXlTZXJ2aWNlcyIgVHlwZU5hbWU9Im9w -YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5S2V5U2VydmljZXMiIFR5 -cGVOYW1lPSJ0bnM6RW5kcG9pbnREZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZWN1cml0 -eUtleVNlcnZpY2VzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRhdGFTZXRSZWFkZXJQ +Ik1lc3NhZ2VTZXR0aW5ncyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEYXRhU2V0V3JpdGVycyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRXcml0ZXJzIiBUeXBlTmFtZT0idG5zOkRh +dGFTZXRXcml0ZXJEYXRhVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZEYXRhU2V0V3JpdGVycyIgLz4N +CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJX +cml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +Ij4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l +PSJXcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj +dCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt +ZT0iUHViU3ViQ29ubmVjdGlvbkRhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iRW5hYmxlZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaGVySWQiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNwb3J0UHJvZmlsZVVyaSIgVHlwZU5hbWU9Im9w +YzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGRyZXNzIiBUeXBlTmFtZT0idWE6 +RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkNvbm5lY3Rpb25Q cm9wZXJ0aWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -RGF0YVNldFJlYWRlclByb3BlcnRpZXMiIFR5cGVOYW1lPSJ0bnM6S2V5VmFsdWVQYWlyIiBMZW5n -dGhGaWVsZD0iTm9PZkRhdGFTZXRSZWFkZXJQcm9wZXJ0aWVzIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iVHJhbnNwb3J0U2V0dGluZ3MiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXNzYWdlU2V0dGluZ3MiIFR5cGVOYW1lPSJ1YTpFeHRl -bnNpb25PYmplY3QiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpYmVkRGF0YVNldCIg -VHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRhU2V0UmVhZGVyVHJhbnNwb3J0RGF0 -YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFTZXRSZWFkZXJNZXNzYWdl -RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlN1YnNjcmliZWREYXRhU2V0 +Q29ubmVjdGlvblByb3BlcnRpZXMiIFR5cGVOYW1lPSJ0bnM6S2V5VmFsdWVQYWlyIiBMZW5ndGhG +aWVsZD0iTm9PZkNvbm5lY3Rpb25Qcm9wZXJ0aWVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +VHJhbnNwb3J0U2V0dGluZ3MiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJOb09mV3JpdGVyR3JvdXBzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVyR3JvdXBzIiBUeXBlTmFtZT0idG5zOldyaXRl +ckdyb3VwRGF0YVR5cGUiIExlbmd0aEZpZWxkPSJOb09mV3JpdGVyR3JvdXBzIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTm9PZlJlYWRlckdyb3VwcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlYWRlckdyb3VwcyIgVHlwZU5hbWU9InRuczpSZWFkZXJH +cm91cERhdGFUeXBlIiBMZW5ndGhGaWVsZD0iTm9PZlJlYWRlckdyb3VwcyIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDb25uZWN0aW9u +VHJhbnNwb3J0RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29w +YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik5ldHdvcmtB +ZGRyZXNzRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTmV0d29ya0ludGVyZmFjZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTmV0 +d29ya0FkZHJlc3NVcmxEYXRhVHlwZSIgQmFzZVR5cGU9InRuczpOZXR3b3JrQWRkcmVzc0RhdGFU +eXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5ldHdvcmtJbnRlcmZhY2UiIFR5cGVOYW1lPSJv +cGM6U3RyaW5nIiBTb3VyY2VUeXBlPSJ0bnM6TmV0d29ya0FkZHJlc3NEYXRhVHlwZSIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlVybCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVhZGVyR3Jv +dXBEYXRhVHlwZSIgQmFzZVR5cGU9InRuczpQdWJTdWJHcm91cERhdGFUeXBlIj4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBTb3VyY2VUeXBlPSJ0bnM6 +UHViU3ViR3JvdXBEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuYWJsZWQiIFR5 +cGVOYW1lPSJvcGM6Qm9vbGVhbiIgU291cmNlVHlwZT0idG5zOlB1YlN1Ykdyb3VwRGF0YVR5cGUi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eU1vZGUiIFR5cGVOYW1lPSJ0bnM6TWVz +c2FnZVNlY3VyaXR5TW9kZSIgU291cmNlVHlwZT0idG5zOlB1YlN1Ykdyb3VwRGF0YVR5cGUiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eUdyb3VwSWQiIFR5cGVOYW1lPSJvcGM6U3Ry +aW5nIiBTb3VyY2VUeXBlPSJ0bnM6UHViU3ViR3JvdXBEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vT2ZTZWN1cml0eUtleVNlcnZpY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlLZXlTZXJ2aWNlcyIgVHlwZU5hbWU9InRu +czpFbmRwb2ludERlc2NyaXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZlNlY3VyaXR5S2V5U2Vydmlj +ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhOZXR3b3JrTWVzc2FnZVNpemUiIFR5cGVO +YW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6UHViU3ViR3JvdXBEYXRhVHlwZSIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZHcm91cFByb3BlcnRpZXMiIFR5cGVOYW1lPSJvcGM6 +SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJHcm91cFByb3BlcnRpZXMiIFR5cGVOYW1l +PSJ0bnM6S2V5VmFsdWVQYWlyIiBMZW5ndGhGaWVsZD0iTm9PZkdyb3VwUHJvcGVydGllcyIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyYW5zcG9ydFNldHRpbmdzIiBUeXBlTmFtZT0idWE6RXh0 +ZW5zaW9uT2JqZWN0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWVzc2FnZVNldHRpbmdzIiBU +eXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P +ZkRhdGFTZXRSZWFkZXJzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iRGF0YVNldFJlYWRlcnMiIFR5cGVOYW1lPSJ0bnM6RGF0YVNldFJlYWRlckRhdGFUeXBl +IiBMZW5ndGhGaWVsZD0iTm9PZkRhdGFTZXRSZWFkZXJzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk +VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlYWRlckdyb3VwVHJhbnNwb3J0 RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRhcmdldFZhcmlhYmxlc0Rh -dGFUeXBlIiBCYXNlVHlwZT0idG5zOlN1YnNjcmliZWREYXRhU2V0RGF0YVR5cGUiPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iTm9PZlRhcmdldFZhcmlhYmxlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldFZhcmlhYmxlcyIgVHlwZU5hbWU9InRuczpG -aWVsZFRhcmdldERhdGFUeXBlIiBMZW5ndGhGaWVsZD0iTm9PZlRhcmdldFZhcmlhYmxlcyIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJG -aWVsZFRhcmdldERhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRGaWVsZElkIiBUeXBlTmFtZT0ib3BjOkd1aWQiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJSZWNlaXZlckluZGV4UmFuZ2UiIFR5cGVOYW1lPSJvcGM6U3Ry -aW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGFyZ2V0Tm9kZUlkIiBUeXBlTmFtZT0idWE6 -Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXR0cmlidXRlSWQiIFR5cGVOYW1lPSJv -cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVJbmRleFJhbmdlIiBUeXBl -TmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik92ZXJyaWRlVmFsdWVI -YW5kbGluZyIgVHlwZU5hbWU9InRuczpPdmVycmlkZVZhbHVlSGFuZGxpbmciIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJPdmVycmlkZVZhbHVlIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgLz4NCiAg -PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJPdmVy -cmlkZVZhbHVlSGFuZGxpbmciIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRl -ZFZhbHVlIE5hbWU9IkRpc2FibGVkIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJMYXN0VXNlYWJsZVZhbHVlIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1l -cmF0ZWRWYWx1ZSBOYW1lPSJPdmVycmlkZVZhbHVlIiBWYWx1ZT0iMiIgLz4NCiAgPC9vcGM6RW51 -bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTdWJzY3JpYmVkRGF0 -YVNldE1pcnJvckRhdGFUeXBlIiBCYXNlVHlwZT0idG5zOlN1YnNjcmliZWREYXRhU2V0RGF0YVR5 -cGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGFyZW50Tm9kZU5hbWUiIFR5cGVOYW1lPSJvcGM6 -U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJvbGVQZXJtaXNzaW9ucyIgVHlw -ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJvbGVQZXJtaXNzaW9u -cyIgVHlwZU5hbWU9InRuczpSb2xlUGVybWlzc2lvblR5cGUiIExlbmd0aEZpZWxkPSJOb09mUm9s -ZVBlcm1pc3Npb25zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj -dHVyZWRUeXBlIE5hbWU9IlB1YlN1YkNvbmZpZ3VyYXRpb25EYXRhVHlwZSIgQmFzZVR5cGU9InVh -OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUHVibGlzaGVkRGF0 -YVNldHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJs -aXNoZWREYXRhU2V0cyIgVHlwZU5hbWU9InRuczpQdWJsaXNoZWREYXRhU2V0RGF0YVR5cGUiIExl -bmd0aEZpZWxkPSJOb09mUHVibGlzaGVkRGF0YVNldHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJOb09mQ29ubmVjdGlvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJDb25uZWN0aW9ucyIgVHlwZU5hbWU9InRuczpQdWJTdWJDb25uZWN0aW9uRGF0YVR5 -cGUiIExlbmd0aEZpZWxkPSJOb09mQ29ubmVjdGlvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJFbmFibGVkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRGF0YVNldE9yZGVyaW5nVHlwZSIg -TGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVW5kZWZp -bmVkIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBc2NlbmRp -bmdXcml0ZXJJZCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i -QXNjZW5kaW5nV3JpdGVySWRTaW5nbGUiIFZhbHVlPSIyIiAvPg0KICA8L29wYzpFbnVtZXJhdGVk -VHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlVhZHBOZXR3b3JrTWVzc2FnZUNv -bnRlbnRNYXNrIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO -YW1lPSJQdWJsaXNoZXJJZCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iR3JvdXBIZWFkZXIiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9IldyaXRlckdyb3VwSWQiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh -bHVlIE5hbWU9Ikdyb3VwVmVyc2lvbiIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk -VmFsdWUgTmFtZT0iTmV0d29ya01lc3NhZ2VOdW1iZXIiIFZhbHVlPSIxNiIgLz4NCiAgICA8b3Bj -OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTZXF1ZW5jZU51bWJlciIgVmFsdWU9IjMyIiAvPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlBheWxvYWRIZWFkZXIiIFZhbHVlPSI2NCIgLz4N -CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJUaW1lc3RhbXAiIFZhbHVlPSIxMjgiIC8+ -DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUGljb3NlY29uZHMiIFZhbHVlPSIyNTYi -IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGF0YVNldENsYXNzSWQiIFZhbHVl -PSI1MTIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUHJvbW90ZWRGaWVsZHMi -IFZhbHVlPSIxMDI0IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVj -dHVyZWRUeXBlIE5hbWU9IlVhZHBXcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSIgQmFzZVR5cGU9 -InRuczpXcml0ZXJHcm91cE1lc3NhZ2VEYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJH -cm91cFZlcnNpb24iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iRGF0YVNldE9yZGVyaW5nIiBUeXBlTmFtZT0idG5zOkRhdGFTZXRPcmRlcmluZ1R5cGUiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiBUeXBlTmFt -ZT0idG5zOlVhZHBOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iU2FtcGxpbmdPZmZzZXQiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iTm9PZlB1Ymxpc2hpbmdPZmZzZXQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nT2Zmc2V0IiBUeXBlTmFtZT0ib3BjOkRv -dWJsZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZQdWJsaXNoaW5nT2Zmc2V0IiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlVhZHBEYXRhU2V0TWVz -c2FnZUNvbnRlbnRNYXNrIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJUaW1lc3RhbXAiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh -bHVlIE5hbWU9IlBpY29TZWNvbmRzIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJTdGF0dXMiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9Ik1ham9yVmVyc2lvbiIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs -dWUgTmFtZT0iTWlub3JWZXJzaW9uIiBWYWx1ZT0iMTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk -VmFsdWUgTmFtZT0iU2VxdWVuY2VOdW1iZXIiIFZhbHVlPSIzMiIgLz4NCiAgPC9vcGM6RW51bWVy -YXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVYWRwRGF0YVNldFdyaXRl -ck1lc3NhZ2VEYXRhVHlwZSIgQmFzZVR5cGU9InRuczpEYXRhU2V0V3JpdGVyTWVzc2FnZURhdGFU -eXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIFR5 -cGVOYW1lPSJ0bnM6VWFkcERhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJDb25maWd1cmVkU2l6ZSIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJOZXR3b3JrTWVzc2FnZU51bWJlciIgVHlwZU5hbWU9Im9wYzpVSW50 -MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0T2Zmc2V0IiBUeXBlTmFtZT0ib3Bj -OlVJbnQxNiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk -VHlwZSBOYW1lPSJVYWRwRGF0YVNldFJlYWRlck1lc3NhZ2VEYXRhVHlwZSIgQmFzZVR5cGU9InRu -czpEYXRhU2V0UmVhZGVyTWVzc2FnZURhdGFUeXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikdy -b3VwVmVyc2lvbiIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJOZXR3b3JrTWVzc2FnZU51bWJlciIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJEYXRhU2V0T2Zmc2V0IiBUeXBlTmFtZT0ib3BjOlVJbnQxNiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRDbGFzc0lkIiBUeXBlTmFtZT0ib3BjOkd1aWQiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiBUeXBlTmFt -ZT0idG5zOlVhZHBOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgVHlwZU5hbWU9InRuczpVYWRwRGF0YVNl -dE1lc3NhZ2VDb250ZW50TWFzayIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hpbmdJ -bnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS -ZWNlaXZlT2Zmc2V0IiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlByb2Nlc3NpbmdPZmZzZXQiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICA8L29wYzpT -dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9Ikpzb25OZXR3b3Jr -TWVzc2FnZUNvbnRlbnRNYXNrIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0 -ZWRWYWx1ZSBOYW1lPSJOZXR3b3JrTWVzc2FnZUhlYWRlciIgVmFsdWU9IjEiIC8+DQogICAgPG9w -YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGF0YVNldE1lc3NhZ2VIZWFkZXIiIFZhbHVlPSIyIiAv -Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNpbmdsZURhdGFTZXRNZXNzYWdlIiBW -YWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJQdWJsaXNoZXJJZCIg -VmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGF0YVNldENsYXNz -SWQiIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZXBseVRv -IiBWYWx1ZT0iMzIiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 -dXJlZFR5cGUgTmFtZT0iSnNvbldyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIiBCYXNlVHlwZT0i -dG5zOldyaXRlckdyb3VwTWVzc2FnZURhdGFUeXBlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5l -dHdvcmtNZXNzYWdlQ29udGVudE1hc2siIFR5cGVOYW1lPSJ0bnM6SnNvbk5ldHdvcmtNZXNzYWdl -Q29udGVudE1hc2siIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVy -YXRlZFR5cGUgTmFtZT0iSnNvbkRhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIExlbmd0aEluQml0 -cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRhdGFTZXRXcml0ZXJJZCIg -VmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTWV0YURhdGFWZXJz -aW9uIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTZXF1ZW5j -ZU51bWJlciIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVGlt -ZXN0YW1wIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTdGF0 -dXMiIFZhbHVlPSIxNiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 -Y3R1cmVkVHlwZSBOYW1lPSJKc29uRGF0YVNldFdyaXRlck1lc3NhZ2VEYXRhVHlwZSIgQmFzZVR5 -cGU9InRuczpEYXRhU2V0V3JpdGVyTWVzc2FnZURhdGFUeXBlIj4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkRhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIFR5cGVOYW1lPSJ0bnM6SnNvbkRhdGFTZXRN -ZXNzYWdlQ29udGVudE1hc2siIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 -U3RydWN0dXJlZFR5cGUgTmFtZT0iSnNvbkRhdGFTZXRSZWFkZXJNZXNzYWdlRGF0YVR5cGUiIEJh -c2VUeXBlPSJ0bnM6RGF0YVNldFJlYWRlck1lc3NhZ2VEYXRhVHlwZSI+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiBUeXBlTmFtZT0idG5zOkpzb25OZXR3 -b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVNldE1l -c3NhZ2VDb250ZW50TWFzayIgVHlwZU5hbWU9InRuczpKc29uRGF0YVNldE1lc3NhZ2VDb250ZW50 -TWFzayIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJEYXRhZ3JhbUNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSIgQmFzZVR5cGU9InRu -czpDb25uZWN0aW9uVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlz -Y292ZXJ5QWRkcmVzcyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgPC9vcGM6 -U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRhZ3JhbVdy -aXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6V3JpdGVyR3JvdXBUcmFu -c3BvcnREYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXNzYWdlUmVwZWF0Q291bnQi -IFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2VSZXBl -YXREZWxheSIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl -Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJva2VyQ29ubmVjdGlvblRyYW5zcG9y -dERhdGFUeXBlIiBCYXNlVHlwZT0idG5zOkNvbm5lY3Rpb25UcmFuc3BvcnREYXRhVHlwZSI+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNvdXJjZVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdXRoZW50aWNhdGlvblByb2ZpbGVVcmkiIFR5cGVOYW1l -PSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1l -cmF0ZWRUeXBlIE5hbWU9IkJyb2tlclRyYW5zcG9ydFF1YWxpdHlPZlNlcnZpY2UiIExlbmd0aElu -Qml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vdFNwZWNpZmllZCIg -VmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQmVzdEVmZm9ydCIg -VmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQXRMZWFzdE9uY2Ui -IFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkF0TW9zdE9uY2Ui -IFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkV4YWN0bHlPbmNl -IiBWYWx1ZT0iNCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJCcm9rZXJXcml0ZXJHcm91cFRyYW5zcG9ydERhdGFUeXBlIiBCYXNlVHlw -ZT0idG5zOldyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iUXVldWVOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlJlc291cmNlVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkF1dGhlbnRpY2F0aW9uUHJvZmlsZVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWREZWxpdmVyeUd1YXJhbnRlZSIgVHlwZU5h -bWU9InRuczpCcm9rZXJUcmFuc3BvcnRRdWFsaXR5T2ZTZXJ2aWNlIiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb2tlckRhdGFTZXRX -cml0ZXJUcmFuc3BvcnREYXRhVHlwZSIgQmFzZVR5cGU9InRuczpEYXRhU2V0V3JpdGVyVHJhbnNw -b3J0RGF0YVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVldWVOYW1lIiBUeXBlTmFtZT0i -b3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc291cmNlVXJpIiBUeXBlTmFt -ZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF1dGhlbnRpY2F0aW9uUHJv -ZmlsZVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJN -ZXRhRGF0YVF1ZXVlTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJNZXRhRGF0YVVwZGF0ZVRpbWUiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICA8 -L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb2tl -ckRhdGFTZXRSZWFkZXJUcmFuc3BvcnREYXRhVHlwZSIgQmFzZVR5cGU9InRuczpEYXRhU2V0UmVh -ZGVyVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVldWVOYW1lIiBU -eXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc291cmNlVXJp -IiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF1dGhlbnRp -Y2F0aW9uUHJvZmlsZVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJSZXF1ZXN0ZWREZWxpdmVyeUd1YXJhbnRlZSIgVHlwZU5hbWU9InRuczpCcm9rZXJU -cmFuc3BvcnRRdWFsaXR5T2ZTZXJ2aWNlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWV0YURh -dGFRdWV1ZU5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkRpYWdub3N0aWNzTGV2ZWwiIExl -bmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJhc2ljIiBW -YWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBZHZhbmNlZCIgVmFs -dWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW5mbyIgVmFsdWU9IjIi -IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTG9nIiBWYWx1ZT0iMyIgLz4NCiAg -ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEZWJ1ZyIgVmFsdWU9IjQiIC8+DQogIDwvb3Bj -OkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iUHViU3ViRGlh -Z25vc3RpY3NDb3VudGVyQ2xhc3NpZmljYXRpb24iIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkluZm9ybWF0aW9uIiBWYWx1ZT0iMCIgLz4NCiAgICA8 -b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJFcnJvciIgVmFsdWU9IjEiIC8+DQogIDwvb3BjOkVu -dW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iSWRUeXBlIiBMZW5n -dGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHR5cGUgb2YgaWRlbnRp -ZmllciB1c2VkIGluIGEgbm9kZSBpZC48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9Ik51bWVyaWMiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVy -YXRlZFZhbHVlIE5hbWU9IlN0cmluZyIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk -VmFsdWUgTmFtZT0iR3VpZCIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iT3BhcXVlIiBWYWx1ZT0iMyIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAg -PG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJOb2RlQ2xhc3MiIExlbmd0aEluQml0cz0iMzIiPg0K -ICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIG1hc2sgc3BlY2lmeWluZyB0aGUgY2xhc3Mgb2YgdGhl -IG5vZGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l -PSJVbnNwZWNpZmllZCIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt -ZT0iT2JqZWN0IiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJW -YXJpYWJsZSIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTWV0 -aG9kIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJPYmplY3RU -eXBlIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJWYXJpYWJs -ZVR5cGUiIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWZl -cmVuY2VUeXBlIiBWYWx1ZT0iMzIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i -RGF0YVR5cGUiIFZhbHVlPSI2NCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJW -aWV3IiBWYWx1ZT0iMTI4IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVu -dW1lcmF0ZWRUeXBlIE5hbWU9IkFjY2Vzc0xldmVsVHlwZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQog -ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9w -YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ3VycmVudFJlYWQiIFZhbHVlPSIxIiAvPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkN1cnJlbnRXcml0ZSIgVmFsdWU9IjIiIC8+DQogICAg -PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSGlzdG9yeVJlYWQiIFZhbHVlPSI0IiAvPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikhpc3RvcnlXcml0ZSIgVmFsdWU9IjE2IiAvPg0K -ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN0YXR1c1dyaXRlIiBWYWx1ZT0iMzIiIC8+ -DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVGltZXN0YW1wV3JpdGUiIFZhbHVlPSI2 -NCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBO -YW1lPSJBY2Nlc3NMZXZlbEV4VHlwZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVt -ZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk -VmFsdWUgTmFtZT0iQ3VycmVudFJlYWQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRl -ZFZhbHVlIE5hbWU9IkN1cnJlbnRXcml0ZSIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJh -dGVkVmFsdWUgTmFtZT0iSGlzdG9yeVJlYWQiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVy -YXRlZFZhbHVlIE5hbWU9Ikhpc3RvcnlXcml0ZSIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9IlN0YXR1c1dyaXRlIiBWYWx1ZT0iMzIiIC8+DQogICAgPG9wYzpF -bnVtZXJhdGVkVmFsdWUgTmFtZT0iVGltZXN0YW1wV3JpdGUiIFZhbHVlPSI2NCIgLz4NCiAgICA8 -b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25hdG9taWNSZWFkIiBWYWx1ZT0iNjU1MzYiIC8+ -DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uYXRvbWljV3JpdGUiIFZhbHVlPSIx -MzEwNzIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iV3JpdGVGdWxsQXJyYXlP -bmx5IiBWYWx1ZT0iMjYyMTQ0IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3Bj -OkVudW1lcmF0ZWRUeXBlIE5hbWU9IkV2ZW50Tm90aWZpZXJUeXBlIiBMZW5ndGhJbkJpdHM9IjMy -Ij4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25lIiBWYWx1ZT0iMCIgLz4NCiAg -ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTdWJzY3JpYmVUb0V2ZW50cyIgVmFsdWU9IjEi -IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSGlzdG9yeVJlYWQiIFZhbHVlPSI0 -IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikhpc3RvcnlXcml0ZSIgVmFsdWU9 -IjgiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg -TmFtZT0iUm9sZVBlcm1pc3Npb25UeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJvbGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlBlcm1pc3Npb25zIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJT -dHJ1Y3R1cmVUeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJTdHJ1Y3R1cmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9IlN0cnVjdHVyZVdpdGhPcHRpb25hbEZpZWxkcyIgVmFsdWU9IjEiIC8+DQogICAgPG9w -YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVW5pb24iIFZhbHVlPSIyIiAvPg0KICA8L29wYzpFbnVt -ZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlN0cnVjdHVyZUZpZWxk -IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5h -bWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3Jp -cHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iRGF0YVR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJWYWx1ZVJhbmsiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJOb09mQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3Ro -RmllbGQ9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhT -dHJpbmdMZW5ndGgiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iSXNPcHRpb25hbCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlN0cnVjdHVyZURlZmluaXRp -b24iIEJhc2VUeXBlPSJ0bnM6RGF0YVR5cGVEZWZpbml0aW9uIj4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkRlZmF1bHRFbmNvZGluZ0lkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iQmFzZURhdGFUeXBlIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iU3RydWN0dXJlVHlwZSIgVHlwZU5hbWU9InRuczpTdHJ1Y3R1cmVUeXBl -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkZpZWxkcyIgVHlwZU5hbWU9Im9wYzpJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpZWxkcyIgVHlwZU5hbWU9InRuczpTdHJ1Y3R1 -cmVGaWVsZCIgTGVuZ3RoRmllbGQ9Ik5vT2ZGaWVsZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRW51bURlZmluaXRpb24iIEJhc2VU -eXBlPSJ0bnM6RGF0YVR5cGVEZWZpbml0aW9uIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZG -aWVsZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWVs -ZHMiIFR5cGVOYW1lPSJ0bnM6RW51bUZpZWxkIiBMZW5ndGhGaWVsZD0iTm9PZkZpZWxkcyIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJO -b2RlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRp -b24+U3BlY2lmaWVzIHRoZSBhdHRyaWJ1dGVzIHdoaWNoIGJlbG9uZyB0byBhbGwgbm9kZXMuPC9v -cGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9 -InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9 -InRuczpOb2RlQ2xhc3MiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBl -TmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlO -YW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJ0bnM6 -Um9sZVBlcm1pc3Npb25UeXBlIiBMZW5ndGhGaWVsZD0iTm9PZlJvbGVQZXJtaXNzaW9ucyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZVc2VyUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0i -b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlclJvbGVQZXJtaXNzaW9ucyIg -VHlwZU5hbWU9InRuczpSb2xlUGVybWlzc2lvblR5cGUiIExlbmd0aEZpZWxkPSJOb09mVXNlclJv -bGVQZXJtaXNzaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFjY2Vzc1Jlc3RyaWN0aW9u -cyIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVm -ZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl -ZmVyZW5jZXMiIFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlTm9kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZS -ZWZlcmVuY2VzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy -ZWRUeXBlIE5hbWU9Ikluc3RhbmNlTm9kZSIgQmFzZVR5cGU9InRuczpOb2RlIj4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5z -Ok5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6 -Tm9kZUNsYXNzIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBTb3VyY2VUeXBlPSJ0bnM6 -Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6 -TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9 -InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0i -b3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5v -ZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFt -ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUm9sZVBlcm1pc3Npb25zIiBU -eXBlTmFtZT0idG5zOlJvbGVQZXJtaXNzaW9uVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSb2xlUGVy -bWlzc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVXNlclJvbGVQZXJtaXNzaW9u -cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJSb2xl -UGVybWlzc2lvbnMiIFR5cGVOYW1lPSJ0bnM6Um9sZVBlcm1pc3Npb25UeXBlIiBMZW5ndGhGaWVs -ZD0iTm9PZlVzZXJSb2xlUGVybWlzc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBY2Nl -c3NSZXN0cmljdGlvbnMiIFR5cGVOYW1lPSJvcGM6VUludDE2IiBTb3VyY2VUeXBlPSJ0bnM6Tm9k -ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3Bj -OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRu -czpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogIDwvb3Bj -OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVHlwZU5vZGUi -IEJhc2VUeXBlPSJ0bnM6Tm9kZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVO -YW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgU291cmNlVHlwZT0idG5z -Ok5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6 -UXVhbGlmaWVkTmFtZSIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9 -InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1l -PSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRu -czpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9 -Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iTm9PZlJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9InRuczpSb2xlUGVybWlzc2lv -blR5cGUiIExlbmd0aEZpZWxkPSJOb09mUm9sZVBlcm1pc3Npb25zIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9PZlVzZXJSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0idG5z -OlJvbGVQZXJtaXNzaW9uVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZVc2VyUm9sZVBlcm1pc3Npb25z -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWNjZXNzUmVzdHJpY3Rpb25zIiBUeXBlTmFtZT0i -b3BjOlVJbnQxNiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJOb09mUmVmZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlTm9kZSIgTGVuZ3RoRmll -bGQ9Ik5vT2ZSZWZlcmVuY2VzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -OlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik9iamVjdE5vZGUiIEJhc2VUeXBlPSJ0bnM6SW5zdGFuY2VO -b2RlIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+U3BlY2lmaWVzIHRoZSBhdHRyaWJ1dGVzIHdo -aWNoIGJlbG9uZyB0byBvYmplY3Qgbm9kZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5z -Ok5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6 -Tm9kZUNsYXNzIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBTb3VyY2VUeXBlPSJ0bnM6 -Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6 -TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9 -InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0i -b3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5v -ZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFt -ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUm9sZVBlcm1pc3Npb25zIiBU -eXBlTmFtZT0idG5zOlJvbGVQZXJtaXNzaW9uVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSb2xlUGVy -bWlzc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVXNlclJvbGVQZXJtaXNzaW9u -cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJSb2xl -UGVybWlzc2lvbnMiIFR5cGVOYW1lPSJ0bnM6Um9sZVBlcm1pc3Npb25UeXBlIiBMZW5ndGhGaWVs -ZD0iTm9PZlVzZXJSb2xlUGVybWlzc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBY2Nl -c3NSZXN0cmljdGlvbnMiIFR5cGVOYW1lPSJvcGM6VUludDE2IiBTb3VyY2VUeXBlPSJ0bnM6Tm9k -ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3Bj -OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRu -czpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJFdmVudE5vdGlmaWVyIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwv -b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iT2JqZWN0 -VHlwZU5vZGUiIEJhc2VUeXBlPSJ0bnM6VHlwZU5vZGUiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlv -bj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIG9iamVjdCB0eXBlIG5v -ZGVzLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5 -cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgU291cmNlVHlwZT0i -dG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0i -dWE6UXVhbGlmaWVkTmFtZSIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5 -cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVO -YW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9 -InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5h -bWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTm9PZlJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9InRuczpSb2xlUGVybWlz -c2lvblR5cGUiIExlbmd0aEZpZWxkPSJOb09mUm9sZVBlcm1pc3Npb25zIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iTm9PZlVzZXJSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0i -dG5zOlJvbGVQZXJtaXNzaW9uVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZVc2VyUm9sZVBlcm1pc3Np -b25zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWNjZXNzUmVzdHJpY3Rpb25zIiBUeXBlTmFt -ZT0ib3BjOlVJbnQxNiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJOb09mUmVmZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlTm9kZSIgTGVuZ3Ro -RmllbGQ9Ik5vT2ZSZWZlcmVuY2VzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNBYnN0cmFj -dCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlZhcmlhYmxlTm9kZSIgQmFzZVR5cGU9InRuczpJ -bnN0YW5jZU5vZGUiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJp -YnV0ZXMgd2hpY2ggYmVsb25nIHRvIHZhcmlhYmxlIG5vZGVzLjwvb3BjOkRvY3VtZW50YXRpb24+ -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 -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWUiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZVJhbmsiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0ib3BjOklu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0i -b3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJBY2Nlc3NMZXZlbCIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iVXNlckFjY2Vzc0xldmVsIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9w -YzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJIaXN0b3JpemluZyIgVHlwZU5hbWU9 -Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWNjZXNzTGV2ZWxFeCIgVHlw -ZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 -U3RydWN0dXJlZFR5cGUgTmFtZT0iVmFyaWFibGVUeXBlTm9kZSIgQmFzZVR5cGU9InRuczpUeXBl -Tm9kZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0cmlidXRlcyB3 -aGljaCBiZWxvbmcgdG8gdmFyaWFibGUgdHlwZSBub2Rlcy48L29wYzpEb2N1bWVudGF0aW9uPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VU -eXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5h -bWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5 -cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVO -YW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291 -cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5 -cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBl -PSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSb2xlUGVybWlzc2lvbnMi -IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSb2xlUGVybWlz -c2lvbnMiIFR5cGVOYW1lPSJ0bnM6Um9sZVBlcm1pc3Npb25UeXBlIiBMZW5ndGhGaWVsZD0iTm9P -ZlJvbGVQZXJtaXNzaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZVc2VyUm9sZVBl -cm1pc3Npb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -VXNlclJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9InRuczpSb2xlUGVybWlzc2lvblR5cGUiIExl -bmd0aEZpZWxkPSJOb09mVXNlclJvbGVQZXJtaXNzaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkFjY2Vzc1Jlc3RyaWN0aW9ucyIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIFNvdXJjZVR5cGU9 -InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVO -YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBl -TmFtZT0idG5zOlJlZmVyZW5jZU5vZGUiIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlcyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFUeXBlIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iVmFsdWVSYW5rIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTm9PZkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9w -YzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mQXJyYXlEaW1lbnNpb25zIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iSXNBYnN0cmFjdCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29w -YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlZmVyZW5j -ZVR5cGVOb2RlIiBCYXNlVHlwZT0idG5zOlR5cGVOb2RlIj4NCiAgICA8b3BjOkRvY3VtZW50YXRp -b24+U3BlY2lmaWVzIHRoZSBhdHRyaWJ1dGVzIHdoaWNoIGJlbG9uZyB0byByZWZlcmVuY2UgdHlw -ZSBub2Rlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlk -IiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5 -cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5h -bWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3Vy -Y2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBU -eXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VU -eXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5 -cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJ0bnM6Um9sZVBl -cm1pc3Npb25UeXBlIiBMZW5ndGhGaWVsZD0iTm9PZlJvbGVQZXJtaXNzaW9ucyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vT2ZVc2VyUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0ib3BjOklu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlclJvbGVQZXJtaXNzaW9ucyIgVHlwZU5h -bWU9InRuczpSb2xlUGVybWlzc2lvblR5cGUiIExlbmd0aEZpZWxkPSJOb09mVXNlclJvbGVQZXJt -aXNzaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFjY2Vzc1Jlc3RyaWN0aW9ucyIgVHlw -ZU5hbWU9Im9wYzpVSW50MTYiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBlTmFtZT0idG5zOlJlZmVyZW5jZU5vZGUiIExl -bmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJz -dHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN5 -bW1ldHJpYyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -SW52ZXJzZU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1ldGhvZE5vZGUiIEJh -c2VUeXBlPSJ0bnM6SW5zdGFuY2VOb2RlIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+U3BlY2lm -aWVzIHRoZSBhdHRyaWJ1dGVzIHdoaWNoIGJlbG9uZyB0byBtZXRob2Qgbm9kZXMuPC9vcGM6RG9j +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlYWRlckdyb3VwTWVzc2Fn +ZURhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgPC9vcGM6U3RydWN0 +dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRhU2V0UmVhZGVyRGF0 +YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJF +bmFibGVkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQ +dWJsaXNoZXJJZCIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJXcml0ZXJHcm91cElkIiBUeXBlTmFtZT0ib3BjOlVJbnQxNiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkRhdGFTZXRXcml0ZXJJZCIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJEYXRhU2V0TWV0YURhdGEiIFR5cGVOYW1lPSJ0bnM6RGF0YVNldE1ldGFE +YXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRGaWVsZENvbnRlbnRNYXNr +IiBUeXBlTmFtZT0idG5zOkRhdGFTZXRGaWVsZENvbnRlbnRNYXNrIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTWVzc2FnZVJlY2VpdmVUaW1lb3V0IiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TW9kZSIgVHlwZU5hbWU9InRuczpNZXNzYWdl +U2VjdXJpdHlNb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlHcm91cElkIiBU +eXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZWN1cml0 +eUtleVNlcnZpY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iU2VjdXJpdHlLZXlTZXJ2aWNlcyIgVHlwZU5hbWU9InRuczpFbmRwb2ludERlc2NyaXB0aW9u +IiBMZW5ndGhGaWVsZD0iTm9PZlNlY3VyaXR5S2V5U2VydmljZXMiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb09mRGF0YVNldFJlYWRlclByb3BlcnRpZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhU2V0UmVhZGVyUHJvcGVydGllcyIgVHlwZU5h +bWU9InRuczpLZXlWYWx1ZVBhaXIiIExlbmd0aEZpZWxkPSJOb09mRGF0YVNldFJlYWRlclByb3Bl +cnRpZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc3BvcnRTZXR0aW5ncyIgVHlwZU5h +bWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2VT +ZXR0aW5ncyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlN1YnNjcmliZWREYXRhU2V0IiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAv +Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 +IkRhdGFTZXRSZWFkZXJUcmFuc3BvcnREYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iRGF0YVNldFJlYWRlck1lc3NhZ2VEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lv +bk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iU3Vic2NyaWJlZERhdGFTZXREYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lv +bk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iVGFyZ2V0VmFyaWFibGVzRGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6U3Vic2NyaWJl +ZERhdGFTZXREYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVGFyZ2V0VmFyaWFi +bGVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGFyZ2V0 +VmFyaWFibGVzIiBUeXBlTmFtZT0idG5zOkZpZWxkVGFyZ2V0RGF0YVR5cGUiIExlbmd0aEZpZWxk +PSJOb09mVGFyZ2V0VmFyaWFibGVzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 +b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkZpZWxkVGFyZ2V0RGF0YVR5cGUiIEJhc2VUeXBlPSJ1 +YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVNldEZpZWxkSWQi +IFR5cGVOYW1lPSJvcGM6R3VpZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlY2VpdmVySW5k +ZXhSYW5nZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJU +YXJnZXROb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJBdHRyaWJ1dGVJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJXcml0ZUluZGV4UmFuZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iT3ZlcnJpZGVWYWx1ZUhhbmRsaW5nIiBUeXBlTmFtZT0idG5zOk92ZXJyaWRl +VmFsdWVIYW5kbGluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik92ZXJyaWRlVmFsdWUiIFR5 +cGVOYW1lPSJ1YTpWYXJpYW50IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj +OkVudW1lcmF0ZWRUeXBlIE5hbWU9Ik92ZXJyaWRlVmFsdWVIYW5kbGluZyIgTGVuZ3RoSW5CaXRz +PSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGlzYWJsZWQiIFZhbHVlPSIw +IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikxhc3RVc2VhYmxlVmFsdWUiIFZh +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 +dGVkVmFsdWUgTmFtZT0iUGljb3NlY29uZHMiIFZhbHVlPSIyNTYiIC8+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 +cmF0ZWRWYWx1ZSBOYW1lPSJTdGF0dXMiIFZhbHVlPSIxNiIgLz4NCiAgPC9vcGM6RW51bWVyYXRl +ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJKc29uRGF0YVNldFdyaXRlck1l +c3NhZ2VEYXRhVHlwZSIgQmFzZVR5cGU9InRuczpEYXRhU2V0V3JpdGVyTWVzc2FnZURhdGFUeXBl +Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIFR5cGVO +YW1lPSJ0bnM6SnNvbkRhdGFTZXRNZXNzYWdlQ29udGVudE1hc2siIC8+DQogIDwvb3BjOlN0cnVj +dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSnNvbkRhdGFTZXRSZWFk +ZXJNZXNzYWdlRGF0YVR5cGUiIEJhc2VUeXBlPSJ0bnM6RGF0YVNldFJlYWRlck1lc3NhZ2VEYXRh +VHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiBU +eXBlTmFtZT0idG5zOkpzb25OZXR3b3JrTWVzc2FnZUNvbnRlbnRNYXNrIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iRGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgVHlwZU5hbWU9InRuczpKc29u +RGF0YVNldE1lc3NhZ2VDb250ZW50TWFzayIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRhZ3JhbUNvbm5lY3Rpb25UcmFuc3BvcnRE +YXRhVHlwZSIgQmFzZVR5cGU9InRuczpDb25uZWN0aW9uVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iRGlzY292ZXJ5QWRkcmVzcyIgVHlwZU5hbWU9InVhOkV4dGVuc2lv +bk9iamVjdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk +VHlwZSBOYW1lPSJEYXRhZ3JhbVdyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUiIEJhc2VUeXBl +PSJ0bnM6V3JpdGVyR3JvdXBUcmFuc3BvcnREYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJNZXNzYWdlUmVwZWF0Q291bnQiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik1lc3NhZ2VSZXBlYXREZWxheSIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJv +a2VyQ29ubmVjdGlvblRyYW5zcG9ydERhdGFUeXBlIiBCYXNlVHlwZT0idG5zOkNvbm5lY3Rpb25U +cmFuc3BvcnREYXRhVHlwZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNvdXJjZVVyaSIgVHlw +ZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdXRoZW50aWNhdGlv +blByb2ZpbGVVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk +VHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkJyb2tlclRyYW5zcG9ydFF1YWxp +dHlPZlNlcnZpY2UiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9Ik5vdFNwZWNpZmllZCIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs +dWUgTmFtZT0iQmVzdEVmZm9ydCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs +dWUgTmFtZT0iQXRMZWFzdE9uY2UiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh +bHVlIE5hbWU9IkF0TW9zdE9uY2UiIFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh +bHVlIE5hbWU9IkV4YWN0bHlPbmNlIiBWYWx1ZT0iNCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5 +cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm9rZXJXcml0ZXJHcm91cFRyYW5z +cG9ydERhdGFUeXBlIiBCYXNlVHlwZT0idG5zOldyaXRlckdyb3VwVHJhbnNwb3J0RGF0YVR5cGUi +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVldWVOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc291cmNlVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmlu +ZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF1dGhlbnRpY2F0aW9uUHJvZmlsZVVyaSIgVHlw +ZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWREZWxp +dmVyeUd1YXJhbnRlZSIgVHlwZU5hbWU9InRuczpCcm9rZXJUcmFuc3BvcnRRdWFsaXR5T2ZTZXJ2 +aWNlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl +IE5hbWU9IkJyb2tlckRhdGFTZXRXcml0ZXJUcmFuc3BvcnREYXRhVHlwZSIgQmFzZVR5cGU9InRu +czpEYXRhU2V0V3JpdGVyVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +UXVldWVOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlJlc291cmNlVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkF1dGhlbnRpY2F0aW9uUHJvZmlsZVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJNZXRhRGF0YVF1ZXVlTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJp +bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXRhRGF0YVVwZGF0ZVRpbWUiIFR5cGVOYW1l +PSJvcGM6RG91YmxlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj +dHVyZWRUeXBlIE5hbWU9IkJyb2tlckRhdGFTZXRSZWFkZXJUcmFuc3BvcnREYXRhVHlwZSIgQmFz +ZVR5cGU9InRuczpEYXRhU2V0UmVhZGVyVHJhbnNwb3J0RGF0YVR5cGUiPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iUXVldWVOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlJlc291cmNlVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IkF1dGhlbnRpY2F0aW9uUHJvZmlsZVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJp +bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWREZWxpdmVyeUd1YXJhbnRlZSIg +VHlwZU5hbWU9InRuczpCcm9rZXJUcmFuc3BvcnRRdWFsaXR5T2ZTZXJ2aWNlIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTWV0YURhdGFRdWV1ZU5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAv +Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9 +IkRpYWdub3N0aWNzTGV2ZWwiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRl +ZFZhbHVlIE5hbWU9IkJhc2ljIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 +ZSBOYW1lPSJBZHZhbmNlZCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg +TmFtZT0iSW5mbyIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i +TG9nIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEZWJ1ZyIg +VmFsdWU9IjQiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRl +ZFR5cGUgTmFtZT0iUHViU3ViRGlhZ25vc3RpY3NDb3VudGVyQ2xhc3NpZmljYXRpb24iIExlbmd0 +aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkluZm9ybWF0aW9u +IiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJFcnJvciIgVmFs +dWU9IjEiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5 +cGUgTmFtZT0iSWRUeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50YXRp +b24+VGhlIHR5cGUgb2YgaWRlbnRpZmllciB1c2VkIGluIGEgbm9kZSBpZC48L29wYzpEb2N1bWVu +dGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik51bWVyaWMiIFZhbHVlPSIw +IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN0cmluZyIgVmFsdWU9IjEiIC8+ +DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iR3VpZCIgVmFsdWU9IjIiIC8+DQogICAg +PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iT3BhcXVlIiBWYWx1ZT0iMyIgLz4NCiAgPC9vcGM6 +RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJOb2RlQ2xhc3Mi +IExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIG1hc2sgc3BlY2lm +eWluZyB0aGUgY2xhc3Mgb2YgdGhlIG5vZGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj +OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVbnNwZWNpZmllZCIgVmFsdWU9IjAiIC8+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iT2JqZWN0IiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVu +dW1lcmF0ZWRWYWx1ZSBOYW1lPSJWYXJpYWJsZSIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVt +ZXJhdGVkVmFsdWUgTmFtZT0iTWV0aG9kIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0 +ZWRWYWx1ZSBOYW1lPSJPYmplY3RUeXBlIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0 +ZWRWYWx1ZSBOYW1lPSJWYXJpYWJsZVR5cGUiIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1l +cmF0ZWRWYWx1ZSBOYW1lPSJSZWZlcmVuY2VUeXBlIiBWYWx1ZT0iMzIiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iRGF0YVR5cGUiIFZhbHVlPSI2NCIgLz4NCiAgICA8b3BjOkVu +dW1lcmF0ZWRWYWx1ZSBOYW1lPSJWaWV3IiBWYWx1ZT0iMTI4IiAvPg0KICA8L29wYzpFbnVtZXJh +dGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlBlcm1pc3Npb25UeXBlIiBM +ZW5ndGhJbkJpdHM9IjMyIiBJc09wdGlvblNldD0idHJ1ZSI+DQogICAgPG9wYzpFbnVtZXJhdGVk +VmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg +TmFtZT0iQnJvd3NlIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l +PSJSZWFkUm9sZVBlcm1pc3Npb25zIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJXcml0ZUF0dHJpYnV0ZSIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJh +dGVkVmFsdWUgTmFtZT0iV3JpdGVSb2xlUGVybWlzc2lvbnMiIFZhbHVlPSI4IiAvPg0KICAgIDxv +cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IldyaXRlSGlzdG9yaXppbmciIFZhbHVlPSIxNiIgLz4N +CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWFkIiBWYWx1ZT0iMzIiIC8+DQogICAg +PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iV3JpdGUiIFZhbHVlPSI2NCIgLz4NCiAgICA8b3Bj +OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZWFkSGlzdG9yeSIgVmFsdWU9IjEyOCIgLz4NCiAgICA8 +b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnNlcnRIaXN0b3J5IiBWYWx1ZT0iMjU2IiAvPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik1vZGlmeUhpc3RvcnkiIFZhbHVlPSI1MTIi +IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGVsZXRlSGlzdG9yeSIgVmFsdWU9 +IjEwMjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVjZWl2ZUV2ZW50cyIg +VmFsdWU9IjIwNDgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ2FsbCIgVmFs +dWU9IjQwOTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQWRkUmVmZXJlbmNl +IiBWYWx1ZT0iODE5MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZW1vdmVS +ZWZlcmVuY2UiIFZhbHVlPSIxNjM4NCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l +PSJEZWxldGVOb2RlIiBWYWx1ZT0iMzI3NjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg +TmFtZT0iQWRkTm9kZSIgVmFsdWU9IjY1NTM2IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4N +Cg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkFjY2Vzc0xldmVsVHlwZSIgTGVuZ3RoSW5C +aXRzPSI4IiBJc09wdGlvblNldD0idHJ1ZSI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt +ZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ3Vy +cmVudFJlYWQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkN1 +cnJlbnRXcml0ZSIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i +SGlzdG9yeVJlYWQiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 +Ikhpc3RvcnlXcml0ZSIgVmFsdWU9IjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h +bWU9IlN0YXR1c1dyaXRlIiBWYWx1ZT0iMzIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg +TmFtZT0iVGltZXN0YW1wV3JpdGUiIFZhbHVlPSI2NCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5 +cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJBY2Nlc3NMZXZlbEV4VHlwZSIgTGVu +Z3RoSW5CaXRzPSIzMiIgSXNPcHRpb25TZXQ9InRydWUiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh +bHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h +bWU9IkN1cnJlbnRSZWFkIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO +YW1lPSJDdXJyZW50V3JpdGUiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9Ikhpc3RvcnlSZWFkIiBWYWx1ZT0iNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 +ZSBOYW1lPSJIaXN0b3J5V3JpdGUiIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJTdGF0dXNXcml0ZSIgVmFsdWU9IjMyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRl +ZFZhbHVlIE5hbWU9IlRpbWVzdGFtcFdyaXRlIiBWYWx1ZT0iNjQiIC8+DQogICAgPG9wYzpFbnVt +ZXJhdGVkVmFsdWUgTmFtZT0iTm9uYXRvbWljUmVhZCIgVmFsdWU9IjI1NiIgLz4NCiAgICA8b3Bj +OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25hdG9taWNXcml0ZSIgVmFsdWU9IjUxMiIgLz4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJXcml0ZUZ1bGxBcnJheU9ubHkiIFZhbHVlPSIx +MDI0IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBl +IE5hbWU9IkV2ZW50Tm90aWZpZXJUeXBlIiBMZW5ndGhJbkJpdHM9IjgiIElzT3B0aW9uU2V0PSJ0 +cnVlIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25lIiBWYWx1ZT0iMCIgLz4N +CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTdWJzY3JpYmVUb0V2ZW50cyIgVmFsdWU9 +IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSGlzdG9yeVJlYWQiIFZhbHVl +PSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikhpc3RvcnlXcml0ZSIgVmFs +dWU9IjgiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iUm9sZVBlcm1pc3Npb25UeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJvbGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlBlcm1pc3Npb25zIiBUeXBlTmFtZT0idG5zOlBlcm1pc3Np +b25UeXBlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRU +eXBlIE5hbWU9IlN0cnVjdHVyZVR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IlN0cnVjdHVyZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVt +ZXJhdGVkVmFsdWUgTmFtZT0iU3RydWN0dXJlV2l0aE9wdGlvbmFsRmllbGRzIiBWYWx1ZT0iMSIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVbmlvbiIgVmFsdWU9IjIiIC8+DQog +IDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3Ry +dWN0dXJlRmllbGQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJEYXRhVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlZhbHVlUmFuayIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6VUlu +dDMyIiBMZW5ndGhGaWVsZD0iTm9PZkFycmF5RGltZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik1heFN0cmluZ0xlbmd0aCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJJc09wdGlvbmFsIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwv +b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3RydWN0 +dXJlRGVmaW5pdGlvbiIgQmFzZVR5cGU9InRuczpEYXRhVHlwZURlZmluaXRpb24iPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iRGVmYXVsdEVuY29kaW5nSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCYXNlRGF0YVR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdHJ1Y3R1cmVUeXBlIiBUeXBlTmFtZT0idG5zOlN0 +cnVjdHVyZVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRmllbGRzIiBUeXBlTmFt +ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmllbGRzIiBUeXBlTmFtZT0i +dG5zOlN0cnVjdHVyZUZpZWxkIiBMZW5ndGhGaWVsZD0iTm9PZkZpZWxkcyIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFbnVtRGVmaW5p +dGlvbiIgQmFzZVR5cGU9InRuczpEYXRhVHlwZURlZmluaXRpb24iPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTm9PZkZpZWxkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkZpZWxkcyIgVHlwZU5hbWU9InRuczpFbnVtRmllbGQiIExlbmd0aEZpZWxkPSJOb09m +RmllbGRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU +eXBlIE5hbWU9Ik5vZGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 +RG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIGFs +bCBub2Rlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlk +IiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNsYXNz +IiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dz +ZU5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9 +Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJvbGVQZXJtaXNzaW9ucyIgVHlw +ZU5hbWU9InRuczpSb2xlUGVybWlzc2lvblR5cGUiIExlbmd0aEZpZWxkPSJOb09mUm9sZVBlcm1p +c3Npb25zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlVzZXJSb2xlUGVybWlzc2lvbnMi +IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyUm9sZVBl +cm1pc3Npb25zIiBUeXBlTmFtZT0idG5zOlJvbGVQZXJtaXNzaW9uVHlwZSIgTGVuZ3RoRmllbGQ9 +Ik5vT2ZVc2VyUm9sZVBlcm1pc3Npb25zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWNjZXNz +UmVzdHJpY3Rpb25zIiBUeXBlTmFtZT0ib3BjOlVJbnQxNiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5ndGhG +aWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv +cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSW5zdGFuY2VOb2RlIiBCYXNlVHlwZT0idG5zOk5vZGUi +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3Vy +Y2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlw +ZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJj +ZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5 +cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIg +U291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2si +IFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VU +eXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSb2xlUGVybWlzc2lv +bnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSb2xlUGVy +bWlzc2lvbnMiIFR5cGVOYW1lPSJ0bnM6Um9sZVBlcm1pc3Npb25UeXBlIiBMZW5ndGhGaWVsZD0i +Tm9PZlJvbGVQZXJtaXNzaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZVc2VyUm9s +ZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iVXNlclJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9InRuczpSb2xlUGVybWlzc2lvblR5cGUi +IExlbmd0aEZpZWxkPSJOb09mVXNlclJvbGVQZXJtaXNzaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkFjY2Vzc1Jlc3RyaWN0aW9ucyIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIFNvdXJjZVR5 +cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5 +cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBU +eXBlTmFtZT0idG5zOlJlZmVyZW5jZU5vZGUiIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlcyIg +Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l +PSJUeXBlTm9kZSIgQmFzZVR5cGU9InRuczpOb2RlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v +ZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNzIiBTb3Vy +Y2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5hbWUiIFR5 +cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIg +U291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlv +biIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291 +cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNr +IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOb09mUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0idG5zOlJv +bGVQZXJtaXNzaW9uVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSb2xlUGVybWlzc2lvbnMiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVXNlclJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9Im9w +YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJSb2xlUGVybWlzc2lvbnMiIFR5 +cGVOYW1lPSJ0bnM6Um9sZVBlcm1pc3Npb25UeXBlIiBMZW5ndGhGaWVsZD0iTm9PZlVzZXJSb2xl +UGVybWlzc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBY2Nlc3NSZXN0cmljdGlvbnMi +IFR5cGVOYW1lPSJvcGM6VUludDE2IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VOb2Rl +IiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iT2JqZWN0Tm9kZSIgQmFzZVR5cGU9InRu +czpJbnN0YW5jZU5vZGUiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0 +dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIG9iamVjdCBub2Rlcy48L29wYzpEb2N1bWVudGF0aW9u +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3Vy +Y2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlw +ZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIFNvdXJj +ZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5 +cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIg +U291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2si +IFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VU +eXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSb2xlUGVybWlzc2lv +bnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSb2xlUGVy +bWlzc2lvbnMiIFR5cGVOYW1lPSJ0bnM6Um9sZVBlcm1pc3Npb25UeXBlIiBMZW5ndGhGaWVsZD0i +Tm9PZlJvbGVQZXJtaXNzaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZVc2VyUm9s +ZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iVXNlclJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9InRuczpSb2xlUGVybWlzc2lvblR5cGUi +IExlbmd0aEZpZWxkPSJOb09mVXNlclJvbGVQZXJtaXNzaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkFjY2Vzc1Jlc3RyaWN0aW9ucyIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIFNvdXJjZVR5 +cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5 +cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBU +eXBlTmFtZT0idG5zOlJlZmVyZW5jZU5vZGUiIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlcyIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50Tm90aWZpZXIiIFR5cGVOYW1lPSJvcGM6Qnl0 +ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO +YW1lPSJPYmplY3RUeXBlTm9kZSIgQmFzZVR5cGU9InRuczpUeXBlTm9kZSI+DQogICAgPG9wYzpE +b2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gb2Jq +ZWN0IHR5cGUgbm9kZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNzIiBT +b3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZU5hbWUi +IFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4 +dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlw +dGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg +U291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVN +YXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJOb09mUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0ib3BjOkludDMy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0idG5z +OlJvbGVQZXJtaXNzaW9uVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSb2xlUGVybWlzc2lvbnMiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVXNlclJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9 +Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJSb2xlUGVybWlzc2lvbnMi +IFR5cGVOYW1lPSJ0bnM6Um9sZVBlcm1pc3Npb25UeXBlIiBMZW5ndGhGaWVsZD0iTm9PZlVzZXJS +b2xlUGVybWlzc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBY2Nlc3NSZXN0cmljdGlv +bnMiIFR5cGVOYW1lPSJvcGM6VUludDE2IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VO +b2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJJc0Fic3RyYWN0IiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVmFyaWFibGVOb2RlIiBCYXNl +VHlwZT0idG5zOkluc3RhbmNlTm9kZSI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlNwZWNpZmll +cyB0aGUgYXR0cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gdmFyaWFibGUgbm9kZXMuPC9vcGM6RG9j dW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5v ZGVJZCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rl Q2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNzIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4N @@ -44857,2117 +45116,2212 @@ PG9wYzpGaWVsZCBOYW1lPSJBY2Nlc3NSZXN0cmljdGlvbnMiIFR5cGVOYW1lPSJvcGM6VUludDE2 IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZl cmVuY2VzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVm ZXJlbmNlcyIgVHlwZU5hbWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJl -ZmVyZW5jZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFeGVjdXRhYmxlIiBUeXBlTmFtZT0i -b3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyRXhlY3V0YWJsZSIgVHlw -ZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -OlN0cnVjdHVyZWRUeXBlIE5hbWU9IlZpZXdOb2RlIiBCYXNlVHlwZT0idG5zOkluc3RhbmNlTm9k -ZSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNv -dXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNsYXNzIiBU -eXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgU291 -cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIg -VHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0 -IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFz -ayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJj -ZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJvbGVQZXJtaXNz -aW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJvbGVQ -ZXJtaXNzaW9ucyIgVHlwZU5hbWU9InRuczpSb2xlUGVybWlzc2lvblR5cGUiIExlbmd0aEZpZWxk -PSJOb09mUm9sZVBlcm1pc3Npb25zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlVzZXJS -b2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJVc2VyUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0idG5zOlJvbGVQZXJtaXNzaW9uVHlw -ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZVc2VyUm9sZVBlcm1pc3Npb25zIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iQWNjZXNzUmVzdHJpY3Rpb25zIiBUeXBlTmFtZT0ib3BjOlVJbnQxNiIgU291cmNl -VHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlcyIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXMi -IFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlTm9kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2Vz -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29udGFpbnNOb0xvb3BzIiBUeXBlTmFtZT0ib3Bj -OkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVudE5vdGlmaWVyIiBUeXBlTmFt -ZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 -dXJlZFR5cGUgTmFtZT0iRGF0YVR5cGVOb2RlIiBCYXNlVHlwZT0idG5zOlR5cGVOb2RlIj4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlw -ZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1l -PSJ0bnM6Tm9kZUNsYXNzIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiBTb3VyY2VUeXBl -PSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFt +ZmVyZW5jZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZh +cmlhbnQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZSIgVHlwZU5hbWU9InVhOk5v +ZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlUmFuayIgVHlwZU5hbWU9Im9wYzpJ +bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIFR5cGVO +YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBcnJheURpbWVuc2lvbnMi +IFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkFycmF5RGltZW5zaW9ucyIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFjY2Vzc0xldmVsIiBUeXBlTmFtZT0ib3BjOkJ5dGUi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyQWNjZXNzTGV2ZWwiIFR5cGVOYW1lPSJvcGM6 +Qnl0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1pbmltdW1TYW1wbGluZ0ludGVydmFsIiBU +eXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikhpc3Rvcml6aW5n +IiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBY2Nlc3NM +ZXZlbEV4IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ +DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJWYXJpYWJsZVR5cGVOb2RlIiBCYXNlVHlw +ZT0idG5zOlR5cGVOb2RlIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+U3BlY2lmaWVzIHRoZSBh +dHRyaWJ1dGVzIHdoaWNoIGJlbG9uZyB0byB2YXJpYWJsZSB0eXBlIG5vZGVzLjwvb3BjOkRvY3Vt +ZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2Rl +SWQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNs +YXNzIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFt +ZSIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5 +TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6 +ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ildy +aXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIi +IFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJvbGVQ +ZXJtaXNzaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9InRuczpSb2xlUGVybWlzc2lvblR5cGUiIExlbmd0 +aEZpZWxkPSJOb09mUm9sZVBlcm1pc3Npb25zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P +ZlVzZXJSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJVc2VyUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0idG5zOlJvbGVQZXJtaXNz +aW9uVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZVc2VyUm9sZVBlcm1pc3Npb25zIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iQWNjZXNzUmVzdHJpY3Rpb25zIiBUeXBlTmFtZT0ib3BjOlVJbnQxNiIg +U291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJl +bmNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVy +ZW5jZXMiIFR5cGVOYW1lPSJ0bnM6UmVmZXJlbmNlTm9kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZl +cmVuY2VzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWUiIFR5cGVOYW1lPSJ1YTpWYXJp +YW50IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5cGUiIFR5cGVOYW1lPSJ1YTpOb2Rl +SWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZVJhbmsiIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFt +ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXJyYXlEaW1lbnNpb25zIiBU +eXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0Fic3RyYWN0IiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4i +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt +ZT0iUmVmZXJlbmNlVHlwZU5vZGUiIEJhc2VUeXBlPSJ0bnM6VHlwZU5vZGUiPg0KICAgIDxvcGM6 +RG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIHJl +ZmVyZW5jZSB0eXBlIG5vZGVzLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFz +cyIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VO +YW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXpl +ZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVz +Y3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9k +ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50 +MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldy +aXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9Im9wYzpJ +bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9 +InRuczpSb2xlUGVybWlzc2lvblR5cGUiIExlbmd0aEZpZWxkPSJOb09mUm9sZVBlcm1pc3Npb25z +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlVzZXJSb2xlUGVybWlzc2lvbnMiIFR5cGVO +YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyUm9sZVBlcm1pc3Np +b25zIiBUeXBlTmFtZT0idG5zOlJvbGVQZXJtaXNzaW9uVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZV +c2VyUm9sZVBlcm1pc3Npb25zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWNjZXNzUmVzdHJp +Y3Rpb25zIiBUeXBlTmFtZT0ib3BjOlVJbnQxNiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJ0bnM6UmVmZXJl +bmNlTm9kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2VzIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iSXNBYnN0cmFjdCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iU3ltbWV0cmljIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJJbnZlcnNlTmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTWV0 +aG9kTm9kZSIgQmFzZVR5cGU9InRuczpJbnN0YW5jZU5vZGUiPg0KICAgIDxvcGM6RG9jdW1lbnRh +dGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIG1ldGhvZCBub2Rl +cy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBl +TmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRu +czpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVh +OlF1YWxpZmllZE5hbWUiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBl +PSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFt ZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJj -ZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBl -TmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0i -dG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUm9sZVBlcm1pc3Npb25zIiBU -eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUm9sZVBlcm1pc3Np -b25zIiBUeXBlTmFtZT0idG5zOlJvbGVQZXJtaXNzaW9uVHlwZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZS -b2xlUGVybWlzc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVXNlclJvbGVQZXJt -aXNzaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVz -ZXJSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJ0bnM6Um9sZVBlcm1pc3Npb25UeXBlIiBMZW5n -dGhGaWVsZD0iTm9PZlVzZXJSb2xlUGVybWlzc2lvbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJBY2Nlc3NSZXN0cmljdGlvbnMiIFR5cGVOYW1lPSJvcGM6VUludDE2IiBTb3VyY2VUeXBlPSJ0 -bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWZlcmVuY2VzIiBUeXBlTmFt -ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlcyIgVHlwZU5h -bWU9InRuczpSZWZlcmVuY2VOb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJJc0Fic3RyYWN0IiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZURlZmluaXRpb24iIFR5cGVOYW1lPSJ1YTpF -eHRlbnNpb25PYmplY3QiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry -dWN0dXJlZFR5cGUgTmFtZT0iUmVmZXJlbmNlTm9kZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i -amVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlNwZWNpZmllcyBhIHJlZmVyZW5jZSB3aGlj -aCBiZWxvbmdzIHRvIGEgbm9kZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iUmVmZXJlbmNlVHlwZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iSXNJbnZlcnNlIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJUYXJnZXRJZCIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0K -ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFy -Z3VtZW50IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50 -YXRpb24+QW4gYXJndW1lbnQgZm9yIGEgbWV0aG9kLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IkRhdGFUeXBlIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iVmFsdWVSYW5rIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iTm9PZkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpVSW50 -MzIiIExlbmd0aEZpZWxkPSJOb09mQXJyYXlEaW1lbnNpb25zIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICA8L29w -YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkVudW1WYWx1 -ZVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRh -dGlvbj5BIG1hcHBpbmcgYmV0d2VlbiBhIHZhbHVlIG9mIGFuIGVudW1lcmF0ZWQgdHlwZSBhbmQg -YSBuYW1lIGFuZCBkZXNjcmlwdGlvbi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iVmFsdWUiIFR5cGVOYW1lPSJvcGM6SW50NjQiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+ -DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i -RW51bUZpZWxkIiBCYXNlVHlwZT0idG5zOkVudW1WYWx1ZVR5cGUiPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iVmFsdWUiIFR5cGVOYW1lPSJvcGM6SW50NjQiIFNvdXJjZVR5cGU9InRuczpFbnVtVmFs -dWVUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1 -YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6RW51bVZhbHVlVHlwZSIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIg -U291cmNlVHlwZT0idG5zOkVudW1WYWx1ZVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO -YW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJPcHRpb25TZXQiIEJhc2VUeXBlPSJ1YTpFeHRl -bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGlzIGFic3RyYWN0IFN0cnVj -dHVyZWQgRGF0YVR5cGUgaXMgdGhlIGJhc2UgRGF0YVR5cGUgZm9yIGFsbCBEYXRhVHlwZXMgcmVw -cmVzZW50aW5nIGEgYml0IG1hc2suPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJWYWxpZEJpdHMiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6 -U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVbmlvbiIgQmFz -ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoaXMg -YWJzdHJhY3QgRGF0YVR5cGUgaXMgdGhlIGJhc2UgRGF0YVR5cGUgZm9yIGFsbCB1bmlvbiBEYXRh -VHlwZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg -PG9wYzpPcGFxdWVUeXBlIE5hbWU9Ik5vcm1hbGl6ZWRTdHJpbmciPg0KICAgIDxvcGM6RG9jdW1l -bnRhdGlvbj5BIHN0cmluZyBub3JtYWxpemVkIGJhc2VkIG9uIHRoZSBydWxlcyBpbiB0aGUgdW5p -Y29kZSBzcGVjaWZpY2F0aW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5 -cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkRlY2ltYWxTdHJpbmciPg0KICAgIDxvcGM6 -RG9jdW1lbnRhdGlvbj5BbiBhcmJpdHJhdHkgbnVtZXJpYyB2YWx1ZS48L29wYzpEb2N1bWVudGF0 -aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJEdXJh -dGlvblN0cmluZyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgcGVyaW9kIG9mIHRpbWUgZm9y -bWF0dGVkIGFzIGRlZmluZWQgaW4gSVNPIDg2MDEtMjAwMC48L29wYzpEb2N1bWVudGF0aW9uPg0K -ICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJUaW1lU3RyaW5n -Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSB0aW1lIGZvcm1hdHRlZCBhcyBkZWZpbmVkIGlu -IElTTyA4NjAxLTIwMDAuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4N -Cg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iRGF0ZVN0cmluZyI+DQogICAgPG9wYzpEb2N1bWVu -dGF0aW9uPkEgZGF0ZSBmb3JtYXR0ZWQgYXMgZGVmaW5lZCBpbiBJU08gODYwMS0yMDAwLjwvb3Bj +aWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0 +bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1l +PSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ik5vT2ZSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJSb2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJ0bnM6Um9sZVBlcm1pc3Np +b25UeXBlIiBMZW5ndGhGaWVsZD0iTm9PZlJvbGVQZXJtaXNzaW9ucyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vT2ZVc2VyUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlclJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9InRu +czpSb2xlUGVybWlzc2lvblR5cGUiIExlbmd0aEZpZWxkPSJOb09mVXNlclJvbGVQZXJtaXNzaW9u +cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFjY2Vzc1Jlc3RyaWN0aW9ucyIgVHlwZU5hbWU9 +Im9wYzpVSW50MTYiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBlTmFtZT0idG5zOlJlZmVyZW5jZU5vZGUiIExlbmd0aEZp +ZWxkPSJOb09mUmVmZXJlbmNlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV4ZWN1dGFibGUi +IFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJFeGVj +dXRhYmxlIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVmlld05vZGUiIEJhc2VUeXBlPSJ0bnM6 +SW5zdGFuY2VOb2RlIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVh +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+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb250YWluc05vTG9vcHMiIFR5 +cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50Tm90aWZp +ZXIiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg +PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEYXRhVHlwZU5vZGUiIEJhc2VUeXBlPSJ0bnM6VHlw +ZU5vZGUiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlk +IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFz +cyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUi +IFNvdXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5h +bWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVk +VGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0 +ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBT +b3VyY2VUeXBlPSJ0bnM6Tm9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSb2xlUGVy +bWlzc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS +b2xlUGVybWlzc2lvbnMiIFR5cGVOYW1lPSJ0bnM6Um9sZVBlcm1pc3Npb25UeXBlIiBMZW5ndGhG +aWVsZD0iTm9PZlJvbGVQZXJtaXNzaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZV +c2VyUm9sZVBlcm1pc3Npb25zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iVXNlclJvbGVQZXJtaXNzaW9ucyIgVHlwZU5hbWU9InRuczpSb2xlUGVybWlzc2lv +blR5cGUiIExlbmd0aEZpZWxkPSJOb09mVXNlclJvbGVQZXJtaXNzaW9ucyIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IkFjY2Vzc1Jlc3RyaWN0aW9ucyIgVHlwZU5hbWU9Im9wYzpVSW50MTYiIFNv +dXJjZVR5cGU9InRuczpOb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5j +ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVu +Y2VzIiBUeXBlTmFtZT0idG5zOlJlZmVyZW5jZU5vZGUiIExlbmd0aEZpZWxkPSJOb09mUmVmZXJl +bmNlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5cGVOYW1lPSJvcGM6 +Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFUeXBlRGVmaW5pdGlvbiIgVHlw +ZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWZlcmVuY2VOb2RlIiBCYXNlVHlwZT0idWE6 +RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+U3BlY2lmaWVzIGEgcmVm +ZXJlbmNlIHdoaWNoIGJlbG9uZ3MgdG8gYSBub2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0ludmVyc2UiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldElkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWRO +b2RlSWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iQXJndW1lbnQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv +cGM6RG9jdW1lbnRhdGlvbj5BbiBhcmd1bWVudCBmb3IgYSBtZXRob2QuPC9vcGM6RG9jdW1lbnRh +dGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZVJhbmsiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFtZT0ib3Bj +OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXJyYXlEaW1lbnNpb25zIiBUeXBlTmFt +ZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQi +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt +ZT0iRW51bVZhbHVlVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w +YzpEb2N1bWVudGF0aW9uPkEgbWFwcGluZyBiZXR3ZWVuIGEgdmFsdWUgb2YgYW4gZW51bWVyYXRl +ZCB0eXBlIGFuZCBhIG5hbWUgYW5kIGRlc2NyaXB0aW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9Im9wYzpJbnQ2NCIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxp +emVkVGV4dCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk +VHlwZSBOYW1lPSJFbnVtRmllbGQiIEJhc2VUeXBlPSJ0bnM6RW51bVZhbHVlVHlwZSI+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9Im9wYzpJbnQ2NCIgU291cmNlVHlwZT0i +dG5zOkVudW1WYWx1ZVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIg +VHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpFbnVtVmFsdWVUeXBl +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2Nh +bGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6RW51bVZhbHVlVHlwZSIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik9wdGlvblNldCIgQmFzZVR5 +cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoaXMgYWJz +dHJhY3QgU3RydWN0dXJlZCBEYXRhVHlwZSBpcyB0aGUgYmFzZSBEYXRhVHlwZSBmb3IgYWxsIERh +dGFUeXBlcyByZXByZXNlbnRpbmcgYSBiaXQgbWFzay48L29wYzpEb2N1bWVudGF0aW9uPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iVmFsdWUiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlZhbGlkQml0cyIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAv +Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 +IlVuaW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50 +YXRpb24+VGhpcyBhYnN0cmFjdCBEYXRhVHlwZSBpcyB0aGUgYmFzZSBEYXRhVHlwZSBmb3IgYWxs +IHVuaW9uIERhdGFUeXBlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpTdHJ1Y3R1cmVk +VHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iTm9ybWFsaXplZFN0cmluZyI+DQogICAg +PG9wYzpEb2N1bWVudGF0aW9uPkEgc3RyaW5nIG5vcm1hbGl6ZWQgYmFzZWQgb24gdGhlIHJ1bGVz +IGluIHRoZSB1bmljb2RlIHNwZWNpZmljYXRpb24uPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9v +cGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iRGVjaW1hbFN0cmluZyI+ +DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkFuIGFyYml0cmF0eSBudW1lcmljIHZhbHVlLjwvb3Bj OkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBl -IE5hbWU9IkR1cmF0aW9uIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBwZXJpb2Qgb2YgdGlt -ZSBtZWFzdXJlZCBpbiBtaWxsaXNlY29uZHMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6 -T3BhcXVlVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iVXRjVGltZSI+DQogICAgPG9w -YzpEb2N1bWVudGF0aW9uPkEgZGF0ZS90aW1lIHZhbHVlIHNwZWNpZmllZCBpbiBVbml2ZXJzYWwg -Q29vcmRpbmF0ZWQgVGltZSAoVVRDKS48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFx -dWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJMb2NhbGVJZCI+DQogICAgPG9wYzpE -b2N1bWVudGF0aW9uPkFuIGlkZW50aWZpZXIgZm9yIGEgdXNlciBsb2NhbGUuPC9vcGM6RG9jdW1l -bnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9IlRpbWVab25lRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iT2Zmc2V0IiBUeXBlTmFtZT0ib3BjOkludDE2IiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iRGF5bGlnaHRTYXZpbmdJbk9mZnNldCIgVHlwZU5hbWU9Im9wYzpCb29s -ZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFt -ZT0iSW50ZWdlcklkIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBudW1lcmljIGlkZW50aWZp -ZXIgZm9yIGFuIG9iamVjdC48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBl -Pg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iQXBwbGljYXRpb25UeXBlIiBMZW5ndGhJ -bkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHR5cGVzIG9mIGFwcGxpY2F0 -aW9ucy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 -IlNlcnZlciIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ2xp -ZW50IiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDbGllbnRB -bmRTZXJ2ZXIiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRp -c2NvdmVyeVNlcnZlciIgVmFsdWU9IjMiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQog -IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQXBwbGljYXRpb25EZXNjcmlwdGlvbiIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkRlc2NyaWJl -cyBhbiBhcHBsaWNhdGlvbiBhbmQgaG93IHRvIGZpbmQgaXQuPC9vcGM6RG9jdW1lbnRhdGlvbj4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkFwcGxpY2F0aW9uVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmlu -ZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByb2R1Y3RVcmkiIFR5cGVOYW1lPSJvcGM6U3Ry -aW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXBwbGljYXRpb25OYW1lIiBUeXBlTmFtZT0i -dWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFwcGxpY2F0aW9uVHlw -ZSIgVHlwZU5hbWU9InRuczpBcHBsaWNhdGlvblR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJHYXRld2F5U2VydmVyVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkRpc2NvdmVyeVByb2ZpbGVVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpc2NvdmVyeVVybHMiIFR5cGVOYW1lPSJvcGM6SW50 -MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNjb3ZlcnlVcmxzIiBUeXBlTmFtZT0ib3Bj -OlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaXNjb3ZlcnlVcmxzIiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlcXVlc3RIZWFkZXIi +IE5hbWU9IkR1cmF0aW9uU3RyaW5nIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBwZXJpb2Qg +b2YgdGltZSBmb3JtYXR0ZWQgYXMgZGVmaW5lZCBpbiBJU08gODYwMS0yMDAwLjwvb3BjOkRvY3Vt +ZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9 +IlRpbWVTdHJpbmciPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHRpbWUgZm9ybWF0dGVkIGFz +IGRlZmluZWQgaW4gSVNPIDg2MDEtMjAwMC48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpP +cGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJEYXRlU3RyaW5nIj4NCiAgICA8 +b3BjOkRvY3VtZW50YXRpb24+QSBkYXRlIGZvcm1hdHRlZCBhcyBkZWZpbmVkIGluIElTTyA4NjAx +LTIwMDAuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3Bj +Ok9wYXF1ZVR5cGUgTmFtZT0iRHVyYXRpb24iPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHBl +cmlvZCBvZiB0aW1lIG1lYXN1cmVkIGluIG1pbGxpc2Vjb25kcy48L29wYzpEb2N1bWVudGF0aW9u +Pg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJVdGNUaW1l +Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBkYXRlL3RpbWUgdmFsdWUgc3BlY2lmaWVkIGlu +IFVuaXZlcnNhbCBDb29yZGluYXRlZCBUaW1lIChVVEMpLjwvb3BjOkRvY3VtZW50YXRpb24+DQog +IDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkxvY2FsZUlkIj4N +CiAgICA8b3BjOkRvY3VtZW50YXRpb24+QW4gaWRlbnRpZmllciBmb3IgYSB1c2VyIGxvY2FsZS48 +L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6U3RydWN0 +dXJlZFR5cGUgTmFtZT0iVGltZVpvbmVEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJPZmZzZXQiIFR5cGVOYW1lPSJvcGM6SW50MTYi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXlsaWdodFNhdmluZ0luT2Zmc2V0IiBUeXBlTmFt +ZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6T3Bh +cXVlVHlwZSBOYW1lPSJJbnRlZ2VySWQiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIG51bWVy +aWMgaWRlbnRpZmllciBmb3IgYW4gb2JqZWN0Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3Bj +Ok9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJBcHBsaWNhdGlvblR5 +cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgdHlwZXMg +b2YgYXBwbGljYXRpb25zLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpFbnVtZXJhdGVk +VmFsdWUgTmFtZT0iU2VydmVyIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 +ZSBOYW1lPSJDbGllbnQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h +bWU9IkNsaWVudEFuZFNlcnZlciIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs +dWUgTmFtZT0iRGlzY292ZXJ5U2VydmVyIiBWYWx1ZT0iMyIgLz4NCiAgPC9vcGM6RW51bWVyYXRl +ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBcHBsaWNhdGlvbkRlc2NyaXB0 +aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRp +b24+RGVzY3JpYmVzIGFuIGFwcGxpY2F0aW9uIGFuZCBob3cgdG8gZmluZCBpdC48L29wYzpEb2N1 +bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXBwbGljYXRpb25VcmkiIFR5cGVOYW1l +PSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJvZHVjdFVyaSIgVHlwZU5h +bWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBcHBsaWNhdGlvbk5hbWUi +IFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXBw +bGljYXRpb25UeXBlIiBUeXBlTmFtZT0idG5zOkFwcGxpY2F0aW9uVHlwZSIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IkdhdGV3YXlTZXJ2ZXJVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY292ZXJ5UHJvZmlsZVVyaSIgVHlwZU5hbWU9Im9wYzpT +dHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlzY292ZXJ5VXJscyIgVHlwZU5h +bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2NvdmVyeVVybHMiIFR5 +cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZkRpc2NvdmVyeVVybHMiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVx +dWVzdEhlYWRlciIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1 +bWVudGF0aW9uPlRoZSBoZWFkZXIgcGFzc2VkIHdpdGggZXZlcnkgc2VydmVyIHJlcXVlc3QuPC9v +cGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF1dGhlbnRpY2F0aW9uVG9r +ZW4iIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lc3Rh +bXAiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 +ZXN0SGFuZGxlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlJldHVybkRpYWdub3N0aWNzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkF1ZGl0RW50cnlJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJUaW1lb3V0SGludCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJBZGRpdGlvbmFsSGVhZGVyIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9u +T2JqZWN0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU +eXBlIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N +CiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIGhlYWRlciBwYXNzZWQgd2l0aCBldmVyeSBzZXJ2 +ZXIgcmVzcG9uc2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRp +bWVzdGFtcCIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlJlcXVlc3RIYW5kbGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iU2VydmljZVJlc3VsdCIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJTZXJ2aWNlRGlhZ25vc3RpY3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGlj +SW5mbyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTdHJpbmdUYWJsZSIgVHlwZU5hbWU9 +Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0cmluZ1RhYmxlIiBUeXBlTmFt +ZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZTdHJpbmdUYWJsZSIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IkFkZGl0aW9uYWxIZWFkZXIiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmpl +Y3QiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1l +PSJWZXJzaW9uVGltZSI+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk +VHlwZSBOYW1lPSJTZXJ2aWNlRmF1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K +ICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgcmVzcG9uc2UgcmV0dXJuZWQgYnkgYWxsIHNlcnZp +Y2VzIHdoZW4gdGhlcmUgaXMgYSBzZXJ2aWNlIGxldmVsIGVycm9yLjwvb3BjOkRvY3VtZW50YXRp +b24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpS +ZXNwb25zZUhlYWRlciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 +Y3R1cmVkVHlwZSBOYW1lPSJTZXNzaW9ubGVzc0ludm9rZVJlcXVlc3RUeXBlIiBCYXNlVHlwZT0i +dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZVcmlzVmVyc2lv +biIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVyaXNWZXJz +aW9uIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZVcmlzVmVyc2lvbiIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOYW1lc3BhY2VVcmlzIiBUeXBlTmFtZT0ib3Bj +OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmFtZXNwYWNlVXJpcyIgVHlwZU5hbWU9 +Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mTmFtZXNwYWNlVXJpcyIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJVcmlzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iU2VydmVyVXJpcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0 +aEZpZWxkPSJOb09mU2VydmVyVXJpcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZMb2Nh +bGVJZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMb2Nh +bGVJZHMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZkxvY2FsZUlkcyIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZpY2VJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIi +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt +ZT0iU2Vzc2lvbmxlc3NJbnZva2VSZXNwb25zZVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P +YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5hbWVzcGFjZVVyaXMiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lc3BhY2VVcmlzIiBUeXBl +TmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZOYW1lc3BhY2VVcmlzIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlcnZlclVyaXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJVcmlzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIg +TGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJVcmlzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vy +dmljZUlkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ +DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJGaW5kU2VydmVyc1JlcXVlc3QiIEJhc2VU +eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5GaW5kcyB0 +aGUgc2VydmVycyBrbm93biB0byB0aGUgZGlzY292ZXJ5IHNlcnZlci48L29wYzpEb2N1bWVudGF0 +aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpS +ZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kcG9pbnRVcmwiIFR5cGVO +YW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxvY2FsZUlkcyIg +VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsZUlkcyIg +VHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mTG9jYWxlSWRzIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlcnZlclVyaXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJVcmlzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIg +TGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJVcmlzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N +Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkZpbmRTZXJ2ZXJzUmVzcG9uc2UiIEJhc2VU +eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5GaW5kcyB0 +aGUgc2VydmVycyBrbm93biB0byB0aGUgZGlzY292ZXJ5IHNlcnZlci48L29wYzpEb2N1bWVudGF0 +aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6 +UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VydmVycyIgVHlw +ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlcnMiIFR5cGVO +YW1lPSJ0bnM6QXBwbGljYXRpb25EZXNjcmlwdGlvbiIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJz +IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9IlNlcnZlck9uTmV0d29yayIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJSZWNvcmRJZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkRpc2NvdmVyeVVybCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VydmVyQ2FwYWJpbGl0aWVzIiBUeXBlTmFtZT0i +b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyQ2FwYWJpbGl0aWVzIiBU +eXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJDYXBhYmlsaXRpZXMi +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt +ZT0iRmluZFNlcnZlcnNPbk5ldHdvcmtSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq +ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6 +UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXJ0aW5nUmVjb3JkSWQi +IFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4UmVjb3Jk +c1RvUmV0dXJuIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5vT2ZTZXJ2ZXJDYXBhYmlsaXR5RmlsdGVyIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iU2VydmVyQ2FwYWJpbGl0eUZpbHRlciIgVHlwZU5hbWU9Im9wYzpT +dHJpbmciIExlbmd0aEZpZWxkPSJOb09mU2VydmVyQ2FwYWJpbGl0eUZpbHRlciIgLz4NCiAgPC9v +cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJGaW5kU2Vy +dmVyc09uTmV0d29ya1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNl +SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdENvdW50ZXJSZXNldFRpbWUiIFR5 +cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VydmVy +cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlcnMi +IFR5cGVOYW1lPSJ0bnM6U2VydmVyT25OZXR3b3JrIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlcnMi +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJB +cHBsaWNhdGlvbkluc3RhbmNlQ2VydGlmaWNhdGUiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5B +IGNlcnRpZmljYXRlIGZvciBhbiBpbnN0YW5jZSBvZiBhbiBhcHBsaWNhdGlvbi48L29wYzpEb2N1 +bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUg +TmFtZT0iTWVzc2FnZVNlY3VyaXR5TW9kZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpE +b2N1bWVudGF0aW9uPlRoZSB0eXBlIG9mIHNlY3VyaXR5IHRvIHVzZSBvbiBhIG1lc3NhZ2UuPC9v +cGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnZhbGlk +IiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25lIiBWYWx1 +ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTaWduIiBWYWx1ZT0iMiIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTaWduQW5kRW5jcnlwdCIgVmFsdWU9 +IjMiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUg +TmFtZT0iVXNlclRva2VuVHlwZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpEb2N1bWVu +dGF0aW9uPlRoZSBwb3NzaWJsZSB1c2VyIHRva2VuIHR5cGVzLjwvb3BjOkRvY3VtZW50YXRpb24+ +DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQW5vbnltb3VzIiBWYWx1ZT0iMCIgLz4N +CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVc2VyTmFtZSIgVmFsdWU9IjEiIC8+DQog +ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ2VydGlmaWNhdGUiIFZhbHVlPSIyIiAvPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Iklzc3VlZFRva2VuIiBWYWx1ZT0iMyIgLz4N +CiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJV +c2VyVG9rZW5Qb2xpY3kiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 +RG9jdW1lbnRhdGlvbj5EZXNjcmliZXMgYSB1c2VyIHRva2VuIHRoYXQgY2FuIGJlIHVzZWQgd2l0 +aCBhIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUG9s +aWN5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVG9r +ZW5UeXBlIiBUeXBlTmFtZT0idG5zOlVzZXJUb2tlblR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJJc3N1ZWRUb2tlblR5cGUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iSXNzdWVyRW5kcG9pbnRVcmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlQb2xpY3lVcmkiIFR5cGVOYW1lPSJvcGM6U3Ry +aW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl +IE5hbWU9IkVuZHBvaW50RGVzY3JpcHRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi +Pg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgZGVzY3JpcHRpb24gb2YgYSBlbmRwb2ludCB0 +aGF0IGNhbiBiZSB1c2VkIHRvIGFjY2VzcyBhIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kcG9pbnRVcmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyIiBUeXBlTmFtZT0idG5zOkFwcGxpY2F0aW9u +RGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJDZXJ0aWZpY2F0ZSIg +VHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJp +dHlNb2RlIiBUeXBlTmFtZT0idG5zOk1lc3NhZ2VTZWN1cml0eU1vZGUiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJTZWN1cml0eVBvbGljeVVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVXNlcklkZW50aXR5VG9rZW5zIiBUeXBlTmFtZT0ib3Bj +OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcklkZW50aXR5VG9rZW5zIiBUeXBl +TmFtZT0idG5zOlVzZXJUb2tlblBvbGljeSIgTGVuZ3RoRmllbGQ9Ik5vT2ZVc2VySWRlbnRpdHlU +b2tlbnMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc3BvcnRQcm9maWxlVXJpIiBUeXBl +TmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TGV2ZWwi +IFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w +YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJHZXRFbmRwb2ludHNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6 +RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+R2V0cyB0aGUgZW5kcG9p +bnRzIHVzZWQgYnkgdGhlIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kcG9pbnRVcmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxvY2FsZUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsZUlkcyIgVHlwZU5hbWU9Im9wYzpTdHJp +bmciIExlbmd0aEZpZWxkPSJOb09mTG9jYWxlSWRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +Tm9PZlByb2ZpbGVVcmlzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iUHJvZmlsZVVyaXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9P +ZlByb2ZpbGVVcmlzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj +dHVyZWRUeXBlIE5hbWU9IkdldEVuZHBvaW50c1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5z +aW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+R2V0cyB0aGUgZW5kcG9pbnRzIHVz +ZWQgYnkgdGhlIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJOb09mRW5kcG9pbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kcG9pbnRzIiBUeXBlTmFtZT0idG5zOkVuZHBvaW50RGVz +Y3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mRW5kcG9pbnRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlZ2lzdGVyZWRTZXJ2ZXIi IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5U -aGUgaGVhZGVyIHBhc3NlZCB3aXRoIGV2ZXJ5IHNlcnZlciByZXF1ZXN0Ljwvb3BjOkRvY3VtZW50 -YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdXRoZW50aWNhdGlvblRva2VuIiBUeXBlTmFt -ZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGltZXN0YW1wIiBUeXBlTmFt -ZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhhbmRsZSIg -VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXR1cm5EaWFn -bm9zdGljcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJB -dWRpdEVudHJ5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iVGltZW91dEhpbnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iQWRkaXRpb25hbEhlYWRlciIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJS -ZXNwb25zZUhlYWRlciIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpE -b2N1bWVudGF0aW9uPlRoZSBoZWFkZXIgcGFzc2VkIHdpdGggZXZlcnkgc2VydmVyIHJlc3BvbnNl -Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lc3RhbXAiIFR5 -cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGFu -ZGxlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZp -Y2VSZXN1bHQiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iU2VydmljZURpYWdub3N0aWNzIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU3RyaW5nVGFibGUiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdHJpbmdUYWJsZSIgVHlwZU5hbWU9Im9wYzpTdHJp -bmciIExlbmd0aEZpZWxkPSJOb09mU3RyaW5nVGFibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJBZGRpdGlvbmFsSGVhZGVyIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICA8 -L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iVmVyc2lvblRp -bWUiPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i -U2VydmljZUZhdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRv -Y3VtZW50YXRpb24+VGhlIHJlc3BvbnNlIHJldHVybmVkIGJ5IGFsbCBzZXJ2aWNlcyB3aGVuIHRo -ZXJlIGlzIGEgc2VydmljZSBsZXZlbCBlcnJvci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFk -ZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg -TmFtZT0iU2Vzc2lvbmxlc3NJbnZva2VSZXF1ZXN0VHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lv -bk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVXJpc1ZlcnNpb24iIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVcmlzVmVyc2lvbiIgVHlwZU5h -bWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mVXJpc1ZlcnNpb24iIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJOb09mTmFtZXNwYWNlVXJpcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5hbWVzcGFjZVVyaXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5n -IiBMZW5ndGhGaWVsZD0iTm9PZk5hbWVzcGFjZVVyaXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJOb09mU2VydmVyVXJpcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlNlcnZlclVyaXMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9P -ZlNlcnZlclVyaXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTG9jYWxlSWRzIiBUeXBl -TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTG9jYWxlSWRzIiBUeXBl -TmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZMb2NhbGVJZHMiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJTZXJ2aWNlSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29w -YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNlc3Npb25s -ZXNzSW52b2tlUmVzcG9uc2VUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOYW1lc3BhY2VVcmlzIiBUeXBlTmFtZT0ib3BjOkludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTmFtZXNwYWNlVXJpcyIgVHlwZU5hbWU9Im9wYzpT -dHJpbmciIExlbmd0aEZpZWxkPSJOb09mTmFtZXNwYWNlVXJpcyIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vT2ZTZXJ2ZXJVcmlzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iU2VydmVyVXJpcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxk -PSJOb09mU2VydmVyVXJpcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZpY2VJZCIgVHlw -ZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 -U3RydWN0dXJlZFR5cGUgTmFtZT0iRmluZFNlcnZlcnNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0 -ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+RmluZHMgdGhlIHNlcnZlcnMg -a25vd24gdG8gdGhlIGRpc2NvdmVyeSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRl -ciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuZHBvaW50VXJsIiBUeXBlTmFtZT0ib3BjOlN0 -cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZMb2NhbGVJZHMiIFR5cGVOYW1lPSJv -cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMb2NhbGVJZHMiIFR5cGVOYW1lPSJv -cGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZkxvY2FsZUlkcyIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vT2ZTZXJ2ZXJVcmlzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iU2VydmVyVXJpcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxk -PSJOb09mU2VydmVyVXJpcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT -dHJ1Y3R1cmVkVHlwZSBOYW1lPSJGaW5kU2VydmVyc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0 -ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+RmluZHMgdGhlIHNlcnZlcnMg -a25vd24gdG8gdGhlIGRpc2NvdmVyeSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVh -ZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlcnZlcnMiIFR5cGVOYW1lPSJvcGM6 -SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJzIiBUeXBlTmFtZT0idG5zOkFw -cGxpY2F0aW9uRGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mU2VydmVycyIgLz4NCiAgPC9v -cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXJ2ZXJP -bk5ldHdvcmsiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iUmVjb3JkSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iU2VydmVyTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJEaXNjb3ZlcnlVcmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iTm9PZlNlcnZlckNhcGFiaWxpdGllcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlckNhcGFiaWxpdGllcyIgVHlwZU5hbWU9Im9w -YzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mU2VydmVyQ2FwYWJpbGl0aWVzIiAvPg0KICA8L29w -YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkZpbmRTZXJ2 -ZXJzT25OZXR3b3JrUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFk -ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGFydGluZ1JlY29yZElkIiBUeXBlTmFtZT0i -b3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heFJlY29yZHNUb1JldHVybiIg -VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VydmVy -Q2FwYWJpbGl0eUZpbHRlciIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlNlcnZlckNhcGFiaWxpdHlGaWx0ZXIiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5n -dGhGaWVsZD0iTm9PZlNlcnZlckNhcGFiaWxpdHlGaWx0ZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRmluZFNlcnZlcnNPbk5ldHdv -cmtSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxhc3RDb3VudGVyUmVzZXRUaW1lIiBUeXBlTmFtZT0ib3Bj -OkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlcnZlcnMiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJzIiBUeXBlTmFtZT0i -dG5zOlNlcnZlck9uTmV0d29yayIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJzIiAvPg0KICA8L29w -YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iQXBwbGljYXRpb25J -bnN0YW5jZUNlcnRpZmljYXRlIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBjZXJ0aWZpY2F0 -ZSBmb3IgYW4gaW5zdGFuY2Ugb2YgYW4gYXBwbGljYXRpb24uPC9vcGM6RG9jdW1lbnRhdGlvbj4N -CiAgPC9vcGM6T3BhcXVlVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9Ik1lc3Nh -Z2VTZWN1cml0eU1vZGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlv -bj5UaGUgdHlwZSBvZiBzZWN1cml0eSB0byB1c2Ugb24gYSBtZXNzYWdlLjwvb3BjOkRvY3VtZW50 -YXRpb24+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW52YWxpZCIgVmFsdWU9IjAi -IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjEiIC8+DQog -ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU2lnbiIgVmFsdWU9IjIiIC8+DQogICAgPG9w -YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU2lnbkFuZEVuY3J5cHQiIFZhbHVlPSIzIiAvPg0KICA8 -L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IlVzZXJU -b2tlblR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUg -cG9zc2libGUgdXNlciB0b2tlbiB0eXBlcy48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6 -RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFub255bW91cyIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpF -bnVtZXJhdGVkVmFsdWUgTmFtZT0iVXNlck5hbWUiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9IkNlcnRpZmljYXRlIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVu -dW1lcmF0ZWRWYWx1ZSBOYW1lPSJJc3N1ZWRUb2tlbiIgVmFsdWU9IjMiIC8+DQogIDwvb3BjOkVu -dW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVXNlclRva2VuUG9s -aWN5IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRp -b24+RGVzY3JpYmVzIGEgdXNlciB0b2tlbiB0aGF0IGNhbiBiZSB1c2VkIHdpdGggYSBzZXJ2ZXIu -PC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBvbGljeUlkIiBUeXBl -TmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRva2VuVHlwZSIgVHlw -ZU5hbWU9InRuczpVc2VyVG9rZW5UeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNzdWVk -VG9rZW5UeXBlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -Iklzc3VlckVuZHBvaW50VXJsIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlNlY3VyaXR5UG9saWN5VXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAg -PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFbmRw -b2ludERlc2NyaXB0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj -OkRvY3VtZW50YXRpb24+VGhlIGRlc2NyaXB0aW9uIG9mIGEgZW5kcG9pbnQgdGhhdCBjYW4gYmUg -dXNlZCB0byBhY2Nlc3MgYSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkVuZHBvaW50VXJsIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlNlcnZlciIgVHlwZU5hbWU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9u -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyQ2VydGlmaWNhdGUiIFR5cGVOYW1lPSJv -cGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TW9kZSIgVHlw -ZU5hbWU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -U2VjdXJpdHlQb2xpY3lVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9PZlVzZXJJZGVudGl0eVRva2VucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJJZGVudGl0eVRva2VucyIgVHlwZU5hbWU9InRuczpV -c2VyVG9rZW5Qb2xpY3kiIExlbmd0aEZpZWxkPSJOb09mVXNlcklkZW50aXR5VG9rZW5zIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNwb3J0UHJvZmlsZVVyaSIgVHlwZU5hbWU9Im9wYzpT -dHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eUxldmVsIiBUeXBlTmFtZT0i -b3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl -ZFR5cGUgTmFtZT0iR2V0RW5kcG9pbnRzUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i -amVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkdldHMgdGhlIGVuZHBvaW50cyB1c2VkIGJ5 +aGUgaW5mb3JtYXRpb24gcmVxdWlyZWQgdG8gcmVnaXN0ZXIgYSBzZXJ2ZXIgd2l0aCBhIGRpc2Nv +dmVyeSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNl +cnZlclVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQ +cm9kdWN0VXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5vT2ZTZXJ2ZXJOYW1lcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlNlcnZlck5hbWVzIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgTGVuZ3RoRmll +bGQ9Ik5vT2ZTZXJ2ZXJOYW1lcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclR5cGUi +IFR5cGVOYW1lPSJ0bnM6QXBwbGljYXRpb25UeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +R2F0ZXdheVNlcnZlclVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb09mRGlzY292ZXJ5VXJscyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkRpc2NvdmVyeVVybHMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5n +dGhGaWVsZD0iTm9PZkRpc2NvdmVyeVVybHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZW1h +cGhvcmVGaWxlUGF0aCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJJc09ubGluZSIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlZ2lzdGVyU2VydmVyUmVx +dWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0 +aW9uPlJlZ2lzdGVycyBhIHNlcnZlciB3aXRoIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwvb3BjOkRv +Y3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFt +ZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXIiIFR5 +cGVOYW1lPSJ0bnM6UmVnaXN0ZXJlZFNlcnZlciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ +DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWdpc3RlclNlcnZlclJlc3BvbnNlIiBC +YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+UmVn +aXN0ZXJzIGEgc2VydmVyIHdpdGggdGhlIGRpc2NvdmVyeSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRh +dGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5z +OlJlc3BvbnNlSGVhZGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9IkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIEJhc2VUeXBlPSJ1YTpF +eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIGJhc2UgdHlwZSBmb3Ig +ZGlzY292ZXJ5IGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24uPC9vcGM6RG9jdW1lbnRhdGlvbj4N +CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJN +ZG5zRGlzY292ZXJ5Q29uZmlndXJhdGlvbiIgQmFzZVR5cGU9InRuczpEaXNjb3ZlcnlDb25maWd1 +cmF0aW9uIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIGRpc2NvdmVyeSBpbmZvcm1hdGlv +biBuZWVkZWQgZm9yIG1ETlMgcmVnaXN0cmF0aW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJNZG5zU2VydmVyTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VydmVyQ2FwYWJpbGl0aWVzIiBUeXBlTmFtZT0i +b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyQ2FwYWJpbGl0aWVzIiBU +eXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJDYXBhYmlsaXRpZXMi +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt +ZT0iUmVnaXN0ZXJTZXJ2ZXIyUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVl +c3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXIiIFR5cGVOYW1lPSJ0bnM6 +UmVnaXN0ZXJlZFNlcnZlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaXNjb3ZlcnlD +b25maWd1cmF0aW9uIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iRGlzY292ZXJ5Q29uZmlndXJhdGlvbiIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIg +TGVuZ3RoRmllbGQ9Ik5vT2ZEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlZ2lzdGVyU2VydmVy +MlJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkNvbmZpZ3VyYXRpb25SZXN1bHRzIiBUeXBlTmFtZT0i +b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29uZmlndXJhdGlvblJlc3VsdHMi +IFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZkNvbmZpZ3VyYXRpb25S +ZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlw +ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZv +cyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0 +aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVk +VHlwZSBOYW1lPSJTZWN1cml0eVRva2VuUmVxdWVzdFR5cGUiIExlbmd0aEluQml0cz0iMzIiPg0K +ICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5JbmRpY2F0ZXMgd2hldGhlciBhIHRva2VuIGlmIGJlaW5n +IGNyZWF0ZWQgb3IgcmVuZXdlZC48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RW51bWVy +YXRlZFZhbHVlIE5hbWU9Iklzc3VlIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJSZW5ldyIgVmFsdWU9IjEiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0K +DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ2hhbm5lbFNlY3VyaXR5VG9rZW4iIEJhc2VU +eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgdG9r +ZW4gdGhhdCBpZGVudGlmaWVzIGEgc2V0IG9mIGtleXMgZm9yIGFuIGFjdGl2ZSBzZWN1cmUgY2hh +bm5lbC48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2hhbm5lbElk +IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRva2VuSWQi +IFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3JlYXRlZEF0 +IiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNl +ZExpZmV0aW1lIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 +cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJPcGVuU2VjdXJlQ2hhbm5lbFJlcXVl +c3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlv +bj5DcmVhdGVzIGEgc2VjdXJlIGNoYW5uZWwgd2l0aCBhIHNlcnZlci48L29wYzpEb2N1bWVudGF0 +aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpS +ZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50UHJvdG9jb2xWZXJz +aW9uIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVl +c3RUeXBlIiBUeXBlTmFtZT0idG5zOlNlY3VyaXR5VG9rZW5SZXF1ZXN0VHlwZSIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5TW9kZSIgVHlwZU5hbWU9InRuczpNZXNzYWdlU2VjdXJp +dHlNb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50Tm9uY2UiIFR5cGVOYW1lPSJv +cGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZExpZmV0aW1l +IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg +PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJPcGVuU2VjdXJlQ2hhbm5lbFJlc3BvbnNlIiBCYXNl +VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q3JlYXRl +cyBhIHNlY3VyZSBjaGFubmVsIHdpdGggYSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNl +SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyUHJvdG9jb2xWZXJzaW9uIiBU +eXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5VG9r +ZW4iIFR5cGVOYW1lPSJ0bnM6Q2hhbm5lbFNlY3VyaXR5VG9rZW4iIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJTZXJ2ZXJOb25jZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29w +YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNsb3NlU2Vj +dXJlQ2hhbm5lbFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv +cGM6RG9jdW1lbnRhdGlvbj5DbG9zZXMgYSBzZWN1cmUgY2hhbm5lbC48L29wYzpEb2N1bWVudGF0 +aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpS +ZXF1ZXN0SGVhZGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj +dHVyZWRUeXBlIE5hbWU9IkNsb3NlU2VjdXJlQ2hhbm5lbFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6 +RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q2xvc2VzIGEgc2VjdXJl +IGNoYW5uZWwuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3Bv +bnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNpZ25lZFNvZnR3YXJl +Q2VydGlmaWNhdGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9j +dW1lbnRhdGlvbj5BIHNvZnR3YXJlIGNlcnRpZmljYXRlIHdpdGggYSBkaWdpdGFsIHNpZ25hdHVy +ZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2VydGlmaWNhdGVE +YXRhIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT +aWduYXR1cmUiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl +ZFR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IlNlc3Npb25BdXRoZW50aWNhdGlvblRv +a2VuIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSB1bmlxdWUgaWRlbnRpZmllciBmb3IgYSBz +ZXNzaW9uIHVzZWQgdG8gYXV0aGVudGljYXRlIHJlcXVlc3RzLjwvb3BjOkRvY3VtZW50YXRpb24+ +DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTaWdu +YXR1cmVEYXRhIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3Vt +ZW50YXRpb24+QSBkaWdpdGFsIHNpZ25hdHVyZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iQWxnb3JpdGhtIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlNpZ25hdHVyZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0K +ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNy +ZWF0ZVNlc3Npb25SZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8 +b3BjOkRvY3VtZW50YXRpb24+Q3JlYXRlcyBhIG5ldyBzZXNzaW9uIHdpdGggdGhlIHNlcnZlci48 +L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIg +VHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xp +ZW50RGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ0bnM6QXBwbGljYXRpb25EZXNjcmlwdGlvbiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRwb2ludFVybCIgVHlwZU5hbWU9Im9wYzpTdHJpbmci +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXNzaW9uTmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJp +bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnROb25jZSIgVHlwZU5hbWU9Im9wYzpC +eXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50Q2VydGlmaWNhdGUiIFR5 +cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3Rl +ZFNlc3Npb25UaW1lb3V0IiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik1heFJlc3BvbnNlTWVzc2FnZVNpemUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K +ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNy +ZWF0ZVNlc3Npb25SZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg +PG9wYzpEb2N1bWVudGF0aW9uPkNyZWF0ZXMgYSBuZXcgc2Vzc2lvbiB3aXRoIHRoZSBzZXJ2ZXIu +PC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVy +IiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +U2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +QXV0aGVudGljYXRpb25Ub2tlbiIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlJldmlzZWRTZXNzaW9uVGltZW91dCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJOb25jZSIgVHlwZU5hbWU9Im9wYzpCeXRlU3Ry +aW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyQ2VydGlmaWNhdGUiIFR5cGVOYW1l +PSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZTZXJ2ZXJFbmRw +b2ludHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2 +ZXJFbmRwb2ludHMiIFR5cGVOYW1lPSJ0bnM6RW5kcG9pbnREZXNjcmlwdGlvbiIgTGVuZ3RoRmll +bGQ9Ik5vT2ZTZXJ2ZXJFbmRwb2ludHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2Vy +dmVyU29mdHdhcmVDZXJ0aWZpY2F0ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJTZXJ2ZXJTb2Z0d2FyZUNlcnRpZmljYXRlcyIgVHlwZU5hbWU9InRuczpT +aWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiBMZW5ndGhGaWVsZD0iTm9PZlNlcnZlclNvZnR3YXJl +Q2VydGlmaWNhdGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyU2lnbmF0dXJlIiBU +eXBlTmFtZT0idG5zOlNpZ25hdHVyZURhdGEiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhS +ZXF1ZXN0TWVzc2FnZVNpemUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlVzZXJJZGVudGl0eVRv +a2VuIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRp +b24+QSBiYXNlIHR5cGUgZm9yIGEgdXNlciBpZGVudGl0eSB0b2tlbi48L29wYzpEb2N1bWVudGF0 +aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUG9saWN5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5n +IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9IkFub255bW91c0lkZW50aXR5VG9rZW4iIEJhc2VUeXBlPSJ0bnM6VXNlcklkZW50aXR5VG9r +ZW4iPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHRva2VuIHJlcHJlc2VudGluZyBhbiBhbm9u +eW1vdXMgdXNlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUG9s +aWN5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBTb3VyY2VUeXBlPSJ0bnM6VXNlcklkZW50aXR5 +VG9rZW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iVXNlck5hbWVJZGVudGl0eVRva2VuIiBCYXNlVHlwZT0idG5zOlVzZXJJZGVudGl0 +eVRva2VuIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSB0b2tlbiByZXByZXNlbnRpbmcgYSB1 +c2VyIGlkZW50aWZpZWQgYnkgYSB1c2VyIG5hbWUgYW5kIHBhc3N3b3JkLjwvb3BjOkRvY3VtZW50 +YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQb2xpY3lJZCIgVHlwZU5hbWU9Im9wYzpTdHJp +bmciIFNvdXJjZVR5cGU9InRuczpVc2VySWRlbnRpdHlUb2tlbiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlVzZXJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlBhc3N3b3JkIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJFbmNyeXB0aW9uQWxnb3JpdGhtIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4N +CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJY +NTA5SWRlbnRpdHlUb2tlbiIgQmFzZVR5cGU9InRuczpVc2VySWRlbnRpdHlUb2tlbiI+DQogICAg +PG9wYzpEb2N1bWVudGF0aW9uPkEgdG9rZW4gcmVwcmVzZW50aW5nIGEgdXNlciBpZGVudGlmaWVk +IGJ5IGFuIFg1MDkgY2VydGlmaWNhdGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlBvbGljeUlkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgU291cmNlVHlwZT0idG5z +OlVzZXJJZGVudGl0eVRva2VuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2VydGlmaWNhdGVE +YXRhIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSXNzdWVkSWRlbnRpdHlUb2tlbiIgQmFz +ZVR5cGU9InRuczpVc2VySWRlbnRpdHlUb2tlbiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEg +dG9rZW4gcmVwcmVzZW50aW5nIGEgdXNlciBpZGVudGlmaWVkIGJ5IGEgV1MtU2VjdXJpdHkgWE1M +IHRva2VuLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQb2xpY3lJ +ZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIFNvdXJjZVR5cGU9InRuczpVc2VySWRlbnRpdHlUb2tl +biIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRva2VuRGF0YSIgVHlwZU5hbWU9Im9wYzpCeXRl +U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5jcnlwdGlvbkFsZ29yaXRobSIgVHlw +ZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iQWN0aXZhdGVTZXNzaW9uUmVxdWVzdCIgQmFzZVR5cGU9InVh +OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkFjdGl2YXRlcyBhIHNl +c3Npb24gd2l0aCB0aGUgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnRTaWduYXR1cmUiIFR5cGVOYW1lPSJ0bnM6U2lnbmF0 +dXJlRGF0YSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZDbGllbnRTb2Z0d2FyZUNlcnRp +ZmljYXRlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNs +aWVudFNvZnR3YXJlQ2VydGlmaWNhdGVzIiBUeXBlTmFtZT0idG5zOlNpZ25lZFNvZnR3YXJlQ2Vy +dGlmaWNhdGUiIExlbmd0aEZpZWxkPSJOb09mQ2xpZW50U29mdHdhcmVDZXJ0aWZpY2F0ZXMiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOkludDMy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTG9jYWxlSWRzIiBUeXBlTmFtZT0ib3BjOlN0cmlu +ZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZMb2NhbGVJZHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJV +c2VySWRlbnRpdHlUb2tlbiIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlVzZXJUb2tlblNpZ25hdHVyZSIgVHlwZU5hbWU9InRuczpTaWduYXR1 +cmVEYXRhIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU +eXBlIE5hbWU9IkFjdGl2YXRlU2Vzc2lvblJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u +T2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QWN0aXZhdGVzIGEgc2Vzc2lvbiB3aXRo IHRoZSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl -cXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkVuZHBvaW50VXJsIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vT2ZMb2NhbGVJZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJMb2NhbGVJZHMiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhG -aWVsZD0iTm9PZkxvY2FsZUlkcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZQcm9maWxl -VXJpcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByb2Zp -bGVVcmlzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZQcm9maWxlVXJp -cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJHZXRFbmRwb2ludHNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkdldHMgdGhlIGVuZHBvaW50cyB1c2VkIGJ5IHRoZSBz -ZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNl -SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTm9PZkVuZHBvaW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkVuZHBvaW50cyIgVHlwZU5hbWU9InRuczpFbmRwb2ludERlc2NyaXB0aW9uIiBM -ZW5ndGhGaWVsZD0iTm9PZkVuZHBvaW50cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWdpc3RlcmVkU2VydmVyIiBCYXNlVHlwZT0i -dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIGluZm9ybWF0 -aW9uIHJlcXVpcmVkIHRvIHJlZ2lzdGVyIGEgc2VydmVyIHdpdGggYSBkaXNjb3Zlcnkgc2VydmVy -Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJVcmkiIFR5 -cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJvZHVjdFVyaSIg -VHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VydmVy -TmFtZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2 -ZXJOYW1lcyIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIExlbmd0aEZpZWxkPSJOb09mU2Vy -dmVyTmFtZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJUeXBlIiBUeXBlTmFtZT0i -dG5zOkFwcGxpY2F0aW9uVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkdhdGV3YXlTZXJ2 -ZXJVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P -ZkRpc2NvdmVyeVVybHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJEaXNjb3ZlcnlVcmxzIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5v -T2ZEaXNjb3ZlcnlVcmxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VtYXBob3JlRmlsZVBh -dGgiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNPbmxp -bmUiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWdpc3RlclNlcnZlclJlcXVlc3QiIEJhc2VU -eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5SZWdpc3Rl -cnMgYSBzZXJ2ZXIgd2l0aCB0aGUgZGlzY292ZXJ5IHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9u -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1 -ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyIiBUeXBlTmFtZT0idG5z -OlJlZ2lzdGVyZWRTZXJ2ZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 -U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVnaXN0ZXJTZXJ2ZXJSZXNwb25zZSIgQmFzZVR5cGU9InVh -OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlJlZ2lzdGVycyBhIHNl -cnZlciB3aXRoIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhl -YWRlciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq -ZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBiYXNlIHR5cGUgZm9yIGRpc2NvdmVyeSBj -b25maWd1cmF0aW9uIGluZm9ybWF0aW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOlN0 -cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTWRuc0Rpc2NvdmVy -eUNvbmZpZ3VyYXRpb24iIEJhc2VUeXBlPSJ0bnM6RGlzY292ZXJ5Q29uZmlndXJhdGlvbiI+DQog -ICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSBkaXNjb3ZlcnkgaW5mb3JtYXRpb24gbmVlZGVkIGZv -ciBtRE5TIHJlZ2lzdHJhdGlvbi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTWRuc1NlcnZlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iTm9PZlNlcnZlckNhcGFiaWxpdGllcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlckNhcGFiaWxpdGllcyIgVHlwZU5hbWU9Im9w -YzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mU2VydmVyQ2FwYWJpbGl0aWVzIiAvPg0KICA8L29w -YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlZ2lzdGVy -U2VydmVyMlJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyIiBUeXBlTmFtZT0idG5zOlJlZ2lzdGVyZWRT -ZXJ2ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlzY292ZXJ5Q29uZmlndXJhdGlv -biIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2NvdmVy -eUNvbmZpZ3VyYXRpb24iIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIExlbmd0aEZpZWxk -PSJOb09mRGlzY292ZXJ5Q29uZmlndXJhdGlvbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWdpc3RlclNlcnZlcjJSZXNwb25zZSIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNw -b25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZDb25maWd1cmF0aW9uUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbmZpZ3VyYXRpb25SZXN1bHRzIiBUeXBlTmFtZT0i -dWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZDb25maWd1cmF0aW9uUmVzdWx0cyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6 -SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1l -PSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+ -DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0i -U2VjdXJpdHlUb2tlblJlcXVlc3RUeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRv -Y3VtZW50YXRpb24+SW5kaWNhdGVzIHdoZXRoZXIgYSB0b2tlbiBpZiBiZWluZyBjcmVhdGVkIG9y -IHJlbmV3ZWQuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO -YW1lPSJJc3N1ZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i -UmVuZXciIFZhbHVlPSIxIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0 -cnVjdHVyZWRUeXBlIE5hbWU9IkNoYW5uZWxTZWN1cml0eVRva2VuIiBCYXNlVHlwZT0idWE6RXh0 -ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIHRva2VuIHRoYXQgaWRl -bnRpZmllcyBhIHNldCBvZiBrZXlzIGZvciBhbiBhY3RpdmUgc2VjdXJlIGNoYW5uZWwuPC9vcGM6 -RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNoYW5uZWxJZCIgVHlwZU5hbWU9 -Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUb2tlbklkIiBUeXBlTmFtZT0i -b3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNyZWF0ZWRBdCIgVHlwZU5hbWU9 -Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRMaWZldGltZSIg -VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv -cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iT3BlblNlY3VyZUNoYW5uZWxSZXF1ZXN0IiBCYXNlVHlw -ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q3JlYXRlcyBh -IHNlY3VyZSBjaGFubmVsIHdpdGggYSBzZXJ2ZXIuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRl -ciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudFByb3RvY29sVmVyc2lvbiIgVHlwZU5h -bWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0VHlwZSIgVHlw -ZU5hbWU9InRuczpTZWN1cml0eVRva2VuUmVxdWVzdFR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJTZWN1cml0eU1vZGUiIFR5cGVOYW1lPSJ0bnM6TWVzc2FnZVNlY3VyaXR5TW9kZSIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudE5vbmNlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJp -bmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRMaWZldGltZSIgVHlwZU5hbWU9 -Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 -dXJlZFR5cGUgTmFtZT0iT3BlblNlY3VyZUNoYW5uZWxSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4 -dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkNyZWF0ZXMgYSBzZWN1cmUg -Y2hhbm5lbCB3aXRoIGEgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclByb3RvY29sVmVyc2lvbiIgVHlwZU5hbWU9Im9w -YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eVRva2VuIiBUeXBlTmFt -ZT0idG5zOkNoYW5uZWxTZWN1cml0eVRva2VuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vy -dmVyTm9uY2UiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3RydWN0dXJl -ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDbG9zZVNlY3VyZUNoYW5uZWxS -ZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50 -YXRpb24+Q2xvc2VzIGEgc2VjdXJlIGNoYW5uZWwuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRl -ciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJDbG9zZVNlY3VyZUNoYW5uZWxSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i -amVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkNsb3NlcyBhIHNlY3VyZSBjaGFubmVsLjwv -b3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIg -VHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRl -IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+ -QSBzb2Z0d2FyZSBjZXJ0aWZpY2F0ZSB3aXRoIGEgZGlnaXRhbCBzaWduYXR1cmUuPC9vcGM6RG9j -dW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNlcnRpZmljYXRlRGF0YSIgVHlwZU5h -bWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2lnbmF0dXJlIiBU -eXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog -IDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJTZXNzaW9uQXV0aGVudGljYXRpb25Ub2tlbiI+DQogICAg -PG9wYzpEb2N1bWVudGF0aW9uPkEgdW5pcXVlIGlkZW50aWZpZXIgZm9yIGEgc2Vzc2lvbiB1c2Vk -IHRvIGF1dGhlbnRpY2F0ZSByZXF1ZXN0cy48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpP -cGFxdWVUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2lnbmF0dXJlRGF0YSIg -QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEg -ZGlnaXRhbCBzaWduYXR1cmUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkFsZ29yaXRobSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJTaWduYXR1cmUiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDcmVhdGVTZXNzaW9u -UmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVu -dGF0aW9uPkNyZWF0ZXMgYSBuZXcgc2Vzc2lvbiB3aXRoIHRoZSBzZXJ2ZXIuPC9vcGM6RG9jdW1l -bnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0 -bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudERlc2NyaXB0 -aW9uIiBUeXBlTmFtZT0idG5zOkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJTZXJ2ZXJVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iRW5kcG9pbnRVcmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iU2Vzc2lvbk5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iQ2xpZW50Tm9uY2UiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudENlcnRpZmljYXRlIiBUeXBlTmFtZT0ib3Bj -OkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRTZXNzaW9uVGlt -ZW91dCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhS -ZXNwb25zZU1lc3NhZ2VTaXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDcmVhdGVTZXNzaW9u -UmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1l -bnRhdGlvbj5DcmVhdGVzIGEgbmV3IHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwvb3BjOkRvY3Vt -ZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9 -InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlc3Npb25JZCIg -VHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF1dGhlbnRpY2F0 -aW9uVG9rZW4iIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS -ZXZpc2VkU2Vzc2lvblRpbWVvdXQiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6 +c3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6 RmllbGQgTmFtZT0iU2VydmVyTm9uY2UiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlckNlcnRpZmljYXRlIiBUeXBlTmFtZT0ib3BjOkJ5dGVT -dHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU2VydmVyRW5kcG9pbnRzIiBUeXBl -TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyRW5kcG9pbnRz -IiBUeXBlTmFtZT0idG5zOkVuZHBvaW50RGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mU2Vy -dmVyRW5kcG9pbnRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlcnZlclNvZnR3YXJl -Q2VydGlmaWNhdGVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iU2VydmVyU29mdHdhcmVDZXJ0aWZpY2F0ZXMiIFR5cGVOYW1lPSJ0bnM6U2lnbmVkU29mdHdh -cmVDZXJ0aWZpY2F0ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZXJ2ZXJTb2Z0d2FyZUNlcnRpZmljYXRl -cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcnZlclNpZ25hdHVyZSIgVHlwZU5hbWU9InRu -czpTaWduYXR1cmVEYXRhIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4UmVxdWVzdE1lc3Nh -Z2VTaXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVc2VySWRlbnRpdHlUb2tlbiIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgYmFzZSB0 -eXBlIGZvciBhIHVzZXIgaWRlbnRpdHkgdG9rZW4uPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlBvbGljeUlkIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgPC9v -cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBbm9ueW1v -dXNJZGVudGl0eVRva2VuIiBCYXNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIj4NCiAgICA8 -b3BjOkRvY3VtZW50YXRpb24+QSB0b2tlbiByZXByZXNlbnRpbmcgYW4gYW5vbnltb3VzIHVzZXIu -PC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBvbGljeUlkIiBUeXBl -TmFtZT0ib3BjOlN0cmluZyIgU291cmNlVHlwZT0idG5zOlVzZXJJZGVudGl0eVRva2VuIiAvPg0K -ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlVz -ZXJOYW1lSWRlbnRpdHlUb2tlbiIgQmFzZVR5cGU9InRuczpVc2VySWRlbnRpdHlUb2tlbiI+DQog -ICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgdG9rZW4gcmVwcmVzZW50aW5nIGEgdXNlciBpZGVudGlm -aWVkIGJ5IGEgdXNlciBuYW1lIGFuZCBwYXNzd29yZC48L29wYzpEb2N1bWVudGF0aW9uPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iUG9saWN5SWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBTb3VyY2VU -eXBlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2Vy -TmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQYXNz -d29yZCIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -RW5jcnlwdGlvbkFsZ29yaXRobSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogIDwvb3BjOlN0 -cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iWDUwOUlkZW50aXR5 -VG9rZW4iIEJhc2VUeXBlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgIDxvcGM6RG9jdW1l -bnRhdGlvbj5BIHRva2VuIHJlcHJlc2VudGluZyBhIHVzZXIgaWRlbnRpZmllZCBieSBhbiBYNTA5 -IGNlcnRpZmljYXRlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQ -b2xpY3lJZCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIFNvdXJjZVR5cGU9InRuczpVc2VySWRlbnRp -dHlUb2tlbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNlcnRpZmljYXRlRGF0YSIgVHlwZU5h -bWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -OlN0cnVjdHVyZWRUeXBlIE5hbWU9Iklzc3VlZElkZW50aXR5VG9rZW4iIEJhc2VUeXBlPSJ0bnM6 -VXNlcklkZW50aXR5VG9rZW4iPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHRva2VuIHJlcHJl -c2VudGluZyBhIHVzZXIgaWRlbnRpZmllZCBieSBhIFdTLVNlY3VyaXR5IFhNTCB0b2tlbi48L29w -YzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUG9saWN5SWQiIFR5cGVOYW1l -PSJvcGM6U3RyaW5nIiBTb3VyY2VUeXBlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJUb2tlbkRhdGEiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuY3J5cHRpb25BbGdvcml0aG0iIFR5cGVOYW1lPSJvcGM6 -U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU -eXBlIE5hbWU9IkFjdGl2YXRlU2Vzc2lvblJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P -YmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BY3RpdmF0ZXMgYSBzZXNzaW9uIHdpdGgg -dGhlIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVx -dWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iQ2xpZW50U2lnbmF0dXJlIiBUeXBlTmFtZT0idG5zOlNpZ25hdHVyZURhdGEiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQ2xpZW50U29mdHdhcmVDZXJ0aWZpY2F0ZXMiIFR5 -cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnRTb2Z0d2Fy -ZUNlcnRpZmljYXRlcyIgVHlwZU5hbWU9InRuczpTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiBM -ZW5ndGhGaWVsZD0iTm9PZkNsaWVudFNvZnR3YXJlQ2VydGlmaWNhdGVzIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iTm9PZkxvY2FsZUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IkxvY2FsZUlkcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZp -ZWxkPSJOb09mTG9jYWxlSWRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcklkZW50aXR5 -VG9rZW4iIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJVc2VyVG9rZW5TaWduYXR1cmUiIFR5cGVOYW1lPSJ0bnM6U2lnbmF0dXJlRGF0YSIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJB -Y3RpdmF0ZVNlc3Npb25SZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog -ICAgPG9wYzpEb2N1bWVudGF0aW9uPkFjdGl2YXRlcyBhIHNlc3Npb24gd2l0aCB0aGUgc2VydmVy -Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRl -ciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlNlcnZlck5vbmNlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0i -Tm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9z -IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3Rp -Y0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlh -Z25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj -dHVyZWRUeXBlIE5hbWU9IkNsb3NlU2Vzc2lvblJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp -b25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5DbG9zZXMgYSBzZXNzaW9uIHdpdGgg -dGhlIHNlcnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVx -dWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iRGVsZXRlU3Vic2NyaXB0aW9ucyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0K -ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNs -b3NlU2Vzc2lvblJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8 -b3BjOkRvY3VtZW50YXRpb24+Q2xvc2VzIGEgc2Vzc2lvbiB3aXRoIHRoZSBzZXJ2ZXIuPC9vcGM6 +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExl +bmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFn +bm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmll +bGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog +IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ2xvc2VTZXNzaW9uUmVxdWVzdCIgQmFzZVR5cGU9 +InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkNsb3NlcyBhIHNl +c3Npb24gd2l0aCB0aGUgc2VydmVyLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJEZWxldGVTdWJzY3JpcHRpb25zIiBUeXBlTmFtZT0ib3BjOkJv +b2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iQ2xvc2VTZXNzaW9uUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl +Y3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5DbG9zZXMgYSBzZXNzaW9uIHdpdGggdGhlIHNl +cnZlci48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VI +ZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ2FuY2VsUmVxdWVzdCIgQmFz +ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkNhbmNl +bHMgYW4gb3V0c3RhbmRpbmcgcmVxdWVzdC48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhhbmRsZSIgVHlwZU5hbWU9Im9wYzpVSW50 +MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iQ2FuY2VsUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg +IDxvcGM6RG9jdW1lbnRhdGlvbj5DYW5jZWxzIGFuIG91dHN0YW5kaW5nIHJlcXVlc3QuPC9vcGM6 RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBl -TmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNhbmNlbFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpF -eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5DYW5jZWxzIGFuIG91dHN0 -YW5kaW5nIHJlcXVlc3QuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlJlcXVlc3RIYW5kbGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8 -L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNhbmNl -bFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3Vt -ZW50YXRpb24+Q2FuY2VscyBhbiBvdXRzdGFuZGluZyByZXF1ZXN0Ljwvb3BjOkRvY3VtZW50YXRp -b24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpS -ZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNhbmNlbENvdW50IiBUeXBl -TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpF -bnVtZXJhdGVkVHlwZSBOYW1lPSJOb2RlQXR0cmlidXRlc01hc2siIExlbmd0aEluQml0cz0iMzIi -Pg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYml0cyB1c2VkIHRvIHNwZWNpZnkgZGVmYXVs -dCBhdHRyaWJ1dGVzIGZvciBhIG5ldyBub2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9w -YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVt -ZXJhdGVkVmFsdWUgTmFtZT0iQWNjZXNzTGV2ZWwiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9IkFycmF5RGltZW5zaW9ucyIgVmFsdWU9IjIiIC8+DQogICAgPG9w -YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQnJvd3NlTmFtZSIgVmFsdWU9IjQiIC8+DQogICAgPG9w -YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ29udGFpbnNOb0xvb3BzIiBWYWx1ZT0iOCIgLz4NCiAg -ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEYXRhVHlwZSIgVmFsdWU9IjE2IiAvPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRlc2NyaXB0aW9uIiBWYWx1ZT0iMzIiIC8+DQog -ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGlzcGxheU5hbWUiIFZhbHVlPSI2NCIgLz4N -CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJFdmVudE5vdGlmaWVyIiBWYWx1ZT0iMTI4 -IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkV4ZWN1dGFibGUiIFZhbHVlPSIy -NTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSGlzdG9yaXppbmciIFZhbHVl -PSI1MTIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW52ZXJzZU5hbWUiIFZh -bHVlPSIxMDI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IklzQWJzdHJhY3Qi -IFZhbHVlPSIyMDQ4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik1pbmltdW1T -YW1wbGluZ0ludGVydmFsIiBWYWx1ZT0iNDA5NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJOb2RlQ2xhc3MiIFZhbHVlPSI4MTkyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh -bHVlIE5hbWU9Ik5vZGVJZCIgVmFsdWU9IjE2Mzg0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh -bHVlIE5hbWU9IlN5bW1ldHJpYyIgVmFsdWU9IjMyNzY4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRl -ZFZhbHVlIE5hbWU9IlVzZXJBY2Nlc3NMZXZlbCIgVmFsdWU9IjY1NTM2IiAvPg0KICAgIDxvcGM6 -RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVzZXJFeGVjdXRhYmxlIiBWYWx1ZT0iMTMxMDcyIiAvPg0K -ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVzZXJXcml0ZU1hc2siIFZhbHVlPSIyNjIx -NDQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVmFsdWVSYW5rIiBWYWx1ZT0i -NTI0Mjg4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IldyaXRlTWFzayIgVmFs -dWU9IjEwNDg1NzYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVmFsdWUiIFZh -bHVlPSIyMDk3MTUyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRhdGFUeXBl -RGVmaW5pdGlvbiIgVmFsdWU9IjQxOTQzMDQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iUm9sZVBlcm1pc3Npb25zIiBWYWx1ZT0iODM4ODYwOCIgLz4NCiAgICA8b3BjOkVudW1l -cmF0ZWRWYWx1ZSBOYW1lPSJBY2Nlc3NSZXN0cmljdGlvbnMiIFZhbHVlPSIxNjc3NzIxNiIgLz4N -CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBbGwiIFZhbHVlPSIzMzU1NDQzMSIgLz4N -CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCYXNlTm9kZSIgVmFsdWU9IjI2NTAxMjIw -IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik9iamVjdCIgVmFsdWU9IjI2NTAx -MzQ4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik9iamVjdFR5cGUiIFZhbHVl -PSIyNjUwMzI2OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJWYXJpYWJsZSIg -VmFsdWU9IjI2NTcxMzgzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZhcmlh -YmxlVHlwZSIgVmFsdWU9IjI4NjAwNDM4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9Ik1ldGhvZCIgVmFsdWU9IjI2NjMyNTQ4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9IlJlZmVyZW5jZVR5cGUiIFZhbHVlPSIyNjUzNzA2MCIgLz4NCiAgICA8b3BjOkVudW1l -cmF0ZWRWYWx1ZSBOYW1lPSJWaWV3IiBWYWx1ZT0iMjY1MDEzNTYiIC8+DQogIDwvb3BjOkVudW1l -cmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm9kZUF0dHJpYnV0ZXMi -IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5U -aGUgYmFzZSBhdHRyaWJ1dGVzIGZvciBhbGwgbm9kZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUlu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpM -b2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVO -YW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNr -IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0 -ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N -Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik9iamVjdEF0dHJpYnV0ZXMiIEJhc2VUeXBl -PSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYXR0cmli -dXRlcyBmb3IgYW4gb2JqZWN0IG5vZGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3Vy -Y2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNw -bGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2Rl -QXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFt -ZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291 -cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNl -cldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0 -cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50Tm90aWZpZXIiIFR5cGVOYW1l -PSJvcGM6Qnl0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJWYXJpYWJsZUF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0dHJp -YnV0ZXMiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSB2YXJp -YWJsZSBub2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVj -aWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5v -ZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVO -YW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXpl -ZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpO -b2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5 -cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJEYXRhVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlZhbHVlUmFuayIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6 -VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZkFycmF5RGltZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkFjY2Vzc0xldmVsIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJVc2VyQWNjZXNzTGV2ZWwiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik1pbmltdW1TYW1wbGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRv -dWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikhpc3Rvcml6aW5nIiBUeXBlTmFtZT0ib3Bj +TmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2FuY2Vs +Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N +Cg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9Ik5vZGVBdHRyaWJ1dGVzTWFzayIgTGVuZ3Ro +SW5CaXRzPSIzMiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSBiaXRzIHVzZWQgdG8gc3Bl +Y2lmeSBkZWZhdWx0IGF0dHJpYnV0ZXMgZm9yIGEgbmV3IG5vZGUuPC9vcGM6RG9jdW1lbnRhdGlv +bj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb25lIiBWYWx1ZT0iMCIgLz4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBY2Nlc3NMZXZlbCIgVmFsdWU9IjEiIC8+DQog +ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQXJyYXlEaW1lbnNpb25zIiBWYWx1ZT0iMiIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCcm93c2VOYW1lIiBWYWx1ZT0iNCIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJDb250YWluc05vTG9vcHMiIFZhbHVl +PSI4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRhdGFUeXBlIiBWYWx1ZT0i +MTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGVzY3JpcHRpb24iIFZhbHVl +PSIzMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEaXNwbGF5TmFtZSIgVmFs +dWU9IjY0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkV2ZW50Tm90aWZpZXIi +IFZhbHVlPSIxMjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRXhlY3V0YWJs +ZSIgVmFsdWU9IjI1NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJIaXN0b3Jp +emluZyIgVmFsdWU9IjUxMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnZl +cnNlTmFtZSIgVmFsdWU9IjEwMjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i +SXNBYnN0cmFjdCIgVmFsdWU9IjIwNDgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt +ZT0iTWluaW11bVNhbXBsaW5nSW50ZXJ2YWwiIFZhbHVlPSI0MDk2IiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9Ik5vZGVDbGFzcyIgVmFsdWU9IjgxOTIiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9kZUlkIiBWYWx1ZT0iMTYzODQiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iU3ltbWV0cmljIiBWYWx1ZT0iMzI3NjgiIC8+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVXNlckFjY2Vzc0xldmVsIiBWYWx1ZT0iNjU1MzYiIC8+ +DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVXNlckV4ZWN1dGFibGUiIFZhbHVlPSIx +MzEwNzIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVXNlcldyaXRlTWFzayIg +VmFsdWU9IjI2MjE0NCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJWYWx1ZVJh +bmsiIFZhbHVlPSI1MjQyODgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iV3Jp +dGVNYXNrIiBWYWx1ZT0iMTA0ODU3NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l +PSJWYWx1ZSIgVmFsdWU9IjIwOTcxNTIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt +ZT0iRGF0YVR5cGVEZWZpbml0aW9uIiBWYWx1ZT0iNDE5NDMwNCIgLz4NCiAgICA8b3BjOkVudW1l +cmF0ZWRWYWx1ZSBOYW1lPSJSb2xlUGVybWlzc2lvbnMiIFZhbHVlPSI4Mzg4NjA4IiAvPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFjY2Vzc1Jlc3RyaWN0aW9ucyIgVmFsdWU9IjE2 +Nzc3MjE2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFsbCIgVmFsdWU9IjMz +NTU0NDMxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJhc2VOb2RlIiBWYWx1 +ZT0iMjY1MDEyMjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iT2JqZWN0IiBW +YWx1ZT0iMjY1MDEzNDgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iT2JqZWN0 +VHlwZSIgVmFsdWU9IjI2NTAzMjY4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 +IlZhcmlhYmxlIiBWYWx1ZT0iMjY1NzEzODMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg +TmFtZT0iVmFyaWFibGVUeXBlIiBWYWx1ZT0iMjg2MDA0MzgiIC8+DQogICAgPG9wYzpFbnVtZXJh +dGVkVmFsdWUgTmFtZT0iTWV0aG9kIiBWYWx1ZT0iMjY2MzI1NDgiIC8+DQogICAgPG9wYzpFbnVt +ZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlVHlwZSIgVmFsdWU9IjI2NTM3MDYwIiAvPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZpZXciIFZhbHVlPSIyNjUwMTM1NiIgLz4NCiAg +PC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJOb2Rl +QXR0cmlidXRlcyIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1 +bWVudGF0aW9uPlRoZSBiYXNlIGF0dHJpYnV0ZXMgZm9yIGFsbCBub2Rlcy48L29wYzpEb2N1bWVu +dGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3BlY2lmaWVkQXR0cmlidXRlcyIgVHlwZU5h +bWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlw +ZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlw +dGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVj +dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iT2JqZWN0QXR0cmlidXRl +cyIgQmFzZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u +PlRoZSBhdHRyaWJ1dGVzIGZvciBhbiBvYmplY3Qgbm9kZS48L29wYzpEb2N1bWVudGF0aW9uPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iU3BlY2lmaWVkQXR0cmlidXRlcyIgVHlwZU5hbWU9Im9wYzpV +SW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlw +ZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRp +b24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJp +YnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6 +VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0i +dG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnROb3RpZmll +ciIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 +b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlZhcmlhYmxlQXR0cmlidXRlcyIgQmFzZVR5cGU9InRu +czpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVz +IGZvciBhIHZhcmlhYmxlIG5vZGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VU +eXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5 +TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0 +cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0i +dWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNl +VHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldy +aXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmli +dXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0idWE6VmFyaWFu +dCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFUeXBlIiBUeXBlTmFtZT0idWE6Tm9kZUlk +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWVSYW5rIiBUeXBlTmFtZT0ib3BjOkludDMy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9 +Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFycmF5RGltZW5zaW9ucyIgVHlw +ZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mQXJyYXlEaW1lbnNpb25zIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iQWNjZXNzTGV2ZWwiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJBY2Nlc3NMZXZlbCIgVHlwZU5hbWU9Im9wYzpCeXRl +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWluaW11bVNhbXBsaW5nSW50ZXJ2YWwiIFR5cGVO +YW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSGlzdG9yaXppbmciIFR5 +cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w +YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNZXRob2RBdHRyaWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5v +ZGVBdHRyaWJ1dGVzIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9y +IGEgbWV0aG9kIG5vZGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0 +bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIg +VHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRl +cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9j +YWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0i +dG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFz +ayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV4ZWN1dGFibGUiIFR5cGVOYW1lPSJvcGM6Qm9vbGVh +biIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJFeGVjdXRhYmxlIiBUeXBlTmFtZT0ib3Bj OkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl -ZFR5cGUgTmFtZT0iTWV0aG9kQXR0cmlidXRlcyIgQmFzZVR5cGU9InRuczpOb2RlQXR0cmlidXRl -cyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVzIGZvciBhIG1ldGhvZCBu -b2RlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRB -dHRyaWJ1dGVzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRy -aWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1 -YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQi -IFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0 -cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1l -PSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJFeGVjdXRhYmxlIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJVc2VyRXhlY3V0YWJsZSIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -Ik9iamVjdFR5cGVBdHRyaWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAg -ICA8b3BjOkRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGFuIG9iamVjdCB0eXBlIG5v -ZGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNwZWNpZmllZEF0 -dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJp -YnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVh -OkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIg -U291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -V3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRy -aWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9 -Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IklzQWJzdHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9v -cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJWYXJpYWJs -ZVR5cGVBdHRyaWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICA8b3Bj -OkRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGEgdmFyaWFibGUgdHlwZSBub2RlLjwv -b3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1 -dGVzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVz -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2Nh +ZFR5cGUgTmFtZT0iT2JqZWN0VHlwZUF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0dHJp +YnV0ZXMiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYW4gb2Jq +ZWN0IHR5cGUgbm9kZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +U3BlY2lmaWVkQXR0cmlidXRlcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRu +czpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBU +eXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVz +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2Nh bGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJj -ZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRl -TWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRl -cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6 -VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJEYXRhVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlZhbHVlUmFuayIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ik5vT2ZBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJBcnJheURpbWVuc2lvbnMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5n -dGhGaWVsZD0iTm9PZkFycmF5RGltZW5zaW9ucyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Iklz -QWJzdHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWZlcmVuY2VUeXBlQXR0cmlidXRl -cyIgQmFzZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9u -PlRoZSBhdHRyaWJ1dGVzIGZvciBhIHJlZmVyZW5jZSB0eXBlIG5vZGUuPC9vcGM6RG9jdW1lbnRh -dGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1l -PSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNv -dXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRl -c2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5v -ZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFt -ZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJj -ZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzQWJz -dHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN5 -bW1ldHJpYyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -SW52ZXJzZU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFUeXBlQXR0cmli -dXRlcyIgQmFzZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpEb2N1bWVudGF0 -aW9uPlRoZSBhdHRyaWJ1dGVzIGZvciBhIGRhdGEgdHlwZSBub2RlLjwvb3BjOkRvY3VtZW50YXRp -b24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiBUeXBlTmFtZT0i -b3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3Vy -Y2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZXNj -cmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2Rl -QXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFzayIgVHlwZU5hbWU9 -Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VU -eXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0Fic3Ry -YWN0IiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K -DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVmlld0F0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0 -bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRl -cyBmb3IgYSB2aWV3IG5vZGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBl -PSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFt -ZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmli -dXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6 -TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlw -ZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRl -TWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRl -cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbnRhaW5zTm9Mb29wcyIgVHlwZU5hbWU9Im9w -YzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnROb3RpZmllciIgVHlwZU5h -bWU9Im9wYzpCeXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj -dHVyZWRUeXBlIE5hbWU9IkdlbmVyaWNBdHRyaWJ1dGVWYWx1ZSIgQmFzZVR5cGU9InVhOkV4dGVu -c2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdHRyaWJ1dGVJZCIgVHlwZU5hbWU9 -Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVh -OlZhcmlhbnQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl -ZFR5cGUgTmFtZT0iR2VuZXJpY0F0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0 -ZXMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3BlY2lmaWVkQXR0cmlidXRlcyIgVHlwZU5hbWU9 -Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291 -cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVz -Y3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9k -ZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1l -PSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNl -VHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkF0 -dHJpYnV0ZVZhbHVlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkF0dHJpYnV0ZVZhbHVlcyIgVHlwZU5hbWU9InRuczpHZW5lcmljQXR0cmlidXRlVmFsdWUi -IExlbmd0aEZpZWxkPSJOb09mQXR0cmlidXRlVmFsdWVzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFkZE5vZGVzSXRlbSIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgcmVxdWVz -dCB0byBhZGQgYSBub2RlIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVu -dGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGFyZW50Tm9kZUlkIiBUeXBlTmFtZT0idWE6 -RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBlSWQi -IFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRO -ZXdOb2RlSWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkJyb3dzZU5hbWUiIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iTm9kZUNsYXNzIiBUeXBlTmFtZT0idG5zOk5vZGVDbGFzcyIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVBdHRyaWJ1dGVzIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9u -T2JqZWN0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHlwZURlZmluaXRpb24iIFR5cGVOYW1l -PSJ1YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w -YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBZGROb2Rlc1Jlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVu -c2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgcmVzdWx0IG9mIGFuIGFkZCBu -b2RlIG9wZXJhdGlvbi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -U3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJBZGRlZE5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgPC9vcGM6U3RydWN0 -dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBZGROb2Rlc1JlcXVlc3Qi -IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5B -ZGRzIG9uZSBvciBtb3JlIG5vZGVzIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpE -b2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5h -bWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVz -VG9BZGQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rl -c1RvQWRkIiBUeXBlTmFtZT0idG5zOkFkZE5vZGVzSXRlbSIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rl -c1RvQWRkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU -eXBlIE5hbWU9IkFkZE5vZGVzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi -Pg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BZGRzIG9uZSBvciBtb3JlIG5vZGVzIHRvIHRoZSBz -ZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6QWRkTm9kZXNSZXN1 -bHQiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v +aWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0 +bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNr +IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNBYnN0cmFjdCIgVHlwZU5hbWU9Im9wYzpCb29sZWFu +IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9IlZhcmlhYmxlVHlwZUF0dHJpYnV0ZXMiIEJhc2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMi +Pg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSB2YXJpYWJsZSB0 +eXBlIG5vZGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNwZWNp +ZmllZEF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9k +ZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5h +bWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVk +VGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5v +ZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlw +ZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkRhdGFUeXBlIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iVmFsdWVSYW5rIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTm9PZkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFycmF5RGltZW5zaW9ucyIgVHlwZU5hbWU9Im9wYzpV +SW50MzIiIExlbmd0aEZpZWxkPSJOb09mQXJyYXlEaW1lbnNpb25zIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iSXNBYnN0cmFjdCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlZmVyZW5jZVR5 +cGVBdHRyaWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICA8b3BjOkRv +Y3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGEgcmVmZXJlbmNlIHR5cGUgbm9kZS48L29w +YzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3BlY2lmaWVkQXR0cmlidXRl +cyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxp +emVkVGV4dCIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VU +eXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1h +c2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJ +bnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iSXNBYnN0cmFjdCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iU3ltbWV0cmljIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJJbnZlcnNlTmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGF0 +YVR5cGVBdHRyaWJ1dGVzIiBCYXNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICA8b3Bj +OkRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGEgZGF0YSB0eXBlIG5vZGUuPC9vcGM6 +RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNwZWNpZmllZEF0dHJpYnV0ZXMi +IFR5cGVOYW1lPSJvcGM6VUludDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNwbGF5TmFtZSIgVHlwZU5hbWU9InVhOkxvY2FsaXpl +ZFRleHQiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkRlc2NyaXB0aW9uIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlw +ZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iV3JpdGVNYXNr +IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlcldyaXRlTWFzayIgVHlwZU5hbWU9Im9wYzpVSW50 +MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IklzQWJzdHJhY3QiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0 +dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJWaWV3QXR0cmlidXRlcyIg +QmFzZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRo +ZSBhdHRyaWJ1dGVzIGZvciBhIHZpZXcgbm9kZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iU3BlY2lmaWVkQXR0cmlidXRlcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIi +IFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgU291cmNlVHlwZT0idG5z +Ok5vZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5 +cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUludDMy +IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJVc2VyV3JpdGVNYXNrIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5v +ZGVBdHRyaWJ1dGVzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29udGFpbnNOb0xvb3BzIiBU +eXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVudE5vdGlm +aWVyIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog +IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iR2VuZXJpY0F0dHJpYnV0ZVZhbHVlIiBCYXNlVHlw +ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF0dHJpYnV0ZUlk +IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZhbHVlIiBU +eXBlTmFtZT0idWE6VmFyaWFudCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w +YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJHZW5lcmljQXR0cmlidXRlcyIgQmFzZVR5cGU9InRuczpO +b2RlQXR0cmlidXRlcyI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVz +IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgU291cmNlVHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6 +ZWRUZXh0IiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJEZXNjcmlwdGlvbiIgVHlwZU5hbWU9InVhOkxvY2FsaXplZFRleHQiIFNvdXJjZVR5 +cGU9InRuczpOb2RlQXR0cmlidXRlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlTWFz +ayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIFNvdXJjZVR5cGU9InRuczpOb2RlQXR0cmlidXRlcyIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZXJXcml0ZU1hc2siIFR5cGVOYW1lPSJvcGM6VUlu +dDMyIiBTb3VyY2VUeXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJOb09mQXR0cmlidXRlVmFsdWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iQXR0cmlidXRlVmFsdWVzIiBUeXBlTmFtZT0idG5zOkdlbmVyaWNBdHRy +aWJ1dGVWYWx1ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZBdHRyaWJ1dGVWYWx1ZXMiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWRkTm9kZXNJ +dGVtIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRp +b24+QSByZXF1ZXN0IHRvIGFkZCBhIG5vZGUgdG8gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwv +b3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQYXJlbnROb2RlSWQiIFR5 +cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVy +ZW5jZVR5cGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlJlcXVlc3RlZE5ld05vZGVJZCIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlTmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNs +YXNzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUF0dHJpYnV0ZXMiIFR5cGVOYW1lPSJ1 +YTpFeHRlbnNpb25PYmplY3QiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUeXBlRGVmaW5pdGlv +biIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFkZE5vZGVzUmVzdWx0IiBCYXNlVHlw +ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSByZXN1bHQg +b2YgYW4gYWRkIG5vZGUgb3BlcmF0aW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkFkZGVkTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICA8 +L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFkZE5v +ZGVzUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1 +bWVudGF0aW9uPkFkZHMgb25lIG9yIG1vcmUgbm9kZXMgdG8gdGhlIHNlcnZlciBhZGRyZXNzIHNw +YWNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVh +ZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mTm9kZXNUb0FkZCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vZGVzVG9BZGQiIFR5cGVOYW1lPSJ0bnM6QWRkTm9kZXNJdGVtIiBMZW5ndGhGaWVs +ZD0iTm9PZk5vZGVzVG9BZGQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iQWRkTm9kZXNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVu +c2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkFkZHMgb25lIG9yIG1vcmUgbm9k +ZXMgdG8gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhl +YWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3Bj +OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InRuczpB +ZGROb2Rlc1Jlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0 +aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3Ry +dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBZGRSZWZlcmVuY2Vz +SXRlbSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0 +aW9uPkEgcmVxdWVzdCB0byBhZGQgYSByZWZlcmVuY2UgdG8gdGhlIHNlcnZlciBhZGRyZXNzIHNw +YWNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTb3VyY2VOb2Rl +SWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVu +Y2VUeXBlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJ +c0ZvcndhcmQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlRhcmdldFNlcnZlclVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJUYXJnZXROb2RlSWQiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldE5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xh +c3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iQWRkUmVmZXJlbmNlc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi +Pg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BZGRzIG9uZSBvciBtb3JlIHJlZmVyZW5jZXMgdG8g +dGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVmZXJlbmNlc1RvQWRkIiBUeXBlTmFtZT0ib3Bj +OkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlc1RvQWRkIiBUeXBlTmFt +ZT0idG5zOkFkZFJlZmVyZW5jZXNJdGVtIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXNUb0Fk +ZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO +YW1lPSJBZGRSZWZlcmVuY2VzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi +Pg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BZGRzIG9uZSBvciBtb3JlIHJlZmVyZW5jZXMgdG8g +dGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0Nv +ZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v T2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs ZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVu Z3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl -Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWRkUmVmZXJlbmNlc0l0ZW0iIEJhc2VU -eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHJlcXVl -c3QgdG8gYWRkIGEgcmVmZXJlbmNlIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpE -b2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU291cmNlTm9kZUlkIiBUeXBlTmFt -ZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlVHlwZUlkIiBU -eXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXNGb3J3YXJkIiBU -eXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUYXJnZXRTZXJ2 -ZXJVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGFy -Z2V0Tm9kZUlkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJUYXJnZXROb2RlQ2xhc3MiIFR5cGVOYW1lPSJ0bnM6Tm9kZUNsYXNzIiAvPg0KICA8 -L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFkZFJl -ZmVyZW5jZXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj -OkRvY3VtZW50YXRpb24+QWRkcyBvbmUgb3IgbW9yZSByZWZlcmVuY2VzIHRvIHRoZSBzZXJ2ZXIg -YWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXNUb0FkZCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXNUb0FkZCIgVHlwZU5hbWU9InRuczpBZGRS -ZWZlcmVuY2VzSXRlbSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2VzVG9BZGQiIC8+DQogIDwv -b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWRkUmVm -ZXJlbmNlc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj -OkRvY3VtZW50YXRpb24+QWRkcyBvbmUgb3IgbW9yZSByZWZlcmVuY2VzIHRvIHRoZSBzZXJ2ZXIg -YWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhG -aWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3Rp -Y0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlh -Z25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJO -b09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3Bj -OlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZU5vZGVzSXRlbSIgQmFzZVR5cGU9InVhOkV4dGVu -c2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgcmVxdWVzdCB0byBkZWxldGUg -YSBub2RlIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iRGVsZXRlVGFyZ2V0UmVmZXJlbmNlcyIgVHlwZU5hbWU9Im9wYzpC -b29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU -eXBlIE5hbWU9IkRlbGV0ZU5vZGVzUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj +Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlTm9kZXNJdGVtIiBCYXNlVHlw +ZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSByZXF1ZXN0 +IHRvIGRlbGV0ZSBhIG5vZGUgdG8gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRvY3Vt +ZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2Rl +SWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZWxldGVUYXJnZXRSZWZlcmVuY2VzIiBUeXBl +TmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlTm9kZXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0 +ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+RGVsZXRlIG9uZSBvciBtb3Jl +IG5vZGVzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRvY3VtZW50YXRpb24+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVl +c3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTm9kZXNUb0RlbGV0ZSIgVHlw +ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVzVG9EZWxldGUi +IFR5cGVOYW1lPSJ0bnM6RGVsZXRlTm9kZXNJdGVtIiBMZW5ndGhGaWVsZD0iTm9PZk5vZGVzVG9E +ZWxldGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iRGVsZXRlTm9kZXNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj dCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkRlbGV0ZSBvbmUgb3IgbW9yZSBub2RlcyBmcm9t IHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVzVG9EZWxldGUiIFR5cGVOYW1lPSJvcGM6 -SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rlc1RvRGVsZXRlIiBUeXBlTmFtZT0i -dG5zOkRlbGV0ZU5vZGVzSXRlbSIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvRGVsZXRlIiAvPg0K -ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRl -bGV0ZU5vZGVzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv -cGM6RG9jdW1lbnRhdGlvbj5EZWxldGUgb25lIG9yIG1vcmUgbm9kZXMgZnJvbSB0aGUgc2VydmVy -IGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3Ro -RmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0 -aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRp -YWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0i -Tm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w -YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVSZWZlcmVuY2VzSXRlbSIgQmFzZVR5cGU9InVh -OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgcmVxdWVzdCB0byBk -ZWxldGUgYSBub2RlIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRvY3VtZW50 -YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTb3VyY2VOb2RlSWQiIFR5cGVOYW1lPSJ1YTpO -b2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBlSWQiIFR5cGVOYW1l -PSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0ZvcndhcmQiIFR5cGVOYW1l -PSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldE5vZGVJZCIgVHlw -ZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVsZXRl -QmlkaXJlY3Rpb25hbCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNS -ZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50 -YXRpb24+RGVsZXRlIG9uZSBvciBtb3JlIHJlZmVyZW5jZXMgZnJvbSB0aGUgc2VydmVyIGFkZHJl -c3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVl -c3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vT2ZSZWZlcmVuY2VzVG9EZWxldGUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzVG9EZWxldGUiIFR5cGVOYW1lPSJ0bnM6RGVs -ZXRlUmVmZXJlbmNlc0l0ZW0iIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlc1RvRGVsZXRlIiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -IkRlbGV0ZVJlZmVyZW5jZXNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkRlbGV0ZSBvbmUgb3IgbW9yZSByZWZlcmVuY2VzIGZy +RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXND +b2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO +b09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExl +bmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNJdGVtIiBC +YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBy +ZXF1ZXN0IHRvIGRlbGV0ZSBhIG5vZGUgZnJvbSB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9v +cGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvdXJjZU5vZGVJZCIgVHlw +ZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZVR5cGVJ +ZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzRm9yd2Fy +ZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGFyZ2V0 +Tm9kZUlkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJEZWxldGVCaWRpcmVjdGlvbmFsIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogIDwv +b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRl +UmVmZXJlbmNlc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv +cGM6RG9jdW1lbnRhdGlvbj5EZWxldGUgb25lIG9yIG1vcmUgcmVmZXJlbmNlcyBmcm9tIHRoZSBz +ZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXNUb0RlbGV0ZSIgVHlwZU5hbWU9Im9wYzpJ +bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZXNUb0RlbGV0ZSIgVHlwZU5h +bWU9InRuczpEZWxldGVSZWZlcmVuY2VzSXRlbSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZWZlcmVuY2Vz +VG9EZWxldGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl +ZFR5cGUgTmFtZT0iRGVsZXRlUmVmZXJlbmNlc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5z +aW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+RGVsZXRlIG9uZSBvciBtb3JlIHJl +ZmVyZW5jZXMgZnJvbSB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlv +bj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJl +c3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVO +YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFt +ZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdu +b3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJBdHRyaWJ1dGVX +cml0ZU1hc2siIExlbmd0aEluQml0cz0iMzIiIElzT3B0aW9uU2V0PSJ0cnVlIj4NCiAgICA8b3Bj +OkRvY3VtZW50YXRpb24+RGVmaW5lIGJpdHMgdXNlZCB0byBpbmRpY2F0ZSB3aGljaCBhdHRyaWJ1 +dGVzIGFyZSB3cml0YWJsZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRl +ZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9IkFjY2Vzc0xldmVsIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 +ZSBOYW1lPSJBcnJheURpbWVuc2lvbnMiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRl +ZFZhbHVlIE5hbWU9IkJyb3dzZU5hbWUiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRl +ZFZhbHVlIE5hbWU9IkNvbnRhaW5zTm9Mb29wcyIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVt +ZXJhdGVkVmFsdWUgTmFtZT0iRGF0YVR5cGUiIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1l +cmF0ZWRWYWx1ZSBOYW1lPSJEZXNjcmlwdGlvbiIgVmFsdWU9IjMyIiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IkRpc3BsYXlOYW1lIiBWYWx1ZT0iNjQiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iRXZlbnROb3RpZmllciIgVmFsdWU9IjEyOCIgLz4NCiAgICA8 +b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJFeGVjdXRhYmxlIiBWYWx1ZT0iMjU2IiAvPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikhpc3Rvcml6aW5nIiBWYWx1ZT0iNTEyIiAvPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkludmVyc2VOYW1lIiBWYWx1ZT0iMTAyNCIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJc0Fic3RyYWN0IiBWYWx1ZT0iMjA0 +OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJNaW5pbXVtU2FtcGxpbmdJbnRl +cnZhbCIgVmFsdWU9IjQwOTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9k +ZUNsYXNzIiBWYWx1ZT0iODE5MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJO +b2RlSWQiIFZhbHVlPSIxNjM4NCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJT +eW1tZXRyaWMiIFZhbHVlPSIzMjc2OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l +PSJVc2VyQWNjZXNzTGV2ZWwiIFZhbHVlPSI2NTUzNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRW +YWx1ZSBOYW1lPSJVc2VyRXhlY3V0YWJsZSIgVmFsdWU9IjEzMTA3MiIgLz4NCiAgICA8b3BjOkVu +dW1lcmF0ZWRWYWx1ZSBOYW1lPSJVc2VyV3JpdGVNYXNrIiBWYWx1ZT0iMjYyMTQ0IiAvPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZhbHVlUmFuayIgVmFsdWU9IjUyNDI4OCIgLz4N +CiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJXcml0ZU1hc2siIFZhbHVlPSIxMDQ4NTc2 +IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZhbHVlRm9yVmFyaWFibGVUeXBl +IiBWYWx1ZT0iMjA5NzE1MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEYXRh +VHlwZURlZmluaXRpb24iIFZhbHVlPSI0MTk0MzA0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZh +bHVlIE5hbWU9IlJvbGVQZXJtaXNzaW9ucyIgVmFsdWU9IjgzODg2MDgiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iQWNjZXNzUmVzdHJpY3Rpb25zIiBWYWx1ZT0iMTY3NzcyMTYi +IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQWNjZXNzTGV2ZWxFeCIgVmFsdWU9 +IjMzNTU0NDMyIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0 +ZWRUeXBlIE5hbWU9IkJyb3dzZURpcmVjdGlvbiIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9w +YzpEb2N1bWVudGF0aW9uPlRoZSBkaXJlY3Rpb25zIG9mIHRoZSByZWZlcmVuY2VzIHRvIHJldHVy +bi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkZv +cndhcmQiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkludmVy +c2UiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJvdGgiIFZh +bHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkludmFsaWQiIFZhbHVl +PSIzIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl +IE5hbWU9IlZpZXdEZXNjcmlwdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog +ICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSB2aWV3IHRvIGJyb3dzZS48L29wYzpEb2N1bWVudGF0 +aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmlld0lkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGltZXN0YW1wIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1l +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmlld1ZlcnNpb24iIFR5cGVOYW1lPSJvcGM6VUlu +dDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl +IE5hbWU9IkJyb3dzZURlc2NyaXB0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N +CiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSByZXF1ZXN0IHRvIGJyb3dzZSB0aGUgdGhlIHJlZmVy +ZW5jZXMgZnJvbSBhIG5vZGUuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkJyb3dzZURpcmVjdGlvbiIgVHlwZU5hbWU9InRuczpCcm93c2VEaXJlY3Rpb24iIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbmNsdWRlU3VidHlwZXMiIFR5cGVOYW1lPSJvcGM6Qm9v +bGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzc01hc2siIFR5cGVOYW1lPSJv +cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0TWFzayIgVHlwZU5hbWU9 +Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVy +YXRlZFR5cGUgTmFtZT0iQnJvd3NlUmVzdWx0TWFzayIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAg +PG9wYzpEb2N1bWVudGF0aW9uPkEgYml0IG1hc2sgd2hpY2ggc3BlY2lmaWVzIHdoYXQgc2hvdWxk +IGJlIHJldHVybmVkIGluIGEgYnJvd3NlIHJlc3BvbnNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQog +ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlVHlwZUlkIiBWYWx1ZT0iMSIgLz4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJc0ZvcndhcmQiIFZhbHVlPSIyIiAvPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vZGVDbGFzcyIgVmFsdWU9IjQiIC8+DQogICAg +PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQnJvd3NlTmFtZSIgVmFsdWU9IjgiIC8+DQogICAg +PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGlzcGxheU5hbWUiIFZhbHVlPSIxNiIgLz4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJUeXBlRGVmaW5pdGlvbiIgVmFsdWU9IjMyIiAv +Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFsbCIgVmFsdWU9IjYzIiAvPg0KICAg +IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlZmVyZW5jZVR5cGVJbmZvIiBWYWx1ZT0iMyIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJUYXJnZXRJbmZvIiBWYWx1ZT0iNjAi +IC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt +ZT0iUmVmZXJlbmNlRGVzY3JpcHRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K +ICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgZGVzY3JpcHRpb24gb2YgYSByZWZlcmVuY2UuPC9v +cGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZVR5cGVJZCIg +VHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzRm9yd2FyZCIg +VHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBU +eXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93 +c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6TG9jYWxpemVkVGV4dCIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5hbWU9InRuczpOb2RlQ2xhc3MiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJUeXBlRGVmaW5pdGlvbiIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9k +ZUlkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFt +ZT0iQ29udGludWF0aW9uUG9pbnQiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BbiBpZGVudGlm +aWVyIGZvciBhIHN1c3BlbmRlZCBxdWVyeSBvciBicm93c2Ugb3BlcmF0aW9uLjwvb3BjOkRvY3Vt +ZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO +YW1lPSJCcm93c2VSZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv +cGM6RG9jdW1lbnRhdGlvbj5UaGUgcmVzdWx0IG9mIGEgYnJvd3NlIG9wZXJhdGlvbi48L29wYzpE +b2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9 +InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb250aW51YXRpb25Qb2lu +dCIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P +ZlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJSZWZlcmVuY2VzIiBUeXBlTmFtZT0idG5zOlJlZmVyZW5jZURlc2NyaXB0aW9uIiBMZW5ndGhG +aWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv +cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJvd3NlUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVu +c2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkJyb3dzZSB0aGUgcmVmZXJlbmNl +cyBmb3Igb25lIG9yIG1vcmUgbm9kZXMgZnJvbSB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9v +cGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5 +cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZpZXci +IFR5cGVOYW1lPSJ0bnM6Vmlld0Rlc2NyaXB0aW9uIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +UmVxdWVzdGVkTWF4UmVmZXJlbmNlc1Blck5vZGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVzVG9Ccm93c2UiIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rlc1RvQnJvd3NlIiBUeXBlTmFtZT0idG5z +OkJyb3dzZURlc2NyaXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZk5vZGVzVG9Ccm93c2UiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJv +d3NlUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9j +dW1lbnRhdGlvbj5Ccm93c2UgdGhlIHJlZmVyZW5jZXMgZm9yIG9uZSBvciBtb3JlIG5vZGVzIGZy b20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9w YzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRl ciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOklu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1 -c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIg -TGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iQXR0cmlidXRlV3JpdGVNYXNrIiBM -ZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+RGVmaW5lIGJpdHMgdXNl -ZCB0byBpbmRpY2F0ZSB3aGljaCBhdHRyaWJ1dGVzIGFyZSB3cml0YWJsZS48L29wYzpEb2N1bWVu -dGF0aW9uPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAv -Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFjY2Vzc0xldmVsIiBWYWx1ZT0iMSIg -Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBcnJheURpbWVuc2lvbnMiIFZhbHVl -PSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJyb3dzZU5hbWUiIFZhbHVl -PSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkNvbnRhaW5zTm9Mb29wcyIg -VmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGF0YVR5cGUiIFZh -bHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEZXNjcmlwdGlvbiIg -VmFsdWU9IjMyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRpc3BsYXlOYW1l -IiBWYWx1ZT0iNjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRXZlbnROb3Rp -ZmllciIgVmFsdWU9IjEyOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJFeGVj -dXRhYmxlIiBWYWx1ZT0iMjU2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikhp -c3Rvcml6aW5nIiBWYWx1ZT0iNTEyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 -IkludmVyc2VOYW1lIiBWYWx1ZT0iMTAyNCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO -YW1lPSJJc0Fic3RyYWN0IiBWYWx1ZT0iMjA0OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbCIgVmFsdWU9IjQwOTYiIC8+DQogICAgPG9w -YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9kZUNsYXNzIiBWYWx1ZT0iODE5MiIgLz4NCiAgICA8 -b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlSWQiIFZhbHVlPSIxNjM4NCIgLz4NCiAgICA8 -b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTeW1tZXRyaWMiIFZhbHVlPSIzMjc2OCIgLz4NCiAg -ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVc2VyQWNjZXNzTGV2ZWwiIFZhbHVlPSI2NTUz -NiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVc2VyRXhlY3V0YWJsZSIgVmFs -dWU9IjEzMTA3MiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVc2VyV3JpdGVN -YXNrIiBWYWx1ZT0iMjYyMTQ0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlZh -bHVlUmFuayIgVmFsdWU9IjUyNDI4OCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l -PSJXcml0ZU1hc2siIFZhbHVlPSIxMDQ4NTc2IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9IlZhbHVlRm9yVmFyaWFibGVUeXBlIiBWYWx1ZT0iMjA5NzE1MiIgLz4NCiAgICA8b3Bj -OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJEYXRhVHlwZURlZmluaXRpb24iIFZhbHVlPSI0MTk0MzA0 -IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJvbGVQZXJtaXNzaW9ucyIgVmFs -dWU9IjgzODg2MDgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQWNjZXNzUmVz -dHJpY3Rpb25zIiBWYWx1ZT0iMTY3NzcyMTYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iQWNjZXNzTGV2ZWxFeCIgVmFsdWU9IjMzNTU0NDMyIiAvPg0KICA8L29wYzpFbnVtZXJh -dGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkJyb3dzZURpcmVjdGlvbiIg -TGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSBkaXJlY3Rpb25z -IG9mIHRoZSByZWZlcmVuY2VzIHRvIHJldHVybi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkZvcndhcmQiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6 -RW51bWVyYXRlZFZhbHVlIE5hbWU9IkludmVyc2UiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9IkJvdGgiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRl -ZFZhbHVlIE5hbWU9IkludmFsaWQiIFZhbHVlPSIzIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlw -ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlZpZXdEZXNjcmlwdGlvbiIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPlRoZSB2aWV3 -IHRvIGJyb3dzZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmll -d0lkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGltZXN0 -YW1wIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmll -d1ZlcnNpb24iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw -ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb3dzZURlc2NyaXB0aW9uIiBCYXNl -VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSByZXF1 -ZXN0IHRvIGJyb3dzZSB0aGUgdGhlIHJlZmVyZW5jZXMgZnJvbSBhIG5vZGUuPC9vcGM6RG9jdW1l -bnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJ -ZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZURpcmVjdGlvbiIgVHlwZU5hbWU9InRu -czpCcm93c2VEaXJlY3Rpb24iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBl -SWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbmNsdWRl -U3VidHlwZXMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -Ik5vZGVDbGFzc01hc2siIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iUmVzdWx0TWFzayIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVj -dHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iQnJvd3NlUmVzdWx0TWFz -ayIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgYml0IG1hc2sg -d2hpY2ggc3BlY2lmaWVzIHdoYXQgc2hvdWxkIGJlIHJldHVybmVkIGluIGEgYnJvd3NlIHJlc3Bv -bnNlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i -Tm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJl -bmNlVHlwZUlkIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJ -c0ZvcndhcmQiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5v -ZGVDbGFzcyIgVmFsdWU9IjQiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQnJv -d3NlTmFtZSIgVmFsdWU9IjgiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGlz -cGxheU5hbWUiIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJU -eXBlRGVmaW5pdGlvbiIgVmFsdWU9IjMyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9IkFsbCIgVmFsdWU9IjYzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJl -ZmVyZW5jZVR5cGVJbmZvIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO -YW1lPSJUYXJnZXRJbmZvIiBWYWx1ZT0iNjAiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0K -DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVmZXJlbmNlRGVzY3JpcHRpb24iIEJhc2VU -eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgZGVz -Y3JpcHRpb24gb2YgYSByZWZlcmVuY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IklzRm9yd2FyZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOYW1lIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVk -TmFtZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc3BsYXlOYW1lIiBUeXBlTmFtZT0idWE6 -TG9jYWxpemVkVGV4dCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVDbGFzcyIgVHlwZU5h -bWU9InRuczpOb2RlQ2xhc3MiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUeXBlRGVmaW5pdGlv -biIgVHlwZU5hbWU9InVhOkV4cGFuZGVkTm9kZUlkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw -ZT4NCg0KICA8b3BjOk9wYXF1ZVR5cGUgTmFtZT0iQ29udGludWF0aW9uUG9pbnQiPg0KICAgIDxv -cGM6RG9jdW1lbnRhdGlvbj5BbiBpZGVudGlmaWVyIGZvciBhIHN1c3BlbmRlZCBxdWVyeSBvciBi -cm93c2Ugb3BlcmF0aW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCcm93c2VSZXN1bHQiIEJhc2VUeXBlPSJ1 -YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgcmVzdWx0IG9m -IGEgYnJvd3NlIG9wZXJhdGlvbi48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJDb250aW51YXRpb25Qb2ludCIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZXMiIFR5cGVOYW1lPSJvcGM6SW50 -MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VzIiBUeXBlTmFtZT0idG5zOlJl -ZmVyZW5jZURlc2NyaXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZlJlZmVyZW5jZXMiIC8+DQogIDwv -b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJvd3Nl -UmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVu -dGF0aW9uPkJyb3dzZSB0aGUgcmVmZXJlbmNlcyBmb3Igb25lIG9yIG1vcmUgbm9kZXMgZnJvbSB0 -aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlZpZXciIFR5cGVOYW1lPSJ0bnM6Vmlld0Rlc2NyaXB0aW9u -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkTWF4UmVmZXJlbmNlc1Blck5vZGUi -IFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVz -VG9Ccm93c2UiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO -b2Rlc1RvQnJvd3NlIiBUeXBlTmFtZT0idG5zOkJyb3dzZURlc2NyaXB0aW9uIiBMZW5ndGhGaWVs -ZD0iTm9PZk5vZGVzVG9Ccm93c2UiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv -cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJvd3NlUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRl -bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5Ccm93c2UgdGhlIHJlZmVyZW5j -ZXMgZm9yIG9uZSBvciBtb3JlIG5vZGVzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwv -b3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIg -VHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v -T2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UmVzdWx0cyIgVHlwZU5hbWU9InRuczpCcm93c2VSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUmVz -dWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVO -YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3Mi -IFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGlj -SW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iQnJvd3NlTmV4dFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi -Pg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5Db250aW51ZXMgb25lIG9yIG1vcmUgYnJvd3NlIG9w -ZXJhdGlvbnMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVl +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InRuczpCcm93 +c2VSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5m +byIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJvd3NlTmV4dFJlcXVlc3Qi +IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5D +b250aW51ZXMgb25lIG9yIG1vcmUgYnJvd3NlIG9wZXJhdGlvbnMuPC9vcGM6RG9jdW1lbnRhdGlv +bj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVx +dWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlbGVhc2VDb250aW51YXRpb25Q +b2ludHMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v +T2ZDb250aW51YXRpb25Qb2ludHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJDb250aW51YXRpb25Qb2ludHMiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIg +TGVuZ3RoRmllbGQ9Ik5vT2ZDb250aW51YXRpb25Qb2ludHMiIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJvd3NlTmV4dFJlc3BvbnNl +IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+ +Q29udGludWVzIG9uZSBvciBtb3JlIGJyb3dzZSBvcGVyYXRpb25zLjwvb3BjOkRvY3VtZW50YXRp +b24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpS +ZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBl +TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5h +bWU9InRuczpCcm93c2VSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpE +aWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwv +b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVsYXRp +dmVQYXRoRWxlbWVudCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpE +b2N1bWVudGF0aW9uPkFuIGVsZW1lbnQgaW4gYSByZWxhdGl2ZSBwYXRoLjwvb3BjOkRvY3VtZW50 +YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWZlcmVuY2VUeXBlSWQiIFR5cGVOYW1lPSJ1 +YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0ludmVyc2UiIFR5cGVOYW1lPSJv +cGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkluY2x1ZGVTdWJ0eXBlcyIgVHlw +ZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGFyZ2V0TmFtZSIg +VHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K +DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVsYXRpdmVQYXRoIiBCYXNlVHlwZT0idWE6 +RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSByZWxhdGl2ZSBwYXRo +IGNvbnN0cnVjdGVkIGZyb20gcmVmZXJlbmNlIHR5cGVzIGFuZCBicm93c2UgbmFtZXMuPC9vcGM6 +RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFbGVtZW50cyIgVHlwZU5h +bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVsZW1lbnRzIiBUeXBlTmFt +ZT0idG5zOlJlbGF0aXZlUGF0aEVsZW1lbnQiIExlbmd0aEZpZWxkPSJOb09mRWxlbWVudHMiIC8+ +DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i +QnJvd3NlUGF0aCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1 +bWVudGF0aW9uPkEgcmVxdWVzdCB0byB0cmFuc2xhdGUgYSBwYXRoIGludG8gYSBub2RlIGlkLjwv +b3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGFydGluZ05vZGUiIFR5 +cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWxhdGl2ZVBhdGgi +IFR5cGVOYW1lPSJ0bnM6UmVsYXRpdmVQYXRoIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N +Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb3dzZVBhdGhUYXJnZXQiIEJhc2VUeXBl +PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgdGFyZ2V0 +IG9mIHRoZSB0cmFuc2xhdGVkIHBhdGguPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlRhcmdldElkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJSZW1haW5pbmdQYXRoSW5kZXgiIFR5cGVOYW1lPSJvcGM6VUludDMy +IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h +bWU9IkJyb3dzZVBhdGhSZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg +IDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgcmVzdWx0IG9mIGEgdHJhbnNsYXRlIG9wZWFyYXRpb24u +PC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5 +cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlRhcmdl +dHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUYXJnZXRz +IiBUeXBlTmFtZT0idG5zOkJyb3dzZVBhdGhUYXJnZXQiIExlbmd0aEZpZWxkPSJOb09mVGFyZ2V0 +cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO +YW1lPSJUcmFuc2xhdGVCcm93c2VQYXRoc1RvTm9kZUlkc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpF +eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UcmFuc2xhdGVzIG9uZSBv +ciBtb3JlIHBhdGhzIGluIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0 +aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpS +ZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkJyb3dzZVBhdGhzIiBU +eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnJvd3NlUGF0aHMi +IFR5cGVOYW1lPSJ0bnM6QnJvd3NlUGF0aCIgTGVuZ3RoRmllbGQ9Ik5vT2ZCcm93c2VQYXRocyIg +Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l +PSJUcmFuc2xhdGVCcm93c2VQYXRoc1RvTm9kZUlkc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0 +ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VHJhbnNsYXRlcyBvbmUgb3Ig +bW9yZSBwYXRocyBpbiB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlv +bj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJl +c3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVO +YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFt +ZT0idG5zOkJyb3dzZVBhdGhSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1 +YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQog +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVn +aXN0ZXJOb2Rlc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv +cGM6RG9jdW1lbnRhdGlvbj5SZWdpc3RlcnMgb25lIG9yIG1vcmUgbm9kZXMgZm9yIHJlcGVhdGVk +IHVzZSB3aXRoaW4gYSBzZXNzaW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTm9kZXNUb1JlZ2lzdGVyIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZXNUb1JlZ2lzdGVyIiBUeXBlTmFtZT0i +dWE6Tm9kZUlkIiBMZW5ndGhGaWVsZD0iTm9PZk5vZGVzVG9SZWdpc3RlciIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWdpc3Rlck5v +ZGVzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9j +dW1lbnRhdGlvbj5SZWdpc3RlcnMgb25lIG9yIG1vcmUgbm9kZXMgZm9yIHJlcGVhdGVkIHVzZSB3 +aXRoaW4gYSBzZXNzaW9uLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWdpc3RlcmVkTm9kZUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZ2lzdGVyZWROb2RlSWRzIiBUeXBlTmFtZT0i +dWE6Tm9kZUlkIiBMZW5ndGhGaWVsZD0iTm9PZlJlZ2lzdGVyZWROb2RlSWRzIiAvPg0KICA8L29w +YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlVucmVnaXN0 +ZXJOb2Rlc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 +RG9jdW1lbnRhdGlvbj5VbnJlZ2lzdGVycyBvbmUgb3IgbW9yZSBwcmV2aW91c2x5IHJlZ2lzdGVy +ZWQgbm9kZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVl c3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlJlbGVhc2VDb250aW51YXRpb25Qb2ludHMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZDb250aW51YXRpb25Qb2ludHMiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb250aW51YXRpb25Qb2ludHMi -IFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZDb250aW51YXRpb25Q -b2ludHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iQnJvd3NlTmV4dFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 -Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+Q29udGludWVzIG9uZSBvciBtb3JlIGJyb3dzZSBv -cGVyYXRpb25zLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNw -b25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InRuczpCcm93c2VSZXN1bHQiIExlbmd0aEZp -ZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGlj -SW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFn -bm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5v -T2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 -U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVsYXRpdmVQYXRoRWxlbWVudCIgQmFzZVR5cGU9InVhOkV4 -dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkFuIGVsZW1lbnQgaW4gYSBy -ZWxhdGl2ZSBwYXRoLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS -ZWZlcmVuY2VUeXBlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJJc0ludmVyc2UiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkluY2x1ZGVTdWJ0eXBlcyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iVGFyZ2V0TmFtZSIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIC8+ +IE5hbWU9Ik5vT2ZOb2Rlc1RvVW5yZWdpc3RlciIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVzVG9VbnJlZ2lzdGVyIiBUeXBlTmFtZT0idWE6Tm9kZUlk +IiBMZW5ndGhGaWVsZD0iTm9PZk5vZGVzVG9VbnJlZ2lzdGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlVucmVnaXN0ZXJOb2Rlc1Jl +c3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50 +YXRpb24+VW5yZWdpc3RlcnMgb25lIG9yIG1vcmUgcHJldmlvdXNseSByZWdpc3RlcmVkIG5vZGVz +Ljwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRl +ciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 +cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IkNvdW50ZXIiPg0KICAgIDxvcGM6RG9jdW1l +bnRhdGlvbj5BIG1vbm90b25pY2FsbHkgaW5jcmVhc2luZyB2YWx1ZS48L29wYzpEb2N1bWVudGF0 +aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJOdW1l +cmljUmFuZ2UiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgYSByYW5nZSBvZiBh +cnJheSBpbmRleGVzLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoN +CiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IlRpbWUiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5B +IHRpbWUgdmFsdWUgc3BlY2lmaWVkIGFzIEhIOk1NOlNTLlNTUy48L29wYzpEb2N1bWVudGF0aW9u +Pg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJEYXRlIj4N +CiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBkYXRlIHZhbHVlLjwvb3BjOkRvY3VtZW50YXRpb24+ +DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFbmRw +b2ludENvbmZpZ3VyYXRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iT3BlcmF0aW9uVGltZW91dCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZUJpbmFyeUVuY29kaW5nIiBUeXBlTmFtZT0ib3BjOkJv +b2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhTdHJpbmdMZW5ndGgiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhCeXRlU3RyaW5nTGVuZ3Ro +IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4QXJyYXlM +ZW5ndGgiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhN +ZXNzYWdlU2l6ZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik1heEJ1ZmZlclNpemUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJDaGFubmVsTGlmZXRpbWUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJTZWN1cml0eVRva2VuTGlmZXRpbWUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i -UmVsYXRpdmVQYXRoIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRv -Y3VtZW50YXRpb24+QSByZWxhdGl2ZSBwYXRoIGNvbnN0cnVjdGVkIGZyb20gcmVmZXJlbmNlIHR5 -cGVzIGFuZCBicm93c2UgbmFtZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vT2ZFbGVtZW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkVsZW1lbnRzIiBUeXBlTmFtZT0idG5zOlJlbGF0aXZlUGF0aEVsZW1lbnQiIExl -bmd0aEZpZWxkPSJOb09mRWxlbWVudHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog -IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQnJvd3NlUGF0aCIgQmFzZVR5cGU9InVhOkV4dGVu -c2lvbk9iamVjdCI+DQogICAgPG9wYzpEb2N1bWVudGF0aW9uPkEgcmVxdWVzdCB0byB0cmFuc2xh -dGUgYSBwYXRoIGludG8gYSBub2RlIGlkLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJTdGFydGluZ05vZGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJSZWxhdGl2ZVBhdGgiIFR5cGVOYW1lPSJ0bnM6UmVsYXRpdmVQYXRoIiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -IkJyb3dzZVBhdGhUYXJnZXQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv -cGM6RG9jdW1lbnRhdGlvbj5UaGUgdGFyZ2V0IG9mIHRoZSB0cmFuc2xhdGVkIHBhdGguPC9vcGM6 -RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRhcmdldElkIiBUeXBlTmFtZT0i -dWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZW1haW5pbmdQYXRo -SW5kZXgiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N -Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkJyb3dzZVBhdGhSZXN1bHQiIEJhc2VUeXBl -PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5UaGUgcmVzdWx0 -IG9mIGEgdHJhbnNsYXRlIG9wZWFyYXRpb24uPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTm9PZlRhcmdldHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJUYXJnZXRzIiBUeXBlTmFtZT0idG5zOkJyb3dzZVBhdGhUYXJn -ZXQiIExlbmd0aEZpZWxkPSJOb09mVGFyZ2V0cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+ -DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJUcmFuc2xhdGVCcm93c2VQYXRoc1RvTm9k -ZUlkc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9j -dW1lbnRhdGlvbj5UcmFuc2xhdGVzIG9uZSBvciBtb3JlIHBhdGhzIGluIHRoZSBzZXJ2ZXIgYWRk -cmVzcyBzcGFjZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVx -dWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9PZkJyb3dzZVBhdGhzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iQnJvd3NlUGF0aHMiIFR5cGVOYW1lPSJ0bnM6QnJvd3NlUGF0aCIgTGVu -Z3RoRmllbGQ9Ik5vT2ZCcm93c2VQYXRocyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJUcmFuc2xhdGVCcm93c2VQYXRoc1RvTm9kZUlk -c1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkRvY3Vt -ZW50YXRpb24+VHJhbnNsYXRlcyBvbmUgb3IgbW9yZSBwYXRocyBpbiB0aGUgc2VydmVyIGFkZHJl -c3Mgc3BhY2UuPC9vcGM6RG9jdW1lbnRhdGlvbj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3Bv -bnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idG5zOkJyb3dzZVBhdGhSZXN1bHQiIExlbmd0 -aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9z -dGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE -aWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9 -Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv -cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVnaXN0ZXJOb2Rlc1JlcXVlc3QiIEJhc2VUeXBlPSJ1 -YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5SZWdpc3RlcnMgb25l -IG9yIG1vcmUgbm9kZXMgZm9yIHJlcGVhdGVkIHVzZSB3aXRoaW4gYSBzZXNzaW9uLjwvb3BjOkRv -Y3VtZW50YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFt -ZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTm9kZXNU -b1JlZ2lzdGVyIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Tm9kZXNUb1JlZ2lzdGVyIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBMZW5ndGhGaWVsZD0iTm9PZk5v -ZGVzVG9SZWdpc3RlciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 -Y3R1cmVkVHlwZSBOYW1lPSJSZWdpc3Rlck5vZGVzUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRl -bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5SZWdpc3RlcnMgb25lIG9yIG1v -cmUgbm9kZXMgZm9yIHJlcGVhdGVkIHVzZSB3aXRoaW4gYSBzZXNzaW9uLjwvb3BjOkRvY3VtZW50 -YXRpb24+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRu -czpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZWdpc3RlcmVk -Tm9kZUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl -Z2lzdGVyZWROb2RlSWRzIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBMZW5ndGhGaWVsZD0iTm9PZlJl -Z2lzdGVyZWROb2RlSWRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 -cnVjdHVyZWRUeXBlIE5hbWU9IlVucmVnaXN0ZXJOb2Rlc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpF -eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5VbnJlZ2lzdGVycyBvbmUg -b3IgbW9yZSBwcmV2aW91c2x5IHJlZ2lzdGVyZWQgbm9kZXMuPC9vcGM6RG9jdW1lbnRhdGlvbj4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVz -dEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOb2Rlc1RvVW5yZWdpc3RlciIg -VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVzVG9VbnJl -Z2lzdGVyIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBMZW5ndGhGaWVsZD0iTm9PZk5vZGVzVG9VbnJl -Z2lzdGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU -eXBlIE5hbWU9IlVucmVnaXN0ZXJOb2Rlc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u -T2JqZWN0Ij4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+VW5yZWdpc3RlcnMgb25lIG9yIG1vcmUg -cHJldmlvdXNseSByZWdpc3RlcmVkIG5vZGVzLjwvb3BjOkRvY3VtZW50YXRpb24+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRl -ciIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9 -IkNvdW50ZXIiPg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIG1vbm90b25pY2FsbHkgaW5jcmVh -c2luZyB2YWx1ZS48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQog -IDxvcGM6T3BhcXVlVHlwZSBOYW1lPSJOdW1lcmljUmFuZ2UiPg0KICAgIDxvcGM6RG9jdW1lbnRh -dGlvbj5TcGVjaWZpZXMgYSByYW5nZSBvZiBhcnJheSBpbmRleGVzLjwvb3BjOkRvY3VtZW50YXRp -b24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9wYzpPcGFxdWVUeXBlIE5hbWU9IlRpbWUi -Pg0KICAgIDxvcGM6RG9jdW1lbnRhdGlvbj5BIHRpbWUgdmFsdWUgc3BlY2lmaWVkIGFzIEhIOk1N -OlNTLlNTUy48L29wYzpEb2N1bWVudGF0aW9uPg0KICA8L29wYzpPcGFxdWVUeXBlPg0KDQogIDxv -cGM6T3BhcXVlVHlwZSBOYW1lPSJEYXRlIj4NCiAgICA8b3BjOkRvY3VtZW50YXRpb24+QSBkYXRl -IHZhbHVlLjwvb3BjOkRvY3VtZW50YXRpb24+DQogIDwvb3BjOk9wYXF1ZVR5cGU+DQoNCiAgPG9w -YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFbmRwb2ludENvbmZpZ3VyYXRpb24iIEJhc2VUeXBlPSJ1 -YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iT3BlcmF0aW9uVGltZW91 -dCIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVzZUJpbmFy -eUVuY29kaW5nIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJNYXhTdHJpbmdMZW5ndGgiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJNYXhCeXRlU3RyaW5nTGVuZ3RoIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTWF4QXJyYXlMZW5ndGgiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhNZXNzYWdlU2l6ZSIgVHlwZU5hbWU9Im9wYzpJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heEJ1ZmZlclNpemUiIFR5cGVOYW1lPSJvcGM6 -SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDaGFubmVsTGlmZXRpbWUiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eVRva2VuTGlmZXRp -bWUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog -IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUXVlcnlEYXRhRGVzY3JpcHRpb24iIEJhc2VUeXBl -PSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVsYXRpdmVQYXRo -IiBUeXBlTmFtZT0idG5zOlJlbGF0aXZlUGF0aCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF0 -dHJpYnV0ZUlkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IkluZGV4UmFuZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik5vZGVUeXBlRGVzY3JpcHRpb24i -IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHlw -ZURlZmluaXRpb25Ob2RlIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJJbmNsdWRlU3ViVHlwZXMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEYXRhVG9SZXR1cm4iIFR5cGVOYW1lPSJvcGM6SW50 -MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVG9SZXR1cm4iIFR5cGVOYW1lPSJ0bnM6 -UXVlcnlEYXRhRGVzY3JpcHRpb24iIExlbmd0aEZpZWxkPSJOb09mRGF0YVRvUmV0dXJuIiAvPg0K -ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkZp -bHRlck9wZXJhdG9yIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 -ZSBOYW1lPSJFcXVhbHMiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9IklzTnVsbCIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i -R3JlYXRlclRoYW4iIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 -Ikxlc3NUaGFuIiBWYWx1ZT0iMyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJH -cmVhdGVyVGhhbk9yRXF1YWwiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9Ikxlc3NUaGFuT3JFcXVhbCIgVmFsdWU9IjUiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVk -VmFsdWUgTmFtZT0iTGlrZSIgVmFsdWU9IjYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iTm90IiBWYWx1ZT0iNyIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJC -ZXR3ZWVuIiBWYWx1ZT0iOCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbkxp -c3QiIFZhbHVlPSI5IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFuZCIgVmFs -dWU9IjEwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik9yIiBWYWx1ZT0iMTEi -IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQ2FzdCIgVmFsdWU9IjEyIiAvPg0K -ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkluVmlldyIgVmFsdWU9IjEzIiAvPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik9mVHlwZSIgVmFsdWU9IjE0IiAvPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlbGF0ZWRUbyIgVmFsdWU9IjE1IiAvPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJpdHdpc2VBbmQiIFZhbHVlPSIxNiIgLz4NCiAgICA8 -b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCaXR3aXNlT3IiIFZhbHVlPSIxNyIgLz4NCiAgPC9v -cGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJRdWVyeURh -dGFTZXQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJUeXBlRGVmaW5pdGlvbk5vZGUiIFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZWYWx1ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZXMiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiBM -ZW5ndGhGaWVsZD0iTm9PZlZhbHVlcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg -PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJOb2RlUmVmZXJlbmNlIiBCYXNlVHlwZT0idWE6RXh0 -ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVh -Ok5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgVHlwZU5h -bWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzRm9yd2FyZCIgVHlwZU5h -bWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZWRO -b2RlSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVm -ZXJlbmNlZE5vZGVJZHMiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIExlbmd0aEZpZWxkPSJOb09mUmVm -ZXJlbmNlZE5vZGVJZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry -dWN0dXJlZFR5cGUgTmFtZT0iQ29udGVudEZpbHRlckVsZW1lbnQiIEJhc2VUeXBlPSJ1YTpFeHRl -bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmlsdGVyT3BlcmF0b3IiIFR5cGVO -YW1lPSJ0bnM6RmlsdGVyT3BlcmF0b3IiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRmls -dGVyT3BlcmFuZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJGaWx0ZXJPcGVyYW5kcyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgTGVuZ3RoRmll -bGQ9Ik5vT2ZGaWx0ZXJPcGVyYW5kcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg -PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDb250ZW50RmlsdGVyIiBCYXNlVHlwZT0idWE6RXh0 -ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFbGVtZW50cyIgVHlwZU5h -bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVsZW1lbnRzIiBUeXBlTmFt -ZT0idG5zOkNvbnRlbnRGaWx0ZXJFbGVtZW50IiBMZW5ndGhGaWVsZD0iTm9PZkVsZW1lbnRzIiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -IkZpbHRlck9wZXJhbmQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpT -dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkVsZW1lbnRPcGVy -YW5kIiBCYXNlVHlwZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -SW5kZXgiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N -Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkxpdGVyYWxPcGVyYW5kIiBCYXNlVHlwZT0i -dG5zOkZpbHRlck9wZXJhbmQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWUiIFR5cGVOYW1l -PSJ1YTpWYXJpYW50IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj -dHVyZWRUeXBlIE5hbWU9IkF0dHJpYnV0ZU9wZXJhbmQiIEJhc2VUeXBlPSJ0bnM6RmlsdGVyT3Bl -cmFuZCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBbGlhcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VQYXRoIiBUeXBlTmFtZT0idG5zOlJlbGF0aXZl -UGF0aCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF0dHJpYnV0ZUlkIiBUeXBlTmFtZT0ib3Bj -OlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkluZGV4UmFuZ2UiIFR5cGVOYW1lPSJv -cGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy -ZWRUeXBlIE5hbWU9IlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIEJhc2VUeXBlPSJ0bnM6RmlsdGVy -T3BlcmFuZCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUeXBlRGVmaW5pdGlvbklkIiBUeXBlTmFt -ZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkJyb3dzZVBhdGgiIFR5 -cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VQYXRoIiBU -eXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZCcm93c2VQYXRoIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXR0cmlidXRlSWQiIFR5cGVOYW1lPSJvcGM6VUludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5kZXhSYW5nZSIgVHlwZU5hbWU9Im9wYzpTdHJp -bmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg -TmFtZT0iQ29udGVudEZpbHRlckVsZW1lbnRSZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P -YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0 -YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mT3BlcmFuZFN0YXR1c0NvZGVz -IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iT3BlcmFuZFN0 -YXR1c0NvZGVzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZPcGVy -YW5kU3RhdHVzQ29kZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mT3BlcmFuZERpYWdu -b3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -Ik9wZXJhbmREaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVu -Z3RoRmllbGQ9Ik5vT2ZPcGVyYW5kRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNvbnRlbnRGaWx0ZXJSZXN1 -bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -Tm9PZkVsZW1lbnRSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iRWxlbWVudFJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6Q29udGVudEZpbHRlckVsZW1l -bnRSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mRWxlbWVudFJlc3VsdHMiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJOb09mRWxlbWVudERpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVsZW1lbnREaWFnbm9zdGljSW5mb3MiIFR5cGVO -YW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZFbGVtZW50RGlhZ25vc3Rp -Y0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU -eXBlIE5hbWU9IlBhcnNpbmdSZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGF0YVN0YXR1c0NvZGVzIiBUeXBlTmFtZT0i -b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGF0YVN0YXR1c0NvZGVzIiBUeXBl -TmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZEYXRhU3RhdHVzQ29kZXMiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGF0YURpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9 -Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFEaWFnbm9zdGljSW5mb3Mi -IFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEYXRhRGlhZ25v -c3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy -ZWRUeXBlIE5hbWU9IlF1ZXJ5Rmlyc3RSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2Jq -ZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6 -UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlZpZXciIFR5cGVOYW1lPSJ0 -bnM6Vmlld0Rlc2NyaXB0aW9uIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVUeXBl -cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVUeXBl -cyIgVHlwZU5hbWU9InRuczpOb2RlVHlwZURlc2NyaXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZk5v -ZGVUeXBlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRlciIgVHlwZU5hbWU9InRuczpD -b250ZW50RmlsdGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4RGF0YVNldHNUb1JldHVy -biIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhSZWZl -cmVuY2VzVG9SZXR1cm4iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlF1ZXJ5Rmlyc3RSZXNwb25z -ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS -ZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vT2ZRdWVyeURhdGFTZXRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iUXVlcnlEYXRhU2V0cyIgVHlwZU5hbWU9InRuczpRdWVyeURh -dGFTZXQiIExlbmd0aEZpZWxkPSJOb09mUXVlcnlEYXRhU2V0cyIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUGFyc2luZ1Jlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50 -MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQYXJzaW5nUmVzdWx0cyIgVHlwZU5hbWU9InRu -czpQYXJzaW5nUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlBhcnNpbmdSZXN1bHRzIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVh -OkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRlclJlc3VsdCIgVHlwZU5hbWU9InRuczpDb250ZW50Rmls -dGVyUmVzdWx0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy -ZWRUeXBlIE5hbWU9IlF1ZXJ5TmV4dFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl -Y3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpS -ZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVsZWFzZUNvbnRpbnVhdGlv -blBvaW50IiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJD -b250aW51YXRpb25Qb2ludCIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpT -dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlF1ZXJ5TmV4dFJl -c3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTm9PZlF1ZXJ5RGF0YVNldHMiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJRdWVyeURhdGFTZXRzIiBUeXBlTmFtZT0idG5zOlF1 -ZXJ5RGF0YVNldCIgTGVuZ3RoRmllbGQ9Ik5vT2ZRdWVyeURhdGFTZXRzIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iUmV2aXNlZENvbnRpbnVhdGlvblBvaW50IiBUeXBlTmFtZT0ib3BjOkJ5dGVT -dHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5 -cGUgTmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3Bj -OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTb3VyY2UiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9IlNlcnZlciIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJh -dGVkVmFsdWUgTmFtZT0iQm90aCIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs -dWUgTmFtZT0iTmVpdGhlciIgVmFsdWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg -TmFtZT0iSW52YWxpZCIgVmFsdWU9IjQiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQog -IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVhZFZhbHVlSWQiIEJhc2VUeXBlPSJ1YTpFeHRl -bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6 -Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXR0cmlidXRlSWQiIFR5cGVOYW1lPSJv -cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5kZXhSYW5nZSIgVHlwZU5hbWU9 -Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhRW5jb2RpbmciIFR5cGVO -YW1lPSJ1YTpRdWFsaWZpZWROYW1lIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 -b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlYWRSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5z -aW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1l -PSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heEFnZSIgVHlw -ZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUaW1lc3RhbXBzVG9S -ZXR1cm4iIFR5cGVOYW1lPSJ0bnM6VGltZXN0YW1wc1RvUmV0dXJuIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9PZk5vZGVzVG9SZWFkIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iTm9kZXNUb1JlYWQiIFR5cGVOYW1lPSJ0bnM6UmVhZFZhbHVlSWQiIExl -bmd0aEZpZWxkPSJOb09mTm9kZXNUb1JlYWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K -DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVhZFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6 -RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBU -eXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P -ZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS -ZXN1bHRzIiBUeXBlTmFtZT0idWE6RGF0YVZhbHVlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0i -b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBl -TmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9z +UXVlcnlEYXRhRGVzY3JpcHRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iUmVsYXRpdmVQYXRoIiBUeXBlTmFtZT0idG5zOlJlbGF0aXZlUGF0 +aCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF0dHJpYnV0ZUlkIiBUeXBlTmFtZT0ib3BjOlVJ +bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkluZGV4UmFuZ2UiIFR5cGVOYW1lPSJvcGM6 +U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU +eXBlIE5hbWU9Ik5vZGVUeXBlRGVzY3JpcHRpb24iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl +Y3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHlwZURlZmluaXRpb25Ob2RlIiBUeXBlTmFtZT0i +dWE6RXhwYW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbmNsdWRlU3ViVHlw +ZXMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZE +YXRhVG9SZXR1cm4iIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJEYXRhVG9SZXR1cm4iIFR5cGVOYW1lPSJ0bnM6UXVlcnlEYXRhRGVzY3JpcHRpb24iIExlbmd0 +aEZpZWxkPSJOb09mRGF0YVRvUmV0dXJuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K +ICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkZpbHRlck9wZXJhdG9yIiBMZW5ndGhJbkJpdHM9 +IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJFcXVhbHMiIFZhbHVlPSIwIiAv +Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IklzTnVsbCIgVmFsdWU9IjEiIC8+DQog +ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iR3JlYXRlclRoYW4iIFZhbHVlPSIyIiAvPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikxlc3NUaGFuIiBWYWx1ZT0iMyIgLz4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJHcmVhdGVyVGhhbk9yRXF1YWwiIFZhbHVlPSI0 +IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ikxlc3NUaGFuT3JFcXVhbCIgVmFs +dWU9IjUiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTGlrZSIgVmFsdWU9IjYi +IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm90IiBWYWx1ZT0iNyIgLz4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJCZXR3ZWVuIiBWYWx1ZT0iOCIgLz4NCiAgICA8 +b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbkxpc3QiIFZhbHVlPSI5IiAvPg0KICAgIDxvcGM6 +RW51bWVyYXRlZFZhbHVlIE5hbWU9IkFuZCIgVmFsdWU9IjEwIiAvPg0KICAgIDxvcGM6RW51bWVy +YXRlZFZhbHVlIE5hbWU9Ik9yIiBWYWx1ZT0iMTEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs +dWUgTmFtZT0iQ2FzdCIgVmFsdWU9IjEyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h +bWU9IkluVmlldyIgVmFsdWU9IjEzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 +Ik9mVHlwZSIgVmFsdWU9IjE0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJl +bGF0ZWRUbyIgVmFsdWU9IjE1IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkJp +dHdpc2VBbmQiIFZhbHVlPSIxNiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJC +aXR3aXNlT3IiIFZhbHVlPSIxNyIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9w +YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJRdWVyeURhdGFTZXQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp +b25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6RXhw +YW5kZWROb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUeXBlRGVmaW5pdGlvbk5vZGUi +IFR5cGVOYW1lPSJ1YTpFeHBhbmRlZE5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v +T2ZWYWx1ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJW +YWx1ZXMiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiBMZW5ndGhGaWVsZD0iTm9PZlZhbHVlcyIgLz4N +CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJO +b2RlUmVmZXJlbmNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IklzRm9yd2FyZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTm9PZlJlZmVyZW5jZWROb2RlSWRzIiBUeXBlTmFtZT0ib3BjOkludDMy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVmZXJlbmNlZE5vZGVJZHMiIFR5cGVOYW1lPSJ1 +YTpOb2RlSWQiIExlbmd0aEZpZWxkPSJOb09mUmVmZXJlbmNlZE5vZGVJZHMiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ29udGVudEZp +bHRlckVsZW1lbnQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iRmlsdGVyT3BlcmF0b3IiIFR5cGVOYW1lPSJ0bnM6RmlsdGVyT3BlcmF0b3IiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRmlsdGVyT3BlcmFuZHMiIFR5cGVOYW1lPSJvcGM6 +SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXJPcGVyYW5kcyIgVHlwZU5hbWU9 +InVhOkV4dGVuc2lvbk9iamVjdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZGaWx0ZXJPcGVyYW5kcyIgLz4N +CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJD +b250ZW50RmlsdGVyIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vT2ZFbGVtZW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IkVsZW1lbnRzIiBUeXBlTmFtZT0idG5zOkNvbnRlbnRGaWx0ZXJFbGVtZW50 +IiBMZW5ndGhGaWVsZD0iTm9PZkVsZW1lbnRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N +Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkZpbHRlck9wZXJhbmQiIEJhc2VUeXBlPSJ1 +YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9IkVsZW1lbnRPcGVyYW5kIiBCYXNlVHlwZT0idG5zOkZpbHRlck9w +ZXJhbmQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5kZXgiIFR5cGVOYW1lPSJvcGM6VUludDMy IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9Ikhpc3RvcnlSZWFkVmFsdWVJZCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJJbmRleFJhbmdlIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFFbmNvZGluZyIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5h -bWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb250aW51YXRpb25Qb2ludCIgVHlwZU5hbWU9 -Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 -cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlSZWFkUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5z -aW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1 -YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ29udGludWF0aW9uUG9pbnQi -IFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikhpc3Rv -cnlEYXRhIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlSZWFkRGV0YWls -cyIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl -Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVhZEV2ZW50RGV0YWlscyIgQmFzZVR5 -cGU9InRuczpIaXN0b3J5UmVhZERldGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTnVtVmFs -dWVzUGVyTm9kZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJTdGFydFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJFbmRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iRmlsdGVyIiBUeXBlTmFtZT0idG5zOkV2ZW50RmlsdGVyIiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlYWRSYXdNb2RpZmll -ZERldGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IklzUmVhZE1vZGlmaWVkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJTdGFydFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTnVtVmFsdWVzUGVyTm9kZSIgVHlwZU5hbWU9Im9wYzpVSW50 -MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXR1cm5Cb3VuZHMiIFR5cGVOYW1lPSJvcGM6 -Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk -VHlwZSBOYW1lPSJSZWFkUHJvY2Vzc2VkRGV0YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5UmVh -ZERldGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhcnRUaW1lIiBUeXBlTmFtZT0ib3Bj -OkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kVGltZSIgVHlwZU5hbWU9Im9w -YzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByb2Nlc3NpbmdJbnRlcnZhbCIg -VHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQWdncmVn -YXRlVHlwZSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFn -Z3JlZ2F0ZVR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIExlbmd0aEZpZWxkPSJOb09mQWdncmVn -YXRlVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24i -IFR5cGVOYW1lPSJ0bnM6QWdncmVnYXRlQ29uZmlndXJhdGlvbiIgLz4NCiAgPC9vcGM6U3RydWN0 -dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWFkQXRUaW1lRGV0YWls -cyIgQmFzZVR5cGU9InRuczpIaXN0b3J5UmVhZERldGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iTm9PZlJlcVRpbWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iUmVxVGltZXMiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIExlbmd0aEZpZWxkPSJOb09m -UmVxVGltZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VTaW1wbGVCb3VuZHMiIFR5cGVO -YW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT -dHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5RGF0YSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i -amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGF0YVZhbHVlcyIgVHlwZU5hbWU9Im9w -YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFWYWx1ZXMiIFR5cGVOYW1lPSJ1 -YTpEYXRhVmFsdWUiIExlbmd0aEZpZWxkPSJOb09mRGF0YVZhbHVlcyIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb2RpZmljYXRpb25J -bmZvIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -Ik1vZGlmaWNhdGlvblRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJVcGRhdGVUeXBlIiBUeXBlTmFtZT0idG5zOkhpc3RvcnlVcGRhdGVUeXBlIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -Ikhpc3RvcnlNb2RpZmllZERhdGEiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeURhdGEiPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iTm9PZkRhdGFWYWx1ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVmFsdWVzIiBUeXBlTmFtZT0idWE6RGF0YVZhbHVlIiBM -ZW5ndGhGaWVsZD0iTm9PZkRhdGFWYWx1ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m -TW9kaWZpY2F0aW9uSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJNb2RpZmljYXRpb25JbmZvcyIgVHlwZU5hbWU9InRuczpNb2RpZmljYXRpb25JbmZv -IiBMZW5ndGhGaWVsZD0iTm9PZk1vZGlmaWNhdGlvbkluZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlFdmVudCIgQmFz -ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRXZl -bnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnRz -IiBUeXBlTmFtZT0idG5zOkhpc3RvcnlFdmVudEZpZWxkTGlzdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZF -dmVudHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iSGlzdG9yeVJlYWRSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 -Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVx -dWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikhpc3RvcnlSZWFkRGV0YWlscyIg -VHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRp -bWVzdGFtcHNUb1JldHVybiIgVHlwZU5hbWU9InRuczpUaW1lc3RhbXBzVG9SZXR1cm4iIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJSZWxlYXNlQ29udGludWF0aW9uUG9pbnRzIiBUeXBlTmFtZT0i -b3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTm9kZXNUb1JlYWQiIFR5 -cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rlc1RvUmVhZCIg -VHlwZU5hbWU9InRuczpIaXN0b3J5UmVhZFZhbHVlSWQiIExlbmd0aEZpZWxkPSJOb09mTm9kZXNU -b1JlYWQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iSGlzdG9yeVJlYWRSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj -dCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpS -ZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBl -TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5h -bWU9InRuczpIaXN0b3J5UmVhZFJlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJ -bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9 -InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJX -cml0ZVZhbHVlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkxpdGVyYWxPcGVyYW5kIiBCYXNlVHlwZT0idG5zOkZpbHRlck9wZXJhbmQiPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iVmFsdWUiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkF0dHJpYnV0ZU9w +ZXJhbmQiIEJhc2VUeXBlPSJ0bnM6RmlsdGVyT3BlcmFuZCI+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb2RlSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJB +bGlhcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93 +c2VQYXRoIiBUeXBlTmFtZT0idG5zOlJlbGF0aXZlUGF0aCIgLz4NCiAgICA8b3BjOkZpZWxkIE5h bWU9IkF0dHJpYnV0ZUlkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkluZGV4UmFuZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iVmFsdWUiIFR5cGVOYW1lPSJ1YTpEYXRhVmFsdWUiIC8+DQogIDwvb3BjOlN0cnVj -dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iV3JpdGVSZXF1ZXN0IiBC -YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVl -c3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vT2ZOb2Rlc1RvV3JpdGUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJOb2Rlc1RvV3JpdGUiIFR5cGVOYW1lPSJ0bnM6V3JpdGVWYWx1ZSIgTGVu -Z3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvV3JpdGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K -DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iV3JpdGVSZXNwb25zZSIgQmFzZVR5cGU9InVh -OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIg -VHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5v -T2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -UmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0 -cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5 -cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5m -b3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg -TmFtZT0iSGlzdG9yeVVwZGF0ZURldGFpbHMiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0K -ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9Ikhp -c3RvcnlVcGRhdGVUeXBlIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRW -YWx1ZSBOYW1lPSJJbnNlcnQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9IlJlcGxhY2UiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5h -bWU9IlVwZGF0ZSIgVmFsdWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0i -RGVsZXRlIiBWYWx1ZT0iNCIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpF -bnVtZXJhdGVkVHlwZSBOYW1lPSJQZXJmb3JtVXBkYXRlVHlwZSIgTGVuZ3RoSW5CaXRzPSIzMiI+ -DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW5zZXJ0IiBWYWx1ZT0iMSIgLz4NCiAg -ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJSZXBsYWNlIiBWYWx1ZT0iMiIgLz4NCiAgICA8 -b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJVcGRhdGUiIFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6 -RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlbW92ZSIgVmFsdWU9IjQiIC8+DQogIDwvb3BjOkVudW1l -cmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iVXBkYXRlRGF0YURldGFp -bHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6SGlzdG9y -eVVwZGF0ZURldGFpbHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQZXJmb3JtSW5zZXJ0UmVw -bGFjZSIgVHlwZU5hbWU9InRuczpQZXJmb3JtVXBkYXRlVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vT2ZVcGRhdGVWYWx1ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJVcGRhdGVWYWx1ZXMiIFR5cGVOYW1lPSJ1YTpEYXRhVmFsdWUiIExlbmd0 -aEZpZWxkPSJOb09mVXBkYXRlVmFsdWVzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlVwZGF0ZVN0cnVjdHVyZURhdGFEZXRhaWxzIiBC -YXNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgU291cmNlVHlwZT0idG5zOkhpc3RvcnlVcGRh -dGVEZXRhaWxzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGVyZm9ybUluc2VydFJlcGxhY2Ui -IFR5cGVOYW1lPSJ0bnM6UGVyZm9ybVVwZGF0ZVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJOb09mVXBkYXRlVmFsdWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iVXBkYXRlVmFsdWVzIiBUeXBlTmFtZT0idWE6RGF0YVZhbHVlIiBMZW5ndGhGaWVs -ZD0iTm9PZlVwZGF0ZVZhbHVlcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w -YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVcGRhdGVFdmVudERldGFpbHMiIEJhc2VUeXBlPSJ0bnM6 -SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBl -TmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQZXJmb3JtSW5zZXJ0UmVwbGFjZSIgVHlwZU5hbWU9InRu -czpQZXJmb3JtVXBkYXRlVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRlciIgVHlw -ZU5hbWU9InRuczpFdmVudEZpbHRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFdmVu -dERhdGEiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVu -dERhdGEiIFR5cGVOYW1lPSJ0bnM6SGlzdG9yeUV2ZW50RmllbGRMaXN0IiBMZW5ndGhGaWVsZD0i -Tm9PZkV2ZW50RGF0YSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 -Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVSYXdNb2RpZmllZERldGFpbHMiIEJhc2VUeXBlPSJ0bnM6 -SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBl -TmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0RlbGV0ZU1vZGlmaWVkIiBUeXBlTmFtZT0ib3BjOkJv -b2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGFydFRpbWUiIFR5cGVOYW1lPSJvcGM6 -RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRUaW1lIiBUeXBlTmFtZT0ib3Bj -OkRhdGVUaW1lIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy -ZWRUeXBlIE5hbWU9IkRlbGV0ZUF0VGltZURldGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVVw -ZGF0ZURldGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6 -Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJOb09mUmVxVGltZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJSZXFUaW1lcyIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgTGVuZ3Ro -RmllbGQ9Ik5vT2ZSZXFUaW1lcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w -YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVFdmVudERldGFpbHMiIEJhc2VUeXBlPSJ0bnM6 -SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBl -TmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRXZlbnRJZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVudElkcyIgVHlwZU5hbWU9Im9wYzpCeXRlU3Ry -aW5nIiBMZW5ndGhGaWVsZD0iTm9PZkV2ZW50SWRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw -ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlVcGRhdGVSZXN1bHQiIEJh +IE5hbWU9IkluZGV4UmFuZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNpbXBsZUF0dHJpYnV0 +ZU9wZXJhbmQiIEJhc2VUeXBlPSJ0bnM6RmlsdGVyT3BlcmFuZCI+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJUeXBlRGVmaW5pdGlvbklkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9PZkJyb3dzZVBhdGgiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJCcm93c2VQYXRoIiBUeXBlTmFtZT0idWE6UXVhbGlmaWVkTmFtZSIg +TGVuZ3RoRmllbGQ9Ik5vT2ZCcm93c2VQYXRoIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXR0 +cmlidXRlSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +SW5kZXhSYW5nZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ29udGVudEZpbHRlckVsZW1lbnRS +ZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb09mT3BlcmFuZFN0YXR1c0NvZGVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iT3BlcmFuZFN0YXR1c0NvZGVzIiBUeXBlTmFtZT0idWE6U3Rh +dHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZPcGVyYW5kU3RhdHVzQ29kZXMiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOb09mT3BlcmFuZERpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJ +bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik9wZXJhbmREaWFnbm9zdGljSW5mb3MiIFR5 +cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZPcGVyYW5kRGlhZ25v +c3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy +ZWRUeXBlIE5hbWU9IkNvbnRlbnRGaWx0ZXJSZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P +YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkVsZW1lbnRSZXN1bHRzIiBUeXBlTmFt +ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRWxlbWVudFJlc3VsdHMiIFR5 +cGVOYW1lPSJ0bnM6Q29udGVudEZpbHRlckVsZW1lbnRSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09m +RWxlbWVudFJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRWxlbWVudERpYWdu +b3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkVsZW1lbnREaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVu +Z3RoRmllbGQ9Ik5vT2ZFbGVtZW50RGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlBhcnNpbmdSZXN1bHQiIEJh c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVz Q29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO -b09mT3BlcmF0aW9uUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik9wZXJhdGlvblJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5n -dGhGaWVsZD0iTm9PZk9wZXJhdGlvblJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO +b09mRGF0YVN0YXR1c0NvZGVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iRGF0YVN0YXR1c0NvZGVzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3Ro +RmllbGQ9Ik5vT2ZEYXRhU3RhdHVzQ29kZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m +RGF0YURpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkRhdGFEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5m +byIgTGVuZ3RoRmllbGQ9Ik5vT2ZEYXRhRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlF1ZXJ5Rmlyc3RSZXF1 +ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlZpZXciIFR5cGVOYW1lPSJ0bnM6Vmlld0Rlc2NyaXB0aW9uIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVUeXBlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVUeXBlcyIgVHlwZU5hbWU9InRuczpOb2RlVHlwZURl +c2NyaXB0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZk5vZGVUeXBlcyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkZpbHRlciIgVHlwZU5hbWU9InRuczpDb250ZW50RmlsdGVyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTWF4RGF0YVNldHNUb1JldHVybiIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhSZWZlcmVuY2VzVG9SZXR1cm4iIFR5cGVOYW1lPSJv +cGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy +ZWRUeXBlIE5hbWU9IlF1ZXJ5Rmlyc3RSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRu +czpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZRdWVyeURhdGFT +ZXRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVlcnlE +YXRhU2V0cyIgVHlwZU5hbWU9InRuczpRdWVyeURhdGFTZXQiIExlbmd0aEZpZWxkPSJOb09mUXVl +cnlEYXRhU2V0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiBU +eXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUGFy +c2luZ1Jlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJQYXJzaW5nUmVzdWx0cyIgVHlwZU5hbWU9InRuczpQYXJzaW5nUmVzdWx0IiBMZW5ndGhGaWVs +ZD0iTm9PZlBhcnNpbmdSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdu +b3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVs +ZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRlclJl +c3VsdCIgVHlwZU5hbWU9InRuczpDb250ZW50RmlsdGVyUmVzdWx0IiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlF1ZXJ5TmV4dFJlcXVl +c3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +UmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iUmVsZWFzZUNvbnRpbnVhdGlvblBvaW50IiBUeXBlTmFtZT0ib3BjOkJvb2xl +YW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDb250aW51YXRpb25Qb2ludCIgVHlwZU5hbWU9 +Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9IlF1ZXJ5TmV4dFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5z +aW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFt +ZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlF1ZXJ5 +RGF0YVNldHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJR +dWVyeURhdGFTZXRzIiBUeXBlTmFtZT0idG5zOlF1ZXJ5RGF0YVNldCIgTGVuZ3RoRmllbGQ9Ik5v +T2ZRdWVyeURhdGFTZXRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZENvbnRpbnVh +dGlvblBvaW50IiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iVGltZXN0YW1wc1RvUmV0dXJu +IiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTb3Vy +Y2UiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlNlcnZlciIg +VmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQm90aCIgVmFsdWU9 +IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTmVpdGhlciIgVmFsdWU9IjMi +IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iSW52YWxpZCIgVmFsdWU9IjQiIC8+ +DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i +UmVhZFZhbHVlSWQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iQXR0cmlidXRlSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iSW5kZXhSYW5nZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJEYXRhRW5jb2RpbmciIFR5cGVOYW1lPSJ1YTpRdWFsaWZpZWROYW1lIiAvPg0K +ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJl +YWRSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik1heEFnZSIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iIFR5cGVOYW1lPSJ0bnM6VGltZXN0 +YW1wc1RvUmV0dXJuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk5vZGVzVG9SZWFkIiBU +eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZXNUb1JlYWQi +IFR5cGVOYW1lPSJ0bnM6UmVhZFZhbHVlSWQiIExlbmd0aEZpZWxkPSJOb09mTm9kZXNUb1JlYWQi +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt +ZT0iUmVhZFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6RGF0YVZh +bHVlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO b09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExl bmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw -ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlVcGRhdGVSZXF1ZXN0IiBC +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlSZWFkVmFsdWVJZCIgQmFz +ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2RlSWQi +IFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbmRleFJhbmdl +IiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRhdGFFbmNv +ZGluZyIgVHlwZU5hbWU9InVhOlF1YWxpZmllZE5hbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJDb250aW51YXRpb25Qb2ludCIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiAvPg0KICA8L29w +YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlS +ZWFkUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iQ29udGludWF0aW9uUG9pbnQiIFR5cGVOYW1lPSJvcGM6Qnl0ZVN0cmluZyIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikhpc3RvcnlEYXRhIiBUeXBlTmFtZT0idWE6RXh0ZW5z +aW9uT2JqZWN0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy +ZWRUeXBlIE5hbWU9Ikhpc3RvcnlSZWFkRGV0YWlscyIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iUmVhZEV2ZW50RGV0YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5UmVhZERldGFpbHMi +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTnVtVmFsdWVzUGVyTm9kZSIgVHlwZU5hbWU9Im9wYzpV +SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGFydFRpbWUiIFR5cGVOYW1lPSJvcGM6 +RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRUaW1lIiBUeXBlTmFtZT0ib3Bj +OkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRmlsdGVyIiBUeXBlTmFtZT0idG5z +OkV2ZW50RmlsdGVyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj +dHVyZWRUeXBlIE5hbWU9IlJlYWRSYXdNb2RpZmllZERldGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlz +dG9yeVJlYWREZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklzUmVhZE1vZGlmaWVkIiBU +eXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGFydFRpbWUi +IFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmRUaW1l +IiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTnVtVmFs +dWVzUGVyTm9kZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJSZXR1cm5Cb3VuZHMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0 +dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSZWFkUHJvY2Vzc2VkRGV0 +YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5UmVhZERldGFpbHMiPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iU3RhcnRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iRW5kVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlByb2Nlc3NpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQWdncmVnYXRlVHlwZSIgVHlwZU5hbWU9Im9wYzpJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFnZ3JlZ2F0ZVR5cGUiIFR5cGVOYW1lPSJ1YTpO +b2RlSWQiIExlbmd0aEZpZWxkPSJOb09mQWdncmVnYXRlVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIFR5cGVOYW1lPSJ0bnM6QWdncmVnYXRlQ29u +ZmlndXJhdGlvbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 +cmVkVHlwZSBOYW1lPSJSZWFkQXRUaW1lRGV0YWlscyIgQmFzZVR5cGU9InRuczpIaXN0b3J5UmVh +ZERldGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlcVRpbWVzIiBUeXBlTmFtZT0i +b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxVGltZXMiIFR5cGVOYW1lPSJv +cGM6RGF0ZVRpbWUiIExlbmd0aEZpZWxkPSJOb09mUmVxVGltZXMiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJVc2VTaW1wbGVCb3VuZHMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9v +cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJIaXN0b3J5 +RGF0YSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mRGF0YVZhbHVlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkRhdGFWYWx1ZXMiIFR5cGVOYW1lPSJ1YTpEYXRhVmFsdWUiIExlbmd0aEZpZWxkPSJO +b09mRGF0YVZhbHVlcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 +Y3R1cmVkVHlwZSBOYW1lPSJNb2RpZmljYXRpb25JbmZvIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u +T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vZGlmaWNhdGlvblRpbWUiIFR5cGVOYW1l +PSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVcGRhdGVUeXBlIiBUeXBl +TmFtZT0idG5zOkhpc3RvcnlVcGRhdGVUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNl +ck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N +Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlNb2RpZmllZERhdGEiIEJhc2VU +eXBlPSJ0bnM6SGlzdG9yeURhdGEiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRhdGFWYWx1 +ZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhVmFs +dWVzIiBUeXBlTmFtZT0idWE6RGF0YVZhbHVlIiBMZW5ndGhGaWVsZD0iTm9PZkRhdGFWYWx1ZXMi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTW9kaWZpY2F0aW9uSW5mb3MiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb2RpZmljYXRpb25JbmZvcyIg +VHlwZU5hbWU9InRuczpNb2RpZmljYXRpb25JbmZvIiBMZW5ndGhGaWVsZD0iTm9PZk1vZGlmaWNh +dGlvbkluZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy +ZWRUeXBlIE5hbWU9Ikhpc3RvcnlFdmVudCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRXZlbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnRzIiBUeXBlTmFtZT0idG5zOkhpc3RvcnlFdmVu +dEZpZWxkTGlzdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZFdmVudHMiIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeVJlYWRSZXF1ZXN0 +IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl +cXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ikhpc3RvcnlSZWFkRGV0YWlscyIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVj +dCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRpbWVzdGFtcHNUb1JldHVybiIgVHlwZU5hbWU9 +InRuczpUaW1lc3RhbXBzVG9SZXR1cm4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWxlYXNl +Q29udGludWF0aW9uUG9pbnRzIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJOb09mTm9kZXNUb1JlYWQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJOb2Rlc1RvUmVhZCIgVHlwZU5hbWU9InRuczpIaXN0b3J5UmVhZFZh +bHVlSWQiIExlbmd0aEZpZWxkPSJOb09mTm9kZXNUb1JlYWQiIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeVJlYWRSZXNwb25z +ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJS +ZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InRuczpIaXN0b3J5UmVhZFJlc3VsdCIg +TGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRp +YWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhG +aWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJXcml0ZVZhbHVlIiBCYXNlVHlwZT0idWE6RXh0 +ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVh +Ok5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF0dHJpYnV0ZUlkIiBUeXBlTmFtZT0i +b3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkluZGV4UmFuZ2UiIFR5cGVOYW1l +PSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVmFsdWUiIFR5cGVOYW1lPSJ1 +YTpEYXRhVmFsdWUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 +dXJlZFR5cGUgTmFtZT0iV3JpdGVSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVx +dWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOb2Rlc1RvV3JpdGUiIFR5 +cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb2Rlc1RvV3JpdGUi +IFR5cGVOYW1lPSJ0bnM6V3JpdGVWYWx1ZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb2Rlc1RvV3JpdGUi +IC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFt +ZT0iV3JpdGVSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRl +ciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1 +c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIg +TGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU +eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iSGlzdG9yeVVwZGF0ZURldGFpbHMi +IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9k +ZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K +ICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9Ikhpc3RvcnlVcGRhdGVUeXBlIiBMZW5ndGhJbkJp +dHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJJbnNlcnQiIFZhbHVlPSIx +IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlcGxhY2UiIFZhbHVlPSIyIiAv +Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVwZGF0ZSIgVmFsdWU9IjMiIC8+DQog +ICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRGVsZXRlIiBWYWx1ZT0iNCIgLz4NCiAgPC9v +cGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJQZXJmb3Jt +VXBkYXRlVHlwZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUg +TmFtZT0iSW5zZXJ0IiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1l +PSJSZXBsYWNlIiBWYWx1ZT0iMiIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJV +cGRhdGUiIFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlbW92 +ZSIgVmFsdWU9IjQiIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 +dXJlZFR5cGUgTmFtZT0iVXBkYXRlRGF0YURldGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVVw +ZGF0ZURldGFpbHMiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6 +Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJQZXJmb3JtSW5zZXJ0UmVwbGFjZSIgVHlwZU5hbWU9InRuczpQZXJmb3Jt +VXBkYXRlVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZVcGRhdGVWYWx1ZXMiIFR5 +cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVcGRhdGVWYWx1ZXMi +IFR5cGVOYW1lPSJ1YTpEYXRhVmFsdWUiIExlbmd0aEZpZWxkPSJOb09mVXBkYXRlVmFsdWVzIiAv +Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 +IlVwZGF0ZVN0cnVjdHVyZURhdGFEZXRhaWxzIiBCYXNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVE +ZXRhaWxzIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vZGVJZCIgVHlwZU5hbWU9InVhOk5vZGVJ +ZCIgU291cmNlVHlwZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iUGVyZm9ybUluc2VydFJlcGxhY2UiIFR5cGVOYW1lPSJ0bnM6UGVyZm9ybVVwZGF0 +ZVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mVXBkYXRlVmFsdWVzIiBUeXBlTmFt +ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXBkYXRlVmFsdWVzIiBUeXBl +TmFtZT0idWE6RGF0YVZhbHVlIiBMZW5ndGhGaWVsZD0iTm9PZlVwZGF0ZVZhbHVlcyIgLz4NCiAg +PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJVcGRh +dGVFdmVudERldGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBl +PSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQZXJm +b3JtSW5zZXJ0UmVwbGFjZSIgVHlwZU5hbWU9InRuczpQZXJmb3JtVXBkYXRlVHlwZSIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRlciIgVHlwZU5hbWU9InRuczpFdmVudEZpbHRlciIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZFdmVudERhdGEiIFR5cGVOYW1lPSJvcGM6SW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVudERhdGEiIFR5cGVOYW1lPSJ0bnM6SGlzdG9y +eUV2ZW50RmllbGRMaXN0IiBMZW5ndGhGaWVsZD0iTm9PZkV2ZW50RGF0YSIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVSYXdN +b2RpZmllZERldGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBl +PSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJc0Rl +bGV0ZU1vZGlmaWVkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJTdGFydFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJFbmRUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZUF0VGltZURl +dGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBlPSJ0bnM6SGlz +dG9yeVVwZGF0ZURldGFpbHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVxVGltZXMi +IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXFUaW1lcyIg +VHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXFUaW1lcyIgLz4NCiAg +PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxl +dGVFdmVudERldGFpbHMiIEJhc2VUeXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTm9kZUlkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiBTb3VyY2VUeXBl +PSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m +RXZlbnRJZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJF +dmVudElkcyIgVHlwZU5hbWU9Im9wYzpCeXRlU3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZkV2ZW50 +SWRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl +IE5hbWU9Ikhpc3RvcnlVcGRhdGVSZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzQ29kZSIgVHlwZU5hbWU9InVhOlN0YXR1c0Nv +ZGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mT3BlcmF0aW9uUmVzdWx0cyIgVHlwZU5h +bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik9wZXJhdGlvblJlc3VsdHMi +IFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZk9wZXJhdGlvblJlc3Vs +dHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFt +ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBU +eXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0lu +Zm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl +IE5hbWU9Ikhpc3RvcnlVcGRhdGVSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVx +dWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZIaXN0b3J5VXBkYXRlRGV0 +YWlscyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikhpc3Rv +cnlVcGRhdGVEZXRhaWxzIiBUeXBlTmFtZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBMZW5ndGhGaWVs +ZD0iTm9PZkhpc3RvcnlVcGRhdGVEZXRhaWxzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N +Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlVcGRhdGVSZXNwb25zZSIgQmFz +ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25z +ZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InRuczpIaXN0b3J5VXBkYXRlUmVzdWx0IiBMZW5n +dGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25v +c3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +RGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxk +PSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 +b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNhbGxNZXRob2RSZXF1ZXN0IiBCYXNlVHlwZT0idWE6 +RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik9iamVjdElkIiBUeXBlTmFt +ZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWV0aG9kSWQiIFR5cGVOYW1l +PSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mSW5wdXRBcmd1bWVudHMi +IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbnB1dEFyZ3Vt +ZW50cyIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIExlbmd0aEZpZWxkPSJOb09mSW5wdXRBcmd1bWVu +dHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iQ2FsbE1ldGhvZFJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZJbnB1dEFyZ3VtZW50UmVzdWx0cyIgVHlwZU5h +bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IklucHV0QXJndW1lbnRSZXN1 +bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZJbnB1dEFyZ3Vt +ZW50UmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZJbnB1dEFyZ3VtZW50RGlh +Z25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iSW5wdXRBcmd1bWVudERpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJ +bmZvIiBMZW5ndGhGaWVsZD0iTm9PZklucHV0QXJndW1lbnREaWFnbm9zdGljSW5mb3MiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mT3V0cHV0QXJndW1lbnRzIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iT3V0cHV0QXJndW1lbnRzIiBUeXBlTmFtZT0i +dWE6VmFyaWFudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZPdXRwdXRBcmd1bWVudHMiIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ2FsbFJlcXVl +c3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +UmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9PZk1ldGhvZHNUb0NhbGwiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJNZXRob2RzVG9DYWxsIiBUeXBlTmFtZT0idG5zOkNhbGxNZXRo +b2RSZXF1ZXN0IiBMZW5ndGhGaWVsZD0iTm9PZk1ldGhvZHNUb0NhbGwiIC8+DQogIDwvb3BjOlN0 +cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ2FsbFJlc3BvbnNl +IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl +c3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idG5zOkNhbGxNZXRob2RSZXN1bHQiIExl +bmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFn +bm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmll +bGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog +IDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iTW9uaXRvcmluZ01vZGUiIExlbmd0aEluQml0cz0i +MzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRpc2FibGVkIiBWYWx1ZT0iMCIg +Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTYW1wbGluZyIgVmFsdWU9IjEiIC8+ +DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVwb3J0aW5nIiBWYWx1ZT0iMiIgLz4N +CiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJE +YXRhQ2hhbmdlVHJpZ2dlciIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVk +VmFsdWUgTmFtZT0iU3RhdHVzIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1 +ZSBOYW1lPSJTdGF0dXNWYWx1ZSIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFs +dWUgTmFtZT0iU3RhdHVzVmFsdWVUaW1lc3RhbXAiIFZhbHVlPSIyIiAvPg0KICA8L29wYzpFbnVt +ZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkRlYWRiYW5kVHlwZSIg +TGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIg +VmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iQWJzb2x1dGUiIFZh +bHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlBlcmNlbnQiIFZhbHVl +PSIyIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl +IE5hbWU9Ik1vbml0b3JpbmdGaWx0ZXIiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K +ICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRh +dGFDaGFuZ2VGaWx0ZXIiIEJhc2VUeXBlPSJ0bnM6TW9uaXRvcmluZ0ZpbHRlciI+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJUcmlnZ2VyIiBUeXBlTmFtZT0idG5zOkRhdGFDaGFuZ2VUcmlnZ2VyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVhZGJhbmRUeXBlIiBUeXBlTmFtZT0ib3BjOlVJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlYWRiYW5kVmFsdWUiIFR5cGVOYW1lPSJvcGM6 +RG91YmxlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU +eXBlIE5hbWU9IkV2ZW50RmlsdGVyIiBCYXNlVHlwZT0idG5zOk1vbml0b3JpbmdGaWx0ZXIiPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlbGVjdENsYXVzZXMiIFR5cGVOYW1lPSJvcGM6SW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWxlY3RDbGF1c2VzIiBUeXBlTmFtZT0idG5z +OlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIExlbmd0aEZpZWxkPSJOb09mU2VsZWN0Q2xhdXNlcyIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldoZXJlQ2xhdXNlIiBUeXBlTmFtZT0idG5zOkNvbnRl +bnRGaWx0ZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl +ZFR5cGUgTmFtZT0iQWdncmVnYXRlQ29uZmlndXJhdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lv +bk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJVc2VTZXJ2ZXJDYXBhYmlsaXRpZXNEZWZh +dWx0cyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJl +YXRVbmNlcnRhaW5Bc0JhZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iUGVyY2VudERhdGFCYWQiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlBlcmNlbnREYXRhR29vZCIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iVXNlU2xvcGVkRXh0cmFwb2xhdGlvbiIgVHlwZU5hbWU9Im9wYzpC +b29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU +eXBlIE5hbWU9IkFnZ3JlZ2F0ZUZpbHRlciIgQmFzZVR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVy +Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXJ0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGlt +ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFnZ3JlZ2F0ZVR5cGUiIFR5cGVOYW1lPSJ1YTpO +b2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcm9jZXNzaW5nSW50ZXJ2YWwiIFR5cGVO +YW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWdncmVnYXRlQ29uZmln +dXJhdGlvbiIgVHlwZU5hbWU9InRuczpBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiAvPg0KICA8L29w +YzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vbml0b3Jp +bmdGaWx0ZXJSZXN1bHQiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkV2ZW50RmlsdGVy +UmVzdWx0IiBCYXNlVHlwZT0idG5zOk1vbml0b3JpbmdGaWx0ZXJSZXN1bHQiPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9PZlNlbGVjdENsYXVzZVJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWxlY3RDbGF1c2VSZXN1bHRzIiBUeXBlTmFtZT0i +dWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZTZWxlY3RDbGF1c2VSZXN1bHRzIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlbGVjdENsYXVzZURpYWdub3N0aWNJbmZvcyIgVHlw +ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlbGVjdENsYXVzZURp +YWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0i +Tm9PZlNlbGVjdENsYXVzZURpYWdub3N0aWNJbmZvcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IldoZXJlQ2xhdXNlUmVzdWx0IiBUeXBlTmFtZT0idG5zOkNvbnRlbnRGaWx0ZXJSZXN1bHQiIC8+ +DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i +QWdncmVnYXRlRmlsdGVyUmVzdWx0IiBCYXNlVHlwZT0idG5zOk1vbml0b3JpbmdGaWx0ZXJSZXN1 +bHQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZFN0YXJ0VGltZSIgVHlwZU5hbWU9Im9w +YzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRQcm9jZXNzaW5nSW50 +ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2 +aXNlZEFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIFR5cGVOYW1lPSJ0bnM6QWdncmVnYXRlQ29uZmln +dXJhdGlvbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk +VHlwZSBOYW1lPSJNb25pdG9yaW5nUGFyYW1ldGVycyIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnRIYW5kbGUiIFR5cGVOYW1lPSJvcGM6 +VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2FtcGxpbmdJbnRlcnZhbCIgVHlwZU5h +bWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXIiIFR5cGVOYW1l +PSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJRdWV1ZVNpemUi +IFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY2FyZE9s +ZGVzdCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4N +Cg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0 +IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikl0 +ZW1Ub01vbml0b3IiIFR5cGVOYW1lPSJ0bnM6UmVhZFZhbHVlSWQiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJNb25pdG9yaW5nTW9kZSIgVHlwZU5hbWU9InRuczpNb25pdG9yaW5nTW9kZSIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZFBhcmFtZXRlcnMiIFR5cGVOYW1lPSJ0bnM6 +TW9uaXRvcmluZ1BhcmFtZXRlcnMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv +cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9uaXRvcmVkSXRlbUNyZWF0ZVJlc3VsdCIgQmFzZVR5 +cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2Rl +IiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0 +b3JlZEl0ZW1JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJSZXZpc2VkU2FtcGxpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkUXVldWVTaXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRlclJlc3VsdCIgVHlwZU5hbWU9InVhOkV4dGVu +c2lvbk9iamVjdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 +cmVkVHlwZSBOYW1lPSJDcmVhdGVNb25pdG9yZWRJdGVtc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpF +eHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlw +ZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2Ny +aXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +VGltZXN0YW1wc1RvUmV0dXJuIiBUeXBlTmFtZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZJdGVtc1RvQ3JlYXRlIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSXRlbXNUb0NyZWF0ZSIgVHlwZU5hbWU9InRu +czpNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZJdGVtc1RvQ3Jl +YXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBl +IE5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp +b25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1l +PSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0 +cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMi +IFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmVkSXRlbUNyZWF0ZVJlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5v +T2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIg +VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJ +bmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdu +b3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 +cmVkVHlwZSBOYW1lPSJNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4 +dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb25pdG9yZWRJdGVtSWQiIFR5 +cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkUGFy +YW1ldGVycyIgVHlwZU5hbWU9InRuczpNb25pdG9yaW5nUGFyYW1ldGVycyIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb25pdG9yZWRJ +dGVtTW9kaWZ5UmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZFNhbXBsaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6 +RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZFF1ZXVlU2l6ZSIgVHlwZU5h +bWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJGaWx0ZXJSZXN1bHQiIFR5 +cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K +DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXF1ZXN0 +IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl +cXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlRpbWVzdGFtcHNUb1JldHVybiIgVHlwZU5hbWU9InRuczpUaW1lc3Rh +bXBzVG9SZXR1cm4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mSXRlbXNUb01vZGlmeSIg +VHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikl0ZW1zVG9Nb2Rp +ZnkiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVlc3QiIExlbmd0aEZpZWxk +PSJOb09mSXRlbXNUb01vZGlmeSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w +YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb2RpZnlNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiBCYXNl +VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNl +SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idG5zOk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQi +IExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZE +aWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3Ro +RmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0K +DQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2V0TW9uaXRvcmluZ01vZGVSZXF1ZXN0IiBC YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVl c3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vT2ZIaXN0b3J5VXBkYXRlRGV0YWlscyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ikhpc3RvcnlVcGRhdGVEZXRhaWxzIiBUeXBlTmFtZT0idWE6 -RXh0ZW5zaW9uT2JqZWN0IiBMZW5ndGhGaWVsZD0iTm9PZkhpc3RvcnlVcGRhdGVEZXRhaWxzIiAv +IE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik1vbml0b3JpbmdNb2RlIiBUeXBlTmFtZT0idG5zOk1vbml0b3JpbmdNb2Rl +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk1vbml0b3JlZEl0ZW1JZHMiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb25pdG9yZWRJdGVtSWRzIiBU +eXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZNb25pdG9yZWRJdGVtSWRzIiAv Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -Ikhpc3RvcnlVcGRhdGVSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25z -ZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0i -b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InRu -czpIaXN0b3J5VXBkYXRlUmVzdWx0IiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6 -RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8 -L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNhbGxN -ZXRob2RSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ik9iamVjdElkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTWV0aG9kSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOb09mSW5wdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJJbnB1dEFyZ3VtZW50cyIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIExl -bmd0aEZpZWxkPSJOb09mSW5wdXRBcmd1bWVudHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl -Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ2FsbE1ldGhvZFJlc3VsdCIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2Rl -IiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZJ -bnB1dEFyZ3VtZW50UmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IklucHV0QXJndW1lbnRSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIg -TGVuZ3RoRmllbGQ9Ik5vT2ZJbnB1dEFyZ3VtZW50UmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vT2ZJbnB1dEFyZ3VtZW50RGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOklu -dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW5wdXRBcmd1bWVudERpYWdub3N0aWNJbmZv -cyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZklucHV0QXJn -dW1lbnREaWFnbm9zdGljSW5mb3MiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mT3V0cHV0 -QXJndW1lbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -T3V0cHV0QXJndW1lbnRzIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZP -dXRwdXRBcmd1bWVudHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry -dWN0dXJlZFR5cGUgTmFtZT0iQ2FsbFJlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmpl -Y3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpS -ZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZk1ldGhvZHNUb0NhbGwi -IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNZXRob2RzVG9D -YWxsIiBUeXBlTmFtZT0idG5zOkNhbGxNZXRob2RSZXF1ZXN0IiBMZW5ndGhGaWVsZD0iTm9PZk1l -dGhvZHNUb0NhbGwiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 -dXJlZFR5cGUgTmFtZT0iQ2FsbFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 -Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJl -c3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVO -YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFt -ZT0idG5zOkNhbGxNZXRob2RSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAg +IlNldE1vbml0b3JpbmdNb2RlUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVz +cG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5h +bWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1l +PSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25v +c3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNldFRyaWdnZXJp +bmdSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyaWdnZXJpbmdJdGVtSWQiIFR5cGVOYW1lPSJvcGM6 +VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxpbmtzVG9BZGQiIFR5cGVOYW1l +PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMaW5rc1RvQWRkIiBUeXBlTmFt +ZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZMaW5rc1RvQWRkIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9PZkxpbmtzVG9SZW1vdmUiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJMaW5rc1RvUmVtb3ZlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg +TGVuZ3RoRmllbGQ9Ik5vT2ZMaW5rc1RvUmVtb3ZlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNldFRyaWdnZXJpbmdSZXNwb25zZSIg +QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNw +b25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9Ik5vT2ZBZGRSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iQWRkUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0 +aEZpZWxkPSJOb09mQWRkUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBZGRE +aWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJBZGREaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVu +Z3RoRmllbGQ9Ik5vT2ZBZGREaWFnbm9zdGljSW5mb3MiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJOb09mUmVtb3ZlUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlJlbW92ZVJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhG +aWVsZD0iTm9PZlJlbW92ZVJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVt +b3ZlRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iUmVtb3ZlRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0lu +Zm8iIExlbmd0aEZpZWxkPSJOb09mUmVtb3ZlRGlhZ25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRlbGV0ZU1vbml0 +b3JlZEl0ZW1zUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpV +SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTW9uaXRvcmVkSXRlbUlkcyIgVHlw +ZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3JlZEl0ZW1J +ZHMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5ndGhGaWVsZD0iTm9PZk1vbml0b3JlZEl0ZW1J +ZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iRGVsZXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lv +bk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9 +InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRz +IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIg +VHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAg ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50 MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1 YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iTW9u -aXRvcmluZ01vZGUiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9IkRpc2FibGVkIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBO -YW1lPSJTYW1wbGluZyIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFt -ZT0iUmVwb3J0aW5nIiBWYWx1ZT0iMiIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAg -PG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJEYXRhQ2hhbmdlVHJpZ2dlciIgTGVuZ3RoSW5CaXRz -PSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3RhdHVzIiBWYWx1ZT0iMCIg -Lz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJTdGF0dXNWYWx1ZSIgVmFsdWU9IjEi -IC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU3RhdHVzVmFsdWVUaW1lc3RhbXAi -IFZhbHVlPSIyIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0 -ZWRUeXBlIE5hbWU9IkRlYWRiYW5kVHlwZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpF -bnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9uZSIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJh -dGVkVmFsdWUgTmFtZT0iQWJzb2x1dGUiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRl -ZFZhbHVlIE5hbWU9IlBlcmNlbnQiIFZhbHVlPSIyIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlw -ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vbml0b3JpbmdGaWx0ZXIiIEJhc2VU -eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 -b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFDaGFuZ2VGaWx0ZXIiIEJhc2VUeXBlPSJ0bnM6 -TW9uaXRvcmluZ0ZpbHRlciI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmlnZ2VyIiBUeXBlTmFt -ZT0idG5zOkRhdGFDaGFuZ2VUcmlnZ2VyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVhZGJh -bmRUeXBlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRl -YWRiYW5kVmFsdWUiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkV2ZW50RmlsdGVyIiBCYXNlVHlw -ZT0idG5zOk1vbml0b3JpbmdGaWx0ZXIiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlbGVj -dENsYXVzZXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT -ZWxlY3RDbGF1c2VzIiBUeXBlTmFtZT0idG5zOlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIExlbmd0 -aEZpZWxkPSJOb09mU2VsZWN0Q2xhdXNlcyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldoZXJl -Q2xhdXNlIiBUeXBlTmFtZT0idG5zOkNvbnRlbnRGaWx0ZXIiIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWdncmVnYXRlQ29uZmlndXJh -dGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJVc2VTZXJ2ZXJDYXBhYmlsaXRpZXNEZWZhdWx0cyIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJlYXRVbmNlcnRhaW5Bc0JhZCIgVHlwZU5hbWU9Im9w -YzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUGVyY2VudERhdGFCYWQiIFR5cGVO -YW1lPSJvcGM6Qnl0ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlBlcmNlbnREYXRhR29vZCIg -VHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlU2xvcGVkRXh0 -cmFwb2xhdGlvbiIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVk -VHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkFnZ3JlZ2F0ZUZpbHRlciIgQmFz -ZVR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVyIj4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXJ0 -VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFn -Z3JlZ2F0ZVR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJQcm9jZXNzaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iQWdncmVnYXRlQ29uZmlndXJhdGlvbiIgVHlwZU5hbWU9InRuczpBZ2dyZWdh -dGVDb25maWd1cmF0aW9uIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 -cnVjdHVyZWRUeXBlIE5hbWU9Ik1vbml0b3JpbmdGaWx0ZXJSZXN1bHQiIEJhc2VUeXBlPSJ1YTpF -eHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj -dHVyZWRUeXBlIE5hbWU9IkV2ZW50RmlsdGVyUmVzdWx0IiBCYXNlVHlwZT0idG5zOk1vbml0b3Jp -bmdGaWx0ZXJSZXN1bHQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlbGVjdENsYXVzZVJl -c3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWxl -Y3RDbGF1c2VSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5v -T2ZTZWxlY3RDbGF1c2VSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlNlbGVj -dENsYXVzZURpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlNlbGVjdENsYXVzZURpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRp -YWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZlNlbGVjdENsYXVzZURpYWdub3N0aWNJbmZv -cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldoZXJlQ2xhdXNlUmVzdWx0IiBUeXBlTmFtZT0i -dG5zOkNvbnRlbnRGaWx0ZXJSZXN1bHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog -IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQWdncmVnYXRlRmlsdGVyUmVzdWx0IiBCYXNlVHlw -ZT0idG5zOk1vbml0b3JpbmdGaWx0ZXJSZXN1bHQiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2 -aXNlZFN0YXJ0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IlJldmlzZWRQcm9jZXNzaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZEFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIFR5 -cGVOYW1lPSJ0bnM6QWdncmVnYXRlQ29uZmlndXJhdGlvbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJl -ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb25pdG9yaW5nUGFyYW1ldGVy -cyIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJD -bGllbnRIYW5kbGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iU2FtcGxpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJGaWx0ZXIiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJRdWV1ZVNpemUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iRGlzY2FyZE9sZGVzdCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAv -Pg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9 -Ik1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 -Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikl0ZW1Ub01vbml0b3IiIFR5cGVOYW1lPSJ0bnM6UmVh -ZFZhbHVlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb25pdG9yaW5nTW9kZSIgVHlwZU5h -bWU9InRuczpNb25pdG9yaW5nTW9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3Rl -ZFBhcmFtZXRlcnMiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmluZ1BhcmFtZXRlcnMiIC8+DQogIDwv -b3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9uaXRv -cmVkSXRlbUNyZWF0ZVJlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3JlZEl0ZW1JZCIgVHlwZU5hbWU9Im9wYzpVSW50 -MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkU2FtcGxpbmdJbnRlcnZhbCIgVHlw -ZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkUXVldWVT -aXplIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkZpbHRl -clJlc3VsdCIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgLz4NCiAgPC9vcGM6U3RydWN0 -dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDcmVhdGVNb25pdG9yZWRJ -dGVtc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiBUeXBlTmFtZT0i -dG5zOlRpbWVzdGFtcHNUb1JldHVybiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZJdGVt -c1RvQ3JlYXRlIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -SXRlbXNUb0NyZWF0ZSIgVHlwZU5hbWU9InRuczpNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIg -TGVuZ3RoRmllbGQ9Ik5vT2ZJdGVtc1RvQ3JlYXRlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw -ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zUmVz -cG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmVkSXRlbUNy -ZWF0ZVJlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJ -bmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0 -dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb25pdG9yZWRJdGVtTW9k -aWZ5UmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJNb25pdG9yZWRJdGVtSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkUGFyYW1ldGVycyIgVHlwZU5hbWU9InRuczpNb25pdG9y -aW5nUGFyYW1ldGVycyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 -Y3R1cmVkVHlwZSBOYW1lPSJNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0IiBCYXNlVHlwZT0idWE6 -RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVO -YW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZFNhbXBs -aW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iUmV2aXNlZFF1ZXVlU2l6ZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJGaWx0ZXJSZXN1bHQiIFR5cGVOYW1lPSJ1YTpFeHRlbnNpb25PYmplY3QiIC8+ -DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i -TW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 -Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVx -dWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBl -TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRpbWVzdGFtcHNUb1Jl -dHVybiIgVHlwZU5hbWU9InRuczpUaW1lc3RhbXBzVG9SZXR1cm4iIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOb09mSXRlbXNUb01vZGlmeSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ikl0ZW1zVG9Nb2RpZnkiIFR5cGVOYW1lPSJ0bnM6TW9uaXRvcmVkSXRl -bU1vZGlmeVJlcXVlc3QiIExlbmd0aEZpZWxkPSJOb09mSXRlbXNUb01vZGlmeSIgLz4NCiAgPC9v -cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb2RpZnlN -b25pdG9yZWRJdGVtc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNl -SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJv -cGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idG5z -Ok1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6 -SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1l -PSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+ -DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i -U2V0TW9uaXRvcmluZ01vZGVSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVz -dEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFt -ZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3JpbmdNb2RlIiBU -eXBlTmFtZT0idG5zOk1vbml0b3JpbmdNb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9P -Zk1vbml0b3JlZEl0ZW1JZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJNb25pdG9yZWRJdGVtSWRzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmll -bGQ9Ik5vT2ZNb25pdG9yZWRJdGVtSWRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0K -ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNldE1vbml0b3JpbmdNb2RlUmVzcG9uc2UiIEJh -c2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9u -c2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOb09mUmVzdWx0cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlJlc3VsdHMiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0i -Tm9PZlJlc3VsdHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRGlhZ25vc3RpY0luZm9z -IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlhZ25vc3Rp -Y0luZm9zIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mRGlh -Z25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj -dHVyZWRUeXBlIE5hbWU9IlNldFRyaWdnZXJpbmdSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5z -aW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1l -PSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlv -bklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyaWdn -ZXJpbmdJdGVtSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iTm9PZkxpbmtzVG9BZGQiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJMaW5rc1RvQWRkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5v -T2ZMaW5rc1RvQWRkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxpbmtzVG9SZW1vdmUi -IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMaW5rc1RvUmVt -b3ZlIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZMaW5rc1RvUmVtb3Zl -IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9IlNldFRyaWdnZXJpbmdSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNw -b25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBZGRSZXN1bHRzIiBUeXBl -TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWRkUmVzdWx0cyIgVHlw -ZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mQWRkUmVzdWx0cyIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBZGREaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6 -SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZGREaWFnbm9zdGljSW5mb3MiIFR5cGVO -YW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZBZGREaWFnbm9zdGljSW5m -b3MiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVtb3ZlUmVzdWx0cyIgVHlwZU5hbWU9 -Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlbW92ZVJlc3VsdHMiIFR5cGVO -YW1lPSJ1YTpTdGF0dXNDb2RlIiBMZW5ndGhGaWVsZD0iTm9PZlJlbW92ZVJlc3VsdHMiIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mUmVtb3ZlRGlhZ25vc3RpY0luZm9zIiBUeXBlTmFtZT0i -b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVtb3ZlRGlhZ25vc3RpY0luZm9z -IiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIExlbmd0aEZpZWxkPSJOb09mUmVtb3ZlRGlh -Z25vc3RpY0luZm9zIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj -dHVyZWRUeXBlIE5hbWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgQmFzZVR5cGU9InVh -OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBU -eXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJz -Y3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJOb09mTW9uaXRvcmVkSXRlbUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik1vbml0b3JlZEl0ZW1JZHMiIFR5cGVOYW1lPSJvcGM6VUludDMyIiBMZW5n -dGhGaWVsZD0iTm9PZk1vbml0b3JlZEl0ZW1JZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl -Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlTW9uaXRvcmVkSXRlbXNSZXNw -b25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0 -aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9z -dGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJE -aWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9 -Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxv -cGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ3JlYXRlU3Vic2NyaXB0aW9uUmVxdWVzdCIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVh -ZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJSZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdGVkTGlmZXRpbWVDb3VudCIgVHlwZU5hbWU9Im9w -YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRNYXhLZWVwQWxpdmVD -b3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhO -b3RpZmljYXRpb25zUGVyUHVibGlzaCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nRW5hYmxlZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJpb3JpdHkiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJD -cmVhdGVTdWJzY3JpcHRpb25SZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNw -b25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBl -TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRQdWJsaXNo -aW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iUmV2aXNlZExpZmV0aW1lQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iUmV2aXNlZE1heEtlZXBBbGl2ZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJ -bnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw -ZSBOYW1lPSJNb2RpZnlTdWJzY3JpcHRpb25SZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u -T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0 -bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklk -IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3Rl -ZFB1Ymxpc2hpbmdJbnRlcnZhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJSZXF1ZXN0ZWRMaWZldGltZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50IiBUeXBl -TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heE5vdGlmaWNhdGlv -bnNQZXJQdWJsaXNoIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlByaW9yaXR5IiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRU -eXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTW9kaWZ5U3Vic2NyaXB0aW9uUmVz -cG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkUHVibGlzaGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3Bj -OkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRMaWZldGltZUNvdW50IiBU -eXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRNYXhL -ZWVwQWxpdmVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2V0UHVibGlzaGluZ01vZGVS +IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iQ3Jl +YXRlU3Vic2NyaXB0aW9uUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RI +ZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2 +YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVz +dGVkTGlmZXRpbWVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaCIgVHlw +ZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoaW5nRW5h +YmxlZCIgVHlwZU5hbWU9Im9wYzpCb29sZWFuIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJp +b3JpdHkiIFR5cGVOYW1lPSJvcGM6Qnl0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJDcmVhdGVTdWJzY3JpcHRpb25SZXNwb25zZSIg +QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNw +b25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRQdWJsaXNoaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6 +RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZExpZmV0aW1lQ291bnQiIFR5 +cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmV2aXNlZE1heEtl +ZXBBbGl2ZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJl +ZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb2RpZnlTdWJzY3JpcHRpb25S ZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h bWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1lPSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hpbmdFbmFibGVkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4i -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU3Vic2NyaXB0aW9uSWRzIiBUeXBlTmFtZT0i -b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWRzIiBUeXBl -TmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZTdWJzY3JpcHRpb25JZHMiIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2V0 -UHVibGlzaGluZ01vZGVSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25z -ZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0i -b3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVh -OlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGlj -SW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVj -dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTm90aWZpY2F0aW9uTWVz -c2FnZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJTZXF1ZW5jZU51bWJlciIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJQdWJsaXNoVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vT2ZOb3RpZmljYXRpb25EYXRhIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm90aWZpY2F0aW9uRGF0YSIgVHlwZU5hbWU9InVhOkV4 -dGVuc2lvbk9iamVjdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZOb3RpZmljYXRpb25EYXRhIiAvPg0KICA8 -L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik5vdGlm -aWNhdGlvbkRhdGEiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkRhdGFDaGFuZ2VOb3Rp -ZmljYXRpb24iIEJhc2VUeXBlPSJ0bnM6Tm90aWZpY2F0aW9uRGF0YSI+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJOb09mTW9uaXRvcmVkSXRlbXMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJNb25pdG9yZWRJdGVtcyIgVHlwZU5hbWU9InRuczpNb25pdG9yZWRJ -dGVtTm90aWZpY2F0aW9uIiBMZW5ndGhGaWVsZD0iTm9PZk1vbml0b3JlZEl0ZW1zIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVh -OkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAg -PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb25p -dG9yZWRJdGVtTm90aWZpY2F0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudEhhbmRsZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9InVhOkRhdGFWYWx1ZSIgLz4N -CiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJF -dmVudE5vdGlmaWNhdGlvbkxpc3QiIEJhc2VUeXBlPSJ0bnM6Tm90aWZpY2F0aW9uRGF0YSI+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRXZlbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnRzIiBUeXBlTmFtZT0idG5zOkV2ZW50RmllbGRMaXN0 -IiBMZW5ndGhGaWVsZD0iTm9PZkV2ZW50cyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN -CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFdmVudEZpZWxkTGlzdCIgQmFzZVR5cGU9InVh -OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnRIYW5kbGUiIFR5 -cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkV2ZW50Rmll -bGRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnRG -aWVsZHMiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiBMZW5ndGhGaWVsZD0iTm9PZkV2ZW50RmllbGRz -IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9Ikhpc3RvcnlFdmVudEZpZWxkTGlzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRXZlbnRGaWVsZHMiIFR5cGVOYW1lPSJvcGM6SW50 -MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVudEZpZWxkcyIgVHlwZU5hbWU9InVhOlZh -cmlhbnQiIExlbmd0aEZpZWxkPSJOb09mRXZlbnRGaWVsZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3RhdHVzQ2hhbmdlTm90aWZp -Y2F0aW9uIiBCYXNlVHlwZT0idG5zOk5vdGlmaWNhdGlvbkRhdGEiPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iU3RhdHVzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9IkRpYWdub3N0aWNJbmZvIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3Vi -c2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlcXVlbmNlTnVtYmVyIiBUeXBlTmFtZT0ib3Bj -OlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVk -VHlwZSBOYW1lPSJQdWJsaXNoUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVl -c3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU3Vic2NyaXB0aW9uQWNrbm93 -bGVkZ2VtZW50cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudHMiIFR5cGVOYW1lPSJ0bnM6U3Vic2NyaXB0aW9u -QWNrbm93bGVkZ2VtZW50IiBMZW5ndGhGaWVsZD0iTm9PZlN1YnNjcmlwdGlvbkFja25vd2xlZGdl -bWVudHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 -cGUgTmFtZT0iUHVibGlzaFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3Bv -bnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWQiIFR5cGVO -YW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkF2YWlsYWJsZVNl -cXVlbmNlTnVtYmVycyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkF2YWlsYWJsZVNlcXVlbmNlTnVtYmVycyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0 -aEZpZWxkPSJOb09mQXZhaWxhYmxlU2VxdWVuY2VOdW1iZXJzIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTW9yZU5vdGlmaWNhdGlvbnMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9Ik5vdGlmaWNhdGlvbk1lc3NhZ2UiIFR5cGVOYW1lPSJ0bnM6Tm90aWZp -Y2F0aW9uTWVzc2FnZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBl -TmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5h -bWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFn -bm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3Bj -OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVwdWJsaXNo -UmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXRyYW5zbWl0U2VxdWVuY2VOdW1iZXIiIFR5cGVOYW1l -PSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj -dHVyZWRUeXBlIE5hbWU9IlJlcHVibGlzaFJlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u -T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0i -dG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm90aWZpY2F0aW9u -TWVzc2FnZSIgVHlwZU5hbWU9InRuczpOb3RpZmljYXRpb25NZXNzYWdlIiAvPg0KICA8L29wYzpT -dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRyYW5zZmVyUmVz -dWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 -IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpTdGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iTm9PZkF2YWlsYWJsZVNlcXVlbmNlTnVtYmVycyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF2YWlsYWJsZVNlcXVlbmNlTnVtYmVycyIgVHlwZU5h -bWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mQXZhaWxhYmxlU2VxdWVuY2VOdW1iZXJz -IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9IlRyYW5zZmVyU3Vic2NyaXB0aW9uc1JlcXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P -YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRu -czpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlN1YnNjcmlwdGlv -bklkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNj -cmlwdGlvbklkcyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mU3Vic2Ny -aXB0aW9uSWRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VuZEluaXRpYWxWYWx1ZXMiIFR5 -cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9w -YzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJUcmFuc2ZlclN1YnNjcmlwdGlvbnNSZXNwb25zZSIgQmFz -ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25z -ZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InRuczpUcmFuc2ZlclJlc3VsdCIgTGVuZ3RoRmll -bGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJ -bmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdu -b3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9P -ZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT -dHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVTdWJzY3JpcHRpb25zUmVxdWVzdCIgQmFzZVR5cGU9 -InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVy -IiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO +b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbCIgVHlwZU5h +bWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0ZWRMaWZldGlt +ZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJl +cXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoIiBUeXBlTmFtZT0ib3Bj +OlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByaW9yaXR5IiBUeXBlTmFtZT0ib3Bj +OkJ5dGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5 +cGUgTmFtZT0iTW9kaWZ5U3Vic2NyaXB0aW9uUmVzcG9uc2UiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp +b25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzcG9uc2VIZWFkZXIiIFR5cGVOYW1l +PSJ0bnM6UmVzcG9uc2VIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXZpc2VkUHVi +bGlzaGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlJldmlzZWRMaWZldGltZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlJldmlzZWRNYXhLZWVwQWxpdmVDb3VudCIgVHlwZU5hbWU9Im9w +YzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl +ZFR5cGUgTmFtZT0iU2V0UHVibGlzaGluZ01vZGVSZXF1ZXN0IiBCYXNlVHlwZT0idWE6RXh0ZW5z +aW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlcXVlc3RIZWFkZXIiIFR5cGVOYW1l +PSJ0bnM6UmVxdWVzdEhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlB1Ymxpc2hpbmdF +bmFibGVkIiBUeXBlTmFtZT0ib3BjOkJvb2xlYW4iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO b09mU3Vic2NyaXB0aW9uSWRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll bGQgTmFtZT0iU3Vic2NyaXB0aW9uSWRzIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmll bGQ9Ik5vT2ZTdWJzY3JpcHRpb25JZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog -IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRGVsZXRlU3Vic2NyaXB0aW9uc1Jlc3BvbnNlIiBC +IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2V0UHVibGlzaGluZ01vZGVSZXNwb25zZSIgQmFz +ZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25z +ZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZpZWxkPSJO +b09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGljSW5mb3Mi +IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFnbm9zdGlj +SW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5vT2ZEaWFn +bm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0 +dXJlZFR5cGUgTmFtZT0iTm90aWZpY2F0aW9uTWVzc2FnZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lv +bk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXF1ZW5jZU51bWJlciIgVHlwZU5hbWU9 +Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQdWJsaXNoVGltZSIgVHlwZU5h +bWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOb3RpZmljYXRp +b25EYXRhIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm90 +aWZpY2F0aW9uRGF0YSIgVHlwZU5hbWU9InVhOkV4dGVuc2lvbk9iamVjdCIgTGVuZ3RoRmllbGQ9 +Ik5vT2ZOb3RpZmljYXRpb25EYXRhIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8 +b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik5vdGlmaWNhdGlvbkRhdGEiIEJhc2VUeXBlPSJ1YTpF +eHRlbnNpb25PYmplY3QiPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj +dHVyZWRUeXBlIE5hbWU9IkRhdGFDaGFuZ2VOb3RpZmljYXRpb24iIEJhc2VUeXBlPSJ0bnM6Tm90 +aWZpY2F0aW9uRGF0YSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTW9uaXRvcmVkSXRlbXMi +IFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb25pdG9yZWRJ +dGVtcyIgVHlwZU5hbWU9InRuczpNb25pdG9yZWRJdGVtTm90aWZpY2F0aW9uIiBMZW5ndGhGaWVs +ZD0iTm9PZk1vbml0b3JlZEl0ZW1zIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdu +b3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVs +ZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAg +PG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJNb25pdG9yZWRJdGVtTm90aWZpY2F0aW9uIiBCYXNl +VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudEhh +bmRsZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1 +ZSIgVHlwZU5hbWU9InVhOkRhdGFWYWx1ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoN +CiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFdmVudE5vdGlmaWNhdGlvbkxpc3QiIEJhc2VU +eXBlPSJ0bnM6Tm90aWZpY2F0aW9uRGF0YSI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRXZl +bnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnRz +IiBUeXBlTmFtZT0idG5zOkV2ZW50RmllbGRMaXN0IiBMZW5ndGhGaWVsZD0iTm9PZkV2ZW50cyIg +Lz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1l +PSJFdmVudEZpZWxkTGlzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJDbGllbnRIYW5kbGUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTm9PZkV2ZW50RmllbGRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRXZlbnRGaWVsZHMiIFR5cGVOYW1lPSJ1YTpWYXJpYW50 +IiBMZW5ndGhGaWVsZD0iTm9PZkV2ZW50RmllbGRzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ikhpc3RvcnlFdmVudEZpZWxkTGlzdCIg +QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m +RXZlbnRGaWVsZHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJFdmVudEZpZWxkcyIgVHlwZU5hbWU9InVhOlZhcmlhbnQiIExlbmd0aEZpZWxkPSJOb09mRXZl +bnRGaWVsZHMiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl +ZFR5cGUgTmFtZT0iU3RhdHVzQ2hhbmdlTm90aWZpY2F0aW9uIiBCYXNlVHlwZT0idG5zOk5vdGlm +aWNhdGlvbkRhdGEiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3RhdHVzIiBUeXBlTmFtZT0idWE6 +U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvIiBUeXBl +TmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog +IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50IiBC +YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNj +cmlwdGlvbklkIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IlNlcXVlbmNlTnVtYmVyIiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0 +dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJQdWJsaXNoUmVxdWVzdCIg +QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1 +ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJOb09mU3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50cyIgVHlwZU5hbWU9Im9wYzpJ +bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVu +dHMiIFR5cGVOYW1lPSJ0bnM6U3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50IiBMZW5ndGhGaWVs +ZD0iTm9PZlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudHMiIC8+DQogIDwvb3BjOlN0cnVjdHVy +ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUHVibGlzaFJlc3BvbnNlIiBC YXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3Bv bnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9 -Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZv -cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0 -aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRp -YWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 -Y3R1cmVkVHlwZSBOYW1lPSJCdWlsZEluZm8iIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJvZHVjdFVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmci -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNYW51ZmFjdHVyZXJOYW1lIiBUeXBlTmFtZT0ib3Bj -OlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlByb2R1Y3ROYW1lIiBUeXBlTmFtZT0i -b3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNvZnR3YXJlVmVyc2lvbiIgVHlw -ZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCdWlsZE51bWJlciIg -VHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCdWlsZERhdGUi -IFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog -IDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iUmVkdW5kYW5jeVN1cHBvcnQiIExlbmd0aEluQml0 -cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAv -Pg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkNvbGQiIFZhbHVlPSIxIiAvPg0KICAg -IDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9Ildhcm0iIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6 -RW51bWVyYXRlZFZhbHVlIE5hbWU9IkhvdCIgVmFsdWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJh -dGVkVmFsdWUgTmFtZT0iVHJhbnNwYXJlbnQiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVy -YXRlZFZhbHVlIE5hbWU9IkhvdEFuZE1pcnJvcmVkIiBWYWx1ZT0iNSIgLz4NCiAgPC9vcGM6RW51 -bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVtZXJhdGVkVHlwZSBOYW1lPSJTZXJ2ZXJTdGF0ZSIg -TGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUnVubmlu -ZyIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iRmFpbGVkIiBW -YWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb0NvbmZpZ3VyYXRp -b24iIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN1c3BlbmRl -ZCIgVmFsdWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iU2h1dGRvd24i -IFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlRlc3QiIFZhbHVl -PSI1IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkNvbW11bmljYXRpb25GYXVs -dCIgVmFsdWU9IjYiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVW5rbm93biIg -VmFsdWU9IjciIC8+DQogIDwvb3BjOkVudW1lcmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl -ZFR5cGUgTmFtZT0iUmVkdW5kYW50U2VydmVyRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNp -b25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVySWQiIFR5cGVOYW1lPSJvcGM6 -U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmljZUxldmVsIiBUeXBlTmFtZT0i -b3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJTdGF0ZSIgVHlwZU5hbWU9 -InRuczpTZXJ2ZXJTdGF0ZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpT -dHJ1Y3R1cmVkVHlwZSBOYW1lPSJFbmRwb2ludFVybExpc3REYXRhVHlwZSIgQmFzZVR5cGU9InVh -OkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mRW5kcG9pbnRVcmxM -aXN0IiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kcG9p -bnRVcmxMaXN0IiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZFbmRwb2lu -dFVybExpc3QiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl -ZFR5cGUgTmFtZT0iTmV0d29ya0dyb3VwRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25P -YmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyVXJpIiBUeXBlTmFtZT0ib3BjOlN0 -cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZOZXR3b3JrUGF0aHMiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOZXR3b3JrUGF0aHMiIFR5cGVO -YW1lPSJ0bnM6RW5kcG9pbnRVcmxMaXN0RGF0YVR5cGUiIExlbmd0aEZpZWxkPSJOb09mTmV0d29y -a1BhdGhzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRU -eXBlIE5hbWU9IlNhbXBsaW5nSW50ZXJ2YWxEaWFnbm9zdGljc0RhdGFUeXBlIiBCYXNlVHlwZT0i -dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNhbXBsaW5nSW50ZXJ2 -YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRv -cmVkSXRlbUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ik1heE1vbml0b3JlZEl0ZW1Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJEaXNhYmxlZE1vbml0b3JlZEl0ZW1Db3VudCIgVHlwZU5hbWU9Im9w -YzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl -ZFR5cGUgTmFtZT0iU2VydmVyRGlhZ25vc3RpY3NTdW1tYXJ5RGF0YVR5cGUiIEJhc2VUeXBlPSJ1 -YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VydmVyVmlld0NvdW50 -IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1cnJlbnRT -ZXNzaW9uQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iQ3VtdWxhdGVkU2Vzc2lvbkNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5UmVqZWN0ZWRTZXNzaW9uQ291bnQiIFR5cGVOYW1lPSJv -cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVqZWN0ZWRTZXNzaW9uQ291bnQi -IFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvblRp -bWVvdXRDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJTZXNzaW9uQWJvcnRDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJDdXJyZW50U3Vic2NyaXB0aW9uQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMy -IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3VtdWxhdGVkU3Vic2NyaXB0aW9uQ291bnQiIFR5 -cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaGluZ0lu -dGVydmFsQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iU2VjdXJpdHlSZWplY3RlZFJlcXVlc3RzQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVqZWN0ZWRSZXF1ZXN0c0NvdW50IiBUeXBlTmFtZT0i -b3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJTZXJ2ZXJTdGF0dXNEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lv -bk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGFydFRpbWUiIFR5cGVOYW1lPSJvcGM6 -RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdXJyZW50VGltZSIgVHlwZU5hbWU9 -Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXRlIiBUeXBlTmFtZT0i -dG5zOlNlcnZlclN0YXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQnVpbGRJbmZvIiBUeXBl -TmFtZT0idG5zOkJ1aWxkSW5mbyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY29uZHNUaWxs -U2h1dGRvd24iIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -U2h1dGRvd25SZWFzb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICA8L29wYzpT -dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNlc3Npb25EaWFn -bm9zdGljc0RhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlNlc3Npb25OYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IkNsaWVudERlc2NyaXB0aW9uIiBUeXBlTmFtZT0idG5zOkFwcGxpY2F0 -aW9uRGVzY3JpcHRpb24iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXJ2ZXJVcmkiIFR5cGVO -YW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kcG9pbnRVcmwiIFR5 -cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxvY2FsZUlk -cyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsZUlk -cyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExlbmd0aEZpZWxkPSJOb09mTG9jYWxlSWRzIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iQWN0dWFsU2Vzc2lvblRpbWVvdXQiIFR5cGVOYW1lPSJvcGM6 -RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4UmVzcG9uc2VNZXNzYWdlU2l6ZSIg -VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnRDb25u -ZWN0aW9uVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IkNsaWVudExhc3RDb250YWN0VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IkN1cnJlbnRTdWJzY3JpcHRpb25zQ291bnQiIFR5cGVOYW1lPSJv -cGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3VycmVudE1vbml0b3JlZEl0ZW1z -Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3Vy -cmVudFB1Ymxpc2hSZXF1ZXN0c0luUXVldWUiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg -IDxvcGM6RmllbGQgTmFtZT0iVG90YWxSZXF1ZXN0Q291bnQiIFR5cGVOYW1lPSJ0bnM6U2Vydmlj -ZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlVuYXV0aG9yaXplZFJl -cXVlc3RDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJSZWFkQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9Ikhpc3RvcnlSZWFkQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2Vydmlj -ZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IldyaXRlQ291bnQiIFR5 +bGQgTmFtZT0iU3Vic2NyaXB0aW9uSWQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTm9PZkF2YWlsYWJsZVNlcXVlbmNlTnVtYmVycyIgVHlwZU5hbWU9Im9w +YzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF2YWlsYWJsZVNlcXVlbmNlTnVtYmVy +cyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxkPSJOb09mQXZhaWxhYmxlU2VxdWVu +Y2VOdW1iZXJzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9yZU5vdGlmaWNhdGlvbnMiIFR5 +cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vdGlmaWNhdGlv +bk1lc3NhZ2UiIFR5cGVOYW1lPSJ0bnM6Tm90aWZpY2F0aW9uTWVzc2FnZSIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9InVhOlN0YXR1c0NvZGUiIExlbmd0aEZp +ZWxkPSJOb09mUmVzdWx0cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZEaWFnbm9zdGlj +SW5mb3MiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaWFn +bm9zdGljSW5mb3MiIFR5cGVOYW1lPSJ1YTpEaWFnbm9zdGljSW5mbyIgTGVuZ3RoRmllbGQ9Ik5v +T2ZEaWFnbm9zdGljSW5mb3MiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVwdWJsaXNoUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVu +c2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFt +ZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRp +b25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXRy +YW5zbWl0U2VxdWVuY2VOdW1iZXIiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpT +dHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlJlcHVibGlzaFJl +c3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlc3BvbnNlSGVhZGVyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTm90aWZpY2F0aW9uTWVzc2FnZSIgVHlwZU5hbWU9InRuczpOb3Rp +ZmljYXRpb25NZXNzYWdlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9IlRyYW5zZmVyUmVzdWx0IiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9u +T2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN0YXR1c0NvZGUiIFR5cGVOYW1lPSJ1YTpT +dGF0dXNDb2RlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkF2YWlsYWJsZVNlcXVlbmNl +TnVtYmVycyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkF2 +YWlsYWJsZVNlcXVlbmNlTnVtYmVycyIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIExlbmd0aEZpZWxk +PSJOb09mQXZhaWxhYmxlU2VxdWVuY2VOdW1iZXJzIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlRyYW5zZmVyU3Vic2NyaXB0aW9uc1Jl +cXVlc3QiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iUmVxdWVzdEhlYWRlciIgVHlwZU5hbWU9InRuczpSZXF1ZXN0SGVhZGVyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTm9PZlN1YnNjcmlwdGlvbklkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlN1YnNjcmlwdGlvbklkcyIgVHlwZU5hbWU9Im9wYzpV +SW50MzIiIExlbmd0aEZpZWxkPSJOb09mU3Vic2NyaXB0aW9uSWRzIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iU2VuZEluaXRpYWxWYWx1ZXMiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAg +PC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJUcmFu +c2ZlclN1YnNjcmlwdGlvbnNSZXNwb25zZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXNwb25zZUhlYWRlciIgVHlwZU5hbWU9InRuczpSZXNw +b25zZUhlYWRlciIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZSZXN1bHRzIiBUeXBlTmFt +ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVzdWx0cyIgVHlwZU5hbWU9 +InRuczpUcmFuc2ZlclJlc3VsdCIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRp +YWdub3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9v +cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJEZWxldGVT +dWJzY3JpcHRpb25zUmVxdWVzdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJSZXF1ZXN0SGVhZGVyIiBUeXBlTmFtZT0idG5zOlJlcXVlc3RIZWFk +ZXIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mU3Vic2NyaXB0aW9uSWRzIiBUeXBlTmFt +ZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU3Vic2NyaXB0aW9uSWRzIiBU +eXBlTmFtZT0ib3BjOlVJbnQzMiIgTGVuZ3RoRmllbGQ9Ik5vT2ZTdWJzY3JpcHRpb25JZHMiIC8+ +DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0i +RGVsZXRlU3Vic2NyaXB0aW9uc1Jlc3BvbnNlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 +Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlc3BvbnNlSGVhZGVyIiBUeXBlTmFtZT0idG5zOlJl +c3BvbnNlSGVhZGVyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZlJlc3VsdHMiIFR5cGVO +YW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXN1bHRzIiBUeXBlTmFt +ZT0idWE6U3RhdHVzQ29kZSIgTGVuZ3RoRmllbGQ9Ik5vT2ZSZXN1bHRzIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iTm9PZkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvcyIgVHlwZU5hbWU9InVhOkRpYWdu +b3N0aWNJbmZvIiBMZW5ndGhGaWVsZD0iTm9PZkRpYWdub3N0aWNJbmZvcyIgLz4NCiAgPC9vcGM6 +U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJCdWlsZEluZm8i +IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHJv +ZHVjdFVyaSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJN +YW51ZmFjdHVyZXJOYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IlByb2R1Y3ROYW1lIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IlNvZnR3YXJlVmVyc2lvbiIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJCdWlsZE51bWJlciIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJCdWlsZERhdGUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+ +DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0i +UmVkdW5kYW5jeVN1cHBvcnQiIExlbmd0aEluQml0cz0iMzIiPg0KICAgIDxvcGM6RW51bWVyYXRl +ZFZhbHVlIE5hbWU9Ik5vbmUiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl +IE5hbWU9IkNvbGQiIFZhbHVlPSIxIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 +Ildhcm0iIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkhvdCIg +VmFsdWU9IjMiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iVHJhbnNwYXJlbnQi +IFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkhvdEFuZE1pcnJv +cmVkIiBWYWx1ZT0iNSIgLz4NCiAgPC9vcGM6RW51bWVyYXRlZFR5cGU+DQoNCiAgPG9wYzpFbnVt +ZXJhdGVkVHlwZSBOYW1lPSJTZXJ2ZXJTdGF0ZSIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9w +YzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUnVubmluZyIgVmFsdWU9IjAiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iRmFpbGVkIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1l +cmF0ZWRWYWx1ZSBOYW1lPSJOb0NvbmZpZ3VyYXRpb24iIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6 +RW51bWVyYXRlZFZhbHVlIE5hbWU9IlN1c3BlbmRlZCIgVmFsdWU9IjMiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iU2h1dGRvd24iIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51 +bWVyYXRlZFZhbHVlIE5hbWU9IlRlc3QiIFZhbHVlPSI1IiAvPg0KICAgIDxvcGM6RW51bWVyYXRl +ZFZhbHVlIE5hbWU9IkNvbW11bmljYXRpb25GYXVsdCIgVmFsdWU9IjYiIC8+DQogICAgPG9wYzpF +bnVtZXJhdGVkVmFsdWUgTmFtZT0iVW5rbm93biIgVmFsdWU9IjciIC8+DQogIDwvb3BjOkVudW1l +cmF0ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUmVkdW5kYW50U2VydmVy +RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iU2VydmVySWQiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iU2VydmljZUxldmVsIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJTZXJ2ZXJTdGF0ZSIgVHlwZU5hbWU9InRuczpTZXJ2ZXJTdGF0ZSIgLz4NCiAgPC9v +cGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJFbmRwb2lu +dFVybExpc3REYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJOb09mRW5kcG9pbnRVcmxMaXN0IiBUeXBlTmFtZT0ib3BjOkludDMyIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRW5kcG9pbnRVcmxMaXN0IiBUeXBlTmFtZT0ib3BjOlN0 +cmluZyIgTGVuZ3RoRmllbGQ9Ik5vT2ZFbmRwb2ludFVybExpc3QiIC8+DQogIDwvb3BjOlN0cnVj +dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iTmV0d29ya0dyb3VwRGF0 +YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iU2VydmVyVXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ik5vT2ZOZXR3b3JrUGF0aHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJOZXR3b3JrUGF0aHMiIFR5cGVOYW1lPSJ0bnM6RW5kcG9pbnRVcmxMaXN0RGF0 +YVR5cGUiIExlbmd0aEZpZWxkPSJOb09mTmV0d29ya1BhdGhzIiAvPg0KICA8L29wYzpTdHJ1Y3R1 +cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlNhbXBsaW5nSW50ZXJ2YWxE +aWFnbm9zdGljc0RhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlNhbXBsaW5nSW50ZXJ2YWwiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTW9uaXRvcmVkSXRlbUNvdW50IiBUeXBlTmFtZT0ib3Bj +OlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heE1vbml0b3JlZEl0ZW1Db3VudCIg +VHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNhYmxlZE1v +bml0b3JlZEl0ZW1Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVj +dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2VydmVyRGlhZ25vc3Rp +Y3NTdW1tYXJ5RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iU2VydmVyVmlld0NvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1cnJlbnRTZXNzaW9uQ291bnQiIFR5cGVOYW1lPSJvcGM6 +VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3VtdWxhdGVkU2Vzc2lvbkNvdW50IiBU +eXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5UmVq +ZWN0ZWRTZXNzaW9uQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iUmVqZWN0ZWRTZXNzaW9uQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iU2Vzc2lvblRpbWVvdXRDb3VudCIgVHlwZU5hbWU9Im9wYzpV +SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXNzaW9uQWJvcnRDb3VudCIgVHlwZU5h +bWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdXJyZW50U3Vic2NyaXB0 +aW9uQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i +Q3VtdWxhdGVkU3Vic2NyaXB0aW9uQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaGluZ0ludGVydmFsQ291bnQiIFR5cGVOYW1lPSJvcGM6 +VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2VjdXJpdHlSZWplY3RlZFJlcXVlc3Rz +Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVq +ZWN0ZWRSZXF1ZXN0c0NvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgPC9vcGM6U3Ry +dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXJ2ZXJTdGF0dXNE +YXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJTdGFydFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJDdXJyZW50VGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3Bj +OkZpZWxkIE5hbWU9IlN0YXRlIiBUeXBlTmFtZT0idG5zOlNlcnZlclN0YXRlIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iQnVpbGRJbmZvIiBUeXBlTmFtZT0idG5zOkJ1aWxkSW5mbyIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IlNlY29uZHNUaWxsU2h1dGRvd24iIFR5cGVOYW1lPSJvcGM6VUlu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2h1dGRvd25SZWFzb24iIFR5cGVOYW1lPSJ1 +YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0 +cnVjdHVyZWRUeXBlIE5hbWU9IlNlc3Npb25EaWFnbm9zdGljc0RhdGFUeXBlIiBCYXNlVHlwZT0i +dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlc3Npb25JZCIgVHlw +ZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlc3Npb25OYW1lIiBU +eXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudERlc2Ny +aXB0aW9uIiBUeXBlTmFtZT0idG5zOkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJTZXJ2ZXJVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iRW5kcG9pbnRVcmwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iTm9PZkxvY2FsZUlkcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9IkxvY2FsZUlkcyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIExl +bmd0aEZpZWxkPSJOb09mTG9jYWxlSWRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWN0dWFs +U2Vzc2lvblRpbWVvdXQiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQg +TmFtZT0iTWF4UmVzcG9uc2VNZXNzYWdlU2l6ZSIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJDbGllbnRDb25uZWN0aW9uVGltZSIgVHlwZU5hbWU9Im9wYzpE +YXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudExhc3RDb250YWN0VGltZSIg +VHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkN1cnJlbnRT +dWJzY3JpcHRpb25zQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iQ3VycmVudE1vbml0b3JlZEl0ZW1zQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMy +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3VycmVudFB1Ymxpc2hSZXF1ZXN0c0luUXVldWUi +IFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVG90YWxSZXF1 +ZXN0Q291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IlVuYXV0aG9yaXplZFJlcXVlc3RDb3VudCIgVHlwZU5hbWU9Im9wYzpV +SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZWFkQ291bnQiIFR5cGVOYW1lPSJ0bnM6 +U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikhpc3RvcnlS +ZWFkQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IldyaXRlQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJE +YXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikhpc3RvcnlVcGRhdGVDb3VudCIgVHlw +ZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iQ2FsbENvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJDcmVhdGVNb25pdG9yZWRJdGVtc0NvdW50IiBUeXBlTmFtZT0i +dG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb2Rp +ZnlNb25pdG9yZWRJdGVtc0NvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5 +cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXRNb25pdG9yaW5nTW9kZUNvdW50IiBUeXBl +TmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJTZXRUcmlnZ2VyaW5nQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlw +ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1zQ291bnQiIFR5 cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ikhpc3RvcnlVcGRhdGVDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFU -eXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ2FsbENvdW50IiBUeXBlTmFtZT0idG5zOlNl -cnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDcmVhdGVNb25p -dG9yZWRJdGVtc0NvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb2RpZnlNb25pdG9yZWRJdGVtc0NvdW50IiBUeXBlTmFt -ZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJT -ZXRNb25pdG9yaW5nTW9kZUNvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5 -cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXRUcmlnZ2VyaW5nQ291bnQiIFR5cGVOYW1l -PSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRl -bGV0ZU1vbml0b3JlZEl0ZW1zQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRh -VHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNyZWF0ZVN1YnNjcmlwdGlvbkNvdW50IiBU -eXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBO -YW1lPSJNb2RpZnlTdWJzY3JpcHRpb25Db3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRl -ckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iU2V0UHVibGlzaGluZ01vZGVDb3Vu +bWU9IkNyZWF0ZVN1YnNjcmlwdGlvbkNvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVy +RGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb2RpZnlTdWJzY3JpcHRpb25Db3Vu dCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6Rmll -bGQgTmFtZT0iUHVibGlzaENvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5 -cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXB1Ymxpc2hDb3VudCIgVHlwZU5hbWU9InRu -czpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNm -ZXJTdWJzY3JpcHRpb25zQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlw -ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRlbGV0ZVN1YnNjcmlwdGlvbnNDb3VudCIgVHlw -ZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iQWRkTm9kZXNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWRkUmVmZXJlbmNlc0NvdW50IiBUeXBlTmFtZT0idG5z -OlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZWxldGVO -b2Rlc0NvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAg -PG9wYzpGaWVsZCBOYW1lPSJEZWxldGVSZWZlcmVuY2VzQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2Vy -dmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZUNvdW50 -IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJCcm93c2VOZXh0Q291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRh -VHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2Rl -SWRzQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IlF1ZXJ5Rmlyc3RDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291 -bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUXVlcnlOZXh0Q291bnQiIFR5 +bGQgTmFtZT0iU2V0UHVibGlzaGluZ01vZGVDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291 +bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaENvdW50IiBUeXBl +TmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJSZXB1Ymxpc2hDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNmZXJTdWJzY3JpcHRpb25zQ291bnQiIFR5cGVO +YW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkRlbGV0ZVN1YnNjcmlwdGlvbnNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRh +dGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWRkTm9kZXNDb3VudCIgVHlwZU5hbWU9 +InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWRk +UmVmZXJlbmNlc0NvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZWxldGVOb2Rlc0NvdW50IiBUeXBlTmFtZT0idG5zOlNl +cnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEZWxldGVSZWZl +cmVuY2VzQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9IkJyb3dzZUNvdW50IiBUeXBlTmFtZT0idG5zOlNlcnZpY2VDb3Vu +dGVyRGF0YVR5cGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJCcm93c2VOZXh0Q291bnQiIFR5 cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9IlJlZ2lzdGVyTm9kZXNDb3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFU -eXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVW5yZWdpc3Rlck5vZGVzQ291bnQiIFR5cGVO -YW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJTZXNzaW9uU2VjdXJpdHlEaWFnbm9z -dGljc0RhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IlNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9IkNsaWVudFVzZXJJZE9mU2Vzc2lvbiIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mQ2xpZW50VXNlcklkSGlzdG9yeSIgVHlwZU5hbWU9 -Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudFVzZXJJZEhpc3Rvcnki -IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5ndGhGaWVsZD0iTm9PZkNsaWVudFVzZXJJZEhpc3Rv -cnkiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBdXRoZW50aWNhdGlvbk1lY2hhbmlzbSIgVHlw -ZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmNvZGluZyIgVHlw -ZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUcmFuc3BvcnRQcm90 -b2NvbCIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1 -cml0eU1vZGUiIFR5cGVOYW1lPSJ0bnM6TWVzc2FnZVNlY3VyaXR5TW9kZSIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9IlNlY3VyaXR5UG9saWN5VXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudENlcnRpZmljYXRlIiBUeXBlTmFtZT0ib3BjOkJ5 -dGVTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl -ZFR5cGUgTmFtZT0iU2VydmljZUNvdW50ZXJEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lv -bk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJUb3RhbENvdW50IiBUeXBlTmFtZT0ib3Bj -OlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVycm9yQ291bnQiIFR5cGVOYW1lPSJv -cGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVy -ZWRUeXBlIE5hbWU9IlN0YXR1c1Jlc3VsdCIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29k -ZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpYWdub3N0aWNJbmZvIiBUeXBlTmFtZT0idWE6 -RGlhZ25vc3RpY0luZm8iIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3Ry -dWN0dXJlZFR5cGUgTmFtZT0iU3Vic2NyaXB0aW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgQmFzZVR5 -cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZXNzaW9uSWQi -IFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRp -b25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcmlv -cml0eSIgVHlwZU5hbWU9Im9wYzpCeXRlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlz -aGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3BjOkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ik1heEtlZXBBbGl2ZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3Bj -OkZpZWxkIE5hbWU9Ik1heExpZmV0aW1lQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K -ICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2giIFR5cGVOYW1l -PSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaGluZ0VuYWJsZWQi -IFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vZGlmeUNv -dW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuYWJs -ZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRp -c2FibGVDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l -PSJSZXB1Ymxpc2hSZXF1ZXN0Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iUmVwdWJsaXNoTWVzc2FnZVJlcXVlc3RDb3VudCIgVHlwZU5hbWU9Im9w -YzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXB1Ymxpc2hNZXNzYWdlQ291bnQi -IFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNmZXJS -ZXF1ZXN0Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iVHJhbnNmZXJyZWRUb0FsdENsaWVudENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyYW5zZmVycmVkVG9TYW1lQ2xpZW50Q291bnQiIFR5cGVO -YW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaFJlcXVlc3RD -b3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRh -Q2hhbmdlTm90aWZpY2F0aW9uc0NvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8 -b3BjOkZpZWxkIE5hbWU9IkV2ZW50Tm90aWZpY2F0aW9uc0NvdW50IiBUeXBlTmFtZT0ib3BjOlVJ -bnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vdGlmaWNhdGlvbnNDb3VudCIgVHlwZU5h -bWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXRlUHVibGlzaFJlcXVl -c3RDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJD -dXJyZW50S2VlcEFsaXZlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iQ3VycmVudExpZmV0aW1lQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVW5hY2tub3dsZWRnZWRNZXNzYWdlQ291bnQiIFR5cGVO -YW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzY2FyZGVkTWVzc2Fn -ZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1v -bml0b3JlZEl0ZW1Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJEaXNhYmxlZE1vbml0b3JlZEl0ZW1Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJNb25pdG9yaW5nUXVldWVPdmVyZmxvd0NvdW50IiBU -eXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5leHRTZXF1ZW5j -ZU51bWJlciIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJF -dmVudFF1ZXVlT3ZlckZsb3dDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3Bj -OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iTW9kZWxDaGFu -Z2VTdHJ1Y3R1cmVWZXJiTWFzayIgTGVuZ3RoSW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJh -dGVkVmFsdWUgTmFtZT0iTm9kZUFkZGVkIiBWYWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0 -ZWRWYWx1ZSBOYW1lPSJOb2RlRGVsZXRlZCIgVmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJh -dGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlQWRkZWQiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51 -bWVyYXRlZFZhbHVlIE5hbWU9IlJlZmVyZW5jZURlbGV0ZWQiIFZhbHVlPSI4IiAvPg0KICAgIDxv -cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRhdGFUeXBlQ2hhbmdlZCIgVmFsdWU9IjE2IiAvPg0K -ICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1v -ZGVsQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWZmZWN0ZWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+ -DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZmZlY3RlZFR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWZXJiIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQog -IDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2Vt -YW50aWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVj -dCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZmZlY3RlZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIg -Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFmZmVjdGVkVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJ -ZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBO -YW1lPSJSYW5nZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJMb3ciIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt -ZT0iSGlnaCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBl -Pg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRVVJbmZvcm1hdGlvbiIgQmFzZVR5cGU9 -InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOYW1lc3BhY2VVcmki -IFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVW5pdElkIiBU -eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUi -IFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVz -Y3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICA8L29wYzpTdHJ1Y3R1 -cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0ZWRUeXBlIE5hbWU9IkF4aXNTY2FsZUVudW1lcmF0 -aW9uIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJM -aW5lYXIiIFZhbHVlPSIwIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkxvZyIg -VmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTG4iIFZhbHVlPSIy -IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5h -bWU9IkNvbXBsZXhOdW1iZXJUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAg -ICA8b3BjOkZpZWxkIE5hbWU9IlJlYWwiIFR5cGVOYW1lPSJvcGM6RmxvYXQiIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJJbWFnaW5hcnkiIFR5cGVOYW1lPSJvcGM6RmxvYXQiIC8+DQogIDwvb3Bj -OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iRG91YmxlQ29t -cGxleE51bWJlclR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iUmVhbCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVs -ZCBOYW1lPSJJbWFnaW5hcnkiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiAvPg0KICA8L29wYzpTdHJ1 -Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkF4aXNJbmZvcm1hdGlv -biIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJF -bmdpbmVlcmluZ1VuaXRzIiBUeXBlTmFtZT0idG5zOkVVSW5mb3JtYXRpb24iIC8+DQogICAgPG9w -YzpGaWVsZCBOYW1lPSJFVVJhbmdlIiBUeXBlTmFtZT0idG5zOlJhbmdlIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iVGl0bGUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iQXhpc1NjYWxlVHlwZSIgVHlwZU5hbWU9InRuczpBeGlzU2NhbGVFbnVt -ZXJhdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZBeGlzU3RlcHMiIFR5cGVOYW1l -PSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBeGlzU3RlcHMiIFR5cGVOYW1l -PSJvcGM6RG91YmxlIiBMZW5ndGhGaWVsZD0iTm9PZkF4aXNTdGVwcyIgLz4NCiAgPC9vcGM6U3Ry -dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJYVlR5cGUiIEJhc2VU -eXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iWCIgVHlwZU5h -bWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9 -Im9wYzpGbG9hdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1 -cmVkVHlwZSBOYW1lPSJQcm9ncmFtRGlhZ25vc3RpY0RhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0 -ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNyZWF0ZVNlc3Npb25JZCIgVHlw -ZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNyZWF0ZUNsaWVudE5h -bWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW52b2Nh -dGlvbkNyZWF0aW9uVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZp -ZWxkIE5hbWU9Ikxhc3RUcmFuc2l0aW9uVGltZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4N -CiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxhc3RNZXRob2RDYWxsIiBUeXBlTmFtZT0ib3BjOlN0cmlu -ZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxhc3RNZXRob2RTZXNzaW9uSWQiIFR5cGVOYW1l -PSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTGFzdE1ldGhvZElucHV0 -QXJndW1lbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0i -TGFzdE1ldGhvZElucHV0QXJndW1lbnRzIiBUeXBlTmFtZT0idG5zOkFyZ3VtZW50IiBMZW5ndGhG -aWVsZD0iTm9PZkxhc3RNZXRob2RJbnB1dEFyZ3VtZW50cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5h -bWU9Ik5vT2ZMYXN0TWV0aG9kT3V0cHV0QXJndW1lbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAv -Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZE91dHB1dEFyZ3VtZW50cyIgVHlwZU5h -bWU9InRuczpBcmd1bWVudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZMYXN0TWV0aG9kT3V0cHV0QXJndW1l -bnRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZENhbGxUaW1lIiBUeXBlTmFt -ZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZFJldHVy -blN0YXR1cyIgVHlwZU5hbWU9InRuczpTdGF0dXNSZXN1bHQiIC8+DQogIDwvb3BjOlN0cnVjdHVy -ZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iUHJvZ3JhbURpYWdub3N0aWMy -RGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQg -TmFtZT0iQ3JlYXRlU2Vzc2lvbklkIiBUeXBlTmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6 -RmllbGQgTmFtZT0iQ3JlYXRlQ2xpZW50TmFtZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQog -ICAgPG9wYzpGaWVsZCBOYW1lPSJJbnZvY2F0aW9uQ3JlYXRpb25UaW1lIiBUeXBlTmFtZT0ib3Bj -OkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdFRyYW5zaXRpb25UaW1lIiBU -eXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhv -ZENhbGwiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFz -dE1ldGhvZFNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxk -IE5hbWU9Ik5vT2ZMYXN0TWV0aG9kSW5wdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kSW5wdXRBcmd1bWVudHMiIFR5cGVO -YW1lPSJ0bnM6QXJndW1lbnQiIExlbmd0aEZpZWxkPSJOb09mTGFzdE1ldGhvZElucHV0QXJndW1l -bnRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTm9PZkxhc3RNZXRob2RPdXRwdXRBcmd1bWVu -dHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0 -aG9kT3V0cHV0QXJndW1lbnRzIiBUeXBlTmFtZT0idG5zOkFyZ3VtZW50IiBMZW5ndGhGaWVsZD0i -Tm9PZkxhc3RNZXRob2RPdXRwdXRBcmd1bWVudHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJO -b09mTGFzdE1ldGhvZElucHV0VmFsdWVzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxv -cGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZElucHV0VmFsdWVzIiBUeXBlTmFtZT0idWE6VmFyaWFu -dCIgTGVuZ3RoRmllbGQ9Ik5vT2ZMYXN0TWV0aG9kSW5wdXRWYWx1ZXMiIC8+DQogICAgPG9wYzpG -aWVsZCBOYW1lPSJOb09mTGFzdE1ldGhvZE91dHB1dFZhbHVlcyIgVHlwZU5hbWU9Im9wYzpJbnQz -MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxhc3RNZXRob2RPdXRwdXRWYWx1ZXMiIFR5cGVO -YW1lPSJ1YTpWYXJpYW50IiBMZW5ndGhGaWVsZD0iTm9PZkxhc3RNZXRob2RPdXRwdXRWYWx1ZXMi -IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kQ2FsbFRpbWUiIFR5cGVOYW1lPSJv -cGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kUmV0dXJuU3Rh -dHVzIiBUeXBlTmFtZT0idG5zOlN0YXR1c1Jlc3VsdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 -cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJBbm5vdGF0aW9uIiBCYXNlVHlwZT0i -dWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2UiIFR5cGVO -YW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVXNlck5hbWUiIFR5cGVO -YW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQW5ub3RhdGlvblRpbWUi -IFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog -IDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0iRXhjZXB0aW9uRGV2aWF0aW9uRm9ybWF0IiBMZW5n -dGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJBYnNvbHV0ZVZh -bHVlIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJQZXJjZW50 -T2ZWYWx1ZSIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUGVy -Y2VudE9mUmFuZ2UiIFZhbHVlPSIyIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9 -IlBlcmNlbnRPZkVVUmFuZ2UiIFZhbHVlPSIzIiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVl -IE5hbWU9IlVua25vd24iIFZhbHVlPSI0IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0K -PC9vcGM6VHlwZURpY3Rpb25hcnk+ +bWU9IlRyYW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2Vy +dmljZUNvdW50ZXJEYXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlF1ZXJ5Rmlyc3RD +b3VudCIgVHlwZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iUXVlcnlOZXh0Q291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJE +YXRhVHlwZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlZ2lzdGVyTm9kZXNDb3VudCIgVHlw +ZU5hbWU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iVW5yZWdpc3Rlck5vZGVzQ291bnQiIFR5cGVOYW1lPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRh +VHlwZSIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw +ZSBOYW1lPSJTZXNzaW9uU2VjdXJpdHlEaWFnbm9zdGljc0RhdGFUeXBlIiBCYXNlVHlwZT0idWE6 +RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlc3Npb25JZCIgVHlwZU5h +bWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVudFVzZXJJZE9mU2Vz +c2lvbiIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09m +Q2xpZW50VXNlcklkSGlzdG9yeSIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkNsaWVudFVzZXJJZEhpc3RvcnkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiBMZW5n +dGhGaWVsZD0iTm9PZkNsaWVudFVzZXJJZEhpc3RvcnkiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1l +PSJBdXRoZW50aWNhdGlvbk1lY2hhbmlzbSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJFbmNvZGluZyIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJUcmFuc3BvcnRQcm90b2NvbCIgVHlwZU5hbWU9Im9wYzpTdHJpbmci +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTZWN1cml0eU1vZGUiIFR5cGVOYW1lPSJ0bnM6TWVz +c2FnZVNlY3VyaXR5TW9kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlNlY3VyaXR5UG9saWN5 +VXJpIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkNsaWVu +dENlcnRpZmljYXRlIiBUeXBlTmFtZT0ib3BjOkJ5dGVTdHJpbmciIC8+DQogIDwvb3BjOlN0cnVj +dHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2VydmljZUNvdW50ZXJE +YXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBO +YW1lPSJUb3RhbENvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9IkVycm9yQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICA8L29wYzpTdHJ1 +Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IlN0YXR1c1Jlc3VsdCIg +QmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJTdGF0 +dXNDb2RlIiBUeXBlTmFtZT0idWE6U3RhdHVzQ29kZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +IkRpYWdub3N0aWNJbmZvIiBUeXBlTmFtZT0idWE6RGlhZ25vc3RpY0luZm8iIC8+DQogIDwvb3Bj +OlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU3Vic2NyaXB0 +aW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJTZXNzaW9uSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQog +ICAgPG9wYzpGaWVsZCBOYW1lPSJTdWJzY3JpcHRpb25JZCIgVHlwZU5hbWU9Im9wYzpVSW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJQcmlvcml0eSIgVHlwZU5hbWU9Im9wYzpCeXRlIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUHVibGlzaGluZ0ludGVydmFsIiBUeXBlTmFtZT0ib3Bj +OkRvdWJsZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heEtlZXBBbGl2ZUNvdW50IiBUeXBl +TmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1heExpZmV0aW1lQ291 +bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTWF4Tm90 +aWZpY2F0aW9uc1BlclB1Ymxpc2giIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6 +RmllbGQgTmFtZT0iUHVibGlzaGluZ0VuYWJsZWQiIFR5cGVOYW1lPSJvcGM6Qm9vbGVhbiIgLz4N +CiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vZGlmeUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIg +Lz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkVuYWJsZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkRpc2FibGVDb3VudCIgVHlwZU5hbWU9Im9wYzpV +SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJSZXB1Ymxpc2hSZXF1ZXN0Q291bnQiIFR5 +cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVwdWJsaXNoTWVz +c2FnZVJlcXVlc3RDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVs +ZCBOYW1lPSJSZXB1Ymxpc2hNZXNzYWdlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNmZXJSZXF1ZXN0Q291bnQiIFR5cGVOYW1lPSJvcGM6 +VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVHJhbnNmZXJyZWRUb0FsdENsaWVudENv +dW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlRyYW5z +ZmVycmVkVG9TYW1lQ2xpZW50Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iUHVibGlzaFJlcXVlc3RDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIi +IC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEYXRhQ2hhbmdlTm90aWZpY2F0aW9uc0NvdW50IiBU +eXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkV2ZW50Tm90aWZp +Y2F0aW9uc0NvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5h +bWU9Ik5vdGlmaWNhdGlvbnNDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJMYXRlUHVibGlzaFJlcXVlc3RDb3VudCIgVHlwZU5hbWU9Im9wYzpVSW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJDdXJyZW50S2VlcEFsaXZlQ291bnQiIFR5cGVO +YW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3VycmVudExpZmV0aW1l +Q291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVW5h +Y2tub3dsZWRnZWRNZXNzYWdlQ291bnQiIFR5cGVOYW1lPSJvcGM6VUludDMyIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iRGlzY2FyZGVkTWVzc2FnZUNvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQz +MiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik1vbml0b3JlZEl0ZW1Db3VudCIgVHlwZU5hbWU9 +Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJEaXNhYmxlZE1vbml0b3JlZEl0 +ZW1Db3VudCIgVHlwZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJN +b25pdG9yaW5nUXVldWVPdmVyZmxvd0NvdW50IiBUeXBlTmFtZT0ib3BjOlVJbnQzMiIgLz4NCiAg +ICA8b3BjOkZpZWxkIE5hbWU9Ik5leHRTZXF1ZW5jZU51bWJlciIgVHlwZU5hbWU9Im9wYzpVSW50 +MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFdmVudFF1ZXVlT3ZlckZsb3dDb3VudCIgVHlw +ZU5hbWU9Im9wYzpVSW50MzIiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +RW51bWVyYXRlZFR5cGUgTmFtZT0iTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVWZXJiTWFzayIgTGVuZ3Ro +SW5CaXRzPSIzMiI+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iTm9kZUFkZGVkIiBW +YWx1ZT0iMSIgLz4NCiAgICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJOb2RlRGVsZXRlZCIg +VmFsdWU9IjIiIC8+DQogICAgPG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUmVmZXJlbmNlQWRk +ZWQiIFZhbHVlPSI0IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlJlZmVyZW5j +ZURlbGV0ZWQiIFZhbHVlPSI4IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkRh +dGFUeXBlQ2hhbmdlZCIgVmFsdWU9IjE2IiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0K +ICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9Ik1vZGVsQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUi +IEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQWZm +ZWN0ZWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJBZmZl +Y3RlZFR5cGUiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJW +ZXJiIiBUeXBlTmFtZT0ib3BjOkJ5dGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQog +IDxvcGM6U3RydWN0dXJlZFR5cGUgTmFtZT0iU2VtYW50aWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlw +ZSIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJB +ZmZlY3RlZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IkFm +ZmVjdGVkVHlwZSIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5 +cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJSYW5nZSIgQmFzZVR5cGU9InVhOkV4 +dGVuc2lvbk9iamVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMb3ciIFR5cGVOYW1lPSJvcGM6 +RG91YmxlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSGlnaCIgVHlwZU5hbWU9Im9wYzpEb3Vi +bGUiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJlZFR5cGUg +TmFtZT0iRVVJbmZvcm1hdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCI+DQogICAg +PG9wYzpGaWVsZCBOYW1lPSJOYW1lc3BhY2VVcmkiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iVW5pdElkIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAg +IDxvcGM6RmllbGQgTmFtZT0iRGlzcGxheU5hbWUiIFR5cGVOYW1lPSJ1YTpMb2NhbGl6ZWRUZXh0 +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iRGVzY3JpcHRpb24iIFR5cGVOYW1lPSJ1YTpMb2Nh +bGl6ZWRUZXh0IiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOkVudW1lcmF0 +ZWRUeXBlIE5hbWU9IkF4aXNTY2FsZUVudW1lcmF0aW9uIiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAg +ICA8b3BjOkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJMaW5lYXIiIFZhbHVlPSIwIiAvPg0KICAgIDxv +cGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IkxvZyIgVmFsdWU9IjEiIC8+DQogICAgPG9wYzpFbnVt +ZXJhdGVkVmFsdWUgTmFtZT0iTG4iIFZhbHVlPSIyIiAvPg0KICA8L29wYzpFbnVtZXJhdGVkVHlw +ZT4NCg0KICA8b3BjOlN0cnVjdHVyZWRUeXBlIE5hbWU9IkNvbXBsZXhOdW1iZXJUeXBlIiBCYXNl +VHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZpZWxkIE5hbWU9IlJlYWwiIFR5 +cGVOYW1lPSJvcGM6RmxvYXQiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbWFnaW5hcnkiIFR5 +cGVOYW1lPSJvcGM6RmxvYXQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6 +U3RydWN0dXJlZFR5cGUgTmFtZT0iRG91YmxlQ29tcGxleE51bWJlclR5cGUiIEJhc2VUeXBlPSJ1 +YTpFeHRlbnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iUmVhbCIgVHlwZU5hbWU9 +Im9wYzpEb3VibGUiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbWFnaW5hcnkiIFR5cGVOYW1l +PSJvcGM6RG91YmxlIiAvPg0KICA8L29wYzpTdHJ1Y3R1cmVkVHlwZT4NCg0KICA8b3BjOlN0cnVj +dHVyZWRUeXBlIE5hbWU9IkF4aXNJbmZvcm1hdGlvbiIgQmFzZVR5cGU9InVhOkV4dGVuc2lvbk9i +amVjdCI+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFbmdpbmVlcmluZ1VuaXRzIiBUeXBlTmFtZT0i +dG5zOkVVSW5mb3JtYXRpb24iIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJFVVJhbmdlIiBUeXBl +TmFtZT0idG5zOlJhbmdlIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iVGl0bGUiIFR5cGVOYW1l +PSJ1YTpMb2NhbGl6ZWRUZXh0IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQXhpc1NjYWxlVHlw +ZSIgVHlwZU5hbWU9InRuczpBeGlzU2NhbGVFbnVtZXJhdGlvbiIgLz4NCiAgICA8b3BjOkZpZWxk +IE5hbWU9Ik5vT2ZBeGlzU3RlcHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJBeGlzU3RlcHMiIFR5cGVOYW1lPSJvcGM6RG91YmxlIiBMZW5ndGhGaWVsZD0i +Tm9PZkF4aXNTdGVwcyIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1 +Y3R1cmVkVHlwZSBOYW1lPSJYVlR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRlbnNpb25PYmplY3QiPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iWCIgVHlwZU5hbWU9Im9wYzpEb3VibGUiIC8+DQogICAgPG9w +YzpGaWVsZCBOYW1lPSJWYWx1ZSIgVHlwZU5hbWU9Im9wYzpGbG9hdCIgLz4NCiAgPC9vcGM6U3Ry +dWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlwZSBOYW1lPSJQcm9ncmFtRGlhZ25v +c3RpY0RhdGFUeXBlIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8b3BjOkZp +ZWxkIE5hbWU9IkNyZWF0ZVNlc3Npb25JZCIgVHlwZU5hbWU9InVhOk5vZGVJZCIgLz4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9IkNyZWF0ZUNsaWVudE5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAv +Pg0KICAgIDxvcGM6RmllbGQgTmFtZT0iSW52b2NhdGlvbkNyZWF0aW9uVGltZSIgVHlwZU5hbWU9 +Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxhc3RUcmFuc2l0aW9uVGlt +ZSIgVHlwZU5hbWU9Im9wYzpEYXRlVGltZSIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ikxhc3RN +ZXRob2RDYWxsIiBUeXBlTmFtZT0ib3BjOlN0cmluZyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ikxhc3RNZXRob2RTZXNzaW9uSWQiIFR5cGVOYW1lPSJ1YTpOb2RlSWQiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJOb09mTGFzdE1ldGhvZElucHV0QXJndW1lbnRzIiBUeXBlTmFtZT0ib3BjOklu +dDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZElucHV0QXJndW1lbnRzIiBU +eXBlTmFtZT0idG5zOkFyZ3VtZW50IiBMZW5ndGhGaWVsZD0iTm9PZkxhc3RNZXRob2RJbnB1dEFy +Z3VtZW50cyIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZMYXN0TWV0aG9kT3V0cHV0QXJn +dW1lbnRzIiBUeXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFz +dE1ldGhvZE91dHB1dEFyZ3VtZW50cyIgVHlwZU5hbWU9InRuczpBcmd1bWVudCIgTGVuZ3RoRmll +bGQ9Ik5vT2ZMYXN0TWV0aG9kT3V0cHV0QXJndW1lbnRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTGFzdE1ldGhvZENhbGxUaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZFJldHVyblN0YXR1cyIgVHlwZU5hbWU9InRuczpTdGF0 +dXNSZXN1bHQiIC8+DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6U3RydWN0dXJl +ZFR5cGUgTmFtZT0iUHJvZ3JhbURpYWdub3N0aWMyRGF0YVR5cGUiIEJhc2VUeXBlPSJ1YTpFeHRl +bnNpb25PYmplY3QiPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3JlYXRlU2Vzc2lvbklkIiBUeXBl +TmFtZT0idWE6Tm9kZUlkIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iQ3JlYXRlQ2xpZW50TmFt +ZSIgVHlwZU5hbWU9Im9wYzpTdHJpbmciIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJJbnZvY2F0 +aW9uQ3JlYXRpb25UaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0KICAgIDxvcGM6Rmll +bGQgTmFtZT0iTGFzdFRyYW5zaXRpb25UaW1lIiBUeXBlTmFtZT0ib3BjOkRhdGVUaW1lIiAvPg0K +ICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZENhbGwiIFR5cGVOYW1lPSJvcGM6U3RyaW5n +IiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZFNlc3Npb25JZCIgVHlwZU5hbWU9 +InVhOk5vZGVJZCIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9Ik5vT2ZMYXN0TWV0aG9kSW5wdXRB +cmd1bWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJM +YXN0TWV0aG9kSW5wdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJ0bnM6QXJndW1lbnQiIExlbmd0aEZp +ZWxkPSJOb09mTGFzdE1ldGhvZElucHV0QXJndW1lbnRzIiAvPg0KICAgIDxvcGM6RmllbGQgTmFt +ZT0iTm9PZkxhc3RNZXRob2RPdXRwdXRBcmd1bWVudHMiIFR5cGVOYW1lPSJvcGM6SW50MzIiIC8+ +DQogICAgPG9wYzpGaWVsZCBOYW1lPSJMYXN0TWV0aG9kT3V0cHV0QXJndW1lbnRzIiBUeXBlTmFt +ZT0idG5zOkFyZ3VtZW50IiBMZW5ndGhGaWVsZD0iTm9PZkxhc3RNZXRob2RPdXRwdXRBcmd1bWVu +dHMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTGFzdE1ldGhvZElucHV0VmFsdWVzIiBU +eXBlTmFtZT0ib3BjOkludDMyIiAvPg0KICAgIDxvcGM6RmllbGQgTmFtZT0iTGFzdE1ldGhvZElu +cHV0VmFsdWVzIiBUeXBlTmFtZT0idWE6VmFyaWFudCIgTGVuZ3RoRmllbGQ9Ik5vT2ZMYXN0TWV0 +aG9kSW5wdXRWYWx1ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJOb09mTGFzdE1ldGhvZE91 +dHB1dFZhbHVlcyIgVHlwZU5hbWU9Im9wYzpJbnQzMiIgLz4NCiAgICA8b3BjOkZpZWxkIE5hbWU9 +Ikxhc3RNZXRob2RPdXRwdXRWYWx1ZXMiIFR5cGVOYW1lPSJ1YTpWYXJpYW50IiBMZW5ndGhGaWVs +ZD0iTm9PZkxhc3RNZXRob2RPdXRwdXRWYWx1ZXMiIC8+DQogICAgPG9wYzpGaWVsZCBOYW1lPSJM +YXN0TWV0aG9kQ2FsbFRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+DQogICAgPG9wYzpG +aWVsZCBOYW1lPSJMYXN0TWV0aG9kUmV0dXJuU3RhdHVzIiBUeXBlTmFtZT0idG5zOlN0YXR1c1Jl +c3VsdCIgLz4NCiAgPC9vcGM6U3RydWN0dXJlZFR5cGU+DQoNCiAgPG9wYzpTdHJ1Y3R1cmVkVHlw +ZSBOYW1lPSJBbm5vdGF0aW9uIiBCYXNlVHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0Ij4NCiAgICA8 +b3BjOkZpZWxkIE5hbWU9Ik1lc3NhZ2UiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iVXNlck5hbWUiIFR5cGVOYW1lPSJvcGM6U3RyaW5nIiAvPg0KICAgIDxv +cGM6RmllbGQgTmFtZT0iQW5ub3RhdGlvblRpbWUiIFR5cGVOYW1lPSJvcGM6RGF0ZVRpbWUiIC8+ +DQogIDwvb3BjOlN0cnVjdHVyZWRUeXBlPg0KDQogIDxvcGM6RW51bWVyYXRlZFR5cGUgTmFtZT0i +RXhjZXB0aW9uRGV2aWF0aW9uRm9ybWF0IiBMZW5ndGhJbkJpdHM9IjMyIj4NCiAgICA8b3BjOkVu +dW1lcmF0ZWRWYWx1ZSBOYW1lPSJBYnNvbHV0ZVZhbHVlIiBWYWx1ZT0iMCIgLz4NCiAgICA8b3Bj +OkVudW1lcmF0ZWRWYWx1ZSBOYW1lPSJQZXJjZW50T2ZWYWx1ZSIgVmFsdWU9IjEiIC8+DQogICAg +PG9wYzpFbnVtZXJhdGVkVmFsdWUgTmFtZT0iUGVyY2VudE9mUmFuZ2UiIFZhbHVlPSIyIiAvPg0K +ICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlBlcmNlbnRPZkVVUmFuZ2UiIFZhbHVlPSIz +IiAvPg0KICAgIDxvcGM6RW51bWVyYXRlZFZhbHVlIE5hbWU9IlVua25vd24iIFZhbHVlPSI0IiAv +Pg0KICA8L29wYzpFbnVtZXJhdGVkVHlwZT4NCg0KPC9vcGM6VHlwZURpY3Rpb25hcnk+ @@ -50736,3054 +51090,3058 @@ YXRpb24gdmFsdWU9IlJlZmVyZW5jZVR5cGVfMzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g dmFsdWU9IkRhdGFUeXBlXzY0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJWaWV3 XzEyOCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4 czplbGVtZW50IG5hbWU9Ik5vZGVDbGFzcyIgdHlwZT0idG5zOk5vZGVDbGFzcyIgLz4NCg0KICA8 -eHM6c2ltcGxlVHlwZSAgbmFtZT0iQWNjZXNzTGV2ZWxUeXBlIj4NCiAgICA8eHM6cmVzdHJpY3Rp -b24gYmFzZT0ieHM6dW5zaWduZWRCeXRlIj4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hz -OnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFjY2Vzc0xldmVsVHlwZSIgdHlwZT0i -dG5zOkFjY2Vzc0xldmVsVHlwZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iQWNjZXNz -TGV2ZWxFeFR5cGUiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czp1bnNpZ25lZEludCI+ -DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJBY2Nlc3NMZXZlbEV4VHlwZSIgdHlwZT0idG5zOkFjY2Vzc0xldmVsRXhUeXBlIiAv -Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJFdmVudE5vdGlmaWVyVHlwZSI+DQogICAgPHhz -OnJlc3RyaWN0aW9uIGJhc2U9InhzOnVuc2lnbmVkSW50Ij4NCiAgICA8L3hzOnJlc3RyaWN0aW9u -Pg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkV2ZW50Tm90aWZpZXJU -eXBlIiB0eXBlPSJ0bnM6RXZlbnROb3RpZmllclR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9IlJvbGVQZXJtaXNzaW9uVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iUm9sZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQZXJtaXNzaW9ucyIgdHlw -ZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSb2xlUGVybWlzc2lvblR5 -cGUiIHR5cGU9InRuczpSb2xlUGVybWlzc2lvblR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9Ikxpc3RPZlJvbGVQZXJtaXNzaW9uVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUm9sZVBlcm1pc3Npb25UeXBlIiB0eXBlPSJ0bnM6Um9sZVBl -cm1pc3Npb25UeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJs +eHM6c2ltcGxlVHlwZSAgbmFtZT0iUGVybWlzc2lvblR5cGUiPg0KICAgIDx4czpyZXN0cmljdGlv +biBiYXNlPSJ4czp1bnNpZ25lZEludCI+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpz +aW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJQZXJtaXNzaW9uVHlwZSIgdHlwZT0idG5z +OlBlcm1pc3Npb25UeXBlIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJBY2Nlc3NMZXZl +bFR5cGUiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czp1bnNpZ25lZEJ5dGUiPg0KICAg +IDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iQWNjZXNzTGV2ZWxUeXBlIiB0eXBlPSJ0bnM6QWNjZXNzTGV2ZWxUeXBlIiAvPg0KDQogIDx4 +czpzaW1wbGVUeXBlICBuYW1lPSJBY2Nlc3NMZXZlbEV4VHlwZSI+DQogICAgPHhzOnJlc3RyaWN0 +aW9uIGJhc2U9InhzOnVuc2lnbmVkSW50Ij4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hz +OnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFjY2Vzc0xldmVsRXhUeXBlIiB0eXBl +PSJ0bnM6QWNjZXNzTGV2ZWxFeFR5cGUiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkV2 +ZW50Tm90aWZpZXJUeXBlIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6dW5zaWduZWRC +eXRlIj4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czpl +bGVtZW50IG5hbWU9IkV2ZW50Tm90aWZpZXJUeXBlIiB0eXBlPSJ0bnM6RXZlbnROb3RpZmllclR5 +cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJvbGVQZXJtaXNzaW9uVHlwZSI+DQog +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUm9sZUlkIiB0eXBlPSJ1 +YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJQZXJtaXNzaW9ucyIgdHlwZT0idG5zOlBlcm1pc3Npb25UeXBlIiBtaW5PY2N1 +cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iUm9sZVBlcm1pc3Npb25UeXBlIiB0eXBlPSJ0bnM6Um9sZVBlcm1pc3Np +b25UeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZSb2xlUGVybWlzc2lv +blR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJvbGVQ +ZXJtaXNzaW9uVHlwZSIgdHlwZT0idG5zOlJvbGVQZXJtaXNzaW9uVHlwZSIgbWluT2NjdXJzPSIw +IiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUm9s +ZVBlcm1pc3Npb25UeXBlIiB0eXBlPSJ0bnM6TGlzdE9mUm9sZVBlcm1pc3Npb25UeXBlIiBuaWxs +YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEYXRh +VHlwZURlZmluaXRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZURlZmluaXRp +b24iIHR5cGU9InRuczpEYXRhVHlwZURlZmluaXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9Ikxpc3RPZkRhdGFUeXBlRGVmaW5pdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVR5cGVEZWZpbml0aW9uIiB0eXBlPSJ0bnM6RGF0YVR5 +cGVEZWZpbml0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJs ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZSb2xlUGVybWlzc2lvblR5cGUiIHR5cGU9InRuczpMaXN0 -T2ZSb2xlUGVybWlzc2lvblR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRhdGFUeXBlRGVmaW5pdGlvbiI+DQogICAgPHhzOnNlcXVl -bmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9IkRhdGFUeXBlRGVmaW5pdGlvbiIgdHlwZT0idG5zOkRhdGFUeXBlRGVmaW5pdGlv -biIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRGF0YVR5cGVEZWZpbml0aW9u -Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZURl -ZmluaXRpb24iIHR5cGU9InRuczpEYXRhVHlwZURlZmluaXRpb24iIG1pbk9jY3Vycz0iMCIgbWF4 -T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkRhdGFUeXBl -RGVmaW5pdGlvbiIgdHlwZT0idG5zOkxpc3RPZkRhdGFUeXBlRGVmaW5pdGlvbiIgbmlsbGFibGU9 -InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iU3RydWN0dXJl -VHlwZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6 -ZW51bWVyYXRpb24gdmFsdWU9IlN0cnVjdHVyZV8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u -IHZhbHVlPSJTdHJ1Y3R1cmVXaXRoT3B0aW9uYWxGaWVsZHNfMSIgLz4NCiAgICAgIDx4czplbnVt -ZXJhdGlvbiB2YWx1ZT0iVW5pb25fMiIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hz -OnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlN0cnVjdHVyZVR5cGUiIHR5cGU9InRu -czpTdHJ1Y3R1cmVUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTdHJ1Y3R1cmVG -aWVsZCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFtZSIg -dHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iRGVzY3JpcHRpb24iIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJE -YXRhVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czppbnQiIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFycmF5RGltZW5zaW9ucyIgdHlw -ZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4U3RyaW5nTGVuZ3RoIiB0eXBlPSJ4czp1bnNpZ25lZElu -dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNPcHRpb25hbCIg -dHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog -IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlN0cnVjdHVyZUZpZWxkIiB0 -eXBlPSJ0bnM6U3RydWN0dXJlRmllbGQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxp -c3RPZlN0cnVjdHVyZUZpZWxkIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJTdHJ1Y3R1cmVGaWVsZCIgdHlwZT0idG5zOlN0cnVjdHVyZUZpZWxkIiBtaW5PY2N1 -cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz -OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0 -T2ZTdHJ1Y3R1cmVGaWVsZCIgdHlwZT0idG5zOkxpc3RPZlN0cnVjdHVyZUZpZWxkIiBuaWxsYWJs -ZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTdHJ1Y3R1 -cmVEZWZpbml0aW9uIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAg -ICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkRhdGFUeXBlRGVmaW5pdGlvbiI+DQogICAgICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZWZhdWx0RW5jb2Rp -bmdJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkJhc2VEYXRhVHlwZSIgdHlwZT0idWE6Tm9kZUlk -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlN0cnVjdHVyZVR5cGUiIHR5cGU9InRuczpTdHJ1Y3R1cmVUeXBlIiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmllbGRzIiB0eXBlPSJ0bnM6TGlz -dE9mU3RydWN0dXJlRmllbGQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBs -ZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTdHJ1 -Y3R1cmVEZWZpbml0aW9uIiB0eXBlPSJ0bnM6U3RydWN0dXJlRGVmaW5pdGlvbiIgLz4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU3RydWN0dXJlRGVmaW5pdGlvbiI+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RydWN0dXJlRGVmaW5pdGlvbiIg -dHlwZT0idG5zOlN0cnVjdHVyZURlZmluaXRpb24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1 -bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlN0cnVjdHVyZURlZmluaXRp -b24iIHR5cGU9InRuczpMaXN0T2ZTdHJ1Y3R1cmVEZWZpbml0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+ -PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFbnVtRGVmaW5pdGlvbiI+ -DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5z -aW9uIGJhc2U9InRuczpEYXRhVHlwZURlZmluaXRpb24iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmllbGRzIiB0eXBlPSJ0bnM6TGlzdE9mRW51 -bUZpZWxkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNl -cXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRW51bURlZmluaXRpb24i -IHR5cGU9InRuczpFbnVtRGVmaW5pdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -TGlzdE9mRW51bURlZmluaXRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkVudW1EZWZpbml0aW9uIiB0eXBlPSJ0bnM6RW51bURlZmluaXRpb24iIG1pbk9j -Y3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv -eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxp -c3RPZkVudW1EZWZpbml0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mRW51bURlZmluaXRpb24iIG5pbGxh -YmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik5vZGUi -Pg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+U3BlY2lmaWVz -IHRoZSBhdHRyaWJ1dGVzIHdoaWNoIGJlbG9uZyB0byBhbGwgbm9kZXMuPC94czpkb2N1bWVudGF0 -aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+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 -CiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0 -aGUgYXR0cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gb2JqZWN0IG5vZGVzLjwveHM6ZG9jdW1lbnRh -dGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVk -PSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpJbnN0YW5jZU5vZGUiPg0K -ICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnRO -b3RpZmllciIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAg -IDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhD -b250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJPYmplY3RO -b2RlIiB0eXBlPSJ0bnM6T2JqZWN0Tm9kZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -T2JqZWN0VHlwZU5vZGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50 -YXRpb24+U3BlY2lmaWVzIHRoZSBhdHRyaWJ1dGVzIHdoaWNoIGJlbG9uZyB0byBvYmplY3QgdHlw -ZSBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4 -czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNl -PSJ0bnM6VHlwZU5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iSXNBYnN0cmFjdCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAv -Pg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94 -czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iT2JqZWN0VHlwZU5vZGUiIHR5cGU9InRuczpPYmplY3RUeXBlTm9kZSIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iVmFyaWFibGVOb2RlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg +eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZEYXRhVHlwZURlZmluaXRpb24iIHR5cGU9InRuczpMaXN0 +T2ZEYXRhVHlwZURlZmluaXRpb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg +PHhzOnNpbXBsZVR5cGUgIG5hbWU9IlN0cnVjdHVyZVR5cGUiPg0KICAgIDx4czpyZXN0cmljdGlv +biBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTdHJ1Y3R1 +cmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU3RydWN0dXJlV2l0aE9wdGlv +bmFsRmllbGRzXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVuaW9uXzIiIC8+ +DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJTdHJ1Y3R1cmVUeXBlIiB0eXBlPSJ0bnM6U3RydWN0dXJlVHlwZSIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iU3RydWN0dXJlRmllbGQiPg0KICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlc2NyaXB0 +aW9uIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVR5cGUiIHR5cGU9InVhOk5vZGVJZCIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlZhbHVlUmFuayIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJBcnJheURpbWVuc2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heFN0 +cmluZ0xlbmd0aCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IklzT3B0aW9uYWwiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vy +cz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJTdHJ1Y3R1cmVGaWVsZCIgdHlwZT0idG5zOlN0cnVjdHVyZUZpZWxkIiAv +Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTdHJ1Y3R1cmVGaWVsZCI+DQogICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RydWN0dXJlRmllbGQiIHR5 +cGU9InRuczpTdHJ1Y3R1cmVGaWVsZCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRl +ZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU3RydWN0dXJlRmllbGQiIHR5cGU9InRu +czpMaXN0T2ZTdHJ1Y3R1cmVGaWVsZCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU3RydWN0dXJlRGVmaW5pdGlvbiI+DQogICAgPHhzOmNv +bXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRu +czpEYXRhVHlwZURlZmluaXRpb24iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iRGVmYXVsdEVuY29kaW5nSWQiIHR5cGU9InVhOk5vZGVJZCIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJCYXNlRGF0YVR5cGUiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdHJ1Y3R1cmVUeXBlIiB0eXBl +PSJ0bnM6U3RydWN0dXJlVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVt +ZW50IG5hbWU9IkZpZWxkcyIgdHlwZT0idG5zOkxpc3RPZlN0cnVjdHVyZUZpZWxkIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAg +PC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU3RydWN0dXJlRGVmaW5pdGlvbiIgdHlwZT0idG5z +OlN0cnVjdHVyZURlZmluaXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RP +ZlN0cnVjdHVyZURlZmluaXRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlN0cnVjdHVyZURlZmluaXRpb24iIHR5cGU9InRuczpTdHJ1Y3R1cmVEZWZpbml0 +aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJMaXN0T2ZTdHJ1Y3R1cmVEZWZpbml0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mU3RydWN0 +dXJlRGVmaW5pdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iRW51bURlZmluaXRpb24iPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBt +aXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6RGF0YVR5cGVEZWZp +bml0aW9uIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h +bWU9IkZpZWxkcyIgdHlwZT0idG5zOkxpc3RPZkVudW1GaWVsZCIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5z +aW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9IkVudW1EZWZpbml0aW9uIiB0eXBlPSJ0bnM6RW51bURlZmluaXRpb24i +IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkVudW1EZWZpbml0aW9uIj4NCiAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbnVtRGVmaW5pdGlvbiIg +dHlwZT0idG5zOkVudW1EZWZpbml0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3Vu +ZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbnVtRGVmaW5pdGlvbiIgdHlwZT0i +dG5zOkxpc3RPZkVudW1EZWZpbml0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJOb2RlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg ICAgIDx4czpkb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0cmlidXRlcyB3aGljaCBiZWxv -bmcgdG8gdmFyaWFibGUgbm9kZXMuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3Rh -dGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpl -eHRlbnNpb24gYmFzZT0idG5zOkluc3RhbmNlTm9kZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0idWE6VmFyaWFudCIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlIiB0eXBl -PSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIg -Lz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcnJheURpbWVuc2lvbnMiIHR5cGU9InVh -Okxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJBY2Nlc3NMZXZlbCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBt -aW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlckFjY2Vzc0xl -dmVsIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJNaW5pbXVtU2FtcGxpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91Ymxl -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yaXpp -bmciIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJBY2Nlc3NMZXZlbEV4IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQog -ICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iVmFyaWFibGVOb2RlIiB0eXBlPSJ0bnM6VmFyaWFibGVOb2RlIiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJWYXJpYWJsZVR5cGVOb2RlIj4NCiAgICA8eHM6YW5ub3RhdGlv -bj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0cmlidXRlcyB3aGlj -aCBiZWxvbmcgdG8gdmFyaWFibGUgdHlwZSBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAg -PC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0K -ICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6VHlwZU5vZGUiPg0KICAgICAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUiIHR5cGU9InVhOlZhcmlh -bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlw -ZSIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlUmFuayIgdHlwZT0ieHM6aW50IiBtaW5PY2N1 -cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXJyYXlEaW1lbnNpb25zIiB0 -eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNBYnN0cmFjdCIgdHlwZT0ieHM6Ym9vbGVhbiIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRl -bnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iVmFyaWFibGVUeXBlTm9kZSIgdHlwZT0idG5zOlZhcmlhYmxlVHlw -ZU5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZmVyZW5jZVR5cGVOb2RlIj4N -CiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0 -aGUgYXR0cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gcmVmZXJlbmNlIHR5cGUgbm9kZXMuPC94czpk -b2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRl -bnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOlR5cGVOb2Rl -Ij4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Iklz -QWJzdHJhY3QiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJTeW1tZXRyaWMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbnZlcnNlTmFtZSIgdHlwZT0idWE6 -TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAg -PC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENv -bnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5j -ZVR5cGVOb2RlIiB0eXBlPSJ0bnM6UmVmZXJlbmNlVHlwZU5vZGUiIC8+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9Ik1ldGhvZE5vZGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhz -OmRvY3VtZW50YXRpb24+U3BlY2lmaWVzIHRoZSBhdHRyaWJ1dGVzIHdoaWNoIGJlbG9uZyB0byBt -ZXRob2Qgbm9kZXMuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAg -ICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24g -YmFzZT0idG5zOkluc3RhbmNlTm9kZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJFeGVjdXRhYmxlIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1 -cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlckV4ZWN1dGFibGUiIHR5 +bmcgdG8gYWxsIG5vZGVzLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+ +DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBl +PSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJOb2RlQ2xhc3MiIHR5cGU9InRuczpOb2RlQ2xhc3MiIG1pbk9jY3Vycz0i +MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZU5hbWUiIHR5cGU9InVhOlF1YWxp +ZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJEaXNwbGF5TmFtZSIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlc2NyaXB0 +aW9uIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVNYXNrIiB0eXBlPSJ4czp1bnNpZ25l +ZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlcldyaXRl +TWFzayIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlJvbGVQZXJtaXNzaW9ucyIgdHlwZT0idG5zOkxpc3RPZlJvbGVQZXJtaXNz +aW9uVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlVzZXJSb2xlUGVybWlzc2lvbnMiIHR5cGU9InRuczpMaXN0T2ZSb2xlUGVybWlz +c2lvblR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJBY2Nlc3NSZXN0cmljdGlvbnMiIHR5cGU9InhzOnVuc2lnbmVkU2hvcnQiIG1p +bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZXMiIHR5cGU9 +InRuczpMaXN0T2ZSZWZlcmVuY2VOb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9Ik5vZGUiIHR5cGU9InRuczpOb2RlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJMaXN0T2ZOb2RlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJOb2RlIiB0eXBlPSJ0bnM6Tm9kZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRl +ZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTm9kZSIgdHlwZT0idG5zOkxpc3RPZk5v +ZGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9Ikluc3RhbmNlTm9kZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+ +DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlIj4NCiAgICAgICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAg +PC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg +bmFtZT0iSW5zdGFuY2VOb2RlIiB0eXBlPSJ0bnM6SW5zdGFuY2VOb2RlIiAvPg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJUeXBlTm9kZSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVk +PSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlIj4NCiAgICAgICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNp +b24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iVHlwZU5vZGUiIHR5cGU9InRuczpUeXBlTm9kZSIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iT2JqZWN0Tm9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg +ICA8eHM6ZG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25n +IHRvIG9iamVjdCBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9u +Pg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVu +c2lvbiBiYXNlPSJ0bnM6SW5zdGFuY2VOb2RlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50Tm90aWZpZXIiIHR5cGU9InhzOnVuc2lnbmVk +Qnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94 +czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT2JqZWN0Tm9kZSIgdHlwZT0idG5zOk9iamVjdE5vZGUi +IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik9iamVjdFR5cGVOb2RlIj4NCiAgICA8eHM6 +YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0aGUgYXR0cmli +dXRlcyB3aGljaCBiZWxvbmcgdG8gb2JqZWN0IHR5cGUgbm9kZXMuPC94czpkb2N1bWVudGF0aW9u +Pg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZh +bHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOlR5cGVOb2RlIj4NCiAgICAgICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IklzQWJzdHJhY3QiIHR5 cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4N CiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1ldGhvZE5vZGUiIHR5cGU9InRuczpN -ZXRob2ROb2RlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJWaWV3Tm9kZSI+DQogICAg -PHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJh -c2U9InRuczpJbnN0YW5jZU5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iQ29udGFpbnNOb0xvb3BzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnROb3RpZmllciIg -dHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2Vx -dWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWaWV3Tm9kZSIgdHlwZT0i -dG5zOlZpZXdOb2RlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEYXRhVHlwZU5vZGUi -Pg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVu -c2lvbiBiYXNlPSJ0bnM6VHlwZU5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNBYnN0cmFjdCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlRGVmaW5pdGlv -biIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAg -PC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg -bmFtZT0iRGF0YVR5cGVOb2RlIiB0eXBlPSJ0bnM6RGF0YVR5cGVOb2RlIiAvPg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJSZWZlcmVuY2VOb2RlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg -ICAgIDx4czpkb2N1bWVudGF0aW9uPlNwZWNpZmllcyBhIHJlZmVyZW5jZSB3aGljaCBiZWxvbmdz -IHRvIGEgbm9kZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZVR5cGVJZCIg -dHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iSXNJbnZlcnNlIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXRJZCIgdHlwZT0idWE6RXhwYW5k -ZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 -ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNl -Tm9kZSIgdHlwZT0idG5zOlJlZmVyZW5jZU5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h -bWU9Ikxpc3RPZlJlZmVyZW5jZU5vZGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlJlZmVyZW5jZU5vZGUiIHR5cGU9InRuczpSZWZlcmVuY2VOb2RlIiBtaW5P -Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM -aXN0T2ZSZWZlcmVuY2VOb2RlIiB0eXBlPSJ0bnM6TGlzdE9mUmVmZXJlbmNlTm9kZSIgbmlsbGFi -bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQXJndW1l -bnQiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QW4gYXJn -dW1lbnQgZm9yIGEgbWV0aG9kLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRp -b24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTmFtZSIgdHlw -ZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iRGF0YVR5cGUiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlUmFuayIgdHlw -ZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcnJh -eURpbWVuc2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9iamVjdFR5cGVOb2RlIiB0eXBlPSJ0 +bnM6T2JqZWN0VHlwZU5vZGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhYmxl +Tm9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5TcGVj +aWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIHZhcmlhYmxlIG5vZGVzLjwveHM6 +ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250 +ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpJbnN0YW5j +ZU5vZGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iVmFsdWUiIHR5cGU9InVhOlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJEYXRhVHlwZSIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlUmFu +ayIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iQXJyYXlEaW1lbnNpb25zIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWNjZXNz +TGV2ZWwiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAg +IDx4czplbGVtZW50IG5hbWU9IlVzZXJBY2Nlc3NMZXZlbCIgdHlwZT0ieHM6dW5zaWduZWRCeXRl +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWluaW11bVNh +bXBsaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAg +ICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3Rvcml6aW5nIiB0eXBlPSJ4czpib29sZWFuIiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWNjZXNzTGV2ZWxFeCIg +dHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1 +ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlZhcmlhYmxlTm9kZSIgdHlw +ZT0idG5zOlZhcmlhYmxlTm9kZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVmFyaWFi +bGVUeXBlTm9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlv +bj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25nIHRvIHZhcmlhYmxlIHR5cGUg +bm9kZXMuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6 +Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0i +dG5zOlR5cGVOb2RlIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlZhbHVlIiB0eXBlPSJ1YTpWYXJpYW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVR5cGUiIHR5cGU9InVhOk5vZGVJZCIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJW +YWx1ZVJhbmsiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkFycmF5RGltZW5zaW9ucyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 +IklzQWJzdHJhY3QiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg +PC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENv +bnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlZhcmlhYmxl +VHlwZU5vZGUiIHR5cGU9InRuczpWYXJpYWJsZVR5cGVOb2RlIiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJSZWZlcmVuY2VUeXBlTm9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg +ICA8eHM6ZG9jdW1lbnRhdGlvbj5TcGVjaWZpZXMgdGhlIGF0dHJpYnV0ZXMgd2hpY2ggYmVsb25n +IHRvIHJlZmVyZW5jZSB0eXBlIG5vZGVzLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu +bm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8 +eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpUeXBlTm9kZSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpib29sZWFu +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3ltbWV0cmlj +IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iSW52ZXJzZU5hbWUiIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hz +OmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VUeXBlTm9kZSIgdHlwZT0idG5zOlJlZmVy +ZW5jZVR5cGVOb2RlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNZXRob2ROb2RlIj4N +CiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlNwZWNpZmllcyB0 +aGUgYXR0cmlidXRlcyB3aGljaCBiZWxvbmcgdG8gbWV0aG9kIG5vZGVzLjwveHM6ZG9jdW1lbnRh +dGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVk +PSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpJbnN0YW5jZU5vZGUiPg0K +ICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXhlY3V0 +YWJsZSIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlVzZXJFeGVjdXRhYmxlIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9 +IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAg +ICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJNZXRob2ROb2RlIiB0eXBlPSJ0bnM6TWV0aG9kTm9kZSIgLz4NCg0KICA8eHM6Y29t +cGxleFR5cGUgbmFtZT0iVmlld05vZGUiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0i +ZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SW5zdGFuY2VOb2RlIj4NCiAg +ICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkNvbnRhaW5z +Tm9Mb29wcyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4 +czplbGVtZW50IG5hbWU9IkV2ZW50Tm90aWZpZXIiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNp +b24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz +OmVsZW1lbnQgbmFtZT0iVmlld05vZGUiIHR5cGU9InRuczpWaWV3Tm9kZSIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iRGF0YVR5cGVOb2RlIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQg +bWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOlR5cGVOb2RlIj4N +CiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IklzQWJz +dHJhY3QiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJEYXRhVHlwZURlZmluaXRpb24iIHR5cGU9InVhOkV4dGVuc2lvbk9iamVj +dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5j +ZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwv +eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlTm9kZSIgdHlwZT0i +dG5zOkRhdGFUeXBlTm9kZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVmZXJlbmNl +Tm9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5TcGVj +aWZpZXMgYSByZWZlcmVuY2Ugd2hpY2ggYmVsb25ncyB0byBhIG5vZGUuPC94czpkb2N1bWVudGF0 +aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VUeXBlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IklzSW52ZXJz +ZSIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iVGFyZ2V0SWQiIHR5cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZU5vZGUiIHR5cGU9InRuczpSZWZlcmVuY2VO +b2RlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZSZWZlcmVuY2VOb2RlIj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VOb2Rl +IiB0eXBlPSJ0bnM6UmVmZXJlbmNlTm9kZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91 +bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w +bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUmVmZXJlbmNlTm9kZSIgdHlwZT0i +dG5zOkxpc3RPZlJlZmVyZW5jZU5vZGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoN +CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFyZ3VtZW50Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4N +CiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkFuIGFyZ3VtZW50IGZvciBhIG1ldGhvZC48L3hzOmRv +Y3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9Ik5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlIiB0 +eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZVJhbmsiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXJyYXlEaW1lbnNpb25zIiB0eXBlPSJ1YTpMaXN0 +T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBcmd1bWVudCIgdHlwZT0idG5zOkFyZ3VtZW50 +IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZBcmd1bWVudCI+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXJndW1lbnQiIHR5cGU9InRuczpB +cmd1bWVudCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iTGlzdE9mQXJndW1lbnQiIHR5cGU9InRuczpMaXN0T2ZBcmd1bWVudCIgbmls +bGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRW51 +bVZhbHVlVHlwZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlv +bj5BIG1hcHBpbmcgYmV0d2VlbiBhIHZhbHVlIG9mIGFuIGVudW1lcmF0ZWQgdHlwZSBhbmQgYSBu +YW1lIGFuZCBkZXNjcmlwdGlvbi48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 +aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlIiB0 +eXBlPSJ4czpsb25nIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJE +aXNwbGF5TmFtZSIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJs ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlc2NyaXB0aW9uIiB0eXBlPSJ1 YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv -eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFy -Z3VtZW50IiB0eXBlPSJ0bnM6QXJndW1lbnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 -Ikxpc3RPZkFyZ3VtZW50Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJBcmd1bWVudCIgdHlwZT0idG5zOkFyZ3VtZW50IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vy -cz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZBcmd1bWVudCIgdHlw -ZT0idG5zOkxpc3RPZkFyZ3VtZW50IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJFbnVtVmFsdWVUeXBlIj4NCiAgICA8eHM6YW5ub3RhdGlv -bj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgbWFwcGluZyBiZXR3ZWVuIGEgdmFsdWUgb2Yg -YW4gZW51bWVyYXRlZCB0eXBlIGFuZCBhIG5hbWUgYW5kIGRlc2NyaXB0aW9uLjwveHM6ZG9jdW1l -bnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUiIHR5cGU9InhzOmxvbmciIG1pbk9jY3Vycz0iMCIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc3BsYXlOYW1lIiB0eXBlPSJ1YTpMb2NhbGl6ZWRU -ZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iRGVzY3JpcHRpb24iIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRW51bVZhbHVlVHlwZSIgdHlwZT0idG5zOkVudW1WYWx1 -ZVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkVudW1WYWx1ZVR5cGUi -Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVudW1WYWx1ZVR5 -cGUiIHR5cGU9InRuczpFbnVtVmFsdWVUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5i -b3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbnVtVmFsdWVUeXBlIiB0eXBl -PSJ0bnM6TGlzdE9mRW51bVZhbHVlVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4N -Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRW51bUZpZWxkIj4NCiAgICA8eHM6Y29tcGxleENv -bnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkVudW1W -YWx1ZVR5cGUiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAg -PC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg -bmFtZT0iRW51bUZpZWxkIiB0eXBlPSJ0bnM6RW51bUZpZWxkIiAvPg0KDQogIDx4czpjb21wbGV4 -VHlwZSBuYW1lPSJMaXN0T2ZFbnVtRmllbGQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IkVudW1GaWVsZCIgdHlwZT0idG5zOkVudW1GaWVsZCIgbWluT2NjdXJz -PSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz -ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9m -RW51bUZpZWxkIiB0eXBlPSJ0bnM6TGlzdE9mRW51bUZpZWxkIiBuaWxsYWJsZT0idHJ1ZSI+PC94 -czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJPcHRpb25TZXQiPg0KICAgIDx4 -czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhpcyBhYnN0cmFjdCBTdHJ1 -Y3R1cmVkIERhdGFUeXBlIGlzIHRoZSBiYXNlIERhdGFUeXBlIGZvciBhbGwgRGF0YVR5cGVzIHJl -cHJlc2VudGluZyBhIGJpdCBtYXNrLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90 -YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUi -IHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbGlkQml0cyIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5 -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog -IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9wdGlvblNldCIgdHlwZT0i -dG5zOk9wdGlvblNldCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mT3B0aW9u -U2V0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPcHRpb25T -ZXQiIHR5cGU9InRuczpPcHRpb25TZXQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5k -ZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk9wdGlvblNldCIgdHlwZT0idG5zOkxp -c3RPZk9wdGlvblNldCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iVW5pb24iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRv -Y3VtZW50YXRpb24+VGhpcyBhYnN0cmFjdCBEYXRhVHlwZSBpcyB0aGUgYmFzZSBEYXRhVHlwZSBm -b3IgYWxsIHVuaW9uIERhdGFUeXBlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v -dGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVbmlvbiIgdHlwZT0idG5zOlVuaW9uIiAv -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZVbmlvbiI+DQogICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVW5pb24iIHR5cGU9InRuczpVbmlvbiIgbWlu -T2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -TGlzdE9mVW5pb24iIHR5cGU9InRuczpMaXN0T2ZVbmlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6 -ZWxlbWVudD4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOb3JtYWxpemVkU3RyaW5nIiB0eXBlPSJ4 -czpzdHJpbmciIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVjaW1hbFN0cmluZyIgdHlwZT0i -eHM6c3RyaW5nIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkR1cmF0aW9uU3RyaW5nIiB0eXBl -PSJ4czpzdHJpbmciIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZVN0cmluZyIgdHlwZT0i -eHM6c3RyaW5nIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkRhdGVTdHJpbmciIHR5cGU9Inhz -OnN0cmluZyIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEdXJhdGlvbiIgdHlwZT0ieHM6ZG91 -YmxlIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IlV0Y1RpbWUiIHR5cGU9InhzOmRhdGVUaW1l -IiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkxvY2FsZUlkIiB0eXBlPSJ4czpzdHJpbmciIC8+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlRpbWVab25lRGF0YVR5cGUiPg0KICAgIDx4czpz -ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik9mZnNldCIgdHlwZT0ieHM6c2hvcnQi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRheWxpZ2h0U2F2aW5n -SW5PZmZzZXQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lWm9u -ZURhdGFUeXBlIiB0eXBlPSJ0bnM6VGltZVpvbmVEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iTGlzdE9mVGltZVpvbmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZVpvbmVEYXRhVHlwZSIgdHlwZT0idG5zOlRpbWVa -b25lRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9Ikxpc3RPZlRpbWVab25lRGF0YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZU -aW1lWm9uZURhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpl -bGVtZW50IG5hbWU9IkludGVnZXJJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIC8+DQoNCiAgPHhz -OnNpbXBsZVR5cGUgIG5hbWU9IkFwcGxpY2F0aW9uVHlwZSI+DQogICAgPHhzOmFubm90YXRpb24+ -DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgdHlwZXMgb2YgYXBwbGljYXRpb25zLjwveHM6 -ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0aW9u -IGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNlcnZlcl8w -IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDbGllbnRfMSIgLz4NCiAgICAgIDx4 -czplbnVtZXJhdGlvbiB2YWx1ZT0iQ2xpZW50QW5kU2VydmVyXzIiIC8+DQogICAgICA8eHM6ZW51 -bWVyYXRpb24gdmFsdWU9IkRpc2NvdmVyeVNlcnZlcl8zIiAvPg0KICAgIDwveHM6cmVzdHJpY3Rp -b24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25U -eXBlIiB0eXBlPSJ0bnM6QXBwbGljYXRpb25UeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAg -IDx4czpkb2N1bWVudGF0aW9uPkRlc2NyaWJlcyBhbiBhcHBsaWNhdGlvbiBhbmQgaG93IHRvIGZp -bmQgaXQuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcHBsaWNhdGlvblVyaSIgdHlwZT0i -eHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iUHJvZHVjdFVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25OYW1l -IiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25UeXBlIiB0eXBlPSJ0bnM6QXBw -bGljYXRpb25UeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJH -YXRld2F5U2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjb3ZlcnlQcm9maWxlVXJpIiB0 -eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJEaXNjb3ZlcnlVcmxzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXBwbGljYXRpb25EZXNjcmlwdGlv -biIgdHlwZT0idG5zOkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9Ikxpc3RPZkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5j -ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIHR5cGU9 -InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5i -b3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZBcHBsaWNhdGlvbkRlc2NyaXB0 -aW9uIiB0eXBlPSJ0bnM6TGlzdE9mQXBwbGljYXRpb25EZXNjcmlwdGlvbiIgbmlsbGFibGU9InRy -dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVxdWVzdEhlYWRl -ciI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgaGVh -ZGVyIHBhc3NlZCB3aXRoIGV2ZXJ5IHNlcnZlciByZXF1ZXN0LjwveHM6ZG9jdW1lbnRhdGlvbj4N +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkVu +dW1WYWx1ZVR5cGUiIHR5cGU9InRuczpFbnVtVmFsdWVUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJMaXN0T2ZFbnVtVmFsdWVUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJFbnVtVmFsdWVUeXBlIiB0eXBlPSJ0bnM6RW51bVZhbHVlVHlw +ZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg +bmFtZT0iTGlzdE9mRW51bVZhbHVlVHlwZSIgdHlwZT0idG5zOkxpc3RPZkVudW1WYWx1ZVR5cGUi +IG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +IkVudW1GaWVsZCI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAg +ICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpFbnVtVmFsdWVUeXBlIj4NCiAgICAgICAgPHhzOnNl +cXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5hbWUiIHR5cGU9InhzOnN0cmlu +ZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5j +ZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwv +eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkVudW1GaWVsZCIgdHlwZT0idG5z +OkVudW1GaWVsZCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRW51bUZpZWxk +Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbnVtRmllbGQi +IHR5cGU9InRuczpFbnVtRmllbGQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkVudW1GaWVsZCIgdHlwZT0idG5zOkxpc3RP +ZkVudW1GaWVsZCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iT3B0aW9uU2V0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpk +b2N1bWVudGF0aW9uPlRoaXMgYWJzdHJhY3QgU3RydWN0dXJlZCBEYXRhVHlwZSBpcyB0aGUgYmFz +ZSBEYXRhVHlwZSBmb3IgYWxsIERhdGFUeXBlcyByZXByZXNlbnRpbmcgYSBiaXQgbWFzay48L3hz +OmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJW +YWxpZEJpdHMiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJPcHRpb25TZXQiIHR5cGU9InRuczpPcHRpb25TZXQiIC8+DQoNCiAgPHhz +OmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk9wdGlvblNldCI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT3B0aW9uU2V0IiB0eXBlPSJ0bnM6T3B0aW9uU2V0IiBt +aW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJMaXN0T2ZPcHRpb25TZXQiIHR5cGU9InRuczpMaXN0T2ZPcHRpb25TZXQiIG5pbGxhYmxlPSJ0 +cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlVuaW9uIj4NCiAg +ICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoaXMgYWJzdHJhY3Qg +RGF0YVR5cGUgaXMgdGhlIGJhc2UgRGF0YVR5cGUgZm9yIGFsbCB1bmlvbiBEYXRhVHlwZXMuPC94 +czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+ +DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg +bmFtZT0iVW5pb24iIHR5cGU9InRuczpVbmlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iTGlzdE9mVW5pb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlVuaW9uIiB0eXBlPSJ0bnM6VW5pb24iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJv +dW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlVuaW9uIiB0eXBlPSJ0bnM6TGlz +dE9mVW5pb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmVsZW1lbnQg +bmFtZT0iTm9ybWFsaXplZFN0cmluZyIgdHlwZT0ieHM6c3RyaW5nIiAvPg0KDQogIDx4czplbGVt +ZW50IG5hbWU9IkRlY2ltYWxTdHJpbmciIHR5cGU9InhzOnN0cmluZyIgLz4NCg0KICA8eHM6ZWxl +bWVudCBuYW1lPSJEdXJhdGlvblN0cmluZyIgdHlwZT0ieHM6c3RyaW5nIiAvPg0KDQogIDx4czpl +bGVtZW50IG5hbWU9IlRpbWVTdHJpbmciIHR5cGU9InhzOnN0cmluZyIgLz4NCg0KICA8eHM6ZWxl +bWVudCBuYW1lPSJEYXRlU3RyaW5nIiB0eXBlPSJ4czpzdHJpbmciIC8+DQoNCiAgPHhzOmVsZW1l +bnQgbmFtZT0iRHVyYXRpb24iIHR5cGU9InhzOmRvdWJsZSIgLz4NCg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJVdGNUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJMb2NhbGVJZCIgdHlwZT0ieHM6c3RyaW5nIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJUaW1lWm9uZURhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJPZmZzZXQiIHR5cGU9InhzOnNob3J0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJEYXlsaWdodFNhdmluZ0luT2Zmc2V0IiB0eXBlPSJ4czpib29sZWFu +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZVpvbmVEYXRhVHlwZSIgdHlwZT0idG5zOlRpbWVa +b25lRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlRpbWVab25l +RGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRp +bWVab25lRGF0YVR5cGUiIHR5cGU9InRuczpUaW1lWm9uZURhdGFUeXBlIiBtaW5PY2N1cnM9IjAi +IG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl +bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZUaW1l +Wm9uZURhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mVGltZVpvbmVEYXRhVHlwZSIgbmlsbGFibGU9 +InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJJbnRlZ2VySWQiIHR5 +cGU9InhzOnVuc2lnbmVkSW50IiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJBcHBsaWNh +dGlvblR5cGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+ +VGhlIHR5cGVzIG9mIGFwcGxpY2F0aW9ucy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czph +bm5vdGF0aW9uPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAg +PHhzOmVudW1lcmF0aW9uIHZhbHVlPSJTZXJ2ZXJfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv +biB2YWx1ZT0iQ2xpZW50XzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkNsaWVu +dEFuZFNlcnZlcl8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEaXNjb3ZlcnlT +ZXJ2ZXJfMyIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9IkFwcGxpY2F0aW9uVHlwZSIgdHlwZT0idG5zOkFwcGxpY2F0aW9u +VHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQXBwbGljYXRpb25EZXNjcmlwdGlv +biI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5EZXNjcmli +ZXMgYW4gYXBwbGljYXRpb24gYW5kIGhvdyB0byBmaW5kIGl0LjwveHM6ZG9jdW1lbnRhdGlvbj4N CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iQXV0aGVudGljYXRpb25Ub2tlbiIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0YW1w -IiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iUmVxdWVzdEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldHVybkRpYWdub3N0aWNzIiB0eXBlPSJ4czp1 -bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXVk -aXRFbnRyeUlkIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lb3V0SGludCIgdHlwZT0ieHM6dW5zaWdu -ZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZGl0aW9u -YWxIZWFkZXIiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVzcG9uc2VIZWFkZXIiPg0KICAgIDx4czph -bm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGhlYWRlciBwYXNzZWQgd2l0 -aCBldmVyeSBzZXJ2ZXIgcmVzcG9uc2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5u -b3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1l -c3RhbXAiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJSZXF1ZXN0SGFuZGxlIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmljZVJlc3VsdCIgdHlwZT0idWE6 -U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vy -dmljZURpYWdub3N0aWNzIiB0eXBlPSJ1YTpEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0cmluZ1RhYmxlIiB0 -eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +bnQgbmFtZT0iQXBwbGljYXRpb25VcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlByb2R1Y3RVcmkiIHR5 +cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IkFwcGxpY2F0aW9uTmFtZSIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkFwcGxpY2F0aW9uVHlwZSIgdHlwZT0idG5zOkFwcGxpY2F0aW9uVHlwZSIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iR2F0ZXdheVNlcnZlclVyaSIgdHlwZT0ieHM6 +c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iRGlzY292ZXJ5UHJvZmlsZVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzY292ZXJ5 +VXJscyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9IkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIHR5cGU9InRuczpBcHBsaWNhdGlvbkRl +c2NyaXB0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZBcHBsaWNhdGlv +bkRlc2NyaXB0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6QXBwbGljYXRpb25EZXNjcmlwdGlv +biIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg +bmFtZT0iTGlzdE9mQXBwbGljYXRpb25EZXNjcmlwdGlvbiIgdHlwZT0idG5zOkxpc3RPZkFwcGxp +Y2F0aW9uRGVzY3JpcHRpb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhz +OmNvbXBsZXhUeXBlIG5hbWU9IlJlcXVlc3RIZWFkZXIiPg0KICAgIDx4czphbm5vdGF0aW9uPg0K +ICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGhlYWRlciBwYXNzZWQgd2l0aCBldmVyeSBzZXJ2 +ZXIgcmVxdWVzdC48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkF1dGhlbnRpY2F0aW9uVG9r +ZW4iIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlRpbWVzdGFtcCIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9j +Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIYW5kbGUiIHR5cGU9 +InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJSZXR1cm5EaWFnbm9zdGljcyIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkF1ZGl0RW50cnlJZCIgdHlwZT0ieHM6c3RyaW5n +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iVGltZW91dEhpbnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQog ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGRpdGlvbmFsSGVhZGVyIiB0eXBlPSJ1YTpFeHRlbnNp b25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 -ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VI -ZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJWZXJzaW9uVGltZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IlNlcnZpY2VGYXVsdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6 -ZG9jdW1lbnRhdGlvbj5UaGUgcmVzcG9uc2UgcmV0dXJuZWQgYnkgYWxsIHNlcnZpY2VzIHdoZW4g -dGhlcmUgaXMgYSBzZXJ2aWNlIGxldmVsIGVycm9yLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8 -L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIw +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhl +YWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9IlJlc3BvbnNlSGVhZGVyIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1 +bWVudGF0aW9uPlRoZSBoZWFkZXIgcGFzc2VkIHdpdGggZXZlcnkgc2VydmVyIHJlc3BvbnNlLjwv +eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0YW1wIiB0eXBlPSJ4czpkYXRlVGltZSIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhhbmRsZSIg +dHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlNlcnZpY2VSZXN1bHQiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZpY2VEaWFnbm9zdGljcyIgdHlwZT0idWE6 +RGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJTdHJpbmdUYWJsZSIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWRk +aXRpb25hbEhlYWRlciIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VI +ZWFkZXIiIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iVmVyc2lvblRpbWUiIHR5cGU9InhzOnVu +c2lnbmVkSW50IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXJ2aWNlRmF1bHQiPg0K +ICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIHJlc3BvbnNl +IHJldHVybmVkIGJ5IGFsbCBzZXJ2aWNlcyB3aGVuIHRoZXJlIGlzIGEgc2VydmljZSBsZXZlbCBl +cnJvci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0 +bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +U2VydmljZUZhdWx0IiB0eXBlPSJ0bnM6U2VydmljZUZhdWx0IiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJTZXNzaW9ubGVzc0ludm9rZVJlcXVlc3RUeXBlIj4NCiAgICA8eHM6c2VxdWVu +Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVcmlzVmVyc2lvbiIgdHlwZT0idWE6TGlzdE9m +VUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iTmFtZXNwYWNlVXJpcyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9 +IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVXJp +cyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJp +bmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJTZXJ2aWNlSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iU2Vzc2lvbmxlc3NJbnZva2VSZXF1ZXN0VHlwZSIgdHlwZT0idG5zOlNlc3Npb25sZXNzSW52 +b2tlUmVxdWVzdFR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlc3Npb25sZXNz +SW52b2tlUmVzcG9uc2VUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJOYW1lc3BhY2VVcmlzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJVcmlz +IiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2aWNlSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbmxlc3NJbnZva2VSZXNwb25zZVR5cGUiIHR5 +cGU9InRuczpTZXNzaW9ubGVzc0ludm9rZVJlc3BvbnNlVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iRmluZFNlcnZlcnNSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg +ICAgIDx4czpkb2N1bWVudGF0aW9uPkZpbmRzIHRoZSBzZXJ2ZXJzIGtub3duIHRvIHRoZSBkaXNj +b3Zlcnkgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQog +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIg +dHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVybCIgdHlwZT0ieHM6c3RyaW5nIiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +TG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJVcmlzIiB0eXBlPSJ1YTpM +aXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz +ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRmluZFNl +cnZlcnNSZXF1ZXN0IiB0eXBlPSJ0bnM6RmluZFNlcnZlcnNSZXF1ZXN0IiAvPg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJGaW5kU2VydmVyc1Jlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlv +bj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkZpbmRzIHRoZSBzZXJ2ZXJzIGtub3duIHRvIHRo +ZSBkaXNjb3Zlcnkgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRp +b24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VI +ZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlcnMiIHR5cGU9InRuczpMaXN0 +T2ZBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9IkZpbmRTZXJ2ZXJzUmVzcG9uc2UiIHR5cGU9InRuczpGaW5kU2VydmVyc1Jlc3BvbnNl +IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXJ2ZXJPbk5ldHdvcmsiPg0KICAgIDx4 +czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlY29yZElkIiB0eXBlPSJ4czp1 +bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vy +dmVyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzY292ZXJ5VXJsIiB0eXBlPSJ4czpzdHJpbmci +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJTZXJ2ZXJDYXBhYmlsaXRpZXMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIw IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2aWNlRmF1bHQiIHR5cGU9InRuczpTZXJ2aWNl -RmF1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlc3Npb25sZXNzSW52b2tlUmVx -dWVzdFR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVy -aXNWZXJzaW9uIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOYW1lc3BhY2VVcmlzIiB0eXBlPSJ1 -YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJVcmlzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMb2Nh -bGVJZHMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZpY2VJZCIgdHlwZT0ieHM6dW5zaWdu -ZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9ubGVzc0ludm9rZVJlcXVlc3RUeXBl -IiB0eXBlPSJ0bnM6U2Vzc2lvbmxlc3NJbnZva2VSZXF1ZXN0VHlwZSIgLz4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iU2Vzc2lvbmxlc3NJbnZva2VSZXNwb25zZVR5cGUiPg0KICAgIDx4czpz -ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5hbWVzcGFjZVVyaXMiIHR5cGU9InVh -Okxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlNlcnZlclVyaXMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZp -Y2VJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9u -bGVzc0ludm9rZVJlc3BvbnNlVHlwZSIgdHlwZT0idG5zOlNlc3Npb25sZXNzSW52b2tlUmVzcG9u -c2VUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJGaW5kU2VydmVyc1JlcXVlc3Qi -Pg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+RmluZHMgdGhl -IHNlcnZlcnMga25vd24gdG8gdGhlIGRpc2NvdmVyeSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0aW9u -Pg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBv -aW50VXJsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMb2NhbGVJZHMiIHR5cGU9InVhOkxpc3RPZlN0cmlu -ZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlNlcnZlclVyaXMiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJGaW5kU2VydmVyc1JlcXVlc3QiIHR5cGU9InRuczpGaW5kU2Vy -dmVyc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkZpbmRTZXJ2ZXJzUmVz -cG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Rmlu -ZHMgdGhlIHNlcnZlcnMga25vd24gdG8gdGhlIGRpc2NvdmVyeSBzZXJ2ZXIuPC94czpkb2N1bWVu -dGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVy +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJPbk5ldHdvcmsiIHR5cGU9InRuczpTZXJ2 +ZXJPbk5ldHdvcmsiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlNlcnZlck9u +TmV0d29yayI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vy +dmVyT25OZXR3b3JrIiB0eXBlPSJ0bnM6U2VydmVyT25OZXR3b3JrIiBtaW5PY2N1cnM9IjAiIG1h +eE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl +Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTZXJ2ZXJP +bk5ldHdvcmsiIHR5cGU9InRuczpMaXN0T2ZTZXJ2ZXJPbk5ldHdvcmsiIG5pbGxhYmxlPSJ0cnVl +Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkZpbmRTZXJ2ZXJzT25O +ZXR3b3JrUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFydGluZ1JlY29y +ZElkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iTWF4UmVjb3Jkc1RvUmV0dXJuIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyQ2FwYWJpbGl0eUZp +bHRlciIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9IkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVxdWVzdCIgdHlwZT0idG5zOkZpbmRTZXJ2 +ZXJzT25OZXR3b3JrUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRmluZFNl +cnZlcnNPbk5ldHdvcmtSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxh +c3RDb3VudGVyUmVzZXRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVycyIgdHlwZT0idG5zOkxpc3RPZlNlcnZlck9u +TmV0d29yayIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVl +bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJGaW5kU2VydmVy +c09uTmV0d29ya1Jlc3BvbnNlIiB0eXBlPSJ0bnM6RmluZFNlcnZlcnNPbk5ldHdvcmtSZXNwb25z +ZSIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBcHBsaWNhdGlvbkluc3RhbmNlQ2VydGlmaWNh +dGUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0i +TWVzc2FnZVNlY3VyaXR5TW9kZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9j +dW1lbnRhdGlvbj5UaGUgdHlwZSBvZiBzZWN1cml0eSB0byB1c2Ugb24gYSBtZXNzYWdlLjwveHM6 +ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0aW9u +IGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkludmFsaWRf +MCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9uZV8xIiAvPg0KICAgICAgPHhz +OmVudW1lcmF0aW9uIHZhbHVlPSJTaWduXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs +dWU9IlNpZ25BbmRFbmNyeXB0XzMiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpz +aW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNZXNzYWdlU2VjdXJpdHlNb2RlIiB0eXBl +PSJ0bnM6TWVzc2FnZVNlY3VyaXR5TW9kZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0i +VXNlclRva2VuVHlwZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRh +dGlvbj5UaGUgcG9zc2libGUgdXNlciB0b2tlbiB0eXBlcy48L3hzOmRvY3VtZW50YXRpb24+DQog +ICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmci +Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBbm9ueW1vdXNfMCIgLz4NCiAgICAgIDx4 +czplbnVtZXJhdGlvbiB2YWx1ZT0iVXNlck5hbWVfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv +biB2YWx1ZT0iQ2VydGlmaWNhdGVfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i +SXNzdWVkVG9rZW5fMyIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVzZXJUb2tlblR5cGUiIHR5cGU9InRuczpVc2VyVG9r +ZW5UeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJVc2VyVG9rZW5Qb2xpY3kiPg0K +ICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+RGVzY3JpYmVzIGEg +dXNlciB0b2tlbiB0aGF0IGNhbiBiZSB1c2VkIHdpdGggYSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0 +aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJQb2xpY3lJZCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVG9rZW5UeXBlIiB0eXBl +PSJ0bnM6VXNlclRva2VuVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iSXNzdWVkVG9rZW5UeXBlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc3N1ZXJFbmRwb2ludFVy +bCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlQb2xpY3lVcmkiIHR5cGU9InhzOnN0cmluZyIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyVG9rZW5Qb2xpY3kiIHR5 +cGU9InRuczpVc2VyVG9rZW5Qb2xpY3kiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxp +c3RPZlVzZXJUb2tlblBvbGljeSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iVXNlclRva2VuUG9saWN5IiB0eXBlPSJ0bnM6VXNlclRva2VuUG9saWN5IiBtaW5P +Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM +aXN0T2ZVc2VyVG9rZW5Qb2xpY3kiIHR5cGU9InRuczpMaXN0T2ZVc2VyVG9rZW5Qb2xpY3kiIG5p +bGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVu +ZHBvaW50RGVzY3JpcHRpb24iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3Vt +ZW50YXRpb24+VGhlIGRlc2NyaXB0aW9uIG9mIGEgZW5kcG9pbnQgdGhhdCBjYW4gYmUgdXNlZCB0 +byBhY2Nlc3MgYSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlv +bj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVy +bCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyIiB0eXBlPSJ0bnM6QXBwbGljYXRpb25EZXNjcmlw +dGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlNlcnZlckNlcnRpZmljYXRlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0 +eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVBvbGljeVVyaSIgdHlwZT0ieHM6c3RyaW5n IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iU2VydmVycyIgdHlwZT0idG5zOkxpc3RPZkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRmluZFNlcnZlcnNSZXNwb25zZSIgdHlw -ZT0idG5zOkZpbmRTZXJ2ZXJzUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 -IlNlcnZlck9uTmV0d29yayI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iUmVjb3JkSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNj -b3ZlcnlVcmwiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlckNhcGFiaWxpdGllcyIgdHlwZT0idWE6 -TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 -c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNlcnZl -ck9uTmV0d29yayIgdHlwZT0idG5zOlNlcnZlck9uTmV0d29yayIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iTGlzdE9mU2VydmVyT25OZXR3b3JrIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJPbk5ldHdvcmsiIHR5cGU9InRuczpTZXJ2ZXJP -bk5ldHdvcmsiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9Ikxpc3RPZlNlcnZlck9uTmV0d29yayIgdHlwZT0idG5zOkxpc3RPZlNlcnZl -ck9uTmV0d29yayIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iRmluZFNlcnZlcnNPbk5ldHdvcmtSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVx -dWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlN0YXJ0aW5nUmVjb3JkSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhSZWNvcmRzVG9SZXR1cm4i -IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJTZXJ2ZXJDYXBhYmlsaXR5RmlsdGVyIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRmluZFNlcnZlcnNPbk5ldHdvcmtS -ZXF1ZXN0IiB0eXBlPSJ0bnM6RmluZFNlcnZlcnNPbk5ldHdvcmtSZXF1ZXN0IiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJGaW5kU2VydmVyc09uTmV0d29ya1Jlc3BvbnNlIj4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlw -ZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdENvdW50ZXJSZXNldFRpbWUiIHR5cGU9InhzOmRh -dGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJz -IiB0eXBlPSJ0bnM6TGlzdE9mU2VydmVyT25OZXR3b3JrIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9IkZpbmRTZXJ2ZXJzT25OZXR3b3JrUmVzcG9uc2UiIHR5cGU9InRuczpG -aW5kU2VydmVyc09uTmV0d29ya1Jlc3BvbnNlIiAvPg0KDQogIDx4czplbGVtZW50IG5hbWU9IkFw -cGxpY2F0aW9uSW5zdGFuY2VDZXJ0aWZpY2F0ZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiAvPg0K -DQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJNZXNzYWdlU2VjdXJpdHlNb2RlIj4NCiAgICA8eHM6 -YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSB0eXBlIG9mIHNlY3VyaXR5 -IHRvIHVzZSBvbiBhIG1lc3NhZ2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3Rh -dGlvbj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czpl -bnVtZXJhdGlvbiB2YWx1ZT0iSW52YWxpZF8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh -bHVlPSJOb25lXzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNpZ25fMiIgLz4N -CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU2lnbkFuZEVuY3J5cHRfMyIgLz4NCiAgICA8 -L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -Ik1lc3NhZ2VTZWN1cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiAvPg0K -DQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJVc2VyVG9rZW5UeXBlIj4NCiAgICA8eHM6YW5ub3Rh -dGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBwb3NzaWJsZSB1c2VyIHRva2VuIHR5 -cGVzLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJl -c3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 -IkFub255bW91c18wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVc2VyTmFtZV8x -IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJDZXJ0aWZpY2F0ZV8yIiAvPg0KICAg -ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJc3N1ZWRUb2tlbl8zIiAvPg0KICAgIDwveHM6cmVz -dHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlclRv -a2VuVHlwZSIgdHlwZT0idG5zOlVzZXJUb2tlblR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9IlVzZXJUb2tlblBvbGljeSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6 -ZG9jdW1lbnRhdGlvbj5EZXNjcmliZXMgYSB1c2VyIHRva2VuIHRoYXQgY2FuIGJlIHVzZWQgd2l0 -aCBhIHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBvbGljeUlkIiB0eXBlPSJ4 -czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJUb2tlblR5cGUiIHR5cGU9InRuczpVc2VyVG9rZW5UeXBlIiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc3N1ZWRUb2tlblR5cGUiIHR5cGU9Inhz -OnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9Iklzc3VlckVuZHBvaW50VXJsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVBv -bGljeVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9IlVzZXJUb2tlblBvbGljeSIgdHlwZT0idG5zOlVzZXJUb2tlblBvbGljeSIgLz4NCg0K -ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mVXNlclRva2VuUG9saWN5Ij4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyVG9rZW5Qb2xpY3kiIHR5cGU9 -InRuczpVc2VyVG9rZW5Qb2xpY3kiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlVzZXJUb2tlblBvbGljeSIgdHlwZT0idG5z -Okxpc3RPZlVzZXJUb2tlblBvbGljeSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0K -ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRW5kcG9pbnREZXNjcmlwdGlvbiI+DQogICAgPHhzOmFu -bm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgZGVzY3JpcHRpb24gb2YgYSBl -bmRwb2ludCB0aGF0IGNhbiBiZSB1c2VkIHRvIGFjY2VzcyBhIHNlcnZlci48L3hzOmRvY3VtZW50 -YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IkVuZHBvaW50VXJsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXIiIHR5 -cGU9InRuczpBcHBsaWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyQ2VydGlmaWNhdGUiIHR5cGU9 -InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5TW9kZSIgdHlwZT0idG5zOk1lc3NhZ2VTZWN1cml0 -eU1vZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5 -UG9saWN5VXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VySWRlbnRpdHlUb2tlbnMiIHR5cGU9InRu -czpMaXN0T2ZVc2VyVG9rZW5Qb2xpY3kiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc3BvcnRQcm9maWxlVXJpIiB0eXBlPSJ4czpz -dHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJTZWN1cml0eUxldmVsIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJFbmRwb2ludERlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6RW5kcG9pbnREZXNjcmlw -dGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mRW5kcG9pbnREZXNjcmlw -dGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5kcG9p -bnREZXNjcmlwdGlvbiIgdHlwZT0idG5zOkVuZHBvaW50RGVzY3JpcHRpb24iIG1pbk9jY3Vycz0i -MCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkVu -ZHBvaW50RGVzY3JpcHRpb24iIHR5cGU9InRuczpMaXN0T2ZFbmRwb2ludERlc2NyaXB0aW9uIiBu -aWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJH -ZXRFbmRwb2ludHNSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1 -bWVudGF0aW9uPkdldHMgdGhlIGVuZHBvaW50cyB1c2VkIGJ5IHRoZSBzZXJ2ZXIuPC94czpkb2N1 -bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRl -ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IkVuZHBvaW50VXJsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMb2NhbGVJZHMiIHR5cGU9InVhOkxp -c3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlByb2ZpbGVVcmlzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iR2V0RW5kcG9pbnRzUmVxdWVzdCIgdHlwZT0i -dG5zOkdldEVuZHBvaW50c1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikdl -dEVuZHBvaW50c1Jlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1 -bWVudGF0aW9uPkdldHMgdGhlIGVuZHBvaW50cyB1c2VkIGJ5IHRoZSBzZXJ2ZXIuPC94czpkb2N1 -bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVh -ZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iRW5kcG9pbnRzIiB0eXBlPSJ0bnM6TGlzdE9mRW5kcG9pbnREZXNjcmlwdGlvbiIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJHZXRFbmRwb2ludHNSZXNwb25zZSIg -dHlwZT0idG5zOkdldEVuZHBvaW50c1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJSZWdpc3RlcmVkU2VydmVyIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpk -b2N1bWVudGF0aW9uPlRoZSBpbmZvcm1hdGlvbiByZXF1aXJlZCB0byByZWdpc3RlciBhIHNlcnZl -ciB3aXRoIGEgZGlzY292ZXJ5IHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czph -bm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNl -cnZlclVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJvZHVjdFVyaSIgdHlwZT0ieHM6c3RyaW5nIiBt +ZT0iVXNlcklkZW50aXR5VG9rZW5zIiB0eXBlPSJ0bnM6TGlzdE9mVXNlclRva2VuUG9saWN5IiBt aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -U2VydmVyTmFtZXMiIHR5cGU9InVhOkxpc3RPZkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJUeXBlIiB0 -eXBlPSJ0bnM6QXBwbGljYXRpb25UeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJHYXRld2F5U2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjb3ZlcnlV -cmxzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZW1hcGhvcmVGaWxlUGF0aCIgdHlwZT0ieHM6 +VHJhbnNwb3J0UHJvZmlsZVVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlMZXZlbCIgdHlw +ZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRW5kcG9pbnREZXNjcmlw +dGlvbiIgdHlwZT0idG5zOkVuZHBvaW50RGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9Ikxpc3RPZkVuZHBvaW50RGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50RGVzY3JpcHRpb24iIHR5cGU9InRuczpF +bmRwb2ludERlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZFbmRwb2ludERlc2NyaXB0aW9uIiB0eXBlPSJ0 +bnM6TGlzdE9mRW5kcG9pbnREZXNjcmlwdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVu +dD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iR2V0RW5kcG9pbnRzUmVxdWVzdCI+DQogICAg +PHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5HZXRzIHRoZSBlbmRwb2lu +dHMgdXNlZCBieSB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90 +YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVz +dEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVybCIgdHlwZT0ieHM6 c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iSXNPbmxpbmUiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJSZWdpc3RlcmVkU2VydmVyIiB0eXBlPSJ0bnM6UmVnaXN0ZXJlZFNlcnZlciIgLz4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUmVnaXN0ZXJlZFNlcnZlciI+DQogICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJlZFNlcnZlciIgdHlwZT0i -dG5zOlJlZ2lzdGVyZWRTZXJ2ZXIiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlJlZ2lzdGVyZWRTZXJ2ZXIiIHR5cGU9InRu -czpMaXN0T2ZSZWdpc3RlcmVkU2VydmVyIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWdpc3RlclNlcnZlclJlcXVlc3QiPg0KICAgIDx4 -czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+UmVnaXN0ZXJzIGEgc2VydmVy -IHdpdGggdGhlIGRpc2NvdmVyeSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6 -YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS -ZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlciIgdHlwZT0idG5z -OlJlZ2lzdGVyZWRTZXJ2ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +bnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBlPSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQcm9maWxlVXJpcyIg +dHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h +bWU9IkdldEVuZHBvaW50c1JlcXVlc3QiIHR5cGU9InRuczpHZXRFbmRwb2ludHNSZXF1ZXN0IiAv +Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJHZXRFbmRwb2ludHNSZXNwb25zZSI+DQogICAg +PHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5HZXRzIHRoZSBlbmRwb2lu +dHMgdXNlZCBieSB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90 +YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9u +c2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50cyIgdHlwZT0idG5z +Okxpc3RPZkVuZHBvaW50RGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iR2V0RW5kcG9pbnRzUmVzcG9uc2UiIHR5cGU9InRuczpHZXRFbmRwb2ludHNSZXNw +b25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJlZFNlcnZlciI+DQog +ICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgaW5mb3JtYXRp +b24gcmVxdWlyZWQgdG8gcmVnaXN0ZXIgYSBzZXJ2ZXIgd2l0aCBhIGRpc2NvdmVyeSBzZXJ2ZXIu +PC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVu +Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJVcmkiIHR5cGU9InhzOnN0cmluZyIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlByb2R1Y3RVcmkiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlck5hbWVzIiB0eXBlPSJ1YTpMaXN0 +T2ZMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVHlwZSIgdHlwZT0idG5zOkFwcGxpY2F0aW9uVHlwZSIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iR2F0ZXdheVNlcnZlclVy +aSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzY292ZXJ5VXJscyIgdHlwZT0idWE6TGlzdE9mU3RyaW5n +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iU2VtYXBob3JlRmlsZVBhdGgiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IklzT25saW5lIiB0eXBlPSJ4 +czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj +b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJlZFNlcnZlciIgdHlwZT0i +dG5zOlJlZ2lzdGVyZWRTZXJ2ZXIiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RP +ZlJlZ2lzdGVyZWRTZXJ2ZXIiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlJlZ2lzdGVyZWRTZXJ2ZXIiIHR5cGU9InRuczpSZWdpc3RlcmVkU2VydmVyIiBtaW5P +Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM +aXN0T2ZSZWdpc3RlcmVkU2VydmVyIiB0eXBlPSJ0bnM6TGlzdE9mUmVnaXN0ZXJlZFNlcnZlciIg +bmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i +UmVnaXN0ZXJTZXJ2ZXJSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpk +b2N1bWVudGF0aW9uPlJlZ2lzdGVycyBhIHNlcnZlciB3aXRoIHRoZSBkaXNjb3Zlcnkgc2VydmVy +LjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVl +bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJl +cXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJTZXJ2ZXIiIHR5cGU9InRuczpSZWdpc3RlcmVkU2VydmVyIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyU2VydmVyUmVxdWVzdCIgdHlw +ZT0idG5zOlJlZ2lzdGVyU2VydmVyUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iUmVnaXN0ZXJTZXJ2ZXJSZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8 +eHM6ZG9jdW1lbnRhdGlvbj5SZWdpc3RlcnMgYSBzZXJ2ZXIgd2l0aCB0aGUgZGlzY292ZXJ5IHNl +cnZlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0 +bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -UmVnaXN0ZXJTZXJ2ZXJSZXF1ZXN0IiB0eXBlPSJ0bnM6UmVnaXN0ZXJTZXJ2ZXJSZXF1ZXN0IiAv -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWdpc3RlclNlcnZlclJlc3BvbnNlIj4NCiAg -ICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlJlZ2lzdGVycyBhIHNl -cnZlciB3aXRoIHRoZSBkaXNjb3Zlcnkgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8 -L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWdpc3RlclNlcnZlclJlc3BvbnNlIiB0eXBlPSJ0 -bnM6UmVnaXN0ZXJTZXJ2ZXJSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -RGlzY292ZXJ5Q29uZmlndXJhdGlvbiI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6 -ZG9jdW1lbnRhdGlvbj5BIGJhc2UgdHlwZSBmb3IgZGlzY292ZXJ5IGNvbmZpZ3VyYXRpb24gaW5m -b3JtYXRpb24uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iRGlzY292ZXJ5Q29uZmlndXJhdGlvbiIgdHlwZT0idG5zOkRpc2Nv -dmVyeUNvbmZpZ3VyYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1kbnNEaXNj -b3ZlcnlDb25maWd1cmF0aW9uIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1 -bWVudGF0aW9uPlRoZSBkaXNjb3ZlcnkgaW5mb3JtYXRpb24gbmVlZGVkIGZvciBtRE5TIHJlZ2lz -dHJhdGlvbi48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4 +UmVnaXN0ZXJTZXJ2ZXJSZXNwb25zZSIgdHlwZT0idG5zOlJlZ2lzdGVyU2VydmVyUmVzcG9uc2Ui +IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iPg0K +ICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBiYXNlIHR5cGUg +Zm9yIGRpc2NvdmVyeSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uLjwveHM6ZG9jdW1lbnRhdGlv +bj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2Vx +dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRpc2NvdmVy +eUNvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiAvPg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJNZG5zRGlzY292ZXJ5Q29uZmlndXJhdGlvbiI+DQogICAg +PHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgZGlzY292ZXJ5IGlu +Zm9ybWF0aW9uIG5lZWRlZCBmb3IgbUROUyByZWdpc3RyYXRpb24uPC94czpkb2N1bWVudGF0aW9u +Pg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZh +bHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkRpc2NvdmVyeUNvbmZpZ3VyYXRp +b24iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +TWRuc1NlcnZlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJDYXBhYmlsaXRpZXMi +IHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6 +Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +Ik1kbnNEaXNjb3ZlcnlDb25maWd1cmF0aW9uIiB0eXBlPSJ0bnM6TWRuc0Rpc2NvdmVyeUNvbmZp +Z3VyYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZ2lzdGVyU2VydmVyMlJl +cXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVl +c3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyIiB0eXBlPSJ0bnM6UmVn +aXN0ZXJlZFNlcnZlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IkRpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIHR5cGU9InVhOkxpc3RPZkV4 +dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWdp +c3RlclNlcnZlcjJSZXF1ZXN0IiB0eXBlPSJ0bnM6UmVnaXN0ZXJTZXJ2ZXIyUmVxdWVzdCIgLz4N +Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXIyUmVzcG9uc2UiPg0KICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0 +eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb25maWd1cmF0aW9uUmVzdWx0cyIgdHlwZT0idWE6 +TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25v +c3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJT +ZXJ2ZXIyUmVzcG9uc2UiIHR5cGU9InRuczpSZWdpc3RlclNlcnZlcjJSZXNwb25zZSIgLz4NCg0K +ICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iU2VjdXJpdHlUb2tlblJlcXVlc3RUeXBlIj4NCiAgICA8 +eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkluZGljYXRlcyB3aGV0aGVy +IGEgdG9rZW4gaWYgYmVpbmcgY3JlYXRlZCBvciByZW5ld2VkLjwveHM6ZG9jdW1lbnRhdGlvbj4N +CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmlu +ZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Iklzc3VlXzAiIC8+DQogICAgICA8eHM6 +ZW51bWVyYXRpb24gdmFsdWU9IlJlbmV3XzEiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAg +PC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1cml0eVRva2VuUmVxdWVz +dFR5cGUiIHR5cGU9InRuczpTZWN1cml0eVRva2VuUmVxdWVzdFR5cGUiIC8+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9IkNoYW5uZWxTZWN1cml0eVRva2VuIj4NCiAgICA8eHM6YW5ub3RhdGlv +bj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSB0b2tlbiB0aGF0IGlkZW50aWZpZXMgYSBz +ZXQgb2Yga2V5cyBmb3IgYW4gYWN0aXZlIHNlY3VyZSBjaGFubmVsLjwveHM6ZG9jdW1lbnRhdGlv +bj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iQ2hhbm5lbElkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVG9rZW5JZCIgdHlwZT0ieHM6dW5zaWduZWRJ +bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZWRBdCIg +dHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlJldmlzZWRMaWZldGltZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJDaGFubmVsU2VjdXJpdHlUb2tlbiIgdHlwZT0idG5zOkNoYW5uZWxTZWN1cml0eVRv +a2VuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJPcGVuU2VjdXJlQ2hhbm5lbFJlcXVl +c3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q3JlYXRl +cyBhIHNlY3VyZSBjaGFubmVsIHdpdGggYSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0aW9uPg0KICAg +IDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVudFByb3Rv +Y29sVmVyc2lvbiIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RUeXBlIiB0eXBlPSJ0bnM6U2VjdXJpdHlUb2tlblJl +cXVlc3RUeXBlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWN1 +cml0eU1vZGUiIHR5cGU9InRuczpNZXNzYWdlU2VjdXJpdHlNb2RlIiBtaW5PY2N1cnM9IjAiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnROb25jZSIgdHlwZT0ieHM6YmFzZTY0Qmlu +YXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iUmVxdWVzdGVkTGlmZXRpbWUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9 +IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iT3BlblNlY3VyZUNoYW5uZWxSZXF1ZXN0IiB0eXBlPSJ0bnM6T3BlblNlY3Vy +ZUNoYW5uZWxSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJPcGVuU2VjdXJl +Q2hhbm5lbFJlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVu +dGF0aW9uPkNyZWF0ZXMgYSBzZWN1cmUgY2hhbm5lbCB3aXRoIGEgc2VydmVyLjwveHM6ZG9jdW1l +bnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRl +ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlNlcnZlclByb3RvY29sVmVyc2lvbiIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vy +cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5VG9rZW4iIHR5cGU9InRu +czpDaGFubmVsU2VjdXJpdHlUb2tlbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlck5vbmNlIiB0eXBlPSJ4czpiYXNlNjRCaW5h +cnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT3BlblNlY3VyZUNoYW5u +ZWxSZXNwb25zZSIgdHlwZT0idG5zOk9wZW5TZWN1cmVDaGFubmVsUmVzcG9uc2UiIC8+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNsb3NlU2VjdXJlQ2hhbm5lbFJlcXVlc3QiPg0KICAgIDx4 +czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q2xvc2VzIGEgc2VjdXJlIGNo +YW5uZWwuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0 +bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJD +bG9zZVNlY3VyZUNoYW5uZWxSZXF1ZXN0IiB0eXBlPSJ0bnM6Q2xvc2VTZWN1cmVDaGFubmVsUmVx +dWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2xvc2VTZWN1cmVDaGFubmVsUmVz +cG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q2xv +c2VzIGEgc2VjdXJlIGNoYW5uZWwuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3Rh +dGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25z +ZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 +czplbGVtZW50IG5hbWU9IkNsb3NlU2VjdXJlQ2hhbm5lbFJlc3BvbnNlIiB0eXBlPSJ0bnM6Q2xv +c2VTZWN1cmVDaGFubmVsUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNp +Z25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhz +OmRvY3VtZW50YXRpb24+QSBzb2Z0d2FyZSBjZXJ0aWZpY2F0ZSB3aXRoIGEgZGlnaXRhbCBzaWdu +YXR1cmUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDZXJ0aWZpY2F0ZURhdGEiIHR5cGU9 +InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlNpZ25hdHVyZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNh +dGUiIHR5cGU9InRuczpTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJMaXN0T2ZTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIj4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTaWduZWRTb2Z0d2FyZUNlcnRpZmlj +YXRlIiB0eXBlPSJ0bnM6U2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgbWluT2NjdXJzPSIwIiBt +YXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j +ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU2lnbmVk +U29mdHdhcmVDZXJ0aWZpY2F0ZSIgdHlwZT0idG5zOkxpc3RPZlNpZ25lZFNvZnR3YXJlQ2VydGlm +aWNhdGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iU2Vzc2lvbkF1dGhlbnRpY2F0aW9uVG9rZW4iIHR5cGU9InVhOk5vZGVJZCIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iU2lnbmF0dXJlRGF0YSI+DQogICAgPHhzOmFubm90YXRpb24+ +DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIGRpZ2l0YWwgc2lnbmF0dXJlLjwveHM6ZG9jdW1l +bnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iQWxnb3JpdGhtIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTaWduYXR1cmUi +IHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJTaWduYXR1cmVEYXRhIiB0eXBlPSJ0bnM6U2lnbmF0dXJlRGF0YSIgLz4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iQ3JlYXRlU2Vzc2lvblJlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0 +aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q3JlYXRlcyBhIG5ldyBzZXNzaW9uIHdpdGgg +dGhlIHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5 +cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50RGVzY3JpcHRpb24iIHR5cGU9InRuczpBcHBs +aWNhdGlvbkRlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyVXJpIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2lu +dFVybCIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbk5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNs +aWVudE5vbmNlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRDZXJ0aWZpY2F0ZSIgdHlw +ZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkU2Vzc2lvblRpbWVvdXQiIHR5cGU9InhzOmRv +dWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4UmVzcG9u +c2VNZXNzYWdlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg +ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l +PSJDcmVhdGVTZXNzaW9uUmVxdWVzdCIgdHlwZT0idG5zOkNyZWF0ZVNlc3Npb25SZXF1ZXN0IiAv +Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDcmVhdGVTZXNzaW9uUmVzcG9uc2UiPg0KICAg +IDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q3JlYXRlcyBhIG5ldyBz +ZXNzaW9uIHdpdGggdGhlIHNlcnZlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v +dGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3Bv +bnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uSWQiIHR5cGU9InVh +Ok5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IkF1dGhlbnRpY2F0aW9uVG9rZW4iIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRT +ZXNzaW9uVGltZW91dCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJOb25jZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vy +dmVyQ2VydGlmaWNhdGUiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlckVuZHBvaW50cyIg +dHlwZT0idG5zOkxpc3RPZkVuZHBvaW50RGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJTb2Z0d2FyZUNlcnRp +ZmljYXRlcyIgdHlwZT0idG5zOkxpc3RPZlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2 +ZXJTaWduYXR1cmUiIHR5cGU9InRuczpTaWduYXR1cmVEYXRhIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4UmVxdWVzdE1lc3NhZ2VT +aXplIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2Vx +dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZVNl +c3Npb25SZXNwb25zZSIgdHlwZT0idG5zOkNyZWF0ZVNlc3Npb25SZXNwb25zZSIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iVXNlcklkZW50aXR5VG9rZW4iPg0KICAgIDx4czphbm5vdGF0 +aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSBiYXNlIHR5cGUgZm9yIGEgdXNlciBpZGVu +dGl0eSB0b2tlbi48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBvbGljeUlkIiB0eXBlPSJ4 +czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlcklkZW50 +aXR5VG9rZW4iIHR5cGU9InRuczpVc2VySWRlbnRpdHlUb2tlbiIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iQW5vbnltb3VzSWRlbnRpdHlUb2tlbiI+DQogICAgPHhzOmFubm90YXRpb24+ +DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHRva2VuIHJlcHJlc2VudGluZyBhbiBhbm9ueW1v +dXMgdXNlci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4 czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNl -PSJ0bnM6RGlzY292ZXJ5Q29uZmlndXJhdGlvbiI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZG5zU2VydmVyTmFtZSIgdHlwZT0ieHM6c3RyaW5n -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlNlcnZlckNhcGFiaWxpdGllcyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAg -PC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTWRuc0Rpc2NvdmVyeUNvbmZpZ3VyYXRpb24iIHR5 -cGU9InRuczpNZG5zRGlzY292ZXJ5Q29uZmlndXJhdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iUmVnaXN0ZXJTZXJ2ZXIyUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFk -ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJTZXJ2ZXIiIHR5cGU9InRuczpSZWdpc3RlcmVkU2VydmVyIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzY292ZXJ5Q29uZmln -dXJhdGlvbiIgdHlwZT0idWE6TGlzdE9mRXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyU2VydmVyMlJlcXVlc3QiIHR5cGU9InRuczpS -ZWdpc3RlclNlcnZlcjJSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWdp -c3RlclNlcnZlcjJSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNvbmZp -Z3VyYXRpb25SZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0lu -Zm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJSZWdpc3RlclNlcnZlcjJSZXNwb25zZSIgdHlwZT0idG5zOlJlZ2lz -dGVyU2VydmVyMlJlc3BvbnNlIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJTZWN1cml0 -eVRva2VuUmVxdWVzdFR5cGUiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3Vt -ZW50YXRpb24+SW5kaWNhdGVzIHdoZXRoZXIgYSB0b2tlbiBpZiBiZWluZyBjcmVhdGVkIG9yIHJl -bmV3ZWQuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6 -cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 -ZT0iSXNzdWVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVuZXdfMSIgLz4N -CiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9IlNlY3VyaXR5VG9rZW5SZXF1ZXN0VHlwZSIgdHlwZT0idG5zOlNlY3VyaXR5VG9rZW5S -ZXF1ZXN0VHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2hhbm5lbFNlY3VyaXR5 -VG9rZW4iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhl -IHRva2VuIHRoYXQgaWRlbnRpZmllcyBhIHNldCBvZiBrZXlzIGZvciBhbiBhY3RpdmUgc2VjdXJl -IGNoYW5uZWwuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDaGFubmVsSWQiIHR5cGU9Inhz -OnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJU -b2tlbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iQ3JlYXRlZEF0IiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZExpZmV0aW1lIiB0eXBlPSJ4czp1 -bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNoYW5uZWxTZWN1cml0eVRva2VuIiB0 -eXBlPSJ0bnM6Q2hhbm5lbFNlY3VyaXR5VG9rZW4iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h -bWU9Ik9wZW5TZWN1cmVDaGFubmVsUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg -ICA8eHM6ZG9jdW1lbnRhdGlvbj5DcmVhdGVzIGEgc2VjdXJlIGNoYW5uZWwgd2l0aCBhIHNlcnZl +PSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAg +IDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhD +b250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBbm9ueW1v +dXNJZGVudGl0eVRva2VuIiB0eXBlPSJ0bnM6QW5vbnltb3VzSWRlbnRpdHlUb2tlbiIgLz4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVXNlck5hbWVJZGVudGl0eVRva2VuIj4NCiAgICA8eHM6 +YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgdG9rZW4gcmVwcmVzZW50aW5n +IGEgdXNlciBpZGVudGlmaWVkIGJ5IGEgdXNlciBuYW1lIGFuZCBwYXNzd29yZC48L3hzOmRvY3Vt +ZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBt +aXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6VXNlcklkZW50aXR5 +VG9rZW4iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iVXNlck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQYXNzd29yZCIgdHlwZT0ieHM6YmFz +ZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4 +czplbGVtZW50IG5hbWU9IkVuY3J5cHRpb25BbGdvcml0aG0iIHR5cGU9InhzOnN0cmluZyIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAg +ICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29t +cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVzZXJOYW1lSWRlbnRpdHlUb2tlbiIgdHlw +ZT0idG5zOlVzZXJOYW1lSWRlbnRpdHlUb2tlbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iWDUwOUlkZW50aXR5VG9rZW4iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRv +Y3VtZW50YXRpb24+QSB0b2tlbiByZXByZXNlbnRpbmcgYSB1c2VyIGlkZW50aWZpZWQgYnkgYW4g +WDUwOSBjZXJ0aWZpY2F0ZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9u +Pg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVu +c2lvbiBiYXNlPSJ0bnM6VXNlcklkZW50aXR5VG9rZW4iPg0KICAgICAgICA8eHM6c2VxdWVuY2U+ +DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2VydGlmaWNhdGVEYXRhIiB0eXBlPSJ4czpi +YXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwv +eHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250 +ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJYNTA5SWRlbnRp +dHlUb2tlbiIgdHlwZT0idG5zOlg1MDlJZGVudGl0eVRva2VuIiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJJc3N1ZWRJZGVudGl0eVRva2VuIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg +ICAgIDx4czpkb2N1bWVudGF0aW9uPkEgdG9rZW4gcmVwcmVzZW50aW5nIGEgdXNlciBpZGVudGlm +aWVkIGJ5IGEgV1MtU2VjdXJpdHkgWE1MIHRva2VuLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8 +L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQog +ICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpVc2VySWRlbnRpdHlUb2tlbiI+DQogICAgICAg +IDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUb2tlbkRhdGEiIHR5 +cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmNyeXB0aW9uQWxnb3JpdGhtIiB0eXBlPSJ4czpz +dHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2Vx +dWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJJc3N1ZWRJZGVudGl0eVRv +a2VuIiB0eXBlPSJ0bnM6SXNzdWVkSWRlbnRpdHlUb2tlbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iQWN0aXZhdGVTZXNzaW9uUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQog +ICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BY3RpdmF0ZXMgYSBzZXNzaW9uIHdpdGggdGhlIHNlcnZl ci48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1 ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpS ZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iQ2xpZW50UHJvdG9jb2xWZXJzaW9uIiB0eXBlPSJ4czp1bnNpZ25lZElu -dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdFR5cGUi -IHR5cGU9InRuczpTZWN1cml0eVRva2VuUmVxdWVzdFR5cGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5TW9kZSIgdHlwZT0idG5zOk1lc3NhZ2VTZWN1 -cml0eU1vZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVu -dE5vbmNlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWRMaWZldGltZSIgdHlwZT0i -eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJPcGVuU2VjdXJlQ2hhbm5lbFJl -cXVlc3QiIHR5cGU9InRuczpPcGVuU2VjdXJlQ2hhbm5lbFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNv -bXBsZXhUeXBlIG5hbWU9Ik9wZW5TZWN1cmVDaGFubmVsUmVzcG9uc2UiPg0KICAgIDx4czphbm5v -dGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q3JlYXRlcyBhIHNlY3VyZSBjaGFubmVs -IHdpdGggYSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4N -CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRl -ciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyUHJvdG9jb2xWZXJzaW9uIiB0eXBl -PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iU2VjdXJpdHlUb2tlbiIgdHlwZT0idG5zOkNoYW5uZWxTZWN1cml0eVRva2VuIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVy -Tm9uY2UiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJPcGVuU2VjdXJlQ2hhbm5lbFJlc3BvbnNlIiB0eXBlPSJ0bnM6T3BlblNlY3Vy -ZUNoYW5uZWxSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2xvc2VTZWN1 -cmVDaGFubmVsUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l -bnRhdGlvbj5DbG9zZXMgYSBzZWN1cmUgY2hhbm5lbC48L3hzOmRvY3VtZW50YXRpb24+DQogICAg -PC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNsb3NlU2VjdXJlQ2hhbm5lbFJlcXVlc3QiIHR5cGU9 -InRuczpDbG9zZVNlY3VyZUNoYW5uZWxSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJDbG9zZVNlY3VyZUNoYW5uZWxSZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRpb24+DQog -ICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5DbG9zZXMgYSBzZWN1cmUgY2hhbm5lbC48L3hzOmRvY3Vt -ZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFk -ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xvc2VTZWN1cmVDaGFu -bmVsUmVzcG9uc2UiIHR5cGU9InRuczpDbG9zZVNlY3VyZUNoYW5uZWxSZXNwb25zZSIgLz4NCg0K -ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSI+DQogICAg -PHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHNvZnR3YXJlIGNlcnRp -ZmljYXRlIHdpdGggYSBkaWdpdGFsIHNpZ25hdHVyZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAg -PC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IkNlcnRpZmljYXRlRGF0YSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2lnbmF0dXJlIiB0 -eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iU2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgdHlwZT0idG5zOlNpZ25lZFNvZnR3YXJlQ2Vy -dGlmaWNhdGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlNpZ25lZFNvZnR3 -YXJlQ2VydGlmaWNhdGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlNpZ25lZFNvZnR3YXJlQ2VydGlmaWNhdGUiIHR5cGU9InRuczpTaWduZWRTb2Z0d2FyZUNl -cnRpZmljYXRlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJMaXN0T2ZTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiB0eXBlPSJ0bnM6 -TGlzdE9mU2lnbmVkU29mdHdhcmVDZXJ0aWZpY2F0ZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxl -bWVudD4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9uQXV0aGVudGljYXRpb25Ub2tlbiIg -dHlwZT0idWE6Tm9kZUlkIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTaWduYXR1cmVE -YXRhIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgZGln -aXRhbCBzaWduYXR1cmUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4N -CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBbGdvcml0aG0iIHR5 -cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlNpZ25hdHVyZSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNpZ25hdHVyZURhdGEiIHR5cGU9InRuczpT -aWduYXR1cmVEYXRhIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDcmVhdGVTZXNzaW9u -UmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5D -cmVhdGVzIGEgbmV3IHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4N -CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRE -ZXNjcmlwdGlvbiIgdHlwZT0idG5zOkFwcGxpY2F0aW9uRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJVcmki -IHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50VXJsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXNzaW9u -TmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50Tm9uY2UiIHR5cGU9InhzOmJhc2U2NEJpbmFy -eSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IkNsaWVudENlcnRpZmljYXRlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWRT -ZXNzaW9uVGltZW91dCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJNYXhSZXNwb25zZU1lc3NhZ2VTaXplIiB0eXBlPSJ4czp1bnNpZ25l -ZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZVNlc3Npb25SZXF1ZXN0IiB0eXBlPSJ0 -bnM6Q3JlYXRlU2Vzc2lvblJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNy -ZWF0ZVNlc3Npb25SZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9j -dW1lbnRhdGlvbj5DcmVhdGVzIGEgbmV3IHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwveHM6ZG9j -dW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhl -YWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlNlc3Npb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXV0aGVudGljYXRpb25Ub2tlbiIg -dHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFNlc3Npb25UaW1lb3V0IiB0eXBlPSJ4czpkb3VibGUi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlck5vbmNlIiB0 -eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJDZXJ0aWZpY2F0ZSIgdHlwZT0ieHM6YmFzZTY0 -QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iU2VydmVyRW5kcG9pbnRzIiB0eXBlPSJ0bnM6TGlzdE9mRW5kcG9pbnREZXNjcmlw -dGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlNlcnZlclNvZnR3YXJlQ2VydGlmaWNhdGVzIiB0eXBlPSJ0bnM6TGlzdE9mU2lnbmVk -U29mdHdhcmVDZXJ0aWZpY2F0ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlclNpZ25hdHVyZSIgdHlwZT0idG5zOlNpZ25hdHVy -ZURhdGEiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJNYXhSZXF1ZXN0TWVzc2FnZVNpemUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iQ3JlYXRlU2Vzc2lvblJlc3BvbnNlIiB0eXBlPSJ0bnM6Q3JlYXRl -U2Vzc2lvblJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJVc2VySWRlbnRp -dHlUb2tlbiI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5B -IGJhc2UgdHlwZSBmb3IgYSB1c2VyIGlkZW50aXR5IHRva2VuLjwveHM6ZG9jdW1lbnRhdGlvbj4N -CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iUG9saWN5SWQiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJVc2VySWRlbnRpdHlUb2tlbiIgdHlwZT0idG5zOlVzZXJJZGVudGl0 -eVRva2VuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBbm9ueW1vdXNJZGVudGl0eVRv -a2VuIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgdG9r -ZW4gcmVwcmVzZW50aW5nIGFuIGFub255bW91cyB1c2VyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAg -ICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+ -DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpVc2VySWRlbnRpdHlUb2tlbiI+DQogICAg -ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0 -ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9IkFub255bW91c0lkZW50aXR5VG9rZW4iIHR5cGU9InRuczpBbm9u -eW1vdXNJZGVudGl0eVRva2VuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJVc2VyTmFt -ZUlkZW50aXR5VG9rZW4iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50 -YXRpb24+QSB0b2tlbiByZXByZXNlbnRpbmcgYSB1c2VyIGlkZW50aWZpZWQgYnkgYSB1c2VyIG5h -bWUgYW5kIHBhc3N3b3JkLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+ -DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5z -aW9uIGJhc2U9InRuczpVc2VySWRlbnRpdHlUb2tlbiI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyTmFtZSIgdHlwZT0ieHM6c3RyaW5nIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h -bWU9IlBhc3N3b3JkIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5jcnlwdGlvbkFsZ29y -aXRobSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpj -b21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i -VXNlck5hbWVJZGVudGl0eVRva2VuIiB0eXBlPSJ0bnM6VXNlck5hbWVJZGVudGl0eVRva2VuIiAv -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJYNTA5SWRlbnRpdHlUb2tlbiI+DQogICAgPHhz -OmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHRva2VuIHJlcHJlc2VudGlu -ZyBhIHVzZXIgaWRlbnRpZmllZCBieSBhbiBYNTA5IGNlcnRpZmljYXRlLjwveHM6ZG9jdW1lbnRh -dGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVk -PSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpVc2VySWRlbnRpdHlUb2tl -biI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJD -ZXJ0aWZpY2F0ZURhdGEiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5z -aW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9Ilg1MDlJZGVudGl0eVRva2VuIiB0eXBlPSJ0bnM6WDUwOUlkZW50aXR5 -VG9rZW4iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Iklzc3VlZElkZW50aXR5VG9rZW4i -Pg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSB0b2tlbiBy -ZXByZXNlbnRpbmcgYSB1c2VyIGlkZW50aWZpZWQgYnkgYSBXUy1TZWN1cml0eSBYTUwgdG9rZW4u -PC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxl -eENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOlVz -ZXJJZGVudGl0eVRva2VuIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlRva2VuRGF0YSIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuY3J5 -cHRpb25BbGdvcml0aG0iIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0K -ICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9Iklzc3VlZElkZW50aXR5VG9rZW4iIHR5cGU9InRuczpJc3N1ZWRJZGVudGl0eVRv -a2VuIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBY3RpdmF0ZVNlc3Npb25SZXF1ZXN0 -Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkFjdGl2YXRl -cyBhIHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hz -OmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -UmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDbGllbnRTaWduYXR1cmUi -IHR5cGU9InRuczpTaWduYXR1cmVEYXRhIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50U29mdHdhcmVDZXJ0aWZpY2F0ZXMiIHR5 -cGU9InRuczpMaXN0T2ZTaWduZWRTb2Z0d2FyZUNlcnRpZmljYXRlIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG9jYWxlSWRzIiB0eXBl -PSJ1YTpMaXN0T2ZTdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VySWRlbnRpdHlUb2tlbiIgdHlwZT0idWE6RXh0ZW5zaW9u -T2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iVXNlclRva2VuU2lnbmF0dXJlIiB0eXBlPSJ0bnM6U2lnbmF0dXJlRGF0YSIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz -OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBY3RpdmF0ZVNlc3Npb25SZXF1ZXN0 -IiB0eXBlPSJ0bnM6QWN0aXZhdGVTZXNzaW9uUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iQWN0aXZhdGVTZXNzaW9uUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0K -ICAgICAgPHhzOmRvY3VtZW50YXRpb24+QWN0aXZhdGVzIGEgc2Vzc2lvbiB3aXRoIHRoZSBzZXJ2 -ZXIuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5z -OlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyTm9uY2UiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJl -c3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9 -InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9IkFjdGl2YXRlU2Vzc2lvblJlc3BvbnNlIiB0eXBlPSJ0bnM6QWN0aXZhdGVTZXNzaW9u -UmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNsb3NlU2Vzc2lvblJlcXVl -c3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q2xvc2Vz -IGEgc2Vzc2lvbiB3aXRoIHRoZSBzZXJ2ZXIuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6 -YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS -ZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZVN1YnNjcmlwdGlv -bnMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNl -Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDbG9zZVNlc3Npb25S -ZXF1ZXN0IiB0eXBlPSJ0bnM6Q2xvc2VTZXNzaW9uUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iQ2xvc2VTZXNzaW9uUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0K -ICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q2xvc2VzIGEgc2Vzc2lvbiB3aXRoIHRoZSBzZXJ2ZXIu -PC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJl -c3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 -c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNsb3Nl -U2Vzc2lvblJlc3BvbnNlIiB0eXBlPSJ0bnM6Q2xvc2VTZXNzaW9uUmVzcG9uc2UiIC8+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNhbmNlbFJlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9u -Pg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+Q2FuY2VscyBhbiBvdXRzdGFuZGluZyByZXF1ZXN0 +OmVsZW1lbnQgbmFtZT0iQ2xpZW50U2lnbmF0dXJlIiB0eXBlPSJ0bnM6U2lnbmF0dXJlRGF0YSIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkNsaWVudFNvZnR3YXJlQ2VydGlmaWNhdGVzIiB0eXBlPSJ0bnM6TGlzdE9mU2lnbmVkU29mdHdh +cmVDZXJ0aWZpY2F0ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IkxvY2FsZUlkcyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlcklk +ZW50aXR5VG9rZW4iIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJUb2tlblNpZ25hdHVy +ZSIgdHlwZT0idG5zOlNpZ25hdHVyZURhdGEiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l +bnQgbmFtZT0iQWN0aXZhdGVTZXNzaW9uUmVxdWVzdCIgdHlwZT0idG5zOkFjdGl2YXRlU2Vzc2lv +blJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFjdGl2YXRlU2Vzc2lvblJl +c3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkFj +dGl2YXRlcyBhIHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAg +ICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlck5v +bmNlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0 +dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBY3RpdmF0ZVNlc3Npb25SZXNw +b25zZSIgdHlwZT0idG5zOkFjdGl2YXRlU2Vzc2lvblJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJDbG9zZVNlc3Npb25SZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4N +CiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNsb3NlcyBhIHNlc3Npb24gd2l0aCB0aGUgc2VydmVy LjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVl bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJl cXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGFuZGxlIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9IkNhbmNlbFJlcXVlc3QiIHR5cGU9InRuczpDYW5jZWxSZXF1ZXN0IiAv -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDYW5jZWxSZXNwb25zZSI+DQogICAgPHhzOmFu -bm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5DYW5jZWxzIGFuIG91dHN0YW5kaW5n -IHJlcXVlc3QuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlw -ZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2FuY2VsQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50 -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ2FuY2VsUmVzcG9uc2UiIHR5cGU9InRuczpDYW5jZWxS -ZXNwb25zZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iTm9kZUF0dHJpYnV0ZXNNYXNr -Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBiaXRz -IHVzZWQgdG8gc3BlY2lmeSBkZWZhdWx0IGF0dHJpYnV0ZXMgZm9yIGEgbmV3IG5vZGUuPC94czpk -b2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6cmVzdHJpY3Rpb24g -YmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9uZV8wIiAv -Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBY2Nlc3NMZXZlbF8xIiAvPg0KICAgICAg -PHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBcnJheURpbWVuc2lvbnNfMiIgLz4NCiAgICAgIDx4czpl -bnVtZXJhdGlvbiB2YWx1ZT0iQnJvd3NlTmFtZV80IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u -IHZhbHVlPSJDb250YWluc05vTG9vcHNfOCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 -ZT0iRGF0YVR5cGVfMTYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRlc2NyaXB0 -aW9uXzMyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEaXNwbGF5TmFtZV82NCIg -Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRXZlbnROb3RpZmllcl8xMjgiIC8+DQog -ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkV4ZWN1dGFibGVfMjU2IiAvPg0KICAgICAgPHhz -OmVudW1lcmF0aW9uIHZhbHVlPSJIaXN0b3JpemluZ181MTIiIC8+DQogICAgICA8eHM6ZW51bWVy -YXRpb24gdmFsdWU9IkludmVyc2VOYW1lXzEwMjQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g -dmFsdWU9IklzQWJzdHJhY3RfMjA0OCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i -TWluaW11bVNhbXBsaW5nSW50ZXJ2YWxfNDA5NiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 -YWx1ZT0iTm9kZUNsYXNzXzgxOTIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5v -ZGVJZF8xNjM4NCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU3ltbWV0cmljXzMy -NzY4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVc2VyQWNjZXNzTGV2ZWxfNjU1 -MzYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVzZXJFeGVjdXRhYmxlXzEzMTA3 -MiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVXNlcldyaXRlTWFza18yNjIxNDQi -IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZhbHVlUmFua181MjQyODgiIC8+DQog -ICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IldyaXRlTWFza18xMDQ4NTc2IiAvPg0KICAgICAg -PHhzOmVudW1lcmF0aW9uIHZhbHVlPSJWYWx1ZV8yMDk3MTUyIiAvPg0KICAgICAgPHhzOmVudW1l -cmF0aW9uIHZhbHVlPSJEYXRhVHlwZURlZmluaXRpb25fNDE5NDMwNCIgLz4NCiAgICAgIDx4czpl -bnVtZXJhdGlvbiB2YWx1ZT0iUm9sZVBlcm1pc3Npb25zXzgzODg2MDgiIC8+DQogICAgICA8eHM6 -ZW51bWVyYXRpb24gdmFsdWU9IkFjY2Vzc1Jlc3RyaWN0aW9uc18xNjc3NzIxNiIgLz4NCiAgICAg -IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQWxsXzMzNTU0NDMxIiAvPg0KICAgICAgPHhzOmVudW1l -cmF0aW9uIHZhbHVlPSJCYXNlTm9kZV8yNjUwMTIyMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv -biB2YWx1ZT0iT2JqZWN0XzI2NTAxMzQ4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl -PSJPYmplY3RUeXBlXzI2NTAzMjY4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJW -YXJpYWJsZV8yNjU3MTM4MyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVmFyaWFi -bGVUeXBlXzI4NjAwNDM4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJNZXRob2Rf -MjY2MzI1NDgiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlZmVyZW5jZVR5cGVf -MjY1MzcwNjAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZpZXdfMjY1MDEzNTYi -IC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJOb2RlQXR0cmlidXRlc01hc2siIHR5cGU9InRuczpOb2RlQXR0cmlidXRlc01h -c2siIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik5vZGVBdHRyaWJ1dGVzIj4NCiAgICA8 -eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBiYXNlIGF0dHJpYnV0 -ZXMgZm9yIGFsbCBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9u -Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNwZWNpZmllZEF0 -dHJpYnV0ZXMiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJEaXNwbGF5TmFtZSIgdHlwZT0idWE6TG9jYWxpemVkVGV4dCIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRl -c2NyaXB0aW9uIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVNYXNrIiB0eXBlPSJ4czp1 -bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNl -cldyaXRlTWFzayIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJO -b2RlQXR0cmlidXRlcyIgdHlwZT0idG5zOk5vZGVBdHRyaWJ1dGVzIiAvPg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJPYmplY3RBdHRyaWJ1dGVzIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg -ICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVzIGZvciBhbiBvYmplY3Qgbm9kZS48 -L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4 -Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9k -ZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iRXZlbnROb3RpZmllciIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAg -ICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJPYmplY3RBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6T2JqZWN0QXR0cmlidXRlcyIgLz4N -Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVmFyaWFibGVBdHRyaWJ1dGVzIj4NCiAgICA8eHM6 -YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVzIGZvciBh -IHZhcmlhYmxlIG5vZGUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4N -CiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNp -b24gYmFzZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlIiB0eXBlPSJ1YTpWYXJpYW50IiBtaW5PY2N1 -cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVR5cGUiIHR5cGU9InVh -Ok5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJWYWx1ZVJhbmsiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFycmF5RGltZW5zaW9ucyIgdHlwZT0idWE6TGlz -dE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4 -czplbGVtZW50IG5hbWU9IkFjY2Vzc0xldmVsIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyQWNjZXNzTGV2ZWwi -IHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czpl -bGVtZW50IG5hbWU9Ik1pbmltdW1TYW1wbGluZ0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1p -bk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3JpemluZyIg -dHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNl -Pg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVmFyaWFibGVBdHRyaWJ1dGVzIiB0 -eXBlPSJ0bnM6VmFyaWFibGVBdHRyaWJ1dGVzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJNZXRob2RBdHRyaWJ1dGVzIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1 -bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVzIGZvciBhIG1ldGhvZCBub2RlLjwveHM6ZG9jdW1lbnRh -dGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVk -PSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0cmlidXRlcyI+ -DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFeGVj -dXRhYmxlIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iVXNlckV4ZWN1dGFibGUiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vy +ZWxlbWVudCBuYW1lPSJEZWxldGVTdWJzY3JpcHRpb25zIiB0eXBlPSJ4czpib29sZWFuIiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iQ2xvc2VTZXNzaW9uUmVxdWVzdCIgdHlwZT0idG5zOkNsb3NlU2Vz +c2lvblJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNsb3NlU2Vzc2lvblJl +c3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNs +b3NlcyBhIHNlc3Npb24gd2l0aCB0aGUgc2VydmVyLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8 +L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDbG9zZVNlc3Npb25SZXNwb25zZSIgdHlwZT0idG5z +OkNsb3NlU2Vzc2lvblJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDYW5j +ZWxSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9u +PkNhbmNlbHMgYW4gb3V0c3RhbmRpbmcgcmVxdWVzdC48L3hzOmRvY3VtZW50YXRpb24+DQogICAg +PC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhhbmRs +ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVl +bmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDYW5jZWxSZXF1 +ZXN0IiB0eXBlPSJ0bnM6Q2FuY2VsUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iQ2FuY2VsUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3Vt +ZW50YXRpb24+Q2FuY2VscyBhbiBvdXRzdGFuZGluZyByZXF1ZXN0LjwveHM6ZG9jdW1lbnRhdGlv +bj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNh +bmNlbENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNh +bmNlbFJlc3BvbnNlIiB0eXBlPSJ0bnM6Q2FuY2VsUmVzcG9uc2UiIC8+DQoNCiAgPHhzOnNpbXBs +ZVR5cGUgIG5hbWU9Ik5vZGVBdHRyaWJ1dGVzTWFzayI+DQogICAgPHhzOmFubm90YXRpb24+DQog +ICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYml0cyB1c2VkIHRvIHNwZWNpZnkgZGVmYXVsdCBh +dHRyaWJ1dGVzIGZvciBhIG5ldyBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu +bm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8 +eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 +YWx1ZT0iQWNjZXNzTGV2ZWxfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQXJy +YXlEaW1lbnNpb25zXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJyb3dzZU5h +bWVfNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQ29udGFpbnNOb0xvb3BzXzgi +IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkRhdGFUeXBlXzE2IiAvPg0KICAgICAg +PHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEZXNjcmlwdGlvbl8zMiIgLz4NCiAgICAgIDx4czplbnVt +ZXJhdGlvbiB2YWx1ZT0iRGlzcGxheU5hbWVfNjQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g +dmFsdWU9IkV2ZW50Tm90aWZpZXJfMTI4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl +PSJFeGVjdXRhYmxlXzI1NiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSGlzdG9y +aXppbmdfNTEyIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJbnZlcnNlTmFtZV8x +MDI0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJc0Fic3RyYWN0XzIwNDgiIC8+ +DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik1pbmltdW1TYW1wbGluZ0ludGVydmFsXzQw +OTYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vZGVDbGFzc184MTkyIiAvPg0K +ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb2RlSWRfMTYzODQiIC8+DQogICAgICA8eHM6 +ZW51bWVyYXRpb24gdmFsdWU9IlN5bW1ldHJpY18zMjc2OCIgLz4NCiAgICAgIDx4czplbnVtZXJh +dGlvbiB2YWx1ZT0iVXNlckFjY2Vzc0xldmVsXzY1NTM2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0 +aW9uIHZhbHVlPSJVc2VyRXhlY3V0YWJsZV8xMzEwNzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRp +b24gdmFsdWU9IlVzZXJXcml0ZU1hc2tfMjYyMTQ0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u +IHZhbHVlPSJWYWx1ZVJhbmtfNTI0Mjg4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl +PSJXcml0ZU1hc2tfMTA0ODU3NiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVmFs +dWVfMjA5NzE1MiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iRGF0YVR5cGVEZWZp +bml0aW9uXzQxOTQzMDQiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJvbGVQZXJt +aXNzaW9uc184Mzg4NjA4IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJBY2Nlc3NS +ZXN0cmljdGlvbnNfMTY3NzcyMTYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFs +bF8zMzU1NDQzMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQmFzZU5vZGVfMjY1 +MDEyMjAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik9iamVjdF8yNjUwMTM0OCIg +Lz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iT2JqZWN0VHlwZV8yNjUwMzI2OCIgLz4N +CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVmFyaWFibGVfMjY1NzEzODMiIC8+DQogICAg +ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlZhcmlhYmxlVHlwZV8yODYwMDQzOCIgLz4NCiAgICAg +IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTWV0aG9kXzI2NjMyNTQ4IiAvPg0KICAgICAgPHhzOmVu +dW1lcmF0aW9uIHZhbHVlPSJSZWZlcmVuY2VUeXBlXzI2NTM3MDYwIiAvPg0KICAgICAgPHhzOmVu +dW1lcmF0aW9uIHZhbHVlPSJWaWV3XzI2NTAxMzU2IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+ +DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUF0dHJpYnV0ZXNN +YXNrIiB0eXBlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXNNYXNrIiAvPg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJOb2RlQXR0cmlidXRlcyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6 +ZG9jdW1lbnRhdGlvbj5UaGUgYmFzZSBhdHRyaWJ1dGVzIGZvciBhbGwgbm9kZXMuPC94czpkb2N1 +bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJTcGVjaWZpZWRBdHRyaWJ1dGVzIiB0eXBlPSJ4czp1bnNpZ25l +ZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzcGxheU5h +bWUiIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEZXNjcmlwdGlvbiIgdHlwZT0idWE6TG9jYWxp +emVkVGV4dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IldyaXRlTWFzayIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJXcml0ZU1hc2siIHR5cGU9InhzOnVuc2ln +bmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w +bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUF0dHJpYnV0ZXMiIHR5cGU9InRuczpO +b2RlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iT2JqZWN0QXR0cmli +dXRlcyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUg +YXR0cmlidXRlcyBmb3IgYW4gb2JqZWN0IG5vZGUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwv +eHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAg +ICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICAgICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50Tm90aWZpZXIiIHR5 +cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVl +bmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT2JqZWN0QXR0cmlidXRlcyIg +dHlwZT0idG5zOk9iamVjdEF0dHJpYnV0ZXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +IlZhcmlhYmxlQXR0cmlidXRlcyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9j +dW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSB2YXJpYWJsZSBub2RlLjwveHM6ZG9jdW1l +bnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1p +eGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0cmlidXRl +cyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJW +YWx1ZSIgdHlwZT0idWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkRhdGFUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVSYW5rIiB0 +eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJBcnJheURpbWVuc2lvbnMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBY2Nlc3NMZXZl +bCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhz +OmVsZW1lbnQgbmFtZT0iVXNlckFjY2Vzc0xldmVsIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1p +bk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNaW5pbXVtU2FtcGxp +bmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yaXppbmciIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vy cz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0K ICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9Ik1ldGhvZEF0dHJpYnV0ZXMiIHR5cGU9InRuczpNZXRob2RBdHRyaWJ1dGVzIiAv -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJPYmplY3RUeXBlQXR0cmlidXRlcyI+DQogICAg +ZW50IG5hbWU9IlZhcmlhYmxlQXR0cmlidXRlcyIgdHlwZT0idG5zOlZhcmlhYmxlQXR0cmlidXRl +cyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTWV0aG9kQXR0cmlidXRlcyI+DQogICAg PHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBm -b3IgYW4gb2JqZWN0IHR5cGUgbm9kZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v -dGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhz -OmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNBYnN0cmFjdCIgdHlwZT0ieHM6Ym9v -bGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94 -czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iT2JqZWN0VHlwZUF0dHJpYnV0ZXMiIHR5cGU9InRuczpP -YmplY3RUeXBlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVmFyaWFi -bGVUeXBlQXR0cmlidXRlcyI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l -bnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSB2YXJpYWJsZSB0eXBlIG5vZGUuPC94czpkb2N1 -bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQg -bWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk5vZGVBdHRyaWJ1 -dGVzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlZhbHVlIiB0eXBlPSJ1YTpWYXJpYW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iRGF0YVR5cGUiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZVJhbmsi -IHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5h -bWU9IkFycmF5RGltZW5zaW9ucyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IklzQWJzdHJh -Y3QiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1 -ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQog -IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlZhcmlhYmxlVHlwZUF0dHJp -YnV0ZXMiIHR5cGU9InRuczpWYXJpYWJsZVR5cGVBdHRyaWJ1dGVzIiAvPg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJSZWZlcmVuY2VUeXBlQXR0cmlidXRlcyI+DQogICAgPHhzOmFubm90YXRp -b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgYXR0cmlidXRlcyBmb3IgYSByZWZlcmVu -Y2UgdHlwZSBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQog +b3IgYSBtZXRob2Qgbm9kZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9u +Pg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVu +c2lvbiBiYXNlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQog +ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXhlY3V0YWJsZSIgdHlwZT0ieHM6Ym9vbGVhbiIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJFeGVjdXRh +YmxlIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2Vx +dWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNZXRob2RBdHRyaWJ1dGVz +IiB0eXBlPSJ0bnM6TWV0aG9kQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iT2JqZWN0VHlwZUF0dHJpYnV0ZXMiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhz +OmRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGFuIG9iamVjdCB0eXBlIG5vZGUuPC94 +czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENv +bnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk5vZGVB +dHRyaWJ1dGVzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50 +IG5hbWU9IklzQWJzdHJhY3QiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAg +ICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29t +cGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik9i +amVjdFR5cGVBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6T2JqZWN0VHlwZUF0dHJpYnV0ZXMiIC8+DQoN +CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZhcmlhYmxlVHlwZUF0dHJpYnV0ZXMiPg0KICAgIDx4 +czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9y +IGEgdmFyaWFibGUgdHlwZSBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90 +YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6 +ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0idWE6VmFyaWFudCIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlIiB0 +eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWVSYW5rIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0i +MCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBcnJheURpbWVuc2lvbnMiIHR5cGU9 +InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpib29sZWFuIiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lv +bj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJWYXJpYWJsZVR5cGVBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6VmFyaWFibGVU +eXBlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVmZXJlbmNlVHlw +ZUF0dHJpYnV0ZXMiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRp +b24+VGhlIGF0dHJpYnV0ZXMgZm9yIGEgcmVmZXJlbmNlIHR5cGUgbm9kZS48L3hzOmRvY3VtZW50 +YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhl +ZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMi +Pg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNB +YnN0cmFjdCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlN5bW1ldHJpYyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkludmVyc2VOYW1lIiB0eXBlPSJ1YTpM +b2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8 +L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29u +dGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNl +VHlwZUF0dHJpYnV0ZXMiIHR5cGU9InRuczpSZWZlcmVuY2VUeXBlQXR0cmlidXRlcyIgLz4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGF0YVR5cGVBdHRyaWJ1dGVzIj4NCiAgICA8eHM6YW5u +b3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVzIGZvciBhIGRh +dGEgdHlwZSBub2RlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQog ICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9u IGJhc2U9InRuczpOb2RlQXR0cmlidXRlcyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Fic3RyYWN0IiB0eXBlPSJ4czpib29sZWFuIiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3ltbWV0cmljIiB0eXBl -PSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iSW52ZXJzZU5hbWUiIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVu -c2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VUeXBlQXR0cmlidXRlcyIgdHlwZT0idG5zOlJlZmVy -ZW5jZVR5cGVBdHRyaWJ1dGVzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEYXRhVHlw -ZUF0dHJpYnV0ZXMiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRp -b24+VGhlIGF0dHJpYnV0ZXMgZm9yIGEgZGF0YSB0eXBlIG5vZGUuPC94czpkb2N1bWVudGF0aW9u -Pg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZh -bHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAg -ICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IklzQWJzdHJh -Y3QiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1 -ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQog -IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRhdGFUeXBlQXR0cmlidXRl -cyIgdHlwZT0idG5zOkRhdGFUeXBlQXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iVmlld0F0dHJpYnV0ZXMiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRv -Y3VtZW50YXRpb24+VGhlIGF0dHJpYnV0ZXMgZm9yIGEgdmlldyBub2RlLjwveHM6ZG9jdW1lbnRh -dGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVk -PSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpOb2RlQXR0cmlidXRlcyI+ -DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250 -YWluc05vTG9vcHMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudE5vdGlmaWVyIiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0 -ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9IlZpZXdBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6Vmlld0F0dHJpYnV0 -ZXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkdlbmVyaWNBdHRyaWJ1dGVWYWx1ZSI+ -DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXR0cmlidXRlSWQi -IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJWYWx1ZSIgdHlwZT0idWE6VmFyaWFudCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwv -eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikdl -bmVyaWNBdHRyaWJ1dGVWYWx1ZSIgdHlwZT0idG5zOkdlbmVyaWNBdHRyaWJ1dGVWYWx1ZSIgLz4N -Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mR2VuZXJpY0F0dHJpYnV0ZVZhbHVlIj4N -CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJHZW5lcmljQXR0cmli -dXRlVmFsdWUiIHR5cGU9InRuczpHZW5lcmljQXR0cmlidXRlVmFsdWUiIG1pbk9jY3Vycz0iMCIg -bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu -Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkdlbmVy -aWNBdHRyaWJ1dGVWYWx1ZSIgdHlwZT0idG5zOkxpc3RPZkdlbmVyaWNBdHRyaWJ1dGVWYWx1ZSIg -bmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -R2VuZXJpY0F0dHJpYnV0ZXMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2Ui -Pg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgICAg -ICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXR0cmlidXRlVmFs -dWVzIiB0eXBlPSJ0bnM6TGlzdE9mR2VuZXJpY0F0dHJpYnV0ZVZhbHVlIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpl -eHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iR2VuZXJpY0F0dHJpYnV0ZXMiIHR5cGU9InRuczpHZW5lcmlj -QXR0cmlidXRlcyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWRkTm9kZXNJdGVtIj4N -CiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgcmVxdWVzdCB0 -byBhZGQgYSBub2RlIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRp -b24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlBhcmVudE5vZGVJZCIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZl -cmVuY2VUeXBlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZE5ld05vZGVJZCIgdHlwZT0i -dWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VOYW1lIiB0eXBlPSJ1YTpRdWFsaWZpZWROYW1lIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -Tm9kZUNsYXNzIiB0eXBlPSJ0bnM6Tm9kZUNsYXNzIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJOb2RlQXR0cmlidXRlcyIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0 -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iVHlwZURlZmluaXRpb24iIHR5cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFkZE5vZGVzSXRlbSIgdHlwZT0idG5zOkFkZE5vZGVz -SXRlbSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQWRkTm9kZXNJdGVtIj4N -CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZGROb2Rlc0l0ZW0i -IHR5cGU9InRuczpBZGROb2Rlc0l0ZW0iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5k -ZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkFkZE5vZGVzSXRlbSIgdHlwZT0idG5z -Okxpc3RPZkFkZE5vZGVzSXRlbSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iQWRkTm9kZXNSZXN1bHQiPg0KICAgIDx4czphbm5vdGF0aW9u -Pg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSByZXN1bHQgb2YgYW4gYWRkIG5vZGUgb3BlcmF0 -aW9uLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3Rh -dHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkZWRO -b2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJBZGROb2Rlc1Jlc3VsdCIgdHlwZT0idG5zOkFkZE5vZGVzUmVzdWx0IiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZBZGROb2Rlc1Jlc3VsdCI+DQogICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkTm9kZXNSZXN1bHQiIHR5cGU9InRuczpB -ZGROb2Rlc1Jlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQWRkTm9kZXNSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZB -ZGROb2Rlc1Jlc3VsdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iQWRkTm9kZXNSZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg -ICAgIDx4czpkb2N1bWVudGF0aW9uPkFkZHMgb25lIG9yIG1vcmUgbm9kZXMgdG8gdGhlIHNlcnZl -ciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+ -DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRl -ciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2Rlc1RvQWRkIiB0eXBlPSJ0bnM6TGlzdE9m -QWRkTm9kZXNJdGVtIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 -c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFkZE5v -ZGVzUmVxdWVzdCIgdHlwZT0idG5zOkFkZE5vZGVzUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iQWRkTm9kZXNSZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg -ICA8eHM6ZG9jdW1lbnRhdGlvbj5BZGRzIG9uZSBvciBtb3JlIG5vZGVzIHRvIHRoZSBzZXJ2ZXIg -YWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0K -ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVy -IiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ0bnM6TGlzdE9mQWRk -Tm9kZXNSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJ -bmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFkZE5vZGVzUmVzcG9u -c2UiIHR5cGU9InRuczpBZGROb2Rlc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJBZGRSZWZlcmVuY2VzSXRlbSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6 -ZG9jdW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8gYWRkIGEgcmVmZXJlbmNlIHRvIHRoZSBzZXJ2ZXIg -YWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0K -ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNvdXJjZU5vZGVJZCIg -dHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0Zv -cndhcmQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlRhcmdldFNlcnZlclVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0Tm9kZUlk -IiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRhcmdldE5vZGVDbGFzcyIgdHlwZT0idG5zOk5v -ZGVDbGFzcyIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFkZFJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0 -bnM6QWRkUmVmZXJlbmNlc0l0ZW0iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RP -ZkFkZFJlZmVyZW5jZXNJdGVtIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJBZGRSZWZlcmVuY2VzSXRlbSIgdHlwZT0idG5zOkFkZFJlZmVyZW5jZXNJdGVtIiBt +Y2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lv +bj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJEYXRhVHlwZUF0dHJpYnV0ZXMiIHR5cGU9InRuczpEYXRhVHlwZUF0dHJp +YnV0ZXMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlZpZXdBdHRyaWJ1dGVzIj4NCiAg +ICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBhdHRyaWJ1dGVz +IGZvciBhIHZpZXcgbm9kZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9u +Pg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVu +c2lvbiBiYXNlPSJ0bnM6Tm9kZUF0dHJpYnV0ZXMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQog +ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGFpbnNOb0xvb3BzIiB0eXBlPSJ4czpib29s +ZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnRO +b3RpZmllciIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAg +IDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhD +b250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJWaWV3QXR0 +cmlidXRlcyIgdHlwZT0idG5zOlZpZXdBdHRyaWJ1dGVzIiAvPg0KDQogIDx4czpjb21wbGV4VHlw +ZSBuYW1lPSJHZW5lcmljQXR0cmlidXRlVmFsdWUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUiIHR5cGU9InVhOlZh +cmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJHZW5lcmljQXR0cmlidXRlVmFsdWUiIHR5cGU9 +InRuczpHZW5lcmljQXR0cmlidXRlVmFsdWUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +Ikxpc3RPZkdlbmVyaWNBdHRyaWJ1dGVWYWx1ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iR2VuZXJpY0F0dHJpYnV0ZVZhbHVlIiB0eXBlPSJ0bnM6R2VuZXJp +Y0F0dHJpYnV0ZVZhbHVlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZHZW5lcmljQXR0cmlidXRlVmFsdWUiIHR5cGU9InRu +czpMaXN0T2ZHZW5lcmljQXR0cmlidXRlVmFsdWUiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1l +bnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkdlbmVyaWNBdHRyaWJ1dGVzIj4NCiAgICA8 +eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFz +ZT0idG5zOk5vZGVBdHRyaWJ1dGVzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAg +IDx4czplbGVtZW50IG5hbWU9IkF0dHJpYnV0ZVZhbHVlcyIgdHlwZT0idG5zOkxpc3RPZkdlbmVy +aWNBdHRyaWJ1dGVWYWx1ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +ICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxl +eENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkdlbmVy +aWNBdHRyaWJ1dGVzIiB0eXBlPSJ0bnM6R2VuZXJpY0F0dHJpYnV0ZXMiIC8+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9IkFkZE5vZGVzSXRlbSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg +ICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8gYWRkIGEgbm9kZSB0byB0aGUgc2VydmVy +IGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQYXJlbnROb2RlSWQi +IHR5cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2Rl +SWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJSZXF1ZXN0ZWROZXdOb2RlSWQiIHR5cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3Nl +TmFtZSIgdHlwZT0idWE6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVDbGFzcyIgdHlwZT0idG5zOk5vZGVD +bGFzcyIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUF0dHJp +YnV0ZXMiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlR5cGVEZWZpbml0aW9uIiB0eXBlPSJ1 +YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJB +ZGROb2Rlc0l0ZW0iIHR5cGU9InRuczpBZGROb2Rlc0l0ZW0iIC8+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9Ikxpc3RPZkFkZE5vZGVzSXRlbSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iQWRkTm9kZXNJdGVtIiB0eXBlPSJ0bnM6QWRkTm9kZXNJdGVtIiBt aW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJMaXN0T2ZBZGRSZWZlcmVuY2VzSXRlbSIgdHlwZT0idG5zOkxpc3RPZkFkZFJlZmVyZW5jZXNJ -dGVtIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJBZGRSZWZlcmVuY2VzUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8 -eHM6ZG9jdW1lbnRhdGlvbj5BZGRzIG9uZSBvciBtb3JlIHJlZmVyZW5jZXMgdG8gdGhlIHNlcnZl -ciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+ -DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRl -ciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VzVG9BZGQiIHR5cGU9InRuczpM -aXN0T2ZBZGRSZWZlcmVuY2VzSXRlbSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJBZGRSZWZlcmVuY2VzUmVxdWVzdCIgdHlwZT0idG5zOkFkZFJlZmVyZW5jZXNSZXF1ZXN0 -IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZGRSZWZlcmVuY2VzUmVzcG9uc2UiPg0K -ICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QWRkcyBvbmUgb3Ig -bW9yZSByZWZlcmVuY2VzIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50 -YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIi -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0 -eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJBZGRSZWZlcmVuY2VzUmVzcG9uc2UiIHR5cGU9InRuczpBZGRSZWZlcmVuY2Vz -UmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZU5vZGVzSXRlbSI+ -DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHJlcXVlc3Qg -dG8gZGVsZXRlIGEgbm9kZSB0byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVu +PSJMaXN0T2ZBZGROb2Rlc0l0ZW0iIHR5cGU9InRuczpMaXN0T2ZBZGROb2Rlc0l0ZW0iIG5pbGxh +YmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFkZE5v +ZGVzUmVzdWx0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9u +PkEgcmVzdWx0IG9mIGFuIGFkZCBub2RlIG9wZXJhdGlvbi48L3hzOmRvY3VtZW50YXRpb24+DQog +ICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IlN0YXR1c0NvZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZGVkTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkTm9kZXNSZXN1bHQiIHR5cGU9 +InRuczpBZGROb2Rlc1Jlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m +QWRkTm9kZXNSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IkFkZE5vZGVzUmVzdWx0IiB0eXBlPSJ0bnM6QWRkTm9kZXNSZXN1bHQiIG1pbk9jY3Vycz0i +MCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx +dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkFk +ZE5vZGVzUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mQWRkTm9kZXNSZXN1bHQiIG5pbGxhYmxlPSJ0 +cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFkZE5vZGVzUmVx +dWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BZGRz +IG9uZSBvciBtb3JlIG5vZGVzIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3Vt +ZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVy +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iTm9kZXNUb0FkZCIgdHlwZT0idG5zOkxpc3RPZkFkZE5vZGVzSXRlbSIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBZGROb2Rlc1JlcXVlc3QiIHR5cGU9InRuczpBZGRO +b2Rlc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFkZE5vZGVzUmVzcG9u +c2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QWRkcyBv +bmUgb3IgbW9yZSBub2RlcyB0byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVu +dGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVy +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZkFkZE5vZGVzUmVzdWx0IiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0lu +Zm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs +ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 +eHM6ZWxlbWVudCBuYW1lPSJBZGROb2Rlc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6QWRkTm9kZXNSZXNw +b25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWRkUmVmZXJlbmNlc0l0ZW0iPg0K +ICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSByZXF1ZXN0IHRv +IGFkZCBhIHJlZmVyZW5jZSB0byB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVu dGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZVRhcmdldFJl -ZmVyZW5jZXMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVO -b2Rlc0l0ZW0iIHR5cGU9InRuczpEZWxldGVOb2Rlc0l0ZW0iIC8+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9Ikxpc3RPZkRlbGV0ZU5vZGVzSXRlbSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlTm9kZXNJdGVtIiB0eXBlPSJ0bnM6RGVsZXRlTm9k -ZXNJdGVtIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJMaXN0T2ZEZWxldGVOb2Rlc0l0ZW0iIHR5cGU9InRuczpMaXN0T2ZEZWxldGVO -b2Rlc0l0ZW0iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhU -eXBlIG5hbWU9IkRlbGV0ZU5vZGVzUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAg -ICA8eHM6ZG9jdW1lbnRhdGlvbj5EZWxldGUgb25lIG9yIG1vcmUgbm9kZXMgZnJvbSB0aGUgc2Vy +eHM6ZWxlbWVudCBuYW1lPSJTb3VyY2VOb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5j +ZVR5cGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNGb3J3YXJkIiB0eXBlPSJ4czpib29sZWFuIiBt +aW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXRTZXJ2ZXJVcmki +IHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlRhcmdldE5vZGVJZCIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQi +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJUYXJnZXROb2RlQ2xhc3MiIHR5cGU9InRuczpOb2RlQ2xhc3MiIG1pbk9jY3Vycz0iMCIgLz4N +CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJBZGRSZWZlcmVuY2VzSXRlbSIgdHlwZT0idG5zOkFkZFJlZmVyZW5jZXNJdGVtIiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZBZGRSZWZlcmVuY2VzSXRlbSI+DQogICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkUmVmZXJlbmNlc0l0ZW0i +IHR5cGU9InRuczpBZGRSZWZlcmVuY2VzSXRlbSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu +Ym91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj +b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQWRkUmVmZXJlbmNlc0l0ZW0i +IHR5cGU9InRuczpMaXN0T2ZBZGRSZWZlcmVuY2VzSXRlbSIgbmlsbGFibGU9InRydWUiPjwveHM6 +ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQWRkUmVmZXJlbmNlc1JlcXVlc3Qi +Pg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QWRkcyBvbmUg +b3IgbW9yZSByZWZlcmVuY2VzIHRvIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3Vt +ZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVy +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iUmVmZXJlbmNlc1RvQWRkIiB0eXBlPSJ0bnM6TGlzdE9mQWRkUmVmZXJlbmNlc0l0ZW0iIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkUmVmZXJlbmNlc1JlcXVlc3Qi +IHR5cGU9InRuczpBZGRSZWZlcmVuY2VzUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iQWRkUmVmZXJlbmNlc1Jlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAg +IDx4czpkb2N1bWVudGF0aW9uPkFkZHMgb25lIG9yIG1vcmUgcmVmZXJlbmNlcyB0byB0aGUgc2Vy dmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlv -bj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVh -ZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVzVG9EZWxldGUiIHR5cGU9InRuczpM -aXN0T2ZEZWxldGVOb2Rlc0l0ZW0iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iRGVsZXRlTm9kZXNSZXF1ZXN0IiB0eXBlPSJ0bnM6RGVsZXRlTm9kZXNSZXF1ZXN0IiAvPg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEZWxldGVOb2Rlc1Jlc3BvbnNlIj4NCiAgICA8eHM6 -YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkRlbGV0ZSBvbmUgb3IgbW9yZSBu +bj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhl +YWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9m +U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0lu +Zm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkUmVmZXJlbmNlc1Jl +c3BvbnNlIiB0eXBlPSJ0bnM6QWRkUmVmZXJlbmNlc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJEZWxldGVOb2Rlc0l0ZW0iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAg +ICAgPHhzOmRvY3VtZW50YXRpb24+QSByZXF1ZXN0IHRvIGRlbGV0ZSBhIG5vZGUgdG8gdGhlIHNl +cnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRp +b24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0 +eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVUYXJnZXRSZWZlcmVuY2VzIiB0eXBlPSJ4czpib29sZWFu +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlTm9kZXNJdGVtIiB0eXBlPSJ0bnM6RGVsZXRl +Tm9kZXNJdGVtIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZEZWxldGVOb2Rl +c0l0ZW0iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlbGV0 +ZU5vZGVzSXRlbSIgdHlwZT0idG5zOkRlbGV0ZU5vZGVzSXRlbSIgbWluT2NjdXJzPSIwIiBtYXhP +Y2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N +CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRGVsZXRlTm9k +ZXNJdGVtIiB0eXBlPSJ0bnM6TGlzdE9mRGVsZXRlTm9kZXNJdGVtIiBuaWxsYWJsZT0idHJ1ZSI+ +PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJEZWxldGVOb2Rlc1JlcXVl +c3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+RGVsZXRl +IG9uZSBvciBtb3JlIG5vZGVzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9j +dW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFk +ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJOb2Rlc1RvRGVsZXRlIiB0eXBlPSJ0bnM6TGlzdE9mRGVsZXRlTm9kZXNJdGVtIiBtaW5P +Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZU5vZGVzUmVxdWVzdCIgdHlw +ZT0idG5zOkRlbGV0ZU5vZGVzUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i +RGVsZXRlTm9kZXNSZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9j +dW1lbnRhdGlvbj5EZWxldGUgb25lIG9yIG1vcmUgbm9kZXMgZnJvbSB0aGUgc2VydmVyIGFkZHJl +c3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlw +ZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29k +ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj +b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlTm9kZXNSZXNwb25zZSIgdHlw +ZT0idG5zOkRlbGV0ZU5vZGVzUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +IkRlbGV0ZVJlZmVyZW5jZXNJdGVtIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpk +b2N1bWVudGF0aW9uPkEgcmVxdWVzdCB0byBkZWxldGUgYSBub2RlIGZyb20gdGhlIHNlcnZlciBh +ZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQog +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU291cmNlTm9kZUlkIiB0 +eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VUeXBlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IklzRm9y +d2FyZCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iVGFyZ2V0Tm9kZUlkIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZUJp +ZGlyZWN0aW9uYWwiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxl +dGVSZWZlcmVuY2VzSXRlbSIgdHlwZT0idG5zOkRlbGV0ZVJlZmVyZW5jZXNJdGVtIiAvPg0KDQog +IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZEZWxldGVSZWZlcmVuY2VzSXRlbSI+DQogICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlUmVmZXJlbmNlc0l0 +ZW0iIHR5cGU9InRuczpEZWxldGVSZWZlcmVuY2VzSXRlbSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1 +cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRGVsZXRlUmVmZXJl +bmNlc0l0ZW0iIHR5cGU9InRuczpMaXN0T2ZEZWxldGVSZWZlcmVuY2VzSXRlbSIgbmlsbGFibGU9 +InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlUmVm +ZXJlbmNlc1JlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50 +YXRpb24+RGVsZXRlIG9uZSBvciBtb3JlIHJlZmVyZW5jZXMgZnJvbSB0aGUgc2VydmVyIGFkZHJl +c3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBl +PSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZXNUb0RlbGV0ZSIgdHlwZT0idG5zOkxpc3RP +ZkRlbGV0ZVJlZmVyZW5jZXNJdGVtIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h +bWU9IkRlbGV0ZVJlZmVyZW5jZXNSZXF1ZXN0IiB0eXBlPSJ0bnM6RGVsZXRlUmVmZXJlbmNlc1Jl +cXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNSZXNw +b25zZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5EZWxl +dGUgb25lIG9yIG1vcmUgcmVmZXJlbmNlcyBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48 +L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVz +cG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1 +cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25v +c3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBl +Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVSZWZlcmVuY2VzUmVzcG9uc2UiIHR5cGU9InRu +czpEZWxldGVSZWZlcmVuY2VzUmVzcG9uc2UiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9 +IkF0dHJpYnV0ZVdyaXRlTWFzayI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9j +dW1lbnRhdGlvbj5EZWZpbmUgYml0cyB1c2VkIHRvIGluZGljYXRlIHdoaWNoIGF0dHJpYnV0ZXMg +YXJlIHdyaXRhYmxlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQog +ICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnVuc2lnbmVkSW50Ij4NCiAgICA8L3hzOnJlc3Ry +aWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkF0dHJpYnV0 +ZVdyaXRlTWFzayIgdHlwZT0idG5zOkF0dHJpYnV0ZVdyaXRlTWFzayIgLz4NCg0KICA8eHM6c2lt +cGxlVHlwZSAgbmFtZT0iQnJvd3NlRGlyZWN0aW9uIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg +ICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBkaXJlY3Rpb25zIG9mIHRoZSByZWZlcmVuY2VzIHRv +IHJldHVybi48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4 +czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh +bHVlPSJGb3J3YXJkXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkludmVyc2Vf +MSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQm90aF8yIiAvPg0KICAgICAgPHhz +OmVudW1lcmF0aW9uIHZhbHVlPSJJbnZhbGlkXzMiIC8+DQogICAgPC94czpyZXN0cmljdGlvbj4N +CiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VEaXJlY3Rpb24i +IHR5cGU9InRuczpCcm93c2VEaXJlY3Rpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 +IlZpZXdEZXNjcmlwdGlvbiI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l +bnRhdGlvbj5UaGUgdmlldyB0byBicm93c2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6 +YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJW +aWV3SWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRpbWVzdGFtcCIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1p +bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZpZXdWZXJzaW9uIiB0eXBl +PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlZpZXdEZXNjcmlwdGlvbiIg +dHlwZT0idG5zOlZpZXdEZXNjcmlwdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i +QnJvd3NlRGVzY3JpcHRpb24iPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3Vt +ZW50YXRpb24+QSByZXF1ZXN0IHRvIGJyb3dzZSB0aGUgdGhlIHJlZmVyZW5jZXMgZnJvbSBhIG5v +ZGUuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2Vx +dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IkJyb3dzZURpcmVjdGlvbiIgdHlwZT0idG5zOkJyb3dzZURpcmVjdGlvbiIgbWluT2NjdXJzPSIw +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpO +b2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJJbmNsdWRlU3VidHlwZXMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVDbGFzc01hc2siIHR5cGU9InhzOnVuc2ln +bmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRN +YXNrIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2Vx +dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZURl +c2NyaXB0aW9uIiB0eXBlPSJ0bnM6QnJvd3NlRGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9Ikxpc3RPZkJyb3dzZURlc2NyaXB0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VEZXNjcmlwdGlvbiIgdHlwZT0idG5zOkJy +b3dzZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxs +YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZCcm93c2VEZXNjcmlwdGlvbiIgdHlwZT0idG5zOkxp +c3RPZkJyb3dzZURlc2NyaXB0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog +IDx4czpzaW1wbGVUeXBlICBuYW1lPSJCcm93c2VSZXN1bHRNYXNrIj4NCiAgICA8eHM6YW5ub3Rh +dGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkEgYml0IG1hc2sgd2hpY2ggc3BlY2lmaWVz +IHdoYXQgc2hvdWxkIGJlIHJldHVybmVkIGluIGEgYnJvd3NlIHJlc3BvbnNlLjwveHM6ZG9jdW1l +bnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9 +InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vbmVfMCIgLz4NCiAg +ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUmVmZXJlbmNlVHlwZUlkXzEiIC8+DQogICAgICA8 +eHM6ZW51bWVyYXRpb24gdmFsdWU9IklzRm9yd2FyZF8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0 +aW9uIHZhbHVlPSJOb2RlQ2xhc3NfNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i +QnJvd3NlTmFtZV84IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEaXNwbGF5TmFt +ZV8xNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVHlwZURlZmluaXRpb25fMzIi +IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFsbF82MyIgLz4NCiAgICAgIDx4czpl +bnVtZXJhdGlvbiB2YWx1ZT0iUmVmZXJlbmNlVHlwZUluZm9fMyIgLz4NCiAgICAgIDx4czplbnVt +ZXJhdGlvbiB2YWx1ZT0iVGFyZ2V0SW5mb182MCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0K +ICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVJlc3VsdE1hc2si +IHR5cGU9InRuczpCcm93c2VSZXN1bHRNYXNrIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJSZWZlcmVuY2VEZXNjcmlwdGlvbiI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6 +ZG9jdW1lbnRhdGlvbj5UaGUgZGVzY3JpcHRpb24gb2YgYSByZWZlcmVuY2UuPC94czpkb2N1bWVu +dGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VUeXBlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IklzRm9y +d2FyZCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBu +aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZU5hbWUiIHR5 +cGU9InVhOlF1YWxpZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNwbGF5TmFtZSIgdHlwZT0idWE6TG9jYWxpemVkVGV4 +dCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9Ik5vZGVDbGFzcyIgdHlwZT0idG5zOk5vZGVDbGFzcyIgbWluT2NjdXJzPSIwIiAvPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iVHlwZURlZmluaXRpb24iIHR5cGU9InVhOkV4cGFuZGVkTm9k +ZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZURlc2Ny +aXB0aW9uIiB0eXBlPSJ0bnM6UmVmZXJlbmNlRGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9Ikxpc3RPZlJlZmVyZW5jZURlc2NyaXB0aW9uIj4NCiAgICA8eHM6c2VxdWVu +Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VEZXNjcmlwdGlvbiIgdHlwZT0i +dG5zOlJlZmVyZW5jZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3Vu +ZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZSZWZlcmVuY2VEZXNjcmlwdGlvbiIg +dHlwZT0idG5zOkxpc3RPZlJlZmVyZW5jZURlc2NyaXB0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94 +czplbGVtZW50Pg0KDQogIDx4czplbGVtZW50IG5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiB0eXBl +PSJ4czpiYXNlNjRCaW5hcnkiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb3dzZVJl +c3VsdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUg +cmVzdWx0IG9mIGEgYnJvd3NlIG9wZXJhdGlvbi48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94 +czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlN0YXR1c0NvZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpiYXNlNjRCaW5h +cnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJSZWZlcmVuY2VzIiB0eXBlPSJ0bnM6TGlzdE9mUmVmZXJlbmNlRGVzY3JpcHRpb24iIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUmVzdWx0IiB0eXBlPSJ0 +bnM6QnJvd3NlUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZCcm93 +c2VSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJy +b3dzZVJlc3VsdCIgdHlwZT0idG5zOkJyb3dzZVJlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1 +cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQnJvd3NlUmVzdWx0 +IiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVt +ZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VSZXF1ZXN0Ij4NCiAgICA8eHM6 +YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkJyb3dzZSB0aGUgcmVmZXJlbmNl +cyBmb3Igb25lIG9yIG1vcmUgbm9kZXMgZnJvbSB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94 +czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVz +dEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9IlZpZXciIHR5cGU9InRuczpWaWV3RGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0ZWRNYXhS +ZWZlcmVuY2VzUGVyTm9kZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVzVG9Ccm93c2UiIHR5cGU9InRuczpMaXN0T2ZC +cm93c2VEZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJC +cm93c2VSZXF1ZXN0IiB0eXBlPSJ0bnM6QnJvd3NlUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxl +eFR5cGUgbmFtZT0iQnJvd3NlUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAg +PHhzOmRvY3VtZW50YXRpb24+QnJvd3NlIHRoZSByZWZlcmVuY2VzIGZvciBvbmUgb3IgbW9yZSBu b2RlcyBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQog ICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vy cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRz -IiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpM -aXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJEZWxldGVOb2Rlc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6RGVsZXRlTm9kZXNSZXNwb25zZSIgLz4N -Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRGVsZXRlUmVmZXJlbmNlc0l0ZW0iPg0KICAgIDx4 -czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSByZXF1ZXN0IHRvIGRlbGV0 -ZSBhIG5vZGUgZnJvbSB0aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9u -Pg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJTb3VyY2VOb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZVR5cGVJ -ZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNGb3J3YXJkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1 -cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJnZXROb2RlSWQiIHR5cGU9InVh -OkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlQmlkaXJlY3Rpb25hbCIgdHlwZT0ieHM6Ym9vbGVhbiIg -bWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZVJlZmVyZW5jZXNJdGVtIiB0eXBlPSJ0bnM6RGVs -ZXRlUmVmZXJlbmNlc0l0ZW0iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkRl -bGV0ZVJlZmVyZW5jZXNJdGVtIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJEZWxldGVSZWZlcmVuY2VzSXRlbSIgdHlwZT0idG5zOkRlbGV0ZVJlZmVyZW5jZXNJ -dGVtIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJMaXN0T2ZEZWxldGVSZWZlcmVuY2VzSXRlbSIgdHlwZT0idG5zOkxpc3RPZkRlbGV0 -ZVJlZmVyZW5jZXNJdGVtIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJEZWxldGVSZWZlcmVuY2VzUmVxdWVzdCI+DQogICAgPHhzOmFubm90 -YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5EZWxldGUgb25lIG9yIG1vcmUgcmVmZXJl -bmNlcyBmcm9tIHRoZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQog -ICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNl -c1RvRGVsZXRlIiB0eXBlPSJ0bnM6TGlzdE9mRGVsZXRlUmVmZXJlbmNlc0l0ZW0iIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlUmVmZXJlbmNlc1JlcXVlc3QiIHR5 -cGU9InRuczpEZWxldGVSZWZlcmVuY2VzUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iRGVsZXRlUmVmZXJlbmNlc1Jlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg -ICAgIDx4czpkb2N1bWVudGF0aW9uPkRlbGV0ZSBvbmUgb3IgbW9yZSByZWZlcmVuY2VzIGZyb20g -dGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFu -bm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVz -cG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVh -Okxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdu -b3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZVJl -ZmVyZW5jZXNSZXNwb25zZSIgdHlwZT0idG5zOkRlbGV0ZVJlZmVyZW5jZXNSZXNwb25zZSIgLz4N -Cg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iQXR0cmlidXRlV3JpdGVNYXNrIj4NCiAgICA8eHM6 -YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkRlZmluZSBiaXRzIHVzZWQgdG8g -aW5kaWNhdGUgd2hpY2ggYXR0cmlidXRlcyBhcmUgd3JpdGFibGUuPC94czpkb2N1bWVudGF0aW9u -Pg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6dW5z -aWduZWRJbnQiPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iQXR0cmlidXRlV3JpdGVNYXNrIiB0eXBlPSJ0bnM6QXR0cmlidXRl -V3JpdGVNYXNrIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJCcm93c2VEaXJlY3Rpb24i -Pg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIGRpcmVj -dGlvbnMgb2YgdGhlIHJlZmVyZW5jZXMgdG8gcmV0dXJuLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAg -ICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkZvcndhcmRfMCIgLz4NCiAgICAgIDx4czpl -bnVtZXJhdGlvbiB2YWx1ZT0iSW52ZXJzZV8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh -bHVlPSJCb3RoXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkludmFsaWRfMyIg -Lz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9IkJyb3dzZURpcmVjdGlvbiIgdHlwZT0idG5zOkJyb3dzZURpcmVjdGlvbiIgLz4N -Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVmlld0Rlc2NyaXB0aW9uIj4NCiAgICA8eHM6YW5u -b3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSB2aWV3IHRvIGJyb3dzZS48L3hz -OmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZpZXdJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZXN0 -YW1wIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iVmlld1ZlcnNpb24iIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iVmlld0Rlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6Vmlld0Rlc2NyaXB0aW9uIiAvPg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VEZXNjcmlwdGlvbiI+DQogICAgPHhzOmFu -bm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8gYnJvd3NlIHRo -ZSB0aGUgcmVmZXJlbmNlcyBmcm9tIGEgbm9kZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94 -czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -Ik5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlRGlyZWN0aW9uIiB0eXBlPSJ0bnM6QnJv -d3NlRGlyZWN0aW9uIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS -ZWZlcmVuY2VUeXBlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkluY2x1ZGVTdWJ0eXBlcyIgdHlwZT0i -eHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9k -ZUNsYXNzTWFzayIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlJlc3VsdE1hc2siIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlRGVzY3JpcHRpb24iIHR5cGU9InRuczpCcm93c2VEZXNj -cmlwdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJvd3NlRGVzY3Jp -cHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dz -ZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6QnJvd3NlRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIg -bWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu -Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb3dz -ZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlRGVzY3JpcHRpb24iIG5pbGxhYmxl -PSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkJyb3dzZVJl -c3VsdE1hc2siPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+ -QSBiaXQgbWFzayB3aGljaCBzcGVjaWZpZXMgd2hhdCBzaG91bGQgYmUgcmV0dXJuZWQgaW4gYSBi -cm93c2UgcmVzcG9uc2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4N -CiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJh -dGlvbiB2YWx1ZT0iTm9uZV8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZWZl -cmVuY2VUeXBlSWRfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNGb3J3YXJk -XzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vZGVDbGFzc180IiAvPg0KICAg -ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJCcm93c2VOYW1lXzgiIC8+DQogICAgICA8eHM6ZW51 -bWVyYXRpb24gdmFsdWU9IkRpc3BsYXlOYW1lXzE2IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u -IHZhbHVlPSJUeXBlRGVmaW5pdGlvbl8zMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 -ZT0iQWxsXzYzIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZWZlcmVuY2VUeXBl -SW5mb18zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJUYXJnZXRJbmZvXzYwIiAv -Pg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iQnJvd3NlUmVzdWx0TWFzayIgdHlwZT0idG5zOkJyb3dzZVJlc3VsdE1hc2siIC8+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlZmVyZW5jZURlc2NyaXB0aW9uIj4NCiAgICA8 -eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSBkZXNjcmlwdGlvbiBv -ZiBhIHJlZmVyZW5jZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0K -ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZVR5cGVJ -ZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNGb3J3YXJkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1 -cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOkV4cGFu -ZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iQnJvd3NlTmFtZSIgdHlwZT0idWE6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc3BsYXlO -YW1lIiB0eXBlPSJ1YTpMb2NhbGl6ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUNsYXNzIiB0eXBlPSJ0bnM6Tm9kZUNs -YXNzIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUeXBlRGVmaW5p -dGlvbiIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVmZXJlbmNlRGVzY3JpcHRpb24iIHR5cGU9InRuczpSZWZlcmVuY2VEZXNj -cmlwdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUmVmZXJlbmNlRGVz -Y3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJl -ZmVyZW5jZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6UmVmZXJlbmNlRGVzY3JpcHRpb24iIG1pbk9j -Y3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv -eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxp -c3RPZlJlZmVyZW5jZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mUmVmZXJlbmNlRGVzY3Jp -cHRpb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iQ29udGludWF0aW9uUG9pbnQiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iQnJvd3NlUmVzdWx0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAg -ICAgIDx4czpkb2N1bWVudGF0aW9uPlRoZSByZXN1bHQgb2YgYSBicm93c2Ugb3BlcmF0aW9uLjwv -eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29k -ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9u -UG9pbnQiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZXMiIHR5cGU9InRuczpMaXN0 -T2ZSZWZlcmVuY2VEZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +IiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1 +YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJCcm93c2VSZXN1bHQiIHR5cGU9InRuczpCcm93c2VSZXN1bHQiIC8+DQoNCiAgPHhzOmNv -bXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkJyb3dzZVJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUmVzdWx0IiB0eXBlPSJ0bnM6QnJvd3NlUmVz -dWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJMaXN0T2ZCcm93c2VSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VSZXN1bHQi -IG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 -IkJyb3dzZVJlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50 -YXRpb24+QnJvd3NlIHRoZSByZWZlcmVuY2VzIGZvciBvbmUgb3IgbW9yZSBub2RlcyBmcm9tIHRo -ZSBzZXJ2ZXIgYWRkcmVzcyBzcGFjZS48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v -dGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVl -c3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmlldyIgdHlwZT0idG5zOlZpZXdE -ZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlJlcXVlc3RlZE1heFJlZmVyZW5jZXNQZXJOb2RlIiB0eXBlPSJ4czp1bnNp -Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNU -b0Jyb3dzZSIgdHlwZT0idG5zOkxpc3RPZkJyb3dzZURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVJlcXVlc3QiIHR5cGU9InRuczpCcm93c2VS -ZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VSZXNwb25zZSI+DQog -ICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5Ccm93c2UgdGhlIHJl -ZmVyZW5jZXMgZm9yIG9uZSBvciBtb3JlIG5vZGVzIGZyb20gdGhlIHNlcnZlciBhZGRyZXNzIHNw -YWNlLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRu -czpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VSZXN1bHQi -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVJlc3BvbnNlIiB0eXBlPSJ0bnM6 -QnJvd3NlUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb3dzZU5leHRS -ZXF1ZXN0Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPkNv -bnRpbnVlcyBvbmUgb3IgbW9yZSBicm93c2Ugb3BlcmF0aW9ucy48L3hzOmRvY3VtZW50YXRpb24+ -DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsZWFz -ZUNvbnRpbnVhdGlvblBvaW50cyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9uUG9pbnRzIiB0eXBlPSJ1YTpMaXN0 -T2ZCeXRlU3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 -c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dz -ZU5leHRSZXF1ZXN0IiB0eXBlPSJ0bnM6QnJvd3NlTmV4dFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNv -bXBsZXhUeXBlIG5hbWU9IkJyb3dzZU5leHRSZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRpb24+ -DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5Db250aW51ZXMgb25lIG9yIG1vcmUgYnJvd3NlIG9w -ZXJhdGlvbnMuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlw -ZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZkJyb3dzZVJl -c3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlTmV4dFJlc3BvbnNlIiB0 -eXBlPSJ0bnM6QnJvd3NlTmV4dFJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJSZWxhdGl2ZVBhdGhFbGVtZW50Ij4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpk -b2N1bWVudGF0aW9uPkFuIGVsZW1lbnQgaW4gYSByZWxhdGl2ZSBwYXRoLjwveHM6ZG9jdW1lbnRh -dGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iUmVmZXJlbmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ludmVy -c2UiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IkluY2x1ZGVTdWJ0eXBlcyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0TmFtZSIgdHlwZT0idWE6UXVhbGlmaWVk -TmFtZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl -Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWxhdGl2ZVBhdGhF -bGVtZW50IiB0eXBlPSJ0bnM6UmVsYXRpdmVQYXRoRWxlbWVudCIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iTGlzdE9mUmVsYXRpdmVQYXRoRWxlbWVudCI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsYXRpdmVQYXRoRWxlbWVudCIgdHlwZT0idG5z -OlJlbGF0aXZlUGF0aEVsZW1lbnQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlJlbGF0aXZlUGF0aEVsZW1lbnQiIHR5cGU9 -InRuczpMaXN0T2ZSZWxhdGl2ZVBhdGhFbGVtZW50IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVt -ZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWxhdGl2ZVBhdGgiPg0KICAgIDx4czph -bm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+QSByZWxhdGl2ZSBwYXRoIGNvbnN0 -cnVjdGVkIGZyb20gcmVmZXJlbmNlIHR5cGVzIGFuZCBicm93c2UgbmFtZXMuPC94czpkb2N1bWVu -dGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJFbGVtZW50cyIgdHlwZT0idG5zOkxpc3RPZlJlbGF0aXZlUGF0aEVs -ZW1lbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsYXRpdmVQYXRo -IiB0eXBlPSJ0bnM6UmVsYXRpdmVQYXRoIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJC -cm93c2VQYXRoIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9u -PkEgcmVxdWVzdCB0byB0cmFuc2xhdGUgYSBwYXRoIGludG8gYSBub2RlIGlkLjwveHM6ZG9jdW1l -bnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iU3RhcnRpbmdOb2RlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWxhdGl2 -ZVBhdGgiIHR5cGU9InRuczpSZWxhdGl2ZVBhdGgiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iQnJvd3NlUGF0aCIgdHlwZT0idG5zOkJyb3dzZVBhdGgiIC8+DQoNCiAgPHhz -OmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGgiPg0KICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGgiIHR5cGU9InRuczpCcm93c2VQYXRo -IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJMaXN0T2ZCcm93c2VQYXRoIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlUGF0aCIgbmlsbGFi -bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQnJvd3Nl -UGF0aFRhcmdldCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlv -bj5UaGUgdGFyZ2V0IG9mIHRoZSB0cmFuc2xhdGVkIHBhdGguPC94czpkb2N1bWVudGF0aW9uPg0K -ICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJUYXJnZXRJZCIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZW1haW5pbmdQYXRo -SW5kZXgiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpz +YW1lPSJCcm93c2VSZXNwb25zZSIgdHlwZT0idG5zOkJyb3dzZVJlc3BvbnNlIiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VOZXh0UmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRp +b24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5Db250aW51ZXMgb25lIG9yIG1vcmUgYnJvd3Nl +IG9wZXJhdGlvbnMuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0 +eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlbGVhc2VDb250aW51YXRpb25Qb2ludHMiIHR5cGU9 +InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNv +bnRpbnVhdGlvblBvaW50cyIgdHlwZT0idWE6TGlzdE9mQnl0ZVN0cmluZyIgbWluT2NjdXJzPSIw +IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU +eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VOZXh0UmVxdWVzdCIgdHlwZT0idG5zOkJy +b3dzZU5leHRSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJCcm93c2VOZXh0 +UmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+ +Q29udGludWVzIG9uZSBvciBtb3JlIGJyb3dzZSBvcGVyYXRpb25zLjwveHM6ZG9jdW1lbnRhdGlv +bj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJl +c3VsdHMiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5 +cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt +ZW50IG5hbWU9IkJyb3dzZU5leHRSZXNwb25zZSIgdHlwZT0idG5zOkJyb3dzZU5leHRSZXNwb25z +ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVsYXRpdmVQYXRoRWxlbWVudCI+DQog +ICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BbiBlbGVtZW50IGlu +IGEgcmVsYXRpdmUgcGF0aC48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9u +Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZVR5 +cGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNJbnZlcnNlIiB0eXBlPSJ4czpib29sZWFuIiBtaW5P +Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbmNsdWRlU3VidHlwZXMiIHR5 +cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlRhcmdldE5hbWUiIHR5cGU9InVhOlF1YWxpZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg +PHhzOmVsZW1lbnQgbmFtZT0iUmVsYXRpdmVQYXRoRWxlbWVudCIgdHlwZT0idG5zOlJlbGF0aXZl +UGF0aEVsZW1lbnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlJlbGF0aXZl +UGF0aEVsZW1lbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 +IlJlbGF0aXZlUGF0aEVsZW1lbnQiIHR5cGU9InRuczpSZWxhdGl2ZVBhdGhFbGVtZW50IiBtaW5P +Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 +L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM +aXN0T2ZSZWxhdGl2ZVBhdGhFbGVtZW50IiB0eXBlPSJ0bnM6TGlzdE9mUmVsYXRpdmVQYXRoRWxl +bWVudCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iUmVsYXRpdmVQYXRoIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1 +bWVudGF0aW9uPkEgcmVsYXRpdmUgcGF0aCBjb25zdHJ1Y3RlZCBmcm9tIHJlZmVyZW5jZSB0eXBl +cyBhbmQgYnJvd3NlIG5hbWVzLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRp +b24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRWxlbWVudHMi +IHR5cGU9InRuczpMaXN0T2ZSZWxhdGl2ZVBhdGhFbGVtZW50IiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog +IDx4czplbGVtZW50IG5hbWU9IlJlbGF0aXZlUGF0aCIgdHlwZT0idG5zOlJlbGF0aXZlUGF0aCIg +Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQnJvd3NlUGF0aCI+DQogICAgPHhzOmFubm90 +YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5BIHJlcXVlc3QgdG8gdHJhbnNsYXRlIGEg +cGF0aCBpbnRvIGEgbm9kZSBpZC48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0 +aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXJ0aW5n +Tm9kZSIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVsYXRpdmVQYXRoIiB0eXBlPSJ0bnM6UmVsYXRpdmVQ +YXRoIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGgiIHR5 +cGU9InRuczpCcm93c2VQYXRoIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZC +cm93c2VQYXRoIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJC +cm93c2VQYXRoIiB0eXBlPSJ0bnM6QnJvd3NlUGF0aCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9 +InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQnJvd3NlUGF0aCIgdHlw +ZT0idG5zOkxpc3RPZkJyb3dzZVBhdGgiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoN +CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb3dzZVBhdGhUYXJnZXQiPg0KICAgIDx4czphbm5v +dGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VGhlIHRhcmdldCBvZiB0aGUgdHJhbnNs +YXRlZCBwYXRoLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAg +PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0SWQiIHR5cGU9InVh +OkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iUmVtYWluaW5nUGF0aEluZGV4IiB0eXBlPSJ4czp1bnNpZ25lZElu +dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 +cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGhUYXJnZXQiIHR5cGU9InRuczpCcm93 +c2VQYXRoVGFyZ2V0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZCcm93c2VQ +YXRoVGFyZ2V0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJC +cm93c2VQYXRoVGFyZ2V0IiB0eXBlPSJ0bnM6QnJvd3NlUGF0aFRhcmdldCIgbWluT2NjdXJzPSIw +IiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQnJv +d3NlUGF0aFRhcmdldCIgdHlwZT0idG5zOkxpc3RPZkJyb3dzZVBhdGhUYXJnZXQiIG5pbGxhYmxl +PSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkJyb3dzZVBh +dGhSZXN1bHQiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+ +VGhlIHJlc3VsdCBvZiBhIHRyYW5zbGF0ZSBvcGVhcmF0aW9uLjwveHM6ZG9jdW1lbnRhdGlvbj4N +CiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l +bnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVGFyZ2V0cyIgdHlwZT0idG5zOkxpc3RPZkJyb3dz +ZVBhdGhUYXJnZXQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3Nl -UGF0aFRhcmdldCIgdHlwZT0idG5zOkJyb3dzZVBhdGhUYXJnZXQiIC8+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGhUYXJnZXQiPg0KICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGhUYXJnZXQiIHR5cGU9InRuczpCcm93 -c2VQYXRoVGFyZ2V0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJs +UGF0aFJlc3VsdCIgdHlwZT0idG5zOkJyb3dzZVBhdGhSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBs +ZXhUeXBlIG5hbWU9Ikxpc3RPZkJyb3dzZVBhdGhSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGhSZXN1bHQiIHR5cGU9InRuczpCcm93 +c2VQYXRoUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJs ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZCcm93c2VQYXRoVGFyZ2V0IiB0eXBlPSJ0bnM6TGlzdE9m -QnJvd3NlUGF0aFRhcmdldCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iQnJvd3NlUGF0aFJlc3VsdCI+DQogICAgPHhzOmFubm90YXRpb24+ -DQogICAgICA8eHM6ZG9jdW1lbnRhdGlvbj5UaGUgcmVzdWx0IG9mIGEgdHJhbnNsYXRlIG9wZWFy -YXRpb24uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6 -c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpT -dGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUYXJn -ZXRzIiB0eXBlPSJ0bnM6TGlzdE9mQnJvd3NlUGF0aFRhcmdldCIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VQYXRoUmVzdWx0IiB0eXBlPSJ0bnM6QnJvd3NlUGF0 -aFJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQnJvd3NlUGF0aFJl -c3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3Nl -UGF0aFJlc3VsdCIgdHlwZT0idG5zOkJyb3dzZVBhdGhSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4 -T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkJyb3dzZVBh -dGhSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VQYXRoUmVzdWx0IiBuaWxsYWJsZT0idHJ1 -ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJUcmFuc2xhdGVCcm93 -c2VQYXRoc1RvTm9kZUlkc1JlcXVlc3QiPg0KICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhz -OmRvY3VtZW50YXRpb24+VHJhbnNsYXRlcyBvbmUgb3IgbW9yZSBwYXRocyBpbiB0aGUgc2VydmVy -IGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4N -CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVy -IiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGhzIiB0eXBlPSJ0bnM6TGlzdE9m -QnJvd3NlUGF0aCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2xh -dGVCcm93c2VQYXRoc1RvTm9kZUlkc1JlcXVlc3QiIHR5cGU9InRuczpUcmFuc2xhdGVCcm93c2VQ -YXRoc1RvTm9kZUlkc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlRyYW5z -bGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVzcG9uc2UiPg0KICAgIDx4czphbm5vdGF0aW9uPg0K -ICAgICAgPHhzOmRvY3VtZW50YXRpb24+VHJhbnNsYXRlcyBvbmUgb3IgbW9yZSBwYXRocyBpbiB0 -aGUgc2VydmVyIGFkZHJlc3Mgc3BhY2UuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5u -b3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNw -b25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5z -Okxpc3RPZkJyb3dzZVBhdGhSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RP -ZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv -eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRy -YW5zbGF0ZUJyb3dzZVBhdGhzVG9Ob2RlSWRzUmVzcG9uc2UiIHR5cGU9InRuczpUcmFuc2xhdGVC -cm93c2VQYXRoc1RvTm9kZUlkc1Jlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJSZWdpc3Rlck5vZGVzUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6 -ZG9jdW1lbnRhdGlvbj5SZWdpc3RlcnMgb25lIG9yIG1vcmUgbm9kZXMgZm9yIHJlcGVhdGVkIHVz -ZSB3aXRoaW4gYSBzZXNzaW9uLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRp -b24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhl -YWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2Rlc1RvUmVnaXN0ZXIiIHR5cGU9InVh +eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZCcm93c2VQYXRoUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9m +QnJvd3NlUGF0aFJlc3VsdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6 +Y29tcGxleFR5cGUgbmFtZT0iVHJhbnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNSZXF1ZXN0Ij4N +CiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRyYW5zbGF0ZXMg +b25lIG9yIG1vcmUgcGF0aHMgaW4gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwveHM6ZG9jdW1l +bnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIi +IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJCcm93c2VQYXRocyIgdHlwZT0idG5zOkxpc3RPZkJyb3dzZVBhdGgiIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNSZXF1 +ZXN0IiB0eXBlPSJ0bnM6VHJhbnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNSZXF1ZXN0IiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJUcmFuc2xhdGVCcm93c2VQYXRoc1RvTm9kZUlkc1Jl +c3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlRy +YW5zbGF0ZXMgb25lIG9yIG1vcmUgcGF0aHMgaW4gdGhlIHNlcnZlciBhZGRyZXNzIHNwYWNlLjwv +eHM6ZG9jdW1lbnRhdGlvbj4NCiAgICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNl +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNw +b25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZCcm93c2VQYXRoUmVzdWx0IiBt +aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +RGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs +ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2xhdGVCcm93c2VQYXRoc1RvTm9kZUlk +c1Jlc3BvbnNlIiB0eXBlPSJ0bnM6VHJhbnNsYXRlQnJvd3NlUGF0aHNUb05vZGVJZHNSZXNwb25z +ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVnaXN0ZXJOb2Rlc1JlcXVlc3QiPg0K +ICAgIDx4czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+UmVnaXN0ZXJzIG9u +ZSBvciBtb3JlIG5vZGVzIGZvciByZXBlYXRlZCB1c2Ugd2l0aGluIGEgc2Vzc2lvbi48L3hzOmRv +Y3VtZW50YXRpb24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVh +ZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iTm9kZXNUb1JlZ2lzdGVyIiB0eXBlPSJ1YTpMaXN0T2ZOb2RlSWQiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 +VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJOb2Rlc1JlcXVlc3QiIHR5cGU9InRu +czpSZWdpc3Rlck5vZGVzUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVn +aXN0ZXJOb2Rlc1Jlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlvbj4NCiAgICAgIDx4czpkb2N1 +bWVudGF0aW9uPlJlZ2lzdGVycyBvbmUgb3IgbW9yZSBub2RlcyBmb3IgcmVwZWF0ZWQgdXNlIHdp +dGhpbiBhIHNlc3Npb24uPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRl +ciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVnaXN0ZXJlZE5vZGVJZHMiIHR5cGU9InVh Okxpc3RPZk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWdp -c3Rlck5vZGVzUmVxdWVzdCIgdHlwZT0idG5zOlJlZ2lzdGVyTm9kZXNSZXF1ZXN0IiAvPg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWdpc3Rlck5vZGVzUmVzcG9uc2UiPg0KICAgIDx4czph -bm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+UmVnaXN0ZXJzIG9uZSBvciBtb3Jl -IG5vZGVzIGZvciByZXBlYXRlZCB1c2Ugd2l0aGluIGEgc2Vzc2lvbi48L3hzOmRvY3VtZW50YXRp -b24+DQogICAgPC94czphbm5vdGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS -ZWdpc3RlcmVkTm9kZUlkcyIgdHlwZT0idWE6TGlzdE9mTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5p +c3Rlck5vZGVzUmVzcG9uc2UiIHR5cGU9InRuczpSZWdpc3Rlck5vZGVzUmVzcG9uc2UiIC8+DQoN +CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlVucmVnaXN0ZXJOb2Rlc1JlcXVlc3QiPg0KICAgIDx4 +czphbm5vdGF0aW9uPg0KICAgICAgPHhzOmRvY3VtZW50YXRpb24+VW5yZWdpc3RlcnMgb25lIG9y +IG1vcmUgcHJldmlvdXNseSByZWdpc3RlcmVkIG5vZGVzLjwveHM6ZG9jdW1lbnRhdGlvbj4NCiAg +ICA8L3hzOmFubm90YXRpb24+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0i +MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2Rlc1RvVW5y +ZWdpc3RlciIgdHlwZT0idWE6TGlzdE9mTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl +bGVtZW50IG5hbWU9IlVucmVnaXN0ZXJOb2Rlc1JlcXVlc3QiIHR5cGU9InRuczpVbnJlZ2lzdGVy +Tm9kZXNSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJVbnJlZ2lzdGVyTm9k +ZXNSZXNwb25zZSI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1lbnRhdGlv +bj5VbnJlZ2lzdGVycyBvbmUgb3IgbW9yZSBwcmV2aW91c2x5IHJlZ2lzdGVyZWQgbm9kZXMuPC94 +czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2VxdWVuY2U+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3Bv +bnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx +dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlVucmVnaXN0 +ZXJOb2Rlc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6VW5yZWdpc3Rlck5vZGVzUmVzcG9uc2UiIC8+DQoN +CiAgPHhzOmVsZW1lbnQgbmFtZT0iQ291bnRlciIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIC8+DQoN +CiAgPHhzOmVsZW1lbnQgbmFtZT0iTnVtZXJpY1JhbmdlIiB0eXBlPSJ4czpzdHJpbmciIC8+DQoN +CiAgPHhzOmVsZW1lbnQgbmFtZT0iVGltZSIgdHlwZT0ieHM6c3RyaW5nIiAvPg0KDQogIDx4czpl +bGVtZW50IG5hbWU9IkRhdGUiIHR5cGU9InhzOmRhdGVUaW1lIiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJFbmRwb2ludENvbmZpZ3VyYXRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9Ik9wZXJhdGlvblRpbWVvdXQiIHR5cGU9InhzOmludCIgbWlu +T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlQmluYXJ5RW5jb2Rpbmci +IHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9Ik1heFN0cmluZ0xlbmd0aCIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg +ICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhCeXRlU3RyaW5nTGVuZ3RoIiB0eXBlPSJ4czppbnQiIG1p +bk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heEFycmF5TGVuZ3RoIiB0 +eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1h +eE1lc3NhZ2VTaXplIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9Ik1heEJ1ZmZlclNpemUiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2hhbm5lbExpZmV0aW1lIiB0eXBlPSJ4czppbnQi +IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5VG9rZW5M +aWZldGltZSIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5j +ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRW5kcG9pbnRDb25m +aWd1cmF0aW9uIiB0eXBlPSJ0bnM6RW5kcG9pbnRDb25maWd1cmF0aW9uIiAvPg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZFbmRwb2ludENvbmZpZ3VyYXRpb24iPg0KICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZHBvaW50Q29uZmlndXJhdGlvbiIg +dHlwZT0idG5zOkVuZHBvaW50Q29uZmlndXJhdGlvbiIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9 +InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mRW5kcG9pbnRDb25maWd1 +cmF0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mRW5kcG9pbnRDb25maWd1cmF0aW9uIiBuaWxsYWJsZT0i +dHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJRdWVyeURhdGFE +ZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i +UmVsYXRpdmVQYXRoIiB0eXBlPSJ0bnM6UmVsYXRpdmVQYXRoIiBtaW5PY2N1cnM9IjAiIG5pbGxh +YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXR0cmlidXRlSWQiIHR5cGU9 +InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJJbmRleFJhbmdlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy +dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iUXVlcnlEYXRhRGVzY3JpcHRpb24iIHR5cGU9InRuczpRdWVyeURhdGFEZXNj +cmlwdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUXVlcnlEYXRhRGVz +Y3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlF1 +ZXJ5RGF0YURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6UXVlcnlEYXRhRGVzY3JpcHRpb24iIG1pbk9j +Y3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv +eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxp +c3RPZlF1ZXJ5RGF0YURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mUXVlcnlEYXRhRGVzY3Jp +cHRpb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBl +IG5hbWU9Ik5vZGVUeXBlRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlR5cGVEZWZpbml0aW9uTm9kZSIgdHlwZT0idWE6RXhwYW5kZWROb2Rl +SWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJJbmNsdWRlU3ViVHlwZXMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFUb1JldHVybiIgdHlwZT0idG5zOkxpc3RPZlF1 +ZXJ5RGF0YURlc2NyaXB0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 +Ik5vZGVUeXBlRGVzY3JpcHRpb24iIHR5cGU9InRuczpOb2RlVHlwZURlc2NyaXB0aW9uIiAvPg0K +DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZOb2RlVHlwZURlc2NyaXB0aW9uIj4NCiAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlVHlwZURlc2NyaXB0 +aW9uIiB0eXBlPSJ0bnM6Tm9kZVR5cGVEZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBtYXhPY2N1 +cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg +PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTm9kZVR5cGVEZXNj +cmlwdGlvbiIgdHlwZT0idG5zOkxpc3RPZk5vZGVUeXBlRGVzY3JpcHRpb24iIG5pbGxhYmxlPSJ0 +cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkZpbHRlck9wZXJh +dG9yIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czpl +bnVtZXJhdGlvbiB2YWx1ZT0iRXF1YWxzXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs +dWU9IklzTnVsbF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJHcmVhdGVyVGhh +bl8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJMZXNzVGhhbl8zIiAvPg0KICAg +ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJHcmVhdGVyVGhhbk9yRXF1YWxfNCIgLz4NCiAgICAg +IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTGVzc1RoYW5PckVxdWFsXzUiIC8+DQogICAgICA8eHM6 +ZW51bWVyYXRpb24gdmFsdWU9Ikxpa2VfNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1 +ZT0iTm90XzciIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJldHdlZW5fOCIgLz4N +CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW5MaXN0XzkiIC8+DQogICAgICA8eHM6ZW51 +bWVyYXRpb24gdmFsdWU9IkFuZF8xMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i +T3JfMTEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkNhc3RfMTIiIC8+DQogICAg +ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkluVmlld18xMyIgLz4NCiAgICAgIDx4czplbnVtZXJh +dGlvbiB2YWx1ZT0iT2ZUeXBlXzE0IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJS +ZWxhdGVkVG9fMTUiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJpdHdpc2VBbmRf +MTYiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkJpdHdpc2VPcl8xNyIgLz4NCiAg +ICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5h +bWU9IkZpbHRlck9wZXJhdG9yIiB0eXBlPSJ0bnM6RmlsdGVyT3BlcmF0b3IiIC8+DQoNCiAgPHhz +OmNvbXBsZXhUeXBlIG5hbWU9IlF1ZXJ5RGF0YVNldCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlR5 +cGVEZWZpbml0aW9uTm9kZSIgdHlwZT0idWE6RXhwYW5kZWROb2RlSWQiIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZXMiIHR5cGU9 +InVhOkxpc3RPZlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +PC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0i +UXVlcnlEYXRhU2V0IiB0eXBlPSJ0bnM6UXVlcnlEYXRhU2V0IiAvPg0KDQogIDx4czpjb21wbGV4 +VHlwZSBuYW1lPSJMaXN0T2ZRdWVyeURhdGFTZXQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5RGF0YVNldCIgdHlwZT0idG5zOlF1ZXJ5RGF0YVNldCIg +bWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt +ZT0iTGlzdE9mUXVlcnlEYXRhU2V0IiB0eXBlPSJ0bnM6TGlzdE9mUXVlcnlEYXRhU2V0IiBuaWxs +YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJOb2Rl +UmVmZXJlbmNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJO +b2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZVR5cGVJZCIgdHlwZT0idWE6Tm9kZUlk +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iSXNGb3J3YXJkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJSZWZlcmVuY2VkTm9kZUlkcyIgdHlwZT0idWE6TGlzdE9mTm9kZUlk +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik5vZGVSZWZlcmVuY2UiIHR5 +cGU9InRuczpOb2RlUmVmZXJlbmNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0 +T2ZOb2RlUmVmZXJlbmNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJOb2RlUmVmZXJlbmNlIiB0eXBlPSJ0bnM6Tm9kZVJlZmVyZW5jZSIgbWluT2NjdXJzPSIw +IiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 +ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTm9k +ZVJlZmVyZW5jZSIgdHlwZT0idG5zOkxpc3RPZk5vZGVSZWZlcmVuY2UiIG5pbGxhYmxlPSJ0cnVl +Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNvbnRlbnRGaWx0ZXJF +bGVtZW50Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0 +ZXJPcGVyYXRvciIgdHlwZT0idG5zOkZpbHRlck9wZXJhdG9yIiBtaW5PY2N1cnM9IjAiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXJPcGVyYW5kcyIgdHlwZT0idWE6TGlzdE9mRXh0 +ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6 +c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNvbnRl +bnRGaWx0ZXJFbGVtZW50IiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlckVsZW1lbnQiIC8+DQoNCiAg +PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkNvbnRlbnRGaWx0ZXJFbGVtZW50Ij4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250ZW50RmlsdGVyRWxlbWVu +dCIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXJFbGVtZW50IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vy +cz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZDb250ZW50RmlsdGVy +RWxlbWVudCIgdHlwZT0idG5zOkxpc3RPZkNvbnRlbnRGaWx0ZXJFbGVtZW50IiBuaWxsYWJsZT0i +dHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDb250ZW50Rmls +dGVyIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbGVtZW50 +cyIgdHlwZT0idG5zOkxpc3RPZkNvbnRlbnRGaWx0ZXJFbGVtZW50IiBtaW5PY2N1cnM9IjAiIG5p bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9IlJlZ2lzdGVyTm9kZXNSZXNwb25zZSIgdHlwZT0idG5zOlJl -Z2lzdGVyTm9kZXNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVW5yZWdp -c3Rlck5vZGVzUmVxdWVzdCI+DQogICAgPHhzOmFubm90YXRpb24+DQogICAgICA8eHM6ZG9jdW1l -bnRhdGlvbj5VbnJlZ2lzdGVycyBvbmUgb3IgbW9yZSBwcmV2aW91c2x5IHJlZ2lzdGVyZWQgbm9k -ZXMuPC94czpkb2N1bWVudGF0aW9uPg0KICAgIDwveHM6YW5ub3RhdGlvbj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6 -UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9Ik5vZGVzVG9VbnJlZ2lzdGVyIiB0eXBlPSJ1YTpMaXN0T2ZOb2RlSWQi -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg -PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVW5yZWdpc3Rlck5vZGVzUmVx -dWVzdCIgdHlwZT0idG5zOlVucmVnaXN0ZXJOb2Rlc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9IlVucmVnaXN0ZXJOb2Rlc1Jlc3BvbnNlIj4NCiAgICA8eHM6YW5ub3RhdGlv -bj4NCiAgICAgIDx4czpkb2N1bWVudGF0aW9uPlVucmVnaXN0ZXJzIG9uZSBvciBtb3JlIHByZXZp -b3VzbHkgcmVnaXN0ZXJlZCBub2Rlcy48L3hzOmRvY3VtZW50YXRpb24+DQogICAgPC94czphbm5v -dGF0aW9uPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3Bv -bnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iVW5yZWdpc3Rlck5vZGVzUmVzcG9uc2UiIHR5cGU9InRuczpVbnJl -Z2lzdGVyTm9kZXNSZXNwb25zZSIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb3VudGVyIiB0 -eXBlPSJ4czp1bnNpZ25lZEludCIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOdW1lcmljUmFu -Z2UiIHR5cGU9InhzOnN0cmluZyIgLz4NCg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lIiB0eXBl -PSJ4czpzdHJpbmciIC8+DQoNCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0ZSIgdHlwZT0ieHM6ZGF0 -ZVRpbWUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVuZHBvaW50Q29uZmlndXJhdGlv -biI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT3BlcmF0aW9u -VGltZW91dCIgdHlwZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJVc2VCaW5hcnlFbmNvZGluZyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4U3RyaW5nTGVuZ3RoIiB0eXBlPSJ4czpp -bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heEJ5dGVTdHJp -bmdMZW5ndGgiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iTWF4QXJyYXlMZW5ndGgiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4TWVzc2FnZVNpemUiIHR5cGU9InhzOmludCIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4QnVmZmVyU2l6ZSIgdHlw -ZT0ieHM6aW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDaGFu -bmVsTGlmZXRpbWUiIHR5cGU9InhzOmludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iU2VjdXJpdHlUb2tlbkxpZmV0aW1lIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vy -cz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJFbmRwb2ludENvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpFbmRwb2ludENv -bmZpZ3VyYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkVuZHBvaW50 -Q29uZmlndXJhdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iRW5kcG9pbnRDb25maWd1cmF0aW9uIiB0eXBlPSJ0bnM6RW5kcG9pbnRDb25maWd1cmF0aW9u -IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJMaXN0T2ZFbmRwb2ludENvbmZpZ3VyYXRpb24iIHR5cGU9InRuczpMaXN0T2ZFbmRwb2lu -dENvbmZpZ3VyYXRpb24iIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNv -bXBsZXhUeXBlIG5hbWU9IlF1ZXJ5RGF0YURlc2NyaXB0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWxhdGl2ZVBhdGgiIHR5cGU9InRuczpSZWxhdGl2 -ZVBhdGgiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJBdHRyaWJ1dGVJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeURhdGFEZXNjcmlwdGlv -biIgdHlwZT0idG5zOlF1ZXJ5RGF0YURlc2NyaXB0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJMaXN0T2ZRdWVyeURhdGFEZXNjcmlwdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlEYXRhRGVzY3JpcHRpb24iIHR5cGU9InRuczpR -dWVyeURhdGFEZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mUXVlcnlEYXRhRGVzY3JpcHRpb24iIHR5cGU9 -InRuczpMaXN0T2ZRdWVyeURhdGFEZXNjcmlwdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxl -bWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTm9kZVR5cGVEZXNjcmlwdGlvbiI+DQog -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHlwZURlZmluaXRpb25O -b2RlIiB0eXBlPSJ1YTpFeHBhbmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkluY2x1ZGVTdWJUeXBlcyIgdHlwZT0ieHM6 -Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVRv -UmV0dXJuIiB0eXBlPSJ0bnM6TGlzdE9mUXVlcnlEYXRhRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZVR5cGVEZXNjcmlwdGlvbiIgdHlwZT0idG5z -Ok5vZGVUeXBlRGVzY3JpcHRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RP -Zk5vZGVUeXBlRGVzY3JpcHRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9Ik5vZGVUeXBlRGVzY3JpcHRpb24iIHR5cGU9InRuczpOb2RlVHlwZURlc2NyaXB0 -aW9uIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJMaXN0T2ZOb2RlVHlwZURlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6TGlzdE9mTm9kZVR5 -cGVEZXNjcmlwdGlvbiIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6c2lt -cGxlVHlwZSAgbmFtZT0iRmlsdGVyT3BlcmF0b3IiPg0KICAgIDx4czpyZXN0cmljdGlvbiBiYXNl -PSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJFcXVhbHNfMCIgLz4N -CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSXNOdWxsXzEiIC8+DQogICAgICA8eHM6ZW51 -bWVyYXRpb24gdmFsdWU9IkdyZWF0ZXJUaGFuXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24g -dmFsdWU9Ikxlc3NUaGFuXzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkdyZWF0 -ZXJUaGFuT3JFcXVhbF80IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJMZXNzVGhh -bk9yRXF1YWxfNSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTGlrZV82IiAvPg0K -ICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOb3RfNyIgLz4NCiAgICAgIDx4czplbnVtZXJh -dGlvbiB2YWx1ZT0iQmV0d2Vlbl84IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJJ -bkxpc3RfOSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQW5kXzEwIiAvPg0KICAg -ICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJPcl8xMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlv -biB2YWx1ZT0iQ2FzdF8xMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW5WaWV3 -XzEzIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJPZlR5cGVfMTQiIC8+DQogICAg -ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlbGF0ZWRUb18xNSIgLz4NCiAgICAgIDx4czplbnVt -ZXJhdGlvbiB2YWx1ZT0iQml0d2lzZUFuZF8xNiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2 -YWx1ZT0iQml0d2lzZU9yXzE3IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2lt -cGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyT3BlcmF0b3IiIHR5cGU9InRuczpG -aWx0ZXJPcGVyYXRvciIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUXVlcnlEYXRhU2V0 -Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5 -cGU9InVhOkV4cGFuZGVkTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHlwZURlZmluaXRpb25Ob2RlIiB0eXBlPSJ1YTpFeHBh -bmRlZE5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlZhbHVlcyIgdHlwZT0idWE6TGlzdE9mVmFyaWFudCIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeURhdGFTZXQiIHR5cGU9InRuczpRdWVyeURh -dGFTZXQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlF1ZXJ5RGF0YVNldCI+ -DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlEYXRhU2V0 -IiB0eXBlPSJ0bnM6UXVlcnlEYXRhU2V0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3Vu -ZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZRdWVyeURhdGFTZXQiIHR5cGU9InRu -czpMaXN0T2ZRdWVyeURhdGFTZXQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik5vZGVSZWZlcmVuY2UiPg0KICAgIDx4czpzZXF1ZW5jZT4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVmZXJl -bmNlVHlwZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc0ZvcndhcmQiIHR5cGU9InhzOmJvb2xlYW4i -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlZmVyZW5jZWROb2Rl -SWRzIiB0eXBlPSJ1YTpMaXN0T2ZOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iTm9kZVJlZmVyZW5jZSIgdHlwZT0idG5zOk5vZGVSZWZlcmVuY2UiIC8+DQoNCiAg -PHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk5vZGVSZWZlcmVuY2UiPg0KICAgIDx4czpzZXF1 -ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVSZWZlcmVuY2UiIHR5cGU9InRuczpO -b2RlUmVmZXJlbmNlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZOb2RlUmVmZXJlbmNlIiB0eXBlPSJ0bnM6TGlzdE9mTm9k -ZVJlZmVyZW5jZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iQ29udGVudEZpbHRlckVsZW1lbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlck9wZXJhdG9yIiB0eXBlPSJ0bnM6RmlsdGVyT3Bl -cmF0b3IiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlck9w -ZXJhbmRzIiB0eXBlPSJ1YTpMaXN0T2ZFeHRlbnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGVudEZpbHRlckVsZW1lbnQiIHR5cGU9InRuczpDb250 -ZW50RmlsdGVyRWxlbWVudCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mQ29u -dGVudEZpbHRlckVsZW1lbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IkNvbnRlbnRGaWx0ZXJFbGVtZW50IiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlckVsZW1l -bnQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9Ikxpc3RPZkNvbnRlbnRGaWx0ZXJFbGVtZW50IiB0eXBlPSJ0bnM6TGlzdE9mQ29udGVu -dEZpbHRlckVsZW1lbnQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNv -bXBsZXhUeXBlIG5hbWU9IkNvbnRlbnRGaWx0ZXIiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IkVsZW1lbnRzIiB0eXBlPSJ0bnM6TGlzdE9mQ29udGVudEZpbHRl -ckVsZW1lbnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 -ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGVudEZp -bHRlciIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXIiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h -bWU9Ikxpc3RPZkNvbnRlbnRGaWx0ZXIiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IkNvbnRlbnRGaWx0ZXIiIHR5cGU9InRuczpDb250ZW50RmlsdGVyIiBtaW5P -Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM -aXN0T2ZDb250ZW50RmlsdGVyIiB0eXBlPSJ0bnM6TGlzdE9mQ29udGVudEZpbHRlciIgbmlsbGFi -bGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iRmlsdGVy -T3BlcmFuZCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkZpbHRlck9wZXJhbmQiIHR5cGU9InRu -czpGaWx0ZXJPcGVyYW5kIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFbGVtZW50T3Bl -cmFuZCI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6 -ZXh0ZW5zaW9uIGJhc2U9InRuczpGaWx0ZXJPcGVyYW5kIj4NCiAgICAgICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkluZGV4IiB0eXBlPSJ4czp1bnNpZ25lZElu -dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpl -eHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iRWxlbWVudE9wZXJhbmQiIHR5cGU9InRuczpFbGVtZW50T3Bl -cmFuZCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGl0ZXJhbE9wZXJhbmQiPg0KICAg -IDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBi -YXNlPSJ0bnM6RmlsdGVyT3BlcmFuZCI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJWYWx1ZSIgdHlwZT0idWE6VmFyaWFudCIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAg -PC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg -bmFtZT0iTGl0ZXJhbE9wZXJhbmQiIHR5cGU9InRuczpMaXRlcmFsT3BlcmFuZCIgLz4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iQXR0cmlidXRlT3BlcmFuZCI+DQogICAgPHhzOmNvbXBsZXhD -b250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpGaWx0 -ZXJPcGVyYW5kIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50 -IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFsaWFzIiB0eXBlPSJ4czpzdHJp -bmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iQnJvd3NlUGF0aCIgdHlwZT0idG5zOlJlbGF0aXZlUGF0aCIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdHRyaWJ1 -dGVJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJJbmRleFJhbmdlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hz -OmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBl -Pg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBdHRyaWJ1dGVPcGVyYW5kIiB0eXBlPSJ0bnM6QXR0cmli -dXRlT3BlcmFuZCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2ltcGxlQXR0cmlidXRl -T3BlcmFuZCI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8 -eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpGaWx0ZXJPcGVyYW5kIj4NCiAgICAgICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlR5cGVEZWZpbml0aW9uSWQiIHR5cGU9 -InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJCcm93c2VQYXRoIiB0eXBlPSJ1YTpMaXN0T2ZRdWFsaWZpZWROYW1l -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50 -IG5hbWU9IkF0dHJpYnV0ZUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAv -Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmlu -ZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5j +DQogIDx4czplbGVtZW50IG5hbWU9IkNvbnRlbnRGaWx0ZXIiIHR5cGU9InRuczpDb250ZW50Rmls +dGVyIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZDb250ZW50RmlsdGVyIj4N +CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250ZW50RmlsdGVy +IiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlciIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91 +bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w +bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQ29udGVudEZpbHRlciIgdHlwZT0i +dG5zOkxpc3RPZkNvbnRlbnRGaWx0ZXIiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoN +CiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkZpbHRlck9wZXJhbmQiPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJGaWx0ZXJPcGVyYW5kIiB0eXBlPSJ0bnM6RmlsdGVyT3BlcmFuZCIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iRWxlbWVudE9wZXJhbmQiPg0KICAgIDx4czpjb21wbGV4Q29u +dGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6RmlsdGVy +T3BlcmFuZCI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJJbmRleCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg +ICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxl +eENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkVsZW1l +bnRPcGVyYW5kIiB0eXBlPSJ0bnM6RWxlbWVudE9wZXJhbmQiIC8+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9IkxpdGVyYWxPcGVyYW5kIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9 +ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkZpbHRlck9wZXJhbmQiPg0K +ICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUi +IHR5cGU9InVhOlZhcmlhbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5j ZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNpbXBsZUF0dHJpYnV0ZU9wZXJh -bmQiIHR5cGU9InRuczpTaW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiAvPg0KDQogIDx4czpjb21wbGV4 -VHlwZSBuYW1lPSJMaXN0T2ZTaW1wbGVBdHRyaWJ1dGVPcGVyYW5kIj4NCiAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTaW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiB0eXBl -PSJ0bnM6U2ltcGxlQXR0cmlidXRlT3BlcmFuZCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVu -Ym91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mU2ltcGxlQXR0cmlidXRlT3Bl -cmFuZCIgdHlwZT0idG5zOkxpc3RPZlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIG5pbGxhYmxlPSJ0 -cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNvbnRlbnRGaWx0 -ZXJFbGVtZW50UmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJTdGF0dXNDb2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJPcGVyYW5kU3RhdHVzQ29kZXMiIHR5cGU9InVhOkxpc3RP -ZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJPcGVyYW5kRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFn -bm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb250ZW50 -RmlsdGVyRWxlbWVudFJlc3VsdCIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0 -IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZDb250ZW50RmlsdGVyRWxlbWVu -dFJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29u -dGVudEZpbHRlckVsZW1lbnRSZXN1bHQiIHR5cGU9InRuczpDb250ZW50RmlsdGVyRWxlbWVudFJl -c3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iTGlzdE9mQ29udGVudEZpbHRlckVsZW1lbnRSZXN1bHQiIHR5cGU9InRuczpMaXN0 -T2ZDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVu -dD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ29udGVudEZpbHRlclJlc3VsdCI+DQogICAg -PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRWxlbWVudFJlc3VsdHMiIHR5 -cGU9InRuczpMaXN0T2ZDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVsZW1lbnREaWFnbm9z -dGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9IkNvbnRlbnRGaWx0ZXJSZXN1bHQiIHR5cGU9InRuczpDb250 -ZW50RmlsdGVyUmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJQYXJzaW5nUmVz -dWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXND -b2RlIiB0eXBlPSJ1YTpTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJEYXRhU3RhdHVzQ29kZXMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJE -YXRhRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJQYXJzaW5nUmVzdWx0IiB0eXBlPSJ0bnM6 -UGFyc2luZ1Jlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mUGFyc2lu -Z1Jlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUGFy -c2luZ1Jlc3VsdCIgdHlwZT0idG5zOlBhcnNpbmdSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2Nj +eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkxpdGVyYWxPcGVyYW5kIiB0eXBl +PSJ0bnM6TGl0ZXJhbE9wZXJhbmQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkF0dHJp +YnV0ZU9wZXJhbmQiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAg +ICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6RmlsdGVyT3BlcmFuZCI+DQogICAgICAgIDx4czpz +ZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5v +ZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxl +bWVudCBuYW1lPSJBbGlhcyIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +PSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZVBhdGgiIHR5cGU9 +InRuczpSZWxhdGl2ZVBhdGgiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXR0cmlidXRlSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50 +IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSW5kZXhSYW5n +ZSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +ICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21w +bGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQXR0 +cmlidXRlT3BlcmFuZCIgdHlwZT0idG5zOkF0dHJpYnV0ZU9wZXJhbmQiIC8+DQoNCiAgPHhzOmNv +bXBsZXhUeXBlIG5hbWU9IlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiPg0KICAgIDx4czpjb21wbGV4 +Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6Rmls +dGVyT3BlcmFuZCI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJUeXBlRGVmaW5pdGlvbklkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnJvd3NlUGF0 +aCIgdHlwZT0idWE6TGlzdE9mUXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdHRyaWJ1dGVJZCIgdHlwZT0i +eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJJbmRleFJhbmdlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4N +CiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxl +bWVudCBuYW1lPSJTaW1wbGVBdHRyaWJ1dGVPcGVyYW5kIiB0eXBlPSJ0bnM6U2ltcGxlQXR0cmli +dXRlT3BlcmFuZCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU2ltcGxlQXR0 +cmlidXRlT3BlcmFuZCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iU2ltcGxlQXR0cmlidXRlT3BlcmFuZCIgdHlwZT0idG5zOlNpbXBsZUF0dHJpYnV0ZU9wZXJh +bmQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 +IG5hbWU9Ikxpc3RPZlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIHR5cGU9InRuczpMaXN0T2ZTaW1w +bGVBdHRyaWJ1dGVPcGVyYW5kIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCI+DQogICAgPHhz +OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6 +U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT3Bl +cmFuZFN0YXR1c0NvZGVzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT3BlcmFuZERpYWdu +b3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw +ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGVudEZpbHRlckVsZW1lbnRSZXN1bHQiIHR5cGU9 +InRuczpDb250ZW50RmlsdGVyRWxlbWVudFJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iTGlzdE9mQ29udGVudEZpbHRlckVsZW1lbnRSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNvbnRlbnRGaWx0ZXJFbGVtZW50UmVzdWx0IiB0 +eXBlPSJ0bnM6Q29udGVudEZpbHRlckVsZW1lbnRSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2Nj dXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog -IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlBhcnNpbmdSZXN1 -bHQiIHR5cGU9InRuczpMaXN0T2ZQYXJzaW5nUmVzdWx0IiBuaWxsYWJsZT0idHJ1ZSI+PC94czpl -bGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJRdWVyeUZpcnN0UmVxdWVzdCI+DQog -ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIg -dHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJWaWV3IiB0eXBlPSJ0bnM6Vmlld0Rlc2NyaXB0aW9u -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iTm9kZVR5cGVzIiB0eXBlPSJ0bnM6TGlzdE9mTm9kZVR5cGVEZXNjcmlwdGlvbiIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRl -ciIgdHlwZT0idG5zOkNvbnRlbnRGaWx0ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhEYXRhU2V0c1RvUmV0dXJuIiB0eXBlPSJ4 -czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -TWF4UmVmZXJlbmNlc1RvUmV0dXJuIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw -IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9IlF1ZXJ5Rmlyc3RSZXF1ZXN0IiB0eXBlPSJ0bnM6UXVlcnlGaXJzdFJlcXVlc3Qi -IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlF1ZXJ5Rmlyc3RSZXNwb25zZSI+DQogICAg -PHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5 -cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5RGF0YVNldHMiIHR5cGU9InRuczpMaXN0T2ZR -dWVyeURhdGFTZXQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJDb250aW51YXRpb25Qb2ludCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBt +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkNvbnRlbnRGaWx0 +ZXJFbGVtZW50UmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mQ29udGVudEZpbHRlckVsZW1lbnRSZXN1 +bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h +bWU9IkNvbnRlbnRGaWx0ZXJSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IkVsZW1lbnRSZXN1bHRzIiB0eXBlPSJ0bnM6TGlzdE9mQ29udGVudEZpbHRl +ckVsZW1lbnRSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJFbGVtZW50RGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZE +aWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz +OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDb250 +ZW50RmlsdGVyUmVzdWx0IiB0eXBlPSJ0bnM6Q29udGVudEZpbHRlclJlc3VsdCIgLz4NCg0KICA8 +eHM6Y29tcGxleFR5cGUgbmFtZT0iUGFyc2luZ1Jlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0K +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIg +bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YVN0YXR1c0NvZGVz +IiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVl +IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YURpYWdub3N0aWNJbmZvcyIgdHlwZT0i +dWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQg +bmFtZT0iUGFyc2luZ1Jlc3VsdCIgdHlwZT0idG5zOlBhcnNpbmdSZXN1bHQiIC8+DQoNCiAgPHhz +OmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlBhcnNpbmdSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5j +ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBhcnNpbmdSZXN1bHQiIHR5cGU9InRuczpQYXJz +aW5nUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 +ZWxlbWVudCBuYW1lPSJMaXN0T2ZQYXJzaW5nUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mUGFyc2lu +Z1Jlc3VsdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5 +cGUgbmFtZT0iUXVlcnlGaXJzdFJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 +czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBt aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -UGFyc2luZ1Jlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZQYXJzaW5nUmVzdWx0IiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3Rp -Y0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlclJlc3VsdCIgdHlw -ZT0idG5zOkNvbnRlbnRGaWx0ZXJSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iUXVlcnlGaXJzdFJlc3BvbnNlIiB0eXBlPSJ0bnM6UXVlcnlGaXJzdFJlc3BvbnNl -IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJRdWVyeU5leHRSZXF1ZXN0Ij4NCiAgICA8 -eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBl -PSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlJlbGVhc2VDb250aW51YXRpb25Qb2ludCIgdHlwZT0ieHM6 -Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGlu -dWF0aW9uUG9pbnQiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJRdWVyeU5leHRSZXF1ZXN0IiB0eXBlPSJ0bnM6UXVlcnlOZXh0UmVx -dWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUXVlcnlOZXh0UmVzcG9uc2UiPg0K -ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVy -IiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeURhdGFTZXRzIiB0eXBlPSJ0bnM6TGlz -dE9mUXVlcnlEYXRhU2V0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZENvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpiYXNl +VmlldyIgdHlwZT0idG5zOlZpZXdEZXNjcmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i +dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5vZGVUeXBlcyIgdHlwZT0idG5zOkxp +c3RPZk5vZGVUeXBlRGVzY3JpcHRpb24iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXIiIHR5cGU9InRuczpDb250ZW50RmlsdGVy +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iTWF4RGF0YVNldHNUb1JldHVybiIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i +MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heFJlZmVyZW5jZXNUb1JldHVybiIgdHlw +ZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeUZpcnN0UmVxdWVz +dCIgdHlwZT0idG5zOlF1ZXJ5Rmlyc3RSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu +YW1lPSJRdWVyeUZpcnN0UmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl +bGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJR +dWVyeURhdGFTZXRzIiB0eXBlPSJ0bnM6TGlzdE9mUXVlcnlEYXRhU2V0IiBtaW5PY2N1cnM9IjAi +IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9u +UG9pbnQiIHR5cGU9InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 +ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBhcnNpbmdSZXN1bHRzIiB0eXBlPSJ0bnM6 +TGlzdE9mUGFyc2luZ1Jlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +ICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlh +Z25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJGaWx0ZXJSZXN1bHQiIHR5cGU9InRuczpDb250ZW50RmlsdGVyUmVzdWx0 +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5Rmlyc3RSZXNwb25z +ZSIgdHlwZT0idG5zOlF1ZXJ5Rmlyc3RSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iUXVlcnlOZXh0UmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWxl +YXNlQ29udGludWF0aW9uUG9pbnQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4N +CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpiYXNl NjRCaW5hcnkiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUXVlcnlOZXh0 -UmVzcG9uc2UiIHR5cGU9InRuczpRdWVyeU5leHRSZXNwb25zZSIgLz4NCg0KICA8eHM6c2ltcGxl -VHlwZSAgbmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFz -ZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iU291cmNlXzAiIC8+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlNlcnZlcl8xIiAvPg0KICAgICAgPHhzOmVu -dW1lcmF0aW9uIHZhbHVlPSJCb3RoXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 -Ik5laXRoZXJfMyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW52YWxpZF80IiAv -Pg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iVGltZXN0YW1wc1RvUmV0dXJuIiB0eXBlPSJ0bnM6VGltZXN0YW1wc1RvUmV0dXJu -IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWFkVmFsdWVJZCI+DQogICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQi -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJBdHRyaWJ1dGVJZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFF -bmNvZGluZyIgdHlwZT0idWE6UXVhbGlmaWVkTmFtZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJSZWFkVmFsdWVJZCIgdHlwZT0idG5zOlJlYWRWYWx1ZUlkIiAvPg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZSZWFkVmFsdWVJZCI+DQogICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZFZhbHVlSWQiIHR5cGU9InRuczpSZWFk -VmFsdWVJZCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iTGlzdE9mUmVhZFZhbHVlSWQiIHR5cGU9InRuczpMaXN0T2ZSZWFkVmFsdWVJ -ZCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt -ZT0iUmVhZFJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4QWdlIiB0eXBl -PSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRp -bWVzdGFtcHNUb1JldHVybiIgdHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb1JlYWQiIHR5cGU9InRuczpM -aXN0T2ZSZWFkVmFsdWVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJS -ZWFkUmVxdWVzdCIgdHlwZT0idG5zOlJlYWRSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJSZWFkUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1 -bHRzIiB0eXBlPSJ1YTpMaXN0T2ZEYXRhVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVh -Okxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9IlJlYWRSZXNwb25zZSIgdHlwZT0idG5zOlJlYWRSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iSGlzdG9yeVJlYWRWYWx1ZUlkIj4NCiAgICA8eHM6c2VxdWVuY2U+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkluZGV4UmFu -Z2UiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IkRhdGFFbmNvZGluZyIgdHlwZT0idWE6UXVhbGlmaWVkTmFt -ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IkNvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRWYWx1ZUlkIiB0eXBlPSJ0bnM6 -SGlzdG9yeVJlYWRWYWx1ZUlkIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZI -aXN0b3J5UmVhZFZhbHVlSWQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9Ikhpc3RvcnlSZWFkVmFsdWVJZCIgdHlwZT0idG5zOkhpc3RvcnlSZWFkVmFsdWVJZCIg -bWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iTGlzdE9mSGlzdG9yeVJlYWRWYWx1ZUlkIiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeVJlYWRW -YWx1ZUlkIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlw -ZSBuYW1lPSJIaXN0b3J5UmVhZFJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ29udGludWF0aW9uUG9pbnQiIHR5cGU9 -InhzOmJhc2U2NEJpbmFyeSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlEYXRhIiB0eXBlPSJ1YTpFeHRlbnNpb25PYmplY3Qi -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg -PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRSZXN1bHQi -IHR5cGU9InRuczpIaXN0b3J5UmVhZFJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt -ZT0iTGlzdE9mSGlzdG9yeVJlYWRSZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9Ikhpc3RvcnlSZWFkUmVzdWx0IiB0eXBlPSJ0bnM6SGlzdG9yeVJlYWRS -ZXN1bHQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVl -IiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9Ikxpc3RPZkhpc3RvcnlSZWFkUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9y -eVJlYWRSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9Ikhpc3RvcnlSZWFkRGV0YWlscyI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg +UmVxdWVzdCIgdHlwZT0idG5zOlF1ZXJ5TmV4dFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9IlF1ZXJ5TmV4dFJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 +eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVy +IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iUXVlcnlEYXRhU2V0cyIgdHlwZT0idG5zOkxpc3RPZlF1ZXJ5RGF0YVNldCIgbWluT2NjdXJz +PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRD +b250aW51YXRpb25Qb2ludCIgdHlwZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5TmV4dFJlc3BvbnNlIiB0eXBlPSJ0bnM6UXVlcnlO +ZXh0UmVzcG9uc2UiIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IlRpbWVzdGFtcHNUb1Jl +dHVybiI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6 +ZW51bWVyYXRpb24gdmFsdWU9IlNvdXJjZV8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZh +bHVlPSJTZXJ2ZXJfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQm90aF8yIiAv +Pg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJOZWl0aGVyXzMiIC8+DQogICAgICA8eHM6 +ZW51bWVyYXRpb24gdmFsdWU9IkludmFsaWRfNCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0K +ICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRpbWVzdGFtcHNUb1JldHVy +biIgdHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg +bmFtZT0iUmVhZFZhbHVlSWQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9Ik5vZGVJZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXR0cmlidXRlSWQiIHR5cGU9InhzOnVu +c2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbmRl +eFJhbmdlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhRW5jb2RpbmciIHR5cGU9InVhOlF1YWxpZmll +ZE5hbWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j +ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZFZhbHVlSWQi +IHR5cGU9InRuczpSZWFkVmFsdWVJZCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlz +dE9mUmVhZFZhbHVlSWQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9IlJlYWRWYWx1ZUlkIiB0eXBlPSJ0bnM6UmVhZFZhbHVlSWQiIG1pbk9jY3Vycz0iMCIgbWF4 +T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ +DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlJlYWRWYWx1 +ZUlkIiB0eXBlPSJ0bnM6TGlzdE9mUmVhZFZhbHVlSWQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVs +ZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJlYWRSZXF1ZXN0Ij4NCiAgICA8eHM6 +c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0 +bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg +IDx4czplbGVtZW50IG5hbWU9Ik1heEFnZSIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAi +IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iIHR5cGU9InRu +czpUaW1lc3RhbXBzVG9SZXR1cm4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9Ik5vZGVzVG9SZWFkIiB0eXBlPSJ0bnM6TGlzdE9mUmVhZFZhbHVlSWQiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w +bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZFJlcXVlc3QiIHR5cGU9InRuczpSZWFk +UmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZFJlc3BvbnNlIj4NCiAg +ICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIg +dHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv +Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mRGF0YVZh +bHVlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg +bmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWlu +T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hz +OmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWFkUmVzcG9uc2UiIHR5cGU9InRu +czpSZWFkUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlSZWFk +VmFsdWVJZCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9k +ZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbmRleFJhbmdlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9j +Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRh +RW5jb2RpbmciIHR5cGU9InVhOlF1YWxpZmllZE5hbWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 +InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDb250aW51YXRpb25Qb2ludCIgdHlw +ZT0ieHM6YmFzZTY0QmluYXJ5IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -Ikhpc3RvcnlSZWFkRGV0YWlscyIgdHlwZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyIgLz4NCg0K -ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZEV2ZW50RGV0YWlscyI+DQogICAgPHhzOmNvbXBs -ZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpI -aXN0b3J5UmVhZERldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iTnVtVmFsdWVzUGVyTm9kZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1p +Ikhpc3RvcnlSZWFkVmFsdWVJZCIgdHlwZT0idG5zOkhpc3RvcnlSZWFkVmFsdWVJZCIgLz4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mSGlzdG9yeVJlYWRWYWx1ZUlkIj4NCiAgICA8 +eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5UmVhZFZhbHVlSWQi +IHR5cGU9InRuczpIaXN0b3J5UmVhZFZhbHVlSWQiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1 +bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 +Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkhpc3RvcnlSZWFkVmFsdWVJ +ZCIgdHlwZT0idG5zOkxpc3RPZkhpc3RvcnlSZWFkVmFsdWVJZCIgbmlsbGFibGU9InRydWUiPjwv +eHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeVJlYWRSZXN1bHQi +Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1c0NvZGUi +IHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 +IG5hbWU9IkNvbnRpbnVhdGlvblBvaW50IiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9jY3Vy +cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5 +RGF0YSIgdHlwZT0idWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl +bGVtZW50IG5hbWU9Ikhpc3RvcnlSZWFkUmVzdWx0IiB0eXBlPSJ0bnM6SGlzdG9yeVJlYWRSZXN1 +bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkhpc3RvcnlSZWFkUmVzdWx0 +Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5UmVh +ZFJlc3VsdCIgdHlwZT0idG5zOkhpc3RvcnlSZWFkUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG1heE9j +Y3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K +ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZIaXN0b3J5UmVh +ZFJlc3VsdCIgdHlwZT0idG5zOkxpc3RPZkhpc3RvcnlSZWFkUmVzdWx0IiBuaWxsYWJsZT0idHJ1 +ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5UmVhZERl +dGFpbHMiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5UmVhZERldGFpbHMiIHR5cGU9 +InRuczpIaXN0b3J5UmVhZERldGFpbHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlJl +YWRFdmVudERldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0K +ICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICAg +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik51bVZhbHVlc1Bl +ck5vZGUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAg +PHhzOmVsZW1lbnQgbmFtZT0iU3RhcnRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJz +PSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZFRpbWUiIHR5cGU9InhzOmRh +dGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmls +dGVyIiB0eXBlPSJ0bnM6RXZlbnRGaWx0ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi +IC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8 +L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu +YW1lPSJSZWFkRXZlbnREZXRhaWxzIiB0eXBlPSJ0bnM6UmVhZEV2ZW50RGV0YWlscyIgLz4NCg0K +ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZFJhd01vZGlmaWVkRGV0YWlscyI+DQogICAgPHhz +OmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9 +InRuczpIaXN0b3J5UmVhZERldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAg +ICAgPHhzOmVsZW1lbnQgbmFtZT0iSXNSZWFkTW9kaWZpZWQiIHR5cGU9InhzOmJvb2xlYW4iIG1p bk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGFydFRpbWUiIHR5 cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQg bmFtZT0iRW5kVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXIiIHR5cGU9InRuczpFdmVudEZpbHRlciIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAg -ICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlYWRFdmVudERldGFpbHMiIHR5cGU9InRu -czpSZWFkRXZlbnREZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJSZWFkUmF3 -TW9kaWZpZWREZXRhaWxzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4N -CiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhpc3RvcnlSZWFkRGV0YWlscyI+DQogICAg -ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJc1JlYWRNb2Rp -ZmllZCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlN0YXJ0VGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIg -Lz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRUaW1lIiB0eXBlPSJ4czpkYXRlVGlt -ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9Ik51bVZhbHVl -c1Blck5vZGUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV0dXJuQm91bmRzIiB0eXBlPSJ4czpib29sZWFuIiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lv -bj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJSZWFkUmF3TW9kaWZpZWREZXRhaWxzIiB0eXBlPSJ0bnM6UmVhZFJhd01v -ZGlmaWVkRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZFByb2Nlc3Nl -ZERldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAg -PHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICAgICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXJ0VGltZSIgdHlwZT0i -eHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJFbmRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAg -IDx4czplbGVtZW50IG5hbWU9IlByb2Nlc3NpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBt -aW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWdncmVnYXRlVHlw -ZSIgdHlwZT0idWE6TGlzdE9mTm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIHR5 -cGU9InRuczpBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQog -ICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iUmVhZFByb2Nlc3NlZERldGFpbHMiIHR5cGU9InRuczpSZWFkUHJvY2Vzc2VkRGV0 -YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUmVhZEF0VGltZURldGFpbHMiPg0K -ICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lv -biBiYXNlPSJ0bnM6SGlzdG9yeVJlYWREZXRhaWxzIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcVRpbWVzIiB0eXBlPSJ1YTpMaXN0T2ZEYXRl -VGltZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJVc2VTaW1wbGVCb3VuZHMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAg -IDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50 -IG5hbWU9IlJlYWRBdFRpbWVEZXRhaWxzIiB0eXBlPSJ0bnM6UmVhZEF0VGltZURldGFpbHMiIC8+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhpc3RvcnlEYXRhIj4NCiAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhVmFsdWVzIiB0eXBlPSJ1YTpMaXN0T2ZE -YXRhVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 -ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeURh -dGEiIHR5cGU9InRuczpIaXN0b3J5RGF0YSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -TW9kaWZpY2F0aW9uSW5mbyI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iTW9kaWZpY2F0aW9uVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVwZGF0ZVR5cGUiIHR5cGU9InRuczpIaXN0b3J5 -VXBkYXRlVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNl -ck5hbWUiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJNb2RpZmljYXRpb25JbmZvIiB0eXBlPSJ0bnM6TW9kaWZpY2F0aW9uSW5mbyIgLz4NCg0K -ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTW9kaWZpY2F0aW9uSW5mbyI+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZpY2F0aW9uSW5mbyIgdHlw -ZT0idG5zOk1vZGlmaWNhdGlvbkluZm8iIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5k -ZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk1vZGlmaWNhdGlvbkluZm8iIHR5cGU9 -InRuczpMaXN0T2ZNb2RpZmljYXRpb25JbmZvIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50 -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5TW9kaWZpZWREYXRhIj4NCiAgICA8 -eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFz -ZT0idG5zOkhpc3RvcnlEYXRhIj4NCiAgICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4 -czplbGVtZW50IG5hbWU9Ik1vZGlmaWNhdGlvbkluZm9zIiB0eXBlPSJ0bnM6TGlzdE9mTW9kaWZp -Y2F0aW9uSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94 -czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRl -bnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlNb2Rp -ZmllZERhdGEiIHR5cGU9InRuczpIaXN0b3J5TW9kaWZpZWREYXRhIiAvPg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJIaXN0b3J5RXZlbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IkV2ZW50cyIgdHlwZT0idG5zOkxpc3RPZkhpc3RvcnlFdmVudEZpZWxk -TGlzdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl -Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5RXZlbnQi -IHR5cGU9InRuczpIaXN0b3J5RXZlbnQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikhp -c3RvcnlSZWFkUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5UmVh -ZERldGFpbHMiIHR5cGU9InVhOkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRpbWVzdGFtcHNUb1JldHVybiIg -dHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iUmVsZWFzZUNvbnRpbnVhdGlvblBvaW50cyIgdHlwZT0ieHM6Ym9vbGVh -biIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZXNUb1JlYWQi -IHR5cGU9InRuczpMaXN0T2ZIaXN0b3J5UmVhZFZhbHVlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9yeVJlYWRSZXF1ZXN0IiB0eXBlPSJ0bnM6SGlzdG9yeVJl -YWRSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJIaXN0b3J5UmVhZFJlc3Bv -bnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25z -ZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxp -c3RPZkhpc3RvcnlSZWFkUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZE -aWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz -OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0 -b3J5UmVhZFJlc3BvbnNlIiB0eXBlPSJ0bnM6SGlzdG9yeVJlYWRSZXNwb25zZSIgLz4NCg0KICA8 -eHM6Y29tcGxleFR5cGUgbmFtZT0iV3JpdGVWYWx1ZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iTm9kZUlkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBdHRyaWJ1dGVJ -ZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkluZGV4UmFuZ2UiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlIiB0eXBlPSJ1YTpE -YXRhVmFsdWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 -ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVWYWx1 -ZSIgdHlwZT0idG5zOldyaXRlVmFsdWUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxp -c3RPZldyaXRlVmFsdWUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IldyaXRlVmFsdWUiIHR5cGU9InRuczpXcml0ZVZhbHVlIiBtaW5PY2N1cnM9IjAiIG1heE9j -Y3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZXcml0ZVZhbHVl -IiB0eXBlPSJ0bnM6TGlzdE9mV3JpdGVWYWx1ZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVu -dD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iV3JpdGVSZXF1ZXN0Ij4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6 -UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9Ik5vZGVzVG9Xcml0ZSIgdHlwZT0idG5zOkxpc3RPZldyaXRlVmFsdWUi -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg -PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVSZXF1ZXN0IiB0eXBl -PSJ0bnM6V3JpdGVSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJXcml0ZVJl -c3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNw -b25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idWE6 -TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25v -c3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 -ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iV3JpdGVSZXNw -b25zZSIgdHlwZT0idG5zOldyaXRlUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h -bWU9Ikhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJOb2RlSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5VXBkYXRlRGV0YWlscyIgdHlwZT0idG5zOkhpc3Rv -cnlVcGRhdGVEZXRhaWxzIiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJIaXN0b3J5VXBk -YXRlVHlwZSI+DQogICAgPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8 -eHM6ZW51bWVyYXRpb24gdmFsdWU9Ikluc2VydF8xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u -IHZhbHVlPSJSZXBsYWNlXzIiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlVwZGF0 -ZV8zIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJEZWxldGVfNCIgLz4NCiAgICA8 -L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -Ikhpc3RvcnlVcGRhdGVUeXBlIiB0eXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZVR5cGUiIC8+DQoNCiAg -PHhzOnNpbXBsZVR5cGUgIG5hbWU9IlBlcmZvcm1VcGRhdGVUeXBlIj4NCiAgICA8eHM6cmVzdHJp -Y3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSW5z -ZXJ0XzEiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlcGxhY2VfMiIgLz4NCiAg -ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVXBkYXRlXzMiIC8+DQogICAgICA8eHM6ZW51bWVy -YXRpb24gdmFsdWU9IlJlbW92ZV80IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6 -c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUGVyZm9ybVVwZGF0ZVR5cGUiIHR5cGU9 -InRuczpQZXJmb3JtVXBkYXRlVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVXBk -YXRlRGF0YURldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0K -ICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9yeVVwZGF0ZURldGFpbHMiPg0KICAg -ICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUGVyZm9ybUlu -c2VydFJlcGxhY2UiIHR5cGU9InRuczpQZXJmb3JtVXBkYXRlVHlwZSIgbWluT2NjdXJzPSIwIiAv -Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlVwZGF0ZVZhbHVlcyIgdHlwZT0idWE6TGlz -dE9mRGF0YVZhbHVlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8 -L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29u -dGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iVXBkYXRlRGF0 -YURldGFpbHMiIHR5cGU9InRuczpVcGRhdGVEYXRhRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iVXBkYXRlU3RydWN0dXJlRGF0YURldGFpbHMiPg0KICAgIDx4czpjb21wbGV4 -Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlz -dG9yeVVwZGF0ZURldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iUGVyZm9ybUluc2VydFJlcGxhY2UiIHR5cGU9InRuczpQZXJmb3JtVXBk -YXRlVHlwZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlVw -ZGF0ZVZhbHVlcyIgdHlwZT0idWE6TGlzdE9mRGF0YVZhbHVlIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNp -b24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iVXBkYXRlU3RydWN0dXJlRGF0YURldGFpbHMiIHR5cGU9InRuczpVcGRh -dGVTdHJ1Y3R1cmVEYXRhRGV0YWlscyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVXBk -YXRlRXZlbnREZXRhaWxzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4N -CiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhpc3RvcnlVcGRhdGVEZXRhaWxzIj4NCiAg -ICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlBlcmZvcm1J -bnNlcnRSZXBsYWNlIiB0eXBlPSJ0bnM6UGVyZm9ybVVwZGF0ZVR5cGUiIG1pbk9jY3Vycz0iMCIg -Lz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJGaWx0ZXIiIHR5cGU9InRuczpFdmVudEZp -bHRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJFdmVudERhdGEiIHR5cGU9InRuczpMaXN0T2ZIaXN0b3J5RXZlbnRGaWVsZExp -c3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVu -Y2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJVcGRhdGVFdmVudERldGFpbHMi -IHR5cGU9InRuczpVcGRhdGVFdmVudERldGFpbHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h -bWU9IkRlbGV0ZVJhd01vZGlmaWVkRGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1p -eGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5VXBkYXRl -RGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJJc0RlbGV0ZU1vZGlmaWVkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+ -DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhcnRUaW1lIiB0eXBlPSJ4czpkYXRlVGlt -ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZFRpbWUi -IHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVu -Y2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVSYXdNb2RpZmllZERl -dGFpbHMiIHR5cGU9InRuczpEZWxldGVSYXdNb2RpZmllZERldGFpbHMiIC8+DQoNCiAgPHhzOmNv -bXBsZXhUeXBlIG5hbWU9IkRlbGV0ZUF0VGltZURldGFpbHMiPg0KICAgIDx4czpjb21wbGV4Q29u -dGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0bnM6SGlzdG9y -eVVwZGF0ZURldGFpbHMiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVxVGltZXMiIHR5cGU9InVhOkxpc3RPZkRhdGVUaW1lIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94 -czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlQXRUaW1lRGV0YWlscyIgdHlwZT0idG5zOkRl -bGV0ZUF0VGltZURldGFpbHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZUV2 -ZW50RGV0YWlscyI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAg -ICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5VXBkYXRlRGV0YWlscyI+DQogICAgICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudElkcyIgdHlw -ZT0idWE6TGlzdE9mQnl0ZVN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6 -Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -IkRlbGV0ZUV2ZW50RGV0YWlscyIgdHlwZT0idG5zOkRlbGV0ZUV2ZW50RGV0YWlscyIgLz4NCg0K -ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3VsdCI+DQogICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3Rh -dHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT3BlcmF0 -aW9uUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIg -dHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3VsdCIgdHlwZT0idG5zOkhpc3RvcnlVcGRhdGVS -ZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZkhpc3RvcnlVcGRhdGVS -ZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3Rv -cnlVcGRhdGVSZXN1bHQiIHR5cGU9InRuczpIaXN0b3J5VXBkYXRlUmVzdWx0IiBtaW5PY2N1cnM9 -IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZI -aXN0b3J5VXBkYXRlUmVzdWx0IiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeVVwZGF0ZVJlc3VsdCIg -bmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -SGlzdG9yeVVwZGF0ZVJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVyIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlzdG9y -eVVwZGF0ZURldGFpbHMiIHR5cGU9InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5VXBkYXRlUmVxdWVzdCIgdHlwZT0i -dG5zOkhpc3RvcnlVcGRhdGVSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJI -aXN0b3J5VXBkYXRlUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1 -bHRzIiB0eXBlPSJ0bnM6TGlzdE9mSGlzdG9yeVVwZGF0ZVJlc3VsdCIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpYWdub3N0aWNJbmZv -cyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iSGlzdG9yeVVwZGF0ZVJlc3BvbnNlIiB0eXBlPSJ0bnM6SGlzdG9yeVVw -ZGF0ZVJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJDYWxsTWV0aG9kUmVx -dWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iT2JqZWN0 -SWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ik1ldGhvZElkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbnB1dEFy -Z3VtZW50cyIgdHlwZT0idWE6TGlzdE9mVmFyaWFudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJDYWxsTWV0aG9kUmVxdWVzdCIgdHlwZT0idG5zOkNhbGxNZXRob2RSZXF1 -ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZDYWxsTWV0aG9kUmVxdWVz -dCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2FsbE1ldGhv -ZFJlcXVlc3QiIHR5cGU9InRuczpDYWxsTWV0aG9kUmVxdWVzdCIgbWluT2NjdXJzPSIwIiBtYXhP -Y2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mQ2FsbE1ldGhv -ZFJlcXVlc3QiIHR5cGU9InRuczpMaXN0T2ZDYWxsTWV0aG9kUmVxdWVzdCIgbmlsbGFibGU9InRy -dWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2FsbE1ldGhvZFJl -c3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVz -Q29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iSW5wdXRBcmd1bWVudFJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0Nv -ZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJJbnB1dEFyZ3VtZW50RGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9z -dGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9Ik91dHB1dEFyZ3VtZW50cyIgdHlwZT0idWE6TGlzdE9mVmFyaWFudCIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDYWxsTWV0aG9kUmVzdWx0IiB0eXBlPSJ0 -bnM6Q2FsbE1ldGhvZFJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9m -Q2FsbE1ldGhvZFJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iQ2FsbE1ldGhvZFJlc3VsdCIgdHlwZT0idG5zOkNhbGxNZXRob2RSZXN1bHQiIG1pbk9j -Y3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv -eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxp -c3RPZkNhbGxNZXRob2RSZXN1bHQiIHR5cGU9InRuczpMaXN0T2ZDYWxsTWV0aG9kUmVzdWx0IiBu -aWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJD -YWxsUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -UmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNZXRob2RzVG9DYWxsIiB0 -eXBlPSJ0bnM6TGlzdE9mQ2FsbE1ldGhvZFJlcXVlc3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iQ2FsbFJlcXVlc3QiIHR5cGU9InRuczpDYWxsUmVxdWVzdCIgLz4NCg0K -ICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ2FsbFJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3Bv -bnNlSGVhZGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmVzdWx0cyIgdHlwZT0idG5zOkxpc3RPZkNhbGxNZXRob2RSZXN1bHQiIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJE -aWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNhbGxSZXNwb25zZSIgdHlwZT0idG5zOkNhbGxS -ZXNwb25zZSIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iTW9uaXRvcmluZ01vZGUiPg0K -ICAgIDx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0 -aW9uIHZhbHVlPSJEaXNhYmxlZF8wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJT -YW1wbGluZ18xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJSZXBvcnRpbmdfMiIg -Lz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9Ik1vbml0b3JpbmdNb2RlIiB0eXBlPSJ0bnM6TW9uaXRvcmluZ01vZGUiIC8+DQoN -CiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkRhdGFDaGFuZ2VUcmlnZ2VyIj4NCiAgICA8eHM6cmVz -dHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i -U3RhdHVzXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN0YXR1c1ZhbHVlXzEi -IC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN0YXR1c1ZhbHVlVGltZXN0YW1wXzIi -IC8+DQogICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxl -bWVudCBuYW1lPSJEYXRhQ2hhbmdlVHJpZ2dlciIgdHlwZT0idG5zOkRhdGFDaGFuZ2VUcmlnZ2Vy -IiAvPg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJEZWFkYmFuZFR5cGUiPg0KICAgIDx4czpy -ZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl -PSJOb25lXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkFic29sdXRlXzEiIC8+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlBlcmNlbnRfMiIgLz4NCiAgICA8L3hzOnJl -c3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlYWRi -YW5kVHlwZSIgdHlwZT0idG5zOkRlYWRiYW5kVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iTW9uaXRvcmluZ0ZpbHRlciI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3Jp -bmdGaWx0ZXIiIHR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVyIiAvPg0KDQogIDx4czpjb21wbGV4 -VHlwZSBuYW1lPSJEYXRhQ2hhbmdlRmlsdGVyIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4 -ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk1vbml0b3JpbmdGaWx0 -ZXIiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -VHJpZ2dlciIgdHlwZT0idG5zOkRhdGFDaGFuZ2VUcmlnZ2VyIiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVhZGJhbmRUeXBlIiB0eXBlPSJ4czp1bnNpZ25l -ZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlYWRi -YW5kVmFsdWUiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hz +ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJOdW1WYWx1ZXNQZXJOb2RlIiB0eXBlPSJ4czp1bnNpZ25l +ZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldHVy +bkJvdW5kcyIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICA8L3hz OnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQogICAgPC94czpjb21wbGV4Q29udGVu -dD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YUNoYW5nZUZp -bHRlciIgdHlwZT0idG5zOkRhdGFDaGFuZ2VGaWx0ZXIiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9IkV2ZW50RmlsdGVyIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNl -Ij4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk1vbml0b3JpbmdGaWx0ZXIiPg0KICAg -ICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VsZWN0Q2xh -dXNlcyIgdHlwZT0idG5zOkxpc3RPZlNpbXBsZUF0dHJpYnV0ZU9wZXJhbmQiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iV2hlcmVD -bGF1c2UiIHR5cGU9InRuczpDb250ZW50RmlsdGVyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQog -ICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iRXZlbnRGaWx0ZXIiIHR5cGU9InRuczpFdmVudEZpbHRlciIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iQWdncmVnYXRlQ29uZmlndXJhdGlvbiI+DQogICAgPHhzOnNlcXVl -bmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlU2VydmVyQ2FwYWJpbGl0aWVzRGVmYXVs -dHMiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlRyZWF0VW5jZXJ0YWluQXNCYWQiIHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBlcmNlbnREYXRhQmFkIiB0eXBlPSJ4czp1 -bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlBl -cmNlbnREYXRhR29vZCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VTbG9wZWRFeHRyYXBvbGF0aW9uIiB0eXBlPSJ4czpi -b29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQWdncmVnYXRlQ29uZmlndXJhdGlvbiIgdHlw -ZT0idG5zOkFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h -bWU9IkFnZ3JlZ2F0ZUZpbHRlciI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxz -ZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpNb25pdG9yaW5nRmlsdGVyIj4NCiAg -ICAgICAgPHhzOnNlcXVlbmNlPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXJ0VGlt -ZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJBZ2dyZWdhdGVUeXBlIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJvY2Vzc2lu -Z0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiB0eXBlPSJ0bnM6QWdncmVn -YXRlQ29uZmlndXJhdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -ICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxl -eENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkFnZ3Jl -Z2F0ZUZpbHRlciIgdHlwZT0idG5zOkFnZ3JlZ2F0ZUZpbHRlciIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iTW9uaXRvcmluZ0ZpbHRlclJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9Ik1vbml0b3JpbmdGaWx0ZXJSZXN1bHQiIHR5cGU9InRuczpNb25pdG9yaW5nRmlsdGVyUmVz -dWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJFdmVudEZpbHRlclJlc3VsdCI+DQog -ICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJmYWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9u -IGJhc2U9InRuczpNb25pdG9yaW5nRmlsdGVyUmVzdWx0Ij4NCiAgICAgICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlbGVjdENsYXVzZVJlc3VsdHMiIHR5cGU9 -InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VsZWN0Q2xhdXNlRGlhZ25vc3RpY0luZm9zIiB0 -eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1 -ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJXaGVyZUNsYXVzZVJlc3VsdCIgdHlw -ZT0idG5zOkNvbnRlbnRGaWx0ZXJSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8 -L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJFdmVudEZpbHRlclJlc3VsdCIgdHlwZT0idG5zOkV2ZW50RmlsdGVyUmVzdWx0IiAvPg0K -DQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBZ2dyZWdhdGVGaWx0ZXJSZXN1bHQiPg0KICAgIDx4 -czpjb21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNl -PSJ0bnM6TW9uaXRvcmluZ0ZpbHRlclJlc3VsdCI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkU3RhcnRUaW1lIiB0eXBlPSJ4czpkYXRl -VGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlz -ZWRQcm9jZXNzaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgICAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRBZ2dyZWdhdGVDb25maWd1cmF0aW9u -IiB0eXBlPSJ0bnM6QWdncmVnYXRlQ29uZmlndXJhdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9u -Pg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czpl -bGVtZW50IG5hbWU9IkFnZ3JlZ2F0ZUZpbHRlclJlc3VsdCIgdHlwZT0idG5zOkFnZ3JlZ2F0ZUZp -bHRlclJlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9uaXRvcmluZ1BhcmFt -ZXRlcnMiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVu -dEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlNhbXBsaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRmlsdGVyIiB0eXBlPSJ1YTpFeHRl -bnNpb25PYmplY3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJRdWV1ZVNpemUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjYXJkT2xkZXN0IiB0eXBlPSJ4czpi -b29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ1BhcmFtZXRlcnMiIHR5cGU9 -InRuczpNb25pdG9yaW5nUGFyYW1ldGVycyIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -TW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9Ikl0ZW1Ub01vbml0b3IiIHR5cGU9InRuczpSZWFkVmFsdWVJZCIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1v -bml0b3JpbmdNb2RlIiB0eXBlPSJ0bnM6TW9uaXRvcmluZ01vZGUiIG1pbk9jY3Vycz0iMCIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZFBhcmFtZXRlcnMiIHR5cGU9InRuczpN -b25pdG9yaW5nUGFyYW1ldGVycyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg +dD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVhZFJhd01vZGlm +aWVkRGV0YWlscyIgdHlwZT0idG5zOlJlYWRSYXdNb2RpZmllZERldGFpbHMiIC8+DQoNCiAgPHhz +OmNvbXBsZXhUeXBlIG5hbWU9IlJlYWRQcm9jZXNzZWREZXRhaWxzIj4NCiAgICA8eHM6Y29tcGxl +eENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhp +c3RvcnlSZWFkRGV0YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJTdGFydFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAi +IC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5kVGltZSIgdHlwZT0ieHM6ZGF0ZVRp +bWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQcm9jZXNz +aW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgICAg +IDx4czplbGVtZW50IG5hbWU9IkFnZ3JlZ2F0ZVR5cGUiIHR5cGU9InVhOkxpc3RPZk5vZGVJZCIg +bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJBZ2dyZWdhdGVDb25maWd1cmF0aW9uIiB0eXBlPSJ0bnM6QWdncmVnYXRlQ29uZmlndXJh +dGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1 +ZW5jZT4NCiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQog +IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJlYWRQcm9jZXNzZWREZXRh +aWxzIiB0eXBlPSJ0bnM6UmVhZFByb2Nlc3NlZERldGFpbHMiIC8+DQoNCiAgPHhzOmNvbXBsZXhU +eXBlIG5hbWU9IlJlYWRBdFRpbWVEZXRhaWxzIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4 +ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOkhpc3RvcnlSZWFkRGV0 +YWlscyI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJSZXFUaW1lcyIgdHlwZT0idWE6TGlzdE9mRGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgbmlsbGFi +bGU9InRydWUiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVXNlU2ltcGxlQm91bmRz +IiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgIDwveHM6c2VxdWVu +Y2U+DQogICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8 +L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJSZWFkQXRUaW1lRGV0YWlscyIg +dHlwZT0idG5zOlJlYWRBdFRpbWVEZXRhaWxzIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l +PSJIaXN0b3J5RGF0YSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt +ZT0iRGF0YVZhbHVlcyIgdHlwZT0idWE6TGlzdE9mRGF0YVZhbHVlIiBtaW5PY2N1cnM9IjAiIG5p +bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ +DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlEYXRhIiB0eXBlPSJ0bnM6SGlzdG9yeURhdGEi +IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1vZGlmaWNhdGlvbkluZm8iPg0KICAgIDx4 +czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmaWNhdGlvblRpbWUiIHR5 +cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l +PSJVcGRhdGVUeXBlIiB0eXBlPSJ0bnM6SGlzdG9yeVVwZGF0ZVR5cGUiIG1pbk9jY3Vycz0iMCIg +Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlVzZXJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1p +bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 +czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZpY2F0aW9uSW5mbyIgdHlw +ZT0idG5zOk1vZGlmaWNhdGlvbkluZm8iIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxp +c3RPZk1vZGlmaWNhdGlvbkluZm8iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt +ZW50IG5hbWU9Ik1vZGlmaWNhdGlvbkluZm8iIHR5cGU9InRuczpNb2RpZmljYXRpb25JbmZvIiBt +aW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIgdHlwZT0idG5zOk1vbml0b3JlZEl0ZW1DcmVh -dGVSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJ -dGVtQ3JlYXRlUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIHR5cGU9InRuczpNb25pdG9yZWRJdGVt -Q3JlYXRlUmVxdWVzdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFi +PSJMaXN0T2ZNb2RpZmljYXRpb25JbmZvIiB0eXBlPSJ0bnM6TGlzdE9mTW9kaWZpY2F0aW9uSW5m +byIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt +ZT0iSGlzdG9yeU1vZGlmaWVkRGF0YSI+DQogICAgPHhzOmNvbXBsZXhDb250ZW50IG1peGVkPSJm +YWxzZSI+DQogICAgICA8eHM6ZXh0ZW5zaW9uIGJhc2U9InRuczpIaXN0b3J5RGF0YSI+DQogICAg +ICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZmljYXRp +b25JbmZvcyIgdHlwZT0idG5zOkxpc3RPZk1vZGlmaWNhdGlvbkluZm8iIG1pbk9jY3Vycz0iMCIg +bmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQogICAgICA8L3hzOmV4 +dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K +ICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5TW9kaWZpZWREYXRhIiB0eXBlPSJ0bnM6SGlzdG9y +eU1vZGlmaWVkRGF0YSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iSGlzdG9yeUV2ZW50 +Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudHMiIHR5 +cGU9InRuczpMaXN0T2ZIaXN0b3J5RXZlbnRGaWVsZExpc3QiIG1pbk9jY3Vycz0iMCIgbmlsbGFi bGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbUNyZWF0ZVJlcXVlc3QiIHR5cGU9 -InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtQ3JlYXRlUmVxdWVzdCIgbmlsbGFibGU9InRydWUiPjwv -eHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTW9uaXRvcmVkSXRlbUNyZWF0 -ZVJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3Rh -dHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbUlkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFNhbXBsaW5nSW50 -ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iUmV2aXNlZFF1ZXVlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vy -cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlclJlc3VsdCIgdHlwZT0idWE6 -RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv -eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1v -bml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIHR5cGU9InRuczpNb25pdG9yZWRJdGVtQ3JlYXRlUmVz -dWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVtQ3Jl -YXRlUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJN -b25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0IiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRlbUNyZWF0ZVJl -c3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbUNyZWF0ZVJlc3VsdCIgdHlwZT0idG5zOkxpc3RP -Zk1vbml0b3JlZEl0ZW1DcmVhdGVSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1lbnQ+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zUmVxdWVzdCI+ -DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRl -ciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlwZT0ieHM6dW5z -aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRpbWVz -dGFtcHNUb1JldHVybiIgdHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXRlbXNUb0NyZWF0ZSIgdHlwZT0idG5zOkxp -c3RPZk1vbml0b3JlZEl0ZW1DcmVhdGVSZXF1ZXN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 +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 -bGVtZW50IG5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgdHlwZT0idG5zOkNyZWF0 -ZU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ3Jl -YXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtQ3JlYXRlUmVzdWx0IiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlh -Z25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhU -eXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiB0 -eXBlPSJ0bnM6Q3JlYXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5j -ZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1JZCIgdHlwZT0ieHM6dW5z -aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVl -c3RlZFBhcmFtZXRlcnMiIHR5cGU9InRuczpNb25pdG9yaW5nUGFyYW1ldGVycyIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCIg -dHlwZT0idG5zOk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4 -VHlwZSBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCI+DQogICAgPHhzOnNl -cXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlmeVJlcXVl -c3QiIHR5cGU9InRuczpNb25pdG9yZWRJdGVtTW9kaWZ5UmVxdWVzdCIgbWluT2NjdXJzPSIwIiBt -YXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5j -ZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9mTW9uaXRv -cmVkSXRlbU1vZGlmeVJlcXVlc3QiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtTW9kaWZ5 -UmVxdWVzdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iTW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFNhbXBsaW5n -SW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iUmV2aXNlZFF1ZXVlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkZpbHRlclJlc3VsdCIgdHlwZT0i -dWE6RXh0ZW5zaW9uT2JqZWN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -Ik1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIHR5cGU9InRuczpNb25pdG9yZWRJdGVtTW9kaWZ5 -UmVzdWx0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb25pdG9yZWRJdGVt -TW9kaWZ5UmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0IiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRlbU1vZGlm -eVJlc3VsdCIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbU1vZGlmeVJlc3VsdCIgdHlwZT0idG5zOkxp -c3RPZk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXN1bHQiIG5pbGxhYmxlPSJ0cnVlIj48L3hzOmVsZW1l -bnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1vZGlmeU1vbml0b3JlZEl0ZW1zUmVxdWVz -dCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhl -YWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlwZT0ieHM6 -dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRp -bWVzdGFtcHNUb1JldHVybiIgdHlwZT0idG5zOlRpbWVzdGFtcHNUb1JldHVybiIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSXRlbXNUb01vZGlmeSIgdHlwZT0idG5z -Okxpc3RPZk1vbml0b3JlZEl0ZW1Nb2RpZnlSZXF1ZXN0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4 -czplbGVtZW50IG5hbWU9Ik1vZGlmeU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgdHlwZT0idG5zOk1v -ZGlmeU1vbml0b3JlZEl0ZW1zUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -TW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRl -ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlJlc3VsdHMiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtTW9kaWZ5UmVzdWx0IiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -RGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZnlNb25pdG9yZWRJdGVtc1Jlc3BvbnNl -IiB0eXBlPSJ0bnM6TW9kaWZ5TW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29t -cGxleFR5cGUgbmFtZT0iU2V0TW9uaXRvcmluZ01vZGVSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVu -Y2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVx -dWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRvcmluZ01vZGUiIHR5cGU9 -InRuczpNb25pdG9yaW5nTW9kZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iTW9uaXRvcmVkSXRlbUlkcyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxl -eFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNldE1vbml0b3JpbmdNb2RlUmVxdWVzdCIgdHlw -ZT0idG5zOlNldE1vbml0b3JpbmdNb2RlUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iU2V0TW9uaXRvcmluZ01vZGVSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhl -YWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVhOkxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5m -b3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl +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 -czplbGVtZW50IG5hbWU9IlNldE1vbml0b3JpbmdNb2RlUmVzcG9uc2UiIHR5cGU9InRuczpTZXRN -b25pdG9yaW5nTW9kZVJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXRU -cmlnZ2VyaW5nUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRp -b25JZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlRyaWdnZXJpbmdJdGVtSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMaW5rc1RvQWRkIiB0eXBlPSJ1 -YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJMaW5rc1RvUmVtb3ZlIiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0VHJpZ2dlcmluZ1JlcXVlc3Qi -IHR5cGU9InRuczpTZXRUcmlnZ2VyaW5nUmVxdWVzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iU2V0VHJpZ2dlcmluZ1Jlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVy -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iQWRkUmVzdWx0cyIgdHlwZT0idWE6TGlzdE9mU3RhdHVzQ29kZSIgbWluT2NjdXJzPSIwIiBu -aWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZERpYWdub3N0aWNJ -bmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZW1vdmVSZXN1bHRzIiB0eXBl -PSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVtb3ZlRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpM +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 -PSJTZXRUcmlnZ2VyaW5nUmVzcG9uc2UiIHR5cGU9InRuczpTZXRUcmlnZ2VyaW5nUmVzcG9uc2Ui -IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVxdWVz -dCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhl -YWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZCIgdHlwZT0ieHM6 -dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1v -bml0b3JlZEl0ZW1JZHMiIHR5cGU9InVhOkxpc3RPZlVJbnQzMiIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K -ICA8eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVNb25pdG9yZWRJdGVtc1JlcXVlc3QiIHR5cGU9InRu -czpEZWxldGVNb25pdG9yZWRJdGVtc1JlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5h -bWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1zUmVzcG9uc2UiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VI -ZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0lu -Zm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJEZWxldGVNb25pdG9yZWRJdGVtc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6 -RGVsZXRlTW9uaXRvcmVkSXRlbXNSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt -ZT0iQ3JlYXRlU3Vic2NyaXB0aW9uUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFkZXIi -IG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJSZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdGVkTGlmZXRpbWVDb3VudCIg -dHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IlJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTWF4Tm90aWZpY2F0aW9u -c1BlclB1Ymxpc2giIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoaW5nRW5hYmxlZCIgdHlwZT0ieHM6Ym9vbGVhbiIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJpb3JpdHkiIHR5cGU9 -InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQog -IDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkNyZWF0ZVN1YnNjcmlwdGlv -blJlcXVlc3QiIHR5cGU9InRuczpDcmVhdGVTdWJzY3JpcHRpb25SZXF1ZXN0IiAvPg0KDQogIDx4 -czpjb21wbGV4VHlwZSBuYW1lPSJDcmVhdGVTdWJzY3JpcHRpb25SZXNwb25zZSI+DQogICAgPHhz -OnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9 -InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZElu -dCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZFB1Ymxp -c2hpbmdJbnRlcnZhbCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJSZXZpc2VkTGlmZXRpbWVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJ -bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJldmlzZWRNYXhL -ZWVwQWxpdmVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1l -PSJDcmVhdGVTdWJzY3JpcHRpb25SZXNwb25zZSIgdHlwZT0idG5zOkNyZWF0ZVN1YnNjcmlwdGlv -blJlc3BvbnNlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJNb2RpZnlTdWJzY3JpcHRp -b25SZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJS -ZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0 +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 -bmFtZT0iUmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RlZExpZmV0aW1lQ291 -bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJSZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJ -bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1heE5vdGlmaWNh -dGlvbnNQZXJQdWJsaXNoIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHJpb3JpdHkiIHR5cGU9InhzOnVuc2lnbmVkQnl0ZSIg -bWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9Ik1vZGlmeVN1YnNjcmlwdGlvblJlcXVlc3QiIHR5cGU9InRu -czpNb2RpZnlTdWJzY3JpcHRpb25SZXF1ZXN0IiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1l -PSJNb2RpZnlTdWJzY3JpcHRpb25SZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRl -ciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlJldmlzZWRQdWJsaXNoaW5nSW50ZXJ2YWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmV2aXNlZExpZmV0aW1lQ291bnQiIHR5 -cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJSZXZpc2VkTWF4S2VlcEFsaXZlQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5P -Y2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAg -PHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZ5U3Vic2NyaXB0aW9uUmVzcG9uc2UiIHR5cGU9InRuczpN -b2RpZnlTdWJzY3JpcHRpb25SZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -U2V0UHVibGlzaGluZ01vZGVSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1 -Ymxpc2hpbmdFbmFibGVkIiB0eXBlPSJ4czpib29sZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25JZHMiIHR5cGU9InVhOkxpc3RPZlVJbnQz -MiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRQdWJsaXNoaW5nTW9k -ZVJlcXVlc3QiIHR5cGU9InRuczpTZXRQdWJsaXNoaW5nTW9kZVJlcXVlc3QiIC8+DQoNCiAgPHhz -OmNvbXBsZXhUeXBlIG5hbWU9IlNldFB1Ymxpc2hpbmdNb2RlUmVzcG9uc2UiPg0KICAgIDx4czpz -ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVhZGVyIiB0eXBlPSJ0 -bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -RGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZEaWFnbm9zdGljSW5mbyIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBs -ZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZXRQdWJsaXNoaW5nTW9kZVJlc3BvbnNlIiB0 -eXBlPSJ0bnM6U2V0UHVibGlzaGluZ01vZGVSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5 -cGUgbmFtZT0iTm90aWZpY2F0aW9uTWVzc2FnZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iU2VxdWVuY2VOdW1iZXIiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBt -aW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNoVGltZSIgdHlw -ZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -Ik5vdGlmaWNhdGlvbkRhdGEiIHR5cGU9InVhOkxpc3RPZkV4dGVuc2lvbk9iamVjdCIgbWluT2Nj -dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJOb3RpZmljYXRpb25NZXNzYWdlIiB0eXBl -PSJ0bnM6Tm90aWZpY2F0aW9uTWVzc2FnZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -Tm90aWZpY2F0aW9uRGF0YSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik5vdGlmaWNhdGlvbkRh -dGEiIHR5cGU9InRuczpOb3RpZmljYXRpb25EYXRhIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBu -YW1lPSJEYXRhQ2hhbmdlTm90aWZpY2F0aW9uIj4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4 -ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRlbnNpb24gYmFzZT0idG5zOk5vdGlmaWNhdGlvbkRh -dGEiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -TW9uaXRvcmVkSXRlbXMiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtTm90aWZpY2F0aW9u -IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgICAgIDx4czplbGVtZW50 -IG5hbWU9IkRpYWdub3N0aWNJbmZvcyIgdHlwZT0idWE6TGlzdE9mRGlhZ25vc3RpY0luZm8iIG1p -bk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICAgIDwveHM6c2VxdWVuY2U+DQog -ICAgICA8L3hzOmV4dGVuc2lvbj4NCiAgICA8L3hzOmNvbXBsZXhDb250ZW50Pg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhQ2hhbmdlTm90aWZpY2F0aW9uIiB0 -eXBlPSJ0bnM6RGF0YUNoYW5nZU5vdGlmaWNhdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iTW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50SGFuZGxlIiB0eXBlPSJ4czp1bnNpZ25lZEludCIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVmFsdWUiIHR5cGU9InVh -OkRhdGFWYWx1ZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9y -ZWRJdGVtTm90aWZpY2F0aW9uIiB0eXBlPSJ0bnM6TW9uaXRvcmVkSXRlbU5vdGlmaWNhdGlvbiIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTW9uaXRvcmVkSXRlbU5vdGlmaWNh -dGlvbiI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9uaXRv -cmVkSXRlbU5vdGlmaWNhdGlvbiIgdHlwZT0idG5zOk1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24i -IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K +bmFtZT0iRGlzY2FyZE9sZGVzdCIgdHlwZT0ieHM6Ym9vbGVhbiIgbWluT2NjdXJzPSIwIiAvPg0K ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9Ikxpc3RPZk1vbml0b3JlZEl0ZW1Ob3RpZmljYXRpb24iIHR5cGU9InRuczpMaXN0T2ZNb25p -dG9yZWRJdGVtTm90aWZpY2F0aW9uIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQog -IDx4czpjb21wbGV4VHlwZSBuYW1lPSJFdmVudE5vdGlmaWNhdGlvbkxpc3QiPg0KICAgIDx4czpj -b21wbGV4Q29udGVudCBtaXhlZD0iZmFsc2UiPg0KICAgICAgPHhzOmV4dGVuc2lvbiBiYXNlPSJ0 -bnM6Tm90aWZpY2F0aW9uRGF0YSI+DQogICAgICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJFdmVudHMiIHR5cGU9InRuczpMaXN0T2ZFdmVudEZpZWxkTGlzdCIg -bWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgICAgPC94czpzZXF1ZW5jZT4N -CiAgICAgIDwveHM6ZXh0ZW5zaW9uPg0KICAgIDwveHM6Y29tcGxleENvbnRlbnQ+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkV2ZW50Tm90aWZpY2F0aW9uTGlzdCIg -dHlwZT0idG5zOkV2ZW50Tm90aWZpY2F0aW9uTGlzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUg -bmFtZT0iRXZlbnRGaWVsZExpc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkNsaWVudEhhbmRsZSIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkV2ZW50RmllbGRzIiB0eXBlPSJ1YTpMaXN0 -T2ZWYXJpYW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkV2ZW50Rmll -bGRMaXN0IiB0eXBlPSJ0bnM6RXZlbnRGaWVsZExpc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBl -IG5hbWU9Ikxpc3RPZkV2ZW50RmllbGRMaXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJFdmVudEZpZWxkTGlzdCIgdHlwZT0idG5zOkV2ZW50RmllbGRMaXN0 -IiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJMaXN0T2ZFdmVudEZpZWxkTGlzdCIgdHlwZT0idG5zOkxpc3RPZkV2ZW50RmllbGRMaXN0 +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 -PSJIaXN0b3J5RXZlbnRGaWVsZExpc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IkV2ZW50RmllbGRzIiB0eXBlPSJ1YTpMaXN0T2ZWYXJpYW50IiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlFdmVudEZpZWxkTGlzdCIgdHlw -ZT0idG5zOkhpc3RvcnlFdmVudEZpZWxkTGlzdCIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFt -ZT0iTGlzdE9mSGlzdG9yeUV2ZW50RmllbGRMaXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJIaXN0b3J5RXZlbnRGaWVsZExpc3QiIHR5cGU9InRuczpIaXN0 -b3J5RXZlbnRGaWVsZExpc3QiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+ -DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZkhpc3RvcnlFdmVudEZpZWxkTGlzdCIgdHlwZT0i -dG5zOkxpc3RPZkhpc3RvcnlFdmVudEZpZWxkTGlzdCIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxl -bWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU3RhdHVzQ2hhbmdlTm90aWZpY2F0aW9u -Ij4NCiAgICA8eHM6Y29tcGxleENvbnRlbnQgbWl4ZWQ9ImZhbHNlIj4NCiAgICAgIDx4czpleHRl -bnNpb24gYmFzZT0idG5zOk5vdGlmaWNhdGlvbkRhdGEiPg0KICAgICAgICA8eHM6c2VxdWVuY2U+ -DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzIiB0eXBlPSJ1YTpTdGF0dXNDb2Rl -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3Rp -Y0luZm8iIHR5cGU9InVhOkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgICA8L3hzOnNlcXVlbmNlPg0KICAgICAgPC94czpleHRlbnNpb24+DQog -ICAgPC94czpjb21wbGV4Q29udGVudD4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1l -bnQgbmFtZT0iU3RhdHVzQ2hhbmdlTm90aWZpY2F0aW9uIiB0eXBlPSJ0bnM6U3RhdHVzQ2hhbmdl -Tm90aWZpY2F0aW9uIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTdWJzY3JpcHRpb25B -Y2tub3dsZWRnZW1lbnQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VxdWVuY2VOdW1iZXIiIHR5cGU9InhzOnVuc2ln -bmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21w -bGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50 -IiB0eXBlPSJ0bnM6U3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50IiAvPg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJMaXN0T2ZTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnQiPg0KICAgIDx4 -czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbkFja25vd2xl -ZGdlbWVudCIgdHlwZT0idG5zOlN1YnNjcmlwdGlvbkFja25vd2xlZGdlbWVudCIgbWluT2NjdXJz -PSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpz -ZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTGlzdE9m -U3Vic2NyaXB0aW9uQWNrbm93bGVkZ2VtZW50IiB0eXBlPSJ0bnM6TGlzdE9mU3Vic2NyaXB0aW9u -QWNrbm93bGVkZ2VtZW50IiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpj -b21wbGV4VHlwZSBuYW1lPSJQdWJsaXNoUmVxdWVzdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVxdWVzdEhlYWRlciIgdHlwZT0idG5zOlJlcXVlc3RIZWFk -ZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJTdWJzY3JpcHRpb25BY2tub3dsZWRnZW1lbnRzIiB0eXBlPSJ0bnM6TGlzdE9mU3Vic2Ny -aXB0aW9uQWNrbm93bGVkZ2VtZW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9IlB1Ymxpc2hSZXF1ZXN0IiB0eXBlPSJ0bnM6UHVibGlzaFJlcXVlc3QiIC8+DQoNCiAgPHhz -OmNvbXBsZXhUeXBlIG5hbWU9IlB1Ymxpc2hSZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVzcG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25z -ZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkIiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJz -PSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQXZhaWxhYmxlU2VxdWVuY2VOdW1iZXJz -IiB0eXBlPSJ1YTpMaXN0T2ZVSW50MzIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb3JlTm90aWZpY2F0aW9ucyIgdHlwZT0ieHM6Ym9v -bGVhbiIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm90aWZpY2F0 -aW9uTWVzc2FnZSIgdHlwZT0idG5zOk5vdGlmaWNhdGlvbk1lc3NhZ2UiIG1pbk9jY3Vycz0iMCIg -bmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBl -PSJ1YTpMaXN0T2ZTdGF0dXNDb2RlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm9zIiB0eXBlPSJ1YTpMaXN0T2ZE -aWFnbm9zdGljSW5mbyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hz -OnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJs -aXNoUmVzcG9uc2UiIHR5cGU9InRuczpQdWJsaXNoUmVzcG9uc2UiIC8+DQoNCiAgPHhzOmNvbXBs -ZXhUeXBlIG5hbWU9IlJlcHVibGlzaFJlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg +PSJDcmVhdGVNb25pdG9yZWRJdGVtc1JlcXVlc3QiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAg IDx4czplbGVtZW50IG5hbWU9IlJlcXVlc3RIZWFkZXIiIHR5cGU9InRuczpSZXF1ZXN0SGVhZGVy IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt ZT0iU3Vic2NyaXB0aW9uSWQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+ -DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXRyYW5zbWl0U2VxdWVuY2VOdW1iZXIiIHR5cGU9 -InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAg -PC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVwdWJsaXNoUmVxdWVzdCIg -dHlwZT0idG5zOlJlcHVibGlzaFJlcXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 -IlJlcHVibGlzaFJlc3BvbnNlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJSZXNwb25zZUhlYWRlciIgdHlwZT0idG5zOlJlc3BvbnNlSGVhZGVyIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm90aWZp -Y2F0aW9uTWVzc2FnZSIgdHlwZT0idG5zOk5vdGlmaWNhdGlvbk1lc3NhZ2UiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVwdWJsaXNoUmVzcG9uc2UiIHR5cGU9InRuczpS -ZXB1Ymxpc2hSZXNwb25zZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVHJhbnNmZXJS -ZXN1bHQiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN0YXR1 -c0NvZGUiIHR5cGU9InVhOlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IkF2YWlsYWJsZVNlcXVlbmNlTnVtYmVycyIgdHlwZT0idWE6TGlzdE9mVUlu -dDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRyYW5zZmVyUmVzdWx0 -IiB0eXBlPSJ0bnM6VHJhbnNmZXJSZXN1bHQiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9 -Ikxpc3RPZlRyYW5zZmVyUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJUcmFuc2ZlclJlc3VsdCIgdHlwZT0idG5zOlRyYW5zZmVyUmVzdWx0IiBtaW5P -Y2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8 -L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJM -aXN0T2ZUcmFuc2ZlclJlc3VsdCIgdHlwZT0idG5zOkxpc3RPZlRyYW5zZmVyUmVzdWx0IiBuaWxs -YWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJUcmFu -c2ZlclN1YnNjcmlwdGlvbnNSZXF1ZXN0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJSZXF1ZXN0SGVhZGVyIiB0eXBlPSJ0bnM6UmVxdWVzdEhlYWRlciIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1 -YnNjcmlwdGlvbklkcyIgdHlwZT0idWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VuZEluaXRpYWxWYWx1ZXMi -IHR5cGU9InhzOmJvb2xlYW4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2ZlclN1YnNjcmlw -dGlvbnNSZXF1ZXN0IiB0eXBlPSJ0bnM6VHJhbnNmZXJTdWJzY3JpcHRpb25zUmVxdWVzdCIgLz4N -Cg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iVHJhbnNmZXJTdWJzY3JpcHRpb25zUmVzcG9uc2Ui +DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUaW1lc3RhbXBzVG9SZXR1cm4iIHR5cGU9InRuczpU +aW1lc3RhbXBzVG9SZXR1cm4iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h +bWU9Ikl0ZW1zVG9DcmVhdGUiIHR5cGU9InRuczpMaXN0T2ZNb25pdG9yZWRJdGVtQ3JlYXRlUmVx +dWVzdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNl +Pg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVNb25pdG9y +ZWRJdGVtc1JlcXVlc3QiIHR5cGU9InRuczpDcmVhdGVNb25pdG9yZWRJdGVtc1JlcXVlc3QiIC8+ +DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkNyZWF0ZU1vbml0b3JlZEl0ZW1zUmVzcG9uc2Ui Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3BvbnNlSGVh ZGVyIiB0eXBlPSJ0bnM6UmVzcG9uc2VIZWFkZXIiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZXN1bHRzIiB0eXBlPSJ0bnM6TGlzdE9m -VHJhbnNmZXJSZXN1bHQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdub3N0 -aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVu -Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlRyYW5zZmVyU3Vi -c2NyaXB0aW9uc1Jlc3BvbnNlIiB0eXBlPSJ0bnM6VHJhbnNmZXJTdWJzY3JpcHRpb25zUmVzcG9u -c2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZVN1YnNjcmlwdGlvbnNSZXF1 +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 -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlN1YnNjcmlwdGlvbklkcyIgdHlwZT0i -dWE6TGlzdE9mVUludDMyIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwv -eHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRl -bGV0ZVN1YnNjcmlwdGlvbnNSZXF1ZXN0IiB0eXBlPSJ0bnM6RGVsZXRlU3Vic2NyaXB0aW9uc1Jl -cXVlc3QiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkRlbGV0ZVN1YnNjcmlwdGlvbnNS -ZXNwb25zZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVz -cG9uc2VIZWFkZXIiIHR5cGU9InRuczpSZXNwb25zZUhlYWRlciIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlc3VsdHMiIHR5cGU9InVh -Okxpc3RPZlN0YXR1c0NvZGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJEaWFnbm9zdGljSW5mb3MiIHR5cGU9InVhOkxpc3RPZkRpYWdu -b3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2Vx -dWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZVN1 -YnNjcmlwdGlvbnNSZXNwb25zZSIgdHlwZT0idG5zOkRlbGV0ZVN1YnNjcmlwdGlvbnNSZXNwb25z -ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQnVpbGRJbmZvIj4NCiAgICA8eHM6c2Vx -dWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQcm9kdWN0VXJpIiB0eXBlPSJ4czpzdHJp -bmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJNYW51ZmFjdHVyZXJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQcm9kdWN0TmFtZSIgdHlw +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 -OmVsZW1lbnQgbmFtZT0iU29mdHdhcmVWZXJzaW9uIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJCdWlsZE51 -bWJlciIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQnVpbGREYXRlIiB0eXBlPSJ4czpkYXRlVGltZSIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQog -IDx4czplbGVtZW50IG5hbWU9IkJ1aWxkSW5mbyIgdHlwZT0idG5zOkJ1aWxkSW5mbyIgLz4NCg0K -ICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iUmVkdW5kYW5jeVN1cHBvcnQiPg0KICAgIDx4czpyZXN0 -cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJO -b25lXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkNvbGRfMSIgLz4NCiAgICAg -IDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iV2FybV8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u -IHZhbHVlPSJIb3RfMyIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iVHJhbnNwYXJl -bnRfNCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iSG90QW5kTWlycm9yZWRfNSIg -Lz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5cGU+DQogIDx4czplbGVt -ZW50IG5hbWU9IlJlZHVuZGFuY3lTdXBwb3J0IiB0eXBlPSJ0bnM6UmVkdW5kYW5jeVN1cHBvcnQi -IC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IlNlcnZlclN0YXRlIj4NCiAgICA8eHM6cmVz -dHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0i -UnVubmluZ18wIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJGYWlsZWRfMSIgLz4N -CiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9Db25maWd1cmF0aW9uXzIiIC8+DQogICAg -ICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IlN1c3BlbmRlZF8zIiAvPg0KICAgICAgPHhzOmVudW1l -cmF0aW9uIHZhbHVlPSJTaHV0ZG93bl80IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVl -PSJUZXN0XzUiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9IkNvbW11bmljYXRpb25G -YXVsdF82IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVbmtub3duXzciIC8+DQog -ICAgPC94czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJTZXJ2ZXJTdGF0ZSIgdHlwZT0idG5zOlNlcnZlclN0YXRlIiAvPg0KDQogIDx4czpjb21w -bGV4VHlwZSBuYW1lPSJSZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNl -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVySWQiIHR5cGU9InhzOnN0cmluZyIgbWlu -T2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNl -cnZpY2VMZXZlbCIgdHlwZT0ieHM6dW5zaWduZWRCeXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJTZXJ2ZXJTdGF0ZSIgdHlwZT0idG5zOlNlcnZlclN0YXRlIiBt -aW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4N -CiAgPHhzOmVsZW1lbnQgbmFtZT0iUmVkdW5kYW50U2VydmVyRGF0YVR5cGUiIHR5cGU9InRuczpS -ZWR1bmRhbnRTZXJ2ZXJEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlz -dE9mUmVkdW5kYW50U2VydmVyRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IlJlZHVuZGFudFNlcnZlckRhdGFUeXBlIiB0eXBlPSJ0bnM6UmVkdW5k -YW50U2VydmVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5p +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+ -DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlJlZHVuZGFudFNlcnZlckRhdGFUeXBlIiB0eXBl -PSJ0bnM6TGlzdE9mUmVkdW5kYW50U2VydmVyRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hz -OmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVuZHBvaW50VXJsTGlzdERhdGFU -eXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFbmRwb2lu -dFVybExpc3QiIHR5cGU9InVhOkxpc3RPZlN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJFbmRwb2ludFVybExpc3REYXRhVHlwZSIgdHlwZT0idG5zOkVuZHBvaW50 -VXJsTGlzdERhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZFbmRw -b2ludFVybExpc3REYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iRW5kcG9pbnRVcmxMaXN0RGF0YVR5cGUiIHR5cGU9InRuczpFbmRwb2ludFVybExp -c3REYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9 -InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhz -OmVsZW1lbnQgbmFtZT0iTGlzdE9mRW5kcG9pbnRVcmxMaXN0RGF0YVR5cGUiIHR5cGU9InRuczpM -aXN0T2ZFbmRwb2ludFVybExpc3REYXRhVHlwZSIgbmlsbGFibGU9InRydWUiPjwveHM6ZWxlbWVu -dD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTmV0d29ya0dyb3VwRGF0YVR5cGUiPg0KICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlcnZlclVyaSIgdHlwZT0i -eHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iTmV0d29ya1BhdGhzIiB0eXBlPSJ0bnM6TGlzdE9mRW5kcG9pbnRVcmxMaXN0 -RGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1 -ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTmV0d29ya0dy -b3VwRGF0YVR5cGUiIHR5cGU9InRuczpOZXR3b3JrR3JvdXBEYXRhVHlwZSIgLz4NCg0KICA8eHM6 -Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mTmV0d29ya0dyb3VwRGF0YVR5cGUiPg0KICAgIDx4czpz -ZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5ldHdvcmtHcm91cERhdGFUeXBlIiB0 -eXBlPSJ0bnM6TmV0d29ya0dyb3VwRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1 -bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6 -Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZk5ldHdvcmtHcm91cERhdGFU -eXBlIiB0eXBlPSJ0bnM6TGlzdE9mTmV0d29ya0dyb3VwRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVl -Ij48L3hzOmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNhbXBsaW5nSW50ZXJ2 -YWxEaWFnbm9zdGljc0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxl -bWVudCBuYW1lPSJTYW1wbGluZ0ludGVydmFsIiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JlZEl0ZW1Db3VudCIgdHlwZT0i -eHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -Ik1heE1vbml0b3JlZEl0ZW1Db3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc2FibGVkTW9uaXRvcmVkSXRlbUNvdW50 -IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVu -Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlNhbXBsaW5nSW50 -ZXJ2YWxEaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U2FtcGxpbmdJbnRlcnZhbERpYWdu -b3N0aWNzRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlNhbXBs -aW5nSW50ZXJ2YWxEaWFnbm9zdGljc0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg +DQogIDx4czplbGVtZW50IG5hbWU9Ik5ldHdvcmtHcm91cERhdGFUeXBlIiB0eXBlPSJ0bnM6TmV0 +d29ya0dyb3VwRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZk5l +dHdvcmtHcm91cERhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVu +dCBuYW1lPSJOZXR3b3JrR3JvdXBEYXRhVHlwZSIgdHlwZT0idG5zOk5ldHdvcmtHcm91cERhdGFU +eXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIg +Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu +dCBuYW1lPSJMaXN0T2ZOZXR3b3JrR3JvdXBEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZk5ldHdv +cmtHcm91cERhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpj +b21wbGV4VHlwZSBuYW1lPSJTYW1wbGluZ0ludGVydmFsRGlhZ25vc3RpY3NEYXRhVHlwZSI+DQog +ICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2FtcGxpbmdJbnRlcnZh +bCIgdHlwZT0ieHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJNb25pdG9yZWRJdGVtQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9 +IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhNb25pdG9yZWRJdGVtQ291bnQiIHR5 +cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu +YW1lPSJEaXNhYmxlZE1vbml0b3JlZEl0ZW1Db3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1p +bk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0K ICA8eHM6ZWxlbWVudCBuYW1lPSJTYW1wbGluZ0ludGVydmFsRGlhZ25vc3RpY3NEYXRhVHlwZSIg -dHlwZT0idG5zOlNhbXBsaW5nSW50ZXJ2YWxEaWFnbm9zdGljc0RhdGFUeXBlIiBtaW5PY2N1cnM9 -IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNl -cXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZT -YW1wbGluZ0ludGVydmFsRGlhZ25vc3RpY3NEYXRhVHlwZSIgdHlwZT0idG5zOkxpc3RPZlNhbXBs -aW5nSW50ZXJ2YWxEaWFnbm9zdGljc0RhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94czplbGVt -ZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXJ2ZXJEaWFnbm9zdGljc1N1bW1hcnlE -YXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vy -dmVyVmlld0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudFNlc3Npb25Db3VudCIgdHlwZT0ieHM6dW5zaWdu -ZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkN1bXVsYXRl -ZFNlc3Npb25Db3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlNlY3VyaXR5UmVqZWN0ZWRTZXNzaW9uQ291bnQiIHR5cGU9 -InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJSZWplY3RlZFNlc3Npb25Db3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNlc3Npb25UaW1lb3V0Q291bnQiIHR5cGU9 -InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJTZXNzaW9uQWJvcnRDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkN1cnJlbnRTdWJzY3JpcHRpb25Db3VudCIgdHlw -ZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IkN1bXVsYXRlZFN1YnNjcmlwdGlvbkNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWlu -T2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUHVibGlzaGluZ0ludGVydmFs -Q291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6 -ZWxlbWVudCBuYW1lPSJTZWN1cml0eVJlamVjdGVkUmVxdWVzdHNDb3VudCIgdHlwZT0ieHM6dW5z -aWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlamVj -dGVkUmVxdWVzdHNDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4N -CiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBu -YW1lPSJTZXJ2ZXJEaWFnbm9zdGljc1N1bW1hcnlEYXRhVHlwZSIgdHlwZT0idG5zOlNlcnZlckRp -YWdub3N0aWNzU3VtbWFyeURhdGFUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJT -ZXJ2ZXJTdGF0dXNEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iU3RhcnRUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBt -aW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0ZSIgdHlwZT0idG5z -OlNlcnZlclN0YXRlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJC -dWlsZEluZm8iIHR5cGU9InRuczpCdWlsZEluZm8iIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTZWNvbmRzVGlsbFNodXRkb3duIiB0eXBl -PSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iU2h1dGRvd25SZWFzb24iIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIg +dHlwZT0idG5zOlNhbXBsaW5nSW50ZXJ2YWxEaWFnbm9zdGljc0RhdGFUeXBlIiAvPg0KDQogIDx4 +czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZTYW1wbGluZ0ludGVydmFsRGlhZ25vc3RpY3NEYXRh +VHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2FtcGxp +bmdJbnRlcnZhbERpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTYW1wbGluZ0ludGVydmFs +RGlhZ25vc3RpY3NEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIg bmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlw -ZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmVyU3RhdHVzRGF0YVR5cGUiIHR5cGU9InRuczpT -ZXJ2ZXJTdGF0dXNEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU2Vzc2lv -bkRpYWdub3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlNlc3Npb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbk5hbWUiIHR5cGU9 -InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IkNsaWVudERlc2NyaXB0aW9uIiB0eXBlPSJ0bnM6QXBwbGljYXRpb25EZXNj -cmlwdGlvbiIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlNlcnZlclVyaSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRW5kcG9pbnRVcmwiIHR5cGU9 +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 -bGVtZW50IG5hbWU9IkxvY2FsZUlkcyIgdHlwZT0idWE6TGlzdE9mU3RyaW5nIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWN0dWFsU2Vz -c2lvblRpbWVvdXQiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iTWF4UmVzcG9uc2VNZXNzYWdlU2l6ZSIgdHlwZT0ieHM6dW5zaWduZWRJ -bnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVudENvbm5l -Y3Rpb25UaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iQ2xpZW50TGFzdENvbnRhY3RUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3VycmVudFN1YnNjcmlw -dGlvbnNDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9IkN1cnJlbnRNb25pdG9yZWRJdGVtc0NvdW50IiB0eXBlPSJ4czp1 -bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3Vy -cmVudFB1Ymxpc2hSZXF1ZXN0c0luUXVldWUiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1 -cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJUb3RhbFJlcXVlc3RDb3VudCIgdHlw -ZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVbmF1dGhvcml6ZWRSZXF1ZXN0Q291bnQi -IHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJSZWFkQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5P -Y2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iSGlz -dG9yeVJlYWRDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJXcml0ZUNv -dW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxs -YWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikhpc3RvcnlVcGRhdGVDb3Vu -dCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDYWxsQ291bnQiIHR5cGU9InRu -czpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAv -Pg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3JlYXRlTW9uaXRvcmVkSXRlbXNDb3VudCIgdHlw -ZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZnlNb25pdG9yZWRJdGVtc0NvdW50 -IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlNldE1vbml0b3JpbmdNb2RlQ291 -bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0VHJpZ2dlcmluZ0NvdW50 -IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZU1vbml0b3JlZEl0ZW1z -Q291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3JlYXRlU3Vic2NyaXB0 -aW9uQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kaWZ5U3Vic2Ny -aXB0aW9uQ291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9 -IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2V0UHVibGlz -aGluZ01vZGVDb3VudCIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vy -cz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJQdWJsaXNo -Q291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVwdWJsaXNoQ291bnQi -IHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxl -PSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNmZXJTdWJzY3JpcHRpb25z -Q291bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5p -bGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlU3Vic2NyaXB0 -aW9uc0NvdW50IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIw -IiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFkZE5vZGVzQ291 -bnQiIHR5cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQWRkUmVmZXJlbmNlc0NvdW50 -IiB0eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRlbGV0ZU5vZGVzQ291bnQiIHR5 -cGU9InRuczpTZXJ2aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0 -cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGVsZXRlUmVmZXJlbmNlc0NvdW50IiB0 -eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZUNvdW50IiB0eXBlPSJ0bnM6 -U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IkJyb3dzZU5leHRDb3VudCIgdHlwZT0idG5zOlNlcnZp +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 -ICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc2xhdGVCcm93c2VQYXRoc1RvTm9kZUlkc0NvdW50IiB0 -eXBlPSJ0bnM6U2VydmljZUNvdW50ZXJEYXRhVHlwZSIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlF1ZXJ5Rmlyc3RDb3VudCIgdHlwZT0i -dG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJRdWVyeU5leHRDb3VudCIgdHlwZT0idG5zOlNl -cnZpY2VDb3VudGVyRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQog -ICAgICA8eHM6ZWxlbWVudCBuYW1lPSJSZWdpc3Rlck5vZGVzQ291bnQiIHR5cGU9InRuczpTZXJ2 -aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iVW5yZWdpc3Rlck5vZGVzQ291bnQiIHR5cGU9InRuczpTZXJ2 -aWNlQ291bnRlckRhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -IlNlc3Npb25EaWFnbm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U2Vzc2lvbkRpYWdub3N0aWNz -RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlNlc3Npb25EaWFn -bm9zdGljc0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJTZXNzaW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgdHlwZT0idG5zOlNlc3Npb25EaWFnbm9z -dGljc0RhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5ib3VuZGVkIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8 -eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTZXNzaW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgdHlwZT0i -dG5zOkxpc3RPZlNlc3Npb25EaWFnbm9zdGljc0RhdGFUeXBlIiBuaWxsYWJsZT0idHJ1ZSI+PC94 -czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJTZXNzaW9uU2VjdXJpdHlEaWFn -bm9zdGljc0RhdGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJTZXNzaW9uSWQiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0i -dHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkNsaWVudFVzZXJJZE9mU2Vzc2lvbiIg -dHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iQ2xpZW50VXNlcklkSGlzdG9yeSIgdHlwZT0idWE6TGlzdE9mU3Ry -aW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iQXV0aGVudGljYXRpb25NZWNoYW5pc20iIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuY29kaW5n -IiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJUcmFuc3BvcnRQcm90b2NvbCIgdHlwZT0ieHM6c3RyaW5nIiBt -aW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0i -U2VjdXJpdHlNb2RlIiB0eXBlPSJ0bnM6TWVzc2FnZVNlY3VyaXR5TW9kZSIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iU2VjdXJpdHlQb2xpY3lVcmkiIHR5cGU9Inhz -OnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkNsaWVudENlcnRpZmljYXRlIiB0eXBlPSJ4czpiYXNlNjRCaW5hcnkiIG1pbk9j -Y3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpj -b21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvblNlY3VyaXR5RGlhZ25vc3Rp -Y3NEYXRhVHlwZSIgdHlwZT0idG5zOlNlc3Npb25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUi -IC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ikxpc3RPZlNlc3Npb25TZWN1cml0eURpYWdu -b3N0aWNzRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlNlc3Npb25TZWN1cml0eURpYWdub3N0aWNzRGF0YVR5cGUiIHR5cGU9InRuczpTZXNzaW9u -U2VjdXJpdHlEaWFnbm9zdGljc0RhdGFUeXBlIiBtaW5PY2N1cnM9IjAiIG1heE9jY3Vycz0idW5i -b3VuZGVkIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv -bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJMaXN0T2ZTZXNzaW9uU2VjdXJpdHlEaWFn -bm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6TGlzdE9mU2Vzc2lvblNlY3VyaXR5RGlhZ25vc3Rp +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 -eFR5cGUgbmFtZT0iU2VydmljZUNvdW50ZXJEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0K -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVG90YWxDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQi -IG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVycm9yQ291bnQiIHR5 -cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4N -CiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iU2VydmljZUNvdW50ZXJE -YXRhVHlwZSIgdHlwZT0idG5zOlNlcnZpY2VDb3VudGVyRGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNv -bXBsZXhUeXBlIG5hbWU9IlN0YXR1c1Jlc3VsdCI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iU3RhdHVzQ29kZSIgdHlwZT0idWE6U3RhdHVzQ29kZSIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlhZ25vc3RpY0luZm8iIHR5cGU9 -InVhOkRpYWdub3N0aWNJbmZvIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -IDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9 -IlN0YXR1c1Jlc3VsdCIgdHlwZT0idG5zOlN0YXR1c1Jlc3VsdCIgLz4NCg0KICA8eHM6Y29tcGxl -eFR5cGUgbmFtZT0iTGlzdE9mU3RhdHVzUmVzdWx0Ij4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAg -ICA8eHM6ZWxlbWVudCBuYW1lPSJTdGF0dXNSZXN1bHQiIHR5cGU9InRuczpTdGF0dXNSZXN1bHQi -IG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQiIG5pbGxhYmxlPSJ0cnVlIiAvPg0K -ICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5h -bWU9Ikxpc3RPZlN0YXR1c1Jlc3VsdCIgdHlwZT0idG5zOkxpc3RPZlN0YXR1c1Jlc3VsdCIgbmls -bGFibGU9InRydWUiPjwveHM6ZWxlbWVudD4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iU3Vi -c2NyaXB0aW9uRGlhZ25vc3RpY3NEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iU2Vzc2lvbklkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRp -b25JZCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlByaW9yaXR5IiB0eXBlPSJ4czp1bnNpZ25lZEJ5dGUiIG1pbk9jY3Vycz0i -MCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hpbmdJbnRlcnZhbCIgdHlwZT0i -eHM6ZG91YmxlIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhL -ZWVwQWxpdmVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ik1heExpZmV0aW1lQ291bnQiIHR5cGU9InhzOnVuc2lnbmVk -SW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNYXhOb3RpZmlj -YXRpb25zUGVyUHVibGlzaCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hpbmdFbmFibGVkIiB0eXBlPSJ4czpib29s -ZWFuIiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb2RpZnlDb3Vu -dCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IkVuYWJsZUNvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGlzYWJsZUNvdW50IiB0eXBlPSJ4czp1bnNp -Z25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVwdWJs +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 -ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iUmVwdWJsaXNoTWVzc2FnZVJlcXVlc3RDb3VudCIgdHlw +ICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRGF0YUNoYW5nZU5vdGlmaWNhdGlvbnNDb3VudCIgdHlw ZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IlJlcHVibGlzaE1lc3NhZ2VDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vy -cz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlRyYW5zZmVyUmVxdWVzdENvdW50IiB0 +bWU9IkV2ZW50Tm90aWZpY2F0aW9uc0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2Nj +dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTm90aWZpY2F0aW9uc0NvdW50IiB0 eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQg -bmFtZT0iVHJhbnNmZXJyZWRUb0FsdENsaWVudENvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIg -bWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iVHJhbnNmZXJyZWRUb1Nh -bWVDbGllbnRDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9IlB1Ymxpc2hSZXF1ZXN0Q291bnQiIHR5cGU9InhzOnVuc2ln -bmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEYXRhQ2hh -bmdlTm90aWZpY2F0aW9uc0NvdW50IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIw -IiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRXZlbnROb3RpZmljYXRpb25zQ291bnQiIHR5 -cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJOb3RpZmljYXRpb25zQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9 -IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXRlUHVibGlzaFJlcXVlc3RDb3VudCIg -dHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50 -IG5hbWU9IkN1cnJlbnRLZWVwQWxpdmVDb3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9j -Y3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkN1cnJlbnRMaWZldGltZUNvdW50 -IiB0eXBlPSJ4czp1bnNpZ25lZEludCIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iVW5hY2tub3dsZWRnZWRNZXNzYWdlQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50 -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNjYXJkZWRNZXNz -YWdlQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJNb25pdG9yZWRJdGVtQ291bnQiIHR5cGU9InhzOnVuc2lnbmVkSW50 -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJEaXNhYmxlZE1vbml0 -b3JlZEl0ZW1Db3VudCIgdHlwZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ik1vbml0b3JpbmdRdWV1ZU92ZXJmbG93Q291bnQiIHR5cGU9 -InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1l -PSJOZXh0U2VxdWVuY2VOdW1iZXIiIHR5cGU9InhzOnVuc2lnbmVkSW50IiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJFdmVudFF1ZXVlT3ZlckZsb3dDb3VudCIgdHlw -ZT0ieHM6dW5zaWduZWRJbnQiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTdWJzY3JpcHRpb25EaWFn -bm9zdGljc0RhdGFUeXBlIiB0eXBlPSJ0bnM6U3Vic2NyaXB0aW9uRGlhZ25vc3RpY3NEYXRhVHlw -ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU3Vic2NyaXB0aW9uRGlhZ25v -c3RpY3NEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iU3Vic2NyaXB0aW9uRGlhZ25vc3RpY3NEYXRhVHlwZSIgdHlwZT0idG5zOlN1YnNjcmlwdGlv -bkRpYWdub3N0aWNzRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlN1YnNjcmlwdGlvbkRpYWdub3N0aWNzRGF0 -YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZTdWJzY3JpcHRpb25EaWFnbm9zdGljc0RhdGFUeXBlIiBu -aWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpzaW1wbGVUeXBlICBuYW1lPSJN -b2RlbENoYW5nZVN0cnVjdHVyZVZlcmJNYXNrIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0i -eHM6c3RyaW5nIj4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iTm9kZUFkZGVkXzEiIC8+ -DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9Ik5vZGVEZWxldGVkXzIiIC8+DQogICAgICA8 -eHM6ZW51bWVyYXRpb24gdmFsdWU9IlJlZmVyZW5jZUFkZGVkXzQiIC8+DQogICAgICA8eHM6ZW51 -bWVyYXRpb24gdmFsdWU9IlJlZmVyZW5jZURlbGV0ZWRfOCIgLz4NCiAgICAgIDx4czplbnVtZXJh -dGlvbiB2YWx1ZT0iRGF0YVR5cGVDaGFuZ2VkXzE2IiAvPg0KICAgIDwveHM6cmVzdHJpY3Rpb24+ -DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iTW9kZWxDaGFuZ2VTdHJ1 -Y3R1cmVWZXJiTWFzayIgdHlwZT0idG5zOk1vZGVsQ2hhbmdlU3RydWN0dXJlVmVyYk1hc2siIC8+ -DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9Ik1vZGVsQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUi -Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkFmZmVjdGVkIiB0 -eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8 -eHM6ZWxlbWVudCBuYW1lPSJBZmZlY3RlZFR5cGUiIHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJz -PSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZlcmIiIHR5 -cGU9InhzOnVuc2lnbmVkQnl0ZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+ -DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ik1vZGVsQ2hhbmdlU3Ry -dWN0dXJlRGF0YVR5cGUiIHR5cGU9InRuczpNb2RlbENoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiAv -Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJMaXN0T2ZNb2RlbENoYW5nZVN0cnVjdHVyZURh -dGFUeXBlIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJNb2Rl -bENoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiB0eXBlPSJ0bnM6TW9kZWxDaGFuZ2VTdHJ1Y3R1cmVE -YXRhVHlwZSIgbWluT2NjdXJzPSIwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIgbmlsbGFibGU9InRy -dWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs -ZW1lbnQgbmFtZT0iTGlzdE9mTW9kZWxDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgdHlwZT0idG5z -Okxpc3RPZk1vZGVsQ2hhbmdlU3RydWN0dXJlRGF0YVR5cGUiIG5pbGxhYmxlPSJ0cnVlIj48L3hz -OmVsZW1lbnQ+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IlNlbWFudGljQ2hhbmdlU3RydWN0 -dXJlRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkFmZmVjdGVkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBZmZlY3RlZFR5cGUiIHR5cGU9InVhOk5vZGVJ -ZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0K -ICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJTZW1hbnRpY0NoYW5nZVN0 -cnVjdHVyZURhdGFUeXBlIiB0eXBlPSJ0bnM6U2VtYW50aWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlw -ZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iTGlzdE9mU2VtYW50aWNDaGFuZ2VTdHJ1 -Y3R1cmVEYXRhVHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iU2VtYW50aWNDaGFuZ2VTdHJ1Y3R1cmVEYXRhVHlwZSIgdHlwZT0idG5zOlNlbWFudGljQ2hh -bmdlU3RydWN0dXJlRGF0YVR5cGUiIG1pbk9jY3Vycz0iMCIgbWF4T2NjdXJzPSJ1bmJvdW5kZWQi -IG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29tcGxleFR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9Ikxpc3RPZlNlbWFudGljQ2hhbmdlU3RydWN0dXJlRGF0 -YVR5cGUiIHR5cGU9InRuczpMaXN0T2ZTZW1hbnRpY0NoYW5nZVN0cnVjdHVyZURhdGFUeXBlIiBu -aWxsYWJsZT0idHJ1ZSI+PC94czplbGVtZW50Pg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJS -YW5nZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTG93IiB0 -eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9 -IkhpZ2giIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVu -Y2U+DQogIDwveHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlJhbmdlIiB0eXBl -PSJ0bnM6UmFuZ2UiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkVVSW5mb3JtYXRpb24i -Pg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik5hbWVzcGFjZVVy -aSIgdHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iVW5pdElkIiB0eXBlPSJ4czppbnQiIG1pbk9jY3Vycz0iMCIg -Lz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkRpc3BsYXlOYW1lIiB0eXBlPSJ1YTpMb2NhbGl6 -ZWRUZXh0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iRGVzY3JpcHRpb24iIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4 -VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iRVVJbmZvcm1hdGlvbiIgdHlwZT0idG5zOkVVSW5m -b3JtYXRpb24iIC8+DQoNCiAgPHhzOnNpbXBsZVR5cGUgIG5hbWU9IkF4aXNTY2FsZUVudW1lcmF0 -aW9uIj4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAgICAgIDx4czpl -bnVtZXJhdGlvbiB2YWx1ZT0iTGluZWFyXzAiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs -dWU9IkxvZ18xIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJMbl8yIiAvPg0KICAg -IDwveHM6cmVzdHJpY3Rpb24+DQogIDwveHM6c2ltcGxlVHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFt -ZT0iQXhpc1NjYWxlRW51bWVyYXRpb24iIHR5cGU9InRuczpBeGlzU2NhbGVFbnVtZXJhdGlvbiIg -Lz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iQ29tcGxleE51bWJlclR5cGUiPg0KICAgIDx4 -czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlJlYWwiIHR5cGU9InhzOmZsb2F0 -IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJJbWFnaW5hcnkiIHR5 -cGU9InhzOmZsb2F0IiBtaW5PY2N1cnM9IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94 -czpjb21wbGV4VHlwZT4NCiAgPHhzOmVsZW1lbnQgbmFtZT0iQ29tcGxleE51bWJlclR5cGUiIHR5 -cGU9InRuczpDb21wbGV4TnVtYmVyVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0i -RG91YmxlQ29tcGxleE51bWJlclR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9IlJlYWwiIHR5cGU9InhzOmRvdWJsZSIgbWluT2NjdXJzPSIwIiAvPg0KICAg -ICAgPHhzOmVsZW1lbnQgbmFtZT0iSW1hZ2luYXJ5IiB0eXBlPSJ4czpkb3VibGUiIG1pbk9jY3Vy -cz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6 -ZWxlbWVudCBuYW1lPSJEb3VibGVDb21wbGV4TnVtYmVyVHlwZSIgdHlwZT0idG5zOkRvdWJsZUNv -bXBsZXhOdW1iZXJUeXBlIiAvPg0KDQogIDx4czpjb21wbGV4VHlwZSBuYW1lPSJBeGlzSW5mb3Jt -YXRpb24iPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IkVuZ2lu -ZWVyaW5nVW5pdHMiIHR5cGU9InRuczpFVUluZm9ybWF0aW9uIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iRVVSYW5nZSIgdHlwZT0idG5z -OlJhbmdlIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1l -bnQgbmFtZT0iVGl0bGUiIHR5cGU9InVhOkxvY2FsaXplZFRleHQiIG1pbk9jY3Vycz0iMCIgbmls -bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBeGlzU2NhbGVUeXBlIiB0 -eXBlPSJ0bnM6QXhpc1NjYWxlRW51bWVyYXRpb24iIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4 -czplbGVtZW50IG5hbWU9IkF4aXNTdGVwcyIgdHlwZT0idWE6TGlzdE9mRG91YmxlIiBtaW5PY2N1 -cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwveHM6Y29t -cGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkF4aXNJbmZvcm1hdGlvbiIgdHlwZT0idG5z -OkF4aXNJbmZvcm1hdGlvbiIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iWFZUeXBlIj4N -CiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJYIiB0eXBlPSJ4czpk -b3VibGUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9IlZhbHVlIiB0 -eXBlPSJ4czpmbG9hdCIgbWluT2NjdXJzPSIwIiAvPg0KICAgIDwveHM6c2VxdWVuY2U+DQogIDwv -eHM6Y29tcGxleFR5cGU+DQogIDx4czplbGVtZW50IG5hbWU9IlhWVHlwZSIgdHlwZT0idG5zOlhW -VHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUHJvZ3JhbURpYWdub3N0aWNEYXRh -VHlwZSI+DQogICAgPHhzOnNlcXVlbmNlPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3JlYXRl -U2Vzc2lvbklkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJDcmVhdGVDbGllbnROYW1lIiB0eXBlPSJ4czpz -dHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVu -dCBuYW1lPSJJbnZvY2F0aW9uQ3JlYXRpb25UaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdFRyYW5zaXRpb25UaW1lIiB0 -eXBlPSJ4czpkYXRlVGltZSIgbWluT2NjdXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFt -ZT0iTGFzdE1ldGhvZENhbGwiIHR5cGU9InhzOnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJs -ZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxhc3RNZXRob2RTZXNzaW9uSWQi -IHR5cGU9InVhOk5vZGVJZCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAg -IDx4czplbGVtZW50IG5hbWU9Ikxhc3RNZXRob2RJbnB1dEFyZ3VtZW50cyIgdHlwZT0idG5zOkxp -c3RPZkFyZ3VtZW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhz -OmVsZW1lbnQgbmFtZT0iTGFzdE1ldGhvZE91dHB1dEFyZ3VtZW50cyIgdHlwZT0idG5zOkxpc3RP -ZkFyZ3VtZW50IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs -ZW1lbnQgbmFtZT0iTGFzdE1ldGhvZENhbGxUaW1lIiB0eXBlPSJ4czpkYXRlVGltZSIgbWluT2Nj -dXJzPSIwIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iTGFzdE1ldGhvZFJldHVyblN0YXR1 -cyIgdHlwZT0idG5zOlN0YXR1c1Jlc3VsdCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIg -Lz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVu -dCBuYW1lPSJQcm9ncmFtRGlhZ25vc3RpY0RhdGFUeXBlIiB0eXBlPSJ0bnM6UHJvZ3JhbURpYWdu -b3N0aWNEYXRhVHlwZSIgLz4NCg0KICA8eHM6Y29tcGxleFR5cGUgbmFtZT0iUHJvZ3JhbURpYWdu -b3N0aWMyRGF0YVR5cGUiPg0KICAgIDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5h -bWU9IkNyZWF0ZVNlc3Npb25JZCIgdHlwZT0idWE6Tm9kZUlkIiBtaW5PY2N1cnM9IjAiIG5pbGxh -YmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVsZW1lbnQgbmFtZT0iQ3JlYXRlQ2xpZW50TmFtZSIg -dHlwZT0ieHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAg -PHhzOmVsZW1lbnQgbmFtZT0iSW52b2NhdGlvbkNyZWF0aW9uVGltZSIgdHlwZT0ieHM6ZGF0ZVRp -bWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxhc3RUcmFuc2l0 -aW9uVGltZSIgdHlwZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9Ikxhc3RNZXRob2RDYWxsIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0i -MCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9k -U2Vzc2lvbklkIiB0eXBlPSJ1YTpOb2RlSWQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kSW5wdXRBcmd1bWVudHMiIHR5 -cGU9InRuczpMaXN0T2ZBcmd1bWVudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4N -CiAgICAgIDx4czplbGVtZW50IG5hbWU9Ikxhc3RNZXRob2RPdXRwdXRBcmd1bWVudHMiIHR5cGU9 -InRuczpMaXN0T2ZBcmd1bWVudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAg -ICAgIDx4czplbGVtZW50IG5hbWU9Ikxhc3RNZXRob2RJbnB1dFZhbHVlcyIgdHlwZT0idWE6TGlz -dE9mVmFyaWFudCIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czpl -bGVtZW50IG5hbWU9Ikxhc3RNZXRob2RPdXRwdXRWYWx1ZXMiIHR5cGU9InVhOkxpc3RPZlZhcmlh -bnQiIG1pbk9jY3Vycz0iMCIgbmlsbGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBu -YW1lPSJMYXN0TWV0aG9kQ2FsbFRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9IjAi -IC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJMYXN0TWV0aG9kUmV0dXJuU3RhdHVzIiB0eXBl -PSJ0bnM6U3RhdHVzUmVzdWx0IiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAg +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 -IlByb2dyYW1EaWFnbm9zdGljMkRhdGFUeXBlIiB0eXBlPSJ0bnM6UHJvZ3JhbURpYWdub3N0aWMy -RGF0YVR5cGUiIC8+DQoNCiAgPHhzOmNvbXBsZXhUeXBlIG5hbWU9IkFubm90YXRpb24iPg0KICAg -IDx4czpzZXF1ZW5jZT4NCiAgICAgIDx4czplbGVtZW50IG5hbWU9Ik1lc3NhZ2UiIHR5cGU9Inhz -OnN0cmluZyIgbWluT2NjdXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICAgIDx4czplbGVt -ZW50IG5hbWU9IlVzZXJOYW1lIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmlsbGFi -bGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJBbm5vdGF0aW9uVGltZSIgdHlw -ZT0ieHM6ZGF0ZVRpbWUiIG1pbk9jY3Vycz0iMCIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8 -L3hzOmNvbXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJBbm5vdGF0aW9uIiB0eXBlPSJ0 -bnM6QW5ub3RhdGlvbiIgLz4NCg0KICA8eHM6c2ltcGxlVHlwZSAgbmFtZT0iRXhjZXB0aW9uRGV2 -aWF0aW9uRm9ybWF0Ij4NCiAgICA8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCiAg -ICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iQWJzb2x1dGVWYWx1ZV8wIiAvPg0KICAgICAgPHhz -OmVudW1lcmF0aW9uIHZhbHVlPSJQZXJjZW50T2ZWYWx1ZV8xIiAvPg0KICAgICAgPHhzOmVudW1l -cmF0aW9uIHZhbHVlPSJQZXJjZW50T2ZSYW5nZV8yIiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9u -IHZhbHVlPSJQZXJjZW50T2ZFVVJhbmdlXzMiIC8+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFs -dWU9IlVua25vd25fNCIgLz4NCiAgICA8L3hzOnJlc3RyaWN0aW9uPg0KICA8L3hzOnNpbXBsZVR5 -cGU+DQogIDx4czplbGVtZW50IG5hbWU9IkV4Y2VwdGlvbkRldmlhdGlvbkZvcm1hdCIgdHlwZT0i -dG5zOkV4Y2VwdGlvbkRldmlhdGlvbkZvcm1hdCIgLz4NCg0KPC94czpzY2hlbWE+ +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 +ZT0iTGFzdE1ldGhvZFJldHVyblN0YXR1cyIgdHlwZT0idG5zOlN0YXR1c1Jlc3VsdCIgbWluT2Nj +dXJzPSIwIiBuaWxsYWJsZT0idHJ1ZSIgLz4NCiAgICA8L3hzOnNlcXVlbmNlPg0KICA8L3hzOmNv +bXBsZXhUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJQcm9ncmFtRGlhZ25vc3RpYzJEYXRhVHlw +ZSIgdHlwZT0idG5zOlByb2dyYW1EaWFnbm9zdGljMkRhdGFUeXBlIiAvPg0KDQogIDx4czpjb21w +bGV4VHlwZSBuYW1lPSJBbm5vdGF0aW9uIj4NCiAgICA8eHM6c2VxdWVuY2U+DQogICAgICA8eHM6 +ZWxlbWVudCBuYW1lPSJNZXNzYWdlIiB0eXBlPSJ4czpzdHJpbmciIG1pbk9jY3Vycz0iMCIgbmls +bGFibGU9InRydWUiIC8+DQogICAgICA8eHM6ZWxlbWVudCBuYW1lPSJVc2VyTmFtZSIgdHlwZT0i +eHM6c3RyaW5nIiBtaW5PY2N1cnM9IjAiIG5pbGxhYmxlPSJ0cnVlIiAvPg0KICAgICAgPHhzOmVs +ZW1lbnQgbmFtZT0iQW5ub3RhdGlvblRpbWUiIHR5cGU9InhzOmRhdGVUaW1lIiBtaW5PY2N1cnM9 +IjAiIC8+DQogICAgPC94czpzZXF1ZW5jZT4NCiAgPC94czpjb21wbGV4VHlwZT4NCiAgPHhzOmVs +ZW1lbnQgbmFtZT0iQW5ub3RhdGlvbiIgdHlwZT0idG5zOkFubm90YXRpb24iIC8+DQoNCiAgPHhz +OnNpbXBsZVR5cGUgIG5hbWU9IkV4Y2VwdGlvbkRldmlhdGlvbkZvcm1hdCI+DQogICAgPHhzOnJl +c3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQogICAgICA8eHM6ZW51bWVyYXRpb24gdmFsdWU9 +IkFic29sdXRlVmFsdWVfMCIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2Vu +dE9mVmFsdWVfMSIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mUmFu +Z2VfMiIgLz4NCiAgICAgIDx4czplbnVtZXJhdGlvbiB2YWx1ZT0iUGVyY2VudE9mRVVSYW5nZV8z +IiAvPg0KICAgICAgPHhzOmVudW1lcmF0aW9uIHZhbHVlPSJVbmtub3duXzQiIC8+DQogICAgPC94 +czpyZXN0cmljdGlvbj4NCiAgPC94czpzaW1wbGVUeXBlPg0KICA8eHM6ZWxlbWVudCBuYW1lPSJF +eGNlcHRpb25EZXZpYXRpb25Gb3JtYXQiIHR5cGU9InRuczpFeGNlcHRpb25EZXZpYXRpb25Gb3Jt +YXQiIC8+DQoNCjwveHM6c2NoZW1hPg== diff --git a/schemas/Opc.Ua.Types.bsd b/schemas/Opc.Ua.Types.bsd index 513577a01..0eb1bdf8c 100644 --- a/schemas/Opc.Ua.Types.bsd +++ b/schemas/Opc.Ua.Types.bsd @@ -392,7 +392,8 @@ - + + @@ -438,7 +439,8 @@ - + + @@ -625,7 +627,8 @@ - + + @@ -648,7 +651,8 @@ - + + @@ -676,7 +680,8 @@ - + + @@ -689,7 +694,8 @@ - + + @@ -785,7 +791,28 @@ - + + + + + + + + + + + + + + + + + + + + + + @@ -795,7 +822,7 @@ - + @@ -803,12 +830,12 @@ - - - + + + - + @@ -817,7 +844,7 @@ - + @@ -1802,7 +1829,7 @@ - + Define bits used to indicate which attributes are writable. diff --git a/schemas/Opc.Ua.Types.xsd b/schemas/Opc.Ua.Types.xsd index 45c70f254..9658ad263 100644 --- a/schemas/Opc.Ua.Types.xsd +++ b/schemas/Opc.Ua.Types.xsd @@ -1726,6 +1726,12 @@ + + + + + + @@ -1739,7 +1745,7 @@ - + @@ -1747,7 +1753,7 @@ - + diff --git a/schemas/StatusCode.csv b/schemas/StatusCode.csv index 57c38df90..350b96e47 100644 --- a/schemas/StatusCode.csv +++ b/schemas/StatusCode.csv @@ -78,7 +78,7 @@ BadFilterNotAllowed,0x80450000,A monitoring filter cannot be used in combination 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 unregognized operator was provided in a filter. +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. @@ -86,7 +86,7 @@ BadFilterElementInvalid,0x80C40000,The referenced element is not a valid element 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 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. @@ -141,7 +141,7 @@ BadTypeMismatch,0x80740000,The value supplied for the attribute is not of the sa 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. +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. @@ -206,7 +206,7 @@ BadAggregateListMismatch,0x80D40000,The requested number of Aggregates does not 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 pecifies fields which are not valid for the EventType or cannot be saved by the historian. +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. GoodEdited,0x00DC0000,The value does not come from the real source and has been edited by the server. diff --git a/schemas/UANodeSet.xsd b/schemas/UANodeSet.xsd index 08d43e500..2bb01996f 100644 --- a/schemas/UANodeSet.xsd +++ b/schemas/UANodeSet.xsd @@ -159,7 +159,6 @@ - @@ -233,7 +232,7 @@ - + @@ -360,6 +359,7 @@ + @@ -459,11 +459,14 @@ + + + diff --git a/schemas/generate_ids.py b/schemas/generate_ids.py index 8d823c510..62ae094df 100644 --- a/schemas/generate_ids.py +++ b/schemas/generate_ids.py @@ -7,7 +7,7 @@ outputfile.write("\n") # Making ObjectIds inherit IntEnum has a huge performance impact!!!!! # so we use a normal class and a reverse one for the few places we need it - outputfile.write("class ObjectIds(object):\n") + outputfile.write("class ObjectIds:\n") outputfile.write(" Null = 0\n") for line in inputfile: name, nb, datatype = line.split(",") diff --git a/schemas/generate_model_event.py b/schemas/generate_model_event.py index 0bf954b8f..f222a7f38 100644 --- a/schemas/generate_model_event.py +++ b/schemas/generate_model_event.py @@ -1,6 +1,7 @@ import xml.etree.ElementTree as ET import collections + class Node_struct: def __init__(self): @@ -14,14 +15,17 @@ def __init__(self): self.references = [] def __hash__(self): - return hash(self.nodeId, self.browseName, self.isAbstract, self.parentNodeId, self.dataType, self.displayName, self.description, self.references) + return hash(self.nodeId, self.browseName, self.isAbstract, self.parentNodeId, self.dataType, self.displayName, + self.description, self.references) def __eq__(self, other): - return (self.nodeId, self.browseName, self.isAbstract, self.parentNodeId, self.dataType, self.displayName, self.description, self.references) == (other.nodeId, other.browseName, other.isAbstract, other.parentNodeId, other.dataType, other.displayName, other.description, other.references) + return (self.nodeId, self.browseName, self.isAbstract, self.parentNodeId, self.dataType, self.displayName, + self.description, self.references) == ( + other.nodeId, other.browseName, other.isAbstract, other.parentNodeId, other.dataType, other.displayName, + other.description, other.references) def __ne__(self, other): - return not(self == other) - + return not (self == other) class Reference: @@ -36,7 +40,7 @@ def __eq__(self, other): return (self.referenceType, self.refId) == (other.referenceType, other.refValue) def __ne__(self, other): - return not(self == other) + return not (self == other) class Model_Event: @@ -52,11 +56,12 @@ def get_struct(self, nodeId): class Parser(object): nameSpace = "{http://opcfoundation.org/UA/2011/03/UANodeSet.xsd}" + def __init__(self, path): self.path = path self.model = None - def findNodeWithNodeId(self,root, nodeId): + def findNodeWithNodeId(self, root, nodeId): node = Node_struct() for child in root: if nodeId == child.attrib.get('NodeId'): @@ -64,23 +69,27 @@ def findNodeWithNodeId(self,root, nodeId): node.nodeId = child.attrib.get('NodeId') node.isAbstract = child.attrib.get('IsAbstract') node.dataType = child.attrib.get('DataType') - if (node.dataType == None): + if node.dataType is None: node.dataType = 'Variant' node.displayName = child.find(self.nameSpace + 'DisplayName').text - if (child.find(self.nameSpace + 'Description') != None): + if child.find(self.nameSpace + 'Description') is not None: node.description = child.find(self.nameSpace + 'Description').text for ref in child.find(self.nameSpace + 'References').findall(self.nameSpace + 'Reference'): reference = Reference() reference.referenceType = ref.attrib.get('ReferenceType') reference.refId = ref.text - if ref.attrib.get('IsForward')!=None: + if ref.attrib.get('IsForward') != None: node.parentNodeId = reference.refId node.references.append(reference) return node def checkNodeType(self, node): - if (node.tag == self.nameSpace + "UAObjectType") or (node.tag == self.nameSpace + "UAVariable") or ( - node.tag == self.nameSpace + "UAObject") or (node.tag == self.nameSpace + "UAMethod") or (node.tag == self.nameSpace + "UAVariableType"): + if ( + (node.tag == self.nameSpace + "UAObjectType") or + (node.tag == self.nameSpace + "UAVariable") or + (node.tag == self.nameSpace + "UAObject") or + (node.tag == self.nameSpace + "UAMethod") or + (node.tag == self.nameSpace + "UAVariableType")): return True def parse(self): @@ -98,7 +107,7 @@ def parse(self): node.nodeId = child.attrib.get('NodeId') node.isAbstract = child.attrib.get('IsAbstract') node.displayName = child.find(self.nameSpace + 'DisplayName').text - if (child.find(self.nameSpace + 'Description') != None): + if child.find(self.nameSpace + 'Description') is not None: node.description = child.find(self.nameSpace + 'Description').text for ref in child.find(self.nameSpace + 'References').findall(self.nameSpace + 'Reference'): reference = Reference() @@ -107,11 +116,10 @@ def parse(self): self.refNode = self.findNodeWithNodeId(root, reference.refId).browseName reference.refBrowseName = self.findNodeWithNodeId(root, reference.refId).browseName reference.refDataType = self.findNodeWithNodeId(root, reference.refId).dataType - if ref.attrib.get('IsForward')!=None: + if ref.attrib.get('IsForward') is not None: node.parentNodeId = reference.refId node.references.append(reference) - listEventType.update({node.nodeId:node}) - - return collections.OrderedDict(sorted(sorted(listEventType.items(), key=lambda t: t[0]), key=lambda u: len(u[0]))) - + listEventType.update({node.nodeId: node}) + return collections.OrderedDict( + sorted(sorted(listEventType.items(), key=lambda t: t[0]), key=lambda u: len(u[0]))) diff --git a/schemas/generate_statuscode.py b/schemas/generate_statuscode.py index 7ae98c758..1737bc174 100644 --- a/schemas/generate_statuscode.py +++ b/schemas/generate_statuscode.py @@ -1,58 +1,59 @@ -# Load values from StatusCode.csv and then -# add values from StatusCodes_add.csv, but only -# if they are absent from StatusCode.csv -def status_codes(): - inputfile = open("StatusCodes_add.csv") - additional = {} - for line in inputfile: - name, val, doc = line.split(",", 2) - additional[int(val, 0)] = (name, val, doc) - inputfile = open("StatusCode.csv") - result = [] - for line in inputfile: - name, val, doc = line.split(",", 2) - result.append((name, val, doc)) - additional.pop(int(val, 0), None) - add = [ additional[k] for k in sorted(additional.keys()) ] +def status_codes(): + """ + Load values from StatusCode.csv and then + add values from StatusCodes_add.csv, but only + if they are absent from StatusCode.csv + """ + with open("StatusCodes_add.csv") as inputfile: + additional = {} + for line in inputfile: + name, val, doc = line.split(",", 2) + additional[int(val, 0)] = (name, val, doc) + + with open("StatusCode.csv") as inputfile: + result = [] + for line in inputfile: + name, val, doc = line.split(",", 2) + result.append((name, val, doc)) + additional.pop(int(val, 0), None) + add = [additional[k] for k in sorted(additional.keys())] return add + result + if __name__ == "__main__": codes = status_codes() - outputfile = open("../opcua/ua/status_codes.py", "w") - outputfile.write("#AUTOGENERATED!!!\n") - outputfile.write("\n") - outputfile.write("from opcua.ua.uaerrors import UaStatusCodeError\n") - #outputfile.write("from enum import Enum\n") - outputfile.write("\n") - - outputfile.write("class StatusCodes(object):\n") - for name, val, doc in codes: - doc = doc.strip() - outputfile.write(" {0} = {1}\n".format(name, val)) - outputfile.write("\n") - outputfile.write("\n") - - outputfile.write("code_to_name_doc = {\n") - for name, val, doc in codes: - doc = doc.strip() - doc = doc.replace("'", '"') - outputfile.write(" {0}: ('{1}', '{2}'),\n".format(val, name, doc)) - outputfile.write("}\n") - outputfile.write("\n") - outputfile.write("\n") - - outputfile.write("""def get_name_and_doc(val): - if val in code_to_name_doc: - return code_to_name_doc[val] - else: - if val & 1 << 31: - return 'Bad', 'Unknown StatusCode value: {}'.format(val) - elif val & 1 << 30: - return 'UncertainIn', 'Unknown StatusCode value: {}'.format(val) + with open("../opcua/ua/status_codes.py", "w") as outputfile: + outputfile.write("#AUTOGENERATED!!!\n") + outputfile.write("\n") + outputfile.write("from opcua.ua.uaerrors import UaStatusCodeError\n") + # outputfile.write("from enum import Enum\n") + outputfile.write("\n") + + outputfile.write("class StatusCodes:\n") + for name, val, doc in codes: + doc = doc.strip() + outputfile.write(" {0} = {1}\n".format(name, val)) + outputfile.write("\n") + outputfile.write("\n") + + outputfile.write("code_to_name_doc = {\n") + for name, val, doc in codes: + doc = doc.strip() + doc = doc.replace("'", '"') + outputfile.write(" {0}: ('{1}', '{2}'),\n".format(val, name, doc)) + outputfile.write("}\n") + outputfile.write("\n") + outputfile.write("\n") + + outputfile.write("""def get_name_and_doc(val): + if val in code_to_name_doc: + return code_to_name_doc[val] else: - return 'Good', 'Unknown StatusCode value: {}'.format(val) -""") - - - + if val & 1 << 31: + return 'Bad', 'Unknown StatusCode value: {}'.format(val) + elif val & 1 << 30: + return 'UncertainIn', 'Unknown StatusCode value: {}'.format(val) + else: + return 'Good', 'Unknown StatusCode value: {}'.format(val) + """) From bc15b016a66c65133b720defff234c8ca0b86927 Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Sat, 4 Aug 2018 16:11:33 +0200 Subject: [PATCH 112/113] fix generate_address_space typo --- .../standard_address_space_part5.py | 342 +++++++++--------- .../standard_address_space_part9.py | 32 +- schemas/generate_address_space.py | 4 +- 3 files changed, 189 insertions(+), 189 deletions(-) diff --git a/opcua/server/standard_address_space/standard_address_space_part5.py b/opcua/server/standard_address_space/standard_address_space_part5.py index 2e1c1309f..d126adbc7 100644 --- a/opcua/server/standard_address_space/standard_address_space_part5.py +++ b/opcua/server/standard_address_space/standard_address_space_part5.py @@ -4169,7 +4169,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = SubscriptionId + extobj.Name = 'SubscriptionId' extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) @@ -4213,12 +4213,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = ServerHandles + extobj.Name = 'ServerHandles' extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = 1 value.append(extobj) extobj = ua.Argument() - extobj.Name = ClientHandles + extobj.Name = 'ClientHandles' extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = 1 value.append(extobj) @@ -4296,7 +4296,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = SubscriptionId + extobj.Name = 'SubscriptionId' extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) @@ -4381,12 +4381,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = SubscriptionId + extobj.Name = 'SubscriptionId' extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = LifetimeInHours + extobj.Name = 'LifetimeInHours' extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) @@ -4430,7 +4430,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RevisedLifetimeInHours + extobj.Name = 'RevisedLifetimeInHours' extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) @@ -4508,27 +4508,27 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = State + extobj.Name = 'State' extobj.DataType = NumericNodeId(852, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = EstimatedReturnTime + extobj.Name = 'EstimatedReturnTime' extobj.DataType = NumericNodeId(13, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = SecondsTillShutdown + extobj.Name = 'SecondsTillShutdown' extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = Reason + extobj.Name = 'Reason' extobj.DataType = NumericNodeId(21, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = Restart + extobj.Name = 'Restart' extobj.DataType = NumericNodeId(1, 0) extobj.ValueRank = -1 value.append(extobj) @@ -5319,12 +5319,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RoleName + extobj.Name = 'RoleName' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = NamespaceUri + extobj.Name = 'NamespaceUri' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -5368,7 +5368,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RoleNodeId + extobj.Name = 'RoleNodeId' extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) @@ -5446,7 +5446,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RoleNodeId + extobj.Name = 'RoleNodeId' extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) @@ -12603,7 +12603,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = Mode + extobj.Name = 'Mode' extobj.DataType = NumericNodeId(3, 0) extobj.ValueRank = -1 value.append(extobj) @@ -12647,7 +12647,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = FileHandle + extobj.Name = 'FileHandle' extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) @@ -12725,7 +12725,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = FileHandle + extobj.Name = 'FileHandle' extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) @@ -12810,12 +12810,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = FileHandle + extobj.Name = 'FileHandle' extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = Length + extobj.Name = 'Length' extobj.DataType = NumericNodeId(6, 0) extobj.ValueRank = -1 value.append(extobj) @@ -12859,7 +12859,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = Data + extobj.Name = 'Data' extobj.DataType = NumericNodeId(15, 0) extobj.ValueRank = -1 value.append(extobj) @@ -12937,12 +12937,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = FileHandle + extobj.Name = 'FileHandle' extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = Data + extobj.Name = 'Data' extobj.DataType = NumericNodeId(15, 0) extobj.ValueRank = -1 value.append(extobj) @@ -13027,7 +13027,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = FileHandle + extobj.Name = 'FileHandle' extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) @@ -13071,7 +13071,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = Position + extobj.Name = 'Position' extobj.DataType = NumericNodeId(9, 0) extobj.ValueRank = -1 value.append(extobj) @@ -13149,12 +13149,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = FileHandle + extobj.Name = 'FileHandle' extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = Position + extobj.Name = 'Position' extobj.DataType = NumericNodeId(9, 0) extobj.ValueRank = -1 value.append(extobj) @@ -13920,7 +13920,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = Mode + extobj.Name = 'Mode' extobj.DataType = NumericNodeId(3, 0) extobj.ValueRank = -1 value.append(extobj) @@ -13964,7 +13964,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = FileHandle + extobj.Name = 'FileHandle' extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) @@ -14042,7 +14042,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = FileHandle + extobj.Name = 'FileHandle' extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) @@ -14127,12 +14127,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = FileHandle + extobj.Name = 'FileHandle' extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = Length + extobj.Name = 'Length' extobj.DataType = NumericNodeId(6, 0) extobj.ValueRank = -1 value.append(extobj) @@ -14176,7 +14176,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = Data + extobj.Name = 'Data' extobj.DataType = NumericNodeId(15, 0) extobj.ValueRank = -1 value.append(extobj) @@ -14254,12 +14254,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = FileHandle + extobj.Name = 'FileHandle' extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = Data + extobj.Name = 'Data' extobj.DataType = NumericNodeId(15, 0) extobj.ValueRank = -1 value.append(extobj) @@ -14344,7 +14344,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = FileHandle + extobj.Name = 'FileHandle' extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) @@ -14388,7 +14388,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = Position + extobj.Name = 'Position' extobj.DataType = NumericNodeId(9, 0) extobj.ValueRank = -1 value.append(extobj) @@ -14466,12 +14466,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = FileHandle + extobj.Name = 'FileHandle' extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = Position + extobj.Name = 'Position' extobj.DataType = NumericNodeId(9, 0) extobj.ValueRank = -1 value.append(extobj) @@ -29761,12 +29761,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RoleName + extobj.Name = 'RoleName' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = NamespaceUri + extobj.Name = 'NamespaceUri' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -29803,7 +29803,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RoleNodeId + extobj.Name = 'RoleNodeId' extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) @@ -29867,7 +29867,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RoleNodeId + extobj.Name = 'RoleNodeId' extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) @@ -30954,7 +30954,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = SubscriptionId + extobj.Name = 'SubscriptionId' extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) @@ -30991,12 +30991,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = ServerHandles + extobj.Name = 'ServerHandles' extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = 1 value.append(extobj) extobj = ua.Argument() - extobj.Name = ClientHandles + extobj.Name = 'ClientHandles' extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = 1 value.append(extobj) @@ -31060,7 +31060,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = SubscriptionId + extobj.Name = 'SubscriptionId' extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) @@ -31131,12 +31131,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = SubscriptionId + extobj.Name = 'SubscriptionId' extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = LifetimeInHours + extobj.Name = 'LifetimeInHours' extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) @@ -31173,7 +31173,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RevisedLifetimeInHours + extobj.Name = 'RevisedLifetimeInHours' extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) @@ -31237,27 +31237,27 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = State + extobj.Name = 'State' extobj.DataType = NumericNodeId(852, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = EstimatedReturnTime + extobj.Name = 'EstimatedReturnTime' extobj.DataType = NumericNodeId(13, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = SecondsTillShutdown + extobj.Name = 'SecondsTillShutdown' extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = Reason + extobj.Name = 'Reason' extobj.DataType = NumericNodeId(21, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = Restart + extobj.Name = 'Restart' extobj.DataType = NumericNodeId(1, 0) extobj.ValueRank = -1 value.append(extobj) @@ -33156,7 +33156,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = DirectoryName + extobj.Name = 'DirectoryName' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -33200,7 +33200,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = DirectoryNodeId + extobj.Name = 'DirectoryNodeId' extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) @@ -33285,12 +33285,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = FileName + extobj.Name = 'FileName' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = RequestFileOpen + extobj.Name = 'RequestFileOpen' extobj.DataType = NumericNodeId(1, 0) extobj.ValueRank = -1 value.append(extobj) @@ -33334,12 +33334,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = FileNodeId + extobj.Name = 'FileNodeId' extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = FileHandle + extobj.Name = 'FileHandle' extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) @@ -33417,7 +33417,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = ObjectToDelete + extobj.Name = 'ObjectToDelete' extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) @@ -33502,22 +33502,22 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = ObjectToMoveOrCopy + extobj.Name = 'ObjectToMoveOrCopy' extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = TargetDirectory + extobj.Name = 'TargetDirectory' extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = CreateCopy + extobj.Name = 'CreateCopy' extobj.DataType = NumericNodeId(1, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = NewName + extobj.Name = 'NewName' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -33561,7 +33561,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = NewNodeId + extobj.Name = 'NewNodeId' extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) @@ -33904,7 +33904,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = Mode + extobj.Name = 'Mode' extobj.DataType = NumericNodeId(3, 0) extobj.ValueRank = -1 value.append(extobj) @@ -33948,7 +33948,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = FileHandle + extobj.Name = 'FileHandle' extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) @@ -34026,7 +34026,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = FileHandle + extobj.Name = 'FileHandle' extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) @@ -34111,12 +34111,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = FileHandle + extobj.Name = 'FileHandle' extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = Length + extobj.Name = 'Length' extobj.DataType = NumericNodeId(6, 0) extobj.ValueRank = -1 value.append(extobj) @@ -34160,7 +34160,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = Data + extobj.Name = 'Data' extobj.DataType = NumericNodeId(15, 0) extobj.ValueRank = -1 value.append(extobj) @@ -34238,12 +34238,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = FileHandle + extobj.Name = 'FileHandle' extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = Data + extobj.Name = 'Data' extobj.DataType = NumericNodeId(15, 0) extobj.ValueRank = -1 value.append(extobj) @@ -34328,7 +34328,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = FileHandle + extobj.Name = 'FileHandle' extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) @@ -34372,7 +34372,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = Position + extobj.Name = 'Position' extobj.DataType = NumericNodeId(9, 0) extobj.ValueRank = -1 value.append(extobj) @@ -34450,12 +34450,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = FileHandle + extobj.Name = 'FileHandle' extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = Position + extobj.Name = 'Position' extobj.DataType = NumericNodeId(9, 0) extobj.ValueRank = -1 value.append(extobj) @@ -34540,7 +34540,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = DirectoryName + extobj.Name = 'DirectoryName' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -34584,7 +34584,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = DirectoryNodeId + extobj.Name = 'DirectoryNodeId' extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) @@ -34669,12 +34669,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = FileName + extobj.Name = 'FileName' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = RequestFileOpen + extobj.Name = 'RequestFileOpen' extobj.DataType = NumericNodeId(1, 0) extobj.ValueRank = -1 value.append(extobj) @@ -34718,12 +34718,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = FileNodeId + extobj.Name = 'FileNodeId' extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = FileHandle + extobj.Name = 'FileHandle' extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) @@ -34801,7 +34801,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = ObjectToDelete + extobj.Name = 'ObjectToDelete' extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) @@ -34886,22 +34886,22 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = ObjectToMoveOrCopy + extobj.Name = 'ObjectToMoveOrCopy' extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = TargetDirectory + extobj.Name = 'TargetDirectory' extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = CreateCopy + extobj.Name = 'CreateCopy' extobj.DataType = NumericNodeId(1, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = NewName + extobj.Name = 'NewName' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -34945,7 +34945,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = NewNodeId + extobj.Name = 'NewNodeId' extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) @@ -35071,7 +35071,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = DirectoryName + extobj.Name = 'DirectoryName' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -35108,7 +35108,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = DirectoryNodeId + extobj.Name = 'DirectoryNodeId' extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) @@ -35179,12 +35179,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = FileName + extobj.Name = 'FileName' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = RequestFileOpen + extobj.Name = 'RequestFileOpen' extobj.DataType = NumericNodeId(1, 0) extobj.ValueRank = -1 value.append(extobj) @@ -35221,12 +35221,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = FileNodeId + extobj.Name = 'FileNodeId' extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = FileHandle + extobj.Name = 'FileHandle' extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) @@ -35290,7 +35290,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = ObjectToDelete + extobj.Name = 'ObjectToDelete' extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) @@ -35361,22 +35361,22 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = ObjectToMoveOrCopy + extobj.Name = 'ObjectToMoveOrCopy' extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = TargetDirectory + extobj.Name = 'TargetDirectory' extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = CreateCopy + extobj.Name = 'CreateCopy' extobj.DataType = NumericNodeId(1, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = NewName + extobj.Name = 'NewName' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -35413,7 +35413,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = NewNodeId + extobj.Name = 'NewNodeId' extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) @@ -35584,7 +35584,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = GenerateOptions + extobj.Name = 'GenerateOptions' extobj.DataType = NumericNodeId(24, 0) extobj.ValueRank = -1 value.append(extobj) @@ -35628,17 +35628,17 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = FileNodeId + extobj.Name = 'FileNodeId' extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = FileHandle + extobj.Name = 'FileHandle' extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = CompletionStateMachine + extobj.Name = 'CompletionStateMachine' extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) @@ -35723,7 +35723,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = GenerateOptions + extobj.Name = 'GenerateOptions' extobj.DataType = NumericNodeId(24, 0) extobj.ValueRank = -1 value.append(extobj) @@ -35767,12 +35767,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = FileNodeId + extobj.Name = 'FileNodeId' extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = FileHandle + extobj.Name = 'FileHandle' extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) @@ -35857,7 +35857,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = FileHandle + extobj.Name = 'FileHandle' extobj.DataType = NumericNodeId(7, 0) extobj.ValueRank = -1 value.append(extobj) @@ -35901,7 +35901,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = CompletionStateMachine + extobj.Name = 'CompletionStateMachine' extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) @@ -37757,12 +37757,12 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RoleName + extobj.Name = 'RoleName' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) extobj = ua.Argument() - extobj.Name = NamespaceUri + extobj.Name = 'NamespaceUri' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -37806,7 +37806,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RoleNodeId + extobj.Name = 'RoleNodeId' extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) @@ -37884,7 +37884,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RoleNodeId + extobj.Name = 'RoleNodeId' extobj.DataType = NumericNodeId(17, 0) extobj.ValueRank = -1 value.append(extobj) @@ -38245,7 +38245,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToAdd + extobj.Name = 'RuleToAdd' extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) @@ -38323,7 +38323,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToRemove + extobj.Name = 'RuleToRemove' extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) @@ -38401,7 +38401,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToAdd + extobj.Name = 'RuleToAdd' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -38479,7 +38479,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToRemove + extobj.Name = 'RuleToRemove' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -38557,7 +38557,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToAdd + extobj.Name = 'RuleToAdd' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -38635,7 +38635,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToRemove + extobj.Name = 'RuleToRemove' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -39094,7 +39094,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToAdd + extobj.Name = 'RuleToAdd' extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) @@ -39158,7 +39158,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToRemove + extobj.Name = 'RuleToRemove' extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) @@ -39222,7 +39222,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToAdd + extobj.Name = 'RuleToAdd' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -39286,7 +39286,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToRemove + extobj.Name = 'RuleToRemove' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -39350,7 +39350,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToAdd + extobj.Name = 'RuleToAdd' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -39414,7 +39414,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToRemove + extobj.Name = 'RuleToRemove' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -39735,7 +39735,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToAdd + extobj.Name = 'RuleToAdd' extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) @@ -39799,7 +39799,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToRemove + extobj.Name = 'RuleToRemove' extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) @@ -39863,7 +39863,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToAdd + extobj.Name = 'RuleToAdd' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -39927,7 +39927,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToRemove + extobj.Name = 'RuleToRemove' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -39991,7 +39991,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToAdd + extobj.Name = 'RuleToAdd' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -40055,7 +40055,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToRemove + extobj.Name = 'RuleToRemove' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -40376,7 +40376,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToAdd + extobj.Name = 'RuleToAdd' extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) @@ -40440,7 +40440,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToRemove + extobj.Name = 'RuleToRemove' extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) @@ -40504,7 +40504,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToAdd + extobj.Name = 'RuleToAdd' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -40568,7 +40568,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToRemove + extobj.Name = 'RuleToRemove' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -40632,7 +40632,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToAdd + extobj.Name = 'RuleToAdd' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -40696,7 +40696,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToRemove + extobj.Name = 'RuleToRemove' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -41017,7 +41017,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToAdd + extobj.Name = 'RuleToAdd' extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) @@ -41081,7 +41081,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToRemove + extobj.Name = 'RuleToRemove' extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) @@ -41145,7 +41145,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToAdd + extobj.Name = 'RuleToAdd' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -41209,7 +41209,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToRemove + extobj.Name = 'RuleToRemove' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -41273,7 +41273,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToAdd + extobj.Name = 'RuleToAdd' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -41337,7 +41337,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToRemove + extobj.Name = 'RuleToRemove' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -41658,7 +41658,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToAdd + extobj.Name = 'RuleToAdd' extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) @@ -41722,7 +41722,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToRemove + extobj.Name = 'RuleToRemove' extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) @@ -41786,7 +41786,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToAdd + extobj.Name = 'RuleToAdd' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -41850,7 +41850,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToRemove + extobj.Name = 'RuleToRemove' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -41914,7 +41914,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToAdd + extobj.Name = 'RuleToAdd' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -41978,7 +41978,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToRemove + extobj.Name = 'RuleToRemove' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -42299,7 +42299,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToAdd + extobj.Name = 'RuleToAdd' extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) @@ -42363,7 +42363,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToRemove + extobj.Name = 'RuleToRemove' extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) @@ -42427,7 +42427,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToAdd + extobj.Name = 'RuleToAdd' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -42491,7 +42491,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToRemove + extobj.Name = 'RuleToRemove' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -42555,7 +42555,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToAdd + extobj.Name = 'RuleToAdd' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -42619,7 +42619,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToRemove + extobj.Name = 'RuleToRemove' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -42940,7 +42940,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToAdd + extobj.Name = 'RuleToAdd' extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) @@ -43004,7 +43004,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToRemove + extobj.Name = 'RuleToRemove' extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) @@ -43068,7 +43068,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToAdd + extobj.Name = 'RuleToAdd' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -43132,7 +43132,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToRemove + extobj.Name = 'RuleToRemove' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -43196,7 +43196,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToAdd + extobj.Name = 'RuleToAdd' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -43260,7 +43260,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToRemove + extobj.Name = 'RuleToRemove' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -43581,7 +43581,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToAdd + extobj.Name = 'RuleToAdd' extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) @@ -43645,7 +43645,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToRemove + extobj.Name = 'RuleToRemove' extobj.DataType = NumericNodeId(15634, 0) extobj.ValueRank = -1 value.append(extobj) @@ -43709,7 +43709,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToAdd + extobj.Name = 'RuleToAdd' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -43773,7 +43773,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToRemove + extobj.Name = 'RuleToRemove' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -43837,7 +43837,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToAdd + extobj.Name = 'RuleToAdd' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) @@ -43901,7 +43901,7 @@ def create_standard_address_space_Part5(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = RuleToRemove + extobj.Name = 'RuleToRemove' extobj.DataType = NumericNodeId(12, 0) extobj.ValueRank = -1 value.append(extobj) diff --git a/opcua/server/standard_address_space/standard_address_space_part9.py b/opcua/server/standard_address_space/standard_address_space_part9.py index 9a347bbcc..ddd12c661 100644 --- a/opcua/server/standard_address_space/standard_address_space_part9.py +++ b/opcua/server/standard_address_space/standard_address_space_part9.py @@ -1510,13 +1510,13 @@ def create_standard_address_space_Part9(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = EventId + extobj.Name = 'EventId' extobj.DataType = NumericNodeId(15, 0) extobj.ValueRank = -1 extobj.Description.Text = 'The identifier for the event to comment.' value.append(extobj) extobj = ua.Argument() - extobj.Name = Comment + extobj.Name = 'Comment' extobj.DataType = NumericNodeId(21, 0) extobj.ValueRank = -1 extobj.Description.Text = 'The comment to add to the condition.' @@ -1602,7 +1602,7 @@ def create_standard_address_space_Part9(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = SubscriptionId + extobj.Name = 'SubscriptionId' extobj.DataType = NumericNodeId(288, 0) extobj.ValueRank = -1 extobj.Description.Text = 'The identifier for the suscription to refresh.' @@ -1688,13 +1688,13 @@ def create_standard_address_space_Part9(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = SubscriptionId + extobj.Name = 'SubscriptionId' extobj.DataType = NumericNodeId(288, 0) extobj.ValueRank = -1 extobj.Description.Text = 'The identifier for the suscription to refresh.' value.append(extobj) extobj = ua.Argument() - extobj.Name = MonitoredItemId + extobj.Name = 'MonitoredItemId' extobj.DataType = NumericNodeId(288, 0) extobj.ValueRank = -1 extobj.Description.Text = 'The identifier for the monitored item to refresh.' @@ -2396,7 +2396,7 @@ def create_standard_address_space_Part9(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = SelectedResponse + extobj.Name = 'SelectedResponse' extobj.DataType = NumericNodeId(6, 0) extobj.ValueRank = -1 extobj.Description.Text = 'The response to the dialog condition.' @@ -3077,13 +3077,13 @@ def create_standard_address_space_Part9(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = EventId + extobj.Name = 'EventId' extobj.DataType = NumericNodeId(15, 0) extobj.ValueRank = -1 extobj.Description.Text = 'The identifier for the event to comment.' value.append(extobj) extobj = ua.Argument() - extobj.Name = Comment + extobj.Name = 'Comment' extobj.DataType = NumericNodeId(21, 0) extobj.ValueRank = -1 extobj.Description.Text = 'The comment to add to the condition.' @@ -3169,13 +3169,13 @@ def create_standard_address_space_Part9(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = EventId + extobj.Name = 'EventId' extobj.DataType = NumericNodeId(15, 0) extobj.ValueRank = -1 extobj.Description.Text = 'The identifier for the event to comment.' value.append(extobj) extobj = ua.Argument() - extobj.Name = Comment + extobj.Name = 'Comment' extobj.DataType = NumericNodeId(21, 0) extobj.ValueRank = -1 extobj.Description.Text = 'The comment to add to the condition.' @@ -4671,7 +4671,7 @@ def create_standard_address_space_Part9(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = ShelvingTime + extobj.Name = 'ShelvingTime' extobj.DataType = NumericNodeId(290, 0) extobj.ValueRank = -1 extobj.Description.Text = 'If not 0, this parameter specifies a fixed time for which the Alarm is to be shelved.' @@ -7073,13 +7073,13 @@ def create_standard_address_space_Part9(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = EventId + extobj.Name = 'EventId' extobj.DataType = NumericNodeId(15, 0) extobj.ValueRank = -1 extobj.Description.Text = 'The identifier for the event to comment.' value.append(extobj) extobj = ua.Argument() - extobj.Name = Comment + extobj.Name = 'Comment' extobj.DataType = NumericNodeId(21, 0) extobj.ValueRank = -1 extobj.Description.Text = 'The comment to add to the condition.' @@ -7246,13 +7246,13 @@ def create_standard_address_space_Part9(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = EventId + extobj.Name = 'EventId' extobj.DataType = NumericNodeId(15, 0) extobj.ValueRank = -1 extobj.Description.Text = 'The identifier for the event to comment.' value.append(extobj) extobj = ua.Argument() - extobj.Name = Comment + extobj.Name = 'Comment' extobj.DataType = NumericNodeId(21, 0) extobj.ValueRank = -1 extobj.Description.Text = 'The comment to add to the condition.' @@ -8565,7 +8565,7 @@ def create_standard_address_space_Part9(server): attrs.DataType = NumericNodeId(296, 0) value = [] extobj = ua.Argument() - extobj.Name = ShelvingTime + extobj.Name = 'ShelvingTime' extobj.DataType = NumericNodeId(290, 0) extobj.ValueRank = -1 extobj.Description.Text = 'If not 0, this parameter specifies a fixed time for which the Alarm is to be shelved.' diff --git a/schemas/generate_address_space.py b/schemas/generate_address_space.py index 4267fdb58..430a218c2 100644 --- a/schemas/generate_address_space.py +++ b/schemas/generate_address_space.py @@ -222,7 +222,7 @@ def make_ext_obj_code(self, indent, extobj): for k, v in val: if type(v) is str: val = _to_val([extobj.objname], k, v) - self.writecode(indent, f'extobj.{k} = {v}') + self.writecode(indent, f'extobj.{k} = {val}') else: if k == "DataType": #hack for strange nodeid xml format self.writecode(indent, 'extobj.{0} = {1}'.format(k, nodeid_code(v[0][1]))) @@ -320,7 +320,7 @@ def make_refs_code(self, obj, indent): def save_aspace_to_disk(): import os.path path = os.path.join('..', 'opcua', 'binary_address_space.pickle') - print('Savind standard address space to:', path) + print('Saving standard address space to:', path) sys.path.append('..') from opcua.server.standard_address_space import standard_address_space from opcua.server.address_space import NodeManagementService, AddressSpace From 60c4f4e9b11091752f4545a5f08c9e36a906226e Mon Sep 17 00:00:00 2001 From: Christian Bergmiller Date: Sun, 5 Aug 2018 20:02:43 +0200 Subject: [PATCH 113/113] cleanup, test refactoring, xml import/export with threadpool executor --- examples/client-events.py | 43 ++++++------- examples/client-example.py | 1 - examples/client-minimal.py | 4 +- examples/client-subscription.py | 34 +++++----- examples/server-events.py | 7 +- examples/test_perf.py | 5 +- opcua/client/client.py | 2 +- opcua/common/connection.py | 4 +- opcua/common/xmlexporter.py | 12 ++-- opcua/common/xmlimporter.py | 4 +- opcua/common/xmlparser.py | 38 +++++++---- opcua/compat.py | 7 -- opcua/server/__init__.py | 4 +- opcua/server/history.py | 10 +-- opcua/server/history_sql.py | 103 +++++++----------------------- opcua/server/server.py | 2 +- opcua/ua/uaerrors/_base.py | 6 +- schemas/generate_address_space.py | 7 +- tests/conftest.py | 19 ++++-- tests/test_common.py | 4 +- tests/test_unit.py | 55 ++++++---------- 21 files changed, 153 insertions(+), 218 deletions(-) delete mode 100644 opcua/compat.py diff --git a/examples/client-events.py b/examples/client-events.py index ec40aa60d..d8e4f9f88 100644 --- a/examples/client-events.py +++ b/examples/client-events.py @@ -7,7 +7,7 @@ _logger = logging.getLogger('opcua') -class SubHandler(object): +class SubHandler: """ Subscription Handler. To receive events from server for a subscription data_change and event methods are called directly from receiving thread. @@ -15,40 +15,37 @@ class SubHandler(object): thread if you need to do such a thing """ def event_notification(self, event): - print("New event recived: ", event) + _logger.info("New event received: %r", event) -async def task(loop): - # url = "opc.tcp://commsvr.com:51234/UA/CAS_UA_Server" +async def task(): url = "opc.tcp://localhost:4840/freeopcua/server/" # url = "opc.tcp://admin@localhost:4840/freeopcua/server/" #connect using a user - try: - async with Client(url=url) as client: - # Client has a few methods to get proxy to UA nodes that should always be in address space such as Root or Objects - root = client.get_root_node() - _logger.info("Objects node is: %r", root) - # Now getting a variable node using its browse path - obj = await root.get_child(["0:Objects", "2:MyObject"]) - _logger.info("MyObject is: %r", obj) + async with Client(url=url) as client: + # Client has a few methods to get proxy to UA nodes that should always be in address space such as Root or Objects + root = client.get_root_node() + _logger.info("Objects node is: %r", root) - myevent = await root.get_child(["0:Types", "0:EventTypes", "0:BaseEventType", "2:MyFirstEvent"]) - _logger.info("MyFirstEventType is: %r", myevent) + # Now getting a variable node using its browse path + obj = await root.get_child(["0:Objects", "2:MyObject"]) + _logger.info("MyObject is: %r", obj) - msclt = SubHandler() - sub = await client.create_subscription(100, msclt) - handle = await sub.subscribe_events(obj, myevent) - await sub.unsubscribe(handle) - await sub.delete() - except Exception: - _logger.exception('Error') - loop.stop() + myevent = await root.get_child(["0:Types", "0:EventTypes", "0:BaseEventType", "2:MyFirstEvent"]) + _logger.info("MyFirstEventType is: %r", myevent) + + msclt = SubHandler() + sub = await client.create_subscription(100, msclt) + handle = await sub.subscribe_events(obj, myevent) + await asyncio.sleep(10) + await sub.unsubscribe(handle) + await sub.delete() def main(): loop = asyncio.get_event_loop() loop.set_debug(True) - loop.run_until_complete(task(loop)) + loop.run_until_complete(task()) loop.close() diff --git a/examples/client-example.py b/examples/client-example.py index 072c1f82c..57a023909 100644 --- a/examples/client-example.py +++ b/examples/client-example.py @@ -10,7 +10,6 @@ class SubHandler(object): - """ Subscription Handler. To receive events from server for a subscription data_change and event methods are called directly from receiving thread. diff --git a/examples/client-minimal.py b/examples/client-minimal.py index 5a51ad21e..fc5a0313e 100644 --- a/examples/client-minimal.py +++ b/examples/client-minimal.py @@ -35,8 +35,8 @@ async def browse_nodes(node: Node): async def task(loop): - url = 'opc.tcp://192.168.2.64:4840' - # url = 'opc.tcp://localhost:4840/freeopcua/server/' + # url = 'opc.tcp://192.168.2.64:4840' + url = 'opc.tcp://localhost:4840/freeopcua/server/' # url = 'opc.tcp://commsvr.com:51234/UA/CAS_UA_Server' try: async with Client(url=url) as client: diff --git a/examples/client-subscription.py b/examples/client-subscription.py index e4225a08d..f85bfb3e2 100644 --- a/examples/client-subscription.py +++ b/examples/client-subscription.py @@ -17,32 +17,32 @@ def datachange_notification(self, node: Node, val, data): async def task(loop): - url = 'opc.tcp://192.168.2.213:4840' - # url = 'opc.tcp://localhost:4840/freeopcua/server/' + url = 'opc.tcp://localhost:4840/freeopcua/server/' client = Client(url=url) client.set_user('test') client.set_password('test') # client.set_security_string() - await client.connect() - # Client has a few methods to get proxy to UA nodes that should always be in address space such as Root or Objects - root = client.get_root_node() - _logger.info('Objects node is: %r', root) - - # Node objects have methods to read and write node attributes as well as browse or populate address space - _logger.info('Children of root are: %r', await root.get_children()) - handler = SubscriptionHandler() - subscription = await client.create_subscription(500, handler) - nodes = [ - client.get_node('ns=1;i=6') - ] - await subscription.subscribe_data_change(nodes) + async with client: + # Client has a few methods to get proxy to UA nodes that should always be in address space such as Root or Objects + root = client.get_root_node() + _logger.info('Objects node is: %r', root) + + # Node objects have methods to read and write node attributes as well as browse or populate address space + _logger.info('Children of root are: %r', await root.get_children()) + handler = SubscriptionHandler() + subscription = await client.create_subscription(500, handler) + nodes = [ + client.get_node('ns=1;i=6'), + client.get_node(ua.ObjectIds.Server_ServerStatus_CurrentTime), + ] + await subscription.subscribe_data_change(nodes) + await asyncio.sleep(10) def main(): loop = asyncio.get_event_loop() loop.set_debug(True) - loop.create_task(task(loop)) - loop.run_forever() + loop.run_until_complete(task(loop)) loop.close() diff --git a/examples/server-events.py b/examples/server-events.py index bf8b33a70..939804062 100644 --- a/examples/server-events.py +++ b/examples/server-events.py @@ -49,8 +49,11 @@ def main(): loop = asyncio.get_event_loop() loop.set_debug(True) loop.create_task(start_server(loop)) - loop.run_forever() - loop.close() + try: + loop.run_forever() + finally: + loop.run_until_complete(loop.shutdown_asyncgens()) + loop.close() if __name__ == "__main__": diff --git a/examples/test_perf.py b/examples/test_perf.py index 90ae1bb72..d0be44582 100644 --- a/examples/test_perf.py +++ b/examples/test_perf.py @@ -1,12 +1,9 @@ import sys sys.path.insert(0, "..") -import time - -from opcua import ua, Server +from opcua import Server import cProfile -import re def mymain(): diff --git a/opcua/client/client.py b/opcua/client/client.py index 3e8dc4f63..06941d059 100644 --- a/opcua/client/client.py +++ b/opcua/client/client.py @@ -534,7 +534,7 @@ async def export_xml(self, nodes, path): """ exp = XmlExporter(self) await exp.build_etree(nodes) - return exp.write_xml(path) + await exp.write_xml(path) async def register_namespace(self, uri): """ diff --git a/opcua/common/connection.py b/opcua/common/connection.py index f93fdfc58..85e8214fd 100644 --- a/opcua/common/connection.py +++ b/opcua/common/connection.py @@ -28,8 +28,8 @@ def __init__(self, security_policy, body=b'', msg_type=ua.MessageType.SecureMess self.security_policy = security_policy @staticmethod - async def from_binary(security_policy, data): - h = await header_from_binary(data) + def from_binary(security_policy, data): + h = header_from_binary(data) return MessageChunk.from_header_and_body(security_policy, h, data) @staticmethod diff --git a/opcua/common/xmlexporter.py b/opcua/common/xmlexporter.py index 2a4f522fa..4c5066257 100644 --- a/opcua/common/xmlexporter.py +++ b/opcua/common/xmlexporter.py @@ -2,7 +2,9 @@ from a list of nodes in the address space, build an XML file format is the one from opc-ua specification """ +import asyncio import logging +import functools from collections import OrderedDict import xml.etree.ElementTree as Et from copy import copy @@ -19,7 +21,6 @@ class XmlExporter: """ If it is required that for _extobj_to_etree members to the value should be written in a certain order it can be added to the dictionary below. - ToDo: Run `ElementTree` methods with thread pool executor """ extobj_ordered_elements = { ua.NodeId(ua.ObjectIds.Argument): [ @@ -106,7 +107,7 @@ def _add_idxs_from_uris(self, idxs, uris, ns_array): if i not in idxs: idxs.append(i) - def write_xml(self, xmlpath, pretty=True): + async def write_xml(self, xmlpath, pretty=True): """ Write the XML etree in the exporter object to a file Args: @@ -116,13 +117,10 @@ def write_xml(self, xmlpath, pretty=True): """ # try to write the XML etree to a file self.logger.info('Exporting XML file to %s', xmlpath) - # from IPython import embed - # embed() if pretty: self.indent(self.etree.getroot()) - self.etree.write(xmlpath, encoding='utf-8', xml_declaration=True) - else: - self.etree.write(xmlpath, encoding='utf-8', xml_declaration=True) + func = functools.partial(self.etree.write, xmlpath, encoding='utf-8', xml_declaration=True) + await asyncio.get_event_loop().run_in_executor(None, func) def dump_etree(self): """ diff --git a/opcua/common/xmlimporter.py b/opcua/common/xmlimporter.py index fe267ca11..5dc6a0d6a 100644 --- a/opcua/common/xmlimporter.py +++ b/opcua/common/xmlimporter.py @@ -49,8 +49,8 @@ async def import_xml(self, xmlpath=None, xmlstring=None): import xml and return added nodes """ self.logger.info("Importing XML file %s", xmlpath) - self.parser = XMLParser(xmlpath, xmlstring) - + self.parser = XMLParser() + await self.parser.parse(xmlpath, xmlstring) self.namespaces = await self._map_namespaces(self.parser.get_used_namespaces()) self.aliases = self._map_aliases(self.parser.get_aliases()) self.refs = [] diff --git a/opcua/common/xmlparser.py b/opcua/common/xmlparser.py index bae3326e8..3334a49b6 100644 --- a/opcua/common/xmlparser.py +++ b/opcua/common/xmlparser.py @@ -1,10 +1,12 @@ """ parse xml file from opcua-spec """ -import logging -from pytz import utc import re +import asyncio import base64 +import logging +from pytz import utc + import xml.etree.ElementTree as ET @@ -28,7 +30,7 @@ def _to_bool(val): return ua_type_to_python(val, "Boolean") -class NodeData(object): +class NodeData: def __init__(self): self.nodetype = None @@ -68,7 +70,7 @@ def __str__(self): __repr__ = __str__ -class RefStruct(object): +class RefStruct: def __init__(self): self.reftype = None @@ -76,7 +78,7 @@ def __init__(self): self.target = None -class ExtObj(object): +class ExtObj: def __init__(self): self.typeid = None @@ -90,18 +92,12 @@ def __str__(self): __repr__ = __str__ -class XMLParser(object): +class XMLParser: - def __init__(self, xmlpath=None, xmlstring=None): + def __init__(self): self.logger = logging.getLogger(__name__) self._retag = re.compile(r"(\{.*\})(.*)") - self.path = xmlpath - - if xmlstring: - self.root = ET.fromstring(xmlstring) - else: - self.root = ET.parse(xmlpath).getroot() - + self.root = None # FIXME: hard to get these xml namespaces with ElementTree, we may have to shift to lxml self.ns = { 'base': "http://opcfoundation.org/UA/2011/03/UANodeSet.xsd", @@ -109,6 +105,20 @@ def __init__(self, xmlpath=None, xmlstring=None): 'xsd': "http://www.w3.org/2001/XMLSchema", 'xsi': "http://www.w3.org/2001/XMLSchema-instance" } + + async def parse(self, xmlpath=None, xmlstring=None): + if xmlstring: + self.root = ET.fromstring(xmlstring) + else: + tree = await asyncio.get_event_loop().run_in_executor(None, ET.parse, xmlpath) + self.root = tree.getroot() + + def parse_sync(self, xmlpath=None, xmlstring=None): + if xmlstring: + self.root = ET.fromstring(xmlstring) + else: + tree = ET.parse(xmlpath) + self.root = tree.getroot() def get_used_namespaces(self): """ diff --git a/opcua/compat.py b/opcua/compat.py deleted file mode 100644 index fe223bd16..000000000 --- a/opcua/compat.py +++ /dev/null @@ -1,7 +0,0 @@ -""" Module with Python 2/3 compatibility functions. """ - -def with_metaclass(Meta, *bases): - """ Allows to specify metaclasses in Python 2 and 3 compatible ways. - Might not allow - """ - return Meta("Meta", bases, {}) diff --git a/opcua/server/__init__.py b/opcua/server/__init__.py index a5b0655bb..ea27b9844 100644 --- a/opcua/server/__init__.py +++ b/opcua/server/__init__.py @@ -7,6 +7,8 @@ from .subscription_service import * from .uaprocessor import * from .users import * +from .event_generator import * __all__ = (binary_server_asyncio.__all__ + history.__all__ + history_sql.__all__ + internal_server.__all__ + - internal_subscription.__all__ + server.__all__ + subscription_service.__all__ + uaprocessor.__all__ + users.__all__) + internal_subscription.__all__ + server.__all__ + subscription_service.__all__ + uaprocessor.__all__ + + users.__all__ + event_generator.__all__) diff --git a/opcua/server/history.py b/opcua/server/history.py index aef9dc37e..4b46b2566 100644 --- a/opcua/server/history.py +++ b/opcua/server/history.py @@ -12,7 +12,7 @@ class UaNodeAlreadyHistorizedError(ua.UaError): pass -class HistoryStorageInterface(object): +class HistoryStorageInterface: """ Interface of a history backend. @@ -173,7 +173,7 @@ def stop(self): pass -class SubHandler(object): +class SubHandler: def __init__(self, storage): self.storage = storage @@ -184,7 +184,7 @@ def event_notification(self, event): self.storage.save_event(event) -class HistoryManager(object): +class HistoryManager: def __init__(self, iserver): self.logger = logging.getLogger(__name__) self.iserver = iserver @@ -241,11 +241,11 @@ async def historize_event(self, source, period=timedelta(days=7), count=0): raise ua.UaError("Events from {0} are already historized".format(source)) # get list of all event types that the source node generates; change this to only historize specific events - event_types = source.get_referenced_nodes(ua.ObjectIds.GeneratesEvent) + event_types = await source.get_referenced_nodes(ua.ObjectIds.GeneratesEvent) self.storage.new_historized_event(source.nodeid, event_types, period, count) - handler = self._sub.subscribe_events(source, event_types) + handler = await self._sub.subscribe_events(source, event_types) self._handlers[source] = handler async def dehistorize(self, node): diff --git a/opcua/server/history_sql.py b/opcua/server/history_sql.py index b62122e9c..c1c9b0722 100644 --- a/opcua/server/history_sql.py +++ b/opcua/server/history_sql.py @@ -26,17 +26,13 @@ def __init__(self, path="history.db"): self._db_file = path self._lock = Lock() self._event_fields = {} - self._conn = sqlite3.connect(self._db_file, detect_types=sqlite3.PARSE_DECLTYPES, check_same_thread=False) def new_historized_node(self, node_id, period, count=0): with self._lock: _c_new = self._conn.cursor() - table = self._get_table_name(node_id) - self._datachanges_period[node_id] = period, count - # create a table for the node which will store attributes of the DataValue object # note: Value/VariantType TEXT is only for human reading, the actual data is stored in VariantBinary column try: @@ -49,16 +45,14 @@ def new_historized_node(self, node_id, period, count=0): ' VariantBinary BLOB)'.format(tn=table)) except sqlite3.Error as e: - self.logger.info('Historizing SQL Table Creation Error for %s: %s', node_id, e) + self.logger.info("Historizing SQL Table Creation Error for %s: %s", node_id, e) self._conn.commit() def save_node_value(self, node_id, datavalue): with self._lock: _c_sub = self._conn.cursor() - table = self._get_table_name(node_id) - # insert the data change into the database try: _c_sub.execute('INSERT INTO "{tn}" VALUES (NULL, ?, ?, ?, ?, ?, ?)'.format(tn=table), @@ -72,27 +66,23 @@ def save_node_value(self, node_id, datavalue): ) ) except sqlite3.Error as e: - self.logger.error('Historizing SQL Insert Error for %s: %s', node_id, e) - + self.logger.error("Historizing SQL Insert Error for %s: %s", node_id, e) self._conn.commit() - # get this node's period from the period dict and calculate the limit period, count = self._datachanges_period[node_id] def execute_sql_delete(condition, args): query = ('DELETE FROM "{tn}" WHERE ' + condition).format(tn=table) - try: _c_sub.execute(query, args) except sqlite3.Error as e: - self.logger.error('Historizing SQL Delete Old Data Error for %s: %s', node_id, e) - + self.logger.error("Historizing SQL Delete Old Data Error for %s: %s", node_id, e) self._conn.commit() if period: # after the insert, if a period was specified delete all records older than period date_limit = datetime.utcnow() - period - execute_sql_delete('SourceTimestamp < ?', (date_limit,)) + execute_sql_delete("SourceTimestamp < ?", (date_limit,)) if count: # ensure that no more than count records are stored for the specified node @@ -102,117 +92,94 @@ def execute_sql_delete(condition, args): def read_node_history(self, node_id, start, end, nb_values): with self._lock: _c_read = self._conn.cursor() - table = self._get_table_name(node_id) start_time, end_time, order, limit = self._get_bounds(start, end, nb_values) - cont = None results = [] - # select values from the database; recreate UA Variant from binary try: for row in _c_read.execute('SELECT * FROM "{tn}" WHERE "SourceTimestamp" BETWEEN ? AND ? ' 'ORDER BY "_Id" {dir} LIMIT ?'.format(tn=table, dir=order), (start_time, end_time, limit,)): - # rebuild the data value object dv = ua.DataValue(variant_from_binary(Buffer(row[6]))) dv.SourceTimestamp = row[1] dv.SourceTimestamp = row[2] dv.StatusCode = ua.StatusCode(row[3]) - results.append(dv) except sqlite3.Error as e: - self.logger.error('Historizing SQL Read Error for %s: %s', node_id, e) + self.logger.error("Historizing SQL Read Error for %s: %s", node_id, e) if nb_values: if len(results) > nb_values: cont = results[nb_values].SourceTimestamp - results = results[:nb_values] - return results, cont def new_historized_event(self, source_id, evtypes, period, count=0): with self._lock: _c_new = self._conn.cursor() - # get all fields for the event type nodes ev_fields = self._get_event_fields(evtypes) - self._datachanges_period[source_id] = period self._event_fields[source_id] = ev_fields - table = self._get_table_name(source_id) columns = self._get_event_columns(ev_fields) - # create a table for the event which will store fields generated by the source object's events # note that _Timestamp is for SQL query, _EventTypeName is for debugging, be careful not to create event # properties with these names try: _c_new.execute( 'CREATE TABLE "{tn}" (_Id INTEGER PRIMARY KEY NOT NULL, _Timestamp TIMESTAMP, _EventTypeName TEXT, {co})' - .format(tn=table, co=columns)) - + .format(tn=table, co=columns) + ) except sqlite3.Error as e: - self.logger.info('Historizing SQL Table Creation Error for events from %s: %s', source_id, e) - + self.logger.info("Historizing SQL Table Creation Error for events from %s: %s", source_id, e) self._conn.commit() def save_event(self, event): with self._lock: _c_sub = self._conn.cursor() - table = self._get_table_name(event.SourceNode) columns, placeholders, evtup = self._format_event(event) event_type = event.EventType # useful for troubleshooting database - # insert the event into the database try: _c_sub.execute( 'INSERT INTO "{tn}" ("_Id", "_Timestamp", "_EventTypeName", {co}) VALUES (NULL, "{ts}", "{et}", {pl})' - .format(tn=table, co=columns, ts=event.Time, et=event_type, pl=placeholders), evtup) - + .format(tn=table, co=columns, ts=event.Time, et=event_type, pl=placeholders), evtup + ) except sqlite3.Error as e: - self.logger.error('Historizing SQL Insert Error for events from %s: %s', event.SourceNode, e) - + self.logger.error("Historizing SQL Insert Error for events from %s: %s", event.SourceNode, e) self._conn.commit() - # get this node's period from the period dict and calculate the limit period = self._datachanges_period[event.SourceNode] - if period: # after the insert, if a period was specified delete all records older than period date_limit = datetime.utcnow() - period - try: _c_sub.execute('DELETE FROM "{tn}" WHERE Time < ?'.format(tn=table), (date_limit.isoformat(' '),)) except sqlite3.Error as e: - self.logger.error('Historizing SQL Delete Old Data Error for events from %s: %s', + self.logger.error("Historizing SQL Delete Old Data Error for events from %s: %s", event.SourceNode, e) - self._conn.commit() def read_event_history(self, source_id, start, end, nb_values, evfilter): with self._lock: _c_read = self._conn.cursor() - table = self._get_table_name(source_id) start_time, end_time, order, limit = self._get_bounds(start, end, nb_values) clauses, clauses_str = self._get_select_clauses(source_id, evfilter) - cont = None cont_timestamps = [] results = [] - # select events from the database; SQL select clause is built from EventFilter and available fields try: for row in _c_read.execute( 'SELECT "_Timestamp", {cl} FROM "{tn}" WHERE "_Timestamp" BETWEEN ? AND ? ORDER BY "_Id" {dir} LIMIT ?' .format(cl=clauses_str, tn=table, dir=order), (start_time, end_time, limit)): - fdict = {} cont_timestamps.append(row[0]) for i, field in enumerate(row[1:]): @@ -220,22 +187,17 @@ def read_event_history(self, source_id, start, end, nb_values, evfilter): fdict[clauses[i]] = variant_from_binary(Buffer(field)) else: fdict[clauses[i]] = ua.Variant(None) - results.append(Event.from_field_dict(fdict)) - except sqlite3.Error as e: - self.logger.error('Historizing SQL Read Error events for node %s: %s', source_id, e) - + self.logger.error("Historizing SQL Read Error events for node %s: %s", source_id, e) if nb_values: if len(results) > nb_values: # start > ua.get_win_epoch() and cont = cont_timestamps[nb_values] - results = results[:nb_values] - return results, cont def _get_table_name(self, node_id): - return str(node_id.NamespaceIndex) + '_' + str(node_id.Identifier) + return str(node_id.NamespaceIndex) + "_" + str(node_id.Identifier) def _get_event_fields(self, evtypes): """ @@ -244,13 +206,11 @@ def _get_event_fields(self, evtypes): evtypes: List of event type nodes Returns: List of fields for all event types - """ # get all fields from the event types that are to be historized ev_aggregate_fields = [] for event_type in evtypes: ev_aggregate_fields.extend((get_event_properties_from_type_node(event_type))) - ev_fields = [] for field in set(ev_aggregate_fields): ev_fields.append(field.get_display_name().Text) @@ -259,27 +219,22 @@ def _get_event_fields(self, evtypes): @staticmethod def _get_bounds(start, end, nb_values): order = "ASC" - if start is None or start == ua.get_win_epoch(): order = "DESC" start = ua.get_win_epoch() - if end is None or end == ua.get_win_epoch(): end = datetime.utcnow() + timedelta(days=1) - if start < end: - start_time = start.isoformat(' ') - end_time = end.isoformat(' ') + start_time = start.isoformat(" ") + end_time = end.isoformat(" ") else: order = "DESC" - start_time = end.isoformat(' ') - end_time = start.isoformat(' ') - + start_time = end.isoformat(" ") + end_time = start.isoformat(" ") if nb_values: limit = nb_values + 1 # add 1 to the number of values for retrieving a continuation point else: limit = -1 # in SQLite a LIMIT of -1 returns all results - return start_time, end_time, order, limit def _format_event(self, event): @@ -290,28 +245,24 @@ def _format_event(self, event): event: The event returned by the subscription Returns: List of event fields (SQL column names), List of '?' placeholders, Tuple of variant binaries - """ placeholders = [] ev_variant_binaries = [] - ev_variant_dict = event.get_event_props_as_fields_dict() names = list(ev_variant_dict.keys()) names.sort() # sort alphabetically since dict is not sorted - # split dict into two synchronized lists which will be converted to SQL strings # note that the variants are converted to binary objects for storing in SQL BLOB format for name in names: variant = ev_variant_dict[name] - placeholders.append('?') + placeholders.append("?") ev_variant_binaries.append(sqlite3.Binary(variant_to_binary(variant))) - return self._list_to_sql_str(names), self._list_to_sql_str(placeholders, False), tuple(ev_variant_binaries) def _get_event_columns(self, ev_fields): fields = [] for field in ev_fields: - fields.append(field + ' BLOB') + fields.append(field + " BLOB") return self._list_to_sql_str(fields, False) def _get_select_clauses(self, source_id, evfilter): @@ -324,22 +275,16 @@ def _get_select_clauses(self, source_id, evfilter): name = select_clause.BrowsePath[0].Name s_clauses.append(name) except AttributeError: - self.logger.warning('Historizing SQL OPC UA Select Clause Warning for node %s,' - ' Clause: %s:', source_id, select_clause) - + self.logger.warning("Historizing SQL OPC UA Select Clause Warning for node %s," + " Clause: %s:", source_id, select_clause) # remove select clauses that the event type doesn't have; SQL will error because the column doesn't exist clauses = [x for x in s_clauses if x in self._event_fields[source_id]] return clauses, self._list_to_sql_str(clauses) @staticmethod def _list_to_sql_str(ls, quotes=True): - sql_str = '' - for item in ls: - if quotes: - sql_str += '"' + item + '", ' - else: - sql_str += item + ', ' - return sql_str[:-2] # remove trailing space and comma for SQL syntax + items = [f'"{item}"' if quotes else str(item) for item in ls] + return ", ".join(items) def stop(self): with self._lock: diff --git a/opcua/server/server.py b/opcua/server/server.py index ee0e0a23a..993511617 100644 --- a/opcua/server/server.py +++ b/opcua/server/server.py @@ -514,7 +514,7 @@ async def export_xml(self, nodes, path): """ exp = XmlExporter(self) await exp.build_etree(nodes) - return exp.write_xml(path) + await exp.write_xml(path) async def export_xml_by_ns(self, path, namespaces=None): """ diff --git a/opcua/ua/uaerrors/_base.py b/opcua/ua/uaerrors/_base.py index d06176058..c4844e443 100644 --- a/opcua/ua/uaerrors/_base.py +++ b/opcua/ua/uaerrors/_base.py @@ -2,8 +2,6 @@ Define exceptions to be raised at various places in the stack """ -from opcua.compat import with_metaclass - class _AutoRegister(type): def __new__(mcs, name, bases, dict): @@ -26,7 +24,7 @@ class UaError(RuntimeError): pass -class UaStatusCodeError(with_metaclass(_AutoRegister, UaError)): +class UaStatusCodeError(_AutoRegister("Meta", (UaError,), {})): """ This exception is raised when a bad status code is encountered. @@ -37,7 +35,7 @@ class UaStatusCodeError(with_metaclass(_AutoRegister, UaError)): The list of status error codes can be found in opcua.ua.status_codes. """ - """ Dict containing all subclasses keyed to their status code. """ + # Dict containing all subclasses keyed to their status code. _subclasses = {} def __new__(cls, *args): diff --git a/schemas/generate_address_space.py b/schemas/generate_address_space.py index 430a218c2..f7ddd8985 100644 --- a/schemas/generate_address_space.py +++ b/schemas/generate_address_space.py @@ -79,7 +79,7 @@ def nodeid_code(string): return f"{ntype}({identifier}, {namespace})" -class CodeGenerator(object): +class CodeGenerator: def __init__(self, input_path, output_path): self.input_path = input_path @@ -88,11 +88,12 @@ def __init__(self, input_path, output_path): self.part = self.input_path.split(".")[-2] self.parser = None - def run(self): + async def run(self): sys.stderr.write(f"Generating Python code {self.output_path} for XML file {self.input_path}\n") self.output_file = open(self.output_path, 'w', encoding='utf-8') self.make_header() - self.parser = xmlparser.XMLParser(self.input_path) + self.parser = xmlparser.XMLParser() + self.parser.parse_sync(self.input_path) for node in self.parser.get_node_datas(): if node.nodetype == 'UAObject': self.make_object_code(node) diff --git a/tests/conftest.py b/tests/conftest.py index 6047e277c..304afbe03 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,3 +1,4 @@ +import asyncio import pytest from collections import namedtuple from opcua import Client @@ -17,7 +18,15 @@ def pytest_generate_tests(metafunc): metafunc.parametrize('opc', ['client', 'server'], indirect=True) -@pytest.fixture() +@pytest.yield_fixture(scope='module') +def event_loop(request): + """Create an instance of the default event loop for each test case.""" + loop = asyncio.get_event_loop_policy().new_event_loop() + yield loop + loop.close() + + +@pytest.fixture(scope='module') async def server(): # start our own server srv = Server() @@ -31,7 +40,7 @@ async def server(): await srv.stop() -@pytest.fixture() +@pytest.fixture(scope='module') async def discovery_server(): # start our own server srv = Server() @@ -44,7 +53,7 @@ async def discovery_server(): await srv.stop() -@pytest.fixture() +@pytest.fixture(scope='module') async def admin_client(): # start admin client # long timeout since travis (automated testing) can be really slow @@ -54,7 +63,7 @@ async def admin_client(): await clt.disconnect() -@pytest.fixture() +@pytest.fixture(scope='module') async def client(): # start anonymous client ro_clt = Client(f'opc.tcp://127.0.0.1:{port_num}') @@ -63,7 +72,7 @@ async def client(): await ro_clt.disconnect() -@pytest.fixture() +@pytest.fixture(scope='module') async def opc(request): """ Fixture for tests that should run for both `Server` and `Client` diff --git a/tests/test_common.py b/tests/test_common.py index 80ce87009..325ae6100 100644 --- a/tests/test_common.py +++ b/tests/test_common.py @@ -735,7 +735,7 @@ async def test_references_for_added_nodes(opc): refs=ua.ObjectIds.HasProperty, direction=ua.BrowseDirection.Inverse, includesubtypes=False ) assert o in nodes - assert 0 == await p.get_parent() + assert o == await p.get_parent() assert ua.ObjectIds.PropertyType == (await p.get_type_definition()).Identifier assert [] == await p.get_references(ua.ObjectIds.HasModellingRule) @@ -769,7 +769,7 @@ async def test_path(opc): async def test_get_endpoints(opc): endpoints = await opc.opc.get_endpoints() assert len(endpoints) > 0 - assert endpoints[0].EndpointUrl.startswith("opc.opc.tcp://") + assert endpoints[0].EndpointUrl.startswith("opc.tcp://") async def test_copy_node(opc): diff --git a/tests/test_unit.py b/tests/test_unit.py index b0f242db8..42ee921b8 100644 --- a/tests/test_unit.py +++ b/tests/test_unit.py @@ -3,11 +3,13 @@ """ Simple unit test that do not need to setup a server or a client """ -import logging + import io -from datetime import datetime -import pytest +import os import uuid +import pytest +import logging +from datetime import datetime from opcua import ua from opcua.ua.ua_binary import extensionobject_from_binary @@ -23,6 +25,9 @@ from opcua.common.structures import StructGenerator from opcua.common.connection import MessageChunk +EXAMPLE_BSD_PATH = os.path.abspath(os.path.join(os.path.dirname(__file__), "example.bsd")) +STRUCTURES_OUTPUT_PATH = os.path.abspath(os.path.join(os.path.dirname(__file__), "structures.py")) + def test_variant_array_none(): v = ua.Variant(None, varianttype=ua.VariantType.Int32, is_array=True) @@ -47,20 +52,18 @@ def test_variant_empty_list(): def test_structs_save_and_import(): - xmlpath = "tests/example.bsd" c = StructGenerator() - c.make_model_from_file(xmlpath) - struct_dict = c.save_and_import("structures.py") + c.make_model_from_file(EXAMPLE_BSD_PATH) + struct_dict = c.save_and_import(STRUCTURES_OUTPUT_PATH) for k, v in struct_dict.items(): a = v() assert k == a.__class__.__name__ def test_custom_structs(): - xmlpath = "tests/example.bsd" c = StructGenerator() - c.make_model_from_file(xmlpath) - c.save_to_file("tests/structures.py") + c.make_model_from_file(EXAMPLE_BSD_PATH) + c.save_to_file(STRUCTURES_OUTPUT_PATH) import structures as s # test with default values @@ -103,10 +106,9 @@ def test_custom_structs(): def test_custom_structs_array(): - xmlpath = "tests/example.bsd" c = StructGenerator() - c.make_model_from_file(xmlpath) - c.save_to_file("tests/structures.py") + c.make_model_from_file(EXAMPLE_BSD_PATH) + c.save_to_file(STRUCTURES_OUTPUT_PATH) import structures as s # test with default values @@ -132,17 +134,6 @@ def test_custom_structs_array(): v.ByteStringValue = [b"fifteen", b"sixteen"] v.XmlElementValue = [ua.XmlElement("titi")] v.NodeIdValue = [ua.NodeId.from_string("ns=4;i=9999"), ua.NodeId.from_string("i=6")] - # self.ExpandedNodeIdValue = - # self.QualifiedNameValue = - # self.LocalizedTextValue = - # self.StatusCodeValue = - # self.VariantValue = - # self.EnumerationValue = - # self.StructureValue = - # self.Number = - # self.Integer = - # self.UInteger = - data = struct_to_binary(v) v2 = struct_from_binary(s.ArrayValueDataType, ua.utils.Buffer(data)) assert v.NodeIdValue == v2.NodeIdValue @@ -226,8 +217,7 @@ def test_string_to_variant_qname(): def test_string_to_variant_localized_text(): - string = "_This is my string" - # string = "_This is my nøåæ"FIXME: does not work with python2 ?!?! + string = "_This is my nøåæ" obj = ua.LocalizedText(string) assert obj == string_to_val(string, ua.VariantType.LocalizedText) assert string == val_to_string(obj) @@ -420,7 +410,6 @@ def test_datetime(): epch = ua.datetime_to_win_epoch(now) dt = ua.win_epoch_to_datetime(epch) assert now == dt - # python's datetime has a range from Jan 1, 0001 to the end of year 9999 # windows' filetime has a range from Jan 1, 1601 to approx. year 30828 # let's test an overlapping range [Jan 1, 1601 - Dec 31, 9999] @@ -428,12 +417,10 @@ def test_datetime(): assert ua.win_epoch_to_datetime(ua.datetime_to_win_epoch(dt)) == dt dt = datetime(9999, 12, 31, 23, 59, 59) assert ua.win_epoch_to_datetime(ua.datetime_to_win_epoch(dt)) == dt - epch = 128930364000001000 dt = ua.win_epoch_to_datetime(epch) epch2 = ua.datetime_to_win_epoch(dt) assert epch == epch2 - epch = 0 assert ua.datetime_to_win_epoch(ua.win_epoch_to_datetime(epch)) == epch @@ -613,45 +600,40 @@ def test_null(): def test_where_clause(): cf = ua.ContentFilter() - el = ua.ContentFilterElement() - op = ua.SimpleAttributeOperand() op.BrowsePath.append(ua.QualifiedName("property", 2)) el.FilterOperands.append(op) - for i in range(10): op = ua.LiteralOperand() op.Value = ua.Variant(i) el.FilterOperands.append(op) - el.FilterOperator = ua.FilterOperator.InList cf.Elements.append(el) - wce = WhereClauseEvaluator(logging.getLogger(__name__), None, cf) - ev = BaseEvent() ev._freeze = False ev.property = 3 - assert wce.eval(ev) - class MyEnum(_MaskEnum): member1 = 0 member2 = 1 + def test_invalid_input(): with pytest.raises(ValueError): MyEnum(12345) + def test_parsing(): assert MyEnum.parse_bitfield(0b0) == set() assert MyEnum.parse_bitfield(0b1) == {MyEnum.member1} assert MyEnum.parse_bitfield(0b10) == {MyEnum.member2} assert MyEnum.parse_bitfield(0b11) == {MyEnum.member1, MyEnum.member2} + def test_identity(): bitfields = [0b00, 0b01, 0b10, 0b11] @@ -660,6 +642,7 @@ def test_identity(): back_to_bitfield = MyEnum.to_bitfield(as_set) assert back_to_bitfield == bitfield + def test_variant_intenum(): ase = ua.AxisScaleEnumeration(ua.AxisScaleEnumeration.Linear) # Just pick an existing IntEnum class vAse = ua.Variant(ase)